Variabler Wert am Display

Gast #26176
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
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
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
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.
Gast #26180
Man könnte aber auch das Offset für Ascii (=$30 oder 48 dez.) einfach 
zum Registerwert hinzuaddieren. Eine Tabelle und ein Vergleich ist 
absolut unnötig.
Gast #26181
@ thkaiser:

das ist mir gestern Abend dann auch noch eingefallen, als ich mir die 
ASCII tabelle mal genauer angesehen habe;
und es funktioniert auch.

Trotz dem danke ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.