En el siguiente tutorial aprenderás a cómo programar el PIC K-150. Además se explicará la instalación del driver “PL2303 Prolific”, necesario para que el programador funcione correctamente.
Por último se realizara la programación del PIC16F628A, utilizando el software de programación “PIC C”.
Con el “PIC C” se creara el archivo “.hex” que posteriormente se cargara al PIC mediante el software “DIY K150”. Para su programación los apoyaremos con la conexión ICSP y por medio de la base ZIF de 40 pines.
Para comenzar a programar con el PIC K-150 deberás descargar e instalar los siguientes programas:
- Prolific_DriverInstaller_PL2303_v1210
- CheckChipVersion_PL2303_v1006
- PIC C
- DIY K150
Para descargar los programas y el driver ingresa Aquí. Posteriormente sigue los siguientes pasos de instalación:
Instalación del Driver PL2303_Prolific
1. Ya que descargaste el archivo .ZIP debes descomprimirlo y después instalar el Driver PL2303_Prolific en tu pc, este driver es para sistemas operativos Windows 7, 8 y 10.
En el siguiente GIF podrás ver los pasos de instalación:

Instalación de driver PL2303_Prolific
2. Después conecta el modulo a tu PC, ir a “administrador de dispositivos”, si te sale una señal de color amarillo de error en el puerto COM, debemos actualizar el controlador de la siguiente manera:

Resolver el error del puerto COM
3. En este caso el puerto COM que se nos asigno es el número “22” el cual es de dos cifras, para que funcione correctamente el modulo con el programa “DIY K150” es necesario cambiar el número del puerto a una sola cifra.
En el siguiente GIF podrás observar cómo hacer el cambio, recuerda que debe de ser un número del 1 al 9 y que no esté ocupado:

Cambiar el puerto COM
Verificar que se instalo correctamente el driver
4. Para verificar que se instaló correctamente el driver y se realizaron correctamente los pasos anteriores, debes de ejecutar el programa “PL2303_CheckChipVersion_v1006”, seleccionar el puerto COM que asignaste al módulo de programación y dale click a “Check”.
Te debe de salir lo siguiente “This is a PL-2303 XA / HXA chip”, esto se significa que la compatibilidad es correcta.
5. Una vez verificada la compatibilidad del Chip y la instalación del driver, estamos listos para verificar el funcionamiento del programador k150. Abre el programa “microbrn” que lo encontraras el archivo .zip que descargaste al inicio del tutorial.
Lo encontraras en la carpeta “Software -DIY K150”.
En el siguiente GIF podrás observar como hacer la programación del PIC16F628A insertándolo en el Zócalo ZIF 40 pines:

Diagrama Esquemático
Ejemplo como programar un PIC montando un circuito en el Protoboard
6. Para hacer la programación por ICSP debes realizar un circuito adicional, por lo general se comienza por la configuración básica de funcionamiento del PIC que consta de conectar un oscilador de cuarzo, dos capacitores cerámicos, un par de resistencias y un push botón.
A continuación tendrás la lista de los componentes que necesitas:
- 1- Protoboard 400 Pts
- 1- Oscilador Cristal Cuarzo de 4Mhz
- 2 – Capacitores Cerámicos de 22pf
- 1 – Resistencia de 220Ω
- 1 – Led 5mm
- Cables de conexión
- 1 – Resistencia de 1kΩ
- 1 – Push Boton MicroSwitch 2
- 5 – Headers Macho de 2.54mm
El diagrama de conexión que debes seguir para montar en el Protoboard es el siguiente:

Diagrama Esquemático
En la siguiente imagen tendrás un ejemplo de cómo hacer de manera adecuada la conexión de cada uno de los componentes con el conector ICSP:

Programación por ICSP
Por ultimo realizaremos la programación por ICSP en el siguiente GIF observaras como hacerlo:

Conexión en el Protoboard
Este es el código que se utilizó para programar el PIC16F628A, fue desarrollado PIC C:
#include <16F628A.h> //Se define el Pic a utilizar #fuses XT,NOWDT,NOPROTECT //Ordenes para el programador #use delay (clock=4M) //Frecuencia del oscilador #use standard_io(b) //Manejo del puerto B /******************Se declaran los puertos a utilizar***************/ #define Led_B3 PIN_B3 /******************Programa**********************/ void main(){ //Configuración de Puertos// set_tris_b(0b00000000); // Todos los pines como salidas. //Se inician los de Periféricos output_b(0b00000000); //Inician los pines Apagados while(true){ // Se define el Ciclo infinito de encendido y apagado output_high(Led_B3); delay_ms(1000); output_low(Led_B3); delay_ms(1000); } }