Configuração Timer0 do PIC18F4550 no CCS

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Configuração Timer0 do PIC18F4550 no CCS

Mensagempor mourao » 23 Nov 2006 06:56

Estou com alguns probleminhas na configuração do timer0 do PIC18F4550 no CCS, sigo as instruções de configuração do data sheet mas mesmo assim não consigo verificar o tempo correto:

fiz a conta
vlr_timer = 65536 - (4Mh(fosc) * 0,005(tempo)) / 4 * 256 (Prescaler)
vlr_timer = 32286


Obs. Este valor de 5ms foi para teste no osciloscópio. Se souber configurar correto com este valor faço o mesmo para 1 segundo. :D

a configuração de acordo com o datasheet é:
cpp code
#fuses CPUDIV3                
#fuses PLL1
#fuses HSPLL


pois estou com um cristal de 4Mhz mas trabalhando com o PIC a 32Mhz.


minha codificação:

cpp code
#int_TIMER0
TIMER0_isr() {
BOOLEAN led;
led = !led; //inverte o bit
output_bit(PIN_E0,led); //saida no pino 8
set_timer0(32286); //recarrega timer0
}

void main() {
...
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
set_timer0(32286);
enable_interrupts(INT_TIMER0);

for(;;);
...
}


O problema é que vejo no osciloscópio o valor de 7ms, ou seja estou sem precisão ou não estou sabendo configurar direito!

Fiz o teste para 1 segundo mas tem erro também.
"Dizem que sou sortudo!
Só sei que, quanto mais me esforço, mais sorte tenho!"
mourao
Bit
 
Mensagens: 29
Registrado em: 16 Out 2006 13:01

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x