Interrupção externa tmr0

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Interrupção externa tmr0

Mensagempor denis neves » 30 Jan 2008 15:48

I ai galera...

Bom... sou meio novato em pic e estou com um problema...

Eu estou querendo mexer com a interrupção externa por borda de subida do TIMER0, mas não estou conseguindo...Eu tenho um pic 16F628A e estou usando o compilador CCS...Fiz um programinha basico só pra fazer um teste...

#include<16F628A.h>
#use delay(clock=4000000)


int x;

#int_timer0
void trata_t0()
{

x++;

if(x == 4)
{
output_high(pin_b4);
delay_ms(500);
output_low(pin_b4);
}
}




main()
{
setup_timer_0 (RTCC_EXT_L_TO_H );
enable_interrupts (global | int_timer0 );
while(true);
}

Eu liguei tudo certinho e nada de funcionar...tenho certeza que o pau esta no programa...Se alguem puder me ajudar fico muito grato!!!

Abraço...
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor eliandrostz » 30 Jan 2008 16:03

Experimenta assim:

#int_ext
void trata_ext()
{
código...;
}


e habilita assim:

enable_interrupts(GLOBAL | INT_EXT);

Eliandro
O conhecimento vem e vai, a sabedoria permanece...
eliandrostz
Nibble
 
Mensagens: 71
Registrado em: 16 Out 2006 13:51

Mensagempor LeandroPIC » 31 Jan 2008 11:25

É timer0 ou RB0
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

Mensagempor cscharf » 31 Jan 2008 18:38

Denis Neves

Vc deve perceber uma coisa:
- se vc quer usar o timer0 como contador, a cada 256 contagens é que vc tera a interrupcao, pois as bordas so fornecem clock para o timer, mas nao geram a interrupcao. Se vc quer uma interupcao a cada borda voce pode carregar o registro de timer0 com 255 atraves da funcao set_timer0(255) ou usar a interrupcao da porta RB0/INT (interrupcao externa).

Fora isto vc deveria, por garantia, selecionar o registro TRIS da porta onde vc colocou o led e a chave da interrupcao.
cscharf
Bit
 
Mensagens: 18
Registrado em: 12 Out 2006 13:58

Mensagempor denis neves » 01 Fev 2008 07:13

É TIMER 0...

ANNN...eu pensei que o timer gerasse a interrupção a cada borda !!!

AH agora esta mais claro...vou ver o que eu faço aqui aew qq duvida eu do um toque...

A todos muiito obrigado!!!
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor LeandroPIC » 01 Fev 2008 11:25

Há, de uma olhada no DATASHEET que não restará duvidas.
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

Mensagempor denis neves » 01 Fev 2008 11:56

blzzz..vou dar uma olhada...VAaaleuuuuu !!!!
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor denis neves » 01 Fev 2008 12:16

Galeraaa...muuiiito obrigado pelas dicas aewww...

vcs me ajudaram muito :D :D

Quando puder ajudar estarei a disposição!!!

Abraçoo
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16


Voltar para PIC

Quem está online

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

cron

x