Anda di halaman 1dari 6

MONTAJE

Probador de Cables de
Instalaciones de Red (2)
En la edición anterior comenzamos a explicar el circui-
to de un probador de cables e instalaciones de red.
En esta nota explicaremos cómo es el progra-
ma del PIC en su versión básica. Haremos
la explicación paso a paso para que el
lector entienda cómo se “diseña” un pro-
grama para PIC.

Autor: Ing. Alberto H. Picerno

INTRODUCCION ble que mientras esté trabajando con partes del programa (recuerde que se
un programa Ud. se acuerde de todo, deben aplicar estados altos a los dife-
Para una dada tarea a realizar por pero unos meses después no recor- rentes pares de modo tal que se pue-
un PIC hay tantos programas posi- dará para qué estaba colocada una da observar visualmente el encendido
bles como programadores hay en el determinada sentencia. de leds). Esas demoras no son fáciles
mundo. La tarea de programar es ca- El separador ";" fue creado para de realizar si consideramos que el pa-
si como la tarea de pensar en cómo que Ud. coloque explicaciones en sus so de programa suele durar alrededor
resolver un problema o cómo diseñar programas. Mi consejo general es de 1µS para la frecuencia de cristal
una casa. Los programas pueden ser que lo utilice con profusión. No tenga mas común que es de 4MHz, se de-
totalmente distintos y, sin embargo, miedo al explicar lo que está hacien- ben efectuar un millón de pasos de
cumplir con la misma función. Con el do en el programa. Los comentarios programa para lograr una demora de
tiempo Ud. va a tener sus propios cri- no se graban en el PIC y por lo tanto 1 segundo. Es evidente que no va-
terios de programación y sus progra- no se consume memoria. No escriba mos a escribir 1 millón de sentencias
mas tendrán su sello personal. tipo telegrama, no tiene sentido, es- en el programa, sino que vamos a ha-
Nos queda a nosotros aconsejarle criba con todas las reglas ortográficas cer uso de un bucle que repita la mis-
sobre los detalles generales a tener para que el texto resulte claro y preci- ma sentencia 1 millón de veces.
en cuenta cuando programa. En prin- so. Tampoco se pase de vueltas por- Esa demora es utilizada en casi to-
cipio recuerde que la memoria del ser que un exceso de explicaciones con- dos los programas para PIC, por esa
humano se rige por criterios muy es- funde en lugar de aclarar. razón es conveniente crear una subru-
peciales. La memoria humana borra Otro consejo muy general es re- tina con el nombre "demora" para po-
algunas cosas que considera poco solver los programas haciendo un uso der utilizarla en otros programas. Los
importantes porque sería imposible extensivo de subrutinas que realizan índices que modifican esta demora se
guardar imagen y sonido de todos y tareas claramente específicas. En crearan en el programa principal para
cada uno de los instantes de nuestra nuestro dispositivo se utilizan demo- que la subrutina genere la demora de-
vida. Esto significa que es muy posi- ras del orden del segundo en varias seada en ese programa particular.

Saber Electr—nica
Montaje
a usar estos programa Ud. debe co-
Figura 1 nocer las características del PIC utili-
zado y su set de sentencias caracte-
rístico. Pensamos que recién el próxi-
mo mes, tendremos oportunidad de
comenzar a trabajar con estos pro-
gramas que nos simplifican enorme-
mente la tarea de programar.

LA TEMPORIZACIÓN

¿Qué precisión tiene una tempori-


zación realizada con un PIC?
Tiene una precisión tan grande
Por último, le aclaramos que en sentadas en forma gráfica para iden- como su clock. Si el oscilador es a
esta disciplina gana el más ordenado. tificarlos con toda facilidad. Estos pro- cristal tiene precisión de cristal, si es
Ud. tiene muchas opciones de traba- gramas también llamados de progra- RC todo depende de cómo se com-
jo. Lo elemental es que haga un ar- mación gráfica (quizás debamos po- plementen las curvas de variación
chivo de subrutinas con un comenta- nerlo en singular porque hasta ahora con la temperatura del capacitor y el
rio sobre la función que cumple cada solo encontramos uno) aprovechan el resistor utilizados en el oscilador. En
subrutina creada. Mi consejo es que contexto para realizar controles inter- la figura 1 podemos observar el circui-
utilice el Excel para crear una base de nos y evitar que se produzcan errores to correspondiente a un oscilador RC.
datos que pueda ordenar a su antojo; de programación o repetición de nom- Los valores de C1 y R1 controlan
recuerde que las subrutinas son en el bres de variables o posiciones de me- la frecuencia de oscilación. No existe
fondo archivos de texto y el Excel tie- moria. En una palabra que el usuario una fórmula precisa y simple de cál-
ne la opción de guardar archivos de tiene que conocer algo de la progra- culo; pero para nuestro trabajo nos
texto dentro de una celda como si mación del dispositivo para utilizar el podemos arreglar perfectamente con
fuera un número o un carácter alfanu- programa, pero es sólo un mínimo una tabla levantada por el autor y que
mérico. que no le ocupa demasiado tiempo. se puede observar en la figura 2.
La idea es que con el correr de los Con esto uno se dedica a la verdade- Para nuestro caso particular del
años Ud. tenga suficientes subrutinas ra tarea creativa que involucra el dise- probador de instalaciones de red, ne-
para resolver cualquier problema que ño de un programa y deja de lado la cesitamos que el oscilador funcione a
se le presente y sólo tenga que elegir tarea de memorización y repetitiva 4MHz, si no queremos usar un cristal.
las subrutinas y unirlas adecuada- que tanto tiempo lleva. Próximamente De la tabla observamos que en ese
mente en un programa especial. presentaremos este programa y le caso necesitamos un capacitor de
brindaremos un "Demo" gratuito para 20pF y un resistor del orden de los
¿Y si yo no tengo predisposición que pueda analizarlo a fondo. 4,7kΩ. En cuanto al tipo de compo-
para el orden, qué puedo hacer? De cualquier modo para aprender nentes utilizados, podemos decir que
Este es un caso por demás co-
mún y no se trata simplemente de
Figura 2
una característica negativa de perso-
nalidad. Es que ordenar lleva mucho
tiempo y no todos disponen del mis-
mo. Que hace Ud. para mantener su
casa limpia y ordenada; contrata a al-
guien que le ordena el rancho. Ahora,
los programadores que no tienen
tiempo de ordenar y realizar un archi-
vo de subrutinas, pueden recurrir a
programas especiales que ya tienen
todas las subrutinas comunes y no
tan comunes debidamente archiva-
das en su espacio de memoria y pre-

Saber Electr—nica
Probador de Redes de Computadora
por cuatro; de modo que las senten-
Figura 3 cias se ejecutan a un ritmo de 1 uS
(una señal de 4MHz tiene un periodo
de 0,25µS de modo que cuatro ciclos
completan 1 uS). NOTA: existen algu-
nas sentencias que requieren más de
un ciclo de reloj. Por ejemplo, las de
direccionamiento o salto que requie-
ren dos ciclos de reloj.

LA SENTENCIA NOP

¿Qué significa realizar una demo-


ra?
en este caso es conveniente utilizar ya dimos un circuito explicativo. El cir- Significa que el microprocesador
un capacitor cerámico con coeficiente cuito de la opción HS se puede obser- no debe realizar ninguna operación
de temperatura nulo (NP0) y un resis- var en la figura 3. matemática o lógica mientras dura el
tor de carbón depositado. En lo que Los capacitores C1 y C2 no de- retardo. La sentencia NOP (no opera-
respecta a los valores límites, se penden del PIC sino del cristal utiliza- tion = ninguna operación) es justa-
aconseja no utilizar resistores supe- do. El fabricante del cristal recomien- mente una sentencia inocua sobre to-
riores a 4,7kΩy capacitores menores da el valor del capacitor a utilizar pa- dos los operadores internos, solo se
a 20pF. ra que sea igual al que él utiliza en la incrementa en una unidad el contador
El PIC debe estar programado se- prueba. De cualquier modo se puede de programa PC que indica el paso
gún el oscilador elegido. Si se utiliza asegurar que entre 10 y 50pF el cris- de programa que se esta ejecutando.
oscilador a RC cuando se carga el tal oscilará adecuadamente, aunque La sentencia NOP entonces aumenta
programa, durante la predisposición puede existir algún mínimo error en la el contador de programa en una uni-
se debe elegir la opción RC. Existen frecuencia de oscilación, del orden de dad dejando todos los registros inter-
otras tres opciones más de oscilador las centenas de Hz para un cristal tí- nos de la memoria y el registro de
que son el cristal de alta frecuencia pico de 4MHz. Este circuito de oscila- trabajo W de la unidad aritmética y ló-
(HS) y el cristal o resonador cerámico dor es el que utilizaremos en nuestro gica sin modificar.
de baja frecuencia (XS). El límite de dispositivo probador de redes de PC. Para recordar las sentencias el
frecuencia entre estas opciones es Sólo en aquellos casos, en que se autor recurre a fichas en donde se
4MHz y como frecuencia máxima se requiere un ajuste muy preciso de la anotan todos los detalles de las mis-
puede llegar hasta 20MHz; es decir frecuencia se utiliza un trimer de 50pF mas. La ficha correspondiente a la
que en nuestro caso se podría optar en reemplazo del capacitor C1. Un sentencia NOP se puede observar en
indistintamente entre HS y XS. Por úl- caso típico es en la construcción de la figura 4.
timo existe una opción para cristales codificadores y decodificadores de Cuando se requiera un retardo su-
cuarzo (LP) de bajo consumo, alta es- señales de TV. perior a 1µS, se deberá repetir la sen-
tabilidad y baja frecuencia con un lí- El PIC nunca trabaja a una fre- tencia NOP tanta veces como sea ne-
mite mínimo de 200kHz. cuencia de clock igual a la del oscila- cesario para llegar al retardo requeri-
En la práctica, las opciones más dor. En efecto, entre el oscilador y el do. Por ejemplo con un programa co-
usadas son la RC y la HS. De la RC clock interno siempre hay un divisor mo el de la figura 5 se consigue un re-
tardo de 4µS.
Este sector elemental de un pro-
grama, nos permitirá entender cómo
funciona internamente un micropro-
cesador al realizar una demora.
Un microprocesador es un siste-
ma muy ordenado de cálculo numéri-
co. El solo, realiza operaciones mate-
máticas binarias entre la información
binaria introducida desde el puerto
Figura 4 paralelo de entrada y guardada en

Saber Electr—nica
Montaje
será visto más adelante. Lo típico es
realizar retardos grandes por repeti-
ción automática de una única senten-
cia NOP. Esto implica realizar un
LOOP cerrado en el programa y esto
se realiza con una sentencia llamada
de salto condicional que es lo que co-
Figura 5 mentaremos en el próximo punto.

una posición de memoria determina- tador de programa) de modo que


da (por ejemplo la 0009) y la conteni- cuando se termina de realizar la ope- EL SALTO INCONDICIONAL
da circunstancialmente en un registro ración se incrementa el número en
interno llamado registro de trabajo W. una unidad para realizar el siguiente El programa de un micro se cum-
A su vez la información binaria de ese paso de programa. Cuando llegamos ple habitualmente en orden ascen-
registro fue introducida en un paso a la primer línea NOP, estamos qui- dente del contador PC. Pero existe la
previo de programa en otra determi- zás con el contador PC en 43. En el posibilidad de realizar algo que se lla-
nada posición de memoria como ve- programa guardado en el micro no te- ma salto incondicional que interrumpe
remos más adelante. Lo importante nemos la sentencia NOP, sino un có- la secuencia natural del programa. Es
ahora es que tenemos dos números digo de unos y ceros guardados en la decir que cuando PC llega cierta posi-
binarios de 8 bits o lo que es lo mis- posición de memoria correspondiente ción se produce un salto a una posi-
mo dos Bytes uno en la posición de al PC 43. Este código numérico varía ción anterior. En la figura 6 se puede
memoria 0009 y otro guardado el re- de acuerdo a la sentencia (para el observar un programa que contiene
gistro W. NOP es 00 0000 0XX0 0000) y le in- ambos tipos de saltos para usar como
Las sentencias marcadas en la dica a la ALU (unidad aritmética y ló- ejemplo.
columna central del programa le indi- gica) todo lo que la misma debe ha- En el cuarto y sexto renglón se
can a la unidad aritmética y lógica cer. Para la demora, el trabajo de la pueden observar sentencias de salto
que tipo de operación debe realizar ALU es muy simple "no hacer nada"; incondicional GOTO. Cada vez que el
entre ambos números binarios. En la sólo que "no hacer nada" se comple- contador de programa PC llega al nú-
sentencia NOP no hay ningún resulta- ta en 1uS lo mismo que por ejemplo mero correspondiente al cuarto ren-
do, ni es necesario indicarle al micro sumar dos números. glón (supongamos el número 34) se
en qué posición de memoria se guar- Una vez realizada la operación de produce un cambio en su contenido
dan los operandos de la operación. la línea 43, el PC pasa a 44 y se rea- pasando en nuestro caso a un núme-
Pero cuando se usan otras senten- liza la siguiente demora de 1 uS, lue- ro una unidad menor (33), es decir
cias aparecen datos en la tercer co- go se pasa a la 45 y a la 46 comple- que se vuelve a ejecutar la sentencia
lumna que proveen esta información tando el retardo de 4 uS. marcada con el nombre BUCLE.
(posición de memoria de una de los En lenguajes de computación
operando, ya que el otro es el registro ¿Y si necesitamos un retardo de 1 más antiguos, el programador coloca-
W y además donde se debe guardar segundo o más, cómo se debe ha- ba realmente un número para cada
el resultado). cer? renglón (por ejemplo el Basic). En ese
La operaciones que se realizan En realidad hay otro medio de caso la sentencia GOTO se comple-
utilizando una sola de las 32 senten- realizar retardos grandes que es un taba como GOTO 15 que significaba
cias que forman el total que utiliza el temporizador interno preseteable. Pe- que el control del programa volvía a la
PIC son operaciones de suma, resta, ro se trata de un temporizador con sentencia del renglón 15 (también se
comparación, borrado, control de un baja exactitud. Este modo de trabajo puede decir al paso de programa 15).
dado bit, reubicación
de bits, etc, etc.
Cada línea de
programa tiene un
número interno co-
rrelativo que se
guarda en un regis-
tro de la memoria
llamado PC (pro-
gram counter o con- Figura 6

Saber Electr—nica
Probador de Redes de Computadora
En los lenguajes modernos la nume-
ración de renglones queda a cargo de
la misma máquina que la realiza co-
mo un trabajo de fondo que no es vi-
sible para el programador, salvo que
él se lo pida específicamente al
MPLAB o al editor que esté utilizando.
Pero para programar no se necesita
conocer los números de los pasos de
programa. Figura 7
Basta con colocar un nombre o
etiqueta a los renglones importantes, vez efectuada la operación GOTO. por un contador ascendente o des-
sobre la primer columna. Por ejemplo, Por último se da un ejemplo y se cendente que se coloca adentro del
el nombre BUCLE y marcar como indica cómo quedan los registros es- LOOP y que al llegar a cero genera
destino el mismo nombre en la tercer peciales antes y después de efectuar un GOTO al exterior del LOOP.
columna de la sentencia GOTO. Así la operación GOTO. En cuanto a la
se forma un bucle cerrado y si aden- cantidad de ciclos de instrucción ne-
tro del bucle se coloca una sentencia cesarios para efectuar un GOTO, la fi- CONCLUSIONES
NOP o cualquier otra sentencia, cada cha nos dice que se necesitan dos ci-
vez que se recorre el bucle se produ- clos, es decir, 2µS en nuestro caso. El tema de las temporizaciones
ce una demora, que se puede calcu- Aún no sabemos cuantos ciclos re- efectuadas en un programa, es sufi-
lar de acuerdo a cuánto se tarda en quiere la sentencia "decfsz" pero si cientemente largo como para que de-
ejecutar cada una de las sentencias suponemos que también es doble se bamos utilizar dos artículos para com-
del LOOP. Construyamos la ficha de puede decir que para completar un pletar el estudio de una rutina de de-
la sentencia GOTO tal como lo hici- LOOP se requieren 4µS, dos de GO- mora. En este artículo presentamos
mos con la sentencia NOP. Ver la fi- TO y dos de DECFSZ. dos importantes sentencias del PIC, la
gura 7. sentencia NOP y el salto incondicional
La ficha nos indica que la opera- ¿Cómo se sale de un LOOP de GOTO, ambas muy utilizadas cuando
ción se puede interpretar como "ir a" y GOTO? se generan demoras. La NOP es la de-
que su sintaxis exige que en la se- La sentencia GOTO no incluye un mora básica y la GOTO es imprescin-
gunda columna se ubique el nombre camino de salida porque se trata de dible para generar LOOP cerrados que
GOTO y en la tercera la etiqueta don- una sentencia incondicional. Es decir repitan una NOP para obtener demo-
de se debe volver (que en la ficha es- siempre dirige el control al mismo lu- ras largas. En el próximo artículo va-
tá marcada genéricamente como gar del programa. Para salir del loop mos a explicarles qué es la sentencia
XXX). Por supuesto que la operación adentro del mismo se debe incluir un DECFSZ y INCFSZ que son los saltos
marcada XXX ‡ PC significa que la salto condicional. Es decir que es co- condicionales y los vamos a utilizar
posición de memoria PC, se carga mo un GOTO que aparece sólo si se dentro de una subrutina de demora
con el número de renglón correspon- cumple una determinada condición. que es por mucho la más utilizada en
diente a la etiqueta de regreso una Por lo general la condición está dada programación con PICs. J

Nuevos CDs Interactivos

1) 100 Planos de Equipos Electrónicos: Planos gigantes de TV, Video, Audio, Monitores, Fuentes. $25
2) Curso Práctico de TV Color: Curso con prácticas, videos, programas, manuales, planos, exámenes, certificado, etc. $20
3) CD Nº 4 de Enciclopedia Teoría,
Teoría, Servicio y Montajes: libros, revistas, videos, programas, manuales, etc. $15
Solicítelos al (011) 4301-8804 o por mail a: ateclien@webelectronica.com.ar
Promoción: Hasta el 15 de mayo de 2003 compre cualquiera de estos CDs con el 30% de descuento
Montaje

Saber Electr—nica

Anda mungkin juga menyukai