eigentlich müsste es ja mit cli(); und sei(); funktionieren. "eigentlich" weil ich das grade nicht testen kann.

geht sicher geschickter, aber wie wäre das hier:
Code:
ISR (TIMER1_COMPB_vect) 
{ 
  if(PINA==1&&A==0x14)
  {
    A=0;
  }

  if(A<0x14)
  {
    if(A==0x00)  
    { 
      PORTB=0x05; // könnte man dort einfügen, wo A auf 0 gesetzt wird 
    } 
    
    if(A==0x01)
    { 
      PORTB=0x00; 
    } 

    if(A==0x0A)
    { 
      PORTB=0x0A; 
    } 

    if(A==0x0B)
    { 
      PORTB=0x00; 
    } 
    A=A++; 
    OCR1B=TCNT1+Delai; 
  }
}
der zähler bleibt bei 0x14 stehen, und beginnt erst wieder von 0 aufwärts zu zählen, wenn PINA=1 ist.