Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. .include "tn13Adef.inc"
  2.  
  3. .def temp = R16
  4. .def rab = R17
  5. .cseg
  6. .org 0
  7.  
  8. rjmp RESET ;Reset Handler
  9. reti ;IRQ0 Handler
  10. rjmp int_isr ;PCINT0 Handler
  11. reti ;Timer0 Overflow Handler
  12. reti ;EEPROM Ready Handler
  13. reti ;Analog Comparator Handler
  14. reti ;Timer0 CompareA Handler
  15. reti ;Timer0 CompareB Handler
  16. reti ;Watchdog Interrupt Handler
  17. reti ;ADC Conversion Handler
  18.  
  19.  
  20.  
  21. RESET: ldi temp, RAMEND
  22. out SPL, temp
  23.  
  24. ldi temp, 0x80
  25. out ACSR, temp
  26. cbi DDRB, 2 ; knopka uvelicheniya yarkosti
  27. cbi DDRB, 3 ; knopka umenscheniya yarkosti
  28. cbi DDRB, 4 ; knopka VKLYUCHENIYA VYKLYUCHENIYA
  29. sbi DDRB, 0
  30. ldi temp, 0b00011100 ; vkluchenie rezistorov
  31. out PORTB, temp
  32.  
  33. ldi temp, (1<<PCIE) ;????????? ?????????? PCINT
  34. out GIMSK, temp
  35.  
  36. ldi temp, (1<<PCINT4) ;????? ????????? ?????????? - PB3
  37. out PCMSK, temp
  38. ldi rab, 0x78 ; zapis nachalnogo chisla SCHIM
  39. sei ;razreshenie preryvaniy
  40.  
  41.  
  42. S: sbis PINB, 2
  43. rjmp B1
  44. L1: sbis PINB, 3
  45. rjmp C1
  46. rjmp S
  47.  
  48. B1: rcall WG
  49. U1: sbic PINB, 2
  50. rjmp B8
  51. rjmp U1
  52.  
  53.  
  54. C1: rcall WG
  55. Z1: sbic PINB, 3
  56. rjmp B7
  57. rjmp Z1
  58.  
  59.  
  60.  
  61. B8: cpi rab, 0xFF
  62. breq S
  63. DO: ldi temp, 0xF
  64. ADD rab, temp
  65. out OCR0A, rab ;zapis novogo chisla SCHIM uvelichenie
  66. rjmp S
  67.  
  68. B7: cpi rab, 0xF
  69. breq S
  70. DO2: ldi temp, 0xF
  71. SUB rab, temp
  72. out OCR0A, rab ; zapis novogo chisla SCHIM umenschenie
  73. rjmp S
  74.  
  75. int_isr:rcall dly02s ;k zaderzhke
  76. sbic PINB,4 ;proverka knopki vklucheniya
  77. rjmp return ; esli knopka B4 otpushena
  78. rjmp NAC ; esli knopka B4 nazhata to v NAC
  79. return: ldi temp, (1<<PCIF) ;ustanovka flaga kotoryj byl sbroshen pri srabatyvanii preryvaniya
  80. out GIFR, temp
  81. reti ;âûõîä èç ïðåðûâàíèÿ
  82.  
  83.  
  84. ; ESLI TIMER VKLUCFHEN TO VYKLUCHAEM ESI VYKLUCHEN TO VKLUCHAEM
  85.  
  86. NAC: in temp, TCCR0B
  87. sbrc temp, 0 ; esli nol to perehod k VK
  88. rjmp OFF ; k vyklucheniyu taimera
  89. rjmp VK ; perehod k vlucheniyu taimera
  90.  
  91. ; VKLYUCHENIE TAIMERA
  92.  
  93. VK: ldi temp,(1<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(1<<WGM00)
  94. out TCCR0A, temp
  95.  
  96. ldi temp,(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(1<<CS00)
  97. out TCCR0B, temp
  98. out OCR0A, rab
  99. rjmp return
  100.  
  101.  
  102.  
  103.  
  104. ; VYKLYUCHENIE TAIMERA
  105.  
  106. OFF: ldi temp,(0<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(0<<WGM01)|(0<<WGM00)
  107. out TCCR0A, temp
  108.  
  109. ldi temp,(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(0<<CS00)
  110. out TCCR0B, temp
  111. rjmp return
  112.  
  113.  
  114.  
  115.  
  116. ; ZADERZHKA
  117.  
  118.  
  119. WG: push rab
  120. ldi R17, 0x5F
  121. WGLOOP0: ldi R18, 0xFF
  122. WGLOOP1: dec R18
  123. brne WGLOOP1 ;perehod esli ne 0
  124. dec R17
  125. brne WGLOOP0 ; anee ia iieu oi ia?aoia ia WGLOOP0
  126. pop rab
  127. ret
  128.  
  129.  
  130. dly02s: push rab
  131. ldi R17, 0x10
  132. WL0: ldi R18, 0x26
  133. WL1: ldi R19, 0x79
  134. WL2: dec R19
  135. brne WL2
  136. dec R18
  137. brne WL1
  138. dec R17
  139. brne WL0
  140. ldi R17, 0x18
  141. WL3: dec R17
  142. brne WL3
  143. pop rab
  144. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement