亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 單片機(jī)蜂鳴器驅(qū)動(dòng)模塊設(shè)計(jì)及程序詳解 [打印本頁]

作者: 芯片去字筆    時(shí)間: 2017-8-29 10:39
標(biāo)題: 單片機(jī)蜂鳴器驅(qū)動(dòng)模塊設(shè)計(jì)及程序詳解
在單片機(jī)應(yīng)用的設(shè)計(jì)上,很多方案都會(huì)用到蜂鳴器,大部分都是使用蜂鳴器來做提示或報(bào)警,比如按鍵按下、開始工作、工作結(jié)束或是故障等等。
1.驅(qū)動(dò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)。
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è)蜂鳴器了。而利用I/O定時(shí)翻轉(zhuǎn)電平來產(chǎn)生驅(qū)動(dòng)波形的方式會(huì)比較麻煩一點(diǎn),必須利用計(jì)時(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è)蜂鳴器了。
2.蜂鳴器驅(qū)動(dòng)電路
由于蜂鳴器的工作電流一般比較大,以致于單片機(jī)的I/O口是無法直接驅(qū)動(dòng)的,所以要利用放大電路來驅(qū)動(dòng),一般使用三極管來放大電流就可以了。
3.蜂鳴器驅(qū)動(dòng)設(shè)計(jì)
由于這里要介紹兩種驅(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輸出口控制的蜂鳴器鳴叫,再按一次停止鳴叫。
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)部上拉電阻。
軟體設(shè)計(jì)方法
先分析一下蜂鳴器。所使用的蜂鳴器的工作頻率是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)行說明。
a) PWM輸出口直接驅(qū)動(dòng)蜂鳴器方式
由于PWM只控制固定頻率的蜂鳴器,所以可以在程式的系統(tǒng)初始化時(shí)就對(duì)PWM的輸出波形進(jìn)行設(shè)置。首先根據(jù)SH69P43的PWM輸出的周期寬度是10位元資料來選擇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位元的資料,而SH69P43的PWM輸出周期寬度只是10位元資料,所以選擇PWM的時(shí)鐘為tosc是不能實(shí)現(xiàn)蜂鳴器所要的驅(qū)動(dòng)波形的。這里我們將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的方波。
b) I/O口定時(shí)翻轉(zhuǎn)電平驅(qū)動(dòng)蜂鳴器方式
使用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ū)υ揑/O口的電平進(jìn)行翻轉(zhuǎn)一次,直到蜂鳴器不需要鳴叫的時(shí)候,將I/O口的電平設(shè)
置為低電平即可。不鳴叫時(shí)將I/O口的輸出電平設(shè)置為低電平是為了防止漏電。

程序詳見附件:
單片機(jī)蜂鳴器驅(qū)動(dòng)模塊設(shè)計(jì)及程序詳解.zip (18.07 KB, 下載次數(shù): 126)



作者: 浮游@    時(shí)間: 2018-6-30 15:55
感謝大佬
作者: 小風(fēng)扇    時(shí)間: 2018-11-26 19:54
感謝感謝

作者: 114單片機(jī)114    時(shí)間: 2018-11-26 21:39
非常感謝

作者: 624170593    時(shí)間: 2018-12-24 10:21
謝謝大佬
作者: gzpylyf    時(shí)間: 2019-10-21 15:30
謝謝了  學(xué)習(xí)了
作者: 之藍(lán)的夜    時(shí)間: 2019-11-9 10:36
可以





歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1