基于DS18DB20的多功能温度测量仪
2. 1 软件设计要点
由于DS18B20 采用的是单线总线协议方式,即在一条数据线上实现数据的双向传输,而单片机硬件上不支持单总线协议,因此必须采用软件方法来模拟单总线的协议是序来完成对DS18B20 芯片的访问。
由于DS18B20 是在一根I/ O 线上读写数据,因此对读写的数据位有严格的时序要求,它有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序: 初始化时序、读时序、写时序。所有时序都是将单片机作为主设备,DS18B20 作为从设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求DS18B20 回送数据,在进行写命令后,主机需启动读时序完成数据接收。
2. 2 软件设计
创新点在温度显示模块引入“显存”的概念,用“显存”直接映射到显示子程序,便于程序的移植,更便于以后的组建多点的温度检测网络,或嵌于其他监测系统。
程序片段如下:

2. 3 主程序流程图
主程序流程如图4 所示。

图4 主程序流程图
3 实物运行与测试
测试方法: 用水银温度计和温度测量仪同时对同一空气环境、水、人体进行测量,详细记录每次测量数据,并进行数据对比。测试结果如表1 所示,结果显示误差仅± 0. 2 ℃。
表1 实物运行测试对照表

4 结 语
运用温度传感器DS18B20 和单片机8051 等设计并制作的温度测量仪,用较低的成本实现了温度的测量与显示。该测量仪采用的元器件价格低廉又容易获得,具有硬件结构简单、响应快、显示直观等优点,并且元器件DS18B20 单总线结构具有很强的扩展性. 还可以组建多点的温度检测网络该方案设计温度监测系统,应用前景广泛。
评论