Está en la página 1de 18

GUA RPIDA PARA MPLAB 6.

MPLAB IDE 6.x. Manual de utilizacin


ndice: 1.- Arrancando MPLAB 6 2.- Creacin del fichero fuente (.asm) Normas de escritura del programa fuente 3.- Creacin del proyecto 4.- Ensamblado del proyecto errores, advertencias y mensajes 5.- Simulacin del proyecto 6.- Observando el funcionamiento 7.- Estmulos

1.- ARRANCANDO MPLAB 6 (IDE:Integrated Development Environment: Entorno de Desarrollo Integrado). Para arrancar MPLAB 6 debemos correr "MPLAB IDE". El caso ms comn es que lo tengamos instalado en la carpeta de "Archivos de Programa" de nuestro ordenador. Si no es as, debemos ejecutar el fichero "mplab.exe" que se encontrar en el directorio que hayamos escogido para la instalacin, dentro de la carpeta "dlls". Una vez arrancado nos encontramos con una pantalla como la de la figura 1.1:

- fig 1.1 -

GUA RPIDA PARA MPLAB 6.X

Entrando en: Configure > Configuration Bits Podemos escoger el tipo de oscilador (RC, LP, XT HS), y activar/desactivar el perro guardin, el temporizador de arranque o la proteccin del programa. Cuando el fichero hexadecimal se va a grabar en la memoria del PIC es conveniente no tener activado ni el perro guardin ni la proteccin del programa. volver a ndice 2.- CREACIN DEL FICHERO FUENTE: El primer paso consiste en escribir el programa fuente. A continuacin, se crea un proyecto, se le aade ese programa fuente y finalmente se ensambla y se simula. Para generar el programa fuente se utiliza el editor del MPLAB IDE . Seleccionando: File> New aparece en el rea de trabajo una ventana en blanco donde escribirlo. Aqu tenemos dos opciones: 1) escribir el programa, y 2) copiarlo desde otro medio si ya lo tenemos escrito. En cualquiera de esos dos casos, hay que tener en cuenta las normas de escritura del programa fuente, que resumimos a continuacin: Se crea con cualquier editor de texto en caracteres ASCII. Debe cumplir: 1) En cada lnea puede haber hasta 4 tipos de informacin: etiquetas, mnemnicos, operandos y comentarios. 2) Su orden y posicin es importante: las etiquetas deben comenzar en la columna 1 los mnemnicos pueden comenzar en la columna 2 (o posteriores) los operandos deben ir detrs de los mnemnicos los comentarios pueden ir detrs de los operandos, de los mnemnicos o de las etiquetas, o pueden comenzar en cualquier columna si el primer carcter que no sea un espacio es ; . 3) La anchura mxima de lnea es de 255 caracteres. 4) La etiqueta y los mnemnicos, y stos y los operandos deben estar separados por uno o ms espacios. Los operandos entre s pueden ir separados por una , . 5) Y tambin:

GUA RPIDA PARA MPLAB 6.X etiquetas:

la etiqueta puede ir seguida por : , ESPACIO, TAB, o el final de la lnea, sin que se consideren parte de ella deben comenzar por una letra o por _ , y pueden tener caracteres alfanumricos, _ , y ? . pueden tener hasta 31 caracteres, y distinguen maysculas (por defecto) aunque esta opcin se puede anular con CLI mnemnicos: los mnemnicos de las instrucciones de ensamblador, las directivas y las llamadas a macros deben comenzar, al menos, en la columna 2 si en la misma lnea hay una etiqueta, deben estar separados por uno o ms espacios (valen las TAB) operandos: los operandos deben separarse de los mnemnicos por uno o ms espacios (o TAB) los operandos que vienen en listas deben separarse por , si un mnemnico requiere un nmero fijo de operandos, todo lo que venga detrs de ellos en la misma lnea se ignora (se permiten comentarios al final de la lnea) si un mnemnico permite un nmero variable de operandos, el final de la lista de operandos viene determinado por el final de la lnea o por el inicio de un comentario comentarios: los comentarios al final de una lnea deben estar separados del resto de la lnea por uno o ms espacios (o TAB) todo lo que hay en una lnea detrs del carcter de comentario y hasta el final de ella, se ignora Es conveniente ir guardando el texto a medida que lo vamos escribiendo: File > Save as : File > Save Nos aparece una ventana como la de la figura 2.1. Escogemos el directorio donde guardarlo teniendo en cuenta que debe tener la extensin .asm. Para eso hay que tener cuidado con el formato y en la ventana "Save as type" debe estar seleccionada la opcin: Assembly Source Files.

GUA RPIDA PARA MPLAB 6.X

- fig 2.1 Tras guardar el programa fuente, el texto aparece en diferentes colores, que diferencian las instrucciones, los comentarios, directivas, etc. Esos colores se pueden configurar a gusto del usuario. Para ms informacin acudir a: Help > MPLAB Editor Help volver a ndice 3.- CREACIN DEL PROYECTO: 1) El siguiente paso consiste en la creacin de un Proyecto. La forma ms sencilla de hacerlo es utilizar el "MPLAB Project Wizard", que se arranca en el men: Project > Project Wizard La pantalla toma un aspecto como el de la figura 3.1:

- fig 3.1 -

GUA RPIDA PARA MPLAB 6.X

Seleccionar "Siguiente" para continuar. 2) Seleccionar, entre la lista de dispositivos disponibles, el procesador a utilizar (fig 3.2).

-fig 3.2 Seleccionar "Siguiente" para continuar. 3) Seleccionar la herramienta a utilizar que debe ser Microchip MPASM Toolsuite. Al hacerlo nos aparece en la ventana siguiente las herramientas disponibles (fig 3.3).

- fig 3.3 -

GUA RPIDA PARA MPLAB 6.X

Seleccionamos la que nos interese que, para iniciarnos en el manejo del programa, debe ser "MPASM Assembler (mpasmwin.exe")". En la ventana siguiente (Location of select tool) debe figurar la trayectoria completa de ese ejecutable. Si esa trayectoria est incompleta o es errnea debemos pulsar "Browse" para localizarlo. Seleccionar "Siguiente" para continuar. 4) El siguiente paso es asignarle un nombre al proyecto (fig 3.4).

- fig 3.4 Seleccionar "Siguiente" para continuar. 5) La pantalla siguiente (fig 3.5) nos pregunta qu ficheros queremos aadir a nuestro proyecto. Debemos seleccionar y aadir (pulsar en "Add") el fichero fuente (nombre.asm).

GUA RPIDA PARA MPLAB 6.X

- fig 3.5 Seleccionar "Siguiente" para continuar. Una vez seleccionado, el fichero se aade al proyecto (fig 3.6):

- fig 3.6 Seleccionar "Siguiente" para continuar.

GUA RPIDA PARA MPLAB 6.X

Aparece entonces una pantalla con un resumen del proyecto que queremos crear (fig 3.7):

- fig 3.7 Si esos datos no son correctos, debemos pulsar "Atrs" y corregirlos. Si son correctos, debemos pulsar "Finalizar". Con eso salimos del "Project Wizard" y nos aparece una pantalla con un aspecto como el de la figura 3.8:

- fig 3.8 Se pueden aadir archivos y salvar proyectos pulsando el botn derecho del ratn cuando nos encontremos en la ventana de proyecto. Los ficheros tambin se pueden borrar manualmente seleccionndolos y utilizando el botn derecho del ratn. volver a ndice

GUA RPIDA PARA MPLAB 6.X 4.- ENSAMBLADO DEL PROYECTO

Una vez que el proyecto est creado, debemos ensamblarlo. Para eso el entorno MPLAB utiliza el programa mpasmwin. El procedimiento a seguir es el siguiente: Project > Build All. Tambin puede utilizarse el icono correspondiente de la barra de herramientas. El caso ms comn cuando se empieza a trabajar con MPLAB es que en la pantalla aparezca un mensaje como ste: Deleting intermediary files... done. Executing: "C:\Archivos de programa\MPLAB IDE 6_40 \MCHIP_Tools \MPASMWIN.EXE" /q /p16F84 "prueba1.asm" /l"prueba1.lst" /e"prueba1.err" Warning[205] E:\PIC\EJEMPLOS\PRUEBA1.ASM 3 : Found directive in column 1. (include) Error[113] E:\PIC\EJEMPLOS\PRUEBA1.ASM 6 : Symbol not previously defined (inicio) Message[302] E:\PIC\EJEMPLOS\PRUEBA1.ASM 10 : Register in operand not in bank 0. Ensure that bank bits are correct. Warning[207] E:\PIC\EJEMPLOS\PRUEBA1.ASM 12 : Found label after column 1. (inc) Error[122] E:\PIC\EJEMPLOS\PRUEBA1.ASM 12 : Illegal opcode (FSR) Error[113] E:\PIC\EJEMPLOS\PRUEBA1.ASM 13 : Symbol not previously defined (inicio) Halting build on first failure as requested. BUILD FAILED: Fri Feb 10 11:49:09 2006 En la ltima lnea se puede leer: "BUILD FAILED", es decir, el ensamblador mpasmwin no ha sido capaz de generar un fichero hexadecimal y por tanto tampoco podremos simular el comportamiento de nuestro programa. Adems, en la pantalla "output" tambin tenemos disponible otras informaciones, como "messages", "warnings" y "errors". De estos tres tipos, el ms importante porque impide la generacin del fichero hexadecimal son los "errors", mientras que los otros dos tipos no impiden el ensamblado del programa fuente. Pasemos a comentarlos a continuacin: Errores (Error). Impiden la generacin de cdigo mquina y por lo tanto es imprescindible corregirlos para poder continuar. Los ms habituales, con su nmero de caracterizacin, son: "[105] Cannot open file". El ensamblador no es capaz de abrir algn fichero. Debemos asegurarnos que ese fichero existe o que tiene la trayectoria correcta. "[107] Illegal Digit". Hay un dgito no vlido en un nmero. Los dgitos vlidos son: en binario: 0 y 1 en octal: de 0 a 7

GUA RPIDA PARA MPLAB 6.X

10

en decimal: de 0 a 9 en hexadecimal: de 0 a 9, de a a f, y de A a F en hexadecimal "[108] Illegal Carcter". Hay un carcter no vlido en una etiqueta. Los caracteres vlidos son: letras, nmeros (siempre que no sean el primer carcter de la etiqueta), subrayado "_" e interrogacin "?". "[109] Unmatched (" y "[110] Unmatched )". Parntesis sin cerrar o abrir. "[111] Missing Symbol". A las directivas EQU o SET no se les ha proporcionado el valor numrico. "[113] Symbol not previously defined". Hacemos referencia a un smbolo que todava est sin definir. "[115] Duplicate label". Definimos la misma etiqueta para dos valores diferentes. "[121] Illegal label. Este error puede proceder de dos fuentes: 1) algunas directivas no admiten una etiqueta en la misma lnea; basta con poner la etiqueta, sola, en la lnea anterior, y 2) tampoco se permiten las palabras "HIGH", "LOW", "PAGE" ni "BANK" como etiquetas. "[122] Illegal opcode". El mnemnico de la instruccin no est escrito correctamente o no existe. "[124] Illegal argument". El argumento de la directiva no es vlido. "[126] Argument out of range". El argumento de la instruccin o de la directiva es mayor del valor admisible. "[128] Missing argument(s)". A la instruccin le falta algn dato.

