Você está na página 1de 21

INSTITUTO TECNOLÓGICO DE JALISCO JOSÉ MARIO MOLINA

PASQUEL Y HENRIQUEZ
UNIDAD ACADEMICA PUERTO VALLARTA

UNIDAD II

EXAMEN: DISEÑO DE UNA ALU DE 4 BITS

NOMBRE DE LA ASIGNATURA:
MICROCONTROLADORES

DIEGO VIDAL GARCIA RUIZ 8VO 13021058

INGENIERIA EN ELECTROMECANICA

NOMBRE DEL PROFESOR:


ING. RAUL OSORIO RAMOS

FECHA: MIERCOLES 25 DE ABRIL DE 2018


Construir una ALU de 4 bits utilizando un PIC16F887, en donde los operadores se lean del puerto B
(nibble bajo para el operando A y nibble alto para operando B), el resultado se genere en el puerto D
y con los 3 bits menos significativos del puerto C se defina la operación.

PORTC OPERACIÓN
00001 PORTD = A+B
00010 PORTD = A-B
00100 PORTD = A*B
01000 PORTD = A&B
10000 PORTD = A|B

Se realizó de esta forma debido a que era más fácil asignar las operaciones por medio de un bit cada
entrada y no por una combinación de bits. Debería ser como la combinación de bits en el puerto C,
para poder seleccionar una operación.

Este es el código.
SIMULACION

SELECCIÓN DE SUMA
Se realizará este ejemplo implementando nada más 4 combinaciones de bits en los nibbles para
saber la operación a realizar.

NIBBLE 1 NIBBLE 2 PORTD


RB3 RB2 RB1 RB0 RB7 RB6 RB5 RB4 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1
0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1
SELECCIÓN RESTA
Se realizará este ejemplo implementando nada más 4 combinaciones de bits en los nibbles para
saber la operación a realizar.

NIBBLE 1 NIBBLE 2 PORTD


RB3 RB2 RB1 RB0 RB7 RB6 RB5 RB4 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1
1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
SELECCIÓN MULTIPLICACIÓN
Se realizará este ejemplo implementando nada más 4 combinaciones de bits en los nibbles para
saber la operación a realizar.

NIBBLE 1 NIBBLE 2 PORTD


RB3 RB2 RB1 RB0 RB7 RB6 RB5 RB4 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
0 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0
0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0
SELECCIÓN OPERACIÓN AND “&”
Se realizará este ejemplo implementando nada más 4 combinaciones de bits en los nibbles para
saber la operación a realizar.

NIBBLE 1 NIBBLE 2 PORTD


RB3 RB2 RB1 RB0 RB7 RB6 RB5 RB4 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0
0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0
SELECCIÓN OPERACIÓN OR “|”
Se realizará este ejemplo implementando nada más 4 combinaciones de bits en los nibbles para
saber la operación a realizar.

NIBBLE 1 NIBBLE 2 PORTD


RB3 RB2 RB1 RB0 RB7 RB6 RB5 RB4 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0
0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1
0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0

Você também pode gostar