Académique Documents
Professionnel Documents
Culture Documents
Introduccin
El objetivo de este proyecto ha sido la construccin de un generador de patrones de video
compuesto, cuyas aplicaciones se extienden desde el campo de la enseanza de la seal de
video hasta la reparacin y ajuste de equipos receptores de televisin. No se ha pretendido la
realizacin de un equipo con fines comerciales, ya que no se garantizan las especificaciones
de un generador de video profesional, si bien se logrado un equipo de muy alta calidad.
Especificaciones
Patrones:
Controles:
Salida de video:
Sistema de color:
Sistema de barrido:
Alimentacin:
Consumo mximo:
Aplicaciones:
Generalidades
El ojo humano es capaz de percibir imgenes mediante receptores ubicados en la retina. Hay
dos tipos de receptores, segn su funcin: los bastones, encargados de percibir imgenes en
blanco y negro, y los conos, a cargo de la percepcin del color. Si nos concentramos en el
estudio de los conos, veremos que hay de tres tipos: los que reaccionan frente a la luz roja,
los que lo hacen frente a luz verde y finalmente los que son sensibles a la luz azul. Solo se
perciben tres colores, sin embargo nosotros vemos todos los colores que nos rodean.
Aqu se hace evidente una regla bsica del color: para conocer la informacin de color de
un objeto basta con tener la proporcin de los tres colores bsicos: Rojo, Verde y
Azul. Por esta razn a dichos colores se los conoce como Colores Primarios, ya que con la
combinacin de los mismos se pueden obtener todos los dems.
Cabe hacer una aclaracin, ya que tal vez alguna vez se nos haya dicho que los primarios son
el rojo, amarillo y azul. Es ms, si observamos los colores utilizados por las impresoras de
tinta, muy comunes en la actualidad, veremos que utilizan tres cartuchos, magenta, amarillo
y cian. No utilizan los primarios, y sin embargo imprimen a todo color. Alguien debe estar
equivocado
Azul
Rojo
Verde
amarillo
cian
verde
magenta
rojo
azul
negro
blanco
Video compuesto
Las seales de Rojo, Verde y Azul (de ahora en ms la llamaremos simplemente RGB)
contienen toda la informacin de la imagen, pero ocuparan un ancho de banda considerable
si se transmitieran, lo cual justamente es el objetivo de una transmisin de televisin. Para
reducir este ancho de banda, adems de mantener la compatibilidad entre transmisiones en
Blanco y Negro y Color, se cre la seal de Video Compuesto.
En esta seal va la informacin de luminosidad (Luminancia) de una imagen, su color
(Crominancia), y adems todos los sincronismos necesarios para generar correctamente la
imagen en la pantalla del televisor.
Cules son estos sincronismos?. Para contestar esta pregunta veamos primero como se
forma una imagen en el televisor.
Un haz de electrones (consideremos uno
solo, sabemos que son tres) recorre la
pantalla de izquierda a derecha y de arriba
a abajo, segn lo muestra el esquema
adjunto. A medida que recorre la pantalla
excita en mayor o menor grado al fsforo
que la recubre, generando una imagen.
Como se ve, si bien la imagen aparece en
una pantalla de dos coordenadas (un
plano), en realidad se genera mediante
lneas sucesivas. Del mismo modo ingresa
al equipo, lnea a lnea. Por lo tanto, es
indudable que se necesita sincronizar el
haz de electrones que barre la pantalla con el barrido generado en el estudio de televisin. Si
no se hiciera esto, las imgenes apareceran cortadas, con barras inclinadas, con colores
incorrectos (basta con ver un canal codificado para tener una idea de lo que quiero decir,
ya que una manera de codificar la seal es quitarle los sincronismos).
Sincronicemos entonces el barrido del haz. Hay que informarle donde empieza una nueva
imagen (sincronismo Vertical o V) y donde comienza cada lnea (sincronismo Horizontal o
H). Evidentemente el sincronismo Horizontal es un componente de mayor frecuencia que
el Vertical, ya que dentro de cada imagen hay muchas lneas de barrido.
Cuntas lneas hay dentro de una imagen?. La respuesta es: depende de la norma de
transmisin que estemos considerando.
Normas de transmisin
Una norma es un conjunto de parmetros adoptados como regla dentro de determinado
grupo o regin a fin de mantener una relacin clara y sin ambigedades entre las partes. En
televisin es exactamente eso. Las normas establecen los parmetros que deben seguir tanto
los equipos transmisores de seal como los receptores, a fin de que se establezca una
comunicacin segura y sin errores entre ambos. Entre los muchos parmetros que se fijan
consideraremos solo los que ataen a nuestro proyecto.
Front Porch
H Sync.
Back Porch
Imagen
En la informacin anterior se hizo referencia a dos palabras que an no han sido definidas:
Campo y Cuadro. Para comprender su definicin debemos primero aclarar el concepto de
Barrido Entrelazado.
Como ya se dijo, para reconstruir la imagen en la pantalla del televisor, el haz de electrones
recorre la misma lnea a lnea de arriba a abajo. Bastara una pasada completa del haz de
electrones para tener una imagen formada en pantalla. Sin embargo no es as. Se requiere
que el haz de electrones barra dos veces la pantalla para formar una imagen completa.
Veamos esto con ms detenimiento.
Cuando la cmara de video en el estudio de televisin escanea la imagen que va a
transmitir, lo hace dividiendo la imagen en lneas horizontales. Estas lneas sern
posteriormente transmitidas al receptor de televisin para que este las reproduzca
secuencialmente en la pantalla. Sin embargo, no se transmiten las lneas consecutivamente
(lnea 1, 2, 3, 4, ) sino que primero se transmiten las impares (lnea 1, 3, 5, ) y luego las
pares (lnea 2, 4 ,6, ). Del mismo modo recorre el haz de electrones la pantalla,
reproduciendo primero las lneas impares y luego las pares. Por este motivo se requiere que
el haz recorra 2 veces toda la pantalla para formar una imagen completa. A las dos semiimagenes se les denomina Campos (Impar y Par respectivamente) y a la imagen completa
Cuadro. Esto se esquematiza en la figura adjunta.
Campo
I
II
I
II
I
II
I
II
I
II
I
II
I
II
I
Barrido no entrelazado
Campo
I,I'
I,I'
I,I'
I,I'
I,I'
I,I'
I,I'
I,I'
Norma N
Actualmente en el mundo hay muchas normas de transmisin de televisin, denominadas con
letras desde la A a la N. Algunas ya no se utilizan, pero la mayora siguen vigentes.
Veamos ahora los valores que se han establecido para los parmetros que hemos definido en
la norma N, utilizada en solo tres pases del mundo: Argentina, Uruguay y Paraguay.
Frecuencia Horizontal (H):
15626 Hz (duracin de una lnea: 64 seg.)
Sincronismo Horizontal (H Sync): 4.8 seg.
Frecuencia Vertical (V):
50 Hz (duracin de un campo: 20 mseg.)
Sincronismo Vertical (V Sync.): 2.5 lneas horizontales
Lneas Horizontales:
625 por cuadro (312.5 por campo)
Subportadora de Color (SC):
3.582056 MHz
BURST de Color:
9 a 11 ciclos de SC
Front Porch:
1.9 seg.
Back Porch:
5 seg.
Si comparamos estos valores con normas en uso en Europa (B, G, I) veremos que hay una
gran similitud, excepto por el valor de la subportadora de color (en estos sistemas es 4.43
MHz).
Para concluir con el tema de las normas, veamos un esquema que representa una seal real
de video norma N, utilizando los dos mtodos de barrido ya analizados (ver figura en pgina
siguiente).
Concentrmonos solamente en el mtodo entrelazado. Se ve claramente como el pulso de
sincronismo vertical abarca 2 lneas horizontales (la 1, 2, y mitad de la 3 en el Campo I).
Pero adems se ve algo no mencionado hasta ahora: aparecieron unos pulsos de Pre y PosEcualizacin. Qu es esto?. La deteccin del sincronismo vertical en el televisor se realiza
integrando la seal de video que llega, y cuando esta alcanza un determinado valor se
dispara el barrido vertical. La integracin se lleva a cabo mediante un circuito RC, y se
monitorea la carga del capacitor para decidir cuando disparar el vertical. Dependiendo de la
imagen previa al pulso de sincronismo vertical, el capacitor podr estar ms o menos
cargado, haciendo que los barridos verticales no se disparen siempre en un mismo punto,
provocando inestabilidades en la imagen (temblor vertical). Para evitar esto se colocan los
pulsos de pre y pos-ecualizacin, cuya funcin es llevar la carga del capacitor a valores fijos
antes y despus del pulso vertical. El hecho de hacerlo tambin despus evita disparos
errticos del sistema.
Los pulsos de pre y pos-ecualizacin tienen una frecuencia igual al doble de la horizontal y
su duracin es la mitad de la del H Sync. Se aplican durante un tiempo igual a 2 lneas
horizontales.
Finalmente, los pulsos positivos que aparecen dentro del pulso de sincronismo vertical se
denominan Serrated Pulses, y su funcin es mantener enganchado al oscilador horizontal
durante este perodo. Su duracin es igual al H Sync.
308
Campo I'
620
Campo I
309
Campo II
621
Campo I
622
309
621
310
623
625
312
623
310
311
Pulsos de Pre-ecualizacin
622
313
314
315
Sincronismo Vertical
Sincronismo Vertical
312
624
313
314
Sincronismo Vertical
Sincronismo Vertical
316
315
316
Pulsos de Pos-ecualizacin
Pulsos de Pos-ecualizacin
317
Pulsos de Pos-ecualizacin
Pulsos de Pos-ecualizacin
Barrido no entrelazado
Pulsos de Pre-ecualizacin
311
Pulsos de Pre-ecualizacin
624
Pulsos de Pre-ecualizacin
Barrido entrelazado
317
318
318
319
Sistemas de color
La televisin cromtica lleg varios aos despus de inventado el sistema blanco y negro,
y por lo tanto tuvo que adaptarse al sistema en uso. Fue necesario desarrollar sistemas de
color compatibles con los receptores monocromticos del momento y adems los nuevos
aparatos reproductores de color deban seguir captando las seales de origen blanco y
negro. Fue as que aparecieron y perduraron tres sistemas de color: NTSC, PAL y
SECAM. Trataremos del PAL que es el sistema que nos concierne.
El sistema PAL se basa en enviar la informacin de color modulando la fase de una
portadora con dos seales en cuadratura (a 90). Veamos el proceso paso a paso.
Dijimos que toda la informacin de color de un objeto est en sus componentes Rojo, Verde
y Azul. Esos son los colores que captan nuestros ojos, y si logramos transmitirlos, habremos
transmitido el color real del objeto. Lo que no dijimos es que nuestros ojos tienen distinta
sensibilidad a cada uno de los colores primarios. Son muy sensibles al verde, menos al rojo y
mucho menos al azul. Si lo ponemos en porcentajes relativos de sensibilidad:
VERDE:
ROJO:
AZUL:
59%
30%
11%
O sea que la luminosidad de un objeto (LUMINANCIA o Y), entendida como la suma total
de luz que emite, puede representarse as:
Y = 0.30Rojo + 0.59Verde + 0.11Azul
De ahora en ms denominaremos R al Rojo, G al Verde y B al Azul (tomados del Ingls),
por lo tanto:
Y = 0.30R + 0.59G + 0.11B
Esta informacin de luminosidad (Y) es la que nos da el brillo de cada combinacin de
colores en la pantalla, y es la responsable de la imagen monocromtica. Veamos
grficamente el brillo relativo de los colores primarios y secundarios:
Color:
Blanco
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro
R
1
1
0
0
1
1
0
0
G
1
1
1
1
0
0
0
0
B
1
0
1
0
1
0
1
0
Y
1.00
0.89
0.70
0.59
0.41
0.30
0.11
0.00
1.00
0.80
0.60
0.40
0.20
0.00
B lanco
Amarillo
C ian
Verde
Magenta
Rojo
Azul
Negro
Color:
Blanco
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro
R
1
1
0
0
1
1
0
0
G
1
1
1
1
0
0
0
0
B
1
0
1
0
1
0
1
0
R-Y
0.00
0.11
-0.70
-0.59
0.59
0.70
-0.11
0.00
Color:
Blanco
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro
R
1
1
0
0
1
1
0
0
G
1
1
1
1
0
0
0
0
B
1
0
1
0
1
0
1
0
B-Y
0.00
-0.89
0.30
-0.59
0.59
-0.30
0.89
0.00
R-Y
1.00
0.50
0.00
B lanco
Amarillo
C ian
Verde
Magenta
Rojo
Azul
Negro
-0.50
-1.00
B-Y
1.00
0.50
0.00
Blanco
-0.50
-1.00
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro
R-Y
1.00
Rojo
Magenta
0.50
Amarillo
-1.00
-0.50
0.00
0.00
B-Y
0.50 Azul 1.00
-0.50
Verde
Cian
-1.00
R-Y
1.00
Rojo
Verde
Cian
Magenta
0.50
Amarillo
-1.00
-0.50
Amarillo
Verde
0.00
0.00
0.50 Azul
-0.50
Rojo
Azul
B-Y
1.00
Magenta
Cian
-1.00
Una vez modulada la subportadora de color pasa a llamarse seal de Crominancia o seal
de Color (C). Sumando la seal de Luminancia (Y) ms la de Crominancia (C) obtenemos
finalmente la seal buscada, la SEAL DE VIDEO COMPUESTO.
Adems permitir control independiente de los tres colores R, G y B, as como de las seales
de luminancia (Y) y crominancia (C). De este modo se ampla la cantidad de patrones que
pueden ser generados, ya que el Raster se podr hacer con cualquiera de los 8 colores, las
barras podrn ser monocromticas o adoptar diferentes combinaciones de color (ver
ejemplos adjuntos), etc.
Como control adicional se permite la supresin del BURST de color, herramienta til en la
deteccin de fallas relacionadas con los circuitos de proceso de color.
Para seleccionar cual de los cuatro patrones bsicos generar el equipo se utilizan dos llaves
(S4 y S5), cuya combinacin determinar el patrn segn la siguiente tabla:
Llaves:
S4 OFF
S4 ON
S5 OFF
BARRAS
RASTER
S5 ON
CROSS-HATCH
PUNTOS
Los estados OFF (o cero) y ON (o uno) se refieren a que el punto medio de la llave se
conecta a masa (0V) o a VCC (5V) respectivamente.
Una vez definido que va a hacer el equipo veamos como implementarlo.
Generacin de sincronismos y patrones
La generacin de la base de tiempo, los sincronismos y los cuatro patrones bsicos estarn a
cargo de un microcontrolador (PIC16F84-10), por lo que toda esta seccin consistir en
desarrollar el programa (Software) adecuado. Al terminar esta etapa, el microcontrolador
deber hacer lo siguiente:
Generar una base de tiempos estable, de donde obtener todos los tiempos requeridos por
los sincronismos.
Generar en uno de sus terminales, el correspondiente al Bit 0 del PORTB, todos los
sincronismos requeridos por la norma de televisin adoptada (N), sin agregar video a
esta seal (sincronismos puros).
Generar en tres terminales las seales R, G y B, que correspondan con el patrn que deba
mostrarse a la salida. Estos terminales no tendrn sincronismos (video puro). La
designacin de terminales es la siguiente:
PORTB (2) = B (Azul)
PORTB (3) = R (Rojo)
PORTB (4) = G (Verde)
(Entre
parntesis
se
indica
el
Bit
correspondiente del PORTB)
Aceptar en dos de sus terminales, configurados como entradas, las rdenes provenientes
de las llaves S4 y S5, de modo de poder seleccionar el patrn a generar. Estas entradas
corresponden a dos Bits del PORTA, los siguientes:
PORTA (2) = S4
PORTA (3) = S5
Una vez claros los objetivos, veamos como los lleva a cabo el programa.
Bsicamente el mismo se compone de cuatro bloques independientes de generacin de seal,
realizndose en cada uno todo lo necesario para la generacin de una imagen completa. En
la seccin de diagramas se incluye un diagrama de flujo del programa, el cual ayudar a
seguir la explicacin.
Luego de una primera instancia de definicin de variables e inicializacin de las mismas, se
pasa a leer el estado de las llaves S4 y S5. Segn que combinacin se encuentre activada en
ese momento, el programa se dirigir a uno de los cuatro bloques de video mencionados,
donde se generar uno de los patrones bsicos.
En cada uno de estos bloques se comienza por generar los pulsos de pre-ecualizacin, luego
el sincronismo vertical con sus correspondientes Serrated Pulses, seguido de los pulsos de
pos-ecualizacin.
A continuacin se realiza la seleccin de campo par/impar. Esto es muy importante, ya que,
como trabajamos con barrido entrelazado, en uno de los campos la primera lnea horizontal
luego del sincronismo vertical es completa, mientras que en el otro campo debe ser solo
media lnea (recordar que comienza en medio de la pantalla). Si no se hiciera esto la imagen
aparecera temblorosa en el sector superior.
Es de destacar que en dos de los patrones (Cross-hatch y Puntos) se trabaja con barrido no
entrelazado, para evitar el fenmeno de temblor vertical (o flicker) de las lneas fijas. En
estos casos la primer lnea horizontal es siempre entera, y para compensar esto se quita un
pulso de pre-equalizacin (segn ya se mostr en los diagramas de la seal de video,
mtodos de barrido).
Luego de esto se hacen 3 o 4 lneas horizontales sin video (segn el campo), pero
respetando correctamente los tiempos de sincronismo.
Ahora es el momento en que entran en actividad la lneas R, G y B. Luego de generar el
sincronismo horizontal y respetar el tiempo de back porch, en las lneas RGB aparece la
informacin que corresponda a la seal mostrada. Cmo es esto?. Veamos un ejemplo.
Supongamos que se est generando una seal de barras. Son ocho barras, por lo tanto
debemos dividir el tiempo til de video en ocho intervalos iguales.
Antes de seguir, cabe aclarar que el tiempo til de video es aquel tiempo en que
efectivamente la informacin generada se ve en pantalla. Recordemos que en PAL-N cada
lnea horizontal dura un tiempo total de 64 seg., donde se incluyen 4.8 seg. de H Sync,
1.9 seg. de Front Porch y 5 seg. de Back Porch. Por lo tanto solo nos quedan 52.3 seg.
para mostrar video, y ese en nuestro tiempo til.
Volviendo a la generacin de barras, ya tenemos los ocho intervalos. Veamos como
debemos enviar las seales R (Rojo), G (Verde) y B (Azul) en cada uno de ellos:
Azul
Rojo
Verde
amarillo
cian
verde
magenta
rojo
azul
negro
blanco
Como vern, esta ya es una figura conocida. Se utiliz para describir lo que deba hacer un
generador de barras sencillo con salida RGB, y eso es justamente lo que estamos haciendo.
Veamos ahora como se genera el Raster. Este es an ms sencillo: se enva todo el tiempo
un nivel alto en las tres lneas de RGB. Pero, si RGB estn los tres activos, solo
generaremos Raster blanco. Es cierto. La seleccin de color se realiza controlando R, G o B
externamente al microcontrolador.
Para la generacin de lneas y puntos se requieren rutinas algo ms elaboradas, ya que no
solo hay que contar tiempos en sentido horizontal sino tambin lneas horizontales, a fin de
fijar exactamente la separacin vertical de las lneas o puntos. Pero igualmente se trata de
contar, ahora utilizando dos variables.
Con respecto a las lneas RGB, todas se ponen activas en el momento de dibujar lneas o
puntos (o sea, son blancos).
Si se analiza con detenimiento el programa se ver que en cada uno de los bloques de video
la generacin de lneas horizontales y sus correspondientes seales de video se realiza en tres
bloques, bsicamente iguales. La razn de esto es sencilla. En cada pasada dentro de un
bloque de video se barre un campo completo, o sea 312.5 lneas horizontales. Para hacerlo
con precisin se debe llevar la cuenta de las lneas generadas en algn registro. Como solo se
dispone de registros de 8 bits con signo (o sea que el nmero mximo que alcanzan es 127)
se precisa cargar tres veces el registro a fin de llegar al nmero de lneas requerido.
Para finalizar con el bloque de video, luego de completado cada campo se evala el teclado
(S4 y S5). Si no han cambiado, se contina en el mismo bloque; si hay algn cambio, se
vuelve a la rutina inicial de lectura de teclado, y el programa se dirige al bloque de video que
le indique el estado de S4 y S5.
Y eso es todo. Puede quedar una duda cmo calculo tiempos dentro de un programa?.
El uso de un microcontrolador (PIC16F84-10) facilita mucho esta tarea, ya que basta con
contar ciclos de reloj para obtener todos los tiempos correctos. Utilizando un cristal de 10
MHz, y sabiendo que cada ciclo de instruccin son 4 ciclos de reloj, obtenemos el tiempo de
un ciclo de instruccin:
Tosc = 1/fosc
Tins = Tosc x 4
Tins = 1/10 MHz x 4 = 0.4 seg.
Si cada ciclo de instruccin dura 0.4 seg., entonces para obtener el pulso de sincronismo
horizontal basta con contar 12 ciclos:
12 x 0.4 seg. = 4.8 seg.
Del mismo modo obtenemos que la duracin de una lnea horizontal completa es de 160
ciclos de instruccin:
160 x 0.4 seg. = 64 seg.
Bsicamente, esto es lo que hace el programa. Cuenta instrucciones y pone a nivel alto o
bajo, segn corresponda, el Bit 0 del PORTB. Se estableci que durante el pulso de
sincronismo (H o V) este bit estar a nivel bajo (0V) y el resto del tiempo a nivel alto (5V).
Como ven, un solo integrado hace exactamente lo que necesitamos. Y adems, requiere
exactamente las seales que ya hemos generado con el microcontrolador.
Este integrado es el MC1377, RGB ENCODER, y bastan muy pocos componentes externos
para realizar el circuito completo. De hecho, se ha utilizado la configuracin sugerida en sus
hojas de datos, con algunas modificaciones empricas a fin de mejorar an ms su
rendimiento.
Se ha utilizado un cristal de 3.582056 MHz para que el equipo genere seal en el sistema
PAL-N. Nada impide reemplazar este cristal por uno de 4.43 MHz y hacer un pequeo
ajuste al TRIMMER CV1 para obtener una seal en los sistemas PAL-B/G/I, de uso
actualmente en Europa.
En esta etapa es que se realizan los controles de RGB, Y, C y BURST. Bsicamente se han
colocado llaves que derivan la seal a masa, directamente (RGB) o a travs de un capacitor
(Y, C). En el caso del BURST, para anularlo, la llave (S8) saca del circuito al capacitor C04,
el cual es responsable de generar el tiempo de permanencia del mismo.
Veamos ahora un resumen de las llaves de comando del equipo y sus funciones:
Llave
S1
S2
S3
S4
S5
S6
S7
S8
S9
Funcin
G ON/OFF
R ON/OFF
B ON/OFF
PROGRAMA
PROGRAMA
Y ON/OFF
C ON/OFF
BURST ON/OFF
ALIMENTACION
Diagrama de bloques
+5V
C01
R04
S5
S4
R05
R03
R02
R01
S3
S2
S1
1
2
3
4
5
6
7
8
9
R06
C03
S7
U1
RA2
RA3
RA4/RTCC
MCLR
VSS
RB0/INT
RB1
RB2
RB3
R07
C02
S6
C07
C06
C05
RA1
RA0
OSC1
OSC2
VDD
RB7
RB6
RB5
RB4
R08
R09
C04
18
17
16
15
14
13
12
11
10
S8
C08
C11
X1
C10
R12
R13
C09
1
2
3
4
5
6
7
8
9
10
R11
R10
N/P
20
19
18
17
16
15
14
13
12
11
C13
+5V
C15
C22
D1
M.M. 7/97
Sheet
C18
R16
V. OUT
C21
S9
R15
Q1
+12V
C16
C17
GENERADOR DE VIDEO
C20
+12V
X2
R14
U3
3
CV1
Fuente +12V
C14
C19
Fuente +5V
C12
X2
X1
REF
GND
VCC
-Y
COUT
VOUT
R-Y
CIN
B-Y
SYNC
R
G
B
-Y
U2
of
+12V
BT1
REV
A
1
Diagrama esquemtico
Lista de componentes
R01
R02
R03
R04
R05
R06
R07
R08
R09
R10
R11
R12
R13
R14
R15
R16
C01
C02
C03
C04
C05
C06
C07
C08
C09
C10
C11
C12
3K9
3K9
3K9
1K
1K
1K
1K
1K
1K
68K
82K
10K
2K2
4K7
2K7
100
0.1
100/16V
100/16V
1500p
10/25V
10/25V
10/25V
.02
.01
15p
15p
0.1
C13
C14
C15
C16
C17
C18
C19
C20
C21
C22
CV1
D1
Q1
U1
U2
U3
X1
X2
S1
S2
S3
S4
S5
S6
S7
S8
S9
BT1
0.1
220p
0.1
18p
150p
.02
100/16V
0.1
0.1
100/16V
TRIMMER 5-45p
1N4007
BF494C
PIC16F84-10
MC1377
LM78L05
10.000MHz
3.582056MHz
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
8 x AA PILAS ALCALINAS
Nota: para cambiar el sistema de color de PAL-N a PAL-B/G/I reemplazar X2 por un cristal de 4.43MHz
Circuito impreso
5 cm
Disposicin de componentes
Placa armada
Programa
;
;
;
;
p=16f84
;DEFINICION DE PUERTOS:
;PORTB(0): SYNC
;PORTB(2): AZUL
;PORTB(3): ROJO
;PORTB(4): VERDE
;NO USAR EL BIT 1 DEL PORTB
;PARA LOS PATRONES DE RASTER Y BARRAS EL VIDEO ES ENTRELAZADO
;LOS PUNTOS Y EL CROSSHATCH SE HACEN CON VIDEO NO ENTRELAZADO PARA EVITAR EL
;"FLICKER"
CBLOCK
0X0C
;VARIABLES
DURHOR,CANTHB1,CANTHB2,BLKLIN,CANTPRE,DUREQU,CANTVER,DURVER,CANTPOS
TIEMPO,FIELD,CARRY
WHITE,YELLOW,CYAN,GREEN,MAGEN,RED,BLUE,BLACK,CANTLIN
ENDC
PORTA
TRISA
PORTB
TRISB
STATUS
RP0
BLANCO
AMARIL
CYANO
VERDE
MAGENT
ROJO
AZUL
NEGRO
;
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
5
85H
6
86H
3
5
B'00011101'
B'00011001'
B'00010101'
B'00010001'
B'00001101'
B'00001001'
B'00000101'
B'00000001'
CLRF
CLRF
BSF
MOVLW
MOVWF
CLRF
BCF
PORTA
PORTB
STATUS,RP0
B'11111111'
TRISA
TRISB^80H
STATUS,RP0
MOVLW
MOVWF
RRF
MOVLW
MOVWF
0
CARRY
CARRY
B'10101010'
FIELD
LECTURA BTFSS
GOTO
BTFSC
GOTO
GOTO
LECT1
BTFSC
GOTO
PORTA,3
LECT1
PORTA,2
INICIO3
INICIO2
PORTA,2
INICIO1
RRF
MOVLW
FIELD
D'3'
PREEQU
LOOP1
VERT
LOOP2
TIME
POSEQU
LOOP3
BTFSS
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
FIELD,0
D'4'
BLKLIN
D'99'
CANTHB1
D'3'
CANTHB2
5
CANTPRE
5
CANTVER
5
CANTPOS
BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
BCF
MOVLW
MOVWF
DECFSZ
GOTO
BSF
MOVLW
MOVWF
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
LOOP1
CANTPRE
PREEQU
PORTB,0
D'22'
DURVER
DURVER
LOOP2
PORTB,0
2
TIEMPO
TIEMPO
TIME
CANTVER
VERT
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
LOOP3
CANTPOS
POSEQU
PORTB
NEXT
LOOP
NOP
NOP
NOP
NOP
NOP
MOVLW
BTFSS
ADDLW
MOVWF
BSF
BTFSS
GOTO
BCF
NOP
DECFSZ
GOTO
NOP
D'21'
PORTB,0
D'27'
DURHOR
PORTB,0
FIELD,0
NEXT
PORTB,1
DURHOR
LOOP
;SE HACEN 3 O 4 LINEAS EN BLANCO PARA CUMPLIR CON LAS 625 LINEAS DE LA NORMA N
;SI ES EL CAMPO 1 SE HACEN SOLO 3 LINEAS, YA QUE ANTES SE HIZO 1 DE MAS
HORIZ
TIME3
LOOPH3
BCF
MOVLW
MOVWF
DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
PORTB,0
2
TIEMPO
TIEMPO
TIME3
D'48'
DURHOR
PORTB,0
DURHOR
LOOPH3
;BIT 0 ALTO
BLKLIN
HORIZ
BCF
PORTB,0
MOVLW
2
MOVWF
TIEMPO
DECFSZ TIEMPO
GOTO TIME1
NOP
NOP
MOVLW
D'31'
MOVWF
DURHOR
BSF
PORTB,0
NOP
NOP
NOP
MOVLW
5
MOVWF
WHITE
MOVWF
YELLOW
MOVWF
CYAN
MOVWF
GREEN
MOVWF
MAGEN
MOVWF
RED
MOVWF
BLUE
MOVWF
BLACK
MOVLW
BLANCO
;BIT 0 ALTO
WHITE1
YELLO1
CYAN1
GREEN1
MAGEN1
RED1
BLUE1
BLACK1
HORIZ2
TIME2
WHITE2
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP
PORTB
WHITE
WHITE1
AMARIL
PORTB
YELLOW
YELLO1
CYANO
PORTB
CYAN
CYAN1
VERDE
PORTB
GREEN
GREEN1
MAGENT
PORTB
MAGEN
MAGEN1
ROJO
PORTB
RED
RED1
AZUL
PORTB
BLUE
BLUE1
NEGRO
PORTB
BLACK
BLACK1
BCF
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
MOVLW
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVLW
MOVWF
DECFSZ
PORTB,0
2
TIEMPO
TIEMPO
TIME2
D'99'
CANTHB1
D'31'
DURHOR
PORTB,0
CANTHB1
HORIZ1
5
WHITE
YELLOW
CYAN
GREEN
MAGEN
RED
BLUE
BLACK
BLANCO
PORTB
WHITE
;BIT 0 BAJO
;PIERDO TIEMPO PARA
;HACER LOS 4,8S
;BIT 0 ALTO
YELLO2
CYAN2
GREEN2
MAGEN2
RED2
BLUE2
BLACK2
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP
WHITE2
AMARIL
PORTB
YELLOW
YELLO2
CYANO
PORTB
CYAN
CYAN2
VERDE
PORTB
GREEN
GREEN2
MAGENT
PORTB
MAGEN
MAGEN2
ROJO
PORTB
RED
RED2
AZUL
PORTB
BLUE
BLUE2
NEGRO
PORTB
BLACK
BLACK2
CANTHB2
HORIZ1
NEXT1
LOOPH5
BCF
NOP
NOP
MOVLW
BTFSC
MOVLW
MOVWF
NOP
MOVLW
BTFSC
ADDLW
MOVWF
BSF
BTFSS
GOTO
NOP
NOP
DECFSZ
GOTO
RRF
BTFSC
GOTO
BTFSC
GOTO
NOP
PORTB,0
0
FIELD,0
1
CARRY
D'15'
FIELD,0
D'24'
DURHOR
PORTB,0
FIELD,0
NEXT1
DURHOR
LOOPH5
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA
NOP
NOP
NOP
NOP
GOTO
INICIO
FIELD
D'3'
FIELD,0
D'4'
BLKLIN
D'99'
CANTHB1
D'3'
CANTHB2
5
CANTPRE
5
CANTVER
5
CANTPOS
APREEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
ALOOP1 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
AVERT
BCF
MOVLW
MOVWF
ALOOP2 DECFSZ
GOTO
BSF
MOVLW
MOVWF
ATIME
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
APOSEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
ALOOP3 DECFSZ
GOTO
NOP
NOP
DECFSZ
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
ALOOP1
CANTPRE
APREEQU
PORTB,0
D'22'
DURVER
DURVER
ALOOP2
PORTB,0
2
TIEMPO
TIEMPO
ATIME
CANTVER
AVERT
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
ALOOP3
CANTPOS
ANEXT
ALOOP
GOTO
NOP
APOSEQU
RLF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
BTFSS
ADDLW
MOVWF
BSF
BTFSS
GOTO
BCF
NOP
DECFSZ
GOTO
NOP
PORTB
D'21'
PORTB,0
D'27'
DURHOR
PORTB,0
FIELD,0
ANEXT
PORTB,1
AHORIZ
DURHOR
ALOOP
BCF
MOVLW
MOVWF
ATIME3 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
ALOOPH3 DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
PORTB,0
2
TIEMPO
TIEMPO
ATIME3
AHORIZ1 BCF
MOVLW
MOVWF
ATIME1 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
MOVWF
ALOOPH4 DECFSZ
GOTO
PORTB,0
2
TIEMPO
TIEMPO
ATIME1
D'48'
DURHOR
PORTB,0
DURHOR
ALOOPH3
;BIT 0 ALTO
BLKLIN
AHORIZ
D'44'
DURHOR
PORTB,0
B'00011101'
PORTB
DURHOR
ALOOPH4
;BIT 0 ALTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
BCF
MOVLW
MOVWF
ATIME2 DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
MOVWF
ALOOPH5 DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
B'00000001'
PORTB
CANTHB1
AHORIZ1
PORTB,0
2
TIEMPO
TIEMPO
ATIME2
D'99'
CANTHB1
D'44'
DURHOR
PORTB,0
;BIT 0 ALTO
B'00011101'
PORTB
DURHOR
ALOOPH5
B'00000001'
PORTB
CANTHB2
AHORIZ1
PORTB,0
0
FIELD,0
1
CARRY
D'15'
FIELD,0
D'24'
DURHOR
PORTB,0
FIELD,0
ANEXT1
DURHOR
ALOOPH6
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA
NOP
NOP
GOTO
INICIO1
FIELD
BPREEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
BLOOP1 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
BVERT
BCF
MOVLW
MOVWF
BLOOP2 DECFSZ
GOTO
BSF
MOVLW
MOVWF
BTIME
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
BPOSEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
BLOOP3 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
PORTB,0
D'23'
DUREQU
D'4'
BLKLIN
D'28'
CANTHB1
D'10'
CANTHB2
4
CANTPRE
5
CANTVER
5
CANTPOS
PORTB,0
DUREQU
BLOOP1
CANTPRE
BPREEQU
PORTB,0
D'22'
DURVER
DURVER
BLOOP2
PORTB,0
2
TIEMPO
TIEMPO
BTIME
CANTVER
BVERT
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
BLOOP3
CANTPOS
BPOSEQU
BLOOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
NOP
NOP
MOVWF
NOP
NOP
NOP
NOP
BCF
NOP
DECFSZ
GOTO
NOP
BHORIZ
D'21'
DURHOR
PORTB,1
DURHOR
BLOOP
BCF
MOVLW
MOVWF
BTIME3 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
BLOOPH3 DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
PORTB,0
2
TIEMPO
TIEMPO
BTIME3
BHORIZ1 BCF
MOVLW
MOVWF
BTIME1 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
BLOOPHA MOVLW
ADDWF
SUBWF
NOP
MOVLW
PORTB,0
2
TIEMPO
TIEMPO
BTIME1
D'48'
DURHOR
PORTB,0
DURHOR
BLOOPH3
;BIT 0 ALTO
BLKLIN
BHORIZ
9
CANTLIN
PORTB,0
B'00011100'
PORTB
PORTB
2
;BIT 0 ALTO
MOVWF
BLOOPH4 DECFSZ
GOTO
DECFSZ
GOTO
NOP
MOVLW
ADDWF
SUBWF
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP
DURHOR
DURHOR
BLOOPH4
CANTLIN
BLOOPHA
BCF
MOVLW
MOVWF
BTIMEZ DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
MOVWF
BLOOPHZ DECFSZ
GOTO
MOVLW
MOVWF
NOP
NOP
NOP
PORTB,0
2
TIEMPO
TIEMPO
BTIMEZ
BCF
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
PORTB,0
2
TIEMPO
TIEMPO
BTIME2
D'28'
CANTHB1
D'44'
DURHOR
PORTB,0
BTIME2
B'00011100'
PORTB
PORTB
CANTHB1
BHORIZ1
D'44'
DURHOR
PORTB,0
;BIT 0 ALTO
B'00011101'
PORTB
DURHOR
BLOOPHZ
B'00000001'
PORTB
;BIT 0 ALTO
NOP
NOP
NOP
MOVLW
MOVWF
BLOOPH5 DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
B'00011101'
PORTB
DURHOR
BLOOPH5
B'00000001'
PORTB
CANTHB2
BHORIZ1
PORTB,0
0
FIELD,0
1
CARRY
D'15'
DURHOR
PORTB,0
DURHOR
BLOOPH6
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA
INICIO2
FIELD
D'4'
BLKLIN
D'28'
CANTHB1
D'10'
CANTHB2
4
CANTPRE
5
CANTVER
5
CANTPOS
CPREEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
CLOOP1 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
CVERT
BCF
MOVLW
MOVWF
CLOOP2 DECFSZ
GOTO
BSF
MOVLW
MOVWF
CTIME
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
CPOSEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
CLOOP3 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
CLOOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
NOP
NOP
MOVWF
NOP
NOP
NOP
NOP
BCF
NOP
DECFSZ
GOTO
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
CLOOP1
CANTPRE
CPREEQU
PORTB,0
D'22'
DURVER
DURVER
CLOOP2
PORTB,0
2
TIEMPO
TIEMPO
CTIME
CANTVER
CVERT
PORTB,0
D'23'
DUREQU
PORTB,0
DUREQU
CLOOP3
CANTPOS
CPOSEQU
;1/2 LINEA H
D'21'
DURHOR
PORTB,1
DURHOR
CLOOP
NOP
CHORIZ
BCF
MOVLW
MOVWF
CTIME3 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
CLOOPH3 DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
PORTB,0
2
TIEMPO
TIEMPO
CTIME3
CHORIZ1 BCF
MOVLW
MOVWF
CTIME1 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
CLOOPHZ DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
PORTB,0
2
TIEMPO
TIEMPO
CTIME1
BCF
MOVLW
MOVWF
CTIMEZ DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLOOPHA MOVLW
ADDWF
SUBWF
NOP
MOVLW
MOVWF
CLOOPH4 DECFSZ
GOTO
DECFSZ
PORTB,0
2
TIEMPO
TIEMPO
CTIMEZ
D'48'
DURHOR
PORTB,0
DURHOR
CLOOPH3
;BIT 0 ALTO
BLKLIN
CHORIZ
D'48'
DURHOR
PORTB,0
DURHOR
CLOOPHZ
;BIT 0 ALTO
CANTHB1
CHORIZ1
9
CANTLIN
PORTB,0
B'00011100'
PORTB
PORTB
2
DURHOR
DURHOR
CLOOPH4
CANTLIN
;BIT 0 ALTO
GOTO
NOP
MOVLW
ADDWF
SUBWF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
BCF
MOVLW
MOVWF
CTIME2 DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLOOPHB MOVLW
ADDWF
SUBWF
NOP
MOVLW
MOVWF
CLOOPH5 DECFSZ
GOTO
DECFSZ
GOTO
NOP
MOVLW
ADDWF
SUBWF
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP
CLOOPHA
B'00011100'
PORTB
PORTB
PORTB,0
2
TIEMPO
TIEMPO
CTIME2
D'28'
CANTHB1
9
CANTLIN
PORTB,0
;BIT 0 ALTO
B'00011100'
PORTB
PORTB
2
DURHOR
DURHOR
CLOOPH5
CANTLIN
CLOOPHB
B'00011100'
PORTB
PORTB
CANTHB2
CHORIZ1
PORTB,0
0
BTFSC
MOVLW
MOVWF
NOP
MOVLW
NOP
NOP
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
CLOOPH6 DECFSZ
GOTO
RRF
BTFSS
GOTO
BTFSS
GOTO
NOP
NOP
NOP
NOP
NOP
GOTO
END
FIELD,0
1
CARRY
D'15'
DURHOR
PORTB,0
DURHOR
CLOOPH6
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA
INICIO3