版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上基于单片机的温度控制系统设计与实现下位机系统摘 要温度的测量与控制在工业生产和日常生活中应用广泛。本文介绍了一个基于单片机STC89C52的简单温度控制系统,该系统由上下位机两级组成,上位机采用PC机运行温度监控程序,对温度进行实时监控,同时设定下位机的控制参数,可实现对温度数据的存储管理。下位机由单片机构成温度现场采集与控制终端,负责现场温度的采集与控制。本文着重介绍了下位机系统的设计方案与软硬件实现。下位机系统采用8051单片机组成温度现场测控单元,使用DS18B20数字式温度传感器进行温度测量,温度的实时测量数据通过RS-232上传至上位机,进行实时监视,同时接
2、收上位机的控制指令,通过继电器控制电加热丝的通断,实现对温度的控制。实验表明该系统能够实现对温度的控制,具有一定的控制精度。该系统测温电路简单、连接方便,可用于简单温度控制的场合。关键词:单片机;温度控制;温度传感器;串口通讯Based on a Temperature Control System Design and Implementation - Controller SystemAbstractThe application about temperature measurement and control is normal in the area of industry and
3、daily life. A simple temperature control system, based on the STC89C52 MCU,is introduced in this paper, which include host computer and slave one. The host one, that is PC, runs temperature monitor software which monitors real-time temperature value, sets the control parameters to the slave, and sav
4、e the data. The slave is temperature field collection and control unit composed by MCU, the digital temperature sensor, DS18B20, is used for the temperature measurement, the real-time data is transferred to the host computer by RS-232 for the online monitoring, the control instruction downloaded fro
5、m the host is used to control temperature by means of heating wire make-break controlled by relay. The experiment shows that the system can control the temperature with the better control precise. With the simplicity of the temperature measurement circuit and the convenient connection , this system
6、may be adaptable for the situations needed simple temperature control.Keywords: MCU; Temperature control; Temperature sensor; Serial communication目 录1 绪论11.1 温度控制系统的发展现状11.2 课题的内容及要求31.3 论文的内容及安排42 温度控制系统总体方案设计52.1 系统总体方案设计52.2 硬件总体方案设计52.3 软件总体方案设计73 温度控制系统硬件系统设计83.1 单片机最小系统设计83.2 测温电路设计103.2.1 DS1
7、8B20的介绍103.2.2 测温电路设计133.3 控温电路设计143.4 电平转换及串口通信电路153.4.1 电平转化电路163.4.2 串口通信电路164 温度控制系统的软件方案设计194.1 初始化子程序设计194.2 DS18B20测温子程序设计194.3 串口通信子程序设计224.4 控制部分子程序设计245 系统调试255.1 硬件部分调试255.2 软件部分调试265.3 系统联调27结论29社会经济效益分析30参考文献31致谢33附录 电路图34附录 程序清单35附录 元器件清单44专心-专注-专业1 绪论温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中
8、任何物理、化学过程都紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统
9、温度同步的隔离层,就可以把目标系统与外界进行热隔离。另外,在大部分实际的环境中,增温要比降温方便得多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。下面就简要的讨论一下温度测控技术的发展与现状。1.1 温度控制系统的发展现状近年来,温度的检
10、测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。温度测控技术包括温度测量技术和温度控制技术两个方面。在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体
11、,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅
12、度(即稳态误差)不能超过某允许值。本文所讨论的基于单片机的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。从工业控制器的发展过程来看,温度控制技术大致可分以下几种:1. 定值开关控温法所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂
13、的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。2. PID线性控温法这种控温方法是基于经典控制理论中的PID调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于PID调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法
14、来实现PID调节功能。前者称为模拟PID控制器,后者称为数字PID控制器。其中数字PID控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个PID参数(比例值、积分值、微分值)。只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。3. 智能温度控制法为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PID参数的方法,PID参数的自学习,自整定等等。并通
15、过将智能控制与PID控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度比较低,自适
16、应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。1.2 课题的内容及要求1.课题内容本课题拟设计一个基于单片机的温度控制系统,控制对象基于电热装置,进行水温的控制,本设计为控制系统的下位机设计,主要由单片机构成温度采集与控制终端,实现温度的采集与控制,其控制器参数由上位机设定。具体设计方案如下:(1) 了解和掌握温度控制系统设计原理及方法。(2) 查阅文献,掌握单片机数据采集、控制技术现状。(3) 进行系统方案设计。 (4) 构建硬件平台,编制采集及通信程序,进行联机调试,完成系统功能。2.课题要求(1) 实现温度在6090可调。(2) 控
17、制精度:1。(3) 设备等条件要求:单片机开发系统,PC机。1.3 论文的内容及安排本论文共分5章,具体内容如下:第1章绪论,介绍温度测控系统的背景和发展现状。第2章针对该课题的任务进行具体方案论证和可行性分析,包括硬件方案和软件方案的设计及分析。第3章介绍温度控制系统的硬件系统电路设计。包括单片机最小系统、测温电路部分、控温电路、电平转换电路和串行通信电路等。第4章阐述了温度控制系统的软件设计,包括DS18B20测温子程序、串口通信子程序、温度控制子程序等。第5章介绍软硬件调试的步骤和故障分析,最后得出结论并作社会经济效应分析。2 温度控制系统总体方案设计温度控制有许多种方法,可供选择的器件
18、和运用的技术也有多种,因此,系统的总体方案设计应在满足系统整体性能指标的前提下,充分考虑系统使用的环境,所选的结构要尽量简单实用,易于实现,器件的选用要着眼于合适的参数、稳定的性能、较低的功耗、低廉的成本以及较好的性能等等。本章将介绍基于单片机的测控系统的总体方案的设计并给出结构框图,分别从软硬件两个方面来进行讨论。2.1 系统总体方案设计温控系统是将负载的电加热丝看成是被控对象,温度是控制量,控制前先设定温度值,然后对电加热丝进行温度采集,并将采集的数据通过串行通信传送给上位机,通过控制P口的高低电平,控制电加热丝的通断,从而实现对温度的控制。此课题是一个基于单片机的温度测控系统,需由上下位
19、机联合完成,此系统为下位机系统,主要由单片机构成温度采集与控制终端,实现温度采集与控制,使受控对象达到上位机设定的温度。此系统由软硬件两部分组成,硬件电路是系统的结构框架,是软件的载体,软件是系统的内核,通过硬件来进行具体操作,因此软硬件相互配合,共同完成各种功能。此系统硬件主要由以下几个部分构成:单片机、温度采集电路、温度控制电路、电平转换电路以及串口通讯等部分组成,而系统软件主要通过对单片机编程来实现,此系统使用C语言来完成编程。2.2 硬件总体方案设计本文所研究的系统硬件部分按照功能大致分为以下几个部分:最小系统、测温部分、控温部分以及电平转换和串口通讯部分。其结构框图如图2.1所示:受
20、 控 对 象温度采集电路温度控制电路单片机串口通讯计算机电平转换图2.1 硬件总体结构框图本设计本着低功耗、低成本、性能好等原则,最终选用以下器件来搭建硬件平台: 1.单片机最小系统单片机最小系统包括单片机芯片,时钟电路和复位电路。时钟电路用于产生单片机工作时所必须的时钟信号。STC89C52单片机的内部电路在时钟信号控制下,严格地按时序执行指令进行工作;复位操作是单片机的初始化操作,只需给单片机的复位引脚RST加上大于2个机器周期的高电平就可以使单片机复位。2.测温部分传统的温度检测大多以热敏电阻为温度传感器,这种热敏传感器的工作原理是其电阻值随着温度的变化而发生显著变化,热敏传感器广泛用于
21、一般精度的温度测量,或在计量设备、晶体管电路中作温度补偿。由于热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换为数字信号后才能由单片机进行处理,在高精度要求的温度检测应用中,热敏电阻已经被精度高、准确性好的各种集成温度采集设备所代替。本部分采用的是DS18B20传感器进行温度测量,它在测量温度、转换时间、传输距离、分辨率等方面也有很大的改进。与传统的热敏电阻相比,它不仅能够直接读出被测温度值,并且可以根据实际要求通过简单的变成来读取9到12位的温度值,DS18B20温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源,因而使用DS18B20
22、可使系统结构更简单,可靠性更高,因此,DS18B20被广泛应用于温度采集与处理、数字温度计及各种温度控制系统中。 3.控制电路部分该部分通过单片机的P口输出的高低电平来控制固态继电器的通断,从而决定电热丝是否加热,当P口输出低电平时,加热电阻通电,周围的温度缓慢升高,DS18B20测得的温度值也升高;当P口输出高电平时,加热电路断开,温度回落。4.电平转换与串口通信部分由于单片机的TTL电平与计算机要求的232电平并不兼容,故使用MAX232芯片对电平进行转换,转换后的电平通过串口与计算机进行串口通信。2.3 软件总体方案设计温度控制系统的硬件电路确定之后,其主要功能将依赖于软件来实现,本系统
23、的软件主要是完成温度数据的采集并把采集的数据通过串口通信传送给上位机,同时接收上位机的命令,达到温度控制的目的。软件具体结构框图如图2.2所示:开始初始化调用温度模块程序将温度传送给上位机继电器控制接收上位机指令图2.2 系统结构图3 温度控制系统硬件系统设计本系统需要焊接硬件电路。硬件电路作为整个系统运行的必要框架,是软件正常运行的结构基础,离开了硬件架构,整个系统需要实现的功能就无从谈起。本章内容首先介绍数字式温度传感器,说明了传感器的使用特点,以及它的工作原理及主要特点。其次分别介绍了系统的硬件模块:单片机最小系统、DS18B20与单片机接口电路、控制电路、电平转换和串口通信电路。3.1
24、 单片机最小系统设计本系统主控芯片选用的是STC89C52单片机,是由深圳宏晶公司代理销售的一款MCU,是美国设计生产的一种低电压、高性能CMOS8位单片机,片内含8kbytes的可反复写的FlashROM和128位bytes和RAM,2个16位定时计数器。STC89C52单片机内部主要包括累加器ACC、程序状态字PSW、地址指示器DPTR、制度存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0-P3,定时器/计数器、串行I/O接口以及定时控制逻辑电路等,这些部件通过内部总线连接起来,构成一个完整的微型计算机,其管脚图如图3.1所示:图3.1 STC89C52引脚图单片机系统是本温
25、度测控系统的核心部件,包括时钟电路和复位电路的设计。时钟电路采用的是内部方式时钟电路(如图3.2所示)。STC89C52要形成时钟信号,必须外接元件。用外接11.0592 MHz晶振以及电容C1和C2构成并联谐振电路,接在反馈回路中,电容C1和C2的值选择为30pF。图3.2 单片机内部方式时钟电路图本系统的复位电路是采用按钮复位的电路,如图3.3所示,是常用复位电路之一。当STC89C52单片机的ALE及PSEN两引脚输出高电平,RET引脚高电平到时,单片机复位。RET/VPD端的高电平直接由上电瞬间产生则为上电复位。若通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬
26、间短路,+5V立即加到RET/VPD端,该高电平使STC89C52全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5V加到了RET/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。图3.3 单片机复位电路原理图由单片机以及时钟电路和复位电路构成了单片机的最小系统,最小系统的电路图如图3.4所示:图3.4 单片机最小系统电路图3.2 测温电路设计本部分电路主要通过传感器来实现对温度的测量,本系统选用的是DS18B20传感器,DS18B20是美国DALLAS公司继DS1820
27、之后推出的增强型单总线数字温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。3.2.1 DS18B20的介绍1. DS18B20的结构DS18B20主要由寄生电源、温度传感器、64位串行ROM单线接口、存储中间数据的高速暂存器(内含便笺式RAM)、用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余检验码(CRC)发生器部分。DS18B20管脚排列如图3.5所示:图3.5 DS18B20的引脚图本设计使用的是三引脚的产品。其中,1号引脚接地,2号引脚接数据端,3号引脚接电源。2. DS18
28、B20的主要特点数字型智能温度传感器有以下主要特点:(1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2) 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 (3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的单总线上,实现组网多点测温 。(4) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 。(5) 温范围55125,在-10+85时精度为±0.5 。(6) 温度分辨力可编程。DS18B20的数字温
29、度输出可进行912位编程。在实际应用时,需要在分辨力与转换时间两者之间权衡考虑。当DS18B20工作在12位分辨力时,温度与数字输出的对应关系见表3.1。表3.3 DS18B20输出数据与温度的对应关系温度/数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0001 1010 001000A2H+0.50000 0001 1010 10000008H00000 0000 0000 00000000H-10.12
30、51111 1111 0101 1110FF5EH-25.06251111 1110 0101 1111FE6FH-551111 1100 1001 0000FC90H(7) 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 。(8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 。3. DS18B20测温原理用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个
31、值。如果计数器在门周期结束前达到0,则温度寄存器(同样被预置到-55)的值增加,表明所测量的温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器得值和每一度的计数值。温度测电路的方框图如图3.6所示:停止增加斜率累加器减法计数器1减法计数器2比较计数器温度寄存器减到0减到0预置高
32、温度系数振荡器低温度系数振荡器预置图3.6 DS18B20测温原理图3.2.2 测温电路设计本文中测温电路主要使用DS18B20传感器,通过P1.0口与单片机相连,实现数据的传递,其具体硬件原理图如图3.7所示:图3.7 测温电路原理图DS18B20芯片有两种供电方式:寄生电源供电方式和外部电源供电方式。本文采用的是外部电源供电方式。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在理论上总线上可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬
33、空,否则不能转换温度,读取的温度总是85。外部电源供电方式是DS18B20的最佳工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统,在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V,依然能够保证温度量精度。在实际应用中还需要注意的是,连接DS18B20的总线电缆是有长度限制的,试验中,当采用普通信号电缆传输长度超过50m时,读取的温度数据将发生错误,当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通信距离进一步加长,这种情况主要是由总线分布电容使
34、信号波形发生畸形造成的,因此,在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题。3.3 控温电路设计控制电路是硬件电路部分中十分重要的一部分,这部分的功能通过改变单片机输出口高低电平来控制固态继电器的开关通断,调节加热电阻丝的他通断,从而达到控制水温的目的,使之达到设定温度值。在设计这部分电路时,选用下面的方案。该方案所需的元器件主要有:1.电加热丝电加热丝的选择是主要要考虑稳定性,耐热性能,额定功率等。在此电路中,选用了一个300W的电加热棒来作为电热丝,以此来加热容器内的水,水的温度则是被控对象。2.固态继电器主要作用是控制加热电路的通断,它是用半导体器件代
35、替传统电接点作为切换装置的具有继电器特性的无触点开关器件,单相SSR为四端有源器件,其中两个输入控制端,两个输出端,输入输出间为光隔离,输入端加上直流或脉冲信号到一定电流值后,输出端就能从断态转变成通态。固态继电器的有点可以归结为以下几点:(1) 高寿命,高可靠:SSR没有机械零部件,有固体器件完成触点功能,由于没有运动的零部件,因此能在高冲击,振动的环境下工作,由于组成固态继电器的元器件的固有特性,决定了固态继电器的寿命长,可靠性高。 (2) 灵敏度高,控制功率小,电磁兼容性好:固态继电器的输入电压范围较宽,驱动功率低,可与大多数逻辑集成电路兼容不需加缓冲器或驱动器。 (3) 快速转换:固态
36、继电器因为采用固体器件,所以切换速度可从几毫秒至几微妙。(4) 电磁干扰小:固态继电器没有输入“线圈”,没有触点燃弧和回跳,因而减少了电磁干扰。大多数交流输出固态继电器是一个零电压开关,在零电压处导通,零电流处关断,减少了电流波形的突然中断,从而减少了开关瞬态效应。SSR在导通时,元件将承受P=V(管压降)×I(负载)的耗散功率,其中V有效值和I有效值分别为饱和压降和工作电流的有效值。此时,需依据实际工作环境条件,严格参照额定工作电流时允许的外壳温升(75),合理选用散热器尺寸或降低电流使用,否则将因过热引起失控,甚至造成产品损坏。该方案的特点是:元器件简单、价格低、应用广泛。电路的
37、搭接简单易行。实际操作时安全。由于电源电压很小,以致温度不会上升太高,故只能在被控制的温度不太高的情况下使用。由于本设计处于初级设计阶段,且控制温度不使太高,因此采用器件较为简单、成本较低、易于实现的方案。该方案的设计图如图3.8所示:图3.8 控温电路原理图3.4 电平转换及串口通信电路STC89C52单片机串行口的输入输出均为TTL电平,这种以TTL电平传输数据的方式,抗干扰性差,传输距离短,为了提高串行通信的可靠性,增大通信距离,工程设计人员一般采用标准串行接口,如RS-232、RS-422、RS485等标准单行接口来进行串行通信,本文选用RS-232标准串行接口来实现穿行通信的功能,电
38、平转换部分选用MAX232芯片来实现,其具体电路图如3.9所示:图3.9 电平转换及串行通信电路图3.4.1 电平转化电路由于RS-232C的逻辑0电平规定为十5 V+15V,逻辑1电平规定为-15V-5V,因此,在与TTL电路接口时必须经过电平转换。此系统选用的电平转换芯片为MAX232芯片。其引脚分配图如图3.10所示:图3.10 MAX232引脚分配图MAX232是MAXIM公司生产的、包含两路接收器和驱动器的RS-232C电平转换芯片,适用于各种232通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的士lOV电压。所以,采
39、用此芯片接口的串行通信系统只需单一的+5V电源就可以了。由于其适应性强,加之价格低廉,硬件接口简单,所以被广泛采用。3.4.2 串口通信电路随着计算机系统的应用和微机网络的发展,计算机的通信功能显得越来越重要。从广义上讲,计算机通信可以分为并行通信和串行通信。并行通信速度快、实时性好,但占用的口线多、成本高、通信距离短,不适用于小型化产品。串行通信只需一根传输线即可完成通信功能,成本低,在通信中得到了广泛应用。计算机与外界的数据传送大多数都是串行的,通常把计算机与外界的数据传送称之为通信,因此提到通信就是指串行通信。串行通信是计算机与外围设备之间进行信息交换的一种方式,是指数据一位一位的按顺序
40、在一根信号线上进行传输的通信方式。串行通信有两种基本工作方式:异步传送和同步传送。在单片机中使用的串行通信都是异步方式,因此本系统中采用异步串行通信方式来实现单片机与PC之间的通信。异步串行通信是以字符为单位组成的帧传送的,即一帧一帧的传送。帧由发送端一帧一帧地发送,通过传输线被接收设备一帧一帧地接收。发送端何时开始发送和何时结束发送是由帧格式规定的。通信线上没有数据传送时为逻辑高电平,每当接收端检测到传输线上发送来的逻辑低电平(帧起始位)时就知道发送端已开始发送,每当接收端接收到帧的停止时就知道一帧字符信息已发送完毕。帧是一个字符的完整通信格式,由起始位、数据位、奇偶校验位和停止位等四部分组
41、成。字符串送的帧格式如图3.11所示:图3.11 异步通信的帧格式1.帧中各部分结构和功能如下:(1) 起始位:位于字符帧开头,始终为逻辑“0”低电平。用于向接收设备表示发送端开始发送一帧信息。(2) 数据位:紧跟起始位之后,数据位的个数可以是5, 6,7,8或9位。PC机中经常采用7位或8位数据传送,8051串行口采用8位或9位数据传送。传送时,数据位从最低有效位开始发送,依次在接收设备中被转换为并行数据。(3) 奇偶校验位:位于数据位后,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有3种可能,即奇(4) 停止位:位于字符帧末尾,为逻辑“1”高电平,用于标志一个字符传送的结束。可
42、取1,1.5或2位。2.串行通信的数据传送方式在串行通信中,数据通常是校验、偶校验和无校验,由用户根据需要选定。在发送端和接收端之间进行传送,根据数据传送的方向,可分成三种基本的传送形式:单工、全双工和半双工。3.串行通信的传送速率在串行通信中,用“波特率”来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为bps。它是衡量串行数据传输速度决慢的重要指标。接收方的波特率和发送方的波特率可以分别设置,但接收方的接收波特率必须与发送方的发送波特率相同。在串行通信时,要求双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。RS-232C是美国电子工业EIA公布的串行通信标
43、准,RS代表推荐,232是标识号,C表示修改的次数。RS-232C适用于短距离或带调制解器的通信场合,目前已广泛应用于计算机外围设备的串行异步通信接口中。RS-232C的机械特性主要指两个通信装置如何实现机械对接。RS-232C是数据终端设备DTE和数据通讯设备DCE之间的接口,RS-232C的机械标准规定DTE应配置DB25的插头,即25针连接器,DEC应配置DB25的插座,即25孔连接器。实际应用中,DB25型连接器的许多信号用不上,对于一般的双工通信,仅需几条信号线就可以实现,包括一条发送线、一条接收线和一条地线。因此普遍采用DB9插头,即9针连接器。为使数据PC和单片机之间无差错地传送
44、,本文采用协议来约定数据的传输。PC与单片机双方的通信协议约定如下:波特率:9600bps数据格式:8位数据位,1位停止位,无奇偶校验。传送方式:单片机采用查询法向PC发送数据,传送的数据格式为二进制格式。DS18B20转换出的温度信息包含两个字节,经过处理后,一个字节为温度的整数部分,另一个字节为温度的小数部分。每个DS1820共传送二个字节,第一个字节是温度整数部分,第二个字节是温度小数部分。4 温度控制系统的软件方案设计温度控制电路的硬件电路确定之后,测控系统的主要功能将依赖于软件实现。软件的设计应遵循结构化设计原则,在总体概况设计的基础上进行具体的详细设计,功能分解,模块划分,细化软件
45、层次,优化软件结构,以达到模块功能的独立性,执行的高效性。总之,设计的程序应该达到可读性,可理解性,可维护性,有效性,可修改性。该温度控制系统程序主要包括以下几个模块:初始化子程序、DS18B20测温子程序、串口通信子程序、温度控制子程序等。4.1 初始化子程序设计在初始化子程序中,主要是对单片机的各种参数进行软件设置,本文设置的是定时器1、工作方式2、波特率为9600Kbps。void InitUART(void) TMOD = 0x20; /*定时器1,工作方式2*/ SCON = 0x50; TH1 = 0xFD; /*设置波特率为9600Kbps*/ TL1 = TH1; PCON =
46、 0x00; EA = 1; ES = 1; TR1 = 1;4.2 DS18B20测温子程序设计DS18B20测温过程,调用程序开始后,首先进行初始化,定义全局变量,局部变量等。然后判断DS18B20是否存在,是则执行下不操作命令,否则返回继续判断程序,接下来执行程序存储器ROM操作命令,然后执行存储操作命令,延时等待转换完成后执行读取操作命令,最后结束并输出结果。其具体工作流程图如图4.1所示:NY返回读取温度值存储操作命令ROM操作命令开始初始化DS18B20是否存在图4.1 测温子程序流程图具体子程序如下:void TemperatuerResult(void) p = id_buff
47、; ReadID(); Init18b20 ();WriteByte(0xcc); /跳过 rom WriteByte(0x44); /温度转换 Init18b20 (); WriteByte(0xcc); /跳过 rom WriteByte(0xbe); /读取温度 p = temp_buff; GetTemp();从DS18B20测温工作流程图可以看出,主CPU经过单总线接口访问DS18B20芯片的命令可以分为初始化命令、ROM操作命令、存储器操作命令。1.DS18B20初始化命令单总线上的所有处理均从初始化命令开始,初始化命令为主机发出一个复位脉冲并由总线送入DS18B20芯片,随后等待
48、芯片送出的存在的应答脉冲。若检测到应答脉冲,则说明DS18B20芯片可以正常工作,若无则继续检测。void Init18b20 (void) dq=1; _nop_(); dq=0; TempDelay(86); /延时 530 uS/80 _nop_(); dq=1; TempDelay(14); /延时100 uS/14 _nop_(); _nop_(); _nop_(); if(dq=0) flag = 1; /DS18B20 存在 else flag = 0; / DS18B20 不存在 TempDelay(20); /延时20 _nop_(); _nop_(); dq = 1;2.R
49、OM操作命令一旦总线主机检测到从属器件的存在,它便可以发出器件ROM操作命令之一,所有ROM操作命令均为8位,在单片机检测到应答脉冲后,就可以发ROM命令,该命令字要通过1-Wire通信协议规定的严格的写时隙,逐位写到单总线上,DS18B20会自动接收到这些命令,并准备响应相应的操作。与DS18B20的通信经过一个单线接口,在单线接口情况下,在ROM操作未建立之前,不能使用存储器和控制操作,主机必须首先提供5种ROM操作命令之一:Read ROM(读ROM)、Match ROM(匹配ROM)、Search ROM(搜索ROM)、Skip ROM(跳过ROM)、Alarm Search(告警搜索
50、)。3.存储器操作命令在DS18B20成功地执行了ROM操作序列之后,要使用存储器命令。主机可以提供6种存储器命令:温度变换、读暂存器、写暂存器、复制暂存器、重写、读供电方式。4.3 串口通信子程序设计1.数据的接收接收数据时,不断查询RI是否置1,一旦发现RI置1后就将串行数据缓存器SBUF读出,再把接收中断标志位RI清0。void UARTInterrupt(void) interrupt 4 if(RI) RI = 0; if(!inbufful) inbufinlast= SBUF; /*放入数据*/ inlast+; /*最后放入的位置加一*/ inbufsign=1; if (in
51、last=ILEN) inlast=0; /*地址到顶部回到底部*/ if (inlast=getlast)inbufful=1; /*接收缓冲区满置满标志*/ else TI = 0;unsigned char GetByte (void)unsigned char c ;unsigned int i; ES=0; c= inbufgetlast; /*取数据*/ getlast+; /*最后取走的数据位置加一*/ inbufful=0; /*输入缓冲区的满标志清零*/ if (getlast=ILEN) getlast=0; /*地址到顶部回到底部*/ if (getlast=inlast
52、) inbufsign=0; /*地址相等置接收缓冲区空空标志,再取数前要检该标志*/ ES=1; return (c); /*取回数据*/2.数据的发送本系统采用的是单点采集,即单片机采集一个数据便保存起来,待全部采集完后存放在指定存储单元中,通过串口发送给上位机。发送结束后清发送标志位。void SendOneByte(unsigned char c) ES=0; SBUF = c; while(!TI); TI = 0; ES=1;4.4 控制部分子程序设计本部分主要实现的功能是接收上位机的命令,当接收的命令为“K”时,对单片机P0.1输出低电平,固态继电器闭合,从而接通加热丝使其对水进
53、行加热;反之,若接收的命令为“G”,则P0.1口输出高电平,加热丝停止加热,使温度回落。子程序的流程图如图4.2所示: “K”“G”接收数据P0.1=0加热丝工作P0.1=1加热丝停止工作判断数据为“K”还是“G” 开始图4.2 控制部分流程图具体子程序如下: if (inbufsign)k=GetByte(); if (k='K') DRV=0; if (k='G') DRV=1; 5 系统调试STC89C52单片机功能虽然很强,但只是一个芯片,本身无自开发能力,必须借助一定的开发系统来开发软件和对硬件电路进行诊断、调试。本设计使用的仿真系统是伟福开发系统,对
54、所设计的测控系统进行仿真。该仿真系统可以对用户样机硬件电路进行诊断与检查,具有程序的输入与修改,运行、调试、排错等功能,而且具有较全的开发软件,支持多种语言进行软件开发。5.1 硬件部分调试按照电路图焊接好电路板后,就需要对硬件电路进行调试了,我焊接的硬件电路板如图5.1所示:图5.1 焊接完成后电路板硬件部分的调试主要是对照设计的电路图,利用万用表来检测各个引脚之间有没有虚焊,硬件板上各个相邻引脚之间有没有短路。1.系统板焊接完后,测试单片机各个功能管脚,当测到(RESET)脚时,发现不复位时,此脚的电压也为高电平。原因及解决方法:复位电路中有一些地方焊接得不对。解决方法:把复位电路中的错误地方拆下来,再按照正确的方式焊接上。2.单片机复位电路中,经查,10uF电容的两个引脚发生短路,导致复位电路失效。经重新焊接,使该部分功能恢复正常。3.温度控制电路的调试在调试温度控制电路时,由于控制比较复杂,所以采用先用面板上进行插接,通过给一个高电平到控制电路输入,看是否能控制继电器的通断以至控制加热电路的通断。在面板上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地方公务员广东申论74
- 2016年6月18日下午山东省公务员面试真题
- 小学三年级心理健康教育上册教案
- 2018年6月9日天津市法检系统公务员考试面试真题
- 安徽公务员面试模拟32
- 2024年健身房会员会籍升级合同
- 2010年4月15日渝中区事业单位面试真题
- 建筑工程支模施工方法及措施专项方案
- 建筑工程木门窗安装施工工艺质量管理标准化指导图示
- 2024年门市 租赁协议样本
- 《喜迎建队日 争做好少年》主题班会教案3篇
- 北京市初一上学期期中道德与法治试卷与参考答案
- 高盛-比亚迪:全球汽车市场上的新兴领先企业-2024-10-企业研究
- 医师定期考核人文医学模拟考试500题(含参考答案)
- 2024版《儿童脑性瘫痪》课件
- 秀场内外-走进服装表演艺术智慧树知到答案2024年武汉纺织大学
- 2024年度安徽白帝集团限公司社会招聘高频500题难、易错点模拟试题附带答案详解
- 《珍爱生命远离火灾》消防安全教育课件
- 陇南西和县招聘基层司法所司法协理员考试试卷及答案
- GB 20182-2024商用车驾驶室外部凸出物
- 工业互联网应用专业行业调研与人才需求分析
评论
0/150
提交评论