Guest User

Untitled

a guest
Jul 16th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. .include "m328pdef.inc"
  2.  
  3. ; vektory přerušení
  4.  
  5. .org 0x000
  6. rjmp start
  7. .org OC0Aaddr
  8. rjmp TIM0_COMPA ;definice obsluhy přerušení TIM0_COMPA
  9. .org PCI0addr
  10. rjmp PCI0 ;Pin Change Interrupt Request 0
  11.  
  12. start:
  13.  
  14. ; nastavení pinů
  15.  
  16. ser r17 ;set register
  17. out DDRD,r17 ;port D jako vystup
  18.  
  19. clr r16 ;clear register
  20. out PORTD,r16 ;nastaveni nuly
  21.  
  22. ;nastaveni timeru 0
  23. ;běžím na 1MHz
  24.  
  25. ldi r16,250 ;Hodnota proti které porovnávám čítač, terý se přičítá s timer clock - pro nastavení 1MHZz/1024 to trva 1/4s
  26. out OCR0A,r16 ;
  27.  
  28. ldi r16,(2<<WGM00)
  29. out TCCR0A,r16 ; Timer mode = CTC (Clear Time on Compare Match)
  30.  
  31. ldi r16,0b00000101
  32. out TCCR0B,r16 ; Timer clock = system clock / 1024 - při 1Mhz je perioda timerclocku cca 1.024ms
  33.  
  34. ldi r17,(1<<OCIE0A)
  35. sts TIMSK0,r17 ; Enable Timer/Counter0 Compare Match A Interrupt
  36.  
  37.  
  38. ;nastaveni pin change interrupt
  39. ldi r16, 0b0000001
  40. sts PCICR,r16 ; povoleni pin change interrupt ze zdroju PCINT7..0 - portB
  41.  
  42. ldi r16, 0b00001111 ; povoleni interruptu ze spodnich 4 bitu portB
  43. sts PCMSK0,r16
  44.  
  45.  
  46.  
  47.  
  48. sei ;globalni povoleni int.
  49.  
  50.  
  51. start2:
  52. nop
  53. nop
  54. nop
  55. rjmp start2
  56.  
  57. PCI0: ;obsluha preruseni od tlacitka
  58.  
  59. ser r17 ;set register
  60. out PIND,r17 ;toggle vystupu/portD
  61.  
  62. ldi r17,0b00000000
  63. sts TCNT0, r17
  64.  
  65. ldi r16, 0b00000010
  66. sts TIMSK0,r16 ; Enable Timer/Counter0 Compare Match A Interrupt
  67.  
  68. reti
  69.  
  70. TIM0_COMPA: ;obsluha přerušení TIM0_COMPA
  71.  
  72. ser r17 ;set register
  73. out PIND,r17 ;toggle vystupu/portD
  74. reti
Add Comment
Please, Sign In to add comment