habe ein lcd a, port a von einem tiny 26. wenn ich das ganze anschalte läuft alles wunderbar, aber wenn ich einen reset mache dann wird es im 2 (1 zeilen) modus gestartet. hatte schon mal jemand ein ähnliches problem??
Nach einem Reset muss die LCD neu inisalisiert werden. Zudem ist auch auf die Abarbeitungszeiten der LCD Befehle zu achten, die sind in der Regel recht lang. mfg
Ganz normal, nach dem Reset sind die erste und dritte Zeile schwarz. Controller initialisieren und dann ist das Display wieder "weiß". HD4ungrad' Controller sind langsam wie die Sau, also lieber mal ne Millisekunde warten, dann müsst's passen
dennoch etwas merkwuerdig... es koennte sein, dass bei einem RESET der µC schneller kommt, als wenn du den Strom einschaltest.. Kaltstart / Warmstart Probiers, wie oben schon gesagt mit eioner Pause vor dem Initalisieren Gruss Jens
naja... hatte 40ms pause eingebaut aber keine änderung... vielleicht sollte ich mal eine kleine ewigkeit warten... eine sekunde oder so
ich hatte zuerst das ganze vom tutorial übernommen, aber das datenblatt hat mich dann doch eines besseren belehrt. es ist ein ks0063... vielleicht doch nicht so wirklich kompotibel zu dem anderen. die ersten bytes der init waren für das ks0063 wohl anders, weil so funzt es jetzt wie es soll ldi tmp,0xff out lcd_ddr,tmp ldi tmp, 0b00000011 ;muss 3mal hintereinander gesendet im tutorial st es 0b00000010 out lcd_port, tmp ;werden zur Initialisierung rcall lcd_enable ;1 rcall delay5ms rcall lcd_enable ;2 rcall delay5ms rcall lcd_enable ;und 3! rcall delay5ms ldi tmp, 0b00101100 ;4bit-Modus einstellen jenes war auch anders out lcd_port, tmp rcall lcd_enable rcall delay5ms ldi tmp, 0b00101000 ;noch was einstellen... rcall lcd_command ldi tmp, 0b00001100 ;...nochwas... rcall lcd_command ldi tmp, 0b00000100 ;endlich fertig rcall lcd_command ret
Beim 44780 ist es an sich egal, was bei den ersten 3 Schreibvorgängen an D0-3 anliegt, auch danach sind D1-0 egal, aber einige 44780 Derivate sind eben nicht ganz kompatibel: Philips hat hier z.B. einige Bits für den integrierten Spannungswandler untergebracht, bei Samsung sind es eben die Einstellungen für den erweiterten Treiber.
@Sebastian Ich habe mal in meinen Code geschaut, und da ist die Initialisierung viel kürzer, und nicht ganz nach Datenblatt (die ersten 3 Schreibvorgänge lasse ich weg, keine Ahnung warum), aber damit hatte ich noch nie Probleme: Wert=#58 LCD Wert=#13 LCD Wert=#6 LCD Wert=#1 Bisher hatte ich damit nur die echten 44780 angesteuert, aber es geht auch mit dem Displaytech 204A mit KS0066 oder KS0067 (im Datenblatt werden beide erwähnt) PS: Der KS0063 ist nur ein Segmenttreiber für das LCD, der hat nichts mit der Ansteuerung des Controllers zu tun.
so wie es ist funktioniert es jedenfalls. ich damit jedenfalls ganz zufrieden. das was mir jetzt noch fehlt ist die calibrierung vom internen oscillator. läuft mir irgendwie noch zu ungenau. und dann ist da noch die i2c geschichte mit dem usi ding, wo ich etwsas ratlos bin
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.