Sunteți pe pagina 1din 51

Ejemplo de utilizacin del

programador
MICROCHIP PICSTART PLUS
con el microcontrolador
Microchip PIC 16F690,
el entorno de desarrollo
MPLAB IDE 7.50
y el compilador CCS PCWH 3.249

Versin 1.0
Autor: Marcos Morales Pallars
Escola Universitria dEnginyeria Tcnica Industrial de Barcelona
Laboratorio de Proyectos. Unidad de Electrnica
Universitat Politcnica de Catalunya
Barcelona, diciembre del 2006

ndice
1. Objetivo de este documento ............................................... 2
2. Aplicacin de ejemplo a montar y programar ..................... 3
3. Procedimiento .................................................................... 4
3.1. Montaje del circuito en protoboard .........................................5
3.2. Instalacin de CCS PCWH 3.249 ..............................................6
3.3. Creacin del programa en C, a ejecutar en el PIC16F690 ........8
3.4. Instalacin del adaptador USB-RS232...................................23
3.5. Instalacin de MPLAB IDE 7.50 .............................................29
3.6. Instalacin del plugin del CCS PCWH para MPLAB .................36
3.7. Programacin del microcontrolador con MPLAB IDE 7.50 .....37
3.8. Comprobacin del correcto funcionamiento ..........................48

1. Objetivo de este documento


El programador PICSTART PLUS de la casa MICROCHIP est disponible en el
laboratorio de PFCs para aquellos/as proyectistas que lo necesiten. Se trata de uno
de los primeros programadores que Microchip proporcion para programar su
amplia familia de microcontroladores de 8 bits, comnmente conocidos como los
PIC.
En el momento de editar este manual el PICSTART PLUS sigue comercializndose y
recibiendo soporte por parte de MICROCHIP, con actualizaciones constantes del
firmware (programa interno del mdulo programador que permite reconocer los
PICs).
Para que sirva de pauta y a modo de ejemplo, proporcionamos al lector este
manual. En l se recogen los pasos necesarios para llevar a cabo el montaje ms
bsico que existe para todo microcontrolador: el control de encendido de un LED.
Para ello se ha escogido el PIC16F690, de la casa Microchip. La familia 16FXXX es
reconocida por su versatilidad, facilidad de uso y robustez. Nos hemos decantado
por el compilador CCS PCWH, pues se trata de una de las herramientas ms
empleadas al programar cdigo en lenguaje C para los PIC, adems de poseer gran
cantidad de libreras y ejemplos.
No obstante, es necesario emplear el entorno de desarrollo propio de Microchip, el
MPLAB IDE, para realizar el volcado del programa al micro, pues es gratuito y nos
permite trabajar con el PICSTART PLUS, as como realizar actualizaciones del
firmware del mismo.
El documento est estructurado a modo de gua de pasos a realizar para llevar a
cabo este ejemplo en concreto con xito. Dada la naturaleza de este documento, no
se ha credo conveniente entrar en detalles de funcionamiento.
Finalmente comentar que el laboratorio de proyectos dispone de un adaptador USB
1.1-RS232 (puerto serie), muy til para aquellos estudiantes que quieran emplear
sus propios porttiles como estaciones de programacin y volcado, y no dispongan
de puertos de comunicaciones. En este manual se explica su instalacin,
configuracin y uso.

2. Aplicacin a montar
La siguiente
protoboard.

figura

muestra

el

circuito

que

implementaremos

en

nuestra

U2
U1
VOUT
GND

C1
.33u

VIN

LM7805/TO

1
2
3

C2
0.1u

POWER

R1
10k

Y1

4Mhz
C3
15p

C4
15p

SW1
SW PUSHBUTTON

13
12
11
10

VDD

VSS

OSC1
OSC2

RC0
RC1
RC2
RC3
RC4
RC5
RC6
RC7

MCLR
RB4
RB5
RB6
RB7

RA0
RA1
RA2

D1
LED

20
16
15
14
7
6
5
8
9
19
18
17

PIC16F690

Aspectos a observar:
Alimentacin regulada por un 7805 a 5 V. Los condensadores de desacoplo
de 0.33 uF y 0.1 uF resultan imprescindibles.
Empleo de un cristal de cuarzo de 4 MHz. En general se trata de la velocidad
mnima empleada en todo montaje con microcontrolador.
Botn de reset.
LED conectado al pin RB7. Obsrvese la conexin directa al pin del micro,
sin emplear ninguna resistencia limitadora de corriente. En general los PIC
proporcionan la corriente necesaria para alimentar un diodo LED de forma
directa. Esto nos sirve para nuestro ejemplo, aunque en la prctica resulta
imprescindible el uso de dichas resistencias.
No hemos includo un condensador de desacoplo para el micro, aunque para
aplicaciones ms complejas puede llegar a ser imprescindible.
A continuacin se muestra la distribucin de pines proporcionada en el datasheet
del fabricante. Consltese en caso de tener alguna duda.

3. Procedimiento
Los subapartados que se exponen a continuacin deben seguirse de forma lineal.
No hace falta decir que, en el caso de tener ya instalado el compilador CCS PCWH,
el MPLAB o el plugin del CCS PCWH para el MPLAB, podremos prescindir de los
apartados 3.2, 3.5 y 3.6, respectivamente. Si no necesitamos emplear el adaptador
USB-RS232 puede omitirse el apartado 3.4.
Dentro de cada apartado observaremos que los pasos se encuentran numerados.
En cada uno de ellos se incluye una breve explicacin de lo que se debe realizar o,
en su defecto, una imagen explicativa por s sola. Los apartados se encuentran
separados por barras negras horizontales.

3.1. Montaje del circuito en protoboard


1. El aspecto del circuito una vez montado es el siguiente:

Obsrvese el empleo de un zcalo de 20 pines para nuestro micro. Resulta muy


recomendable su uso puesto que al programar varias veces el micro y comprobar
su funcionamiento estaremos insertndolo y extrayndolo de la protoboard
continuamente, con lo que podramos daar fsicamente alguna de sus patitas.
Nuestro objetivo ser volcar y ejecutar un programa que encienda y apague el LED
de forma intermitente e indefinida. El porqu de realizar un montaje y un programa
tan simple es porque nos permite comprobar de un modo sencillo que el proceso de
compilacin y volcado se ha realizado de forma correcta.

3.2. Instalacin de CCS PCWH 3.249


1. Ejecutar pcwhund.exe:

2. Clic en Next > Clic en Next > Clic en Next

3. Seleccionar la carpeta destino para instalar el programa:

4. Clic en Next

5. Esperar a que acabe la copia de archivos:

6. Si todo ha ido bien, aparecern los siguientes cuadros informativos:

Con lo que finalizamos con la instalacin de CCS PCWH 3.249.

3.3. Creacin del programa en C, a ejecutar en el PIC16F690


1. Iniciamos el CCS PCWH PIC C Compiler:
Inicio > Programas > PIC-C > PIC C Compiler

2. Ejecutamos el asistente para la creacin de proyectos:


Project > New > PIC Wizard

3. Se nos preguntar por el nombre y ubicacin de nuestro proyecto. Es


recomendable dedicar un directorio exclusivamente al proyecto, pues el nmero de
archivos generados puede ser considerable.

4. Aparecer el asistente abierto por la pestaa General:


En Device seleccionamos nuestro modelo de microcontrolador (PIC16F690).
Introducimos la frecuencia de trabajo de nuestro cristal oscilador (4000000).
Seleccionamos el uso de punteros de 16 bits para poder utilizar toda la RAM del
micro.

5. Si clicamos en View Code Generated from this tab observaremos la ventana


inferior.

En ella podemos observar el cdigo C que el asistente generar (y dnde lo


insertar) teniendo en cuenta las opciones seleccionadas de la pestaa del asistente
en la que nos encontramos.

6. Pestaa Communications:

7. Pestaa SPI and LCD:

8. Pestaa Timers:

10

9. Pestaa PCH Timers:

10. Pestaa Analog:

11

11. Pestaa Other:

12. Pestaa Interrupts:

12

13. Pestaa Drivers:

