Está en la página 1de 13

Práctica 1

Manejo de puertos
Nombre: Juan Antonio Murillo Orona Matricula:168163

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
 Leer datos por los puertos y realizar operaciones básicas con los datos.

Introducción

Desarrollar un programa en lenguaje ensamblador, para leer un dato de uno de


los puertos y manipularlo.

Material y equipo utilizado.

Proteus
MPLAB X IDE
PIC 16F877A
Protoboard y componentes extra

Desarrollo

A. Realice un programa en lenguaje ensamblador para leer datos en el puerto C y


Sumarle 3 y mostrarlos en el puerto B. Utilice la instrucción ADDLW.
1. Explique, cómo se debe realizar la configuración de los puertos.
a. El PORTC se mandará a W, W se le sumaran 3 y esa información se
guardará a W nuevamente, que después se mandara a la salida que es
PORTB
2. Dibuje el diagrama esquemático de las conexiones necesarias para probar el
microcontrolador PIC 16F877A
3. Elabore un diagrama de flujo del programa, incluya todas las configuraciones
necesarias.
4. Explique la instrucción que utilizó.
a. Utilize el ADDLW que había indicado el problema, esta instrucción suma
el contenido en W en el numero k, que en este caso seria 3.
5. Una vez realizado el programa, captúrelo en Mplab, compílelo y simúlelo en
Proteus, anexar el esquema de proteus y el código del programa.
Modifique el programa anterior, para que lea datos en el puerto C le sume 5 y y
muestre el resultado en el puerto B, utilice la instrucción ADDWF.
1. Explique, cómo se debe realizar la configuración de los puertos.
a. Se utilizó el ADDLW, en esta instrucción lo primero que teníamos que
hacer era darle valor a PORTC que serían 5 ahora, este valor se iba a
sumar con W, para después guardarse a W de nuevo, Después
mandábamos W al PORTB para que leyera la salida
2. Dibuje el diagrama esquemático de las conexiones necesarias para probar el
microcontrolador PIC 16F877A
3. Elabore un diagrama de flujo del programa, incluya todas las configuraciones
necesarias.
4. Explique la instrucción que utilizo.
a. EL ADDWF: Esta instrucción suma el contenido del registro W y el
registro PORTC, después de la "coma" puedes colocar W, ya que ahí se
manda
5. Una vez realizado el programa, captúrelo en mplab, compílelo y simúlelo en
Proteus, anexar el esquema de proteus y el código del programa.
Realice un programa en lenguaje ensamblador para leer datos en el puerto C
sacar el complemento y mostrarlo en el puerto B.
1. Explique, cómo se debe realizar la configuración de los puertos.
a. El puerto C debe estar como entrada y el puerto B debe estar
configurada como salida ya que ahí es donde van a mostrarse los datos
2. Dibuje el diagrama esquemático de las conexiones necesarias para probar el
microcontrolador PIC 16F877A
a.
3. Elabore un diagrama de flujo del programa, incluya todas las configuraciones
necesarias.
4. Explique la instrucción que utilizo para el complemento.
a. El dato que había en PORTC se mandó a W, después de eso el dato W
se mandó PORTB, es decir si al dip switch se le mandaba un 1 el led que
iba a prender seria el 1
5. Una vez realizado el programa, captúrelo en mplab, compílelo y simúlelo en
Proteus, anexar el esquema de proteus y el código del programa.
Realice un programa en lenguaje ensamblador para leer datos en el puerto C,
invertir los nibbles y mostrarlo por el puerto B.
1. Explique, cómo se debe realizar la configuración de los puertos.
a. Aplicamos la instrucción COMF invertimos los datos de PORTC y los
mandamos los datos a W, esos los mandamos a PORTB y aplicamos un
GOTO al ciclo
2. Dibuje el diagrama esquemático de las conexiones necesarias para probar el
microcontrolador PIC 16F877A
3. Elabore un diagrama de flujo del programa, incluya todas las configuraciones
necesarias.
4. Explique la instrucción que utilizo.
Se utilizó CONF es para invertir los bits si se manda la señal de un 0 el let se
recibirá un 1, y el caso contrario si se manda un 1 se mostrará un 0
5. Una vez realizado el programa, captúrelo en mplab, compílelo y simúlelo en
Proteus, anexar el esquema de proteus y el código del programa.
Realice un programa en lenguaje ensamblador para leer datos en el puerto C,
restarle 4 y mostrar el resultado en el puerto B. Uitlizar la instrucción subwf.
1. Explique, cómo se debe realizar la configuración de los puertos.
a. Se utilizó SUBWF, con esta instrucción lo primero que tenemos que hacer
es asignar un valor al PORTC que en este caso seria 4, ese valor se lo
vamos a restar a W que después se va a guardar a W de nuevo, luego
que de que se haya restado W se mandara a PORTB para mostrarse en
la salida,
2. Dibuje el diagrama esquemático de las conexiones necesarias para probar el
microcontrolador PIC 16F877A
3. Elabore un diagrama de flujo del programa, incluya todas las configuraciones
necesarias.
4. Explique la instrucción que utilizo.
a. Se usó SUBWF para esta instrucción primero hay que asignarle un valor
al PORTC que seria 4 ese resta a W y se guarda en W, después
mandamos w al PORTB
b. ejemplo si se manda 1
5. Anexar el código del programa
Evaluación del aprendizaje

Responda las preguntas en computadora.

1. ¿explique la instrucción addlw y addwf ?

ADDWF
la instrucción addwf es para sumar 2 números y se escribe de la siguiente
manera:

addwf Contador1, W

Esta instrucción suma el contenido del registro W y el registro "Contador1",


después de la "coma" puedes colocar W o F, si colocas W el resultado de la
suma es guardado en el registro W. Y si colocaras F el resultado quedaría
almacenado en el registro "Contador1".

ADDLW k
Suma el contenido del acumulador W con el numero k

2. Explique las partes de estructura de un código.


3. Explique en cuantas columnas de debe escribir el código e indique que se debe
escribir en cada una.
a. Se escribe en 4 columnas
b. En la primera para configurar los banco 1
c. La segunda se configura las entradas y las salidas que va utilizar como
los puertos

4. Explique, ¿qué significan las palabras del comando de configuración


__CONFIG?

5. Explique con un ejemplo, las tres variantes para usar la instrucción mov.

MOVLW k
Carga un numero en el acumulador W.
El número que se va a cargar en al acumulador está representado por k, este
número puede escribirse en decimal, hexadecimal o binario
Ejemplo:
MOVLW d’255’ ; decimal
MOVLW 0Xff ; hexadecimal
MOVLW b’11111111 ’; binario

MOVWF f
Mueve una copia del acumulador W al registro f.
Ejemplo:
portb equ 0x6
Contador equ 10
MOVLW 0x25 ; carga el acumulador con 0x25
MOVWF portb ; el registro portb contiene 0x25
MOVWF Contador ; el registro Contador contiene 0x25

MOVF f,d
Mueve una copia del registro f al destino d.
El destino puede ser:
Si d=0 el destino es el acumulador. Mueve una copia del registro f al Acumulador
W
Ejemplo:
W equ 0
f equ 1
Contador equ 10
MOVF Contador,W ; mueve una copia del contenido del
; Contador al acumulador

Si d=1 el destino es el registro f. En este caso el formato es un poco confuso.


Mueve del registro f al registro f. No pasa nada. El dato se queda en el mismo
lugar. No hay porque preocuparse el formato de la instrucción es así. Como
veremos más adelante, en otras instrucciones, el formato de destino d=1 es más
claro. Se puede decir que en general con esta instrucción d=1 no se utiliza. Siga
adelante, entenderá mejor en un momento.
6. Explique la instrucción subwf
a. 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

Conclusiones individuales

las instrucciones básicas de los microcontroladores PICmicro cabe hacer notar que no
basta con conocerlas, leerlas o memorizarlas, hay que poner manos a la obra y ejercitarse
en su uso. La mejor manera de aprender a usarlas es practicando muchas veces, cometer
errores y aprender de ellos. Así que, a practicar, abra MPLAB y diviértase un buen rato.
Para aprender a programar es necesario conocer las instrucciones, pero conocer las
instrucciones no es saber programar, pero vamos por buen camino.
Juan Antonio Murillo Orona

También podría gustarte