Cuando el soft de programación da error 0000h es porque, como primer dato, lo graba en esa pocición de memoria y en el momento de verificar la lectura, le dió otro valor al que grabó en el pic. Pero el icprog, hace la verificación después de haber grabado toda la pocición de memoria.
El error 0000h puede ser por las siguientes causa:
1. Pic dañado (lo verificas cambiando por otro pic)
2. Mal configuración del soft icprog con respecto al programador (deberás chequear de que tengas invertidas las opciones correctas, por ejemplo MCLR, recordar que hay programadores que no necesitan ninguna opción invertida. Así es mi programadoor. Chequear además de que esté correcta el puerto de comunicación y el tipo de SO que se tiene)
3. Está activado en la palabra de Configuración del PIC el CP, esto es para activar la protección sobre lectura del PIC. En este caso, al verificar el ICPROG dará error porque el PIC no dejo que lo lean, pero el programa fue grabado con éxito (chequear esta opción si debe estar activada. Para recuperar un PIC con esta opción, primero hay que hacer un borrado general del PIC, luego quemarlo con el nuevo programa)
4. El hardware está dañado (verificar que le lleguen los voltajes correctos)
Son los que me acuerdo ahora. Chequea todo esto y luego cuéntanos. Debo decir que jamás tuve problemas con el icprog, pero he charlado con algunas personas que jamás pudieron hacerlo andar. Y esto es debido que el programador, no es compatible con el icprog.