Attiny85 – 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

attiny85 Basic LED

attiny85 Basic LED

 

Code

The code was written in Atmel Studio

 

  1. #include <avr/io.h>
  2. #define F_CPU 1000000UL
  3. #include <util/delay.h>
  4. // Define the I/O port to be used for the LED.
  5. #define LED_PORT PB3
  6.  
  7. int main(void) {
  8.  
  9. // Set the LED port number as output.
  10. DDRB |= (1 << LED_PORT);
  11.  
  12. // Start infinite loop.
  13. while (1)
  14. {
  15.  
  16. // Set the LED bit to "1" - LED will be "on".
  17. PORTB |= (1 << LED_PORT);
  18. // The delay function simply does N-number of "empty" loops.
  19. _delay_ms(200);
  20. // Set the LED bit to "0" - LED will be "off".
  21. PORTB &= ~(1 << LED_PORT);
  22. _delay_ms(400);
  23. }
  24.  
  25. return (0);
  26. }

 

And another way to do the same task

 

  1. #include <avr/io.h>
  2. #define F_CPU 1000000UL
  3. #include <util/delay.h>
  4.  
  5. // Define the I/O port to be used for the LED.
  6. #define LED_PORT PB3
  7.  
  8. int main(void) {
  9.  
  10. // Set the LED port number as output.
  11. DDRB |= (1 << LED_PORT);
  12.  
  13. // Start infinite loop.
  14. while (1)
  15. {
  16.  
  17. // Set the LED bit to "1" - LED will be "on".
  18. PORTB |= (1 << LED_PORT);
  19. // The delay function simply does N-number of "empty" loops.
  20. _delay_ms(200);
  21. // Set the LED bit to "0" - LED will be "off".
  22. PORTB &= ~(1 << LED_PORT);
  23. _delay_ms(400);
  24. }
  25.  
  26. return (0);
  27. }

Links

 

Free shipping 10PCS ATTINY85

Be Sociable, Share!