DS18B20工作原理及时序
字节组成,其分配如图3所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。 图3 高速暂存存储器分配图 温度/0C 二进制表示 十六进制表示 符号位(5位) 数据位(11位) +125 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 07D0H +25.0625 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0191H +10.125 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 00A2H +0.5 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0008H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H -0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 FFF8H -10.125 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 FF5EH -25.625 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 FE6FH -55 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 FC90H 上表是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 温度转换计算方法举例: 例如当DS18B20采集到+125℃的实际温度后,输出为07D0H,则: 实际温度=07D0H╳0.0625=2000╳0.0625=1250C。 例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则: 实际温度=370H╳0.0625=880╳0.0625=550C。
DS18B20工作原理时 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)