Laboratorio 1
Laboratorio 1
Laboratorio 1
Esta primera experiencia de laboratorio tiene como objetivo general conocer y familiarizarse con el entorno de
desarrollo para Microcontroladores PIC MPLAB, conocer la estructura básica de un programa assembly e identificar las
principales características de PIC16F84A.
Para el desarrollo de esta guía es necesario la lectura de los materiales de clase disponibles en la plataforma virtual, así
como la revisión de bibliografía indicada en el plan de asignatura.
Elementos necesarios
Programa Hello_World.asm
Data Sheet PIC16F84A (descargar la última versión desde la página de Microchip)
IDE PROTEUS
IDE MPLAB X
Directivas
Include <P”referencia_del_micro”.INC>; señala el fichero donde se localizan las etiquetas que nombran a los
diferentes registros y el valor que le corresponde a cada uno.
EQU: <Label> EQU (expr); se utiliza para establecer constantes, van al inicio del programa.
__Config, Indica la configuración elegida para el proceso de grabación del microcontrolador. En este caso, se
habilitan los siguientes bits de configuración:
1. En un nuevo proyecto de MPLAB, adicione como archivo fuente el programa Hello_World.asm suministrado
junto a esta guía de laboratorio o copie el contenido a un archivo fuente en blanco dentro del proyecto. Antes
de proseguir, analice el programa. Compile el proyecto y verifique que no haya errores.
1.1 ¿Qué tipo de registradores está asignando la directiva CBLOCK? ¿Cuáles son estos?
1.2 En la subrutina DELAY, ¿qué hace la instrucción DECFSZ? Explique su funcionamiento.
1.3 A partir del datasheet del microcontrolador, indique cuáles son los tipos de reset que tiene el PIC16F84A y
explique los dos principales.
1.4 De acuerdo con el datasheet del PIC16F84A, explique lo que hace el bit de configuración PWRTE y cómo
funciona el Power-Up Timer (PWRT).
UNIVERSIDAD DE LA COSTA CUC
DEPARTAMENTO CIENCIAS DE LA COMPUTACIÓN Y ELECTRÓNICA
SISTEMAS EMBEBIDOS 1 – GUÍA DE LABORATORIO 1
2. A partir del proyecto compilado y verificado en el punto 1, exporte el archivo hexadecimal y cargue el mismo en
un circuito en PROTEUS para su simulación. El circuito para la simulación debe ser similar al esquemático de la
figura abajo. Ejecute la simulación y verifique que no haya errores.
2.1 M
o
d
i
f
i
q
u
e este circuito para que el PIC tenga un
reset con pulsador. Teniendo en cuenta
las configuraciones pull-up y pull-down
de resistores de la imagen anterior. Pruebe la solución y a su respuesta adicione una imagen del circuito
modificado durante la simulación.
2.2 Realice las modificaciones necesarias en el programa y en la simulación para controlar 8 leds de forma
simultánea, distribuidos entre los pines del Puerto B y con la misma secuencia de encendido y apagado
anterior. Pruebe su propuesta, adicione a la respuesta una imagen del circuito modificado durante la
simulación y el código assembly del nuevo programa.
2.3 Si se requiere apenas encender y apagar un led conectado en el pin RB0 de PORTB utilizando un pulsador o
interruptor, ¿cómo sería el respectivo código assembly?