表11-1R1、R0与分辨率和转换时间的关系 R1 RO 分辨率 最大转换时间 9位 93.75ms 0011 0101 10位 187.5ms 11位 375ms 12位 750ms 由表11-1可看出,DS18B20的转换时间与分辨率有关。当设 定分辨率为9位时,转换时间为93.75ms;…;当设定分辨率 为12位时,转换时间为750ms 表11-2列出了DS18B20温度转换后所得到的16位转换结果的 典型值
12 由表11-1可看出,DS18B20的转换时间与分辨率有关。当设 定分辨率为9位时,转换时间为93.75ms;……;当设定分辨率 为12位时,转换时间为750ms。 表11-2列出了DS18B20温度转换后所得到的16位转换结果的 典型值
表11-2DS18B20温度数据 温度/℃ 16位2进制温度值 16进制温度值 符号位(5位) 数据位(11位) 00 011 1|11o100|00 07DOH +25.06250000000 T110010oo1 0191H 25.0625 FE6FH 1111100 00 0000 FC90H 下面介绍温度转换的计算方法。 当Ds18B20采集的温度为+125C时,输出为07D0H,则: 实际温度=(07D0H)16=(0×163+7×162+13×161 +0×160)/16=125°C 13
13 下面介绍温度转换的计算方法。 当DS18B20采集的温度为+125℃时,输出为07D0H,则: 实际温度=(07D0H)/16=(0×163+7×162+13×161 +0×160)/16=125℃
当DS18B20采集的温度为-55°C时,输出为FC90H,由于是 补码,则先将11位数据取反加1得0370H,注意符号位不变,也 不参加运算,则: 实际温度=(0370H16=(0×163+3×162+7×161 +0×160)16=55°C 注意,负号则需要对采集的温度的结果数据进行判断后,再予 以显示。 2.DS18B20的工作时序 DS18B20对工作时序要求严格,延时时间需准确,否则容易 出错。工作时序包括初始化时序、写时序和读时序
14 当DS18B20采集的温度为-55℃时,输出为FC90H,由于是 补码,则先将11位数据取反加1得0370H,注意符号位不变,也 不参加运算,则: 实际温度=(0370H)/16=(0×163+3×162+7×161 +0×160)/16=55℃ 注意,负号则需要对采集的温度的结果数据进行判断后,再予 以显示。 2. DS18B20的工作时序 DS18B20对工作时序要求严格,延时时间需准确,否则容易 出错。工作时序包括初始化时序、写时序和读时序。 14
(1)初始化时序,单片机将数据线DQ电平拉低480~960μs后 释放,等待15~60μs,单总线器件即可输出一持续60~240μs 的低电平,单片机收到此应答后即可进行操作 (2)写时序,当单片机将数据线DQ电平从高拉到低时,产生 写时序,有写“03和写“1”两种时序。写时序开始后, DS18B20在15~60μs期间从数据线上样。如果采样到低电 平,则向DS18B20写的是“0”;如果采样到高电平,则向 DS18B20写的是“1。这两个独立的时序间至少需要拉高总线 电平1s的时间。 15
15 (1)初始化时序,单片机将数据线DQ电平拉低480~960µs后 释放,等待15~60µs,单总线器件即可输出一持续60~240µs 的低电平,单片机收到此应答后即可进行操作。 (2)写时序,当单片机将数据线DQ电平从高拉到低时,产生 写时序,有写“0”和写“1”两种时序。写时序开始后, DS18B20在15~60µs期间从数据线上采样。如果采样到低电 平,则向DS18B20写的是“0”;如果采样到高电平,则向 DS18B20写的是“1”。这两个独立的时序间至少需要拉高总线 电平1µs的时间。 15
(3)读时序,当单片机从DS18B20读取数据时,产生读时序。 此时单片机将数据线DQ的电平从高拉到低使读时序被初始化。 如果在此后的15μs内,单片机在数据线上采样到低电平,则从 DS18B20读的是“0;如果在此后的15μs内,单片机在数据线 上采样到高电平,则从DS18B20读的是“1 3.DS18B20的命令 DS18B20片内都有唯一的64位光刻ROM编码,出厂时已刻 好。它是DS18B20的地址序列码,目的是使每个DS18B20的地 址都不相同,这样就可实现在一根总线上挂接多个DS18B20的 目的。64位光刻ROM的各位定义如下
16 (3)读时序,当单片机从DS18B20读取数据时,产生读时序。 此时单片机将数据线DQ的电平从高拉到低使读时序被初始化。 如果在此后的15µs内,单片机在数据线上采样到低电平,则从 DS18B20读的是“0”;如果在此后的15µs内,单片机在数据线 上采样到高电平,则从DS18B20读的是“1”。 3. DS18B20的命令 DS18B20片内都有唯一的64位光刻ROM编码,出厂时已刻 好。它是DS18B20的地址序列码,目的是使每个DS18B20的地 址都不相同,这样就可实现在一根总线上挂接多个DS18B20的 目的。64位光刻ROM的各位定义如下: