You are on page 1of 38

PIC downloader 1.

08
PIC 16F876

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 1


PIC downloader V1.8
En la placa explicada en el tema anterior GRABADOR
PARA EL PIC 16F876, se indic que se utilizara una
aplicacin de distribucin gratuita, esta utilidad es el PIC
downloaderV1.8 que podemos obtener en la web:
www.ehl.cz.pic/pic_e.htm

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 2


PIC downloader V1.8
La pgina en cuestin es:

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 3


PIC downloader V1.8
Si hacemos clic sobre PIC downloader

Se nos activar la siguiente ventana:

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 4


PIC downloader V1.8

En ella indicamos que deseamos guardar el fichero,


pasando a la siguiente ventana:

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 5


PIC downloader V1.8

En ella indicamos el sitio donde deseamos guardar el


fichero, as el nombre con que se guardar: en nuestro caso
en la carpeta descargas y dejamos el nombre que trae por
defecto. CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 6
PIC downloader V1.8
Una vez finalizada la descarga tendremos un fichero
comprimido como el mostrado:

Descomprimimos el fichero obteniendo:

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 7


PIC downloader V1.8
Volvemos a descomprimir los ficheros bootldr103 y
PIC_downloader_source_108 obtenemos:

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 8


PIC downloader V1.8
De todo lo obtenido lo que utilizaremos es:

PIC_downloader: es la aplicacin, o programa de


grabacin propiamente dicho, si ejecutamos la aplicacin
obtenemos la siguiente ventana:

9
PIC downloader V1.8

Fichero de texto bootldr, que contiene un programa escrito


en ensamblador para los PIC y sobre el que deberemos
efectuar modificaciones para adaptarlo al modelo de pic
con el que estemos trabajando

Fichero de texto readme que contiene informacin de


cmo utilizar la aplicacin PIC_downloader

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 10


Como utilizar el bootloader/downloader
Abrimos el fichero de texto readme, que nos da
indicaciones sobre como utilizar el bootloader, en nuestro
caso las adaptamos al entorno MPLAB V6.4

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 11


15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 12
Adaptacin del programa bootldr.asm

Las indicaciones descritas anteriormente se pueden


resumir en los siguientes pasos, que iremos efectuando
sobre el entorno MPLAB 6.4 de Microchip

1. Abrimos el entorno MPLAB y creamos un proyecto


que denominaremos bootloader, para ello utilizaremos el
asistente de creacin de proyectos

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 13


Adaptacin del programa bootloader.asm
2. Fijamos el tipo de microcontrolador que utilizaremos
en nuestro caso el PIC16F876

3. Seleccionamos el entorno

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 14


Adaptacin del programa bootloader.asm
4. Indicamos los path

5. Incluimos en el proyecto el fichero bootldr.asm que se


gener al descomprimir y que habremos llevado a la
carpeta donde hemos situado el proyecto

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 15


Adaptacin del programa bootloader.asm
6. Picamos en finalizar
para indicar que hemos
terminado con la
inicializacin del proyecto

7. El resumen del proyecto que acabamos de crear es:

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 16


Adaptacin del programa bootloader.asm

8. Abrimos el programa bootloader.asm, para ello


simplemente hacemos doble clic sobre su nombre.

Hacer doble clic para abrir

7. El programa bootloader se muestra en las siguientes


transparencias, y sobre l deberemos hacer modificaciones
para ajustarlo a nuestro proyecto :

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 17


15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 18
Seccin fijada por el usuario
Esta es la parte del programa que
deberemos modificar en funcin
del micro F. de oscilacin,
velocidad de comunicacin .

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 19


Adaptacin del programa bootloader.asm
Seguidamente se traduce la seccin que deber fijar el
usuario:
;================== User setting section ======================================

list p=16f876 ; <<< fijar el tipo de micronctrolador


; Poner el mismo microcontrolador en el proyecto
#include <p16f876.inc> ; <<< Poner el fichero *.inc para el microcontrolador seleccionado

#define FOSC D'4000000' ;<<< Poner la frecuencia del cuarzo (Hz), max. 20 MHz
#define BAUD D'9600' ;<<< Poner la velocidad de transmisin baud rate (Bd)
#define BAUD_ERROR D'4' ;<<< Poner la tasa de error (%)
#define TIME ;<<< Poner el mtodo de de inicio del bootloader
;PIN/TIME/AUTO
; ;
;Disparo por puesta a nivel bajo swe la seal de disparo
;TIME inicia la recepcin del byte despus del RESET
#define PORT PORTB ; <<< solo para el PIN del puerto en juego PORTB/PORTC/PORTD/PORTE
#define PORT_BIT 7 ; <<<Solo para PIN, poner el bit de la lnea seleccionada 0/1/2/3/4/5/6/7
#define TIMEOUT D'3' ; <<< solo para TIME fijar el tiempo (0.1 s), max. 25.5 s

;=============== End of user setting section ==================================

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 20


Adaptacin del programa bootloader.asm

El resto del programa bootldr.asm no deber ser


modificado, seguidamente deberemos ensamblar el
programa que acabamos de modificar para obtener un
fichero bootldr.HEX que es el que grabaremos como
RESIDENTE en nuestro microntrolador y que nos
permitir utilizar la utilidad DOWNLOADER.

Ensamblamos el programa
una vez modificado

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 21


Fichero bootldr.HEX
El fichero bootldr.HEX que obtenemos, y que podemos
abrir dentro del entorno MPLAB es:

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 22


Fichero bootldr.LST y Mapa de memoria
Tambien dentro del entorno MPLAB, si abrimos el
fichero bootldr.LST y visualizamos la ltima parte de
dicho fichero podemos comprobar el mapa de memoria:

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 23


Mapa de memoria de bootldr.HEX
Si estudiamos el anterior mapa podemos verificar que el
programa bootldr ocupa las 4 primeras posiciones de
memoria 0000h:0003h y adems desde 0x1F04 a
0x1FFF.
Esta misma informacin se encuentra en el fichero
readme.

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 24


Mapa de memoria de bootldr.HEX
Debemos tener en cuenta por tanto que:
1. Cuando escribamos un programa a grabar con el
downloader en un microcontrolador que ya tenga
residente el bootloader dicho programa debe comenzar
en la direccin 0x05 (aqu ir la etiqueta INICIO)
2. En la direccin 0x1F00 deberemos incluir las
siguientes instrucciones:

ORG 0X1F00
bcf PCLATH,4 ;seleccin banco 0 de memoria
bcf PCLATH,3
goto INICIO ;INICIO es la etiqueta donde
;comienza el programa creado
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 25
Grabacin del fichero bootldr.HEX en el
microcontrolador
Todos los pasos anteriores han ido encaminados a
obtener un fichero que hemos llamado bootldr.HEX y
que debemos grabar en nuestro micontrolador, donde
quedar residente.

Es este programa junto con la aplicacin


PIC_downloader los que posteriormente nos permitir
grabar programas dentro del micro utilizando la USART
del propio MICROCONTROLADOR.

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 26


Grabacin del fichero bootldr.HEX en el
microcontrolador
La grabacin del programa bootldr.hex en el
microcontrolador la realizaremos con los medios
ya utilizados anteriormente:
Grabador JDM, TE20-SE, o similar, que podemos
adquirir en tiendas de electrnica

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 27


Grabacin del fichero bootldr.HEX en el
microcontrolador
Programa IC-prog, que es de libre distribucin y
que podemos descargar en www.icprog.com

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 28


Grabacin del fichero bootldr.HEX en el
microcontrolador
Cable para conectar el programador a travs de COM1 o
COM2 , este cable se puede comprar o fabricar con dos
DB9 unidos por un cable, hay que tener en cuenta que
dicho cable no tiene que tener cruzadas los pines RX y
TX; es decir el pin 1 se conecta al 1, el 2 al 2 y as
sucesivamente

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 29


Grabacin del fichero bootldr.HEX en el
microcontrolador
Si solo dispone del grabador/entrenador para 16F84
que utilizamos en el laboratorio, deber realizar lo
siguiente:

1. Extraiga el 16F84 del zcalo


2. Inserte la placa en una protoboard en la cual tendr
tambin situado el micro a grabar
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 30
Grabacin del fichero bootldr.HEX en el
microcontrolador
3. Lleve desde los pines de la placa del F84 al micro a
grabar las siguientes seales:
GND y VCC
MCLR/VPP
RB7/ Data I/O
RB6 /CLK
4. Grabe el programa en el micro mediante la utilidad
ICPROG y como se ha indicado con anterioridad, desde
este momento ya puede utilizar el programa de
grabacin PIC downloader
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 31
Manejo del programa PIC downloader
Para poder utilizar el programa, es imprescindible que el
micro a grabar tenga residente el programa
BOOTLOADER.
Adems como se ha indicando anteriormente se habrn
hecho las correspondiente modificaciones en el
programa que deseamos grabar.

Como ejemplo se da un programa elemental que


incluyen estas modificaciones:

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 32


Modificaciones para trabajar
con el PIC downloader

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 33


Inserte la placa de desarrollo en el entrenador (para
alimentar el PIC).
Conecte la placa de desarrollo al PC mediante el cable
MODEN NULL que hemos construido,

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 34


Ejecute el programa PIC downloader, debe visualizar
una ventana como la que sigue:

Seleccione el puerto de comunicaciones que utilizar.


En el caso de que la velocidad de transmisin sea
diferente seleccione el valor de 9600 baudios.
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 35
Pulse el botn de bsqueda (Search) y seleccione el
programa a cargar en el PIC.

Pulse el botn de Write ( F4), ver la evolucin de la


carga mediante una barra azul, y a la vez el mensaje
writing, plase wait.

CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 36


Cuando haya finalizado el proceso, veremos la siguiente
ventana:

Si hacemos un reset sobre la placa de desarrollo, el


programa comenzar a ejecutarse.
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 37
El cable de conexin
El cable de conexin entre la placa y el PC ser un
MODEM NULL, con 2 DB9H en sus extremos.

15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 38