单片机蜂鸣器

蜂鸣器的分类

背面有绿色电路板的是无源蜂鸣器
没有电路板而用黑胶封住的是有源蜂鸣器
单片机蜂鸣器_第1张图片单片机蜂鸣器_第2张图片
左边为无源蜂鸣器 右边为有源蜂鸣器

工作原理

有源蜂鸣器因为内部有音频振荡源 只要接上额定电压就可以工作
无源蜂鸣器需要接入音频方波,改变方波频率才可以连续发声
单片机蜂鸣器_第3张图片单片机蜂鸣器_第4张图片
没有很合适的配对的图,所以从不同地方找了两个,第一个图把P23改成P15就可以
FM为一个蜂鸣器,8550为PNP的三极管,当P23接高电平的时候他是不导通的,当P15接低电平的时候他是导通的,而P15又接了一个达林顿管,相当于一个反向的作用。

程序

以频率800HZ发声,发生时间为250ms静音为1000ms
(800HZ下的周期为1000ms/800HZ=1.25ms,高低电平平均延时时间为0.625ms)

#include
#define uchar unsigned char
#define uint unsigned int 
sbit beep=P1^5;

void delay()
{	
uint i= 62;   //延时622us
while(i--);
}

void main()
{
uchar m;
while (1)
{
for(m = 400; m >0;m--)   //400*0.625=250为发生时间
{
beep=~beep;   //取反花费3us,通过不断的取反发出持续声音
delay();  //延时622us;
}
for(m = 400*4 ; m >0;m--)  //250*4=1000为静音时间
{
beep = 1;
delay();
}
}
}

你可能感兴趣的:(单片机)