Variabler Wert am Display

Gast #26176
Lesenswert?

Hallo Leute,

ich habe ein mehr oder weniger kleines problem:
Ich möchte einen variablen Wert am Display ausgeben,
der aus einem Timer/Counter stammt. Die einzelen Stellen konnte ich 
schon 'rausfiltern'. Wenn zum beispiel das T/C register einen Wert von 
125 hat, so konnte ich schon die 1 als hunderter-, die 2 als zehner- und 
die 5 als einerstelle jeweils einzeln in ein register befördern.

Ich habe schon eine Idee wie ich's machen könnte, aber das wäre zimlich 
programmier aufwand, bezogen auf die länge des Quellcodes.

Danke schonmal im voraus
Gast #26177
Lesenswert?

falls du (wie ich annehme) auf einer Siebensegmentanzeige darstellen 
willst, gibt es mehrere Wege.
1. Je Stelle einen BCD/Siebensegmentdekoder mit Speicher benutzen, 
einfach anzusteuern, braucht 3 ICs, 21 Widerstände und 7 Portleitungen 
am MC.
2. Serielle Ausgabe mit Schieberegistern, auch 3 ICs (74HCT4094), 21 
Widerstände, nur 3 Portleitungen, etwas höherer Softwareaufwand.
3. die "MC-Standardlösung": Multiplexansteuerung, benötigt nur 7 
Widerstände und 3 Transistoren.
Wenn du keinen externen Dekoder verwendest, mußt du die Codewandlung im 
MC (mit Tabelle) machen.
#26178
Lesenswert?

Laß Dir doch nicht alles aus der Nase ziehen:

Was für ein Display ?
Welche Idee hast Du denn ?
Was ist bei Dir langer Quellcode ?

Stellen rausfiltern klingt ja komisch. Das nennt man 
Zahlenformatwandlung, z.B. Binär nach Dezimal.
Gebräuchliche Methoden sind:
1. Divisionsmethode
2. Subtraktionsmethode
3. Packet-BCD Additionsmethode
Welche hast Du denn verwendet ?


Peter
Gast #26179
Lesenswert?

Ich möchte das auf einem LC-Display ausgeben.

Meine Idee:
Jeden Registerwert (0-9), der dann im jeweiligen register steht 
(hunderter-,zehner- und einerstelle)mit einer vergleichs-operation mit 
dem jeweiligen Dezimalwert (0-9) zu vergleichen. Stimmt der Vergleich 
überein, so ist dann da der jeweilige ASCII Code für die jeweilige zahl 
hinterlegt. Und den kann ich dann an's LCD senden.

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