Configurar o Timer0 do Pic18f4620 no Compilador C18 - Microchip
2 participantes
Página 1 de 1
Configurar o Timer0 do Pic18f4620 no Compilador C18 - Microchip
Olá pessoal !
Sou novato em programar o Pic, o pic que estou utilizando no meu projeto é Pic 18f4620. Estou com dificuldades para usar o Timer 0 do Pic, pois como falei sou novato!
gostaría da ajuda de vcs!
1- Já estudei um pouco a biblioteca timer.h, mas não entendi muita coisa.
2- Gostaría que alguém postasse alguma coisa sobre essa biblioteca e como usar as funções.
3- Desenvolvi um código, o compilador não acusa nenhum erro, mas não observo resultado nenhum no Proteus.
4- Se alguém puder, gostaría que corrigissem meu código( logo abaixo).
void amarelo_piscante(void)
{
int cont;
INTCONbits.TMR0IF=0;
PORTCbits.RC1=0;
PORTCbits.RC4=0;
OpenTimer0(T0_8BIT & T0_SOURCE_EXT & T0_PS_1_128 & TIMER_INT_ON);
for(cont=0; cont<30; cont++)
{
if(INTCONbits.TMR0IF == 1)
{
PORTCbits.RC1=~PORTCbits.RC1;
PORTCbits.RC4=~ PORTCbits.RC4;
INTCONbits.TMR0IF=0;
}
}
CloseTimer0();
}
A detalhe pessoal !
A função acima teria que fazer o Led piscar durante 30 segundos e depois parar de piscar!
Sou novato em programar o Pic, o pic que estou utilizando no meu projeto é Pic 18f4620. Estou com dificuldades para usar o Timer 0 do Pic, pois como falei sou novato!
gostaría da ajuda de vcs!
1- Já estudei um pouco a biblioteca timer.h, mas não entendi muita coisa.
2- Gostaría que alguém postasse alguma coisa sobre essa biblioteca e como usar as funções.
3- Desenvolvi um código, o compilador não acusa nenhum erro, mas não observo resultado nenhum no Proteus.
4- Se alguém puder, gostaría que corrigissem meu código( logo abaixo).
void amarelo_piscante(void)
{
int cont;
INTCONbits.TMR0IF=0;
PORTCbits.RC1=0;
PORTCbits.RC4=0;
OpenTimer0(T0_8BIT & T0_SOURCE_EXT & T0_PS_1_128 & TIMER_INT_ON);
for(cont=0; cont<30; cont++)
{
if(INTCONbits.TMR0IF == 1)
{
PORTCbits.RC1=~PORTCbits.RC1;
PORTCbits.RC4=~ PORTCbits.RC4;
INTCONbits.TMR0IF=0;
}
}
CloseTimer0();
}
A detalhe pessoal !
A função acima teria que fazer o Led piscar durante 30 segundos e depois parar de piscar!
pedromariano- Mensagens : 1
Data de inscrição : 05/09/2011
Re: Configurar o Timer0 do Pic18f4620 no Compilador C18 - Microchip
Olá Pedro,
Bem vindo ao fórum.
Usar o timer no PIC não é muito complicado e a biblioteca timer.h ajuda bastante.
Eu fiz um post explicando interrupção e timer aqui no forum no tópico
https://picminas.forumeiros.com/t56-duvida-relogio-digital
Da uma olhada lá que acho que você vai entender o módulo timer.
Olhando rapidamente seu código eu tenho uma dica para te dar. O Timer funciona separado na CPU, é um hardware a parte e por isto chamamos ele de periférico então seu código deve ter uma rotina para tratamento de interrupção. Se você deseja fazer espera ocupada da CPU (puling) para contar tempo eu recomendo que utilize a biblioteca de delays (delays.h) que eu comento aqui no forum no post: https://picminas.forumeiros.com/t14-a-funcao-delay.
Espero ter ajudado,
Bruno S. Avelar
Bem vindo ao fórum.
Usar o timer no PIC não é muito complicado e a biblioteca timer.h ajuda bastante.
Eu fiz um post explicando interrupção e timer aqui no forum no tópico
https://picminas.forumeiros.com/t56-duvida-relogio-digital
Da uma olhada lá que acho que você vai entender o módulo timer.
Olhando rapidamente seu código eu tenho uma dica para te dar. O Timer funciona separado na CPU, é um hardware a parte e por isto chamamos ele de periférico então seu código deve ter uma rotina para tratamento de interrupção. Se você deseja fazer espera ocupada da CPU (puling) para contar tempo eu recomendo que utilize a biblioteca de delays (delays.h) que eu comento aqui no forum no post: https://picminas.forumeiros.com/t14-a-funcao-delay.
Espero ter ajudado,
Bruno S. Avelar
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|