Está en la página 1de 20

INTRODUCCIN AL USO DEL MPLAB v 8.

00

MPLAB es un ambiente de desarrollo integrado (IDE, por sus siglas en ingls)


creado por Microchip Technology para dar soporte a la realizacin de proyectos basados
en microcontroladores PIC. Incluye varios mdulos que permiten llevar a cabo las distintas
etapas de un proyecto: Edicin, Ensamblaje, Simulacin y Programacin. En el
Laboratorio, cada equipo de trabajo cubrir todas las etapas con la versin 8,0 de MPLAB,
exceptuando la Programacin, que se ejecutar mediante un software diferente y ser
responsabilidad del profesor o de un asistente.
A continuacin se describe la secuencia de acciones bsicas para completar las
etapas mencionadas:
Desde el escritorio acceda al programa a travs del cono MPLAB IDE v.8.00,

Otra forma de ingresar ser en Inicio>Programas>Microchip>MPLAB IDE v8.00.


La pantalla inicial ser como la de la siguiente figura.

Con el fin de crear el cdigo hexadecimal (.hex) que la interfaz de programacin


necesita para programar o quemar el microcontrolador, los archivos fuente se deben
asociar a un proyecto. El proyecto controla todo el proceso.

Los pasos necesarios para trabajar con el entorno de MPLAB IDE son:
1.
2.
3.
4.
5.
6.

Seleccionar el dispositivo.
Crear el proyecto.
Seleccionar las herramientas de lenguaje (Toolsuite).
Crear el cdigo fuente (.asm)
Agregar los archivos al proyecto.
Construir el proyecto.

SELECCIONANDO EL DISPOSITIVO.
Desde el men principal se seleccione: Configure>Select Device.

Aparecer la pantalla de seleccin:

En esta pantalla, en la ventana Device se selecciona el dispositivo a utilizar. La


ventana de la derecha denominada Device Family permite agruparlos por familia para
realizar una seleccin ms rpida.
Se activar la informacin referida a los programadores que soportan al dispositivo
seleccionado, as como los lenguajes y depuradores.
Las opciones en color verde indican que si lo soporta y ya han sido probados, las
amarillas indican que an no ha sido probado para este dispositivo y las rojas indican
que no lo soportan.

CREANDO EL PROYECTO.
El archivo .asm que se va a crear debe ser relacionado a un proyecto para su
ensamblaje, deteccin de errores de sintaxis, obtencin del .hex y simulacin.

Para crear el proyecto desde el men principal seleccione Proyect> New proyect (o
seleccione Proyect>Proyect Wizard, para activar el asistente de proyectos, el cual lo guiar
paso a paso).

Asigne un nombre al proyecto (sin extensin) y en Project Directory escriba la


direccin donde desea crear el proyecto. Se recomienda que sea la misma carpeta donde
crear el archivo .asm.

Seleccione View>Proyect y aparecer la ventana de informacin del proyecto.

SELECCIONANDO LAS HERRAMIENTAS DE LENGUAJE (TOOLSUITE).


Para Seleccionar el conjunto de herramientas seleccione Project>Select Lenguaje
Toolsuite.

En el men Active Toolsuite Seleccione Microchip MPASM Toolsuite.

Observe las herramientas de lenguaje asociadas con la Toolsuite seleccionada. Estas


deben ser MPASMWIN, MPLINK y MPLIB.

Si alguna de las herramientas muestra una X de color rojo significa que MPLAB IDE
no sabe donde encontrarla.

Revise que la direccin asignada en Location sea la correcta o busque la direccin


correcta con el botn Browse. La direccin correcta para cada herramienta esta ubicada en
C:\Archivos de programa\Microchip\MPASM Suite\

CREANDO UN ARCHIVO FUENTE.


Escoja ahora la opcin New en el Men File y se desplegar la ventana donde podr
editar el archivo fuente.

Aparecer la ventana de edicin de texto. Escriba en ella el cdigo fuente siguiendo


las normas de escritura.

Normas de escritura del programa fuente:


En cada lnea puede haber hasta 4 tipos de informacin: etiquetas, mnemnicos,
operandos y comentarios.

9 Las etiquetas:

Deben comenzar por una letra o por _ , y pueden tener caracteres


alfanumricos, _ , y ? . Se escriben en la columna 1 (borde
izquierdo de la pgina).
Mnemnicos:
Los mnemnicos de las instrucciones de ensamblador, las directivas y
las llamadas a macros deben comenzar, al menos, en la columna 2 (1
espacio despus del borde izquierdo), aunque normalmente se usa la
tecla TAB.
Si en la misma lnea hay una etiqueta, deben estar separados por uno o
ms espacios (o TAB)

9 Operandos:

Los operandos van despus de los mnemnicos y deben separarse de


stos uno o ms espacios (o TAB).
Los operandos que vienen en listas deben separarse por ,

9 Comentarios:

Los comentarios comienzan con ; y se escriben en cualquier


columna.
Todo lo que vaya despus del ; se considera comentario.

EJEMPLO:
El siguiente ejemplo le permitir seguir las indicaciones que se describen en esta
gua para ensamblar y simular sus proyectos. Cpielo con detalle. Cualquier error en la
trascripcin impedir la obtencin del archivo hex.
;**********************************************************************
;************ Sumador de dos nmeros Hexadecimales ***************

;**********************************************************************
list p=16F877
; Archivo tipo Include, que contiene los nombres simblicos
; de los registros propios del PIC utilizado.
#include <p16f877.inc>
; Definiciones particulares
NUM1 EQU

0x20

ORG

0x00

ORG

0X05

GOTO

INICIO

;Variable auxiliar para separar uno


;de los nmeros de entrada

INICIO

; Configuraciones de los registros


BSF

STATUS,RP0

;Se escoge el banco 1

MOVLW

b'11000000' ;Programacin del Puerto A

;para configurar

MOVWF

TRISA

;Todos salidas

MOVWF

TRISB

;Todos entradas

MOVLW

MOVLW

0xFF

0X06

;Programacin del Puerto B

;Deshabilita el Conversor

MOVWF

ADCON1

BCF

STATUS,RP0

BCF

INTCON,GIE

;Analgico Digital del PuertoA


;Se escoge el banco 0

;para operar

;Deshabilitacin de las Interrupciones

; Programa Principal
Ciclo

MOVF

PORTB,0

MOVWF

NUM1

MOVF

PORTB,0

ANDLW

SWAPF

ANDLW

ADDWF

MOVWF

GOTO
END

0xF0

;Lee Puerto B para llevar los dos nmeros a W


;Mscara para aislar un nmero

NUM1,1

;El nmero queda en la posicin baja del byte

0x0F

;Mscara para aislar el otro nmero

NUM1,0

PORTA
Ciclo

;Los dos nmeros a W


;W:=W+NUM1

;Cinco bits de salida en Porta

Note que al transcribir el cdigo fuente las letras son todas de color negro. Esto
indica que an no tiene formato de cdigo assembler (.asm). Guarde el archivo creado
escogiendo la opcin Save As en el men File.

Asigne el nombre suma.asm. Para eso hay que tener cuidado con el formato y en la
ventana "Tipo" debe estar seleccionada la opcin: Assembly Source Files.
Seleccione el directorio donde guardarlo, teniendo en cuenta que la direccin del archivo
almacenado no debe exceder los 62 caracteres y el archivo debe tener la extensin .asm.

Una vez guardado con la extensin .asm, el programa le asigna un color distinto a
cada elemento. Por defecto, las instrucciones son de color azul y resaltadas en negritas, los
comentarios son verdes, las etiquetas son rojas; y as, a cada elemento se le detecta
rpidamente por su formato y color. Estos pueden ser ajustados por el usuario.
AGREGANDO EL(LOS) ARCHIVO(S) AL PROYECTO.
Hasta los momentos no se ha relacionado ningn archivo. Al hacer clic con el botn
derecho del ratn sobre la opcin Source Files y seleccionar Add Files aparece la ventana
de seleccin. Haga clic sobre el archivo o archivos .asm que desea aadir (en este caso slo
es el archivo Suma.asm).

Aparecer en la ventana de informacin de proyecto el nombre o las nombres de los


archivos asociados al l. En este caso ser slo el archivo Suma.asm.

Los archivos tambin se pueden borrar seleccionndolos y utilizando el botn derecho


del ratn.
Para editar el archivo suma.asm seleccinelo y haga doble clic con el ratn use el
botn derecho y la opcin Editar.

CONSTRUYENDO (ENSAMBLANDO) EL PROYECTO.


Una vez que el proyecto est creado y los archivos relacionados, se debe ensamblar.
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.
En la ventana Output se observarn los detalles del ensamblaje. Si no hay errores se
observar una ventana como la siguiente:

Fjese en la ltima lnea. BUILD SUCCEEDED significa que la construccin fue


exitosa. No ocurrieron errores de sintaxis. Significa que se gener el archivo Suma.hex.
Si ocurrieron errores de sintaxis aparecer en la ventana Output la informacin:

En la ltima lnea se puede leer: BUILD FAILED, es decir, el ensamblador


MPASMWIN no ha sido capaz de generar el archivo .hex.
Adems, en la pantalla "output" tambin se encuentran disponibles 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.
Los Mensajes (Message): No impiden la obtencin de cdigo mquina y aaden
informacin adicional. Por ejemplo:

Message [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 que se
ha realizado una operacin fuera de ese banco y
recomienda asegurar verificar si eso es lo que se
quiere hacer.
Las Advertencias (Warnings): No impiden la obtencin del .hex, pero advierten de algo
que al ensamblador le parece extrao. Por ejemplo:
Warning[205]: Found directive in column 1. El
mnemnico de una directiva comienza en la

columna 1, que es el lugar reservado para las


etiquetas.

Los Errores (Errors): Si impiden la generacin del .hex. En la lnea de error se


puede observar tanto el tipo de error como el nmero de lnea donde ste se encuentra. Al
hacer doble clic con el ratn sobre la lnea de error, en el programa se sealar la lnea para
su posterior correccin. Por ejemplo:
Error[122]: Ilegal opcode. Hay un error en la
sintaxis de la instruccin..

CADA VEZ QUE SE CORRIJA O MODIFIQUE EL PROGRAMA STE


SE DEBE VOLVER A ENSAMBLAR (CONSTRUIR).

Sensibilidad ante maysculas y minsculas.


El ensamblador MPASM es sensible ante cambios de maysculas a minsculas o
viceversa, en los nombres de las etiquetas.
Si una etiqueta se declar como INICIO, cada vez que se haga referencia a ella se
debe escribir igual; si se escribe por ejemplo Inicio, o IniCIo, se producir un error ya
que hay variacin respecto a la declarada.
El MPASM indicar que no conoce el smbolo ya que no fue definido
previamente (Error 113).
Para deshabilitar esta sensibilidad entre maysculas y minsculas
Project>Build Options>Project

active en

En la ventana de Opciones de Proyecto seleccione la pestaa MPASM Assembler y


marque la opcin Disable case Sensitivity

SIMULANDO EL PROYECTO.
La correcta simulacin de un proyecto depende de las caractersticas particulares del
programa utilizado. A continuacin se describen las herramientas y procedimientos
utilizados en la mayora de los casos.
Desde el men principal seleccione: Debugger>Select Tool>MPLAB SIM

A continuacin se activar la barra de simulacin. La siguiente tabla muestra la


forma y funcin de cada icono o botn de sta barra.
BOTN

NOMBRE

Run

Halt
Animate
Step Into
Step
Over
Step Out

Reset

FUNCIN

Ejecuta el programa hasta que consiga un punto de quiebre


(Breakpoint) o hasta que se detenga el programa (Halt). Los
cambios en los registros se observaran slo cuando se
detenga la ejecucin del programa.
Detiene la ejecucin del programa.
Ejecuta el programa de forma animada. Se pueden observar
los cambios en los registros a medida que estos ocurren.
Ejecuta paso a paso el programa entrando a las Subrutinas.
Ejecuta paso a paso el programa principal. En una
instruccin CALL, ejecuta el llamado a subrutina, retorna y
se detiene en la direccin siguiente a la llamada. Luego de
este retorno, se puede continuar la ejecucin paso a paso.
Se sale de una subrutina sin finalizar su ejecucin, y regresa
a la lnea siguiente de la instruccin CALL de donde parti.
Lleva al PC (Program Counter) a la direccin 00h (Vector de
Reset) y restablece las acciones y opciones a sus valores
iniciales, dependiendo de la herramienta y dispositivo
seleccionado. El tipo de reset puede ser por Watchdog,
Brown out, procesador, MCLR.

ATAJO

F9
F5

F7

F8

F6

Adicionalmente, en el men desplegable Debugger aparecern las opciones de


simulacin que antes no aparecan.

Los resultados de cualquier accin simulada se vern reflejados en ventanas


especficas; por eso, antes de iniciar es necesario cerrar la ventana con los mensajes de la
compilacin y abrir las ventanas que se vayan a necesitar (Program Memory, File Register,
Special Function Register, Watch, entre otras). La forma de activarlas es buscando cada una
en el men View.
Es conveniente aprovechar el espacio que brinda el monitor de la computadora del
mejor modo posible, de modo que las ventanas abiertas no se solapen. Utilice la opcin Tile
Vertically Tile Horizontally del men Window para organizar el contenido de la pantalla
antes de iniciar la simulacin.

COMENZANDO LA SIMULACIN.
Para comenzar la simulacin, la accin inicial a efectuar es un Reset, ya que esto
simula lo que sucede cuando se energiza el PIC. El Program Counter es cargado con la
direccin del Reset Vector (00h), lo que justifica que el origen de la mayora de los
programas sea justamente esta posicin en la memoria de programa.

A continuacin presione varias veces el botn Step, Step Into o Step Over y observe
que ocurre a los registros. Fjese que al activar alguno de stos por segunda vez, el
programa ejecuta la instruccin (BSF STATUS, RP0) y la flecha verde apunta a la prxima
instruccin. En la ventana del Watch, as como en las otras ventanas, se observa en rojo los
registros que se modificaron al ejecutarse la instruccin. El registro status cambi de 0x18
a 0x38 (Esto porque cambi de 0 a 1 el bit 5, para efectuar el salto al banco 1) y el registro
PCL cambi de 5 a 6 esta es la direccin de la siguiente instruccin que se ejecutar.

CAMBIANDO VALORES A LOS REGISTROS.


Se ilustrar la manera de modificar el valor de los registros, lo cual es til cuando el
flujo del programa depende de la ocurrencia de eventos especficos que tardaran mucho si
se sigue una simulacin paso a paso, como por ejemplo la ejecucin de ciclos de retardo de
tiempo.

Para cambiar el valor de un registro simplemente haga doble clic en l y asigne el


nuevo valor. Este cambio lo aceptar slo si el registro no est asignado como entrada.
Intente cambiar el valor del registro PORTA y PORTB. Observe lo que ocurre.
Ahora necesitaremos simular entradas externas para asignar un valor de entrada en
el registro PORTB.

SIMULANDO ENTRADAS EXTERNAS


Dentro del men Debugger seleccione la opcin Stimulus y New Workbook.

Aparecer la ventana de configuracin del Stimulus, que permite determinar el tipo


de entrada a simular.

Seleccione la opcin Async, para simular entradas asncronas. En la columna


Pin/SFR seleccione el pin RB7.

A continuacin seleccione Toggle en la columna Action para definir el tipo de


accin que ejecutar el pin RB7 cada vez que se presione el botn Fire correspondiente.

Repita el procedimiento en las filas siguientes hasta que le haya adjudicado, como Toggle,
el pin RB3.

Al finalizar, haga clic con el ratn sobre el botn Apply posteriormente almacene en
un archivo seleccionando Save.
Si presiona con el botn derecho del ratn sobre el botn Fire (>) correspondiente a
uno de los estmulos definidos, no observar el resultado hasta que haya avanzado un paso
(step) en la ejecucin del programa. Slo se procesar la accin de una entrada simulada
por vez. Si presiona dos veces consecutivas sobre el mismo estmulo o se presiona en uno
despus del otro, se tomar el valor del ltimo que se presion.

ACTIVIDAD:

9 Resetee el sistema.
9 Corra paso a paso el programa nuevamente y a medida que lo va corriendo, haga clic
sobre los botones FIRE del Stimulus para asignar un valor al registro PORTB. Recuerde
que solo procesar una accin de la entrada simulada a la vez.
9 Avance a la instruccin previa la etiqueta Ciclo.
9 Observe y analice lo que ocurre en las ventanas adjuntas, cada vez que presiona el
botn. Step.

9 PREPARE UNA EXPLICACIN DE ESTO. CUANDO CREA QUE LA TIENE,


COMUNQUELA AL PROFESOR.

DETERMINANDO TIEMPOS DE EJECUCIN.

A continuacin ver como contar ciclos de reloj y determinar el tiempo de ejecucin


de un programa o de secciones dentro del mismo.
En el men Debugger seleccione la opcin Stopwatch. Aparecer el recuadro que
observa en la siguiente figura.

Resetee el programa. En el Stopwatch presione el botn Zero y avance 3


instrucciones en el curso del programa. Observe lo que ocurre.
Prosiga esta actividad hasta que alcance la instruccin GOTO Ciclo. Avance un
paso ms. Explique lo que observa a su profesor.

También podría gustarte