You are on page 1of 29

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

INFORME PREVIO N° 3

CIRCUITOS ARITMETICOS Y LOGICOS PARA EL


MANEJO DE DATOS UTILIZANDO COMPUERTAS
OPEN COLECTOR Y TRI-STATE

CURSO : SISTEMAS DIGITALES I (EE 635)

PROFESOR : Ing. Pedro Aberga Farro

ALUMNOS : Cornelio Paredes Josue Enmanuel


Bravo Iván
Soto Felipe

SECCION : O

GRUPO : 6

FECHA : 19/10/2017
 Objetivos:

El laboratorio de acuerdo a sus experimentos tiene como finalidad:

a) Comprobar el funcionamiento de C.I. de sumadores binarios de 4 bits y


comparadores de magnitud de 4 bits, empleando compuertas open colector y
tri-state.

b) Comprobar el funcionamiento de un decodificador BCD 7 segmentos, así como el


display de 7 segmentos.

c) Implementar circuitos combinacionales utilizando decodificadores, codificadores,


multiplexores, demultiplexores y sumadores.

 Resumen Teórico:

a) Decodificadores binarios

Un decodificador es un circuito lógico cuya función es indicar la presencia de cierto


código en sus líneas de entrada con un nivel predeterminado a la salida. El
procedimiento consiste en interpretar el código de n líneas de entrada con el fin de
activar un máximo de 2n líneas a la salida. Si el código de entrada tiene
combinaciones no usadas o de no importa, la salida tendrá menos de 2n salidas. La
característica predominante en los decodificadores es un mayor número de salidas
con respecto al número de entradas. El diagrama de bloques se muestra en la
figura

Diagrama de bloques de un Decodificador n x 2.


 Decodificador de 2 a 4 líneas (2 bits)

El Decodificador de 2 a 4 líneas tiene 2 líneas de entrada y 4 líneas de salida. En la


tabla 3.1.1., las entradas del decodificador son I0 e I1 y representan un entero
de 0 a 3 en código decimal. G es la entrada de habilitación y determina la
activación del circuito de acuerdo a su valor lógico ("1" circuito activo, "0" circuito
no activo). Según el valor binario presente en las 2 entradas se activa una de las 4
salidas al valor lógico 1. Por ejemplo, con el valor 1 en I0 y el valor 0 en I1 se
activará la salida Y1.

Tabla de verdad del Decodificador de 2 bits

Se muestra el circuito lógico del decodificador 2x4.

Diagrama lógico del decodificador 2 x 4 con entrada de habilitación

 Decodificador de 3 a 8 líneas (3 bits)

El decodificador de 3 a 8 líneas activa una sola de las 8 líneas de salida de acuerdo


con el código binario presente en las 3 líneas de entrada. Las salidas son
mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en
cualquier momento.
Diagrama lógico de un decodificador de 3 x 8

b) Decodificadores BCD a 7 segmentos

El decodificador de BCD a siete segmentos es un circuito combinacional que recibe


un numero BCD en sus entradas y en sus salidas activa un display de 7 segmentos
para indicar un digito decimal.

c) El display de 7 segmentos

El display está formado por un conjunto de 7 LED’s conectados en un punto común


en su salida. Cuando la salida es común en los ánodos, el display es llamado de
ánodo común y por el contrario, sí la salida es común en los cátodos, llamamos
al display de cátodo común. En la siguiente figura, se muestran ambos tipos de
dispositivos. En el display de cátodo común, una señal alta encenderá el segmento
excitado por la señal. La alimentación de cierta combinación de leds, dará una
imagen visual de un dígito de 0 a 9.

Display de ánodo común y cátodo común

 Aplicación: Codificador BCD a 7 segmentos


El decodificador requiere de una entrada BCD y siete salidas conectadas a cada
segmento del display. La figura representa en un diagrama de bloques el
decodificador BCD a 7 segmentos con un display de catodo comun.

Diagrama de bloques de un decodificador BCD a siete segmentos

Suponiendo que el visualizadores un display de catodo comun, se obtiene una


tabla cuyas entradas en codigo BCD corresponden a A,B,C y D y unas salidas
correspondientes a los leds que se encenderian en cada caso para indicar el digito
decimal.

Los valores binarios 1010 a 1111 en BCD nunca se presentan, entonces las salidas
se tratan como condiciones de no importa.

d) Registros de 3 estados
El principio básico de un registro de estados es la presencia de tres estados para la
salida del dispositivo (0, 1 y alta impedancia) según el valor de una entrada de
control predeterminada. El dispositivo más básico es el registro ("buffer") de tres
estados. Este registro posee una entrada de habilitación ("entrada lateral al
registro") para determinar su comportamiento como amplificador, inversor
ordinario o dispositivo de alta impedancia. La figura muestra el símbolo lógico del
registro. En los casos 1 y 3 se habilita con estado activo alto y en los casos 2 y 4 se
habilita con estado activo bajo. En estado de activación la salida se comporta como
amplificador o inversor. Cuando la entrada de habilitación se niega, la salida va a
un estado de alta impedancia (Z).

Registros de tres estados

Estos dispositivos permiten que varias fuentes puedan compartir una misma línea
de comunicación, siempre y cuando una sola fuente utilice la línea a la vez. Un
circuito de este tipo se muestra en la siguiente figura. El circuito se configura con
un decodificador para seleccionar una de ocho líneas de salida. Por ejemplo, la
selección 001 habilita la salida Y1 en estado bajo, activando el registro 2 y coloca la
información de entrada del registro en la línea de comunicación.

Circuito lógico para una línea de comunicación

Los registros de tres estados pasan más rápidamente al estado Z. Por el contrario,
el tiempo de transición para salir del estado Z es mucho más demorado. El tiempo
muerto en la línea de comunicación debe ser lo bastante largo para tomar en
cuenta las diferencias del peor caso entre los tiempos de activación y desactivación
de los dispositivos al igual que las asimetrías en las señales de control de los tres
estados.

e) Codificadores

Un codificador tiene 2n o menos líneas de entrada y n líneas de salida. Por ejemplo,


en una de las entradas se puede ingresar un dígito decimal u octal y generarse un
código de salida en BCD o binario. La función de los codificadores es inversa a la de
los decodificadores. Los codificadores se utilizan también para codificar símbolos
diferentes y caracteres alfabéticos.

 Codificador binario

El codificador binario tiene 2n entradas y n salidas. Sólo, una sola de las entradas
puede estar activada. La salida suministra el valor binario correspondiente a la
entrada activada. Este tipo de codificador opera en forma contraria a los
decodificadores de 2 a 4, 3 a 8, estudiados antes.

 Codificador de 8 a 3

El codificador 8 a 3 tiene 8 entradas (I0 a I7), una para cada uno de los ocho dígitos
y 3 salidas que conforman el número binario equivalente (A0 a A2). La siguiente
figura muestra el diagrama de bloques del decodificador.

Codificador de 8 a 3
Circuito lógico del decodificador 8 a 3.

f) Multiplexores (MUX)

Un multiplexor es un circuito combinacional que selecciona una de n líneas de


entrada y transmite su información binaria a la salida. La selección de la entrada es
controlada por un conjunto de líneas de selección. La relación de líneas de entrada
y líneas de selección está dada por la expresión 2n, donde n corresponde al
número de líneas de selección y 2n al número de líneas de entrada.

 Multiplexor 2 a 1

El multiplexor se caracteriza por tener dos líneas de entrada, una línea de


selección y una de salida.
En el multiplexor, las entradas son I0 e I1 y la selección viene dada por el valor de la
entrada S. El valor de la salida Y depende de los valores lógicos ingresados en los
cuadros de texto para las variables I0, I1 y S. Por ejemplo, sí I0=0, I1=1 y S=0,
entonces Y=I0=0. La tabla de verdad se muestra a continuación:

Tabla de verdad de un multiplexor de dos entradas

El circuito lógico se muestra en la siguiente figura:


Multiplexor 2 a 1

 Multiplexor 4 a 1

El multiplexor de 4 entradas es un multiplexor de 4 líneas a 1. Las entradas


son I0, I1, I2 e I3 y la selección viene dada por las entradas S0 y S1. El valor de la
salida Y depende de los valores lógicos presentes en las entradas de datos y la
selección.

Multiplexor 4 a 1

El problema consiste en definir un conjunto de expresiones para construir el


circuito lógico. La ecuación en cada fila, se obtiene a partir del dato de entrada y la
entrada de selección de datos:

La salida es Y= I0, sí S1=0 y S0=0. Entonces Y = I0·S1’·S0’


La salida es Y= I1, sí S1=0 y S0=1. Entonces Y = I1·S1’·S0
La salida es Y= I2, sí S1=1 y S0=0. Entonces Y = I2·S1·S0’
La salida es Y= I3, sí S1=1 y S0=1. Entonces Y = I3·S1·S0

Sumando lógicamente las ecuaciones anteriores:

Y = I0·S1’·S0’ + I1·S1’·S0 + I2·S1·S0’ + I3·S1·S0

En consecuencia, el circuito asociado se implementa en la figura.


Circuito Lógico de un multiplexor 4 a 1

g) Demultiplexores (Distribuidores de datos)

Un demultiplexor es un circuito combinacional que recibe información en una sola


línea y la transmite a una de 2n líneas posibles de salida. La selección de una línea
de salida específica se controla por medio de los valores de los bits de n líneas de
selección. La operación es contraria al multiplexor. La siguiente figura muestra el
diagrama de bloques del demultiplexor

Diagrama de Bloques del Demultiplexor

En la siguiente figura se muestra un demultiplexor de 1 a 4 líneas. Las líneas de


selección de datos activan una compuerta cada vez y los datos de la entrada
pueden pasar por la compuerta hasta la salida de datos determinada. La entrada
de datos se encuentra en común a todas las AND.

Circuito Lógico de un Demultiplexor de 1 a 4 líneas


El decodificador de la siguiente figura funciona como un Demultiplexor si la
línea E se toma como línea de entrada de datos y las líneas I0 e I1 como líneas de
selección. Observe que la variable de entrada E tiene un camino a todas las salidas,
pero la información de entrada se dirige solamente a una de las líneas de salida de
acuerdo al valor binario de las dos líneas de selección I 0 e I1. Por ejemplo, si la
selección de las líneas I0I1 = 10 la salida Y2 tendrá el mismo valor que la entrada E,
mientras que las otras salidas se mantienen en nivel bajo.

Circuito Lógico de un Decodificador/Demultiplexor

En consecuencia, como las operaciones decodificador y demultiplexor se obtienen


del mismo circuito, un decodificador con una entrada de activación se
denomina decodificador/demultiplexor; siendo la entrada de activación la que
hace al circuito un demultiplexor.

 Cuestionario:

1. Identifique los terminales de su display.

2. Diseñe e implemente un circuito que sume dos números decimales de un digito


cada uno y que permita visualizar en dos display de 7 segmentos el resultado.
SOLUCION:

Para sumar dos números BCD:

 Sumar los dos números BCD utilizando las reglas de la suma binaria vistas anteriormente.

 Si una suma de 4 bits es igual o menor que 9, es un número BCD válido.

 Si una suma de 4 bits es mayor que 9, o si genera un acarreo en el grupo de 4 bits, el


resultado no es válido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar así los
seis estados no válidos y pasar al código 8421. Si se genera un acarreo al sumar 6, éste se
suma al grupo de 4 bits siguiente.
Circuito sumador BCD a partir de 2 sumadores binario (full adder)

Circuito sumador a implementar


3. Diseñe una unidad aritmética decimal, con dos variables de selección y

dos dígitos BCD, A y B. La unidad debe realizar cuatro operaciones aritméticas que
dependen de los valores de las variables de selección, de manera que verifique la
tabla siguiente:

V1 V2 FUNCIÓN DE SALIDA
0 0 A + Complemento a 9 de B
0 1 A+B
1 0 A + Complemento a 10 de B
1 1 A+1

En el diseño utilice bloques MSI, y diseñe el complemento a 9 a nivel de compuertas.

SOLUCION:

Para la implementación se utilizará dos IC 74153.


La idea para el circuito es que el número B sea la entrada a los 2 IC 74153 (estos funcionarán como
un MUX de 16 a 4), según se varíe V1 y V2 tenemos:

Para V1=0, V2=0


Primero se diseña el complemento a 9. La salida de este generará 4 bits que se conectarán cada
uno a la entrada “0” de cada MUX de 4 a 1.
Para ‘a’:

a=(A+B+C)’

Para ‘b’:

b= BC’

De la tabla se nota que: c=C y d=D’.

Para V1=0, V2=1


En este caso los bits de B entran directamente a la entrada “1” de los 4 MUX de 4a1

Para V1=1, V2=0


En este caso, se aprovecha que ya se tiene el complemento a 9 y entonces la entrada “3” de cada
MUX serán los mismos que en la entrada “1”, con la diferencia que en el sumador se tendrá un
acarreo de entrada C1=1 (se logra conectando V1 con C1)

Para V1=1, V2=1


En este caso, las entradas “4” de cada MUX son conectadas a tierra, lo cual hace B=0. Pero al estar
V1 conectado a C1 generará un acarreo C1=1.
4. Diseñe e implemente los siguientes conversores de código, empleando
decodificadores y codificadores, visualizando las salidas en LED’s.

a) Exceso 3 Gray a 84-2-1.


b) BCD 2421 a BCD natural.

SOLUCION:

a) Se obtiene la siguiente tabla de combinaciones:


Para la implementación podemos plantear el uso de un decodificador de 4 a 16 líneas y un
codificador de 16 a 4 líneas; el decodificador 74XX154 (74LS154 en nuestro caso), permite activar
las 16 salidas posibles de la combinación de 4 bits; aunque el codificador que necesitamos no sea
comercial, es posible conectar 2 codificadores de 3 a 8 líneas en cascada para lograr un codificador
de 16 a 4 líneas.

Notamos que las salidas son en bajo por lo que podemos hacer uso de compuertas NAND
(Mintérminos).

b) Se obtiene la siguiente tabla de combinaciones:

Para efectuar esta conversión de código BCD 2421 a código BCD natural realizamos los mismos
pasos que para el caso anterior, con la única diferencia que cambiamos de decodificador para
obtener el número en BCD natural (la salida se muestra en LED’s). Para este caso utilizamos el
codificador decimal 74 147.
Notar que las salidas del codificador 74 147 son activas en bajo por lo que usamos negadores en
las salidas de este codificador para poder visualizar correctamente en los LED’s de salida.

5. Diseñe e implemente un circuito conversor de código, que permita visualizar en


un display de 7 segmentos, el valor de la tecla que se presiona en un teclado
hexadecimal.

SOLUCIÓN:

Antes de mostrar el diseño del circuito debemos saber la forma de operar los teclados
hexadecimales.

Los teclados hexadecimales o teclados matriciales (4x4) son un arreglo de pulsadores o


interruptores que están dispuestos como una matriz de 4x4, la cual se encuentra configurada en 4
filas y 4 columnas. Cuando se oprime una tecla se hace una conexión entre la columna y el renglón
de la tecla.
Para poder operar el teclado matricial podemos haremos uso del decodificador MM74C922, el cual
es especial para la operación del teclado; éste decodificador posee ocho entradas, las cuales se
dividen en 2 grupos:

-Las entradas “X” se conectan a las columnas del teclado.

-Las entradas “Y” se conectan a las filas del teclado.

La salida del decodificador será el número comprendido entre 0000 y 1111; la salida será en 4
líneas de salida por lo que obtendremos la salida bit por bit.

Mostramos una imagen de la conexión del decoder:

Para poder encender el display podemos obtener una función de encendido para cada segmento,
por lo que la tabla de combinaciones será:
Para poder usar una menor cantidad de puertas lógicas es preferible representar las funciones de
salida por medio de maxterminos, así nuestras funciones serán:

Ahora para terminar, debemos enviar la salida del decodificador para teclado hexadecimal a un
decodificador de 4 a 16 (74154) con salidas bajo activas, es decir que dependiendo de la entrada el
decoder activará solo una salida con “0” y las otras permanecerán en “1”, finalmente debemos unir
las salidas a compuertas AND que obedecen a los maxterminos; debe tenerse en cuenta que el
display usado es de ánodo común.
6. Diseñe e implemente un circuito decodificador, que decodifique un número
binario de cuatro bits (16 combinaciones) al sistema de letras que serán
visualizadas en un display de 7 segmentos, donde:
SOLUCION:

Al tener presente los segmentos (a,b,c,d,e,f,g) que deben estar encendidos o apagados al
introducir una determinada entrada, obtenemos la siguiente tabla de combinaciones:

Podemos realizar la implementación con decodificadores con salidas en alto o bajo nivel, en esta
experiencia haremos uso del decoder 4 a 16 (C.I 74154) con salidas en bajo nivel; podemos hacer
uso de compuertas NAND (Mintérminos) o AND (Maxterminos).

Convenientemente usaremos nuestros maxterminos y puertas AND para reducir la


implementación de nuestro circuito decodificador.

