Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1.  
  2. POSR DATA 02Fh
  3. F1 BIT POSR.0
  4. F2 BIT POSR.1
  5. F3 BIT POSR.2
  6. F4 BIT POSR.3
  7. OK BIT POSR.4
  8. ER BIT POSR.5
  9.  
  10. LICZNIK1 EQU 0FFh
  11. LICZNIK2 EQU 0FFh
  12.  
  13. CSDS EQU 0FF30h
  14. CSDB EQU 0FF38h
  15.  
  16. ORG 0000H
  17.  
  18. _RESET:
  19. LJMP _INIT
  20.  
  21. ORG 0100H
  22. _INIT:
  23. CLR C
  24. CALL _7SEG_INIT
  25.  
  26. _LOOP:
  27. ; przesuwanie w prawo rotate right
  28. MOV A, POSR
  29. RR A
  30. MOV POSR, A
  31.  
  32. CALL _7SEG_UPDATE
  33.  
  34.  
  35. ; CALL _7SEG_SET_F2_ON
  36. ; CALL _WAIT
  37. ; CALL _7SEG_SET_F2_OFF
  38.  
  39. CALL _WAIT
  40.  
  41.  
  42. LJMP _LOOP
  43.  
  44.  
  45. _WAIT:
  46. MOV R3, LICZNIK1
  47. MOV R4, LICZNIK2
  48.  
  49. _WHILE2:
  50. _WHILE1:
  51. NOP
  52. DJNZ R3, _WHILE1
  53. NOP
  54. DJNZ R4, _WHILE2
  55. RET
  56.  
  57. _7SEG_UPDATE:
  58. SETB P1.6
  59.  
  60. MOV A, POSR
  61. MOV DPTR, #CSDB
  62. MOVX @DPTR, A
  63.  
  64. CLR P1.6
  65. RET
  66.  
  67. _7SEG_INIT:
  68. ;wprowadzmy do bufora wyboru wskaznik led
  69. MOV DPTR, #CSDS
  70. MOV A, #01000000b
  71. MOVX @DPTR, A
  72. ;uruchamiamy diode ok
  73. MOV POSR, #00010000b
  74. CALL _7SEG_UPDATE
  75. RET
  76.  
  77. ; Funkcje do wlaczania i wylaczania poszczegolnych bitow
  78.  
  79. _7SEG_SET_OK_ON:
  80. SETB OK
  81. CALL _7SEG_UPDATE
  82. RET
  83.  
  84. _7SEG_SET_OK_OFF:
  85. CLR OK
  86. CALL _7SEG_UPDATE
  87. RET
  88.  
  89. _7SEG_SET_F1_ON:
  90. SETB F1
  91. CALL _7SEG_UPDATE
  92. RET
  93.  
  94. _7SEG_SET_F1_OFF:
  95. CLR F1
  96. CALL _7SEG_UPDATE
  97. RET
  98.  
  99. _7SEG_SET_F2_ON:
  100. SETB F2
  101. CALL _7SEG_UPDATE
  102. RET
  103.  
  104. _7SEG_SET_F2_OFF:
  105. CLR F2
  106. CALL _7SEG_UPDATE
  107. RET
  108.  
  109. _7SEG_SET_F3_ON:
  110. SETB F3
  111. CALL _7SEG_UPDATE
  112. RET
  113.  
  114. _7SEG_SET_F3_OFF:
  115. CLR F3
  116. CALL _7SEG_UPDATE
  117. RET
  118.  
  119. _7SEG_SET_F4_ON:
  120. SETB F4
  121. CALL _7SEG_UPDATE
  122. RET
  123.  
  124. _7SEG_SET_F4_OFF:
  125. CLR F4
  126. CALL _7SEG_UPDATE
  127. RET
  128.  
  129. _7SEG_SET_ER_ON:
  130. SETB ER
  131. CALL _7SEG_UPDATE
  132. RET
  133.  
  134. _7SEG_SET_ER_OFF:
  135. CLR ER
  136. CALL _7SEG_UPDATE
  137. RET
  138.  
  139. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement