51单片机之蜂鸣器

51单片机之蜂鸣器,第1张

      蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9700446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存