The MCP23017/MCP23S17 (MCP23X17) device family provides 16-bit, general purpose parallel I/O expansion for I2C bus or SPI applications. The two devices differ only in the serial interface.
• MCP23017 – I2C interface
• MCP23S17 – SPI interface
The MCP23X17 consists of multiple 8-bit configuration registers for input, output and polarity selection. The system master can enable the I/Os as either inputs or outputs by writing the I/O configuration bits (IODIRA/B). The data for each input or output is kept in the corresponding input or output register. The polarity of the Input Port register can be inverted with the Polarity Inversion register. All registers can be read by the system master.
The GPIO Expander Keypad and LCD Demo Board is designed to demonstrate the use of the MCP23S08/17 (SPI interface) and the MCP23008/17 (I2C interface) devices in a keypad and LCD example. The MCP23X17 (16-bit) devices interface to a 2x16 LCD module and the MCP23X08 (8-bit) devices interface to a 4x4 keyed matrix.
The MCP23X17 16-bit GPIO Expander Evaluation Board demonstrates simple input/output functionality of the MCP23017 (I2C interface) and the MCP23S17 (SPI interface). The system demonstrates the simplicity of monitoring four pins configured as inputs and applying a predetermined pattern on LEDs connected to the remaining 12 pins configured as outputs.