Forum: Mikrocontroller und Digitale Elektronik LCD Display


von Mario410200 (Gast)


Lesenswert?

Also ich hab ein 4x16 Zeichen Display, das ganze wird von einem 4433 
bzw. 8535 gesteuert. Mit den Displayrutinen klappt die Ansteuerung auch 
schon ganz gut, nur das nur die 1 und 3 Zeile benutzt wird. Leider bin 
ich des englisch nicht gerade sehr mächtig und kann deshalb aus der 
Befehlscodeliste nichts rauslesen.
Könnte mir das vielleicht mal einer erklären.

Bitte, Bitte

von Mario410200 (Gast)


Lesenswert?

Vielleicht sollte ich besser erklären was ich will. Ich würde gern 
wissen wie ich ein 4 Zeilen Display ansteuern muss damit auch alle 
Zeilen genutzt werden. Bisher wird nur Zeile 1 und 3 benutzt.

Bitte helft mir

von Meiserl (Gast)


Lesenswert?

Hi
Den Cursor auf Adresse 40 setzen und du bist in der zweiten Zeile.

von MarkusB (Gast)


Lesenswert?

Hi,
dazu sollte man vielleicht noch folgendes ergänzen: diese Displays 
kennen normalerweise nur einen ein- und einen zweizeiligen Modus. Jede 
Zeile hat 40 Zeichen, auch wenn sie nicht angezeigt werden. Bei den 
vierzeiligen wird jetzt der nicht angezeigte Teil in der dritten und 
vierten Zeile angehängt. Damit alles funktioniert muß das Display in den 
zweizeiligen Modus geschaltet werden. Die erste Zeile wird ab Adresse 
$00 angesprochen, die dritte beginnt praktisch am Ender der ersten. Die 
zweite Zeile beginnt wie Meiserl gesagt hat ab $28 (dezimal 40) und die 
vierte Zeile beginnt am Ende der zweiten.

Gruß
Markus
http://www.elektronik-projekt.de/

von Mario410200 (Gast)


Lesenswert?

Danke für die Antworten. Bin leider noch totaler Newbi und kann mit 
euren Antworten nicht soviel anfangen.

Hab mal in die Befehlscodeliste geschaut und denke ich muss diesen 
Befehl verwenden.

Cursor/shift
0001srxx
Move cursor or scroll display without changing display data RAM. 
Execution time: 40us

s=1    scroll display
s=0    move cursor.
r=1     to the right
r=0     to the left.
x=      don't care

Doch wie genau setze ich den Cursor jetzt auf Adresse 40.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Nein, du brauchst diesen Befehl:

Display RAM Address Set (1aaaaaaa)
Reposition cursor. Display Data (DD) RAM occupies a separate address 
space from the CG RAM. Data written to, or read from the LCD after this 
command will be to/from the DD RAM. The address pointer is incremented 
after each write, so consecutive bytes can be sent. Execution time: 40us
aaaaaaa
7-bit DD RAM address to point to. On two line models (and most 16x1), 
the command can be interpreted this way:
1laaaaaa
l=line #
a=6-bit column #


Also einfach Adresse + 128 (dadurch wird das MSB auf 1 gesetzt) als 
Befehl an das LCD senden.

MfG
Andreas

von Mario410200 (Gast)


Lesenswert?

Entschuldigung das ich nochmal fragen muss, bin halt noch Newbi auf 
diesem gebiet.
Wie genau sende ich denn jetzt die Adresse 128 an das Display. Und wo 
genau muss ich den Code dann einfügen. Hab mitlerweile einiges 
ausprobiert doch leider ohne erfolg.

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.