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

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

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

Apresentações semelhantes


Apresentação em tema: "Configuração de Periféricos Microcontrolador MC68HC908QT/QY."— 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: Existem três funções principais para o módulo temporizador de um microcontrolador: Estouro de Tempo Estouro de Tempo PWM PWM Modo Captura de Entrada 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. 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 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. 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) TSC (Timer Status and Control Register)

5 Estouro de Tempo Divisor de Clock Divisor de Clock

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

7 Estouro de Tempo TOF – Flag de Estouro de Timer TOF – Flag de Estouro de Timer 1 = Estouro de timer 1 = Estouro de timer 0 = Contagem em progresso 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. 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. 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. 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: 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. 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 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 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: Configuração da Interrupção por Tempo: Quantas vezes de 312.5ns precisamos contar para obter 10ms? Quantas vezes de 312.5ns precisamos contar para obter 10ms? Contagem = 10ms/312.5ns = Contagem = 10ms/312.5ns = em hexadecimal será 7D em hexadecimal será 7D 00

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

14 Estouro de Tempo Configuração da Interrupção por Tempo: Configuração da Interrupção por Tempo: Exercícios (casos críticos): Exercícios (casos críticos): Encontre as configurações de tempo (TSC,TMODH e TMODL) para as seguintes configurações: 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 A) Cristal = 12.8Mhz, int. de tempo de 5 segundos B) Cristal =12.8Mhz, int. de tempo de 2 us. 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. 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 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. Modo sem Buffer – Permite a geração de 1 PWM por canal de timer.

17 PWM Microcontrolador utilizado: Microcontrolador utilizado: Canais de Tempo

18 PWM Registradores de configuração do PWM: Registradores de configuração do PWM:

19 PWM

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

21 PWM

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

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

24 PWM Como alterar a largura de pulso em um PWM sem Buffer: Como alterar a largura de pulso em um PWM sem Buffer: 1. Quando mudando a largura de pulso para um valor menor, escreva o novo valor dentro da interrupção de comparação de saída; 2. 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: 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. 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. 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. 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. 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: 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: 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 Divisão do clock

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

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

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

33 Periférico Conversor Analógico / Digital Aonde podemos verificar o valor convertido? 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 Microcontrolador MC68HC908QT/QY."

Apresentações semelhantes


Anúncios Google