A
Artur
Guest
Hallo NG,
es ist mir schon fast unangenehm hier einen Thema für ein LC-Display
anzufangen weil die meisten Themen dazu hier ja eh dazu geführt haben
das es sich um Timingproble handelt, aber ich komme einfach nicht
weiter...
LCD-Typ: 162C Displaytech
Anzeigeformat: 2x16 Zeichen
LCD-Controller: KS0070 B
Betriebsspannung: 5V
Ich kann die oberste Zeile des Displays einwandfrei beschreiben, den
Cursor positionieren und auch die Befehle "LCD-Clear" und
"Return-Home" funktionieren ohne Probleme.
Die 2-te Zeile funktioniert aber nicht, überhaupt nicht, nichts, nada,
nothing!
Schreibversuche ab der DD-Ram Adresse 0x40 bleiben erfolglos. Ich habe
bereits versucht den gesamten DD-Ram-Bereich 0x00 bis 0x7F zu
beschreiben mit dem Hintergedanken das sich die zweite Zeile an einer
anderen Adresse befindet -aber es werden nur in der ersten Zeile
Zeichen
angezeigt.
Bei der Initialisierung des LCDs wird das LCD auch auf 2 Zeilen
eingestellt.
(Ich glaube das ändert ja aber eh nur den Duty-Cycle von 1/8 auf
1/16.)
Ich betreibe das LCD im 4-Bit-Modus und nur im "Write"-Betrieb. D.h.
ich
kann die RW-Leitung des LCDs nicht umschalten und somit auch nicht das
Busy-Bit abfragen. Zwischen den einzelnen Schreibbefehlen warte ich
auch
ganz sicher mind. 50us bzw. 16ms. (Nur "Enable", "RS" und die vier
oberen
Datenbits sind beschaltet. Ja, natürlich auch Vcc, Vee, GND und RW ist
fest auf "Write" gelegt.)
Das Timing der LCD-Routinen habe ich bereits auseinander gezogen und
völlig unkritisch gemacht - die zweite Zeile funktioniert aber nicht.
Wenn ich die Kontrastspannung (Vee) verändere, wird auch nur der
Kontrast der oberen Zeile verändert.
Meine letzte Idee war, dass es sich um ein defektes LCD handelt. Also
habe ich das LCD ausgelötet und gegen ein neues, gleichen Typs,
ersetzt.
.... die zweite Zeile funktioniert immer noch nicht...
Hat irgend jemand eine Idee oder einen Vorschlag an welcher Stelle ich
den 'BUG' noch suchen kann?
Gruß,
Artur Pundsack
(OT: Frank W.- ESD W. konnte mir auch nicht helfen ;-)
es ist mir schon fast unangenehm hier einen Thema für ein LC-Display
anzufangen weil die meisten Themen dazu hier ja eh dazu geführt haben
das es sich um Timingproble handelt, aber ich komme einfach nicht
weiter...
LCD-Typ: 162C Displaytech
Anzeigeformat: 2x16 Zeichen
LCD-Controller: KS0070 B
Betriebsspannung: 5V
Ich kann die oberste Zeile des Displays einwandfrei beschreiben, den
Cursor positionieren und auch die Befehle "LCD-Clear" und
"Return-Home" funktionieren ohne Probleme.
Die 2-te Zeile funktioniert aber nicht, überhaupt nicht, nichts, nada,
nothing!
Schreibversuche ab der DD-Ram Adresse 0x40 bleiben erfolglos. Ich habe
bereits versucht den gesamten DD-Ram-Bereich 0x00 bis 0x7F zu
beschreiben mit dem Hintergedanken das sich die zweite Zeile an einer
anderen Adresse befindet -aber es werden nur in der ersten Zeile
Zeichen
angezeigt.
Bei der Initialisierung des LCDs wird das LCD auch auf 2 Zeilen
eingestellt.
(Ich glaube das ändert ja aber eh nur den Duty-Cycle von 1/8 auf
1/16.)
Ich betreibe das LCD im 4-Bit-Modus und nur im "Write"-Betrieb. D.h.
ich
kann die RW-Leitung des LCDs nicht umschalten und somit auch nicht das
Busy-Bit abfragen. Zwischen den einzelnen Schreibbefehlen warte ich
auch
ganz sicher mind. 50us bzw. 16ms. (Nur "Enable", "RS" und die vier
oberen
Datenbits sind beschaltet. Ja, natürlich auch Vcc, Vee, GND und RW ist
fest auf "Write" gelegt.)
Das Timing der LCD-Routinen habe ich bereits auseinander gezogen und
völlig unkritisch gemacht - die zweite Zeile funktioniert aber nicht.
Wenn ich die Kontrastspannung (Vee) verändere, wird auch nur der
Kontrast der oberen Zeile verändert.
Meine letzte Idee war, dass es sich um ein defektes LCD handelt. Also
habe ich das LCD ausgelötet und gegen ein neues, gleichen Typs,
ersetzt.
.... die zweite Zeile funktioniert immer noch nicht...
Hat irgend jemand eine Idee oder einen Vorschlag an welcher Stelle ich
den 'BUG' noch suchen kann?
Gruß,
Artur Pundsack
(OT: Frank W.- ESD W. konnte mir auch nicht helfen ;-)