Decodificador de 7 segmentos 74LS47 Paso a Paso Correo electrónico
(4 votos, promedio: 3.75 de 5)
Escrito por Gustavo   
Miércoles 15 de Febrero de 2012 00:00

En el tutorial anterior vimos como manejar un display de 7 segmentos controlando directamente los pines del display. Este modo de controlar un display es muy simple y didáctico, pero en la practica no se utiliza. En un circuito real, siempre habrá un dispositivo lógico que controla la indicación del display, como puede ser un microcontrolador, un contador, etc. En este circuito utilizaremos un decodificador 74LS47. Esto nos sera muy útil para ver como un dispositivo controla el display sin meternos por ahora en el código de un microcontrolador. Pues bien, empecemos.

Que es un decodificador? Es un dispositivo que "decodifica" un código de entrada en otro. Es decir, transforma una combinación de unos y cero, en otra. 74LS47, en particular transforma el código binario en el código de 7 segmentos. Parece confuso, pero en breve quedará más claro.

concepto-decodificador-7-segmentos

El decodificador recibe en su entrada el número que será visualizado en el display. Posee 7 salidas, una para cada segmento. Para un valor de entrada, cada salida toma un estado determinado (activada o descativada). 

La entrada consiste en 4 patas o pines donde el decodficador recibe los números binarios. Podemos ingresar valores de 0 a 9 en formato binario. 

tabla-binario-decimal

Para ingresar un "0" en un pin, conectaremos el mismo al terminal negativo de la fuente. Para ingresar un "1", vamos a conectarlo al terminal positivo. En el tutorial estoy utilizando un decodificador TTL, por lo que la fuente debe ser de 5v. 

Como es un decodificador 74LS47? El dispositivo viene en un encapsulado DIP16. Sus pines o patillas son:

  • Entradas: 4 pines de entrada para ingresar el dígito a mostrar en binario.
  • Salidas: 7 pines de salida, uno para cada segmento.
  • Control: 3 pines de control. Por el momentos no entraremos en detalle para que se utilizan.
  • Alimentación: 2 pines para alimentación, fuente (+) y fuente (-).

74ls247

Entonces, como ya lo dijimos, hay que aplicar el número deseado en la entrada y el dispositivo, automaticamente, habilita los segmentos correspondientes a la salida. Supongamos que queremos mostrar el numero 5. Utilizando la tabla anterior vemos que 5 en binario es 0101. Debemos aplicar este valor en los pines de entrada en el orden DCBA, es decir DCBA = 0101, o sea D=0, C=1, B=0, A=1. Al hacerlo, el integrado enciende todos los segmentos, salvo "b" y "e" para mostrar el número 5.

ejemplo-7-segmentos-digito-5

 

Veamos ahora, los valores reales de tensión en la entrada y salida. Recuerden que el "1" lógico equivale a 5v y el "0" lógico a 0v. Vemos nuevamente el mismo gráfico, ahora con los valores de tensión en la entrada y la salida:

ejemplo-7-segmentos-digito-5-extendido

Por favor, presten atención a los niveles en la salida. Los segmentos encendidos tienen un nivel lógico 0 y los apagados 1. Es decir, cuando el decodificar pone 0v en una salida, el segmento debe quedar encendido, y el mismo se apaga cuando la salida presenta 5v. Este tipo de salida se denomina activo baja, lo que significa que cuando la salida esta en nivel bajo (0 lógico), la salida esta activa. Resumiendo:

  • En la entrada del 74LS47 hay que ingresar un código binario
  • El valor binario es una combinación de unos y cero, siendo, "0" lógico = 0v; "1" lógico = 5v.
  • En la salida aparece la combinación de siete segmentos correspondiente.
  • Cada pin de salida corresponde a un segmento.
  • Las salidas son activo baja, es decir, "0" lógico = encendido; "1" lógico = apagado.

