noravega09
Si la duda es por el pin-out no hay diferencias, pero desde el punto de vista eléctrico y de los recursos disponibles, hay algunas que deberías tener en cuenta.
El PIC16F877A es el sustituto natural del PIC16F877, y el PIC16F887 lo es del PIC16F877A, por tal motivo Micrhochip suele publicar unas notas de aplicación tituladas "migración", que explican cuales son las diferencias. Lo usual es que un uC sustituto de uno anterior pueda asumir aplicaicones desarrolladas para su predecesor sin complicaciones serias, pero los detalles particulares solo los encontrarás en las notas publicadas por el fabricante y en el estudio de las hojas de datos de los dispositivos.
Si todavía no has realizado ninguna aplicación, te recomendaría utilizar el 16F877A, puesto que una vez que Microchip decida dejar de producir el 16F877, su precio comenzará a subir respecto de su sucesor.
Saludos
Reinier