<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 淺析基于DS18B20與AT89C2051的溫度測量器設計方案

淺析基于DS18B20與AT89C2051的溫度測量器設計方案

作者: 時(shí)間:2012-10-17 來(lái)源:網(wǎng)絡(luò ) 收藏

一、設計概況

本文引用地址:http://dyxdggzs.com/article/193061.htm

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

系統框圖

圖1 系統框圖

二、電路原理

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

22.jpg

圖2 電路圖

1、電源

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

USB口的外形及電源口定義

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

2、溫度信號采集

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

44.jpg

圖4 外形

(1)DS18B20工作原理

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

55.jpg

圖5 DS18B20測溫原理圖

(2)DS18B20的主要特性

1)適應電壓范圍3.0V~5.5V,在寄生電源方式下可由數據線(xiàn)供電。

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

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

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

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

6)可編程的分辨率為9位~12位,對應的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現高精度測溫。

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

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

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

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

3、單片機

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

4、數碼管顯示

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

三、參考程序

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

四、制作與調試

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

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

圖6 實(shí)物圖

圖6 實(shí)物圖



關(guān)鍵詞: DS18B20 AT89C2051 溫度測量器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>