Attiny85 beginner example – Flash an LED

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

Code

The code was written in Atmel Studio

[cpp]
#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);
}
[/cpp]

And another way

[cpp]
#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);
}
[/cpp]

Related posts

ATmega128 and MAX7219 8 x 8 matrix

Atmega128 and a 7 segment display

Atmega16 and MAX7219 seven segment display