Vous êtes sur la page 1sur 5

Programador PIC 16F8xx

Kit Profissional com PIC kit Microcontrolador PIC Microchip USB, Ps2, Glcd, Rs485, e muito mais www.microgenios.com
Royalty-free Photos Simple yet powerful interface makes it easy to browse and buy! www.Depositphotos.com
SBB Key Programmer Programming Keys in IMMO Units Newest V33,Promotional price, Order www.uobd2.net

Programador para PIC 16F84 y 16F87x

Proyecto: Programador para microcontroladores PIC 16F84 y 16F87x de Microchip

Fecha : 25 de Setiembre de 2001 (Actualizado 11de Noviembre de 2002)

Autor: TodoRobot

Introducción:
El propósito de este proyecto fue obtener un producto simple que nos permitiese programar los principales microcontroladores con memoria
Flash de la firma Microchip.

Por sus similitudes en la forma de programar nos decidimos a enfocarnos en los modelos 16F84, 16F84A, 16F870, 16F871, 16F872,
16F873, 16F874, 16F876 y 16F877. La variedad nos pareció aceptable, por lo que a fin de no complicar el diseño se descartaron los demás
modelos.

Dentro de la Web se pueden encontrar muchos sitios dedicados a estos microcontroladores, muy famosos entre los aficionados a la
electrónica y la robótica debido a su bajo costo y grandes prestaciones.

Circuito del programador:

En el documento picprog-circuit.pdf podemos apreciar el circuito a utilizar.

Si observamos el circuito, se pueden apreciar los tres posibles encapsulados que se pueden hallar dentro de los modelos soportados por este
programador ( PIC 16F8xx ).

A pesar de sus diferencias, se puede ver que básicamente todos tienen las mismas salidas, solo que en los modelos más sencillos estas se
ven reducidas. Pero a nivel programación los pines son los mismos (solo que en distinta ubicación en cuanto a número de pin).

Lo ideal sería usar tres zócalos del tipo ZIF ( Inserción Cero ) para los tres modelos de encapsulado, es decir: 2x 9, 2x 14 y 2x 20. En caso
que el presupuesto sea muy ajustado, se puede recurrir al uso de zócalos comunes, los cuales dan un resultado bastante aceptable.

Las distintas tensiones necesarias para la programación y funcionamiento del PIC 16F8xx se controlan mediante VR1 (78L05) y VR2
(78L12).

La alimentación de entrada debe ser provista mediante una fuente externa que pueda entregar 15 a 17v de corriente continua y
aproximadamente 100mA.

La conexión al puerto paralelo de la PC se debe realizar mediante un conector db25 macho y respetando el conexionado indicado en el
circuito. Estos conectores traen el número de cada pin marcado al costado del mismo con lo que no es difícil su identificación. A su vez y
para mayor seguridad, en el circuito también se hace mensión al nombre que representa cada línea a usar en el LPT.

En la siguiente figura se puede apreciar el pinout correspondiente al puerto paralelo de la PC:


http://www.todorobot.com.ar/proyectos/picprog/picprog.htm
Programador PIC 16F8xx

Debido a que este circuito está pensado para poder ser usado In Circuit, el mismo podría perfectamente con algunos retoques poder ser
incluido dentro de un desarrollo para evitar tener que extraer el chip para su programación. Lo único que se debe tener en cuenta es que en
ningún momento el pin MCLR/VPP debe ser conectado directo a VCC, ya que al intentar programar se dañarían los transistores Q1 y Q3 al
quedar estos cortocircuitando VCC y GND.

Otra posibilidad muy interesante sería proveer al programador con un conector de salida tipo bornera que permita tener acceso desde el
exterior a todos los puertos del micro que se está programando. De esta forma sería muy útil a la hora del desarrollo al permitirnos usar el
micro sin necesidad de extraerlo del programador. En el documento salida.pdf se puede apreciar una idea para realizar el conector de
salida antes comentado.

Software

http://www.todorobot.com.ar/proyectos/picprog/picprog.htm
Programador PIC 16F8xx

PicProg está preparado para programar los siguientes modelos de la familia de Microchip:

 16F84

 16F84A

 16F870

 16F871

 16F872

 16F873

 16F874

 16F876

 16F877

PicProg le permite Programar, Verificar y Borrar todos los modelos anteriormente detallados.

El archivo Hexadecimal (.hex) a grabar debe ser formato Intel INHX8M. Este es el formato estandar generado por la herramienta de
desarrollo MPLAB que puede descargarse gratis en el site de Microchip.

PicProg fue diseñado para trabajar en entorno Windows 9x. En el archivo ZIP picprog-v2.zip se encuentran las instrucciones así
http://www.todorobot.com.ar/proyectos/picprog/picprog.htm
Programador PIC 16F8xx

como la DLL necesaria para su funcionamiento. Debido a que Windows NT y Windows 2000 son algo limitados a la hora de permitirnos
tomar control del hardware de la PC, este software no funciona en esos S.O.

El programa PicProg fue diseñado para leer la configuración a aplicar al PIC directamente desde el archivo Hexadecimal. Esta
configuración es la que indicará si el PIC trabajará con Cristal (XT) o una celda RC, si se debe activar el WatchDog, etc. Para que esto sea
así, esta configuración se debe incluir dentro del código fuente (ASM) antes de compilar el mismo como se puede ver a continuación:

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

El ejemplo anterior corresponde a la configuración para un PIC 16F84. En este caso se está indicando que no se usará Código de Protección
(CP), no se usará WatchDog (WDT), se usará Power Up Timer (PWRTE) y se usará oscilador a crital (XT). (según nomenclatura de
Microchip).

En caso que el archivo Hexadecimal (.hex) no posea embebida la configuración, esta podrá ser realizada manualmente mediante el botón
CONFIGURACION .

Así mismo PicProg tiene la capacidad de autodetectar el PIC instalado o bien también se puede realizar la selección manualmente.

Utilizando el software PicProg:

Para ejecutar el software, simplemente se debe debe hacer click sobre el ejecutable PicProg.exe o bien crear un acceso directo al mismo.
Una vez cargado, el funcionamiento es muy simple y se encruentra explicado en la ayuda provista con el mismo.

Es importante aclarar que no es necesario borrar el PIC antes de reprogramarlo, ya que PicProg verifica cada sector de memoria a
programar y solo regraba aquellos que son diferentes al actual. De esta manera se favorece la vida útil de la memoria Flash del PIC. Por
consiguiente solo es recomendable el borrado total cuando se debe regrabar un micro que fue grabado anteriormente utilizando Código de
Protección (CP).

Circuito de prueba:
Una vez construido el programador, lo mejor es realizar las primeras pruebas con un proyecto sencillo con el cual se tenga la certeza de su
buen funcionamiento y de esa manera nos demuestre que el PIC ha sido correctamente programado.

Este programa puede ser el WALK.HEX, el cual genera un sencillo efecto de secuenciador entre cuatro LED's.

En el siguiente diagrama se aprecia el circuito a utilizar con el programa WALK.HEX:

http://www.todorobot.com.ar/proyectos/picprog/picprog.htm
Programador PIC 16F8xx

D1, D2, D3 y D4 son los LED's que, si todo funciona correctamente, se prenderán secuencialmente hacia un lado y hacia otro.

Una vez construido, el siguiente paso es grabar en el PIC el programa WALK.HEX , y si todo ha funcionado bien los LED's deberían
comenzar a prenderse secuencialmente.

Si deseas analizar el código fuente de este programa podés descargar WALK.ASM

Errores:

Consulta las Preguntas Frecuentes

Recomendaciones:
En la página del fabricante Microchip, se puede encontrar gran cantidad de información necesaria para encarar cualquier proyecto con este
microcontrolador.

Ahí mismo se puede descargar en forma gratuita el MPLAB, que es una estación de diseño y depuración para plataforma Windows, la cual
les permitirá realizar todos los desarrollos basados en los microcontroladores PIC.

Una vez instalado el MPLAB, podremos hallar en C:\Archivos de programa\MPLAB\TEMPLATE\Code los template que servirán como
base para comenzar a programar. Por ejemplo el template correspondiente al PIC 16F84A es f84atemp.asm

IMPORTANTE

 Se debe desconectar la alimentación del programador antes de extraer o insertar el PIC en el zócalo para evitar daños al
chip, así como también al puerto paralelo de la PC.

 PicProg ha sido diseñado para trabajar con archivos Hexadecimales en formato Intel INHX8M , si se intenta usar cualquier otro
formato los resultados son impredecibles. Aunque en ningún caso es peligroso para el Chip o el Programador, simplemente el
programa se cargará erroneamente o no llegará a cargarse.

http://www.todorobot.com.ar/proyectos/picprog/picprog.htm

Vous aimerez peut-être aussi