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