|
|
|
|
人走路依靠腳,沒有腳我們那里都走不到,再加上大腦的控制,身體的協(xié)調(diào),我們幾乎沒有到不了的地方。因?yàn)榇竽X、腳、身體構(gòu)成了一個(gè)大的驅(qū)動(dòng)體,有了驅(qū)動(dòng)我們就有了前進(jìn)的動(dòng)力。沙塵試驗(yàn)箱、耐塵試驗(yàn)箱、老化測(cè)試室等設(shè)備也是如此,即使是小如蜂鳴器這樣的小零件,有了驅(qū)動(dòng)才可以運(yùn)轉(zhuǎn)的更好。
在單片機(jī)應(yīng)用的設(shè)計(jì)上,很多方案都會(huì)用到蜂鳴器,大部分都是使用蜂鳴器來做提示或報(bào)警,比如按鍵按下、開始工作、工作結(jié)束或是故障等等。這里對(duì)單片機(jī)在蜂鳴器驅(qū)動(dòng)上的應(yīng)用作一下描述。
由于自激蜂鳴器是直流電壓驅(qū)動(dòng)的,不需要利用交流信號(hào)進(jìn)行驅(qū)動(dòng),只需對(duì)驅(qū)動(dòng)口輸出驅(qū)動(dòng)電平并通過三極管放大驅(qū)動(dòng)電流就能使蜂鳴器發(fā)出聲音,很簡(jiǎn)單,這里就不對(duì)自激蜂鳴器進(jìn)行說明了。這里只對(duì)必須用1/2duty 的方波信號(hào)進(jìn)行驅(qū)動(dòng)的他激蜂鳴器進(jìn)行說明。
單片機(jī)驅(qū)動(dòng)他激蜂鳴器的方式有兩種:一種是PWM 輸出口直接驅(qū)動(dòng),另一種是利用I/O 定時(shí)翻轉(zhuǎn)電平產(chǎn)生驅(qū)動(dòng)波形對(duì)蜂鳴器進(jìn)行驅(qū)動(dòng)。
由于蜂鳴器的工作電流一般比較大,以致于單片機(jī)的I/O 口是無法直接驅(qū)動(dòng)的,所以要利用放大電路來驅(qū)動(dòng),一般使用三極管來放大電流就可以了。
而利用I/O 定時(shí)翻轉(zhuǎn)電平來產(chǎn)生驅(qū)動(dòng)波形的方式會(huì)比較麻煩一點(diǎn),必須利用定時(shí)器來做定時(shí),通過定時(shí)翻轉(zhuǎn)電平產(chǎn)生符合蜂鳴器要求的頻率的波形,這個(gè)波形就可以用來驅(qū)動(dòng)蜂鳴器了。比如為2500Hz 的蜂鳴器的驅(qū)動(dòng),可以知道周期為400μs,這樣只需要驅(qū)動(dòng)蜂鳴器的I/O 口每200μs 翻轉(zhuǎn)一次電平就可以產(chǎn)生一個(gè)頻率為2500Hz,占空比為1/2duty 的方波,再通過三極管放大就可以驅(qū)動(dòng)這個(gè)蜂鳴器了。
由于這里要介紹兩種驅(qū)動(dòng)方式的方法,所以在設(shè)計(jì)模塊系統(tǒng)中將兩種驅(qū)動(dòng)方式做到一塊,即程序里邊不僅介紹了PWM 輸出口驅(qū)動(dòng)蜂鳴器的方法,還要介紹I/O 口驅(qū)動(dòng)蜂鳴器的方法。所以,我們將設(shè)計(jì)如下的一個(gè)系統(tǒng)來說明單片機(jī)對(duì)蜂鳴器的驅(qū)動(dòng):系統(tǒng)有兩個(gè)他激蜂鳴器,頻率都為2000Hz,一個(gè)由I/O 口進(jìn)行控制,另一個(gè)由PWM 輸出口進(jìn)行控制;系統(tǒng)還有兩個(gè)按鍵,一個(gè)按鍵為PORT 按鍵,I/O 口控制的蜂鳴器不鳴叫時(shí)按一次按鍵I/O 口控制的蜂鳴器鳴叫,再按一次停止鳴叫,另一個(gè)按鍵為PWM 按鍵,PWM 口控制的蜂鳴器不鳴叫時(shí)按一次按鍵PWM輸出口控制的蜂鳴器鳴叫,再按一次停止鳴叫。
由于PWM 只控制固定頻率的蜂鳴器,所以可以在程序的系統(tǒng)初始化時(shí)就對(duì)PWM 的輸出波形進(jìn)行設(shè)置。
首先根據(jù)SH69P43 的PWM 輸出的周期寬度是10 位數(shù)據(jù)來選擇PWM 時(shí)鐘。系統(tǒng)使用4MHz 的晶振作為主振蕩器,一個(gè)tosc 的時(shí)間就是0.25μs,若是將PWM 的時(shí)鐘設(shè)置為tosc 的話, 則蜂鳴器要求的波形周期500μs 的計(jì)數(shù)值為500μs/0.25μs=(2000)10=(7D0)16,7D0H 為11 位的數(shù)據(jù),而SH69P43 的PWM輸出周期寬度只是10 位數(shù)據(jù),所以選擇PWM 的時(shí)鐘為tosc 是不能實(shí)現(xiàn)蜂鳴器所要的驅(qū)動(dòng)波形的。
這對(duì)于沙塵試驗(yàn)箱、耐塵試驗(yàn)箱、老化測(cè)試室的故障報(bào)警提示很有幫助。原因的話請(qǐng)接著看。
PWM 輸出口直接驅(qū)動(dòng)是利用PWM 輸出口本身可以輸出一定的方波來直接驅(qū)動(dòng)蜂鳴器。在單片機(jī)的軟件設(shè)置中有幾個(gè)系統(tǒng)寄存器是用來設(shè)置PWM 口的輸出的,可以設(shè)置占空比、周期等等,通過設(shè)置這些寄存器產(chǎn)生符合蜂鳴器要求的頻率的波形之后,只要打開PWM 輸出,PWM 輸出口就能輸出該頻率的方波,這個(gè)時(shí)候利用這個(gè)波形就可以驅(qū)動(dòng)蜂鳴器了。比如頻率為2000Hz 的蜂鳴器的驅(qū)動(dòng),可以知道周期為500μs,這樣只需要把PWM 的周期設(shè)置為500μs,占空比電平設(shè)置為250μs,就能產(chǎn)生一個(gè)頻率為2000Hz 的方波,通過這個(gè)方波再利用三極管就可以去驅(qū)動(dòng)這個(gè)蜂鳴器了。使用SH69P43 為控制芯片,使用4MHz 晶振作為主振蕩器。
這里我們將PWM 的時(shí)鐘設(shè)置為4tosc,這樣一個(gè)PWM 的時(shí)鐘周期就是1μs 了,由此可以算出500μs 對(duì)應(yīng)的計(jì)數(shù)值為500μs/1μs=(500)10=(1F4)16,即分別在周期寄存器的高2 位、中4 位和低4 位三個(gè)寄存器中填入1、F 和4,就完成了對(duì)輸出周期的設(shè)置。再來設(shè)置占空比寄存器,在PWM 輸出中占空比的實(shí)現(xiàn)是
通過設(shè)定一個(gè)周期內(nèi)電平的寬度來實(shí)現(xiàn)的。當(dāng)輸出模式選擇為普通模式時(shí),占空比寄存器是用來設(shè)置高電平的寬度。250μs 的寬度計(jì)數(shù)值為250μs/1μs=(250)10=(0FA)16。只需要在占空比寄存器的高2 位、中4 位和低4 位中分別填入0、F 和A 就可以完成對(duì)占空比的設(shè)置了,設(shè)置占空比為1/2duty。
以后只需要打開PWM 輸出,PWM 輸出口自然就能輸出頻率為2000Hz、占空比為1/2duty 的方波。
I/O 口定時(shí)翻轉(zhuǎn)電平驅(qū)動(dòng)蜂鳴器方式
PORTC.3/T0 作為I/O 口通過三極管Q2 來驅(qū)動(dòng)蜂鳴器LS1,而PORTC.2/PWM0 則作為PWM 輸出口通過三極管Q1 來驅(qū)動(dòng)蜂鳴器LS2。另外在PORTA.3 和PORTA.2 分別接了兩個(gè)按鍵,一個(gè)是PWM 按鍵,是用來控制PWM 輸出口驅(qū)動(dòng)蜂鳴器使用的;另一個(gè)是PORT 按鍵,是用來控制I/O 口驅(qū)動(dòng)蜂鳴器使用的。連接按鍵的I/O 口開內(nèi)部上拉電阻。
先分析一下蜂鳴器。所使用的蜂鳴器的工作頻率是2000Hz,也就是說蜂鳴器的驅(qū)動(dòng)信號(hào)波形周期是500μs,由于是1/2duty 的信號(hào),所以一個(gè)周期內(nèi)的高電平和低電平的時(shí)間寬度都為250μs。軟件設(shè)計(jì)上,我們將根據(jù)兩種驅(qū)動(dòng)方式來進(jìn)行說明。
使用I/O 口定時(shí)翻轉(zhuǎn)電平驅(qū)動(dòng)蜂鳴器方式的設(shè)置比較簡(jiǎn)單,只需要對(duì)波形分析一下。由于驅(qū)動(dòng)的信號(hào)剛好為周期500μs,占空比為1/2duty 的方波,只需要每250μs 進(jìn)行一次電平翻轉(zhuǎn),就可以得到驅(qū)動(dòng)蜂鳴器的方波信號(hào)。在程序上,可以使用TIMER0 來定時(shí),將TIMER0 的預(yù)分頻設(shè)置為/1,選擇TIMER0 的始終為系統(tǒng)時(shí)鐘(主振蕩器時(shí)鐘/4),在TIMER0 的載入/計(jì)數(shù)寄存器的高4 位和低4 位分別寫入00H 和06H,就能將TIMER0 的中斷設(shè)置為250μs。當(dāng)需要I/O 口驅(qū)動(dòng)的蜂鳴器鳴叫時(shí),只需要在進(jìn)入TIMER0 中斷的時(shí)候?qū)υ?
I/O 口的電平進(jìn)行翻轉(zhuǎn)一次,直到蜂鳴器不需要鳴叫的時(shí)候,將I/O 口的電平設(shè)置為低電平即可。不鳴叫時(shí)將I/O 口的輸出電平設(shè)置為低電平是為了防止漏電。
蜂鳴器雖然小,但是作用卻不能說小。有了它就好比讓機(jī)器長(zhǎng)了嘴巴會(huì)說話,當(dāng)出現(xiàn)問題,會(huì)蜂鳴告訴我們它有了什問題。寶元通認(rèn)為蜂鳴器也是非常重要的一個(gè)小零件,所以我們的沙塵試驗(yàn)箱、耐塵試驗(yàn)箱、老化測(cè)試室等等設(shè)備都裝有蜂鳴器。
大名: |
|
| ||||
制造基地:廣東省東莞市常平鎮(zhèn)朗州工業(yè)區(qū)工業(yè)二路 |
TEL:(86)0769-87196668 / 87191113 郵箱地址:baoytsh@baoyt.com |
企財(cái)通 | |
重慶地址:重慶市北碚區(qū)云漢大道117號(hào)附99號(hào) |
|||
深圳地址:廣東省深圳市龍崗區(qū)坂田街道五和大道和成世紀(jì)大廈1412室 |
|||
武漢地址::武漢市東湖高新開發(fā)區(qū)華師園北路6號(hào)5棟二樓 |
|||
蘇州地址:蘇州市吳中區(qū)迎春南路76號(hào)尹西工業(yè)園 |
|||
Copyright廣東寶元通檢測(cè)設(shè)備有限公司 all Rights Reserved. 網(wǎng)站備案:粵ICP備10097269號(hào) | |||