The following information is provided as is, and the authors take no responsibility for the correctness.

Parallel Port

A parallel port is a type of socket found on personal computers for interfacing with various peripherals. It is also known as a printer port or Centronics port. The IEEE Standard 1284 standard defines the bi-directional version of the port.

Standards

Port addresses

Traditionally IBM PC systems have allocated their first three parallel ports according to the configuration in the table below.

PORT NAME Interrupt # Starting I/O Ending I/O
LPT1 IRQ 7 0x3bc0x3bf
LPT2 IRQ 5 0x3780x37f
LPT3 IRQ 5 0x2780x27f

If there is an unused LPTx slot, the port addresses of the others are moved up. (For example, if a port at 0x3bc does not exist, the port at 0x378 will then become LPT1.) The IRQ lines, however, remain fixed (therefore, 0x378 at LPT1 would use IRQ 7). The port addresses assigned to each LPTx slot can be determined by reading the BIOS Data Area (BDA) at 0000:0408.

Bit to Pin Mapping for the Standard Parallel Port (SPP):

Address MSB LSB
Bit: 7 6 5 4 3 2 1 0
Base Pin: 9 8 7 6 5 4 3 2
Base+1 Pin: ~11 10 12 13 15
Base+2 Pin: ~17 16 ~14 ~1

~ indicates a hardware inversion of the bit.

  • Parallel Port Central: A collection of files and links to material about the PC's parallel port, including ECP, EPP, bidirectional, and IEEE-1284 modes (and other I/O ports as well).
  • pinouts.ru: Handbook of hardware pinouts, cables schemes and connectors layouts. Parallel interfaces pinouts listing.
  • RedTitan: make a device to capture print sent to a centronics port and convert the data to electronic format.
  • Beyond Logic: Information, articles, tools, and links

Tools

Books

isbn0965081915.jpg Parallel Port Complete, by Jan Axelson.
Programming, Interfacing & Using the PC's Parallel Printer Port.
ISBN 096508191-5
isbn0879305134.jpg Programming the Parallel Port, by Dhananjay V. Gadre.
Interfacing the PC for Data Acquisition and Process Control.
ISBN 0-87930-513-4

 
formats/communication_protocols/parallel_port.txt · Last modified: 2008/09/17 09:04 (external edit)
 

All text is available under the terms of the GNU Free Documentation License (see Copyrights for details). Disclaimers

Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki