Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Informe 1.3 Suntaxi Andrea 8191

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 27

E

DEPARTAMENTO DE ELÉCTRICA Y
ELECTRÓNICA

MICROPROCESADORES

PROYECTO I PARCIAL

Nombre:
ANDREA SUNTAXI

DOCENTE:
Ing. Miroslava Zapata

NRC: 8191

Sangolquí, 17 de junio de 2020


Contenido
1. Tema:.............................................................................................................................3
2. Objetivos:......................................................................................................................3
2.1 General:...............................................................................................................3
2.2 Específicos:.........................................................................................................3
3. Mapa conceptual:...........................................................................................................3
4. Diagrama del circuito....................................................................................................4
5. Desarrollo......................................................................................................................5
Bloque de Entrada.........................................................................................................5
Unidad de control......................................................................................................5
Teclado matricial.......................................................................................................5
Decodificador de teclado (74C922)...........................................................................6
Proceso..........................................................................................................................6
Circuito lógico...........................................................................................................6
Circuito aritmético.....................................................................................................7
Memoria 6116...........................................................................................................8
Memoria 2764...........................................................................................................9
Bloque de Salida..........................................................................................................10
Visualización de datos.............................................................................................10
LCD.........................................................................................................................11
Decodificador binario de 5 bits...............................................................................11
6. Dificultades..................................................................................................................12
7. Solución de dificultades..............................................................................................12
8. Conclusiones................................................................................................................12
9. Recomendaciones........................................................................................................13
Referencias......................................................................................................................13
Anexos.............................................................................................................................14
Prueba de escritorio.....................................................................................................14
1. Tema:
Aplicación de las memorias UEVPROM (2764) y RAM (6116)

2. Objetivos:
2.1 General:
 Realizar un el diseño de circuito electrónico utilizando una memoria
UEVPROM, y RAM (6116)

2.2 Específicos:
 Programar e implementar la memoria UEVPROM para la visualización de
datos en un LCD.

 Utilizar un teclado matricial para el ingreso de dos datos de 4 bits cada uno.

 Utilizar una memoria SRAM (6116) guardar los resultados de un circuito


aritmético.

3. Mapa conceptual:
RealizarPROBLEMA:
un circuito utilizando una memoria RAM Y ROM para la resolución de 4 operaciones disti

SOLUCIÓN: DATO A TECLADO DATO B

SRAM SUMA F1=A+B

Resultado en
ARITMÉTICO LÓGICO LEDs
Resultado de la operación en display
RESTA
F2= (A B) A

LCD
indica la operación que se está ejecutando
4. Diagrama del circuito

Figura 1. Diagrama del circuito realizado en ISIS Proteus, la parte señalada con líneas punteadas de color azul corresponde al bloque de entrada del circuito, la región señalada con líneas
punteadas de color verde corresponde al bloque del proceso y finalmente la zona señalada con líneas punteadas de color rojo corresponde al bloque de salida.
5. Desarrollo

Bloque de Entrada

Unidad de control
En la unidad de control el usuario debe seleccionar el tipo de circuito en el que desea
trabajar, este poder ser aritmético o lógico, si selecciona el circuito aritmético tiene las
opciones de realizar una suma o una resta, si es lógico puede elegir entre las funciones
F 1=A + B Y F 2=¿)A, una vez ingresadas estas opciones el usuario debe seleccionar la
dirección de memoria en la que quiere guardar el resultado de la operación aritmética.

Figura 2 Unidad de control en el que selecciona la operación que se desea guardar y en que dirección de la memoria
se desea guardar el resultado.

Teclado matricial
Para la entrada de los datos numero A y numero B que se van a operar, de acuerdo a lo
seleccionado en la entrada de control, se utiliza un teclado matricial 4x4, este teclado
nos va a permitir ingresar datos de 4 bits cada uno, es decir, se pueden ingresar los
números que van de 0 a 15.

Figura 3. Ingreso de datos utilizando un teclado matricial.


Decodificador de teclado (74C922)

Figura 4 Decodificador de teclado (74c922)

Para la utilización del teclado matricial se necesita un decodificador (74c922) que es el


encargado que mediante la pulsación de la tecla salga su codificación en 4 bits. Las
salidas del decodificador se conectan a las entradas de los circuitos aritmético y lógico.
Proceso

