Forum: Mikrocontroller und Digitale Elektronik BCD-Decoder und 8Bit


von Mathias Burkhard (Gast)


Lesenswert?

Bekanntlich kann ein normaler BCD-Decoder nur 4Bit auf eine 
7-Segment-Anzeige ausgeben.
Gibt es eine Lösung, das man 8-Bit auf 3 7-Segment-Anzeigen ausgeben 
kann, so das Zahlen von 0-255 dargestellt werden ?

Natürlich könnte man dazu ein AVR nehmen.
Interessant wäre, wen man so was auch mit einer einfachen Logik machen 
könnte.


Mit Google kann ich nichts finden.

von Stefan (Gast)


Lesenswert?

BCD Code geht aber nur von 0...9.

von Thomas E. (picalic)


Lesenswert?

Mathias Burkhard schrieb:
> Natürlich könnte man dazu ein AVR nehmen.

Oder jeden anderen Microcontroller aus einer beliebigen Familie, wenn er 
nur genug Pins hat.

Mathias Burkhard schrieb:
> Interessant wäre, wen man so was auch mit einer einfachen Logik machen
> könnte.

Könnte man, aber mit "einfacher Logik" wird es vergleichweise sehr 
umständlich.

von Georg (Gast)


Lesenswert?

Mathias Burkhard schrieb:
> Interessant wäre, wen man so was auch mit einer einfachen Logik machen
> könnte.

Was immer du unter einfach verstehst - man könnte zwei Stück 
ROM/Prom/Eprom nehmen mit 256 x 8 bit oder jedes grössere.

Sonst die Gleichung erstellen für jedes der 10 Ausgabe-Bits und 
minimieren, aber das ergibt keineswegs eine einfache Logik, sondern ein 
Gatter-Grab.

Georg

von Heinz V. (heinz_v)


Lesenswert?

Binaeren Abwärtszähler mit Wert vorladen 'Busy' Signal setzen, Binaer 
Zähler runterzählen und dereistufigen Dekadenzähler hochzählen, wenn 
Binaerzähler gleich Null Dekadenzählerstand in Latch schreiben und 
Anzeigen, und Busy Signal löschen, DekadenZähler Nullen. Uff!

von Mathias Burkhard (Gast)


Lesenswert?

Ich dachte, es gäbe fertige Logic-ICs dafür.

In der Praxis, sieht von viel Geräte, welche eine 3-Stellige Anzeige 
haben.
ZB. Lötkolben, Netzteile, oder sogar UR-Alte CNC-Maschinen.
Wie wurde dies da gelöst ?
Ich denke dazumal waren AVR noch nicht verbreitet.

>> Natürlich könnte man dazu ein AVR nehmen.

>Oder jeden anderen Microcontroller aus einer beliebigen Familie, wenn er
>nur genug Pins hat.
Mit einem AVR, würde ich Multiplex, oder Schieberegister verwenden.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mathias Burkhard schrieb:
> Ich denke dazumal waren AVR noch nicht verbreitet.

Lange vor AVRs gab es schon andere Microcontroller.

Wobei Dein Lötkolbenbeispiel auch einfach analog gearbeitet haben kann - 
da wird eine Spannung von einem ADC mit direkter Displayansteuerung 
ausgewertet. Bekannte Beispiele dafür sind ICL7106/07, die gibt es schon 
seit Äonen.

http://www.intersil.com/content/dam/Intersil/documents/icl7/icl7106-07-07s.pdf

von Andreas G. (Gast)


Lesenswert?

>Ich denke dazumal waren AVR noch nicht verbreitet.

Es gab lange vor den AVR bereits Mikrocontroller. Voltmeter-ICs mit 
mehrstelligen 7-Segment-Anzeigen gab es auch schon vor mehreren 
Jahrzehnten.

von Theor (Gast)


Lesenswert?

Suchterm: "Binary BCD"; evtl. noch "Converter" dazu.

Z.B.: http://www.utm.edu/~leeb/DM74185.pdf

Interessanterweise wird im ersten Abschnitt davon gesprochen, dass es 
sich um eine Ableitung von ROMs 7488 handelt.

Dennoch scheint mir, dass der Versuch eines kombinatorischen Entwurfs 
lehrreich sein könnte. Wenigstens könnte man das simulieren; muss man ja 
nicht gleich aufbauen das "TTL-Grab".

von Andreas G. (Gast)


Lesenswert?

Tja, Rufus war um eine Minute schneller.

