Está en la página 1de 3

Microcontroladores I

Leccin 2 Programacin de Microcontroladores PIC


Para la programacin de los microcontroladores PIC se debe tomar en cuenta que existen muchos compiladores en el mercado pero para nuestro caso utilizaremos el CCS PIC y el simulador PROTEUS. El programa CCs pic es un compilador de lenguaje C adaptado para programas microcontroladores PIC, contiene librerias, demos e interfases que hacen que el programa sea mas sencillo.

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

Comentarios FUNCION PRINCIPAL INSTRUCCIONES

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"

Ing. Juan Huaroto C.

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

Ing. Juan Huaroto C.

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

Donde x es el nmero asignado de milisegundos o 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; }

Ing. Juan Huaroto C.

Leccin 2

También podría gustarte