¿Como encender los segmentos? Ahora que tenemos claro como funciona el decodificador, veamos como conectarlo con el display de 7 segmentos. En definitiva, cada patilla de salida controla un segmento, o sea un LED. Y lo que tenemos que lograr es que el LED quede encendido cuando se le aplican 0v, y que se apague al aplicar 5v. Esto tiene un porque, y hacerlo es muy simple. La conexión que debemos realizar es la siguiente. 

conexion-led
Vean la conexión: tenemos la fuente de 5v, conectada a un resistor en serie con el LED. El cátodo del LED queda conectados a una pata del integrado 74LS47. Vean que pasa, cuando la salida del integrado esta en 0v, se produce una circulación de corriente desde la fuente hasta la pata, y el led se enciende. Pero, cuando la salida queda en 5v, no hay circulación de corriente (pues no hay desnivel de tensiones). ¿Simple, verdad? Si no esta muy claro como funciona, recomiendo leer el primer tutorial, donde explico como funciona un display anodo común, ya que justamente este tipo de display vamos a utilizar en este circuito. 

Circuito completo. Ahora, que ya tenemos el concepto del decodifcador y la forma en que enciende los segmentos, veamos el circuito completo:

decodificador-7-segmentos

Analicemos el circuito por partes. En primer lugar, veamos el dígito de 7 segmentos. Cada segmento esta conectado al pin correspondiente, mediante una resistencia de limitación de corriente. Los ánodos de todos los segmentos (es decir, la patilla Ánodo Común CA) se conectan a la fuente positiva de +5v. Es lo mismo que habíamos visto antes con un solo LED.

Ahora, veamos la entrada. Para ingresar la combinación de entrada estoy utilizando llaves tipo DIP switch. La llave 1 controla la entrada A, la 2 controla B, etc. Cuando la llave esta en ON, en la entrada se aplica una tensión de 0v (recordar que GND es 0v). Cuando esta en OFF, tenemos 5v, mediante las resistencias pull-up conectadas a la fuente positiva +5v. Es la forma clásica de controlar la entrada de un dispositivo digital, pero para los que no están familiarizados, aquí va una breve explicación de como funcióna. Veamos una sola entrada:

pull-up

En la imagen de arriba, a la izquirda, esta el circuito para controlar una sola entrada digital. El pin de entrada queda conectado mediante una resistencia a +5v, y mediante una llave a tierra. Veamos que pasa, cuando llave queda abierta (imagen del medio). En ese caso, la entrada queda conectado a +5v. Hay una resistencia en el medio, pero las entradas digitales no toman corriente, a efectos prácticos la corriente vale cero. Entonces, quedan aplicados los +5v en la entrada, equivalente a un "1" lógico.

Por otra parte, con la llave cerrada (imagen a la derecha), la entrada queda conecta directamente a tierra, se aplican 0v equivalente a un "0" lógico. Sigue estando conectada a la fuente de +5v mediante la resistencia, pero ahora la situación cambio. Por la resistencia circula una corriente, desde +5v a tierra. Para que esta corriente no sea excesiva, las resitencias pull-up por lo general son grandes, entre 1 y 10k. (Si no colocamos una resistencia pull-up, al cerrar la llave, se produce un cortocircuito; por eso son necesarías las resistencias).

Veamos como quedo el circuito armado (clic aqui para acercar):

circuito-armado-thumb

Lo que quedo en el tintero. Algunas cositas que quedaron pendientes en el desarrollos del articulo:

  • Pines control: como lo mencione, el integrado tiene tres pines de control, no los vamos a utilizar. Para que el circuito funcione adecuadamente, hay que conectarlos a +5v. Lo hice mediante una resistencia pull-up. 
  • Combinaciones de entrada: En la tabla de códigos de entrada, están las combinaciones desde 0000 hasta 1001. Pero, ¿que pasará si ingresamos una combinación que no esta en la tabla, por ejemplo, 1100 o 1111? Bueno, en el display aparecerán unos símbolos raros que no son números ni letras. A continuación les dejo la tabla que tome de la hoja de datos, para que vean de que se trata.
codigos-7-segmentos 
  • Y si hablamos de la hoja de datos, pueden descargarla aquí
  • Por ultimo, en el circuito completo que se muestra arriba, no se indican los pines 8 y 16. Normalmente estos pines no se dibujan, ya que se sobreentiende son de alimentación y van a la fuente.

Conclusiones. Espero que este tutorial les sea útil y que disfruten leyéndolo tanto como yo escribiendo :) Como lo dije al principio, nunca vamos a controlar un display de 7 segmentos mediante llavecitas (como estaba en el tutorial anterior), sino mediante un dispositivo lógico. El decodificador 74LS47 es una excelente introducción de como hacerlo. En la practiva, tampoco vamos a controlar la entrada del decodificador mediante llaves, esto solo lo hice a los efecto didácticos. Las entradas irían conectadas a un contador, microcontrolador, etc, depende de la aplicación. Vamos a desarrollar esto en los próximos tutoriales. Como siempre, sus comentarios y opiniones son muy bienvenidos. Saludos y hasta la próxima.

 

back_f2Anterior
Indice proximamente next

Comentarios  

0 # .......juan 05-04-2012 04:46
hola es posible con este circuito, haciendo algunas modificaciones obviamente, mostrar el volumen del audio aplicado que sale de un pleamplificador , si es posible a que pines deberia conectarlo para que cuando se suba el volumen, cambie la intensidad de audio este cambie el numero que se muestra en el display. O si es requerido otra clase de integrado, si este es el caso no habra algun tutorial para armarlo.
Responder Responder con una citación Citar
0 # excelente !!pablo pérez lópez 10-04-2012 02:16
claro, ameno, interesante. excelente.
Responder Responder con una citación Citar
0 # 7segJoel 14-04-2012 23:57
informacion de display para utilizar sus aplicaciones
Responder Responder con una citación Citar
0 # Puedo conectar varios 74ls47Jose Antonio Yajure 27-04-2012 02:22
Hola, gracias por la ayuda... me gustaría saber si puedo conectar varios 74ls47 en serie. Resulta que quiero que un sumador binario muestre acarreo. Gracias
Responder Responder con una citación Citar
0 # RE: Puedo conectar varios 74ls47Gustavo 27-04-2012 02:39
Hola Jose, ya tienes hecho algo? Algún esquemático que me puedas mandar o algo como para que vea cual es el problema.

Saludos.
Responder Responder con una citación Citar
0 # RE: RE: Puedo conectar varios 74ls47Jose Antonio Yajure 27-04-2012 04:05
Hola Gustavo, efectivamente tengo una simulación en Livewire, te voy a adjuntar la imagen.

imageshack.us/.../...

Pd: soy bastante novato en esto, cualquier ayuda la agradezco.
Responder Responder con una citación Citar
0 # RE: RE: RE: Puedo conectar varios 74ls47Gustavo 01-05-2012 15:16
Jose, y que es lo que pretendes hacer con el circuito? A que te refieres cuando decis "en serie"? Así como esta parece estar bien.
Responder Responder con una citación Citar
0 # RE: Decodificador de 7 segmentos 74LS47 Paso a PasoJose Antonio Yajure 01-05-2012 20:41
Gustavo, lo que quiero mostrar el resultado de una suma de 2bits, y el acarreo, por lo tanto necesito los tres displays. No entiendo como conectarlo. Cuando dije serie me refería a eso, disculpa si se entendió de otra manera. Bueno, otra pregunta: Puedo utilizar el 74ls47 con un display 7 segmentos CÁTODO COMÚN?
Responder Responder con una citación Citar
0 # RE: RE: Decodificador de 7 segmentos 74LS47 Paso a PasoGustavo 02-05-2012 00:27
Jose, como poder se puede, pero 74SL47 esta pensado para displays Ánodo común, entonces, tendrías que usar un transistor por cada segmento para poder manipularlo.
Me podrías decir que sumador estas usando, así te puedo orientar mejor?
Saludos.
Responder Responder con una citación Citar
0 # RE: RE: RE: Decodificador de 7 segmentos 74LS47 Paso a PasoJose Antonio Yajure 02-05-2012 06:38
Tengo montado este:

