Ich dachte so in etwas könnte das aussehen:

Code:
#include <avr/io.h>
#include <inttypes.h>
#include <stdint.h>
#define F_CPU 8000000  // 8 MHz

 
	 
void init_timer(void){
 for(;;){  //Endlosschleife
    TCCR0 |= (1<<CS00)|(1<<CS02); //Teilung 1024 des Taktes
 if(TCNT0==255){ // alle 255 soll i eine Zahl erhöt werden
    i=i++;} 
 }
} 
int main(void){ 
	 DDRB  &= (~ (1<<PB0));  /* Pin PB0 als Eingang */
     PORTB |= (1<<PB0);    /* Pull Up von PIN B0 aktivieren */ 
     DDRB   = (1<<DDB1);  // PB1 Ausgänge
     int i;
	 i=0;

 
while(1){
  if (!( PINB & (1<<PINB0))) {    /* mache was wenn PinB0 low ist */
  
    init_timer(); // Timer starten
	
  if (i < 6){  /* Wenn länger als ca.6 sec Taster gedrückt, dann aus */
       PORTB|=(1<<PB1);    // high 
    	}
   else{ 
       PORTB&= ~(1<<PB1);  // low  
	TCNT0=0; // Timer zurück setzten   
        }  
    }
} 
return 0;
}