基于C51单片机的多路温度监测系统设计

中国科技纵横 / 2018年01月06日 00:50

新闻

基于单片机的多路温湿度检测系统设计

冉刚

摘 要:基于在工厂或企业,需要对多点进行温度监测,本文介绍了一种能巡回监测多路温度的设计,以数字温度传感器DSl8B20作为现场测温元件,以STC89C52单片机作为控制单元组成的可以对多路温度进行监测和控制的系统,给出了系统的硬件电路图和软件流程图。在系统中,数据的采集和控制都实现了数字化,能实现对各路温度的实时监控,并具有超限报警和指示功能。

关键词:单片机;串口;数字传感器DS18B20

中图分类号:TP368.12 文献标识码:A 文章编号:1671-2064(2017)12-0021-02

在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。针对目前市场的现状,本文提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。

1 系统总体设计

1.1 实现的要求及功能

基本目标:(1)测温范围:-55~+125℃。(2)温度测量误差:±0.5℃。(3)可修改温度的上下报警门限。

扩展目标:(1)支持上位机波形监测温度。(2)报警门限掉电不丢失。

1.2 主控芯片方案

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。从控制系统的大小和复杂度出发,必须考虑单片机的基本参数和增强功能。前者往往需要考虑芯片的速度,ROM容量,I/O引脚数量和工作电压(1.8V/3V/5V)等,后者则包括是否拥有看门狗,双指针,双串口,实时时钟,CAN接口,SPI接口,USB接口等附加模块。本设计中受控对象只有时钟芯片、液晶显示、和一些外围小模块,复杂度低,采用低端的通用的单片机芯片就能够满足要求。

1.3 显示方案

采用上位机来实现实时多路温度数据的显示和保存。成本最低,实现形式更丰富。

1.4 温度监控实现方案

采用DS18B20温度传感器,DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。

2 系统硬件電路设计

2.1 系统总框架

本次设计的多路温度监测的核心部件是51单片机(如STC89C52),通过51单片机控制8路温度传感器DS18B20,从而实现多路温度的实时测量,并通过上位机监控和控制,上位机采用比较流行的G语言LabVIEW编程实现,和上位机通信采用主流的串口通信,简单易行,而且很可靠。本次设计的主要实现过程就是由51单片机发送命令给8路温度传感器DS18B20,再由温度传感器DS18B20反馈温度值和储存在DS18B20 EEPROM种的报警门限值给51单片机,然后由51单片机通过串口发送给上位机进行监控和数据保存,分析统计。

2.2 主控芯片STC89C52

MCS-51单片机是美国intel公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品。

2.3 温度传感器DS18B20电路设计

图1所示,(1)采用单总线的接口方式,与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。(2)测量温度范围宽,测量精度高DS18B20的测量范围为-55℃~+125℃;在-10~+85°C范围内,精度为±0.5°C。(3)供电方式灵活DS18B20可以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。(4)每个器件都有唯一的8字节(64位)光刻码(1字节CRC校验码+6字节序列码+1字节家族代码0x28),使得多个DS18B20可以并联在惟一的单线上,实现多点测温。

3 控制系统软件分析与设计

3.1 主程序流程介绍

控制系统主程序流程图2所示。(1)开始。上电,开机后,单片机会从内部地址0x0000处开始运行。(2)初始化包含如下模块的的初始化。单片机资源初始化,如定时器。串口初始化。设置与上位机通信的串口波特率。(3)读DS18B20温度传感器。目的是避免第一次转换,在LCD1602上显示85℃。传感器初始化上电时温度寄存器初值为0x0550(表示85℃)。(4)延时1s。等待单片机控制的各个模块上电稳定。(5)进入while(1)。进行死循环里运行程序。(6)串口接收服务程序。根据收到的一帧数据,来分别执行不同的动作,如设置每个温度传感器报警门限。(7)1s定时到,开始串口发送数据到上位机。

3.2 DS18B20温度读取程序

DS18B20的一线工作协议流程是:初始化→ROM操作指令→暂存器操作指令→数据传输。

4 结语

本多路测温仪系统实用性强,能很好地巡回采集多路温度信息,并能及时传送给上位机,具有速度快、精度高、易扩展等优点。此系统所采用的传感器全为数字化芯片,大大简化了结构,降低了成本。

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。