Parallel Printer Port I/O Interface

A computer uses various input/output ports to talk to peripheral equipment such as printers, monitors, keyboards or modems just to name a few. The printer ports provide two-way communications between the printer and the computer. The computer sends printing codes to the printer. At the same time, it also has to receive status report from the printer end (page feed or busy signals etc). We are making use of this channel to link between the computer and the LCD. In general, there are three addresses defined for the computer to exchange informations (8 bits data) with the printer.

Printer Port Addresses and Pins Definitions
--Address-- --I/O-- D A T A B I T S Descriptions...........
hex 0378 output A7 A6 A5 A4 A3 A2 A1 A0 (8-bits data)
(deci 888) 9 8 7 6 5 4 3 2 (DB-25 printer port pin #)
hex 0379 input B7 B6 B5 B4 B3 X X X
(deci 889) 11 10 12 13 15
hex 037A output X X X X C3 C2 C1 C0
(deci 890) 17 16 14 1


  1. X marks unassessible bits from the port.
  2. According to printer standards, bits B7, A0,A1 and A3 are inverted.
  3. Pins 18 to 25 of the printer port are common negative terminals.
  4. Depending on system settings, the three printer port address set could be hex 03BC, 03BD and 03BE. (decimal 956, 957, 958) Popular diagnostic routines like MSD will tell you your system printer port addresses. Another simple way to find out your printer port addresses would be running the following test BASIC program with your circuit.

If you could change your led states on board with the above testing routine, you have the right address. If not, you select the alternate set as your system's.