Forum: Compiler & IDEs Selbst definierte Charakter (Zeichen) auf LCD ausgeben


von Toni (Gast)


Lesenswert?

Hallo

Bekanntlich kann man bei Standard-LCD's 8 eigene Zeichen definieren,
und dann auch zur Anzeige bringen.

Ich würde das gerne mit der LCD-Library von Peter Fleury ausprobieren.

Kann mir jemand ein paar Tips geben, wie ich generell vorgehen muss?

Danke
Toni

von leo9 (Gast)


Lesenswert?

primär Datenblatt lesen ;-)

mit write Cntl die Bitmuster an die richtigen CG-Adressen schreiben und
mit write Data (0 .. 7) am Display darstellen.

grüsse leo9

von Toni (Gast)


Lesenswert?

Danke, Leo9

Datenblatt lesen ist wirklich gut !
Habe versucht daraus klug zu werden.

Ich weiss nun:
=============

Ab Adresse hex40 muss ich pro Zeichen 8 byte mit dem gewünschten Muster
reinschreiben (also 1. freie Zeichen von hex40 bis hex47, 2. Zeichen
hex48 - hex4f, etc.).

Anzeigen sollte ich die so definierten Zeichen mittels
"lcd_putc(char c)" => 0-7 für char c, so stell ich mir das vor !

Die so definierten Zeichen verliere ich, sobald die Versorgungsspannung
nicht mehr anliegt.

Ich weiss nicht:
===============

Wie kann ich die Bytes ab Adresse hex40 reinschreiben. Braucht es ein
spezielles Kommando zum Ansteuern des sog. CGRAM's.

Kann ich das alles mit den Library-Funktionen von Peter Fleury machen
?

Danke für weitere Tips.

Toni

von leo9 (Gast)


Lesenswert?

Hallo Toni,

die lib von Peter kenn ich nicht, aber es gibt das RS-Signal (Register
Select) welches zwischen Data und Instruction unterscheidet.
Entweder kann man es vor lcd_putc setzen oder es gibt einen eigenen
Befehl. Wie setzt du Cursorposition und andere Displaysettings, das
sind nämlich auch Schreibzugriffe aufs Instruction-Register.

Die selbstdefinierten Zeichen sind übrigends nicht nur bei
Spannungsverlust, sondern auch nach jedem init neu zu definieren.

grüsse leo9

von Toni (Gast)


Lesenswert?

Hallo leo9

Die Lib von Peter Fleury ist hier runterzuladen:
http://homepage.sunrise.ch/mysunrise/pfleury/avr-software.html

Cursor-Posi setzen und vieles Weitere ist in dieser Lib drin. In der
Beta Version kann man sogar die Port-Pins flexibel wählen!

Nun versuch ich aber mal, ob ich es fertig bringen kann, mit der
Funktion "void lcd_putc(char c)" auch Befehle an das LCD-Modul zu
schicken. Das wäre super !

Gruss
Toni

von leo9 (Gast)


Lesenswert?

Schau doch einfach in die Doku von der lib.
Das Zauberwort lautet: lcd_command ;-)


grüsse leo9

von Toni (Gast)


Angehängte Dateien:

Lesenswert?

Lieber leo9

Das werde ich tun, muss aber zuerst alles neu installieren. Weiss nun
aber dass es sich lohnen würde !

Habs aber auch so fertig gebracht.

Deine Idee mit lcd_putc() hat mich daran erinnert, dass ich ja über
einen ganz normalen und vielseitig ansprechbaren PORT auf das LCD
zugreife.

Im Anhang meine Lösung, die ich mal schnell mit meinem bestehenden
Aufbau und AtmanAVR gelöst habe.

Funktioniert wunderbar.

Schöne Ostern
Toni

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.