You are on page 1of 18

Introduccin al Entorno de Desarrollo MPLAB

PRCTICA 4 INTRODUCCIN AL ENTORNO DE DESARROLLO MPLAB


OBJETIVO:

Familiarizar al alumno con la interfaz del software MPLAB y comprender los pasos para crear un proyecto de programacin para MCUs PIC. Emplear MPLAB para editar, depurar y simular un proyecto en lenguaje ensamblador para un MCU PIC. Configurar y usar el software ICPROG en conjunto con un circuito programador compatible, para descargar a la memoria interna de un PIC, el cdigo mquina (archivo HEX) generado en MPLAB.

INTRODUCCIN
El MPLAB es un software que junto con un emulador y un programador de los mltiples que existen en el mercado, forman un conjunto de herramientas de desarrollo muy completo para el trabajo y/o el diseo con los microcontroladores PIC desarrollados y fabricados por la empresa Arizona Microchip Technology (AMT). Entre las caractersticas del programa MPLAB estn las siguientes:

Incorpora todas las utilidades necesarias para la realizacin de cualquier proyecto. Permite editar el archivo fuente en lenguaje ensamblador de nuestro proyecto, adems de ensamblarlo y simularlo en pantalla. Depurador de cdigo fuente (muestra las instrucciones en ensamblador conforme las va ejecutando) que permite la ejecucin paso a paso, por rutina y puntos de ruptura. El programa es completamente interactivo, lo que nos permite modificar cualquier registro o localidad de memoria en cualquier momento.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

MATERIAL Y EQUIPO EMPLEADO


Laboratorio equipado con computadoras que tengan instalado el MPLAB versin v7.40 y el ICPROG v1.05. Cantidad 1 1 1 8 8 8 1 1 Descripcin Programador compatible con ICPROG. Microcontrolador PIC16F628 Microinterruptor (1P-1T) Leds o una barra de leds Resistencia de 330 Resistencia de 4.7 K Tableta experimental Fuente de alimentacin de CD

Pre-reporte:

Leer previamente toda la prctica Descargar MPLAB v7.40 y ICPROG 1.05 de Internet y llevarlos el da de la sesin. Llevar implementado en un protoboard el circuito de la figura 4.24

DESARROLLO I. Procedimiento para crear un proyecto en MPLAB


1. Para ingresar al programa MPLAB IDE, basta con hacer doble click en el icono instalado en el escritorio de la PC, o seleccionar Inicio> Programas> Microchip> MPLAB IDE v7.40> MPLAB. Lo anterior desplegar la presentacin del software seguido de la pantalla principal (figura 4.1). Cabe mencionar que esto es vlido slo para la versin v7.40, para versiones anteriores esto puede ser diferente.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.1. Pantalla principal de MPLAB

2. Es necesario crear el documento el cual se agregara al proyecto. Para esto, ingrese al men FILE> NEW, y a continuacin edite el programa en ensamblador que se muestra abajo. Haga una carpeta con nombre proypics y guarde en ella el archivo editado con el nombre de rotaled.asm. ; Programa que rota a la derecha un bit por el puerto B LIST P=16F628 RADIX HEX w f equ equ 0 1

; Declaracin de los SPR PCL equ 02h STATUS equ 03h PORTA equ 05h PORTB equ 06h CMCON equ 1Fh cblock ST_TEMP TEMP1 TEMP2 endc 20h ; Variable copia de STATUS ; Variable para ciclo externo ; Variable para ciclo interno

org 0 goto INICIO

; Configura vector de reset

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

; Subrutina que configura a todo el Puerto B ; como salida y deshabilita a los comparadores CONF_PUERTOB Movlw b'00000111'; Comparadores apagados para Movwf CMCON ; hablilitae pins de I/O bsf STATUS,5 ; Conmuta a banco 1 clrf PORTB ; Configura puerto B como salida bcf STATUS,5 ; Commuta a banco 0 movlw 04h movwf PORTB ; Puerto B = 0001 0000b movf STATUS,w ; Almacena una copia de STATUS movwf ST_TEMP ; en la variable ST_TEMP return ; Rutina que rota a la derecha un bit por el puerto B ; Parmetros de entrada: ST_TEMP el cual contiene ; una copia de STATUS ; Parmetros de salida: ST_TEMP ROTADER movf ST_TEMP,w ; Recupera el valor de STATUS y movwf STATUS ; sustituyelo rrf PORTB,f ; Rota a la derecha PUERTO B movf STATUS,w ; Almacena una copia de STATUS movwf ST_TEMP ; en el registro ST_TEMP call RETARDO ; Introduce retardo de 500 ms return ; Rutina que genera un retardo de tiempo por software ; de aproximadamente 0.5 segs a una frecuencia de ; oscilacin de 4 MHZ RETARDO Movlw .250 movwf TEMP2 ; TEMP2 = 250 CICLO2 decfsz TEMP2,f ; TEMP2 - 1 = 0? goto SALTO1 ; No goto FINCICLO2 ; Si SALTO1 movlw .250 movwf TEMP1 ; TEMP1= 250 CICLO1 nop nop nop nop nop decfsz TEMP1,f ; TEMP - 1 = 0? goto CICLO1 ; No goto CICLO2 ; Si FINCICLO2 return

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

; PROGRAMA PRINCIPAL INICIO call CONF_PUERTOB AGAIN call ROTADER goto AGAIN END

3. Seleccione el dispositivo (PIC a utilizar durante el proyecto) con que se desea trabajar, el cual se puede encontrar en la barra de herramientas en el men Configure> Select Device: Configure la ventana tal como se muestra en la figura 4.2.

Figura 4.2: Ventana Select Device

En la ventana se despliega informacin acerca de los diversas herramientas de MPLAB con respecto al dispositivo seleccionado, de acuerdo a lo siguiente: - Los leds verdes indican que si soporta el dispositivos seleccionado. - Los leds amarillos indican que pueden no estar habilitadas ciertas partes del dispositivo. - Los leds rojos indican que no soportan al dispositivo. 4. El siguiente paso es crear proyecto utilizando Proyect Wizard. Seleccione Project> Project Wizard. En la pantalla se deber ver algo similar a mostrado en la figura 4.3

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.3: Paso uno del Project Wizard

5. Seleccione el dispositivo PIC16F628 PIC16F628A, segn sea el caso. 6. Seleccione el lenguaje usado en el proyecto, Microchip MPASM Toolsuite para este caso (figura 4.4). Verifique que la ruta de acceso al MPASM sea la correcta.

Figura 4.4: Paso dos del Project Wizard

7. Es necesario seleccionar el nombre del proyecto y la carpeta que lo almacenar (figura 4.5). Escribimos primerproy como nombre y elegimos la carpeta proypics creada en el paso 2. Cabe sealar que MPLAB no funciona bien cuando la carpeta se encuentra muy anidada dentro de otras carpetas ni cuando las carpetas tienen nombres muy largos.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.5: Paso tres del Project Wizard

8. Agregue al proyecto el archivo rotaled.asm editado en el paso 2. Para esto, basta con seleccionar dicho archivo y presionar el botn Add Files>>. El nombre del archivo aparecer en el panel de la derecha como se muestra en la figura 4.6.

Figura 4.6: Paso cuatro del Project Wizard

9. El ltimo paso es la confirmacin, por medio de un resumen (summary), de que el proyecto ha sido correctamente creado. La ventana mostrar el dispositivo a usar, el lenguaje y la fuente del archivo (figura 4.7).

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.7: Pantalla final del Project Wizard

10. Al presionar el botn FINISH, deber aparecer la ventana del proyecto realizado en los pasos anteriores (figura 4.8). De no ser as, puede abrirse manualmente por medio de View> Project.

Figura 4.8: Pantalla final del Project Wizard

II. Depurando y simulando un programa con MPLAB


11.- Una vez terminado los pasos anteriores ser necesario depurar el programa editado para verificar los errores que se cometieron al momento de la codificacin. Ensamble el archivo rotaled.asm, contenido dentro del proyecto, con cualquiera de las siguientes secuencias: En la barra del men (Project>Build All) Tambin en la barra de herramientas

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

MPLAB deber entonces desplegar en la ventana output (figura 4.9) todo lo relacionado con el proceso de ensamble. En teora debera mostrar que no hubo errores en el programa y que el archivo rotaled.hex fue creado correctamente y puede ser descargado al MCU. En caso que se generen warnings y/o errores verifique el programa y repita el proceso (paso 11) hasta que ya no existan errores

Figura 4.9: Pantalla Output sin errores ni warnings

12. Para simular el cdigo del programa, es necesario activar la herramienta MPLAB SIM por medio del men Debugger> Select Tool, como se muestra en la figura 4.10

Figura 4.10: Pantalla del men Debugger al activar MPLAB SIM

Una vez que se activa MPLAM SIM como herramienta de simulacin, sucede lo siguiente (figura 4.11): El estado de la barra deber cambiar. Aparecen nuevas opciones dentro del men Debugger. En la barra de herramientas aparece una barra adicional. (Colocando el puntero del Mouse sobre cada botn se podr ver la descripcin de lo que hace cada uno de ellos). En la ventana de salida se agrega una pestaa con el nombre de MPLAB SIM.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.11: Pantalla que muestra los cambios en la interfaz al activar MPLAB SIM

13. Despus de haber seleccionado el simulador se procede a dar un reset al procesador utilizando Debugger> Reset> Processor Reset, el puntero que esta de color verde se posicionar en la primera instruccin en memoria, que por lo regular es un goto, tal como lo muestra la figura 4.12

Figura 4.12: Pantalla del programa despus de un reset

14. Realizado el paso anterior, se procede a simular el cdigo empleando las opciones disponibles en la barra (figura 4.13) que se agrego al seleccionar el MPLAB SIM.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.13: Resumen de los botones de la barra de herramientas de MPLAB SIM

15. Dentro de la simulacin del programa, con la secuencia View> Watch> Add SFR> Registro que Desees Ver, es posible seleccionar los registros asociados a cualquiera de los perifricos internos para verificar su correcto funcionamiento (figura 4.14).

Figura 4.14: Botn Add SFR de la ventana Watch

16. En la misma ventana Watch, tambin se puede seleccionar las variables que se hayan empleado en el programa, usando el botn Add Symbol, tal como lo sugiere la figura 4.15.

Figura 4.15: Botn Add Symbol de la ventana Watch

17. Cuando se est depurando un programa es necesario detener su ejecucin en una instruccin especfica, esto es posible insertando puntos de ruptura (breakpoints), los cuales ayudan a observar los valor en los registros y variables en dicho instante. La insercin de punto de ruptura se logra posicionando el puntero haciendo click con el botn derecho del ratn con el puntero posicionado en alguna instruccin del programa y seleccionando Set Breakpoint (figura 4.16).

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.16: Insertando un punto de ruptura

17. Al hacer lo anterior, se notar que se agrega una marca de una B dentro de un crculo rojo en la parte lateral derecha de la instruccin, tal se ve en.

Figura 4.17: Listado del programa con el punto de ruptura insertado

18. Con todo lo expuesto en los pasos anteriores, proceda a simular el programa para verificar que su funcionamiento sea lo que se desea.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

III. Procedimiento para descargar un programa al MCU con ICPROG


Toda vez que se ha simulado exhaustivamente el programa y que se ha comprobado que realiza las tareas que se le han programado, se procede a descargar el cdigo mquina (rotaled.hex) al micricontrolador. MPLAB ofrece soporte para este proceso, desafortunadamente se tiene que adquirir un dispositivo programador propietario de Microchip (PicStart Plus, Pro Mate II, etc). Por otro lado, construir un dispositivo programador para los MCUs PIC es algo relativamente sencillo y barato. Existen en la literatura muchos prototipos que han sido verificados del cual es ms usado es un clon del JDM Programmer. Tambin hay que instalar el software que trabaje en conjunto con el dispositivo programador, aqu podemos emplear el WinPIC o el ICProg, La prctica se enfoca a ste ltimo. 19. Verifique la PC tiene cuenta con el ICProg, de no ser as proceda a instalarlo. 20. Ejecute ICProg, la PC mostrar la ventana principal de trabajo (figura 4.18)

Figura 4.17: Ventana principal de ICProg

21. Configure el idioma del software en espaol con los siguientes pasos Settings >> Options>> Language

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.18: Ventana para configuracin del idioma

22. Con la secuencia Ajustes>> Tipo hardware se puede seleccionar el modelo de dispositivo programador que se est utilizando y el puerto donde se va a conectar. Los valores por default son Com 1 y JMD Programmer. Las dems opciones no deben modificarse (figura 4.19). En caso de ocurrir algn error en la grabacin, se puede intentar variar el valor de Retardo I/O, lo recomendable es un valor entre 4 - 10.

Figura 4.19: Ventana para elegir el tipo de hardware

23 Con Ajustes>> Opciones>> Confirmacin se despliega la ventana de la figura 4.20. Aqu se configura al software para que solicite una confirmacin previa cada vez que se vaya realizar alguna de las siguientes operaciones; grabar el MCU, borrar el MCU, proteger el cdigo o al sobreescribir algn archivo. Dejar las dos casillas inhabilitadas como se presenta en la figura 4.20.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.20: Ventana para configurar las confirmaciones en ICProg

24. Con Ajustes>> Opciones>> Avisos, el ICProg puede notificarnos acerca de la ocurrencia de algunos eventos. Existen dos tipos de notificacin seleccionables: Cuando la palabra de ID no se encuentra en el archivo cargado. Cuando la palabra de Configuracin no se encuentra en el archivo cargado. Cuando la palabra de ID o de Configuracin no se encuentra en el archivo cargado, sus valores se establecern en FFFF por omisin. Para asegurarse de que el valor no es FFFF sino que no se encuentra en el archivo cargado, simplemente habilite estas opciones. 24. Con Ajustes>> Opciones>> IC2, se podr configurar algunas opciones relacionadas con los dispositivos I2C (Ej. La familia 24Cxx). Debido a que no es nuestro caso, se proceder a dejar deshabilitadas estas dos opciones.

Figura 4.21: Ventana para configurar las opciones de IC2

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

25. Con Ajustes>> Opciones>> Programacin, se configura la verificacin del programa descargado ya sea antes o durante la programacin. Seleccionar las dos casillas para monitorear la programacin del dispositivo. Los dems ajustes dejar tal y como vienen por default.

Figura 4.22: Ventana para configurar las opciones de verificacin

26. La secuencia Ajustes>> Opciones>> Miscelnea es de suma importancia ya en ella se podr habilitar un driver para Windows XP. Esto evitar que ICProg despliegue un mensaje de error al iniciar y asegurar que funcione a la perfeccin con Windows XP. Configure esta ventana tal como se muestra en la figura 4.23.

Figura 4.23: Ventana para configurar la compatibilidad con Windows XP

27. Seleccionar el PIC con Ajustes>> Dispositivo>> Microchip PIC>> PIC16F628. Tambin se puede seleccionar el dispositivo en la barra de herramientas, en la parte derecha de la ventana de trabajo, abrir la pestaa y seleccionar el dispositivo. 28. Programar los bits de configuracin del PIC como se indica en la figura 4.24.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

Figura 4.24: Ventana para seleccionar los bits de configuracin

28. En la barra de herramienta, seleccionar en el men abrir el archivo rotaled.hex que se realizo en los pasos anteriores con el MPLAB. 29. Antes de grabar el PIC borre cualquier informacin que pudiera contener el dispositivo en cuestin seleccionando Comando>> Borrar todo>> Intro. 30. Para grabar en el PIC, los archivos que se pretendan cargar hay que dar click en la ventana de Archivo>> Abrir y buscar el archivo rotaled.hex, despus seleccionar la pestaa Comando>> Programa Todo. 31 Verificar la correcta grabacin del dispositivo cerrando el programa y volviendo a abrirlo y luego leyendo el dispositivo nuevamente. 32. Monte el PIC programado el circuito mostrado en la figura de abajo y verifique que trabaje correctamente.

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

Introduccin al Entorno de Desarrollo MPLAB

R12
10k

U1 D1
1N4148 16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 RB0/INT RB1/RX/DT RB2/T X/CK RB3/CCP1 RB4 RB5 RB6/T 1OSO/T 1CKI RB7/T 1OSI PIC16F628A 330R 17 18 1 2 3 6 7 8 9 10 11 12 13 330R

U2
330R 1 2 3 4 5 6 7 8 9 10 20 19 18 17 16 15 14 13 12 11 LED-BARGRAPH-GRN

SW2
SW -SPST -MOM

330R

330R

330R

330R

330R

Figura 4.24: Circuito para el programa rotaled.asm

Eduardo Romero A.

Laboratorio de Sistemas Digitales III

You might also like