Contador de puerta lógica en pantalla de 7 segmentos

Usando puertas lógicas con transistores de propósito general, quiero mostrar números en una pantalla de 7 segmentos dependiendo de la entrada de 2 botones. Si no se presionan ambos botones, quiero que diga 0. Si se presiona 1, quiero que diga 1, si se presiona el otro, quiero que diga 2, y si se presionan ambos, quiero que diga diga 3. Sé cómo hacer esto con LED separados (se encienden 4 LED diferentes según las entradas de los interruptores), pero tengo problemas para resolver esto para una pantalla de 7 segmentos debido a los dígitos superpuestos. Puede que haya hecho un trabajo terrible explicando esto, pero cualquier información es útil.

¿Esto es tarea?
Simplemente escriba una tabla de verdad... y podemos ayudarlo a comprender si se está equivocando y dónde.

Respuestas (4)

Lo haría en 2 pasos. Primero haga un circuito que tenga 4 salidas que correspondan a sus códigos 0-3. Puede probar esto conectando LED comunes a las salidas. Creo que este es un circuito decodificador común.

El segundo paso es conectar los transistores a los segmentos LED. Coloque un transistor en cada segmento. Encienda el colector adecuado para el tipo de LED. Conecte el emisor a un segmento específico. La base debe estar conectada a las salidas de su decodificador.

Supongamos que tiene un LED de 7 segmentos con segmentos numerados del 0 al 7. Decide que los segmentos 1 y 2 deben estar encendidos para la salida del decodificador #0. Conecte el #0 a las bases de los transistores responsables de los segmentos 1 y 2. Repita para las otras 3 salidas. Cuando tenga diferentes salidas que comparten una base de transistor, es posible que necesite diodos para evitar que la corriente fluya "hacia atrás" e ilumine segmentos de forma inesperada.

dicho de otra manera... los diodos que se unen a una red dada implementan colectivamente una función "O" en las redes entrantes (más o menos) en lógica TTL... si su etapa de decodificador tiene salidas de 'colector abierto', y usa un tirón débil -up resistencia, puede omitir los diodos y termina con una configuración 'cableada-OR'.

No estoy seguro de estar de acuerdo con la respuesta de Dean; no puede responder a la pregunta "¿cómo puedo hacer un decodificador de BCD a 7 segmentos?" con "usar un decodificador de BCD a 7 segmentos". Sin embargo, su tabla de verdad es un buen comienzo. Corta la parte inferior para que conserves una tabla para los dígitos del 0 al 3:

ingrese la descripción de la imagen aquí

Esto no debería ser demasiado difícil. ¿Qué vemos?

  • Lo primero que notamos es ese segmento b siempre está encendido, por lo que no es una salida decodificada.
  • Los códigos para la columna gramo son los mismos que los B columna.
  • columnas a y d Son identicos.
  • columnas a , C y d tener un 0 y tres 1s. Eso es lo que tiene la tabla de verdad de una puerta OR. Compruebe cuál de las entradas tiene que invertir para que esas salidas sean una función OR de las entradas (invertidas).
  • Similar para columna F : tiene un 1 y tres ceros, que le dará una puerta AND. ¿Cómo tienes que cambiar las entradas para usar una puerta AND aquí?
  • columnas mi se puede crear a partir de una sola entrada. ¿Cuál?

Si no puede ver las relaciones de inmediato, agregue dos resultados intermedios, que deriva de las entradas: eso es A y B invertido

Su tabla de funciones podría verse así:

a = A ¯ + B
b = 1
C = A + B ¯
d = A ¯ + B
mi = A ¯
F = A ¯ B ¯
gramo = B

Si crees que he hecho todo el trabajo por ti, piénsalo de nuevo. El verdadero trabajo comienza ahora: crea un circuito a partir de esto usando la menor cantidad de puertas posible.

stevenvh, bastante justo. Tomé la pregunta para solicitar un decodificador de segmento BCD a 7 sin saber que dicho dispositivo tenía un nombre o existía como un IC independiente. Su respuesta hace un trabajo mucho mejor al responder la pregunta exacta formulada.

Esto se puede hacer con un solo IC decodificador BCD como el 4511. Conecte un botón pulsador a la entrada A y el otro botón pulsador a la entrada B. Deje C y D desconectados. Consulte el circuito de muestra a continuación.

Sin embargo, dado que es probable que sea una tarea, supongo que debe hacerlo con puertas lógicas discretas y transistores. Comenzaría con la siguiente tabla de verdad y diseñaría sus puertas a partir de ahí. Estoy seguro de que puede descubrir cómo controlar los transistores para absorber la corriente de una pantalla de ánodo común.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

El diseño depende de tu objetivo;

  • Para aprender diseño lógico con álgebra booleana quizás con mapeo de Karnaugh para reducir la solución a ecuaciones lógicas simples... como la buena explicación de stevenh

  • Para implementar el diseño con la menor cantidad de partes... como la solución de Dean o un CPLD con la de stevenh

  • implementar el diseño de la manera más fácil... depende de su deseo de aprender nuevas habilidades, pero el álgebra booleana es imprescindible con la ley de Morgan y quizás el mapeo de Karnaugh son cosas que debe saber. Parece difícil al principio, pero luego se vuelve realmente fácil implementar cualquier requisito complejo de lógica una vez que aprende estos métodos. Las soluciones de firmware con PIC de 1 $ se convierten en herramientas valiosas para cualquier lógica, al igual que los chips CPLD. Siempre hay una curva de aprendizaje en nuevas habilidades.

  • implementar el diseño de la manera más económica para la producción en masa, depende de su presupuesto de tiempo y piezas, experiencia, creatividad, herramientas

  • acaba de terminar una tarea .. nuf dijo.

La mejor respuesta depende de una pregunta bien formulada.