Programmierung des Mikrocontrollers mit C



Binärzahlen und Register:

Eine Lampe kann an oder aus sein - also 2 Zustände haben.
Jetzt sag bitte nicht, daß eine Lampe auch halbhell sein kann! Das kann sie natürlich. Aber wir wollen hier digitale Ausgänge und digitale Eingänge erklären und die sind eben entweder HIGH oder LOW. Was in userem Falle bedeutet: sie führen 5V oder 0V.

Also nochmal:
- eine Lampe kann zwei Zustände haben
- zwei Lampen können bereits 4 Zustände haben

Lampe 1
Lampe 2
Zustand
aus
aus
1
aus
ein
2
ein
aus
3
ein
ein
4

- vier Lampen können  16 Zustände haben
- acht Lampen können  256 Zustände haben



Wenn man einem Computer das Zählen beibringen müßte, benutzte man einfach die Vorstellung, daß in einem Draht Strom fließt oder kein Strom fließt. (Ein bischen Strom gilt nicht!)

Wenn wir 4 Drähte benutzen, könnte der Computer von 0 bis 15 zählen (also 16 Zahlen).
Das könnte man so darstellen (Strom fließt = 1 / Strom aus = 0):



1. Draht
2. Draht
3. Draht
4. Draht
Zahl
0
0
0
0
0
0
0
0
1
1
0
0
1
0
2
0
0
1
1
3
0
1
0
0
4
0
1
0
1
5
0
1
1
0
6
0
1
1
1
7
1
0
0
0
8
1
0
0
1
9
1
0
1
0
10
1
0
1
1
11
1
1
0
0
12
1
1
0
1
13
1
1
1
0
14
1
1
1
1
15


Register

Natürlich muß sich der Computer eine Zahl auch merken können. Dazu kann man sie in einen Speicher hineinschreiben (z. B. in ein sogenanntes Register). Ein Register mit 4 Zellen kapiert dann maximal die Zahlen 0 bis 15. Und ein Register mit 8 Zellen versteht Zahlen von 0 bis 255.

Der Mensch benutzt für Zahlen gewöhnlich 10 Ziffern: 0, 1, 2, 3, 4, 5, 6, 7, 8 und 9.
Er benutzt also das Dezimalsystem.
 
Wenn wir gezwungen sind, nur Nullen und Einsen benutzen zu müssen, nehmen wir eben das binäre Zahlensystem.

Eine dezimale 13 wird binär zu 1101. Alles klar?
Eine dezimale 250 wird binär zu 11111010.

Eine dezimale 3 wird binär zu 11, wenn man die führenden Nullen wegläßt.
In einem Register mit 8 Zellen sieht die 3 dann so aus: 00000011.

Diese Umrechnung kann jedes bessere Taschenrechnerprogramm in Deinem Computer (z. B. gcalctool).