You are on page 1of 20

C mo Escribir Programas y Hacer la Verificaci n en los PICs

Introduccin MPLAB es un entorno de desarrollo integrado que le permite escribir y codificar los microcontroladores PIC de Microchip para ejecutarlos. El MPLAB incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que lo ayudarn a mantener y ejecutar su aplicacin. Tambin provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden. El MPLAB est diseado para ser ejecutado bajo Windows 3.11, y puede operar con Windows 95 y 98. Asume que el usuario ya conoce el entorno de Windows y sabe manejarlo. La gua que describimos en este captulo le permitir realizar las siguientes tareas: 1) Instalacin

Descargue los archivos del software de instalacin y ejecute el archivo MPxxxxx.EXE. Estos archivos puede obtenerlos por medio de Internet en la direccin: http//www.microchip.com/10/Tools Estos archivos pueden ser transferidos a disquetes si desea instalar el MPLAB en otra computadora. De acuerdo a la versin que haya descargado, los nombres de los archivos pueden variar levemente. Por ejemplo, la versin 4.00 del MPLAB tendra los siguientes archivos: MP40000.EXE MP40000.WO2 MP40000.WO3 MP40000.WO4 MP40000.WO5 MP40000.WO6 Si Ud. lo prefiere, puede venir a nuestras oficinas con este libro y 6 disquetes vrgenes y tendr la oportunidad de llevarse dicho programa sin cargo. Copie el contenido de los 6 disquetes en el disco rgido de su PC (en un lugar que pueda identificar). Cuando ejecute el archivo .EXE, comenzar la instalacin del MPLAB en su sistema. Seguidamente deber elegir los componentes del MPLAB que desea instalar en su sistema. A menos que haya comprado un programador o emulador del dispositivo, slo debiera instalar las siguientes

Manejar el escritorio MPLAB Crear un nuevo archivo de cdigo fuente para el ensamble e ingresarlo a un nuevo proyecto para el 16F84 Identificar y corregir los errores simples Ejecutar el simulador interno Marcar puntos de interrupcin Crear ventanas de observacin Manejar ventanas para el seguimiento de errores
Para que Ud. aprenda a programar sus microcontroladores, damos a continuacin, paso a paso, las instrucciones de instalacin y uso de la aplicacin:

Todo sobre PICs

33

CMO ESCRIBIR PROGRAMAS


herramientas del software:

HACER

LA

VERIFICACIN

EN LOS

PICS

Archivos MPLAB IDE Archivos MPASM/MPLINK/MPLIB Archivos de Proteccin del Simulador MPLAB-SIM Archivos de Ayuda (vea la figura 1 que aparecer cuando ejecute el programa). Luego aparecer el men de la figura 1 que le permitir seleccionar los componentes de lenguaje Microchip que desee instalar. Usualmente debiera seleccionarlos todos (por defecto). Al hacer doble click en MP40000.EXE, el instalador le va diciendo lo que debe hacer. Luego de instalarlos, ejecute MPLAB.EXE o clique el cono MPLAB para iniciar el sistema. Aparecer el escritorio del MPLAB (figura 2).

Figura 1

2) Configurar el Modo de Desarrollo El escritorio bsico del MPLAB se asemeja al de las aplicaciones de Windows (como pudo ver en la pantalla de la figura 2). Tiene una barra de men en el margen superior, una barra de herramientas y tambin una barra de estado en el margen inferior. Podr advertir que la barra de estado incluye informacin sobre cmo se ha configurado el sistema.

Figura 2

Nota: El "modo de desarr ollo" determina la herramienta, debe elegir Figura 3 alguna, que ejecutar el cdigo. Para esta gua, usaremos el simulador de soft- ms informacin para cambiar a una de ware MPLAB-SIM . Si sabe del tema y tiene sus operaciones. Al seleccionar el tem del un emulador, en este captulo encontrar men "Opciones>Modo de Desarrollo",

34

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS


aparecer una caja de dilogo semejante a la de la figura 3. El MPLAB es un producto en constante evolucin, de modo que pueden aparecer sutiles difeFigura 4 rencias entre la pantalla que usted vea y la que mostramos aqu. Seleccione el cono prximo al Simulador MPLAB-SIM (MPLAB-SIM Simulator) y elija 16F84 (que corresponde a un tipo de PIC) en la lista de procesadores disponibles que pueden ser resistidos por el simulador. Clique 16F84 y luego presione el botn "Reset". De este modo se iniciar el simulador, y debera aparecer en la barra de estado "16F84" y "Sim". Se encuentra as en el modo simulador para el 16F84.

HACER

LA

VERIFICACIN

EN LOS

PICS

en el men y aparecer la caja de dilogo de la figura 4. Clique en el botn S, seguidamente aparecer un dilogo de exploracin de Windows estndard. Decida dnde desea crear su proyecto (en qu carpeta o lugar de su disco rgido lo va a guardar) y recuerde dnde lo ubic. Ms tarde necesitar esta informacin. Esta gua usa un directorio en c: \temp\tutorial y crea el archivo de proyecto llamado tutor84.pjt (figura 5). "PJT" es

