Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Arbeitsauftrag: IF-THEN

An einem ziemlich einfachen Beispiel lernt ihr hier kennen, wie man den Ablauf eines Programmes verändern kann, wenn sich der Wert eines Inputs bzw. der dazu gehörenden Pin-Variable verändert.

Das Beispiel verwendet als Eingang den Port 2, an den z.B. einfach nur ein Kabel angeschlossen ist, das sich leicht mit VDD oder VSS verbinden lässt. Man könnte hier auch einen Wechseltaster oder Umschalter verwenden. Wenn Port 2 high ist, also PIN2=1, soll der Text „Port 2 high“ gesendet werden, sonst wird immer wieder der Satz „Port 2 low“ gesendet. Dabei hilft eine neue und besonders wichtige Anweisung: IF Bedingung THEN Stelle.

Wenn die Bedingung , zum Beispiel eine Gleichung, erfüllt ist, wird das Programm an der angegebenen Stelle fortgesetzt. Ansonsten geht es einfach mit der nächsten Zeile weiter. Dies zeigt nun auch das Beispiel:

if-then

Schaltbild Aufgabe 18.1 :
a) Überlegt euch genau, wann welche Zeilen in obigem Beispiel ausgeführt werden und wie das Programm bei PIN2 high bzw. low abläuft.
b) Verwendet die Lichtschranke am Eingang Port 2 und schließt zwei Leuchtdioden an zwei weitere Ports an. Schreibt ein Programm, das immer, wenn Port 2 high ist, nur die eine Leuchtdiode leuchten lässt, immer wenn Port 2 low ist, nur die andere.
c) Wenn ihr nur ein einfaches, offen stehendes Kabel an Stelle der Lichtschranke an Port 2 verwendet, ist es zufällig, welche LED leuchtet. In der Nähe (nicht anschließen) von Wechselstromkabeln ändert sich der Wert laufend. Es scheint dann so als würden beide LEDs leuchten. So funktionieren auch Kabelfinder für Bauarbeiter und Handwerker.

Beispiele für Bedingungen :
Als Bedingungen kann man auch Ungleichungen mit >, <, >= (größer oder gleich), <=, <> (ungleich) verwenden. Wenn man eine Variable verwendet, sollte sie links stehen. Bsp: IF B3=100 THEN IF B2>20 THEN IF PIN4<>0 THEN

Man kann auch zwei Bedingungen mit Hilfe von AND und OR verknüpfen. Beispiele:
IF PIN1=1 AND PIN2=0 THEN … springt nur, wenn sowohl der erste als auch der zweite Teil wahr sind. Es muss also PIN1 1 und PIN2 0 sein.
IF PIN1=1 OR PIN2=0 THEN … springt, wenn einer der beiden Teile erfüllt ist - oder sogar beide.