Hallo Richard,
Ich habe vor ein paar Monaten ebenfalls ein Display dieser Serie verwendet.(2*8Zeichen, 4bit-Modus, AVR als Controller, Assembler). Nach mühseliger Bastelei hat es bei mir schließlich geklappt. Ich habe mich an dem Datenblatt des KS0066U orientiert.
Wichtig war meinen Erkenntnissen zufolge, dass die Initalisierung in der richtigen Reihenfolge abläuft (Achtung: 4Bit Modus, das musst du evt. ändern) :
- dreimal 0011 an LCD
- 0001 (4-bit Modus)
Die 8-bittigen Befehle werden im 4-bit Modus nibbleweise hintereinander gesendet:
- 001XXXXX Hier wird der Cursor an die entsprechende Stelle positoniert (vom Displaytyp abhängig)(bei mir:00101000)
- 00001100 Display ist an, Cursor ist ausgeblendet, blinkt nicht
- 00000001 Lösche alle Zeichen aus Display
- 00000110 Cursor bewegt sich nach schreiben eines Zeichens nach rechts,
Displayshift ist aus

Logischerweise musst du den Befehlsmodus verwenden, jeweils das Enable Bit setzen und rücksetzen und entsprechende Wartezeiten zwischen den Befehlen einhalten.

Ist das Display erst einmal initalisiert, musst du nur noch ein Ascii Zeichen reipumpen und du siehst es auf dem Bildschirm (Datenmodus nicht Befehlsmodus!!!)

Ich hoffe dir hiermit geholfen zu haben,
wolli_bolli