START:
MOV R0,#00H
MOV P0,#0FEH
MOV P2,#3FH ; initial display count 0
MAIN: MOV DPTR,#DIGITTABLE
JB P3.7,MAIN
INC R0
CJNE R0,#6,PASS ; switch press 6 then reset display to 0
MOV R0,#00H
PASS: MOV A,R0
MOV B,A
MOVC A,@A+DPTR
MOV P2,A
MOV A,B
MOV DPTR,#LEDTABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY100
LJMP MAIN
DELAY100: MOV R4,#50
DELAY10: LCALL DELAY
DJNZ R4,DELAY10
RET
DELAY: MOV R5,#20
D1: MOV R6,#250
DJNZ R6,$
DJNZ R5,D1
RET
DIGITTABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
LEDTABLE: DB 0FEH,0FCH,0F8H,0F0H,0E0H
END