08. el microprocesador 8085

11
 ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8 Tema 8 EL MICROPROCESADOR 8085 1. Arqui tectur a de u n mic roproc esado r de 8 bits: La forma de operar, así como la arquitectura de todos los microprocesadores de 8 bits, es muy similar. A  pesar de ello, es difícil encontrar un m étodo didáctico que desarrolle de manera general la teoría necesaria  para comprender el funcionamiento de este tipo de dispositivos. Por este motivo consideramos que la mejor forma de abordar el estudio de los microprocesadores con siste en analizar uno en concre to y ext rap olar los conocimie nto s adquiridos cua ndo se des ee comprender la constitución y forma de operar de cada uno de los dispositivos análogos al examinado. El microprocesador 8085 es un dispositivo que opera con una  palabra de 8 bits y es capaz de direccionar, con sus 16 líneas, hasta 64 K  posiciones de memoria . Fabricado en tecnología NMOS, esta constituido por 6.200 transistores. Es un circuito integrado con cápsula dual in line de 40 patillas. Para realizar las operaciones que le sean encomendadas por el programa de control, el 8085 es capaz de decodificar internamente 74 tipos de instrucciones distintas. Se dice, pues, que el juego de instrucciones está constituido por el número indicado. La tensión de alimentación es única y de 5 voltios c.c., que se aplican entre los terminales 40 (+) y 20 (-). Como todo microprocesador que forma parte de un sistema digital programable, necesita un reloj u oscilador para sincronizar las operaciones que realiza el sistema digital de una frecuencia igual a 3’125 MHz. 2. Nomen clatur a de los t ermin ales del 8 085: A8 – A15. Estos terminales corresponden a las salidas de los 8 bits más significativos del bus de direcciones del sistema en que está integrado el microprocesador. AD0 – AD7. Es un conjunto de terminales de entrada/salida que realizan una doble función. Mediante un multiplexor, el microprocesador se comunica en primer lugar con los 8 bits menos significativos del bus de direcciones y posteriormente con el bus bidirecional de datos. ALE. Address Latch Enable (Activación del biestable Latch de direcciones). Es una salida que determina si la información presente en las líneas AD0 –AD7 corresponde a un dato o a una dirección. Se utiliza para disparar un registro de 8 bits que memoriza la parte baja de una dirección. Si está a 1 carga una dirección, si está a 0 carga datos. S0 – S1. Son salidas que informan del estado del bus de datos. Indican el tipo de ciclo de máquina que el microprocesador realiza: búsqueda, lectura, escritura o paro. RD. Read. Activa a nivel bajo. Salida que se emplea para indicar que la posición de memoria o dispositivo de E/S seleccionado quiere ser leído por la CPU y, además, que el bus de datos está disponible para realizar la transferencia. WR . Write. Activa a nivel bajo. Salida que se utiliza para indicar que la información presente en el  bus de datos ha de ser escrita en al posición de memoria o dispositivo de E/S direccionado. READY. Entrada que indica al m icroprocesador (cuando está en nivel alto) que existen datos válidos sobre el bus de datos procedentes de memoria o dispositivos de E/S. Cuando está a nivel bajo, el microprocesador entra en un estado de espera. Esta señal se utiliza cuando en el sistema existe algún dispositivo que opera con un tiempo mayor que el marcado por el reloj del microprocesador. HOLD. Entrada que indica que otro procesador o controlador solicita el uso de los buses de dirección y datos. El microprocesador abandona el uso de los buses una vez finalizado el ciclo de máquina en curso, poniendo en estado de alta impedancia las entradas y salidas siguientes: A8 – A15, AD0 – AD7, RD, WR e IO/M. - 1 -

Upload: neptuno97

Post on 06-Jul-2015

2.244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 1/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

Tema 8

EL MICROPROCESADOR 8085

1. Arquitectura de un microprocesador de 8 bits:

La forma de operar, así como la arquitectura de todos los microprocesadores de 8 bits, es muy similar. A pesar de ello, es difícil encontrar un método didáctico que desarrolle de manera general la teoría necesaria para comprender el funcionamiento de este tipo de dispositivos.

Por este motivo consideramos que la mejor forma de abordar el estudio de los microprocesadoresconsiste en analizar uno en concreto y extrapolar los conocimientos adquiridos cuando se desee

comprender la constitución y forma de operar de cada uno de los dispositivos análogos al examinado.El microprocesador 8085 es un dispositivo que opera con una  palabra de 8 bits y es capaz dedireccionar, con sus 16 líneas, hasta 64 K  posiciones de memoria. Fabricado en tecnología NMOS, estaconstituido por 6.200 transistores. Es un circuito integrado con cápsula dual in line de 40 patillas.

Para realizar las operaciones que le sean encomendadas por el programa de control, el 8085 escapaz de decodificar internamente 74 tipos de instrucciones distintas. Se dice, pues, que el juego deinstrucciones está constituido por el número indicado.

La tensión de alimentación es única y de 5 voltios c.c., que se aplican entre los terminales 40 (+)y 20 (-). Como todo microprocesador que forma parte de un sistema digital programable, necesita un reloju oscilador para sincronizar las operaciones que realiza el sistema digital de una frecuencia igual a 3’125MHz.

2. Nomenclatura de los terminales del 8085:

♦ A8 – A15. Estos terminales corresponden a las salidas de los 8 bits más significativos del bus dedirecciones del sistema en que está integrado el microprocesador.

♦ AD0 – AD7. Es un conjunto de terminales de entrada/salida que realizan una doble función.Mediante un multiplexor, el microprocesador se comunica en primer lugar con los 8 bits menossignificativos del bus de direcciones y posteriormente con el bus bidirecional de datos.

♦ ALE. Address Latch Enable (Activación del biestable Latch de direcciones). Es una salida quedetermina si la información presente en las líneas AD0 –AD7 corresponde a un dato o a unadirección. Se utiliza para disparar un registro de 8 bits que memoriza la parte baja de una dirección.Si está a 1 carga una dirección, si está a 0 carga datos.

♦ S0 – S1. Son salidas que informan del estado del bus de datos. Indican el tipo de ciclo de máquina queel microprocesador realiza: búsqueda, lectura, escritura o paro.♦ RD.  Read. Activa a nivel bajo. Salida que se emplea para indicar que la posición de memoria o

dispositivo de E/S seleccionado quiere ser leído por la CPU y, además, que el bus de datos estádisponible para realizar la transferencia.

♦ WR . Write. Activa a nivel bajo. Salida que se utiliza para indicar que la información presente en el bus de datos ha de ser escrita en al posición de memoria o dispositivo de E/S direccionado.

♦ READY. Entrada que indica al microprocesador (cuando está en nivel alto) que existen datos válidossobre el bus de datos procedentes de memoria o dispositivos de E/S. Cuando está a nivel bajo, elmicroprocesador entra en un estado de espera. Esta señal se utiliza cuando en el sistema existe algúndispositivo que opera con un tiempo mayor que el marcado por el reloj del microprocesador.

♦ HOLD. Entrada que indica que otro procesador o controlador solicita el uso de los buses dedirección y datos. El microprocesador abandona el uso de los buses una vez finalizado el ciclo demáquina en curso, poniendo en estado de alta impedancia las entradas y salidas siguientes: A8 – A15,AD0 – AD7, RD, WR e IO/M.

- 1 -

Page 2: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 2/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

♦ HLDA. Señal de salida generada por el microprocesador como respuesta a la entrada HOLD paraindicar que los buses y demás terminales están en estado de alta impedancia.

♦ INTR. Interruptor Request (petición de interrupción). Esta señal de entrada es utilizada por losdispositivos externos, cuando necesitan ser atendidos sin demora por el microprocesador,interrumpiendo la secuencia del programa. Puede ocurrir que la interrupción no sea aceptada. La

aceptación o no-aceptación de la interrupción se controla por el programa principal.♦ INTA. Activa a nivel bajo. Interrupt Acknowledge (reconocimiento de la interrupción). Es una señal

de salida. Se utiliza para activar ( en lugar de RD) el dispositivo que genera la interrupción una vezque ha sido aceptada.

♦ TRAP. Es una entrada de interrupción. Tiene prioridad.♦ RESET IN. Activa a nivel bajo. Es una entrada que pone a cero un registro del microprocesador 

denominado Contador de Programa, los biestables que validan las interrupciones y la señal HLDA.Se utiliza para indicar el programa.

♦ RESET OUT. Es una salida que indica el estado de RESET del microprocesador. Se puede utilizar  para poner a cero los demás componentes del sistema.

♦ IO/M. M es activa a nivel bajo. Es una salida que indica si la lectura o escritura se realiza sobre lamemoria o sobre dispositivos de E/S.

♦ X1 –X2. Estos terminales de entrada se utilizan para conectar un cristal de cuarzo o una red LC o RC para estabilizar el generador de reloj interno. También es posible conectar un reloj externo.♦ SID y SOD. Entrada y salida respectivamente, de datos en serie.♦ CLK OUT. Salida de la señal de reloj del microprocesador para utilizarla como reloj del sistema.

EJERCICIO. Conectar al 8085 un registro de 8 bits para demultiplexar el bus de datos y la parte bajadel bus de direcciones. Utilizar el dispositivo 74LS373.

 El 74LS373 es un registro de 8 bits con biestables tipo D activos por niveles y con salidas triestado.

- 2 -

OE

LE

1D2D3D4D5D6D7D

1Q2Q3Q4Q5Q6Q7Q

74LS373

HABILITACIÓN DE SALIDA ACTIVA A N. BAJSI OE = 1 ==> ALTA IMPEDANCIA

HABILIACIÓN DE CARGA ACTIVA A NIVEL AOE

LE

1D

2D

3D

4D

5D

6D

7D

1Q

2Q

3Q

4Q

5Q

6Q

7Q

74LS373

AD0AD1

AD2AD3

AD4AD5

AD6AD7

0D 0Q

ALE

A0

A1

A2

A3A4

A5A6

D0 - D7

A7

8085

Page 3: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 3/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

3. Arquitectura del microprocesador:

El microprocesador 8085 está constituido básicamente por tres grandes bloques: una unidad decontrol, un conjunto de registros y una unidad aritmético-lógica. Es difícil separar unos elementos deotros, debido a la interrelación que existe entre todos ellos; no obstante, para facilitar su comprensión,vamos a examinarlos en primer lugar por separado:

a) Unidad de control. La unidad de control es un bloque de lógica cableada dentro del CI. Esta parte del sistema controla y sincroniza las transferencias de datos y las operaciones que se realizan conellos.

Por una parte, la unidad de control se le aplica la señal de reloj maestro de microprocesador, por otra,las señales de control de otros elementos del sistema, para interrumpir la secuencia del programa, y el busde datos, a través del decodificador de instrucciones con la información ya interpretada, para que launidad pueda responder con las señales adecuadas.

Unas salidas de la unidad de control se dirigen a los elementos externos del microprocesador (memoria y dispositivos de E/S) para indicar, por ejemplo, que la operación en curso se trata de unalectura o de una escritura, otras a los registros internos de la propia CPU.

La unidad de control, en resumen, regula la función básica del microprocesador consistente en la búsqueda y posterior ejecución de instrucciones. Esta operación es cíclica mientras no se interrumpamediante una instrucción de paro (HALT). En el estado de búsqueda se transfiere una instrucción desde lamemoria hasta el microprocesador y en el estado de ejecución se realiza esta operación.

 b) Registros internos del microprocesador.  El 8085 tiene una serie de registros de propósitogeneral denominados B, C, D, E, H y L de 8 bits cada uno, pero que pueden operar en parejas (se agrupan para este fin B con C, D con E y H con L). Se utilizan para transformaciones internas y así obtener unamayor flexibilidad y rapidez de operación.

Existen otros registros de propósito especial. Estos son: el Contador del Programa (CP), de 16 bits;el Stack Pointer  o puntero de pila (SP), también de 16 bits; los  Registros Temporales W-Z , de 8 bits cadauno, pero que pueden operar unidos; el Registro de direcciones, de 16 bits, cuyas salidas son las patas del bus de direcciones del microprocesador, y el Registro de Instrucción (RI), de 8 bits.

El Contador de Programa es un registro que memoriza la dirección de la próxima instrucción a

ejecutar o bien la dirección de parte de una instrucción formada por más de un byte. Las instrucciones del8085 y de todos los microprocesadores de 8 bits pueden ser de 1, 2 ó 3 bytes, ordenados de formasucesiva en la memoria.

La unidad de control incrementa automáticamente en uno al contenido del CP cada vez que terminaun ciclo de búsqueda, salvo cuando aparece la instrucción HALT (paro). La señal de RESET, que es unade las entradas de la unidad de control, coloca al CP a cero e inicializa la ejecución del programa.

Para obtener la primera instrucción del programa, la dirección contenida en el CP [0000 (HEX)] secoloca en el bus de direcciones del sistema a través del registro de direcciones. La unidad de controlgenera una señal de lectura en memoria. El dato direccionado se transfiere al microprocesador a través del bus de datos y llega al registro de instrucción.

El primer byte de una instrucción siempre es el Código de Operación (CO). Este código de operaciónes interpretado por el decodificador de instrucciones y pasa a la unidad de control, que genera unasecuencia de microoperaciones para que la instrucción sea ejecutada. A veces, para que una instrucción

 pueda ser ejecutada, es necesaria más información (segundo y tercer byte de algunas instrucciones). Estainformación se encuentra almacenada en memoria a continuación del CO.Cuando la unidad de control, una vez decodificado el CO, indica que la instrucción requiere bytes

adicionales, el CP se incrementa en una unidad y vuelca su contenido nuevamente sobre el bus dedirecciones. El contenido de la posición direccionada pasa a uno de los registros temporales W-Z a travésdel bus de datos. Estos registros son utilizados, como su nombre indica, para almacenar temporalmentelos bytes 2 y 3 (si existen) de una instrucción, hasta que pasan a otros registros internos o externos delmicroprocesador. Puede ocurrir que los bytes segundo y tercero de la instrucción sean una dirección dememoria o una dirección de selección de algún dispositivo de E/S. En este caso los 16 bits sonalmacenados temporalmente en los registros W-Z. A continuación este contenido se coloca sobre el CP para acceder al dispositivo correspondiente.

Las instrucciones no siempre se ejecutan en el orden en que están escritas en la memoria. Como yase ha indicado cabe la posibilidad de efectuar saltos a secciones del programa denominadas subrutinas.

Para tal fin los sistemas con microprocesador, y de una pila o zona reservada de la memora principal.Cuando, mediante una instrucción, se produce una llamada a subrutina, el contenido del CP se deposita enla pila, es decir, en la posición de memoria apuntada por el SP y la anterior (ya que el contenido del CP es

- 3 -

Page 4: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 4/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

de 16 bits) hasta que se ejecuta dicha subrutina. Una vez ejecutada, el CP vuelve a cargarse con el valor almacenado en la pila de memoria para proseguir con el programa principal. El motivo por el cual esnecesario una pila y no exclusivamente un registro es la posibilidad de que existan subrutinas anidadas, esdecir, que desde el programa principal se llame a una subrutina y desde esta a una segunda, y asísucesivamente. En este caso es necesario ir almacenando todas las direcciones de comienzo para posteriormente retornar.

c) Unidad aritmético-lógica. La unidad de proceso completa del 8085 está formada por una ALU(Unidad aritmético-lógica), que es un circuito combinacional capaz de realizar operaciones de suma yresta, así como operaciones lógicas, un registro de 8 bits llamado Acumulador (A) y un conjunto de cinco biestables o flags denominados registros de estado, que ofrecen información relativa al resultado de lasoperaciones aritméticas o lógicas que se realizan.

Cuando se realiza una operación, el acumulador contiene un operando y uno de los registrostemporales W-Z el otro. El resultado de la operación se coloca en el acumulador reemplazando al dato uoperando que contenía anteriormente.

La denominación y situación de cada flag se muestra en el siguiente dibujo. CY es el señalizador de arrastre, y su contenido pasa a ser 1 cuando se produce acarreo al realizar una suma. AC es el

señalizador de arrastre auxiliar. Se utiliza cuando se realizan operaciones en BCD. Su valor será 1 cuandose produzca arrastre al efectuar la suma de los bits de los operandos que ocupan el cuarto lugar por laderecha. S es el flag de signo y su valor será 1 si el bit más significativo del resultado es 1. En casocontrario, será cero. Z es el señalizador de cero y se pone a 1 cuando el resultado de una operación hasido cero. Por último, P es el flag de paridad y su valor será 1 cuando el número de bits de una palabradepositada en acumulador sea par.

S Z AC P CY

4. Código máquina y nemónicos:

El juego de instrucciones de un microprocesador lo constituye todo el conjunto de expresiones binarias que el decodificador de instrucciones es capaz de interpretar. Es evidente que cuanto mayor seael número y más variado el repertorio mayor será la operatividad del dispositivo y, en consecuencia, delsistema donde se integre.

El microprocesador, como todo circuito digital, opera con unos y con ceros exclusivamente. Sinembargo, el sistema de codificación binario es muy engorroso para ser utilizado como lenguaje de programación, ya que un dato o palabra, en un circuito que utiliza un microprocesador como el 8085, estáformado por 8 bits y una dirección por 16 bits. Además, tales expresiones numéricas resultanininteligibles.

Por este motivo, los equipos más elementales que se emplean para programar admiten para laescritura de las instrucciones al menos la codificación hexadecimal. La traducción a lenguaje binario,

también denominado código máquina, se realiza con el correspondiente decodificador hexadecimal/binario incorporado al equipo.

- 4 -

Acumulador  Registro temporal

ALU Flags

Page 5: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 5/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

Lógicamente este sistema ofrece también grandes inconvenientes, tanto en la fase de definicióncomo en la de depuración, cuando el programa es complejo.

Con el fin de aproximar la escritura y lectura de programas al lenguaje habitual, se decidióexpresar las instrucciones de los microprocesadores utilizando la abreviatura o las siglas de la palabra quedefine la operación que realiza. Dado el origen de las compañías fabricantes de este tipo de dispositivos,estas palabras están expresadas en inglés. Así, por ejemplo, la abreviatura MOV, que procede de MOVE

y significa MOVER o TRASLADAR, se utiliza para transferencia de datos entre registros internos oexternos.Estas expresiones se denominan nemónicos, que significa recordatorio. Por tanto, las

expresiones del microprocesador 8085 son un conjunto de 74 nemónicos compatibles con las de otrosdispositivos de INTEL, pero, desgraciadamente, distintas, aunque realicen la misma operación, a las deotros fabricantes.

Existen equipos de programación que admiten directamente las instrucciones en forma denemónicos. Estos equipos disponen de un programa denominado assembler, que traduce el programaescrito en leguaje ensamblador el sistema binario, que es el único código capaz de ser interpretado por lamáquina.

Los equipos más complejos, denominados genéricamente sistemas de desarrollo, son capaces detraducir a código máquina cualquier programa escrito en lenguajes de alto nivel, tales como Pascal,BASIC, etc. Estos equipos facilitan enormemente el desarrollo del software de un sistema digital.

5. Tipos de instrucciones:

El número de instrucciones que cada microprocesador puede interpretar y ejecutar es distinto encada caso. Así el 8085 está diseñado para admitir 74 instrucciones básicas, de tal forma que, sicontemplamos las variantes de algunas de ellas, este dispositivo está preparado par realizar 246operaciones distintas.