Circuito lógico
Para realizar la función F 1=A + B, se utiliza la compuerta lógica OR (7432) para
realizar la operación bit a bit, los resultados de esta operación son enviados a las
entradas de un multiplexor 2 a 1 (74157). Para realizar la operación F 2=¿)A, primero se
debe realizar la operación A ⊕B bit a bit, utilizando la compuerta lógica X-OR (7486)
y el resultado que sale de esta compuerta se envía a las entradas de una compuerta AND
(7408) para obtener el resultado de la operación, posteriormente estos resultados son
enviados al multiplexor 74157, como se muestra en la Figura 8.

Figura 5. Tabla de verdad compuerta OR (7432)

Figura 6. Tabla de verdad compuerta X-OR (7486)


Figura 7.Tabla de verdad compuerta AND (7408)

Figura 8. Diseño del circuito lógico.

Circuito aritmético

Este circuito es el encargado de realizar una suma o una resta, dependiendo de la


selección del usuario en la unidad de control, el circuito realizara una suma con un 0
lógico y una resta con 1 lógico.
Los 4 bits del dato A que salen del decodificador del teclado (74c922) ingresan
directamente al integrado 74283, mientras que cada bit del dato B debe ser tratado antes
de ingresar al sumador 74283, para esto es necesario ingresar cada bit del dato B que
sale del decodificador del teclado a una compuerta logica X OR, al igual que el dato de
suma o resta, en el caso de que sea suma los 4 bits del dato B ingresan al integrado
74283 para realizar la operación de suma, si es resta los 4 bits del dato B ingresan al
sumador con su respectivo complemento para que se pueda realizar la resta entre los dos
numeros.
Figura 9. Diseño del circuito aritmético (sumador/restador)

Integrado 74LS157
Los resultados de los circuitos aritméticos y lógicos son enviados a dos integrados
74LS157, que contiene 4 multiplexores 2 a 4 cada uno, a las entradas de cada
multiplexor se enviaran las respuestas del circuito lógico (F1 o F2) y aritmético (suma o
resta), el enable de cada integrado es puesto a tierra para que se siempre se encuentre
habilitado, en los selectores del multiplexor se envía la operación selecciona por el
usuario ya sea lógica (1 lógico) o aritmética (0 lógico), y dependiendo de esta selección
tendremos los resultados de la operación, seleccionada por el usuario, a las salidas de
los multiplexores, estas salidas serán enviadas a la memoria 6116, para que sean
guardadas en una dirección seleccionada por el usuario.

Memoria 6116
La memoria 6116 corresponde a una memoria SRAM, esta memoria nos permite guardar el
resultado del circuito aritmético en una dirección seleccionada por el usuario, y
posteriormente mostrar este resultado en 3 display incluido su signo. Esta memoria nos
permite leer y escribir datos, para este diseño los datos de entrada van a corresponder a los
datos de salida del circuito aritmético. Una característica de esta memoria es que los datos
ingresados salen por donde los mismos datos son ingresados.

Figura 10. Diseño de una memoria SRAM (6116).

Memoria 2764
La memoria 2764 se la identifica de la siguiente forma: 27 indica el tipo de memoria a la
que pertenece, en este caso UVPROM y 64 la capacidad que tiene dicha memoria en este
caso 64 Kbytes, es la encargada de almacenar los datos que posteriormente se enviaran al
LCD para indicar al usuario que operación se está ejecutando.
Figura 11. Diseño de la memoria ROM

Para poder visualizar los datos que se encuentran en la memoria ROM, se utiliza un
contador binario, como se muestra en la Figura 11, las salidas del integrado 74LS193 se
conectan a las 4 primeras líneas (A0, A1, A2, A3, A4) de la memoria ROM, esto
permitirá que el LCD muestre los datos de forma automática.

Figura 12. Contador binario (74LS193).

Para poder mostrar los datos de acuerdo a la selección del usuario, se utiliza un
decodificador 2 a 4, como se muestra en la Figura 13, se envían a las entradas del
decodificador la operación seleccionada por el usuario, sus salidas deben ser negadas
para tener una salida en alto (1 lógico) que activara la dirección de la memoria y
mostrara el dato guardado en esa dirección en un LCD. Las salidas negadas del
decodificador se conectan con el bus de dirección de la memoria ROM (A4, A5, A6,
A7).

Figura 13. Decodificador (74LS139)