3) Cmo Crear un Proyecto Simple El simulador se ejecutar desde el mismo archivo, llamado "archivo hex", el cual puede ser programado en el micro PIC. Para que se ejecute el simulador, primero deber crear un archivo de cdigo fuente y realizar el montaje del cdigo fuente. A continuacin explicaremos cmo llevar a cabo este proceso: Nota: El lenguaje ensamblador produce, entre otros elementos, un archivo hex. Este archivo tiene la extensin (.hex). A este archivo lo llamaremos:

Figura 5

el sufijo estndar para los archivos de proyectos en el MPLAB. El prefijo del nombre de archivo del proyecto, en este caso "tutor84", ser el prefijo por defecto de muchos de los archivos que el MPLAB usar o crear para esta gua. Clique "Aceptar (OK)" para que aparezca el dilogo Proyecto MPLAB. Este dilogo puede parecer confuso, pero en realidad es muy simple. Nota: El simulador, los programadores y los sistemas emuladores que operan con el MPLAB usan un archivo hex creado por el ensamble, la compilacin y/o el linking tutor84.hex. del cdigo fuente. Algunas herramientas diferentes pueden crear archivos hex, al Ms adelante este archivo puede ser tener en cuenta que estas herramientas cargado directamente en el programador formarn parte de cada proyecto. del dispositivo sin usar el ensamblador o un Los proyectos le dan la flexibilidad para proyecto del MPLAB. Este archivo tambin describir cmo se construir la aplicacin puede ser cargado por otros programado- y qu herramientas se usarn para crear el res de tercer orden. archivo .hex. Seleccione "Archivo>Nuevo (File>New)" Obviamente, en la gua nos ocupare-

Todo sobre PICs

35

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

fuente de ensamble. Esta ser la configuracin por defecto cuando aparezca el dilogo "Propiedades del Nodo (Node Properties)", vea la figura 7. Nota: Como puede ver, hay una cantidad de filas y columnas en este dilogo. Cada fila usualmente corresponde a un "cambio", aquellos elementos que se establecen en la lnea de comando cuando se invoca una herramienta. De hecho, la configuracin de estos cambios se refleja en la ventana "Lnea de Comando (comand line)", prxima al margen inferior de la pantalla. Esta es la lnea de comando que se usar cuando se invoque el MPASM desde el MPLAB. Por el momento, puede usar las configuraciones por defecto, pero cuando ya sepa construir una aplicacin, probablemente desear cambiar algunas. Figura 6 Al clicar el botn "Aceptar (OK)", aplimos de todos estos detalles. car estas configuraciones, y retornar al El dilogo "Editar Proyecto" ser semedilogo "Editar Proyecto (Edit Project)", con jante al mostrado en la figura 6. el cono (botn) "Agrega Nodo (Add NoAdvierta que el nombre del archivo de de)" disponible. destino ya ha sido completado. Ya conoPresione el botn "Agregar Nodo". Apace el modo de desarrollo que configurarecer el dilogo de exploracin de Winmos previamente y asume que usaremos dows estndar, con el mismo directorio la serie de herramientas de lenguaje Miusado para el proyecto. Ingrese el nombre crochip. En la ventana "Archivos de Prode archivo: tutor84.asm y presione "Acepyecto (Files proyect)", encontrar tutor84. tar". Retornar al dilogo "Editar Proyecto", [hex]. Al destacar este nombre, se podr utilizar el cono "Propiedades del Nodo (Node Properties)". Seguidamente debe indicarle al MPLAB cmo crear el archivo hex. Hgalo clicando el botn "Propiedades del Nodo". Aparecer el dilogo "Propiedades del Nodo". Este dilogo contiene todas las configuraciones por defecto para una herramienta de lenguaje -en este caso MPASM, como podr ver en en el ngulo superior derecho del dilogo. En su forma ms simple, el proyecto contiene Figura 7 un archivo hex creado desde un archivo

36

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

Figura 8

co, pero el nombre de la ventana de archivo reflejar su nuevo nombre.

Nota: El nombre del archivo fuente y el nombre del proyecto ("tutor84" en esta gua) deben ser iguales en este tipo de proyectos. Hay otros proyectos de archivo mltiple que usan el linker y permiten que el nombre del archivo de salida sea diferente al del archivo de entrada (hay una gua aparte para los proyectos de archivos mltiples que usan el linker). El MPASM siempre crear un archidonde podr ver "tutor84.asm" aadido vo hex de salida con el mismo nombre debajo del archivo hex, que indica que es que el archivo fuente, y esta configuracin un nodo concurrente. Al presionar "Acep- no puede modificarse. Si cambia el nomtar", retornar al escritorio MPLAB con un bre del archivo fuente, tambin deber archivo de cdigo fuente abierto y an sin cambiar el nombre del proyecto. nombre. Ahora ya est listo para escribir el cdigo que almacenar en el PIC para que 4) Cmo Crear un nuevo cumpla una funcin determinada. Archivo Fuente Simple Clique dentro del espacio en blanco de la ventana de archivo creada. Seguramente se llamar "Sin ttulo (Untitled)". De este modo acceder al "foco" de la ventana. Use la opcin de men "Archivo>Guardar como...", y guarde el archivo vaco como tutor84.asm. Cuando abra el dilogo de exploracin estndar, encontrar su ubicacin en el directorio del proyecto. Ingrese el nombre de archivo y presione "Aceptar". Vea la figura 8. Ahora estarn disponibles el escritorio MPLAB y la ventana de archivo vaTabla 1 list p=16f84 include <p16F84.inc> c1 equ org reset goto org start mov1w movwf loop incfsz goto goto end h'0c' h'00' ; Establece el contador de variable temp c1 en la direccin 0x0c ; Establece la base de memoria del programa en el vector reset 0x00 ; Ir a inicio en el programa principal ; Establece la base de memoria del programa al comienzo del cdigo del usuario ; Inicializa el contador a un valor arbitrario mayor que cero ; Guarda el valor en la variable temp definida ; Incrementa el contador, ubica los resultados en el registro de archivos ; loop hasta que el contador se completa ; Cuando el contador se completa, va a start para reiniciar

