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.
Microcontrolador: Attiny841 (oscilador interno)
Pines A0,A1,A2,A3 – leds
Pin A7 – pulsador.
Alimentacion: 3.3V
Elegimos el tipo de proyecto, le damos nombre y carpeta donde guardarlo.
Ahora elegimos microcontrolador.
Ya tenemos un programa en blanco.
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.
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.