Hallo,
sind a und z da um die Taste zu entprellen ?
Sowas macht man direkt in der Timer Overflow ISR.
ich benutze z.B. folgenden Code:

Code:
 static uint8_t status_taste = 0;
 tastenport = PINB;
      if (!(tastenport & (1<<TASTE))) { 
            if (!status_taste){
            modus =~modus;
            status_taste = 1;
            } 
       } else status_taste = 0;
modus ist als volatile deklariert und wird bei jedem Tastendruck umgedreht.

Den code habe ich in der ISR und modus wird in der main ausgewertet.

Vielleicht hilft es Dir...

P.S.
ISR(TIMER0_OVF_vect);
die brauchst Du nicht zu deklarieren.
(!(1<<CS02))


Gruß Sebastian