You are on page 1of 3

Sistemas Digitais

Dep.Armas e Electrónica- Escola Naval


82xx -v 1.5 - Victor Lobo 2007

A FAMÍLIA 82xx INTERFACE COM TECLADO E DISPLAY


Integrados de suporte Integrados de suporte
Integrados de suporte Integrados de suporte

z Conjunto de integrados que realizam tarefas


vulgarmente necessárias em sistemas com µP
z Problema do BOUNCING nos teclados
– Quando de fecha um interruptor há sempre transitórios que
z Foram projectados para trabalhar em conjunto provocam uma série de impulsos em vez de um só
com a família do 8085
– usam os mesmos sinais de controlo, as suas temporizações, etc.

. .
z Exemplos Isto é o que queria ter D Q
– 8250/51 - Prog. Comunications Interface (serie)
– 8253 - Prog. Interval Timer Solução 1
– 8255 - Prog. Periferal Interface Controler
T >t bounce
– 8257/37 - Prog. DMA Controler Isto é interpretado
– 8259 - Prog. Interrupt Controler como sendo 3 “uns”
– 8271 - Diskette Controler
– 8273 - Sychronous Data Link Controler . .
Solução 2
– 8279 - Keyboard / Display Controler
– 8275 - CRT Controler 11 22
V.Lobo @ EN V.Lobo @ EN

INTERFACE COM TECLADO E DISPLAY Leitura do teclado


Integrados
Integradosdedesuporte
Integrados
suporte Integradosdedesuporte
suporte

z PROBLEMA DO Nº. DE TECLAS


→Um teclado pode ter uma centena de teclas z POLLING
→Não é prático ter cem linhas de entrada – Ir periodicamente ler o teclado para ver se está uma tecla
– Solução primida
→Usar uma matriz, com os interruptores nos “nós” – MENOR HARDWARE NO TECLADO
→Torna-se necessário fazer um SCAN ao teclado
z INTERRUPTS
i0 i1 i2 i3 – Usar hardware que está constantemente a monitorizar o
pull-up Vc Input teclado, e que gera uma interrupção para o µP quando
O0 alguma tecla é primida
o – MAIOR VELOCIDADE DE REACÇÃO E DE PROCEDIMENTO
Output push-button
O1
O2 Input Interrupt. Output z Integrados de apoio
O3 – Integrados como o 8089 ou o 8279 tornam estas tarefas mais
1 on 1
fáceis
1 off 1
Se I=1011 e 0=1101, 0 on 0
qual a tecla primida ? 0 off 1
V.Lobo @ EN
33 V.Lobo @ EN
44

SERVIÇOS FORNECIDOS PELO 8279 MODO DE OPERAÇÃO


Integrados
Integradosdedesuporte
suporte Integrados
Integradosdedesuporte
suporte

z Controlo do telcado
– Scan do teclado (4x8) com frequência programável e debounce z Tem dois registos: (endereçados com A )0 µP dispositivos
8279 8
– Fifo de caracteres vindos do teclado (8) - evita perca de caracteres – DATA IN / DATA OUT IRQ RL
– Geração de interrupts – Write Comand Word/Read Status Word
8
DATA SHIFT

RD CNTR
z Controlo do Display z É programável WR 4
SL
– RAM de 16 posições para o display – Para programar basta escrever um CS 4

– Diversos modos de entrada de dados para a RAM byte (um comando) no registo AO 4
– Scanning das linhas de saída Command word OUT
RESET
– Os comandos levam o integrado a
diversos MODOS de funcionamento CLK BO
z Ligação ao µP – Posso programar a frequência de poll
– O integrado comporta-se como 2 registos que ocupam 2 endereços do teclado, o modo como os novos
– Pode ser memory-mapped ou ligado ao espaço de I/O (consoante os dados são escritos no display, etc.
sinais que actuam o pino CS)

V.Lobo @ EN
55 V.Lobo @ EN
66

Página 1
1
Sistemas Digitais
Dep.Armas e Electrónica- Escola Naval
82xx -v 1.5 - Victor Lobo 2007

