aboutsummaryrefslogtreecommitdiffstats
path: root/README.HD44780
diff options
context:
space:
mode:
Diffstat (limited to 'README.HD44780')
-rw-r--r--README.HD4478096
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!