MPLAB

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

MPLAB-IDE es una Plataforma de Desarrollo Integrada bajo Windows, con mltiples prestaciones,

que permite escribir el programa para los PIC en lenguaje ensamblador (assembler) o en C (el
compilador C se compra aparte), crear proyectos, ensamblar o compilar , simular el programa y
finalmente programar el componente, si se cuenta con el programador adecuado.

MPLAB incorpora todas las utilidades necesarias para la realizacin de cualquier proyecto y, para
los que no dispongan de un emulador, el programa permite editar el archivo fuente en lenguaje
ensamblador de nuestro proyecto, adems de ensamblarlo y simularlo en pantalla, pudiendo
ejecutarlo posteriormente en modo paso a paso y ver como evolucionaran de forma real tanto
sus registros internos, la memoria RAM y/o EEPROM de usuario como la memoria de programa,
segn se fueran ejecutando las instrucciones. Adems el entorno que se utiliza es el mismo que si
se estuviera utilizando un emulador.

Partes de MPLAB:

EDITOR: Editor incorporado que permite escribir y editar programas u otros archivos de texto.

PROJECT MANAGER: Organiza los distintos archivos relacionados con un programa en un proyecto.
Permite crear un proyecto, editar y simular un programa. Adems crea archivos objetos y permite
bajar archivos hacia emuladores (MPLAB-ICE) o simuladores de hardware (SIMICE).

SIMULADOR: Simulador de eventos discretos que permite simular programas con ilimitados
breakpoint, examinar/modificar registros, observar variables, tiempos y simular estmulos
externos.

ENSAMBLADOR: Genera varios tipos de archivos objetos y relacionados, para programadores


Microchip y universales.

LINKER: Permite unir varios archivos objetos en uno solo, generados por el ensamblador o
compiladores C como MPAB-C18 o compiladores de terceros.

DISPOSITIVOS LGICOS MICROPROGRAMABLES

El uso de maysculas y minsculas en los programas obedece a una serie de reglas o normas de
estilo, comunes entre los programadores en ensamblador, que si bien no son obligatorias, facilitan
la lectura del cdigo fuente. Estas reglas son:

Las directivas del ensamblador se escriben en maysculas.

Los nombres de las variables se escriben en maysculas y minsculas, por ejemplo Variable A
podra ser VARA o VAR_A o VarA.

Los nemnicos de las instrucciones se escriben en minsculas.

El programa se escribe utilizando los tabuladores para definir las distintas columnas, tales como
etiquetas, comienzo de lneas de programa y columna donde empiezan los comentarios separados
por un ";" (punto y coma).

Cuando terminemos de escribir el programa, si no lo hicimos antes, seleccionamos File/Save


donde le damos el nombre a nuestro programa E001.ASM, dentro del directorio de proyecto.
Una vez escrito el programa, es necesario crear un proyecto para poder compilar, simular,
depurar y, en su caso, programar.

Para crear un proyecto, se tiene que escoger la opcin Proyect/Proyect Wizard y siga las
instrucciones que vayan apareciendo:

Escoja el microcontrolador (PIC---)

Escoja el conjunto de lenguaje Microchip MPASM Tolsuit.

Nota: si aparece y pulsa aparecer un mensaje de error. Para solucionarlo seleccionar en


Toolsuite Contents y seguidamente pulse sobre para seleccionar C:\Archivos de programa\MPLAB
IDE\MCHIP_Tools\mplib.exe

Pngale nombre al proyecto. Use el mismo nombre del archivo fuente (se sugiere).

Escoja el directorio donde trabajar. Se debe utilizar una ruta corta, por ejemplo D:\PIC\PRG, de lo
contrario el ensamblador puede dar problemas (no utilizar el escritorio o mis documentos, que
corresponden a rutas largas).

Se debe seleccionar el archivo fuente y pulsar el botn Add.

Una vez creado el proyecto, se habilitarn algunos iconos:

Crea nuevo proyecto

Abre proyecto

Guarda proyecto

Opciones

Buscar archivos de proyecto

Compila (make)

Compila (built all)

Una vez creado el proyecto, se da click en el cono Built All . Con esto compilar el programa y se
crerarn archivos de error, mapa del programa, archivos objetos y archivos hex.

Si no se han cometido errores al introducir los cdigos, En la ventana Output, solapa Build
aparecer un mensaje parecido a este:

Clean: Deleting intermediary and output files.

Clean: Done.

Executing: "C:\Archivos de programa\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q /p16F84A


"E001.ASM" /l"E001.lst" /e"E001.err"

Loaded D:\PIC\PRG\E001.COD
BUILD SUCCEEDED: Fri Dec 03 20:03:30 2004

Esto nos indica que el programa se ha ensamblado con xito y ya estamos en condiciones de
iniciar la simulacin del programa. Si por el contrario, se han detectado errores, en dicho mensaje
ser mostrado el error; si se hace doble clic sobre la lnea que muestra el error, el cursor saltar
directamente a la lnea de cdigo donde se encuentra el error. Una vez subsanados los errores
habr que volver a compilar el programa.

Men View

Seguidamente analizaremos las distintas posibilidades que ofrece el men view:

Project: Esta ventana presenta la lista de archivos que actualmente hay en un proyecto. Si el
proyecto se ha ensamblado o compilado la ventana de proyecto muestra una lista de todos los
archivos incluidos en el proyecto. Un doble clic en cualquier archivo resaltado en la ventana, abrir
dicho archivo para su revisin.

Output: Muestra la ventana Output, que ofrece informacin de salida del programa, como por
ejemplo cuando se compila aqui va apareciendo la informacin sobre la compilacin, indicando si
hay errores.

Toolbars: Permite seleccionar que barras de herramientas apareceran en MPLAB.

Disassembly Listing: En esta ventana se puede ver el cdigo mquina paralelamente al cdigo en
ensamblador. Resulta muy util para seguir paso a paso la ejecucin del programa.

Hardware Stack: El contenido de la pila puede verse y modificarse con el ratn o el teclado al
seleccionar esta opcin. Si la pila se desborda, MPLAB indica su rebosamiento con el mensaje
underflow. Para modificar un nivel de la pila basta con hacer click con el puntero del ratn sobre el
o utilizar el teclado con los cursores.

Program Memory: Al seleccionar esta opcin aparece la siguiente ventana en la que se puede
apreciar las posiciones de memoria que ocupa cada una de las instrucciones, el cdigo de
operacin de cada instruccin y la posicin de memoria que se le ha dado a cada etiqueta. Puede
utilizarse para seguir paso a paso la ejecucin del programa y adems de modificar un registro
mediante el ratn y el teclado pueden modificarse varios a la vez si se pone el puntero del ratn
sobre el primer registro que se quiere modificar y seguidamente se pulsa el botn derecho del
ratn y se activa la opcin Fill Registers.
DISPOSITIVOS LGICOS MICROPROGRAMABLES MPLAB-IDE v6.60 11.7

Si pulsamos en cada uno de los tres botones de la parte inferir de esta ventana podemos
seleccionar tres formas de ver la memoria de programa:

Opcode Hex: representa la memoria de programa con los datos en hexadecimal. Esta opcin es
muy til al usar el programador del dispositivo y comprobar si se grabaron bien los datos.

Machine: esta opcin presenta el cdigo mquina ensamblado con la informacin de las etiquetas
y direcciones de memoria que tienen asignadas.

Symbolic: despliega el cdigo hexadecimal desensamblado con los smbolos (etiquetas) utilizados
en el programa.

File Registers: La lista de registros del microcontrolador, que son de memoria SRAM, se pueden
ver seleccionando esta opcin. Esta ventana al desplegarse presenta una lista con la memoria de
datos del dispositivo emulado. El listado de registros puede verse de dos maneras, segun se active
Hex o Symbolic.

En la siguiente figura se muestran algunos registros de la memoria del banco 0. Observese que
tambin se muestra la posicin que etiquetamos como RESULTADO:

Se puede modificar el contenido de uno o varios registro en esta ventana.

DISPOSITIVOS LGICOS MICROPROGRAMABLES MPLAB-IDE v6.60 11.8

EEPROM: Si el dispositivo emulado tiene EEPROM o memoria Flash como es el caso del
PIC16F84, el contenido de la memoria puede verse seleccionando esta opcin. La memoria de
EEPROM puede modificarse a travs de esta ventana.

Watch : MPLAB permite supervisar los contenidos de los registros a travs de esta ventana. Para
agregar los registros a visualizar, se puede hacer directamente escribiendolos con el teclado o
mediante los botones Add SFR o Add Symbol y las ventanas desplegables correspondientes. En la
figura se muestra como se ha introducido el valor de RESULTADO para supervisarlo, despus de
emular el programa aparece el valor 0FH, esto es 15, que es igual a 7+8:

Special Function Registers: El contenido de los registros de funciones especiales (FSR) pueden
verse y modificarse seleccionando esta opcin.

Archivos de proyecto

