Glückwunsch erstmal
Hallo @Y...,
das freut mich natürlich auch sehr, daß es jetzt klappt.
Doch es geht weiter im Text:
Wie stelle ich es an, bestimmte Kolumnen am Display gezielt anzuwählen, um zum Beispiel eine Uhrzeit oder ein Meßergebnis anzuzeigen, was immer an den gleichen Stellen erfolgen sollte.
OK.
Der einfachste Code lautet:
In den Kommandomodus wechseln, das heißt RS gleich low. Und R\W gleich low. Dann in "temp" die Position auf dem Display bestimmen. Dazu muß das Bit D7 gesetzt sein und der Adresscode aus der Beschreibung verwendet werden.
Zum Beispiel ist der Anfang von Zeile 1 immer 00 als Adresse, ich sende aber 80 an das Display im Kommandomodus. (laden, ausgeben auf Port, Enableimpuls(e), (kurze) Verzögerung...),
dann in den "Datenübernahmemodus" wechseln, sprich RS gleich high, R\W bleibt low.
Genauso in "temp" jetzt mal Hex 31 reinschreiben oder ldi temp, 0b00110001, ( ausgeben auf Port, Enableimpuls(e), (kurze) Verzögerung...,)
Jetzt müsste die Null am Anfang stehen.
Jetzt mal als "Ladewert" im Kommandomodus Hex C0 eingeben, und Prozedur wie oben wiederholen, hmmm?
Also immer Schema,
Kommandomodus
Adresse
Datenübernahmemodus
Daten
Kommandomodus
Adresse
Datenübernahmemodus
Daten
usw. usf.l
OK.
Es gibt natürlich noch eine Überlegung.
Der Cursor.
Der "Pumuckel" stört echt jetzt.
Auch wenn er nicht dargestellt wird - wir hatten ihn ja abgewählt in der Initialisierungsroutine - schiebt das Display den Adresscounter nach jeder Datenübernahme nach einer Richtung, entweder rechts oder links. Das ist sowas von ätzend. Also, das kriegt man nicht weg.
Also immer wieder dieselben Positionierungskommandos vor der Datenausgabe eingeben, auch wenn die Anzeige an derselben Stelle stehenbleiben soll.
Obwohl Cursor-Increment, besser gesagt, Schiebetakt für den Adresscounter nach rechts (positive Flanke- glaube ich an -Takteingang intern)
für die Textdarstellung ideal sein kann, ist es für die Meßwertdarstellung so nicht unbedingt geeignet.
Bleibe dran.
Also, berichte auch mal, wie es jetzt weitergegangen ist..
So long...
gruß von Oskar01