Você está na página 1de 8

INTRODUCCIN AL MPLAB Y A LA ESTRUCTURA DE PROGRAMACIN EN

LENGUAJ E ENSAMBLADOR

1. Introduccin al MPLAB.

El software MPLAB de Microchip, es una herramienta de desarrollo para los
Microcontroladores PIC, Desde la familia ms pequea (12Cxxx) hasta las de ltimo
surgimiento (18Fxxx). Una de las aplicaciones bsicas del MPLAB es la edicin y simulacin
de programas, que facilita al desarrollador la programacin y depuracin de aplicaciones con
estos dispositivos. Una gran ventaja del MPLAB de desarrollo, radica en que es un software
muy completo y de distribucin libre, y que se puede obtener desde la pgina de Microchip,
www.microchip.com.

Se pretende que el alumno interesado en desarrollar aplicaciones con Microcontroladores
PIC, se introduzca de una manera sencilla al manejo de estesoftware, para que su trabajo sea lo
ms agradable posible. En principio, se mostrarn las opciones ms importantes para empezar a
trabajar, siendo tarea del desarrollador el descubrir nuevas opciones de trabajo bajo el ambiente
del MPLAB.

Ejecucin del MPLAB.

Para entrara a la aplicacin MPLAB, se puede seleccionar desde los iconos de acceso
directo, o desdeINICIO/TODOS LOS PROGRAMAS/MPLAB IDE como se muestra en la Figura
1-1.












Figura 1-1. Accesos al programa MPLAB.

Inmediatamente despus se presenta la imagen de la portada de este software, y
posteriormente el ambiente de trabajo del MPLAB con una ventana para la edicin de
programas como semuestra en la Figura 1-2.


Figura 1-2. Presentacin de pgina de edicin de programas.
2. Configuracin del MPLAB.

NOTA: Se debe crear una carpeta en el directorio raz con el nombre que considere el
programador, donde se irn guardando todos los programas que se vayan diseando. La
trayectoria absoluta o path del fichero no puedesuperar la longitud mxima de 62 caracteres.

La configuracin del ambiente de desarrollo es importante cuando se va a utilizar por
primera vez, o cuando se hace cambio de Microcontrolador. Quedeclaro que el siguientepaso
solamente se realiza en los casos anteriormente mencionados.

Para elegir el tipo de Microcontrolador debe acceder al men Configure / Select Device y
seleccionar PIC16F876A, tal y como se muestra en la Figura 2-1.


Figura 2-1. Seleccin del Microcontrolador.

A continuacin hay que seleccionar el simulador, para ello activar el men Debugger / Select
Tool / MPLAB SIM como se muestra en la Figura 2-2.


Figura 2-2. Seleccin del simulador.

La frecuencia detrabajo del MPLAB SIM debe de coincidir con la del circuito a simular.
Para seleccionarlo acceder a Debugger / Setting / Clock y despus comprobar que esta a 4MHz
tal y como se muestra en la Figura 2-3.


Figura 2-3. Seleccin de la frecuencia del simulador para el MPLAB.
Crear un nuevo archivo fuente, para ello ir al men File /New. Se esta forma se accede a la
pantalla de edicin en blanco dondesepuede escribir el primer programa como se muestra en la
Figura 2-4.

Figura 2-4. Pantalla de edicin del programa MPLAB IDE.

Ahora se puede dar nombre al fichero fuente accediendo al men File/Save As Donde
aparecer un cuadro dedilogo que solicita el nombre del archivo con la terminacin .asmy
guardar en la carpeta creada anteriormente. La Figura 2-5 muestra la forma de guardar el fichero
fuente.

Figura 2-5. Pantalla para guardar el archivo fuente.

Para trabajar ms adecuadamente es conveniente visualizar el nmero de cada lnea. Para
ello basta con seleccionar en el men Edit/Properties. Dentro de la ventana Editor Properties se
activa las opciones queseindican en la Figura 2-6.


Figura 2-6. Propiedades de la pantalla de edicin.

3. Ensamblador del Programa.

Una vez terminado de editar el programa hay que proceder a ensamblar el archivo fuente con
terminacin .asm. Para ello, hay que seleccionar el men Project/Quickbuild. En esta etapa se
realiza en forma automtica el ensamblado del archivo fuente y el traspaso de ste a la memoria
de simulacin. Esto se observa en la Figura 3-1.


