本帖最后由 卓然塵世間 于 2026-4-13 09:36 編輯
9.3蜂鳴器蜂鳴器從結(jié)構(gòu)區(qū)分分為壓電式蜂鳴器和電磁式蜂鳴器。壓電式為壓電陶瓷片發(fā)音,電流比較小一些,電磁式蜂鳴器為線圈通電震動(dòng)發(fā)音,體積比較小。 按照驅(qū)動(dòng)方式分為有源蜂鳴器和無源蜂鳴器。這里的有源和無源不是指電源,而是振蕩源。有源蜂鳴器內(nèi)部帶了振蕩源,如圖9-3所示中,給了BUZZ引腳一個(gè)低電平,三極管導(dǎo)通蜂鳴器就會(huì)直接響。而無源蜂鳴器內(nèi)部是不帶振蕩源的,要讓它響必須給500Hz~4.5KHz之間的脈沖頻率信號(hào)來驅(qū)動(dòng)它才會(huì)響。有源蜂鳴器往往比無源蜂鳴器稍貴,因?yàn)槔镞叾嗔苏袷庪娐罚?qū)動(dòng)發(fā)音也簡單,靠電平就可以驅(qū)動(dòng),而無源蜂鳴器價(jià)格比較便宜,但驅(qū)動(dòng)起來比較麻煩。
9-3.png (9.01 KB, 下載次數(shù): 0)
下載附件
2026-4-11 09:42 上傳
圖9-3 蜂鳴器電路原理圖 如圖9-3所示,Kingst51開發(fā)板采用的是有源蜂鳴器,由于蜂鳴器電流依然相對較大,因此需要用三極管驅(qū)動(dòng)。蜂鳴器經(jīng)常用于電腦、打印機(jī)、萬用表這些設(shè)備上做提示音,提示音一般也很簡單,發(fā)出個(gè)聲音就可以了。 #include <reg52.h> sbit BUZZ = P1^6; //蜂鳴器控制引腳 void main() { EA = 1; //使能總中斷 TMOD = 0x01; //設(shè)置T0為模式1 TH0 = 0xFC; //為T0賦初值0xFC67,定時(shí)1ms TL0 = 0x67; ET0 = 1; //使能T0中斷 TR0 = 1; //啟動(dòng)T0 BUZZ = 0; //啟動(dòng)蜂鳴器鳴叫 while (1); } /* T0中斷服務(wù)函數(shù),用于控制蜂鳴器發(fā)聲 */ void InterruptTimer0() interrupt 1 { static unsigned int tmr = 0; TH0 = 0xFC; //重新加載重載值 TL0 = 0x67; tmr++; if (BUZZ == 0) { if (tmr >= 500) //蜂鳴器鳴叫0.5s { BUZZ = 1; tmr = 0; } } else { if (tmr >= 1500) //蜂鳴器關(guān)閉1.5s { BUZZ = 0; tmr = 0; } } } 9.4繼電器繼電器是根據(jù)一定的信號(hào)來接通或者斷開電流電路的控制元件,它具有控制系統(tǒng)和被控制系統(tǒng)。當(dāng)控制系統(tǒng)達(dá)到一定條件時(shí),繼電器會(huì)動(dòng)作,使被控制的輸出電路導(dǎo)通或者斷開。 繼電器具有隔離、轉(zhuǎn)換、放大和自動(dòng)保護(hù)等多種功能。它能夠?qū)⑤斎腚娐分械男‰娏鳌⒌碗妷盒盘?hào)轉(zhuǎn)換為輸出電路中的大電流、高電壓信號(hào),從而驅(qū)動(dòng)各種負(fù)載設(shè)備。同時(shí),繼電器還能夠?qū)崿F(xiàn)電路之間的隔離,保護(hù)電路免受干擾和損壞。此外,繼電器還具有靈敏度高、動(dòng)作速度快、體積小、重量輕等優(yōu)點(diǎn)。這使得繼電器在電力系統(tǒng)、通信系統(tǒng)、自動(dòng)控制系統(tǒng)等領(lǐng)域得到了廣泛應(yīng)用。 Kingst51開發(fā)板所使用的繼電器是一個(gè)5V控制系統(tǒng),最大被控制電壓250V的繼電器。它一共有5個(gè)引腳,其中2個(gè)控制系統(tǒng)引腳,3個(gè)被控制系統(tǒng)引腳。3個(gè)被控制引腳為單刀雙擲,分別為公共端,常開和常閉,如圖9-4所示。
9-4.png (28.37 KB, 下載次數(shù): 0)
下載附件
2026-4-11 09:43 上傳
圖9-4 繼電器原理圖 圖9-4中,當(dāng)單片機(jī)的RELAY引腳為高電平時(shí),三極管截止,繼電器的控制端沒有電流通過,1腳和公共端2腳接到一起;當(dāng)單片機(jī)的RELAY引腳為低電平時(shí),三極管導(dǎo)通,這時(shí)候由于磁力的作用,3腳和公共端2腳吸合到一起。 繼電器的用法分為常開(NO,Normally Open)和常閉(NC,Normally Closed)兩種方式。常開指的是繼電器線圈在未通電的狀態(tài)下,其觸點(diǎn)處于斷開狀態(tài)。常開方式常用于在特定條件下啟動(dòng)某個(gè)電器設(shè)備的場景,比如聲控?zé)簦妱?dòng)門禁等。常閉指的是繼電器線圈在未通電的狀態(tài)下,其觸點(diǎn)處于閉合狀態(tài)。常閉常用于在特定條件下斷開連接的場合,比如安全監(jiān)測系統(tǒng),當(dāng)檢測到氣體泄漏時(shí),繼電器激活,斷開常閉點(diǎn)。 圖9-4中加了一個(gè)D4這樣一個(gè)二極管,這個(gè)二極管稱之為續(xù)流二極管。繼電器內(nèi)部有線圈,屬于感性器件,當(dāng)三極管導(dǎo)通給繼電器供電時(shí),就會(huì)有導(dǎo)通電流流過繼電器,電感上也會(huì)儲(chǔ)存有能量。但是當(dāng)三極管從導(dǎo)通變截止時(shí)的瞬間,經(jīng)“+5V-三極管-繼電器-GND”這條回路就截?cái)嗔耍瑹o法通過電流,而電感由于之前存儲(chǔ)了電流這個(gè)時(shí)候無處可去了,就是要經(jīng)過D4和繼電器自身的環(huán)路來消耗,從而避免了關(guān)斷時(shí)由于電感電流造成的反向沖擊,接續(xù)關(guān)斷時(shí)的電流,這就是續(xù)流二極管名稱的由來。 繼電器的控制程序比較簡單,如下所示通過IO口即可控制繼電器的開關(guān)。 #include <reg52.h> sbit RELAY = P3^3; //繼電器控制引腳 void main() { unsigned int i; RELAY = 0; //繼電器吸合 for (i=0; i<50000; i++); //延時(shí)一段時(shí)間 RELAY = 1; //繼電器釋放 while (1); }
|