Mplab Paper

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB TITULO: Manejo del Entorno MPLAB Leonardo Flores leoespel2010@hotmail.

Views 319 Downloads 35 File size 541KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB

TITULO: Manejo del Entorno MPLAB Leonardo Flores [email protected]

ABSTRACT: MPLAB es un software que se ejecuta sobre un PC para desarrollar aplicaciones para microcontroladores de MICROCHIP. Resumen: Este documento está dirigido para obtener un conocimiento previo sobre el entorno MPLAB y a futuro poder trabajar o manipular en forma directa este entorno de programación, en el cual haremos una breve introducción explicando de que trata este software para que es utilizado, que es, como funciona, detallando sus instrucciones básicas o las mas utilizadas para su uso, las directivas principales para el manejo de MPLAB, ficheros y archivos que se pueden generar en el entorno, entre otros puntos que nos servirán como punto de partida para la familiarización del entorno con el usuario con el fin de empezar a relacionarnos con el entorno así con sus principales instrucciones o comandos con los cuales podemos desarrollar aplicaciones para microcontroladores, entonces teniendo un punto de referencia se espera que con este documento se despierte el interés y se profundice más en el tema.

PALABRA CLAVE    

Directivas de MPLAB. Entorno MPLAB. Instrucciones de básicas. Software MPLAB.

1. INTRODUCCION ¿Qué es MPLAB?  MPLAB es un software de desarrollo integrado que se ejecuta sobre una PC que sirve para desarrollar aplicaciones para microcontroladores de MICROCHIP.

PARTES DE MPLAB:  



EDITOR: Editor incorporado que permite escribir y editar programas u otros archivos de texto. PROJECT MANAGER: Organiza los distintos archivos relacionados con un programa en un proyecto. Permite crear un proyecto, editar y simular un

MPLAB

Leonardo Flores



programa. Además crea archivos objetos y permite bajar archivos hacia emuladores (MPLAB-ICE) o simuladores de hardware (SIMICE). SIMULADOR: Simulador de eventos discretos que permite simular programas con ilimitados breakpoint, examinar/modificar registros, observar variables, tiempos y simular estímulos externos. ENSAMBLADOR: Genera varios tipos de archivos objetos y relacionados, para programadores Microchip y universales. LINKER: Permite unir varios archivos objetos en uno solo, generados por el ensamblador o compiladores C como MPAB-C18 o compiladores de terceros.

1

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB Los comandos más importantes para la ejecución (localizados dentro del menú Debugger) son los que se indican a continuación.

Run (Ejecución continua). Ejecuta el programa constantemente. La ventana Watch no se actualiza hasta que no se detiene la simulación. Animate (Ejecución animada). Ejecuta el programa de forma continua pero actualizando el contenido de la ventana Watch cada vez que ejecuta una instrucción. Halt (Paro). Detiene la ejecución del programa y actualiza todos los valores de las ventanas de visualización. Step Into (Ejecución paso a paso). Ejecuta una sola instrucción del programa y actualiza la información de las ventanas de visualización. Reset. Equivale a un reset por activación del pin /MCLR. 

Otros modos de simulación son los siguientes.

Step Over. Ejecuta una sola instrucción del programa y actualiza las ventanas de visualización. Cuando la instrucción es una

MPLAB

Leonardo Flores

llamada a una subrutina (call k), se ejecuta toda la subrutina antes de actualizar las ventanas. Step Out. Cuando se está ejecutando una subrutina paso a paso, este modo de simulación obliga a que se ejecuten todas las instrucciones de la subrutina hasta regresar al programa principal, momento en el que se detiene la simulación y se actualizan las ventanas de visualización. Run to cursor. Esta opción da lugar a una ejecución continua desde la última instrucción simulada hasta la posición actual del cursor. Se entra en este modo de simulación mediante el menú que se activa con el botón derecho del ratón. BARRA DE HERRAMIENTAS Los iconos que aparecen en la barra de herramientas (figura 1), son funciones que se encuentran incluidas en el menú de control, pero como en todos los programas de Windows se incluyen par manejar de forma más cómoda el programa y difieren dependiendo la versión del programa.

2

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB Figura 1.- Barra de herramientas de edición

2. DIRECTIVAS

PRINCIPALES

La segunda línea es:

DEL MPLAB Las directivas son palabras reservadas para indicarle al MPLAB que funciones debe configurar cuando compile nuestro programa. Antes que nada escribiremos una plantilla, que es un muy reducido archivo de código que se utilizará frecuentemente. Una plantilla se crea por única vez, y se utiliza como punto de partida al desarrollar posteriores proyectos. Para crear la plantilla haremos lo siguiente: en MPLAB seleccionar File>New. Con esto se abrirá una ventana de edición en blanco y escribiremos lo siguiente: list p=16F84A el procesador

;directiva que define

#include ;definición de variables específicas del procesador __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ORG 0x000 procesador

;vector de reset del

END

;final del programa

La primera línea es: list p=16F84A ;directiva que define el procesador

Esta línea le indica al compilador que el código escrito se aplicará al dispositivo 16F84A de la línea PIC. De esta forma el compilador también sabrá cual es la capacidad de memoria del PIC

MPLAB

Leonardo Flores

#include ;definición de variables específicas ....... Esta línea le indica al compilador que incorpore las definiciones detalladas en el archivo p16F84A.inc. En este archivo se definen configuraciones y nombres de los registros del PIC16F84, así como los nombres de los bits más usuales del micro. En la línea siguiente vemos la siguiente expresión: __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC En esta línea se define la “palabra de configuración” del PIC. La palabra de configuración indica si el código a grabar en el PIC se protegerá contra lectura, si se utilizará el temporizador watch dog, si se habilita el delay de encendido, y que tipo de oscilador se utilizará. Por último vemos dos líneas de código: ORG 0x00

;vector de reset .......

END

;final del programa

Entre estas dos líneas se encontrará el código escrito por el programador. La línea ORG 0x00 le indica al compilador que el código por debajo de ella debe alojarse a partir de la posición de memoria 0 del PIC, que es la primer posición de memoria que el PIC ejecutará. La línea END indica que se ha alcanzado el final del programa, por lo que no debe haber código por debajo de ella. Las indispensables para compilación del programa son:

la

correcta

3

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB Directiva BADRAM BANKISEL

CBLOCK CODE CONFIG CONSTANT

Descripción Especifique las posiciones del RAM inválidas _ Genera el código que selecciona el banco de memoria de memoria RAM para direccionamiento indirecto Genera el código que selecciona el código de memoria RAM Defina un Bloque de Constantes Empieza la sección del código ejecutable Especifica los bits de configuración Declara los Símbolos de las Constantes

DATA DB DE #DEFINE

Crea Datos numéricos y de Texto Declare Datos de un Byte Defina los Datos de EEPROM Defina una Etiqueta de Substitución de Texto

DT DW ELSE END ENDC ENDIF ENDM ENDW EQU ERROR ERRORLEVEL EXITM EXPAND EXTERN FILL GLOBAL IDATA IDLOCS

Defina Tabla Declare Datos de un Word Empieza el bloque alternativo de un IF Fin de bloque de programa Acaba un Bloque Constante Automático Fin del bloque de condiciones ensambladas Fin de la definición de una Macro Fin de un bucle de While Define una constante para el ensamblador Manda un mensaje de error Sitúa el nivel del error Salida de una Macro Expande una lista de Macro Declara una etiqueta externa Llena la memoria Exporta una etiqueta definida Comienza una sección de identificadores (ID) Especifica donde están colocados los Identificadores (ID) Empieza un bloque de código condicional Ejecutar si el símbolo ha sido definido Ejecutar si el símbolo no ha sido definido Incluye Ficheros fuentes adiccionales Opciones listado Declara una Macro Variable como local Declara la Definición del Macro Especifique la dirección del RAM máxima Crea Mensajes definidos por el usuario Termina la Expansión del Macro Termina el Listado del Rendimiento Pone el Origen del Programa Inserta el número de página del listado Genere el código de selección de la página de ROM El Tipo del Procesador fijo Especifique Radix Predefinido Reserve la Memoria Defina Variable de ensamblador Inserta líneas en blanco Especifique el Subtítulo del Programa Especifique el Título del Programa Empieza la sección de datos no inicializados

BANKSEL

IF IFDEF IFNDEF #INCLUDE LIST LOCAL MACRO MAXRAM MESSG NOEXPAND NOLIST ORG PAGE PAGESEL PROCESSOR RADIX RES SET SPACE SUBTITLE TITLE UDATA

MPLAB

Leonardo Flores

Sintaxis _badram bankisel banksel cblock [] [] code [] _ _config constant [=,...,[=] ] [] data ,[,,...,] [] db [,,...,] [] de [,,...,] define [] define [,...,] [] dt [,,...,] [] dw [,,...,] Else End Endc Endif Endm Endw equ error “” errorlevel 0|1|2| Exitm expand extern [ ,] [] fill , global [ ,] [] idata [] _ _idlocs if ifdef ifndef include |“” list [,...,] local [,] macro [,...,] _ _maxram messg “” Noexpand Nolist org Page pagesel processor radix [] res set space subtitle “” title “” [] udata []

4

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB UDATA_OVR

#UNDEFINE VARIABLE

Empieza la sección de datos no inicializados superpuestos Empieza la sección de datos no inicializados compartidos Anula una Etiqueta de la Substitución Declara un símbolo como variable

WHILE

Realiza el bucle Mientras la Condición es Verdadera

UDATA_SHR

[] udata_ovr [] [] udata_shr [] #undefine variable [=,...,[=] ] while

Tabla 1. Directivas principales de MPLAB

3. INTRUCCIONES BASICAS DE MPLAB Las instrucciones de la gama media las encontraremos resumidas en la siguiente tabla identificando a w es el acumulador, f es la frecuencia un registro cualquiera y C, DC, Z los flags del registro status.

MPLAB

Leonardo Flores

La gama media tiene un total de 35 instrucciones y cada una de las cuales ocupan 14 bits. Las 35 instrucciones se encuentran detalladas a continuación en las tablas (2,3,4,5).

5

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB

Tabla 2. Repertorio de instrucciones de la gama media

MPLAB

Leonardo Flores

6

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB

Tabla 3. Repertorio de instrucciones de la gama media

MPLAB

Leonardo Flores

7

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB

Tabla 3. Repertorio de instrucciones de la gama media

MPLAB

Leonardo Flores

8

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB

Tabla 2. Repertorio de instrucciones de la gama media

MPLAB

Leonardo Flores

9

ESCUELA POLITECNICA DEL EJÉRCITO – Entorno MPLAB

simularlos y también nos da opción de realizar correcciones de ser necesario.

CONCLUSIONES 

En definitiva se trata de un sistema o software con un set de comandos para utilizar.



Con la base teórica descrita en este artículo sobre los comandos básicos de programación podemos empezar a manipular el MPLAB y realizar aplicaciones básicas para los microcontroladores

 http://www.terra.es/personal/fremir o/directivas.htm  http://www.unicrom.com/Tut_analogic



Existen varias instrucciones que podrían facilitar el desarrollo de programas en este entorno.



Las directivas son de mucha utilidad para poder realizar un programa ya que son palabras claves que indican una acción especifica al MPLAB.



El MPLAB es un entorno que permite realizar aplicaciones para una gran variedad de microcontroladores comprobar si están bien hechos,

 http://rluis.xbot.es/pic2/pic2_13.html  http://www.terra.es/personal/fremi ro/directivas.htm  http://es.wikipedia.org/wiki/MPL AB  http://www.slideshare.net/victorpe /uso-mplab-presentation

MPLAB 10

ENLACES

Leonardo Flores

o_digital.asp

 http://www.slideshare.net/victorpe/ uso-mplab-presentation