8051 Mikrocontroller
Lauflicht rechts/links umschaltbar mit Zeitschleife
Die Aufgabe:
Ein Bit soll am Port 4 (beginnend an der 1. Stelle) wahlweise nach links bzw. rechts verschoben werden.
Ob links oder rechts, soll am Port 7 eingestellt werden können.
Links = wenn am Port 7 = 0
Rechts = wenn am Port 7 alles andere als 0
Das Bit soll mit einer sichtbaren Frequenz ca.500ms bittweise nach links oder rechts verschoben werden. Wir nutzen die bereits bekannten Befehle RL [Rotate Left] usw.
Dazu wird eine Zeitschleife benötigt. Die Zeitschleife wird durch die Befehlszykluszeiten (Zeit für die Ausführung eines Befehls mit 1 Byte) der CPU erzeugt.
Durch die Schleife wird ein künstliches Zeitfenster erzeugt.
In Keil uVision mit F5 (run) starten.
Achtung! Sollte sich der Watchdog melden (Watchdog Timer Reset occured) müssen Sie diesen unter Peripherie/Timer/Watchdog deaktivieren.
Der unten stehende Programmcode ist selbsterklärend.
Die Zeitschleife im Ablaufdiagramm
Programmbeispiel 1:
In diesem Programmbeispiel wird die Zeitschleife zu rasch durchlaufen werden.
Ein zusätzlicher Ausbau durch ein weiteres Register sollte nun aber kein Problem mehr darstellen.
Programmbeispiel 2 mit erweiteter Zeitschleife: