蜂鸣器与继电器的基本控制
蜂鸣器与继电器电路原理图
硬件实现原理
通过对74HC138译码器以及M74HC573MIR锁存器进行对应操作。
1.蜂鸣器
当蜂鸣器N_BUZZ端口输出低电平,蜂鸣器即可发出声音。(ULN2003芯片是通过非门集合的电路。输出要是为低电平,输入要高电平。)
2.继电器
继电器内部电路存在着线圈和铁芯,当给线圈通电时就会产生磁场,铁芯就会变成电磁铁,就会吸合。
当N_RELAY端口输出低电平时,内部就会产生磁场,二极管就会导通,二极管的作用是保护的作用。
代码实现
1 #include "reg52.h"
2
3 typedef unsigned int u16;
4 typedef unsigned char u8;
5
6 sbit HC138_A = P2^5;
7 sbit HC138_B = P2^6;
8 sbit HC138_C = P2^7;
9
10 void delay(u16 i)
11 {
12 while(i--);
13 }
14
15 void beepInit()
16 {
17 HC138_A = 1;
18 HC138_B = 0;
19 HC138_C = 1;
20
21 P0 = 0x00;
22 }
23
24 void LED()
25 {
26 u8 i;
27 HC138_A = 0;
28 HC138_B = 0;
29 HC138_C = 1;
30
31 for(i =0;i <3;i++)
32 {
33 P0 = 0x00;
34 delay(60000);
35 P0 = 0xff;
36 delay(60000);
37 }
38
39 for(i=0;i<=7;i++)
40 {
41 P0=0xff<<i;
42 delay(60000);
43 }
44
45 HC138_A = 1;
46 HC138_B = 0;
47 HC138_C = 1;
48 P0 = 0x10;
49 delay(60000);
50 P0 = 0x00;
51
52 HC138_A = 1;
53 HC138_B = 0;
54 HC138_C = 0;
55
56 for(i=0;i<=7;i++)
57 {
58 P0=~(0xff<<i);
59 delay(60000);
60 }
61
62 HC138_A = 1;
63 HC138_B = 0;
64 HC138_C = 1;
65 P0 = 0x40;
66 delay(60000);
67 P0 = 0x00;
68
69 }
70
71 void main()
72 {
73 beepInit();
74 while(1)
75 {
76 LED();
77 }
78 }
每一天的分享时刻