25
2012/09/15 03:41 1/25 Bajando programas al PIC16F876A/877A/886/887 Laboratorio de microcomputadoras - http://localhost/dokuwiki/ Bajando programas al PIC16F876A/877A/886/887 Sandro Caballero Rivas Los programas ejecutables(firmware) creados en el MPLAB/MPLABX tienen la extension .hex. Estos programas contienen el codigo de maquina que va a ejecutar el microcontrolador en cuanto se le de energia o se de reset. El programa 'ejecutable' puede ser bajado al microcontrolador de dos formas: Utilizando un Programador en circuito(ICSP) como el PICKIT2 1. Utilizando un 'bootloader' previamente cargado en el PIC16F886 2. En esta seccion utilizaremos ambos metodos. Para la programacion del PIC con el PICKIT2 se mostrara una aplicacion sencilla que hara parpadear un led cada 1 segundo indefinidamente. En el caso del bootloader se mostrara el diseño hardware minimo requerido para comunicar al puerto serie de la PC con el microcontrolador,sistema minimo. Posteriormente se agregara al sistema minimo un led y se probara la aplicacion que parpadea un led otra vez. Completado el proceso de bajar(quemar) un programa, se mostrara a continuacion alternativas de alimentacion de voltaje para el PIC. Los ejemplos mostrados se enfocan al PIC16F886. Sin embargo el proceso es extendible a los PICs PIC16F876A/877A/886/887. 1.0 Programador PICKIT2 El archivo ejecutable o firmware, .hex puede ser programado de forma directa en el Microcontrolador. El PIC unicamente contendra este programa en su memoria de programa(FLASH). Los PICs de Microchip disponen de 6 pines a los cuales se les conecta de forma directa un programador como el PICKIT2 mostrado a continuacion.

Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Embed Size (px)

Citation preview

Page 1: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 1/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Bajando programas alPIC16F876A/877A/886/887

Sandro Caballero Rivas

Los programas ejecutables(firmware) creados en el MPLAB/MPLABX tienen la extension .hex. Estosprogramas contienen el codigo de maquina que va a ejecutar el microcontrolador en cuanto se le deenergia o se de reset. El programa 'ejecutable' puede ser bajado al microcontrolador de dos formas:

Utilizando un Programador en circuito(ICSP) como el PICKIT21.Utilizando un 'bootloader' previamente cargado en el PIC16F8862.

En esta seccion utilizaremos ambos metodos.

Para la programacion del PIC con el PICKIT2 se mostrara una aplicacion sencilla que hara parpadearun led cada 1 segundo indefinidamente.

En el caso del bootloader se mostrara el diseño hardware minimo requerido para comunicar al puertoserie de la PC con el microcontrolador,sistema minimo.

Posteriormente se agregara al sistema minimo un led y se probara la aplicacion que parpadea un ledotra vez.

Completado el proceso de bajar(quemar) un programa, se mostrara a continuacion alternativas dealimentacion de voltaje para el PIC.

Los ejemplos mostrados se enfocan al PIC16F886. Sin embargo el proceso es extendible a los PICsPIC16F876A/877A/886/887.

1.0 Programador PICKIT2

El archivo ejecutable o firmware, .hex puede ser programado de forma directa en el Microcontrolador.El PIC unicamente contendra este programa en su memoria de programa(FLASH). Los PICs deMicrochip disponen de 6 pines a los cuales se les conecta de forma directa un programador como elPICKIT2 mostrado a continuacion.

Page 2: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

El 'USB Port Connection' se conecta al puerto USB de la PC, se enciende led verde(Power). El'Programming connector' se conecta al PIC.

A traves de los 6 pines del PIC se baja el programa a la memoria de programa(FLASH). El'programming connector' del PICKIT2 es un conector hembra de 7 pines. Los pines del PICKIT2 seconectan directo a los pines del microcontrolador que tengan el mismo nombre.

Se muestran los pines del PICKIT2 y los pines del PIC16F876A/877A/886/887 a los que se conectan:

PICKIT2 PIC16F886/887 PIC16F876A/877AVpp RE3/~MCLR/Vpp ~MCLR/VppVDD VDD VDDVSS VSS VSSPGD RB7/ICSPDAT RB7/PGDPGC RB6/ICSPCLK RB6/PGCAUX.

En la siguiente figura se muestra como realizar la conexion para el PIC16F886.

Page 3: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 3/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

El pin VPP esta indicado en el PICKIT2 con un triangulo. Los demas pines estan en el mismo ordenmostrado en la primera columna de la tabla. El pin AUX del PICKIT2 generalmente no se utiliza en laprogramacion basica.

El PIC se puede programar en la protoboard. Para ello es necesario insertar el PIC, conectar un headervertical de 6 pines macho y alambrar con cables los pines del PIC y del header de tal forma quequeden en el orden mostrado en la segunda columna. A continuacion se conecta el PICKIT2 alheader(triangulo conectado al pin RE3/~MCLR/VPP del header) y se procede a programar el PIC.

En el laboratorio se dispone de un programador PICKIT2. Se encuentra conectado a varios Socketsremovibles, ZIF. En estos sockets se puede insertar un PIC de 28/40 pines y programarse desde la PC.Los sockets ya estan conectados a los pines exactos del PIC a programar, de tal forma que ya no esnecesario alambrar las conexiones entre ambos.

Los zocalos o conectores ZIF del PICKIT2 del lab. tienen una etiqueta grabada que indica que tipos dePICs se pueden insertar:

