Вы находитесь на странице: 1из 15

MICROPROCESADOR 8085A DE INTEL. CARACTERÍSTICAS.

La representación esquemática de sus señales o líneas de conexión exterior, pueden apreciarse en la Figura.

de conexión exterior, pueden apreciarse en la Figura. •Se presenta en encapsulado dual in line de

•Se presenta en encapsulado dual in line de 40 patillas. •El bus de datos y la parte baja del bus de direcciones están multiplexados. •En total posee un bus de direcciones de 16 bits. •Direccionamiento de E/S para 256 elementos o puertos. •Un acumulador de 8 bits. Seis registros básicos de 8 bits cada uno de uso general. Estos registros pueden usarse como registros pares para el tratamiento de información de 16 bits. Dos registros de direcciones de 16 bits (SP y PC). •Un bloque de cinco señales de interrupción distintas con diferentes ordenes de prioridad. •Dos señales que permiten la transferencia de información en serie (SID y SOD). •Tensión de alimentación única de +5V. •Buffers para la salida y entrada de información por los buses de direcciones y datos. •Generador de impulsos de reloj incorporado.

Pata

Nombre

Descripción

 

1

X1

Entre estas dos patas se ubica el cristal

2

X2

3

RESET OUT

Para inicializar periféricos

4

SOD

Salida serie

5

SID

Entrada serie

6

TRAP

Entrada de interrupción no enmascarable

6 TRAP Entrada de interrupción no enmascarable

7

RST 7.5

Entrada de interrupción (máxima prioridad)

8

RST 6 . 5

Entrada de interrupción

9

RST 5.5

Entrada de interrupción

10

INTR

Entrada de interrupción (mínima prioridad)

11

/INTA

Reconocimiento de interrupción

12

AD0

Bus de direcciones y datos multiplexado

13

AD1

Bus de direcciones y datos multiplexado

14

AD2

Bus de direcciones y datos multi p lexado

15

AD3

Bus de direcciones y datos multiplexado

16

AD4

Bus de direcciones y datos multiplexado

17

AD5

Bus de direcciones y datos multiplexado

18

AD6

Bus de direcciones y datos multiplexado

19

AD7

Bus de direcciones y datos multiplexado

 

20

GND

Referencia de tierra. Todas las tensiones se miden con respecto a este punto.

Pata

Nombre

Descripción

21

A8

Bus de direcciones

22

A9

Bus de direcciones

23

A10

B us de direcc iones

24

A11

Bus de direcciones

25

A12

Bus de direcciones

26

A13

Bus de direcciones

27

A14

Bus de direcciones

27 A14 Bus de direcciones

28

A15

Bus de direcciones

29

S0

Bit de estado del 8085

30

ALE

Cuando está uno indica que salen direcciones por las patas ADn, en caso contrario, entran o salen datos

31

/WR

vale cero Cuando hay una escritura

32

/RD

vale cero Cuando hay una lectura

33

S1

Bit de estado del 8085

34

IO/ M

Si vale 1: operaciones con ports, si vale 0: operaciones con la memoria

35

READY

Sirve para sincronizar memorias o periféricos lentos

36

/RESET IN

Cuando está a cero inicializa el 8085

37

CLK OUT

Salida del reloj para los periféricos

38

HLDA

Reconocimiento de HOLD

39

HOLD

Sirve para poner los buses en alta impedancia para el manejo de DMA (acceso directo a memoria)

 

40

VCC

tensión de alimentación: +5Vdc

DESCRIPCIÓN FUNCIONAL DEL 8085A.

BUS DE DATOS

 

•Es el encargado de transmitir y recibir datos e instrucciones desde y hacia la memoria y unidades de E/S.

•Es BIDIRECCIONAL

•Todos los bloque estan conectados en paralelo y comparten todas las líneas del BUS

Necesidad de Alta Impedancia (Tri-estado)

Línea de

Bus de

Datos

¡PROBLEMA!
¡PROBLEMA!

+Vcc

Dispositivo 1 “Transmite un 1”

+Vcc

Dispositivo 2 “Transmite un 0”

Línea de

Bus de

