Está en la página 1de 21

PROGRAMACIÓN DE MICROCONTROLADORES

Laboratorio N°2

MPLABX y Lenguaje de Programación


Lab. N° 2 MPLAB y Lenguaje de Programación
Lab. N° 2 MPLAB y Lenguaje de Programación

MPLABX y Lenguaje de Programación

Objetivos

1. Utilizar las instrucciones para programar al microcontrolador PIC16F877A


2. Utilizar software de desarrollo proporcionada por el fabricante
3. Utilizar módulo de desarrollo

Introducción

Los PICs constituyen en la actualidad una forma de proveer inteligencia a equipos o


sistemas para un mejor desempeño de los mismos. Esta alternativa de automatización se
encuentra prácticamente a la mano pues la información y herramientas de desarrollo
son, en cierta medida, proporcionadas por el fabricante. El campo de acción de los PICs
va desde la activación o desactivación de entradas o salidas en general hasta el
procesamiento digital de señales pasando por aplicaciones específicas como la
conversión A/D, modulación PWM y muchas más.
Para que realicen los eventos que queramos es necesario programarlos insertándoles un
lenguaje apropiado, conformado por instrucciones, que estos puedan entender y por
tanto realizar las tareas específicas que se les asigna.

Preparación

Para la realización de este laboratorio se requiere la lectura previa de la información


proporcionada para el curso, como el texto y el manual del fabricante.

Equipos y Materiales

● Computadora
● Software de desarrollo
● Proyector multimedia
● Texto del curso
● Manual del fabricante
● Tarjeta de desarrollo
Lab. N° 2 MPLAB y Lenguaje de Programación

Seguridad

Trabajar con Seguridad evita que las personas sufran daños, y provee un ambiente
satisfactorio de trabajo.

Al trabajar en este laboratorio o taller y cualquiera de los subsiguientes, realice el


siguiente procedimiento:

1. Al ingresar, inspeccione:
Las vías de acceso.
Orden y limpieza.

2. En su estación de trabajo evalúe las condiciones de:


Orden y Limpieza.
Herramientas y equipos.

3. Realice su trabajo teniendo en cuenta:


Orden y limpieza.
Seguridad.
Proceda a realizar las conexiones de los equipos o implementación de los circuitos
comprobando que la línea eléctrica se encuentre desconectada.
Solicite visto bueno al profesor antes de aplicar energía eléctrica.

4. Realice el análisis de riesgo personal:


¿Qué es lo que voy a hacer?
¿Qué es lo que puede salir mal?
¿Qué debo hacer para que no salga mal?

5. Al terminar sus labores, deje su estación de trabajo en buenas condiciones:


Ordenado y limpio.
Seguro.
Desconecte el suministro de energía eléctrica.
Lab. N° 2 MPLAB y Lenguaje de Programación

Procedimiento - PARTE I
¿Qué es MPLABX IDE?
MPLABX IDE es un software que corre en una PC para desarrollar aplicaciones para
microcontroladores y controladores de señal digital de Microchip. Es llamado como Entorno
de Desarrollo Integrado (IDE), para desarrollar códigos en sistemas embebidos.
1. Para hacer la simulación en el MPLAB primero vamos a crear un proyecto, seguimos
los siguientes pasos:

✓ Dar doble click sobre el ícono del MPLABX IDE v 3.5 o versión actualizada

✓ Aparecerá la siguiente ventana:

✓ Hacer click en CREATE NEW.


Lab. N° 2 MPLAB y Lenguaje de Programación

✓ Aparece la siguiente ventana


Microchip Embedded  Standalone Project  Next

✓ En la ventana Select Device  All families  PIC16F877A Next

✓ En la ventana Select Tool, seleccionamos Simulator, que servirá para poder realizar
pruebas en nuestro IDE, de lo contrario si se tiene un hardware, se selecciona el
hardware indicado y puede depurar en tiempo real.
Lab. N° 2 MPLAB y Lenguaje de Programación

✓ Seleccionamos nuestro compilador el cual vamos a trabajar durante todo este curso
 MPASM Next
Lab. N° 2 MPLAB y Lenguaje de Programación
✓ Creamos una carpeta en el disco D, llamado “PIC16F877A_2019_2”, en Browse…
escoger la carpeta creada y abrir. Colocar el nombre del proyecto
LABORATORIO_PIC, el cual será nuestro proyecto durante todo el curso. Quedará de
la siguiente manera, como se muestra la figura de abajo y finalmente FINISH para
terminar nuestra creación del nuevo proyecto.

✓ Para hacer el nuestro primer programa hacemos clic en NEW FILE

✓ Aparecerá una nueva ventana para escoger la extensión .ASM la cual se trabajará y
seleccionamos como sigue a continuación en la siguiente figura.
Lab. N° 2 MPLAB y Lenguaje de Programación

✓ Escribimos para nuestro primer programa el nombre “ejercicio1” y finish.


Lab. N° 2 MPLAB y Lenguaje de Programación
✓ Escriba el siguiente programa.
Mover 3 números del registro WREG a la memoria de datos, la cual sumaremos las
tres, y nuestro resultado quedará en un registro distinto de la memoria de datos.

✓ A continuación ensamblamos el proyecto, haciendo clic en el siguiente icono.

✓ Si el programa esta ok, saldrá el siguiente comando.

✓ Para simular nuestro programa.

✓ En el menú Window desplegar las siguientes ventanas para visualizar el trabajo interno
del PIC, sus configuraciones, registros y el tiempo que demoran las instrucciones.
Lab. N° 2 MPLAB y Lenguaje de Programación
Lab. N° 2 MPLAB y Lenguaje de Programación

2. Simulación de operaciones lógicas utilizando el registro W en el MPLAB

En el Ítem anterior se vio la manera de simular operaciones aritméticas y además se


enseñó a simular su comportamiento. Ahora se verá la simulación de operaciones
binarias, los procedimientos son los mismos con algunos cambios mínimos.

✓ Cerramos el archivo: ejercicio1.asm


✓ Removemos el archivo ejercicio1.asm del proyecto, para esto damos click derecho
sobre el archivo y en la menú desplegable damos click en Exclude file from current
configuration.

Lab. N° 2 MPLAB y Lenguaje de Programación

✓ Luego abrimos un nuevo archivo para nuestro segundo ejemplo.

✓ Seguimos los mismos pasos del ítem anterior con nombre de ejercicio2 y lo agregamos
a nuestro proyecto.
Después agregar la programación respectiva que se muestra en la gráfica de abajo.

En el siguiente programa se realizará instrucciones con operaciones lógicas e introducimos


en el trabajo interno del PIC16F877A.

Luego ensamblar y verificar en los registros los resultados, también se tiene que comentar
cada línea de instrucción.
Lab. N° 2 MPLAB y Lenguaje de Programación

Ejercicio de clase
Diseñar un programa en clase que reste 2 números y si el resultado es positivo, en el
registro 22H de la memoria que grabe el número 1, si el resultado es ‘0’ que grabe el 2 y si
es negativo que grabe el número 3.

Diagrama de flujo

3. Mostrar evidencias de ejecución de los programas del Ejercicio de clase.

● Capturar ventanas que muestran el resultado de la creación del proyecto.


● Capturar ventanas que muestran el resultado del ensamblaje del proyecto.
● Capturar ventanas que muestran la simulación paso a paso.

PROCEDIMIENTO – PARTE II

1. Instrucciones con literales


Al hablar de literales, es hablar de datos de 8 bits que según el código de operación de la
instrucción hará que éstos se sumen, se resten o hagan operaciones lógicas trabajando en
conjunto con el registro de trabajo W que es un registro de 8 bits y sirve como soporte a las
operaciones del ALU.

Forma de operar:
Lab. N° 2 MPLAB y Lenguaje de Programación

Valor 1 Valor 2

Resultado
Se observa que pasa el literal, que viene con la instrucción, al ALU y junto con un valor
proveniente del registro de trabajo W se operarán y el tipo de operación que realizará el
ALU a depender de lo que contenga el código de operación de la instrucción. Una vez que
se lleva a cabo la operación, el resultado se guarda por defecto en el registro de trabajo W.
El valor inicial que contenía W es reemplazado, “chancado”, por el nuevo resultado de la
operación dada.

Copiar el siguiente programa en el MPLAB, analizar y simular paso a paso:


LIST P=16F877A ;comentar
INCLUDE<P16F877A.INC> ;comentar
__CONFIG 3F32 ;comentar

CBLOCK 20H ;comentar


ENDC ;comentar
ORG 0 ;comentar
MOVLW B'01010101' ;comentar
ADDLW .30 ;comentar
ANDLW B'01010101' ;comentar
XORLW 0X21 ;comentar
IORLW .21 ;comentar
CLRW ;comentar
GOTO $ ;comentar
END
Lab. N° 2 MPLAB y Lenguaje de Programación

2. Instrucciones de acceso a la memoria de datos (F)

La imagen siguiente nos servirá para representar el proceso de operar con la memoria de
datos en el cual se pueden leer los datos como también escribir.
Lab. N° 2 MPLAB y Lenguaje de Programación
Copiar el siguiente programa en el MPLAB, analizar y simular paso a paso:

List P=16F877A
INCLUDE<P16F877A.INC>

REGISTRO1 EQU 0X20


REGISTRO2 EQU 0X21
REGISTRO3 EQU 0X22

ORG 0000h
NOP ;no operación
MOVLW .45 ;W=
MOVWF REGISTRO1 ;[Memoria1]=
MOVLW .34 ;W=
MOVWF REGISTRO2 ;[Memoria2]=
MOVLW .20 ;W=
MOVWF REGISTRO3 ;[Memoria3]=
NOP ;no operación
MOVF REGISTRO2,0 ;W=
ADDWF REGISTRO1,0 ;W=
MOVWF REGISTRO3 ;[Memoria3]=
COMF REGISTRO3,0 ;negación bit a bit, W=
MOVWF REGISTRO1 ;[Memoria1]=
MOVF REGISTRO2,0 ;W=
SUBWF REGISTRO3,0 ;W=
MOVWF REGISTRO2 ;[Memoria2]=
SWAPF REGISTRO2,1 ;intercambio de nibbles[Memoria2]=
NOP ;no operación
NOP ;no operación
GOTO $
END

3. Instrucciones de manipulación de bits

Son instrucciones que van a forzar el valor de un bit, quiere decir que el valor del bit es
cero o bien uno.
Lab. N° 2 MPLAB y Lenguaje de Programación

Copiar el siguiente programa en el MPLAB y simular paso a paso:

;***********************************************************
;Operaciones con instrucciones de manipulación de bits
;Programación y aplicaciones PIC16F877A
;***********************************************************

List P=16F877A
INCLUDE<P16F877A.INC>

Registro1 EQU 0X20


Registro2 EQU 0X21

org 0000h
;----------------------------------------------
;carga valores a los registros
Inicio
clrf Registro1 ;[Registro1]=
movlw 0xff
movwf Registro2 ;[Registro2]=
;----------------------------------------------
;Manipulación de bits de los registros
bsf Registro1,0 ;[Registro1]=
bcf Registro2,7 ;[Registro2]=

bsf Registro1,1 ;[Registro1]=


bcf Registro2,6 ;[Registro2]=

bsf Registro1,2 ;[Registro1]=


bcf Registro2,5 ;[Registro2]=

bsf Registro1,3 ;[Registro1]=


bcf Registro2,4 ;[Registro2]=
Lab. N° 2 MPLAB y Lenguaje de Programación

bsf Registro1,4 ;[Registro1]=


bcf Registro2,3 ;[Registro2]=

bsf Registro1,5 ;[Registro1]=


bcf Registro2,2 ;[Registro2]=

bsf Registro1,6 ;[Registro1]=


bcf Registro2,1 ;[Registro2]=

bsf Registro1,7 ;[Registro1]=


bcf Registro2,0 ;[Registro2]=

btfss Registro1,7
clrf Registro1
goto Inicio

end

4. Mostrar evidencias de ejecución de los programas de los ítems 1, 2 y 3.

● Capturar ventanas que muestran el resultado de la creación del proyecto.


● Capturar ventanas que muestran el resultado del ensamble del proyecto.
● Capturar ventanas que muestren la simulación paso a paso.

Modelo de Informe

Deberá contener lo siguiente:

Carátula

1. Nombre del laboratorio


2. Nombres de los integrantes
3. Sección a la que pertenecen
4. Fecha de realización
5. Fecha de presentación

Fundamento Teórico

Deberá ser conciso y redactado con lenguaje propio. Estará basado en las lecturas recomendadas o
cualquier otra información relacionada con el tema. En cualquier caso no será mayor de tres (03)
páginas.

Resultados del Laboratorio

Deberá contemplar lo siguiente:

1. Los datos, tablas, resultados de los programas y respuestas a las preguntas que se
soliciten en el procedimiento.
Lab. N° 2 MPLAB y Lenguaje de Programación
2. Los programas deberán contar con líneas de comentarios
3. Deberá acompañarse al programa, el diagrama de flujo del mismo.

Observaciones y Conclusiones

Serán únicamente referidas a la experiencia de laboratorio y redactadas en lenguaje propio.

Aplicación de lo aprendido
GRUPO_1 Diseñar un programa en el cual se guarden 3 números, se comparen y ordenarlos del
menor al mayor en 3 registros de la Memoria de Datos (SRAM).
GRUPO_2 Diseñar un programa que sumen 3 números, almacene en un registro de la
memoria de Datos, luego invertir los nibles del resultado, que el resultado
quede en el registro WREG.
GRUPO_3 Diseñar un programa que RESTE 2 números, si el resultado es menor que cero
guardar el resultado en el registro 20h, si es cero en el registro 21h y si es
mayor en el 22h.
GRUPO_4 Diseñar un programa que ingresen 2 números, estos se sumen y luego los
complementen, para posteriormente rotar a la izquierda 5 veces.

Observaciones Generales

1. La presentación del informe se realiza al ingresar al Laboratorio. En la clase siguiente a su


realización.
2. Se tomará en cuenta las reglas de ortografía en la redacción del informe.
3. La evaluación se realizará del siguiente modo.
Lab. N° 2 MPLAB y Lenguaje de Programación

También podría gustarte