Forum: Mikrocontroller und Digitale Elektronik HD44780: Woher kommt die Verschiebung der Displaypositionen?


von Ralf (Gast)


Lesenswert?

Hi,

das ist vielleicht schon gefragt worden, aber ich find dazu nix. Kann 
mir jemand erklären, woher die Verschiebung der Positionen kommt? Also 
z.B. bei einem 4x20 Display, dass die erste Zeile bei Adresse/Position 
0x00 beginnt, die zweite bei 0x40, die dritte bei 0x14 und die vierte 
bei 0x54.

Ist das aus hardwaretechnischen Gründen so gemacht worden?

Ralf

von Bernhard M. (boregard)


Lesenswert?

Hmmm ... reine Vermutung....

Ich weiß nicht, wie lange es die HD44780 schon gibt, aber vor ~ 20 
Jahren kannte ich davon nur ein - und zweizeilige Displays, eben erste 
Zeile an 0x00 und zweite Zeile and 0x40, maximale Displaygröße 2x40.

Wenn man jetzt einfach die zweite Hälfte der ersten Zeile beim Display 
selbst als dritte, und die Zweite Hälfte der zweiten Zeile als vierte 
Zeile anlegt (also nur auf dem Glas...), dann kommt genau das jetzige 
Adressierungsschema heraus....
..und vielleicht ist dies auch die "Evolution" der Displays gewesen...

von Benedikt K. (benedikt)


Lesenswert?

Bernhard M. wrote:

> Wenn man jetzt einfach die zweite Hälfte der ersten Zeile beim Display
> selbst als dritte, und die Zweite Hälfte der zweiten Zeile als vierte
> Zeile anlegt (also nur auf dem Glas...), dann kommt genau das jetzige
> Adressierungsschema heraus....

Fast genau richtig, nur das mit der Hälfte passt nicht: Der 44780 hat 80 
Bytes an RAM, kann also maximal 2x 40 Zeilen ansprechen.
Diese 2 Zeilen sind gleichmäßig auf 128 Bytes verteilt, beginnen also 
bei 0 und bei 64 (0x40).
Elektrisch gesehen sind alle 4 zeiligen Display 2 Zeiler. Die 3 Zeile 
ist eine Fortsetzung der 1. Zeile und die 4. Zeile von der 2. Zeile.
Daher beginnt die 3. Zeile auch bei Adresse 20 (0x14) bei einem 4x20 
Display und bei Adresse 16 (0x10) bei einem 4x16 Display. Bei Zeile 4 
ist es genauso: Diese beginnt bei 84 (0x54) bzw 80 (0x50).

von Bernhard M. (boregard)


Lesenswert?

Ja, ich ging bei der Hälfte von den 80 Bytes RAM aus, hätte ich wohl 
noch schreiben sollen...

von Guido Körber (Gast)


Lesenswert?

Den HD44780 gibt es seit etwa 30 Jahren. Die Originalchips haben nur die 
Treiber für 2x8 Zeichen gehabt und die Daten für die restlichen 
Positionen seriell an kaskadierbare Schieberegister mit LCD Treiber 
weitergegeben (die Chipvariante gibt es heute noch). Der HD44780 weiss 
also nicht wie das Display wirklich aufgebaut ist, sondern schiebt die 
Daten einfach raus. Daher ist die Verteilung des Speichers auf die 
Zeilen fest vorgegeben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.