You are on page 1of 27

GUIAS NICAS DE LABORATORIO

SISTEMA DIGITAL BASADO EN MICROPROCESADOR AUTOR: ALBERTO CUERVO

SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

SISTEMA DIGITAL BASADO EN MICROPROCESADOR

Introduccin El artculo presente tiene como objetivo describir el diseo de un sistema digital basado en el microprocesador de 8 bits 8085 de Intel. Este sera el ltimo de los microprocesadores de 8 bits de propsito general desarrollado por la firma Intel Corporation y consiste de una versin mejorada de su microprocesador 8080. Se seleccion el microprocesador 8085 por las ventajas que ste ofrece entre los microprocesadores de 8 bits, entre las cuales se pueden nombrar su generador interno de reloj, su controlador interno del sistema, su bajo costo y su amplio repertorio de chips de soporte que lo hacen atractivo en aplicaciones de control. El sistema descrito consiste, adems del microprocesador, de una memoria RAM de 2 Kbytes, una memoria EPROM de 8 Kbytes en la cual residir el programa, 3 puertos de entrada/salida programables y un convertidor analgico/digital el cual es utilizado para obtener el valor de la temperatura de un lquido contenido en un recipiente. El sistema digital diseado es apropiado para ser implementado como proyecto de curso de un semestre de duracin por estudiantes relacionados con el tema de microprocesadores. El microprocesador La distribucin de terminales del circuito integrado del microprocesador 8085 se muestra en la figura 1. Como se puede observar en la figura, este microprocesador opera con una sola fuente de alimentacin de + 5 voltios conectada entre los terminales 20 y 40. Las lneas TRAP, RST 7.5, RST 6.5, RST 5.5 e INTR (Interrupt Request) son entradas de interrupcin por donde los dispositivos perifricos pueden solicitar atencin del microprocesador . Presentan distintos niveles de prioridad, siendo TRAP la lnea ms prioritaria e INTR la de menor prioridad. A una solicitud de interrupcin por la lnea INTR, el microprocesador contesta con un pulso negativo INTA (Interrupt Acknowledge) si acepta la interrupcin. Durante el pulso INTA, el dispositivo perifrico deber colocar en el bus de datos del microprocesador el vector de interrupcin el cual consiste de un cdigo de 8 bits que tiene la informacin de la direccin de memoria donde est ubicada la subrutina de servicio del dispositivo.
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

El cdigo de este vector de interrupcin o RSTn es igual a 11NNN111, donde n es un nmero de 3 bits igual a NNN. Introduciendo este cdigo con el pulso INTA el microprocesador guarda la direccin de memoria de retorno en la pila y salta a la direccin 8 * n. Se debe destacar que el microprocesador genera automticamente en su interior los distintos vectores de interrupcin a solicitudes efectuadas por las otras entradas de interrupcin, por lo que se producir una bifurcacin de forma automtica a las direcciones de memoria donde debern estar ubicadas las subrutinas de atencin correspondientes o un salto a las mismas como se muestra en la tabla 1.

X1 X2 RESET OUT SOD SID TRAP RST 7.5 RST 6.5 RST 5.5 INTR INTA AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

Vcc (+5v.) HOLD HLDA (CLK) OUT RESET IN READY IO/M S1 RD WR ALE S0 A15 A14 A13 A12 A11 A10 A9 A8

8085

MICROPROCESADOR

Figura 1. Distribucin de terminales


Solicitud por: TRAP RST 7.5 RST 6.5 RST 5.5 decimal 36 60 52 44 Bifurca a la direccin: binario 0000000000100100 0000000000111100 0000000000110100 0000000000101100

hexadecimal 0024 003C 0034 002C

Tabla 1. Direcciones de bifurcacin.


D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

La lnea RST 7.5 tiene una caracterstica distinta a las otras. El flip-flop de solicitud de interrupcin asociado al dispositivo se encuentra internamente en el microprocesador, lo que hace que esta lnea sea sensible al flanco de subida de un pulso aplicado a la misma por el hardware del dispositivo. En cualquier otra lnea (INTR, RST 6.5 Y RST 5.5) debe permanecer un nivel de 1 fijo hasta que la interrupcin sea reconocida por el microprocesador. El flip-flop interno de solicitud de interrupcin asociado a la lnea RST 7.5 se resetea con una de las siguientes acciones: 1. Reseteando al microprocesador, esto es, colocando un 0 en la entrada (Reset In). 2. Mediante el software con una instruccin SIM (Set Interrupt Mask) con el bit 4 del acumulador en 1. 3. Automticamente con un reconocimiento del microprocesador a una solicitud de interrupcin por la lnea RST 7.5. La lnea TRAP es sensible tanto a un flanco como a un nivel aplicado. Esta entrada debe ir a 1 y permanecer en 1 hasta que sea reconocida la solicitud de interrupcin. Una nueva interrupcin no ser reconocida hasta que esta lnea vaya a 0 y despus nuevamente a 1. Las lneas de interrupcin excepto TRAP pueden ser enmascaradas o inhabilitadas mediante una instruccin DI (Disable Interrupt) lo cual coloca al flip-flop interno INTE en el estado 0. Este flip-flop es el responsable de habilitar o inhabilitar las lneas de interrupcin excepto TRAP que es una lnea no-enmascarable. Con la instruccin EI (Enable Interrupt) se coloca al flip-flop INTE en 1 habilitando todas las lneas de interrupcin. Cuando el microprocesador reconoce una interrupcin, automticamente coloca INTE=0 inhabilitando todas las lneas enmascarables, por lo que en el software habr que ejecutar la instruccin EI para permitir futuras interrupciones por estas lneas. Si INTE=1, las lneas RST 7.5, RST 6.5 y RST 5.5 pueden ser inhabilitadas individualmente colocando un cdigo apropiado en un registro interno del microprocesador denominado registro de mscaras como se muestra en la figura 2.
7 6 5
X

SOD SOE

R7.5 MSE M7.5 M6.5 M5.5

Figura 2. Reg. de mscaras del microprocesador

Las funciones de los distintos bits colocados en el registro de mscaras se describen a continuacin.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Bits 0, 1 y 2. Un 1 colocado en estos bits del registro inhabilita la lnea respectiva. Un 0 la habilita. Bit 3 MSE (Mask Set Enable). La instruccin SIM mueve el contenido del acumulador al registro de mscaras. El bit 3 debe estar en 1 cuando se ejecute la instruccin SIM para poder alterar los bits 0, 1 y 2 anteriores. Bit 4 R7.5. Un 1 colocado en el bit 4 resetea el flip-flop interno de solicitud de interrupcin asociado a la lnea RST 7.5. Bit 7 SOD = Serial Output Data. El terminal 4 del microprocesador por el cual se transmiten datos en forma serial es una rplica de este bit del registro de mscaras el cual puede ser colocado en un determinado nivel lgico mediante la instruccin SIM. Con esta instruccin, el bit 7 del acumulador es colocado en el bit 7 del registro de mscaras si el bit 6 (SOE= Serial Output Enable) es colocado en 1. La instruccin RIM (Read Interrupt Mask) almacena en el acumulador del microprocesador el estado de las mscaras de interrupcin, las interrupciones pendientes y el nivel del terminal 5 SID (Serial Input Data) utilizado para recibir datos en forma serial. De esta forma el estado de las interrupciones puede ser monitoreado bajo el control del programa. Cuando las interrupciones estn inhabilitadas pero pendientes, el programa puede de forma selectiva habilitar una lnea en particular para atender una solicitud de interrupcin en cuestin. El contenido del acumulador despus de una instruccin RIM se muestra en la figura 3.
Mscaras de interrupcin SID I 7.5 I 6.5 I 5.5 IE M7.5 M6.5 M5.5

INTE Interrupciones pendientes Serial Input Data

Figura 3. Contenido del acumulador despus de RIM

Terminales 1 y 2. (X1) y (X2). Estos terminales son utilizados para fijar la frecuencia interna de los pulsos de reloj. En estos terminales se puede colocar un cristal de cuarzo o una resistencia cuando la estabilidad de la frecuencia del reloj no es un factor determinante. En el sistema digital descrito se utiliza una resistencia de 10 Kohmios que fija la frecuencia de los pulsos de reloj 1.5 MHz. Terminal 36 (Reset In).
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Colocando esta entrada en 0 se resetea el microprocesador provocando las siguientes acciones. 1. Se limpia el contador de programa, por lo que el microprocesador comenzar ejecutando la instruccin que se encuentre en la direccin 0000H cuando (Reset In) regrese a 1. 2. Las lneas de datos y direcciones, as como las lneas de control se colocan en el estado de alta impedancia mientras (Reset In) = 0. 3. Coloca al flip-flop INTE en 0 inhabilitando las interrupciones. Igualmente se resetea el flip-flop interno de solicitud de interrupcin asociado con la lnea RST 7.5 y se colocan en 1 las mscaras de interrupcin. Mientras (Reset In) = 0, el microprocesador se encuentra en el estado de Reset en el cual la lnea de salida Reset Out, terminal 3, se activa con un 1. Se utiliza generalmente como seal general de reset del sistema y est sincronizada con los pulsos de reloj del microprocesador los cuales pueden ser obtenidos del terminal 37 identificado como CLK OUT. La seal HOLD, terminal 39, le indica al microprocesador que un dispositivo externo solicita tener acceso directo a memoria (DMA : Direct Memory Access). Cuando el microprocesador acepta o reconoce la solicitud, responde colocando en 1 la seal HLDA (Hold Acknowledge), terminal 38. Esto ltimo le indica al dispositivo que el microprocesador libera los buses de datos y direcciones, las seales de RD, WR e IO/M colocando todas estas lneas en el estado de alta impedancia. Esto permite al dispositivo externo tomar el control de los buses del sistema para efectuar una transferencia de datos directamente con la memoria sin la intervencin del microprocesador. Las seales de RD y WR son pulsos negativos generados por el microprocesador por los terminales 32 y 31 respectivamente cuando va a efectuar una operacin de lectura o escritura en la memoria o en un puerto de entrada/salida. Las seales S1, S0 e IO/M son seales de estado del microprocesador obtenidas en los terminales 33, 29 y 34 respectivamente que identifican el ciclo de mquina en curso en el microprocesador, esto es, si se trata de un ciclo de bsqueda, de un ciclo de lectura de memoria, de un ciclo de escritura de memoria, etc. De estas, la ms utilizada es IO/M que indica si la operacin de lectura o escritura se realiza en memoria o en un puerto de entrada/salida. IO/M = 0 indica que la operacin se realiza en la memoria e IO/M= 1 indica que la operacin se efecta en un puerto. De la misma forma, S1S0=00 indica que el microprocesador se encuentra detenido en el estado de ALTO, 01 que se encuentra realizando una operacin de lectura, 10 una operacin de escritura y 11 que se encuentra en el ciclo de mquina de bsqueda en el cual lee de la memoria el cdigo de operacin de una instruccin.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

La duracin de un estado en el microprocesador se identifica con un perodo de los pulsos de reloj. Todos los ciclos de mquina tienen 3 estados, excepto el ciclo de bsqueda que puede tener 4 6 estados dependiendo de la instruccin. Todo un ciclo de instruccin consta de uno o ms ciclos de mquina, entendindose que se produce un nuevo ciclo de mquina cada vez que el microprocesador hace referencia a memoria o a un dispositivo de entrada/salida. As por ejemplo, la instruccin STA 2382H (Store Accumulator) que almacena el contenido del acumulador en la direccin de memoria especificada consta de 4 ciclos de mquina. Un primer ciclo de bsqueda donde se lee de la memoria el cdigo de operacin de la instruccin el cual le indica al microprocesador las actividades que debe realizar a continuacin, 2 ciclos de lectura de memoria (Memory Read) en los cuales se lee la direccin de 16 bits especificada por la instruccin y un ltimo ciclo de escritura de memoria (Memory Write) en donde el microprocesador saca por el bus de direcciones la direccin leda anteriormente para almacenar en esta localizacin de memoria el contenido del acumulador que est sacando por el bus de datos. La seal de READY (terminal 35) es utilizada por un dispositivo de entrada/salida o la memoria para poder solicitar al microprocesador uno o ms estados de espera intercalados entre los estados T2 y T3 de un ciclo de mquina. As por ejemplo, durante un ciclo de lectura de memoria en el estado T1 al comienzo del ciclo de mquina el microprocesador coloca la direccin de la localizacin de memoria que va a leer en el bus de direcciones y en el estado T3 almacena internamente el contenido del bus de datos. Si el tiempo de acceso de la memoria es tal que no le da tiempo a la misma a colocar el dato en el bus de datos tendr que solicitar espera intercalando estados del mismo nombre entre los estados T2 y T3 mientras la seal READY=0. El microprocesador consta de un bus de datos de 8 bits y un bus de direcciones de 16 bits, pudiendo direccionar por tanto 216 = 64 Kbytes de memoria. A8 a A15 (terminales 21-28) constituyen los bits de mayor orden de la direccin y los bits AD0 a AD7 (terminales 12-19) son lneas compartidas por el bus de datos y los 8 bits de menor orden de la direccin. Esto es, las lneas AD0-AD7 constituyen un bus multiplexado. Al comienzo de un ciclo de mquina estas lneas son unidireccionales y contienen los 8 bits de menor orden A0-A7 de la direccin de memoria o de un puerto de entrada/salida seleccionado. Posteriormente en el ciclo de mquina estas lneas son bidireccionales y se convierten en el bus de datos del sistema. El pulso ALE (Address Latch Enable) es generado por el microprocesador por el terminal 30 al comienzo de un ciclo de mquina para indicar que la parte baja de una direccin se encuentra en las lneas AD0-AD7 como se ilustra en la figura 4.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Ciclo de lectura de memoria (Memory Read) T1 T2 T3 T1

Reloj

A8-A15

parte alta de la direccin


parte baja de la direccin Dato vlido

AD0-AD7 ALE

dato

RD Figura 4. Seales durante un ciclo de lectura de memoria

En esta figura se han representado las seales que ocurren durante un ciclo de lectura de memoria. Al comienzo del estado T1 del ciclo de mquina el microprocesador coloca el byte de mayor orden de la direccin en las lneas A8-A15 y permanece constante hasta el final del estado T3 y el byte de menor orden de la direccin lo coloca en las lneas AD0-AD7. Este byte sin embargo permanece en estas lneas solamente hasta el comienzo del estado T2 en cuyo momento las lneas AD0-AD7 se convierten en lneas de datos. Observe que el pulso ALE es generado mientras la parte baja de la direccin se encuentra en las lneas AD0-AD7. Durante el estado T2 el pulso de lectura RD va a 0 habilitando la salida de memoria y colocando sta con su demora inevitable su dato en las lneas AD0-AD7. Con el flanco positivo del reloj en el estado T3 el microprocesador almacena internamente el dato que le llega por estas lneas. Durante todo el ciclo, la seal IO/M = 0 indicando que la operacin de lectura se efecta en la memoria. De acuerdo con la descripcin anterior se hace necesario demultiplexar o retener la parte baja de la direccin como se muestra en la figura 5.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

X1
10 Kohmios

X2
20 picofaradios

A15 A14 A13 A12 A11 A10 A9 A8

+5V. R Reset

8085
ALE C

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Latch oc 74LS373

+
C

RESET IN
AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Bus de Direcciones Bus de Datos


D7 D6 D5 D4 D3 D2 D1 D0

R : 47 Kohmios C : 10 microfaradios

Figura 5. El microprocesador con el bus de direcciones demultiplexado

En esta figura se ha utilizado el latch de 8 bits con salidas de 3 estados 74LS373 para retener el byte de menor orden de la direccin. Las salidas se encuentran permanentemente habilitadas al estar conectada su entrada OC (Output Control) a tierra 0 voltios. El pulso ALE del microprocesador alimenta la entrada C del latch, por tanto, cuando ALE se hace 1 las salidas del latch toman los valores de sus entradas y cuando ALE regresa a 0 estos valores son retenidos en el latch. La red RC de 47 Kohmios y 10 microfaradios es utilizada para resetear al microprocesador en el instante inicial que se conecte la energa elctrica. El diodo es de seal de silicio para proteger la entrada (Reset In) de cualquier posible oscilacin. El switch de Reset se utiliza para resetear al microprocesador manualmente. Entre los terminales X1 y X2 se ha conectado una resistencia de 10 Kohmios para fijar la frecuencia de los pulsos de reloj a un valor aproximado de 1.5 MHz. Interface con memoria. Se debe proveer al sistema digital de una memoria EPROM de 8 Kbytes y una memoria RAM de 2 Kbytes. Para cumplir con estos requerimientos se utilizar el circuito integrado de una EPROM de 8 Kbytes 27C64. Las direcciones de la EPROM deben comenzar en la direccin 0000H.
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Como la EPROM tiene 13 lneas de direccin, las localizaciones de la misma se podrn acceder con las direcciones que van de 0000H hasta 1FFFH. Para la RAM se utiliza el circuito integrado TMS4016. La RAM debe comenzar a continuacin de la EPROM. Como la RAM tiene 11 lneas de direccin, las direcciones en la misma irn desde 2000H hasta 27FFH como se muestra en la figura 6.
A15

.......

A0

0000 0000 0000 0000


8 Kbytes

EPROM 0001 1111 1111 1111 0010 0000 0000 0000 0010 0111 1111 1111
bit 13 bit 14

2 Kbytes 64 Kbytes

RAM

Direcciones

Figura 6. Mapa de memoria


