aboutsummaryrefslogtreecommitdiffstats
path: root/README.HD44780
diff options
context:
space:
mode:
authorreinelt <>2003-07-28 08:22:17 +0000
committerreinelt <>2003-07-28 08:22:17 +0000
commit6ea1ce26e69f1180806cd31f71a3e59091820371 (patch)
tree81727c51879200aa64fb97163e4333811c8cf066 /README.HD44780
parent80ad6d155c1b974590f0c96b6291b0baa70b09d5 (diff)
downloadlcd4linux-6ea1ce26e69f1180806cd31f71a3e59091820371.tar.gz
[lcd4linux @ 2003-07-28 08:22:17 by reinelt]
several README's moved to web page
Diffstat (limited to 'README.HD44780')
-rw-r--r--README.HD44780124
1 files changed, 0 insertions, 124 deletions
diff --git a/README.HD44780 b/README.HD44780
deleted file mode 100644
index 5fb762e..0000000
--- a/README.HD44780
+++ /dev/null
@@ -1,124 +0,0 @@
-#
-# $Id: README.HD44780,v 1.3 2001/03/14 15:14:59 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.
-
-At least the following types are known to work:
-
-DataVision DV16244: 2 lines by 16 characters
-Nan Ya NLC 08x2x06: 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 had to be calibrated (see Configuration below).
-Since 0.98 there are two new delay loops, one based on the processor's TSC (Time Stamp Counter),
-one based on gettimeofday(). lcd4linux decides automatically which one to use (it prefers the
-TSC method, but falls back to gettimeofday() if neither the tsc flag nor the MHz value is set
-in /proc/cpuinfo).
-
-The driver knows of two ways of controlling the parallel port: The (old, ugly and unportable) raw
-programming of ports, and the new, cool, great ppdev() style. You decide which one to use by
-specifying either a hexadecimal value or a device file with the 'Port' entry in the config file.
-
-Note that the old port programming only works with standard ports (0x3f8, 2f8,...), but not
-with PCI parallel port cards.
-
-ppdev requires kernel 2.4. The configure script detects if you have the required include files,
-and deactivates ppdev if they are not there.
-
-You should use ppdev whenever possible. Raw port access may be dropped someday.
-
-
-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: either the hexadecimal address of the parallel port (e.g. 0x378)
- or a ppdev device (e.g. /dev/parports/0)
-
-Size: [columns]x[rows] e.g. "16x2"
-
-
-#ifdef USE_OLD_UDELAY
-
-Delay: calibration of the delay loop, loops per microsecond
- THIS IS NO LONGER NECESSARY!
-
-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
-AMD Athlon 1010 MHz, 2012 BogoMips: 505
-
-#endif
-
-
-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!