摘要 .................................................................................................................................................................. - 1 - 绪 论 .............................................................................................................................................................. - 2 - 第1章 单片机对加热炉温度控制的简介 .................................................................................................. - 3 - 第2章 单片机内部结构及引脚作用简介 .................................................................................................. - 4 -
2.1单片机内部模块 ................................................................................................................................ - 4 -
2.1.1 MCS-51单片机内部结构 ..................................................................................................... - 4 - 2.1.2 主电源引脚 ............................................................................................................................ - 5 - 2.1.3 外接晶体引脚 ........................................................................................................................ - 5 - 2.1.4 MCS-51 输入/输出引脚 ........................................................................................................ - 5 - 2.1.5 MCS-51控制线 ..................................................................................................................... - 5 - 2.2单片机外总线结构 ............................................................................................................................ - 6 -
2.3 MCS-51单片机系统扩展 ....................................................................................................... - 6 -
第三章 硬件系统设计 .................................................................................................................................... - 7 -
3.1 总体设计 ........................................................................................................................................... - 7 - 3.2 程序存储器的扩展 ........................................................................................................................... - 8 - 3.3温控模块的设计 ................................................................................................................................ - 9 - 3.4 8155接口电路 ............................................................................................................................ - 10 -
3.4.1 8155简介 ......................................................................................................................... - 10 - 3.4.2 8155的RAM和I/O口地址编码 ..................................................................................... - 10 - 3.5 A/D转换电路 ............................................................................................................................... - 11 -
3.5.1引脚结构 ............................................................................................................................. - 12 - 3.6 可控硅控制电路 ........................................................................................................................... - 12 - 第四章 软件系统设计 .................................................................................................................................. - 14 -
4.1 主程序 ........................................................................................................................................... - 14 - 4.2 T0中断服务程序 ......................................................................................................................... - 15 - 4.3 采样子程序 ................................................................................................................................... - 16 - 4.4 数字滤波程序 ............................................................................................................................... - 17 - 总结 ................................................................................................................................................................ - 19 - 参考文献 ........................................................................................................................................................ - 20 - 附录 ................................................................................................................................................................ - 21 -
程序清单 ................................................................................................................................................ - 21 -
基于单片机对加热炉温度控制系统
基于单片机对加热炉温度控制系统
摘要
随着国民经济的发展,人们需要对各中加热炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
本设计采用无ROM的8031作为主控制芯片。8031的接口电路有8155、2764。8155用于键盘/LED显示器接口,2764可作为8031的外部ROM存储器。其中温度控制电路是通过可控硅调功器实现的。双向可控硅管和加热丝串联接在交流220V,50HZ交流试点回路,在给定周期内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。
关键字:温度控制;接口电路;可控硅
Temperature Control System of heating furnace Based on SCM
Abstract
Along with national economy development, the people need to each heating furnace the temperature carry on the monitor and the control. Not only uses the monolithic integrated circuit to come to them to control has the control to be convenient, simple and flexibility big and so on merits, moreover may enhance large scale is accused the temperature technical specification, thus can big enhance the product the quality and quantity.
This design uses non-ROM 8031 to take the master control chip. 8031 connection electric circuits have 8155、2764.8155 uses in the keyboard /LED monitor connection, 2764 may take 8031 exterior ROM memories,one temperature-control circuit is adjusts the merit realization through the silicon-controlled rectifier. The bidirectional silicon-controlled rectifier tube and the heater series connection in exchange 220V,50HZ exchange city electricity return route, in assigns in the cycle, 8031 so long as the change silicon-controlled rectifier tube puts through the time then to be possible to change the heater power, achieves the attemperation the goal.
Key words:Temperature control;Connection electric circuit;Silicon-controlled rectifier
- 1 -
基于单片机对加热炉温度控制系统
绪 论
温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。
随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。因此对数据采集的精度和采用的控制方法也不相同。传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:PID控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。本系统所使用的加热器件是电炉丝,功率为三千瓦,要求温度在400~1000℃。静态控制精度为2.43℃。
本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、
智能化方面有广泛的用途。本系统使用8031单片机,使温度控制大为简便。
- 2 -
基于单片机对加热炉温度控制系统
第1章 单片机对加热炉温度控制的简介
加热炉是将物料或工件加热的设备。按热源划分有燃料加热炉、电阻加热炉、感应加热炉、微波加热炉等。应用遍及石油、化工、冶金、机械、热处理、表面处理、建材、电子、材料、轻工、日化、制药等诸多行业领域。加热炉按炉温分布,炉膛沿长度方向可分为预热段、加热段和均热段。
单片机的温度控制是数字控制系统的一个应用。本系统所使用的加热炉为电加热炉,炉丝功率为3kw,系统要求炉膛恒温,误差为士2℃,超调量可能小,温度上升较快且有良好的稳定性。
单片机温度控制系统是以MS-5l单片机为控制核心,辅以采样反馈电路,驱动电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。系统的原理框图如图1.1所示,其基本控制原理为: :用键盘将温度的设定值送入单片机,启动运行后,通过信号采集电路将温度信号采集到后,送到A/D 转换电路将信号转换成数字量送入单片机系统进行PID 控制运算,将控制量输出,控制电阻炉的加热。
给定值 8031控制电路 驱动 电路 晶闸管 主电路 被控 对象 输出 温度 采样电路 图1.1 原理框图
- 3 -
基于单片机对加热炉温度控制系统
第2章 单片机内部结构及引脚作用简介
单片微型计算机(Single Chip Microcomputer)简称单片机,是指在一块芯片上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器及串型和并行I/O接口等部件。
单片机主要应用于工业控制领域,用来实现对信号的检测、数据的采集以及对应用对象的控制。它具有体积小、重量轻、价格低、可靠性高、耗电少和灵活机动等许多优点。单片机是微型计算机的一个重要分支,特别适合用于智能控制系统。
基于经济上的的考虑,以及本次设计的加热炉的精度要求,选用8031单片机作为中央处理器。8031是MCS-51系列单片机的一种型号,在MCS-51系列单片机中还有8051、8032、80C31等。
2.1单片机内部模块
2.1.1 MCS-51单片机内部结构
MCS-51系列单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行
P0.0~P0.7P2.0~P2.7P0驱动器VCCVSSRAM地址寄存器P0锁存器P2驱动器RAMP2锁存器EPROM或ROM程序地址存储器B寄存器ACC暂存器2ALUPSW暂存器1SP缓冲器特殊功能寄存器中断、串行口及定时器/计数器PC增量器PCPSENALEEARESET定时及控制指令寄存器DPTRP1锁存器P3锁存器振荡器P1驱动器P3驱动器XTAL1XTAL2P1.0~P1.7P3.0~P3.7图2.1单片机的内部结构框图
- 4 -
基于单片机对加热炉温度控制系统
口、定时器/计数器、中断系统、振荡器等功能部件。图2.1中SP是堆栈指针寄存器,PC是程序计数器,PSW是程序状态字寄存器,DPTR是数据指针寄存器。 2.1.2 主电源引脚
Vcc(40脚):接+5V电源正端。 Vss(20脚):接+5V电源地端。
2.1.3 外接晶体引脚
XTAL1(19脚)和XTAL2(18脚):接外部晶振的两个引脚。
2.1.4 MCS-51 输入/输出引脚
MCS-51单片机有4个I/O端口,共32根I/O线,4个端口都是准双向口。每个口都包含一个锁存器,即专用寄存器P0-P3,一个输出驱动器和输入缓冲器。为方便起见,我们把4个端口和其中的锁存器都统称P0-P3。
在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O口使用。
P0口:可作为一般的I/O口用,但应用系统采用外部总线结构时,它分时作低8位地址和8位双向数据总线用。
P1口:每一位均可独立作为I/O口。
P2口:可作为一般I/O口用,但应用系统采用外部系统采用总线结构时,它分时作为高8位地址线。
P3口:双功能口。作为第一功能使用时同P1口,每一位均可独立作为I/O口。另外,每一位均具有第二功能,每一位的两个功能不能同时使用。
2.1.5 MCS-51控制线
RST/Vpd(9脚):RST即为RESET,Vpd为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机震荡工作时,该引脚上将出现持续两个机器周期的高电平,这时可实现复位操作,使单片机回复到初始状态。
当Vcc发生故障,降低到低电平规定值或掉电时,该引脚上可接备用电源Vpd(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
ALE/PROG(30脚):地址锁存有效信号输出端。ALE在每个机器周期内输出两个脉冲。
- 5 -
基于单片机对加热炉温度控制系统
在访问片外程序存储器期间,下降沿用于控制锁存P0输出端的低八位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。
PSEN(29脚):片外程序存储器选通信号输出端,低电平有效。在从外部程序存储器读取指令或常数期间,每个机器周期内该信号有效两次,并通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,该信号将不出现。
EA/VPP(31脚): EA为片外程序存储器选通断。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。
对于片内还有EPROM的机型,在编程期间,此引脚用作12V编程电源Vpp的输入端。 2.2单片机外总线结构
微型计算机大多数CPU外部都有单独的地址总线、数据总线和控制总线,而MCS—51单片机由于受到芯片管脚的限制,数据线和地址线(低8位)是复用的,而且是I/O口兼用。为了将它们分离开来,以便同单片机之外的芯片正确地相连,常常在单片机外部加地址锁存器来构成与一般CPU相类似的三总线,如图2.2所示。
图2.2
2.3 MCS-51单片机系统扩展
通常情况下,采用MCS-51系列单片机的最小系统只能用于一些很简单的应用场合,在此情况下直接使用单片机内部存储器、数据存储器、定时功能、中断功能、I/O端口等,组成的应用系统的成本较低。
单片机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是利用单片机的
- 6 -
基于单片机对加热炉温度控制系统
三种线(AB、DB、CB)进行的系统扩展;串行扩展法是利用SPI三线总线或I2C双总线的串行系统扩展。但是,一般串行接口器件速度慢,在需要高速应用的场合,还是并行扩展法占主导地位。
第三章 硬件系统设计
3.1 总体设计
系统控制主电路是由8031及其外围芯片,及一些辅助的部分构成的。如图3.1所示。
过零信号发生器 8031 2764 74Ls373 温控电路 8155 ADC0809 传感检测电路 键盘与显示 电炉
图3.1 总体设计原理图
- 7 -
基于单片机对加热炉温度控制系统
3.2 程序存储器的扩展
8031片内不带ROM,采用8031芯片时,须扩展程序存储器。用作程序存储器的芯片主要有EPROM和EEPROM。由于EPROM价格低廉、性能可靠,所以本次设计用EPROM.
EPROM是紫外线可擦除电可编程的半导体只读存储器,掉电后信息不会丢失。EPROM中程序一般通过专门编程器可写入。常用的EPROM芯片主要有:2716、2732、2764、27128、27256等。
扩展程序存储器时,一般扩展容量大于256字节,因此,除了由P0口提供低8位地址线外,还需由P2口提供若干地址线,最大的扩展范围位64K字节,即需16位地址线。具体方法是CPU应向EPROM提供三种信号线。即
A:数据总线:P0口接EPROM的O0-O7。
B:地址总线:P0口经锁存器向EPROM提供地址低8位,P2口提供高8位地址以及片选线。
C:控制总线:PSEN片外程序存储器取指令控制信号,接EPROM的OE,ALE—接锁存器的G。EA接地。
结合本次设计,选择扩展的型号为2764。8031与2764的连接图如图3.2所示。
图3.2 2764与8031连接图
- 8 -
基于单片机对加热炉温度控制系统
3.3温控模块的设计
温度检测元件和变送器的选择和被控温度及精度等级有关。本设计采用镍铬/镍铝热电偶,此电偶用于0℃~1000℃的温度测量范围。系统功能和系统的工作工程为:反映炉温的热电偶, 用于采集炉内的温度信号,将采集到的信号经冷端补偿后送运算放大器放大, 由变送器将热电偶信号(温度信号)变为电流输出,再由高精密电流/电压变换器将电流信号变为标准电压信号,将放大的电压送入采样保持器和转换电路后得到与炉温相应的数字量。
具体设计为,将温度传感器输出的电流信号Iin,输入到电流/ 电压转换电路,在采样电阻R1 上获得对应的电压分量VR=R1*Iin,并将该值经过由R2,C1构成的带有一定延时(时间与温度传感器的响应时间相对应) 作用的低通滤波电路后,输入到放大器A1 的正相端。因为传感器输出4mA 时,在取样电阻上的电压不等于零,直接经模拟/数字转换电路转换后的数字量也不等于零,所以单片机不能直接利用,这样利用稳压管产生一个精确基准电压Vref 与R3。RW1构成的可调分压电路,通过调节RW1 可以获得精确的
Vx=(Rx/RW1)Vref,该值可用于抵消4mA电流在取样电阻上产生的压降,所以当温度传感器为最小值4mA 时,A1的2 脚与3 脚之间的电压差基本为0V。与A1 相连的C2、R3、R4、R5 构成带有积分校正的放大电路,积分校正会增加系统的惯性,对变化较快的信号起阻尼作用。通过适当调整电阻就可以获得理想的比例增益,再将经过处理的温度传感器感测到的电信号VT 放大后,送入下一级的差值放大电路的负相端。系统的炉温工艺曲线经分段换算后转换为对应的电压数据,再经过进制转换后存入E2PROM中。当系统投入运行后,为了实现误差测量,单片机依据时钟定时器,按一定的时间间隔将数据通过总线传至DAC0832 的数据寄存器,经D/A 转换后的模拟电压VTS,从运放A2 送入由A3、R6、R7、R8 和R9 构成的差值检测放大电路的正相端,与经过转换的采样电压值VT 作差,得到的差值△VT放大后送入A/D转换器0809。
另外,变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0-41.32mV变换成0-10mA范围内的电流;电流/电压变送器用于把毫伏变送器输出的0-10MA电流变换成0-5V范围的电压。
为了提高精度,变送器可以进行零点迁移。例如:若温度测量范围为400℃~1000℃,则热电偶输出为16.4mV-41.32mV,毫伏变送器零点迁移后输出0-10mV范围电流。这样,采用8位A/D转换器就可以使量化误差达到正负2.34度以内。
- 9 -
基于单片机对加热炉温度控制系统
3.4 8155接口电路
3.4.1 8155简介
8155是Intel公司研制的通用I/O接口芯片。MCS-51和8155相连不仅可为外部设备提供两个8位I/O端口(A口和B口)和一个6位(C口),而且也可为CPU提供一个256字节RAM存储器和一个14位的定时器/计数器,所以8155广泛用于MCS-51系统中。
MCS-51单片机可以和8155直接连接而不需要任何外加逻辑器件,就可为系统增加256个字节片外RAM、22位I/O口线以及一个14位定时器。
P0口输出的低8位地址不必再另加锁存器,可直接与8155的AD0-AD7相连,既可作低8位地址总线,又可作数据总线。从P0口传送过来的地址信息在ALE的作用下在8155内部被锁存。高8位地址由及IO/的地址控制线决定,因此在图中的连接状态下,可以确定各个端口的地址:
RAM的地址范围:FC00H~FCFFH
命令/状态口: FD00H; PA口: FD01H; PB口: FD02H; PC口: FD03H; 定时器低8位: FD04H; 定时器高8位:FD05H
3.4.2 8155的RAM和I/O口地址编码
8155在单片机应用系统中是16位地址数据,其高8位由片选线提供,而低8位地址为片内地址。当IOM/=0时,单片机对8155内RAM读/写,RAM低8位编址为00~FFH;当IO/M=1时,单片机对8155中的I/O口进行读/写。
8031与8155的连接如图和键盘显示连接图如图3.3所示
8155PA7PA6PA5PA4PA3PA2PA1PA08031P2.7P2.0ALERDWR8P0CEIO/MALERDWRD0PC0PC1PC2PC30816241917252101826311192741220285132129614223075.1 k152331+5 V…D7dpgPB7PB6PB5PB4PB3RESETPB2PB1PB0fedcba100 ×88路驱动器8路驱动器- 10 - + 5 V+5 V基于单片机对加热炉温度控制系统
图3.3
3.5 A/D转换电路
ADC0809是一个典型的A/D转换芯片,为逐次逼近式8位CMOS型A/D转换器,片内有8路模拟选通开关、三态输出锁存器以及相应的通道地址锁存与译码电路。
ADC0809 可处理8 路模拟量输入, 且有三态输出能力, 既可与各种微处理器相连, 也可单独工作。输入输出与TTL 兼容。8 路8 位A/D 转换器, 即分辨率8 位。具有转换起停控制端。转换时间为100μs, 单个+5V 电源供电, 模拟输入电压范围0~+5V, 不需零点和满刻度校准。首先输入3 位地址, 并使ALE=1, 将地址存入地址锁存器中。此地址经译码选通8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动A/D转换, 之后EOC 输出信号变低, 指示转换正在进行。直到A/D 转换完成, EOC 变为高电平, 指示A/D 转换结束,结果数据已存入锁存器, 这个信号可用作中断申请。当OE 输入高电平时, 输出三态门打开, 转换结果的数字量输出到数据总线上。
A/D转换是把从热电偶接收到的温度模拟量转换成温度数字量输送到单片机里,以便 可以用单片机进行控制。
- 11 -
基于单片机对加热炉温度控制系统
3.5.1引脚结构
(1)IN7~IN0:8条模拟量输入通道 (2)地址输入和控制线:4条 (3)数字量输出及控制线:11条 (4)电源线及其他:5条
输入为8个可选通的模拟量IN0-IN7。至于ADC转换器接收哪一路输入信号由地址A、B、C控制的8路模拟开关实现。 同一时刻,ADC0809只接收一路模拟量输入,不同时刻对8路模拟量进行模数转换。 3.5.2 0809与8031的连接
图3.4 0809与8031的连接
3.6 可控硅控制电路
- 12 -
基于单片机对加热炉温度控制系统
图3.5 可控硅功输出与通断时间关系
8031对温度的控制是通过可控硅调控器实现的。可控硅功输出与通断时间关系草图如图3.5所示。
双向可控硅管和加热丝串联接在交流220V,50Hz交流试点回路。在给定的周期T内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。图3.5示出了可控硅管在给定周期T内具有不同接通时间的情况。显然,可控硅在给定周期T的100%时间内接通的功率最大。
可控硅接通时间可以通过可控硅控制板上控制脉冲控制。该触发脉冲由8031用软件在P1.3引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制极上。偏差控制的原理是先求出史册炉温对所需炉温的偏差值,然后对偏差值处理而获得控制信号去调节电阻炉的功率,以实现对电阻炉的炉温控制。
在工业上,偏差控制又称为PID控制,这是工业控制中常用的控制形式,一般能收到令人满意的效果。
控制论告诉人们, PID控制的理想方程是:
UKp(E1deedtT) (3.1) DT1dt式中e— 测量值与给定值之间的偏差; TD— 微分时间:
T - 积分时间;
TTnUnKp[ene1D(enen1)]T1i1TKpenK1e1KD(enen1)i1n (3.2)
KP— 调节器的放大系数.
将上式离散化得到数字PID位置式算法
式中在位置式算法的基础之上得到数字PID 增量式算法:
UnKp(enen1)K1enK0(en2en1en2) (3.3) KpenK1enK0(enen1)- 13 -
基于单片机对加热炉温度控制系统
第四章 软件系统设计
这次程序的软件设计主要运用Keil μVison3软件,这个软件是德国Keil Software公司推出的51系列兼容单片机软件开发系统。μVison3是集成的可视化Windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计。Keil μVison系列可以支持单片机C51程序设计语言,也可以直接进行汇编语言的设计与编译。
Keil μVison系列的集成开发环境最高版本是μVison3,版本号为V8.08。Keil μVison系列是一个非常优秀的编译器,受到广大单片机设计者的广泛使用。 其主要特点如下:
①支持汇编语言、C51语言等多种单片机设计语言; ②可视化的文件管理,界面友好;
③支持丰富的产品线,除了51及其兼容内核的单片机外,还新增加了对ARM内核产品的支持;
④具有完善的编译连接工具;
⑤具备丰富的仿真调试功能,可以仿真串口、并口、A/D、D/A、定时器/计数器以及中断等资源,同时也可以和外部仿真器联合进行在线调试;
⑥内嵌RTX-51实时多任务操作系统;
⑦支持在一个工作空间中进行多项目的程序设计。 ⑧支持多级代码优化。
4.1 主程序
主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实时显示。
应当注意:由于T0被设定为计数器方式2,初值为06H,故它的溢出中断时间为250个过零同步脉冲。为了系统正常工作,T1中断服务程序的执行时间必须满足T0的制一时间要求,因为T1的中断是嵌套在T0中断之中的。
- 14 -
基于单片机对加热炉温度控制系统
主程序框图如图4.1
图4.1 主程序流程图
4.2 T0中断服务程序
T0中断服务程序是温度控制系统的主程序,用于启动A/D转换器,读如数据采样,数字滤波,越权温度报警和处理,PID计算和输出可控硅的同步触发脉冲等。P1.3引脚上输出的该同步脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断空隙时间完成把本次采样数值转换成显示值而放入显示缓冲区和调用温度显示程序,8031从T1中断服务程序返回后便可以恢复现场和返回主程序,以等待下次T0中断。
- 15 -
基于单片机对加热炉温度控制系统
T0中断服务程序框图如图4.2所示
图4.2 T0中断服务程序流程图
4.3 采样子程序
流程图如图4.3 采样值始址送R0 采样次数送R2
返选同A/D启动延时 IN0 回 完成?ADC - 16 - 所有采样结束? 基于单片机对加热炉温度控制系统
N
Y
N
Y
4.3采样子程序框图
4.4 数字滤波程序
数字滤波程序FILTER:用于滤去来自控制现场对采样值的干扰。 本设计采用中值滤波
数字滤波程序框图如图4.4
- 17 -
基于单片机对加热炉温度控制系统
(2CH)送A (2CH)≠(2DH)? Y Y N (2CH)>(2DH)? N (2CH)→←(2DH) N (2DH)≠(2EH)? Y (2DH) 送2AH Y (2DH)>(2EH)? Y (2DH) 送2AH (2CH)≠(2EH)? N Y (2EH)送2AH N (2EH)>(2CH)? Y (2CH) 送2AH (2EH)送2AH 返回
图4.4数字滤波程序框图
- 18 -
基于单片机对加热炉温度控制系统
总结
本设计使用无ROM的8031作为主控芯片进行控制,单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。其中的温控系统采用镍铬/镍铝热电偶,此电偶用于0℃~1000℃的温度测量范围,相应的输出电压为0mV-41.32mV.温度是工业对象中的一个重要的被控参数,在本系统中,若采用模糊控制或者神经网络及遗传算法控制,这些控制技术会大大提高控制精度,不但使控制简捷,降低了产品的成本,提高了生产效率.
- 19 -
基于单片机对加热炉温度控制系统
参考文献
[1] 蔡振江.单片机原理与应用. 北京:电子工业出版社,2008 [2] 赖寿宏.微型计算机控制技术. 北京:机械工业出版社.2003 [3] 王毓银主编.数字电路逻辑设计.北京:高等教育出版社,1999
[4] 清源计算机工作室编著.Protel 99原理图与PCB及仿真. 北京:机械工业出版社,2008 [5] 索雪松等.传感器与信号处理电路.北京:中国水利水电出版社,2008 [6] 李华等.单片机实用接口技术. 北京:北京航空航天大学出版社,2002 [7] 陆子明.单片机设计与应用基础教程.北京:北京国防工业出版社,2005 [8] 孙炳达.自动控制原理.北京:机械工业出版社,2008 [9] 沙占友.王晓君.数字化测量.北京:机械工业出版社,2009 [10] 李广弟.单片机基础.北京:北京航空航天大学出版社,2001
- 20 -
附录
程序清单
主程序:
ORG 0100H
DISM0 DATA 78H DISM1 DATA 79H
DISM2 DATA 7AH DISM3 DATA 7BH DISM4 DATA 7CH DISM5 DATA 7DH
MOV SP, #50H; 50H
CLR 5EH ; CLR 5FH CLR A MOV 2FH, A MOV 30H, A MOV 3BH, A MOV 3CH, A MOV 3DH, A MOV 3EH, A MOV 44H, A MOV DISM0, A MOV DISM1, A MOV DISM2, A MOV DISM3, A MOV DISM4, A MOV DISM5, A MOV TMOD, #56H MOV TL0, #06H MOV TH0, #06H CLR PT0 SETB TR0 SETB ET0 SETB EA
;;基于单片机对加热炉温度控制系统
送SP
清本次越限标志 清上次越限标志 清累加器A 清暂存单元
清显示缓冲区
- 21 -
基于单片机对加热炉温度控制系统
LOOP ACALL DISPLY ;调用显示程序 ACALL SCAN ;调用扫描程序 AJMP LOOP ;等待中断
T0中断服务程序:
ORG 000BH
AJMP CT0
CT0: PUSH ACC ; PUSH DPL ; 保护现场 PUSH DPH ;
SETB D5H ; 置标志 ACALL SAMP ACALL FILTER
CJNE A,42H,TPL
WL: MOV C,5EH MOV 5FH,C CLR 5EH ACALL UPL POP DPH POP DPL POP ACC
RETI ;中断返回 TPL: JNC TPL1
CLR 5FH ;清上次越限标志 CJNE A,43H,MTPL
HAT: SETB P1.1 ;若温度不越限,则绿灯亮 ACALL PID MOV A,2FH
CPL A ; INC A ; 对PID值求补,作为TL1值 NM: SETB P1.3
MOV TL1,A MOV TH1,#0FFH SETB PT1
SETB TR1 ;启动T1
SETB ET1 ;允许T1中断 ACALL TRAST
LOOP: ACALL DISPLY ;显示温度 JB D5H,LOOP ;等待T1中断 POP DPH
- 22 -
基于单片机对加热炉温度控制系统
POP DPL POP ACC
RETI
MTPL: JNC HAT
SETB P1.0 ;否则,下限声光报警 MOV A,45H CPL A INC A AJMP NM
TPL1: SETB 5EH JNB 5FH,WL
INC 44H ;越限计数器加1 MOV A,44H CLR C
SUBB A,#N ;越限N次吗? JNZ WL SETB P1.2 CLR 5EH CLR 5FH POP DPH POP DPL POP ACC RETI
采样子程序:
SAMP: MOV R0,#2CH ;采样值始址送R0 MOV R2,#03H MOV DPTR,#03F8H
SAM1: MOVX @DPTR,A ;启动ADC0809工作 MOV R3,#20H
DLY: DJNZ R3,DLY ;延时 HERE: JB P3.3,HERE MOVX A,@DPTR
MOV @R0,A ;存放采样值 INC R0
DJNC R2,SAM1 RET
数字滤波程序
- 23 -
基于单片机对加热炉温度控制系统
FILTER: MOV A,2CH
CJNE A,2DH,CAMP1 AJMP CMP2
CMP1: JNC CMP2 XCH A,2DH
XCH A,2CH
CMP2 MOV A,2DH CJNE A,2EH,CMP3 MOV 2AH,A RET
CMP3: JC CMP4 MOV 2QH,A RET
CMP4: MOV A,2EH
CJNE A,2CH,CMP5 MOV 2AH,A RET
CMP5: JC CMP6 XCH A,2CH CMP6: MOV 2AH,A RET
- 24 -
因篇幅问题不能全部显示,请点此查看更多更全内容