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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 經(jīng)典數(shù)字溫度傳感器DS18B20試驗

          經(jīng)典數(shù)字溫度傳感器DS18B20試驗

          作者: 時間:2013-01-15 來源:網(wǎng)絡(luò) 收藏

          測溫實驗原理圖見下面圖3

          圖3

          新建Keil工程ds18sy.UV2,輸入下面的測溫實驗源程序,編譯得到HEX格式目標文件ds18sy.hex。

          ;--------- 下面是測溫實驗源程序 ---------

              ORG  0000H
          START: MOV  SP,#60H     ;開機初始化
              MOV  P0,#0FFH
              MOV  P1,#0FEH
              MOV  P2,#0FFH
              MOV  P3,#0FFH

          MAIN:  LCALL  GET_TEMPER   ;調(diào)用讀溫度子程序
              LCALL  DISP      ;調(diào)用數(shù)碼管顯示子程序
              AJMP  MAIN      ;重復(fù)循環(huán)

          ;------ 讀DS18B20傳感器的溫度值 ------
          GET_TEMPER:
              SETB  P3.3
              LCALL  RST18B20    ;復(fù)位DS18B20
              JB    00H,DSS2
              RET
          DSS2:  MOV   A,#0CCH    ;跳過ROM匹配
              LCALL  WR18B20
              MOV   A,#44H     ;向DS18B20發(fā)出溫度轉(zhuǎn)換命令
              LCALL  WR18B20
              LCALL  RST18B20    ;準備讀溫度前先復(fù)位DS18B20
              MOV   A,#0CCH    ;跳過ROM匹配
              LCALL  WR18B20
              MOV   A,#0BEH    ;向DS18B20發(fā)出讀溫度命令
              LCALL  WR18B20
              LCALL  RE18B20    ;讀出溫度數(shù)據(jù)
              RET

          ;------ DS18B20復(fù)位初始化程序 ------
          RST18B20:
              SETB  P3.3
              NOP
              CLR   P3.3
              MOV   R0,#06BH    ;主機發(fā)出復(fù)位低脈沖
              MOV   R1,#03H
          DSR1:  DJNZ  R0,DSR1
              MOV   R0,#6BH
              DJNZ  R1,DSR1
              SETB  P3.3      ;拉高數(shù)據(jù)線
              NOP
              NOP
              NOP
              MOV   R0,#25H
          DSR2:  JNB   P3.3,DSR3    ;等待DS18B20回應(yīng)
              DJNZ  R0,DSR2
              LJMP  DSR4
          DSR3:  SETB  00H       ;置標志位,表示DS1820存在
              LJMP  DSR5
          DSR4:  CLR   00H        ;清標志位,表示DS1820不存在
              LJMP  DSR7
          DSR5:  MOV   R0,#06BH
          DSR6:  DJNZ  R0,DSR6     ;延時一段時間
          DSR7:  SETB  P3.3
              RET

          ;------ 寫DS18B20的子程序 ------
          WR18B20:
              MOV   R2,#8
              CLR   C
          WR1:  CLR   P3.3
              MOV   R3,#6
              DJNZ  R3,$
              RRC   A
              MOV   P3.3,C
              MOV   R3,#23
              DJNZ  R3,$
              SETB  P3.3
              NOP
              DJNZ  R2,WR1
              SETB  P3.3
              RET



          評論


          相關(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); })();