Forum: Analoge Elektronik und Schaltungstechnik BCD zu Binär oder umgekehrt (Logische Operatoren)


von Toni N. (nt2005)


Lesenswert?

Hallo Mikrocontroller-Community,

Ich suche eine Möglichkeit von Binär zu BCD zu konvertieren (und in der 
anderen Richtung) jedoch finde ich nicht heraus wie.

Alles was ich finde sind Mikrocontroller, die ich nicht verwenden kann. 
Ich kann nur Logische Operatoren verwenden: and, or, xor, latches, 
addieren...

Jemand eine Idee wie dies am Besten geht?

Ich habe zum Beispiel die Zahl 25.

In BCD:

0010 0101

Daraus will ich dann eben bekommen: 11001

von Jens Jensen (Gast)


Lesenswert?

74185

74184

von Toni N. (nt2005)


Lesenswert?

Danke für die Antwort Jens, jedoch kann ich mit dieser Schaltung nicht 
viel anfangen.

http://www.utm.edu/staff/leeb/DM74185.pdf

Ich weiß nicht was das Rechteck (Controller) in der Mitte bewirkt....

von Jens Jensen (Gast)


Lesenswert?

der "Inhalt" steht auf seite 4. Es handet ´sich dabei genaugenommen um 
ein Prom, einen Festwertspeicher der die Logik enthält.

Deine Aufgabe wäre es diese Wahrheitstabelle in ein KV Diagramm zu 
übertragen und zur kürzen. Dann hast du die Normalform für jedes Bit in 
"UND" "Nicht" & "Oder" Gattern aufgelöst. Wenn du das für jedes 
Ausgangsbit gemacht hast würde ich versuchen die Fälle so zu kürzen das 
du möglichst viele "Fälle" auch Bitübergreifend nutzen kannst um noch 
mehr Gatter zu sparen...

hier gab es auch noch einen Thread zum Hauptthema:

Beitrag "Binäre Codierung, Dezimal anzeigen"

Gruß,
J.

von Jens Jensen (Gast)


Lesenswert?

das hier ist exakter:

vBeitrag "Re: Binäre Codierung, Dezimal anzeigen"

Aber es ist schon total verrückt das in logik aufzubauen...oder meintest 
du mit logischen Funktionen die eines Mikrokontrollers?

J.

von Jens Jensen (Gast)


Lesenswert?

..übrigens:

ein anderer Trick wäre für dein Beispiel:

In BCD:

0010 0101

Daraus will ich dann eben bekommen: 11001

Wäre:

0010b * 1010b = 10100b

10100b + 0101 = 11001b

dezimal

2 * 10 = 20

20 + 5 = 25

Du benötigst einen 4 Bit multiplizierer und einen 8 Bit volladdierer. 
Während man einen Multiplizierer wiederum aus Addierern aufbauen kann.

Impressionen:

http://www.cdrnet.net/projects/cmos/padd4bit.asp

http://commons.wikimedia.org/wiki/File:4bit_multiplizierer.png?uselang=de

J.

von Toni N. (nt2005)


Lesenswert?

Also ich muss es in Logisch (/\ V) aufbauen, keine Mikrocontroller. :(

Der letzte Post klingt sehr interessant, das schau ich mir mal an. ;)

von Jens Jensen (Gast)


Lesenswert?

Toni,

nenne mal die Randbedingungen, also wieviel bcd Stellen hast du und wie 
groß kann die darin enthaltende Zahl maximal werden?

An der von mir geposteten Idee kommen in nächster Ebene (Halb und 
Volladdierer, Schieberegister) vor, diese sind wiederum aus den von dir 
erwähnten Verknüpfungen aufgebaut.

Wenn es darum geht das in Formeln auszudrücken ist das schon ein schöner 
Spass.

Es hört sich nach einer "Aufgabe" an, und es wäre hilfreich zu wissen 
was das Ziel ist, denn der Aufbau mit logischen Funktionen in Gattern 
ist alles andere als wirtschaftlich, darauf sei nur hingewiesen.

Bitte um Details und Hintergründe.

J.

von avr (Gast)


Lesenswert?


von Toni N. (nt2005)


Lesenswert?

Hallo Jens,

Ich muss dich enttäuschen, es ist keine Aufgabe (eher eine Aufgabe die 
ich mir gestellt habe).

Wieviele BCD stellen es sein sollen, weiß ich noch nicht, werde mich 
vorerst auf zwei Bytes beschränken, das reicht erst einmal. ;)

Mir stehen Volladdierer, Halbaddierer und Schieberegister zur Verfügung.

Ich werde es vorerst in LogiFlash realisieren.:)

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.