Ma sasvim je dobro to sto si napisao, uz malu doradu radice sasvim ok.
Ono na sta treba da obratis paznju jeste TRIS I/O registar gde ces definisati ulazni (na kome se desava intrerapt) odnosno izlazni pin (tvoj pic nema portove vec GP I/O), kao i INTCON, CMCON0 i ANSEL registre.
Uz to, kada se interapt dogodi osim ciscenja flega trebao bi i privremeno da onemogucis novi interapt dok ne izadjes iz interapt rutine inace mozes da se zaglavis.
Procitaj detaljno datasheet o stvarima koje sam ti nabrojao, preradi par redova tvog programa i radice.
73 de Zele YU2AX