mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Software 7-Segment Decoder


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dieter B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dieter B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, jetzt hab ich verstanden.
Danke, werde das mal ausprobieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.