Вы находитесь на странице: 1из 18

Introduccin a la

programacin en c de
sistemas embebidos
(Ing. Rubn Acosta)
Agenda
1.- Diagrama de flujo del desarrollo del software
2.- diagrama de flujo de la programacin y simulacin
3.- Caractersticas del lenguaje ANSI C
4.- Qu es una variable?- tipos de datos- declaracin de una variable
5.- Qu son las constantes?
6.- Operadores
7.- Programacin estructurada: sentencias if, if-else, if-else if, switch/case,
while, do while y for.
8.- Funciones

Desarrollo del software
Para escribir y compilar/ensamblar el programa que determinar las acciones del
PIC16F877A y su funcionamiento, existen distintas maneras de desarrollar el programa,
dependiendo del lenguaje inicial que se utiliza para escribir el programa.
Programacin y simulacin del microcontrolador
PIC16F877A
Caractersticas del Lenguaje ANSI C
El C permite manejar variables enteras o punto flotante.
Cuenta con libreras para manejar todo tipo de operaciones aritmticas.
Manejo de arreglos o tabla de datos.
Uso de declaraciones condicionales e iterativas do/while, for, if/else, switch/case.
La estructura de funciones permite transferir parmetros o argumentos de entrada
y salida en forma directa al llamar a determinada funcin.
Manejo fcil de BITS, REGISTROS Y PUERTOS. (Operaciones booleanas AND,
OR, XOR y NOT).
Manejo sencillo de interrupciones.
Qu es una variable?
Es slo un nombre para identificar una posicin de memoria (RAM), este nombre
debe ser un identificador vlido.
En las variables (posiciones de memoria) se guardan los datos (valores) usados
por el programa durante su ejecucin.
En lenguaje C se diferencia las letras maysculas de las minsculas.
m es diferente a M.
Casi siempre los nombres de las variables son escritas con letras minsculas.
Las variables pueden modificar su valor durante la ejecucin del programa
Tipos de datos
Toda variable debe ser declarada antes de ser utilizada.
Los tipos de datos definen los mtodos de almacenamiento disponibles para
representar la informacin y como es interpretada.
En C tenemos diferentes tipos de datos.
Declaracin de variables
unsigned char var1; //se reserva un espacio de memoria de 1 byte
unsigned long y; //se reserva un espacio de memoria de 4 bytes.
float var1;
Para declarar una variable e inicializarla se usa el operador de asignamiento (=)
Para realizar un comentario en una lnea de sentencia se usa el operador ( // )
Para realizar un comentario con ms de una lnea se usa ( /* */ )

unsigned char var1=0; // se inicializa con el valor 0
unsigned int var2= -234; // se inicializa con el valor -234
float var1 = 2.3;
Tipos de variables
Las variables globales se declaran antes de una funcin y son tiles para cualquier
parte del programa
Las variables locales se declaran dentro de una funcin y slo sirven para esa funcin
Qu son las constantes?
Una constante no pueden modificar su valor durante la ejecucin del programado.
Son aquellos valores que, una vez compilado el programa, no pueden ser cambiados
Las constantes se almacenan en la memoria FLASH del microcontrolador.

# define pi 3.1416
const float pi=3.1416;
const unsigned char var1;
Operadores aritmticos en C
Operadores relacionales o de comparacin en C
Operadores lgicos en C
Generalmente se utilizan para enlazar dos o ms condiciones lgicas simples.
Operadores booleanos en C
Programacin estructurada
1.- Sentencias selectivas: Llamadas tambin sentencias de bifurcacin, sirven para
redirigir el flujo de un programa segn la evaluacin de alguna condicin lgica.

Las sentencias if e ifelse son casi estndar en todos los lenguajes de programacin.
Adems de ellas estn las sentencias ifelse escalonadas y switchcase.
La sentencia if
La sentencia if-else
La sentencia if-else-if escalonada
La sentencia switch
Nos permite seleccionar una opcin entre un conjunto de opciones de
acuerdo al valor de una variable selector.
El selector no es una expresin que conduce a una condicin lgica
Las constantes c1, c2 y c3 deben valores enteros.
Su sintaxis:
switch (selector){
case c1: sentencia1; break;
case c2: sentencia2; break;
case c3: sentencia3; break;
default: sentencia4;
}

Otra forma de usar la sentencia switch dentro de una funcin con la sentencia return.

unsigned char nombre_funcion (selector) {
switch (selector){
case c1: return (sentencia1);
case c2: return (sentencia2);
case c3: return (sentencia3);
case c4: return (sentencia4);
}
}

2.- Sentencias de repeticin (Bucles)
La sentencia while:
Repite una o un grupo de sentencias, mientras el resultado de la
expresin lgica es verdadero, si es falso, la sentencia while termina.

sentencia A;
while(var<20) {sentencia B; sentencia C;}
sentencia X;



La sentencia do-while:
Repite una sentencia o un grupo de sentencias hasta que el resultado
de la expresin lgica sea falso.
Sentencia A;
Do {
sentencia B;
sentencia C;
}
while(var<20);
La sentencia for:
Sintaxis:
for (inicializacin; expresin_lgica; incremento) {sentencia1; sentencia2;}

Ejemplo:
for (A=0; A<20; A++){ sentencia A; sentencia B;}
sentencia X;

Bucles infinitos:

for ( ; ; ) { sentencia B; sentencia C; }

while (1) { sentencia B;
sentencia C;
}

3.- Las funciones
Las funciones son bloques de cdigo destinado a cumplir una tarea especfica.
Las funciones estn formadas por:
Una declaracin.
Una definicin.
La accin o llamado
Ejemplo: realizar una funcin que realice la suma de dos nmeros enteros positivos
No mayores a 256 y el resultado de la suma tampoco debe de exceder 256.
resultado= a+b;
Declaras la funcin para que el
compilador reconozca la funcin
La definicin o desarrollo
de la funcin
La accin o llamado de la funcin.
unsigned char suma (unsigned char a, unsigned char b);
unsigned char suma (unsigned char a, unsigned char b)
{
unsigned char resultado;
resultado=a+b;
return resultado;
}
PORTD= suma (3,4);
Preguntas ?

Вам также может понравиться