Programación PIC en C

Pic C

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 están realizados sobre compiladores de propósito 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 versión 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 programación de Microcontroladores, sea de la marca que sea, primero lo hacían 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 (Número 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 había que optimizar el código al máximo, esto implicaba que había que utilizar a la fuerza un lenguaje de programación 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 código 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 programación C de   haberlo utilizado para otros propósitos.

  • No has programado nunca un PIC en Ensamblador, ni conoces ningún lenguaje de alto nivel como el C. Es decir, no tienes ni idea de Microcontroladores ni de programación (Esto es posible porque el curso va ha empezar desde cero es decir con el clásico Hola Mundo con el que empiezan todos los libros de iniciación a la programación.

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 código tengo que utilizar para utilizar los convertidores A/D que incorporan ya casi todos los PIC, indudablemente ese es el propósito final de este curso y para ello paralelamente a él va haber otro donde se van a ver aplicaciones prácticas. Pero hay que tener en cuenta que los compiladores para Microcontroladores son específicos para estos dispositivos embebidos y no cumplen con el Estándar ANSI C al 100 %, por lo que cuando estés programando lo más seguro es que te vayas dando cuenta que una función que en el C estándar funciona perfectamente aquí te da un error al compilar.  Además te irás quedando con mucho código que lo has probado y sabes que te funciona perfectamente, cuando tengas que hacer una aplicación práctica no tendrás la duda si puedes usar una determinada estructura en tu programa ó si es posible utilizar punteros o no y como hacerlo, porque ya lo sabrás a la vez que has ido aprendiendo el lenguaje de programación y no solo eso, te irás familiarizando con las instrucciones específicas del compilador: de que herramientas dispone, sus funciones precompiladas, su sistema de depuración 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 versión de Evaluación por 30 días desde aquí:

 

http://www.ccsinfo.com/ccsfreedemo.php

 

 

Después de rellenar el formulario te descargas el programa de instalación y lo instalas en tu ordenador como un programa más de Windows, aunque tienes que tener en cuenta que solo podrás programar un pequeño 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:

 

 
 
 
error de registro

 
 
 

Otra limitación es que el tamaño 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 apañamos o porque tengo un amigo cojonudo que me va ha prestar uno con licencia para que pueda realizar el curso (je,je..Wink).

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 también 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 simulación electrónica 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 opción, aunque en una práctica veremos como hacerlo de la primera forma.

La versión de evaluación de Proteus te la puedes descargar desde aquí:

 

http://www.labcenter.co.uk/download/prodemo_download.cfm

 

Claro que tiene limitaciones, sino no sería una demo, la principal es que no podemos guardar nuestros

trabajos y la segunda es que no lleva incorporado muchas de las librerías dinámicas necesarias

para realizar la simulación de algunos microcontrloladores. Mira a ver si el amigo que te dejo el compilador te puede dejar también una licencia para este magnífico Simulador.

 

Nota: en este sitio está prohibido el mostrar ó facilitar enlaces a lugares de descarga de dudosa reputación. Lo digo tambien para que se tenga en cuenta en el foro que próximamente estará a vuestra disposición y donde podremos exponer nuestras dudas ó experiencias sobre este tema y sobre otros que irán saliendo.

 

Otra cosa que quiero aclarar es que el curso va a ser todo lo práctico que pueda y la forma de proceder será

la siguiente: iré mostrando uno ó varios ejemplos de cada tema y posteriormente haré una Explicación 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, después vosotros tendréis que comprobar que lo que he dicho es cierto y que el ejemplo compila y funciona sin errores.

Para facilitar la navegación el próximo día presentaré el índice de los temás que va a tratar el curso

Aunque puede que lo vaya modificando según vallamos avanzando.

Un saludo y hasta el próximo día.

 

 

Volver al índice

© 2007-2014 AquiHayapuntes.com