Ya sabemos que el programa que hemos realizado tiene la extensin "ASM" y que la extensin
del proyecto es "MCP". Cuando creamos el proyecto, en el directorio que elegimos se crearon los
siguientes archivos:

E001.ASM Archivo del programa en ensamblador.

E001.COD

E001.ERR

E001.HEX

E001.LST

E001.MCP Archivo de proyecto.

E001.MCS

E001.MCW Archivo de espacio de trabajo.

El archivo de espacio de trabajo es muy intyeresante porque permite dejar las ventanas y el
programa en el estado actual, cerrar el programa y mas tarde, seguir trabajando recuperando el
estado del programa tal y como lo dejamos. Para trabajar con el Workspace debemos ir al men
file.

Simulacin

Para comenzar la simulacin debemos elegir la herramienta que vamos a utilizar. En nuestro
caso, MPLAB SIM. Para hacerlo debemos seleccionar en la barra de mens Debugger/Select
tools/MPLAB SIM:
SISTEMAS DE TELECOMUNICACIN E INFORMTICOS

ARQUITECTURA DE EQUIPOS Y SISTEMAS INFORMTICOS MPLAB-IDE v6.60 11.9

Aparecer una nueva barra de herramientas:

Run

Halt

Animate

Step Into

Step Over

Step Out

Reset

Run (F9): Al activarse esta opcin el programa se ejecuta a toda velocidad en "modo tiempo real",
aunque no hay que olvidar que se trata de una simulacin por ordenador. La ejecucin comienza
en la direccin actual del contador de programa (PC), que se muestra en la barra de estado y en la
ventana Program Memory. Mientras el programa est en ejecucin Step y Run estn
deshabilitados y se detiene si se activa Halt o si se encuentra un breakpoint (Ver Nota mas
adelante).

Animate: Esta opcin es similar a la anterior pero en este caso el programa se simula de forma
automtica desde la direccin que indique el PC en el instante en que se active. Equivale a pulsar
contnuamente Step Into. Se detiene con Halt.

Halt (F5): Detiene la ejecucin del programa, el contador de programa se detiene y se actualiza la
informacin.

Step Into (F7): Esta accin ejecuta la instruccin cuya direccin de memoria coincida con el valor al
que apunta el PC antes de activarla. Si algn registro se modifica se resalta en color rojo. Como
puede apreciarse cuando se utiliza esta accin, podemos comprobar paso a paso como se ejecuta
el programa, y de esta forma, ver si hay fallos y ver donde est el error para depurarlo. Tambin es
especialmente interesante cuando se comienza a estudiar el ensamblador y queremos comprobar
el repertorio de instrucciones del mismo. En definitiva, ejecuta la instruccin actual y se detiene,
actualizndose la informacin. Si se realiza un Step Into sobre una instruccin SLEEP, como en la
realidad, el dispositivo pasa a modo sleep, siendo necesario despertarlo para continuar, por
ejemplo mediante un reset.
Step Over (F8): Ejecuta la instruccin actual y se detiene, actualizndose la informacin.
Aparentemente funciona como Step Into pero si la instruccin a ejecutar es CALL, ejecuta la
subrutina llamada y se detiene en la instruccin siguiente a la llamada. Muy util para ejecutar
subrutinas ya comprobadas y seguir con la depuracin del programa.

Step Out: Si la localizacin actual est dentro de una subrutina, la termina y retorna al programa
principal.

Reset: Esta opcin inicializa el sistema. El Contador de Prograna (PC), que es la direccin de
memoria donde se encuentra la primera instruccin que ejecuta el microcontrolador cuando se
realiza un reset en el sistema, se pone a 0. A esta direccin de memoria se le denomina vector de
reset.

Nota:

Un breakpoint es una marca en un punto del programa de manera que en modo Run, cuando se
llege a ese punto el programa se detenga. Muy util para establecer en que zona o zonas nos
interesa ir paso a paso.

Para tranbajar con breakpoints y realizar otras acciones interesantes, como colocar el contador
de programa en la localizacin actual (Set PC at Cursor), pulsamos el botn derecho del ratn
sobre el programa en ensamblador.

DISPOSITIVOS LGICOS MICROPROGRAMABLES MPLAB-IDE v6.60 11.10

Para realizar la simulacin podemos colocar las ventanas tal y como aparece en la figura, pulsar
sobre (Step Into) y observar como se ejecuta el programa paso a paso y se modifican los registros:

Tal y como estn dispuestas las ventanas puede observarse todo lo necesario para la simulacin.
La flecha amarilla en la ventana donde est el ASM indica que instruccin es la que puede
ejecutarse.

