Gegenseitige Auslösung



Stell Dir doch mal ein Autoradio vor. So eins mit Senderspeichern.

Wenn Du auf den ersten Senderspeicherknopf drückst, kommt Dein Lieblingsmusiksender. Und wenn Du auf den zweiten Senderspeicherknopf drückst, kommt Dein Lieblings-Nachrichtensender, wobei der Musiksender natürlich aus geht. Wenn Du auf den dritten Senderspeicherknopf usw.

Wir machen's mal mit LEDs. Wenn Du einen der drei Taster S0..S2 betätigst, geht die dazugehörige LED an.
Drückst Du dann einen anderen Taster, geht "seine" LED an und die vorherige aus. Und so weiter.



Du kannst unser Experimentierboard benutzen oder eine Schaltung aufbauen mit Tasten an PD0, PD1, PD2 und LEDs an PB5, PB6, PB7.



Schau Dir den entscheidenden Teil des Codes an:


while(1){
        if (bit_is_clear(PIND,0)) {led1on; led2off; led3off;}
        if (bit_is_clear(PIND,1)) {led1off; led2on; led3off;}
        if (bit_is_clear(PIND,2)) {led1off; led2off; led3on;}
    }
   

Hier gibt es den Quelltext-Ordner.



Anmerkungen:

  • Wenn diese Schaltung mit genau zwei Kanälen arbeitet, nennt man sie "Flip Flop".