用單片機(jī)控制蜂鳴器的實(shí)驗(yàn)電路
無源蜂鳴器也是有極性的電子元件,它的控制電路與有源蜂鳴器一樣,如下圖所示。但它的發(fā)聲條件與有源蜂鳴器不同。
只有當(dāng)一定頻率的電流從正極流向負(fù)極時,無源蜂鳴器才會鳴響。下圖所示是單片機(jī)P3.4引腳輸出的各種頻率的方波,三極管Q1在這些方波信號的控制下導(dǎo)通、截止,就會有和方波頻率相同的電流流過無源蜂鳴器的正負(fù)兩極,無源蜂鳴器就會發(fā)聲了。
改變控制方波的頻率可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。如圖2(a)(b)的方波頻率不同,控制方坡的頻率越高蜂鳴器的聲音越尖細(xì),反之頻率越低聲音越低沉。
另外,改變控制方波的高低電平占空比,則可以控制蜂鳴器的聲音大小,如圖2中(c)(d)的頻率相同占空比不同。
我們可以根據(jù)這些特性編寫程序,使單片機(jī)輸出不同頻率和占空比的方波信號,用無源蜂鳴器來演奏出簡單的樂曲。
下面的程序可以產(chǎn)生頻率為1OOOHz的方波,使無源蜂鳴器發(fā)出響聲。
在編寫這段程序時,利用了單片機(jī)內(nèi)部資源定時器中斷的功能。STC12C541O單片機(jī)的內(nèi)部定時器可以定義為16伍累加計(jì)數(shù)器,每12個系統(tǒng)時鐘周期計(jì)數(shù)器加1,當(dāng)計(jì)數(shù)器累加到Oxffff時,再累加1就會溢出,這時會產(chǎn)生一個中斷,通過編程我們使該中斷每0.5ms發(fā)生一次,并在該中斷服務(wù)程序中轉(zhuǎn)變P3.4口的狀態(tài)(1變0,0變1),就能得到周期為lms(頻率為1OOOHz)的方波,在本實(shí)驗(yàn)中假設(shè)時鐘頻率為12MHz,程序如下:
#include
sbitBuzzer=P3^4;//將位變量Buzzer定義為單片機(jī)
P3.4口
voidsquare_wave(void)interrupt1//定時器0中斷服
務(wù)程序
{
THO=Oxfe;//【注1】,【注2】,【注3】
TLO=OxOc:
Buzzer^=1;//使蜂鳴器控制口線輸出電平轉(zhuǎn)變,產(chǎn)生
手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 蜂鳴器相關(guān)文章:蜂鳴器原理 電流傳感器相關(guān)文章:電流傳感器原理
評論