Académique Documents
Professionnel Documents
Culture Documents
GRABADOR
GRABADOR
PARA EL PIC 16F876
PARA EL PIC 16F876
, se indic
, se indic
que se utilizar
que se utilizar
a una
a una
aplicaci
aplicaci
n de distribuci
n de distribuci
gina en cuesti
gina en cuesti
n es:
n es:
15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 4
PIC downloaderV1.8
Si hacemos clic sobre PIC
Si hacemos clic sobre PIC
downloader
downloader
Se nos activar
Se nos activar
la siguiente ventana:
la siguiente ventana:
PIC downloaderV1.8
15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 5
En ella indicamos que deseamos guardar el fichero,
En ella indicamos que deseamos guardar el fichero,
pasando a la siguiente ventana:
pasando a la siguiente ventana:
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 6
PIC downloaderV1.8
En ella indicamos el sitio donde deseamos guardar el
En ella indicamos el sitio donde deseamos guardar el
fichero, as
fichero, as
: en nuestro caso
: en nuestro caso
en la carpeta descargas y dejamos el nombre que trae por
en la carpeta descargas y dejamos el nombre que trae por
defecto.
defecto.
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 7
PIC downloaderV1.8
Una vez finalizada la descarga tendremos un fichero
Una vez finalizada la descarga tendremos un fichero
comprimido como el mostrado:
comprimido como el mostrado:
Descomprimimos el fichero obteniendo:
Descomprimimos el fichero obteniendo:
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 8
PIC downloaderV1.8
Volvemos a descomprimir los ficheros bootldr103 y
Volvemos a descomprimir los ficheros bootldr103 y
PIC_downloader_source
PIC_downloader_source
_108 obtenemos:
_108 obtenemos:
9
PIC downloaderV1.8
De todo lo obtenido lo que utilizaremos es:
De todo lo obtenido lo que utilizaremos es:
PIC_downloader
PIC_downloader
: es la aplicaci
: es la aplicaci
n, o programa de
n, o programa de
grabaci
grabaci
n
n
obtenemos la siguiente ventana:
obtenemos la siguiente ventana:
PIC downloaderV1.8
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 10
Fichero de texto
Fichero de texto
bootldr
bootldr
, que contiene un programa escrito
, que contiene un programa escrito
en ensamblador para los PIC y sobre el que deberemos
en ensamblador para los PIC y sobre el que deberemos
efectuar modificaciones para adaptarlo al modelo de
efectuar modificaciones para adaptarlo al modelo de
pic
pic
con el que estemos trabajando
con el que estemos trabajando
Fichero de texto
Fichero de texto
readme
readme
que contiene informaci
que contiene informaci
n de
n de
c
c
mo utilizar la aplicaci
mo utilizar la aplicaci
n
n
PIC_downloader
PIC_downloader
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 11
Como utilizar el bootloader/downloader
Abrimos el fichero de texto
Abrimos el fichero de texto
readme
readme
, que nos da
, que nos da
indicaciones sobre como utilizar el
indicaciones sobre como utilizar el
bootloader
bootloader
, en nuestro
, en nuestro
caso las adaptamos al entorno MPLAB V6.4
caso las adaptamos al entorno MPLAB V6.4
15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 12
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 13
Adaptacin del programa bootldr.asm
Las indicaciones descritas anteriormente se pueden
Las indicaciones descritas anteriormente se pueden
resumir en los siguientes pasos, que iremos efectuando
resumir en los siguientes pasos, que iremos efectuando
sobre el entorno MPLAB 6.4 de Microchip
sobre el entorno MPLAB 6.4 de Microchip
1.
1.
Abrimos el entorno MPLAB y creamos un proyecto
Abrimos el entorno MPLAB y creamos un proyecto
que denominaremos
que denominaremos
bootloader
bootloader
, para ello utilizaremos el
, para ello utilizaremos el
asistente de creaci
asistente de creaci
n de proyectos
n de proyectos
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 14
Adaptacin del programa bootloader.asm
2.
2.
Fijamos el tipo de microcontrolador que utilizaremos
Fijamos el tipo de microcontrolador que utilizaremos
en nuestro caso el PIC16F876
en nuestro caso el PIC16F876
3.
3.
Seleccionamos el entorno
Seleccionamos el entorno
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 15
Adaptacin del programa bootloader.asm
4.
4.
Indicamos los
Indicamos los
path
path
5. Incluimos en el proyecto el fichero
5. Incluimos en el proyecto el fichero
bootldr.asm
bootldr.asm
que se
que se
gener
gener
n del proyecto
n del proyecto
7. El resumen del proyecto que acabamos de crear es:
7. El resumen del proyecto que acabamos de crear es:
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 17
Adaptacin del programa bootloader.asm
8.
8.
Abrimos el programa
Abrimos el programa
bootloader.asm
bootloader.asm
, para ello
, para ello
simplemente hacemos doble clic sobre su nombre.
simplemente hacemos doble clic sobre su nombre.
7. El programa
7. El programa
bootloader
bootloader
se muestra en las siguientes
se muestra en las siguientes
transparencias, y sobre
transparencias, y sobre
n que deber
n que deber
fijar el
fijar el
usuario:
usuario:
;================== ;==================User User setting setting section section ====================================== ======================================
list list p=16f876 p=16f876 ; <<< fijar el tipo de ; <<< fijar el tipo de micronctrolador micronctrolador
; Poner el mismo microcontrolador en el proyecto ; Poner el mismo microcontrolador en el proyecto
#include #include <p16f876. <p16f876.inc inc> > ; <<< Poner el fichero *. ; <<< Poner el fichero *.inc inc para el microcontrolador seleccionado para el microcontrolador seleccionado
#define #define FOSC D'4000000' FOSC D'4000000' ;<<< Poner la frecuencia del cuarzo ( ;<<< Poner la frecuencia del cuarzo (Hz Hz), ), max max. 20 . 20 MHz MHz
#define #define BAUD D'9600' BAUD D'9600' ;<<<Poner la velocidad de transmisi ;<<<Poner la velocidad de transmisi n n baud baud rate rate ( (Bd Bd) )
#define #define BAUD_ERROR BAUD_ERROR D'4' D'4' ;<<<Poner la tasa de error (%) ;<<<Poner la tasa de error (%)
#define #define TIME TIME ;<<<Poner el m ;<<<Poner el m todo de todo de de de inicio del inicio del bootloader bootloader
;PIN/TIME/AUTO ;PIN/TIME/AUTO
; ; ; ;
;Disparo por puesta a nivel bajo ;Disparo por puesta a nivel bajo swe swe la se la se al de disparo al de disparo
;TIME ;TIME inicia la recepci inicia la recepci n del n del byte byte despu despu s del RESET s del RESET
#define #define PORT PORTB PORT PORTB ; <<< solo para el PIN del puerto en juego PORTB/PORTC/PORTD/PO ; <<< solo para el PIN del puerto en juego PORTB/PORTC/PORTD/PORTE RTE
#define #define PORT_BIT PORT_BIT 7 7 ; <<<Solo para PIN, poner el bit de la l ; <<<Solo para PIN, poner el bit de la l nea seleccionada 0/1/2/3/4/5/6/7 nea seleccionada 0/1/2/3/4/5/6/7
#define #define TIMEOUT TIMEOUT D'3' D'3' ; <<<solo para TIME ; <<<solo para TIME fijar el tiempo (0.1 s), fijar el tiempo (0.1 s), max max. 25.5 s . 25.5 s
;=============== ;===============End End of of user user setting setting section section ================================== ==================================
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 21
Adaptacin del programa bootloader.asm
RESIDENTE
RESIDENTE
en nuestro
en nuestro
microntrolador
microntrolador
y que nos
y que nos
permitir
permitir
utilizar la utilidad
utilizar la utilidad
DOWNLOADER.
DOWNLOADER.
Ensamblamos el programa
una vez modificado
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 22
Ficherobootldr.HEX
El fichero
El fichero
bootldr.HEX
bootldr.HEX
que obtenemos, y que podemos
que obtenemos, y que podemos
abrir dentro del entorno MPLAB es:
abrir dentro del entorno MPLAB es:
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 23
Fichero bootldr.LST y Mapa de memoria
Tambien
Tambien
dentro del entorno MPLAB, si abrimos el
dentro del entorno MPLAB, si abrimos el
fichero
fichero
bootldr.LST
bootldr.LST
y visualizamos la
y visualizamos la
ltima parte de
ltima parte de
dicho fichero podemos comprobar el mapa de memoria:
dicho fichero podemos comprobar el mapa de memoria:
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 24
Mapa de memoria de bootldr.HEX
s desde 0x1F04 a
s desde 0x1F04 a
0x1FFF.
0x1FFF.
n se encuentra en el fichero
n se encuentra en el fichero
readme
readme
.
.
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 25
Mapa de memoria de bootldr.HEX
n 0x05 (aqu
n 0x05 (aqu
ir
ir
la etiqueta
la etiqueta
INICIO
INICIO
)
)
2.
2.
En la direcci
En la direcci
residente.
residente.
n
n
PIC_downloader
PIC_downloader
los que posteriormente nos permitir
los que posteriormente nos permitir
n del programa
n del programa
bootldr.hex
bootldr.hex
en el
en el
microcontrolador la realizaremos con los medios
microcontrolador la realizaremos con los medios
ya utilizados anteriormente:
ya utilizados anteriormente:
Grabador J DM, TE20
Grabador J DM, TE20
-
-
SE, o similar, que podemos
SE, o similar, que podemos
adquirir en tiendas de electr
adquirir en tiendas de electr
nica
nica
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 28
Grabacin del fichero bootldr.HEX enel
microcontrolador
Programa IC
Programa IC
-
-
prog
prog
, que es de libre distribuci
, que es de libre distribuci
n y
n y
que podemos descargar en
que podemos descargar en
www.icprog.com
www.icprog.com
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 29
Grabacin del fichero bootldr.HEX enel
microcontrolador
Cable para conectar el programador a trav
Cable para conectar el programador a trav
s de COM1 o
s de COM1 o
COM2 , este cable se puede comprar o fabricar con dos
COM2 , este cable se puede comprar o fabricar con dos
DB9 unidos por un cable, hay que tener en cuenta que
DB9 unidos por un cable, hay que tener en cuenta que
dicho cable
dicho cable
no
no
tiene que tener cruzadas los pines RX y
tiene que tener cruzadas los pines RX y
TX; es decir el pin 1 se conecta al 1, el 2 al 2 y as
TX; es decir el pin 1 se conecta al 1, el 2 al 2 y as
sucesivamente
sucesivamente
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 30
Grabacin del fichero bootldr.HEX enel
microcontrolador
Si solo dispone del grabador/entrenador para 16F84
Si solo dispone del grabador/entrenador para 16F84
que utilizamos en el laboratorio, deber
que utilizamos en el laboratorio, deber
realizar lo
realizar lo
siguiente:
siguiente:
1.
1.
Extraiga el 16F84 del z
Extraiga el 16F84 del z
calo
calo
2.
2.
Inserte la placa en una
Inserte la placa en una
protoboard
protoboard
en la cual tendr
en la cual tendr
tambi
tambi
ales:
ales:
GND y VCC
GND y VCC
MCLR/VPP
MCLR/VPP
RB7/ Data I/O
RB7/ Data I/O
RB6 /CLK
RB6 /CLK
4.
4.
Grabe el programa en el micro mediante la utilidad
Grabe el programa en el micro mediante la utilidad
ICPROG y como se ha indicado con anterioridad, desde
ICPROG y como se ha indicado con anterioridad, desde
este momento ya puede utilizar el programa de
este momento ya puede utilizar el programa de
grabaci
grabaci
n PIC
n PIC
downloader
downloader
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 32
Manejo del programa PIC downloader
Para poder utilizar el programa, es imprescindible que el
Para poder utilizar el programa, es imprescindible que el
micro a grabar tenga residente el programa
micro a grabar tenga residente el programa
BOOTLOADER.
BOOTLOADER.
Adem
Adem
n
n
hecho las correspondiente modificaciones en el
hecho las correspondiente modificaciones en el
programa que deseamos grabar.
programa que deseamos grabar.
Como ejemplo se da un programa elemental que
Como ejemplo se da un programa elemental que
incluyen estas modificaciones:
incluyen estas modificaciones:
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 33
Modificaciones para trabajar
con el PIC downloader
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 34
Inserte la placa de desarrollo en el entrenador (para
Inserte la placa de desarrollo en el entrenador (para
alimentar el PIC).
alimentar el PIC).
Conecte la placa de desarrollo al PC mediante el cable
Conecte la placa de desarrollo al PC mediante el cable
MODEN NULL que hemos construido,
MODEN NULL que hemos construido,
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 35
Ejecute el programa PIC
Ejecute el programa PIC
downloader
downloader
, debe visualizar
, debe visualizar
una ventana como la que sigue:
una ventana como la que sigue:
Seleccione el puerto de comunicaciones que utilizar
Seleccione el puerto de comunicaciones que utilizar
.
.
En el caso de que la velocidad de transmisi
En el caso de que la velocidad de transmisi
n sea
n sea
diferente seleccione el valor de 9600 baudios.
diferente seleccione el valor de 9600 baudios.
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 36
Pulse el bot
Pulse el bot
n de b
n de b
squeda (
squeda (
Search
Search
) y seleccione el
) y seleccione el
programa a cargar en el PIC.
programa a cargar en el PIC.
Pulse el bot
Pulse el bot
n de
n de
Write
Write
(
(
F4), ver
F4), ver
la evoluci
la evoluci
n de la
n de la
carga mediante una barra azul, y a la vez el mensaje
carga mediante una barra azul, y a la vez el mensaje
writing
writing
,
,
plase
plase
wait
wait
.
.
CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 37
Cuando haya finalizado el proceso, veremos la siguiente
Cuando haya finalizado el proceso, veremos la siguiente
ventana:
ventana:
Si hacemos un reset sobre la placa de desarrollo, el
Si hacemos un reset sobre la placa de desarrollo, el
programa comenzar
programa comenzar
a ejecutarse.
a ejecutarse.
15/12/2006 CF D.P.E. PROYECTOS Bootloader/Downloader para PIC 16F876 38
El cable de conexin
El cable de conexin entre la placa y el PC serun
MODEM NULL, con 2 DB9H en sus extremos.