// Code modified from Charles Holbrow website, How to Make (Almost) Anything, 2013. #include #define bit_get(byte,mask) ((byte) & (mask)) #define bit_set(byte,mask) ((byte) |= (mask)) #define bit_clear(byte,mask) ((byte) &= ~(mask)) #define BIT(x) (1 << (x)) // Button PA5 (pin 8). // LED PB2 (pin 5). int main() { bit_set(PORTA,BIT(5)); // Turn button pull up resistor on by setting PA5(input) high bit_set(DDRB,BIT(2)); // Enable output on the LED pin (PB2) while (1) { if(bit_get(PINA,BIT(5))) // Button is up, turn off bit_clear(PORTB,BIT(2)); else // Button is down, turn on bit_set(PORTB,BIT(2)); } }