gha890826

8051-button

May 14th, 2020 (edited)
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. COUNT EQU 20000
  2. SW EQU P2.0
  3. SEG7 EQU P0
  4. ;================================
  5. ORG 0H
  6. SETTING:
  7. MOV TMOD,#00010001B
  8. MOV DPTR,#NUM_TABLE
  9. MOV R0,#0
  10. MOV A,R0
  11. MOVC A,@A+DPTR
  12. MOV SEG7,A
  13. ;================================
  14. LOOP:
  15. SETB SW
  16. KEYCHK:
  17. JB SW,KEYCHK
  18. CALL DEBOUNCE
  19. JB SW,KEYCHK
  20. INC R0
  21. CJNE R0,#10,ABC
  22. MOV R0,#0
  23. ABC:
  24. MOV A,R0
  25. MOVC A,@A+DPTR
  26. MOV SEG7,A
  27. KEYCHK2:
  28. JNB SW,KEYCHK2
  29. CALL DEBOUNCE
  30. JNB SW,KEYCHK2
  31. JMP LOOP
  32. NUM_TABLE:
  33. DB 11111100B;0
  34. DB 01100000B;1
  35. DB 11011010B;2
  36. DB 11110010B;3
  37. DB 01100110B;4
  38. DB 10110110B;5
  39. DB 00111110B;6
  40. DB 11100000B;7
  41. DB 11111110B;8
  42. DB 11100110B;9
  43. ;===================================
  44. DEBOUNCE:
  45. MOV TH0,#(65536-COUNT)/256
  46. MOV TL0,#(65536-COUNT) MOD 256
  47. SETB TR0
  48. WAIT:
  49. JNB TF0,WAIT
  50. CLR TF0
  51. RET
  52. ;==================================
  53. END
Add Comment
Please, Sign In to add comment