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
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
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
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
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
Genau. Die zweite Zeile fängt dann aber nicht bei $08 an, den genauen Wert kenne ich gerade nicht.
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.
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. ...
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
Danke für eure Hilfe. Ich habe es inzwischen mit euren Tips hinbekommen. Das LCD läuft erste Sahne. Gruß Markus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.