LC Display Ansteuerung in Endlosschleife

OP #2893269
Lesenswert?

Hallo Zusammen!

Habe eine Frage bezüglich einer LCD Ansteuerung.
Da ich in meinem Programm ( in assembler AVR programmier) die 
ausgegebenen Daten am LCD immer wieder erneuern muss ( also 
Spannungswerte jede 1/2 sekunde z.B.), muss dies in einer Endlosschleife 
programmiert werden.

Wie programmiere ich am besten, dass nicht jeder Wert nacheinander 
hingeschrieben , sondern nur der Wert auf der gleichen Position 
verändert wird?

Sonst würde mir ja am LC Display (Ausgabewert z.B.: 130 V) nur mehr 130 
V nacheinander stehen.

Ich verwende das LCD EA DIP204-4.

Bitte um Hilfe.
Danke!

Liebe Grüße Lukas
OP #2893977
Lesenswert?

Danke für die schnelle Antwort!

Klappt soweit! Damit ich in der Spalte auf den richtigen Platz komme 
verwende ich "Set scroll quantity". Für die Zeile verwende ich DDRAM 
address.
Ich weiß nur nicht genau nach welchem Bitmuster ich die Spalte wechseln 
kann um die genaue position zu erreichen die ich möchte.

LG Lukas
Gast #2893996
Lesenswert?

Lukas Hub schrieb:
> Ich weiß nur nicht genau nach welchem Bitmuster ich die Spalte wechseln
> kann um die genaue position zu erreichen die ich möchte.

Siehe Seite 3 oben rechts.

Hast du dir das Datenblatt überhaupt mal angeschaut, oder einfach nur 
Code zusammenkopiert? Gib dir ein bisschen Mühe! :)

Auch der Hinweis auf Seite 1 hilft, es ist ein KS0073 Controller 
(HD44780 kompatibel) verbaut. Mit diesem Stichwort findest du auch hier 
im Forum Dutzende Links.
Gast #2894006
Lesenswert?

Hi

>Ich weiß nur nicht genau nach welchem Bitmuster ich die Spalte wechseln
>kann um die genaue position zu erreichen die ich möchte.

Genau so mit Set DDRAM Adress. Auf S.3 vom Datenblatt findest du die 
Zeilenadressen im DDRAM. Um an eine betimmte Position zu kommen rufst du 
Set DDRAM Adress mit Zeilenanfang+Spalte auf.

MfG Spess
#2937780
Lesenswert?

Lukas schrieb:
> Ja es wird ständig neu beschrieben in einer Schleife.

Es geht nicht um das Beschreiben.
Es geht um das Löschen!
Man kann ja auch bereits am LCD sichtbares mit neuen Dingen einfach 
überchreiben ohne vorher das LCD als ganzes zu löschen.

> Werte werden aktualisiert deswegen.

Und wie oft passiert das?
Alles was öfter als 3 bis 4 mal in der Sekunde ist, ist sowieso zu viel. 
So schnell kann keiner schauen und lesen.

Und dann muss mann natürlich auch nicht Dinge erneut aufs LCD schreiben, 
die eh schon dort stehen.


Das alles sind mögliche Punkte, die man ins Kalkül ziehen muss. Daher: 
WEnn du eine ordentliche, fundierte Aussage willst, die auch auf deinen 
Fall zutrifft: Code, Code, Code.
Gast #2937797
Lesenswert?

Es wird nicht gelöscht!

Ja das ist richtig. Prinzipiell müssten sie nicht so oft aktualisiert 
werden.

Ok wenn es nur alle paar sekunden beschrieben wird verschwindet das 
ganze.
Habs soeben ausprobiert.

Muss ich dann die Timer anders setzen damit mein Drehimpulsgeber noch 
funktioniert. Habe die auswertung nämlich nicht über interrupt gemacht!

Danke jedenfalls
Gast #2937825
Lesenswert?

> Ist es normal wenn ich alles Ins RAM schreib, dass wenn man gerade aufs
> Display schaut ein leichtes flimmern war nimmt?

Ist die Cursoranzeige aktiviert? Der huscht dann beim ständigen 
Beschreiben mit über das Display.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren