1 設計目的及要求
1.1 設計目的和意義21世紀的人們生活質(zhì)量不斷提高,同時也對高科技電子產(chǎn)業(yè)提出了更高的要求,為了使人們生活更人性化、智能化。我設計了這一基于單片機的空調(diào)溫度控制系統(tǒng),人們只有生活在一定的溫度環(huán)境內(nèi)才能長期感覺舒服,才能保證不中暑不受凍,所以對室內(nèi)溫度要求要高。對于不同地區(qū)空調(diào)要求不同,有的需要升溫,有的需要降溫。一般都要維持在21~26°C。
目前,雖然我國大量生產(chǎn)空調(diào)制冷產(chǎn)品,但由于我國人口眾多,需求量過盛,在我國的北方地區(qū),還有好多家庭還沒有安裝有效地室內(nèi)溫控系統(tǒng)。溫度不能很好的控制在一定的范圍內(nèi),夏天室內(nèi)溫度過高,冬天溫度過低,這些均對人們正常生活帶來不利的影響,溫度、濕度均達不到人們的要求。以前溫度控制主要利用機械通風設備進行室內(nèi)、外空氣的交換來達到降低室內(nèi)溫度,實現(xiàn)室內(nèi)溫度適宜人們生活。以前通風設備的開啟和關停,均是由人手動控制的,即由人們定時查看室內(nèi)外的溫度、濕度情況,按要求開關通風設備,這樣人們的勞動強度大,可靠性差,而且消耗人們體力,勞累成本過高。為此,需要有一種符合機械溫控要求的低成本的控制器,在溫差和濕度超過用戶設定值范圍時,啟動制冷通風設備,否則自動關閉制冷通風設備。鑒于目前大多數(shù)制冷設備現(xiàn)在狀況,我設計了一款基于MCS51單片機的空調(diào)溫度控制系統(tǒng)。
1.2 設計任務與要求系統(tǒng)要求利用單片機設計一空調(diào)溫度控制器,能夠?qū)崟r檢測并顯示室溫,能夠利用鍵盤設定溫度,并且和室溫進行比較,當室溫低于設定溫度時,系統(tǒng)能夠驅(qū)動加熱系統(tǒng)工作,當室溫高于設定溫度時,系統(tǒng)能夠驅(qū)動制冷系統(tǒng)工作,當兩者溫度相等時,不做動作。
2 硬件電路設計
2.1 總體方案設計空調(diào)溫度控制系統(tǒng),主要要完成對溫度的采集、顯示以及設定等工作,從而實現(xiàn)對空調(diào)的控制。傳統(tǒng)采用鉑電阻充當測溫器件的方案,雖然其中段測量線性度好,精度較高,但是測量電路的設計難度高 ,且測量電路系統(tǒng)龐大,難于調(diào)試 ,而且成本相對較高。鑒于上述原因,本系統(tǒng)采用DS18B20充當測溫器件。外部溫度信號經(jīng) DS18B20將輸入的模擬信號轉換成8位的數(shù)字信號, 通過并 口傳送到單片機系統(tǒng)( AT89C52) 。單片機系統(tǒng)將接收的數(shù)字信號譯碼處理,通過LCD1602將溫度顯示出來,同時單片機系統(tǒng)還將完成鍵盤掃描 、按鍵溫度設定、超溫報警等程序的處理 ,將處理的溫度信號與系統(tǒng)設定溫度值比較,形成可以控制空調(diào)制冷、制熱與停止工作三種工作狀態(tài),從而實現(xiàn)空調(diào)的智能化。另外,鍵盤輸入方面,采用了軟件來修正誤操作輸入 ,即輸入的溫度范圍必須在系統(tǒng)硬件所確定的范圍內(nèi),直接降低由于誤操作帶來的風險,提高了系統(tǒng)的可靠性 ,體現(xiàn)了人性化的系統(tǒng)設計原則。
系統(tǒng)的整體框圖如圖1所示:
圖1 系統(tǒng)整體框圖
2.2 功能模塊電路設計
2.2.1 單片機的選型由于本系統(tǒng)只需要單片機完成矩陣鍵盤檢測以及處理DS18B20送來的溫度數(shù)據(jù)并送LCD1602進行顯示對于I/O資源以及處理速度無特殊要求,故選擇ATMEL公司生產(chǎn)的AT89C52單片機,AT89C52增加了在線調(diào)試功能,即程序可以通過JTAG接口下載,調(diào)試和固化,因而該芯片的開發(fā)不再需要昂貴的硬件仿真器,可實現(xiàn)實時仿真,所有的資源都可以為用戶所使用,可以在線編程或在系統(tǒng)編程,更進一步地說,在線編程或在系統(tǒng)編程是開發(fā)的系統(tǒng)具有了通過網(wǎng)絡進行升級、維護的潛在功能。
AT89C52的性能及特點[1]:
- 與MCS-51系列單片機兼容。
- 片內(nèi)有8K可在線重復編程的快速內(nèi)
存可擦寫存儲器(Flash Memory)。
- 存儲器可循環(huán)寫入/擦寫10000次以上。
- 存儲器數(shù)據(jù)保存時間為10年以上。
- 寬工作電壓范圍:Vcc可為2.7V-6.5V。
- 全靜態(tài)工作:可從0Hz-24MHz。
- 程序存儲器具有三級加密保護。
- 256字節(jié)的內(nèi)部RAM。
- 32條可編程I/O口線。
- 三個16位定時器/計數(shù)器。
- 中斷結構具有5級(6級)中斷源和兩個優(yōu)下級。
- 可編程全雙工串行通訊。
- 空閑維持低功耗和掉電狀態(tài)保護存儲數(shù)據(jù)。
AT89C52引腳圖如圖2所示。
圖2 AT89C52引腳圖
VCC: +5V電源輸入
GND:接地
P0口是一個雙向8位三態(tài)I/O口,每個口可獨立控制。使用時需外接上拉電阻。
P1口是一個準雙向8位I/O口,它的功能是單一的,只能用作數(shù)據(jù)的輸入或者輸出。
P2口是一個準雙向8位I/O口,輸出時,從P2.x端口可輸出CPU寫到鎖存器上的信號。當該接口用做數(shù)據(jù)輸入接口是,應先向該位寫1,然后,讀該位即可讀入輸入數(shù)據(jù)。
P3口是具有第二功能的準雙向8位I/O口。
ALE/PROG:地址所存/編程信號線。當P0口工作在第二功能時從該端口可復用工作,某時刻該端口可以送出地址信號A0~A7,而另外的時刻該端口傳送的是數(shù)據(jù)信號D0~D7。利用ALE可以將地址信號A0~A7鎖存到地址鎖存器。

