BCD zu Binär oder umgekehrt (Logische Operatoren)

OP #2057453
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
Gast #2057470
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.
Gast #2057486
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.
Gast #2057507
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.
OP #2057515
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.:)

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