Und wenn du das simuliert hättest dann müsstest du auch wissen das solange du die Taste drückst das dieser Teil:
while(PIND & T1)
if(PORTD & LED1)

{

PORTD &= ~LED1;
}
else
{

PORTD |= LED1;
}
nicht verlassen wird solange du die Taste gedrückt hältst und somit sich auch im Rest des Progs nichts tut.
Ausserdem flimmert die LED in der Zeit.
Hubert