The printer port has 8 data outputs, 4 status outputs and 5 status inputs.
6 of the data outputs are used to drive the LCD. The LCD module has a special driver chip
from Hitachi on it,the HD44780. It has builtin display logic, a character generator and an
interface.
This is a very common chip, most of the alphanumeric LCD's you can get on the market use this type.
There are many variations of LCD's, from 1 row * 16 characters to 4 rows * 20 characters.
I used a 4*20 type, because it's difficult to display all informations on a smaller one.
But I will support all types of LCD's in the future, to make it possible to use cheap surplus LCD's.
Normally the LCD needs an additional pwer supply (+5V). If you are building a standalone player,
you can simply get it from the main power supply. If you are planning to use XIMP as an external
device, you can get the +5V from the PC's keyboard connector.
The program can display the informations on the LCD by sending commands and data through
the data outputs.
See the additional documenation and the example code how this can be done.
Back to XIMP:
The 16 keys form a matrix keyboard of 4 rows and 4 columns.
Every column is connected to one of the status outputs.
Every row is connected to one of the status inputs.
To know what key has been pressed, the program must do the following:
- set one column to low (0 Volt), leave all others high (+5 Volts).
- read all rows. If one key in the column is pressed, the correspondig row input will be low.
- proceed with the next column.
See the example code how this can be done with common programming languages.