MCP23017-E/SP Microchip Technology Inc., MCP23017-E/SP Datasheet - Page 9
![no-image](/images/manufacturer_photos/0/4/440/microchip_technology_inc__sml.jpg)
MCP23017-E/SP
Manufacturer Part Number
MCP23017-E/SP
Description
I/O Port Expander, 16-Bit, I2C I'face, SDIP-28
Manufacturer
Microchip Technology Inc.
Type
Programmable Peripheral Interfacer
Datasheet
1.MCP23017-ESP.pdf
(48 pages)
Specifications of MCP23017-E/SP
Lead Free Status / Rohs Status
RoHS Compliant part
Electrostatic Device
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
MCP23017-E/SP
Manufacturer:
MICROCHIP
Quantity:
1 001
1.5
The GPIO module is a general purpose, 16-bit wide,
bidirectional port that is functionally split into two 8-bit
wide ports.
The GPIO module contains the data ports (GPIOn),
internal pull-up resistors and the output latches
(OLATn).
TABLE 1-3:
TABLE 1-4:
© 2007 Microchip Technology Inc.
IODIRA
IPOLA
GPINTENA
GPPUA
GPIOA
OLATA
IODIRB
IPOLB
GPINTENB
GPPUB
GPIOB
OLATB
IODIRA
IODIRB
IPOLA
IPOLB
GPINTENA
GPINTENB
GPPUA
GPPUB
GPIOA
GPIOB
OLATA
OLATB
Register
Register
Name
Name
GPIO Port
Address
Address
(hex)
(hex)
0A
1A
0C
0D
00
01
02
06
09
10
11
12
16
19
00
01
02
03
04
05
12
13
14
15
SUMMARY OF REGISTERS ASSOCIATED WITH THE GPIO PORTS (BANK =
SUMMARY OF REGISTERS ASSOCIATED WITH THE GPIO PORTS (BANK =
GPINT7
GPINT7
GPINT7
GPINT7
bit 7
GP7
GP7
bit 7
GP7
GP7
PU7
OL7
PU7
OL7
PU7
PU7
OL7
OL7
IO7
IP7
IO7
IP7
IO7
IO7
IP7
IP7
GPINT6
GPINT6
GPINT6
GPINT6
bit 6
GP6
GP6
bit 6
GP6
GP6
PU6
OL6
PU6
OL6
PU6
PU6
OL6
OL6
IO6
IO6
IO6
IO6
IP6
IP6
IP6
IP6
GPINT5
GPINT5
GPINT5
GPINT5
bit 5
GP5
GP5
bit 5
GP5
GP5
PU5
OL5
PU5
OL5
PU5
PU5
OL5
OL5
IO5
IO5
IO5
IO5
IP5
IP5
IP5
IP5
GPINT4
GPINT4
GPINT4
GPINT4
bit 4
bit 4
PU4
GP4
OL4
PU4
GP4
OL4
PU4
PU4
GP4
GP4
OL4
OL4
IO4
IO4
IO4
IO4
IP4
IP4
IP4
IP4
MCP23017/MCP23S17
Reading the GPIOn register reads the value on the
port. Reading the OLATn register only reads the
latches, not the actual value on the port.
Writing to the GPIOn register actually causes a write to
the latches (OLATn). Writing to the OLATn register
forces the associated output drivers to drive to the level
in OLATn. Pins configured as inputs turn off the
associated output driver and put it in high-impedance.
GPINT3
GPINT3
GPINT3
GPINT3
bit 3
bit 3
PU3
GP3
OL3
PU3
GP3
OL3
PU3
PU3
GP3
GP3
OL3
OL3
IO3
IO3
IO3
IO3
IP3
IP3
IP3
IP3
GPINT2
GPINT2
GPINT2
GPINT2
bit 2
bit 2
PU2
GP2
PU2
GP2
OL2
PU2
PU2
GP2
GP2
OL2
OL2
OL2
IO2
IO2
IO2
IO2
IP2
IP2
IP2
IP2
GPINT1
GPINT1
GPINT1
GPINT1
bit 1
PU1
GP1
PU1
GP1
bit 1
PU1
PU1
GP1
GP1
OL1
OL1
OL1
OL1
IO1
IO1
IO1
IO1
IP1
IP1
IP1
IP1
GPINT0 0000 0000
GPINT0 0000 0000
GPINT0 0000 0000
GPINT0 0000 0000
bit 0
PU0
GP0
PU0
GP0
bit 0
PU0
PU0
GP0
GP0
OL0
OL0
OL0
OL0
IO0
IP0
IO0
IP0
IO0
IO0
IP0
IP0
DS21952B-page 9
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
POR/RST
POR/RST
1
0
value
value
)
)