单片机控制蜂鸣器报警原理

描述

一、蜂鸣器工作原理

蜂鸣器被广泛应用到电子产品中,主要用来报警或指示内容。蜂鸣器按结构来分,主要分为两大类:压电式蜂鸣器和电磁式蜂鸣器。

按激励方式来分,又分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器只需接上电源,就会发出蜂鸣声。而无源蜂鸣器,则必须通过外部不断给予蜂鸣器方波才能发出蜂鸣声。

(1)无源蜂鸣器发声原理

无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置,然后转换为声音信号输出。它的工作发声原理图如下:

无源蜂鸣器

(2)有源蜂鸣器发声原理

有源自激型蜂鸣器的工作发声原理是:直流电源输入,经过振荡系统的放大取样电路,在谐振装置作用下产生声音信号。它的工作发声原理图如下:

无源蜂鸣器

二、STC15W408AS控制蜂鸣器报警电路

在本例中,我们使用单片机的第15脚(P3.4)来控制蜂鸣器的发声。为简单起见,我们在电路中使用有源蜂鸣器。

无源蜂鸣器

三、单片机控制蜂鸣器输出

在本例中,由于使用的是有源蜂鸣器,只需给蜂鸣器接通电源就可发出蜂鸣声。因此,要控制蜂鸣器发出声音,只需要控制蜂鸣器的电源接通与断开。根据电路原理可知,当控制脚输出为高电平时,蜂鸣器不响,当控制脚输出为低电平时,蜂鸣器发出蜂鸣声。

四、蜂鸣器控制脚的配置

同用单片机控制LED灯的亮灭类似,我们要控制蜂鸣器,也是要将单片机的控制脚配置为输出脚。

下面是本例中单片机蜂鸣器控制脚的配置代码:

#define Pin_BEEP      P34

#define Pin_BEEP_M1     P3M1

#define Pin_BEEP_M0     P3M0

#define Pin_BEEP_BIT     BIT3

#define PinBeep_High()      Pin_BEEP=1

#define PinBeep_Low()       Pin_BEEP=0

void PinBEEP_DirOut(void);

//将蜂鸣器配置为输出

void PinBEEP_DirOut(void) 

{

        Pin_BEEP_M1 &=~Pin_BEEP_BIT;

        Pin_BEEP_M0 |=Pin_BEEP_BIT;

}

五、单片机蜂鸣器控制输出代码

在本例中,当按键被按下时,蜂鸣器响;反过来,当按键松开时,蜂鸣器不响。

下面是单片机控制蜂鸣器输出的代码:

PinBEEP_DirOut();       //将控制脚配置为输出

PinBeep_High();          //初始时,控制脚输出高电平,蜂鸣器不响

while(TRUE)

{

        if(GetKey_High())     //如果按键没按下

        {

                PinBeep_High();   //蜂鸣器不响

        }else{

                PinBeep_Low();   //反之,蜂鸣器发声

        }

}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分