一、蜂鳴器工作原理
蜂鳴器被廣泛應用到電子產品中,主要用來報警或指示內容。蜂鳴器按結構來分,主要分為兩大類:壓電式蜂鳴器和電磁式蜂鳴器。
按激勵方式來分,又分為有源蜂鳴器和無源蜂鳴器。有源蜂鳴器只需接上電源,就會發出蜂鳴聲。而無源蜂鳴器,則必須通過外部不斷給予蜂鳴器方波才能發出蜂鳴聲。
(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(); //反之,蜂鳴器發聲
}
}
-
單片機
+關注
關注
6044文章
44628瀏覽量
638982 -
蜂鳴器
+關注
關注
12文章
893瀏覽量
46115 -
有源蜂鳴器
+關注
關注
0文章
30瀏覽量
11671 -
無源蜂鳴器
+關注
關注
0文章
42瀏覽量
11201 -
STC15W408AS
+關注
關注
10文章
27瀏覽量
10287
發布評論請先 登錄
相關推薦
基于51單片機實現無源蜂鳴器控制
![基于51<b class='flag-5'>單片機</b>實現無源<b class='flag-5'>蜂鳴器</b><b class='flag-5'>控制</b>](https://file1.elecfans.com/web2/M00/8C/E7/wKgZomS03cSAdJfNAAGNnHaIPMY708.jpg)
51單片機的定義端口和定時器中斷與蜂鳴器報警程序等函數合集
![51<b class='flag-5'>單片機</b>的定義端口和定時器中斷與<b class='flag-5'>蜂鳴器</b><b class='flag-5'>報警</b>程序等函數合集](https://file.elecfans.com/web1/M00/9B/D9/o4YBAF0lYS2ALd2MAAREMAnbIbc608.png)
【單片機】按鍵聲光報警實驗(蜂鳴器)
![【<b class='flag-5'>單片機</b>】按鍵聲光<b class='flag-5'>報警</b>實驗(<b class='flag-5'>蜂鳴器</b>)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論