PRACTICA 2 Micro MPLAB Nunez
PRACTICA 2 Micro MPLAB Nunez
PRACTICA 2 Micro MPLAB Nunez
02
FACULTAD DE INGENIERÍA
INGENIERÍA MECATRÓNICA
UNIVERSIDAD AUTÓNOMA
DE BUCARAMANGA
OBJETIVOS:
Compilador : xc8-v2.20 (buscar MPLAB XC8 y la versión del sistema operativo) en la sección
: Language Tool Archives. https://www.microchip.com/development-tools/pic-and-dspic-
downloads-archive.
A continuación encontrará el paso a paso para ejecutar un programa en Mplab X IDE y en Proteus,
a lo largo de la práctica encontrará unas preguntas que debe contestar y adjuntar en el informe.
Para el informe deberá incluir diagramas de bloques, algoritmos o diagramas de flujo del
procedimiento realizado (no imagenes, a menos que esa imagen sea relevante para responder a las
preguntas) y adjuntar los ejecutables del código en mplab y en proteus (si no fueron adjuntados en
la actividad de clase). Para la actividad de clase adjuntar los ejecutables de mplab y proteus (TEMA).
Una vez instalado el software, abrir el Mplab X IDE, deberá visualizar la siguiente ventana:
Pregunta: Identifique y describa las ventanas y barras de herramientas.
- Podemos ver “file”, “source”, “debug”, “window” y otras más que seguramente nos ayude a ver y
ejecutar el programa de diferentes maneras como también nos ayuda a crear proyectos y archivos.
Paso 1: Crear el proyecto : Ir a file – New Project. Debe seleccionar en la ventana de categories:
Microchip Embedded y en la ventana de projects: Standalone Project. Ir a Next.
- Microchip embedded: 1. Standalone proyect: este es un proyecto aislado. 2. Existing MPLAB IDE v8
Project: se usa desde un punto de partida en un archivo make generado por IDE. 3. Prebuild Project: crea
un proyecto a través de una imagen prediseñada. 4. User makefile Project: crea un proyecto por
Mikefile. 5. Library proyect: crea un proyecto desde la biblioteca. 6. Imports STARTS proyect: crea un
proyecto a partir del archivo atzip START. 7. Import Atmel Studio proyect: crea un proyecto a partir del
Atmel studio.
- Other embedded: exiting IAR embedded workbench Project: crea un proyecto a partir de AIR embedded
workbench existente.
Paso 2: Seleccionar el dispositivo. En Device puede desplegar y buscar o escribir el dispositivo que
va a utilizar, en este caso buscar o digitar PIC16F873. En tool, seleccionar Simulator. Ir a Next.
Paso 3: Seleccionar el compilador. Se usará pic-as (v2.20) porque el código se hará en assembler
(lenguaje ensamblador). Ir a Next.
Paso 4: Digitar el nombre del proyecto. Ir a Finish. En este punto puede cambiar la ubicación del
proyecto (Browse)
Pregunta: En el entorno de trabajo observará cuatro ventanas. Ubíquese en las ventanas que se
encuentran en la parte izquierda. Identifique y describa que elementos tiene cada pestaña en las
ventanas.
A la izquierda tenemos la herramienta "Proyect", donde se ubica el proyecto y todo lo relacionado con él. En la
barra de herramientas de la parte superior, encontrará las siguientes herramientas:
1. Edit, como su nombre indica, el video ha sido editado, puedes seleccionar opciones como paso
anterior, reenviar nuevamente, cortar, copiar, pegar, borrar y otras opciones relacionadas con la
edición de texto.
3. Window, donde puede ver accesos directos a algunas herramientas, como proyectos, archivos,
clases, favoritos, etc.
queremos utilizar.
Paso 8: En la ventana de la parte superior derecha, se debió desplegar una pestaña con el nombre
que acaba de digitar, este es el archivo del código.
Pregunta: En esa pestaña en la que aparece el nombre.asm (ventana superior derecha), aparece
una barra de herramientas en la parte inferior. Identifique y describa los elementos de esa barra de
herramientas.
- Esas herramientas sirven para manejar y configurar el código como se requiera este
mismo.
Paso 9: Digitar el código. Mplab ofrece unas herramientas de ayuda para incluir código, en este
caso la palabra de configuración. Ir a Window, ubicar Target Memory Views y seleccionar
configuration Bits.
Paso 10: En ventana inferior derecha, se despliega una pestaña con el nombre de Configuration
Bits, observe que en la columna Option, puede escoger el estado del bit. Para el ejemplo escoja un
cristal XT y deshabilite todas las otras opciones.
Paso 11: Para generar el código en la pestaña de Configuration Bits, en la parte inferior, Ir a
Generate source Code to Output y se despliega la información siguiente:
Pregunta: ¿Qué significa #include <xc.inc>?
-es la Liberia que contiene todo el compilador XC8 para el lenguaje C.
Paso 12: Copie la información de la palabra de configuración y pásela a la pestaña del nombre.asm
que se encuentra en la ventana superior derecha.
Paso 13: Copie el siguiente código después del código de la palabra de configuración:
El programa lo que realiza es configurar el puerto B como salida y en el ciclo activa y desactiva la
línea 0 y 3 del puerto B.
ORG 0x05
GOTO Inicio
Inicio:
BCF STATUS,6 ;coloca en cero el bit 0 del registro STATUS
BSF STATUS,5 ;coloca en uno el bit 5 del registro STATUS, va al banco 1
CLRF TRISB ;configura el puerto b como salidas
BCF STATUS,5 ;se devuelve al banco 0
CLRF PORTB ;limpia todas las salidas en cero
Ciclo: BSF PORTB,0 ;activa la línea 0 del puerto B
BSF PORTB,3 ;activa la línea 3 del puerto B
NOP ;no operación
NOP
NOP
NOP
NOP
BCF PORTB,3 ;limpia la línea 3 del puerto B
BCF PORTB,0 ;limpia la línea 0 del puerto B
NOP
NOP
NOP
NOP
GOTO Ciclo ;va de nuevo a ciclo
END
Paso 14: Para compilar el proyecto, ir a Production y encontrará las opciones de compilación.
Pregunta: ¿En que se diferencian los dos iconos? ¿Una vez ejecutada la compilación, que sucedió?
¿se activó o visualizó alguna información en las pestañas de la ventana inferior derecha? Si es así,
¿qué información y que significa lo que se desplegó?
-el primer icono sirve para compilar solamente y el segundo icono sirve para limpiar y luego compilar
automáticamente. Se visualizó en la pestaña de output como se compilaba el programa.
Paso 15: Depurar el proyecto para hacer el seguimiento línea a línea del código. Ubicar en la barra
Paso 16: Al iniciar la depuración, se deben haber desplegado más pestañas en la ventana inferior
derecha.
Pregunta: Identifique y describa cada una de las pestañas que se acaban de inicializar al ejecutar la
depuración. (ventana inferior derecha). ¿Que observa en la ventana inferior izquierda en Memory?
- Variables: es donde escogemos las variables y podemos observar el número binario o
decimal de cada uno de las variables (incluye portX, status y trisX)
- Program memory: es la memoria del programa, aquí podemos ver paso a paso del
ejecutable del programa, podemos observar que hace.
- SFRs: es muy parecido a “variables” con la diferencia que este tiene todas y cada una de
las variables.
- File Registers: aquí podemos observar con más detenimiento el número binario de cada uno de los
archivos.
Paso 17: Para poder hacer el seguimiento MPLAB tiene unas ayudas para visualizar los registros.
En la ventana inferior derecha, ubique la pestaña Variables. Puede incluir una nueva pestaña o en
esa pestaña incluir las variables que necesite revisar. Para el ejemplo incluya PORTB, TRISB,
STATUS. Observe que, en Variables, hay una fila con el (Name, Type, Address, etc), si se ubica en
esa línea y le da click derecho con el mouse despliega las opciones para habilitar o deshabilitar
formatos. Incluya o elimine las que considere para su mejor visualización.
Paso 18: En Window. Target Memory Views, despliega las otras opciones como la memoria de
programa, los registros de funciones específicos, el archivo de registros completos (específicos y
generales), palabra de configuración, la pila y la memoria EEPROM.
Paso 19: Incluya algunas de estas vistas y observe donde se despliegan.
Program Memory
File Registers
SFRs
Pila
Pregunta: ¿Identifique y describa que información es la que se visualiza en las 7 vistas?
- Podemos observar una lista ordenada de datos que nos permite almacenar y/o recurar datos.
Paso 20: Para iniciar el seguimiento línea a línea, lo primero es pausar . Ubique en la barra
siguiente el icono.
Paso 21: Para hacer el seguimiento línea a línea ubíquese en la ventana inferior derecha en la
pestaña de Program Memory, click derecho al mouse y seleccione Clone Window, la ventana
aparece en la parte superior derecha.
Paso 22: Ubicar el icono para hacer un reset al microcontrolador y que se ubique en la
primera dirección de memoria. Para ejecutar línea a línea debe presionar el icono de step over o
F8 . Antes de empezar a ejecutar el seguimiento, asegúrese de tener las ventanas en las que
pueda ver la información. Para el ejemplo: Program Memory (ventana superior derecha), Variables
o File Registers o SFRs (ventana inferior derecha)
-podemos observar que a medida que el programa va avanzando, se va ejecutando como se espera, va paso a
paso viendo los puertos y su número binario correspondiente para así poder ejecutar lo esperado y esto es que
los dos leds encendieran y apagaran
Paso 23: Para verificar el funcionamiento en hardware, debe crear un proyecto en Proteus,
seleccione el microcontrolador (PIC16F873) e incluya dos visualizadores en la línea 0 y 3 del puerto
B y un voltaje a +5V en el pin 1 (master clear)
Paso 24: Al hacer click izquierdo, visualiza la ventana Edit Component. En processor Clock
Frequency cambiar a 4 Mhz y en Program File, ubicar el archivo .hex. El archivo .hex se encuentra
en la carpeta del proyecto creado, subcarpeta con el nombre dist – default – production.
Paso 27: Despliegue las ventanas que necesite. Para iniciar la simulación Ir a Debug. Escoger
Animated Single Step.
Pregunta: ¿Qué observa al ejecutarse el Animated Single Step? ¿Hay diferencia si se ejecuta con
Run Simulation o Step? ¿Cuál es la diferencia entre esas tres formas de ejecutar la simulación?
-