蜂鸣器有压电式和电磁式两种,而这两种又都分为:有源和无源(震荡源)。有源自激式蜂鸣器使用的是直流信号驱动,无源他激式蜂鸣器使用的是交流信号驱动;自激蜂鸣器需对驱动口输出驱动电平(I/O口拉电流小),并通过放大电路放大驱动电流就能使蜂鸣器发出声音。
- 有源蜂鸣器 :因为自带震荡源,所以通电就会发声。
- 无源蜂鸣器:因为少了震荡电路,所以必须给2kHz—5kHz的方波信号驱动。
无论是有源还是无源,都可以控制音调和响度:
- 1.改变单片机引脚输出波形的频率,可以调整控制蜂鸣器音调
- 2.改变输出电平的占空比,可以控制蜂鸣器声音的大小。
驱动电路:低电平驱动蜂鸣器
程序说明:蜂鸣器为有源蜂鸣器,连接在P1.5口
程序现象:蜂鸣器发声
#include "reg52.h"
sbit beep=P1^5; //定义蜂鸣器的端口
void delay(unsigned int i) // 10*i us
{
while(i--);
}
void main()
{
while(1)
{
beep=~beep;
delay(10); //延时大约100us 通过修改此延时时间达到不同的发声效果
}
}