Você está na página 1de 10

Programacin de los microcontroladores - Captulo 2 - Libro: Microcontroladores PIC - Programacin en BASIC

TOC Capitulo 1 Capitulo 2 Captulo 3 Captulo 4 Apndice A

Captulo 2: Programacin de los microcontroladores


Usted seguramente sabe que no solo es suficiente conectar el microcontrolador a los otros componentes y encender una fuente de alimentacin para hacerlo funcionar, verdad? Hay que hacer algo ms. se necesita programar el microcontrolador para que sea capaz de hacer algo til. Este captulo trata de la programacin en Basic, por lo que vamos a presentar lo bsico que tiene que saber para escribir un programa. Le puede parecer complicado, sobre todo si no tiene experiencia en este campo. no se rinda, respire profundamente y empiece a programar...

2.1 LENGUAJES DE PROGRAMACIN 2.2 CARACTERSTICAS PRINCIPALES DEL LENGUAJE DE PROGRAMACIN BASIC 2.3 COMPILADOR MIKROBASIC PRO FOR PIC

2.1 LENGUAJES DE PROGRAMACIN

El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el cdigo ejecutable y est compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el cdigo binario est compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra es interpretada por la CPU como una instruccin a ser ejecutada durante el funcionamiento del microcontrolador. Como es ms fcil trabajar con el sistema de numeracin hexadecimal, el cdigo ejecutable se representa con frecuencia como una serie de los nmeros hexadecimales denominada cdigo Hex. A todas las instrucciones que el microcontrolador puede reconocer y ejecutar se le denominan colectivamente

Juego de instrucciones. En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes.

Normalmente los programas se escriben en el lenguaje ensamblador cuando se requiere controlar completamente la ejecucin de programa. Como el proceso de escribir un cdigo ejecutable era considerablemente arduo, en consecuencia fue creado el primer lenguaje de programacin denominado ensamblador (ASM). El proceso de programacin se hizo un poco ms complicado. Por otro lado, el proceso de escribir un programa dej de ser una pesadilla. Las instrucciones en ensamblador consisten en las abreviaturas con significado. Un programa denominado ensamblador instalado en la PC compila las instrucciones del lenguaje ensamblador a cdigo mquina (cdigo binario). Este programa compila instruccin a instruccin sin optimizacin. La ventaja principal del lenguaje ensamblador es su simplicidad y el hecho de que a cada instruccin cle orresponde una localidad de memoria. Como permite controlar todos los procesos puestos en marcha dentro del microcontrolador, este lenguaje de programacin todava sigue siendo popular. Por otro lado, los programas se ejecutan siempre a alta velocidad y en la mayora de casos no es necesario saber en detalle qu ocurre dentro del microcontrolador. A pesar de todos los lados buenos del lenguaje ensamblador, los programadores siempre han necesitado un lenguaje de programacin similar al lenguaje utilizado en el habla cotidiana. Por ltimo, los lenguajes de programacin de alto nivel (Basic entre otros) fueron creados. La ventaja principal de estos lenguajes es la simplicidad de escribir un programa. Varias instrucciones en ensamblador se sustituyen por una sentencia en Basic. El programador ya no tiene que conocer el conjunto de instrucciones del microcontrolador utilizado. Ya no es posible conocer exactamente cmo se

ejecuta cada sentencia, de todas formas ya no importa. Aunque siempre se puede insertar en el programa una secuencia escrita en ensamblador.

El proceso de escribir un programa en Basic. Al seleccionar la opcin apropiada, el programa ser compilado en el ensamblador y luego en el cdigo hex que ser cargado en el microcontrolador.

Similar al lenguaje ensamblador, un programa especializado e instalado en la PC se encarga de compilar un programa a cdigo mquina. A diferencia del ensamblador, los compiladores para los lenguajes de programacin de alto nivel crean un cdigo ejecutable que no es siempre tan corto como el cdigo escrito en ensamblador.

La figura anterior describe el proceso de la compilacin de programa escrito en Basic en cdigo hex.

Ejemplo de un programa simple escrito en Basic:

VENTAJAS DE LOS LENGUAJES DE PROGRAMACIN DE ALTO NIVEL

Si alguna vez ha escrito un programa para un microcontrolador PIC en lenguaje ensamblador, probablemente sepa que la arquitectura RISC carece de algunas instrucciones. Por ejemplo, no hay instruccin apropiada para multiplicar dos nmeros. Por supuesto, este problema se puede resolver gracias a la aritmtica que permite realizar las operaciones complejas al descomponerlas en un gran nmero de operaciones ms simples. En este caso, la multiplicacin se puede sustituir con facilidad por adicin sucesiva (a x b = a + a + a + ... + a). Ya estamos en el comienzo de una historia muy larga... No hay que preocuparse al utilizar uno de estos lenguajes de programacin de alto nivel como es Basic, porque el compilador encontrar automticamente la solucin a ste problema y otros similares. Para multiplicar los nmeros a y b, basta con escribir a*b.

