|
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".
|