0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于DS18B20和89C2051組成的溫度顯示電路

溫控電路圖 ? 來源:ttokpm.com ? 作者:發(fā)燒友 ? 2011-01-23 10:47 ? 次閱讀

由單總線數(shù)字溫度傳感器DS18B20和89C2051組成的經(jīng)濟型家庭用測溫系統(tǒng)。其溫度顯示為“-XXC”,精度±0.5℃,測溫范圍-55℃~+125℃。下面詳細分析系統(tǒng)構(gòu)成及匯編語言對DS18B20操作時序的實現(xiàn)方法。圖1為本系統(tǒng)電路圖,圖中DSP為四只數(shù)碼LED顯示器的簡化。

1.DS18B20的初始化與讀寫程序

DS18B20是“一總線”接口溫度傳感器,測溫范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi)精度為±0.5℃。DS18B20可以程序設定9~12位的分辨率,在出廠時被設置為12位的分辨率。通過和單片機系統(tǒng)的結(jié)合,可以構(gòu)建經(jīng)濟的測溫系統(tǒng)。DS18B20的管腳排列如圖2所示,DQ為數(shù)字信號輸入,輸出端,與單片機系統(tǒng)接口時可通過5.1kΩ電阻上拉;GND為電源地;VDD為外接供電電源輸入端。

DS18B20內(nèi)含64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器等??刹扇≈苯幼x取DS18B20內(nèi)部暫存寄存器的方法,通過四舍五入顯示其整數(shù)溫度值。DS18B20內(nèi)部暫存寄存器包含九個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié)。以12位轉(zhuǎn)化為例:溫度信息用16位符號擴展的二進制補碼形式提供,以0.0625℃/LSB形式表達,其中S為符號位,對應的換算關系參見附表。

由于DS18B20與微處理器間采用單總線數(shù)據(jù)傳送,因此,在對DS18B20進行讀寫編程時,必須嚴格遵守讀寫時序,否則將無法讀取測量結(jié)果。

DS18820的初始化程序如下。當程序檢測到DS18820不存在的時候會設置不存在標志,以防止系統(tǒng)鎖死。

INIT_1820:SETBDS18B20;DS18B20數(shù)據(jù)線設置為P3.4NOPCLRDS18B20;resetDSMOVR0,#250;發(fā)延時500μs的復位低脈沖DJNZR0,SSETBDS18B20:拉高數(shù)據(jù)線MOVR0,#10;等待20μsDJNZR0,SMOVR0,#37TSR2:JNBDS18B20,TSR3;在150μs內(nèi)等待DS18B20回應DJNZR0,TSR2;延時LJMPTSR4TSR3:SETBFLAG1;置標志位,DS1820存在LJMPTSR5TSR4:CLRFLAG1;清標志位,DS1820不存在AJMPTSR7TSR5:MOVR0,#118DJNZR0,S;時序要求延時240μsTSR7:SETBDS18B20RETDS18B20的讀寫程序(略)。

2.數(shù)據(jù)轉(zhuǎn)換與顯示程序設計

由于不要求顯示小數(shù),所以可以舍棄溫度寄存器0(TEMPER_L)的低4位,而將溫度寄存器1(TEMPER_H)中的低4位移入TEMPER_L中的高4位,組成的新字節(jié),即實際測得的溫度。在實際應用中,因為涉及到零度以下溫度的顯示,需要進行一定的數(shù)據(jù)轉(zhuǎn)換。

在顯示子程序中,因為百位和負號“-”要區(qū)別顯示,相應流程如圖3所示。

3.系統(tǒng)制作

本系統(tǒng)四位一體的0.5英寸七段顯示器是共陽型的。其管腳排列見圖4。AT89C2051的P1.0和P1.1口是模擬比較器的輸入端,內(nèi)部無上拉電阻,所以在外部接10kΩ,上拉電阻后,接入CD4069作驅(qū)動,每段電流被限制在1mA左右,每段顯示時間為1ms,溫度刷新周期為1分鐘;晶振選擇12MHz的,每條指令周期正好為1μs的倍數(shù)。裝飾面板選用家裝剩下的“正泰CHNT”86型單鍵按鈕面板,將按鈕拆除,正好成顯示窗口。系統(tǒng)采用+5V直流電源。本人正好有現(xiàn)成的三基DC5V微型開關電源,將其嵌入在86開關框中,元件布局及面板效果參見圖5、圖6。

圖5左上端的引出線為外接DS18B20導線,以便于進行高低溫調(diào)試試驗,調(diào)試結(jié)束后可以直接焊接在申,路板上。焊接完成后,不需要進行調(diào)試就能直接顯示溫度數(shù)據(jù)。

4.其他

在不改動系統(tǒng)硬件的基礎上,通過計算方法的調(diào)整,DS18B20的測溫分辨率可以提高到±0.1℃以上,由四位LED顯示成“×××?!痢备袷?。在本系統(tǒng)中,AT89C2051的P3.5、P3.7口未使用,可以調(diào)整程序增加控制繼電器或門鈴等應用。本人利用P3.5在調(diào)試時驅(qū)動一個LED發(fā)光管。實際可改作它用。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • DS18B20
    +關注

    關注

    10

    文章

    777

    瀏覽量

    80638
  • 89C2051
    +關注

    關注

    1

    文章

    27

    瀏覽量

    28850
  • 溫度顯示電路

    關注

    1

    文章

    2

    瀏覽量

    8963
