Forum: Mikrocontroller und Digitale Elektronik Werte auf LCD aktualisieren


von André (Gast)


Lesenswert?

Hallo zusammen,

es geht darum, Werte auf einem LCD (in diesem Fall 2x16 Zeichen, 
Ansteuerung per Mega8) auszugeben. Je nach Menüpunkt kann das 
Temperatur, Zeit oder sonstiges sein.
Um das ganze in ASM zu realisieren sehe ich zwei Wege:

1) man aktualisiert die betreffenden Werte im jeweiligen Unterprogramm 
(z.B. nachdem die Uhr oder ADC ausgelesen wurden) und gibt sie direct 
mit lcd_command/lcd_data u.s.w. aus

oder
2) man reserviert im RAM z.B. 32 Byte, schreibt die anzuzeigenden Werte 
erstmal an die entsprechende Stelle im RAM und schiebt diese dann 
sozusagen in einem Rutsch z.B. alle 100ms ins LCD.

Beide Varianten haben ihre Vor- und Nachteile.

Meine Frage:
Gibts dafür ´ne Art "Standartvorgehensweise" oder sind beide Varianten 
ok und man muss von Fall zu Fall entscheiden welche die günstigere ist?

von Hannes L. (hannes)


Lesenswert?

Ich bevorzuge auf dem AVR inzwischen Variante 2. Wobei ich das LCD nicht 
"in einem Rutsch" aktualisiere, sondern Zeichenweise, durch (sowiso 
vorhandenen) Timer-Interrupt synchronisiert. Alle 2 Millisekunden 
schicke ich das nächste Zeichen raus. Das spart Rechenzeit, da der 
Controller nicht auf das LCD warten muss.

Meine Routine, die die Zeichen in den "Bildschirmspeicher" legt, kann 
noch ein paar (teils selbst definierte) Sonderzeichen auswerten, wie 
Enter, CLS, Cursor home und Blinkstart/Blinkstop. Das LCD kann somit mit 
"Fließtext" umgehen.

...

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.