Wenn man viele I/O-Ports mit einem Microcontroller ansteuern möchte, kann man Schieberegister verwenden, wie das 74HC595. Diese Lösung ist relativ günstig, erfordert aber mindestens drei Leitungen zur Ansteuerung und funktioniert nur in eine Richtung. Will man auch Daten einlesen, ist ein anderer Baustein wie der 74HC165 erforderlich und damit weitere Leitungen, wenn das parallel erfolgen soll.
Eine deutlich flexiblere Lösung ist der Port-Expander MCP23017. Dieser Chip wird über I2C angesteuert und bietet 16 Ports, die einzeln als Ein- oder Ausgang konfiguriert werden können.
Es gibt auch die Variante MCP23008 mit weniger Ports und die Variante MCP23S17 mit SPI-Schnittstelle statt I2C.