SlideShare una empresa de Scribd logo
Lenguaje C para PICs 
Variables y Constantes
VARIABLES 
• Cualquier número que cambia su valor 
durante la operación del programa se llama 
variable. 
• Si un programa suma dos numeros (NUM1 + 
NUM2), es necesario tener un valor que 
represente lo que en la vida diaria se 
denomina SUMA. 
• En éste caso NUM1, NUM2 y SUMA son 
variables.
Declarando Variables 
• Un nombre de variable puede incluir cualquier caracter 
alfabetico A – Z (a – z), los digitos 0 – 9 y el caracter guion 
bajo “_”. 
• El compilador es sensitivo por lo que diferencia las 
mayúsculas de las minúsculas. 
• Los nombres de funciones y variables generalmente 
contienen letras minúsculas, mientras que los nombres de 
constantes contienen letras mayúsculas. 
• Los nombres de variables no deben comenzar con dígitos. 
• Nombres reservados para el compilador (key words) no 
deben usarse como variables. 
• El compilador microC reconoce “key words” siguientes.
Declaración 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 más bytes). 
 Al escribir un programa, usted sabe qué tipo de datos quiere utilizar y qué 
tipo de datos espera como resultado de una operación, 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 números en la memoria RAM 
sin conocer su tamaño y formato. 
 Para mejorar la legibilidad de código, las variables se declaran con 
frecuencia al principio de las funciones: 
 <tipo> variable; 
 Es posible declarar más de una variable de una vez si tienen el mismo tipo. 
 <tipo> variable1, variable2, variable3;
Declaración de Variables 
 Aparte del nombre y del tipo, a las variables se les asignan con frecuencia los valores 
iniciales justamente enseguida de su declaración. Esto no es un paso obligatorio, sino 
‘una cuestión de buenas costumbres’. Se parece a lo siguiente: 
 unsigned int peso; // Declarar una variable llamada peso 
 peso = 20; // Asignar el valor 20 a la variable peso 
 Un método más rápido se le denomina declaración con inicialización (asignación de los 
valores iniciales): 
 unsigned int peso = 20; // peso está declarado y su valor es 20 
 Si hay varias variables con el mismo valor inicial asignado, el proceso se puede 
simplificar: 
 unsigned int peso1 = peso2 = peso3 = 20; 
 Tenga cuidado de no declarar la misma variable otra vez dentro de la misma función. 
 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 ejecución de programa. En el ejemplo anterior, peso1 no se puede 
representar con un número con punto decimal o un número con valor negativo.
Más sobre variables 
• char var1; // variable var1 es un byte de 
//valores positivos. 
En este caso si no se antepone prefijo por defecto 
es tipo sin signo. 
• signed char var2; // variable var2 es byte con 
//signo (positivo o negativo). 
• Si por olvido no se declara el tipo de la variable, 
entonces el compilador automáticamente lo 
considera entero con signo. Esto significa que la 
variable ocupará dos bytes en memoria, con 
valores en el rango -32768 a +32767.
CONSTANTES 
Una constante o caracter es un valor fijo que 
no cambia durante la ejecución del programa. 
A diferencia de las variables, las constantes se 
almacenan en la memoria de programa (flash) 
con la finalidad de ahorrar espacio valioso en 
la memoria RAM. 
El compilador las reconoce por su nombre y 
por el prefijo const.
Declaración 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 
declaración. Las dos siguientes declaraciones son equivalentes: 
 const int MINIMUM = -100; // Declarar constante MINIMUM 
 const MINIMUM = -100; // Declarar constante MINIMUM 
 Las constantes pueden ser de cualquier tipo, incluyendo cadenas: 
 const T_MAX = 3.260E1; // constante de punto flotante T_MAX 
 const I_CLASS = 'A'; // constante carácter I_CLASS 
 const Mensaje = "Presione el botón IZQUIERDA"; // constante de cadena 
Mensaje
CONSTANTES ENTERAS 
• Las constantes enteras pueden ser: decimales, 
hexadecimales, octales o binarias. 
• El compilador reconoce su formato basándose en un 
prefijo. 
• Si el número no tiene prefijo, se lo considera decimal por 
defecto. El tipo de una constante es automáticamente 
reconocido por su tamaño. 
• En el siguiente ejemplo la constante MINIMUM sera 
automaticámente considerada un entero con signo y 
almacenada en dos bytes (16 bits) de memoria flash. 
• const MINIMUM = -100; // declara constante MINIMUM
CONSTANTES ENTERAS
Constantes de Punto Flotante 
 Las constantes de punto flotante consisten de 
una parte entera, de punto, una parte 
fraccionaria y una e ó E opcional seguido de un 
exponente entero con signo. 
const float T_MAX = 32.60; // declara 
temperature //T_MAX 
const float T_MAX = 3.260E1; // declara la misma 
//constante 
En ambos casos se declara una constante T_MAX 
que tiene el valor 32.60.
Constantes “Character” (ASCII) 
Una constante “character” es un caracter 
encerrado entre apóstrofes. 
const I_CLASS = 'A'; // declara constant e 
//I_CLASS 
const II_CLASS = 'B'; // declara constante 
//II_CLASS 
Ejecutando comandos que transfieran estas 
constantes a una pantalla LCD, se visualizará el 
carácter A y B respectivamente.
Constantes tipo “string” 
 Es una constante que consiste en una cadena de 
caracteres. 
 Las constantes string se encierran entre comillas. 
 const Mensage_1 = “Aprete botón de Inicio”; // Mensage 
1 para LCD 
 const Mensage_2 = “Aprete boton derecho”; // Mensage 2 
para LCD 
 const Mensage_3 = “Aprete boton izquierdo”; // Mensage 
3 para LCD 
 En este ejemplo, enviando la constante Mensaje_1 a la 
pantalla LCD, se visualiza el mensaje “Aprete botón Inicio”.
Constantes Enumeradas 
 Las constantes de enumeración son un tipo especial de constantes enteras que 
hace un programa más comprensible al asignar los números ordinales a las 
constantes. Por defecto, el valor 0 se asigna automáticamente a la primera 
constante entre llaves, el valor 1 a la segunda, el valor 2 a la tercera etc. 
 enum surtidores {AGUA,GASÓLEO,CLORO}; // AGUA = 0;GASÓLEO= 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, después se reinicia a partir del valor asignado. Vea el siguiente 
ejemplo: 
 enum surtidores {AGUA,GASÓLEO=0,CLORO}; //AGUA= 0;GÁSOLEO=0;CLORO=1 
 Las constantes de enumeración se utilizan de la siguiente manera: 
 int Velocidad_ascensor; 
 enum motor_ascensor {PARADA,INICIO,NORMAL,MÁXIMO}; 
 Velocidad_ascensor = NORMAL; // Velocidad_ascensor = 2
Acceso individual de bits 
 mikroC te permite acceso individual en variables de 8 
bits (char and unsigned short). Simplemente usando el 
selector (.) seguido de uno de los identificadores F0, 
F1, … , F7. Siendo F7 el bit mas significativo. 
 Ejemplo: 
PORTC.F0 = 1; 
PORTD.F5 = 0; 
PORTB.F7 = 1; 
 Los identificadores F0–F7 no se reconocen en minúsculas. 
NOTA: Entre dos accesos a bits se debe tener un retardo mínimo 
de 2 microsegundos.

Más contenido relacionado

La actualidad más candente

Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
rhemsolutions
 
Contadores y Acumuladores
Contadores y AcumuladoresContadores y Acumuladores
Contadores y Acumuladores
Nora O. Martínez
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
UTP, TA
 
Estructura Repetitivas
Estructura RepetitivasEstructura Repetitivas
Estructura Repetitivas
laryenso
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje java
Marisol Henao
 
4. estructuras selectivas
4. estructuras selectivas4. estructuras selectivas
4. estructuras selectivas
martell024
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
ivanjvic
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
marigelcontreras
 
Estructuras de seleccion anidadas
Estructuras de seleccion anidadasEstructuras de seleccion anidadas
Estructuras de seleccion anidadas
UVM
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionales
laryenso
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
Andreina Trejo
 
