SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
1
UTFPR – Campus Curitiba
Prof. Amauri Assef
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA
CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA – TECNOLOGIA
EM AUTOMAÇÃO INDUSTRIAL
Sistemas Digitais e Microcontrolados
Contador/Temporizador TIMER 0 - PIC16F877A
Prof. Amauri Assef
amauriassef@utfpr.edu.br
Contador/Temporizador Timer 0
2
UTFPR – Campus Curitiba
Prof. Amauri Assef
Contador/Temporizador Timer 0
CARACTERÍSTICAS
 Contador binário de 8 bits (0x00 – 0xFF)
 Prescaler programável (divisor de frequência)
 Seleção de clock interno ou externo
 Interrupção de overflow de 0xFF para 0x00
 Seleção de borda para clock externo (subida ou descida)
 Registro de contagem TMR0 (endereço 0x01 – banco 0)
FUNÇÕES BÁSICAS
 Contagem de eventos externos (clock de entrada no pino RA4/T0CKI)
 Temporização (contagem de tempo) para clock interno (fclk / 4)
Contador/Temporizador Timer 0
3
UTFPR – Campus Curitiba
Prof. Amauri Assef
T0SE
PS2:PS0
T0CS
PSA
PSA
PSA
Diagrama em bloco do TIMER 0
Contador/Temporizador Timer 0
4
UTFPR – Campus Curitiba
Prof. Amauri Assef
Registrador de configuração do TIMER 0 – OPTION_REG
 Bit 7 - /RBPU
 Bit 6 – INTEDG
 Bit 5 – T0CS: Bit de seleção da fonte de clock do TIMER 0
 0 – Interno
 1 – Transição do pino T0CKI
 Bit 4 – T0SE: Bit de seleção da borda do TMR0
 0 – Incrementa na transição 1 para 0 do pino T0CKI
 1 – Incrementa na transição 0 para 1 do pino T0CKI
 Bit 3 – PSA: Bit de atribuição do prescaler
 0 – Prescaler para o TIMER 0
 1 – Prescaler para p WDT
O registro OPTION_REG fica no BANCO 1, endereço 0x81
 Bit 2-0 – PS2:PS0: Bits de seleção da taxa do prescaler
Contador/Temporizador Timer 0
5
UTFPR – Campus Curitiba
Prof. Amauri Assef
Interrupção
 Pode ser causada por evento interno ou externo:
 Mudança de estado no pino
 Overflow do timer
 Conversão do A/D
 Endereço de retorno salvo na pilha
 Vetor de interrupção no endereço 0x04
 Retorno da interrupção com a instrução RETFIE
 Salvamento de contexto
 W, STATUS e PCLATH
 Limpar o bit de sinalização da interrupção, por exemplo
BCF INTCON, TMR0IF (Assembly)
INTCON.TMR0IF = 0 (C) ou TMR0IF_bit = 0
Contador/Temporizador Timer 0
6
UTFPR – Campus Curitiba
Prof. Amauri Assef
Registro de Interrupção - INTCON
 Bit 7 – GIE: Bit Global Interrupt Enable – Habilitação global das interrupções
 0 – Desabilita todas as interrupções
 1 – Habilita todas as interrupções desmascaradas
 Bit 5 – TMR0IE: Bit de habilitação da interrupção de overflow do TIMER0
 0 – Desabilita a interrupção do TMR0
 1 – Habilita a interrupção do TMR0
 Bit 2 – TMR0IF: Bit de sinalização da interrupção de overflow do TIMER0
 0 – TIMER0 sem overflow
 1 – TIMER0 com overflow
Contador/Temporizador Timer 0
7
UTFPR – Campus Curitiba
Prof. Amauri Assef
Interrupção do Timer 0
DESCRIÇÃO
 A interrupção do TIMER 0 é gerada quando o registro TMR0 transborda (overflow) de
0xFF para 0x00
 O overflow seta o bit TMR0IF (timer 0 interrupt flag) do registro INTCON
 A interrupção pode ser mascarada resetando o bit TMR0IE do registro INTCON
 O bit TMR0IF deve ser resetado por software para habilitar nova interrupção
Contador/Temporizador Timer 0
8
UTFPR – Campus Curitiba
Prof. Amauri Assef
Contador/Temporizador Timer 0
RESUMO DOS REGISTRADORES DO TIMER 0
Contador/Temporizador Timer 0
9
UTFPR – Campus Curitiba
Prof. Amauri Assef
Exemplo de cálculo para o TIMER 0
 Utilizando o TIMER 0, escrever um programa para inverter o conteúdo do PORTD
a cada 2ms (clock de 8MHz):
 FCLK = 8MHz
 TTMR = 4 / 8M = 0,5μs
 TESTOURO = 256 * 0,5μs = 128μs (ver prescale)
PRESCALER TEMPO
1:2 256μs
1:4 512μs
1:8 1,024ms
1:16 2,048ms
1:32 4,096ms
1:64 8,192ms
1:128 16,384ms
1:256 32,768ms
OPTION_REG <= B’0000 0011’
Contador/Temporizador Timer 0
10
UTFPR – Campus Curitiba
Prof. Amauri Assef
Programa principal (Assembly):
INICIO BANK1
MOVLW 0X00
MOVWF TRISD ; CONFIGURA PORTD COMO SAÍDA
MOVLW B'00000011‘ ; TIMER 0 -> PRESCALER DE 1:16
MOVWF OPTION_REG
BANK0
CLRF PORTD
TESTE BTFSS INTCON,TMR0IF ; VERIFICA SE OCORREU OVERFLOW DO T0
GOTO TESTE
BCF INTCON,TMR0IF ; LIMPA BIT DE OVERFLOW
COMF PORTD,F ; INVERTE O PORTD A CADA OVERFLOW DO T0
GOTO TESTE
Configura o
PIC16F877A
Contador/Temporizador Timer 0
11
UTFPR – Campus Curitiba
Prof. Amauri Assef
Programa principal (C) – MikroC:
void main() {
OPTION_REG = 0B000000011; // ATRIBUIÇÃO DO PRESCALER PARA TIMER0
TRISD = 0x00; // PORTB COMO SAÍDA
PORTD = 0x00; // VALOR INICIAL = 00
TMR0 = 0X00; // LIMPA TMR0
while(1) {
if (INTCON.F2) // TESTA O BIT DE OVERFLOW
{
INTCON.F2 = 0; // LIMPA O BIT DE OVERFLOW
PORTD = ~PORTD;
}
}
}
Contador/Temporizador Timer 0
12
UTFPR – Campus Curitiba
Prof. Amauri Assef
Programa principal (C) – MikroC Pro:
void main() {
OPTION_REG = 0B000000011; // ATRIBUIÇÃO DO PRESCALER PARA TIMER0
TRISD = 0x00; // PORTB COMO SAÍDA
PORTD = 0x00; // VALOR INICIAL = 00
TMR0 = 0X00; // LIMPA TMR0
while(1) {
if (INTCON.TMR0IF) // TESTA O BIT DE OVERFLOW
{
INTCON.TMR0IF = 0; // LIMPA O BIT DE OVERFLOW
PORTD = ~PORTD;
}
}
}
Contador/Temporizador Timer 0
13
UTFPR – Campus Curitiba
Prof. Amauri Assef
Habilitação da interrupção do TIMER0:
a) Assembly
MOVLW B‘10100000' ; TIMER 0 -> PRESCALER DE 1:16
; ||| ---------> HABILITA A INTERRUPÇÃO DO TIMER0
; | ---------> HABILITA A INTERRUPÇÃO GLOBAL
MOVWF INTCON
b) C
INTCON = 0B10100000;
Contador/Temporizador Timer 0
14
UTFPR – Campus Curitiba
Prof. Amauri Assef
Habilitação da interrupção do TIMER0:
#define LEDS PORTD
void interrupt ()
{
INTCON.TMR0IF = 0; // LIMPA O BIT DE OVERFLOW
LEDS = ~LEDS;
}
void main() {
OPTION_REG = 0B000000011; // ATRIBUIÇÃO DO PRESCALER PARA TIMER0
TRISD = 0x00; // PORTD COMO SAÍDA
LEDS = 0x00; // VALOR INICIAL = 00
TMR0 = 0X00; // LIMPA TMR0
INTCON = 0B10100000; // INT DO TIMER0 HABILITADA
while(1) { }
}
Contador/Temporizador Timer 0
15
UTFPR – Campus Curitiba
Prof. Amauri Assef
Exercício 1
 A partir do exemplo anterior, desenhar o fluxograma e escrever o firmware
para piscar os LEDs com atraso de 1 segundo utilizando prescaler 1:128.
Exercício 2
 Desenhar o fluxograma e escrever o firmware para executar as seguintes
