Lenguaje C para microcontroladores PIC

Compiladores de C de CCS

©ATE-Universidad de Oviedo

1

Lenguaje C para microcontroladores PIC

Compiladores de C: Ficheros de Código Fuente Ficheros de Directivas y Encabezamiento

.C

Escritos para Lenguaje C

.H

COMPILADOR de C (PCB ó PCM ó PCH)

Fichero para depuración del Programa .COD y .COF

Fichero con Errores de Compilación .ERR

Fichero de Código Máquina para Grabación .HEX

Fichero de funciones y llamadas (árbol) .TRE

Fichero de Listado en Ensamblador .LST
2

Compiladores de C de CCS

©ATE-Universidad de Oviedo

Estos ficheros están pensados para ser incluidos en el código fuente mediante una directiva del tipo: #include <16f877.h) contienen información sobre los registros existentes para un determinado micro.ccsinfo. mientras que con comillas (“ “) #include “16f877.h) Estos ficheros contienen directivas. que son instrucciones al compilador pero normalmente no incluyen sentencias de un programa Los ficheros de Encabezamiento (de extensión .h en un directorio distinto al del código fuente.h> que buscaría el fichero 16f877.Lenguaje C para microcontroladores PIC Ficheros de Directivas y Encabezamiento (.com/ PCB Genera código para microcontroladores con 12 bits en memoria de programa PCM PIC16C/FXXX Genera código para microcontroladores con 14 bits en memoria de programa PCH Genera código para microcontroladores con 16 bits en memoria de programa PCW: Entorno de trabajo integrado que incluye los compiladores PCB y PCM por defecto y el compilador PCH de manera opcional ©ATE-Universidad de Oviedo Compiladores de C de CCS 4 . también definen el tratamiento a dar a las funciones integradas en “librería” por el compilador en cuanto a argumentos que aceptará y los que devolverá cada función.h” haría que la búsqueda tuviera lugar en el directorio actual donde está el fuente Compiladores de C de CCS ©ATE-Universidad de Oviedo 3 Lenguaje C para microcontroladores PIC Los Compiladores de CCS (Custom Computer Services Inc.) http://www.

xxx menús y barras Compiladores de C de CCS ©ATE-Universidad de Oviedo 6 .c siendo opciones válidas: en las siguientes opciones xxx es optativo.Lenguaje C para microcontroladores PIC Compilación desde línea de comandos CCSC opciones nombre_fichero.pjt) • Definición manual del proyecto • Asistente para generación de proyectos (PIC Wizard) El entorno integrado PCW versión 3. pero si se incluye es la extensión del fichero generado Compiladores de C de CCS ©ATE-Universidad de Oviedo 5 Lenguaje C para microcontroladores PIC Herramientas Compilación • Editor de dispositivos • Desensamblador • Conversor numérico de datos Definición y gestión de Proyectos (.

lo crea junto con el correspondiente fichero de cabecera (. LCD de caracteres.c). teclados.Lenguaje C para microcontroladores PIC Project Wizard Asistente muy útil que permite definir un nuevo proyecto de manera fácil.h) y el fichero de definiciones del microcontrolador que hayamos seleccionado. EEPROM serie. Nos pregunta por el nombre de un fichero de código fuente principal (. Con el asistente se pueden seleccionar ciertas opciones y configurar: • Bits de la palabra de configuración y definición de la frecuencia del oscilador • Los modos de trabajo de los diferentes módulos de comunicación • Los temporizadores y sus modos de trabajo • Los módulos CCP • El módulo de conversión A/D • Las interrupciones que se piensan habilitar • Los pines de entrada/salida y asignarles nombres alternativos • Inclusión de funciones no compiladas para manejo de dispositivos de entrada/salida: RTC. etc Compiladores de C de CCS ©ATE-Universidad de Oviedo 7 Lenguaje C para microcontroladores PIC Project Wizard: Bits de Configuración version 3.xxx Compiladores de C de CCS ©ATE-Universidad de Oviedo 8 .

Lenguaje C para microcontroladores PIC Project Wizard: Configuración de Comunicaciones Compiladores de C de CCS ©ATE-Universidad de Oviedo 9 Lenguaje C para microcontroladores PIC Project Wizard: Configuración Temporizadores Compiladores de C de CCS ©ATE-Universidad de Oviedo 10 .

Lenguaje C para microcontroladores PIC Project Wizard: Configuración Conversión A/D Compiladores de C de CCS ©ATE-Universidad de Oviedo 11 Lenguaje C para microcontroladores PIC Project Wizard: Configuración módulos CCP Compiladores de C de CCS ©ATE-Universidad de Oviedo 12 .

Lenguaje C para microcontroladores PIC Project Wizard: Configuración fuentes posibles de interrupción Compiladores de C de CCS ©ATE-Universidad de Oviedo 13 Lenguaje C para microcontroladores PIC Project Wizard: Configuración puertos E/S y nombres alternativos Compiladores de C de CCS ©ATE-Universidad de Oviedo 14 .

Compiladores de C de CCS ©ATE-Universidad de Oviedo 16 . etc. los menús. las opciones.pjt) Para la versión 4 del entorno integrado PCW cambia el aspecto del entorno.Lenguaje C para microcontroladores PIC Project Wizard: Inclusión de ficheros de funciones para manejo de dispositivos E/S Compiladores de C de CCS ©ATE-Universidad de Oviedo 15 Lenguaje C para microcontroladores PIC Asistente para generación de proyectos (PIC Wizard) Definición y gestión de Proyectos (.

xxx 17 Compiladores de C de CCS ©ATE-Universidad de Oviedo Lenguaje C para microcontroladores PIC Project Wizard: Configuración Comunicaciones versión 4.Lenguaje C para microcontroladores PIC el “Project Wizard” También cambia Project Wizard: Bits de Configuración versión 4.xxx Compiladores de C de CCS ©ATE-Universidad de Oviedo 18 .

h) generado por Project Wizard 20 Compiladores de C de CCS ©ATE-Universidad de Oviedo .h incluye directivas de preprocesado definidas a partir de la selección realizada con el asistente mientras que el fichero nombre_proyecto.parity=N.sda=PIN_D0. Éste incluye a su vez a otro fichero con el nombre del micro que se haya seleccionado y que incorpora las principales directivas de definición asociadas al micro.NOWDT.xxx Compiladores de C de CCS ©ATE-Universidad de Oviedo 19 Lenguaje C para microcontroladores PIC Resultado del Asistente (Project Wizard) Como resultado del empleo del Project Wizard.rcv=PIN_C7) #use i2c(master.c contiene las funciones integradas del compilador y directivas a que da lugar la utilización del Project Wizard #include <16F877.c y otro con el mismo nombre y extensión .Lenguaje C para microcontroladores PIC Project Wizard: Configuración Temporizadores versión 4.h.scl=PIN_D1) Ejemplo de fichero (prueba.BROWNOUT #use rs232(baud=9600. se generan dos ficheros uno con el nombre del proyecto y extensión .PUT. El fichero nombre_proyecto.xmit=PIN_C6.h> #device ICD=TRUE #use delay(clock=4000000) #fuses XT.

setup_adc(ADC_CLOCK_DIV_2). Para ejecutar desde MPLAB-IDE los programas compilados con CCSC. setup_ccp1(CCP_COMPARE_CLR_ON_MATCH). pero otra posibilidad sería “llamar” al compilador desde el propio entorno MPLAB. setup_timer_2(T2_DIV_BY_1. se necesita ejecutar previamente el “MPLAB plug-in” La llamada desde MPLAB se realizará mediante una línea de comandos que presentará una serie de opciones dependientes de las opciones configuradas desde Project > Build Options…Project Compiladores de C de CCS ©ATE-Universidad de Oviedo 22 .0.xx de Microchip resulta posible definir un proyecto que utilice como herramienta de generación de código máquina los compiladores de CCS.HEX. se deberían importar los ficheros .COF y . setup_adc_ports(RA0_RA1_ANALOG_RA3_REF).c) generado por Project Wizard void main() { port_b_pullups(TRUE).C> #int_RTCC RTCC_isr() { } #int_TIMER1 TIMER1_isr() { } Ejemplo de fichero (prueba. setup_counters(RTCC_INTERNAL. } Compiladores de C de CCS ©ATE-Universidad de Oviedo 21 Lenguaje C para microcontroladores PIC Integración del Compilador PCM en MPLAB IDE Desde el entorno MPLAB IDE v7. enable_interrupts(global). lcd_init().h" #include <LCD.1). así como la carga de los ficheros de símbolos y de depuración. enable_interrupts(INT_TIMER1).RTCC_DIV_128).Lenguaje C para microcontroladores PIC #include "C:\Documents and Settings\fernando\Mis documentos\Picc\prueba. Pero para ello… IMPORTANTE: para poder usar el compilador CCS C dentro del MPLAB-IDE. enable_interrupts(INT_RTCC). setup_timer_1(T1_INTERNAL|T1_DIV_BY_1).

ICD2.. MPLAB-ICE… Compiladores de C de CCS ©ATE-Universidad de Oviedo 23 Lenguaje C para microcontroladores PIC Como método de trabajo general se recomienda el siguiente: 1º.. El asistente Project Wizard de PCW no tiene nada que ver con el asistente Project Wizard de MPLAB IDE.xx y definiremos un nuevo proyecto para MPLAB IDE con el asistente (Project Wizard de MPLAB) que tenga como herramienta el compilador PCM (enlazará con la línea de comandos de CCS. depurador. Además el formato de los proyectos generados desde PCW no es el mismo que el que maneja MPLAB IDE.c creado en el paso 1º...Realizaremos la compilación del código desde MPLAB: Project > Compile 4º. emulador.Lenguaje C para microcontroladores PIC El asistente del compilador de CCS (Project Wizard de PCW) no puede ser llamado desde MPLAB ya que no hay un enlace con el entorno PCW.c y . y que incluirá también al fichero .Entraremos en el entorno MPLAB IDE v7. pero podemos y debemos sacar el mayor partido posible de ambos asistentes: Uno para generar el código inicial en C y el otro para realizar la depuración sobre el resto de herramientas: MPSIM..…) 5º.Desde MPLAB verificaremos el código con la herramienta que estemos utilizando en cada caso particular (simulador.h generado igualmente 3º.Realizamos las modificaciones del código fuente con el editor de MPLAB y volveremos al paso 3º hasta obtener el código definitivo Compiladores de C de CCS ©ATE-Universidad de Oviedo 24 . para lo que habrá que buscar y seleccionar el fichero ejecutable ccsc.exe) y que tendrá como fichero del proyecto el fichero .Utilizaremos el asistente de PCW (Project Wizard de PCW) para generar los ficheros .h 2º.

Lenguaje C para microcontroladores PIC Antes de hacer la compilación del código se deben seleccionar de modo adecuado las opciones de la línea de comandos del compilador Project > Build Options…Project El formato del fichero de depuración debe ser COFF para la inclusión de códigos y símbolos 25 Compiladores de C de CCS ©ATE-Universidad de Oviedo .

Sign up to vote on this title
UsefulNot useful