Sesión 09 Fund Programación
Sesión 09 Fund ProgramaciónSesión 09 Fund Programación
Sesión 09 Fund Programación
Wilson Ricardo Marín Verástegui
 
Visaul
VisaulVisaul
Visaul
thais0511
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++
Obmaro García
 
Simple estructura de selección o decisión lógica
Simple estructura de selección o decisión lógicaSimple estructura de selección o decisión lógica
Simple estructura de selección o decisión lógica
janeth_alfonso
 
Clase 6
Clase 6Clase 6
Clase 6
diego MC
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
Rubén Loredo
 
Condicionales
CondicionalesCondicionales
Condicionales
Daniel Cáceres
 
Clase 2 Estructuras de Control
Clase 2 Estructuras de ControlClase 2 Estructuras de Control
Clase 2 Estructuras de Control
Desireé mart?ez
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
valeriacaicedo7
 

La actualidad más candente (20)

Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Contadores y Acumuladores
Contadores y AcumuladoresContadores y Acumuladores
Contadores y Acumuladores
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Estructura Repetitivas
Estructura RepetitivasEstructura Repetitivas
Estructura Repetitivas
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje java
 
4. estructuras selectivas
4. estructuras selectivas4. estructuras selectivas
4. estructuras selectivas
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras de seleccion anidadas
Estructuras de seleccion anidadasEstructuras de seleccion anidadas
Estructuras de seleccion anidadas
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionales
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Sesión 09 Fund Programación
Sesión 09 Fund ProgramaciónSesión 09 Fund Programación
Sesión 09 Fund Programación
 
Visaul
VisaulVisaul
Visaul
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++
 
Simple estructura de selección o decisión lógica
Simple estructura de selección o decisión lógicaSimple estructura de selección o decisión lógica
Simple estructura de selección o decisión lógica
 
Clase 6
Clase 6Clase 6
Clase 6
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Clase 2 Estructuras de Control
Clase 2 Estructuras de ControlClase 2 Estructuras de Control
Clase 2 Estructuras de Control
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 

Similar a 1375034105 677 _variables%252_by%252b_constantes

Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constante
Rufi Flores
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
Pablo Chiesa
 
Constantes.docx
Constantes.docxConstantes.docx
Constantes.docx
Karla797781
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
La Morena Guariqueña
 
tecnologia (2).pdf
tecnologia (2).pdftecnologia (2).pdf
tecnologia (2).pdf
ElizabethAcostaQuinc
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
Anthony Vera
 
Introduccion c
Introduccion cIntroduccion c
Introduccion c
Jorge Ñauñay
 
Clase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - MéridaClase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - Mérida
guestc906c2
 
Clase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - MéridaClase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - Mérida
guestc906c2
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
Cristian C
 
EXP2EQ4LEA2B.pptx
EXP2EQ4LEA2B.pptxEXP2EQ4LEA2B.pptx
EXP2EQ4LEA2B.pptx
AxelOrtizDomnguez
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
Andres Bedoya Tobon
 
tecnologia (1).pdf
tecnologia (1).pdftecnologia (1).pdf
tecnologia (1).pdf
ElizabethAcostaQuinc
 
Escritura de algoritmos (grupo 5)
Escritura de algoritmos (grupo 5)Escritura de algoritmos (grupo 5)
Escritura de algoritmos (grupo 5)
Mayron Martinez
 
Tecnologia.pdf
Tecnologia.pdfTecnologia.pdf
Tecnologia.pdf
ValentinaFajardo11
 
Tecnologia PSEINT.pdf
Tecnologia PSEINT.pdfTecnologia PSEINT.pdf
Tecnologia PSEINT.pdf
stephaniaordonez
 
Conceptos basicos de programación.pdf
Conceptos basicos de programación.pdfConceptos basicos de programación.pdf
Conceptos basicos de programación.pdf
JuancamiloZuiga4
 
Tecnologia.pdf
Tecnologia.pdfTecnologia.pdf
Tecnologia.pdf
danagabrielaqr
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
Jesus Agreda
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
Jesus Agreda
 

Similar a 1375034105 677 _variables%252_by%252b_constantes (20)

Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constante
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
 
Constantes.docx
Constantes.docxConstantes.docx
Constantes.docx
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
 
tecnologia (2).pdf
tecnologia (2).pdftecnologia (2).pdf
tecnologia (2).pdf
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
 
Introduccion c
Introduccion cIntroduccion c
Introduccion c
 
Clase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - MéridaClase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - Mérida
 
Clase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - MéridaClase III Estructura de Datos IUTE - Mérida
Clase III Estructura de Datos IUTE - Mérida
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
EXP2EQ4LEA2B.pptx
EXP2EQ4LEA2B.pptxEXP2EQ4LEA2B.pptx
EXP2EQ4LEA2B.pptx
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
tecnologia (1).pdf
tecnologia (1).pdftecnologia (1).pdf
tecnologia (1).pdf
 
Escritura de algoritmos (grupo 5)
Escritura de algoritmos (grupo 5)Escritura de algoritmos (grupo 5)
Escritura de algoritmos (grupo 5)
 
Tecnologia.pdf
Tecnologia.pdfTecnologia.pdf
Tecnologia.pdf
 
Tecnologia PSEINT.pdf
Tecnologia PSEINT.pdfTecnologia PSEINT.pdf
Tecnologia PSEINT.pdf
 
Conceptos basicos de programación.pdf
Conceptos basicos de programación.pdfConceptos basicos de programación.pdf
Conceptos basicos de programación.pdf
 
Tecnologia.pdf
Tecnologia.pdfTecnologia.pdf
Tecnologia.pdf
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
 

Más de Jair BG

Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Parcial 2 tdic10_2010
Parcial 2 tdic10_2010
Jair BG
 
Parcial t1 2011 sol
Parcial t1 2011 solParcial t1 2011 sol
Parcial t1 2011 sol
Jair BG
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
Jair BG
 
Parcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solParcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 sol
Jair BG
 
Micp mejoramiento-sept2011solucion
Micp mejoramiento-sept2011solucionMicp mejoramiento-sept2011solucion
Micp mejoramiento-sept2011solucion
Jair BG
 
Micp mej feb18_2011_solucion
Micp mej feb18_2011_solucionMicp mej feb18_2011_solucion
Micp mej feb18_2011_solucion
Jair BG
 
Micc temas examen
Micc temas examenMicc temas examen
Micc temas examen
Jair BG
 
Micc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucionMicc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucion
Jair BG
 
Micc parcial dic9_2010 - copia (3)_sol
Micc parcial dic9_2010 - copia (3)_solMicc parcial dic9_2010 - copia (3)_sol
Micc parcial dic9_2010 - copia (3)_sol
Jair BG
 
Micc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_solMicc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_sol
Jair BG
 
Micc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_solMicc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_sol
Jair BG
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_soluc
Jair BG
 
Micc mej sept16_2010_solucion
Micc mej sept16_2010_solucionMicc mej sept16_2010_solucion
Micc mej sept16_2010_solucion
Jair BG
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010
Jair BG
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
Jair BG
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010
Jair BG
 
Micc leccion04 nov26_2009
Micc leccion04 nov26_2009Micc leccion04 nov26_2009
Micc leccion04 nov26_2009
Jair BG
 
Micc final sept05_2009
Micc final sept05_2009Micc final sept05_2009
Micc final sept05_2009
Jair BG
 
Micc final sep02_2010 solucion
Micc final sep02_2010 solucionMicc final sep02_2010 solucion
Micc final sep02_2010 solucion
Jair BG
 
Micc final feb14_2009_soluc
Micc final feb14_2009_solucMicc final feb14_2009_soluc
Micc final feb14_2009_soluc
Jair BG
 

Más de Jair BG (20)

Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Parcial 2 tdic10_2010
Parcial 2 tdic10_2010
 
Parcial t1 2011 sol
Parcial t1 2011 solParcial t1 2011 sol
Parcial t1 2011 sol
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
 
Parcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solParcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 sol
 
Micp mejoramiento-sept2011solucion
Micp mejoramiento-sept2011solucionMicp mejoramiento-sept2011solucion
Micp mejoramiento-sept2011solucion
 
Micp mej feb18_2011_solucion
Micp mej feb18_2011_solucionMicp mej feb18_2011_solucion
Micp mej feb18_2011_solucion
 
Micc temas examen
Micc temas examenMicc temas examen
Micc temas examen
 
Micc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucionMicc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucion
 
Micc parcial dic9_2010 - copia (3)_sol
Micc parcial dic9_2010 - copia (3)_solMicc parcial dic9_2010 - copia (3)_sol
Micc parcial dic9_2010 - copia (3)_sol
 
Micc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_solMicc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_sol
 
Micc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_solMicc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_sol
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_soluc
 
Micc mej sept16_2010_solucion
Micc mej sept16_2010_solucionMicc mej sept16_2010_solucion
Micc mej sept16_2010_solucion
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010
 
Micc leccion04 nov26_2009
Micc leccion04 nov26_2009Micc leccion04 nov26_2009
Micc leccion04 nov26_2009
 
Micc final sept05_2009
Micc final sept05_2009Micc final sept05_2009
Micc final sept05_2009
 
Micc final sep02_2010 solucion
Micc final sep02_2010 solucionMicc final sep02_2010 solucion
Micc final sep02_2010 solucion
 
Micc final feb14_2009_soluc
Micc final feb14_2009_solucMicc final feb14_2009_soluc
Micc final feb14_2009_soluc
 