14. Pestaa I/O Pins:

13

15. Pestaa High/Low Voltage:

16. Pestaa Intr Oscillator Config:

14

17. Pestaa Header Files:

18. Finalmente clicamos en OK y obtendremos el siguiente cdigo:

15

Podemos realizar varias observaciones:


Nuestro proyecto se ha creado con un archivo de cdigo principal
prova.c, y un archivo cabecera prova.h.
En la rutina principal (main) podemos observar una serie de llamadas a
funciones de configuracin que proporciona el propio compilador:
setup_xxx.
El asistente ha redactado un par de instrucciones con errores de sintaxis:
setup_comparator(x) y setup_vref(x). Se trata de un bug de CCS PCWH
que deberemos solucionar.

19. Consultamos la ayuda para conocer la sintaxis de setup_comparator(x):


Help > Contents
Clicamos en la pestaa ndice y accedemos a la entrada SETUP_COMPARATOR de
la lista.

Como se puede observar, la funcin setup_comparator consta de un nico


parmetro mode, que especifica la configuracin de los comparadores del micro.
Como no vamos a emplear ninguno, usaremos la constante NC_NC_NC_NC.

20. El paso anterior se puede realizar tambin accediendo al fichero de cabecera


especfico del 16F690, y consultando la seccin que contiene las definiciones
correspondientes a los comparadores, y consultando a su vez en el datasheet el
valor de los valores numricos que las deficiones nos indican.

16

Para acceder al fichero 16F690.h podemos hacer:


Clic con el botn derecho en el fragmento de cdigo que incluye prova.h.
Clic en Open \prova.h

Una vez abierto prova.h, repetimos el proceso con 16f690.h, cuya inclusin se
realiza desde prova.h.

17

En la figura inferior se puede observar la seccin de comparadores del fichero


16f690.h:

18

21. En la figura inferior podemos observar el cdigo final despus de los arreglos.

A destacar:
La llamada a la funcin setup_comparator, con la constante que
deshabilita los comparadores.
La supresin de la llamada a la funcin que configura la tensin de
referencia del A/D (setup_vref). Al no emplearla no ser necesario
configurar nada.

22. Escribimos el resto del cdigo:

19

Como se puede ver, se trata de un bucle infinito (while(1)), en cuyo interior se


activa y desactiva el bit 7 del puerto b (RB7), con retardo de 0,5 segundos. As
pues, si todo ha ido bien, veremos parpadear al led conectado a dicho pin.

23. A continuacin vamos a ver qu constantes podemos asignar a la directiva


#FUSES.
View > Valid Fuses.

Aadiremos la directiva que indica que nuestro cristal funciona a una frecuencia
inferior o igual a 4 MHz.
Como se puede observar, existen otras constantes interesantes. Por ejemplo, si
quisiramos proteger nuestro cdigo de posibles lecturas, emplearamos la
constante PROTECT.
Deberemos tener en cuenta qu directivas empleamos en nuestro cdigo porque
deberemos configurar al programador universal en consonancia con los parmetros
aqu escogidos.

24. Modificamos prova.h aadiendo el parmetro XT a la directiva #FUSES:

25. Antes de compilar deberemos especificar el formato del archivo .hex que
cargaremos en nuestro micro.
Accedemos al men Options > File Formats y seleccionamos la opcin Binary del
marco Object File.

20

26. Recordemos salvar nuestro proyecto de vez en cuando. Una buena costumbre
es hacerlo siempre antes de compilar cualquiera que sea el entorno de
programacin en el que trabajemos.
Ya podemos compilar nuestro proyecto mediante el men Compile > Compile.
Si todo ha ido bien veremos la siguiente figura:

Obsrvese como una aplicacin tan simple apenas consume memoria ROM
(programa) y RAM (variables y registros de tiempo de ejecucin).
Ya tenemos en el directorio de nuestro proyecto el fichero prova.hex con el cdigo
mquina de nuestro micro, cuyo contenido volcaremos con el PICSTART PLUS.

21

27. Antes de pasar al programador, puede ser til saber que despus de compilar
podemos acceder al men View > Statistics. Se nos mostrar un archivo
recopilatorio de datos estadsticos tiles sobre el rendimiento de nuestro programa.

22

3.4. Instalacin del adaptador USB-RS232


1. Antes de empezar, comentar que el adaptador USB-RS232 funciona a la
perfeccin en equipos que no tengan ningn puerto serie.
Sin embargo, tras realizar algunas pruebas, se ha constatado que pueden surgir
problemas en algunos equipos con puerto(s) serie incorporados. Aunque solamente
tiene sentido emplear el adaptador en PCs con puerto serie incorporado si estos ya
estan ocupados.

2. Al introducir el CD autoarrancable con los drivers se nos pedir el idioma en el


que queremos visualizar los textos del men de instalacin.
En el caso de no ejecutarse la aplicacin autoarrancable, la podremos iniciar
haciendo doble clic sobre el archivo Autorun.exe de la raz del CD.

3. Seleccionamos USB 1.1 TO RS232 Converter.

4. A continuacin se mostrar un fichero .html con la informacin necesaria para


instalar y configurar los drivers del adaptador.

23

Es importante no conectar el adaptador al mdulo programador mientras se instala


el driver.
Ejecutamos el setup.exe.

5. Aparecer el asistente de instalacin. Click en siguiente.

6. Esperamos a que finalice el proceso. Click en Finish.

7. Reiniciamos el equipo.

24

8. Accedemos al panel de control y entramos en el apartado Sistema.

9. Seleccionamos la pestaa Hardware.

25

10. Click en Administrador de dispositivos.

11. Dentro del apartado Puertos (COM & LPT) podremos observar el nuevo puerto
que tenemos instalado (deber estar conectado).
Hacemos click con el botn derecho y vamos a Propiedades.

26

12. Click en la pestaa Configuracin de puerto.

Y accedemos a Opciones avanzadas.

13. Seleccionamos el nmero de puerto COM que vayamos a utilizar. En nuestro


caso: COM1.

Click en Aceptar.

27

14. Si aparece el siguiente mensaje, nos cercioraremos de no tener ningn otro


dispositivo empleando el mismo recurso COM.

15. Finalmente comprobamos en el Administrador de dispositivos que el puerto


USB-COM se ha actualizado al nmero seleccionado.

28

3.5. Instalacin de MPLAB IDE 7.50


1. Vamos a descargar el entorno de desarrollo gratuito de MICROCHIP, el MPLAB
IDE 7.50, de su pgina web, cuya direccin es: www.microchip.com

2. Clicamos en MPLAB IDE.

3. En la ventana informativa sobre este producto, nos desplazaremos hasta


encontrar el link que permite descargar el instalable.

29

4. Esperamos a que finalice la descarga.

5. Descomprimimos el archivo y ejecutamos el archivo MPLAB v7.50 Install.exe.

6. Es importante recordar que no debe haber ninguna aplicacin ejecutndose


mientras instalamos el software.
Click en Next > Click en Next

7. Seleccionamos la Custom como tipo de instalacin y continuamos.

30

8. Introducimos la ruta de destino. Click en Next.

9. A continuacin se nos pedir qu programadores queremos que MPLAB tenga


configurados. Nos aseguraremos de que PICSTART Plus est seleccionado.

Click en Next.

10. Acetamos el acuerdo de licencia y continuamos.

11. Click en Next.

31

12. Esperamos a que finalice la instalacin.

13. Click en Finish.

14. Al finalizar se nos ofrece visualizar de entre un conjunto de documentos


relativos a aspectos concretos o programadores soportados aquellos que
seleccionemos.
Seleccionamos el archivo PICSTART Plus Release Notes y clicamos en View
Selected File.

32

15. El archivo que se nos mostrar es un documento en html como el siguiente:

En l se recogen diversos aspectos de inters como el listado de microcontroladores


soportados para cada versin (actualizacin) de firmware, notas sobre el uso de
PICSTART PLUS con ciertas familias que puedan tener consideraciones especiales,
etc.
As pues, clicamos en Device Support List.

16. Como se puede ver, nuestro dispositivo (PIC16F690) est en la lista, y la


versin requerida del firmware es la 4.10.06.

33

17. Como ya se ha comentado anteriormente, el documento recoge otros aspectos


relevantes. El apartado 3 nos indica que la gua del usuario del PICSTART PLUS y
las notas para actualizar el kit (Upgrade Kit Brief) se encuentran disponibles en la
web de MICROCHIP.

18. El apartado 5 muestra un listado con dispositivos que tienen problemas de


programacin.

34

19. Otros apartados como los mostrados en la figura inferior dan a conocer
aspectos (en general problemas y sus soluciones) para algunos micros o familias de
micros, en relacin al PICSTART PLUS.

35

3.6. Instalacin del plugin del CCS PCWH para MPLAB


1. La instalacin del plugin resulta imprescindible si queremos emplear CCS desde
MPLAB, por ejemplo para compilar directamente desde el IDE.
Ejecutamos el archivo mplab-ccs-plugin-install.exe.

2. Al iniciarse el asistente clicaremos en Next.

3. Seleccionamos la ruta de destino (que por defecto ser la misma que la del CCS
PCWH).

4. Click en Next > Click en Next.

5. Esperamos a que finalice la instalacin. Click en Finish.

36

3.7. Programacin del microcontrolador con MPLAB IDE 7.50


1. Iniciamos el entorno MPLAB. Para ello:
Inicio > Programas > Microchip > MPLAB IDE v7.50 > MPLAB IDE

2. Conectamos el programador a la alimentacin (habindonos asegurado de que


no hay ningn micro insertado en el zcalo) y al puerto serie o al USB, bien
empleando el cable RS232 habitual, bien empleando el conversor USB-RS232. El
LED verde (Power) deber encenderse.

Si faltase algn componente ser preciso avisar a alguno de los responsables de


laboratorio.

3. Una vez dentro del entorno, seleccionamos el PICSTART Plus de entre todos los
posibles.

37

4. Ahora pasamos a configurar el dispositivo.


Programmer > Settings

5. En la pestaa Communications seleccionaremos el nmero de puerto serie en el


que tenemos conectado el PICSTART PLUS. En nuestro caso tenemos el adaptador
USB-RS232 configurado en el COM1.

Aceptamos y volvemos al entorno.

6. Habilitamos el programador:
Programmer > Enable Programmer

En el momento de editar este manual la versin del firmware residente en el


mdulo programador es anterior a la soportada por la versin 7.50 de MPLAB.
Procederemos a actualizar el firmware.

38

7. Tal y como se nos explica en la ventana Output, la actualizacin se encuentra


en el subdirectorio PicstartPlus del directorio MPLAB IDE. Se trata de un archivo
hexadecimal que ser volcado sobre el micro que incorpora el programador (en
realidad es un PIC). No obstante, antes de proceder consultaremos el archivo de
ayuda que se encuentra en el mismo directorio.

8. Dentro del archivo de ayuda accedemos al apartado Upgrading the PICSTART


Plus Firmware OS.

Aqu obtendremos toda la informacin necesaria acerca de si es necesario o no


actualizar el firmware, como volcarlo, etc.

39

9. Clicamos en Downloading the firmware. Aqu se nos muestran los pasos


necesarios para realizar el volcado.

Consltese en caso de necesidad.

10. Tal y como se nos explica en el archivo de ayuda, procedemos a descargar el


firmware. Para ello hacemos, en el MPLAB IDE:
Programmer > Download PICSTART OS

11. Se nos preguntar por el archivo .hex a descargar. Deberemos seleccionar


aqul de mayor versin ubicado en la carpeta PicstartPlus.

Como se puede observar, en nuestro caso es el archivo pspls45002.hex


(correspondiente a la versin 4.50.02).

40

12. Si todo ha ido bien se nos mostrar el siguiente mensaje:

13. Una vez preparado el entorno, ya podemos crear el proyecto que nos servir de
base para acceder al proyecto que hicimos en CCS, pero desde MPLAB.
Accedemos a Project > Project Wizard

14. Click en Next.

15. Seleccionamos el PIC a utilizar. En nuestro caso el PIC16F690.

Click en Siguiente.

41

16. Ahora se nos pedir que seleccionemos el compilador a emplear. Si hemos


instalado correctamente el plugin, el CCS PCWH aparecer por defecto.

Click en Siguiente.

17. Asignamos un nombre a nuestro proyecto y su ubicacin.

Click en Siguiente.

42

18. Ahora deberemos seleccionar los archivo que componen el proyecto que ya
hemos hecho en CCS PCWH. Estos son prova.c (archivo C principal), su cabecera
prova.h y el archivo de proyecto CCS prova.pjt.

Los archivos seleccionados mediante el botn Add >> los visualizaremos en la lista
de la derecha.

19. Ya hemos terminado con el asistente.

Click en Finalizar.

43

20. Ya tenemos nuestro proyecto listo para compilar y volcar. Como se puede ver
en la figura inferior, los archivos que hemos seleccionado han sido aadidos a
nuestro proyecto MPLAB.

21. Volvemos a abrir la ventana de mensajes Output:


View > Output

22. De nuevo seleccionamos el PICSTART PLUS.


Programmer > Select Programmer > 1 PICSTART Plus

23. Lo habilitamos de nuevo.


Programmer > Enable Programmer
Obsrvese como ahora aparece la versin (actualizada) del firmware en la ventana
Output.

44

24. Vamos a compilarlo de nuevo. Para ello:


Project > Compile

25. MPLAB invocar a CCS PCWH y veremos como, rpidamente, compila nuestro
proyecto. Si todo ha ido bien, al finalizar el proceso veremos aparecer el siguiente
mensaje:

26. Lleg el momento de insertar el micro en el zcalo del mdulo programador. Lo


primero es tirar de la palanquita hacia arriba.

27. Insertamos el PIC16F690 teniendo en cuenta que el pin nmero 1 est situado
en la parte superior izquierda.

45

28. Bajamos la palanquita.

29. Procedemos a borrar el contenido previo.


Programmer > Erase Flash Device

30. Despus del mensaje de borrado exitoso, accedemos al men:


Configure > Configuration Bits.

31. Los parmetros debern coincidir con los aqu mostrados.

En el caso de haber alguna directiva tipo #FUSES en nuestro programa, resulta


imprescindible que los parmetros all establecidos coincidan con los parmetros
aqu mostrados.

32. Ya podemos programar el micro. Para realizar esto:


Programmer > Program

46

33. Si todo ha ido bien podremos ver el siguiente mensaje en la ventana Output.

34. Ya podemos extraer el microcontrolador del mdulo programador, levantando


previamente la palanquita.

35. Al cerrar MPLAB IDE se nos preguntar si queremos guardar la configuracin


del entorno (Workspace). Es recomendable hacerlo si se va a volver a trabajar con
el mismo proyecto de forma frecuente.

47

3.8. Comprobacin del correcto funcionamiento


1. Insertamos el micro en la posicin que le corresponde de la protoboard,
asegurndonos de que queda bien fijado y las patitas hacen contacto con el
sustrato metlico de la placa de pruebas.

2. Conectamos los cables banana-banana a la protoboard y a la fuente de


alimentacin, a excepcin del borne positivo que corresponde a la fuente. El porqu
de proceder as radica en el pico de tensin y corriente que proporciona la fuente al
encenderla. Podramos daar nuestro micro.
Ms conveniente es conectar el positivo de la placa a la fuente una vez est
encendida.

48

3. Encendemos la fuente de alimentacin y seleccionamos una tensin superior a


los 7 V (requisito del 7805) e inferior a 8 V.

4. Lleg el momento de la verdad! Conectamos el la placa a la fuente. Si todo ha


ido bien, nuestro LED se encender y apagar alternativamente cada medio
segundo.

49

5. Finalmente comprobamos que el botn de


reset realiza su funcin
correctamente: al mantenerlo pulsado el circuito debera permanecer inactivo (el
LED deja de encenderse). Al soltarlo vuelve a encenderse de forma intermitente.

50

S-ar putea să vă placă și