• No se han encontrado resultados

DIVISION DE CIENCIAS BASICAS E INGENIERIA INGENIERIA ELECTRICA TESIS QUE PRESENTAN LOS ALUMNOS: BUENDIA PICON ENRIQUE

N/A
N/A
Protected

Academic year: 2018

Share "DIVISION DE CIENCIAS BASICAS E INGENIERIA INGENIERIA ELECTRICA TESIS QUE PRESENTAN LOS ALUMNOS: BUENDIA PICON ENRIQUE"

Copied!
54
0
0

Texto completo

(1)

Casa abierta

al

tiempo

UNWERSIOAD BUTONOM4 MESROPOUTANA

UNIDAD IZTAPALAPA

DIVISION DE CIENCIAS BASICAS E INGENIERIA

INGENIERIA ELECTRICA

TESIS QUE PRESENTAN LOS ALUMNOS:

BUENDIA PICON ENRIQUE 94316295

CARDENAS SANTIAGO VICTOR MANUEL 93319243

PARA LA OBTENCION DEL GRADO DE:

ING. ELECTRONICA CON AREA DE CONCENTRACION EN COMUNICACIONES

ASESOR:

(2)

PROLOG0

La razón de realizar el aparato telefónico “CONTADOR DE LLAMADAS

TELEFONICAS” para uso de casa, se basa en el problema que se tiene con la compañía

telefónica en cuanto a que en el recibo telefónico, en la gran mayoiía de las veces aparecen

llamadas telefónicas que no se reconocen (que no se han hecho). Por lo que el pago del

recibo telefónico se excede considerablemente.

Actualmente en el mercado no hay ningún tipo de aparato telefónico pequeño y que sea

para casa, con el que se pueda contar y llevar una lista exacta de las llamadas que se han

hecho durante el mes. Lo que si existe, es un identificador de llamadas, pero su uso es

básicamente como su nombre lo indica, un identificador del número telefónico llamante.

En este proyecto lo que se busca es guardar el número telefónico al cual se llama, así como

de la hora y fecha en que fue hecha, para que se pueda tener un control preciso de las

llamadas realizadas.

Si se tiene un control preciso de todas las llamadas telefónicas que se han hecho, ahora si, con una base se puede realizar una reclamación a la compañía telefónica. Aunque cabe

señalar que no es una base que sea todavía legal para hacer la reclamación ya que el aparato

(3)

Con el presente reporte creemos haber desarrollado una interesante labor de investigación y de desarrollo en un proyecto de utilidad importante, de acuerdo con nuestro presente nivel de conocimientos y medios de trabajo.

Queremos expresar nuestra gratitud al profesor Ing. Yudiel Pérez Espejo, por los

conocimientos que nos ha transmitido y por la asesoría con la que ha tenido a bien

distinguirnos.

Buendía Picón Enrique

Cárdenas Santiago Victor Manuel

(4)

INDICE TEMATICO

AGRADECIMIENTOS

INTRODUCCION

CAPITULO I “SEÑALES TELEFONICAS”

...

1

CAPITULO I1 “EL APARATO TELEFONICO CONVENCIONAL”

...

7

CAPITULO I11 “SISTEMA MINIMO CON PROCESADOR INTEL 80188”

...

14

3.1) CARACTERISTICAS DEL MICROPROCESADOR

...

15

3.2) CARACTERISTICAS DEL SISTEMA MINIMO

...

16

CAPITULO IV “INTERFAZ DEL SISTEMA MINIMO CON EL APARATO TELEFONICO”

...

22

4.1) CONCEPTOS BASICOS 4.1 1) DETECTOR DE VENTANA

...

23

4.12) SEGUIDOR DE VOLTAJE

...

24

4.13) CONTADOR DE PULSOS

...

25

4.14) TEMPORIZADOR 5 5 5

...

26

4.15) INTEGRADO 74LS373

...

27

4.16) DIAGRAMA A BLOQUES DE LA INTERFAZ

....

28

CAPITULO V “LISTADO DEL PROGRAMA UTILIZADO PARA EL PROCESAMIENTO DE LA INFORMACION”

...

29

CAPITULO VI “DIAGRAMA FINAL”

...

56

APENDICE

...

.59

(5)

INTRODUCCION

Ventajas que ofrece el “CONTADOR DE LLAMADAS TELEFONICAS”

Guarda en una memoria (RAM) el número telefónico al que se está realizando la

llamada, así como la hora y la fecha en que fue realizada.

Despliegue de la información (número telefónico, hora y fecha) almacenada.

Cuenta con una memoria suficiente para almacenar 400 llamadas telefónicas.

Realiza un despliegue de la hora actual si así se desea.

Se puede ir revisando una por una las llamadas telefónicas realizadas.

Ya que el aparato toma la información de la línea telefónica, registra la llamada

realizada en cualquier teléfono que sea una extensión de la misma línea.

Una vez que la memoria llegó a su tope y se desee realizar otra llamada, el sistema

borrará la primer llamada hecha, para poder guardar en esa parte de la memoria la

nueva llamada.

Funcionamiento a nivel de usuario

El aparato cuenta con un teclado numérico (O a 9) y dos teclas adicionales para

realizar su funcionamiento de manera siguiente:

o Una vez que el aparato ha sido conectado el sistema pregunta por los siguientes datos:

l. La hora y minutos actuales.

2. Día, mes y año actual.

Mediante el teclado numérico introducimos los datos que el sistema requiere para

poder empezar a trabajar.

Una vez que los datos anteriores han sido introducidos el sistema llega a un menú

(6)

llamada, ir desplegando la información almacenada y en el momento que se desee, salir

de ese menú para volver al menú principal.

En ambos menús se indica en la pantalla cuales teclas hay que oprimir para realizar la operación que uno desea.

Debido a que nos es imposible detectar cuando la persona a la cual se llamó ha

descolgado, el aparato cuenta con una tecla para indicarle al sistema que la llamada ha entrado, o en caso contrario con la otra tecla indicarle al sistema que la llamada no se pudo realizar para que no la guarde en memoria; ya que la compañía telefónica cobra únicamente por las llamadas efectivas.

Así como en la parte anterior, el sistema indica que tecla hay que oprimir para realizar

(7)

SEÑALES TELEFONICAS DE LA LINEA

Para la realización de este proyecto fue necesario una fase de investigación en el

que era necesario conocer las señales básicas de la línea telefónica existentes hasta la

actualidad

.

Actualmente existen centrales que operan con 48 voltios. En este proyecto se

realizaron pruebas a la línea telefónica que maneja este voltaje. Dichas pruebas consistieron

en la comprobación de las siguientes señales en el Laboratorio de Electrónica :

1 .- COLGADO

2.- DESCOLGADO 3.- TONO DE MARCAR 4.- TONO DE LLAMAR 5.- CONTESTADO 6.- TONO DE OCUPADO

7.- DISCADO

8.- REPIQUE

9.-

voz

1

.- COLGADO.- Esta es una señal de corriente directa de 48 voltios

y permanece constante

hasta que se descuelga el auricular del aparato telefónico.

Volts

t

48

I

(8)

2.- DESCOLGADO.- AI descolgar el auricular, el voltaje de la línea cambia de 48 V. a 5

V., debido a la incorporación del circuito telefónico a la línea de transmisión. Lo anterior es

debido a las diferencias de impedancia de la línea con el aparato telefónico.

Volts

I

DESCOLGADO

r

3.- TONO DE INVITACION A MARCAR.- Este tono se percibe casi instantáneamente

después de hacer el descolgado. El voltaje de la línea asciende a un nivel de 6.7 V.,

acompañado de un tono de 450 Hz sobre el mismo nivel, con una amplitud de dos volts

pico a pico.

2 VPP

5

I t

(9)

4.- TONO DE LLAMAR.- Se oye en caso de que el abonado al que se llama esté

desocupado; esta señal se presenta como en el caso anterior , sólo que con intervalos mudos

de 4 segundos por 1 segundo de tono.

f ~ 4 5 0 Hz.

6.7

5.- CONTESTADO.- Representa un descuelgue de abonado llamado. Cuando sucede, la

línea no presenta ningún cambio significativo en el nivel de voltaje; aunque las centrales y

las casetas telefónicas manejan una inversión de voltaje que se utiliza para incrementar el

contador de llamadas del abonado que haya realizado la llamada. En le caso de tratarse de un teléfono publico, la inversión de voltaje se hace llegar hasta el mismo para que funcione

el mecanismo que hace caer la moneda dentro de la alcancía ó descontar el crédito de una

tarjeta telefónica. La inversión de voltaje es exactamente al mismo voltaje.

Volts

CONTESTADO -S

Contestado (Abonado B)

1

rt

Caseta telefónica

6.- TONO DE OCUPADO.- Sucede en el caso de que la línea del abonado al que se llama

esté ocupada, y la línea permanecerá así aunque el abonado desocupe la línea.

Esta señal tiene las mismas características que la del tono de ZZamar, con la salvedad de que

los intervalos son diferentes (0.5 segundos de tono por 0.5 segundos de silencio).

(10)

7.- DISCAD0.- Se hace a través de interrupciones periódicas. Debido a que la línea es de

carácter inductivo, se originan pulsos hasta de 150 Vpico, con una duración aproximada de

5 ms, al hacerse una interrupción. El número de pulsos será equivalente al dígito marcado.

Al completar el número marcado, la central origina una caída de voltaje, casi hasta O voltios

y regresa de nuevo a 7 voltios, independientemente de que el abonado al que se llama este o

no ocupado.

Volts

d t t

>

7

ó

80 ms.

OCUPADO

8.- REPIQUE.- Esta señal se utiliza para accionar la bobina del timbre del abonado al que

se llama. La señal tiene un rango de frecuencia de 16 a 32 Hz montada en una componente

de 48 voltios, con una amplitud de 100 V. (pico a pico), la cual tiene un periodo de 4

segundos de silencio por 1 segundo de tono.

(11)

9.- VOZ.- La señal de voz del abonado que llama a la del abonado llamado, es muy

diferente en amplitud de voltaje, ya que la amplitud del primero es de +2 Vp-p. y la

segunda es de +lo0 mvolts p-p montada en una componente de directa de 7 voltios,

mezclándose a veces con el ruido propio de la línea cuando la comunicación no es eficiente.

(12)

CAPITULO

I1

(13)

EL APARATO TELEFONICO CONVENCIONAL

El la figura 2.1 vemos un aparato telefónico que se usa para originar y recibir

llamadas telefónicas. El aparato es simple en su apariencia, pero realiza una cantidad

sorprendente de funciones. Las más importantes son las siguientes:

1. 2.

3.

4.

5.

6.

7 .

8.

Solicita el uso del sistema telefónico al levantar el microteléfono.

Indica que el sistema está disponible para el uso al recibir un tono, llamado tono

de discar o marcar.

Envía al sistema el número telefónico a llamar. Este número se indica por la

persona que llama al marcar el número por medio del teclado o al girar el disco.

Indica el estado de la llamada en ejecución al recibir tonos que indican este

estado (llamado, ocupado, etc.,).

Indica una llamada entrante al teléfono llamado por medio de una campanilla o de tonos audibles.

Transforma el lenguaje de una persona que llama en señales eléctricas para su

transmisión a otro abonado a través del sistema. Transforma las señales

eléctricas recibidas de un abonado distante al lenguaje para la persona llamada.

Ajusta automáticamente los cambios en la fuente de alimentación que recibe.

Señala al sistema cuando una llamada ha terminado al colgar la persona que

llama al microteléfono

.

Para que un teléfono preste alguna utilidad, debe estar conectado otro teléfono.

En los primeros días de la existencia del teléfono, los teléfonos, los teléfonos

estaban conectados uno al otro, sin conmutadores. A medida que la cantidad de

teléfonos aumentó, esto resultó poco práctico y se estableció una central u oficina de

(14)

(((figura 2.2)))

Circuito simplificado de aparato telefónico y oficina central.

DISCADO POR PULSOS

Los teléfonos que usan discado por pulsos, poseen un disco como se observa en la

figura 2.1, que abre y cierra el circuito local en un ritmo predeterminado. La cantidad de

pulsos de discado que resultan de una operación del disco está determinada por cuanto se gira el disco antes de soltarlo.

Si bien todas las facilidades de las redes telefónicas son actualmente compatibles

con los teléfonos con discado por pulsos, las normas presentes prevén el uso generalizado del discado por tonos.

En el aparato telefónico convencional, el discado por pulsos se efectúa con un disco

rotativo que posee 10 agujeros para los dedos, espaciados en forma equidistante como se

observa en la figura 2.3a. La cantidad de pulsos de discado que resulta de una operación

del disco está determinado por la distancia que se ha girado el disco antes de liberarlo. Los

agujeros con sus espacios regulares en la placa del disco y el tope para el dedo facilitan la

rotación del disco para el monto correcto para cada dígito. Esta acción arrolla un resorte

que hace girar el disco nuevamente a su posición de reposo al soltarlo. Un pequeño

regulador en el interior del disco produce su retorno a una velocidad constate de rotación. Una leva que es movida por el eje en la parte posterior hace funcionar los contactos de la

(15)

de retorno del disco. El circuito no se interrumpe durante el movimiento del disco hacia a delante.

La apertura del circuito interrumpe la circulación de la corriente del circuito que es

de 20 a 120 mA y el cierre permite que la corriente del circuito circule de nuevo. De esta

manera el discado por pulsos produce una serie de pulsos de corriente en el circuito. Un pulso es enviado para señalar el dígito 1, dos para el dígito 2, etc., hasta 10 pulsos para el dígito O.

LA TEMPORIZACIÓN DE LOS PULSOS

Los pulsos de discado fueron concebidos originalmente para operar sistemas de

comunicación electromecánicos. La inercia mecánica asociada con tales sistemas fijó un

límite superior en el ritmo de funcionamiento de unas diez operaciones por segundo. De

esta manera, los discos rotativos mecánico de los teléfonos fueron diseñados para producir

una taza nominal de diez pulsos por segundo.

La figura 2.3b, muestra la relación de la temporización de los pulsos de discado.

Observe que la cantidad de interrupciones representa el número discado. Un intervalo de

tiempo de apertura y cierre del circuito, denominado un período de pulso de discado, es

normalmente de 1 O0 ms de duración, lo que brinda la tasa de pulsos deseada de 1 O pulsos

por segundo. Esto surge de la relación de 1000 ms divididos por 100 de cada pulso, igual a 10 pulsos por segundos. Un pulso de discado consiste en un período en que el circuito está

abierto (intervalo de ruptura), y un período en que el circuito esta cerrado (intervalo de

cierre). El valor nominal de estos períodos en el sistema telefónico de los Estados Unidos, es de 60 ms de apertura y de 40 ms de cierre. Esto se denomina una tasa de ruptura del 60

por ciento. En otros países, esta tasa está generalmente alrededor del 67%.

LA D E T E C C I ~ N DE LOS PULSOS DEL DISCADO

Por cada kilómetro, el par de alambre entre la central y el aparato telefónico, tiene

una capacidad en paralelo de 0.04355 pF, una inductancia en serie de 0.62 mH y una

resistencia en serie de 26 ohm, aproximadamente. Estos valores producen la distorsión de

los pulsos de discado en duración y amplitud. De esta manera, los circuitos de detección de

los pulsos de discado en la central, deben estar en condiciones para detectar pulsos de

discado que no sean perfectamente rectangulares. Los circuitos debe decodificar también la

diferencia entre los pulsos sucesivos de un dígito y el comienzo del dígito siguiente. Esto se

(16)

EL ANTI-REPIQUE Y EL SILENCIAMIENTO DE LA VOZ

Picos de alta tensión son producidos cada vez que los contactos de los pulsos del

discado interrumpen la circulación de la corriente del circuito. Estos picos de tensión

elevada pueden causar el repique de la campanilla cuando se generan estos pulsos. El

sonido producido es relativamente suave, como un repique, de manera que el circuito para

prevenirlo de denomina circuito anti-repique. Este circuito está combinado muchas veces

con el circuito de silenciamiento que se observa en la figura 2-4. Las llaves adicionales, S5

y S6, son parte de un disco normal. Cuando se gira el disco, los contactos de las llaves S5 y

S6 del disco se cierran. Esto cortocicuita el circuito de voz para impedir ruidos fuertes en el

receptor y eventuales daños en el circuito de la voz. Los contactos cerrados también

cortocircuitan la bobina de la campanilla con un resistor de 340 ohm para impedir el

(17)

(((figura 2.4)))

(18)

CAPITULO I11

(19)

funcionamiento les proporciona mayor velocidad ya que en un alto porcentaje del programa la unidad de ejecución tiene disponible, en la cola de instrucciones, el código de la siguiente instrucción a ejecutar.

CARACTERISTICAS DEL SISTEMA MINIM0

La tarjeta de experimentación consta de los componentes siguientes:

0 Una memoria ROM de 8K bytes 2764.

0 Una memoria

RAM

estática de 8K bytes 6264.

0 Controlador de teclado despliegue 8279.

0 Cristal de 16 Mhz.

A fin de tener una mayor flexibilidad, la tarjeta de experimentación, sólo contiene los

componentes básicos del sistema mínimo, pero contiene conectores y una “ranura”, con una

configuración de canal PC-XT, que permite agregar, en una tarjeta adicional de propósito

general, la circuitería específica que requiera la aplicación. Se están aplicando ambas

tarjetas en el diseño y construcción de un sistema mínimo con la configuración que se

muestra en la figura 3.1.

