martes, 13 de marzo de 2012

Programemos ese PIC

Bien amigos, ya armamos el Programador de Pics, obtuvimos el PonyProg para controlar el programador con nuestra PC, lo probamos y funcionó correctamente… ahora llegó el momento de la verdad: vamos a insertar un microcontrolador en el zócalo y lo vamos a programar.

Fig. 1 A Programar

El PIC 16F628

Si bien existen una gran variedad de microcontroladores PIC, vamos a utilizar uno que nos permita realizar una multiplicidad de pruebas experimentales: el PIC 16F628. Este microcontrolador cuesta aproximadamente 3 dólares y, tal como indica la F (flash), se programa eléctricamente, a diferencia de otros que pueden ser OTP (se programan una sola vez) y los que se borran por medio de luz ultravioleta.

Fig. 2 Cargar el Ledblog.hex

El PIC 16F628 se puede programar unas mil veces o más de modo que se usa como plataforma para probar los programas, y cuando estamos conformes con su funcionamiento compramos un PIC OTP muy barato y lo destinamos al producto definitivo. Claro está que si nuestro interés en el trabajo con PICs es meramente como hobby, entonces podemos emplear el PIC versión flash ya que no necesitaremos decenas o cientos de ellos para los pequeños proyectos.

IMPORTANTE

Si van a emplear el PonyProg para programar el microcontrolador, el PIC debe ser 16F628 (a secas) y no 16F628A, puesto que a este último no lo programa.

El código HEX

Los microcontroladores PIC se programan en código hexadecimal que se produce con un ensamblador o compilador apropiado (más adelante nos ocuparemos de esta cuestión). En nuestro ejemplo emplearemos el siguiente código:

:020000040000FA
:1000000007309F008316003086008312FF30860081
:10001000000000000F20003086000F200628FA3074
:10002000A000C730A1000130A200A10B1828A20B2C
:080030001528A00B1128003473
:02400E00383D3B
:00000001FF

Si lo desean pueden copiar el código en Notepad y grabarlo con el nombre ledblog.hex o descargar Ledblog.hex AQUI

El programa ledblog.hex convierte al PIC 16F628 en un destellador por medio de una rutina que envía alternativamente unos y ceros al puerto B, es decir que cualquiera de los 8 pines correspondientes al puerto B puede ser empleado para destellar el LED.

A Programar se ha Dicho

1) Enchufar el programador en el puerto serie de la PC y conectar la fuente de alimentación (LED verde encendido). Seleccionar con los cuadros combinados Dispositivo "PIC 16 micro" y "PIC16F628"
2) Insertar el PIC 16F628 en el zócalo
3) Abrir el PonyProg y seleccionar File/Open Device File
4) Seleccionar el archivo "ledblog.hex" (ver Fig. 2)
5) Seleccionar del menú la opción Command/Write All

Et Voilà!

El Circuito

Debido a la configuración que programamos (por medio de ledblog.hex) en el PIC, el circuito requerido es extremadamente simple (usa el oscilador interno de 4 MHz.), consiste de dos resistencias de 1K que pueden ser de 220 ohms (mínimo absoluto) y un LED. Debe ser alimentado por 5Volts (4.5V, 3 pilas de 1.5V o 4.8V, 4 pilas de 1.2V).

Fig. 3 Circuito con 16F628

Funcionamiento

El siguiente video muestra el funcionamiento del circuito correspondiente al programa "Ledblog.hex"

video

Con el material estudiado hasta aquí ya estan en condiciones cargar programas en un PIC y armar un circuito de soporte. Esto es muy auspicioso debido a la abundancia de proyectos disponibles en libros de texto y en Internet en los que sus autores ofrecen los archivos .HEX y los circuitos. Por lo tanto: ¡YA pueden realizar esos proyectos!

Pero para aquellos que quieran ahondar un poco más, en artículos futuros vamos a analizar el programa ledblog.asm y estudiar algunas técnicas de programación para que puedan crear sus propios programas y compilarlos.

¡Hasta la Próxima!

Sergio Otaño

0 comentarios: