PIC單片機(jī)在中央空調(diào)控制器中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引 言
中央空調(diào)控制器有別于普通空調(diào)控制器。普通空調(diào)控制器安裝于室內(nèi)掛機(jī)內(nèi),對(duì)控制器尺寸要求不高,采用任何單片機(jī)加上外擴(kuò),不管多少外圍器件都沒(méi)問(wèn)題。但中央空調(diào)控制器由于沒(méi)有可放置的室內(nèi)機(jī),所以只能單獨(dú)放置,這樣,就要求控制器小巧精致。本設(shè)計(jì)中,用戶要求設(shè)計(jì)的控制器尺寸與一般的家用開關(guān)面板大小相仿,上面排布七個(gè)按鍵,十個(gè)LED發(fā)光指示和一個(gè)溫度顯示,功能上還有遙控、兩路溫度采樣等。
2 系統(tǒng)硬件設(shè)計(jì)
根據(jù)用戶要求,我們進(jìn)行了初步設(shè)計(jì)。在排布組件時(shí),我們就發(fā)現(xiàn),這么小的空間,放上面板所需的鍵盤、顯示后,只留下了一片單片機(jī)的位置,那么A/D、紅外遙控譯碼和外圍驅(qū)動(dòng)電路怎么放?經(jīng)過(guò)比較,我們最終選擇了PIC單片機(jī)。在開發(fā)階段使用PIC16F877,以后還可改為PIC16C74,以降低產(chǎn)品成本。
PIC16F877應(yīng)用于本系統(tǒng)具有以下優(yōu)勢(shì):
·自帶10位多通道模數(shù)轉(zhuǎn)換器,因而無(wú)須增加外圍模數(shù)轉(zhuǎn)換器;
·有三個(gè)定時(shí)器,有足夠的時(shí)鐘可用,因?yàn)榭照{(diào)控制最重要的部分就在時(shí)鐘上,而且實(shí)現(xiàn)紅外遙控的軟件解碼亦需定時(shí)器。
設(shè)計(jì)中,為了減少驅(qū)動(dòng)要求,全部采用低電平有效,這樣就進(jìn)一步減少了外圍器件對(duì)空間的要求。
圖1中,RA3引腳由于模數(shù)轉(zhuǎn)換的設(shè)置限制而不能使用,RC0、RC1引腳由于時(shí)鐘定義限制而不能使用。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 總體設(shè)計(jì)方案
系統(tǒng)主程序非常簡(jiǎn)單,主要執(zhí)行一個(gè)任務(wù),就是鍵盤掃描檢測(cè),因?yàn)镻IC16F877只有一個(gè)外部中斷引腳,為實(shí)現(xiàn)紅外遙控軟解碼,鍵盤須采用掃描查詢方式。本系統(tǒng)的技術(shù)方案主要集中在紅外遙控軟件解碼和時(shí)鐘控制上。
3.2 紅外遙控軟件解碼
紅外遙控采用HOLTEK公司的HT6221多功能編碼芯片,該公司公布的資料顯示,該芯片采用PPM進(jìn)行編碼,HT6221每發(fā)送一個(gè)碼,先送出一個(gè) 9ms的頭碼和4.5ms的間隙,然后依次送出16位的地址碼(18ms~36ms)、8位數(shù)據(jù)碼(9ms~18ms)和8位數(shù)據(jù)反碼,圖2給出了 DOUT引腳上輸出的格式。
數(shù)據(jù)的識(shí)別為:1.12ms為 0,2.24ms為1,如圖3所示。這樣,紅外遙控軟件解碼需設(shè)計(jì)一時(shí)鐘,與中斷同步計(jì)數(shù)就可識(shí)別了。本系統(tǒng)的系統(tǒng)時(shí)鐘為4MHz,為了便于識(shí)別數(shù)據(jù)值,我們確定:時(shí)鐘中斷為0.28ms。其基本工作原理為:通過(guò)判斷兩次外部中斷間時(shí)鐘中斷的次數(shù)(即時(shí)間值)來(lái)解碼?;舅惴ㄈ缦拢?/p>
3.3 時(shí)鐘控制設(shè)計(jì)
時(shí)鐘中斷設(shè)計(jì)是本系統(tǒng)的重點(diǎn),系統(tǒng)每一部分功能幾乎都圍繞時(shí)鐘進(jìn)行,例如:制冷室內(nèi)風(fēng)機(jī)起動(dòng)20秒后壓縮機(jī)外風(fēng)機(jī)才起動(dòng),溫度到時(shí),壓縮機(jī)關(guān)機(jī)20秒后關(guān)風(fēng)機(jī),壓縮機(jī)停機(jī)后三分鐘才能再開;按鍵調(diào)溫度,5秒停止按鍵后恢復(fù),并顯示溫度,LED要閃爍。各種模式下,除了本身控制需要的時(shí)間要求外,還有許多為保護(hù)系統(tǒng)而設(shè)的時(shí)鐘要求。經(jīng)過(guò)對(duì)系統(tǒng)的仔細(xì)分析,設(shè)計(jì)方案主要從兩個(gè)方面著手:
一是處理好各種狀態(tài),為此,為每種狀態(tài)都定義狀態(tài)標(biāo)志如下:
系統(tǒng)的四種切換模式定義狀態(tài),定義名為mode
上面列出了系統(tǒng)所定義的狀態(tài),正是有了這些狀態(tài)的幫助,才方便了時(shí)間控制的處理。
二是經(jīng)分析,時(shí)鐘的要求盡管多,但都為秒、分、時(shí),所以就設(shè)計(jì)了一個(gè)真正的“時(shí)鐘”,把“秒”的控制放在“秒”一段,“分”的放在“分”一段,“時(shí)”的放在“時(shí)”一段,結(jié)合上面的狀態(tài),使控制邏輯非常清晰。下面給出算法示意:
時(shí)鐘中斷服務(wù)程序
Secs++“秒”計(jì)數(shù)
If Secs<6
goto sec-1 如果不到1分鐘,處理“秒”程序段
else
{
以上程序是用匯編語(yǔ)言實(shí)現(xiàn)的,為了清晰及減少篇幅,這里改用算法描述來(lái)說(shuō)明。