You are on page 1of 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.

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

GOTO ORG

0x00

INICIO

0X05

INICIO

; Configuraciones de los registros BSF MOVLW STATUS,RP0 ;Se escoge el banco 1

MOVWF MOVLW

TRISA TRISB 0X06 0xFF

b'11000000' ;Programacin del Puerto A ;Todos salidas ;Programacin del Puerto B

;para configurar

MOVLW

MOVWF

;Todos entradas

;Deshabilita el Conversor

MOVWF BCF BCF ; Programa Principal Ciclo MOVF

STATUS,RP0 INTCON,GIE

ADCON1

;Analgico Digital del PuertoA ;para operar ;Se escoge el banco 0

;Deshabilitacin de las Interrupciones

ANDLW

PORTB,0 0xF0 NUM1

;Lee Puerto B para llevar los dos nmeros a W ;Mscara para aislar un nmero

MOVWF SWAPF MOVF

NUM1,1 0x0F

ANDLW

PORTB,0 NUM1,0

;El nmero queda en la posicin baja del byte ;Los dos nmeros a W ;W:=W+NUM1 ;Mscara para aislar el otro nmero

GOTO END

MOVWF

ADDWF

PORTA Ciclo

;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 FUNCIN

ATAJO

Run

Halt Animate Step Into Step Over Step Out

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.

F9 F5

F7

F8

Reset

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:

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

You might also like