mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Zeichen invertieren


Autor: Henrik Hessert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht leider nicht.

Gruß
Andi

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht nicht mit normalen Textdisplays, sondern nur mit Grafikfähigen
LCDs...

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Henrik Hessert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann man nciht den cursor setzen???

Autor: Henrik Hessert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

was meinst du bitte mit cursor setzen ?

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Henrik Hessert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Henrik Hessert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Salve,

naja, selbst wenn Dir keins der fertigen Zeichen zusagt, kannst Du ja
problemlos zumindest dieses eine selbst definieren.

Mark

Autor: Henrik Hessert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Holger Menges (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich verwende für die Menüauswahl immer einen *. Die letzte Zeile
verwende ich als Statuszeile die anzeigt, welche der vier Bedientasten
gerade verwendet werden können.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.