Added details for the modular hd44780 driver. Documents the four wiring
methods that the driver supports.
This commit is contained in:
+173
-29
@@ -1,41 +1,41 @@
|
||||
(this text taken from a message by Bill Farrow, more info coming later)
|
||||
<bfarrow@arrow.bsee.swin.edu.au>
|
||||
HD44780 HOWTO
|
||||
-------------
|
||||
|
||||
There are several ways of wiring up the HD44780 devices. Your choice
|
||||
will probably be governed largely by your ability to wire up each one
|
||||
and/or a desire to use the device with other programs.
|
||||
|
||||
The LCDproc HD44780 driver supports the following connections on a
|
||||
parallel port:
|
||||
- 4-bit
|
||||
- 8-bit (winamp style)
|
||||
- extended 8-bit (LCD + LED bargraph)
|
||||
- serial LPT
|
||||
|
||||
The driver also lets you use multiple displays as a single virtual
|
||||
display. For example, a 4, 2 and 1 line display can be used to form a
|
||||
7 line display. The number of displays is limited by the individual
|
||||
HD44780 driver.
|
||||
|
||||
|
||||
The code in LCDproc for the hd4470 LCD controller chips comes from
|
||||
"lcdtext" (by Matthias Prinke) or one of the derivatives ("lcdstat4",
|
||||
"lcdtime").
|
||||
1. Connections
|
||||
--------------
|
||||
|
||||
You might like to get those packages down as well and have a play.
|
||||
1.1 Power
|
||||
----------
|
||||
|
||||
LCDproc-0.4 only supports 4 line displays, but LCDproc-0.3.5 runs 2 line
|
||||
displays also. A different maintainer is responsible for this version.
|
||||
All variants use the same method of obtaining power. i.e., for each LCD:
|
||||
|
||||
The pinouts are like so : (From lcdtext)
|
||||
|
||||
1.1 Connecting the LCD to a printer port
|
||||
-----------------------------------------
|
||||
|
||||
LCD printer port
|
||||
Pin signal Pin signal
|
||||
|
||||
1 GND 18..25 GND
|
||||
2 +5V --- *)
|
||||
3 Vadj. --- *)
|
||||
4 RS 6 D4
|
||||
5 RW 7 D5
|
||||
6 EN 8 D6
|
||||
11 D4 2 D0
|
||||
12 D5 3 D1
|
||||
13 D6 4 D2
|
||||
14 D7 5 D3
|
||||
LCD pin signal
|
||||
1 GND (connect to any of pins 18 - 25 of you parallel port)
|
||||
2 +5V
|
||||
3 Vadj (contrast)
|
||||
|
||||
Getting the supply voltage:
|
||||
Use a floppy supply connector, get it from the game port, take some
|
||||
diodes and a capacitor and get it from the port's data lines, get it
|
||||
from the keyboard connector or whatever you like. Be save to avoid
|
||||
short circuit. You need only 3mA at 5V! (if you have the same type
|
||||
lcd)
|
||||
from the keyboard connector or whatever you like. Be safe to avoid
|
||||
a short circuit. Most non-backlit displays only need 3mA at 5V!
|
||||
|
||||
Connecting the contrast adjusting pin (Vadj.):
|
||||
|
||||
@@ -47,3 +47,147 @@ Connecting the contrast adjusting pin (Vadj.):
|
||||
|
|
||||
Vadj.
|
||||
|
||||
1.2 4-bit
|
||||
----------
|
||||
|
||||
This is originally based on "lcdtext" (by Matthias Prinke).
|
||||
|
||||
The pinouts are:
|
||||
|
||||
printer port LCD
|
||||
|
||||
D0 (2) D4 (11)
|
||||
D1 (3) D5 (12)
|
||||
D2 (4) D6 (13)
|
||||
D3 (5) D7 (14)
|
||||
D4 (6) RS (4)
|
||||
D5 (7) RW (5) (LCD3 - 6) (optional - pull all LCD RW low)
|
||||
D6 (8) EN (6)
|
||||
D7 (9) EN2 (LCD2 - 6) (optional)
|
||||
|
||||
If you want to connect more than two displays to the parallel port then
|
||||
wire D5 (pin 7) to the enable line (pin 6) of the third LCD. Then for
|
||||
displays four to seven use:
|
||||
|
||||
printer port LCD
|
||||
|
||||
STR (1) EN4
|
||||
LF (14) EN5
|
||||
INIT (16) EN6
|
||||
SEL (17) EN7
|
||||
|
||||
|
||||
1.3 8-bit
|
||||
----------
|
||||
|
||||
This type of connection should work with winamp.
|
||||
|
||||
printer port LCD
|
||||
|
||||
D0 (2) D0 (7)
|
||||
D1 (3) D1 (8)
|
||||
D2 (4) D2 (9)
|
||||
D3 (5) D3 (10)
|
||||
D4 (6) D4 (11)
|
||||
D5 (7) D5 (12)
|
||||
D6 (8) D6 (13)
|
||||
D7 (9) D7 (14)
|
||||
nSTRB (1) EN (6)
|
||||
nLF (14) nRW (5) (EN3 6 - LCD 3) (optional)
|
||||
INIT (16) RS (4)
|
||||
nSEL (17) EN2 (6 - LCD 2) (optional)
|
||||
|
||||
If you only want one display, wire nLF (pin 14) to nRW of your LCD.
|
||||
N.B. I haven't tried using winamp while having the third LCD connected
|
||||
to this line.
|
||||
|
||||
|
||||
1.4 Extended 8-bit
|
||||
-------------------
|
||||
|
||||
This is originally based on "lcdtime" (by Benjamin Tse
|
||||
<blt@ComPorts.com>) and allows you to combine the LCD with a LED
|
||||
bargraph. The LCD is driven by LCDproc and the LEDs by another program
|
||||
such as portato. Further details can be obtained from:
|
||||
|
||||
http://metalab.unc.edu/pub/linux/system/status/lcdtime-0.2.tar.gz
|
||||
http://metalab.unc.edu/pub/linux/system/status/meter-0.2.tar.gz
|
||||
http://metalab.unc.edu/pub/linux/system/status/portato-1.2.tar.gz
|
||||
|
||||
The LCD connections are:
|
||||
|
||||
printer port LCD
|
||||
|
||||
D0 (2) D0 (7)
|
||||
D1 (3) D1 (8)
|
||||
D2 (4) D2 (9)
|
||||
D3 (5) D3 (10)
|
||||
D4 (6) D4 (11)
|
||||
D5 (7) D5 (12)
|
||||
D6 (8) D6 (13)
|
||||
D7 (9) D7 (14)
|
||||
nSEL (17) -
|
||||
nSTRB (1) RS (4)
|
||||
nLF (14) RW (5) (LCD2 - 6) (optional - pull all LCD RW low)
|
||||
INIT (16) EN (6)
|
||||
|
||||
See the lcdtime tar-ball (above) for full details of the bargraph
|
||||
connections.
|
||||
|
||||
|
||||
1.5 Serial LPT
|
||||
---------------
|
||||
|
||||
This interface uses a handful of wires to interface to the
|
||||
HD44780. Suitable for high noise, long connections. Designed by
|
||||
Andrew McMeikan <andrewm@engineer.com>. Refer to
|
||||
http://members.xoom.com/andrewmuck for details of the connections.
|
||||
|
||||
|
||||
2. Compiling
|
||||
------------
|
||||
|
||||
Make sure that the HD44780 files are built when you run configure. This
|
||||
can be done by specifying "--enable-drivers=all" or by
|
||||
"--enable-drivers=hd44780".
|
||||
|
||||
|
||||
3. Running
|
||||
----------
|
||||
|
||||
Keep in mind the following points.
|
||||
|
||||
- When specifying the lcd size, do so before the -d argument.
|
||||
- Arguments that need to be passed to the driver should be in quotes after
|
||||
the -d HD44780 arguments.
|
||||
- Use the "-e" argument for extended interfaces (e.g. >= 3 displays as
|
||||
indicated by "optional" connections above).
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
|
||||
For a 4bit connection, 16x2 display on port 0x278
|
||||
LCDd -t 16x2 -d HD44780 "-p 0x278"
|
||||
|
||||
For a 4bit, 40x4 display (effectively two 40x2 displays)
|
||||
LCDd -t 40x4 -d HD44780 "-v 2,2"
|
||||
|
||||
For a Winamp connection, 20x2 and 20x1 displays
|
||||
LCDd -t 20x3 -d HD44780 "-c winamp -v 2,1"
|
||||
|
||||
For a 4bit, 16x2, 16x4 and 16x1 displays
|
||||
LCDd -t 16x7 -d HD44780 "-v 2,4,1 -e"
|
||||
|
||||
For help on the parameters for the 8-bit driver (make sure --help is the
|
||||
last arguments in quotes):
|
||||
LCDd -d HD44780 "-c 8bit --help"
|
||||
|
||||
|
||||
4. Miscellania
|
||||
---------------
|
||||
|
||||
This text originally taken from a message by Bill Farrow
|
||||
<bfarrow@arrow.bsee.swin.edu.au>.
|
||||
|
||||
Updated February 2000, Benjamin Tse (blt@ComPorts.com)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user