Marcel Meinersen
Handout: LCD-Ansteuerung
6.5.2013, BerlinHow to control – LCD 162C LED:
LCD-Anschlüsse:
– Üblich: 16 / 14 Pins (mit/ohne Backlight) , beginnend von links gezählt – Steuerleitungen: RS = register select (0=Befehl, 1=Daten), RW= read/write
(1=lesen,0=schreiben), E=enable(signalisiert,Daten können vom LCD übernommen werden) – Datenleitungen: DB0-DB7
– Stromversorgungsleitungen: VSS=GND, VCC=5V, V0=VEE=GND über Kontrastpoti
Control und Display-Commands:
– wichtige Grundbefehle: clear display, cursor home, entry mode set, display on/off control, cursor display shift, function set
– brauchen eine gewisse Verarbeitungszeit (!)
– steuern die gewünschten Einstellungen des Displays
– Cursorbasiertes Schreiben am Display (Cursor ist beliebig setzbar => über Commands) Initialisierung und Betriebsmodus:
– mögliche Betriebsmodi: 8 / 4 Bit Übertragung (4 Bit: zuerst höherwertiges Nibble, dann niederwertiges Nibble übertragen, nach der Aktivierung des Modus)
– Initialisierung nach jeder Inbetriebnahme (!)=>Wahl des Betriebsmodus direkt im Anschluss 3 x den Soft-Reset Befehl mit jeweils circa 5 ms warten, danach beliebige Einstellungen
Soft-Reset:
AVR-GCC-Wiederholung:
– Bitoperationen: << >> Links/Rechts schieben, | binäres Oder, & binäres Und, ^ binäres XOr – IO-Register: DDRx (1=Ausgang, 0= Eingang), PINx (Eingangsregister), PORTx
(Ausgangsregister)
– Definition von Konstanten: #define LCD_CLEAR_DISPLAY, const int 42 Häufige Probleme:
– Initialisierungszeiten des LCD-Controllers beachtet ?
– Enable, RS, RW Leitung gesetzt? Control und Display Commands Ausführungszeiten beachtet?
– BusyFlag regelmäßig überprüft ?
– Cursor nach der Initialisierung richtig eingestellt (Ort, sichtbar, etc.) Quellenangabe:
– http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung – http://www.rn-wissen.de/index.php/LCD-Modul_am_AVR (sehr gut Übersicht) – Projektlaboreinführung in Mikrocontroller
– http://de.wikipedia.org/wiki/Flussigkristallanzeige
TU-Berlin Projektlabor SS 2013 FEAR (4.Gewinnt)