趙偉光
【摘 要】本文詳細介紹了一種以單片機89C52為核心的空調(diào)溫度控制系統(tǒng)。空調(diào)溫度控制系統(tǒng)的設(shè)計原理以達到更優(yōu)的系統(tǒng)性能為目的,由單片機完成數(shù)據(jù)的采集,處理,顯示。該系統(tǒng)以在普通環(huán)境下測量到的溫度值為確定條件,利用單片機控制空調(diào)制冷和制暖來達到所需溫度。
【關(guān)鍵詞】DS18B20;單片機;溫度控制;LED顯示
在今天手機得到廣泛應用,一般手機信號發(fā)射機要求工作溫度在之間,這也就要求手機信號發(fā)射機室內(nèi)溫度得在5-45度之間,我們可以設(shè)計一個溫度控制電路來控制空調(diào)的溫度,從而使手機信號發(fā)射機正常工作。
一、總體方案
考慮到該溫度控制系統(tǒng)功能比較少,由單片機控制即可實現(xiàn)。而89C52單片機體積小、重量輕、抗干擾能力強、對環(huán)境要求不高、價格低廉、可靠性高、靈活性好,故本系統(tǒng)選擇采用89C52單片機。采用單線數(shù)字溫度傳感器DS18B20進行數(shù)據(jù)采集。DSB18B20S數(shù)字溫度計提供9到12位溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DS18B20送出,因此從中央處理器到DS18B20僅需連接一條線和地,讀寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供,甚至不需要外部電源。
二、系統(tǒng)工作原理
該空調(diào)控制系統(tǒng)用到89C52單片機作為系統(tǒng)的CPU進行控制控制,由數(shù)字傳感器DS18B20進行數(shù)據(jù)采集,89C52對采集到的數(shù)據(jù)進行處理,得到各種信號。而這些信號將分別作為LED數(shù)碼管顯示的信號輸入和啟動空調(diào)制冷、制熱的輸入。同時將利用單片機的其它使能端口實現(xiàn)系統(tǒng)的復位,手動調(diào)節(jié)和自動調(diào)節(jié)。
三、系統(tǒng)硬件設(shè)計
系統(tǒng)的硬件部分主要可分為溫度采集電路,信號處理與控制控制,溫度顯示電路,溫度調(diào)節(jié)電路,控制指示電路五大部分。
四、系統(tǒng)軟件設(shè)計
DS18B20通信,其命令序列有3步:初始化、ROM命令(跟隨需要交換的數(shù)據(jù))和功能命令(跟隨需要交換的數(shù)據(jù))。
每次訪問DS18B20,必須嚴格遵守這個命令時序,如果出現(xiàn)序列混亂,則單總線則單總線器件不會響應主機。這個準則對于搜索ROM命令和報警搜索命令例外,在執(zhí)行兩者中任何一條命令之后,主機不能執(zhí)行其后的功能命令,而必須返回至第一步。
(一)初始化
單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復位脈沖和從機響應的應答脈沖組成,應答脈沖使主機知道總線上有從機設(shè)備且準備就緒。
(二)ROM命令
在主機檢測到應答脈沖后,就可以發(fā)出ROM命令。ROM命令與各個從機設(shè)備的唯一64位ROM代碼相關(guān),允許主機在單總線上連接多個從機設(shè)備時,指定操作某個從機設(shè)備。ROM命令還允許能夠檢測到總線上有多少個從機設(shè)備及其設(shè)備類型,或者有沒有設(shè)備處于報警狀態(tài)。
(1)搜索ROM
當系統(tǒng)初始上電時,主機必須找出總線上所有從機設(shè)備的ROM代碼,這樣主機才能夠判斷出從機的數(shù)目和類型。主機通過重復執(zhí)行搜索ROM循環(huán)(搜索ROM命令跟隨著位數(shù)據(jù)交換),以找出總線上所有的從機設(shè)備。如果總線只有一個從機設(shè)備,則可以采用讀ROM命令來替代搜索ROM命令。在每次執(zhí)行完搜索ROM循環(huán)后,主機必須返回至命令序列的第一步:初始化。
(2)讀ROM
該命令僅適用于總線上只有一個從機設(shè)備,它允許主機直接讀出從機的64位ROM代碼,而無須執(zhí)行搜索ROM過程。如果該命令用于多節(jié)點,系統(tǒng)則必然發(fā)生數(shù)據(jù)沖突,因為每個從機設(shè)備都會響應該命令。
(3)匹配ROM
匹配ROM命令跟隨64位ROM代碼,從而允許主機訪問多節(jié)點系統(tǒng)中某個指定的從機設(shè)備。僅當從機完全匹配64位ROM代碼時,才會響應主機隨后發(fā)出的功能命令,其他設(shè)備將處于等待復位脈沖狀態(tài)。
(4) 跳躍ROM
主機能夠采用該命令同時訪問總線上的所有從機設(shè)備,而無須發(fā)出任何ROM代碼信息。
(5) 報警搜索
除那些設(shè)置了報警標志的從機響應外,該命令的工作方式完全等同于搜索ROM命令,該命令允許主機設(shè)備判斷哪些從機設(shè)備發(fā)生了報警(如最近的測量溫度過高或過低等)。同搜索ROM命令一樣,在完成報警搜索循環(huán)后,主機必須返回至命令序列的第一步。
(三)功能命令
在主機發(fā)出ROM命令,以訪問某個指定的DS18B20,接著就可以發(fā)出DS18B20的某個功能命令。這些命令允許主機寫入或讀出DS18B20的存儲器,啟動溫度轉(zhuǎn)換以及判斷從機的供電方式。
(1) 讀RAM存儲器
此命令讀RAM存儲器的內(nèi)容,開始讀字節(jié)0,并繼續(xù)讀到第九個字節(jié)(CRC)。如果不是所有位置均可讀,那么主機可以再任何時候發(fā)出一復位命令以中止讀操作。
(2)復制RAM存儲器
此命令讀RAM存儲器的內(nèi)容,開始讀字節(jié)0,并繼續(xù)讀到第九個字節(jié)(CRC)。如果不是所有位置均可讀,那么主機可以再任何時候發(fā)出一復位命令以中止讀操作。
(3)重新調(diào)出EERAM
此命令把存儲在EERAM中TH、TL、CONF的值重新調(diào)至RAM存儲器。這種重新調(diào)出的操作在對DS18B20上電時也自動發(fā)生,因此只要器件一接電,暫存存儲器內(nèi)就有有效的數(shù)據(jù)可供使用。
(4) 讀電源
在此命令送至DS18B20之后最先發(fā)出的讀數(shù)據(jù)時間片,器件都會給其電源方式的信號:0=強上拉電阻供電;1=電源供電。
(5)寫RAM存儲器
寫數(shù)據(jù)到RAM存儲器,地址為第2、第3、第4字節(jié)(TH、TL、CONF)。
(6)溫度變換
此命令開始溫度變換,不需要另外的數(shù)據(jù)。溫度變換將被執(zhí)行,接著DS18B20便保持在空閑狀態(tài)。
五、調(diào)試結(jié)果
從實物圖可以看出,溫度控制器能正常顯示溫度值,當超出18-26℃這個溫度范圍時輸出啟動制冷或電暖設(shè)備信號。
六、結(jié)論
基于DS18B2O的數(shù)字溫度計在實際應用中取得了良好的效果,提高了溫度采集系統(tǒng)的可靠性,且硬件電路簡單、工作穩(wěn)定、可靠,體積小巧、線路簡單、成本低、應用靈活、測溫精度和的實現(xiàn)轉(zhuǎn)換速度足以保證大多數(shù)測溫系統(tǒng)工作的要求。
參考文獻:
[1]李廣弟,朱月秀,王秀山. 單片機基礎(chǔ)[M]. 北京:北京航空航天大學出版社,2001.
[2]何立民. 單片機應用技術(shù)選編(1)[M]. 北京:北京航空航天大學出版社,1993.
[3]丁鎮(zhèn)生.傳感器及傳感器技術(shù) [M].北京:電子工業(yè)出版社,1998.
[4]彭國賢.數(shù)碼顯示 [M].北京:電子工業(yè)出版社,1993.
[5]王雪文,張志勇.傳感器原理及應用[M]. 北京:北京航空航天大學出版社,2004.
[6]余永權(quán),ATMEL89系列FLASH單片機原理及應用[M]. 電子工業(yè)出版社, 2001.