Dieser Beitrag beschreibt den Anschluss eines LC-Text-Displays an die Experimentierplatine des BASCOM Lernpaketes und zeigt wie diese Einheit anschließend auch ohne PC genutzt werden kann. Moderne LCD Displays benötigen sehr wenig Strom, daher kann der ganze Aufbau problemlos über den USB-Anschluss des PC mit Spannung versorgt werden.
Um die Handhabung zu vereinfachen, wurden die Experimentierplatine und das Display auf eine kleine Sperrholzplatte geschraubt. Als Hilfe bei der Verdrahtung kann man sich einen kleinen Zettel mit der Pinbelegung einkleben. Mit Hilfe des Steckernetzteils von einem MP3-Players mit USB-Anschluß kann die ganze Einheit auch ohne PC betrieben werden. Einfach das mitgelieferte USB-Kabel ins Netzteil stecken und das andere Ende wie gewohnt mit der Platine verbinden. Die Software auf der Experimentierplatine startet nach dem Anlegen der Versorgungsspannung automatisch.
Um das LCD Display zuschließen zu können empfiehlt es sich, eine abgewinkelte Steckerleiste auf das Lochrasterfeld der Platine aufzulöten. Ergänzt wird diese durch eine Reihe einer Buchsenleiste (z.B. Typ SPL20 von Reichelt) mit der dann die Steckerleiste 1:1 verbunden wird. So kann der Aufbau in der üblichen Weise verdrahtet werden. Zudem kann die Steckerleiste später auch für weitere Experimente mit anderer Zusatzhardware als dem Displaymodul genutzt werden. Die Bilder verdeutlichen den Aufbau.
Das hier beispielhaft verwendete Display ist ein 16*2 Zeichen LCD von Displaytech mit einem HD44780 kompatiblen Steuerchip. Solche Displays gibt es auch in vielen anderen Größen - so z.B. mit 8*2, 16*1 oder 16*4 Zeichen. Dieser Typ von Displays besitzt insgesamt 16 Anschlüsse nach Industriestandard, die in der Regel wie folgt belegt sind:

Bei Displays ohne Hintergrundbeleuchtung fehlen die Anschlüsse 15 und 16.
BASCOM unterstützt standardmäßig den Einsatz von LC-Displays im 4-Bit-Mode, d.h. von den acht Datenleitungen werden nur die vier höchsten (DB4 bis DB7) benötigt, was die Anzahl der belegten Ports reduziert. Daher ist ein 10-poliger Stecker ausreichend, um das Display vollständig zu verkabeln und anzuschließen.
Es werden die folgenden Pins belegt:
Die mit einem Stern gekennzeichneten Pins werden per Drahtverbindung mit einem Port des MEGA88 verbunden, die anderen Leitungen mit GND bzw. VCC der Experimentierplatine. Der Pin 5 wird direkt am Modul mit Pin1 verbunden, ebenso wird das 10-k-Poti zum Einstellen des Kontrasts direkt an das Display gelötet. Der Mittelanschluss geht auf Pin3, die beiden anderen Anschlüsse an VCC und GND. Die Anschlüsse 15 und 16 sind mit der LED für die Hintergrundbeleuchtung verbunden. Soll diese aktiviert werden, ist ein Widerstand ca. 150 bis 220 Ohm in die Verbindung zu VCC einzuschleifen.
Die Programmierung eines LCD Display unter BASCOM ist sehr einfach. Hier ein kleines Beispielprogramm das die Grundlagen zeigt:
'Bascom LCD Ansteuerung
'
$regfile = "m88def.dat"
$crystal = 8000000
$baud = 19200
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.5 , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4
Cls
Upperline
Lcd "Hallo Mega 88"
Lowerline
Lcd "BASCOM Lernpaket"
End
Download: Bascom-Quelltext und Hex-Datei
Der Befehl Config Lcd legt die Größe des verwendeten Displays. Hier also je 16 Zeichen in 2 Zeilen. Anschließend werden mit dem Befehl Config Lcdpin die für die Ansteuerung des Displays verwendeten Ports definiert. Hier sind es von PortB die Bits 0, 5, 1, 2, 3 und 4 die verwendet werden. Der Anwender ist bei der Wahl der Ports frei. Man muß nur darauf achten dann auch die Verdrahtung korrekt zu machen.
Mit Cls wird das Display gelöscht, die Befehle Upperline und Lowerline positionieren den Cursor entsprechend. Der Befehl LCD dient der Textausgaben und ist funktional mit der bekannten PRINT-Anweisung identisch, nur dass eben der Text auf dem Display statt dem Terminal ausgegeben wird.
Hier noch eine Übersicht der wichtigsten LCD-Befehle:
CONFIG LCDPIN
Hier können die einzelnen Pins des LCD Display frei den Anschlüssen des MEGA88 zugewiesen werden. Siehe obiges Beispielprogramm.
CONFIG LCD
Definiert die Größe des Displays in Zeichenbreite mal Zeilen. Siehe obiges Beispielprogramm.
CLS
Löscht das Display und setzt den Cursor an die erste Stelle in der ersten Zeile
LCD
Dieser Befehl ist das Pendant zu PRINT, nur mit dem Unterschied dass die Ausgabe auf dem angeschlossenen LCD Display erfolgt.
UPPERLINE / LOWERLINE
Damit kann der Cursor auf die obere oder untere Zeile gesetzt werden. Für Displays mit 4 Zeilen gibt es noch die Befehle THIRDLINE und FOURTHLINE
LOCATE y,x
Mit dem Befehl LOCATE kann der Cursor auf eine beliebige Position des Displays gesetzt werden, um dort dann mittels LCD eine Text auszugeben. Y ist die Zeile, X ist die Zeichenstelle.
CURSOR (ON / OFF)
Schaltet den Cursor ein oder aus. Standardmäßig ist der Cursor eingeschaltet und ist als Blinkender Strich sichtbar.
SHIFTLCD (LEFT / RIGHT)
Verschiebt den Inhalt des LCD Displays um eine Stellen nach rechts oder Links. Nicht mehr angezeigte Zeichen fallen raus (?)
SHIFTCURSOR (LEFT / RIGHT)
Dieser Befehl verschiebt den Cursor um eine Stelle nach rechts oder Links!
Eine detaillierte Beschreibung aller genannten LCD-Befehle finden Sie in der BASCOM Hilfe. Am einfachsten geht es, den Befehl im Editor zu schreiben und dann einfach die F1-Taste zu drücken.
Literatur:
Lernpaket Mikrocontroller Technik mit Bascom
LCD Erweiterungskurs