Hmm,

das hatte ich wohl versehendlich gelöscht beim testen. Das Programm wird immer noch nicht weiter abgearbeitet wenn ein Impuls anliegt.
Code sieht jetzt so aus:
Code:
//Einbinden der Funktionen aus den anderen Dateien
extern void init_digital (void);
extern void init_timer(void);
extern void init_interrupt(void);
extern void lcd_writetext(char *text);
extern void lcd_ini(void);
extern void lcd_gotopos (uint8_t zeile, uint8_t spalte);


//Globale Variable
volatile int Zaehler;
volatile int Zaehler2;
volatile int start;
volatile int stop;
volatile int impuls;
volatile int flanke;
volatile int z1;
volatile char impuls1;
volatile char z11;
  
int main(void)
//Hauptprogremm
{
//Variablen der Steuerwelle 0 bis Reset
 int LED1 = 0; 
 int LED2 = 250;
 //int LED3 = 50;
 //int LED4 = 100;
 //int LED5 = 0;
 //int LED6 = 0;
 //int LED7 = 0;
 //int LED8 = 0;
 //int LED9 = 0;
 //int LED10 = 0;
 //int LED11 = 0;
 int test = 300;
 int Reset = 500;
// Ende LED Steuerwellenvorgabe 
 
  init_digital();         // Ports initialisieren (eigene Funktion)
  init_timer();           // Timer initialisieren (eigene Funktion)
  init_interrupt();
  lcd_ini();
  
  flanke = 1; //Flankenmerker
  z1 = 0;
  
 sei(); //Interupts aktivieren

while(1)
 {
if (Zaehler2 == test) 
{
 impuls = stop - start;
 itoa(impuls, impuls1,10);
 itoa(z1, z11,10);
 lcd_gotopos(2,1);
 lcd_writetext("Impd: " +impuls1);
 lcd_gotopos(3,1);
 lcd_writetext(z11);
}

 if (PIND & (1<<PIND5))
  {
   PORTC |= (1<<PC5); //Bit1 auf High setzen 
  }
   
 
// Blaulicht (Blitzer) Transistor T1
  
  if (Zaehler == LED1)
  {
   PORTB |= (1<<PB1); //Bit1 auf High setzen
  }
  
  if (Zaehler == LED1 + 50)
  {
   PORTB &= ~(1<<PB1); //Bit1 auf Low setzen
  }
  
  if (Zaehler == LED1 + 120)
  {
   PORTB |= (1<<PB1); //Bit1 auf High setzen
  }
  
  if (Zaehler == LED1 + 170)
  {
   PORTB &= ~(1<<PB1); //Bit1 auf Low setzen
  }
  
//ENDE Blaulicht (Blitzer) Transistor T1

//****************************************************************************
  
// Blaulicht (Blitzer) Transistor T2

  if (Zaehler == LED2)
  {
   PORTB |= (1<<PB2); //Bit2 auf High setzen
  }
  
  if (Zaehler == LED2 + 50)
  {
   PORTB &= ~(1<<PB2); //Bit2 auf Low setzen
  }
  
  if (Zaehler == LED2 + 120)
  {
   PORTB |= (1<<PB2); //Bit2 auf High setzen
  }
  
  if (Zaehler == LED2 + 170)
  {
   PORTB &= ~(1<<PB2); //Bit2 auf Low setzen   
  }
//ENDE Blaulicht (Blitzer) Transistor T2


//Zähler Reset  
  if (Zaehler >= Reset)
  {
   Zaehler = 0;
  }  
  
//Zähler2 Reset  
  if (Zaehler2 >= Reset)
  {
   Zaehler2 = 0;
  }  
//****************************************************************************
  
  if (!(PIND & (1<<PIND5)))
  {
   PORTC &= ~(1<<PC5);
  }
 } //while

} //ENDE main


ISR(TIMER0_OVF_vect)
//Interrupt bei Timer0 Overflow
{
 Zaehler++;
 Zaehler2++;
}


ISR(INT0_vect)
{
 if (flanke == 1)
  {
   start = TCNT1;
   MCUCR |= (1<<ISC01); //INT0 auf fallende Flanke stellen
   flanke = 0;
  }
 
 if (flanke == 0)
  {
   stop = TCNT1;
   MCUCR |= (1<<ISC00) | (1<<ISC01); //INT0 auf Steigende Flanke stellen (Löst Interrupt bei steigendet Flanke an INT0 aus
   flanke = 1;
   z1++;  
  } 
}