Fuzzy schrieb:
> LCD_DB ist ja PD0
Und, welchen Wert hat PD0?
0.
4 - PD0 ist also ... 4.
Der Grund für diese etwas arg kryptische Schreibweise ist der, daß es
ohne Veränderung der Funktion auch möglich ist, die Datenleitung 4 des
Displays an einen anderen Pin des µC anzuschließen.
Das Display wird im 4-Bit-Modus angesteuert, die vier genutzten
Datenleitungen des Displays werden an vier aufeinanderfolgenden Portbits
beginnend bei LCD_DB angelegt.
Im Beispiel werden die vier Datenleitungen mit PortD.0 bis PortD.3
verbunden, es sollen aber die oberen vier Bit des an die Funktion
lcd_out übergebenen Wertes ausgegeben werden.
Also muss um vier Bits nach rechts geschoben werden, damit diese Bits an
den richtigen Positionen von PortD erscheinen.
Würde nun das Display aber nicht an PortD.0 bis PortD.3 angeschlossen,
sondern z.B. an PortD.2 bis PortD.5, müsste nicht um vier Bits nach
rechts geschoben werden, sondern nur um zwei Bits.
Und genau diese Unterscheidung ergibt sich mit der Differenz "4 -
LCD_DB", denn das wäre dann ja als PD2 mit dem Wert 2 definiert.
Wird's klarer?