Ebook 8
Ebook 8
Ebook 8
PRODUCTS
SHOP
LEARN
http://learn.mikroe.com/ebooks/microcontrolador...
DOCS
BOOKS
LIBSTOCK
FORUM
HELP DESK
Tabla de
contenido
MIKROELEKTRONIKA
Definiciones
Una variable es un objeto nombrado capaz de contener un dato que puede ser modificado durante la ejecucin
de programa. En C, las variables tienen tipo, que significa que es necesario especificar el tipo de dato que se le
asigna a una variable (int, float etc.). Las variables se almacenan en la memoria RAM y el espacio de memoria
que ocupan (en bytes) depende de su tipo.
1
2
3
4
5
Una constante tiene las mismas caractersticas que una variable excepto el hecho de que su valor asignado no
puede ser cambiado durante la ejecucin de programa. A diferencia de las variables, las constantes se
almacenan en la memoria Flash del microcontrolador para guardar el mayor espacio posible de memoria RAM.
El compilador las reconoce por el nombre y el prefijo const. En mikroC, el compilador reconoce automticamente
el tipo de dato de una constante, as que no es necesario especificar el tipo adicionalmente.
1 /* dos lneas de programa consecutivas */
2
3 const A = 1000 // el valor de la constante A est definido
4 A = 15;// ERROR! no se puede modificar el valor de la constante
Cada variable o constante debe tener un identificador que lo distingue de otras variables y constantes. Refirase
a los ejemplos anteriores, a y A son identificadores.
Reglas para nombrar
En mikroC, los identificadores pueden ser tan largos como quiera. Sin embargo, hay varias restricciones:
Los identificadores pueden incluir cualquiera de los caracteres alfabticos A-Z (a-z), los dgitos 0-9 y el
carcter subrayado _. El compilador es sensible a la diferencia entre minsculas y maysculas. Los nombres
de funciones y variables se escriben con frecuencia con minsculas, mientras que los nombres de constantes
se escriben con maysculas.
Los identificadores no pueden empezar con un dgito.
Los identificadores no pueden coincidir con las palabras clave del lenguaje mikroC, porque son las palabras
reservadas del compilador.
1 de 5
20/01/17 15:27
http://learn.mikroe.com/ebooks/microcontrolador...
absolute
data
if
return
typedef
asm
default
inline
rx
typeid
at
delete
int
sfr
typename
auto
do
io
short
union
bit
double
long
signed
unsigned
bool
else
mutable
sizeof
using
break
enum
namespace
static
virtual
case
explicit
operator
struct
void
catch
extern
org
switch
volatile
char
false
pascal
template
while
class
float
private
this
code
for
protected
throw
const
friend
public
true
continue
goto
register
try
temperatura_V1 //
Presin//
no_corresponder//
dat2string //
SuM3 //
_vtexto//
7temp//
%ms_alto//
OK
OK
OK
OK
OK
OK
NO -- no puede empezar con un nmero
NO -- no pueden contener caracteres especiales
Declaracin de variables
Cada variable debe ser declarada antes de ser utilizada en el programa. Como las variables se almacenan en la
memoria RAM, es necesario reservar el espacio para ellas (uno, dos o ms bytes). Al escribir un programa, usted
sabe qu tipo de datos quiere utilizar y qu tipo de datos espera como resultado de una operacin, mientras que
el compilador no lo sabe. No se olvide de que el programa maneja las variables con los nombres asignados. El
compilador las reconoce como nmeros en la memoria RAM sin conocer su tamao y formato. Para mejorar la
legibilidad de cdigo, las variables se declaran con frecuencia al principio de las funciones:
1 <tipo> variable;
Aparte del nombre y del tipo, a las variables se les asignan con frecuencia los valores iniciales justamente
enseguida de su declaracin. Esto no es un paso obligatorio, sino una cuestin de buenas costumbres. Se
parece a lo siguiente:
1 unsigned int peso; // Declarar una variable llamada peso
2 peso = 20; // Asignar el valor 20 a la variable peso
Un mtodo ms rpido se le denomina declaracin con inicializacin (asignacin de los valores iniciales):
1 unsigned int peso = 20; // peso est declarado y su valor es 20
2 de 5
20/01/17 15:27
http://learn.mikroe.com/ebooks/microcontrolador...
Si hay varias variables con el mismo valor inicial asignado, el proceso se puede simplificar:
1 unsigned int peso1 = peso2 = peso3 = 20;
2 int valor_inicial = un_mnimo_de_petrleo = 0;
Tenga cuidado de no declarar la misma variable otra vez dentro de la misma funcin.
Puede modificar el contenido de una variable al asignarle un nuevo valor tantas veces que quiera
Al declarar una variable, siempre piense en los valores que la variable tendr que contener durante la
ejecucin de programa. En el ejemplo anterior, peso1 no se puede representar con un nmero con punto
decimal o un nmero con valor negativo.
Declaracin de constantes
Similar a las variables, las constantes deben ser declaradas antes de ser utilizadas en el programa. En mikroC,
no es obligatorio especificar el tipo de constante al declararla. Por otra parte, las constantes deben ser
inicializadas a la vez que se declaran. El compilador reconoce las constantes por su prefijo const utilizado en la
declaracin. Dos siguientes declaraciones son equivalentes:
1 const int MINIMUM = -100; // Declarar constante MINIMUM
2 const MINIMUM = -100; // Declarar constante MINIMUM
Las constantes de enumeracin son un tipo especial de constantes enteras que hace un programa ms
comprensible al asignar los nmeros ordinales a las constantes. Por defecto, el valor 0 se asigna
automticamente a la primera constante entre llaves, el valor 1 a la segunda, el valor 2 a la tercera etc.
1 enum surtidores {AGUA,GASLEO,CLORO}; // AGUA = 0; GASLEO = 1; CLORO = 2
Es posible introducir directamente el valor de una constante dentro de la lista de enumeraciones. El incremento
se detiene al asignar un valor a un elemento de matriz, despus se reinicia a partir del valor asignado. Vea el
siguiente ejemplo:
1 enum surtidores {AGUA,GASLEO=0,CLORO}; // AGUA = 0; GSOLEO = 0; CLORO = 1
3 de 5
20/01/17 15:27
http://learn.mikroe.com/ebooks/microcontrolador...
una variable o una constante. Intentar acceder a una variable o una constante fuera de su mbito resulta en un
error. Una variable o una constante es invisible fuera de su mbito. Todas las variables y constantes que
pensamos utilizar en un programa deben ser declaradas anteriormente en el cdigo. Las variables y constantes
pueden ser globales o locales. Una variable global se declara en el cdigo fuente, fuera de todas las funciones,
mientras que una variable local se declara dentro del cuerpo de la funcin o dentro de un bloque anidado en una
funcin.
A las variables globales se les puede acceder de cualquiera parte en el cdigo, an dentro de las funciones con
tal de que sean declaradas. El mbito de una variable global est limitado por el fin del archivo fuente en el que
ha sido declarado.
El mbito de variables locales est limitado por el bloque encerrado entre llaves {} en el que han sido declaradas.
Por ejemplo, si estn declaradas en el principio del cuerpo de funcin (igual que en la funcin main) su mbito
est entre el punto de declaracin y el fin de esa funcin. Refirase al ejemplo anterior. A las variables locales
declaradas en main() no se les puede acceder desde la Funcin_1 y al revs.
Un bloque compuesto es un grupo de declaraciones y sentencias (que pueden ser bloques tambin) encerradas
entre llaves. Un bloque puede ser una funcin, una estructura de control etc. Una variable declarada dentro de
un bloque se considera local, o sea, existe slo dentro del bloque. Sin embargo, las variables declaradas fuera
del mbito todava son visibles.
Aunque las constantes no pueden ser modificadas en el programa, siguen las mismas reglas que las variables.
Esto significa que son visibles dentro de su bloque a excepcin de las constantes globales (declaradas fuera de
cualquier funcin). Las constantes se declaran normalmente en el inicio del cdigo fuera de cualquier funcin
(como variables globales).
Clases de almacenamiento
Las clases de almacenamiento se utilizan para definir el mbito y la vida de variables, constantes y funciones
dentro de un programa. En mikroC se pueden utilizar diferentes clases de almacenamiento:
auto es una clase de almacenamiento por defecto para las variables locales, as que se utiliza raramente. Se
utiliza para definir que una variable local tiene duracin local. La clase de almacenamiento auto no se puede
utilizar con variables globales.
4 de 5
20/01/17 15:27
http://learn.mikroe.com/ebooks/microcontrolador...
static es una clase de almacenamiento por defecto para las variables globales. Especifica que una variable
es visible dentro del archivo. A las variables locales declaradas con el prefijo static se les puede acceder
dentro del archivo fuente (o sea se comportan como variables globales).
extern: la palabra clave extern se utiliza cuando el programa est compuesto por diferentes archivos fuente.
Esto le permite utilizar una variable, una constante o una funcin declarada en otro archivo. Por supuesto,
para compilar y enlazar este archivo correctamente, el mismo debe ser incluido en su proyecto. En los
siguientes ejemplos, el programa consiste en dos archivos: File_1 y File_2. El File_1 utiliza una variable y una
funcin declaradas en File_2.
File 1:
1
2
3
4
5
6
7
File 2:
1
2
3
4
5
6
7
8
int cnt = 0;
void hello();
void hello(){ // Modificaciones que afectan a la
. // cnt en File_1 son visibles aqu
.
.
}
2.4 Variables y Constantes por MikroElektronika se encuentra bajo una Licencia Creative Commons Atribucin 4.0
Internacional, excepto cuando se indique lo contrario.
5 de 5
20/01/17 15:27