Issuu on Google+

INTEL Microprocesador 8085

CURSO PRÁCTICO sobre el Microprocesador 8085 de INTEL: El microprocesador. Integración a gran escala. Estructura de un microprocesador. El microprocesador 8085 de INTEL. Descripción física del 8085. Descripción funcional del 8085. Ejercicios.


http://micros.myblog.es/ http://issuu.com/microprocesadores/ © 2009 Celestino Benítez Vázquez Queda prohibida la reproducción total o parcial de cualquier contenido de esta publicación sin el consentimiento expreso de su autor.


Este es el primero de una serie de capítulos dedicados al estudio de los microprocesadores y en particular del microprocesador 8085A de INTEL. Espero que resulte de interés para quienes se sientan estimulados por el mundo de la electrónica y de la programación de sistemas de control automático.

Este curso que hoy iniciamos no es más que una gota en el mar de la información que podemos encontrar en librerías, bibliotecas, empresas especializadas y en la propia red.


1. EL MICROPROCESADOR En muchos textos que tratan el tema de los microprocesadores se ha escrito sobre las características técnicas y funcionales de este tipo de dispositivos. No se pretende aquí realizar una exposición exhaustiva de dichas características, para lo cual sería más oportuno acudir a los manuales del fabricante, sino más bien llevar a cabo un estudio paulatino del microprocesador 8085A, y de una serie de dispositivos asociados (memorias, periféricos, etc.) que lleve al lector a asimilar sus estructuras básicas y modos de funcionamiento, de manera que adquiera la base suficiente para poder llevar a cabo un diseño con dichos componentes. A lo largo del desarrollo de este tema, además de realizar una breve introducción a los microprocesadores y su constitución básica general, pasaremos al estudio concreto del microprocesador 8085A de INTEL, del que abordaremos tanto su constitución física como su estructura funcional. Estos dos aspectos, nos harán tener una idea clara y transparente sobre dicho microprocesador. Debido a una serie de características y particularidades (entre las que destaca el bloque de interrupciones disponible), el microprocesador 8085A, es considerado como el más potente dentro de la gama de microprocesadores de 8 bits, siendo empleado en numerosas aplicaciones industriales.

1.1 LA INTEGRACIÓN A GRAN ESCALA. Podemos considerar que los primeros utensilios y equipos empleados para efectuar operaciones de cálculo fueron los ábacos orientales, siendo aproximadamente en el siglo XVII cuando se construyeron las primeras máquinas calculadoras mecánicas. Posteriormente se pasó al empleo de elementos electromecánicos, significando esto un gran avance en dicho campo. En 1941 comienzan a construirse computadoras digitales basadas en el sistema binario de numeración basándose en relés, y en un paso posterior se consigue la primer computadora basada en miles de válvulas a la que se denominó ENIAC y que ha supuesto un paso decisivo y definitivo en el desarrollo tecnológico industrial. A partir de la aparición de los materiales semiconductores (fundamentalmente el silicio) se produce un crecimiento imparable en la industria y fundamentalmente en el sector de la electrónica. Los semiconductores son materiales que no pueden considerarse ni buenos ni malos conductores, presentando unos valores de resistividad comprendidos entre los de los buenos conductores y los de los aislantes. La resistividad de estos elementos es alterada añadiéndoles otros materiales, denominados impurezas que aumentan la conductividad de los cristales, obteniendo de este modo los semiconductores extrínsecos. Dependiendo del tipo de impurezas añadido, se obtendrán cristales tipo N o cristales tipo P. Cuando se doparon los cristales de forma controlada con impurezas de ambos tipos aparecieron las junturas PN o diodos. Fue posteriormente, al conseguir dos junturas, formando uniones PNP o NPN, cuando aparece el transistor y


es en este momento cuando se produce un verdadero desarrollo y gran expansión de la electrónica en general. Con el perfeccionamiento de la tecnología se consigue colocar o integrar en muy poco espacio, hasta varias decenas de transistores. Estamos ante la aparición de los primeros circuitos integrados trabajándose a muy baja escala de integración (SSI). Posteriormente se consigue almacenar en una misma pastilla varios miles de elementos integrados, obteniendo de este modo componentes más complejos que se enmarcan dentro de la media escala de integración (MSI). Hacia 1976 con la mejora de la tecnología se consigue implementar en un solo chip varios miles de componentes, apareciendo en ese momento la alta escala de integración (LSI). A partir de 1980 se trabaja con la muy alta escala de integración (VLSI) que permite incorporar una cantidad muy elevada de componentes en un solo circuito integrado.

