Después de mucho tiempo, encontré una diferencia entre estos chips.
Encuentre el número de página: 33 del documento DS39582B (que es la hoja de datos de PIC16F87XA).
Puedes encontrar algunas palabras en un recuadro,
Nota: El mecanismo de autoprogramación para Flash
La memoria del programa ha sido cambiada. En
Dispositivos PIC16F87X anteriores, programación flash
fue hecho en borrar una sola palabra /
ciclos de escritura. El nuevo PIC18F87XA
dispositivos utilizan un borrado / escritura de cuatro palabras
ciclo. Consulte la Sección 3.6 “Escritura en Flash.
Memoria de programa "para más información.
Estaba usando la hoja de datos PIC16F87X, y mis rutinas de escritura flash no funcionaban. Finalmente encontré el documento y resolví el error.
No sé si hay alguna otra diferencia.