Parte de tu descripción está un poco confusa, pero esto es lo que creo que estás preguntando: necesitas controlar tres luces. Cada uno irá a través de un patrón separado con todo repitiéndose en períodos de 15 segundos. Tiene una onda cuadrada de 1 Hz que se utilizará como reloj de referencia.
Mencionas un método de implementación que usa muxes y puertas lógicas, pero no justificas por qué crees que es la mejor respuesta o ninguna restricción por la que deben usarse, así que solo lo ignoraré.
La respuesta obvia es un microcontrolador. Incluso el más pequeño de todos, el PIC 10F200 puede hacer esto. Tiene 4 pines de E / S y se puede configurar para 1 entrada y 3 salidas, que es exactamente lo que necesita. También puede generar su propio tiempo, por lo que podría ignorar la entrada de 1 Hz si quisiera y usar el tiempo interal.
En cualquier caso, este es un programa muy simple. Nada cambia más rápido que en los límites de 500 ms. Como todo el patrón se repite cada 15 segundos, solo tiene 30 estados diferentes posibles. Una implementación de firmware muy simple y robusta es tener una tabla de los 30 estados. Cada 500 ms de reloj, el firmware avanza a la siguiente entrada de la tabla y copia el valor de 3 bits a los pines de salida. Esto es muy simple, pero permite una fácil modificación del patrón de visualización a medida que los requisitos evolucionan porque solo es necesario cambiar las entradas de la tabla. La lógica sigue siendo la misma. Un 10F200 tiene 255 instrucciones utilizables, lo que es suficiente para la detección simple del borde del reloj, la búsqueda de tablas, la actualización de salida y la tabla en sí.