Hi.
Ich wollte ein LCD im 8bit-Modus initialisieren. Allerdings
funktioniert das nicht so ganz. Der Datenbus (8bit) hängt an PORTA, die
Enableleitungen an PORTC.0und1, die Registerselectleitung an PORTD.7 und
Read/Write liegt an Masse. (kein Busyflag lesbar).
Vom Mikrocontroller her funktioniert alles anscheinend prächtig. (Über
die Leitungen PORTC2,3 ist ein LED-Display angeschlossen, dessen
Segmenteingänge über einen 74HC541 Treiber an PORTA angeschlossen ist.
Die Leitungen 2,3 werden beim schreiben der Leitungen 0,1 im Code
mitgesetzt, um zu sehen, ob die Anzeige flackert. Das tut sie, also
scheint der Code zu funktionieren.)
Das LCD Display ist ein WINTEC 4x27 von Pollin mit zwei Controllern
Warum zeigt das LCD nach der Initialisierung trotzdem die zwei
schwarzen Balken an, und nicht "Test" ? (in Linie 1+3)
Bitte keine Diskussionen über den Sinn oder nicht-Sinn der Verdrahtung
des LCDs über 3 Ports. Das ist vom Leiterplattenlayout her das
günstigste, und die Leiterplatte ist geätzt, aufgebaut, und fertig
verlötet. Kurz gesagt, an dem Fakt kann ich nichts mehr ändern. Dies
schreibe ich nur, da alle vorhergehenden Hilferufe in Kommentaren über
den Unsinn dieser Verkabelung endeten.
Hier die LCD-8bit ansteuerung im Anhang
> Warum zeigt das LCD nach der Initialisierung trotzdem die zwei
schwarzen Balken an, und nicht "Test" ?
Der Kontrast ist aber korrekt eingestellt, oder? Ich weiß ist ne doofe
Frage aber das mir selbst mal passiert. Wenn der Kontrast zu groß ist
dann hat man eben nur Balken, obwohl der Code einwandfrei funktioniert
:-)
Ja, der Kontrast ist ordentlich eingestellt. Ich schätze, wenn es daran
läge, würden 4 schwarze Balken erscheinen, und nicht nur 2.
Wenn ich den Kontrast ganz aufdrehe, dann schimmern auch die 2. + 4.
Zeile ganz schwach als schwarzbalken durch.
Kurzum : Ja, der Kontrast ist ok, und daran liegts nicht.
noch ne blöde Idee, hast Du mal das Timing geprüft? 40ms sind ne
verflucht lange Zeit.
Das mit dem schwarzen Balken habe ich, wenn das Timing wieder mal
durcheinander gekommen ist
Ich weiß nicht, ob sich ein LCD mit schaltern und Tastern initialisieren
läßt und ob es sinnvoll ist, sowas zu machen. Das soll jeder für sich
entscheiden. Alles was ich Dir sagen kann ist, dass es auf jeden Fall
nicht zu kurz sein darf, weil dann nix mehr geht und zu lang würde ich
es auch nicht machen. Ich würde mich hier an Spezifikationen des
Datenblattes halten und das läßt sich ja dann auch einfach mit einem
Scope nachmessen.
Hallo Christoph,
ich hab mir dasselbe LCD bei Pollin bestellt.
Auch ich habe Probleme es anzusteuern.(allerdings unter C)
Selbst wenn ich einen der Controller(mit z.B. EN2 an Masse)
"ausschalte"
gibt es nur unverständliche Zeichen aus.
Danach habe ich es mit dem 4-Bit Modus probiert, ebenfalls
Fehlanzeige.
Allerdings wenn ich ein 2*16 LCD von Reichelt an meinen µC stecke
funktioniert mein Programm einwandfrei.
Ich gehe also davon aus, daß es sich hier um ein Hardwareproblem
seitens des Displays handelt.(die LCD's von Pollin sind doch gebraucht
oder?)
Gruß Thomas
Das 4x27 LCD von Pollin müsste eigentlich neu sein.
Auf dem LCD ist kein Orginal 44780 sondern irgendein Nachbau (z.B. von
Samsung), wenn ich mich recht erinnere.
Diese Nachbauten sind sehr viel empfindlicher als die orginalen 44780,
da kann es durchaus sein, dass ein 44780 läuft, aber bei der Samsung
Version nichts geht.
Haben die Samsung ICs nich noch ein paar vom 44780 abweichende Register
um die erweiteren Treiber freizuschalten ?
Ich habe ebenfalls das 4x27, dazu ein 2x24 und 2x16 mit orig. 44780 -
alle von Pollin. Im 4-Bit-Mode funktioniert keines, weder am Mega8 noch
Mega 16. Manchmal werden sie initialisiert, selten zeigen sie etwas an.
Meistens passiert gar nichts. Dagegen am Parallelport im 8-Bit-Mode
funktionieren sie ohne Probleme, auch mit einfachem VB-Code, der nicht
besonders aufs Timing achtet. Scheint also irgendwie am Display oder
Flankensteilheit der Ports zu liegen.
Hi!
Vorsicht mit den 40 ms. Eigentlich steht immer "15ms or more" aber
ich habe jetzt auch mal mit einem von Reichelt so meine Probleme gehabt
bis die Zeit für das Init unter 20ms lag. Vermutlich gehen die dann in
einen Sicherheitsmodus, oder es war einfach kaputt.
MFG Uwe