[AVR Assembler] LCD Zeilensprung

Gast #949915
Lesenswert?

Wie komme ich bei einem LCD Display in die nächste Zeile (genauer gesagt 
zu den Zeichen 9-16 bei einem 1x16 LCD, die ersten 8 Zeichen 
funktionieren).

CR und LF aus dem ASCII Alphabet habe ich einzeln und auch beide 
zusammen erfolglos probiert.

Display ist das LCD 161a von reichelt, Controller ein ATMEGA8, lcd 
Anteuerung (lcd-routines) ist aus dem AVR TUtorial.
Gast #949967
Lesenswert?

Hi

Entschuldige. Ich hatte deine Frage etwas ungenau gelesen.

Setze mal im Befehl 'Cursor or display shift' S/C auf 1 und setze die 
DDRAM-Adresse mal auf 16. Dann sollte sich die Anzeige verschieben.
Habe ich aber auch noch nicht gemacht.

MfG Spess
#950130
Lesenswert?

Die Folge ist nicht konsekutiv.
Das heißt, ist die erste Zeile vollgeschrieben, wird nicht automatisch 
in die zweite gewechselt, da die Kontroller so ne Macke haben, auf 40 
Zeichen geprogt zu sein.
Man kann aber die Adressen direkt als Kommando eingeben.
Also Bit Folge 10000000 um das Display Ram direkt anzuschießen.
Dann der Wert, der im Manual angegeben ist als Adresse.
meistens 00 für Anfang erste Zeile.
40 für zweite Zeile
also 4 plus 8 gleich C
also C0 Hex und Du springst auf den Anfang Zeile 2.
Das als Kommando (RS auf LOW) vor den Daten (RS auf HIGH) ausgeben.
Klappt 99,9%.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren