Advertisement
Guest User

ASSSSSSS

a guest
Oct 14th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. ;------------------------------------------------
  2. ; Licznik Johnsona - zbudowany z wykorzystaniem
  3. ; tablicy przekodowania
  4. ; Licznik BIN -> TAB -> Kod Johnsona
  5. ; Zmieniajac zawartosci tablicy mozna
  6. ; zaimplementowac dowolny kod (wzorzec)
  7. ; np. kod wskaznika 7 seg.
  8. ; Opoznienie programowe
  9. ; Wskazniki LED P3
  10. ;------------------------------------------------
  11. DSEG AT 28H
  12. CNT: DS 1
  13.  
  14.  
  15. CSEG AT 0
  16. SYS_INIT:
  17. ; Inicjalizacja stosu - nie korzystamy ze stosu
  18. ; Nalezy bezwglednie pamietac gdy uzywamy
  19. ; pary CALL - RET
  20. ; lub przerwan niejawny -> CALL
  21. MOV SP,#7FH
  22. MOV CNT,#0H
  23. ; Petla glowna programu
  24. MAIN:
  25.  
  26. ;Zwieksz lub skoryguj
  27. MOV A,CNT
  28. INC A
  29. CJNE A,#16,CNT_OK
  30. CLR A
  31. CNT_OK:
  32. MOV CNT,A
  33.  
  34. DECODE:
  35. MOV A,CNT; Mozna wyeliminowac gdyz A == CNT
  36. MOV DPTR,#JOHNSON_TAB
  37. MOVC A,@A + DPTR
  38.  
  39. MOV P3,A
  40. ; Inicjalizacja opoznienia (256 x 514)
  41. MOV R7,#0
  42. ACALL DELAY
  43.  
  44. SJMP MAIN
  45.  
  46. ;------------------------------------------------
  47. ; Opoznienie programowe
  48. ; R7 - Zakres opznienia -> R7 x 514 cykli
  49. ; cykl -> 12 x CLK
  50. ;------------------------------------------------
  51.  
  52. DELAY:
  53. MOV R6,#0
  54. DY_L1:
  55. DJNZ R6,DY_L1
  56. DJNZ R7,DY_L1
  57. RET
  58.  
  59.  
  60. JOHNSON_TAB:
  61. DB 0FFh, 0FEh, 0FCh, 0F8h, 0F0h, 0E0h, 0C0h, 80h, 00h, 01h, 03h, 07h, 0Fh, 1Fh, 3Fh, 7Fh
  62.  
  63.  
  64. END
  65.  
  66. //
  67.  
  68. ;------------------------------------------------
  69. ; Licznik pierscieniwy z krazacym zerem
  70. ; Opoznienie programowe
  71. ; Wskazniki LED P3
  72. ;------------------------------------------------
  73.  
  74. CSEG AT 0
  75. SYS_INIT:
  76. ; Inicjalizacja stosu - nie korzystamy ze stosu
  77. ; Nalezy bezwglednie pamietac gdy uzywamy
  78. ; pary CALL - RET
  79. ; lub przerwan niejawny -> CALL
  80. MOV SP,#7FH
  81. MOV A,#0FEH
  82. ; Petla glowna programu
  83. MAIN:
  84. MOV P3,A
  85. RL A
  86. DJNZ R7,P3.0
  87.  
  88. ; Inicjalizacja opoznienia (256 x 514)
  89. MOV R7,#0
  90. ACALL DELAY
  91.  
  92. SJMP MAIN
  93.  
  94.  
  95. ;------------------------------------------------
  96. ; Opoznienie programowe
  97. ; R7 - Zakres opznienia -> R7 x 514 cykli
  98. ; cykl -> 12 x CLK
  99. ;------------------------------------------------
  100.  
  101. DELAY:
  102. MOV R6,#0
  103. DY_L1:
  104. DJNZ R6,DY_L1
  105. DJNZ R7,DY_L1
  106. RET
  107.  
  108. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement