导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教:关于DS18B20的读时序问题[naffan]

 *第44008篇: 请教:关于DS18B20的读时序问题

  
楼 主:naffan 2006年10月25日21:10
 请教:关于DS18B20的读时序问题
这是在网络上下的DS18B20例程中的读数据子程序,定义了DQ BIT P3.3,晶振12M

        ------------------读DS18B20的程序,从DS18B20中读出一个字节的数据
READ_1820:
       MOV    R2,#8
RE1:
       CLR    C
       SETB    DQ
       NOP
       NOP
       CLR    DQ               
       NOP
       NOP
       NOP
       SETB    DQ
       MOV    R3,#7
       DJNZ    R3,$
       MOV    C,DQ

       MOV    R3,#23
       DJNZ    R3,$
       RRC    A
       DJNZ    R2,RE1
       RET

程序中红色的部分应该是按照DS18B20的时序要求来读取数据的部分,在拉低DQ后接了3个NOP,延时为3us,SETB DQ 1us,mov R3,#7 1us,djnz R3,$执行7次共14us,也就是说在MCU拉低1 WIRE总线19us后才开始对总线执行采样,而DS18B20的DATASHEET中规定此周期必须在15us内完成,以上程序有误还是我对DS18B20的读写周期规定理解有误,望各位大大帮忙解释一二,万分感谢!


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:zigbee的开发板

[下一篇主题]:关于89C52与LED连接的问题