Programación PIC en C

 

 

Volver al índice

 

¿Qué son las variables? pues sencillamente el poder identificar con un nombre una o varias posiciones de memoria de la RAM de nuestro PIC y de esta manera el poder almacenar allí los datos que va a utilizar nuestro programa.
En C para poder utilizar una variable primeramente hay que declararla siguiendo la siguiente sintaxis:

tipo nombre_variable [=valor];

 

Lo que va entre corchetes es porque es opcional es decir, las variables se pueden inicializar ó  no al declararlas.

Ejemplo de variable declarada:


int i;

Ejemplo de variable declarada e inicializada:


int i=5;

En una misma línea se puede declarar más de una variable siguiendo el siguiente formato:


tipo nombre_variable1,nombre_variable2,....;

 

Hay que tener en cuenta que la línea tiene que acabar en punto y coma.

El tipo de datos es obligatorio ponerlo y le dice al compilador cuantas celdillas de memoria tiene que reservar para almacenar el valor de la variable. Los tipos de datos pueden variar de un compilador a otro, vamos a ver los tipos de datos que podemos usar con nuestro compilador CCS.

Los tipos de datos básicos que utiliza nuestro compilador son los siguientes:

 

Tipos de datos compilador CCS

 

Sin embargo  el compilador CCS también admite los siguientes tipos de datos definidos en el estándar C y que son los que normalmente se utilizan a la hora de programar:

 

Tipos de datos estándar C compilador CCS

 

 

Todos los tipos excepto float son por defecto sin signo, aunque pueden llevar el especificador  unsigned ó signed y su rango de valores será el que corresponda a su tipo básico.


Estos son los tipos básicos, también están los tipos de datos compuestos como Enumeraciones, Estructuras y Uniones que están formados por una combinación de los básicos y que los veremos más adelante.

El nombre de la variable no puede ser una palabra clave (reservada por el compilador para realizar unas funciones determinadas y los caracteres que podemos utilizar son las letras: a-z y A-Z ( ¡ojo! la ñ o Ñ no está permitida), los números: 0-9 y el símbolo de subrayado _. Además hay que tener en cuenta que el primer carácter no puede ser un número.

 

¿Dónde se declaran las variables?


Las variables según el lugar en que las declaremos pueden ser de dos tipos: globales o locales.

  • La variables globales se declaran fuera de las funciones y pueden ser utilizadas en cualquier parte del programa y se destruyen al finalizar éste.
  • Las variables locales se declaran en la función en que van a ser utilizadas. Sólo existen dentro de la función en que se declara y se destruye al finalizar dicha función. Si una función va a usar argumentos (DATOS), entonces debe declarar las variables que van a aceptar los valores de esos argumentos. Estas variables son los parámetros formales de la función. Se comportan como cualquier otra variable local de la función, creándose al entrar en la función y destruyéndose al salir. Cuando veamos el tema de las funciones veremos ejemplos de estas variables.

 

Bueno ya está bien de teoría vamos hacer un ejemplo donde vamos a declarar y a usar varios tipos de variables:

 

 

Ejemplo Tipos de datos con el compilador CCS

 

Este programa generará la siguiente salida:

 

 

Salida terminal virtual programa tipos de datos

 

 

Comentario del programa:

 

  • El compilador utiliza 8 bits para representar los números enteros sin signo con lo cual podemos representar desde el 0 hasta el 255 que corresponde en binario al número: 11111111. Por lo que al asignarle a la variable el valor 256 el compilador no generará un error pero el dato guardado será erróneo, nos mostrará 0 que es el siguiente valor a 255 en binario.
  • Para los números enteros con signo también se utilizan 8 bits pero el último bit se reserva para el signo, con lo que se podrán representar los números desde: -127 al 127.
  • El tipo short se utilizará para las variables de un bit y tendrán como valor 0 ó 1.
  • Para los números tipo long int se reservan 16 bits sin signo con lo que su rango va de 0 a 65535
  • Para el tipo signed long se reservan también 16 bits pero se utiliza uno para el signo, por lo que se tiene un rango que va desde -32767 a 32767.
  • El tipo float define un número de 32 bits en punto flotante. y con el podremos representar los números reales.
  • El tipo char se utiliza para almacenar los caracteres, utiliza 8 bits sin signo suficientes para representar los 256 caracteres del código ASCII.
  • Los símbolos %D, %lu, %ld, %c le indica a la función printf en que formato tiene que representar el número. En la ayuda del compilador vienen los diferentes especificadores que hay para los diferentes tipos de datos. A lo largo de los siguientes ejemplos se irán mostrando algunos más.

 

CONSIDERACIONES: Hay que intentar siempre utilizar el tipo de dato que menos memoria ocupe dentro de los valores que pueda utilizar la variable. Si abusamos de los tipos grandes para almacenar valores pequeños nos quedaremos sin memoria y en los programas grandes es un dato que tenemos que tener en cuenta.


Nota: en los ejemplos que tengan poco código fuente como este y para que el formato de texto salga con los mismos colores que utiliza el compilador utilizaré imágenes para mostrar el código y en la sección de descargas iré incluyendo los ejemplos del curso para que todo el que no quiera teclearlos a mano se los pueda descargar. Otra cosa no incluiré el circuito en Proteus ya que es el mismo para todos los ejemplos a excepción de que en algunos ejemplos pueda ir cambiando el tipo de PIC.

 

Volver al índice

© 2007-2017 AquiHayapuntes.com