Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entrega N 4.
Se dice que el lenguaje C es un lenguaje de nivel medio. La razn de esta indicacin est en que en C se pueden crear programas que manipulan la mquina casi como lo hace el lenguaje Ensamblador, pero utilizando una sintaxis que se asemeja ms a los lenguajes de alto nivel. De los lenguajes de alto nivel toma las estructuras de control que permiten programar de forma estructurada. Al tener caractersticas de los lenguajes de bajo nivel se puede tomar el control absoluto del microcontrolador. Adems 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 idneo para crear cualquier tipo de aplicacin. Sus caractersticas bsicas son: Es un lenguaje estructurado y modular. Lo que facilita su compresin y escritura Es un lenguaje que incorpora manejo de estructuras de bajo nivel (punteros, bits), lo que le acerca a los lenguajes de segunda generacin Permite utilizar estructuras de datos complejas (arrays, pilas, colas, textos,...) Es un lenguaje compilado Permite crear todo tipo de aplicaciones
La idea es: parmetros nombreDeFuncin(parmetros) { Sentencias; } Los smbolos { y } indican el inicio y el final de la funcin. Esos smbolos permiten delimitar bloques en el cdigo. El nombre de la funcin puede ser invocado desde otras sentencias simplemente poniendo como sentencia el nombre de la funcin. Como a veces las funciones se almacenan en archivos externos, necesitamos incluir esos archivos en nuestro cdigo mediante una sentencia especial #include , que en realidad es una directiva de preprocesador. Una directiva de preprocesador es una instruccin para el compilador con el que trabajamos. El uso es: #include <cabeceraDeArchivoExterno> La directiva #include permite indicar un archivo de cabecera en el que estar incluida la funcin que utilizamos. En el lenguaje C estndar los archivos de cabecera tienen extensin h. Los archivos de cabecera son los que permiten utilizar funciones externas (o libreras) en nuestro programa. Una de las libreras ms utilizadas en los programas, es la que contiene las etiquetas de todos los registros de funciones especiales del MCU PIC que hayamos seteado en el proyecto. En el caso de CCS esta librera est disponible en la cabecera 16Fxxx.h En todos los lenguajes de programacin, el primer programa a realizar es el famoso Hola mundo, un programa que escribe este texto en pantalla. En el mundo de los microcontroladores PIC, este programa se traduce en hacer titilar un led. De esta forma en CCS el cdigo de este programa es: #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); } }
Qu es un comentario?
Se trata de texto que es ignorado por el compilador al traducir el cdigo. Esas lneas se utilizan para documentar el programa. Esta labor de documentacin es fundamental. De otro modo el cdigo se convierte en ilegible incluso para el programador que lo dise. Tan importante como saber escribir sentencias es utilizar los comentarios. Todava es ms importante cuando el cdigo va a ser tratado por otras personas, de otro modo una persona que modifique el cdigo de otra lo tendra muy complicado. En C los comentarios se delimitan entre los smbolos /* y */ para los bloque y // para las lineas // Esto es un comentario usado para las lneas /* Esto es un comentario el compilador har caso omiso de este texto*/
C maneja los datos en forma de variables y constantes, conceptos con los que supondremos que el lector est familiarizado. Las variables, simbolizadas mediante datos alfanumricos (cuyas reglas de construccin trataremos ms adelante), presentan caractersticas que ser muy importante considerar: Tipo de dato: cada variable (tambin 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 cmo se la haya declarado. Existencia: relacionado con la anterior caracterstica, es posible que el contenido de una variable perdure, o que se pierda, por ejemplo, al terminarse un procedimiento.
C acepta slo ciertos caracteres como significativos. Sin embargo, otros caracteres pueden formar parte de expresiones literales (constantes literales, nombres de archivo, etc.) que no sern analizadas por C. Los caracteres a los que C asigna especial significado se pueden clasificar en alfanumricos y signos especiales. Los caracteres alfanumricos incluyen las letras (alfabeto ingls, de A a Z), maysculas y minsculas, los dgitos, y el guin bajo (underscore: _). En todos los casos, las maysculas son consideradas distintas de las minsculas. Toda cadena alfanumrica con significacin en C est compuesta exclusivamente por estos caracteres. Los signos especiales son los listados a continuacin. Ellos se emplean como delimitadores, operadores, o signos especiales.
Maysculas: A - Z Minsculas: a - z Dgitos: 0 9 Guin bajo: _ Coma , Punto . Punto y coma ; Dos puntos : Signo de interrogacin ? Signo de admiracin ! Comilla simple Comilla doble Barra vertical | Barra / Barra invertida \ Tilde ~ Signo ms + Signo menos Parntesis izquierdo ( Parntesis derecho ) Corchete izquierdo [ Corchete derecho ] Llave izquierda { Llave derecha { Signo Mayor > Signo Menor < Signo igual = Asterisco * Ampersand & Porciento % Caret ^
Qu es un identificador?
Los identificaremos se utilizan para identificar, (valga la redundancia): variables, constantes, funciones, etc. Deben comenzar con una letra. Mxima longitud: 32 caracteres. Slo pueden contener letras y nmeros, pero no caracteres especiales, salvo el guin bajo, (underscore). No se deben confundir con palabras reservadas de C, (una variable, por ejemplo no puede llamarse int, ni main, etc.) y hay diferencias entre maysculas y minsculas. Como norma se utilizan las minsculas; las maysculas se usan para las constantes. Las palabras reservadas o tambin conocidas como palabras claves sirven para indicar al microcontrolador que realice una tarea muy determinada (desde evaluar una comparacin, hasta definir el tipo de una variable) y tienen un especial significado para el compilador es por ello que no pueden usarse como identificadores: auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
Micros PIC10, PIC12,PIC16 y PIC18 TIPO ANCHO EN BITS char (carcter) 8 int (entero) 8 long(entero largo) 16 long long (entero extra largo)32 float (real) 32 short 1 void 0 Micros PIC24, dsPIC30 y dsPIC33 TIPO ANCHO EN BITS char (carcter) 8 int (entero) 16 long(entero largo) 32 long long (entero extra largo)64 float (real) 32 double 64 short 8 void 0 BYTES 1 2 4 8 4 8 1 0 BYTES 1 1 2 4 4 0 0
A diferencia del compilador ANSI C CCS tiene sus tipos de datos predefinidos sin signo, es decir que solo podemos almacenar valores positivos excepto que especifiquemos antes del tipo la palabra clave signed
Los operadores de decremento e incremento equivalen a: a = a + 1 = a++ a=a-1=a-En caso de presentarse a con el operador delante: A = 8; B = ++A; B toma el valor de 9. Pero de plantearse lo siguiente: A = 8; B = A++; B toma el valor de 8. O sea que en este ltimo caso, primero ocurre la asignacin y luego el incremento en A.
La operacin lgica no se realiza a nivel bit entre los operandos, sino que establece una relacin entre condiciones comparativas en las que participan los operandos, ejemplo (condicin 1) && (condicin 2) establece que si se cumple la condicin 1 y la condicin 2.
En C, cualquier valor distinto de 0 es VERDADERO. FALSO es 0 (cero). Bueno hasta aqu hemos llegado con el artculo, nos encontraremos en nuestra prxima nota. Continuar.......