//Zwei Lampen leuchten lassen und mit einem Taster zurück setzten.
void setup () {
DDRD|= (1<<0); // Lampe Betriebsbereit
DDRD|= (1<<1); // Lampe ROT
DDRD|= (1<<2); // Lmape GELB
DDRB&=~ (1<<0); // Schalter Rot
DDRB&=~ (1<<1); // Schalter Gelb
DDRB&=~ (1<<2); // Schalter Aus
}
int main (){
setup();
int x=0;
while(1){
if(PINB&(1<<0)) {x=1;} // Wenn Schalter Rot betätigt wird
if(PINB&(1<<1)) {x=2;} // Wenn Schalter Gelb betätigt wird
if(PINB&(1<<2)) {x=3;} // Wenn Schalter Grün betätigt wird
switch(x) {
case 1: // Rote Lampe Leuchten
_delay_ms(150);
PORTD |=(1<<1);
break;
case 2: // Gelbe Lampe Leuchten
_delay_ms(150);
PORTD |=(1<<2);
break;
case 3: // Lampen ausschalten
_delay_ms(150);
PORTD &=~(1<<1);
PORTD &=~(1<<2);
break;
default: // Weiße Lampe dauerhaft leuchten
PORTD |= (1<<0);
break;
}
}
}