ORG 0H
LJMP MAIN
ORG 0003H ; EX0 interrupt vector address
LJMP EX0ISR
ORG 0030H
MAIN:
MOV IE,#10000001B ; Enable EX0 interrupts
SETB IT0 ;Make EX0 edge-triggered interrupt
LCALL INLCD ; Initialize LCD
LABEL:
MOV R4,#99
LOOP:
DJNZ R4,LOOP
SJMP LABEL
;---------------------------------------
EX0ISR:
MOV A,R4
CJNE R4,#09,GENERATE
COME_HERE:
DJNZ R4,COME_HERE
SJMP OUT
GENERATE:
MOV 44H,A
MOV A,#1000B ; Move cursor to 1st line - send high nibble
LCALL CMD
MOV A,#0000B ; send low nibble
LCALL CMD
LCALL LDELAY ; 4.1 msec required for this command
MOV A,44H
MOV B,#10
DIV AB
MOV 36H,B
ADD A,#30H
LCALL WCHR
MOV A,36H
ADD A,#30H
LCALL WCHR
OUT:
RETI