Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 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. ldi ron, 0b11111111
  45.  
  46.  
  47. ldi temp, (1<<SM1)|(1<<SM0)|(0<<ISC01)|(0<<ISC00)
  48. out MCUCR, temp
  49. ldi temp, (1<<SE)
  50. out MCUCR, temp
  51. sei ;razreshenie preryvaniy
  52.  
  53. SL: SLEEP
  54.  
  55.  
  56. UU: sbrs ron, 0
  57. rjmp TT
  58. rjmp UU
  59.  
  60. TT: sbrs ron, 1
  61. rjmp SL
  62. ldi ron, 0b00000000
  63. reti
  64.  
  65.  
  66.  
  67. ; ESLI TIMER VKLUCFHEN TO VYKLUCHAEM ESI VYKLUCHEN TO VKLUCHAEM
  68.  
  69. int_isr: in temp, TCCR0B
  70. sbrc temp, 0 ; esli nol to perehod k VK
  71. rjmp OFF ; k vyklucheniyu
  72. rjmp VK ; perehod k vlucheniyu
  73.  
  74.  
  75. ; VKLYUCHENIE PREOBRAZOVATELYA
  76.  
  77. VK: ldi temp, 0x00
  78. out ADCSRB, temp ;nepreryvnoe preobrazovanie
  79. ldi temp, (1<<MUX1)|(0<<MUX0)
  80. out ADMUX, temp ; PB4 podklyu4aem k ACP
  81. ldi temp, (1<<ADATE)|(1<<ADEN)|(1<<ADSC)|(1<<ADIE)
  82. out ADCSRA, temp
  83.  
  84.  
  85. ; VKLYUCHENIE TAIMERA
  86.  
  87. ldi temp,(1<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(1<<WGM00)
  88. out TCCR0A, temp
  89.  
  90. ldi temp,(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(1<<CS00)
  91. out TCCR0B, temp
  92. ldi rab, 0x78 ; zapis nachalnogo chisla SCHIM
  93. out OCR0A, rab
  94. ldi ron, 0xFF
  95. reti
  96.  
  97.  
  98.  
  99.  
  100. ; VYKLYUCHENIE TAIMERA
  101.  
  102. OFF: ldi temp,(0<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(0<<WGM01)|(0<<WGM00)
  103. out TCCR0A, temp
  104.  
  105. ldi temp,(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(0<<CS00)
  106. out TCCR0B, temp
  107. ;VYKL ACP
  108.  
  109. ldi temp, (1<<ADATE)|(0<<ADEN)|(0<<ADSC)|(0<<ADIE)
  110. out ADCSRA, temp
  111.  
  112. ldi temp, (1<<INTF0)
  113. out GIFR, temp
  114. ldi ron, 0b00000010
  115. rjmp UU
  116.  
  117.  
  118.  
  119.  
  120. ;PRERYVANIE ACP
  121.  
  122. ACP: ldi temp, ADCH
  123. cpi temp, 0b00011001
  124. brlo DO ;K uveli4eniyu SHIM
  125. breq stop ; stop esli konstanta i ADCH ravny
  126. rjmp DO2 ; k UMENSCHENIYU SCHIM
  127.  
  128. DO: cpi rab, 0xFF ; smotrim est li esche mesto v registre RAB
  129. breq stop ;RAB polnyj togda stop
  130. ldi temp, 0b00000001
  131. ADD rab, temp
  132. out OCR0A, rab ;zapis novogo chisla SCHIM uvelichenie
  133. rjmp stop
  134.  
  135. DO2: cpi rab, 0b00000001 ; ne obnulilsya li sovsem RAB
  136. breq stop ;RAB pustoj togda stop
  137. ldi temp, 0b00000001
  138. SUB rab, temp
  139. out OCR0A, rab ; zapis novogo chisla SCHIM umenschenie
  140. rjmp UU
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement