Hallo,
ich muss eine 12bit Binärzahl als Dezimalzahl auf einer bzw. mehreren
7-Segment-Anzeigen darstellen.
Wenn es nicht anders möglich ist, kann sie auch erst in BCD umgewandelt
werden.
Habe mich schon ein wenig umgeguckt, aber nichts brauchbares gefunden.
Vielleicht kann mir ja jemand helfen.
Gruß Adrian
Adrian schrieb:> Hallo,> ich muss eine 12bit Binärzahl als Dezimalzahl auf einer bzw. mehreren> 7-Segment-Anzeigen darstellen.> Wenn es nicht anders möglich ist, kann sie auch erst in BCD umgewandelt> werden.
Nein, es ist nicht anders möglich. :-)
Gruss
Harald
und danach über eine Tabelle in die entsprechenden segmente zerlegen und
ausgeben möglichst gemultiplext oder gleich auf einen BCD-/seg. wandler
(7447) ;-]
Geht das auch ohne, dass ich etwas programmieren muss?
Ich versuche mal das Ganze zu beschreiben:
Ich habe eine Codierung, die aus 2 Dezimalzahlen und noch ein Paar
anderen Sachen besteht.
Um die Codierung auszulesen habe ich einen 48pol. Stecker. Die anderen
Sachen sind alle nur einzelne Bits, Die eine Zahl geht nur bis 6 (3bit),
also mit einer Anzeige kein Problem für mich.
Die zweite Zahl ist etwas größer (12bit) und die muss ich auch
umwandeln, möglichst ohne zu programmieren.
Ich hoffe das reicht, um mir zu helfen. ;)
Sehr aufschlussreiche Erklärung - jetzt ist sicher allen alles klar.
Man kann das (wenn man nicht programmieren will) auch in Hardware
machen. Die 74HC... Reihe bietet da sicherlich das eine oder andere
passende an
Adrian schrieb:> Die eine Zahl geht nur bis 6 (3bit),> also mit einer Anzeige kein Problem für mich.
Das sollte sich problemlos mit einem BCD-Siebensegment-Decorder
erschlagen lassen.
Adrian schrieb:> Die zweite Zahl ist etwas größer (12bit) und die muss ich auch> umwandeln, möglichst ohne zu programmieren.
Wenn das eine 12bit-Binärzahl ist, dann wird das etwas schwieriger.
Das sollte sich aber auch mit ein paar Logik-Chips erschlagen lassen.
Ein 16-Bit-EPROM und BCD-zu-7-Segment-Decoder.
An die Adressleitungen des EPROMs werden die Binärdaten angelegt, das
EPROM gibt auf den Datenleitungen vier Dezimalstellen aus, mit denen die
BCD-zu-Siebensegment-Wandler angesteuert werden.
Das EPROM muss dann nur mit entsprechend sinnvollem Inhalt gefüllt
werden.
Alternativ zwei EPROMs verwenden und direkt (bzw. über Treiberbausteine)
die 7-Segment-Anzeige damit ansteuern.
Wenn die 7-Segment-Anzeige im Multiplex angesteuert wird, reicht auch
ein 8-Bit-EPROM. An die Adressleitungen werden neben den Binärdaten auch
noch der die Anzeigen steuernde Multiplexer angeschlossen.
Für die Multiplexersteuerung reicht hier ein 2-Bit-Binärzähler, der z.B.
an einem freilaufenden RC-Oszillator angeschlossen werden kann.
Somit kann mit einem 27128 problemlos eine 12-Bit-Zahl auf einer
vierstelligen Anzeige ausgegeben werden.
Natürlich ist auch hier das EPROM mit entsprechend sinnvollem Inhalt zu
füllen.
Adrian schrieb:> Die zweite Zahl ist etwas größer (12bit) und die muss ich auch> umwandeln, möglichst ohne zu programmieren.
Nun, es gibt das 74185-IC für diesen Zweck, das ist aber wohl obsolet
und deshalb schwer erhältlich. Eine andere Methode wäre, diese 12-Bit-
Zahl in einen binären Abwärtszähler zu laden, bis auf 0 runterzuzählen,
und diese Impulse in einem dezimalen Zähler aufwärts zu zählen. Dann
kann man sie mit einem BCD/siebensegmentdekoder problemlos anzeigen.
Gruss
Harald
Adrian schrieb:> ich muss eine 12bit Binärzahl als Dezimalzahl auf einer bzw. mehreren> 7-Segment-Anzeigen darstellen.
Eine reicht nicht, Du brauchst schon 4 Digits.
Die übliche Lösung ist, man nehme einen MC (ATmega164) und ein paar
Zeilen C.
Peter