Bei einem Projekt hatte ich eine ähnliche Vorgabe, nämlich Daten "Rauszuschieben" und das in einer von mir gewählten Geschwindigkeit. Ich habe dazu Bytes mit den SHIFT-Befehl (BASCOM) verschoben und auf einen als Ausgang definierten Port geschrieben. Hat für eine Zwecke total gereicht und funktioniert. Übrigens auch mit einem ATmega8. Für Deine Zwecke brauchst Du warscheinlich, wenn Du diesen Weg nehmen würdest, einen ATmega16 wegen der Anzahl der Ausgänge. VG Micha