Microprocesador 8085a de Intel

15
MICROPROCESADOR 8085A DE 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. •Se presenta en encapsulado dual in line de 40 patillas 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 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 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 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 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 información por los buses de direcciones y datos. •Generador de impulsos de reloj incorporado.

Transcript of Microprocesador 8085a de Intel

Page 1: Microprocesador 8085a de Intel

MICROPROCESADOR 8085A DEMICROPROCESADOR 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.

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

Page 2: Microprocesador 8085a de Intel

Pata Nombre Descripción 

1 X1Entre estas dos patas se ubica el cristalEntre estas dos patas se ubica el cristal 

2 X2 

3 RESET OUT Para inicializar periféricos 

4 SOD Salida serie 

5 SID Entrada serie5 SID Entrada serie 

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ón8 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 multiplexado14 AD2 Bus de direcciones y datos multiplexado 

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 GNDReferencia de tierra. Todas las tensiones se miden con respecto a este punto. 

21 A8 Bus de direcciones 

22 A9 Bus de direcciones 

23 A10 B d di i

Pata Nombre Descripción 

23 A10 Bus de direcciones 

24 A11 Bus de direcciones 

25 A12 Bus de direcciones 

26 A13 Bus de direcciones 

27 A14 Bus de direcciones 

28 A15 Bus de direcciones 

29 S0 Bit de estado del 8085 

30 ALECuando 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/MSi vale 1: operaciones con ports, si vale 0: operaciones 

l i/

con la memoria 

35 READY Sirve para sincronizar memorias o periféricos lentos 

36 /RESET IN Cuando está a cero inicializa el 808536 /RESET IN Cuando está a cero inicializa el 8085 

37 CLK OUT Salida del reloj para los periféricos 

38 HLDA Reconocimiento de HOLD 

Sirve para poner los buses en alta impedancia para el39 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 

Page 3: Microprocesador 8085a de Intel

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)Necesidad de Alta Impedancia (Tri estado)

+Vcc

Dispositivo 1

+VccLínea de Bus de Datos “Mientras el dispositivo 1

+Vcc

Línea de Bus de Datos

“Transmite un 1”

¡PROBLEMA! +VccSOLUCIÓN

ptransmite el resto están enalta impedancia”

ALTA IMPEDANCIADatos

Dispositivo 2“Transmite un 0”

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

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.potencia de cálculo.•Es muy habitual la nomenclatura: D0, D1, D2,.. Y representar los valores en hexadecimal:

0011 1100 = (3D)hexa = (58)decimal•Son habituales las palabras:

NIBBLE = 4 bitsMSB = bit mas significativoLSB = bit menos significativo (D0)

BYTE = 8 bitsWORD = 16 bitsLONG WORD = 32 bits

Page 4: Microprocesador 8085a de Intel

BUS DE DIRECCIONES

•Selecciona el dispositivo desde donde vamos a leer o escribir (datos o instrucciones)•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í 64K 20 lí 1M 24 lí 16M 32 lí 4G16 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, , , j

11 líneas = 2K

0000

07FFROM

LIBRE

0000 0000 0000 0000

0000 0111 1111 1111

TOTA 64K

RAMF800

LIBRE

1111 1000 0000 0000

11 líneas = 2K

TOTAL = 64K(16 líneas)

FFFF

RAM1111 1111 1111 1111

BINARIOHEXADECIMAL

LSB = A0MSB = A15

LSB = A0

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•Algunas son bidireccionales y otras no.

•Una selección de lineas mas o menos generales podría ser:•Líneas de Reloj (CLK)j ( )•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 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 g p p glíneas (p.e. Parte de bus de batos y parte del bus dedirecciones). 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.

Page 5: Microprocesador 8085a de Intel

El 8085 tiene 8 registros direccionables de 8 bits. Seis de estosgregistros pueden utilizarse como registros de 8 bits o como registrosde 16 bits.1) El l d ( i A) l f d d l i d l1) El acumulador (registro A) es el foco de todas las operaciones delacumulador que incluyen instrucciones aritmeticas, logicas , de cargay almacenamiento y de E/S Es un registro de 8 bitsy almacenamiento y de E/S. Es un registro de 8 bits

. 2) Los registros ede proposito general BC, DE y HL pueden serutilizados como seis registros de 8 bits o como tres registros de 16bits dependiendo de la instruccion que se vaya a ejecutar . Como enl i d i l i t HL ll d t d d tel microprocesador generico, el registro HL llamado puntero de datospor intel puede ser apuntado a direcciones. Pocas instruccionesutilizan los registros BC yDE como punteros de direccion Ya queutilizan los registros BC yDE como punteros de direccion , Ya quenormalmente se utilizan como registros de datos de propositogeneral.

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 ar n determinado dato Normalmente debe ap ntar a ladebe salvar un determinado dato. Normalmente debe apuntar a la cima de la pila.3) El “Contador de Programa” o Program Counter (PC). Al poner en3) 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 programadel programa.

Page 6: Microprocesador 8085a de Intel

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

S Z X AC X P X C

siendo:C = Bit de acarreo (CARRY)

S Z X AC X P X C

P = Bit de paridad (PARITY)AC = Bit de acarreo auxiliar (AUX CARRY)Z = Bit cero (ZERO)S = Bit de signo (SIGN)S Bit de signo (SIGN)X = Bit indiferente.

•CARRY.- En este bit del registro de estados, aparecerá un 1 lógico cuando la últimaoperación realizada con el acumulador, desborde el contenido del mismo.PARITY E bi á 1 ló i d l ú d " " h l•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".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

ú iti tiun número positivo o negativo.

• Registro de máscara de interrupciones (I). Tiene dos aspectosg ( )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 deinterrupciones, mediante la instrucción RIM, se obtiene el siguienteformatoformato

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 deCuando 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

Page 7: Microprocesador 8085a de Intel

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 atendremos 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 interferenciasseñ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 elsistema. De esta forma se obtendrá una separación total entre el bus de datos (8 bits) y el bus de direcciones (16 bits).

Page 8: Microprocesador 8085a de Intel

Como sabemos el microprocesador 8085 dispone de una línea de“control” o “sincronización” denominada ALE por medio de la cualcontrol o sincronización denominada ALE, por medio de la cualsuministra un pulso de tensión de nivel lógico 1 cuando sepresenta la parte baja de una dirección en el bus AD0,...,AD7 ycuando aparece un dato la señal ALE pasa al estado lógico 0.

S i l i it d l t tidSon varios los circuitos que pueden emplearse para este cometido.Uno de los más comúnmente empleados es el 74LS373 cuyaconstitución y funcionamiento pueden encontrarse en diversosconstitución y funcionamiento pueden encontrarse en diversostextos. Nosotros estudiaremos el circuito integrado 8212, fabricadopor 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 salidaposee un latch con buffers de salida en tri estado También dispone de unaposee un latch con buffers de salida en tri‐estado. También dispone de unaserie de flip‐flop que utiliza para atender peticiones de servicio deinterrupciones. Con este componente podremos llevar a cabo variasf i ifé i d t d / lid d l i d S tfunciones periféricas y de entrada/salida del microprocesador. Se presenta enun encapsulado de 24 patillas

•Los datos de salida se borraran mediante la entrada depuesta a cero CLR.•GND. Terminal de conexión a masa, o tensión dereferencia.•Vcc. Terminal de alimentación (+5V).•STB. Es la entrada strobe o impulso de referencia setoma como clock para el latch de datostoma como clock para el latch de datos.•MD. Señal de control del estado del buffer de salida y quedetermina el origen de los impulsos de clock que llegan allatch 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•INT. Línea de salida para una interrupción. Nivel bajoactivo.

Page 9: Microprocesador 8085a de Intel

DECODIFICACIÓN DE DIRECCIONES

Debemos entender que la mayoría de loscomponentes que se emplean en los diseños conp q pmicroprocesadores, necesitan ser conectados a losbuses de datos y direcciones, por tanto deben poseer la

t í ti d iti d j t d d ltcaracterística de permitir dejar en estado de altaimpedancia las líneas que se conecten a dichos buses.De este modo podremos conectar varios componentes alDe este modo podremos conectar varios componentes almismo conjunto de líneas sin que se produzcaninterferencias entre ellos, ya que solamente permaneceráy q pactivo aquel que sea “seleccionado”, quedando el restoen estado de alta impedancia (tri-estado).

P t t l t b l d b tPor tanto los componentes sobre los que debe actuarel microprocesador, además de las líneas necesariaspara conectarse a los buses deben poseer algúnpara conectarse a los buses, deben poseer algúnterminal que permita al microprocesador “habilitarlo” paratrabajar con él o por el contrario, dejarlo fuera de servicio.j jEste terminal será el que realiza la selección delcomponente.

Page 10: Microprocesador 8085a de Intel

Las líneas de dirección más bajas, son las que normalmente seemplean para apuntar a un registro determinado o a una dirección dada ylas líneas de dirección más altas (A15 A14 A13 ) se llevan a laslas líneas de dirección más altas (A15, A14, A13, ...) se llevan a lasentradas de un circuito integrado “decodificador” que será el que con unade sus salidas, seleccione el componente que deseamos.

Existen varios decodificadores que pueden ser empleados para estetrabajo y que son de uso corriente. En nuestro caso será utilizado el74LS138 S t t d id d difi d d 3 8 lí d ló i74LS138. Se trata de un conocido decodificador de 3 a 8 líneas de lógicatransistor-transistor

•A0, A1 y A2 son las señales de entrada encódigo binario.O0 O7 son las líneas de salida con nivel•O0,..., O7 son las líneas de salida con nivel

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

En la Figura se puede apreciarse el modo en que se puede conectar eldecodificador al microprocesador 8085. Como vemos se emplean la línea dedirección más alta (A15) para atacar la entrada de control E3, mientras que lasentradas de datos binarias del decodificador (A0, A1, A2) son manejadas por lasdirecciones A12, A13 y A14 del microprocesador. De esta forma puede utilizarse ladirecciones A12, A13 y A14 del microprocesador. De esta forma puede utilizarse lalínea de dirección A15 también para seleccionar una memoria EPROM

Page 11: Microprocesador 8085a de Intel

LA MEMORIA.

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

•Patillas A0,... A10. Son el bus de direcciones.a as 0, 0 So e bus de d ecc o es•Patillas D0,... D7. Constituyen el bus de datos.•Patilla GND. Es el terminal de masa o tensión dereferencia.P till V E l t i l d li t ió (+5V)•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.

Page 12: Microprocesador 8085a de Intel

Para llevar a cabo la interconexión entre estamemoria y el microprocesador, debemos fijarnos

l d l Fi C den el esquema de la Figura. Como podemosapreciar, las conexiones a realizar son lassiguientes:•Las líneas de dirección A0, A1, A2, ..., A7 son, , , ,conectadas a las salidas DO0, DO1, DO2, ...,DO7 del 8212.•Las líneas de dirección A8, A9 y A10, se

t l lí di t A8 A9conectan a las líneas correspondientes A8, A9 yA10 del bus de direcciones del microprocesador.•Los terminales D0, D1, D2, ..., D7 de la memoriaRAM se conectan a las líneas AD0, AD1, AD2, ...,, , , ,AD7 del bus de datos del microprocesador,respectivamente.•El terminal GND será conectado a masa,mientras que Vcc se lleva a la alimentación demientras que Vcc se lleva a la alimentación de+5V.•La línea CS, de selección de chip, es conectadaa una de las salidas del decodificador dedirecciones 74LS138.•El terminal WE se conecta a la señal WR delmicroprocesador.•La patilla OE se conecta a la salida RD del•La patilla OE se conecta a la salida RD delmicroprocesador.

Memoria ROM: Se trata de una memoria de solo lectura y se empleal l d d t id i dpara almacenar los programas, dado que su contenido no se pierde

aún en ausencia de la tensión de alimentación. Este tipo de memoriadebe ser grabada por el fabricante, mientras que el usuario no tiene laposibilidad de variar su contenido.

•Memoria EPROM: Se trata de una memoria de solo lectura, que, qtambién puede ser programada por el usuario con el dispositivoprogramador adecuado. Sin embargo las EPROM tienen laparticularidad de disponer de una ventana de cuarzo que permite elparticularidad de disponer de una ventana de cuarzo que permite elpaso de los rayos de luz hasta la cápsula que contiene la memoria ensí. Si hacemos incidir radiaciones ultravioletas sobre dicha ventanaconseguimos eliminar la información existente en la memoriaconseguimos eliminar la información existente en la memoria,quedando la EPROM dispuesta para ser grabada de nuevo. Esteproceso puede repetirse en muchas ocasiones. Son más caras que las

t i t i l t t l t tiblanteriores y sus terminales no son totalmente compatibles.Nosotros emplearemos la EPROM 27256, que posee una capacidadde 32 Kbytes de memoria, es decir, 262144 bits

Page 13: Microprocesador 8085a de Intel

•Patillas A0 A14 Representan el bus de direcciones•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ónPatilla 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.q

Para llevar a cabo la interconexión entreesta EPROM y el microprocesador, notendremos más que conectar de formatendremos más que conectar de formaadecuada las líneas correspondientes delos buses de datos y direcciones, según semuestra en la Figura. Hay que destacarg y qque al disponer esta memoria de 15 líneasde direcciones, emplearemos las líneasA0,... A14 del microprocesador parap pdireccionar todas las posicionesdisponibles de la EPROM, efectuando laselección de chip con la línea dedirecciones A15 de forma directa yempleándola al mismo tiempo parabloquear el decodificador 74LS138.También debemos conectar la señal RDdel microprocesador a la entrada OE de lamemoria para efectuar la lectura de datos

Page 14: Microprocesador 8085a de Intel

DISEÑO DEL SISTEMA BÁSICO

Page 15: Microprocesador 8085a de Intel

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

EPROM 27256 Desde 0000H hasta 7FFFHRAM 6116-1 Desde 8000H hasta 87FFHRAM 6116-1 Desde 8000H hasta 87FFHRAM 6116-2 Desde 9000H hasta 97FFHRAM 6116-3 Desde A000h hasta A7FFH

Al i ti l t i l d l d difi dAl mismo tiempo, los terminales del decodificador74LS138 que quedan libres para añadir nuevos elementosal sistema responderán a las siguientes direcciones:al sistema, responderán a las siguientes direcciones:

CS3 B000HCS4 C000HCS5 D000HCS6 E000HCS7 F000HCS7 F000H