单总线DS18B20温度传感器系统实现

5星 · 超过95%的资源 需积分: 11 2 下载量 132 浏览量 更新于2024-10-23 收藏 267KB DOC 举报
"18B20温度传感器温度计程序" DS18B20温度传感器是一种由DALLAS公司生产的1-Wire单总线器件,适用于构建简单的测温系统。这种传感器的主要特点是只需一根通信线,就可以连接多个传感器,大大简化了硬件布线。它的特性包括: 1. 单总线接口:只需要一个端口即可进行通信,降低了硬件需求。 2. 唯一序列号:每个DS18B20都有独特的64位序列号,便于区分和管理。 3. 自包含功能:无需额外元件即可进行温度测量。 4. 测量范围:-55°C至+125°C,满足广泛的温度监测需求。 5. 分辨率可调:用户可以选择9位到12位的分辨率,以适应不同的精度要求。 6. 温度告警:具备设定温度上下限告警的功能。 DS18B20的引脚包括GND(地),DQ(数据输入/输出,开漏单总线接口),以及可选的VDD(电源引脚)。在寄生电源模式下,DQ引脚也能为器件提供电源,而VDD引脚需接地。 实验中,DS18B20与单片机配合,读取的温度数据会在6位数码管上显示,精度可达0.0625°C,显示范围是0到99.9375°C。为了有效控制DS18B20,需要理解其控制命令字,如ROM命令用于读取和定位传感器,存储控制命令则涉及温度转换、数据读写、存储器复制等操作。 例如,ROM命令包括: - 读ROM(33H):读取18B20的序列号。 - 匹配ROM(55H):在多传感器环境中,用于找到特定的传感器。 - 跳过ROM(CCH):对总线上所有设备执行后续操作。 - 搜ROM(F0H):识别并准备操作总线上所有设备。 - 报警搜索(ECH):响应超限温度的设备。 而存储控制命令包括: - 温度转换(44H):启动温度AD转换。 - 读数据(BEH):读取高速暂存器的温度值和CRC值。 - 写数据(4EH):写入高速暂存器的特定字节。 - 复制(48H):将高速暂存器数据复制到EERAM。 - 读EERAM(B8H):从EERAM读取数据到高速暂存器。 理解这些命令对于正确编程和操作DS18B20至关重要,使得开发者能够实现精确的温度监控和灵活的数据处理。