start h'04'

h'09' c1 c1,F loop bug

Todo sobre PICs

37

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

"bug". Dado que este rtulo no ha sido definido previamente, el lenguaje ensamblaUse el mouse para ubicar el cursor al dor informar el error. Tambin podra relecomienzo de la ventana de archivo vaco var otros errores. tutor84.asm, e ingrese el texto de la tabla Haga un doble clic sobre el mensaje de 1(vea la pgina anterior), exactamente error. De este modo ubicar el cursor en la como est escrito en cada lnea. No debe lnea que contiene el error en el cdigo ingresar los comentarios (los textos que sifuente. Cambie "bug" por "start". Use la guen a cada punto y coma). ventana "Resultados de construccin Este cdigo es un programa muy simple (Build Results)" para hacer una bsqueda que incrementa un contador y lo "resetea" de errores, y reparar los que aparecieran a un valor predeterminado cuando el en el cdigo fuente. Reensamble el archicontador vuelve a cero. vo ejecutando la funcin de men "Proyecto>Construir todo". Este procedimiento Nota: Todos los rtulos comienzan en la puede demandar un par de repeticiones. primera columna, y la ltima lnea tiene una directiva "end". Las pginas de datos Nota: Cuando reconstruya un proyecto, del micro PIC contienen informacin com- todos sus archivos fuente sern guardados pleta sobre instrucciones con ejemplos pa- en el disco. ra su uso. Luego de reparar todos los problemas Guarde el archivo usando la funcin de en el cdigo fuente, la ventana "Resultados de construccin" mostrar el mensaje menu "Archivo>Guardar" (File>Save). "Construccin completada exitosamente (Build completed successfully)". Ya ha completado un proyecto que puede eje6) Ensamble del Archivo Fuente cutarse usando el simulador. El ensamble del archivo puede realizarse de varias maneras. Aqu describiremos Como ver, an no tiene ni idea un mtodo. Use el tem de men "Proyec- que pr ogram, per o ya pr ogram algo to>Construir todo (Proyect>Build All)". De que luego intr oducir en un PIC. Para este modo ejecutar el lenguaje ensamtener idea cabal de lo que est ha blador MPASM en el trasfondo usando las ciendo, contine leyendo esta gua y configuraciones guardadas con el proyec- con una PC al lado, haga Ud. mismo to anteriormente. Una vez completado el lo que se indica paso por paso. proceso de ensamble, aparecer la ventana "Resultados de Construccin (Build Results" (figura 9): Ha ingresado intencionalmente al menos un error si ingres el cdigo tal como lo hemos escrito en el paso anterior. El ltimo "goto" en el programa refiere a Figura 9 un rtulo inexistente llamado

5) Ingresar el Cdigo Fuente

38

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS


7) Ejecucin de su Programa Use "Debug>Ejecutar>Reset (Debug>Run>Reset)" para iniciar el sistema. El contador del programa se resetear a cero, que es el vector de reset en el 16F84. La lnea del cdigo fuente en esta direccin ser destacada con una barra oscura. Tambin advertir que en la barra de estado, la PC se establecer en 0x00. Use el tem de men "Debug>Ejecutar>Paso (Debug>Run>step)" (figura 10). Al hacerlo, el contador del programa avanzar hasta la siguiente ubicacin de instruccin. La barra oscura seguir el cdigo fuente y el contador del programa desplegado en la barra de estado avanzar hasta "4". Cuando ejecute el tem de men "Debug>Ejecutar>Paso", advierta la aparicin de un texto en el lado derecho del tem de men que dir "F7". El mismo equivale a "tecla de funcin siete" en su teclado. Muchas funciones del MPLAB se asignan a "teclas-especiales". Estas teclas cumplen la misma funcin que los tems de men a los cuales corresponden. Presione F7 varias veces y ver cmo el contador del programa y la barra avanzan a travs del programa. Ejecute el tem de men "Debug>Ejecutar>Ejecutar (Debug>Run>Run)" o presione F9 para inciar la ejecucin del programa desde la la ubicacin actual del contador. Los colores de la barra de estado cambiarn, para indicar que el programa est ejecutando las instrucciones. Ninguno de los campos de la barra de estado se actualizar mientras el programa est en ejecucin. Detenga el programa ejecutando el tem de men "Debug>Run>Halt (detener)" o presionando F5. La barra de estado vol-