收藏 人收藏

    評論

    相關推薦

    基于DS18B20的家用溫度測量器設計

    本制作采用USB口作為供電端口,用DS18B20溫度傳感器進行溫度信息采集,用AT89C2051單片機進行控制,采用四位共陽數(shù)碼管顯示,從而
    發(fā)表于 10-03 13:10 ?2636次閱讀

    如何用STC89C51和DS18B20溫度檢測和顯示?

    新手學習求教我用STC89C51和4位數(shù)碼管和DS18B20怎么做溫度檢測和顯示,求硬件電路圖,和實例。
    發(fā)表于 09-29 02:27

    基于AT89S51單片機和數(shù)字溫度傳感器DS18B20組成的多路溫度檢測系統(tǒng)

    提出了基于AT89S51單片機和數(shù)字溫度傳感器DS18B20組成的多路溫度檢測系統(tǒng),介紹了主要元器件的工作原理,詳細給出了硬件設計過程和軟件
    發(fā)表于 04-28 07:36

    設計DS18B20溫度檢測電路的資料大合集

    相應的輸入?yún)?shù);可通過按鍵改變溫度設定值。二、實驗內(nèi)容首先利用溫度傳感器DS18B20檢測環(huán)境溫度并直接輸出數(shù)字溫度信號給單片機AT
    發(fā)表于 11-30 06:47

    新型溫度傳感器DS18B20高精度測溫的實現(xiàn)

    介紹了一種數(shù)字式的溫度傳感器DS18B20, 提出了一種基于89C2051 的測溫電路及軟件框圖在內(nèi)的實現(xiàn)方法。關鍵詞 數(shù)字式溫度傳感器 
    發(fā)表于 07-03 10:14 ?62次下載

    ds18b20電路

    ds18b20電路圖,C語言源程序,ds18b20溫度計.PRJPCB,DS18B20
    發(fā)表于 03-03 10:47 ?624次下載
    <b class='flag-5'>ds18b20</b><b class='flag-5'>電路</b>圖

    DS18B20溫度顯示報警控制設計

    本文設計了一種基于AT89C51 單片機與DS18B20溫度控制系統(tǒng)。該設計通過AT89S52 單片機驅(qū)動數(shù)字溫度傳感器
    發(fā)表于 12-17 00:24 ?696次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>顯示</b>報警控制設計

    基于DS18B20和AT89C2051的家用溫度測量器設計研究

    本制作采用USB口作為供電端口,用DS18B20溫度傳感器進行溫度信息采集,用AT89C2051單片機進行控制,采用四位共陽數(shù)碼管顯示,從而
    發(fā)表于 04-24 10:14 ?1733次閱讀
    基于<b class='flag-5'>DS18B20</b>和AT<b class='flag-5'>89C2051</b>的家用<b class='flag-5'>溫度</b>測量器設計研究

    DS18B20溫度測試實驗

    基于單片機STC89C52的DS18B20數(shù)字溫度計,測量實時溫度。
    發(fā)表于 12-31 14:36 ?10次下載

    基于STC89C52_ds18B20_DS1302的C語言程序

    溫度計時,基于STC89C52 ds18B20 DS1302的C語言程序
    發(fā)表于 06-21 16:27 ?39次下載

    DS18B20程序顯示溫度

    電子專業(yè)單片機相關知識學習教材資料——DS18B20程序顯示溫度
    發(fā)表于 08-23 15:55 ?43次下載

    ds18b20的特性_ds18b20溫度傳感器應用

    本文首先介紹了ds18b20的特性,其次介紹了DS18B20工作原理,最后介紹了ds18b20溫度傳感器應用。
    發(fā)表于 04-24 09:10 ?1.1w次閱讀
    <b class='flag-5'>ds18b20</b>的特性_<b class='flag-5'>ds18b20</b><b class='flag-5'>溫度</b>傳感器應用

    單片機測溫系統(tǒng)(AT89C51、DS18B20溫度傳感器、LCD1602)

    單片機測溫系統(tǒng)一、簡介此系統(tǒng)主要由AT89C51、DS18B20溫度模塊和LCD1602組成。大致的原理是DS18B20
    發(fā)表于 11-20 14:36 ?25次下載
    單片機測溫系統(tǒng)(AT<b class='flag-5'>89C</b>51、<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器、LCD1602)

    51單片機多路測溫報警系統(tǒng)(AT89C51、多個DS18B20、LCD1602)

    51單片機多路測溫報警系統(tǒng)(AT89C51、多個DS18B20、LCD1602)一、簡介** 此系統(tǒng)主要由AT89C51、多個DS18B20溫度
    發(fā)表于 11-21 11:06 ?19次下載
    51單片機多路測溫報警系統(tǒng)(AT<b class='flag-5'>89C</b>51、多個<b class='flag-5'>DS18B20</b>、LCD1602)

    51單片機使用LCD1602顯示DS18B20溫度傳感器溫度

    的可以留言,看到回復)需要的元件:??AT89C51、LCD1602、DS18B20。電路原理圖:主函數(shù)代碼:#include <reg52.h>#include<DS18
    發(fā)表于 11-23 17:21 ?66次下載
    51單片機使用LCD1602<b class='flag-5'>顯示</b><b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器<b class='flag-5'>溫度</b>