Professional Documents
Culture Documents
E EQU P0.1
RS EQU P0.0
KEY EQU P1
org 00h
MOV KEY,#0F0H
MOV A,#38H
ACALL LCDCOM
MOV A,#0EH
ACALL LCDCOM
MOV A,#01H
ACALL LCDCOM
MOV DPTR,#250H
AGAIN:
CLR A
MOVC A,@A+DPTR
JZ EXIT
ACALL LCDDATA
INC DPTR
SJMP AGAIN
EXIT:MOV A,#0C0H
ACALL LCDCOM
AG:ACALL KEYPAD
ACALL LCDDATA
SJMP AG
LCDCOM:
MOV LCD,A
CLR RS ;COMMAND
SETB E
ACALL delay
CLR E
ACALL delay
RET
LCDDATA:
MOV LCD,A
SETB RS ;DATA
SETB E
ACALL delay
CLR E
ACALL delay
RET
delay:
mov r3,#50
h1:mov r4,#255
h: djnz r4,h
djnz r3,h1
ret
KEYPAD:MOV KEY,#0F0H
MOV A,KEY
CJNE A,#0F0H,KEYPAD ;CHECK FOR NO KEY PRESSED
CHECK:MOV A,KEY
CJNE A,#0F0H,CHECK2
SJMP CHECK
CHECK2:ACALL delay
MOV A,KEY
CJNE A,#0F0H,OK
SJMP CHECK
ROW0:MOV DPTR,#300H
SJMP NEXT
ROW1:MOV DPTR,#304H
SJMP NEXT
ROW2:MOV DPTR,#308H
SJMP NEXT
ROW3:MOV DPTR,#30CH
NEXT:SWAP A
NEXT2:RRC A
JNC FOUND
INC DPTR
SJMP NEXT2
FOUND:CLR A
MOVC A,@A+DPTR ;FOUND KEY FROM LOOKUP TABLE
RET
ORG 250h
DB "welcom",0
ORG 300h
DB '7','8','9','/',' 4','5','6','*', '1','2','3','-', 'O','0','=','+' ;KEYS
end