单片机学习(四)蜂鸣器和独立按键的使用

目录

蜂鸣器

两种蜂鸣器的介绍

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

上一篇:【翻译】寻找重串与 Main-Lorentz 算法


下一篇:poj 2583(水题)