/* led_on_off_01.c ATmega88 @ 1MHz */ #include <avr/io.h> #include <util/delay.h> #define button_down !(PIND & (1<<PIND2)) // Taster = low #define led_toggle PORTB ^= (1<<PB0) // PB0 toggle int main(void) { DDRB = 0xFF; // PORTB = Ausgang DDRD = ~(1<<PIND2); // PORTD PIN0 = Eingang while(1) { if (button_down) // Wenn Taster gedrückt ist { _delay_ms(20); // Prellzeit nach Tastendruck abwarten if (!button_down) // Wenn Taster losgelassen ist { led_toggle; // LED ON/OFF _delay_ms(20); // Prellzeit nach dem Loslassen des Tasters abwarten } } } }