Вы находитесь на странице: 1из 38

Kit de Programaci n

de PICs (cap tulo escrito por el Ing. A. H. Picerno)


5
INTRODUCCION tomamos como ejemplo. En principio, un
simple circuito que encienda un conjunto
Cuando se enseña un tema que conju- de leds en secuencia es suficiente. Es de-
ga las características de hardware y soft- cir que nuestro dispositivo va a tener 4
ware, se trata de generar un nuevo afi- leds rojos que numeraremos del uno al
cionado sabiendo que el primer paso no cuatro. Cuando lo encendamos, se en-
es enseñar a programar sino enseñar a cenderá primero el led 1 por un instante,
realizar un dispositivo práctico; el interés luego se apagará y se encenderá el dos
por la programación seguramente ven- y así sucesivamente hasta que se encien-
drá luego. dan los cuatro leds; posteriormente al
Yo me imaginé que la mejor manera apagado del número 4 se vuelve a co-
de explicar todo esto sobre un PIC es rela- menzar una nueva secuencia por el nú-
tando cómo se concreta el dispositivo, mero 1.
desde la idea inicial hasta la realización En principio, el tiempo para completar
práctica, suponiendo que el programa lo una secuencia no se considera como al-
diseña otra persona a requerimiento go que debe ser muy preciso y se lo ubi-
nuestro. ca en el rango de medio segundo con
posibilidad de variarlo sólo por modifica-
ACLARACION DEL AUTOR ción del programa.
Este capítulo fue escrito para que Ud. El dispositivo debe ser barato y utilizar
arme el dispositivo y no para que lo lea un PIC 16C84 o 16F84, que cuesta menos
alegremente y deje que otros realicen la de 8 dólares, comprado por unidad (pos-
experiencia práctica. Por favor, decida si teriormente se pretende desarmar el dis-
va a tomar el tema en serio, y si la res- positivo y armar otros; por esa razón se eli-
puesta es sí; no dude en armar el dispositi- gieron PICs fácilmente programables y re-
vo propuesto. Si no lo hace es muy pro- programables).
bable que en determinado momento de- Por otro lado, el circuito debe ser muy
je de entender lo que está leyendo y simple y con pocos componentes ya que
créame que no es culpa mía. Como ya pretendemos armarlo en un protoboard
dijera, si Ud. pretende aprender a andar (panel de armado sin soldador).
en bicicleta en forma teórica es un firme Vamos a suponer que no tenemos un
candidato al yeso. dispositivo programador a nuestra disposi-
ción; es decir que deberemos armar tam-
bién un dispositivo programador de nues-
QUE NOS PROPONEMOS ARMAR tros PICs que se conecte al puerto parale-
lo de una PC (el puerto de impresora).
No tendremos grandes pretensiones so- Nuestra intención es que construya un dis-
bre el dispositivo a armar, ya que sólo lo positivo para programar PIC que sea muy

Todo sobre PICs 59


KIT DE PROGRAMACIÓN DE PICS

sencillo de modo que se


Figura 1
pueda armar en el mismo
protoboard y que se conec-
tará a la PC por intermedio
de una manguera.
Como todos sabemos, un
dispositivo para una PC
(hardware), siempre necesi-
ta un programa que lo con-
trole (software). Nuestra in-
tención es que Ud. no com-
pre nada más que lo im-
prescindible; así que vamos
a usar un software gratuito
llamado NOPPP que puede
bajarse por Internet y cuya
distribución hemos facilita-
do hace un tiempo a los
compradores de Saber
Electrónica (si aún no lo tie-
ne y desea recibirlo sin cargo, contáctese lado, el término se puede confundir con
telefónicamente con el departamento de un dispositivo que funcionando mal que-
Atención al Cliente al 011-4301-8804 o por ma a los PIC en lugar de cargarlos, tal co-
e-mail a mo el autor mencionará con respecto a
ateclien@vianetworks.net.ar). un programador comercial.
Antes de continuar, quiero realizar al-
gunas aclaraciones con respecto a los EL CIRCUITO DEL PROGRAMADOR
términos utilizados en este artículo. Cuan-
do decimos “programar” nos estamos re- Un circuito con PIC siempre se compo-
firiendo a diseñar un programa para un ne de dos secciones. El circuito del dispo-
PIC y a la persona que realizó ese trabajo sitivo deseado y los necesarios compo-
la llamamos “programador”; cuando de- nentes periféricos imprescindibles para
cimos “cargar” nos estaremos refiriendo a que el PIC funcione, a saber clock y reset
llenar con datos la memoria de un PIC y (la primer sección cambia con cada pro-
el dispositivo que realiza esta función lo yecto, en tanto que la segunda puede
llamaremos “cargador de PICs”. Aunque ser común a muchos proyectos). Ambos
parezca increíble nuestro amplio idioma circuitos periféricos tienen diferentes op-
no tiene una palabra precisa que diferen- ciones: el clock puede ser a cristal cuan-
ciara a la acción del aparato y se suscita- do se requiera precisión, o a RC (como
ban graves confusiones al leer, por algo en nuestro caso) cuando sólo se requiere
tan simple. En realidad, sí estaba acuña- que la secuencia de encendido tenga un
do un término práctico para el dispositivo: tiempo aproximado. En cuanto al reset,
“quemador de PICs”, pero el mismo sólo éste puede ser externo con un pulsador o
se puede aplicar a aquellos PICs que sólo interno y automático, cada vez que se
se pueden grabar una sola vez. Por otro conecta la alimentación de 5V. Una vez

60 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

definidas estas cosas se


puede dibujar el circuito Figura 2
completo, tal como lo
mostramos en la figura 1.
Observemos primero la
sección periférica impres-
cindible. El clock está ge-
nerado por un oscilador
RC realizado con el PIC,
R1 y C1 (elegidos para ob-
tener una secuencia com-
pleta que dure un segun-
do aproximadamente), en
tanto que el reset se reali-
za en forma automática,
cada vez que se encien-
de el equipo, por interme-
dio de R6. Nuestro circuito
de aplicación no puede ser más sencillo, INSTRUYENDO AL REY MICRO
sólo utilizamos cuatro LEDs sobre las pa-
tas RA0 a RA3 (puerto “A” tomado par- El maestro de nuestro PIC recién com-
cialmente) y sus correspondientes resisto- prado es nuestra PC, ella le va a enseñar
res de pull up (resistores a fuente). Nada a realizar su trabajo. Pero la PC no tiene
más simple y fácil de armar en un panel un zócalo para PIC, entonces ¿en qué
protoboard. parte de mi PC conecto el PIC?. La res-
puesta es: como mi PC no tiene una co-
¿Qué ocurriría si compro los compo- nexión prevista para el PIC yo la debo
nentes, los armo y pruebo directamente construir. El dispositivo con un zócalo para
el circuito? conectar el PIC e instruirlo se llama gené-
No va a funcionar porque como el PIC ricamente “Programador de PICs”, pero
no está instruido para realizar ninguna nosotros en este artículo convenimos en
función y los LEDs van a permanecer to- llamarlo “cargador de PICs” y es como
dos encendidos. El PIC tiene una memoria un apéndice de nuestra PC, conectado
interna que debe cargarse con números con un cable al puerto paralelo de la mis-
binarios de 8 dígitos; exactamente tiene ma.
48 posiciones de memoria (numeradas
desde el 0 hasta el 2F en números hexa- Si la PC tiene dos puertos paralelos de
decimales), en donde se le indicará que salida se usará uno para la impresora y el
tarea debe realizar o qué datos fijos debe otro para nuestro programador, si sólo tie-
cargar para ejecutar esas tareas. ne uno, se desconectará provisoriamente
En nuestro caso activar transistores in- la impresora para conectar el programa-
ternos en algunas patas del puerto “A” dor, o mejor aun, se conectarán ambos
(predispuestas como salidas) de modo de dispositivos a través de una caja selecto-
generar cortocircuitos momentáneos a ra que se consigue en los negocios de
masa en forma secuencial. computadoras y se usa para conectar

Todo sobre PICs 61


KIT DE PROGRAMACIÓN DE PICS

dos impresoras a la misma PC. Ver figura PIC16C84, PIC16C83 y PIC16F84 que son
2. los más utilizados y los únicos que utiliza-
mos en nuestra serie “Educando al rey Mi-
Si Ud. tiene un mínimo conocimiento cro”.
sobre computadoras, sabrá que un dispo- Con respecto al hardware, Ud. puede
sitivo conectado a la PC es totalmente usar el que propone el autor del software
inútil si no está acompañado de un pro- que es muy sencillo o usar otro que le pro-
grama instalado en el disco rígido de la pongo yo más adelante y que tiene algu-
misma. En algunos casos se necesitan dos nas ventajas con respecto a una mejor
programas, a saber: el driver del dispositi- forma de los pulsos de programación. El
vo y un programa de aplicación que utili- NOPPP es suficientemente sencillo como
ce dicho dispositivo. En el caso de disposi- para implementarlo en un panel proto-
tivos que se conectan en el puerto para- board, pero como es un hardware que
lelo, el programa driver no es necesario deberemos usar más adelante para pro-
porque dicho puerto ya está debidamen- gramar otros PICs conviene armarlo en
te habilitado para usar la impresora. Lo forma más definitiva utilizando una pla-
que sí se requiere obligatoriamente, es un queta de circuito impreso o una plaqueta
software de aplicación del programador ojalillada. Si Ud. sólo desea armar el cir-
que suele proveerlo el fabricante del mis- cuito de este artículo puede armar tanto
mo. el cargador como el circuito de aplica-
Programadores y software de aplica- ción en dos lugares distintos del mismo
ción de los mismos hay muchos. Algunos protoboard.
son muy simples y económicos (tan eco- Si quiere algo más definitivo utilice el
nómicos que muchos se entregan gratui- circuito que le propongo yo, que es bas-
tamente por Internet, es decir que el au- tante más profesional ya que cuenta con
tor regala el software y da las explicacio- un integrado lógico con 6 amplificadores
nes para armar el hardware) y otros son buffers que separa la PC del programa-
muy complejos y caros. La diferencia en- dor propiamente dicho.
tre unos y otros suele ser la posibilidad de
aceptar más tipos de PICs (además del
16C84 y 16F84 existen muchos otros) e in- LAS SEÑALES DE
clusive microprocesadores o memorias de PROGRAMACION DE UN PIC
otras marcas. También se diferencian en
la velocidad a la cual cargan el PIC; los Si Ud. está acostumbrado a trabajar
hay de alta productividad que trabajan con memorias serie, no va a tener incon-
con un elevado flujo de datos y otros más venientes para entender cómo se progra-
lentos que sólo sirven para tareas de ma un PIC y puede saltar esta sección. Si
aprendizaje. no lo está, lea atentamente esta sección
En nuestro caso vamos a trabajar, co- en donde develaremos el misterio de la
mo lo hemos hecho desde el comienzo carga de un programa en nuestro hasta
de nuestras notas en Saber Electrónica, ahora inculto rey.
con un software que se llama NOPPP, que El PIC, como una memoria, tiene una
es absolutamente gratuito y se puede ba- pata que predispone el dispositivo para
jar desde Internet. Este software está pre- leer o para escribir. Si la pata 4 del PIC es-
visto para ser usado sólo con los tá a un potencial comprendido entre 13 y

62 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

14 V, el PIC está preparado para escribir accesible se escriben/leen los datos. El


los datos que provienen de la PC. Si la clock que se coloca en la pata 12 sirve
pata 4 está por debajo de 6V, el dispositi- para indicar en qué momento se debe
vo está previsto para ser leído. Los datos transferir la información. Los datos pue-
a leer o escribir se ponen/obtienen de la den estar sobre la pata 13 todo el tiempo
pata 13 del PIC con la pata 12 del mismo que Ud. desee, ya que no serán ni leídos
que opera como clock. ni escritos por la PC hasta que se produz-
Aquellos que conocen el proceso de ca un cambio de estado (de alto para
carga de datos en una memoria serie, no bajo) en la pata 12. Al autor le gusta ex-
tendrán mayores inconveniente en enten- plicar estos hechos haciendo un paralelo
der la frase anterior. Para aquellos que no con la ejecución de un penal. El jugador
conocen el proceso explicamos lo si- 13 pone la pelota pero hasta que el 12 no
guiente: la patea no sabemos si será gol. El juzga-
Un PIC se lee/escribe accediendo a las miento lo realiza el juez que anulará el
diferentes posiciones de memoria por la penal si no coincide con su silbato ya sea
misma pata por la que se obtienen/ingre- que esté convertido o no.
san los datos (la pata 13). La señal prime- En la figura 3 mostramos las formas de
ro elige la posición de memoria a ser leí- señal indicadas por Microchip para leer-
da/escrita, y luego que esa posición está /grabar un PIC.
El lector obser-
vará que dentro
del comando exis-
te una primera sec-
ción de 6 bits que
indica la posición
de memoria a ser
leída/escrita y lue-
go la línea de da-
tos permanece en
estado de alta im-
pedancia por un
intervalo de tiempo
que depende de
la operación (du-
rante ese tiempo el
clock está apaga-
do). Por último in-
gresan/egresan los
datos.
Las conexiones
de fuente y las se-
ñales deben ser
aplicadas según
Figura 3 una secuencia pre-
determinada que

Todo sobre PICs 63


KIT DE PROGRAMACIÓN DE PICS

mismo criterio a un
Figura 4 ritmo tal que el dato
esté presente por lo
menos durante
100nS.
H) Cuando todos
los datos fueron car-
gados se debe espe-
rar 1 segundo.
I) Desconectar la
fuente de 13V.
J) Desconectar la
fuente de 5V.
K) Retirar el micro
grabado.

Por sobre todas las


cosas debe respetar-
se el criterio de no
sacar un PIC de su
zócalo con las fuen-
tes conectadas, por-
que puede despro-
debe respetarse invariablemente. Los gramarse o, peor aun, dañarse definitiva-
nombres de las señales se aclaran en la fi- mente.
gura 4. También es muy importante respetar
las tensiones de fuente y no demorar la
A) El primer paso es colocar el PIC en llegada de datos, luego conectar VPP
el zócalo del programador con señales y (porque podrían cargarse datos falsos por
fuentes a potencial de masa. interferencias electromagnéticas).
B) Levantar la tensión de fuente VDD a Como usted puede observar de la des-
un potencial de 5V ± 0,2V por la pata 14 cripción anterior la entrada RB6 es utiliza-
(VDD). da como clock y la RB7 como entrada de
C) Levantar la tensión de fuente VPP a datos en una clásica operación de trans-
un potencial de 13V ± 0,3V por la pata 4 ferencia de datos en serie.
(MCLR NEGADO). Observe que hay un tiempo entre el
D) Esperar en esas condiciones un momento en que MCLR NEGADO sale de
tiempo superior a 1mS. la condición de reset hasta que aparece
E) Posicionar el primer dato en la pata el primer dato o el primer pulso de clock.
13 (RB7) con un potencial alto (mayor a 4 También hay un tiempo mínimo para la
V) o bajo (menor a 1V). permanencia de un dato en la entrada
F) Cuando la pata 12 (RB6) pase a un (la representación usada para un dato
estado bajo, inferior a 1V, el dato se car- significa que el mismo puede ser alto o
ga en la memoria. bajo, depende del bit que se esté gra-
G) Continuar cargando los datos con el bando). Lo que no hay es un tiempo má-

64 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

ximo pero evidentemente cuando mayor en una secuencia perfectamente prede-


es este tiempo más lenta será la carga terminada que debe respetarse a ultran-
del programa. za. Las predisposiciones son tres y las va-
El tiempo más adecuado depende de mos a analizar por orden:
factores tales como el largo del cable uti- a) La prohibición de lectura. El PIC se
lizado para conectar el programador a la programa pero el programa no puede ser
PC. Si el cable es largo, los pulsos tienden leído. Cada tanto aparece información
a deformarse y atenuarse, sobre todo en Internet sobre alguna empresa dedi-
cuando son de corta duración (100nS cada a leer PICs protegidos. Lo cierto es
equivalen a una frecuencia de 10MHz). que todas las investigaciones del autor
Para evitar problemas, todos los progra- terminaron en el pedido de dinero ade-
madores trabajan a velocidades inferiores lantado, sin ninguna garantía de entrega
a la máxima, sobre todo considerando de la información con posterioridad; por
que la capacidad de memoria no es muy lo que el autor considera que se trata de
grande y para el uso no comercial no son un moderno cuento del tío. En una de
imprescindibles grandes velocidades de esas supuestas empresas no me solicita-
grabación. ron ningún dinero por adelantado, así
que presuroso envié un PIC cargado con
un programa que yo mismo protegí. Un
PREDISPOSICION DE UN PIC mes después y cansado de enviar e-mails
que solicitaban respuesta o la devolución
Un cargador de PIC debe permitir tam- del PIC, me dí cuenta de que la ganan-
bién una operación de verificación para cia de esa empresa estaba en los PICs
cuando el usuario tiene dudas respecto que recibían gratuitamente de tontos co-
de la condición de un determinado PIC mo yo. Aclaremos que el programa pro-
(vacío o lleno). Solo que el programa al- tegido no se puede leer, pero el PIC se
macenado debe ser inviolable en caso puede volver a grabar. El autor escuchó
de que la persona que lo cargó así lo ha- también una especie que dice que el PIC
ya dispuesto. Esto se llama predisponer el 16Fxx fue creado por una supuesta filtra-
PIC y no sólo se lo predispone para ha- ción en el secreto del programa de los
cerlo inviolable, sino que además se de- PIC 16Cxx, pero el autor no tiene pruebas
terminan otros importantes parámetros de de la certeza de esta noticia.
funcionamiento como por ejemplo que b) Habilitación del timer de reset. En el
esté predispuesto para un clock a RC o pinup del PIC se puede observar que la
que contenga un temporizador de reset pata llamada MCLR negado (4) tiene un
interno. doble uso. En principio sirve para predis-
Las predisposiciones no forman parte poner el PIC en grabación o lectura, co-
del programa del PIC aunque pueden in- mo ya fuera comentado; pero cuando su
cluirse junto con éste. Algunos cargadores tensión cae por debajo de 1V, el PIC se
de PICs preguntan sobre la predisposición resetea y comienza la lectura del progra-
antes de grabar el PIC. La pregunta sobre ma por el principio. Este tipo de reset se
la predisposición deseada aparece en la llama reset a pulsador y se utiliza para
pantalla de la PC y uno elige de un menú provocar alguna acción como, por ejem-
de opciones. En otros casos, las predispo- plo, comenzar una secuencia de encen-
siciones se escriben antes del programa didos de LEDS o encender un LED por un

Todo sobre PICs 65


KIT DE PROGRAMACIÓN DE PICS

tiempo predeterminado. Este modo de los programas más simples y donde se


funcionamiento requiere una acción ex- producen loops infinitos a propósito (de
terna de reset (apretar un pulsador). La los que sólo se sale tocando un pulsa-
misma acción de reset se puede conse- dor), se suele dejar el perro guardián des-
guir en forma automática cada vez que conectado para evitar un funcionamien-
se conecta la fuente de 5V. Este modo to errático.
de trabajar sólo requiere que la pata Cada cargador de programas tiene un
MCLR (pata 4) esté permanentemente software diferente y esto implica que las
conectada a 5V (con un puente o un re- predisposiciones anteriores, también lla-
sistor de 1kΩ) y que el PIC esté predis- madas fusibles de predisposición se ac-
puesto con el Power-up Timer en ON cionen con sentencias diferentes que se-
(temporizador de encendido conecta- rán explicadas más adelante.
do). Cuando el temporizador está habili-
tado, luego de conectar la fuente de 5V,
comienza un conteo interno (que dura EL CARGADOR DE PICs
72ms) durante el cual el PIC pone todas MAS SENCILLO EL NOPPP
sus compuertas internas en cero (reset) y
recién después comienza a efectuar los El NOPPP es un software para un car-
pasos que le indica el programa. A pro- gador muy simple y efectivo. Realmente
pósito, el nombre MCLR proviene de MAS- no tiene defectos importantes y nos per-
TER CLEAR (literalmente, limpiador maes- mite cargar los PIC 16C83, 16C84 y 16F84
tro). en forma muy económica ya que el hard-
c) Circuito de vigilancia (perro guar- ware correspondiente sólo requiere dos
dián). En realidad el PIC tiene un reset ex- diodos rápidos de señal, un BC548 y 4 re-
tra que opera luego de un cierto
tiempo si no se realiza la opera- Figura 5
ción final del programa. Es como
una especie de rutina automáti-
ca de descongelamiento que
opera en caso de falla del pro-
grama. Eventualmente puede in-
gresar algún pulso de energía al
sistema que envíe al programa a
un loop (rizo) eterno (una deriva-
ción o camino cerrado sobre sí
mismo). Una vez que el programa
ingresó en ese camino no puede
salir de él salvo que se produzca
un reset. Si pasa un tiempo consi-
derable sin que se llegue a la últi-
ma sentencia del programa, el
PIC analiza su predisposición y si
el Watchdog timer (literalmente
perro guardián) está habilitado
provoca un reset programado. En

66 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

sistores, además de una fuente regulada la pata 4 Vpp está a un potencial de 13V
doble de 13 y 5V y un conector para el aproximadamente.
puerto paralelo de la PC. Más adelante Al mismo tiempo, el cable 17J1 se man-
veremos el circuito completo pero para da a potencial de masa para que los da-
entender el funcionamiento del cargador tos entrantes no salgan a su vez por el ca-
de programas nada mejor que el circuito ble 11J1; de este modo, el diodo D1 no
simplificado de la figura 5. A propósito, el permite que el potencial del cable supe-
nombre del software proviene de las ini- re la tensión de barrera del diodo (es de-
ciales de NO Piece Programer Pic, es de- cir que el diodo D1 opera como una lla-
cir: programador para PIC sin piezas en ve). Como ya sabemos los datos deben
alusión a los muy pocos componentes ser validados por medio de un cambio de
que requiere. estado de la señal de clock que ingresa
Las patas de comunicación con el desde la PC por el cable 1J1.
puerto paralelo de la PC están indicadas Fórmese una imagen mental del flujo
como 1J1, 2J1, etc., ya con J1 designa- de datos. Piense en la PC como si bom-
mos al conector de entrada y el número beara datos al PIC por el cable 14J1; el
inicial indica a qué pata se dirige el cable PIC, para no inflarse, los devuelve por el
(también incluimos el color del mismo). cable 11J1. En realidad, los datos ingre-
Los datos (oscilando de 0 o 5V) ingresan san por la pata 13 del PIC y se instalan en
en sucesión por el cable 14J1 y, atrave- la memoria; pero a continuación, el pro-
sando el resistor R2, llegan a la pata 13 grama de carga verifica que el dato esté
del PIC. La pata 13 perteneciente al puer- en la posición de memoria correspon-
to “B” se comporta como una pata de diente y si así ocurre, se habilita la carga
entrada de datos en tanto el cable 2J1 se del siguiente dato. La secuencia es tal
encuentra en el estado bajo es decir que que:

Figura 6

Todo sobre PICs 67


KIT DE PROGRAMACIÓN DE PICS

A) se direcciona una posición de la mediante este manual técnico, pero no


memoria, se va dedicar a trabajar permanente-
B) se graba, mente con ellos, puede armarlo en un
C) se verifica esta última grabación y si módulo de armado sin soldaduras (proto-
es correcta, board) junto con el circuito de un deste-
D) se habilita al programa para cargar llador rítmico. La intención es armar el
el siguiente dato. cargador de programas, cargarle el pro-
grama de un destellador rítmico, colocar
De acuerdo al programa de carga, si el PIC en el circuito de prueba y observar
falla la carga de un dato se puede seguir el funcionamiento. Luego, modificar algo
con los otros y al final se intenta la carga del programa, recargar el PIC y observar
del dato que no se cargó. En otros, una el resultado sobre el circuito de aplica-
falla de verificación significa que el pro- ción.
grama debe volver a cargarse completo.
Ahora que conocemos el funciona-
miento del cargador de programas NOS PREPARAMOS PARA
NOPPP vamos a completar el circuito con CARGAR UN PIC
una fuente de alimentación y el conector
para PC. Ver figura 6. Debemos trabajar con la PC para pre-
Observe que las fuentes están confor- pararla a cargar un PIC; el autor pasó mu-
madas por dos reguladores de 5 y de 12V chos años de su vida observando cómo
pero, como necesitamos un regulador de otros colegas hacían un uso intensivo de
13V, realizamos una pequeña modifica- las computadoras PC y él no se animaba
ción en el regulador de 12V; agregando más que a utilizar su vieja computadora
los diodos D1 y D2 la tensión de salida se TEXAS TI99 creando sus propios programas
incrementa a un valor de 13,2V. El otro en BASIC. Hasta que un día se sentó frente
cambio importante es el agregado de a la PC de su hijo en la soledad de su ofici-
capacitores de filtro que, como Ud. ob- na y se animó a encenderla y teclear al-
serva, siempre se ubican de a dos: un gunas ordenes (eran los tiempos del DOS y
electrolítico para filtrar las bajas frecuen- el mouse era casi un adorno).
cias y un cerámico disco para las altas Como en una relación amorosa, el au-
frecuencias. tor fue animándose poco a poco hasta
Por último se agrega un conector del que un tiempo después se dio cuenta que
tipo DB21 macho para conectar el dispo- dominaba un dispositivo nuevo que pronto
sitivo directamente a la salida de la im- coparía el mundo de los ingenieros en
presora de una PC. En el circuito dibuja- electrónica. Así las cosas, diez años des-
mos el conector visto por el lado de las pués sin ser un super experto en computa-
patas de conexiones y el código de colo- ción puedo decir que domino suficiente-
res de cable adecuado para usar un ca- mente a mi PC para que sea una invalora-
ble plano de 5 hilos (negro, marrón, rojo, ble aliada en la ejecución de mis trabajos.
naranja y amarillo) al cual se le retuerce Tan es así, que mi jornada de trabajo co-
por encima otro de color blanco que mienza siempre con una especie de cere-
opera como masa y blindaje. monia, el encendido de mis dos Pentium
Todo este circuito es sumamente senci- conectadas en red. Yo me siento a escribir
llo y si Ud. sólo quiere conocer los PICs en la computadora con el nombre de red

68 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

“Alberto” pero mantengo encendida la programador realizando el trabajo mas ru-


computadora “Andrés” en donde guardo tinario y dejándole solo el trabajo creati-
mis archivos y realizo el back up de mi tra- vo. La máquina me ayudará a plasmar mis
bajo a la espera del dibujante que la utili- ideas en programas para el PIC. El progra-
za un rato después. En fin, que mi relación ma se probará en forma virtual en un PIC
amorosa con las PC llegó a tal extremo simulado que permite optimizar el funcio-
que ya no me basta una sola máquina y si namiento y cuando ya está depurado ge-
pudiera tendría un verdadero harén. nera un circuito impreso que se diseña soli-
Desde hace unos años mi PC me ayuda to, sin ayuda humana. Terminado el pro-
aún más, porque forma parte de mi grupo yecto, el sistema entrega una transparen-
de producción cargando los PICs de mis cia con calidad fotográfica que apoyada
proyectos. En un futuro mi PC va a sufrir un sobre una placa de circuito impreso virgen
cambio de personalidad porque se va a sensibilizada, genera una imagen virtual
transformar en un simulador de PICs que que luego se transforma en una imagen
me permitirá desarrollar dispositivos con real con un proceso de revelado. Poste-
mucha mayor velocidad para que todos riormente el ataque con ácido (el conoci-
los lectores tengan proyectos frescos para do percloruro) permite generar un circuito
armar. El ingeniero Vallejo quiere que nues- impreso listo para perforar, armar y probar.
tra revista tenga muchos y nuevos proyec- De la idea al dispositivo real solo media un
tos para armar y muchos de ellos con PICs pequeño intervalo de tiempo gracias a mi
para estar a tono con nuestra nueva épo- computadora.
ca y me siento honrado porque me eligió Si se anima a entrar en este mundo lo
a mí para concretar esos proyectos. invito a seguirme.
El simulador de PICs, junto con un pro-
grama que transforma programas en VI-
SUAL BASIC (una modernización del viejo CARGANDO EL SOFTWARE NOPPP
BASIC de la TI99) en programas con el set
de instrucciones del PIC; es el arma de di- Ud. debe tener el software NOPPP en su
seño más moderna que se pueda uno poder. La forma de obtenerlo depende de
imaginar. Prácticamente todo el trabajo lo Ud.; si no tiene conexión a Internet puede
realiza la PC que interpreta los deseos del comprar el CDROM “ESPECIAL 2000” en
nuestras oficinas, solicitarlo
por correo o dirigiéndose
al Centro Japonés de In-
formación Electrónica si
vive en México o al Cis-
tec, si reside en Colombia
o a Amexi, si reside en el
Uruguay. Nosotros vamos
a suponer que Ud. tiene
instalado un windows 95
(ó 98) en su PC y que utili-
za habitualmente el “ex-
plorador de windows” pa-
Fig. 7
ra generar directorios y

Todo sobre PICs 69


KIT DE PROGRAMACIÓN DE PICS

archivo Noppp.exe. Este


procedimiento (directo
desde el DOS) puede ser
imprescindible en algunas
computadoras muy lentas
pero en la mayoría de las
máquinas puede trabajar
Fig. 8 en el DOS con una venta-
na de windows para vol-
trasladar archivos. El proceso a seguir paso ver al mismo más rápidamente. Simple-
a paso es el siguiente: mente pique dos veces sobre el archivo
Noppp y el programa se ejecutará.
a) Pique sobre el icono del explorador
de windows. Se extenderá una pantalla
como la mostrada en la figura 7. USO DE CARGADOR DE PICS
b) Pique sobre el icono del disco rígido
C (o algún otro disco rígido) para que se Conecte el cargador de PICs al puerto
marque recuadrado en azul y luego pi- paralelo de la PC como le indicamos en el
que sobre archivo -> nuevo -> carpeta. El artículo anterior. Con la fuente desconec-
árbol principal del directorio C: tendrá tada observe que el PIC no esté en el zó-
ahora un nuevo subdirectorio o carpeta calo, si lo está debe retirarlo con la fuente
llamada “nueva carpeta”. Pique en ella apagada. Pique dos veces sobre el archi-
dos veces y se habilitará un cursor para vo Noppp del directorio PIC y aparecerá
cambiarle el nombre. Escriba el nombre una pantalla como la que mostramos en
que desee para el subdirectorio donde va la figura 9.
a guardar todos sus archivos de PICs. El Esta pantalla inicial nos pregunta en
autor optó por el nombre PIC. qué puerto está conectada la salida para-
c) Coloque el CDROM “ESPECIAL 2000” lela, y nos dá las opciones 1, 2 y 3. En la
en el reproductor de CD y pique sobre el mayoría de las máquinas (salvo que se ha-
icono de disco para abrir la carpeta. Se- lla predispuesto lo contrario o que existan
leccione la carpeta PROPIC y ábrala pi- más de una salida paralelo) siempre se
cando sobre ella. En su interior encontrará usa el puerto 1. Así que Ud. debe pulsar la
el archivo que necesita llamado
Noppp del tipo aplicación. Debe
picar sobre este archivo, arrastrar-
lo hasta el subdirectorio PIC y sol-
tarlo allí. De este modo creamos
un duplicado del Noppp en el
subdirectorio PIC. Ver figura 8.
d) Para abrir el utilitario Noppp
podemos tomar diferentes cami-
nos. Por ejemplo podemos cerrar
el windows, abrir el DOS, cambiar
de directorio hasta llegar al direc-
Fig 9
torio PIC y desde allí ejecutar el

70 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

tecla numérica 1 para pasar a la si-


guiente pantalla que podemos ob-
servar en la figura 10.
En esta pantalla se confirma que
se está utilizando el puerto 1 y que
este puerto tiene una posición de
memoria 378H. Además el progra-
ma nos invita a conectar la fuente
pero manteniendo el PIC sin ubicar
en el zócalo. Luego nos indica
Fig 10 apretar la barra espaciadora para
ir a la siguiente pantalla. Ver figura
11.
En esta pantalla el programa nos
indica que sólo soporta tres tipos di-
ferentes de PICs y nos invita a optar
por uno de los tres tipos pulsando
las teclas C, F o 3. También se pue-
de hacer una verificación del fun-
cionamiento del cargador pulsan-
do la tecla T. En este artículo vamos
a suponer que el cargador de PICs
funciona correctamente pero más
adelante pulsaremos la tecla T para
ver cómo se repara el cargador. En
nuestro caso luego de pulsar la te-
cla correcta (por ejemplo la C)
aparece una nueva pantalla como
la indicada en la figura 12.
Fig 11 Esta pantalla sólo nos indica que
es el momento de insertar el PIC en
el zócalo. Observe que la fuente
está conectada. El autor considera
que es mucho más seguro desco-
nectar la fuente, colocar el PIC y
volver a conectar la fuente ya que
si se hace caso omiso a la indica-
ción de la pantalla de la figura 10
en el sentido de conectar la fuente
el software dará una indicación del
tipo “programmer no conected”
(programador desconectado) y
Fig 12 abortará la carga. La siguiente
pantalla mostrada en la figura 12
es la última de la serie de predispo-

Todo sobre PICs 71


KIT DE PROGRAMACIÓN DE PICS

sición. En esta pantalla podemos elegir la nica o nemónica. Si se volvió loco con
operación que deseamos realizar entre tantos nombres extraños no se preocupe;
tres seleccionables por las teclas L, S, y E estamos para aclararle las dudas: el for-
que significan lo siguiente: mato assembler significa el idioma que
L) Cargar el PIC con un archivo que de- usan los programadores; como el carga-
be ser del tipo hexadecimal. Este formato dor de PIC no entiende ese idioma el pro-
no es el formato que maneja el programa- grama se pasa por una especie de pro-
dor por lo tanto antes de cargar el PIC de- grama traductor llamado llamado MPASM
bemos generar este archivo HEX partiendo que además de la traducción realiza un
del archivo nemotécnico que generó el control y permite depurar errores. No se
programador. asuste que no necesita comprar el MPASM
S) Seleccionar el tipo de PIC. En nuestro el mismo puede bajarlo de Internet.
caso el PIC ya fue seleccionado pero po- Ahora vamos a seguir con el paso a pa-
dríamos necesitar un cambio si debemos so con intenciones de instruir a nuestro
programar más de un tipo. rey. Suponemos que Ud. ya tiene armados
E) Borrar un PIC previamente grabado. los circuitos del secuenciador y del carga-
Este tipo de PIC no necesita un borrado dor de PICs y que tiene el programa
previo a la grabación; pero puede ser ne- NOPPP cargado en el subdirectorio PIC de
cesario borrarlo por razones de seguridad. su computadora. Suponemos además que
V) Verificar el programa cargado en un su protoboard o circuito impreso está co-
PIC. En esta función se carga un programa nectado al puerto serie de la PC y tiene
hexadecimal y el cargador verifica que el una fuente de 15 V CC conectada al pro-
programa almacenado en el PIC sea igual toboard.
al hexadecimal.
Por respeto a todos los lectores que sa-
ben leer en Inglés, vamos a dar primero
LOS PROGRAMAS PARA CARGAR PICS las explicaciones sin traducción.

Un programa para PIC viene en diversos Si Ud. no sabe Inglés al final ponemos la
formatos y el lector debe saber cómo pa- traducción de las pantallas. Además las
sar de un formato a otro hasta llegar al explicaciones dependen de la extensión
definitivo que puede grabarse en el PIC. El del archivo.
tipo de archivo que se posee es función
del punto en que se toma el trabajo. Si so-
lo nos dedicamos a armar el dispositivo CARGA DEL PIC CON ARCHIVOS .HEX
debemos tener un archivo del tipo hexa-
decimal tal como si fuera un componente No necesita tener cargado ningún utili-
más del dispositivo. En la lista de materiales tario más que el NOPPP en su computado-
debería decir programa MONGO.HEX para ra y por supuesto el archivo del secuencia-
armar al dispositivo MONGO. dor llamado secua.hex.
Por lo general el archivo de programa Arranque el NOPPP y realice todas las
que tenemos disponible (el que viene con operaciones indicadas en el artículo ante-
los artículos de las revistas) tiene una ex- rior hasta llegar a la pantalla final en don-
tensión (.asm) que corresponde a la ver- de le piden que indique lo que desea ha-
sión “assembler” (ensamblado), nemotéc- cer entre las opciones:

72 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

los únicos PICs que se pueden cargar en


nuestro cargador de PICs. Otros tipos (in-
cluyendos los PIC de producción con fusi-
bles de programación) no pueden ser pro-
gramados en el NOPPP y requieren otro
software y otro hardware.
Al autor se le presentó un problema
inexplicable al seleccionar la “F”. El proce-
so de carga de memoria terminaba con
un aviso indicando que se presentaba una
falla en una posición de memoria. La úni-
ca solución posible fue tipear “C” en lugar
de “F” a a pesar de que el integrado tenía
claramente marcado PIC16F84. Por lo de-
más todo funcionó correctamente por lo
Fig 13 que autor considera que se trataba de un
error de rotulación. Luego de elegir el PIC,
el programa vuelve a la pantalla inicial
para realizar una nueva operación.
Nosotros queremos cargar un PIC pero
antes debemos cargar el programa .hex
en el NOPPP. Tipeamos “L” de “load hexa-
decimal file” cuya traducción exacta es
cargar archivo hexadecimal. Aparecerá
una pantalla como la mostrada en la figu-
ra 14.
Aquí se debe escribir el nombre del ar-
chivo a cargar es decir:
Fig 14
secua.hex.
L) Cargar el PIC con un archivo que de-
be ser del tipo hexadecimal Note que el programa no da la posibili-
S) Seleccionar el tipo de PIC dad de buscar el archivo en otro directo-
E) Borrar un PIC previamente grabado rio que no sea aquel donde se cargó el
V) Verificar el programa cargado en un NOPPP. Es decir que con el mismo procedi-
PIC miento que empleamos en el segundo ar-
tículo y utilizando por ejemplo el “busca-
Tipee S para seleccionar el tipo de PIC dor de windows” se debe trasladar el ar-
que está usando y aparecerá una panta- chivo “secua.hex” desde su lugar de ori-
lla como la de la figura 13. gen al subdirectorio PIC. A continuación ti-
Si no eligió el tipo de PIC con anteriori- peando secua.hex (no olvide de tipear la
dad hágalo ahora tipeando S. Cuando extensión .hex, porque si no lo hace ob-
aparece la pantalla de elección del PIC ti- tendrá un mensaje de error indicando que
pee F, C o 3 según use un PIC16F84, un el archivo pedido no existe) se cargará el
16C84 o un 16C83. Recuerde que éstos son programa en el NOPPP y el resultado de la

Todo sobre PICs 73


KIT DE PROGRAMACIÓN DE PICS

ponga la fuente y observe los leds. Si todo


salió bien observará que se encienden en
una rápida secuencia una y otra vez. Qué-
dese mirando su obra de arte por un buen
rato. Cualquiera diría que es aburrida, pe-
ro estamos seguros que para Ud. que ar-
mó un dispositivo con un PIC por primera
vez en su vida, se verá como una obra
maravillosa. Esperamos que en este preci-
so momento esté descorchando el cham-
paña pero si no es así no se preocupe que
lo vamos a ayudar si todo fracasó. Con-
suélese recordando que los éxitos inmedia-
tos no proveen ninguna enseñanza.

Fig 15 POSIBLES PROBLEMAS QUE


PUEDEN PRESENTARSE
carga se observará en una pantalla como
la mostrada en la figura 15. Veremos en la próxima edición, que los
En esta pantalla se pueden observar al- problemas que se pueden presentar al
gunos detalles del tamaño del archivo cargar el PIC pueden ser de software, por
.hex desglosado en cantidad de palabras ejemplo cuando el archivo que tenemos
de programa, de configuración, de identi- disponible no es el que entiende el carga-
ficación y de datos. También aparece una dor de PICs, o de hardware, cuando nos
indicación de que el programa fue carga- mandamos una “macana” y colocamos
do completo. Por último se indica “apretar un componente en forma indebida. En
la barra espaciadora para continuar” con efecto los únicos archivos que sirven direc-
lo cual aparece nuevamente la pantalla tamente son los que tienen extensión .HEX.
inicial. si su archivo tiene otra extensión deberá
Ahora sí, es el momento de cargar el convertirlo primero con el programa
PIC eligiendo “P” (PROGRAM PIC). Se ob- MPAMS que ya le hicimos guardar.
servará un movimiento en la pantalla y En cuanto a los problemas de hardware
unos segundos después aparecerá un car- del cargador: “quién nos asegura que no
tel indicando que la carga fue exitosa. Re- hayamos cometido un error de armado y
cuerde que el NOPPP irá colocando los pusimos 10kΩ donde lo indicado es 1kΩ”.
datos en la memoria y luego los irá leyen- Si se tratara de una radio o de un amplifi-
do; si el último dato se cargó correcta- cador seguramente Ud. sabría como en-
mente pasará a cargar el siguiente y así contrar el componente equivocado o fal-
sucesivamente hasta llegar al último. tante; pero con estos bichos raros digitales
Posteriormente el programa indicará la cosa no siempre queda clara. No se
que se debe cortar la fuente y luego sacar preocupe; si aún no pudo brindar en este
el PIC del zócalo. Cumpla con las indica- artículo lo vamos a ayudar para que repa-
ciones y coloque el PIC programado en el re nuestro querido engendro cargador de
zócalo del secuenciador. Y por último re- PIC.

74 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

ir a inicio (abajo a la izquierda de la panta-


lla principal de Windows) como si fuera a
apagar la máquina, pero en lugar de apa-
garla debe ir a la selección “reiniciar en el
modo DOS”.
Una vez que arrancó el NOPPP. Va a te-
ner la pantalla inicial en donde le indican
que seleccione un puerto para trabajar. Se-
leccione el puerto adecuado (por lo gene-
ral el 1 si Ud. usa el mismo conector que su
impresora para conectar el cargador). La
siguiente pantalla le va indicar que conec-
te la fuente de potencia sin colocar el PIC
en el zócalo. Haga lo que le indica la pan-
Figura 16
talla. La siguiente pantalla depende de
Seguramente existen cargadores mu- que el dispositivo cargador esté o no co-
cho más modernos y versátiles que el nectado en el puerto paralelo. Si no está
NOPPP, pero éste tiene una ventaja funda- conectado o con algunas PC en particular
mental: se autodiagnostica es decir que va a aparecer una pantalla como la indi-
nos va arrimando información para pro- cada en la figura 16.
barlo paso a paso y reparar lo que está En esta pantalla le indican que el disposi-
mal. El modo de entregar esta información tivo está desconectado (NOPP hardware
es a través de la pantalla del monitor que not found). Conéctelo. Si está conectado
le irá indicando qué mediciones hacer so- significa que su PC tiene un puerto paralelo
bre la plaqueta del cargador de PICs. Por de ida solamente (envía señales a la impre-
supuesto le vamos a pedir un sofisticado sora pero no recibe todas las señales de re-
instrumental de prueba consistente en un torno desde la misma). En este caso ignore
simple téster digital de bajo precio. la pantalla que le va a aparecer siempre.
Puede también aparecer esta pantalla si
está mal armado el cargador o el cable de
AUTODIAGNOSTICO DEL NOPPP conexión. Ignore la indicación ya que en el
proceso posterior aparecerá el modo de
Relea el modo de entrar al programa
NOPPP e ingrese. Recuerde que lo debe
hacer desde el DOS. En principio también lo
puede hacer desde una ventana del Win-
dows pero con máquinas lentas puede te-
ner problemas debidos a que la máquina
regula el tiempo de carga. Pruebe trabajar
en una ventana y si tiene problemas salga
directamente de Windows e ingrese a DOS.
Para los que no entendieron la frase ante-
rior va la siguiente explicación:
Las PC modernas arrancan directamen-
Figura 17
te en Windows. Para trabajar en DOS debe

Todo sobre PICs 75


KIT DE PROGRAMACIÓN DE PICS

reparar la falla. Si desea salir del programa talla 16 e intenta cargar la memoria sin
debe pulsar las teclas Ctrl y C al mismo fuente. Como no lo logra se equivoca,
tiempo. Para continuar, ignorando el men- diagnostica que no se puede cargar la pri-
saje, pulse la barra espaciadora. mer posición de memoria y detiene la car-
La siguiente pantalla lo invita a elegir un ga. Con el agregado de los dos LEDs Ud.
determinado tipo de PIC o (en la parte in- verificará las fuentes mirando el LED rojo
ferior de la pantalla) lo invitan a realizar el para la fuente de programación de 14V y
TEST de prueba del PIC. Acepte la propues- mirando el LED verde para la fuente del
ta de realizar el auto diagnóstico pulsando PIC. Al mismo tiempo los LEDs lo ayudarán a
“T”. Si recibe una pantalla como la mostra- proteger sus PICs evitando que los conecte
da en la figura 17 significa que el cargador o desconecte con la fuente activa.
no recibe tensión de fuente a pesar de que Si su fuente está activa aparecerá la pri-
de entrada le indicamos encender la fuen- mer pantalla de auto diagnóstico que se
te. Para evitar futuros problemas lo invita- observa en la figura 18.
mos a agregarle al cargador un simple LED La pantalla lo invita a conectar el termi-
rojo con un resistor de 2K2 en serie para nal negativo del téster a masa (pata 5 del
usarlo como indicador piloto de fuente en- PIC) y a medir las patas 4, 12 y 13 que de-
cendida. Conéctelo sobre la tensión de en- ben estar a un potencial bajo menor a .8V
trada de 14V. También sería conveniente y la pata 14 de fuente que debe estar a un
agregar un LED verde con un resistor de potencial comprendido entre 4,75V y 5,25
1kΩ en serie para medir la tensión de 5V. V. Al mismo tiempo la unión de los diodos
De este modo de un rápido vistazo Ud. sa- D1 y D2 con el resistor R1 debe estar a po-
be que su dispositivo está alimentado co- tencial bajo menor a 0,8 V. Tenga en cuen-
rrectamente y se ahorra problemas porque ta que todas estas mediciones deben reali-
un corte en la tensión de fuente más ade- zarse sin colocar el PIC en el zócalo. Es de-
lante, puede causar un mensaje de error al cir que el diagnóstico se hace sólo sobre los
cargar la primer posición de memoria del componentes periféricos para evitar que un
dispositivo. En una palabra que el progra- PIC dañado altere la rutina de reparación.
ma no puede determinar si la fuente se cor- En esta prueba el cable rojo de “con-
tó después de realizar la prueba de la pan- mutación de 13V está a potencial alto y
por lo tanto Q1 tendrá su juntura de base
colector conduciendo a pleno. En estas
condiciones el colector sólo puede tener
algunos cientos de mV con respecto a ma-
sa y el PIC estará en condición de lectura
de memoria. El cable negro también estará
a potencial bajo con lo que asegura que el
cable naranja de salida de datos tenga un
potencial correspondiente a la barrera de
D1 (unos 600mV). En esta condición y con
los cables marrón, naranja y amarillo a cir-
cuito abierto desde el puerto paralelo de la
PC, se miden las tensiones de las patas 12 y
13 para tratar de detectar algún cortocir-
Figura 18 cuito a un potencial alto. Es evidente que

76 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

no sea de la polaridad adecuada (un 558


en lugar de un 548).
Luego si tiene tensiones altas en las pa-
tas 12 y 13 deberá buscar cortocircuitos en
las patas del zócalo del PIC o en el circuito
impreso o en el conector J1. Si las tensiones
medidas son correctas, presione la barra
espaciadora para pasar al test 2. Aparece-
rá una pantalla como la indicada en la fi-
gura 19.
Se medirán tensiones con respecto a
masa (pata 5) de las patas 4, 12 y 13 pero
esta vez con el transistor Q1 cortado y con
potenciales altos de 5V, desde la PC; en los
cables amarillo y marrón.
Las tensiones medidas en las patas 12 y
13 provienen de la PC y dependen de su
Figura 19
fuente regulada interna y del puerto de sa-
la tensión de dichas patas debe ser menor lida paralelo. Lo importante en esta prueba
a 800mV. Para realizar una medición válida es que la tensión supere los 4 V para que el
es conveniente medir la fuente del PIC pa- PIC interprete que hay un estado alto en su
ra estar seguro que el mismo está alimenta- entrada de DATOS y CLOCK. En el test 1 se
do con una tensión adecuada de 5V con verificó el estado bajo de estas patas y en
una tolerancia de 250mV hacia ambas la- este se verifica el estado alto completando
dos. la prueba de las patas 12 y 13. La tensión
A continuación le damos algunas indica- medida en la pata 4 debe corresponder
ciones de cómo resolver los diferentes pro- con la tensión de fuente de la fuente de
blemas que se le pueden presentar. Si la grabación es decir que debe tener un valor
tensión de la pata 13 le da mayor a 800mV comprendido entre 12 y 14 V aproximada-
es porque seguramente el cable negro no mente, ya que el transistor Q1 no debe
está a potencial de masa y D1 no está con- conducir.
duciendo polarizado por R1. Probablemen- La unión de los diodos D1 y D2 (el cable
te esté cortado el cable negro, o está mal naranja de salida de datos que va a la pa-
conectado a la pata 17 del conector J1. ta 11 de J1) deberá mantenerse a un po-
También puede ocurrir que el cable esté a tencial inferior a los 800 mV asegurándonos
potencial de masa pero el diodo D1 esté que el diodo D2 no está en cortocircuito o
abierto o invertido. Para sacar conclusiones invertido. Observe que en este test el diodo
más adecuadas verifique la tensión de la queda polarizado en inversa.
unión de los diodos D1 y D2. Si la tensión de la pata 4 está baja o no
Si Ud. tiene una tensión de la pata 4 existe, probablemente el resistor R5 de 2k2
(tensión de grabación) alta (cercana a los está cortado, mal conectado o con un va-
13V) probablemente tendrá cortado el ca- lor equivocado; también puede ocurrir que
ble rojo o mal conectada la pata 2 del co- el transistor tenga un cortocircuito entre el
nector J1. También puede ocurrir que el emisor y el colector (puede desconectarlo
transistor Q1 esté abierto o desbeteado o del circuito para verificar que suba la ten-

Todo sobre PICs 77


KIT DE PROGRAMACIÓN DE PICS

desde los 5V; esa corriente circula por D2 y


por el resitor agregado de 470Ω a masa. La
aplicación de las leyes de Kirchoff y de
Ohms. Permiten determinar que la tensión
sobre la pata 13 es debida a dos contribu-
ciones de corriente. Una de ellas es igual a
la tensión de fuente menos la barrera del
diodo D2 ( 5-0,6 = 4,4V) y que esa tensión
se aplica a la suma en serie de los resistores
(5,6kΩ + 0,47kΩ = 5,07kΩ). La corriente se
establece entonces en un valor de
Figura 20 4,4/5,07kΩ = 0,88mA es decir algo menos
de 1 mA que circulando por un resitor de
sión de fuente). Por supuesto que lo primero 470Ω producirán una caída de tensión de
que debe verificar es que la fuente de 13V unos 400mV si no consideramos la otra con-
tenga la tensión correcta. Si la pata 12 no tribución. El resitor R2 sólo generaría una co-
tienen una tensión superior a 4V, probable- rriente que se establece por la siguiente fór-
mente el cable marrón está cortado o el mula: 2,8/(1500+470) = 1,42mA. Si no se ge-
resistor R3 esté equivocado de valor o mal neran estas corrientes probablemente el
conectado. Si la tensión en la pata 13 es valor del resistor agregado es incorrecto o
menor a 4V puede estar equivocado o es incorrecto el resistor R1 de 5k6 o el R2 de
abierto el resistor R2 o el diodo D2 puede 1,5kΩ. Debemos suponer que los diodos D1
estar invertido o en cortocircuito. Si las ten- y D2 que podrían afectar esta medición, ya
siones son correctas presione la barra espa- fueron verificados anteriormente y están en
ciadora para pasar al test 3 en donde se si- buenas condiciones. En la máquina del au-
mulará un estado bajo saliendo de la pata tor el nivel de 0,7V autorizado como máxi-
de data del PIC. La pantalla que aparece mo en la pata 13 al cargarla con 470Ω se
se puede observar en la figura 20. ve superado en uno 100mV pero a pesar
La acción del PIC para sacar datos se si- de eso el cargador funciona correctamen-
mula conectado un resistor de 470Ω entre te. Si el lector desea obtener el valor solici-
las patas 13 (RB7/DATA) y la pata 5 (masa). tado de 0,7V se puede modificar R2 lleván-
Se medirá con un téster observando que la
tensión de la pata 13 que estaba con una
tensión superior a 4 V pase a un estado ba-
jo inferior a 0,7V al apoyar el resistor.
Si la tensión es superior a 0,7V debemos
analizar el circuito que se forma. El resistor
R2 aporta corriente porque el cable amari-
llo está a potencial alto desde la PC (aquí
todo depende del resitor en serie que tiene
la pata de salida de la PC, en la máquina
del autor la tensión crece hasta 2,8V cuan-
do se carga la pata 13 con el resistor). El
circuito activo está entonces formado por
dos resistores R2 y R1 (que trae corriente Figura 21

78 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

dola a un valor de 2k2 (volvemos a aclarar ción de que no existan cortocircuitos entre
que todo depende de su PC). las patas del zócalo de PIC.
Si las mediciones son correctas pase al En las pruebas desde la 1 a la 5 se utiliza-
test 4. Apretando la barra espaciadora. ron estados altos o bajos de los cables que
aparece una pantalla como la indicada en se resumen en la tabla de la figura 22.
la figura 21. Como un dato extra que puede resultar
Es este test se pretende establecer el es- interesante cuando se tiene que reparar el
tado bajo de la salida de datos cuando se dispositivo agregamos una tabla con las
escribe un dato alto por el cable amarillo. tensiones en las entradas cuando se co-
Esto significa que no debe haber retorno di- necta un PIC en buenas condiciones y se
recto por el cable naranja cuando se escri- pasa por los diferentes test. Ver figura 23.
be debido a que el diodo D1 está polariza- Con todos los datos aportados supone-
do con su cátodo a masa (cable negro a mos que el lector ya debe haber reparado
masa) para evitar que la tensión sobre él su cargador de PICs en caso de falla y a
supere los 600mV. esta altura debe estar utilizando el cham-
Nota: esta tensión puede ser algo eleva- paña.
da para algunos puertos de PC que po- Si no es así no se preocupe porque lo va-
drían llegar a interpretar este estado bajo mos a seguir ayudando si se siguen presen-
como si fuera alto. En este caso aconseja- tando problemas con la carga.
mos cambiar el diodo D2 y el D1 por diodos
de germanio 1N34 o similares.
Si la tensión es la correcta pulse la barra COMPLETANDO EL
espaciadora para pasar a la última panta- CIRCUITO DEL CARGADOR
lla de test (número 5).
Esta última pantalla prueba al dispositivo Al circuito básico del artículo 2 ya le
como generador de un dato alto por el ca- agregamos dos leds piloto (uno rojo y otro
ble naranja. Como el dispositivo se probará verde) para que el operador pueda saber
como lector de memoria,
el cable negro se deja a
circuito abierto por el la-
do de la PC, se ubicará Figura 22
un dato alto sobre la pa-
ta 13 levantando el ca-
ble amarillo y se medirá
la salida por el cable na-
ranja esperando que sea
superior a 4V.
Si todas las demás
pruebas pasaron correc- Figura 23

tamente se puede ase-


gurar que ya no hay erro-
res de armado y que los
diodos y resistores no es-
tán alterados. Esta prue-
ba es solo una confirma-

Todo sobre PICs 79


KIT DE PROGRAMACIÓN DE PICS

Figura 24

si las fuentes están activas. Ahora le vamos era demasiado tarde. Los dispositivos digi-
a proponer que termine de completar el tales son terribles bocones que generan
circuito con el agregado de otros dos leds mensajes de error y de precaución al me-
que le permiten saber que los datos ingre- nor apartamiento de la perfección.
san (escritura) o que salen del PIC (lectura). Así las cosas el mundo digital parece
Estos leds deberían conectarse sobre los maravilloso para aquel que recién co-
cables amarillo y naranja pero no se pue- mienza a transitarlo. Uno piensa: si me
den conectar directamente. Se aconseja equivoco el sistema me avisa, así que no
utilizar transistores separadores para no car- vale la pena pensar; vale más emplear el
gar la pata de I/O (ENTRADA/SALIDA) del método de prueba y error. Esto no es así
PIC. Probablemente con todo esto el nom- de ningún modo; pensar así es un error
bre de NOPPP que tiene nuestro cargador grosero, porque los mensajes de error rara
de PICs ha quedado desvirtuado porque vez son totalmente claros. Al ser genéricos,
ya tiene varios componentes más. Pero suelen dejarnos totalmente en ayunas con
realmente cada agregado tiene una clara respecto a lo que estaba sucediendo en
razón de ser y por otro lado son sumamente la realidad.
económicos. Con todos los cambios arma- Por otro lado los mensajes de error del
mos un nuevo circuito que le mostramos en NOPPP están en Inglés Americano y no po-
la figura 24. demos pretender que todos los lectores los
entiendan con claridad.
En una palabra que los mensajes subli-
ERRORES AL CARGAR UN PIC minales que nos suele enviar un dispositivo
para PC cualquiera, deben ser forzosa-
Los viejos dispositivos analógicos eran si- mente interpretados y no ser tomados al
gilosos. Cometían sus errores en absoluto pie de la letra. “Parirás con dolor” dicen
silencio de modo que muchas veces no las sagradas escrituras y si Ud. está leyen-
nos dábamos cuenta del error hasta que do este capítulo con ansiedad, es porque

80 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

carga indicó que la memoria tiene carga-


do el número hexadecimal 0000, cuando
en realidad debería tener cargado el nú-
mero hexadecimal 0186.
Recuerde que el PIC es un bicho muy
ordenado. El programa de trabajo se car-
ga en su memoria dato tras dato. Primero
se llena la posición de memoria 0000 y a
continuación se verifica la carga. Si el nú-
mero cargado no corresponde con el del
Figura 25
programa, se detiene la carga y se pre-
senta el mensaje de error número 1.
ya hace mucho tiempo que intenta hacer Aquí tenemos que realizar una interpre-
encender las luces de nuestro secuencia- tación de los hechos. Si la posición de me-
dor; solo que por una razón u otra no lo moria 0000 (la primera que se aborda)
pudo lograr aun. No desespere, con este quedara cargada con cualquier otro nú-
artículo seguro que brinda con champa- mero, podríamos suponer que existe algu-
ña. Además un buen estacionamiento es na rara falla en el circuito del cargador.
esencial para todo buen vino espumante. Pero el cero hexadecimal nos está indi-
En lo que sigue le vamos a mostrar co- cando ausencia absoluta de carga y eso
mo serían las pantallas correctas cuando solo puede significar que se apagó la
un PIC se cargó exitosamente y cómo son fuente de 13,5V o por lo menos la de 5V.
cuando la carga se produjo con dificulta- Por supuesto que el primer paso que di-
des. Por supuesto que estas pantallas son mos (antes aun de colocar el PIC) fue con-
generadas por el programa de carga del trolar la fuente.
PIC (en nuestro caso el NOPPP) y variarán Pero recuerde que algunas PC no po-
si Ud. usa otro programa. dían efectuar esa prueba y además la
fuente se puede haber desconectado
después de haber colocado el PIC o es
MENSAJE DE ERROR EN POSICION DE posible que la fuente no admita ni la míni-
MEMORIA 0000 ma carga que le impone el PIC. Esta con-
dición puede ser obviada si Ud. observa
Si al intentar la carga se produce un los diodos piloto de 5V y de 13,5V durante
mensaje de error como el que mostramos la carga.
en la figura 25, no se quede pensando en
que pequeño componente del sistema ha
fallado. En efecto, no falló un componen- MENSAJE DE ERROR POR MALA
te pequeño sino que se trata de una falla SELECCIÓN DEL TIPO DE PIC
mucho más general.
A esto se refería el autor cuando habla- El NOPPP puede predisponerse para
ba de mensajes genéricos y los tildaba de grabar tres tipos de PIC que son el
subliminales. Literalmente el NOPPP nos in- PIC16C84, el PIC16F84 y el PIC16C83. Si Ud.
forma que al intentar cargar la posición de se equivoca al elegir el dispositivo se pro-
memoria 0000 se produjo un error porque duce un mensaje de error como el mostra-
la prueba de esa posición después de la do en la figura 26.

Todo sobre PICs 81


KIT DE PROGRAMACIÓN DE PICS

programar un PIC16C84. Si Ud. predispuso


el cargador para un PIC16C83 y colocó un
PIC16C84 se produce otro mensaje de
error relacionado con el hecho de que
ambos PIC tienen el mismo tipo de memo-
ria pero diferente capacidad. El 84 posee
una capacidad de 1Kb y el 83 de 0,5Kb.
ver figura 27.
El mensaje se divide en tres sectores. En
Figura 26
el primero se indica que la memoria de
programa fue grabada exitosamente. En
la segunda parte se observa que la identi-
ficación de memoria se grabó exitosamen-
te. En la tercer parte se lee que al grabar
la posición de memoria 2007 se produjo un
error ya que debería haberse grabado el
hexadecimal 0013 pero se grabó el 3FF3.
Este último mensaje de error fue presen-
tado por el programa cuando el autor in-
tentó cargar varios PICs marcados como
PIC16F84 predisponiendo correctamente
al NOPPP. Suponemos que el problema se
Figura 27 debe a PIC defectuosos ingresados en
nuestro mercado o simplemente mal mar-
La primer parte del mensaje de error cados. También puede ocurrir que la car-
nos indica que se cometió un error en la ga más rápida no sea admitida por nues-
palabra de configuración del programa y tro cargador (por ejemplo por tener ca-
que ésta no corresponde con el PIC elegi- bles de conexión demasiado largos). En fin
do. Debemos interpretar este mensaje del que el autor seleccionó la “C” en lugar de
siguiente modo: el programa para un la “F” y todo se arregló.
PIC16C84 o un PIC16F84 es el mismo, sólo
cambian los tiempos que se mantiene pre-
sente cada bit del programa. Como el LA PANTALLA QUE INDICA
cargador no posee inteligencia para de- UNA CARGA EXITOSA
terminar que tipo de PIC se va a utilizar,
antes del programa se carga una palabra La pantalla que Ud. espera ansiosamen-
de configuración diferente según el PIC te se puede observar en la figura 28 y nos
utilizado. Esta palabra puede ser cambia- indica que el proceso de carga se produjo
da adecuándola al PIC que Ud. va a car- exitosamente. Ver figura 28.
gar. La modificación del programa la vere- El mensaje se divide en tres partes. Las
mos en otra parte de este mismo artículo. dos primeras son idénticas a lo indicado
Ahora bien, el mensaje depende del ti- en el punto anterior. La última parte nos in-
po de error cometido. El de la figura 26 dica que la carga de la memoria de pro-
ocurre por ejemplo si la palabra de predis- grama se completó exitosamente. Al final
posición indica un PIC16F84 y Ud. intentó se indica que para utilizar el PIC cargado

82 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

en un proceso de producción se debe


comprobar su funcionamiento correcto
con la mínima y máxima tensión de fuente
VCC.
La comprobación se realiza pulsando la
barra espaciadora y eligiendo luego la le-
tra “V” de verificación. Si Ud. tiene carga-
do el programa con el cual se grabó el
PIC se producirá una pantalla como la in-
dicada en la figura 29 para indicar que la
verificación fue exitosa.
Ahora si Ud. va a usar el PIC que acaba
de cargar en un equipo cuya confiabili-
Figura 28
dad debe ser muy grande debe volver a
realizar este proceso de verificación lle-
vando la tensión de VCC a un valor de
4,75V primero y de 5,25 V después. Mas
aun, le aconsejamos que cargue el PIC y
lo deje inactivo por lo menos por una se-
mana y luego lo verifique. Para nuestros fi-
nes exclusivamente didácticos esta verifi-
cación no es necesaria.
La última posibilidad que le brinda el
NOPPP es borrar un PIC y se puede realizar
seleccionando la letra “E” (de erase que
significa borrado). Los PIC del tipo 16C84 y
16F84 no necesitan ser borrados antes de
Figura 29 programarlos. Ellos se borran a medida
que se programan pero sin embargo en
algún momento Ud. puede necesitar bo-
rrar un PIC para conservar un programa en
secreto. En este caso puede borrar el PIC
usando la letra “S” y se encontrará con
una pantalla como la indicada en la figu-
ra 30.

EL ENSAMBLADOR DE PIC

Ud. no necesita una gran cantidad de


programas para trabajar con el PIC. Para
empezar le basta con el NOPPP y con el
MPASM; dos programas sencillitos, tan ba-
Figura 30 ratos como que son gratuitos y tan livianos
que entran en cualquier rígido (en la jerga

Todo sobre PICs 83


KIT DE PROGRAMACIÓN DE PICS

informática que utilizamos los gurúes eso gramar recordando estas 36 sentencias en
significan que son programas tan peque- código PIC (es decir escribiendo los unos y
ños que no ocupan lugar en el disco rígido ceros). Pero también se imagina que en la
de su PC). era de la informática seguramente es muy
Al NOPPP ya lo conocemos de cabo a fácil hacer un programa para PC que ge-
rabo y sabemos que es el software que nere esos unos y ceros invocándolos con
hace funcionar a nuestro cargador de una palabra clave más sencilla. En la jerga
PICs. Al MPASM lo vamos a conocer ya esto se conoce como un lenguaje nemóni-
mismo. co o nemotécnico. Cada una de esas 36
¿Qué idioma entiende el PIC?. Entiende sentencias con forma de unos y ceros tie-
un solo idioma, el idioma binario de unos y ne un apodo más casero en idioma nemó-
ceros que le enseñaron sus padres en Mi- nico; por ejemplo la rotación se escribe
crochip. El PIC maneja un idioma con un RLF que es mucho más fácil de recordar.
total de 36 palabras (o sentencias) de 14 Ahora tenemos una solución: escribir el
bits. Los primeros 6 bits indican el tipo de programa del PIC en código nemónico
operación a realizar y los últimos 8 las va- pero vamos a necesitar un programa tra-
riables (números) involucradas en la ope- ductor que tome el nemónico y genere el
ración. Parece mentira que con tan pocas código de unos y ceros que entiende el
palabras se pueda hacer tanto; el autor PIC. Este programa se llama genéricamen-
considera que sería interesante regalarle te ensamblador (assembler en Inglés) y en
un PIC a cada político conocido para ver el caso que nos ocupa se llama específi-
si se le puede contagiar algo de efectivi- camente MPASM. Se acuerda que yo le hi-
dad (lo más probable es que se arruinen ce guardar ese archivo en el directorio PIC
los PICs). de su máquina, ahora llegó el momento
Por ejemplo una sentencia completa de usarlo.
utilizada para rotar los bits de una palabra
sería: EL GENERADOR DE BARRAS DE GRISES

00110110001011 Esta capítulo está basado en un relato


verídico de las vicisitudes sufridas por el
(los últimos 8 dígitos dependen de la va- autor (un viejo ingeniero analógico) en su
riable considerada) intento de aprender a utilizar y programar
los PICs. Los hechos ocurrieron así: en uno
Si bien el PIC solo conoce el código bi- de mis viajes por Internet me topé con una
nario, el programa del cargador (en nues- página en donde se ofrecían gratuitamen-
tro caso el NOPPP) entiende también el te la información para fabricar dispositivos
código hexadecimal (el código hexadeci- que utilizaban un PIC. Cumpliendo con el
mal se genera al utilizar la numeración en viejo adagio “si es gratis llevalo, que tirarlo
base 16 muy utilizada en electrónica por a la basura también es gratis”, bajé un lis-
ser el resultado de 2 al cubo) que es algo tado de dispositivos del cual me interesó
más simple de escribir. Ud. puede conside- un generador de barras de grises para TV
rar que el programa NOPPP traduce el có- de norma N.
digo hexadecimal en código binario o có- El autor indicaba un diagrama de cir-
digo fuente del PIC. cuito tentativo y lo más importante daba
Se imagina el esfuerzo que significa pro- el programa completo del dispositivo. Lo

84 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

casi en la categoría de “gurúes de los


PICs” (la palabra gurú significa viejo brujo
y se usa para esas personas que se las sa-
ben todas en una dada profesión). La pri-
mer frase indica: “precaución, el progra-
ma no contiene la palabra de configura-
ción”; la segunda frase indica que en con-
secuencia el PIC se predispone en una
configuración típica predeterminada que
se enumera en las 4 frases siguientes:

* Oscilador a RC
* Temporizador tipo perro guardián des-
conectado
Figura 31 * Temporizador de reset de arranque
conectado
* Protegido contra la lectura

La última frase indica que si se desea


otra predisposición se debe indicar en el
ensamblador.
Toda esta lata para iniciados puede ser
traducida así: el PIC puede funcionar con
varios componentes de clock; puede ser a
RC, a cristal de alta frecuencia o a cristal
de baja frecuencia. De todas esta posibili-
dades nuestro cargador de PIC predispo-
ne al mismo para que funcione como RC.
Figura 32 En el circuito del generador de barras se
puede observar que el clock es a cristal
primero que observé es que el programa de alta frecuencia (4MHz). Esto significa
estaba en código hexadecimal y en ne- que debemos modificar la predisposición
mónico. Así las cosas, tomé el archivo he- por defecto del cargador y eso se hace
xadecimal del generador de barras llama- modificando el programa. En realidad se
do PICDREAM (traducido significa algo así debe agregar al programa una palabra
como el PIC de los sueños) y lo cargué en llamada de “predisposición”.
el NOPPP para ver qué pasaba. El resulta- Ya hablamos de las otras predisposicio-
do se puede observar en la figura 31. nes. El perro guardián es un sistema que
Muy bien me dije, “loading complete” detecta las clásicas colgadas de los mi-
es un mensaje muy prometedor. Pulsemos cros y lo resetea. El temporizador de arran-
la barra espaciadora para pasar a la pró- que es un reset automático interno y la
xima pantalla. La siguiente pantalla no tan protección contra la lectura evita que un
prometedora se puede observar en la fi- extraño pueda acceder a nuestro progra-
gura 32. ma copiándolo del PIC.
Este es un mensaje para viejos iniciados Nuestro problema es el oscilador de

Todo sobre PICs 85


KIT DE PROGRAMACIÓN DE PICS

que si se usa un
editor de pala-
bras para leerlo
debe ser predis-
puesto para tex-
to puro. No se
asuste con tanto
palabrerío; si no
entendió vamos
a decirle cómo
abrir un archivo
.asm con el
WORD para que
le sirva de ejem-
plo.
Abra el WORD,
luego pique en
archivo, pique en
abrir y seleccione
el directorio don-
de puso los archi-
vo .asm. Si siguió
al pie de la letra
Figura 33 mis instrucciones
será el subdirec-
clock, las otras predisposiciones son las co- torio PIC. Predisponga la ventana de ob-
rrectas y no necesitan ser cambiadas. En servación de archivos para “todos los ar-
un caso como éste se dice que hay que chivos”. Seleccione el archivo del genera-
abrir el programa y cambiar o agregar dor de barra de grises picdream.asm y pi-
una corrección. que en abrir. Se abrirá un archivo que en
la primer ventanita de arriba a la derecha
de la pantalla dice: texto sin forma. Es de-
COMO SE MODIFICA UN ARCHIVO cir que el archivo que abrimos ya predis-
PARA UN PIC pone automáticamente al WORD. Si no
ocurriera así, puede desplegar las opcio-
El archivo a modificar debe tener una nes de la ventanita y optar por texto sin
terminación adecuada para que pueda forma.
ser abierto por el MPAMS la única exten- La bendita “palabra de predisposición”
sión que sirve es la .asm. Por suerte el autor se ubica luego del encabezado debajo
del proyecto nos ofrece el archivo .asm de TITLE PICDREAM y LIST PIC16C84. Allí
que debe ser abierto por ejemplo con un donde en el programa original no existe
editor de texto del tipo del EDIT del DOS. ninguna palabra de predisposición noso-
En efecto el archivo nemónico del PIC es tros debemos agregar lo indicado en la fi-
texto puro (sin salto de renglón ni de pági- gura 33.
na ni ninguna otra orden oculta) es decir Observe que se agrega la palabra

86 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

do allí pulse reiteradamente EN-


TER y comenzarán a aparecer
todos los PIC existentes; detén-
gase en el 16C84. Observe en la
parte inferior de la pantalla; allí
están indicadas las diferentes
opciones. Entre ellas nos intere-
sa la opción ASEMBLE que nos
permitirá generar diferentes ti-
pos de archivos y sobre todo el
buscado “.HEX” que servirá pa-
ra cargar el PIC.
¿Siempre se generan los ar-
Figura 34
chivos de salida?. No, solo se
generan si no existe ningún error
CONFIG precedida por dos guiones largos en el archivo “.asm”. En efecto este archi-
y un 15H que indica la predisposición para vo solo puede contener algunas de las 36
cristal de alta frecuencia. La predisposi- sentencias reconocidas por MICROCHIP sin
ción normal para oscilador RC es 17H. ningún error de posición de las variables.
Ahora estamos en condiciones de car- Es decir que el archivo debe ser perfecto
gar el PIC. Solo que tenemos un archivo desde todo punto de vista. No vamos a
.asm y necesitamos un .hex. Los archivos agregar nada mas con respecto a la de-
.hex salen del MPASM así que lo vamos a puración de errores porque eso correspon-
abrir desde el DOS o desde una ventana de a un curso de programación; solo que
del WINDOWS. Primero se debe ubicar so- el archivo con extensión “.lst” y .err son ar-
bre el directorio donde está cargado el chivos de texto puro que contienen men-
MPASM y sobre el PROMP del DOS (en len- sajes de error. Esos mensajes de error se
guaje vulgar esto quiere decir sobre el sim- aclaran en el archivo MPASM.TXT.
bolito de “mayor que” titilante) escribir
MPASM y pulsar ENTER. Aparecerá una
pantalla como la indicada en la figura 34. ARMADO DEL GENERADOR DE BARRAS
Esta pantalla nos está invitando a colo-
car el archivo que se debe abrir. Simple- Cuando el autor vió el circuito del ge-
mente pulse ENTER y se abrirá una ventana nerador de barras con PIC en una página
con todos los archivos “.asm” existentes en de Internet pensó en lo que había avanza-
la ventana donde está ubicado el MPASM. do la electrónica, desde la época en que
Recuerde que si el archivo que Ud. busca trabajaba en el laboratorio de Tonomac.
está en otro subdirectorio o no tiene termi- En esa empresa se diseñaba el instrumen-
nación “.asm” no va a aparecer en la tal de producción y entre todo lo necesa-
ventana. Use el buscador de WINDOWS rio para probar los TVs se había diseñado
para trasladar el archivo o agregarle la un generador de cuadros de prueba con
terminación adecuada. imagen de retícula para ajustar la lineali-
Seleccionado el archivo, debe usar las dad de los televisores de B y N. Como el
teclas de flecha hacia abajo para ubicar- dispositivo lo había diseñado un ingeniero
se en el cuadradito de tipo de PIC. Situa- llamado Frimer, lo bautizamos como fri-

Todo sobre PICs 87


KIT DE PROGRAMACIÓN DE PICS

merscopio y era un monstruo que poseía lación y adaptación. Muchos lectores me


como unas 20 plaquetas enchufables que preguntan como hacer para aprender a
contenían flip flops realizados con transis- programar; porque consideran que eso es
tores bipolares (si mal no recuerdo en total lo único importarte para investigar con re-
tenía unos 200 transistores). Esto no ocurrió ferencia a los PICs. El autor considera que
hace medio siglo, recién pasó hace un la investigación del hardware de los PICs
cuarto. es también sumamente importante y no
Le vamos a presentar un circuito con un debe despreciarse de modo alguno. En
PIC, cinco resistores, un cristal y dos capa- cuanto al diseño de los programas, ese es
citores. Simple, o mejor dicho muy simple otro cantar. No se pueden diseñar progra-
de construir. Pero como es que el PIC ge- mas complejos sin la necesaria ayuda de
nera el video para realizar una imagen de simuladores de PICs y de ensambladores
prueba mucho mas compleja que la del de VISUAL BASIC y de C++ (dos lenguajes
frimerscopio (ya que posee escala de gri- de computación muy potentes) y esos dis-
ses) un sector en donde se puede escribir positivos no son baratos. En esta obra lo in-
el nombre del armador del proyecto y que troducimos en el mundo de los PICs y pro-
inclusive tiene un reloj en pantalla. Todo bablemente le indiquemos algunas técni-
ello con estabilidad de cristal. Simplemen- cas sencillas de programación; pero el di-
te que todo esto se debe a que la com- seño de programas para dispositivos com-
plejidad se trasladó al programa del PIC. plejos requiere un equipamiento que la-
En efecto, el programa tiene unas treinta mentablemente no está al alcance de to-
páginas bastante elaboradas. Como siem- dos. Le prometemos investigar para que
pre, un proyecto nunca empieza desde por lo menos tenga una idea de los costos
cero; del mismo modo un programa de y de donde ubicar las mejores ofertas. En
computación siempre es una modificación principio sigamos con nuestros programitas
o una selección de rutinas empleadas en gratuitos ya que todavía tenemos mucho
otros programas. para hacer y con respecto a la programa-
Por ejemplo la generación de las seña- ción aprendamos primero a modificar y
les de sincronismo compuesto para la nor- luego a diseñar.
ma “N” de TV, con un cristal de 4MHz, fue
resuelta ya hace bastante tiempo y em-
pleada por el autor para realizar un mejo- CIRCUITO DEL GENERADOR
rador de video de inmejorables prestacio- DE BARRAS DE GRIS
nes aunque un tanto complejo. El progra-
ma del generador de barras de grises, es ¿Cuáles son los circuitos integrados más
una modificación de esos algoritmos. El baratos?. En general son aquellos que tie-
sector reservado para agregar un texto so- nen pocas patas y tecnología única, digi-
bre la pantalla por el método del rolido tal o analógica. Cuando un integrado de
(después le explicamos de que se trata) es tecnología digital tiene algún sector que
algo desarrollado para matrices de leds y funciona con técnicas analógicas el resul-
modificado para el sistema de barrido de tado es un notable incremento de precio.
TV y el reloj en pantalla es algo similar. En Los PIC vienen en diferentes versiones que
síntesis que el programa no tiene nada de se diferencian por el agregados de con-
original, sin querer restarle méritos al autor, versores digitales/analógicos y analógicos-
que realizó una excelente tarea de recopi- /digitales que tienen tecnología mezcla-

88 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

vos de la hora en otra di-


ferente (en una palabra
que cuando se genera la
escala de grises no se ge-
neran las letras y números
y la llave de la pata 10 se
puede analizar separada-
mente del resto porque no
opera en el mismo interva-
lo de tiempo que las
otras). El negro normaliza-
do es simplemente el po-
tencial de masa; es decir
que con todas las salidas
a los resistores en estado
bajo, por la salida de vi-
deo sólo pueden salir 0V y
Figura 35 ese valor mínimo corres-
ponderá por lo tanto al in-
da. Estos dispositivos son caros y nosotros franegro (más negro que el negro) ya que
buscamos dispositivos baratos como para en la entrada de video se considera que a
latinoamérica del 2000. La propuesta es más tensión le corresponde más brillo (una
realizar el conversor por afuera, generan- escalera ascendente de tensión genera
do en las salidas del PIC tensiones digitales una escalera ascendente de brillo). El ca-
de 0V o de 5V y sumando resistivamente so contrario se da para generar el blanco
generar las tensiones intermedias. De aquí que corresponde a la máxima tensión de
sale el circuito de nuestro generador de salida normalizada en 1V. En este caso to-
barras. Ver figura 35. das las salidas debe aportar 5V para ge-
Veamos como se genera la escala de nerar el voltio normalizado. Para no tener
grises. La escala se genera llevando a po- que realizar innumerables cálculos se reali-
tencial de 5V las patas 1, 2, 17 y 18 en el zó una simulación en Work Bench, donde
momento oportuno; observe que en este las llaves se pueden operar de a una, de a
caso no consideramos la pata 10 que sólo dos, de a tres o todas al mismo tiempo. Es-
opera para generar el blanco correspon- te criterio es el único posible para conse-
diente a las letras y los números. Este análi- guir 8 niveles diferentes de tensión con sólo
sis por separado es enteramente correcto cuatro llaves. Para entender cómo se ge-
porque la escala de grises se genera a nera la escalera adjuntamos un cuadro de
cierta altura vertical sobre la pantalla y la valores en donde se indica el número de
leyenda por rolido y los números indicati- escalón generado y el potencial de las
patas correspon-
dientes del PIC. El
primer nivel que
se forma es el co-
Figura 36
rrespondiente al
sincronismo hori-

Todo sobre PICs 89


KIT DE PROGRAMACIÓN DE PICS

dad comercial con el mismo sin autoriza-


Figura 37
ción del autor.
La extensión del archivo es del tipo .zip.
Esto significa que es un archivo comprimi-
do para facilitar su transmisión por Internet.
El trabajo de comprimir o descomprimir ar-
chivos lo realiza un programa llamado
WINZIP que tiene una versión SHAREWARE
que se puede bajar por Internet desde la
pagina de WINZIP.
El archivo una vez abierto contiene un
zontal; luego se forma el pedestal. Obser- archivo llamado picdream.asm que es el
ve que el pedestal de negro y el primer es- que nosotros necesitamos para cargarlo
calón tienen el mismo nivel de tensión co- en el MPASM y obtener el archivo pic-
rrespondiente al negro y luego comienza a dream.hex. sin embargo antes de obtener
crecer la escalera con el escalón dos, tres, el archivo hexadecimal lo invitamos a mo-
etc., hasta el ocho. Ver figura 36. dificar el archivo .asm con el fin de poner
De este modo se puede generar una un texto en pantalla diferente al original. El
señal en escalera con escalones de ampli- programa completo tiene 20 páginas que
tud prácticamente constante como la pueden imprimirse desde el EDIT de DOS o
que se puede observar en la figura 37. Ob- desde WORD; pero la sección que ahora
serve que cada escalón dura aproximada- nos interesa se encuentra en la ultima pá-
mente 6µS y hay 11 períodos iguales que gina con un encabezado titulado TEXTE
sumarían 66µS (en realidad los periodos que repetimos en la figura 38.
elementales son de un valor ligeramente Observe que el programa se puede di-
menor de modo que sumen exactamente vidir en tres columnas que no tienen por
64µS). qué estar en cierta posición exacta. El
Para generar el resto de la pantalla se MPASM acomoda su funcionamiento ade-
utiliza la pata 10 del PIC con un resistor en cuándose a los parámetros de las colum-
serie de 270Ω que genera un nivel cerca- nas que el programador utilizó.
no al máximo de 1.096 (es levemente ma- La primer columna se utiliza para sepa-
yor, del orden de 1.150mV). Esta salida se rar verticalmente los pasos de programa.
utiliza en el primer tercio de la pantalla y El programa completo se divide así en va-
en el tercero dejando el segundo tercio rios sectores que pueden ser utilizados re-
para la escala de grises. currentemente. Es decir que el programa
puede ser ejecutado por el PIC desde el
primer renglón hasta el último en forma or-
EL PROGRAMA DEL PICDREAM denada pero lo mas probable es que ten-
ga saltos a un determinado sector desde
El programa del PICDREAM es libre para un renglón que puede ser anterior o poste-
su uso en INTERNET y puede bajarse del link rior. En nuestro caso uno de los sectores
que tenemos en nuestra página, en forma del programa se llama “TEXTE” y tiene una
totalmente gratuita. Recuerde que puede sola línea. Luego se encuentra otro sector
bajarlo, modificarlo, experimentar con él, llamado “DTEXTE” y por último el sector fi-
pero no se puede realizar ninguna activi- nal llamado “FTEXTE”. Es como si tuviéra-

90 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

la izquierda del separa-


dor punto y coma. En la
pantalla de nuestro mo-
nitor podemos leer el tex-
to que se encuentra ver-
ticalmente en este sub-
programa.
La columna central es
la orden para ejecutar
alguna acción u opera-
ción; en ese lugar se de-
be colocar alguna de las
36 instrucciones del set
de instrucciones para
PIC. En la columna de la
izquierda se colocan uno
o dos parámetros para
que esas operaciones se
lleven a cabo según el
deseo del programador
(es decir que por ejem-
plo se puede poner la
Figura 38
instrucción sumar y a la
derecha se indican qué
mos tres carpetas cerradas que tienen eti- variables se deben sumar).
quetas con el nombre “TEXTE”, “DTEXTE” y Sólo pretendemos que Ud. aprenda a
“FTEXTE” y el programa principal tiene lla- variar algunas sentencias y observe el re-
madas para ir a buscar esas carpetas sultado. Las sentencias que vamos a variar
abrirlas ejecutar su contenido y al terminar son las correspondientes al texto en panta-
la ejecución volver al programa justo en el lla. Originalmente el programa trae el tex-
lugar desde donde se salió. to “BATC PICDREAM” y en la sentencia ini-
Observe que el texto que aparece en cial de la figura 38 aparece un comenta-
pantalla se encuentra encolumnado lue- rio en Inglés que dice “ largo máximo de
go de las órdenes RETLW. Cuando apare- 95 caracteres sin contar los espacios”. Más
cen las letras SP el programa coloca un es- adelante se lee otro comentario indican-
pacio y con una letra o un número coloca do que los primeros 6 espacios no deben
ese carácter en pantalla en una secuen- eliminarse. Con estas instrucciones lo invi-
cia lenta para permitir su lectura con co- tamos a variar y/o agregar líneas de texto
modidad. (sin falsa modestia corresponde que pon-
Las indicaciones de la derecha precedi- ga su nombre y apellido como armador
das de un punto y coma no son órdenes o del engendro, al lado del nombre del au-
sentencias de programa, sólo son comen- tor del programa y en lo posible del mío
tarios agregados por el autor para permitir que algún mérito tengo). Al programa mo-
que el mismo u otro programador entien- dificado lo puede llamar por ejemplo pic-
da la operación que se está efectuando a drea2.asm para que siempre le quede el

Todo sobre PICs 91


KIT DE PROGRAMACIÓN DE PICS

original con el nombre picdream (si mete puede afectar el oscilador ya que se pue-
la pata tiene como volver atrás). de perder la palabra de configuración y el
Luego deberá abrir el MPASM y llamar al PIC puede quedar predispuesto para osci-
archivo picdrea2.asm y ensamblarlo para lador RC. Frecuentemente el PIC pierde su
obtener un nuevo archivo hexadecimal programación completa o parte de la mis-
llamado picdre2.hex con el cual deberá ma cuando queda sometido a campos
cargar el PIC. electrostáticos intensos. Ver la sección si-
guiente.
Si se ve algo sobre la pantalla ya se
SERVICE DEL GENERADOR pueden sacar algunas conclusiones. Si la
DE BARRAS DE GRIS imagen está enganchada podemos supo-
ner que el clock funciona correctamente y
¿Y si no funciona, cómo lo reparamos? que están generándose los pulsos de sin-
Realmente el circuito propuesto es tan sim- cronismo horizontal y vertical. Si le falta el
ple que no tiene muchas posibilidades de texto y el reloj en pantalla verifique el resis-
fallar. Pero la posibilidad aunque mínima tor de la pata 10. Si le faltan las barras de
siempre existe y hay que estar preparado gris deberían faltar los cuatro resistores de
para todo. Primero hay que mirar atenta- las patas 1, 2, 17 y 18. Si las barras apare-
mente la pantalla para tratar de entender cen con un gris repetido puede faltar al-
donde está la falla. ¿Se ve algo o la pan- guno de estos cuatro resistores.
talla está negra o gris?. Si la pantalla está También puede ocurrir que los resistores
negra o gris uniforme probablemente el estén pero conectados a una pata equi-
generador no esté generando ninguna se- vocada o esa pata del puerto de salida
ñal y eso se puede deber a varias causas: está mal declarada en el programa (des-
Verifique las conexiones del cristal y los programación parcial) o que esté daña-
capacitores relacionados. Una verificación da.
del cristal se puede realizar con un oscilos- Por último es conveniente desconectar
copio que nos dará una forma de onda si- y volver a conectar la fuente varias veces
nusoidal de 4MHz y una amplitud de 2 V porque se pueden producir arranques con
pap en cualquiera de sus dos patas. La resets inadecuados cuando la tensión de
punta del osciloscopio se debe predispo- fuente crece suavemente.
ner en x10 para no cargar al circuito. La
tensión continua en la pata 16 debe ser
de 2,5V y en la pata 15 de 2,2 V aproxima- UNA EXPERIENCIA CON PICS
damente.
Si no tiene osciloscopio puede recurrir a El autor de la nota, ilustra sus clases de
alguna radio que tenga una banda de capacitación referidas a PICs dictadas a
OC de 4MHz. Simplemente acercando la los socios del Club Saber Electrónica, con
antena telescópica al cristal se observará tres circuitos armados sobre un mismo pa-
un silenciamiento en una frecuencia cer- nel que contiene un secuenciador, un ge-
cana a 4MHz que desaparece al desco- nerador de barras de gris y un hardware
nectar la fuente de 5V del PIC. La tensión de NOPPP para demostrar cómo se carga
continua se puede medir con un simple y se modifica un archivo.
téster digital. El panel con los tres circuitos armados
Recuerde que una desprogramación fue construido con mis propias manos ya

92 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

que se trata de circuitos muy simples que en circuitos con PICs. Así que empecemos
no requieren complejos circuitos impresos. ya a reparar. Vamos a comenzar con el se-
Desde luego que antes de la demostra- cuenciador. Qué le revisamos. El coro me
ción definitiva fueron probados una y mil dijo lo primero es la tensión de fuente, lue-
veces en todas las condiciones posibles; go la tensión de Reset y por último la con-
golpeados mientras funcionaban para en- tinua de las patas del oscilador (en este
contrar falsos contactos; con la tensión de caso un RC). Medimos todo muy prolija-
fuente variada entre el nivel máximo y el mente y estaba todo bien. ¿Y ahora que?.
mínimo; en fin se tomaron todas las pre- Ahora hay que revisar con el osciloscopio
cauciones para evitar que fallaran duran- a ver si funciona el clock. No hay oscila-
te la clase demostrativa. ción.
Existe una ley de Murphi que dice: toda Allí los alumnos se dividieron en dos fac-
demostración funcionará perfectamente ciones. Estaban los que decían que una
cuando se hagan experiencias de prueba, falla del clock significaba que el PIC esta-
pero fallará inexorablemente en el mo- ba mal y otros que decían que no siempre
mento de la demostración real delante de era así. Le di la razón a estos últimos por-
los invitados. que el PIC es un tipo de CI que se da en
El día de la clase probé el panel en mi llamar “mascable” que no significa que se
laboratorio. El secuenciador encendía los puede mascar como un chicle aunque
leds en una rápida secuencia, el genera- vale el parecido ya que el PIC modifica su
dor de barras generaba su imagen una y circuito interno para que oscile con una
otra vez con la leyenda “Curso de codifi- red RC, con un cristal de alta frecuencia,
cación y decodificación de señales de TV” con uno de baja frecuencia o con un filtro
y el cargador de PICs leyó y cargó un PIC cerámico (es un verdadero chicle que mo-
de acuerdo a su pantalla de control. Lo difica su forma al morderlo) y no teníamos
desconecté lo apoyé suavemente sobre el idea de como estaba predispuesto nues-
asiento trasero de mi coche y me fui para tro integrado.
CAPITAL. El trayecto Burzaco-Barracas se De común acuerdo con mis alumnos lle-
desarrolló sin ningún inconveniente y tenía gamos a la conclusión que debíamos to-
una media hora de tiempo para realizar la mar el PIC del secuenciador y verificar su
última prueba en el aula antes de que lle- programa con el NOPPP. Al hacerlo el
garan mis 35 alumnos. Cuando llegué me NOPPP me indicó que la primer posición de
raptó un grupo de alumnos que me pre- memoria, la 0000 estaba vacía. La conclu-
guntaban sobre una ignota codificación sión fue que el PIC se había dañado o que
que no podían entender, los atendí y me se había desprogramado. Para saber lo
dí cuenta que ya estaba sobre la hora de que pasaba sólo quedaba intentar cargar-
comienzo de la clase. Conecté el panel lo de nuevo. Así que volví a arrancar el
con pasmosa seguridad de que todo fun- NOPPP y esta vez le pedí “program”. La in-
cionaría bien y ............ los leds no titilaron y dicación fue que no se pudo cargar la pri-
la imagen del TV monitor era gris sin ningún mer posición de memoria. El PIC está daña-
contenido. La ley de Murphi se cumplió do, fue la conclusión general que parecía
inexorablemente. clara. Seguimos el mismo proceso pero está
Con la experiencia que dan los años di- vez con un PIC virgen y la respuesta de la
je: señores, el destino quiere que realice- pantalla de la PC fue la misma “no se pue-
mos una clase práctica de reparaciones de cargar la primer posición de memoria”.

Todo sobre PICs 93


KIT DE PROGRAMACIÓN DE PICS

Parecía que habían fallado dos cosas. otro poco en broma. Me aguanté la gas-
Por un lado el PIC se había desprograma- tada por el error con el LPT2 y la clase ter-
do y por otro el cargador NOPPP estaba minó porque ya era la hora de salida. De-
dañado. Las probabilidades de que se da- jamos para la siguiente clase el problema
ñen dos cosas al mismo tiempo (y posible- del generador de barras de gris aunque
mente tres porque el generador de barras ya nos imaginamos que también tenía
de gris no funcionaba) es muy remota pe- desprogramado el PIC.
ro no acertaba a saber que había ocurri- Luego en mi casa comprobé que el PIC
do. estaba desprogramado, lo programé y sa-
Comencé a aplicar la autorutina de re- lió andando como si nada. El mayor miste-
paración del NOPPP pero el segundo paso rio es saber por qué se desprogramaron los
me daba una indicación errónea que me dos PICs en el viaje de Burzaco a Barracas.
indicaba que el puerto paralelo de la PC Así las cosas al día siguiente, volví a llevar
no enviaba datos al hardware del NOPPP. el panel reparado, lo conecté al TV moni-
La prueba del puerto de una PC es muy tor y funcionó durante las tres horas que
simple, conectar la impresora y observar si dura la clase de CD con 35 alumnos que
funciona. La impresora funcionó pero pri- son mis testigos. Lo desconecté, lo puse en
mero se leyó un mensaje de error en la mi auto y me lo llevé de vuelta para Burza-
pantalla del monitor que se borró tan rápi- co. Al día siguiente lo quise bajar del auto
do que solo se pudo leer “....LPT2..............”. para hacer unas pruebas y había desapa-
Esto fue suficiente para que uno de los recido.
alumnos se diera cuenta del error. Cuando Mis conclusiones es que entre Burzaco y
el software NOPPP pregunta con qué Barracas existe el triángulo de Llavallol en
puerto se va a trabajar yo declaré LPT1 en donde los equipos electrónicos se dañan y
forma maquinal porque así lo hago en mi se pierden y además existe un campo de
computadora. Pero la PC que estaba fuerzas propicio para que se cumplan las
usando tenía habilitado el puerto 2 y por leyes de Murphi. Y sobre todo que yo soy
eso no se podían cargar los PICs. un viejo desmemoriado (por no decir otra
Volví a colocar el PIC que había sacado cosa relacionada con esferas carnosas)
del secuenciador, en el hardware del que no sabe dónde pone las cosas. Si al-
NOPPP y pedí “program” ahora sí la panta- guien encuentra mi panel favor de devol-
lla del monitor me respondió “cargando” y verlo a ingeniería Picerno, se gratificará
un poco después “programación comple- con un autógrafo sobre uno de mis Best
ta”. Saqué el PIC del cargador, lo coloqué sellers de electrónica.
en el secuenciador y comenzaron a en-
cenderse los LEDs en secuencia ante la al- Bromas aparte, espero haber contribui-
garabía de mis alumnos un poco en serio y do a que Ud. aprenda a programar PICs.

94 Todo sobre PICs


KIT DE PROGRAMACIÓN DE PICS

Todo sobre PICs 95


KIT DE PROGRAMACIÓN DE PICS

96 Todo sobre PICs