User manual

33
Adresse Befehl Daten Kommentar
03 6 9 A = AD1
04 C 1 Skip if A>B
05 9 8 Adr 08
06 1 F LEDs 1111
07 3 4 Adr 03
08 1 0 LEDs 0000
09 3 6 Adr 03
45 51 80 69 C1 98 1F 34 10 36
Listing 19: Einfacher Dämmerungsschalter
Testen Sie das Programm, indem Sie den Lichtsensor mit der Hand mehr oder weniger abschatten. Sie wer-
den feststellen, dass die Grundfunktion erfüllt ist. Allerdings kommt es meist zu einem unschönen Neben-
effekt. Genau an der Grenze zwischen An und Aus blinken die LEDs unkontrolliert. Vor allem bei Kunstlicht
schwankt die Helligkeit in schneller Folge um einen gewissen Mittelwert. Dieses Flackern wird zwar vom
Programm korrekt ausgewertet, das Ergebnis ist aber nicht so, wie man es von einem Dämmerungsschalter
erwartet. Einen verbesserten Dämmerungsschalter zeigt das Kapitel 18.
16 AND, OR und XOR
Zwei binäre Zustände lassen sich zu einem neuen Zustand verknüpfen. Ein Beispiel ist die UND-Funktion:
Wenn Bit 1 den Zustand 1 hat UND Bit 2 den Zustand 1, wird der Ausgangszustand ebenfalls 1. Auch Binär-
zahlen mit mehren Bits lassen sich auf diese Weise verknüpfen. Die Verknüpfung »10 AND 3 = 2« wird
verständlich, wenn man sie in Binärzahlen schreibt:
1010 AND
0011 =
0010
Das folgende Programm verknüpft die Eingangszustände mit der konstanten Zahl 3. Die AND-Funktion
bewirkt dabei praktisch, dass die beiden unteren Bits maskiert (herausgefiltert) werden. Im Ruhezustand hat
der Eingangs-Port den Zustand 1111. Die UND-Verknüpfung mit 0011 liefert dann den Zustand 0011 an den
LEDs. Legt man jedoch einen der Eingänge E1 oder E2 an GND, wird der 0-Zustand auch an den Ausgängen
sichtbar. Änderungen an E3 und E4 haben keine Auswirkungen.
Adresse Befehl Daten Kommentar
00 6 4 A = Din
01 5 1 B = A
02 4 3 A = 3