DS18B20单线数字温度传感器详解

需积分: 10 0 下载量 31 浏览量 更新于2024-10-18 收藏 147KB PDF 举报
"DS18B20是一种单线数字温度传感器,能够提供9位温度读数,并通过单线接口与主机CPU通信。它可以在-55°C到+125°C的范围内进行测量,精度可达0.5°C。传感器自身可以由数据线供电,或者采用外部电源,且每个设备在出厂时都有唯一的64位序列号,允许多个传感器共享同一线路。传感器内部有两个8位RAM存储器,用于存储温度值。温度计算涉及到二进制补码转换,9位模式和12位模式分别对应不同精度的温度表示。DS18B20的工作过程包括初始化、ROM操作命令和存储器操作命令等步骤。" DS18B20温度传感器是一种广泛应用的单线数字温度计,它以9位二进制形式输出温度数据,这种数据传输方式使得系统只需要一条信号线(加上地线)就能实现与传感器的通信,极大地简化了硬件连接。DS18B20的特殊之处在于,其电源可以通过数据线本身获取,称为“ parasitic power”模式,这样就不需要额外的电源线。然而,如果需要更快的测量速度,可以选择外部供电模式。 每个DS18B20都拥有一个全球唯一的64位序列号,其中8位用于产品类型编码,48位是设备特有的序列号,最后8位是CRC校验码,用于数据完整性检查。传感器内部的两个8位RAM单元,0号和1号,用于存储温度值。1号存储器的最高位表示温度的符号,如果是负温,8位全为1,否则全为0。0号存储器存储温度的补码形式,LSB的1代表0.5°C,通过求补和转换可得出实际温度值。 DS18B20有两种存储温度值的方式:9位和12位。9位模式适合快速但不太精确的测量,而12位模式则提供更高的精度,但需要更长的转换时间。例如,在9位模式下,00AAH表示+85°C,0032H表示25°C;而在12位模式下,0550H同样表示+85°C,0191H表示25.0625°C,FC90H则代表-55°C。 在工作流程中,DS18B20首先需要初始化,然后主机可以发送ROM操作命令来检测和选择特定的DS18B20。这些命令包括读取ROM、匹配ROM、搜索ROM等,用于识别和通信。接着,主机可以发送存储器操作命令来读取或写入温度数据。DS18B20的这种工作模式使得它可以方便地集成到各种系统中,实现分布式温度监测。