DS18B20温度传感器:单总线接口与内存地址解析

需积分: 0 1 下载量 57 浏览量 更新于2024-07-13 收藏 1.85MB PPT 举报
"DSB内部RAM地址安排-C51单片机12(温度传感器)课件" 本资源主要讲解了DS18B20这款数字温度传感器在C51单片机系统中的应用及其内部RAM地址的安排。DS18B20是由Dallas公司生产的一种具有单总线接口的温度传感器,它可以将温度直接转化为串行数字信号,仅需连接到C51单片机的一个端口即可实现通信。这种传感器适用于远距离多点温度检测,且具有良好的耐反接能力。 DS18B20的主要性能包括温度测量范围从-55℃到+125℃,在-10℃至+85℃区间内的测量精度为±0.5℃,数字量转换时间约200毫秒。该传感器有三个引脚:VDD(电源)、GND(接地)和DQ(数据线)。其内部结构包含64位ROM、单线端口、电源检测、存储器和控制逻辑、温度传感器、上下限触发器以及8位CRC(循环冗余校验)产生器。 DS18B20的温度测量原理基于两个振荡器:低温度系数振荡器用于提供稳定的计数脉冲,高温度系数振荡器则提供随温度变化的计数脉冲。通过内部计数器和斜坡累加器的工作,温度寄存器会随着温度变化而更新。在测量过程中,计数器1预置的初始值对应-55℃,每次减计数到0时,温度寄存器的值增加1℃,直到计数器2计数到0。斜率累加器根据温度调整预置值,以补偿振荡器非线性带来的影响。 在单总线上,如果挂接多个DS18B20芯片,每个芯片都有独特的64位光刻ROM地址,包括产品类型标号、序列号和CRC码,用于区分不同的传感器。 了解DS18B20的内部RAM地址安排有助于我们更有效地读取和控制温度传感器的数据。其内存组织如下: - 温度值低位:0字节,存放温度的最低位数据。 - 温度值高位:1字节,存放温度的最高位数据。 - 温度上限值:2字节,用于设定温度上限报警阈值。 - 温度下限值:3字节,用于设定温度下限报警阈值。 - 配置寄存器:4字节,存储传感器的工作模式和其他配置信息。 - 保留:5、6、7字节,通常由制造商保留,不建议用户直接操作。 - CRC校验值:8字节,用于校验数据传输的正确性。 在C51单片机编程时,我们可以利用这些地址来读取温度值、设置报警阈值以及检查数据的完整性。掌握DS18B20的工作原理和内存布局对于开发温度监控系统至关重要,这将帮助我们编写精确、可靠的程序来获取和处理温度数据。