SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
S
i habéis utilizado un
programador por el
puerto serie del ordena-
dor para programar los
PIC16F87X, utilizando
el maravilloso software libre IC-
Prog, habréis comprobado que el
tiempo de carga del PIC16F876,
por ejemplo, que tiene 8K es de
varios minutos que se hacen
interminables, sobretodo cuando
estamos programando y depu-
rando programas.
Lo que presentamos en este
curso es un circuito que a través
de la USAR de los PIC 16F87X
es capaz de ponerse en comuni-
cación con ellos y cargar en la
memoria de programa el código
hexadecimal del programa que
queremos que se ejecute. Esto
reduce considerablemente el
tiempo de programación ya que
solo carga los códigos del pro-
grama que queremos cargar.
La placa que hemos diseñado
además de utilizarla como pro-
gramadora, se puede utilizar
como placa de desarrollo, ya que
se dispone de acceso a todos y
cada uno de los pines del micro-
controlador a través de la tira de
postes para circuito impreso
macho acodados y dispone de un
circuito oscilador a cristal en
nuestro caso a 4 MHz, tal y como
se puede ver en el circuito de la
Figura 1.
DESCRIPCIÓN DEL CIRCUITO
El circuito consta de un
microcontrolador PIC16F876 al
que se le han conectado un cristal
de cuarzo de 4MHz y los
condensadores de desacoplo de 27
pF y un pulsador que cuando se
activa pone un nivel bajo en la
entrada MCLR para provocar un
RESET del sistema. Además para
poder conectar la USART del
microcontrolador al ordenador, se
ha utilizado un circuito adaptador
de niveles MAX232, tal y como
indica el fabricante en sus notas
de aplicación, y por último se le
ha dotado de un conector
acodado DB-9 macho para poder
conectar el circuito al puerto serie
CURSO DE
MICROCONTROLADORES
PIC16F87X (...y III)
CURSO DE
MICROCONTROLADORES
PIC16F87X (...y III)
Fernando Remiro Domínguez
Profesor de Sistemas Electrónicos
IES. Juan de la Cierva
www.terra.es/personal/fremiro
MICROCONTROLADORES
54RESISTOR
Programador para PIC16F87X con bootloader.
Curso microcontroladoresPAGS 27/12/02 10:01 Página 54
del ordenador. El cable de
conexión debe ser un modem
nulo, es decir, un cable que solo
necesita la línea de masa
conectada al terminal 5 de los dos
conectores y se cruzan las líneas 2
de un extremo (RxD) con la 3 del
otro (TxD) y viceversa. Ver el
diagrama de conexión de la
Figura 3.
Además la placa dispone de
un conector ARJ11, conectado a
las líneas MCLR, RB3, RB6 y
RB7 del microcontrolador, lo
que permite realizar la conexión
a un módulo ICD (Depurador en
circuito), que como veremos es
una herramienta de bajo costo
que conectada al PC y en el
mismo entorno del MPLAB,
permite la visualización de los
registros del microcontrolador
en los puntos de ruptura que se
establezcan. Pudiéndose ejecutar
los programas en tiempo real o
en modo paso a paso.
Figura 1.- circuito de la placa de desarrollo y de programación con el bootloadaer
VSS
VDD
VCC
VCC
VCC
VCC
VCC
VCC
VSS
VCC
RC2
TXPC
RC7
RC6
RB7
RB3
RA5
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA4
RA3
RA2
RA1
RB6
MCLR
MCLR
RC7
RC6
RB3
MCLR
RB0
RC3
RA3
RC5
RB1RA5
RA2
RB2
RB6
RA1
RC1
RC0
RA0
RC4
RB4
RB5
RB7
RA4
RXPC
RXPC
TXPC
R2
100
R1
10K
J1
CON6
1
2
3
4
5
6
C5
1uF
C2
1uF
C3
1uF
C1
1uF
C8
0.1u
P1
DB9
5
9
4
8
3
7
2
6
1
C4
1uF
U1
MAX232
1
2
3
6
4
5
14
13
12
11
9
10
8
7 15
16
C1+
V+
C1-
V-
C2+
C2-
T1OUT
R1IN
R10UT
T1IN
9
10
8
7 GND
VCC
U2
PIC16F873
1
2
3
4
5
6
7
9
10
11
12
13
14
28
27
26
25
24
23
22
21
18
17
16
15
20
19
8
MCLR/VPP
RA0/AN0
RA1/AN1
RA2/AN2
RA3/AN3/VREF
RA4/TOCKI
RA5/SS/AN4
OSC1/CLKIN
OSC2/CLKOUT
RC0/T1OS0/T1CKI
RC1/T1OS1/CCP2
RC2/CCP1
RC3/SCK/SCL
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0/INT
RC7/RX/DT
RC6/TX/CK
RC5/SDO
RC4/SDI/SDA
VDD
VSS
VSS
SW1
RESET
J2
CON25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
E1
ESP
C6 27pF
C7 27pF
X1
4MHz
CONECTOR RJ11
DEBUGE
Figura 2.- Conexión del ICD a
la placa de desarrollo.
Figura 3 .- Cable de conexión MODEM nulo para la conexión de la placa de desarrollo
con el PC.
Curso microcontroladoresPAGS 27/12/02 10:01 Página 55
COMO UTILIZAR
EL PROGRAMA
BOOTLOADER
1. En primer lugar debemos
obtener el programa en la
siguiente web http://www.ehl.cz/
pic/pic_e.htm , donde también se
puede obtener el PIC donwloa-
der V1.8.
2. Abrir el proyecto bootldr.pjt
utilizando el programa
Microchip MPLAB y cambiar
los parámetros de la sección
de usuario marcados dentro
del ensamblador con las mar-
cas <<<, tal y como se muestra
en la Tabla 1, en la que hemos
fijado el microcontrolador
PIC16F876, con un oscilador
de 4MHz, una velocidad de
transmisión de 9600 baudios y
utiliza el pin 7 del PORTB
como señal de disparo para
ejecutar el bootloader cuando
está a nivel bajo y correr el
programa de usuario cuando
está a nivel alto. Por tiempo
entra en el programa de usua-
rio después de haber pasado
0,3 segundos sin recibir la
palabra de IDENTIFICA-
CIÓN.
3. Si se modifica alguno de los
parámetros anteriores, debe-
mos de volver a compilar el
programa bootldr.asm.
4. Programar el microcontrola-
dor con el archivo bootldr.hex
utilizando cualquier progra-
mador de los que ya se han
visto en esta Revista, por
ejemplo el que el que aparece
en el módulo de aprendizaje
de microcontroladores PIC
que apareció en el número
189. Poniendo los bits de con-
figuración para que el micro-
controlador trabaje en la apli-
cación.
5. Recompilar el programa de la
aplicación para que no borre el
bootloader. El bootloader usa
los 256 bytes de la parte alta de
memoria de programa
(0x1F04-0x1FFF).
Llegado a este punto lo más
aclaratorio es ver un ejemplo
con un programa que utiliza
este método de carga del pro-
grama de usuario en el micro-
controlador.
El programa TMR0_1.asm es
un programa ejemplo que uti-
liza una temporización utili-
zando TMR0 sin utilizar las
interrupciones. Realiza una
temporización de 32,77 ms
que se emplea para hacer par-
padear los diodos LED pares
o impares respectivamente
conectados al PORTB. En el
código de este programa con
separados por un ";" (es decir,
como un comentario) se
encuentran las instrucciones
de salto a INICIO que utiliza-
ríamos con un programador
convencional. Y al final del
programa, en la posición
de memoria 0x1F00 hemos
escrito:
MICROCONTROLADORES
56RESISTOR
;============================ Sección fijada por el usuario ==========================
list p=16f876 ; <<< fijar el tipo de microcontrolador
;Poner el mismo microcontrolador en el proyecto
#include <p16f876.inc> ; <<< poner el archivo *.inc del microcontrolador seleccionado
#define FOSC D'4000000' ;<<< Poner la frecuencia del cuarzo (Hz), max. 20 MHz
#define BAUD D'9600' ;<<< poner la velocidad de transmisión (Bd)
#define BAUD_ERROR D'4' ;<<< Poner la tasa de error (%)
#define TIME ;<<< Poner el método inicio del bootloader PIN/TIME/AUTO
;Disparo por puesta a nivel bajo de la señal de disparo
;TIME Inicia la recepción del byte de IDENT después el RESET
#define POR PORTB ;<<< solo para el PIN – del puerto en juego
PORTB/PORTC/PORTD/PORTE
#define PORT_BIT 7 ; <<< solo para el pin PIN – poner el bit de la línea
seleccionada 0/1/2/3/4/5/6/7
#define TIMEOUT D'3' ; <<< solo para el TIME – fijar el tiempo(0.1 s), max. 25.5 s
;============ Fin de la sección fijada por el usuario ====================================
Tabla 1.- Sección del programa bootloader que debe fijar el usuario.
ORG 0x1F00
bcf PCLATH,4 ;Selecciona el banco 0 de memoria
bcf PCLATH,3
goto INICIO
Curso microcontroladoresPAGS 27/12/02 10:01 Página 56
Es decir, en las posiciones de
memoria 0x1F00-0x1F03, escri-
bimos un salto largo de 14 bits a
la posición de memoria INICIO,
que está en el banco cero de
memoria de programa. Esto últi-
mo debe verificarse si se utiliza
un compilador en C.
6. Recompilar el programa de la
aplica
COMO REALIZAR LA CARGA
EN EL MICROCONTROLADOR
1. En primer lugar se conecta la
placa de desarrollo al PC
mediante un cable de modem
nulo, tal y como se comento
anteriormete.
2. Para realizar la carga del pro-
grama de usuario, vamos a
utilizar un programa de
"carga" freware, se trata del
PIC downloader de Petr
Kolomaznik y que hemos con-
MICROCONTROLADORES
57RESISTOR
;****************************************************************************
; Programa TMR0_1.ASM Fecha : 7- Mayo-2002
; Este programa utiliza una temporización utilizando TMR0 sin utilizar las interrupciones.
;Se realiza una temporización de 32,77 ms que se emplea para hacer parpadear los diodos LED
; pares o impares respectivamente conectados al PORTB
; Programa preparado para cargar con el PIC downlader
; Revisión : 0.1 Programa para PIC16F87X
; Velocidad del Reloj: 4 MHz Reloj Instrucción: 1 MHz = 1 uS
; Perro Guardián: Deshabilitado Tipo de Reloj : XT
; Protección del código: OFF
;*****************************************************************************
List p=16F876 ;Tipo de procesador
include "P16F876.INC" ;Definiciones de registros internos
;ORG 0x00 ; Inicio del programa en
;goto INICIO
ORG 0x05 ;salva el vector de Interrupciones
INICIO bcf STATUS,RP1
bsf STATUS,RP0 ; Banco 1
movlw b'11010111' ; Valor a cargar en OPTION_REG
movwf OPTION_REG ; predivisor 256 asignado a TMR0
clrf TRISB ; PORTB como salida
bcf STATUS,RP0 ; Banco 0
clrf PORTB ; Apaga los LEDS del PORTB
BUCLE movlw b'01010101'
movwf PORTB ; Enciende los LED impares del PORTB
call RETARDO ; Llamada a subrutina de RETARDO
movlw b'10101010'
movwf PORTB ; Enciende los LED pares del PORTB
call RETARDO
goto BUCLE
RETARDO
clrf TMR0 ; TMR0 = 0 y empieza su incremento
EXPLORA
btfss TMR0,7 ; Es el bit 7 de TMR0=1?
goto EXPLORA ; No ha llegado TMR0 a 128 Decial
return ; Ha llegado TMR0 al valor 128D y retorna
; al programa principal
ORG 0x1F00
bcf PCLATH,4 ;Selecciona el banco 0 de memoria
bcf PCLATH,3
goto INICIO ;Salta a INICIO
END
Tabla 2.- Programa TMR0-1.asm para cargar con el bootloader.
Curso microcontroladoresPAGS 27/12/02 10:01 Página 57
seguido en la web
http://www.microchipc.com/ .
Una vez instalado, al ejecutar-
lo, aparece una pantalla
como la que se muestra en la
Figura 5.
3. Seleccionamos la velocidad de
transmisión en baudios, en
nuestro caso 9600, el puerto
serie de comunicación, en el
ejemplo hemos seleccionado
el COM2 y buscamos el nom-
bre del programa en código
hexadecimal que queremos
cargar en el microcontrolador,
TMR0-1.hex.
Este programa tiene las
siguientes teclas de función
rápida:
F2 - Búsqueda
F4 - Escribir
ESC - Cancelación
F10 - Salida
4. Seguidamente se pulsa el
botón de RESET y el progra-
ma se carga en el microcon-
trolador PIC. Según se va rea-
lizando la carga, aparece un
indicador de carga (línea
azul) y al finalizar la carga
suena una señal acústica.
5. Si volvemos a actuar manual-
mente sobre el pulsador de
RESET, se ejecutará el pro-
grama de usuario.
MICROCONTROLADORES
58RESISTOR
Salto al Bootloader
Espacio de memoria,
para cargar los
programas transmitidos
Salto al programa
de usuario
Código del Bootloader
0x1FFF
0x1F04
0x1F00
0x0004
0x0000
El Bootloader utiliza las
4 primeras posiciones
(0x0000-0x0003)
Espacio disponible
para el programa
del usuario
(0x0004-0x1EFF)
Primeras 4 posiciones
para el usuario
(0x1F00-0x1F03)
Código del programa
Bootloader
(0x1F04-0x1FFF)
Figura 4.- Mapa de memoria del Bootloader para un microcontrola-
dor de 8KBytes.
Figura 5.- Apariencia de la
pantalla que aparece al ejecutar el
programa PIC dowloader.
Características del programa PIC dowloader 1.8 :
q Compatible con el bootloader de HI-TECH's o de Shane Tolmie
para los microcontroladores PIC16F87x
q Funcionamientos bajo Windows 9x/ME/NT/2000
q Selección de la velocidad a partir del 2400 a 56000 Bd
q Selección del puerto serie entre el COM1-6
q Trabaja con datos de EEPROM en el archivo hexadecimal
q No envía la palabra de los configuración a la posición 0x2007 o
palabra de la identificación desde el bootloader
q Mantiene las últimas configuraciones
q Se incluye el código de fuente
q El downloader del PIC se controla al realizar una señal de dispa-
ro del RESET en el microcontrolador
q Se trabaja en ensamblador para todos aquellos programadores
que no utilizan el lenguaje C. El bootloader es muy fácil de recom-
pilar para otros microcontroladores actualizando el pin/tieme y la
frecuencias del cristal de cuarzo. Solo se necesita el programa
MPLAB de Microchip que también es gratuito.
q Se puede obtener en las siguientes webs: (http://www.ehl.cz/pic/)
(http://www.microchipc.com/)
Curso microcontroladoresPAGS 27/12/02 10:01 Página 58

Más contenido relacionado

La actualidad más candente

Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Hamiltonn Casallas
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84guestf09168b
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5Luis Zurita
 
Manejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84aManejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84axeleta
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3Luis Zurita
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2Luis Zurita
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Alejandra Ruiz
 
Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Hamiltonn Casallas
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2Luis Zurita
 

La actualidad más candente (18)

Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5
 
Manejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84aManejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84a
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
PicSumador
PicSumadorPicSumador
PicSumador
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
Timers 2
Timers 2Timers 2
Timers 2
 
Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 

Destacado

Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Hamiltonn Casallas
 
Conceptos básicos de electricidad
Conceptos básicos de electricidadConceptos básicos de electricidad
Conceptos básicos de electricidadHamiltonn Casallas
 
Diseño de un amplificador de RF.
Diseño de un amplificador de RF.Diseño de un amplificador de RF.
Diseño de un amplificador de RF.Hamiltonn Casallas
 
Amplificador de potencia de audio
Amplificador de potencia de audioAmplificador de potencia de audio
Amplificador de potencia de audioHamiltonn Casallas
 
Armado de un amplificador para automovil.
Armado de un amplificador para automovil.Armado de un amplificador para automovil.
Armado de un amplificador para automovil.Hamiltonn Casallas
 
Acoustic analysis and redevelopment of A.Manzoni theatre in Cassino
Acoustic analysis and redevelopment of A.Manzoni theatre in CassinoAcoustic analysis and redevelopment of A.Manzoni theatre in Cassino
Acoustic analysis and redevelopment of A.Manzoni theatre in CassinoLuciano Conte
 
Marketing Inetnship at Pepsico (Jamshedpur)
Marketing Inetnship at Pepsico (Jamshedpur)Marketing Inetnship at Pepsico (Jamshedpur)
Marketing Inetnship at Pepsico (Jamshedpur)nawaz7862013
 
Measurement of dielectric properties of textile materials and their applications
Measurement of dielectric properties of textile materials and their applicationsMeasurement of dielectric properties of textile materials and their applications
Measurement of dielectric properties of textile materials and their applicationsAbdullah Al Mahfuj
 

Destacado (15)

Leyes de Kirchhoff
Leyes de KirchhoffLeyes de Kirchhoff
Leyes de Kirchhoff
 
El resistor
El resistorEl resistor
El resistor
 
El transformador eléctrico.
El transformador eléctrico.El transformador eléctrico.
El transformador eléctrico.
 
Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11
 
Conceptos básicos de electricidad
Conceptos básicos de electricidadConceptos básicos de electricidad
Conceptos básicos de electricidad
 
Fundamentos del diodo.
Fundamentos del diodo.Fundamentos del diodo.
Fundamentos del diodo.
 
Diseño de un amplificador de RF.
Diseño de un amplificador de RF.Diseño de un amplificador de RF.
Diseño de un amplificador de RF.
 
Amplificador de potencia de audio
Amplificador de potencia de audioAmplificador de potencia de audio
Amplificador de potencia de audio
 
Reparacion de radios AM/FM
Reparacion de radios AM/FMReparacion de radios AM/FM
Reparacion de radios AM/FM
 
Armado de un amplificador para automovil.
Armado de un amplificador para automovil.Armado de un amplificador para automovil.
Armado de un amplificador para automovil.
 
Amplificadores en puente.
Amplificadores en puente.Amplificadores en puente.
Amplificadores en puente.
 
Acoustic analysis and redevelopment of A.Manzoni theatre in Cassino
Acoustic analysis and redevelopment of A.Manzoni theatre in CassinoAcoustic analysis and redevelopment of A.Manzoni theatre in Cassino
Acoustic analysis and redevelopment of A.Manzoni theatre in Cassino
 
Marketing Inetnship at Pepsico (Jamshedpur)
Marketing Inetnship at Pepsico (Jamshedpur)Marketing Inetnship at Pepsico (Jamshedpur)
Marketing Inetnship at Pepsico (Jamshedpur)
 
Measurement of dielectric properties of textile materials and their applications
Measurement of dielectric properties of textile materials and their applicationsMeasurement of dielectric properties of textile materials and their applications
Measurement of dielectric properties of textile materials and their applications
 
Heat Transfer
Heat TransferHeat Transfer
Heat Transfer
 

Similar a Curso de microcontroladores capitulo 03

Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PICSohar Carr
 
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedadordy vc
 
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553RoxanneLamas2
 
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5georgemanson69
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte SANTIAGO PABLO ALBERTO
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresSANTIAGO PABLO ALBERTO
 

Similar a Curso de microcontroladores capitulo 03 (20)

Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
 
Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PIC
 
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
 
Pic libre
Pic librePic libre
Pic libre
 
Trabajo plus (1)
Trabajo plus (1)Trabajo plus (1)
Trabajo plus (1)
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
 
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
Bootloader
BootloaderBootloader
Bootloader
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
 

Más de Hamiltonn Casallas

Más de Hamiltonn Casallas (12)

Sistema Ubuntu
Sistema UbuntuSistema Ubuntu
Sistema Ubuntu
 
Compilador CCS y simulador proteus para microcontroladores PIC
Compilador CCS y simulador proteus para microcontroladores PICCompilador CCS y simulador proteus para microcontroladores PIC
Compilador CCS y simulador proteus para microcontroladores PIC
 
Electricidad básica y aplicaciones
Electricidad básica y aplicacionesElectricidad básica y aplicaciones
Electricidad básica y aplicaciones
 
Circuitos impresos
Circuitos impresosCircuitos impresos
Circuitos impresos
 
Disipadores de calor
Disipadores de calorDisipadores de calor
Disipadores de calor
 
Reparación de amplificadores de audio
Reparación de amplificadores de audioReparación de amplificadores de audio
Reparación de amplificadores de audio
 
Amplificador Push - Pull
Amplificador Push - PullAmplificador Push - Pull
Amplificador Push - Pull
 
Construcción de bobinas ajustables.
Construcción de bobinas ajustables.Construcción de bobinas ajustables.
Construcción de bobinas ajustables.
 
Circuito de entrada y antena.
Circuito de entrada y antena.Circuito de entrada y antena.
Circuito de entrada y antena.
 
Radios de AM
Radios de AMRadios de AM
Radios de AM
 
Armando un generador de RF
Armando un generador de RFArmando un generador de RF
Armando un generador de RF
 
La reactancia en la electricidad.
La reactancia en la electricidad.La reactancia en la electricidad.
La reactancia en la electricidad.
 

Último

GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Curso de microcontroladores capitulo 03

  • 1. S i habéis utilizado un programador por el puerto serie del ordena- dor para programar los PIC16F87X, utilizando el maravilloso software libre IC- Prog, habréis comprobado que el tiempo de carga del PIC16F876, por ejemplo, que tiene 8K es de varios minutos que se hacen interminables, sobretodo cuando estamos programando y depu- rando programas. Lo que presentamos en este curso es un circuito que a través de la USAR de los PIC 16F87X es capaz de ponerse en comuni- cación con ellos y cargar en la memoria de programa el código hexadecimal del programa que queremos que se ejecute. Esto reduce considerablemente el tiempo de programación ya que solo carga los códigos del pro- grama que queremos cargar. La placa que hemos diseñado además de utilizarla como pro- gramadora, se puede utilizar como placa de desarrollo, ya que se dispone de acceso a todos y cada uno de los pines del micro- controlador a través de la tira de postes para circuito impreso macho acodados y dispone de un circuito oscilador a cristal en nuestro caso a 4 MHz, tal y como se puede ver en el circuito de la Figura 1. DESCRIPCIÓN DEL CIRCUITO El circuito consta de un microcontrolador PIC16F876 al que se le han conectado un cristal de cuarzo de 4MHz y los condensadores de desacoplo de 27 pF y un pulsador que cuando se activa pone un nivel bajo en la entrada MCLR para provocar un RESET del sistema. Además para poder conectar la USART del microcontrolador al ordenador, se ha utilizado un circuito adaptador de niveles MAX232, tal y como indica el fabricante en sus notas de aplicación, y por último se le ha dotado de un conector acodado DB-9 macho para poder conectar el circuito al puerto serie CURSO DE MICROCONTROLADORES PIC16F87X (...y III) CURSO DE MICROCONTROLADORES PIC16F87X (...y III) Fernando Remiro Domínguez Profesor de Sistemas Electrónicos IES. Juan de la Cierva www.terra.es/personal/fremiro MICROCONTROLADORES 54RESISTOR Programador para PIC16F87X con bootloader. Curso microcontroladoresPAGS 27/12/02 10:01 Página 54
  • 2. del ordenador. El cable de conexión debe ser un modem nulo, es decir, un cable que solo necesita la línea de masa conectada al terminal 5 de los dos conectores y se cruzan las líneas 2 de un extremo (RxD) con la 3 del otro (TxD) y viceversa. Ver el diagrama de conexión de la Figura 3. Además la placa dispone de un conector ARJ11, conectado a las líneas MCLR, RB3, RB6 y RB7 del microcontrolador, lo que permite realizar la conexión a un módulo ICD (Depurador en circuito), que como veremos es una herramienta de bajo costo que conectada al PC y en el mismo entorno del MPLAB, permite la visualización de los registros del microcontrolador en los puntos de ruptura que se establezcan. Pudiéndose ejecutar los programas en tiempo real o en modo paso a paso. Figura 1.- circuito de la placa de desarrollo y de programación con el bootloadaer VSS VDD VCC VCC VCC VCC VCC VCC VSS VCC RC2 TXPC RC7 RC6 RB7 RB3 RA5 RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 RA0 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 RA4 RA3 RA2 RA1 RB6 MCLR MCLR RC7 RC6 RB3 MCLR RB0 RC3 RA3 RC5 RB1RA5 RA2 RB2 RB6 RA1 RC1 RC0 RA0 RC4 RB4 RB5 RB7 RA4 RXPC RXPC TXPC R2 100 R1 10K J1 CON6 1 2 3 4 5 6 C5 1uF C2 1uF C3 1uF C1 1uF C8 0.1u P1 DB9 5 9 4 8 3 7 2 6 1 C4 1uF U1 MAX232 1 2 3 6 4 5 14 13 12 11 9 10 8 7 15 16 C1+ V+ C1- V- C2+ C2- T1OUT R1IN R10UT T1IN 9 10 8 7 GND VCC U2 PIC16F873 1 2 3 4 5 6 7 9 10 11 12 13 14 28 27 26 25 24 23 22 21 18 17 16 15 20 19 8 MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2 RA3/AN3/VREF RA4/TOCKI RA5/SS/AN4 OSC1/CLKIN OSC2/CLKOUT RC0/T1OS0/T1CKI RC1/T1OS1/CCP2 RC2/CCP1 RC3/SCK/SCL RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT RC7/RX/DT RC6/TX/CK RC5/SDO RC4/SDI/SDA VDD VSS VSS SW1 RESET J2 CON25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 E1 ESP C6 27pF C7 27pF X1 4MHz CONECTOR RJ11 DEBUGE Figura 2.- Conexión del ICD a la placa de desarrollo. Figura 3 .- Cable de conexión MODEM nulo para la conexión de la placa de desarrollo con el PC. Curso microcontroladoresPAGS 27/12/02 10:01 Página 55
  • 3. COMO UTILIZAR EL PROGRAMA BOOTLOADER 1. En primer lugar debemos obtener el programa en la siguiente web http://www.ehl.cz/ pic/pic_e.htm , donde también se puede obtener el PIC donwloa- der V1.8. 2. Abrir el proyecto bootldr.pjt utilizando el programa Microchip MPLAB y cambiar los parámetros de la sección de usuario marcados dentro del ensamblador con las mar- cas <<<, tal y como se muestra en la Tabla 1, en la que hemos fijado el microcontrolador PIC16F876, con un oscilador de 4MHz, una velocidad de transmisión de 9600 baudios y utiliza el pin 7 del PORTB como señal de disparo para ejecutar el bootloader cuando está a nivel bajo y correr el programa de usuario cuando está a nivel alto. Por tiempo entra en el programa de usua- rio después de haber pasado 0,3 segundos sin recibir la palabra de IDENTIFICA- CIÓN. 3. Si se modifica alguno de los parámetros anteriores, debe- mos de volver a compilar el programa bootldr.asm. 4. Programar el microcontrola- dor con el archivo bootldr.hex utilizando cualquier progra- mador de los que ya se han visto en esta Revista, por ejemplo el que el que aparece en el módulo de aprendizaje de microcontroladores PIC que apareció en el número 189. Poniendo los bits de con- figuración para que el micro- controlador trabaje en la apli- cación. 5. Recompilar el programa de la aplicación para que no borre el bootloader. El bootloader usa los 256 bytes de la parte alta de memoria de programa (0x1F04-0x1FFF). Llegado a este punto lo más aclaratorio es ver un ejemplo con un programa que utiliza este método de carga del pro- grama de usuario en el micro- controlador. El programa TMR0_1.asm es un programa ejemplo que uti- liza una temporización utili- zando TMR0 sin utilizar las interrupciones. Realiza una temporización de 32,77 ms que se emplea para hacer par- padear los diodos LED pares o impares respectivamente conectados al PORTB. En el código de este programa con separados por un ";" (es decir, como un comentario) se encuentran las instrucciones de salto a INICIO que utiliza- ríamos con un programador convencional. Y al final del programa, en la posición de memoria 0x1F00 hemos escrito: MICROCONTROLADORES 56RESISTOR ;============================ Sección fijada por el usuario ========================== list p=16f876 ; <<< fijar el tipo de microcontrolador ;Poner el mismo microcontrolador en el proyecto #include <p16f876.inc> ; <<< poner el archivo *.inc del microcontrolador seleccionado #define FOSC D'4000000' ;<<< Poner la frecuencia del cuarzo (Hz), max. 20 MHz #define BAUD D'9600' ;<<< poner la velocidad de transmisión (Bd) #define BAUD_ERROR D'4' ;<<< Poner la tasa de error (%) #define TIME ;<<< Poner el método inicio del bootloader PIN/TIME/AUTO ;Disparo por puesta a nivel bajo de la señal de disparo ;TIME Inicia la recepción del byte de IDENT después el RESET #define POR PORTB ;<<< solo para el PIN – del puerto en juego PORTB/PORTC/PORTD/PORTE #define PORT_BIT 7 ; <<< solo para el pin PIN – poner el bit de la línea seleccionada 0/1/2/3/4/5/6/7 #define TIMEOUT D'3' ; <<< solo para el TIME – fijar el tiempo(0.1 s), max. 25.5 s ;============ Fin de la sección fijada por el usuario ==================================== Tabla 1.- Sección del programa bootloader que debe fijar el usuario. ORG 0x1F00 bcf PCLATH,4 ;Selecciona el banco 0 de memoria bcf PCLATH,3 goto INICIO Curso microcontroladoresPAGS 27/12/02 10:01 Página 56
  • 4. Es decir, en las posiciones de memoria 0x1F00-0x1F03, escri- bimos un salto largo de 14 bits a la posición de memoria INICIO, que está en el banco cero de memoria de programa. Esto últi- mo debe verificarse si se utiliza un compilador en C. 6. Recompilar el programa de la aplica COMO REALIZAR LA CARGA EN EL MICROCONTROLADOR 1. En primer lugar se conecta la placa de desarrollo al PC mediante un cable de modem nulo, tal y como se comento anteriormete. 2. Para realizar la carga del pro- grama de usuario, vamos a utilizar un programa de "carga" freware, se trata del PIC downloader de Petr Kolomaznik y que hemos con- MICROCONTROLADORES 57RESISTOR ;**************************************************************************** ; Programa TMR0_1.ASM Fecha : 7- Mayo-2002 ; Este programa utiliza una temporización utilizando TMR0 sin utilizar las interrupciones. ;Se realiza una temporización de 32,77 ms que se emplea para hacer parpadear los diodos LED ; pares o impares respectivamente conectados al PORTB ; Programa preparado para cargar con el PIC downlader ; Revisión : 0.1 Programa para PIC16F87X ; Velocidad del Reloj: 4 MHz Reloj Instrucción: 1 MHz = 1 uS ; Perro Guardián: Deshabilitado Tipo de Reloj : XT ; Protección del código: OFF ;***************************************************************************** List p=16F876 ;Tipo de procesador include "P16F876.INC" ;Definiciones de registros internos ;ORG 0x00 ; Inicio del programa en ;goto INICIO ORG 0x05 ;salva el vector de Interrupciones INICIO bcf STATUS,RP1 bsf STATUS,RP0 ; Banco 1 movlw b'11010111' ; Valor a cargar en OPTION_REG movwf OPTION_REG ; predivisor 256 asignado a TMR0 clrf TRISB ; PORTB como salida bcf STATUS,RP0 ; Banco 0 clrf PORTB ; Apaga los LEDS del PORTB BUCLE movlw b'01010101' movwf PORTB ; Enciende los LED impares del PORTB call RETARDO ; Llamada a subrutina de RETARDO movlw b'10101010' movwf PORTB ; Enciende los LED pares del PORTB call RETARDO goto BUCLE RETARDO clrf TMR0 ; TMR0 = 0 y empieza su incremento EXPLORA btfss TMR0,7 ; Es el bit 7 de TMR0=1? goto EXPLORA ; No ha llegado TMR0 a 128 Decial return ; Ha llegado TMR0 al valor 128D y retorna ; al programa principal ORG 0x1F00 bcf PCLATH,4 ;Selecciona el banco 0 de memoria bcf PCLATH,3 goto INICIO ;Salta a INICIO END Tabla 2.- Programa TMR0-1.asm para cargar con el bootloader. Curso microcontroladoresPAGS 27/12/02 10:01 Página 57
  • 5. seguido en la web http://www.microchipc.com/ . Una vez instalado, al ejecutar- lo, aparece una pantalla como la que se muestra en la Figura 5. 3. Seleccionamos la velocidad de transmisión en baudios, en nuestro caso 9600, el puerto serie de comunicación, en el ejemplo hemos seleccionado el COM2 y buscamos el nom- bre del programa en código hexadecimal que queremos cargar en el microcontrolador, TMR0-1.hex. Este programa tiene las siguientes teclas de función rápida: F2 - Búsqueda F4 - Escribir ESC - Cancelación F10 - Salida 4. Seguidamente se pulsa el botón de RESET y el progra- ma se carga en el microcon- trolador PIC. Según se va rea- lizando la carga, aparece un indicador de carga (línea azul) y al finalizar la carga suena una señal acústica. 5. Si volvemos a actuar manual- mente sobre el pulsador de RESET, se ejecutará el pro- grama de usuario. MICROCONTROLADORES 58RESISTOR Salto al Bootloader Espacio de memoria, para cargar los programas transmitidos Salto al programa de usuario Código del Bootloader 0x1FFF 0x1F04 0x1F00 0x0004 0x0000 El Bootloader utiliza las 4 primeras posiciones (0x0000-0x0003) Espacio disponible para el programa del usuario (0x0004-0x1EFF) Primeras 4 posiciones para el usuario (0x1F00-0x1F03) Código del programa Bootloader (0x1F04-0x1FFF) Figura 4.- Mapa de memoria del Bootloader para un microcontrola- dor de 8KBytes. Figura 5.- Apariencia de la pantalla que aparece al ejecutar el programa PIC dowloader. Características del programa PIC dowloader 1.8 : q Compatible con el bootloader de HI-TECH's o de Shane Tolmie para los microcontroladores PIC16F87x q Funcionamientos bajo Windows 9x/ME/NT/2000 q Selección de la velocidad a partir del 2400 a 56000 Bd q Selección del puerto serie entre el COM1-6 q Trabaja con datos de EEPROM en el archivo hexadecimal q No envía la palabra de los configuración a la posición 0x2007 o palabra de la identificación desde el bootloader q Mantiene las últimas configuraciones q Se incluye el código de fuente q El downloader del PIC se controla al realizar una señal de dispa- ro del RESET en el microcontrolador q Se trabaja en ensamblador para todos aquellos programadores que no utilizan el lenguaje C. El bootloader es muy fácil de recom- pilar para otros microcontroladores actualizando el pin/tieme y la frecuencias del cristal de cuarzo. Solo se necesita el programa MPLAB de Microchip que también es gratuito. q Se puede obtener en las siguientes webs: (http://www.ehl.cz/pic/) (http://www.microchipc.com/) Curso microcontroladoresPAGS 27/12/02 10:01 Página 58