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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

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

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

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

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

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

DS18820的初始化程序如下。當(dāng)程序檢測(cè)到DS18820不存在的時(shí)候會(huì)設(shè)置不存在標(biāo)志,以防止系統(tǒng)鎖死。

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

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

由于不要求顯示小數(shù),所以可以舍棄溫度寄存器0(TEMPER_L)的低4位,而將溫度寄存器1(TEMPER_H)中的低4位移入TEMPER_L中的高4位,組成的新字節(jié),即實(shí)際測(cè)得的溫度。在實(shí)際應(yīng)用中,因?yàn)樯婕暗搅愣纫韵聹囟鹊娘@示,需要進(jìn)行一定的數(shù)據(jù)轉(zhuǎn)換。

在顯示子程序中,因?yàn)榘傥缓拓?fù)號(hào)“-”要區(qū)別顯示,相應(yīng)流程如圖3所示。

3.系統(tǒng)制作

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

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

4.其他

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


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

    關(guān)注

    10

    文章

    776

    瀏覽量

    80574
  • 89C2051
    +關(guān)注

    關(guān)注

    1

    文章

    27

    瀏覽量

    28844
  • 溫度顯示電路
    +關(guān)注

    關(guān)注

    1

    文章

    2

    瀏覽量

    8962
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于DS18B20的家用溫度測(cè)量器設(shè)計(jì)

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

    如何用STC89C51和DS18B20溫度檢測(cè)和顯示?

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

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

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

    設(shè)計(jì)DS18B20溫度檢測(cè)電路的資料大合集

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

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

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

    ds18b20電路

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

    DS18B20溫度顯示報(bào)警控制設(shè)計(jì)

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

    基于DS18B20和AT89C2051的家用溫度測(cè)量器設(shè)計(jì)研究

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

    DS18B20溫度測(cè)試實(shí)驗(yàn)

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

    基于STC89C52_ds18B20_DS1302的C語言程序

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

    DS18B20程序顯示溫度

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

    ds18b20的特性_ds18b20溫度傳感器應(yīng)用

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

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

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

    51單片機(jī)多路測(cè)溫報(bào)警系統(tǒng)(AT89C51、多個(gè)DS18B20、LCD1602)

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

    51單片機(jī)使用LCD1602顯示DS18B20溫度傳感器溫度

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