微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 蜂鸣器没能按照程序设计发声,把网上说的方法全试过了 ,麻烦大家帮我看一下

蜂鸣器没能按照程序设计发声,把网上说的方法全试过了 ,麻烦大家帮我看一下

时间:10-02 整理:3721RD 点击:


[img]file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/787841396/QQ/WinTemp/RichOle/J%7B[F5@JM1Z2M0V_[D7EEH~2.png[/img]

这是相应的参数
简单的程序
#include<reg52.h>
sbit beep=P3^0;
void delay(int xms)
{
int i,j;
for(i=0;i<xms;i++)
  for(j=110;j>0;j--);
}
void mian()
{
while(1)
{
  beep=0;
  delay(100);
  beep=1;
}

}
file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/787841396/QQ/WinTemp/RichOle/DIE3)PBV%7BLMEF2%251HH9LB49.png

#include<reg52.h>
#define ON 0
#define OFF 1
sbit FM=P2^3;
void delay(unsigned int t)          //延迟函数
{
    while(--t);         
}
void main()
{
  while(1)
  {
     FM=ON;                   //蜂鸣器报警
         delay(50000);     //延迟
         FM=OFF;                   //蜂鸣器关闭
         delay(50000);            //延迟
  }
}

蜂鸣器有源无源有没有弄错

哦, 你有声卡输出吗、?

蜂鸣器也分无源和有源。无源是要PWM来驱动的。

你要看你的三极管工作在什么状态   

选的是active有源蜂鸣器

有的 我之前将蜂鸣器一脚接地一脚直接连单片机是可以一直响的,接上三极管后,调节参数也能一直响,但是它不能按照程序控制的那样发声,所以我在想三极管什么的有没有接错

选的是active有源的

我就是不太懂三极管这里应该怎么接 三极管充当的是开关的作用,蜂鸣器在低电平时有效,那么此时的三极管的状态应该是怎样的呢?

有另外一个喇叭

你的三极管是L电平有效,测一下单片机输出IO口看有没输出,若有则是你的三极管坏了。

蜂鸣器放在三极管上面试试

有源的话只能发出滴滴声,三极管起开关作用 ,

用无源的话能按照你的程序发出音调 ,有源的话三极管起开关作用能发出滴声

小编你这个是低电平有效,查看单片机IO口看是否有低电平输出,然后延时时间长一点试试

程序最后也要加上延时的
把延时稍微调大点,用表测量三极管的b和e你就知道是什么原因了。

beep=1; 后再加个延时

你蜂鳴器在程序里,打開后,就也上關了,時間上2uS,時間太快,快得它還沒有叫出聲音來就被秒殺了

你蜂鳴器在程序里,打開后,就馬上關了,時間上2uS,時間太快,快得它還沒有叫出聲音來就被秒殺了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top