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
19/08/2013
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
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.
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.
Instruo DAA
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.
16
fornecem a metade inferior do contador de programa, e em outros estados T, essas mesmas linhas fornecem um dado de 8 bits. 8156.
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
Mapas de memria
Ligando mais pastilhas de memria ao mp,
pode-se construir uma memria com qualquer tamanho at 64 KB.
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;
Circuitos de interrupo
Instruo SIM
Instruo RIM
19/08/2013
39
19/08/2013
40
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