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
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.