La LSI provocó la aparición del primer microprocesador, el 4004 de INTEL. Se trata de un microprocesador de 4 bits que hoy en día esta totalmente en desuso. Con posterioridad al 4004, aparecen los microprocesadores 8008 y 8080 de INTEL, se trata ahora de componentes LSI de 8 bits. Este último microprocesador posee


múltiples ventajas sobre los anteriores por lo que adquirirá mayor importancia. Sin embargo para su correcto funcionamiento necesita de algunos componentes auxiliares como son: un generador de impulsos de reloj, un controlador de buses del sistema y además emplea tres tensiones de alimentación (+12V, +5V, y –5V). La casa INTEL presenta en 1977 el nuevo microprocesador 8085, que posee una arquitectura interna similar a la del 8080, con la diferencia de que ahora se añade en la misma pastilla el generador de impulsos de reloj, el controlador de buses y además solo se necesita una tensión de alimentación de +5V. Dispone también de cuatro nuevas entradas de interrupción y dos líneas para entrada/salida de información en serie. El bus de direcciones y el bus de datos están multiplexados y en el juego de instrucciones aparecen algunas novedades (que veremos más adelante) respecto al juego de instrucciones del 8080. Gracias a todas estas novedades incorporadas, el microprocesador adquiere gran relevancia y potencialidad frente a sus competidores de igual categoría. Puede decirse que un microprocesador es un componente que contiene en una sola pastilla los componentes necesarios para desarrollar funciones aritméticas, lógicas y de control. Por tanto es una pequeña Unidad Central de Proceso (CPU) en una pastilla.

1.2 ESTRUCTURA DE UN MICROPROCESADOR En la actualidad los microprocesadores están entrando en muchos campos de la electrónica tradicional, debido a una serie de ventajas como pueden ser: la necesidad de emplear menos componentes, que lleva aparejado un menor volumen, menor consumo, menos conexiones y mayor fiabilidad; y la posibilidad de programar el sistema que aporta gran facilidad para simplificar diseños y minimizar los tiempos de desarrollo. La programación proporciona además la posibilidad de emplear un mismo sistema para la realización de tareas muy diversas. En general, los fabricantes han mantenido líneas generales de diseño bastante similares, por tanto la mayoría de los microprocesadores tienen la misma arquitectura básica o estándar. Puede asumirse como tal la representada en la FIG.12A. En esta representación esquemática podemos apreciar que el microprocesador posee una serie de “bloques internos” que se comunican entre sí y con el exterior a través de unos conjuntos de líneas denominados “buses” que sirven para transmitir señales y datos entre los distintos componentes. Puede apreciarse con claridad la diferencia entre los buses internos, empleados por el microprocesador para realizar sus operaciones internas y los buses externos, utilizados para comunicarse con el exterior, es decir con componentes que están situados fuera del propio microprocesador. En general podemos decir que hay tres tipos de buses distintos: •

Bus de “direcciones” que se crea en los registros de direccionamiento de 16 bits y se comunica con el exterior mediante un conjunto de 16 líneas (líneas de direcciones)


normalmente enumeradas de A0 hasta A15. Por este bus, las direcciones salen siempre hacia el exterior. Bus de “datos” que se genera en el interior del microprocesador y lo utiliza para intercambiar información entre sus distintos bloques internos y para comunicarse con el exterior. Son un conjunto de 8 bits que utilizan 8 líneas de conexión al exterior, normalmente denominadas D0 a D7. Por este bus sale y entra información, por tanto se trata de un bus bidireccional. Bus de “control” compuesto por una serie de líneas, variable en número según el componente de que se trate. Contiene las líneas de sincronización de funciones, pudiendo ser unas de salida y otras de entrada al microprocesador. Algunas señales de control pueden ser por ejemplo, las de lectura, escritura, reloj o clock, etc.

BUS DATOS INTERNO

ACUMULADOR REGISTROS INTERNOS DE 8 BITS

ALU

BUS DATOS EXTERNO

CONTROL

REGISTROS INTERNOS DE 16 BITS

BUS DE DIRECCIONES INTERNO

BUS DIRECCIONES EXTERNO

REGISTRO DE FLAGS

BUS DE CONTROL

FIG.12A

El bloque fundamental del microprocesador es el llamado ALU, representa la parte del microprocesador que realiza las operaciones aritméticas y lógicas. Para llevar a cabo este proceso emplean normalmente un registro especial denominado “Acumulador” donde almacenan el resultado de las operaciones realizadas. Algunos microprocesadores poseen más de un acumulador. Para completar las indicaciones necesarias tras la ejecución de las instrucciones, el microprocesador emplea además un registro especial de 8 bits denominado “Registro de Estado” o “Registro de Flags” que marcarán distintas características y peculiaridades de las operaciones desarrolladas. Posteriormente veremos con más detalle este Registro de Flags. En la FIG.12A puede verse también un bloque denominado “Control” que sirve para sincronizar el funcionamiento de todo el sistema. Genera señales de sincronismo para la ALU, memorias y dispositivos de E/S. Las unidades de control generalmente


están constituidas basándose en microprogramación (programación interna no accesible al usuario) y se encargan de descifrar y ejecutar las instrucciones del programa que nosotros construyamos.

Puede verse además un bloque compuesto por “Registros Internos de 8 bits”, se trata en este caso de una serie de registros (variable según el microprocesador de que se trate) de uso general que emplea la ALU para manipular datos. Estos registros normalmente almacenan palabras de 8 bits y en ocasiones pueden ser utilizados como registros pares (de dos en dos) almacenando palabras o informaciones de 16 bits. Finalmente, decir que en la estructura estándar que se está tratando debe haber también un bloque de “Registros Internos de 16 bits” que también son llamados registros de direccionamiento. Están conectados al bus de direcciones y suele haber dos registros de este tipo que son: •

El “Puntero de Pila”, denominado abreviadamente SP, es indispensable durante el desarrollo de programas tanto para trabajar con interrupciones como para el


tratamiento de subrutinas. El contenido del SP señalará en todo momento a la cima de la pila. (La pila estará constituida por un bloque de memoria RAM, donde se almacenarán de forma temporal los datos. Hablaremos de ella con posterioridad). El “Contador de Programa”, denominado abreviadamente PC, es imprescindible en todos los microprocesadores. Contiene la dirección de la siguiente instrucción que deba ejecutarse y su contenido se va incrementando a medida que las instrucciones van siendo ejecutadas. De todas formas el contenido del PC puede alterarse por programa cuando se desee o cuando se necesite como posteriormente se verá, alterando de este modo la ejecución secuencial de las instrucciones.

1.3 MICROPROCESDOR 8085A DE INTEL. Tras habernos iniciado a los microprocesadores en el punto anterior de una forma generalista, pasamos ahora a iniciar el estudio del microprocesador 8085A. La representación esquemática de sus señales o líneas de conexión exterior, pueden apreciarse en la FIG.13A, indicándose en dicha figura el sentido de acción de todas las señales que vendrá marcado por el sentido de las flechas que las representan. Por ejemplo podemos ver que la señal ALE es generada por el microprocesador y sale hacia el exterior; del mismo modo la señal SID será una señal que procedente del exterior entrará en el microprocesador para ser tratada. +5V

GND

X1 X2 CLK OUT

BUS DE DIRECCIONES BUS DE DATOS/DIREC

SID SOD

8085

RESET IN READY

TRAP RST 7.5 RST 6.5 RTS 5.5 INTR

HLDA HOLD S0 S1 IO/M ALE RD WR INTA RESET OUT

FIG.13A

Es importante detenerse unos instantes en la observación de esta figura y estudiar superficialmente todas las líneas que posee. Debe decirse que las señales marcadas con letra en negrita son activas con nivel lógico 0, por ejemplo la señal RD (lectura). Como características más importantes en el 8085 pueden destacarse: • •

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.

En los manuales o folletos proporcionados por los fabricantes se especifican con mucho más detalle y minuciosidad, las características y propiedades del microprocesador, incluyendo además los diagramas de tiempo correspondientes a la ejecución de las instrucciones en función de la frecuencia del cuarzo colocado en las líneas X1 y X2.


1.4 DESCRIPCIÓN FÍSICA DEL 8085A. Como se ha mencionado anteriormente, este microprocesador se presenta en un encapsulado de 40 patillas cuya distribución puede verse en la FIG.14A. A continuación se da una descripción de la función de cada una de las patillas:

• • •

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

40 39

Voo HOLD HLDA CLK OUT RESET IN READY IO/M S1 RD WR ALE S0

Patillas 1 y 2 (X1 y X2): Permiten la generación de las señales de reloj, mediante la utilización de un cristal de cuarzo, según se verá posteriormente. Patilla 3 (RESET OUT): Señal de salida. Cuando en ella tenemos un 1, quiere decir que el microprocesador queda reinicializado. Esta señal es generada por el propio microprocesador. Patilla 4 (SOD): Salida serie. Se activa mediante la instrucción SIM. Patilla 5 (SID): Entrada serie. El dato queda cargado en el bit 7 del Acumulador cuando se ejecuta la instrucción RIM. Patilla 6 (TRAP): Interrupción. Cuando se activa esta patilla bien por flanco o por nivel lógico 1, el microprocesador finaliza la instrucción que estaba ejecutando y salta a una subrutina enganchando en la dirección de memoria 0024H. Al hacer este salto, lleva el contenido del Contador de Programa a la pila, al objeto de que cuando termine la subrutina, mediante una instrucción RET, vuelva a tomar el curso normal de su trabajo al recargar el Contador de Programa con el contenido de la pila. Esta es la interrupción de más alta prioridad.

A15 A14 A13 A12 A11 A10 A9 A8

15 16 17 18 19 20 AD4 AD5 AD6 AD7 GND

3 4 5 6 7 8 9 10 11 12 13 14

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

1 2

MICROPROCESADOR 8085

FIG.14A

• • •

Patilla 7 (RST 7.5): Interrupción. Es enmascarable por programa. Para conseguir esto, es necesario que se haya ejecutado la instrucción EI con posterioridad a DI y a continuación enmascararla (o no),colocando un 0 en el bit adecuado mediante la instrucción SIM. Esta interrupción se activa por flanco y nos permite enganchar en la dirección 003CH. Patilla 8 (RST 6.5): Se activa por nivel 1 lógico, que debe mantenerse hasta que la petición de interrupción sea atendida. Es enmascarable por programa (Idem a la anterior). Permite enganchar en la dirección 0034H. Patilla 9 (RST 5.5): Se activa por nivel 1 lógico, que debe mantenerse hasta que la petición de interrupción sea atendida. Es enmascarable por programa (Idem a la anterior). Permite enganchar en la dirección 002CH. Patilla 10 (INTR): Interrupción. Cuando en esta patilla introducimos un 1 lógico, el


• •

• • • • • • • • • • • • •

contador de programa no se incrementa y el 8085 busca una instrucción que entra a la CPU por el bus de datos mediante hardware externo y activa INTA que es la señal de reconocimiento. Se puede entonces presentar el código de operación de una instrucción RST o CALL para realizar el subprograma de tratamiento de la interrupción. La interrupción queda autorizada o prohibida por programa (EI o DI). Queda prohibida a continuación de un RESET o inmediatamente después de una interrupción. Forma un segundo grupo de interrupciones al emplear las instrucciones RST 1,2,3,4,5,6 y 7. INTA es la señal de reconocimiento. Las instrucciones RESTART pueden producir interrupciones por software, pero al activar esta patilla INTR del 8085A, si se introduce por el bus de datos el código de una instrucción RST, la interrupción se produce por hardware. Patilla 11 (INTA): Reemplaza a RD en una operación de lectura de instrucción que sea una interrupción. Patillas 12 a 19 (AD0 a AD7): Conforman el bus de datos/direcciones multiplexado durante la ejecución de una instrucción. Transporta desde el principio la parte BAJA del bus de direcciones para a continuación transportar los 8 bits de datos. Este bus está en estado de ALTA IMPEDANCIA durante un HOLD o durante un HLT. Es un bus tri-estado. Patilla 20 (GND): Masa o tensión de referencia. Patillas 21 a 28 (A8 a A15): Transporta la parte ALTA del bus de direcciones. Está en estado de ALTA IMPEDANCIA con un HOLD o un HLT. Es un bus tri-estado. Patilla 29 (S0): Es una salida que codifica el estado del bus de datos durante el curso del ciclo de máquina que está en ejecución (junto con S1). Patilla 30 (ALE): Libera un impulso cada vez que el bus AD0-AD7 presenta la parte baja de una dirección. Se utiliza para diferenciar entre la parte baja de la dirección y el dato que se presentará a continuación. Patilla 31 (WR): Indica que el dato presente en el bus de datos debe quedar escrito en la memoria o en la E/S direccionada. Nivel bajo activo. Patilla 32 (RD): Indica que el dato presente en el bus de datos debe ser leído de la memoria o de una E/S direccionada. Nivel bajo activo. Patilla 33 (S1): Salida que codifica el estado del bus de datos junto con S0. Patilla 34 (IO/M): Si es un 1 indica que el microprocesador selecciona una E/S en el caso de una instrucción IN u OUT. Si es 0 selecciona la memoria. Patilla 35 (READY): Es una entrada que indica que la memoria o E/S seleccionada por un ciclo de escritura o lectura está dispuesta a recibir o proveer el dato. Si es 0 el 8085 espera a su puesta a 1 antes de seguir su ciclo de lectura o escritura. Patilla 36 (RESET IN): Si es activada con un 0, se reinicializa el contador de programa a 0000H, así como la autorización de interrupción. Patilla 37 (CLK OUT): Señal de salida de reloj del 8085. También llamada CLK. Patilla 38 (HLDA): Si es un 1 indica que el microprocesador responde a la demanda de espera (HOLD) y que el bus y líneas de control están en estado de alta impedancia. Patilla 39 (HOLD): Indica que algún otro usuario esta solicitando el acceso el bus de direcciones y al bus de datos. El microprocesador termina la ejecución del ciclo en curso, después posiciona en estado de alta impedancia al bus AD0-AD15 y las líneas de control RD, WR e IO/M, señalando este paso sobre la línea HLDA. Patilla 40 (Vcc): Tensión de alimentación de +5V.


Hay que insistir en este momento que aunque la lectura de este apartado resulte un tanto pesada, debe realizarse con la suficiente atención. Es preciso darse cuenta que cuando se pretenda desarrollar un diseño de tarjeta basada en este microprocesador, deberemos conocer la función de todas y cada una de las patillas de dicho componente. Al mismo tiempo este estudio nos llevará a un conocimiento mucho más profundo del 8085.


1.5 DESCRIPCIÓN FUNCIONAL DEL 8085A Del mismo modo que hasta ahora hemos descrito con detalle todos los terminales del microprocesador, lo cual nos permitirá abordar en cierta medida el diseño de un sistema electrónico, ahora llevaremos a cabo un estudio básico del funcionamiento interno del microprocesador, que nos permitirá posteriormente iniciar trabajos de programación. Para realizar esta tarea nos apoyaremos en el diagrama de bloques representado en la FIG.15A, en la que podemos apreciar los siguientes elementos característicos: • • • •

El conjunto decodificador/secuenciador que lleva incluido el generador de reloj y el sistema controlador. El conjunto unidad aritmética/lógica y sus registros asociados: acumulador de 8 bits, registro temporal y registro de los indicadores o señalizadores (flags). El conjunto de los registros de trabajo (B, C, D, E, H y L) de 8 bits, el Contador de Programa (PC)y Puntero de Pila (SP), ambos de 16 bits. El control de las interrupciones que comanda un grupo de 5 señales de interrupción y genera una señal de salida que nos marca una interrupción aceptada.


• •

El control de las entradas/salidas serie. Los buffers que generan los buses de direcciones y datos.

Todos y cada uno de estos bloques están controlados por la microprogramación interna que interpreta y ejecuta las instrucciones recibidas del programa que se esté ejecutando. Y de acuerdo a esas directrices actuará sobre los datos e informaciones y los moverá a través de registros y bloques para obtener el resultado deseado. Debe decirse que estos procesos de trabajo interno del microprocesador no son accesibles al usuario, es decir, el programador puede indicar la instrucción a ejecutar, pero no puede decirle al microprocesador cómo ha de ejecutarla.

DIAGRAMA DE BLOQUES DEL 8085 INTA RST6.5 TRAP INTR RST5.5 RST7.5

SID

CONTROL DE INTERRUPCIONES

CONTROL E/S SERIE

SOD

BUS DE DATOS INTERNO DE 8 BITS

REGISTRO TEMPORAL

REGISTRO INSTRUCCION

FLAGS

DECODIFICA INSTRUCCI. Y SECUENC. CILCLO MAQ.

ACUMULADOR ALU

X1

CONTROL

REG.H REG.L PUNTERO PILA CONT.PROGRA. INCREM/DECRE LATCH DIRECC

BUFFER DIRECCION

X2

A15-A8 BUS DIRECCIONES

CONTROL DE RELOJ CLK GEN.

REG.B REG.C REG.D REG.E

STATUS

DMA

RESET

FIG. 15A

RESET OUT

RESET IN

HLDA

HOLD

IO/M

S1

SO

ALE

WR

RD

READY

CLK OUT

BUFFER DIREC/DATOS

AD7-AD0 BUFFER DIRECC/DATOS


Por tanto desde el punto de vista de la persona que deba realizar los programas, es fundamental conocer que el microprocesador dispone de: •

Seis registros (B,C,D,E,H y L) que pueden ser usados para almacenar datos temporalmente de 8 bits, o bien pueden emplearse por pares (BC,DE y HL) para retener informaciones de hasta 16 bits.

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 salvar un determinado dato. Normalmente debe apuntar a la cima de la pila.

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.

El Acumulador, que es un registro de 8 bits, con el que el microprocesador realiza las operaciones lógicas, aritméticas, etc. según el desarrollo 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 P AC Z S X -

= = = = = =

Bit de acarreo (CARRY) Bit de paridad (PARITY) Bit de acarreo auxiliar (AUX CARRY) Bit cero (ZERO) Bit de signo (SIGN) Bit indiferente.

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.

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

Siendo el bit SID el dato de entrada serie al microprocesador, los bits I7.5, I6.5 e I5.5 nos indican las interrupciones pendientes de servicio, el bit IE es el flag de interrupciones habilitadas y finalmente los bits M7.5, M6.5 y M5.5 nos permiten poner los enmascaramientos de las interrupciones. (Ver instrucción RIM del 8085). 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

Siendo en este caso el bit SOD el dato de salida, el bit SOE la autorización de la salida serie, el bit R7.5 nos da la posibilidad de realizar un reset en la interrupción 7.5, el bit MSE autoriza el enmascaramiento de las interrupciones y finalmente los bits M7.5, M6.5 y M5.5 ponen las máscaras de cada interrupción respectivamente. (Ver instrucción SIM del 8085).


Dos Bloques Buffers que genera el microprocesador, en los que puede apreciarse cómo la parte alta del bus de direcciones se constituye de forma independiente, mientras que la parte baja es compartida con el bus de datos. Así pues es necesario un multiplexado adecuado, mediante el cual los periféricos asociados sepan cuándo se trata de la parte baja de una dirección o de un dato. La señal que identifica este proceso de multiplexado es ALE.

Un bloque que genera el bus de control del sistema.

Un bloque que permite cinco tipos diferentes de interrupciones.

El conjunto de control de Entrada/Salida serie.

1.6 EJERCICIOS 1. Hablar sobre los distintos niveles o escalas de integración, en la fabricación de los circuitos integrados. 2. Enumerar los tipos de buses del microprocesador 8085. Hablar sobre sus características. 3. Intentar desarrollar una representación gráfica de la arquitectura estándar de un microprocesador y analizarla. 4. Enumerar las líneas de control que tiene disponibles el 8085. 5. Hablar sobre las líneas de interrupción del microprocesador 8085, expresando su orden de prioridad. 6. Función de la señal RESET IN. 7. Explicar de forma concisa, cada uno de los elementos del Registro de Estado. 8. Enumerar y comentar los registros de trabajo del microprocesador 8085.


EN EL PRÓXIMO NÚMERO: Diseño paso a paso de una tarjeta de control basada en el microprocesador 8085. Tratamiento de buses de datos y direcciones, el decodificador de direcciones, las memorias, etc.


Microprocesador 8085 (1) INTEL