Dancing LED

Printer-friendly versionPDF version

Dancing LED from Priyank Bolia on Vimeo.

#include <avr/io.h>
#include <util/delay.h>

#define LED PINA0

int main()
{
  DDRA = 0xff;
  while(1)
  {
    PORTA|=(1<<LED);
    _delay_ms(120);

    PORTA&=~(1<<LED);
    _delay_ms(150);

    PORTA|=(2<<LED);
    _delay_ms(120);

    PORTA&=~(2<<LED);
    _delay_ms(150);

    PORTA|=(4<<LED);
    _delay_ms(120);

    PORTA&=~(4<<LED);
    _delay_ms(150);

    PORTA|=(0x10<<LED);
    _delay_ms(120);

    PORTA&=~(0x10<<LED);
    _delay_ms(150);

    PORTA|=(0x20<<LED);
    _delay_ms(120);

    PORTA&=~(0x20<<LED);
    _delay_ms(150);

    PORTA|=(0x40<<LED);
    _delay_ms(120);

    PORTA&=~(0x40<<LED);
    _delay_ms(150);

    PORTA|=(0x80<<LED);
    _delay_ms(120);

    PORTA&=~(0x80<<LED);
    _delay_ms(150);

    PORTA|=(0x40<<LED);
    _delay_ms(120);

    PORTA&=~(0x40<<LED);
    _delay_ms(150);

    PORTA|=(0x20<<LED);
    _delay_ms(120);

    PORTA&=~(0x20<<LED);
    _delay_ms(150);

    PORTA|=(0x10<<LED);
    _delay_ms(120);

    PORTA&=~(0x10<<LED);
    _delay_ms(150);

    PORTA|=(4<<LED);
    _delay_ms(120);

    PORTA&=~(4<<LED);
    _delay_ms(150);

    PORTA|=(2<<LED);
    _delay_ms(120);

    PORTA&=~(2<<LED);
    _delay_ms(150);
  }
}

No votes yet