diff options
Diffstat (limited to 'README.HD44780')
-rw-r--r-- | README.HD44780 | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/README.HD44780 b/README.HD44780 new file mode 100644 index 0000000..8fc87d4 --- /dev/null +++ b/README.HD44780 @@ -0,0 +1,96 @@ +# +# $Id: README.HD44780,v 1.1 2000/04/17 05:14:27 reinelt Exp $ +# + +This is the README file for the HD44780 display driver for lcd4linux + +This driver supports all display modules based on the Hitachi HD44780 chip. +These displays are made by different manufactures, and come in various sizes. + +The following types are known to work: + +DataVision DV16244: 2 lines by 16 characters + PM0820A: 2 lines by 8 characters + +The displays are connected to the parallel board (see Wiring below), and are quite timing-critical. +There's no way to delay a usermode program under Linux for e.g. 40 usec, so we have to do +busy-waiting. This is done in a delay loop, which has to be calibrated (see Configuration below). + +The driver supports vertical, horizontal and split bars (two independent bars in one line), +all bar types can be used simultanously. As the displays only have 8 user-defined characters, +the needed characters to display all the bars must be reduced to 8. This is done by replacing +characters with similar ones. To reduce flicker, a character which is displayed at the moment, +will not be redefined, even if it's not used in this run. Only if the character compaction +fails, this characters will be redefined, too. + + +Configuration: + +The driver needs the following entries in lcd4linux.conf: + +Display: HD44780 +Port: the hexadecimal address of the parallel port (e.g. 0x378) +Size: [columns]x[rows] e.g. "16x2" +Delay: calibration of the delay loop, loops per microsecond + +It is very important to use a correct delay value, otherwise you will get only junk on the +display. lcd4linux has a switch '-d' where it helps you to find the correct value. Run +'lcd4linux -d' several times on a otherwise idle machine, and use the maximum value. If you +encounter display problems, increase this value. But don't take it too big, lcd4linux will get +slow, and you're burning CPU cycles. + +The delay value is defined by your CPU model and clock frequency (it looks like it's your +'BogoMips' value divided by 2, because we use a similar delay loop than the kernel does). +Here are some examples: + +Pentium MMX, 133 MHz, 106 BogoMips: 54 +Pentium MMX, 166 MHz, 333 BogoMips: 166 +Celeron, 333 MHz, 333 BogoMips: 166 +Pentium III, 600 MHz, 600 BogoMips: 300 + + +Wiring: + +There are two basic wiring modes for HD44780-Displays: a 4 bit mode (used by lcdproc) and a +8 bit mode (used by most other packages). At the moment we only support the 8 bit mode, but +I'm working on the 4 bit mode, too. + +The main difference is that the 8 bit mode transfers one byte at a time, but the HD44780 needs +some control signals, so some of the parallel port control lines are used for this. The 4 bit +mode uses only 4 bits for data (so a byte has to be transferred in two cycles), but you can use +the other 4 bits for the control signals. + +Normally a HD44780-based display have 14 or 16 pins, where pins 15 and 16 are used for backlight. +Power (+5V) must be supplied via pins 1 and 2, be careful not to change polarity, you will +destroy your display! Pin 3 is used to control the contrast, you can either hardwire it to GND +(pin 1) or place a potentiometer (10k-20k) between pins 1 and 2, and connect pin 3 to the slider. + +Note that the data bits are called DB0..DB7 on the display, but DB1..DB8 on the parallel port! + +Here comes the wiring diagram for the 8 bit mode: + +--- Display --- --- DB25 --- --- comment --- +Name Pin Pin Name + +GND 1 18 GND GND of power supply, too! ++5V 2 - power supply only +LCD drive 3 - see above +RS 4 14 Auto Feed register select, 0=data, 1=command +R/W 5 18 GND hardwired to 0, write data only +Enable 6 1 Strobe toggled when data is valid +DB0 7 2 DB1 data bit 0 +DB1 8 3 DB2 data bit 1 +DB2 9 4 DB3 data bit 2 +DB3 10 5 DB4 data bit 3 +DB4 11 6 DB5 data bit 4 +DB5 12 7 DB6 data bit 5 +DB6 13 8 DB7 data bit 6 +DB7 14 9 DB8 data bit 7 ++5V 15 - power for backlight +GND 16 - power for backlight + 10-13 not connected + 15-17 not connected + 19-25 not connected + + +Wiring diagram for 4 bit mode: soon to come! |