![](https://csdnimg.cn/release/download_crawler_static/89474249/bg1.jpg)
蜂鸣器控制原理
首先我们先看原理图,我们任何的程序都需要和原理图结合,所以需要先看
懂原理图,原理图上蜂鸣器负极接电源的负极,正极接到三极管的 c 极,其中 Q1
是 S9012 三极管,是属于 pnp 型的三极管,三极管的 e 极接到电源的正极,b 极
接到单片机的 P04 管脚,三极管是 pnp 管脚,那么当三极管的 b 极是低电平时,
三极管就会导通,这时蜂鸣器上正极就会有 5v 电压,蜂鸣器就会发出声音,相
反当三极管的 b 极是高电平时,三极管就会截止,这时蜂鸣器上正极就没有 5v
电压,蜂鸣器就不会响。
那么我们用单片机控制蜂鸣器响时就可以这样操作:
Sbit b = P0^4;
b = 0;蜂鸣器响
Delayms();延时一下,要蜂鸣器响多久,就延时多久
b = 1;蜂鸣器不响。
我们在将程序改一下,编程个函数,加上输入参数,当我们调用这个函数时,
可以根据自己需要,让蜂鸣器响多少次,每次响多少长时间。
void bell(uint x,uint time)
{
uint i;
for(i=x;i>0;i--)//蜂鸣器响 x 声,x 是 0-65535
{
b = ~b;
delayms(time);//蜂鸣器一次想 time 毫秒,time 是 0-65535
}
b = 1;
}
源程序中,我们使用按键,每按下一次,蜂鸣器响一声,具体可以打开源程序观
看。