Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Arbeitsauftrag: Blinkende Leuchtdiode


Port 6 Jetzt kommt der Mikrocontroller zum Einsatz, um eine LED blinken zu lassen. Dazu wird sie mit ihrer Anode (längerer Anschlussdraht) nicht mehr an VIN oder VDD angeschlossen, sondern an einen der Ports des Mikrocontrollers. Die Kathode bleibt an VSS, also an den Minuspol der Batterie, angeschlossen.

Der Mikrocontroller muss dann so programmiert werden, dass der Port abwechselnd ein Potential von 5V und ein Potential von 0V annimmt. Immer wenn das Potential 5V beträgt, wird ein Strom durch die Leuchtdiode fließen; immer wenn es 0V beträgt, existiert keine Potentialdifferenz zwischen Anode und Kathode und es fließt kein Strom.

Wenn ein Port das hohe Potential (5V) hat, sagt man, der Port sei high . Wenn er das niedrige Potential hat (0V), so ist er low.

Das folgende Beispiel zeigt ein Programm, das eine Leuchtdiode blinken lässt, die an Port 6 angeschlossen wurde. Es ist nicht schwer verständlich, wenn ihr die Erläuterungen lest:

Port Es ist eine Besonderheit der BS1, dass jeder der Ports des Mikrocontrollers als Ausgang oder als Eingang für elektrische Signale verwendet werden kann. Hier soll Port 6 als Ausgang fungieren. Die Anweisung OUTPUT 6 sorgt dafür, dass Port 6 ein Ausgang ist. Für jeden der Ports gibt es eine Bit-Variable (kann nur 0 oder 1 speichern), die festlegt, ob der Port high (5V) oder low (0V) ist. Für die acht Ports P0 bis P7 heißen diese Variablen PIN0 bis PIN7. Wenn eine Variable den Wert 1 hat, ist der Port high (5V) und bleibt so, bis sich der Wert der Variablen ändert. Ist der Wert der Variablen 0, ist der Port low (0V). Hier soll Port 6 high werden - also wird der Variable PIN6 der Wert 1 zugewiesen.

 

Warum steht hinter PIN6 ein Gleichheitszeichen und hinter Pause nicht?
PIN6 ist eine Variable, so wie B0, B1 und die anderen auch. Um einen Port high oder low zu schalten, muss man der Variable einen neuen Wert geben. Dazu benötigt man das Gleichheitszeichen, wie wenn man B2=2+5 schreibt.

PAUSE hingegen ist eine Anweisung. Sie kann keinen Wert speichern, man muss ihr aber dennoch sagen, wie lang die Pause sein soll. Das schreibt man ohne Gleichheitszeichen, so wie man bei DEBUG den zu sendenden Text auch ohne Gleichheitszeichen angibt.

SMD?
SMD (surface mounted device) ist eine sehr kompakte Gehäuseform für elektronische Bauelemente, die insbesondere von Robotern sehr schnell auf Platinen aufgelötet werden kann. Für eigene Basteleien sind diese Gehäuse unpraktisch.