Você está na página 1de 7

MC-LAB - LABORATÓRIO 02: O SISTEMA DE BARRAMENTOS MICROCOMPUTA-

DOR MC-1

1. Objetivos

Mostrar como o microprocessador gera os sinais de controle e como estes são usados no sistema MC-LAB.

2. Equipamento necessário

 Unidade microcomputador MC-1


 Fonte de alimentação de +5 volts MB-2F
 Unidade de serviço PU-116 (Chaves e Indicadores Luminosos)
 Unidade Adaptadora de Barramentos MC-2/3
 Conjunto de cabos de interconexão (DL-2)
 Osciloscópio
3. Teoria

ANTES DE INICIAR A PARTE PRÁTICA, LEIA ATENTAMENTE A TEORIA EXPOSTA NESTE ITEM E
NOS CAPÍTULOS 3 E 4 DO GAONKAR

3.1. O conector de barramento


Cada unidade do sistema MC-LAB possui pelo menos um conector do tipo D no seu painel frontal. Este
conector de 50 terminais permite a conexão entre o microcomputador MC-1 e os diferentes dispositivos
periféricos. A figura 1 mostra o esquema do conector e a situação dos terminais.

Figura 1 - O conector de barramento


Os terminais e suas funções correspondentes no barramento são mostradas na tabela 1 na próxima página.

3.2. O barramento de dados


O microcomputador MC-1 possui um barramento dados bidirecional de 8 bits, conhecido por byte de dados,
que permite a transferência de informação entre o microcomputador e a memória ou dispositivos de
entrada/saída.
Os dados que aparecem no barramento de dados pertencem a alguns dos seguintes tipos:
 Um byte de dados que ingressa, procedente de um dispositivo de entrada.
 Um byte de instrução procedente da memória de programa.
 Um byte de dados procedente ou enviado à memória de dados.
 Bits de controle de status empregados em derivar alguns dos sinais do barramento de controle.
 Os LSBytes e MSBytes de um endereço que será armazenado na pilha.
 Os LSBytes e MSBytes de um endereço que é recuperado da pilha.
 Um byte de instrução enviado por um dispositivo de entrada/saída durante uma interrupção.

Como se pode observar, muitos tipos de dados aparecem no barramento de dados e a única maneira de
diferenciá-los é observando os sinais de controle. Deve ficar claro que o conhecimento do barramento de
controle é indispensável para compreender o comportamento de um microcomputador baseado no 8085A
(vide tabela 1).

6
Tabela 1 - Os terminais do conector do barramento
TERMINAL SINAL FUNÇÃO
1 /INTA Barramento de controle
2 HLDA Barramento de controle
3 CLK Barramento de controle
4 RESET OUT Barramento de controle
5 IO//M Barramento de controle
6 /RD Barramento de controle
7 /WR Barramento de controle
8 ALE Barramento de controle
9 /HOLD Barramento de controle
10 /RST 6.5 Barramento de controle
11 S0 Barramento de controle
12 /INTR Barramento de controle
13 S1 Barramento de controle
14 RDY Barramento de controle
15 /RESET IN Barramento de controle
16 A4 Barramento de endereços
17 A3 Barramento de endereços
18 A2 Barramento de endereços
19 A1 Barramento de endereços
20 A0 Barramento de endereços
21 - Desconectado
22 - Desconectado
23 - Desconectado
24 - Desconectado
25 - Desconectado
26 D0 Barramento de dados
27 D1 Barramento de dados
28 D2 Barramento de dados
29 D3 Barramento de dados
30 D4 Barramento de dados
31 D5 Barramento de dados
32 D6 Barramento de dados
33 D7 Barramento de dados
34 A15 Barramento de endereços
35 A14 Barramento de endereços
36 A13 Barramento de endereços
37 A12 Barramento de endereços
38 A11 Barramento de endereços
38 A10 Barramento de endereços
40 A9 Barramento de endereços
41 A8 Barramento de endereços
42 A7 Barramento de endereços
43 A6 Barramento de endereços
44 A5 Barramento de endereços
45 GND Terra
46 - Desconectado
47 - Desconectado
48 - Desconectado
49 - Desconectado
50 - Desconectado

