#include <avr/io.h>
#include <avr/interrupt.h>

int main(){          // Hauptprogramm
  PORTB = 0xff;
  DDRB = 0xff;
  TCCR0A |= 1<<WGM01; // Timer im CTC-Mode
  TCCR0B |= 5; // Vorteiler 1: Phi/1; 2: Phi/8; 3: Phi/64; 4: Phi/256; 5: Phi/1024
  TIMSK |= 1<<OCIE0A; // Timer/Counter0 Output Compare Match A Interrupt Enable
  OCR0A = 243; // Wert bei dem der Timer wieder auf 0 gesetzt wird
  sei();             // globale Interruptfreigabe
  while(1);          // Endlosschleife
  return 0;
}

ISR(TIMER0_COMPA_vect){ // Interrupt Service Routine
  PORTB ^= 1;           // Ausgang PB0 invertieren (PINB = 1)
}