Un enfoque común es usar una cadena de chips de registro de desplazamiento de salida en paralelo o de salida en paralelo de 74HC595, y conducir la cadena usando los cables de salida de reloj y MOSI de un puerto SPI, así como uno "común" Pin de E / S. El pin de salida de reloj SPI debe conectarse a la entrada de cambio de reloj de cada registro de desplazamiento, y el pin de E / S ordinario debe conectarse a la entrada de registro de reloj de cada desplazador. Un desplazador debe tener su entrada de datos conectada a MOSI; un segundo desplazador debe tener su entrada de datos conectada a la salida de datos del primero. Si hay un tercer desplazador, su entrada de datos debe estar conectada a la salida de datos desde el segundo, etc.
Usando este enfoque, tres pines del procesador pueden conectarse a cualquier número de chips de registro de desplazamiento que controlan colectivamente cualquier cantidad de pines. Para configurar las salidas, envíe al puerto SPI los datos que se supone que deben ir en todos los desplazadores, enviando los datos para el desplazador que está más lejos lejos del procesador. Una vez que se han enviado todos los datos, pulsar el pin de registro del reloj alto y luego bajo hará que todas las salidas del registro de cambios cambien simultáneamente. Uno puede cambiar tantas o tan pocas salidas como se desee en cada paso; El único factor que limita el número de salidas que uno puede controlar es la necesidad de volver a especificar el estado de cada salida en cualquier momento que desee cambiar cualquiera de ellas.
Si solo necesita ciertos grupos de salidas para poder cambiar simultáneamente, puede ser útil tener múltiples cadenas de registro de desplazamiento independientes. Todas las cadenas pueden compartir los pines de salida de reloj y MOSI (usando una salida de registro de reloj por cadena) si uno asegura que una vez que el código comience a cambiar los datos a una cadena, todos los datos de esa cadena se enviarán y se enviarán de forma intermitente antes del SPI. El autobús se utiliza para cualquier otra cosa. Si uno tiene 240 salidas que necesitan cambiar ocasionalmente y 16 que necesitan cambiar un poco más a menudo, dar a los chips que controlan 16 salidas que cambian con frecuencia su propio pin de registro de reloj significará que cambiar esos pines solo requerirá enviar dos bytes desde el SPI en lugar de 32.