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