Hallo

Mit dem |= wird das Bit zusätzlich zu den eventuell bestehenden gesetzt, nur mit = würden alle anderen Bits gelöscht.

Der Grund, warum die BackLEDs mit dem Löschen der Daten- und Datenrichtungsregister nicht ausgeht, ist folgender:

Wenn alle Pins hochohmige Eingänge (ohne PullUp) sind, fließt ein geringer Strom von Vcc über R18-D15-R19 bwz. R20-D16-R21 nach IC1-Pin13(PD7) und von dort weiter über R22-D13-D14 (die Odo-LEDs) nach GND. Wenn nun der IC1-Pin13 als Ausgang geschaltet und der Ausgang gesetzt wird, liegt der Pin auf Vcc und es fließt kein Strom mehr über die BackLEDs. Allerdings leuchten dann unsichtbar die Odo-LEDs hell.

Gruß

mic