nen Dekoder verwenden ist auch nicht verkehrt, nur eben
nicht 3 davon, das brauchts nicht und das Routing ist einfacher.
Ich hab erst n Projekt mit 5 Stück 16-Segment Anzeigen gemacht,
das läuft ohne Probleme beim Timing ohne Flackern oder
Hänger.
Ich hab einfach nen Timer verwendet, der zyklisch 1-5 hochzählt,
und dann immer ein Segemnt weiter schaltet und die jeweiligen
Signale an die Segmentanzeige schickt.
Mein Mega128 läuft auf ~12.280 MHz, reicht vom Timing her
locker aus.

Was ist den an dem Code unklar?

Lass ihn mal in Deinem Simulator vom Bascom laufen
und dir dabei die Variableninhalte anzeigen, dann wirds eventuell
klarer.