
WAIT1:MOV R0,#03H ;values of r0,r1 & r2 together provide a delay of 423ms
WAIT2:MOV R1,#0FFH
WAIT3:MOV R2,#0FFH

CONFIRM_KEY_PRESS:
MOV A,P0              ;p0.0 t0 p0.3 => rows, p0.4 to 0.6 => columns
ANL A,#01110000b      ;scan columns
cjne a,#01110000b,KEY_PRESS_CONFIRMED; if key pressed within 423ms, come out of delay loop
				                    
DJNZ R2,CONFIRM_KEY_PRESS
DJNZ R1,WAIT3
DJNZ R0,WAIT2

SJMP SECOND_KEY_SCAN1 ;if no key is pressed within 423ms, come out of key checking subroutine
