Added details for the modular hd44780 driver. Documents the four wiring

methods that the driver supports.
This commit is contained in:
blt
2000-02-21 12:31:45 +00:00
parent 2f9283108b
commit d0f5bc4656
+173 -29
View File
@@ -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)