Misantla, Veracruz. 7 de mayo de 2014. Introduccin Los micros controladores se encuentran por doquier en la actualidad. En cada una de nuestras casa podemos encontrar entre 10 y 50 micro controladores, todos ellos pequeas computadoras totalmente funcionales en el interior de aparatos como nuestro horno micro-ondas, la maquina lavadora, nuestro TV, DVD, el estreo, el mp3 portable, nuestra consola de videojuegos, nuestro auto. En este trabajo se hablara los tipos de lenguajes que se utilizan para ser programados y que todas estas funcionalidades sean posibles, en la actualidad existen lenguajes de bajo y alto nivel aqu se ver cules de ellos es posible programar para micro controladores.
Desarrollo. En este trabajo se hablara sobre algunos lenguajes de programacin para micro controladores la diferencia entre un lenguaje de programacin y la programacin de un micro controlador cambia en algunas instrucciones ya que no es igual el programar para micro controladores. Para iniciar podemos decir que un micro controlador es un circuito integrado que se puede programar para que haga lo que nosotros le indiquemos. Permite la entrada y salida de informacin y tiene la capacidad de procesar esa informacin, entrega los resultados del procesamiento en una salida, siendo este el esquema bsico de una computadora solo que en una escala muy pequea y limitada. Existen varios lenguajes de programacin de micro controladores pero los ms usados son el lenguaje C, BASIC y ensamblador los cuales se explicaran mas adelante. Como ya se dijo existen varios lenguajes para poder programar en micro controladores en ellos se derivan lenguajes de bajo nivel y de alto nivel entre ellos se podra decir que hay un lenguaje trmino medio el cual es el lenguaje c mencionado anteriormente. De los que ya se mencionaron anteriormente el lenguaje de bajo nivel es ensamblador, el lenguaje de nivel medio es C y el lenguaje de alto nivel es Basic. Lenguaje de Programacin de Bajo Nivel: Estos lenguajes de programacin son ms cercanos al micro controlador, sea prcticamente es como si se hablara con el mismo micro controlador, la ventaja de estos lenguajes de programacin de bajo nivel es que tenemos un control ms detallado de las funciones del micro controlador, se encuentra mucha informacin y el software de desarrollo es gratuito, la desventaja es que tiene su precio en trabajo, dificultad en la depuracin, y mucho tiempo de programacin si el proyecto es complejo, el lenguaje ms representativo de esta categora es el assembler o ensamblador y un nivel intermedio es el C como ya se mencion.
Lenguaje de Programacin de Alto Nivel: Estos lenguajes de programacin bsicamente lo que hacen es crear una interface hombre mquina, con lo cual se logra que el programador entienda de una forma ms fcil que es lo que quiere programar en un micro controlador, sea es un lenguaje ms cercano al programador, cuando se compila el programa o cdigo fuente para el micro controlador este tipo de lenguaje genera bsicamente dos archivos en los que uno de ellos sigue siendo lenguaje ensamblador y el otro es un archivo propio del lenguaje utilizado. El lenguaje BASIC: Ventajas: Es un lenguaje muy simple y con instrucciones fcilmente legibles, incluso por no expertos. Desventajas: Nunca vas a tener el control del programa en cuanto tiempos de ejecucin y control de registros bit a bit. Es muy complicado el manejo de interrupciones simultneas en este lenguaje. Tiene limitaciones cuando genera el archivo .hex, es decir no optimiza el tamao de memoria de programa del PIC. La mayora de compiladores para este lenguaje pueden utilizarse nicamente bajo ambiente Windows. Existen varias casas que producen compiladores para este lenguaje, entre ellas se pueden mencionar a: www.letbasic.com www.melabs.com www.basicmicro.com El ms conocido y que a mi parecer es mejor entre ellos es el PICBASIC PRO de MicroEngineering Labs Inc. El cual no es gratuito. Un ejemplo de ello es en la fig. 1 la cual muestra un pequeo programa realizado en BASIC.
fig. 1.- rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje Basic empleando el software PICBASIC PRO.
Lenguaje C: Ventajas: Es un lenguaje de alto nivel ms cercano a la mquina. Puedes construir rutinas matemticas fcilmente. Puede ser de ayuda al combinarlo con Ensamblador sobre todo en la gama alta. Se pueden crear macros con este lenguaje, para despus simplificar el cdigo en diferentes desarrollos. Es aceptado por la empresa fabricante Microchip, incluso ellos tienen algunos compiladores C. Desventajas: Los programas al compilarlos pueden resultar un poco extensos y pesados por ello debe tenerse en cuenta la capacidad de memoria de programa del PIC a utilizar. Con este lenguaje tampoco se puede controlar del todo los tiempos y los registros bit a bit. Para este lenguaje existen tambin varias casas que producen software y compiladores para este lenguaje entre ellas las ms importantes son: www.microchip.com con sus compiladores C18 para la gama alta y C30 para los dsPIC, ambos Como otras herramientas de esta marca, se puede incluir en el entorno gratuito MPLAB IDE, y permite a los desarrolladores, llevar a cabo su aplicacin en un lenguaje de alto nivel. No son del todo gratuitos. Entre mencionar algunos. Lenguaje Ensamblador: Ventajas: Es el lenguaje de bajo nivel natural de la lnea PIC tanto para gama baja, media o alta. Con l se tiene un aprovechamiento eficiente de los recursos del PIC. Se pueden crear macros con este lenguaje, para despus simplificar el cdigo en diferentes desarrollos. Con l se pueden controlar los tiempos y los registros bit a bit. Excelente para manejar interrupciones simultneas. Cuando se genera el archivo .hex ste es completamente optimizado. Desventajas: En realidad desde mi punto de vista no existe ninguna, excepto cuando no se tiene experiencia en programacin puede tardarse el desarrollo de alguna rutina en comparacin con los otros lenguajes. El compilador para este lenguaje es el MPLAB IDE el cual se consigue totalmente gratuito en la pgina de Microchip y constantemente estn sacando nuevas versiones, debe aclararse que este solo funciona bajo ambiente Windows. Para Linux existe un versin alternativa llamada: PIKLAB la cual presenta simuladores, editores, ensambladores y soporta una gran cantidad de compiladores C para PIC. Existen tambin otros lenguajes los cuales de derivan en: Lenguajes de programacin con entorno visual: Bsicamente se trata de una interface grafica en donde se realiza un diagrama de flujo y luego el software genera el cdigo hexadecimal en base a lo que queramos programar, es un entorno interesante pero para muchas cosas se complica por el hecho de que todo est predeterminado y no se tiene un control profundo sobre los recursos del micro controlador. Entre ellos se encuentran: Proteus En este curso Online se utilizara dos programas para poder aprender a programar Micro controladores, el primero es el simulador de circuitos electrnicos, llamado Proteus, conocido tambin como ISIS Profesional como se muestra en la fig. 2, el entorno de trabajo de Proteus
Fig. 2.- torno grfico de Proteus.
PIC C Compiler (CSS C Compiler): Otro gran programa es CSS C Compiler o PICC, uno de los mejores compiladores que existen al depurar el cdigo o el programa en lenguaje C, el programa verifica la sintaxis, da opciones de correccin y advertencias que podran daar a nuestro Micro controlador, adems de lo ms importante, nos genera el archivo .HEX, este archivo es lo nico que necesitamos a la hora de programar un Micro controlador (copiar fsicamente el programa al Micro controlador). En la fig. 3 se muestra el entorno del PIC la cual es donde se maneja.
Fig. 3.- Entorno grfico de PIC C Compiler.
Conclusin En conclusin podemos decir que el micro controlador es una herramienta muy til ya que son de multi usos ya que mediante la programacin es fcil cambiar su uso y que hoy en da se usa en cualquier cosa. Y en esta investigacin se vio lo que son algunos lenguajes para su programacin hay diversos lenguajes los cuales pueden ser muy tiles dependiendo las necesidades pero como se ha visto los mas fciles de manejar son los programas que hacen la mayora grafico que tambin cuentan como lenguajes que es de ms fcil interaccin con la comunicacin hombre-mquina pero si se requiere un poco mas de control se pueden usar lenguajes de alto nivel como es el Basic, arduino, entre otros. Los lenguajes de nivel medio o as se le caracteriza al lenguaje C es para personas ms expertas que requieren algo ms concreto y el lenguaje de bajo nivel como ensamblador pocos programadores lo usan por su programacin que es muy tardada y larga pero aun as se tiene una gran y mejor comunicacin con el micro controlador.
Referencias.
Milan Verle. PIC Microcontrollers - Programming in C. mikroElektronika; 1st edition (2009). [Consulta 7 de mayo de 2014]. Disponible en la web: <http://www.mikroe.com/products/view/285/book-pic-microcontrollers- programming-in-c/ > COMO ELEGIR LENGUAJE DE PROGRAMACION PARA PIC. Viernes, 25 de marzo de 2011. ). [Consulta 7 de mayo de 2014]. Disponible en la web: <http://sharatronica.blogspot.mx/2011/03/como-elegir-lenguaje-de- programacion.html>
Carlos Alberto Henao, Edison Duque. Programando micro controladores pic en lenguaje C. Scientia Et Technica, vol. XV, nm. 43, diciembre, 2009, pp. 37-42, Universidad Tecnolgica de Pereira, Colombia. [Consulta 7 de mayo de 2014]. Disponible en la web: < http://www.redalyc.org/articulo.oa?id=84917310007 > Gilberto Pascual Trujillo. Tipos de Lenguajes de Programacin. Curso de Programacin de Microcontroladores en C. mircoles, 21 de diciembre de 2011. [Consulta 7 de mayo de 2014]. Disponible en la web: <http://comoprogramarpic.blogspot.mx/2011/12/clase1-tipos-de-lenguajes- de.html> EDWIN ESPINOSA. GUIA DE INICIO RAPIDO PARA PROGRAMAR MICROCONTROLADORES PIC DE MICROCHIP. domingo, 18 de julio de 2010. [Consulta 7 de mayo de 2014]. Disponible en la web: <http://xorwf.blogspot.mx/2010/07/guia-de-inicio-rapido-para- programar.html>