《毕业设计(论文)基于AT89C52单片机的温度智能控制系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C52单片机的温度智能控制系统.doc(33页珍藏版)》请在三一办公上搜索。
1、目 录1 绪论11.1 选题背景11.2 温度测控技术的发展与现状11.2.1 定值开关控温法21.2.2 PID线性控温法21.2.3 智能温度控制法31.3 系统总体设计方案31.3.1 系统性能要求及特点31.3.2 系统硬件方案分析41.3.3 系统软件方案分析51.4 本文主要工作52 主要器件介绍72.1 DS18B20温度传感器72.2 AT89C52 简介92.2.1 AT89C52功能特性102.3 数码管介绍122.3.1 LED数码管122.3.2 数码管显示控制122.3.3 数码管字型编码132.3.4 数码管显示方法133 硬件电路的设计153.1 系统电路的设计1
2、53.2 电路设计153.2.1 设计原则153.2.2 引脚连接173.3 软件流程图174 调试及性能分析195 使用说明和元件清单20参考文献21附录221 绪论1.1 选题背景温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预
3、测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。 另外,在大部分实际的环境中,增温要比降温方便得多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没
4、有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。下面就简要的讨论一下温度测控技术的发展与现状。1.2 温度测控技术的发展与现状近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。温度测控技术包括温度测量技术和温度控制技术两个方面。在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热
5、惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪
6、实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度(即稳态误差)不能超过某允许值。本文所讨论的基于单片机的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。从工业控制器的发展过程来看,温度控制技术大致可分以下几种:1.2.1 定值开关控温法所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)
7、进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。1.2.2 PID线性控温法这种控温方法是基于经典控制理论中的调节器控制原理,控制是最早发展起来的控制策略之一,由于其算法简
8、单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法来实施调节功能。前者称为模拟控制器,后者称为数字控制器。其中数字控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个参数(比例值、积分值、微分值)。只要参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特
9、性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。1.2.3 智能温度控制法为了克服线性控温法的弱点,人们相继提出了一系列自动调整参数的方法,如参数的自学习,自整定等等。并通过将智能控制与控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具
10、有自适应算法的温度控制仪表。目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围温度控制精度比较低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。1.3 系统总体设计方案本系统以AT89C52单片机为核心,利用DS18B20温度传感器进行温度测量,组成一个集温度采集、显示、处理、自动控制为一身的闭环控制系统。系统的技术指标如下:(1)能对55+128,范围内的各种环境温度进行精确测量。(2)能对所测环境温度进行实时显示。(3)能方便设置所要控制的温度
11、范围,能对所测温度进行智能控制。1.3.1 系统性能要求及特点(1)系统性能要求:(a)可以人为方便地通过控制面板或PC机设定控制期望的温度值,系统应能自动将温控箱加热至此设定温度值并能保持,直至重新设定为另一温度值,即能实现温度的自动控制;(b)能够实现对温控箱温度的测量并且通过控制面板上的液晶显示实时的显示出来;(c) 模块化设计,安装拆卸简单,维修方便;(d)系统可靠性高,不易出故障;(e)尽量采用典型、通用的器件,一旦损坏,易于在市场上买到同样零部件进行替换。鉴于上述系统功能要求以及智能仪表应具有的体积小、成本低、功能强、抗干扰并尽可能达到更高精度的要求。本系统在硬件设计方面具有如下特
12、点:控制主板采用AT89C52作为核心芯片。作为与MCS-51系列兼容的单片机,无论在运算速度,还是在内部资源上均可胜任本系统的性能要求。1.3.2 系统硬件方案分析目前,温度控制仪的硬件电路一般采用(Analog Circuit) (Microcontroller) 模拟电路和单片机两种形式。模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路以及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,它还取决于被控系统的响应特性。在本系统中,由于温度的变化是一个相对缓慢的过程,对温控系统的实
13、时性要求不是很高,所以模拟电路的优势得不到体现。另外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法。单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。它是把中央处理单元CPU(Central Processing Unit)、随机存取存储器RAM(RandomAccess Memory)、只读存储器ROM(Read only Memory)、定时计数器以及IO(InputOutput)输入输出接口电路等主要计算机部件都集成在一块集成电路芯片上的微型计算机,它的特点是:功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。由此可见,采用单片机设计控制系
14、统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,还可以提高系统的兼容性和可移植性。另外,随着微电子技术和半导体工业的不断创新和发展,片上系统SOC(System On Chip)得到了十足的发展。一些厂家根据系统功能的复杂程度,将这种SOC芯片应用到先进的控制仪表中。SOC芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器(RAM和ROM),并且这种片上系统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。从实现复杂系统功能和简化硬件结构的角度出发
15、,SOC是实现温度控制系统的最佳选择,但目前市场上SOC的价格还比较昂贵,并且SOC的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。AT89C52单片机是ATMEL公司出品的与MCS。51系列兼容的低电压、高性能CMOS 8位单片机。本系统选择AT89C52为核心器件组成的控制系统。此外,在选取外围扩展芯片时,本着节约成本的原则,尽量选取典型的、易于扩展和替换的芯片及器件。1.3.3 系统软件方案分析一个应用系统要完成各项功能,首先必须有较完善的
16、硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与S51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通
17、过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。同时,本系统对位处理要求很高,需要解决大量的逻辑控制问题。MCS-51指令系统的指令长度较短,它在存储空间和执行时间方面具有较高的效率,编成的程序占用内存单元少,执行也非常的快捷,与本系统的应用要求很适合。而且MCS-51指令系统有丰富的
18、位操作(或称位处理)指令,可以形成一个相当完整的位操作指令子集,这是MCS-51指令系统主要的优点之一。对于要求反应灵敏与控制及时的工控、检测等实时控制系统以及要求体积小、系统小的许多“电脑化”产品,可以充分体现出汇编语言简明、整齐、执行时间短和易于使用的特点。本装置的软件包括主程序、读出温度子程序、复位应答子程序、写入子程序、以及有关DS18B20的程序(初始化子程序、写程序和读程序)。1.4 本文主要工作(1)在对温度控制发展现状、系统控制要求进行研究的基础上,选择了整个控制系统的控制设计;(2)系统的硬件设计,包括采样电路、AD转换电路、主控制电路、保护电路等等的设计;(3)该系统的软件
19、设计,包括主程序模块、控制运算模块、数据输入输出及处理模块等一些子功能模块的设计;(4)该系统的控制策略。在建立温度控制系统数学模型的基础之上,通过对控制的分析设计了系统控制器;2 主要器件介绍2.1 DS18B20温度传感器DS18B20温度传感器是美国DALLAC半导体公司最新推出的一种改进智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出北侧温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围
20、为3.05.5V;零待机功能;温度以9或12位数字量读出;用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20采用3脚PR-35封装或8脚COIC封装。图2-1 DS18B20内部结构图由表2-1可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度转换时间越长.因此,在实际应用中要将分辨率和转换时间权衡考虑.当DS18B20接收温度转换命令后,开始启动转换.转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节.
21、单片机可以通过单线接口读出数据,读数据时低位在先,高位在后,数据格式以0.0625/LCB形式表示.温度值格式如图2-2所示.表2-1温度数据值格式当符号位C=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位C=1时,表示测得的温度值为负值,要先将补码转换为原码,再计算十进制.表2-2是一部分温度值对应的二进制温度数据.表2-2 DS18B20温度与测得值对应表DS18B20的测温原理如图2-2所示.图中第温度系数晶振的震荡频率受温度的影响很小,用于产生固定频率的脉冲送给减法计数器1;高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入.图2
22、-2 DS18B20测温原理2.2 AT89C52 简介AT89C52 ATMEL公司生产的低电压,高性能CMOS 8位单片机片内含8K byTES的可反复擦写的只读程序存储器(PEROM)和256 byTES 。的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(CPU )和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合。如图2-3所示。主要性能参数:与Mcs-51产品指令和引脚完全兼容。8字节可重擦写FLASH闪速存储器1000 次擦写周期全静态操
23、作:0HZ-24MHZ三级加密程序存储器256X8字节内部RAM32个可编程I/0口线3个16 位定时计数器8个中断源可编程串行UART通道低功耗空闲和掉电模式 图2-3 AT89C52引脚图2.2.1 AT89C52功能特性AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O口线,3个16 位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。掉电方式保存
24、RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.功能引脚说明:Vcc:电源电压GND:地P0:P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部 上拉电阻。在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字 节,校验时,要求外接上拉电阻。P1口:PI 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电
25、流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和输入(P1.1/T2EX) , FLASH编程和程序校验期间,Pl接收低8位地址。表1 PI.O 和PI.l 的第二功能 口:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使
26、用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvxDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) . P3口除了作为一般的
27、I/0口线外,更重要的用途是它的第二功能,如表2-3所示:表2-3 P3口第二功能表端口引脚第二功能P3.0RXD(串行输入口P3.1TXD(串行输出口P3.2INTO(外中断0P3.3INTO(外中断l)P3.4TO (定时计数器0 )P3.5Tl (定时计数器l )P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)2.3 数码管介绍2.3.1 LED数码管 LED数码管是将8个发光二极管封装而成的,每段为一发光二极管,其字形结构如图2-4 (a)所示。选择不同字段发光,可显示出不同的字形,例如,当a、b、c、d、e、f、g字段亮时,显示出字符“8”;当a、f、g、c、
28、d字段亮时,显示出字符“5”。图2-4(b)所示为单个LED数码管的引脚排列图,图中com引脚是单个LED数码管的公共端。(a)字型结构图 (b)引脚排列 图2-4 数码管结构2.3.2 数码管显示控制共阳极数码管内部8个LED的阳极连接在一起作为公共引出端; 只有在公共端接高电平时,该数码管才会亮。共阴极数码管内部8个LED的阴极连接在一起作为公共引出端; 只有在公共端接低电平时,该数码管才会亮。图2-5 LED数码管引脚及内部结构 2.3.3 数码管字型编码 表2-4数码管编码规则D7D6D5D4D3D2D1D0b pgfedcba表2-5 LED数码管字型编码表 显示字符共阴极字型码共阳
29、极字型码显示字符共阴极字型码共阳极字型码03FHC0H87FH80H106HF9H96FH90H25BHA4HA77H88H34FHB0HB7CH83H466H99HC39HC6H56DH92HD5EHA1H67DH82HE79H86H707HF8HF71H8EH2.3.4 数码管显示方法(1)动态显示。一位一位地轮流点亮各位数码管的显示方式。 即在某一时段,只选中一位数码管的“位选端”,并送出相应的字型编码,在下一时段按顺序选通另外一位数码管,并送出相应的字型编码。依此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。这一过程称为动态扫描显示。(2)静态显示。指数码管显示某一字符时,
30、相应的发光二极管恒定导通或恒定截止。 各位数码管相互独立,公共端恒定接地(共阴极)或+5V(共阳极)。每个数码管的八个位段分别与一个八位I/O端口相连。I/O端口只要有字型码输出,数码管就显示给定字符,并保持不变,直到I/O口输出新的段码。数码管的字型编码(3)动态扫描优缺点 a.优点:可以节省I/O端口资源;硬件电路也较简单。b.缺点:显示稳定度不如静态显示方式;占用了更多的CPU时间。3 硬件电路的设计3.1 系统电路的设计本设计由DS18B20温度传感器芯片测量当前的温度并将转换后的结果送入单片机。然后通过A89C52单片机驱动6位共阳极7段LED数码管显示测量温度值。按照系统设计功能的
31、要求,确定系统由3个模块组成:主控制器、测温电路、显示电路、按键调节模块、升降温模块。数字温度计总体电路结构框图如图3-1所示。主控制器AT89C526位显示DS18B20降温电扇加热器设置按钮 图3-1 数字温度计电路结构框图温度计电路设计原理图如图3-2所示,控制器使用单片机AT89C52,温度传感器使用DS18B20,用6位公阳LED数码管以动态扫描法实现温度显示。该系统采用的是美国DALLAC公司的单线数字温度传感器DS18B20作为温度传感器。3.2 电路设计3.2.1 设计原则 DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线
32、,3脚接电源。另一种是寄生电源供电方式,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。本设计采用电源供电方式, P1.1口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89S51的P1.0来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 s。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。主机图3-2基于DS18B20的单总线数字温度计电路原理图控制DS18B20完成温度转换必须经过
33、3个步骤:(1)初始化;(2)ROM操作指令;(3)存储器操作指令。3.2.2 引脚连接P0口接显示电路。P1.1接DS18B20,P1.1和P1.2引脚接继电器电路的4.7K电阻上,P1口其他引脚悬空。P2口中P2.0、P2.1、P2.2、P2.3分别接到显示电路的4.7K电阻上,P2.5接蜂鸣器电路,其他引脚悬空。P3口中P3.0,P3.1接串口电路。3.3 软件流程图本毕业设计的主要工作就是软件的设计,及程序的编写与调试。流程图如下所示。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1进行一次。这样可以在一秒之内测量一次被测温度。通过调用读温
34、度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来,其程序流程见图3-4所示。图3-4 主程序流程图 图3-5读温度流程图采用6位LED共阳极数码管显示温度,显示精度0.1,测温范围-55-+128采用AT89C52单片机,12MHz晶振。程序采用单片机汇编语言编写程序见附录4 调试及性能分析QTH-2008XC 单片机实验系统是启东市微机应用研究所最新推出的下载式单片机实验开发系统,它针对我国高等院校及大中专工科专业中自动控制、单片机、机电一体化等课程实验教学的要求而设计的。它具备完善全面的实验功能、强大的仿真功能,在仿真P2口、P0口作I/
35、O使用时无须更换仿真卡,及其通用性和可扩展性等特点;提供汇编、C语言二种演示程序;自带28个键的键盘和八个八段数码管。该型号实验仪自带下载式CPU和仿真监控程序,不需要仿真器和编程工具,只需通过COM口便可与PC机连接,直接调试实验程序。是廉价的仿真实验系统。5 使用说明和元件清单温度自动调节系统使用说明:本设计可以根据环境要求改变温度,并且也可以随温度的上升自动调节风扇进行降温,如果温度过低可以打开加热器进行自动加温,以此达到合适的温度,此设计可以达到简单,快捷的有效调节温度,并可以用运到实际生活中。(1)温度上限调节:按下设置键,显示上限温度值,再按加键可对温度上限加一调节;按下减键,可对
36、温度减一调节。(2)再按第二次设置键,显示下限温度值,再按加键可对温度下限加一调节;按下减键,可对温度减一调节(3)在按第三次设置键,返回正常温度读数表5-1元器件清单序号元件名称型号数量1单片机AT89C5212温度传感器DS18B2013极性电容CAP34电阻R55灯LED16直流电机MOTOR17按键器BUTTON48晶振CRYCTAL19继电器RTE24005F110二极管IN4148 IN40072116为数码管共阳12三极管PNP85501参考文献【1】申忠如 申淼 谭亚丽编著,MCC-51单片机原理及系统设计,西安交通大学出版社,2008【2】杜树春编著,单片机C语言和汇编语言混
37、合编程实践,北京航空航天大学,2008【3】M C Walia;C C Jain;P K Maahapatra;Mewa Cingh;M L Cingla著,Journal of Ccientific&InduCtrial ReCearch2005【4】无线电杂志社编著,无线电合订本2008年下,人民邮电出版社,2006【5】R.F.格拉夫,W.希茨著 张殿阁译,电子电路百科全书第5卷,科学出版社,1998【6】边春元,李文涛编著,C51单片机典型模块设计与应用,机械工业出版社,2008【7】王忠飞,胥芳编著,MCC-51单片机原理及嵌入式西冲应用。西安电子科技大学出版社,2007【8】刘鲲,
38、孙春亮编著,单片机C语言入门,人民邮电出版社,2008【9】王守中编著,51单片机开发入门与典型实例,人民邮电出版社,2007 附录本设计程序如下: TIMEL EQU 0E0H TIMEH EQU 0B1H TEMPHEAD EQU 36H FLAG EQU 80H;*; 工作内存定义;* BITST DATA 20H TIME1SOK BIT BITST.1 TEMPONEOK BIT BITST.2 TEMPL DATA 26H TEMPH DATA 27H TEMPHC DATA 28H TEMPLC DATA 29H;*; 引脚定义;*;TEMPDIN BIT P3.7;*; 中断向
39、量区;* ORG 0000H LJMP START ORG 00BH LJMP T0IT;*; 系统初始化;* ORG 0100HSTART: MOV SP,#60H CLSMEM: MOV R0,#20H MOV R1,#60HCLSMEM1: MOV R0,#00H INC R0 DJNZ R1,CLSMEM1 MOV TMOD,#00100001B MOV TH0,#TIMEH MOV TL0,#TIMEL SJMP INITERROR: NOP LJMP START NOP INIT: NOP SETB ET0 SETB TR0 SETB EA MOV PSW,#00H CLR TEM
40、PONEOK MOV 79H,#0AH MOV 78H,#28 MOV 77H,#0BH MOV 76H,#025 MOV 74H,#20 MOV 98H,#00H MOV P1,#00H LJMP MAIN;*; 定时器0中断程序;*T0IT: PUSH PSW MOV PSW,#10H MOV TH0,#TIMEH MOV TL0,#TIMEL INC R7 CJNE R7,#32H,TOIT1 MOV R7,#00H SETB TIME1SOKTOIT1: POP PSW RET;*; 主程序;*MAIN: LCALL DISP1 JNB TIME1SOK,MAIN CLR TIME1SOK JNB TEMPONEOK,MAIN2 LCALL READTEMP1 LCALL CONVTEMP LCALL DISPBCD LCALL DISP1MAIN2: LCALL READTEMP SETB TEMPONEOK LCALL KEY LCALL SHENGJIANG MOV A,98H SUBB A,#01H JNC LJL LCALL SHENGJIANG1 LJMP MAINLJL: LCALL SHENGJIANG2 LJMP MAIN;*; 升降温;*