INTRODUCCIÓN AL USO DEL MPLAB v 8.

00

MPLAB es un ambiente de desarrollo integrado (IDE, por sus siglas en inglés) creado por Microchip Technology para dar soporte a la realización de proyectos basados en microcontroladores PIC. Incluye varios módulos que permiten llevar a cabo las distintas etapas de un proyecto: Edición, Ensamblaje, Simulación y Programación. En el Laboratorio, cada equipo de trabajo cubrirá todas las etapas con la versión 8,0 de MPLAB, exceptuando la Programación, que se ejecutará mediante un software diferente y será responsabilidad del profesor o de un asistente. A continuación se describe la secuencia de acciones básicas para completar las etapas mencionadas: Desde el escritorio acceda al programa a través 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 código hexadecimal (.hex) que la interfaz de programación 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 código 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 selección:

Se activará la información referida a los programadores que soportan al dispositivo seleccionado.asm que se va a crear debe ser relacionado a un proyecto para su ensamblaje. para activar el asistente de proyectos. Se recomienda que sea la misma carpeta donde creará el archivo . en la ventana Device se selecciona el dispositivo a utilizar.hex y simulación.En esta pantalla. Para crear el proyecto desde el menú principal seleccione Proyect> New proyect (o seleccione Proyect>Proyect Wizard. detección de errores de sintaxis. el cual lo guiará paso a paso). Las opciones en color verde indican que si lo soporta y ya han sido probados. . CREANDO EL PROYECTO. El archivo .asm. obtención del . Asigne un nombre al proyecto (sin extensión) y en Project Directory escriba la dirección donde desea crear el proyecto. así como los lenguajes y depuradores. las amarillas indican que aún no ha sido probado para este dispositivo y las rojas indican que no lo soportan. La ventana de la derecha denominada Device Family permite agruparlos por familia para realizar una selección más rápida.

. SELECCIONANDO LAS HERRAMIENTAS DE LENGUAJE (TOOLSUITE). Para Seleccionar el conjunto de herramientas seleccione Project>Select Lenguaje Toolsuite.Seleccione View>Proyect y aparecerá la ventana de información del proyecto.

En el menú Active Toolsuite Seleccione Microchip MPASM Toolsuite. Estas deben ser MPASMWIN. Observe las herramientas de lenguaje asociadas con la Toolsuite seleccionada. 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 dirección asignada en Location sea la correcta o busque la dirección correcta con el botón Browse. La dirección correcta para cada herramienta esta ubicada en C:\Archivos de programa\Microchip\MPASM Suite\ .

mnemónicos. aunque normalmente se usa la tecla “TAB”. “ _ ”.CREANDO UN ARCHIVO FUENTE. 9 Las etiquetas: Deben comenzar por una letra o por “ _ ”. operandos y comentarios. Aparecerá la ventana de edición de texto. ƒ Si en la misma línea hay una etiqueta. Mnemónicos: ƒ Los mnemónicos de las instrucciones de ensamblador. Escoja ahora la opción New en el Menú File y se desplegará la ventana donde podrá editar el archivo fuente. Normas de escritura del programa fuente: En cada línea puede haber hasta 4 tipos de información: etiquetas. Escriba en ella el código fuente siguiendo las normas de escritura. deben estar separados por uno o más espacios (o “TAB”) ƒ 9 . Se escriben en la columna 1 (borde izquierdo de la página). en la columna 2 (1 espacio después del borde izquierdo). al menos. y “ ? ”. y pueden tener caracteres alfanuméricos. las directivas y las llamadas a macros deben comenzar.