HACER

LA

VERIFICACIN

EN LOS

PICS

Figura 10
ver a su color original, y el contador del programa y otras informaciones de su estado sern actualizadas. Nota: Otra manera de ejecutar funciones es usar la barra de herramientas ubicada en el margen superior de la pantalla. Si ubica el cursor sobre los tems de la barra de herramientas, podr ver el nombre de su funcin en la barra de estado. El botn de la izquierda es un botn estndar "cambiar barra de herramientas (change tool bar)" que le permite desplegar las barras de herramientas disponibles. Estas pueden ser personalizadas, como podr advertirlo en la seccin "Algunas Sugerencias" al final de esta gua. En la barra de herramientas de Debug, la luz verde es equivalente a F9 (Ejecucin) y la luz roja equivale a F5 (Detencin). Hasta aqu, aprendi a instalar el programa y crear un archivo para apr ender a pr ogramar . Dimos un ejemplo de programacin y ya sabemos cmo corr er el pr ograma en la PC para saber si todo est bien, antes de escribir dicho programa en nuestro PIC. Sin embargo, cuando los programas son ms largos, es posible cometer errores, para evitarlos, sigamos leyendo este captulo.

Todo sobre PICs

39

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

8) Abrir Otras Ventanas Para el Seguimiento de Errores Hay muchas maneras de visualizar el programa y su ejecucin usando el MPLAB. Por ejemplo, este programa est destinado a incrementar un contador temporario pero, cmo puede asegurarse que se est produciendo dicho incremento? Una manera es abrir e inspeccionar una ventana de registro de archivo. Puede hacerlo ejecutando el tem de men "Ventana>registros de archivo (Window>File Register)". Aparecer una pequea ventana con todos los registros de archivo o el RAM del 16F84. Presione F7 (ejecute instruccin por instruccin, si piensa anularlo) varias veces, y observe la actualizacin de valores en la ventana de registro de archivo. Hemos colocado la variable del contador en la ubicacin de direccin 0x0C. Mientras el contador temporario se incremente, este incremento se reflejar en la ventana de registro de archivo. Los registros de archivo cambian de color cuando su valor cambia, de modo que los cambios puedan advertirse fcilmente en la inspeccin. De todos modos, en muchos programas complejos, varios valores pueden cambiar, as resultar ms difcil focalizar las variables que le interesan. Usando una ventana de

observacin especial, este problema puede solucionarse. Ahora, ya sabemos mejor qu es lo que estamos haciendo: Pr ogramamos algo que incr ementa en 1 cada vez que viene una seal y podemos verificarlo virtualmente, an tes de pr ogramar el PIC. 9) Creacin de una Ventana de Observacin Ejecute el tem de men "Ventana>Nueva ventana de observacin (Window>New Watch Window)". Aparecer el dilogo "Agregar Smbolo de observacin (Add Watch Symbol)" (figura 11). Tipee "c1" en la caja de nombre de smbolo para que la lista se despliegue hasta el smbolo deseado. Seleccinelo, presione el botn "Agregar (Add)", y luego el botn "Cerrar (Close)". Aparecer en su escritorio MPLAB una ventana de observacin que mostrar el valor actual del valor "c1" del contador temporario. Presione F7 varias veces para advertir cmo se actualiza la ventana de observacin mientras el valor del contador se incrementa. Si dej la ventana de registro de archivo abierta, la misma tambin ser actualizada (mueva una de ellas para que pueda ver las dos en la pantalla). Puede guardar la ventana de observacin y sus configuraciones al ejecutar el tem "Guardar observacin (Save Watch)" debajo del botn del sistema, ubicado en el ngulo superior izquierdo de la ventana de observacin. Al clicar este botn, se desplegar un men en cascada. Seleccione "Guardar observacin" y aparecer el dilogo de exploracin estndar ubicado en el directorio del proyecto. Elija algn nombre arbitrario y presione "Aceptar (OK)".

Figura 11

40

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS


Si no nombra la ventana de observacin, el MPLAB lo har por usted. La ubicacin y el estado en la pantalla de la ventana abierta o cerrada sern guardados con el proyecto, de modo que la prxima vez que abra su proyecto, sus ventanas de observacin aparecern restauradas.

HACER

LA

VERIFICACIN

EN LOS

PICS