3.3. O barramento de endereços


O microcomputador MC-1 possui um barramento de endereços de 16 bits que é usado para identificar
posições de memória ou de dispositivos de entrada/saída.
Este barramento é unidirecional, o que significa que as informações de endereço somente poderão ser
enviadas pelo microprocessador 8085.
O barramento de endereços do 8085 também é usado para fornecer os oito bits de endereço dos
dispositivos de entrada/saída. Quando tais dispositivos são endereçados, o barramento de endereços
assume uma nova identidade; este se subdivide em dois barramentos idênticos de 8 bits cada um, os quais
podem ser usados indistintamente para conectar uma interface aos dispositivos de I/O .

7
8
Quando se utilizam as instruções IN ou OUT para endereçar dispositivos de I/O, é possível localizar 2 =
256 dispositivos de entrada diferentes e outros tantos de saída.
O microcomputador está sempre informado se o barramento de endereços está sendo usado para identificar
dispositivos de I/O ou memória. Ele fornece os sinais de controle necessários para identificar que tipo de
atividade está sendo efetuado.

3.4. O barramento de controle

Apesar do nome "barramento de controle", o conjunto de sinais em questão não forma realmente um
barramento, já que as informações que aparecem em cada uma de suas linhas são sempre as mesmas.
Cada linha deste barramento é unidirecional e cumpre uma única função. Assim, continuaremos chamando
de barramento de controle ao conjunto de sinais de controle associados ao 8085. Cada um dos sinais deste
barramento será discutido posteriormente.

3.5. Acesso aos Sinais dos Barramentos


A placa MC-2/3 é a unidade adaptadora de barramentos do sistema MC-LAB. Ela fornece conectores de
2mm ligados ao sistema de barramentos que nos possibilitam estudar os seus sinais.
O MC-1 possui um barramento de dados bidirecional de 8bits. A unidade adaptadora diferencia os sinais de
entrada de dados e dos sinais de saída de dados, como medida de proteção. Cada um desses grupos de
sinais constitui uma porta de 8 bits. Os dados são enviados ou recebidos mediante o emprego das
instruções de programação OUT ou IN, respectivamente.
As portas de dados se encontram no endereço C0H. A figura 2 mostra o diagrama lógico da unidade “Bus
Adapter”.
O 74LS138 é um decodificador de endereços, o 74LS373 é um latch de 8 linhas de dados (porta de saída) e
o 74LS244 um buffer de 8 linhas de dados (porta de entrada).
Quando o circuito lógico detecta o endereço da porta C0H com o sinal de escrita ativado (/WR), um byte de
dados é escrito no latch. Neste caso os valores lógicos dos sinais de endereço serão:
A15 A14 A13 A12 A11 A10 A9 A8 = 11000000 = C0H
com IO//M = 1 e /WR = 0.
Um byte de dados será lido do buffer quando o circuito decodificador de endereços detectar o endereço da
porta C0H com o sinal de leitura ativado (/RD = 0).
Outra característica da unidade Adaptadora de Barramento é sua capacidade de ler um byte do buffer de
entrada de dados quando o sinal /INTA for ativado (/INTA = 0). Quando /INTA é enviado pelo
microcomputador, o buffer de entrada da unidade Adaptadora de Barramento fornecerá o código da
instrução a ser executada.
As linhas A0 - A15 formam o barramento de endereços demultiplexado, conectadas diretamente aos 16 pinos
do barramento de endereços do microcomputador. Essas linhas conduzem os bits de endereçamento das
memórias e dos dispositivos de I/O, sendo levadas ao estado de alta impedância durante os modos HOLD e
HALT e durante o RESET.

8
Figura 2 - MC-2/3 - Diagrama Lógico
TAREFA 1: Explicar detalhadamente como funciona o circuito da fig. 2, ou seja, quais linhas de endereço e
quais linhas de controle selecionam de qual forma o latch e o buffer. Explicar também as funções do
decodificador, do latch e do buffer. (Pegue os datasheets do 74ls138, 74s373 e 74ls244 na Internet ou com
o professor)

9
O barramento de controle consiste em 15 sinais ligados diretamente ao barramento de controle do
microcomputador:
1. /RD - é o controle de leitura; um nível “0” em /RD indica que a memória ou um dispositivo de I/O será lido
pelo microcomputador; também indica que o barramento de dados se encontra disponível para sua
transferência. Este sinal será levado ao estado de alta impedância durante os modos HOLD e HALT e
durante RESET.
2. /WR - é o controle de escrita; um nível “0” em /WR indica que o barramento de dados será transferido à
memória selecionada ou a um dispositivo de I/O. Os dados são fixados durante nível ascendente de
/WR. Este sinal será levado ao estado de alta impedância durante os modos HOLD e HALT e durante
RESET.
3. S0, S1 e IO/ /M - são os sinais de status do ciclo de máquina; o nível descendente de ALE poderá ser
usado para registrar o estado destas linhas. Os estados possíveis são mostrados na tabela 2:
Tabela 2 – Sinais de Status do ciclo de máquina da CPU
IO/ /M S1 S0 STATUS
0 0 1 Escrita em memória
0 1 0 Leitura de memória
1 0 1 Escrita em I/O
1 1 0 Leitura de I/O
0 1 1 Busca do código de operação
1 1 1 Reconhecimento de interrupção
S 0 0 HALT
S X X HOLD
S X X RESET
S = 3-state (alta impedância) - X = não definido

A linha IO//M (Input - Output/Memory) identifica se a transferência de dados se efetua entre endereços de
memória ou de dispositivos de I/O.
4. ALE - é a habilitação do latch de endereços; este sinal habilita o registro dos sinais A 0 - A7.nas linhas
AD0 .. AD7
5. CLK - é a saída de clock; pode ser usada como clock do sistema e sua freqüência é de 2,35 MHz.
6. /RST 6.5 - é a interrupção Restart 6.5; ela causa um recomeço interno no microcomputador a partir do
endereço 0034h, onde existe um JMP para o endereço 20C8h.
7. /INTR - é a solicitação de interrupção (Interrupt Request); é uma interrupção de uso geral, possuindo
menor prioridade que /RST 6.5. Se for habilitada pela programação e ativada, o contador de programa
não poderá ser incrementado e o microcomputador responderá com o sinal /INTA.
8. /INTA - é a linha de reconhecimento da interrupção (Interrupt Acknowledge) e será ativada no lugar de
/RD durante o ciclo de instrução que segue a aprovação do sinal /INTR.
9. /HOLD - este sinal indica que outro microcomputador ou dispositivo de controle externo solicita o uso dos
barramentos de dados o e endereços. Quando /HOLD é reconhecido (por HLDA), os dados, os
endereços, /RD, /WR, IO//M e ALE são levados ao estado de alta impedância (3 state).
10. HLDA - é o reconhecimento de HOLD (Hold Acknowledge); indica que o microcomputador recebeu o
pedido de HOLD e que cederá seus barramentos no próximo ciclo de clock.
11. RDY (READY) - se esta entrada se encontra em “1” durante um ciclo de escrita ou leitura, isso indica que
a memória ou o periférico está pronto para enviar ou receber dados. Se ela encontra-se em “0”, o
microcomputador aguardará um número inteiro de ciclos de clock antes de tentar ler/escrever novamente
dados da/na memória ou periférico em questão.
12. /RESET IN - é o mesmo sinal que está conectado à tecla de mesmo nome no teclado no MC-1. Este sinal
leva o contador de programa a zero e durante o RESET, os barramentos de dados, endereços e controle
do microprocessador são levados ao estado de alta impedância.
13. RESET OUT - indica que a CPU se encontra no estado de RESET.
Note que:
 A0 - A15, /RD, /WR, S0, S1, IO/ /M, ALE, CLK, /INTA, HLDA, RESET OUT são sinais de saída;
 /RST 6.5, /INTR, /HOLD, RDY, /RESET IN são sinais de entrada.

10
4. Experimentos

PARA EXECUTAR OS PROGRAMAS, COMPLETE E CONFIRA TODOS OS CÓDIGOS HEXADECIMAIS


DAS INSTRUÇÕES

4.1. Visualização dos sinais do barramento de dados


