Página 1 de 1
Timer1

Enviado:
07 Fev 2007 20:13
por jdaura
Estou tentando aprender C (CCS)
Como configurar o Timer1(16f628a):
Prescaler 1:1
Oscilador desabilitado
Entrada externa nâo sincronizada
Incremento com sinal externo
Qual o comando para ligar e desligar a contagem.
Como copiar o valor do Tmr1 para uma variável(long).
Agradeceria muito qualquer ajuda.

Enviado:
07 Fev 2007 21:03
por KrafT
Do help do CCS:
setup_timer_1 ( T1_EXTERNAL | T1_DIV_BY_1 );
setup_timer_1 ( T1_DISABLED );
value=get_timer1()
Mas geral prefere acessar o Hardware sem essas API's...
Re: Timer1

Enviado:
08 Fev 2007 10:21
por andre_luis
jdaura,
Se voce entrar no PIC WIZARD, poderá configurar o Timer em função da frequencia desejada.
Kraft,
Na minha opiniao, usando essas API's voce torna o código mais inteligível, sobretudo quando tiver que migrar o programa para outro uC, pois essas funções sao na maioria auto-explicativas.
+++
Timer1

Enviado:
08 Fev 2007 10:49
por jdaura
Obrigado pela atenção.
Continuo com problema, é o seguinte:
Tenho um projeto com 4 x 7 seguimentos.
Uma variável contagem(long)
Inicialiso contagem com um valor qualquer e vejo o valor no dysplay.
Até ai tudo bem.
Fiz:
#byte T1con=16
No main:
T1con=6 //bit0 desl, bit1=1 inc.ext,bit2=1 ñ sinc,bit3=0 osc desab.
bit_set(T1con,1// habilito a cont. doT1
Qundo faço:
contagem=get_timer1()
vejo valores errados(mesmo inicilisando o T1 com 0),deleto comando vejo 0000(ok).
No pino RB6 tenho uma resistencia para o vdd e um chave para o vcc
(na) que não vejo fazer efeito.
Estou simulando no Proteus.
Timer1

Enviado:
08 Fev 2007 13:17
por jdaura
Desculpe digitei errado certo:bit_set(T1con,0);