Clique el tem de men "Punto(s) de interrupcin (Break Point)". El men desaparecer y la lnea donde se ubic el cursor cambiar de color, para indicar que ha sido establecido un punto de interrupcin en dicha ubicacin. Presione F6 o ejecute el tem de men "Debug>Ejecutar>Reset (Debug>Run>ReNota: Tambin puede editar ventanas set)" para resetear el sistema. Luego, prede observacin luego de crearlas. Use el sionando F9, ejecute el sistema. El prograbotn del sistema y seleccione "Agregar ma se ejecutar y se detendr en la insObservacin (Add Watch)" para que apa- truccin ubicada luego del punto de interezca un dilogo mediante el cual podr rrupcin. "c1", como aparece en la ventaagregar ms tems. Con la tecla "Ins" pona de observacin o en la de registro de dr hacer lo mismo. Si desea borrar un archivo, si la tiene an abierta, reflejar el tem, seleccinelo y presione la tecla Supri- estado reset de cero, el modo instruccin mir (Delete); la observacin referida desa- por instruccin ejecutar la carga y c1 lueparecer de la ventana. Puede selecciogo reflejar un valor de 0x09. Presione F9 nar "Editar observacin (Edit Watch)" en el varias veces y advierta que la barra de esmen del sistema para cambiar el modo tado cambia de color mientras el prograen el cual se muestra el tem (en hex, bina- ma se est ejecutando, y luego retorna a rio, como una variable de 16-bit en vez de su color original cuando el procesador se 8-bit, etc.). detiene. Resumen 10) Cmo se Marca un Punto de Interrupcin Presione F5 ("Debug>Ejecutar>Detener") para asegurarse que el procesador del simulador se ha detenido. Clique dentro de la ventana del cdigo fuente la lnea siguiente al rtulo "start", que dice "movlw 0'09'". Presione el botn derecho del mouse para que aparezca el men de la figura 12. Hasta aqu, en este captulo Ud. ha aprendido: * configurar un nuevo proyecto. * crear e ingresar un archivo fuente en un proyecto * ensamblar un cdigo * ejecutar su cdigo usando el simulador * marcar puntos de interrupcin y ejecutar su cdigo paso a paso (instruccin por instruccin) * observar variables en su cdigo

Figura 12
Algunas Sugerencias: PUNTOS DE INTERRUPCION - Puede marcar puntos de interrupcin en la ventana "Ventanas>Memoria de programa (Window>Program Memory)", en la ventana de ar-

Todo sobre PICs

41

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

para funciones MPLAB y caracteres ASCII especiales * Cambiar la fuente de la pantalla o el tamao de la fuente * Posicionar la barra de herramientas a ARCHIVOS FUENTE - Use "Ventana>Ventana de Proyecto (Window>Projet Window)" pa- un lado o al pie de la pantalla ra que aparezca una lista de sus archivos * Modificar la barra de herramientas fuente. Puede hacer un doble clic sobre el * Cambiar la cantidad de caracteres nombre de un archivo para trasladarlo al desplegados para los rtulos. editor. ARCHIVOS MAPA - Use el dilogo "Proyecto>Editar Proyecto" y cambie las PropiedaERRORES MPASM - Si el MPASM le da un error, haga un doble clic sobre el error en des del Nodo del MPASM para producir un la ventana de error para ir al error en el archivo MAP llamado tutor84.map. Luego cdigo fuente. Si tiene mltiples errores, de construir el proyecto, busque el tutorsiempre elija el primer error generalmen- 84.map para ver informacin de la conste un error causa errores subsiguientes y al truccin. reparar el primero corregir los restantes. MENUS DESACTIVADOS - Si encuentra mens CONFIGURACIN DE BITS Y EL MODO DEL PROCE- desactivados (opacados), verifique que SADOR - La configuracin de bits en el archi- no haya ingresado el modo "slo Editor vo fuente no determinar el modo del pro- (Editor Only)". Si est seguro de que ha cesador para el simulador (o los emulado- realizado correctamente la configuracin, intente salir del MPLAB y reinicie el prograres). Use "Opciones>Configurar Procesama. dor>Hardware (Options>Procesor Setup>Hardware)" para estas configuraciones. An cuando puede establecer estos bits Caractersticas del MPLAB no en el archivo fuente del MPASM o del Abarcados en este captulo MPLAB-C17, el MPLAB no cambia automticamente los modos. Por ejemplo, la conHay muchas caractersticas del MPLAB figuracin de bit Activar Observacin de que no se tratan en esta gua. En lugar de Dog Timer puede hacerse de tal modo describir cada caracterstica, generando que, cuando programe un dispositivo, el Dog Timer sea activado. En el MPLAB tam- una gua extensa y complicada, primero hemos decidido darle el conocimiento bbin necesitar acceder al dilogo "Opciones>Configurar Procesador>Hardware" sico para operar el MPLAB. Le ofrecemos a para activar el WDT para el simulador o el continuacin un punto de inicio para ayuemulador. Esto le permitir hacer un segui- darlo a explorar otras herramientas del MPLAB. miento de errores con el WDT activado o desactivado sin cambiar su cdigo fuente. chivo fuente (en este caso tutor84.asm), o en la ventana "Ventanas>Listado Absoluto (Windows>Absolute)". Otras Ventanas de Datos y Dilogos OPCIONES - Use "Opciones>Configurar Entorno (Options>Enviroment Setup)" para hacer lo siguiente: Hasta aqu, los diferentes comandos u * Establecer teclas de Mapa Europeo rdenes del MPLAB, las hemos dado en

42

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

