-
-
Erfahrener Benutzer
Roboter Genie
Hallo Martin,
wichtig ist zunächst mal, ob der Mega8 noch andere Sachen machen soll oder ob du 14 Pins für die 2 7-Segment Anzeigen frei hast.
Wenn ja, kannst du einen Anschluss der Anzeige direkt von einem Pin des µC treiben lassen. Da muss dann nur noch ein Vorwiderstand dazwischen, um den Strom auf 20mA zu begrenzen.
Dann ist es am einfachsten, wenn du eine Anzeige auf einen kompletten Port legen kannst. Dass geht beim Mega8 mit PortB und PortD. Bei PortB kannst du dann aber keinen Quarz anschließen. Ist bei deinem bisherigen Programm auch unnötig.
Die Anzeigen haben eine gemeinsame Anode oder Kathode, die an VCC bzw. GND kommt.
Die Segmentanschlüsse legst du dann z.B. so
Seg A -> PortB.0
Seg B -> PortB.1
Seg C -> PortB.2
Seg D -> PortB.3
Seg E -> PortB.4
Seg F -> PortB.5
Seg G -> PortB.6
.A.
F B
.G.
E C
.D.
Entsprechend für die zweite Stelle.
Dann speicherst du dir in einem Feld zu den Ziffern 0-9 die entsprechenden Werte ab. Bei gemeinsamer Kathode (dann müssen die Segmente auf 1 um an zu sein) also z.B.
PortB = &B0000_0110 '1
PortB = &B0110_0110 '4
Die Zahlen von 0-99 zerlegst du in die Ziffern z.B. mit
Zehner = Ad / 10
Einer = Ad Mod 10
und gibst dann die Feldwerte für die beiden Stellen aus.
Klar?
Edit: Ich habe die Segmente mal so abgeändert, wie Jaecko meinte. Passt dann auch zu Ches Programm.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen