Datasheet

MCP23018/MCP23S18
DS22103A-page 16 © 2008 Microchip Technology Inc.
1.6 Configuration and Control
Registers
There are twenty two (22) registers associated with the
MCP23X18 as shown in Table 1-4 and Table 1-5. The
two tables show the register mapping with the two
BANK bit values. Ten (10) registers are associated
with Port A and ten (10) are associated with Port B.
One register (IOCON) is shared between the two ports.
The Port A registers are identical to the Port B regis-
ters, therefore, they will be referred to without differen-
tiating between the port designation (i.e., they will not
have the “A” or “B” designator assigned) in the register
tables.
TABLE 1-4: CONTROL REGISTER SUMMARY (IOCON.BANK = 1)
Register
Name
Address
(hex)
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
POR/RST
value
IODIRA 00 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0 1111 1111
IPOLA 01 IP7 IP6 IP5 IP4 IP3 IP2 IP1 IP0 0000 0000
GPINTENA 02 GPINT7 GPINT6 GPINT5 GPINT4 GPINT3 GPINT2 GPINT1 GPINT0 0000 0000
DEFVALA 03 DEF7 DEF6 DEF5 DEF4 DEF3 DEF2 DEF1 DEF0 0000 0000
INTCONA 04 IOC7 IOC6 IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 0000 0000
IOCON 05 BANK MIRROR SEQOP
—ODRINTPOLINTCC 0000 0000
GPPUA 06 PU7 PU6 PU5 PU4 PU3 PU2 PU1 PU0 0000 0000
INTFA 07 INT7INT6INT5INT4INT3INT2INT1INTO0000 0000
INTCAPA 08 ICP7 ICP6 ICP5 ICP4 ICP3 ICP2 ICP1 ICP0 0000 0000
GPIOA 09 GP7 GP6 GP5 GP4 GP3 GP2 GP1 GP0 0000 0000
OLATA 0A OL7 OL6 OL5 OL4 OL3 OL2 OL1 OL0 0000 0000
IODIRB 10 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0 1111 1111
IPOLB 11 IP7 IP6 IP5 IP4 IP3 IP2 IP1 IP0 0000 0000
GPINTENB 12 GPINT7 GPINT6 GPINT5 GPINT4 GPINT3 GPINT2 GPINT1 GPINT0 0000 0000
DEFVALB 13 DEF7 DEF6 DEF5 DEF4 DEF3 DEF2 DEF1 DEF0 0000 0000
INTCONB 14 IOC7 IOC6 IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 0000 0000
IOCON 15 BANK MIRROR SEQOP ODR INTPOL INTCC 0000 0000
GPPUB 16 PU7 PU6 PU5 PU4 PU3 PU2 PU1 PU0 0000 0000
INTFB 17 INT7 INT6 INT5 INT4 INT3 INT2 INT1 INTO 0000 0000
INTCAPB 18 ICP7 ICP6 ICP5 ICP4 ICP3 ICP2 ICP1 ICP0 0000 0000
GPIOB 19 GP7 GP6 GP5 GP4 GP3 GP2 GP1 GP0 0000 0000
OLATB 1A OL7 OL6 OL5 OL4 OL3 OL2 OL1 OL0 0000 0000