Org 0000H
Org 0000H
Org 0000H
mov a,#'.'
acall delay
JB P1.4,NEXT1 // checks whether column 1 is low and jumps to NEXT1 if not low
MOV a,#00h // loads a with 00H if column is low (that means key 1 is pressed)
NEXT1:
JB P1.5,NEXT2
MOV A,#01h
acall display
NEXT2:
JB P1.6,NEXT3
MOV A,#02h
acall display
NEXT3:
JB P1.7,NEXT4
MOV A,#03h
acall display
NEXT4:
SETB P1.0
CLR P1.1
JB P1.4,NEXT5
MOV A,#04h
acall display
NEXT5:
JB P1.5,NEXT6
MOV A,#05h
acall display
NEXT6:
JB P1.6,NEXT7
MOV A,#06h
acall display
NEXT7:
JB P1.7,NEXT8
MOV A,#07h
acall display
NEXT8:
SETB P1.1
CLR P1.2
JB P1.4,NEXT9
MOV A,#08h
acall display
NEXT9:
JB P1.5,NEXT10
MOV A,#09h
acall display
NEXT10:
JB P1.6,NEXT11
MOV A,#0AH
acall display
NEXT11:
JB P1.7,NEXT12
MOV A,#0BH
acall display
NEXT12:
SETB P1.2
CLR P1.3
JB P1.4,NEXT13
MOV A,#0CH
acall display
NEXT13:
JB P1.5,NEXT14
MOV A,#0DH
acall display
NEXT14:
JB P1.6,NEXT15
MOV A,#0EH
acall display
NEXT15:
JB P1.7,BACK
MOV A,#0FH
acall display
LJMP BACK
here:sjmp here
clr EN
ret
clr EN
ret
mov r3,#200
djnz r3,l5
ret ;ret
END