i1010.photobucket.com/.../...

Utilizo un 74LS86, un 74LS08 y un 74LS32.

Tiene que visualizar la suma de dos números binarios de 2bits (cada bit en un display) y el acarreo (en otro display). Tengo varios días para hacerlo, lo que he adelantado es lo que te he mostrado. En un protoboard tengo montado el circuito como lo ves en la imagen que te adjunto, pero no logro hacer que lo visualice el display (ya me aclaraste que no puedo utilizar 74SL47). Trataré de conseguir unos 74LS48, o sino comparé los display ÁNODO COMÚN. Gracias por tu ayuda.
Responder Responder con una citación Citar
0 # RE: RE: RE: RE: Decodificador de 7 segmentos 74LS47 Paso a PasoGustavo 03-05-2012 02:32
Ahora estoy entendiendo mejor lo que queires hacer! Entonces, en los displays, solo aparecería un "1" o "0", es así?

Por ejemplo, si haces 01+10 = 11 y acareo en cero, correcto?

Saludos!
Responder Responder con una citación Citar
0 # RE: Decodificador de 7 segmentos 74LS47 Paso a PasoJose Antonio Yajure 03-05-2012 07:24
Correcto, lo que dices es lo que quiero hacer.
Responder Responder con una citación Citar

Escribir un comentario


Código de seguridad
Refescar

LAST_UPDATED2
 

Buscador

Suscribete

 Subscribe-Via-Email

Ingresa tu email aqui:

Delivered by FeedBurner

Twitter RSS Feed 

Otros sitios y blogs de interés

 Noticias Tecnologicas 

DropBox

Dropbox4ver-tutorialir-a-dropbox


Últimos comentarios

carlos gil: hoa amigos yo le puse un regulador de 100k yun altavoz de 30w 8ohm y kuando lo pongo casi a tope distorsiona eso por que es?GRACIAS.
hace 21 horas

alexis: que bosinas mas grandes me recomiendas y de que tamaño que lebante masomenos
hace 23 horas

diego: Hola a todos!!! Yo he montado el circuito pero poniendo el maximo condensador, 220 micros, no me llega ni a un segundo. Si alguien me alumbra... graias de antemano!!!
hace 3 días

groso28: hola .me ayudarias con un circuito que tengo y me he cansado de probar programas para pcb y no me sale nada..mi pregunta es si te mandoel diagrama del circuito que ...
hace 4 días

Luis Monreal: Buen dia... he mirado su publicación y me pareció muy interesante, estoy implementando un circuito que necesita de varios valores de voltaje (5v, 12v, 24v). Mi intención es implementar este circuito ...
hace 5 días

Mijail: Hola a todos me parece un excelente tutorial, y mil gracias por tenerlo en esta pagina. Quisiera saber donde puedo encontrar el código fuente para este ejercicio en lenguaje emsamblador?? Gracias ...
hace 5 días

Diego Fernando: Alexis, el TDA2030 es un amplificador de alta fidelidad de 14W, mientras el 2003 es de 10W para el radio del carro, la potencia y calidad del sonido del TDA2030 es ...
hace 6 días

Diego Fernando: Cesar, pienso que es mejor hacerlo en el circuito impreso, sino utiliza una plaqueta universal, asi le llamamos en colombia, en wikipedia le llaman stripboard.
hace 6 días

alexis: hola oie me podra serbir un tda 2030 o afuersa debe ser el 2003
hace 6 días

aurelio: Es el factor de rizado..
hace 1 semana