Si se modificase el archivo ASM mientras se simula, aparecer un ventana con el mensaje The
project is out of date e indicando si se quiere rehacer de nuevo el proyecti. Debe contestarse que
si y comenzar de nuevo la simulacin con los cambios establecidos. Es importante decir que
aunque se conteste que no, el cambio se guardar en el ASM.

Con la venntana Special Function Registers se pueden observar los cambios en los registros
especficos, e incluso modificarlos seleccionandolos con el ratn con un doble click y utilizndo el
teclado. El men contextual (pulsar botn derecho sobre la ventana) permite nuevas
posibilidades, que por ejemplo permite con Fill Registers modificar varios registros de una vez.

Con la ventana File Registers, se ven todos los registros, si bien resultan de especial inters los
registros de proposito general, que por supuesto pueden modificarse a voluntad.

Tanbin resulta de inters el men Debugger/Clear Memory.

DISPOSITIVOS LGICOS MICROPROGRAMABLES MPLAB-IDE v6.60 11.11

En MPLAB, si bien en principio todos los registros pueden modificarse a voluntad, resulta que no
se pueden modificar directamente los bits de PORTA y PORTB cuando estn configurados como
entradas (vase simulando PRACTICA.ASM). Si se pueden modificar los bits de PORTA y PORTB si
estn configurados como salidas.

Para conseguir "botones" que permitan accionar las patillas de entrada del PIC se utiliza el MPLAB
Stimulus Controller, que aparece con el men Debugger/Stimulus Controller:

Para crear cada fila pulsar Add Row, seleccionar Type, Enable, Pin y Action y terminar con Edit
Complete.

En la primera fila de la figura, al pulsar Fire cambia RA0 de estado, se hace 0 si era 1 y viceversa
(Toggle), el cambio no se hace efectivo hasta que se pulsa Step Into. No funciona bien con Animate
si bien se puede intentar aumentar en Debugger/Setting, en la solapa Debuger Animation el
tiempo de paso en la anumacin. No se ven los cambios si se utiliza Run hasta que la informacin
no se actualiza con Halt, si bien aqu resultara casi imprescindible utilizar Breakpoint.

Ademas del tipo Action Toggle, que cambia de estado una entrada, tenemos High que aplica un 1,
Low que aplica un cero y Pulse que proporciona un pulso de corta duracin. En PRACTICA.ASM, tal
y como se ha resuelto la entrada de datos en el programa, no sirve la utilizacin de Pulse y se
puede utilizar Toggle o bien dos filas para cada entrada, una con High y otra con Low.

En la ultima fila de la figura se ve como se utiliza el Type Synch (sncrono), que hace que
automticamente cambie RB3 de forma sincronizada con el reloj, estando 10 ciclos a estado alto y
luego 10 ciclos a estado bajo.
Las filas de entradas realizadas pueden guardarse y recuperarse (Pin Stimulus File, Load y Save)

DISPOSITIVOS LGICOS MICROPROGRAMABLES MPLAB-IDE v6.60 11.12

Operaciones habituales con MPLAB

Conforme utilice MPLAB le surgirn dudas que puede resolver con la ayuda que proporciona el
programa (en ingls) y que le permitirn ir adentrndose en el uso del programa segn sus
necesidades.

A continuacin se presenta una lista de tareas habituales con los mens y opciones de MPLAB
exclusivamente a modo de sugerencia:

File/New. Para crear un archivo en ASM.

File/Open. Para abrir un archivo en ASM.

Project/Project Wizard. Para crear rpidamente un proyecto.

Project/Open File/Open Workspace. Para abrir proyectos existentes.

View/Project. Para mostrar ASM

Project/Build all. Para crear/actualizar archivos, incluido HEX.

Debugger/Select Tool/MPLAB SIM. Para seleccionar el simulador.

Para la simulacin:

Cerramos la ventana Output

Aparecer una flecha en la primera instruccin del ASM

View/File Registers. Para ver la memoria RAM completa.

View/Special Function Registers. Para ver slo los registros especiales.

Debugger/Stimulus Controller. Para poder cambiar las entradas.

Minimizamos/cerramos ventanas innecesarias (mcw) y con Window/Tile organizamos las ventanas

Utilizamos los iconos de simulacin, como Step Into y comenzamos la simulacin.

Tambin es conveniente utilizar el menu contextual en el ASM (pulsando botn derecho del ratn)
para realizar acciones como por ejemplo Set PC at Cursor que coloca el PC en la instruccin donde
se encuentre el cursor.

También podría gustarte