DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此系统对DS18B20编程时必须完全按通信协议和时序图进行(时序如图3,从上到下分别为主机写时序、读时序、复位时序)。从上述硬件图可知,两个DS18B20是独立且不采用寄生电源供电方式,所以整个温度采集过程如下:初始化DS18B20(发复位脉冲)―发SKIPROM命令代码―发温度转换CONVERT命令代码―等待DS18B20A/D转换―发复位脉冲―发SKIPROM命令代码―发READSCRATCHPAD读温度命令―读两字节温度值―发复位脉冲。 考虑到DS18B20通信传输线路比较长及PIC微处理器端口位操作的独有特性,编程时必须对连续写同一端口的操作特别注意,在执行第二条端口写操作指令前一定要确保端口引脚状态已经稳定。常用的方法是在两条写端口操作指令间插1到2个NOP指令。
最新供应 RI-R6C-001A RTC64613 RTL8029 RTL8100 RTL8100BL RTL8100CL RTL8111B
|