Anda di halaman 1dari 51

UFPA / ITEC / FEE

Microprocessadores

Microprocessador 8085
Prof. Daniel Cardoso

19/08/2013

Ementa
1. 2. 3. 4. 5. 6. 7. 8.
Arquitetura Pinagem Instrues Sistema mnimo Organizao da memria Temporizao das instrues Tcnicas de E/S Concluso
2

19/08/2013

Intel 8085

Arquitetura da UCP Intel 8085A

19/08/2013

Pinagem da UCP Intel 8085A


Pinos 1 e 2: X1 e X2 X1 e X2 servem para a conexo de um cristal ou de um circuito RC ou LC. Eles vo definir a frequncia do oscilador interno do 8085. O cristal a melhor opo. Pino 3: RESET OUT Quando alto, indica que o 8085 est sendo inicializado. Este sinal vai para os dispositivos perifricos para inicializar todo o sistema. Quando RESET OUT torna-se baixo, o processamento comea. Pino 4: SOD Sada serial de dados. Pino 5: SID Entrada serial de dados.

Pinagem da UCP Intel 8085A


Pinos 6 a 10: Cinco entradas para pedidos de interrupo, em ordem decrescente de prioridade. Se duas ou mais se tornarem ativas ao mesmo tempo, o 8085 vai atend-las pela ordem de prioridade.

Pino 11: INTA Sada do reconhecimento de interrupo, para responder a um INTR.


Pinos 12 a 19: Barramento de dados de 8 bits (D0 D7), multiplexado com a metade inferior do barramento de endereos (A0A7). Isso mantm o nmero de pinos em 40.

Pinagem da UCP Intel 8085A


Pinos 21 a 28: A8 - A15 Metade superior do barramento de endereos. Pinos 29 e 33: S0 e S1 So sinais de sada conhecidos como sinais de status. Indicam o tipo de operao que o 8085 est executando no momento. Pino 30: ALE Habilitao do latch de endereos. um sinal de sada para CIs de memrias. A borda de descida do sinal ALE carrega o endereo presente no barramento no latch de endereos (REM) do CI de memria.

Pinagem da UCP Intel 8085A


Pinos 31, 32 e 34: WR, RD e IO/M Estes trs pinos funcionam em conjunto. Eles devem ser ligados s pastilhas de memria e de E/S. IO/M baixo indica uma operao com memria e IO/M alto indica uma operao de E/S. WR e RD indicam se se trata de uma operao de escrita ou de leitura, e nunca esto ambos ativos ao mesmo tempo. Pino 35: READY Um pino de entrada que recebe um sinal de prontido de um perifrico. Enquanto READY baixo, o 8085 fica gerando estados de espera (WAIT). Quando READY alto, o 8085 completa a transferncia de dados. Utilizado para fazer handshaking com perifricos mais lentos que o 8085.

Pinagem da UCP Intel 8085A


Pino 36: RESET IN Entrada do sinal de RESET, que pode vir de um boto de presso acionvel pelo operador. Enquanto est em nvel baixo, RESET IN reinicializa a UCP e envia o RESET OUT ao pino 3. Pino 37: CLK OUT Sada do sinal de relgio do 8085, que deve ser enviado para as pastilhas perifricas para sincronizar sua operao.

Pinos 38 e 39: HLDA e Hold Usados para o 8085 entregar o controle dos barramentos a um controlador de ADM (Acesso Direto Memria).

Circuito de relgio
Um cristal gera uma frequncia muito mais estvel que os demais circuitos. A frequncia do relgio a metade da frequncia do oscilador, pois o flip-flop divide por 2. O circuito LC tem uma tolerncia de frequncia de 10%. O circuito RC recomendado resulta numa frequncia de relgio de 1,5 MHz. fmin = 500 kHz fmax = 3,125 MHz
10

Novas instrues
Sintaxe XCHG STAX B Operao (DE) (HL) ((BC)) (A) Bytes 1 1

STAX D
LDAX B LDAX D

((DE)) (A)
(A) ((BC)) (A) ((DE))

1
1 1

LHLD endr.
SHLD endr. PCHL

(L) (endr); (H) (endr + 1)


(endr) (L); (endr + 1) (H) (PC) (HL)

3
3 1

SPHL
XTHL (L)

(SP) (HL)
((SP)); (H) ((SP+1))

1
1

Adio em BCD
Quando a soma de dois nibbles < 9, o resultado j
est certo em BCD.

Quando a soma de dois nibbles > 9, deve ser


adicionado 610 (0110) ao resultado para gerar a forma BCD correta.

Exemplos: fazer as somas em BCD:


8 + 5 = 13 9 + 8 = 17

Adio em BCD
Como se sabe quando a soma > 9?
O nibble do resultado invlido (1010 a 1111); Ocorre transporte para o nibble superior seguinte.

Esse transporte do bit 3 para o bit 4 chamado de carry


auxiliar (AC), e mais um flag do 8085.

Exemplos: fazer as somas em BCD:


98 + 84 = 182 48 + 39 = 87

Instruo DAA

Ajuste Decimal do Acumulador. Deve ser usada depois de qualquer


operao na ULA que envolva nmeros BCD. Corrige o contedo do acumulador para estar correto em BCD. A instruo DAA a nica que testa o valor do flag AC.

Sistema mnimo

S com o 8085 no se pode fazer nada de til. necessrio conect-lo a CIs de memria e
controladores de E/S para formar um sistema de computador til.

O sistema mnimo o menor conjunto de CIs


que forma um computador funcional.

O conjunto de CIs compatveis com o mp


chamado de chipset.

Sistema mnimo com o 8085: famlia MCS-85

16

Sistema mnimo com o 8085: famlia MCS-85

Durante alguns estados T, as linhas AD7 a AD0

fornecem a metade inferior do contador de programa, e em outros estados T, essas mesmas linhas fornecem um dado de 8 bits. 8156.

A13 = 0: ativa a ROM 8355; A13 = 1: ativa a RAM


O sinal ALE fica alto no incio de cada ciclo de
mquina, e durante o primeiro estado T, tornase baixo. A borda de descida de ALE carrega o endereo vindo do 8085 no latch de endereo (REM) da pastilha de memria que estiver habilitada.

Sistema mnimo com o 8085: famlia MCS-85

CLK OUT o relgio do sistema, com a metade


da frequncia do oscilador.

Um sinal READY alto entrando no 8085 indica


que um perifrico est pronto para uma transferncia de dados.

RD e WR indicam leitura e escrita tanto de uma


pastilha de memria quanto de um dispositivo de E/S.

Sistema mnimo com o 8085: famlia MCS-85

A 8156 uma RAM esttica organizada


em 256 bytes (256 palavras x 8 bits). Seu barramento de endereos de 8 bits tambm multiplexado com seu barramento de dados, tal como o 8085.

A 8156 tambm tem trs portas de E/S


programveis para entradas ou sadas. funcionar como

Sistema mnimo com o 8085: famlia MCS-85

Quando alto, RESET OUT do 8085 inicializa o 8156. A 8355 uma ROM de 2 KBytes (2048 palavras x 8 bits). As 11 linhas de endereo so multiplexadas com as 8 linhas de dados: A10 a A8 + AD7 a AD0. O sinal READY que sai da 8355 est baixo enquanto o endereo est sendo carregado na 8355. Depois da carga, READY sobe, avisando o 8085 para prosseguir com a leitura.

Mapas de memria
Quando A13 est baixo, a ROM est habilitada. Quando A13 est alto, a RAM est habilitada. No sistema mnimo, a ROM ocupa os endereos 0000H a 07FFH (2 KB), e a RAM ocupa os endereos 2000H a 20FFH (256 bytes). As 16 linhas de endereo do 8085 podem acessar um total de 64 KB. As linhas de endereo no usadas no sistema mnimo so irrelevantes ou tanto faz . Por causa disso, as sees de ROM e RAM se repetem no espao de endereamento total.

Mapas de memria
Os endereos vlidos de ROM so: XX0X X000 0000 0000 at XX0X X111 1111 1111 A ROM responder a qualquer destes endereos porque A13 est baixo.

H um total de 15 sombras de ROM, reas onde ela se repete. Diversos endereos acessam a mesma posio de ROM, p.ex. 0000H, 0800H, 1000H apontam para a primeira posio da ROM.

Mapas de memria
A RAM tambm se repete: quando A13 est alto,
os endereos vlidos so: XX1X XXXX 0000 0000 XX1X XXXX 1111 1111 at

A primeira faixa de RAM de 2000H a 20FFH, e


as demais so sombras.