Como se puede observar, A14A13 = 00 en las direcciones de EPROM y A14A13 = 01 en la RAM, por lo que se utilizar un decodificador 2 a 4 para seleccionar estas pastillas como se muestra en la figura 7. En la misma se muestra al microprocesador con su sistema de memoria. A la lnea de READY se le ha colocado un 1 fijo ya que los tiempos de acceso de las pastillas de memoria utilizadas son adecuados para la frecuencia de los pulsos de reloj fijada con la resistencia de 10 Kohmios. Igualmente se ha colocado un 0 fijo a la lnea de HOLD y a todas las entradas de interrupcin que no se utilicen. En la tabla 2 se muestran las funciones de las lneas de las pastillas utilizadas. Decodificador G : entrada de habilitacin BA:entradas, B mayor orden Y0-Y3: salidas Memoria RAM G: habilitacin de salida S: entrada de seleccin W: habilitacin de escritura A0-A10: lneas de direccin DQ1-DQ8: entrada/salida Tabla 2. Funciones de las lneas.
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Memoria EPROM CE: entrada de seleccin OE: habilitacin de salida A0-A12: lneas de direccin DQ0-DQ7: salida de datos

RST 6.5 WR RD IO/M TRAP ALE RST 5.5 RST 7.5 INTR HOLD A15 INTA A14 HLDA A13 S1 A12 S0 A11 SID A10 SOD A9 A8 AD0 AD1 AD2 AD3 AD4 Ready AD5 AD6 AD7

4.7K 47 Kohmios Reset 10 microfaradios 10 Kohmios 20 picofaradios A15


X1 X2

CLK OUT

Reset Out Reset In

on/off

+5v.

microprocesador

A la alimentacin de los CIs

74LS373

C OC

A0

DEC B A G 1/2 74LS139A Y3 Y2 Y1 Y0

CE OE A12 .....A0 Vcc EPROM 27C64 Vpp .....DQ0 PGM DQ7 +5v. alimentacin

GW A10 ..... A0 S RAM TMS4016 .... DQ1 DQ8 D7

Figura 7. Memoria

Convertidor analgico/digital El convertidor analgico/digital seleccionado consiste del circuito integrado ADC0801 o similar el cual tiene una resolucin de 8 bits. Tiene salida de 3 estados por lo que se puede acoplar directamente al bus de datos del microprocesador como un puerto de entrada. Tiene un generador de reloj interno para el proceso de conversin, aunque se puede utilizar con el reloj del microprocesador aplicado a su terminal CLK IN si la frecuencia estuviese comprendida entre 100 y 1460 KHz. Utiliza una simple fuente de alimentacin de + 5 voltios. Este convertidor responde a un voltaje diferencial analgico [Vin(+) Vin(-)] aplicado en sus entradas. La distribucin de terminales se muestra en la figura 8.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

CS RD WR CLK IN INTR

1 2 3 4 5 6 7 8 9 10

20 19 18

Vcc CLK R DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7

A/D

17 16 15 14 13 12 11

VIN(+) VIN(-)
A GND VREF/2 D GND

ADC0801

Figura 8. Distribucin de terminales del A/D


Comienzo de la conversin. La orden de comenzar la conversin de la seal analgica aplicada a la entrada del convertidor se efecta cuando van a 0 las seales CS y WR como se muestra en la figura 9a. Cuando se completa la conversin y el dato digital est disponible, el convertidor responde colocando INTR en 0. Por tanto esta ltima seal puede ser utilizada como Fn de Conversin pudiendo ser monitoreada bajo el control del programa o utilizada para solicitar interrupcin del microprocesador.
Conversin terminada INTR

Inicie conversin

CS WR INTR

CS RD Dato
3er estado 3er estado

(a) Figura 9 Seales en el Convertidor A/D

(b)

Lectura del dato. Para leer el dato digital convertido se hacen 0 CS y RD. El convertidor responde quitando la solicitud de interrupcin (INTR va a 1) y coloca el dato digital con su demora intrnseca en sus lneas DB7-DB0 como se muestra en la figura 9b. Voltaje de Referencia.
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

El voltaje de referencia del Conv. A/D determina el rango dinmico de la seal diferencial de entrada VIN = VIN(+) VIN(-). VREF = Vcc si no se aplica ningn voltaje al terminal marcado como VREF/2. Si se aplica un voltaje externo a este terminal, por ejemplo 2 voltios, entonces VREF = 4 voltios y ste ser el rango de variacin de VIN. En esta situacin, los escalones en VIN (variacin en VIN en que no cambia la salida digital) ser igual a 4/28 = 15.625 milivoltios como se muestra en la figura 10. Se cumple que VIN = escaln x (valor digital). Por ejemplo, si la salida digital es 00000101 = 5dec, entonces VIN = 5 x 15.625 mV = 78.125 mV, correspondiendo este valor al centro del escaln.
salida digital

11111111
escaln 15.625 mV

00000101 00000100 00000011 00000010 00000001 00000000


0 v.

46.875 mV

15.625 mV

78.125 mV

31.25 mV

62.5 mV

Figura 10. Funcin transferencial


Reloj. La frecuencia de los pulsos de reloj debe estar en el rango comprendido entre 100 y 1460 KHz. Como la frecuencia del reloj del microprocesador 1.5 MHz, no puede ser utilizada para alimentar la entrada CLK IN del convertidor. La frecuencia de reloj del A/D puede ser fijada con una red RC externa como se muestra en la figura 11. Con R = 10 Kohmios y C = 150 picofaradios se obtiene una frecuencia del reloj del A/D 606 KHz, valor prximo a 640 KHz recomendado por el fabricante para obtener garantizada la exactitud del Conv. A/D.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

3.984 v

......

entrada analgica VIN

CLK R

A/D

R
CLK IN

CLK Frec =

1
1.1RC

Figura 11. Ajuste de la frecuencia

Sensor de temperatura El sensor de temperatura seleccionado consiste del circuito integrado LM335 el cual tiene un coeficiente de temperatura de 10 mV/ C. A la temperatura ambiente de 25 C tiene un voltaje 2.98 voltios segn especificacin del fabricante. Su distribucin de terminales se muestra en la figura 12. Por lo anterior a 0C su voltaje ser 2980mV 10x25= 2.73v y a 100C el voltaje en el sensor ser igual a 2730mV + 10 x 100 = 3.73v.
V+
NC NC NC 1 2 3 4 8 7 6 5 ajuste

V+

+
NC NC R R

salida 10 mv/C

salida
2.98v a 25C

10 mv/C
10K

LM335

circuito bsico

sensor calibrado

Figura 12. Sensor de temperatura LM335


El potencimetro de 10 K se utiliza para ajustar el voltaje de salida exactamente en 2.982 voltios a 25C y obtener mayor exactitud del dispositivo. Rango de temperaturas Se desea medir temperaturas comprendidas en el rango 0C T < 100 C. Como el coeficiente de temperaturas del sensor es de 10 mV/C, se utilizar un VREF/2 en el convertidor analgico/digital igual a 1.28 voltios. Esto produce un rango dinmico en el mismo de 2.56 voltios y un escaln en VIN igual a 2.56/28 v = 10 mV. Es decir entonces que para cada grado centgrado de aumento en la temperatura, la salida digital se incrementa en la unidad.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Por otro lado, como el sensor produce un voltaje de 2.73 voltios a 0C, se colocar este valor en VIN(-). As cuando la temperatura sea de 0C, VIN(+) (salida del sensor) = 2.73v y VIN = VIN(+) VIN(-) = 0 voltios produciendo el convertidor analgico/digital una salida igual a 00000000. El circuito para efectuar lo anteriormente expuesto se muestra en la figura 13.
alimentacin de +5 v. 10 microfaradios + tantalio 1 3 2 LM4050-4.1 seleccin 10K 150 = 20 ppm/C picofaradios T +5v. 1.2K DB0 RD A/D DB1 CS DB2 DB3 CLK R DB4 DB5 CLK IN DB6 DB7 D GND A GND VIN(+) VREF/2 sensor de temperatura 2.73v 0.01 microfaradios 9.1K / 5% 1K VIN(-) R2 3.9K / 5% 3.3K / 5% 7.5K 5% 1.28v 1K R1 WR

Vcc INTR

330 ohmios

al bus de datos

VR
LM335

10 mV/C

LM4050-4.1 diodo de precisin de referencia

Figura 13 Sensor de Temperatura y Convertidor A/D

Los pequeos potencimetros R1 y R2 se utilizan para ajustar los voltajes en VREF/2 y VIN(-) en 1.28 y 2.73v respectivamente. El potencimetro R2 ajusta la salida del conv. A/D a 00hex cuando la temperatura sea de 0C y R1 a que tenga una resolucin (escaln) de 10 mV. R1 vara el voltaje entre 1.14 y 1.43v y R2 entre 2.66 y 2.95v aproximadamente. El LM4050-4.1 es un diodo de precisin de referencia utilizado para obtener un voltaje estabilizado de 4.1 voltios con un coeficiente de temperatura muy pequeo. Este voltaje solamente vara con la temperatura a razn de 20 ppm (partes por milln) por cada C. El capacitor de 10 microfaradios conectado a la alimentacin de +5v. del A/D debe ser de tantalio para eliminar los impulsos de ruido que puedan venir por la lnea de alimentacin de +5v. y estar fsicamente conectado lo ms prximo posible al terminal de Vcc del convertidor analgico/digital.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

El cable de conexin del sensor de temperatura debe ser trenzado para evitar ruido inducido y conectado a tierra lo ms cerca posible del terminal marcado como AGND (analog ground : tierra analgica) del A/D. El sensor de temperatura LM335 debe ir encerrado en un tubo metlico o de vidrio para construir la sonda que se introduce en el lquido. Debe estar embebido en grasa de silicona para garantizar una buena transferencia de calor y el extremo abierto del tubo debe ir sellado con sellante de silicona de alta temperatura para evitar la entrada de lquido. Puertos Programables Se plantea como requerimiento la implementacin del sistema digital con tres puertos programables, por lo que se utiliza la interface perifrica programable 82C55 de la compaa Intel Corporation. Este circuito integrado goza de gran aceptacin al ser utilizadas sus funciones en la implementacin de computadores personales recientes basados en el Pentium II y empleado para implementar una interface con el teclado y el puerto paralelo de la impresora en muchos computadores personales. En la figura 14a se muestra la distribucin de terminales del 82C55, as como las direcciones internas para seleccionar los distintos registros del mismo. Consta de 3 puertos A, B y C de entrada/salida los cuales son programados como grupos como se muestra en la figura 14b. Es programado por medio de 2 bytes de comando, donde el bit 7 selecciona el byte de comando A o el B. El byte de comando A programa la funcin de los grupos A y B mientras que el byte de comando B coloca en 1 0 en forma individual bits del puerto C del 82C55. Los grupos pueden ser programados en tres modos diferentes. El grupo B puede ser programado en el modo 0 1 y el grupo A en los modos 0, 1 2. Ambos grupos pueden ser programados como entrada o como salida. Modo 0. La operacin en el modo 0 ocasiona que las lneas del grupo funcionen como lneas de entradas con buffer de 3 estados o como lneas de salida con registro. Constituye el modo bsico de operacin. Modo 1. En el modo 1 de operacin, se efecta una transferencia controlada por pulsos por los puertos A o B, mientras que el puerto C proporciona las seales de dilogo o handshaking requeridas para estos puertos. Ya est configurado el puerto como entrada o salida, el dato es almacenado en el mismo como en un registro.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

byte de comando A
34 33 32 31 30 29 28 27 5 36 9 8 15 6

D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1
RESET

PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7

4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10

Bus de datos

7 Puerto A 1

Grupo B
Puerto C : PC3-PC0 1=entrada 0=salida Puerto B 1=entrada 0 = salida Modo 0=Modo 0 1=Modo 1

CS

82C55
Vcc: 26 GND : 7

Puerto B

Grupo A Puerto C
Puerto C : PC7-PC4 1=entrada 0 = salida Puerto A 1=entrada 0 = salida Modo 00 = modo 0 01 = modo 1 1X = modo 2

A1 A0 0 0 0 1 1 0 1 1

Seleccin Puerto A Puerto B Puerto C


Registro de comando

7 0

byte de comando B 6 5 4 3 2 1 X X X

seleccin de 1 bit

Bit Set/Reset 1 = Set 0 = Reset

(a)

(b)

Figura 14. Interface perifrica programable (a) distribucin de terminales y (b) bytes de comando
Modo 2. El modo 2 de operacin slo es permitido para el grupo A. El puerto A se convierte en bidireccional pudindose efectuar una transmisin y recepcin de datos a travs de las mismas lneas. Puerto de entrada en modo 1. En este modo de operacin, el puerto funciona como un registro con almacenamiento del dato. Esto permite que el dato permanezca en el puerto hasta que el microprocesador se encuentre listo para leerlo. La figura 15 muestra las seales en este modo de operacin, en donde las lneas PC3, PC4 y PC5 del puerto C no manejan datos,
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

sino seales de dilogo del puerto A. En la figura 15 se ha supuesto que el puerto A est programado como entrada y el puerto B como salida. El significado de estas seales es el siguiente. 1. STBA: Entrada de pulso que almacena el dato en el puerto A. 2. IBFA (Input Buffer Full) : Salida que indica que el puerto A contiene un dato 3. INTRA : (Interrupt Request) : Salida de solicitud de interrupcin del puerto A. Un 1 en esta salida puede ser utilizado para interrumpir al microprocesador. Esta solicitud de interrupcin puede ser in/habilitada con el flip-flop INTEA interno al 82C55. Este flip-flop puede ser colocado en 1 0 con el bit PC4 mediante el byte de comando B para el caso del puerto A programado como entrada.
STBA
puerto A
IBFA

dato del dispositivo

BufferA lleno Solicitud de interrupcin

INTRA PC4 PC5 PC3 PC6,PC7


puerto B

STBA IBFA INTRA


2

RD PA0-PA7 dato dato almacenado en el puerto WR OBFB BufferB lleno dato ledo por el microprocesador

RD WR

al dispositivo

PC1 PC2 PC0

OBFB ACKB INTRB INTRB ACKB

82C55

PB0-PB7
dato enviado al puerto

dato ledo del puerto

Figura 15. Seales de dilogo

El dispositivo coloca un dato en sus lneas de salida y lo almacena en el puerto A al generar un pulso STBA si el buffer del puerto A est vaco. Este pulso activa las seales IBFA (buffer de entrada lleno) e INTRA (solicitud de interrupcin). Una vez que el microprocesador reconoce por medio del software (IBFA) o hardware (INTRA) que un dato est almacenado en el puerto A, lo lee enviando un pulso de lectura RD. Al leerse el dato del puerto A por el microprocesador, se resttituyen las seales IBFA e INTRA a
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

sus estados inactivos hasta que el siguiente dato sea escrito de nuevo en el puerto A por el dispositivo. Puerto de salida en modo 1. En este modo de operacin, el puerto funciona como un registro que almacena el dato enviado por el microprocesador por el bus de datos con el pulso WR. El significado de las seales asociadas al puerto B operando como salida en el modo 1 se describe a continuacin. 1. OBFB: (Output Buffer Full: Buffer lleno). Esta salida se coloca en 0 para indicar que hay un dato escrito o almacenado en el puerto. Regresa a 1 para indicar que el dato fue ledo del puerto por un dispositivo externo. 2. ACKB: (Acknowledge: Reconocimiento). Esta seal es una respuesta del dispositivo externo que indica que ha recibido el dato del puerto. Ocasiona que OBFB regrese a 1 para indicar que el puerto est vaco. Tambin ocasiona que INTRB regrese a 1 para solicitar una nueva interrupcin. 3. INTRB : (Interrupt request: solicitud de interrupcin). Seal utilizada normalmente para interrumpir al microprocesador. Puede ser inhabilitada colocando un 0 en INTEB. Esto ltimo puede ser efectuado colocando un 0 en el bit PC2 con el byte de comando B siempre que el puerto B sea programado como salida. Los bits del puerto C no utilizados por seales de dilogo quedan como lneas de entrada/salida de propsito general. En el ejemplo de la figura 15 seran los bits PC6 y PC7, los cuales quedan programados o como entrada o salida en dependencia de cmo se haya programado el puerto C del grupo A con el byte de comando A. Lectura del puerto C. Modo 1. En el modo 1 el puerto C genera o acepta seales de dilogo con el dispositivo perifrico como se ha visto. La lectura del contenido del puerto C permite al programador monitorear y comprobar el estado de cada dispositivo perifrico y en concordancia tomar la decisin requerida. En la figura 16a se muestra un resumen de las seales de dilogo en el modo 1 y en b se muestran los distintos bits cuando se efecta una lectura del puerto C. Seales en el modo 2. Solamente el grupo A se puede programar en el modo 2, convirtindose el puerto A en bidireccional. Esto permite la transmisin y recepcin de datos a travs de las mismas ocho lneas. Las seales de dilogo en este modo de operacin se muestran en la figura 17.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

Modo 1 entrada salida PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 INTRB IBFB STBB INTRA STBA IBFA E/S E/S INTRB E/S OBFB ACKB INTRA E/S E/S OBFA ACKA OBFA INTEA D7 D6 E/S D7 D6

Programacin como entrada D5 D4 D3 D2 IBFA INTEA INTRA INTEB

D1 IBFB

D0 INTRB

Grupo A Programacin como salida D5 D4 D3 D2 E/S E/S INTRA

Grupo B

D1 OBFB

D0 INTRB

INTEB

Grupo A

Grupo B

(a)

(b)

Figura 16. Bits del puerto C, (a) resumen modo 1 y (b) lectura del puerto C

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

PC3 PA0-PA7 PC7 RD PC6 WR

INTRA bus perifrico OBFA ACKA WR

dato del microprocesador al 82C55

OBFA INTRA

82C55
PC4 PC5 PC0-PC2 STBA IBFA E/S 3

ACKA STBA IBFA bus perifrico RD

