Você está na página 1de 14

Microprocessadores

Prof. Arthur Braga

Tópicos
„ Temporização do Sistema
„ O Circuito de Temporização 8254
„ Programando o 8254
… Modos de Operação
… Leitura dos Canais
… Exemplo

1
Temporizaç
Temporização do Sistema

„ Funções de contagem e temporização freqüentemente são


necessárias para realizar interfaces.

„ Na placa do PC temos o CI 8253-5 da Intel, ou um


compatível, que implementa essas funções. Esse CI possui
as seguintes características:
… 3 canais temporizadores / contadores (16 bits) independentes.
… Cada canal tem uma entrada de CLK, e uma entrada habilitadora
(GATE).
… Cada canal possui uma saída OUT – a função da saída muda conforme
o modo em que o canal está programado.
… No PC, o CLK para os 3 canais é o mesmo (1,19318 MHz), cada
contagem com duração aproximada de 838,1 ηs.

Temporizaç
Temporização do Sistema
Canal 0
9 Temporizador do Sistema.
9 Entrada habilitadora ligada em Vcc.
9 A saída provoca a IRQ 0 (INT 08h do DOS) - Data e hora.

2
Temporizaç
Temporização do Sistema
Canal 1
9 Refresh da memória DRAM.
9 Entrada habilitadora ligada em Vcc.
9 Não alterar!!!!

Temporizaç
Temporização do Sistema

Canal 2
9 Originalmente, era usado para gerar a saída serial que enviada ao
gravador de áudio.
9 Alto-falante;
9 Entrada de habilitação ligada ao bit 0 da porta 61h.

3
Temporizaç
Temporização do Sistema

Diagrama dos 3 contadores

Como é fisicamente este CI ?

O Circuito de Temporização 8254

4
O Circuito de Temporização 8254 (O Contador)

Como fazer
referência a
esses
registradores
?

Programação dos temporizadores

Como Programar o CI ?

5
Programação dos temporizadores (Control Word Register)

8254
Read-Back

9 Exemplo: Programar o canal 2 para operar em binário, no


modo 3, e com um divisor de freqüência igual a 0180h.

Programação dos temporizadores


9 Exemplo: programar o canal 2 para operar em binário,
no modo 3 e com um divisor de freqüência igual a 0180h.

MOV dx, 043h ;escrever a palavra de controle


MOV ax, 0B6h ;CW = 10110110
OUT dx, ax

MOV dx, 042h


MOV ax, 80h ; carregar o byte menos significativo do divisor
OUT dx, ax
MOV ax, 01h ; carregar o byte mais significativo do divisor
OUT dx, ax

Como são os modos de operação ?

6
Programação dos temporizadores
9 Modos de operação:
Modo 0 – interrupção ao atingir a contagem final;
Modo 1 – “one Shot” programável;
Modo 2 – Gerador de taxa (“Rate Generator”);
Modo 3 – Onda quadrada;
Modo 4 – “Strobe” disparado por software;
Modo 5 – “Strobe” disparado por hardware;

Programação dos temporizadores


9 Modo 0 – interrupção ao atingir a contagem final:
A saída OUT vai para zero depois de carregada a palavra de controle,
são carregados os registradores do contador e, ao final da contagem,
OUT volta para 1. Permanece em 1 até ser carregado novamente.

7
Programação dos temporizadores
9 Modo 1 – “one Shot” programável:
A saída OUT vai para 1 depois de carregado o contador. Ao receber
uma entrada em GATE, vai para zero e inicia a contagem. Ao final da
contagem OUT volta para 1, e fica “esperando” outro sinal no GATE.

Programação dos temporizadores


9 Modo 2 – Gerador de taxa (“Rate Generator”):
Divide o clock (CLK) de entrada pelo valor N no contador, criando uma
nova freqüência de contagem. A saída OUT vai para 1 na programação
do contador e, ao final da contagem, OUT vai para zero por um período
do relógio de entrada.

8
Programação dos temporizadores
9 Modo 3 – Onda quadrada:
Muito parecido com o modo 2, exceto que a saída OUT permanece em
nível alto durante a metade da contagem, e depois em baixo durante a
outra metade da contagem. Ao final da contagem, o contador se auto-
recarrega.

Programação dos temporizadores


9 Modo 4 – “Strobe” disparado por software:
Neste modo, após a programação da palavra de controle, a saída OUT
vai para alto. O contador inicia a contagem logo após a carga. Quando
é atingida a contagem final, OUT vai para nível baixo durante um
período do relógio e volta para alto. Se o contador é carregado com um
novo valor, a contagem atual não é afetada.

9
Programação dos temporizadores
9 Modo 5 – “Strobe” disparado por hardware:
Este modo é muito semelhante ao modo 4. Só que enquanto o modo 4
é disparado por software, o modo 5 é disparado por hardware. A
diferença é que a contagem é iniciada com um flanco ascendente (↑)
no GATE. Quando a contagem final é atingida, OUT vai para nível
baixo durante um período do relógio de entrada.

Além de programar (“escrever”) o 8253-5, é possível “ler” o dispositivo ?

Leitura dos canais


9 Ler sem afetar a contagem, três maneiras:
9 Leitura direta;
9Comando “Latch”;
9 Comando “Read-Back”;

9 Leitura direta:
9 Necessita desabilitar o sinal de CLK;

10
Leitura dos canais
9 Comando “Latch”:

canal

9 A contagem deve ser lida no endereço do contador, da


maneira como ele fora programado.

Leitura dos canais


9 Comando “Read-Back”:

9 Armazena a contagem e/ou estado dos contadores.


Devem serem lidos no endereço do contador. Sempre
que estado e contagem estiverem armazenados, o estado
será lido primeiro.

11
Leitura dos canais
9 Byte de estado:

Leitura dos canais


9 Exemplos do Comando “Read-Back”:

12
Exemplo
9 Programar o canal 2 para gerar som na freqüência de
100Hz.

Exemplo
9 Programar o canal 2 para gerar som na freqüência de
100Hz.
MOV dx, 043h ;escrever a palavra de controle
MOV ax, 0B6h ;CW = 10110110
OUT dx, ax

MOV dx, 042h


MOV ax, 7Ch ; carregar o byte menos significativo do divisor
OUT dx, ax
MOV ax, 2Eh ; carregar o byte mais significativo do divisor
OUT dx, ax

MOV dx, 061h


IN ax, dx ; pegar o antigo valor da porta 61h
OR ax, 3h ; colocar os bits D1 e D0 em 1
OUT dx, ax

13
Bibliografia Básica
„ Zelenovsky, Ricardo e Mendonça, Alexandre, PC um
guia prático de Hardware e Interfaceamento, MZ Editora
Ltda, 4a. edição, 2006. (http://www.mzeditora.com.br/)
„ Brey, Barry, The Intel Microprocessors - 8086/88, 286,
386 and 486 - Architecture, Programming and
Interfacing, Third Edition, PHI, 1994.
„ Zanco, Wagner da Silva. Microcontroladores PIC
16F628A/648A – uma abordagem prática e objetiva,
Editora Érica, 2005.

Material da Disciplina
http://www.dee.ufc.br/~arthurp

Outras Fontes:
„ Notas de aula Prof. Otacílio/DEE/UFC.
„ Notas de aula Prof. Luiz Henrique/DEE/UFC.
„ Notas de aula Profs. Cláudio Faria e Lideir Viana.
„ Site lab. LSI/USP:
http://www.lsi.usp.br/~chip/
„ Notas de aula Prof. Adilson Gonzaga/SEL/EESC/USP:
http://iris.sel.eesc.sc.usp.br

14

Você também pode gostar