Modelo de Programación
Modelo de Programación
Modelo de programación
Los microcontroladores tienen la capacidad, a través de la CPU, de interpretar órdenes que determinan diferentes formas de actuar sobre los bloques internos, y generar señales sobre los periféricos, lo que permite modificar el comportamiento del sistema completo. Cada una de estas órdenes se almacena en memoria como una secuencia de 1´s y 0´s, denominándose a estas secuencias Código Máquina. El código máquina es el único código que puede interpretar una CPU.
Para facilitar la programación al usuario, lo que se hace es acercar la forma de expresar estas órdenes al lenguaje Natural. El lenguaje ensamblador, en este sentido, utiliza símbolos y nombres para representar las órdenes y la forma de acceder a los datos. Sin embargo, si bien es más fácil de utilizar que los 1s y 0s, no está todavía lo suficientemente cerca del lenguaje natural. Por contra, la traducción a lenguaje máquina es inmediata.
Los lenguajes compilados, más alejados de la máquina, intentan representar estructuras gramaticales similares a las humanas (bucles for, condicionales if,...), y un poco más arriba, estructuras de inteligencia artificial que establecen reglas lógicas entre diferentes elementos. El problema es que, conforme el lenguaje se aleja del código máquina y resulta más fácil escribir las órdenes que indiquen lo que se quiere que haga el sistema, la transformación de esas órdenes hacia el lenguaje binario se complica.
Relación entre los lenguajes y el código máquina
El lenguaje C, se presenta como un lenguaje de medio nivel con el suficiente nivel de abstracción que permite una mejor gestión del código y que a la vez permite el acceso a gran parte de los recursos de bajo nivel. Por otra parte, si bien cada sentencia se va a traducir en varias instrucciones en código máquina, la eficiencia del código va depender del compilador que realiza esta traducción. En este sentido, teniendo en cuenta que los compiladores son cada vez más eficientes en la optimización del código máquina generado, en general, la pérdida de eficiencia es poco apreciable. Como ventajas adicionales, C es el lenguaje probablemente más extendido en la programación de microcontroladores y está relativamente estandarizado.
Conjunto de Instrucciones.
En cuanto a las instrucciones manejadas por el MSP430, hay un total de 51, de las cuales 27 son básicas y 24 emuladas a partir de las básicas. Las instrucciones básicas están implementadas internamente y tienen un código binario propio. Las emuladas son remplazadas por la básica equivalente durante en le proceso de ensamblado.