基于AT89C51的多點溫度檢測系統(tǒng)設(shè)計
在工業(yè)生產(chǎn)及日常生活中,多點溫度檢測系統(tǒng)的應(yīng)用十分廣泛,例如消防電氣的非破壞性溫度檢測,電力設(shè)備的過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,各類運輸工具組件的過熱檢測,醫(yī)療與診斷設(shè)備的溫度測試等。針對這一情況,本文設(shè)計了一種基于AT89C51、數(shù)字溫度傳感器DSl8820的多點溫度檢測系統(tǒng),該系統(tǒng)利用DSl8820單總線的特點,可以方便地組建傳感器網(wǎng)絡(luò),從而實現(xiàn)多點溫度的測量。該系統(tǒng)設(shè)計靈活、抗干擾性好,可以在惡劣的工作環(huán)境中進行溫度測量。
1 總體結(jié)構(gòu)
設(shè)計的多點溫度檢測系統(tǒng)如圖1所示。該系統(tǒng)主要由AT89C51單片微型計算機、鍵盤顯示電路、溫度顯示電路、看門狗電路、溫度測試電路、串口通信電路等組成。
2 硬件電路
2.1 溫度測試電路
溫度測試電路主要采用溫度芯片DSl8820,它是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,測溫范圍為-55~+125℃,測溫分辨率可達(dá)O.062 5℃,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等特點,特別適合于構(gòu)成多點溫度測控系統(tǒng)。其內(nèi)部結(jié)構(gòu)如圖2所示。
DSl8820有4個主要的數(shù)據(jù)部件:
(1)64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號和8位家族代碼(28H)組成;
(2)溫度靈敏元件;
(3)非易失性溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限值;
(4)配置寄存器。配置寄存器為高速暫存存儲器中的第五個字節(jié)。DSl8820在0工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如圖3所示。
圖3中:TM為測試模式標(biāo)志位,出廠時被寫入0,不能改變;R0,Rl為溫度計分辨率設(shè)置位,其對應(yīng)4種分辨率如表1所列,出廠時R0,R1置為缺省值:R0=1,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。
高速暫存存儲器由9個字節(jié)組成,其分配如圖4所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第O和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如圖4所示。對應(yīng)的溫度計算:當(dāng)符號位S=O時,直接將二進制位轉(zhuǎn)換為十進制;當(dāng)S=1時,先將補碼變?yōu)樵a,再計算十進制值。
由于DSl8B20是單線數(shù)字溫度傳感器,因此它基本不需要外圍電路就可以與單片機直接以1根線相連,圖5為多個DSl8B20通過單總線與單片機相連的原理圖,圖中,DSl8B20采用外部電源供電方式。
2.2 鍵盤及顯示電路
該系統(tǒng)采用的是矩陣式鍵盤,共組成20個按鍵,主要包括10個數(shù)字鍵以及“上限”、“下限”、“確定”等功能鍵。當(dāng)有鍵按下時,8279產(chǎn)生中斷信號送入單片機,然后轉(zhuǎn)向相應(yīng)的功能程序。
顯示部分采用1片75451與5個LED數(shù)碼管相連來實現(xiàn)動態(tài)顯示,工作狀況下,從左向右依次顯示為通道號、溫度的正負(fù)號、溫度值的十位、溫度值的個位以及溫度值的小數(shù)點后一位。
2.3 電源電路
因為單片機工作電源為+5 V,且底層電路功耗很小,采用7805三端穩(wěn)壓片即可滿足要求。具體電路如圖6所示。
2.4 看門狗電路
考慮到底層電路板的工作環(huán)境相對惡劣,單片機會受到周圍環(huán)境的干擾,因而出現(xiàn)程序跑飛、死機等一些不可預(yù)知的不正常工作現(xiàn)象,工作人員也不可能到現(xiàn)場對單片機重起,本設(shè)計為單片機電路添加一個外部看門狗電路,定時查詢單片機的工作狀態(tài),一但發(fā)現(xiàn)異常即對單片機延時重起,以保證系統(tǒng)安全可靠的運行。其電路如圖7所示。
3 軟件設(shè)計
系統(tǒng)的軟件采用模塊化方法進行編程,主要由主程序、數(shù)碼管顯示程序、鍵盤掃描以及按鍵處理程序、溫度測試程序、中斷控制程序等組成。其中主程序完成系統(tǒng)初始化和對采集到的溫度進行計算等;鍵盤掃描電路及按鍵處理程序?qū)崿F(xiàn)鍵盤的輸入按鍵的識別及相關(guān)處理;溫度測試程序主要完成由溫度芯片傳送數(shù)據(jù)的處理,并進行判斷和顯示;數(shù)碼管顯示程序完成向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分;中斷控制程序則實現(xiàn)循環(huán)顯示功能。
系統(tǒng)程序流程圖如圖8所示。
4 結(jié)語
利用AT89C51單片機和DSl8B20數(shù)字溫度傳感器可以實現(xiàn)多點溫度的檢測與控制。系統(tǒng)具有信號數(shù)字化、硬件簡單化和抗干擾能力強等特點,如果與相應(yīng)的可擴展接口芯片相連,則可實現(xiàn)更多路溫度的測量與控制,以適應(yīng)工業(yè)生產(chǎn)的需要。