Las instrucciones del 8085 se pueden clasificar en cinco grupos:1. Transferencia de datos entre registros o entre posiciones de memoria y registros.2. Operaciones aritméticas.3. Operaciones lógicas.

4. Bifurcaciones (salto).5. Instrucciones de stack, E/S y control de máquina.

6. Formato de instrucciones:

Las instrucciones del 8085 y de otros microprocesadores semejantes están constituidas por 1, 2 ó3 bytes. Así pues existen instrucciones de 1, 2 y 3 bytes. En el siguiente dibujo se muestran los tres bytes,que, como máximo, pueden constituir una instrucción y el contenido de cada uno de ellos.

El primer byte siempre se utiliza para representar el CO de todas las instrucciones.

Las instrucciones de 2 bytes están formadas por el CO y dos bytes más. El primero contiene los 8 bits menos significativos de una dirección de memoria y el otro los 8 bits más significativos.

- 5 -

7 6 5 4 3 2 1 0

Código de operación

 bit

Instrucionesde 1 byte

Dato u 8 bits de unadirección de memoria

8 bits de una dirección

de memoria

Instrucciones de 2 bytes

Instrucciones de 3 bytes

Page 6: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 6/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

y Para los siguientes ejercicios emplearemos las siguientes tablas:

DDD o SSS Registro111 A000 B

001 C010 D011 E100 H101 L

RP Par de registros00 BC01 DE10 HL11 SP

Condición (XX) CCC NZ no cero (Z=0) 000

Z cero (Z=1) 001 NC no acarreo (CY =0) 010C acarreo (CY=1) 011

PO paridad impar (P=0) 100PE paridad par (P=1) 101

P positivo (S=0) 110M negativo (S=1) 111

EJERCICIOS:

1. Sumar 2 números que se encuentran en las posiciones de memoria 006A y 006B y guardar elresultado en la posición 0010. Escribir el programa en nemónico, hexacecimal y binario. Datos:

- LDA [DIRECCIÓN]. Carga el acumulador (A) con el contenido de la posición de memoria de la cualse da su dirección.- MOV B, A. El contenido de A pasa al registro B- ADD B. Suma al acumulador el contenido del registro B. El resultado queda en el acumulador (A).- STA [DIRECCIÓN]. Guarda, almacena el contenido del acumulador en la posición de memoria de lacual se da su dirección.

 NEMÓNICO:

 LDA 006AMOV B, A LDA 006B ADD B

STA 0010

 NEMÓNICO BINARIO HEXADECIMAL

 LDA 0011 1010 3 A6 A 0110 1010 6 A00 0000 0000 0 0

MOV B, A 0100 0111 4 7   LDA 0011 1011 3 A6 B 0110 1011 6 B00 0000 0000 0 0

 ADD B 1000 0000 8 0STA 0011 0010 3 210 0001 0000 1 000 0000 0000 0 0

2. Escribir un programa que cargue el registro B con el dato 04, y cargue el registro C con el dato 05.El programa ha de decrementar 4 veces el contenido del registro B y cuando haya hecho esto

decrementar 1 vez el registro C. Datos:

- MVI r, DATO. El contenido de la posición de memoria apuntada por los registros HL pasa al registror. El dato pasa al registro r.- DCR r. El contenido del registro r se decrementa en una unidad.

 NEMÓNICO:

MVI B, 04MVI C, 05 DCR B DCR B DCR B DCR B DCR C 

- 6 -

Page 7: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 7/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

 NEMÓNICO BINARIO HEXADECIMAL

MVI B 0000 0110 0 6  04 0000 0100 0 4

MVI C 0000 1110 0 E  0 5 0000 0101 05

 DCR B 0000 0101 0 5 DCR B 0000 0101 0 5 DCR B 0000 0101 0 5 DCR B 0000 0101 0 5 DCR C 0000 1101 0 D

