Hallo Sebi,
falls der Prozessor keine anderen Aufgaben hat,
reicht wohl eine Lösung mit Delay.
Dann müsste man
- das Delay als Subroutine anlegen
1. Die Ports initialisieren
2. In einer Endlosschleife
-ersten Ausgang setzen
-Delay aurufen
-ersten Ausgang zurücksetzen
-zweiten Ausgang setzen
- Delay aufrufen
...
- letzen Ausgang setzen
- Delay aufrufen
- letzten Ausgang zurücksetzen
3. zum Anfang der Schleife springen.
Eleganter ist eine Lösung mit Timer und Interrupt.
Dazu einen Timer laden (wenn es Taktfrequenz und
Vorteiler zulassen mit einem Wert für eine Sekunde.
(t=Taktperiode Timereingang Vorteiler Ladewert)
Bei jedem Interrupt den Nächsten Ausgang ansteuern
und den Timer nachladen.
Hat der Timer eine kürzere max.Periode,(z.B 0,2sec) einfach
im Interrupt eine Variable hochzählen,
Im Hauptprogramm den nächsten Ausgang ansteuern,
wenn diese Variable einen bestimmten Wert erreicht(z.B.5)hat
und diese Variable löschen.
Gruss
Digger