賈海云
摘要:溫度測量在生產生活和工業(yè)控制等領域的應用十分廣泛,傳統(tǒng)溫度計有性能單一、使用壽命短、可靠性低等問題。本設計采用數字溫度傳感器DS18B20,結合單片機AT89S52控制技術,實現智能測量溫度的控制系統(tǒng)。該系統(tǒng)可設置報警溫度的閾值,當測量溫度超過設定的警戒溫度上下限時,蜂鳴器發(fā)出蜂鳴聲且指示燈閃爍顯示,產生報警信號,同時具有精度高、抗干擾能力強和硬件開銷低的特點。
關鍵詞:溫度測量;溫度傳感器DS18B20;單片機AT89S52;報警溫度;蜂鳴器;指示燈
中圖分類號:TP391? ?文獻標識碼:A
文章編號:1009-3044(2021)09-0251-02
開放科學(資源服務)標識碼(OSID):
1概述
溫度是衡量儀器儀表、電子設備等器件能否正常工作的一個重要指標,是實現生產自動化需要重點監(jiān)測的一個參數。常見的溫度測量方法是直接用溫度計讀取,如水銀溫度計,酒精溫度計等,人們可以觀察其刻度值知道當前的溫度。但是這些常見的溫度計存在測溫精度差,讀數不方便等問題。因此,本設計選用智能數字溫度傳感器DS18B20和單片機實現溫度的監(jiān)測。具有單總線接口的數字溫度傳感器DS18B20,溫度的轉換精度可以有4種,測量溫度范圍比較廣,可編程實現測溫轉換精度等優(yōu)點,被廣泛應用于恒溫控制器、溫度報警系統(tǒng)。
隨著電子技術和微型計算機的快速發(fā)展,單片機在各行各業(yè)發(fā)揮的作用與日俱增。單片機實際上是把一個微型計算機系統(tǒng)集成在單一芯片上,其具有體積小、質量輕、價格便宜、控制能力強等優(yōu)勢。本設計采用單片機AT89S52作為控制核心,對環(huán)境溫度進行實時監(jiān)測;采用溫度傳感器DS18B20作為溫度采集的核心器件;溫度的顯示采用4個共陽極數碼管顯示;通過按鍵設置上下限報警溫度;若溫度超過限制,啟動蜂鳴器和指示燈實現聲光報警。
2硬件電路的設計
基于單片機AT89S52的智能溫度監(jiān)測系統(tǒng)的硬件電路在單片機最小系統(tǒng)基礎上,還有溫度傳感器DS18B20構成的檢測電路、4個共陽極數碼管構成的溫度數值顯示電路、蜂鳴器和發(fā)光二極管構成的聲光報警電路、電源電路、數據下載接口等電路,如圖1所示。
2.1單片機最小系統(tǒng)
單片機的最小系統(tǒng)是保證單片機能正常工作的所必需的最少硬件電路,由復位電路、時鐘電路、存儲器電路和電源電路組成。復位電路的作用是為單片機產生復位信號,保證單片機上電后從一個確定的狀態(tài)開始工作。時鐘電路用來產生時鐘脈沖信號,它就像人類的心臟,缺少了時鐘信號單片機就無法正常運轉。存儲器電路讓系統(tǒng)從片內程序存儲器中開始執(zhí)行程序。電源電路驅動單片機,給其提供電能保障。
2.2智能溫度傳感器DS18B20系統(tǒng)
溫度傳感器DS18B20的VDD引腳接+5V的外部電源,GND引腳接地,DQ引腳接單片機的P1.0引腳,為了保證總線空閑時為高電平狀態(tài),需要接一個大小為10k的上拉電阻,這樣就可以用單總線的方式實現數據的傳輸。
2.3數碼管顯示電路
4個共陽極數碼管構成的溫度數值顯示電路中,位選端選取單片機P3.4、P3.5、P3.6、P3.7引腳,與數碼管的公共端相接。PNP三極管為驅動管,其導通時將小電流放大為大電流,驅動數碼管工作,使其有足夠的顯示亮度。選取單片機P1口作為控制數碼管顯示字符的段選端,在某個位選端為高電平時,只要段選端P1口送出需要顯示字符的代碼,數碼管就能顯示該字符。
2.4聲光報警系統(tǒng)和電源電路
聲光報警系統(tǒng)中蜂鳴器與單片機P2.3引腳相連,用PNP三極管驅動它。當溫度超過范圍設定范圍時,蜂鳴器發(fā)出蜂鳴聲,同時二極管閃爍顯示,即可起到聲光報警的作用。電源電路用LM7805穩(wěn)壓器來產生穩(wěn)定的5v電壓。
3系統(tǒng)的程序設計
本控制系統(tǒng)的設計以單片機和溫度傳感器DS18B20為核心,DS18B20檢測到的數據通過4個數碼管實時顯示。如果檢測到的溫度超過設定的警戒值,則聲光報警器開啟工作。因此,程序設計的模塊涉及主程序、讀取測量溫度子程序、轉換溫度值子程序、數碼管顯示溫度值子程序、聲光報警控制子程序等。
3.1主程序
主程序的作用是先對溫度傳感器DS18B20進行初始化,使其能夠正常檢測溫度;后讀取并處理DS18B20的測量的溫度值,根據預先設置的溫度的上限或下限判斷是否要進行聲光報警,并通過數碼管顯示當前測量到的溫度。系統(tǒng)一通電,溫度傳感器就開始工作,對環(huán)境溫度進行測量,并計算溫度的大小,通過DQ端將數據傳送給單片機P2.4引腳進行處理,處理后的數據再通過單片機P1口傳送給數碼管,數碼管按動態(tài)顯示的原理顯示數值。接在單片機P2口的按鍵可以設置產生溫度報警信號的閾值,當超過閾值時,單片機的P2.3引腳由低電平變?yōu)楦唠娖絾勇暪鈭缶?。程序中每?秒就對溫度測量一次,可以起到實時監(jiān)測的作用,保證整個環(huán)境溫度處于可控范圍內。
3.2讀取測量溫度子程序
溫度傳感器DS18B20的訪問操作涉及初始化操作、讀數操作和寫數操作。初始化的作用是確定系統(tǒng)中是否存在DS18B20。如果存在,則初始化成功,可以進行讀寫操作;否則,數碼管顯示4個“-”以提示錯誤。單片機從DS18B20中讀數時,DS18B20是以字節(jié)為單位向單總線發(fā)送數據,先發(fā)送低位,后發(fā)送高位。讀取測量溫度子程序的主要作用是讀出存放在數據存儲器中的9字節(jié)。
3.3 溫度轉換命令子程序
溫度傳感器DS18B20進行溫度轉換時需要一定時間,啟動溫度轉換命令后需要延長一段時間后,才能讀取溫度轉換值;否則,所讀的數據是錯誤。溫度轉換命令子程序主要作用是發(fā)送開始進行溫度轉換的命令,由于DS18B20的溫度轉換時間大約需要750毫秒,特采用延時1秒的子函數,等待轉換的完成。首先發(fā)復位命令使溫度傳感器DS18B20恢復到一個確定的初始狀態(tài),然后發(fā)跳過程序存儲器的命令,最后發(fā)送開始進行溫度轉換命令,這樣就可以順利地完成溫度轉換。
3.4數碼管顯示子程序
4位數碼管采用動態(tài)掃描的方式顯示相應位的數值,先控制需要顯示的數碼管,讓其位選端為高電平,其他3個數碼管位選端為低電平處于無效狀態(tài),再給這個發(fā)光的數碼管送相應的字型碼;按照相同的顯示原理,依次點亮其余的數碼管,由于人眼的視覺停留,感覺這4個數字是同時被點亮的。計算溫度子程序將RAM中讀取值進行BCD碼的轉換運算,取出個位、十位、小數點后面的1位,并進行溫度值正負的判定,通過調用數碼管顯示函數,就可以顯示相應的字符。
3.5 聲光報警控制子程序設計
聲光報警控制程序設置低溫報警和高溫報警,先讀出檢測到的溫度,再和設定閾值進行比較,當預先設定的報警溫度值中的最大值或最小值超出初始設置的閾值,轉去執(zhí)行定時器T0編寫中斷服務函數,從而控制蜂鳴器和發(fā)光二極管的狀態(tài),發(fā)揮聲光報警作用。
4測試與結果分析
本設計系統(tǒng)的硬件電路原理圖是在 Proteus仿真平臺上繪制完成,用C語言在Keil軟件中編寫控制程序,編寫程序時要注意按模塊設計,程序編寫完畢后要進行調試,直至顯示沒有錯誤并生成.hex文件。然后,用Proteus仿真平臺測試,看程序設計是否符合設計要求。單片機是整個控制系統(tǒng)的核心,為其添加.hex文件,點擊運行按鈕開始仿真,可以觀察到單片機一上電時數碼管顯示的是四個一,代表系統(tǒng)能正常工作。
單片機上電后對程序進行初始化,檢測溫度傳感器DS18B20狀態(tài),調節(jié)溫度傳感器DS18B20的數值,數碼管顯示模塊顯示對應的數值。如果調節(jié) DS18B20芯片上表示溫度變化的箭頭,DS18B20芯片上顯示的溫度與數碼管顯示的溫度相同,說明溫度測量的設計是符合要求的。
當溫度超過設置的閾值的上限或下限時,系統(tǒng)會啟動聲光報警電路,蜂鳴器會發(fā)出“唧……唧……唧”蜂鳴聲,同時LED燈會閃爍。當系統(tǒng)未成功檢測到溫度傳感器DS18B20,或出現其他異常時,數碼管所有管段全部發(fā)光以提示錯誤。
5結論
生產生活中,對糧倉、儲罐、電訊機房、電力機房等易發(fā)生火災的地方進行溫度測量十分重要。人們根據監(jiān)測到的溫度可以采取相對應的措施,起到保護人身安全和財產安全的作用。DS18B20是一個能輸出數字信號的數字溫度傳感器,具有體積小、功耗低、測量精度高、抗干擾能力強等優(yōu)勢,被廣泛應用于工業(yè)控制和自動化生產領域中。因此,本文設計了一種基于DS18B20的智能溫度測量系統(tǒng),按照設計要求搭建的仿真系統(tǒng)可以正常運行,仿真結果達到預期。本設計依托單片機最小系統(tǒng),以溫度傳感器DS18B20為溫度檢測核心,利用Proteus仿真平臺和Keil編程軟件實現了實時監(jiān)測環(huán)境溫度的功能,符合設計要求。
參考文獻:
[1] 林立,張俊亮.單片機原理及應用: 基于Proteus和Keil C [M]. 4版.北京:電子工業(yè)出版社, 2018.
[2] 周福恩 .DS18B20 溫度傳感器在溫室大棚中的應用研究[J]. 農村經濟與科技,2017,28(19):53-54.
[3] 劉如意,常馳,李剛.基于51單片機的溫度數據采集系統(tǒng)[J].電子制作,2018(21):8-10.
[4] 胡翔,劉翰諾.報警器在化工生產中的應用[J].化學工程與裝備,2015(4):190-191.
[5] 王建勛,周青云.基于DS18B20和LabVIEW的溫度監(jiān)測系統(tǒng)[J].實驗室研究與探索,2012,31(3):47-50.
[6] 張仲明,郭東偉,呂巍,等.基于DS18B20溫度傳感器的溫度測量系統(tǒng)設計[J].實驗技術與管理,2018,35(5):76-79,88.
【通聯(lián)編輯:梁書】