Lenguaje c

Solo disponible en BuenasTareas
  • Páginas : 9 (2173 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de agosto de 2012
Leer documento completo
Vista previa del texto
Lenguaje C.
En este punto de proyecto no se pretende explicar cómo se programa en este lenguaje, sino hacer un listado de las directivas y funciones permitidas por el compilador PCW de CCS, compilador específico para microcontroladores de la casa Microchip. Así pues, se parte de la idea de que el aprendiz posee conocimientos básicos de este lenguaje u otros lenguajes de alto nivel.
Directivasdel preprocesador
Todas las directivas del preprocesador comienzan con el carácter # seguido por un comando específico. Algunas de estas directivas son extensiones del C estándar. El C proporciona una directiva del preprocesador, que los compiladores aceptan, y que permite ignorar o actuar sobre los datos que siguen.
A continuación se describen algunas directivas del compilador que seemplearán para programar los microcontroladores PIC en las prácticas.
Control de memoria
#BIT identificador = x.y
Esta directiva creará un identificador "id" que puede utilizarse como cualquier SHORT INT (entero corto; un bit). El identificador hará referencia a un objeto en la posición de memoria x más el bit de desplazamiento y.
#BYTE identificador = X
Esta directiva creará un identificador“id” que puede utilizarse como cualquier INT (un byte). El identificador hará referencia a un objeto en la posición de memoria x, donde x puede ser una constante u otro identificador. Si x es otro identificador, entonces éste estará localizado en la misma dirección que el identificador “id”.
#RESERVE
Permite reservar posiciones de la RAM para uso del compilador. #RESERVE debe aparecer después de ladirectiva #DEVICE, de lo contrario no tendrá efecto.
Directivas del C estándar
#DEFINE identificador CADENA
Se utiliza simplemente para reemplazar el identificador (ID) con CADENA
#IF expresión_constante
#ELSE
El preprocesador evalúa la expresión_constante y si es distinta de cero procesará las líneas hasta el #ELSE.
#INCLUDE <Nombre_Fichero>
#INCLUDE "Nombre_Fichero"
Estadirectiva hace que el compilador incluya en el fichero fuente el texto que contiene el archivo especificado en <Nombre_Fichero>.
Especificación de dispositivos
#FUSES opciones
Esta directiva define qué fusibles deben activarse en el dispositivo cuando se programe. Esta directiva no afecta a la compilación; sin embargo, esta información es necesaria para algunos programadores dedispositivos. Algunas de las opciones más usadas son:
LP, XT, HS, RC WDT, NOWDT PROTECT, NOPROTECT PUT, NOPUT (Power Up Timer) BROWNOUT, NOBROWNOUT
Librerías incorporadas
#USE DELAY (CLOCK=frecuencia)
Esta directiva indica al compilador la frecuencia del procesador, en ciclos por segundo, a la vez que habilita el uso de las funciones DELAY_MS() y DELAY_US().
#USE FAST_IO (puerto)
Estadirectiva afecta al código que el compilador generará para las instrucciones de entrada y salida. Este método rápido de hacer I/O ocasiona que el compilador realice I/O sin programar el registro de dirección.
#USE I2C (master/slave, SDA=Pin, SCL=Pin opciones)
La librería I2C contiene funciones para implementar un bus I2C. La directiva #USE I2C permanece efectiva para las funciones I2C_START,I2C_STOP, I2C_READ, I2C_WRITE e I2C_POLL hasta que se encuentre otra directiva #USE I2C.

Las opciones son:
#USE RS232 (BAUD=baudios, XMIT=pin, RCV=pin...)
Esta directiva le dice al compilador la velocidad en baudios y los pines utilizados para la I/O serie. Esta directiva tiene efecto hasta que se encuentra otra directiva RS232.
La directiva #USE DELAY debe aparecer antes de utilizar #USE RS232.Esta directiva habilita el uso de funciones tales como GETCH, PUTCHAR y PRINTF.
Las opciones son:

#USE STANDARD_IO (puerto)
Esta directiva afecta al código que el compilador genera para las instrucciones de entrada y salida. El método estándar de hacer I/O causará que el compilador genere código para hacer que un pin de I/O sea entrada o salida cada vez que se utiliza. En los...
tracking img