Advertisement
Guest User

Untitled

a guest
May 28th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. $NOMOD51 ; wylaczenie predefinicji rejestrow
  2. $INCLUDE(reg517.inc) ; wlaczenie predefinicji rej. procesora 80537
  3.  
  4. CSEG AT 0000h
  5.  
  6. TH0_SET EQU 256-180 ; obliczenie wartosci poczatkowych
  7. TL0_SET EQU 0
  8. ON1 EQU 130 ; czas trwania zapalenia diody P1.0
  9. OFF1 EQU 15 ; czas trwania zgaszenia diody P1.0
  10. ON2 EQU 27 ; czas trwania zapalenia diody P1.1
  11. OFF2 EQU 43 ; czas trwania zgaszenia diody P1.1
  12. ON3 EQU 65 ; czas trwania zapalenia diody P1.2
  13. OFF3 EQU 91 ; czas trwania zgaszenia diody P1.2
  14.  
  15. LJMP START
  16.  
  17. ORG 0BH ; adres procedury obslugi T0
  18. MOV TH0, #TH0_SET ; wpisanie wartości poczatkowek TH
  19. DEC R0
  20. MOV A, R0
  21. LCALL LED1 ; wezwanie procedury obslugujacej diode P1.0
  22. DEC R1
  23. MOV A, R1
  24. LCALL LED2 ; wezwanie procedury obslugujacej diode P1.1
  25. DEC R2
  26. MOV A, R2
  27. LCALL LED3 ; wezwanie procedury obslugujacej diode P1.2
  28. RETI ; powrot z przerwania
  29.  
  30. LED1: ; procedury obslugujaca diode P1.0
  31. JNZ K
  32. CPL P1.0 ; zanegowanie stanu diody P1.0
  33. JB P1.0, LED_ON1
  34. MOV R0, #ON1 ; ustawienie czasu zapalenia diody P1.0
  35. LJMP K
  36. LED_ON1:
  37. MOV R0, #OFF1 ; ustawienie czasu zgaszenia diody P1.0
  38. K:
  39. RET
  40.  
  41. LED2: ; procedury obslugujaca diode P1.1
  42. JNZ K2
  43. CPL P1.1 ; zanegowanie stanu diody P1.1
  44. JB P1.1, LED_ON2
  45. MOV R1, #ON2 ; ustawienie czasu zapalenia diody P1.1
  46. LJMP K2
  47. LED_ON2:
  48. MOV R1, #OFF2 ; ustawienie czasu zgaszenia diody P1.1
  49. K2:
  50. RET
  51.  
  52. LED3: ; procedury obslugujaca diode P1.2
  53. JNZ K3
  54. CPL P1.2 ; zanegowanie stanu diody P1.2
  55. JB P1.2, LED_ON3
  56. MOV R2, #ON3 ; ustawienie czasu zapalenia diody P1.2
  57. LJMP K3
  58. LED_ON3:
  59. MOV R2, #OFF3 ; ustawienie czasu zgaszenia diody P1.2
  60. K3:
  61. RET
  62.  
  63. START:
  64. CPL P1.0 ; zanegowanie stanu diody P1.0
  65. CPL P1.1 ; zanegowanie stanu diody P1.1
  66. CPL P1.2 ; zanegowanie stanu diody P1.2
  67. MOV R0, #ON1 ; przesuniecie do rejestrow okresow
  68. MOV R1, #ON2 ; zapalenia kolejnych diod LED
  69. MOV R2, #ON3
  70. MOV TMOD, #00000001b ; ustawienie rejestru TMOD
  71. MOV TH0, #TH0_SET ; wpisanie wartości poczatkowych
  72. MOV TL0, #TL0_SET
  73. SETB TR0 ; start T0
  74. SETB EAL ; odblokowanie systemu przerwań
  75. SETB ET0 ; zezwolenie na przerwanie od T0
  76. SJMP $
  77.  
  78. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement