Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programando PICs CCS 04 PDF
Programando PICs CCS 04 PDF
Microcontroladores PIC en
Lenguaje C con CCS
Entrega Nº 4.
Al tener características de los lenguajes de bajo nivel se puede tomar el control absoluto
del microcontrolador. Además tiene atajos que gustan mucho a los programadores al
tener una sintaxis menos restrictiva que lenguajes como Pascal por ejemplo, lo que le
convierte en el lenguaje idóneo para crear cualquier tipo de aplicación.
parámetros nombreDeFunción(parámetros)
{
Sentencias;
}
Como a veces las funciones se almacenan en archivos externos, necesitamos incluir esos
archivos en nuestro código mediante una sentencia especial #include , que en realidad es
una directiva de preprocesador. Una directiva de preprocesador es una instrucción para
el compilador con el que trabajamos.
El uso es:
#include <cabeceraDeArchivoExterno>
#include <18f14k50.h>
#use delay(crystal=12000000)//
#fuses
HS,NOWDT,NOLVP,NODEBUG,NOBROWNOUT,NOPLLEN,CPUDIV1,PUT,MCLR
#define LED1 PIN_B4
void main(void)
{
setup_adc_ports(NO_ANALOGS);
while(1)
{
output_high(LED1);
delay_ms(500);
output_low(LED1);
delay_ms(500);
}
}
¿Cuáles son los elementos de un programa en C?
Los programas en C se basan en sentencias las cuales siempre se incluyen dentro de una
función. En el caso de crear un programa ejecutable, esas sentencias están dentro de la
función main. A está función le antecede y precede la palabra void.
Ahora bien al escribir sentencias hay que tener en cuenta las siguientes normas:
(2) Los bloques de sentencia empiezan y terminan delimitados con el símbolo de llave
({ y }). Así { significa inicio y } significa fin
¿Qué es un comentario?
Se trata de texto que es ignorado por el compilador al traducir el código. Esas líneas se
utilizan para documentar el programa.
Esta labor de documentación es fundamental. De otro modo el código se convierte en
ilegible incluso para el programador que lo diseñó. Tan importante como saber escribir
sentencias es utilizar los comentarios. Todavía es más importante cuando el código va a
ser tratado por otras personas, de otro modo una persona que modifique el código de
otra lo tendría muy complicado.
En C los comentarios se delimitan entre los símbolos /* y */ para los bloque y // para las
lineas
• Tipo de dato: cada variable (también las constantes) está caracterizada por el
tipo de dato que representa.
• Visibilidad: en un programa C, cada variable tiene un rango de visibilidad
(procedimientos en los que es reconocida), que depende de cómo se la haya
declarado.
• Existencia: relacionado con la anterior característica, es posible que el contenido
de una variable perdure, o que se pierda, por ejemplo, al terminarse un
procedimiento.
• El primero de ellos incluye todos los caracteres que tienen algún significado para
el compilador.
• El segundo incluye todos los caracteres representables.
C acepta sólo ciertos caracteres como significativos. Sin embargo, otros caracteres
pueden formar parte de expresiones literales (constantes literales, nombres de archivo,
etc.) que no serán analizadas por C.
Los caracteres a los que C asigna especial significado se pueden clasificar en
alfanuméricos y signos especiales. Los caracteres alfanuméricos incluyen las letras
(alfabeto inglés, de A a Z), mayúsculas y minúsculas, los dígitos, y el guión bajo
(underscore: ‘_’).
En todos los casos, las mayúsculas son consideradas distintas de las minúsculas. Toda
cadena alfanumérica con significación en C está compuesta exclusivamente por estos
caracteres.
Los signos especiales son los listados a continuación. Ellos se emplean como
delimitadores, operadores, o signos especiales.
Mayúsculas: A - Z Signo más +
Minúsculas: a - z Signo menos -
Dígitos: 0 – 9 Paréntesis izquierdo (
Guión bajo: _ Paréntesis derecho )
Coma , Corchete izquierdo [
Punto . Corchete derecho ]
Punto y coma ; Llave izquierda {
Dos puntos : Llave derecha {
Signo de interrogación ? Signo Mayor >
Signo de admiración ! Signo Menor <
Comilla simple ‘ Signo igual =
Comilla doble “ Asterisco *
Barra vertical | Ampersand &
Barra / Porciento %
Barra invertida \ Caret ^
Tilde ~
¿Qué es un identificador?
Los identificaremos se utilizan para identificar, (valga la redundancia): variables, constantes, funciones,
etc.
Las palabras reservadas o también conocidas como “palabras claves” sirven para indicar al
microcontrolador que realice una tarea muy determinada (desde evaluar una comparación, hasta definir el
tipo de una variable) y tienen un especial significado para el compilador es por ello que no pueden usarse
como identificadores:
En CCS los tamaños están definidos por el ancho del bus de datos que posee el
microcontrolador PIC, de esta forma los tamaños para los micros de 8 bits
(PIC10,PIC12 y PIC16) no son iguales al de los micros de 16 bits de datos (PIC24,
dsPIC30 y dsPIC33) :
Micros PIC10, PIC12,PIC16 y PIC18
TIPO ANCHO EN BITS BYTES
char (carácter) 8 1
int (entero) 8 1
long(entero largo) 16 2
long long (entero extra largo)32 4
float (real) 32 4
short 1 0
void 0 0
a = a + 1 = a++
a=a-1=a--
A = 8;
B = ++A;
B toma el valor de 9.
A = 8;
B = A++;
B toma el valor de 8.
O sea que en este último caso, primero ocurre la asignación y luego el incremento en A.
OPERADOR ACCIÓN
> Mayor que
>= Mayor igual que
< Menor que
<= Menor igual que
== Igual que
!= Distinto que
OPERADOR ACCIÓN
&& And
|| Or
! Not
La operación lógica no se realiza a nivel bit entre los operandos, sino que establece una
relación entre condiciones comparativas en las que participan los operandos, ejemplo
(condición 1) && (condición 2) establece que si se cumple la condición 1 y la condición
2.
En C, cualquier valor distinto de 0 es VERDADERO. FALSO es 0 (cero).
Bueno hasta aquí hemos llegado con el artículo, nos encontraremos en nuestra próxima
nota.
Continuará.......