Forum: Mikrocontroller und Digitale Elektronik Binär zu BCD / Binär zu 7 Segment Converter.


von Niklas B. (Gast)


Lesenswert?

Hallo Zusammen,
Ich habe mich in letzter Zeit etwas mit TTL Elektronik beschäftigt und 
habe vor mir einen kleinen Taschenrechner zu bauen. Verschaltung 
Addierer, Subtrahierer etc. ist kein Ding und lässt sich (Vermutlich 
etwas ungewohnt) in Minecraft auch perfekt testen. Nun möchte ich das 
Ganze ja auch für jeden lesbar ausgeben also mit 7 Segmentanzeigen. Nun 
habe ich das Problem, dass ich keinen Baustein finde um das Ergebniss 
von Binär zu dem jeweils 4-stelligen BCD-Code zu konvertieren. Da mein 
Ergebniss natürlich größer als 9 wird, ist das ganze nötig. Die 
Verschaltung von Logikgattern zu einem solchen Converter ist echt 
aufwendig und braucht viele Gatter(Für mich keine Option). Meine Frage 
ist nun, ob es da entsprechende Bausteine gibt (evtl. auch mit TTL 
kompatiebel wie z.b. glaube ich Cmos), welche größere Zahlen umwandeln 
können oder ob man dann doch etwas wie einen M. Controller braucht.

MfG
Niklas

von Jörg R. (solar77)


Lesenswert?

Niklas B. schrieb:
> Verschaltung
> Addierer, Subtrahierer etc. ist kein Ding und lässt sich (Vermutlich
> etwas ungewohnt) in Minecraft auch perfekt testen.

Was an Schaltung hast Du denn schon?

Wieviele Stellen sollen es werden? Wieviel Aufwand darf es werden?

Ich bin mir nicht sicher ob Du ahnst was Du dir da vorgenommen hast?

Ein kleiner uC in Verbindung mit einem MAX7219 würde den Aufwand 
drastisch reduzieren.

Und für die Älteren unter uns fällt mir noch der ICM7218 ein. Benötigt 
aber auch einen uC.

Um mal einen Chip für den Anfang zu nennen:

CD4511 bzw. 74HC4511

...und noch ein Link:

https://www.cmos4000.de/funktionen/decoder.html

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Einzel Dekoder 4bit -> "0..F" sind leicht zu finden.

Einen 12bit -> "0..4095" und umgekehrt Dekoder mit erträglichem Aufwand 
gibt es z.B. hier:

https://www.edn.com/design/systems-design/4369038/Conversion-circuit-handles-binary-or-BCD

von Christoph Z. (rayelec)


Lesenswert?

Sowas gab es schon in grauer Urzeit:
http://www.utm.edu/staff/leeb/DM74185.pdf

Das sind aber entsprechend programmierte PROMs - ein anderer Name dafür 
wäre Heizung mit 256 Bit Speicher ;-)
Man kann sowas natürlich heute noch mit einem Speicher machen, wenn man 
z.B. noch die Möglichkeit hat, alte EPROMs à la 2716 zu beschreiben.

von Dieter W. (dds5)


Lesenswert?

Mit drei 64k x 8 EPROMs kann man 16 Bit zu 5 BCD-Stellen (0..65535) 
dekodieren.

von Michael B. (laberkopp)


Lesenswert?

Niklas B. schrieb:
> Nun
> habe ich das Problem, dass ich keinen Baustein finde um das Ergebniss
> von Binär zu dem jeweils 4-stelligen BCD-Code zu konvertieren.

In Minecraft ?

Der 74185 kann BIN->BDC, aber für die Stellen eines Taschenrechners, 8 
oder 10, wird das eine aufwändige Schaltung, siehe Datenblatt Figure 8
http://www.utm.edu/staff/leeb/DM74185.pdf für 16 bit in 5 Stellen und 
die Entwicklung bis dahin.

Daher macht man es seriell: Jeweils eine Stelle aus der Binärzahl 
extrahieren, wenn dein Taschenrechner rechnen kann, kanner ja auch /10 
rechnen und den Rest bilden.

Oder sogar bitweise seriell, das geht in Minecraft vielleicht einfacher.

In der Praxis baut man Taschenrechner mit einem Mikrocontroller oder 
gleich als App auf Android/Windows.

Beitrag "Taschenrechner: ATmega1284p - 15x 7-Segmentdisplay"

von npn (Gast)


Lesenswert?

Niklas B. schrieb:
> Verschaltung
> Addierer, Subtrahierer etc. ist kein Ding und lässt sich (Vermutlich
> etwas ungewohnt) in Minecraft auch perfekt testen.
                      ---------

https://de.wikipedia.org/wiki/Minecraft

???

von Klaus (Gast)


Lesenswert?

Niklas B. schrieb:
> dass ich keinen Baustein finde um das Ergebniss
> von Binär zu dem jeweils 4-stelligen BCD-Code zu konvertieren.

Nicht binär sondern BCD rechnen? Was man da an nutzbaren Gattern 
verschenkt, holt man tausendfach bei der Ein- und Ausgabe wieder rein.

MfG Klaus

von Percy N. (vox_bovi)


Lesenswert?

Vor Jahrzehnten gab es in der Funkschau einen Mehrteiler über der Bau 
eines Vier-Spezies-Tischrechners mit TTLs.
Das Ding war ziemlich aufwendig und verblüffend langsam, insbesondere 
bei Divisionen.