/VPP:該控制信號線也具有雙重功能,是允許訪問片外ROM/編程高電壓引線。

:程序存儲器允許輸出控制端,常用作片外ROM的讀控制信號,低電平有效。
RESET:復位引腳,當該端加上超過24個時鐘周期的高電平時,可是8051復位。系統(tǒng)復位電路如圖2.3所示。
X1、X2:外接時鐘引腳。X1為片內(nèi)振蕩電路的輸入端,X2為片內(nèi)振蕩電路的輸出端。
2.2.2 振蕩電路設計AT89C52內(nèi)部有一個用于構成片內(nèi)振蕩器的高增益反相放大器, 振蕩器產(chǎn)生的信號送到CPU, 作為CPU的時鐘信號,驅(qū)動CPU產(chǎn)生執(zhí)行指令功能的機器周期。引腳XTAL1和XTAL2是此放大器的輸人端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構成一個自激振蕩器, 振蕩電路的連接如圖所示圖8所示,外接石英晶體或陶瓷諧振器以及電容C1和C2構成并聯(lián)諧振電路, 接在放大器的反饋回路中。對外接電容C1和C2的值雖然沒有嚴格的要求, 但電容的大小多少會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振圈內(nèi)部振蕩的接法的快速性和溫度穩(wěn)定性。外接石英晶體時, C1和C2一般取(40pF-10pF),外接的是石英晶體, 所以,C1、C2選擇標稱值30pF。
系統(tǒng)振蕩電路如圖3所示。
圖3 振蕩電路
2.2.3 復位電路設計單片機復位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài), 并從這個狀態(tài)開始工作。無論是在單片機剛開始接上電源時, 還是斷電后或者發(fā)生故障后都要復位。89系列單片機的復位信號是從RST引腳輸人到芯片的施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時, 且振蕩器穩(wěn)定后, 如果RST引腳有一個高電平并維持2個機器周期(24個振蕩周期), 則CPU就可響應并且將系統(tǒng)復位。復位分為手動復位和上電復位。本設計系統(tǒng)采用的是上電自動復位。
系統(tǒng)復位電路如圖4所示。
圖4 復位電路
2.2.4 鍵盤接口電路設計獨立鍵盤與單片機連接時,每個按鍵都需要單片機的一個I/O口,若單片機系統(tǒng)需要較多按鍵,如果用獨立按鍵會占用過多的I/O口資源。單片機系統(tǒng)中I/O口資源往往比較寶貴,當用到多個按鍵時,為了節(jié)省I/O口線,一般需使用矩陣鍵盤。本系統(tǒng)共需使用16個按鍵,故選擇

的矩陣鍵盤。鍵盤接口電路如圖5所示。
圖5 鍵盤接口電路
2.2.5 溫度測量電路設計 本系統(tǒng)的溫度測量電路采用DS18B20來實現(xiàn)。DS18B20是美國DALLAS半導體公司推出的第一片采用“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾、能力強、易配微處理器等優(yōu)點,可直接將溫度轉化成串行數(shù)字信號供處理器處理。
DS18B20的性能及特點[2]:
- 適應電壓范圍寬,電壓范圍在
,在寄生電源方式下可由數(shù)據(jù)線供電。 - 獨特的單線接口方式,它與微處理器連接時僅需一條口線即可實現(xiàn)微處理器與DS18B20的雙向通信。
- 支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。
- 在使用中不需要任何外接元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路里。
- 測溫范圍-55℃
+125℃,在-10℃
+85℃時精度為±0.5℃。 - 可編程分辨率為9
12位,對應的可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.0625℃,可實現(xiàn)高精度測溫。 - 在9位分辨率時,最多在93.75ms內(nèi)把溫度轉換為數(shù)字;12位分辨率時,最多在750ms內(nèi)把溫度值轉換為數(shù)字。
- 測量結果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。
- 負壓特性。電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。
系統(tǒng)溫度測量電路如圖6所示。
圖6 溫度測量電路
2.2.6 系統(tǒng)顯示電路設計本系統(tǒng)采用LCD1602作為系統(tǒng)的顯示器件,1602字符型液晶是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊,能分兩行顯示,它有若干個

或者

