A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Configuração de Periféricos

Apresentações semelhantes


Apresentação em tema: "Configuração de Periféricos"— Transcrição da apresentação:

1 Configuração de Periféricos
Microcontrolador MC68HC908QT/QY

2 Periférico de Temporização
Existem três funções principais para o módulo temporizador de um microcontrolador: Estouro de Tempo PWM Modo Captura de Entrada

3 Estouro de Tempo Esta função do periférico de temporização possibilita criar tempos determinados para um certa tarefa ser realizada. Ex: Contagem de tempo de um relógio, atualização de display, varredura de portas, etc A configuração dessa função é realizada através dos registradores TSC, TMODH e TMODL.

4 Estouro de Tempo TSC (Timer Status and Control Register)

5 Estouro de Tempo Divisor de Clock

6 Estouro de Tempo TRST – Timer Reset Bit TSTOP – Timer Stop Bit
0 = Sem Efeito 1 = Reseta o contador e limpa o divisor de clock TSTOP – Timer Stop Bit 1= Contador parado 0 = contador ativo TOIE – Hab. Interrupção de Estouro de Timer 1 = Interrupção habilitada 0 = Interrupção desligada

7 Estouro de Tempo TOF – Flag de Estouro de Timer 1 = Estouro de timer
0 = Contagem em progresso Registradores de Contagem

8 Estouro de Tempo Registradores de Módulo de Contagem

9 Estouro de Tempo A freqüência de barramento do microcontrolador é equivalente a freqüência do clock externo dividido por 4. Ex: Para um cristal de 20Mhz, a freqüência de trabalho é de 5Mhz. Desta forma o período de ciclo de instrução é de 1 / 5Mhz = 200ns.

10 Estouro de Tempo Devido ao processador do microcontrolador ser de tecnologia CISC (Complex Instruction Set Computer), as instruções normalmente levam mais de um ciclo de clock para serem executadas.

11 Estouro de Tempo Configuração da Interrupção por Tempo:
Ex: Com um cristal de 12.8Mhz deseja-se gerar uma interrupção de tempo a cada 10ms. Primeiro dividimos o clock por 4, ou seja, o clock de barramento é de 3.2Mhz Sem dividirmos o clock, o período de ciclo de máquina será  1/3.2Mhz = 312.5ns

12 Estouro de Tempo Configuração da Interrupção por Tempo:
Quantas vezes de 312.5ns precisamos contar para obter 10ms? Contagem = 10ms/312.5ns = 32000 32000 em hexadecimal será  7D 00

13 Estouro de Tempo Configuração da Interrupção por Tempo:
Desta forma chegamos a seguinte configuração: TSC = 40h TMODH = 7Dh TMODL = 00h Ou seja: MOV #$7D,TMODH (Obs: Sempre deve-se MOV #$00,TMODL configurar o reg. TMODH MOV #$40,TSC antes de TMODL)

14 Estouro de Tempo Configuração da Interrupção por Tempo:
Exercícios (casos críticos): Encontre as configurações de tempo (TSC,TMODH e TMODL) para as seguintes configurações: A) Cristal = 12.8Mhz, int. de tempo de 5 segundos B) Cristal =12.8Mhz, int. de tempo de 2 us.

15 PWM (Modulação por largura de Pulso)
Permite gerar PWMs em dois modos, com buffer e sem buffer.

16 PWM Modo com Buffer – Utiliza os 2 canais de timer para realizar 1 PWM. Modo sem Buffer – Permite a geração de 1 PWM por canal de timer.

17 PWM Microcontrolador utilizado: Canais de Tempo

18 PWM Registradores de configuração do PWM:

19 PWM

20 PWM CHxF – Bit da flag do canal
Torna-se 1 durante os eventos do canal CHxIE – Habilita interrupção do canal quando setado, ou seja, quando igual a 1. TOVx – Toogle on Overflow. Inverte o nível do pino do canal quando ocorrer uma interrupção de tempo. CHxMax – Aciona o Duty Cycle máximo do canal enquanto estiver setado.

