jueves, 2 de septiembre de 2010

TPNº13 "Microcontroladores" ---- Décimasexta clase

Jueves 02 de septiembre - En esta ocasión vamos a adentrarnos un poco más en el mundo de la programación creando nuestra propia secuencia de instrucciones para un microcontrolador. Lo que haremos será crear un programa capaz de activar una salida con una frecuencia, en nuestro caso de 330Hz, comandada a traves de un pulsador.

-En el siguiente apartado incluiremos una guía de como comenzar a utilizar el MPLAB:



A continuación vemos la lista de instruciones que fue necesario confeccionar para lograr el objetivo planteado en programación "asembler" (En el incluimos una serie de acotaciones para explicar que realiza cada instrucción):


Veamos una simulación de su funcionamiento en Proteus:




-Ahora vamos a llegar al mismo resultado pero esta vez valiéndonos de la programación en C, veamos la lista de instrucciones necesarias:



En este caso intentaremos lograr una frecuencia de 500Hz a la salida. Acá hay una miniguia de como comenzar a utilizar el CCS.



Veamos una simulación del funcionamiento del programa:

Programación --- Décima Quinta Clase

Jueves 2 de Septiembre - En esta clase veremos las distintas formas de programación de un microcontrolador.
Vimos hasta el momento 2 tipos difertentes llamados "Asembler" y "Programación en C".

Asembler: En este tipo de programación utilizamos la aplicación MPLAB IDE v8.40.

Este programa genera un tipo de documento en el cual podemos escribir las diferences instrucciones de los uC (Nosotros utilizamos el PIC16F84A, por eso usamos las instrucciones correspondiente a este uC).

Para programar en C tenemos varios programas:
-----------C18: Es de MICROCHIP, sirve solo para los uC's serie 18F.
-----------C30: Idem del anterior, solo que sirve para uC's más grandes.
-----------JAL: Esta muy restringido en dispositivos, en la programación y en la actualización.
-----------SDCC: Cuyas carcterísticas son muy similares a las del JAL.
-----------CC5X: El problema con este programa es que puede llegar a presentar inconvenientes con la licencia.
-----------CCS: Dentro de los nombrados presenta mayores facilidades en su utilización y una gran cantidad de librerías (Este es el que vamos a usar).
-----------HI-TECH: Tiene soporte de MICROCHIP, posee menos funciones lo que hace más complejo su uso.

------*NOTA: Estos últimos dos se integran al MPLAB, puedo usar el entorno del MPLAB para escribir el código; y desde el MPLAB lo puedo compilar.

Para llevar a la práctica todas las instrucciones establecidas a traves de estas aplicaciones al grabarlas en un uC necesitaremos de un programador, sin embargo esta no es la única opción.

Hoy en día algunos microcontroladores incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 (En algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1) como clock y datos y el MCLR para activar el modo programación aplicando un voltaje de 13 voltios.

Otra forma de programar es el BootLoader, un pequeño conjunto de instrucciones que forman un programa y se graban, en este caso en un microcontrolador, para permitir un posterior manejo y actualización de sus programas internos (firmware) sin necesidad de utilizar programadores (hardware) específicos. Es decir, utilizas un programador de microcontroladores una única vez para cargarle el mencionado BootLoader al microcontrolador y luego te bastará con una sencilla aplicación en tu ordenador para cambiar a tu antojo el funcionamiento de tus sistemas. Todo mediante una conexión al puerto USB

Nosotros optamos por el programador, debido a que unestro uC no tenia ninguna de las opciones anteriores, para empezar, decidimos comprar el nuestro.
Razones por las cuales no decidimos armarlo: Básicamente por lo siguiente, la diferencia de costos es mínima y al comprarlo no solo ahorramos trabajo sino que garantizamos un buen funcionamineto del instrumento desde el comienzo.
Entonces comenzamos a indagar acerca de los distintos programadores disponibles en el mercado.
De todas las opciones que encontramos elegimos el programador "PICKIT 2" de Microchip por las siguientes razones:
Tiene salida USB, lo que resulta mas practico a la hora de conectarlo a la PC ya que garantizamos su funcionamiento (si posee una salida, como ser, para "Port paralelo" o "Port RS232", podríamos tener problemas con la alimentación del programador, sin mencionar las probabilidades que existen de no contar con entradas de estas características dependiendo
del ordenador que utilizemos).
Posee un zócalo ZIF-PK que nos da una mayor facilidad para conectar y desconectar el microcontrolador a la placa del programador y nos permite trabajar con una amplia gama de uC's.