Javier Mauricio Galvis Moreno Uso del Lenguaje C en la programación de Microcontroladores Javier Mauricio Galvis Moreno Monitoria SED3 2005-1
C para Microcontroladores C vs. Assembler. Características Principales de C. Software. Instalación. Ejemplo. Referencias. JMGM Monitoria SED3 2005-1
C vs. Assembler Tamaño del código. Velocidad de Ejecución. Arquitectura (Manejo de bancos de memoria). Manejo de librerías: - pic.h, math.h, lcd.h, serial.h,... Operaciones Numéricas y Lógicas Eficientes. Manejo Básico del Lenguaje C. JMGM Monitoria SED3 2005-1
Librería pic.h Manejo de Interrupciones teclado Define el manejo de registros propios del microcontrolador. Ej.: PORTB, TRISC, RB4, CCPR1L, GIE, RBIF... 2. Define el manejo de interrupciones y uso de periféricos asociados. Manejo de Interrupciones void main (void) { GIE = 1; PEIE = 1; RBIE = 1; for(;;); } void interrupt attention (void) { PORTA = 255; TMR2 = 0; RBIF = 0; } teclado JMGM Monitoria SED3 2005-1
#asm sleep #endasm #asm nop #endasm Variables Tipo Decimal, Hexadecimal y Binario PORTB = 255; Expresion Decimal CCPR1L = 0xFF; Expresion Hexadecimal INTCON = 0b11111111 Expresion Binaria Integración de assembler con C #asm sleep #endasm #asm nop #endasm JMGM Monitoria SED3 2005-1
Características Principales. Variables 8 bit unsigned 0 a 255 Tipo Tamaño Rango unsigned, unsigned int int, char, int8 8 bit unsigned 0 a 255 long, long int, int 16 16 bit unsigned 0 a 65535 signed, signed int, signed int8 8 bit signed -128 a 127 signed long, signed int16 16 bit signed -32768 a 32767 int 32 32 bit unsigned 4*109 signed int32 32 bit signed + 2*109 float 32 bit floating point +0.5*2-128 a 2128 Short, short int, int1 1 bit 0 a 1 JMGM Monitoria SED3 2005-1
Operaciones Numéricas Características Principales. Operaciones Numéricas Operando Símbolo Ejemplo Adición, Sustracción, Multiplicación, División Residuo + , - , * , /, % a+b, a-b, a*b, a/b, b%a AND, OR, XOR &, | | , ˆ a&b, a | |b, aˆb Desplazamiento Derecha, Izquierda > > , < < a > > b, a< <b Incremento, Decremento ++, -- a++b, a--b Negación - -a Complemento Logico ~ ~a JMGM Monitoria SED3 2005-1
Operaciones Lógicas Características Principales. Operando Símbolo Ejemplo Mayor que, Menor que, Mayor o igual que, Menor o igual que > , < , >=, <= a > b, a < b, a>=b, a <= b Igual, Diferente ==, != a==b, a!=b AND LOGICA, OR LOGICA && , || a && b, a || b Complemento Logico ! !a JMGM Monitoria SED3 2005-1
Características Principales. Control de Flujo de Programa Instrucción Símbolo Ejemplo if.... then if (condición lógica) { ... } if (RBIF = = 1) { PORTA=127; if...then...else else { if (RA4 = = 1) { RB7=0; RB6=1; while loop while(condición lógica) { while(TMR2 < 124 ) { RC1=1; JMGM Monitoria SED3 2005-1
Características Principales. Control de Flujo de Programa Instrucción Símbolo Ejemplo for loop for (condición inicial,condición lógica,cambio variable) { ... } for ( a = 0, a < 10, a++ ) { TMR0++; case...switch switch (variable) { case valor X: ... break; case valor Y: ... Break; switch(temp) { case 1: PORTB =0b11110000 case 2:PORTB=0b00001111; JMGM Monitoria SED3 2005-1
Características Principales. Funciones # include< pic.h > /* LIBRERIAS INCLUIDAS */ void set_RA4(void); /* PROTOTIPO FUNCION */ void main (void) { if ((RB0 = = 1) /*CONDICION LOGICA*/ set_RA4(); /*LLAMADO A FUNCION*/ } void set_RA4(void) /* EJECUCION DE FUNCION*/ RA4 = 1; /* ACTIVA EL PIN RA4*/ JMGM Monitoria SED3 2005-1
Software Asociado PICC HI-TECH C www.htsoft.com CCS COMPILER www.ccs.com JMGM Monitoria SED3 2005-1
Instalación Hi-Tech C PICC HI-TECH C provee software de desarrollo en lenguaje C para la programación de microcontroladores PIC. Se debe integrar con MPLAB a través de una toolsuite. La instalación debe seguir los siguientes pasos: 1. 2. 3. Otras herramientas (si existen). Instalador Plugin de integración MPLAB JMGM Monitoria SED3 2005-1
Selección de Herramienta de Desarrollo Seleccione “Project” / “Project Wizard” en el entorno de MPLAB. Paso 1: Seleccione el dispositivo Paso 2: Selección de herramienta de desarrollo: HI-TECH PICC JMGM Monitoria SED3 2005-1
CCS PIC C provee software de desarrollo en lenguaje Instalación CCS PICC CCS PIC C provee software de desarrollo en lenguaje C para la programación de microcontroladores PIC. Se puede integrar con MPLAB a través de una toolsuite. La instalación debe seguir los siguientes pasos: 1. 2. Instalador Plugin de integración MPLAB JMGM Monitoria SED3 2005-1
Selección de Herramienta de Desarrollo Seleccione “Project” / “Project Wizard” en el entorno de MPLAB. Paso 1: Seleccione el dispositivo Paso 2: Selección de herramienta de desarrollo: CCS PICC JMGM Monitoria SED3 2005-1
En el siguiente ejemplo, se realizará una aplicación en la cual un dato enviado por medio del puerto serial del PC es visualizado en el puerto B de un microcontrolador PIC 16f628 a través de un arreglo de LEDs. Programa: LED_SERIAL JMGM Monitoria SED3 2005-1
Referencias Útiles http://www.microchipc.com/HiTechCtutorial/html Como configurar HI-TECH C con MPLAB Manual de PICC (Hi- Tech PICC) www.ccsinfo.com http://www.microchipc.com/HiTechCFAQ/html JMGM Monitoria SED3 2005-1