LCD an Parallelport
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
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
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
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
- lcdprint 0.1 Sourcecode
- lcdprint 0.1 EXE
- lcdprint 0.1 Sourcecode, EXE und Timer-Libs
- lcdprint 0.1a von Volker Urban (18.08.2001) Sourcecode und EXE
- lcdprint 0.2.1 von Volker Urban (09.02.2002) Sourcecode und EXE
Ähnliche Projekte
- LCDproc - zeigt Systeminformationen und vieles andere
- lcd4linux - Anzeige von Systeminformationen
- Terminalemulator für Linux (mit PIC-Mikrocontroller)
- LCD-Plugin für Winamp
- Projekt T6963-LCD-Ansteuerung
- STLCD - LCD an USB/Parallelport, Anzeige von Systeminformationen wie Temperaturen, Speicherkapazitäten etc.
- I/O Ports Uncensored Part 2 - Controlling LCDs (Liquid Crystal Displays) and VFDs (Vacuum Fluorescent Displays) with Parallel Port - Programmierung in C#.
- LCD Module to PC Parallel Port Information - siehe auch dortige Links zu Steuersoftware!
- Software JaLCD 2.1
- Ansteuerung_Handy_Displays
- lcdhype
- Bibliothek für Nokia 3310 Lcd Ansteuerung in "C" - sehr gut