毕业设计--MCS-51单片机温度控制系统的设计.doc_第1页
毕业设计--MCS-51单片机温度控制系统的设计.doc_第2页
毕业设计--MCS-51单片机温度控制系统的设计.doc_第3页
毕业设计--MCS-51单片机温度控制系统的设计.doc_第4页
毕业设计--MCS-51单片机温度控制系统的设计.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录摘要:3abstract3第一章 绪论411 课题的背景与意义412 课题的应用与展望413 课题举例简介5第二章 总体方案621 系统结构622 具体设计考虑6第三章 元器件简介731 at89c51单片机7311 概述7312 主要特性8313 引脚功能832 ad590温度传感器10321 概述10322 主要特性11323 ad590工作原理1133 adc0809模数转换器13331 主要特性13332 adc0809工作原理13第四章 硬件设计1441 扩展外围接口1442 温度控制电路1543 温度检测电路设计15431 设计目标15432 设计的出发点16433 设计原理16434 转换电路16435 信号处理电路17436 主电路1844 光电隔离电路1945 过零检测电路1946 pid控制算法20461 pid控制作用20462 pid算法的微机实现20463 pid算法的程序设计21第五章 软件设计2251 设计步骤23511 画出系统的程序框图23512 内存分配24第六章 系统调试2661 硬件调试方法26611 常见的硬件故障26612 联机调试27613 脱机调试2862 软件调试方法2863 误差分析29第七章 结论29参考文献30致谢31附录a32外文原文32中文翻译39附录b45附录c55摘要:本文主要从硬件和软件两方面介绍了mcs-51单片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。还介绍了在单片机温度控制系统的软硬件设计中的一些主要技术关键环节,该系统主要以8031单片机为核心,由温度检测电路,模/数转换电路, 过零检测电路, 报警与指示电路, 光电隔离与功率放大电路等构成。但用at89c51单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行了实时采集与检测。本设计介绍的单片机温度自动控制系统的主要内容包括:系统方案、元器件选择、系统理论分析、硬件设计、软件设计、系统调试及主要技术性能参数。关键词:单片机;温度传感器;温度检测;温度控制;pid算法abstract:the design of single-chips temperature control system is introduced from hardware and software, and simply explains how to actualize the temperature control. the hardware principle and software case fig are described. some important techniques in a design scheme of the hardware and the software of the temperature control by single-chip microcomputer are introduced. the system mostly takes 8031 single-chip microcomputer as core, it is structured by temperature testing circuit, a/d switch circuit, zero passage testing circuit, warning and indication circuit, optical-electrical isolation and power amplifier circuit and so on.the main content of this design is temperature testing circuit that uses at89c51 single-chip microcomputer .it is a part of the whole design that cannot be lacked. the system is used to collect and control temperature in real time. the temperature automatic control system based on single-chip microcomputer is described in the article including system scheme,parts of an apparatus choice, theoretical analysis,the design of hardware and software, system testing,and the main technical performance parameters key words:singlechip microcomputer;temperature sensor;temperature collecting;temperature controlling;pid algorithm 第一章 绪论11 课题的背景与意义在近四十年的时间里,电子计算机的发展经历了从电子管、晶体管、中小规模集成电路到大规模集成电路这样四个阶段,尤其是随着半导体集成技术的飞跃发展,七十年代初诞生了一代新型的电子计算机微型计算机,使得计算机应用日益广泛;而单片微型计算机的问世,则更进一步推动了这一发展趋势,使计算机应用渗透到各行各业,达到了前所未有的普及程度。一个由微电子技术为先导,计算机技术为标志,包括新材料、宇航、生物工程、海洋工程等多种学科在内的新技术革命正在兴起。 在国内,由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。12 课题的应用与展望 随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械等工业中,具有举足重轻的作用,因此,温度控制系统是典型的控制系统。对于不同场所、不同工艺、所需温度高低 范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。目前, 单片微机已普遍地作用于生产过程的自动控制领域中。单片机以其体积小、价格低廉、可用其构成计算机控制系统中的智能控制单元和可靠性高等特点, 受到广大工程技术人员的重视。温度是生产过程中最常见的物理量, 许多生产过程是以温度作为其被控参数的。因此,温度控制系统是典型的控制系统。13 课题举例简介在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用mcs-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。下面介绍一种功能简化后的温度控制系统的设计过程。假设某烘干道采用过热蒸汽为热源,蒸汽管道经热交换器加热空气并通过风机向烘箱送热风实现对胶布(带)的循环加热,烘箱的温度变化范围为0120。根据工艺要求,系统需实现如下功能和指标: 温度给定值在85左右且现场可调; 温度控制误差2; 实时显示温度值,保留1位小数;温度超过给定值10时声光报警; 控制参数可在线修改。第二章 总体方案根据功能和指标要求,本系统可以从元件级开始设计,选用mcs-51单片机为主控机。通过扩展必要的外围接口电路,实现对烘箱温度的测量和控制。21 系统结构该系统以89c51单片机为核心,由温度测量变换、测量放大、大功率运放、a/d与d/a转换器、输入光电隔离、驱动电路、键盘显示、存储器共同组成。在系统中,温度和时间的设置、温度值及误差显示、控制参数得设置、运行、暂停及复位等功能由键盘及显示电路完成。图2-1 单片机温度控制系统方案原理示意图传感器把测量的烘箱温度信号转换成弱电压信号,经过信号放大电路,送入低通滤波电路,以消除噪音和干扰,滤波后的信号输入到a/d转换器(adc0809)转换成数字信号输入主机(单片机8031)。22 具体设计考虑1、由于温度测量范围为0120,控制精度也不高,可选用8路8位adc0809作a/d转换器,分辨率可达0.5;为了方便操作,系统可不扩展专用键盘,温度给定输入可用2位bcd码拨盘开关置数;温度显示可用4位led;为了实现通过调节蒸汽流量控温,可扩展8位dac0832作d/a转换器。于是,单片机基本系统应为:8031+2764+8255+adc0809+dac0832+4位led。2、温度测量可以选用半导体集成温度传感器ad590,它的响应速度快,与单片机接口简单。其测温范围为-55+150,工作电压430v,输出电流与绝对温度成正比,即为1a/k。执行机构可选用zkzp-型线性电动单座调节阀,用它来调节通入烘箱的蒸汽流量。调节阀用d/a转换器输出的可调电流控制,0ma对应阀门完全关闭,10ma对应阀门全打开。 3、可采用带死区的比例积分(pi)控制算法实现对温度的控制。烘箱温度与给定值的偏差小时,调节阀不动作,以减少阀的机械磨损;偏差较大时,经pi算法运算后,单片机通过d/a输出控制信号控制阀门的开度,为了使控制参数现场可调,可用3个电位器产生3路可调电压经过a/d转换实现对a/d转换,实现对pi算法的3个参数(比例系数kp、积分系数ki、控制周期tc)在线整定。这种方法不仅可使参数调整方便,而且具有掉电保护功能。4、为了提高系统的抗干扰能力,d/a转换器与单片机之间进行光电隔离。使电动阀和单片机之间不共地。第三章 元器件简介31 at89c51单片机311 概述at89c51是一个低电压,高性能cmos 8位单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。片内含4k bytes的可反复擦写的flash只读程序存储器和128 bytes的随机存取数据存储器(ram),可以按照常规方法进行编程,也可以在线编程。器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,内置功能强大的微型计算机的at89c51提供了高性价比的解决方案。312 主要特性at89c51的主要特性如下: 寿命达1000写/擦循环数据保留时间:10年 全静态工作:0hz24mhz 三级程序存储器锁定1288位内部ram 32可编程i/o线 2个16位定时器/计数器6个中断源可编程串行通道低功耗闲置和掉电模式片内振荡器和时钟电路313 引脚功能at89c51引脚排列如图3-1所示,引脚功能如下: 图3-1 at89c51的引脚排列vcc(40):5vgnd(20):接地p0口(3932):p0口为8位漏极开路双向i/o口,每个引脚可吸收8个ttl门电流。 p1口(18):p1口是从内部提供上拉电阻器的8位双向i/o口,p1口缓冲器能接收和输出4个ttl门电流。 p2口(2128):p2口为内部上拉电阻器的8位双向i/o口,p2口缓冲器可接收和输出4个ttl门电流。 p3口(1017):p3口是8个带有内部上拉电阻器的双向i/o口,可接收和输出4个ttl门电流,p3口也可作为at89c51的特殊功能口。 rst(9):复位输入。当振荡器复位时,要保持rst引脚2个机器周期的高电平时间。 ale/prog(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ale脉冲。 psen(29):外部程序存储器的选通信号。在由外部程序存储器取值期间,每个机器周期2次psen有效,但在访问外部数据存储器时,这2次有效的psen信号将不出现。 ea/vpp(31):当ea保持低电平时,外部程序存储器地址为(0000hffffh)不管是否有内部程序存储器。flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。 xtal2(18):来自反向振荡器的输出。 32 ad590温度传感器321 概述ad590是ad公司利用pn结正向电流与温度的关系制成的电流输出型两端温度传感器。实际上,中国也开发出了同类型的产品sg590。这种器件在被测温度一定时,相当于一个恒流源。该器件具有良好的线性和互换性,测量精度高,并具有消除电源波动的特性。即使电源在5-15v之间变化,其电流只是在1a以下作微小变化。ad590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分档,ad590后缀以i、j、k、l、m表示。ad590l、ad590m一般用于精密温度测量电路,其电路外形如图所示,它采用金属壳3脚封装,其中1脚为电源正端v+,2脚为电流输出端i0,3脚为管壳,一般不用。集成温度传感器的电路符号如图3-2所示。图3-2 ad590的外形电路图及电路符号322 主要特性ad590的主要特性参数如下:工作电压:430v工作温度:-55+150保存温度:-65+175正向电压:+44v反向电压:-20v焊接温度(10秒):300灵敏度:1a/k323 ad590工作原理在被测温度一定时,ad590相当于一个恒流源,把它和5-30v的直流电源相连,并在输出端串接一个1k的恒值电阻,此电阻上流过的电流与被测温度成正比,此时电阻两端将会有1mv/k的电压信号。其基本电路如图3-3所示。 图3-3 感温部分的核心电路图3是利用ure特性的集成pn结传感器的感温部分核心电路。其中t1、t2起恒流作用,可用于使左右两支路的集电极电流i1和i2相等;t3、t4是感温用的晶体管,两个管的材质和工艺完全相同,但t3实质上是由n个晶体管并联而成,因而其结面积是t4的n倍。t3和t4的发射结电压ure3和ure4经反极性串联后加在电阻r上,所以r上端电压为ure。因此,电流ii为:ii=ure/r=(kt/q)(inn)/r对于ad590,n=8,这样,电路的总电流将与热力学温度t成正比,将此电流引至负载电阻rl上便可得到与t成正比的输出电压。由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。图3中的电阻r是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1a/k的i值。 ad590的内部结构电路如图3-4所示。 图3-4 ad590的内部结构33 adc0809模数转换器331 主要特性adc0809的主要特性指标:分辨率:n=8时钟频率:小于640khz转换时间:大于等于100微秒不可调误差:1lsb电源:单电源正5v模拟输入量:8路模拟输入范围:05v参考电压:uref(+)uref(-)=5v332 adc0809工作原理adc0809为逐次逼近式a/d转换器,具有8个模拟量输入通道。它能与微型计算机的大部分总线兼容,可在程序的控制下选择8个模入通道之一进行a/d转换, 然后把得到的8位二进制数据送到微机的数据总线,供cpu处理。转换器是adc0809的核心部分,它由d/a转换、逐次逼近寄存器(sar)、比较器等组成。其中,d/a转换电路采用了256rt型电阻网络(即2n个电阻分压器,此处n=8),它在启动脉冲的上升沿来到时被复位,在启动脉冲的下降沿a/d开始转换。如果在转换过程中接收到新的启动转换脉冲,则终止转换。转换结束信号eoc在a/d转换完成时为“1”。adc0809的内部结构如图3-5所示。 图3-5 adc0809的内部结构第四章 硬件设计41 扩展外围接口根据总体方案,采用8031外扩2764作程序存储器;外扩8255用于4位led显示温度、声光报警和扩展光电隔型dac产生010ma可调电流控制电动阀;外扩8路8位adc0809作温度测量和通过3个电位器产生3个可调控制参数;2位bcd码给定拨盘则和8031的p1口相连。完整的硬件电路组成如图4-1所示(附录b)。图4-1中,通过8255的pa口和pc0pc3口扩展4位led;通过pb口和pc5扩展光电隔型d/a,dac0832设置为单缓冲方式,vref=-5v,于是经运算放大器a1后产生05v可调直流电压,再经运算放大器a2在复合三极管t的集电极和+12v电源之间产生010ma可调电流,以便控制电动阀的动作(图4-1中,rw1于调整满量程值,d1用于保护三极管t);通过总线直接扩展adc0809,由于仅使用4路,故选择通道的c端直接接地,由于温度传感器是输出电流信号且与绝对温度成正比,故采用电平移动电路及放大电路使运算放大器a3输出电压值与摄氏温度成正比(图4-1中rw2,rw3分别用语温度测量电路的零点调节和满量程调节);声音报警电路中,蜂鸣器采用长鸣形式,由门电路构成1s振荡器产生的响音;2位bcd码给定拨盘则和8031的p1口直接接口,各位又通过2k电阻接地。由于各扩展芯片用线选发产生片选信号,故他们的接口地址分别为:2764:0000h1fffh8255:7000h7003hadc0809:b000hb003h42 温度控制电路8031对温度的控制是通过双向可控硅实现的。如单片机温度控制系统电路原理图所示,双向可控硅管和加热丝串接在交流220v、50hz是电回路。在给定周期t内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由8031用软件在p3.1引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。43 温度检测电路设计431 设计目标用单片机对温度进行实时检测和控制,以解决工业及日常生活中对温度的及时自动控制问题;用十进制数码显示实际温度值,方便人工监视;用键盘输入温度控制范围值,便于在不同应用场所设置不同温度范围值。当实际温度值不在该范围时,系统能自动调节温度, 以保持设定的温度基本不变,达到自动控制的目的。系统的温度最小区分度为1。在环境温度变化时,温度控制的静态误差小于等于0.5。432 设计的出发点在达到对温度的检测和控制的基础上,达到一定的测控精度,并尽量使系统的可靠性高、稳定性好、性价比高、速度快、使用灵活、实现容易、便于扩充。433 设计原理本设计采用89c51单片机应用系统来实现设计要求,因89c51在片内含4kb的eeprom,不需外扩展存储器,可使系统整体结构简单。利用89c51串行口输出工作方式,使89c51的利用率大大提高,外部电路得以简化。89c51可直接对键盘进行扫描读数,可直接用串/并转换模块驱动led显示温度值。因其利用率高,负载重,后相电路只需加一块同相驱动器即可正常工作。在串行传输数据时,频率可达到1mhz,对温度的显示完全达到测控精度要求。 434 转换电路在设计测温电路时,首先应将电流转换成电压。由于ad590为电流输出元件,它的温度每升高1k,电流就增加1a。当ad590的电流通过一个10k的电阻时,这个电阻上的压降为10mv即转换成10mv/k,为了使此电阻精确(0.1%),可用一个9.6k的电阻与一个1k电位器串联,然后通过调节电位器来获得精确的10k。图所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器a1被接成电压跟随器形式,以增加信号的输入阻抗。而运放a2的作用是把绝对温标转换成摄氏温标,给a2的同相输入端输入一个恒定的电压(如1.235v),然后将此电压放 图4-2 电流/电压和绝对/摄氏温标的转换电路大到2.73v。这样,a1与a2输出端之间的电压即为转换成的摄氏温标。将ad590放入0的冰水混合溶液中,a1同相输入端的电压应为2.73v,同样使a2的输出电压也为2.73v,因此a1与a2 两输出端之间的电压:2.73-2.73=0即对应于0。435 信号处理电路 温度检测的小信号放大与绝对/摄氏温度转换采用图电路,其中rw用来完成绝对/摄氏温度转换及调零功能,运放要求采用一片集成普通四运放lm324来完成图的信号处理功能,其工作电源取单电源vcc=9v。设计中电阻元件可参考下列取值:r1=r2=10k、r3=r4=20k、r5=r6=20k、rg=5k、rw=10k;高频滤波电容可取c=0.01f。 图4-3 信号处理电路436 主电路 主电路如图4-4所示,温度检测信号输入adc0809的in3引脚,经过模数转换结果输入at89c51,结果从p1口输出驱动2个led实现数据显示功能。图4-4 温度检测主电路44 光电隔离电路这部分电路是单片机与电阻丝加热器的接口。由于电阻丝的加热电压大于单片机的工作电压,为了避免烧坏单片机系统,采用光电隔离电路如图4-5所示。图4-5 光电隔离及放大电路45 过零检测电路过零检测电路在每一个电源周期开始时产生一个脉冲,作为触发器的同步信号, 计数器t0对其进行计数。其电路如图4-6所示。220v交流电压经电阻限流后直接加到2个反相并联的光电偶器的输入端。在交流电源的正负半周, 分别导通, 输出低电平, 在交流电源正弦波过零的瞬间,两个光电耦合器均不导通, 输出高电平。该脉冲信号经非门整形后作为单片机的中断请求信号和可控硅的过零同步信号。 图4-6 过零检测电路46 pid控制算法前面提到,大多数的温度控制系统可以看作一阶纯滞后环节,由于本系统纯滞后时间较小,故可采用pid(比例、积分、微分)控制算法实施控制。461 pid控制作用pid是比例(p)、积分(i)和微分(d)3个控制作用的组合。连续系统pid控制器的微分方程为:y(t)= kppe(t)+ (4-1)式中 y(t)为控制器的输出;e(t)为控制器的输入;kp比例放大系数;ti为控制器的积分时间常数;td为控制器的微分时间常数。显然,kp越大,控制器的控制作用越强;只要e(t)不为0,积分项会因积分而使控制器的输出变化;只要e(t)有变化的趋势,控制器就会在微分作用下,在偏差出现且偏差不大时提前给输出一个较强的控制作用。462 pid算法的微机实现由于微机控制系统是一种时间离散控制系统,故必须把微分方程离散化为差分方程,最终写出递推公式才能直接应用。显然: (4-2) (4-3)于是, kpe(n)+e(n)-e(n-1) (4-4)式中t=t,为采样周期;e(t)为第n次采样的偏差值;e(n-1)为第(n-1)次采样时的偏差值;n为采样序列,n=0,1,2,。由式(4-4)可以看出:计算一次y(n),不仅需要的存储器空间大,而且计算量也很大,于是进一步写出递推公式:由 y(n-1)= kp e(n-1)+ +e(n-1)-e(n-2) (4-5) 由式(4)减去式(5)得: y(n)=y(n)-y(n-1) =kp e(n)-e(n-1)+e(n)-2e(n-1)+e(n-2) = kpe(n)-e(n-1)+ ki e(n)+kde(n)-2e(n-1)+e(n-2) (4-6) 或 y(n)=y(n-1)+ kpe(n)-e(n-1)+ ki e(n)+kde(n)-2e(n-1)+e(n-2)(4-7)式中 ki=kp,称为积分常数;kd=kp,称为微分常数。463 pid算法的程序设计在本控制系统中,烘箱温度与给定值的偏差经过单片机pi算法运算后从dac0832输出010ma控制电流去控制电动阀的开度,所以应采用式(7)的位置式算法(且kd=0即为pi),即:ypi(n)=y(n-1)+ kpe(n)-e(n-1)+ ki e(n)(4-8)如果设kp,ki为纯小数,kp,ki,e(n),e(n-1)分别放在8031片内ram的25h,26h,29h,2ah中,pi结果ypi(n)放在r3r4中,则pi控制程序如下: pi:mov a,29h ;e(n) clr c subb a,2ah ;e(n)-e(n-1) mov b,25h ;kp lcall mults ;kp e(n)-e(n-1) mov r4,a mov r3,b ;暂存于r3r4 mov a,29h ;e(n) mov a,26h ;ki lcall mults ;ki e(n) add a,r4 mov r4,a mov a,b addc a,r3 mov r3,a ;r3r4= kp e(n)-e(n-1)+ ki e(n) retmults:clr f0 ;置e(n)符号标志位为正 jnb acc.7,mul1 setb f0 ;置e(n)符号标志位为负 cpl a inc a ;取绝对值mul1:mul ab jnb f0,mul2 cpl a add a,#1 mov r2,a mov a,b cpl a addc a,#0 mov b,a mov a,r2 ;还原为补码mul2:ret第五章 软件设计本系统的控制软件可设计为一个主程序和一个t0通道中断服务程序。主程序的功能是完成系统初始化及温度和设定参数的显示,由于只有4位led,而温度bcd码设定值正常工作时应在85左右,不可能太小,故可以用它设定为小值时来选择显示参数;t0通道可定时100ms,其中,定时1s完成数据的采集、报警和显示处理,定时tc秒完成控制算法的运算和控制输出。51 设计步骤511 画出系统的程序框图如图5-1所示,为主程序框图,为t0通道中断服务程序框图。t0中断服务程序是温度控制系统的主体程序,用于启动a/d转换,读入采样数据,数字滤波,越限温度报警和越限处理,pid计算和输出可控硅的同步触发脉冲等。p1.3引脚上输出的该同步触发脉冲宽度由t1计数器的溢出中断控制,8031利用等待t1溢出中断空隙时间完成把本次采样值转换成显示值而放入显示缓冲区和调用温度显示程序。8031从t1中断服务程序返回后便可恢复现场和返回主程序,以等待下次t0中断。 图5-1 温度控制系统程序框图512 内存分配为了编程方便,可以把8031的内部128b ram先进行分配;也可在程序中用标号代替,最后用equ或data定义。如果先对内存进行分配,本系统可分配为: 00h07h,r0r7供主程序使用 08h0fh,r0r7供t0中断服务程序使用 20h 定时1s时间常数(初值为10) 21h 8255a口数据暂存(显示器段码) 22h 8255b口数据暂存(d/a数据) 23h 8255c口数据暂存 24h 8031 p1 口的t给定bcd值暂存。当t给定=01h时,显示的数据为kp参数,格式为p-;当t给定=02h,显示器显示的数据为ki参数,格式为i-;当t给定=03h,显示器显示的数据为tc参数,格式为t-;t给定为其他值(85左右),显示器显示的数据为温度测量值 25h kp参数暂存 26h ki参数暂存 27h tc参数暂存 28h t测量值(a/d)暂存 29h e(n)参数暂存 2ah e(n-1)参数暂存 2bh2eh 4次a/d值暂存 2fh 定时tc秒调节工作单元 30h31h t测量bcd码值暂存、格式为. 32h t测量值实际温度暂存 50h7bh sp指针工作区 7ch7fh 显示缓冲区(从左到右)第六章 系统调试系统调试通常包括实验室硬件联调、实验室软件联调、实验室系统仿真、仿真考机运行和现场安装调试等几个环节。在系统总装以后,首先要进行实验室条件下的系统硬件联调;联调成功以后,有了硬件操作保证,就很容易发现软件的错误,在软件调试过程中,有时也会发现硬件故障,软件故障完毕,硬件中的隐藏问题也能被发现和纠正;在进入现场以前,还必须在实验室条件下把存在的问题充分暴露,并加以解决,通常是用模型代替实际系统进行完全仿真调试,通过后进行连续不停机的48h考机运行,正确无误后再进入现场安装,运行成功并经过一定时间的使用,最终验收合格才算完成整个系统的设计工作。下面通过硬件和软件两方面介绍相应的调试方法。61 硬件调试方法611 常见的硬件故障1、逻辑错误 它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路、相位错等。2、元器件失效 有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、二极管的极性错误、集成电路安装方向错误等。3、可靠性差 引起可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部干扰、电源纹波系数大、器件负荷过大等造成逻辑电平不稳定;走线和布局不合理也会引起系统可靠性差。4、电源故障 若样机有电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。612 联机调试 通过脱机调试可排除一些明显的硬件故障,但有些故障还必须通过联机调试才能发现和排除。联机前先断电,将单片机开发系统的仿真头插到样机的8031插件上,检查开发机和样机之间的电源、接地是否良好。一切正常后,即可打开电源。通电后执行开发机的读写指令,对样机的存储器、i/o端口进行读写操作、逻辑检查,若有故障,可用示波器观察有关波形(如选中的译码器输出波形、读写控制信号、地址数据波形以及有关的控制电平)。通过对波形的观察分析,寻找故障原因并进一步排除故障。可能的故障有:路线连接上有逻辑错误、有断路或短路现象、集成电路失效等。在样机主机部分调试好后,可以插上系统的其他外围部件,例如键盘、显示器、输出驱动板、a/d及d/a板等,再对这部分进行初步调试。在调试过程中若发现用户系统工作不稳定,可能有下列情况:电源系统供电不足,或联机时公共地线接触不良,或用户系统主板负载过大,或用户的各级电源滤波不完善等。对这些问题一定要查出原因并加以排除。(1)采集电路调试为使温度采集电路输出的电压与温度的关系符合理论设计数值,可用一点测试法。在室温27时,调节电位器rw1,使ad590对地电阻为1k,运放正端输入电压v+=300mv时,v0=2.7v即可。也可采用两点测试法,当温度在050之间变化时,运放正端输入电压v+约为273323mv,调试时用可调电压信号模拟温度信号输入到运放正端,调节电位器rw2使v+=273mv时,v0=0v。调节rt2使v+=323mv时,vo=5v,则5v/5o=100mv/ 即为输出精度。因软件还要校正测温值,故基本符合上述数值即可。采用两点测试法较精确,故用两点法。(2)数码显示调试调试中发现发光二极管的亮度一直很微弱,用万用表测量可知,其输入电压只有1.99v,勉强能够发光,而89c51输出的电压依然为5v左右,分析知89c51在串行口工作方式下,负载很重,发光二极管分得的电流较小,使其不能正常发光。在此加入一块同相放大器来驱动它们工作。613 脱机调试 在样机加电以前,先用万用表等工具根据硬件电气原理和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求,特别应注意电源的走线,防止电源线之间短路和极性错误,并检查扩展系统总线是否存在相互短路或与其他信号线的短路。对于样机所用电源,事先必须单独调试。调试好后,检查其电压值、负载能力、极性等均符合要求,才能加到系统的各个部件上。在不插芯片的情况下,加电检查各插件上引脚的电位,仔细测量各点电位是否正常,尤其应注意8031插座上各电位是否正常,若有高压,联机时将损坏仿真器。在脱机调试中,发现系统无法复位,经检查知电路中没有接入复位电路,经接入上电复位方式的复位电路后,系统运行正常。62 软件调试方法软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块分别调试。调试各子程序时一定要符合现场环境,即入口条件和出口条件。调试手段可采用单步或设置断点运行方式,通过检查系统cpu 的现场,arm的内容和i/o口的状态,检查程序执行结果是否符合设计要求。通过检测可发现程序中的死循环错误、机器码错误及转移地址的错误。同时也可以发现用户系统中的硬件故障,软件算法及硬件设计错误。在调试过程中不断调试用户系统的软件和硬件,逐步通过一个个程序模块。 各模块通过以后,可以把有关的功能块联合起来一起进行综合调试。在这个阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,缓冲单元是否发生冲突,标志位的建立和清除在设计上有无失误,堆栈区域有无溢出,输入设备的状态是否正常等等。若用户系统是在开发机的监控下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。 单步和断点调试后,还应进行连续调试,这是因为单步运行只能验证程序的正确与否,不能确定定时精度,cpu的实时响应等问题。待全部调试完成后,应反复运行多次,除了观察稳定性之外,还要观察系统的操作是否符合原始设计要求,安排的用户操作是否合理等,必要时应再作适当的修正。 如果采用实时多任务操作系统,一般是逐个任务进行调试,调试方法与上述基本类似,只是实时多任务操作系统的应用程序是由若干个任务程序组成,一般是逐个任务进行调试,在调试某个任务时,同时也调试相关的子程序、中断服务程序和一些操作系统的程序。调试好以后,再使各个任务程序同时运行,如果操作程序无错误,一般情况下就能正常运行。63 误差分析集成温度传感器误差校正:校正误差和温度误差。校正误差:传感器在实际使用中所指示的温度值和实际温度值的差值,该误差大小和温度成正比,通过调整外部电阻可得到补偿。在t=27时只要调整r1使vt=300mv即可。该一点调整法不能修正整个范围内的误差。温度误差(校正误差调整后):温度特性的非线形引起的误差。如不进行误差调整,则总误差为校正误差与非线形误差之和,误差较大。调整rwl使其在0时输出为0v,调整rw2使其在50时输出为5v,再进行测温,精度提高。系统理论测控精度为04 ,而实际显示时,只有1 ,原因在于系统误差、固有误差、元件误差等的存在。定性分析主要误差来源有:检测元件的固有误差、转换的误差、数据量化误差。本设计有待于进一步提高测控精度、减小误差、进一步提高系统性能。第七章 结论本设计介绍的单片机温度控制系统,可了解微机系统硬、软件的构成及各种控制参数变化对系统动、静态特性的影响。系统用pid控制算法实现温度控制,可以使系统的精度达到0.1,准确度和稳定性都可以令人满意。系统还以单回路控制为例,极易扩展成多回路控制。mcs-51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例,相信单片机的应用会更加广泛化。本系统的设计方案有多种,上述方案是从多种方案中选出的最优方案,其具有功能强、成本低、元件少、精度高、可靠性好、稳定性高、抗干扰性强、执行速度快、简单易行、具有实效性、使用范围广等特点,故具有推广价值。参考文献1 马江涛. 单片机温度控制系统的设计及实现j. 计算机测量与控制 , 2004,(12) . p121912292 黄祯祥,邓怀雄,郭延文,周书. 基于mcs-51单片机的温度控制系统j. 现代电子技术 , 2005,(06) . p2224 3 张开生,郭国法. mcs-51单片机温度控制系统的设计j. 微计算机信息 , 2005,(07) . p6869 4 李晓妮. 单片机温度控制系统的设计j. 九江学院学报(自然科学版) , 2005,(02) . p2023 5 龚红军. 单片机温度控制系统j. 电气时代 , 2002,(10) . p1718 6 李新国. 单片机温度控制系统j. 机电工程 , 2001,(02) . p4647 7 李萍. 单片机温度控制系统的设计与实现j. 固原师专学报 , 1999,(06) . p2225 8 冯越,杨继华,俞曙滨. 单片机温度控制系统j. 自动化技术与应用 , 1998,(02) . p3638 9 徐凤霞,赵成安. at89c51单片机温度控制系统j. 齐齐哈尔大学学报 , 2004,(01)p646510 姜波. 单片机温度自动控制系统j. 自动化与仪器仪表 , 1996,(05) p515911马明建数据采集与处理技术m西安交通大学出版社,20059,(02)p868912曹龙汉,刘安才,高占国mcs-51单片机原理及应用m重庆出版社,2004,10p22924713 atmelmicrontroller data book.1995p465014 dong xiao-you , bai ze-sheng , liuru.temperature mea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论