Forum: Mikrocontroller und Digitale Elektronik wie zweite Zeile eines LCDs ansprechen?


von Markus Reichert (Gast)


Lesenswert?

Hallo zusammen,

ich habe hier ein 2x8-LCD-Display mit dem Tutorial zum laufen gebracht.


Die Zeichen werden ohne Probleme ausgegeben - aber nur in der ersten
Zeile.

Wie bewege ich das Display dazu, auch in die zweite Zeile zu
schreiben?

Ich habe keinen Befehl gefunden, mit dem ich den Cursor in die zweite
Zeile schieben kann. In der ersten Zeile kann ich problemlos alle
Befehle ausführen (Display shift, Cursor shift, usw.)

Initialisiert habe ich N=1, also zwei oder mehr Displayzeilen.

Was mache ich falsch?

Hoffe mir kann wieder einmal geholfen werden.

Danke+Gruß
Markus

von Daniel S. (danst0)


Lesenswert?

Normalerweise hast du doch ein Datenblatt zu dem Display und dort steht
(in meinem zumindest) ab welchem Speicherbereich die zweite Zeile
anfängt. (Bei meinem Typ bspw. ab $40 bis $47) und dann musst du diese
Addresse nur noch setzten und kannst dann dort schreiben!
Glaub zumindest, dass es bei mir so funktioniert hatte...

Viele Grüße,

Daniel

von Markus Reichert (Gast)


Lesenswert?

Vielen Dank für die Hilfe, es hat funktioniert!

Aber ich habe im gesamten Datenblatt keinen einzigen Hinweis darauf
gefunden. :-(

Wo fängt denn der Speicherbereich für die erste Zeile an?

Nochmals danke.

Gruß
Markus

von Daniel S. (danst0)


Lesenswert?

Bei mir steht das unter "Zuordnung DD-RAM Adresse zu ZeichenStelle im
Display".
Die erste Zeile geht von $00 bis $07.

Viele Grüße,

Daniel

von Markus Reichert (Gast)


Lesenswert?

So etwas gibt es in meinem Sheet nicht.

Welches Display verwendest du? Steht in dem Datenblatt auch, wie man
eigene Zeichen abspeichert und wieder aufruft?

In meinem Sheet stehen nur die Physikalischen Abmessungen,
Portbelegungen und eine sehr allgemeine Übersicht über die Befehle.

Jetzt brauche ich wie schon erwähnt irgendeine Beschreibung, wie man
eigene Zeichen benutzt.

Wäre super, wenn du mir da auch noch weiter helfen könntest. :-)

Danke und Gruß
Markus

von Jens (Gast)


Lesenswert?

Genau. Die zweite Zeile fängt dann aber nicht bei $08 an, den genauen
Wert kenne ich gerade nicht.

von TravelRec. (Gast)


Lesenswert?

Eigene Zeichen können normalerweise in die Speicherzellen $00 - $07
geschreiben werden. Dazu wird zuerst der Befehl 0b01xxxxxx an das
Display gesendet, wobei die xxx der Adresse entsprechen, die die zu
beschreibende Pixel-Zeile ist: $00-$07 entsprechen den Zeilen für das
Nullte Zeichen, $08-$0F für das erste und so fort. Nach der
Adressierung wird dann ein Datenbyte von 5 Pixeln (also maximal $1F)
MSB zuerst geschickt. Dieses Datenbyte befindet sich danach in der
zuvor adressierten Pixel-Zeile. Für ein komplettes Zeichen braucht man
also bis zu 8 Adressierungs- und Datenschreibzugriffe. Hat man dann
alle gewünschten Zeichen in´s Display-Zeichen-Ram geschrieben, werden
sie wie jedes andere Zeichen aufgerufen, und zwar ab Position $00 -
$07, wie oben bereits erwähnt. Hinweis: nach dem Einschalten des
Displays stehen im Display-Zeichen-Ram nur Zufallszahlen. Bei jedem
Neustart müssen also auch alle eigenen Zeichen neu in´s Display
geschrieben werden.

von Hannes L. (hannes)


Lesenswert?

Du hast das vereinfachte Datenblatt des Displays. Darin steht doch
sicherlich, welcher LCD-Controller verwendet wurde. Die restlichen
Informationen musst du dann dem Datenblatt des LCD-Controllers
entnehmen.

Allerdings kann ich nicht nachvollziehen, dass im Datenblatt des
LCD-Herstellers keine Angaben über die Adressierung der
Anzeigepositionen enthalten sind. Oder hast du vielleicht ein total
vereinfachtes Datenblatt von einem Händler? Dann suche das vom
Hersteller.

...

von Daniel S. (danst0)


Lesenswert?

Also bei mir gab es das Datenblatt auch soweit ich weiß auf der
Herstellerseite online (in meinem Fall Electronic Assembly
(www.lcd-module.de))

G,

Daniel

von Markus Reichert (Gast)


Lesenswert?

Danke für eure Hilfe. Ich habe es inzwischen mit euren Tips hinbekommen.
Das LCD läuft erste Sahne.

Gruß
Markus

von TravelRec. (Gast)


Lesenswert?

Na wenigstens was ;-).

von Ludwig W. (lordludwig)


Lesenswert?

auch schon eigene zeichen?? wenn nicht kann ich gerne helfen

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.