MPLAB es un editor IDE gratuito, destinado a productos de la marca Microchip. Este editor es modular, permite seleccionar los distintos microcontroladores soportados, además de permitir la grabación de estos circuitos integrados directamente al programador.
Es un programa que corre bajo Windows, Mac OS y Linux. Presenta las clásicas barras de programa, de menú, de herramientas de estado, etc. El ambiente MPLAB® posee editor de texto, compilador y simulación (no en tiempo real). Para comenzar un programa desde cero para luego grabarlo al μC en MPLAB® v7.XX los pasos a seguir son:
Crear un nuevo archivo con extensión .ASM y nombre cualquiera Crear un Proyecto nuevo eligiendo un nombre y ubicación Agregar el archivo .ASM como un SOURCE FILE Elegir el microcontrolador a utilizar desde SELECT DEVICE del menú CONFIGURE
Una vez realizado esto, se está en condiciones de empezar a escribir el programa respetando las directivas necesarias y la sintaxis para luego compilarlo y grabarlo en el PIC.
Directivas
Las directivas son palabras reservadas para indicarle al MPLAB® qué funciones debe configurar cuando compile el programa. Las indispensables para la correcta compilación del programa son:
Directiva Descripción</span></b> Sintaxis CBLOCK Defina un Bloque de Constantes. cblock [<expr>] #DEFINE Defina una Etiqueta de Substitución de Texto define <name> [<value>]define <name> [<arg>,...,<arg>] <value> DT Defina Tabla [<label>] dt <expr>[,<expr>,...,<expr>][<label>] dt “<text_string>”[,”<text_string>”,...] ELSE Empieza el bloque alternativo de un IF Else END Fin de bloque de programa End ENDIF Fin del bloque de condiciones ensambladas Endif ENDM Fin de la definición de una Macro Endm ENDW Fin de un bucle de While Endw EQU Define una constante para el ensamblador <label> equ <expr> IF Empieza un bloque de código condicional if <expr> #INCLUDE Incluye Ficheros fuentes adicionales include <<include_file>> |“<include_file>” LIST Opciones listado list [<list_option>,...,<list_option>] MACRO Declara la Definición del Macro <label> macro [<arg>,...,<arg>] ORG Pone el Origen del Programa <label> org <expr> WHILE Realiza el bucle Mientras la Condición es Verdadera while <expr>
Compilación del Programa y carga al PIC
thumb|Programador Picstart Plus de Microchip. Una vez escrito y depurado el programa, se procede a la compilación. Para esto, desde el menú PROJECT se elige la opción BUILD ALL (construir todo) que, si no existen errores, devolverá un mensaje como BUILD SUCCESFULL. Los errores que muestra el compilador son del tipo sintácticos, es decir que si el programa "construido" llegara a tener un error, por ejemplo que esperase a que se ponga un bit en “0” y nunca pasase, se estará en un bucle infinito a pesar de que el compilador compilará perfectamente porque no hay error de sintaxis.
También existen mensajes y advertencias; los mensajes pueden ser, por ejemplo, que se está trabajando en un banco de memoria que no es el bank 0, etc. Las advertencias tienen un poco más de peso, por ejemplo: el PIC seleccionado no es el mismo que está definido en el programa, etc. En ambos casos, mensajes y advertencias, la compilación termina satisfactoriamente pero hay que tener en cuenta siempre lo que nos dicen estos para prevenir errores.
Terminada la compilación el MPLAB® nos genera un archivo de extensión .hex el cual es completamente entendible para el PIC. Es decir, solo resta grabarlo al PIC por medio de una interfaz como por ejemplo el programador Picstart Plus de microchip. Una vez completado esto, se alimenta al mismo y el programa ya se estará ejecutando.
Véase también
PIC16F84 PIC16F87X Picstart Plus Ejemplo: LIST P = 16F84A; El pic que utilizamos. INCLUDE <p16f84a.inc>;
cblock 0x20; Dividendo Divisor Cociente Resto Temp; // Dividendo .. para el cociente Temp1; // Para guardar las sumas parciales, en el resto.
endc;
ORG 0 ; Inicio movlw .13; movwf Dividendo; movlw .4; movwf Divisor; call pcCociente; call pcResiduo; goto $
pcCociente ; Haciendo restas susesivas hallamos el cociente clrf Cociente; movf Dividendo,0; movwf Temp; movf Divisor,0; bucle subwf Temp,1; btfss STATUS,C; goto Menor incf Cociente,1; goto bucle Menor return
pcResiduo ; Multiplicando el divisor con el cociente , R = D - d*q clrf Resto; clrf Temp1; movf Cociente,0; movwf Temp; incf Temp,1; movf Divisor,0; bucle1 decfsz Temp,1; goto tried; movf Temp1,0; subwf Dividendo,0 movwf Resto; return
tried addwf Temp1,1; goto bucle1 end
Enlaces externos Microchip
Categoría:Entornos de desarrollo integrados para Windows Categoría:Microcontroladores