1375034105 677 _variables%252_by%252b_constantes

  • 1. Lenguaje C para PICs Variables y Constantes
  • 2. VARIABLES • Cualquier número que cambia su valor durante la operación del programa se llama variable. • Si un programa suma dos numeros (NUM1 + NUM2), es necesario tener un valor que represente lo que en la vida diaria se denomina SUMA. • En éste caso NUM1, NUM2 y SUMA son variables.
  • 3. Declarando Variables • Un nombre de variable puede incluir cualquier caracter alfabetico A – Z (a – z), los digitos 0 – 9 y el caracter guion bajo “_”. • El compilador es sensitivo por lo que diferencia las mayúsculas de las minúsculas. • Los nombres de funciones y variables generalmente contienen letras minúsculas, mientras que los nombres de constantes contienen letras mayúsculas. • Los nombres de variables no deben comenzar con dígitos. • Nombres reservados para el compilador (key words) no deben usarse como variables. • El compilador microC reconoce “key words” siguientes.
  • 4.
  • 5. Declaración 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 más bytes).  Al escribir un programa, usted sabe qué tipo de datos quiere utilizar y qué tipo de datos espera como resultado de una operación, 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 números en la memoria RAM sin conocer su tamaño y formato.  Para mejorar la legibilidad de código, las variables se declaran con frecuencia al principio de las funciones:  <tipo> variable;  Es posible declarar más de una variable de una vez si tienen el mismo tipo.  <tipo> variable1, variable2, variable3;
  • 6. Declaración de Variables  Aparte del nombre y del tipo, a las variables se les asignan con frecuencia los valores iniciales justamente enseguida de su declaración. Esto no es un paso obligatorio, sino ‘una cuestión de buenas costumbres’. Se parece a lo siguiente:  unsigned int peso; // Declarar una variable llamada peso  peso = 20; // Asignar el valor 20 a la variable peso  Un método más rápido se le denomina declaración con inicialización (asignación de los valores iniciales):  unsigned int peso = 20; // peso está declarado y su valor es 20  Si hay varias variables con el mismo valor inicial asignado, el proceso se puede simplificar:  unsigned int peso1 = peso2 = peso3 = 20;  Tenga cuidado de no declarar la misma variable otra vez dentro de la misma función.  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 ejecución de programa. En el ejemplo anterior, peso1 no se puede representar con un número con punto decimal o un número con valor negativo.
  • 7. Más sobre variables • char var1; // variable var1 es un byte de //valores positivos. En este caso si no se antepone prefijo por defecto es tipo sin signo. • signed char var2; // variable var2 es byte con //signo (positivo o negativo). • Si por olvido no se declara el tipo de la variable, entonces el compilador automáticamente lo considera entero con signo. Esto significa que la variable ocupará dos bytes en memoria, con valores en el rango -32768 a +32767.
  • 8. CONSTANTES Una constante o caracter es un valor fijo que no cambia durante la ejecución del programa. A diferencia de las variables, las constantes se almacenan en la memoria de programa (flash) con la finalidad de ahorrar espacio valioso en la memoria RAM. El compilador las reconoce por su nombre y por el prefijo const.
  • 9. Declaración 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 declaración. Las dos siguientes declaraciones son equivalentes:  const int MINIMUM = -100; // Declarar constante MINIMUM  const MINIMUM = -100; // Declarar constante MINIMUM  Las constantes pueden ser de cualquier tipo, incluyendo cadenas:  const T_MAX = 3.260E1; // constante de punto flotante T_MAX  const I_CLASS = 'A'; // constante carácter I_CLASS  const Mensaje = "Presione el botón IZQUIERDA"; // constante de cadena Mensaje
  • 10. CONSTANTES ENTERAS • Las constantes enteras pueden ser: decimales, hexadecimales, octales o binarias. • El compilador reconoce su formato basándose en un prefijo. • Si el número no tiene prefijo, se lo considera decimal por defecto. El tipo de una constante es automáticamente reconocido por su tamaño. • En el siguiente ejemplo la constante MINIMUM sera automaticámente considerada un entero con signo y almacenada en dos bytes (16 bits) de memoria flash. • const MINIMUM = -100; // declara constante MINIMUM
  • 12. Constantes de Punto Flotante  Las constantes de punto flotante consisten de una parte entera, de punto, una parte fraccionaria y una e ó E opcional seguido de un exponente entero con signo. const float T_MAX = 32.60; // declara temperature //T_MAX const float T_MAX = 3.260E1; // declara la misma //constante En ambos casos se declara una constante T_MAX que tiene el valor 32.60.
  • 13. Constantes “Character” (ASCII) Una constante “character” es un caracter encerrado entre apóstrofes. const I_CLASS = 'A'; // declara constant e //I_CLASS const II_CLASS = 'B'; // declara constante //II_CLASS Ejecutando comandos que transfieran estas constantes a una pantalla LCD, se visualizará el carácter A y B respectivamente.
  • 14. Constantes tipo “string”  Es una constante que consiste en una cadena de caracteres.  Las constantes string se encierran entre comillas.  const Mensage_1 = “Aprete botón de Inicio”; // Mensage 1 para LCD  const Mensage_2 = “Aprete boton derecho”; // Mensage 2 para LCD  const Mensage_3 = “Aprete boton izquierdo”; // Mensage 3 para LCD  En este ejemplo, enviando la constante Mensaje_1 a la pantalla LCD, se visualiza el mensaje “Aprete botón Inicio”.
  • 15. Constantes Enumeradas  Las constantes de enumeración son un tipo especial de constantes enteras que hace un programa más comprensible al asignar los números ordinales a las constantes. Por defecto, el valor 0 se asigna automáticamente a la primera constante entre llaves, el valor 1 a la segunda, el valor 2 a la tercera etc.  enum surtidores {AGUA,GASÓLEO,CLORO}; // AGUA = 0;GASÓLEO= 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, después se reinicia a partir del valor asignado. Vea el siguiente ejemplo:  enum surtidores {AGUA,GASÓLEO=0,CLORO}; //AGUA= 0;GÁSOLEO=0;CLORO=1  Las constantes de enumeración se utilizan de la siguiente manera:  int Velocidad_ascensor;  enum motor_ascensor {PARADA,INICIO,NORMAL,MÁXIMO};  Velocidad_ascensor = NORMAL; // Velocidad_ascensor = 2
  • 16. Acceso individual de bits  mikroC te permite acceso individual en variables de 8 bits (char and unsigned short). Simplemente usando el selector (.) seguido de uno de los identificadores F0, F1, … , F7. Siendo F7 el bit mas significativo.  Ejemplo: PORTC.F0 = 1; PORTD.F5 = 0; PORTB.F7 = 1;  Los identificadores F0–F7 no se reconocen en minúsculas. NOTA: Entre dos accesos a bits se debe tener un retardo mínimo de 2 microsegundos.