Home AVRAVR Code Attiny85 beginner example – Flash an LED

Attiny85 beginner example – Flash an LED

by iainhendry71

The hello world of examples this time for an ATTINY85, although this should work with similar chips as well. We will connect the LED to pin 2 (PB3) and simply flash it on and off.

Here is our schematic

Schematic

attiny85 Basic LED

Code

The code was written in Atmel Studio

#include <avr/io.h>
#define F_CPU 1000000UL
#include &lt;util/delay.h&gt;

// Define the I/O port to be used for the LED.
#define LED_PORT PB3

int main(void) {

// Set the LED port number as output.
DDRB |= (1 &lt;&lt; LED_PORT);

// Start infinite loop.
while (1)
{

// Set the LED bit to "1" - LED will be "on".
PORTB |= (1 &lt;&lt; LED_PORT);
// The delay function simply does N-number of "empty" loops.
_delay_ms(200);
// Set the LED bit to "0" - LED will be "off".
PORTB &amp;= ~(1 &lt;&lt; LED_PORT);
_delay_ms(400);
}

return (0);
}

And another way

#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>

// Define the I/O port to be used for the LED.
#define LED_PORT PB3

int main(void) {

 // Set the LED port number as output.
 DDRB |= (1 << LED_PORT);

 // Start infinite loop.
 while (1)
 {

 // Set the LED bit to "1" - LED will be "on".
 PORTB |= (1 << LED_PORT);
 // The delay function simply does N-number of "empty" loops.
 _delay_ms(200);
 // Set the LED bit to "0" - LED will be "off".
 PORTB &= ~(1 << LED_PORT);
 _delay_ms(400);
 }

 return (0);
}

You may also like