《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于DS18B20和AT89C2051的家用溫度測(cè)量器設(shè)計(jì)
基于DS18B20和AT89C2051的家用溫度測(cè)量器設(shè)計(jì)
摘要: 本制作采用USB口作為供電端口,用DS18B20溫度傳感器進(jìn)行溫度信息采集,用AT89C2051單片機(jī)進(jìn)行控制,采用四位共陽(yáng)數(shù)碼管顯示,從而實(shí)現(xiàn)對(duì)溫度的測(cè)量顯示。本設(shè)計(jì)可培養(yǎng)學(xué)生對(duì)單片機(jī)學(xué)習(xí)的興趣,提高其制作與編程能力。
Abstract:
Key words :

  一、設(shè)計(jì)概況

  本制作采用USB口作為供電端口,用DS18B20溫度傳感器進(jìn)行溫度信息采集,用AT89C2051單片機(jī)進(jìn)行控制,采用四位共陽(yáng)數(shù)碼管顯示,從而實(shí)現(xiàn)對(duì)溫度的測(cè)量顯示(系統(tǒng)框圖如圖1所示)。本設(shè)計(jì)可培養(yǎng)學(xué)生對(duì)單片機(jī)學(xué)習(xí)的興趣,提高其制作與編程能力。

系統(tǒng)框圖

圖1 系統(tǒng)框圖

  二、電路原理

  采用PROteUS仿真軟件進(jìn)行原理圖設(shè)計(jì)與程序仿真。電路如圖2所示。

電路圖

圖2 電路圖

  1、電源

  采用USB口供電,可將USB適配器接人電路板的USB口或直接接計(jì)算機(jī)USB口。這樣,既節(jié)省了資源,又能夠獲得較為理想的工作電壓。USB口的外形及電源口定義如圖3所示。

USB口的外形及電源口定義

圖3 USB口的外形及電源口定義

  2、溫度信號(hào)采集

  采用DS18B20(外形見(jiàn)圖4)智能型數(shù)字溫度傳感器作為溫度信號(hào)采集裝置。

DS18B20外形

圖4 DS18B20外形

  (1)DS18B20工作原理

  DS18B20的讀寫(xiě)時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)不同,且溫度轉(zhuǎn)換的延時(shí)時(shí)間由2s減為750ms。DS18B20測(cè)溫原理如圖5所示。其中,低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振的振蕩頻率隨溫度變化改變明顯,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸人。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的—個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0日寸,溫度寄存器的值將加1,計(jì)數(shù)器1將重新被裝人預(yù)置,并重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù)。如此循環(huán),直到計(jì)數(shù)器2計(jì)數(shù)到OH寸停止溫度寄存器值的累加。此時(shí),溫度寄存器中的數(shù)值即為所測(cè)溫度。圖5中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。

DS18B20測(cè)溫原理圖

圖5 DS18B20測(cè)溫原理圖

  (2)DS18B20的主要特性

  1)適應(yīng)電壓范圍3.0V~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。

  2)DS18B20與微處理器之間僅需要—條口線即可雙向通訊。

  3)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯—的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。

  4)不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在外形如一只三極管的電路內(nèi)。

  5)測(cè)溫范圍-55℃~+125℃,在-lO℃~+85℃時(shí)精度為±0.5℃。

  6)可編程的分辨率為9位~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫。

  7)在9位分辨率時(shí),最多93.75ms便可把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多750ms便可把溫度值轉(zhuǎn)換為數(shù)字。

  8)直接輸出數(shù)字溫度信號(hào),以一線總線串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。

  9)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。

  DS18B20遵循單總線協(xié)議,每次測(cè)溫時(shí)必須有初始化、傳送ROM命令、傳送RAM命令、數(shù)據(jù)交換等4個(gè)過(guò)程。

  3、AT89C2051單片機(jī)

  采用AT89C2051單片機(jī)作為主控元件(參見(jiàn)圖2)。

  4、數(shù)碼管顯示

  采用四位共陽(yáng)數(shù)碼管進(jìn)行動(dòng)態(tài)顯示,溫度顯示保留到小數(shù)點(diǎn)后一位。編程時(shí),利用P3.2~P3.5作為數(shù)碼管動(dòng)態(tài)顯示的位選端,Pl.0~Pl.7作為數(shù)碼管動(dòng)態(tài)顯示的段選位。當(dāng)P3.2輸出高電平時(shí)選中“1”號(hào)數(shù)碼管,P3.3輸出高電平時(shí)選中“2”號(hào)數(shù)碼管,以此類推。在電路中,P3.2~P3.5外接4只NPN三極管作為驅(qū)動(dòng)。Pl.0~Pl.7外接8只電阻限流。

  三、參考程序

  本設(shè)計(jì)采用單片機(jī)C語(yǔ)言進(jìn)行編程,限于篇幅,其參考程序此處不一一列出。

  四、制作與調(diào)試

  本設(shè)計(jì)調(diào)試較為簡(jiǎn)單,只要安裝、焊接正確,程序編寫(xiě)準(zhǔn)確完整,一般較為容易實(shí)現(xiàn)功能。

  調(diào)試好的實(shí)物如圖6所示。

實(shí)物圖

圖6 實(shí)物圖

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。