381 likes | 628 Views
Programación con ccs. Programación en C para electrónica. Estructura de un programa C. Tipos de datos CCS. Constantes. Variables:. En CCS las variables se utilizan para nombrar posiciones de memoria RAM. Declaración:. tipo_variable identificador [=valor_inicial] ;.
E N D
Programación con ccs Programación en C para electrónica
Estructura de un programa C Programación con CCS-Programación en C para electrónica
Tipos de datos CCS Programación con CCS-Programación en C para electrónica
Constantes Programación con CCS-Programación en C para electrónica
Variables: • En CCS las variables se utilizan para nombrar posiciones de memoria RAM. • Declaración: tipo_variableidentificador[=valor_inicial]; • tipo_variable = Tipo de dato de la variable. • Identificador = Nombre asignado a la variable. • valor_inicial = Valor inicial almacenado en la memoria asignada. Programación con CCS-Programación en C para electrónica
Variables: • Las variables deben ser declaradas antes de ser utilizadas. • Pueden ser declaradas como locales o globales. • Pueden ser definidas como: • AUTO: La variable existe mientras la función está activa. • STATIC: Una variable local se activa como global. • EXTERN: Permite el uso de variables en programas de múltiples archivos. Programación con CCS-Programación en C para electrónica
Operadores de asignación: Programación con CCS-Programación en C para electrónica
Operadores aritméticos: Programación con CCS-Programación en C para electrónica
Operadores relacionales: Programación con CCS-Programación en C para electrónica
Operadores lógicos y de bits: Programación con CCS-Programación en C para electrónica
Precedencia de operadores: Programación con CCS-Programación en C para electrónica
Funciones: • Conjunto de sentencias repetitivo agrupadas bajo un nombre. • Pueden ser “llamadas” desde cualquier parte del programa tantas veces como sea necesaria su ejecución. • Pueden devolver valores y recibir parámetros o argumentos. • Deben ser declaradas antes de llamarlas. • Pueden agruparse en ficheros de librerias. Programación con CCS-Programación en C para electrónica
Declaración de funciones: Programación con CCS-Programación en C para electrónica [tipo_dato] identificador ([tip_par1 ,tipo_par2,…]) { //sentencias [return();] } tipo_dato= tipo de dato devuelto por la función. Identificador = nombre de la función. tip_parX= nombre y tipo de los argumentos.
Control del flujo de ejecución: • If-Else • While • Do-while • For. • Switch-case • Return • Break, Continue y goto. Programación con CCS-Programación en C para electrónica
If - else if (a==0) { b=10; } else c=5; a=0? Si b=10 No c=5 Programación con CCS-Programación en C para electrónica
If - else if (a==0) b=10; else if (a>0) b=5; else b=0; a=0? Si b=10 No No a>0? Si b=0 b=5 Programación con CCS-Programación en C para electrónica
switch-case switch (A) { case 0: B=10; break; case 1: B=20; break; case 2: B=30; break; default:break; } A=0? Si B=10 No A=1? Si B=20 No A=2? Si B=30 No Programación con CCS-Programación en C para electrónica
Bucle for for (n=1;n<=10;n++) { contador=n; } n=1 n<=10? No Si contador=n n=n+1 Programación con CCS-Programación en C para electrónica
Bucle while while(a<100) { a++; } //puede que no se //ejecute ninguna //vez a<100? No Si a=a+1 Programación con CCS-Programación en C para electrónica
Bucle do-while do { a++; } while(a<100) //el bucle se //ejecuta al menos //una vez a=a+1 a<100? No Si Programación con CCS-Programación en C para electrónica
Directivas del preprocesador Programación con CCS-Programación en C para electrónica
Directivas C estandar • #define ID valor: • Utilizadas para definir valores constantes y asignarles un nombre fácil de identificar. • La compilación sustituye el identificador por su valor. • Ejemplo: #define PI 3,1416 • #include <archivo.h> • Utilizadas para incluir en la compilación archivos de cabecera. Programación con CCS-Programación en C para electrónica
Directivas del preprocesador Programación con CCS-Programación en C para electrónica
Fuses: • La directiva#fuses se utiliza para programar la palabra de configuración que definirá el funcionamiento del PIC. • Con esta directiva se indica al programador que bits de la palabra de configuración queremos activar. • Configurar incorrectamente la palabra de control puede producir funcionamientos anómalos • En nuestro caso: #fuses HS,LVP,NOWDT Programación con CCS-Programación en C para electrónica
Fuses válidos: Programación con CCS-Programación en C para electrónica
Retardos software • La directiva #use delay (clock=frec)indica al compilador la frecuencia de reloj de funcionamiento del PIC. • freces la frecuencia en hercios. • Se utiliza para generar retardos software con las funciones: delay_us(microseg) delay_ms(miliseg) • En nuestro caso: #use delay (clock=8000000) Programación con CCS-Programación en C para electrónica
Directivas del preprocesador Programación con CCS-Programación en C para electrónica
Gestión de la memoria: • CCS incluye directivas para la gestion de la memorias RAM y sus registros. • Esto nos permite trabajar de forma sencilla con las posiciones de memoria RAM y asignar identificadores a posiciones concretas. • Estas directivas permiten acceder a los registros del banco de memoria como variables de tipo bit o byte. Programación con CCS-Programación en C para electrónica
Gestión de la memoria: • CCS incluye directivas para la gestion de la memorias RAM y sus registros. • Esto nos permite trabajar de forma sencilla con las posiciones de memoria RAM y asignar identificadores a posiciones concretas. • Estas directivas permiten acceder a los registros del banco de memoria como variables de tipo bit o byte. Programación con CCS-Programación en C para electrónica
#byte • La directiva #byte pone un nombre a una posición de memoria RAM absoluta. • Sintaxis: • #byte ID=PosMem //Acceso a los puertos #byte portA=0x05 #byte TRISA=0x85 #byte portB=0x06 #byte TRISB=0x86 #byte portC=0x07 #byte TRISC=0x87 Programación con CCS-Programación en C para electrónica
#bit • La directiva #bit pone un nombre a un bit de una posición de memoria RAM o un identificador. • Sintaxis: • #bit ID=ID.bit • #bit ID=PosMem.bit //Acceso a los bits //Motores #bit servoI=portC.2 #bit servoD=portC.1 //finales de carrera #bit FCI=0x07.0 #bit FCD=0x07.3 Programación con CCS-Programación en C para electrónica
Ejemplos de uso • #byte TRISC = 0x87 • #byte TRISB = 0x86 • #byte PORTC = 0x07 • #byte PORTB = 0x06 • #bit RB0=PORTB.0 • #bit RC7=PORTC.7 • .... voidmain (void) { TRISC=0xFF; TRISB=0x00; PORTB=PORTC; RB0=RC7; … } Programación con CCS-Programación en C para electrónica
Ensamblador • Las directivas #ASM y #ENDASM permiten incrustar código ensamblador en un programa C de CCS. • El código escrito entre ambas directivas será tratado por el compilador como código ensamblador. Programación con CCS-Programación en C para electrónica