A ver Henry que es facil:
Con el ICSP utilizas unas lineas/ pines del pic que se utilizan para:
1. la señal de clock para sincronizar los daros a grabar,
2. la señal del dato que se va a grabar
3. Gnd.referncia de la tension
4. Vpp tension de grabacion.
Estos pines( cambian un poco de lugar en algun tipo de pic) los puedes utilizar solo para este fin o bien s i andas justo de pines y no quieres utilizar un pic mayor, puedes utilizar esas lineas "multiplexadas" tanto para realizar la programacion o bien como entrada o salida digital. En este caso debes de intercalar un par de resistencias en las lineas de clock y de datos, para aislar tus datos de los que se grabaran. La conexion y valor de las resistencias son las que se indican en link de tu ultimo post.
Ahora bien, veamos la secuencia cuando vas a grabar (o regrabar tu pic). Se supone que tienes tu circuito funcionando y vas a grarlo, entonces conectas el conector del ICSP en el lugar que previamente hayas previsto en tu pcb. Una vez realizado lo anterior abres tu programador y seleccionas el nuevo fichero a grabar en el pic y cuando le das a la opcion de grabar, lo primero que realiza el programador es un reset (tu primer programa se queda como muerto) y empieza la carga del nuevo, el grabador se encarga de mandar las señales y tensiones necesarias.
Una vez finalizada la carga, el grabador manda otra señal de reset y a partir de ahí empieza a funcionar tu nuevo programa.
Esto es asi porque cuando va a grabar espera un pequeño tiempo y si antes de que acabe se manda datos es que se va a grabar, pero si despues del reset pasa ese tiempo a partir de ahi se entiende que son los datos de la memoria del pic que ha sido grabado los que van a correre en el pic.
Espero que la explicación no haya sido tediosa y que hayas entendido un poco como funciona. Pero vaya de eso se encarga de todo el programador.
De ahi la comodidad que puedes reprogramarlo sin quitarlo del zocalo(si lo usas) o sin desolarlo o quitar la alimentacion
F.