mira el programador mas sencillo que yo he encontrado es uno tipo jdm simplificado el cual usa unicamente 3 resistencias por el puerto serial , coloca una de 22k en el pin 7 de el db9 serial hacia clk en el pic , otra de 10k hacia mclr de el pic desde el pin 3 de db9 y otra de 2.2k desde el pin 4 de el db9 y retornando por el pin 8 y de alli hacia data i/o en el pic , puedes alimentar con una fuente 5vcd el pic la cual puedes obtener desde el puerto usb o bien desde una fuente externa. Yo lo tengo de esa manera (obteniendo desde usb) y he programado 16f84, 16f627, 12f629 y 16f877 sin problemas como sofware puedes usar el winpic o el ic prog. Lo anterior lo puesdes armar desde el conector serial y llevar unicamente los pines al protoboard. Ojala te sea de utilidad.