采用8051單片機的變化空調(diào)機智能控制的設(shè)計與實現(xiàn)
本文闡述了用8051單片機根據(jù)環(huán)境溫度的變化實現(xiàn)空調(diào)機智能控制的設(shè)計方法。
空調(diào)機廣泛應(yīng)用于日常生活中。本文充分挖掘了單片機系統(tǒng)穩(wěn)定、成本低、適宜于工業(yè)控制的特點,實現(xiàn)了用8051單片機根據(jù)室溫變化,智能控制空氣壓縮機,以達到調(diào)節(jié)室溫的目的。本系統(tǒng)具有精度高、易于控制、成本低等優(yōu)點。
系統(tǒng)原理與硬件電路
空調(diào)機的控制系統(tǒng)由開關(guān)鍵、溫度下調(diào)鍵、溫度上調(diào)鍵組成。按下開關(guān)鍵后,系統(tǒng)檢測環(huán)境溫度并顯示。溫度上調(diào)鍵和溫度下調(diào)鍵用于設(shè)定溫度,根據(jù)實際需要,溫度可調(diào)范圍為10~35℃,當(dāng)?shù)谝淮伟聪氯我庠O(shè)定鍵時都顯示最高溫度35℃,按下相應(yīng)的鍵可以依次增加或減少1℃,并可以循環(huán)顯示:如當(dāng)上調(diào)到35℃時,再按一次上調(diào)溫度鍵,則返回到最低設(shè)定溫度10℃。當(dāng)設(shè)定溫度低于系統(tǒng)檢測到的環(huán)境溫度時,壓縮機開始運轉(zhuǎn),使室溫降低;當(dāng)室溫低于設(shè)定溫度,壓縮機停止運轉(zhuǎn);當(dāng)按下溫度設(shè)定鍵10秒后,自動解除溫度設(shè)定模式,回到室溫顯示模式。采用定時器中斷的方式,每隔50ms自動比較室溫和設(shè)定溫度,以決定壓縮機的啟動或者關(guān)閉,系統(tǒng)原理圖如下圖所示。
本系統(tǒng)采用8051單片機作為核心控制芯片,外圍部件由顯示設(shè)備、石英晶振、鍵盤電路、模數(shù)轉(zhuǎn)換設(shè)備、溫度傳感器、壓縮機組成。溫度傳感器選擇AD590集成溫度傳感器,模數(shù)轉(zhuǎn)換設(shè)備采用8位CMOS逐次逼近型A/D轉(zhuǎn)換器ADC0804,溫度用兩個七段BCD數(shù)碼管顯示。P3.0連接壓縮機,并通過置位復(fù)位控制其開關(guān)。各部分連接的電路如下圖所示。
1.溫度傳感器AD590
AD590是美國Analog DevICes公司生產(chǎn)的二端式集成溫度-電流傳感器,具有體積小、重量輕、線性度好、性能穩(wěn)定等優(yōu)點,它的測量范圍-55~150℃;線性電流輸出±1A/K;線性度好,滿刻度范圍±O_3℃;電源電壓范圍4~30V,當(dāng)電源電壓在5-10v之間,電壓穩(wěn)定度為1%時,所產(chǎn)生的誤差只有±0.01℃;電阻采用激光修刻產(chǎn)生,使在±25℃(298K),器件輸出±298.2μA。
使用時,先調(diào)AD590可變電阻R,使其輸出電流通過10k電阻,從而獲得10mV/K的電壓,AD590測量的是絕對溫度,為測出攝氏溫度,須使AD590輸出偏置為2.732V,使基準(zhǔn)電壓為25V,這樣通過兩個串聯(lián)電阻R2=9.1kΩ,R3=1kΩ時,對+25V電壓分壓,從而獲得2.73V的偏置,A為增益可調(diào)數(shù)據(jù)放大器,輸出電壓VT=10mV/℃,調(diào)節(jié)放大器增益,可獲得所需要的輸出電壓,AD590簡化電路如下圖所示。
2.A/D轉(zhuǎn)換器ADG0804
ADC0804是8位CMOS逐次逼近型A/D轉(zhuǎn)換器,轉(zhuǎn)換時間100μs,工作溫度0~70℃,完全可以滿足系統(tǒng)要求。其中,引腳RD、WR和單片機RD、WR相連,CS直接接地,ADC0804被選中,Vin(+)連接AD590,vin(一)和AGND接地,其他引腳連接情況可參考系統(tǒng)電路圖。ADC0804直接和8051的P0口相連,其地址為#OFFH。
3.控制電路
采用8051的P2.1連接開關(guān)鍵,P2.2和P2.3分別連接上調(diào)和下調(diào)溫度鍵。當(dāng)某一按鍵被軟件置零時,引發(fā)相應(yīng)動作。
4.顯示電路
用8051的P1口連接兩個七段BCD共陽極數(shù)碼管。由于連接的數(shù)碼管只有兩個,因此不用擴展P1口,用兩個BcD七段顯示譯碼器74Ls47直接驅(qū)動共陽極數(shù)碼管。因此可以把要顯示的數(shù)據(jù)直接送P1口,作為信號驅(qū)動數(shù)碼管,就可以顯示相應(yīng)字形,使用方便。
軟件設(shè)計
用單片機內(nèi)部RAM存儲區(qū)中#30H存放設(shè)定溫度,#31H存放環(huán)境溫度。
1.溫度轉(zhuǎn)換及顯示原理
由于ADC0804輸出最高值為#FFH,本電路實際測量最大溫度T=51℃,ADC0804的轉(zhuǎn)換值和溫度關(guān)系為:FFH*x=51,則x=0.2。環(huán)境溫度TO的值為:轉(zhuǎn)換值乘以0.2,在實際應(yīng)用中可用除以5來完成,若余數(shù)為3或4,則進位,若余數(shù)為0、1或2,則舍去。測量誤差≤2/5=0.4℃。
2.中斷程序
系統(tǒng)上電復(fù)位后,初始化TIMEO,選擇定時方式1,并送初值#OE40AH給TO,使TO每隔50ms產(chǎn)生一次中斷,通過比較室溫和設(shè)定溫度,以決定P3.0口的通斷。
3.系統(tǒng)防止干擾的軟件實現(xiàn)
在實際工作中,由于電磁場或電源、機械等干擾,可能使系統(tǒng)發(fā)生異常,導(dǎo)致程序在執(zhí)行過程中“跑飛”,使系統(tǒng)工作出現(xiàn)混亂,后果不堪設(shè)想。為防止意外發(fā)生,盡量減小由此造成的不良影響,盡快使系統(tǒng)恢復(fù)正常工作,本系統(tǒng)采用軟件方法,加入程序陷阱?;驹頌椋涸趦?nèi)部ROM存儲空間填滿長跳轉(zhuǎn)指令LJMP和空操作指令NOP,一旦程序亂飛到該區(qū),就會重新返回主程序入口,使系統(tǒng)迅速恢復(fù)正常工作。主程序和TO中斷流程分別如下圖所示。
結(jié)論
本文用8051系列單片機實現(xiàn)了對空調(diào)機的控制,系統(tǒng)穩(wěn)定可靠,使用方便。用軟件實現(xiàn)系統(tǒng)監(jiān)控,節(jié)約成本,易于實現(xiàn),基本能夠滿足日常生活需要?! ?/p>