No hay suficientes pines, buscando un "desmultiplexor" que mantenga el estado [cerrado]

Quiero controlar una pantalla simple con un microcontrolador. La pantalla tiene 8 pines de entrada, el microcontrolador solo 6.

¿Hay un IC que pueda interponer que

  • me permite configurar el estado de cada uno de sus pines de salida y lo mantiene así
  • requiere la menor cantidad de pines de entrada necesarios

¿Algo con un bus serie tal vez?

Sé que normalmente se utilizan controladores de pantalla, pero ¿hay dispositivos de propósito general?

Intente buscar "expansores GPIO"
Esto es exactamente lo que estaba buscando, gracias!
Irónicamente, las pequeñas MCU se usan normalmente exactamente para esto. Se denominan " interfaz serie LCD "
A pequeña escala, este es un 'pestillo direccionable', como 74HC259.

Respuestas (3)

Lo que está buscando es un chip "expansor" GPIO. Hay muchos disponibles, que normalmente usan I2C o SPI para conectarse al microcontrolador. El Microchip MCP23017(I2C)/MCP23S17(SPI) es solo un ejemplo que he usado en el pasado. Hay muchos otros para elegir.

PCF8574 es otro chip común de este tipo (I2C en este caso), con una gran cantidad de recursos disponibles en línea sobre su uso (se usan particularmente cuando se interconectan arduinos con módulos LCD, lo que ha generado una gran cantidad de contenido tutorial).

Un registro de desplazamiento típico es 74HC595. Lo que pasa es un byte que contiene 8 bits, por lo tanto, 8 señales. Solo tiene que almacenar ese byte (8 pines) en la memoria, que solo cuesta un byte.

Para esto solo necesitas 3 pines. Excepto por GND/VCC, solo necesita 3 pines.

Incluso puede conectar en cadena 4 de ellos, controlar 32 pines (que cuestan 4 bytes para almacenar) y seguir usando solo 3 pines (excepto GND/VCC).

Lo más probable es que desee un "Registro de desplazamiento" o un "Cierre".

Los registros de desplazamiento le permiten cargar datos en serie y se usan comúnmente con MCU: 74HC595 es muy común.

Los pestillos le permiten usar una señal de control para mantener un valor. Estos se usan mucho en el acceso a la memoria donde desea bloquear una dirección; por ejemplo, si desea cargar una dirección de 16 bits desde un bus de 8 bits, puede cargar la mitad superior, bloquearla y luego cargar la inferior. medio.

Podría lograr un bus de 8 bits usando dos pestillos de 4 bits. Cada pestillo podría tener su propia señal de control usando 2 pines adicionales. Eso da 6 en total. También puede hacerlo en 5 pines usando un inversor de modo que un pestillo mantenga su valor mientras que el otro es transparente.

Una alternativa es PCF8574, un puerto paralelo bidireccional I2C de 8 bits. Lo que uses depende de si prefieres SPI o I2C.
Los registros de desplazamiento bloqueados también suenan muy útiles, ya que podrían ser mucho más rápidos. Acepté la respuesta de IO Expander porque en mi caso de uso también podría tener información que fluye en la otra dirección, lo que parece ser compatible con muchos expansores.