自动加料机控制系统 - 图文(10)

2019-08-31 10:43

POP A RET

;键已释放,键号出栈->A

NEXT: INC R4

MOV A,R2

;列计数器加1,为下一列扫描做准备

;判是否已扫到最后一列(最右一列) ;进行整个 ;键盘的扫描

;键扫描已到最后一列,跳KND重新

NB Acc.7,KND

RL A MOV R2,A AJMP LK4 KND: AJMP KEYI

;键扫描未扫到最后一列,位选码左 ;移一位

;位选码->R2

KS1: MOV DPTR ,#7F01H ;判有无键闭合子程序,全0->扫描(PA口)

MOV A,#00H MOVX @DPTR,A ; INC DPTR INC DPTR MOVX A,@DPTR CPL A

;从PC口读行线的状态

行线的状态取反,如无键按下,则A ;中内容为0

ANL A,#0FH RET

PID: MOV R5,3 1H ;取W

MOV R4,32H MOV R3,#00H MOV R2,2AH ACALL CPL1 ACALL DSUM MOV 39H,R7 MOV 3AH,R6 MOV R5,35H

MOV R4,36H MOV R0,#4 AH ACALL MULT1

45

;列线全为低电平 ;DPTR增2,指向PC 口

;屏蔽无用的高4位

:取Yi ;取Yi的补码 ;存ei

;计算ei=W-Yi

;取I

;R0放乘积高位字节地址指针

;计算Pi=I*ei

MOV R5,39H MOV R4,3AH MOV R3,3BH MOV R2,3CH ACALL CPL1 ACALL DSUB

:取ei ;取ei-1 ;求ei-1:的补码 ;求pp=△ei=ei-ei-1: MOV A,R7

MOV R5,A MOV A,R6 MOV R4,A MOV R3,4BH MOV R2,4AH ACALL DSUM MOV 4BH,R7 MOV 4AH,R6 MOV R5,39H MOV R4,3AH MOV R3,3DH MOV R2,3EH ACALL DSUM MOV A,R7 MOV R5,A MOV A,R6 MOV R4,A MOV R3, 3BH MOV R2,3CH ACALL CPL1 ACALL DSUM MOV A,R7 MOV R5,A MOV A,R6 MOV R4,A MOV R3,3BH

MOV R3,3CH ACALL CPL1 :存△ei

;取Pi ;求Pi+Pp ;存和(Pi+即) ;取ei ;取ei-2 :计算ei=ei-2

;取ei-1 :求ei-1,补码 ;计算ei=ei-2-ei-1 ;存和

;取ei-l

:求ej-1补码

46

ACALL DSUM MOV R5,37H MOV R4,38H MOV R0,#46H ACALL MULT1 MOV R5,47H MOV R4,46H ;计算ei=ei- 2-2e i-1、 ;取D

;求出Pd=D*(ei=ei-2-2ei-1)

:存Pd MOV R3,4BH MOV R2,4AH ,33H

,34H ,#46H ,47H ,46H ,2FH ,30H ,R7 ,R6 ,3BH ,3CH ,39H ,3AH DSUM: MOV A,R4

,R2 ,A ,R5 ,R3 ,A CPLI: MOV A,R2 ;取(pi+PP) ;计算pi+pp+pd

;取Kp

;计算Kp*(Pi+Pp+Pd)

;取ui-1

;求出ui=ui-l+KP*(Pi+Pp +pd)

;存ui~ui_, ;ei-l-ei-2

:ei-ei-1

47

ACALL DSUM MOV R5 MOV R4 MOV R0 ACALL MULTl MOV R3 MOV R2 MOV R5 MOV R4 ACALL DSUM MOV 30H MOV 3DH MOV 3EH MOV 3BH MOV 3CH RET

MOV 2FH ADD A MOV R6 MOV A ADDC A MOV R7 RET

CPL A

ADD A,#0lH MOV R2,A MOV A,R3 CPL A ADDC A,#00H MOV R3,A RET

MULTI: MOV A,R7 RLC A

MOV SIGN1,C JNC POS1 MOV A,R6 CPL A ADD A,#0lH MOV R6,A MOV A,R7 CPL A ADDC A,#00H MOV R7,A POSI: MOV A,R5 RLC A

MOV SIGN2,C MOV A,R4 CPL A ADD A,#0lH MOV R4,A MOV A,R5 CPL A

:存乘数符号位 ;乘数为正转

JNC POS2

;存被乘数符号位 ;被乘数为正转 ;求补

ADDC A,#00H MOV R5,A

POSZ: ACALL MUL1,

MOV C,SIGN1 ANL C,SIGN2 JC TPL

;C=1是两个负数相乘转

48

MOV C,SIGN1 ORL C,SIGN2 JNC TPL ;C=0是两个正数相乘转

DEC R0 DEC R0 DEC R0 MOV A,@R0 CPL A ADD A,#0lH MOV @R0,A INC R0 MOV A,@RO CPL A

ADDC A,#00H TPL: RET

MULT: MOV A,R6 MOV B,R4 MUL AB MOV @Ro,A MOV R3, B MOV A, R4

MOV B,R7 MUL AB ADD A,R3 MOV R3,A MOV A,B

ADDC A,#00H MOV R2, A MOV A,R6 RETMOV B,R5 MUL AB ADD A, R3 INC R0 MOV @R0,A

CLR 55BH

;取b

;取d ;求bd ;求bdL ;求bdL~R3

;取d ;取a ;求ad

;求adL+bdH

;暂存adL+bdH ;adH+进位 ;暂存 ;取b

;取c ;求bc

;求adL+bcL+bdH ;修改指针

;乘积第三字节存入

;清标志

49


自动加料机控制系统 - 图文(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:法释〔2013〕22号-最高人民法院关于适用《中华人民共和国企业破

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: