Forum: Mikrocontroller und Digitale Elektronik [AVR Assembler] LCD Zeilensprung


von Bernhard (Gast)


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.

von spess53 (Gast)


Lesenswert?

Hi

Du musst die DDRAM-Adresse auf den Anfang der 2.Zeile setzen. Sieh mal 
ins Datenblatt des Displays. Da müsste der Wert drin stehen.

MfG Spess

von Falk B. (falk)


Lesenswert?

@Bernhard (Gast)

>Anteuerung (lcd-routines) ist aus dem AVR TUtorial.

Dann soltest du das Tutorial mal genau lesen.

MFG
Falk

von spess53 (Gast)


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

von Bernhard (Gast)


Lesenswert?

Ne du hast das erste mal richtig gelesen, die erste Antwort war die 
richtige :-)
Danke!

von spess53 (Gast)


Lesenswert?

Hi

Nee. Ich war von einen 2-Zeiligen ausgegangen.
Na ja, Blindes Huhn...

MfG Spess

von Uwe (Gast)


Lesenswert?

Hi!
@spess53 (Gast)
1-zeilig 16 Zeichen kann aus 2 x 8 Zeichen bestehen. Antwort 1 war also 
richtig.


MFG Uwe.

von Kachel-Heinz (Gast)


Lesenswert?

> Ich war von einen 2-Zeiligen ausgegangen.

Sind nicht viele 1x16 intern als 2x8 organisiert?

KH

von Fabian H. (hdr)


Lesenswert?

Kachel-Heinz wrote:
>> Ich war von einen 2-Zeiligen ausgegangen.
>
> Sind nicht viele 1x16 intern als 2x8 organisiert?
>
> KH

Ja... Voll dämlich!

von Kachel-Heinz (Gast)


Lesenswert?

> Voll dämlich!

Was hat das mit Damen zu tun?

:-)

KH

von Karl B. (gustav)


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%.

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.