王云飛
【摘要】該設(shè)計介紹了DS18B20型數(shù)字溫度傳感器內(nèi)部結(jié)構(gòu)及工作時序,并提出了以 DS18B20和 AT89C51為核心設(shè)計的數(shù)字溫度計設(shè)計方案。實踐證明,該數(shù)字式溫度計的測溫范圍為-50~+110℃,精度誤差在 0.1℃以內(nèi),具有測溫精度高,控制性能良好等特點。設(shè)計還介紹了一種基于51單片機和DS18B20數(shù)字溫度傳感器來進行溫度測量的方法,包括溫度傳感器芯片的選取、單片機與溫度傳感器接口電路的設(shè)計,以及實現(xiàn)溫度信息采集和數(shù)據(jù)傳輸?shù)能浖O(shè)計。該溫度計完全適用于一般的應(yīng)用場合,也可在高低溫報警、遠距離多點測溫控制等方面進行應(yīng)用。
【關(guān)鍵詞】 數(shù)字溫度計;單片機;溫度傳感器
引言
在傳統(tǒng)的溫度測量系統(tǒng)中,一般采用熱電偶或鉑電阻進行溫度測量。在這些電路中,有這樣一些問題必須解決:為了進行準確的溫度測量,必須給鉑電阻提供一個良好的恒流源;由于熱電偶出來的信號是模擬信號,所以此信號在送給CPU之前必須先進行A/D轉(zhuǎn)換,然后再送給CPU進行處理;并且熱電偶的信號很微弱,只有十幾個mA,因此在A/D轉(zhuǎn)換之前通常還需要進行增益放大。因此,采用熱電偶和鉑電阻進行溫度測量,需要考慮很多問題,構(gòu)成的系統(tǒng)也比較復(fù)雜。
DALLAS公司推出的數(shù)字式溫度傳感器DS 18B20很好地解決了這樣一些問題,DS18B20采用一線接口,只需占用單片機的一個I/O口位,其外圍電路也非常簡單;并且DS18B20將測得的溫度信號轉(zhuǎn)換為數(shù)字量輸出,可以與單片機直接相連,而不需進行信號放大和A/D轉(zhuǎn)換,大大簡化了電路的設(shè)計,因此系統(tǒng)采用了DS18B20作為溫度傳感器進行溫度采集。
1.概述
1.1 設(shè)計的目的及意義
單片機實現(xiàn)的電子溫度計的畢業(yè)設(shè)計是在學(xué)習(xí)單片機,c語言,PROTEUS軟件等基礎(chǔ)上,綜合應(yīng)用所學(xué)的理論知識完成。
設(shè)計目的:整個系統(tǒng)以單片機AT89C51為核心,結(jié)合數(shù)字溫度傳感器DS18B20,數(shù)碼管顯示等,實現(xiàn)溫度的示數(shù)。
單片機應(yīng)用系統(tǒng)具有體積小、功耗低、功能強、性能價格比高、易于開發(fā)和推廣等優(yōu)點,在自動化控制、儀器儀表和家用電器等領(lǐng)域中得到了廣泛的應(yīng)用。單片機應(yīng)用系統(tǒng)設(shè)計主要包含以下兩方面內(nèi)容:
(1)深入研究單片機的芯片功能,掌握與其相關(guān)的接口電路,熟練掌握與其相關(guān)的軟件語言和設(shè)計方法,學(xué)習(xí)和了解現(xiàn)有系統(tǒng)的設(shè)計原理和方法。
(2)學(xué)習(xí)和掌握傳感器技術(shù),掌握電子技術(shù)的一般設(shè)計原理和方法。
1.2 單片機簡介
微型計算機可分為普通微型計算機和單片微型計算機,前一種指我們通常所用的PC機,后者正是這次設(shè)計所使用的,簡稱單片機。
2.方案論證
方案一:熱電偶的實現(xiàn)辦法,需要比較多的外部硬件支持,電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。實現(xiàn)上需要溫度的補償,在滿足精度時有一定的難度。
方案二:智能傳感器DS18B20作為檢測元件,測溫范圍-55℃~125℃,分辨率最大可
達0.0625℃。DS18B20可以直接讀出被測溫度值。而且采用3線制與單片機相連,減少了外部硬件電路,具有低成本和易使用的特點。LED數(shù)碼管作為顯示器件,通過89C51構(gòu)建最小系統(tǒng)。
綜上所述,權(quán)衡各方面的利弊,我采用方案二。
3.系統(tǒng)元件選擇
3.1 主控制器選擇
AT89C51
3.2 溫度傳感器DS18B20
3.2.1 DS18B20的特性
(1)適應(yīng)電壓范圍更寬,電壓范圍:3.0~ 5.5V,寄生電源方式下可由數(shù)據(jù)線供。
(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。
(3)溫范圍-55℃~+125℃,在-10~ +85℃時精度為±0.5℃。
(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。
(5)在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。
(6)可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。
3.2.2 DS18B20的外形和內(nèi)部結(jié)構(gòu)
DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列:
引腳定義:
(1)DQ為數(shù)字信號輸入/輸出端;
(2)GND為電源地;
(3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。
3.2.3 DS18B20與單片機的接口電路
確保DS18B20在其變換期得到足夠的電源電流,在I/O線上提供一強的上拉。
而此處采用外部電源供電方式,即在DQ與單片機接口處必須填加上拉電阻,該電阻一般為4.7K。
4.系統(tǒng)硬件設(shè)計
該系統(tǒng)是以AT89C51芯片為核心,通過檢測DS18B20的工作與否,然后將其內(nèi)部的數(shù)字量溫度讀到單片機,通過相應(yīng)的數(shù)碼管顯示,當(dāng)溫度超出設(shè)定的溫度時用蜂鳴器報警。其外圍電路包括復(fù)位電路、晶振電路。
5.系統(tǒng)軟件部分的設(shè)計
軟件部分主要有三部分構(gòu)成:
(1)溫度的采集;
(2)溫度數(shù)據(jù)的處理;
(3)數(shù)值的顯示。
溫度的采集:
時序及協(xié)議:該部分設(shè)計時主要考慮DS-l8B20工作過程及時序。
DSl8B20工作過程中的協(xié)議如下:
初始化ROM操作命令存儲器操作命令處理數(shù)據(jù)。
(1)初始化
單總線上的所有處理均從初始化開始。
(2)ROM操作品令
總線主機檢測到DSl820的存在便可以發(fā)出ROM操作命令之一。
(3)存儲器操作命令
指令 代碼
Write Scratchpad(寫暫存存儲器) [4EH]
Read Scratchpad(讀暫存存儲器) [BEH]
Copy Scratchpad(復(fù)制暫存存儲器) [48H]
Convert Temperature(溫度變換) [44H]
Recall EPROM(重新調(diào)出) [B8H]
Read Power supply(讀電源) [B4H]
參考文獻
[1]馬忠梅等.單片機的C語言應(yīng)用程序設(shè)計(第三版)[M].北京航空航天大學(xué)出版社,2004.
[2]先鋒工作室.單片機程序設(shè)計實例[M].清華大學(xué)出版社,2003.
[3]萬光毅等.單片機實驗與實踐教程[M].北京航空航天大學(xué)出版社,2004.
[4]李葉紫等.MCS-51單片機應(yīng)用教程[M].清華大學(xué)出版社,2004.
[5]潘永雄著.新編單片機原理與應(yīng)用[M].西安電子科技大學(xué)出版社,2005.
[6]汪德彪著.MCS-51單片機原理及接口技術(shù)[M].電子工業(yè)出版社,2003.
[7]汪建校,楊建國等.51系列單片機及C51程序設(shè)計[M].科學(xué)出版社,2002.