¿Hay algún IC que pueda usarse para convertir un código binario de 9 bits en una pantalla de siete segmentos? EJ: 100101100->300 Quiero mostrar 300 en una pantalla de siete segmentos cuando se aplica el código binario 100101100 a la entrada. Quiero hacer esto solo usando circuitos integrados que no usan microcontroladores.
Puedo pensar en tres maneras de hacer esto. Comenzaré desde el más costoso y complicado y avanzaré hacia abajo.
Voy a dibujar algunos esquemas más tarde
Me temo que no hay tales chips estándar. Si bien hay chips de BCD a 7 segmentos, será difícil extraer dígitos individuales, ya que esto requeriría chips 'divididos por 10'.
Además, los CPLD están aquí para usted.
Si puede generar dígitos separados en lugar de un solo número de 9 bits, podrá usar chips estándar.
Quizás la forma más fácil sería hacer una tabla de conversión y ponerla en EPROM o FLASH con al menos 9 direcciones y 12 líneas de datos. De lo contrario, CPLD o FPGA pequeño ( opencores.org tiene algunos HDL para esto).
Si realmente quisiera hacer esto usando circuitos integrados discretos, tendría que construir una máquina de estado que implemente el algoritmo, que sería la solución más compleja y no muy diferente del microcontrolador, excepto por el aumento del precio, el tamaño y la complejidad.
Su entrada de ejemplo, 100101100, es binario sin formato para 300, no decimal codificado en binario; BCD para 300 sería 0011 0000 0000. Si desea mostrar números que en realidad son BCD, eso es relativamente sencillo. Pero si sus entradas son realmente binarias, es un problema más complejo.
Para pasar de agrupaciones binarias sin procesar a decimales, que serán necesarias para controlar la pantalla, efectivamente debe realizar una conversión de base, lo que implica realizar una división de enteros. Si bien puede lograr esto con circuitos integrados lógicos, se necesitará una gran cantidad de ellos para hacerlo, lo que implica MUCHO cableado, lo que significa muchas oportunidades para la depuración.
A menos que haya una razón de peso para usar circuitos integrados lógicos, esta sería una tarea ideal para un microcontrolador de 8 bits.
No creo que puedas resolver esto fácilmente con 1 IC. Podrías mirar los chips MAX7231, pero parecen viejos y muy caros. Tal vez pueda usar el HEF4511 (o DS8669) si puede encontrar un codificador <> BCD de 10 bits de algún tipo. Además, tendrías dificultades para crearlo de esa manera.
También puede escribir las fórmulas booleanas para el código de 10 bits en 3x una salida BCD. No esperaría que fuera muy simple, porque 10 entradas a 3x4 salidas parece mucho trabajo.
Supongo que estás haciendo esto 'solo por diversión', hacer esto en el mundo de la ingeniería no es muy rentable. Probablemente necesite una señal de 7 segmentos + 3 pantallas y una entrada de 10 bits. Esto es alrededor de 20 E/S. Un simple PIC o AVR con 24 o 28 pines puede manejar eso (o un CLPD si necesita un procesamiento más rápido; sin embargo, las pantallas son para ojos humanos, por lo que no tienen que ser ultrarrápidas).
No es demasiado difícil configurar un CPLD o FPGA para convertir datos binarios desplazados MSB primero en datos decimales. El bloque de construcción central es un módulo con reloj, datos y entradas claras, cuatro pestillos D0-D3 y una salida combinatoria de transporte siguiente. Coloque los bloques en cascada como lo haría con un registro de desplazamiento. Después de cambiar el valor binario, los registros mantendrán el equivalente en BCD.
; Llevar si >= 5 Siguiente Acarreo = D3 | D2 y D1 | D2 y D0 ; Será 8 o 9 si la entrada fue 4 o 9 D3 := !D3 & D2 & !D1 & !D0 | D3 y D0 ; Será 4-7 si la entrada fue 2-3 o 7-8 D2 := !D3 & !D2 & D1 | !D3 y D2 y D1 y D0 | D3 y !D0 ; Será 2-3 o 6-7 si la entrada fue 1, 3, 6 u 8 D1 := !D3 & !D2 & D0 | !D3 y D2 y D1 y !D0 | D3 y !D0 ; Será extraño si se establece el carry-in D0 := Acarreo
Tenga en cuenta que es necesario borrar el registro antes de cada uso; el cambio de ceros NO será suficiente. No se muestra el circuito de limpieza, pero debería ser obvio.
Da la casualidad de que hay un circuito que hace exactamente lo que desea, suponiendo que esté utilizando niveles lógicos TTL y 4 circuitos integrados DIP se ajusten a su requisito de "cualquier circuito integrado". Ese circuito es el 74185 , y la configuración exacta que desea se puede encontrar en la Figura 6 en la página 7. Hay algunos inconvenientes, por supuesto. Para empezar, el 74185 tiene 30 años y definitivamente está obsoleto. Sin embargo, puedes conseguirlos en eBay. Segundo, necesitarás 4 de ellos, y eso te costará más de 20 dólares. Tercero, la potencia total requerida será de 5 voltios a 300 a 400 mA.
Pero aparte de eso, es bastante sencillo. Y por lo que vale, en realidad está en línea con el espíritu de algunas de las otras respuestas. Como indica la hoja de datos, el IC es en realidad una PROM de 32 x 8.
De lo contrario, para las memorias de un solo chip no tendrá suerte. Aunque el lsb no requiere transformación, una salida de 300 necesita 9 salidas IC, y no encontrará (E)(E)PROMS con más de 8 salidas.
estrella azul
olin lathrop
viejo contador de tiempo
viejo contador de tiempo