"基于DS18B20的温度测量模块设计"
在这个设计中,我们将使用DS18B20数字温度传感器来设计一个温度测量模块。DS18B20是DALLAS公司生产的一款1-Wire数字温度计,具有线路简单、体积小的特点。它可以与单总线器件进行通信,并可以挂多个数字温度计在一根通信线上。
1. 设计目的:
(1)掌握DS18B20数字温度传感器的工作原理及使用方法。
(2)掌握对DS18B20转换数据进行处理的方法。
(3)学习用数码管显示复杂数据的方法。
2. 设计任务:
使用AT89S52控制DS18B20,读取数据,并对DS18B20转换后的数据进行处理,最后在数码管上显示DS18B20测出的温度。
3. 设计原理:
(1)系统结构图:
系统结构图见图4-1,为基于DS18B20的测温系统结构图。
(2)DS18B20数字温度传感器概述:
DS18B20产品的特点:
* 只要求一个端口即可实现通信。
* 在DS18B20中的每个器件上都有独一无二的序列号。
* 实际应用中不需要外部任何元器件即可实现测温。
* 测量温度范围在-55°C到+125°C之间。
* 数字温度计的分辨率用户可以从9位到12位选择。
* 内部有温度上、下限告警设置。
(3)DS18B20的内部结构:
DS18B20的内部框图如图4-3所示。64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。
(4)DS18B20的命令序列:
访问DS18B20必须严格遵守命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。
4. 设计要求:
(1)基本要求:
* 用AT89C51控制DS18B20,读取数据。
* 对DS18B20转换后的数据进行处理,转换成实际温度值。
* 将符号位,整数值和小数值分别存放在特定的存储单元中。
(2)进阶要求:
* 在数码管上显示DS18B20测出的温度, 只要求显示出温度值的整数部分及符号位。
(3)高级要求:
* 使用6位数码管显示测得的温度。
* 最高位为符号位,如果温度值为正,不显示,如果温度为负,则显示负号。
* 第2—4位显示温度值的整数部分,并在第4位数据上显示小数点。
* 第5位显示一位小数。
* 最低位显示摄氏度符号“C”。
这个设计可以满足基本要求、进阶要求和高级要求,实现了基于DS18B20的温度测量模块设计。