FASE I 1 - TESIUAMI

Anuncio
129679
UNIVERSIDAD AUTONOMA METROPOLITANA
UNIDAD IZTAPALAPA
/
PROYECTO DE INGENIERIA ELECTRONICA t
k&i,U4
DE LECTURA POR REFLEXION
FASE
I1
JÁLURINO: JOSEALBERTOCARRlLLO ROJAS)
ASESOR: ADRIANO DE LUCA PENACHIA
TRIMESTRE :91-O
I
CONTENIDO
....................................................................................... 4
1NTRODUCClON ............................................................................. 5
RESUMEN
DETECCION DE IMAGENES ............................................................
MODO DE DETECCION
Y
...................................................................
6
.................................................
7
JUSTIFlCACION DEL PROYEflO
DESCRIPClONDEL PROYECTO
SISTEMA MECANICO
5
................................................... 8
.........................................................................
8
SlSTEMA ELECTRONIC0 ..................................................................
9
SISTEMA DE PROGRAMAS ..............................................................13
FUNCIONAMIENTO DEL SISTEMA
RESULTADOS
.............................................. 14
..........................................................................
......*1 6
....................................................
16
EFICIENCIA DEL SETE '/I.*\ MECANICO .....................................
16
EFICIENCIA DEL SISTEMA DE LECTURA .................................
17
SENSlBILIDAD DEL DETECTOR
EFICIENCIA DEL SISTEMA DE IMPRESION ..............................
17
................................
EFICIENCIA DEL SISTEMA DE MENUS ......................................
CAPACIDAD DEL SISTEMA DE BARRIDO
3
lJ. EMPLOS
18
18
..............................................................................................
19
OBSERVACIONES
..........................................................................
2
20
RESUMEN
En
esta scgunda fast dcl proyccto ~~amadcr
'sistema
de k&tura por
refiexih", se diseñu y construye un sistema para deteccicin de imrigenes de
alta rcaolucion, es ~ J I Isistema yuc pcrmitc la digitalizacidn cn aka rcsoiuci6n
de una imagen impresa, pan1 ser almacenada en iÍi memoria del mismo
sistcrna quc &más cucnta con un sistcma dG imprcsirín, cl cual pucdc
trabajar con distintos tipos de puntas para imprimir y aprovecha el mismo
sistema meciinico empleado en Is detecci6n por bnrrido de imagen. El
sistcrna prctcndt scr un ejcrnpio do un mods dc rclaiizar la digitaIizxi6n d c
imagenes impresas mediante dispositivos 6pticos baratos y de muy baja
rcsolucicín, ayudado por un sistema mcc5nic.o yuc hcilita cl barrido dc la
imagen y que adem& integrado al mismo sistema permite aimscenar en in
mcmoria una irnagcrn pcqudh para pset~riormcntcreproducirla mcdiante cl
sistema de impresidn de plumilín. El nuevo sistcmri mejora lbs camcter&Axis
del sistema de ifeteccidn impíemerrtado en la primera fase, aumentando la
rcscrluci8n d d sistcrna me&nico, aumsnhndo la rcsoiuc.ii5n del sistema dc
rieter.cibn, implementando un sekctor de rrivei umbral para ia deteccit5n de
distinta intcneidadcs de gris, c impismsnhndo un nucvo programa dc
interfast3 para usuarios.
En rcsumcn el sigtcma es una m5quina ix~pazde itucer detocci6n d~
imdgenes, guardar imfigeftesdigitolizwdss en sil propiti memoria, imprimir los
&tos guardados en SU rnemoriii, y funcicsitrir wmo gra€ic.ador de lineas y
dibujos (plot tcr).
IN TRODU C CION
Los sistemas de detecciin de imjígenes existen desde hace: varios años,
y con el tiempo se han ido mejorando aumentando la resolución y rapidez en
Iu detección. Los aparatos que realizan detección dc irnagenes van desde
fotocopiadoras hasta los pequeños scanners dom6stkos que existen hoy en
día, que se conectan a una microcomputadora, la cual recibe las imágenes
digitalizadas. E
l propósito en este proyecto no es sustituir este tipo de
aparatos, sino mostrar un modo en que se puede realizar la digitalización de
imágenes dejando íos datos dentro del mismo sistema a disposición del
usuario, utilizando dispositivos baratos y de baja resolución y un sistema
mecánico que permite hacer el barrido de irnigenes ient;imtnte pero con
eficiencia, y que además con un programa adecuado puede usarse para
detección de pianos para posteriormente dibujarlos en su modo de plotter
reproduciendolosa diferenteescala.
DETECCION DE IMAGENES
Existen dispositivos que permiten realizar la detección de imagenes
impresas o la detección de presencia de un material por medio de captación
de luz,ya sea directa o reflejada. Algunos dispositivosconsisten en una matriz
de photodetectores, como los de la familia 10500 que se usan para máquinas
fotocopiadoras o para monitoreo en blanco y negro para subsistemas de
scanning, o para el posicionamientode sistemas industriales. Este dispositivo
tiene una área activa de 1.7Smm2 o puede usarse por cuadrantes para alta
agudeza del sensor de 0.66rnm2por cuadrante, el dispositivo completo tiene
8mm de diámetro y tiene un fotodiodo y amplificador operacional. La
longitud de onda pico de detecci6n es a 850 nm pero pueden usarse iiltros
para cambiarla.
Otro tipo de disopositivos de mayor resoluci6n se utilizan para los
sitemas de scanning, los cuales detectan irnagenes por reflexión, por ejemplo,
existe un dispositivo yiie capta 8 puntos por m m y dB valores de blanco y
negro ademas de 3 tonos medios de gris, como fuente de luz utiliza un diodo
emisor de luz amarillo-verde.
MODO DE DETECCION
Cuando se hace la lectura sobre un material opaco, obviamente se
dificultaría mucho hacer la lectura atrnveznndo e1material con algún tipo de
luz. En este caso una opción viabie y poco costosa cs realizar la lectura por
refiexión de luz, ya que si estamos hablando de la lectura de figuras o puntos
en blanco y negro, podemos detectar la presencia de tales figuras por la
cantidad de luz reflejada por el papel pintado de negro en contraste con el
papel blanco o de un color muy claro. En caso de renlizir la detección
utilizando un emisory un detector de luzinfrarroja, la situación es parecida ya
que las imágenes negras u obscuras absorben la luz infrarroja con mayor
facilidad que las imagencsclaras.
E n el caso que nos ocupa se decidió hacer la lectura para imagenes en
blanco y negro, sobre papel opaco, y tornando en cuenta cuatro posibles
niveles umbral para la detección de diferentes intensidades de gris. Por
programa se decide que nivel umbral va a utilizarse. Este Último punto
permite hacer una discriminación muy sencilla, y3 que sdo se permiten
valores bintirios de lectura, negro y blanco, o 1y O, pero ocaciona que para un
nivel umbral alto las intensidades bajas de negro detectado serán desechadas
y serBn leídas como blanco, con lo cual se producen errores, y para un nivel
umbral bajo las intensidades altas, medianas y ba,ias de gris serán tornadas
como negro produciendose errores, por Io cual puede leerse varias veces una
imagen con diferente sensibilidad para l a captacian dc las diferentes
intensidadesde gris. También podría implemcntarse un programa que realice
In deteccihn seleccionando sucesivamente tres niveles iimhinles para un sólo
punto y guardar la información en dos bits por punto, lo cual permitiría
detectar una imagen con tres niveles de gris adem& del bhnuo.
Pueden producirse errores en varias situaciones a1 usar este sistema
binario de lectura o detección, por ejemplo, cuando la tints usada en la
impresión no sea lo suficientemente oscura en una zona de la imagen o en
toda ella, o cuando el detector quede enfocando un área que contiene una
porción negra y otra blanca y ci detector detecte un nivel bajo de negro, lo
cual puede ocurrir con líneas más delgadas que el arta de enfoque del
detector, o cuando el detector no se posiciona exactamente sobre el punto
negro.
Para realizar la lectura sobre un área dc ciem extensión se requiere
de mover el o los detectores sobre toda el área, esta es otra razdn para llevar a
cabo el proyecto de lectura de imagenes, ya que se c.uent:t con un aparato
construido como proyecto de la materia de sistemas iligitnies 3 y que tiene ya
6
el mecanismo para hacer movimientos sobre una hoja cic papcl, como se
describe en el capítulo de descripción del proyecto.
JUSTlFlCAClON DEL PROYECTO
La justifimción para esta fase del proyecto, son las necesidades que
surgieron en la realización de lo fase anterior del sistema de detección de
imágenes, donde se encontró que para que el sistema fuera de alguna utilidad
práctica, era necesario demostrarque se puede lograr con un sistema detector
de este tipo la digitaiización de irnigenes a una resolución respetable y una
sensibilidad de detección alta y manipulable, es decir, que su Euncionamiento
sea comparable a l de otros sistemas de detección de imágenes, aunque existen
sistemas de rcsoiuci4n mucho mayor y de muy alta velocidad de operacien.
Se trata de un proyecto de diseño y realizacicín, donde se involucran
áreas de desarrollo que corresponden al perfil académico y profesional de un
ingeniero en electrónica, ya que se involucran conocimientos y habilidades
adquiridas dentro de la carrera de ingeniería electrónica y se trabaja en
campos estrechamente ligados con ia labor del ingeniero, como electrónica de
sistemas digitnles, sistemas de control, in terfases de mediana potencia,
dispositivos optoelectrónicos, sistemas meciinicos sencillos, circuitos
controladoresdemotores, etc.
Se trata de un proyecto sencillo en cuanto a diseño, ya que
basicamente se encuentra construido la mayor parte del aparato, y son pocos
los circuitos, aparatos, programasy adaptaciones que se requieren para llcvar
a cabo el proyecto, pero, se trata también de un proyecto sumamente difícil
en cuanto a realizacicjn, ya que involucra muchas dificultades tecnicas, sobre
todo de tipo mecanicas, c 2, disponibilidad de componentes y de
construcción de algunas partes, tareas todas ellas que de no llevarse a cabo
con la suficiente precisión, simplemente sería imposible cumplir con los
objetivos del proyecto.
7
.
.
"
,
.
.-
DESCRIPCIQN DEL PROYECTO
E.1 sistema comp?cto puede describimc
como tres subaistcrna8, tl
sistema mecrinico, el si:;tettin electrcjnicú y eldc.trico y el sistema de
progra mas.
GISTEMA MECANICB
El sistema mednico permite la reslizaci6n de movimientos en dos
sobre un cjc mucvc el carro dc 1a plumilla y cl dctcctor, cn forma
transversal ai papel y ~ U C V Ccl papel ,so,brc ci útitu cje. adcmds ticnc dos
posiciones para la p!umilia de ímpresibn. En fa figurn í se muestra un dibujo
dcl sistema mccánicu cornplcrn,
+s.
EI sistema del carro de la plumilla y el detector est& formado pot un
cjc constituido por dos varillas prtralclas dc accm dc media pulpida dc
dihrnetro y de SO cm de 1Cirgíí sobre las cuaies corren dos buges (dispositivos
embalades) que sostienen et c3rrca de 13 plumilla y el detector, et cud esta
contruido con aluminio, el detector se enc.uentm atornillado al carro y
permite ajustar su altura por medio del tornillo, mienttw que In plumilla se
cncoentra su,jcta al clcctrr'irnan qiic la rnanc,jrt y estc cst5 pegado al carro, la
plumilla es desmontable para hcilitrtr su crrmhio. El carro se desliza
suavemntc wbrc las varillas de acero y esta sujzto a una banda de; t&
cthufacta muy blanda y flexible, lu cual llega a una polea en cada extremo. Una
dc cstas poleas csttr su,icta dircchmcntc al motor de pasos y la otr3 gira
librcmmtc.
El sistema de avance del pnpel consiste en dos rodillos de 4Scm de
largo, el rodillo inferior da media pulgada dt Jihctro cn sus gomas y cl
rodillo superior o pisapitpel de un cuarto de puigada de diiímetro en sus
gomas. Las gomas Jcl rodillo supcrior 3c i.tc.argan cn las del inferior. El
rodillo inferior gira gracias a que tiene una pequefirt polen de media pulgada
de ditimetro Gn uno de SUB extremos d o n d ~una pGqueiia banda dc hule lo une
a l a polea del otro motor de prism.
El posiciónúdúr de lfi piurnilia es una pieza de plbsricó que permite
quc; GI clcctroimun muova la pfumiih hacia abajo, mientras que un rcsortc 1u
sube cus~ldoel electmiman la libera.
SISTEMA ELECTRONIC0
El sistema eletrónico y eléctrico consiste en el kit del 8W1, los puertos
de entrada y salida, el circuito de control de motores y electroiman,.los
motores y et eiectroiman, el circuito de lectura, el detector, los sensores y las
fuentes de alimentación. En la figura 2 se muestra un diagrama del sistema
electrónico cornpI eto.
El kit del 8031es un sistema basado en el microcontrolador 8031, que
tiene una memoria EPROM de 4 Kbytes y una memoria RAM de 8 Kbytes,
tiene un controlador de displays y teclado, En In figura 3 se muestra un
diagrama del kit del 8031.
PUERTOS
Los puertos del sistema son 4. Para el circuito control de motores y
electroiman se utiliza el puerto uno del kit del 8031 como puerto de salida
directamente. Para la entrada del regitro de lectura se utiliza un puerto de
entrarla con i:1 direcci6n 3ofNW, e1 registro de lectura es un registro de
entrada serial y salida paraiela y sc encarga de guardar un byte leido por 21
ciixuito de lectura, la seña1de carga del registro de iectum viene del puerto
uno a través d<:un buffer de tres estados que es habilitado por el comando
L Z C ~puerto
G ~ de comandos. Para la salida de comandos de lectura y escritura
se utiliza un puerto de salida en la direccihn 3OOií-I, utilizandose un registro
de 4 bits. Y para la entrada del registro de sensores de 4 kits se utiliza un
puerto de entrada en la dirección 3QOOH. En la figura 4 se muestra un
diagrama del sistema de puertos de entrada y salida.
-
El circuito de control de motores y electroiman recibe los datos de
entrada del puerto 1 del sistema. Se trata de dos registros de corrimiento
bidireccionaies que dán la secuencia de salida para manejar a través de
transistores de potencia dos motores de pasos. El circuito funciona de la
siguiente manera, el registro de corrimiento se inicializa mediante el
comando IN, recibe u ~ entrada
a
de reloj CLK, y una entrada de dirección
DIR, además recibe un comando habilitador de direccicjn EN para evitar que
se altere e1 registro cuando se hacen cambios de dircccidn, y recibe una
Ultima entrada de apagado OFF, para dejar despolarizado el motor y que
pueda ser movido libremente, ya que a'l estar polarizado el motor, se
mantiene en su posición gastando corriente, impidiendo ciue pueda ser
Y
movido manualmente. Para el motor 1 que mueve e! c a m se tienen todos
estos comandos y para el motor 2 se tienen estos mismos excepto tos
comandos EN y OFF. E n la figura 5 se muestra un diagrama del circuito
wnt.roladordz:motorcs.
El electroiman es manejado por un transistor, que recibe la sefial a
través de un optoacoplador para evitar interfcrencias al sistema por el
electroiman. La sefial quc recibe es común p a p el registro lector y el
electroim-lgero pasa a trav6s de un buffer de 3 estados habilitado por el
comando &c,que proviene del puerto de comandos.
Se utilizaron dos motores de pasos iguales, unipolares de 24V con
tierra común, de 0.8 A por fase. De 200 pasos por revolución O 'l.8'por paso.
El electroiman utilimdo es de 12Vy O.$&
El circuito de lectura recibe la señal del phototransistor detectory es
amplificada por dos transistores, uno alimentado con 17Vy el de salida con
517, la salida de este arreglo va a las entradas de 4 comparadores los cuales
tienen diferentes niveles umbral. Las salidas de los comparadores van a un
mu1tiplexor de cuatro entradas, cuyas entradas de seleccidn vienen dcl puerto
de comandos, con las cuales se selecciona por programa el nivel de
sensibilidad requerido. La salida del multiplexor va a la entrada sedal del
registro de lectura. En la figura 6 se muestra un diagrama de1 circuito de
lectura.
DETECTOR
Para la detcccicín se utilizaron un diodo emisor de infrarrojo y un
phototransistor, como H observa en la figura 7, el espectro de la mdiaci6n
infrarroja del diodo s t encuentra entre 0.8 y lnm. En esta misma figura se
observa el espectro de detección del phototransistor, el cual es mucho mhs
amplio que el del diodo, j-abarca desde la luz visible hasta más alla de la
regiíin infrarroja, alcanzando su maxima sensibilidad muy cerca del maximo
de intensidad de radiacirjn del diodo emisor de infrarrojo.
L a razón por la que no se utili26 luz visible para la Jeteccion por
reflexión es que en ese c a w habria una mayor probabilidad de interferencia
10
por ia luz arnhicntal y adcrniis s c rcqucrirh dc un siispsi tioo Gspccialrncntc
sensible para luz visible, y el phototransistor aunque es sensible íi la luz
visitle, la es mucho menos que n la radiacih infmrrojti, lo yue disminuye 1u
probabilidad dc intcrfcrcncia por 13 luzvisibln Todavía cxistc cl problcrna dc;
I
U inte..rf&ncin por luz srtific-id,y" que como
(I~SWYB en la mismil figura 7,
cl espcc.tro dc cnisi6n dc una limpam incandcswntc sic Tungsteno CK muy
parecido 01 espectro de detecci6n del phototransistor. Por fortuna se prob6
quc sc ncccsita una intcnsidad alta y una rcflcxi6n muy cspl;i;ial para que la
luzartific.iai p u a ~ aucacionar una interferencia significativa con e1sistema de
detecc.idn,debido p?incipaher?teB que los dispositivos estdn protegidos por
cl cstuchc dc protccc.iony cnfcrguic.
El diodo emisor de infrnrrojoy el phototransistorutiliznúos son un par
acoplado, c.ataiopdo wrno OPB703A, muy parecidos cn caractcristicas al
d i d o TIL32 y al phototransistor TIL78. Ambos dispositivos ~stdn
enc.apsulsdos cn un material piastigo transprtntz con forma de icntc
convexa, sin casquillo medtico, y son de dimensiones iguales, :;us dimensiones
son 53mm de longitud del encapsulodo, y 3mm da ditimetro. E.stos
dispositivos se csc.ogioronen base a pruebas dc stnsibilidnd que s t realiziron
con el circuito de lectura que se utili26 para ei sistema, mostrado en íu figura
6, cn estas pruebas fueron de 10s que mostraron mayor sensibilidad, y dentro
Je las de mayor sensibilidad, fueron los fn6s p~quefios.Lu figura 8 muestra
u ~ rgráfica
t
1ogarltmic.aiic sensibilidad en mA w n t m distanc.iz?en pulgadasde
nmhú:: dispositivos colocados frente a frente (proporcionada por los
tatibrican tesj. ~ e b emencionarse que estos dísposiiivos son recometxirtiios
para USI?L'SO c . ~ r n
dctec.torcs
~
de pítiizncia dc c.inta o rcrmin;ic.í6n dc papd,
pero se ha probado en el presente proyecto que pueden ser utilizados para
medir niveles dc rcfisxión dc mdiacibn infrarro,ia.
En las figuras 9 y 10 se obsewan Ins patrones de rndiacidñ y deteccihn
dcl diodo y d d plrototransistor rzapcctivamcnt.c, s.c observa que c1 p a t r h dc:
radiaciún del diodo es m6s angosto que efdel phomrrnnsistor, sin embargo los
patrones de mdinci6n de ambos dispositivos son demasiado amplios para los
propsitos dr est:: proy~ctc,por lo que cs nrccsario lirnikries $uhaz para quc
detecten la rndiacih reflejada en una superficie rectbngular de 0.2mm por
lado, Esta carwtmístka ncccsaria para ohtcncr ilna alta resolución hase
necesario que íos dispositivos se encuentren muy cercanos entre si+ya que el
Arca dc rcfkxien cs muy pcquoila, y por io tanto la cantidad de; radialcicín
emitida y recibida p r e l phototransistor tiímbidn 10es, adem6s se requiere de
mucha presicih en 1ú posicicin de l o s dispositivos para Lograr la m6xima
sensibilidad y un ,711g~locasi pcrfGcto de rcfkxirSn. Los dispositivos sc
enfocaron por medio de un estuche de material pidsticio cuyo diagrama se
muestra r=n la iigura 11. En esta figura se observa que los dispositivos e s t h
i_-lcieiitados
ert un h g u l o be aproxirnadamentz 7S*y sus hrices st? encuentran a
una distancia dc aproximadamente 2mm, la radiación es guiada por dos tubos
de hule negro con un diirnetro interior de O,Smm que se unen en un so10
orificio limitado P la forma rectangular de 0.35mm por lado, que aunque es
más grande que la resolucih requerida, no causa problemas porque la mayor
sensibilidad se encuentra en el centro del orificio. El estuche que sc muestra
en la figura est3 formado por dos piezas de resina epÓsica que se unen con un
tornillo corto, ambas piezas mantienen los dispositivos
SU lugar,
permitiendo que sean remplazados en caso necesario. El estuche sirve pam
evitar la entrada de luz hacia el phototransistory también para evitar el paso
de radiacisn entre ambos dispositivos en forma directa, además evita la salida
de l a radiación del diodo que pudiera ser reflejada de alguna manera e
interferircon el detector. Las piezas del estuche dc protecci6n esdn pintadas
de negro mate por ambos lados, ya que la =sino ~ p r j x i ~utilizada
a
permite el
paso de l a radiaciírn infrarrcija,y no así In pintura negra.
El diodo emisor de infrarrojo esta polarizado con una fuente de 17V a
tr:iv&s de una resistencia de 1K y el phototransistor esta polarizado con la
misma fuentede 17Vy su salida, es decir, su emisor va al circuito de lectura.
Se utilizaron dos sensores de posiiciOn pal2 evitar el c8óyue del carro
de la plumilla y el detector contra los estremos del eje sobrc el cual corre. Se
trata de dos interruptores que son activados por el carro al llegar a un
extremo de su ejc, ai cerrarse la señal s t va a 017 y es enviada a1registro de
sensores del puerto de la direwi6n 30(MH.
Se utilizó una fuente dc aIimentsci=i6nregulada de SV y 2A para el kit
del 8031 el circuito controlador de motores y el circuito de lectura. Una
fuente 119regulada de 24V y 3A pars ¡w motores. Una fuente no Egulada de
17Vy1A para el electroirnan y el dctecrw.
12
i
SISTEMA DE PROGMMAS
Como graficadortiene un programa de aplicaci6n que permite realizar
dibujos. por ahora s6lo acepta líneas de cualquier inciinacisn y recthgulos
orientados con los ejes del aparato. Para utilizarlo se requiere de grabar las
coordenadas de las figuras a realizarse junto con la clave de la figura. Las
coordenadas están en una escala especial que utiliza dos bytes para cada
coordenada en X o en Y , es decir cuatro bytes para las coordenadas de un
punto. La manera de dar Is coordenada es de OOH 8 FFH en el primer byte y
de OOH a 03H en el segundo byte, de manera que el máximo alcance por
medio de este sistema es de loo0 puntos en cada eje.
El aparato tiene una resoiuci6n de 50 puntos por cm o 127puntos por
pulgada en e1eje x o en el eje y, lo cual permite ubicar 2500 puntos dentro de
una cm cuadrado, o 16000puntos dentro de una pulgada cuadrada.
La capacidad de ia memoria est5 limitada a 8Kbytes, lo que permite
grabar muchos dibujos, ya que: una fínea utiliza 9 bytes, af igual que un
rectángulo, por lo que caben un poco m5s de 8mfiguras de este tipo.
Se trata de un programa que realiza la lectura secuencial de un Lrea
rectangular determinada por el usuario, mientras que Ia información
detectúúa es guardada en memoria en forma secuencia), a partir de la
dirección 1020H.
El programa requiere que previamente se hayan metido las
coordenadas del area a leer en cierta dirección dc memoria, lo cual se hace
por medio del programa principal, por medio del editor de horhntal y
vertical. Deben escribirse en memoria a partir de IO dirección 1021H las
coordenadasxy y de la esquina inferior iquierda seguidas de las coordenadas
de la esquina superior derecha. L'd lectura se realiza de línea en línea a una
velocidad máxima de 300 puntos por segundo, la velocidad puede variarse
modificando el valor en la diretci6n 07f 1dc rntrnoria interna, lo cual se hace
por medio del programa principal, a tratria de1 editor de velocidad, la
información de cada punto es guard:td:i en un hit, como O si se trata de un
blanco y como I si se trata úe un negro, Je acuerdo ai nivel umbral en el que
se este trabajando, 21 cual es S G ~ C C C ~ O I Wpor
~ O medio del editor de
sensibilidad dci programa principal.
13
Este programa rediza In escritura de in intormnción leída por el
programa anterior o que sc dcpositt en In rnemsrh a partir de la direcci6n
1031I-3, Icycndo ia rncrnoria cn forma accucncial y cscribicndo tn GI mismo
orden en que se k v d a cabo 13 lectura.
ei progr;ma principal se iniciaíimn ias registyús se posicidna
automaticam<;ntcci carroisc pcrmite posicicrnar t;l carro y c1papel por mcdio
del teclado, y muestra un sistema de menús por medio del cual se. permite
sclcccionar ci pmgrama, c;ditar Iris cc'ordtnadss, y Gditar 13s opcioncs dc
velocidad Jcl carro. scnaibilidad dcl sistema. y las unidades en las cualcs se
dardn Iris coordenadas. En la figura 12se-muestra un esquema del sistema de
mcnú,dd programa principal.
En
i . velocidad
~
del carro puede ir de 1 a F (por dehutt 4). Lasensibiliúd
del sistcma pucdc ir dc U a 3 (por dcfault ccro), para los cuatro nivdca umbral
plxihies. Cas unid:ides en que si: cidn Ias coordenadas pueden ser puntos,
cen tirnctros pulgada^ Loa editores de cocmknadas htxizmtcika y vcrticalcs
funcionan Jc acucido u l a p unidades scicscionadas[por dcfrtult puntos).
barrid de un aw rectdngular
determinada por el usuario, con una r e s o h i h de 5 puntos por mm, o 127
puntos por pulgada Iincal o 16000 puntos por pulgada cuadrada, y la misma
resolucidn para la escritura en ambos ejes,
La informacicin aimriccnads cn forma dt; bit por punto permite
alrnaconrir 16000 puntos en un integrado sic memoria RAM do SKbytc, lo que
equivníe R cerca una pulgada cuadrada por chip de memoria. En el presenté
sistema con una memoria dc 8Kbytc sc ticnc una capacidad de @O00 puntos o
un area de 3 pülg~d~cls
cuadmdas.
El programa Jc cacritura pcrmiic imprimir con ei ;uiati;ma de plumilla
la informa&5ti de! &realeida y aimacenaita en memoria, di: Is. misma Eorm
en que fu6 leida la imagen. si se desea imprimir I.? imagen en una poskión
diferente a Ir? posicion en que fue l e k h no deben alterarse las coordenadas
de! área, ya que debera tenerse e1 cuidado de especificar ccxmienadas de un
área igual en dimensiones ya que de Io contrario se perder6 la congruencia en
la imagen impresa, para el c.aso de querer imprimir en otro sitio diferente
simplemente inicialicese la posici6n del carro en e1 lugar requerida a l
momento en que ei programa principai pone el letrero POS OC!, y en el que el
motor del carro est4 listo para ser movido por medio del teclado.
La resolución del sistema de escritura es baja si se utiliza un plumón ya
que los puntos marcados con plumon son mayores que el area de 0Smm por
lado y depende del tiempo de retardo especificado para el programa. De esta
manera las imagenes impresas mediante este sistema dejan mucho que desear
debido a la poca fineza de las plumillas empleadas. Si se utiliza iapiz para
imprimir, las imagenes serán muy claras según la suavidad del iapiz, por lo
que no es muy recomendable además de que el lapiz se gasta rapidamente. Si
se utiliza pluma atómica debe seleccionarse una velocidad de 8 retardos ya
que a mayor velocidad la tinta no fluye hacia la punta y no pinta
*
correctamentela pluma.
El sistema de lectura y escritura por barrido se llama a través del
programa principal, el cual permite colocar el carro y el papel en el lugar
requerido como esquina superior izquierda por mzdh del teclado.
Posteriormentepresenta un sistema de menus para editar las coordenadas en
>I y en y, la velocidad, las unidades en que se d a r h las coordenadas y Is
sensibilidad o nivel umbral y correr los programas lector y pintor. Para
entender el uso de los menus vease la figura 52.
El funcionamiento de ambos programas lector y pintor es identico, et
carro y el papel se moverán hacia la posicicin’ marcda como la esquina
inferior izquierda del area a barrer y comenzara ahi la secuencia de barrido
línea por línea a una velocidad que depended del valor especificado en el
editor de velocidad (por default 4). Las coordenadas deberán especificarse
previamente a la corrida de los programas por medio de los editores de
horizontal y vertical. La inforrnacicjn leida se almacenará a partir de la
direccijn 1031H y de ahí mismo será tomaúa para la impresión. Se
recomienda el uso de velocidades no menores ni mayores a 011, que equivale a
un cuarto de la velocidad máxima del sistema, para obtener mejores
impresiones y velocidades no menores a 04 para obtener mejores lecturas.
RESULTADUS
SENSIBILIDADDEL DETECTOR
Ls sensibilidad en I;i reflexidn obtenida a In salida del c.irc.uito de
lectura (figura 6,) mcdiantt; el cnfoquc yuc proporciona c1 cstuchc cs
prnc.tic.amsnteIri misma que pura el estuche de mayor nberturn del sistema de
mcnor resoluciOn de in fase antcrior y se muatra len la grtifica dc I+? figura 13,
Jon& se observa la sencibiliilad medida en volts Contra la ciistencia del
estuche al papel blanco medids en milimetras.
La distancia optima 06 O.Pmm, dc acmxds ft loa rcsultadm úhtcnidos
en las mediciones y que se observsií en 13 figura .U, finy que tomar en cuenta
yuc u esta diatanc.ia hay quc agregar la distancia u la que sc encuentran 10s
dispositivos dentro del estuche de detecci6n si se desea obtener in úistnncin
total del papel a los dispositivos.
El sistema de deteccidn es sensible n dreas negras de 0.Wrnm'y
puede
J ~ t c c t a riincas ncgras dc un ancl~omenor a 0,2mm. y lineas bianc.as de
msncrres a t),2Srnm dc anc.11~~
entonces QS mas iensihlc al n c g m que al blítnc~~
e: decir de un airea ile 0.35mm" totales que puede detectar, un 20430
'
aproximadarnwitc dcbc ser ncgro para quc 10 tome corno un punto ncgro,
pera sciío en el enso de encontrarse el area negra cerca del centro de la zona
dc dctcc:ciOn.Igiiairnciite pucds 4 c t e c . t puntoñ
~
blaiauos Jt rmmos dc un 50%
de la zma de deteccidn siempre y c.uando se encuentre ei iirea blanco cerca
dcl Ccntro dc dicha zona,
Para lograr detcct3r las imágenes w n idnu ru;i;olul=ii;n de 02mm ch:
necesariocolocar el detectar en forma ptecisfi,y de esto se encarp el sistema
mcc.inico. La rcmluci6n del sistema mechico GP prccisamcntc dc 0.2mm cn
ambos ejes y de acuerdo B Ins pruebas realizadas no se cometen errores de
pdicionamicnto, esto gracias a la tccnsi6n a la quc se cnc.utntrn la banda que
mueve el carro del detector, q ~ es
e lo suficientemente f'texible,y ligera pura
no ser unn carga pnm el motor.
EFICIENCIA DEL SISTEMA DE LECTURA
la resoiucidn del sistema de lectura, se log6 hncerla'de
O.Srnrn, es decir 5 pintos por mm, lo que nos d.? un total de 16000 puntos por
pulgada cuadrada. Con esta resolución se logra captar letras de hasta 2Smm
de altura.
En cuanto D
El único modo posible de verificar fa eficiencia del sistema en la
detección de imageneses imprimiéndolas. Poresto los resultados se muestran
con la imagen reproduciúa por el programa pintor.
El error producido en la detección de imagenes es pequeño para lineas
de mas de O.Smm de ancho, Para puntos o lineas menores pueden producirse
errores debido no a la falta de dekeccicjn sino a que pueden no coincidir
exactamente con el centro de deteccih, por ejemplo, una linea de 0.3mm de
ancho, cs decir, de una vez y medio ~l ancho límite de rzsolucion, puede ser
detectada como del ancho de un punto o de dos puntos, dependiendo de la
posición que tome el dctector con respecto a la linea. Entonces los errores
son más nororios para figuras de lineas más finas.
EFICIENCIA DEL SISTEMA DE IMPRESION
El propbsito del sistema de impresicín de imagenes es mostrar las
imagcncs detectadas. Es importante que este sistema sea eficiente ya que
aunque no se usará para propósitos elegantes si mostrará la eficiencia del
sistema detector, dando una idea de la capacidad Je detectar imágenes.
Para el sistema de impresión de imggenes se utilizaron dos tipos de
punta, con Iapiz, con la cud se obtienen irnligenes precisas, de acuerdo a la
punta de1 íapiz, pero con muy poco contraste, ademhs de que el lapiz se va
desgastando rapidamtnte con el uso, Con pluma atómica se obtienen
imagenes can mucho contraste y muy precisas, pero con la desventaja de que
a alta velocidad la tinta no fluye con la suficiente rapidez y quedan zonas sin
tinta, por io cual debe imprimirse a 13 mitad de la velocidad estandar de
impresión.
El sistema de impresión con pium6n aunque tiene la misma resolución
en movimientos que el sistema de lectura, no !lega a in misma resofuci6n de fa
imagen impresa pot lo inadccuado dc las plumillas utilizadas para imprimir,
ya que adcmiis de ser circular el punto que marcan, las plumillas se van
17
I
_.--
achatando haciendose cada vcz mis grueso el punto que producen a l golpear
el papel. El punto que producen las pluniil1::s puede ser muy grueso y
depende del tiempo que perninnece ki pluniilla sobre el papel, y en caso de
que este tiempo sea demasiado prolongado puede obtenerse una mancha muy
grande que crece mientras !a plumilla esre en el papel. Por esto aunque los
plumones son adecuados para utilizar el graficador, o sea, cuando se dibujan
lineas, no deben utilizacx para imprimir imágenes compuestas por puntos.
CAPACIDAD DEL SISTEMA DE BARRIDO
Como sc dijo anteriormente un punto se detecta cada 0.2rnm en ambos
ejes, Pueden ser leídas 127 áreas de 0.04rnrn2 (0.2mm por lado) por pulgada
lineal o 16000puntos por pulgada cuadrada.
La lectura y escritura se realizan en
forma secuencia1 renglón por
rengl6n de abajo hacia arriba, correspondiendo cada punto a un bit y
almaccnhdose en memoria en forma sccuenciai, a partir de 13 direccidn
1031H.
En un KBytz de memoria puede almacenarse SO00 puntos lo que
equivale a cerca de media pulgda cuadrada. En este sistema con una
memoria de SKbytes pueden almacenarse hasta 64 mil puntos, o
aproximadamente 4 pulgadascuadradas de imagen en blanco y negro.
EFIClENCiA DEL SISTEMA i3E MENUS
El programa de interfase para usuarios a base de menUn para iri
selecci6n de programas y edici6n de datos dc entrada, es un medio necesario
en este aparato, donde los dispositiws de entrada y salida son limitados, ya
que no se cuenta con la ayuda de una computadora personal para manejarlo.
Unicamente se tiene un pequeño teclado de 24 botones y un display de 8
digitos, los cuales resultan suficientes si se utiiiza un sistema de menús, donde
el usuario es guiado con pequeños mensajes hacia lo que quiere. Claro que un
sistema de menús implica que para manejarlo, debt conocerse la estructura
de los menús y el movimiento a travSs de él por medio de las teclas, ya que
seria muy dificil dar mensajes amplios en ei display para instruir ai usuario.
18
EJEMPLOS
En Ins figuras 14 y 15 se muestran ejemplos de imñgenes que fueron
Icidasv postsríormcnts irnprcm por medio de1sistema dc pluma, cn la figura
I S pucdcn vcrsc Bosquejos dc; Iris imagencs dctcctadas al imprimirso
utilizando distintos tipos de punta (lapizy pluma).
OBSERVACIONES
De acuerdo a los objetivos de esta fase del proyecto, se lograron
resultados en la dtteccion de im6genes de una resolución aceptable y con una
precisión confiable en general.
...
DIFICULTADES T ECNlCAS
En esta segunda fase úel sistema detector de imagcnes se utilizaron los
mismos dispositivos de deteccidn. Ya que se había observado que estos
mismos permitirlan trabajar a mayor resolucion y con varios niveles de
sensibilidad. El estuche de enfoque que se construyo fue b:isado en un diseno
practicamente igual a l de1sistema anterior, con un orificio de menor tamaiio.
Por lo que con la experiencia de ins pruebas anteriores se agilizó mucho la
construcci6n del nuevo dispositivo detector.
Conseguir que el phototransistor detecte l a radiaci6n del diodo
reflejada en el papel blanco, fué sumamente dificil, ya que el área de papel en
la cual se refleja la radiacion infrarroja es muy pequeña y la cantidad de la
rarliacicin que llega al phototransistor depende precisamen te del area, de
manera que estamos trabajando con dispositivos muy limitados para emitir la
rndiacion y para captarla, por lo que la cantidad de radiaciiin involucrada en
l a rcfiexih es muy pequeña. Siendo esta la situáci6n se busco nuevamente
hazer un estuche que mantuviera enfocados en el Sngulo correcto a los
dispositivos, a l a menor distancia posible, para obtener menores perdidas de
radiation y que eliminará la posibilidad de interferencia por radiaciones
externas.
.
Las dificultades mecdnicas que se encontraron con el funcionamiento
dci aparato previamente construido fueron superadas gracias R los cambios
hechos en bandas y poleas, y trataron de aminorarse las deficiencias para
obtener menores errores. De manera que se obtuvieron muy raros errores
debidos a imprecisiones mecánicas.
20
EFlClENClA DEL SISTEMA
Para un scnnner?la resoiuci6n es apenas huenn, pero precisamente en
este punto f u i donde 6c dcdico miis tiempo, ya quc lodi diqmsitjvos
disponibles cii cl rnc:rc.aih no 591-1adecuados para cstc tipo dc sistemas, son
muy grandes y por IO tanto de baja resolueihn, mientras que un scanner
comercial o una fotocopiadora utilizan dispositivos con mntriccrs o arrcgloa dc
detectores que pueden detectar imageries con,mayor resolucidn que la
obtenida con nucstio dispositivo y a muc.ha mayor velocidad. L;rvelocidrrd dcl
sistema es su punta m6s dkbil ya que esta es bastante baja, sobre todo porque
se realiza la detec.ci0n con in sdo dispositivo detecror y por l a falta de
veIoc,idaddo los mntorcs.
En wanto a las defiicienc.ias meciinicus, estas son debidas a la falta de
hciramicntas dc pr.icisit5n, pero sí os posible contrtiir s4: comprar las piczm
mec.hicas necesarias j 7 con ifi ptzecisidn requerida yarn un sistenin de este
tipo, nunquc sc rcquierc dc ticrnpo y dincro para lograr una m5yuina c.on
cnmcteristicus similares 9 li:s comerciales.
En cuanto a la capacidrid de memoria, esta c g muy limitada y no
convicric utilizar rncrnúi-h U k i estiticw, ya yuc se: rcyukrcdc un chip de Y
Kbytes por cada pulgada eundrds de imagen digitalizúiiri si se utiliza un bit
por punto de imag~n.
hkjcmr la v ~ l ~ c i d a ddel ointcrnrr utilizando rncit~rcs rripidm y
circuitos de cotttrol para motores de pasos de nirn velocidad como los de
irn prcsoras o plotwrs comercialcs. Otra opcidn scria conseguir dispositivos
de deteccidn como awegios de detectoras para hacer la deteccidn de m6s
puntos u iri wz, lo cual aminomrin el tiempo de detecc.i.irínde una imagen.
QUE UTILIDAD TIENE ESTE PROYECTO
Este proyecta muesira una manera cn la yuc put& rtalizarse: la
iligitdizacicinde irnagenes impresasclc una manera uti tanto primitiva, por ser
Icnta, pero que pucdc scr una fmma muy barata, precisa y vcrsatiI de
ctigirnliznr imnsenes impresas.
.
.. .
...
"
.
<
.
. .
-__
....
..
.
.
.-.-.
,.
El sistema
de JttecciSn ~ U C considerarse
~ C
como un lector cascro
controlado en e1 mismo aparato y que puede almacenar las imrrgener barridas
en el mismo sistema y además imprimirlas, aunque de una mantra muy
primitiva. Además de que puede funcionar corno un plotter, para dibujar
planosy diagramas a base de I ineas.
L a capacidad de memoria puede ser aumentada a GQKbytes con
memoria RAM dinámica, o de otra manera puede establecersecomunicación
serial con una PC,a donde se enviara la imagen digitalizada.
Este sistema puede convertirse en un sistema de fectum de imágenes
para investigación y desarrollo en procesamientode imageries.
Otra opci6n es la de convertirlo en un pantógrafo donde está integrado
un sistema que puede ayudar a1 usuario en la lectura de un plano, ya que
puede efectuar el seguimiento de iineas por medio del detector con un
programa adecuado y luego procesar la información en cuanto a escala y
posteriormentegraficarlo a manera de plot.ter,todo cn el mismo sistema.
22
CONCLUSIONES
En el desarrollo del proyecto se cumplieron los objetivos propuestos,
como se mencionó cn un principio la parte de mayor peso en este trabajo f u i
la realización, ya que implicaba resolver multiples dificultades técnicas para
irnpíernentarlo, que surgieron en la implementation de la fase anterior del
proyecto, de una forma que fuera posible mostrar que un sistema de este tipo,
COR dispositivos cic detección muy sencillos, puede ser eficiente y útil en la
detección de imágenescon una resolución aceptable.
Se logró implementar un sistema de detewión de alta resolución,
mostrandose los resultados mediante el sistema de irnpresióri.
Se evitaron los errores por impresiciones mecanicas que se habían
encontrado en la fase anterior del proyecto, tanto en la deteccion como en la
impresih, con Io cual se permitió una mejor npreciacih de la eficiencia del
sistema detector.
Se implemento el control de sensibilidad de cuatro niveles para
diferentes intensidades de gris.
Se implcmentaron íos sensores para evitar el choque del carro del
detectory plumilla, en los extremos del aparato.
Se implemento un nuevo programa de interfase por medio de menús,
con el que un usuario inexperto puede manejar los programas de lectura e
impresitin en unidades comunes, a traves del teclado de 24 teclas y el display
de 8 digitos del kit del 8031, conociendo la estructura de los menús y el
manejo a través de las teclas.
E1 sistema puede desc.ribii-s\;como un digitalizador de imágenes
impresas úe alta resolución, el cual puede aimacenar en su memoria
pequeñas imágenes digitalizadas, y aprovecha el mismo sistema mecdnico
para imprimir las imagents barridas, y yuc ademis puede funcionar como
graficadorde dibujos basados en iincas.
23
APENDICE DE FIGURAS
J -1
r
I
-
L--cl
I
I
I
-
- -..-
a m o
w
%-+
c-
O
D
I
o4%k----
v)
I
Ii
’ _ _ _ _ _ _ _ _ _ - . - I
f
I
3
U
t;
t;
O
u)
5
G
O
5
4
z
3
z
Q
I
1
I
I
I
I
I
I
o
1
,.
.,<..
...
,
,
.
..... .. ,_., ...
. . <......... .. ....
.......
O.8
0.6
0.4
0.2
FIGURA 9:PATRON D E RADlAClON DIODO EMISOR
1.2
1
L
<
...... .....
. . .< ,
. <
<.<
. ...
.
. ..... .
O.8
0.6
O,4
0.2
00
FIGURA 1 O : PATRON DE DETECCiON PHOTOTRANSISTOR
O
1
o
o
F=
4
a
u3
w
D
W
I
o
3
G
w
I
o
U
?3u.
z
nz
O
w
O
n
o
a
!
m
8
...
/
/
..
c3
>
x
eu
u?
c
In
d
)E LIGA TEMF
I1991-1992
!xpc
FIGURA 14: IMAGEN A DEETECTAR
FIGURA 15: IMAGEN DFTECTADA
APENDiCE DE PROGRAMAS
VLA
1
2
x1
x2
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
07EH
070H
071H
072H
073H
074H
075H
07GH
077H
008H
009H
OOAH
OOBH
OOCH
EQU
EQU
EQU
EQU
EQU
K3
EQU OODH
x4
EQU OOFH
EQU OOEH
EQU OlOH
SXH
EQU OllH
SXL
EQU 012H
SYH
EOU 013H
SYL
EQU 014H
EQU 015H
EQU 016H
EQU 017H
EOU 018H
Rx
EQU 019H
LiY
EQU OlAH
FXH
EQU OlBH
FXL
EQU OlCH
FYH
EQU OZDH
FYL
S IDUO EQIT 01EH
X
EQU OlFH
GISTRO EQU 3000H
GTOPE EQU 3001H
IC10
EQU 1020H
W E E N EQU 1030H
LOCIDA EQU 007H
ii
EQU 1021H
L
EQU 1022í-i
H
EQU 1023H
L
EQU 1024H
H
EQU 1025H
L
EQU 1026H
i-I
EQU 1027H
L
IT
OG
L
;\IS
EQU 1028H
EQW 1029H
EQU 102AH
EQU 102BH
EQU 102CH
SPLEGA EQU 03D8H
SPBUF
CETE
4PIA
?OR
ZVEY
?ERA
iORl
9PIO
2IBE
>TOR
4TOR
IEG
EQU 03B8H
EQU 040FH
EQU 0646H
EQU 0649H
EQU 0890H
EQU 08E5H
EQU 0901H
EQU 0909H
EQTJ 0607H
EQU 0920H
EQU OA90H
EQU OA4 9H
iECHA EQU OA5BH
JUIERD EQU OA65H
;IALIZ EQU OA6FH
?ERAP EQU OA7 9H
JEX
EQU O 9 DDH
ORG OB70H
CALL INICREG
CALL RECIBE
CALL TEST
CALL POSIC
CALL MENU
MOV DPTR,#MENSFIN
CALL DESPLEGA
RET
JNC! ION
; IMICIALIZA REGISTROS
;RECIBE UNA TECLA CUALQUIERA
;ACOMODP!EL CARRO DEL DETECTOR Y PLUMILLA
;PEFMITE POSICIONAR EL CARRO POR EL TECLADO
;ENTRA AL SISTEMA DE MEJ!TWS
;MENSAJE DE FIN TIE F’HOGRAIiIA
INICREG: INICIALIZA REGISTROS
ICREG: CALL INREG
MOV DPTR , #MENS 1
CALL DESPLEGA
MOV VELOCIDA,#04H
MOV DPTR,#UNIT
MOV A,#OlH
MOVX @DPTR,A
MOV DPTR,#SENS
MOV P , , # O O H
MOVX @DPTR,A
MOV DPTR,#PROG
MOV A , #OCH
MOVX @DPTR,A
RET
JNCION TEST : ACOMODA EL CARRO, YENDO PRIMERO AL EXTREMO IZQUIERDO Y LUEGO
UNA POSICION INICIAL PARA TAMAÑO CARTA
TT :
MOV DPTR,#MENS¿
CALL DESPLEGA
CALL IZOITIERD
ETWE : CALL TOPE1 ZO
CJNE A ,# O 1H ,ACOMODA
CALL MOVEX
SJMP LEETOPE
’--MODA: MOV POSXH, HOOH
MOV POSXL,#OOH
CALL DERECHA
129679
SJMP FINTEST
UREPCiS :CALL MOVEX
SJMP REACOMOD
NTECT: RET
üNCION TOPEIZO :VERIFICA SI EL CARRO HA LLEGADO AL EXTREMO IZQUIERDO
PEIZQ: MOV DPTR,#REGTOPE
MOVX A,@DPTR
MOV B,#OlH
ANL A , B
RET
UNCION POSIC : PERMITE POSICIONAR EL CARRO Y EL PAPEL POR MEDIO DEL TECLADO
\
MOV DPTR,#MENS3
CALL DESPLEGA
SIC2: CALL RECIBE
CJNE A,#12H,CIGAl
SJMP PARRIBA
GA1:
CINE A,#16H,SIGA3
SJMP PABAJO
GA2:
CJNE A,#llH,SIGA3
SJMP PIZQUIER
GA3:
CJNE A,#15H,SIGA4
SJMP PDERECHA
GA4:
CIJNE A,#liH,FOSICZ
SJMP FINPOSIC
RP,IBA: MOV DIRY,#OlH
CALL MUEVEY
SJMP POSIC2
BAJO: MOV DIRY,#OOH
CALL MUEVEY
SJMP POSIC2
2QUIER:CALL IZQUPERD
CALL MOVEX
SJMP POSIC2
*ERECHA:CALLDERECHA
CALL MOVEX
SJMP POCIC2
NPOS1C:MOV POSXH,#OOH
MOV POSXL,#OOH
MOV POSYH,#OOH
MOV POSYL,#OOH
MOV DPTR,#XlH
MOV A,#OOH
MOVX @DPTR,A
MOV DPTK,#XlL
MOVX @DPTR,A
SIC:
MOV DPTR,#Y2H
MOVX m p m , A
MOV DPTR, #Y2L
MOVX @DPTR,A
RET
’UNCION MELW : MfJESTRA f7N SISTEMA
,OS DATOS DE ENTRADA MECECARIOS
fiE I~ZENUS PARA
CORRER LOS PROGRAMA3 Y EDITAR
w1:
1100 :
CALL DESPLEGA
CALL RECIBE
CJNE A,#lbH,MEmJ1
SJMP ED0100
CJNE A,#17H,MENT
RET
MOV DPTH,#MENS100
CALL DESPLEGA
CALL
CJNE
LJMP
1101: CJNE
RECIBE
A,#llH,ED0201
ED0300
A,#lSH,EDO102
LJMP ED0200
1102: CJNE A,#16H,ED0103
SJMP ED0110
1103: CJNE A,#12H,ED0100
SJMP MENU
1200: MOV DPTR,#MENS200
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,ED0201
CJW ED0100
1201: CJNE A,#15H,ED0202
SJMP ED0300
1202 : CJNE A,#lóH,ED0203
LJMP ED0210
2203 : CJNE A , # 12H,ED0200
SJMP MENU
1300:
1301:
1302:
3303;
DPTR,#MENS300
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,EDO301
SJMP ED0200
CJNE A,#lSH,ED0302
LJMP ED0100
CJNE A,#lhH,ED0303
LJMP ED0310
CJNE A,#12H,ED0300
SJMP MENU
MOV
MOV DPTR.#MENSHOR
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,EDOlll
LJMP ED0130
3111: CJNE A,#15H,ED0112
SJMP ED0120
2112: CJNE A, # 12H,ED0113
1110:
3113:
LJMP ED0100
CJNE A , # 14H ,ED0 110
CALL HOKEDIT
SJMP ED0110
3120:
r-iov DPTR,#MENSVER
CALL DESPLEGA
C!ALL RECIBE
CJNE A,#IlH,EDO121
SJMP ED0110
J1L.L:
3122:
3123 :
3130:
3131:
3132:
3133:
GJNL A, # 15H.ED0122
SJMP ED0130
CJNE A,#12H,ED0123
LJMP ED0100
CJNE A,#14H,ED0120
C A L L VEREDIT
SJMP ED0120
MOV DPTR,#MENSRUN
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,ED0131
SJMP ED0120
CJNE A,#15H,ED0132
LJMP ED0110
CJNE A,#12H,ED0133
LJMP ED0100
CJNE 4,#14H,ED0130
MOV DPTR,#PROG
MOV A,#04H
MOVX @DPTR,A
MOV DPTR,#SENS
MOVX A,@DPTR
ORL A,#04H
MOV DPTR,#REGISTRO
MOVX @DPTR,A
CALL LECTOR
SJPIP El30130
MOV DPTR ,#PENSHOR
CALL DESPLEGA
CALL RECIBE
CJNE A,#ilH,EDOSll
LJMP ED0230
1211: CJNE A,#15H,ED0212
SJMP ED0220
3212: CJNE A,#12H,ED0213
LJMP ED0200
1213: CJNE A,t14H,ED0210
CALL HOREDIT
SJMP ED0210
3210:
MOV DPTR,#MENSVER
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,ED0221
SJMP ED0210
1221: CJNE A,#15H,ED0222
SJMP ED0230
1222: CJNE A,# 12H,ED0223
LJMP ED0200
1223: CJNE A,#14H,ED0220
CALL VEREDIT
SJMP ED0220
1220:
1230:
1231:
IJiOV DPTR,#MENSRITN
CALL
CALL
CJNE
SJMP
CJNE
DESPLEGA
RECIBE
A,#llH,ED0231
ED0220
A,#15H,ED0232
D0232:
DO233 :
LJMP ED0210
CJNE A,#lZH,ED0233
LJMP ED0200
CJNE A,#lIH,ED0230
MOV DPTR,#PROG
MOV A,#08H
MOVX @DPTR,A
MOV DPTR,#SENS
MOVX A,@DPTR
ORL A,#08H
MOV DPTR,#EEGISTRO
MOVX @DPTR,A
CALL PINTOR
SJMP ED0230
D0310: MOV DPTR,#MENS310
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,ED0311
LJMP E00330
CJhTE A,# 15H,ED0312
DO311:
SJMP ED0320
303 12 : CJNE A,# 12H,ED03 13
LJMP ED0300
'303 13 : CJNE A,#14H,ED0310
CALL UNITEDIT
SJMP ED0310
'Ci0320: MOV DPTR ,#ITENS32O
CALL DESPLEGA
CALL RECIBE
CJNE A,#llH,EDO321
SJMP ED0310
'D0321: CJNE A,#15H,ED0322
SJMP ED0330
'iJO322: CJNE A,#12H,ED0323
LJMP ED0300
3 0 323 : CJNE A,#14H,ED0320
CALL VELEDIT
SJMP ED0320
MOV DPTR,#MENS330
CALL DESPLEGA
CALL RECIBE
CJNE; A,#llH,ED0331
SJMP ED0320
7 r m 3'1: CJNE A,#15H,ED0332
LJMP ED0310
3 3 3 3 2 : CJNE A,#12H,ED0333
LJMP ED0300
<P0333: CJNE A,#14H,ED0330
CALL SENSEDIT
SJMP ED0330
:D0330:
UNITEDIT : PERMITE SELECCIONAR EL 'TIPO DE UNIDAD EN QUE SE DAMN LA3
T3ORDENADAS, PUEDEN SER PUNTOS, CENTIMETROS O PULGADAS. ,
: CUNCION
i\JITEDIT:MOV DPTR,#MENSPTS
CALL DESPLEGA
CALL RECIBE
CJNE A,#15H,SIG1
SJMP CENT
CJNE A,#llH,SIG2
SJMP PULG
CJNE A,#14H,UNiTEDIT
MOV DPTR,#UNIT
MOV A,#Ol
MOVX @DPTR,A
RET
MOV DPTR,#MENSCENT
CALL DESPLEGA
CALL RECIBE
CJNE A,#15H,SIG3
SJMP PULG
CJNE A,#llH,SIG4
SJMP UNITEDIT
CJNE A,#í4H,CENT
MOV DPTR,#UNIT
G1:
G2:
;NT:
G3 :
:G4:
MOV A,#02
MOVX @DPTR,A
RET
MOV DPTR,#MENSPULG
CALL DESPLEGA
CALL RECIBE
CJNE A,#15H,SIG5
SJMP UNITEDIT
CJNE A,#llH,SIGG
SJMP CENT
CJNE A,#i4H,PULG
MOV DPTR,#UNIT
MOV A,#03
MOVX @DPTR,A
RET
JLG :
iG5:
IGG:
?TJNCION VELEDIT : PERMITE SELECCIONAR LA VELOCIDAD DEL CARRO, DE 1 A F, ENTRE
YAYOR SEA EL NUMERO MENOR ES LA VELOCIDAD DEL CARRO.
ULEDIT: MOV DO,#OF9H
CALL DESPBUF
1CLOVEL:CALL RECIBE
CJNE A,#14H,SIG7
SJMP r'IiuVEL
MOV B,#OFH
IG7:
DIV A3
JNZ CICLOVEL
MOV A,TECLA
MOV VELOCIDA,A
CALL ASIETE
MOV DO,A
CALL DESPBUF
SJMP CICLOVEL
'IMVEL : RET
FV"
I ON
SENSEDIT
:
PERMITE SELECCIONAR LA SENSIBILIDAD DEL DETECTOR, DE O A 3.
ENSED1T:MOV DO,#OROH
CALL DESPBUF
:LLOSEN:CALL RECIBE
CJNE A,#14H,SIG8
,
L
-b
-I
8
:
SJMP FINSENS
MOV B,#O4H
DIV
AB
JNZ CICLOSEN
MOV A,TECLA
MOV DPTR,#SENS
MOVX @DPTR,A
CALL ASIETE
MOV DO,A
CALL DESPBUF
SJMP CICLOSEN
MSENS : MOV DPTR,#SENS
MOVX A,@DPTR
MOV AUX,A
MOV DPTR,#PROG
MOVX A,@DPTR
ORL A,AUX
MOV DPTR,#REGISTRO
MOVX @DPTR,A
RET
PERMITE EDITAR LAS COORDENADAS HORIZONTALES
3EL AREA A EARRER DE ACUERDO A LAS UNIDADES SELECCIONADAS.
WNCION HOREDIT :
3REDIT: CALL EDITCOOR
CALL COORDHOR
RET
?UNCION EDITCOOR : EDITA LAS COORDENADAS DE 3 DIGITOS.
3ITCOOR:MOV DPTR,#UNIT
MOVX A,@DPTR
CJNE A,#OlH,SIGlO
SJMP PUNTOS
CJNE A,#02H,PULGAD
IG10:
SJMP CENTIM
JLGAD : MOV DPTR,#MENCPULO
CALL DESPLEGA
CALL EDITA3
SJMP CPULGAD
JNTOS: MOV DPTR,#MENSPTSO
CALL DESPLEGA
CALL EDITA3
SJMP CPUNTOS
ENTIM: MOV DPTR,#MENSCENO
CALL DESPLEGA
CALL EDITA3
CENTIM: MOV B,#OCH
MUL AB
SJMP FINEDIT
PULGAD:f;jMOV B ,#20H
MUL AB
SJMP FINEDIT
PUNTOS: MOV B , # 0 4 H
DIV AB
-!
MEDIT : RET
FlJNCION COORDHOR :METE L A S COORDENADAS EM LAS DIR.ECCIONES DE XZ
!X)RDHOR :MOV
DPTR,#X2H
MOVX @DPTR,A
rJIov DPTR,#XZL
MOV A,#OOH
MOVX @DPTR,A
RET
JNCION VEREDIT : EDITA LAS COORDENADAS VERTICALES.
IEDIT: CALL EDITCOOR
CALL COORDVER
RET
JNCION COORDVER : METE LAS COORDENADAS EM LAS DIRECCIONES DE Y1.
1RDVER:MOV DPTR,#YlH
MOVX @DPTR,A
MOV DPTR,#YlL
MOV A,#OOH
MOVX CDPTR,A
RET
JNCION EDITA3 : PERMITE EDITAR NUMEROS DE TRES DIGITOS.
ITA3 : MOV AUX1,OOH
MOV AUX2,OOH
MOV AUX3,DOH
CALL RECIBE
2LOREX:CALL RECDIG
MOV D2,Dl
MOV D1,DO
MOV DO,A
CALL DESPBUF
CALL RECIBE
CJNE A,#14H,CICLOREC
CALL AHEXA
RET
JNCION RECDIG
:DIG:
RECIBE UbJ DIGIT0 Y LO CONVIERTE A SIETE SEGMENTOS.
MOV A,TECLA
MOV B,#OAH
DIV AB
JNZ RECDIG
MOV AUX3,AUX2
MOV AUX2,AUX1
MOV AUX1,TECLA
MOV A,TECLA
CALL ASIETE
RET
3NCION AHEXA
2XA :
:
:
TRANSFORMA UN "IERO
MOV A,AUX3
MOV B,064H
MüL AB
MOV AUX3,A
MOV A,AUXS
MOV B,OAH
NUL AB
MOV AUX2,A
MOV A,#OOH
ADD A,AUX1
ADD A,AUX2
DE TRES DIGITOS DE DECIMAL A HEXADECIMAL.
ADD A ,AUX3
RET
f": DB 08CH,OAFH,OA3H,OFFH ;PRf.-) :?CAN
DB 092H,OC6H,088H,OC8H
CNS2:
DB 087H,086H,092H,087H;TEST
DB OFFH,OFFH,OFFH,OFFH
2NS3 :
DB 08CH.OCOH ,O 92H.OFFH ;POS
DB OFFH,OFFH,OCOH,OCOH
O0
SNSMEIW:DE\ O C 8 H , O C 8 H , 0 8 6 H , O A B H ; M E N U
DB OE3H,OFFH,OFFH,OFFH
SNSFIN: DB 08EH,OFBH,OABH,OFFH;FIN
DB OFFH,OFFH,OFFH,OFFH
ZNS100: DB OC7H,086H,OC6H,087H;LECTOR
DB OA3H,OAFH,OFFH,OFFH
ZNS200: DB 08CH,OFBH,OABH,087H;PINTOR
DB
OA3H,OAFH,OFFH,OFFH
ZNS300: DB OCOH,08CH,OC6H,OF9H;OPCION
DB OCOH,OC8H,OFFH,OFFH
3TSHOR: DB 089H,OA3H,OAFH,OFFH;HOR
DB OFFH,OFFH,OFFH,OFFH
ZNSVER: DB OCiH,086H,OAFH,OFFH;VEH
DB OFFH,OFFH,OFFH,OFFH
SNSRUN:
DB OAFH,OE3H,OABH,OFFH;RUN
DB OFFH,OFFH,OFFH,OFFH
3NS 3 10:
DB OClH ,OABH ,OFEH ,O 8 7H ;UNIT
DR OFFH,OFFH,OFFH,OFFH
CNS320: Dl3 OAFH,086H,O92H,OCOH;RESOL
DB OC7H,OFFH,OFF",OFFH
3NS330: DB DC1Hf086H,0C7H,0FFH;VEL
DB
OFFH,OFFH,OFFH,OFFH
CNS340: DB 092H,086H,OC8H,092H;SE~~~
DB OFFH,OFFH,OFFH,OFFH
ENSPTS:
DB OC1H,OABH,OFBH,087H;~~IT
PTS
DB OFFH,O8CH,087H,092H
El\JSCENT:DE OCiH,OARH, OFBH,087H;mIT CEN
Di3 OFFH,0C6H,086HfOABH
ENSP1JLG:DR
OClH,OABH,OFBH,O87H;üNIT PUL
DB OFFH,08CH,OE3H,OFSH
ENC;PTSO:DB
DB
08CH,087H,O92H,OFFH;PTS 000
OFFH,OCOH,OCOH,OCOH
JSCENO:DB OC6H,086H,OARH,OFFH;CEN
DR OFFH,OCOH,OCOH,OCOH
O00
JSPULO :DR 08CH OE3H OF9H.OFFH;PUL
O00
DB OFFH OCOH OCOH,OCOH
END
END
END
END
END
END
129679
PROGRAMA LECTOR: REALIZA L A LECTURA POR BARRIDO DE LJX AREA. PREVIAMENTE DEBEN ESPECIFICARSE LAS COORDENADAS DEL AREA QUE SERA LEIDA, DANDO LAS COOKDENADAS DE LA ESQUINA INFERIOR IZQUIERDA PRIMERO Y-DESPUESLAS DE LA ESQUINA SUPERIOR DERECHA. ADEMAS DEBE ESPECIFICARSE EL TIEMPO DE LECTURA EN LA
DIRECCION O 7 DE MEMORIA INTEWA.
ORG 0920H
FUNCION BARRIDO
ARRIDO; MOV DPTR,#INICIO ;DA LA DIRECCION DE LAS COORDENADAS
CALL GUARDPOS
;GUARDA LA DIRECCION DE POSXY
CALL LEEPOS
;LEE UNAS COORDENADAS EN POSXY
CALL LEEPOS2
;LEE UNAS COORDENADAS EN XY
MOV DPTR,#ALMACEN ;DA LA DIRECCION DONDE SE ALMACENARA LO LEIDO
CALL CARGAPOS
;INTERCAMBIA LAS DIRECCIONES ENTRE AUXY Y POSXY
MOV DIRY,#OOlH
;PONE LA DIRECCION Y EN ABAJO
CALL AVANZAY
;SE MJEVE PARA ACOMODARSE EN LA ESQ.INF.IZQ.
;INTERCAMBIA COORDENADAS
CALL CARGAXY
;SE MUEVE UNA POSICION HACIA ABAJO PARA COMPENSAR
0MPENSA:CALL MUEVEY
;DA LA DIRECCION HACIA LA DERECHA
ICL0DER:CALL DERECHA
;PONE LA DIRECCION Y EN ARRIBA
MOV DIRY,#OOOH
;AVANZA
UN RENGLON HACIA ARRIBA
CALL MUEVEY
CALL INTERCAQ
; INTERCAMBIA COORDENADAS
;AVANZA LEYENDO HACIA LA DERECHA
CALL AVANZARD
MOV A,POSYH
CJNE A,YH,CICLOIZQ ;COMPRUEBA LA POSICION EN EL EJE Y
MOV A,POSYL
CJNE A,YL,CICLOIZQ
SJMP FINAL1
'rcLorzQ:cALL IZQUIERD
;DA LA DIRECCION HACIA LA IZQUIERDA
;AVANZA UN RENGLON HACIA ARRIBA
CALL MUEVEY
CALL INTERCA4
;INTERCAMBIA COORDENADAS
CALL AVANZAR1
;AVANZA LEYENDO HACIA LA IZQUIERDA
MOV A,POSYH
CJNE A,YH,CICLODER ;COMPRUEBA LA POSICION EN EL EJE Y
MOV A,POSYL
CJNE A,YL,CICLODER
'INAL1: CALL FINALIZ
;LLAMA AL MENSAJE DE FIN DE PROGRNQ
RET
mTNCION AVANZARI: REALIZA LA LECTURA DE UN RENGLON EN DIRECCION IZQIJIERDA.
iVANZARI:MOV RESIDUO,#000H
MOV TECLA,#OFFH
CALL MOVEX
:ICLOAV :MOV A ,TECLA
CJNE A,#017H,OK4
CALL ERROR
SJMP FIMAL3
K4:
bTOV A , RESIDUO
CJNE k,#008H,SIGA2
MCW RESIDUO,# O O U H
CALL RLPUKENA
:IGA2:
CLR P1.7
SETB P1.7
CALL MOVEX
I
IbJC
MOV
RESIDUO
A,POSXH
CTNE A ,X H cICLOAV
MOV A,POSXL
CJNE A,XL,CICLOAV
CALL RELLENA
INAL3: CALL ALMACENA
RET
i1ANZARD:MOV RESIDUO,#000H
MOV TECLA,#OFFH
1CLOAVR:MOV A,TECLA
CJNE A,#017H,OK3
CALL ERROR
SJMP FINAL2
K3 :
MOV A,RESIDUO
CJNE A,R008HVSIGA1
MOV RESIDUO,#OOOH
CALL ALMACENA
IGA1: CLR P1.7
SETB P1.7
CALL MOVEX
INC RESIDUO
MOV A,POSXH
CJNE A,XH,CICLOAVR
MOV A,POSXL
CJNE A,XL,CICLOAVR
CALL RELLENA
INAL2: CALL ALMACENA
RET
FUNCION
MOVEX: MUEVE EL CARRO EN EL EJE X.
OVEX:
MOV A,DIRX
CJNE A,#OlH,MUEVEIZQ
UEVEDER:MOV A,POSXL
CJNE A,#03H,INCXL
NCXH:
MOV POSXL #OOH
INC POSXH
SJMP MOVERXX
NCXL:
INC POSXL
SJMP MOVERXX
UEVE1ZQ:MOV A,POSXL
CJNE A,#OOH,DECXL
MOV
POSXL,#OJH
ECXH :
DEC POSXH
SJMP MOVERXX
DEC POSXL
ECXL :
r3VERXX : CALL MOVX
RET
FUNC ION
Movx: DA LOS COMANDOS DEL MOVIMIENTO EN x.
!3VX :
CLR Pl.0
MOV A,DIRX
CJNE A,#OlH,MOVIZQ
SETB P1.l
SJMP MUEVE
;]VDER :
.
JIZQ:
W E:
CLR P1.l
SETB P1.0
SETB P1.2
CALL ESPERAP
RET
JNCION RELLENA: CORRIGE EL ERROR QUE SE PRODUCE CUAM EL ULTIMO BYTE LEIDO
> QUEDA COMPLETO.
LLENA : MOV A , RESIDUO
CJNE A,#08H,ANADEBIT
SJMP FINRELL
3DEBIT:INC RESIDUO
CLR P1.7
SETB P1.7
SJMP RELLENA
WELL: RET
JNCION ALMACENA: SE ENCARGA DE ALMACENAR EN MEMORIA RAM EL BYTE LEIDO.
JlACENA : INC DPTR
MOV DP1,DPH
MOV DP2,DPL
MOV DPTR,#REGISTRO
MOVX A,@DPTR
MOV DPH,DPl
MOV DPL,DP2
MOVX @DPTR,A
RET
-
-NCION INTERCA4: HACE UN INTERCAMBIO DE COORDENADAS PARA CAMBIAR LA DIREC[ON EN EL EJE X.
IlERCA4:MOV
MOV
MOV
MOV
RET
XH ,AUXH
XL,AUXL
AUXH,POSXH
AUXL,POSXL
JNCION INREG: INICIALIZA LOS REGISTROS DE CONTROL DE LOS MOTORES.
REG :
MOV P1,#00H
SETB P1.5
SETB P1.6
SETB P1.O
SETB P1.3
CLR P1.3
CLR Pl.6
SETB P1.2
RET
JNCION DERECHA: HACE EL CAMBIO DE DIRECCION EN EL EJE X.
2ECHA : CLR P1.5
SETB P1.l
SETB P1.5
MOV DIRX,#OlH
RET
JNCION IZQUIERD: HACE EL CAMBIO DE DIRECCION EN EL EJE X.
rIERD:CLR P1.5
CLR P1.l
SETB P1.5
MOV DIRX,#OOH
RET
(CION FINALIZ: DA EL MENSAJE DE FIN.
,LIZ: MOV DPTR,#MENSAFIN
CALL DESPLEGA
CALL RECIBE
RET
. .
C I O N ESPEXAP: REALIZA LOS CICLOS DE RETARDO.
,xAP: MOV DIFYK, #OOH
803:
INC DIFYH
CALL ESPERA
MOV A,DIFYH
CJNE A,VELOCIDA,CICL03
RET
IAF1N:DB
DB
END
END
END
END
END
END
OFFH,OFFH,OFFH,OFFH
OFFH,08EH,OFBH,OABH;'
Fin'
ORG OA90H
)GRAMA PINTA POR BARRIDO
!IPIN:MOV DPTR,#INICIO
CALL GUARDPOS
CALL LEEPOS ,
CALL LEEPOS2
MOV DPTR,#ALMACEN
CALL CARGAPOS
MOV DIRY,#001H
CALL AVANZAY
CALL CARGAXY
'ENSA:CALL MUEVEY
8ODER:CALL DERECHA
MOV DIRY,#OOH
CALL MUEVEY
CALL INTERCA4
CALL AVANPINX
MOV A,POSYH
CJNE A,YH,CICLOIZQ
MOV A,POSYL
CJNE A,YL,CICLOIZQ
SJMP FINAL1
4OIZQ:CALL IZQUIERD
CALL F'IUEVEY
CALL INTERCA4
CALL AVANPINX
MOV A,POSYH .
CJNE A,YH,CICLODER
MOV A,POSYL
CJNE A,YL,CICLODER
iL1: CALL FINALIZ
RET
3C ION
;DA LA DIRECCION DE LAS COORDENADAS
;GUARDA LAS COORDENADAS DE POSXY
;LEX LAS COORDENADAS EN POSXY
;LEE LAS COORDENADAS EN XY
:DA LA DIRECCION DE LOS DATOS A IPIPRIMIR
;INTERCAMBIA DATOS ENTRL; AUXY Y POSXY
:SACA LA DIRECCION DE AVANCE EN X
:SE MCJEVE EL PAPEL A LA ESQ. INF. IZQ.
:INTERCAMBIA COORDENADAS
;SE MUEVE UNA POSICION HACIA ABAJO PARA COMPENSAR
;DA LA DIRECCION DERECHA
;AVANZA UN RENGLON HACIA AKRIBA
COORDENADAS
:AVANZA PINTANDO HACIA LA DERECHA
;INTERCAMBIA
;COMPRUEBA
LA POSICION EN EL EJE Y
;DA LA DIRECCION IZQUIERDA
;AVANZA UN RENGLON HACIA ARRIBA
;INTERCAMBIA COORDENADAS
;AVANZA PINTANDO HACIA LA IZQUIERDA
;COMl?RTJEBA LA POSICI@N EN EL EJE Y
AVANPINX: AVANZA PINTANDO Irni RENGLON
iP1NX:MOV AUX,#OFFH
.OPIN:CALL LEEBYTE
CALL LEEBIT8
CALL PINTA
JZ FINALS
CALL LEEBIT7
CALL PIMTA
JZ FINALS
CALL LEEBIT6
CALL PIMTA
JZ FINAL2
CALL LEEBITS
CALL PINTA
JZ FINAL2
CALL LEERIT4
CALL PINTA
J Z FINAL2
CALL LEEEIT3
CALL FINTA
JZ FINAL2
CALL LEEBIT2
CALL PINTA
JZ FINAL2
CALL LEEBITl
CALL PINTA
JNZ CICLOPIN
NAL2 : RET
UNCION LEEBYTE: LEE UN BYTE DE INFORMACION PARA PINTAR
EBYTE : INC DPTR
MOVX A,@DPTR
MOV DIFXH,A
RET
UNCION LEEBITS: LEE LOS BITS DE UN BYTE
EBIT1: MOV
ORL
RET
EBIT2 : MOV
ORL
RET
A,#OFEH
A,DIFXH
A,#OFDH
A,DIFXH
EBIT3: MOV A,#OFBH
OF& A,DIFXH
RET
EBITG : MOV
ORL
RET
EBIT5 : MOV
ORL
RET
EBIT6 : MOV
ORL
RET
EBIT7 : MOV
ORL
RET
EBITB : MOV
ORL
RET
A,#OF7H
A,DIFXH
A,#OEFH
A,DIFXH
A,#ODFH
A,DIFXH
A,#OBFH
A,DIFXH
A,#O7FH
A,DIFXH
UNC ION PINTA: PINTA UN BIT SI ES NEGRO (UNO) Y AVANZA UNA POSICION
CJNE A,#OFFH,SIGUEl
SETB P1.7
CALL ESPERAP
CLR P1.7
CALL ESPERAP
GUEl: (:!ALL ESPERAP
CALL MOVEX
NTA :
MOV A,POSXH
C JME A,X H ,FIN3
MOV A,POSXL
CJNE A ,XL,F I N 2
"2 :
MOV AUX, #OOH
ElOV A ,AUX
RET
129679
END
END
END
END
END
END
I
Descargar