Advertisement
miszczo

[AVR] ATtiny 13 hardware PWM

Aug 12th, 2013
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1.  
  2.      
  3.     //miszczo
  4.      
  5.     #include <avr/io.h>
  6.     #include <avr/interrupt.h>
  7.     #include  <util/delay.h>
  8.      
  9.     int main(void)
  10.      
  11.     {
  12.             DDRB = (1<<PB0)|(1<<PB1)|(1<<PB2)|(1<<PB3); //pb jako wyjscia
  13.      
  14.             TCCR0A = (1<<WGM00)|(1<<WGM01); //fast pwm
  15.             TCCR0A = (1<<COM0A1)|(COM0B1); // Clear OC0A on Compare Match, set OC0A at TOP
  16.             TCCR0B = (1<<CS00); //preskaler w1
  17.             TIMSK0 = (1<<OCIE0A)|(1<<OCIE0B);
  18.             OCR0A=1;
  19.                OCR0B=1;
  20.      
  21.             uint8_t i;
  22.             while(1)
  23.             {
  24.                     for(i=0;i<255;i++)
  25.                     {
  26.                             OCR0A=i;
  27.                             OCR0B=i;
  28.                             if(i>50)_delay_ms(3);
  29.                             else _delay_ms(10);
  30.                     }
  31.                     for(i=255;i;i--)
  32.                     {
  33.                             OCR0A=i;
  34.                             OCR0B=i;
  35.                             if(i>50)_delay_ms(3);
  36.                             else _delay_ms(10);
  37.      
  38.                     }
  39.      
  40.             }
  41.      
  42.      
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement