LCD: 2 von 4 Zeilen kaputt?

Gast #148583
Lesenswert?

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 #148584
Lesenswert?

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 #148586
Lesenswert?

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 #148588
Lesenswert?

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 #148589
Lesenswert?

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 #148590
Lesenswert?

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 #148591
Lesenswert?

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

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