Advertisement
Guest User

klawiatura

a guest
Jun 4th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ROW EQU 0F8H           
  2. COL EQU 0DBH
  3. LED EQU P1
  4.    
  5. ORG 0
  6. MOV R0, #0  ;wiersze
  7. MOV R1, #0  ;kolumny
  8. PETLA:
  9.  
  10.         MOV A, #01111111B
  11.         LCALL RD_ROW
  12.  
  13.  
  14. SJMP PETLA
  15.  
  16.  
  17. RD_ROW:
  18.     ANL A, #11110000B
  19.     ANL ROW, #00001111B
  20.     ORL ROW, A
  21.  
  22.     MOV A, COL
  23.     CPL A
  24.     ANL A, #00001111B
  25.  
  26.     CLR C
  27.     JZ NO_BUTTON
  28.  
  29.     MOV R0, #0
  30. IIr:   
  31.     RRC A
  32.     JC IS_BUTTON
  33.     INC R0
  34.     SJMP IIr
  35.  
  36. IS_BUTTON:
  37.     MOV A,R0             ;R0 numer wiersza
  38. NO_BUTTON:
  39.     MOV P1, #01111111B
  40.     RET
  41.  
  42.  
  43. RD_COL:
  44. ; COL3..0 <- ACC3..0
  45.  
  46.     CPL A
  47.     MOV R1, #0
  48. IIc:   
  49.     RRC A
  50.     JC Ic
  51.     INC R0
  52.     SJMP IIc
  53. Ic: MOV A,R1             ;R1 numer kolumny
  54.  
  55.  
  56.     RET
  57.  
  58. NUM_BUTTON:
  59.     MOV A, R0
  60.     MOV B, #4
  61.     MUL AB
  62.     ADD A, R1           ;A = 4*wiersz + kolumna
  63.  
  64.     RET
  65.  
  66. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement