Forum: Mikrocontroller und Digitale Elektronik 8-bit Binary to BCD converter


von Martin S. (sirnails)


Lesenswert?

Hallo,

gibt es das im Betreff stehende als TTL, oder bleibt nur der Griff zum 
74147? In 6 Bit gibt es das Teil (warum ausgerechnet 6?), aber 8 konnte 
ich nicht finden.

Gruß und Dank,

M. Schwaikert

von Bernhard S. (b_spitzer)


Lesenswert?

Martin Schwaikert schrieb:
> In 6 Bit gibt es das Teil (warum ausgerechnet 6?),
weil man mit 6 Bit binär unter 100 bleibt. Ab 7 Bit braucht der 12 
Ausgangssignale für den BCD-Code.
Bei 6 Bit Eingang braucht man 8 Bit Ausgang + 2 Spannungsversorgung = 16 
Pins. 8 Bit bräuchte 22 Pins und eine riesige Logiktabelle (zumindest 
für TTL-Begriffe).
Abhilfe: wie so oft ein kleiner Controller, der die Umrechnung macht.

tschuessle
Bernhard

von Thomas K. (tkroth) Benutzerseite


Lesenswert?

Oder du nimmst ein kleines ROM. Adresseingänge=Binär, im ROM dann die 
Übersetzungstabelle. Daten-Ausgänge dann BCD. Musst natürlich so ein 
Teil programmieren können.

von Thorsten S. (whitejack)


Lesenswert?

>>oder bleibt nur der Griff zum 74147?

Was hat denn der Baustein mit der Wandlung zu tun?

Was ist denn das Ziel/Problem?

6Bit? meinst du den 74185?

http://www.mikrocontroller.net/search?query=74185&forums%5B%5D=1&forums%5B%5D=19&forums%5B%5D=9&forums%5B%5D=10&forums%5B%5D=2&forums%5B%5D=4&forums%5B%5D=3&forums%5B%5D=6&forums%5B%5D=31&forums%5B%5D=17&forums%5B%5D=11&forums%5B%5D=8&forums%5B%5D=14&forums%5B%5D=12&forums%5B%5D=7&forums%5B%5D=5&forums%5B%5D=15&forums%5B%5D=13&forums%5B%5D=18&forums%5B%5D=16&max_age=-&sort_by_date=0

Ist nicht mehr gängig. Oft wird auch zum EEPROM oder gar zum CPLD etc 
gegriffen...

28c64, ein Taster und 8 Schalter reichen zum Programmieren. Musst alle 
Fälle per hand angeben. Oder du steuerst das mit nem Rechner etc... 
Brenner...

TS

von Martin S. (sirnails)


Lesenswert?

Thorsten S. schrieb:
>>>oder bleibt nur der Griff zum 74147?
>
> Was hat denn der Baustein mit der Wandlung zu tun?

Er macht streng genommen schon das, was ich will, halt eben nur etwas 
umständlich.

> Was ist denn das Ziel/Problem?

Zu viel IO bei zu wenig IO Ports. Und natürlich aus Jux und Dollerei 
(einfach mal ein bisschen Restbestände aus dem Sammelsurium meines 
Vaters aufbrauchen) und der Lust, ein bisschen Uralt-Logik zu verwenden.

Ich habe 8 Taster. Unterm Strich reichen also 8 Zahlen aus, um zu 
beschreiben, welcher der Taster gedrückt wurde. Der umgekehrte Weg wäre 
ein 4 zu 16 Dekoder, den es leider in 16 zu 4 nicht gibt.

Die Taster gehen dann in einen Mega32, der eigentlich nur 
RS232-Kommunikation, VFD Ansteuerung, Taster- und LED Abfragen/Anzeigen 
machen soll. Durch das VFD wird es aber ein bisschen eng mit den IO 
Ports. Und da ich für 8 Taster keine 8 Ports verschwenden will, und eine 
Matrix kaum weniger Pins braucht, kam mir die Idee, die wertigkeit des 
gedrückten Tasters in eine BCD umzurechnen.


> 6Bit? meinst du den 74185?

Jupp, genau den. Soweit ich was finden konnte, der Einzige seiner Art.

> Ist nicht mehr gängig. Oft wird auch zum EEPROM oder gar zum CPLD etc
> gegriffen...

EEPROM wäre natürlich eine Möglichkeit, aber etwas inadäquat zumal ich 
keinen Programmer oder I2C-Interface habe. CPLD ist natürlich die totale 
Übertötung (obwohl ich auch mal Lust daruaf hätte, damit zu arbeiten).

von Peter D. (peda)


Lesenswert?

Martin Schwaikert schrieb:
> Ich habe 8 Taster.

Martin Schwaikert schrieb:
> Die Taster gehen dann in einen Mega32

Der hat doch SPI.
Also je 8 Eingänge einen 74HC165 und gut is.
Und bei mehr, einfach mehrere 74HC165 kaskadieren.
Und für Ausgänge dann 74HC595.


Peter

von Malignes Melanom (Gast)


Lesenswert?

Der 74HC148 macht exakt das was du willst. Da muss man keine Rechenzeit 
oder ein USI für verschwenden.

Lässt sich sogar kaskadieren, damit bekommt man 16 Taster auf 4 
Portpins. Wenn man den 74LS148 nimmt dann kann man sich sogar die 
Pullupwiderstände sparen.

Zufälligerweise arbeite ich gerade an was ganz ähnlichem. Ich habe ein 
Hex-Keypad bei dem alle 16 Tasten rausgeführt sind. Daraus soll ein 
Binärcode werden. Dafür braucht man 2 74HC148 und ein 74HC00. 
Funktioniert einwandfrei. Ich habe aber die komplette Logik in ein 
GAL22V10 gepackt, das spart Platz.

von Harald W. (wilhelms)


Lesenswert?

Martin Schwaikert schrieb:
> Hallo,
>
> gibt es das im Betreff stehende als TTL, oder bleibt nur der Griff zum
> 74147? In 6 Bit gibt es das Teil (warum ausgerechnet 6?), aber 8 konnte
> ich nicht finden.

Ich glaube, da hast Du was missverstanden. Der 74147 ist ein Priori-
tätsencoder wie man ihn zum Anschluss von Tastaturen braucht. Binär
zu BCD-Wandlung kann der nicht. Der 74185 ist geeignet und man kann
ihn zu beliebiger Auflösung kaskadieren. Da er aber obsolet ist,
wird das nicht ganz billig.
Gruss
Harald

von Ralph B. (rberres)


Lesenswert?

Harald Wilhelms schrieb:
> Der 74185 ist geeignet und man kann
>
> ihn zu beliebiger Auflösung kaskadieren. Da er aber obsolet ist,
>
> wird das nicht ganz billig.

Um 8Bit Binär in 3 BCD Ausgänge umzuwandeln, muss man 3 Stück von den 
74185 kaskadieren.Den Pullupwiderstand an jeden Ausgang des 74185 nicht 
vergessen. ( Auch bei den Ausgängen, die wieder an Eingänge des 74185 
gehen !!). Ansonsten sucht man sich nach dem Fehler einen Wolf.

Der Stromverbrauch dieser Bausteine ist auch nicht von schlechten 
Eltern.
Sind halt noch die alten Standartbausteine 74... ohne Buchstaben.

In England gibts einen Lieferanten, der regelmässig über die Bucht diese 
Steine verhöckert, allerdings zu unverschämten Preisen.

Ralph Berres

von M. Schwaikert (Gast)


Lesenswert?

Harald Wilhelms schrieb:
> Martin Schwaikert schrieb:
>> Hallo,
>>
>> gibt es das im Betreff stehende als TTL, oder bleibt nur der Griff zum
>> 74147? In 6 Bit gibt es das Teil (warum ausgerechnet 6?), aber 8 konnte
>> ich nicht finden.
>
> Ich glaube, da hast Du was missverstanden. Der 74147 ist ein Priori-
> tätsencoder wie man ihn zum Anschluss von Tastaturen braucht. Binär
> zu BCD-Wandlung kann der nicht.

Hallo Harald,

dass er kein BCD-Wandler ist, ist mir klar. Dass muss er aber eigentlich 
auch nicht sein, solange jeder Taster genau einen definierten Ausgang 
verursacht. Eine Lookup-Tabelle im µC ist ja kein Problem. Nur muss der 
Ausgang eben eindeutig sein.

> Der 74185 ist geeignet und man kann
> ihn zu beliebiger Auflösung kaskadieren. Da er aber obsolet ist,
> wird das nicht ganz billig.

Ich weiß nicht genau, welche tollen Bausteine in der Schublade liegen - 
die gängigsten auf jeden Fall. Groß Geld ausgeben möchte ich nicht, das 
ist Teil der Herausforderung :)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Diodenmatrix?

DuckundWeg :-P

von Harald W. (wilhelms)


Lesenswert?

M. Schwaikert schrieb:

> Ich weiß nicht genau, welche tollen Bausteine in der Schublade liegen -
> die gängigsten auf jeden Fall. Groß Geld ausgeben möchte ich nicht, das
> ist Teil der Herausforderung :)

Dann nimm einen Demultiplexer aus der 4xxx-Reihe.
Gruss
Harald

von spontan (Gast)


Lesenswert?

>Ich weiß nicht genau, welche tollen Bausteine in der Schublade liegen -
>die gängigsten auf jeden Fall. Groß Geld ausgeben möchte ich nicht, das
>ist Teil der Herausforderung :)

Schachsinn.

Reichelt 74HC595:  32 cent.

Alles andere ist Rumgeeiere und Zeitverschendung hier im Forum.

von TS (Gast)


Lesenswert?

>>Ich habe 8 Taster.

Grundsätzlich ist es erstmal wichtig zu wissen ob du auch erkennen 
können willst ob >1 gleichzeitig gedrückt werden.

>> aber ein bisschen eng mit den IO Ports.
>> Restbestände aus dem Sammelsurium meines Vaters aufbrauchen

Es gibt Wege mit einem AD Pin am Controller 8 Tasten abzufragen. Die 
Frage ist, ist es überhaupt interessant für dich, oder möchtest du es 
unbedingt "umständlicher"?

Viel wurde hier schon genannt:

A)Priositäsencoder (4Pins)
B)Schieberegister Tasten seriell einlesen (3Pins)
C)Analog (1Pin)
D)Matrix (6Pins 3x3)
E)Multiplexer

Übrigens 4 zu 16 gibt es natürlich 74154, nur warum brauchst du die 
Größe, wenn du nur 8 Tasten hast, da reicht der 74138? Schau dir auch 
mal den 74150 an, wenn du rumspielen willst.

TS

von TS (Gast)


Lesenswert?

@spontan

>>Schachsinn.

reiß dich am Riemen. Du musst hier weder lesen noch posten. Wenn du 
unausgeglichen bist geh Sport machen und schalt den Rechner mal ab.

TS

von TS (Gast)


Lesenswert?

...übrigens, durch geschicktes verschalten kann man auch ohne 
extraschaltkreise eine Menge erreichen:

Beitrag "6 IO Pins für 6 Taster und 2 Duo LED (Bauteile z.B. von Pollin)"

TS

von M. Schwaikert (Gast)


Lesenswert?

TS schrieb:
>>>Ich habe 8 Taster.
>
> Grundsätzlich ist es erstmal wichtig zu wissen ob du auch erkennen
> können willst ob >1 gleichzeitig gedrückt werden.

Eigentlich kann zur gleichen Zeit nur eine Taste gedrückt werden - d.h. 
Kombinationen sind nicht vorgesehen.

>>> aber ein bisschen eng mit den IO Ports.
>>> Restbestände aus dem Sammelsurium meines Vaters aufbrauchen
>
> Es gibt Wege mit einem AD Pin am Controller 8 Tasten abzufragen. Die
> Frage ist, ist es überhaupt interessant für dich, oder möchtest du es
> unbedingt "umständlicher"?

Die Möglichkeit kenne ich durchaus. Aber wie gesagt möchte ich gerne mit 
ein bisschen Spielerei ans Ziel kommen. Da die Bausteine eh schon 
vorhanden sind, und kein Geld kosten, aber auch ausreichend Platz zur 
Verfügung steht, muss es nicht unbedingt der einfachste Weg sein.

> Übrigens 4 zu 16 gibt es natürlich 74154, nur warum brauchst du die
> Größe, wenn du nur 8 Tasten hast, da reicht der 74138? Schau dir auch
> mal den 74150 an, wenn du rumspielen willst.

Vielleicht kommt noch mehr dazu. Dann habe ich noch Reserve.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

spontan schrieb:
> Reichelt 74HC595:  32 cent.
>
> Alles andere ist Rumgeeiere und Zeitverschendung hier im Forum.

Das klingt so, als würdest du da arbeiten? Schlechte Werbung. Immerhin 
hat mein Vorschlag mit der Diodenmatrix null Stromverbrauch und fördert 
das logische Denken, hehehe. Allerdings habe ich hier auch Dioden bis 
Pflaumenpfingsten, seit ich vor etlichen Jahren mal ne Rythmusmaschine 
von Dr. Böhm zerlegt habe. (Und nein, da war es wirklich nicht schade 
drum)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Matthias Sch. schrieb:
> Das klingt so, als würdest du da arbeiten?
Wenn jemand bei Reichelt auch nur ein Wort hier im Eingabefeld eintippt, 
dann hat er schon mehr Geld kaputt gemacht, als er an diesem Baustein 
bei zu erwartender Abnahmemenge überhaupt verdienen könnte...

Matthias Sch. schrieb:
> Allerdings habe ich hier auch Dioden bis Pflaumenpfingsten, seit
> ich vor etlichen Jahren mal ne Rythmusmaschine von Dr. Böhm zerlegt habe.
Ich habe einfach mal eine 1000er-Rolle (naja, Rolle kann man da fast 
nicht sagen) beim Pollin gekauft...  ;-)

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Martin Schwaikert schrieb:
> Thorsten S. schrieb:
>> 6Bit? meinst du den 74185?
>
> Jupp, genau den. Soweit ich was finden konnte, der Einzige seiner Art.

Wenn es "der einzige seiner Art" ist, reicht ein 74185 nicht für 8 Bit 
nach BCD.  Dafür brauchst 3 Stück:  Seite 13 von

http://dpnc.unige.ch/tp/elect/doc/07-Digital.pdf

von TS (Gast)


Lesenswert?

warum hier 595 mit 8 Ausgängen als Lösung vorgeschlagen wird, verstehe 
ich eh nicht....dann wird noch ein zusätzlicher Pin nötig um die Taster 
abzufragen...

Wenn dann sollte man den 74165 nehmen, oder verstehe ich da was falsch?

TS

von TS (Gast)


Lesenswert?

BCD Converter:

Leute es geht hier eigentlich nicht um den Converter! Lest doch mal was 
der Threadersteller überhaupt vor hatte:

Beitrag "Re: 8-bit Binary to BCD converter"

Er möchte 8 Tasten abfragen und hat nicht genug Pins am Controller....


>>mit der Diodenmatrix

Er hat alte Bausteine die er verbauen will, um etwas zu lernen.

Beitrag "Re: 8-bit Binary to BCD converter"


>>Dafür brauchst 3 Stück:

Das steht alles auch im Datenblatt des 74185. Es gibt sogar Datenblätter 
in denen der Inhalt des PROMS aufgeführt ist.

TS

von M. Schwaikert (Gast)


Lesenswert?

Danke TS, Du hast es gut zusammen gefasst.

Ich hätte ja nicht gedacht, dass die Nutzung von TTLs religiöse Züge 
zeigt :) Es führen viele Wege nach Rom und jeder findet seinen am 
besten. Das ist aber auch ok.

Die Idee mit den Dioden hatte ich zwar auch schon, allerdings kam ich 
irgendwann nicht mehr weiter. Außerdem wurde mir der Spannungsabfall 
irgendwann zu hoch (teilweise 2,1V). Andere Methoden mit einer Matrix 
setzen ja wieder einen Spaltentreiber voraus.

von TS (Gast)


Lesenswert?

...interessant wäre nun was du daraus machst.

Du hast dich leider bisher zu den Möglichkeiten:

Beitrag "Re: 8-bit Binary to BCD converter"

nicht wirklich konkret weiter geäußert - auch nicht zum 74150 etc...

Machen kann man viel, das ist richtig :-)

TS

von TS (Gast)


Lesenswert?

hier:

Beitrag "8 Tasten einlesen (Möglichkeiten)"

gehts weiter zum Thema.

Bitte schließen!

TS

von spess53 (Gast)


Lesenswert?

Hi

Der TO hat doch schon den 74147 erwähnt. Wie er allerdings darauf kommt

>In 6 Bit gibt es das Teil (warum ausgerechnet 6?)

ist mir schleierhaft. Der hat 10 Eingänge.

MfG Spess

von TS (Gast)


Lesenswert?

dabei ging es um den 74185. Der To hat 2 Theman durcheinandergewürfelt. 
Das führt hier nach wie vor zu verwirrung.

Bitte diesen Thread:

Beitrag "8 Tasten einlesen (Möglichkeiten)"

nehmen.

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.