ALTERNATIVAS CONTROLADOR DE INTERRUPÇÕES (8259)


Integrados de suporte Integrados de suporte
Integrados de suporte Integrados de suporte

z OBJECTIVO
– Aceitar pedidos de interrupção e revectorizá-los para o
z Se não quisermos usar integrados de suporte endereço conveniente
teremos que gastar muito mais hardware, software, – Diminuir o nº de pinos do µp utilizados para interrupções e
reduzir o nº de integrados necessários para atender as mesmas
e tempo
z FUNÇÕES IMPLEMENTADAS
V
CC – Atribuição de prioridades, e nesting das interrupções
A0-n
– Gerar o sinal INTR.
I/O-WR
Exemplo do hardware de
8 – Responder ao sinal INTA com a instrução apropriada (um RST)
interface com um teclado EN

8085 8259
Seria necessário escrever uma
rotina que periodicamente A0-n INTR pedidos de interrupção
EN
faça um scan deste teclado I/O-RD 8
INTA

DO-7

V.Lobo @ EN
77 V.Lobo @ EN
88

CONTROLADOR DE PORTOS PARALELOS/TIMER /RAM CONTROLADOR DE PORTOS PARALELOS/TIMER /RAM (


( 8155, 8255, 8355, e 8755 ) Integrados de suporte 8155, 8355, 8755 ) Integrados
Integrados de suporte Integradosdedesuporte
suporte

z OBJECTIVOS 8155
A A A
– Gerir as portas de I/O 2 1 0
byte de comando byte de status
– Fornecer temporizador / controlador de eventos elementar 00 0

– Fornecer uma pequena memória 001 buffer do porto A


→RAM (8155) ou ROM (8255) PROM (8355) ou EPROM (8755) Memória Ram
– Permitir construir um sistema completo com muito poucos 010 buffer do porto B
00-FF
integrados buffer do porto C
011

z LIGAÇÃO DO INTEGRADO NO ESPAÇO DE 10 0 8 bits menos sig. do temporizador


ENDEREÇAMENTO
6 bits mais sig. do temporizador +
– Não é necessário externamente desmultiplexar o bus de 10 1
2 bits de modo
dados/endereços (o integrado fá-lo internamente)
– O sinal IO/M distingue a memória RAM dos portos (que usam os
mesmos endereços).

AD0-AD7
z PROGRAMAÇÃO ALE WR Reset
– O integrado pode ser programado escrevendo no commad word
e nos registos de controlo do timer. Timer out CE RD IO/M
PA 0-PA7 PB 0-PB7 PC0-PC5
99 Timer in 10
V.Lobo @ EN V.Lobo @ EN
10

CONTROLADOR DE PORTOS PARALELOS/TIMER /RAM


( 8155, 8255, 8356, 8755 )
HANDSHAKING
Integrados de suporte Integrados de suporte Integrados
Integradosdedesuporte
suporte

z BYTE DE COMANDO z Protocolo que regula a comunicação entre


dispositivos. Neste caso a comunicação é
D7 D6 D5 D4 D3 D2 D1 D0 regulada pelo sinal de saída BF (buffer full), o sinal
de entrada STRB (strobe), e ainda um sinal de
TEMPORIZADOR PORTO A interrupção INTR para o µp
PORTO B – Comando do temporizador (byte de comando endereço 000 )
PORTO C
→00 - parar
INTERRUPT ENABLE NA PORTA A
→01 - parar
INTERRUPT ENABLE NA PORTA B
→10 - parar depois de atingir o fim
→11 - começar
Comando das portos A e B
Comando da porta C – Comando do modo do temporizador (bits+significativos do
0 ⇒ Porto de entrada
00 ⇒ entrada (6 bits)
endereço 101)
1 ⇒ Porto de saída
11 ⇒ saída (6 bits) →00 - onda quadrada singular
01 ⇒ saída (3 bits) + Handshaking para A →01 - onda quadrada contínua
Interrupt enable dos portos A e B 10 ⇒ Handshaking para A e B
→10 - pulso singular
0 ⇒ disable
1 ⇒ enable →11 - trem de pulsos

V.Lobo @ EN
11
11 V.Lobo @ EN
12
12

Página 2
2
Sistemas Digitais
Dep.Armas e Electrónica- Escola Naval
82xx -v 1.5 - Victor Lobo 2007

BYTE DE STATUS RESET,E PINOS DO BUS DE CONTROLO


Integrados de suporte Integrados de suporte
Integrados de suporte Integrados de suporte
z RESET
– Reiniciliza os registos de controlo
X INTR INTE BF INTR INTE BF INTR
TIMER B B B A A A z INSERÇÃO NO ESPAÇO DE A8-A15
ENDEREÇAMENTO CE
– 1) Sem duplicação de endereços
lógicos, usando um espaço contíguo 7
ADO-7
– 2) usando metade do espaço de
endereçamento AD0 - AD7
z INTR - Interrupt pending
– 3) Truques para usar eficientemente as
portas de I/O CM < 16
z INTE - interrupt enabled 7

AM
z BF - buffer full CE

AD0 - 7
AD0 - AD7
V.Lobo @ EN
13
13 V.Lobo @ EN
14
14

EXEMPLO DE UM SISTEMA MÍNIMO PROBLEMAS


Integrados
Integradosdedesuporte
Integrados
suporte Integradosdedesuporte
suporte

z Pretende-se um sistema que envie um conjunto


de N bytes através de uma ligação paralela de 8
8155 8355
6 ALE
bits, a um ritmo de 300 baud, com um 8155, um
RD RAM ROM µP 8085, e um CLK externo de 12K Hz. Desenhe o
WR UP AD0 CE AD0-7 CE logigrama do circuito.
IO/ M
RESET OUT AD0-7+ AD0-7 AD0-7
CLK OUT A8-15 A13 A13 z Pretende-se um sistema para a contagem de
VCC eventos que, de 100 em 100 eventos, escreva o
VCC
RESET nº de eventos num display de 7 segmentos (os
GND eventos só vão até 1000). O evento é identificado
por um flanco de 0 para 1 numa linha. Desenhe o
X1 Rst
X2 logigrama do circuito
Imagine que queria contar o número de automóveis que passa numa estrada. Como iria gerar os eventos ?

V.Lobo @ EN
15
15 V.Lobo @ EN
16
16

SDK 85 SDK 85
Integrados
Integradosdedesuporte
suporte Integrados
Integradosdedesuporte
suporte
KEYBOARD DISPLY
z É um microcomputador completo CPU
ADDRESS
DECODER
ROM/IO (8355)
EPROM/IO (8755) RAM/IO/COUNTER
ADDRESS
FIELD
DATA
FIELD

– CPU, ROM, RAM, Portos de I/O, Interface com display e teclado . . . . . .

RESET VECT
C D E F
INTR

Dispõe de um PROGRAMA MONITOR


SINGLE 8 9 A
z
GO B
STEP H L
SUBST EXAM 4 5 6 7
MEM REG SPH SPL PCH PCL
– Faz as vezes de um SISTEMA OPERATIVO NEXT EXEC 0 1 2 3
SERIAL

– Permite introduzir um programa para memória, visualizar o I/O TO IO LINES IO LINES


TTY 74LS156
conteúdo da memória e dos registos, correr um programa que
esteja em memória, e correr o programa em modo STEP BY STEP. INTERRUPT
8755 8155

8085 8205 8355 8155 8279


– Tem rotinas para fazer input/output para o teclado e display, bem
INPUTS

como outras rotinas utilitárias


DATA/

Permite a adição de hardware extra


ADDRESS
z BUS

ADDRESS
z Dispõe de apenas 256 bytes de RAM BUS

– A memória está mapeada para os endereços 2000H a 20FFH, mas


apenas devem ser usados os endereços até 20CFH (o próprio CONTROL
BUS
programa monitor usa os restantes endereços)
A PLACE HAS BEEN PROVIDED ON THE P C BOARD FOR THE DEVICE BUT THE
17 18
OPTIONAL

17 18
DEVICE IS NOT INCLUDED.
V.Lobo @ EN V.Lobo @ EN

Página 3
3

You might also like