Parallel printer interfaces


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