Etiqueta 'PIC16F873A' 28 pines 'PIC16F877' 40 pinesPIC que se puede insertar PIC16F876A/886 PIC16F877A/887

Los zocalos ZIF(Zero insertion force) se muestran en la siguiente figura:

El pin 1 esta señalado en el PIC con un punto o hoyo pequeño en la parte superior del chip. Este pinse conecta del lado donde esta la palanca que tiene cada zocalo. La palanca sirve para sujetar el PICfirme al zocalo. Palanca arriba permite insertar PIC. Palanca abajo sujeta PIC al zocalo.

Una vez conectados PIC y programador se procede a abrir la aplicacion que bajara el firmware almicrocontrolador. Para ello dar click en:

Menu Inicio → Microchip → Pickit 2 V2.xx●

En la siguiente figura se observa la aplicacion:

Page 4: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

En la zona 0 se encuentra situado el menu de la aplicacion.●

En la zona 1 se muestra el PIC identificado automaticamente por el programador, el USER ID y la●

palabra de configuracion.En la zona 2 se despliegan los mensaje de estatus de la aplicacion. En este caso se señala que el●

PICKIT2 esta conectado y que se reconocio al microcontrolador PIC16F886.En la zona 3 se muestra el voltaje de programacion a utilizar cuando se programa al PIC. Este●

voltaje tambien podria servir como fuente de alimentacion para el proyecto en el que esteembebido el PIC(posterior a su programacion).En la zona 4 se muestra la memoria de programa del PIC.●

En la zona 5 se muestra la memoria EEPROM del PIC.●

En la zona 6 se muestran los botones de programacion. Con ellos se puede:●

Leer el firmware actual que tiene almacenado el PIC en su memoria de programa(Read) . Se❍

despliega en la zona de 'program memory'.Bajar el firmware(.hex) al PIC(Write). Se baja el contenido desplegado en la zonas de: 'program❍

memory', 'EEPROM data', MidRange/Standard configuration('User ID' y 'Configuration').Verificar que se haya grabado correctamente el firmware en el PIC(verify)❍

Page 5: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 5/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Borrar la memoria de programa actual del PIC(Erase)❍

Verificar que la memoria de programa actual del PIC este en blanco o borrada(Blank Check)❍

A continuacion se siguen los siguientes pasos para bajar un archivo . hex al PIC:

Click menu 'Programmer' . Checar que este deselecionada(sin palomita) la opcion 'Manual Device●

Select'.Para que el PICKIT2 identifique automaticamente el PIC conectado al socket o protoboard.Click menu 'Tools' → Check Communication.●

Para que se reconozca de forma automatica el PIC que fue insertado en el ZIF o en la protoboard. Sedespliega el mensaje 'PIC Device Found' y el nombre del PIC reconocido, PIC16F886. Si este pasofalla, entonces no se podra programar el PIC de forma automatica. Intentar varias veces hasta quela aplicacion despliegue el nombre del PIC(PIC16F886) y checar conexion fisica del PIC enprotoboard o socket ZIF.Click Menu 'File' → Import HEX.●

Para seleccionar el firmware a programar, archivo con extension .hex. El contenido del archivo sedesplegara en la 'Program memory','EEPROM DATA'(solo si la aplicacion utiliza esta memoria),'USERIDs'(solo si lo especifica la aplicacion) y 'Configuration'.Click el boton 'Write'.●

Para bajar (quemar) el archivo .hex en el PIC. Los leds naranja(Target) y rojo(Busy) del PICKIT2 seencienden mientras esta en proceso la escritura. Si la programacion fue exitosa se desplegara elmensaje 'Programming Successful'.Retirar PIC del zocalo ZIF y ponerlo en la protoboard para probar programa. Si el PIC se programo en●

la misma protoboard, entonces solo es necesario retirar el PICKIT2 del header de programacion de laprotoboard.Cerrar la aplicacion 'Pickit 2 V2.xx'●

Blinking a led

Se presenta el diagrama esquematico de el PIC16F886 controlando a un led. El led parpadeara cada 1segundo.

Page 6: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Son opcionales el led rojo y la resistencia que estan conectados a la salida del regulador de voltaje de5V. El led solo es un indicador de que hay energia en el prototipo.

El pin 1 del regulador de voltaje de 5V es el primer pin(izquierda) viendo de frente al encapsulado, elpin 2 es el de enmedio y el pin 3 es el de la derecha. En la L7805C datasheet pagina 2 se muestrafisicamente la asignacion de pines del regulador de voltaje.

El negativo del portapila para la bateria de 9V se conecta al riel negativo(azul) de la protoboard. Estasera la tierra(GND) de todo el sistema.

El positivo del portapila para la bateria de 9V se conecta al pin 1 del regulador de voltaje de5V,L7805C. No conectar al riel positivo(rojo) de la protoboard ya que ese riel se utilizara paratransportar los 5V que alimentaran a los chips de la protoboard.

El pin 3 del regulador de voltaje de 5V se conecta directo al riel positivo(rojo) de la protoboard. Estees el voltaje de 5V(VDD) que energizara a toda la protoboard.

En este esquematico no se muestran los pines VDD y VSS del PIC. El proteus sueleomitirlos. Sin embargo al armar el prototipo deben conectarse a 5V y tierrarespectivamente. El capacitor de 0.1 uF mostrado se conecta entre estos dos pines y sirvepara filtrar ruido en la señal de VDD. En la PIC16F886/887 datasheet se muestran losnumeros de pin correspondientes a VDD y a VSS. Para el PIC16F886 VDD es el pin 20 yVSS esta en los pines 8 y 19(ambos pines se conectan a GND).

Page 7: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 7/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Los capacitores de botecito(electroliticos) tienen polaridad. El negativo esta indicado por una francablanca y el signo de '-'. El valor de la capacitancia esta impreso en el capacitor.

Los capacitores ceramicos de 27pF(pico-farads) y 0.1 uF(micro-farads) no tienen polaridad. Se puedenconectar sus pines de forma indistinta. El capacitor de 27pF se identifica por la marca '27'. Elcapacitor de 0.1uF se identifica por la marca '104'.

Las resistencias de 1Kohm inician con los colores (cafe,negro,rojo).

La resistencia de 4.7Kohms inician con los colores (Amarillo, violeta,rojo).

El anodo del led es el pin mas largo.

El catodo del led esta indicado por una parte aplanada en el encapsulado.

El crystal se conecta de forma indistinta, es decir, no tiene polaridad. Se recomienda conectar elcrystal y los capacitores de 27pF directo a los pines OSC1(9) y OSC2(10) del PIC16F886. En elalambrado en protoboard se muestran conectados lejos de esos pines porque no se ven bien lasimagenes en la protoboard cuando se conectan directo.

El micro-switch NO o boton de RESET. Es un switch de 4 pines. Por la parte de abajo hay una franjaque separa dos pines de un extremo de los otros dos pines del otro extremo. Cada par de pines estanconectados internamente. Por lo cual se tienen solo dos extremos del switch. Estos extremos estanseparados fisicamente cuando el switch esta si presionar(por eso se llama switch NO o normalmenteabierto). Cuando se presiona el switch ambos extremos se juntan(cierra switch). Un extremo seconecta a GND y el otro extremo se conecta a la resistencia de 4.7k y al pin 1 del PIC16F886.

El led verde se conecta al pin RB0 del puerto B del PIC.

El armado en protoboard es el siguiente:

Antes de energizar protoboard checar que las conexiones esten bien. Los multimetros tienen unafuncion llamada 'continuidad'. Al activarse permite identificar cuando dos extremos de un circuitoestan conectados. Se emite una alarma sonora constante cuando las puntas estan tocando el mismo

Page 8: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

punto.

Checar con un multimetro(funcion voltaje de DC) que los rieles de voltaje positivo(rojo) ynegativo(azul) de la protoboard tengan el voltaje adecuado de 5V de DC. Antes de realizar estaprueba se debe quitar de la protoboard al PIC y al MAX232N para evitar 'quemarlos' en el caso de queexista un corto entre VDD y GND.

Programar la aplicacion de ejemplo utilizando el PICKIT2:

Colocar el PIC16F886 en el socket correspondiente al encapsulado de 28 pines.●

Bajar el siguiente firmware blinkingled.x.production.hex como se explico anteriormente.●

Retirar PIC de socket y ponerlo en protoboard.●

Dar energia a la protoboard para que se comience a ejecutar el programa.●

El firmware programado se ejecutara cada vez que el PIC reciba energia o se de un evento de reset.

El boton de reset mantiene en RESET al PIC mientras este presionado. Es decir, se detiene ejecucionde programa, se inicializan modulos internos del PIC a valores de default,etc. Al liberar el boton dereset el PIC inicia la ejecucion del programa(PC comienza en dir. 0 de program memory).

Se presenta el codigo en ensamblador:

blinkled.asm

LIST p=16F886 #include <p16f886.inc> ;Palabra de configuracion. Indica que caracteristicas especiales delmicrocontrolador;se activaran: tipo de Reloj, Watctdog timer,etc.;Se obtiene dando click al menu 'Window' -> PIC memory views ->Configuration bits;Se elige FOSC = HS(para usar un crystal de 20MHz), MCLRE = ON(para queel pin de reset funcione);, BOR4V = BOR21V y todas las demas opciones se dejan en OFF.;A continuacion dar click en 'Generate Source Code to output';Copiar las linea que estan descoemntadas y que empiezan con __CONFIG ypegarlas en este;punto. __CONFIG _CONFIG1, _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON &_CP_OFF & _CPD_OFF & _BOREN_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_OFF __CONFIG _CONFIG2, _BOR4V_BOR21V & _WRT_OFF ;variables utilizadas por la subrutina RETARDO. BANK0valor1 EQU H'23'valor2 EQU H'24' CBLOCK 0x25valor3

Page 9: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 9/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

ENDC ;Constantes utilizadas por la subrutina RETARDO expresadas en decimalCTE1 EQU D'164'CTE2 EQU .100CTE3 EQU D'100' ORG 0 GOTO INICIO ORG 5INICIO: BSF STATUS,RP0 ;Sel. BANK1 para accesar al reg TRISB BCF STATUS,RP1 MOVLW B'00000000' ;Config. todos los pines del puerto B comooutput MOVWF TRISB ;'0' -> output . '1' -> input BSF STATUS,RP0 ;Sel. BANK3 para accesar al reg ANSELH BSF STATUS,RP1 MOVLW B'00000000' ;config. los pines RB0-RB5 del puertoB como I/Odigital MOVWF ANSELH ;Con un '0' se configura al pin como I/Odigital. ;Con un 1 se habilita la funcion de inputanalogica del pin ;El voltaje analogico que se conecte al pinentra al ;convertidor A/D. BCF STATUS,RP0 ;Sel. BANK0 para accesar PORTB BCF STATUS,RP1 CLRF PORTB ;limpiar PORTB. Apaga led MAIN: BSF PORTB,0 ;led ON CALL RETARDO ;mantener encendido por 1 segundo BCF PORTB,0 ;led OFF CALL RETARDO ;mantener encendido por 1 segundo GOTO MAIN ;repetir secuencia END_MAIN: SLEEP ;Subrutina RETARDO que al ser ejecutada se tarda 1 sec sin hacer bada y

Page 10: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

regresa;al punto posterior a su llamada. RETARDO: BCF STATUS,RP0 ;BANK0 para regs valor1,valor2,valor3 BCF STATUS,RP1 MOVLW CTE1 MOVWF valor1TRES: MOVLW CTE2 MOVWF valor2DOS: MOVLW CTE3 MOVWF valor3UNO: DECFSZ valor3,f GOTO UNO DECFSZ valor2,f GOTO DOS DECFSZ valor1,f GOTO TRES RETURN END

2.0 Bootloader

Con el PICKIT2 se puede bajar un ejecutable al PIC. Este programa solo realiza la funcion para la quefue programado y punto. Por ejemplo el programa que parpadea un led solo hara eso y nada mas.

En las tarjetas del laboratorio se tiene programados los PIC con un programa especial conocido como'bootloader'.

El bootloader es un programa que se almacena generalmente en la parte alta de la memoria deprograma del PIC. Se encarga de :

Establecer comunicacion con el puerto serie de la PC.●

Recibir el archivo .hex y programarlo en la parte baja de la memoria de programa.●

Pasar el control de la ejecucion del nuevo programa al program counter,PC del PIC.●

El bootloader es un 'auto-programador' incluido en la memoria de programa del PIC. Es decir, ya no esnecesario utilizar el PICKIT2 para bajar el firmware. Solo es necesario programar el bootloader unaunica vez en el PIC y despues este se encargara de programar por si mismo todos los archivos .hexque envie la PC via su puerto serie.

Page 11: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 11/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Este proceso es mas sencillo para desarrollar prototipos ya que solo se acude una vez al laboratoriopara programar el 'bootloader' con el PICKIT2 y posteriormente podran bajar nuevo firmware a suprotoboard via el puerto serie de sus PCs.

El bootloader que utilizaremos en el curso es el Serial bootloader AN1310 de Microchip . Bajar laaplicacion e instalarla. Copia local serial bootloader AN1310

A continuacion hay que programar con el PICKIT2 el bootloader en el PIC16F886 como se indico en laseccion anterior. Se proporciona el firmware a programar para los PIC16F876A/877A/886/887:

Bootloader AN1310 PIC16F876A a 20MHz●

Bootloader AN1310 PIC16F877A a 20MHz●

Bootloader AN1310 PIC16F886 a 20MHz●

Bootloader AN1310 PIC16F887 a 20MHz●

Sistema minimo

Una vez que se tiene programado el bootloader en el PIC16F886 se procede a armar el hardware queintegra el sistema minimo de comunicacion entre la PC y el bootloader.

El sistema minimo incluye:

PIC16F886●

Oscilador externo. Crystal de 20MHz y dos capacitores ceramicos de 27pF●

Circuito de RESET. Micro-switch normalmente abierto con resistencia de pull-up de 4.7K(puede●

usarse cualquier valor menor a 47K)Driver de comunicacion serial RS232 con la PC. MAX232N y 5 capacitores electroliticos de 1uF/25V●

Conector para el puerto serie. DB9F, conectar hembra de 9 pines.●

Fuente de alimentacion. Pila cuadrada de 9V y regulador de voltaje de 5V de salida. En la seccion●

Fuentes de voltaje alternativas se muestran otras formas de obtener VDD para el PIC.

El sistema minimo solo tiene integrada la funcionalidad necesaria para comunicarse con la PC, recibirel archivo .hex, programarlo en el PIC y ejecutarlo. Es decir, sera necesario añadir el hardware extraque se desee controlar con el PIC.

Diagrama esquematico

En la siguiente figura se muestra el diagrama equematico del sistema minimo.

Page 12: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Son opcionales el led rojo y la resistencia que estan conectados a la salida del regulador de voltaje de5V. El led solo es un indicador de que hay energia en el prototipo.

El pin 1 del regulador de voltaje de 5V es el primer pin(izquierda) viendo de frente al encapsulado, elpin 2 es el de enmedio y el pin 3 es el de la derecha. En la L7805C datasheet pagina 2 se muestrafisicamente la asignacion de pines del regulador de voltaje.

El negativo del portapila para la bateria de 9V se conecta al riel negativo(azul) de la protoboard. Estasera la tierra(GND) de todo el sistema.

El positivo del portapila para la bateria de 9V se conecta al pin 1 del regulador de voltaje de5V,L7805C. No conectar al riel positivo(rojo) de la protoboard ya que ese riel se utilizara paratransportar los 5V que alimentaran a los chips de la protoboard.

El pin 3 del regulador de voltaje de 5V se conecta directo al riel positivo(rojo) de la protoboard. Estees el voltaje de 5V(VDD) que energizara a toda la protoboard.

En este esquematico no se muestran los pines VDD y VSS del PIC. El proteus sueleomitirlos. Sin embargo al armar el prototipo deben conectarse a 5V y tierrarespectivamente. El capacitor de 0.1 uF mostrado se conecta entre estos dos pines y sirvepara filtrar ruido en la señal de VDD. En la PIC16F886/887 datasheet se muestran los

Page 13: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 13/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

numeros de pin correspondientes a VDD y a VSS. Para el PIC16F886 VDD es el pin 20 yVSS esta en los pines 8 y 19(ambos pines se conectan a GND).

Los capacitores de botecito(electroliticos) tienen polaridad. El negativo esta indicado por una francablanca y el signo de '-'. El valor de la capacitancia esta impreso en el capacitor.

Los capacitores ceramicos de 27pF(pico-farads) y 0.1 uF(micro-farads) no tienen polaridad. Se puedenconectar sus pines de forma indistinta. El capacitor de 27pF se identifica por la marca '27'. Elcapacitor de 0.1uF se identifica por la marca '104'.

Las resistencias de 1Kohm inician con los colores (cafe,negro,rojo).

La resistencia de 4.7Kohms inician con los colores (Amarillo, violeta,rojo).

El anodo del led es el pin mas largo.

El catodo del led esta indicado por una parte aplanada en el encapsulado.

El crystal se conecta de forma indistinta, es decir, no tiene polaridad. Se recomienda conectar elcrystal y los capacitores de 27pF directo a los pines OSC1(9) y OSC2(10) del PIC16F886. En elalambrado en protoboard se muestran conectados lejos de esos pines porque no se ven bien lasimagenes en la protoboard cuando se conectan directo.

El micro-switch NO o boton de RESET. Es un switch de 4 pines. Por la parte de abajo hay una franjaque separa dos pines de un extremo de los otros dos pines del otro extremo. Cada par de pines estanconectados internamente. Por lo cual se tienen solo dos extremos del switch. Estos extremos estanseparados fisicamente cuando el switch esta si presionar(por eso se llama switch NO o normalmenteabierto). Cuando se presiona el switch ambos extremos se juntan(cierra switch). Un extremo seconecta a GND y el otro extremo se conecta a la resistencia de 4.7k y al pin 1 del PIC16F886.

El led verde se conecta al pin RB0 del puerto B del PIC.

En la MAX232N datasheet pagina 17, figura 5 se muestra:

La asignacion de pines del MAX232N(Nombre de pin y numero de pin).●

Los valores de capacitancia de los 5 capacitores electroliticos que utiliza(renglon MAX232)●

La forma en que se le conectan los capacitores ,el pin de GND,el pin de VCC(5V)●

Los pines que se conectan al PIC(T1IN,R1OUT) y al conector DB9F(T1OUT,R1IN). TTL/CMOS inputs y●

outputs son señales de voltaje de 0V y 5V que se conectan al puerto serie del PIC(UART). RS-232inputs y outputs son señales de voltaje de +8V y -8V que se conectan a la PC via el conector DB9F.El MAX232N puede manejar dos puertos seriales al mismo tiempo. Aqui solo se utiliza uno porque elPIC solo tiene una UART.

Funcion de los componentes del sistema:

El crystal de cuarzo y los capacitores forman lo que se conoce como oscilador externo. La frecuenciadel oscilador, FOSC = 20MHZ esta determinada por la frecuencia a la cual entra en resonancia el crystalde cuarzo. En este caso el crytal es de 20MHz. Para los PICs en cuestion se puede conectar cualquiercrytal de cuarzo que tenga una frecuencia menor o igual a 20MHz. El oscilador entrega al PIC unaseñal cuadrada de frecuencia FOSC y periodo TOSC = 1 / FOSC. Esta señal sirve para sincronizar elfuncionamiento de los modulos internos del micro y determina la velocidad a la que se ejecutara cadauna de las 35 instrucciones que tiene el PIC. La mayoria de las instrucciones se tardan en ejecutar 1ciclo de instruccion. 1 ciclo de instruccion equivale a 4 ciclos del oscilador, 1 ciclo de inst = 4 * TOSC.

Page 14: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Por lo cual la velocidad 'real' de ejecucion de cada instruccion es 1/4 mas lenta que la velocidad delcrystal empleado, Finst = FOSC / 4. Con un crystal de 20MHz se tiene FOSC = 20 MHz pero lasinstrucciones se ejecutan en realidad a una velocidad de Finst = 20MHz / 4 = 5 MHz. Es decir, cadainstruccion se tarda aprox 200 nanosegundos en ejecutarse, TInst = 1 / FInst = 1 / 5 MHz = 200 nsec.

Los PIC16F886/887 tienen una caracteristica especial que los PIC16F876A/877A no tienen. Estosincluyen dentro del chip un oscilador interno de frecuencia programable via el firmware de laaplicacion. La frecuencia de este oscilador interno puede ser cualquiera de las siguientes: 8MHz,4MHz, 1MHz, 500kHz, 250KHz,125kHz,31kHz. Esta caracteristica permite que se ahorre uno el costodel crystal externo y de sus capacitores. En la primera practica utilizaremos el osciladorexterno(crystal) para que puedan probar ambas opciones. Esto significa que se podria crear un nuevosistema minimo y ahorrase el crystal y capacitores asociados. Para utilizar este oscilador interno sedebe programar un 'bootloader' que reconozca al oscilador interno como reloj, es decir,el 'bootloader'es diferente para sistema minimo con oscilador externo y para sistema minimo con oscilador interno.

La fuente de alimentacion de voltaje que utiliza el PIC puede ser cualquier fuente de voltaje queentregue de 2-5VDC. El PIC puede dañarse o quemarse si se le conecta un VDD > 5.5V . El voltajeminimo al cual puede funcionar el PIC depende de la frecuencia del oscilador utilizado:

VDD(min) VDD(max) FOSC

2.0V 5.5V < = 8 MHz3.0V 5.5V < = 10 MHz4.5V 5.5V < = 20 MHz

VDD determina los voltajes que se asocian al '0' y al '1' logicos. Si VDD = 3.3V, entonces un '1' = 3.3Vy un '0' = 0V. En realidad el PIC interpreta al '1' como un voltaje > = 2.0V y al '0' como un voltaje <0.8V. El intervalo de voltajes entre 0.8V y 2.0V constituye una zona de incertidumbre en donde sepodria interpretar erroneamente el valor logico correspondiente. No se debe conectar un VDD > 5.5Va los pines de entrada del PIC porque podrian dañarse.

El Micro-switch NO(normalmente abierto) y la resistencia de pull-up asociada conforman al circuito deRESET externo del PIC. Este circuito entrega un '0' mientras este presionado y se mantiene en '1'cuando no esta presionado. Este voltaje se conecta al pin RE3/~MCLR/Vpp del PIC. Este pin mantieneen RESET al micro mientras reciba un '0', el PIC congela la ejecucion del programa e inicializa susmodulos internos y SFR's a valores de default. Cuando recibe un '1' el PIC se encuentra en modo deejecucion(RUN) normal, es decir, esta ejecutando la aplicacion programada.

El MAX232N es un convertidor de niveles de voltaje que mapea un intervalo de voltajes entre -12 a12V a un intervalo de voltajes entre 0 y 5V. La comunicacion entre PC y PIC es via un protocolo decomunicacion serial conocido como RS232. En este protocolo un '0' logico = +12V y un '1' logico =-12V. Los bits que envia la PC tienen esos voltajes asociados. Los bits que envia/recibe el PIC tienenintervalos entre 0 y 5V.Los bits se envian en forma serial por un par de cables. La PC tiene dos pinesRX_PC y TX_PC. El PIC tiene tambien dos pines RX_PIC y TX_PIC. Por el Pin RX_PC la PC recibeinformacion enviada por el pin TX_PIC. Por el pin TX_PC la PC envia informacion al pin RX_PIC. Los bitsse envian uno tras otro, es decir, en forma serial. Primero se envia un bit y se sostiene su valor uninstante , despues se envia el siguiente bit y se sostiene otro instante su valor, el proceso se repitehasta que se hayan enviado todos los bits deseados. Por ejemplo si se envia un byte, entonces seenviarian 8 bits uno tras otro con un retardo entre cada uno. El retardo es fijo y conocido por partetransmisora y receptora e indica la velocidad a la que se transmite o recibe la cadena de bits.

Page 15: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 15/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Ensamble en Protoboard

En la siguiente figura se muestra el armado del sistema minimo en la protoboard.

Utilizar alambre de calibre AWG 22(mas grueso),24 o 26(mas delgado).

Bajando programas (Blinking a led)

A continuacion se añadira un led al sistema minimo y se le programara un firmware que lo haraparpadear cada 1 segundo.

Observar conexion del nuevo hardware al sistema minimo. El led se conecta al pin RB0 del puerto Bdel PIC. La terminal(flecha) con el nombre RB0 indica que el pin RB0 del PIC y el extremo de laresistencia estan conectados en la protoboard.

Page 16: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Se muestra ahora el procedimiento para bajar el firmware al PIC via el bootloader y la PC.

Abrir la aplicacion 'Serial Bootloader AN1310' con la que la PC se comunicara con el bootloaderprogramado en el PIC16F886:

Menu Inicio → Microchip → Serial Bootloader AN1310 V1.05 → Serial Bootloader AN1310●

En la figura se muestra la aplicacion cuando no existe conexion con el PIC.

Page 17: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 17/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Bajar el firmware(.hex) al PIC:

Conectar cable serial a la PC.1.(Opcional)Identificar el numero de puerto serie que utiliza la PC para comunicarse(COMX).2.Abrir aplicacion Realterm. Click menu 'inicio' → Todos los programas → Realterm → Realterm❍

Click en pestaña 'Port'.❍

Seleccionar Port: 1 .❍

Abrir puerto serial 1(COM1) . Boton 'Open' debe estar presionado.❍

Dar un click en la pantalla negra del Realterm para posicionar el cursor sobre ella.❍

Poner los pines 2 y 3 del cable serial en corto con unas llaves o algun metal. Los numeros de pin❍

del cable serial estan marcados dentro del conector macho,DB9M.Presionar cualquier tecla del teclado. En la pantalla negra se observara el caracter❍

correspondiente a la tecla presionada.Si no se observo el caracter de la tecla presionada, repetir los pasos anteriores desde seleccionar❍

otro numero de Port(COMX) hasta que se determine cual es el COMX asignado al puerto serie dela PC.Cerrar la aplicacion Realterm y recordar el numero de COMX que funciono en la prueba anterior.❍

En la siguiente figura se muestra el pantallazo del puerto serial COM1 identificado:

Page 18: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Conectar Puerto serie de PC a protoboard.3.Click menu 'Program' → Settings… . Seleccionar:4.COM Port: COM1 . Puerto serie usado por la PC, podria ser diferente el numero.Bootload Baud Rate: 19200 bps Application Baud Rate: 38400 bpsFlash Program memory: habilitadaConfig bits: deshabilitadaEEPROM: habilitadaClick 'OK'El bootloader programado en el PIC se comunica a una velocidad serial,Bootload Baud Rate de19200 bps,sin paridad,1 bit de inicio y 1 bit de paro(19200 BAUDS,8N1). Este bootloader puedeautodetectar esta velocida(19200). Posteriormente se podria utilizar otra velocidad decomunicacion serial, pero debe hacerse al abrir la aplicacion. A mas velocidad se programa masrapido el PIC, pero podria ser mas complicado el detectar el bootloader.La Application Baud Rate, 38400 8N1, es la velocidad de comunicacion serial que utilizara laaplicacion del usuario(firmware a programar). Las aplicaciones que desarrollemos utilizando elpuerto serie utilizaran esta configuracion. Esta es independiente de la velocidad de programadoque utiliza el bootloader.Dar energia al PIC.5.Click en boton 'Break/Reset Application Firmware'(o utilizar menu 'Program' → Break/Reset mode)6.Click boton de RESET del PIC16F8867.Click boton 'Bootloader mode'(o utilizar menu 'Program' → Bootloader mode)8.Si se pudo establecer comunicacion con el bootloader del PIC, entonces se desplegara lasiguiente ventana:

Page 19: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 19/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

En la barra de estado se muestra la version del firmware del bootloader(v1.05), el PICreconocido(PIC16F886), el puerto serie(COM1) y la velocidad (19200 bps).Si no se pudo establecer comunicacion con el bootloader del PIC, entonces realizaralgunos intentos mas de conexion repitiendo desde el paso 5 .Si aun no se logra establecer conexion , entonces intentar:Presionar boton de RESET en PIC❍

Click boton 'Bootloader mode'(o utilizar menu 'Program' → Bootloader mode)❍

Click boton 'Open'(o utilizar menu 'File' → Open). Seleccionar firmware .hex a programar(quemar),9.ejemplo blinkingled.x.production.hex .La memoria de programa de la ventana se carga con el firmware.Click boton 'Write Device'(o utilizar menu 'Program' → Write Device).10.Para bajar el firmware al PIC. Al terminar de bajarse se despliega en la barra de status 'Writecomplete(FLASH…)'Ejecutar firmware(2 formas):11.Click boton RESET del PIC16F886❍

Click boton 'Run Application firmware'(o utilizar menu 'Program' → Run mode).❍

En esta opcion se despliega la siguiente ventana:

Page 20: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

En este punto se puede cerrar aplicacion y el firmware se ejecutara cada que se de energia o12.RESET al PICSi se desea dejar abierta la aplicacion y posteriormente bajar nuevos firmware, entonces13.continuar desde el paso 6.

3.0 Fuentes de voltaje alternativas

Nota: Estas fuentes de voltaje se conectan al PIC en lugar de el regulador de 5V mostradoanteriormente. No deben conectarse varias fuentes de voltaje al mismo tiempo a los rielesde energia de la protoboard(VDD y GND). Es decir, solo se usa una de todas las fuentes devoltaje especificadas.

Fuentes de alimentacion de 3V a 5V alternativas:

Tres pilas AA de 1.5V conectadas en serie para obtener 4.5V.●

La conexion es directa a los rieles de energia de la protoboard. Se utiliza un portapilas como elmostrado en la figura.

Page 21: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 21/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

Cuatro pilas AAA de 1.2V conectadas en serie para obtener 4.8V.●

La conexion es directa a los rieles de energia de la protoboard. Se utiliza un portapilas como elmostrado en la figura.

Eliminador de voltaje con salida fija o universal.●

Se puede utilizar un eliminador de baterias que de un voltaje fijo < = 5V, por ejemplo de 3.3V o 5V.La conexion es directa a los rieles de energia de la protoboard. El eliminador mantiene el voltajeconstante o regulado.

Tambien se puede utilizar un eliminador de baterias que de un voltaje fijo > 5V, por ejemplo de 6V,9V o 12V . Al eliminador se le conecta a un jack invertido(receptor). Del jack se obtiene la terminalde GND y VDD estas se conectan al regulador de voltaje de 5V que se utilizo en el sistemaminimo(en lugar de la bateria de 9V).

El objectivo es crear una tarjeta con el jack invertido y un header para protoboard como se muestraen la figura.

Otra opcion es un eliminador de baterias universal. En estos se puede seleccionar el voltaje desalida deseado: 3.3V, 5V , 9V, 12V, etc. Si se seleciiona un voltaje > 5V se debe conectar la salida ala entrada del regulador de voltaje de 5V.

Page 22: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Siempre debe medirse con un voltimetro el voltaje que entrega el eliminador de baterias. Es comunque se obtenga un voltaje mas elevado en algunos de estos eliminadores(baja calidad). Este voltajepodria estar fuera del VDD permitido por el PIC.Tambien se debe checar la polaridad del voltaje de salida. Es decir, determinar cual extremo estierra y cual es VDD. El multimetro marcara un voltaje positivo cuando se tenga la punta negraconectada a tierra y la punta roja conectada a VDD.

Cargador para celular con salida fija que se encuentre entre 3V a 5V●

Se puede utilizar un cargador de baterias para celular que de el voltaje necesario. Para estoscargadores no hay jacks que se consigan facilmente. Se podria pelar los cables y conectarlos directoa la protoboard. Primero investigar con un multimetro que el voltaje de DC sea < = 5V e investigarque cable es tierra y cual es VDD. El multimetro marcara un voltaje positivo cuando se tenga lapunta negra conectada a tierra y la punta roja conectada a VDD.

Puerto USB de la PC●

La conexion del puerto USB es directa a los rieles de energia de la protoboard. El voltaje queentregan estos puertos es generalmente de 5V. Tambien se puede obtener 3.6V en algunos equipos.Se pueden utilizar los puertos USB de la PC/Laptop/Netbook. Para ello se utiliza un receptoradecuado(A,B,Mini-B) para PCB y se solda en una placa perforada junto con un header de 4 pinespara protoboard.En la figura se muestra los receptores A, B, MiniB para cable USB y la funcion que desempeña cadapin. Solo nos interesa tomar el pin de GND y el pin de VDD.

Page 23: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 23/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/

En la figura se muestra la tarjeta de alimentacion via USB que se inserta directo en la protoboard.

4.0 Resumen

Se presentaron dos formas de bajar un programa al PIC16F886.

La primera es la forma natural de programar el firmware y se realiza via un programador en●

circuito(ICSP) como el PICKIT2.En esta forma se graba un solo programa en toda la memoria de programa del PIC(FLASH). Elprograma se ejecuta inmediatamente al darle energia o RESET.El PIC se puede programar directo en la protoboard o colocandolo en un socket ZIF que previamentefue conectado al PICKIT2 de forma permanente, como en la instalacion del laboratorio..La segunda forma consiste en grabar un 'bootloader' al PIC con el PICKIT2.●

En esta forma se queda grabado el bootloader de forma permanente en la parte alta de la memoriade programa del PIC16F886(FLASH). La parte baja o libre de la memoria de programa se utiliza paraalmacenar la aplicacion del usuario(firmware) de forma permanente.Esto quiere decir que existen dos programas almacenados en la memoria de programa del PIC. Unode ellos es el bootloader(fijo siempre) y el otro es la aplicacion del usuario, la cual se regraba variasveces hasta que se determine que la aplicacion funciona como se espera.La ventaja del bootloader es que permite que el PIC16F886 se pueda autoprogramar via la ayudadel bootloader. Solo es necesario una conexion serial con la PC para bajar la nueva aplicacion,firmware. Con esto se evita el tener que estar programando el PIC a cada rato de la forma naturalvia el PICKIT2, el cual no siempre esta disponible.Es decir, con el bootloader se logra depurar el prototipo de forma mas rapida .

Page 24: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

Last update: 2012/09/15 03:40 articles:bootloader http://localhost/dokuwiki/doku.php?id=articles:bootloader

http://localhost/dokuwiki/ Printed on 2012/09/15 03:41

Una vez que el prototipo funciona como se desea, se puede proceder a grabar de la forma natural laaplicacion del usuario. Es decir, se elimina el bootloader del PIC para que no pueda ser llamado en elprototipo final.

Ademas, se presentaron formas alternativas de energizar al PIC. Todas ellas tienen el mismo objectivo:entregar un voltaje de 5V DC constante al PIC16F886. La mas utili para la fase de desarrollo delprototipo es la de utilizar el puerto USB de la PC. En esta se evita el gasto de baterias y solo senecesita de un cable USB comun.

Una vez que se tenga un prototipo final se puede conmutar a una alimentacion de baterias. Porejemplo cuando el sistema embebido es portatil. El caso de un carro controlado por un PIC es un buenejemplo de un sistema embebido que necesitara de baterias para funcionar.

5.0 Referencias

Se utilizaron las siguientes referencias durante la elaboracion del presente articulo:

MPLABX . IDE open source de Microchip para desarrollo de programas para los PICs de 8/16/32 bits.●

Se utiliza para desarrollo de programas en lenguaje ensamblador(MPASMX),para su simulacion ydepurado.PICKIT2 . Programador en circuito para toda la gama de microcontroladores de 8/16/32 bits de●

Microchip. Se utilizo para bajar el 'bootloader' al PIC16F886.Serial bootloader AN1310 de Microchip . Bootloader serial AN1310 de Microchip para toda la gama●

de PICs 16FXXX/18FXXX. Utilizado para bajar programas al PIC16F886 embebido en la protoboard.Fritzing . Open source software para el diseño de prototipos en protoboard virtual, esquematico y●

circuito impreso(PCB). Se utilizo para generar las imagenes que muestran el alambrado enprotoboard de los diagramas esquematicos mostrados.Proteus . Software comercial para el desarrollo de esquematicos, simulacion virtual del prototipo y●

creacion del circuito impreso(PCB). Se utilizo para la creacion de los esquematicos.Realterm . Open source software que sirve para comunicar a la PC con perifericos externos via sus●

puertos seriales(COMX). Se utilizo para determinar el numero de puerto serial que tiene asignado laPC(COMX).Wikipedia . Enciclopedia libre, la cual es creada con la contribuccion de cualquier persona. Se utilizo●

para consultas rapidas de conectores USB, etc.Dokuwiki . En un software open source para la creacion de 'wikis' que sirven para crear cualquier●

tipo de documentacion al estilo 'wikipedia' . Se utilizo para la creacion de la pagina del laboratoriode microcomputadoras.Google . Buscador de paginas web. Utilizado comunmente para la busquedad de informacion tecnica●

empleada en el articulo, en especial para localizar las datasheets de los componentes utilizados.

From:http://localhost/dokuwiki/ - Laboratorio de microcomputadoras

Permanent link:http://localhost/dokuwiki/doku.php?id=articles:bootloader

Last update: 2012/09/15 03:40

Page 25: Bajando programas al PIC16F876A/877A/886/887profesores.fi-b.unam.mx/sandro/dokuwiki/lib/exe/fetch.php?media=... · serie de la PC con el microcontrolador,sistema minimo. Posteriormente

2012/09/15 03:41 25/25 Bajando programas al PIC16F876A/877A/886/887

Laboratorio de microcomputadoras - http://localhost/dokuwiki/