<strong id="mpcyj"><dl id="mpcyj"></dl></strong>
<optgroup id="mpcyj"></optgroup>
  • <del id="mpcyj"></del>
        首頁 公司簡介 產(chǎn)品目錄 公司新聞 技術文章 資料下載 聯(lián)系我們
        產(chǎn)品目錄
        • 溫濕度變送器
        • 溫度傳感器
        • 溫度變送器
        • 一體化溫度變送器
        • 智能隔離變送器
        • 壓力傳感器
        • 壓力變送器
        • 液位傳感器
        • 液位變送器
        • 液位計
        • 自控儀表
        聯(lián)系我們
        聯(lián)系人:張先生
        聯(lián)系電話:010-62230011
        傳真:010-62230033
        地址:北京西直門北大街32號楓藍國際A座1711
        Email:
        郵編:100082
        公司網(wǎng)址:http://www.bjsailing.com.cn/
        技術文章
        首頁 >>> 技術文章

        數(shù)字溫度傳感器DS18B20的原理與應用

        數(shù)字溫度傳感器DS18B20的原理與應用

        1引言
                DS18B20
        是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出;其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點使DS18B20非常適用于遠距離多點溫度檢測系統(tǒng)。
        2DS18B20
        的內(nèi)部結(jié)構
                DS18B20
        內(nèi)部結(jié)構如圖1所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖2所示,DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地,見圖4)。
                ROM
        中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM的排的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。



        圖1DS18B20的內(nèi)部結(jié)構



        圖2DS18B20的管腳排列



        (a)初始化時序



        (b)寫時序



        (c)讀時序
        圖3DS18B20的工作時序圖
        DS18B20
        中的溫度傳感器完成對溫度的測量,用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625℃/LSB形式表達,其中S為符號位。例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。

        23
        22
        21
        20
        2
        -1
        2
        -2
        2
        -3
        2
        -4


        溫度值低字節(jié)
        MSBLSB

        S
        S
        S
        S
        S
        22
        25
        24


        溫度值高字節(jié)
                
        高低溫報警觸發(fā)器TH和TL、配置寄存器均由一個字節(jié)的EEPROM組成,使用一個存儲器功能命令可對TH、TL或配置寄存器寫入。其中配置寄存器的格式如下:

        0
        R1
        R0
        1
        1
        1
        1
        1


        MSBLSB

                R1
        、R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=“00”,9位精度,*大轉(zhuǎn)換時間為93.75ms;R1R0=“01”,10位精度,*大轉(zhuǎn)換時間為187.5ms;R1R0=“10”,11位精度,*大轉(zhuǎn)換時間為375ms;R1R0=“11”,12位精度,*大轉(zhuǎn)換時間為750ms;未編程時默認為12位精度。
          高速暫存器是一個9字節(jié)的存儲器。開始兩個字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時拷貝,每一次上電復位時被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的CRC碼,可用來保證通信正確。
        3DS18B20
        的工作時序
          DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序,如圖3(a)(b)(c)所示。
        4DS18B20
        與單片機的典型接口設計
            
        圖4以MCS-51系列單片機為例,畫出了DS18B20與微處理器的典型連接。圖4(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖4(b)中DS18B20采用外接電源方式,其VDD端用3V~5.5V電源供電。
            
        假設單片機系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時序、寫時序和讀時序,分別編寫了3個子程序:INIT為初始化子程序,WRITE為寫(命令或數(shù)據(jù))子程序,READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由*低位開始。
            DATEQUP1.0
            ……
            INIT:CLREA
            INI10:SETBDAT
            MOVR2,
        #200



        a
        )寄生電源工作方式
        (b)外接電源工作方式
        圖4DS18B20與微處理器的典型連接圖

        INI11:CLRDAT
        DJNZR2,INI11
        ;主機發(fā)復位脈沖持續(xù)3μs×200=600μs
        SETBDAT
        ;主機釋放總線,口線改為輸入
        MOVR2,
        #30
        I
        N12:DJNZR2,INI12;DS18B20等待2μs×30=60μs
        CLRC
        ORLC,DAT
        ;DS18B20數(shù)據(jù)線變低(存在脈沖)嗎?
        JCINI10
        ;DS18B20未準備好,重新初始化
        MOVR6,
        #80
        INI13:ORLC,DAT
        JCINI14
        ;DS18B20數(shù)據(jù)線變高,初始化成功
        DJNZR6,INI13
        ;數(shù)據(jù)線低電平可持續(xù)3μs×80=240μs
        SJMPINI10
        ;初始化失敗,重來
        INI14:MOVR2,
        #240
        I
        N15:DJNZR2,INI15;DS18B20應答*少2μs×240=480μs
        RET
        ;------------------------
        WRITE:CLREA
        MOVR3,
        #8;循環(huán)8次,寫一個字節(jié)
        WR11:SETBDAT
        MOVR4,
        #8
        RRCA
        ;寫入位從A中移到CY
        CLRDAT
        WR12:DJNZR4,WR12
        ;等待16μs
        MOVDAT,C
        ;命令字按位依次送給DS18B20
        MOVR4,
        #20
        WR13:DJNZR4,WR13
        ;保證寫過程持續(xù)60μs
        DJNZR3,WR11
        ;未送完一個字節(jié)繼續(xù)
        SETBDAT
        RET
        ;------------------------
        READ:CLREA
        MOVR6,
        #8;循環(huán)8次,讀一個字節(jié)
        RD11:CLRDAT
        MOVR4,
        #4
        NOP
        ;低電平持續(xù)2μs
        SETBDAT
        ;口線設為輸入
        RD12:DJNZR4,RD12
        ;等待8μs
        MOVC,DAT
        ;主機按位依次讀入DS18B20的數(shù)據(jù)
        RRCA
        ;讀取的數(shù)據(jù)移入A
        MOVR5,
        #30
        RD13:DJNZR5,RD13
        ;保證讀過程持續(xù)60μs
        DJNZR6,RD11
        ;讀完一個字節(jié)的數(shù)據(jù),存入A中
        SETBDAT
        RET
        ;------------------------
                
        主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動DS18B20開始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。假設一線僅掛接一個芯片,使用默認的12位轉(zhuǎn)換精度,外接供電電源,可寫出完成一次轉(zhuǎn)換并讀取溫度值子程序GETWD。
            GETWD:LCALLINIT
            MOVA,
        #0CCH
            LCALLWRITE
        ;發(fā)跳過ROM命令
            MOVA,
        #44H
            LCALLWRITE
        ;發(fā)啟動轉(zhuǎn)換命令
            LCALLINIT
            MOVA,
        #0CCH;發(fā)跳過ROM命令
            LCALLWRITE
            MOVA,
        #0BEH;發(fā)讀存儲器命令
            LCALLWRITE
            LCALLREAD
            MOVWDLSB,A
            
        ;溫度值低位字節(jié)送WDLSB
            LCALLREAD
            MOVWDMSB,A
            
        ;溫度值高位字節(jié)送WDMSB
            RET
            ……
                
        子程序GETWD讀取的溫度值高位字節(jié)送WDMSB單元,低位字節(jié)送WDLSB單元,再按照溫度值字節(jié)的表示格式及其符號位,經(jīng)過簡單的變換即可得到實際溫度值。
                
        如果一線上掛接多個DS18B20、采用寄生電源連接方式、需要進行轉(zhuǎn)換精度配置、高低限報警等,則子程序GETWD的編寫就要復雜一些,限于篇幅,這一部分不再詳述,請參閱相關內(nèi)容。
                
        我們已成功地將DS18B20應用于所開發(fā)的“家用采暖洗浴器”控制系統(tǒng)中,其轉(zhuǎn)換速度快,轉(zhuǎn)換精度高,與微處理器的接口簡單,給硬件設計工作帶來了極大的方便,能有效地降低成本,縮短開發(fā)周期。

         

        上一篇:基于ARM7和數(shù)字溫度傳感器的多點測溫系統(tǒng)設計
        下一篇:暫無
        Copyright@ 2003-2025  北京賽億凌科技有限公司版權所有      電話:010-62230011 傳真:010-62230033 地址:北京西直門北大街32號楓藍國際A座1711 郵編:100082
                 京ICP備06005659號-2   

        感谢您访问我们的网站,您可能还对以下资源感兴趣:

        男男羞羞视频网站国产
        <dd id="2hf8z"><dl id="2hf8z"></dl></dd>
        <acronym id="2hf8z"></acronym>