LCD an Parallelport

Wechseln zu: Navigation, Suche

von Benutzer:Andreas

Häufig wird gefragt, wie man ein LC-Display an einen PC anschließen kann, z. B. um diesen als monitorlosen MP3-Player zu verwenden oder um Statusmeldungen anzuzeigen. Dafür habe ich hier mal eine kleine Anleitung + Programm gemacht. Selbstverständlich kann ich keine Haftung für evtl. entstehende Schäden am LCD oder am PC übernehmen.

Hardware[Bearbeiten]

Für diese Schaltung brauchst du ein HD44780-kompatibles LCD mit 2x16 Zeichen (gibt's z.B bei Reichelt und Kessler).

Folgende Verbindungen müssen zwischen LCD und PC hergestellt werden:

Pin am LCD	angeschlossen an
================================================
1 (VSS)         GND
2 (VCC)         +5V
3 (Kontrast)    GND
4 (RS)          Parallelport 14 (Auto Linefeed)
5 (R/W)         GND
6 (E)           Parallelport 1 (Strobe)
7 (D0)          Parallelport 2 (D0)
8 (D1)          Parallelport 3 (D1)
9 (D2)          Parallelport 4 (D2)
10 (D3)         Parallelport 5 (D3)
11 (D4)         Parallelport 6 (D4)
12 (D5)         Parallelport 7 (D5)
13 (D6)         Parallelport 8 (D6)
14 (D7)         Parallelport 9 (D7)

Da der Parallelport zur Stromversorgung des LCDs nicht genug Saft hergibt, braucht man eine zusätzliche 5V-Stromversorgung, z. B. mit dem im AVR-Tutorial gezeigten Spannungsregler. Die Masse (GND) des Spannungsreglers muss mit einer der GND-Leitungen des Parallelports (Pin 18 - 25) verbunden werden, der 5V-Ausgang mit Pin 2 des LCDs.

Falls die Anzeige zu dunkel ist, kann man den Kontrasteingang des LCDs (Pin 3) an ein zwischen 5V und GND geschaltetes 10k-Poti anschließen um den Kontrast zu regeln.

Software[Bearbeiten]

Das DOS-Programm "lcdprint" zur Textausgabe auf dem LCD habe ich mit Borland C++ 3.1 kompiliert, es sollte jedoch kein Problem sein es für andere Compiler anzupassen. Das Programm läuft leider nicht unter Windows NT oder 2000.

Verwendung[Bearbeiten]

Die erste Version von lcdprint kann mit folgenden Optionen aufgerufen werden:

 -i       LCD initialisieren (muss nach dem Einschalten als erstes aufgerufen werden)
 -s       Cursorposition festlegen
          Beispiel: "lcd.exe -s 8 2" bewegt den Cursor zum 8. Zeichen in der 2. Zeile
 -c       Anzeige löschen
 -h       Cursor zur Ausgangsposition zurücksetzten
 -?       Hilfe anzeigen

Der nach den Optionen angegebene Text wird direkt auf dem LCD angezeigt. Die Zeile

lcd.exe -i -s 2 1 Das ist ein Test

initialisiert das Display und gibt den Text "Das ist ein Test" am Anfang der 2. Zeile aus.

Volker Urban hat meine Software überarbeitet und mit ein paar Funktionen erweitert. Hier die Liste aller Änderungen:

09.02.2002 v0.2.1

  • Bugfix für einige Rechner
  • Simpler Testmodus für Parallelport


18.08.2001 v0.1a

  • Verzögerungen waitms mit delay() statt ZTIMER -> keine Non-Standard Lib nötig
  • Portaddressen auf 0x3bc und 0x278 erweitert
  • lcd_write_data, lcd_write_command und lcd_init überarbeitet
  • 4 bit interface eingearbeitet (nicht ausführlich getestet)
  • lcd Funktionen und userinterface (cmd line) in getrennte Dateien (lcd_lib.c und lcd.c)
  • LCD Modus (Display control) eingearbeitet (Display, cursor, Blink ON/Off)
  • Display shift eingearbeitet
  • load character generator RAM eingearbeitet
  • Anzeige zeichen nach Eingabe code eingerabeitet

Download[Bearbeiten]

Ähnliche Projekte[Bearbeiten]