hacdc-wiki/Old Pages/Electronics/Avr2011_LED_Demo.c.md
2024-07-07 13:53:31 -04:00

1.3 KiB
Executable File

Cut and paste the following into a file called LED_Demo.c

/* Blinker Demo */

#include <avr/io.h>     /* Defines pins, ports, etc */
#define F_CPU 8000000UL         /* Sets up the chip speed for delay.h */
#include <util/delay.h>     /* Functions to waste time */

#define LED  PB0        /* Defines pin PB0 for the LED.  I
                 often include a bunch of the circuit
                 info in the code this way, which
                 makes porting the code to another
                 chip easier and reminds you of how to
                 hook it up. */

void main(void){

  DDRB = _BV(LED);            /* Data Direction Register B:
                       writing a one to the bit
                       enables output.  More on the
                       _BV() macro in the next
                       lesson. */

  while(1){         /* the main loop, from which we never return */

    PORTB = _BV(LED);       /* Turn on the LED bit/pin in PORTB */
    _delay_ms(400);     /* wait */

    PORTB = 0;             /* Turn off everything(!) on PORTB */
   _delay_ms(400);      /* wait */

  }
}

Category:Microcontrollers