Solange Taster 1 gedrückt wird, geht LED1 an, wenn Taster 2 gedrückt wird, solange LED2 an, solange beide Taster gedrückt werden, gehen beide LEDs an.
#include <avr/io.h> /* Header-Datei einbinden. In io.h sind die Registernamen definiert, die im späteren Verlauf genutzt werden. */
int main (void) { // Hier beginnt das eigentliche Programm. Jedes C-Programm beginnt mit den Anweisungen in der Funktion main.
DDRD = 0x60; // Definieren von I/O
PORTD = 0x00; // Keinen Strom an die Ausgänge legen
while (1) { // Endlosschleife
if (PIND & (1<<PIND3)) { // Beide Taster gedrückt
PORTD = 0x60; // Beide LEDs anmachen
}
else if (PIND & (1<<PIND2)) { // Taster 1 gedrückt
PORTD = 0x20; // LED1
}
else if (PIND & (1<<PIND4)) { // Taster 2 gedrückt
PORTD = 0x40; // LED2
}
else {
PORTD = 0x00;
}
}
// wird nie erreicht, da sonst nach Programmende der Zustand des Controllers undefiniert wäre.
return 0;
}