21 PWM

22 PWM Como inicializar o PWM: No registrador TSC:
Parar a contagem através do bit TSTOP; Resetar a contagem e o divisor de clock através do bit TRST; Escrever o valor do período do PWM nos registradores TMODH e TMODL; Escreva nos registradores TCHxH e TCHxL o valor da largura de pulso;

23 PWM No registrador de Canal (TSCx) configure os bits específicos para a seleção do modo de operação do PWM. No registrador TSC limpe o bit TSTOP para iniciar a contagem. MOV #$XX,TMODH MOV #$XX,TMODL MOV #$XX,TCHxH MOV #$XX,TCHxL MOV #$XX,TSCx MOV #$XX,TSC

24 PWM Como alterar a largura de pulso em um PWM sem Buffer:
Quando mudando a largura de pulso para um valor menor, escreva o novo valor dentro da interrupção de comparação de saída; Quando mudando a largura de pulso para um valor maior, escreva o novo valor dentro da interrupção de estouro de tempo.

25 PWM Como alterar a largura de pulso em um PWM com Buffer:
Quando selecionado o modo com buffer, os dois canais são interligados, estando o PWM ativo inicialmente no canal zero. Para alterar a largura de pulso, o usuário deve escrever o novo valor nos registradores do canal inativo, por exemplo, na primeira alteração, os novos valores serão escritos em TCH1H e TCH1L.

26 Captura de Entrada Neste modo, quando ocorre uma borda de descida, borda de subida ou ambas (dependendo da configuração), o microcontrolador copia o conteúdo do registrador de contagem TCNTH:TCNTL para os registradores do canal, TCHxH:TCHxL. Exemplo de aplicação: Decodificação de tempos em controles RF, determinação de velocidade através de sensores na roda, etc.

27 Periférico Conversor Analógico / Digital
O microcontrolador utilizado possui 4 canais de A/D, como pode ser verificado em sua configuração de pinos:

28 Periférico Conversor Analógico / Digital
Tempo de conversão: Ou seja, com um clock de A/D de 1 Mhz, cada conversão irá demorar o tempo de 16 ciclos de 1us, totalizando 16us para uma conversão. Neste caso, a máxima taxa de amostragem é de 62,5 Khz.

29 Periférico Conversor Analógico / Digital
Divisão do clock

30 Periférico Conversor Analógico / Digital
Configuração

31 Periférico Conversor Analógico / Digital
Configuração

32 Periférico Conversor Analógico / Digital
Configuração AIEN Bit de habilitação da interrupção do conversor Analógico Digital. COCO – Conversion Complete Torna-se 1 quando uma conversão se completa. ADCO – Habilita Conversão continua

33 Periférico Conversor Analógico / Digital
Aonde podemos verificar o valor convertido?

34 Interrupção Externa IRQF1 – Torna-se 1 quando uma interrupção estiver pendente ACK1 – Escrever 1 para este registrador limpa o flag de interrupção IMASK1 – Escrever 1 para esse bit desliga a interrupção externa MODE1 1 = interrupção tanto para borda de descida, quanto para nível lógico baixo. 0 = Interrupção somente em borda de descida

35 Interrupção de Teclado
IRQF1 – Torna-se 1 quando uma interrupção estiver pendente ACK1 – Escrever 1 para este registrador limpa o flag de interrupção IMASK1 – Escrever 1 para esse bit desliga a interrupção de teclado MODE1 1 = interrupção tanto para borda de descida, quanto para nível lógico baixo. 0 = Interrupção somente em borda de descida

36 Interrupção de Teclado
KBIE5-KBIE0 – Habilita a interrupção de teclado para os pinos PTA5-PTA0. AWUIE – Não é utilizado para teclado


Carregar ppt "Configuração de Periféricos"

Apresentações semelhantes


Anúncios Google