蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,本文介紹如何用單片機(jī)驅(qū)動(dòng)蜂鳴器,他廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電話機(jī)等電子產(chǎn)品中作發(fā)聲器件。
蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。
電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng),振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。
壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。多諧振蕩器由晶體管或集成電路構(gòu)成,當(dāng)接通電源后(1.5~15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。下面是電磁式蜂鳴器的外形圖片及結(jié)構(gòu)圖。。。
電磁式蜂鳴器實(shí)物圖: |
電磁式蜂鳴器結(jié)構(gòu)示意圖: | ||||||||||
![]() |
|||||||||||
圖 1 |
圖 2 |
||||||||||
|
一、電磁式蜂鳴器驅(qū)動(dòng)原理
蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)IO引腳輸出的電流較小,單片機(jī)輸出的TTL電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。S51增強(qiáng)型單片機(jī)實(shí)驗(yàn)板通過一個(gè)三極管C8550來放大驅(qū)動(dòng)蜂鳴器,原理圖見下面圖3:
S51增強(qiáng)型單片機(jī)實(shí)驗(yàn)板蜂鳴器驅(qū)動(dòng)原理圖: |
||
![]() |
|
|
圖 3 |
如圖所示,蜂鳴器的正極接到VCC(+5V)電源上面,蜂鳴器的負(fù)極接到三極管的發(fā)射極E,三極管的基級(jí)B經(jīng)過限流電阻R1后由單片機(jī)的P3.7引腳控制,當(dāng)P3.7輸出高電平時(shí),三極管T1截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)P3.7輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制P3.7腳的電平來使蜂鳴器發(fā)出聲音和關(guān)閉。
程序中改變單片機(jī)P3.7引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。另外,改變P3.7輸出電平的高低電平占空比,則可以控制蜂鳴器的聲音大小,這些我們都可以通過編程實(shí)驗(yàn)來驗(yàn)證。
二、蜂鳴器列子
下面我們舉幾個(gè)簡(jiǎn)單的單片機(jī)驅(qū)動(dòng)蜂鳴器的編程和電路設(shè)計(jì)的列子。
1、簡(jiǎn)單的蜂鳴器實(shí)驗(yàn)程序:本程序通過在P3.7輸出一個(gè)音頻范圍的方波,驅(qū)動(dòng)實(shí)驗(yàn)板上的蜂鳴器發(fā)出蜂鳴聲,其中DELAY延時(shí)子程序的作用是使輸出的方波頻率在人耳朵聽覺能力之內(nèi)的20KHZ以下,如果沒有這個(gè)延時(shí)程序的話,輸出的頻率將大大超出人耳朵的聽覺能力,我們將不能聽到聲音。更改延時(shí)常數(shù),可以改變輸出頻率,也就可以調(diào)整蜂鳴器的音調(diào)。大家可以在實(shí)驗(yàn)中更改#228為其他值,聽聽蜂鳴器音調(diào)的改變。
ORG 0000H
AJMP MAIN ;跳轉(zhuǎn)到主程序
ORG 0030H
MAIN: CPL P3.7 ;蜂鳴器驅(qū)動(dòng)電平取反
LCALL DELAY ;延時(shí)
AJMP MAIN ;反復(fù)循環(huán)
DELAY:MOV R7,#228 ;延時(shí)子程序,更改該延時(shí)常數(shù)可以改變蜂鳴器發(fā)出的音調(diào)
DE1: DJNZ R7,DE1
RET
END
2、倒車警示音實(shí)驗(yàn)程序:我們知道各種卡車、貨柜車在倒車時(shí)候,會(huì)發(fā)出倒車的蜂鳴警示提示音,同時(shí)警示黃燈也同步閃爍,提醒后面的人或車輛注意。本實(shí)驗(yàn)例程就實(shí)現(xiàn)倒車警示功能,通過實(shí)驗(yàn)板上的蜂鳴器發(fā)出警示音,同時(shí)通過實(shí)驗(yàn)板上P1.2和P1.5上的兩個(gè)黃色發(fā)光二極管來發(fā)出黃色警示燈。
ORG 0000H
AJMP START ;跳轉(zhuǎn)到初始化程序
ORG 0033H
START:
MOV SP,#60H ;SP初始化
MOV P3,#0FFH ;端口初始化
MAIN: ACALL SOUND ;蜂鳴器發(fā)聲
ACALL YS500M ;延時(shí)
AJMP MAIN
SOUND:
MOV P1,#11011011B ;點(diǎn)亮2個(gè)警示黃色發(fā)光二極管
MOV R2,#200 ;響200個(gè)周期
SND1: CLR P3.7 ;輸出低電平T1導(dǎo)通,蜂鳴器響
ACALL YS1ms ;延時(shí)
SETB P3.7 ;輸出高電平T1截止,蜂鳴器不響
ACALL YS1ms ;延時(shí)
DJNZ R2,SND1
MOV P1,#0FFH ;熄滅黃色警示燈
RET
YS1ms: ;1ms延時(shí)子程序
MOV R0,#2
YL1: MOV R1,#250 ;改變R0的數(shù)值可改變聲音頻率
DJNZ R1,$
DJNZ R0,YL1
RET
YS500M: ;500ms延時(shí)子程序
MOV R0,#6
YL2: MOV R1,#200
YL3: MOV R2,#250
DJNZ R2,$
DJNZ R1,YL3
DJNZ R0,YL2
RET
END
3、“叮咚”電子門鈴實(shí)驗(yàn)程序:常見的家用電子門鈴在有客人來訪時(shí)候,如果按壓門鈴按鈕時(shí),室內(nèi)會(huì)發(fā)出“叮咚”聲音,本實(shí)驗(yàn)程序模擬電子門鈴的發(fā)音,當(dāng)我們按壓實(shí)驗(yàn)板上的K1按鈕時(shí)候,蜂鳴器發(fā)出“叮咚”音樂聲,是一個(gè)比較實(shí)用的程序。
“叮咚”電子門鈴實(shí)驗(yàn)ASM源程序: |
“叮咚”電子門鈴C語言源程序: |
|
ORG 0000H LJMP START ;跳轉(zhuǎn)到初始化程序 ORG 000BH LJMP PGT0 ;跳轉(zhuǎn)到T0中斷服務(wù)程序 START: YS10M: ;10ms延時(shí)子程序 |
#include <AT89X51.H> bit stopb; void main(void) TMOD=0x02; //定時(shí)器T0初始化 while(1) void t0(void) interrupt 1 using 0 |
|
單片機(jī)驅(qū)動(dòng)蜂鳴器原理的程序編寫 |