Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.98 KB | None | 0 0
  1. .include "tn13Adef.inc"
  2.  
  3. .def temp = R16
  4. .def rab = R17
  5. .def ron = R18
  6. .cseg
  7. .org 0
  8.  
  9. rjmp RESET ;Reset Handler
  10. rjmp int_isr ;PCINT0 Handler
  11. reti ;IRQ0 Handler
  12.  
  13. reti ;Timer0 Overflow Handler
  14. reti ;EEPROM Ready Handler
  15. reti ;Analog Comparator Handler
  16. reti ;Timer0 CompareA Handler
  17. reti ;Timer0 CompareB Handler
  18. reti ;Watchdog Interrupt Handler
  19. rjmp ACP ;ADC Conversion Handler
  20.  
  21.  
  22.  
  23. RESET: ldi temp, RAMEND
  24. out SPL, temp
  25.  
  26. ldi temp, 0x80
  27. out ACSR, temp
  28.  
  29.  
  30. cbi DDRB, 1 ; knopka VKLYUCHENIYA VYKLYUCHENIYA
  31. sbi DDRB, 0
  32. ldi temp, 0b00000010 ; vkluchenie rezistorov
  33. out PORTB, temp
  34.  
  35. ldi temp, (1<<INT0) ;????????? ?????????? PCINT
  36. out GIMSK, temp
  37.  
  38. ldi temp, (1<<INT0) ;????? ????????? ?????????? - PB3
  39. out PCMSK, temp
  40.  
  41.  
  42.  
  43. ldi rab, 0x78 ; zapis nachalnogo chisla SCHIM
  44. out OCR0A, rab
  45. ldi ron, 0b11111111
  46.  
  47.  
  48. ldi temp, (1<<SM1)|(1<<SM0)|(0<<ISC01)|(0<<ISC00)
  49. out MCUCR, temp
  50. ldi temp, (1<<SE)
  51. out MCUCR, temp
  52. sei ;razreshenie preryvaniy
  53.  
  54. SL: SLEEP
  55.  
  56.  
  57. stop: sbrs ron, 0
  58. rjmp TT
  59. rjmp stop
  60.  
  61. TT: sbrs ron, 1
  62. rjmp SL
  63. ldi ron, 0b00000000
  64. reti
  65.  
  66.  
  67.  
  68. ; ESLI TIMER VKLUCFHEN TO VYKLUCHAEM ESI VYKLUCHEN TO VKLUCHAEM
  69.  
  70. int_isr: rcall dly02s
  71. ZZ: sbic PINB,1
  72. rjmp PP
  73. rjmp ZZ
  74. PP: in temp, TCCR0B
  75. sbrc temp, 0 ; esli nol to perehod k VK
  76. rjmp OFF ; k vyklucheniyu
  77. rjmp VK ; perehod k vlucheniyu
  78.  
  79.  
  80. ; VKLYUCHENIE PREOBRAZOVATELYA
  81.  
  82. VK: ldi temp, 0x00
  83. out ADCSRB, temp ;nepreryvnoe preobrazovanie
  84. ldi temp, (1<<MUX1)|(0<<MUX0)
  85. out ADMUX, temp ; PB4 podklyu4aem k ACP
  86. ldi temp, (1<<ADATE)|(1<<ADEN)|(1<<ADSC)|(1<<ADIE)
  87. out ADCSRA, temp
  88.  
  89.  
  90. ; VKLYUCHENIE TAIMERA
  91.  
  92. ldi temp,(1<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(1<<WGM00)
  93. out TCCR0A, temp
  94.  
  95. ldi temp,(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(1<<CS00)
  96. out TCCR0B, temp
  97.  
  98. ldi ron, 0xFF
  99. reti
  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. ;VYKL ACP
  112.  
  113. ldi temp, (1<<ADATE)|(0<<ADEN)|(0<<ADSC)|(0<<ADIE)
  114. out ADCSRA, temp
  115.  
  116. ldi temp, (1<<INTF0)
  117. out GIFR, temp
  118. ldi ron, 0b00000010
  119. rjmp stop
  120.  
  121.  
  122.  
  123.  
  124. ;PRERYVANIE ACP
  125.  
  126. ACP: ldi temp, ADCH
  127. cpi temp, 0b00011001
  128. brlo DO ;K uveli4eniyu SHIM
  129. breq stop ; stop esli konstanta i ADCH ravny
  130. rjmp DO2 ; k UMENSCHENIYU SCHIM
  131.  
  132. DO: cpi rab, 0xFF ; smotrim est li esche mesto v registre RAB
  133. breq stop ;RAB polnyj togda stop
  134. ldi temp, 0b00000001
  135. ADD rab, temp
  136. out OCR0A, rab ;zapis novogo chisla SCHIM uvelichenie
  137. rjmp stop
  138.  
  139. DO2: cpi rab, 0b00000001 ; ne obnulilsya li sovsem RAB
  140. breq stop ;RAB pustoj togda stop
  141. ldi temp, 0b00000001
  142. SUB rab, temp
  143. out OCR0A, rab ; zapis novogo chisla SCHIM umenschenie
  144. rjmp stop
  145.  
  146.  
  147. dly02s: push rab
  148. push ron
  149. ldi R17, 0x10
  150. WL0: ldi R18, 0x26
  151. WL1: ldi R19, 0x79
  152. WL2: dec R19
  153. brne WL2
  154. dec R18
  155. brne WL1
  156. dec R17
  157. brne WL0
  158. ldi R17, 0x18
  159. WL3: dec R17
  160. brne WL3
  161. pop ron
  162. pop rab
  163. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement