武汉理工大学计控课设-温度控制系统设计(共28页).doc

上传人:飞****2 文档编号:13767931 上传时间:2022-05-01 格式:DOC 页数:28 大小:471.50KB
返回 下载 相关 举报
武汉理工大学计控课设-温度控制系统设计(共28页).doc_第1页
第1页 / 共28页
武汉理工大学计控课设-温度控制系统设计(共28页).doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《武汉理工大学计控课设-温度控制系统设计(共28页).doc》由会员分享,可在线阅读,更多相关《武汉理工大学计控课设-温度控制系统设计(共28页).doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上学 号: 04课 程 设 计题 目温度控制系统的设计学 院自动化学院专 业自动化专业班 级自动化1005班 姓 名柳元辉指导教师向馗 副教授2013年6月23日课程设计任务书学生姓名: 柳元辉 专业班级: 自动化1005班 指导教师: 向馗 副教授 工作单位: 自动化学院 题 目: 温度控制系统设计 初始条件:被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为05伏时对应电炉温度0300,温度传感器测量值对应也为05伏,对象特性为二阶惯性系统,惯性时间常数均为20秒。要

2、求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1设计温度控制系统的计算机硬件系统,画出框图;2编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及的值;3通过数据分析Td改变时对系统超调量的影响。4撰写设计说明书。时间安排:6月26日查阅和准备相关技术资料,完成整体方案设计6月27日6月28日完成硬件设计6月29日6月30日编写调试程序7月1日7月4日撰写课程设计说明书7月5日提交课程设计说明书、图纸、电子文档指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录专心-专注-专业摘要 温度是工业生产中常见的工艺参数之一,任何物理变化和化学

3、反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。 本文主要介绍了利用8051为主控制电路实现的炉温调节控制系统,详细阐述了系统的功能,硬件组成以及软件设计,利用热电偶采集温度信号经 A/D 转换器转化后与给定信号送入微机系统,系统分析控制算法,信号再经 D/A 转换后控制调节可控硅控制器来改变炉内的温度。 关键字:8051; PID;二阶系统;积分分离;仿真 温度控制系统设计 1 设计任务及要求 被控对象为电

4、炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为05伏时对应电炉温度0300,温度传感器测量值对应也为05伏,对象的特性为二阶惯性系统,惯性时间常数为T20秒。 要求完成的主要任务 (1)设计温度控制系统的计算机硬件系统,画出框图; (2)编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及的值; (3)通过数据分析Td改变时对系统超调量的影响。 2方案比较论证 用温度传感器来检测炉的温度,将炉温转变成毫伏级的电压信号,经温度变送器放大并转换成电流信号。由电阻网络讲电流信号变成电压信号,送入A/D

5、转换器,通过采样和模数转换,所检测到的电压信号和炉温给定值的电压信号送入计算机程序中作比较,得出给定值与实际值之间的偏差,并与进行比较,从而确定算法。计算得到的控制量输出给可控硅控制器,改变可控硅的导通角,达到调压的目的,是电阻丝两端的电压增大或较小,进而实现对炉温的控制。下面有两个方案:方案一:热电偶温度自动控制系统。 方案二:数字温度传感器温度控制系统。 这两个方案都是采用单片机控制,两个方案的比较部分为温度检测部分。 方案一温度检测部分检测部分采用热电偶,它需要冷端补偿电路与其配套,并且热电偶输出电压只有几毫负,必须经过放大处理才能A/D转换和D/A转换器接口,若采用8位A/D转换器,A

6、DC0809则输人端需采用仪用放大器,把几毫伏的电压信号放大到5伏左右。由于热电偶属于非线性器件,因此每个温度值都必须通过分度表,查表才能获得,这给软件编程和数据处理增加了难度。这种系统具有测量温度范围可以从零下一百度到早上千摄氏度,而且有很多热电偶精度非常高这是这种测量系统的优点。但构成系统复杂,抗干扰能力不强。 方案二采用数字温度传感器DS18B20,它的最高分辨率为12位,可识别0.0625摄氏度的温度。它具有直接输出数字信号和数据处理,并且它和单片机接口只需要一位I/O口,因此由它构成的系统简单使用,由于DS18B20,按照工业设计要求设计,抗干扰性能强。但温度测量范围从-55摄氏度-

