Hernández Calderón Ma. Lidia 93319750

Anuncio
UNIVERSIDAD AUTONOMA METROPOLITANA
CIENCIAS BASICAS E INGENIERÍA
UNIDAD IZTAPALAPA
PROYECTO TERMINAL:
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA
OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
LICENCIATURA EN INGENIERÍA BIOMÉDICA
ÁREA DE CONCENTRACIÓN:
INSTRUMENTACIÓN MÉDICA ELECTRÓNICA
MARIA LIDIA HERNÁNDEZ CALDERÓN.
ASESOR:
___________________________________
ING. VÍCTOR HUGO TÉLLEZ ARRIETA
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
INDICE
INTRODUCCIÓN ............................................................................................................................................................. 3
OBJETIVO......................................................................................................................................................................... 3
PROPUESTA ..................................................................................................................................................................... 4
MICROCONTROLADOR 68HC11 ................................................................................................................................ 5
INTRODUCIÓN DE FUNCIONAMIENTO DE MOTORES A PASOS ..................................................................... 7
TIPOS DE PASOS........................................................................................................................................................... 7
MOTORES DE RELUCTANCIA VARIABLE............................................................................................................... 7
MOTORES UNIPOLARES............................................................................................................................................. 8
MOTORES BIPOLARES ................................................................................................................................................. 9
MOTORES MULTIFASE ............................................................................................................................................... 9
MODO DE OPERACIÓN DEL MOTOR UNIPOLAR: .................................................................................................. 9
INTRODUCCIÓN DE FIBRA OPTICA ....................................................................................................................... 11
DESARROLLO DE HARDWARE ................................................................................................................................ 14
SISTEMA MINIMO MICROCONTROLADOR MC68HC11 ................................................................................... 15
CIRCUITO DE ALIMENTACIÓN Y CONTROL DE MOTORES A PASOS ......................................................... 16
CIRCUITO RECEPTOR DE FIBRA ÓPTICA............................................................................................................ 17
DESARROLLO DEL SOFTWARE............................................................................................................................... 18
CONVERTIDOR ANALOGICO DIGITAL.................................................................................................................. 18
FORMATO DE LA COMUNICACIÓN SERIE EN EL MC68HC11............................................................................ 18
REGISTRO DE ESTADO DEL SCI (SCSR)................................................................................................................. 19
MAPEO DE MEMORIA E INICIALIZACIÓN DE REGISTROS ............................................................................ 21
INICIALIZACIÒN DE REGISTROS............................................................................................................................ 21
BIBLIOGRAFÍA ............................................................................................................................................................. 22
ANEXOS........................................................................................................................................................................... 23
LISTADO DEL PROGRAMA....................................................................................................................................... 23
PROGRAMA DE INTERFACE USUARIO Y COMUNICACIÓN SERIAL................................................................ 28
Pág. 2 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
INTRODUCCIÓN
El desarrollo de la tecnología en el ámbito hospitalario esta marcando diferencias de gran
impacto en la administración y en la clínica del Hospital, la digitalización de todas las áreas del
Hospital ya es una necesidad inminente. Ya no se puede pensar en organización si no se contempla
el uso de un sistema de computo para tal efecto, los datos de paciente, reportes médicos, historias
clínicas ya son alimentados a una red hospitalaria interconectada entre departamentos implicados e
incluso entre diferentes hospitales de especialidad, para facilitar la información, almacenamiento,
procesamiento, envió digitalizado de estudios clínicos y estudios de imágenes médicas.
Para el caso de las imágenes médicas se tiene que contemplar en muchos de los casos el
procesamiento de las mismas como aplicar filtros, enfatizar áreas de interés, acercamientos, etc.,
pues de esta manera el medico especializado en la materia puede analizar más a fondo cada caso lo
que le permite tener más herramientas de apoyo para dar un diagnóstico acertado. Por lo
anteriormente expuesto se hace necesario llevar a cabo la digitalización de las imágenes médicas que
se obtienen.
Las imágenes digitales producto de una Tomografía (TAC), Resonancia magnética (RM) no
es un problema para este tipo de sistemas de redes computacionales pues ya son producto de una
reconstrucción digital. La necesidad radica en la digitalización de imágenes analógicas como lo son
las placas de RX y cualquier impresión de imagen en placa radiográfica como en algunos casos
estudios de ultrasonido, ecocardiografía, mastografía. Por lo anteriormente expuesto, el presente
proyecto se implementa para cubrir esta necesidad, desarrollando un sistema que permita digitalizar
estas imágenes.
OBJETIVO
Desarrollar un sistema de lector digital de placas de imagen analógicas Para realizar una
adquisición de imágenes binarias por medio de fibra óptica a partir de la digitalización de una placa
analógica (RX) hacia una computadora personal o red de cómputo utilizando motores de paso y
mecánica.
Pág. 3 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
PROPUESTA
El sistema consta de tres etapas las cuales se describen a continuación:
1. Mecánica que consiste en el movimiento de un detector de fibra óptica por medio de motores
a pasos que ubican al detector en un sistema cartesiano (x, y). Siendo la adquisición de datos
de forma puntual, es decir el sistema recorrerá todo el plano cartesiano punto por punto para
formar una matriz de palabras que se traduce en una intensidad en escala de grises, los cuales
corresponden a los píxeles de la imagen.
2. Controlador o tarjeta interfase que da vida a los motores a pasos y realiza la adquisición de
datos por medio de fibra óptica y un convertidor analógico-digital, etapa que se implementa
con un sistema mínimo y un microcontrolador MC68HC11. El sistema es capaz de enlazar
toda la información adquirida con una Computadora Personal por medio del puerto serial. Se
desarrolla el programa de control y captura de información del microcontrolador
MC68HC11.
3. Desarrollo del programa de Interfase con el Usuario en la Computadora Personal e interfase
con la tarjeta controladora. Este desarrollo se llevo a cabo en Borland C++ estructural y
ensamblador. Se logra la ambientación y visualización de la imagen adquirida para su
eventual procesamiento ó almacenamiento.
MOTOR 1
DESPLAZAMIENTO EN
X
MOTOR 2
DESPLAZAMIENTO EN
Y
SISTEMA MINIMO
CONTROLADOR DE
MOTORES Y
ADQUISICIÓN POR
FIBRA OPTICA
FIBRA
OPTICA
PLACA
RADIOGRAFICA
FUENTE
LUMINOSA
Figura 1. Sistema Mecánico e Interfase
Pág. 4 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
MICROCONTROLADOR 68HC11
El MCH68HC11 es un microcontrolador de 8 bits que puede direccionar hasta 65536 bytes,
cuenta con alta capacidad para soportar circuitos periféricos sofisticados tal que se puede utilizar
ampliamente en diversas aplicaciones,
Entre sus principales ventajas es el que pese a ser un microcontrolador de 8 bits, cuenta con
instrucciones para realizar algunas operaciones de 16 bits, además de tener integrados varias
funciones que lo hacen ideal para realizar funciones de control. Su diseño permite aumentar la
velocidad del bus a 2 megahertz.
El microcontrolador tiene incluido 512 bytes de EEPROM y 512 bytes de RAM, un
convertidor analógico digital con resolución de 8 bits, una comunicación asíncrona de interfase
periférica serial (SCI) y una comunicación síncrona de interfase periférica serial (SPI), un sistema
temporizador (TIMERS), un subsistema de acumulador de ocho bits para contar eventos externos o
medir periodos externos, un circuito de monitoreo para proteger al sistema de errores, dos
instrucciones de software para control WAIT y el STOP. Cuenta con un Watchdow para proteger al
sistema de errores, El voltaje de polarización es de 5volts.
Este microcontrolador es de tecnología Motorola.
El (C.A.D) convertidor analógico digital que se utiliza para realizar la conversión de la
imágenes binarias a una imagen digital es el que tiene integrado el Microcontrolador 68HC11.
El sistema analógico digital consta de 8 canales, 8 bits de aproximaciones sucesivas de
conversión con ± 0.5 bit menos significativo de precisión sobre los rangos de temperatura
específicos.
Puertos (A, B, C, E)
Puerto A
El puerto A tiene líneas de entrada y de salida. Tres terminales son de propósito general ó
de entrada por captura y cuatro de salida de propósito general o salida por comparación y una más
que puede ser programada como entrada o salida PA7. La terminal PA7 es usada también como
entrada al acumulador de pulsos.
Puerto B y C
Estos puertos tienen diferentes funciones dependiendo del modo de operación. Cuando el
MC trabaja en modo de chip único, las terminales del puerto B son siempre de salida y las del puerto
C bidireccionales y ambas de propósito general. Cuando el MC trabaja en modo expandido el
puerto B y C sirven como bus de datos y de direcciones respectivamente multiplexando en el puerto
C la parte baja de las direcciones con el bus de datos.
Pág. 5 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
Puerto D, STRA y STRB
El puerto D esta formado por 6 terminales, las cuales pueden ser utilizadas como
comunicación serial o como líneas de entrada o salida de propósito general. Para la comunicación
asíncrona la terminal PD0 es usada para recibir datos seriales y la terminal PD1 es usada para
transmitir datos seriales. Estas dos terminales están asociadas con un bloque interno del MC llamado
SCI interfase de comunicación serial, este bloque realiza las funciones de propósito general UART
(Universal asíncrono receptor / transmisor).
Las otras cuatro líneas del puerto D pueden ser también configuradas para comunicación
serial, estas se encuentran asociada con el bloque llamado SPI Interfase Periférica Serial. Este bloque
es usado para comunicarse con otros dispositivos electrónicos como desplegadores de cristal líquido,
convertidores A/D; etc.
La función de las terminales STRA y STRB, varía según el modo de operación del MC. En
el modo de chip único son líneas de control de los puertos B y C. En el modo expandido STRA
permite diferenciar entre un dato y una dirección (Pin llamado AS en modo expandido) y STRB es la
línea de lectura escritura R/W que indica cuando el MC lee o escribe en algún dispositivo.
En este caso el Microcontrolador se uso en modo expandido.
Puerto E
El puerto E esta formado por 8 terminales, las cuales pueden ser utilizadas como 8 líneas de
entrada de propósito general o de entrada para el convertidor analógico digital.
Pág. 6 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
INTRODUCIÓN DE FUNCIONAMIENTO DE MOTORES A PASOS
Los motores de pasos vienen en dos variedades, de imán permanente y de reluctancia*
variable (hay también motores híbridos, los cuales son indistinguibles). Los motores de reluctancia
variable generalmente tienen tres ó cuatro devanados, con un retorno común, mientras que los
motores de imán permanente usualmente tienen dos devanados independientes, con o sin derivación
central. Los bobinados con derivación central, son usados en motores de imán permanente
unipolares. Los motores de paso vienen con un amplio rango de resolución angular, los motores
estriados, típicamente giran 90 grados por paso, mientras que los de los motores de imán permanente
de alta resolución son capaces de manejar 1.8 o 0.72 grados por paso. Con un regulador apropiado,
muchos motores de imán permanente e híbridos, pueden correr en medios pasos, y algunos
reguladores pueden manejar pasos fracciónales más pequeños o micro pasos.
Para ambos motores de paso (de reluctancia variable y de imán permanente), si un devanado
del motor es energizado, el rotor se romperá el ángulo fijo, y sostendrá el ángulo hasta el exceso de
torque del motor, en cuyo punto, el rotor girara, tratando de tener un equilibrio en cada punto
sucesivo.
TIPOS DE PASOS
Los motores de pasos operan por energización de sus fases, en ciertas secuencias llamadas
patrón de fases. Cambiando de un patrón a otro, hace que el motor se mueva un paso. Hay tres
diferentes tipos de modos de patrón de fases. El modo de medio paso, en donde el motor alterna
entre una y dos fases del motor, siendo energizados. El modo de medio paso, es el más común, hace
que se tenga el doble de resolución del modo de pasos completo, el cual reduce la vibración. Hay dos
tipos de modo de pasos completo, el de paso lleno doble, en el cuál siempre se energizan dos fases a
un tiempo que resulta en más torque y más calor para el motor; y el de paso lleno simple, en el cual
siempre se energiza una fase del motor, el cual resulta en menos torque y menos calor al motor.
MOTORES DE RELUCTANCIA VARIABLE
Si un motor tiene tres fases, típicamente conectadas como se muestra en la figura 2, con una
terminal común a todos los devanados, esto es más probable en motor de pasos de reluctancia
variable. En uso, típicamente el cable común va al suministro positivo y los devanados son
energizados en secuencia.
Hay también motores de reluctancia variable con 4 o 5 devanados, que requieren de 5 o 6
fases. El principio de manejo de estos motores es el mismo que los de tres devanados, pero es muy
importante el orden correcto para energizar los devanados y hacer el motor más eficaz.
Pág. 7 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
Figura 2. Motor de Reluctancia Variable
MOTORES UNIPOLARES
Los motores unipolares híbridos y de imán permanente con 5 o 6 cables, usualmente tienen
derivación central en cada dos fases. En uso, la derivación central de los devanados están
típicamente conectados al voltaje positivo, y las dos orillas de cada devanado están alternativamente
aterrizado a tierra en reversa a la dirección del campo creado por las bobinas. El motor que se
muestra a continuación gira 30 grados por paso. El devanado 1 del motor, esta distribuido entre la
parte superior de la polea del estator, mientras que el devanado 2 del motor esta distribuida entre los
polos derecho e izquierdo del motor. El rotor es un imán permanente con 6 polos, 3 al sur y 3 al
norte arreglados alrededor de esta circunferencia. Para una resolución angular alta, el rotor puede
tener más polos proporcionalmente. Los 30 grados por paso del motor de la figura, es uno de los
motores más comunes diseñados de imán permanente, con 7.5 ó 15 grados comúnmente disponible.
Motores de imán permanente con resoluciones tan buenas como 1.8 grados por paso son fabricados,
y motores híbridos son rutinariamente construidos con 3.6 y 1.8 grados por paso, con resoluciones
tan finas como 0.72 grado por paso.
Como se muestra en la figura 3, el flujo de corriente desde la derivación central de la fase 1 a
la terminal a, causa que la parte superior del polo del estator este a un polo norte, mientras que la
parte baja de la polea del estator este a un polo sur. Esto atrae al rotor dentro de la posición
mostrada. Si la potencia de la fase 1 es removida y la fase 2 es energizada, el rotor girara 30 grados,
o un paso.
Figura 3. Motor Unipolar
Pág. 8 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
MOTORES BIPOLARES
Los motores bipolares de imán permanente e híbridos, están construidos exactamente con el
mismo mecanismo que el motor unipolar, pero las dos fases están conectadas más simplemente, con
un tap - central. Así, el motor es más simple, pero el manejador de circuito es más complejo,
necesita la polaridad inversa de cada par de polos del motor.
Figura 4.Motor Bipolar
MOTORES MULTIFASE
Una clase menos común de motores de imán permanente es conectado con todas sus
devanados de el motor en series cíclicas, con un tap entre cada par de devanados en el ciclo. El
diseño más común en su categoría usa 3 y 5 fases de cableado. El control requiere la mitad de
potencia para cada terminal del motor, pero estos motores pueden suministrar más torque. Algunos
motores de 5 fases tienen alta resolución en un orden de 0.72 grados por paso (500 pasos por
revolución).
Figura 5. Motor Multifase
MODO DE OPERACIÓN DEL MOTOR UNIPOLAR:
Cuando la derivación central de estos motores esta conectado a +12 volts y una de las
terminaciones esta aterrizada a tierra, el embobinado conducirá desde 170mA a 250mA,
dependiendo del motor.
Pág. 9 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
CAFE
NE GR O
CAFE
R OJO
A M A R IL L O
CA FE
VE RD E
BLA NC O
R O JO
AZUL
BLANCO
Figura 6. Embobinado para Motores Unipolares de imán permanente más comunes
Para aplicaciones donde cada motor maneja menos de 500 mA, la familia de arreglo de
Darlington ULN200X es ampliamente utilizada, también es utilizado el DS200X de (National
Semiconductor) o de Motorola el MC1413. Para el caso del ULN2003 consta de un arreglo de 7
transistores Darlington, compatible con entradas TTL. La base resistora en cada transistor es
marcada por un estándar bipolar de salidas TTL. Cada Darlington NPN esta conectado con el emisor
conectado al pin 8, propuesto como un pin de tierra. Cada transistor de este paquete esta protegido
por diodos, uno cortando al emisor del colector, protegiendo al transistor de voltajes de reversa, y
uno conectado al colector al pin 9, si el pin 9 esta conectado al suministro positivo del motor, este
diodo protegerá al transistor de picos inductivos.
Figura 7. Arreglo Darlington
*reluctancia: cociente entre la fuerza magnetomotriz y el flujo magnético producido por un circuito
magnético. Se expresa como Rm=M/Φ
Pág. 10 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
INTRODUCCIÓN DE FIBRA OPTICA
El sistema de cable de fibra óptica consiste en dos capas concéntricas de materiales
transparentes. La porción interna que es el corazón o centro que transporta la luz, y una segunda capa
que reviste el corazón el cual tiene un índice refractivo mas bajo que el corazón; sin embargo, el
corazón y la capa del corazón nunca son exactamente del mismo material.
Una sección transversal de una fibra óptica nos muestra a detalle el corazón y la capa del corazón,
también muestra un rayo de luz dentro del ángulo de aceptación propagándose al interior de la fibra.
Recubrimiento
Corazón ó Centro
Capa del Corazón
Rayo de luz
Figura 8. Fibra Óptica
La luz incidente en la interfase corazón/capa del corazón por fuera del ángulo crítico, pasa al
interior de la capa del corazón y es absorbido.
La fibra plástica usada en este sistema tiene un recubrimiento de polietileno, una capa de
corazón de polímero fluorine y un corazón del polímero polimetil metacrilato (PMMA). El corazón
del la fibra es de 980 µm (0.04”) con un diámetro de la capa del corazón de 10µm.
El trabajo de una fibra óptica depende de los principios básicos de la óptica y la interacción
de la luz con la materia. Desde un primer punto de la física, la luz puede ser representada como
ondas electromagnéticas o como fotones. La luz es una pequeña parte del espectro electromagnético.
Tiene una frecuencia más alta y una longitud de onda más baja que las ondas de radio más comunes.
En el caso de la fibra óptica muchas operan entre 750 y l500 nm de longitud de onda. Muchas fibras
plásticas operan mejor en la región roja a 660nm. La relación entre la frecuencia y la longitud de
onda esta definida por la ecuación:
λ=c/f
donde c es la velocidad de la luz y f es la frecuencia.
Pág. 11 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
Índice Refractivo
La medida óptica más importante para cualquier material transparente es su índice refractivo
(n). El índice refractivo es la relación entre la velocidad de la luz en el vacío y la velocidad de la luz
en el medio.
n = c (vacío)/c (aire)
La velocidad de la luz en cualquier medio es siempre más baja que en el vacío, tal que el
índice refractivo es siempre mayor que uno.
En la práctica el índice refractivo es medido comparando la velocidad de la luz en el material y en el
aire y no en el vacío.
Transmisión de la fibra óptica.
La luz viaja en línea recta a través de muchos materiales ópticos, pero algunos rayos pasan a
través de interfaces entre materiales diferentes, la luz es desviada cuando esta pasa a través de una
superficie en la cual el índice refractivo cambia, figura 9. La cantidad de los rayos desviados
depende del índice refractivo de los dos materiales ó el ángulo de incidencia de los rayos incidentes
en la superficie de transmisión. Los ángulos de incidencia y de transmisión son medidos desde la
línea perpendicular de la superficie. La relación matemática entre el rayo incidente y el transmitido
se muestra como la Ley de Snell:
n´ sen Ø´ = n´´ sen Ø´´
Pág. 12 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
Figura 9. Interfase Óptica.
Donde n´ y n´´ son los índices refractivos de los medios inicial y secundarios,
respectivamente, lo mismo aplica para los ángulos Ø´ y Ø´´.
La ley de Snell indica que la refracción no puede tomar lugar cuando el ángulo de incidencia
llega a ser muy largo (la luz atraviesa desde un alto índice a un índice bajo). Si el ángulo de
incidencia excede del valor crítico, donde el seno del ángulo es igual a uno la luz no puede salir del
vidrio. Toda la potencia es reflejada cuando el ángulo de refracción es igual o más alto que el
ángulo de incidencia. Este fenómeno es llamado reflexión interna total. En un primer orden de
aproximación, la reflexión interna total es la que mantiene la luz confinada a una fibra óptica. El
ángulo crítico en el cuál ocurre una reflexión interna total puede ser derivado de la ley de Snell. La
apertura numérica de una fibra puede ser encontrada de la siguiente ecuación:
Ø Critico = arc sen (n´´ /n´)
NA= v (n2^2-n1^2)
Pág. 13 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
DESARROLLO DE HARDWARE
Para el desarrollo de este sistema se ocupo un sistema mínimo que consiste de los siguientes
elementos:
1. Microcontrolador MC68HC11: Se implemento en modo expandido, por lo que el puerto B
(A8-A15) y el puerto C (AD0-AD7), sirven como bus de datos y de direcciones
respectivamente multiplexando con ayuda del 74LS373 en el puerto C la parte baja de las
direcciones con el bus de datos(D0-D7).,
Los niveles de voltaje que existen durante el RESET en las terminales MODA Y MODB
determinan el modo de operación del MC.
TERMINAL
MODA
MODB Modo de operación
1
0
Circuito único
1
1
Expandido
2.
3.
4.
5.
6.
El pin AS permite diferenciar entre un dato y una dirección y el pin R/W es la línea de
lectura escritura que indica cuando el MC lee o escribe en algún dispositivo, se decodifica
por el 74LS138.
Convertidor Analógico digital es activado a través del puerto E, mapeado en la dirección
$1030 $1039. Adquisición de una palabra digital por cada píxel de la imagen.
Puerto y Comunicación Serial: Para la comunicación asíncrona la terminal PD0 (RxD) es
usada para recibir datos seriales y la terminal PD1 (TxD) es usada para transmitir datos
seriales
Decodificador binario de 3 bits (74LS138): Son conectados los tres bits más significativos
del bus de direcciones (A15-A13) por lo que nos da ocho posibilidades de activación de
dispositivos, ya sea para lectura o escritura de datos. Los dispositivos que se habilitan son:
memoria RAM, para almacenamiento de datos de la imagen memoria EEPROM, activación
del manejador 74 LS244 encargado de accesar una señal de reloj que dará la velocidad del
sistema por hardware y, activación del latch 74LS373 para habilitar motores a pasos.
Driver 74LS244. Para el control del reloj externo, del bus de datos (D0) recibe un cero ó un
uno lógicos para determinar el ritmo ó la velocidad a la que los motores a paso deberán
moverse en los ejes x. y.
Latch 74LS373, habilita la palabra del bus de datos al circuito controlador de motores, este
recibe la palabra de control para la decodificación de los motores ya sea motor 1 o 0 (ejes x,
y), así como la secuencia que estos requieren para rotar.
Pág. 14 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
SISTEMA MINIMO MICROCONTROLADOR MC68HC11
Q0-Q4 A CIRCUITO DE
CONTROL A MOTORES A
PASOS
Pág. 15 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
CIRCUITO DE ALIMENTACIÓN Y CONTROL DE MOTORES A PASOS
Del bus de datos en la salida del Microcontrolador ocupamos 4 líneas o bits para alimentar
los motores a pasos en su secuencia propia. La línea restante es ocupada para la decodificación de
los mismos. El circuito básico que controla la decodificación, manejo y suministro de potencia están
dados por los siguientes componentes:
1. Registro habilitador (74LS194): Es un latch el cual solo deja pasar la palabra de secuencia al
arreglo Darlington en caso de que la validación hecha por el 74LS85 sea verdadera, este latch
es sincronizado con la existencia de la palabra dada por la programación del
microcontrolador durante el funcionamiento del sistema.
2. Comparador (74LS85): .Decodifica comparando la palabra entregada por la programación
del microcontrolador, para saber que motor se estará habilitando. Tomando en cuenta que
para activar el motor numero uno, la palabra entregada por dicha programación se compara
con un cero lógico y para activar el segundo motor la palabra entregada por la programación
del microcontrolador, se comparará con un uno lógico.
3. Manejador de arreglo Darlington (ULN2003): Con un máximo de 600 mA en corriente se
suministra de energía a los motores.
Palabra entregada por
el sistema mínimo,
primeros 4 bits son la
secuencia del motor y
los siguientes 4 son la
decodificación
del
motor.
Figura 10. Circuito de Alimentación y control de Motores a Pasos.
Pág. 16 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
Se consiguieron motores a pasos con las siguientes características:
•
•
•
•
Motor DC a pasos con imán permanente y embobinado con derivación central.
Alimentación 12V
Consumo en corriente de 0.2A
Angulo de Rotación de 1.8o y 3.6o
Se procedió a caracterizar los motores y se encontraron dos secuencias de trabajo para 8 y 4 pasos,
de las cuales dio mejor resultado la secuencia de 4 pasos obteniendo una mayor fuerza y rapidez en
el movimiento del detector.
Secuencia de precisión
con 8 pasos (binario)
abcd
1000
1100
0100
0110
0010
0011
0001
1001
Secuencia normal con
4 pasos (binario)
abcd
0111
1110
1101
1011
a
b
c
d
CIRCUITO RECEPTOR DE FIBRA ÓPTICA
El circuito receptor de fibra óptica esta compuesto por tres partes; un detector/
preamplificador, amplificador y digitalizador. El detector óptico del receptor es un fototransistor
NPN, Q2. La conversión de la luz a corriente eléctrica ocurre en la función base. La corriente del
colector, similar al de un transistor convencional, y es amplificada por la ganancia de la corriente
del transistor, hfe. El resistor R1. 220K, de la base de Q1 a la tierra provee un camino de descarga
por la que atraviesa una corriente de descarga de las bases de Q2 a Q1, después el fototransistor se
apaga.
+ 5 V o lts
R2
DATO
Q 2
Q 1
R1
Figura 11. Circuito Receptor de fibra óptica.
Pág. 17 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
DESARROLLO DEL SOFTWARE
CONVERTIDOR ANALOGICO DIGITAL
El 68 HC11 contiene un convertidor analógico digital de 8 bits, con 8 canales con entradas
multiplexadas. Este consiste en una simple conversión de aproximaciones sucesivas con un error de
+- el bit menos significativo. El convertidor trabaja en un rango de ventana analógica de 0 a 5 V:
Para poder llevar el control del convertidor éste cuenta con dos registros: OPTION y ADCTL
llamado de estado. Estos registros se encuentran en las direcciones como sigue:
OPTION $1039
ADPU
CSEI
IRQE
DLY
CME
CR1
CR0
ADPU: Bit de encendido de la fuente interna del convertidor, 1 encendido, 0 apagado.
CSEI: Bit de selección del oscilador interno del convertidor 1 encendido, 0 apagado. Se utiliza en
caso de que el reloj del MC sea muy lento, menor que 750KHZ.
IRQM, DLY, CME, CR1, CR0: Bits no relacionados con la programación del convertidor.
ADCTL $1030
CCF
SCAN
MULT
CD
CC
CB
CA
CCF: Este bit nos indica cuando la conversión ha sido completa y en este caso el bit se pone en 1. Es
un bit de solo lectura. En el modo de conversión continua (SCAN), los resultados serán válidos hasta
que CFF este en 1.
SCAN: Control del modo de conversiones múltiples, si es 0 solo se realizan 4 conversiones, si es 1
la conversión se realiza de manera continua.
MUL: Este bit controla el modo de trabajo del multiplexor. Canales múltiples ó un solo canal. Si es
0 se realizan conversiones continuas de un mismo canal en grupos de 4. Cuando es 1 se realizan
conversiones de cada canal en grupos de 4.
CD, CC, CB, CA: Estos bits permiten seleccionar los canales que serán utilizados en la conversión.
En el caso del proyecto solo se utiliza un solo canal (bit CA=1).
FORMATO DE LA COMUNICACIÓN SERIE EN EL MC68HC11
En un puerto serie los datos se transmiten bit a bit. La transmisión de los datos se realiza a
través del puerto serial utilizando el formato de no regreso a cero (formato utilizado por en el MC
68HC11) como el que se muestra en la figura:
IDLE LINE
DATOS
START
START
STOP
Pág. 18 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
a)
b)
c)
d)
e)
El formato cumple con las siguientes características:
La línea estará ociosa teniendo un uno lógico antes de la transmisión o recepción de datos.
El bit de comienzo será un cero lógico
Los datos son recibidos y transmitidos comenzando por el bit menos significativo.
El bit de parada será un uno lógico e indicará el fin de la transmisión de un carácter
contenido en un paquete, el cuál consistirá de un bit de comienzo, un carácter de 8 ó 9 bits, y
un bit de parada.
Una terminación de transmisión o recepción se llevara acabo cuando la línea contenga un
cero por lo menos por el tiempo completo de un paquete que contenga un carácter.
El transmisor del SCI puede producir hileras de caracteres en uno lógico (estado ocioso)ó
hileras de caracteres en cero lógico(estado de ruptura).El corazón del sistema de transmisión es un
registro de corrimiento serial; usualmente este registro toma los datos del buffer de transmisión.
Los datos entran en el buffer cuando en el programa se escribe en el registro SCDAT.
Cuando entra en el registro de corrimiento procedente del buffer de transmisión , un cero es
agregado en el primer bit del dato, para que opere como bit de comienzo, y un bit de uno, es
agregado en la última posición para que opere como bit de parada.
En el caso previo al inicio a la comunicación serial ese registro de corrimiento es atiborrado de unos
para indicar línea ociosa. En caso de que se envíe un comando de ruptura el registro de corrimiento
es atiborrado de ceros.
El sistema SCI esta configurado y controlado por 5 registros: BAUD, SCCR1, SCCR2,
SCSR y SCDR. Adicionalmente el registro del puerto D, el registro de direcciones de datos por el
puerto D y el registro de control del SPI.
Cuando el receptor ó el transmisor del SCI son habilitados, el SCI lógico toma el control del
pin asociado con el puerto D. Las direcciones de los datos para los pines TxD y RxD son antepuestas
en la entrada y salida respectivamente. Sin embargo estos no controlan las direcciones de los pines
del puerto D mientras el SCI tiene el control.
La recuperación de los datos se realiza mediante un registro de corrimiento de alta velocidad,
el cual opera a 16 veces la velocidad del baud a que se esta llevando la comunicación.
REGISTRO DE ESTADO DEL SCI (SCSR)
Los siete estados de los bits asociados con el sistema del SCI están localizados en el SCSR,
descritos en el siguiente registro:
SCSR $102E
7
6
5
4
3
2
1
0
TDRE
TC
RDRF
IDLE
OR
NF
FE
0
1
1
0
0
0
0
0
0
TDRE - Registro de transmisión de datos vacíos.
Pág. 19 de30
RESET
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
Cuando es 0 = no vacío, un carácter fue previamente escrito en el SCDAT y aún no es transferido al
registro de transmisión para ser enviado serialmente.
Cuando es 1, indica que un nuevo carácter puede ser escrito ahora en el SCDAT.
Este carácter es verificado antes de cada nuevo carácter sea enviado para ver si el SCDAT puede
aceptar un nuevo dato. El transmisor del SCI tiene doble buffer tal que el TDR sostiene el segundo
carácter en la línea mientras el registro movido en transmisión serial sostiene el carácter en proceso
de ser transmitido serialmente.
La bandera TDRE, es puesta a uno durante el RESET para indicar que no hay un dato significativo
en el SCDAT.
TC - Transmisión completa
Cuando es cero, indica que el transmisor esta ocupado,
Cuando es 1, indica que el transmisor ha completado el envío y ha alcanzado un estado ocioso. Se
limpia la bandera TC leyendo al SCSR, seguido por una escritura al SCDAT. El TC es leído una
vez durante la lectura de SCSR.
La bandera TC es puesta a uno durante el reset para indicar que el transmisor no esta ocupado o no
esta transmitiendo nada.
RDRF – Registro de transmisión de datos llenos
Si es 0, no esta lleno, indica que no se ha recibido nada desde que el último carácter fue leído en el
SCDAT.
Si es 1, indica que un carácter ha sido recibido y transmitido desde el registro receptor ajustado al
SCDAT paralelo desde donde puede ser leído en el. Software.
La bandera RDRF es limpia leyendo al SCSR, seguido por una lectura SCDAT. RDRF, es leído una
vez durante la lectura del SCSR.
IDLE – Detección de línea ociosa
Cuando es 0, indica que la línea RxD ó se encuentra activa o nunca ha estado activa desde que se
limpio IDLE.
Cuando esta en uno, indica que la línea RxD se ha convertido en una línea ociosa.
La bandera del IDLE es limpia, seguido por una lectura al SCSR, seguido por una lectura del
SCDAT. IDLE es leído al menos una vez durante la lectura del SCSR.
OR – Error de sobreescritura
Cero, indica que no hay error de sobreescritura,
Si es 1, indica que otro carácter fue recibido serialmente y fue leído para ser transferido al SCDAT,
pero el carácter recibido previamente no da sido leído.
La bandera OR es limpia leyendo al SCSR, seguido por una lectura del SCDAT.
OR, es leída una vez durante la lectura al SCSR.
NF – Bandera de ruido
Cero, indica que no se detecto ruido durante la recepción del carácter en el SCDAT.
Si es 1, recupera ruido lógico detectado durante la recepción del carácter en el SCDAT.
La bandera NF es limpiada leyendo al SCSR seguido por una lectura del SCDAT.
NF, es leída una vez durante la lectura del SCSR.
Pág. 20 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
FE – Estado de Error.
Es cero cuando no se detecta un estado de error.
Uno, Un estado de error fue detectado por el carácter en el SCDAT.
La bandera FE es limpiada leyendo al SCSR seguido por una lectura del SCDAT.
FE, es leída una vez durante la lectura del SCSR.
Registro de datos del SCI (SCDAT)
El SCDAT, esta separado en dos registros. Cuando el SCDAT esta leyendo, el RDR de solo lectura
es accesado; cuando el SCDAT esta escribiendo, el TDR de solo escritura es accesado. El
mnemónico usado para referirnos a esta ubicación de registro en el programa es el SCDAT.
7
6
5
4
3
2
1
0
R7
R6
R5
R4
R3
R2
R1
R0
T7
T6
T5
T4
T3
T2
T1
T0
U
U
U
U
U
U
U
U
SCDAT
$102F
RDR
(LECTURA)
TDR
(ESCRITURA)
RESET
MAPEO DE MEMORIA E INICIALIZACIÓN DE REGISTROS
Dirección
$C000H
$E000H
Elemento
RAM6264
EEPROM
$8000H
$A000H
74 LS373
74 LS244
$C000H
$1039H
$1030H
$0032H
DAC
ADCTL
Comentario
Lectura y escritura de datos.
Almacenamiento de datos de la
imagen
Control de motores a pasos
Reloj externo, velocidad del
sistema
Localidad de variables
Convertidor Analógico Digital
Dirección del registro ADCTL
Entrada de datos de Fibra óptica
INICIALIZACIÒN DE REGISTROS
OPTION $1039
ADPU
CSEI
IRQE
DLY
1
0
0
1
Encendido del convertidor Analógico Digital
CME
0
ADCTL $1030
CCF
SCAN
MULT
CD
0
0
1
0
0
Conversión de datos de forma continúa utilizando un solo canal
Pág. 21 de30
0
CR1
0
CR0
0
CC
0
CB
0
CA
1
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
BIBLIOGRAFÍA
I. Robert f. Coughlin, Frederik f. Driscoll. Circuitos integrados lineales y amplificadores
operacionales, Prentice Hall Hispanoamericana, 2da edición.
II. MC68HC11, Reference Manual, Motorola Inc, 1991, rev 2.
III. Electrónica de Microcontroladores, Micro C. Martín Raya Bahena.
IV. Motorola inc. Microprocessor, Microcontroller, and Peripheral data vol.II
V. Microprocessors and interfacing, programming and hardware, Douglas V. Hall
VI. Understanding fiber optics, Hecht, Howard W. Sams, 4300 west 62 nd street, Indianapolis,
1989
VII. An introduction to optical fibers, Cherin , McGraw-Hill book company 1983
VIII. IEEE Transactions on Biomedical Engineering Vol. 43, No. 6, June 1996. (The Design
an Optical Fiber Pressure Transducer for Use in the Upper Airways )
IX. Douglas W. Jones
Stepping Motor Types and Physics
Part 1.
http://www.cs.uiowa.edu/∼jones/step/types.html
http://www.cs.uiowa.edu/∼jones/step/example.html
http://www.hut.fi/Misc/Electronics/circuits/diskstepper.html
http://www.creaturoides.com/srvesp.htm
X. MD- 2
Dual Stepper Motor System
User’s Guide
Arrick Robotics
Revisión D
Pág. 22 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
ANEXOS
LISTADO DEL PROGRAMA
INICIO EQU
SERIAL EQU
SCSR
EQU
SCDAT EQU
OPTION EQU
ADCTL EQU
CANAL2 EQU
OPTICA
REGBAS EQU
DIRMOT EQU
VAR
EQU
CONTEO EQU
$C200
$E41D
$102E
$102F
$0039
$0030
$0032
; DIRECCION DE INICIO DE PROGRAMA
; DIRECCION DEL COMUNICACION SERIAL DEL BUFALO
; DIRECCION DEL SCSR
; DIRECCION DE SALIDA DE DATOS DEL SCI
; DIRECCION DEL REGISTRO OPTION DEL ADC
; DIRECCION DEL REGISTRO ADCTL
; CANAL POR EL QUE ENTRAMOS LOS DATOS DE FIBRA
$1000 ; DIRECCION DEL REGISTRO BASE
$8000
$C000 ; LOCALIDAD DE VARIABLES
$0000
ORG INICIO
; INICIALIZA EL ADC
LDY #REGBAS
LDAA
STAA
LDAA
STAA
; INICIALIZA EL ADC
#$90
; ENCIENDE EL ADC 1001 0000
OPTION,Y
#$21 ; SELECCIONO CANAL 0010 0001, PARA CONVERSION CONTINUA
ADCTL,Y ;
;FIN INICIALIZACION ADC
LDAA #$01H
STAA $C000H
LDD
LDAA
0D, 0B)
STAA
LDAA
STAA
LDAA
STAA
LDAA
STAA
#0000H
#$07H
; BANDERA DE RETARDO
; CARGAMOS LA SECUENCIA DEL MOTOR A 4 PASOS (07, 0E,
$C004
#$0EH
$C005
#$0DH
$C006
#$0BH
$C007
Pág. 23 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
; MAIN
LAZO:
LDD
STD
STD
#$C004 ; CARGA Y ALMACENA EL ULTIMO ETADO DE MOTOR 0
$C00CH ; POR DEFAULT APUNTADOR DE PASO 07h
$C00EH ; ALMACENA ULTIMO ESTADO DE MOTOR 1 POR DEFAULT 07h
LDD $C00CH
STD $C010H
LDAA #$64H ; CARGA NUMERO DE PASOS A DAR
STAA $C012H ; ALMACENA # DE PASOS DE EJEX O EJE Y
LDAA #$00H ; MOTOR ADELANTE
STAA $C015H ; ALMACENA BANDERA DE SIFNO DE DIRECCION
STAA $C016H ; BANDERA DE DECODIFICACION DE MOTOR 0/MOTOR0,
1/MOTOR1
JSR FUNCIONMOT
LDD $C00EH
STD $C010H
LDAA #$64H
STAA $C012H
LDAA #$01H
; MOTOR ABAJO
STAA $C015H
LDAA #$01H
STAA $C016H
JSR FUNCIONMOT
LDD $C00CH
STD $C010H
LDAA #$64H
STAA $C012H
; MOTOR ATRAS
LDAA #$01H
STAA $C015H
LDAA #$00H
STAA $C016H
JSR FUNCIONMOT
LDD $C00EH
STD $C010H
LDAA #$64H
STAA $C012H
LDAA #$00H
; MOTOR ABAJO
STAA $C015H
LDAA #$01H
STAA $C016H
JSR FUNCIONMOT
JMP LAZO
Pág. 24 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
; FIN DE FUNCION LAZO
; FUNCION MOTOR
FUNCIONMOT
LDAB #$00H
STAB $C001H
LDX
$C010H ;X , ES EL APUNTADOR PARA SELECCIÓN DE LA SECUENCIA
DEL MOTOR
; MOTOR:
LDAB $C001H ; INCREMENTAMOS EL CONTADOR
INCB
STAB $C001H
; DIRECCIONAMIENTO DE LOS MOTORES DERECHA E IZQUIERDA
LDAA
LDAB
CMPB
BNE
$00,X
$C015H ; COMPARAMOS CON BANDERA DE DIRECCION
#$00H
MATAB ; BRINCA MOTOR ATRÁS Y ABAJO
;EL SIGUIENTE CODIGO SE VERIFICA EN PARTE DEL SECUENCIA SE
ENCUENTRA EL APUNTADOR PARA REINICIALIZARLO EN CASO DE SER
NECESARIO PUES SOLO SON 4 SECUENCIAS DEL MOTOR A PASOS, POR
SUPUESTO LA FUNCION MATAB REINICIALIZA EN SENTIDO INVERSO
INX
CMPA
BNE
LDX
BRA
; CODIGO PARA AUMENTAR EL SIGUIENTE PASO A LA DERECHA
#$0BH
; O AL FRENTE
SIGUE
#$C004H ; REINICIALIZA APUNTADOR EN PRIMER PASO
SIGUE
MATAB:
DEX
CMPA #$07H ; COMPARACION IF DELIGADO DE COLA
BNE SIGUE
LDX #$C007H ; REINICIALIZA APUNTADOR EN ULTIMO PASO
SIGUE:
; MOTOR00 O MOTOR1
LDAA $00,X ; CARGAMOS VALOR DEL PASO DE MOTOR
Pág. 25 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
LDAB
CMPB
BNE
ADDA
$C016H ; BANDERA DE INDICACION DE MOTOR 0 o 1
#$01H
M0O1
#$10H ; SUMA 16 PARA MOTOR 2.
M0O1:
STAA DIRMOT ; HABILITAMOS 373
RETARDO:
LDAA $A000H ; RECUPERAMOS DE 244, STADO DEL RELOJ
ANDA #$01H ; AND CON DATO D0
CMPA $C000H
BNE RETARDO
INCA
ANDA #$01H
STAA $C000H ; FIN DE RETARDO
; ADQUIRIR DATO Y MANDAR POR SERIAL
LDAA CANAL2,Y
OUTSCI2:
LDAB SCSR
BITB #$80
BEQ OUTSCI2
ANDA #$7F
STAA SCDAT
; FIN DE ADQUISISION
LDAB $C001H
CMPB $C012H ;100 PASOS M0
BLE MOTOR
; FIN DE MOTOR
; GUARDAMOS ULTIMA CONDICION DE LOS MOTORES
LDAB
CMPB
BNE
STX
BRA
TERMINA:
$C016
#$01H
TERMINA
$C00EH ; GUARDA ULTIMO STADO DEL MOTOR 1
FIN
Pág. 26 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
STX
$C00CH ; GUARDA ULTIMO ESTADO DEL MOTOR 0
; FIN DE MOTOR
FIN:
RTS
; JMP $C200
; FIN DE FUNCIONMOT
Pág. 27 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
PROGRAMA DE INTERFACE USUARIO Y COMUNICACIÓN SERIAL
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <process.h>
#include <bios.h>
#include <graphics.h>
/* (9600 baudios ,ninguna paridad,STOP1,caracteres de 8 bits*/
#define CONFIGURA 0XE3
#define COM1
#define COM2
0x03f8
0x02f8
void inicia_puerto(void);
char estado_puerto(void);
void llena_buffer(void);
//int *buffer[];
void main(void)
{ char c;
inicia_puerto();
//
inicia_graficos();
do{
llena_buffer();
//
grafica();
if(kbhit())
{
c=getch();
if(c==0x0)
c=getch();
}
//
closegraph();
}while(c!=0x1b);
}
void inicia_puerto(void)
{
Pág. 28 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
asm{
MOV AH,00H
MOV AL,CONFIGURA
MOV DX,0000H
INT 14H
}
}
char estado_puerto(void)
{ char a=0x00;
while(a!=0x01)
{
asm{
MOV AH,03H
MOV DX,0H
INT 14H
AND AH,01H
MOV a,AH
}
} //fin de while
return 'b';
}
unsigned char lee_byte(void)
{
unsigned char a;
asm{
MOV DX,COM1
IN AL,DX
MOV a,AL
}
return a;
}
void llena_buffer(void)
{
int i,buffer;
char cart;
for(i=0;i<=100;i++)
{
Pág. 29 de30
PROYECTO TERMINAL DE TITULACION
DIGITALIZACION DE IMÁGENES POR MEDIO DE FIBRA OPTICA UTILIZANDO MOTORES DE PASO Y MECANICA
_______________________________________________________________________________________________
//
cart=estado_puerto();
if(estado_puerto()=='b')
buffer=(int)lee_byte();
printf("%d",buffer);
}
}
/*
void inicia_graficos();
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
/* return with error code
}
getch();
return 0;
}
void llena_buffer(void);
{
inicializa_graficos();
char estado_puerto(void);
unsigned char lee_byte(void);
int i;
for(i=0;i<=100;i++)
{if(estado_puerto=='b'))
buffer[i]=(int)lee_byte();
putpixel(x,y,buffer[i]);
}
}*/
Pág. 30 de30
Descargar