LCD (HD44780) Cursor Position wechseln

Gast #15933
Lesenswert?

hallo,

hab ein problem mit meinem LCD...ich möchte die position
des cursors beliebig einstellen können z.b. spring auf die
2. linie und auf den 5. buchstaben .... jedoch funktioniert
dies nicht richtig. ich muss ja die adresse des ddrams ändern,
oder nicht? auf der ersten linie hab ichs so halb zum laufen
gebracht aber wenn ich den cursor auf die 2. linie setze dann
tut er so als würde er schreiben (er bewegt sich nach rechts)
jedoch gibt es nur immer leerschläge...es sind nie zeichen zu
sehen....

please help me!
tnx!

FaB
Gast #15935
Lesenswert?

hallo andres

ja ich habs genau so gemacht wie du, funktioniert jedoch nicht.
bei mir verschiebt es den aktuellen text auf dem display, wenn
ich den cursor positionieren will...das hat doch was mit dem shift
zu tun? wie geht das mit dem shift überhaupt? hab das datenblatt
zwar schon mal von oben bis unten durchstudiert ... komm jedoch
immer noch nicht richtig draus.
nachdem es den aktuellen text verschiebt hat schreibt es dann
den text, den es auch sollte RÜCKWÄRTS auf das Display....was
ist da los? ein bisschen ne komische sache.

gruss fab
Gast #2328956
Lesenswert?

hallo andreas,

dies ist zwar schon ein veralteter thread, aber ich versuch mal mein 
glück:
und zwar bringt avr studio bei mir immer eine fehlermeldung bei der 
zeile:

[avrasm]ldi temp1, 0b10000000|(((@0)-1)<<6)|((@1)-1)[/avrams]
1
error: syntax error, unexpeceted ','

ich versuche gerade deinen digitalen funktiongenerator nachzubauen und 
verwende einen atmega8 controller.

vielen dank

mfg
mafer
Gast #2329250
Lesenswert?

Kurzer Auszug aus'm Tutorial:

<----------------------------------------------------------------------- 
>

Den Cursor neu positionieren. Display Data (DD) Ram ist vom Character 
Generator (CG) Ram unabhängig. Der Adresszeiger wird bei Ausgabe eines 
Zeichens ins DD Ram automatisch erhöht. Das Display verhält sich so, als 
ob eine Zeile immer aus 40 logischen Zeichen besteht, von der, je nach 
konkretem Displaytyp (16 Zeichen, 20 Zeichen) immer nur ein Teil 
sichtbar ist.

aaaaaaa 7-bit DD RAM Adresse. Auf 2-zeiligen Displays (und den meisten 
16x1 Displays), kann die Adressangabe wie folgt interpretiert werden:

1laaaaaa

l = Zeilennummer (0 oder 1)
a = 6-Bit Spaltennummer
<----------------------------------------------------------------------- 
>
Um in die zweite Zeile Spalte 3 zu springen sendet ihr dieses Command:

0b11  000010
   ^ |------|
   |     |
Zeile  Spalte
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.