castellano y en ingls, dado que el programa est en ingls, pero para que sepa lo que est haciendo, decidimos colocar su traduccin. De aqu en ms, slo colocaremos la traduccin, dado que el lector sabr a qu orden nos referimos. Esta gua ya le ha presentado la Ventana de Memoria de Programa y las VentaFigura 13 nas de Observacin. An no ha explorado las otras ventanas. Debiera buscar en "Ventana>Conjunto" y "Ventana>Registros de Funcin Especial" para ver cmo el MPLAB puede mostrar otras reas de memoria. Hay otros dilogos, como el dilogo "Debug>Configuracin de Figura 14 puntos de interrupcin" para marcar puntos de interrupcin. trar una informacin algo diferente de la La ayuda online y la Gua del Usuario registrada por el rastreo del emulador. de MPLAB le explicarn el uso de estas caPara usar el amortiguador de rastreo del ractersticas. simulador, primero debe seleccionar un cdigo a rastrear. Si clica y arrastra toda la Rastreo ventana de memoria del programa, puede seleccionar instrucciones para rastrear. La ventana de rastreo le brinda una Presione luego el botn derecho del mouimagen "instantnea" de la ejecucin de se para que aparezca un dilogo en el su programa. Los emuladores que tienen cual podr seleccionar "Rastrear Punto(s)". un amortiguador de rastreo, pueden mosAhora resetee y ejecute el cdigo, luetrar cmo se ejecuta su programa a altas go detngalo despus de haberse ejecuvelocidades. tado durante algunos segundos. Seleccione "Ventana>Rastreo" para ver los resultaNota: Algunas aplicaciones, como los dos del rastreo (figura 13). sistemas de control de motor, no pueden El simulador coloca una marca de tiemser detenidos. Algunos errores slo aparepo en cada lnea y tambin muestra todos cen cuando la aplicacin est en ejeculos registros que cambiaron junto a sus vacin, no ocurren cuando se ejecuta el c- lores (figura 14). digo instruccin por instruccin. El amortiEl estmulo genera seales para el simuguador de rastreo le brinda otra herralador. Puede establecer pines (pasadores) mienta para probar este tipo de aplicacio- altos o bajos, e introducir valores directanes. mente en los registros. Hay cuatro modos En el simulador, el amortiguador de ras- de estmulo: treo es til para recoger un extenso regis* Estmulo asincrnico - Un dilogo intetro de la ejecucin del programa, de mo- ractivo para controlar seales en los pines do que pueda retornar al mismo y analide entrada zarlo cuidadosamente. El simulador mos* Estmulo de Archivo Pin - Los conteni-

Todo sobre PICs

43

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

los pines. Por ejemplo, hemos configurado una seal que cambiar de nivel en un pin I/O sobre el puerto b del 16F84. Seleccione "Debug>Estmulo de Simulador>Estmulo Asincrnico..." Vea la figura 15. Se desplegar el dilogo de la figura 16. Ahora coloque el cursor sobre el botn rotulado "Stim1 (P)" y clique el botn derecho del mouse para que aparezca un dilogo en el cual debe seleccionar "Toggle" Figura 15 (figura 17). Coloque otra vez el cursor sobre el botn rotulado ahora "Stim1 (T)" (la "P" fue reemplazada por una "T", que significa "Toggle"), presione el botn derecho del mouse, y seleccione "Asignar Pin..." (figura Figura 16 18). Aparecer otro dilogo con una lista de dos de un archivo de texto los pines conectados al 16F84 (figura 19). que describe seales a los Coloque el cursor sobre el "RB0" y haga pines de entrada * Estmulo de Archivo de un doble clic. Debera aparecer el dilogo de la figuRegistro - Los contenidos de un archivo de texto usado ra 20, de Estmulo Asincrnico. Advierta que el botn ahora aparece para configurar valores de Fig.17 como "RB0 (T)". 8-bit directamente en un Elija "Debug>Ejecutar>Animado" para registro que el procesador se ejecute en el modo * Estmulo de reloj - Una fuente de pulsos de estmu- "paso a paso rpido". La barra de estado lo peridica, regular y pro- alternar la ejecucin con una detencin muy rpida. gramable. Presione el botn "RB0 (T)" en el dilogo Estmulo Asincrnico. Debera ver el camFig.18 bio de valor del puerto b en la ventana Dilogo de Estmulo Registro de Funcin Especial mientras reAsincrnico petidamente clique el botn para simular Esta caracterstica de es- una seal alta y luego una baja aplicadas tmulo provee un botn de al pin 0 del puerto b. dilogo para simular volts +5 y 0 aplicados a pines de entrada. Mientras su proFig.19 grama se ejecuta con el simulador, puede presionar los botones de Fig.20 este dilogo para cambiar los niveles de

44

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS


Archivos de Estmulo Pin Un archivo de estmulo pin consiste en columnas de unos y ceros de ingreso que sern aplicadas a los pines cuando el valor "Ciclo" en el Reloj de detencin alcance al de la columna CICLO. Use "Archivo>Nuevo archivo" y tipee el texto de la tabla 2. No debe tipear el texto que sigue a los ";" y "!", que se limita a comentarios. Use "Archivo>Guardar como..." para guardar como tutor84.sti. Nota: Para mantener una compatibilidad retroactiva con versiones anteriores del MPSIM, la primera lnea siempre debe comenzar con las palabras "CICLO" o "STEP". Esta columna especifica el CICLO (como lo determina la Ventana del Reloj de Detencin del MPLAB) donde los valores de las otras columnas sern aplicados. Luego de la palabra "CICLO" en la primera lnea del archivo se colocan los nombres de los pines del microPIC que recibirn los valores de estmulo altos y bajos. En este ejemplo los pines RB1 y RB0, por dos entradas del port (puerto) B, recibirn Tabla 2 entradas de estmulo. En este archivo, la segunda CICLO columna contiene valo20 res que sern aplicados a 41 52 RB1 (puerto b bit 1) y la 55 tercera columna presen60 ta los valores para RB0 65 76 (puerto b bit 0). Estos

