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. Seleccionar el dispositivo.
2. Crear el proyecto.
3. Seleccionar las herramientas de lenguaje (Toolsuite).
4. Crear el cdigo fuente (.asm)
5. Agregar los archivos al proyecto.
6. 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.

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)


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 ,

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 ;Variable auxiliar para separar uno
;de los nmeros de entrada
ORG 0x00
GOTO INICIO
ORG 0X05
INICIO
; Configuraciones de los registros

BSF STATUS,RP0 ;Se escoge el banco 1
;para configurar
MOVLW b'11000000' ;Programacin del Puerto A
MOVWF TRISA ;Todos salidas
MOVLW 0xFF ;Programacin del Puerto B
MOVWF TRISB ;Todos entradas
MOVLW 0X06 ;Deshabilita el Conversor

MOVWF ADCON1 ;Analgico Digital del PuertoA
BCF STATUS,RP0 ;Se escoge el banco 0
;para operar
BCF INTCON,GIE ;Deshabilitacin de las Interrupciones

; Programa Principal

Ciclo MOVF PORTB,0 ;Lee Puerto B para llevar los dos nmeros a W
ANDLW 0xF0 ;Mscara para aislar un nmero
MOVWF NUM1
SWAPF NUM1,1 ;El nmero queda en la posicin baja del byte
MOVF PORTB,0 ;Los dos nmeros a W
ANDLW 0x0F ;Mscara para aislar el otro nmero
ADDWF NUM1,0 ;W:=W+NUM1
MOVWF PORTA ;Cinco bits de salida en Porta
GOTO Ciclo
END

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 active en
Project>Build Options>Project




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 FUNCIN

ATAJO

Run
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.

F9

Halt
Detiene la ejecucin del programa. F5



Animate
Ejecuta el programa de forma animada. Se pueden observar
los cambios en los registros a medida que estos ocurren.



Step Into
Ejecuta paso a paso el programa entrando a las Subrutinas.
F7

Step
Over
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.
F8


Step Out
Se sale de una subrutina sin finalizar su ejecucin, y regresa
a la lnea siguiente de la instruccin CALL de donde parti.


Reset
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.
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
Es conveniente aprovechar el espacio que brinda el monitor de la computadora del
ejor m


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.


m odo 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
A continuacin presione varias veces el botn Step, Step Into o Step Over y observe

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.



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:

Resetee el sistema.
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.
Avance a la instruccin previa la etiqueta Ciclo.
Observe y analice lo que ocurre en las ventanas adjuntas, cada vez que presiona el
botn. Step.

PREPARE UNA EXPLICACIN DE ESTO. CUANDO CREA QUE LA TIENE,
COMUNQUELA AL PROFESOR.




DETERMINANDO TIEMPOS DE EJ ECUCIN.


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