功能描述
温度测量
18B20的核心功能是直接温度-数字测量。其温度转换可由用户自定义为9、10、11、12位精度分别为0.5℃.0.25℃.0.125'℃.0.0625℃分辨率。值得注意的是,上电默认为12位转换精度。18B20上电后工作在低功耗闲置状态下。主设备必须向18B20发送温度转换命令[44h]才能开始温度转换。温度转换后,温度转换的值将会保存在暂存存储器的温度寄存器中,并且 18B20将会恢复到闲置状态。如果18B20是由外部供电,当发送完温度转换命令[44h]后,主设备可以执行“读数据时序”
(请参阅“1-wire总线系统”章节),若此时温度转换正在进行18B20 将会响应"0",若温度转换完成则会响应“1”。如果18B20是由“寄生电源”"供电,该响应的技术将不能使用,因为在整个温度转换期间,总线必须强制拉高。该总线的‘寄生电源”供电方式将会在“ 18B20的供电”章节中详细讲解。
18B20的温度输出数据时在摄氏度下校准的;若是在华氏度下应用的话,可以用查表法或者常规的数据换算↓温度数据以一个16位标志扩展二进制补码数的形式存储在温度寄存器中(图2符号标志位(S)温度的正负极性:正数则S=O,负数则S=1。如果18B20被定义为12位的转换精度,温度寄存器中的所有位都将包含有效数据。若为11位转换精度,则 bit 0为未定义的。若为10位转换精度,则 bit 1和 bit 0为未定义的。若为9位转换精度,则 bit 2、bit 1和 bit 0为未定义的。表1为在12位转换精度下温度输出数据与相对应温度之间的关系表。