Hallo,
ich programmiere zur Zeit mit einem PIC 18F248 eine Ansteuerung für ein LC-Display.
Nachdem es Anfangs noch ganz gut voran ging (Initialisierung & erste Zeichen ausgeben) stecke ich jetzt bei einer "Kleinigkeit" fest wo ich nicht mehr wirklich weiter weiß.

Habe eine kleine Routine geschrieben, dass ein Zeichen ausgegeben wird und danach der Adresszähler um 1 erhöht wird. Das klappt mit den ersten 8 Zeichen auch wunderbar! (RAM-Adresse 00h-07h)
Dann setze ich die Adresse des DD-RAM auf 40h um die Zeichen von 9-16 ausgeben zu können. (Die Adresse steht so im Datenblatt)

Die Zeichen von 9-16 wurden auch angezeigt. Also müsste die Programmierung für den Adressensprung auch richtig sein.
Nur dummerweise sehe ich dann nur noch (!!!) die Zeichen von 9-16.
Die Zeichen von 1-8 sind verschwunden.

Meine Frage: WAS MACHE ICH FALSCH???
Dachte, wenn ich die Adresse auf 40h setze, bleibt der RAM-Inhalt so erhalten und die Zeichen von 1-8 müssten noch da stehen wo sie waren?!

Es ist ein 1 Zeiliges Display mit 16 Zeichen! (HD44780)
Habe es als 2 zeilen Display Initialisiert (8+8)

Vielleicht sollte ich noch erwähnen, dass ich nicht wirklich weiß, woher und von welcher Firma das Display ist. Die Beschriftung darauf ist auch etwas mager. Weiß also nicht genau, ob die Sache mit meiner 2-Zeilen-Initialisierung wirklich so richtig ist.
Aber da er die Zeichen ab Adresse 40h anzeigt, kann es ja eigentlich nicht falsch sein?!

So, dann hoffe ich mal, dass mir jemand weiterhelfen kann.

ciao, DDenjo