基于STC89C51的温度采集系统摘要:本文介绍了一种基于STC89C51的测温系统原理和研制过程。
该测温系统利用DS18B20温度传感器进行温度测量,并采用数码显示模块进行显示,解决了温度测量通常比较繁琐的问题。
系统通过上位机串行口与计算机相连,通过计算机对温度进行集中监视和管理。
此测温系统实现了对温度数据的远程采集、处理、实时显示以及对温度报表的管理。
系统由DS18B20温度传感器、数码显示模块、89C51单片机组成。
在89C51单片机上运行的测温和显示管理软件,负责对整个系统进行统一管理,实现对系统参数的设置,对多个测温点温度数据的巡回采集、处理、显示。
该系统还可以通过单片机控制各个测温点完成温度转换和相应测温点温度数据的查询,DS18B20温度传感器是新型的单线数字温度传感器,其测温分辨率可以达到0.0625度[1]。
关键词:单片机DS18B20 测温系统Abstract: This paper discusses the principle and development of Distributed Remote Measurement and Supervision System for Temperature. The system solves the temperature measuring problem of multi-point in distributed location by using a central computer and a lot of distributed computers. The central computer communicates with the distributed computers which use Atmel2051 single chip computers as CPU by modem module. The system is supervised and controlled by the central computer. The distributed Remote Temperature Measurement and Supervision System is made up of three main parts. The DS18B20 is a kind of 1-Wire digital thermometer. It provides 9 to 12-bit temperature readings which indicate the temperature of the device. The highest resolution is 0.0625.Single Chip Computer. The Atmen 2051 computer make the temperature sensors to convert temperature and send the data to central computer. The central computer can communicate with any single chip computer to acquire temperature data.Keywords: Single Chip Computer DS18B20 Temperature Measurement System目录绪论 (2)1.系统概述 (2)1.1.课题背景 (2)1.2. 测温原理 (3)1.3. 方案选择 (3)2. 系统硬件电路的设计 (5)2.1. 电源电路 (5)2.2. 键盘以及显示电路 (6)2.2.1. 键盘电路 (6)2.2.2. 温度显示电路 (7)2.3. 温度测试电路 (8)2.4. 串口通讯电路 (12)2.5. 整体电路 (14)3. 系统软件电路的设计 (14)3.1. 软件设计概述 (14)3.2. 主程序方案 (15)3.3. 各模块子程序设计 (16)4. 系统调试 (19)4.1. 分布调试 (19)4.2. 统一调试 (20)5. 结论 (20)参考文献 (21)致谢 (22)绪论温度检测是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用,可以说与人们的日常生活是息息相关的,具有很大的现实意义。
随着科学技术的发展,由单片集成电路构成的温度传感器的种类越来越多,测量的精度越来越高,响应时间越来越短,因其使用方便、无需变换电路等特点已经得到了广泛的应用。
传统靠人工控制的温度、湿度、液位等信号的测控系统,外围电路比较复杂,测量精度较低,分辨力不高,需进行温度校准(非线性校准、温度补偿、传感器标定等),且它们的体积较大、使用不够方便,更重要的是参数的设定需要有其它仪表的参与,外界设备多,成本高,因而越来越适应不了社会的要求。
在对多类型、多通道信号同时进行检测和控制中,传统的测控系统更是能力有限。
如何将计算机与各种设施、设备结合,简化人工操作并实现自动控制,满足社会的需求,成为一个很迫切的问题。
1.系统概述1.1.课题背景工业生产过程的监控技术经历了一个较长的发展阶段。
对生产设备的操作最早完全依靠人在现场手动操作每台设备,对生产状况的了解也只能靠操作者直接观察现场设备运行情况。
在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,工作人员可以在这里观察整个生产线的一举一动。
这样就会出现数据传输问题,由于厂房大、需要传输数据多,浪费资源,占用空间,可操作性差,出现错误换线困难。
今天,计算机技术、网络信息技术和工业软、硬件的不断发展,利用串口传输数据技术,将现场的温度数据以电信号的形式传入控制室,利用工业PC作为人机交互界面构成的监控系统是方案之一。
基于89C51的温度采集系统抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量[2]。
本系统可以应用在大型工业及民用常温多点监测场合,如粮食仓储系统、楼宇自动化系统、温控支撑生产线、温度影像检测、医学与诊疗的温度测试、空调系统的温度检测、石化、机械等。
1.2.测温原理本设计主要用数字式温度传感器DS18B20来采集外界温度,测量结果以数字量方式串行传送。
并通过分析DS18B20的原理和运用算法,把DS18B20的测量精度由0.5℃提高到0.1℃。
该设计硬件部分核心器件为89C51单片机。
通过编写大量汇编程序来支撑单片机来实现温度接收、转换、存储和显示等,最终温度用数码管显示出来。
本次设计的目的就是以数字传感器DS18B20作为前端,采集温度经过单片机处理后,再采用串口通信,把温度显示在VB编辑的计算机界面上,实现与计算机的串口通信。
系统包括硬件和软件两大部分。
系统的硬件部分大致可分为四部分:DS18B20温度采集部分、单片机处理部分、显示电路部分、与计算机串口通信部分。
系统的软件部分分为五大部分:读取DS18B20的内部数据部分、单片机对温度的处理部分、数码显示部分、串口通信部分、VB界面部分。
系统框图如下图1。
图1 电路系统框图1.3.方案选择作为毕业设计基于单片机温度监测系统检测范围较小,各检测器与主控器之间的距离较小,显示器单元可显示检测的温度值,设计并制作这个检测器以及主控器所用的直流稳压电源,由单相220V交流电压供电。
经过改进的系统具有较好的快速型以及数码管显示和测量精度提高等。
温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。
若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。
这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。
所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。
温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首[3]。
1、传感器部分。
方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。
而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行A D转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。
经过以上分析比较,决定采用方案二。
采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以集成芯片的使用将成为电路发展的一种趋势。
本方案应用这一温度芯片,也是顺应这一趋势。
2、主控制部分。
方案一:此方案采用PC机实现。
它可在线编程,可在线仿真的功能,让调试变得方便。
且人机交互友好。
但是PC机输出信号不能直接与DS18B20通信。
需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。
而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!方案二:此方案采用AT89C51八位单片机实现。
单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。