interrupção externa no pic 12f675

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

interrupção externa no pic 12f675

Mensagempor os_sanches » 21 Jun 2014 12:09

Ola
estou com uma duvida
preciso fazer um toggle em uma porta quando uma interrupção externa acontecer por 4 segundos, mas não estou conseguindo. como sou iniciante, gostaria de saber se alguem pode me dar uma direção de como fazer.
segue o meu código

com esse código que eu escrevi ele ativa o toggle toda vez que a variavel x é igual a 3
cpp code
#include <12f675.h>
#use delay(clock=4m)
#fuses intrc, nowdt,put,nobrownout, nomclr
#use fast_io(a)

int x;
#int_EXT
void EXT_isr(void) {
x++;
delay_ms(250);
}

void main() {
set_tris_a(0b000100);
output_a(0b000000);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
enable_interrupts(GLOBAL|INT_EXT); // Habilita interrupção Global e Int_Ext
ext_int_edge(2,h_to_l);

while(true) {
if(x==3) {
x=0;
output_toggle(pin_a0);
}
}
}

obrigado
Sanches
os_sanches
 
Mensagens: 3
Registrado em: 21 Jun 2014 11:58

Re: interrupção externa no pic 12f675

Mensagempor andre_luis » 21 Jun 2014 16:11

Precisa de mais detalhes, como o circuito utilizado, se o cristal é interno ou externo, etc...
A primeira coisa seria saber se pelo menos o toogle funciona no main() pra saber se o problema é de configuração ou algo relacionado á montagem.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: interrupção externa no pic 12f675

Mensagempor os_sanches » 21 Jun 2014 17:15

Caro andre. obrigado
Mas na configuração dos fusiveis já está claro "#fuses intrc " oscilador interno (ou seja sem cristal)
o circuito funciona do forma que descrevi somente por acumulo de pressões no botão.
queria que acumulasse por tempo de pressão continua no botão
abraços
sanches

pic12f675.jpg
Você não está autorizado a ver ou baixar esse anexo.
os_sanches
 
Mensagens: 3
Registrado em: 21 Jun 2014 11:58

Re: interrupção externa no pic 12f675

Mensagempor ze2 » 21 Jun 2014 20:40

a interrupção ocorre quando há mudança de estado. no caso de se analisar o tempo de tecla mantida, creio que nem precisa de interrupt. Veja 1 opção em c
Código: Selecionar todos
#define TECLA GPIO2
#define LED GPIO0
main()
//...
while(true) {
if(!TECLA)// pro gnd
{
x++;
delayms(1000); //1 segundo
if (x==3) LED^⁼1;//output_toggle(pin_a0);
}
else x=0;//reinicializa
}           

atenção ao debouncing
abç
ze2
Byte
 
Mensagens: 193
Registrado em: 09 Fev 2009 13:37

Re: interrupção externa no pic 12f675

Mensagempor os_sanches » 21 Jun 2014 21:11

obrigado, já é um norte.
abraços
sanches
os_sanches
 
Mensagens: 3
Registrado em: 21 Jun 2014 11:58


Voltar para PIC

Quem está online

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

cron

x