HACER

LA

VERIFICACIN

EN LOS

PICS

Figura 21

Figura 22

RB1 0 1 0 1 0 1 0

RB0 0 0 1 1 0 0 1

; aplicar alta a puerto b bit 1 ; aplicar alta a puerto b bit 0, establecer bit 1 bajo ; toggle bit 1, luego... ! ...toggle bit 0.

Todo sobre PICs

45

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

nombres deben ser compatibles con los nombres de pin del microPIC de Microchip para el procesador que est siendo simulado. Nota: Puede ver todos los pines de soporte en la lista de asignacin de pines para el Estmulo Asincrnico (clique el botn derecho del mouse sobre un botn de estmulo y se desplegar la pantalla de la figura 21). Se pueden hacer comentarios en una lnea usando los caracteres ";" o "!", precedidos y seguidos, como mnimo, por un espacio. La ventana del Reloj de Detencin tambin mostrar el tiempo transcurrido a cada instruccin, determinado desde el valor CICLO y la frecuencia del reloj. Si el Reloj de Detencin se resetea a 0, el archivo de estmulo pin tambin ser efectivamente reseteado. Abra la ventana del Reloj de Detencin y seleccione "Ventana>Reloj de Detencin". Tambin seleccione "Ventana>Registros de Funcin Especial". Estaremos interesados en observar el "puerto b". Tambin se puede agregar el puerto b a una ventana de observacin (figura 22). Resetee y ejecute instruccin por instruccin hasta ejecutar 41 ciclos. Luego ver que el "puerto b" cambi su valor al asignado en la segunda lnea del archivo de estmulo.

Fig. 23 blecida en el Dilogo Estmulo de Registro. Esto es til para simular una operacin A/D. Abra un nuevo archivo usando "Archivo>Nuevo Archivo" y tipee la siguiente lista de nmeros:
10 2E 38 41 50 7A 99 A0 FD Gurdela usando "Archivo>Guardar como..." y nmbrela tutor84.reg.

Archivos de Estmulo de Registro Un archivo de estmulo de registro consiste en una columna de los valores que sern enviados a un registro cuando la direccin de memoria del programa alcance la ubicacin esta-

Fig. 24

46

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

chivo seleccionado (0x0D, con un valor de 0x50 como se muestra en la figura 25). Los valores 0x10, 0x2E, etc. sern introducidos en el registro seleccionado en el dilogo "Debug>Estmulo de Simulador>Registro de Estmulo", cada vez que se ejecute "loop". Luego de introducido el ltimo valor Fig. 25 (0xFD en tutor84.reg), el primer valor ser usado nuevamente (0x10). La lista ser cclica mientras se ejecute el MPLAB-SIM.

Estmulo de Reloj El estmulo de reloj genera una onda regular sobre un pin con un ciclo obligatorio especificado en trminos de los ciclos de reloj del procesador (figura 26). Si abre el dilogo "Debug>Estmulo del Simulador>Estmulo de Reloj...", podr ingresar varios estmulos de reloj como se Fig. 26 muestra en la figura 26. Cuando ejecute el Este archivo ser usado para introducir programa usando las configuraciones essecuencialmente estos valores en un regis- tablecidas en la figura, RB3 ser Alta para tro. Seleccione "Estmulo de Simulador>Est- 4 ciclos de reloj, y luego Baja para 6 ciclos mulo de Registro>Activar..." (figura 23) de reloj. RB4 ser Alta para 8 ciclos de reloj Luego configure "loop" para que se ubi- y luego Baja para 8 ciclos de reloj. Ambos que en el programa cuando se introduzvalores se repetirn hasta que salga del can los valores, y para propsitos de deMPLAB o los elimine usando este dilogo. mostracin, introdzcalos en el registro de archivo en la direccin 0x0d. Luego de configurar "loop" y "0d" en sus cajas corresInterrupcin Condicional pondientes, presione "Explorar" para que aparezca el dilogo de archivo, en el cual El dilogo punto de interrupcin compodr seleccionar tutor84.reg como el ar- plejo es til para configurar un punto de inchivo de estmulo de registro (figura 24). terrupcin en una condicin compleja y Abra la ventana "Ventana>Registros de especial. archivo" para ver el efecto de este estmulo, aparecer el listado de la figura 25. Resetee y luego ejecute instruccin por Cmo Cargar el PIC instruccin el procesador. Cada vez que llegue a 'loop', el valor en el registro de arUna vez que estamos seguros que nueschivo en la direccin 0x0D cambiar. La tro programa funciona de acuerdo con el lista de valores en tutor84.reg ser secuen- test realizado mediante el empleo de cialmente introducida en el registro de ar- nuestro programa, estamos en condicio-

