Du musst dir mal das Datenblatt von dem LCD Controller anschauen der in deinem Display sitzt, da steht das alles drin.
Bei meinem 4x20 LCD z.B. haben die Zeilen die Addressen 0x00, 0x20, 0x40 und 0x60.
Da das aber hexadezimale Zahlen sind bedeutet das, daß der "Abstand" nicht 20 sondern 32 ist, also 12 mehr als nötig.
(das muss aber nicht immer so sein)
Aber wie gesagt, im Datenblatt stehen die Addressen.
Und ja, beim 4-Bit Modus muss man je zweimal lesen bzw. schreiben.
Möchte man z.B. irgendwas ans Display senden, dann setzt man zuerst RS (falls nötig) und gibt die erste Hälfte (die oberen 4 Bit) der Daten an den Bus.
Damit das Display die Daten übernimmt muss man Enable kurz setzen und gleich wieder löschen. (also L-H-L)
Dann kommen die unteren 4 Bit, und wieder ein Impuls auf Enable.
Beim Lesen geht das ganz ähnlich:
Zuerst setzt man R/W dann setzt man Enable.
Das Display gibt jetzt die oberen 4-Bit auf den Bus, die man dann sinnvollerweise einlesen sollte.
Danach löscht man Enable wieder.
Die zweite Hälfte kriegt man genauso... also EN=H -> Daten einlesen -> EN=L
Lesezeichen