No se si se han dado cuenta pero en el MPLAB, el dispositivo que soporta casi todos los pic es el ICD2, el ICE 2000 tiene un monton de pic que no los puede ni programar siquiera.
Si, es verdad, pero el ICD es un debugger, los dos ejemplos que puso
PalitroqueZ son emuladores, quiere decir que en tu circuito se pone en el lugar del pic que pretendes emular y se emula desde la PC en tiempo real!!!!!!!
Distinto es el ICD que te roba dos pines del PIC, el PB6 y RB7 que se pierden ya que se usan para comunicarse con la PC, en el ICD vos en tu código pones un break point y haces correr tu programa hasta el break point, ahi corre a velocidad normal el pic, pero al llegar al break point se congela y comunica a la PC el estado de todos sus registros, eso demora un tiempo, mas si usas el ICD por puerto serie con algún pic grande, se pone tedioso. Algunos pic pueden trabajar con mas de un break point, como el 18F4520 que permite hasta 3.
Como dije, distinto es el emulador, donde podes agarrar cualquier aplicación normal mientras tenga un pic que sea capas de emular, sacas el pic, enchufas el emulador y empesas a acorrer tu programa de tu micro en tiempo real sin perder ningún pin y observando todo en la PC.
Es por eso que un emulador es mucha mas caro que un ICD y no abarcan toda la línea de PIC!!!
De todas formas yo estoy usando el ICD ahora, en realidad estoy aprendiendo, y es fantástico, vale la pena sacrificar esos dos pines!!
Remarco que estos aparatos no son simple programadores, para programadores podemos usar un JDM de dos mangos o algo bien elaborado como el GTP USB, estos aparatos son herramientas de desarrollo, no programadores.
Saludos