Forum: Mikrocontroller und Digitale Elektronik Software 7-Segment Decoder


von Thomas (Gast)


Lesenswert?

Hallo und Frohe Ostern!

Ich habe vor kurzem mit Assemblerprogrammierung angefangen und versuche
momentan für ein Labornetzteil eine Spannungs- und Stromanzeige auf
7-Segment-LCD-Anzeigen aufzubauen.
Die Strom- und Spannungsanzeige werden gemultiplext.
Der ADC funktioniert bereits bestens, nur habe ich leider gar keinen
Ansatz, wie ich die Daten aus ADCL bzw. ADCH als 7-Segment-Code an die
Ausgänge bringe.
Natürlich könnte ich nen externen BCD-7-Segment-IC verwenden, nur wo
bleibt da die Programmierübung?
Ich werde wohl den ATmega8535 verwenden, derzeit übe ich noch mit dem
AT90S8535.

Ich benötige keinen fertigen Code für die Dekodierung, sondern
lediglich Lösungs- bzw. Denkansätze.

Vielen Dank schonmal,
Thomas

von Dieter B. (Gast)


Lesenswert?

Hallo Thomas

Die Codierung in BCD kann man schön mit Tabellen machen. Dafür mußt du
jedoch erstmal die ADC Werte in einzelne Stellen "zerlegen". Mit den
einzelnen "Stellen" springst du dann in die Tabelle und bekommst den
entsprechenden "BCD Code" für deine Beschaltung zurück.

Hoffe, es kommt einigermaßen rüber, wie ich es meine

MFG
Dieter

von Thomas (Gast)


Lesenswert?

Hallo Dieter,

und um von BCD nach 7-Segment zu kommen, brauche ich dann nochmal eine
Tabelle, oder wie läuft das weiter?
Wie denn genau die Stellen "zerlegen" in 2hochn und dann alle
addieren?

Thomas

von Dieter B. (Gast)


Lesenswert?

Hallo

Nein, mit der Tabelle kannst du dann direkt den 7 Segment Code
bekommen. War etwas ungeschickt ausgedrückt.

z.B. ADC = 371

Dann mußt du ja für die einzelnen Stellen den entsprechenden 7 Segment
Code haben.

Also mußt du doch den ADC Wert in einzelnen Stellen zerlegen. Geht am
einfachsten mit der Subtraktions Methode. Schau mal in die
Codesammlung, da gibt es genug Beispiele.

Wenn du die einzelnen Stellen hast, also Stelle 1 = 3, Stelle 2 = 7 und
Stelle 3 = 1 springst du mit diesen Werten in eine Tabelle und bekommst
so den entsprechen 7 Segment Code.

MFG
Dieter

von Thomas (Gast)


Lesenswert?

Achso, jetzt hab ich verstanden.
Danke, werde das mal ausprobieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.