electronica
LENGUAJE C PARA MICROCONTROLADORES PIC
UTILIZANDO EL COMPILADOR C CCS Y EL
SIMULADOR PROTEUS
Parte 1
Elaborado por:
Ivan Londoño
José Fernando Perez
Lenguajes de Programación
Lenguajes de
Alto nivel
Lenguaje
ensamblador
Lenguaje C.
Basic.
Nemónicos
ASM
Lenguaje de
maquina
Código Binario
Estructura de Programación
Paraescribir un programa en c con el compilador CCS C se deben tener
En cuenta una serie de elementos básicos de su estructura.
Directivas de Preprocesado: controlan la conversión del programa a código maquina
por parte del compilador.
•Programas o Funciones: conjunto de instrucciones. Pueden haber uno o varios; en
cualquier caso siempre debe haber uno definido como principal mediante la inclusiónde la llamada main().
•Instrucciones: indican como se debe comportar el PIC en todo momento.
•Comentarios: permiten describir lo que significa cada línea de programa.
Ejemplo: Estructura de Programación
Directivas de preprocesado
Función Secundaria
Instrucciones
Comentarios
Función Principal
Las Funciones
Las funciones son bloques de sentencias; todas las sentencias se bebenenmarcar dentro de las funciones. Al igual que las
variables, las funciones deben definirse antes de utilizarse.
Una función puede ser invocada desde una sentencia de otra función. Una función puede devolver un valor a la sentencia
que la ha llamado. El tipo de dato se indica en la definición de la función; en el caso de no indicarse nada se entiende que es
un int8 y en el caso de no devolverun valor se debe especificar el valor VOID. La función, además de devolver un valor,
puede recibir parámetros o argumentos.
Tipo_dato Nombre_Funcion (tipo param1, param2,…)
{
(sentencias);
}
Función con
parámetros de
estrada y con
valor de salida.
Función con
parámetros de
estrada y si valor
de salida.
Función con
parámetros sin
estrada y con
valor de salida.
Función sinparámetros de
estrada y sin
valor de salida.
Las Funciones
Función con parámetros
de estrada tipo float y
con valor de salida tipo
float
float OPERACION (float a)
{
Float b;
b=0x23;
a=a-b;
a=a*100;
a=floor(a);
a=a*0.01;
a=b+a;
return(a);
}
Función con
parámetros de
estrada tipo float
y con valor de
salida tipo float.
Función con parámetros
de estrada tipo int y sinvalor de salida
void OPERACION (int a)
{
Int b;
b=0x23;
a=a*100;
a=a*2;
b=b+a;
}
Función con
parámetros de
estrada tipo
entero de 8 bits y
si valor de
salida.
Función con
parámetros de salida
tipo int y sin valor de
entrada.
Int a OPERACION (void)
{
Int b;
b=0x23;
a=a*100;
a=a*2;
b=b+a;
return(a);
}
Función sin
parámetros de
estrada y con
valor de salidatipo entero 8 bits.
Función sin valor de
salida y sin
parámetros de entrada.
void OPERACION (void)
{
Int b;
b=0x23;
a=a*100;
a=a*2;
b=b+a;
}
Función sin
parámetros de
estrada y sin
valor de salida.
Declaracion de variables
Tipo
Int1
Short
Int
Int8
Int16
Long
Int 32
Tamaño
Float
32 bits
Char
Void
Signed Int8
Signed Int16
Signed Int32
8 bits
8bits
16 bits
32 bits
Rango
Descripción
1 bit
0a1
8 bits
0 a 255
16 bits
32 bits
0 a 65535
0 a 4.249.967.295
Entero de 1 bit
Entero
Entero de 16 bits
Entero de 32 bits
Coma flotante
0 a 255
-128 a + 127
-32768a + 32767
Carácter
Sin valor
Entero con signo
Entero Largo con signo
Entero 32 bit con signo
Declaracion de Constantes
Las constantes sepueden especificar en decimal, octal, hexadecimal o en binario:
35
Decimal
O43
Octal(O)
0x23
Hexadecimal(0x)
0b00100011 Binario(0b)
‘x'
Carácter
Además, se pueden definir constantes con un sufijo:
Int8
Long
Signed INT16
Float
Char
127U
80UL
80L
3.14F
Con comillas simples 'C'
Los Operadores
Asignación
+=
-=
*=
/=
%=
=
&=
|=
^=
Asignación de suma...
Regístrate para leer el documento completo.