數(shù)字溫度計的設計
摘要:根據(jù)目前溫度傳感器的數(shù)字化和溫度表的發(fā)展現(xiàn)狀,研究和設計了一種基于51系列單片機的數(shù)字溫度計。數(shù)字溫度計控制電路的核心是基于51系列中ATMEL公司的8位單片機AT89C51。測溫傳感器采用了新型單線數(shù)字溫度傳感器DS18B20,不需要專用A/D轉換電路來實現(xiàn)溫度量由模擬量到數(shù)字量的變換,并可與單片機直接連接。同時,系統(tǒng)的顯示部分采用4住LED串行動態(tài)顯示,用74LS373的輸出信號分別作為LED的位驅動信號和段驅動信號。該數(shù)字溫度表實現(xiàn)了對溫度采集、處理、實時顯示,并可實現(xiàn)對測溫系統(tǒng)的溫度控制。
關鍵詞:溫度傳感器DS18B20;單片機AT89C51;LED;單線通信
隨著生產(chǎn)的發(fā)展和技術的進步,精度、靈敏度、穩(wěn)定度等各個參數(shù)的要求越來越高,數(shù)字式開始問世,數(shù)字式溫度傳感器輸出的是數(shù)字信號,可直接與單片機連接,具有克服模擬傳感器與微處理器接口時需要信號調理電路和A/D轉換器的弊端等優(yōu)點。該設計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。
由文獻可知,測量溫度的方式有很多,常用的溫度計多為管式溫度計,不僅讀數(shù)很不方便,還容易損壞。為此在DS18B20數(shù)字溫度傳感器技術的基礎上制作了數(shù)字溫度計,數(shù)碼管直接顯示溫度,讀數(shù)方便快易,而且電路簡單、安全可靠。
1 系統(tǒng)方案設計
1.1 溫度測量系統(tǒng)的總體設計
該溫度測量系統(tǒng)主要通過傳感器數(shù)字采集電路對周邊環(huán)境進行溫度測量及運算處理,并將處理的數(shù)據(jù)通過接口電路傳送給單片機,單片機根據(jù)用戶要求即設計人員設計開發(fā)的軟件程序對數(shù)據(jù)進行運算,儲存等,最后通過顯示電路進行顯示。整體設計框圖如圖1所示。
[!--empirenews.page--]
該系統(tǒng)的核心是集成溫度傳感器DS18B20,其核心技術就是可以直接輸出數(shù)字信號。由于溫度傳感器DS18B20是單線通信,所以軟件設計部分必須考慮它的時序問題,以便更好地讀數(shù)據(jù)和寫數(shù)據(jù)。
在DS18B20間的任何通信都需要以初始化序列開始,如圖2所示。一個復位脈沖跟著一個存在脈沖表明DS18B20已經(jīng)準備好發(fā)送和接收數(shù)據(jù)。當DS18B20處于寫存儲器操作和溫度A/D轉換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μs。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。外電源供電的好處是I/O線上不需要加強上拉,而且總線控制器不用在溫度轉換期間總保持高電平。這樣在轉換期間可以允許在單線總線上進行其他數(shù)據(jù)往來。
1.2 系統(tǒng)設計的電路圖
系統(tǒng)工作時先由使用者設定溫度值的上下限值,溫度值輸入后,這時LED顯示器顯示設定溫度,以便操作人員核對設定溫度,然后溫度檢測電路將測點的溫度輸入單片機,經(jīng)軟件濾波后作為實測溫度,此后顯示器將一直顯示實測溫度。本系統(tǒng)硬件主要包括單片機的最小系統(tǒng)、溫度采集電路、鍵盤接口、顯示電路、報警電路、驅動電路及串口通信等。數(shù)字溫度計的電路圖分為3部分:第1部分是溫度傳感器DS18 B20與單片機之間的連接,該部分只有3根線,一根接地,一根接電源,還有一根接到單片機的P3.7只讀端,該溫度傳感器是一塊集成的芯片,所以溫度處理以后直接由單片機讀取即可;第2部分是溫度的設置,選擇矩陣式鍵盤,用8個I/O控制了16個按鈕開關。由P00~P03循環(huán)輸出低電平,然后檢測P04~P07的狀態(tài),且都加上上拉電阻;第3部分就是電路的顯示部分,溫度上下限設置好了以后,傳感器將溫度值送到單片機進行處理,處理結果與設定值進行比較,然后在數(shù)碼管上顯示處理的結果。數(shù)碼管的顯示除了數(shù)字的顯示外,還有處理結果的顯示,即在進行軟件設計的時候要進行代碼處理。
文獻介紹了DS18B20可以采用2種方式供電,一種是采用寄生電源供電方式;另一種是外接電源供電方式。根據(jù)實際應用中的需要,選擇寄生電源供電方式,可在無本地電源的情況下進行遠距離測溫。文獻介紹了傳感器和單片機的接口技術,基于本文采用的溫度傳感器的單線通信,所以只需要在單片機中找一個通信口分配給它即可。綜合以上信息,參考文獻完成了上述電路圖。
[!--empirenews.page--]
2 軟件設計
進行溫度程序的設計應考慮如下幾個問題:
(1)實時采集溫度;
(2)溫度顯示:采用4位LED顯示當前溫度;
(3)按鍵處理;
(4)越限報警和處理:將采集到的溫度值與預先設置值進行比較,若當前溫度值越限,則產(chǎn)生報警信號。
軟件設計主要有:主程序、鍵盤設定子程序、LED顯示子程序、溫度讀取子程序等。初值設定子程序完成對溫度上下限的設定及數(shù)據(jù)保存;溫度讀取子程序完成對溫度傳感器數(shù)據(jù)的讀取,并通過LED顯示子程序顯示溫度值。
參考文獻分別對溫度的采集和處理進行了編程,并采取了文獻中按鍵設計的一種,在其已有的程序上進行相關處理和改進,便得到的整個設計的軟件設計部分。主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量溫度值,其程序流程圖如圖3所示。
3 結語
DS18B20集溫度測量、A/D轉換于一體,具有體積小、動態(tài)范圍寬、測量精度高、單總線結構等特點。設計簡單,控制方便,測量準確,測溫范圍寬,完全可以取代水銀溫度計和熱敏電阻測量。利用單總線具有很強的擴展性,還可以組建多點的溫度檢測網(wǎng)絡。