Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação –...
Transcript of Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação –...
![Page 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á.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/1.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timers - Módulo Timers - PIC16F877A PIC16F877A
Jadsonlee da Silva Sá
[email protected]/~jadsonlee.sa
![Page 2: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/2.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntroduçã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).
![Page 3: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/3.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Temporizador.
8 e 16 bits
![Page 4: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/4.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntroduçã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.
![Page 5: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/5.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Mó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.
![Page 6: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/6.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Módulo Timer 0 Registradores associados.
– TMR0 Registrador utilizado para marcar 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.
![Page 7: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/7.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Módulo Timer 0 OPTION_REG.
![Page 8: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/8.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Módulo Timer 0 INTCON.
![Page 9: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/9.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Mó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.
![Page 10: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/10.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Módulo Timer 0 Exemplo: Temporizador 0 - Assembly.
![Page 11: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/11.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Módulo Timer 0 Exemplo: Temporizador 0 - Assembly.
![Page 12: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/12.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 0Módulo Timer 0 Exemplo: Temporizador 0 – Linguagem C.
![Page 13: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/13.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 1Mó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.
![Page 14: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/14.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 1Módulo Timer 1 Registradores associados.
– Configuração de Timer1.
![Page 15: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/15.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 1Módulo Timer 1 T1CON.
Temporizador ou contador
![Page 16: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/16.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 1Módulo Timer 1 Exemplo temporizador 1 - Assembly.
![Page 17: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/17.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 1Módulo Timer 1 Exemplo temporizador 1 - Assembly.
![Page 18: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/18.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 1Módulo Timer 1 Exemplo temporizador 1 – Linguagem C.
![Page 19: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/19.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 2Mó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.
![Page 20: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/20.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 2Módulo Timer 2 Registradores associados.
![Page 21: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/21.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 2Módulo Timer 2 T2CON.
![Page 22: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/22.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 2Módulo Timer 2 Exemplo temporizador 2 – Linguagem C.
![Page 23: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.](https://reader035.fdocumentos.com/reader035/viewer/2022070312/552fc16f497959413d8ed6e1/html5/thumbnails/23.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Módulo Timer 2Módulo Timer 2 Exercício em grupo: faça um programa em
assembly equivalente ao programa em C do exemplo anterior.