3. Hacer una tabla con el programa anterior en hexadecimal y la dirección de memoria donde seencuentra cada instrucción suponiendo que el programa se carga a partir de la dirección 0000.

DIRECCIÓN BYTE0000 0 60001 0 4

0002 0 E0003 0 50004 0 50005 0 50006 0 50007 0 50008 0 D

4. En este ejercicio introduciremos el concepto de salto condicional: Escribir un programa que cargue elregistro C con el dato FF, cargue el registro B con FF, decremente el registro B hasta que sucontenido valga 0 y cada vez que esto suceda decremente el registro C. Además cada vez que sedecremente el registro C se ha de cargar el registro B con FF y decrementarlo hasta 0. El programa seacaba cuando el registro C llegue a 0. Datos:

- JNZ [DIRECCIÓN]. Si el resultado de la última operación aritmético-lógica no es 0, saltar a ladirección de memoria indicada.

- 7 -

INICIO

CARGAR C CON FF

CARGAR B CON FF

DCR B

B= 0?

DCR C

C = 0 ?

HALT

SI

SI

 NO

 NO

BUCLE 1

BUCLE 2

Page 8: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 8/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

 NEMÓNICO

 BUCLE 1: CARGAR B CON FF  BUCLE 2: DCR B

MVI C, FF  BUCLE 1:MVI B, FF  BUCLE 2 DCR B JNZ BUCLE 2 DCR C  JNZ BUCLE 1

 NEMÓNICO BINARIO DIRECCIÓN HEXADECIMAL

MVI C 0000 1110 0000 0 E   FF 1111 1111 0001 F F  

MVI B 0000 0110 0002 0 6   FF 1111 1111 0003 F F  

 DCR B 0000 0101 0004 0 5 JNZ 1100 0010 0005 C 2

0006 040007 00

 DCR C 0000 1101 0008 0 D JNZ 1100 0010 0009 C 2

000A 02000B 00

7. Secuencias y tiempos del 8085.

La búsqueda y ejecución de una instrucción se llama ciclo de instrucción. El ciclo de instrucciónestá formado por varios ciclos de máquina. La mayor parte de los ciclos de máquina de las instruccionesde un programa son referencias de lectura o escritura a la memoria o a los dispositivos de E/S.

Los diferentes tipos de ciclos de máquina en el 8085 son:1. Búsqueda de CO.2. Lectura de memoria.3. Escritura en memoria.4. Lectura de dispositivo de E/S.5. Escritura en dispositivo de E/S6. Respuesta a interrupción.7. Bus inactivo.

EJERCICIO. ¿Cuánto tiempo tarda en ejecutarse una instrucción MOV r 1, r 2 si el microprocesador trabaja a 4 MHz?

8. Modos de direccionamiento:

Las instrucciones del microprocesador 8085 hacen referencia a los datos, que explícita oimplícitamente contienen, de diferentes maneras.

Existen cuatro maneras de referenciar datos, denominados modos de direccionamiento:inmediato, directo, por registros y por registro indirecto.

En el direccionamiento inmediato la instrucción contiene los datos en el byte o los bytessiguientes al código de operación, por ejemplo ADI 04. El hexadecimal 04 (segundo byte de lainstrucción) se suma al acumulador.

La forma más sencilla de direccionamiento es la directa. En este caso los bytes segundo ytercero de la instrucción contienen la dirección de la posición de memoria donde se encuentra el dato, por ejemplo LDA 003F. El contenido de la posición 003F pasa al acumulador.

En el direccionamiento por registro la instrucción especifica el registro o doble registro dondeestá el dato, por ejemplo ADD B. El contenido del registro B se suma al acumulador.

Por último, el modo de direccionamiento por registro indirecto el doble registro especificadoen la instrucción contiene la dirección de memoria donde está el dato, por ejemplo, LDAX B. El

- 8 -

S t 

S S   f  

 Hz MHz   f  

 µ 

 µ 

125'04relojdeciclos4

25'010.25'010.4

11

10.44

6

6

6

=⋅=⇒

====

==

Page 9: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 9/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

contenido de la dirección de memoria, cuya dirección está en el par de registros B y C, se mueve alacumulador.

EJERCICIOS. Escribir un programa que lea el puerto de entrada cuya dirección es 0A, verifique si el bit 3 del dato leído es 1 y el resto todo 0 y en este caso saque por el puerto de salida cuya dirección es 0Bel dato F1. La secuencia se repite (cíclicamente).

- Las direcciones de los puertos de E/S son de 8 bits. Esto quiere decir que el 8085 puede direccionar 256 puertas de E y 256 puertas de salida.- IN [DIRECCIÓN]. Lee el contenido del puerto direccionado.- OUT [DIRECCIÓN]. Escribe en el puerto direccionado.- CPI DATO. Compara el contenido del acumulador con el dato.- JNZ. Salto condicional.- JMP. Salto incondicional.

INICIO: IN 0A; el contenido del puerto 0A pasa al acumulador.CPI 08; compara el acumulador con el dato 08.JNZ INICIO; salta si el bit de 0 no está activado.MVI A, F1; carga el acumulador con F1.OUT 0B; saca por el puerto 0B el dato del acumulador.JMP INICIO; salto incondicional a la dirección INICIO.

- 9 -

A [0A]

A=08?

A F1

 

A [0B]

NO

SI

7 6 5 4 3 2 1 0

0 0 0 0000 1

Page 10: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 10/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

EJERCICIO. Escribir un programa que el bit 3 del puerto de entrada 0A esté a 1 saque por el puertode salida 0B el dato FF y lo mantenga un cierto tiempo en esta situación, transcurrido el cual la situacióndel puerto 0B debe volver a 00.

INICIO: MVI A, 00; carga el acumulador con 00OUT 0B ; sacar el contenido del acumulador por el puerto de salida 0BMVI B, FF ; carga el registro B con FF

BUCLE 1: IN 0A ; carga el acumulador con el dato que hay en el puerto 0AANI 08 ; compruebo si el bit 3 del acumulador está a 1.JZ BUCLE 1 ; saltar si el resultado es 0MVI A , FF ; cargo el acumulador con FFOUT 0B ; saca el dato del acumulador por 0B

TIEMPO: DCR B ; decremento BJNZ TIEMPO ; saltar a tiempo si el resultado no es 0JMP INICIO ; regresa al estado inicial

¿Cuánto tiempo se mantiene el puerto 0B en FF? Siendo la frecuencia de 4 MHz.

TIEMPO: DCR B (4)JNZ TIEMPO (7/10)JMP INICIO (10)

INICIO: MVI A , 00 (7)OUT 0B (10)

 Nº de estados = (4 + 10) 254 + (4 + 7)+ 10 + 7 + 10 = 3594 estados

T=0’25µ S t = 898’5 µ S

 NOTA: son 254 porque la última vez no vuelve a subir para DCR B y entonces en ese momento sólo se producen 7 pulsos de reloj. Por eso hemos de sumar 4 + 7.

- 10 -

INICIALIZAR

A 00

[A] 0B

B FF

A [0A]

BIT 3 [A] =1 ?

A FF

A [0B]

RETARDO

DE TIEMPO

NO

SI

Page 11: 08. EL MICROPROCESADOR 8085

5/8/2018 08. EL MICROPROCESADOR 8085 - slidepdf.com

http://slidepdf.com/reader/full/08-el-microprocesador-8085 11/11

 

ELECTRÓNICA / TECNOLOGÍA / 2º FP 2 / TEMA 8

EJERCICIO. ¿Cómo puede aumentarse de una forma sencilla este tiempo?Siempre que no buscásemos diferencias de tiempos muy grandes insertaríamos la instrucción NOP 

Como ejemplo veremos el efecto de incluir 2 NOP en cada bucle.

 NOP 5 estadosAñadimos (5 + 5) 255 = 2550

t añadido = 637’5 µ S

- 11 -