ROM0xF0用于确定挂接在同一总线上DS1820的个数和识别
9
f基于51单片机及DS18b20温度传感器的数字温度计设计
64位ROM地址。为操作各器件作好准备。
跳过ROM0xCC忽略64位ROM地址,直接向DS1820发温度变
换命令。适用于单片工作。
告警搜索命0xEC执行后只有温度超过设定值上限或下限的片子才做
令
出响应。
温度变换
0x44启动DS1820进行温度转换,12位转换时最长为
750ms(9位为9375ms)。结果存入内部9字节RAM
中。
读暂存器
0xBE读内部RAM中9字节的内容
写暂存器
0x4E发出向内部RAM的3、4字节写上、下限温度数据命
令,紧跟该命令之后,是传送两字节的数据。
复制暂存器0x48将RAM中第3、4字节的内容复制到EEPROM中。
重调
0xB8将EEPROM中内容恢复到RAM中的第3、4字节。
EEPROM
读供电方式0xB4读DS1820的供电模式。寄生供电时DS1820发送
“0”,外接电源供电DS1820发送“1”。
313DS18B20传感器的初始化时序
DS18B20传感器为单总线结构器件,在读写操作之前,传感器芯片应先进性复位操作也
就是初始化操作。
DS18B20的初始化时序如图32所示。首先控制器拉高数据总线,接着控制器给数据总
线一低电平,延时480μs,控制器拉高数据总线,等待传感器给数据线一个60240μs的低
电平,接着上拉电阻将数据线拉高,这样才初始化完成。
图32DS18B20初始化时序
314DS18B20传感器的读写时序1写时序DS18B20传感器的读写操作是在传感器初始化后进行的。每次操作只能读写一位。
10
f基于51单片机及DS18b20温度传感器的数字温度计设计
当主机把数据线从高电平拉至低电平,产生写时序。有两种类型的写时序:写“0”时序,写“1”时序。所有的时序必须有最短60μs的持续期,在各个写周期之间必须有最短1μs的恢复期。
在数据总线由高电平变为低电平之后,DS18B20在15μs至60μs的时间间隙对总线采样,如果为“1”则向DS18B20写“1”,如果为“0”则向DS18B20写“0”。如图32的上半部分。
对于主机产生写“1”时序时,数据线必须先被拉至低电平,然后被释放,使数据线在写时序开始之后15μs内拉至高电平。
对于主机产生写“1”时序时,数据线必须先被拉至低电平,且至少保持低电平60μs。2读时序在数据总线由高电平变为低电平之后,数据线至少应保持低电平1μs,来自DS18B20的输出的数据在下降沿15μs后有效,所以在数据线保持低电平1μs之后,主机将数据线拉高,等待来自DS18B20的数据变化,在下降沿15μs之后便可开始读取DS18B20的输出数据。整个读时序必须有最短60μs的持r