Hallo NG,
es ist mir schon fast unangenehm hier einen Thema f=FCr ein LC-Display anzufangen weil die meisten Themen dazu hier ja eh dazu gef=FChrt 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, =FCberhaupt 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 =E4ndert 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=FCrlich auch Vcc, Vee, GND und RW ist fest auf "Write" gelegt.)
Das Timing der LCD-Routinen habe ich bereits auseinander gezogen und v=F6llig unkritisch gemacht - die zweite Zeile funktioniert aber nicht.
Wenn ich die Kontrastspannung (Vee) ver=E4ndere, wird auch nur der Kontrast der oberen Zeile ver=E4ndert.
Meine letzte Idee war, dass es sich um ein defektes LCD handelt. Also habe ich das LCD ausgel=F6tet und gegen ein neues, gleichen Typs, ersetzt. .=2E. 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=DF, Artur Pundsack
(OT: Frank W.- ESD W. konnte mir auch nicht helfen ;-)