diff --git a/docs/hd44780_howto.txt b/docs/hd44780_howto.txt index 308d068..7bc4bef 100644 --- a/docs/hd44780_howto.txt +++ b/docs/hd44780_howto.txt @@ -1,41 +1,41 @@ -(this text taken from a message by Bill Farrow, more info coming later) - +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 +) 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 . 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 +. + +Updated February 2000, Benjamin Tse (blt@ComPorts.com) +