
这个说实话,很简单,我还是回答一下你吧。
首先,你的电路不对。
R1,R2在电路里起分压限流的 作用,Q1是NPN三极管,起到开关作用。
让IC高电平,1秒延时后,低电平,1秒后再高电平,如此循环,这样就会有滴答滴答的声音了。改变R1的阻值,可以调整蜂鸣器的响度!
很简单的
#include<reg52h>
#define uchar unsigned char
#define uint unsigned int
sbit fengmingqi=P0^0; //声明IO口
void delay(uint x)//延时子函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=50;j>0;j--);
}
void main(void)
{
while(1) //循环
{
fengmingqi=1; //p00口高电平,蜂鸣器发声
delay(500); //延时
fengmingqi=0; //p00口低电平,蜂鸣器不发声
delay(500); //延时
}
}
AT80S52单片机io口的驱动能力很弱,如果把蜂鸣器的+接正电源蜂鸣器的-接单片机的io口,并在程序中把这个io口置“0”,也许会听到很轻微的响声,但是,如果把蜂鸣器的-接电源地,蜂鸣器的+接单片机的io口,并在程序中把这个io口置“1”,由于单片机的驱动能力严重不足,是听不到响声的。需要加驱动才可以。
无源蜂鸣器,在相同的频率和不同的发声时间条件下,一个声音很低,一个声音比较高,而且音质也差很多!
这是声学条件变化造成的,是硬件问题,装共鸣腔会好一点。
这个键盘按一下,蜂鸣器响的声音很低!
把for循环里的2换成100的话,键盘按下,为蜂鸣器的声音就正常发声了?
这个for不是延长蜂鸣器响的时间的吗?
没错。发声时间太短,声能量很低,当然感觉声音很低。反之就不一样了。其实是人耳朵的问题,如果用示波器看,就没问题。
你又问啥了?我怎么没看见?
以上就是关于分析蜂鸣器驱动电路原理图,设计MCS-51驱动蜂鸣器的程序全部的内容,包括:分析蜂鸣器驱动电路原理图,设计MCS-51驱动蜂鸣器的程序、51单片机,编写延时程序,控制蜂鸣器发声;、单片机AT80S52怎么驱动蜂鸣器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)