+Vcc Dispositivo 2 “Transmite un 0” Línea de Bus de +Vcc Datos SOLUCIÓN “Mientras el dis

+Vcc

Datos SOLUCIÓN
Datos
SOLUCIÓN

“Mientras el dispositivo 1 transmite el resto están en alta impedancia”

+Vcc

ALTA IMPEDANCIA

•El número de líneas define el tipo de µP:

8 lineas CPU de 8 bits, 16 líneas CPU de 16 bits, 32 líneas CPU de 32 bits, 64 líneas CPU de 64 bits •De alguna forma el número de lineas determina el número de instrucciones del procesador y su potencia de cálculo.

•Es muy habitual la nomenclatura: D0, D1, D2, 0011 1100 = (3D)hexa = (58)decimal •Son habituales las palabras:

NIBBLE = 4 bits BYTE = 8 bits WORD = 16 bits LONG WORD = 32 bits

Y representar los valores en hexadecimal:

MSB = bit mas significativo LSB = bit menos significativo (D0)

BUS DE DIRECCIONES

Selecciona el dispositivo desde donde vamos a leer o escribir (datos o instrucciones)

•Es unidireccional

•El número de líneas define la cantidad de memoria que se puede direccionar directamente (también los periféricos).

16 líneas = 64K

20 líneas = 1M

24 líneas = 16M

32 líneas = 4G

•Se conoce como MAPA DE MEMORIA y MAPA DE E/S el lugar donde están cada uno de los datos y periféricos.

•Se utiliza la nomenclatura A0, A1, A2, etc. Es habitual trabajar en hexadecimal

11 líneas = 2K

0000 0000 0000 0000 0000 ROM 07FF 0000 0111 1111 1111 TOTAL = 64K (16
0000
0000
0000
0000
0000
ROM
07FF
0000
0111
1111
1111
TOTAL = 64K
(16 líneas)
LIBRE
11
líneas = 2K
F800
1111
1000
0000
0000
RAM
1111
1111
1111
1111
FFFF
HEXADECIMAL
BINARIO
LSB = A0

MSB = A15

BUS DE CONTROL

•Aquí es donde existe menos generalidad, cada CPU tiene sus líneas de control características.

•Algunas son bidireccionales y otras no.

•Una selección de lineas mas o menos generales podría ser:

•Líneas de Reloj (CLK) •Líneas de control de la memoría y/o E/S (R/W, MEMRQ, IORQ) •Líneas de interrupciones, enmascarables y no enmascarables (INT, NMI) •Línea de inicialización (RESET) •Líneas de acceso directo a memoria (DMA, MEMRQ, MEMACK) •Líneas de parada (HLT)

•Algunas CPU´s con el fin de minimizar el número de patillas, multiplexan algunas líneas (p.e. Parte de bus de batos y parte del bus de direcciones). En este caso es necesaria una señal de control específica, que indica lo que hay presente en la línea en cada momento.

•Recordar que las líneas que se llevan a muchos dispositivos deben respetar el tema del FAN-OUT. Siendo habitual la presencia de DRIVER`s (o BUFFERS), que deberán se unidireccional o bidireccional según el caso.

El 8085 tiene 8 registros direccionables de 8 bits. Seis de estos registros pueden utilizarse como registros de 8 bits o como registros de 16 bits. 1 ) El acumu l a dor (regi stro A) es el foco de todas l as operaci ones d el acumulador que incluyen instrucciones aritmeticas, logicas , de carga y almacenamiento y de E/S . Es un registro de 8 bits

. 2) Los registros ede proposito general BC, DE y HL pueden ser utilizados como seis registros de 8 bits o como tres registros de 16 bits dependiendo de la instruccion que se vaya a ejecutar . Como en el m icroprocesa d or generi co, el regi st ro HL ll ama do puntero d e d atos por intel puede ser apuntado a direcciones. Pocas instrucciones utilizan los registros BC yDE como punteros de direccion , Ya q ue normalmente se utilizan como registros de datos de proposito general.

2) El “Puntero de Pila” o Stack Pointer (SP) que es un registro de 16 bits y se usa para direccionar por programa la parte de la pila en la que se debe guardar una determinada dirección o en la que se debe sal var u n determinado dato . Normalmente debe apuntar a la cima de la pila. 3) El Contador de Programa” o Program Counter (PC). Al poner en funcionamiento el sistema arranca de la posición inicial 0000H y se va incrementando secuencialmente a la velocidad marcada por el cristal de cuarzo del sistema. La secuencia del contador de programa puede ser alterada mediante determinadas instrucciones del programa.

•Registro de Estados (FLAGS), tiene 8 bits y nos indica en cada momento cual es el estado del acumulador después de haber realizado la última operación. El formato de este registro es como sigue:

S

Z

X

AC

X

P

X

C

siendo:

C

=

Bit de acarreo (CARRY)

P

=

Bit de paridad (PARITY)

AC

=

Bit de acarreo auxiliar (AUX CARRY)

Z

=

Bit cero (ZERO)

S

=

Bit de signo (SIGN)

= •CARRY.- En este bit del registro de estados, aparecerá un 1 lógico cuando la última operación realizada con el acumulador, desborde el contenido del mismo. •PARITY.- En este bit aparecerá un 1 lógico cuando el número de "unos" que hay en el acumulador sea par. Si es impar aparecerá un 0 lógico. •AUX CARRY.- Aquí aparece un 1 lógico cuando hay acarreo en el cuarto bit del acumulador. Este bit se usa generalmente para ejecutar instrucciones de "ajuste decimal". •ZERO.- En este bit aparece un 1 lógico cuando el contenido del acumulador es 0000 0000. En caso contrario aparece un 0 lógico. •SIGN.- Este es el bit del signo que nos indica, cuándo el dato que hay en el acumulador es un número positivo o negativo.

X

Bit indiferente.

• Registro de máscara de interrupciones (I). Tiene dos aspectos

diferentes según sea leído (mediante una instrucción RIM) o escrito (mediante una instrucción SIM).

Cuando procedemos a una lectura del registro de máscara de interrupciones, mediante la instrucción RIM, se obtiene el siguiente formato

SID

I7.5

I6.5

I5.5

IE

M7.5

M6.5

M5.5

Cuando se procede a escribir en el registro de máscara de

interrupciones, mediante la instrucción SIM, el formato a considerar es ahora.

SOD

SOE

X

R7.5

MSE

M7.5

M6.5

M5.5

TRATAMIENTO DE LOS BUSES

Las principales características que presenta el microprocesador 8085 es poseer un bus de datos (de 8 líneas) multiplexado con la parte baja del bus de direcciones.

Este multiplexado quiere decir que en un instante determinado tendremos en las 8 líneas del bus la información perteneciente a una dirección y un instante más tarde tendremos en esas mismas líneas la información perteneciente a un dato.

Corresponde por tanto a la circuitería externa, separar estas señales de modo apropiado, tal que no se produzcan interferencias por informaciones erróneas en el resto de los componentes del sistema. De esta forma se obtendrá una separación total entre el bus de datos (8 bits) y el bus de direcciones (16 bits).

Como sabemos el microprocesador 8085 dispone de una línea de “control ” o “sincronización ” denominada ALE, p or medio de la cual suministra un pulso de tensión de nivel lógico 1 cuando se

y

presenta la parte baja de una dirección en el bus AD0, cuando aparece un dato la señal ALE pasa al estado lógico 0.

,AD7

S on vari os los ci rcuitos que pue d en emp l earse para este cometid o. Uno de los más comúnmente empleados es el 74LS373 cuya constitución y funcionamiento pueden encontrarse en diversos textos. Nosotros estudiaremos el circuito integrado 8212, fabricado por INTEL y que desarrolla esta función de forma adecuada.

En realidad el 8212 es un puerto de E/S de 8 bits en paralelo. A su salida posee un latch con buffers de salida en triestado. También dispone de una serie de flip flop que utiliza para atender peticiones de servicio de interrupciones. Con este componente podremos llevar a cabo varias f unc iones per ifé r i cas y d e ent ra d a /sa lid a d e l mi croprocesa d or. S e presenta en un encapsulado de 24 patillas

d or. S e presenta en un encapsulado de 24 patillas •Los datos de salida se

•Los datos de salida se borraran mediante la entrada de puesta a cero CLR. •GND. Terminal de conexión a masa, o tensión de referencia. •Vcc. Terminal de alimentación (+5V). •STB. Es la entrada strobe o impulso de referencia se toma como clock para el latch de datos. •MD. Señal de control del estado del buffer de salida y que determina el origen de los impulsos de clock que llegan al latch de datos. •DS1 y DS2. Son dos entradas de selección de dispositivo. Con DS1=0 y DS2=1 el componente estará seleccionado. CLR. Pone a cero el latch de datos. Nivel bajo activo INT. Línea de salida para una interrupción. Nivel bajo activo.

DECODIFICACIÓN DE DIRECCIONES

Debemos entender que la mayoría de los componentes que se emplean en los diseños con microprocesadores, necesitan ser conectados a los buses de datos y direcciones, por tanto deben poseer la característica de permitir dejar en estado de alta impedancia las líneas que se conecten a dichos buses. De este modo podremos conectar varios componentes al mismo conjunto de líneas sin que se produzcan interferencias entre ellos, ya que solamente permanecerá activo aquel que sea “seleccionado”, quedando el resto en estado de alta impedancia (tri-estado). Por tanto los componentes sobre los que debe actuar el microprocesador, además de las líneas necesarias para conectarse a los buses, deben poseer algún terminal que permita al microprocesador “habilitarlo” para trabajar con él o por el contrario, dejarlo fuera de servicio. Este terminal será el que realiza la selección del componente.

Las líneas de dirección más bajas, son las que normalmente se

emplean para apuntar a un registro determinado o a una dirección dada y

las líneas de dirección más altas (A15, A14, A13,

entradas de un circuito integrado “decodificador” que será el que con una de sus salidas, seleccione el componente que deseamos.

) se llevan a las

Existen varios decodificadores que pueden ser empleados para este trabajo y que son de uso corriente. En nuestro caso será utilizado el 74LS138. Se trata de un conocido decodificador de 3 a 8 neas de gica transistor-transistor

de 3 a 8 lí neas de ló gica transistor-transistor •A0, A1 y A2 son las
de 3 a 8 lí neas de ló gica transistor-transistor •A0, A1 y A2 son las

•A0, A1 y A2 son las señales de entrada en código binario.

, bajo activo. •GND es el terminal de masa o tensión de referencia. •Vcc es la patilla de alimentación (+5V). •E3 es una señal de habilitación activa a nivel alto. •E1 y E2 son señales de habilitación activas a nivel bajo.

O7 son las líneas de salida con nivel

O0,

En la Figura se puede apreciarse el modo en que se puede conectar el decodificador al microprocesador 8085. Como vemos se emplean la línea de dirección más alta (A15) para atacar la entrada de control E3, mientras que las entradas de datos binarias del decodificador (A0, A1, A2) son manejadas por las direcciones A 12 , A 13 y A 14 del microprocesador. De esta forma puede utilizarse la línea de dirección A15 también para seleccionar una memoria EPROM

De esta forma puede utilizarse la línea de dirección A15 también para seleccionar una memoria EPROM

LA MEMORIA.

La memoria RAM 6116, que se presenta en un encapsulado de 24 patillas y podemos ver representada en la Figura. Se trata de una memoria fabricada con tecnología "CMOS" de bajo consumo con una capacidad de 16384 bits, es decir, 2 Kbytes para lectura/escritura.

de 16384 bits, es decir, 2 Kbytes para lectura/escritura. •Patillas A0, A10. So n el bus

•Patillas A0,

A10. Son el bus de direcciones.

•Patillas D0,

D7. Constituyen el bus de datos.

•Patilla GND. Es el terminal de masa o tensión de referencia. •Patilla Vcc. Es el terminal de alimentación (+5V). •Patilla CS. Entrada de selección de componente. •Patilla OE. Entrada de lectura. •Patilla WE. Entrada de escritura.

Para llevar a cabo la interconexión entre esta memoria y el microprocesador, debemos fijarnos en

Para llevar a cabo la interconexión entre esta memoria y el microprocesador, debemos fijarnos en el esquema de la Figura. Como podemos apreciar, las conexiones a realizar son las siguientes:

•Las líneas de dirección A0, A1, A2,

conectadas a las salidas DO0, DO1, DO2, DO7 del 8212.

•Las líneas de dirección A8, A9 y A10, se conectan a las líneas correspondientes A8, A9 y A10 del bus de direcciones del microprocesador.

•Los terminales D0, D1, D2,

, AD7 del bus de datos del microprocesador, respectivamente. •El terminal GND será conectado a masa, mientras que Vcc se lleva a la alimentación de

+5V.

•La línea CS, de selección de chip, es conectada a una de las salidas del decodificador de direcciones 74LS138. •El terminal WE se conecta a la señal WR del microprocesador. •La patilla OE se conecta a la salida RD del microprocesador.

RAM se conectan a las líneas AD0, AD1, AD2,

, D7 de la memoria

,

, A7 son

Memoria ROM: Se trata de una memoria de solo lectura y se emplea para almacenar los programas, dado que su contenido no se pierde aún en ausencia de la tensión de alimentación. Este tipo de memoria debe ser grabada por el fabricante, mientras que el usuario no tiene la posibilidad de variar su contenido.

•Memoria EPROM: Se trata de una memoria de solo lectura, que también puede ser programada por el usuario con el dispositivo programador adecuado. Sin embargo las EPROM tienen la particularidad de disponer de una ventana de cuarzo que permite el paso de los rayos de luz hasta la cápsula que contiene la memoria en sí. Si hacemos incidir radiaciones ultravioletas sobre dicha ventana conseguimos eliminar la información existente en la memoria, quedando la EPROM dispuesta para ser grabada de nuevo. Este proceso puede repetirse en muchas ocasiones. Son más caras que las anteriores y sus terminales no son totalmente compatibles. Nosotros emplearemos la EPROM 27256, que posee una capacidad de 32 Kbytes de memoria, es decir, 262144 bits

• Patillas A0, A 14 . Representan el bus de direcciones . •Patillas D0, D7.

Patillas A0,

A14. Representan el bus de direcciones.

•Patillas D0,

D7. Representan el bus de datos.

•Patilla GND. Representa la tensión de referencia o masa. Patilla Vcc. Tensión de alimentación. •Patilla Vpp. Entrada de programación. •Patilla CS. Terminal de selección de chip. •Patilla OE. Terminal que habilita las salidas.

chip. •Patilla OE . Terminal q ue habilita las salidas. Para llevar a cabo la interconexión

Para llevar a cabo la interconexión entre esta EPROM y el microprocesador, no tendremos más que conectar de forma adecuada las líneas correspondientes de

los buses de datos y direcciones, según se muestra en la Figura. Hay que destacar que al disponer esta memoria de 15 líneas de direcciones, emplearemos las líneas

A14 del microprocesador para

direccionar todas las posiciones disponibles de la EPROM, efectuando la selección de chip con la línea de direcciones A15 de forma directa y empleándola al mismo tiempo para bloquear el decodificador 74LS138. También debemos conectar la señal RD del microprocesador a la entrada OE de la memoria para efectuar la lectura de datos

A0,

DISEÑO DEL SISTEMA BÁSICO

DISEÑO DEL SISTEMA BÁSICO

apoyándonos en los valores que adquieren las entradas A0, A1, A2 y E3 del decodificador, se tendrá la siguiente distribución de direcciones:

EPROM 27256 Desde 0000H hasta 7FFFH

RAM 6116-1

Desde 8000H hasta 87FFH

RAM 6116-2

Desde 9000H hasta 97FFH

RAM

6116-3

Desde A000h hasta A7FFH

Al mismo tiempo, los terminales del decodificador

74LS138 que quedan libres para añadir nuevos elementos al sistema, responderán a las si uientes direcciones:

CS3

B000H

CS4

C000H

CS5

D000H

CS6

E000H

CS7

F000H