📄 666.asm
字号:
ORG 00H
AJMP MAIN
ORG 30H
MAIN:MOV SP,#60H
LOOP:LCALL AD
LCALL CH
LCALL SH
LCALL DISPLAY
LCALL DEL300MS
AJMP LOOP
AD:CLR P2.0
CLR P2.1
SETB P2.1
SETB P2.4
CLR P2.4
JNB P2.3,$
CLR P2.2
SETB P2.2
NOP
NOP
NOP
MOV A,P1
RET
CH:
MOV R1,A
MOV R2,#0C5H
MOV R3,#0
MOV R4,#0
MOV 46H,#08H
MULLOOP1:
CLR C
MOV A,R3
RLC A
MOV R3,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R2
RLC A
MOV R2,A
JNC MULLOOP2
CLR C
MOV A,R3
ADD A,R1
MOV R3,A
MOV A,R4
ADDC A,#00H
MOV R4,A
MULLOOP2:
DJNZ 46H,MULLOOP1
RET
SH:MOV 46H,#10H
MOV R2,#03H
MOV R1,#0E8H
MOV R5,#0
MOV R6,#0
DIVLOOP1:MOV A,R3
RLC A
MOV R3,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R5
RLC A
MOV R5,A
MOV A,R6
RLC A
MOV R6,A
CLR C
MOV A,R5
SUBB A,R1
MOV B,A
MOV A,R6
SUBB A,R2
JC DIVLOOP2
MOV R5,B
MOV R6,A
DIVLOOP2:CPL C
DJNZ 46H,DIVLOOP1
MOV A,R3
RLC A
MOV R3,A
MOV A,R4
RLC A
MOV R4,A
RET
DISPLAY:MOV DPTR,#TAB
MOV A,R3
CLR OV
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
RET
;******延时300MS********
;^^^误差:超出391微秒^^^
DEL300MS: MOV R5,#0FFH
DL300MS0: MOV R6,#0EBH
DL300MS1: MOV R7,#01H
DJNZ R7,$
DJNZ R6,DL300MS1
DJNZ R5,DL300MS0
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,099H
DB 092H,082H,0F8H,080H,090H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -