Hallo Tobias,

dein Unterprog Ledcount: ist ja eigentlich eine ISR, also eine Interruptroutine. Da drin darfst du sowieso keine Pause einbauen, weil - wie du auch gesagt hast - ja dann alles blockiert wird.
Eine ISR sollte so schnell wie möglich ablaufen, damit das Hauptprogramm nicht unterbrochen wird.

Die Logik wäre also Folgende:
In der ISR erzeugst du nur einen "Takt" (z.B. als Zähler, der hochgezählt wird oder als Flag, das immer in der ISR 1 wird und im Hauptprogramm wieder gelöscht wird,- da gibt es mehrere Möglichkeiten.)
Das eigentliche Ein-/Ausschalten von LEDs o.ä. geschieht im Hauptprogramm, aber getriggert von dem Takt der ISR.
Wenn deine ISR z.B. einen Takt von 10 Hz (10x / Sek.) vorgibt, dann kann im Hauptprogramm z.B. bei jedem 10. Takt eine LED ein- oder ausgeschaltet werden, ...

Also: Programm umstricken wird empfohlen.

Gruß Dirk