Página 1 de 1
Timer1 com Clock interno

Enviado:
11 Jan 2007 16:35
por Mersin
Olá pessoal,
A dúvida é a seguinte: Nunca trabalhei com PICs usando o clock interno de 4MHz, gostaria de saber se posso configurar o Timer1 do 12F675 para trabalhar com o clock interno e ainda assim configurá-lo como T1_DIV_BY_8?
Já agradeço quem ajudar!
Valeu!
Timer 1

Enviado:
11 Jan 2007 18:50
por Pask
Claro que pode. Veja abaixo:
MOVLW B'00001111'
MOVWF T1CON
;ESTA CONFIGURAÇÃO ESTÁ ASSIM:
;OSCILADOR INTERNO ATIVADO ATRAVÉS DOS PINOS RB6 e RB7
;TMR1 INCREMENTADO PELO OSC. INTERNO (FUNÇÃO CONTADOR)
;PRESCALER 1:1 NO TMR1 (mas poderia ser outro fator de divisão)
;TMR1 ATIVADO
Boa sorte.
Pask.

Enviado:
12 Jan 2007 09:05
por Mersin
Outra duvida é a respeito da função INTERRUPT-ON-CHANGE, para ocorrer a interrupção eu tenho que ficar lendo esta entrada frequentemente? ou a interrupção acontece por hardware sem a intervenção do software?
Interrupção.

Enviado:
12 Jan 2007 11:32
por Pask
Esta é a grande vantagem das interrupções. Uma interrupção (seja ela qual for) ocorre sem que você precise se preocupar com nada. Para que uma interrupção ocorra, deve-se seguir o seguinte roteiro:
1 - A chave geral "GIE" de todas as interrupções deve estar habilitada;
2 - A chave individual da interrupção desejada deve também estar habilitada;
3 - A chave das interrupções dos periféricos deve também estar habilitada;
Daí, é só aguardar dentro do laço MAIN do seu programa. Quando o evento responsável pela ocorrência da interrupção acontecer, o programa é automaticamente desviado para o vetor de interrupção e a dita cuja é tratada.
Por exemplo: a interrupção de TMR0 irá ocorrer todas as vezes que este timer estourar, ou seja, como este é um timer de 8 bits, ela vai acontecer sempre que o timer 0 passar de 255 para 0 na sua contagem automatica não importando se o seu incremento será feito pelo clock interno ou externo.
No caso da interrupção por mudança de estado em RB0 estar habilitada, ela vai ocorrer sempre que o nível lógico neste pino mudar de estado (alto para baixo ou baixo para alto).
Ficou mais claro agora? Espero que sim.
Pask.