Professional Documents
Culture Documents
todo gracias a
PICBASIC, es similar a programar en el legendario QBasic ó el actual Visual Basic...
de lo contrario todavía estaría pegandome cabezasos con el Asembler.. El PIC es el
sueño de todo electrónico que se veía frustrado al tratar de llevar a cabo los
proyectos con digitales, ya que construir circuitos con puertas lógicas llevaba hacer
un diseño en papel, minimizarlo mediante mapas de Karnaugh, armarlo en el
protoboard, y te das cuenta que queda un circuito gigante y que dificilmente lo
puedes llevar a la placa... Pero gracias a san PIC se simplifica la vida, en un solo
chip CPU, Ram, EEPROM, I/O y algunos dotados de entradas análogas y de
comunicación... ahora puedes hacer circuitos "upgradeables", o sea puedes
modificar su funcionamiento sin cambiar la electrónica, sólo a base de
programación, además el circuitaje se reduce al mínimo, sólo el regulador de 5V y
el oscilador.... realizar funciones matemáticas y algoritmos raros sin mayor
complicación... todas las ideas para modificar el vehículo ahora son totalmente
factibles, sólo faltan las ganas y llenarlo de displays 7 segmentos y pantallas LCD
con la información que se requiere... en esta sección iré directamente al grano,
para qué voy a explicar los miles de intentos frustrados que tuve con los PIC...
hasta que por fin!!! una sonrisa de oreja a oreja cuando por fin logré que un led
blinqueara en una pata del PIC16F84A... listo para dominar al mundo.
PROPIC2:
Lo primero es construir el programador, el PROPIC2... hice el de la página www.ic-
prog.com ... pero incluí más zócalos para poder programar pic de 8, 18, 20, 28 y
40 pines. La idea está en la página de www.pablin.com.ar, lo metí en una caja de
VHS... y para la alimentación usé un cargador de celular (13VDC) para ahorrar
espacio en la caja...
Diagrama de programador Propic2
IC-PROG: www.ic-prog.com
El programador PROPIC2 va conectado al puerto paralelo LPT1 del PC, el programa
utilizado para transferir el programa compilado *.HEX es el IC-PROG, en él debe
configurarse el tipo de programador... Propic 2 programmer, Direct I/O, Invertir
MCLR, Invertir VCC y retraso I/O al mínimo... esta configuación funciona impecable.
Es importante habilitar el check box "Habilitar Driver NT/2000/XP" en caso de usar
Windows NT, 2000 ó XP.
Ahora sólo falta el software para hacer el programa del PIC.... hay varias
alternativas, Assembler, C, Picbasic... no hay donde perderse, el PICBASIC es la
solución, es como usar el legendario lenguaje Microsoft Qbasic.
Procedimiento...
Lo principal es decidir qué PIC comprar para tu proyecto, depende de las I/O que
necesitas, si quieres análogas o nó... el básico es el PIC16F84A. No voy a hacer el
típico ckto del led blinqueando que sale como ejemplo en el manual usuario, si no
que algo más original...
Ejemplo:
Se requiere un circuito que envíe una señal de "SOS" en código morse mediante un
LED, en morse la S = ... y la O = ---. El LED será conectado a pin 6 que
corresponde al RB0 y el PIC oscilará a 4 MHz con un cristal de cuarzo.
En el microcode Studio abres un proyecto nuevo y escribes el siguiente código:
'*******************************************************************
********
'Programa : MORSE.BAS
'Descripción : Programa que envía por el puerto RB0 el código morse de ayuda ...
SOS.
loop:
GOSUB S 'procedimiento de la letra "S"
PAUSE espacio 'pausa de 800 mS
GOSUB O 'va a procedimieto de la letra "O"
PAUSE espacio
GOSUB S 'procedimiento de la letra "S"
PAUSE espacio
GOTO loop 'vuelve a repetir los pasos desde la etiqueta "loop"
END 'En realidad en este programa no es necesario, pero END deja al PIC en modo
ahorro de energía.
S:
FOR x=1 TO 3 'Repite el ciclo 3 veces
HIGH led ' enciende el led indicador
PAUSE punto 'pausa de 200 mS
LOW led
PAUSE pausa 'pausa de 400 mS
NEXT x
RETURN
O:
FOR x=1 TO 3
HIGH led ' enciende el led
PAUSE raya
LOW led
PAUSE pausa
NEXT x
RETURN
'*******************************************************************
********
Bueno, esa es la idea, esto se escribe en el Microcode Studio, lo guardas como
MORSE.BAS, se elige el PIC que usarás, en este caso el PIC16F84A, la velocidad del
cristal es definido en el programa (DEFINE OSC 4), luego el programa se compila y
si está sin errores generará un archivo MORSE.HEX, el archivo .HEX lo abres con el
IC_PROG, seleccionas el PIC16F84A y escribes el programa mediante el
programador PROPIC2 conectado a la puerta paralela del PC, obviamente el
PIC16F84 debe está en el zócalo correspondiente.
Fácil y bonito... te das cuenta lo sencillo de programar tus rutinas en Picbasic, por
ej. la robótica se ha desarrollado gracias los microcontroladores PIC... actualmente
trabajo con el PIC 16F870, tiene entradas análogas y 2 puertos I/O de 8 bit, lo cual
es ideal para desarrollar mis proyectos con las señales de los sensores del vehículo,
el sensor Lambda (0 a 1000 mV), MAF (0 a 5V), TPS (0 a 5V), y pulsos digitales de
los inyectores, entrada bobina de alta para calcular las revoluciones del motor
(rpm).
TIPS
Como la memoria es frágil debo anotarlos, así no trabajar el doble en los próximos
proyectos...
PIC16F84A:
Memoria de programa 1796 bytes (Flash)
Ram 68 bytes
EEPROM 64 bytes
13 pinout I/O
22 mA por pinout
Entradas análogas, 6 (PIC16F870), 8 (PIC16F871)
Datasheets PIC16F84A
Errata Datasheets PIC16F84A
PIC16F870/871:
Memoria de programa 3584 bytes (Flash)
Ram 128 bytes
EEPROM 64 bytes
22 pinout I/O (PIC16F870) y 33 (PIC16F871)
22 mA por pinout
Entradas análogas, 6 (PIC16F870), 8 (PIC16F871)
Datasheets PIC16F870/871
Errata Datasheets PIC16F870/871
Lectura análoga:
50 USD.
Descarga el Pack de softwares para programación de PIC: