Forum: Mikrocontroller und Digitale Elektronik Frage zu HD44780-Displays und Number of Lines-Bit


von Ralf (Gast)


Lesenswert?

Hallo,

ich versuch grad den Zusammenhang zwischen der Anzahl der Linien eines 
HD44780-Displays und dem Zustand des Number-of-Lines-Bits beim 
FunctionSet-Kommando zu verstehen.

Es gibt ja ein-, zwei- und vierzeilige Displays mit je 16 oder 20 
Stellen (in seltenen Ausnahmefällen auch 40stellig.

Wie muss ich denn jetzt das Number-of-Lines-Bit setzen für die einzelnen 
Displays setzen? Wäre folgende Tabelle korrekt?

Display NoL-Bit
1x16    0
1x20    0
2x16    0
2x20    0
4x16    1
4x20    1

Ich gehe davon aus, dass ich das NoL-Bit nur dann setzen muss, wenn das 
Display mehr als sichtbare Stellen hat, ist das korrekt?

Danke

Ralf

von Michael U. (amiga)


Lesenswert?

Hallo,

bei einer Zeile auf eine Zeile außer der Hersteller hatte die Idee, ein 
1x16 intern als 2x8 zu organisieren, dann eben als 2-zeilig...
Theoretisch kann auch ein Hersteller ein 2x20 als 1x40 oder ein 4x20 als 
1x 80 organisieren... Zuständig dafür sind die auf dem konkreten Display 
benutzten Treiber.

Will sagen: es gibt nur eine Regel, die immer stimmt: das Datenblatt des 
konkreten Displays in genau dieser Bauart.

Gleiches trifft auf die Adressenzuordnung im Displayram zu: es gibt eine 
übliche und diverse Abweichnungen davon...

Gruß aus Berlin
Michael

von Benedikt K. (benedikt)


Lesenswert?

Wie Michael U. schon schrieb: Es gibt ab und zu Ausnahmen, weit 
verbreitet ist aber, dass außer 1x8 alles zweizeilig ist.

von R. W. (quakeman)


Lesenswert?

Also ich habe bisher bei 1x16 und 2x16 und 2x40 Zeichen Displays das 
"Number of Lines" Bit nie benutzt und es hat bisher immer problemlos 
funktioniert.

Im Endeffekt gibt es intern 80 Byte Ram, welches für die Anzeige 
zuständig ist und du musst eben nur beachten, welche Stelle im internen 
Ram für welche Stelle in welcher Zeile des Displays zuständig ist. Mir 
ist nicht bekannt, daß man bei irgend welchen HD44780 kompatiblen 
Displays in der Programmierung dem Displaycontroller quasi die Anzahl 
der Zeilen mitteilen müsste. ;)

Ciao,
     Rainer

von Benedikt K. (benedikt)


Lesenswert?

Fox Mulder wrote:
> Mir
> ist nicht bekannt, daß man bei irgend welchen HD44780 kompatiblen
> Displays in der Programmierung dem Displaycontroller quasi die Anzahl
> der Zeilen mitteilen müsste. ;)

Dann solltest du vielleicht mal anfangen das Datenblatt zu lesen...

Wenn das Bit nicht gesetzt ist, steuert der 44780 das Display mit Mux 
1/8 an. Wenn es gesetzt ist mit 1/16. Das ist genau der Effekt, wenn 
z.B. bei einem 2x16 Display nach dem einschalten die erste Zeile 
komplett dunkel ist.
Ohne dieses gesetzte Bit wird keine zweite Zeile angezeigt.

von R. W. (quakeman)


Lesenswert?

Benedikt K. wrote:
> Dann solltest du vielleicht mal anfangen das Datenblatt zu lesen...

Ok ok, du hast natürlich Recht.
Ich habe mir eben noch mal den Quellcode eines Beispiels von mir 
angeschaut und gesehen, daß ich das Bit doch setze. 0 für eine Zeile und 
1 für zwei Zeilen.
Habe es vorhin wohl beim Überfliegen übersehen. :)

von Ralf (Gast)


Lesenswert?

Hallo,

vielen Dank für eure Antworten.

Würde eigentlich irgendwas schiefgehen, wenn man das NoL-Bit immer 
setzt? Dürfte dann doch theoretisch keine Auswirkungen haben, oder?

Ralf

von Benedikt K. (benedikt)


Lesenswert?

An sich sollte das nicht stören. Nur bei 1x8 Displays ist der Kontrast 
etwas schlechter.

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.