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
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..
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
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
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
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?
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.....
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?
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.