AtmelStudio y Attiny – ecTiny841 (2-programacion)

Como hacer un programa para Attiny con Atmel Studio no es tan complicado como pudiera parecer, es lo que tiene haber trabajado con PICs durante tantísimos años.

Esta es una actualización de la “guia-burro” que me hice cuando aprendí, en este caso basandonos en este circuito con ecTiny841.

IMG_20150314_201702

Microcontrolador: Attiny841 (oscilador interno)
Pines A0,A1,A2,A3 – leds
Pin A7 – pulsador.
Alimentacion: 3.3V


 

Abrimos Atmel Studio
AtmelStudio62

Creamos un nuevo proyecto.
AtmelStudio62_01

Elegimos el tipo de proyecto, le damos nombre y carpeta donde guardarlo.
AtmelStudio62_02

Ahora elegimos microcontrolador.
AtmelStudio62_03

Ya tenemos un programa en blanco.
AtmelStudio62_04

En el que sustituiremos todo el código fuente por este otro:


 

#include <avr/io.h>
#define F_CPU 8000000UL            //clock frequency
#include <util/delay.h>

int main(void)
{
//A0-A5 salida A6 y A7 entrada
DDRA = 0b00111111;

while(1)
{
if (bit_is_clear(PINA,7)) // mientras PINA7 a nivel bajo
{ PORTA = 0b00000000; } // apago todo
else
{  // secuencia “coche fantastico”
PORTA = 0b00000001;
_delay_ms(150);
PORTA = 0b00000010;
_delay_ms(150);
PORTA = 0b00000100;
_delay_ms(150);
PORTA = 0b00001000;
_delay_ms(150);
PORTA = 0b00000100;
_delay_ms(150);
PORTA = 0b00000010;
_delay_ms(150);
}
}
}


 

Una vez pegado, compilamos (Built Solution) y revisamos la sección “output” para verificar que la compilación ha sido correcta.
AtmelStudio62_05

En este momento ya tenemos un fichero .HEX ubicado en la carpeta donde creamos el programa (ver primeros pasos de este tutorial)  que podemos grabar en el microcontrolador, para grabarlo existen diversas opciones ya sea por que tengamos un grabador integrado con el IDE de AtmelStudio o si por el contrario tenemos un grabador externo, como ejemplo:

– Externo: Grabación con AVRDudeSS y ArduinoISP.
– Integrado: Grabación con MKII y AtmelStudio.