K (→4-Bit Ansteuerung) |
K |
||
Zeile 14: | Zeile 14: | ||
===Anschlußbelegung=== | ===Anschlußbelegung=== | ||
− | Die meisten Text-Display verfügen über eine identisch belegte Anschlußbelegung. Lediglich bei der Backlight Versorgungsspannung und Polung kann es Unterschiede geben. Im Zweifelsfall hilft | + | 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. |
{|{{Blauetabelle}} | {|{{Blauetabelle}} | ||
Zeile 78: | Zeile 78: | ||
|--- | |--- | ||
|15 | |15 | ||
− | |GND | + | |GND BL |
|Masse Hintergrundbeleuchtung | |Masse Hintergrundbeleuchtung | ||
|--- | |--- | ||
|16 | |16 | ||
− | |VCC | + | |VCC BL |
|Spannungsversorgung Hintergrundbeleuchtung, mit Vorwiderstand | |Spannungsversorgung Hintergrundbeleuchtung, mit Vorwiderstand | ||
|} | |} | ||
Zeile 89: | Zeile 89: | ||
===8-Bit Ansteuerung=== | ===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. | + | 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. |
− | [[Bild:lcdmodul_8bit_schem.png|center| | + | |
+ | [[Bild:lcdmodul_8bit_schem.png|center|thumb|600px|8-Bit Ansteuerung]] | ||
===4-Bit Ansteuerung=== | ===4-Bit Ansteuerung=== | ||
Zeile 97: | Zeile 98: | ||
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. | 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. | ||
− | [[Bild:lcdmodul_4bit_schem.png|center| | + | [[Bild:lcdmodul_4bit_schem.png|center|thumb|600px|4-Bit Ansteuerung]] |
+ | |||
+ | 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=== | ===Ansteuerung über Porterweiterung=== | ||
Zeile 109: | Zeile 123: | ||
Die wenigsten Prozessor Ports benötigt man bei der I2C-Ansteuerung. Dazu wird allerdings ein I2C Porterweiterungs IC benötigt. Dazu reicht der PCF8574P aus. Natürlich gibt es auch fertige Displays mit I2C Interface. | Die wenigsten Prozessor Ports benötigt man bei der I2C-Ansteuerung. Dazu wird allerdings ein I2C Porterweiterungs IC benötigt. Dazu reicht der PCF8574P aus. Natürlich gibt es auch fertige Displays mit I2C Interface. | ||
− | [[Bild:lcdmodul_i2c_schem.png|center| | + | [[Bild:lcdmodul_i2c_schem.png|center|thumb|600px|I2C-Ansteuerung]] |
− | 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. | + | 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 I2C anzusprechen, sieht dann so aus. |
$lib "Lcd_i2c.lib" | $lib "Lcd_i2c.lib" | ||
Zeile 119: | Zeile 133: | ||
Dim _lcd_e As Byte | Dim _lcd_e As Byte | ||
_lcd_e = 128 | _lcd_e = 128 | ||
+ | |||
+ | Cls 'clear the LCD display | ||
+ | Locate 1 , 1 | ||
+ | Lcd "Hello world." 'display this at the top line | ||
===Ansteuerung über RS232=== | ===Ansteuerung über RS232=== |
Version vom 5. Juni 2006, 13:45 Uhr
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 I2C
Die wenigsten Prozessor Ports benötigt man bei der I2C-Ansteuerung. Dazu wird allerdings ein I2C Porterweiterungs IC benötigt. Dazu reicht der PCF8574P aus. Natürlich gibt es auch fertige Displays mit I2C Interface.
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 I2C 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 - I2C LCD and Keyboard library