Debemos tener en cuenta que la eliminacin de estos errores simplemente permite obtener un fichero hexadecimal, pero no tenemos ninguna informacin acerca de si nuestro programa funcionar o no correctamente. Advertencias (Warning). Estos mensajes no impiden la obtencin del fichero hexadecimal, pero advierten de algo que al ensamblador le parece extrao. Es conveniente comprobarlos todos. Los ms tpicos son: "[202] Argument out of range. Least significant bits used". El argumento utilizado tiene ms bits de los permisibles, el ensamblador pierde el (o los) de ms peso. "[203] Found opcode in column 1". El mnemnico de una instruccin comienza en la columna 1, que es el lugar reservado para las etiquetas. "[205] Found directive in column 1". El mnemnico de una directiva comienza en la columna 1, que es el lugar reservado para las etiquetas. "[207] Found label after column 1". El mnemnico de una etiqueta no comienza en la columna 1. "[215] Processor superceded by command line. Verify processor symbol". El procesador especificado en el programa fuente no coincide con el seleccionado en el ensamblador. Por defecto toma el del programa fuente.

Mensajes propiamente dichos (Message), que tampoco impiden la obtencin de cdigo mquina y aaden informacin adicional. Los ms tpicos son:

GUA RPIDA PARA MPLAB 6.X

11

"[302] Register in operand not in bank 0. Ensure that bank bits are correct". El PIC trabaja por defecto en el banco 0 de la memoria de datos. Este mensaje advierte de que hemos hecho una operacin fuera de ese banco y nos recomienda asegurarnos de que eso es lo que queremos hacer. "[305] Using default destination of 1 (file)". Hay algunas instrucciones que operan con registros que necesitan como dato el destino, es decir, dnde se quiere almacenar el resultado de la operacin que realiza la instruccin. El destino es un solo bit y por tanto slo tiene dos opciones: si es "0" el resultado se almacena en W, y si es "1" es resultado se almacena en el registro con el que haya operado la instruccin. Si no se especifica ese destino, por defecto, la CPU lo toma como un "1" y almacena ese resultado en el mismo registro con el que haba trabajado. Este mensaje nos advierte de esta situacin.

Para tratar los mensajes, el camino ms rpido es hacer doble click en la lnea del fichero "output" en la que est el mensaje. Eso hace que el cursor se ponga en la lnea del programa fuente que da lugar a la aparicin de ese mensaje y nos permite corregirlo. A continuacin, el fichero fuente se graba de nuevo, "File > Save", y se vuelve a ensamblar: "Project > Build All". El proceso se repite hasta que estn corregidos todos, momento en el que mpasmwin consigue generar el fichero hexadecimal, apareciendo una pantalla como la de la figura 4.1, donde se puede leer BUILD SUCCEEDED y donde se puede ver tambin el nombre del fichero obtenido (extensin .cod) y su trayectoria completa.

- fig 4.1 Por ltimo, la pantalla output tambin informa de: herramienta utilizada: mpasmwin, con su trayectoria completa ficheros: nombre.asm: el programa fuente que nosotros escribimos nombre.lst: fichero de listado que contiene un listado completo del programa incluyendo el programa fuente y todo tipo de mensajes (errores, advertencias y mensajes propiamente dichos). En este fichero el mensaje aparece justo encima de la lnea que lo origina. nombre.err: fichero de errores que indica los errores (slamente errores) que han aparecido durante el ensamblado procesador para el que se ha ensamblado.

GUA RPIDA PARA MPLAB 6.X

12

