📄 ad调速.asm
字号:
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP INT_0
ORG 0030H
MAIN:
MOV 70H,#00H
MOV 71H,#00H
MOV 72H,#00H
MOV 73H,#00H
SETB EA
SETB EX0
MOV DPTR,#0FF82H
MOV A,#0D1H
MOVX @DPTR,A
WAIT: MOVX A,@DPTR
JB ACC.7,WAIT
MOV A,#00H
MOVX @DPTR,A
MOV A,#2AH
MOVX @DPTR,A
LCALL DISP
LP1: MOV DPTR,#0FF82H
MOVX A,@DPTR
ANL A,#3FH
JZ LP1
LCALL KEY
JBC F0,START
AJMP LP1
START: MOV 30H,#09H
MOV 31H,#60H
MOV DPTR,#8300H
MOVX @DPTR,A
INT_0: MOVX A,@DPTR
MOV R2,A
MOV R3,30H
MOV R4,31H
LCALL MULD
LCALL DV31
LCALL HBCD
LCALL TRANS
LCALL DISP
MOV DPTR,#8700H
MOV A,R2
MOVX @DPTR,A
LP2: MOV DPTR,#0FF82H
MOVX A,@DPTR
ANL A,#3FH
JZ LP2
LCALL GETKEY
CJNE A,#0BH,YY
AJMP MAIN
YY: CJNE A,#0CH,RETURN2
AJMP START
RETURN2: RETI
KEY:
LCALL GETKEY
CJNE A,#0AH,RETURN1
SETB F0
AJMP RETURN1
RETURN1:RET
;双字节乘法子程序H2MUL_SUB,Page 6
;入口条件:被乘数放在20H,21H;乘数放在22H,23H;乘数位数放在2AH
;出口条件:积数放在R4,R5,R6,R7
;影响参数:A,R0,R1,R2,R4,R5,R6,R7
MULD: MOV R0,30H;
MOV R1,31H
MOV R2,A
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV R6,#00H
MOV R7,#00H
MOV 2AH,#10H
LOOP_D_M: MOV A,R4
ADD A,R4
MOV R4,A
MOV A,R5
ADDC A,R5
MOV R5,A
MOV A,R6
ADDC A,R6
MOV R6,A
MOV A,R7
ADDC A,R7
MOV R7,A
MOV A,R2
ADD A,R2
MOV R2,A
MOV A,R3
ADDC A,R3
MOV R3,A
JNC TO_LOOP0
MOV A,R4
ADD A,R0
MOV R4,A
MOV A,R5
ADDC A,R1
MOV R5,A
MOV A,R6
ADDC A,#00H
MOV R6,A
MOV A,R7
ADDC A,#00H
MOV R7,A
TO_LOOP0: DJNZ 2AH,LOOP_D_M
RET
DV31: CLR C
MOV A,R3
SUBB A,R7
JC DV30
SETB OV
RET
DV30: MOV R2,#10H
DM23: CLR C
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R3
RLC A
MOV R3,A
MOV F0,C
CLR C
SUBB A,R7
ANL C,/F0
JC DM24
MOV R3,A
INC R5
DM24: DJNZ R2,DM23
MOV A,R3
ADD A,R3
JC DM25
SUBB A,R7
JC DM26
DM25: INC R5
MOV A,R5
JNZ DM26
INC R4
DM26: CLR OV
RET
GETKEY: MOV A,#40H
MOV DPTR,#0FF82H
MOVX @DPTR,A
MOV DPTR,#0FF80H
MOVX A,@DPTR
ANL A,#3FH
MOV R4,A
RET
TRANS: MOV R0,#42H
MOV R1,#70H
MOV R7,#03H
LAST:MOV A,@R0
ANL A,#0FH
MOV @R1,A
MOV A,@R0
ANL A,#0F0H
SWAP A
INC R1
MOV @R1,A
INC R1
DEC R0
DJNZ R7,LAST
RET
HBCD: CLR A
MOV 40H,A
MOV 41H,A
MOV 42H,A
MOV R2,#10H
HB3: MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV A,42H
ADDC A,42H
DA A
MOV 42H,A
MOV A,41H
ADDC A,41H
DA A
MOV 41H,A
MOV A,40H
ADDC A,40H
MOV 40H,A
DJNZ R2,HB3
RET
DISP: MOV DPTR,#0FF82H
MOV A,#90H
MOVX @DPTR,A
MOV R1,#70H
MOV R7,#04H
MOV DPTR,#0FF80H
LOOP:MOV A,@R1
ADD A,#05H
MOVC A,@A+PC
MOVX @DPTR,A
INC R1
DJNZ R7,LOOP
RET
DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -