Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. LJMP START
  2. ORG 100H
  3. START:
  4.  
  5. LCALL LCD_CLR
  6.  
  7. LOOP_NO:
  8. MOV R0,#CSKB0 ;adres klawiszy 0..7
  9. MOVX A,@R0 ;odczyt stanu klawiszy
  10. CPL A
  11. JNZ KEY_YES ;czy klawisz naciœniêty
  12. INC R0 ;adres klawiszy 8..
  13. MOVX A,@R0
  14. CPL A
  15. JZ LOOP_NO ;czy klawisz naciœniêty
  16.  
  17. KEY_YES: ;eliminacja drgañ styków
  18. MOV R2,A ;zapamiêtaj stan klawiszy
  19. MOV A,#10
  20. LCALL DELAY_MS
  21. MOVX A,@R0 ;odczyt stanu klawiszy
  22. CPL A
  23. XRL A,R2 ;porównaj z zapamiêtanym
  24. JNZ LOOP_NO ;czy stan stabilny
  25. ;-klawisz nadal wciœniêty
  26.  
  27. MOV A,R2 ;stan klawiszy do A
  28. ;ustaw wstêpn¹ wartoœæ R2
  29. ;zale¿nie od zestawu klawiszy
  30. MOV R2,#07H ;klawisze 8..
  31. CJNE R0,#CSKB0,LOOP_NR
  32. MOV R2,#0FFH ;klawisze 0..7
  33.  
  34. LOOP_NR: ;przekodowanie klawisza
  35. INC R2 ;kod 1z8 na numer 0..15
  36. RRC A
  37. JNC LOOP_NR
  38.  
  39. MOV A,R2 ;przekodowanie klawisza
  40. ACALL KEY_CODE ;na kody LCD za pomoc¹
  41. ;procedury koduj¹cej
  42. LCALL WRITE_DATA ;wypisz kod klawisza
  43.  
  44. LOOP_YES:
  45. MOV R0,#CSKB0 ;adres klawiszy 0..7
  46. MOVX A,@R0 ;odczyt stanu klawiszy
  47. CPL A
  48. JNZ LOOP_YES ;czy klawisz zwolniony
  49. INC R0 ;adres klawiszy 8..
  50. MOVX A,@R0 ;odczyt stanu klawiszy
  51. CPL A
  52. JNZ LOOP_YES ;czy klawisz zwolniony
  53.  
  54. SJMP LOOP_NO ;powrót do oczekiwania
  55. ;na naciœniêcie klawisza
  56.  
  57. ;**************************************
  58. ;Podprogram zamieniaj¹cy numery klawiszy
  59. ;0..15 na kody znaków LCD
  60.  
  61. KEY_CODE:
  62. INC A ;pomiñ rozkaz RET
  63. MOVC A,@A+PC ;pobierz kod
  64. RET
  65.  
  66. DB 30H,31H,32H ;0,1,2
  67. DB 33H,34H,35H ;3,4,5
  68. DB 36H,37H,38H ;6,7,8
  69. DB 39H,3CH,3EH ;9,<,>
  70. DB 5EH,76H,7FH ;^,v,Esc
  71. DB 0AEH ;Enter
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement