Sei sulla pagina 1di 17

Introduccin al Entorno de Desarrollo MPLAB 12

PRCTICA 2

INTRODUCCIN AL ENTORNO DE DESARROLLO MPLAB


OBJETIVOS:


Familiarizar al alumno con la interfaz del software MPLAB y comprender los
pasos para crear un proyecto de programacin para MCUs PIC.

Emplear MPLAB para editar, depurar y simular un proyecto en lenguaje
ensamblador para un MCU PIC.

Configurar y usar el software WinPic800 en conjunto con un circuito programador
compatible, para descargar a la memoria interna de un PIC, el cdigo mquina
(archivo HEX) generado en MPLAB.


INTRODUCCIN

El MPLAB es un software que junto con un emulador y un dispositivo programador (de los
mltiples que existen en el mercado), forman un conjunto de herramientas muy completo
para el trabajo y/o el diseo con los microcontroladores PIC desarrollados y fabricados por
la empresa Arizona Microchip Technology (AMT).

Entre las caractersticas del programa MPLAB estn las siguientes:


Incorpora todas las utilidades necesarias para la realizacin de cualquier
proyecto.

Permite editar el archivo fuente en lenguaje ensamblador de nuestro proyecto,
adems de ensamblarlo y simularlo en pantalla.

Depurador de cdigo fuente (muestra las instrucciones en ensamblador
conforme las va ejecutando) que permite la ejecucin paso a paso, por rutina y
puntos de ruptura.

El programa es completamente interactivo, lo que nos permite modificar
cualquier registro o localidad de memoria en cualquier momento.









Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 13
MATERIAL Y EQUIPO EMPLEADO

Laboratorio equipado con computadoras que tengan instalado el MPLAB versin
v7.40 o superior y el WinPic800 v3.55 g.


Cantidad Descripcin
1 Programador compatible con ICPROG o WinPic800
1 Microcontrolador PIC16F628
1 Microinterruptor (1P-1T)
8 Leds o una barra de leds
8 Resistencia de 330
8 Resistencia de 4.7 K

1 Tableta experimental
1 Fuente de alimentacin de CD


Pre-reporte:

Leer previamente toda la prctica

Descargar MPLAB v7.40 o superior de Internet y llevarlo el da de la sesin.

Descargar el archivo del programador PIC-PROG800 de la pgina de la materia y
llevarlo el da de la sesin, habiendo ledo previamente el instructivo del
programador contenido en el archivo correspondiente.

Llevar los smbolos de configuracin del MCU, para la gama media PIC16, estos
se pueden obtener del documento PIC Micro Mid-Range Family Reference
Manual, disponible en la pgina del fabricante o de los archivos de encabezado
con extensin .INC.

Llevar implementado en un protoboard el circuito de la figura 4.22.


DESARROLLO

I. Procedimiento para crear un proyecto en MPLAB

1. Para ingresar al programa MPLAB IDE, basta con hacer doble click en el icono
instalado en el escritorio de la PC, o seleccionar Inicio> Programas> Microchip>
MPLAB IDE v7.40> MPLAB. Lo anterior desplegar la presentacin del software seguido
de la pantalla principal (figura 2.1). Cabe mencionar que esto es vlido slo para la
versin v7.40, para versiones anteriores o posteriores esto puede ser diferente.


Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 14


Figura 2.1. Pantalla principal de MPLAB.

2. Es necesario crear el documento el cual se agregara al proyecto. Para esto, ingrese al
men FILE> NEW, y a continuacin edite el programa en ensamblador que se muestra
abajo. Haga una carpeta con nombre proypics y guarde en ella el archivo editado con el
nombre de rotaled.asm.

; Pr ogr ama que r ot a a l a der echa un bi t por el puer t o B
; I NCLUDE p16f 628. i nc ; I ncl ui r en caso de
; ut i l i zar __CONFI G abaj o.
LI ST P=16F628
RADI X HEX
; __CONFI G I nser t ar l os s mbol os de conf i gur aci n de l a
; l os ar chi vos de encabezados . I NC del MCU

w equ 0
f equ 1

; Decl ar aci n de l os SFR
PCL equ 02h
STATUS equ 03h
PORTA equ 05h
PORTB equ 06h
CMCON equ 1Fh

cbl ock 20h
ST_TEMP ; Var i abl e copi a de STATUS
TEMP1 ; Var i abl e par a ci cl o ext er no
TEMP2 ; Var i abl e par a ci cl o i nt er no
endc


or g 0
got o I NI CI O ; Conf i gur a vect or de r eset

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 15
; Subr ut i na que conf i gur a a t odo el Puer t o B
; como sal i da y deshabi l i t a a l os compar ador es
CONF_PUERTOB
Movl w b' 00000111' ; Compar ador es apagados par a
Movwf CMCON ; habl i l i t ar pi nes de I / O
bsf STATUS, 5 ; Conmut a a banco 1
cl r f PORTB ; Conf i gur a puer t o B como sal i da
bcf STATUS, 5 ; Conmut a a banco 0
movl w 04h
movwf PORTB ; Puer t o B = 0000 0100b
movf STATUS, w ; Al macena una copi a de STATUS
movwf ST_TEMP ; en l a var i abl e ST_TEMP
r et ur n

; Rut i na que r ot a a l a der echa un bi t por el puer t o B
; Par met r os de ent r ada: ST_TEMP el cual cont i ene
; una copi a de STATUS
; Par met r os de sal i da: ST_TEMP
ROTADER
movf ST_TEMP, w ; Recuper a el val or de STATUS y
movwf STATUS ; sust i t yel o
r r f PORTB, f ; Rot a a l a der echa PUERTO B
movf STATUS, w ; Al macena una copi a de STATUS
movwf ST_TEMP ; en el r egi st r o ST_TEMP
cal l RETARDO ; I nt r oduce r et ar do de 500 ms
r et ur n

; Rut i na que gener a un r et ar do de t i empo por sof t war e
; de apr oxi madament e 0. 5 segundos a una f r ecuenci a de
; osci l aci n de 4 MHZ
RETARDO
Movl w . 250
movwf TEMP2 ; TEMP2 = 250
CI CLO2 decf sz TEMP2, f ; TEMP2 - 1 = 0?
got o SALTO1 ; No
got o FI NCI CLO2 ; Si
SALTO1
movl w . 250
movwf TEMP1 ; TEMP1= 250
CI CLO1 nop
nop
nop
nop
nop
decf sz TEMP1, f ; TEMP - 1 = 0?
got o CI CLO1 ; No
got o CI CLO2 ; Si
FI NCI CLO2
r et ur n
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 16
; PROGRAMA PRI NCI PAL
I NI CI O
cal l CONF_PUERTOB
AGAI N cal l ROTADER
got o AGAI N

END


3. Seleccione el dispositivo (PIC a utilizar durante el proyecto) con que se desea trabajar,
el cual se puede encontrar en la barra de herramientas en el men Configure> Select
Device: Configure la ventana tal como se muestra en la figura 2.2.




Figura 2.2: Ventana Select Device .


En la ventana se despliega informacin acerca de las diversas herramientas de MPLAB
con respecto al dispositivo seleccionado, de acuerdo a lo siguiente:

- Los leds verdes indican que si soporta el dispositivos seleccionado.
- Los leds amarillos indican que pueden no estar habilitadas ciertas partes del dispositivo.
- Los leds rojos indican que no soportan al dispositivo.

4. El siguiente paso es crear proyecto utilizando Proyect Wizard. Seleccione Project>
Project Wizard. En la pantalla se deber ver algo similar a mostrado en la figura 2.3

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 17


Figura 2.3: Paso uno del Project Wizard .


5. Seleccione el dispositivo PIC16F628 PIC16F628A, segn sea el caso.

6. Seleccione el lenguaje usado en el proyecto, Microchip MPASM Toolsuite para este
caso (figura 2.4). Verifique que la ruta de acceso al MPASM sea la correcta.



Figura 2.4: Paso dos del Project Wizard .


7. Es necesario seleccionar el nombre del proyecto y la carpeta que lo almacenar (figura
2.5). Escribimos primerproy como nombre y elegimos la carpeta proypics creada en el
paso 2. Cabe sealar que MPLAB no funciona bien cuando la carpeta se encuentra muy
anidada dentro de otras carpetas ni cuando las carpetas tienen nombres muy largos. Se
recomienda que la carpeta se guarde en la raz del disco duro.
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 18


Figura 2.5: Paso tres del Project Wizard .


8. Agregue al proyecto el archivo rotaled.asm editado en el paso 2. Para esto, basta con
seleccionar dicho archivo y presionar el botn Add Files>>. El nombre del archivo
aparecer en el panel de la derecha como se muestra en la figura 2.6. En versiones
posteriores a la v8.0, basta con que aparezca al lado del archivo una letra A.




Figura 2.6: Paso cuatro del Project Wizard .

9. El ltimo paso es la confirmacin, por medio de un resumen (summary), de que el
proyecto ha sido correctamente creado. La ventana mostrar el dispositivo a usar, la
herramienta de lenguaje a emplear para el manejo de los archivos del proyecto y la ruta
del archivo fuente (figura 2.7).

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 19


Figura 2.7: Pantalla final del Project Wizard .


10. Al presionar el botn FINISH, deber aparecer la ventana del proyecto realizado en
los pasos anteriores (figura 2.8). De no ser as, puede abrirse manualmente por medio de
la opcin del men View> Project.



Figura 2.8: Pantalla final del Project Wizard .


II. Depurando y simulando un programa con MPLAB

11.- Una vez terminados los pasos anteriores ser necesario depurar el programa editado
para verificar los errores que se cometieron al momento de la codificacin. Ensamble el
archivo rotaled.asm, contenido dentro del proyecto, con cualquiera de las siguientes
secuencias:

En la barra del men (Project>Build All)
Tambin en la barra de herramientas con el cono:
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 20
MPLAB deber entonces desplegar en la ventana Output (figura 2.9) todo lo relacionado
con el proceso de ensamble. En teora debera mostrar que no hubo errores en el
programa y que el archivo rotaled.hex fue creado correctamente y puede ser descargado
al MCU. En caso que se generen warnings y/o errores verifique el programa y repita el
proceso (paso 11) hasta que ya no existan errores.



Figura 2.9: Pantalla Output sin errores ni warnings .


12. Para simular el cdigo del programa, es necesario activar la herramienta MPLAB SIM
por medio del men Debugger> Select Tool, como se muestra en la figura 2.10



Figura 2.10: Pantalla del men Debugger al activar MPLAB SIM.

Una vez que se activa MPLAB SIM como herramienta de simulacin, sucede lo siguiente
(figura 2.11):
El estado de la barra deber cambiar.
Aparecen nuevas opciones dentro del men Debugger.
En la barra de herramientas aparece una barra adicional. (Colocando el puntero
del Mouse sobre cada botn se podr ver la descripcin de lo que hace cada uno
de ellos).
En la ventana de salida se agrega una pestaa con el nombre de MPLAB SIM.

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 21


Figura 2.11: Pantalla que muestra los cambios en la interfaz al acti var MPLAB SIM.


13. Despus de haber seleccionado el simulador se procede a dar un reset al procesador
utilizando Debugger> Reset> Processor Reset, el puntero que esta de color verde se
posicionar en la primera instruccin en memoria, que por lo regular es un goto, tal como
lo muestra la figura 2.12



Figura 2.12: Pantalla del programa despus de un reset .


14. Realizado el paso anterior, se procede a simular el cdigo empleando las opciones
disponibles en la barra (figura 2.13) que se agreg al seleccionar el MPLAB SIM.
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 22


Figura 4.13: Resumen de los botones de la barra de herramientas de MPLAB SIM.


15. Dentro de la simulacin del programa, con la secuencia View> Watch> Add SFR>
Registro que Desees Ver, es posible seleccionar los registros asociados a cualquiera de
los perifricos internos para verificar su correcto funcionamiento (figura 2.14).



Figura 2.14: Botn Add SFR de la ventana Watch

16. En la misma ventana Watch, tambin se puede seleccionar las variables que se
hayan empleado en el programa, usando el botn Add Symbol, tal como lo sugiere la
figura 2.15.



Figura 2.15: Botn Add Symbol de la ventana Watch


17. Cuando se est depurando un programa es necesario detener su ejecucin en una
instruccin especfica, esto es posible insertando puntos de ruptura (breakpoints), los
cuales ayudan a observar los valores en los registros y variables en dicho instante. La
insercin de punto de ruptura se logra posicionando el puntero haciendo click con el
botn derecho del ratn con el puntero posicionado en alguna instruccin del programa y
seleccionando Set Breakpoint (figura 2.16).

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 23


Figura 2.16: Insertando un punto de ruptura

17. Al hacer lo anterior, se notar que se agrega una marca de una B dentro de un crculo
rojo en la parte lateral derecha de la instruccin, como se ve en la figura 2.17.



Figura 2.17: Listado del programa con el punto de ruptura insertado

18. Con todo lo expuesto en los pasos anteriores, proceda a simular el programa para
verificar que su funcionamiento sea lo que se desea.
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 24
III. Procedimiento para descargar un programa al MCU con WinPic800

Toda vez que se ha simulado exhaustivamente el programa y que se ha comprobado que
realiza las tareas que se le han programado, se procede a descargar el cdigo mquina
(rotaled.hex) al microcontrolador. MPLAB ofrece soporte para este proceso,
desafortunadamente se tiene que adquirir un dispositivo programador propietario de
Microchip (PicStart Plus, Pro Mate III, etc).

Por otro lado, construir un dispositivo programador para los MCUs PIC es algo
relativamente sencillo y barato. Existen en la literatura muchos prototipos que han sido
verificados, del cual el ms usado es un clon del JDM Programmer, el cual utiliza el
puerto serial de la PC. Sin embargo, existen programadores que utilizan el puerto USB, ya
que este ha ido desplazando al puerto serie. No importando el tipo de puerto que se
emplee, hay que instalar el software que trabaje en conjunto con el dispositivo
programador y en el caso de los programadores por puerto USB, el controlador o driver
correspondiente. Aqu podemos emplear el software WinPic800 o el ICProg, La prctica
se enfoca al primero de stos y al programador por puerto USB denominado PIC-PROG
800.

19. Verifique la PC tenga el WinPic800 v3.55g, de no ser as proceda a descargarlo de la
pgina de la materia y descomprimirlo en una carpeta (el software no requiere
instalacin). Cabe mencionar que el programador PIC-PROG 800 slo funciona con la
versin mencionada del WinPic800.

20. Conecte el programador PIC-PROG 800 a un puerto USB disponible en su
computadora y proceda a instalarlo conforme se especifica en el instructivo del
programador, el cual se encuentra en el archivo mencionado en el pre-reporte.

21. Ejecute WinPic800 v3.55g, la PC mostrar la ventana principal de trabajo (figura 2.17).



Figura 2.17: Ventana principal de WinPic800 v3.55 g.

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 25
22. Configure el software para el manejo del programador, con los siguientes pasos
Configuracin >> Software y marque mnimo las opciones mostradas en la figura 2.18.
Puede marcar otras adicionales segn sea su preferencia. De click en confirmar para
finalizar.



Figura 2.18: Ventana para configuracin del Software WinPic800 v3.55 g.

23. Para seleccionar el PIC con el que se va a trabajar se cuenta con dos opciones. La
primera es a travs de la lista desplegable. Haga click en la flecha de la lista y
seleccione el dispositivo con el que trabajar. Verifique el modelo del PIC, es decir, C o F
con la lista desplegable adyacente a la de seleccin del MCU. Si este no se encuentra
listado significa que el dispositivo programador no es capaz de funcionar con l. Observe
la figura 2.19.



Figura 2.19: Seleccin del PIC a utilizar en la lista desplegable del WinPic800.

24. La segunda opcin para seleccionar el PIC con el que se va a trabajar consiste en la
autoseleccin hecha por el dispositivo programador. Para esto es necesario colocar el
MCU en la posicin indicada en el zcalo ZIF del programador, segn su nmero de pines
(la orientacin se muestra en el instructivo y en la placa de circuito impreso propia del
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 26
programador). Una vez realizado esto, existen dos formas de que el programador detecte
el dispositivo; una es a travs del men Dispositivo >> Detectar Pic, o mediante el cono
, mostrado en la barra de herramientas. Al realizar cualquiera de las dos acciones, se
desplegar una ventana como la mostrada en la figura 2.20.



Figura 2.20: Deteccin correcta del PIC a utilizar en WinPic800.

Hecho lo anterior, de click en Conforme. En caso de que el dispositivo no sea
detectado, aparecer la leyenda DESCONOCIDO en lugar del modelo del PIC; si esto
sucede verifique la posicin del dispositivo en el zcalo ZIF, as como la posicin del
J umper de seleccin de tamao. Si an as no es posible detectar el dispositivo, es
posible que ste se encuentre daado, consltelo con su profesor.

25. En la barra de herramientas, seleccionar en el men abrir el archivo rotaled.hex que
se realiz en los pasos anteriores con el MPLAB.

26. Existen diferentes manera de programar los bits de configuracin para un MCU PIC,
una de ellas se expone a continuacin. En la pestaa Config., seleccione los bits de
configuracin como se muestran en la figura 2.21.



Figura 2.21: Ventana para seleccionar los bits de configuracin.

Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 27
27. Antes de grabar el PIC borre cualquier informacin que pudiera contener el dispositivo
en cuestin seleccionando Dispositivo>> Borrar todo.

28. Para grabar en el PIC los archivos que se pretendan cargar hay que dar click en la
ventana de Archivo>> Abrir y buscar el archivo rotaled.hex, despus seleccionar la
pestaa Dispositivo>> Programar todo.

29. Verificar la correcta grabacin del dispositivo utilice Dispositivo>> Verificar todo.
Cabe mencionar que este paso no es necesario ya que debido a la configuracin
establecida anteriormente, el proceso de verificacin viene automticamente al programar
el dispositivo al dar la opcin Dispositivo>> Borrar todo. No obstante en caso de no
tener configurado el software se puede realizar con los pasos ya descritos.

30. La opciones desplegadas por el men tambin se encuentran en forma de iconos en
la barra de herramientas, posicione el cursor del Mouse sobre cada una de ellas y
desplegar su funcin.

31. Monte el PIC programado en el circuito mostrado en la figura 2.22 y verifique que
trabaje correctamente.

RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
R12
10k
D1
1N4148
SW2
SW-SPST-MOM
330R
330R
330R
330R
330R
330R
330R
330R
1
2
3
4
5
6
7
8
20
19
18
17
16
15
14
13
9
10
12
11
U2
LED-BARGRAPH-GRN


Figura 4.22: Circuito para el programa rotaled.asm.

32. Para la segunda forma de cargar los bits de configuracin, modifique el cdigo fuente
rotaled.asm, eliminando los comentarios de las lneas de las directivas INCLUDE y
_ _CONFIG, a la derecha de esta ltima coloque los siguientes smbolos.

__CONFI G _I NTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _BODEN_ON & _MCLRE_ON &
_CP_OFF
Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III
Introduccin al Entorno de Desarrollo MPLAB 28
33. Vuelva a ensamblar el cdigo en Project>Build All o con su cono correspondiente.

34. Vuelva a descargar el nuevo rotaled.hex generado en el punto anterior al MCU, NO
modifique los bits de configuracin mediante la interfaz de WinPIC800, slo cargue
el archivo y programe el MCU, monte el PIC programado en el circuito mostrado en la
figura 2.22 y verifique que trabaje correctamente.


Para los casos expuestos en los puntos 26 y34, Cmo se comport el programa cuando
carg los bits de configuracin para ambos casos? Explique el porqu.

________________________________________________________________________

________________________________________________________________________

________________________________________________________________________


Qu ventajas y desventajas observa entre las dos formas presentadas para cargar los
bits de configuracin al MCU? J ustifique sus respuestas.

________________________________________________________________________

________________________________________________________________________

________________________________________________________________________

________________________________________________________________________




ACTIVIDADES COMPLEMENTARIAS

1. Investigue los programadores compatibles con el software WinPic800 en sus
versiones posteriores a la mostrada en esta prctica. Analice ventajas y
desventajas. Concluya.

2. Investigue otras formas para cargar los bits de configuracin el los MCU PIC,
compare con las mostradas en el desarrollo de esta prctica y analice ventajas y
desventajas de cada opcin. Cul recomendara para el desarrollo de un
proyecto? J ustifique su respuesta.

3. Experimente con las diferentes opciones del men del software WinPic800 y en
qu consiste cada una de ellas.


Eduardo Romero A. / Alejandro Aganza T. Laboratorio de Sistemas Digitales III

Potrebbero piacerti anche