INTR= INTE2.IBF.STB.RD + INTE1.OBF.ACK.WR dato del perifrico al 82C55 dato del 82C55 al perifrico dato del 82C55 al microprocesador

Observacin: cualquier secuencia donde WR ocurra antes que ACK, y STB ocurra antes que RD es permitida INTE1: INTE asociado con OBF: controlado por la accin de set o reset de PC6 INTE2: INTE asociado con IBF: controlado por la accin de set o reset de PC4

Figura 17. Seales en el modo 2

La entrada de RESET del 82C55 ocasiona que todos los puertos sean inicializados como puertos de entrada en el modo 0. Interface del 82C55 y el Conv A/D a los buses. En la figura 18 se ilustra la conexin del 82C55 y el convertidor A/D al sistema de buses del microprocesador 8085. Se han utilizado los bits A3 y A2 para seleccionar a estos 2 circuitos integrados. Observe que el decodificador queda habilitado con IO/M= 1. De acuerdo con la conexin efectuada las direcciones de los distintos puertos, el registro de comando del 82C55 y el Conv A/D sern como se muestra en la tabla 3.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

A3 A2 A1 A0

del bus de direcciones

RST 6.5 Reset Out IO/M WR RD D7 D6 D5 D4 D3 D2 D1 D0 Dec G B A CS


1/2 74LS139A

74LS04
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

bus de datos

RD WR

Y3 Y2 Y1 Y0 VIN (+)

A/D ADC0801

INTR

PA7.....PA0 PC7.....PC0PB7.....PB0

74LS04 del sensor de temperatura

CS Reset D7 D6 D5 D4 D3 D2 D1 D0
82C55

A1 A0 RD WR

Puerto A

Puerto C

Puerto B

Figura 18. Conexin de los puertos y el convertidor a los buses


Dispositivo Convertidor A/D Puerto A Puerto B Puerto C Registro de comando Direccin Binario Hexadecimal 00000000 00H 00000100 04H 00000101 05H 00000110 06H 00000111 07H

Tabla 3. Direcciones de los dispositivos En la figura 18 se pueden observar los siguientes aspectos: 1. A3A2 = 00 selecciona el convertidor y 01 selecciona el 82C55 2. Con A3A2 = 01, los bits A1A0 seleccionan los distintos elementos del 82C55

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

3. La seal IO/M = 1, habilita el decodificador, por lo que tanto el convertidor como los elementos del 82C55 se pueden acceder con las instrucciones IN o OUT del microprocesador 4. El convertidor solicita interrupcin por la lnea RST 6.5 del microprocesador. 5. Todos los puertos son inicialmente colocados como entradas en el modo 0 al ser reseteado el 82C55 con la seal Reset Out proveniente del microprocesador. Dispositivos perifricos. Adems del convertidor A/D, el sistema digital debe constar de un display de dos dgitos para colocar el valor de la temperatura leda , una alarma luminosa cuando la temperatura sobrepase un valor preestablecido y un teclado de 4 switches para fijar este valor. Por tanto, la conexin de estos elementos se ilustra en la figura 19. Todos los puertos deben estar configurados en el modo 0. El display est conectado a travs de decodificadores BCD/7 segmentos al puerto B el cual debe ser programado como un puerto de salida donde se almacenar el valor de la temperatura leda. La entrada RBI de las decenas est conectada a tierra para que el cero no se ilumine. El teclado de 4 switches tiene como misin establecer un valor de temperatura sobre el cual debe activarse la alarma. Este valor debe ser colocado en binario, as si se coloca el 0011, la alarma debe iluminarse si la temperatura es mayor de 30C, etc. Un switch cerrado coloca un 0 y abierto un 1. Los switches estn conectados a las lneas PA4-PA7 del puerto A el cual debe ser programado como entrada. El bit PC0 del puerto C es utilizado como seal para hacer iluminar la alarma. As, cuando este bit sea 1 hace conducir al diodo emisor de luz infraroja del aislador ptico cerrando al TRIAC NTE5641 e iluminndose la lmpara. Por tanto, el puerto C debe ser programado como un puerto de salida. El opto-aislador tiene como misin aislar elctricamente las seales dbiles de la alta corriente alterna de 60 HZ que circula por la lmpara de 40 vatios cuando sta se encuentre iluminada y de las lneas de alimentacin de 110 voltios. La resistencia de 33 ohmios en serie con el condensador de 0.01 microfaradios tiene como objetivo minimizar la interferencia de radiofrecuencias cuando se conmuta una alta corriente con el TRIAC NTE5641 como la de la lmpara.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

PA4 PA5 PA6 PA7 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 display

+5v.
DC B A LT RBO 74LS47A RBI c d e f g LT D C B A RBO 74LS47A RBI c d e f g 220 a b ohmios 4.7K

a b a b c d e f g

+5v.
4.7K

a b c d e f g

C NTE3050 nodo comn decenas +5V 74LS04 470 ohmios

C unidades NTE3050 nodo comn


MOC3020

switches alarma lmpara


220 40 vatios ohmios MT1 33 ohmios G

+5V

TRIAC NTE5641 MT2


0.01 microfaradios 200 voltios

Opto-aislador 74LS47A : decodificador BCD/7 segmentos

110v 60 Hz

Figura 19. Display, switches y alarma


Software El programa requerido debe inicializar los puertos del 82C55, ordenar el inicio de la conversin al convertidor analgico/digital y esperar a que ste produzca una solicitud de interrupcin por la lnea RST 6.5 para leer su dato digital de salida.

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

