¿Qué CIs de registro de turno estoy buscando?

5

Estoy diseñando un proyecto que requiere mucho más E / S que lo que ofrece un microcontrolador típico. No hay problema, a la derecha, solo usa los registros de turnos y esas cosas. No esperes, ¿por qué tengo problemas?

Estoy planeando manejar 24 salidas con una línea de datos en serie, un reloj y una selección de chip. 16 de las salidas están conectadas a los LED y las 8 restantes están conectadas a una pantalla LCD HD44780. Entonces, lo que pensé hacer para los 16 LED fue conectarlos hasta dos contadores de 8 bits que alimentan el bit de datos en serie a un LED específico y luego cambiar a la siguiente salida consecutiva cuando esté sincronizado, como un demultiplexador, pero en serie. Para la pantalla LCD, necesito conservar los datos y enviarlos todos a la vez, así que necesito un registro paralelo en serie de 8 bits y esperar hasta que pasen 8 relojes para habilitarlo.

Encontrar un IC que haga lo último es fácil - 74HC595 parece hacerlo - pero para los LED, parece que no puedo encontrar un chip de la serie 7400 que haga lo que quiero. Todos los que puedo encontrar se basan en valores anteriores y simplemente los cambian, y los decodificadores que he encontrado 1) no tienen una línea de datos; siempre son verdaderos cuando están seleccionados y 2) requieren una palabra binaria, no una reloj. Si aún no está claro, quiero algo que haga lo que está a la izquierda:

Juro que he usado un chip que hace lo que estoy pensando antes al manejar una matriz de LED, pero no puedo recordar su número. Cualquier ayuda sería apreciada.

    
pregunta BB ON

3 respuestas

4

No entiendo por qué no puedes usar el 74HC595 para los LED.

Cambia tus datos, luego marca el reloj para que el registro de almacenamiento mantenga ese valor de 8 bits. Mientras no esté pulsando el reloj del registro de almacenamiento, puede cambiar los bits todo el día sin afectar a los bits de salida finales.

Puedes usar la misma línea de datos en serie para todas tus salidas y solo 'gate' selectivamente, el registro de desplazamiento se bloqueará.

Por favor, deje un comentario si he entendido mal lo que está haciendo. Voy a elaborar mi respuesta más.

    
respondido por el dext0rb
5

El elemento de la izquierda no es un registro de desplazamiento en absoluto; es conocido como un "cierre direccionable". 74xx259 es un ejemplo.

Sin embargo, no tengo conocimiento de ningún componente comercial que tenga un contador interno; todos esperan que proporcione la dirección binaria de 3 bits para el cierre que se actualizará.

Sería fácil crear un dispositivo de este tipo utilizando un PAL o CPLD.

Además, si tiene un bus SPI o I2C en su controlador (o si está dispuesto a golpear uno en GPIO), hay muchos tipos de chips de expansión de E / S disponibles para estos buses. Un ejemplo que he usado es el Microchip MCP23S17 (SPI) / MCP23017 (I2C). Cada chip te da 16 líneas más de GPIO.

    
respondido por el Dave Tweed
4

No entiendo por qué no puedes usar el 74HC595. Aquí están todas las opciones que veo.

74HC299, registro de desplazamiento universal de 8 bits; 3 estados, si puede realizar un triple estado de sus salidas mientras cambia.

Registro de desplazamiento de entrada serial 74HC594 con registros de salida

Registro de desplazamiento de entrada en serie 74HC595 con pestillos de salida

Registro de desplazamiento de entrada en serie 74HC596 con registros de salida y salidas de colector abierto

74673 Registro de desplazamiento de salida en serie de 16 bits en serie con registros de almacenamiento de salida, salidas de tres estados, si necesita 16 bits.

    
respondido por el mjcopple

Lea otras preguntas en las etiquetas