7、125摄氏度。 根据设计要求,综合考虑选择方案一。 主要的控制芯片采用 8051,要求传感器测量的电压范围和可控硅控制器的电压在 0-5,所以 A/D 与 D/A 转换芯片采用 ADC0809 和DAC0832。炉温控制在 0300内,因此采用镍铬-铜镍热电偶,同时选用运算放大器将信号放大。 由以上分析控制过程,可以得到如图1的系统结构框图:传 感 器数据采集计算机显示电路键盘控制控制电路电 炉图1 系统结构框图3 系统硬件设计 炉温信号 T 通过温度检测及变送,变成电信号,与温度设定值进行比较,计算温度偏差 e 和温度的变化率 de/dt,再由智能控制算法进行推理,并得控制量 u,可控硅输出

8、部分根据调节电加热炉的输出功率,即改变可控硅管的接通时间,使电加热炉输出温度达到理想的设定值。3.1 系统硬件结构 ADC0809 的 INT0 端口所连接的电阻起到给定预定值的作用,通过调节滑动变阻器划片的位置,改变 INT0 端口的电压,该电压通过 0809 转换为数字量被计算机读取。将一个 0-5V的电压表连接到可变电阻上,测量其电压,再将其表盘改装为温度表盘,即将原来的 0-5V的刻度均匀分为 300 份,每一份代表 1,则可以读取预定的温度值。ADC0809 的 INT1 端口与热电偶相连。由 8051 构成的核心控制器按智能控制算法进行推算,得出所需要的控制量。由单片机的输出通过调

9、节可控硅管的接通时间,改变电炉的输出功率,起到调温的作用 。3.2 系统硬件的选择 微型计算机的选择:选择 8051 单片机构成炉温控制系统。它具有 8 位 CPU,3 2 根 I/O线,4 kB 片内 ROM 存储器,128 kB 的 RAM 存储器。8051 对温度是通过可控硅调节器实现的。在系统开发过程中修改程序容易,可以大大缩短开发周期。同时,系统工作过程中能有效地保存一些数据信息,不受系统掉电或断电等突发情况的影响。8051 单片机内部有128 B 的 RAM 存储器,不够本系统使用,因此,采用 62648 kB的 RAM 作为外部数据存储器。 热电偶的选择:本设计采用热电偶-镍络-

10、铜硅热电偶线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜对温度进行检测。镍铬-铜镍热电偶在 300时的热点势 21.033mV,为满足 0-5V 的要求,需将其放大 238 倍,再通过 ADC0809将其转换为数字量被计算机读取,通过软件程序对数据进行处理,将处理的结果经 DAC0832 输出量控制可控硅控制器,从而改变电阻丝两端的电压,使炉温得到控制。3.3 系统硬件连接图综合以上分析,可以得出系统的硬件连接图如图 2 所示:4 系统软件设计4.1 确定程序流程 比例控制能迅速反应误差,从而减小误差,但比例积分不能消除误差,Kp的加大会引起系统的不稳定;积分控制

11、的作用是:只要系统存在误差,积分控制作用就不断地积累,输出控制量以消除误差,因而,只要时间足够,积分控制将能完全消除误差,积分作用太强会使系统超调加大,甚至使系统出现振荡;微分控制可以减小超调量,克服振荡,使系统稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用

12、就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例微分PD控制器能改善系统在调节过程中的动态特性。 在一般的 PID 控制中,当有较大的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调和长时间的波动。特别对于温度等变化缓慢的过程,这一现象更为严重,为此,可采用积分分离措施,即偏差 ek 较大时,

13、取消积分作用;当偏差较小时才将积分作用投入。亦即 当 ek 时,采用 PD 控制; 当 ek 时,采用 PID 控制。 积分分离阈值 应根据具体对象及控制要求。若 值过大时,则达不到积分分离的目的;若 值过小,则一旦被控量 y t 无法跳出个积分分离区,只进行 PD 控制,将会出现残差,为了实现积分分离,编写程序时必须从数字 PID 差分方程式中分离出积分项,进行特殊处理。 根据设计要求及所选硬件,程序流程如图 3 所示 开 始系统初始化设置 数据采集 A/D转换 求出温度值与给定值比较 PD/PID控制 可控硅调节 加热炉图3 程序的主流程图4.2 程序控制算法介绍 由以上分析, P 本次设

14、计采用的是积分分离 PID 控制算法, ID 调节时连续系统中技术中最成熟的,应用广泛的一种调节控制方式。在模拟控制系统中,PID 算法的表达为: 式中, :调节器的输出信号 :调节器的偏差信号 :调节器的比例系数 调节器的积分时间 调节器的微分时间在计算机控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。用数字形式的差分方程代替连续系统的微分方程。设系统的采样周期为T,在t=kT时刻进行采样,式中e(k):根据本次采样值所得到的偏差; e(k-1):由上次采样所得到的偏差。由以上可得: 式中,T为采样

15、时间,项为积分项的开关系数积分积分分离PID控制算法程序框图如图4所示: 图4 积分分离PID控制算法程序框图5系统仿真又已知惯性常数T=20秒,所以被控对象的传递函数为: 采用simulink仿真,通过simulink模块实现积分分离PID控制算法。选择合适的Kp,是系统的仿真效果趋于理想状态。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=5;ki=0.25; %即kd=5

16、; %即当值过大时,达不到积分分离的目的,若值过小,则一旦被控量无法跳出各积分分离区,只进行PD控制,将会出现残差。根据题意,故选取=0.2为积分分离阈值。运用凑试法确定较合适的PID参数,可以得到kp=5、ki=0.25、kd=5较合适的参数值。当kd=5时,据,此时=2。保持其他参数不变,只改变。Simulink仿真图如下: 图4 Simulink仿真图 (1)当kd=5时,即=2时的仿真图如下: 图5 =2时的仿真图(2)当kd=0.5时,即=0.2的仿真图如下: 图6 =0.2的仿真图(3)当kd=10时,即=4的仿真图如下: 图7即=4的仿真图(4)当kd=20时,即=8的仿真图如下

17、: 图8 =8的仿真图微分调节的动作与偏差的变化速度成正比。其效果是阻止被调参数的一切变化,有超前调节的作用。对滞后大的对象有很好的效果,但不能克服纯滞后。适用于温度调节。使用微分调节可使系统收敛周期的时间缩短。但微分时间太长也会引起振荡。6心得体会通过本次设计,我了解了微机控制中PID积分分离法的基本概念及其对系统设计的相关应用,通过对初步知识的了解,对系统各种方案的比较,进一步了解了微机控制系统的合理性和实用性。什么样的课程设计都离不开理论与实际相结合的真理,设计过程中的方案选择和参数设定使我进一步深刻认识到算法的控制对整个系统的重要作用。一个细小的参数设定出现偏差,可能导致最后的性能指标

18、不和标准。所以选择一个优良的方案结于实验至关重要。我认为,在设计时应该怎样少走一些弯路,怎样能够非常透彻的理解系统并用简单方法设计一个微机控制系统,我想这是这次课程设计最锻炼人的地方。然而这也要求我们有相当厚实的理论基础,并能很好地运用到实际中去。这是我们学习和掌握好自控原理最重要的。我们运用Matlab软件进行系统仿真验证,这不仅对我们设计带来了方便,也能很准确地为我们改动参数提供依据,同时也让我们对Matlab软件进行了又一步的学习,也为我们再次熟练运用Matlab打下了基础。参考文献1李建忠.单片机原理及应用.西安:西安科技大学出版社,2001.2潘新民.王燕芳.微型机控制技术.北京:高

19、等出版社,2001. 3何立民.单片机应用系统设计.北京:北京航空航天大学出版社,2000.4韩志军,沈晋源,王振波.单片机应用系统设计.北京:机械工业出版社,2005.5周航慈.单片机程序设计基础.北京:北京航空航天大学出版社,2000.附录一两个重要芯片 图9 DAC0832引脚图DAC0832芯片为20引脚,双列直插式封装。其引脚排列如图10所示。(1)数字量输入线D7D0(8条) (2)控制线(5条) (3)输出线(3条) (4)电源线(4条)DAC0832的技术指标(1)分辨率:8位(2)电流建立时间:1S(3)线性度(在整个温度范围内)8、9或10位(4)增益温度系数:00002

20、FS/(5)低功耗:20mW(6)单一电源:+5 +15V 图10 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:地址输入线。附录二 程序清单积分分离P

21、ID控制算法子程序:START:MOV 68H,KP ;分别将KP ,TI ,TD, T,送入指定的存储单元MOV 54H,TIMOV 55H,TDMOV 56H,TMOV 57H,MOV A,68H ;计算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,LOOP

22、1 ;等待转换数据 MOVX A,DPTR ;读取ADC0809的IN0口转换后的数据 MOV 5CH,A ;将预定值数据放入指定的存储单元MOV DPTR,#7FF1H ;读取采样温度值,送ADC0809的IN1口地址 MOVX DPTR,A ;启动A/D转换LOOP2: JB P3.3,LOOP2 ;等待转换数据 MOVX A,DPTR ;读取ADC0809的IN1口转换后的数据 MOV 49H,A ;将采样值数据放入指定的存储单元 MOV A,5CH ;计算ei,先取温度给定值 CLR C SUBB A,50H ;温度给定值-采样值 JNC AA0 ;判断ei的正负,如果为正,跳至AA0

23、 CPL A ;ei为负,下两条指令求补 ADD A,#01HAA0: MOV R0,57H SUBB A,57H ;|ei|- JNC AA1 ;|ei|跳至AA1 SJMP AA2 ;|ei|跳至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 R

24、6,#FFHDL1: MOV R7,#FFHDL2: MOV R5,#FFHDLS: DJNZ R5,DLSDJNZ R7,DL2DJNZ R6 DL1RETDELAY ENDPPID PROC NEARPID:MOV A,5CH ;计算ei,先取温度给定值CLR CSUBB A,50H ;温度给定值-温度检测值JNC PID1 ;判断ei正负,如果为正,跳至PID1CPL A ;ei为负,下两条指令求补ADD A,#01HSETB 30H ;ei为负,符号位置1SJMP PID2PID1:CLR 30H ;ei为正,符号位置0PID2:MOV 6BH,A ;ei值存放在6BH单位元中MOV

25、R1,6BH ;计算ei-ei-1,先将ei值,送R1MOV C,30H ;将ei的符号位值送20H位MOV 20H,CMOV 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 C,31H ;将ei-1符号位送20H位MOV 20H,CMOV R2,6DH ;将ei-2的值送R2MO

26、V 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,34H ;将ei-1-ei-2符号位送21H位MOV 21H,CLCALL DJF ;调用单字节带符号的减法

27、子程序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,69H ;计算KI*ei,将KI值送AMOV B,6BH ;将ei值送BMUL AB ;两数相乘MOV 73H,B ;KI*ei值存73H,74H单元MOV 74H,AMO

28、V A,6AH ;计算KD*(ei-ei-1)-(ei-1-ei-2),将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,73H ;将KI*ei值送R3,R4MOV R4,74H MOV C,30H ;将KI

29、*ei值的符号位懂24H位MOV 24H,CLCALL SJF ;调用双字节带符号加法子程序MOV 77H,R5 ;将Kp*(ei-ei-1)+KI*ei值送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

30、,76HMOV C,35H ;将KD*(ei-ei-1)-(ei-1-ei-2)的符号位送23H位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,CLCALL SJF ;调用双字节带符号加法子程序JNB

31、 25H,PID3 ;判断计算结果是否为负MOV 7BH,#00H ;如果是负数,则输出电压为0MOV 7CH,#00HSJMP PID4PID3:MOV 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 ;

32、判断ei正负,如果为正,跳至PID1CPL A ;ei为负,下两条指令求补ADD A,#01HSETB 30H ;ei为负,符号位置1SJMP PD2PD1: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单

33、元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-ei-2送6FH单元MOV C,22H ;将差值ei-1-ei-2的符号位送34H位MOV 34H,CMOV R1,6EH ;计算(ei-ei-1)-(ei-1-ei-2),将ei

34、-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-2)的符号位值送35H位MOV 35H,CMOV A,68H ;计算Kp*(ei-ei-1),将Kp值送AMOV B,6EH ;将ei-ei-1值送BMUL AB ;两数相乘MOV

35、71H,B ;Kp*(ei-ei-1)值存71H,72H单元MOV 72H.AMOV A,6AH ;计算KD*(ei-ei-1)-(ei-1-ei-2),将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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