"Interfacing the IBM PC parallel printer port" - читать интересную книгу автора (Stewart Z.) D6 8 => 10 S6+ direct
D7 9 => 11 S7- inverted C0- 1 <=* 2 D0 inverted C1- 14 <=* 3 D1 inverted C2+ 16 <=* 4 D2 direct S3+ 15 <=* 5 D3 direct S4+ 13 <= 6 D4 direct S5+ 12 <= 7 D5 direct S6+ 10 <= 8 D6 direct S7- 11 <= 9 D7 inverted C3- 17 <=> 17 C3- direct (OC shared) Gnd 25 === 25 Gnd (ground) * Note: Control outputs used as inputs must be programmed high: C0, C1, C3 = 0 and C2 = 1 [A future version of this document may sketch out the code to send and receive data through these connections] 17. Capturing "printed" data from another machine A computer with a bidirectional printer port, connected with a Mode 2 cable to any standard port, could potentially pretend to be a printer Data port for input, and set appropriate values on its Control Out to mimic a printer on the other computer's Status In lines. In the general case, the problem would be detecting the very brief -Strobe pulse; this would either require an external TTL latch triggered by -Strobe (either edge), or some way to sense a quick pulse on that line. In the latter case, a revised connection (call it Mode 2B) could connect the "printing" computer's -Strobe (C0-) line to the receiving computer's -Ack (S6+) line; the trailing edge of the printing computer's -Stobe would generate an interrupt on the receiving computer. I have not tried this. Of course, the +Busy line would also be needed to avoid data overflow; perhaps it could be kept high (busy) most of the time, but pulsed low after reading the data (which would be handled by the IRQ routine). [If anybody has had some success with this, let me know.] 18. Controlling Outputs This can be easy; just use the Data Out TTL signals to control TTL level items. Unfortunately, they cannot source much current (providing positive voltage on the pin, relative to ground) - be careful of the 2.6 mA limit. Some LSI implementations might allow more or less than this (likely less). Dn Out ------+ |+ |
|
|