蓝桥杯(2)——蜂鸣器与继电器的使用
时间:2022-08-12 14:00:02
目录
蜂鸣器与继电器的使用-toc" style="margin-left:0px;">使用蜂鸣器和继电器
一、原理
二、代码控制
三、与LED例如连接控制
使用蜂鸣器和继电器
一、原理
首先,如何控制蜂鸣器和继电器,必须知道蜂鸣器和继电器的引脚图(如下):
来源于CT107D单片机综合训练平台原理图
1.(1)蜂鸣器BUZZER(低电平有效)N BUZZ,然后找到相应的端口
(2).找到对应的M74HC573MIR它控制的锁定器Q7连接ULN2003(达林顿管
引脚图下,实际内部为非门;即输入1,输出0)
OUT7口再连接N BUZZ,然后找到控制锁存器Y5C的端口
(3)对应找到74HC02或非门对应第一节LED里的芯片Y5
(4)即找到74HC138译码器
2.(1)继电器DIODE(低电平有效):
(2)接下来找N RELAY,同样在上面的第二个图锁存器OUT5引脚。下一步操作同上;
从上图可以看出,继电器的开关是关闭的LED显示出来
二、代码控制
【注】ULN2003是非门;
(1)打开蜂鸣器:P0=0100 0000;或者P0=0x40;
关闭蜂鸣器:P0=1011 1111;或者P0&=0xb0
(2)打开继电器:P0=0001 0000;或者P0=0x10;
关闭继电器:P0=1110 1111;或者P0=0xe8;
三、与LED例如连接控制
首先让8路LED指示灯闪烁3次后熄灭,然后依次点亮LED,继电器吸合一会儿断开,然后依次熄灭LED,蜂鸣器鸣叫一次后关闭,程序循环实现上述功能。UP主小蜜蜂老师的干货店)
#include sbit HC138_A=P2^5; sbit HC138_B=P2^6; sbit HC138_C=P2^7; //定义引脚 void Delay(unsigned int t) //定义延迟函数 { while(t--); while(t--); } void InitHC138(unsigned char n)//使用Switch便于重复使用以下句子 { switch (n) { case 4: HC138_C=1; HC138_B=0; HC138_A=0; //让Y4输出低电平 break; case 5: HC138_C=1; HC138_B=0; HC138_A=1; //让Y5输出低电平 break; case 6: HC138_C=1; HC138_B=1; HC138_A=0; //让Y6输出低电平 break; case 7: HC138_C=1; HC138_B=1; HC138_A=1; //让Y7输出低电平 break; } } void LEDRunning() //运行LED函数 { unsigned char i; InitHC138(4); for(i=0;i<3;i ) ///闪烁三次 { P0=0x00; //led亮,低电平有效 Delay(60000) ;//延时 Delay(60000) ; P0=0xff; Delay(60000) ; Delay(60000) ; } InitHC138(4); for(i=0; i<8;i )依次点亮8个LED { P0 = 0xff <