LEDs schalten mit PORT/DDR



Seite als PDF

Die LEDs sol­len als Lauf­licht und in ver­schie­de­nen Kom­bi­na­ti­on leuch­ten:

  • Lauf­licht hin und zurück
  • alle LEDs
  • die LEDs 7 5 3
  • die bei­den inne­ren LEDs
  • die bei­den äuße­ren LEDs
  • alle außer den äuße­ren LEDs
  • nur die mitt­le­re

So sieht es aus:

Die digi­ta­len und die ana­lo­gen Pins des Ardui­nos sind in drei Grup­pen auf­ge­teilt:

Funk­tio­nen wie digi­tal­Wri­te() und digi­tal­Read() sind rela­tiv lang­sam in der Aus­füh­rung und manch­mal wer­den Pro­gram­me mit vie­len Ein- oder Aus­gän­gen kom­plex und schwer überschaubar.Deshalb ist es oft über­sicht­li­cher die Pins mit­hil­fe der Ports zu defi­nie­ren und zu schal­ten.

Es exis­tie­ren drei soge­nann­te Regis­ter:

Regis­terFunk­ti­on
DDR(D,B,C)Pins als INPUT = 0 oder als OUTPUT = 1 defi­nie­ren
PORT(D,B,C) Pins als HIGH = 1 oder als LOW = 0 fest­le­gen
PIN(D,B,C)gibt den Zustand der Pins an, die im DDR-Regis­ter auf Input gesetzt wur­den

Das Regis­ter wird jeweils mit dem Namen des Ports (D, B oder C) ergänzt.
Beim Zugriff auf die Ports wird jeweils ein Bit gesetzt. Sein Wert ist ent­we­der 1 = an, oder 0 = aus

Bei­spie­le:

Digi­ta­le Pins 7, 6, 5, 4 und 3 als OUTPUT set­zen

DDRD = B11111000;

Digi­ta­le Pins 7, 6, 5, 4 und 3 auf HIGH set­zen:

PORTD = B11111000;

Tas­ter an Pin 11 als INPUT set­zen

DDRB = B00001000;

Pin 11 auf HIGH set­zen

PORTB = B00001000;

Ein­zel­ne Bits wer­den mit den Ope­ra­to­ren << eine Posi­ti­on nach links und >> eine Posi­ti­on nach rechts ver­scho­ben.

Nach rechts schie­ben:

PORTD = PORTD >> 1;

PORTD = PORTD >> 1;

PORTD = PORTD >> 1;

PORTD = PORTD >> 1;

PORTD = PORTD >> 1;

Nach links schie­ben:

PORTD = PORTD << 1;

PORTD = PORTD << 1;

PORTD = PORTD << 1;

PORTD = PORTD << 1;

PORTD = PORTD << 1;

Bit­ma­ni­pu­la­ti­on

Der Para­me­ter ~ kehrt den Wert eines Bits um:

// LEDs an den Pins 7 5 3 leuch­ten
PORTD = B10101000;

// Wer­te umkeh­ren, aus 0 wird 1 und aus 1 wird 0
PORTD = ~PORTD;
// PORTD hat jetzt den Wert B01010111
// -> Die LEDs an den Pins 6 4 leuch­ten (Pins 2 bis 0 sind nicht belegt)

Benö­tig­te Bau­tei­le:

  • 5 LEDs
  • 3 Wider­stän­de 220 Ω (gel­be, rote und grü­ne LED)
  • 2 Wider­stän­de 100 Ω (blaue und wei­ße LED)
  • Lei­tungs­dräh­te

Beach­te die ⇒Vor­wi­der­stän­de ver­schie­de­ner LEDs

Baue die Schal­tung auf:
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Das Pro­gramm:


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ähnliche Projekte


Letzte Aktualisierung: Jan. 2, 2026 @ 10:10