VTech Alphabert s Magic Readport User Manual Page 56

  • Download
  • Add to my manuals
  • Print
  • Page
    / 80
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 55
Lab Manual of Microcontroller & Interfacing Page 56
ANL A,#0FH ;Maks Upper Bits Because They Are Not Used
CJNE A,#0FH,REL ;Check Till All Keys Released
AGAIN:
ACALL DELAY
MOV A,P2 ;See If Any Key Pressed Or Not?
ANL A,#0FH ;Mask Upper Bits
CJNE A,#0FH,KPRESS ; If A Is Not Equal To 0fh Then Key Is
; Pressed
SJMP AGAIN ; Check Again If Key Is Not Pressed
KPRESS:
ACALL DELAY
MOV A,P2
ANL A,#0FH ;MASK UNUSED UPPER BITS
CJNE A,#0FH,KPRESS1 ; if a is not equal to 0fh then key is
;pressed
SJMP AGAIN ; CHECK AGAIN IF KEY IS NOT PRESSED
KPRESS1:
MOV P1,#0FEH ; Ground ROW 0
MOV A,P2 ;Read All Columns
ANL A,#0FH ;Mask Unused Upper Bits
CJNE A,0FH,R_0 ;key is pressed in first row (row 0),check
; columns
MOV P1,#0FDH ; Ground ROW 1
MOV A,P2 ;READ ALL COLUMNS
ANL A,#0FH ;MASK UNUSED UPPER BITS
CJNE A,0FH,R_1 ;KEY IS PRESSED IN SECOND ROW (ROW 1),CHECK
; COLUMNS
MOV P1,#0FBH ; Ground ROW 2
MOV A,P2 ;READ ALL COLUMNS
ANL A,#0FH ;MASK UNUSED UPPER BITS
CJNE A,0FH,R_2 ;KEY IS PRESSED IN THIRD ROW (ROW 2),CHECK
; COLUMNS
MOV P1,#0F7H ; Ground ROW 0
MOV A,P2 ;READ ALL COLUMNS
ANL A,#0FH ;MASK UNUSED UPPER BITS
CJNE A,0FH,R_3 ;KEY IS PRESSED IN FOURTH ROW (ROW 3),CHECK
; COLUMNS
LJMP AGAIN
R_0: MOV DPTR,#KCODE0 ;SET DPTR=START OF ROW 0
SJMP CHECK_C
R_1: MOV DPTR,#KCODE1 ;SET DPTR=START OF ROW 1
SJMP CHECK_C
R_2: MOV DPTR,#KCODE2 ;SET DPTR=START OF ROW 2
SJMP CHECK_C
R_3: MOV DPTR,#KCODE3 ;SET DPTR=START OF ROW 3
CHECK_C:
RRC A ;CHECK WHETHER CARRY OCCURS OR NOT
JNC GET_CODE
Page view 55
1 2 ... 51 52 53 54 55 56 57 58 59 60 61 ... 79 80

Comments to this Manuals

No comments