Todo sobre PICs

47

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

nes de grabar nuestr o PIC , para lo cual debemos seguir las instrucciones dadas en el captulo 2. Cabe aclarar que el programa MPLAB tiene, en su barra de herramientas, un cono de ayuda (HELP) que explica paso por paso todo lo que se puede hacer con el programa. Para muchos, el problema reside en que los textos de ayuda estn en ingls. Para que tenga una idea de la informacin que contienen dichos archivos de ayuda, nosotros hemos traducido unas 450 pginas que paulatinamente iremos publicando a modo de guas para diferentes funciones. Veamos entonces, algunos de los productos que podremos consultar: Caractersticas del Editor

del lenguaje ensamblador, el linker y el bibliotecario, que pueden ser descargados de la pgina web de Microchip. Tambin est disponible una gua del linker en las direcciones de Internet que fuimos especificando. PICMASTER, ICEPIC, MPLAB-ICE Estas son Guas de Usuario separadas para la operacin de emuladores que pueden descargarse de la pgina web de Microchip. PICSTART Plus y PRO MATE Estos son programadores de dispositivo de Microchip. Vea la Gua del Usuario MPLAB PRO MATE y la del PICSTART Plus. Ambos manuales pueden descargarse de la pgina web de Microchip.

El editor de archivo del programador MPLAB-C17 con el MPLAB tiene un conjunto de caracEl compilador 17cxxx opera con el tersticas para la escritura y edicin del c- MPLINK y el Administrador de Proyecto del digo fuente. MPLAB. Vea la Gua del Usuario de MPLABC17 y la Gua del Proyecto v3.40 del Reloj de Detencin MPLAB. El Reloj de Detencin le permite medir el tiempo de ejecucin del cdigo. No siempre es preciso en la ejecucin instruccin por instruccin. El reloj de detencin calcula el tiempo en base a la frecuencia del reloj del microPIC. Configure la frecuencia del reloj en el dilogo "Opciones>Configurar Procesador>Frecuencia de Reloj...". Proyectos de Archivo Mltiple Usando el linker, puede tener dos o ms archivos en un proyecto. Vea la Gua del Proyecto v3.40 de MPLAB para ms informacin. MPASM El MPASM, junto con la gua del Usuario de MPLINK & MPLIB describe la operacin Herramientas de Tercer Orden El PIC C de alta tecnologa, el compilador CCS y el PIC BASIC de MicroIngeniera pueden ser usados con el MPLAB. Vea sus documentaciones respectivas para obtener ms informacin sobre su uso con el MPLAB.

Problemas Vaya a las conferencias sobre el microPIC y Sistemas de Desarrollo en www.microchip.com para hacer preguntas que pueden ser tiles para principiantes o expertos. Los ingenieros de Microchip Application, experimentados usuarios del microPIC, y los ingenieros de Sistemas de Desa-

48

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

Figura 27 Figura 28

Todo sobre PICs

49

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS Figura 28 (continuacin)

rrollo participan en estas conferencias. Este es el modo ms rpido para vencer los obstculos que puedan surgir, informar sobre problemas o simplemente revisar las preguntas ya registradas de otros usuarios a fin de obtener ayuda.

loj con microcontrolador que emplea un display de cristal lquido de muy bajo consumo. El diagrama posee el valor de cada componente. El programa en Assembler se grafica en la figura 28.

EJEMPLOS DE APLICACIN CON PICS Reloj con Display de Cristal LCD

Lector de Tarjeta Magntica Codificada.

Este circuito es muy fcil de construir y emplea un PIC preprogramado, lo cual no En la figura 27 se da el circuito de un re- impide que un lector experto pueda pro-

50

Todo sobre PICs

CMO ESCRIBIR PROGRAMAS


gramar su propio componente, dado que brindamos el listado del programa compilado. El prototipo emplea un lector de tarjeta magntica Canon CCM02 2NO 21 93 20 u otro similar. Precisamente, la dificultad de conseguir este componente en el mercado local es causa de que an no hayamos

HACER

LA

VERIFICACIN

EN LOS

PICS

Figura 29

Figura 30

Todo sobre PICs

51

CMO ESCRIBIR PROGRAMAS

HACER

LA

VERIFICACIN

EN LOS

PICS

Figura 31
publicado un artculo completo sobre el tema, que tenemos a disposicin desde hace varios meses. Sin embargo, confiamos en que los proveedores locales importen a la brevedad estos elementos con el obejeto de que podamos publicar la mencionada nota. En la figura 29 se da el circuito completo del lector de tarjeta (smnartcard o tarjeta inteligente) con el valor de sus componentes. En la figura 30 se da el diseo de la placa de circuito impreso para realizar el montaje y en la figura 31 se da el listado del programa compilado, que deber ser cargado en el PIC. Cuando se desea grabar una tarjeta con un cdigo almacenado en el PIC, se debe colocar el jumper (puente) JP2, cuando se desea leer el cdigo grabado en la tarjeta, se debe hacer un puente en JP1 y quitar el de JP2.

52

Todo sobre PICs

You might also like