在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      18b20程序及應(yīng)用

      作者: 時(shí)間:2011-07-29 來源:網(wǎng)絡(luò) 收藏

      指令 說明

      本文引用地址:http://www.biyoush.com/article/150417.htm

      DJNZ R7,LOOP0
      RET
      TAB:DB 0C0H,0F9H,0A4H,0B0H
      DB 99H, 92H, 82H, 0F8H
      DB 80H, 90H, 88H, 83H
      DB 0C6H,0A1H,86H, 8EH
      DB 0FFH
      END

      溫度轉(zhuǎn)換(44H) 啟動在線ds18B20做溫度AD轉(zhuǎn)換
      讀數(shù)據(jù)(BEH) 從高速暫存器讀9位溫度值和CRC值
      寫數(shù)據(jù)(4EH) 將數(shù)據(jù)寫入高速暫存的第3和第4字節(jié)中
      復(fù)制(48H) 將高速暫存器中第3和第4字節(jié)復(fù)制到EERAM
      讀EERAM(B8H) 將EERAM內(nèi)容寫入高速暫存器中第3和第4字節(jié)
      讀電源供電方式(B4H) 了解18B20的供電方式

      WENDU_L EQU 29H;用于保存讀出溫度的低字節(jié)
      WENDU_H EQU 28H;用于保存讀出溫度的高字節(jié)
      XIAOSHU EQU 27H;用于保存溫度的小數(shù)部分
      ZHENGSHU EQU 26H;用于保存整數(shù)部分
      BIAOZHI BIT 50H;18B20檢查位1為存在,0為不存在
      ORG 0000H
      AJMP MAIN
      ORG 0030H
      MAIN:MOV SCON,#00H
      ACALL DUWEN
      ACALL ZHENGHE
      ACALL BCD
      ACALL DISP
      ACALL TIME1
      AJMP MAIN
      ;----------------------------------------------------------------------------------------------------------------------------------------
      ;讀溫度子
      ;----------------------------------------------------------------------------------------------------------------------------------------
      DUWEN:SETB P2.0
      ACALL FUWEI ;讀溫度之前必須先復(fù)位
      JB BIAOZHI,CUNZAI;查看標(biāo)志位看18B20是否存在,1為存在,0為不存在
      RET ;不存在則返回
      CUNZAI: ;存在則開始讀溫度
      MOV A,#0CCH ;跳過ROM匹配
      ACALL XIE ;調(diào)寫子
      MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令
      ACALL XIE ;調(diào)寫子程序
      ACALL TIME1 ;調(diào)1秒延時(shí),等等AD轉(zhuǎn)換完成,現(xiàn)在分辨率為12位,溫度最大轉(zhuǎn)換時(shí)間為750MS
      ACALL FUWEI ;讀溫前需要復(fù)位
      MOV A,#0CCH ;跳過ROM匹配
      ACALL XIE
      MOV A,#0BEH ;發(fā)讀溫度命令
      ACALL XIE
      ACALL DUSHU ;將闈出數(shù)據(jù)讀回
      CLR P1.2
      RET
      ;------------------------------------------------------------------------------------------------------------------------------
      ;復(fù)位子程序
      ;18B20復(fù)位需要將數(shù)據(jù)位拉低500us
      ;18B20收到信號后要等待16-60us,然后發(fā)出60-240us的低脈沖
      ;-------------------------------------------------------------------------------------------------------------------------------
      FUWEI:SETB P2.0
      NOP
      CLR P2.0
      MOV R0,#3
      INTE:MOV R1,#107 ;設(shè)一個(gè)537us延時(shí)
      KK1: DJNZ R1,KK1
      DJNZ R0,INTE
      SETB P2.0 ;拉高數(shù)據(jù)線,等待回應(yīng)
      NOP
      NOP
      NOP
      MOV R0,#25 ;
      INTE1:JNB P2.0,INTE2 ;延時(shí)延時(shí)50us等待18B20回應(yīng),若返回低脈沖則說明18B20存在
      DJNZ R0 ,INTE1
      AJMP INTE3 ;經(jīng)過反應(yīng)時(shí)間而沒檢測到18B20的存在,則跳轉(zhuǎn)去清零標(biāo)志位
      INTE2:SETB BIAOZHI ;檢測到18B20存在,置1標(biāo)志位
      CLR P1.0
      AJMP INTE4
      INTE3:CLR BIAOZHI ;沒檢測到18B20,清零標(biāo)志位
      AJMP INTE5
      INTE4:MOV R0,#120 ;延時(shí)240us,確定回應(yīng)信號已發(fā)完
      KK: DJNZ R0,KK
      INTE5:SETB P2.0
      RET


      ;----------------------------------------------------------------------------------------------------------------------------------------
      ;寫18B20子程序
      ;-----------------------------------------------------------------------------------------------------------------------------------------
      XIE:MOV R2,#8 ;寫計(jì)數(shù)寄存器,一共有8位數(shù)據(jù)
      CLR C
      LP:CLR P2.0
      MOV R3,#6 ;設(shè)一個(gè)延時(shí)
      LL1:DJNZ R3,LL1
      RRC A ;右循環(huán),先輸出低位
      MOV P2.0,C
      MOV R3,#23 ;設(shè)延時(shí)
      LL: DJNZ R3,LL ;
      SETB P2.0
      NOP
      NOP
      DJNZ R2,LP ;判斷是否完成數(shù)據(jù)傳送
      SETB P2.0 ;完成傳送拉高數(shù)據(jù)位
      RET
      ;-----------------------------------------------------------------------------------------------------------------------------------------
      ;從18B20中讀出溫度數(shù)據(jù)子程序
      ;-----------------------------------------------------------------------------------------------------------------------------------------

      DUSHU:MOV R4,#2 ;設(shè)讀回?cái)?shù)據(jù)個(gè)數(shù)指針
      MOV R1,#WENDU_L ;把溫度數(shù)據(jù)低位存入29H
      RE: MOV R2,#8 ;設(shè)數(shù)據(jù)長度指針
      RE1: CLR C
      SETB P2.0
      NOP
      NOP
      CLR P2.0
      NOP
      NOP
      NOP
      SETB P2.0
      MOV R3,#9
      DJNZ R3,$
      MOV C,P2.0
      MOV R3,#23
      NN: DJNZ R3,NN
      RRC A
      DJNZ R2,RE1
      MOV @R1,A
      DEC R1 ;高位存入28H
      DJNZ R4,RE
      RET



      關(guān)鍵詞: 應(yīng)用 程序 18b20

      評論


      相關(guān)推薦

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

      關(guān)閉
      ×

      “芯”朋友见面大会
      珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>