mikrocontroller.net

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


Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Daniel Stengel (danst0)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Daniel Stengel (danst0)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jens (Gast)
Datum:

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

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Daniel Stengel (danst0)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Reichert (Gast)
Datum:

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

Gruß
Markus

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na wenigstens was ;-).

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch schon eigene zeichen?? wenn nicht kann ich gerne helfen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.