PROGRAMACION DE PIC



PIC
PIC es el acrónimo de Pheripetal Interface Controller (controlador de periférico de interfaz), en un principio fue diseñado para comunicar en la tarjeta madre los periféricos externos. Actualmente se ocupa Para la educación, diseño y desarrollo.

Existen 2 métodos para su implementación para microcontroladores, una es con encapsulado DIP y el Segundo es para pic’s más robustos que implementan como tarjetas de desarrollo como el HC12 de Motorola.


Existen muchos fabricantes de PIC’s entre ellos mencionare los mas importantes:
·         MOTOROLA  (familias HC11 y HC12)
·         TEXAS INSTRUMENTS
·         MICROCHIP (PIC familias 16,18..etc)
·         ATMEL (ATmega168)
[http://www.arduino.cc/es/] Revisar esta pagina: es importante tener en cuenta
Comúnmente los que se tiene es una información limitada de los fabricantes lo que lleva a depender de los fabricantes, Esto es una buena práctica para poder diseñar con información libre.
Los más empleados para  La educación actualmente son los antes mencionados para este blog se ocuparan microchip, no se debe perder de vista de la existencia y facilidad para emplear las demás marcas.
 Para obtener el software empleado en este blog se dan el software y forma de instalacion:

Para poder programar es necesario el software de desarrollo, en este caso se ocuparan 2 que son muy faciles de usar y de gran utilidad.
-PROTEUS (este programa nos ayuda a simular sin tener que alambrar fisicamente)
-CCS (c compiler util para poder programar en C )
-MASTER PROG (independiente) Y PICKIT (microchip)Para poder pasar el archivo y programar el pic. [Arduino no es necesario tener un programador se conecta directamente a la pc]
Imagen de Proteus

Imagen de CCS compiller

Imágenes de PICKIT


Imágenes de MASTERPROG




Para poder llevar a cabo un diseño se van a plantear los pasos a seguir:

  1.       Seleccionar El chip a utilizar para la aplicación adecuada (tratar de evitar usar un chip grande para una   aplicación pequeña y un chip pequeño para una aplicación grande )
  2.       Programar en c
  3.       Simular en Proteus (evita tiempos perdidos en cablear y cometer errores tanto de programación y fisicamente)
  4.       Construcción física
  5.       Pruebas y caracterización



2.PROGRAMACION EN C PARA MICROCONTROLADORES
Un compilador convierte el lenguaje de alto nivel a instrucciones en código maquina; un cross-compiler es un compilador que funciona en un procesador (normalmente en un PC) diferente al procesador objeto. El compilador CCS c es un cross-compiler. Los programas son editados y compilados a instrucciones maquina en el entorno de trabajo del PC, el código mauina puede ser cargado al PC al sistema PIC mediante algún Programador y puede ser depurado desde el entorno de trabajo del PC.
Para escribir un programa C con el CCs C se debe tener en cuenta la serie de elementos básicos de su estructura:

1.-DIRECTIVAS DE PREPROCESADO
Controlan la conversión del programa a código maquina por parte del compilador.
2.-PROGRAMAS O FUNCIONES
Conjunto de instrucciones. Puede haber uno o varios; en cualquier caso siempre debe haber uno definido como programa principal mediante la inclusión de la llamada main()
3.-INSTRUCCIONES
Indican como se debe comportar el PIC en todo momento
4.-COMENTARIOS
Permiten describir lo que significa cada línea del programa
TABLA 2.1 Componentes de la estructura básica de un programa en “C” para PIC

 Figura 2.1 Ejemplo de componentes de estrustura basica de un programa en "C"
 TIPOS DE DATOS



Las variables se utilizan nombrar posiciones de memoria RAM; se deben declarar, obligatoriamente, antes de utilizarlas; para ello se debe indicar el nombre y el tipo de dato que se manejará. Se define de la siguiente forma:
TIPO NOMBRE_VARIAVLE[=VALOR INICIAL]

Las variables definidas en un programa pueden ser de tipo LOCAL o GLOBAL. Las variables locales sólo se utilizan en la función donde se encuentran declaradas; las variables globales se pueden utilizar en todas las funciones del programa. Ambas se deben declarare antes de ser utilizadas y las globales deben declararse antes de cualquier función y fuera de ellas. 
Las variables globales son puestas a cero cuando se inicia la función principal main().

ESTRUCTURAS  DE CONTROL