Sunteți pe pagina 1din 3

PIC

Los PIC son unos microcontroladores fabricados por Microchip que en un solo circuito
integrado incorporan una CPU RISC, memoria ROM, memoria RAM y diferentes
periféricos, lo que los hace ideales para pequeños circuitos que necesiten de la potencia de
un microordenador a un costo reducido.

En esta tabla podéis ver las capacidades de los PIC usados en los proyectos de esta web:

PIC 12C508 12F629 16F84 16F628 16F690 16F876


ROM 0,5K 1K 1K 2K 4K 8K
RAM 25 64 68 224 256 368
EPROM - 128 64 128 256 256
Timers 1 2 1 3 3 3
Entradas/Salidas 6 6 13 16 18 22
Comparadores - 1 - 2 2 2(*)
Ent. Analógicas - - - - 12 5
Puerto serie - - - 1 1 1
Oscilador interno Si Si No Si Si No
Pin 8 8 18 18 20 28

(*) solo en el 16F876A

Programación de los PIC

El 12C508 solo puede programarse una sola vez, el resto al tener Flash ROM se puede programar unas 1000
veces. El 12C508 y el 12F629 de fábrica guardan un valor en su ultima posición de memoria para la
calibración del oscilador interno que se ha de conservar cuando se programan.

Para programar los PIC se necesita un programador y un software de programación. El programa mas
utilizado es el ICProg pero hay otros como el WinPic800,P16PRO o el PICall, como programadores hay
varias opciones para el puerto paralelo y para el serie. En la pagina web del ICProg se pueden ver todos los
que soporta, el mas utilizado es el JDM o una variación del mismo (TE20, PIPO2, ...) como el que se puede
ver en la pagina de estacion digital.

Aqui teneis un pequeño manual de como tengo configurado el ICProg para usarlo con el programador serie
Estos PIC tienen también la posibilidad de ser programados en el mismo circuito que están instalados sin
necesidad de sacarlos y ponerlos en el programador (ICSP), pero para ello el circuito ha de estar diseñado
para soportarlo.

Para programar el PIC, una vez instalado el programador que hayáis realizado, arrancáis el programa y
seleccionáis el tipo de programador, seleccionáis el PIC a programar, cargáis el fichero hex con el programa
del PIC, comprobad si es necesario las opciones y seleccionáis la opción de programar, al cabo de un rato
estará programado vuestro PIC, podéis verificar la programación del mismo y si es todo correcto ya podéis
montarlo en vuestro circuito. Si no, borradlo y comenzad de nuevo.

Si programáis un 12C508 o un 12F629 tened en cuenta que se ha de conservar el valor de la ultima posición,
por lo que quizás primero sea conveniente leer el PIC y apuntar el valor para luego comprobarlo una vez
programado. Tened en cuenta que el 12C508 solo se puede programar una vez!

Si usáis un programador serie, sobre todo con un portátil o con un conversor USB-serie, es posible que de
error al programar el PIC, yo pruebo a borrarlo dos o tres veces antes de programarlo, a veces funciona, si no
tendréis que buscar otro ordenador.

Diferencias entre el 16F876 y el 16F876A

El 16F876A es una revisión más moderna del 16F876 que incorpora dos comparadores analógicos internos y
una fuente de tensión de referencia al igual que el 16F628, que no esta presente en el 16F876.

Además, estos PIC tienen la facilidad de programar internamente mediante programa la memoria Flash ROM,
lo que es útil, por ejemplo, para realizar bootloaders y actualizar el código del programa desde el puerto serie
sin tener que sacar el PIC del circuito y ponerlo en el programador. Esto es diferente al ICSP que soportan
todos los PIC.

La diferencia entre el 16F876 y el 16F876A es la manera como se programa la memoria Flash ROM interna
mediante programa, mientras que el 16F876 permite modificar solo una posición de memoria el 16F876A las
modifica en grupos de 4 posiciones de memoria, lo que se ha de tener en cuenta al hacer el programa y como
afecta a los ciclos de escritura posibles.

Lenguajes de programación para los PIC

Para escribir vuestros propios programas para PIC podéis escoger entre varios lenguajes de programación:
Ensamblador, Basic, Forth, C o Pascal.

Yo los suelo escribir en ensamblador para ello uso el MPLAB IDE que lo podéis descargar de Microchip, con
este programa no solo se puede editar y compilar el código fuente si no que además se puede simular el
funcionamiento del programa. Si solo quereis ensamblar un programa .asm para el PIC utilizad el MPASM.

Si buscáis algo más comprensible que el ensamblador, podéis usar algún lenguaje de alto nivel de los que hay
por la red, para el Basic hay varios programas que podéis usar como el PSB. También hay disponibles
compiladores de C como el PICC o de lenguaje Pascal e incluso uno que se llama JAL. Si os gusta lo exótico
podéis usar el lenguaje Forth, hay un compilador de Forth para el PIC16C84 o tambien teneis el PICForth

Podeis encontrar bastante informacion sobre los PIC ademas de en Microchip en Dontronics.

S-ar putea să vă placă și