“ 9 Comentarios: ƒ ƒ Los comentarios comienzan con “ . de los registros propios del PIC utilizado. Los operandos que vienen en listas deben separarse por “ .Se escoge el banco 1 MOVWF MOVLW TRISA TRISB 0X06 0xFF b'11000000' .Todos salidas .************ Sumador de dos números Hexadecimales *************** . Configuraciones de los registros BSF MOVLW STATUS.RP0 . que contiene los nombres simbólicos .de los números de entrada ORG GOTO ORG 0x00 INICIO 0X05 INICIO .Deshabilita el Conversor .********************************************************************** list p=16F877 . Definiciones particulares NUM1 EQU 0x20 .9 Operandos: ƒ ƒ Los operandos van después de los mnemónicos y deben separarse de éstos uno o más espacios (o “TAB”). #include <p16f877. EJEMPLO: El siguiente ejemplo le permitirá seguir las indicaciones que se describen en esta guía para ensamblar y simular sus proyectos.Variable auxiliar para separar uno . Cópielo con detalle. ” y se escriben en cualquier columna.inc> . Todo lo que vaya después del “ . Cualquier error en la trascripción impedirá la obtención del archivo hex.Programación del Puerto A . . Archivo tipo Include.********************************************************************** . “ se considera comentario.Programación del Puerto B .para configurar MOVLW MOVWF .Todos entradas .

Lee Puerto B para llevar los dos números a W . Esto indica que aún no tiene formato de código assembler (.Deshabilitación de las Interrupciones ANDLW PORTB.MOVWF BCF BCF .1 0x0F ANDLW PORTB. . Para eso hay que tener cuidado con el formato y en la ventana "Tipo" debe estar seleccionada la opción: Assembly Source Files. teniendo en cuenta que la dirección del archivo almacenado no debe exceder los 62 caracteres y el archivo debe tener la extensión .0 NUM1.El número queda en la posición baja del byte .0 .asm.Máscara para aislar el otro número GOTO END MOVWF ADDWF PORTA Ciclo . Guarde el archivo creado escogiendo la opción Save As en el menú File. Programa Principal Ciclo MOVF STATUS.Los dos números a W .para operar .0 0xF0 NUM1 .W:=W+NUM1 . Seleccione el directorio donde guardarlo.GIE ADCON1 .asm).Máscara para aislar un número MOVWF SWAPF MOVF NUM1. Asigne el nombre suma.Se escoge el banco 0 .RP0 INTCON.Cinco bits de salida en Porta Note que al transcribir el código fuente las letras son todas de color negro.Analógico Digital del PuertoA .asm.

