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