"Interfacing the IBM PC parallel printer port" - читать интересную книгу автора (Stewart Z.)

=> 9 9 Data 7 D7 Set to most significant data
<= 10 10 -Ack S6+ IRQ Low Pulse ~ 5 uS, after accept
<= 11 11 +Busy S7- High for Busy/Offline/Error
<= 12 12 +PaperEnd S5+ High for out of paper
<= 13 13 +SelectIn S4+ High for printer selected
=> 14 14 -AutoFd C1- Set Low to autofeed one line
<= 15 32 -Error S3+ Low for Error/Offline/PaperEnd
=> 16 31 -Init C2+ Set Low pulse > 50uS to init
=> 17 36 -Select C3- Set Low to select printer
== 18-25 19-30, Ground
33,17,16

Note: Some cables, ports, or connectors may not connect all grounds.
Centronics pins 19-30 and 33 are "twisted pair return" grounds, while
17 is "chassis ground" and 16 is "logic ground".

"<= In" and "=> Out" are defined from the viewpoint of the PC, not the
printer. The IRQ line (-Ack/S6+) is positive edge triggered, but only
enabled if C4 is 1.

Here's the same data grouped for ease of reference by Control Out and Status
In registers and pins. (Data Out is straightforward in previous table).

<= in DB25 Cent Name of Reg
=> out pin pin Signal Bit Function Notes
------ ---- ---- -------- --- ------------------------------
=> 17 36 -Select C3- Set Low to select printer
=> 16 31 -Init C2+ Set Low pulse > 50uS to init
=> 14 14 -AutoFd C1- Set Low to autofeed one line
=> 1 1 -Strobe C0- Set Low pulse > 0.5 us to send

<= 11 11 +Busy S7- High for Busy/Offline/Error
<= 10 10 -Ack S6+ IRQ Low Pulse ~ 5 uS, after accept
<= 12 12 +PaperEnd S5+ High for out of paper
<= 13 13 +SelectIn S4+ High for printer selected
<= 15 32 -Error S3+ Low for Error/Offline/PaperEnd

6. Electrical

See also the tutorial section below on TTL outputs.

The Data Out pins were orginally driven by a 74LS374 octal latch, which could
source 2.6 mA and sink 24 mA. There were 0.0022uF capacitors between each
line and ground to reduce transients. The manual warns "It is essential that
the external device not try to pull these lines to ground", as this might
cause the 74LS374 to source more current than it could handle without damage.

The Feedback input port for the Data Out register consisted of a 74LS244
*tri-state buffer*; it is uninverted. Note that this port is only for
diagnostics - if at any time the feedback *buffer* for the data port does