mikrocontroller.net

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


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

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

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht 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. :)

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.