Os sinais do barramento de dados podem ser observados nos terminais correspondentes do conector de
barramento, porém o uso da unidade Bus Adapter é recomendada para este fim.
Conecte a unidade MC-2/3 - Bus Adapter - ao microcomputador e execute o programa dado na tabela 3.
Este programa lê a porta de entrada do barramento de dados (C0H) e devolve os dados à porta de saída do
barramento de dados de saída (C0H). A porta DATA IN (C0H) poderá receber as entradas provenientes das
chaves da unidade de serviço PU-116 e a porta DATA OUT (C0H) poderá ser conectada aos indicadores
luminosos (LEDS) da mesma unidade.
Tabela 3 - Uso da porta do barramento de dados
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
AGAIN: IN C0 lê as chaves
OUT C0 acende os Leds
JMP AGAIN Repete

4.2. Visualização dos sinais do barramento de endereços


O microcomputador possui uma entrada de sincronização externa (entrada RDY - READY) que permite à
unidade Bus Adapter solicitar ao microprocessador um “estado de espera” (wait state). Um sinal de
habilitação de leitura (/RD) ou de escrita (/WR) poderá ser usado para deter temporariamente o
microprocessador se for conectado à essa entrada.
Conecte o microcomputador à unidade Bus Adapter; execute o programa dado na tabela 4 e conecte RDY a
/WR. Quando aparecer o sinal /WR, as linhas do barramento de endereço permanecerão no valor definido
pela instrução STA 2010H. Conecte as saídas dos endereços aos indicadores da unidade PU-116 e observe
se foi recebido o endereço correto. O mais prático é que você utilize somente um LED para visualizar todas
as linhas de endereço. Execute o programa para valores distintos de endereços, observando o
conteúdo do barramento de endereços. Note que ao liberar a linha RDY do microprocessador, o ciclo da
instrução terá prosseguimento.
Tabela 4 - Análise do barramento de endereços
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
MVI A, 55H Define o conteúdo do reg. A
AGAIN: STA 2010H Escreve no endereço de memória 2010H
JMP AGAIN Repete

4.3. Visualização dos sinais de controle


O sinal IO//M (Input-Output/Memory) vai ao nível lógico “1” quando se trata de um ciclo de leitura ou escrita
de portas de entrada/saída e passará a zero em um ciclo de leitura ou escrita de memória.
O programa mostrado na tabela 5 auxilia na verificação do estado lógico do sinal IO//M como indicador de
ciclo de leitura/escrita em um dispositivo de entrada/saída. Execute o programa, conecte um LED à saída
IO//M e ligue a entrada RDY à saída /WR. Verifique se o sinal IO//M acende o LED, indicando a operação de
entrada-saída (I/O).
Tabela 5 - IO//M como indicador de entrada/saída
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
MVI A, 55H Define o conteúdo do reg. A
AGAIN: OUT C0 Operação de saída
JMP AGAIN Repete

TAREFA 2: Examine as linhas de status S0 e S1. Examine também o barramento de endereços. Anote
os valores de S0, S1 e das linhas de endereço. Eles estão de acordo com a teoria? Justifique.

11
A tabela 6 mostra um programa parecido com o anterior, mas que usa o sinal IO//M como indicador de
acesso à memória. Repita o procedimento usado anteriormente e comprove que o LED permanece
apagado.
Tabela 6 - IO/ /M como indicador de memória
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
MVI A, 55H Define o conteúdo do reg. A
AGAIN: STA 2010H escreve no endereço de memória
JMP AGAIN Repete

TAREFA 3: Examine as linhas de status S0 e S1. Examine também o barramento de endereços. Anote
os valores de S0, S1 e das linhas de endereço. Eles estão de acordo com a teoria? Justifique.

4.4. A operação HOLD


Na operação HOLD (retenção) o microcomputador suspende temporariamente sua operação e os
barramentos de dados, endereços e controle (linhas /RD, /WR, IO/ /M e ALE) são levados ao estado de alta
impedância.

Conecte uma chave à entrada /HOLD e verifique com um osciloscópio que HLDA (Hold
Acknowledge) assume o valor “1” e que os sinais mencionados encontram-se no estado de alta
impedância. TAREFA 4: Explique os resultados obtidos.

12

Você também pode gostar