Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouDaniel Domingos Palhares Alterado mais de 8 anos atrás
1
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa
2
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução O PIC16F877A possui três módulos timers: –Módulo Timer 0. –Módulo Timer 1. –Módulo Timer 2. Podem ser utilizados como temporizadores ou como contadores (exceto timer 2).
3
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução Temporizador. 8 e 16 bits
4
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução Contador. –Pulsos externos (via pinos) são utilizados para incrementar o valor do registrador. –O tempo não é determinado, apenas eventos são contados.
5
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Características. –Registrador de 8 bits. Pode ser lido ou escrito. –Prescaler de 8 bits configurado via software (compartilhado com o watchdog timer). –Seleção de clock interno ou externo. –Interrupção no overflow de FFh para 00h. –Seleção de borda do clock externo.
6
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Registradores associados. –TMR0 Registrador utilizado para contar o tempo (temporizador) ou contar eventos (contador) – Bancos 0 e 2. –INTCON Habilitar e sinalizar interrupções TMR0 – Todos os bancos. –OPTION_REG Configuração do timer0 – Bancos 1 e 3.
7
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 OPTION_REG.
8
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 INTCON.
9
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Temporizador. –T0CS = 0 de OPTION_REG. –O módulo timer incrementará a cada ciclo de instrução (sem prescaler). –Se TMR0 for escrito, o incremento será inibido pelos dois ciclos de instruções seguintes.
10
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Contador. –T0CS = 1 de OPTION_REG. –Timer0 será incrementado na borda de descida ou de subida do pino RA4/T0CKI. –Em OPTION_REG, T0SE = 0 (subida) e T0SE = 1 (descida).
11
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Interrupção TMR0. –Gerada quando ocorre um overflow de FFh para 00h no registrador TMR0. –O overflow seta o bit TMR0IF de INTCON. –A interrupção ocorre se TRM0IE for setado. –O bit TMR0IF deve ser zerado via software. –Esta interrupção não pode “acordar” o processador de um SLEEP, pois o timer é desligado durante um SLEEP.
12
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Exemplo: Temporizador 0 - Assembly.
13
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Exemplo: Temporizador 0 - Assembly.
14
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 0 Exemplo: Temporizador 0 – Linguagem C.
15
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 Temporizador/contador de 16 bits. –Dois registradores de 8 bits – TMR1H E TMR1L. Podem ser lidos e escritos. –Interrupção no overflow de FFFFh – 0000h, se a interrupção TRM1 estiver habilitada.
16
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 Registradores associados. –Configuração de Timer1.
17
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 T1CON. Temporizador ou contador
18
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 Exemplo temporizador 1 - Assembly.
19
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 Exemplo temporizador 1 - Assembly.
20
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 Exemplo temporizador 1 – Linguagem C.
21
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 2 Temporizador de 8 bits com prescaler e postscaler. –Pode ser lido e escrito. Possui um registrador de período PR2. –TRM2 incrementa de 00h até PR2 e retorna para 00h.
22
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 2 Registradores associados.
23
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 2 T2CON.
24
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 1 Exemplo temporizador 2 – Linguagem C.
25
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timer 2 Exercício em grupo: faça um programa em assembly equivalente ao programa em C do exemplo anterior.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.