jnb row3,$ ;wait till switch is released
mov a,#7 ;since switch pressed is 7, Acc =7
setb c ;Indicating switch has been pressed
setb column1
ret
r3_check_keypad:
setb column1 ;Error while debouncing so return
mov a,#0
clr c
ret
c4_check_keypad: //column 1, row4
mov r7,#00h
deb4_check_keypad: ;debounce row 4 switch
jb row4,r4_check_keypad
djnz r7,deb4_check_keypad
jnb row4,$ ;wait till switch is released
mov a,#10 ;since switch pressed is 10, Acc =10
setb c ;Indicating switch has been pressed
setb column1
ret
r4_check_keypad:
setb column1 ;Error while debouncing so return
mov a,#0
clr c
ret
c5_check_keypad: //column 2, row 1
mov r7,#00h
deb5_check_keypad: ;debounce row 1 switch
jb row1,r5_check_keypad
djnz r7,deb5_check_keypad
jnb row1,$ ;wait till switch is released
mov a,#2 ;since switch pressed is 2, Acc =2
setb c ;Indicating switch has been pressed
setb column2
ret
r5_check_keypad:
setb column2 ;Error while debouncing so return
mov a,#0
clr c
ret
c6_check_keypad: //column 2, row2
mov r7,#00h
deb6_check_keypad: ;debounce row 2 switch
jb row2,r6_check_keypad
djnz r7,deb6_check_keypad
jnb row2,$ ;wait till switch is released
mov a,#5 ;since switch pressed is 5, Acc =5
setb c ;Indicating switch has been pressed
setb column2
ret
r6_check_keypad:
setb column2 ;Error while debouncing so return
mov a,#0
clr c
ret
c7_check_keypad: //column 2, row3
mov r7,#00h
deb7_check_keypad: ;debounce row 3 switch
jb row3,r7_check_keypad
djnz r7,deb7_check_keypad
jnb row3,$ ;wait till switch is released
mov a,#8 ;since switch pressed is 8, Acc =8
setb c ;Indicating switch has been pressed
setb column2
ret
r7_check_keypad:
setb column2 ;Error while debouncing so return
mov a,#0
clr c
ret
c8_check_keypad: //column 2, row4
mov r7,#00h
deb8_check_keypad: ;debounce row 4 switch
jb row4,r8_check_keypad
djnz r7,deb4_check_keypad
jnb row4,$ ;wait till switch is released
mov a,#11 ;since switch pressed is 11, Acc =11
setb c ;Indicating switch has been pressed
setb column2
ret
r8_check_keypad:
setb column2 ;Error while debouncing so return
mov a,#0
clr c
ret
c9_check_keypad: //column 3, row 1
mov r7,#00h
deb9_check_keypad: ;debounce row 1 switch
jb row1,r9_check_keypad
djnz r7,deb9_check_keypad
jnb row1,$ ;wait till switch is released
mov a,#3 ;since switch pressed is 3, Acc =3
setb c ;Indicating switch has been pressed
setb column3
ret
r9_check_keypad:
setb column3 ;Error while debouncing so return
mov a,#0
clr c
ret
c10_check_keypad: //column 3, row2
mov r7,#00h
deb10_check_keypad: ;debounce row 2 switch
jb row2,r10_check_keypad
djnz r7,deb10_check_keypad
jnb row2,$ ;wait till switch is released
mov a,#6 ;since switch pressed is 6, Acc =6
setb c
|