Forum: Mikrocontroller und Digitale Elektronik Assembler: Brauche Hilfe bei 7-Segment Anzeige


von Stephan W. (stipo)


Lesenswert?

Hallo zusammen,

ich bräuchte mal einen Tip / Stichworte, wie ich folgendes lösen kann.

Im Tutorial "AVR-Tutorial: Uhr" wird in dem Beispiel zu dem CTC Timer ja 
die Stunden, Minuten und Sekunden in Registern gespeichert (hab ich 
geändert, das es direkt im RAM landet).
Da ich die Zahl die darin gespeichert ist, aber über 7-Segment Anzeigen 
ausgeben möchte und ich dann natürlich die Zehner- und Einer-Stellen 
getrennt behandeln muss, bin ich gerade Ratlos, wie ich das aus dem Wert 
(zb. Stunde:22) getrennt bekomme in 2 Register, dass ich dann über 2 
Anzeigen ausgeben kann.

Hoffe, das ich es verständlich erklärt habe.

Wie gesagt, ein paar Tips sind Hilfreich. Erwarte keine fertige lösung. 
Lösen möchte ich das gefälligst selbst.
Erst wenn ich beim besten willen nicht weiter komme, und schon keine 
Haare mehr auf dem Kopf habe, funke ich dann wieder SOS. ( Haare sind 
aber reichlich vorhanden :) )

MFG
Stephan

von R. F. (rfr)


Lesenswert?

Zunächst muss von einer zahl 10 abgezogen werden, bis der verbleibende 
Rest kleiner ist als Zehn. Ein anderes Register wird , von Null 
ausgehend, für jeden Abzug invrementiert. Dann hat man ein die Zehner 
enthaltendes Register und ein die Einer.

Die Umwandlung in 7S erflgt am einfachsten per tabelle.

Gruss

Robert

von Stephan W. (stipo)


Lesenswert?

Hallo,

R. Freitag schrieb:
> Zunächst muss von einer zahl 10 abgezogen werden, bis der verbleibende
> Rest kleiner ist als Zehn. Ein anderes Register wird , von Null
> ausgehend, für jeden Abzug invrementiert. Dann hat man ein die Zehner
> enthaltendes Register und ein die Einer.
Okay. Soweit hab ich das verstanden. Das ist in genau der Form auch im 
Tutorial zu dem Multiplexen ja enthalten.

> Die Umwandlung in 7S erflgt am einfachsten per tabelle.
Auch das ist klar. Eine einzelne Anzeige hab ich schon erfolgreich mit 
eigenen Werten gefüttert.


Das ganze "temp 123" in den Tutorial ist schon echt schwer zu lesen.
Dadurch wird es extrem schwer, den Code nachzuvollziehen.

Ich habe gerade eben erst entdeckt, wo bei dem Multiplex Beispiel die 
Zahl übergeben wird, die dann bis 9999 gezählt wird.

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.