Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin al Lenguaje C
El lenguaje C es un programa de alto nivel, que a diferencia del assembler (bajo nivel) posee un conjunto de libreras y funciones que hacen que los programas sean ms dinmicos y simplificados.
Estructura de un programa
#include <16f628a.h> #fuses XT #use delay (Clock=4000000) #byte portb=6 #include <lcd.c> Int8 x,y Int16 cont, z Void Contador( ) { X= x+1; Cont = x; } // programa principal void main() { set_tris_b(0); for(;;) { portb= conta; delay_ms(1000); portb=cont + 1; Contador( ); }}
DIRECTIVAS
FUNCION
TIPOS DE DATOS
Constantes
Nombre Decimal Hexadecimal Binario Octal Carcter (char) Coma flotante Cadena Descripcin entero en base 10 entero en base 16 Bits 0 o 1 entero en base 8 byte en ASCII nmero real en c.f. texto literal Ejemplos 1234 0x1234 0b00101010 01234 'A' 1.25 3.456e6 "hola, IPAL"
Leccin 2
Microcontroladores I
Bsicos
int char float double void enteros (nmeros enteros positivos y negativos) caracteres (letras) nmeros en coma flotante (nmeros reales) nmeros en coma flotante de doble precisin no-tipo (se emplea con punteros)
Variables
Las variable se utilizan para nombrar posiciones de memoria RAM deben declarar, obligatoriamente, antes de utilizarlas; para ello se debe indicar el nombre y el tipo de dato que se manejar. Se definen de la siguiente forma: Tipo nombre_variable = valor_inicial; Ejemplo: Int8 x=0; Float y,w,x;
Operadores
Aritmticos + * / ++ -Lgicos ! && II De bits ~ * / >> << Complemeto a 1 AND OR exclusiva OR Desplazamiento a derecha Desplazamiento a la izquierda NOT AND OR suma Resta multiplicacion division incremento decremento
Leccin 2
Microcontroladores I
Funciones
Las funciones son bloques de sentencias; todas las sentencias deben enmarcar dentro de las funciones. Al igual que las variables, las funciones deben definirse antes de utilizarse. Una funcin puede ser invocada desde una sentencia de otra funcin. Ejemplo: // Se crea la funcin nombre Void nombre () { Motor=1; Led=1; }
Funcin de retardo
Delay_ms(x); Delay_us(x) //retardo en milisegundos //retardo en microsegundos
Lazos Infinitos
Son declaraciones que contienes sentencias y que por necesidad se necesitan que se repita indefinidamente. For(;;) { Sentencia1; Sentencia2; } while(TRUE) { Sentencia1; Sentencia2; } Siempre estos lazos infinitos deben estar dentro de la funcion principal: Void main ( ) { Sentencias1; while(TRUE) { Sentencia2; Sentencia3; }
Leccin 2