funções:
1. Dentro da interrupção do Timer 0, testar a chave conectada no pino RB0 a
cada 8 ms (prescaler 1:64). Considerando 2 displays de 7 segmentos do tipo
catodo comum multiplexados conectado ao PORTD, escrever os caracteres
Ab se chave aberta ou FE caso contrário. Obs: testar o pino de acionamento
RE0 ou RE1 para a seleção do display.
2. No laço principal, escrever a função para que o Rele conectado no pino RE2
seja acionado/desacionado com atraso de 2 segundos implementado por
software.
Contador/Temporizador Timer 0
16
UTFPR – Campus Curitiba
Prof. Amauri Assef
Exercício 3
 Desenhar o fluxograma e escrever o firmware para executar as seguintes
funções:
1. Dentro da interrupção do Timer 0, testar a chave conectada no pino RB0 a
cada 8 ms (prescaler 1:64). Considerando 2 displays de 7 segmentos do tipo
catodo comum multiplexados conectado ao PORTD, escrever os caracteres
S1 se chave aberta ou S2 caso contrário. Obs : testar o pino de acionamento
RE0 ou RE1 para a seleção do display.
2. No laço principal, mover o motor para um dos sentidos (pinos RC0, RC3,
RC4 e RC5), conforme o estado da chave. Obs: utilizar atraso de 10 ms por
software.

Mais conteúdo relacionado

Semelhante a AA Apresentacao_TIMER0_PIC16F877A_2016.pdf

Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCFrequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCPaulo Duarte
 
Controladores logicos programavel industriais
Controladores logicos programavel industriaisControladores logicos programavel industriais
Controladores logicos programavel industriaisJoseMarcelodeAssisSa
 
8085 Introducao
8085 Introducao8085 Introducao
8085 Introducaoedgluc2001
 
Pic apostila
Pic apostilaPic apostila
Pic apostilamoschen
 
2 encaminhamento
2 encaminhamento2 encaminhamento
2 encaminhamentozeu1507
 
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...Marcelo Barros de Almeida
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...Fabio Souza
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Embarcados
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Flávia Martins
 

Semelhante a AA Apresentacao_TIMER0_PIC16F877A_2016.pdf (20)

ARM
ARMARM
ARM
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCFrequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
 
Controladores logicos programavel industriais
Controladores logicos programavel industriaisControladores logicos programavel industriais
Controladores logicos programavel industriais
 
Relatório final
Relatório finalRelatório final
Relatório final
 
U3 exercicios resolvidos
U3 exercicios resolvidosU3 exercicios resolvidos
U3 exercicios resolvidos
 
8085 Introducao
8085 Introducao8085 Introducao
8085 Introducao
 
Pic apostila
Pic apostilaPic apostila
Pic apostila
 
Zilog
ZilogZilog
Zilog
 
2 encaminhamento
2 encaminhamento2 encaminhamento
2 encaminhamento
 
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
 
PLC3.pptx
PLC3.pptxPLC3.pptx
PLC3.pptx
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
Aula3 120922184753-phpapp02
Aula3 120922184753-phpapp02Aula3 120922184753-phpapp02
Aula3 120922184753-phpapp02
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?
 
Apostila3 clp logo
Apostila3 clp logoApostila3 clp logo
Apostila3 clp logo
 
Clp ab avancado
Clp ab avancadoClp ab avancado
Clp ab avancado
 
ATmega Prática
ATmega PráticaATmega Prática
ATmega Prática
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4
 

Último

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 

Último (20)

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 

AA Apresentacao_TIMER0_PIC16F877A_2016.pdf

  • 1. 1 UTFPR – Campus Curitiba Prof. Amauri Assef UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA – TECNOLOGIA EM AUTOMAÇÃO INDUSTRIAL Sistemas Digitais e Microcontrolados Contador/Temporizador TIMER 0 - PIC16F877A Prof. Amauri Assef amauriassef@utfpr.edu.br
  • 2. Contador/Temporizador Timer 0 2 UTFPR – Campus Curitiba Prof. Amauri Assef Contador/Temporizador Timer 0 CARACTERÍSTICAS  Contador binário de 8 bits (0x00 – 0xFF)  Prescaler programável (divisor de frequência)  Seleção de clock interno ou externo  Interrupção de overflow de 0xFF para 0x00  Seleção de borda para clock externo (subida ou descida)  Registro de contagem TMR0 (endereço 0x01 – banco 0) FUNÇÕES BÁSICAS  Contagem de eventos externos (clock de entrada no pino RA4/T0CKI)  Temporização (contagem de tempo) para clock interno (fclk / 4)
  • 3. Contador/Temporizador Timer 0 3 UTFPR – Campus Curitiba Prof. Amauri Assef T0SE PS2:PS0 T0CS PSA PSA PSA Diagrama em bloco do TIMER 0
  • 4. Contador/Temporizador Timer 0 4 UTFPR – Campus Curitiba Prof. Amauri Assef Registrador de configuração do TIMER 0 – OPTION_REG  Bit 7 - /RBPU  Bit 6 – INTEDG  Bit 5 – T0CS: Bit de seleção da fonte de clock do TIMER 0  0 – Interno  1 – Transição do pino T0CKI  Bit 4 – T0SE: Bit de seleção da borda do TMR0  0 – Incrementa na transição 1 para 0 do pino T0CKI  1 – Incrementa na transição 0 para 1 do pino T0CKI  Bit 3 – PSA: Bit de atribuição do prescaler  0 – Prescaler para o TIMER 0  1 – Prescaler para p WDT O registro OPTION_REG fica no BANCO 1, endereço 0x81  Bit 2-0 – PS2:PS0: Bits de seleção da taxa do prescaler
  • 5. Contador/Temporizador Timer 0 5 UTFPR – Campus Curitiba Prof. Amauri Assef Interrupção  Pode ser causada por evento interno ou externo:  Mudança de estado no pino  Overflow do timer  Conversão do A/D  Endereço de retorno salvo na pilha  Vetor de interrupção no endereço 0x04  Retorno da interrupção com a instrução RETFIE  Salvamento de contexto  W, STATUS e PCLATH  Limpar o bit de sinalização da interrupção, por exemplo BCF INTCON, TMR0IF (Assembly) INTCON.TMR0IF = 0 (C) ou TMR0IF_bit = 0
  • 6. Contador/Temporizador Timer 0 6 UTFPR – Campus Curitiba Prof. Amauri Assef Registro de Interrupção - INTCON  Bit 7 – GIE: Bit Global Interrupt Enable – Habilitação global das interrupções  0 – Desabilita todas as interrupções  1 – Habilita todas as interrupções desmascaradas  Bit 5 – TMR0IE: Bit de habilitação da interrupção de overflow do TIMER0  0 – Desabilita a interrupção do TMR0  1 – Habilita a interrupção do TMR0  Bit 2 – TMR0IF: Bit de sinalização da interrupção de overflow do TIMER0  0 – TIMER0 sem overflow  1 – TIMER0 com overflow
  • 7. Contador/Temporizador Timer 0 7 UTFPR – Campus Curitiba Prof. Amauri Assef Interrupção do Timer 0 DESCRIÇÃO  A interrupção do TIMER 0 é gerada quando o registro TMR0 transborda (overflow) de 0xFF para 0x00  O overflow seta o bit TMR0IF (timer 0 interrupt flag) do registro INTCON  A interrupção pode ser mascarada resetando o bit TMR0IE do registro INTCON  O bit TMR0IF deve ser resetado por software para habilitar nova interrupção
  • 8. Contador/Temporizador Timer 0 8 UTFPR – Campus Curitiba Prof. Amauri Assef Contador/Temporizador Timer 0 RESUMO DOS REGISTRADORES DO TIMER 0
  • 9. Contador/Temporizador Timer 0 9 UTFPR – Campus Curitiba Prof. Amauri Assef Exemplo de cálculo para o TIMER 0  Utilizando o TIMER 0, escrever um programa para inverter o conteúdo do PORTD a cada 2ms (clock de 8MHz):  FCLK = 8MHz  TTMR = 4 / 8M = 0,5μs  TESTOURO = 256 * 0,5μs = 128μs (ver prescale) PRESCALER TEMPO 1:2 256μs 1:4 512μs 1:8 1,024ms 1:16 2,048ms 1:32 4,096ms 1:64 8,192ms 1:128 16,384ms 1:256 32,768ms OPTION_REG <= B’0000 0011’
  • 10. Contador/Temporizador Timer 0 10 UTFPR – Campus Curitiba Prof. Amauri Assef Programa principal (Assembly): INICIO BANK1 MOVLW 0X00 MOVWF TRISD ; CONFIGURA PORTD COMO SAÍDA MOVLW B'00000011‘ ; TIMER 0 -> PRESCALER DE 1:16 MOVWF OPTION_REG BANK0 CLRF PORTD TESTE BTFSS INTCON,TMR0IF ; VERIFICA SE OCORREU OVERFLOW DO T0 GOTO TESTE BCF INTCON,TMR0IF ; LIMPA BIT DE OVERFLOW COMF PORTD,F ; INVERTE O PORTD A CADA OVERFLOW DO T0 GOTO TESTE Configura o PIC16F877A
  • 11. Contador/Temporizador Timer 0 11 UTFPR – Campus Curitiba Prof. Amauri Assef Programa principal (C) – MikroC: void main() { OPTION_REG = 0B000000011; // ATRIBUIÇÃO DO PRESCALER PARA TIMER0 TRISD = 0x00; // PORTB COMO SAÍDA PORTD = 0x00; // VALOR INICIAL = 00 TMR0 = 0X00; // LIMPA TMR0 while(1) { if (INTCON.F2) // TESTA O BIT DE OVERFLOW { INTCON.F2 = 0; // LIMPA O BIT DE OVERFLOW PORTD = ~PORTD; } } }
  • 12. Contador/Temporizador Timer 0 12 UTFPR – Campus Curitiba Prof. Amauri Assef Programa principal (C) – MikroC Pro: void main() { OPTION_REG = 0B000000011; // ATRIBUIÇÃO DO PRESCALER PARA TIMER0 TRISD = 0x00; // PORTB COMO SAÍDA PORTD = 0x00; // VALOR INICIAL = 00 TMR0 = 0X00; // LIMPA TMR0 while(1) { if (INTCON.TMR0IF) // TESTA O BIT DE OVERFLOW { INTCON.TMR0IF = 0; // LIMPA O BIT DE OVERFLOW PORTD = ~PORTD; } } }
  • 13. Contador/Temporizador Timer 0 13 UTFPR – Campus Curitiba Prof. Amauri Assef Habilitação da interrupção do TIMER0: a) Assembly MOVLW B‘10100000' ; TIMER 0 -> PRESCALER DE 1:16 ; ||| ---------> HABILITA A INTERRUPÇÃO DO TIMER0 ; | ---------> HABILITA A INTERRUPÇÃO GLOBAL MOVWF INTCON b) C INTCON = 0B10100000;
  • 14. Contador/Temporizador Timer 0 14 UTFPR – Campus Curitiba Prof. Amauri Assef Habilitação da interrupção do TIMER0: #define LEDS PORTD void interrupt () { INTCON.TMR0IF = 0; // LIMPA O BIT DE OVERFLOW LEDS = ~LEDS; } void main() { OPTION_REG = 0B000000011; // ATRIBUIÇÃO DO PRESCALER PARA TIMER0 TRISD = 0x00; // PORTD COMO SAÍDA LEDS = 0x00; // VALOR INICIAL = 00 TMR0 = 0X00; // LIMPA TMR0 INTCON = 0B10100000; // INT DO TIMER0 HABILITADA while(1) { } }
  • 15. Contador/Temporizador Timer 0 15 UTFPR – Campus Curitiba Prof. Amauri Assef Exercício 1  A partir do exemplo anterior, desenhar o fluxograma e escrever o firmware para piscar os LEDs com atraso de 1 segundo utilizando prescaler 1:128. Exercício 2  Desenhar o fluxograma e escrever o firmware para executar as seguintes funções: 1. Dentro da interrupção do Timer 0, testar a chave conectada no pino RB0 a cada 8 ms (prescaler 1:64). Considerando 2 displays de 7 segmentos do tipo catodo comum multiplexados conectado ao PORTD, escrever os caracteres Ab se chave aberta ou FE caso contrário. Obs: testar o pino de acionamento RE0 ou RE1 para a seleção do display. 2. No laço principal, escrever a função para que o Rele conectado no pino RE2 seja acionado/desacionado com atraso de 2 segundos implementado por software.
  • 16. Contador/Temporizador Timer 0 16 UTFPR – Campus Curitiba Prof. Amauri Assef Exercício 3  Desenhar o fluxograma e escrever o firmware para executar as seguintes funções: 1. Dentro da interrupção do Timer 0, testar a chave conectada no pino RB0 a cada 8 ms (prescaler 1:64). Considerando 2 displays de 7 segmentos do tipo catodo comum multiplexados conectado ao PORTD, escrever os caracteres S1 se chave aberta ou S2 caso contrário. Obs : testar o pino de acionamento RE0 ou RE1 para a seleção do display. 2. No laço principal, mover o motor para um dos sentidos (pinos RC0, RC3, RC4 e RC5), conforme o estado da chave. Obs: utilizar atraso de 10 ms por software.