Cursorpositionierung bei 16x4 Display

Gast #23338
Lesenswert?

Hallo,

ich habe mir gerade den ISP und den Controller AT90S4433 komplett selber 
aufgebaut, um auf diesem Gebiet Erfahrungen zu sammeln.

Jetzt habe ich mir ein 16x4 Display von Displaytech gekauft und an den 
Prozessor im 4 Bitmodus angeschlossen. Nach anfänglichen Schwierigkeiten 
lief es dann auch.

Mein Problem ist nun folgendes:

Wie kann ich diese Information die auch hier auf den Webseiten liegt 
umsetzen auf ein vierzeiliges Display?

Hier ist die Beschreibung:

Display RAM Address Set (1aaaaaaa)
......
...
....
On two line models (and most 16x1), the command can be interpreted this 
way:
1laaaaaa
l=line #
a=6-bit column #


Ich habe es geschafft die zweite Zeile mit dem Befehl

ldi temp1, 0b11000000
rcall lcd_command

anzusteuern. Ich komme aber nicht drauf wie ich die dritte bzw. vierte 
erreiche?

Ich habe auch schon die Forumsbeiträge zu diesem Thema gelesen, wo 
beschrieben ist, welche Startadresse jede Zeile hat. Mir ist nur nicht 
klar ob ich auch mit dieser oben gezeigten Methode die Adresse der 
Cursorposition ändern kann.
D.h. gibt es nun zwei Möglichkeiten die Position zu ändern (außer Cursor 
shift).

Vielen Dank für Eure Hilfe
Gast #23340
Lesenswert?

Vielen Dank für den Hinweis, jetzt kann ich alle Zeilen direkt 
ansprechen.

Zeile 1 = 0b10000000
Zeile 2 = 0b11000000
Zeile 3 = 0b10010000
Zeile 4 = 0b11010000

Ich habe jetzt aber leider ein anderes Problem; und zwar habe ich als 
Test in jede Zeile "Hallo" ausgegeben.
Jetzt ist es so, dass in der Zeile 3 und 4 das jeweilige Hallo um einen 
Dot zu weit links anfängt, sodaß z.B vom H der erste senkrechte Balken 
fehlt.
Zeile 1 und 2 wird richtig angezeigt.

Kann das mit einem Laufzeitproblem zu erklären sein?

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