TMRO->formulas

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

TMRO->formulas

Mensagempor antonio » 29 Set 2007 19:36

Pessoal tudo bem!!

Tenho andando a tentar fazer algo com os TIMRS mas nao tenho consegido nada de bom como resultados !
Eu esteve vendo os datasheets em relaçao aos TIMERs e chegei a conclusao que os calculos para trabalhar com os TIMERS era como eu tenho em baixo postado ,mas como nao tenho bons resultados com o tempo nos PICS,

Pergunto aos colegas se realmente estes calculos estao certos??

Por favor; se tem alguma coisa errado gostaria que corregui-sem e se possivel comenta-sem o que estava errado!

O que eu pertendo è....calcular o tempo que leva o TMR0 a contar o tempo que vai de 0...a 255 com e sem preescaler!

Assim como para um determinado tempo qual o valor a cargar no TMR0com e sem preecaler

Peço a compriençao de todos

Forte abraço


**formula para determinar o tempo de contagem do TMR0***********
com e sem prescaler

time = (1/ Fosc) * 4 * Preescaler * value "FORMULA
time = ( 1/(4.000.000) * 4 * 256 * 100 CALCULOS
time = 25,6 ms RESULTADO


**formula para determinar o valor a cargar no TMR0****************

valor = ( time * F osc/4) / ( Preescaler ) " FORMULA
valor= (0.0256 s *4000000/4) / (256) =100 CAlCULOS

********************Sem preescaler***************************

valor = 256-( time * F osc/4) " FORMULA
valor = 256-(0.0256 s *4000000/4) =25600 CAlCULOS
valor =256-25.600 = 230.4
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor fabim » 29 Set 2007 19:48

sei eu coisa muita sobre timer´s pic dos.
ideal seria voce se posta-se aplicação uma para entender melhor que o quer.

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor KrafT » 29 Set 2007 21:58

Antonio, os timer's do PIC são tão complicados quanto tua ortografia...

É incrível que ainda haja chips que contam para cima e sem auto-reload...

Eu uso: frequency of interrrupt = (clock/(4*preescaler))/(256-reload)

O reload deve compensar o tempo perdido para a atender a interrupção.

Em C ficaria assim:
set_timer0(reload-get_timer0());
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor antonio » 30 Set 2007 04:14

Pessoal agradeço aos dois por responderem!¨

Fabim e Kraft nao tenho aplicaçao em concreto eu so estou treinando paara ver como funciona este negocio com os timers

Tenho o livro do Fabio mas tem me ajudado pouco.posso dizer que com releçao ao datasheets entou muinto confuso!

Ainda estou voanda nesta dos timers , toda ajuda é bem-vinda !

até
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor fabim » 30 Set 2007 08:52

exemplo pratico pra se fazer os calculos de coco.

exemplo um clock de 4mhz...

o pic executa tudo com 1/4 disso, ou seja 1mhz = 1uS.

o timer 1 por exemplo tem 16 bits certo.

65536 * 0.000 0001 * presscaler..

exemplo 10 000.
10 000 * 0. 000 001 * 128 = 1,28 Segundos.

e por aí vai.. so muda alguma coisinha besta de um pra outro.

fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor wgc » 01 Out 2007 23:24

hora, tambem tava tentando ajudar os meninos aqui com os timers e eu nao entendi mais nada. Alias to lendo o material que encontrei agora,

http://www.garcia-cuervo.com/picmania.g ... en_C_1.php


Tentei compila aqui mas ta dando alguns erros.


Se eu conseguir medi um pulso e manda pela serial com o 16f628 ja vou ficar bem feliz.
wgc
Bit
 
Mensagens: 12
Registrado em: 18 Jul 2007 10:22


Voltar para PIC

Quem está online

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

cron

x