《计算机控制技术》课程设计说明书温度控制系统设计.doc

上传人:laozhun 文档编号:2932112 上传时间:2023-03-03 格式:DOC 页数:28 大小:222KB
返回 下载 相关 举报
《计算机控制技术》课程设计说明书温度控制系统设计.doc_第1页
第1页 / 共28页
《计算机控制技术》课程设计说明书温度控制系统设计.doc_第2页
第2页 / 共28页
《计算机控制技术》课程设计说明书温度控制系统设计.doc_第3页
第3页 / 共28页
《计算机控制技术》课程设计说明书温度控制系统设计.doc_第4页
第4页 / 共28页
《计算机控制技术》课程设计说明书温度控制系统设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《《计算机控制技术》课程设计说明书温度控制系统设计.doc》由会员分享,可在线阅读,更多相关《《计算机控制技术》课程设计说明书温度控制系统设计.doc(28页珍藏版)》请在三一办公上搜索。

1、课程设计任务书学生姓名: 专业班级: 自动化 指导教师: xxx 工作单位: 自动化学院 题 目: 温度控制系统设计初始条件:被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为05伏时对应电炉温度0300,温度传感器测量值对应也为05伏,对象的特性为一阶积分加惯性系统,惯性时间常数为T140秒。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1设计温度控制系统的计算机硬件系统,画出框图;2编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及的值;3计算机

2、仿真被控对象,编写仿真程序;4通过数据分析改变时对系统超调量的影响。5. 撰写设计说明书。课程设计说明书应包括:设计任务及要求;方案比较及认证;系统滤波原理、硬件原理,电路图,采用器件的功能说明;软件思想,流程,源程序;调试记录及结果分析;参考资料;附录:芯片资料,程序清单;总结。时间安排:6月20日7月22日查阅和准备相关技术资料,完成整体方案设计6月23日6月24日完成硬件设计6月27日6月28日编写调试程序6月29日6月30日撰写课程设计说明书7月1日提交课程设计说明书、图纸、电子文档指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要电阻炉在化工、冶金等行业应用广泛,温

3、度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务,在工业生产和科学研究中具有重要意义。本课程设计控制系统属于一阶微分加惯性环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。采用单片机进行炉温控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等方面具有重要的现实意义。本文主要介绍了利用8051为主控制电路实现的炉温调节控制系统,详细阐述了系统的功能,硬件组成以及软件设计,利用热电偶采集温度信号经A/D转换器转化后与给定信号送入微机系统,系统分析控制算法,信号再经D/A

4、转换后控制调节可控硅控制器来改变炉内的温度。关键字:8051 PID 积分加惯性 积分分离 simulink仿真目录1 设计要求11.1 初始条件11.2 设计任务12总体方案论证12.1方案一22.2方案二22.3方案论证23 系统工作原理及流程图24 硬件选择34.1 8051芯片功能34.2 A/D与D/A转换器54.2.1 ADC0809芯片功能54.2.2 DAC0832芯片功能54.3 镍铬-铜镍热电偶64.4系统总电路图65 积分分离PID算法75.1 积分分离PID算法原理75.2 PID算法介绍85.3 系统仿真9心得与体会13参考文献14附录:程序清单15温度控制系统设计1

5、 设计要求1.1 初始条件 被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为05伏时对应电炉温度0300,温度传感器测量值对应也为05伏,对象的特性为带有纯滞后环节的一阶积分加惯性系统,惯性时间常数为T140秒,滞后时间常数为10秒。1.2 设计任务1设计温度控制系统的计算机硬件系统,画出框图;2编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及的值;3计算机仿真被控对象,编写仿真程序;4通过数据分析改变时对系统超调量的影响。5. 撰写设计说明书。课程设计说明书应包括:设计任务及要求

6、;方案比较及认证;系统滤波原理、硬件原理,电路图,采用器件的功能说明;软件思想,流程,源程序;调试记录及结果分析;参考资料;附录:芯片资料,程序清单;总结。2总体方案论证用温度传感器来检测炉的温度,将炉温转变成毫伏级的电压信号,经温度变送器放大并转换成电流信号。由电阻网络讲电流信号变成电压信号,送入A/D转换器,通过采样和模数转换,所检测到的电压信号和炉温给定值的电压信号送入计算机程序中作比较,得出给定值与实际值之间的偏差,并与进行比较,从而确定算法。计算得到的控制量输出给可控硅控制器,改变可控硅的导通角,达到调压的目的,是电阻丝两端的电压增大或较小,进而实现对炉温的控制。这两个方案都是采用单

7、片机控制,两个方案的比较部分为温度检测部分。2.1方案一方案一温度检测部分检测部分采用热电偶,它需要冷端补偿电路与其配套,并且热电偶输出电压只有几毫负,必须经过放大处理才能A/D转换和D/A转换器接口,若采用8位A/D转换器,ADC0809则输人端需采用仪用放大器,把几毫伏的电压信号放大到5伏左右。由于热电偶属于非线性器件,因此每个温度值都必须通过分度表,查表才能获得,这给软件编程和数据处理增加了难度。2.2方案二方案二采用数字温度传感器DS18B20,它的最高分辨率为12位,可识别0.0625摄氏度的温度。它具有直接输出数字信号和数据处理,并且它和单片机接口只需要一位I/O口,因此由它构成的

8、系统简单使用。由于DS18B20,按照工业设计要求设计,抗干扰性能强。但温度测量范围从。2.3方案论证方案一这种系统具有测量温度范围可以从零下一百度到早上千摄氏度,而且有很多热电偶精度非常高这是这种测量系统的优点。但构成系统复杂,抗干扰能力不强。方案二由于DS18B20,按照工业设计要求设计,抗干扰性能强。但温度测量范围从。根据实验要求,测量的电炉温度0300,综合考虑选择方案一。3 系统工作原理及流程图用热电偶来检测炉的温度,将炉温转变成毫伏级的电压信号,经温度变送器放大并转换成电流信号。由电阻网络讲电流信号变成电压信号,送入A/D转换器,通过采样和模数转换,所检测到的电压信号和炉温给定值的

9、电压信号都转换成数质量送入单片机进行比较,其差值即为实际炉温和给定炉温的偏差,以单片机为核心的数字PID控制器对偏差按照给定的方法运算,运算结果送DAC0832转换成模拟电压,经功率放大器放大后送入晶闸管调压器,触发晶闸管并改变其导通角的大小,从而控制电阻炉的加温电压,起到炉温调节的作用。由以上分析控制过程,可以得到如图3.1的设计框图:显示电路键盘控制电炉传感器数据采集控制电路计算机 图3.1 系统结构框图程序流程如图3.2所示:开始系统初始化设置数据采集A/D转换求出温度值信号比较PID调节可控硅调节加热炉图3.2 程序的主流程图4 硬件选择控制芯片采用8051,要求传感器测量的电压范围和

10、可控硅控制器的电压在0-5,所以A/D与D/A转换芯片采用ADC080和9DAC0832。炉温控制在0300内,因此采用镍铬-铜镍热电偶,同时选用运算放大器将信号放大。4.1 8051芯片功能 8051单片机由以下几部分组成:1. 时钟振荡器2. 8位的CPU3. 128B的RAM是数据存储器4. 4KB的ROM程序存储器5. 48位的并行I/O端口6. 一个双全工异步串行通信口(UART)7. 两个16位的定时/计数器8. 5个中断源,两个优先级的中断结构 选择8051单片机构成炉温控制系统,它的温度是通过可控硅调节器实现的。在系统开发过程中修改程序容易,可以大大缩短开发周期。同时,系统工作

11、过程中能有效地保存一些数据信息,不受系统掉电或断电等突发情况的影响。8051单片机内部有128 B的RAM存储器,不够本系统使用,因此,采用6264(8 kB)的RAM作为外部数据存储器。 8051单片机的内部结构十分复杂,但封装之后,只有引脚是面向用户的,所以使用者需要熟悉各引脚的用途。常用的8051芯片是用双列直插40脚封装,外部管脚图如图4.1所示: 图4.1 8051外部管脚图4.2 A/D与D/A转换器4.2.1 ADC0809芯片功能 A/D转换器是将模拟电压或电流转换成数字量的期间或装置,它是一种模拟系统和计算机之间的接口,它在数据采集和控制系统中,得到了广泛的应用,常用的A/D

12、转换器有ADC0809. 它是一种带有8通道模拟开关的8位逐次逼近式A/D转换器,转换时间为100us左右,线性误差为1/2LSB,采用28脚双立直插式封装,ADC0809由8通道模拟开关、通道选择逻辑、8位A/D转换器及三态输出锁存缓冲器组成。 8通道模拟开关及通道选择逻辑,该部分的功能是实现8选1操作,通道选择信号C、B、A对应8个通道。地址锁存允许信号(ALE、正脉冲)用于通道选择信号C、B、A的锁存。加至C、B、A上的通道选择信号在ALE的作用下送入通道选择逻辑后,通道i(,i=0,1,7)上的模拟输入被送至A/D转换器转换。 8位A/D转换器管脚图如图4.2.1所示:图4.2.1 A

13、DC0809管脚图4.2.2 DAC0832芯片功能D/A转换器的功能是把二进制数字量电信号转换为与其数值成正比的模拟量电信号。常用D/A转换器为DAC0832芯片。DAC0832工作在单缓冲寄存器方式,即当信号来时,数据线送来的数据直通进行D/A转换,当变高时,则此数据便被锁存在寄存器中,因此D/A转换的输出也保持不变。DAC0832讲输入的数字量转换成差动的电流输出(和),为了将其编程电压输出,必须经过运算放大器,使其输出0+5V(为-5V)或0+10V(为-10V),若要形成负电压输出,则需接正的基准电压。DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的

14、转换。图4为DAC0832的引脚图。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为1LSB,参考电压为(+10?/span-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。DAC0832管脚图如图4.2.2所示: 图4.2.2 DAC0832管脚图4.3 镍铬-铜镍热电偶本设计采用热电偶-镍络-铜硅热电偶(线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜)对温度进行检测。镍铬-铜镍

15、热电偶在300时的热点势21.033mV,为满足0-5V的要求,需将其放大238倍,再通过0809将其转换为数字量被计算机读取,通过软件程序对数据进行处理,将处理的结果经0832输出,输出量控制可控硅控制器,从而改变电阻丝两端的电压,使炉温得到控制。4.4系统总电路图综合以上分析,可以得出系统的总电路图如图4.4所示:图4.4 系统总电路图5 积分分离PID算法5.1 积分分离PID算法原理在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调和长时间的波动。特别对于温度等变化缓慢的过程,这一现象更为严重,

16、为此,可采用积分分离措施,即偏差较大时,取消积分作用;当偏差较小时才将积分作用投入。亦即 当时,采用PD控制; 当时,采用PID控制。积分分离阈值应根据具体对象及控制要求。若值过大时,则达不到积分分离的目的;若值过小,则一旦被控量无法跳出个积分分离区,只进行PD控制,将会出现残差,为了实现积分分离,编写程序时必须从数字PID差分方程式中分离出积分项,进行特殊处理。5.2 PID算法介绍在模拟控制系统中,PID算法的表达为: u:调节器的输出信号;e:偏差信号;K:调节器的比例系数;TI:调节器的积分时间;TD:调节器的微分时间。 在计算机控制中,为实现数字控制,必须对式上式进行离散化处理。用数

17、字形式的差分方程代替连续系统的微分方程。设系统的采样周期为T,在t=kT时刻进行采样,式中e(k):根据本次采样值所得到的偏差; e(k-1):由上次采样所得到的偏差。由以上可得: 式中,T为采样时间,项为积分项的开关系数积分积分分离PID控制算法程序框图如图5.2所示:图5.2 积分分离PID控制算法程序框图5.3 系统仿真被控对象为:采用simulink仿真,通过simulink模块实现积分分离PID控制算法。选择合适的Kp,Ki,Kd使系统的仿真效果趋于理想状态。MATLAB编写程序如下:clear all;close all;ts=2; %采样时间2ssys=tf(1,40,1,0);

18、dsys=c2d(sys,ts,zoh); %将sys离散化num,den=tfdata(dsys,v); %求sys多项式模型参数kp=20;ki=0;kd=3;set(0,ShowHiddenHandles,on);set(gca,color,w); Simulink仿真图如图5.3所示: 图5.3 Simulink仿真图经仿真后,当=0.02时的仿真图如下所示:图5.3.1 =0.02时的仿真图当=0.05时的仿真图如下所示:图5.3.2 =0.05时的仿真图当=1.0时的仿真图如下所示:图5.3.3 =1时的仿真图 由以上可得,当值过大时,达不到积分分离的目的,若值过小,则一旦被控量无

19、法跳出各积分分离区,只进行PD控制,将会出现残差。心得与体会 电阻炉在化工、冶金等行业应用广泛,温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务,在工业生产和科学研究中具有重要意义。计算机控制技术是一门专业课程,也是实用性很强的一门课程,具有很强的实践性,因此在教学中占据着十分重要的地位,所以这次的计算机控制技术课程设计就显得十分重要。这是一次很好的锻炼自己设计电路的的机会,会使大家提高动手和动脑的能力。这次计算机控制课程设计也让我了解到计算机控制技术在多方面的应用。本次课程设计使我了解了微机控制中PID积分分离法的基本概念及其

20、对系统设计的相关应用,通过对初步知识的了解,对系统各种方案的比较,进一步了解了微机控制系统的合理性和实用性。设计过程中的方案选择和参数设定使我进一步深刻认识到算法的控制对整个系统的重要作用。在调节Kp、Ti、Td、T及的值时让我们知道了细小的偏差会导致严重的后果,这要求我们有相当厚实的理论基础,并能很好地运用到实际中去。我们必须学习和掌握好自控原理和计算机控制技术。我们运用Matlab软件进行系统仿真验证,能很准确地为我们改动参数提供依据,同时也让我们对Matlab软件进行了又一步的学习,再次熟练运用Matlab。通过这次课程设计,我充分锻炼了自己的能力,包括查阅资料的能力,设计能力,与同学相

21、互探讨的能力。也从课程设计中体会到了书本的知识真的很局限,它只是老师将我们带进去的一门工具,真要达到了学以致用必须要不断的充实自己,学习各方面的知识,不要局限在一本书上,从而真正达到理论联系实际的目的。参考文献1于海生. 计算机控制技术M. 北京:机械工业出版社,2007.2李建忠.单片机原理及应用.西安:西安电子科技大学出版社,2001.3潘新民.王燕芳.微型计算机控制技术.北京:高等教育出版社,2001. 4熊静琪. 计算机控制技术M. 北京:电子工业出版社,2003.5何立民.单片机应用系统设计.北京:北京航空航天大学出版社,2000.6韩志军.单片机应用系统设计.北京:机械工业出版社,

22、2005.7赖寿宏. 微型计算机控制技术M. 北京:机械工业出版社,2004.附录:程序清单积分分离PID控制算法子程序: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 ;读取预定温度值,送A

23、DC0809的IN0口地址 MOV DPTR,A ;启动A/D转换LOOP1 JB P3.3,LOOP1 ;等待转换数据 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

24、C SUBB A,50H ;温度给定值-采样值 JNC AA0 ;判断ei的正负,如果为正,跳至AA0 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 ;调用延时子程序,等待下一次

25、采样计算 SJMP LOOP0 ;进入下一次控制计算DELAY PROC NEARDL0: MOV R6,#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:C

26、LR 30H ;ei为正,符号位置0PID2:MOV 6BH,A ;ei值存放在6BH单位元中MOV 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,

27、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,34H

28、 ;将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,69H ;计算KI*ei,将KI值送AMOV B,6BH ;将ei值

29、送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)值送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

30、,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值送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,

31、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 ;调用双字节带符号加法子程序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,3

32、7H ;将Ui值的符号位送24HMOV 24H,CLCALL SJF ;调用双字节带符号加法子程序JNB 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,5C

33、H ;计算ei,先取温度给定值CLR CSUBB A,50H ;温度给定值-温度检测值JNC PD1 ;判断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,C

34、LCALL 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-ei-2送6FH单元MOV C,22H ;将差值ei-1-ei-2的符号位送

35、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-2)的符号位值送35H位MOV 35H,CMOV A,68H ;计算Kp*(e

36、i-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),将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*

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号