Escolar Documentos
Profissional Documentos
Cultura Documentos
Lab 08
Lab 08
1. Objetivos
Mostrar como o microcomputador gera os sinais de controle e como estes são usados no sistema MC-LAB.
2. Equipamento necessário
4. Experimentos
O 8085A possui 5 entradas de interrupções: INTR, RST 5.5, RST 6.5, RST 7.5 e TRAP.
A linha /INTR (Interrupt Request ou Pedido de Interrupção) tem a menor prioridade e no microcomputador
MC -1 está ativa no estado lógico “0”. A linha /INTA (Interrupt Acknowledge ou reconhecimento da
interrupção) é usada para ler a próxima instrução depois do pedido /INTR ter sido aceito pelo
microcomputador.
Este experimento mostrará como usar a linha /INTR e como o microcomputador toma conhecimento do
pedido de interrupção.
Conecte o microcomputador à unidade Bus Adapter e sua porta de entrada de dados (DATA IN) a 8
chaves. Estas chaves permitem estabelecer um código de instrução que poderá ser lido pelo sinal /INTA.
Leve as chaves ao estado:
CF = 1100 1111
onde CF é o código da instrução RST 1.
Conecte a linha /INTR à saída Q de um dos push-buttons (PB1 ou PB2).
Execute o seguinte programa, que aguarda um pulso na linha /INTR e quando o recebe, devolve o controle
ao monitor. Aplique um pulso na entrada /INTR e observe o resultado obtido.
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
LXI SP,20A0 defina o stack pointer
LOOP: EI habilita as interrupções
JMP LOOP espera o sinal /INTR
Tabela 1 - Uso da linha /INTR
Altere o estado das chaves para:
EF = 1110 1111
onde EF é o código da interrupção de software RST 5. Como já sabemos, ao executarmos a instrução RST
5, o processamento é desviado para a posição 0028 em ROM (5 x 8 = 40D = 28H). Nesta posição existe
um JMP para a posição 20C2 em RAM (veja o roteiro do laboratório 5). Portanto, é possível armazenarmos
uma instrução JMP a partir de 20C2 para a Rotina de Serviço da RST 5 (RSI5).
56
A rotina de serviço da RST 5 pode, por exemplo, acender os Leds da porta A do 8155, tal como mostrado
na Tabela 2. Execute este programa e verifique o resultado obtido.
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
LXI SP,20A0 defina o stack pointer
LOOP: EI habilita as interrupções
JMP LOOP espera o sinal /INTR
As entradas RST 6.5 e RST 7.5 são interrupções de hardware que ocasionam um RESTART interno para
posições de memória preestabelecidas. O sinal RST 7.5 está conectado à tecla RST 7.5 do teclado do MC-
1. O sinal RST 6.5 se encontra disponível num conector da unidade Bus Adapter. As duas interrupções
possuem maior prioridade que o sinal INTR.
O programa mostrado na Tabela 3 espera uma interrupção RST e envia ao display de dados uma
mensagem. Se o sinal recebido for a RST 6.5, a mensagem será “65”, se, por outro lado, for a RST 7.5, a
mensagem será “75”. Execute o programa e envie alternadamente sinais RST 6.5 e RST 7.5 ao
microprocessador.
O programa dado na Tabela 4 mostra um contador no display de dados. Este contador será interrompido
pressionando-se a tecla RST 7.5 e retornará a contagem quando qualquer outra tecla (exceto RESET IN)
for pressionada. A letra “E”no display de endereços significa que o programa está sendo executado.
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
LXI SP,20A0 define o stack pointer
MVI A,08 retira as máscaras das interrupções
SIM
AGAIN: EI habilita as interrupções
57
MOV A,B
ADI 01 incrementa o contador
DAA ajusta o contador ao modo decimal
MOV B,A
PUSH B
CALL mostra a contagem no display de
UPDDT dados
LXI D,1800
CALL espera um certo tempo e incrementa o
DELAY contador
POP B
JMP AGAIN começa novamente
5. Tarefa
Modifique o programa da Tabela 5 para contar, além dos segundos, os minutos e as horas, de tal modo que
seja possível observar o resultado desta contagem no displays de endereços e de dados.
6. Para pensar
Suponha que dois periféricos desejam usar a RST6.5. Como isto é possível?
58