em đang học lập trình 8051. có cái bài tập lớn mà mày mò mãi không ra đc. đề bài là nhập số từ bàn phím 4x4 hiển thị lên 4 led 7 đoạn. đây là doạn code e viết. mà khi nạp vào mạch thì nó chỉ hiện đựoc một số như hình thôi. ai có thể sửa giúp e được không.
LED EQU P3
MA EQU P1
COT EQU P2
LED5 EQU 30H
LED1 EQU 20H
LED2 EQU 21H
LED3 EQU 22H
LED4 EQU 23H
MAKEY EQU R2
TAM EQU R3
ORG 00H
MOV DPTR,#MALED
MOV MAKEY,#88
COT1:
MOV COT,#0FEH
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT1
JMP COT2
NEXT1:
MOV MAKEY,#00H
CALL KTKEY
JMP THOAT
COT2:
MOV COT,#0FDH
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT2
JMP COT3
NEXT2:
MOV MAKEY,#04H
CALL KTKEY
JMP THOAT
COT3:
MOV COT,#0FBH
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT3
JMP COT4
NEXT3:
MOV MAKEY,#08H
CALL KTKEY
JMP THOAT
COT4:
MOV COT,#0F7H
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT4
JMP THOAT
NEXT4:
MOV MAKEY,#0CH
CALL KTKEY
THOAT:
MOV LED4,LED3
MOV LED3,LED2
MOV LED2,LED1
CALL GIAIMA
MOV LED1,LED5
CALL HIENTHI
JMP COT1
KTKEY:
MOV TAM,A
MOV A,MAKEY
CJNE TAM,#0E0H,GM1
ADD A,#00H
GM1:
CJNE TAM,#0D0H,GM2
ADD A,#01H
GM2:
CJNE TAM,#0B0H,GM3
ADD A,#02H
GM3:
CJNE TAM,#070H,GM4
ADD A,#03H
GM4:
MOV MAKEY,A
RET
GIAIMA:
MOV A,MAKEY
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV A,B
MOVC A,@A+DPTR
MOV LED5,A
RET
HIENTHI:
CLR P3.3
MOV MA,#0FFH
MOV MA,LED1
SETB P3.0
MOV MA,#0FFH
CLR P3.0
MOV MA,LED2
SETB P3.1
MOV MA,#0FFH
CLR P3.1
MOV MA,LED3
SETB P3.2
MOV MA,#0FFH
CLR P3.2
MOV MA,LED4
SETB P3.3
RET
MALED: ;BANG MA QUET LED
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
LED EQU P3
MA EQU P1
COT EQU P2
LED5 EQU 30H
LED1 EQU 20H
LED2 EQU 21H
LED3 EQU 22H
LED4 EQU 23H
MAKEY EQU R2
TAM EQU R3
ORG 00H
MOV DPTR,#MALED
MOV MAKEY,#88
COT1:
MOV COT,#0FEH
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT1
JMP COT2
NEXT1:
MOV MAKEY,#00H
CALL KTKEY
JMP THOAT
COT2:
MOV COT,#0FDH
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT2
JMP COT3
NEXT2:
MOV MAKEY,#04H
CALL KTKEY
JMP THOAT
COT3:
MOV COT,#0FBH
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT3
JMP COT4
NEXT3:
MOV MAKEY,#08H
CALL KTKEY
JMP THOAT
COT4:
MOV COT,#0F7H
MOV A,COT
ANL A,#0F0H
CJNE A,#0F0H,NEXT4
JMP THOAT
NEXT4:
MOV MAKEY,#0CH
CALL KTKEY
THOAT:
MOV LED4,LED3
MOV LED3,LED2
MOV LED2,LED1
CALL GIAIMA
MOV LED1,LED5
CALL HIENTHI
JMP COT1
KTKEY:
MOV TAM,A
MOV A,MAKEY
CJNE TAM,#0E0H,GM1
ADD A,#00H
GM1:
CJNE TAM,#0D0H,GM2
ADD A,#01H
GM2:
CJNE TAM,#0B0H,GM3
ADD A,#02H
GM3:
CJNE TAM,#070H,GM4
ADD A,#03H
GM4:
MOV MAKEY,A
RET
GIAIMA:
MOV A,MAKEY
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV A,B
MOVC A,@A+DPTR
MOV LED5,A
RET
HIENTHI:
CLR P3.3
MOV MA,#0FFH
MOV MA,LED1
SETB P3.0
MOV MA,#0FFH
CLR P3.0
MOV MA,LED2
SETB P3.1
MOV MA,#0FFH
CLR P3.1
MOV MA,LED3
SETB P3.2
MOV MA,#0FFH
CLR P3.2
MOV MA,LED4
SETB P3.3
RET
MALED: ;BANG MA QUET LED
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END