Forum: Mikrocontroller und Digitale Elektronik LCD 4x20 mit KS0066


von Stefan D. (endrox)


Lesenswert?

Hallo an alle!

Ich quäle mich jetzt schon einige Stunden mit einem 4x20 Display herum 
(DEM20485SYH-LY) mit einem KS0066 Controller laut Datenblatt.

Ich habe eigentlich gedacht, dass die Bibliothek von Peter Fleury 
funktionieren müsste.

Wenn ich im Header-File den Controller-Typ auf KS0073 umstelle, werden 
mir auch alle Zeichen, die ich ausgeben möchte in der 1. und 3. Zeile 
angezeigt. Ich habe jedoch keinen Zugriff auf Zeile 2 und Zeile 4!!!
Umstellen auf HD44780 bringt nichts, in diesem Modus zeigt das LCD 
überhaupt nichts an.

Ich habe auch schon ziemlich alle Forenbeiträge zu 4x20 Displays hier im 
Forum gelesen, auf der Suche nach der Lösung für mein Problem. Ich habe 
gelesen, dass beim KS0073 der erweiterte 4 Zeilen Modus aktiviert werden 
muss. Diesen Befehl gibts es allerdings nicht beim KS0066.

Ich habe die Startpositionen der Zeilen aus dem Datenblatt übernommen, 
an dem dürfte es also nicht liegen. Das Ändern der Anzahl der sichtbaren 
Zeilen bewirkt auch nichts.

Ich hab keine Ahnung was ich noch machen soll. Hat schon jemand einen 
KS0066 mit einem AVR zum Laufen bekommen?? Hätte jemand eine 
funktionierende Bibliothek für mich??? Ich bräuchte dringend Hilfe!!!
Danke schon mal!!!!

Gruß
Stefan

von Otto (Gast)


Lesenswert?

Hallo Stefan,

hast Du denn schon mal z. B. direkt hintereinander
80 Zeichen zum LCD gesandt und gesehen, auf welcher
Position diese angezeigt werden ?

Gruß Otto

von Johannes A. (Gast)


Lesenswert?

Unter diesem Thread

Beitrag "Character LCD für AVRs mit 4bit Bus"

habe ich mal einen bewährten asm-Code für den Assembler von iccavr 
gepostet und die Anpassungen an den Atmel-Assembler erläutert.

Der Code enthält auch ein LCDsetXY für vier Zeilen.

Ich hoffe, er funktioniert auch in diesem Fall.

Gruß Johannes

von Stefan D. (endrox)


Lesenswert?

@Otto:

Habe jetzt probiert über 80 Zeichen zu senden. Wenn ich als Controller 
den KS0073 wähle, schreibt er die Zeichen wieder in die 1. und 3. Zeile. 
Dabei fehlen aber ein paar Zeichen zwischendrin. Keine Ahnnung wo die 
hingehen.

Mir ist aufgefallen, dass wenn ich auf HD44780 umschalte, ich auf dem 
Display leichte Schatten auf dem Display erkennen kann. Ich meine, das 
könnten sogar meine Zeichen sein, die ich ausgeben will. Bleibt die 
Frage offen, warum diese so blass sind.


@Johannes:

Danke für deinen Link. Ich werde mir jetzt mal die Zeiten in der 
Fleury-Bibliothek genauer anschauen und mit deinen vergleichen. Falls 
das keine Ergebnisse bringt, werde ich versuchen deine 
Assembler-Routinen in C zu übersetzen. Hoffe mal, das bringt meinen 
KS0066 endlich zum Laufen!


Danke an alle Leser!!!

von Stefan D. (endrox)


Lesenswert?

Lag wohl doch an der Hardware. Irgendwie hatte das Kontrast-Poti nicht 
wirklich Kontakt zum Steckbrett. Jetzt wird alles passend ausgegeben.

Seltsam ist nur, dass der KS0073-Modus funktioniert, obwohl der Kontrast 
nicht stimmte. Da kommt man ja dann nicht drauf, dass die Hardware nicht 
funktioniert.

Danke für eure Hilfe!!!!

von Roland (Gast)


Lesenswert?

Hallo Stefan Ditze!

Ich habe auch dieses Display und suche nach meinem Fehler bereits 
mehrere Wochen. Ich kirege es einfach nicht hin...

Hättest Du Lust mir ein Paar Fragen zu diesem Display zu beantworten???

Liebe Grüsse

von Stefan D. (endrox)


Lesenswert?

Hallo!

Klar. Werde dir weiterhelfen wenn ich kann!

von Bernhard G. (bear)


Lesenswert?

Hallo Stefan,

ich habe das selbe Problem wie du, dass in den Zeilen 2 und 4 am Display 
nichts ausgegeben wird.
Wie hast du zwischen den beiden Modis umgeschalten? Meine ursprüngliche 
vermutig war ja, das die Initialisierung von 2 Zeilen nicht 
funktioniert!

mfg Bernhard

von Zdenek Sykora (Gast)


Lesenswert?

Hallo zusammen

mit dem Kontroller KS0066 kann man nur 2 zeilen bedienen. Eine Zeile ist 
auf Zeile 1 und 3 getrennt. Zweite Zeile ist auf Zeilen 2 und 4 
getrennt. Zeile 1 fängt mit DDRAM ADRESS 0x00 und endet mit 0x13 => 
nächste ist Zeile 3 ab 0x14 bis 0x27. Zeile 2 hat dann DDRAM ADRESS ab 
0x40 bis 0x53 und Zeile 4 ab 0x54 bis 0x67.
Ich hoffe es kann ihn helfen. Viel Glück beim testen.
mfg Zdenek

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