Timer1 com Clock interno

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Timer1 com Clock interno

Mensagempor Mersin » 11 Jan 2007 16:35

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!
Mersin
Mersin
Byte
 
Mensagens: 121
Registrado em: 22 Out 2006 13:07
Localização: Goiânia

Timer 1

Mensagempor Pask » 11 Jan 2007 18:50

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.
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19

Mensagempor Mersin » 12 Jan 2007 09:05

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?
Mersin
Mersin
Byte
 
Mensagens: 121
Registrado em: 22 Out 2006 13:07
Localização: Goiânia

Interrupção.

Mensagempor Pask » 12 Jan 2007 11:32

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.
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19


Voltar para PIC

Quem está online

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

x