Disculpa pero lo que estas/estan haciendo no tiene ningun sentido, ni siquiera para aprender a usar el CCP. Ya que lo estan usando MAL.
Estoy mas que seguro que el profesor esta buscando otra cosa totalmente distinta, pero por no preguntar están haciendo cualquier cosa, Ademas de usar codigos de uno u otro lado, ya que venis con codigos en C y luego en ASM.
Totalmente sin sentido la comparación, para eso ni usarla, dejen correr el TMR1 y listo. El uso del Timer no tiene ni comentado el tiempo transcurrido o no se le presta atencion, cualquiera usaria un preescaler grande pero solo lo activaron y nada mas, se esta reasignando valor al Timer1 luego de 1s de DEMORA! y encima cuando se esta usando el CCP, que el objetivo es que eso NO ocurra, se vuelve a cargar los registros CCPRxx sin sentido ya que nunca cambiaron, tampoco se estan usando las interrupciones, etc.
Si queres pasarlo al PIC16F877A simplemente busca el modulo CCP si cambia algo, el modulo del Timer si es que cambia algo, pero creo que no va a cambiar nada en esto.
Lo mas seguro es que cambie la configuracion de los puertos, para pasarlos analogicos/digital (sean disintos registros ).
Viendo la cantidad de codigos y que encima uno es en ASM y otro en C, veo que lo unico que estan haciendo es tirar codigos y ver cual funciona, y que haga masomenos lo que quieren. No puedo ayudarte con esto.
Lo que seguramente les pide el profesor es:
- Usar el Timer1, configurarlo con el mayor preescaler, buscar un valor que me permita tener una base de tiempo simple, ejemplo, interrupcion cada 0.2s, 0.1s , 0.25s, etc.
- Usar la interrupcion y contar cuantas interrupciones pasaron, de esa forma encender el led y apagarlo cada 1 segundo.
- Aprender a configurar el CCP para que esto ocurra.
No veo nada de eso en sus codigos. Y acabo de decirles que deben hacer, solo tienen que ponerse a investigar un poco mas como lograrlo con lo que tienen. Intenten entender como es que funciona cada uno de los modulos.
PD: Nuevamente pido disculpas porque seguramente lo tomen a mal, pero prefiero decirles lo correcto antes que hacerlos seguir con lo que estan intentando.