Software 7-Segment Decoder

Gast #73278
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
Gast #73279
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
Gast #73280
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
Gast #73281
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren