Advertisement
perjespersson

TIMERS

Jan 26th, 2019
558
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         .org $00
  2.         rjmp START
  3.         .org OVF1addr       ;Timer 1
  4.         rjmp BCD
  5.         .org OVF0addr       ;Timer 0
  6.         rjmp MUX
  7.        
  8.  
  9.  
  10. START:
  11.         ldi     r16,HIGH(RAMEND)
  12.         out     SPH,r16
  13.         ldi     r16,LOW(RAMEND)
  14.         out     SPL,r16
  15.  
  16. TIMER1:
  17.         ldi     r16,(1<<CS10)|(0<<CS11)
  18.         out     TCCR1B,r16
  19.  
  20. TIMER0:
  21.         ldi     r16,(1<<CS00)|(1<<CS01)
  22.         out     TCCR0,r16
  23.         ldi     r16,(1<<TOIE0)|(1<<TOIE1)       ;FÖR BÅDE TIMER1 OCH TIMER0
  24.         out     TIMSK,r16
  25.  
  26. RESET:
  27.         clr     r16
  28.         clr     r17
  29.         clr     r18
  30.         clr     r19
  31.         sei                     ;ENABLE INTERUPTS
  32.  
  33. PORT:
  34.         ldi     r16,$ff
  35.         out     DDRA,r16
  36.         ldi     r16,$ff
  37.         out     DDRB,r16
  38.  
  39.        
  40. DONE:
  41.         rjmp    DONE
  42.  
  43. BCD:   
  44.         inc     r18
  45.         out     PORTB,r18
  46.         reti
  47.  
  48. MUX:   
  49.         inc     r19
  50.         out     PORTA,r18
  51.         reti
  52.  
  53.  
  54.  
  55.  
  56. /*      BRA LÄNKAR
  57. http://maxembedded.com/2011/06/avr-timers-timer1/
  58. http://maxembedded.com/2011/06/avr-timers-timer0/
  59. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement