基于PID控制算法的温度控制系统的设计与仿真
第 I 页 辽宁科技大学本科生毕业设计
摘 要
本设计是一种温度控制系统,温度控制在工业生产和科学研究中具有重要意义。其控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。采用单片机进行炉温控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等具有重要的现实意义。PID控制法最为常见,控制输出采用PWM波触发可控硅来控制加热通断。使系统具有较高的测量精度和控制精度。单片机控制部分采用ATS51单片机为核心,采用Keil软件进行编程,同时采用分块的模式,对整个系统的硬件设计进行分析,分别给出了系统的总体框图、温度检测调理电路、A/D转换接口电路,按键输入电路以及显示电路,并对相应电路进行相关的阐述软件采用PID算法进行了建模和编程,在Proteus环境中进行了仿真。
关键词:PID;单片机;温度控制;Keil;Proteus
第 II 页 辽宁科技大学本科生毕业设计
Abstract
This design is a kind of temperature control system,The temperature control in industrial production and scientific research is of great significance.Belongs to pure first-order lag link, the control system has the characteristics of big inertia, pure lag and nonlinear, the traditional control overshoot and adjustment time is long, low control precision.By single chip microcomputer temperature control, has simple circuit design, high accuracy and good control effect, to improve the production efficiency, promote the progress of science and technology has important practical significance.PID control is the most common, the control output PWM wave triggering thyristor is used to control the heating on and off.Make the system has high accuracy of measurement and control precision.Single-chip microcomputer control part
adopts single chip
microcomputer ATS51 as the core,Using Keil software
programming,Using block pattern at the same time, analyzes the
hardware design of the whole system, respectively, of the overall system block diagram is given, the temperature detection circuit, A/D conversion interface circuit, key input circuit and display circuit, and the corresponding circuit are related in this paper, the software, the PID algorithm is used for modeling and programming in the Proteus simulation environment.
Key words:PID;Single chip microcomputer;The temperature control;Keil;Proteus
第 II 页 辽宁科技大学本科生毕业设计
第 III 页 辽宁科技大学本科生毕业设计
目 录
1绪论 ........................................................1 2设计方案 ....................................................2 3系统硬件仿真电路 .............................................3
3.1 温度测量调理电路 .............................................. 3 3.2 A/D转换电路 .................................................. 4 3.3 按键输入电路 .................................................. 5 3.4 数码管显示电路 ................................................ 6 3.5 温度控制电路 .................................................. 7
4 程序设计 ....................................................9
4.1 程序整体设计 .................................................. 9 4.2 子程序设计 ................................................. 1212
4.3 源程序设计 ........................... 129
5 软件调试与运行结果 ......................................... 41 结论 ......................................................... 42 致谢 ......................................................... 43 参考文献 ..................................................... 44
第 1 页 辽宁科技大学本科生毕业设计
1绪论
现代工业生产过程中,用于热处理的加热炉,需要消耗大量的电能,而且温度控制是纯滞后的一阶大惯性环节。现有企业多采用常规仪表加接触器的断续控制,随着科技进步和生产的发展,这类设备对温度的控制要求越来越高,除控温精度外,对温度上升速度及下降速度也提出了可控要求,显而易见常规控制难于满足这些工艺要求。随着微电子技术的发展,采用功能强、体积小、价格低的智能化温度控制装置控制加热炉已成为现实。
采用单片机来对温度进行控制不仅具有控制方便、简单灵活性等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量,比过去单纯采用电子线路进行PID调节的控制效果要好的多。
微机控制系统的快速计算、灵活多样的逻辑判断和高效的信息加工能力使自动控制进入了更高一级的领域,提高了生产过程的自动化程度,减少了人工干预,并不断地完善和满足工农业生产和国防科技日益增长的需要。微机控制系统由于具有成本低、体积小、功耗小、可靠性高和使用灵活等特点,因而广泛的应用于工农业生产、交通运输、国防建设和空间技术等各个领域。其控制对象已从单一的工厂流程扩展到企业生产过程的管理和控制。随着微机和单片机的推广使用,实现信息自动化与过程控制相结合的分级分布式计算机控制,使计算机控制技术的水平发展到一个崭新的阶段。
现在,许多常规的控制仪表和调节器已经为计算机所取代。计算机不断地监视整个生产过程,对生产中的各个参数进行采样,迅速进行复杂的数据处理,打印和显示工艺过程的统计数字和参数,并发出各种控制命令。
温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。
辽宁科技大学本科生毕业设计
第 2 页 2设计方案
在温度测量控制系统中,实际温度值由
PT100恒流工作调理电路进行测量。为了
克服PT100线性度不好的缺点,在信号调理电路中加入负反馈非线性校正网络;调理电路的输出电压经ADC0808转换后送入单片机ATS51;对采样数据进行滤波及标定处理后,由3位7段数码管显示。输入的设定值由4位按键电路进行设定,可分别对设定值的十位和个位进行加1、减1操作。设定值送入单片机后,由另外一组3位7段数码管显示。数码管的段码由74HC05驱动,位码由三极管2N2222A驱动。为了使两组数码管实时显示,对两组数码管进行动态扫描。整体的电路原理框图如图1-1所示。
图1-1整体电路原理框图
系统采用PID闭环控制方案。如图1-2所示,将预置初值与温度传感器反馈信号比较得到偏差(e)进行PID运算处理得到控制量(u),通过此量来控制加热器的加热时间,从而控制加热功率。由于水本身具有很大的热惯性,所以必须对水温的变化趋势作出预测,并且根据需要及时反方向抑制,以防止出现较大的超调量的波动。在PID控制中,积分环节(I)具有很强的滞后效应,而微分环节(D)具有预见性,所以该方案最终采用PD算法,能够很好的控制超调,并且稳态误差也很小。
图1-2 系统控制方案
辽宁科技大学本科生毕业设计
第 3 页
3系统硬件仿真电路
3.1 温度测量调理电路
图3-1温度测量调理电路
本系统采用恒流工作调理电路,铂电阻选用标称值为100Ω的PT100作为温度传感器。A1、A2、A3采用低漂移运放OP07C,由于有电流经PT100传感器,所以当温度为0℃时,在PT100传感器上有电压降,这个电压为PT100传感器的偏置电压,是运放A1输出电压的一部分,使恒流工作调理电路的输出实际不为零。所以需要对这个偏置电压调零,R3为调零电阻,其作用为当温度为0℃时,将恒流工作调理电路的输出调到零。又因为PT100的电阻特性为非线性,PT100在0到100℃变化范围内非线性误差为0.4%(0.4℃),由于本系统无小数显示,0.4℃的误差本身不会对A/D量化和数码管
辽宁科技大学本科生毕业设计
第 4 页 显示造成影响,但由于软件编制中,对标度变化程序中的变换系数做了近似处理,使得非线性误差接近0.79%(0.79℃),就有可能对A/D量化和数码管显示造成影响,所以加进了线性化电路,运放A3及电阻R1、R4和R6一同构成了负反馈非线性校正网络。R5用于调整运放A2的增益。
电路的调整方法如下(用普通电阻代替PT100进行调整): (1)接入相当于0℃的100Ω的电阻,用于R3调零。 (2)接入相当于50℃的119.70Ω的电阻,用于R5调整增益。 (3)接入相当于100℃的139.10Ω的电阻,用于R1或R4调整线性。 反复调整多次,在0到100℃温度范围内适宜为止。
以温度值为横坐标,电压值为纵坐标,由表3-1分析非线性误差可知:在50℃时,存在最大偏差为0.005℃,故非线性校正后非线性误差变为0.1%(0.1℃),A/D量化及数码管显示不会产生误操作。
表3-1 显示对照表
理想温度值 对应电阻值 实际输出电压 显示温度值 0 100 0.002 0 10 103.9 0.502 10 20 107.9 1.004 20 30 111.8 1.502 30 40 115.7 2.004 40 50 119.7 2.505 50 60 123.9 3.001 60 70 127.4 3.502 70 80 131.3 4.001 80 90 135.2 4.498 90 100 139.1 4.996 100 注释1;温度单位/℃;电阻值单位/Ω;电压单位/V。
3.2 A/D转换电路
本系统采用5V的电压源,用PT100电阻传感器组成的信号调理电路作为信号的输入装置,当PT100传感器置于温度场时,调理电路将根据PT100的阻值输出相应的电压值。将该输出电压送到ADC0808的模拟量输入通道IN0,经ADC0808进行模数转换,将标准的模拟信号转换为等价的数字信号。本设计选用IN0作为模拟量输入通道,则将ADC0808的A、B、C三条地址线均置为低电平。转换启动信号START接到ATS51的P2.0口,转换结束状态信号EOC接P3.7口,输出允许信号OE接P3.6口,地址锁存允许信号ALE接P3.3口,由于ADC0808内部没有时钟电路,所以用ATS51的ALE经二分频接ADC0808的CLK端,VREF-接地,VREF+接+5V电压。ADC0808
辽宁科技大学本科生毕业设计
第 5 页 的转换结果输出到ATS51的P0.0到P0.7口,作为ATS51的输入信号。A/D转换接口电路如图3-2所示。
图3-2 A/D转换接口电路
3.3 按键输入电路
本系统采用4个按键搭建键盘电路,如图3-3所示。第一个按键用来判断是转入控制处理程序运行,还是转入键盘处理子程序运行;若未按下则转入控制处理子程序运行,按下则转入键盘处理子程序运行;若第一个按键按下,则第二个按键开始起作用,用第二个按键来判断是十位进行加减操作。若第二个按键未按下,转十位进行加减操作,否则转个位进行加减操作;第三个按键为减一操作,第四个按键为加一操作。为了方便按键操作,将个位和十位的设定值均设置为5,如果加一操作结果等于11,给加一单元重新赋值5,如果减一操作结果等于0FFH,给减一单元重新赋值5。这样考虑最坏情况,即用键盘设置离初始设定值最远的值,第三个按键最多按5次,第四个按键最多按5次。从而大大减少了按键次数,且更方便地给出设定值。第一个键和第二个键的加入,也充分考虑了总程序的整体调度。
辽宁科技大学本科生毕业设计
第 6 页
图3-3 按键输入电路
3.4 数码管显示电路
显示电路采用两个4位LED显示数码管,共阴极接法。第一个数码管显示A/D转换数据采集的采样值,选用3位显示采样值,显示范围为0到100;第二个数码管显示由键盘输入的设定值,用于显示对系统的温度设定,也选用3位显示设定值,显示范围为0到100。由于LED显示电路较多选用动态扫描方式,为了实现LED显示器的动态扫描,除了要给显示器提供段的输入外,还要对显示器的位进行控制,即段控和位控。所以需要用P1口输出段控线;位控线由挑选的P2.1、P2.2、P2.3、P3.0、P3.1和P3.2输出,其中P2.1、P2.2和P2.3用于驱动键盘输入的设定值和数码管位控线,其余用于驱动显示A/D转换数码管的数据码位控线,位控线的数目等于数码管显示的位数。
P1接口最多可连接8个LED显示器。为提高显示亮度,通常加74HC05进行段控输出驱动,与7段数码管的段码驱动输入端相连,由于位控的驱动电流较大,8段全亮需40到60mA,所以用三极管9012提高驱动能力,其集电极接到7段数码管的位码驱动输入端,三极管的发射极接地,将ATS51的P3.0、P3.1、P3.2分别与一个2kΩ的
辽宁科技大学本科生毕业设计
第 7 页 电阻连接到三极管的基极,用于驱动采样值显示数码管,将ATS51的P2.0、P2.1和P2.2口分别与一个2kΩ的电阻连接到三极管的基极,用于驱动设定值显示数码管。显示电路如图3-4所示。
图3-4 显示电路
3.5 温度控制电路
系统的电阻丝和风扇均采用如图3-5所示的电路形式。此电路采用晶体管驱动固态继电器。当P3.4为低电平,继电器RL1吸合;当P3.4或P3.5为高电平时,继电器RL1释放。采用这种控制逻辑可以使继电器在上电复位或单片机复位时不吸合。继电器由晶体管2N2222A驱动,它可以提供所需的驱动电流。
辽宁科技大学本科生毕业设计
第 8 页
图3-5 继电器控制电路
PT100温度测控系统的完整电路如图3-6所示。
图3-6 温度测控系统电路图
辽宁科技大学本科生毕业设计
第 9 页 4 程序设计
4.1 程序整体设计
程序的控制思想:设置目标温度后,系统采样水温,并通过预设温度、当前温度、历史偏差等进行PID运算产生fout输出参数,通过该参数控制加热时间,从而调节加热器的平均功率,实现系统的PID控制。整体功能通过主程序和中断服务程序配合实现。
主程序流程:系统首先初始化I/O、定时器,之后进入主循环,进行温度采样和相关处理。在系统运行过程中通过按键重新设置目标温度值。
辽宁科技大学本科生毕业设计
第 10 页 \\
PT100温度测控系统的主程序流程图如图4-1所示。
辽宁科技大学本科生毕业设计
第 11 页
图4-1 温度测控系统主程序
辽宁科技大学本科生毕业设计
第 12 页 4.2 子程序设计
1.PID控制的实现
(1)PID简介。PID(Proportional Integral Derivative)控制是控制工程中技术成熟、应用广泛的一种控制策略,经过长期的工程实践,已形成了一套完整的控制算法和典型的结构。它不仅适用于数学模型已知的控制系统,而且对于大多数数学模型难以确定的工业过程也可以应用,在众多工业过程控制中取得了满意的应用效果。
(2)PID工作原理。由于来自外界的各种扰动不断产生,要想达到现场控制对象值保持恒定的目的控制作用就必须不断地进行。若扰动出现使得现场控制对象(以下简称被控参数)发生变化,现场检测元件就会将这种变化采集后经变送器送到PID控制器的输入端,并与其给定值(以下简称SP值)进行比较得到偏差值(以下简称e值),调节器按此偏差并以预先设定的整定参数控制规律发出控制信号,去改变调节器的开度,使调节器的开度增加或减小,从而使现场控制对象值发生改变,并趋向于给定值(SP值),以达到控制的目的,如图4-2所示。其实PID的实质就是对偏差(e)值进行比例、积分、微分运算,根据运算结果控制执行部件的过程。
图4-2 模拟PID控制系统原理图
PID控制器的控制规律可以描述为:
(t)=Kpe(t)+
1tde(t)e(t)dt+T0D+0T1dt (4-1)
比例(P)控制能迅速反应误差,从而减小稳态误差。但是,比例控制不能消除稳态误差。比例放大系数的放大,会引起系统的不稳定。积分(I)控制的作用是:只要系统有误差存在,积分控制器就不断的积累,输出控制量,以消除误差。因而,只要有足够的时间,积分控制就能完全消除误差,使系统误差为零,从而消除稳态误差。积分作用太强会使系统超调加大,甚至使系统出现震荡。微分(D)控制可以减小超调量,
辽宁科技大学本科生毕业设计
第 13 页 克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。根据不同被控对象的控制特性,又可以分为P、PI、PD、PID等不同的控制模型。
(3)数字PID的实现。在连续时间控制系统(模拟PID控制系统)中,PID控制器的应用非常广泛。其设计技术成熟,长期以来形成了典型的结构,参数整定方便,结构更改灵活,能满足一般的控制要求。随着计算机的快速发展,人们将计算机引入到PID控制领域,也就出现了数字式PID控制。
由于计算机基于采样控制理论,计算方法也不能沿袭传统的模拟PID控制算法,所以必须将控制模型离散化。离散化的方法为:以T为采样周期,k为采样序号,用求和的形式代替积分,用增量的形式(求差)代替微分,这样就可以将连续的PID计算公式离散:
tkT(k0,1,2…)
t0e(t)Te(jT)=Te(j)j=0j=0 (4-2)
kk-e(k-1)T=ek-ek-1de(t)e(kT)TT dt
式中(4-1)就可以离散为:
TkKpek+TITDe+(e-e)jkk-1+0Tj=0k (4-3)
或者:
kKpek+KIej+K()+0Dek-ek-1j=0k (4-4)
这样就可以让计算机或单片机通过采样的方式实现PID控制。具体的PID控制又分为位置式PID控制和增量式PID控制,(4-4)给出了控制量的全部大小,所以称为全量式或位置式控制。如果计算机只对相邻的两次做计算,只考虑在前一次基础上计算机输出量的大小变化,而不是全部输出信息的计算,这种控制叫做增量式PID控制算法,其实质就是求k的大小。而
k=k-k-1
,所示将式(4-4)作自减变换有:
k=k-k-1
辽宁科技大学本科生毕业设计
第 14 页 TT=Kpek-ek-1+ek+D(ek-2ek-1+ek-2)TIT (4-5)
式中:
TTT2T=Kp1++Dek-Kp1+Dek-1+KpDek-2TTTIT
=Aek+Bek-1+Cek-2
TTA=Kp1++DTIT
C=KpTDT
2TB=-Kp1+DT
2.温度控制PID算法设计 本系统利用上面所介绍的位置式PID算法,将温度传感器采样输入作为当前输入,与设定值进行相减得到偏差ek,然后再对其进行PID运算产生输出结果fout,最后让fout控制继电器的时间进而控制加热器。为了方便PID运算,首先建立一个PID的结构体数据类型。该数据类型用于保护PID运算所需要的P、I、D系数,以及设定值、历史误差的累加和等信息。
Typedef struct PID {
float SetPoint; float Proportion; float Integral; float Derivative; int LastError; Int SumError; }PID; PIDstPID;
下面是PID运算的算法程序,通过PID运算返回fout,fout的值决定是否加热、加热时间是多少。
PID运算的实现代码如下:
辽宁科技大学本科生毕业设计
第 15 页 Float PIDCalc(PID *pp,int NextPoint) {
Int dError,Error;
Error=pp-〉SetPoint*10-NextPoint; pp-〉SumError + =Error; dError =Error - pp -〉LastError; pp-〉PrevError =pp-〉LastError; pp-〉LastError = Error; return(pp-〉Proportion*Error
+pp-〉Integral*pp-〉SumError -pp-〉Derivative*dError ); }
在实际运算时,由于水具有很大的热惯性,而且PID运算中的1(积分项)具有非常明显的延迟效应,不能保留,所以必须把积分项去掉。相反,D(微分项)有很强的预见性,能够加快反应速度,抑制超调量,因此微分作用应该适当加强才能达到较佳的控制效果,系统最终选择PD控制方案。下面是PD控制的实现过程:
Float PIDCalc(PID*pp,int NextPoint) Int dError,Error;
Error=pp-〉SetPoint*10-NextPoint; dError=Error-pp-〉LastError; pp-〉PrevError=pp-〉LastError; pp-〉LastError=Error return(pp-〉Proportion*Error -pp-〉Derivative*dError );
3.温度控制的实现 通过温度的PID运算,产生结果fmin,该参数决定是否加热。加热时间多长。
stPID.Proportion=2; stPID.Integral=0;
辽宁科技大学本科生毕业设计
第 16 页 stPID.Derivative=5;
fOut=PIDCalc(&stPID,(int)(fT*10)); if(fOut〈=0)
*p_IOA_Buffer&=0×ff7f; Else
*p_IOA_Buffer=0×0080;
加热时间由主函数计算。主程序中通过PIDCalc函数得到fmin参数。若该参数大于零,则开启加热器。如果PIDCalc计算结果比较大说明离目标温度相差较大,则加热时间比较长;如果计算结果比较小,说明离目标温度相差较小,加热时间相对较短。 4.PID参数的整定 由PID控制原理知:比例(P)控制能迅速反映误差,减小稳态误差;比例作用的加大会引起系统的稳定。积分(1)控制的作用,只要系统有偏差存在,积分作用就不断地积累,输出控制量以消除误差;积分作用太强会使系统超调加大,甚至使系统出现震荡。微分(D)控制可以减小超调量,克服震荡,使系统的稳定性提高。同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。控制的目标就是:反应速度尽可能快,超调量尽可能小,稳态误差趋近于零。
5.S51的P0口。转换流程图如图4-3所示。
辽宁科技大学本科生毕业设计
第 17 页
图4-3 A/D转换子程序流程图
6.键盘处理子程序 按键处理子程序流程图如图4-4所示。
7.温度标定转换模块 控制系统在读入被测模拟信号并转换成数字量后,需要转换成人们所熟悉的物理量,这种转换就是标度变换。线性标度变换公式为: Y=(Ymax-Ymin)(X-Nmin)/(Nmax-Nmin)+Ymin
式中,Y为参数测量值;Ymax为测量范围最大值;Ymin为测量范围最小值;Nmin为对应的A/D转换值;Nmin为Ymin对应的A/D转换值;X为测量值Y对应的A/D转换值。 本系统中,Ymin=0℃,Ymax=100℃,Nmin=0,Nmax=255,则 Y=(100-0)(X-0)/(255-0)+0=a1X+a0 式中,a1=0.39,a0=0。
由于x的系数为小数,在单片机中编制像0.39这样的小数的乘法程序很难实现,如果将其取近似值0.4,则乘以最大A/D转换值后,会产生0.01×255=2.55的误差。所
辽宁科技大学本科生毕业设计
第 18 页 以设线性系数为a1,最终转化的结果为100,通过a1=100×256/255=100.39可确定系数。是四舍五入取100时,显示最高只能显示99,所以选用101。
8.显示子程序 显示模块的功能为:使第1个数码管显示A/D转换数据采集的采样值,而第2个数码管显示由按键输入的设定值,用于显示对系统的温度设定,在整个系统进行测控的过程中,两个数码管同时显示,显示程序中采样值显示采用了常规的显示程序,不再赘述。这里只谈编写显示程序中键盘显示时主要注意的一点。由于最后生成的设定值是有十位或个位的加一和十位或个位的减一键输入,须严格区分才可以编制其显示程序,此处采用的方法是将个位的加一、减一键输入的值存放在28H,而十位的加一、减一键输入的值存放在34H,然后驱动不同的位码即可正常显示。流程图如图4-5所示。
图4-4 按键处理子程序流程图
辽宁科技大学本科生毕业设计
4-5第 19 页
显示处理子程序流程图
图 辽宁科技大学本科生毕业设计
第 20 页
4.3 源程序设计
ORG 0000H JMP START ORG 0040H START: LCALL ZHUANHUAN SETB P3.0 SETB P3.1 SETB P3.2 SETB P2.0 SETB P2.1 SETB P2.2 LCALL DELAY1 MOV 34H,#05 MOV 35H,#05 MOV 28H,#05 MOV 29H,#05 LLL: LCALL ZHUANHUAN MOV 31H,A LCALL DELAY4
LCALL ZHUANHUAN MOV 32H,A LCALL DELAY4
LCALL ZHUANHUAN MOV 33H,A LCALL FILTER LCALL CHNTER LCALL SHOW
JB P2.4,KONGZHI1 KEY0:
JB P2.4,LLL
LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER
辽宁科技大学本科生毕业设计
第 21 页 LCALL SHOW LCALL DELAY4 KEY1: JB P2.5,KEY51 LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 KEY2:
JB P2.7,KEY3
LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW DEC 34H MOV A,34H MOV 35H,34H
CJNE A,#0FFH,KEY22 MOV 34H,#05H
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 KEY22: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY2 KONGZHI1: LJMP KONGZHI
辽宁科技大学本科生毕业设计
第 22 页 KEY51: LJMP KEY5 KEY3:
JB P2.6,KEY02 LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 INC 35H MOV A,35H MOV 34H,35H LCALL DELAY4 CJNE A,#0AH,KEY33 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 MOV 35H,#04 LCALL DELAY4 KEY33: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY3 KEY02: LJMP KEY0 KEY5: JB P2.7,KEY6 LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW
辽宁科技大学本科生毕业设计
第 23 页 LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW DEC 28H MOV A,28H MOV 29H,28H
CJNE A,#0FFH,KEY55 MOV 28H,#05
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 KEY55: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY5 KEY6:
JB P2.6,KEY01 LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW
辽宁科技大学本科生毕业设计
第 24 页 LCALL DELAY4 INC 29H MOV A,29H MOV 28H,29H LCALL DELAY4 CJNE A,#9,KEY66 MOV 29H,#04
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4
LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 KEY66: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY6 KEY01: LJMP KEY0 KONGZHI: LCALL ZHUANHUAN LCALL CHNTER LCALL WUCHA
MOV A,2EH MOV 39H,A LCALL MULT1 LCALL DELAY1 LCALL DELAY1 LCALL SHOW LCALL DELAY1 LCALL DELAY1
LCALL ZHUANHUAN LCALL FILTER LCALL CHNTER LCALL WUCHA MOV 3AH,A MOV A,39H MOV B,3AH CLR C SUBB A,B MOV 3BH,A
辽宁科技大学本科生毕业设计
第 25 页 LCALL MULT2 ZZP: MOV A,37H
XRL A,#00H
JB ACC.7,ZZP1 LJMP ZZP2 ZZP1: MOV A,37H
CJNE A,#0FFH,ZZP3 LJMP ZZP4 ZZP2: MOV A,37H
CJNE A,#03H,ZZP5 LJMP ZZP6 ZZP3: JC ZZP7 LJMP ZZP37 ZZP4: MOV A,36H XRL A,#00H
JB ACC.7,ZZP8 LJMP ZZP9 ZZP5: JC ZZP10 LJMP ZZPP5 ZZPP5: MOV A,36H XRL A,#00H
JB ACC.7,ZZPP51 LJMP WU5 ZZPP51: MOV A,36H
CJNE A,#0FEH,ZZPP52 LJMP WU5 ZZPP52: JC ZZPP521 LJMP WU5 ZZPP521: LJMP WU0 ZZP6: MOV A,36H XRL A,#00H JB ACC.7,ZZP11 LJMP WU5 ZZP7:
辽宁科技大学本科生毕业设计
第 26 页 MOV A,37H
CJNE A,#0FEH,ZZP12 LJMP ZZP13 ZZP8: MOV A,36H
CJNE A,#0FBH,ZZP14 LJMP WU4 ZZP9: MOV A,36H
CJNE A,#00H,ZZP15 LJMP WU1 ZZP10: MOV A,37H
CJNE A,#02H,ZZP16 LJMP ZZP17 ZZP11: MOV A,36H
CJNE A,#0F8H,ZZP18 LJMP WU1 ZZP12: JC ZZP19 LJMP ZZP4 ZZP13: MOV A,36H XRL A,#00H
JB ACC.7,ZZP20 LJMP ZZP21 ZZP14: JC zzp141 LJMP ZZP22 zzp141: LJMP WU4 ZZP15: JC ZZP151 LJMP WU0 ZZP151: LJMP WU1 ZZP16: JC ZZP23 LJMP ZZP17 ZZP17: MOV A,36H XRL A,#00H JB ACC.7,ZZP24
辽宁科技大学本科生毕业设计
第 27 页 LJMP ZZPP17 ZZPP17: MOV A,36H
CJNE A,#01H,ZZPP171 LJMP WU5 ZZPP171: JC ZZPP1711 LJMP WU5 ZZPP1711: LJMP ZZP18: JC LJMP ZZP181: LJMP ZZP19: MOV CJNE LJMP ZZP20: MOV CJNE LJMP ZZP21: MOV CJNE LJMP ZZP22: MOV CJNE LJMP ZZP23: MOV CJNE LJMP ZZP24: MOV CJNE LJMP ZZP25: JC LJMP ZZP26: MOV WU0 ZZP181 WU0 WU1 A,37H
A,#0FDH,ZZP25 ZZP26 A,36H
A,#0FBH,ZZP27 WU4 A,36H
A,#00H,ZZP28 WU2 A,36H
A,#0FFH,ZZP29 WU2 A,37H
A,#01H,ZZP30 ZZP31 A,36H
A,#0F7H,ZZP32 WU1 ZZP33 ZZP13 A,36H
辽宁科技大学本科生毕业设计
第 28 页 XRL A,#00H
JB ACC.7,ZZP34 LJMP ZZP35 ZZP27: JC ZZP271 LJMP WU3 ZZP271: LJMP WU4 ZZP28: MOV CJNE LJMP ZZP29: JC LJMP ZZP291: LJMP ZZP30: JNC LJMP ZZP301: LJMP ZZP31: MOV XRL JB LJMP ZZP32: JC LJMP ZZP321: LJMP ZZP33: MOV XRL JB LJMP ZZP331: LJMP ZZP34: MOV CJNE LJMP ZZP35:
A,36H
A,#03H,ZZP36 WU0 ZZP291 WU1 WU3 ZZP301 ZZP37 ZZP31 A,36H A,#00H
ACC.7,ZZP38 ZZP39 ZZP321 ZZP40 WU2 A,36H A,#00H
ACC.7,ZZP331 ZZP41 WU4 A,36H
A,#0FDH,ZZP42 WU4 辽宁科技大学本科生毕业设计
第 29 页 MOV A,36H
CJNE A,#00H,ZZP43 LJMP WU2 ZZP36: JC ZZP361 LJMP WU0 ZZP361: LJMP WU1 ZZP37: MOV A,36H XRL A,#00H
JB ACC.7,ZZP44 LJMP ZZP39 ZZP38: MOV A,36H
CJNE A,#0FBH,ZZP45 LJMP WU3 ZZP39: MOV A,36H
CJNE A,#03H,ZZPP39 LJMP WU5 ZZPP39: JC ZZP391 LJMP WU5 ZZP391: LJMP WU0 ZZP40: MOV A,36H
CJNE A,#0FFH,ZZP46 LJMP WU0 ZZP41: MOV A,36H CJNE A,#00H,ZZP47 LJMP WU3 ZZP42: JC ZZP421 LJMP WU3 ZZP421: LJMP WU4 ZZP43: MOV A,36H
CJNE A,#05H,ZZP48 LJMP WU0 ZZP44:
辽宁科技大学本科生毕业设计
第 30 页 MOV A,36H
CJNE A,#0FBH,ZZP49 LJMP WU4 ZZP45: JC ZZP451 LJMP ZZP50 ZZP451: LJMP WU3 ZZP46: JC ZZP461 LJMP WU0 ZZP461: LJMP WU1 ZZP47: MOV A,36H
CJNE A,#00H,ZZP51 LJMP WU3 ZZP48: JC ZZP481 LJMP WU0 ZZP481: LJMP WU1 ZZP49: JC ZZP491 LJMP ZZP52 ZZP491: LJMP WU4 ZZP50: MOV A,36H
CJNE A,#0FEH,ZZP53 LJMP WU1 ZZP51: MOV A,36H
CJNE A,#01H,ZZP LJMP WU2 ZZP52: MOV A,36H
CJNE A,#0FEH,ZZP55 LJMP WU2 ZZP53: JC ZZP531 LJMP WU0 ZZP531: LJMP WU2
辽宁科技大学本科生毕业设计
第 31 页 ZZP: JC ZZP1 LJMP ZZP56 ZZP1: LJMP WU2 ZZP55: JC ZZP551 LCALL WU1 ZZP551: LJMP WU3 ZZP56: MOV A,36H
CJNE A,#05H,ZZP57 LJMP WU0 ZZP57: JC ZZP571 LJMP WU0 ZZP571: LJMP WU1 WU0: MOV TMOD,#01H MOV R2,#16 SETB P3.4 LOOP1: MOV TH0,#0ECH MOV TL0,#78H SETB TR0
LOOP2: JBC TF0,LOOP3 SJMP LOOP2 LOOP3: DJNZ R2,LOOPZ1 SETB P3.5 LJMP LLL LOOPZ1: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP1 WU1: MOV TMOD,#11H MOV R2,#4 MOV R6,#12 CLR P3.4 LOOP11:
辽宁科技大学本科生毕业设计
第 32 页 MOV TH0,#0ECH MOV TL0,#78H SETB TR0
SJMP LOOP31 LOOP21: MOV TH1,#0ECH MOV TL1,#78H SETB TR1 SJMP LOOP41 LOOP31: JBC TF0,LOOP51 SJMP LOOP31 LOOP41: JBC TF1,LOOP61 SJMP LOOP41 LOOP51: DJNZ R2,LOOPZ11 SETB P3.4 SJMP LOOP21 LOOPZ11: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP11 LOOP61: DJNZ R6,LOOPZ21 LJMP LLL LOOPZ21 : LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP21 WU2: MOV TMOD,#11H MOV R2,#8 MOV R6,#8 CLR P3.4 LOOP12: MOV TMOD,#11H MOV TH0,#0ECH MOV TL0,#78H SETB TR0 SJMP LOOP32 LOOP22:
辽宁科技大学本科生毕业设计
第 33 页 MOV TMOD,#11H MOV TH1,#0ECH MOV TL1,#78H SETB TR1 SJMP LOOP42 LOOP32: JBC TF0,LOOP52 SJMP LOOP32 LOOP42: JBC TF1,LOOP62 SJMP LOOP42 LOOP52: DJNZ R2,LOOPZ12 SETB P3.4 SJMP LOOP22 LOOPZ12: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW
LJMP LOOP12 LOOP62: DJNZ R6,LOOPZ22 LJMP LLL LOOPZ22: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP22 WU3: MOV TMOD,#11H MOV R2,#12 MOV R6,#4 CLR P3.4 LOOP13: MOV TH0,#0ECH MOV TL0,#78H SETB TR0 SJMP LOOP33 LOOP23: MOV TH1,#0ECH MOV TL1,#78H SETB TR1 SJMP LOOP43 LOOP33:
辽宁科技大学本科生毕业设计
第 34 页 JBC TF0,LOOP53 SJMP LOOP33 LOOP43: JBC TF1,LOOP63 SJMP LOOP43 LOOP53: DJNZ R2,LOOPZ13 SETB P3.4 SJMP LOOP23 LOOPZ13: LCALL ZHUANHUAN LCALL CHNTER
LCALL SHOW LJMP LOOP13 LOOP63: DJNZ R6,LOOPZ23 LJMP LLL LOOPZ23: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP23 WU4: MOV TMOD,#01H MOV R2,#16 CLR P3.4 LOOP14: MOV TH0,#0ECH MOV TL0,#78H SETB TR0 LOOP24: JBC TF0,LOOP34 SJMP LOOP24 LOOP34: DJNZ R2,LOOPZ14 SETB P3.4 LJMP LLL LOOPZ14: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP14 WU5: MOV TMOD,#01H
辽宁科技大学本科生毕业设计
第 35 页 MOV R2,#16 CLR P3.5 LOOP15: MOV TH0,#0ECH MOV TL0,#78H SETB TR0 LOOP25: JBC TF0,LOOP35 SJMP LOOP25 LOOP35: DJNZ R2,LOOPZ15 SETB P3.5 LJMP LLL LOOPZ15: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LJMP LOOP15 SHOW: LCALL SHIFT MOV A,@R1 INC R1
MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A SETB P3.0 LCALL DELAY3 CLR P3.0 LCALL DELAY3
MOV A,@R1 SWAP A ANL A,#0FH
MOVC A,@A+DPTR MOV P1,A SETB P3.1 LCALL DELAY3 CLR P3.1 LCALL DELAY3
MOV A,@R1 INC R1 ANL A,#0FH
MOVC A,@A+DPTR
辽宁科技大学本科生毕业设计
第 36 页 MOV P1,A SETB P3.2 LCALL DELAY3 CLR P3.2
LCALL DELAY3
MOV A,@R1 INC R1
MOVC A,@A+DPTR MOV P1,A SETB P2.3 LCALL DELAY3 CLR P2.3 LCALL DELAY3
MOV A,@R1 SWAP A
ANL A,#0FH
MOVC A,@A+DPTR MOV P1,A SETB P2.1 LCALL DELAY3 CLR P2.1 LCALL DELAY3
MOV A,@R1 ANL A,#0FH
MOVC A,@A+DPTR MOV P1,A SETB P2.2 LCALL DELAY3 CLR P2.2 LCALL DELAY3
CLR P2.4 CLR P2.5 CLR P2.6 CLR P2.7 SETB P2.4 SETB P2.5 SETB P2.6 SETB P2.7
LCALL DELAY3
辽宁科技大学本科生毕业设计
第 37 页 ; 数字代码表
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH RET
SHIFT: MOV R1,#3DH MOV A,25H MOV B,#100 DIV AB
MOV @R1,A INC R1
MOV A,#10 XCH A,B DIV AB SWAP A ADD A,B MOV @R1,A INC R1 MOV A,28H MOV @R1,A INC R1
MOV A,34H MOV B,#10 DIV AB SWAP A ADD A,B MOV @R1,A DEC R1 DEC R1 DEC R1 RET
DELAY1: MOV R5,#10 DE11 : MOV R4,#80 DE12: DJNZ R4,DE12 DJNZ R5,DE11 RET
DELAY2: MOV R5,#20 DE21:
辽宁科技大学本科生毕业设计
第 38 页 MOV R4,#80 DE22: DJNZ R4,DE22 DJNZ R5,DE21 RET
DELAY3: MOV R5,#30 DE31: MOV R4,#30 DE32: DJNZ R4,DE32 DJNZ R5,DE31 RET
DELAY4: MOV R5,#100 DE41: MOV R4,#60 DE42: DJNZ R4,DE42 DJNZ R5,DE41 RET
CHNTER: MOV 21H,#101 MOV 22H,#0 MOV A,@R0 MOV B,21H MUL AB ADD A,22H MOV 24H,A MOV A,B ADDC A,23H MOV 25H,A RET
FILTER: MOV A,31H
CJNE A,32H,CMP1 AJMP CMP2 CMP1: JNC CMP2 XCH A,32H
辽宁科技大学本科生毕业设计
第 39 页 XCH A,31H CMP2: MOV A,32H
CJNE A,33H,CMP3 MOV 38H,A RET CMP3: JC CMP4 MOV 38H,A RET CMP4: MOV A,33H
CJNE A,31H,CMP5 MOV 38H,A RET CMP5: JC CMP6 XCH A,31H CMP6: MOV 38H,A RET
MULT1: MOV A,39H XRL A,#00H
JB ACC.7,NEGFU1 LJMP POS1 NEGFU1: MOV A,39H CPL A
ADD A,#01H MOV B,#02H MUL AB MOV 3CH,A CPL A
ADD A,#01H MOV 36H,A RET POS1: MOV A,39H MOV B,#02H MUL AB MOV 36H,A RET
辽宁科技大学本科生毕业设计
第 40 页
MULT2: MOV A,3BH XRL A,#00H
JB ACC.7,NEGFU2 LJMP POS2 NEGFU2: MOV A,3BH CPL ADD MOV MUL MOV MOV CPL ADD MOV DIV MOV MOV ADD MOV CPL ADD MOV RET POS2: MOV MOV MUL MOV MOV MOV DIV MOV MOV ADD MOV RET
WUCHA: MOV MOV MUL A A,#01H B,#2 AB 2CH,A A,3BH A
A,#01H B,#2 AB 2DH,A B,2CH A,B 3CH,A A
A,#01H 37H,A A,3BH B,#2 AB 2CH,A A,3BH B,#2 AB 2DH,A B,2CH A,B 37H,A A,34H B,#10 AB
辽宁科技大学本科生毕业设计
MOV 2AH,A MOV B,28H ADD A,B MOV 2BH,A MOV A,25H MOV B,2BH CLR C SUBB A,B MOV 2EH,A RET
ZHUANHUAN:
SETB P3.3 NOP NOP
CLR P3.3 NOP NOP
SETB P2.0 NOP NOP
CLR P2.0 NOP NOP WAIT:
JB P3.7, MOVD AJMP WAIT MOVD:
CLR P3.6 NOP NOP
SETB P3.6 NOP NOP
MOV A,P0 MOV @R0,A CLR P3.6 NOP NOP RET END
第 41 页 ; 将地址传送到ADC ; 启动转换 ; 结束转换
; 等待转换结束 ; 在ADC端口输出转换数据 ; 将ADC中的数据保存到Acc ; 将Acc暂存到R0 ; DAC输出浮点数
辽宁科技大学本科生毕业设计
第 42 页
5 软件调试与运行结果
(1)根据系统所需完成的功能编写流程图。 (2)对各功能模块进行逐一编写与调试。
(3)各功能模块调试正常后,进行联合编程。需要注意地址空间的分配、程序的连贯性及各功能的相互搭配。
(4)对总程序进行调试,调试完成后,需要对总程序进行精简,在完成各种功能的前提下,减小程度的冗余度。
(5)系统仿真结果如图5-1所示。使用分析图表分析系统在不同温度清醒下加热器控制信号输出端口与风扇控制信号输出端口的占空比。
图5-1 温度测控系统仿真图
辽宁科技大学本科生毕业设计
第 43 页 结论
根据本次设计要求,并通过认真的分析设计课题的需求,并学习了单片机的工作原理及其使用方法,从而独自设计PID控制算法的温度控制系统设计的整个项目。 本系统采用ATS51作为控制器,检测部分选用PT100作为传感器,ADC0808作为A/D转换器,显示电路采用两个4位LED显示数码管,共阴极接法。
通过理论推导和仿真验证,进一步说明数字PID进行控制时的系统动态性能指标优越,特别适用于对象为滞后的系统,因此PID算法是一种较好的控制算法,能在工业控制中得到较好的应用。
通过本次毕业设计,不仅是对我大学四年所学知识的考查,更是对我的自学能力和收集资料能力以及动手能力的考验。本次毕业设计使我对一个项目的整体设计有了初步认识,还认识了几种传感器,并能设计出其接口电路,再有对电路板的制作有了一定的了解,并学会了使用Proteus设计电路。本次毕业设计还使我意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。还有以前对程序只是一个很模糊的概念,通过这次的毕业设计使我对程序完全有了一个新的认识,并能使用汇编语言熟练的进行编程了。通过本次毕业设计,极大的锻炼了我思考和分析问题的能力。
辽宁科技大学本科生毕业设计
第 44 页
致 谢
至此毕业论文完成之际,谨向给予我指导的荆老师表示诚挚的感谢!从论文的开题,到系统的分析、设计、编码实现,以至论文的成稿,荆老师给了我诸多的帮助和悉心的指导,其严谨的作风和认真的分析态度感染了我,使我认识到,学习不仅要注重方法,更要有严谨、主动的态度,这将对我以后的工作学习产生深远的影响!再次向我的指导老师荆老师致以最诚挚的谢意!
另外,我还要感谢所有在我毕业设计期间给予我帮助的我的家人和同学。最后我要感谢辽宁科技大学,我为能成为这所学校的学生感到自豪和骄傲!而我也要尽我所能将我从母校学到的知识应用于实际工作当中。
衷心的感谢所有帮助我的指导老师和同学!
辽宁科技大学本科生毕业设计
第 45 页 由于自己的水平有限,论文中存有诸多不足,恳请老师、同学批评指正。
参考文献
[1] 雷思孝,李伯成,雷向莉.单片机原理及实用技
术-凌阳16位单片机原理及应用.
辽宁科技大学本科生毕业设计
第 46 页 西安电子科技大学出版社,2004 ,2003
[3] 张洪润,刘秀英,张亚凡.单片机应用设计
200例(下册).第一版.北京航空
航天大学出版社,2006
[4] 王忠民,王钰,王晓婕.微型计算机原理(第
二版),西安电子科技大学出版社,2007
[5] 陈海宴.51单片机原理及应用[M],北京:北京航空航天大学出版社,2013 2000
辽宁科技大学本科生毕业设计
第 47 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务