The pinout of a standard parallel printer port is as follows :
- indicates negative going signal
Pin Name In/Out (to/from PC)
| 1 | -STROBE | O |
| 2 | D0 | I/O |
| 3 | D1 | I/O |
| 4 | D2 | I/O |
| 5 | D3 | I/O |
| 6 | D4 | I/O |
| 7 | D5 | I/O |
| 8 | D6 | I/O |
| 9 | D7 | I/O |
| 10 | -ACKnowledge | I |
| 11 | BuSY | I |
| 12 | Paper Error | I |
| 13 | SELECTED | I |
| 14 | -AUTOFeeD | O |
| 15 | -ERROR | I |
| 16 | -INITialize | O |
| 17 | -SELECT | O |
| 18..25 | GND |
Data is latched into the printer's buffer by means of the -Strobe signal. The printer then acknowledges by
pulsing the -Acknowledge signal. If the printer is unable to accept
any further data, (for example if the printer's buffer is full), the Busy signal is asserted. Under this condition, no further -STROBE pulses are
send from the computer until the BUSY signal is de-asserted.
The other I/O lines are:
PE (Paper Empty) [In] - driven high by printer when paper out.
SELECTED [In] - high when printer on-line, low when off-line.
-ERROR [In] - low when error occurs (e.g. print head overheat or comms error).
-SELECT [Out] - turns printer on line (low) or off-line (high).
-INIT (Initialise / Prime) [Out] - Low to initialise (reset) printer.
-AUTOFD (Auto Feed) - Low causes LF (char.10) and CR (char.13)
In addition, many parallel ports now support bidirectional data flow on the
data lines.
Making up your own parallel cables is time consuming and it's easier just to buy them unless you want to do something non-standard like using the port as a a digital I/O.
A Laplink type PC to PC parallel cable uses DB25 male connectors each end with the following pinout:
| 1 | open |
| 2 | 15 |
| 3 | 13 |
| 4 | 12 |
| 5 | 10 |
| 6 | 11 |
| 7 | open |
| 8 | open |
| 9 | open |
| 10 | 5 |
| 11 | 6 |
| 12 | 4 |
| 13 | 3 |
| 14 | open |
| 15 | 2 |
| 16 | open |