首页 > 范文大全 > 正文

基于51单片机的多点测温系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于51单片机的多点测温系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

[摘 要]温度是表征物体冷热程度的物理量,遍的测量参数。采集温度数据是温度管理系统的首要任务。温度传感器是通过物体随温度变化而改变某种特性来间接测量的。基于51单片机的测温系统,用单片机和数字温度传感器 DS18B20 构建多点测温系统,其硬件结构简单、布线方便。本文基于51单片机对多点测温系统进行分析。

[关键词]51单片机 温度 多点测温系统 数据读取 程序设计

中图分类号:TP274 文献标识码:A 文章编号:1009-914X(2016)23-0085-02

1、多点测温系统的硬件设计

1.1 设计思想

系统使用6个DS18B20进行多点测温,DS18B20用5类双绞线连接到单片机。多点测温结果用8位共阴极数码管分时显示,用一个按键循环切换测量点,显示格式如图1所示,左侧2位显示测量点的编号,第5位为空,第4位显示符号(正号不显示),后4位显示温度值,因为DS18B20在主要测量范围内的测量误差为±0.5℃,所以显示温度保留1位小数即可。

1.2 电路设计

多点测温系统的电路设计如图2所示(51单片机部分略),用单片机的P0口通过锁存器SN74HC573AN连接8位数码管的笔段正极,用P2口的低3位通过3~8译码器SN74HC138N连接8位数码管的公共端作位选信号,P2.3口加上拉电阻R连接DS18B20的DQ端,为保证运行稳定,DS18B20的VCC端外接+5 V电源,在P3.2和系统地间接一个按键开关,P3.2是外部中断0的输入引脚,可以用中断方式切换测量点。

2、多点测温系统的软件设计

在多点测温系统中应先确定各DS18B20的64位激光ROM信息,以便对各个DS18B20寻址。确定DS18B20的ROM信息有多种方法,可在总线上只接1个DS18B20编程读取,也可以对挂在同1条总线上的多片DS18B20的ROM编码进行搜索识别。

2.1 多点测温系统中主要使用的操作命令

(1)ROM匹配操作命令Match Rom(55H)后跟64位ROM序列号(高字节在前)用于寻址总线上对应的DS18B20,只有序列号匹配的DS18B20才能响应后面的内存操作命令。(2)温度转换操作命令Convert T(44H)。开始温度转换,在默认12位分辩率时转换时间为730 ms。(3)读RAM暂存器操作命令Read Scratchpad(BEH)。主要读取暂存器中byte0和byte1中的的实测温度数据,主机可随时发复位脉冲停止读取。

2.2 主要设计流程

从一个DS18B20上读取温度数据并在8位数码管上显示的流程为:(1)发送复位信号后等待应答信号;(2)检测到应答信号后发送Match Rom命令,随后发送8 byte的ROM信息寻址相应的DS18B20;(3)发送Convert T命令进行温度转换,等待转换完成;(4)再次发送复位信号后等待应答信号;(5)检测到应答信号后再次发送Match Rom命令,随后发送8 byte的ROM信息寻址相应的DS18B20;(6)发送Read Scratchpad命令,然后从DS18B20依次读取实测温度的低、高字节;(7)把读取的2 byte温度数据转换为实际温度;(8)把实际温度四舍五入保留1位小数显示到数码管上。

2.3 程序设计

程序主要包括DS18B20操作标准函数、温度转换函数、数码管显示函数、主函数和外部中断0中断服务函数。程序开始已用:#define uchar unsigned char无符号字符类型定义为uchar,用Const M 6将测量点个数定义为常量M,全局变量n存放测量点编号(0~M-1)初始化为0。

(1)温度转换函数float temp(uchar hb,uchar lb)。把实测温度的高、低字节hb、lb转换成符号ASG(全局变量)和温度值t。实现代码如下:

(2)数码管显示函数disp(float t)。以“××[-]×××.×”形式显示测量点编号和温度值。

(3) 主函数 main( ) 。实现代码如下:

(4) 外部中断0 中断服务函数 inx0( ) 。把测量点编号 n 加 1。实现代码如下:

系统完成后,我们在实验室中对实验室温度进行了测试及实验,测试的结果与实际情况吻合较好。

3、结语

该程序在所设计的基于 51 单片机的测温系统中运行,常用多点测温系统一般可分为3种模式:①单片机接温度传感器。这种方式显示部分的硬件结构较复杂,但可做成1个独立设备,便于移动,是理想的多点测温系统。②PC和单片机通过串行口联机,单片机接温度传感器。此方式用单片机和传感器组成温度采集系统,采集的数据传送给PC机,可利用PC机的显示器和强大的数据处理功能,对数据进行复杂的分析处理并在屏幕上显示大量信息。③PC机通过并/串行口接温度传感器。这种方式也可以利用PC机的显示器和强大的数据处理功能,不用单片机作前端数据采集系统,但在PC机和传感器间要设计接口电路。采用DS18B20数字温度传感器时,当提供了供电电源后,虽然理论上测温点个数可以不受限制,担考虑到总线驱动能力的限制,1条总线上测温点个数仍以不超过6个为宜,线路长度在50 m以内可保证系统稳定,根据使用场所环境条件的好坏可选择无屏蔽或屏蔽双绞线。

参考文献:

[1]龙祖连. 基于51单片机设计的红外测温系统[J]. 电子制作,2013,20:7.

[2]唐菲. 无线多点测温系统的设计与实现[D].南京理工大学,2014.