A partir de este momento, ya disponemos de un fichero en hexadecimal (.hex) y podemos simular el funcionamiento. volver a ndice 5.- SIMULACIN DEL PROYECTO Es lgico que llegados a este punto comprobemos nuestro programa, es decir, vamos a simular su funcionamiento. MPLAB-SIM es un simulador para los microcontroladores PIC que viene integrado en el entorno MPLAB IDE. Permite modificar el programa y reejutarlo a continuacin, introducir estmulos externos y observar la ejecucin del programa objeto. La velocidad de ejecucin, aunque llega siempre a la mxima posible, es varios rdenes de magnitud ms baja que la del procesador real y depende del ordenador y de otros factores. Puede llegar al orden de unos ms por instruccin (un PIC real, con un cristal de 4 MHz, emplea 1 s por instruccin). Suele ser habitual entonces que una vez que nuestro programa est pensado para tiempo real, tengamos que "acelerarlo" para que su simulacin no dure excesivamente. Como caso ms comn se tiene el de utilizar divisor de frecuencia. Pues bien, suele ser conveniente desactivarlo para la simulacin volviendo a activarlo para la aplicacin real. Eso nos lleva a un nuevo ensamblado en el que no debe aparecer ningn mensaje diferente a los obtenido anteriormente. Para arrancar el simulador debemos entrar en (fig 5.1): Debugger > Select Tool > MPLAB SIM

- fig 5.1 A continuacin se producen los siguientes cambios (figura 5.2): 1) La ventana de la izquierda de la barra de estado (parte inferior de la pantalla) cambia a MPLAB SIM 2) Aparecen nuevas opciones en el men "debugger"

GUA RPIDA PARA MPLAB 6.X 3) En la barra de herramientas aparecen los iconos correspondientes al simulador

13

- fig 5.2 Nuestro programa est listo para ser ejecutado. Podemos seleccionar ahora la frecuencia que va a tener el oscilador: Debugger > Settings > Clock En primer lugar es conveniente que el simulador empiece por ejecutar la primera instruccin del programa, para eso realizamos un "reset" del procesador: Debugger > Reset O tambin podemos actuar sobre el teclado o sobre el icono (figura 5.3)

- fig 5.3 En la pantalla (figura 5.4) nos aparece una flecha verde en el margen izquierdo de la ventana donde est escrito el programa fuente (nombre.asm). La flecha apunta a la primera instruccin que se va a simular en cuanto demos la orden.

GUA RPIDA PARA MPLAB 6.X

14

A partir de aqu tenemos tres posibilidades de ejecutar el programa: paso a paso, en modo animado y total.

- fig 5.4 1) Paso a paso (Step). En esta modalidad, la CPU ejecuta las instrucciones una a una cada vez que entremos en el men: Debugger > Step Into O tambin actuando sobre la tecla F7 o sobre el icono correspondiente (fig 5.3). Podemos observar el valor de las variables en ese instante colocando el cursor sobre ellas (figura 5.5):

- fig 5.5 -

GUA RPIDA PARA MPLAB 6.X

15

2) Modo animado (Animate). En este caso, la CPU ejecuta las instrucciones una tras otra sin esperar. Se activa en el men: Debugger > Animate O tambin en el icono correspondiente (fig 5.3). Para detener la ejecucin del programa debemos actuar en: Debugger > Halt O tambin actuando sobre la tecla F5 o sobre el icono correspondiente (fig 5.3). Tambin en este caso podemos observar el valor de las variables en ese instante colocando el cursor sobre ellas. 3) Total (Run). En este modo, la CPU ejecuta el programa completo, es decir desde la primera hasta la ltima instruccin. Se activa en: Debugger > Run O tambin actuando sobre la tecla F9 o sobre el icono correspondiente (fig 5.3). En barra de estado aparece la palabra "running". Para detener la ejecucin del programa debemos actuar en: Debugger > Halt O tambin actuando sobre la tecla F5 o sobre el icono correspondiente (fig 5.3). En este caso, si colocamos el cursor sobre una variable no nos aparece el valor que tiene en ese instante. Primero debemos detener la ejecucin del programa. volver a ndice 6.- OBSERVANDO EL FUNCIONAMIENTO Hay varias formas de observar lo que sucede al ir ejecutndose las instrucciones del programa. Dentro del men "View" tenemos varias posibilidades que nos van abriendo diferentes ventanas: output: el fichero de salida, que ya conocemos disassembly listing: listado del programa fuente (sin ensamblar) hardware stack: estado de la pila program memory: estado de la memoria de programa, con las instrucciones file registers: valores almacenados en los registros

