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

[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,時間太快,快得它還沒有叫出聲音來就被秒殺了