Nein, einfach wird das sicherlich nicht!

von Daniel S. (supernova01)


Lesenswert?

Minecraft? ist das nicht ein spiel?

>>natürlich größer als 9 wird

?? warum ist das natürlich? kannst doch auch 2 + 3 rechnen, ist nicht 
größer 9!

oder 1+5 oder 6+2 um nur mal Beispiele zu nennen...

DS

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wie Klaus sagte: gleich in BCD rechnen.

Hier etwas Theorie:
http://www.6502.org/users/dieter/bcd/bcd_0.htm
http://www.6502.org/users/dieter/bcd2/bcd2_0.htm

von Daniel S. (supernova01)


Lesenswert?

:_)
wenn dann richtig:

http://mycpu.selfhost.it/

von malsehen (Gast)


Lesenswert?

Immer wieder die selbe Frage:
Wie kann ich einen CPU bauen, mit bc-gerade/bc-ungerade
Was ist ein Multiplexer?
Wie baue ich ein Netzteil mit 12x2n3055?
Ach!

von Niklas B. (Gast)


Lesenswert?

Im Grunde ist die verstaltung zum Rechnen an sich nicht schwer. Division 
lasse ich vorerst weg und gucke ob der Rest geht. Stellen zur Ausgabe 
auch erstmal 5. Wie gesagt gucken ob es geht und dann erweitern. Danke 
auf jeden Fall für die Tipps :)

LG Niklas

Ps Wäre es nicht etwas schwer, wäre es langweilig. Es geht nicht nur um 
den Nutzen sondern auch den Reiz und die Herausforderung.

von Niklas B. (Gast)


Lesenswert?

Michael B. schrieb:
> Niklas B. schrieb:
> Nun
> habe ich das Problem, dass ich keinen Baustein finde um das Ergebniss
> von Binär zu dem jeweils 4-stelligen BCD-Code zu konvertieren.
>
> In Minecraft ?
>
> Der 74185 kann BIN->BDC, aber für die Stellen eines Taschenrechners, 8
> oder 10, wird das eine aufwändige Schaltung, siehe Datenblatt Figure 8
> http://www.utm.edu/staff/leeb/DM74185.pdf für 16 bit in 5 Stellen und
> die Entwicklung bis dahin.
>
> Daher macht man es seriell: Jeweils eine Stelle aus der Binärzahl
> extrahieren, wenn dein Taschenrechner rechnen kann, kanner ja auch /10
> rechnen und den Rest bilden.
>
> Oder sogar bitweise seriell, das geht in Minecraft vielleicht einfacher.
>
> In der Praxis baut man Taschenrechner mit einem Mikrocontroller oder
> gleich als App auf Android/Windows.
>
> Beitrag "Taschenrechner: ATmega1284p - 15x 7-Segmentdisplay"

Mit Minecraft meine ich das Spiel. Hab ich nur erwähnt, weil man da 
Logikzeugs allgemein sehr gut testen kann - eben eine Testumgebung. 
Außerdem nix da App^^ Ich möchte es schon mit TTL und ein wenig anderen 
Elektrobauteilen machen. Wo bleibt denn sonst der Spaß? Erstmal danke 
für die Tipps und ich werde mich durcharbeiten.

LG Niklas

von Niklas B. (Gast)


Lesenswert?

Klaus schrieb:
> Niklas B. schrieb:
> dass ich keinen Baustein finde um das Ergebniss
> von Binär zu dem jeweils 4-stelligen BCD-Code zu konvertieren.
>
> Nicht binär sondern BCD rechnen? Was man da an nutzbaren Gattern
> verschenkt, holt man tausendfach bei der Ein- und Ausgabe wieder rein.
>
> MfG Klaus

Okay da hab ich noch kein Bischen drann gedacht. Ich werde es mal 
versuchen und wenn es mir zusagt, mache ich es so.
Danke!

LG
Niklas

von Niklas B. (Gast)


Lesenswert?

Percy N. schrieb:
> Vor Jahrzehnten gab es in der Funkschau einen Mehrteiler über der
> Bau eines Vier-Spezies-Tischrechners mit TTLs.
> Das Ding war ziemlich aufwendig und verblüffend langsam, insbesondere
> bei Divisionen.
>
> Nein, einfach wird das sicherlich nicht!

Warum leicht, wenn es auch schwer geht? Ich könnte ja in den Laden gehen 
und einen TRechner kaufen. Das möchte ich aber nicht. Deshalb ja so 
"umständlich" ;) Das mit der Funkschau such ich mal. Klingt interessant. 
Danke

LG
Niklas

von Niklas B. (Gast)


Lesenswert?

Dennis S. schrieb:
> Minecraft? ist das nicht ein spiel?
>
> natürlich größer als 9 wird
>
> ?? warum ist das natürlich? kannst doch auch 2 + 3 rechnen, ist nicht
> größer 9!
>
> oder 1+5 oder 6+2 um nur mal Beispiele zu nennen...
>
> DS

Naja für 1+1 braucht es nicht viel. Ein Xor und ein &. Deshalb soll der 
Rechner ja auch nicht nur 2+6 rechnen sondern eben auch 21+11 oder 22-7 
etc...

LG
Niklas

von Niklas B. (Gast)


Lesenswert?

Grundsätzlich danke für alle Antworten :) Es sind einige sehr 
interessante Ideeen dabei und diese werde ich mir einmal angucken.

LG
Niklas

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.