16.1 Main Digital I/O on J4: Internal 82C55 Circuit

The 82C55-type digital I/O circuit is accessed through page 1 at addresses Base + 12 through Base + 15. Address 0 on the chip is equivalent to address 12 in the register map, etc. Before performing any access to the digital I/O circuit, you must set the current page to page 1 with the miscellaneous control register at Base + 8 to ensure that the proper page is enabled. See page 21 for the format of this register. Note that writing page bits to the miscellaneous control register will not implement a board reset or interrupt reset operation as long as the two reset bits are left at 0. Also, writing a 1 to either reset bit in this register will not change the contents of the page bits.

The current page may be determined by reading the page bits at Base + 7 (see page 20).

This digital I/O circuit functions like an 82C55 in Mode 0, direct I/O, or Mode 1, latched I/O. In Mode 1, latch and acknowledge signals are provided. Each port A, B, and C can be programmed for input or output. Port C additionally can be split into two halves, with each half programmed for a different direction.

All 24 lines have 10K resistors connected to them that can be configured for either pull-up or pull-down operation with jumper block J8. In addition, all lines are buffered by 74FCT245 line drivers between the controller chip and the I/O header. These line drivers change direction automatically in response to the control word written.

On power up, all ports are set to input mode and can be used as inputs immediately. Before using any port as an output, the port direction register must be programmed appropriately.

82C55 Circuit Register Map

Page 1, Base + 12 through Base + 15

Base + n

D7

D6

D5

D4

D3

D2

D1

D0

12, Read / Write

A7

A6

A5

A4

A3

A2

A1

A0

13, Read / Write

B7

B6

B5

B4

B3

B2

B1

B0

14, Read / Write

C7

C6

C5

C4

C3

C2

C1

C0C0

15, Write only

1

ModeC

ModeA

DirA

DirCH

ModeB

DirB

DirCL

A7 – A0 Digital I/O port A

B7 – B0 Digital I/O port B

C7 – C0 Digital I/O port C Base + 15 Configuration register; see next page

Last updated