Saludos, en esta entrada les voy a explicar de la forma mas sencilla las bases para la programación de microcontroladores PIC, dentro de las cuales estan:
1.¿Qué es un PIC?
2..Lenguajes de programación.
3.Software necesario.
4.Grabado del programa.
Entonces primero lo primero haha.
1.¿Qué es un PIC?
Los PIC's son dispositivos electrónicos fabricados por la empresa Microchip Technology Inc., a los cuales a diferencia de otros dispositivos electrónicos, tu le puedes decir cuales son las tareas que tiene que realizar y cuando las tiene que realizar, un ejemplo muy sencillo:
Imagina que tienes un proyecto el cual consiste en que, al apretar un botón, se encienda un led y un motor; tu tienes 2 dispositivos electrónicos para cumplir con este proyecto, un lm2803 y un microcontrolador (cualquiera que sea), al microcontrolador le puedes decir: si aprieto este botón, enciende el led y hecha a andar el motor; en cambio si le dices al lm2803 lo mismo, no va a entenderte y no hará nada.
El ejemplo anterior es algo tonto, pero realmente tu puedes "hablar" con un microcontrolador, y te estarás preguntando ¿Como le voy a hablar a un dispositivo electrónico?, pues aunque parezca mentira, ellos te pueden entender si utilizas el lenguaje que ellos hablan, así pasamos al apartado numero 2.
2.Lenguajes de programación.
En este apartado les voy a hablar de los lenguajes mas utilizados para la programación de los PIC's, el lenguaje de programación C y el lenguaje ensamblador o assembler.
El lenguaje C es un lenguaje de alto nivel y el lenguaje ensamblador es un lenguaje de bajo nivel, pero, ¿Qué significa esto? Lenguaje de alto nivel significa que es mas fácil de comprender para las personas, incluso si no tiene experiencia programando, mientras que el lenguaje de bajo nivel es mas fácil de comprender para el microcontrolador.
Al programar en lenguaje de alto nivel, nos podemos ahorrar muchas lineas de código que si programáramos en ensamblador, puesto que una sola linea de instrucciones puede encerrar hasta 10 lineas de ensamblador, ademas de que es mucho mas fácil detectar errores, ademas de que el código puede ser fácilmente utilizado para otro microcontrolador con solo cambiar algunos parámetros.
Sin embargo al programar en ensamblador podemos tener un mayor control del flujo de información que se maneja, ademas de ser por si mismo código optimizado, es decir sin lineas basura.
Ventajas de los lenguajes:
C
- Fácil comprensión.
- Compatibilidad entre microcontroladores
- Facilidad de corregir errores
- Velocidad de ejecución
- Control sobre el flujo de información
El lenguaje a utilizar depende de cada quien.
Una opinión que tengo sobre los lenguajes de programación es, si en la actualidad contamos con herramientas las cuales nos permiten comprender que es lo que estamos programando, ademas de ahorrarnos tiempo escribiendo y que al final nos va a dar los mismo resultados, ¿Porqué declinar de su uso?.
3.Software necesario.
Ya conocemos que es un PIC y ya sabemos como nos podemos comunicar con ellos, ahora ¿Qué necesitamos para hacerle saber al PIC lo que tiene que hacer?.
Para lograr esto necesitamos de software, el cual se encarga de "traducir" lo que escribimos en instrucciones que el PIC puede ejecutar, existen muchas soluciones para esto, cada una para un respectivo lenguaje, algunos son:
Lenguaje C
- PIC C Compiler
- MikroC
- Mplab X
Ensamblador
- Mplab
4.Grabado del programa.
Ya elegimos el software para escribir nuestros códigos, ahora es tiempo de llevar nuestro programa al PIC, para esto es necesario compilar nuestro programa, esto significa que el programa va a "traducir" las lineas de comando en nuestro programa en instrucciones que el PIC pueda ejecutar.

Una vez compilado nuestro programa, se nos genera un archivo .hex, el cual tiene las instrucciones que va a ejecutar el microcontrolador, este archivo se tiene que cargar al PIC, el proceso es como pasar una canción a tu celular, con la diferencia de que la canción es nuestro .hex, el celular es el PIC y el cable da datos que usas con el celular en este caso sería un programador.
Existen muchos tipos de programadores en el mercado, pero a final de cuentas todos tienen la misma función, servir de puente entre la PC y el PIC. El programador que yo utilizo es el de la imagen, a pesar de no ser un programador super caro, me funciona.
Ahora que ya tenemos conocimientos de lo que es un PIC, como programarlos y lo que necesitamos para hacerlo, es tiempo de experimentar los diferentes lenguajes y probar los diferentes tipos de software de programación.
Espero que te sea de utilidad y despeje algunas de las dudas que puedas tener.
La información contenida al igual que las imágenes son de mi autoría.