2.2 CARACTERSTICAS PRINCIPALES DEL LENGUAJE DE PROGRAMACIN BASIC

Similar al uso de cualquier lengua que no est limitada a los libros y a las revistas, el lenguaje de programacin Basic no est estrechamente relacionado a un tipo particular de ordenador, procesador o sistema operativo. Esto puede ser un problema, ya que Basic vara ligeramente dependiendo de su aplicacin (como diferentes dialectos de una lengua). Por consiguiente, en este libro no vamos a darle una descripcin detallada de todas las caractersticas de Basic, sino presentar una aplicacin muy concreta de Basic, lenguaje de programacin utilizado en el compilador mikroBasic PRO for PIC.

El Basic es un lenguaje de programacin simple y fcil de entender. Para utilizarlo correctamente, basta con conocer slo unos pocos elementos bsicos en los que consiste cada programa. Estos son:

Identificadores Comentarios Operadores Expresiones Instrucciones Constantes Variables Smbolos Directivas Etiquetas Procedimientos y funciones Mdulos

Aqu est un ejemplo de cmo no se debe escribir un programa. Los comentarios no estn incluidos, nombres de etiquetas no tienen significado, secciones del cdigo no estn agrupadas...Este programa funciona correctamente, pero slo el programador que lo escribi conoce su propsito y modo de ejecucin (como mximo uno o dos das). En la siguiente figura se muestra la estructura de un programa simple escrito en Basic, destacando las partes en las que consiste. Esto es un ejemplo de cmo se debe escribir un programa. Las diferencias son ms que obvias...

ESTRUCTURA DE PROGRAMA
Similar a los otros lenguajes de programacin, Basic dispone de un conjunto de reglas estrictamente definidas que se deben observar al escribir un programa. Para escribir un programa en Basic, es necesario instalar un software que proporciona el entorno de trabajo apropiado y entiende estas reglas en la PC... Al escribir una carta, se necesita un programa para procesar palabras. En este caso, se necesita el compilador mikroBasic PRO for PIC.

A diferencia de la mayora de programas a los que est acostumbrado a manejar, el proceso de escribir programas en el compilador no empieza por seleccionar la opcin File>New, sino Project>New. Por qu? Bueno, usted escribe un programa en un documento con extensin .mbas (mikroBasic). Una vez que se ha escrito el programa, el mismo se debe compilar en cdigo HEX para crear un nuevo documento con extensin .hex. Al mismo tiempo el compilador generar automticamente varios documentos aparte de se. Por ahora el propsito de estos documentos no importa. Por supuesto, hay algo para conectarlos todos. Usted ya lo adivina - se trata de un proyecto. El programa que escribe es slo una parte del proyecto.

Slo para estar seguro de que estamos hablando en los mismos trminos... A partir de ahora la palabra mdulo se refiere a un documento con extensin .mbas. El texto que contiene se refiere a un programa. Cada proyecto escrito en el compilador mikroBasic PRO for PIC es de extensin .mbppi (microBasic Project for PIC) y consiste en un mdulo como mnimo (mdulo principal - Main Module).

Cada proyecto en el mikroBasic PRO for PIC requiere un solo mdulo principal. Lo identifica la palabra clave program y ordena al compilador por dnde empezar el proceso de la compilacin. Al crear con xito un proyecto vaco en Project Wizard, el mdulo principal (main module) ser visualizado automticamente en la ventana Code Editor:

program MyProject main: ... ... ... '*

' El mdulo principal es denominado MyProject

' Procedimiento principal

'* Escribir el cdigo de programa aqu '*

end.

A la palabra clave program no le puede preceder nada, excepto comentarios. Como hemos mencionado anteriormente, el proyecto puede incluir a otros mdulos que, a diferencia del mdulo principal, empiezan por la palabra clave module.

module MyModule ' Mdulo auxiliar Auxiliary es denominado MyModule ... '* ... '* Implementos ... '* end.

Para que el compilador pueda reconocer todos los mdulos que pertenecen a un proyecto, es necesario especificarlos en el mdulo principal por medio de la palabra clave include seguida por un nombre del mdulo entre comillas. La extensin de estos ficheros no se debe incluir. Se permite slo un mdulo por clusula include. El nmero de las clusulas include no est limitado, pero todas ellas deben estar especificadas inmediatamente despus del nombre del programa (mdulo principal). Ejemplo:

program MyProgram MyProgram) include "utils" include "strings" include "MyUnit" ...

' Inicio de programa (mdulo principal denominado ' ' ' ' Otros mdulos incluidos son: Mdulo utils Mdulo strings Mdulo MyUnit

Você também pode gostar