Grüß euch!
Heute habe ich 2x 7-Segmentanzeigen bekommen (Type Kingbright
SA08-11GWA)
Ich versuche schon die ganze Zeit diese zwei mit meinem Atmega 32
anzusteuern via der Multiplexmethode.
Mein Zielprojekt zurzeit ist ein einfacher Zähler der bis 99 geht und
wieder automatisch bei 0 beginnt.
Leider verstehe ich nicht ganz wie das ganze abläuft!
Die Segmente A-G + DP liegen auf PD0-PD7 und die zwei Basen von den
Transistoren auf A0 und A1.
So ich weiß,dass ich mir leichter tue indem ich die Zahlen 0-9 einmal
festlege dies geschieht mit :
1 |
|
2 | const int8_t numbers [10] = {01000000, 01111001, 00100100, 00110000, 00011001, 000010010, 00000010, 01111000, 00000000, 00010000};
|
Folgende Punkte sind unklar:
*Wie sieht es mit der Steuerung von den Transistoren aus?
Da ja die Einerstelle einen braucht aber auch die Zehnerstelle,
stimmt somit meine Überlegung:
1 | if (Variable<10)
|
2 | {
|
3 | Transistor von Einerstelle durchschalten;
|
4 | }
|
5 |
|
6 | if (Variable ==10)
|
7 | {
|
8 | Beide Transistoren durchschalten;
|
9 | }
|
?
*Wie werden Zahlen wie z.B. 34 angezeigt bzw. wie lässt es sich leicht
realisieren, von z.b. 39 auf 40 zu kommen, da sich ja hier die
Zehnerstelle und die Einerstelle ändert!
*Die Zahlen werden mit numbers[10] festgelegt, bedeutet dies, wenn ich
schreibe(Transistoren sind durchgeschaltet) PORT=numbers[1](=die Zahl
0), dass diese dann auch angezeigt wird?
Danke im Vorraus