sábado, 12 de marzo de 2016

Primer proyecto con Atmel Studio 7


Para iniciar la programación de uC AVR necesitamos instalar la Plataforma Integrada de Desarrollo (IDP) de ATmel, me refiero al Atmel Studio 7.
Aquí el enlace para la descarga : Atmel Studio 7.0.790
Instalado el software, pasaremos a crear nuestro primer proyecto.
Una vez abierto el software, en la parte izquierda veremos la figura 1 donde debemos dar click en “New Project”.


Figura 1.image


Luego debemos seleccionar el tipo de proyecto y el lenguaje (C, C++, ASM). En este ejemplo usaremos el lenguaje C como lo vemos en la figura 2.


Figura 2.image



Una vez seleccionado el lenguaje, debemos darle un nombre al proyecto, en nuestro caso lo llamaremos “First_project” (Figura 3). El software creará una carpeta con el nombre del proyecto en la ruta “C:\Users\user\Documents\Atmel Studio”.

Figura 3.image


Ahora debemos seleccionar el dispositivo que deseamos usar, en este caso seleccionamos el ATmega32.

Figura 4.image



A la derecha de la misma ventana veremos (figura 4) veremos una lista de las herramientas de depuración y programación que se pueden usar en el microcontrolador seleccionado. También un enlace a la hoja de datos del dispositivo (Figura 5).

Figura 5.image


Luego de dar click en en botón aceptar veremos el archivo main.c tal como en la figura 6. Aquí es donde debemos escribir nuestro programa. 

Figura 6.image



En la figura 7 se muestra la aplicación desarrollada. En esta programa se tendrán dos entradas para dos pulsadores en el puerto B, y dos salidas para dos leds en el puerto D.

  • En 11 se declaran dos variables de tipo unsigned char (uint8_t) para guardar en estado actual y el estado pasado de un pin de entrada.
  • En 15 se ponen los el puerto B como entradas.
  • En 16 activamos las resistencias pull up de los pines PB0 y PB1.
  • En 17 se ponen los pines PD7 y PD3 como salidas para los led.
  • En 20 preguntamos sí el pin PB0 fue presionado
  • En 21 se pondrá a 1 el pin PD7 sí PB0 es 0. El código de la linea 22 es igual al de la linea 21.
  • En 24 se pondr’a a 0 el pin PD7 si PB0 es 1. El código de la linea 25 es igual al de la linea 24.
  • En 27 se guarda el valor anterior del pin PB1.
  • En 28 se guarda el valor actual del pin PB1.
  • En 29 se pregunta sí ocurrió un flanco de subida.
  • En 31 se conmuta, usando un xor (^), el pin PD3. El código de la linea 32 es igual al de la linea 31.

Figura 7.image


En C podemos usar el operador :?, y gracias a esto podemos reducir las lineas 20 a 25 por el código de la figura 8.



Figura 8.image



En la figura 9 se muestra la equivalencia entre un if-else y el operador :?.

Figura 9.image



Luego debemos compilar el programa usando el botón de la figura 10.

Figura 10.image


Finalmente, tendremos como salida el archivo .hex (Figura 11) para poder programar nuestro microcontrolador.

Figura 11.image



Link Proyecto




Si queremos ver la numeración de lineas en nuestro ventana de edición tenemos que ir a Tools>Options (Figura 12).
Figura 12.image


Luego en “All Languages” seleccionamos “Line numbers”  (Figura 13).

Figura 13.image

Espero este post sea útil.
Hasta la próxima.

5 comentarios:

  1. Muy bueno tu Blog, espero que sigas con los AVRS como los Xmega o AT32..

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. hola si me pudieras ayudar, descargue Atmel Studio 7 y quiero realizar practicas con 89C52 pero al buscar el microcontrolador cuando creo el nuevo proyecto no lo encuentro.

    ResponderEliminar
  4. hola si me pudieras ayudar, descargue Atmel Studio 7 y quiero realizar practicas con 89C52 pero al buscar el microcontrolador cuando creo el nuevo proyecto no lo encuentro.

    ResponderEliminar
  5. Gracias por el tutorial ojala este activo aun

    ResponderEliminar