Figura 3-1 Ensamblado del archivo fuente.

Al finalizar el ensamblado, aparecer una pantalla MPLAB [Output] en la que indica la
ocurrencia de uno de estos dos casos:

Si al final de la escritura indica BUILD SUCCEDED se confirma queel ensamblado
se ha producido con xito. Por tanto, ya se est en condiciones de pasar a la simulacin.

Si al final de esta pantalla indica BUILD FAILED se advierte de la ocurrencia de
errores. El proceso de ensamblado ha generado un archivo de errores con descripcin de
los mismos. Si se hace doble clic sobre la lnea que muestra el error, el cursor saltar
directamente a la lnea de cdigo donde se encuentra ste. Una vez subsanado los
errores hay que volver a ensamblar el archivo fuente.

4. Fichero hexadecimal resultante.

El proceso de ensamblado produce un fichero ejecutable con extensin (*.hex) que ser el
que posteriormentese grabar en la memoria de programa del Microcontrolador PIC mediante
el grabador. Este archivo nicamente contiene nmeros hexadecimales que es la forma de
representar los unos 1 y ceros 0 binarios dela informacin que se grabar posteriormente en
la memoria de programa del Microcontrolador.

5. Ventanas de visualizacin.

Una vez ensamblado el cdigo fuente, el entorno ya est preparado para la simulacin del
programa. Para que este trabajo sea ms eficaz conviene activar las ventanas que indican el
estado de todas las memorias y registros del sistema, las principales ventanas de simulacin se
encuentran dentro del men View y son:

Program Memory Memoria de Programa.
Special Function Registers Registros de propsito especifico SFR.
File Registers Memoria RAM de datos.
Disassembly Cdigo Mquina y archivo fuente.

Ventana devisualizacin de la memoria de programa.

Se entra a la ventana activando el men View / Program memory. En esta se puede apreciar el
tamao dememoria que ocupa las instrucciones, el cdigo de operacin de cada instruccin y la
direccin de memoria deprograma que sele ha asignado a cada etiqueta. La Figura 5-1 muestra
la ventana dememoria de programa.


Figura 5-1. Ventana de visualizacin de la memoria de programa.
Ventana Disassembly

Esta ventana es muy similar a la de memoria de programa, ya que se incluye el archivo
fuente. Para activar esta ventana se entra al men View / Disassembly como se muestra en la
Figura 5-2.


Figura 5-2. Ventana Disassembly Listing.

Ventana de visualizacin delos registros de propsito especifico SFR.

Para visualizar los registros especiales del SFR se activa en el men View / Special Function
Registers tal y como se muestra en la Figura 5-3. En esta ventana suele ser interesante visualizar
la columna binaria Binary Para ello, pulsar el botn derecho del ratn y elegir la opcin
Properties, saldr una ventana y as poder sealar la casilla Binary y pulsando sobre el botn
Move Up o Move Down, la columna Binary se podr desplazar.


Figura 5-3 Ventana de visualizacin de los registros especiales.

Ventana de contenido de la memoria RAM.

Esta ventana muestra una lista de todos los registros de la memoria RAM (de propsito
especfico y propsito general) del Microcontrolador simulado. Para visualizar la ventana de
contenido de la memoria RAM de datos hay que seleccionar View / File Registers como se
muestra en la Figura 5-4.


Figura 5-4. Ventana con el contenido de la memoria RAM.
ESTRUCTURA GENERAL DE UN PROGRAMA EN ENSAMBLADOR DE MPLAB.

Fsicamente un programa representa un archivo que se encuentra en el disco de la
computadora (o en la memoria, si es ledo por un Microcontrolador PIC) y se escribe de acuerdo
a las reglas del ensamblador o algn otro lenguaje que consiste de signos alfabticos y
nemnicos. Al escribir el programa se debe de seguir esas reglas para que un programa
interprete y convierta cada instruccin como una serie de ceros y unos que tenga un significado
para la lgica interna del Microcontrolador.


La conversin seencuentra en un archivo ejecutable y en un archivo con la extensin .Hex,
donde .Hex significa hexadecimal, el cual posteriormente se grabar en el Microcontrolador
para su ejecucin.


El programa fuente, en lenguaje ensamblador, se hace en un editor de texto y tiene los
siguientes elementos bsicos.


Etiquetas.
Instrucciones.
Operandos.
Directivas.
Comentarios.


Etiquetas.

Una etiqueta es una designacin textual (generalmente una palabra fcil de leer) para cada
una delas lneas de programa. Una etiqueta inicia con una letra del alfabeto o con un carcter
underline_. La longitud de la etiqueta normalmente es de 32 caracteres mximo e inicia en la
primera columna.


Instrucciones.

Las instrucciones ya estn definidas por el Microcontrolador especfico a usar, de manera tal
que solo resta seguir su uso en el lenguaje ensamblador. La forma de escribir las instrucciones
se le llama sintaxis delas instrucciones. En el ejemplo siguiente se puede reconocer un error de
escritura donde las instrucciones monlp y gotto NO existen para el Microcontrolador
PIC16F876A.


Instrucciones escritas correctamente en lenguaje ensamblador.

movlw b10101010
movwf INICIO


Instrucciones escritas incorrectamente en lenguaje ensamblador.

movlp H01010101
gotto INICIO


Operandos.

Los Operandos son elementos de las instrucciones que necesitan stas para poderse ejecutar.
Usualmente los Operandos son registros, variables o constantes.

Operandos tpicos:




movlw b11110000
movwf CONTROL
movf STATUS, W












Directivas.

Una directiva es similar a una instruccin, pero a diferencia de una instruccin, la directiva
es independiente del modelo del Microcontrolador y representa una caracterstica del lenguaje
ensamblador mismo. Las directivas se usan para dar un significado a variables o registros. Por
ejemplo, el nombre CONTROL se puede usar para designar una variable en la localidad de
memoria RAM 0Eh. De esta forma es ms fcil para el programador entender o recordar que la
localidad de memoria 0Eh contienela informacin acerca del CONTROL. Las directivas que a
continuacin se toman como ejemplo pertenecen al ensamblador MPLAB de Microchip.


PROCESSOR P16F876A
#i ncl ude " p16f 876A. i nc"

__CONFI G( _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC&_BODEN_OFF&_LVP_OFF)


Comentarios.

Un comentario es una serie de palabras que escribe el programa para hacer ms claro y
legible el programa, los comentarios comnmente se colocan despus de una instruccin y se
indican con un punto y coma ; en lenguajeensamblador.

Al escribir un programa en lenguaje ensamblador, existen reglas obligatorias o estrictas y
reglas que no son especificadas pero que es recomendable seguirlas. Algunas deestas reglas son
las siguientes: escriba al inicio del mismo el nombre del programa, lo que hace el programa, la
versin, la fecha cuando fue escrito, el tipo de Microcontrolador a usar y el nombre del
programador.


El operando en
un nmero
binario
(constante).
La variable
CONTROL es
un operando en
memoria del
PIC.
El operando
STATUS es un
registro de la
memoria.
El ejemplo siguiente muestra un programa escrito en lenguaje ensamblador respetando las
reglas bsicas anteriores.



; Zona de dat os **************************************************
; Pr ogr ama de l ect r ur a/ escr i t ur a
; f echa 27 ener o 2011
; PI C16F876A
; Pr ogr amador : J or ge L.

PROCESSOR P16F876A
#i ncl ude "p16f 876A. i nc"

__CONFI G ( _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _BODEN_OFF &
_LVP_OFF) ; connf i gur aci on par a el gr abador

LI ST P=16F876A ; Pr ocesador

; Zona de cdi gos***************************************************

or g0 ; El pr ogr ama comi enza en l a di r ecci n 0
; de l a memor i a de pr ogr ama
got o mai n


mai n bsf STATUS, RP0 ; Pasamos al Banco 1
movl w b' 00000000'
movwf TRI SB ; Conf i gur amos el puer t o B como sal i das
movl w b' 11111111'
movwf TRI SC ; Conf i gur amos el puer t o C como ent r adas
bcf STATUS, RP0 ; Pasamos al Banco 0
cl r f PORTB
cl r f PORTC

Pr i nci pal

movf PORTC, W
movwf PORTB
got o Pr i nci pal

end

Você também pode gostar