COMO ELEGIR LENGUAJE DE PROGRAMACION PARA PIC

Todo amante o aficionado a la electrónica en algún momento de su vida intentara programar un microcontrolador, este dispositivo nos permite crear circuitos que de otra manera seria casi imposible de realizar, mostrar texto en un Display LCD, enviar una señal PWM, comunicarse con la PC etc, son de las muchas cosas que podemos realizar con los microcontroladores.

Pero a la hora de emprender nuestro camino hacia la programación nos hacemos la pregunta, que lenguaje de programación debo utilizar?, es aquí en donde comenzamos a buscar el que mejor se adapte a nuestras condiciones y seguramente la mayoría empezara por el lenguaje nativo de los microcontroladores el lenguaje ensamblador o assembler , si bien técnicamente este es el mejor lenguaje en mi opinión para un microcontrolador también es cierto que es uno o quizás el lenguaje de programación mas complicado que existe, ya que esta mas cercano al microcontrolador que del programador.

Si le preguntáramos a alguien que ya tiene experiencia programando, seguro nos dirá que el mejor lenguaje de programación es el que el utiliza, en mi opinión creo que el mejor lenguaje de programación es el que se comprenda mas fácil y le de herramientas al programador para realizar un programa de forma practica y amigable , para así poder generar el tan anhelado archivo .hex  y cargarlo a nuestro microcontrolador, pero entonces que criterios debemos seguir para elegir el lenguaje de programación?, lo resumiría en uno solo Facilidad!.

Los lenguajes de programación básicamente se ubican en dos categorías,

Lenguaje de Programación de Bajo Nivel: Estos lenguajes de programación son mas cercanos al microcontrolador, ósea prácticamente es como si “habláramos” con el mismo, la ventaja de estos lenguajes de programación de bajo nivel es que tenemos un control mas detallado de las funciones del microcontrolador, se encuentra mucha información y el software de desarrollo es gratuito, la desventaja es que  tiene su precio en trabajo, dificultad en la depuración, y mucho tiempo de programación si el proyecto es complejo, el lenguaje mas representativo de esta categoría es el assembler o ensamblador y en un termino medio el lenguaje C.

Compilador MPASM de Microchip

Lenguaje de Programación de Alto Nivel: Estos lenguajes de programación básicamente lo que hacen es crear una interfase hombre – maquina, con lo cual se logra que el programador entienda de una forma mas fácil que es lo que quiere programar en un microcontrolador, ósea es un lenguaje mas cercano al programador, cuando se compila el programa o código fuente para el pic este tipo de lenguaje genera básicamente dos archivos en los que uno de ellos sigue siendo lenguaje ensamblador y el otro  es un archivo propio del lenguaje utilizado.
La ventaja de los lenguajes de alto nivel es la simplicidad en la programación, pocas líneas de código, (aunque esto no significa que el archivo .hex  resultante será menor que si lo hiciéramos con un lenguaje de bajo nivel), ahorro de tiempo en el desarrollo de proyectos, se aprovecha mas fácilmente las características especiales de los microcontroladores como el conversor análogo a digital, PWM, bus I2C, los protocolos de comunicación como el RS232, USART, USB etc.
Las desventajas en estos lenguajes de programación es que no son gratuitos, aunque existen versiones de prueba con algunas limitaciones, otras compañías de este tipo de software le apuestan a versiones gratuitas como el caso del AMICUS de la compañía Mecanique y Crowhill, este software es una versión gratuita del PROTON IDE pero solo para el pic 18f25k20  y que trabaja en base al lenguaje BASIC.


Hardware de Amicus 18

Lenguajes de programación con entorno visual: Básicamente se trata de una interfase grafica en donde se realiza un diagrama de flujo y luego el software genera el código hexadecimal en base a lo que queramos programar, es un entorno interesante pero para muchas cosas se complica por el hecho de que todo esta predeterminado y no se tiene un control profundo sobre los recursos del microcontrolador.
Entre estos sistemas de programación tenemos que el sistema NIPLE y PICAXE son los mas representativos de esta categoría, el sistema PICAXE utiliza un código predeterminado grabado en los microcontroladores al igual que el sistema ARDUINO y que es conocido como BOOTLOADER, la gran ventaja de este ultimo es el hecho de que se puede actualizar su código o firmware através del puerto USB del microcontrolador conectado a la computadora.


Proton IDE

Conclusiones: A la hora de elegir un lenguaje de programación se deben tener en cuenta nuestros recursos económicos e intelectuales, y elegir el que mas nos guste que como vimos traen ventajas y desventajas, algunos gustaran de lenguajes de programación complejos como el ensamblador y otros la practicidad, facilidad y rapidez que ofrecen lenguajes como el BASIC en todas sus variantes como Basic Pro, PROTON IDE, AMICUS etc.
En lo personal me ha fascinado el sistema PROTON IDE (Basic) con el cual eh podido hacer proyectos complejos que antes no pude hacer cuando programaba en ensamblador, este lenguaje de programación es fácil de entender, intuitivo y amigable con el programador y en poco tiempo puedes realizar un proyecto haciendo uso de los recursos mas relevantes de un microcontrolador, lo recomiendo a toda persona que se quiera iniciar en el mundo de la programación de microcontroladores y quiera ver resultados rapidos.


Compartir en...

Ver otros articulos

Siguiente
« Prev Post
Anterior
Next Post »

2 comentarios

comentarios
Anónimo
26 de noviembre de 2013, 16:53 delete

Estoy de acuerdo; Proton Ide es genial; lo he usado por años.

Reply
avatar
Anónimo
15 de julio de 2015, 3:39 delete

interesante el tema entro aqui por que justamente estudio en que lenguaje comenzar unos en C otros BASIC la gran mayoria con Asembler creo, bueno seguire navegando.....

Reply
avatar