You are on page 1of 3

ndice curso de programacin PIC en C con CCS

Introduccin Mi primer programa en C con el compilador PCW C. Simular nuestro primer programa con proteus. Variables y Tipos de Datos. Constantes. Depuracin de programas con Proteus y CCS Funciones de Entrada / Salida serie RS232 o La funcin printf(). o Funciones getc(), getch() y getchar(). o Funciones gets() y puts(). Operadores. Sentencias repetitivas. o Bucle while o Bucle for o Bucle do-while Sentencias condicionales o Sentencia if o Sentencia if-else o Sentencia switch Funciones (1) Funciones (2) Punteros (1) Sentencias goto, break, continue.

Curso para aprender a programar en lenguaje C utilizando un compilador para PIC, en concreto el PCW compiler de la casa CCS. Cursos sobre C en Internet a miles, pero todos los que yo he visto estn realizados sobre compiladores de propsito general, como Vicual C++ de Microsoft Builder C++ de Borlan, sin duda son excelentes compiladores que nos permiten realizar aplicaciones para ordenadores de escritorio tanto en C como en C++ (la versin orientada a objetos de C), pero no sirven para programar PIC, es decir con el ejecutable que generan al compilar no se puede programar un Microcontrolador. Lo habitual hasta ahora es que los usuarios que se inician en este apasionante mundo de la programacin de Microcontroladores, sea de la marca que sea, primero lo hacan utilizando el lenguaje ensamblador, especifico no solo ya para cada marca de microcontrolador sino para cada modelo, ya que hay que conocer perfectamente los recursos de cada Microcontrolador (Nmero de puertos de Entrada/Salida Relojes internos, etc. ). Al principio de los tiempos de estos dispositivos esto era obligatorio ya que los recursos de memoria y velocidad de procesamiento no eran muy grandes y haba que optimizar el cdigo al mximo, esto implicaba que haba que utilizar a la fuerza un lenguaje de programacin de bajo nivel que bien utilizado explotara los recursos de estos dispositivos sin desperdiciar memoria y velocidad de procesamiento, pero al igual que ha ocurrido con los ordenadores personales las prestaciones de estos dispositivos ha ido creciendo exponencialmente con el tiempo, siendo ya perfectamente factible el utilizar un lenguaje de alto nivel para programar estos dispositivos y aprovecharnos de las ventajas de portabilidad que ofrecen este tipo de lenguajes, de esta manera por ejemplo podemos hacer un programa para un PIC en

concreto y utilizarlo en otro de mayores prestaciones sin modificar apenas nada del cdigo fuente. Quien puede sacar provecho de este curso?. Este curso es para ti si: Has programado PIC en Ensamblador y quieres hacerlo en un lenguaje de alto nivel como el C. No has programado nunca Microcontroladores pero conoces el lenguaje de programacin C de haberlo utilizado para otros propsitos. No has programado nunca un PIC en Ensamblador, ni conoces ningn lenguaje de alto nivel como el C. Es decir, no tienes ni idea de Microcontroladores ni de programacin (Esto es posible porque el curso va ha empezar desde cero es decir con el clsico Hola Mundo con el que empiezan todos los libros de iniciacin a la programacin. Bueno alguno pensar que para aprender a programar en C vale cualquier compilador de uso general y lo que realmente interesa es saber las instrucciones de C que tengo que utilizar para configurar por ejemplo un puerto como entrada o salida, o que cdigo tengo que utilizar para utilizar los convertidores A/D que incorporan ya casi todos los PIC, indudablemente ese es el propsito final de este curso y para ello paralelamente a l va haber otro donde se van a ver aplicaciones prcticas. Pero hay que tener en cuenta que los compiladores para Microcontroladores son especficos para estos dispositivos embebidos y no cumplen con el Estndar ANSI C al 100 %, por lo que cuando ests programando lo ms seguro es que te vayas dando cuenta que una funcin que en el C estndar funciona perfectamente aqu te da un error al compilar. Adems te irs quedando con mucho cdigo que lo has probado y sabes que te funciona perfectamente, cuando tengas que hacer una aplicacin prctica no tendrs la duda si puedes usar una determinada estructura en tu programa si es posible utilizar punteros o no y como hacerlo, porque ya lo sabrs a la vez que has ido aprendiendo el lenguaje de programacin y no solo eso, te irs familiarizando con las instrucciones especficas del compilador: de que herramientas dispone, sus funciones precompiladas, su sistema de depuracin de errores, etc. Que herramientas voy a necesitar para realizar el curso?. El compilador CCS seguro, vaya es de pago ya empezamos con problemas te puedes bajar una versin de Evaluacin por 30 das desde aqu: http://www.ccsinfo.com/ccsfreedemo.php Despus de rellenar el formulario te descargas el programa de instalacin y lo instalas en tu ordenador como un programa ms de Windows, aunque tienes que tener en cuenta que solo podrs programar un pequeo conjunto de PIC de cada familia, otro inconveniente es que tienes que estar conectado a Internet para que te funcione si no te aparecer esta ventanita poco amigable:

Otra limitacin es que el tamao del programa no puede superar los 2K de memoria, aunque para los ejemplos que vamos a hacer aqu te sobra. Bien ya tenemos solucionado el tema del compilador, bien sea por que con la demo nos apaamos o porque tengo un amigo cojonudo que me va ha prestar uno con licencia para que pueda realizar el curso (je,je.. ). Bien ya tengo el compilador y puedo empezar a programar y a crear mis .HEX (para el que no lo sepa es el archivo que tenemos que cargar en nuestro PIC para que funcione). Todo esto es muy elemental para el que lo sabe, pero como dije al principio este curso est pensado tambin para el que no tiene ni idea de programar microcontroladores. As es que sigamos.

Una vez que tenemos nuestro .HEX tendremos que comprobar que funciona realmente para ello tenemos dos opciones: Montar nuestro circuito con todos sus componentes, programar el PIC con un programador comercial como el PICSTART de Microchip o con uno de los muchos que hay en Internet que sirven perfectamente para empezar a programar estos dispositivos. Utilizar un programa de simulacin electrnica como Proteus que tiene la ventaja de disponer de una extensa biblioteca de microcontroladores PIC junto con los componentes auxiliares que normalmente utilizan estos dispositivos: leds, pantallas LCD, teclados, memorias, etc. Bien nosotros utilizaremos la segunda opcin, aunque en una prctica veremos como hacerlo de la primera forma. La versin de evaluacin de Proteus te la puedes descargar desde aqu: http://www.labcenter.co.uk/download/prodemo_download.cfm Claro que tiene limitaciones, sino no sera una demo, la principal es que no podemos guardar nuestros trabajos y la segunda es que no lleva incorporado muchas de las libreras dinmicas necesarias para realizar la simulacin de algunos microcontrloladores. Mira a ver si el amigo que te dejo el compilador te puede dejar tambin una licencia para este magnfico Simulador. Nota: en este sitio est prohibido el mostrar facilitar enlaces a lugares de descarga de dudosa reputacin. Lo digo tambien para que se tenga en cuenta en el foro que prximamente estar a vuestra disposicin y donde podremos exponer nuestras dudas experiencias sobre este tema y sobre otros que irn saliendo. Otra cosa que quiero aclarar es que el curso va a ser todo lo prctico que pueda y la forma de proceder ser la siguiente: ir mostrando uno varios ejemplos de cada tema y posteriormente har una Explicacin de los mismos. Yo no se vosotros pero yo cada vez que he querido aprender algo nuevo lo primero que he hecho a sido mirar los ejemplos, despus vosotros tendris que comprobar que lo que he dicho es cierto y que el ejemplo compila y funciona sin errores. Para facilitar la navegacin el prximo da presentar el ndice de los tems que va a tratar el curso Aunque puede que lo vaya modificando segn vallamos avanzando. Un saludo y hasta el prximo da.