蜂鸣器
两种蜂鸣器的介绍
有源蜂鸣器一般是输入一个电流或电压即可直接驱动工作,而无源蜂鸣器则需要输入脉冲信号才可以进行工作。在51单片机开发板上的即为无源蜂鸣器。
蜂鸣器相关电路图
可以看出,信号是通过P15传递到ULN2003D芯片后进而传递到芯片的OUT5(即BEEP端口)再传递到蜂鸣器中的,其中ULN2003D芯片起着电流放大的作用。
控制代码
首先我们先获得控制蜂鸣器的引脚,从电路图可以看出是P15,所以:
sbit BEEP= P1^5;
因为这是无源蜂鸣器,所以我们需要给它提供脉冲信号输入才能使它工作。而当BEEP为0时有电流,BEEP为1时无电流,所以我们需要循环改变BEEP的值,主函数代码如下所示:
int main() {
while (1)
{
BEEP = ~BEEP;
deley(10);
}
}
如果我们希望改变蜂鸣器的音调,只需要改变脉冲信号的频率即可,也就是while
循环中deley()
的参数。
我们也可以不断改变deley()
中填入的参数来使蜂鸣器发出奇怪的声音