Para poder observar en el LCD, la operación que se está ejecutando es necesario realizar
una codificación (ver Tabla 1), la misma que consiste en representar en código hexadecimal
el código binario de cada letra que se quiere mostrar en la pantalla LCD.

Figura 14 Programa BK PRECISION Pg4uw

Bloque de Salida

Visualización de datos
En el bloque de salida de datos tenemos tres visualizadores, como se muestra en la
figura 15, el primer visor corresponde a un LCD en el que se muestran los datos
guardados en la memoria ROM, estos datos nos indicaran la operación que está
realizando el circuito, ya sea una operación aritmética o lógica, cuenta además con tres
display en el que se mostrara el resultado de una suma o de una resta con signo, y
finalmente tenemos cuatro LEDs para mostrar el resultado del circuito lógico ya sea de
la función 1 o función 2.
Figura 15. Bloque de la salida de datos

LCD
Para poder visualizar las palabras que se encuentran guardadas en la memoria ROM, se
debe conectar las salidas de la memoria con los pines D0, D1, D2, D3, D4, D5 y D6 del
LCD, el pin D7 se conecta a tierra. La salida D7 de la memoria ROM se conecta al pin
RS del LCD para evitar realizar la escritura y lectura del LCD de forma manual, para
realizar esta conexión es necesario sumar 8 a los primeros 4 bits (D0-D3) del código
binario binario de nuestra codificación como se muestra en la Tabla 1.

Figura 16. Conexión del LCD.

Decodificador binario de 5 bits


Para poder conectar la salida a un display de 7 segmentos de las distinatas salida del
circuito aritmético es necesario convertir de código binario a BCD como se muestra en
la figura 17, el integrado 7447 es el encargado de transferir los datos que se colocan en
displays de 7 segmentos, en la
Figura 17 Circuito decodificador binario de 5 bits a BCD.

La figura 6 muestra la conexión del display de 7 segmentos los cuales son 2 display ánodo
común, es decir, se activan con un 0 lógico y se apagan con 1 lógico, estos van conectados a
las salidas de cada registro (74194).

6. Dificultades

La dificultad que se me presento al realizar el diseño del circuito fue la implementación


de un LCD, para que me permita visualizar la operación que se está realizando de forma
automática.

7. Solución de dificultades

Comprender el funcionamiento de un LCD, como se inicializa, para que sirve cada uno
de sus pines y los comandos que se utilizan para hacerlo funcionar correctamente, y
como implementar este junto a una memoria ROM.

8. Conclusiones

 La memoria 2764 tiene la capacidad de almacenamiento suficiente para poder


guardar los datos requeridos.
 Gracias a la adecuada codificación y el programa BK PRECISION se pudo
visualizar los datos de la operación que está siendo ejecutada en un LCD.

 La memoria SRAM 6116 nos permitió guardar los resultados en una dirección
ingresada por e usuario. Los mismos que se mostrarán cuando la memoria se
encuentre habilitada
 La implementación de un teclado matricial, se evitó utilizar las etiquetas Logicstate,
facilitando el ingreso de los datos para realizar las operaciones seleccionadas.
9. Recomendaciones

 Al ingresar los datos en el programa BK PRECISION, hay que tomar en cuenta


que los datos se los debe ir llenando desde la dirección 0, e irlos colocando de
izquierda a derecha y grabar el archivo con extensión .bin.
 Al momento de realizar la codificación de cada letra hay que tomar en cuenta que se
debe sumar 8 a los primeros 4 bits, para que puedan ser visualizadas en un LCD de
forma automática.
 Tener en cuenta la implementación de resistencias en la salida de datos de la
memoria SRAM para evitar resultados erróneos en la visualización por display.

 Tener en cuenta que, al utilizar un teclado matricial, los números mostrados en el


teclado muchas de las veces no corresponden a dicho valores, adicionalmente se
debe utilizar un decodificador para el teclado.

Referencias

http://www.ladelec.com/. (s.f.). Obtenido de Registros de desplazamiento TTL y


CMOS: http://www.ladelec.com/teoria/electronica-digital/395-registros-de-
desplazamiento-ttl-y-cmos
Anexos
Prueba de escritorio

Tabla 1. Codificación de las palabras mostradas en el LCD.

LETRA D0-D3 D4-D7 HEX LCD

S 0101 0011 53 D3

U 0101 0101 55 D5

M 0100 1101 4D CD

A 0100 0001 41 C1

         

R 0101 0010 52 D2

E 0100 0101 45 C5

S 0101 0011 53 D3

T 0101 0100 54 D4

A 0100 0001 41 C1

         

F 0100 0110 46 C6

2 0011 0010 32 B2

- 0010 1101 2D AD

L 0100 1100 4C CC

O 0100 1111 4F CF

G 0100 0111 47 C7

         

F 0100 0110 46 C6
1 0011 0001 31 B1

= 0011 1101 3D BD

A 0100 0001 41 C1

+ 0010 1011 2B AB

B 0100 0010 42 C2

En la tabla 1 se muestra como se codifico cada letra para poder visualizar la operación
ejecutada.
La sección de color verde indica las letras de cada palabra que se quiere visualizar.
La sección de color amarillo indica los 8 bits en código binario de cada letra que se va a
mostrar en pantalla.
La sección marcada de celeste corresponde a los datos de la sección de color amarrilla
en código hexadecimal, y el código que se va a guardar para que se va a guardar en la
memoria para poder ser visualizada.
Si la codificación que se realizo es correcta, el LCD que se encuentra en la salida debe
formar correctamente las letras como se muestra en la Figura 18, la salida del LCD nos
indica que se está realizando la operación de la función 1 ( F 1=A + B), al ser una operación
del circuito lógico, el resultado está representado en los LEDs.
Función F1
Para este ejemplo se ingresó 9 como número A, y 5 como numero B, entonces
tendríamos:
Número A=9:
LK3 LK2 LK1 LK0
1 0 0 1
Donde LK0, es el bit menos significativo, y LK3 el bit más significativo.
Número B=5:
MN3 MN2 MN1 MN0
0 1 0 1
Donde MN0, es el bit menos significativo, y MN3 el bit más significativo.
Para realizar la operación se debe tomar en cuenta la tabla de verdad de la compuerta
OR, que es la siguiente:
LK MN SALIDA
0 0 0
0 1 1
1 0 1
1 1 1
Entonces reanalizando la operación A+B, tenemos:
RF3 RF RF1 RF0
2
LK 1 0 0 1
MN 0 1 0 1
Respuesta F1 1 1 0 1
Figura 18. Corrida de la operación F1 en ISIS Proteus

En la Figura 19, se puede observar la ejecución del programa para el caso de la función
2, F 2=¿)A, del circuito lógico, el LCD nos indica que se está ejecutando la función 2 y
el resultado se lo puede visualizar por medio de los LEDs
Función F2
Para este ejemplo se ingresó 5 como número A, y 6 como numero B, entonces
tendríamos:
Número A=5:
LK3 LK2 LK1 LK0
0 1 0 1
Donde LK0, es el bit menos significativo, y LK3 el bit más significativo.
Número B=6:
MN3 MN2 MN1 MN0
0 1 1 0
Donde MN0, es el bit menos significativo, y MN3 el bit más significativo.
Para realizar la operación se debe tomar en cuenta la tabla de verdad de la compuerta X-
OR, y la compuerta AND que son las siguientes:
Compuerta X-OR
LK MN SALIDA
0 0 0
0 1 1
1 0 1
1 1 0
Compuerta AND
LK MN SALIDA
0 0 0
0 1 0
1 0 0
1 1 1

Primero se realiza la operación ¿):


LK 0 1 0 1
MN 0 1 1 0
Salida X-OR 0 0 1 1

El resultado de la operación anterior se lo multiplica (AND) por el numero B, entonces


tenemos:
RF23 RF22 RF21 RF20
Salida X-OR 0 0 1 1
MN 0 1 1 0
Respuesta F2 0 0 1 0
Figura 19 Corrida del software en ISIS Proteus

En la figura 20, se muestra la ejecución del programa para el caso de una operación
aritmética, en este caso la suma como se puede visualizar en el LCD, y el resultado de la
operación se puede visualizar por medio de los display.
Figura 20. Corrida del software en ISIS Proteus para una suma aritmética.

En la figura 21, se realizó la ejecución de la operación aritmética resta, en el LCD se


visualiza la operación que se está ejecutando y en los display se puede observar el
resultado de la resta entre los números ingresados por el teclado.

Figura 21. Corrida del software en ISIS Proteus para una resta aritmética.

También podría gustarte