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.
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
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
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.
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
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