CodeReaper

蜂鸣器

两种蜂鸣器的介绍

有源蜂鸣器一般是输入一个电流或电压即可直接驱动工作,而无源蜂鸣器则需要输入脉冲信号才可以进行工作。在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()中填入的参数来使蜂鸣器发出奇怪的声音

分类:

技术点:

相关文章: