In der vergangenen Folge haben wir uns Bedingungen und Vergleiche angeschaut.
Dies können wir nun für die bedingten Anweisungen gut gebrauchen.
Eine bedingte Anweisung nötigt den Mikrocontroller dazu, wie der Name schon sagt, abhängig von bestimmten Bedingungen gewünschte Anweisungen durchzuführen.
Dies kann man beispielsweise bei Steuerungsaufgaben dazu nutzen, um auf Anforderung ein Transportband zu starten und bei Erreichen einer Endbedingung, wie z.B. einer Lichtschranke wieder zu stoppen.
Solchen Aufgaben, die man mit bedingten Anweisungen lösen kann, begegnet man regelmäßig in der Steuerungstechnik.
Die Struktur der bedingten Anweisung
Die Struktur sieht dabei folgendermaßen aus:
if ( Bedingung )
{ Anweisungen 1 }
else
{ Anweisungen 2 }
Erweiterung der bedingten Anweisung mit else
Mit else if kann die Bedingte Anweisung noch weiter geschachtelt werden:
if ( Bedingung1 )
{ Anweisungen 1}
else if ( Bedingung2 )
{ Anweisungen 2 }
else
{ Anweisungen 3 }
Im Video zeige ich wie man das Beispiel aus der vorletzten Folge umsetzt und erweitert.
Nun bist Du wieder an der Reihe
Es soll eine Anzeigensteuerung für einen chemischen Prozess realisiert werden.
Zentrale Komponente des Prozesses ist ein Kessel, in dem eine Flüssigkeit erhitzt wird. Kritisch bei dem vorliegenden Prozess ist
- die Temperatur T der Flüssigkeit und
- der Druck P
Über die serielle Schnittstelle soll ausgegeben werden, ob
- die Temperatur zu hoch ist,
- der Druck zu hoch ist,
- Temperatur und Druck zu hoch ist, oder
- alles OK ist
Über den Port P1 wird die Information über den Zustand des Kessels zur Verfügung gestellt.
Das niederwertigste Bit wird gesetzt, falls die Temperatur zu hoch ist,
das nächste Bit wird gesetzt, falls der Druck zu hoch ist.
Es gibt also folgende Möglichkeiten
00000001 T zu hoch
00000010 P zu hoch
00000011 P und T zu hoch
00000000 Alles OK.
Die Ausgabe soll also wie im folgenden Video gezeigt aussehen.
Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]