<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 數(shù)字溫度傳感器DS18B20的原理與應(yīng)用

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

          作者: 時間:2010-04-02 來源:網(wǎng)絡(luò) 收藏

          ;------------------------
          READ:CLREA
          MOVR6,#8;循環(huán)8次,讀一個字節(jié)
          RD11:CLRDAT
          MOVR4,#4
          NOP;低電平持續(xù)2μs
          SETBDAT;口線設(shè)為輸入
          RD12:DJNZR4,RD12
          ;等待8μs
          MOVC,DAT
          ;主機(jī)按位依次讀入的數(shù)據(jù)
          RRCA;讀取的數(shù)據(jù)移入A
          MOVR5,#30
          RD13:DJNZR5,RD13
          ;保證讀過程持續(xù)60μs
          DJNZR6,RD11
          ;讀完一個字節(jié)的數(shù)據(jù),存入A中
          SETBDAT
          RET
          ;------------------------
          主機(jī)控制完成轉(zhuǎn)換必須經(jīng)過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動開始轉(zhuǎn)換,再讀出轉(zhuǎn)換值。假設(shè)一線僅掛接一個芯片,使用默認(rèn)的12位轉(zhuǎn)換精度,外接供電電源,可寫出完成一次轉(zhuǎn)換并讀取值子程序GETWD。

          本文引用地址:http://www.ex-cimer.com/article/163163.htm

          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、采用寄生電源連接方式、需要進(jìn)行轉(zhuǎn)換精度配置、高低限報警等,則子程序GETWD的編寫就要復(fù)雜一些,限于篇幅,這一部分不再詳述,請參閱相關(guān)內(nèi)容。

          我們已成功地將DS18B20于所開發(fā)的“家用采暖洗浴器”控制系統(tǒng)中,其轉(zhuǎn)換速度快,轉(zhuǎn)換精度高,與微處理器的接口簡單,給硬件設(shè)計工作帶來了極大的方便,能有效地降低成本,縮短開發(fā)周期。


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();