Sei sulla pagina 1di 4

Práctica 2

Comparador de dos números de 4 bits

Nombre: Sebastián Calleros Morales Matricula: 171551


Objetivos

Al término de la práctica el alumno:


 Será capaz de realizar un programa en lenguaje ensamblador y probarlo en
proteus.
 Interactuara con la plataforma de simulación Proteus y MPLAB X IDE
 Será capaz de implementar un programa en ensamblador para el
PIC16F84 que configure los puertos del microcontrolador y
realice operaciones de comparación.

Introducción

Dentro del repertorio de instrucciones del microcontrolador PIC16F84


no hay aquellas que permitan realizar operaciones de comparación. Sin
embargo, habrá situaciones en las que será necesario comparar el
contenido de 2 o más registros para decidir la acción siguiente. Hay
que destacar que, al no haber instrucciones de comparación, éstas
deben realizarse mediante restas.

El problema a resolver en esta práctica consiste en diseñar el hardware


y confeccionar un programa para el PIC16F84A compare dos números
(A y B) de 4 bits c/u representados por 8 interruptores conectados al
PUERTOB y genere el resultado en 3 leds conectados al PUERTOA,
tomar la siguiente figura como base.

Material y equipo utilizado.

Proteus
MPLAB X IDE
PIC 16F84A
Protoboard y componentes extra
Desarrollo

Realice un programa en lenguaje ensamblador para comparar dos números de 4


bits que se alimentan por el puerto B e indicar con 3 leds a la salida del puerto A
si, A>B, A<B y A=B.
1. ¿Cuáles son los registros de configuración que se usaran?
Se uso VA y VB como los registro utilizados para almacenar los datos
2. Explique, como deben configurarse los puertos
Se configuro el puerto C como entrada y el puerto B como salida, por lo tanto,
antes de iniciar el ciclo con la instrucción movlw el bit que representaría la
entrada y la salida, después con movwf ya se asignaron cada uno.
3. Dibuje el diagrama esquemático de las conexiones necesarias para probar el
microcontrolador PIC 16F84A.
4. Explique la instrucción que necesita para realizar la comparación en base a
restas. Utilizamos el comando subwf para restar en este caso a VB con W.
5. Elabore un diagrama de flujo del programa, incluya todas las configuraciones
necesarias.
Anexar el código del programa.
Evaluación del aprendizaje
Responda las preguntas en computadora.
1. ¿explique la instrucción SUBWF Y SUBLW?
a. SUBLW k Realiza la resta k – W
i. Sustrae el contenido de W del literal k, y almacena el resultado en
W. La sustracción se realiza en complemento a dos
b. SUBWF f, d Ejecuta la resta f – W
i. Sustrae el contenido de W del contenido de f, y almacena el
resultado en W si d=0 y en f si d=1. La sustracción se realiza
en complemento a dos

2. Explique con sus palabras como sabe que los datos son iguales.
Se utiliza un comparador que evalue un dato de entrada y después tome una
decisión. En el código ensamblador empleamos btfsc y btfss y lo combinamos
con instrucciones como Z, W, F o status

3. Explique el concepto de mascara.


a. Las máscaras de bits son números binarios que se combinan con otros
valores mediante una operación lógica como AND, OR y XOR para lograr
algunos efectos bastante interesantes.

4. Explique, ¿cómo puede explorar el valor de un bit del registro? Apóyese con el
código en lenguaje ensamblador.
La instrucción que nosotros hemos estado utilizando es la btfsc, que el revisar el
bit que se guarda en STATUS compara con la instrucción con la variable f, que
en este programa está definida como Z

5. ¿Qué instrucciones se pueden utilizar para explorar un bit de un código?,


explíquelas.
STATUS para revisar el dato que cuenta en ese espacio o TRIS que de acuerdo
al bit que se ingrese en el dip será lo que se registre

Conclusiones individuales
Podemos decir que el lenguaje ensamblador es más que un tipo de lenguaje de bajo
nivel en el cual es empleado para crear programas informáticos. Este lenguaje es
creado a base de instrucciones para intentar sustituir al lenguaje maquina por uno
similar utilizado por el hombre. La importancia de este es que en él se pueden hacer
cualquier tipo de programas que en otros lenguajes de alto nivel no, al igual que ocupan
menos espacio en la memoria. Una de las cosas importantes es que está ocupado al
diseño de las tarjetas madres, cosa que un programa común no podría hacer.

Los comparadores cumplen una función básica en los dispositivos día a día, al verificar
si las condiciones que se presenten se cumplen, ya sea igual, mayor, menor o
simplemente diferente. La verdadera problemática se da cuando se complica la
programación, respecto a los tipos de datos, la estructura, la arquitectura o cualquiera
de las variables que se implementan en los sistemas digitales
Sebastián Calleros Morales 171551

Potrebbero piacerti anche