An diesem Artikel arbeitet gerade Mitglied m_a_r_v_i_n.
Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen. Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor m_a_r_v_i_n per PM / Mail oder Forum nachfragen ob er vergessen wurde. |
Inhaltsverzeichnis
Einleitung
LCD ist eine Abkürzung und bedeutet Liquid Crystal Display. Übersetzt bedeutet dies Flüssig-Kristall-Anzeige.
Text-Displays
Text-Displays kommen wegen der problemlosen Anbindung in Mikrocontroller Projekten wie Robotern am häufigsten zum Einsatz.
Anschlußbelegung
Die meisten Text-Display verfügen über eine identisch belegte Anschlußbelegung und verfügen über 16 Anschluß Pins (LCD-Module ohne Backlight über 14 Pins). Lediglich bei der Backlight Versorgungsspannung und Polung kann es Unterschiede geben. Im Zweifelsfall hilft hier der Blick ins Datenblatt.
Pin | Bezeichnung | Beschreibung |
1 | GND | Masse |
2 | VCC | Spannungsversorgung +5V |
3 | VEE | Kontrast Poti 0..0,5V |
4 | RS | Register Select, 1=Daten schreiben / 0=Kommando senden. |
5 | R/W | 1=Read / 0=Write zum lesen / schreiben in das Display RAM |
6 | Enable | Fallende Flanke -> Übertragen des Kommandos oder der Daten, H-Pegel -> Lesen von Daten aus dem Display |
7 | DB0 | Datenbus Bit0 LSB |
8 | DB1 | Datenbus Bit1 |
9 | DB2 | Datenbus Bit2 |
10 | DB3 | Datenbus Bit3 |
11 | DB4 | Datenbus Bit4 |
12 | DB5 | Datenbus Bit5 |
13 | DB6 | Datenbus Bit6 |
14 | DB7 | Datenbus Bit7 MSB |
15 | GND BL | Masse Hintergrundbeleuchtung |
16 | VCC BL | Spannungsversorgung Hintergrundbeleuchtung, mit Vorwiderstand |
8-Bit Ansteuerung
Für die 8-Bit Ansteuerung werden die meisten Prozessor-Ports benötigt. Da Prozessor-Ports normalerweise rar sind ist diese Anbindung sicher nicht die erste Wahl. Bei dieser Ansteuerung werden 10 Prozessor Ports benötigt. Die R/W Leitung des Displays kann man einfach auf GND legen, man will das Display schließlich nur schreiben, niemals lesen.
4-Bit Ansteuerung
Mit die häufigste Anbindungsart sit sicher die 4-Bit Ansteuerung. Man spart gegenüber der 8-Bit Ansteuerung 4 Prozessor-Ports und kommt ohne zusätzliche Bauteile aus (abgesehen vom Poti zur Kontrastregelung). Bei dieser Ansteuerung werden 6 Prozessor Ports benötigt. Die R/W Leitung des Displays kann man einfach auf GND legen, man will das Display schließlich nur schreiben, niemals lesen.
Das Programm zur Ansteuerung des Displays im 4-Bit Mode.
$regfile = "m32def.dat" $crystal = 16000000
Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Config Lcdbus = 4 Cls Locate 1 , 1 Lcd "Hello world."
Ansteuerung über Porterweiterung
Mit einem Porterweiterungs Baustein lassen sich weitere Prozessor-Ports einsparen. Diese Lösung kommt mit 4 Prozessor Ports aus, läßt man die Abfrage des Busy-Bits weg sogar nur mit 3 Prozessor Ports. Trotzdem wird das Display im 8-Bit Mode betrieben.
Ansteuerung über I²C
Die wenigsten Prozessor Ports benötigt man bei der I²C-Ansteuerung. Dazu wird allerdings ein I²C Porterweiterungs IC wie der PCF8574P benötigt.
Diese Anwendung hier basiert auf der Application Note AN#118 von MCS electronics. Dazu gibt es auch eine fertige Library zu BASCOM-AVR. damit können die gleichen Befehle zur Ansteuerung verwendet werden. Das BASCOM Programm, um das LCD-Modul über I²C anzusprechen, sieht dann so aus.
$lib "Lcd_i2c.lib" Const Pcf8574_lcd = &H40 Config Scl = Portd.6 Config Sda = Portd.7 Dim _lcd_e As Byte _lcd_e = 128
Cls 'clear the LCD display Locate 1 , 1 Lcd "Hello world." 'display this at the top line
Ansteuerung über RS232
Displays mit RS232 Ansteuerung sind teuerer als Displays mit Parallel Ansteuerung. Dafür bieten sie meistens noch
Graphik-Displays
In Mikrocontroller Anwendungen seltener anzutreffen sind Grafik-Displays. Da der Aufwand hier um einiges höher ist (jeder Pixel ist einzeln anzusteuern), kommen in der Praxis nur Grafik-Displays mit serieller Ansteuerung zum Einsatz.
Siehe auch
Weblinks
- MCS electronics AN #118 - I²C LCD and Keyboard library