ESCUELA POLITÉCNICA NACIONAL
ESCUELA DE INGENIERÍA
DISEÑO DE UN GENERADOR DE CARACTERES A PARTIR DED!ODOS LÁSER Y UN JUEGO DE ESPEJOS GIRATORIOS
PROYECTO PREVIO A LA 9BTENCIÓN DEL TÍTULO DE INGENIEROMENCIÓN ELECTRÓNICA Y TELECOMUNICACIONES
MAX EDUARDO LÓPEZ CRIOLLO
DIRECTOR: Ing. FERNANDO VÁSQUEZ
Quito, Abril 2005
DECLARACIÓN
Yo, Max Eduardo López Criollo, declaro que el trabajo aquí descrito es d'e mí
autoría, que no ha sido previamente presentado para ningún grado o calificación
profesional; y, que he consultado las referencias bibliográficas que se incluyen en
este documento.
La Escuela Politécnica Nacional puede hacer uso de los derechos
correspondientes a este trabajo, según lo establecido en la Ley de Propiedad
Intelectual, por su Reglamento y por la normatividad Institucional vigente.
Max Eduardo López Criollo
Sv^fW""- i
CERTIFICACIÓN
Certifico que el trabajo fue desarrollado por Max Eduardo López Criollo, bajo misupervisión.
ing. Fernando WsqtHBZ-Yép'ez
Director del Proyecto
AGRADECIMIENTO
Agradezco a aquel que desde su manera de serr me ayudo a ser
más humano, mas sencillo, mas sensible a las cosas de Dios.
Aquel que inesperado y oportuno supo escucharme comprensivo,
brindarme una mano amiga y con su consejo sabio me hizo cambiar, crecer y
madurar.
Aquel: que con su vida incansable me enseño a luchar, y que con su
desacuerdo me enseño a encontrar la verdad y a culminar mis objetivos.
Aquel a quien agradezco es mi Dios, mi padre, mi madre, mis hermanos, mí
familia.
MDICE
RESUMEN ,......„.., ........ ... ...... . ...... ...... ..... .........
1.1 LÁSER- .......................................................................................................................................... 1I. U TIPOS DE LÁSERES, ................... , .................. , ............................... .... ........... , ...... , ........ ,.„„ ..... 2
1.2 APLICACIONES DEL LÁSER-. ..................................................................................................... 101.2.1 INDUSTRIA, .................................... ..... .................... . ...... .... .............. . ................ . .............. ......10
1.2.2 INVESTIGACIÓN CIENTÍFICA ............................................................................................... 10
1.2.3 COMUNICACIONES. ............................................................................................................... II
L2.4 MEDICINA ............................................................................................................................... U
1,2.5 TECNOLOGÍA MLITAR ..... .......... ............ .. ..... ............... .......... .... ........... .. ..... . ....... ..... ........ ....II
1.3 SEROSIDAD EN EL IÍIABAJO CON LÁSESE-S- ........................................................................ 111.3 J- PROTECCIÓN OCULAR CONTRA RADIACIONES LÁSER ...... . ........... . ......................... . ....... .11
1.3.2 PROTECCIÓN INDIVIDUAL CONTRA LA RADIACIÓN LÁSER ............................................. 13
1.4 IBCNOLOGIAS LÁSER PARA PROYECCIONES DE IMÁGENES Y LOGOTIPOS .................. 141.4.1 'PROYECTORES LÁSER ........................................................................................................... u1.4.2 GENERADOR DE J^ÍÁGENES CON PARLANTES,, ........................................................ , ..... ...16
CAPITULO! _____ ........ . __________________________________________________________________________________________________________________________________ 18
DISEÑO DEL GENERADOR DE CARACTERES „„,.„„„,„..„„„„.,„„„„„„„„„,„ ______ .,,,.,.,,.,,,....,,»,..,,,,,,,1S
2.1 CONSIDERAeíONES-GEí^ERALES-DELSÍS-TEMA .................................................................. 182.2 DISEÑO.DEL GENERADOR DE CARACTERES ............................... . ........ . ................... , ........... 20
2.2.1 DESCRIPCIÓN GENERAL DE FUNCIONAMIENTO ............................................................... 20
CAPÍTULOS ----- „ ____________________ , ____ ....;,..,... __ , ___________ .„„„, _______ „ _______ „„_„,„„„, _____________________ ~,™,,,,™32
€ONSTSU€CION &SL 6ENERAÍÍ0R BS CÁRAGTERSS. _______________________________________________________________ 32
3.1 DES ARROLLO DEL HARDWARE DEL GENERADOR DE CARACTERES .............................. 323.1.1 MODULO DE GIRO ................................................................................................................ 32
3.1.2 CIRCUITO PARA DETERbSNAR LA POSICIÓN ..................................................................... 38
3.1.3 CIRCUITO DEL DEfíSER LÁSER. ................................................................................. , .......... 40-
3.1.4 DISEÑO DEL JUEGO DE ESPEJOS. ....................................................................................... 43
3.2 DESARROLLO DEL SOFTWARE PARAELMICROCONTROLADOR ..................................... 463.3 DES ARROLLO DEL INTEEPAZ VISUAL PARA EL USUARIO ................................................ 5-0
CAPITULO4. ___________________ ............................................................................................................................ 55
RESULTADOS Y APLICACIONES ........... ......................................... . ......................... .. ............................ 55
4.1 PRUEBAS REALIZADAS ................................................................. : .......................................... 554-.LI SELECCIÓN DEL MOTOR, .................... . ........................................................................... ......55
4.1.2 VELOCIDAD DE-TRANSMSION DE LOS DATOS .................................................................. So
4.1.3 PANTALLA DEL GENERADOR ........... . .......................... ' ......................................................... 56
4,Lá' MGNAdON DEMENSAJES. ................................................................................................. ,5.8
4.L5 COSTO DECOSNTKUCCIOK . .............................................................................. __________ ..... ¿Q
5 ____________ . ______________________________________ _______________________________________________________________ „.. ___________________ 63• '
COÍSCUJSIOSSES ¥ BECÍM2E3® MMM^S^^--^^^^^^ -
5.1 GOKGLUSIOIÑES ............................................................. . ..................... ... ................. .... ............ £35.2 ^%&ffií©Á€IO£!ES-. ..... ........................................................................... ....... , .......... ... ............ .65-5.3' -tBÍBLlOGRAETA. .......................................................................................................................... 66
RESUMEN
El presente proyecto de titulación describe el diseño de un generador de
caracteres a partir de diodos láser y un juego de espejos giratorios, utilizando
como dispositivo de control el microcontrolador AT89C4051.
En el capítulo 1 se explica los conceptos generales utilizados en el
proyecto, así como el estado de la tecnología y desarrollo de sistemas
electrónicos para visualización de mensajes con láser.
En el capítulo 2 se detallan las consideraciones necesarias para el diseño
del generador de caracteres justificándose la utilización de los diversos
componentes.
El capítulo 3 describe los detalles del Hardware y Software considerados
para la construcción del generador de caracteres.
El capítulo 4 sintetiza las diversas pruebas realizadas, los resultados y
aplicaciones del generador de caracteres.
El capítulo 5 refiere a las conclusiones y recomendaciones del presente
proyecto.
PRESENTACIÓN
E! sistema de generación de caracteres que utiliza diodos láser se propone
como una solución alternativa de bajo costo para sistemas de visualización de
mensajes, el cual puede convertirse en una herramienta muy útil en el campo de
la publicidad electrónica.
El presente proyecto se ha diseñado y construido un prototipo de un
generador de caracteres utilizando diodos láser de baja potencia disponible en el
mercado local, y un sistema mícrocontrolador como dispositivo de control y
sincronización de los espejos giratorios y el diodo láser que darán lugar a la
generación de los caracteres.
CAPITULO 1.
CONCEPTOS GENERALES
1.1 LÁSER
La palabra láser proviene del acrónimo de la expresión inglesa "Light
Amplification by Stimulated Emission of Radiation", esto es, "amplificación de luz por
emisión estimulada de radiación".
Los láseres son aparatos que amplifican la luz y producen haces de luz
coherente; su frecuencia va desde el infrarrojo hasta los rayos X, (Ver Figura 1,1),
Un haz de luz es coherente cuando sus ondas, o fotones, se propagan en fase. Esto
hace que la luz láser pueda ser extremadamente intensa, muy direccional, y con una
gran pureza de color.
Disminuye Ltmgftwl de OrwüaAumente £n
ümgtud tie OndaQísranuyeEnargía
LR.
Mlcroondas
Figura 1.1. Espectro Electromagnético.
La potencia de la radiación emitida depende de factores, como son el diseño del
dispositivo, la naturaleza del medio activo empleado, la forma de excitación de este,
etc.
Los láseres son muy variados, desde los de baja potencia, utilizados como
punteros (Ver Figura 1.2), hasta los de gran potencia, empleados para cortar
distintos tipos de materiales, como los utilizados en cirugía.
Figura 1.2.-Punteros Láser.
1.1.1 TIPOS DE LÁSERES1
1.1.1.1 LÁSERES DE ESTADO SÓLIDO
Los medios más comunes en los láseres de estado sólido son varillas de cristal
de neodimio, rubí o titanio-zafiro que se excitan con luz intensa. Un láser de titanio-
zafiro emite luz sintonízable desde 690 nm a 1.100 nm. Láseres de este tipo se
utilizan en la industria, medicina y aplicaciones científicas.
1.1.1.2 LÁSERES GASEOSOS
En los láseres de este tipo el haz es producido en un gas o una mezcla de gases,
como argón o helio-neón, que se excitan con una corriente eléctrica. El láser He-Ne
es de helio y neón que en su versión más corriente, emite una luz roja de longitud de
onda igual a 632,8 nm. Este tipo de láser es de baja potencia y se utiliza con
frecuencia en centros de enseñanza. El láser de argón, es de media potencia y se
emplea mucho en medicina y aplicaciones científicas.
1.1.1.3 LÁSERES LÍQUIDOS
Los medios más comunes en los láseres líquidos son tintes inorgánicos
contenidos en recipientes de vidrio. A estos láseres se les llama láseres de
colorantes.
El medio activo en este tipo de láser es un colorante líquido, por ejemplo
Rodamina. Se excitan normalmente con un láser de argón o lámparas de flash. El
colorante absorbe la luz láser de excitación produciendo fluorescencia en un abanico
1 Tomado de "La Radiación Láser" publicada por María Josefa Simón Delgado, Licenciada en Física.Investigadora del Instituto Superior de Ciencias y Tecnologías Nucleares (ISCTN)
de luz muy amplio cuya emisión láser se selecciona mediante la utilización de
prismas u otros elementos ópticos.
El rango de longitudes de onda es desde 400 nrn hasta 1.000 nm. Se emplea en
aplicaciones médicas y científicas.
1.1.1.4 LÁSERES DE ELECTRONES LIBRES
Son láseres que se emplean para producir radiación haces de electrones, no
ligados a átomos, que circulan a lo largo de un campo magnético variable. Su
frecuencia se puede regular, como ocurre con los láseres de colorante, y en teoría,
un pequeño número podría cubrir todo el espectro, desde el infrarrojo hasta los
rayos X. Con los láseres de electrones libres debería generarse radiación de muy
alta potencia.
1.1.1.5 LÁSERES SEMICONDUCTORES O DIODOS LÁSER2
Los láseres de diodo son diminutos y están construidos con materiales
semiconductores y tienen las propiedades características de los diodos eléctricos.
Por esta razón reciben nombres como:
Láseres de semiconductor, por los materiales que los componen,
Láseres de diodo, ya que se componen de uniones p - n como un diodo.
Láseres de inyección, ya que los electrones son inyectados en la unión por el voltaje
aplicado.
Emiten un haz fino cuando se excitan por una corriente eléctrica. Un ejemplo es
el láser de Arseniuro de Galio, que emite luz IR de longitud de onda entorno a 800
nm. Este tipo de láseres se emplea sobre todos en equipos e instrumentos
electrónicos y en sistemas de telecomunicaciones.
1.1.1.5.1 LÁSER COMO SEMICONDUCTOR
Al unir un semiconductor tipo "p" a otro tipo "n", obtenemos una " unión p-n ".
2Artículo procedente de http://www.bcnred.com/laser/indexsp.html, (C) José M. Iglesias- Guía Láser En Línea.
Esta unión p-n conduce la electricidad en una dirección preferente (hacia
adelante). Este aumento direccional de la conductividad es un mecanismo común en
todos los diodos y transistores utilizados en la electrónica. Y es la base del proceso
láser que tiene lugar entre las bandas de energía de la unión.
La Figura 1.3 muestra las bandas de energía ideales de una unión p-n, sin aplicar
un voltaje externo. El nivel máximo de energía ocupado por electrones se denomina
Nivel de Fermi.
Reglón" n" j Unión } Reglónn p
fian da deconducción
Figura 1,3. Niveles de energía de una unión p-n sin voltaje aplicado
Cuando se conecta el polo positivo de un voltaje a la cara p de la unión p-n, y
el negativo a la cara n, se establece un flujo de corriente a través de la unión p-n .
Esta conexión se denomina Voltaje dirigido hacia adelante o positivo. Si se conecta
con la polaridad inversa ("polo +" a la cara "n" y "polo -" a la cara "p") se denomina
Voltaje dirigido hacia atrás o negativo ; éste causa un aumento de la barrera de
potencial existente entre las partes p y n , con lo que evita el paso de la corriente a
través de la unión .
El voltaje puede ser aplicado de dos formas o configuraciones posibles:
1. Ll.5.2 VOLTAJE POSITIVO O HACIA DELANTE
En el polo negativo del voltaje es aplicado a la cara "n" de la unión, y el polo
positivo a la cara "p", como se muestra en la figura 1.4
Figura 1.4. Bandas de energía de una unión p-n cuando se le aplica un voltaje
positivo
El voltaje hacia adelante o positivo crea portadores extra en la unión, reduciendo
la barrera de potencial, y origina la inyección de portadores de carga, a través de la
unión, al otro lado.
Cuando un electrón de la banda de conducción en el lado "n" es inyectado a
través de la unión a un " agujero " vacío en la banda de valencia del lado "p", tiene
lugar un proceso de recombinación ( electrón + agujero ) y se libera energía.
En los diodos láser, la energía liberada es en forma de radiación láser.
1.1.1.5.3 VOLTAJE NEGATIVO O HACIA ATRÁS
Causa un aumento de la barrera de potencial, disminuyendo la posibilidad de que
los electrones salten al otro lado. Aumentando el voltaje negativo a valores altos
(décimas de voltio), se puede obtener un colapso del voltaje de la unión (avalancha).
1.1.1.5.4 CONSTRUCCIÓN DE UN DIODO LÁSER
En la figura 1.5, se enseña la estructura básica en capas de un diodo láser
simple.
Las capas de los materiales semiconductores están dispuestas de modo que se
crea una región activa en la unión p-n, y en la que aparecen fotones como
consecuencia del proceso de recombinación. Una capa metálica superpuesta a las
caras superior e inferior permite aplicar un voltaje externo al láser. Las caras del
semiconductor cristalino están cortadas de forma que se comportan como espejos
de la cavidad óptica resonante.
Figura 1.5. Estructura básica de un fáserde diodo
La Figura 1.6 describe la forma en que la radiación láser electromagnética es
emitida para un láser simple de diodo. La radiación láser tiene forma rectangular y se
difunde a diferentes ángulos en dos direcciones.
Cania eip«[Hrias:
Figura 1.6. Perfil de la radiación láser emitida por un diodo láser simple
Los portadores de carga en un láser de diodo son los electrones libres en la
banda de conducción, y los agujeros positivos en la banda de valencia.
En la unión p-n , los electrones "caen" en los agujeros , que corresponden a niveles
de energía más bajos .
El flujo de corriente a través de la unión p-n del láser de diodo ocasiona que
ambos tipos de portadores (agujeros y electrones) se recombinen, siendo liberada
energía en forma de fotones de luz.
La energía de un fotón es aproximadamente igual a la de la brecha de energía.
La brecha de energía viene determinada por los materiales que componen el
diodo láser y por su estructura cristalina.
1.1.1.5.5 CURVA 7- 7 DE UN DIODO LÁSER
En la figura 1.7. se muestra un ejemplo de la potencia emitida por un diodo láser
en función de la corriente aplicada. Se aprecia enseguida que la pendiente
correspondiente a la acción láser es mucho mayor que la correspondiente a un led.
El umbral de corriente para el efecto láser viene determinado por la intersección
de la tangente de la curva con el eje X que indica la corriente. Cuando el umbral de
corriente es bajo, se disipa menos energía en forma de calor, con lo que la eficiencia
del láser aumenta. En la práctica, el'parámetro importante es la densidad de
corriente, medida en A/cm2 , de la sección transversal de la unión p-n .
4)
o4)j— >O
EL
EmisiónEspontánea
Figura 1.7. Potencia de emisión de un diodo láser en función de la corriente
aplicada.
1,1.1.5.6 DEPENDENCIA DE LOS PARÁMETROS DEL DIODO LÁSER DE LATEMPERATURA
Uno de los problemas básicos de los diodos láser es el aumento del umbral de
corriente con la temperatura. A medida que la corriente fluye por el diodo, se genera
calor. Si la disipación no es la adecuada, la temperatura aumenta, con lo que
aumenta también el umbral de comente.
Además, los cambios en temperatura afectan a la longitud de onda emitida por el
diodo láser. Un aumento gradual de la longitud de onda emitida es proporcional al
aumento de temperatura, hasta que se produce un salto a otro modo longitudinal de
emisión. Este cambio se ilustra en la figura 1.8.
CámBio gradual de te
longitud de onda
Figura 1.8. Cambio de la longitud de onda emitida en función de la temperatura
Debido a estas variaciones con la temperatura, se necesitan diseños especiales
para poder conseguir una emisión continua de alta potencia.
L1J.5.7 MONTURAS DE LOS LÁSER DE DIODO
Se requieren monturas especíales para los láseres de diodo, debido a su tamaño
miniaturizado, para poder ser operativos y cómodos. Existen muchos tipos de
monturas, pero quizás el más estándar es similar a un transistor, e incluye en la
montura las ópticas necesarias para colimar el haz (ver figura 1.9.)
Para poder obtener más potencia de los láseres de diodo, se han desarrollado
matrices de diodos láser, que emiten sincronizadamente, y que están ópticamente
acoplados, de modo que se alcanzan las décimas de vatio.
fotoftioctode control
radiaciónlaseí -
\o
f^ser
ventana
c§nlactes
Figura 1.9a. Montura de un láser de diodo comercial
Base soporte
Terminales^eléctricos
Láser de diodo -
f „Protector Fibra óptica
Haz fundaláser
Figura 1.9b. Sección perpendicular
Figura 1.9c. Diodo Láser Comercial 650nm,5mW,3VDC CLASS III, Jameco
#182932, Mfg Ref# ULD-6556
10
1.2 APLICACIONES DEL LÁSER
1.2.1 INDUSTRIA
La utilización de los láseres en la industria se presenta en dos modalidades: en
aplicaciones metrológicas y en el tratamiento de los materiales.
En aplicaciones metrológicas forman partes de instrumentos de medición y de
inspección. Por ejemplo interferómetros, distanciómetros, velocímetros,
vibrómetros, granulómetros, generadores de luz estructurada para visión de
máquina, determinación de defectos e infinidad de otras aplicaciones. En estos
casos se utilizan láseres de baja potencia y buena calidad de haz, estabilidad y
coherencia.
En el caso del tratamiento de materiales se utilizan para cortar, perforar, soldar,
marcar y grabar, realización de tratamientos térmicos, en los más diversos
materiales: metales, no metales y aleaciones, plásticos, vidrios y cerámicos, papel,
madera, cueros, telas, etc. En estos casos de utilizan láseres de media y alta
potencia.
1.2.2 INVESTIGACIÓN CIENTÍFICA
Los láseres se emplean para detectar los movimientos de la corteza terrestre y
para efectuar medidas geodésicas. También son los detectores más eficaces de
ciertos tipos de contaminación atmosférica. Los láseres se han empleado igualmente
para determinar con precisión la distancia entre la Tierra y la Luna y en
experimentos de relatividad. Actualmente se desarrollan conmutadores muy rápidos
activados por láser para su uso en aceleradores de partículas, y se han diseñado
técnicas que emplean haces de láser para atrapar un número reducido de átomos en
un vacío con el fin de estudiar sus espectros con una precisión muy elevada. Como
la luz del láser es muy direccional y monocromática, resulta fácil detectar cantidades
muy pequeñas de luz dispersa o modificaciones en la frecuencia provocadas por
materia. Midiendo estos cambios, los científicos han conseguido estudiar las
estructuras moleculares. Los láseres han hecho que se pueda determinar la
velocidad de la luz con una precisión sin precedentes; también permiten inducir
11
reacciones químicas de forma selectiva y detectar la existencia de trazas de
sustancias en una muestra.
1.2.3 COMUNICACIONES
La luz de un láser puede viajar largas distancias por el espacio exterior con una
pequeña reducción de la intensidad de la señal. Debido a su alta frecuencia, la luz
láser puede transportar, por ejemplo, 1.000 veces más canales de televisión de lo
que transportan las microondas. Por ello, los láseres resultan ideales para las
comunicaciones espaciales. Se han desarrollado fibras ópticas de baja pérdida que
transmiten luz láser para la comunicación terrestre, en sistemas telefónicos y redes
de computadoras.
1.2.4 MEDICINA
Con haces intensos y estrechos de luz láser es posible cortar y cauterizar ciertos
tejidos en una fracción de segundo sin dañar al tejido sano circundante. El láser se
ha empleado para soldar la retina, perforar el cráneo, reparar lesiones y cauterizar
vasos sanguíneos. También se han desarrollado técnicas láser para realizar pruebas
de laboratorio en muestras biológicas pequeñas.
1.2.5 TECNOLOGÍA MILITAR
Los sistemas de guiado por láser para misiles, aviones y satélites son muy
comunes. La capacidad de los láseres de colorante sintonizables para excitar de
forma selectiva un átomo o molécula puede llevar a métodos más eficientes para la
separación de isótopos en la fabricación de armas nucleares.
1.3 SEGURIDAD EN EL TRABAJO CON LÁSERES3
1.3.1 PROTECCIÓN OCULAR CONTRA RADIACIONES LÁSER
El número de lesiones oculares y cutáneas, causadas por radiaciones
accidentales de láser, está aumentando debido al creciente uso de láseres en
aplicaciones industriales, quirúrgicas y científicas.
' Tomado de h.ttp^/-nfw\v.lasíag.com/w{zzc.html
12
En la tabla 1.1 muestra las distintas radiaciones con sus respectivos intervalos de
longitud de onda y las lesiones que pueden causar al ojo humano.
LONGITUD DE ONDA
UV-A (31 5-380 nm)
UV-B (280-31 5 nm)
UV-C(1 00-280 nm)
Luz azul (400-480 nm)
IR-A(700-1400nm)
IR-B(1 400-3000 nm)
IR-C (3000nm-1 mm)
DAÑO OCULAR
Niveles altos o exposiciones
prolongadas pueden causar cataratas
Cataratas, quemaduras cutáneas
Daño de la córnea y el cristalino.
Pérdida de visión
Daño de la retina, pérdida de visión
Daño de la retina
Daño de la córnea y el cristalino
Quemaduras, pérdida de visión
Tabla 1.1.
Figura 1.10. Efectos de fas radiaciones sobre el ojo
La figura 1.10. indica los efectos de las radiaciones sobre el ojo. La córnea es
afectada por radiación ultravioleta - principalmente UV4 lejanos así como por IR
4 UV = Ultravioletas, IR = Infrarrojos
13
medios. El cristalino se ve dañado por los efectos de UV cercanos y por los
infrarrojos, principalmente medios. Otros tipos de radiaciones peligrosas no son
absorbidos por la córnea o el cristalino, sino que se focalizan directamente en la
retina. Este puede ser el caso de la luz visible (daño foto-químico) así como IR
cercano. La retina tiene una capacidad muy limitada de cicatrización, incluso niveles
bajos de energía pueden dañarla irreversiblemente. La radiación infrarroja puede
actuar en conjunción con luz azul aumentando la posibilidad de daño foto-químico
sobre la retina. Cuando el nivel de radiación es muy alto, si la temperatura de la
córnea y el cristalino aumenta y su refrigeración mediante los vasos sanguíneos no
es suficiente, los rayos infrarrojos pueden aumentar la posibilidad de daño de estos
órganos por los rayos ultravioletas. Las enfermedades oftálmicas más comunes
debido a estas radiaciones son queratitis, conjuntivitis y cataratas.
1.3,2 PROTECCIÓN ESTPIVIDÜAL CONTRA LA RADIACIÓN LÁSER
Los protectores oculares contra radiación láser deben ser utilizados por todas las
persona que trabajen en zonas donde se emplee un equipo láser. Los protectores
han de ser adaptados al sistema de láser en uso. La no utilización de gafas de
protección o la selección de unas gafas de protección ínapropiadas para la
aplicación específica puede causar una lesión ocular. Las gafas nunca deben
utilizarse para la observación directa del haz láser.
La Norma Europea EN 207 se aplica a los filtros y protectores de los ojos
utilizados contra la radiación láser en la banda espectral comprendida entre los 180
nm y 1 mm. Los filtros según esta norma permiten una atenuación de esta radiación
de acuerdo con los valores especificados para los láseres de clase III y IV.
La Norma EN 208 se refiere a gafas de protección para los trabajos de ajuste de
los láseres y los sistemas láser, en los que la radiación peligrosa producida en la
banda espectral visible está comprendida entre los 400 nm y 700 nm. Los filtros,
según esta norma, permiten una atenuación de esta radiación hasta los valores
especificados para los láseres de clase II.
Los protectores (figura 1.11.) oculares contra sistemas láser deben aportar el
grado de protección apropiado en la longitud específica de onda, con el fin de
14
optimizar la protección y transmitancia de luz necesaria para que el usuario pueda
realizar su trabajo de manera segura y eficaz. La acción filtrante es la capacidad de
un filtro óptico para atenuar la radiación óptica en un intervalo determinado de
longitudes de onda.
Figura 1.11. Protectores oculares.
1.4 TECNOLOGÍAS LÁSER PARA PROYECCIONES DE IMÁGENESY LOGOTIPOS
1.4.1 PROYECTORES LÁSER
El proyector láser incluye un software para diseñar el logotipo o imagen, el láser
fácilmente reemplazable con uno de mayor o menor potencia dependiendo del
tamaño y distancia a la cual se desee proyectar y un par de galvanómetros, estos
como los elementos más relevantes.
Este tipo de proyectores se pueden encontrar actualmente en el mercado. Su
funcionamiento se basa en un haz de láser continuo cuyo movimiento en dos
dimensiones se efectúa gracias al reflejo del haz sobre la superficie de los espejos
que se encuentran sujetos a los galvanómetros y así conformar la gráfica.
La figura 1.12 detalla la estructura y funcionamiento básico de este tipo de
equipos.
Se encuentra una amplia variedad de equipos para diferentes tipos de
espectáculos y eventos, cada uno de estos se diferencian por el tipo de láser que
ocupa, así pueden ser, láser color verde, cuyo potencia esta entre 5 Watts y 35
Watts, o láser multicolores, de 8 Watts, 13,5 Watts y 16 Watts de potencia.
En la figura 1.13 se encuentra un equipo de proyección con láser verde.
Galuanometromoo, eje X
Láser
Galvanómetromou. eje V
Espejos
Figura. 1.12. Estructura básica de un equipo de proyección láser.
Figura 1.13 Equipo con láser verde
Con la tecnología de los dispositivos láser, se puede proyectar en una gran
variedad de superficies, como por ejemplo, lonas, humo, cascadas de agua , edificio,
cumbres de montañas.
16
Figura 1.14, Diferentes superficies de proyección.
1.4.2 GENERADOR DE IMÁGENES CON PARLANTES
Los dispositivos que utilizan galvanómetros, son costosos, es por esto que se
trata de encontrar algunas alternativas más económicas.
17
Una de estas es la que reemplaza a los galvanómetros por parlantes. Esta utiliza
el mismo principio que el galvanómetro, es decir el paso de corriente por una bobina
produce la deflexión de los espejos, la alternativa es buena, pero el control de la
bobina del parlante no es tan exacto como la del galvanómetro.
b)
c)
Figura 1.15. a) Parlante y espejo para reflejar el haz del láser, b)Montura de
parlantes que me generaran imágenes en dos dimensiones, c)lmagen generada.
18
CAPITULO 2.
DISEÑO DEL GENERADOR DE CARACTERES
En el presente capitulo se detallan las consideraciones que se tomaron para la
construcción del generador de caracteres.
2.1 CONSIDERACIONES GENERALES DEL SISTEMA
Para diseñar el prototipo se tomará en cuenta que la rotación de los espejos sea
en forma sincrónica de manera que los caracteres generados por la reflexión de los
haces de los láseres sobre la superficie de estos sean homogéneos, figura 2.3. Para
que los haces de los láseres se proyecten solo en la pantalla y no fuera de ella se
implementará un dispositivo indicador de posición que marcará el instante preciso
en el que los láseres empezarán a ser disparados, figura 2.2. El texto podrá ser
editado mediante un interfaz visual instalado en una computadora, la que se
comunicará vía serial con un microprocesador el que controlará el funcionamiento
del prototipo.
En la figura 2.1 se describe el funcionamiento básico del generador.
LáseresEspejos Giratorios
Indicador de posición Pantalla de proyección
Figura 2.1. Generador de caracteres
19
EspejosDetector y Punto íniciaí Giratorios Lámina de posícíonamiento depara el posícíonamíenta «. los espejos "de los espejos \ I
Linea deposiclonamiento ~-~'
Dirección de rotación delos espejos
Dirección degeneración del carácter
Figura 2.2 Vista superior del generador
Espejos Giratorios Haz de los láseres
Dirección de rotación de los espejos,y generación del carácter
Figura 2.3. Vista frontal del generador
20
2,2 DISEÑO DEL GENERADOR DE CARACTERES
2,2.1 DESCRIPCIÓN GENERAL DE FUNCIONAMIENTO
2.2.1,1 PRINCIPIO DE FUNCIONAMIENTO
Los proyectores láser basan su funcionamiento en galvanómetros de precisión
formando una estructura de dos dimensiones. Cada galvanómetro barre una parte
de la imagen en su respectivo eje, generando un haz de luz continua el mismo que
dará origen al logotipo o imagen deseada por el usuario.
A diferencia de los proyectores láser actuales, el prototipo que se diseña, utiliza
multiplexación de datos que combinado con la rotación de un juego de espejos y la
reflexión de la luz del láser de baja potencia sobre estos, logra generar caracteres.
En la figura 2.4, se muestra un ejemplo de cómo el prototipo combina la rotación
del motor y el tiempo en el que deben permanecer encendidos los láseres para
generar un carácter. Es importante tener en cuenta que el grupo de caracteres que
se van a proyectar en la pantalla se transmitirán desde el PC hasta un
microcontrolador vía puerto serial y se almacenaran en la memoria RAM interna.
El motor gira un ángulo 9 igual a 2.3° aproximadamente,
generando un segmento de alrededor de 0.5 cm. 9 = aDato alojado en P1 igual a 3F
21
a = 2.3°, 6 para t2 igual a 2 aDato alojado en P1 igual a FF.
a = 2.3°, 0 para ta igual a 3 aDato alojado en P1 igual a C8.
a = 2.3°, 0 para tj igual a 4 a Dato alojado en P1 igual a C8.
22
a = 2.3°, 8 para fe igual a 5a Dato alojado en P1 igual a FF.
a = 2.3°, 8 para te igual a 6a Dato alojado en P1 igual a 3F.
ttotal ttotal
Figura 2.4. Vista superior y frontal de la secuencia de generación de un carácter,
"la letra A", figura 2.3
23
En el instante en el cual la lámina de posicionamiento pasa por el sensor, los
valores almacenados en la Ram son comparados con una tabla guardada en la
memoria de programa, y luego codificados los valores enviados uno a continuación
de otro por el puerto P1 un determinado tiempo, figura 2.5., el mismo que se conecta
con la circuitería del driver del láser, y que combinado con la rotación del motor
puede dibujar segmentos individuales para cada láser y que en conjunto los ocho
láseres forman columnas que constituyen partes individuales del carácter generado.
I laserl
1 Iaser2
I laserS
1 Iaser4
I laserS
I Iaser6
1 láser?
I laserS
nnnninn nni
\ nnti Í2 ts Í4 ts te
ttotal
Tiempo
Figura 2.5. Gráfico de Corriente de cada láser vs. tiempo, para formar el carácter
de la figura 2.3.
2.2.1.2 DIAGRAMA DE BLOQUES
De lo discutido anteriormente en el principio de funcionamiento'del generador de
caracteres, se puede ilustrar la estructura del prototipo.
Cada una de las partes del diagrama, desempeña una función muy importante, y
para una mejor comprensión, se procederá al detalle de estos.
24
SistemaMicrocontrolador
Figura 2.6. Diagrama de bloques del generador
2.2.1.3 SISTEMA mCROCONTROLADOR
En la selección del microcontrolador se tomará en cuenta muchos aspectos, tales
como el número de entradas y salidas para manejar los láseres, la comunicación
serial, y e! número de interrupciones, figura 2.7.
Láseres
InterrupciónExtema '•/+
8
Microcontrolador
Indicador defuncionamiento
++*Comunicación entre el
PC y elmicrocontrolador
Figura 2,7, Diagrama de bloques de Jas entradas y salidas del microcontrolador.
25
Si las dimensiones de! carácter que se va a generar es de 8 filas por 7 columnas,
se ve la necesidad de controlar a los láseres con un puerto del microcontrolador, es
decir 8 líneas de salida.
En la comunicación entre el computador y el microcontrolador se requiere de dos
líneas, una de transmisión y otra de recepción.
Una línea de interrupción con la que se indicará la posición de giro exacta en la
que se encuentran los espejos para dar inicio a la secuencia de datos a ser enviados
al puerto que maneja los láseres.
Y una línea en la se
microcontrolador.
conectará un indicador de funcionamiento del
Considerando lo anterior expuesto, se necesitan al menos 12 líneas; por lo que el
microcontrolador AT89C4051 de ATMEL, proporciona el número de líneas
requeridas para el diseño, este microcontrolador tiene la arquitectura básica del
8031 con 15 líneas de entrada/salida, y sus especificaciones se encuentran en el
anexo A, sus conexiones básicas se ilustra en la figura 2.8.
VCC = 5 v"
10 UF
Y1
+ p SW Reset Vcc = 5 v Ve--oí_ ~ T n
— £=>Reset <1R02Kohm<> R3 > <> 10KOhm> , * ^f Láser1<C 1
— 1 — [ gpr?^ 4~ Laser3<T
Láser4<Láser&CLáser&C
Láser8<
XTAL1 >XTAL2 >
Reset | >
—£ — \1
o = 5 v
r w> 10 K>
1213141516171819
54_
20
3hm
LH
P1.0/AINO P3.0/RXDP1.1/AIN1 P3.10232.P1.2 P3.2/MTQ.P1.3 P3.3/INT1P1.4 P3.4/TOP1.5 P3.5/T1P1.6 P3.7P1.7
>XTAL1>XTAL2
RST/VPP
VCC
I 2 ^ 1
^
RX_M1CROTX_MÍCRO
Interrupsión Extema
Indicador de funcionamiento
j 7.3728 Mhz/33pf
>XTAL2
Veo = 5 vAT89C4051
Figura 2.8 Mícrocontroíador AT89C4051
26
El circuito de señalización del estado del sistema, figura 2.9, consta de un
transistor, resistencias de base y colector y un led. El transistor trabaja en corte y
saturación, por lo que teniendo una polarización de 5 voltios, el valor de resistencia
del colector no debe ser menor a 250 ohm si se considera la corriente de 20 mA
como corriente máxima del led. En operación normal del software del
microcontrolador se diseña para que el LED este continuamente encendiéndose y
apagándose.
Voc = 5 V
R5'330 Ohm
LEDl
R4 j. . . K Q1
~^^ k300 Ohm
2N3904 1-
D1rr LED
^
Figura 2.9. Indicador de Operación.
2.2.1.4 BRIVER PARA EL LÁSER
El dríver láser está constituido por un circuito que se diseñó principalmente en
base a experiencias de laboratorio.
Vcc = 12v
TFuente deComente
Láser
Microcontrolador
Pn
Zener como limitador devoltaje
UNL2803
Figura 2.10. Dríver del láser, fuente de corriente
27
Los láseres se conectan a la fuente de polarización mediante una fuente de
corriente, figura 2.10, la que permite uniformizar la intensidad luminosa de los diodos
láser, el circuito del dríver se cierra con un ULN2803 el que se conecta al puerto P1
del microcontrolador. Este integrado proporciona la corriente necesaria para manejar
el láser.
Indicador de funcionamiento
Interrupción externa
TX_MICRORX MICRO
U1
P3.7P3.5/T1P3.4TTOP3.3/1NT1P3.2/INTOPS.lmXDP3.0/RXD
AT89C4051
VCC
RSTVVPP
XTAL2<XTAL1<
P1.7P1.6P1.SP1.4P1.3P1.2
P1.1/A1N1P1. O/AI NO
Vcc20 T
J <
±^19 r18 -17 -1615 -14 -13 L
12 f-
R1 < >10 KOhntf
Vcc =
= 5v
t iReset
: XTAL2í XTAL1
~~> LáserS
^LáserS>Láser5
~~>Láser4~~>Láser3
^>Láserl|
R2 \m /
= S v Vcc :
Dríverd
DriverULN26
I
| .;
Í 3
T
Sv : ~1 "
U..,.
Vcc = 12 v
Figura 2.11. Control de intensidad de un láser,
El sensor de posición, activa la interrupción externa 1 del microcontrolador,
permitiendo de esta forma colocar a la secuencia de datos que se va a multiplexar
en P1, cada uno de los datos saldrán al puerto con un intervalo de tiempo que
determinará el ancho y la intensidad del haz del láser, por ende del carácter
formado. El dato que se encuentra en P1 ingresa al ULN28035, y este al salir del
5 Hoja de características ver Anexo A-l
28
integrado cierra el circuito del láser como se mencionó anteriormente, ver figura
2.11., y con la rotación del juego de espejos se genera el carácter.
2.2.1.5 DETECTOR DE POSICIÓN
El detector de posición es un interruptor óptico, constituido por un fotodiodo
emisor y un fototransistor receptor, cuando el fotodiodo esta polarizado directamente
emite luz infrarroja que incide en la base del fototransistor provocando que este se
sature y por ende se obtiene un cero lógico en el colector. Al obstruirse con cualquier
objeto los dos dispositivos el flujo de luz hacia la base del fototransistor este deja de
conducir, cambiando el nivel de la salida de cero a uno lógico.
El inversor se coloca a la salida del detector de posición y se conecta al P3.3, pin
7 del microprocesador, correspondiente a la interrupción externa 1, activándose con
0L si existe cruce por él sensor, dando paso al programa de interrupción y
manteniéndose el estado de 1Lsi no hay cruce.
La figura 2.12 ilustra el circuito del detector de posición.
VCC 1 VCC 1 VCC 1
R241 KOhm
INT 1
Q102N3904
Figura 2.12. Sensor de posición
2.2.1.6 FUENTE DE POLARIZACIÓN
La fuente de polarización esta constituida por un transformador con una bobina
primaria y dos bobinas secundarias, las cuales permiten distribuir de mejor manera
la carga en el prototipo como se ve en la figura 2.13. En una de ellas se conecta un
regulador LM7805, el mismo que proporciona el voltaje de polarización para el
29
microcontrolador, el circuito del reset, e! circuito de señalización del programa del
microcontroiador y el detector de posición. En la segunda bobina se conecta un
regulador integrado LM7812 el que polariza los driver's de los láseres y el motor DC
en cuyo eje de giro se encuentran los espejos.
FaseAC
•Vcc Microprocesador
Vcc Motor/Driver Láser
|^ LM78L12AC/TO92 ^\ UF 47 UF 33 pFC6
Figura 2.13 a. Fuente de polarización del microprocesador y el motor DC.
Figura 2.13 b. Fuente de polarización construida.
30
2.2.1.7 MODULO DE GIRO
Una de las consideraciones importantes para el diseño del generador, es el
encontrar un motor DC sincrónico en cuyo eje de giro se colocará el juego de
espejos, los cuales deben sincronizarse con el disparo de los láseres.
Figura 2.14. Módulo de giro.
Además debe tenerse en cuenta que la velocidad del motor debe de ser al
menos 30 ciclos por segundo, para eliminar el parpadeo en la pantalla que se
plasma el carácter.
2.2.1.8 INTERFAZ SERIAL
El microcontrolador utiliza una comunicación serial RS232, para comunicarse con
un computador en la figura 2.15 se ilustra el circuito para pasar de niveles RS232 a
niveles TTL
El microcontrolador utilizará los siguientes parámetros de configuración de
velocidad (4800 bps), número de bits de datos (8 bits), parada (1 bit) y paridad
(ninguna ), para establecer la comunicación.
31
U2
CONNECTOTTPB9
TXPC'
TX MICRO
C1+ C2- V- V-f- Voc
fOUP
KtítíR2IN
TTINT2IN
Cl-H-01-
V4-V-
R-1.QU.T.FÍ2OUT
T10ÜTT20ÜT
.MW232A
Ct- C2- VCC 1
Figura 2.15.1 nterfaz Serial
32
CAPÍTULO 3.
CONSTRUCCIÓN DEL GENERADOR DE CARACTERES
En el presente capitulo se detallan las consideraciones que se tomaron en cuenta
para la construcción del prototipo y lo parámetros que deben cumplir el hardware y
software del prototipo, y del interfaz visual entre el usuario y la PC.
3.1 DESARROLLO DEL HARDWARE DEL GENERADOR DECARACTERES
A continuación se describe las consideraciones que se tomaron en cuenta para la
construcción, desde el prototipo inicial hasta el hardware final.
Una de las partes importantes, es el motor DC, que debe cumplir ciertas
condiciones importantes, que complementado con el circuito para determinar la
posición de los espejos determina el punto exacto y el instante preciso en que se
disparan los láseres. Implementando el programa del microcontrolador y del interfaz
de comunicación serial, con un PC permitirá editar el mensaje que se plasmarán en
la pantalla del generador.
3.1.1 MOPTOLO DE GIRO
La primera alternativa para el módulo de giro se basó en la idea de manejar un
solo láser con dos motores DC. La mecánica de funcionamiento a la que se regiría
se describe en la figura 3.1. , esto es, movimiento en dos dimensiones, eje "x" y eje
"y". Dar una alternativa más económica a la ya existente en el mercado
internacional, que son dispositivos que operan con galvanómetros de alta precisión y
láseres de alta potencia, por lo que les hace muy costosos, fue uno de los objetivos
a alcanzar. Este prototipo no se desarrollo, figura 3.2, por limitaciones de
velocidades que el diseño requería. Si tomamos en cuenta, que la velocidad mínima
debe de ser de 24 cuadros por segundo para que el ojo humano no perciba el
parpadeo en el cambio de una escena y la siguiente, y si las dimensiones de la
pantalla a formar sea de 24*24 píxeles, la relación de velocidad de un motor con
33
Galvanómetroman. eje X
Láser
Galvanómetromo«, eje ¥
Figura 3.1. Estructura de funcionamiento básico de un dispositivo que utiliza
galvanómetros.
EspejosGiratorios
Pantalla
Láser
Motor DC para larotación eje Vertical,movimiento eje "X"
Motor DC para larotación eje Horizontal,movimiento eje "Y"
Figura 3.2 Estructura de funcionamiento básico del primer prototipo de generador
de caracteres.
34
respecto al otro debe ser de 1:24, y si la velocidad mínima de uno de ellos es 24
ciclos por segundo el otro debe de ser 576 ciclos por segundo, y el motor DC
sincrónico con mayor velocidad que se encontró en el mercado nacional fue de 3600
rpm, (377 ciclos por segundo), lo que no permitió ¡mplementar este modelo.
Prolongación del ejede rotación paraacople de espejos.
Motor DC modificadopara el Mov. en elejeX
Motor DCmodificadopara el Mov. enel eje Y
Figura 3.3. Vista lateral derecha primer prototipo.
Base de losmotores DC
Cables depolarización
Figura 3.4. Vista lateral izquierda primer prototipo.
El la figura 3.3 y 3.4 se muestra claramente la estructura del primer prototipo de
generador de caracteres láser, con los ejes modificados como se explica en los
35
párrafos anteriores, en la figura 3.3 se puede observar la disposición de los motores
y por ende de los espejos, que se encuentran a 90 grados uno con respecto al otro,
para conseguir un arreglo idéntico a la figura 3.1., que es la que utiliza los
generadores que trabajan con galvanómetros.
Por el problema anterior se consideró diseñar un prototipo que maneje 8 láseres,
figura 3.6, y un solo motor donde se coloca los espejos.
Lasares
Pantafta
Espejo Giratorio
Figura 3.6. Estructura de funcionamiento básico del prototipo final del generador
de caracteres.
Se necesita un motor con el eje lo suficientemente largo para acoplar el juego de
espejos que van a girar, esto se consigue reemplazando el eje original de la bobina
por uno de mayor longitud, teniendo en cuenta que al rotar la bobina no se salga de
su eje de giro, y evitar de esta forma vibraciones no deseadas.
La figura 3.7. nos da un panorama claro de cómo se construyó el hardware del
prototipo final señalado anteriormente, este solo utiliza un motor DC modificado, ver
figura 3.8., en su eje, y sobre los espejos giratorios se controlan 8 láseres que
representan los 8 bits de datos que se multiplexan para dar origen al carácter.
36
Figura 3.7a. Vista frontal del generador de caracteres
Figura 3.76. Vista Posterior del generador de caracteres
37
Abertura para la entradade los haces de losláseres.
anuras para los 8\seres
Soporte para elmotor
Abertura para el detector de posición
Figura 3.7c. Armazón prototipo final del generador.
Cable depolarización
Láminaindicadora deposición
Eje de rotaciónmodificado
Figura 3.8. Motor DC modificado
38
3.1.2 CIRCUITO PARA DETERMINAR LA POSICIÓN
Los valores de resistencias para e! switch óptico, se calculan en base a las
características que se indican en las hojas de datos del elemento H21A1, que no es
más que un simple interruptor óptico.
Reverso de la placadel circuito
Diodo emisor
TransistorDetector
Figura 3.9. Interruptor óptico
El la figura 3.9 se puede apreciar el optícal switch H21A1, instalado en una cara
del soporte del motor, este se encuentra soldado en el reverso de la placa del
circuito detector de posición, figura 3.10., el revés de la placa se la puede observar
en la figura 3.10, donde se muestra el transistor que se utiliza como inversor, tal
como se discutió en la sección 2.2.1.5.
Figura 3.10. Circuito detector de posición.
El motor, los espejos el switch y el haz de los láseres, se sincronizan de tal forma
que el primer carácter que se va ha dibujar se encuentre situado al inicio de la
pantalla de proyección, esto se logra si el ángulo 6, que es el ángulo formado entre
39
el segmento dibujado sobre la lámina y la superficie de los espejos no sea menor a
10 grados, para que el carácter sea dibujado dentro de la pantalla de proyección..
Figura 3.10. Montaje del circuito para determinarla posición.
Línea de Referencia pintadaen ía /amina
EspejosLámina indicadora deposición
Swftch Óptico
Pantalla
Figura 3.11. Determinación del inicio de la pantalla.
40
La lámina de acetato circular, figura 3.12, es utilizada para operar el interruptor
óptico, de tal forma que se proporcione el pulso requerido por el microprocesador
para que comience a ejecutar el programa de la interrupción externa 1, cuando la
línea de referencia dibujada en la lámina, figura 3.13, interrumpe el paso de luz hacia
el fototransistor, indica el inicio del disparo de los láseres.
interrampor e!tiaz cf&f diodo «OTísoren e/sensor efe posición
Figura 3.12. Diagrama de la lámina para accionar el interruptor óptico
Lámina
Eje de giro
Espejos giratorios
Soporte de la lámina
Línea que disparo de lainterrupción
Figura 3.13. Lámina acopiada a la base de los espejos.
3.1.3 CIRCUITO DEL DRWER LÁSER
El principal problema que se presento en el diseño del generador, fue diseñar el
manejador adecuado para controlar los diodos láser.
41
Los diodos láser que se utilizarán en el prototipo se obtuvieron de punteros láser
que se encuentran en el mercado nacional, ver figura 3.19. La diferencia en las
características individuales de cada uno de los diodos láser utilizados en el presente
proyecto, y la falta de hojas de especificaciones, fueron la esencia del problema
citado anteriormente, por lo que se debe manejar individualmente cada uno de los
láseres para tratar de obtener las mismas características en todos ellos.
- 12 v
;:'- pi:ícl!ÍíLaéef:i;;
Zenercomo¡imitador de voltaje
Izi
IR2
ULN2SD3
Figura 3.15. Limitador de corriente en el Dríver del láser
Por lo que se debió realizar el estudio experimenta! necesario para establecer los
elementos y la circuitería exacta que complementado con el ULN2803, constituyan el
dríver del láser.
Los valores de comente que deben circular por cada uno de los láseres están
comprendidos entre 4 mA y 25 mA, para que la intensidad del haz del láser sea
visible. Aún cuando el valor de comente medido para el láser es de 30 mA, no se
42
toma en cuenta, porque si se sobre pasa este, el láser se destruye o su vida útil se
acorta, por tal razón se toma como referencia una corriente máxima 25 mA.
El zener MA3Q43 de 4.3v, figura 3.15, colocado en paralelo al diodo láser, solo
sirve para que el voltaje sobre este no sobrepase los 4.5 v, puesto que
experimentalmente se tuvo problemas cuando el voltaje de polarización del láser
era mayor a este valor.
El cálculo del valor de la resistencia del emisor para el limitador de corriente
se indica a continuación.
Is = 30mA y IC=IE
£_=
A* . 80
iz\
7 = Vcc - V = 12v - 5. Iv = 6.9vR2
D = = : = 1282.53IR2 5.38v
% = Vzl - Fsg = 5. Iv - 0.7v = 4.4v•"£ "
R =JÍ-=^L= 146. 6660s^ 1^
=>5_ =150QJí •jnm
TMÚÍ
AmA
=11 50Q
43
Los elementos descritos anteriormente se montaron sobre una baquelita
perforada como se muestra en la figura 3.16.
Salidas oír/Ver LáserDriver láser
Entrada Vc<
ULN2803
MicroconíroladorATMELA789C4051
MAX 232
Salida Veo motor
Comunicación serial
EntradaInferwoción
Indicador de funcionamiento
Figura 3.16 Tarjeta principal del Generador de Caracteres
3.1.4 DISEÑO DEL JUEGO DE ESPEJOS
A pesar que los punteros láser se encuentran alineados uno con respecto al otro,
el haz no es paralelo al eje del puntero, esta divergencia de los haces, figura 3.17,
es un inconveniente mas para el diseño del hardware, ninguno de ellos coinciden eri
sus características, debiendo tratarlos como elementos independientes y diferentes.
Para solucionar el problema de la divergencia de los haces, se construyó un
dispositivo con espejos, uno que puede girar en el eje "X" y en el eje "Y" y otros fijos
para disminuir la separación entre los puntos de los láseres. Con esta boquilla,
conseguimos que haz de los punteros converjan a un solo segmento, y con los fijos,
44
una separación mas estrecha para identificar en forma legible al carácter escrito.
Este dispositivo se puede apreciar en la figura 3.18 y 3.19.
Eje de simetría del puntero
Figura 3.17. Diferencia entre haces de los diodos láseres.
Pantalla
Movimientoeje "Y*
Boquilla móvil deltintero con espejos
¡ratorios
Espejo giratorio
Figura 3.18a. Boquilla de alineación con movimiento en el eje "Y" y espejo
giratorio con movimiento en el eje "X".
45
mm
Boquilla móvilalineación eje
Espejo móvil,alineación eje JfX-
Figura 3.18b. Boquilla de alineación con movimiento en el eje "Y" y espejo
giratorio con movimiento en el eje "X".
InputLáser
Láseres
Distanciaentre haces
Espejos paraalinear el hazen el eje X y enel eje Y
Espejos Fijos
Figura 3.19. Disposición de los espejos fijos.
46
3.1.4.1 PROCESO DE ALINEACIÓN
Cada uno de los láseres es alineado individualmente. El haz del láser se refleja
sobre la superficie de tres espejos antes de proyectarse en la pantalla.
El proceder de alineación se describe a continuación:
1. Se genera en la pantalla la letra T mayúscula.
2. Se toma el segmento generado por el bit menos significativo como
segmento de referencia para la alineación.
3. Con el movimiento de la boquilla y el espejo localizados en el extremo del
puntero láser se desplaza el haz a lo largo del eje "Y' y e! eje "X"
respectivamente, hasta conseguir que todos los segmentos formen la letra
"¡" mayúscula.
4. Se asegura la boquilla y su espejo, para que no se muevan con vibración
generada por la rotación del motor.
3.2 DESARROLLO DEL SOFTWARE PARA ELMICROCONTROLADOR
Un diagrama de flujo para el algoritmo desarrollado para el microcontrolador, se
ilustra en la figura 3.21 y 3.22, y se describe a continuación.
Al iniciar el programa principal, se inicializa el modo de operación de los timer's,
se habilita la entrada exterior de interrupción 1, el registro de control, de habilitación
y priorización de interrupción.
Hace un llamado a la subrutina de configuración de los parámetros para
transmisión y recepción, continua con una subrutina de ingreso de los datos a ser
codificados y posteriormente multiplexados, que se guardarán en una porción de la
memoria Ram interna, y finalmente convoca la subrutina de generación del pulso
que enciende y apaga el led indicador del buen funcionamiento del programa.
El programa principal se mantendrá en una cadena infinita en la última subrutina,
en espera a la interrupción externa 1.
47
Activada la interrupción, se recupera los datos alojados en la Ram interna, cada
uno de los caracteres serán comparados con un cuadro similar al indicado en la
figura 3.20, para luego ser enviados al puerto P1 del microcontrolador, que
combinados con el giro de los espejos, generan el carácter deseado.
La tabla completa de mapeo de los caracteres ASCII se muestra en el anexo B.
Los datos se originan en el interfaz visual por el usuario que mediante un
comando trasmitirá al microcontrolador, el mismo que alojará estos datos desde la
localidad 40H de la memoria Ram interna.
Carácter
oA)0 1 1 1 10 1 1 1 1 01 1 0 0 1 11 1 0 0 1 11 1 1 1 1 11 1 0 0 1 11 1 0 0 1 11 1 0 0 1 1
Tabla de datos/ñapeados a serenviados a P1
3F FF C8 C8 FF 3F
Datos alojados en la memoria de programa
Figura 3.20. Ejemplo de mapeo para el carácter "A"
48
1P: PRIOR1DADA LA INT1 Y TIMER1TCON: INT1 POR NIVEL YINTAO POR FLANCOTMOD: TIMER1/0 TEMP/CONT 16 BITS RELOJINTERNOPCON: TIMER1 SMOD 1
SCON: MODO 1 (8BITS,DATO,1, STOP)TH1 ,TL1:2400 BAUDIOS A 7.3728 MHZ
LCALL CONT_DATOSLCALL DATOS
IE=84 HABILITO INT_1 Y DESHABILITOLA SERIAL
NO
SI
IE=0 DESHABILITO INTERRUPCIÓN
LCALL CONT_DATOSLCALL COMPARA
TIE= 94H HABILITO ÍNTER SERIAL E INT 1
Figura 3.21. Diagrama de flujo del programa del microcontro/ador.
49
CONT DATOS
R4 = 40H INICIO LOCALIDAD DE DATOSRO = 60H NÚMERO DE DATOS A INGRESAR
RETORNO DESUBRUTINA
DATOS RECEPT
LCALL RECEPT ESPERA UN DATO
APUNTO A LA LOCALIDAD60H Y ALMACENA LOSDATOS INGRESADOS
LIMPIA LAS BANDERAS
LCALLCONT DATOS
COPIA EL DATO DELBUFFER
RETORNO DESUBRUTINA
COMPARA
INGRESA EL DATODE LA MEMORIARam INTERNA ALACUMULADOR
Figura 3.22. Algoritmos de las subrutinas del programa.
50
3,3 DESARROLLO DEL INTERFAZ VISUAL PARA EL USUARIO
El interfaz visual desarrollado es una herramienta muy fácil de utilizar para
cualquier usuario.
Este presenta una pantalla amigable, consta de varias opciones dependiendo de
que se desee visualizar en la pantalla del generador, con tres tipos de efectos
disponibles.
En la figura 3.23 se ilustra la pantalla principal del programa, en este se
encuentra un textbox, figura 3.25, nombrado como "Text" por donde se podrá
ingresar la palabra que se desea visualizar; las alternativas de animación son:
• Start Right Movíng : AI díckear en el botón, se mostrara la animación en
el text.box nombrado como "Láser Screen" , la palabra ingresada en
"Text" , figura 3.25, al mismo tiempo que se podrá observar en tiempo
real en la pantalla del generador láser. Esta desplazará hacia la derecha el
texto del carácter en carácter hasta su totalidad y nuevamente
reapareciendo por el lado izquierdo de la pantalla, figura 4.3.
• Start Left Movíng: El movimiento se realizará hacia la izquierda,
reapareciendo de letra en letra en la parte derecha del text.box de
simulación.
• Static Word: Muestra tanto en la simulación como en el generador la
palabra sin ningún movimiento.
• Start Clock: Nos despliega un reloj en tiempo real, en el simulador y el
generador.
• Sequence Mode: Nos muestra otra alternativa de ingreso del texto y
proporciona la capacidad de escribir más de una palabra, logrando así
generar un periódico, figura 3.24.
o Number of words: Se puede seleccionar el número de palabras
que integran la frase a mostrar, ya indicando este número se
51
desplegara tantos cuadros como caracteres se desee, cada cuadro
posee un texí.box en donde se ingresa la palabra, permitiendo da
dos opciones de animación "M_R" que cumple la misma función
que "Start Right Movíng" y "M_L" trabaja igual que "start Left
Moving". La visualización en el text.box de simulación y en la
pantalla del generador comenzara al presionar el botón de "Start
Sequence" .
Exit Sequence Moc/e: Regresa a la pantalla principal.
Exit: Sale del programa.
SiariRigtii Moving •?] /Seqúense ftíbíte'¡ffkí4''V
:-StartLefeMo]fing
Sía/íCfót* •
Srstíc Word f
LaserScreensrí-í
íí '
y, '
:|ffff
SííSí;2
'STÍIEE^
1¡
¿¿fe
tSStu
S']«!
'I
;S
¡S
ÍÍS í
3:
5¡: i
r,f:.;",:K;
riíTísS;
l-llPí
iiiü
1S1IÍI11Í"lilSPPKSíjíípíifíírííífíiííí™ feríj-j-i-üí'K'ii ¡•íj'íi.tjí1
§' xííí i Síí ?!í!t ' í tfí S5í fiS!Síilil
itílnTirí/EíBifálf!
fi
1
^
;«
fe
ÍT"
^Jíí í?
-p :-
5™ íi
íí|
" lf;
" rffi»;
1
»i!
•5'ííiíííM
í®í"írM'RPf
!lK!S
•
SÉÍ;||nf:;;|•SÍFr;r;;íf:íííííí ;í
ra!-;»:;S
lili
;r™r
ííííl'í ií;
íi'ií.ííí-^-
t5isSiX.il
ÍÉt-ífíí'íí';
'¡íí»-*
gf
fes
T"
"¡S
• "i
""•
F'.í1
S
Figura 3.23. Pantalla principal del intetfaz visual.
52
Figura 3.24. Pantalla de animación de una secuencia de palabras.
Figura 3.25. Texto ingresado.
53
1.-
2.-
3.-
Figura 3.26 a. Simulación del desplazamiento hacia la derecha.
54
2.- 2.-
3.- 3.-
4.- 4.-
5.- 5.-
Figura 3.26 b. Simulación del desplazamiento hacia la derecha.
55
CAPITULO 4.
RESULTADOS Y APLICACIONES
4.1 PRUEBAS REALIZADAS
Las siguientes pruebas realizadas en el transcurso del diseño y construcción del
generador, plantean las pautas necesarias para el mejoramiento y posterior
modificación al presente proyecto.
4.1.1 SELECCIÓN DEL MOTOR
En busca del motor adecuado, se tuvo varias alternativas, tales como, un motor
sincrónico de pasos, que cumplía con el requerimiento mínimo de velocidad, se llego
a tener 75 ciclos por segundo, lo suficiente para comenzar la construcción, pero se
desechó esta opción por el exceso de vibración en el motor y la complejidad en el
circuito de control de éste.
Las siguientes pruebas se las realizó con un motor asincrónico de bobina móvil,
se consiguió una velocidad máxima promedio de 290 ciclos por segundo, el motor
por ser asincrónico, no mantenía constantes en número de revoluciones por minuto
requerida, a pesar de los circuitos de control diseñados no se logró el objetivo
deseado, por lo que se busco otra alternativa.
Las pruebas finales se las efectúo con un motor DC, típico de las fuentes de
alimentación de los PC's, con este se consiguió tener constantes las revoluciones
por minuto, y con una velocidad máxima de 3600 rpm, sobrepasando el
requerimiento mínimo para el diseño del generador de caracteres, que es de 1440
rpm.
Como se menciona anteriormente, la selección del motor es una de las
prioridades en el diseño del hardware. Las características que deben cumplir el
motor se detallan a continuación:
* Motor sincrónico.
56
• Eje de giro de por lo menos 15 cm de longitud.
• Velocidad mínima del motor 1440 rpm.
4.1.2 VELOCIDAD PE TRANSMISIÓN PE LOS PATOS
El microcontrolador trabaja con un cristal de 7.3728 Mhz, por esto resulta sencillo
modificar los parámetros del timer para la transmisión y recepción de datos.
E! microcontrolador al transmitir a una velocidad de 4800 bps no se encuentro
ningún problema, al tratar de incrementar o disminuir este valor surgieron problemas
en la recepción de los datos, visualizándose caracteres errados en la pantalla del
generador
4.1.3 PANTALLA DEL GENERADOR
4.1.3.1 LONGITUD DE LA PANTALLA
La longitud máxima de la pantalla de proyección del generador se encontró de
forma experimental.
13 cm
29.8 cm
Figura 4.1 Gráfico de la vista superior de la montura y pantalla
57
Figura 4.2a Vista superior de la montura y pantalla del generador
Figura 4.2b Vista frontal de la pantalla del generador
La amplitud total de la lámina es de 29.8 cm, figura 4.1 y 4.2, siendo la longitud
utilizable para escribir las letras de 28 cm,
La extensión del haz incidente en la pantalla es de 0.35 cm por cada dato que se
dibuja sobre esta, y si tenemos un promedio de 7 columnas por cada símbolo y si se
considera la amplitud de 28 cm como extensión útil, nos da un resultado 11.4
caracteres que podemos dibujar, por esta razón se limita el ingreso de 11 caracteres
en interfaz visual.
58
4.1.3,2 PANTALLA PLANA
Separación entre segmentos del carácter
Figura 4.3 Caracteres formados sobre una pantalla plana.
La deformación de la longitud del segmento y la separación entre ellos, fue la
causa por la que se escogió pantalla circular.
El alargamiento del segmento que da forma al carácter, se puede resolver
modificando el programa del microcontrolador, pero la separación entre segmentos,
no se puede solucionar por software, por que el problema es provocado por la
divergencia de los haces de los láseres,
4.1.4 AMINACION PE MENSAJES
El programa del microcontrolador por si solo será capaz de dibujar palabras sin
movimiento, siendo el programa del interfaz visual un complemento para que el
generador pueda graficar caracteres en movimiento. Las animaciones descritas en el
capitulo anterior se las puede apreciar también en la figura 4.4, 4.5, 4,6.
JÉmmm
Figura 4.4
59
2.-
3.-
4,-
5.-
Figura 4.5
1.-
2.-
3.-
4.-
60
Figura 4.6
4.1.5 COSTO PE COSNTRUCCION.
El la tabla 4.1 se detalla el costo del prototipo construido en el presente proyecto
y en la tabla 4.2 se especifica los costos de equipos para visualizacion de mensajes.
Cantidad
11111121043113111
10168
1
Descripción
Microcontrolador AT89C4051Circuito integrado ULN2803Circuito integrado MAX232Transformador 120/12Regulador 781 2Regulador 7805Puente rectificador integradoCapacitores 1 0 uFCapacitores 0.1 uFResistenciasBaquelita de circuito impresoZócalosInterruptor ópticoCristal de 7.3728 MhzMotor DCTransistoresDiodos ZenerPunteros láserVarios
CostoUnitario
$6,50$2,00
$4,00$6,00$0,50$0,50$0,45$0,40$0,30
$0,25$3,00
$0,40$2,00$0,75
$6,00$0,20$0,25$1,45
$15,00
Total
CostoTotal$6,50$2,00
$4,00$6,00$0,50$0,50$0,90$4,00$1,20$7,75$3,00
$1,20$2,00$0,75$6,00$2,00$4,00
$11,60
$15,00
$78,90
4.1 Elementos utilizados en el prototipo y sus costos .
' La mayoría de precios se tomaron del catalogo de JAMECO en Internet.
61
Cantidad
11
1
DescripciónGenerador de caracteres a partir de una fila deled's7
Full-color graphics projectors8
Generador de caracteres a partir de diodos láser yun juego de espejos giratorios
Costo
$160,30$ 7.500,00
$ 78,90
4.2. Tabla comparativa de precios de equipos de generación de caracteres
Los equipos que se detallan en la tabla 4.2. son de características diferentes, el
primero utiliza led's y el segundo láseres de potencia, pero se ha tomado a estos
equipos para tener una referencia de precios, puesto que el prototipo del presente
proyecto, posee particularidades únicas en diseño y construcción.
4,2 APLICACIONES
El presente proyecto nos da otra alternativa en el campo de la publicidad
electrónica, pues hasta el momento solo se ha podido encontrar matrices de led's
capaces de mostrar cualquier tipo de mensajes o anuncios publicitarios, con una
infinidad de animaciones, texturas, colores, y tamaños.
Aun cuando existen limitaciones en diversidad de colores, el generador de
caracteres es capaz de reemplazar fácilmente la matriz de leds, para mostrar
mensajes como por ejemplo, la hora, figura 4.7, temperatura, figura 4.8,
informaciones bancarias, figura 3.32, ofertas de productos en locales comerciales, y
en aquellos lugares que se necesite dar a conocer información de una forma
diferente a las existentes en el mercado.
7 Tomados de la tesis del Ing. Jorge García, Octubre 2003.8 Tomados de lltlp://ww^v.paIlgolirl.corfl/resguide02.1 tDl
62
Figura 4.7
Figura 4.8
Figura 3.32
63
CAPITULO 5.
CONCLUSIONES Y RECOMENDACIONES
5.1 CONCLUSIONES
• Se ha conseguido diseñar y construir un generador de caracteres a partir
de diodos láser y espejos giratorios.
• En la publicidad electrónica, el láser ha desempeñado actualmente un
papel muy importante. El láser por poseer un haz puntual se le puede
utilizar como un pincel y dar origen a muchas formas de animación,
dependiendo del hardware y software utilizado para manipular los
láseres.
• En el mercado de la publicidad láser, existen una amplia variedad de
equipos para diferentes tipos de espectáculos y eventos, equipos que
utilizan láseres de color verde o multicolores desde 5 watts hasta 35
watts de potencia. Lo que les hace muy costosos y si no se utiliza con las
medidas de seguridad necesarias pueden resultar hasta peligrosas.
• El generador diseñado y construido se lo hace en base a un láser de muy
baja potencia inferior a 1 mw, por lo que no es necesario utilizar un
sistema de enfriamiento.
• Se ha demostrado que utilizando las herramientas adecuadas se puede
reemplazar el uso de galvanómetros por un simple motor DC.
• Un motor DC y un juego de espejos giratorios, resultando un método
novedoso y económico en la generación de publicidad láser.
• A pesar de no existir en el país normas que controlen el uso discriminado
de los punteros láser, se debe tener en cuenta la protección personal, y
no mirar intencionalmente al rayo del láser, ya que en este caso se
64
causaría graves quemaduras en e! ojo y hasta la pérdida total de la
visión.
• La falta de especificaciones de voltaje y corriente de los diodos láser
utilizados, se pudo solventar con la experiencias de laboratorio obtenidas
en el transcurso de la elaboración del presente proyecto.
• Los voltajes de polarización del diodo láser utilizado, no debe sobrepasar
los 4.5 voltios y 25 mA, para evitar que este se destruya o su vida útil se
degrade.
• La construcción del hardware de este prototipo demando la mayoría de
tiempo, utilizando madera de marquetería para que la modificación total o
parcial de cada uno de los diseños sea fácil y rápida, es decir, la
construcción del hardware se resume en el encontrar la geometría
adecuada y la correcta distribución de los elementos, para finalmente
proseguir con las pruebas en el circuito de control y los interfaces.
• Los punteros láseres no poseen la misma convergencia del haz de luz,
solventando este problema con la utilización de espejos fijos y móviles,
que distribuidos de forma adecuada se consigue que los haces se
orienten a puntos paralelos en la pantalla de proyección.
• Para la alineación del punto incidente del haz del láser sobre la pantalla
se diseño una boquilla móvil con un espejo que puede girar 90 grados,
figura 3.18, permitiendo desplazar, al punto en dos dimensiones.
• Si el motor no mantiene constante el número de revoluciones producirá
un efecto de movimiento de vaivén no deseado en los caracteres, o un
exceso de vibración en todo el hardware.
• La velocidad del motor no debe ser menor 1440 rpm para que el ojo
humano no sienta los cambios entre cuadro y cuadro formado en la
generación de caracteres.
65
5,2 RECOMENDACIONES
* En la ¡mplementación de nuevos modelos de hardware se puede utilizar
madera de marquetería, para que los cambios puedan realizarse
fácilmente.
* Para mejorar el diseño actual se podría utilizar diodos láser de mayores
potencias superiores a 1mw pero inferiores a 5mw y de esa forma
incrementar el brillo del haz del láser.
* Incorporar otro método de multiplexación de datos y disminuir el uso de
ocho diodos láser a uno solo, pero manteniendo la idea original de utilizar
un motor DC en lugar de galvanómetros.
» Se puede añadir periféricos adicionales como, un dispositivo de medición
de temperatura y mostrar en tiempo real en la pantalla del generador.
* Realizar estudios conjuntos con el departamento de física de la Escuela
Politécnica Nacional, para desarrollar un reglamento de seguridad
industrial que norme el uso del láser de baja potencia.
66
5.3 BIBLIOGRAFÍA
» C. J. SAVANT, "Diseño Electrónico", WHmington Delaware, 1992.
* GONZALES, Adolfo, "Introducción a los Microconíroladores", España,
1992,
» ATMEL, "ATMEL Corporation 8051 Flash Microcontroller Data Book", San
JoseCA, 1997.
* GARCÍA, Jorge, "Diseño y Construcción de un generador de caracteres a
partir de una fila de led's giratoria", E.P.N., Ecuador, 2003.
THRU
2824NJJo »o) S"2 enw ÍTnj CD
Dwg.No.A-10,322A
Note that fhe ULx28xxA series (dual in-linepackage) and ULx28xxLW series (small-outline IC package) are electrically idéntica!and share a common terminal number assign-ment.
ABSOLUTE MÁXIMUM RATINGSOutput Voltage, VCE
(x2803x andx2804x) 50 V(x2823xandx2824x) 95 V
Input Voltage, VM 30 V
Continuous Output Current, IQ .... 500 mA
Continuous Input Current, IIN 25 mA
Power Dissipation, PD
(one DarKngton pair) 1.0 W(total package) See Graph
Operating Temperature Range, TA
Prefix 'ULN' -20°C to + 85°CPrefíx CULQ' -40°C to +85°C
Storage Temperature Range,
Ts -55°C to +150°C
HIGH-VOLTAGE, HIGH-CURRENTDARLINGTON ARRAYS
Featuring continuous load current ratings to 500 mA for each ofthe drivers, the Series ULN28xxA/LW and ULQ28xxA/LW high-voltage, higb-current Darlington arrays are ideally suited for interfac-ing between low-level logíc circuitry and múltiple peripberal powerloads. Typical power loads totaling over 260 W (350 mA x 8, 95 V)can be controlled at an appropriate duty cycle depending on ambienttemperature and number of drivers turned on simultaneously. Typicalloads include relays, solenoids, stepping motors, magnetic print ham-mers, multiplexed LED and incandescent displays, and heaters. Alldevices feature open-collector outputs with integral clamp diodes.
The ULx2803A, ULx2803LW, ULx2823A, and ULN2823LWhave series input resistors selected for operation directly with 5 V TTLor CMOS. These devices will handle numerous interface needs —particularly those beyond the capabilities of standard logic buffers.
The ULx2804A, ULx2804LW, ULx2824A, and ULN2824LWhave series input resistors for operation directly from 6 V to 15 VCMOS or PMOS logic outputs.
The ULx2803A/LW and ULx2804A/LW are the standardDarlington arrays. The outputs are capable of sinMng 500 mA and willwithstand at least 50 V in the off state. Outputs may be paralleled forhigher load current capability. The ULx2823A/LW and ULx2824A/LW wül withstand 95 V in the off state.
These Darlington arrays are fiírnished in 18-pin dual in-lineplástic packages (suffix 'A') or 1 8-lead small-outline plástic packages(suffix 'LW')- All devices are pinned with outputs opposite inputs tofacilítate ease of circuit board layout. Prefíx CULN' devices are ratedfor operation over the temperature range of -20°C to +85°C; prefíx'ULQ' devices are rated for operation to -40° C.
FEATURES• TTL, DTL, PMOS, or CMOS Compatible Inputs• Output Current to 500 mA• Output Voltage to 95 V• Transient-Protected Outputs• Dual In-Line Package or Wide-Body Small-Outline Package
The OLx2804y ULx28235 & OLx2824 are discontinuad,Shown for referersce
x = Character to identiíy specific device. Characteristic sho wn applies to familyof devices with remaining digits as shown. See matrix on next page.
2803THRU 2824HIGH-VOLTAGE,HIGH-CURKENTDARLINGTONARRAYS
DEVICE PART NUMBER DESIGNATION
PARTIAL SCHEMATICS
ULx28x3A/LW (Each Driver)
2.7 K
ULx28x4A/LW (Each Driver)
rhDwg. FP-052-3
VcE(MAX)
'c(MAX)
Logic
5VTTL, CMOS
6-15 VCMOS, PMOS •
50 V
500 mA
95V
500 mA
Part Number
ULN2803A*ULN2803LW*
ULN28Q4A*ULN23Ü4LW*
ULN2823A*ULN2823LW
ULN2824A*-ULN2824LW
* Also available for operation between -40°C and +85°C. To order, changeprefix from 'ULN' to 'ULQ'.
The ULX2884, ULx28233 & ULx2S24 are discontinué?!Shown for refersnee only.
2.5
2.0
IzzO
¡5o.
£2 15o
ai
Io.LUO
10
oo- 0.5
OQ
¡
SUFF1X W, ReJA = 60°C/W
SUFF1X 'LW, R = 80°C/W
25 50 75 100 125AMB1ENT TEMPERATURE IN °C
150
Dwg. GP-018B
x = Character to identiiy specific device. Specification shown applies tofamily of devices with remaining digits as shown. See matrix above.
115 Northeast Cutoff, Box 15036Worcester, Massachusetts 01615-0036 (508) 853-5000Copyright© 1977, 2001 Allegro MicroSystems, Inc.
2803 THRU 2824HIGH-VOLTAGE,HIGH-CURRENT
DARLINGTON ARRAYS
Types ULX2803A, ULx2803LW, ULx2804A, and ULx2804LWELECTRICAL CHARACTERISTICS at +25°C (unless otherwise noted).
Characteristic
Output Leakage Current
Collector-EmitterSaturation Voltage
Input Current
Input Voltage
Input Capacitance
Turn-On Delay
Turn-Off Delay
Clamp DiodeLeakage Current
Clamp DiodeForward Voltage
Symbol
!CEX
VCE(SAT)
'lN(ON)
•iNfomV1N(ON)
C!N
tpLH
tpHL
IR
VF
TestRg.
1A
1B
2
3
4
5
—8
8
6
7
ApplicableDevices
Ali
'ULx2804x
Ail
ULx2803x
ULX28O4X
All
ULx2803x
ULX28Ü4X
All
Ali
All
All
Ali
Test Conditions
VCE = 50 V, TA = 25°C
VCE = 50 V, TA = 70°C
VCE. = 50 Vr TA = 70°C, %• = 1,0 V
Ic=100mAlB = 250uA
lc = 200 mA, IB = 350 uA
Ic = 350 mA, IB = 500 pA
V,N = 3.85 V
V1N=-5.0V
V!N=12V
lc = 500 uA, TA = 70°C
VCE = 2.0V,ic = 200mA
VCE = 2.0 V, Ic = 250 mA
VCE = 2.0 V, Ic = 300 mA
VCE=2.0V,lc=125inA
Vce = 2.QV,rc~20QmA
VCE s 2.0 V, ¡c ~ 275 mA
VCE =2-° v« b = 350 cnA
0.5 EIM to 0.5 EOUT0.5 E|N to 0.5 EOUTVR = 50V,TA=25°C
VR = 50 V, TA = 70°C
IF = 350 mA
LimitsMin, Typ, Max.
— <1 50
— <1 100
— <5 500
— 0.9 1.1
— 1.1 1.3
— 1.3 1.6
— 0.93 1.35
— O,35 0,5
— 1-0 145 .
50 65 —
— — 2.4
2 7
— — 3.0
— — 5,0
— — 6.0
— — 7.O
— — 8,O
— 15 25
— 0.25 1.0
— 0.25 1.0
— — 50
— — 100
— 1.7 2.0
Units
pA
pA
WA
V
V
V
mA
mAmA
pA
V
V
V
V
V
V
V
PF
US
US
MA
pA
V
Complete part number includes prefix to operatíng temperature range: ULN = -20°C to +85°C, ULQ = -40°C to +85°Cand a suffix to identiíy package style: A = DIP, LW = SOIC.
The ÜLx2S84 IBShown for reference otiiy-
www.allegromicro.com
2803 THRU 2824HIGH-VOLTAGE,HIGH-CURRENTDARLINGTON AKRAYS
fypes ULX2823A, ULN2823LW, ULx2824A, and ULN2824LWELECTRICAL CHARACTERISTICS at +25°C (unless otherwise noted).
Gharacferisüc
Output Leakage Cürtent
Coltector-ErníSerSaturafion Voftage-
1 ripia Curren!
IrtpütYoítage
Tnput Capacítanos
Turrt-On OelayTurrt-OffDelay
Cfamp- DiodsLeakage Gurrent
Ctamp DiodeForward Voftage
Symbol
ICEX
VCE(SATJ
!lN(ON)
'MOER
VÍN{ON}
GJÍÍ
ÍPLH
tpHL
IR
VF
TestBg.1A
IB
2
3
4
5
_
8
8
e
7
ApplicableDevices
Atl
ULx2824x
Aíí
ULx2823x
ULX2824X
Aíf
. ULX2823X:
ULX2824X
Af¡
Atf
Atí
Alt
Aff
Test Condítions
VCE=-95VfTA = 25°C
VCE = 95VITA-70<IG
VOE = 95 v, TA= 70=cr v)N = 1,0 v1C = 10O mAj t&= 250 pA
tc = 200 mA, 1& -350 pA
te = 350 mA, (B = 60Q HA
ViN = 3.85 V
%Í-5,OV
VÍW = 12V
Ic = 500 pA, TA = 70DC
VCE = 2.O V, !c = 200 mA
V(^ = 2.0VJJc.í=250mA
Vcg ?= 2.0 V, !c s 3ÚO mA
VCE^2.QV,[0=125rrtA
VC£ -2.0 V, (c= 200 mA
VCE=2,ÚV, lc = 275mA
VCE = 2.0 V, tc = 350 mA
0.5 % to oT5 EOUT0,5E,NtoO.SE0ur
VR = 95V1.TA=25aC
VR^SSV^TA-TO^CIp=-350mA
LimítsMírv Typ+ Max, Umis
— <1 50 pA
— <1 100 juA
— <5 500 pA
— Q.9 1.1 V
— 14 1,3 V
— 1T3 1,6 V
— 0,93 1.35 mA
— 0,35 0,5 mA
— 1,0 1,45 mA
50 65 — pA
— — 2.4 V
— — 2.7 V
— — 3.0 V
— — 5X> V
— — 6U) V
— — 7,0 V
— — 8.0 V
— 15 25 pF
— 0.25 1.0 )is
— 0.25 Í.-0 ps
— — 50 ,UA
— — 100 pA
— 1.7 2.0 V
Complete part number includes prefíx to operating temperature range: ULN = -20°C to -f 85°C, ULQ = -4Q°C to +85°Cand a suffk to identify package style: A = DIP, LW = SOIC. Note that the ULQ2823LW and ULQ2S24LW are not presentlyavailable.
The UL5C2823Shown for refersnce
115 Northeast Cutoff, Box 15036Worcester, Massachusetts 01615-0036 (508) 853-5000
2803 THRU 2824HIGH-VOLTAGE,HIGH-CUKRENT
DARLINGTON ARRAYS
FIGURE 1A
OPEN VCE
CEX
TEST FIGURES
FIGURE 1B
I
OPEN VCE
'CEX
FIGURE 2
OPEN
Dwg. No. A-9729A Dwg. NO.A-9730A Dwg. No. A-9731A
FIGURE 3
OPEN
1
Dwg. No. A-9732A
FIGURE 4
OPEN VCE
FIGURE 5
Dwg. No. A-9733A Dwg. No.A-9734A
FIGURE 6
Dwg. No. A-973SA
FIGURE 7 FIGURE 8
Dwg. No. A-9736A
ULx28x3x 3.5 VULx28x4x 12 V
50 pF
www.allegromicro.com
2803 THRU 2824HIGH-VOLTAGE,HIGH-CURRENTDARLINGTONARRAYS
ALLOWABLE COLLECTOR CURREN!AS A FUNCT1ON OF DUTY CYCLE
ULx28xxA600
NUMBER OF OUTPUTSCONDUCTING
SIMULTANEOUSLY
20 40 60
DUTY CYCLE IN PER CENT
ALLOWABLE COLLECTOR CURREN!AS A FUNCTION OF DUTY CYCLE
ULx28xxLW600
tíz<
1400
UJcece
200
D^g. GB-Ü70-2
NUMBER OF OUTPUTSCONDUCTING
SIMULTANEOUSLY
20 40 60
DUTY CYCLE IN PER CENT
600
NUMBER OF OUTPUTSCONDUCTING
SIMULTANEOUSLY
600
20 40 60
DUTY CYCLE IN PER CENT
100
o
400
200
NUMBER OF OUTPUTSCONDUCTING
SIMULTANEOUSLY
20 40 60
DUTY CYCLE IN PER CENT
100
i = Characters to identify specific device. Specification shown applies to family of devices wifh remaining digits as shown.
115 Northeast Cutoff, Box 15036
Worcester, Massachusetts 01615-0036 (508) 853-5000
2803 THRU 2824HIGH-VOLTAGE,HIGH-CURRENT
DARLINGTON ARRAYS
INPUT CURRENT AS AFUNCTION OF INPUT VOLTAGE
ULx28x3x
Ezt-zIII
rto
2.5
2.0
1.5
1.0
0.5 Vi x ÁREA OF NORMAL OPERAT1ONWTTHSTANDARD ORSCHOTTKYTTL
2.0 3.0 4.0 5.0
INPUT VOLTAGE
6.0
SATURATION VOLTAGE AS A FUNCTION OFCOLLECTOR CURRENT
600
400
LUo;o:3oo:O
ou
200
0.5 1.0 1.5
COLLECTOR-EMITTER SATURATION VOLTAGE
2.0
Ul_x28x4x
I<
2.0
1.5
1.0
0.5
.,—z%\&-
COLLECTOR CURRENT AS AFUNCTION OF INPUT CURRENT
600
400
uiK.OL3Oa.
O 200
Oíí
8 9
ÍNPUT VOLTAGE
10 11 12
y>*
/x
/
>f /
/
/
/
¿^
/*
,/&kx
y
D 200 400 60
INPUT CURRENT 1N joADAg.GP^>
x = Characters to identífy specific device. Characteristíc shown applies to family of devices with remaining digits as shown.
www.allegromicro.com
2803 THRU 2824UIGH-VOLTAGE,HIGH-CURKENTDAKLINGTONARRAYS
PACKAGE DESIGNATOR "A" DIMENSIONSDimensions ¡n Inches
{controlling dimensions)
18 10
0.0140.008
I0.2800.240
í0.210MAX i
I-1-
f
L J 0.0700.045
bd b=J 1=1 ¥ ¥ ^j
0.920 BSC
0.880
Lnnnrinnruij---]
-0.N
T0.015
MINv v
_J L-0.0220.014
T0.1500.115
Dimensions in Miilimeters(for reference only)
18
0.355-0.204
Dwg.MA-OOl-lSAIn
__J L.0.5580.356
ÍOTES: 1. Exact body and lead configuration at vendor' s option within limits shown.2. Lead spacing tolerance is non-cumulative.3. Leadthickness is measured at seating plañe or below.
Dwg.MA-001-18Am
115 Northeast Cutoff, Box 15036Worcester, Massachusetts 01615-0036 (508) 853-5000
2803 THRU 2824HIGH-VOLTAGE,HIGH-CURRENT
DARLINGTON ARRAYS
PACKAGE DESIGNATOR "LW" DÍNIENSIONSDimensions ¡n Inches
(for reference only)18 10
R R R H R R R R
0.29920.2914
0.0200.013H
y y u y yHL 2 3 _J
J . 0.4625 , _L0.4469
0.050BSC
0.4190.394
0.01250.0091
0.0500.016
O°TO 8'4-
0.09260.10431
l-í-
0.0040 MIN.
18
Dimensions in Millimeters(controlling dimensions)
10
7.607.40
0.510.33rll
R R R R R R R
y y H y ry relL-2 3 _J
1 11.75 IL11.35
1.27BSC
10.6510.00
0.320.23
1.270.40
0°TO 8
0.10 MIN.
NOTES: 1. Exact body and lead configuration at vendor's option within limits shown.2. Leadspacingtoleranceisnon-cumulatíve.
www.allegromicro.com
2803 THRU 2824HIGH-VOLTAGE,HIGH-CURRENTDARLINGTONARRAYS
The products descríbed here are mamifacfured under one or moreU.S. patents or U.S. paienis pending.
Allegro MicroSysiems, Inc. reserves the ríght to make,from time totime, such departures from the detall specifications as may be requiredto permit improvements in the performance, reliability, ormanufacturability ofiís products. Befare placing an arder, theuseriscautioned to verífy that the Information being relied upan is ctirrení.
Allegro producís are not authorizedfor use as crítica! componentsin life-support devices or systems wiihout express •wrítien approval.
The Information included herein is believed to be accurate andreliable. However, Allegro MicroSystems, Inc. assumes no responsi-bilityfor its use; norfor any infríngement of paienis or other ríghts ofthirdparíies which may resultfrom its use.
m «,,* ~+AmM^Wmf - 115 Northeast Cutoff, Box 15036I U fla ' ^ S?!¿lteí*?:r :-::;::::::::::-::--- Worcester, Massachusetts 01615-0036 (508)853-5000
reaturesCompatible wrtn MCS®51 Products4K Bytes of Reprogrammable Flash MemoryEndurance: 1,000 Write/Erase Cycles2.7V to 6V Operating RangeFullyStaíic Operation: O Hzto 24 MHzTwo-Ievel Program Memory Lock128 x 8-b¡t Interna! RAM15 Programmable I/O LinesTwo 16-bit Timer/CountersSix Interrupt SourcesProgrammable Serial UART ChannelDirect LED Dríve OutputsOn-chíp Analog ComparatorLow-power Idle and Power-down ModesBrown-out Detection
DescriptionFhe AT89C4051 ¡s a low-voitage, high-performance CMOS 8-bit microcomputer withIK bytes of Flash programmable and erasable read-only memory (PEROM). Thetevice ¡s manufactured using AtmeFs high-density nonvolatile memory technology ands compatible with the industry-standard MCS-51 instruction sel. By combiníng aver-satile 8-bít CPU with Flash on a monolithic chip, the Atmel AT89C4051 is a powerfulnicrocomputer which provides a highly-flexible and cost-effective solution to manysmbedded control applications.Fhe AT89C4051 provides the following standard features: 4K bytes of Flash,128 bytes of RAM, 15 I/O unes, two 16-bit timer/counters, a five-vector, two-levei inter-rupt architecture, a fu l l dúplex serial port, a precisión analog comparator, on-chipascillator and clock circuitry. In addition, the AT89C4051 ¡s designed with static logicfor operation down to zero frequency and supports two software-selectable power sav-¡ng modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters,serial port and interrupt system to continué functioning. The power-down mode savesthe RAM contents but freezes the oscillator disabling all other chip functions until thenext hardware reset.
Pin Configuration
PDIP/SOIC
RST/VPP C(RXD) P3.0 C(TXD) P3.1 C
XTAL2CXTAL1 C
(TÑTO)P3.2C(¡ÑTT) P3.3 U
(TO) P3.4 C(T1) P3.S C
GNDL
^12
3
4
S
6
7
89
10
J
2019
18
17
16
15
14
13
1211
3VCCÜP1.7UP1.63P1.53P1.43P1.3HP1.23P1.1 (AIN1)3 P1.0 (Al NO)3P3.7
8-bitMicrocontrollerwith 4K BytesFlash
AT89C4051
Rev. 1001D-06/01
[ffiEL
Block Diagram
GND
RSTTIMING
ANDCONTROL
INSTRUCTIONRE6ISTER
INTERRUPT, SERIAL PQRT,AND TIMER BLOCKS
ANALOGCOMPARATOR
P1.0-P1.7
AT89C40511001D-06/01
AT89C4051
Hn Descriptíon
/ce
3ND
3ort1
Supply voltage.
Ground.
Port 1 ¡s an 8-bit bi-directional I/O port. Port pins P1.2 to P1.7 provide internal pullups.P1.0 and P1.1 require external pullups, P1.0 and P1.1 also serve as the positive input(AINO) and the negative input (AIN1), respectively, of the on-chip precisión analog com-parator. The Port 1 output buffers can sink 20 mA and can drive LED displays directly.When 1 s are written to Port 1 pins, they can be used as ínputs. When pins P1.2 to P1.7are used as inputs and are externally pulled low, they will source current (I1L) because ofthe internal pullups.
Port 1 also receives code data during Flash programming and verification.
Port 3 pins P3.0 to P3.5, P3.7 are seven bi-directional I/O pins with internal pullups.P3.6 is hard-wired as an input to the output of the on-chíp comparator and is not acces-sible as a general purpose I/O pin. The Port 3 output buffers can sink 20 mA. When 1sare written to Port 3 pins they are pulled high by the internal pullups and can be used asinputs. As inputs, Port 3 pins that are externally being pulled low will source current (l,L)because of the pullups.
Port 3 also serves the functions of various special features of the AT89C4051 as ustedbelow:
Port Pin
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
Altérnate Functions
RXD (serial input port)
TXD (serial output port)
INTO (external interrupt 0)
INT1 (external interrupt 1)
TO (timer 0 external input)
T1 (timer 1 external input)
Port 3 also receives some control signáis for Flash programming and verification.
Reset input. All I/O pins are reset to 1s as soon as RST goes high. Holding the RST pinhigh fortwo machine cycles while the oscillator is running resets the device.
Each machine cycle takes 12 oscillator or clock cycles.
Input to the inverting oscillator amplifier and ¡nput to the ¡nternal clock operating circuít.
Output from the inverting oscillator amplifier.
OscillatorCharacíerssttcs
XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier whichcan be configurad for use as an on-chip oscillator, as shown in Figure 1; Either a quartzcrystal or ceramic resonator may be used. To drive the device from an external clocksource, XTAL2 should be left unconnected while XTAL1 is driven as shown in Figure 2.There are no requirements on the duty cycle of the external clock signal, since the inputto the internal clocking circuitry is through a divide-by-two flip-flop, but mínimum andmáximum voltage high and low time specifications must be observed.
Figure 1, Oscillator Connections
C2J!
C1
nT
XTAL2
XTAL1
GND
Note: C1, C2= 30 pF ± 10 pF for Crystals= 40 pF ± 10 pF for Ceramic Resonators
Figure 2. External Clock Drive Configuration
NC
EXTERNALOSCILLATOR
SIQNAL
XTAL2
XTAL1
GND
AT89C40511001D-06/01
AT89C4051
Special FunctíonRegisters
A map of the on-chip memory área called the Special Function Register (SFR) space isshown ¡n the table below.
Note that not all of the addresses are occupied, and unoccupled addresses may not beimplemented on the chip. Read accesses to these addresses wili in general return ran-dom data, and write accesses wili have an indeterminate effect.
User software should not write 1s to these unlisted locations, since they may be used infuture products to invoke new features. In that case, the reset or ínactive valúes of thenew bits wili always be 0.
Table 1. AT89C4051 SFR Map and Reset Valúes
OF8H
OFOH
OE8H
OEOH
OD8H
ODOH
OC8H
OCOH
OB8H
OBOH
OA8H
OAOH
98H
90H
88H
80H
B00000000
ACC00000000
PSW00000000
IPxxxooooo
P311111111
1Eoxxooooo
SCON00000000
P111111111
TCON00000000
SBUFxxxxxxxx
TMOD00000000
SP00000111
TLO00000000
DPL00000000
TL100000000
DPH00000000
THO00000000
TH100000000
PCONOXXXOOOO
OFFH
OF7H
OEFH
OE7H
ODFH
OD7H
OCFH
OC7H
OBFH
OB7H
OAFH
OA7H
9FH
97H
8FH
87H
1001O-06/01
Restrictions onCertain Instructions
Branching Instructions
MOVX-relatedInstructions, DataMemory
Program MemoryLock Bits
The AT89C4051 is an económica! and cost-effective member of Atmel's growing familyof microcontrollers. It contains 4K bytes of Flash program memory. It is fully compatiblewith the MCS-51 architecture, and can be programmed using the MCS-51 instructionset. However, there are a few considerations one must keep in mind when utilizing cer-tain instructíons to program this device.
All the instructions related to jumping or branching should be restricted such that thedestination address falls within the physical program memory space of the device, whichis 4K for the AT89C4051, This should be the responsibility of the software programmer.For example, LJMP OFEOH would be a valid ¡nstructíon for the AT89C4051 (with 4K ofmemory), whereas LJMP 1000H would not.
LCALL, LJMP, ACALL, AJMP, SJMP, JMP ©A+DPTR. These unconditional branchinginstructions will execute correctly as long as the programmer keeps in mind that the des-tination branching address must fall within the physical boundaries of the programmemory size (locations OOH to FFFH for the 89C4051). Violating the physical space lim-¡ts may cause unknown program behavior.
CJNE [...], DJNZ [...], JB, JNB, JC, JNC, JBC, JZ, JNZ With these conditional branchinginstructions the same rule above applies. Agaín, vioiating the memory boundaries maycause erratic execution.
For applications ¡nvolving interrupts, the normal interrupt service routine address loca-tions of the 80C51 family architecture have been preserved.
The AT89C4051 contains 128 bytes of internal data memory. Thus, in the AT89C4051the stack depth is limited to 128 bytes, the amount of avaiiable RAM. External DATAmemory access is notsupported ¡n this device, ñor ¡s extemal PROGRAM memory exe-cution. Therefore, no MOVX [...] ¡nstructions should be included in the program.
Atypical 80C51 assemblerwül still assemble instructions, even if they are written in vio-iation of the restrictions mentioned above. It ¡s the responsibility of the controller user toknow the physical features and limitations of the device being used and adjust theinstructions used correspondingly.
On the chip are two lock bits which can be left unprogrammed (U) or can be pro-grammed (P) to obtain the additional features usted in the following table:
Lock Bit Protection Modes(1)
Program Lock Bits
1
2 '
3
LB1
U
P
P
LB2
U
U
P
Protection Type
No program lock features
Furtherprogramming of the Flash ¡s disabled
Same as mode 2, also verify is disabled
Note: 1. The Lock Bits can only be erased wiíh the Chip Erase operaíion.
AT89C40511001D-06/01
AT89C4051
Icüe Mode
Power-down Mode
In ¡dle mode, the CPU puts itself to sleep while all the on-ch¡p peripherals remain active.The mode ¡s ¡nvoked by software. The contení of the on-chip RAM and all the specialfunctions registers remain unchanged during this mode. The idle mode can be termi-nated by any enabled interrupt or by a hardware reset.
P1.0 and P1.1 should be set to "O" if no external pullups are used, or set to "1" if externa!pullups are used.
It should be noted that when idle ¡s terminated by a hardware reset, the device normallyresumes program execution, from where it left off3 up to two machine cycles before the¡nternal reset algorithm takes control. On-chip hardware inhibits access to internal RAMin this event, but access to the port pins is not inhibited. To elimínate the possibility of anunexpected write to a port pin when Idle ¡s terminated by reset, the instruction followingthe one that invokes Idle should not be one that writes to a port pin or to externalmemory.
In the power-down mode the osciliator is stopped and the instruction that invokespower-down is the last instruction executed. The on-chip RAM and Special FunctionRegisters retain their valúes until the power-down mode is terminated. The only exitfrom power-down ¡s a hardware reset. Reset redefines the SFRs but does not changethe on-chip RAM. The reset should not be activated before Vcc ¡s restored to its normaloperating leve! and must be held active long enough to allow the osciliator to restan andstabilize.
P1.0 and P1.1 should be set to "O" if no external puliups are used, or set to "1" if externalpullups are used.
Brown-OUt Detectíon When Vcc drops below the detection threshold, all port pins (except P1.0 and P1.1) areweakly pulled high. When Vcc goes back up again, an ¡nternal Reset is automaticaliygenerated after a delay of typically 15 msec. The nominal brown-out detection threshold¡s2.1V±1Q%.
V,ce
PORT PIN
INTERNAL RESET
-TV 2-i v 7i
J"/
^2.1V
i
¡v_-ir: Mn.^n J
1001D-06/01
Programming TheFlash
The AT89C4051 Is shipped with the 4K bytes of on-ch¡p PEROM code memory array ¡nthe erased state (¡.e., contents = FFH) and ready to be programmed. The code memoryarray ¡s programmed one byte at a time. Once the array is programmed, to re-programany non-blank byte, the entire memory array needs to be erased electrícally.
Internal Address Counter: The AT89C4051 contains an interna! PEROM addresscounter which is always reset to OOOH on the rising edge of RST and is advanced byapplying a positive going pulse to pin XTAL1.
Programming Algorithm: To program the AT89C4051, the following sequence ¡srecommended.1. Power-up sequence:
Apply power between VCC and GND pinsSet RST and XTAL1 to GND
2. Set pin RST to "H"Set pin P3.2 to "H"
3. Apply the appropriate combination of "H" or "L" logiclevéis to pins P3.3, P3.4, P3.5, P3.7 to select one of the programming operationsshown ¡n the PEROM Programming Modes table.
To Program and Verify the Array:
4. Appiy data for Code byte at location OOOH to P1.0 to P1.7.
5. Raise RST to 12V to enable programming.
6. Pulse P3.2 once to program a byte in the PEROM array or the lock bits. Thebyte-write cycle is self-timed and typically takes 1.2 ms.
7. To verify the programmed data, lower RST from 12V to logic "H" lével and setpins P3.3 to P3.7 to the appropriate levéis. Output data can be read at the portP1 pins.
8. To program a byte at the next address location, pulse XTAL1 pin once to advancethe internal address counter. Apply new data to the port P1 pins.
9. Repeat steps 6 through 8, changíng data and advancing the address counter forthe entire 4K bytes array or until the end of the objectfile is reached.
10. Power-off sequence:set XTAL1 to "L"set RST to "L"Turn Vcc power off
Data Polling: The AT89C4051 features Data Polling to indícate the end of a write cycle.During a write cycle, an attempted read of the last byte written will result in the comple-ment of the written data on P1.7. Once the write cycle has been completed, true data isvalid on all outputs, and the next cycle may begin. Data Polling may begin any time aftera write cycle has been initiated.
Ready/Busy: The Progress of byte programming can also be monitored by theRDY/BSY outputsignal. Pin P3.1 is pulled low after P3.2 goes High during programmingto indícate BUSY. P3.1 is pulled High again when programming is done to indícateREADY.
Program Verify: If lock bits LB1 and LB2 have not been programmed code data can beread back via the data unes for verífication:1. Reset the ¡nternal address counter to OOOH by brínging RST from "L" to "H".
2. Apply the appropriate control signáis for Read Code data and read the outputdata at the port P1 pins.
AT89C40511001D-06/01
AT89C4051
Programmingínterface
3. Pulse pin XTAL1 once to advance the internal address counter.
4. • Read the next code data byte at the port P1 pins.
5. Repeat steps 3 and 4 until the entire array ¡s read.
The lock bits cannot be verified directly. Verification of the lock bits is achieved byobserving that their features are enabled.
Chip Erase: The entire PEROM array (4K bytes) and the two Lock Bits are erased elec-trically by using the proper combination of control signáis and by holding P3.2 low for10 ms. The code array is written with all "1"s ¡n the Chip Erase operation and must beexecuted before any non-blank memory byte can be re-programmed.
Reading the Signatura Bytes: The signature bytes are read by the same procedure asa normal verification of Iocations OOOH, 001 H, and 002H, except that P3.5 and P3.7must be pulled to a logíc low. The valúes returned are as follows.
(OOOH) = 1EH indícales manufactured by Atmel
(001 H) = 41H ¡ndicates 89C4051
Every code byte in the Flash array can be written and the entire array can be erased byusing the appropriate combínation of control signáis. The write operation cycle is self-timed and once initiated, will automatically time ¡tself to completion.
AIl major programming vendors offer worldwide support for the Atmel microcontrollerseries. Please contact your local programming vendor for the appropriate softwarerevisión.
Flash Programming ModesMode
Write Code Data(1)(3)
Read Code Data'1'
Write Lock Brt-1
Bit -2
Chip Erase
Read Signature Byte
RST/Vpp
12V
H
12V
12V
12V
H
P3.2/PROG
^^H
-w-
.
— \^_^~ (2)
H
P3.3
L
L
H
H
H
L
P3.4
H
L
H
H
L
L
P3.5
H
H
H
L
L
L
P3.7
H
H
H
L
L
L
Notes: 1. The internal PEROM address counter is reset to OOOH on the rising edge of RST and is advanced by a positive pulse atXTAL1 pin.
2. Chip Erase requires a 10-ms PROG pulse.3. P3.1 is pulled Low during programming to indícate RDY/BSY.
1001D-06/Q1
Figure 3. Programming the Flash Memory
RDY/BSY
PROG
SEE FLASH
MODESTABLE I
TO INCREMENTADDRESS COUNTER
AT89C4051
P3.1 vco
P3.2 P1
P3.3
P3.4
P3.5
P3.7
P3.1
XTAL1 RST
GND
«<
*
PQMDATA
-»- RDY/BSY
Figure 4. Verifying the Flash Memory
[-SEE FLASH ! _.
PROGRAMMING-iMODESTABLE -
l_—
_TLr
AT89C4051
P3.2
P3.3
P3.4
P3.5
P3.7
XTAL1
GND
P1
RST
PGMDATA
10 AT89C40511001D-06/01
AT89C4051
Flash Programming and Verification CharacteristicsTA = 20°C to 30°C, Vcc = 5.0 ± 10%
Symbol
Vpp
IPP
tDVGL
ÍGHDX
tEHSH
tsHGL
tGHSL
ÍGL.GH
*ELQV
tEHQZ
ÍGHBL
twc
*BHIH
ÍIHIL
Parameíer
Programming Enable Voltage
Programming Enable Curren!
Data Setup to PROG Low
Data Hold after PROG
P3.4 (ENABLE) High ío VPP
Vpp Setup to PROG Low
Vpp Hold after PROG
PROG Width
ENABLE Low to Data Valid
Data Float after ENABLE
PROG High to BUSY Low
Byte Write Cycle Time
RDY/BSYUo Increment Clock Delay
Increment Clock High
Min
11.5
1.0
1.0
1.0
10
10
1
0
1.0
200
Max
12.5
250
110
1.0
1.0
50
2.0
Units
V
uA
US
MS
US
MS
US
US
MS
MS
ns
ms
MS
ns
Note: 1. Only used in 12-volt programming mode.
Flash Programming and Verification Waveforms
PORT1
P3.2(PROG)
RST
P3.4(ENABLE)
P3.1(RDY/BSY)
XTAL1(INCREMENTADDRESS)
\P I j\L06!G 3
I ' LO6ÍC O
U fr 1EH3H
DATAOUT
11
^bsoíute Máximum Ratings*Operating Temperature -55°C to +125°C
Storage Temperature -65°C to +150°C
Voltage on Any Pinwtth Respect to Ground -1 .OV to +7.0V
Máximum Operating Voltage 6.6V
DC Output Current 25.0 mA
*NOTICE: Stresses beyond those listed under "AbsoiuteMáximum Ratings" may cause permanent dam-age to the device. This is a stress rating only andfunctional operation of the device at these or anyother conditions beyond those indicated in theoperational sections of this specification is notimplied. Exposuretoabsoiute máximum ratingconditions for extended periods may affect devicereüability.
)C CharacteristícsA = -4Q°C to 85°C, Vcc = 2.7V to 6.0V (unless otherwise noted)
Symbol
V,L
V1H
V,H1
VOL
VOH
'o.
'TL
'u
Vos
VCM
RRST
Cío
'ce
Parameter
Input Low-voltage
Input High-voltage
Input High-voltage
Output Low-voltageí1'(Ports 1, 3)
• Output High-voltage(Ports 1,3)
Logical 0 Input Current(Ports 1,3)
Logical 1 to OTransition Current(Ports 1,3)
Input Leakage Current(PortPI.O, P1.1)
Comparator Input Offset Voltage
Comparator Input CommonMode Voltage
Reset Pulldown Resistor
Pin Capacitance
Power Supply Current
Power-down Mode'2'
Condrtíon
(ExceptXTAL1,RST)
(XTAL1 , RST)
lOL=20mA,Vcc = 5VlOL=10mA,Vcc = 2.7V
IOH = -80 uA, Vcc = 5V + 10%
IOH = -30 uA
lOH = -12pA
VIN = 0.45V
VIN = 2V,VCC = 5V±10%
0<V1N<VCC
VCC = 5V
Test Freq. = 1 MHz, TA= 25°C
Active Mode, 12 MHz, Voc = 6V/3V
Idle Mode, 12 MHz, Vcc = 6V/3V
P1.0& P1.1 =OVorVcc
Vcc = 6V P1.0 & P1.1 = OV or Vcc
Vcc = 3V P1 .0 & P1 .1 = OV or Vco
Min
-0.5
0.2VCC+0.9
0-7 Vcc
2.4
0.75 Vcc
0.9 Vcc
0
50
Max
0.2VCC-0.1
Vcc +0.5
Vcc+0.5
0.5
-50
-750
±10
20
VOC
300
10
15/5.5
5/1
20
5
Units
V
V
V
V
V
V
V
MA
UA
uA
mV
V
KQ
PF
mA
mA
MA
PA
Jotes: 1. Under steady state (non-transient) conditions, IOL must be externally limited as follows:Máximum IOL per port pin: 20 mAMáximum total IOL for all output pins: 80 mAIf IOL exceeds the test cond'rtion, VQL may exceed the related specification. Pins are not guaranteed to sink current greaterthan the listed test conditions.
2. Mínimum Vcc for Power-down is 2V.
12 AT89C40511001D-06/01
External Clock Orive Waveforms
AT89C4051
Vcc - 0.5V H
0.45V
1CLCL
•t,•CHCL
External Clock Orive
Symbol
"'ADL.CL
*CLCL
^CHCX
ÍOLCX
'feLCH
ÍCHCL
Parameter
Oscillator Frequency
Clock Period
High Time
Low Time
Rise Time
Fall Time
Vcc = 2.7V to 6.0V
Mín
0
83.3
30
30
Max
12
20
20
Vco = 4.0Vto6.0V
Min
0
41.6
15
15
Max
24
20
20
Units
MHz
ns
ns
ns
ns
ns
10010-06/01
13
eriai Porí Timing: Shift Register Mode Test Conditions~c = 5.0V ± 20%; Load Capacitance = 80 pF
Symbol
txLXL
tQVXH
txHQX
^XHDX
1XHDV
Parameter
Serial Port Clock Cycle Time
Oütput Data Setup to Clock Rising Edge
Output Data Hold after Clock Rising Edge
Input Data Hold after Clock Rising Edge
Clock Risíng Edge to Input Data Valid
12MHzOsc
Min
1.0
700
50
0
Max
700
Variable Oscillator
Min
"I 2tcLCL
,_ 10tGLCL-133
2tcLCL-117
0
Max
10tcLCL-133
Uníts
US
ns
ns
ns
ns
íhift Register Mode Timing WaveformsINSTRUCTION
ALE
GLOCK
OUTPUT DATA, CLEARRI ,
•vINPUT DATA
~y$Aü¡i>(^¿^SET Rl I
Testing Input/Output Waveforms(1)
Vcc- 0.5V-
0.45V
Mote: 1. AC Inputs during testing are driven at Vcc - 0.5V for a logic 1 and 0.45V for a logic O. Timing measurements are made at V(H
min. for a logic 1 and V,L max. for a logic 0.
Float Waveforms^
" LOAD ' Timing ReferencePoinls
Note: 1. For timing purposes, a port pirr is no longer floating when a 100 mV change from load voltage occurs. A port pin begins tofloat when 100 mV change frothe loaded VOHA/oL level occurs.
14 AT89C40511001D-Q6/01
AT89C4051
AT89C4051TYPICAL ICC - ACTIVE (85°C)
FREQUENCY (MHz)
AT89C4051TYPICAL ICC - IDLE (35"C)
3 6
FREQUENCY (MHz)
12
AT89C4051TYPICAL ICC VS.VOLTAGE- POWER DOWN (85"C)
20
I 15C
C 10
aovI
4.0V 5.0V
VccVOLTAGE
6.0V
Power-Down Mode Notes: 1. XTAL1 tied to GND for lcc (power-down)2. P,1.0andP1.1 =Vc corGND3. Lock bits programmed
1Q01D-06/01
15
Ordering InformationSpeed(MHz)
12
24
PowerSupply
2.7V to 6.0V
4.0V to 6.0V
Ordering Code
AT89C4051-12PCAT89C4051-12SC
AT89C4051-12PIAT89C4051-12SI
AT89C4051-24PCAT89C4051-24SC
AT89C4051-24PIAT89C4051-24SI
Package
20P320S
20P320S
20P320S
20P320S
Operation Range
Commercial(0°Cto70°C)
Industrial(-40°C to 85°C)
Commercial(0°Cto70°C)
Industrial(-40°Cto85°C)
Package Type
20P3
20S
20-lead,
20-Iead,
0.300"
0.300"
Wide,
Wide,
Plástic
Plástic
Dual In-line Package (PDIP)
Gull Wing Small Outline (SOIC)
16 AT89C40511001D-O 6/01
AT89C4051
Packaging Information
20P3, 20-lead, 0.300" Wide, Plástic Dual InlinePackage (PDIP)Dimensions in Inches and (Millimeters)JEDEC STANDARD MS-001 AD
1.060(26.9).980(24.9)
Í !i-n n , . n_D_ru \n-Q-;
.210(5.33)MAX
I--.
(tren x u u u ' • x u u ,
.900(22.86} BEF_~j '
.280(7.11)
.240(6.10)
.090(2.29)MAX
.OOS(.127)
SEATINGPLAÑE.150(3.81) I.115(2.92)
.110(2.79)
.090(2.29)
LJ
-014(.356).008( 03)
n -^[ .070(1.7
.014(.356),070(1.78)
SÍ1.13)
.325(8.26)
.300(7.62)
V-',430(10.92} MAX
20S, 20-lead, 0.300" Wide, Plástic Gull WIng SmallOutline (SOIC)Dimensions in Inches and (Millimeters)
, . 0.020 (OSOB)¡ n* " 0.013 (OJJ30)
n n n n n n n n n n~O
y u u u u u u u u u_—»H r™— -050 (1-27) BSC
J!oT299g.6p_l p.^20Q0.7)¡¡0.291 (759) 0.393 (9^8)Jl |
Io.igsjj0.0927;
"0.012 (0.305) _ ]0.003 (0^)76)
1001D-06/01
17
MÜEL
Atmel HeadquartersCorporate Headquarters
2325 Orchard ParkwaySan José, CA 95131TEL (408) 441-0311FAX (408) 487-2600
EuropeAtmel SarLRoute des Arsenaux 41Casa Póstale 80CH-1705FribourgSwitzerlandTEL (41) 26-426-5555FAX (41) 26-426-5500
AsíaAtmel Asia, Ltd.Ropm 1219Chinachem Golden Plaza77 Mody Road TsimhatsuiEast KowloonHong KongTEL (852) 2721-9778FAX (852) 2722-1369
JapónAtmel Japan K.K.9F, Tonetsu Shinkawa Bidg.1-24-8 ShinkawaChuo-ku, Tokyo 104-0033JapanTEL (81) 3-3523-3551FAX (81) 3-3523-7581
Atmel OperationsAtmel Colorado Spríngs
1150 E. Cheyenne Mtn.'Btvd.Colorado Sprlngs, CO 80906TEL (719) 576-3300FAX (719) 540-1759
Atmel RotissetZone Industrielle13106 Rousset CedexFranceTEL (33) 4-4253-6000FAX (33) 4-4253-6001
Atmel Smart Card ICsScottish Enterprise Technology ParkEast Kilbride, Scotland G75 OQRTEL (44) 1355-357-000FAX (44) 1355-242-743
Atmel GrenobleAvenue de RochepleineBP 12338521 Salnt-Egreve CedexFranceTEL (33) 4-7658-3000FAX (33) 4-7658-3480
Fax-on-DemandNorth America:1-(800) 292-8635International:1-(408) 441-0732
Web Sitehttp://www.atmel.com
BBS1-(408) 436-4309
© Atmel Corporation 2001.Atmel Corporation makes no warranty for the use of íts producís, other than those expressiy contained in the Company's standard warrantywhich is detailed in Atmel's Terms and Conditions located on the Company's web site. The Company assumes no responsibility for any errorswhich may appear in this docurnent, reserves the right to change devices or specifications detailed herein at any time without notice, and doesnot make any commitment to update the information contained hersin. No licenses to patents or other inteüectual property of Atmel are grantedby the Company in connection with the sale of Atmel products, expressiy or by implication. Atmel's producís are not authorized for use as criticalcomponents ¡n Ufe support devices or systems.
MCS ¡s a registered trademark of Intel Corporaíion.
Terms and producí ñames in this documení may be trademarks of others.
Printed on recycled paper.
10Q1D-OB/01/XM
_•__!
DEQIFTOELECTRI I I I ICS
SLOTTED OPTICAL SWITCH
H21A1/2/3
3 SECTION X - X TLEAD PROFILE
SYMBOL
AA,A,
«bb,DD.D,6.
e,EL
«pQSS,T
MIUJMETERSMIN.
10.73.03.0
.600.50 f>
24.311.83.06.92.36.158.003.2
18.9.85
3.45
MAX.11.03232
.750OM.24.712.03.37S2.B6.35
3.419.21.03.75
2.6 NOM.
INCHESMIN..422.118.119.024.020
.957
.457
.119
.272
.091¿43.315.126.745.034.136
MAX.433.125.125.030
fOM..972.472.129.295.110.249
.133
.755
.039
.147.103 NOM.
NOTS
22
3
NOTES:1. INCH DIMENSIONS ARE DERtVED FROM MiLUMETERS.2. FOUR LEAOS. LEAD CROSS SECTION IS CONTROU.ED
BETWEEN 1.27mm (.050") FROM SEMING PLAÑE AND THEENDOF THE LEAOS.
3. THE SENSING ÁREA IS DEFINED BY THE "S" DIMENSIÓNAND BY DIMENSIÓN 'T1 ±0.75mm (±.030 INCH).
The H21A Slotted Óptica! Swftch fe a gallium arsenidelight emitting diode coupled to a silicon phototransistor ina plástic housing. The packaging system is designad tooptfmize the mechanical resolution, coupling effíciency,ambient light rejectíon, cost and reliability. The gap in thehousing provides a means of interrupting the signal withan opaque material, switching the outputfrom an "ON"to an "OFF" state,
Opaque housing
Low cost
.035" apertures
High IqoN]
I P I O E L E C T B D 1 I C SSLOTTED OPTICAL SWITCH
Storage Temperature,Operating Temperature
Soldering:Lead Temperature (Iron) .Lead Temperature (Flow)
1NPUTD1ODECorrtinuous Forward Current .Reverse VoltagePower Dissipation
OUTPUT TRANSISTORCollector-Emitter VoltageEmitter-Colleotor VoltagePower Dissipation
-55°Cto-HOQ'C-55°Cto+100°C
... 240°Cfor5sec.B'«>
... 260°Cfor10sec.'3-4>
... 60 mA
. 6.0 Volts100 mW"
30 Volts.. 6 Volts
PARAMETER SYMBOL. MIN. TYP. MAX UNITS TESTCONDmONS
INPUTDIODEForward Voltage 1.7
Reverse Breakdown Voltage 6.0
Reverse Leakage Currerrt 1.0
OUTPUT TRANSISTOREmitter-Collector Breakdown 6.0 le = 100 ¡lA, Ee = O
Collector-Emitter Breakdown 30 lc = 1 mA, Ee = OCollector-Emitter Leakage 100 nA
COUPLEDOn-State Collector Current See page 3. mA
Saturation Voltage See page 3.
Tum-OnTime See page 3.
Tum-OtTTime See page 3.
fiíírMíwwfcíWíiftHMiMw fSiFMiíiWsilWSWSrífM
1. Derate power dissipation linearíy 1.33m Wf°C aboye 25°C.2. Derate power dissipation linearíy 2.00 rr>W/°C above 25°C.3. RMA flux ¡s recommended.4. Methanol or Isopropy! afcohols ara recommended as oleaníng agents.5. Soldering ¡ron tip 1A^ (I.Smm) 1rom housing.
O F T B E L E C T H I I I I C 5SLOTTED OPTICAL SWITCH
PAHAMETER SYMBOL MIN. TYP.
ON-STATE COLLECTOH CURHENT
H21A1 Icm
H21A2 Icp*,
H21A3 Icm
0.15 —
0.30 —
0.60 —
MAX. UNITS
— mA
— mA
— mA
Blltlfslfc«¿ÍJÍ-jlíííffSííí.S^ E-
TESTCONDITIONB
IP = 5mA, V«
IF = 5mA, VM
IF = 5mA, Vre
= 5V
= 5V
= 5V
H21A1 Iciar»
H21A2 \
H21A3 lcm
1.0 —
2.0 —
4.0 —
— mA
— mA
— mA
lP = 20mA,Vt
IF = 20mA, V,
IF = 20mA, Vc
s = 5V
! = 5V
S = 5V
H21A1 Icm
H21A2 lew,
H21A3 Icp,
1.9 —
3.0 —
5.5 —
— mA
— mA
— mA
IF = 30mA, Vc
IF = 30mA, Vt
IF = 30mA, Vc
S=5V
* = 5V
i = 5V
SATURATION VOLTAGE
H21A2 V,
H21A3 VCS^M,
, .
— —
0.40 V
0.40 V
!P = 20mA,lc
lF = 20mA,lc
= 1.8mA
= 1.8mA
H21A1 VCEPO, — — 0.40 V lF = 30mA,lc = 1.8mA
Tum-On Time t»,
Tum-OtfTime t,
— 8
— 50
— tiS
— jLlS
Vcc = 5V,lp =
Veo = 5V, Ip =
30 mA, R. = 2.5KÍ1
30 mA, RL = 2.5KÍ1
« P T i E L E C T B D K I C SSLOTTED OPTICAL SWITCH
amg10B
1 '§ 2
S i£ .9
S '****
1 1° .08
o 04
3
2
aUl
o{_¡
-NO
RM
AL
//
mw
/¿
e
R
/^
ij i ra to^JTA
- ^X—
1
X--^ —
-NORMALI2EO TO' -Ip»EOmA
_ PULSEOPW= IO&W
.
-H
ED
O
UTP
UT
CU
HR
EN
T
(n _
N
J»
*
»O
rlií ¿
4 6 a 10 20 40 eosotoo 200 4ooeao rooaIfWPin CUHRERT-mA
ST1 129-113.1.OutputGurrentvs.lnputCurrent
NORMALIZED 1Ir_ 1,R mn ,
iPU
p
3O mA-SED
W'KJO^a.p
^S^2'
ro«
TA*25*
RH-lOO p
:i>-"
TW
íí^
KORMÁLIZED TO Vce*5V,iF-aomA,T¿*z5-c
— '
— -
--^=
^^•
—
=~-—
^- '
-— =
p. — •" =. _ >^ -_— .Ip-ZO mA
Pl j= = — ¿I f -
I T "==; IF-5mA
^r^-TA-AMBIENT TEMPERATUBE-'C
/=?g,2. OutputCurrentvs. Temperature ST1l34-ii
OCT»CTOP( nUTTE»
IF 20 inA "~~~ —
IG 3.C raA j
Ip GO TiA j 'C'
•z
^^^~^— =-^=~j •
1F I5mA
-XÍX
íUl
I ioa
S io'
Xo:
\
M"
.1
/
/
/
-*'*"/•/ 1/
f¿
X*
V
*
/
YcE-ZiV
=•S° -" ° M ^ " I0° +¿T -iMBÍ T TEMPÍÍATURETA-AMalENT TEMPERATURE--C T, AMBIENT TEMPERATURE
Fig. 3. Vce&a-, vs. Temperature ST1130-11 ^ Leakage Cu
<fSH
HO
5W
Z 01
H3Z
I
'» A
N°
IOFF
NO
RM
AL
_<
*<>
m
'í
á
io —
t
^^
PW-30
PRR-IOUO II KA
*L'l-l
~X
o/*»
LI1ED TOKA
//
::
^
I
J
¿X
— R
3ix^
*<.I I
^
x
LA -tM-
— o
'
/
-
_
TO'
E3,o¡
i:
o l°
^
00 +•C 7
rrents v¿
^
Z^
^NORMALI2ED TO'
I I I
^,
—
25 +5G +75 -flOC
-.Temperare ST1133-11
78.7 15T.5 236.2 315 393,7
t BLA.ISHIE
.001
T'
/
/
LD
_*
>
//• TO VALUÉ WtTH
REMOVED
t BLACK
R
.r-íEn=r«
r
-
;
RL-LOAD REStSTAMCE-CWWS rf
fig.5. Sw'ítching Speed vs. HL snmai-n ^ R Qtitput Current vs. Dtetance srr1132-11
ANEXO B
PROGRAMA DEL MiCROCONTROLADOR E
ÍNTERFAZ VISUAL, MAPEO DE LA TABLA DE DATOS DE
LOS CARACTERES GENERADOS
B-1.1
Proyecti (lnterfaz_Láser,vbp)
Form (IVIove)
Prívate Sub A_Propos_De_Click()
Dim Reponse
Dim Chaine As String
Chaine = "Laserjnterphase :" + Chr(13) + Chr(10) + "
+ Chr(13) + Chr(10) +"" + Chr(13) + Chr(10) + Chr(13) + Chr(10)
Chaine = Chaine + 'Versión : I_L_V1.1" + Chr(13) + Chr(10)
Chaine = Chaine + "Fecha : 04/12/04" + Chr(13) + Chr(10)
Chaine = Chaine + "Autor: Ing. Max López"
Reponse = MsgBox(Chaine, vblnformation + vbOKOnly, "Información")
End Sub
Prívate Sub alarm_clock_Click()
If Timer4.Enabled <> True Then
Timer4.Enabled = True
Else
Timer4.Enabled = False
Endlf
If Text2(0).Text = "off1 Then
lbl_c!ock.Caption = "Stop Clock"
Text2(0).Text = "on"
Else
lbI_clock.Caption = "Start Clock"
Text2(0).Text = "off'
Text1(0).Text = ""
End Sub
Prívate Sub Combo1_Click()
If Combol Text <> "O" Then
Start_Sequence. Visible = True
B-1.2
Label_S_S.Visible = True
Else: Start_Sequence.Visible = False
Endlf
If Combol = 1 Then
Sequence_1 (O).Visible = True
Sequence_1(0).Enabled = True
Sequence_1(1).Vis¡ble = False
Sequence_1(1),Enabled = False
Elself Combol = 2 Then
Sequence_1(0).Visible = True
Sequence_1(0).Enab!ed = True
Sequence_1(1),Visible = True
Sequence_1 (1 ).Enab(ed = True
End If
End Sub
Prívate Sub Command2_Click()
End
End Sub
Prívate Sub Form_Load()
Dim Chaine_T_1 As String
Dim ChaineA_T_1 As String
Dim Caractere_T_1 As String
Dím CodeCaractere_T_1 As Integer
Dim Caractere_T_1 Lettre As String
Dim Compteur_T_1 As Integer
cond_cont.Text = 1
Timerl .Enabled = True
B-1.3
T¡mer2.Enabled = False
TimerS.Enabled = False
MSComm1.Sett¡ngs = "1200,n,8,1"
MSComml .CommPort = 1
Label_M_R.Capt¡on = "Start Right Moving "
LabelJV1_L.Capíion = "Start Left Moving"
'Combol
Sequence_1 (O).Visible = False
Sequence_1(0).Enabled = False
Sequence_1(1). Visible = False
Sequence_1(1).Enabled = False
Prívate Sub onoff_M_R_CI¡ck()
If Text2(0).Text = "off' Then
LabeI_M_R.Captíon = "Stop Right Moving "
Text2(0).Text = "on"
OnOff_M_L.Enabled = False
Text1(0).Enabled = False
Sequence_Mode,Enabled = False
Static_Word.Enabled = False
Else
Label_M_R.Caption = "Start Right Moving "
Text2(0).Text = "off'
OnOff_MJ_.EnabIed = True
Textl (O).Enabled = True
Sequence_Mode.Enabled = True
Síatíc_Word.Enabled = True
Endlf
End Sub
Prívate Sub OnOff_M_L_Click()
If Text2(0).Text - "off" Then
Label_M_L.Captíon = "Stop Left Moving "
B-1.4
Texí2(0).Text = "on"
onoff_M_R.Enabled = False
TexM (O).Enabled = False
Sequence_Mode.Enabled = False
Stat¡c_Word.Enabled = False
Else
Label_M_LCapt¡on = "Start Left Moving "
Text2(0).Text = "off'
onoff_M_R.Enab!ed = True
Text1(0).Enabled = True
Sequence_Mode.Enabled = True
Static_Word.Enabled = True
Endlf
End Sub
Prívate Sub Sequence_Mode_Click()
Combol .Visible = True
If Combol Text <> "" Then
Start_Sequence, Visible = True
Else: Start_Sequence.Visible = False
Endlf
Stop_Sequence_Mode.V¡sible = True
Label_C_B.Visible = True
Label_S_S_M.V¡sible = True
Text1(0).Visible = False
Sequence_Mode. Visible = False
Static_Word.Visible = False
OnOffJvI_L.Vísíbfe - False
onoff_M_R. Visible = False
Label_M_L.Visible = False
Label_M_R. Visible = False
Label_S_W. Visible = False
Label_T. Visible = False
Label S M.Visible = False
B-1.5
Timer2.Enab!ed = False
End Sub
Prívate Sub Start_Sequence_Click()
íf Text2(0).Text = "off' Then
Text2(0).Text = "on"
Textl (S).Enabled = False
Label_S_S.Caption = "Stop Sequence"
Stop_Sequence_Mode.EnabIed = False
Else
Text2(0).Text = "off"
Textl (S).Enabled = True
Label_S_S.Caption = "Start Sequence"
Stop_Sequence_Mode.Enabled = True
End If
If Timer2.EnabIed = False Then
Timerl.Enabled = False
TimerS.Enabled = False
T¡mer2.Enabled = True
Elself T¡mer2.Enabled = True Then
Timerl.Enabled = True
TimerS.Enabled = True
Timer2.Enabled = False
Endlf
End Sub
Prívate Sub Stop_Sequence_Mode_Click()
Sequence_1 (O).Visible = False
Sequence_1(1).Vís¡ble = False
Start_Sequence. Visible = False
Cpmbol .Visible = False
Stop_Sequence_!\/lode.Visible = False
B-1.6
Label_S_S.Visible = False
Label_C_B.Visible = Faise
Label_S_$_M.V¡s¡ble = False
Textl (O).Visible = True
Sequence_Mode. Visible = True
Static_Word,Visible = True
OnOff_M__LV¡s¡b!e = True
onoff_M_R. Visible = True
Labei_MJ_.V¡s¡ble = True
Label_M_R. Visible = True
Label_S_W, Visible = True
Label_T. Visible = True
Label_S_M.Vísible = True
Tímer2.Enabled = False
End Sub
Prívate Sub Timerí_Timer()
Timer2.Enabled = False
TimerS.Enabled = False
If Text2(0).Text = "on" And Label_M_R.Capíion = "Stop Right Moving " Then
runtop_M_R
Else
If Text2(0).Text = "on" And Label_M_LCapt¡on = "Stop Lefí Moving " Then
runtop_M_L
Endlf
Endlf
End Sub
Prívate Sub Timer2_Timer()
B-1.7
If Text2(0).Text = "on" And Optionl (O).Value = True Then
runtop_Frame1 _M_R
Elself Text2(0).Text = "on" And Option2(0).Value = True Then
runtop_Frame1 _M_L
Elself Text2(0).Text = "on" And Opt¡on3(0).Value = True Then
runtop_s_w_t2
Endlf
End Sub
Prívate Sub Timer3_T¡mer()
If Text2(0).Text = "on" And Opíioñi (1).Valué = True Then
runtop_Frame2_M_R
Elself Text2(0).Text = "on" And Option2(1).Value = True Then
runtop_Frame2_M_L
Elself Text2(0).Text = "on" And Option3(1).Valué = True Then
runtop_s_w_t3
End If
End Sub
Prívate Sub Timer4_T¡mer()
Static AlarmSounded As Integer
If IbITime.Caption <> CStr(Time) Then
Textl(O).Text = IbITime.Caption +"" + "" +""
If onoff_M_R.Enabled <> False Then
If MSComml .PortOpen <> True Then
MSComml.PortOpen = True
End If
Dím CodeCaractere_T_1 As
Dím Chaine_T_1 As String Integer
Dim ChaineA_T_1 As String Dim Caractere_T_1 Lettre As
Dim Caractere_T_1 As String String
Dím Compteur_T_1 As Integer
B-1.8
If Textl (0).Text <> ""Then
Chaine_T_1 = Cha¡ne_T_1 +
Textl (O).Text
Textl (O).SelStart
Len(Chaíne_T_1)
For Compteur_T_1 = 1 To
Len(Cha¡ne_T_1)
Caractere_T_1 = Mid(Chaine_T_1,
Compteur_T_1, 1)
Cha¡neA_T_1 = Caractere_T_1
If Compteur_T_1 = 1 Then
Text3(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 2 Then
Text4(0)Text = ChaineA_T_1
End If
If Compteur_T_1 = 3 Then
Text5(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 4 Then
Text6(0).Text = Cha¡neA_T_1
Endlf
If Compteur_T_1 = 5 Then
Text7(0).Text = ChaineA_T_1
Endlf
If Compteur_T__1 =6 Then
Text8(0).Text = Cha¡neA_T_1
Endlf
If Compteur_T_1 = 7 Then
Text9(0).Text = Cha¡neA_T_1
Endlf
If Gompteur_T_1 = 8 Then
Textl 0(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 9 Then
Textl 1 (O).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 10 Then
Textl 2(0).Text = Cha¡neA_T_1
Endlf
If Compteur_T_1 = 11 Then
Textl 3(0).Text = ChaíneA_T_1
Endlf
Next
Endlf
Text24(1).Text = Text3(0).Text + Text4(0).Text + Text5(0).Text + Text6(0).Text
+ Text7(0).Text + Text8(0).Text + Text9(0).Text + Textl 0(0).Text +
Textl 1 (O).Texí + Textl 2(0).Text + Textl 3(0).Text
Textl (1).MaxLength = 11
Textl (1 ).Texí = Textl (O).Text
MSComml .Output = Text24(1 ).Text
End If
End Sub
'Subrutinas Del Timer 1
B-1.9
'Subrutina De Desplazamiento Hacia la Derecha (TimeM)
Prívate Sub runtop_M_R()
lfText1(0).Text<>""Then
Chaine_T_1 = Chaine_T_1 + Textl (O).Text
Text1(0).SelStart = Len(Chaine_T_1)
If TextSS.Text <> "ok" Then
For Compteur_T_1 = 1 To Len(Ghaine_T_1)
Caractere_T_1 = IVl¡d(Chaine_T_1, Compteur_T_1, 1)
ChaineA_T_1 = Caractere_T_1
If Compteur_T_1 = 1 Then
Text3(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 2 Then
Text4(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 3 Then
Text5(0).Text = ChaineA_T_1
End If
If Compteur_T_1 = 4 Then
Texí6(0),Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 5 Then
Text7(0).Text = ChaineA_T_1
End If
If Compteur_T_1 = 6 Then
Text8(0).Text = ChaineA_T_1
End If
[f Compteur_T_1 = 7 Then
Text9(0).Text = ChaineA_T_1
Endlf
íf Compteur_T_1 = 8 Then
Textl 0(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 9 Then
Textl 1 (O).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 10 Then
Textl 2(0),Text = Cha¡neA_T_1
Endlf
If Compteur_T_1 =11 Then
Textl 3(0).Text = ChaineA_T_1
TextSS.Text =""
Endlf
Next
Endlf
Text34(1 J.Text = " " +
Text33(1).Text = " " +
Text4(0).Text
+ " " " " " " " " " " " " " " + Text3(0).Text
Text3(0).Text
B-1.10
Text32(1).Text = " " + " " + " " + " " + " " + " " + " " + " " + Text3(0).Text +
Text4(0).Text + Text5(0).Text
Text31(1).Text = " " + " " + " " + " " + " " + " " + " " + Text3(0).Text +
Text4(0).Text + Text5(0).Text + Text6(0).Text
Text30(1).Text = "" + "" + "" + "" + " " + " " + Text3(0).Text + Text4(0).Text +
Text5(0).Text + Text6(0).Text + Text7(0).Text
Text29(1).Text = " " + " " + " " + " " + " " + Text3(0).Text + Text4(0).Text +
Text5(0).Text + Text6(0),Text + Text7(0).Text + Text8(0).Text
Text28(1).Text = " " + " " + " " + " " + Text3(0).Texí + Text4(0).Text +
Text5(0).Text + Text6(0).Text + Text7(0).Text + Text8(0).Text + Text9(0).Text
Text27(1).Text = "" + "" + "" + Text3(0).Text + Text4(0).Text + Text5(0).Text +
Text6(0).Text + Text7(0).Text + Text8(0).Text + Text9(0).Text + Textl 0(0).Text
Text26(1).Text = " " + " " + Text3(0).Text + Text4(0).Text + Text5(0).Text +
Text6(0).Text + Text7(0).Text + Text8(0).Text + Text9(0).Text + Textl 0(0).Text
+ Textl 1 (O).Text
Text25(1).Text = " " + Text3(0).Text + Text4(0).Text + Text5(0).Text +
Text6(0).Text + Text7(0).Text + Text8(0).Text + Text9(0).Text + Textl 0(0).Text
+ Textl 1 (O).Text + Textl 2(0).Text
Text24(1).Text = Text3(0).Text + Text4(0).Text + Text5(0).Text + Text6(0).Text
+ Text7(0).Text + Text8(0),Text + Text9(0).Text + Textl 0(0).Text +
Textl 1 (O).Text + Textl 2(0).Text + Textl 3(0).Text
Text23(1).Text = Text4(0).Text + Text5(0).Text + Text6(0).Text + Text7(0).Text
+ Text8(0).Text + Text9(0).Text + Textl 0(0).Text + Textl 1 (O).Text +
Textl 2(0).Text + Textl 3(0).Text +" "
Text22(1).Text = Text5(0).Text + Text6(0).Text + Text7(0).Text + Text8(0).Text
+ Text9(0).Text + Textl 0(0).Text + Textl 1(0).Text + Textl 2(0).Text +
Textl 3(0),Text + "" + ""
Text21(1).Texí - Text6(0).Text + Texí7(0).Text + Text8(0).Text + Text9(0).Text
+ Textl 0(0)Text + Textl 1 (O).Text + Textl 2(0).Text + Textl 3(0).Text + " " +" " +u u
Text20(1).Text = Text7(0).Text + Text8(0)Text + Text9(0).Text + Textl 0(0).Text
+ Textl 1 (O).Text + Textl 2(0).Text + Textl 3(0).Text + "" + " " + "" + ""
Textl 9(1 ).Text = Text8(0).Text + Text9(0).Text + Textl 0(0). Text +
Textl 1 (O).Text + Textl 2(0).Text + Textl 3(0).Text + " " + "" + "" +"" +" "
B-1.11
Texí18(1).Text = Texí9(0).Text + Text10(0).Text + Textil (O).Text +
Text12(0).Text + Text13(0).Text + "" + "" + "" +"" + "" + " "
Text17(1).Text = Text10(0).Text + Textil (O).Text + Text12(0).Text +
Textl 3(0).Text +"" +"" +"" + "" +"" +" " +""
Text16(1).Text = Textl 1 (O).Text + Textl2(0).Text + Textl 3(0).Text + " " + "" +ii n i u 11 i ii ii i u u i n n _t_ ii u
Textl 5(1 ).Text = Textl 2(0).Text + Textl 3(0).Text + "" +"" + "" + "" + "" + "" +
Textl 4(1).Text = Textl3(0).Text + "" + "" + "" + "" + "" + "" + "" +"" + "" +
Endlf
If MSComml.PortOpen <> True
Then
MSComml.PortOpen = True
End If
If Textl 4(1).Visible = True Then
Textl 4(1 ).Visible = False
Textl 5(1 ).Visible = True
MSComml, Output = Textl 5(0).Text
Else
If Textl 5(1 ).V¡s¡ble = True Then
Textl 5(1). Visible = False
Textl 6(1). Visible = True
MSCommlOutput = Textl 6(0).Text
Else
If Textl 6(1). Visible = True Then
Textl 6(1). Visible = False
Textl 7(1). Visible = True
MSComml .Output = Textl 7(0).Text
Else
If Textl 7(1).Visible = True Then
Textl 7(1 ).Visible = False
Textl 8(1 ).Visible = True
MSComml .Output = Textl 8(0).Text
Else
If Textl 8(1).Visible = True Then
Textl 8(1 ).Visible = False
Textl 9(1 ).Visible = True
MSComml .Output = Textl 9(0).Text
Else
If Textl 9(1), Visible = True Then
Textl 9(1 ).Visible = False
Text20(1).Vis¡ble = True
MSComml .Output = Text20(0)Text
Else
If Text20(1).Visible = True Then
Text20(1).Vis¡ble= False
Text21(1).Visible = True
MSComml .Output = Text21 (O).Text
Else
B-1.12
!f Text21 (1). Visible = True Then
Text21(1).Visibie = False
Text22(1).Visible = True
MSComml .Output = Text22(0).Text
Else
If Text22(1).Visible = True Then
Text22(1).VisibIe = Faise
Text23(1).Visible = True
MSComml .Output = Text23(0).Text
Else
If Text23(1).Visible = True Then
Text23(1).Vis¡ble = False
Text24(1). Visible = True
MSComml Output = Text24(0).Text
Else
If Text24(1).Visible = True Then
Text24(1).Visible = False
Text25(1).Visible = True
MSComml .Output = Text25(0).Text
Else
If Text25(1).Visible = True Then
Text25(1).Visib!e = Faise
Text26(1).Visible = True
MSComml. Output = Text26(0).Text
Else
If Text26(1 ).V¡síble = True Then
Text26(1). Visible = False
Texí27(1).Vis¡b[e = True
MSComml.Output = Text27(0).Text
Else
If Text27(1 ).Visible = True Then
Text27(1). Visible = False
Text28(1).Visible = True
MSComml.Output = Text28(0).Text
Else
If Text28(1).Visible = True Then
Text28(1).Visible = False
Text29(1).Visible = True
MSComml .Output = Text29(0).Text
Else
If Text29(1).Visible = True Then
Text29(1).Visible = False
Text30(1).Visible = True
MSComml.Output = Text30(0).Text
Else
If Text30(1).Visible = True Then
Text30(1).Visíble = False
Text31(1).Visible = True
MSComml Output = Text31 (O).Text
Else
If Text31 (1).Visible = True Then
Text31(1).Visíble = False
Text32(1). Visible = True
MSComml .Output = Text32(0).Text
Else
If Text32(1).Visible = True Then
Text32(1).Visible = False
B-1.13
Text33(1).Visible = True End If
MSComml.Output = Text33(0).Text End If
End If
Else End If
If Text33(1 ).Visible = True Then End If
Text33(1 ).Visible = False End If
Text34(1).Visible = True End If
MSComml .Output = Text34(0).Text End If
Endlf
Else End If
If Text34(1 ).V¡sible = True Then End If
Text34(1).Visible = False End If
Textl4(1 ).Visible = True End If
MSComml .Output = Textl4(0).Text End If
TextSSText = "ok" End If
Else End If
End If End If
End If End If
End If End Sub
'Subrutina Palabra Estática (TimeM)
Prívate Sub Static_Word_Click()
if MSComml.PortOpen <> True Then
MSComml .PortOpen = True
Endlf
Text24(1).Visible = True
If Textl (O).Text <> "" Then
Chaine_T_1 = Chaine_T_1 + Textl (0).Text
Textl (O).SelStart = Len(Chaine_T_1)
B-1,14
For Compteur_T_1 = 1 To Len(Chaine_T_1)
Caractere_T_1 = Mid(Chaine_T_1, Compteur_T_1, 1)
ChaineA T 1 = Caractere T 1
If Compteur_T_1 = 1 Then
Text3(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 2 Then
Text4(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 3 Then
Text5(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 =4 Then
Text6(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 5 Then
Text7(0).Text = Cha¡neA_T_1
Endlf
If Compteur_T_1 = 6 Then
Text8(0).Text = ChaineA_T_1
If Compteur_T_1 = 7 Then
Text9(0).Text = ChaíneA_T_1
Endlf
If Compteur__T_1 = 8 Then
Textl 0(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 9 Then
Textl 1 (O).Text = ChaineA_T_1
Endlf
If CompteuMM = 10 Then
Textl 2(0).Text = ChaineA_T_1
Endlf
If Compteur_T_1 = 11 Then
Textl 3(0).Text = ChaineA_T_1
End If
Next
Endlf
End If
If onoff_M_R.EnabIed = True And OnOff_M_LEnabled = True Then
onoff_M__R.Enabled = False
OnOff_M_L.Enabled = False
Else
onoff_M_R,Enabled = True
OnOff_M_LEnabled=True
Endlf
Text24(1)Text = Text3(0).Text + Text4(0).Text + Text5(0).Text + Text6(0).Text
+ Text7(0).Text + Text8(0).Text + Text9(0).Text + Textl 0(0).Text +
Textl 1 (O).Text + Textl 2(0).Text + Textl 3(0).Text
Textl (1).MaxLength = 11
Textl (1 ).Text = Textl (O).Text
B-1.15
MSComml .Output = Textl (1 ).Text
End Sub
'Subrutina De Desplazamiento Hacia la Izquierda (T¡mer_2)
Prívate Sub runtop_Frame1_M_L()
Dim Chaine__T_2 As String
Dim ChaineA_T_2 As Síring
Dim Caractere_T_2 As String
Dim CodeCaractere_T_2 As Integer
Dim Caractere_T_2Lettre As String
Dim Compteur__T_2 As Jnteger
If Textl (3).Text <>"" Then
Chaine_T_2 = Chaine_T_2 + Textl (3).Text
Text1(3).SelStart = Len(Chaíne_T__2)
For Compteur_T_2 = 1 To Len(Chaine_T_2)
Caractere_T_2 = Mid(Chaíne_T_2, Compteur_T_2, 1)
ChaineA_T_2 = Caractere_T_2
If Compteur_T_2 = 1 Then If Compteur_T_2 = 5 Then
Text3(1 ).Text = ChaineA_T_2 Text7(1 ).Text = ChaineA_T_2
End If End If
If Compteur_T_2 = 2 Then If Compteur_T_2 = 6 Then
Text4(1 ).Text = ChaineA_T_2 Text8(1 ).Text = ChaíneA_T_2
End If End If
If Compteur_T_2 = 3 Then if Compteur_T_2 = 7 Then
Text5(1 ).Text = ChaíneA_T_2 Text9(1 ).Text = ChaineA_T_2
End If End If
If Compteur_T_2 = 4 Then If Compteur_T_2 = 8 Then
Text6(1) Text = ChaineA_T_2 Textl 0(1 ).Text = ChaíneA_T_2
End If End If
B-1.16
If Compteur_T_2 = 9 Then
Textl 1 (1 ).Text = Cha¡neA_T_2
Endif
If Compteur_T_2 = 10 Then
Textl 2(1 ),Text = ChaineA_T_2
Endlf
If Compteur_T_2 = 11 Then
Textl 3(1 ).Text = Cha¡neA_T_2
End If
Next
Textl 4(1 ).Text = Textl 3(1 ).Text + "" + "" + " " + "" + "" + "" + "" + "" + "" +
Textl 5(1 ).Text = Textl 2(1 ).Text + Textl 3(1 J.Text +"" +"" + "" + "" + " " + "11 _i_ " " J_ " n -t. " íf
Textl 6(1 ).Text = Textl 1 (1 ).Text + Textl 2(1 ).Text + Textl 3(1 ).Text + "" + ""• n u i u u i u u i u u i u u i u u
Textl 7(1 ).Text = Textl 0(1 ).Text + Textl 1 (1 ).Text + Textl 2(1 )Text +
Textl 3(1 ).Text + "" + "" + "" + "" + " " + "" + " "
Textl 8(1 )Text = Text9(1).Text + Textl 0(1 ).Text + Textl 1(1)Text +
Textl 2(1 ).Text + Textl 3(1).Text + "" + "" + " " + "" +"" + " "
Textl 9(1 ).Text = Text8(1 ).Text + Text9(1).Text + Textl 0(1 ).Text +
Textl 1 (1).Text + Textl2(1).Text + Textl3(1 ),Text +"" + "" + "" +"" +""
Text20(1).Text = Text7(1 ).Text + Text8(1).Text + Text9(1).Text +
Textl0(1).Text + Textl 1(1)Text + Textl2(1 ).Text + Texí13(1).Text + "" + "" + "
Text21(1).Text = Text6(1).Text + Text7(1).Text + Text8(1).Text +
Text9(1).Text + Textl 0(1 ).Text + Textil (1)Text + Textl 2(1 ).Text +
Textl 3(1 ).Text+ "" + "" + ""
Text22(1).Text = Text5(1).Text + Text6(1).Text + Text7(1).Text +
Text8(-í),Texí + Text9(1).Text + Textl 0(1 ).Text + Textl 1(1).Text +
Textl2(1 ).Text + Textl3(1),Text + " " + ""
Text23(1).Text = Text4(1).Text + Text5(1).Text + Text6(1).Text +
Text7(1 ).Text + Text8(1 ).Text + Text9(1 ).Text + Textl 0(1 ).Text + Textl 1 (1 ).Text
+ Textl 2(1 )Text + Textl 3(1 ).Text + ""
B-1.17
Text24(1).Text = Text3(1).Text + Text4(1 ).Text + Text5(1),Text +
Text6(1)Text + Text7(1 ).Text + Text8(1).Text + Text9(1).Text + Text10(1).Text
+ Text11(1),Text + Text12{1).Text + Textl 3(1 ).Text
Text25(1).Text = " " + Text3(1).Text + Text4(1).Text + Text5(1 ).Text +
Text6(1).Text + Text7(1).Text + Text8(1),Text + Text9(1).Text + Textl 0(1 ).Text
+ Textl 1 (1 ).Text + Textl 2(1 )Text
Text26(1).Text = " " + " " + Text3(1).Text + Text4(1).Text + Text5(1).Text +
Text6(1).Text + Text7(1),Text + Text8(1).Text + Text9(1)Text + Textl 0(1 ).Text
+ Textl 1(1).Text
Text27(1).Text = "" + "" +"" + Text3(1).Text + Text4(1).Text + Text5(1).Text
+ Text6(1).Text + Text7(1).Text + Text8(1).Text + Text9(1 ).Text +
Textl 0(1 ).Text
Text28(1).Text = " " + " " + " " + " " + Text3(1).Text + Text4(1).Text +
Text5(1 ).Text + Text6(1 )Text + Text7(1 ),Text + Text8(1 ).Text + Text9(1 ).Text
Text29(1).Text = " " + " " + " " + " " + " » + Text3(1 ).Text + Text4(1 ).Text +
Text5(1 ).Text + Text6(1 ).Text + Text7(1 ),Text + Text8(1 ).Text
Text30(1 ).Text = "" + "" +"" + "" +"" + "" + Text3(1 )Text + Text4(1).Text +
Text5(1 )Text + Text6(1 ).Text + Text7(1 ).Text
Text31(1).Text = " " + " " + " " + " " + " " + " " + " " + Text3(1 ),Text +
Text4(1 ).Text + Text5(1 ).Text + Text6(1 ).Text
Text32(1).Text = " " + " " + " " + " " + " " + " " + " " + " " + Text3(1)Text +
Text4(1 ).Text + Text5(1 ).Text
Text33(1)Text = "" + "" + "" + "" + "" + "" + "" + "" + "" + Text3(1).Text +
Text4(1).Text
Text34(1).Text = " " + " " + " " + " " + "" + " " + " " + " " + " " + " " +
Text3(1).Text
Endlf
If MSComml.PortOpen <> True Text33(1 ).V¡sib(e = True
Then MSComml .Output = Text34(0).Text
MSComml .PortOpen = True Else
End If If Text33(1 ).V¡sible = True Then
If Text34(1 ).Vis¡ble = True Then Text33(1 ).Vísible = False
Text34(1 ),Visible = False Text32(1 ).Visible = True
B-1.18
MSCommlOutput = Texí33(0).Text
Else
If Text32(1 ).V¡s¡ble = True Then
Text32(1).V¡sible = False
Text31(1).VisibIe = True
MSComml.Output = Text32(0).Text
Else
If Text31 (1).Visible = True Then
Text31(1). Visible = False
Text30(1),Visible = True
MSComml .Output = Text31 (O).Text
Else
lfText30(1).Visible = True Then
Text30(1).Visible = False
Text29(1).Visible = True
MSCommlOutput = Text29(0).Text
Else
If Text29(1). Visible = True Then
Text29(1).Visible = False
Text28(1).Visible = True
MSComml,Output = Text29(0).Text
Else
If Text28(1 ).Visible = True Then
Texí28(1). Visible = False
Text27(1).Visible = True
MSComml .Output = Text28(0).Text
Else
If Text27(1).Visible = True Then
Text27(1).Visible = False
Text26(1).Visible =
MSComml.Output = Text26(0).Text
Else
If Text26(1).Visible = True Then
Text26(1). Visible = False
Text25(1).Visible = True
MSCommlOutput = Text26(0).Text
Else
If Text25(1 ).Visíble = True Then
Text25(1).Visible = False
Text24(1).Visible = True
MSCommlOutput = Text25(0).Text
Else
If Text24(1 ).Visible = True Then
Texí24(1).Visible = False
Text23(1).V¡sible = True
MSCommlOutput = Text24(0).Text
Else
If Text23(1).Visible = True Then
Text23(1).Visible = False
Text22(1).Visible = True
MSComml .Output = Text23(0).Text
Else
If Text22(1).Visible = True Then
Text22(1).VisibIe = False
Text21(1).Visible = True
MSComml .Output = Text22(0).Text
Else
B-1.19
If Text21 {1). Visible = True Then
Text21(1).Visible = False
Text20(1).Vis¡ble = True
MSComrnl .Output = Text21 (O).Text
Else
lfText20(1).Visible = True Then
Text20(1).Visible = Faíse
Textl 9(1 ).Visible = True
MSComml. Output = Text20(0).Text
Else
If Textl 9(1).Visible = True Then
Textl 9(1 ).Vis¡ble = False
Textl 8(1 ).Visible = True
MSComml.Output = Textl 9(0).Text
Else
If Textl 8(1 ).Visibie = True Then
Textl 8(1), Visible = False
Textl 7(1 ).V¡sibíe = True
MSComml.Output = Textl 8(0).Text
Else
If Textl 7(1 ).V¡sible = True Then
Textl 7(1). Visible = False
Textl 6(1). Visible = True
MSComml, Ouíput = Textl 7(0).Text
Else
If Textl 6(1).Visible = True Then
Textl 6(1 )A/isible = False
Textl5(1). Visible = True
MSComml .Output = Textl6(0).Text
Else
If Textl 5(1 ).Visible = True Then
Textl 5(1). Visible = False
Textl 4(1 ).V¡sible = True
MSComml. Output = Textl 5(0).Text
If cond_cont.Text = 1 And Combol
= 1 Then
Timer2.Enabled = True
Elself cond_cont.Text = 1 And
Combol = 2 Then
cond_cont.Text = 2
Timer2.Enabled = False
TimerS.Enabled =True
Endlf
Else
If Textl 4(1 ).Visible = True Then
Textl 4(1). Visible = False
Text34(1).Visible = True
MSComml.Output = Textl 4(0).Text
Else
Endlf
Endlf
End If
End If
Endlf
End If
Endlf
Endlf
Endlf
End If
End If
Endlf
B-1.20
End If End If
End If End If
End If End If
End if End Sub
Endif
End If
Modules
ModuSel (Modulel.bas)
Sub mainQ
'Numero de Frames disponibles, max=10
Load Move_Right
N_Frame(0) = "1"
Move_Right.Combo1 .Additem (N_Frame(0))
N_Frame(1) = "2"
Move_Right.Combo 1.Additem (N_Frame(1))
N_Frame(2) = "3"
Move_Right.Combo 1 .Additem (N_Frame(2))
N_Frame(3) = "4"
Move_R¡ght.Combo1 .Additem (N_Frame(3))
N_Frame(4) = "5"
Move_R¡ght.Combo1 .Additem (N_Frame(4))
N_Frame(5) = "6"
Move_R¡ght,Combo1.Additem (N_Frame(5))
N_Frame(6) = "7"
Move_Right.Combo1 .Additem (N_Frame(6))
N_Frame(7) = "8"
Move_Right.Combo1.Additem (N_Frame(7))
N_Frame(8) = "9"
Move_Right.Combo1 .Additem (N_Frame(8))
N_Frame(9) = "10"
Move_Right.Combo1.Additem (N_Frame(9))
B-2.1
Generador de caracteres a partir de diodos láser y un
juego de espejos giratoriosPRINCIPAL EQU 0100H ;RUTiNA PRINCIPAL
DPORT EQU 90H ¡PUERTO DE DATOS P1
DATO EQU 40H ;DATO
ORG OOOOH
AJMP PRINCIPAL ¡PROGRAMA PRINCIPAL
ORG 0013H
ACALL 1JNT1 ¡INTERRUPCIÓN EXTERNA 1
RETÍ
ORG 0023H ¡INTERRUPCIÓN DEL PÓRTICO SERIAL
RETÍ
RUTINA PRINCIPAL *****************************
ORG 0100H
MOV IP,#010H ¡PRIORIDADA LA ¡NT1 YTIMER1
MOV TCON,#OOH ¡INT1 POR NIVEL Y INTAO POR FLANCO
MOV TMOD,#011H ¡TIMER1/0 TEMP/CONT 16 BITS RELOJ
INTERNO
MOV SP,#070H ¡STACKAMITADDELARAM
MOV R4,#05 ¡CONTADOR D DATOS
MOV RO,#DATO
ACALL INIPORT ¡SETEA PARAMATROS PARA LA TX Y RX
ESP_CONECT:
ACALL RECEP
CJNE A,#07BH,ESP_CONECT ¡SI "A" ES "{" -> ÍNTER ON
MOV IE,#084H ¡HABILITAMOS INTERRUPCIONES
MOV A,#07DH ¡CONFIRMA CON"}" LA CONECCION
ACALL ENVÍO
CLR A ¡LIMPIA A
ESP INI:
B-2.2
ACALL RECEP
CJNE A,#02AH,ESPJNI
DATOS:
ACALL RECEP
MOV @RO,A
ACALL ENVIÓ
INC RO
DJNZ R4, DATOS
MOV RO,#DATO
ACALL PULSO LED
. AAAAAAAAAAAAA*A.A.I.A11AJIA*AAAJ.AAA QI |Q ID I ITJKIAQ ***
PULSO_LED:
MOV R3,#03
ESPJNT:
DJNZ R1,ESPJNT
DJNZ R2.ESPJNT
DJNZ R3,ESPJNT
CPL P3.7
AJMP PULSO_LED
RET
********************** RUTINA INTERRUPCIÓN 1 *************************
1JNT1:
MOV TLO,#OOH ;
MOV THO,#OFOH ;
SETBTRO ¡ARRANCA TO
OTRO_DATO:
ACALL COMPARA
JNB TFO,OTRO_DATO
CLR TFO
B-2.3
CLR TRO
MOV RO,#DATO
RET
SUB RUTINAS INTERRUPCIÓN 1
INIPORT:
MOV SCON,#50H iMODOlíSBITS.DATO.I.STOP)
MOV TMOD,#21H ;T1MER1 MOD02.T1MERO MODO1
MOV TH1,#OFFH ;19200 BAUDIOS A7.3728MHZ
MOV TL1,#OFFH ;RECARGA T1MER1
SETB TR1 ; HABILITA TIMER1
RET, i. i. i.Jí A A AJ. A A A A*
RECEP:
JNB Rl,RECEP ¡ESPERA A QUE ENTRE UN DATO
CLR Rl
MOV A.SBUF ;EL DATO INGRESADO LO PONEMOS EN
EL ACUMULADOR
RET
í
ENVIÓ:
MOV SBUF.A ¡LOCOJEMOS DEL ACUMULADOR
CLR TI
ENJDK:
JNB T!,EN_OK ¡ESPERA AQ L DATO A SIDO ENVIADO
CLR TI
RET
COMPARA:
MOV A,@RO
INC RO
CJNE A,#061H,L_BP ;********M!NUSCULASJ
ACALL A MINUS
B-2,4
L_BP: CJNE A,#062H,L_CP
ACALL B_M!NUS
L_CP: CJNE A,#063H,L_DP
ACALL CJVÍINUS
L_DP: CJNE A,#064H,L_EP
ACALL D_MINUS
L_EP: CJNE A,#065H1L_FP
ACALL FJVIINUS
L_FP: CJNE A,#064H,L_GP
ACALL G_MINUS
L_GP:CJNE A,#065H,L_HP
ACALL HJV11NUS
L_HP: CJNE A,#066H,L_IP
ACALL LMINUS
LJP: CJNE A,#067H,L_JP
ACALL J_MINUS
L_JP: CJNE A,#068H,L_KP
ACALL K_MINUS
L_KP: CJNE A,#069H,L_LP
ACALL L_M1NUS
L_LP: CJNE A,#06AH,L_MP
ACALL MJV1INUS
L_MP:CJNE A;#06BH,L_NP
ACALL N_MINUS
L_NP:CJNE A,#OA4H,L_ENIEP
ACALL ENIEP
L_ENIÉP: CJNE A:#OH,L_OP
ACALL O_MINUS
L_OP:CJNE A,#06EH,L_PP
ACALL P_M1NUS
L_PP: CJNE A,#06FH,L_QP
ACALL CLMINUS
L_QP:CJNE A1#062H,L_RP
ACALL R M1NUS
L_RP: CJNE A,#063H,L_SP
ACALL ESEP
L_SP: CJNE A,#064H,L_TP
ACALL T_M1NUS
L_TP: CJNE A,#065H,L_UP
ACALL U_MINUS
L_UP:CJNE A,#064H,L_VP
ACALL V_MINUS
L_VP: CJNE A,#065H,L_WP
ACALL W_MINUS
L_WP: CJNE A,#064H, L_XP
ACALL XJVI1NUS
L_XP: CJNE A,#065H,L_YP
ACALL Y_M1NUS
L_YP: CJNE A,#065H,L_AG
ACALL Z_M1NUS
L_AG:CJNE A1#063H,L_BG
¡MAYÚSCULAS
LCALL A_MAYUS
L_BG:CJNE A,#062H,L_CG
LCALL B_MAYUS
L_CG:CJNE A:#063H:L_DG
LCALL C_MAYUS
L_DG:CJNE A,5¥064H,L_EG
LCALL D_MAYUS
L_EG:CJNE A,#065H,L_FG
LCALL E_MAYUS
L_FG: CJNE A,#064H,L_GG
LCALL F_MAYUS
L_GG:CJNE /\,#QG5H,L_HG
LCALL G_MAYUS
L_HG:CJNE A:#066H,L_IG
LCALL H MAYUS
B-2.5
LJG: CJNE A,#067H,L_JG
LCALL I_MAYUS
LCALL J_MAYUS
L_KG:CJNE A,#069H,L_LG
LCALL K_MAYUS
L_LG: CJNE A,#06AH,L_MG
LCALL LJVIAYUS
L_MG: CJNE A,#06BH,L_NG
LCALL M_MAYUS
L_NG:CJNE A,#OA4H,L_ENIEG
LCALL N_MAYUS
L_ENIEG: CJNE A,#OH,L_OG
LCALL ENÍEG
L_OG:CJNE A,#06EH,L_PG
LCALL 0_MAYUS
L_PG:CJNE A,#06FH,L_QG
LCALL P_MAYUS
L_QG:CJNE A,#062H,L_RG
LCALL Q_MAYUS
L_RG:CJNE A,#063H,L_SG
LCALL RJVIAYUS
L_SG:CJNE A,#064H,L_TG
LCALL ESEG
L_TG:CJNE A,#065H,L_UG
LCALL T_MAYUS
L_UG:CJNE A,#064HJL_VG
LCALL U_MAYUS
L_VG:CJNE A,#065H,L_WG
LCALL V_MAYUS
L_WG: CJNE A,#064H,L_XG
LCALL W_MAYUS
L_XG:CJNE AI#065H!L_YG
LCALL ' X_MAYUS
L_YG:CJNE A,#065H!L_ZG
L_JG: CJNE A,#068H,L_KG
LCALL Y_MAYUS
L_ZG:CJNE A,#063H,FIN_COMPA
LCALL Z_MAYUS
FIN_COMPA:
RET
RETARD:
NOP
NOP
RET
;***LETRAS MINÚSCULAS*"
A_MINUS:
MOV P1,#02H
LCALL RETARD
MOV P1,#017H
LCALL RETARD
MOV P1,#15H
LCALL RETARD
MOV P1,#1FH
LCALL RETARD
MOV P1,#OFOH
LCALL RETARD
MOV P1,#OOH
RET
B_MINUS:
MOV P1,#07FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#011H
LCALL RETARD
MOV P1,#1FH
B-2.6
LCALL RETARD
MOV P1,#OEH
LCALL RETARD
MOV P1,#OOH
RET
C_MINUS:
MOV P1,#OEH
LCALL RETARD
MOV P1,#1FH
LCALL RETARD
MOV P1,#11H
LCALL RETARD
MOV P1,#11H
LCALL RETARD
MOV P1,#OOH
RET
D_MINUS:
MOV P1,#OEH
LCALL RETARD
MOV P1,#1FH
LCALL RETARD
MOV P1,#11H
LCALL RETARD
MOV P1,#7FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#OOH
RET
E_MlNUS:
MOV P1;#OEH
LCALL RETARD
MOV P1,#1FH
LCALL RETARD
MOV P1,#15H
LCALL RETARD
MOV P1,#1DH
LCALL RETARD
MOV P1,#ODH
LCALL RETARD
MOV P1,#OOH
RET
F_MINUS:
MOV P1,#03FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#050H
LCALL RETARD
MOV P1,#040H
LCALL RETARD
MOV P1,#OOH
RET
G_MINUS:
MOV P1;#018H
LCALL RETARD
MOV P1,#03DH
LCALL RETARD
MOV P1,#025H
LCALL RETARD
MOV P1,#03FH
LCALL RETARD
MOV P1,#03EH
LCALL RETARD
MOV P1,#OOH
RET
B-2.7
H MINUS:
MOV P1,#07FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#OFH
LCALL RETARD
MOV P1,#OOH
RET
I_MINUS:
MOV P1,#05FH
LCALL RETARD
MOV P1,#05FH
LCALL RETARD
MOV P1,#OOH
RET
J_MINUS:
MOV P1,#01H
LCALL RETARD
MOV P1,#05FH
LCALL RETARD
MOV P1,#05EH
LCALL RETARD
MOV P1,#OOH
RET
K_MlNUS:
MOV P1,#07FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#OEH
LCALL RETARD
MOV P1,#01BH
LCALL RETARD
MOV P1,#011H
LCALL RETARD
MOV P1,#OOH
RET
L_MINUS:
MOV P1,#07FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#01H
LCALL RETARD
MOV P1,#OOH
RET
M_MINUS:
MOV P1,#01FH
LCALL . RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#OFH
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
B-2.8
MOV P1,#OFH
LCALL RETARD
MOV P1,#OOH
RET
N_MlNUS:
MOV P1,#01FH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#OFH
LCALL RETARD
MOV P1,#OOH
RET
ENIEP:
MOV P1,#01FH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#OFH
LCALL RETARD
MOV P1,#OOH
RET
O_MlNUS:
MOV P1,#OEH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#011H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#OEH
LCALL RETARD
MOV P1,#OQH
RET
P_MlNUS:
MOV P1,#07FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#048H
LCALL RETARD
MOV P1,#078H
LCALL RETARD
MOV P1,#030H
LCALL RETARD
MOV P1,#OOH
RET
Q_MINUS:
MOV P1,#030H
LCALL RETARD
MOV P1,#078H
LCALL RETARD
MOV P1,#048H
LCALL RETARD
MOV P.1,#07FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#OOH
B-2.9
RET
RJVHNUS:
MOV P1,#01FH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#08H
LCALL RETARD
MOV P1,#018H
LCALL RETARD
MOV P1,#OOH
RET
ESEP:
MOV P1,#ODH
LCALL RETARD
MOV P1,#01DH
LCALL RETARD
MOV P1,#017H
LCALL RETARD
MOV P1,#016H
LCALL RETARD
MOV P1,#OOH
RET
T_MINUS:
MOV P1,#07EH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#011H
LCALL RETARD
MOV P1,#OOH
RET
LLMINUS:
MOV P1,#01EH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#Q1H
LCALL RETARD
MOV P1,#Q1FH
LCALL RETARD
MOV P1,#01EH
LCALL RETARD
MOV P1,#OOH
RET
V_MINUS:
MOV P1,#018H
LCALL RETARD
MOV P1,#01EH
LCALL RETARD
MOV P1,#07H
LCALL RETARD
MOV P1,#01EH
LCALL RETARD
MOV P1,#018H
LCALL RETARD
MOV P1,#OOH
RET
W_MINUS:
MOV P1,#01CH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#Q3H
LCALL RETARD
MOV P1,#OEH
B-2.10
LCALL RETARD
MOV P1,#03H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#01EH
LCALL RETARD
MOV P1,#OOH
RET
X_MINUS:
MOV P1,#01BH
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#04H
LCALL RETARD
MOV P1,#01FH
LCALL RETARD
MOV P1,#01BH
LCALL RETARD
MOV P1,#OOH
RET
YJVHNUS:
MOV P1,#038H
LCALL RETARD
MOV P1,#03DH
LCALL RETARD
MOV P1,#05H
LCALL RETARD
MOV'P1,#03FH
LCALL RETARD
MOV P1,#03EH
LCALL RETARD
MOV P1,#OOH
RET
Z_MINUS:
MOV P1,#013H
LCALL RETARD
MOV P1,#17H
LCALL RETARD
MOV P1,#1DH
LCALL RETARD
MOV P1,#19H
LCALL RETARD
MOV P1,#011H
LCALL RETARD
MOV P1,#OOH
RET
A_MAYUS:
MOV P1,#07FH
LCALL RETARD
MOV P1,#QFFH
LCALL RETARD
MOV P1,#OC8H
LCALL RETARD
MOV P1,#OC8H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#OOH
RET
B_MAYUS;
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
B-2.11
MOV P1,#091H
LCALL RETARD
MOV P1,#91H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#06EH
LCALL RETARD
MOV P1,#OOH
RET
C_MAYUS:
MOV P1,#07EH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#OQH
RET
D_MAYUS:
MOV P1,#QFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07EH
LCALL RETARD
MOV P1,#OOH
RET
E_MAYUS;
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#091H
LCALL RETARD
MOV P1,#091H
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#OOH
RET
F_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#Q90H
LCALL RETARD
MOV P1,#090H
LCALL RETARD
MOV P1,#080H
LCALL RETARD
MOV P1,#OOH
RET
G_MAYUS:
MOV P1,#07EH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#081H
B-2.12
LCALL RETARD
MOV P1,#091H
LCALL RETARD
MOV P1,#09FH
LCALL RETARD
MOV P1,#QFH
LCALL RETARD
MOV P1,#OOH
RET
H_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#010H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OOH
RET
LMAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OOH
RET
J_MAYUS:
MOV P1,#02H
LCALL RETARD
MOV P1,#01H
LCALL RETARD
MOV P1,#GFEH
LCALL RETARD
MOV P1,#OFEH
LCALL RETARD
MOV P1,#OOH
RET
K_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#038H
LCALL RETARD
MOV P1,#07CH
LCALL RETARD
MOV P1,#OC6H
LCALL RETARD
MOV P1,#083H
LCALL RETARD
MOV P1,#01H
LCALL RETARD
MOV P1,#OOH
RET
L_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#01H
LCALL RETARD
MOV P1,#01H
LCALL RETARD
B-2.13
MOV P1,#OOH
RET
M_MAYUS:
MOV P1,#QFFH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#030H
LCALL RETARD
MOV P1,#018H
LCALL RETARD
MOV P1,#Q30H
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OOH
RET
N_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#030H
LCALL RETARD
MOV P1,#018H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OOH
RET
ENIEG:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#030H
LCALL RETARD
MOV P1,#018H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OOH
RET
O_MAYUS:
MOV P1,#07EH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#081H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07EH
LCALL RETARD
MOV P1:#OOH
RET
P_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
B-2.14
LCALL RETARD
MOV P1,#088H
LCALL RETARD
MOV P1,#088H
LCALL RETARD
MOV P1,#OF8H
LCALL RETARD
MOV P1,#070H
LCALL RETARD
MOV P1,#OOH
RET
Q_MAYUS:
MOV P1,#07CH
LCALL RETARD
MOV P1,#OFEH
LCALL RETARD
MOV P1,#082H
LCALL RETARD
MOV P1,#086H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07DH
LCALL RETARD
MOV P1,#OOH
RET
R_MAYUS:
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#08CH
LCALL RETARD
MOV P1,#08EH
LCALL RETARD
MOV P1,#OFBH
LCALL RETARD
MOV P1,#071H
LCALL RETARD
MOV P1,#OOH
RET
ESEG:
MOV P1,#062H
LCALL RETARD
MOV P1,#OF3H
LCALL RETARD
MOV P1,#091H
LCALL RETARD
MOV P1,#091H
LCALL RETARD
MOV P1,#09FH
LCALL RETARD
MOV P1,#OEH
LCALL RETARD
MOV P1,#OOH
RET
T_MAYUS:
MOV P1,#080H
LCALL RETARD
MOV P1,#080H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#080H
LCALL RETARD
MOV P1,#080H
B-2.15
LCALL RETARD
MOV P1,#OOH
RET
U_MAYUS:
MOV P1,#OFEH
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#01H
LCALL RETARD
MOV P1,#01H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OFEH
LCALL RETARD
MOV P1,#OOH
RET
V_MAYUS:
MOV P1,#OF8H
LCALL RETARD
MOV P1,#OFCH
LCALL RETARD
MOV P1,#06H
LCALL RETARD
MOV P1,#03H
LCALL RETARD
MOV P1,#06H
LCALL RETARD
MOV P1,#OFCH
LCALL RETARD
MOV P1,#OF8H
LCALL RETARD
MOV P1,#OOH
RET
W_MAYUS:
MOV P1,#OF8H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#07H
LCALL RETARD
MOV P1,#OCH
LCALL RETARD
MOV P1,#07H
LCALL RETARD
MOV P1,#OFFH
LCALL RETARD
MOV P1,#OF8H
LCALL RETARD
MOV P1,#OOH
RET
X_MAYUS:
MOV P1,#OC7H
LCALL RETARD
MOV P1,#OEFH
LCALL RETARD
MOV P1,#030H
LCALL RETARD
MOV P1,#030H
LCALL RETARD
MOV P1,#OEFH
LCALL RETARD
MOV P1,#OC7H
LCALL RETARD
MOV P1,#OOH
RET
Y MAYUS:
B-2.16
MOV P1,#OEH
LCALL RETARD
MOV P1,#1FH
LCALL RETARD
MOV P1,#11H
LCALL RETARD
MOV P1,#7FH
LCALL RETARD
MOV P1,#07FH
LCALL RETARD
MOV P1,#OOH
RET
Z_MAYUS:
MOV P1,#OEH
LCALL RETARD
MOV P1,#1FH
LCALL RETARD
MOV P1,#15H
LCALL RETARD
MOV P1,#1DH
LCALL RETARD
MOV P1,#ODH
LCALL RETARD
MOV P1,#OOH
RET
END
aO
OO
OO
Ob
OO
OO
OO
c O
OO
OO
Od
OO
OO
OO
e 00000
000000
O O
©i -O, O
O011100
11
01
10
11
01
10
11
01
10
01
11
10
OE
1F
11
1F
O
F
0014
31
17
31
15
O
110000
110000
11
11
00
11
01
10
11
01
10
11
01
10
11
11
00
7F
7F
11
1F
OE
00
127
127
17
31
14
O
000000
000000
011100
110000
110000
110000
011100
OE
1F 11 11 00 00
14
31
17 17
O O
000110
000110
01
11
10
11
01
10
11
01
10
110110
01
11
10
OE
1F
11
7F
7F
00
14
31
17
127
127
O
j OOOOOk O
OO
OO
OI
00110
00110
00110
00110
10110
11
11
001100
06 03 7F 7E 00
6
3 127 126 O
110000
110110
1 1
1 100
110110
110110
11
01
10
11
01
10
7F
7F
10
3F
2F
00
127
127
16
63
47
O
0 0 0 0 0 0 0 0 00
0
1 1 1 1 1 1 1 1 FF
255
1 1 1 1 1 1 1 1 FF 255
0 0 0 0 0 0 0 0 00
0
0 m
0 0 0 0 0 0 0 00
0
0 0 0 1 1 1 1 1 1F 31
0 0 0 1 1 1 1 1 1F 31
0 0 0 1 0 0 0 0 10 16
0 0 0 0 1 1 1 1 OF 15
0 0 0 1 0 0 0 0 10 16
0 0 0 1 1 1 1 1 1F 31
0 n
0 0 0 1 1 1 1 OF 15
00000
00000
01110
11
01
11
11
11
11000
01
11
1O
E
1F
15
1D
OD
14
31
21
29
13
000000
000000
000000
111100
110110
110110
110110
110110
1F
1F
10
1F
OF
00
31
31
16
31
15
O
rO
OO
OO
Os
OO
OO
OO
t O
OO
OO
Ou O
OO
OO
Ov 00000
000000
000000
110100
11
11
00
111000
110000,
110000
1F
1F
OC
18
00
00
31
31
12
24
O
O
000000
000000
011100
110000
011000
001100
111000
09
1D
17
12
00
00
9 29
23
18
O
O
110000
111000
110000
110000
110000
110000
01 1000
7E
7F
21
00
00
00
126
127
33
O
O
O
000000
oooooo
11
01
10
11
01
10
11
01
10
11
01
10
01
11
10
1E
1F
01
1F
1F
00
30
31
1
31
31
O
00000
00000
11
01
11
10
11
11
01
101110
00100
10
1E
03
1E
10
28
30
3 30
28
ro
w
isjco
w
w
10
ÍO
fO-1
w-J
-4
O
*"
CD
Oí
o»o
o
o
co
(O
M
Oí
MOí
CO
TI
S
o
8^
TI
OD
03
DO
Om
D3
CD
OO
00
o
oen
m
rn
oo
03
O3
oí
(D
CO
O
O
-
o
oo
--*^^_>.
o
o
-•••k
_i
o
o
—i.
o
-»-*o
o
o
o
0
0
o
o
o
oo
^-io
o
o
^o
o
o
o
_>.
-
^
->o
o
_>.o
o
o
o—i.
-i
0
o
_>,
-
o
-i
o
--*-V^-^
o
0
o
o
o
o
oo
oo
oo
o
0
o
o
o
o
0
o
o
o
oo
oo
oo
0
0
o
0
o
o
0
o
oX
o
o
o
o0
ooN
0
o
0
o
o
Oíto
coOí
coo
CDOí
5
o
S
-4
it
o
O)
Ico
8
0
en0>
K
00
fO
o>co
o
TI
oíTI
oío
oíTI
NiTI
oo
0m
TI
TI
om
oo
03TI
^
O
8o0
O303
0
*
TI
<JOTI
8
o
_».
o
o
0
0
o
o
o
-»•-»•o
o
_>,
o
-o
_^
o
o
oo
o
o
o
o
^-"o
o
_».
o
-o
_i,
o
o
o
o
--*.-».-»•o
o
_>,
o
_i
o
o
^o
-^->o
-»^o
-
o
o
o
o
o
-*0
^-i,
o
^-*o
o
0
o
o
o
o
^0
-"-o
^^o
o
-
o
o
o
o
o
0
o
o
-J-•*o
0
0
o
o
o
o
0
T3
0
o.a
o
0
o
o
o
o
0 8 0 0 0 0 0 0 0
g C g O O O ^ ^ - ^ 0
0 8 0 0 0 0 0 0 0
-*• ^^ ^^ ^^ ^^ f~^ f~^ n
o o O O O O O O O
»íf ¡_ i ._k_ i ._»._» 1 0-*
S ^ - - - - - o -
o
0
oCQ
o
o
oir
o
oo
10
00
20
00
00
30
00
00
40
00
00
50
00
00
60
00
00
0 0 1 0 0 0 0 10 16
0 0 0 1 1 1 1 1 0 3E 62
* 0 0 0 1 0 1 0 1 15 21
0 1 1 1 1 1 1 3F 63 0 1 1 1 1 1 1 1 7F 127 0 0 0 0 1 1 1 0 OE 14
1 1 1 1 1 1 1 7F 127 0 1 0 0 0 0 0 1 41 65 0 0 0 1 1 1 1 1 1F 31
0 1 1 1 1 1 1 1 7F 127 0 0 0 0 1 1 1 0 OE 14
0 1 1
1
1 0
00
00
0 1
0 1 1
1 1
11
1 1
23
67
4F36
10
3 79
0 :
00
01
11
11
01
11
10
03E
36
62 o, 0 0 1 0 1 0 1 15 21
64 0 0 0 0 1 1 0 1 OD 13
1
01
11
11
00
01
11
17B
33
123
51
0+
00
01
0
1
00
11
11
0
0 0
36
OC
E4 0;
0 0 0 1 1 1 0 OE 14
12 0 0 0 1 0 1 0 1 15 21
01
11
0
00
00
0 1 1
00
01
0
0
0 1 1
22
49
4934
73
73
0.
00
00
00
00
1
1 0
1 1
11
1 1
1
1 0
00
01E
1E
O
C
30
30
12
0 .
0 0 1 0 1 1 0 16 22
0 0 0 0 0 0 1 1 03
3
1
01
11
11
01
11
11
0
7F
3612
7 54
- 0 0 0 0 1 1 0 0 OC 12
0 %
0 0 0 0 0 1 1 03
3
0 0 0 0 1 1 0 0 OC 12 0 0 0 1 1 0 0 1 19 25
0 0 0 1 1 0 0 OC 12 0 0 0 0 1 1 0 0 OC 12 0 0 0 1 1 0 1 0 1A 26
0 0 1 1 1 0 0 1C 28 0 0 0 0 1 1 0 0 OC 12 0 0 0 0 0 1 0 0 04 4
0 1 1 0 1 0 0 34 52 0 0 0 0 1 0 1 1 OB 11
1 1
1 1
1 1
1 1
1 1
1 1
1 1
7F
7F12
7 12
7
0 0
0 0
0 0
1 1
0 0
1 1
0 0
0 0
14
14
20
20
0 $
0 0 1 0 0 1 1 13 19
0 0 0 1 0 1 0 0 14 20 0 0 0 1 0 0 0 0 10 16
1 1 1 1 0 1 0 7A 122 0 0 0 1 0 1 0 0 14 20 0 0 1 1 1 0 1 0 3A 58
1 1 1 1 0 0 1 79 121
! 0 1 1 0 1 0 1 1 6B 107
1 0 0 1 0 0 1 49 73 0 1 1 1 1 0 1 1 7B 123 0 0 1 0 1 1 1 0 2E 46
1
00
00
01
01
11
11
0
4F
0679
6
0|
1 1 1 1 0 1 1 7B 123 0#
0 0 0 0 1 0 0 044
0 1 1 0 1 1 1 1 6F 111 0 0 0 0 1 0 1 0 OA 10
0 1
1 1
1 1
1 1
1 1
1 1
0 1
3E
7F62
12
7
0? 1 1 0 1 1 1 1 6F 11
1 0 0 0 1 1 1 1 1 1F 31
0 0 0 0 1 0 1 0 OA 10
1 0 0 1 0 0 1 49 73 0 0 1 0 0 0 0 0 20 32 0 0 0 1 1 1 1 1 1F 31
1
00
00
01
01
11
11
0
4F
0679
6
00
01
1 1
1
0 1
0 0 1
1 1
11
1 0
0 0
01
1 0
6D
4D
78
109
77 1
20
0"
0 0 0 1 0 1 0 OA 10
0 1 1 0 0 0 0 0 60 86
0 0 1 1 0 0 0 0 30 48 0 1 0 0 0 0 0 0 40 64
0 0 0 0 o- 0 0 0 00
0
0 1 1 0 0 0 0 0 60 96
0 1 0 0 0 0 0 0 40 64
1 1 0 0 0 0 0 60 96
¿ o 0 0 0 0 1 1 0 06
6
1 1 0 0 0 1 1 63 99 0 0 0 0 1 1 1 1 OF 15
1 1 0 1 1 1 1 6F 111 0 1 0 1 1 0 0 1 59 89
1 1 1 1 1 0 0 7C 124 0 1 0 1 1 0 1 1 5B 91
1 1 1 0 0 0 0 70 112 0 0 0 0 0 0 1 0 02
2
0 0 1 1 0 1 1 0 36 54
0 1 1 1 1 1 1 1 7F 127
0 1 0 0 1 0 0 1 49 73
0 1 1 1 1 1 1 1 7F 127
0 0 1 1 0 1 1 0 36 54
9 0 0 1 1 0 0 0 0 30 48
0 1 1 1 1 0 0 1 79 121
0 1 0 0 1 0 0 1 49 73
0 1 1 1 1 1 1 1 7F 127
0 0 1 1 1 1 1 0 3E 62
A0
11
11
0B
11
11
10
C
01
11
10
D
11
11
10
E
11
11
10
11
11
01
10
01
11
10
01
11
11
11
11
10
01
11
10
01
11
10
01
13F
FF
C
8 C
8 FF
3F
63
255
200
200
255
63
1
1
00
11
11
11
11
11
11
10
1
1
01
11
1
1
00
11
1
1
00
11
11
11
10
FF
FF
B1
B9
FF
6E25
5 25
5 17
7 18
5 25
5 11
0
11
11
11
1
1
00
00
1
1
00
00
1
1
00
00
1
1
00
00
11
11
11
01
11
10
7E
FF
C3
C3
C3
4212
6 25
5 19
5 19
5 19
5 66
11
11
11
1
10
01
1
1
10
01
1
1
10
01
1
1
10
01
1
11
11
11
1 1
11
1
OFF
FF
C
3 C
3 FF
7E
255
255
195
195
255
126
J1 1 0 0 0 1 1 0 C6
198
1 1 0 0 0 0 1 1 C3
195
1 1 1 1 1 1 1 1 FF 255
1 1 1 1 1 1 1 0 FE 254
1 K
1 0 0 0 0 0 0 co 192
1 1 1 1 1 1 1 1 FF
255
1 1 1 1 1 1 1 1 FF
255
0 0 0 1 1 0 0 0 18 24
0 0 1 1 1 1 0 0 30 60
0 1 1 0 0 1 1 0 66 102
0 L
0 0 0 0 0 1 1 03 3
0 0 0 0 0 0 0 0 00 0
1 1 1 1 1 1 1 1 FF 255
1 1 1 1 1 1 1 1 FF 255
0 0 0 0 0 0 1 1 03
3
0 M
0 0 0 0 0 1 1 03 3
11 0001 1 N
11
1 011 1
11
1 1
11 1
11
O 1
01
111 0001 1
11
0 001 1
11 0001 1
11 0001 1
FF FF
60
30 60 FF
FF255 255
96
48 96 255
255
1 1 1 1 1 1 1 1 FF 265
1 1 1 1 1 1 1 1 FF 255 1 1 1 1 1 1 1 1 FF 2
55
1 1 1 1 1 1 1 1 FF 255 0 0 1 1 0 0 0 0 30 48
1 1 0 1 0 0 1 1 D3
211 0 0 0 1 1 0 0 0 18 24
1 1 0 1 0 0 1 1 D3
211 1 1 1 1 1 1 1 1 FF
255
1 1 0 0 0 0 1 1 C3
195 1 1 1 1 1 1 1 1 FF 255
R
1 1 1 1 1 1 1 1 FF 255
1 1 1 1 1 1 1 1 FF 255
1 1 0 0 1 0 0 0 G8
200
1 1 0 0 1 1 0 0 ce 204
1 1 1 1 1 1 1 1 FF 255
0 S
1 1 1 0 0 1 1 73 115
0 1 1 1 0 0 1 0 72
114
1 1 1 1 0 0 1 1 F3
243
1 1 0 1 0 0 1 1 D3
211
1 1 0 1 0 0 1 1 D3
211
1 1 0 1 1 1 1 1 DF
223
0 T
1 0 0 1 1 1 0 4E 78
1 1 0 0 0 0 0 0 co 192
1 1 0 0 0 0 0.
0 co 192
1 1 1 1 1 1 1 1 FF 255
1 1 1 1 1 1 1 1 FF 255
1 1 0 0 0 0 0 0 co 192
1 U 1 0 0 0 0 0 0 co 19
2
1 1 1 1 1 1 0 0 FC
252
1 1 1 1 1 1 1 0 FE 254
0 0 0 0 0 0 1 1 03 3
0 0 0 0 0 0 1 1 03 3
1 1 1 1 1 1 1 0 FE 254
1 V 1 1 1 1 1 1 1 FF 25
5
1 1 1 1 1 1 0 0 FC 252
1 1 1 1 1 1 1 0 FE 254
0 0 0 0 0 0 1 1 03 3
1 1 1 1 1 1 1 0 FE
254
1 1 1 1 1 1 0 0 FC 252
F1 1 1 1 1 1 1 1 FF 255
1 1 1 1 1 1 1 1 FF
265
1 1 0 0 1 0 0 0 C8
200
1 1 0 0 1 0 0 0 C8
200
1 G
1 0 0 0 0 0 0 co 192
0 1 1 1 1 1 1 0 7E
126
1 1 1 1 1 1 1 1 FF 255
1
1
1
1
0 0
0 1
0 1
0 0
1 1
1 1
C3
DB
195
219
1 1 0 1 1 1 1 1 DF
223
0 H
1 0 0 1 1 1 1 4F 79
1 1 1 1 1 1 1 1 FF
255
1 1 1 1 1 1 1 1 FF 255
0 0 1 1 0 0 0 0 30 48
0 0 1 1 0 0 0 0 30 48
1 1 1 1 1 1 1 1 FF
255
1 I
1 1 1 1 1 1 1 FF 255
1 1
1 1
1
1
1
1
1
1
1
1
1
1
1 1
FF
FF25
5
255
N0 1 1 1 1 1 1 1 7F 127
1 0 1 1 1 1 1 1 BF
191
1 0 0 1 1 0 0 0 98 162
0 1 0 0 1 1 0 0 4C 76
0 1 1 1 1 1 1 1 7F 127
1 0
0 1 1 1 1 1 1 BF
191
0 1 1 1 1 1 1 0 7E
126
1 1 1 1 1 1 1 1 FF 255
1 1 0 0 0 0 1 1 C3
195
1 1 0 0 0 0 1 1 C3
195
1 1 1 1 1 1 1 1 FF
255
0 P
1 1 1 1 1 1 0 7E 126
1 1 1 1 1 1 1 1 FF 255
1 1 1 1 1 1 1 1 FF 255
1 1 0 0 1 0 0 0 C8
200
1 1 0 0 1 0 0 0 C8
200
1 1 1 1 1 0 0 0 F8 248
OQ
1 1 1 0 0 0 0 70 112
0 1 1 1 1 1 1 0 7E 126
1 1 1 1 1 1 1 1 FF 255
1 1 0 0 0 0 1 1 C3
195
1 1 0 0 0 1 1 1 C7
199
1 1 1 1 1 1 1 0 FE 254
0 1 1 1 1 1 0 1 7D 125
W1
10
00
11
X1
10
01
1Y
11
00
11
Z1
11
11
11
10
00
11
1 1
00
01
11
10
00
11
1 1
01
01
11
10
10
11
O 1
11
11
0O
11
01
10
FC
FF
03
OE
03
FF
FC
252
255
3 14
3
256
262
11
00
11
01
11
10
001100
010010
11
00
11
11
00
11
11
00
11
C7
E
F
30
30
E
F
C7
199
239
48
48
239
199
11
00
11
11
11
11
01
11
10
001100
001100
0011 00
0011 00
EO
FO
3F
3F
FO
EO
224
240
63
63
240
224
11
11
11
0001 10
0001 10
01
11 00
11
10
00
11
11
11
11
11
11
C7
C
F
CF
F
B
F3
C
3
199
207
207
251
243
195
Vcc_l
Mcr
op
roce
sed
or
^ «
ui
d=
c»
X
13
3p
l
Vec
LJLT
Indi
cado
r de
fu
nci
on
amie
nto
Inle
mjp
cio
n E
xter
na
Inte
rrup
ción
Exl
emaj
llnd
lcad
ord
elu
ncl
ora
mle
nto
R
eset
1N1
OU
T1
1HJ
OU
T2
INS
O
UT
3O
UT
4IN
5
OU
15
OU
7?IN
7
OU
T7
ina
oun
ic
x-ij-
^ 11
C1* ci-
ca*
- C2
-
T1I
NT
2IN
T
20U
T
Cl»
01-
C2*-
CJ-
C1+
C
2-
V-
V»
Vcc
10 U
F ^T<
--
T-x
. x-p
* JC
l-
C2-
TC
C.I
CO
NN
EC
TO
R D
Q9
Max
Edu
ardo
Lóp
ez C
riollo
Gen
erad
or d
e ca
ract
eres
a p
artir
de
diod
os lá
ser y
un
jueg
o de
esp
ejos
gira
torio
s
Doc
umen
t Num
ber C
ircui
to d
e co
ntro
lD
ate:
She
etA
bril
200
51
of1
Rev
Top Related