《计算机控制技术课程设计-温度控制系统设计.doc》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计-温度控制系统设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流计算机控制技术课程设计-温度控制系统设计课 程 设 计题 目温度控制系统设计学 院自动化学院专 业自动化专业班 级姓 名指导教师2014年6月24日.精品文档.课程设计任务书题 目: 温度控制系统设计 要求完成的主要任务: 被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为05伏时对应电炉温度0300,温度传感器测量值对应也为05伏,对象的特性为二阶惯性系统,惯性时间常数为T120秒,滞后时间常数为10秒。 1)设计温度控制系统的计算机硬件系统
2、,画出框图; 2)编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及的值; 3)通过数据分析Ti改变时对系统超调量的影响。 4)撰写设计说明书。时间安排:6月9日 查阅和准备相关技术资料,完成整体方案设计6月10日6月12日完成硬件设计6月13日6月15日编写调试程序6月16日6月17日撰写课程设计说明书 6月18日 提交课程设计说明书、图纸、电子文档指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要本次课程设计我设计的题目是温度控制系统。通过专业课程的学习,我将引入计算机,单片机,传感器,以及PID算法来实现电炉温度的自动控制,完成课程设计的任务。计算机的自动控制
3、是机器和仪表的发展趋势,它不仅解放了劳动力,也比以往的人为监控更准确,更及时。一旦温度发生变化,计算机监控系统可以立即检测到并通过模拟量数字通道传送到计算机。计算机接收到信号后通过与给定值进行比较后,计算出偏差,再通过PID控制算法给出下一步将要执行的指令。最后通过模拟量输出通道将指令传送到生产过程,实现机器仪表的智能控制。本次课程设计用到了MATLAB这一软件,通过编写程序,将被控系统离散化。再通过MATLAB中的simulink仿真功能,可以看到随着Ki,Kp,Kd改变波形发生的改变,从而可以通过波形直观地看出PID参数对系统动态性能的影响。关键字:温度控制 A/D转换 D/A转换 Sim
4、ulink仿真目录1.设计任务及分析12.方案设计23.系统硬件设计33.1 系统硬件结构33.2系统硬件的选择33.3 系统硬件连接图44 系统软件设计64.1 确定程序流程64.2 程序控制算法介绍84.3 PID控制算法105系统仿真115.1 仿真程序及图形设计11心得体会13参考文献14附录1芯片资料15附录2 程序清单17本科生课程设计成绩评定表27温度控制系统设计1.设计任务及分析被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为05伏时对应电炉温度0300,温度传感器测量值对应也
5、为05伏,对象的特性为二阶惯性系统,惯性时间常数为T120秒,滞后时间常数为10秒。 1)设计温度控制系统的计算机硬件系统,画出框图; 2)编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及的值; 3)通过数据分析Ti改变时对系统超调量的影响。 4)撰写设计说明书。本次设计是对电炉的温度控制,而电炉的温度是通过放在其中的热阻丝来控制的,而热阻丝的电流由可控硅控制器控制热阻丝两端所加电压来控制。对电炉温度的控制是个动态的过程,不可能一下子就达到我们想要的温度,需要用到一些仪器比如热电偶来测量电路的温度,通过传感器将炉温转换成电压信号,送入A/D转换器,通过采样和模数转换,所检测到的电压
6、信号和炉温给定值的电压信号送入计算机程序中作比较,得出给定值与实际值之间的偏差,单片机对偏差进行运算,将运算结果送给晶闸管调压器来调节热阻丝的电流,以此来调节电电炉的温度。2.方案设计电炉的温度控制是个动态的控制过程,需要借助计算机,单片机等很多器件的硬件连接来实现。而电炉温度的直接控制是通过热阻丝的加热来实现的,热阻丝的加热是由流经热阻丝的电流来控制的,而热阻丝的电流是通过可控硅控制器控制热阻丝两端所加电压来控制,电压的调节是通过可控制硅控制。需要用到热电偶时刻监测电炉的温度,通过传感器将温度信号转化为电压信号,而电压信号通过模数转换送入到计算机进行控制,计算机将转换结果送到晶闸管来控制加到
7、热阻丝两端的电压,这样达到调节电炉温度的目的。 传感器 电炉 数据采集 控制电路 D/A转换 A/D转换 计算机 显示电路 键盘控制图2-1 温度控制系统框图3.系统硬件设计炉温信号T通过温度检测及变送,变成电信号,与温度设定值进行比较,计算温度偏差e和温度的变化率de/dt,再由智能控制算法进行推理,并得控制量u,可控硅输出部分根据调节电加热炉的输出功率,即改变可控硅管的接通时间,使电加热炉输出温度达到理想的设定值。3.1 系统硬件结构ADC0809的INT0端口所连接的电阻起到给定预定值的作用,通过调节滑动变阻器划片的位置,改变INT0端口的电压,该电压通过0809转换为数字量被计算机读取
8、。将一个0-5V的电压表连接到可变电阻上,测量其电压,再将其表盘改装为温度表盘,即将原来的0-5V的刻度均匀分为300份,每一份代表1,则可以读取预定的温度值。ADC0809的INT1端口与热电偶相连。由8051构成的核心控制器按智能控制算法进行推算,得出所需要的控制量。由单片机的输出通过调节可控硅管的接通时间,改变电炉的输出功率,起到调温的作用 。 3.2系统硬件的选择微型计算机的选择:选择8051单片机构成炉温控制系统。它具有8位CPU,3 2根I/O线,4 kB片内ROM存储器,128 kB的RAM存储器。8051对温度是通过可控硅调节器实现的。在系统开发过程中修改程序容易,可以大大缩短
9、开发周期。同时,系统工作过程中能有效地保存一些数据信息,不受系统掉电或断电等突发情况的影响。8051单片机内部有128 B的RAM存储器,不够本系统使用,因此,采用6264(8 kB)的RAM作为外部数据存储器。 热电偶的选择:本设计采用热电偶-镍络-铜硅热电偶(线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜)对温度进行检测。镍铬-铜镍热电偶在300时的热点势21.033mV,为满足0-5V的要求,需将其放大238倍,再通过0809将其转换为数字量被计算机读取,通过软件程序对数据进行处理,将处理的结果经0832输出,输出量控制可控硅控制器,从而改变电阻丝两端的电压
10、,使炉温得到控制。3.3 系统硬件连接图 综合以上分析,可以得出系统的硬件连接图如图3-1所示:图3-1 系统硬件连接图4 系统软件设计4.1 确定程序流程在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测
11、误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调和长时间的波动。特别对于温度等变化缓慢的过程,这一现象更为严重,为此,可采用积分分离措施,即偏差较大时,取消积分作用;当偏差较小时才将积分作用投入。亦即当时,采用PD控制;当时,采用PID控制。积分分离阈值应根据具体对象及控制要求。若值过大时
12、,则达不到积分分离的目的;若值过小,则一旦被控量无法跳出个积分分离区,只进行PD控制,将会出现残差,为了实现积分分离,编写程序时必须从数字PID差分方程式中分离出积分项,进行特殊处理。根据设计要求及所选硬件,程序流程如图4-1所示:开始系统初始化设置数据采集A/D转换求出温度值信号比较PID调节可控硅调节加热炉图4-1 程序主流程图4.2 程序控制算法介绍 由以上分析,本次设计采用的是积分分离PID控制算法,PID调节时连续系统中技术中最成熟的,应用广泛的一种调节控制方式。在模拟控制系统中,PID算法的表达为: u:调节器的输出信号;e:偏差信号;K:调节器的比例系数;TI:调节器的积分时间;
13、TD:调节器的微分时间。 在计算机控制中,为实现数字控制,必须对式上式进行离散化处理。用数字形式的差分方程代替连续系统的微分方程。设系统的采样周期为T,在t=kT时刻进行采样,式中e(k):根据本次采样值所得到的偏差; e(k-1):由上次采样所得到的偏差。由以上可得:式中,T为采样时间,项为积分项的开关系数积分积分分离PID控制算法程序框图如图4-2所示: 开始 初始化 数据采集 Y N PID控制 PD控制 控制器输出 更新参数 返回图4-2 积分分离PID控制算法图4.3 PID控制算法实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程控制时,都能得到满意的效果。不过用计算
14、机实现PID控制,不是简单得把模拟PID控制规律数字化,而是进一步与计算机的逻辑判断功能结合,使PID控制更加灵活,更能满足生产过程提出的要求。PID算法推倒如下: u:调节器的输出信号;e:偏差信号;K:调节器的比例系数;TI:调节器的积分时间;TD:调节器的微分时间。对应的模拟PID调节器的传递函数 其中为比例增益,与比例带成倒数关系即=1/,TI为积分时间常数,TD为微分时间常数,u(t)为控制量,e(t)为偏差。在计算机控制中,为实现数字控制,必须对式上式进行离散化处理。用数字形式的差分方程代替连续系统的微分方程。设系统的采样周期为T,在t=kT时刻进行采样,式中e(k):根据本次采样
15、值所得到的偏差;e(k-1):由上次采样所得到的偏差。T为采样周期K为采样序号由以上可得:式中,T为采样时间,项为积分项的开关系数5系统仿真5.1 仿真程序及图形设计被控对象为:G(S)= 采用simulink仿真,通过simulink模块实现积分分离PID控制算法。选择合适的Kp,Ki,Kd是系统的仿真效果趋于理想状态。MATLAB编写程序如下:clear all;close all;ts=2; %采样时间2ssys=tf(1,400,40,1);dsys=c2d(sys,ts,zoh); %将sys离散化num,den=tfdata(dsys,v); %求sys多项式模型参数kp=10;k
16、i=0.25;kd=5;Simulink仿真图如图5-1所示:图5-1 simulink仿真图心得体会本次计算机控制技术课程设计我的题目是电炉温度控制系统。通过本学期专业课程的学习,我打算通过传感器,单片机,计算机来实现炉温的自动控制系统。最后通过simulink仿真波形,观察PID参数变化对系统结果的影响,从而对计算机控在技术中的PID控制有更深刻的理解和认识。拿到题目后,首先我纲举目张地初步将我的整个报告完成过程分为了六个步骤:分析题目要求,列出报告提纲,查找资料,设计硬件和软件,进行Matlab仿真,撰写课程设计说明书。通过计算机控制技术这门专业课的学习,已经对整个控制系统的组成和原理有
17、了初步认识,所以题目理解起来并不困难,主要就是用到了A/D和D/A转换,以及单片机编程实现。接下来就是查阅资料和列提纲了,这两步基本是同时进行。紧接着就是根据手头上已有的课本和网络上找到的资源进行软硬件设计,在理解了课本上的知识后,设计起来也并不复杂。整个炉温控制系统大致工作流程是这样的:采集当前温度数据进行A/D转换后送至计算机系统,与给定标准温度进行偏差计算,通过控制算法给出下一步执行决策,并通过D/A转换器送出至控制系统,控制系统根据指令进行人为或自动控制处理,这样整个控制流程就比较清晰了。下一步是进行simulink仿真。不得不说对simulink的学习仍需加强,对整个软件不是很了解的
18、情况下就去做仿真的结果就是浪费大量时间做无用功,而且还得不出结果。最后是撰写课程设计报告。其实这个过程考验的是自己的细心和耐心,格式方面的修改有时候确实让人头疼,但一旦你这一次做到了这些,下次再写报告的时候就会事半功倍,为人处世也会学着更加细致谨慎。参考文献1李建忠.单片机原理及应用.西安:西安电子科技大学出版社,2001.2潘新民.王燕芳.微型计算机控制技术.北京:高等教育出版社,2001. 3何立民.单片机应用系统设计.北京:北京航空航天大学出版社,2000.4韩志军,沈晋源,王振波.单片机应用系统设计.北京:机械工业出版社,2005.5周航慈.单片机程序设计基础.北京:北京航空航天大学出
19、版社,2000.附录1芯片资料ADC0809芯片图 ADC0809芯片ADC0809各脚功能如下: D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。DAC0832芯片:图 DAC0832芯片
20、DAC0832芯片为20引脚,双列直插式封装。其引脚排列如图6所示。(1)数字量输入线D7D0(8条) (2)控制线(5条) (3)输出线(3条) (4)电源线(4条)DAC0832的技术指标(1)分辨率:8位(2)电流建立时间:1S(3)线性度(在整个温度范围内)8、9或10位(4)增益温度系数:00002 FS/(5)低功耗:20mW(6)单一电源:+5 +15V附录2 程序清单积分分离PID控制算法子程序:START:MOV 68H,KP ;分别将KP ,TI ,TD, T,送入指定的存储单元MOV 54H,TIMOV 55H,TDMOV 56H,TMOV 57H,MOV A,68H ;
21、计算KI=KP*T/TIMOV B,56HMUL ABMOV B,54HDIV ABMOV 69H,AMOV A,68H ;计算KD=KP*TD/TMOV B,55HMUL ABMOV B,56HDIV ABMOV 6AH,ALOOP0: MOV DPTR #7FF0H ;读取预定温度值,送ADC0809的IN0口地址 MOV DPTR,A ;启动A/D转换LOOP1 JB P3.3,LOOP1 ;等待转换数据 MOVX A,DPTR ;读取ADC0809的IN0口转换后的数据 MOV 5CH,A ;将预定值数据放入指定的存储单元MOV DPTR,#7FF1H ;读取采样温度值,送ADC080
22、9的IN1口地址 MOVX DPTR,A ;启动A/D转换LOOP2: JB P3.3,LOOP2 ;等待转换数据 MOVX A,DPTR ;读取ADC0809的IN1口转换后的数据 MOV 49H,A ;将采样值数据放入指定的存储单元 MOV A,5CH ;计算e(i),先取温度给定值 CLR C SUBB A,50H ;温度给定值-采样值 JNC AA0 ;判断e(i)的正负,如果为正,跳至AA0 CPL A ;e(i)为负,下两条指令求补 ADD A,#01HAA0: MOV R0,57H SUBB A,57H ;|e(i)|- JNC AA1 ;|e(i)|跳至AA1 SJMP AA2
23、 ;|e(i)|跳至AA2AA1: LCALL PD ;调用PD算法AA2: LCALL PID ;调用PID算法 MOV A,7CH ;将Ui通过DAC0832输出 MOV DPTR,#7FF2H MOVX DPTR,A INC DPTR MOVX DPTR,A LCALL DELAY ;调用延时子程序,等待下一次采样计算 SJMP LOOP0 ;进入下一次控制计算DELAY PROC NEARDL0: MOV R6,#FFHDL1: MOV R7,#FFHDL2: MOV R5,#FFHDLS: DJNZ R5,DLSDJNZ R7,DL2DJNZ R6 DL1RETDELAY ENDPP
24、ID PROC NEARPID:MOV A,5CH ;计算e(i),先取温度给定值CLR CSUBB A,50H ;温度给定值-温度检测值JNC PID1 ;判断e(i)正负,如果为正,跳至PID1CPL A ;e(i)为负,下两条指令求补ADD A,#01HSETB 30H ;e(i)为负,符号位置1SJMP PID2PID1:CLR 30H ;e(i)为正,符号位置0PID2:MOV 6BH,A ;e(i)值存放在6BH单位元中MOV R1,6BH ;计算ei-ei-1,先将ei值,送R1MOV C,30H ;将ei的符号位值送20H位MOV 20H,CMOV R2,6CH ;将ei-1值
25、送R2MOV C,31H ;将 ei-1的符号位值送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法子程序MOV 6EH,R3 ;将差值ei-ei-1送6EH单元MOV C,22H ;将差值ei-ei-1的符号位送33H位MOV 33H,CMOV R1,6CH ;计算ei-1-ei-2,先将ei-1值送R1MOV C,31H ;将ei-1符号位送20H位MOV 20H,CMOV R2,6DH ;将ei-2的值送R2MOV C,32H ;将 ei-2的符号位值送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法子程序MOV 6FH,R3 ;将差值ei-1
26、-ei-2送6FH单元MOV C,22H ;将差值ei-1-ei-2的符号位送34H位MOV 34H,CMOV R1,6EH ;计算(ei-ei-1)-(ei-1-ei-2),将ei-ei-1值送R1MOV C,33H ;将ei-ei-1符号位送20H位MOV 20H,CMOV R2,6FH ;将ei-1-ei-2值送R2MOV C,34H ;将ei-1-ei-2符号位送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法子程序MOV 70H,R3 ;将差值(ei-ei-1)-(ei-1-ei-2)送70H单元MOV C,22H ;将差值(ei-ei-1)-(ei-1-ei-
27、2)的符号位值送35H位MOV 35H,CMOV A,68H ;计算Kp*(ei-ei-1),将Kp值送AMOV B,6EH ;将ei-ei-1值送BMUL AB ;两数相乘MOV 71H,B ;Kp*(ei-ei-1)值存71H,72H单元MOV 72H.AMOV A,69H ;计算KI*ei,将KI值送AMOV B,6BH ;将ei值送BMUL AB ;两数相乘MOV 73H,B ;KI*ei值存73H,74H单元MOV 74H,AMOV A,6AH ;计算KD*(ei-ei-1)-(ei-1-ei-2),将KD送AMOV B,70H ;将(ei-ei-1)-(ei-1-ei-2)值送BM
28、UL AB ;两数相乘MOV 75H,B ;KD*(ei-ei-1)-(ei-1-ei-2)值存75H,76H单元MOV 76H,AMOV R1,71H ;计算Kp*(ei-ei-1)+KI*ei,将Kp*(ei-ei-1)值送R1,R2MOV R2,72HMOV C,33H ;将Kp*(ei-ei-1)的符号位值送23H位MOV 23H,CMOV R3,73H ;将KI*ei值送R3,R4MOV R4,74H MOV C,30H ;将KI*ei值的符号位懂24H位MOV 24H,CLCALL SJF ;调用双字节带符号加法子程序MOV 77H,R5 ;将Kp*(ei-ei-1)+KI*ei值
29、送77H,78HMOV 78H,R6MOV C,25H ;将Kp*(ei-ei-1)+KI*ei值的符号位送36H位MOV 36H,CMOV R1,77H ;计算Ui,将将Kp*(ei-ei-1)+KI*ei值送R1,R2MOV R2,78H MOV C,36H ;将Kp*(ei-ei-1)+KI*ei值的符号位送23H位MOV 23H,CMOV R3,75H ;将KD*(ei-ei-1)-(ei-1-ei-2)的值送R3,R4MOV R4,76HMOV C,35H ;将KD*(ei-ei-1)-(ei-1-ei-2)的符号位送23H位MOV 24H,CLCALL SJF ;调用双字节带符号加
30、法子程序MOV 79H,R5 ;将Ui值送79H,7AHMOV 7AH,R6MOV C,25H ;将Ui值的符号位送37HMOV 37H,CMOV R1,7DH ;计算Ui,将Ui-1值送R1,R2MOV R2,7EHCLR 23H ;Ui-1值的符号位值恒为0MOV R3,79H ;将Ui值送R3,R4MOV R4,7AHMOV C,37H ;将Ui值的符号位送24HMOV 24H,CLCALL SJF ;调用双字节带符号加法子程序JNB 25H,PID3 ;判断计算结果是否为负MOV 7BH,#00H ;如果是负数,则输出电压为0MOV 7CH,#00HSJMP PID4PID3:MOV
31、7BH,R5 ;否则,将计算得到的Ui值置7BH,7CHMOV 7CH,R6PID4:MOV 6DH,6CH ;数据迭代,ei-1值送ei-2存储单元MOV 6CH,6BH ;ei值送ei-1存储单元MOV 7DH,7BH ;Ui值送Ui-1存储单元MOV 7EH,7CHRETPID ENDPPD PROC NEARPD:MOV A,5CH ;计算ei,先取温度给定值CLR CSUBB A,50H ;温度给定值-温度检测值JNC PD1 ;判断ei正负,如果为正,跳至PID1CPL A ;ei为负,下两条指令求补ADD A,#01HSETB 30H ;ei为负,符号位置1SJMP PD2PD1
32、:CLR 30H ;ei为正,符号位置0PD2:MOV 6BH,A ;ei值存放在6BH单位元中MOV R1,6BH ;计算ei-ei-1,先将ei值,送R1MOV C,30H ;将ei的符号位值送20H位MOV 20H,C;MOV R2,6CH ;将ei-1值送R2MOV C,31H ;将 ei-1的符号位值送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法子程序MOV 6EH,R3 ;将差值ei-ei-1送6EH单元MOV C,22H ;将差值ei-ei-1的符号位送33H位MOV 33H,CMOV R1,6CH ;计算ei-1-ei-2,先将ei-1值送R1MOV
33、C,31H ;将ei-1符号位送20H位MOV 20H,CMOV R2,6DH ;将ei-2的值送R2MOV C,32H ;将 ei-2的符号位值送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法子程序MOV 6FH,R3 ;将差值ei-1-ei-2送6FH单元MOV C,22H ;将差值ei-1-ei-2的符号位送34H位MOV 34H,CMOV R1,6EH ;计算(ei-ei-1)-(ei-1-ei-2),将ei-ei-1值送R1MOV C,33H ;将ei-ei-1符号位送20H位MOV 20H,CMOV R2,6FH ;将ei-1-ei-2值送R2MOV C,3
34、4H ;将ei-1-ei-2符号位送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法子程序MOV 70H,R3 ;将差值(ei-ei-1)-(ei-1-ei-2)送70H单元MOV C,22H ;将差值(ei-ei-1)-(ei-1-ei-2)的符号位值送35H位MOV 35H,CMOV A,68H ;计算Kp*(ei-ei-1),将Kp值送AMOV B,6EH ;将ei-ei-1值送BMUL AB ;两数相乘MOV 71H,B ;Kp*(ei-ei-1)值存71H,72H单元MOV 72H.AMOV A,6AH ;计算KD*(ei-ei-1)-(ei-1-ei-2),将
35、KD送AMOV B,70H ;将(ei-ei-1)-(ei-1-ei-2)值送BMUL AB ;两数相乘MOV 75H,B ;KD*(ei-ei-1)-(ei-1-ei-2)值存75H,76H单元MOV 76H,AMOV R1,71H ;计算Kp*(ei-ei-1)+KI*ei,将Kp*(ei-ei-1)值送R1,R2MOV R2,72HMOV C,33H ;将Kp*(ei-ei-1)的符号位值送23H位MOV 23H,CMOV R3,75H ;将KD*(ei-ei-1)-(ei-1-ei-2)值送R3,R4MOV R4,76H MOV C,35H ;将KD*(ei-ei-1)-(ei-1-ei-2)值的符号位送24H位MOV 24H,CLCALL SJF ;调用双字节带符号加法子程序MOV 79H,R5 ;将Ui值送79H,7AHMOV 7AH,R6MOV C,25H ;将Ui值的符号位送37HMOV 37H,CMOV R1,7DH ;计算Ui,将Ui-1值送R1,R2MOV R2,7EHCLR 23H ;Ui-1值的符号位值恒为0MOV R3,79H ;将Ui值送R3,R4MOV R4,7AHMOV C,37H ;将Ui值的符号位送24HMOV 24H,
限制150内