LCD: 2 von 4 Zeilen kaputt?

Gast #148583
Hallo  zusammen!

Bei meinem 4x20-Zeichen-Display werden beim Start nur die 1. und 3.
Zeile mit Strom versorgt (d.h. grau hinterlegt).
In diese Zeilen kann ich problemlos schreiben und in ihnen den Cursor
verschieben. Wenn ich allerdings in die 2. bzw. 4. Zeile springen
möchte (ab Adresse 0x40), um sie zu beschreiben, "verschwindet" der
Cursor im Nichts und nichts passiert.
Muss ich diese Zeilen erst "aktivieren" (2-Line-Modus habe ich
eingestellt) oder muss ich damit rechnen, dass das Display bzw. der
Controller für diese Zeilen kaputt ist?

MfG
Christoph
Gast
Das beim Initialisieren nur die erste und dritte Zeile grau hinterlegt
wird ist normal..Du musst beachten das 4 Zeilen Displays 2 Controller
besitzen !!!!! Jeder Controller ist für 2 Zeilen zuständig und du musst
zwischen beiden mittels der richtigen Adressierung hin und her
wechseln...Schau dir mal das Datenblatt genau an..
Gast
Erstmal danke für die schnelle Antwort!

So wie ich es im Datenblatt verstehe, funktioniert das Springen in die
2. bzw. 4. Zeile genauso wie das in die 1. bzw. 3. Zeile nur eben mit
anderen Adressen: Sie beginnen bei 0x40 statt bei 0x00. Gibt es
vielleicht einen Steuerbefehl, um zwischen den Controllern
umzuschalten?

Das Datenblatt: http://www.farnell.com/datasheets/51113.pdf
Gast
Das "umschalten" geschieht automatisch durch Adressierung.
Du musst zu den angebenen Adressen immer 128 dazu addieren...
Hier mal die Adressen für die jeweils 1. Position der Zeilen:

line1      =0x80
line2      =0xC0
line3      =0x94
line4      =0xD4
Gast
Das sieht danach aus, als ob die Initialisierung des 2-Line-Modus nicht
funktioniert hat. Am Anfang eventuell mehrmals initialisieren kann
helfen. Manche Displays sind da garstig...

Sven
Gast
Das addieren der 128 entspricht einem setzen von DB7 auf 1, richtig?
Ich  bin bei 0x40 usw. nur von DB0-DB6 ausgegangen und habe DB7 sowieso
auf 1 gesetzt (zum Setzen der DDRAM address eben).

Wie sieht das "Umschalten" eigentlich aus? Werden plötzlich die
komplette 2. und 4. Zeile mit Strom versorgt und dunkel hinterlegt oder
nur die entsprechenden Zeichen?
Gast
ja richtig das DB7 muss gesetzt sein. vergiss das mit dem umschalten am
besten (hab mich vielleicht etwas blöd ausgedrückt).. es ist wichtig
das Display richtig zu initialisieren!!!! (zeiten einhalten) ein
umschalten in dem sinne erfolgt nicht...du musst dir das so vorstellen
das ein controller für 40 zeichen zuständig ist. da das display über
4x20 zeichen verfügt werden 20 in der ersten zeile und 20 in der
dritten zeile dargestellt. der 2. Controller steuert 20 zeichen der
2.zeile und 20 zeichen der 4. zeile...wenn du einen text schiebst
kannst du das sehr gut beobachten.... ich denke dein fehler liegt beim
initialisieren.....
Gast
Meine Initialisierungsreihenfolge (teilweise übertrieben fail-save ;)
):

100ms warten  // Zeit zum "Aufwachen" geben
200mal:
 Datenbits 5,4 und 3 setzen // 8 Bit, 2 Lines
Datenbits 3,2 und 1 setzen // Disp On, Cursor On
Datenbit o setzen // Clr Disp

alles großzügig mit delays ausgestattet


Bei dieser Initialisierung lassen sich die 1. und 3. Zeile nutzen, der
Rest halt leider nicht.

Müssten nach der Initialisierung auch die 2. und 4. Zeile grau
hinterlegt (mit Strom versorgt) sein?
Gast
Nur mal so am Rande:

Ein 4x20 Display (wenns 44780 kompatibel ist) hat nur einen COntroller,
weil der Controller 80 Zeichen verwalten und darstellen kann.

Ein 4x40 hat 2 Controller...

Für mich hört sich das übrigens an wie wenn die Initalisierung falsch
gelaufen ist, oder gar nicht gemacht wurde.

Gruß Bernd
Gast
Da muss ich Bernd recht geben habe auch ein 4*20 display und es hat nur
einen controller.
aber das die erste und dritte zeile hell sind ist bei mir auch obwohl
alles funzt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.