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