DS18B20用的是1-write总线。这种总线其实还是比较方便的。这个芯片使用注意事项就是要严格按照事件序列来。
1、发送一个初始化命令(复位脉冲) 2、发送ROM命令 3、发送功能命令
其实rom命令主要是用来识别不同设备的,如果你只用了一个此芯片,那基本就是使用跳过命令就可以了。
功能命令
温度转换【44h】 初始化单次温度转换,温度转换的数据在暂存寄存器的0 ,1 byte中。采用寄生电源时,该命令执行10us后主设备必须强制拉高数据线。 如果用外部供电,主设备可以执行读取数据时序
写入暂寄存器【4Eh】这个命令允许控制器写3个字节的数据到byte2 3 4 所以数据都是低位先发原则。写入之前主设备必须先对从设备复位 读取暂寄存器【BEh】这个命令允许控制器读暂寄存器的内容,从0字节开始发直到8字节。主设备若只需要暂存寄存器中部分数据,则可以在读数据中通过复位终止
复制暂存寄存器【48h】这个命令会将byte2 3 4的内容复制到eeprom 如果采用寄生模式,命令发送后10us后主设备要强制拉高总线10MS 召回EEPROM 将eeprom中的值召回byte2 3 4 可以在召回后执行读取数据时许,若在进行召回响应0,召回响应1;
读取供电模式【B4h】 通过执行该命令之后在执行读取数据时序来确定总线是否是计生供电,在读取数据时序中,寄生模式会拉低总线,外部供电会释放总线让其保持在高电平
通过这些命令来操作芯片。
关于初始化
主设备拉低总线480US来发射复位脉冲,之后主设备释放总线进入接受模式。总线释放后,5K欧左右的上拉电阻将总线拉至高电平。,当芯片检测到上升边沿信号后,等待15到60US后通过把总线拉低60 -240us来发送存在脉冲。 也就是说,发