《基于单片机的炉温控制系统设计毕业设计(17页).doc》由会员分享,可在线阅读,更多相关《基于单片机的炉温控制系统设计毕业设计(17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的炉温控制系统设计毕业设计-第 17 页基于单片机的炉温自动控制系统设计宜春学院物理科学与工程技术学院自动化专业肖杰鸣 指导老师: (徐东辉)摘要:在工农业生产中,温度是工业生产对象中主要的被控参数之一。电阻炉是通过电流流过电阻体产生热量来加热或熔化物料的一种电炉。电阻炉广泛地应用在化工、冶金等行业。它对温度控制的要求较高,温度控制的好坏直接影响着产品质量及生产效率,因此电阻炉的温度控制在科学研究、工业生产中具有重要的意义。本设计采用单片机作为数据处理与控制单元,以电阻炉作为控制对象,用热电偶作为测量元件,用晶闸管作为输出控制元件来实现对电阻炉温度自动控制。该系统利用K型热电偶温度
2、传感器,把检测到的电阻炉温度的信号送入MAX6675芯片,经过信号放大等一系列转换后,再将信号送到单片机STC89C52内进行PID运算,同时可以通过键盘调节PID参数。经PID运算后,比例调节输出量改变晶闸管控制量,变晶闸管的导通角,从而控制电阻炉的加热强度。从而控制电阻炉的炉温。关键词:电阻炉;MAX6675;单片机STC89C52;PID控制Abstract:SummaryIn the industrial and agricultural production , the temperature is accused of one of the main objects of indu
3、strial production parameters . Furnace current flowing through the resistor generates heat to a furnace for heating or melting the material . Resistance furnace is widely used in chemical, metallurgical and other industries. It requires a higher temperature control , temperature control has a direct
4、 impact on product quality and production efficiency , and therefore resistance furnace temperature control is of great significance in scientific research , industrial production.The design uses a single chip for data processing and control unit to resistance furnace as a control object , as the me
5、asuring element with thermocouple with thyristor as a control element to achieve the output resistance furnace temperature control . The system uses K -type thermocouple temperature sensor , to detect resistance furnace temperature signal into the MAX6675 chip , after a series of converted signal is
6、 amplified and then signal to the microcontroller STC89C52 PID operation , and can adjust the keyboard PID parameters. After the PID operation , adjust the output volume ratio of the amount of change in thyristor controlled , variable thyristor conduction angle, so as to control the intensity of the
7、 resistance heating furnace . To control the furnace temperature resistance furnace .Key words:The resistance furnace; MAX6675; SCM STC89C52; PID contro目录第1章 绪论31.1 课题研究的背景及意义3第2章 系统总体设计方案42.1设计总体思路42.2 系统技术指标42.3系统总体设计方案4第3章 系统硬件设计63.1温度检测部分63.1.1 K型热电偶63.1.2温度信号处理芯片MAX667563.3 时钟电路93.4 复位电路93.5 串口
8、通信电路93.6 报警电路103.7 显示电路103.8 按键电路123.9 D/A转换电路13第4章 软件设计154.1 软件设计思路154.2 主程序流程图154.2.1 温度检测与处理子程序164.2.2 报警子程序174.2.3 PID子程序184.2.4 显示流程图194.2.5 键盘扫描流程图204.2.6 键盘处理流程图214.2.7 D/A转换子程序流程图225.结束语236.致谢词24参考文献25附录A:硬件原理图26附录B:程序27第1章 绪论1.1 课题研究的背景及意义20世纪20年代以来,电阻炉就在工业生产中得到了广泛地应用。随着社会的发展,科学技术的进步,电阻炉被大量
9、的应用在电力、冶金、机械、石油化工等工业生产中。在这些工业生产中,温度的测量及控制影响着生产安全、产品质量、生产效率等重要的技术经济指标,电阻炉温度控制的稳定性、精度、可靠性等要求也逐步提高。而在各个领域测温仪器的实际应用表明,智能化仪器已经是现代电阻炉温度控制系统发展的主要方向1。基于此,设计一种智能化的电阻炉温度控制系统有广泛的应用前景及实际意义。电阻炉是利用电流流过电阻体,使其产生热量来加热或熔化物料的一类电炉。它的特点是:电路简单;对炉料种类的限制较少;(小型电阻炉可用来加热食品、干燥木材);炉温控制精度高;容易在真空中加热等特点。它主要作用于:机械零件的淬火、退火、渗碳等热处理 ;各
10、种材料的干燥、加热、烧结、熔化等。电阻炉的参数有工作空间尺寸、额定温度、额定电压、额定功率。电阻炉按炉温不同可分为低温电阻炉(600700以下)、中温电阻炉(7001200)、高温电阻炉(1200以上)。电阻炉的温度控制主要有:1、传统PID控制;2、智能控制。PID控制温度系统的效果,主要取决于P、I、D三个参数。PID控制对于确定了的温度系统控制效果较好,但是对控制大惯性、大滞后、时变性温度系统则难以保证其控制品质。电阻炉大多是经电阻丝加热升温,自然冷却降温的,当电阻炉的温度超调时,无法靠控制手段降温,所以电阻炉温度的控制具有滞后性、非线性、惯性、不确定性等特点。目前国内较成熟的电阻炉温度
11、控制系统中,以PID控制器为主。PID控制器对小型实验用的电阻炉控制效果良好,但对于大型工业用电阻炉,就难以保证电阻炉温度控制系统的稳定性及精度等问题。智能控制是一种不需要人操作就能驱动智能机械来实现其目标的自动控制。随着科学技术、控制理论的发展,国外的温度控制系统发展很迅速,基本实现对温度的智能控制。具有自适应、自协调、自学习等能力,使控制系统的控制精度、稳定性、抗干扰能力等性能得到保证。本文以电阻炉为控制对象,以单片机STC89C52为硬件核心元件,采用PID控制,该系统硬件电路设计简单、控制算法成熟稳定、系统性能优良。第2章 系统总体设计方案2.1设计总体思路 本设计的要求是是对工业电阻
12、炉的温度进行实时监测与控制,温度控制系统能实现对的温度控制和调节功能:当电阻炉炉内温度低于所需要的温度值时,系统产生相对应的加热信号,然后对电阻炉发加热,使其温度上升达到要求值;当电阻炉炉内温度超过了需要温度时,系统产生相应的信号,然后系统将停止加热电阻炉,使炉内温度下降。从而实现温度的控制。通过PID调节不断重复该过程,使温度值始终保持在给定温度值,并在符合要求的精度之内,并且使LED显示器显示电阻炉的温度。2.2 系统技术指标本系统的技术指标要求如下:1.测量温度和控制温度均可以数字显示;2.被测温度范围为01000,精度为0.5;3.控制温度可连续可调,精度为1;4.温度超过限时,产生声
13、音报警信号。2.3系统总体设计方案本系统由单片机、D/A转换器、MAX6675、电阻炉、热电偶传感器等主要器件组成。电路部分有时钟电路、报警电路,复位电路、显示电路、按键电路等。该系统首先用测温元件K型热电偶,炉中温度物理量值转换成电压信号输出,送入MAX6675再经过处理后,变成数字信号。炉温给定值转换成电压信号后和所检测到的炉温数字信号送入单片机内进行比较,得到实际炉温与给定炉温的差值。然后单片机系统对偏差进行PID调节,并且在LED显示器上显示该温度值,D/A转换器将运算结果转换为模拟电压,功率放大器把电压信号放大,送到晶闸管,使晶闸管的导通角的大小发生改变,从而电阻炉的加热电压也发生改
14、变,起到控制温度的作用。其方案图如图2.1所示:图2.1 系统总体设计方案图单片机:主要功能是读取温度数据在对其进行数据处理,对各单元进行控制,执行各种指令。单片机是整个系统的数据处理核心及控制核心。温度信号采集与处理:这个部分的主要是用热电偶传感器检测温度,温度传感器随外界的温度变化会产生不同电压,再由MAX6675将模拟电压信号转换成数字电压信号放大后送入单片机中,再单片机中进行数据处理。人机交互及串口通信:人机交互主要是为了提高系统的友好性和实用性。主要包括输出显示、按键输入。输出显示进行数据的显示输出,通过按键输入实现了系统参数设置,而串口通信的主要作用是完成单片机与上位机的通信。温度
15、的采集控制被广泛应用于工业生产和农业生产当中,以及科研和人民生活的方方面面。在工业生产过程中,使用自动温度控制系统,温度进行严格的监控,减轻工人的劳动强度,充分保证产品的质量,还能节省能源的消耗。可以对生产环境的温度,实现自动控制,提高生产的效率和生产的质量、产品的数量并能让生产变得更加安全可靠。第3章 系统硬件设计3.1温度检测部分3.1.1 K型热电偶热电偶传感器是一种将温度变化转化成电势变化的传感器。在工业生产中,运用最广泛的测温元件之一其优点有测温范围广,精度高,稳定性好,结构简单动态性能好。热电偶将不同两种的金属A和B构成一个回路,当两个接触端温度不同时,回路中产生热电势。K型热电偶
16、输出信号,由芯片MAX6675处理,该芯片可实现A/D转换、放大电路等功能,且可以和单片机直接通讯,节约了硬件部分,降低了成本。 3.1.2温度信号处理芯片MAX6675该器件采用8位引脚的SO封装,引脚图如图3.2所示。图3.2 MAX6675引脚图MAX6675引脚功能表:1、GND:接地2、T-:接热电偶负极3、T+:接热电偶正极4、VCC:正电源端5、SCK:串行时钟 输6、CS:片选信号端7、SO:串行 数据 输出8、NC:悬空 不用图3.3为本系统中温度检测电路,当STC89C52的P3.3为低电平且P3.1口产生时钟脉冲时,MAX6675的SO脚输出转换数据。在每一个脉冲信号的下
17、降沿SO输出一个数据,16个脉冲信号完成一串完整的数据输出,先输出高电位D15,最后输出的是低电位D0,D14-D3为相应的温度转换数据,共12位,其最小值为0,对应的温度值为0;最大值为4095,对应的温度值为1023.75,分辨率为0.25。由于MAX6675内部经过了激光修正,因此,其转换结果与对应温度值具有较好的线性关系。温度值与数字量的对应关系为:温度值=1023.75转换后的数字量/4095。当P3.3为高电平时,MAX6675开始进行新的温度转换。图3.3 温度检测电路3.2单片机STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程F
18、lash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 有以下功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构,兼容传统51的5向量2级中断结构,全双工串行口。本部分主要介绍单片机最小系统的设计。单片机系统的扩展,一般是以基本最小系统为基础的。所谓最小系
19、统,是指一个真正可用的单片机最小配置系统,对于片内带有程序存储器的单片机,只要在芯片外接时钟电路和复位电路就是一个小系统了。小系统是嵌入式系统开发的基石。本电路的小系统主要由三部分组成,一块STC89C52芯片、复位电路及时钟电路。STC89C52 单片机的引脚说明: VCC:供电电压; GND:接地。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin3
20、1):程序存储器的内外部选通,接低电平从外部程序存储器读指令, 如果接高电平则从内部程序存储器读指令。 可编程输入/输出引脚(32根).STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。 PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7 P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7 STC89C52 的P3口的特殊功能介
21、绍如下所示: P3.0 /RXD串行数据接收; P3.1 /TXD串行数据发送; P3.2 /INT0外部中断0申请; P3.3 /INT1外部中断1申请; P3.4 T0定时计数器0输入; P3.5 T1定时计数器1输入; P3.6 /WR外部RAM写选通; P3.7 /RD外部RAM读选通; 本设计STC89C52单片机的P1.0口和P1.1口接LED显示,X1和X2接的是晶振电路,RESET接复位电路。3.3 时钟电路时钟电路提供单片机的时钟控制信号,单片机时钟产生方式有内部时钟方式和外部时钟方式。最常用的是内部时钟方式,是采用外接晶振和电容组成的。时钟振荡电路如图3.5所示:图3.5时
22、钟振荡电路 系统的时钟电路设计是采用的内部方式,单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和引脚XTAL2分别是放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自己振荡器,这种方式形成的时钟信号称为内部时钟方式,即利用芯片内部的振荡电路内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。电容取30PF左右。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,。3.4 复位电路整个复位电路包括芯片内
23、、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。按键手动复位有电平方式和脉冲方式两种。本系统采用按键电平复位方式。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。其电路图如图所示图3.6 复位电路图3.5 串口通信电路串口通信的主要功能是完成单片机与上位机的通信,便于进行温度数据统计,为将来系统功能的扩展做好基础工作。串行通信的主要功能是实现单片机与PC机的数据交换,当需要进行数据记录、数据统计、数据分析的时候,可以把数据发送给上位机,使用上位机进行数据处理,并
24、且将数据处理的结果又发送给单片机。这样可以大大提高系统数据处理速度,还可以方便的对单片机进行控制。计算机与外界的数据传送大部分都是串行的,其传送距离可以从几米到几千米。串行口通信原理图如图3.7所示:图3.7串行口通信电路图3.6 报警电路报警电路的功能是当炉温值超过系统设定的最大值或者低于系统设定的最小值时,都会驱动单片机的I/O接口,报警电路发出声光警报。由于单片机I/O 口输出的电流太小难以驱动蜂鸣报警器器,所以设计了蜂鸣器驱动电路,具体电路连接如图3.8所示: 图3.8报警电路图3.7 显示电路数码管是把多个LED晶体管显示段集合在一起的一个具有显示功能的设备。他一共有两种类型,一种类
25、型是共阳型的,还一种类型是共阴型的。阳极作为二极管的正极端,还叫做正极,阴极就是二极管的负极端,也称作负极。一般的数码管分为8段,也就是有8段LED显示,这种是为了工程上的应用设计的,分别叫A、B、C、D、E、F、G、DP,DP 是小数点段位。然而多位数码管,除了有一位的公共端是连接在一起的,其他的不同位的数码管相同端会连接在一起。数码管的动态显示原理为:每个数码管的相同端连接在一起,他们一起占用了8 位管线;每个数码管的阳极连接在一起。他是利用了人的眼睛的视觉暂留特点,按次序通给每个数码管公共端加上有效的信号,这个时候给该数码管加有用的数据信号,等到全段扫描的速度大于视觉暂留速度时,它就会显
26、示出来。设计中采用4位共阴极LED静态显示方式,选用7段显示数码管。显示内容有温度值的千位、百位、十位、个位。由于单片机不能直接驱动数码管显示,所以必须在单片机与LED164之间加上74LS164,它的管脚图如图3.9所示。图3.9 74LS164管脚图A和B为74LS64的串行输入端;QA-QH为74LS64的并行输出端;CLK是串行时钟输入端;CLR是串行输出清零端;VCC:+5V;GND:接地端。一英寸以下的的LED数码管内,每一笔段含有一只LED发光二极管,导通在串联方式中,确定电源电压VCC时,每只LED工作电压通常以2.0V计算,4英寸7段LED数码显示器LC4141的每一笔段由四
27、只LED发光二极管按串联方式连接而成,因此导通电压应在7-8V之间,电源电压VCC必须取9V以上。图3.10 LED数码管显示器数码管结构有共阴极和共阳极之分。本设计采用的是共阴极数码管。共阴极公共端接地,高电平有效(灯亮),共阴极数码管内部发光二极管的阴极(负极)都联在一起,此数码管阴极(负极)在外部只有一个引脚。LED显示电路如下图3.11所示。图中的P11和P10分别连接到单片机的P1.1和P1.0引脚,作为时钟输入端和数据端口。图3.11 LED显示电路3.8 按键电路键盘是单片机不可缺少的人机交互设备,键盘上的键犹如一个个机械开关,手按下闭合,手放开键释放,在单片机系统中通常使用的是
28、价格便宜的矩阵键盘。矩阵式键盘适用于按键数量多的场合,按键位于行线和列线的交叉点上。键盘上每个键都担负着一项处理功能,所以键盘接口对应的软件。键盘扫描通常行扫描法和线反转扫描发,一般是由软件来实现的,通过程序不停地查找闭合键。在本设计中采用的是 4 *4 的非编码键盘,其电路图如图3.12所示,列线由 P2.4-P2.7口控制,行线由 P2.0-P2.3口控制。电路中共 16个按键,其中0到9为数字键,A(设置键)、3 个温度参数和时间设置键、E(增加键) 、F(减小键)。系统在程序初始化时控制键盘行线的 P2.0-P2.3口输出高电位,控制键盘列线的P2.4-P2.7口输出低电位,在判断电路
29、是否有按键按下时,读 P2.0-P2.7端口值,若端口值不是11110000,则说明电路中有按键按下。然后根据程序进行去抖动处理和计算键值。 图3.12 矩阵式键盘电路图3.9 D/A转换电路DAC0832的基本原理是把数字量的每一位按照权重转换成相应的模拟分量,然后根据叠加定理将每一位对应的模拟分量相加,输出相应的电流或电压。DAC0832是一个8位D/A转换器。单电源供电,从+5V+15V均可正常工作。基准电压的范围为10V;电流建立时间为1S;CMOS工艺,低功耗20mW。DAC0832转换器芯片为20引脚,双列直插式封装,其引脚排列如图3.13所示。 图3.13 DAC0832引脚图对
30、各引脚信号说明如下:(1) DI7DI0:转换数据输入(2) CS:输入片选信号,当低电平时有效(3) ILE:输入数据锁存允许信号,当高电平时有效(4) WR1:输入写信号1,当低电平时有效上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式;当ILE=1和WR1=0时,为输入寄存器直通方式;当ILE=1和WR1=1时,为输入寄存器锁存方式。(5) WR2:输入写信号2,当低电平时有效(6) XFER:输入数据传送控制信号,低电平有效(7) Iout1:电流输出1。当数据为全1时,输出电流最大,当为全0时,输出电流最小。(8) Iout2:电流输出2DAC转换器的特性之一是:Iout1+
31、Iout2=常数。(9) Rfb反馈电阻端就是运算放大器的反馈电阻端,(10) Vref:基准电压。(11) DGND:数字地(12) AGND:模拟地DAC0832与单片机的接法如图3.14所示。图3.14 D/A转换电路图因为多片DA转换器同步输出DAC0832采用双缓冲方式工作方式,内部两个寄存器均受控制,转换分两步:(1) CPU分时控制输入寄存器,输入数据。 (2) CPU同时控制各路的DAC寄存器,使得输入寄存器中的数据进入DAC寄存器,实现同步转换输出。第4章 软件设计4.1 软件设计思路本部分详细介绍了基于STC89C52单片机的电阻炉温度控制系统的软件设计。根据系统功能,可以
32、将系统设计分为若干个子程序进行设计,如温度采集子程序、PID控制子程序、报警子程序、显示子程序、键盘扫描子程序、键盘处理子程序、D/A转换子程序等。采用Keil uVision3集成编译环境和C语言来进行系统软件的设计。本章从设计思路、软件系统框图出发,先介绍整体的思路,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。本系统要完成温度信号的采集与控制,需要实现温度信号的采集与A/D转换、数据处理、数据显示、数据传输等基本功能。从功能上可将其分为温度信号采集及数据处理、人机交互、执行三大部分进行设计。4.2 主程序流程图 在系统软件中,主程序依次完成系统初始化、炉温检测与处理、PI
33、D控制算法、温度显示、键盘输入等,这些都由子程序来完成。流程图如图4.1所示。图4.1主程序流程图4.2.1 温度检测与处理子程序温度信号采集与处理子程序,主要完成温度信号采集与A/D功能、数据处理的功能,由芯片MAX6675来完成。温度信号采集子程序主要包括传感器初始化、单片机给传感器写命令、单片机给传感器写数据、单片机从传感器读数据等部分,数据处理部分对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据。流程图如图4.2所示。图4.2 温度检测与处理子程序4.2.2 报警子程序如果温度超过了系统限定值,报警子程序响应,实现声光报警功能,并切断电源。具体流程图如下图4.3。
34、图4.3报警子程序流程图4.2.3 PID子程序根据炉温对给定温度的偏差,连续改变电压的大小,使炉温控制在稳定温度范围内,以满足电阻炉温度的需要。电阻炉的炉温控制是一个反馈调节过程,比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号,调节电阻炉的热功率,从而实现对电阻炉温度的控制。按照偏差的比例、积分和微分产生控制作用(PID控制),是过程控制中应用最广泛的一种控制形式。电阻炉温度控制通常采用偏差控制法。偏差控制的原理是先求出实测炉温对所需温度的偏差值,处理偏差值之后,通过调节控制信号使电阻炉的加温功率也发生相应的变化,从而实现了炉温的自动控制。比例积分微分控制的理想微分方程为: 式
35、(4.1)式中e(t)=r(t)-y(t)称为偏差值,可作为温度调节器的输入信号,其中r(t)为给定值,y(t)为被测变量值;微分时间常数是Td;积分时间常数是Ti;比例系数是kp;u(t)为调节的输出控制电压信号。但计算机只能处理数字信号,因此上述数学方程必须加以变换。若设温度的采样周期为T,第n次采样得到的输入偏差为en调节器输出为un则有(微分用差分代替) 式(4.2)(积分用求和代替) 式(4.3)这样,式(4-1)便可以改为 式(4.4)经递推公式改写成 式(4.5)PID控制流程图如图4.4所示: 图4.4 PID控制流程4.2.4 显示流程图显示模块需要用高电平导通点亮,因此驱动
36、功率要求较大。程序流程图如图4.5所示。图 4.5显示子程序流程图4.2.5 键盘扫描流程图矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。在键盘扫描过程中,还有去抖动的问题。键闭合和断开都会出现电压抖动的情况。我们一般采用软件去抖动的方法,具体是采用时间延迟以躲过抖动(延时时间为1020ms即可),待稳定之后,再进行列线状态的输入与判定。图4.6 键盘扫描子程序流程图4.2.6 键盘处理流程图键盘扫描子程序在调用的过程中,程序的结果是:有闭合键,如果有
37、,则再检测增加键是否有按下,如果有,键值加1,否则再检测减少键是否有按下,如果有,键值减1。其他键处的理方式和上述相同,流程图如下图。图4.7 键盘处理子程序流程图4.2.7 D/A转换子程序流程图D/A转换流程图如图4.8所示。图4.8 DA转换子程序流程图5.结束语本设计主要从硬件和软件两个方面具体阐述了基于STC89C52单片机的电阻炉温度控制系统设计。该系统充分发挥了89C52单片机对模拟量的采集处理和增量式数字PID控制算法的功能,通过改变晶闸管导通角控制加热的强度。该系统基本满足了温度控制的要求,具有超调量小,振荡幅度小,设定值可以随时用按键人为设定等优点,同时该系统还避免了控制过
38、程中的不确定性及噪声,提高了系统的工作效率。实验证明,该系统具有精度高、可靠性高、性价比高及控制简单方便等优点。6.致谢词本次毕业设计,是在徐东辉老师的指导下进行的毕业设计,在此特表示感谢。在设计的初期,郝师就对我的设计思想进行了深刻的指导,让我在设计的开始就明确了设计方向,树立正确的设计观念。尤其在参考资料查阅方面给予我提供了很多的参考资料和帮助,使我能够很快的了解和掌握设计内容,而不至于在没有必要的方面浪费时间和精力,而是全力投入到毕业设计中来,在毕业设计的中期,徐老师常常指导我做实验,使我很快解决了设计过程中碰上的许多困难。当我在设计过程中存在疑问时,老师总是在百忙之中抽出时间及时的给予
39、我指导,在老师的教导下,我的毕业设计能够顺利、及时地完成。同时在设计的过程中还得到了学校领导和系领导的关怀,为我们的设计提供了开放式的教室和设备等诸多便利条件。在毕业设计结束之际致以我诚挚的感谢!参考文献1 刘敏.基于AT89S53单片机的电阻炉温度控制系统设计J,宁夏:宁夏机械,2008年,(04)2 吕小红,周凤星,马亮.基于单片机的电阻炉温度控制系统设计C.武汉:武汉科技大学,20083 吕小红.电阻炉智能温度控制系统的设计和应用C.武汉:武汉科技大学,20084 何力民.MCS-51系列单片机应用系统设计系统配置与接口技术M.北京:北京航空5 张开生,郭国法.MCS-51单片机温度控制
40、系统的设计J.微计算机信息,2005(7)6 马云峰,郭文川.微机原理与接口技术M.北京:高等教育出版社,20017 肖恩忠.基于AT89C52的电阻炉智能温度控制系统J.农机化研究,20058 刘靖.单片机的控制技术M.北京:北京理工大学出版社,20089 胡寿松.自动控制原理(第五版)M.北京:北京科学出版社,200710 余永权.单片机原理及应用M.北京:电子工业出版社,199711 何宏,田志宏.单片机原理与接口技术M.北京:国防工业出版社,200612 马忠梅,籍顺心.单片机的C语言应用程序设计第3版M.北京:航空航天大学出版社,200313 尹瑞竹.电阻电热炉的温度控制系统设计J.
41、胜利学刊,199814 王瑞兰.基于单片机控制的电锅炉温度控制系统的设计J.潍坊学院学报,200815 杜静,王振民.电阻炉的温度控制系统J.机械管理开发,2005附录A:硬件原理图附录B:程序#include #include #include #include #define uint unsigned int#define uchar unsigned char#define KEY4_4 P2/MAX6675的引脚sbit SO=P30;sbit CS=P32;sbit SCK=P31;sbit DAT=P10;sbit CLK=P11;sbit P1_7=P17;float gd=2
42、00; /设定值uchar flag=0; uchar flag1=0; uchar flags=0; uchar flagk=0; bit flag2; void key1(void); void key2(void); void key3(void); void key4(void); void key5(void); void key6(void); float ek=0; /偏差float ek_1=0;float ek_2=0;float ph=0; float pk=0;float pk_1=0;float D_1=0;float kp=5 ; /比例系数float ki=1 ;
43、/积分系数float kd=3; /微分系数/*=0-9=A-G=*/uchar a16=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0x86,0x8e,0x82;code unsigned char key_tab17=0x00,0xe7,0xd7,0xb7,0x77,0xeb,0xdb,0xbb,0x7b,0xed,0xdd,0xbd,0x7d,0xee,0xde,0xbe,0x7e;/1234/5678/9101112/13141516unsigned char l_key=0x0;/定义变量,存放键
44、值unsigned char l_keyold=0xFF;/做为按键松开否的凭证uchar qian,bai,shi,ge;void delay(uint i) ; void ReadKey(void);void led(uchar t);void delay_50ms(unsigned int t);uint t;uint zlPID();uint temperature; /* 功能:50MS延时程序void delay_50ms(unsigned int t) unsigned int j; for(;t0;t-) for(j=50;j0;j-) void delay(uint i) for(;i0;t-) /*显示程序*/void fbyte(uchar byte) uchar num,c; num=abyte; for(c=0;c=1; /将八位数据在每个上升沿后,自动右移一位,目的是将八位数据按位发送void le