(((figura 3.1

> N

Bus de direcciones

RESET

74LS373

CONTROLADOR DE BUS 80188

TRANSCEIVER

74LS245

v

v

-b - Bus de d y s

+

I

c

4 0 P

16 MHz

i-L

VISUALIZADOR

82C79

CONTROLADOR

(20)

En la “ranura” quedan a disposición del usuario todas las señales necesarias para realizar la conexión con la tarjeta adicional de propósito general que pueden ser de teclado/despliegue, adquisición, comunicación, etc.

(((figura 3.2)))

Registros generales

1

Bus de direcciones

C

(20 bits)

1

(8 bits)

I

I

I

ns

I

AL1

REGISTROS TEMPORALES

??+

. . . . . . . . . . . . . . . . . .

1

BANDERAS REGISTRO DE

J

88

FS

IP

Bus de datos

(16 bits)

REGISTROS DE COM. INTERNA

r

l

b l l

A m

Cola de Instrucción

LOGICA DE CONTROL PARA EL BUS

I L .

I 1

Unidad de Ejecución

7

Unidad de Interfase de Bus

EU BIU

Diagrama funcional simplificado a bloques

Unidad de ejecución

Es la responsable de decodificar y ejecutar todas las instrucciones, esth constituida

por los 4 registros de propósito general, 2 registros base, 2 registros apuntadores, un

registro de banderas y la unidad aritmética y lógica. Ya que no posee conexión con el canal

del sistema, obtiene las instrucciones de una cola de 4 bytes (6 bytes para el 8086) que

forma parte de la unidad de interfase del canal (BIU). Cuando una instrucción requiere

hacer uso de la memoria o un periférico, la unidad de interfase del canal ejecuta los ciclos

(21)

Registros de propósito general

Son los registros: AX, BX, CX, DX y pueden considerarse completos o dividirse en

una parte alta: AH,BH, CH, DH y en una parte baja: AL, BL, CL, DL. Por lo tanto, cada

uno puede ser utilizado como un registro de 16 bits o dos registros independientes de 8 bits.

Cualquiera de estos registros se puede utilizar como acumulador al llevar a cabo

operaciones aritméticas y lógicas. (Ver fig. 3.2)

Registros índice y apuntadores

Los registros BP, SP, SI, DI sólo se pueden utilizar completos. BP, realiza la

función de apuntador base en el segmento de pila y para varias formas de direccionamiento.

SP es el apuntador del segmento de pila. SI es un apuntador a un arreglo fuente de datos y

DI es el apuntador a un arreglo destino. Estos 4 registros se utilizan en los diferentes modos

de direccionamiento del microprocesador. (Ver fig. 3.2)

Unidad aritmética y lógica

En esta unidad se realizan las operaciones aritméticas y lógicas que puede ejecutar el microprocesador y el resultado de estas afecta los diferentes bits del registro de banderas a fin de ejecutar instrucciones condicionales de transferencia del programa. (Ver fig. 3.2)

Registros de banderas

Posee 6 banderas de estado y tres de control. Las banderas de estado reflejan el

resultado de una operación aritmética o lógica y permiten al programa cambiar la secuencia

de su ejecución, dependiendo del estado de alguna bandera. (Como se muestra en la fig.

3.3)

(((figura 3-31]) Banderas de control Banderas de estado

L

L

(22)

Banderas de estado

Las banderas de estado son las siguientes:

0 CF bandera de acarreo. Si se activa, en uno, indica que ocurrió un acarreo o un

“préstamo” del bit más significativo como resultado de una operación aritmética

o lógica de 8 O 16 bits.

0 PF bandera de paridad. Si está activa, en uno, indica que el resultado de una

operación tiene paridad par. Esta bandera se utiliza para checar errores en

caracteres transmitidos y sólo checa la paridad en los 8 bits menos

significativos.

0 AF bandera de acarreo auxiliar. Si se activa, en uno, indica que en la instrucción

ejecutada, se presentó un acarreo o un “préstamo” del bit 3 al 4 del registro

destino. Esta bandera la utilizan en forma implícita las instrucciones de ajuste

decimal y ascii.

0 ZF bandera de cero. Si se activa, en uno, indica que el resultado de una

operación aritmética o lógica fue cero.

SF bandera de signo. Indica que el resultado de una instrucción, normalmente

aritmética es negativo. Las instrucciones que la afectan se ejecutan en aritmética

de complemento a 2 , en la que el valor del bit mas significativo, 7 O 15, da el

signo. Por lo tanto, si SF=O, se trata de un número positivo y si SF=1, es un

número negativo.

0 OF bandera de sobreflujo(desb0rde). Indica que ocurrió un sobreflujo. Esto es,

el tamaño del resultado excede el tamaño del destino.

Banderas de control

Estas banderas permiten controlar tres estados del microprocesador y son las

0 TF bandera de trampa. Si se activa con uno ésta bandera, el procesador pasa a

ejecutar el programa instrucción por instrucción con fines de depuración. Ya que

no existen instrucciones ni para activarla ni para desactivarla se requiere ejecutar un enmascaramiento o desenmascaramiento mediante instrucciones lógicas con el registro de banderas.

0 IF bandera de habilitación de interrupciones. Al activarla, en uno, se habilitan

las interrupciones enmascarables que están dedicadas, usualmente, a los

periféricos del sistema.

0 DF bandera de dirección. Al activarla, con uno, las instrucciones para cadenas o

arreglos ejecutan un autodecremento de las direcciones fuente y destino, Si se

desactiva, con cero, esas instrucciones se ejecutan con incremento de ambas direcciones.

(23)

Unidad de interfase del canal

Ya que la unidad de ejecución no tiene una conexión directa del sistema, obtiene

código, operandos y datos a través de la unidad de interfase del canal que ejecuta todos los ciclos necesarios. Esta unidad consta de 4 registros de segmento, registros de comunicación interna, el apuntador de instrucciones, una cola de 4 bytes, la lógica de control del canal, y

un sumador dedicado para formar la dirección física. Mientras la unidad de ejecución

decodifica y ejecuta una instrucción la unidad de interfase del canal ejecuta un ciclo en el

que lee y almacena en la cola, el byte de la siguiente localidad de memoria. Estos es, ambas

unidades del CPU trabajan en forma paralela. Por lo tanto, en un alto porcentaje del

programa la unidad de ejecución tiene disponible, en la cola, el código de la siguiente

instrucción a ejecutar y de esta forma, prácticamente “desaparece” el tiempo del ciclo de

recuperación de memoria (fetch) lo que resulta en un incremento muy notable en la

velocidad de ejecución de la mayoría de los programas. La unidad de ejecución,

normalmente, mantiene llenos los 4 bytes de la cola ya que al estar vacío un byte ejecuta un nuevo ciclo a fin de llenarlo.

Registros segmentados

El espacio de memoria de los miembros originales de la familia 8086/8088 es de 1

Mbyte que se divide en segmentos lógicos de 64Kbytes. La unidad de interfase del canal tiene cuatro registros de segmento:

CS segmento de código DS segmento de datos

0 ES segmento extra

0 SS segmento de pila

El registro CS tiene la dirección del segmento de 64Kbytes donde se encuentra el programa

en ejecución. DS es un segmento de datos y ES, típicamente, también lo es. Estos registros

dan a esta familia una de sus características principales: la memoria segmentada que les

proporciona facilidades únicas para relocalizar programas. Así conviene analizar, en

detalle, como se forma una dirección para tener acceso a la memoria. Como ya se mencionó

el 801 88 es capaz de direccionar hasta 1 Mbyte de memoria, para lo que se requiere una

dirección de 20 bits. Si ni en la unidad de ejecución ni en la unidad de interfase del canal

existe un registro de 20 bits, la dirección física la forma el sumador dedicado de 20 bits.

Sumador dedicado de 20 bits

(24)

CS FFFFOH

IP

OOOOH

Dirección = FFFFOH

+

La forma usual para dar las direcciones es mediante una dirección lógica que da las

direcciones del segmento y del desplazamiento que para la reinicialización es:

FFFFH:OOOOH a partir de la dirección lógica se forma la dirección física mediante una

suma como la anterior.

Apuntador de instrucciones

El registro de instrucciones (IP), es de 16 bits y siempre apunta a la dirección de la

siguiente instrucción. Por lo tanto, es muy similar al registro PC de los microprocesadores

2-80, 8088, 8051. Ninguna instrucción tiene acceso directo a este registro pero,

(25)

CAPITULO IV

(26)

DETECTOR DE VENTANA

El circuito de la figura 4.1 está diseñado para monitorear un voltaje de entrada e

indicar cuando este voltaje está arriba o debajo de los límites prescritos. Por ejemplo las

fuentes de alimentación para los CI lógicos TTL deben regularse a 5.0 V. Si el voltaje de

alimentación excede 5.5 V la lógica puede dañarse, y si la alimentación de voltaje cae

debajo de 4.5 V, la lógica puede exhibir operación indeseada. Por tanto, los límites de la

fuente de alimentación debe verse a través de una ventana cuyos límites son 4.5 V y 5.5 V,

de aquí de la necesidad del detector de ventana

. Este circuito algunas veces se denomina

detector límite de doble extremo.

En la figura 4.1, el voltaje de entrada Ei se conecta a la entrada (-) del comparador A y a la

entrada (+) de B, en tanto que el límite inferior VLT se aplica a la entrada (-) de B. Cuando

Ei cae entre VLT y VUT, la luz de alarma está apagada. Pero cuando Ei cae debajo de VLT o

va arriba de VUT, la luz de alarma se enciende para indicar que Ei no está dentro de los

límites prescritos.

(((figura 4.1)))

(27)

SEGUIDOR

DE

VOLTAJE

El circuito de la figura 4.2 se denomina seguidor de voltaje ; pero, también se

conoce como seguidor de fuente , amplificador de ganancia unitaria o amplificador de

aislamiento. El voltaje de entrada, Ei, se aplica directamente a la entrada (+). Ya que el

voltaje entre las terminales (+) y (-) del amplificador operacional puede considerarse O.

Vo=Ei

Obsérvese que el voltaje de salida iguala al voltaje de entrada tanto en magnitud como en signo. Por tanto, como el nombre del circuito indica, el voltaje de salida sigue al voltaje de

entrada o fuente. La ganancia de voltaje es 1 ( o la unidad ), como se muestra por:

AcL=Vo/Ei= 1

Con frecuencia surge la pregunta: ¿Por qué preocuparse en usar un amplificador con una

ganancia de I? La respuesta puede comprenderse mejor si se compara un seguidor de

voltaje con un amplificador inversor. En este ejemplo, el interés principal no se centra en la polaridad de la ganancia de voltaje, sino en el efecto de carga a la entrada.

El seguidor de voltaje se utiliza porque su resistencia de entrada es alta (varios megaohms).

Por tanto, extrae una corriente despreciable de la fuente de señal.

(28)

TEMPORIZADOR 555

OPERACIóN MONOESTABLE O DE UN DISPARO

No todas las aplicaciones requieren una onda repetitiva continua como la que se

obtiene de un multivibrador de oscilación libre. Muchas aplicaciones necesitan operar sólo

por un tiempo de duración especifica. Estos circuitos requieren un multivibrador de un

disparo o monoestable. La figura 4.4 es un diagrama de circuito que utiliza el 5 5 5 para

operación monoestable. Cuando un pulso que va a negativo se aplica a la terminal 2, la

salida se va a alta y la terminal 7 elimina el corto circuito del capacitor C. El voltaje a

través de C se eleva desde O V a un ritmo determinado por RA y C. Cuando el voltaje en el capacitor alcanza 2/3 Vcc, un comparador interno hace que la salida cambie de alta a baja. Las formas de onda de voltaje de entrada y salida se muestran en la figura 4a y 4b.

La salida es alta durante un tiempo dado por:

falta = l . 1

RAC

La figura 4.4b es una gráfica de la ecuación anterior y muestra en forma rápida la amplia

variación de los pulsos de salida que pueden obtenerse y los valores requeridos de RA y C.

La figura 4.4 da una idea del circuito de disparo. En la práctica deben agregarse otras partes

para realizar un circuito que trabaje correctamente.

(((figura 4.4)))

1

:.;

T

'

'-I'

(29)

DIAGRAMA A BLOQUES DE LA INTERFASE

I

TELEFONO

F

INTERFAZ

-

SEGUIDOR SEGUIDOR

-

COMPARADOR DE VENTANA

DISPARADOR

I

(30)

CAPITULO V

(31)

PROGRAMA UTILIZADO PARA EL PROCESAMIENTO DE LA INFORNACION

p a g e 60,132

TITLE "PROYECTO TERMINAL I".

'I CONTADOR DE LLAMADAS TELEFONICAS ' l .

I

;ESTE PROGRAMA REALIZA LO SIGUIENTE: ;AUTOCOMPROBACION DE SUS MEMORIAS.

;DESPLIEGUE DE LAS LOCALIDADES DE MEMORIA. ;HABILITACION DE SUS TIMERS.

;DESPLIEGUE DE LA HORA

;EL CONTEO DE LLAMADAS TELEFONICAS ALMACENANDO EN MEMORIA EL ;NUMERO MARCADO, LA HORA Y LA FECHA EN QUE FUE HECHA LA LLAMADA.

CODIGO SEGMENT ASSUME CS:CODIGO

.186

PRINCIPAL PROC

."""""""""""""""""""~"""""""""""""

I

ORG TINIC: TI8279: TRAM :

DB DB DB TROM :

DB TRA"AL :

DB T ROMMAL :

DB TBIENV:

DB ORG OlFFOH

."""""~"""~_"""

I

; PROGRAMACION DEL UMCS

.""""""""""""~

I

MOV DX, O FFAO H MOV A X , OFE3FH OUT DX,=

DB OEAH ; BR DW O O O O H

DW OFEOOH

.""""""""""""~

I

; ZONA DE TABLAS

.""""""""""""~

I

lOOOH

38H, OEH, 80H, 06H, 01H 12H, 3FH, ODOH

"C H E C K R A M:" "C H E C K R O M:"

I' ERROR EN RAM " " ERROR EN ROM I' 'I BIENVENIDO "

(32)

DB DIA:

DB MES :

AYO :

MENU 2 :

DB OPCIONl: DB OPCION2: DB DB DB

REVISAR1 :

DB REVISAR2 :

DB LLAMADA :

DB LISTA: DB TTRAD: DB DB TTRAD2 :

DB DB DB DB DB DB DB DB

I' MINUTOS : 1 1

I' DIA: I 1 'I MES: I f

AÑO: I1

"QUE DESEAS HACER" "1 - REV. LLAMADAS "2 - HORA 3 1NT.NUM" - "1 - BACK 2 DISPLAY" - II 3 EXIT 1 1

-

"ENTRO LLAMADA- E"

" NO ENTRO- S 'I

3OH, 31H, 32H, 33H, 34H, 35H, 36H, 37H 38H, 39H, 41H, 42H, 43H, 44H, 45H, 46H

44H, 41H, 44H, 47H, 4AH, 4CH, 3BH, 3CH 45H, 47H, 4AH, 56H, 4EH, 4AH, 4CH, 4FH 51H, SAH, 43H, 42H, 4DH, 54H, 55H, 56H 41H, 53H, 46H, 48H, 4BH, 58H, 59H, 55H

51H, 45H, 54H, 55H, 4FH, 40H, 51H, 4FH 32H, 34H, 36H, 38H, 30H, 4CH, 4AH, 47H

31H, 33H, 35H, 37H, 39H, 45H, 4EH, 45H 41H, S7H, 52H, S9H, 49H, 50H, 4AH, 55H INTO EQU 12

.""""""""-""""""""""""""""""""""""

ORG OOOOH

."~""""""""""" I

; PROGRAMACION DEL LMCS

."""""~"""""""

I

INC DL INC DL

MOV AX, OlFFH OUT DX, AX

.""_"""""""""""""""""""

I

; PROGRAMACION DEL PACS

.~"""""""""""""""""""""

I

INC DL INC DL

MOV AX, 003FH OUT DX, AX

."""_""""""""""""""""""

; PROGRAMACION DEL MMCS

."""_""""""""""""""""""

I

(33)

MOV AX, 09FFH OUT DX, AX

."""""""""""""""""""""~

,

; PROGRAMACION DEL MPCS

."_""""""""""""""""""""

,

INC DL INC DL

MOV AX, 84BFH OUT DX, AX

. . .

. * *

. . . I INICIALIZACION DEL DISPLAY

I

MOV AX, CS MOV DS,AX XOR A X , AX MOV CX, 4000H ESPERA:

LOOP ESPERA MOV CX, 5 LEA SI , TINIC INIC:

LODSB

OUT 80H,AL IN AL, 82H NOP

RCL AL, 1 JC O1 LOOP INIC 01:

.""""~""~"""""""""""~

I

; DESPLIEGUE DEL LETRERO DE CHECKRAM

.""""""""""""""""""~

I

;RETARDO DE ESPERA AL DISPLAY

;INICIALIZACION USANDO LA TABLA TINIC

;ESPERA A QUE LA BANDERA BF=O

LEA SI, TRAM MOV CX,lOH TRAM

EXPl:

LODSB

OUT 81H,AL

0 2 :

IN AL, 82H NO P

RCL AL, 1 JC 02 LOOP EXPl

;LECTAURA DE LA DIRECCION DE LA TABLA ;NUMERO DE CARACTERES A DESPLEGAR ;DESPLIEGUE DE CARACTERES

;ESPERA A QUE LA BANDERA BF=O

.""""""""""""""""""""""""""""""""~

I

, VERIFICACION DE QUE LA RAM FUNCIONA CORRECTAMENTE

."""""""-"_"""""""""""""""""""""""-

I

XOR A X , AX ;INICIALIZACION DE REGISTROS MOV SI , AX

(34)

MOV SI, 2000H ;VALOR DE SI PARA EL LOOP DE LA REVISION MOV AL,OOH ;VALOR DE PRUEBA QUE SE ESCRIBE

MOV DX, DI ;PONER EN DX EL VALOR DE DI PARA DESPLEGARLO STOSB ;GUARDAR VALOR EN RAM

DEC DI ;REGRESAR UNA DIRECCION SCASB ;COMPARAR AL CON ES:DI

JNZ MAL ;SALTAR SI NO SON IGUALES A MAL PRAM:

."""""""_""""

; DESPLEGAR DIRECCION

."""""""_""""

MOV AL, OCOH OUT 80H,AL

0 3 :

IN AL,82H NOP

RCL AL, 1 JC 03 MOV CX, 6 EXP2:

MOV AL,20H OUT 81H,AL 04 :

IN AL, 82H NOP

RCL AL, 1 JC 0 4 LOOP EXP2 MOV AH, 4 CONTEO :

0 5 :

0 6 :

MOV CL, 4 ROL DX, CL MOV AL, DL AND AL,OFH XLAT

OUT 81H,AL IN AL, 82H NO P

RCL AL, 1 JC 05 DEC AH

J N Z CONTEO

MOV AL, 02H OUT 80H,AL IN AL,82H NOP

RCL AL, 1 JC 06 DEC SI JNZ PRAM JMP PILA MAL :

JMP MAL1

;PASAR AL SEGUNDO RENGLON ;ESPERA A QUE LA BANDERA BF=O

;MOVERNOS 6 LUGARES DEL SEGUNDO RENGLON ;ESPERA A QUE LA BANDERA BF=O

;CONTADOR DE NUMEROS EN LA DIRECCION DADA EN DX ;CONTADOR DE BITS

; ROTAC I ON

;PONER NUMEROS DE DL EN AL ;ENMASCARAMIENTO

;TRADUCCION

; EXHIBICION

;ESPERA A QUE LA BANDERA BF=O

;CONTE0 DE LOS NUMEROS DE LA DIRECCION

;RETURN HOME(PR1MER CARACTER,PRIMER RENGLON) ;ESPERA A QUE LA BANDERA BF=O

;DECREMENTAR CONTEO DE DIRECCIONES

;Y PASAR SI NO ES CERO A SIGUIENTE DIRECCION ;SI TODO ESTA CORRECTO SALTAR A STACK

;DOBLE SALTO POR LA EXTENSION

(35)

I INICIALIZACION DEL STACK

.""""""""""""""""""""""""""""""""-

I

PILA:

MOV SP, 2000H

."""""""""~"""""""""""""""""""""~

,

; MANDAR MENSAJE DE QUE LA RAM ESTA BIEN

."""""""""""""~"""""""""""""""""-

I

CALL PAUSA CALL CLEARD JMP EPROM

.""""""""""""""""""""""""""""""""~

I

MANDAR MENSAJE DE QUE LA RAM ESTA MAL

.""""""""""""""""""""""""""""""""-

I

MAL1:

07:

EXP3 :

08:

MOV AL,OlH OUT 80H,AL ;LIMPIAR DISPLAY

IN AL, 82H ;ESPERA A QUE LA BANDERA BF=O NOP

RCL AL, 1

JC 07

LEA S1,TRAMMAL ;DESPLEGAR TABLA TRAMMAL MOV CX, 10H ;NO SE PUEDEN USAR LLAMADAS LODSB

OUT 81H,AL IN AL, 82H NOP

RCL AL, 1 JC 08 LOOP EXP3

JMP FINAL ;SALTAR Y FINALIZAR

.""""""""""""""""""""""""""""""""~

I

; VERIFICACION DE LA EPROM EPROM :

.""""""""""""""""""""""""""""""""~

I

CALL REV EPROM

MOV AX,TSI] ;MOVER DOS ULTIMOS BYTES DE LA ROM CMP DX, AX ;COMPARACION CON LA SUMA

JE CORRECTO ;SALTA SI SON IGUALES

I

; DAR SALIDA DE ERROR EN ROM

.""""""""""""""""""""""""""""""""-

."""""""~""""""""""""""""""""""""" I

CALL CLEARD

LEA S1,TROMMAL ;PONER MENSAJE DE ERROR CALL DESPLIEGUE

(36)

LEA SI , MENU2 CALL DESPLIEGUE CALL PAUSA XOR BX, BX VEC: PUSH BX

CALL CLEARD MOV DX, CS MOV DS, DX LEA SI , OPCIONl CALL DESPLIEGUE MOV AL, OCOH OUT 80H,AL CALL OCUPADO LEA SI , OPCION2 CALL DESPLIEGUE CALL PAUSA

;INICIALIZO APUNTADOR DE LA RAM

;MENU

;REVISAR LLAMADAS

;PASAR AL SEGUNDO RENGLON ;HORA ACTUAL

.---"""""""""""""""""""""""""

MEN5: HLT MOV DX, CS MOV DS , DX

CMP BH, llllllllB JE MEN5

POP BX XOR AX, AX MOV DX, CS MOV DS , DX MOV AL, CL CMP AL, 31H JE REVISAR CMP AL,32H JE TIME CMP AL, 33H JE INTN

JMP VEC

~---""""""""~"""""""""""""""""~

T1ME:CALL CLEARD CALL DESPH JMP VEC VEC1:JMP VEC REV1SAR:PUSH BX

.---"""""""""""~"""""""""""""~

CALL CLEARD MOV DX, CS MOV DS, DX ;MENU

LEA S1,REVISARl ;1 RETROCEDER 2 DESPLEGAR CALL DESPLIEGUE

MOV AL, OCOH ;PASAR AL SEGUNDO RENGLON OUT 80H,AL

CALL OCUPADO

LEA SI,REVISAR2 ;3 REGRESAR AL MENU PRINCIPAL CALL DESPLIEGUE

CALL PAUSA EN5: HLT

(37)

MOV DS , DX

CMP BH, llllllllB JE EN5

POP BX

XOR A X , AX

MOV DX, CS MOV DS , DX MOV AL, CL CMP AL,31H JE BACKK

CMP AL, 32H JE DISPLAY

CMP AL, 33H JE VECl

JMP REVISAR

~---""""""""""""""""""""""~""""~

INTN: JMP INTNUM

~---"""""""~"""""""""""""""""

BACKK: PUSH BX CALL OCUPADO CALL CLEARD CALL PAUSA

MOV CL,12H ; RETROCEDE 16 LOCALIDADES DE MEMORIA POP BX

OTRA: DEC CL DEC BX

CMP CL,OOH JNE OTRA JMP REVISAR

.---"""""~"""""""""""""""""""""~

PARAVEC1:JMP VECl D1SPLAY:PUSH BX

~---"""""~~"""""""""~""""""""""~

CALL CLEARD

MOV AL,80H ; 1ER LOC. DEL 1ER RENGLON OUT 80H,AL

CALL OCUPADO

MOV CH,08H ;DESPLIEGUE EN EL DISPLAY DEL NO MARCADO POP BX

IMPNUM :

XOR AX, AX MOV DS, AX MOV AL, DS: [BX] OUT 81H,AL

PUSH AX

CALL OCUPADO POP Ax

(38)

MOV CH, 02H MOV AL, DS : [ BX] OUT 81H,AL PUSH AX CALL OCUPADO POP AX

DEC CH INC BX CMP CHI OOH JNE IMPHORA IMPHORA:

MOV AL, 3AH

OUT 81H,AL PUSH AX

CALL OCUPADO POP Ax

MOV CHI 02H MOV AL, D S : [BX] OUT 81H,AL PUSH AX CALL OCUPADO POP AX

DEC CH INC BX CMP CH,OOH JNE IMPHORA2 IMPHORA2 :

MOV AL, 2AH OUT 81H,AL PUSH AX

CALL OCUPADO POP AX

MOV AL, 2AH OUT 81H,AL PUSH AX

CALL OCUPADO POP AX

MOV CH, 02H MOV AL, DS: [BX] OUT 81H,AL PUSH AX

CALL OCUPADO POP AX

DEC CH INC BX CMP CHI OOH JNE IMPFECHA IMPFECHA:

(39)

PUSH AX

CALL OCUPADO POP AX

MOV CHI 02H MOV AL, DS : [BX] OUT 81H,AL PUSH AX CALL OCUPADO POP AX

DEC CH INC BX CMP CH, OOH JNE IMPFECHAl IMPFECHAl:

MOV AL, 2FH OUT 81H, AL PUSH AX

CALL OCUPADO POP AX

MOV CHI 02H MOV AL, DS : [ BX] OUT 81H,AL PUSH AX CALL OCUPADO POP Ax

DEC CH INC BX CMP CHI OOH JNE IMPFECHAZ IMPFECHA2:

~---""-"""""""""""""""~"""""""

PUSH BX CALL PAUSA CALL PAUSA CALL PAUSA POP BX JMP REVISAR

~---""""-"""""~"""""""~"""""""

PARAVEC2:JMP PARAVEC1 1NTNUM:MOV CHI 08H

~---"-"""""-"~""""""~"""""""""""~

INTNUM2:PUSH CX PUSH BX

INTNUM1:CALL CLEARD HLT

MOV DX, CS MOV DS, DX

(40)

POP AX

.---"-"""""""""""""""""~~"""""~

XOR AX, AX

MOV DX,0180H ;APUNTA LA PUERTO IN AL, DX ;RECIBE EL NUMERO ADD AL, 30H ;CONVERSION A ASCII

PUSH AX

CALL OCUPADO POP AX

OUT 81H,AL CALL PAUSA PUSH AX

XOR A X , AX

MOV DS, AX POP AX

POP BX POP

cx

MOV DS: [BX],AL ;SE GUARDA EL VALOR EN RAM INC BX

DEC CH

CMP CH, OOH ;"CHECA SI ES EL 8 NUMERO" JNE INTNUMZ

~---"""""""""""""""""""""""""""

PUSH BX MOV DX, CS MOV DS , DX CALL CLEARD

LEA S1,LLAMADA ;ENTRO LA LLAMADA PRESIONAR E CALL DESPLIEGUE

MOV AL, OCOH ;PASAR AL SEGUNDO RENGLON OUT 80H,AL

CALL OCUPADO

LEA SI, LISTA ;NO ENTRO PRESIONAR LA LETRA S CALL DESPLIEGUE

CALL PAUSA

.""""""""""""""""""""""""""""""""~

LIST: HLT MOV DX, CS MOV DS , DX

CMP BH, llllllllB JE LIST

POP BX

MOV DX, CS MOV DS, DX MOV AL, CL CMP AL,45H JE AHORA CM!? AL, 53H JE BACKKK JMP LIST

.""""""""""""""""""""""""""""""""~

BACKKK:PUSH BX CALL OCUPADO CALL CLEARD CALL PAUSA

(41)

DENUE : DEC CL DEC BX CMP CL,OOH JNE DENUE

PARAVEC3 : JMP PARAVEC2

~---""""""""""""""""""""

AHORA: PUSH BX CALL OCUPADO CALL CLEARD PUSH AX XOR AX, AX MOV DS, AX POP Ax

POP BX

MOV SI,1002H ;APUNTA A LA LOC. DE LA HORA LODSB

MOV CL, AL ROR AL, 4 AND AL,OFH ADD AL, 30H

""""""""_

MOV AL, CL AND AL, OFH ADD AL, 30H

MOV DS: [BX] ,AL ; (2DO DIGITO) INC BX

MOV SI,1001H ;APUNTA A LA LOC. DE LOS MINUTOS LODSB

MOV CL, AL ROR AL, 4 AND AL, OFH ADD AL,30H

MOV DS:[BXI,AL ;SE GUARDA EL MINUTO EN MEMORIA (1ER DIGITO) INC BX

MOV AL, CL AND AL, CL AND AL, OFH ADD AL, 30H

MOV DS: [BX] ,AL ; (2DO DIGITO) INC BX

MOV SI,1004H ;APUNTA A LA LOC. DEL MES LODSB

MOV CL, AL ROR AL, 4 AND AL, OFH ADD AL, 30H

MOV DS:[BX],AL ;SE GUARDA EL MES EN MEMORIA(1ER DIGITO) INC BX

(42)

ROR AL, 4 AND AL, OFH ADD AL, 30H

MOV DS:[BX],AL ;SE GUARDA EL DIA EN MEMORIA(1ER DIGITO) INC BX

MOV AL , CL AND AL, OFH ADD AL, 30H

MOV DS: [BX] ,AL ; (2DO DIGITO) INC BX

MOV SI,1005H ;APUNTA A LA LOC. DEL AÑO LODSB

MOV CL, AL ROR AL, 4 AND AL, OFH ADD AL, 30H

MOV DS:[BX],AL ;SE GUARDA EL AÑO EN MEMORIA(1ER DIGITO) INC BX

MOV AL, CL AND AL, OFH ADD AL, 30H

MOV DS: [BX] , AL ; (2DO DIGITO) INC BX

JMP PARAVEC3 FINAL :

NOP HLT

PRINCIPAL ENDP ;FINAL DEL PROGRAMA

. . . I

;* FUNCION QUE REVISA EPROM * . . .

REV EPROM PROC -

.""_""""""""""""""""

; DESPLIEGUE DEL LETRERO DE CHECKROM

.""""""""""""""""""~ I

LEA SI , TROM CALL DESPLIEGUE

I

."""_""""""""""""""""""""""""""

,

XOR AX, AX MOV DX, AX LEA BX, TTRAD MOV S1,AX MOV DI, lFFEH SUMA :

LODSB ADD DX, AX PUSH DX MOV DX, SI DEC DX

."""~""""""_

I

; DESPLEGAR SI

."""""""~""_

MOV AL, OCOH OUT 80H,AL

;LIMPIEZA DE DX Y AX

;INICIALIZACION DE SI PARA LECTURA ;INICIALIZACION DE CX PARA EL LOOP ;CARGAR UN BYTE EN AL

;SUMAR CONTENIDO DE AX A DX ;GUARDAR SUMA EN LA PILA

;MOVER SI A DX PARA DESPLEGARLO

;DECREMENTAR DX YA QUE EL LODSB LO INCREMENTO EN 1

(43)

CALL OCUPADO MOV CX, 6 MOV AL,20H OUT 81H,AL CALL OCUPADO EXP4:

LOOP EXP4 MOV AH, 4 CONTE02 :

MOV CL, 4 ROL DX, CL MOV AL, DL AND AL,OFH XLAT OUT 81H,AL CALL OCUPADO DEC AH

JNZ CONTE02 MOV AL,02H OUT 80H,AL

CALL OCUPADO POP DX

DEC DI JNZ SUMA RET

REV EPROM - ENDP

;MOVERNOS 6 LUGARES DEL SEGUNDO RENGLON

;CONTADOR DE NUMEROS DE LA DIRECCION ;CONTADOR DE BITS

; ROTAC I ON

;PONER NUMEROS DE DL EN AL ;ENMASCARAMIENTO

; TRADUCCION ;EXHIBICION

;CONTE0 DE LOS NUMEROS DE LA DIRECCION

; RETURN HOME

;DECREMENTAR CONTEO DE DIRECCIONES

;Y PASAR SI NO ES CERO A SIGUIENTE DIRECCION

RETARDO PROC NEAR PUSH CX MOV CX, 1656 DELAY: LOOP DELAY

POP

cx

RET RETARDO ENDP

. * * * * * * * * * * * PAUSA PAUSA PROC NEAR

MOV CX, OFFFFH RET O :

MOV DX, 05H RET 1 :

DEC DX JNZ RET1 LOOP RETO

* * * * * * * * * * * * * * *

(44)

.""""""""""""""~""""""""""""""""""

,

. . . I

;* FUNCION QUE ATIENDE A LA INTERRUPCION O *

. . .

I

SA1 - INTO PROC

LEA BX, TTRAD2 MOV AL, 40H OUT OlH,AL IN AL, OOH NO P

AND AL, 3FH XLAT

MOV CL, AL MOV DX, OFF22H MOV AX, 8000H OUT DX, AX I RET SA1 INTO ENDP

.""""""""""""""""""""""""""""""~""

I

-

TIMER PROC NEAR PUSHA

MOV A X , 20000 MOV DX, OFF62H OUT DX, AX MOV AX, OCOOlH MOV DX, OFF66H OUT DX, AX MOV AX, 100 MOV DX, OFF5AH OUT DX, AX MOV AX, OE009H MOV DX, OFF5EH OUT DX, AX POPA

RET TIMER ENDP

.""""""""""""""""""""""""""""""""~

I

PREPARA PROC NEAR XOR AX, AX MOV ES,AX

MOV DI,48H ;CARGA DIRECCION DEL VECTOR EN RAM LEA AX , RELOJ

STOSW

MOV AX, CS STOSW

MOV DX, OFF30H MOV A X , 0002H OUT DX, AX MOV DX, OFF32H MOV AX, 0007H OUT DX,AX

ST1 ;HABILITA LAS INTERRUP. DE MANERA GRAL RET

PREPARA ENDP

."""""""""_""""""""""""""""""""""" I

RELOJ PROC NEAR

(45)

CMP AL, 9AH JNE SAME MOV AL, O0 SAME:MOV DS: [SI] ,AL

RET ACTUAL2 ENDP PIDEH PROC NEAR

."""""""""""""""""""""""""~"""""""

MOV AX, CS MOV DS, AX XOR AX, AX MOV BX, AX MOV ES, AX

MOV DI, 1002H CALL CLEARD LEA S I , HORA1 CALL DESPLIEGUE MOV AL, OCOH OUT 80H,AL CALL OCUPADO HLT

CALL CLEARD CALL DESPTECLA MOV AL, AH SUB AL,30H ROL AL, 4 MOV BH, AL

PUSH BX HLT

CALL CLEARD CALL DESPTECLA POP BX

MOV AL, AH SUB AL,30H MOV BL, AL ADD BL, BH MOV AL, BL STOSB CALL PAUSA RET

PIDEH ENDP

."""""""""""""""""""""""""""""~"""

(46)

MOV AL, OCOH OUT 80H, AL CALL OCUPADO HLT

CALL CLEARD CALL DESPTECLA MOV AL , AH SUB AL,30H ROL AL, 4 MOV BH, AL PUSH BX HLT

CALL CLEARD CALL DESPTECLA POP BX

MOV AL, AH

SUB AL,30H MOV BL, AL ADD BL, BH MOV AL, BL STOSB CALL PAUSA RET

PIDEM ENDP PIDED PROC NEAR

~---"""""""""""""""""""""~""

MOV AX, CS MOV DS,AX XOR AX, AX MOV ES , AX MOV DI, 1003H CALL CLEARD LEA SI, DIA CALL DESPLIEGUE MOV AL, OCOH OUT 80H,AL CALL OCUPADO HLT

CALL CLEARD CALL DESPTECLA MOV AL, AH SUB AL,30H ROL AL, 4

MOV BH, AL PUSH BX HLT

CALL CLEARD CALL DESPTECLA POP BX

(47)

MOV AL, BL STOSB

CALL PAUSA RET

PIDED ENDP

PIDEMES PROC NEAR

...

MOV A X , CS MOV DS, AX XOR AX, AX

MOV ES , AX MOV DI, 1004H CALL CLEARD LEA S1,MES CALL DESPLIEGUE MOV AL, OCOH OUT 80H,AL CALL OCUPADO HLT

CALL CLEARD CALL DESPTECLA MOV AL, AH SUB AL,30H ROL AL, 4 MOV BH, AL PUSH BX HLT

CALL CLEARD CALL DESPTECLA POP BX

MOV AL, AH SUB AL,30H MOV BL, AL ADD BL,BH MOV AL, BL STOSB CALL PAUSA RET

PIDEMES ENDP

PIDEAÑO PROC NEAR

.---"""""""""""""""""""""""""~

(48)

MOV SI, lOOOH

LODSB ;AL=[SI] en DS, SI=SI+l CALL BCD ;Traduce de BCD a ASCII

JMP SALT CLOCK1:JMP CLOCK

SALT:MOV AL, OC4H OUT 80H,AL PUSH AX

CALL OCUPADO POP AX

MOV SI , 1004H ;DESPLEGAR MES

LODSB ;AL=[SI] en DS, SI=SI+l CMP AL, 07H

JG MAYOR1 CMP AL, 01H JE NONES CMP AL,03H JE NONES CMP AL, 05H JE NONES CMP AL, 07H JNE PARES

N0NES:CALL BCD ;Traduce de BCD a ASCII MOV AL, 2FH

OUT 81H, AL PUSH AX

CALL OCUPADO

POP Ax ;IMPRIME :

MOV SI, 1003H ; DESPLEGAR DIA

LODSB ;AL=[SI] en DS, SI=SI+l CALL BCD ;Traduce de BCD a ASCII CALL OCUPADO

MOV AL, 2FH OUT 81H,AL

PUSH AX ;IMPRIME :

CALL OCUPADO

POP AX ;Mueve el cursor MOV SI, 1005H ; DESPLEGAR AYO LODSB ;AL=[SIl en DS, SI=SI+l

CALL BCD ;Traduce de BCD a ASCII JMP TERMIN

MAYOR1:JMP MAYOR PARES : CMP AL, 02H

JE FEB

CALL BCD ; DESPLEGA MES

(49)

OUT 81H,AL PUSH AX

CALL OCUPADO

POP AX ;IMPRIME :

MOV SI, 1003H ; DESPLEGAR DIA

LODSB ;AL=[SI] en DS, SI=SI+l CALL BCDl ;Traduce de BCD a ASCII CALL OCUPADO

MOV AL, 2FH OUT 81H,AL

PUSH AX ;IMPRIME :

CALL OCUPADO

POP AX ;Mueve el curso1 MOV SI, 1005H ; DESPLEGAR AYO

LODSB ;AL=[SI] en DS, SI=SItl CALL BCD ;Traduce de BCD a ASCII JMP TERMIN

CLOCK2:JMP CLOCK1

FEB:CALL BCD ; DESPLEGA MES

;Traduce de BCD a ASCII MOV AL, 2FH

OUT 81H,AL PUSH AX

CALL OCUPADO

POP AX ;IMPRIME :

MOV SI, 1003H ;DESPLEGAR DIA

LODSB ;AL=[SI] en DS, SI=SItl CALL BCD2 :Traduce de BCD a ASCII CALL OCUPADO

MOV AL, 2FH OUT 81H,AL

PUSH AX ;IMPRIME :

CALL OCUPADO

POP AX ;Mueve el cursor MOV SI, 1005H ;DESPLEGAR AÑO

LODSB ;AL=[SI] en DS, SI=SI+l

CALL BCD ;Traduce de BCD a ASCII JMP TERMIN

(50)

MOV AL, 2FH

OUT 81H,AL PUSH AX

CALL OCUPADO

POP AX ;IMPRIME :

MOV SI, 1003H ;DESPLEGAR DIA

LODSB ;AL=[SI] en DS, SI=SIt1 CALL BCD ;Traduce de BCD a ASCII CALL OCUPADO

MOV AL, 2FH

OUT 81H,AL

PUSH AX ;IMPRIME :

CALL OCUPADO

POP AX ;Mueve el cursor MOV SI, 1005H ; DESPLEGAR AÑO LODSB ;AL=[SI] en DS, SI=SItl

CALL BCD ;Traduce de BCD a ASCII JMP TERMIN

CLOCK4:JMP CLOCK3

NONES1:CALL BCD ; DESPLEGA MES ;Traduce de BCD a ASCII MOV AL, 2FH

OUT 81H,AL PUSH AX

CALL OCUPADO

POP AX ;IMPRIME :

MOV SI, 1003H ;DESPLEGAR DIA

LODSB ;AL=[SI] en DS, SI=SItl CALL BCDl ;Traduce de BCD a ASCII CALL OCUPADO

MOV AL, 2FH OUT 81H,AL

PUSH AX ;IMPRIME :

CALL OCUPADO

POP AX ;Mueve el cursor MOV SI, 1005H ;DESPLEGAR AÑO

LODSB ;AL=[SIl en DS, SI=SItl CALL BCD ;Traduce de BCD a ASCII TERM1N:DEC CX

CMP CX, OOOOH JNE CLOCK4 PO PA RET DESPH ENDP

(51)

POP Ax MOV AL, BL AND A L , OFH ADD A L , 3 0 H OUT 8 1 H , A L PUSH AX CALL OCUPADO POP AX

POP

cx

RET BCD2 ENDP

."""""~"""""""""""""""""""""""""""

, CODIGO

ENDS

(52)
(53)

APENDICE

ALU- Unidad Aritmética y Lógica.

BIU- Unidad de Interfase del Canal.

CPU- Unidad de Procesamiento Central.

EU- Unidad de Ejecución.

INTERFAZ(1nterfase)- Vínculo entre dos objetos, como una computadora y un módem.

Al

vínculo entre una computadora y la persona que la usa se le llama intefaz de usuario, y se

refiere a la forma en que una persona se comunica con la computadora.

PLCC- Plastic Lead Chip Carrier.

RAM- Random Access Memory.

ROM- Read Only Memory.

UAMI-188- Tarjeta de trabajo con sistema mínimo Intel 801 88, diseñada en la Universidad

(54)

BIBLIOGRAFIA

Amplificadores Operacionales y Circuitos Integrados Lineales

Robert F. Coughlin - Frederick F. Driscoll

Editorial Prentice Hall

Diseño Electrónico

Savant - Roden - Carpenter

Editorial Addison - Wesley Iberoamericana

Diseño Digital Morris Mano

Editorial Prentice Hall

Comprendiendo Teléfonos Electrónicos Stephen J. Bigelow

Editorial Hispano Americana

Manual “FAST and LS TTL Data”

Motorola

Proyecto “AUTOMATI-FONO’’ Realizado por los alumnos:

Jorge David Rincón González José Ricardo Marín Ojeda Dirigido por:

Figure

figura  2.1,  que  abre  y  cierra  el  circuito  local  en  un  ritmo  predeterminado

Referencias

Documento similar

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)