Descripción del microprocesador 8085



OBJETIVOS:

DESARROLLO DE TEMAS

Introducción

El 8085 diseñado por Intel y luego manufacturado por otros fabricantes, forma parte de los microprocesadores de 8 bits de propósito general. En este sentido el 8085 no está a la altura de procesadores avanzados como los de la familia Pentium u otras similares, sin embargo, se debe recordar que en la práctica no existe un microprocesador mejor que otro, sino más bien un microprocesador más adecuado para una aplicación específica.

De lo anterior, el 8085 es un dispositivo excelente para aplicaciones de bajo nivel de procesamiento y que no requieran operar a altas frecuencias, por lo que es muy popular a nivel

de cursos de aprendizaje ya que su constitución interna es más fácil de entender y analizar que

otros procesadores.

Características Generales

A continuación se presenta un listado de las principales características del 8085, mismas que pueden ser utilizadas como base para evaluar futuros microprocesadores y microcontroladores:

• Opera con una tensión de +5V.

• Frecuencia máxima de operación de 6MHz.

• Tiene un generado interno de reloj, lo que le permite utilizar externamente una red RC

o un cristal para establecer la frecuencia de operación.

• Su ciclo de instrucción es de 1.3useg.

• Posee un bus de direcciones de 16 bits lo que le permite controlar directamente una memoria de 64KB.

• Tiene un bus de datos de 8 bits que esta multiplexado con las 8 primeras líneas de dirección. Esta modificación permite que el dispositivo pueda ser contenido en un encapsulado PDIP de 40 pines.

• Tiene un set amplio de periféricos de soporte lo que permite el fácil desarrollo de sistemas computarizados de bajo costo.

En la siguiente figura se puede apreciar la distribución de pines del 8085:

Monografias.com

A continuación se explica la función de los pines de mayor relevancia:

• AD0 - AD7: Conforman el bus de datos que a su vez esta multiplexado con los 8 bits de menor valor del bus de direcciones.

• A8 - A15: Representan los 8 bits de mayor valor del bus de direcciones. Estas líneas no están multiplexadas con ninguna otra función del dispositivo.

• ALE: Esta línea indica con un FLANCO DE BAJADA que el dato disponible en AD0 – AD7 representa una dirección, es decir, representa a A0 – A7, por otra parte si esta en FLANCO DE SUBIDA, indica que el dato representa a D0 – D7. En algunos sistemas, se utiliza esta línea para controlar a un registro externo de 8 bits a fin de almacenar los

Monografias.com

8 bits del bus de direcciones y de esta manera aislar el bus de direcciones del bus de datos, tal como se observa a continuación:

• RD: Indica con un CERO que el procesador va realizar una operación de lectura sobre un dispositivo de memoria o de entrada / salida.

• WR: Indica con un CERO que el procesador va realizar una operación de escritura sobre un dispositivo de memoria o de entrada / salida.

• RESET IN: Al recibir un pulso en CERO, coloca en cero al contador de programa con lo que el procesador se reinicia y empieza a leer instrucciones desde la localidad 0x0000.

• RESET OUT: Indica con un CERO que el procesador esta en condición de RESET. Es usual utilizar esta línea para reiniciar a otros dispositivos tales como periféricos de entrada y/o salida.

Monografias.com

X1 - X2: En estos terminales se puede conectar una red RC o un cristal a fin de establecer la frecuencia de operación del microprocesador. El uso de un cristal permite obtener una señal más inmune a ruidos y altamente estable, sin embargo incrementa el costo y tamaño de sistemas pequeños. En el siguiente gráfico se muestran estas dos configuraciones:

• CLK: En este pin se obtiene una señal de reloj, cuya frecuencia es la mitad de la frecuencia del cristal utilizado. Generalmente se utiliza como señal de sincronización de para periféricos de entrada y/o salida como temporizadores.

• IO / M: El microprocesador utiliza esta línea para indicar con un CERO que la operación de lectura o escritura a realizarse será sobre un dispositivo de memoria, y con un UNO, si será sobre un periférico de entrada / salida.

• VCC – VSS: Pines de alimentación del microprocesador. Es importante recalcar que la tensión de alimentación debe ser de +5V, con una variación máxima de +/-0.1V, de lo contrario se produciría un comportamiento impredecible en la ejecución de instrucciones.

Estructura y Funcionamiento

En la siguiente figura se puede apreciar la estructura lógica interna del 8085 junto con una explicación de los principales bloques funcionales:

Monografias.com

• Acumulador:

De los registros internos, el Acumulador probablemente es el más importante de todos, ya que por medio de él se realiza la mayor parte de operaciones de la ALU, así como también movimientos de datos internos desde o hacia el exterior. Un detalle importante que hay que recordar, es que este registro al igual que la mayoría de registros internos, es de 8 bits, esto se debe a que el bus de datos del sistema es de 8 bits.

• Registros de Propósito General:

Los registros de propósito general (B, C, D, E, H, L), son registros de 8 bits que son utilizados generalmente para el almacenamiento temporal de información proveniente del exterior o del interior (ej. guardan contenido de contadores, resultados de operaciones aritméticas, direcciones de memoria, etc.). Un detalle adicional es que pueden trabajar en parejas (BC, DE, HL) lo que permite almacenar valores de 16 bits.

• Contador de Programa:

El contador de programa controla el bus direcciones del microprocesador, por lo que a diferencia de los anteriores, este registro es de 16 bits. Por cada instrucción ejecutada este contador incrementa en uno su valor, es decir, señala siempre la siguiente instrucción a ejecutarse. Normalmente el conteo se incrementa de uno en uno, sin embargo existen instrucciones especiales, tales como llamadas a subrutinas (CALL), saltos (JMP) y retornos

(RET), que pueden cambiar el contador de programa para que señale a una dirección de memoria específica:

Monografias.com

• Pila:

La pila representa una dirección dentro de la memoria de datos, a partir de la cual se guarda la dirección de la última instrucción ejecutada más uno, esta dirección es luego utilizada para indicarle al procesador desde donde se tiene que continuar la ejecución del programa luego de volver. La pila es usada mayormente siempre que se realizan llamadas a subrutinas:

Monografias.com

• Registro de Estado y Unidad Lógica Aritmética:

La unidad lógica aritmética o ALU, se encarga de realizar operaciones lógicas (AND, OR, XOR, NOT), aritméticas (ADD, SUB), de incremento y decremento (INC, DCR), y de rotación (ROTL, ROTR). Para tal propósito utiliza al acumulador como fuente y destino de datos. Adicionalmente la ALU utiliza un registro de estado en el cual se puede observar alguna condición específica de la última operación realizada, como puede ser acarreo, préstamo, cero, signo, etc., los cuales a su vez pueden ser utilizados para ejecutar alguna acción dentro del programa:

S

Z

AC

P

CY

o S: Bit de Signo, indica si el resultado es negativo.

o Z: Bit de Cero, indica si el resultado fue cero.

o AC: Bit de Acarreo auxiliar, indica si hubo acarreo de los 4 primero bits.

o P: Bit de Paridad, indica si el número de unos del resultado es par.

o CY: Bit de Acarreo principal, indica si hubo acarreo de los 8 bits.

• Registro y Decodificador de Instrucciones:

Toda instrucción que es leída a través del bus de datos, es enviada a este bloque. Básicamente se trata de una pequeña memoria ROM interna, en la cual se encuentran almacenadas todas las instrucciones reconocibles por el procesador, una vez que se captura una instrucción esta se compara con la memoria ROM; de coincidir con alguna, el procesador ejecutará las acciones correspondientes a dicha instrucción.

• Temporización y control:

En este bloque se generan todas las señales de reloj para los diferentes bloques del procesador, de esta manera se logra una perfecta sincronización de todas las acciones que se ejecuten tales como operaciones de la ALU, movimiento de datos hacia adentro o afuera del procesador, etc.

Periféricos de Soporte

Otro de los motivos por el cual el 8085 es muy popular a nivel de aprendizaje y diseño de sistemas de complejidad mediana, es su amplia variedad de periféricos de soporte, es decir, circuitos que permiten al 8085 comunicarse con el mundo externo.

Por simplicidad solo se abordará 2 periféricos de soporte mismos que se analizan a continuación:

• 8255:

Monografias.com

La distribución de pines así como la representación lógica de este dispositivo se muestran a continuación:

Monografias.com

El 8255 es un módulo de Entrada / Salida programable que puede ser usado con cualquier periférico que trabaje con información paralela (puertos paralelos, impresoras, faxes, etc.).

Consta de 3 puertos de 8 bits llamados A, B y C que pueden ser configurados independientemente como entradas o como salidas, para tal propósito dispone de 2 líneas de selección que permiten configurar a este dispositivo de la siguientes manera:

A1

A0

RD

WR

CS

FUNCION

0

0

0

1

0

Lee Puerto A

0

1

0

1

0

Lee Puerto B

1

0

0

1

0

Lee Puerto C

0

0

1

0

0

Escribe Puerto A

0

1

1

0

0

Escribe Puerto B

1

0

1

0

0

Escribe Puerto C

1

1

1

0

0

Escribe Registro de Configuración

REGISTRO DE CONFIGURACIÓN DEL 8255

1

0

0

PA

PCH

0

PB

PCL

o PA: 1 Puerto A como entrada, 0 Puerto A como salida.

o PCH: 1 Puerto CH como entrada, 0 Puerto CH como salida.

o PB: 1 Puerto B como entrada, 0 Puerto B como salida.

o PCL: 1 Puerto CL como entrada, 0 Puerto CL como salida.

• 8155:

La distribución de pines así como la representación lógica de este dispositivo se muestran a continuación:

El 8155 es un módulo mixto que posee en un mismo empaque: 2 puertos de 8 bits A y B, un puerto de 6 bits C, un módulo de temporizador programable y una memoria RAM de 8 bits sencilla de 256 casillas.

En la siguiente tabla se muestra el modo de acceder a los diferentes módulos de este dispositivo:

A7 - A0

RD

WR

IO/M

FUNCION

00H

1

0

1

Escribe Registro de Configuración

01H

1

0

1

Escribe Puerto A

02H

1

0

1

Escribe Puerto B

03H

1

0

1

Escribe Puerto C

04H

1

0

1

Escribe parte baja del Timer

05H

1

0

1

Escribe parte alta del Timer

00H

1

0

0

Escribe Casilla 0 de Memoria

01H

1

0

0

Escribe Casilla 1 de Memoria

…

…

…

…

FEH

1

0

0

Escribe Casilla 254 de Memoria

FFH

1

0

0

Escribe Casilla 255 de Memoria

00H

0

1

0

Lee Casilla 0 de Memoria

01H

0

1

0

Lee Casilla 1 de Memoria

…

…

…

…

FEH

0

1

0

Lee Casilla 254 de Memoria

FFH

0

1

0

Lee Casilla 255 de Memoria

REGISTRO DE CONFIGURACIÓN DEL 8155

0

0

0

0

PC2

PC1

PB

PA

o PA: 0 Puerto A como entrada, 1 Puerto A como salida.

o PB: 0 Puerto B como entrada, 1 Puerto B como salida.

o PC1, PC2: 00 Puerto C como entrada, 11 Puerto C como salida.

Un aspecto interesante del 8155, es que a diferencia del 8255, este puede demultiplexar las direcciones de los datos sin necesidad de utilizar un Registro externo como el

74LS374, por lo que se pueden obtener sistemas más compactos.

5. Microcomputadores con el 8085:

Con el conocimiento adquirido sobre el 8085 y sus periféricos de soporte, al final del módulo se presenta un diagrama que representa un microcomputador básico de 8 bits.

El sistema cuenta con memoria de programa, memoria de datos y periféricos de

entrada y/o salida, en especial observe el uso del decodificador 74LS138, que permite la activación de un determinado elemento del sistema dependiendo de la dirección dada por el bus de direcciones del microprocesador.

Ejercicios

1. Analice y anote el funcionamiento del circuito mostrado al final de este módulo.

OBSERVACIONES PARA LA SIGUIENTE CLASE

• Realizar en hojas perforadas los ejercicios que falten o que el profesor indique.

• Revisar los temas tratados en este módulo.

• Con ayuda del internet, ingrese al siguiente link y descargue el programa "8085

Simulator IDE" e instálelo en su computadora:

www.oshonsoft.com/downloads.html

ƒ En grupos de dos personas traer un computador con el programa anterior instalado.