Hallo CapSob,

Dein Prog hat noch ganz andere Probleme.
Ab "Blinkenl:" ist das ja eine Interrupt-Routine. Die muss mit Return (1x reicht) beendet werden und möglichst kurz sein. Man sollte in einer ISR nur z.B. ein Flag setzen, dass der Taster gedrückt wurde. Dieses Flag fragt man dann im Hauptprogramm ab.
In der ISR darf man nicht verzögern (Wait) oder in einer DO-LOOP-Schleife auf ein anderes Ereignis warten.

Gruß Dirk