基于MC9S08QG8低端微控制器的無線控制器設計
16×2 LCD的RS,R/W,E信號由MCU通用I/O口PTB的三個引腳進行控制,實際上可以將R/W直接接低電平,或者軟件控制使始終為低點平,因為應用時只需對LCD做命令、數(shù)據(jù)寫入;數(shù)據(jù)線采用LCD的4線訪問形式,即只用DB4~DB7,由MCU的PTA0~PTA3提供;背光電源BKL+,BKL-不接,以減少功耗。4個按鍵也接在MCU的PTA0~PTA3,與LCD數(shù)據(jù)線復用,按鍵的上拉電阻使用MCU內部配置的,無需外接上拉以減省元件。同時當?shù)却幚戆存I時,MCU將按鍵輸入直接配置成按鍵輸入中斷,也減少了硬件連接和軟件復雜度,按鍵發(fā)生時MCU自動轉去讀取按鍵輸入及按鍵處理,當要進行LCD顯示時,MCU又將復用線臨時配置成數(shù)據(jù)輸出,配合LCD控制信號完成LCD的內容顯示。
MCU的8 KB FLASH和512 B的存儲器資源對于一般的無線控制是足夠的,另外,設計中還會用到MCU的定時器資源,通過定時比較器生成一般無線控制應用中都需要的定時時間,通過軟件編程可以方便地實現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/163771.htm
4 無線控制功能示例
以上設計方案適用于多種無線控制應用,如空調、智能風扇等的無線控制。在此方案基礎上還可以擴展出更復雜的無線控制應用,因為MCU還有少量口線(比如再增加一個設備開關按鍵)、MCl3192還有很多接口如它自帶的GPIO、定時器等都是可利用資源;同時此方案其實仍然可以精簡,比如不需要顯示的無線控制應用,就可省去LCD顯示器。
以空調的無線控制應用為例,按本文硬件設計原理,使用LCD來顯示不同的功能菜單,如當前溫度、定時設置、溫度設置和工作狀態(tài)報告等。4個按鍵可以分別安排為:
SW1為功能菜單或狀態(tài)報告;SW2為增加數(shù)值或功能切換;SW3為減少數(shù)值或功能切換;SW4為確認或接受,兼用開關設備。
當應用開始時,空調總是處于關閉狀態(tài)。必須先按SW4按鍵才能打開空調。當強制關閉空調時,SW1+SW4按鍵起作用??照{打開后,LCD上會顯示當前溫度和上次設定溫度,一旦空調打開,可以分別使用SW2鍵和SW3鍵來降低或增加溫度。這時如果要設置空調的各種工作模式如制冷、制熱、除濕、自動、風向、風速、定時時間及溫度等,可以按動SW1切換功能并配合SW2鍵、SW3進行操作,每次用按鍵修改了工作模式、溫度、定時時間等設置后,系統(tǒng)會采用一個簡單的協(xié)議將控制命令通過MCl3192無限收發(fā)器發(fā)送到加熱/制冷系統(tǒng)。此時可按SW4鍵確認以使LCD恢復到狀態(tài)報告及新的設定指示。
如果沒有設置定時時間,空調永遠不會自動關閉,需要人工強制關閉。設置定時時間能自動關閉空調,安排定時時間在5~300 min之間。如果設置希望的定時時間,步驟如下:
(1)打開空調,如果空調處于關閉狀態(tài),則不能設置定時時間;
(2)按SW1鍵。調整菜單到定時功能,使在LCD上顯示定時設置菜單;
(3)按SW2鍵或SW3鍵來減少或增加希望的定時時間;
(4)按SW4來接受新的定時時間;
(5)一旦接受新的定時時間后,LCD上會再次顯示工作模式、當前溫度、定時時間、剩余時間等相關信息。
對應于設備定時關閉,空調的自動開啟功能則需要在本文電路基礎上增加專門的時鐘芯片來獲得日期、時間信息基準來實現(xiàn),具體本文不做討論。
5 結 語
本文僅使用了一個Freescale MC9S08QG8低端微控制器,再加上很少的一些連接線和硬件資源,已經具有無線通信能力和人機交互功能。這說明ZigBee無線應用并不一定總是需要高性能的微控制器,低端微控制器也能夠完成無線網(wǎng)絡要求的一些基本任務,從而降低了整個解決方案的成本。同時,本文實現(xiàn)的無線控制器具有功耗低、元器件少、成本低、性能高而功能全的特點,是嵌入式無線控制應用的一種精簡解決方案。
評論