Post on 07-Feb-2019
ELE 1078 - Microprocessadores I
AULA 13
Conjunto de Instruções do Microprocessador 8085A
- Entrada e Saída (I/O) -
13.1 - Grupos de Instruções
As instruções no 8085 são distribuídas em 5 grupos:
Grupo de transferência da dados: Move dados entre registradores ou
posição de memória e registradores;
2. Grupo Aritmético: Adição, subtração, Incrementos, decremento;
3. Grupo Lógico: AND, OR, XOR, Comparação, Rotação, Complemento;
4. Grupo de Desvio: Condicionais, Incondicionais, Subrotinas;
5. Grupo de Controle, Pilha, Entrada e Saída.
13.2 - Formas de entrada e saída de Dados
Há basicamente duas formas de comunicação entre o microprocessador e um
periférico.
Comunicação serial: É enviado um bit de cada vez. A taxa de transmissão é medida
em bits por segundos (bps).
Comunicação paralela: É enviado um grupo de bits simultaneamente. A taxa de
transmissão é medida em bytes por segundos.
13.3 - Dispositivo programável 8155 (8255)
O 8155 é um dispositivo programável projetado especialmente para ser totalmente
compatível com o microprocessador 8085.
Os sinais ALE, IO/*M, *RD e *WR do 8085 podem ser conectados diretamente no
8155, eliminando a necessidade de demultiplexador externo no barramento
AD7-AD0.
O 8155 contém 256 bytes de memória R/W, três portos de I/O e um timer.
13.4 - Dispositivo programável 8155 (8255)
O 8155 é um dispositivo com duas seções: A memória R/W de 256 bytes e o I/O
programável.
Essas duas seções podem ser vistas como dois chips independentes.
13.5 - Dispositivo programável 8155 (8255)
A seção de I/O inclui dois portos paralelos de 8 bits (A e B) e um porto de 6 bits (C).
Todos os portos podem ser configurados como simples portos de I/O.
Os portos A e B podem ser programados no modo handshake, sendo que cada
porto utiliza três sinais com sinais de handshake do porto C.
13.6 - Dispositivo programável 8155 (8255)
Lógica de Controle.
A lógica de controle do 8155 gera sinais de controle separado para a memória e I/O.
Dos 5 sinais de controle, exceto o chip select (*CE), são sinais de entrada gerados
diretamente pelo 8155.
13.7 - Portos de I/O do 8155
A seção de I/O do 8155 inclui um registrador de controle, três portos de I/O e dois
registrador de timer.
São necessárias três linhas de endereçamento AD2-AD0 (A2-A0) e o Chip Enable
para especificar um dos seis registradores.
Dois sinais de controle (*RD e *WR) são necessários para Ler e Escrever nos
registradores.
13.8 - Portos de I/O do 8155
Para se comunicar com periféricos através do 8155 os seguintes passos são
necessários:
• Determine o endereço (número do porto dos registradores e I/Os) baseado no
Chip Enable e linhas de endereços AD0, AD1 e AD2;
• Escreva a palavra de controle no registrador de controle para uma função de I/O
específica;
• Escreva a instrução de I/O para a porta endereçada para comunicar com o
periférico;
• Se necessário, Ler o registrador de Status para verificar o estado das portas de
I/O. Em aplicações simples esse passo não é necessário.
13.9 - Endereçamento dos Portos
As linhas de endereço AD2-AD0 (A2-A0) selecionam um dos registradores.Os
endereços A3-A7 são don’t care states.
13.10 - Endereçamento dos Portos
As linhas de endereço AD2-AD0 (A2-A0) selecionam um dos registradores.
Os endereços A3-A7 são don’t care states.
Como endereçar os portos?
13.11 - Endereçamento dos Portos
Para selecionar o chip 8155 a saída O4 do decoder 3:8 deve ser nível baixo.
Dessa forma os níveis lógicos em A15 – A11 devem ser:
13.12 - Endereçamento dos Portos
Pela combinação dos 5 bits (A15-A11) de endereços de maior ordem (mais
significativos) com os três bits (A2-A0) de endereços de menor ordem (menos
significativos) formam-se os endereços das portas na faixa de 20H a 25H.
13.13 - Definição da Palavra de Controle
Os bits do registrador de controle são definidos como segue:
13.14 - Definição da Palavra de Controle
Os bits do registrador de controle é definido como segue:
00 => entrada
11 => saída
01 => porto A é controlado via porto C
10 => portos A e B são controlados via porto C
13.15 - Exemplo de Aplicação
Projeto de dois display de 7 segmentos utilizando os Portos A e B do 8155.
13.16 - Exemplo de Aplicação
Os endereços dos portos são os seguintes:
13.17 - Exemplo de Aplicação
Programa para apresentar 2 bytes nos portos A e B:
Exercício 1
Desenvolver o programa de um contador binário de 16 bits, de forma que os
valores contados sejam apresentados nos portos A e B da 8155 e também no
DISPLAY (campo de endereços).
A contagem deve ser em “loop”, com os valores iniciais e finais dados como
segue:
Valor inicial: Endereço 2090h (LSB) e 2091h (MSB)
Valor final: Endereço 2092h (LSB) e 2093h (MSB)
O programa poderá ser interrompido de duas formas:
Primeira: Os bits PC0 e PC1 estão em nível 1: a contagem é reinicializada.
Segunda: A interrupção RST7.5 ativada: leitura de novos valores iniciais e
finais.
Exercício 2
Comunicação entre dois microprocessadores