Hola:
Mira la única solución posible y excelente, es utilizar el PICF876 . El único cambio que tienes que realizar es que en lugar de: CMCON =7
VRCON =0 , para hacer que los pines del puertoA sean digitales. Tienes que poner :
ADCON1=7, y luego está listo para compilar con PicBasicPro. Si utilizas asembler, en lugar de: movlw 7
movwf CMCON
movlw 0
movwf VRCON , tienes que utilizar el siguiente código:
movlw 7
movwf ADCON1.
El PIC16F628 tiene comparadores , y en su lugar el PIC16F876 tiene Convertidores A/D. Por lo tanto, no podrás utilizar los comparadores. Pero , si tienes que utilizarlos, tendrás que simularlo con un PIC16F877.
Yo tenía el mismo problema, y ésta fué una excelente solución.
Prueba y contéstame. Suerte