等點陣字符位組成,每個點陣字符位都可以顯示一個字符。
1602型液晶接口信號如下:
- 1腳VSS:電源地。
- 2腳VDD:電源正極。
- 3腳VO:液晶顯示對比度調(diào)節(jié)端。
- 4腳RS:數(shù)據(jù)/命令選擇端(H/L)。
- 5腳R/
:讀寫選擇端(H/L)。 - 6腳E:使能信號。
腳
:數(shù)據(jù)口。- 15腳BL1:背光電源正極。
- 16腳BL2:背光電源負極。
系統(tǒng)顯示電路如圖7所示。
圖7 系統(tǒng)顯示電路
2.2.7 輸出控制電路設計系統(tǒng)要求在當前室溫低于設定溫度時,能夠自動驅(qū)動加熱系統(tǒng)工作 ;在當前室溫高于設定溫度時能夠自動驅(qū)動制冷系統(tǒng)工作。本系統(tǒng)在復位后即置P2^6腳和P2^7腳為低電平,在當前室溫低于設定溫度時,通過置P2^7腳為高電平來驅(qū)動后級加熱系統(tǒng),本系統(tǒng)采用紅色LED來代替加熱系統(tǒng);在當前室溫高于設定溫度時,通過置P2^6腳高電平來驅(qū)動后級制冷系統(tǒng),本系統(tǒng)采用藍色LED來代替制冷系統(tǒng)。
輸出控制電路如圖8所示。
圖8 輸出控制電路
2.3 總電路設計系統(tǒng)總電路圖如圖9所示。
圖9 系統(tǒng)總電路圖
2.4 系統(tǒng)所用元器件本系統(tǒng)所用的元器件清單如表1所示。
表1 系統(tǒng)所用元器件
元器件名稱 | 數(shù)量 |
點觸式開關 | 16 |
30pF瓷片電容 | 2 |
10uF電解電容 | 1 |
藍色LED | 1 |
紅色RED | 1 |
5V電源插座 | 1 |
自鎖開關 | 1 |
LCD1602 | 1 |
1/4W10K電阻 | 3 |
10K可調(diào)電阻 | 1 |
AT89C52 | 1 |
DS18B20 | 1 |
12MHz晶振 | 1 |
3 軟件系統(tǒng)設計3.1 軟件系統(tǒng)總體方案設計 系統(tǒng)軟件由主程序模塊、測溫程序模塊、鍵盤掃描程序模塊以及液晶驅(qū)動程序模塊組成。
3.2 軟件流程圖設計系統(tǒng)軟件流程圖如圖10所示。
圖10 系統(tǒng)軟件流程圖
4 系統(tǒng)調(diào)試程序在Keil uVision4環(huán)境下編寫,編譯通過后生成.hex文件加載到Protuse下可正常運行。程序默認溫度為21.0℃,Protuse下設定DS18B20的溫度也為21.0℃,故開始運行時兩路LED燈都不點亮。當利用鍵盤設定的溫度高于DS18B20默認的21.0℃時,紅色LED燈被點亮;當設定的溫度低于DS18B20默認的21.0℃時,藍色LED燈被點亮。
附上仿真圖
當 設定的 溫度高于DS18B20默認的 21.0℃ 時,紅色LED燈被點亮 ,如圖11所示。
圖11 紅色LED燈點亮
當設定的溫度低于DS18B20默認的 21.0℃ 時,藍色LED燈被點亮。 如圖12所示。
圖12 藍色LED燈點亮
5 總結5.1 本系統(tǒng)存在的問題及改進措施本系統(tǒng)所設計的空調(diào)溫度控制器僅對溫度部分實現(xiàn)了控制,但對于實際空調(diào)中的模式選擇以及定時運行等工作過程還無法實現(xiàn),希望在以后的學習研究中能夠解決這些問題。
5.2 心得體會
本次課程設計從獲得題目開始便著手準備,首先分析系統(tǒng)要求,在Protuse里完成硬件原理圖的搭建,然后開始在Keil環(huán)境下著手編寫各部分程序,調(diào)試相應的程序,在調(diào)試通過后再下載到Protuse里進行仿真,發(fā)現(xiàn)問題后再返回Keil下修改相應程序,直到最后仿真通過,最后在Altium Designer 6中畫出電路原理圖。在本次課程設計過程中得到了老師以及許多同學的幫助,感謝那些提供過幫助的老師和同學。
參考文獻[1] 郭文川主編. 單片機原理與接口技術. 北京:中國農(nóng)業(yè)出版社,2007.
[2] 郭天祥主編. 51單片機C語言教程. 北京:電子工業(yè)出版社,2009.
附錄1:系統(tǒng)的源程序清單