Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .ORG 0x0
  2.     jmp MAIN
  3. .ORG 0x1C
  4.     jmp TIMER0_COMPA
  5. .ORG 0x1E
  6.     jmp TIMER0_COMPB
  7.  
  8.  
  9. ; 16 MHz / 1024 (prescaler) = 15625 Hz clock   
  10. ; 15625 Hz / 100 Hz = 156.25 value for period
  11. ; 15625 Hz / 1000 Hz = 16 value for period
  12.  
  13.  
  14.  
  15. MAIN:
  16.     LDI R20,HIGH(RaMEND)
  17.     OUT SPH,R20
  18.     LDI R20,LOW(RAMEND)
  19.     OUT SPL,R20
  20.     sbi DDRB,1
  21.  
  22.     ldi r20,16
  23.     out OCR0A,r20
  24.  
  25.     ldi r20,10
  26.     out OCR0b,r20
  27.  
  28.     LDI r20,(1<<WGM01)
  29.     OUT TCCR0A,r20
  30.     ldi r20,0b00000101;0x01
  31.     out TCCR0B,R20
  32.     LDI r20,(1<<OCIE0A | 1<<OCIE0B)
  33.     sts TIMSK0,r20
  34.     SEI
  35.  
  36.     LDI r20,0x00
  37.     out DDRC,r20
  38.     LDI r20,0xff
  39.     out DDRD,r20
  40.  
  41. HERE:
  42. nop
  43. nop
  44. jmp HERE
  45.  
  46. TIMER0_COMPA:
  47.         in  r16, PORTB
  48.         sbr r16, 0b00000010
  49.         out PORTB, r16
  50.         reti
  51.  
  52. TIMER0_COMPB:
  53.    
  54.         in  r16, PORTB
  55.         cbr r16, 0b00000010
  56.         out PORTB, r16
  57.         reti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement