Ago 072013

 

Actualmente hay muchas opciones para programar una pequeña aplicación que active unas salidas y controle motores, luces, etc…

Sea cual sea la opción que escojamos siempre tendremos que tener unos elementos comunes:

  • Un editor procesador de texto.
  • Un compilador o ensamblador con depurador.
  • Un programador.

Editor

El editor de texto, es un programa para escribir, cuya función principal es ayudar a escribir. Según vamos escribiendo el editor nos colorea las palabras del lenguaje y sus posibles opciones, también las funciones, variables y código mal escrito que hace que el programa sea mas fácil de escribir y depurar errores. Una pieza fundamental por tanto será que tengamos un buen editor.

Compilador

El compilador, es un programa que traduce el código escrito en un lenguaje como c++ a código de ensamblador o a un archivo binario o hexadecimal directamente, lo cual es ejecutado directamente por un microprocesador o microcontrolador.
Un ensamblador, es un programa que traduce un tipo de código de muy bajo nivel (hay que colocar muchas instrucciones para que se realice una acción) a un archivo binario o hexadecimal.

Programador

Un programador tiene dos partes, un software pare el ordenador y un aparato físico que se encargan de enviar el archivo hexadecimal desde el ordenador en que se compila, al microcontrolador que lo debe ejecutar.

 

IDE todo en uno

Un IDE en inglés que significa “Entorno de Desarrollo Integrado” (Integrated Development Environment), es un conjunto de las cosas vistas antes, el IDE se compone de un editor de texto, un compilador, un ensamblador y un programador (software). La idea es que la mayoría de estas cosas queden ocultas para simplificar la labor, por lo que muchas veces solo vemos el programa para escribir y un botón que compila, ensambla y traspasa el programa al micro, todo automáticamente.

Una buena opción para introducirse son las placas de Arduino que son una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de proyectos electrónicos.

Placa Arduino UNO

Placa Arduino UNO

Arduino: Una plataforma construida a partir de microcontroladores AVR de Atmel, son increíblemente baratos, poderosos, y no solo traen un IDE y un Bootloader, si no que además trae muchas funciones  en C++, gracias a lo cual, puedes hacer complejos programas en poco tiempo.

Un Bootloader, es un programa especial para el microcontrolador, que hace que no requiera un aparato especial para cargarle los programas que hace el usuario. Antiguamente en el comienzo de la programación con microprocesadores el programa del usuario se grababa en una o varias memorias EPROM las cuales se las podía borrar usando una luz ultravioleta y volver a usar grabando los datos con un programador. Con el uso del Bootloader el programa se carga rápidamente mediante una conexión USB con el ordenador.

Algunas de las placas de arduino son:

  • Arduino Nano.
  • Arduino Mini.
  • Arduino BT.
  • LilyPad Arduino.
  • Arduino Fio.
  • Arduino Pro.
  • Arduino Pro Mini.
  • Xbee shield.
  • Ethernet shield.
  • Arduino uno.

Hay otras alternativas como PICAXE que es el nombre de un sistema microcontrolador que se basa en una gama de circuitos integrados PIC.

El objetivo de estos circuitos era para su uso en la educación y para aficionados a la electrónica, también son utilizados en ámbitos técnicos y comerciales, incluyendo el desarrollo rápido de prototipos.

Enlaces para obtener mas información:

http://arduino.cc/es/

http://www.microchip.com/



May 272013

 

El microcontrolador PIC16F84 a la hora de programarlo podemos escoger la modalidad de oscilador que va a tener. Con dos bits (FOSC1 y FOSC0) seleccionamos entre las 4 opciones que disponemos:

  • LP Cristal para baja frecuencia y bajo consumo.
  • XT Cristal normal.
  • HS Cristal de alta velocidad.
  • RC Oscilador con resistencia y condensador.

Para escoger el oscilador que vamos a utilizar tendremos que programar la palabra de configuración.

La palabra de configuración se encuentra en la dirección de memoria de programa 2007 h. Esta posición está más allá del espacio de memoria de programa destinada al usuario y pertenece al espacio de memoria de prueba y configuración (2000h -3FFFh).

Solamente se puede acceder a este espacio durante la programación del dispositivo y en esta palabra nos encontraremos otras opciones del PIC16F84.

R/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
CPCPCPCPCPCPCPCPCPCP/PWRTEWDTEFOSC1FOSC0
B13B12B11B10B9B8B7B6B5B4B3B2B1B0

 

CP, bit 4 a 13: Bits de protección de código.

  • 1: Protección de código deshabilitada.
  • 0: Memoria protegida por código.

PWRTE, bit 3: Bit para habilitar el Power-up Timer o temporizador
de encendido.

  • 1: Power-up timer deshabilitado.
  • 0: Power-up Timer habilitado.

WDTE, bit 2: Bit para habilitar el Watchdog timer o temporizador
perro guardián.

  • 1: WDT habilitado.
  • 0: WDT deshabilitado.

FOSC1, FOSC0, bit 0 y 1: Selección del oscilador.

  • 00: Oscilador LP.
  • 01: Oscilador XT.
  • 10: Oscilador HS.
  • 11: Oscilador RC.
Modos soportados en la configuración del cristal de cuarzo.

Modos soportados en la configuración del cristal de cuarzo.

Juego de instrucciones del PIC16F84.