數字溫度計

2022-12-26 04:51:02 字數 4676 閱讀 4738

數字溫度計(0℃~100℃)

目錄1.摘要

2.方案設計與論證

2.1數字溫度計設計方論證

2.2方案二的總體設計框圖

2.3 ds18b20溫度感測器與微控制器的介面電路

2.4 系統整體硬體電路

3.系統軟體演算法分析

3.1主程式

3.2讀出溫度子程式

3.3溫度轉換命令子程式

3.4 計算溫度子程式

3.5 顯示資料重新整理子程式

4.總結與體會

5.參考文獻

6.附錄

數字溫度計(0℃~100℃)

隨著時代的進步和發展,微控制器技術已經普及到我們生活,工作,科研,各個領域,已經成為一種比較成熟的技術,本文將介紹一種基於微控制器控制的數字溫度計,本溫度計屬於多功能溫度計,可以設定上下報警溫度,當溫度不在設定範圍內時,可以報警。

關鍵詞:微控制器,數字控制,溫度計, ds18b20,at89s51

2 .總體設計方案

2.1數字溫度計設計方案論證

2.1.1方案一

由於本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流採集過來,進行a/d轉換後,就可以用微控制器進行資料的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到a/d轉換電路,感溫電路比較麻煩。

2.1.2 方案二

進而考慮到用溫度感測器,在微控制器電路設計中,大多都是使用感測器,所以這是非常容易想到的,所以可以採用乙隻溫度感測器ds18b20,此感測器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足設計要求。

從以上兩種方案,很容易看出,採用方案二,電路比較簡單,軟體設計也比較簡單,故採用了方案二。

2.2方案二的總體設計框圖

溫度計電路設計總體設計方框圖如圖1所示,控制器採用微控制器at89s51,溫度感測器採用ds18b20,用3位led數碼管以串列埠傳送資料實現溫度顯示。

圖1 總體設計方框圖

2.2.1 主控制器

微控制器at89s51具有低電壓供電和體積小等特點,四個埠只需要兩個口就能滿足電路系統的設計需要,很適合便攜手持式產品的設計使用系統可用二節電池供電。

2.2.2 顯示電路

顯示電路採用3位共陽led數碼管,從p3口rxd,txd串列埠輸出段碼。

2.2.3溫度感測器

ds18b20溫度感測器是美國dallas半導體公司推出的一種改進型智慧型溫度感測器,與傳統的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,並且可根據實際要求通過簡單的程式設計實現9~12位的數字值讀數方式。ds18b20的效能特點如下:

●獨特的單線介面僅需要乙個埠引腳進行通訊;

●多個ds18b20可以併聯在惟一的三線上,實現多點組網功能;

●無須外部器件;

●可通過資料線供電,電壓範圍為3.0~5.5v;

●零待機功耗;

●溫度以9或12位數字;

●使用者可定義報警設定;

●報警搜尋命令識別並標誌超過程式限定溫度(溫度報警條件)的器件;

●負電壓特性,電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工作;

ds18b20採用3腳pr-35封裝或8腳soic封裝,其內部結構框圖如圖2所示。

圖2 ds18b20內部結構

64位rom的結構開始8位是產品型別的編號,接著是每個器件的惟一的序號,共有48位,最後8位是前面56位的crc檢驗碼,這也是多個ds18b20可以採用一線進行通訊的原因。溫度報警觸發器th和tl,可通過軟體寫入戶報警上下限。

ds18b20溫度感測器的內部儲存器還包括乙個高速暫存ram和乙個非易失性的可電擦除的eeram。高速暫存ram的結構為8位元組的儲存器,結構如圖3所示。頭2個位元組包含測得的溫度資訊,第3和第4位元組th和tl的拷貝,是易失的,每次上電復位時被重新整理。

第5個位元組,為配置暫存器,它的內容用於確定溫度值的數字轉換解析度。ds18b20工作時暫存器中的解析度轉換為相應精度的溫度數值。該位元組各位的定義如圖3所示。

低5位一直為1,tm是工作模式位,用於設定ds18b20在工作模式還是在測試模式,ds18b20出廠時該位被設定為0,使用者要去改動,r1和r0決定溫度轉換的精度位數,來設定解析度。

圖3 ds18b20位元組定義

由表1可見,ds18b20溫度轉換的時間比較長,而且解析度越高,所需要的溫度資料轉換時間越長。因此,在實際應用中要將解析度和轉換時間權衡考慮。

高速暫存ram的第6、7、8位元組保留未用,表現為全邏輯1。第9位元組讀出前面所有8位元組的crc碼,可用來檢驗資料,從而保證通訊資料的正確性。

當ds18b20接收到溫度轉換命令後,開始啟動轉換。轉換完成後的溫度值就以16位帶符號擴充套件的二進位制補碼形式儲存在高速暫存儲存器的第1、2位元組。微控制器可以通過單線介面讀出該資料,讀資料時低位在先,高位在後,資料格式以0.

0625℃/lsb形式表示。

當符號位s=0時,表示測得的溫度值為正值,可以直接將二進位制位轉換為十進位制;當符號位s=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進位制數值。表2是一部分溫度值對應的二進位制溫度資料。

表1 ds18b20溫度轉換時間表

ds18b20完成溫度轉換後,就把測得的溫度值與ram中的th、tl位元組內容作比較。若t>th或t<tl,則將該器件內的報警標誌位置位,並對主機發出的報警搜尋命令作出響應。因此,可用多隻ds18b20同時測量溫度並進行報警搜尋。

在64位rom的最高有效位元組中儲存有迴圈冗餘檢驗碼(crc)。主機rom的前56位來計算crc值,並和存入ds18b20的crc值作比較,以判斷主機收到的rom資料是否正確。