GUA RPIDA PARA MPLAB 6.X EEPROM: estado de la memoria EEPROM special function registers: estado de los registros de funciones especiales simulator trace: almacena todos los pasos del simulador

16

Cualquiera de esas posibilidades nos proporciona informacin acerca de la ejecucin del programa. El inconveniente es que tanto el contenido de los registros como su direccin pueden estar en hexadecimal por lo que es bastante engorroso. Adems, hay que tener en cuenta que en programas complejos pueden ser muchos los valores que cambian con cada instruccin, lo que dificulta el seguimiento de unas pocas variables. Para evitar este problema se puede abrir una "ventana de observacin": View > Watch Con eso nos aparece una nueva ventana (fig 6.1) en la que podemos seleccionar tanto los registros de funciones especiales (FSR) como los smbolos (symbol) que queremos observar.

- fig 6.1 Una vez que tenemos en la ventana el smbolo que queremos observar, podemos cambiar su formato seleccionndolo y apretando el botn derecho del ratn para entrar en sus propiedades. Ah podremos escoger varias opciones: smbolo nmero de bits a observar formato (aqu podemos escoger tambin un solo bit) volver a ndice 7.- ESTMULOS El simulador evala los estmulos y genera todas las respuestas en los lmites de cada ciclo de instruccin (Tcy = 4Tosc). Por ese motivo, algunos sucesos fsicos no pueden simularse con precisin, en particular los sucesos puramente asncronos y los sucesos de periodo ms corto que un ciclo de instruccin. Los estmulos generan seales para el simulador. Podemos poner patillas a "0" o a "1" y cargar valores directamente en registros. Existen cuatro tipos:

GUA RPIDA PARA MPLAB 6.X

17

- Estmulos asncronos - Estmulos de terminales - Estmulos de registros - Estmulos de reloj Nos centramos en los estmulos asncronos. Permite simular +5V y 0V en terminales configurados como entradas. Se activan haciendo click en el botn correspondiente de la ventana de dilogo. Para definirlos debemos entrar en: Debugger > Stimulus con lo que aparecer una ventana como la indicada en la figura 7.1:

- fig 7.1 Podemos entonces definir los estmulos. Es probable que tengamos que comenzar por aadir una fila: Add Row. La primera columna (type) nos permite escoger entre estmulo sncrono o asncrono. Basta con pulsar dentro del cuadro en blanco para que nos aparezcan las opciones. La segunda columna (enable) nos habilita el estmulo, es decir, cada vez que hagamos click sobre el icono "fire", se producir la simulacin del estmulo que estamos configurando. La tercera columna (pin) nos permite escoger la patilla en la que queremoa simular el estmulo. En la cuarta columna (action) escogemos la accin a simular. Tenemos cuatro posibilidades: - high: simula una tensin "1" en la patilla seleccionada - low: simula una tensin "0" en la patilla seleccionada - toggle: simula un cambio, es decir, si esa patilla estaba a "1" la pone a "0" y si estaba a "0" la pone a "1" - pulse: simula un pulso de corta duracin

GUA RPIDA PARA MPLAB 6.X

18

El resto de las columnas no son interesantes de momento. En la figura 7.2 podemos ver un ejemplo de pantalla con una serie de estmulos definidos.

- fig 7.2 Si queremos eliminar un estmulo, basta con seleccionar la lnea y pulsar en "Delete Row". Una vez definidos todos los estmulos que necesitemos, mientras va corriendo la simulacin podemos activarlos a medida que pulsemos con el ratn en el botn correspondiente, por eso es conveniente mantener abierta la ventana de los estmulos durante la simulacin. Tenemos la opcin de guardar el fichero de estmulos. Basta con actuar sobre "Save" e indicar el nombre y el directorio donde queremos guardarlo. Posteriormente podemos recuperarlo actuando sobre "Load". volver a ndice

También podría gustarte