Usualmente, utiliza-se as faixas mais inferiores


de ROM e de RAM na programao. As sombras no so utilizadas.

Mapas de memria
Ligando mais pastilhas de memria ao mp,
pode-se construir uma memria com qualquer tamanho at 64 KB.

A parte inferior da memria geralmente


reservada para instrues e dados fixos: subrotinas que operam o teclado, o vdeo etc.

A seguir, a rea de dados variveis usa uma


RAM. aqui que os programas do usurio e os resultados do processamento de dados so armazenados.

Mapas de memria

Diagramas de temporizao

19/08/2013

26

Diagramas de temporizao

19/08/2013

27

Diagramas de temporizao

19/08/2013

28

Diagramas de temporizao

19/08/2013

29

Diagramas de temporizao

19/08/2013

30

Instrues de recomeo
Representam uma maneira eficiente de
chamar sub-rotinas usadas com frequncia. Tm o mesmo efeito de uma CALL, usando apenas um byte;

Interrupes: recomeos por hardware

Prioridades das interrupes


Se duas ou mais interrupes forem ativadas ao
mesmo tempo, o mp as atender pela sua ordem de prioridade.

Disparo das interrupes


Para atender a diferentes tipos de perifricos, existem interrupes ativadas por borda e por nvel.

Circuitos de interrupo

Instruo SIM

Instruo RIM

Exemplo de E/S por Interrupo

19/08/2013

39

Expanso das Interrupes

19/08/2013

40

Acesso Direto Memria

19/08/2013

41

Exerccios
1. No esquema de entrada programada, use o bit 0 da
porta 10H para INICIO e o bit 1 da porta 11H para STATUS. Escreva um programa que recebe e armazena 256 bytes de dados nos endereos 5000H a 50FFH.

Exerccios
LXI H, 5000H MVI C, 00H LOOP: MVI A, 01H OUT 10H WAIT: IN 11H ANI 02H JZ WAIT IN 12H MOV M,A INX H MVI A, 00H OUT 10H DCR C JNZ LOOP HLT

Exerccios
2. Escreva um programa que transfira os contedos dos endereos 8000H a 83FFH para um dispositivo perifrico, fazendo handshaking como na figura.

Exerccios
LXI H, 8000H LOOP: MOV A,M OUT 12H MVI A, 40H OUT 10H WAIT: IN 11H ANI 80H JZ WAIT INX H MVI A, 00H OUT 10H MOV A, H CPI 83H JNZ LOOP MOV A, L CPI FFH JNZ LOOP HLT

Exerccios
3. A UCP est processando o programa principal. Aps um ciclo de instruo, ela constata que as interrupes pendentes I7.5, I6.5 e I5.5 esto todas altas. Que interrupo atendida em primeiro pela UCP em cada um dos casos seguintes? a) IE e M7.5 esto altos, M6.5 e M5.5 esto baixos. b) IE, M7.5, M6.5 e M5.5 esto todos altos. c) IE est alto, M7.5, M6.5 e M5.5 esto baixos. d) IE est baixo.

Circuitos de interrupo

Exerccios
4.
Sejam as instrues MVI A, 1DH SIM Depois da execuo de SIM, que interrupes esto mascaradas?

Exerccios
5. Uma sub-rotina de atendimento de interrupo termina com: RIM EI RET Se o acumulador contm CAH depois da execuo de RIM, responda: a) O dado serial de entrada est alto ou baixo? b) Quais so as interrupes pendentes? c) O bit de habilitao de interrupo est alto ou baixo? d) Que interrupes esto mascaradas?

19/08/2013

49

Exerccios
6. Um programa para entrada de dados serial: MVI B, 00H MVI C, 08H LOOP: RIM ANI 80H ORA B RRC MOV B,A DCR C JNZ LOOP RLC HLT Os bits SID sucessivos depois de cada execuo de RIM so 1,1,0,0,0,0,1,0.
19/08/2013 50

Exerccios
a) Que contm o registrador B depois da primeira execuo de MOV B,A? b) Que contm o registrador B depois da segunda execuo de MOV B,A? c) Qual o contedo do acumulador depois da execuo de RLC? Que letra essa no cdigo ASCII? d) O bit SID correspondente ao LSB foi recebido em primeiro ou em ltimo lugar?

19/08/2013

51

Anda mungkin juga menyukai