LCD Zeichen invertieren

Gast #127289
Lesenswert?
• ▲
▼
hi,

bin gerade dabei ein LCD-Display-Menü mit einem 16x4 Display und einem
mega16 zu programmieren. hat irgendwer eine ahnung, wie man einzelne
zeichen auf dem lcd invertieren kann, um sowas wie eine positionszeile
zu generieren ?

für eure antworten bin ich im vorraus sehr dankbar.

gruß

henrik
Gast #127291
Lesenswert?
• ▲
▼
Haben einige Controller nicht die Möglichkeit, einzelne eigene Zeichen
zu definieren? Wenn immer nur beschränkt viele "eigene" Zeichen
verwendet würden, dann würde das durchaus doch gehen.
Gast #127293
Lesenswert?
• ▲
▼
Man kann bei Text-LCDs 8 Zeichen definieren.
Ist halt schwer zu Hand haben da entweder jede Menüzeile nur aus max. 8
verschiedenen Zeichen sein sollte und jedes mal beim Wechsel einer
"Menüzeile" muß man zwischendurch schnell das CG-RAM neu schreiben
und bei ca. 40µS je Zeichenzeile x 8 Zeilen x 8 Zeichen sind das dann
auch 2,6mS.
Die Zeit ist zwar relativ gesehen nicht die Welt aber die Handhabung
stell ich mir nicht sehr einfach vor.

Gruß
Andi
Gast #127294
Lesenswert?
• ▲
▼
Salve,

zumal Du dann ein Abbild jedes Zeichens im Microcontroller brauchst, um
es überhaupt invertieren zu können. Denn an die Daten im CGROM des
Displays kommst Du imho nicht ran. Wenn Du den Aufwand so weit treiben
willst, dann kannst Du auch gleich ein Grafikdisplay verwenden. Damit
kann man noch viel mehr anstellen.

Mark
Gast #127295
Lesenswert?
• ▲
▼
Total vergessen,
Je Zeichen-Byte sind es 2 Zugriffe mit ca. 40µS.
1. Setzen der CD-Adresse und
2. Zeichen-Byte übertragen.

Also insgesammt dann 5mS um 8 Invertierte Zeichen zu senden.

Gruß
Andi
Gast #127296
Lesenswert?
• ▲
▼
hi,

erstens mal thanx@all für die schnellen antworten !

..wie ich sehe sieht es wohl ziemlich mau aus mit dem zeichen
invertieren. werde mir wohl so behelfen müssen, dass ich ich immer alle
zeilen komplett verschiebe, um den eindruck eines scrollings zu
erzeugen. eine zeile würde dann immer die aktive zeile darstellen.

gruß
henrik
Gast #127299
Lesenswert?
• ▲
▼
Salve,

damit meint er sicherlich, ob Du nicht einfach den Cursor auf die
angewählte Zeile setzen kannst, um die Auswahl zu markieren.

Der Controller vom HD44780 malt als Cursor allerdings einfach nur einen
Block (wie 0xff) über das Zeichen, ohne es zu invertieren. Das ist
erstens nicht so hübsch und vermindert die Leserlichkeit.
Und der Underline-Cursor ist nicht auffällig genug.

Und einfach einen Pfeil (">" o.ä.) davor geht nicht? Kein Platz?

Mark
Gast #127300
Lesenswert?
• ▲
▼
hi mark,

das mit einem pfeil davor hatte ich schon probiert. dies ist zwar eine
lösung, aber irgendwie find´ ich es unsauber.

das mit dem cursorblock sieht noch schlampiger aus.

werde mir wohl mal ein grafikdisplay zulegen.

@mark: ist es viel aufwendiger ein grafikdisplay anzusteuern ?

@jens123: will dich von wegen "schlampig" nicht beleidigen. aber
          ich finde: wenn schon menü, dann auch richtig !
          jedenfalls danke für deine antwort.

gruß
henrik
Gast #127301
Lesenswert?
• ▲
▼
Salve,

unsauber? Meinst Du? Es sind im A00-Zeichensatz auch nette Pfeile drin,
also besser als nur ein ">". Ist eigentlich eine recht übliche Lösung,
find ich. Aber gut, ist Geschmackssache.
Grafikdisplays sind vom Hardwareaufwand ähnlich, logo.
Was die Software angeht, bist Du wesentlich flexibler, brauchst aber
auch die entsprechenden Ressourcen in Deiner Anwendung. Es gibt
Displaycontroller mit und ohne integriertem Zeichensatz.
Ich hab bisher nur ein HD61830 angesteuert. Da hingen auch schon 2k
CGROM dran (Atari Portfolio LCD-Einheit). Hat mich aber nicht davon
abgehalten, dem Ding eine eigene Propotionalschrift einzutrichtern.
Schau mal, daß Du eine Lib findest, die das nötigste schon enthält. Ich
hab's damals hauptsächlich aufgrund des Lerneffekts alles selbst
geschrieben. Ist auch nicht wirklich schwierig.
Wie kompliziert es im konkreten Fall ist, hängt davon ab, welche
Grafikfunktionen Dein Displaycontroller mitbringt, und was Du noch in
Software machen mußt.

Mark
Gast #127302
Lesenswert?
• ▲
▼
hi,

verdammt vor lauter abc-getippe hab ich glatt vergessen, dass der
zeichensatz ein wenig mehr enthält als z.B. "=>".

...sagte der förster:"ich sehe vor lauter wald keine bäume mehr."

vielen dank mark

p.s.: wir hören vielleicht noch voneinander in sachen grafikdisplay.

gruß

henrik
Gast #127304
Lesenswert?
• ▲
▼
hi,

nö nö. hab mich vielleicht etwas falsch ausgedrückt. die pfeile vom
A00-Satz sind völlig ok. ich hatte nur nicht mehr drangedacht, daß
noch andere zeichen als ascii existieren.

gruß

henrik
Gast #127305
Lesenswert?
• ▲
▼
Ich habe die 8 frei verwendbaren Zeichen für die Zeichen mit Unterlängen
(g, j, p, q, y...) verwendet, sieht bedeutend schöner aus, auch wenn bei
manchen Displays zwischen der 7. und 8. Linie ein kleiner Abstand ist.
In der Ausgaberoutine muß man sie abfangen und umcoden.

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