This 16-bit I/O expander for the
two-line bidirectional bus (I2C) is designed for 2.3-V to 5.5-V
VCC operation. It provides general-purpose remote I/O expansion for
most microcontroller families via the I2C interface [serial clock (SCL),
serial data (SDA)].The PCA9555 consists of two 8-bit
Configuration (input or output selection), Input Port, Output Port, and Polarity
Inversion (active high or active low operation) registers. At power on, the I/Os are
configured as inputs. The system master can enable the I/Os as either inputs or
outputs by writing to the I/O configuration bits. 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.