Informe 1.3 Suntaxi Andrea 8191
Informe 1.3 Suntaxi Andrea 8191
Informe 1.3 Suntaxi Andrea 8191
DEPARTAMENTO DE ELÉCTRICA Y
ELECTRÓNICA
MICROPROCESADORES
PROYECTO I PARCIAL
Nombre:
ANDREA SUNTAXI
DOCENTE:
Ing. Miroslava Zapata
NRC: 8191
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.
3. Mapa conceptual:
RealizarPROBLEMA:
un circuito utilizando una memoria RAM Y ROM para la resolución de 4 operaciones disti
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.
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.
Circuito aritmético
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.
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.
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).
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.
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.
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
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 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
Referencias
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
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.
Figura 21. Corrida del software en ISIS Proteus para una resta aritmética.