Está en la página 1de 9

UNIVERSIDAD DE LAS FUERZAS

ARMADAS “ESPE”

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

MICROPROCESADORES

Tema:
Diseño de una ALU y utilización de memorias ROM
Integrantes:

Jácome Nicolás
Docente:
Ing. Miroslava Zapara Rodríguez

NRC:
2085

Sangolquí, 20 de octubre del 2017


1. Tema
Diseño de una ALU y utilización de memorias ROM
2. Problema

Diseñar una ALU que permita operaciones aritméticas y lógicas si es aritmética


debe realizar la suma y resta con signo de dos números de 2 bits. Si es lógica
debe realizar x Nor y x OR de 2bits

Utilizando una memoria visualice su numero de teléfono y nombre

3. Simulación del circuito

BLOQUE A

BLOQUE B BLOQUE C

Ilustración 1. Simulación del Circuito

5. Funcionamiento
5.1 Bloque A: Selección de operación
El problema nos pide que elijamos entre una operación lógica y una operación
aritmética el bloque A consta de un switch el cual en un nivel alto (H) realizara
operaciones aritméticas y en un nivel bajo (L) operaciones lógicas.

Ilustración 2. Selector de operación


5.2 Bloque B: Suma o Resta de 2 bits con signo

El bloque B se divide en varias partes a continuación explicaremos cada una de


ellas

Ilustración 3. Comparador (74ls85)


El trabajo que desempeña el comparador es muy simple identifica cuál de los números de dos
bits ingresados es menor, la variable menor indica que el número A es menor a B .
Ilustración 4. Selector de el número menor
Pues bien, la variable menor que ingresa en el multiplexor (74157) es la encargada de
seleccionar entre los posibles valores de A y B de tal manera que siempre podremos restar el
número mayor del número menor.

Ilustración 5. Complemento a 2
Luego de seleccionar entre el número mayor y menor sabemos que al menor tenemos
que complementarle y sumarle 1 pues bien la pregunta es porque utilizamos 4
compuertas Ex Or .

Los últimos 2 dígitos más significativos del número B siempre serán 0 ya que estamos
realizando operaciones con 2 bits es por esto que siempre al número menor se lo
complementara y se sumara 1 mediante el acarreo de entrada (R) el cual es 1
únicamente cuando se realiza la resta.
De esta manera al número mayor se le suma el complemento del número menor más 1.
Ilustración 6. Signo y resultado
Para explicar cómo se activa el display del signo explicaremos la siguiente función

Ilustración 7. Función del signo


Sabemos que el resultado tendrá signo negativo cuando A sea menor a B entonces
ayudándonos de el resultado del comparador utilizado anteriormente sabremos cuando A es
menor a B pero debemos asegurarnos que el signo negativo solo esté presente en la resta por
eso también debemos comparar con la variable R la cual muestra el tipo de operación que se
está realizando , la tercera variable (aritmético) es la encargada de apagar los displays cuando
se seleccione la operación lógica .

Tabla 1. Tabla de verdad de la función encargada del signo.

menor R aritmético F1
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
F1= menor * R * aritmético
5.3 Bloque C: Operaciones Lógicas

Ilustración 8. Operaciones lógicas


Para esta etapa utilizamos buzzers 3-state (74S244) en cual básicamente es un arreglo de 4 3-
state que se activan con un entable común cada OE se activa dependiendo la operación lógica
que elegimos.

Ilustración 9. Funciones
Estas funciones son las encargadas de habilitar los enables de los 3-state así pues si
elegimos realizar la operación lógica de una EX OR solo se visualizará está mediando el
uso de un led
Utilizamos compuertas nand debido a que la activación del buzzer 3-state está dada en nivel
bajo (L) la variable (logica) indica que hemos seleccionado realizar operaciones lógicas y la
variable (OL) indica cuál de las dos operaciones lógicas hemos elegido así se activaran o no los
buzzers.
5.4 Circuito 2: Visualización del número telefónico y nombre

BLOQUE D BLOQUE E

Ilustración 11. Circuito 2


5.4 Bloque D:

Ilustración 12. Bloque D


En este bloque hacemos que el barrido en la memoria sea automático al principio se realizo el
diseño de un contador de 0 a 15 mediante el uso de flip flops pero el propósito en cada circuito
es optimizarlo y utilizar herramientas ya existentes es por eso que utilizamos el integrado
(74LS193) el cual es un contador Ascendente y Descendente del 0 al 15 .

5.4 Bloque E:
Ilustración 13. Bloque E
En este bloque se realizó la programación de la memoria antes de este proceso fue necesario
analizar cada número y letra en un display de 7 segmentos para codificarlos en hexadecimal y
proceder a programar en la memoria.

Tabla 2. Tabla de valores de números y letras .


# o a b c d e f g Hexadecimal
letra
0 1 1 1 1 1 1 0 7E
9 1 1 1 0 0 1 1 73
8 1 1 1 1 1 1 1 7F
7 1 1 1 0 0 0 0 70
5 1 0 1 1 0 1 1 5B
4 0 1 1 0 0 1 1 33
1 0 1 1 0 0 0 0 30
5 1 0 1 1 0 1 1 5B
2 1 1 0 1 1 0 1 6D
9 1 1 1 0 0 1 1 73
- 0 0 0 0 0 0 1 01
r 1 0 0 0 1 1 0 46
o 1 1 1 1 1 1 0 7E
g 1 1 1 1 0 1 1 7B
e 1 0 0 0 1 1 0 46
r 1 0 0 0 1 1 0 46
6. Conclusiones

6.1 Conclusiones

 La dificultad de realizar un contador de 0 a15 se dio al incrementar el


circuito en un gran tamaño , se pudo solucionar de una forma más simple y
efectiva investigando elementos que posiblemente ya existían . con la
utilización del integrado (74LS193) que desempeñaba la misma función y reducía
considerablemente al circuito

7. Bibliografía
Cuaderno de apuntes de Circuitos digitales

También podría gustarte