ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:20.87KB ,
资源ID:17621572      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17621572.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(增量式PID控制汇编Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

增量式PID控制汇编Word文档下载推荐.docx

1、MOV 33H,#01H ;Td的BCD码浮点数MOV 34H,#35H ;3.54MOV 35H,#40HMOV 36H,#01H ;Ti的BCD码浮点数MOV 37H,#11H ;1.12MOV 38H,#20HMOV 39H,#01H ;Kp的BCD码浮点数MOV 3AH,#12H ;MOV 3BH,#50HMOV R0,#RK ;指向码浮点操作数LCALL BTOF ;将其转换成二进制浮点操作数MOV R0,#3CHLCALL BTOFMOV R0,#40HMOV R0,#39HMOV R0,#36H ;指向码浮点操作数TiMOV R0,#33H ;指向码浮点操作数TdMOV R0,#

2、30H ;指向码浮点操作数TMOV R1, #BUFF1 ;保存30H中的值 即T值LCALL FMOVR0MOV R1, #36H ;计算A值(1+T/Ti+Td/T).KpLCALL FDIVMOV R1,#3CH ;常数1LCALL FADD保存33H中的值MOV R1,#BUFFMOV R1,#BUFF1MOV R1,#30H ;30H里存的是T/Ti+1MOV R1,#39HLCALL FMULMOV R1 ,#BLOCK1 ;将结果保存在BLOCK1中MOV R1,#BUFF1 ;30H恢复原值MOV R0,#30HLCALL FMOVMOV R1,#BUFF ;33H恢复原值MO

3、V R0,#33HMOV R0,#40H ;计算B的值Kp.(1+2.Td/T)MOV R1,#33HMOV R1,#30HMOV R1,#3CHMOV R1,#BLOCK2 ;保存B值到BLOCK2中MOV R0,#39H ;计算C的值Kp.Td/TMOV R1,#BLOCK3 ;保存C值到BLOCK3中MOV R0,#EK1 ;将EK1,EK2设初值0LCALL FCLRMOV R0,#EK2MOV REC,#03H ;设置采样次数LOOP: MOV CK,#7eH ;采样数据暂时给了一个定值MOV CK+1,#21H ;0.002112MOV CK+2,#12HMOV R0,#CK保存R

4、(k)中的值MOV R1,#CKLCALL FSUB ;计算R(k)-C(k)的值送给E(k)MOV R1,#EK恢复RK的值 释放BUFFMOV R0,#RKMOV R0,#BLOCK2 ;将B.e(k-1)的值暂存在BUFF1中保存BMOV R1,#EK1恢复B释放BUFFMOV R0,#BLOCK3 ;将C.e(K-2)的值暂存在BUFF2中保存CMOV R1,#EK2MOV R1,#BUFF2恢复C释放BUFFMOV R0,#BLOCK1 ;A.E(k)计算Uk值A.E(k)-B.E(k-1)+C.E(k-2)LCALL FSUBMOV R1,#UK ;保存结果到UK中恢复A 释放BU

5、FFMOV R0,#UK ;UK转换成BCD码浮点数输出LCALL FTOBMOV R1,#EK1 ;将E(k-1)-E(k-2),E(k)-E(k-1)MOV R0,#EK1LCALL DELAY ;等待采样时刻DJNZ REC,NEXT1SJMP $NEXT1: LJMP LOOPDELAY: MOV R7,#02HDELAY1: MOV R6,#0FFHDELAY2: DJNZ R6,DELAY2DJNZ R7,DELAY1RET () 标号: 功能:浮点数格式化入口条件:待格式化浮点操作数在R0中。出口信息:已格式化浮点操作数仍在R0中。影响资源:PSW、A、R2、R3、R4、位1FH

6、 堆栈需求: 字节FSDT: LCALL MVR0 ;将待格式化操作数传送到第一工作区中LCALL RLN ;通过左规完成格式化LJMP MOV0 ;将已格式化浮点操作数传回到R0中 () 标号: 功能:浮点数加法被加数在R0中,加数在R1中。OV=0时,和仍在R0中,OV=1时,溢出。PSW、A、B、R2R7、位1EH、1FH 堆栈需求:FADD: CLR F0 ;设立加法标志SJMP AS ;计算代数和 () 标号: 功能:浮点数减法被减数在R0中,减数在R1中。OV=0时,差仍在R0中,OV=1时,溢出。字节FSUB: SETB F0 ;设立减法标志AS: LCALL MVR1 ;计算代

7、数和。先将R1传送到第二工作区MOV C,F0 ;用加减标志来校正第二操作数的有效符号CLR A ; *应加的一条语句RRC AXRL A,R1MOV C,ACC.7ASN: MOV 1EH,C ;将第二操作数的有效符号存入位1EH中XRL A,R0 ;与第一操作数的符号比较RLC AMOV F0,C ;保存比较结果LCALL MVR0 ;将R0传送到第一工作区中LCALL AS1 ;在工作寄存器中完成代数运算MOV0: INC R0 ;将结果传回到R0中的子程序入口INC R0MOV A,R4 ;传回尾数的低字节MOV R0,ADEC R0MOV A,R3 ;传回尾数的高字节MOV A,R2

8、 ;取结果的阶码MOV C,1FH ;取结果的数符MOV ACC.7,C ;拼入阶码中CLR ACC.7 ;不考虑数符CLR OV ;清除溢出标志CJNE A,#3FH,MV01;阶码是否上溢? * 应为#40HSETB OV ;设立溢出标志MV01: MOV A,R0 ;取出带数符的阶码MVR0:将R0传送到第一工作区中的子程序MOV C,ACC.7 ;将数符保存在位1FH中MOV 1FH,CMOV C,ACC.6 ;将阶码扩充为补码MOV ACC.7,CMOV R2,A ;存放在R2中MOV A,R0 ;将尾数高字节存放在R3中MOV R3,A ;将尾数低字节存放在R4中MOV R4,AD

9、EC R0 ;恢复数据指针MVR1: MOV A,R1 ;将R1传送到第二工作区中的子程序将数符保存在位1EH中MOV 1EH,CMOV R5,A ;存放在R5中INC R1MOV A,R1 ;将尾数高字节存放在R6中MOV R6,A将尾数低字节存放在R7中MOV R7,ADEC R1 ;DEC R1AS1: MOV A,R6 ;读取第二操作数尾数高字节ORL A,R7JZ AS2 ;第二操作数为零,不必运算读取第一操作数尾数高字节ORL A,R4JNZ EQMOV A,R6 ;第一操作数为零,结果以第二操作数为准MOV R3,AMOV A,R7MOV A,R5MOV R2,AMOV C,1E

10、HAS2: RETEQ: MOV A,R2 ;对阶,比较两个操作数的阶码XRL A,R5JZ AS4 ;阶码相同,对阶结束JB ACC.7,EQ3;阶符互异阶符相同,比较大小CLR CSUBB A,R5JC EQ4EQ2: CLR C ;第二操作数右规一次尾数缩小一半INC R5 ;阶码加一ORL A,R6 ;尾数为零否?JNZ EQ ;尾数不为零,继续对阶尾数为零,提前结束对阶MOV R5,ASJMP AS4EQ3:判断第一操作数阶符JNB ACC.7,EQ2;如为正,右规第二操作数EQ4: CLR CLCALL RR1 ;第一操作数右规一次ORL A,R3 ;不为零,继续对阶MOV A,R

11、5 ;AS4: JB F0,AS5 ;尾数加减判断尾数相加ADD A,R7MOV A,R3ADDC A,R6JNC AS2LJMP RR1 ;有进位,右规一次AS5:比较绝对值大小MOV A,R4SUBB A,R7MOV B,ASUBB A,R6JC AS6MOV R4,B ;第一尾数减第二尾数LJMP RLN ;结果规格化AS6: CPL 1FH ;结果的符号与第一操作数相反CLR C ;结果的绝对值为第二尾数减第一尾数SUBB A,R4MOV A,R6SUBB A,R3RLN: MOV A,R3 ;浮点数规格化ORL A,R4 ;JNZ RLN1MOV R2,#0C1H;阶码取最小值 *?

12、应为#C0HRLN1: MOV A,R3JB ACC.7,RLN2;尾数最高位为一否?不为一,左规一次LCALL RL1SJMP RLN ;继续判断RLN2: CLR OV ;规格化结束RL1: MOV A,R4 ;第一操作数左规一次RLC A ;尾数扩大一倍DEC R2 ;阶码减一CJNE R2,#0C0H,RL1E;阶码下溢否? * 应改为CJNE R2,#0BFH,RL1E;CLR A阶码下溢,操作数以零计MOV R2,#0C1H ; *应改为MOV R2,#0C0HRL1E: CLR OVRR1:RRC A ;INC R2 ;清溢出标志CJNE R2,#40H,RR1E;阶码上溢否?M

13、OV R2,#3FH ;阶码溢出SETB OVRR1E: () 标号: 功能:浮点数乘法被乘数在R0中,乘数在R1中。OV=0时,积仍在R0中,OV=1时,溢出。FMUL:MOV A,R0XRL A,R1 ;比较两个操作数的符号MOV 1FH,C ;保存积的符号LCALL MUL0 ;计算积的绝对值将结果传回到R0中MUL0:将R1传送到第二工作区中MUL1:第一尾数为零否?JZ MUL6第二尾数为零否?JZ MUL5MOV A,R7 ;计算R3R4R6R7R3R4MOV B,R4MUL ABMOV A,BXCH A,R7MOV B,R3ADDC A,BXCH A,R4MOV B,R6ADDC

14、 A,R4XCH A,R3ADD A,R4ADDC A,R3JB ACC.7,MUL2;积为规格化数否? R7四舍五入左规一次MUL2: MOV A,R7JNB ACC.7,MUL3INC R4JNZ MUL3INC R3MOV R3,#80HINC R2MUL3:求积的阶码ADD A,R5MD: MOV R2,A ;阶码溢出判断JB ACC.7,MUL4JNB ACC.6,MUL6阶码上溢,设立标志MUL4: JB ACC.6,MUL6MUL5: CLR A ;结果清零(因子为零或阶码下溢)MOV R2,#41HMUL6: () 标号: 功能:浮点数除法被除数在R0中,除数在R1中。OV=0

15、时,商仍在R0中,OV=1时,溢出。 字节FDIV: INC R0ORL A,R0JNZ DIV1MOV R0,#41H;被除数为零,不必运算CLR OVDIV1: INC R1MOV A,R1ORL A,R1JNZ DIV2除数为零,溢出DIV2:保存结果的符号LCALL MVR1 ;LCALL DIV3 ;调用工作区浮点除法回传结果DIV3:比较尾数的大小JC DIV4被除数右规一次SJMP DIV3DIV4:借用R0R1R2作工作寄存器XCH A,R0 ;清零并保护之PUSH ACCXCH A,R1MOV A,R2MOV B,#10H ;除法运算,R3R4R6R7R0R1DIV5:MOV

16、 A,R1MOV R1,AMOV A,R0MOV R0,AMOV F0,CANL C,/F0JC DIV6DIV6: DJNZ B,DIV5四舍五入ADDC A,R1 ;将结果存回R3R4ADDC A,R0POP ACC ;恢复R0R1R2POP ACC计算商的阶码LCALL MD ;阶码检验规格化 () 标号: 功能:浮点数清零操作数在R0中。操作数被清零。A 堆栈需求: 字节FCLR:MOV R0,#41H () 标号: 功能:浮点数判零若累加器A为零,则操作数R0为零,否则不为零。FZER:JNZ ZEROZERO: () 标号: 功能:浮点数传送源操作数在R1中,目标地址为R0。R0=

17、R1,R1不变。FMOV: (.1) 标号: R0 功能:源操作数在R0中,目标地址为R1。R1=R0,R0不变。FMOVR0:MOV R1,A ()标号: 功能:双字节十六进制定点数转换成格式化浮点数双字节定点数的绝对值在R0中,数符在位1FH中,整数部分的位数在A中。转换成格式化浮点数在R0中(三字节)。DTOF:按整数的位数初始化阶码将定点数作尾数进行规格化传送结果到R0中 () 标号: 功能:格式化浮点数转换成双字节定点数格式化浮点操作数在R0中。OV=1时溢出,OV=0时转换成功:定点数的绝对值在R0中(双字节),数符在位1FH中,F0=1 时为整数,CY=1时为一字节整数一字节小数,否则为纯小数。PSW、A、B、R2、R3、R4、位1FH 堆栈需求:FTOD: LCALL MV

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1