Luego, para cada entrada del display de 7 segmentos se tendrán las siguientes funciones:
7. Empleando un multiplexor de 4 a 1 y compuertas externas mínimas, implemente
la siguiente función de Boole:

f (A,B,C,D) = AB’+BD+CD+B’D’

Use las variables A y B como variables de control del MUX, además indicar la especificación
decimal de la función, teniendo en cuenta que B debe estar conectado a S0.

SOLUCION:

Se expresa f en su forma canónica, entonces:


f=AB’(C+C’)(D+D’) + (A+A’)B(C+C’)D + (A+A’)(B+B’)CD + (A+A’)B’(C+C’)D’
f=A’B’C’D’ + A’B’CD’ + A’B’CD + A’BC’D + A’BCD + AB’C’D’ + AB’C’D + AB’CD’ + AB’CD + ABC’D +
ABCD

Para la implementación del circuito se usará el multiplexor 74153 Ordenando los datos de la tabla
de verdad en la siguiente tabla

I0 I1 I2 I3
00 01 10 11
D’ 1 0 1 0
D 0 1 1 1
C’
D’ 1 0 1 0 C
D 1 1 1 1

De la tabla, se obtiene la configuración que tiene que ir conectada a cada entrada del multiplexor
(I0, I1, I2, I3):

I0=C’D’+CD’+CD=C’D’+C
I1=C’D+CD=D
I2=CD+C’D’+C’D+CD’=1
I3=C’D+CD=D

Luego, a la salida del multiplexor se obtendrá la función lógica deseada que se visualizará en un
led.

8. Diseñe e implemente un comparador de magnitud de dos números de tres bits


cada uno, para obtener en la salida A>B, A<B, A=B. Visualizar la salida en LED’s.

SOLUCION:

Para el diseño del circuito se usará el sumador 7483; primero se calculara el complemento a 2 de B
para luego sumar los números A y [B]2, esta será la primera etapa.

La segunda etapa se diseña sabiendo que cuando A=B se debe tener S4S3S2S1=1000 que resulta
del complemento a dos.
Para A>B, S4 (que vendría a ser el acarreo de tres bits) será siempre 1 lógico.
Para A<B, S4 será siempre 0 lógico. Con esto se arma la tabla de verdad del circuito.
De la tabla: Y=S4

Para Z:

Z= (S1+S2+S3)’

Para W:

W= S1 (S2+S3+S4)
9. Diseñe e implemente un circuito (bus de 4 bits) que transmita datos en forma
bidireccional, mostrar en display de 7 segmentos el dato transmitido. Emplee el
C.I. 74125 o 74126 (compuertas de tres estados).

SOLUCIÓN:

Si configuramos el DIP Switch del “extremo A” al valor 0011 y presionamos su respectivo pulsador
de transmisión, el dato se transmitirá al “extremo B” y se visualizará en el display de 7 segmentos
el dígito 3. Lo mismo sucede si colocamos un valor binario en los DIP Switch de B y presionamos su
respectivo pulsador de transmisión, el dato debe visualizarse en el display del “extremo A”.
Para almacenar los 4 bits que envía un “extremo” debe emplear el latch 74373. Para implementar
la direccionalidad emplee el CI 74244 o 74245.

TEORÍA:

Circuito bidireccional:

El siguiente circuito aprovecha la capacidad bidireccional del puerto paralelo de la práctica


totalidad de los PC’s actuales. Así, las 8 líneas de datos del puerto (D0-D8) se pueden utilizar a
modo de un bus de datos que, en ocasiones contiene los valores que serán leídos por la
computadora y, otras veces, transporta los datos que ésta envía a la salida digital.
Ventajas: Como se ve en la simulación se usan solo 4 líneas de datos para enviar hasta 8 bits (4 bits
de A y 4 bits de B). Es bidireccional.

Desventaja: No se puede enviar ambos datos a la vez se termina el proceso de transmisión de una
entrada para que la otra entrada recién comience a trasmitir.

10. Haciendo uso de la herramienta Quartus (Altera) diseñe un sumador completo,


usando el editor gráfico, según el procedimiento siguiente:

A. Crear el esquemático.

B. Asignar pines de entrada y salida.

C. Conectar los símbolos.

D. Editar los nombres de los pines.

E. Asignar numero de pines.

F. Compilar el proyecto.

G. Simular el proyecto.

Tabla de verdad

You might also like