ds18b20的測溫原理是這樣的,器件中低溫度係數晶振的振盪頻率受溫度的影響很小,用於產生固定頻率的脈衝訊號送給減法計數器1;高溫度係數晶振隨溫度變化其振盪頻率明顯改變,所產生的訊號作為減法計數器2的脈衝輸入。器件中還有乙個計數門,當計數門開啟時,ds18b20就對低溫度係數振盪器產生的時鐘脈衝進行計數進而完成溫度測量。計數門的開啟時間由高溫度係數振盪器來決定,每次測量前,首先將-55℃所對應的乙個基數分別置入減法計數器1、溫度暫存器中,計數器1和溫度暫存器被預置在-55℃所對應的乙個基數值。

減法計數器1對低溫度係數晶振產生的脈衝訊號進行減法計數,當減法計數器1的預置值減到0時,溫度暫存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度係數晶振產生的脈衝訊號進行計數,如此迴圈直到減法計數器計數到0時,停止溫度暫存器的累加,此時溫度暫存器中的數值就是所測溫度值。其輸出用於修正減法計數器的預置值,只要計數器門仍未關閉就重複上述過程,直到溫度暫存器值大致被測溫度值。

表2 一部分溫度對應值表

另外,由於ds18b20單線通訊功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統對ds18b20的各種操作按協議進行。操作協議為:

初使化ds18b20(發復位脈衝)→發rom功能命令→發儲存器操作命令→處理資料。

圖4 ds18b20與微控制器的介面電路

2.3 ds18b20溫度感測器與微控制器的介面電路

ds18b20可以採用兩種方式供電,一種是採用電源供電方式,此時ds18b20的1腳接地,2腳作為訊號線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示微控制器埠接單線匯流排,為保證在有效的ds18b20時鐘週期內提供足夠的電流,可用乙個mosfet管來完成對匯流排的上拉。

當ds18b20處於寫儲存器操作和溫度a/d轉換操作時,匯流排上必須有強的上拉,上拉開啟時間最大為10us。採用寄生電源供電方式時vdd端接地。由於單線制只有一根線,因此傳送介面必須是三態的。

2.4 系統整體硬體電路

2.4.1 主機板電路

系統整體硬體電路包括,感測器資料採集電路,溫度顯示電路,上下限報警調整電路,微控制器主機板電路等,如圖5 所示。

圖5中有三個獨立式按鍵可以分別調整溫度計的上下限報警設定,圖中蜂鳴器可以在被測溫度不在上下限範圍內時,發出報警鳴叫聲音,同時led數碼管將沒有被測溫度值顯示,這時可以調整報警上下限,從而測出被測的溫度值。

圖5 中的按健復位電路是上電復位加手動復位,使用比較方便,在程式跑飛時,可以手動復位,這樣就不用在重起微控制器電源,就可以實現復位。

2.4.2 顯示電路

顯示電路是使用的串列埠顯示,這種顯示最大的優點就是使用口資源比較少,只用p3口的rxd,和txd,串列埠的傳送和接收,四隻數碼管採用74ls164右移暫存器驅動,顯示比較清晰。

圖5 微控制器主機板電路

圖6 溫度顯示電路

3系統軟體演算法分析

系統程式主要包括主程式,讀出溫度子程式,溫度轉換命令子程式,計算溫度子程式,顯示資料重新整理子程式等。

3.1主程式

主程式的主要功能是負責溫度的實時顯示、讀出並處理ds18b20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程式流程見圖7所示。

圖7 主程式流程圖圖8讀溫度流程圖

3.2讀出溫度子程式

讀出溫度子程式的主要功能是讀出ram中的9位元組,在讀出時需進行crc校驗,校驗有錯時不進行溫度資料的改寫。其程式流程圖如圖8示

圖9 溫度轉換流程圖

3.3溫度轉換命令子程式

溫度轉換命令子程式主要是發溫度轉換開始命令,當採用12位解析度時轉換時間約為750ms,在本程式設計中採用1s顯示程式延時法等待轉換的完成。溫度轉換命令子程式流程圖如上圖,圖9所示

3.4 計算溫度子程式

計算溫度子程式將ram中讀取值進行bcd碼的轉換運算,並進行溫度值正負的判定,其程式流程圖如圖10所示。

圖10 計算溫度流程圖圖11 顯示資料重新整理流程圖

3.5 顯示資料重新整理子程式

顯示資料重新整理子程式主要是對顯示緩衝器中的顯示資料進行重新整理操作,當最高顯示位為0時將符號顯示位移入下一位。程式流程圖如圖11。

數字溫度計報告

課程設計 設計題目 溫度報警系統的設計與製作 專業班級 應用電子技術2009級 1 班 學號 200930210133 姓名馮立業 指導教師 李玉平王海華 設計時間 2011 6 13 2011 6 24 設計地點k2 微控制器實驗室 課程設計任務書 1 第一章 緒論 2 1.1 課題名稱 2 1....

數字溫度計課程設計

課程設計 題目名稱數字溫度計 課程名稱電子技術課程設計 學生姓名 學號系 專業 指導教師 2011年 12 月 16 日 摘要溫度計是工農業生產及科學研究中最常用的測量儀表。使用溫度測量儀,首先經過ad590整合溫度感測器的作用,使外界溫度轉換為電流用表示。因為上述為絕對溫度k和電流之間的轉換關係,...

微控制器報告 數字溫度計

微控制器原理與應用 課程考試製作報告 作品名稱 數字溫度計 專業班級 學號姓名 目錄一 作品 功能 說明 二 硬體設計 三 軟體設計 四 例項測試 五 經驗總結 主要內容 一 功能說明 使用單線數字溫度感測器ds18b20,把溫度訊號直接轉換成數碼訊號輸入微控制器,經微控制器處理後,將實時溫度顯示在...