Imágenes fantasma en la pantalla de 7 segmentos

Tengo una EEPROM (AT28C64B) multiplexada y conectada a 3 displays de siete segmentos,

Lo hice usando un tutorial en línea de Ben Eater https://www.youtube.com/watch?v=dLh1n2dErzE&t=300s

ingrese la descripción de la imagen aquí

Lo siento por la foto de mala calidad.

Aquí está mi configuración, de izquierda a derecha, los circuitos integrados que estoy usando, el temporizador 555 que se conecta en modo Astable, el flip flop SN74LS112 Dual JK, el demultiplexor SN74LS139 y la pantalla de 7 segmentos que estoy usando se llama SC05-11EWA (solo tengo dos pero un tercio está en el correo)

He tenido un problema con las imágenes fantasma en las pantallas de 7 segmentos y no estoy muy seguro de cómo solucionarlo, he agotado Google, sin éxito, así que espero que alguien pueda ayudar.

Si necesita más información, no dude en comentar.

gracias, patricio

(editar) ingrese la descripción de la imagen aquíAquí hay un esquema que hice usando EasyEDA, perdón por el grupo, es la segunda vez que hago un esquema.

Lo más probable es que la imagen fantasma se deba a que el siguiente valor se muestra en la pantalla anterior durante un breve ciclo de reloj.
Sospecho que @HarrySvensson tiene razón en que hay una carrera entre los controladores de fila y columna que deja un breve tiempo cuando los LEDS se activan cuando no lo espera. Se requiere una secuencia adecuada para este tipo de circuito, pero sin un esquema es imposible confirmar la causa raíz.
Sin que suene como una queja tras otra, ¿puede arreglar el esquema moviendo las redes debajo de los componentes entre los componentes? Es difícil estar seguro de lo que hay con esas redes.
@TonyM, no hay problema
Bueno, además de tratar de controlar los siete segmentos desde una salida TTL de 8 mA sin resistencias limitadoras de corriente y sin señales de condensadores desacoplados en ninguna parte... todo se ve bien.
Gracias y comencemos :-) No tiene resistencias en serie entre sus LED y las puertas lógicas. ¿Puede agregar una resistencia en serie de 1K entre cada salida 74LS139 y su unidad de segmento por el momento? ¿Están sus entradas no utilizadas realmente desconectadas (flotantes), según su esquema? Esas entradas de alta impedancia bien pueden estar tomando valores aleatorios de diafonía que pueden interrumpir el funcionamiento de su circuito. Conecte todas las entradas no utilizadas a GND y vuelva a intentar el circuito.
Probablemente desee apagar las unidades de ánodo mientras cambia el número de dígito (= A8, A9 en la EPROM), espere a que las salidas de la EPROM se estabilicen (150 ns) y vuelva a encenderlas. La forma más fácil: conducir 2G (en el demux) a '1' con un pulso adecuadamente cronometrado, posiblemente derivado del 555. Los detalles se dejan como ejercicio...
Ralentiza tu reloj. 48 kHz es demasiado para esta aplicación, y el período de reloj es demasiado corto en relación con el tiempo de acceso de la EEPROM. 500 Hz sería suficiente.

Respuestas (2)

Está ocurriendo una condición de carrera.

Cuando el contador está cambiando, los datos presentados desde la EPROM serán indeterminados y, como tales, los LED se encenderán al azar durante un período breve.

Como tal, debe deshabilitar los controladores mientras los datos están cambiando.

En este caso, puede usar la señal de reloj del 555 para controlar la habilitación de salida (OE, pin 22) de la EEPROM de modo que solo active los LED durante la segunda mitad del ciclo del reloj.

Dado que está utilizando un flip-flop activado por borde negativo para su contador, debe invertir la salida del 555 para alimentar ese pin de habilitación.

Como han mencionado otros, también necesita algunas resistencias limitadoras de corriente en las líneas LED. También le está pidiendo un poco al 139 para alimentar todos los segmentos, sería prudente un transistor o una unidad MOSFET para el común.

esquemático

simular este circuito : esquema creado con CircuitLab

Gracias por toda su ayuda, he invertido la señal del reloj con una puerta NOT y la salida está conectada al flip flop JK y al pin de habilitación del chip, esto casi solucionó el problema. Entiendo lo que dices sobre el transistor, pero no sé completamente cómo implementarlo. ¿Conectaría la base de mi 2n3904 a la base del 139 y luego conectaría el emisor al cátodo y el colector a 5v?
@PatrickMcCarthy solo invierte la señal en la habilitación de la rom... no en el contador
@PatrickMcCarthy vea la actualización para una unidad de transistor de reparación rápida.
Muchas gracias, no tengo transistores PNP, pero pediré algunos en línea.

Cuando el contador está cambiando los datos presentados desde la EPROM serán los datos de la pantalla anterior....

hay un período de transición muy corto en el que se selecciona una nueva pantalla y los DATOS de la pantalla anterior todavía están activados.

El número que se muestra no debería cambiar a menos que cambie el valor en los interruptores DIP, así que no entiendo cómo podría causar mi problema
@patrick-mccarthy: el interruptor DIP solo está aquí para dar la parte fija de la dirección de A0 a A7, la dirección 'real' está dando a A8 y A9 de 1Q y 2Q del 74LS112 Dual JK Flip-Flop... la dirección presentada a la EEPROM tiene la forma 00000000XX....
...más bien de la forma FFFFFFFFXX con F=0 o 1 según la codificación del interruptor DIP....