Frage zu HD44780-Displays und Number of Lines-Bit

Gast #890435
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
#890458
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
#890487
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
#890505
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.
#890507
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. :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren