用真情打造產品,以真心鍛造質量
159-9609-7087
聯系人:錢經理
手機:159-9609-7087
郵箱:1297873969@qq.com
網址:http://www.gzysmqgc.com
地址:江蘇省泗洪縣長江西路40號
極管Q1來驅動蜂鳴器LS2。另外在PORTA.3和PORTA.2分別接了兩個按鍵,一個是PWM按鍵,是用來控制PWM輸出口驅動蜂鳴器使用的;另一個是PORT按鍵,是用來控制I/O口驅動蜂鳴器使用的。連接按鍵的I/O口開內部上拉電阻。
軟件設計方法
先分析一下蜂鳴器。所使用的蜂鳴器的工作頻率是2000Hz,也就是說蜂鳴器的驅動信號波形周期是500μs,由于是1/2duty的信號,所以一個周期內的高電平和低電平的時間寬度都為250μs。軟件設計上,我們將根據兩種驅動方式來進行說明。
PWM輸出口直接驅動蜂鳴器方式
由于PWM只控制固定頻率的蜂鳴器,所以可以在程序的系統初始化時就對PWM的輸出波形進行設置。
首先根據SH69P43的PWM輸出的周期寬度是10位數據來選擇PWM時鐘。系統使用4MHz的晶振作為主振蕩器,一個tosc的時間就是0.25μs,若是將PWM的時鐘設置為tosc的話,則蜂鳴器要求的波形周期500μs的計數值為500μs/0.25μs=(2000)10=(7D0)16,7D0H為11位的數據,而SH69P43的PWM
輸出周期寬度只是10位數據,所以選擇PWM的時鐘為tosc是不能實現蜂鳴器所要的驅動波形的。
這里我們將PWM的時鐘設置為4tosc,這樣一個PWM的時鐘周期就是1μs了,由此可以算出500μs對應的計數值為500μs/1μs=(500)10=(1F4)16,即分別在周期寄存器的高2位、中4位和低4位三個寄存器中填入1、F和4,就完成了對輸出周期的設置。再來設置占空比寄存器,在PWM輸出中占空比的實現是
通過設定一個周期內電平的寬度來實現的。當輸出模式選擇為普通模式時,占空比寄存器是用來設置高電平的寬度。250μs的寬度計數值為250μs/1μs=(250)10=(0FA)16。只需要在占空比寄存器的高2位、中4位和低4位中分別填入0、F和A就可以完成對占空比的設置了,設置占空比為1/2duty。
以后只需要打開PWM輸出,PWM輸出口自然就能輸出頻率為2000Hz、占空比為1/2duty的方波。
2.I/O口定時翻轉電平驅動蜂鳴器方式
使用I/O口定時翻轉電平驅動蜂鳴器方式的設置比較簡單,只需要對波形分析一下。由于驅動的信號剛好為周期500μs,占空比為1/2duty的方波,只需要每250μs進行一次電平翻轉,就可以得到驅動蜂鳴器的方波信號。在程序上,可以使用TIMER0來定時,將TIMER0的預分頻設置為/1,選擇TIMER0的始終為系統時鐘(主振蕩器時鐘/4),在TIMER0的載入/計數寄存器的高4位和低4位分別寫入00H和06H,就能將TIMER0的中斷設置為250μs。當需要I/O口驅動的蜂鳴器鳴叫時,只需要在進入TIMER0中斷的時候對該I/O口的電平進行翻轉一次,直到蜂鳴器不需要鳴叫的時候,將I/O口的電平設置為低電平即可。不鳴叫時將I/O口的輸出電平設置為低電平是為了防止漏電。
地址:江蘇省泗洪縣長江西路40號
手機:159-9609-7087
Copyright ? 2024-2027 江蘇鑫長隆機電有限公司 版權所有
備案號:蘇ICP備2021038124號
掃一掃 加好友