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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一線式時鐘芯片DS2417的原理與應用

          一線式時鐘芯片DS2417的原理與應用

          作者: 時間:2012-03-12 來源:網絡 收藏

          DAT EQU P1.0
          ........
          INIT:CLR EA
          INI10:SETB DAT
          MOV R2,#200
          INT11:CLR DAT
          DJNZ R2, INI11
          ;主機發(fā)復位脈沖持續(xù)3μs×200=600μs
          SETB DAT ;主機釋放總線,口線改為輸入
          MOV R2,#30
          INI12:DJNZ R2,INI12
          ;;等待2μs×30=60μs
          CLR C
          ORL C,DAT
          ;;數據線變低(有存在脈沖)嗎?
          JC INI10 ;未準備好,重新初始化
          MOV R6,#80
          INT13:ORL C,DAT
          JC INI14;DS2417;數據線變高,初始化成功
          DJNZ R6, INI13
          ;數據線低電平可持續(xù)3μs×80=240μs
          SJMP INI10 ;初始化失敗,重來
          INI14:MOV R2,#240
          INI15:DJNZ R2,INI15
          ;DS2417;應答最少2μs×240=480μs
          RET
          ;---------------
          WRITE:CLR EA ;寫入的命令/數據字節(jié)在A中
          MOV R3,#8 ;循環(huán)8次,寫一個字節(jié)
          WR11:SETB DAT
          MOV R4,#8
          RRC A ;寫入位從A中移到CY
          CLR DAT
          WR12:DJNZ R4,WR12 ;等待16μs
          MOV DAT,C;命令字按位依次送給DS2417
          MOV R4, #20
          WR13:DJNZ R4, WR13 ;保證寫過程持續(xù)60μs
          DJNZ R3, WR11 ;未送完一個字節(jié)繼續(xù)
          SETB DAT
          RET
          ;----------------
          READ:CLR EA
          MOV R6,#8 ;循環(huán)8次,讀一個字節(jié)
          RD11:CLR DAT
          MOV R4,#4
          NOP ;低電平持續(xù)2μs
          SETB DAT ;口線設為輸入
          RD12:DJNZ R4,RD12 ;等待8μs
          MOV C,DAT ;主機按位依次讀入DS2417的數據
          RRC A ;讀取的數據移入A
          MOV R5,#30
          RD13:DJNZ R5,RD13 ;保證讀過程持續(xù)60μs
          DJNZ R6,RD11 ;讀完一個字節(jié)的數據,存入A中
          SETB DAT
          RET
          ;----------------

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



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();