The PC's parallel port has been used for many applications other than just printers. The PC based cnc community has developed several software packages specifically centered on it to control machines. Initially the software interface was hard coded and couldn't be altered, but most packages evolved to allow the port to be configured within the bounds of the defined inputs and outputs of the PC definition. The image to the right is typical of how most pieces of CNC software utilize the parallel port. This configuration is a non bidirectional definition and is often referred to as SPP or standard parallel port. |-
Parallel Port technical Information
The IEEE 1284 specification defines the electrical characteristics of a PC parallel port. At the time of the release of the original IBM PC, the IEEE 1284 specification didn't exist, and many PC's were manufactured before it came into existence. Wikipedia has an interesting web page on the [IEEE 1284] specification. Generally the signal pins are compatible with 5V TTL levels, although per the specification output HI levels can be as low as 2.4V when sourcing 14ma of current. Pins 2 through 9 can be configured as inputs or outputs and have active high side drivers. Pins 1, 14, 16 and 17 when used as output pins may only have sink drivers with pull up resistors internally. A very typical CNC software application utilizes pins 1 through 9, 14, 16 and 17 as outputs, with pins 10,11,12,13 and 15 as input pins. Pins 18 through 25 are logic common, and it is very common those pins connect to safety ground of the AC plug.
More parallel port information
Here are some examples of how different software packages might define the signals: |-
Wiring a 3 axis system