von Heinz V. (heinz_v)


Lesenswert?

Ein 8 Bit BINAER Wert benötigt in BCD Darstellung 12 Bit, Wikipedisiere 
es selbst!

von michael_ (Gast)


Lesenswert?

Nimm die CD4511 und CD4029.
Da gibt es massenhaft Beispiele dafür.

von Georg (Gast)


Lesenswert?

Heinz V. schrieb:
> Ein 8 Bit BINAER Wert benötigt in BCD Darstellung 12 Bit, Wikipedisiere
> es selbst!

Ein Wert von 0..255 braucht in BCD 10 bit, und dafür muss man nun 
wirklich nicht Wikipedia bemühen, Denken reicht. Ist aber wohl aus der 
Mode.

Georg

von Axel S. (a-za-z0-9)


Lesenswert?

Mathias Burkhard schrieb:
> Gibt es eine Lösung, das man 8-Bit auf 3 7-Segment-Anzeigen ausgeben
> kann, so das Zahlen von 0-255 dargestellt werden ?

Da gibt es viele Lösungen für. Allerdings hat das eher nichts mit BCD 
zu tun (weil du "BCD" ins Betreff geschrieben hast).

> Interessant wäre, wen man so was auch mit einer einfachen Logik machen
> könnte.

Kommt darauf an, was du einfach nennst. µC hast du ja schon genannt. 
Man könnte auch eine Übersetzungstabelle in Segmentcode in ein EPROM 
brennen oder ein PAL (oder mehrere) dafür programmieren. Das wird dann 
besonders bauteilsparend, wenn man die Anzeigen multiplext.

Oder man baut einen binär-zu-3xBCD Umsetzer (8 auf 12 Bit) und schaltet 
herkömmliche BCD-Decoder dahinter. Das kann man dann wahlweise mit 
programmierbarer Logik oder mit Einzelgattern machen.

In der Realität stellt sich das Problem aber seltenst. Systeme, die ihre 
Daten auf Displays anzeigen, nutzen schlicht keine binären parallelen 
Ausgänge, sondern geben gleich BCD oder 7-Segment-Code aus. Meist gleich 
im Multiplex (spart Pins). Siehe ICL7107 oder CA3162 (Ossis: C520!)

von Jörg R. (solar77)


Lesenswert?

Georg schrieb:
> Was immer du unter einfach verstehst - man könnte zwei Stück
> ROM/Prom/Eprom nehmen mit 256 x 8 bit.....

...oder ein 16-Bit Eprom...


Mathias Burkhard schrieb:
> Interessant wäre, wen man so was auch mit einer einfachen Logik machen
> könnte.

Wie groß darf der Auwand mit Logikgattern denn werden?

: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?

Mathias Burkhard schrieb:
> Interessant wäre, wen man so was auch mit einer einfachen Logik machen
> könnte.

Hier gibt es einen umschaltbaren BCD-Binär bzw. Binär-BCD Umsetzer aus 
Zählern:

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

von Ralph B. (rberres)


Lesenswert?

In wikipedia finde ich eine Aufstellung welche TTL Ics es gab.

Darunter
74xx484 1 BCD-to-Binär-Konverter
74xx485 1 Binär-to-BCD-Konverter
74xx184 1 BCD-zu-Binär-Konverter

Für 3 Dezimalstellen benötigt man 6 Stück ( Seite 7 des Datenblattes)

Aber drauf achten. Ausgänge sind open Kollektor sie benötigen noch ein 
Widerstand gegen 5V

Da ist es warscheinlich einfacher zwei Eproms zu nehmen und dort die 
Tabelle einzugeben. Zumal die 74184 kaum noch erhältlich sind.

Aber gab es nicht mal Eproms mit 16 datenleitungen? dann käme man mit 
einen Eprom aus.

Ralph

: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?


von Jakob (Gast)


Lesenswert?

Mit BCD wird nur noch sehr selten gerechnet, bestenfalls wird
damit noch die eine, oder andere mehrstellige Zahl übertragen.

So ein Thermometer, oder Lötkolben, ... berechnet den
Wert binär. Für die Anzeige wird dann nach dezimal (8 Bit
= 1 Byte pro Dezimalstelle) umgerechnet. Von da nach ASCII,
wenn es an ein 44780-LCD-Display gehen soll, oder auf
7-Segment für LED-Displays.

Und da dein Wunsch sehr selten ist, gibt's da eben kein
komplettes IC für.

Lohnt sich nicht, es anzubieten.

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.