error na interrupção por mudança de estado no portA

Olá galera.
Estou utilizando o pic16f690 num projeto pelo qual preciso medir uma frequencia externa. Como meus recursos de hardware para tal aplicação estão esgotados, decidi utlizar a interrupção por mudança de estado do portA. Essa opção no pic16f690 pode ser habilita para cada pino individualmente. Porém estou tendo problemas já que além de não conseguir implementar tal função, ainda o pic fica funcionando de maneira errônea. Abaixo se encontra o software. Se alguém tiver alguma sugestão.
//------------------------------------------------------------------------------
// CONTADOR DE PULSOS EXTERNOS: MEDIR VELOCIDADE
//------------------------------------------------------------------------------
#int_ra // interrupção
void trata_ra()
{
input(pin_a0);
contador_rpm++;
}
main()
{
input(pin_a0); // configura como entrada
disable_interrupts(int_ra1 | int_ra2 | int_ra3 | int_ra4 | int_ra5);
disable_interrupts(int_rb4 | int_rb5 | int_rb6 | int_rb7);
enable_interrupts(int_ra0); // configura ra0 como interrupção por mudanca de estado
}
Estou utilizando o pic16f690 num projeto pelo qual preciso medir uma frequencia externa. Como meus recursos de hardware para tal aplicação estão esgotados, decidi utlizar a interrupção por mudança de estado do portA. Essa opção no pic16f690 pode ser habilita para cada pino individualmente. Porém estou tendo problemas já que além de não conseguir implementar tal função, ainda o pic fica funcionando de maneira errônea. Abaixo se encontra o software. Se alguém tiver alguma sugestão.
//------------------------------------------------------------------------------
// CONTADOR DE PULSOS EXTERNOS: MEDIR VELOCIDADE
//------------------------------------------------------------------------------
#int_ra // interrupção
void trata_ra()
{
input(pin_a0);
contador_rpm++;
}
main()
{
input(pin_a0); // configura como entrada
disable_interrupts(int_ra1 | int_ra2 | int_ra3 | int_ra4 | int_ra5);
disable_interrupts(int_rb4 | int_rb5 | int_rb6 | int_rb7);
enable_interrupts(int_ra0); // configura ra0 como interrupção por mudanca de estado
}