Académique Documents
Professionnel Documents
Culture Documents
Estructura de un programa C
2
Constantes
4
Decimal Octal Hexadecimal Binario Carcter Carcter Octal Carcter Hex. Cadena de caracteres Caracteres especiales
Variables:
5
En CCS las variables se utilizan para nombrar posiciones de memoria RAM. Declaracin: tipo_variable identificador [=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.
Programacin con CCS-Programacin en C para electrnica
Variables:
6
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 funcin est activa. STATIC: Una variable local se activa como global. EXTERN: Permite el uso de variables en programas de mltiples archivos.
Operadores de asignacin:
7
Asignacin (x=y: x toma el valor de y) Asignacin de suma (x+=y igual a x=x+y) Asignacin de resta (x-=y igual a x=x-y) Asignacin de producto (x*=y igual a x=x*y) Asignacin de cociente (x/=y igual a x=x/y) Asignacin de resto (x%=y igual a x=x%y) Asignacin de desplazamiento (x<<=y igual a x=x<<y) Asignacin de desplazamiento (x>>=y igual a x=x>>y) Asignacin de AND de bits (x&=y igual a x=x&y) Asignacin de OR de bits (x|=y igual a x=x|y) Asignacin de OR-EX de bits (x^=y igual a x=x^y)
Operadores aritmticos:
8
+ * / % -++ sizeof
Suma Resta Producto Divisin Resto Decremento Incremento Tamao en bytes de un operando
Operadores relacionales:
9
Menor que Mayor que Menor o igual Mayor o igual Igual Distinto Expresin condicional
NOT
&& AND
|| OR
Precedencia de operadores:
11
Funciones:
12
Conjunto de sentencias repetitivo agrupadas bajo un nombre. Pueden ser llamadas desde cualquier parte del programa tantas veces como sea necesaria su ejecucin. Pueden devolver valores y recibir parmetros o argumentos. Deben ser declaradas antes de llamarlas. Pueden agruparse en ficheros de librerias.
Programacin con CCS-Programacin en C para electrnica
Declaracin de funciones:
13
tipo_dato = tipo de dato devuelto por la funcin. Identificador = nombre de la funcin. tip_parX = nombre y tipo de los argumentos.
Programacin con CCS-Programacin en C para electrnica
If - else
15
a=0?
No
Si
b=10
c=5
If - else
16
a=0?
No
Si
b=10
No
a>0?
Si
b=0
b=5
switch-case
17
switch (A) { case 0: B=10; break; case 1: B=20; break; case 2: B=30; break; default:break; }
A=0?
No
Si
B=10
A=1?
No
Si
B=20
A=2?
No
Si
B=30
Bucle for
18
n=1
n<=10?
Si
No
contador=n
n=n+1
Bucle while
19
a<100?
Si
No
a=a+1
Bucle do-while
20
do
{ a++; } while(a<100) //el bucle se //ejecuta al menos //una vez
a=a+1
a<100?
Si
No
Directivas C estandar
22
#define ID valor:
Utilizadas para definir valores constantes y asignarles un nombre fcil de identificar. La compilacin sustituye el identificador por su valor. Ejemplo: #define PI 3,1416
Utilizadas para incluir en la compilacin archivos de cabecera.
#include <archivo.h>
Fuses:
24
La directiva #fuses se utiliza para programar la palabra de configuracin que definir el funcionamiento del PIC.
Con esta directiva se indica al programador que bits de la palabra de configuracin queremos activar.
Configurar incorrectamente la palabra de control puede producir funcionamientos anmalos En nuestro caso:
#fuses HS,LVP,NOWDT
Fuses vlidos:
25
Retardos software
26
La directiva #use delay (clock=frec) indica al compilador la frecuencia de reloj de funcionamiento del PIC. frec es 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)
Programacin con CCS-Programacin en C para electrnica
Gestin de la memoria:
28
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.
Gestin de la memoria:
29
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.
#byte
30
La directiva #byte pone un nombre a una posicin de memoria RAM absoluta. Sintaxis:
//Acceso a los puertos #byte portA=0x05 #byte TRISA=0x85 #byte portB=0x06 #byte TRISB=0x86 #byte portC=0x07 #byte TRISC=0x87
#byte ID=PosMem
#bit
31
La directiva #bit pone un nombre a un bit de una posicin de memoria RAM o un identificador. Sintaxis:
Ejemplos de uso
32
#byte TRISC = 0x87 #byte TRISB = 0x86 #byte PORTC = 0x07 #byte PORTB = 0x06 #bit RB0=PORTB.0 #bit RC7=PORTC.7 ....
Ensamblador
33
Las directivas #ASM y #ENDASM permiten incrustar cdigo ensamblador en un programa C de CCS. El cdigo escrito entre ambas directivas ser tratado por el compilador como cdigo ensamblador.