8255

Web reference

http://en.wikipedia.org/wiki/Intel_8255

A parallel link between a PC and a microprocessor using a PIO (8255 chip) in mode 2. It's essentially a 8-bit bidirectional port with 4 additional lines dedicated to hardware handshaking.

It uses the parallel port in compatibility mode so no negotiation is needed. The parallel port must be able to do bidirectional transfer. Some very old PCs (XT) may not support this. Most PC's (286,386 or higher) parallel port should be bidirectional (SPP).

I use this interface on my hardware projects. Here is the pinout:

8255

Parallel

Pin

Bit

PC7

/OBF ->/ACK

10

6

PC6

/ACK <-/SLCTIN

17

3

PC5

IBF -> BUSY

11

7

PC4

/STB <- /STB

1

0

PA[0..7]

D[0..7]

[2..9]

-

The PC is connected to the peripheral end of the 8255, while the CPU side is a Z80. The test file 'test-8255.txt' contains strings for talking to the Z80's BIOS.

This interface works somewhat on Windows natively but the timings seems to be critical. Otherwise, it works well on all the other supported platforms.

I made a test platform with an mbed development board which can test the SPI and the 8255 interface when it's plugged in the parallel port. Both

http://mbed.org/

SPI Tester

8255 emulator

Parallel port tester