蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换,如下图:一个方波脉冲
我们用单片机的IO口实现一种这样高低电平的方波,驱动蜂鸣器发音。我们板子上配的就是交流蜂鸣器。
接下来我们看一下蜂鸣器的硬件电路:
蜂鸣器通过三极管驱动。我们利用杜邦线将蜂鸣器的一端J8连接到板子上P15管脚上。
示例程序:
#include "reg52h"
#include "intrinsh"
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit beep = P1^5;
void delay(uint16 i)
{
while(i--);
}
void main()
{
while(1)
{
beep = ~beep;
delay(10);
}
}
该程序实现蜂鸣器的响和停,程序较为简单,可以在此基础上进行扩展。
完整的源程序:
#include<reg52h>
define uint unsigned int
sbit spk=P1^2; //与喇叭相连接的单片机引脚的定义
void delayms(uint); //延时子函数声明
main()
{
uint i=8; //轰鸣的次数
spk=0; //喇叭的初始状态为不响
while(i) //喇叭鸣响控制核心
{
spk=!spk;
delayms(1000); //延时1000毫秒
i--;
}
}
void delayms(uint ms) //延时子函数
{
uint x,y;
for(x=ms;x>0;x--);
for(y=110;y>0;y--);
}
哥们专门给你写的,看的够明白吧
我看是你那个8550的电路有问题吧!应该是电源接8550的E级,B级接单片机口,C级接蜂鸣器的一端,而蜂鸣器的另一端接DC0V,如果让蜂鸣器工作,则P25给低电平,8550导通,蜂鸣器工作。也没听说过8050的三极管。
plc中蜂鸣器长鸣一次程序,首先要确定蜂鸣器是否已经连接到PLC控制器上,并且检查电源是否正常。
如果电源正常,可以尝试检查PLC程序,看看是否有蜂鸣器的控制程序。
如果没有,可以尝试添加蜂鸣器的控制程序,并确保蜂鸣器的输出信号正确连接到PLC控制器上。
最后,可以尝试运行PLC程序,看看蜂鸣器是否能够正常工作。
以上就是关于51单片机之蜂鸣器全部的内容,包括:51单片机之蜂鸣器、让单片机的蜂鸣器1秒钟响一次 下面的是自带的程序 看起来有点麻烦 谁帮我用蜂鸣器来实现1秒钟响一次的程序、请问下,下面是我的电路,该怎么编写程序才可以使蜂鸣器响,我一直弄它就是不响 P2^5就是接单片机中的P2^5等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)