asm). Haga clic sobre el archivo o archivos . AGREGANDO EL(LOS) ARCHIVO(S) AL PROYECTO. a cada elemento se le detecta rápidamente por su formato y color. En este caso será sólo el archivo Suma. Hasta los momentos no se ha relacionado ningún archivo.asm que desea añadir (en este caso sólo es el archivo Suma.Una vez guardado con la extensión . y así. Aparecerá en la ventana de información de proyecto el nombre o las nombres de los archivos asociados al él. el programa le asigna un color distinto a cada elemento. Al hacer clic con el botón derecho del ratón sobre la opción Source Files y seleccionar Add Files aparece la ventana de selección. Por defecto. los comentarios son verdes. las etiquetas son rojas. las instrucciones son de color azul y resaltadas en negritas.asm. .asm. Estos pueden ser ajustados por el usuario.

Para editar el archivo suma. Si no hay errores se observará una ventana como la siguiente: . Para eso el entorno MPLAB utiliza el programa MPASMWIN.asm selecciónelo y haga doble clic con el ratón ó use el botón derecho y la opción Editar. El procedimiento a seguir es el siguiente: Project > Build All.Los archivos también se pueden borrar seleccionándolos y utilizando el botón derecho del ratón. Una vez que el proyecto está creado y los archivos relacionados. CONSTRUYENDO (ENSAMBLANDO) EL PROYECTO. También puede utilizarse el icono correspondiente de la barra de herramientas. se debe ensamblar. En la ventana Output se observarán los detalles del ensamblaje.

mientras que los otros dos tipos no impiden el ensamblado del programa fuente. El PIC trabaja por defecto en el banco 0 de la memoria de datos. El mnemónico de una directiva comienza en la . Los Mensajes (Message): No impiden la obtención de código máquina y añaden información adicional. es decir. el más importante porque impide la generación del fichero hexadecimal son los "Errors". Este mensaje advierte que se ha realizado una operación fuera de ese banco y recomienda asegurar verificar si eso es lo que se quiere hacer. Por ejemplo: Warning[205]: Found directive in column 1. Por ejemplo: Message [302]: Register in operand not in bank 0.hex. en la pantalla "output" también se encuentran disponibles otras informaciones.hex. Si ocurrieron errores de sintaxis aparecerá en la ventana Output la información: En la última línea se puede leer: BUILD FAILED. De estos tres tipos. No ocurrieron errores de sintaxis. BUILD SUCCEEDED significa que la construcción fue exitosa.Fíjese en la última línea. "Warnings" y "Errors". el ensamblador MPASMWIN no ha sido capaz de generar el archivo . Ensure that bank bits are correct".hex. Significa que se generó el archivo Suma. Las Advertencias (Warnings): No impiden la obtención del . como "Messages". Además. pero advierten de algo que al ensamblador le parece extraño.

hex.. Sensibilidad ante mayúsculas y minúsculas. Al hacer doble clic con el ratón sobre la línea de error. que es el lugar reservado para las etiquetas. En la línea de error se puede observar tanto el tipo de error como el número de línea donde éste se encuentra. Para deshabilitar esta sensibilidad entre mayúsculas y minúsculas Project>Build Options>Project active en . Hay un error en la sintaxis de la instrucción. se producirá un error ya que hay variación respecto a la declarada.columna 1. en el programa se señalará la línea para su posterior corrección. El ensamblador MPASM es sensible ante cambios de mayúsculas a minúsculas o viceversa. si se escribe por ejemplo “Inicio”. CADA VEZ QUE SE CORRIJA O MODIFIQUE EL PROGRAMA ÉSTE SE DEBE VOLVER A ENSAMBLAR (CONSTRUIR). o “IniCIo”. Por ejemplo: Error[122]: Ilegal opcode. Si una etiqueta se declaró como “INICIO”. El MPASM indicará que no conoce el “símbolo” ya que no fue definido previamente (Error 113). en los nombres de las etiquetas. Los Errores (Errors): Si impiden la generación del . cada vez que se haga referencia a ella se debe escribir igual.

En la ventana de Opciones de Proyecto seleccione la pestaña MPASM Assembler y marque la opción Disable case Sensitivity .

ejecuta el llamado a subrutina. . BOTÓN NOMBRE FUNCIÓN 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).SIMULANDO EL PROYECTO. MCLR. Desde el menú principal seleccione: Debugger>Select Tool>MPLAB SIM A continuación se activará la barra de simulación. F9 F5 F7 F8 Reset F6 Adicionalmente. Ejecuta paso a paso el programa principal. Se pueden observar los cambios en los registros a medida que estos ocurren. En una instrucción CALL. El tipo de reset puede ser por Watchdog. Detiene la ejecución del programa. La siguiente tabla muestra la forma y función de cada icono o botón de ésta barra. Luego de este retorno. Se sale de una subrutina sin finalizar su ejecución. Brown out. en el menú desplegable Debugger aparecerán las opciones de simulación que antes no aparecían. procesador. Ejecuta paso a paso el programa entrando a las Subrutinas. Lleva al PC (Program Counter) a la dirección 00h (Vector de Reset) y restablece las acciones y opciones a sus valores iniciales. se puede continuar la ejecución paso a paso. La correcta simulación de un proyecto depende de las características particulares del programa utilizado. dependiendo de la herramienta y dispositivo seleccionado. Ejecuta el programa de forma animada. retorna y se detiene en la dirección siguiente a la llamada. y regresa a la línea siguiente de la instrucción CALL de donde partió. A continuación se describen las herramientas y procedimientos utilizados en la mayoría de los casos. Los cambios en los registros se observaran sólo cuando se detenga la ejecución del programa.

Es conveniente aprovechar el espacio que brinda el monitor de la computadora del mejor modo posible. La forma de activarlas es buscando cada una en el menú View. .Los resultados de cualquier acción simulada se verán reflejados en ventanas específicas. de modo que las ventanas abiertas no se solapen. por eso. Utilice la opción Tile Vertically ó Tile Horizontally del menú Window para organizar el contenido de la pantalla antes de iniciar la simulación. File Register. antes de iniciar es necesario cerrar la ventana con los mensajes de la compilación y abrir las ventanas que se vayan a necesitar (Program Memory. Special Function Register. entre otras). Watch.

. lo cual es útil cuando el flujo del programa depende de la ocurrencia de eventos específicos que tardarían mucho si se sigue una simulación paso a paso. para efectuar el salto al banco 1) y el registro PCL cambió de 5 a 6 esta es la dirección de la siguiente instrucción que se ejecutará. ya que esto simula lo que sucede cuando se energiza el PIC. Step Into o Step Over y observe que ocurre a los registros. se observa en rojo los registros que se modificaron al ejecutarse la instrucción. Para comenzar la simulación. El Program Counter es cargado con la dirección del Reset Vector (00h). RP0) y la flecha verde apunta a la próxima instrucción. el programa ejecuta la instrucción (BSF STATUS. CAMBIANDO VALORES A LOS REGISTROS. la acción inicial a efectuar es un Reset.COMENZANDO LA SIMULACIÓN. En la ventana del Watch. El registro status cambió de 0x18 a 0x38 (Esto porque cambió de 0 a 1 el bit 5. Fíjese que al activar alguno de éstos por segunda vez. A continuación presione varias veces el botón Step. como por ejemplo la ejecución de ciclos de retardo de tiempo. así como en las otras ventanas. Se ilustrará la manera de modificar el valor de los registros. lo que justifica que el origen de la mayoría de los programas sea justamente esta posición en la memoria de programa.

. Ahora necesitaremos simular entradas externas para asignar un valor de entrada en el registro PORTB. Intente cambiar el valor del registro PORTA y PORTB. SIMULANDO ENTRADAS EXTERNAS Dentro del menú Debugger seleccione la opción Stimulus y New Workbook. Observe lo que ocurre.Para cambiar el valor de un registro simplemente haga doble clic en él y asigne el nuevo valor. que permite determinar el tipo de entrada a simular. Aparecerá la ventana de configuración del Stimulus. Este cambio lo aceptará sólo si el registro no está asignado como entrada.

para simular entradas asíncronas. En la columna Pin/SFR seleccione el pin RB7. A continuación seleccione Toggle en la columna Action para definir el tipo de acción que ejecutará el pin RB7 cada vez que se presione el botón Fire correspondiente. .Seleccione la opción Async.

como Toggle. haga clic con el ratón sobre el botón Apply posteriormente almacene en un archivo seleccionando Save. Sólo se procesará la acción de una entrada simulada por vez. se tomará el valor del último que se presionó. ACTIVIDAD: 9 Resetee el sistema. Step. no observará el resultado hasta que haya avanzado un paso (step) en la ejecución del programa. 9 Avance a la instrucción previa la etiqueta Ciclo. 9 Corra paso a paso el programa nuevamente y a medida que lo va corriendo. 9 PREPARE UNA EXPLICACIÓN DE ESTO. .Repita el procedimiento en las filas siguientes hasta que le haya adjudicado. COMUNÍQUELA AL PROFESOR. Si presiona con el botón derecho del ratón sobre el botón Fire (>) correspondiente a uno de los estímulos definidos. Si presiona dos veces consecutivas sobre el mismo estímulo o se presiona en uno después del otro. CUANDO CREA QUE LA TIENE. cada vez que presiona el botón. haga clic sobre los botones FIRE del Stimulus para asignar un valor al registro PORTB. Al finalizar. 9 Observe y analice lo que ocurre en las ventanas adjuntas. Recuerde que solo procesará una acción de la entrada simulada a la vez. el pin RB3.

Explique lo que observa a su profesor. . Avance un paso más. Aparecerá el recuadro que observa en la siguiente figura. En el menú Debugger seleccione la opción Stopwatch. A continuación verá como contar ciclos de reloj y determinar el tiempo de ejecución de un programa o de secciones dentro del mismo. Observe lo que ocurre. Prosiga esta actividad hasta que alcance la instrucción GOTO Ciclo. Resetee el programa.DETERMINANDO TIEMPOS DE EJECUCIÓN. En el Stopwatch presione el botón Zero y avance 3 instrucciones en el curso del programa.

Sign up to vote on this title
UsefulNot useful