基于CW77P203單片機實現(xiàn)的電暖器應(yīng)用方案
觸摸鍵盤
方案中設(shè)計了6個觸摸按鍵,有開關(guān)、溫度設(shè)置、定時設(shè)置、檔位選擇、搖頭等。每一個按鍵(以KEY1為例)的連接圖如圖4所示。
圖中S1即觸摸按鍵感應(yīng)區(qū)(比如PCB上的敷銅)。
利用CW77P203的內(nèi)部頻率輸出功能,在KEY_CLK引腳輸出頻率為1MHz的方波。觸摸感應(yīng)信號接到內(nèi)部ADC的通道輸入端(KEYx引腳),由ADC檢測按鍵感應(yīng)區(qū)是否被觸及,從而確定是否有按鍵被按下或釋放。
方案中的其它功能限于篇幅不作敘述。
軟件設(shè)計
為了更快地處理電暖器的定時運行、響應(yīng)按鍵和遙控、判斷電暖器的運行溫度等,軟件設(shè)計時采用了多個中斷,以提高實時性。因此,軟件的主程序相對就很簡單了,如圖5所示。
首先,方案采用了1個1ms的周期性定時中斷。在這個中斷中,啟動ADC,處理定時運行任務(wù),處理與蜂鳴器控制相關(guān)的PWM等。
ADC用于觸摸按鍵以及溫度測量等,也采用中斷方式處理。每通道的ADC轉(zhuǎn)換完成后,產(chǎn)生中斷,CPU在此中斷中完成觸摸按鍵的判定算法,以及溫度的計算等。ADC的中斷服務(wù)流程如圖6所示。
在這些算法中,最具特色的是浮動門限的觸摸鍵判定算法。通過ADC采樣得到按鍵的值后,算法會根據(jù)該按鍵的歷史數(shù)據(jù),對判定按鍵是否被按下的比較門限進行上下浮動,剔除使用環(huán)境中各種污染(比如水)和印制板不同布局布線帶來的按鍵數(shù)據(jù)誤差,從而更準確地判定按鍵是否真正被觸摸。
方案對遙控的接收亦采用中斷方式,遙控接收端口設(shè)定為中斷輸入模式。在此中斷服務(wù)流程中完成遙控輸入的接收、譯碼等工作。
結(jié)語
經(jīng)過測試,該方案達到了設(shè)計預(yù)期,觸摸按鍵反應(yīng)靈敏無誤觸發(fā),遙控接收準確可靠,運行及保護正常、可靠。
CW77P203還可用于其它各類小家電。
評論