0 évaluation0% ont trouvé ce document utile (0 vote)
316 vues31 pages
El documento describe el uso de un compilador C para programar microcontroladores PIC. El compilador genera archivos en formato hexadecimal que pueden programar el microcontrolador. También genera otros archivos y se integra en un entorno de desarrollo integrado. El asistente PIC Wizard ayuda a crear proyectos especificando parámetros como el PIC, oscilador, comunicaciones y periféricos. El compilador incluye bibliotecas con funciones predefinidas para facilitar el desarrollo de aplicaciones.
El documento describe el uso de un compilador C para programar microcontroladores PIC. El compilador genera archivos en formato hexadecimal que pueden programar el microcontrolador. También genera otros archivos y se integra en un entorno de desarrollo integrado. El asistente PIC Wizard ayuda a crear proyectos especificando parámetros como el PIC, oscilador, comunicaciones y periféricos. El compilador incluye bibliotecas con funciones predefinidas para facilitar el desarrollo de aplicaciones.
El documento describe el uso de un compilador C para programar microcontroladores PIC. El compilador genera archivos en formato hexadecimal que pueden programar el microcontrolador. También genera otros archivos y se integra en un entorno de desarrollo integrado. El asistente PIC Wizard ayuda a crear proyectos especificando parámetros como el PIC, oscilador, comunicaciones y periféricos. El compilador incluye bibliotecas con funciones predefinidas para facilitar el desarrollo de aplicaciones.
Dicho compilador nos genera ficheros en formato Intel-hexadedimal, que es el necesario
para programar (utilizando un programador de PIC) un microcontrolador de 6, 8, 18 40 patillas. El compilador de C que vamos a utilizar es el PCW de la casa CCS Inc. A su vez, el compilador lo integraremos en un entorno de desarrollo integrado (IDE) PROGRAMACION DE MICROCONTROLADORES PIC EN C Al igual que el compilador de Turbo C, ste "traduce" el cdigo C del archivo fuente (.C) a lenguaje mquina para los microcontroladores PIC, generando as un archivo en formato hexadecimal (.HEX). Adems de ste, tambin genera otros seis ficheros PROGRAMACION DE MICROCONTROLADORES PIC EN C Diseado especficamente para microcontroladores PIC Amplia librera de funciones predefinidas, comandos de preprocesado y ejemplos Controladores para diversos dispositivos (LCD, ADC, EEPROM, etc) COMPILADOR C DE CCS PIC WIZARD Asistente para la creacin de proyectos. Permite al usuario especificar los parmetros del proyecto. Genera los archivos .c, .h y ,pjt PIC WIZARD PIC WIZARD GENERAL: Define el PIC Oscilador a utilizar Fusibles PIC WIZARD RS232 Comunicacin entre PICs Comunicacin con PC Puede implementarse en PICs sin USART Sncrono asncrono I2C Comunicacin con perifricos (EEPROM, Sensores, LCD, etc) PIC WIZARD SPI: Interface Serie de Perifricos Diseado por Motorola para comunicacin entre microcontroladores Full Duplex HARDWARE LCD Para microcontroladores con controlador de LCD integrado. PIC16F913/914/916/917/946 PIC18F6393/6493/8393/8493 PIC WIZARD Timers: Permiten temporizar y realizar conteo de eventos externos. PIC WIZARD CONVERSOR ANALOGO DIGITAL Permite ingresar seales anlogas Voltajes de referencia opcionales Solo para microcontroladores con ADC Mltiples canales de entrada PIC WIZARD CAPTURA: Obtiene el valor del temporizador cuando se produce un evento en un pin del PIC. COMPARACION: Compara el valor del temporizador con el valor de un registro y provoca una accin en el PIC PWM: Genera una seal PWM (Modulacin de ancho de pulso). Aplicaciones: Control de velocidad de motores DC Control de servomotores PIC WIZARD INTERRUPCIONES: Cuando se produce un determinado evento (por ejemplo Escritura en EEPROM, finalizacin de una conversin anlogo digital, cambio de estado de un pin, etc), el PIC interrumpe el programa principal y ejecuta una rutina previamente programada. PIC WIZARD DRIVERS: Rutinas pre-programadas de dispositivos perifricos externos. Incluye ADC, Pantalla LCD, Teclado Matricial, Memoria EEPROM, Memoria RAM, entre otros. PIC WIZARD PINES DE ENTRADA Y SALIDA Los pines del PIC pueden ser configurados como entrada o salida. Algunos pines pueden ser configurados como anlogos (dependiendo del PIC). Se pueden habilitar las resistencias de pullup PIC WIZARD DETECCION DE ALTO Y BAJO VOLTAJE - Permite establecer un punto umbral de tensin y la direccin de cambio. Si el dispositivo experimenta un cambio en la tensin y en la direccin indicada sobre el punto umbral se produce una interrupcin. PIC WIZARD OSCILADOR INTERNO - Permite configurar la frecuencia del cristal. - Solo disponible en PICs con oscilador interno PIC WIZARD FICHEROS DE INCLUSION Librerias con funciones especiales Ejemplo: Ctype.h: Operaciones con caracteres Errno.h: Cdigos de error Float.h: Operaciones con punto flotante Limits.h: Clculo de mximos y mnimos Math.h: Funciones matemticas PIC WIZARD Controller Area Network: Protocolo de comunicaciones desarrollado por la firma alemana Robert Bosch GmbH, basado en una topologa bus para la transmisin de mensajes en ambientes distribuidos, adems ofrece una solucin a la gestin de la comunicacin entre mltiples CPUs (unidades centrales de proceso). PIC WIZARD LCD: - Configuracin de los pines a utilizar para la LCD PIC WIZARD MODBUS: - Permite el control de una red de dispositivos, por ejemplo un sistema de medida de temperatura y humedad. DIRECTIVAS: Controlan la conversin del programa a cdigo de mquina por parte del compilador. FUNCIONES: Conjunto de instrucciones. Puede haber uno o varios; Debe haber uno definido como principal: main() ESTRUCTURA DE UN PROGRAMA ESTRUCTURA DE UN PROGRAMA TIPOS DE DATOS VARIABLES Las variables se utilizan para nombrar posiciones de memoria RAM Se deben declarar antes de utilizarlas indicando : tipo_de_datos nombre; Ejemplo: int a; - El valor inicial es opcional y podemos definir varias variables por lnea separndolas con el signo , float a=1.1,b; No debemos olvidar terminar la lnea con el signo ; VARIABLES Para almacenar un dato en una variable una vez definida, usamos el signo = Ejemplo: float temperatura; //definicin de la variable char letra; //definicin de la variable temperatura=35.3; //asignacin de valor letra=d; //asignacin de valor Ejercicios: 1. Definir una variable y almacenar el dato -129 2. Definir una variable y almacenar el dato 11.25 3. Intercambiar los datos de 2 variables enteras a y b, usando una variable auxiliar c. OPERADORES Ejemplo: int a=2,b=5,c; a++; //a=3; b=b*a+1; //b=16; c=a+b+b%a; //c=20; OPERADORES Asignacin de Suma: x+=y ; // Es lo mismo que x=x+y; Ejercicio: int x=4,y=5; x+=y; // Cuanto vale x? Asignacin de Resta: x-=y ; // Es lo mismo que x=x-y; Ejercicio: int y=4,x=5; x-=y; // Cuanto vale x? OPERADORES Asignacin de Multiplicacin: x*=y ; // Es lo mismo que x=x*y; Ejercicio: int x=4,y=5; x*=y; // Cuanto vale x? Asignacin de Divisin: x/=y ; // Es lo mismo que x=x/y; Ejercicio: int y=4,x=20; x/=y; // Cuanto vale x? FUNCIONES Tipodato Nombrefuncin(tipo param1, tipo param2,) { Sentencias; return(dato); } Ejemplo: int suma(int a,int b) //Definicin de la funcin { int c; c=a+b; return(c); } Void main() { int dato; dato=suma(a,b); //Llamado de la funcin } VARIABLES VARIABLES GLOBALES: Su valor puede ser escrito y ledo desde cualquier funcin. VARIABLES LOCALES: Su valor se pierde al salir de una funcin.