La lectura del dato se har en la rutina de servicio. Igualmente se hace una conversin de binario a BCD para llevar en este formato el dato al puerto B y alimentar los decodificadores BCD/7 segmentos. De forma similar se analiza el cdigo colocado en los switches para la toma de la decisin de iluminar la alarma. En la tabla 4 se muestra el programa. Programa para leer la temperatura de un lquido,actualizar alarma, visualizar la temperatura en un display y leer una temperatura establecida mediante switches CONV EQU 00H ; Direccin del convertidor PTOA EQU 04H ;Direccin del puerto A PTOB EQU 05H ;Direccin del puerto B PTOC EQU 06H ;Direccin del puerto C COMAN EQU 07H ;Direccin reg de comando 82C55 ORG 0000H 0000 C3 40 00 JMP INICIO ORG 0034H ;Direccin del salto por interrupcin 0034 C3 55 00 JMP SERV ORG 0040H ;Direccin de comienzo 0040 3E 90 INICIO : MVI A,90H ;Programa los puertos y se lleva 0042 D3 07 OUT COMAN ;al registro de comando del 82C55 0044 3E 00 MVI A,00H ;Para desactivar la alarma y 0046 D3 06 OUT PTOC ;se lleva al puerto C PC0=0 0048 31 FF 20 OTRA : LXI SP,20FFH ;Inicializa puntero de la pila en RAM 004B 3E 0D MVI A,0DH ;Para habilitar la lnea RST 6.5 y 004D 30 SIM ;se lleva al registro de mscaras 004E D3 00 OUT CONV ;Inicie conversin 0050 FB EI ;Habilita interrupcin 0051 00 LAZO : NOP ;Se queda esperando hasta que el 0052 C3 51 00 JMP LAZO ;convertidor A/D interrumpa ;Lectura del dato del convertidor analgico/digital cuando interrumpe al microprocesador 0055 DB 00 SERV: IN CONV ;Se lee el dato del convertidor 0057 CD 63 00 CALL DMRA ;Tiempo para prxima lectura 005A CD 73 00 CALL BIBCD ;Transforma dato binario en BCD 005D CD 91 00 CALL DSPLY ;Actualiza display y alarma 0060 C3 48 00 JMP OTRA ;Realizar siguiente lectura ;Subrutina de demora para producir un intervalo de tiempo adecuado entre lecturas 0063 F5 DMRA: PUSH PSW ;Guarda el dato en la pila 0064 3E FF MVI A,FFH 0066 06 FF EXT: MVI B,FFH ;Lazo exterior 0068 05 INT: DCR B ;Lazo interior 0069 00 NOP 006A C2 68 00 JNZ INT
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

006D 3D DCR A 006E C2 66 00 JNZ EXT 0071 F1 POP PSW ;Restituye el dato en el acumulador 0072 C9 RET ;Retorna ;Subrutina para efectuar la conversin de binario a BCD del dato del convertidor 0073 06 00 BIBCD: MVI B,00H ;Limpia registro B 0075 48 MOV C,B ;Limpia registro C 0076 D6 0A DIEZ: SUI 0AH ;Resta 10 dec al dato 0078 DA 7F 00 JC SUMA ;Si acarreo se hallaron las decenas 007B 04 INR B ;En B quedan las decenas 007C C3 76 00 JMP DIEZ 007F C6 0A SUMA: ADI 0AH ;La ltima resta no es vlida 0081 D6 01 UNO: SUI 01H ;Para colocar unidades en el reg C 0083 DA 8A 00 JC ACOM ;Si acarreo se hallaron las unidades 0086 0C INR C 0087 C3 81 00 JMP UNO 008A 78 ACOM: MOV A,B ;Las decenas al acumulador 008B 07 RLC ;Se reubica o acomoda en su sitio 008C 07 RLC 008D 07 RLC 008E 07 RLC 008F B1 ORA C ;Se colocan las unidades en A 0090 C9 RET ;A qued con el dato en BCD ;Subrutina para actualizar el display y activar alarma de acuerdo a la posicin de los Sw. 0091 D3 05 DSPLY: OUT PTOB ;Dato al display 0093 47 MOV B,A ;Se guarda el dato en el reg B 0094 DB 04 IN PTOA ;se lee la posicin de los switches 0096 E6 F0 ANI F0H ;Cero a los bits de menor orden 0098 B8 CMP B ;Compara switches con el dato 0099 DA A3 00 JC SET ;Si acarreo activar alarma 009C 3E 00 MVI A,00H ;Para desactivar la alarma 009E D3 06 OUT PTOC ;Se coloca PC0 en 0 00A0 C3 A7 00 JMP FIN 00A3 3E FF SET: MVI A,FFH 00A5 D3 06 OUT PTOC ;Se coloca PC0 en 1 00A7 C9 FIN: RET END Tabla 4. Programa Consideraciones finales El sistema digital descrito puede ser fcilmente utilizado en otras muchas aplicaciones pus constituye un pequeo microcomputador con puertos programables y 10 Kbytes de memoria, 8 Kbytes de EPROM y 2 Kbytes de RAM. El programa ilustrado en la tabla 4
D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

puede ser grabado en la EPROM con el programador universal del laboratorio de la universidad. Si el estudiante encuentra alguna dificultad en conseguir en el mercado de Cali el diodo de precisin LM4050, ste puede reemplazarse por un pequeo diodo zener de 3.9 voltios, vatio, (por ejemplo, el NTE5007A) aunque no se obtenga la misma exactitud en la medicin. Igualmente el ADC0801 puede ser reemplazado por el ADC0804, el cual tiene las mismas caractersticas diferencindose solamente en la precisin. El diseo anteriormente descrito ya ha sido montado y debidamente comprobado su funcionamiento con resultados completamente satisfactorios, por lo que no contiene el ms mnimo error, tanto en el hardware como en el software desarrollado. Bibliografa 1.- www.intel.com 2.- www.national.com 3.- www.ti.com 4.- Barry B. Brey, Los Microprocesadores Intel, 5 ed, Prentice-Hall, 2001 5.- Intel, Microsystem Components Handbook , Volmenes 1 y 2, 1985

D DE EP PA AR RT TA AM ME EN NT TO OD DE EL LA AB BO OR RA AT TO OR RIIO OS S G U I A S D E L A B O R A T O R I O D E S I S T E M A D I G I T A L B A S A D O E N M I C R O P R O C E S A D O GUIAS DE LABORATORIO DE SISTEMA DIGITAL BASADO EN MICROPROCESADOR R

You might also like