#include <avr/io.h>
#include <util/delay.h>

 int main(void) 
   {
           unsigned char a;
                  a=0;
           DDRB = (1<<PINB0);     //PB0 kimenet
                 |(~(1<<PINB1));  //PB1 bemenet
 
             GTCCR = 0x00; 
           TCCR0A = (1<<COM0A1)
                   | (1<<COM0A0)    
                   | (0<<WGM02)
                   | (1<<WGM01)
                   | (1<<WGM00);    

           TCCR0B =  (0<<CS02)
                   | (1<<CS01)
                   | (1<<CS00);        
       
             TCNT0 = 0;    
             OCR0A = 0; 
 
       for(;;)
          {
           if(!(PINB&(1<<PB1))) 
                    {
                   a++;
                  _delay_ms(60);   //az esetleges prell miatt
                    }
              if(a==0) {OCR0A=0;}  //0%-os kitöltés
              if(a==1) {OCR0A=77;} //30%-os kitöltés
              if(a==2) {OCR0A=153;} //60%-os kitöltés
              if(a==3) {OCR0A=230;} //90%-os kitöltés
              if(a==4) {a=0;}       //visszaugrunk 0%-os kitöltésre
           }
 return 0;
 } 