Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. ;************************************************
  2. ;PRZYKLAD 1 - TIMERY
  3. ;************************************************
  4.  
  5. LED EQU P1.7
  6. BUZZER EQU P1.5
  7. TIME EQU 30H
  8. ;********* Ustawienia dla TIMEROW *********
  9. ;TIMER 0
  10. TIM0 EQU 1
  11. TH0_SET EQU 256-180 ;wartosc poczatkowa rej. TH0
  12. TL0_SET EQU 0 ; wartosc poczatkowa rej. TL0
  13. ;**************************************
  14.  
  15. LJMP START
  16.  
  17. ;********* procedura obslugi przerwania od Timera 0 *********
  18. ORG 0BH
  19. MOV TH0,#TH0_SET ;TH0 na 50ms
  20.  
  21. MOV R7,TIME ; W KOMORCE TIME LICZY SIE INTERWALY 50 MS
  22. DJNZ R7,NO_1SEK ;SKOK JEZELI NIE minELa 1 sek
  23.  
  24. CPL LED ;MINELA SEKUNDA, ZMIANA STANU diody TEST
  25. MOV R7,#20 ;LADOWANIE WARTOSCI POCZATKOWEJ LICZNIKA
  26. ;INTERWALOW
  27. INC R3
  28. ;20*50ms=1s
  29. XCH A,R6
  30. MOV A,R3
  31. CJNE A,#00111100B,NO_MIN
  32.  
  33. INC R2
  34. MOV R3,#0
  35.  
  36. NO_MIN:
  37. LCALL LCD_CLR
  38. MOV A,R2
  39. LCALL WRITE_HEX
  40. ;MOV A,#A3H
  41. ;LCALL WRITE_DATA
  42. MOV A,R3
  43. LCALL WRITE_HEX
  44.  
  45.  
  46.  
  47. NO_1SEK:
  48. XCH A,R6
  49. MOV TIME,R7
  50. RETI ;WYJSCIE Z PROCEDURY OBSLUGI PRZERWANIA
  51.  
  52. ;**************************************
  53. ORG 100H
  54. START:
  55. ;USTAWIENIE WATRTOSCI POCZATKOWYCH
  56. MOV R2,#0
  57. MOV R3,#0 ;REJESTROW TIMERA I URUCHOMIENIE
  58. ;ZLICZANIA
  59. MOV TMOD,#TIM0 ;TRYB :Timer 0 liczy czas
  60. MOV TH0,#TH0_SET ;Timer 0 na 50ms
  61. MOV TL0,#TL0_SET
  62. SETB TR0 ;start Timera 0
  63. MOV TIME,#20 ; czas 20*50ms=1s
  64.  
  65.  
  66. SETB ET0 ;wlacz zezwolenie na
  67.  
  68. ;przerwanie od Timera 0
  69.  
  70. LCALL LCD_CLR
  71. SETB EA ;wlacz zezwolenie ogolne
  72. ;na przerwania
  73. LOOP:
  74. CALL DELAY_MS
  75.  
  76. MOV A,R3
  77. MOV R5,#0
  78. CJNE A,#0,L0
  79. MOV R5,#1
  80. L0:
  81. CJNE A,#1EH,L1
  82. MOV R5,#1
  83. L1:
  84.  
  85. MOV A,R5
  86. CJNE A,#01H,LOOP
  87.  
  88. CPL BUZZER
  89. MOV A,#5 ;czekaj czas 10*100ms=1s
  90. LCALL DELAY_100MS ;podprogram z EPROMu
  91. CPL BUZZER
  92.  
  93. SJMP LOOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement