📄 1.asm
字号:
ORG 0000H
LJMP START
START:CLR A
MOV P2,A
MOV R0,#70H
MOV R2,#0BH
LOOPLEM:MOV @R0,A
INC R0
DJNZ R2,LOOPLEM
MOV 78H,#00H
MOV A,#0FFH
MOV P0,A
MOV P1,A
MOV P3,A
MAIN:LCALL TEST
LCALL DISPLAY
AJMP MAIN
NOP
NOP
NOP
LJMP START
DISPLAY:JB 00H,DISP11
MOV R3,#08H
MOV R0,#70H
MOV 7BH,#00H
DISLOOP1:LCALL TUNBCD
MOV R2,#0FFH
DISLOOP2:LCALL DISP
LCALL KEYWORK1
DJNZ R2,DISLOOP2
INC R0
INC 7BH
DJNZ R3,DISLOOP1
RET
DISP11:MOV R3,#08H
MOV A,7BH
SUBB A,#01H
MOV 7BH,A
ADD A,#70H
MOV R0,A
DISLOOP11:LCALL TUNBCD
MOV R2,#0FFH
DISLOOP22:LCALL DISP
LCALL KEYWORK2
DJNZ R3,DISLOOP22
INC 7BH
RET
TUNBCD:MOV A,@R0
MOV B,#51
DIV AB
MOV 7AH,A
MOV A,B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,LOOP2
ADD A,#5
LOOP2:MOV 79H,A
MOV A,B
CLR F0
SUBB A,#10H
MOV F0,C
MOV A,#10H
MUL AB
MOV B,#51
DIV AB
JB F0,LOOP3
ADD A,#5
LOOP3:MOV 78H,A
RET
DISP: MOV R1,#7BH
MOV R5,#0FEH
DLAY: MOV P1,#0FFH
MOV A,R5
ANL P3,A
MOV A,@R1
CJNE A,#03,PLAY2
PLAY0: MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
JB P3.1,DLAY1
CLR P1.7
PLAY1:LCALL DL1MS
DEC R1
MOV A,P3
JNB ACC.3,ENDOUT
RL A
MOV R5,A
MOV P3,#0FFH
AJMP DLAY
PLAY2:MOV DPTR,#TAB
ENDOUT: MOV P3,#0FFH
MOV P1,#0FFH
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
DL10MS: MOV R6,#0D0H
DL1:MOV R7,#10H
DL2:DJNZ R7,DL2
DJNZ R6,DL1
RET
DL1MS:MOV R4,#0FFH
DL3:DJNZ R4,DL3
MOV R4,#0FFH
DL4:DJNZ R4,DL4
RET
TEST:CLR A
MOV P2,A
MOV R0,#70H
MOV R7,#08H
LCALL TESTART
WAIT: JB P3.7,MOVD
AJMP WAIT
TESTART:SETB P2.3
NOP
NOP
CLR P2.3
SETB P2.4
NOP
NOP
CLR P2.4
NOP
NOP
NOP
NOP
RET
MOVD:SETB P2.5
MOV A,P0
MOV @R0,A
CLR P2.5
INC R0
MOV A,P2
INC A
MOV P2,A
CJNE A,#08H,TESTEND
TESTEND:JC TESTCON
CLR A
MOV P2,A
MOV A,#0FFH
MOV P0,A
MOV P1,A
MOV P3,A
RET
TESTCON:LCALL TESTART
LJMP WAIT
KEYWORK1:JNB P3.5,KEY1
KEYOUT: RET
KEY1:LCALL DISP
JB P3.5,KEYOUT
WAIT11:JNB P3.5,WAIT12
CPL 00H
MOV R2,#0AH
MOV R3,#01H
RET
WAIT12:LCALL DISP
AJMP WAIT11
KEYWORK2:JNB P3.5,KEY1
JNB P3.6,KEY2
RET
KEY2: LCALL DISP
JB P3.6,KEYOUT
WAIT22:JNB P3.6,WAIT21
INC 7BH
MOV A ,7BH
CJNE A,#08H,KEYOUT11
KEYOUT11:JC KEYOUT1
MOV 7BH,#00H
KEYOUT1:RET
WAIT21: LCALL DISP
AJMP WAIT22
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -