divisiÓn de ciencias bÁsicas e ingenierÍa

101
DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA DEPARTAMENTO DE ELECTRÓNICA PROYECTO TERMINAL SISTEMA DE ADQUISICIÓN DE DATOS PARA MONITOREO DE AGUAS ASESOR ALEJANDRO MARTÍNEZ GONZÁLEZ ALUMNOS ANÍBAL ADÁN CAMPOS LÓPEZ 94216247 ROBERTO BARRUETA RAMÍREZ 94219735 NOVIEMBRE 2006

Upload: others

Post on 12-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

PROYECTO TERMINAL

SISTEMA DE ADQUISICIÓN DE DATOSPARA MONITOREO DE AGUAS

ASESOR

ALEJANDRO MARTÍNEZ GONZÁLEZ

ALUMNOS

ANÍBAL ADÁN CAMPOS LÓPEZ94216247

ROBERTO BARRUETA RAMÍREZ94219735

NOVIEMBRE 2006

Page 2: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

Quiero dedicar el presente trabajo y agradecer el granapoyo que me han proporcionado para lograr misobjetivos.

A Dios y a mis padres por haberme dado la vida yguiado con sus sabias palabras.

A Mi esposa y mi hijo que han sido un gran estímulopara seguir superándome.

A mis hermanos que siempre han confiado y creído enmí.

A mis profesores que han sembrado en mí la semilladel conocimiento.

A mis compañeros y amigos, con los que he compartidoéxitos y frustraciones.

En general, me siento agradecido con todas y cada unade las personas que han sido parte de mi vida y que deuna u otra forma me han tendido su mano y me hanofrecido su apoyo incondicional.

Roberto Barrueta Ramírez

Page 3: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

A mi mamá

Por su estimulo, su paciencia, su apoyo,

por levantarme temprano,

por estar siempre a mi lado,

y sobre todo, por confiar en mí,

gracias.

Adán.

Page 4: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 1

INDICE

SECCIÓN I INTRODUCCIÓN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

SECCIÓN II JUSTIFICACIÓN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

SECCIÓN III OBJETIVO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

SECCIÓN IV ESTADO DEL ARTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1 CUADRO COMPARATIVO CON LA TECNOLOGÍA ACTUAL. . . . . . . . . . . . . . . 12

SECCIÓN V DESARROLLO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.1. MICROPROCESADORES vs MICROCONTROLADORES. . . . . . . . . . . . . . . . . 14

5.1.1. CARACTERISTICAS DE LOS MICROPROCESADORES. . . . . . . . . . . . . 14

5.1.2. CARACTERISTICAS DE LOS MICROCONTROLADORES. . . . . . . . . . . 17

5.1.3. DIFERENCIAS ENTRE EL MICROPROCESADOR Y EL

MICROCONTROLADOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.1.4. REGISTROS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.1.5. CONJUNTO DE INSTRUCCIONES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5.1.6. REPRESENTACIÓN DE LAS INSTRUCCIONES. . . . . . . . . . . . . . . . . . 22

5.1.7. INSTRUCCIONES DEL MICROPROCESADOR Z80. . . . . . . . . . . . . . . . 24

5.2. IMPLEMENTACION DE UN SISTEMA DE ADQUISICIÓN DE DATOS. . . . . . . 25

5.2.1. ELEMENTOS DE DISEÑO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2.2. MICROPROCESADOR Z80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2.3. MEMORIAS RAM Y EEPROM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2.4. MULTIPLEXOR 74LS138. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2.5. CONVERTIDOR ANALÓGICO-DIGITAL. . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2.6. INTEGRADO Z84C90KIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.2.7. POWER ON RESET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Page 5: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 2

5.2.8. INTERFAZ SERIAL. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.3. CONEXIONES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.4. RELOJ DEL SISTEMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.5. MAPEO DE MEMORIA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

SECCIÓN VI PROGRAMACIÓN DEL SISTEMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.1 MODULOS DEL PROGRAMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.2. USO DEL SIMULADOR SIMZ80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.3. MANUAL DE OPERACIÓN DEL SISTEMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

SECCIÓN VII RESULTADOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

SECCIÓN VIII CONCLUSIONES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

SECCIÓN IX ANEXOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

ANEXO A: GLOSARIO / NOMENCLATURAS . . . . . . . . . . . . . . . . . . . . . . . . . 71

ANEXO B: CONVERSIÓN ANALÓGICO-DIGITAL. . . . . . . . . . . . . . . . . . . . . . 73

ANEXO C: PROTOCOLO DE COMUNICACIÓN RS-232. . . . . . . . . . . . . . . . . 77

ANEXO D: INDICE DE FIGURAS, DIAGRAMAS Y TABLAS. . . . . . . . . . . . . .. 80

ANEXO E: CONJUNTO DE INSTRUCCIONES Y RESUMEN

DE BANDERAS DEL MICROPROCESADOR Z80. . . . . . . . . . . . . 82

ANEXO F: CUADRO COMPARATIVO ENTRE EL VOLTAJE DE ENTRADA

Y SU EQUIVALENCIA EN EL SISTEMA DIGITAL. . . . . . . . . . . . . 92

SECCIÓN X BIBLIOGRAFÍA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Page 6: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 3

SECCIÓN I

INTRODUCCIÓN

Actualmente el desarrollo de sistemas digitales se ha popularizado, hasta hace poco el

conocimiento sobre tecnología estaba limitado a países muy desarrollados como Japón,

Estados Unidos, Francia, Etc. Sin embargo en las universidades de nuestro país y ahora con

la disponibilidad del Internet, el desarrollo de sistemas ha logrado un avance significativo, tal

es el caso de la Universidad Autónoma Metropolitana que con el apoyo de autoridades,

maestros y alumnos se han desarrollado sistemas en diferentes áreas de la ingeniería.

La intención del presente proyecto es determinar la altitud que alcanza la marea en

determinadas playas de nuestro país, la propuesta es muy sencilla pero de gran utilidad para

satisfacer esta demanda; el diseño consta de una Tarjeta Remota de Adquisición de Datos

cuya plataforma de diseño es el microprocesador Z80, sensores y una computadora para

monitorear la información.

Explicaremos de forma rápida cual será el funcionamiento de la Tarjeta; primeramente,

se obtiene una señal analógica por medio de sensores de presión ubicados en el fondo del

mar, la señal debe ser convertida a digital por medio de un convertidor Analógico-Digital que

nos permite trabajar simultáneamente con 8 canales diferentes, esto implica que por cada

tarjeta se pueden colocar ocho sensores; una vez que podemos manipular las señales en

forma digital se toman muestras del nivel de presión que se ejerce sobre los sensores, las

muestras pueden configurarse para que se tomen en periodos de 1,5,10, ..., 30 min, ....hasta

periodos de 12 horas, dependiendo de la necesidad del usuario.

Page 7: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 4

La información que se esta generando, se puede almacenar de forma automática en

memorias dinámicas y cuando sea requerida se coloca en el puerto serial RS232 para ser

enviada a la computadora, no es necesario que el usuario este pegado a la computadora ya

que como la información esta almacenada, en cualquier momento el usuario le indica al

programa que recupere la información de un canal.

Con la información ya en la computadora, se pueden generar estadísticas para

monitorear el comportamiento de la marea.

En las secciones siguientes se describe cada parte del proceso de elaboración de

nuestro proyecto cabe mencionar que la Tarjeta puede ser utilizada en otras aplicaciones

únicamente cambiando el tipo de sensor, por ejemplo las condiciones climáticas se detectan

con sensores de temperatura; mediciones cinemáticas y de dinámica elemental con sensores

de velocidad; etc.

Otro aspecto importante en la implementación del sistema es la economía, puesto que

se trabajó con elementos discretos que no son muy caros; por lo que el costo de diseño e

implementación se redujo en un 60% del valor comercial de un sistema de éste tipo.

Deseamos ante todo que el presente trabajo sirva como guía a nuestros compañeros

que actualmente están en proceso de enseñanza y se interesan por aprender más sobre el

diseño y la implementación de sistemas digitales, por esta razón abundamos mucho en la

descripción de cada uno de los elementos que integran el sistema, presentamos además una

sección de anexos, donde tenemos todos los glosarios y nomenclaturas utilizados en el

presente escrito para facilitar aún mas la comprensión de la lectura, así como técnicas de

conversión analógico-digital.

Page 8: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 5

SECCIÓN II

JUSTIFICACIÓN

La razón por la que se propuso el desarrollo de éste proyecto, se debe a que

últimamente se han observado cambios climáticos fuera de lo común; sobre todo el

incremento de lluvias abundantes que elevan el nivel de ríos y afluentes poco profundos, así

mismo se ha observado un incremento del nivel que alcanza la marea durante sus periodos

altos; estas situaciones provocan desbordamientos que afectan a comunidades enteras, así

como al ecosistema.

El proyecto nace de esta observación hecha por los compañeros del área de

hidrología y biología, quienes explican que estos cambios climáticos han erosionado de

manera alarmante las costas de nuestro país, afectando principalmente la biodiversidad

existente en esos lugares. La propuesta es elaborar un estudio para evaluar y prevenir los

daños provocados por la marea alta en las costas de Ciudad del Carmen en el estado de

Campeche.

La vida en Ciudad del Carmen es apacible y se desarrolla en medio de los últimos

sucesos y noticias de la actividad petrolera en la Sonda de Campeche ; tiene además la

fortuna de contar con una gran abundancia de camarón, actividad económica muy popular en

la zona. Ciudad del Carmen es pródiga en lugares apropiados para practicar deportes

acuáticos, ya que cuenta con un estupendo número de playas adecuadas para la natación o

el buceo, rodeadas en su mayoría por manglares donde habitan diversas especies marinas,

entre reptiles, aves y mamíferos.

Como se puede observar, existe una gran diversidad de fauna marina y la actividad

económica en torno a esta costa es muy importante al igual que otras costas del país, por

Page 9: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 6

esta razón se plantea como una necesidad prioritaria contar con sistemas de monitoreo que

estén reportando en tiempo real los niveles que alcanza el mar en cada instante, esta

información ayudaría a los habitantes y al personal del Sistema Nacional de Protección Civil

prepararse en caso de una emergencia. Cabe mencionar que el sistema que se propone

también es aplicable en presas y ríos latentes de riesgos para prevenir situaciones

alarmantes como desbordamientos.

Page 10: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 7

SECCIÓN III

OBJETIVO

El propósito del presente proyecto es desarrollar un sistema de adquisición de datos

sobre la plataforma del microprocesador Z80 de la marca Zilog, que realice las siguientes

funciones:

Ø Detectar la señal analógica de un sensor y convertirla en señal digital.

Ø Almacenar los datos en una memoria dinámica.

Ø Enviar la información a la computadora mediante un puerto serial RS-232.

Para lograr nuestro objetivo, será necesario integrar en una sola tarjeta, todos los

elementos discretos que conformarán nuestro sistema y sincronizarlos mediante un

programa elaborado en lenguaje ensamblador.

El sistema será alimentado con una fuente de alimentación de 5VCD, auxiliándose de

una batería de respaldo de 5.6 VCD para prevenir cortes de energía eléctrica.

Figura No. 1: Sistema Remoto de Adquisición de Datos

FUENTE DE

ALIMENTACIÓN5 VCD

BATERÍA DERESPALDO

5.6 VCD

INTERFAZSERIALRS-232

OCHOSENSORES

DE PRESIÓN

CORRIENTEALTERNA127 VCA

MODEMOPCIONAL

OPERADOR YCOMPUTADORA

CONVERSIÓN ANALÓGICA-DIGITAL

TARJETA REMOTA DE ADQUISICIÓN DE DATOS

Page 11: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 8

SECCIÓN IV

ESTADO DEL ARTE

La situación actual en el mercado es que existe una gran variedad de sistemas de

adquisición de datos; hay desde diseños muy sofisticados y con grandes capacidades,

adaptables a cualquier necesidad pero muy costosos, también se encuentran dispositivos

económicos muy sencillos en su funcionamiento y construcción, pero que no ofrecen grandes

aplicaciones; por otro lado la implementación de este tipo de sistemas es muy común como

materia de estudio en las universidades, ya que se pueden armar con cualquier

microprocesador o microcontrolador y la implementación no es muy complicada.

Nuestro prototipo se desarrolla sobre la plataforma del microprocesador Z80, y el

diseño es muy competitivo con sistemas de su tipo, porque además de ser económico, es

muy versátil debido a que se puede adaptar a cualquier aplicación.

A continuación se evalúan algunos de sistemas similares encontrados en el mercado

y diseños propuestos por otros estudiantes.

1.- EL ORDENADOR COMO MEDIO DE ADQUISICIÓN DE DATOS EN ELLABORATORIO. (Herrero y Rosado, 1995).

Su sistema se apoya básicamente en las propiedades de la computadora, dado que el

ordenador tiene la función de procesar información ellos utilizan esta capacidad para obtener

información a través de una tarjeta comercial de puerto paralelo (de las que usan las

impresoras), para recibir la información que envía un sensor de velocidad, con ello se

Page 12: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 9

pueden realizar experimentos de cinemática y dinámica elemental muy útiles durante el

aprendizaje de estas materias.

La siguiente grafica muestra la implementación del sistema.

Figura No. 2: Diseño del ordenador como medio de adquisición de datos

2.- DATALOGGER Sistema de Adquisición de Datos de 4 canales.

(Revista Saber Electrónica No. 193)

El sistema que propone la revista realmente es muy económico, sencillo, de fácil

implementación y programación, ya que el diseño utiliza microcontroladores de la serie

picaxe que son fáciles de reprogramar gracias a que usa pocas instrucciones para su

implementación, además cuenta únicamente con dos líneas de comunicación, una para el

reloj CLK y otra para los datos SDA.

El sistema tiene cuatro canales de adquisición, de los cuales uno se usa para

temperatura, y los restantes pueden ser aplicados a otro tipo de sensores; para que el

sistema funcione hace uso de tres baterías AA y una de lithio, los canales se pueden

programar en periodos de adquisición de dato desde 1 minuto hasta el rango de horas y

aunque no cuenta con gran capacidad de memoria, se le puede adaptar la memoria que se

requiera para almacenamiento de datos.

Las aplicaciones van desde prácticas escolares hasta pequeñas aplicaciones

comerciales.

En el ámbito comercial también se encuentran sistemas muy sofisticados, por ejemplo

la empresa Tecnatom S.A. se dedica desde hace años al diseño y construcción de sistemas

Page 13: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 10

de adquisición y evaluación de datos para la industria. Un ejemplo de sus sistemas se

muestra a continuación:

3.- TEDDY-GEN: Aplicación de propósito general para adquisición y evaluaciónde datos de corrientes inducidas

DESCRIPCIÓN DEL PRODUCTOAplicación software de propósito general apropiada para la inspección mediante corrientes inducidas (ET) ocampo lejano (RFET) con el equipo TEDDY, de cualquier tipo de componente (superficies, grandes tuberías,tubos, zonas roscadas, etc).

DESCRIPCIÓN DEL PRODUCTOEs una aplicación de propósito general apropiada paracualquier tipo de inspección con el equipo TEDDY, queincluye ambos procesos, adquisición de datos y análisis delos mismosDentro de sus funciones principales se encuentran el controldel proceso de adquisición, especificación de los parámetrosde inspección así como el archivo de los datos adquiridos ala vez que su representación. Una vez que los datos han sidoadquiridos la aplicación permite al usuario realizar un análisisde datos completo a partir de los datos salvados en cualquierdispositivo de almacenamiento de datos.Cuenta con varios modos de representación según el tipo detécnica escogida (corrientes inducidas o campo lejano):stripcharts, lissajous, C-Scan, plano polar del voltaje, entreotros.

La aplicación permite así mismo crear ficheros de informe con los resultados de la inspección así como la salidagráfica de los resultados.En ocasiones, esta aplicación se utiliza conjuntamente con la aplicación MIDAS de ultrasonidos, para lainspección simultánea de determinados componentes con ambas técnicas, corrientes inducidas y ultrasonidos.

CARACTERÍSTICAS TÉCNICASEntre sus características cabe destacar:- Transferencia de datos vía Ethernet (más de 150 m delequipo TEDDY- Adquisición de datos de señales de corrientes inducidas yposición de la sonda.- Representación de datos en tiempo real tanto en vistas tipostrip-chart y lissajous como en vistas tipo C-Scan.- Control de los movimientos de la sonda.- Interfase de usuario adaptable según inspección desuperficies o tubos.- Filtros digitales- Representaciones de fase, amplitud y plano polar del voltajepara el análisis con la técnica de campo lejano.- Posibilidad de canales duplicados, filtrados y combinacionesde ambos- Calibración y mezclas automática.

- Incorpora la Vista Perfil (representa un parámetro definido por el usuario frente a un eje)- Calibraciones definibles por el usuario. Nuevos algoritmos de calibración (regresión polinomial múltiple y otros)

Tabla 1: Características del proyecto TEDDY-GEN.

Page 14: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 11

4.- AMPERE.

Es una compañía mexicana que se dedica a la comercialización de sistemas de

instrumentación, control, automatización y monitoreo de procesos industriales, y dentro de la

gamma de productos que ofrecen están los data logres siguientes:

Registrador RH-02Registrador de humedad y temperatura

Registrador de pH DrDAQKit para la medición contínua y precisa de pH

USB TC-08 data loggerRegistrador de 8 canales para termopares

ADC-10 y ADC-12Registradores analógicos de 1 canal de voltaje 0-5 V

Registrador USB HumidiProbeSensor de humedad y temperatura USB ADC-11/10 y ADC-11/12

Registrador de 11 canales de señales de 0-2.5 V

Registrador TH-03Registrador de temperatura de alta resolución ADC-16

Registrador de señales analógicas de alta resolución

Registrador PT100Registrador a base de resistencias de platino

Tabla No. 2: Diferentes dispositivos de la empresa Ampere.

Page 15: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 12

4.1 CUADRO COMPARATIVO CON LA TECNOLOGIA ACTUAL.

Como puede observarse hay una extensa variedad de sistemas de adquisición de datos, en la siguiente tabla hacemos

un comparativo entre nuestro sistema y algunos de los mencionados con anterioridad.SISTEMA ECONOMIA PROGRAMACIÓN FUNCIONALIDAD APLICACIONES VENTAJAS DESVENTAJAS

Tarjeta Remota de Adquisición de

Datos.

Adán Campos López.

Roberto Barrueta Ramírez.

Su construcción es de

bajo costo.

Se programa cada

canal y sus

comandos son muy

sencillos.

8 canales de

adquisición que se

pueden adaptar a

cualquier aplicación

únicamente

cambiando el

sensor.

Medición de la

altitud del mar,

monitoreo de ríos

y presas,

evaluación de

condiciones

metereológicas,

monitoreo de

trafico vehicular,

conversión digital

de señales

analógicas.

Para la aplicación

por la que fue

diseñada cumple

al 100% con los

objetivos,

además puede

adaptarse a otros

sistemas de

monitoreo,

adquisición y

evaluación de

datos.

Implementación

muy básica

Ordenador como medio de

adquisición de datos.

Herrero y Rosado.

Su implementación es

de bajo costo.

No es necesario

programar, el

sistema es

básicamente de

análisis, las

condiciones iniciales

se obtienen de la

posición de los

sensores.

En aplicaciones de

física elemental, es

muy versátil.

Esta diseñado

para prácticas de

laboratorio de

cinemática y

dinámica

elemental, se

puede adaptar en

aplicaciones que

tengan que ver

con velocidad.

Muy bueno para

la aplicación que

fue diseñado.

No se puede

adaptar a otros

sistemas.

Page 16: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 13

SISTEMA ECONOMIA PROGRAMACIÓN FUNCIONALIDAD APLICACIONES VENTAJAS DESVENTAJAS

Dataloggers de 4 canales.

Revista saber electrónica No. 193

Se construye con

elementos baratos, por

lo tanto es muy

económico.

Su programación es

muy sencilla para

sus cuatro canales.

Está limitada por la

poca cantidad de

memoria que tiene

el sistema y por su

cantidad de canales.

Sus aplicaciones

son de propósito

general.

Puede adaptarse

a cualquier

aplicación.

Su capacidad es

muy limitada.

TEDDY-GEN

Tecnatom.

Este producto por ser

fabricado para fines

industriales, tiene un

costo elevado.

En poco compleja

por la magnitud del

sistema, pero

cuenta con los

manuales de

operación.

Tiene

presentaciones

gráficas que hace

más fácil el análisis

de los datos.

Específicamente

enfocadas hacia el

área industrial, a

evaluaciones e

Inspección de

instalaciones.

Permite hacer un

análisis virtual

mas detallado del

monitoreo en sus

pantallas.

El costo es

elevado, y son

diseñados para

aplicaciones

especificas.

Dataloggers de la empresa

Ampere.

Economía: son de

mediano costo,

puestos a disposición

del público.

algunos están

automatizados y no

requieren de

programación

porque cuentan con

display integrado,

otros modelos

requieren de

programación

sencilla y cuentan

con su manual de

operación.

Son muy versátiles

porque están

diseñados para

aplicaciones

específicas.

Son muy variadas

dependiendo el

modelo.

Se pueden

encontrar en el

mercado; mucha

durabilidad.

Su costo aun es

un tanto

elevado, para

aplicaciones

específicas, no

se pueden

adaptar a otros

sistemas..

Tabla No. 3: Cuadro comparativo del estado del arte.

Page 17: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 14

SECCIÓN V

DESARROLLO

5.1. MICROPROCESADORES vs MICROCONTROLADORES

Es conveniente conocer algunas características de los elementos utilizados en el

prototipo y contestar una pregunta muy importante ¿por qué utilizar un microprocesador y no

un microcontrolador que integra casi todos los elementos que necesitamos en un sistema

mínimo?; para dar respuesta a la pregunta, analizaremos cada uno de éstos elementos.

5.1.1. CARACTERÍSTICAS DE LOS MICROPROCESADORES.

Son dispositivos digitales altamente integrados que contienen en su interior millones

de transistores; su función primordial es facilitar el control y el cálculo computacional,

normalmente son utilizados en la fabricación de computadoras, cámaras digitales, equipos de

audio y video, en general son utilizados para el diseño de sistemas digitales y aplicaciones

en robótica.

En su interior contiene los elementos electrónicos y digitales necesarios para realizar

adecuadamente su función, estos elementos son: La unidad aritmética lógica (Aritmetic Logic

Unit ALU), los registros, la unidad de control y temporización, unidad de memoria y los

buses. (De datos y de direcciones).

La unidad aritmética lógica o ALU es la parte del microprocesador que con arreglos de

compuertas lógicas y transistores realiza las operaciones básicas de aritmética: suma, restas

y corrimientos, todo esto se hace de forma digital. La operación que deba realizar el

microprocesador será seleccionada por la unidad de control, los datos serán obtenidos de

alguno de los registros de almacenamiento (memoria) o bien de la etapa de entrada,

Page 18: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 15

mientras que la salida se puede almacenar nuevamente en la memoria o colocarse en la

etapa de salida.

Los registros tienen la función de mantener la información ya sea un dato o una

dirección para que sea utilizada posteriormente por otra unidad del microprocesador, más

adelante se describirá la función de los registros.

La unidad de control, toma instrucciones de la unidad de memoria, una por una, las

interpreta y las prepara para su ejecución. Luego envía las señales apropiadas al resto de

los elementos del microprocesador para que la instrucción sea ejecutada.

La función de esta unidad es la de dirigir la operación de todas las unidades del

microprocesador ofreciendo señales de temporización y control. En cierto sentido, funciona

como el director de una orquesta, quien es el responsable de mantener a cada uno de los

miembros de la orquesta sincronizados adecuadamente. En su interior contiene circuitos

lógicos y de temporización que generan las señales adecuadas que se necesitan para

ejecutar las instrucciones de un programa.

La unidad de control extrae la instrucción de la memoria mediante el envío de una

dirección y un comando de lectura a la celda de memoria. La instrucción almacenada en

dicha dirección es colocada en la unidad de control y ejecutada a continuación, las palabras

tanto de dirección como de datos son combinaciones predeterminadas de unos y ceros.

La unidad de control realiza las operaciones de lectura y ejecución de instrucciones

una y otra vez, entrando en ciclos continuos de búsqueda y ejecución hasta que termina de

ejecutar todas las instrucciones del programa.

Page 19: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 16

Diagrama No. 1: Ciclo de búsqueda y ejecución de un programa.

La unidad de memoria, es un conjunto de pequeñas celdas de almacenamiento que

pueden guardar un dato y retenerlo hasta que sea requerido, cada celda están identificada

por una dirección física exclusivamente, y al proceso de apuntar hacia una de ellas para

obtener o almacenar un dato se le llama direccionamiento.

Anteriormente los procesadores no contaban con una memoria como tal, esa función

la realizaban los registros del procesador y era necesario anexarle unidades de memoria a

los diseños de sistemas digitales, en la actualidad muchos microprocesadores integran

dentro de su encapsulado la unidad de memoria cuya capacidad puede variar de acuerdo al

modelo del micro por ejemplo la de 512 Kb. En algunos casos también es conocida como

memoria caché y su función es predisponer la información en la entrada para que pueda ser

procesada de inmediato, ahorrando mucho tiempo de procesamiento; no es necesario

esperar a que la unidad de control lea la instrucción y la coloque en la etapa de entrada,

porque ésta ya se encuentra en ese lugar.

Los buses, tienen la función de transportar información entre todas las unidades del

microprocesador, de allí el nombre (BUS-transporte). Se pueden identificar de acuerdo a la

información que transportan en bus de datos y de direcciones.

Para ambos casos la capacidad del bus se define de acuerdo a la cantidad de bits que

pueda transportar; los primeros arreglos eran hasta de 4 bits, pero en la actualidad ya existen

INICIO

FIN

BUSCASIGUIENTE

INSTRUCCION

EJECUTARINSTRUCCION

¿ES UNAINSTRUCCIÓN DE

FINALIZACION?

SI

NO

Page 20: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 17

de 64 bits y están en desarrollo los de 128, de esta forma un bus de 8 bits es capaz de

transportar 28 = 256 combinaciones diferentes de unos y ceros, o bien 256 palabras; un bus

de 32 bits es capaz de transportar 232 = 4,294´967,296 palabras.

Bus de datos; su función es llevar de un lugar a otro exclusivamente datos. En él se

coloca un número binario el cual será tomado por la unidad que lo esté llamando, de esta

manera por ejemplo, puede salir de la unidad de memoria para ser llevado y tratado por la

ALU, el resultado nuevamente es colocado en el bus de datos para ser enviado a otro

dispositivo de salida (impresora, pantalla, etc.,) o quizá a otra localidad de memoria.

Bus de direcciones; a diferencia del bus de datos su función del bus de direcciones es

la de hacer referencia a una dirección física del sistema, ésta puede ser una localidad de

memoria o bien la dirección física de algún dispositivo periférico. Como se dijo anteriormente

su capacidad esta de acuerdo al número de bits que maneje el bus y cada combinación que

se pueda generar también es conocida como dirección lógica.

En este aspecto hay que tener un poco de cuidado con estos términos, la dirección

lógica es la combinación que se puede generar con la cantidad de bits que tenga el bus,

mientras que la dirección física es la referencia donde realmente se encuentra una celda de

memoria o bien está reservada para algún dispositivo periférico.

Señales de control; se encargan de llevar las señales de sincronización entre las

unidades; normalmente son líneas independientes que hacen una función especifica como la

de llevar un pulso o el control de reloj.

5.1.2. CARACTERÍSTICAS DE LOS MICROCONTROLADORES.

Al igual que los microprocesadores, también son circuitos altamente integrado; pero

que además agregan en su interior las unidades de control, memorias y periféricos de

entrada/salida. Se puede decir que es una computadora completa en un sólo circuito

integrado.

Por sus características, los microcontroladores tienen todos los componentes de un

sistema en un solo chip y tienen un grado de especialización mayor que los

microprocesadores; están diseñados para aplicaciones especificas como son el diseño y

Page 21: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 18

fabricación de aparatos eléctricos, en automóviles, robótica, telefonía, domótica, etc.

Mientras que los microprocesadores tienen una gama más amplia de aplicaciones.

Un microcontrolador incluye en su interior las tres etapas funcionales de un ordenador:

Procesador, Memoria y Unidades de Entrada/Salida.

Procesador; como se definió anteriormente es el encargado de realizar las funciones

lógicas y aritméticas necesarias para ejecutar las instrucciones de un programa.

Memoria; abarca tanto la memoria RAM (Random Access Memory) como la ROM

(Read Only Memory). En la RAM o memoria de acceso aleatorio se cargan los programas

que se estén ejecutando en su momento permaneciendo así mientras esté alimentada

eléctricamente; una vez que la energía es cortada, también es descargada la información de

la memoria, en pocas palabras se limpia la memoria. Mientras que en la ROM o memoria de

sólo lectura se cargan las secuencias de inicio y el establecimiento de parámetros iniciales, la

información permanece aún cuando se corte la energía y su característica principal es que

sólo se puede leer la información que se encuentra en su interior, ya que no se puede

modificar.

La información que contiene la memoria ROM, es programada con ayuda de

dispositivos grabadores especiales. Existen varios tipos de memorias ROM, algunas de ellas

se pueden borrar o regrabar con dispositivos especiales; como son: EPROM (Erasable

Programmable Read Only Memory) que es una memoria que se puede programar por medio

de pulsos eléctricos más alto que los normales y puede ser borrada con luz ultravioleta.

EEPROM (Electrically Erasable ROM) que permite ser borrada y reprogramada

eléctricamente, sin embargo este tipo de memorias sólo permiten cierta cantidad de veces

ser reprogramadas.

Las unidades de Entrada/Salida, los microprocesadores dispone generalmente de

dispositivos de entrada y salida, como convertidores analógico-digital, temporizadores, UART

(Universal Asynchronous Receiver-Transmitter) y los buses de interfaz especializados, el

micro controla estas unidades mediante instrucciones especializadas almacenadas en un

lenguaje de programación ensamblador almacenadas en el interior de la memoria.

De esta manera, el microcontrolador posee toda la electrónica básica de un sistema

mínimo aunque con capacidades limitadas, por lo que muchas veces es necesario anexar

Page 22: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 19

memoria RAM y otros elementos electrónicos como pantallas, circuitos integrados, etapas de

potencia, etc. con el fin de lograr la tarea que deseamos desempeñe nuestro sistema.

Ahora bien, existe diferentes tipos de microcontroladores, entre los cuales podemos

mencionar y describir algunos de ellos:

Microcontroladores simples; también conocidos como de propósito general, contiene

los elementos básicos mencionados anteriormente, permitiendo que sean programados y

configurados para alguna aplicación específica, además son más económicos.

DSP (Digital Signal Proccesor) son microcontroladores que permiten una manipulación

más fácil y especializada de señales digitales, son muy utilizados en el Procesamiento de

señales digitales para mejorar la calidad de audio y video; en aplicaciones que van desde

aparatos domésticos como televisores y mini componentes hasta aparatos de comunicación

como celulares, identificadores de voz, satélites, etc.

5.1.3. DIFERENCIAS ENTRE EL MICROPROCESADOR Y EL

MICROCONTROLADOR.

Existen algunas diferencias entre un microprocesador y un microcontrolador que nos

permiten elegir entre uno y otro para la elaboración de un sistema.

En el siguiente cuadro comparativo se hacen algunas diferencias entre el

microprocesador y el microcontrolador.

MICROPROCESADOR MICROCONTROLADOR

Son de propósito general y se pueden

implementar infinidad de sistemas.

De propósito general, y algunos muy

especializados para aplicaciones específicas.

Para implementar un sistema, es necesario

agregar memorias (RAM y ROM), unidades

de entrada y salida, unidades de control.

Integran en su encapsulado al

microprocesador, memorias (RAM y ROM),

Unidades de entrada/salida.

Una vez colocados los dispositivos puede

hacer las mismas funciones que un micro

controlador.

La capacidad de sus dispositivos que integra

son limitadas, algunas ocasiones es

necesario agregar dispositivos.

Page 23: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 20

MICROPROCESADOR MICROCONTROLADOR

Es económico, pero aumenta su costo de

acuerdo con los dispositivos que se le

agreguen.

Es un poco más caro que un

microprocesador, pero al implementar un

sistema, los gastos son casi los mismos.

Son más funcionales que los

microcontroladores.

Son mejores para las aplicaciones que

fueron fabricados.

En el aspecto operativo y de programación,

ambos se manejan de la misma forma, la

diferencia se encuentra en el conjunto de

instrucciones, aunque algunos utilizan el

mismo.

Utiliza la misma metodología para ser

programados.

Se prefieren para el diseño digital porque se

les puede agregar cualquier elemento, y no

se sobrecargan en su funcionamiento, ya

que mientas los otros dispositivos realizan

una tarea el microprocesador está realizando

otras operaciones.

Como tiene todos los elementos en un solo

encapsulado, se ve afectado su rendimiento,

ya que deben compartir algunos elementos

como los buses, además como todas las

operaciones se llevan dentro del

encapsulado, el dispositivo se calienta

rápidamente.Tabla No. 4: Cuadro comparativo entre un microprocesador y un microcontrolador.

5.1.4. REGISTROS.

Como se menciono anteriormente, los registros tienen la función de retener de manera

temporal la información que será utilizada posteriormente por otra unidad del

microprocesador o microcontrolador, tal vez dos ciclos de reloj después o en alguna etapa

del programa; no son considerados como parte de la memoria, sin embargo sirven como

celdas de almacenamiento auxiliares para colocar datos temporales.

Los registros utilizan circuitos flip-flop para mantener disponible la información ya sea

un dato o una dirección, existen diferentes formas de identificar a los registros de acuerdo a

la función que realizan por ejemplo:

Page 24: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 21

Registro de datos: almacenan exclusivamente números enteros (operandos) que

serán tomados posteriormente para ser procesados por la ALU o bien es el resultado de

alguna operación aritmética, este registro también es conocido como registro acumulador

Registro de memoria: son usados para almacenar exclusivamente direcciones de

memoria, estos tipos de registro son muy utilizados en la arquitectura Harvard; ya que

muchas veces las direcciones tienen un tamaño de palabra distinto a la longitud de palabra

de los datos.

Registro de propósito general: guardan tanto datos como direcciones y son utilizados

en la arquitectura Von Neumann.

Registro de propósito especifico: guardan información especifica del sistema como el

puntero de cola o las banderas de estado.

En el caso del microprocesador Z80, contiene los registros que se muestran en el

cuadro.Registros principales Registros alternos

Acumulador banderas Acumulador banderas

A 8bits F 8bits A´8bits F´8bits

B 8bits C 8bits B´8bits C´8bits

D 8bits E 8bits D´8bits E´8bits

H 8bits L 8bits H´8bits L´8bits

Registros de propósito general

Interrumpt vector I 8bits Memory refresh R 8bits

Index register IX 16bits Index register IY16bits

Stack pointer SP16bits Program counter PC16bits

Registros de propósito específico.

Tabla No. 5: Registros del microprocesador Z80.

El microprocesador Z80 contiene 18 registros de 8 bits y 4 registros de 16 bits que

dan un total de 208 bits de lectura/escritura que están disponibles para el programador; en

los cuales se incluyen dos conjuntos de seis registros de propósito general, cada uno se

pueden trabajar en forma individual como registros de 8 bits; o bien puede hacerse un arreglo

de pares con el registro principal y el alterno para formar registros de 16 bits (en la tabla se

marcan como B,C,D,E,H,L, B´,C´,D´,E´,H´,L´); También se encuentra el registro acumulador

A, un registro de bandera F, con sus respectivos registros alternos (A´, F´); existen otros dos

registros de 8 bits incluidos en los registros de propósito específico, el vector de interrupción

Page 25: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 22

I, así como el registro de actualización de la memoria R. Finalmente los registros de 16 bits

lo forman dos registros de índices IX, IY, el registro del puntero SP, y el contador del

programa PC.

5.1.5. CONJUNTO DE INSTRUCCIONES

Para que un microprocesador o microcontrolador pueda funcionar requiere de un

conjunto de instrucciones que no es otra cosa que códigos binarios que al ser interpretados

por la unidad de control realizan una operación específica. A este tipo de programación

también se le llama lenguaje ensamblador o lenguaje maquina, puesto que es directamente

interpretado por el micro.

Cada instrucción debe contener la información adecuada que la CPU necesita para

ejecutarse correctamente, los elementos que contiene cada instrucción son los siguientes:

CÓDIGO DE OPERACIÓN; codop indica la operación a realizar mediante un código binario

que es seleccionado de tabla predeterminada.

REFERENCIA A OPERANDOS FUENTE; operando origen especifica registros o la dirección de

memoria dónde se encuentra el dato, puede implicar uno o más operandos que representan

la entrada de datos que serán evaluados por la instrucción. Existen varios tipos de datos;

direcciones, numéricos, caracteres o lógicos.

REFERENCIA A OPERANDO RESULTADO, operando destino cuando la instrucción genera un

resultado se debe hacer la referencia correspondiente para enviar el dato a una localidad de

memoria.

REFERENCIA A LA SIGUIENTE INSTRUCCIÓN, normalmente un programa se hace en forma

secuencial implicando que la instrucción se encuentre en la siguiente línea, sin embargo

cuando se utilizan bucles o saltos se debe hacer la indicación correspondiente en la

instrucción, para que la CPU sepa donde continuar el programa.

3.5.1. REPRESENTACIÓN DE LAS INSTRUCCIONES.

Dentro del microprocesador cada instrucción se representa por combinaciones

secuenciales de bits, (1 y 0) sin embargo no es posible que el programador maneje esta

Page 26: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 23

codificación tal cual por esta razón se utiliza una representación simbólica para hacer

referencia a las instrucciones del programa. Los CÓDIGOS DE OPERACIÓN se representan

mediante ABREVIATURAS MNEMOTÉCNICAS que indican la operación en cuestión, por ejemplo:

ADD sumar.

SUB restar.

MPY multiplicar.

LOAD cargar datos de memoria.

STOR almacenar datos.

Los OPERANDOS también pueden representarse en forma simbólica, por ejemplo la

instrucción ADD R,Y puede indicar que se sume el valor contenido en la posición Y al valor

contenido en el registro R.

Aunque algunos fabricantes han diseñado su propio conjunto de instrucciones de

acuerdo a la arquitectura del dispositivo, se pueden clasificar en RISC y CISC.

RISC (Reduced Instruction Set Computer) Computadoras de Conjunto de

Instrucciones Reducido, se caracteriza por lo siguiente:

· Contiene un conjunto de instrucciones limitado y sencillo.

· Utiliza un gran número de registros de uso general, o el uso de compiladores

para optimizar el uso del programa.

· Basa su optimización en la segmentación de instrucciones.

· Se genera una gran cantidad de saltos y subrutinas, provocando que se pierda

tiempo en esos saltos.

CISC (Complex Instruction Set Computer) Computadoras de Conjunto de Instrucciones

Complejo; sus características son las siguientes:

· Tiene un número mayor de instrucciones.

· Tiende a que su programación sea lineal.

· Al utilizar una programación lineal, pretende reducir el tiempo de ejecución de un

programa.

· También se apoya en su ejecución de gran cantidad de registros.

Page 27: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 24

5.1.7. INSTRUCCIONES DEL MICROPROCESADOR Z80.

El microprocesador Z80 utiliza un conjunto de instrucciones del tipo CISC, basando sus

instrucciones en códigos de operación de 8 y 16 bits.

El microprocesador tiene uno de los más potentes y versátiles conjunto de instrucciones

que cualquier microprocesador de 8 bits. Este incluye operaciones singulares tal como el

movimiento de un bloque, lo cual permite transferencia de datos, rápidos y eficientes, dentro

de la memoria o entre la memoria y una I/O. También permite operaciones sobre cualquier

posición de la memoria. A continuación se da un resumen de set de instrucciones, el cual

muestra el lenguaje mnemónico assembler, la operación, los estados de bandera y

comentarios sobre cada instrucción.

Las instrucciones se dividen en las siguientes categorías:

· Carga de 8 bits.

· Carga de 16 bits.

· Intercambio, transferencia y búsqueda de bloques.

· Operaciones aritméticas y lógicas de 8 bits.

· Aritméticas de propósito general y control de CPU.

· Operaciones aritméticas de 16 bits.

· Solución y desplazamiento.

· Bit set, reset y operaciones de testeo.

· Saltos (jumps).

· Llamadas, retornos y reinicios.

· Operaciones de entrada y salida.

El grupo de instrucciones y su resumen de banderas, puede observarse con mayor

detalle en el ANEXO E.

Page 28: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 25

5.2 IMPLEMENTACIÓN DE UN SISTEMA DE ADQUISICIÓN DE DATOS.

Una vez elegido el microprocesador, se procedió a integrar cada una de las partes de

la tarjeta de adquisición de datos; con el fin de dar a conocer éstos elementos, haremos una

breve descripción de cada uno de ellos.

5.2.1. ELEMENTOS DE DISEÑO.

La parte central del sistema la materializa el microprocesador Z80, utilizamos además

un circuito integrado Z84C90 KIO, el cual contiene canales de temporización programables y

los puertos tanto seriales como paralelos; usamos además, las memoria EPROM27256 y

RAM62256, un convertidor analógico digital ADC0808, un multiplexor 74LS138, un circuito de

interfaz serial MAX232, conector DB9 hembra, compuertas 74LS02 (NOR) y 74LS04 (NOT),

cristales de 4.9152 MHz, capacitores y resistencias de diferentes valores.

5.2.2. MICROPROCESADOR Z-80.

Este microprocesador nos permite manejar de manera más optima los registros,

cuenta con buses de datos, de direcciones y de control en forma independiente. Tiene un

conjunto de instrucciones que nos permite simplificar las compilaciones y mejorar las

prestaciones, esto debido a su arquitectura CISC que incluye 158 instrucciones.

· Se utiliza una fuente de alimentación de 5VCD para su operación.

· Disponible en versiones NMOS y CMOS para obtener alto desempeño a bajo

costo.

· Disponible para frecuencias de 4 a 20 MHz.

· La familia de componentes Z80, pueden ser enlazados por medio del vector de

interrupciones.

· Se puede enmascarar las interrupciones de tres formas diferentes.

· Contiene dos registros de índice de 16 bits para una mejor operación.

Page 29: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 26

· Se pueden hacer arreglos en pares con los registros de 8 bits para formar registros

de 16 bits.

· Disponible en diferentes tipos de encapsulados; 40 pines en encapsulado DIP

(Dual in Line); 44 pines en encapsulado QFP (Quad Flat Pack).

· Utilizamos el encapsulado DIP de 40 pines, los cuales están divididos de la

siguiente forma.

· 16 pines del bus de direcciones (A0,...A15).

· 8 pines para el bus de datos (d0,...D7).

· Los pines de alimentación (Vcc y GND).

· Las señales de control M1, MREQ, IORQ, RD, WR, FRS, HALT, WAIT, INT, NMI,

RESET, BUSREQ, BUSACK, Y CLK. (Figura No. 2)

Figura No. 2: Esquema del microprocesador Z80

5.2.3. MEMORIAS RAM Y EEPROM.

Un aspecto que se debe tomar en cuenta es que el microprocesador Z80, no cuenta

con dos señales independientes que controlen la RAM y la ROM, por lo que es necesario

implementar un circuito de control que nos permita elegir entre una memoria u otra, para este

Page 30: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 27

caso se decidió utilizar el último bit de direcciones (A15) y la señal de control MREQ en

combinación con compuertas lógicas para llevar la señal de selección hacia las memorias.

MREQ A15 ROM RAM

0 0 0 1

0 1 1 0

1 0 1 1

1 1 1 1 Tabla No. 6: Lógica de selección de memorias Diagrama No. 2: Selector de Memorias.

Hex A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ROM7FFF 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

8FFF 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0RAM

HF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Tabla No. 7: Mapeo para la selección de memorias RAM y ROM.

Se utilizó la memoria RAM HM62256, que cuenta con ocho bits en el bus de datos

(D0-D7), quince bits en su bus de direcciones(A0-A14) y sus señales de control (WE, OE,

CS), con capacidad de 256 Mb. Mientras que la memoria ROM utilizada es la EPROM 27256

(Erasable Programmable Read-Only Memory) de la misma familia y de características

similares, también con una capacidad de 256 Mb; En ella se almacenó el programa con los

parámetros de inicio del sistema.

RAM ROM

Figura No. 4: Encapsulado de las memoria RAM HM62256 y EEPROM 27256.

Page 31: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 28

5.2.4. MULTIPLEXOR 74LS138.

Para el adecuado control de los diversos periféricos, es necesario incluir un sistema de

selección, que permita a los dispositivos controlar el acceso al bus de datos y evitar

colisiones entre ellos.

Se decidió utilizar el multiplexor 74LS138 porque cuenta con las siguientes

características:

§ Multiplexor de alta velocidad.

§ Codificador de 3 entradas.

§ Decodificador con 8 líneas de salida.

§ Voltaje de alimentación de 5VCD (Igual que el Z80).

En nuestro caso sólo usaremos dos salidas, Y6 para el ADC y Y2 para el KIO Z84C90.

Figura No. 4: Lógica de control y encapsulado del multiplexor 74LS138.

5.2.5. CONVERTIDOR ANALÓGICO DIGITAL.

La señal con la que trabajaremos se adquiere de forma analógica proveniente de un

sensor, para poder trabajar ésta señal en forma digital, antes debe pasar por un proceso de

conversión, en la que se establece una codificación binaria por cada nivel de voltaje; de esta

manera ya estamos en condiciones de procesar la información.

Page 32: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 29

Para lograr lo anterior hacemos uso del convertidor analógico-digital ADC0808, el cual

tiene las siguientes características.

§ Compatible con todos los microprocesadores.

§ Opera con una fuente de 5 VCD (igual que el procesador Z80).

§ Multiplexor de 8 canales.

§ Rango de conversión de 0 a 5 volts.

§ Salida con las especificaciones TTL.

§ Tiempo de conversión 100 mseg.

En el ANEXO B, se explica el proceso de conversión de la señal analógica a digital.

Figura No. 5: Encapsulado del ADC0808

5.2.6. INTEGRADO Z84C90KIO.

Este integrado es un complemento de la serie Z80 de Zilog, contiene los puertos

seriales y paralelos, 4 canales de temporización y contadores programables, se usaron

algunos componentes de este chip para generar algunas señales de sincronización, así

mismo sirvió para establecer la comunicación entre la tarjeta y la computadora por medio

de un puerto serial, entre sus características se encuentran las siguientes:

o Totalmente compatible con el microprocesador Z80.

Page 33: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 30

o Disponible en encapsulado PLCC de 84 pines y LQFP de 100 pines.

o Puertos de entrada y salida, programables.

o Fuente de alimentación de 5 VCD.

o 4 canales de temporización y contadores, programables.

o Bus de direcciones de cuatro bits (A0,.... A3).

o Frecuencia de operación de 2 a 20 Mhz.

Figura No. 6 : Encapsulado del integrado Z84C90.

5.2.7. POWER ON RESET.

Para reestablecer los parámetros iniciales del sistema, se puede hacer de dos formas,

la primera por medio del software diseñado para controlar la operación del sistema, la

segunda vía hardware; en esta última, es necesario implementar un circuito que elimine

los valores de los diferentes dispositivos.

La señal de RESET tanto del micro como del KIO es la que realiza esta función y es

activa baja, se debe tener la precaución de que algún pulso remanente provoque una

interrupción de operación no deseada; por tal motivo, ambas terminales permanecerán

deshabilitadas al conectarse a Vcc con una resistencia como protección de corriente,

hasta que se pulse el botón PUSH PULL que es una derivación a tierra.

Page 34: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 31

Diagrama No. 3 : Implementación del dispositivo Power On Reset.

5.2.8. INTERFAZ SERIAL.

Una manera de enlazar dos dispositivos es mediante COMUNICACIÓN SERIAL ASÍNCRONA.

En ella los bits de datos se transmiten "en serie" (uno atrás de otro); para ello, cada

dispositivo tiene su propio reloj, sin embargo es necesario que ambos equipos transmitan

datos a la misma velocidad, esto se logra mediante el uso del protocolo RS232.

El integrado MAX232, es un convertidor que permite adaptar los niveles RS232 a TTL y

viceversa, estableciendo la comunicación entre la computadora y la tarjeta de adquisición

de datos.

Diagrama No. 4:Conexiones de la interfaz serial y encapsulado del integrado MAX232.

Como puede observarse, en las entradas V+ y V- se usan valores diferentes a Vcc

(5V), el integrado ofrece la ventaja que tiene un inversor y doblador de voltaje que

Page 35: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 32

duplica el valor a 10 volts y lo invierte para obtener la señal RS232 requerida. De esta

manera, no es necesario utilizar fuentes adicionales.

En el ANEXO C, se hace una descripción mas detallada de la norma RS232.

5.3. CONEXIONES.

En lo que respecta a las conexiones, éstas se hicieron de la siguiente manera: El bus

de direcciones (A0,...A14), se conectaron directamente al bus de direcciones tanto de la

memoria RAM como de la EPROM, reservándose el pin A15 para seleccionar junto con la

señal de control MREQ a una de las dos memorias.

También se conectaron los bits A0, A1 y A2 a las terminales ADD-A, ADD-B y ADD-C

del convertidor ADC, respectivamente; para codificar la selección de los canales de

adquisición.

Así mismo se conectaron las direcciones A0,A1,A2 y A3, directamente al bus de

direcciones del integrado Z94C90 KIO; para seleccionar y configurar los canales de

temporización CTC0,...CTC3 y los puertos tanto seriales como paralelos.

Las líneas de dirección A4, A5, A6 y A7, se conectan con las terminales C, B, A y G1

del multiplexor 74LS138, respectivamente, con la finalidad de implementar la lógica de

selección para el ADC y el integrado KIO, en la siguiente sección 5.5 se presenta el mapeo

de memoria, donde se puede observar claramente la configuración de cada uno de los

dispositivos.

El bus de dato D0,..D7, se conecta directamente con sus respectivas terminales en la

RAM, EEPROM, KIO y ADC.

La señal M1 del micro, se conecta con la señal M1 del KIO, para sincronizar el

sistema.

La señal IOREQ del microprocesador se conecta con las terminales G2A y G2B del

multiplexor 74LS138 para codificar y obtener una señal de interrupción en las salidas Y2 y

Y6 , que se utilizan para activar el KIO y el ADC, respectivamente.

La salida Y2 del multiplexor se conecta a IOREQ y CS del KIO. Por su parte Y6 se

combina mediante una compuerta NOR con la señal RD (lectura) del microprocesador para

activar la salida del ADC y realizar un ciclo de lectura de dato. También se combina con WR

Page 36: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 33

(escritura) usando otra compuerta NOR, la señal resultante es conectada a las entradas ALE,

START y EOC del ADC para iniciar un ciclo continuo de conversión.

La señal CLKOUT del KIO, se interconecta con CLK del mismo dispositivo para

sincronizar los pulsos de reloj.

Se configura la señal CTC0 del KIO para utilizarla como reloj del ADC.

CTC1, se utiliza para configurar la frecuencia de transmisión (baudaje) de la

comunicación serial.

La salida del CTC2 del KIO, es programada para enviar una señal de interrupción al

microprocesador (INT) cada 10 ms.

Las terminales del puerto serial A (RxDA, TxDA) se conecta al integrado MAX232

(R1OUT, T1IN), para realizar la Recepción y Transmisión de datos, respectivamente desde y

hacia la computadora.

Para establecer comunicación de la tarjeta a la Computadora, es necesario utilizar una

interfaz mediante un conector DB9, que contiene las señales de Transmisión (pin 3),

Recepción de datos (pin 2) y conexión a tierra (pin 5), los cuales van conectados a las

terminales T1OUT (pin 14) y R1IN (pin 13), respectivamente del integrado MAX232.

La terminal de RESET, se conecta al dispositivo de inicialización (power on reset)

para reestablecer los parámetros del sistema.

Todos los elementos se alimentan con una fuente de +5VCD referenciados a GND (0

VCD).

A continuación se presenta el diagrama de conexiones.

Page 37: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 34

Diagrama No. 5: Diagrama eléctrico de la Tarjeta Remota de Adquisición de Datos.

Page 38: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 35

5.4. RELOJ DEL SISTEMA.

Para lograr el funcionamiento del sistema es necesario utilizar un mecanismo de

sincronización que nos permita ajustar el tiempo de operación de los dispositivos al ciclo de

maquina del procesador (M1), que es el tiempo que se tarda el microprocesador en hacer

una lectura del código de operación (opcode fetch).

La sincronización se realiza mediante un reloj de cuarzo de 4.9152 MHz, que nos

proporciona el tiempo apropiado para lograr periodos de 0.2 µs (T cycle). Teniendo en

cuenta que a mayor frecuencia existe un mayor nivel de calentamiento en el microprocesador

se optó por utilizar un cristal esta frecuencia.

Es necesario sin embargo utilizar tres ciclos de máquina, para ejecutar una

instrucción, esto se puede ver claramente en la figura No. 4, donde se ocupa un ciclo M1

para hacer la lectura del código de operación, M2 para hacer la lectura a memoria y uno más

M3 para la escritura.

Figura No. 7: Esquema de sincronización del microprocesador Z80.

La sincronización de las señales del microprocesador se muestran a continuación:

Figura No. 8 : Sincronización del microprocesador Z80.

Page 39: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 36

En lo que respecta al integrado Z84C90, se utilizó el mismo circuito de reloj con la

finalidad de sincronizar ambos dispositivos y programar los canales de temporización; éstos

canales de temporización utilizan como tiempo base la mitad de la frecuencia de reloj, es

decir 4.9152 ¸ 2 (CLK/TRG timer).

Figura No. 9 : Sincronización del CLK/TRG timer del KIO.

El CTC0 se programó a 153Khz para utilizarse como entrada de reloj del convertidor

analógico digital (ADC0808), el cual puede trabajar hasta un límite máximo de 1.2 MHz.

Figura No. 10: Sincronización del ADC0808.

Page 40: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 37

El CTC1, fue programado para establecer la velocidad de transmisión del puerto

serial a 9600 baudios.

Figura No. 11: Sincronización de la comunicación serial.

El CTC2, se utilizó para ajustar el reloj del sistema al tiempo real; de tal

forma que genera una interrupción al microprocesador cada 10ms y cuando se

hacen 100 interrupciones se cumple un segundo en tiempo real.

Page 41: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 38

5.5. MAPEO DE MEMORIA.

El mapeo de memoria, nos va a servir para identificar la sección de memoria que

está destinada a cada dispositivo del sistema, y para detectar en que dirección se

puede localizar algún periférico. En el cuadro siguiente se puede observar

claramente.

MAPEO DE MEMORIA32K 16K 8K 4K 2K 1K 512 256 128 64 32 16 8 4 2 1

Hex \Addr A15 A14 A13A12 A11 A10 A9 A8 A7 A6 A5A4 A3 A2A1 A00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ROM7FFF 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

8000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAMFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Junto con MREQ delZ80 >Memorias<

74LS138 G1 A B C

Mux

A0 1 0 1 0 0 0 0 0... ...A4 1 0 1 0 0 1 0 0 CTC0A5 1 0 1 0 0 1 0 1 CTC1A6 1 0 1 0 0 1 1 0 CTC2A7 1 0 1 0 0 1 1 1 CTC3A8 1 0 1 0 1 0 0 0 SIO A DatosA9 1 0 1 0 1 0 0 1 SIO A CmdAA 1 0 1 0 1 0 1 0 SIO B DatosAB 1 0 1 0 1 0 1 1 SIO B Cmd

KIO

... ...AF 1 0 1 0 1 1 1 1B0 1 0 1 1 0 0 0 0 Canal 0B1 1 0 1 1 0 0 0 1 Canal 1B2 1 0 1 1 0 0 1 0 Canal 2B3 1 0 1 1 0 0 1 1 Canal 3B4 1 0 1 1 0 1 0 0 Canal 4B5 1 0 1 1 0 1 0 1 Canal 5B6 1 0 1 1 0 1 1 0 Canal 6B7 1 0 1 1 0 1 1 1 Canal 7

ADC

... ...BF 1 0 1 1 1 1 1 1

Junto con IOREQ delZ80 >Perifericos<

Tabla No. 8: Mapeo de memoria y dispositivos del sistema.

Page 42: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 39

SECCIÓN VI

PROGRAMACIÓN DEL SISTEMA

Una vez que nuestro hardware esta armado, pasaremos a la etapa de programación.

Esta etapa es muy importante, porque aquí se genera el software controlador del sistema, se

establecen los parámetros iniciales y en base a órdenes el sistema va generando los

resultados deseados.

Page 43: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Adán Campos López (94216247)Roberto Barrueta Ramírez (94219735) 40

6.1 MODULOS DEL PROGRAMA.

Para tener un panorama más amplio de las funciones del sistema, el programa se

elaboró por medio de los módulos que a continuación se describen:

$title(TARJETA DE ADQUISICION DE DATOS V.01)$subtitle(Configuración y Palabras de control.)$copyright( UAM Iztapalapa)

; *******************************************************************************************************************; * Programa realizado por Roberto Barrueta y Aníbal Adán Campos; * PROYECTO DE INGENIERIA ELECTRÓNICA II; * Asesor: Alejandro Martínez G.; *******************************************************************************************************************

; ============================================================================; = Primeras instrucciones que se ejecutan cuando se pulsa el botón RESET.; = Invoca la a subrutina INICIALIZA ( no envía ningún parámetro ).; = Envia al puerto serial el Prompt > que indica que el sistema está listo.; ============================================================================ DEFSEG REESTABLECER, CLASS=CODE, START=0000H SEG REESTABLECER

NOP LD SP,86FFH ;Modifica el apuntador de pila a la parte baja de la memoria libre. DI CALL INICIALIZA ;Configura el sistema. LD C,SIOAD LD A,'>' LD B,$00 OUT (C),A ;Envía Símbolo del sistema. JP INICIO

; ============================================================================; = Se genero una Interrupción NO ENMASCARABLE.; = Se utiliza para generar El Tiempo Real del sistema.; = La interrupción se activa cada 10 ms. debido a que el CTC2 del KIO, esta conectado al; = pin NMI del Z80.; ============================================================================ DEFSEG INTERRUPCION, CLASS=CODE, START=0066H SEG INTERRUPCION

EX AF,AF' ;Salva el contenido de REG-A y REG-F LD A,(MSEGSYS) INC A LD (MSEGSYS),A CP 64H ;Milisegs=100 = 1s ? JP NZ, TERMINA_INT XOR A ;Limpia el Acumulador. LD (MSEGSYS),A ; Milisegs = 0 LD A,(SEGSYS) INC A LD (SEGSYS),A CP 3CH ; ¿ Segundos = 60 =1min ?

JP NZ, TERMINA_INT XOR A ;Inicializa los segundos LD (SEGSYS),A ; Segundos = 0 LD A,(MINSYS) INC A LD (MINSYS),A CP 3CH ;¿ Minutos = 60 ? JP NZ, TERMINA_INT XOR A ;Inicializa los minutos

Page 44: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 41

LD (MINSYS),A LD A,(HORASYS) INC A LD (HORASYS),A CP 18H ; ¿ Horas = 24 ? JP NZ, TERMINA_INT XOR A ;Inicializa las horas LD (HORASYS),ATERMINA_INT: EX AF,AF' ; Recupera el contenido de REG-A y REG-FRETN ; Retorno de una Interrupción No Enmascarable.

; ============================================================================; = Programa principal.; = Verifica si hay un dato en el SIO y los compara con los comandos del sistema ( S, C, M, R ): = Ejecuta la subrutina EDO_TIEMPO (No envia ningun parámetro).; ============================================================================DEFSEG PRINCIPAL, CLASS=CODE, START=0200HSEG PRINCIPAL

INICIO: LD A,(MSEGSYS) CP 30H ; Generamos una pausa JP NZ, INICIO CALL LEEDATO ; LEE un dato cada segundo, se guarda en REGISTRO-D LD A,D ; A = DatoSALTO: CP 'S' ; ¿ Dato = "S" ? JP NZ,SALTO1 ; Salta si no es igual. CALL SISTEMA ; Si es igual, llama a la subrutina SISTEMA. JP NOIMPR ; saltaSALTO1: CP 'C' JP NZ,SALTO2 CALL CANAL JP NOIMPRSALTO2: CP 'R' JP NZ,SALTO3 CALL REPORTE JP NOIMPRSALTO3: CP 'M' JP NZ,SALTO4 CALL MAXIMOS JP NOIMPRSALTO4: CP '?' ; Sobreflujo al escribir en el puesto serial LD B,$00 OUT (SIOAD),ANOIMPR: HALT ;Detiene la ejecución del CPU hasta detectar una interrupcion LD A,(SEGSYS) ;Obtenemos los SEGUNDOS del sistema. CP 0AH ;¿ Segs = 10 ? JP NZ, INICIO ;Si no es igual, salta a -inicio- CALL EDO_TIEMPO ;Si es igual, checa el estado del tiempo de los canales.JP INICIO ;Regresa al inicio.

; ============================================================================; = Esta rutina imprime los máximos de todos los canales.; = No recibe ningun parámetro.; ============================================================================MAXIMOS:

LD B,$00 LD E,$00 LD D,$00

Page 45: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 42

MAX1: LD A,E ;A=0 SUB $08 ;A=A-8 JP P,FIN_MAXIMOS ;¿ A es mayor que 7 ?, termina LD IX,MAXIMO ;Apuntamos al Máximo del primer canal. ADD IX,DE ;Nos desplazamos al Máximo del canal deseado LD A,(IX) ;Recuperamos máximo. HALT OUT (SIOAD),A ;Envia el máximo al puerto serial INC E ;siguiente Canal. JP MAX1FIN_MAXIMOS:

RET

; ============================================================================; = Esta rutina envía al puerto serial, toda la información almacenados en RAM de los 8 canales.; = No recibe ningún parámetro.; ============================================================================REPORTE: LD E,$00LAZO: LD A,E ;Numero de canal ADD $30 OUT (SIOAD),A ; LD A,':' ;Imprime dos puntos OUT (SIOAD),A LD D,$00 LD IX,DIR_INICIAL ADD IX,DE ADD IX,DE LD H,(IX+1) LD L,(IX) ;HL= Posición inicial del primer dato del canal LD IY,APUNTADOR ADD IY,DE ADD IY,DE LD B,(IY+1) LD C,(IY) ;BC= Posición del último dato del canalIMPRIME _ DATOS: LD D,B ;Guarda B en D HALT ; Pausa de 10 ms. LD B,$00 LD A,(HL) ;A= Dato almacenado OUT (SIOAD),A ; Sale info. por el puerto serie LD B,D ;Recupera B INC HL PUSH HL ;Guarda HL en pila POP IX ;Lo recuperamos para no incrementar la pila SBC HL,BC ;HL = HL-BC. JP P,SEL_CANAL ;Salta si posición de dato es > apuntador PUSH IX ;Guardamos en pila POP HL ;Lo recuperamos. JP IMPRIME _ DATOSSEL_CANAL: INC E ;Toma el siguiente canal. LD A,$07 ;Núm. máximo de canales. SUB E ;Resta el numero de canal A=A-E. JP M,FIN_REPORTE ;Si es mayor que 7 termina rutina. JP LAZO ;Otro caso pasa al siguiente canal.FIN_REPORTE: HALT LD B,$00 LD A,$0C ;Salto de línea OUT (SIOAD),A LD A,'>' ;Símbolo del sistema para indicar fin de proceso OUT (SIOAD),A RET

; ============================================================================

Page 46: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 43

; = Esta rutina checa que Los Tiempos Para Adquirir Datos de cada canal se han cumplido.; = Leer información del ADC y grabarlo en memoria.; = No recibe ningun parámetro; = Se ejecuta la Subrutina EJECUTA enviándole el Número de Canal en el REGISTRO-E; ============================================================================EDO_TIEMPO: LD E,$00 ;Contador de canal (0-7) LD D,$00SIG_CANAL: LD IX,MINSYS ;Dirección de minutos del sistema. LD IY,SIG_MUESTRA ;Dirección de minutos del canal 0. ADD IY,DE ADD IY,DE LD A,(IY) ;Toma los minutos del canal correspondiente. CP (IX) ;Comparalo con los minutos de sistema. JP NZ, OTRO_CANAL ;Salta si no son iguales los minutos LD A,(IY+1) ;Toma la hora del canal. CP (IX+1) ;Comparalo con la hora del sistema. JP NZ, OTRO_CANAL ;Salta si no son iguales las horas. CALL EJECUTA ;Es hora de capturar el dato del canal indicado en REG-E.OTRO_CANAL: INC E ;Toma el siguiente canal. LD A,$07 ;Núm. Máximo de canales. SUB E ;Resta el numero de canal A=A-E. JP M, TERMINA ;Si es mayor que 7 termina rutina. JP SIG_CANAL ;Otro caso pasa al siguiente canal.TERMINA: RET ;Termino de verificar el estado del tiempo de cada canal.

; ============================================================================; = Esta subrutina recibe REG-E: El ultimo canal que fue leído.; = Captura un dato del ADC, lo almacena, verifica que sea un máximo.; ============================================================================

EJECUTA: ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

; Lo primero que debemos hacer es LEER UN DATO DEL ADC. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LD D,$00 ; LD B,$00 ; LD A,$B0 ;Mapeamos el ADC. ADD E ;Seleccionamos el canal del ADC. LD C,A ; LD A,$00 OUT (C),A ;Señal de activación. HALT ;pausa de 10 ms HALT ;pausa de 10 ms IN A,(C) ;Leemos dato desde el ADC. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

; Salvamos el dato en RAM ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LD IX,APUNTADOR ;IX= dirección donde se guarda el apuntador del siguiente

; espacio libre en memoria. (DIR INDIRECTA) ADD IX,DE ADD IX,DE LD B,(IX+1) ;Apunta a la dirección libre LD C,(IX) LD (BC),A ;Guarda dato. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

;Desplazamos el apuntador a la siguiente posición de memoria libre ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 47: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 44

INC BC ;Incrementa apuntador LD IX,DIR_FINAL ;Dir. final de C0. ADD IX,DE ADD IX,DE ;Nos desplazamos al canal deseado. LD H,(IX+1) ; LD L,(IX) ; SBC HL,BC ; JP M,REINICIA ;Coloca el apuntador en la posición inicial. LD IX,APUNTADOR ; ADD IX,DE ADD IX,DE LD (IX+1),B ;Guarda la parte alta del apuntador LD (IX),C ;Guarda la parte baja del apuntador JP MAX ;REINICIA: LD IX,DIR_INICIAL ;Dir. de inicio canal 0. ADD IX,DE ADD IX,DE LD B,(IX+1) ; LD C,(IX) ; LD IY,APUNTADOR ;Parte alta de la dir. de inicio canal 0. ADD IY,DE ADD IY,DE LD (IY+1),B ;Guarda parte alta del apuntador LD (IY),C ;MAX: LD A,$00 LD (BC),A ;Limpia posición libre ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

; Verifica si es un máximo ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LD B,A ; B = dato LD HL,MAXIMO ;Valor máximo del canal 0. ADD HL,DE ;Nos desplazamos para tomar el canal deseado SUB (HL) ;A = A - (HL). JP M,NO_MAX ;Salta si el resultado es negativo. LD (HL),B ;Actualiza el valor máximo.NO_MAX: ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

; Actualiza el tiempo para la siguiente lectura de datos. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CALL ACTUALIZA ;

RET

; ===========================================================================; = Ejecuta INSTRUCCIONES provenientes del PUERTO SERIAL.; = Ejecuta instrucciones para el canal seleccionado (Enviar el valor Máximo o Reporte,; = Borrar información, Actualizar Tiempo de Captura); = Cuando termine debe de regresar al Menú INICIO.; ===========================================================================CANAL: ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LD D,$00 LD B,$00 LD C,SIOAD LD A,'C' ;Envia al puerto serial, una C para confirmar. OUT (C),A LD A,'=' ;Envia al puerto serial, un = para pedir el numero de canal. OUT (C),A ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;Primero, pedir el NUMERO DE CANAL (0 a 7) ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CALL NUMERO ;Devuelve en REG-E el numero tecleado (0,F) LD A,E ;A=Numero de Canal CP $00 JP Z,PAUSA1 SUB $08 ;A= A-8 JP P,FIN_CANAL ;Salta si es positivo. (es mayor que 7). No es un valorcorrecto

Page 48: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 45

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;Segundo, esperar a que el usuario teclee una tecla y verificar que sea un comando permitido. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PAUSA1: LD A,(SEGSYS) CP 0AH ; ¿ Seg = 10 ? JP NZ, PAUSA2 CALL EDO_TIEMPO ; Verificar los tiempos de adquisición de cada canal.PAUSA2: CALL LEEDATO ; Checa si escribieron algo. Recibe un valor en REG-D. LD A,D CP $00 ; 00 = Vacio JP Z,PAUSA1 ; Espera hasta que sea distinto de cero. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;Tercero, ejecutar instrucciones o regresar al menú principal ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CP 'R' ; Envia al puerto serial los datos almacenados del canal JP NZ,OPCION2 ; No fue "R" salta a la opcion2 HALT LD D,$00 ; Si fue "R" continua LD B,$00 OUT (SIOAD),A ; Imprime una "R" LD IX,DIR_INICIAL ; Recuperar la Primera Dirección de Datos, del PrimerCanal. ADD IX,DE ADD IX,DE LD H,(IX+1) ; Desplazarse al la Primera Dirección de Datos del CanalDeseado. LD L,(IX) ; HL= Posición inicial del primer dato LD IY,APUNTADOR ADD IY,DE ADD IY,DE LD B,(IY+1) LD C,(IY) ; BC= Posición del apuntadorMAS_DATOS: LD D,B ;Guarda B LD A,(HL) ; A= Dato almacenado LD B,$00 OUT (SIOAD),A ; Sale dato por el puerto serial LD B,D ; Recupera B HALT ; Pausa de 10 ms. HALT INC HL PUSH HL ; Guarda HL en pila POP IX ; Recupera el dato de pila en IX, (IX=HL) SBC HL,BC ; HL = HL-BC. JP P,FIN_CANAL ; Salta si posición de dato es > apuntador PUSH IX POP HL JP MAS_DATOS

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Borra los datos del canal.;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

OPCION2: CP 'B' JP NZ,OPCION3 HALT LD D,$00 LD B,$00 OUT (SIOAD),A ;Imprime una "B" LD IX,DIR_INICIAL ADD IX,DE ADD IX,DE LD H,(IX+1) LD L,(IX) ;HL= Posición inicial del primer dato LD (HL),$00 ;Borra primer dato LD IX,APUNTADOR ADD IX,DE ADD IX,DE

Page 49: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 46

LD (IX+1),H LD (IX),L ;El apuntador = Posición inicial del dato 1. LD IX,MAXIMO ADD IX,DE LD (IX),$00 ;Borra dato máximo de ese canal JP FIN_CANAL

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Envía el valor máximo del canal.;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

OPCION3: CP 'M' JP NZ,OPCION4 HALT LD D,$00 LD B,$00 OUT (SIOAD),A ;Imprime una "M" LD IX,MAXIMO ADD IX,DE LD A,(IX) ;A=Dato máximo del canal HALT LD B,$00 OUT (SIOAD),A JP FIN_CANAL

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Modificar el Tiempo de Adquisición del canal indicado.;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

OPCION4: CP 'T' ;Actualiza cada cuando se va a leer un dato. JP NZ,FIN_CANAL HALT LD D,$00 LD B,$00 OUT (SIOAD),A ;Imprime una "T" CALL TIEMPO ;Devuelve C=Minutos Base y B=Horas base LD IX,INCREMENTA ADD IX,DE ADD IX,DE LD (IX+1),B ;Salva horas LD (IX),C ;Salva minutos CALL ACTUALIZA ;Actualiza tiempo real de la siguiente muestra para cadacanal.FIN_CANAL: HALT LD B,$00 LD A,'>' OUT (SIOAD),A RET ;Fin de CANAL.

; ============================================================================; = Modifica el Reloj Principal del Sistema; = No recibe ningún parámetro; ============================================================================SISTEMA: LD D,$00 LD B,$00 HALT LD A,'S' ;Un valor S para confirmacion OUT (C),A HALT LD A,'=' ;Un valor = para confirmacion OUT (C),A ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CALL TIEMPO ;Devuelve C=Minutos Base y B=Horas base LD IX,MINSYS LD (IX),C ;Guarda Minutos de tiempo real LD (IX+1),B ;Guarda Horas de tiempo real A LD E,$00

Page 50: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 47

SIS1: ;Hay que actualizar todos los canales LD A,E SUB $08 ;A=A-8 JP P,FIN_SISTEMA ;(A es mayor que 7?, termina CALL ACTUALIZA ;Actualiza tiempo real de la siguiente muestra para cadacanal. LD IX,DIR_INICIAL ;Inicializa los datos de canal ADD IX,DE ADD IX,DE LD H,(IX+1) LD L,(IX) ;HL= Posición inicial del primer dato LD (HL),$00 ;Borra primer dato LD IX,APUNTADOR ADD IX,DE ADD IX,DE LD (IX+1),H LD (IX),L ;El apuntador = Posición inicial del dato 1. LD IX,MAXIMO ADD IX,DE LD (IX),$00 ;Borra dato máximo de ese canal INC E ;siguiente Canal. JP SIS1FIN_SISTEMA: HALT LD B,$00 LD A,'>' OUT (SIOAD),A RET ;Fin de SISTEMA

; ============================================================================; = Configura el tiempo de adquisición de cada canal o del sistema.: = En los minutos, solo se aceptan múltiplos de 5. 0=1min, 1=5min, ... B=55min.; = En las horas, se utiliza el formato 0-12. 0=0horas, 1=1hora, C=12horas.; = Recibe el número de canal en el REGISTRO-E.; = Devuelve los minutos en el REGISTRO-C. Devuelve las horas en el REGISTRO-B; ============================================================================TIEMPO: PUSH DE ;Guarda REG-E = Numero de canal. CALL NUMERO ;Devuelve un numero entre $00 y $0F en REG-E LD A,E ;A=numero tecleado por el usuario (Si A=FF,error) SUB $0C ;A = A-$0C JP P,ERROR_TIEMPO ;A es mayor que 12?, termina; HALT; HALT; LD B,$00; LD A,E ;Numero de horas en Hex; ADD $30 ;Numero de horas en Dec.; OUT (SIOAD),A ;Confirmacion LD B,E ;B=hora tecleada por el usuario

CALL NUMERO LD A,E ;A=numero tecleado por el usuario SUB $0B ;A = A- 11 JP P,ERROR_TIEMPO ;A es mayor que 11?,termina LD D,$00 LD A,E ;A=valor entre 0 y 12 CP $00 JP Z,UN_MINUTO ;Si es cero, asignar: un minuto.T1: INC D ;Para los minutos, solo seran validos INC D ;multiplos de 5. INC D

INC DINC D

DEC A JP NZ,T1 JP FIN_TIEMPOUN_MINUTO: LD D,$01 ;Se pulso la tecla "0", entonces minutos=1

Page 51: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 48

JP FIN_TIEMPOERROR_TIEMPO: LD B,$00 LD D,$01FIN_TIEMPO: LD C,B ;Guarda B(horas) en REG-C HALT HALT LD B,$00; LD A,D; ADD $30; OUT (SIOAD),A LD A,'>' OUT (SIOAD),A LD B,C ;Recupera horas (B) LD C,D ;C = minutos tecleados por el usuario POP DE ;Recupera REG-E = Numero de canal. RET ;Fin de TIEMPO

; ============================================================================; = Convierte el carácter numérico proveniente del puerto serial en valor hexadecimal.; = Si el carácter no es un número, se desecha.; = Se envía el valor en el REGISTRO-E; ============================================================================NUMERO: HALT LD A,(SEGSYS) CP 0AH ; ¿ Seg = 10 ? JP NZ, NUMERO1 CALL EDO_TIEMPO ;Checa el estado del tiempo de los canalesNUMERO1: CALL LEEDATO ;Checa si se tecleo un dato. D=Dato. LD A,D ;A=Dato del puerto serial CP $00 ;00 = Vacio JP Z,NUMERO ;Espera hasta que tecleen un dato. ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CP '0' ; ¿Se tecleo un CERO ? JP NZ,NUM1 ; No, Salta al sig. numero. LD E,$00 ; Sí, E = cero en hexadecimal. JP FIN_NUMERONUM1: CP '1' JP NZ,NUM2 LD E,$01 JP FIN_NUMERONUM2: CP '2' JP NZ,NUM3 LD E,$02 JP FIN_NUMERONUM3: CP '3' JP NZ,NUM4 LD E,$03 JP FIN_NUMERONUM4: CP '4' JP NZ,NUM5 LD E,$04 JP FIN_NUMERONUM5: CP '5' JP NZ,NUM6 LD E,$05 JP FIN_NUMERONUM6: CP '6' JP NZ,NUM7 LD E,$06

Page 52: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 49

JP FIN_NUMERONUM7: CP '7' JP NZ,NUM8 LD E,$07 JP FIN_NUMERONUM8: CP '8' JP NZ,NUM9 LD E,$08 JP FIN_NUMERONUM9: CP '9' JP NZ,NUMA LD E,$09 JP FIN_NUMERONUMA: CP 'A' JP NZ,NUMB LD E,$0A JP FIN_NUMERONUMB: CP 'B' JP NZ,NUMC LD E,$0B JP FIN_NUMERONUMC: CP 'C' JP NZ,NUMD LD E,$0C JP FIN_NUMERONUMD: CP 'D' JP NZ,NUME LD E,$0D JP FIN_NUMERONUME: CP 'E' JP NZ,NUMF LD E,$0E JP FIN_NUMERONUMF: CP 'F' JP NZ,NO_NUMERO LD E,$0F JP FIN_NUMERONO_NUMERO: LD E,$10 ;Error, JP NOMASFIN_NUMERO: LD A,E SUB $0A ;A=A-10 JP M,NOMAS LD A,E ADD $37 ;$37+(REG-E)="A", "B",...,etc. JP IMP_NUMERONOMAS: LD A,E ADD $30 ;$30 +(REG-E)="1","2",...,etc.IMP_NUMERO: HALT HALT LD B,$00 OUT (C),A ;Devuelve el valor real RET ;Fin de NUMERO

; ============================================================================; = Actualiza el tiempo de captura del canal indicado.

Page 53: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 50

; = Recibe el numero de canal que se va a actualizar a través del REGISTRO-E.; = Al Tiempo del Sistema, se le suma el intervalo de captura del canal indicado.: = El nuevo tiempo de captura, se graba en los Registros Auxiliares.; ============================================================================ACTUALIZA: LD D,$00 LD IX,MINSYS ;Recupera los minutos del sistema LD B,(IX) ;B=Minutos del sistema LD IX,INCREMENTA LD IY,SIG_MUESTRA ADD IX,DE ADD IX,DE ADD IY,DE ADD IY,DE LD C,$00 ;Acarreo de horas. cuando minutos > 60 LD A,(IX) ;Recupera los minutos base del canalAGREGA_MIN: CP $00 JP Z,FIN_MINUTOS ;Se acabaron los minutos DEC A INC B ;Incrementa los minutos LD D,A; PUSH AF ;Salva A LD A,$3C ;A=60 CP B ;A = B = 60? JP NZ,MAS_MINUTOS ;Salta si no ha llegado a 60 minutos LD B,$00 ;Reinicializa los minutos INC C ;Incrementa el acarreo de horasMAS_MINUTOS: LD A,D LD D,$00; POP AF ;Recupera A JP AGREGA_MINFIN_MINUTOS: LD (IY),B ;Salva los minutos para la sig. muestra LD HL,HORASYS ;Recupera las horas del sistema LD B,(HL) LD A,(IX+1) ;Recupera las horas base del canal ADD C ;Agrega horas de acarreo de los min.AGREGA_HORA: CP $00 JP Z,FIN_HORAS DEC A INC B ;Incrementa las horas LD D,A; PUSH AF ;Salva A LD A,$18 CP B ;(A = B = 24? JP NZ,MAS_HORAS ;Salta si no ha llegado a 60 minutos LD B,$00 ;Reinicializa los minutosMAS_HORAS:; POP AF ;Recupera A LD A,D LD D,$00 JP AGREGA_HORAFIN_HORAS: LD (IY+1),B ;Salva las horas para la sig. muestra

RET ;Fin de ACTUALIZA

; ============================================================================; = Esta rutina verifica si el buffer de tx del SIO-A esta vacío.; = Si esta vacío, regresa un cero, en caso contrario regresar el caracter.; = Se regresa el dato en el REGISTRO-D.; ============================================================================LEEDATO:

LD B,$00 ;A15-A8=0XOR A ;DIR. DE REGISTRO DE LECTURA 0

LD C,SIOAC ;C TOMA DIR. SIOAC

Page 54: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 51

OUT (C),A ;SALE DIR. DE REGISTRO DE LECTURA 0IN A,(C) ;A TOMA INFO DEL REG. DE LECTURA

BIT 0,A ;el bit 0 de REG-A lo compara con CERO;VERIFICA SI Rx CARATER DISPONIBE D0=1

JP Z,NODATOSIO ;SI D0=0, NO HAY CARACTER DISPONIBLE. LD A,$01 ;Carácter Disponible: OUT (C),A ;SALE DIR. DE REGISTRO DE LECTURA 1 IN A,(C) ;A TOMA INFO DEL REG. DE LECTURA 1 LD C,SIOAD IN D,(C) ;Reg-D = Caracter del SIO. LD C,SIOAC BIT 4,A JP NZ,LIMPIAERROR BIT 5,A JP NZ,LIMPIAERROR BIT 6,A JP NZ,LIMPIAERROR JP CARACTERLIMPIAERROR: LD A,$30 ;Código para limpiar error de Rx OUT (C),A LD D,$3F ;Envía un valor para idenficar el error(?) JP CARACTERNODATOSIO: LD D,$00 ;No recibio dato, envia 00H para confirmarCARACTER: RET ; Fin de generadato.

; Regresamos el dato leído por el REG-D.

; ===========================================================================; = Se definen variables estaticas para cada dispositivo del sistema.; = Se establecen valores de inicio de periféricos.; = Se reservan localidades de memoria para el almacenamiento de parámetros.; ===========================================================================INICIALIZA:

CTC0: EQU $A4CTC1: EQU $A5CTC2: EQU $A6CTC3: EQU $A7SIOAC: EQU $A9SIOAD: EQU $A8MSEGSYS: EQU 8000HSEGSYS: EQU 8001HMINSYS: EQU 8002HHORASYS: EQU 8003H

INCREMENTA: EQU 8010HSIG_MUESTRA: EQU 8020HDIR_INICIAL: EQU 8030HDIR_FINAL: EQU 8040HAPUNTADOR: EQU 8050HMAXIMO: EQU 8060H

LD A,$00 LD (MSEGSYS),A LD (SEGSYS),A LD (MINSYS),A LD (HORASYS),A LD IX,DATOS ;Apuntamos a donde están los datos LD A,$60 ;Numero total de datos=90 (de 8 bytes) LD HL,INCREMENTA ;Dirección de RAM $8010GUARDA_RAM: LD D,(IX) ;Recupera dato de ROM LD (HL),D ;Guarda en RAM INC HL INC IX DEC A JP NZ,GUARDA_RAM

Page 55: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 52

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Seleccionamos el CTC0 del KIO y lo configuramos. Para el ADC.; Flanco de bajada.(2457600/16/01=153600)

LD B,$00 LD A,$05 ; mandamos la palabra de ctrl. hacia el CTC0 preescaler x16 OUT (CTC0),A ; 1o. A15-A8=0000 0101 y A7-A0= 1010 0100

; 2o. IORQ = 0 y WR = 0; 3o. BUS DE DATOS = 00000101 05H

LD A,$01 ; mandamos la palabra de cte. de tiempo hacia; el CTC0. D7-D0= 0000 0001 01H

OUT (CTC0),A ; A15-A8=0000 0000 A7-A0= 1010 0100 00A4H

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Seleccionamos el CTC1 del KIO y lo configuramos. Para el SIO.; Flanco de bajada.(2457600/256/8=9600)

LD A,$25 ; mandamos la palabra de ctrl. hacia el CTC1; preescaler x256. A=00100101

OUT (CTC1),A ; 1o. A15-A8=0000 0101 y A7-A0= 1010 0100; 2o. IORQ = 0 y WR = 0

; 3o. BUS DE DATOS = 00100101 25H LD A,$08 ; mandamos la palabra de cte. de tiempo hacia

; el CTC1. D7-D0= 0000 1000 08H OUT (CTC1),A ; A15-A8=0000 0000 A7-A0= 1010 0100 00A5H

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Seleccionamos el CTC2 del KIO y lo configuramos. Para Interrupción NMI.; Flanco de bajada.(2457600/256/96=100 Baudios = 10 ms)

LD A,$25 ; mandamos la palabra de ctrl. hacia el CTC2; preescaler x256. A=00100101

OUT (CTC2),A ; 1o. A15-A8=0000 0101 y A7-A0= 1010 0110; 2o. IORQ = 0 y WR = 0; 3o. BUS DE DATOS = 00010101 15H

LD A,$60 ; mandamos la palabra de cte. de tiempo hacia; el CTC2. D7-D0= 0110 0000 60H=96D

OUT (CTC2),A ; A15-A8=0000 0000 A7-A0= 1010 0100 00A6H

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Seleccionamos el CTC3 del KIO y lo configuramos. Para el SIO.; Flanco de subida.(2457600/256/96=100 )

LD A,$35 ; mandamos la palabra de ctrl. Hacia el CTC3.; preescaler x256 00110101

OUT ($A7),A ; 1o. A15-A8=0000 0101 y A7-A0= 1010 0100; 2o. IORQ = 0 y WR = 0; 3o. BUS DE DATOS = 00010101 15H

LD A,$60 ; mandamos la palabra de cte. de tiempo hacia; el CTC3. D7-D0= 0110 0000 60H=96D

OUT ($A7),A ; A15-A8=0000 0000 A7-A0= 1010 0100 00A7H

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Configuramos el SIO-A

LD B,$00 ;A15-A8 CEROS LD A,$18 ;RESET CANAL A DEL SIO OUT (SIOAC),A ;LO SACO LD A,$14 ;RESET EX/STA INT Y DIR WR4 OUT (SIOAC),A ;LO SACO LD A,$04 ;x01,1 BIT DE PARADA, SIN PARIDAD OUT (SIOAC),A ;LO SACO LD A,$03 ;DIR WR3 OUT (SIOAC),A ;LO SACO LD A,$C1 ;8 BITS,RX ACTIVA, AUTO ENE INACTIVO OUT (SIOAC),A ;LO SACO LD A,$05 ;DIR WR5

Page 56: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 53

OUT (SIOAC),A ;LO SACO LD A,$EA ;8 BITS,TX ACTIVO,DTR Y RTS ACTIVOS OUT (SIOAC),A ;LO SACO LD A,$11 ;DIR WR1 Y RESET EX/STA INT OUT (SIOAC),A ;LO SACO LD A,$11 ;EXT INT ACTIVA,TX INT INACTIVA, INT

;EN TODOS LOS CARACTERES RECIBIDOS OUT (SIOAC),A ;LO SACO

RET ; fin de inicializa.

;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .; Se reserva espacio para almacenar los datos obtenidos de cada canal.; así como los registros donde se almacenaran los valores máximos del ADC.; Se define una dirección FIJA para almacenar los apuntadores y los tiempos de captura de cada

canal.

DEFSEG DATO, CLASS=CODE, START=1000HSEG DATO

;Formato:;Canal-0,Canal-1,Canal-2,Canal-3,Canal-4,Canal-5,Canal-6,Canal

;H:M H:M H:M

DATOS:

DW $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001 ;8010H Tiempo baseDW $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001 ;8020H Tiempo para la siguiente muestraDW $8700,$8800,$9000,$9800,$A000,$A800,$B000,$B800 ;8030H Dirección _inicial para la captura de datosDW $87FF,$8FFF,$97FF,$9FFF,$A7FF,$AFFF,$B7FF,$BFFF ;8040H Dirección final para la captura de datosDW $8700,$8800,$9000,$9800,$A000,$A800,$B000,$B800 ;8050H Comienza la captura de datos enDW $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 ;8060H Almacena los Máximos (inicializa en cero):

END ; fin del programa.

; ===========================================================================; ===========================================================================; ===========================================================================

Page 57: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 54

6.2 USO DEL SIMULADOR SIMZ80.

Con el fin de verificar cada núcleo del programa, se utilizó el simulador SIMZ80, que

es un software que nos permite ejecutar el programa y nos presenta el resultado en forma

virtual, con ello se pudo afina el funcionamiento de las rutinas del programa.

El software es muy sencillo, pero es de gran utilidad; ya que nos presenta la dirección

a la que apunta o contiene cada uno de los registros, así como el contenido de las memoria

RAM y ROM, de esta forma se puede hacer un seguimiento de los parámetros y variables de

nuestro sistema; en las dos figuras siguientes se presenta las ventanas principales del

programa.

Pantalla de inicio del simulador, se tiene que seleccionar una opción.

Page 58: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 55

Figura No. 12:Simulación virtual del estado de los registros del procesador z80.

(aún no se carga el programa).

6.3 MANUAL DE OPERACIÓN DEL SISTEMA.

A. Iniciar el sistema pulsando el botón de RESET.

- Aparecerá el símbolo del sistema: >

B. Configurar los periodos de adquisición para cada canal de la siguiente manera:

Nota. Una de las ventajas de éste sistema al tener ocho canales de adquisición, es

que cada canal se puede programar independientemente a periodos diferentes; por defecto,

todos los canales adquirirán datos cada minuto.

ACCIÓN VARIABLE C EFECTO

B.1 Pulsar la letra C (mayúscula) C= Indicar al programa que

deseamos configurar un canal.

B.2 Elegir el canal deseado (del 0 al 7) C=2 Selección del canal.

B.3 Pulsar la tecla T (mayúscula) C=2T Indicar al programa que vamos

a cambiar la temporización del

Page 59: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 56

ACCIÓN VARIABLE C EFECTO

canal seleccionado.

B.4 Escribir las horas (0,1,2,....9,A,B,C) C=2T3 Seleccionamos la hora teniendo

en cuenta que se usa el sistema

hexadecimal.

0= 0 horas

1=1 horas

:

B=11 horas y

C=12 horas

B.5 Escribir los minutos (0,1,2,....,9,A,B) C=2T3B Se seleccionan en periodos de

5 minutos.

0=1 min

1=5 minutos

:

A=50 minutos

B=55 minutos

B.6 Realizar la misma operación para cada canal.

Tabla No. 9: Configuración de tiempos de adquisición por cada canal.

Aparece el símbolo del sistema > ; el resultado final será que el canal 2 tomará

datos cada 3 horas con 55 minutos.

Obs.- Si se escribe un valor fuera de rango, el canal tomará datos cada minuto (valor

por defecto).

C. Recuperar los datos almacenados por uno de los canales.ACCIÓN VARIABLE C EFECTO

C.1 Pulsar la letra C (mayúscula) C= Para seleccionar canal.

C.2 Elegir el canal deseado (del 0 al 7) C=5

C.3 Pulsar la tecla R (mayúscula) C=5R Recuperar dato.

C.4 Realizar la misma operación para cada canal.

Tabla No. 10: Recuperación de datos almacenados por canal.

El sistema enviará todos los datos capturados hasta el momento.

Page 60: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 57

D. Obtener el valor máximo de cada canal.

ACCIÓN VARIABLE C EFECTO

D.1 Pulsar la letra C (mayúscula) C= Selección de canal

D.2 Elegir el canal deseado (del 0 al 7) C=0

D.3 Pulsar la tecla M (mayúscula) C=0M

Recupera el valor

máximo almacenado en

el canal.

D.4 Realizar la misma operación para cada canal.

Tabla No. 11: Obtención de valores máximos por canal.

E. Borrar los datos de un canal

ACCIÓN VARIABLE C EFECTO

E.1 Pulsar la letra C (mayúscula) C= Seleccionar canal.

E.2 Elegir el canal deseado (del 0 al 7) C=7

E.3 Pulsar la tecla B (mayúscula) C=7B Limpia la información

almacenada en el

canal.

E.4 Realizar la misma operación para cada canal.

Tabla No. 12: Eliminar datos de un canal.

F. Configurar el Reloj del Sistema.

En este módulo configura el reloj a la hora indicada por el usuario, y a partir de ese

momento todos los canales comienzan a contabilizar su periodo de adquisición de datos; de

otro modo el sistema comenzaría como si fueran las 00:01 horas. El tiempo de adquisición de

cada canal, se ajustará al tiempo actual del sistema.ACCIÓN VARIABLE S EFECTO

F.1 Pulsar la letra S (mayúscula) S= Variable asignada para

el reloj del sistema.

F.2 Escribir las horas (0,1,2,....9,A,B,C) S=A 0= 0 horas

1=1 horas

:

Page 61: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 58

ACCIÓN VARIABLE S EFECTO

A=10 horas

B=11 horas y

C=12 horas

F.3 Escribir los minutos (0,1,2,....,9,A,B) S=A3 0=1 min

1=5 minutos

2=10 minutos

:

A=50 minutos

B=55 minutos

Tabla No. 13: Configuración del reloj del sistema.

EL RELOJ DEL SISTEMA QUEDARÁ ACTUALIZADO COMO LAS 10 HORAS CON 15

MINUTOS

Aparece el símbolo del sistema >

El sistema se encuentra preparado para comenzar a obtener la información.

G. Obtener el máximo de todos los canales.

ACCIÓN VARIABLE S EFECTO

F.1 Pulsar la letra M (mayúscula) M Envía por el puerto

Serial todos los

máximos almacenados

de los 8 canales.

Tabla No. 14: Valores máximos de todos los canales.

Una vez enviados todos los datos, aparece el símbolo del sistema >

El sistema se encuentra preparado para comenzar a obtener la información.

Page 62: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 59

H. Recuperar los datos almacenados de todos los canales.

ACCIÓN VARIABLE S EFECTO

F.1 Pulsar la letra R (mayúscula) R Envía por el puerto

Serial todos los datos

almacenados de los 8

canales.

Tabla No. 15: Recuperar datos de todos los canales.

Una vez enviados todos los datos, aparece el símbolo del sistema >

El sistema se encuentra preparado para comenzar a obtener la información.

Page 63: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 60

SECCIÓN VII

RESULTADOS

Una vez que la tarjeta fue terminada, se procedió a realizarle las pruebas de

laboratorio, de la siguiente manera:

1. Para comprobar que el valor digital recuperado correspondiera al nivel de voltaje

correcto, se fueron probando en forma independiente cada uno de los canales de

adquisición con diferentes valores de voltaje constante; el resultado fue satisfactorio,

pues de 10 lecturas (una cada 0.5 Volts) sólo se observaron pequeñas discrepancias

del orden del 10% sobre el valor esperado, es decir las diferencias encontradas fueron

de +/- 1 dígito binario.

EQUIVALENTE EN CÓDIGOBINARIO

VALORES OBTENIDOS EN ELLABORATORIO

VOLTAJE DEENTRADA

(E-3=milivolts) D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

C0 C1 C2 C3 C4 C5 C6 C7

0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00

507.81 E-3 0 0 0 1 1 0 0 1 26 1A 19 1A 19 1A 19 19 19 18

1.02 E+0 0 0 1 1 0 0 1 1 52 34 33 33 33 34 34 34 33 32

1.50 E+0 0 1 0 0 1 1 0 0 77 4D 4D 4D 4D 4E 4E 4E 4D 4C

2.01 E+0 0 1 1 0 0 1 1 0 103 67 66 67 66 67 67 66 66 672.50 E+0 0 1 1 1 1 1 1 1 128 80 80 80 7F 7F 80 80 81 82

3.01 E+0 1 0 0 1 1 0 0 1 154 9A 9A 98 9A 9A 9A 99 98 A1

3.50 E+0 1 0 1 1 0 0 1 0 179 B3 B3 B4 B4 B2 B3 B3 B2 B4

4.00 E+0 1 1 0 0 1 1 0 0 205 CD CD CB CD CC CD CD CE CE

4.51 E+0 1 1 1 0 0 1 1 0 231 E7 E6 E7 E5 E7 E7 E6 E7 E8

5.00 E+0 1 1 1 1 1 1 1 1 256 FF FF FF FF FE FF FF FF FF

Tabla No. 16: Resultados obtenidos en pruebas de laboratorio.

2. De acuerdo al manual de operación, se programaron los canales para su

funcionamiento con los siguientes tiempos:

Canal 0 1 minuto.

Canal 1 5 minutos.

Page 64: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 61

Canal 2 15 minutos.

Canal 3 20 minutos.

Canal 4 30 minutos.

Canal 5 40 minutos.

Canal 6 50 minutos.

Canal 7 1 hora.

Los canales fueron probados en el laboratorio con una fotocelda, con ello se

obtuvo la información en tiempo real requerida para comprobar la eficiencia del

proyecto.

Figura No. 13: Implementación de un fotosensor.

Con el fin de tener una herramienta de comparación entre el voltaje de entrada

y el valor digital obtenido, en el ANEXO F se muestra un cuadro comparativo entre el

voltaje de entrada y sus correspondientes equivalencias en los sistemas binario y

hexadecimal.

Los datos que se obtuvieron de la lectura de los canales, se observa en la

siguiente tabla:

VALORES REGISTRADOS EN CADA CANAL(Hexadecimal)

HORA V inC0

(1 min)C1

(5 min)C2

(15 min)C3

(20 min)C4

(30 min)C5

(40 min)C6

(50 min)C7

(60 min)

3:30 p.m. 3.7891 C23:31 p.m. 3.7305 BF3:32 p.m. 3.7305 BF3:33 p.m. 3.7500 C03:34 p.m. 3.7305 BF3:35 p.m. 3.7305 BF BE3:36 p.m. 3.7695 C13:37 p.m. 3.6914 BD3:38 p.m. 3.6719 BC

Page 65: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 62

VALORES REGISTRADOS EN CADA CANAL(Hexadecimal)

HORA V inC0

(1 min)C1

(5 min)C2

(15 min)C3

(20 min)C4

(30 min)C5

(40 min)C6

(50 min)C7

(60 min)

3:39 p.m. 3.6328 BA3:40 p.m. 3.5938 B8 B93:41 p.m. 3.4961 B33:42 p.m. 3.5156 B43:43 p.m. 3.4961 B33:44 p.m. 3.5547 B63:45 p.m. 3.5156 B4 B5 B43:46 p.m. 3.5352 B53:47 p.m. 3.5352 B53:48 p.m. 3.5547 B63:49 p.m. 3.4961 B33:50 p.m. 3.5156 B4 B4 B33:51 p.m. 3.4766 B23:52 p.m. 3.4180 AF3:53 p.m. 3.4375 B03:54 p.m. 3.4375 B03:55 p.m. 3.3984 AE AF3:56 p.m. 3.3399 AB3:57 p.m. 3.3203 AA3:58 p.m. 3.3008 A93:59 p.m. 3.2617 A74:00 p.m. 3.2617 A7 A7 A7 A74:01 p.m. 3.2813 A84:02 p.m. 3.2813 A84:03 p.m. 3.2617 A74:04 p.m. 3.2227 A54:05 p.m. 3.1641 A2 A24:06 p.m. 3.1055 9F4:07 p.m. 3.0859 9E4:08 p.m. 2.9492 974:09 p.m. 2.9688 984:10 p.m. 2.9102 95 94 95 944:11 p.m. 2.8711 934:12 p.m. 2.8711 934:13 p.m. 2.8516 924:14 p.m. 2.7930 8F4:15 p.m. 2.8906 94 93 944:16 p.m. 2.8711 934:17 p.m. 2.9102 954:18 p.m. 2.9297 964:19 p.m. 2.9297 964:20 p.m. 2.9883 99 99 9A4:21 p.m. 3.0274 9B4:22 p.m. 3.0274 9B4:23 p.m. 3.0664 9D4:24 p.m. 3.1250 A04:25 p.m. 3.1445 A1 A04:26 p.m. 3.1836 A34:27 p.m. 3.2031 A44:28 p.m. 3.2031 A44:29 p.m. 3.2422 A64:30 p.m. 3.2031 A4 A4 A5 A4 A4 A54:31 p.m. 3.2227 A54:32 p.m. 3.1836 A34:33 p.m. 3.1836 A3

Page 66: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 63

VALORES REGISTRADOS EN CADA CANAL(Hexadecimal)

HORA V inC0

(1 min)C1

(5 min)C2

(15 min)C3

(20 min)C4

(30 min)C5

(40 min)C6

(50 min)C7

(60 min)

4:34 p.m. 3.1250 A04:35 p.m. 3.0469 9C 9B4:36 p.m. 3.0274 9B4:37 p.m. 3.0078 9A4:38 p.m. 2.9883 994:39 p.m. 3.0274 9B4:40 p.m. 3.0859 9E 9D4:41 p.m. 3.0664 9D4:42 p.m. 3.1250 A04:43 p.m. 3.2031 A44:44 p.m. 3.2227 A54:45 p.m. 3.2617 A7 A7 A84:46 p.m. 3.3594 AC4:47 p.m. 3.4180 AF4:48 p.m. 3.4375 B04:49 p.m. 3.4766 B24:50 p.m. 3.5156 B4 B4 B4 B44:51 p.m. 3.5156 B44:52 p.m. 3.5547 B64:53 p.m. 3.5742 B74:54 p.m. 3.5547 B64:55 p.m. 3.4570 B1 B24:56 p.m. 3.6328 BA4:57 p.m. 3.6328 BA4:58 p.m. 3.5742 B74:59 p.m. 3.5938 B85:00 p.m. 3.5547 B6 B5 B5 B55:01 p.m. 3.5156 B45:02 p.m. 3.4961 B35:03 p.m. 3.4180 AF5:04 p.m. 3.3984 AE5:05 p.m. 3.3594 AC AD5:06 p.m. 3.2617 A75:07 p.m. 3.2031 A45:08 p.m. 3.1836 A35:09 p.m. 3.1641 A25:10 p.m. 3.0664 9D 9D 9E 9F5:11 p.m. 3.1250 A05:12 p.m. 3.0664 9D5:13 p.m. 3.0469 9C5:14 p.m. 3.0469 9C5:15 p.m. 3.0664 9D 9D 955:16 p.m. 3.0859 9E5:17 p.m. 3.1250 A05:18 p.m. 3.1055 9F5:19 p.m. 3.1250 A05:20 p.m. 3.1055 9F 9E5:21 p.m. 3.1250 A05:22 p.m. 3.0859 9E5:23 p.m. 3.0078 9A5:24 p.m. 2.9492 975:25 p.m. 2.9102 95 935:26 p.m. 2.8320 915:27 p.m. 2.7539 8D5:28 p.m. 2.6758 89

Page 67: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 64

VALORES REGISTRADOS EN CADA CANAL(Hexadecimal)

HORA V inC0

(1 min)C1

(5 min)C2

(15 min)C3

(20 min)C4

(30 min)C5

(40 min)C6

(50 min)C7

(60 min)

5:29 p.m. 2.5586 835:30 p.m. 2.4609 7E 7D 7E 7E 79 78 775:31 p.m. 2.3047 765:32 p.m. 2.1289 6D5:33 p.m. 1.9727 655:34 p.m. 1.8555 5F5:35 p.m. 1.7578 5A 5A5:36 p.m. 1.7578 5A5:37 p.m. 1.6602 555:38 p.m. 1.6211 535:39 p.m. 1.5820 515:40 p.m. 1.5234 4E 4E5:41 p.m. 1.5039 4D5:42 p.m. 1.4648 4B5:43 p.m. 1.4063 485:44 p.m. 1.3086 435:45 p.m. 1.3281 44 42 435:46 p.m. 1.2305 3F5:47 p.m. 1.1914 3D5:48 p.m. 1.1523 3B5:49 p.m. 1.0938 385:50 p.m. 1.0352 35 34 345:51 p.m. 1.0156 345:52 p.m. 0.9961 335:53 p.m. 0.9961 335:54 p.m. 0.9375 305:55 p.m. 0.8203 2A 2A5:56 p.m. 0.7813 285:57 p.m. 0.7031 245:58 p.m. 0.6836 235:59 p.m. 0.6250 206:00 p.m. 0.5469 1C 1C 1A 1A6:01 p.m. 0.4688 186:02 p.m. 0.4102 156:03 p.m. 0.3906 146:04 p.m. 0.3125 106:05 p.m. 0.2930 0F 0E6:06 p.m. 0.3320 116:07 p.m. 0.2148 0B6:08 p.m. 0.1367 076:09 p.m. 0.1758 096:10 p.m. 0.1367 07 06 05 056:11 p.m. 0.0586 036:12 p.m. 0.0781 046:13 p.m. 0.0391 026:14 p.m. 0.0391 026:15 p.m. 0.0586 03 03 026:16 p.m. 0.0391 026:17 p.m. 0.0195 016:18 p.m. 0.0391 026:19 p.m. 0.0391 026:20 p.m. 0.0195 01 016:21 p.m. 0.0195 016:22 p.m. 0.0000 006:23 p.m. 0.0000 00

Page 68: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 65

VALORES REGISTRADOS EN CADA CANAL(Hexadecimal)

HORA V inC0

(1 min)C1

(5 min)C2

(15 min)C3

(20 min)C4

(30 min)C5

(40 min)C6

(50 min)C7

(60 min)

6:24 p.m. 0.0000 006:25 p.m. 0.0000 00 006:26 p.m. 0.0000 006:27 p.m. 0.0000 006:28 p.m. 0.0000 006:29 p.m. 0.0000 006:30 p.m. 0.0000 00 00 00 00 00 00 00 00

Tabla No. 17: Registro de datos originados por el fotosensor.

Se puede observar que las lecturas comenzaron a las 3:30 p.m., aprovechando la

intensidad de luz solar, conforme pasa el tiempo se observa un decremento tanto del valor de

voltaje (Vin) registrado en el multímetro, como del valor hexadecimal registrado en el

sistema, por lo cual a partir de la 6:22 p.m. se registraron valores mínimos de cero.

3. Valores máximos obtenidos para cada canal.

Tabla No. 18: Registro de valores máximos.

Par un mejor análisis de los datos, se elaboraron las siguientes gráficas:

Figura No. 14: Gráfica de resultados del canal 0 (adquisición de datos: 1min.)

CANALES

C0 C1 C2 C3 C4 C5 C6 C7VALOR MÁXIMO

ALCANZADO PORCADA CANAL C2

3.79VBE

3.71VB5

3.54VB4

3.52VB5

3.54VB4

3.52V9F

3.11VA5

3.22V

Page 69: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 66

Figura No. 15: Gráfica de resultados del canal 1 (adquisición de datos: 5 mins.)

Figura No. 16: Gráfica de resultados del canal 2 (adquisición de datos: 15 mins.)

Page 70: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 67

Figura No. 17: Gráfica de resultados del canal 3 (adquisición de datos: 20 mins.)

Figura No. 18: Gráfica de resultados del canal 4 (adquisición de datos: 30 mins.)

Figura No. 19: Gráfica de resultados del canal 5 (adquisición de datos: 40 mins.)

Page 71: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 68

Figura No. 20: Gráfica de resultados del canal 6 (adquisición de datos: 50 mins.)

Figura No. 21: Gráfica de resultados del canal 7 (adquisición de datos: 60 mins.)

Page 72: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 69

SECCIÓN VIII

CONCLUSIONES

De acuerdo a los resultados obtenidos, se llegó a las siguientes conclusiones:

ü El proyecto cumplió con los objetivos principales; ya que se logró implementar un

sistema de adquisición de datos bajo la plataforma del microprocesador Z80, capaz

de obtener información de un sensor.

ü Se logró almacenar la información obtenida para cada canal en una memoria

dinámica, detectando además el valor máximo alcanzado en cada uno de los

canales.

ü Se consiguió establecer comunicación bidireccional entre la tarjeta y la

computadora, para el análisis de la información utilizando el protocolo de

comunicaciones RS-232.

ü Otro de los objetivos que se cumplieron, fue la reducción de costos con respecto a

sistemas existentes en el mercado.

Algunas observaciones y propuestas que se pueden hacer en torno a éste proyecto,

son las siguientes:

o El proyecto se desarrollo a nivel laboratorio, por lo que el material utilizado fue muy

austero y de bajo costo.

o Se pudo comprobar que el sistema es adaptable a cualquier sensor.

o Se tiene la limitante de que el rango de voltaje que puede ser convertido por el

ADC es de 0 a 5 volts. Por lo que para valores fuera de ese rango se debe adaptar

un sistema de comparación para obtener los valores adecuados.

o Se propone desarrollar un programa más completo que incluya la graficación de

resultados para un análisis más detallado.

Page 73: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 70

o Es una plataforma ideal que se puede utilizar para proyectos de mayor dimensión.

o Se propone la elaboración de su circuito impreso para minimizar las dimensiones

de la tarjeta o si se desea fabricar en serie.

Page 74: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 71

SECCION IX

ANEXOS

ANEXO A:

GLOSARIO/NOMENCLATURAS

ADC. Analogic Digital Converter. Convertidor Digital Analógico, hace la operación inversaque el CAD, convierte las señal digital en analógica.

ALU. Unidad Lógico-Aritmética; Se encarga de realizar las operaciones Lógicas yAritméticas.

BUS DE DATOS: su función es llevar de un lugar a otro exclusivamente datos. En él se

coloca un número binario el cual será tomado por la unidad que lo esté llamando, de esta

manera por ejemplo, puede salir de la unidad de memoria para ser llevado y tratado por la

ALU, el resultado nuevamente es colocado en el bus de datos para ser enviado quizá a otra

localidad de memoria.

BUS DE DIRECCIONES: La función del bus de direcciones es la de hacer referencia a una

dirección física del sistema, ésta puede ser una localidad de memoria o bien la dirección

física de algún dispositivo periférico. Su capacidad esta de acuerdo al número de bits que

maneje el bus y cada combinación que se pueda generar también es conocida como

dirección lógica.

Page 75: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 72

SEÑALES DE CONTROL: se encarga de llevar las señales de sincronización adecuadasentre los dispositivos; normalmente son líneas independientes que hacen una funciónespecifica como la de llevar un pulso o el control de reloj.

CISC. Conjunto de Instrucciones Complejo; es una arquitectura que tiene como objetivomejorar el proceso de compilación utilizando un mayor número de instrucciones.

DAC. Digital Analogic Converter. Convertidor Analógico Digital, Convierte señales analógicasa Digitales.

EPROM: (Erasable Programmable Read Only Memory) que es una memoria que se puedeprogramar por medio de pulsos eléctricos más alto que los normales y puede ser borrada conluz ultravioleta.

EEPROM: (Electrically Erasable ROM) que permite ser borrada y reprogramadaeléctricamente, sin embargo este tipo de memorias sólo permiten cierta cantidad de vecesser reprogramadas.

RAM: o memoria de acceso aleatorio; en ella se almacenan los programas que se esténejecutando en su momento permaneciendo así mientras esté alimentada eléctricamente; unavez que la energía es cortada, también es descargada la información de la memoria, enpocas palabras se limpia la memoria.

RISC. Conjunto de Instrucciones Reducidas; es una arquitectura utilizada en el diseño decomputadoras, el cual tiene un conjunto de instrucciones limitado y sencillo, un gran númerode registros de propósito general.

ROM: o memoria de sólo lectura; se graban las secuencias de inicio y el establecimiento deparámetros iniciales, la información permanece aún cuando se corte la energía y sucaracterística principal es que sólo se puede leer la información que se encuentra en suinterior, ya que no se puede modificar.

VCD. Volts de Corriente Directa.

Page 76: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 73

ANEXO B

CONVERSIÓN ANALÓGICA-DIGITAL.

Una señal analógica es aquella que puede tomar una infinidad de valores (frecuencia y

amplitud) dentro de un límite superior e inferior. El término analógico proviene de análogo.

Por ejemplo, si se observa en un osciloscopio, la forma de la señal eléctrica en que convierte

un micrófono el sonido que capta, ésta sería similar a la onda sonora que la originó.

En cambio, una señal digital es aquella señal cuyos valores (frecuencia y amplitud) no

son continuos sino discretos, lo que significa que la señal necesariamente ha de tomar unos

determinados valores fijos predeterminados. Estos valores fijos se toman del sistema binario,

lo que significa que la señal va a quedar convertida en una combinación de ceros y unos, que

ya no se parece en nada a la señal original. Precisamente, el término digital tiene su origen

en esto, en que la señal se construye a partir de números (dígitos).

Una vez aclaradas las diferencias básicas entre la tecnología analógica y la digital,

veamos ahora cómo se efectúa el proceso de conversión de una tecnología a otra.

Para realizar esa tarea, el conversor ADC (Analog-to-Digital Converter - Conversor

Analógico Digital) tiene que efectuar los siguientes procesos:

1. Muestreo de la señal analógica.

2. Cuantización de la propia señal

3. Codificación del resultado de la cuantización, en código binario.

Page 77: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 74

MUESTREO DE LA SEÑAL ANALÓGICA

Representación gráfica de medio ciclo positivo (+),

correspondiente a una señal eléctrica analógica de sonido, con

sus correspondientes armónicos. Como se podrá observar, los

valores de variación de la tensión o voltaje en esta sinusoide

pueden variar en una escala que va de 0 a 7 volts.

Para convertir una señal analógica en digital, el primer paso

consiste en realizar un muestreo (sampling) de ésta, o lo que es igual, tomar diferentes

muestras de tensiones o voltajes en diferentes puntos de la onda senoidal. La frecuencia a la

que se realiza el muestreo se denomina razón, tasa o también frecuencia de muestreo y se

mide en kilo hertz (kHz).

Durante el proceso de muestreo se asignan valores numéricos equivalentes a la tensión o

voltaje existente en diferentes puntos de la sinusoide, con la finalidad de realizar a

continuación el proceso de cuantización.

Para realizar el muestreo (sampling) de una señal eléctrica

analógica y convertirla después en digital, el primer paso consiste

en tomar valores discretos de tensión o voltaje a intervalos

regulares en diferentes puntos de la onda senoidal.

CONDICIÓN DE NYQUIST

El ingeniero sueco Harry Nyquist formuló el siguiente teorema para obtener una

grabación digital de calidad: La frecuencia de muestreo mínima requerida para realizar una

grabación digital de calidad, debe ser igual al doble de la frecuencia de audio de la señal

analógica que se pretenda digitalizar y grabar . Este teorema recibe también el nombre de

Condición de Nyquist . Es decir, que la tasa de muestreo se debe realizar, al menos, al

doble de la frecuencia de los sonidos más agudos que puede captar el oído humano que son

20 mil hertz por segundo (20 kHz). Por ese motivo se escogió la frecuencia de 44,1 kHz

Page 78: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 75

como tasa de muestreo para obtener calidad de CD , pues al ser un poco más del doble de

20 kHz, incluye las frecuencias más altas que el sentido del oído puede captar.

CUANTIZACIÓN DE LA SEÑAL ANALÓGICA

Una vez realizado el muestreo, el siguiente paso es la

cuantización (quantization) de la señal analógica. Para esta

parte del proceso los valores continuos de la sinusoide se

convierten en series de valores numéricos decimales discretos

correspondientes a los diferentes niveles o variaciones de

voltajes que contiene la señal analógica original. Por tanto, la

cuantización representa el componente de muestreo de las variaciones de valores de

tensiones o voltajes tomados en diferentes puntos de la onda sinusoidal, que permite

medirlos y asignarles sus correspondientes valores en el sistema numérico decimal, antes de

convertir esos valores en sistema numérico binario.

CODIFICACIÓN DE LA SEÑAL EN CÓDIGO BINARIO

Después de realizada la cuantización, los valores de las tomas de voltajes se

representan numéricamente por medio de códigos y estándares previamente establecidos.

Lo más común es codificar la señal digital en código numérico binario.

La codificación permite asignarle valores numéricos

binarios equivalentes a los valores de tensiones o voltajes que

conforman la señal eléctrica analógica original.

En este ejemplo gráfico de codificación, es posible observar

cómo se ha obtenido una señal digital y el código binario

correspondiente a los niveles de voltaje que posee la señal

analógica. La siguiente tabla muestra los valores numéricos del 0 al 7, pertenecientes al

sistema decimal y sus equivalentes en código numérico binario. En la siguiente tabla se

anotan los valores numéricos equivalentes de los voltajes de la muestra tomada en la señal

analógica con sus correspondientes valores en código binario.

Page 79: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 76

VALORES EN VOLTS EN SISTEMADECIMAL

CONVERSIÓN A CÓDIGOBINARIO

0 0001 0012 0103 0114 1005 1016 1107 111

Page 80: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 77

ANEXO C

PROTOCOLO DE COMUNICACIÓN RS-232

Los datos serie se encuentran encapsulados en tramas de la siguiente forma:

Figura No. : Encapsulado de una serie de datos asíncrono, (un caracter)

Primero se envía un BIT DE START , a continuación los BITS DE DATOS y finalmente el BIT DE

STOP.

Estos son parámetros que se pueden configurarse para establecer la

comunicación, así como el criterio de paridad par o impar para la detección de errores.

Normalmente, las comunicaciones serie tienen los siguientes parámetros:

o 1 bit de Start,

o 8 bits de Datos,

o 1 bit de Stop y

o sin paridad.

En la figura se puede ver un ejemplo de la transmisión del dato binario 10011010.

La línea en reposo está a nivel alto:

Page 81: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 78

Diagrama No. Diagrama de comunicación asíncrona.

La Norma RS-232 fue definida para conectar un ordenador a un módem. Además de

transmitirse los datos de una forma serie asíncrona son necesarias una serie de señales

adicionales, que se definen en la norma. Las tensiones empleadas están comprendidas entre

+15/-15 voltios.

Para conectar el PC a un microprocesador por el puerto serie se utilizan las

señales Tx, Rx y GND. El PC utiliza la norma RS232, por lo que los niveles de tensión

de los pines entán comprendidos entre +15 y -15 voltios. Los microcontroladores

normalmente trabajan con niveles TTL (0-5v). Es necesario por tanto intercalar un

circuito que adapte los niveles:

Circuito Integrado MAX232

Este circuito integrado soluciona los problemas de niveles de voltaje cuando se

requiere enviar señales digitales sobre una línea RS-232. el MAX232 se usa en aquellas

aplicaciones donde no se dispones de fuentes dobles de +12V; por ejemplo, en aplicaciones

alimentados con baterías de una polaridad. El MAX232 necesita solamente una fuente de

Page 82: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 79

+5V para su operación; un elevador de voltaje interno convierte el voltaje de +5V al doble de

polaridad de +-10V. A continuación se muestra la estructura interna del MAX232.

Para el enlace entre dispositivos, se usan conectores DB9 macho y hembra.

La información asociada a cada uno de los pines es la siguiente:NÚMERO DE PIN SEÑAL NÚMERO DE PIN SEÑAL

1 DCD (Data Carrier Detect) 6 DSR (Data Sheet Ready)

2 RX (Receiver) 7 RTS (Request To Send)

3 TX (Transceiver) 8 CTS (Clear To Send)

4 DTR (Data Terminal Ready) 9 RI (Ring Indicator)

5 GND

Page 83: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 80

ANEXO D

ÍNDICE DE FIGURAS, DIAGRAMAS Y TABLAS

FIGURAS:

Figura No. 1: Sistema Remoto de Adquisición de Datos............................................ 7

Figura No. 2: Diseño del ordenador como medio de adquisición de datos................ 9

Figura No. 3: Esquema del microprocesador z80...................................................... 26

Figura No. 4: Encapsulado de las memoria RAM HM62256

y EEPROM 27256........................................................................................................... 27

Figura No. 4: Lógica de control y encapsulado del multiplexor 74LS138.................. 28

Figura No. 5: Diagrama a bloques y el encapsulado del ADC0808.......................... 29

Figura No. 6: Encapsulado del integrado Z84C90.................................................... 30

Figura No. 7: Esquema de sincronización del microprocesador Z80....................... 35

Figura No. 8: Sincronización del microprocesador Z80............................................. 35

Figura No. 9 : Sincronización del CLK/TRG timer del KIO....................................... 36

Figura No. 10: Sincronización del ADC0808............................................................. 36

Figura No. 11: Sincronización de la comunicación serial.......................................... 37

Figura No. 12:Simulación virtual del estado de los registros del procesador z80..... 58

Figura No. 13: Implementación de un fotosensor...................................................... 64

Figura No. 14: Gráfica de resultados del canal 0 (adquisición de datos: 1min.)....... 68

Figura No. 15: Gráfica de resultados del canal 1 (adquisición de datos: 5 mins.).... 69

Figura No. 16: Gráfica de resultados del canal 2 (adquisición de datos: 15 mins.).. 69

Figura No. 17: Gráfica de resultados del canal 3 (adquisición de datos: 20 mins.).. 69

Figura No. 18: Gráfica de resultados del canal 4 (adquisición de datos: 30 mins.).. 70

Figura No. 19: Gráfica de resultados del canal 5 (adquisición de datos: 40 mins.).. 70

Figura No. 20: Gráfica de resultados del canal 6 (adquisición de datos: 50 mins.).. 70

Page 84: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 81

Figura No. 21: Gráfica de resultados del canal 7 (adquisición de datos: 60 mins.).. 71

DIAGRAMAS:

Diagrama No.1: Ciclo de búsqueda y ejecución de un programa de

instrucciones de la unidad de control.................................................... 16

Diagrama No. 2: Selector de Memorias..................................................................... 27

Diagrama No. 3: Implementación del dispositivo Power On Reset.......................... 31

Diagrama No. 4: Conexiones de la interfaz serial y encapsulado del integrado MAX232. 31

Diagrama No. 5: Diagrama eléctrico de la Tarjeta Remota de Adquisición de Datos... 34

TABLAS:

Tabla No. 1: Características del proyecto TEDDY-GEN............................................ 10

Tabla No. 2: Diferentes dispositivos de la empresa Ampere..................................... 11

Tabla No. 3: Cuadro comparativo del estado del arte............................................... 13

Tabla No. 4: Cuadro comparativo entre un microprocesador y

un microcontrolador......................................................................................... 20

Tabla No. 5: Registros del microprocesador z80....................................................... 21

Tabla No. 6: Lógica de selección de memorias......................................................... 27

Tabla No. 7: Mapeo para la selección de las memorias RAM y ROM...................... 27

Tabla No. 8: Mapeo de memoria y dispositivos del sistema...................................... 38

Tabla No. 9: Configuración de tiempos de adquisición por cada canal..................... 59

Tabla No. 10: Recuperación de datos almacenados por canal................................. 59

Tabla No. 11: Obtención de valores máximos por canal........................................... 60

Tabla No. 12: Eliminar datos de un canal.................................................................. 60

Tabla No. 13: Configuración del reloj del sistema..................................................... 61

Tabla No. 14: Valores máximos de todos los canales............................................... 61

Tabla No. 15: Recuperar datos de todos los canales................................................ 62

Tabla No. 16: Resultados obtenidos en pruebas de laboratorio................................ 63

Tabla No. 17: Registro de datos originados por el fotosensor................................... 64

Tabla No. 18: Registro de valores máximos.............................................................. 68

Page 85: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 82

ANEXO E

CONJUNTO DE INSTRUCCIONES Y RESUMEN DE BANDERAS

DEL MICROPROCESADOR Z80

Page 86: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 83

Page 87: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 84

Page 88: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 85

Page 89: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 86

Page 90: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 87

Page 91: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 88

Page 92: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 89

Page 93: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 90

Page 94: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 91

Notación simbólica:SÍMBOLO OPERACIÓN

S Bandera de signo, S=1 si el MSB (bit más significativo) del resultado es 1.

Z Bandera de cero, Z=1 si el resultado de la operación es 0.

P/V Bandera de overflow o paridad. Paridad (P) y Overflow (V) comparten la misma

bandera. Las operaciones lógicas afectan esta bandera con la paridad del resultado,

mientras que las operaciones aritméticas afectan esta bandera con el overflow del

resultado.

Si p/v contiene paridad: P/V=1 si el resultado de la operación es par y P/V=0 si el

resultado es impar. Si P/V contiene overflow: P/V=1 si el resultado de la operación

produce un overflow y P/V=0 si no se produce un overflow.

H* Bandera de acarreo-mitad. H=1 si una operación de suma o resta produce un acarreo

en, o desde, el bit 4 del acumulador.

N* Bandera de suma-resta. N=1 si la operación previa fue una resta.

C Bandera carry/linn. C=1 si la operación produce un acarreo del MSB del operando o

resultado.

B La bandera es afectada de acuerdo al resultado de operación.

O La bandera es reseteada por la operación.

X La bandera indeterminada.

V La bandera P/V es afectada según el overflow del resultado de operación.

P La bandera P/V es afectada según la paridad del resultado de operación.

R Cualquier registro de la CPU: A, B, C, D, E, H, L.

S Cualquier posición de 8 bits, para todos los modos de direccionamiento permitido por

la instrucción particular.

Ss Cualquier posición de 16 bits, para todos los modos de direccionamiento permitido

por la instrucción particular.

Ii Cualquiera de los registros índices IX ó IY.

R Contador de refresco.

N Valor de 8 bits comprendido entre <0,255>

Nn Valor de 16 bits comprendido entre <0,65535>

*Las banderas H y N se usan junto con la instrucción de ajuste decimal (DAA) para

proporcionar resultados correctos en formato BCD condensado, permitiendo sumar y restar

usando operando con formato BCD condensado.

Page 95: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 92

ANEXO F

CUADRO COMPARATIVO ENTRE EL VOLTAJE DE ENTRADA

Y SU EQUIVALENCIA EN EL SISTEMA DIGITAL

EQUIVALENTE ENCÓDIGO BINARIO

EQUIVALENTE ENCÓDIGO BINARIOVOLTAJE

(E-3=milivolts)D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

VOLTAJE(E-3=milivolts)

D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

0 0 0 0 0 0 0 0 0 0 0 0 2.50 E+0 1 0 0 0 0 0 0 0 128 8 0

19.53 E-3 0 0 0 0 0 0 0 1 1 0 1 2.52 E+0 1 0 0 0 0 0 0 1 129 8 1

39.06 E-3 0 0 0 0 0 0 1 0 2 0 2 2.54 E+0 1 0 0 0 0 0 1 0 130 8 2

58.59 E-3 0 0 0 0 0 0 1 1 3 0 3 2.56 E+0 1 0 0 0 0 0 1 1 131 8 3

78.13 E-3 0 0 0 0 0 1 0 0 4 0 4 2.58 E+0 1 0 0 0 0 1 0 0 132 8 4

97.66 E-3 0 0 0 0 0 1 0 1 5 0 5 2.60 E+0 1 0 0 0 0 1 0 1 133 8 5

117.19 E-3 0 0 0 0 0 1 1 0 6 0 6 2.62 E+0 1 0 0 0 0 1 1 0 134 8 6

136.72 E-3 0 0 0 0 0 1 1 1 7 0 7 2.64 E+0 1 0 0 0 0 1 1 1 135 8 7

156.25 E-3 0 0 0 0 1 0 0 0 8 0 8 2.66 E+0 1 0 0 0 1 0 0 0 136 8 8

175.78 E-3 0 0 0 0 1 0 0 1 9 0 9 2.68 E+0 1 0 0 0 1 0 0 1 137 8 9

195.31 E-3 0 0 0 0 1 0 1 0 10 0 A 2.70 E+0 1 0 0 0 1 0 1 0 138 8 A

214.84 E-3 0 0 0 0 1 0 1 1 11 0 B 2.71 E+0 1 0 0 0 1 0 1 1 139 8 B

234.38 E-3 0 0 0 0 1 1 0 0 12 0 C 2.73 E+0 1 0 0 0 1 1 0 0 140 8 C

253.91 E-3 0 0 0 0 1 1 0 1 13 0 D 2.75 E+0 1 0 0 0 1 1 0 1 141 8 D

273.44 E-3 0 0 0 0 1 1 1 0 14 0 E 2.77 E+0 1 0 0 0 1 1 1 0 142 8 E

292.97 E-3 0 0 0 0 1 1 1 1 15 0 F 2.79 E+0 1 0 0 0 1 1 1 1 143 8 F

312.50 E-3 0 0 0 1 0 0 0 0 16 1 0 2.81 E+0 1 0 0 1 0 0 0 0 144 9 0

332.03 E-3 0 0 0 1 0 0 0 1 17 1 1 2.83 E+0 1 0 0 1 0 0 0 1 145 9 1

351.56 E-3 0 0 0 1 0 0 1 0 18 1 2 2.85 E+0 1 0 0 1 0 0 1 0 146 9 2

371.09 E-3 0 0 0 1 0 0 1 1 19 1 3 2.87 E+0 1 0 0 1 0 0 1 1 147 9 3

390.63 E-3 0 0 0 1 0 1 0 0 20 1 4 2.89 E+0 1 0 0 1 0 1 0 0 148 9 4

410.16 E-3 0 0 0 1 0 1 0 1 21 1 5 2.91 E+0 1 0 0 1 0 1 0 1 149 9 5

429.69 E-3 0 0 0 1 0 1 1 0 22 1 6 2.93 E+0 1 0 0 1 0 1 1 0 150 9 6

449.22 E-3 0 0 0 1 0 1 1 1 23 1 7 2.95 E+0 1 0 0 1 0 1 1 1 151 9 7

468.75 E-3 0 0 0 1 1 0 0 0 24 1 8 2.97 E+0 1 0 0 1 1 0 0 0 152 9 8

488.28 E-3 0 0 0 1 1 0 0 1 25 1 9 2.99 E+0 1 0 0 1 1 0 0 1 153 9 9

507.81 E-3 0 0 0 1 1 0 1 0 26 1 A 3.01 E+0 1 0 0 1 1 0 1 0 154 9 A

527.34 E-3 0 0 0 1 1 0 1 1 27 1 B 3.03 E+0 1 0 0 1 1 0 1 1 155 9 B

546.88 E-3 0 0 0 1 1 1 0 0 28 1 C 3.05 E+0 1 0 0 1 1 1 0 0 156 9 C

566.41 E-3 0 0 0 1 1 1 0 1 29 1 D 3.07 E+0 1 0 0 1 1 1 0 1 157 9 D

Page 96: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 93

EQUIVALENTE ENCÓDIGO BINARIO

EQUIVALENTE ENCÓDIGO BINARIOVOLTAJE

(E-3=milivolts)D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

VOLTAJE(E-3=milivolts)

D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

585.94 E-3 0 0 0 1 1 1 1 0 30 1 E 3.09 E+0 1 0 0 1 1 1 1 0 158 9 E

605.47 E-3 0 0 0 1 1 1 1 1 31 1 F 3.11 E+0 1 0 0 1 1 1 1 1 159 9 F

625.00 E-3 0 0 1 0 0 0 0 0 32 2 0 3.13 E+0 1 0 1 0 0 0 0 0 160 A 0

644.53 E-3 0 0 1 0 0 0 0 1 33 2 1 3.14 E+0 1 0 1 0 0 0 0 1 161 A 1

664.06 E-3 0 0 1 0 0 0 1 0 34 2 2 3.16 E+0 1 0 1 0 0 0 1 0 162 A 2

683.59 E-3 0 0 1 0 0 0 1 1 35 2 3 3.18 E+0 1 0 1 0 0 0 1 1 163 A 3

703.13 E-3 0 0 1 0 0 1 0 0 36 2 4 3.20 E+0 1 0 1 0 0 1 0 0 164 A 4

722.66 E-3 0 0 1 0 0 1 0 1 37 2 5 3.22 E+0 1 0 1 0 0 1 0 1 165 A 5

742.19 E-3 0 0 1 0 0 1 1 0 38 2 6 3.24 E+0 1 0 1 0 0 1 1 0 166 A 6

761.72 E-3 0 0 1 0 0 1 1 1 39 2 7 3.26 E+0 1 0 1 0 0 1 1 1 167 A 7

781.25 E-3 0 0 1 0 1 0 0 0 40 2 8 3.28 E+0 1 0 1 0 1 0 0 0 168 A 8

800.78 E-3 0 0 1 0 1 0 0 1 41 2 9 3.30 E+0 1 0 1 0 1 0 0 1 169 A 9

820.31 E-3 0 0 1 0 1 0 1 0 42 2 A 3.32 E+0 1 0 1 0 1 0 1 0 170 A A

839.84 E-3 0 0 1 0 1 0 1 1 43 2 B 3.34 E+0 1 0 1 0 1 0 1 1 171 A B

859.38 E-3 0 0 1 0 1 1 0 0 44 2 C 3.36 E+0 1 0 1 0 1 1 0 0 172 A C

878.91 E-3 0 0 1 0 1 1 0 1 45 2 D 3.38 E+0 1 0 1 0 1 1 0 1 173 A D

898.44 E-3 0 0 1 0 1 1 1 0 46 2 E 3.40 E+0 1 0 1 0 1 1 1 0 174 A E

917.97 E-3 0 0 1 0 1 1 1 1 47 2 F 3.42 E+0 1 0 1 0 1 1 1 1 175 A F

937.50 E-3 0 0 1 1 0 0 0 0 48 3 0 3.44 E+0 1 0 1 1 0 0 0 0 176 B 0

957.03 E-3 0 0 1 1 0 0 0 1 49 3 1 3.46 E+0 1 0 1 1 0 0 0 1 177 B 1

976.56 E-3 0 0 1 1 0 0 1 0 50 3 2 3.48 E+0 1 0 1 1 0 0 1 0 178 B 2

996.09 E-3 0 0 1 1 0 0 1 1 51 3 3 3.50 E+0 1 0 1 1 0 0 1 1 179 B 3

1.02 E+0 0 0 1 1 0 1 0 0 52 3 4 3.52 E+0 1 0 1 1 0 1 0 0 180 B 4

1.04 E+0 0 0 1 1 0 1 0 1 53 3 5 3.54 E+0 1 0 1 1 0 1 0 1 181 B 5

1.05 E+0 0 0 1 1 0 1 1 0 54 3 6 3.55 E+0 1 0 1 1 0 1 1 0 182 B 6

1.07 E+0 0 0 1 1 0 1 1 1 55 3 7 3.57 E+0 1 0 1 1 0 1 1 1 183 B 7

1.09 E+0 0 0 1 1 1 0 0 0 56 3 8 3.59 E+0 1 0 1 1 1 0 0 0 184 B 8

1.11 E+0 0 0 1 1 1 0 0 1 57 3 9 3.61 E+0 1 0 1 1 1 0 0 1 185 B 9

1.13 E+0 0 0 1 1 1 0 1 0 58 3 A 3.63 E+0 1 0 1 1 1 0 1 0 186 B A

1.15 E+0 0 0 1 1 1 0 1 1 59 3 B 3.65 E+0 1 0 1 1 1 0 1 1 187 B B

1.17 E+0 0 0 1 1 1 1 0 0 60 3 C 3.67 E+0 1 0 1 1 1 1 0 0 188 B C

1.19 E+0 0 0 1 1 1 1 0 1 61 3 D 3.69 E+0 1 0 1 1 1 1 0 1 189 B D

1.21 E+0 0 0 1 1 1 1 1 0 62 3 E 3.71 E+0 1 0 1 1 1 1 1 0 190 B E

1.23 E+0 0 0 1 1 1 1 1 1 63 3 F 3.73 E+0 1 0 1 1 1 1 1 1 191 B F

1.25 E+0 0 1 0 0 0 0 0 0 64 4 0 3.75 E+0 1 1 0 0 0 0 0 0 192 C 0

1.27 E+0 0 1 0 0 0 0 0 1 65 4 1 3.77 E+0 1 1 0 0 0 0 0 1 193 C 1

1.29 E+0 0 1 0 0 0 0 1 0 66 4 2 3.79 E+0 1 1 0 0 0 0 1 0 194 C 2

1.31 E+0 0 1 0 0 0 0 1 1 67 4 3 3.81 E+0 1 1 0 0 0 0 1 1 195 C 3

1.33 E+0 0 1 0 0 0 1 0 0 68 4 4 3.83 E+0 1 1 0 0 0 1 0 0 196 C 4

1.35 E+0 0 1 0 0 0 1 0 1 69 4 5 3.85 E+0 1 1 0 0 0 1 0 1 197 C 5

1.37 E+0 0 1 0 0 0 1 1 0 70 4 6 3.87 E+0 1 1 0 0 0 1 1 0 198 C 6

1.39 E+0 0 1 0 0 0 1 1 1 71 4 7 3.89 E+0 1 1 0 0 0 1 1 1 199 C 7

1.41 E+0 0 1 0 0 1 0 0 0 72 4 8 3.91 E+0 1 1 0 0 1 0 0 0 200 C 8

Page 97: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 94

EQUIVALENTE ENCÓDIGO BINARIO

EQUIVALENTE ENCÓDIGO BINARIOVOLTAJE

(E-3=milivolts)D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

VOLTAJE(E-3=milivolts)

D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

1.43 E+0 0 1 0 0 1 0 0 1 73 4 9 3.93 E+0 1 1 0 0 1 0 0 1 201 C 9

1.45 E+0 0 1 0 0 1 0 1 0 74 4 A 3.95 E+0 1 1 0 0 1 0 1 0 202 C A

1.46 E+0 0 1 0 0 1 0 1 1 75 4 B 3.96 E+0 1 1 0 0 1 0 1 1 203 C B

1.48 E+0 0 1 0 0 1 1 0 0 76 4 C 3.98 E+0 1 1 0 0 1 1 0 0 204 C C

1.50 E+0 0 1 0 0 1 1 0 1 77 4 D 4.00 E+0 1 1 0 0 1 1 0 1 205 C D

1.52 E+0 0 1 0 0 1 1 1 0 78 4 E 4.02 E+0 1 1 0 0 1 1 1 0 206 C E

1.54 E+0 0 1 0 0 1 1 1 1 79 4 F 4.04 E+0 1 1 0 0 1 1 1 1 207 C F

1.56 E+0 0 1 0 1 0 0 0 0 80 5 0 4.06 E+0 1 1 0 1 0 0 0 0 208 D 0

1.58 E+0 0 1 0 1 0 0 0 1 81 5 1 4.08 E+0 1 1 0 1 0 0 0 1 209 D 1

1.60 E+0 0 1 0 1 0 0 1 0 82 5 2 4.10 E+0 1 1 0 1 0 0 1 0 210 D 2

1.62 E+0 0 1 0 1 0 0 1 1 83 5 3 4.12 E+0 1 1 0 1 0 0 1 1 211 D 3

1.64 E+0 0 1 0 1 0 1 0 0 84 5 4 4.14 E+0 1 1 0 1 0 1 0 0 212 D 4

1.66 E+0 0 1 0 1 0 1 0 1 85 5 5 4.16 E+0 1 1 0 1 0 1 0 1 213 D 5

1.68 E+0 0 1 0 1 0 1 1 0 86 5 6 4.18 E+0 1 1 0 1 0 1 1 0 214 D 6

1.70 E+0 0 1 0 1 0 1 1 1 87 5 7 4.20 E+0 1 1 0 1 0 1 1 1 215 D 7

1.72 E+0 0 1 0 1 1 0 0 0 88 5 8 4.22 E+0 1 1 0 1 1 0 0 0 216 D 8

1.74 E+0 0 1 0 1 1 0 0 1 89 5 9 4.24 E+0 1 1 0 1 1 0 0 1 217 D 9

1.76 E+0 0 1 0 1 1 0 1 0 90 5 A 4.26 E+0 1 1 0 1 1 0 1 0 218 D A

1.78 E+0 0 1 0 1 1 0 1 1 91 5 B 4.28 E+0 1 1 0 1 1 0 1 1 219 D B

1.80 E+0 0 1 0 1 1 1 0 0 92 5 C 4.30 E+0 1 1 0 1 1 1 0 0 220 D C

1.82 E+0 0 1 0 1 1 1 0 1 93 5 D 4.32 E+0 1 1 0 1 1 1 0 1 221 D D

1.84 E+0 0 1 0 1 1 1 1 0 94 5 E 4.34 E+0 1 1 0 1 1 1 1 0 222 D E

1.86 E+0 0 1 0 1 1 1 1 1 95 5 F 4.36 E+0 1 1 0 1 1 1 1 1 223 D F

1.88 E+0 0 1 1 0 0 0 0 0 96 6 0 4.38 E+0 1 1 1 0 0 0 0 0 224 E 0

1.89 E+0 0 1 1 0 0 0 0 1 97 6 1 4.39 E+0 1 1 1 0 0 0 0 1 225 E 1

1.91 E+0 0 1 1 0 0 0 1 0 98 6 2 4.41 E+0 1 1 1 0 0 0 1 0 226 E 2

1.93 E+0 0 1 1 0 0 0 1 1 99 6 3 4.43 E+0 1 1 1 0 0 0 1 1 227 E 3

1.95 E+0 0 1 1 0 0 1 0 0 100 6 4 4.45 E+0 1 1 1 0 0 1 0 0 228 E 4

1.97 E+0 0 1 1 0 0 1 0 1 101 6 5 4.47 E+0 1 1 1 0 0 1 0 1 229 E 5

1.99 E+0 0 1 1 0 0 1 1 0 102 6 6 4.49 E+0 1 1 1 0 0 1 1 0 230 E 6

2.01 E+0 0 1 1 0 0 1 1 1 103 6 7 4.51 E+0 1 1 1 0 0 1 1 1 231 E 7

2.03 E+0 0 1 1 0 1 0 0 0 104 6 8 4.53 E+0 1 1 1 0 1 0 0 0 232 E 8

2.05 E+0 0 1 1 0 1 0 0 1 105 6 9 4.55 E+0 1 1 1 0 1 0 0 1 233 E 9

2.07 E+0 0 1 1 0 1 0 1 0 106 6 A 4.57 E+0 1 1 1 0 1 0 1 0 234 E A

2.09 E+0 0 1 1 0 1 0 1 1 107 6 B 4.59 E+0 1 1 1 0 1 0 1 1 235 E B

2.11 E+0 0 1 1 0 1 1 0 0 108 6 C 4.61 E+0 1 1 1 0 1 1 0 0 236 E C

2.13 E+0 0 1 1 0 1 1 0 1 109 6 D 4.63 E+0 1 1 1 0 1 1 0 1 237 E D

2.15 E+0 0 1 1 0 1 1 1 0 110 6 E 4.65 E+0 1 1 1 0 1 1 1 0 238 E E

2.17 E+0 0 1 1 0 1 1 1 1 111 6 F 4.67 E+0 1 1 1 0 1 1 1 1 239 E F

2.19 E+0 0 1 1 1 0 0 0 0 112 7 0 4.69 E+0 1 1 1 1 0 0 0 0 240 F 0

2.21 E+0 0 1 1 1 0 0 0 1 113 7 1 4.71 E+0 1 1 1 1 0 0 0 1 241 F 1

2.23 E+0 0 1 1 1 0 0 1 0 114 7 2 4.73 E+0 1 1 1 1 0 0 1 0 242 F 2

2.25 E+0 0 1 1 1 0 0 1 1 115 7 3 4.75 E+0 1 1 1 1 0 0 1 1 243 F 3

Page 98: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 95

EQUIVALENTE ENCÓDIGO BINARIO

EQUIVALENTE ENCÓDIGO BINARIOVOLTAJE

(E-3=milivolts)D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

VOLTAJE(E-3=milivolts)

D7 D6 D5 D4 D3 D2 D1 D0

EQ.DECIMAL

EQ.HEX

2.27 E+0 0 1 1 1 0 1 0 0 116 7 4 4.77 E+0 1 1 1 1 0 1 0 0 244 F 4

2.29 E+0 0 1 1 1 0 1 0 1 117 7 5 4.79 E+0 1 1 1 1 0 1 0 1 245 F 5

2.30 E+0 0 1 1 1 0 1 1 0 118 7 6 4.80 E+0 1 1 1 1 0 1 1 0 246 F 6

2.32 E+0 0 1 1 1 0 1 1 1 119 7 7 4.82 E+0 1 1 1 1 0 1 1 1 247 F 7

2.34 E+0 0 1 1 1 1 0 0 0 120 7 8 4.84 E+0 1 1 1 1 1 0 0 0 248 F 8

2.36 E+0 0 1 1 1 1 0 0 1 121 7 9 4.86 E+0 1 1 1 1 1 0 0 1 249 F 9

2.38 E+0 0 1 1 1 1 0 1 0 122 7 A 4.88 E+0 1 1 1 1 1 0 1 0 250 F A

2.40 E+0 0 1 1 1 1 0 1 1 123 7 B 4.90 E+0 1 1 1 1 1 0 1 1 251 F B

2.42 E+0 0 1 1 1 1 1 0 0 124 7 C 4.92 E+0 1 1 1 1 1 1 0 0 252 F C

2.44 E+0 0 1 1 1 1 1 0 1 125 7 D 4.94 E+0 1 1 1 1 1 1 0 1 253 F D

2.46 E+0 0 1 1 1 1 1 1 0 126 7 E 4.96 E+0 1 1 1 1 1 1 1 0 254 F E

2.48 E+0 0 1 1 1 1 1 1 1 127 7 F 4.98 E+0 1 1 1 1 1 1 1 1 255 F F

Page 99: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 96

SECCIÓN X

BIBLIOGRAFIA

1. J. Tocci Ronald; SISTEMAS DIGITALES; PRINCIPIOS Y APLICACIONES, 6ª Ed.

Prentice Hall, México 1996

2. Stallings William; ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES, 5ª Ed.

Prentice Hall, Madrid 2000

3. C. Nichols Joseph, A. Nichols Elizabeth, R. Rony Peter; MICROPROCESADOR Z80

PROGRAMACION E INTERFACES, Ed. Publicaciones marcombo, México 1984.

4. Universidad de Alcalá, Departamento de electrónica; INTRODUCCION A LOS

SISTEMAS DIGITALES PROGRAMABLES.- Alcalá España, 2002.

5. http://www.wikipedia.org/

6. http://www.asifunciona.com/

6. Horacio D. Vallejo, serie de revistas Saber electrónica , varios números.

7. Morris Mano, M., DISEÑO DIGITAL; 1ª Ed. Prentice Hall, México 1987.

8. www.national.com, manuales de referencia.

Page 100: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA

UNIVERSIDAD AUTONOMA METROPOLITANAUnidad Iztapalapa

C.B.I.

Aníbal Adán Campos López (94216247) Roberto Barrueta Ramírez (94219735) 97

9. www.zilog.com, información sobre producto Zilog.

10. www.ampere.com

Page 101: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA