蜂鸣器与继电器的基本控制

蜂鸣器与继电器电路原理图

硬件实现原理

通过对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 }
原文地址:https://www.cnblogs.com/kevinkala/p/12906935.html