premetto che io i pic li programmo i basic...e di C ne so poco....
Non dovrebbe essere tipo #include<pic16f8xxa.h>
o che ne so, #include<pic168xxa.h>
insomma, dato che usi il 16f877...qualcosa deve cambiare no ? a me sembra che con l'include che gli dai tu puoi programmare i simili del 16f84 o sbaglio ?
ps: occhio che negli include ci stanno gli indirizzi fisici delle porte I/O quindi se sbagli quelli... eheh