El Lenguaje C
El Lenguaje C
El Lenguaje C
LENGUAJE ENSAMBLADOR
Como el proceso de escribir un cdigo ejecutable era considerablemente arduo, en
consecuencia fue creado el primer lenguaje de programacin denominado
ensamblador (ASM). Siguiendo la sintaxis bsica del ensamblador, era ms fcil
escribir y comprender el cdigo. Las instrucciones en ensamblador consisten en las
abreviaturas con significado y a cada instruccin corresponde una localidad de
memoria. Un programa denominado ensamblador compila (traduce) las instrucciones
del lenguaje ensamblador a cdigo mquina (cdigo binario).
UNMSM-FIEE Circuitos Elctricos I
Los lenguajes de programacin de alto nivel (Basic, Pascal, C etc.) fueron creados
con el propsito de superar las desventajas del ensamblador. En lenguajes de
programacin de alto nivel varias instrucciones en ensamblador se sustituyen por una
sentencia. El programador ya no tiene que conocer el conjunto de instrucciones o
caractersticas del hardware 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.
Lenguaje C
El lenguaje C dispone de todas las ventajas de un lenguaje de programacin de alto
nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre
los bytes como sobre los bits (operaciones lgicas, desplazamiento etc.). Las
caractersticas de C pueden ser muy tiles al programar los microcontroladores.
Adems, C est estandarizado (el estndar ANSI), es muy portable, as que el mismo
cdigo se puede utilizar muchas veces en diferentes proyectos. Lo que lo hace
accesible para cualquiera que conozca este lenguaje sin reparar en el propsito de
uso del microcontrolador. C es un lenguaje compilado, lo que significa que los
archivos fuentes que contienen el cdigo C se traducen a lenguaje mquina por el
compilador. Todas estas caractersticas hicieron al C uno de los lenguajes de
programacin ms populares.
Inicio y fin de bloque: permite agrupar un nmero de instrucciones las que pueden
ser ejecutadas con cierta prioridad. Se usa { para iniciar bloque y } para finalizar
bloque.
{ // inicio de bloque
// instrucciones
} // final de bloque
Tipo: es una palabra reservada definida que indica el tipo de variable que se ha de
definir y su alcance numrico, esto de acuerdo a la Tabla 1.
Entorno de desarrollo
Como ejemplo se tiene el caso del puerto B, llamado PORTB por el compilador CC5X,
el cual est definido en el archivo de cabecera como una variable entera de 8 bits.
El microcontrolador posee al menos 3 puertos que pueden ser usados como entradas-
salidas digitales o como entradas anlogas (si corresponde). Los Puertos son
bsicamente registros de 8 bits basados en Flip-Flops Tipo D, que pueden ser usados
como entrada o salida. Los nombres de los puertos corresponden a los especificados
en la data del microcontrolador, as se tiene el PORTB de 8 bits, el PORTC de 8 bit y
el PORTA de 5 bits. Dichos bits se configuran como entrada o salida a travs de un
registro llamado TRIS. Para el caso del Puerto A ser TRISA, para el puerto B, se usa
el TRISB, etc. Los puertos sealados poseen ms de una funcin. Estos puertos del
C se usan como si fueran variables enteras de 8 bit y pueden accesarse nivel de bit
o en forma de bytes.
TRISB.0=0; // Bit 0 del puerto B se define como salida TRISC.7=1; // Bit 7 del puerto
C se define como entrada
Puede definirse todo el puerto como entrada o salida o mezcla de ambas situaciones
usando un byte completo sobre el registro TRIS correspondiente.
TRISB=0x00; // los 8 bit del PORTB como salida TRISC=0xFF; // los 8 bits del PORTC
como entrada TRISB=0x0f; // Los 4 bit ms significativos de entrada, // los 4
bit menos significativos como salida
Si se pueden programar si se utiliza un lenguaje de alto nivel (C, Pascal, Basic). Cabe
aclarar que lenguajes en versiones para PIC, no son los mismos compiladores
tradicionales.
Por sus funciones s. Pero no puedes retirar un PIC y colocar un Atmel as de simple.
El circuito es otro. El programa es otro a pesar de que funcionalmente puedan ejecutar
las mismas tareas.
Encapsulamiento y ocultacin
Como hemos visto, cada objeto es una estructura compleja en cuyo interior hay datos
y programas, todos ellos relacionados entre s, como si estuvieran encerrados
conjuntamente en una cpsula. Esta propiedad (encapsulamiento), es una de las
caractersticas fundamentales en la OOP.
Los objetos son inaccesibles, e impiden que otros objetos, los usuarios, o incluso los
programadores conozcan cmo est distribuida la informacin o qu informacin hay
disponible. Esta propiedad de los objetos se denomina ocultacin de la informacin.
Esto no quiere decir, sin embargo, que sea imposible conocer lo necesario respecto
a un objeto y a lo que contiene. Si as fuera no se podra hacer gran cosa con l. Lo
que sucede es que las peticiones de informacin a un objeto. deben realizarse a
travs de mensajes dirigidos a l, con la orden de realizar la operacin pertinente. La
respuesta a estas rdenes ser la informacin requerida, siempre que el objeto
considere que quien enva el mensaje est autorizado para obtenerla.
El hecho de que cada objeto sea una cpsula facilita enormemente que un objeto
determinado pueda ser transportado a otro punto de la organizacin, o incluso a otra
organizacin totalmente diferente que precise de l. Si el objeto ha sido bien
construido, sus mtodos seguirn funcionando en el nuevo entorno sin problemas.
Esta cualidad hace que la OOP sea muy apta para la reutilizacin de programas.
Existen varios tipos tipos de jerarquas: sern simples cuando su estructura pueda ser
representada por medio de un "rbol". En otros casos puede ser ms compleja.
Ing. Electrnica P g i n a | 10
UNMSM-FIEE Circuitos Elctricos I
reciben nombres genricos que denotan al conjunto de objetos que representan, por
ejemplo, VENTANA, CUENTA, FICHERO. En un conjunto reciben el nombre de
clases o tipos si descienden de otra clase o subclase.
Los objetos terminales. Son todos aquellos que descienden de una clase o subclase
y no tienen descendientes. Suelen llamarse casos particulares, instancias o tems
porque representan los elementos del conjunto representado por la clase o subclase
a la que pertenecen.
Bibliografa
http://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://users.salleurl.edu/~tl13
960/tutorial_hi_tech.pdf
http://sites.ieee.org/sb-itver/files/2014/09/Programa-y-requerimientos-del-curso-uC-
en-C.pdf
http://www.edudevices.com.ar/download/articulos/MCUsPIC/Programando_PICs_C
CS_08.pdf
http://controlautomaticoeducacion.com/primeros-pasos-programando-un-
microcontrolador/
Ing. Electrnica P g i n a | 11