Code:
if ( PINB & (1<<PINB4) ) // Wenn B4 == 1 dann ... PINB4 durch PB4 ersetzen
{
PORTD = 0x17; //D0,D1,D2,D4 gesetzt
}
if ( PINB & (1<<PINB3) ) // Wenn B3 == 1 dann ... siehe oben
{
PORTD = 0x19; //D0,D1,D4 gesetzt
}
if (!(PINB & (1<<PINB0)) ) // Wenn B0 == 0 dann ...
{
PORTD = 0x11; //Standard: D0,D4 gesetzt
}
ansonsten siehts gut aus ... was verstehste denn nicht ?
die pins an sich sind mit P(Port)(Nummer) kodiert ... 1<<Pxn verschiebt eine einzelne 1 an die gewünscht position N im register X .... du musst den errrechneten wert natürlich dem PORTx zuweisen damit es wirkt bei PINx ist es genau andersherum due erzeugst die maske mit 1<<Pxn und als ergebnis bekommst du 0 wenn das bit 0 ist oder irgendwas > 0 wenn das bit gesetzt ist.
Lesezeichen