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