Ich habe einen rechner gebaut, der zwei Dualzahlen (4bit) addiert. Jetzt stehe ich aber vor einem Problem: Ich möchte, dass das Ergebnis auf zwei 7 Segment anzeigen aufleuchtet. Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht also bis 15) in 2x 4 bit umwandelt (also je 4bit von 0 bis 9). Vielen dank für hilfreiche antworten schon im voraus!
:
Verschoben durch Moderator
Elektronik Bastler schrieb: > Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht > also bis 15) in 2x 4 bit umwandelt (also je 4bit von 0 bis 9). Dein Stichwort für Google ist 'BCD'
Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann. Ich habe dann einen Attiny und ein Shiftregister genommen und mir schnell selber die Anzeige zusammengefrickelt.
Alexander schrieb: > Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein > gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann. Wenn Du auf A-F verzichtest, gab es solche Ics schon vor fünfzig Jahren. Z.B. SN7447
Harald W. schrieb: > Wenn Du auf A-F verzichtest, gab es solche Ics schon vor fünfzig > Jahren. Z.B. SN7447 Hi, gibt auch CMOS der 4xxx-Serie, die A-F darstellen. Bitte um etwas Geduld, ich muß gerade noch die "Hex-Anzeige" für den EPrommer raussuchen. Momang...der 40511 war's wohl. (Wo gibt's den heute noch zu kaufen?) ciao gustav
:
Bearbeitet durch User
Elektronik Bastler schrieb: > Vielen dank für hilfreiche antworten schon im voraus! Das würde ich mit Digitaltechnik angehen. Wenn das mit handelsüblichen Logikbausteinen richtig aufgebaut ist, ist da analoge Elektronik eher wenig gefragt (bis auf evtl. Vorwiderstände zur Stabilisierung des Stroms durch die LEDs der 7-Segment Anzeige). Du könntest die Anzeige über eine Diodenmatrix/EEPROM steuern ;-) Für erstere Lösung bräuchtest du einen 74HC154 und die Dioden, bei der zweiten ein/zwei kleine EEPROMs mit 8 Eingängen und 14 Ausgängen.
Alexander schrieb: > Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein > gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann. 40511 aus DDR-Produktion, der konnte nicht nur 0-9 (wie der 4511), sondern eben auch A-F darstellen. Davon findest du vielleicht noch irgendwo Restbestände (Nein, meine gebe ich nicht her).
Harald W. schrieb: > Alexander schrieb: > >> Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein >> gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann. > > Wenn Du auf A-F verzichtest, gab es solche Ics schon vor fünfzig > Jahren. Z.B. SN7447 Und mit A-F: V40511.
Ralf D. schrieb: > 40511 aus DDR-Produktion, Die gabs auch im Westen, vermutlich einige Jahre früher.
Harald W. schrieb: > Ralf D. schrieb: > >> 40511 aus DDR-Produktion, > > Die gabs auch im Westen, vermutlich einige Jahre früher. Nö, da gabs nur 4511.
Frank L. schrieb: > TIL311 gäbe es als Komplettlösung. BCD rein, 0-F raus. Ja, die gabs auch schon in den frühen siebziger Jahren.
Zur ursprünglichen Frage: Elektronik Bastler schrieb: > Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht > also bis 15) in 2x 4 bit umwandelt (also je 4bit von 0 bis 9). Ich nehme an, du hast den Addierer nicht mit einem programmierbaren Baustein aufgebaut (sonst könntest du damit ja auch gleich den Dekoder realisieren) und möchtest auch den Dekoder aus einfachen Logikbausteinen aufbauen. Das geht mit zwei 74xx-ICs (s. Anhang). Zur Ansteuerung der 7-Segment- Anzeige für die Einerziffer kannst du einen 74x47 nehmen. Für die Zehnerziffer ist das ebenfalls möglich. Da dort aber nur die Ziffern 0 und 1 angezeigt werden, kannst du die Segmente b und c dauerhaft mit Strom versorgen und die Segmente a, d, e und f über einen Treiber an A10 der Schaltung anschließen.
Eprom: 8 Bit und 2 CD 4511 an die Ausgänge 16 Bit, direkte Ausgabe für 7-Segment, 2 Treiber-IC oder Transistoren an die Ausgänge
:
Bearbeitet durch User
Vielen Dank an Yalu X. Genau so eine Schaltung hab ich bis jetzt überall im Internet vergeblich gesucht! Dass gute ist, dass ich sie im Fall der Fälle auch noch auf 8 Bits oder noch weiter erweitern kann! Dankeschön!
Elektronik Bastler schrieb: > Dass gute ist, dass ich sie im Fall der Fälle auch noch auf 8 Bits oder > noch weiter erweitern kann! Bist du dir da sicher? ;-) Dadurch, dass der Wertebereich momentan nur bis 15 geht, ist die Sache noch halbwegs überschaubar. Falls du ihn auf 255 erweitern möchtest, wird das schon ein ziemliches IC-Grab, zumal man die Schaltung mit zunehmender Komplexität nicht mehr so leicht optimieren kann. Sehr viel einfach wird es, wenn du deinen Addierer von vornherein in BCD rechnen lässt. Damit ersparst du dir den aufwendigen Dekodiervorgang.
Wenn sich dein Wertebereich von 0..15 auf die Eingänge deines Addierers bezieht musst du den Überlauf berüchsichtigen und hast dann schon mal 5 Bit am Ausgang. Denn 15+15=30 ;-). Die käuflichen Sieben-Segment Decoder erwarten am Eingang BCD Kode und du hast am Ausgang deines Binären Addierers natürlich auch Binärcode. Dafür gab es mal den 74185 der kann 6 Bit Binär in BCD wandeln. Den kann man auch kaskadieren und mit 3 Stück kannst du 8 Bit wandeln.
Yalu X. schrieb: > Elektronik Bastler schrieb: >> Dass gute ist, dass ich sie im Fall der Fälle auch noch auf 8 Bits oder >> noch weiter erweitern kann! > > Bist du dir da sicher? ;-) Nicht mehr :( Ich hab zu voreilig gedacht. Yalu X. schrieb auch: > Falls du ihn auf 255 erweitern möchtest, > wird das schon ein ziemliches IC-Grab, zumal man die Schaltung mit > zunehmender Komplexität nicht mehr so leicht optimieren kann. Und Hans-Georg L. schrieb: > Wenn sich dein Wertebereich von 0..15 auf die Eingänge deines > Addierers > bezieht musst du den Überlauf berüchsichtigen und hast dann schon mal 5 > Bit am Ausgang. Denn 15+15=30 ;-). Stimmt. Kann man das denn nicht irgendwie anders Realisieren? wie macht dass eigentlich ein Computer? Oder die Zuse Z3, die nur aus Relais besteht?
Elektronik Bastler schrieb: > Hans-Georg L. schrieb: >> Wenn sich dein Wertebereich von 0..15 auf die Eingänge deines >> Addierers >> bezieht musst du den Überlauf berüchsichtigen und hast dann schon mal 5 >> Bit am Ausgang. Denn 15+15=30 ;-). > > Stimmt. > Kann man das denn nicht irgendwie anders Realisieren? > wie macht dass eigentlich ein Computer? Mal so mal so. Manche haben eine ALU, die direkt in BCD rechnen kann, entweder als separate Opcodes oder per Flag umgeschaltet (6502: D-Flag). Wieder andere haben einen extra Opcode, um das Ergebnis einer binären Addition bzw. Subtraktion zu BCD zu korrigieren (Z80: Opcode DAA). Natürlich kann ein Computer auch einen Algorithmus implementieren, der eine beliebig lange Binärzahl nach BCD umwandelt, ein gebräuchlicher Algorithmus heißt Dreierkorrektur. Am allereinfachsten ist es aber, die Dezimaldarstellung aufzugeben und alles hexadezimal ein- und auszugeben.
Man kann das ja auch mit einer Frequenz machen. Das würde aber bei GROßEN Zahlen (z.B. 10^100) schon eine merkliche verzögerung geben und es wäre zu aufwendig. Obwohl... Mit ein paar Flip Flops, Zählern, Vergleichern (xor Gatter) und einigen Logikgattern Gattern müsste man das schon hinbekommen... dann könnte man auch gleich mit dieser Methode einen Rechner bauen und hätte dann das Problem mit den Decodern nicht mehr... naja :)
Elektronik Bastler schrieb: > wie macht dass > eigentlich ein Computer? Z.B. mit printf() oder itoa(), d.h. es gibt fertige Libs für sowas. Man kann es aber auch zu Fuß programmieren.
Yalu X. schrieb: > Das geht mit zwei 74xx-ICs (s. Anhang). Darf ich drei Fragen dazu stellen? Falls ja: 1. Wie hast Du das ausgerechnet? Karnaugh-Plan? 2. Womit hast Du den hübschen Schaltplan gezeichnet? 3. Ist da nicht ein Fehler drinnen (s.u.)? Im 7486 sind meiner Erinnerung nach vier XOR-Gatter drin. Gezeichnet sind aber Äquivalenzgatter. Fehlt da nur der Kringel am Ausgang? Für A2 macht das ja einen Unterschied.
Possetitjel schrieb: > Darf ich drei Fragen dazu stellen? Gerne :) > 1. Wie hast Du das ausgerechnet? Ich habe die Wertetabelle aufgestellt und durch scharfes Anschauen derselben versucht, für die vier nichttrivialen Ausgänge möglichst einfache Terme zu finden. Dabei habe ich auch Ausgangssignale als Operanden in den Termen zugelassen, wenn sich dadurch ein besonders einfacher Term ergab. So sieht man bspw. die folgenden Zusammenhänge:
Dann habe ich in den gefundenen Termen gemeinsame Teilausdrücke gesucht, um die Anzahl der benötigten Gatter zu reduzieren. Damit hatte ich eine Lösung mit 1 XOR-, 4 AND- und 4 NOT-Gattern. Leider braucht man dafür mindestens drei 74xx-ICs, wobei einige Gatter ungenutzt bleiben. Also habe ich versuchsweise per De Morgan die AND-in OR-Operationen umgewandelt. Durch die Verwendung von NOR- statt OR-Gattern und einen neuentstandenen gemeinsamen Teilausdruck konnte ich schließlich die Anzahl der NOTs auf 3 reduzieren, die mit den ansonsten ungenutzten XOR-Gattern des 74x86 realisiert werden können. Ein rechnergestütztes Optimierungstool wäre für solche Dinge natürlich ein feine Sache, allerdings kenne ich kein wirklich gutes. Da man diese Sorte Aufgaben meist sowieso nur während des Studiums löst, ist das auch nicht weiter schlimm :) > Karnaugh-Plan? Der Karnaugh-Plan hat IMHO einige Nachteile, weswegen ich ihn nur selten verwende: - Es muss viel gezeichnet werden (in diesem Fall vier 4×4-Matrizen) - Das Eintragen der Werte ist mühsam und fehlerträchtig, weil die Reihenfolge der Einträge nicht mit der Wertetabelle übereinstimmt (ok, man könnte die Wertetabelle natürlich auch so hinschreiben, dass sie "Karnaugh-freundlicher" ist) - Das Verfahren liefert zwar die optimale DNF, KNF oder RNF, diese Darstellungen sind aber i.Allg. nicht optimal bezogen auf die Anzahl der Bauteile für eine elektronische Realisierung. - Bei mehr als vier Eingängen wird die Sache sehr unübersichtlich. > 2. Womit hast Du den hübschen Schaltplan gezeichnet? Ursprünglich habe ich LTspice benutzt, mit dem Schaltpläne sehr fix eingegeben und anschließend gleich auch noch simuliert werden können. Auch das Herumschieben von Symbolen und Leitungen im Hinblick auf eine kompakte und übersichtliche Gesamtdarstellung geht mit LTspice recht komfortabel. Allerdings sehen Digitalschaltungen dort sehr gruselig aus (s. Anhang), weswegen ich das Ganze noch einmal mit Inkscape nachgemalt habe :) Man erkennt in der Simulation übrigens ein paar Glitches, die aber hier nicht stören dürften. > 3. Ist da nicht ein Fehler drinnen (s.u.)? > > Im 7486 sind meiner Erinnerung nach vier XOR-Gatter drin. > Gezeichnet sind aber Äquivalenzgatter. Fehlt da nur der > Kringel am Ausgang? IMHO (und nach https://de.wikipedia.org/wiki/Logikgatter) stimmt das schon. Das "=1" im Kasten (nicht zu verwechseln mit dem "≡" im alten DIN-XNOR-Symbol) bedeutet, dass genau 1 Eingang high sein muss, um am Ausgang ein High-Signal erscheinen zu lassen. Entsprechend steht im OR-Gatter ein "≥1", weil hier mindestens 1 Eingang high sein muss.
:
Bearbeitet durch Moderator
Elektronik Bastler schrieb: > Genau so eine Schaltung hab ich bis jetzt überall im Internet vergeblich > gesucht! Da es Volladdierer schon lange als fertiges IC gibt, findet man diese Schaltung auch in deren Datenblatt. Außerdem auch in Grund- lagenbüchern wie den Tietze/Schenk. Das gleiche gilt auch für Siebensegment-Dekoder.
Elektronik Bastler schrieb: > wie macht dass eigentlich ein Computer? > Oder die Zuse Z3, die nur aus Relais besteht? Tja, auch Zuse beherrschte damals schon die Grundlagen der binären Mathematik.
Yalu X. schrieb: > Allerdings sehen Digitalschaltungen dort sehr gruselig aus Da hätte ich evtl. einen Tipp für Dich: installiere Dir doch z.B. die 74HC-Lib, da gibt es vernünftige Symbole und außerdem verhalten sich die Gates auch etwas realitätsnäher. Sorry hab da grad keinen Link dazu - habs schon vor längerer Zeit heruntergeladen - ich meine, es war über die LTSpice Yahoo Group.
Ja, damit sieht es schon deutlich besser aus. Danke für den Tipp! Ich habe auf die Schnelle nur die Version gefunden, die Helmut vor längerer Zeit hier gepostet hat: Beitrag "Re: LT Spice SwitcherCad II 74er TTL" Möglicherweise gibt es in seiner Yahoo-Group (bei der ich nicht Mitglied bin) eine neuere Version.
Yalu X. schrieb: > Möglicherweise gibt es in seiner Yahoo-Group (bei der ich nicht Mitglied > bin) eine neuere Version. die LIB aus Helmut's Beitrag dürfte schon aktuell sein. Habe mich aus (diesem) aktuellen Anlass vorhin gerade auch nochmal bei Yahoo neu registriert - ist ja kein Aufwand. Ich verwende übrigens schon immer die 74HC_v.lib - soweit ich verstanden habe, sollen da die Pegel auch abhängig von VCC sein, im Gegensatz zur "normalen" 74HC.lib? Hab's jetzt mit der 74HC.lib nicht probiert, was das konkret heisst...
Yalu X. schrieb: >> 1. Wie hast Du das ausgerechnet? > > Ich habe die Wertetabelle aufgestellt und durch scharfes > Anschauen derselben versucht, [...] > Dann habe ich in den gefundenen Termen gemeinsame > Teilausdrücke gesucht, [...] Ah, okay. Freistil-Verfahren in Anlehnung an Quine/McClusky. > Ein rechnergestütztes Optimierungstool wäre für solche Dinge > natürlich ein feine Sache, allerdings kenne ich kein wirklich > gutes. Hmm. Da sagst Du was... Hast Du eine Vorstellung, was so ein Tool können sollte? > Da man diese Sorte Aufgaben meist sowieso nur während des > Studiums löst, ist das auch nicht weiter schlimm :) Naja, manchmal hätte ich schon ganz gern einen Eindruck, wieviel Gatteraufwand hinter einer bestimmten Verknüpfung steckt. Mal sehen... >> Karnaugh-Plan? > > Der Karnaugh-Plan hat IMHO einige Nachteile, weswegen ich > ihn nur selten verwende: > > - Es muss viel gezeichnet werden (in diesem Fall vier > 4×4-Matrizen) Naja, auf kariertem Papier relativiert sich das. Es ist andererseits wesentlich weniger Schreiberei als eine Wertetabelle; auch die quasi-graphische anschauliche Darstellung finde ich praktisch. Ist aber natürlich Geschmackssache; ich bin generell sehr auf die Anschauung fixiert. > - Das Eintragen der Werte ist mühsam und fehlerträchtig, > weil die Reihenfolge der Einträge nicht mit der Wertetabelle > übereinstimmt (ok, man könnte die Wertetabelle natürlich > auch so hinschreiben, dass sie "Karnaugh-freundlicher" ist) Binäre Wertetabellen haben wir beim Studium praktisch überhaupt nicht verwendet. Unser Professor war insofern Außenseiter, als er mit seiner Arbeitsgruppe an Ternärvektorlisten geforscht und folglich auch seine Lehre konsequent darauf aufgebaut hat. Binärvektorlisten wurden als Zeit- und Platzverschwendung angesehen :) > - Das Verfahren liefert zwar die optimale DNF, KNF oder RNF, > diese Darstellungen sind aber i.Allg. nicht optimal bezogen > auf die Anzahl der Bauteile für eine elektronische Realisierung. Ja, das war der Hintergedanke meiner Frage: Deine Schaltung oben ist keine zweistufige Kombinatorik, sondern hat mehr Ebenen; darauf sind die Lehrbuch-Verfahren i.d.R. nicht eingerichtet. Aber auf Grundlage der Wertetabelle geht natürlich alles. > - Bei mehr als vier Eingängen wird die Sache sehr unübersichtlich. Hmmja... also bis sechs Eingänge geht noch ganz gut. Man muss nur wissen, dass der (in einer Ebene gezeichnete) Karnaugh-Plan in Wahrheit auf einem Torus wohnt, und dass außerdem spiegelbildlich zueinander liegende Felder auch topologisch benachbart sind :) ("...ach, das ist ganz einfach: Ich stelle mir immer erst einen unendlichdimensionalen Raum vor und vereinfache dann auf den Spezialfall n=17.") >> 3. Ist da nicht ein Fehler drinnen (s.u.)? >> >> Im 7486 sind meiner Erinnerung nach vier XOR-Gatter drin. >> Gezeichnet sind aber Äquivalenzgatter. Fehlt da nur der >> Kringel am Ausgang? > > IMHO (und nach https://de.wikipedia.org/wiki/Logikgatter) stimmt > das schon. Das "=1" im Kasten (nicht zu verwechseln mit dem "≡" > im alten DIN-XNOR-Symbol) bedeutet, dass genau 1 Eingang high > sein muss, um am Ausgang ein High-Signal erscheinen zu lassen. Du hast Recht; ich habe gerade nochmal nachgelesen. Vom Wutanfall hält mich nur die mit zunehmendem Alter reifende Erkenntnis ab, dass Einstein ("Zwei Dinge sind unendlich, ...") wohl richtig lag -- und gehirntote Normen zu den Dingen gehören, die unausrottbar sind: Wie kann man den bittesehr das logische Symbol von einer Eigenschaft abhängig machen, die NUR beim Gatter mit zwei Eingängen erfüllt ist? Ein 3er-XOR muss nämlich auch bei "111" am Eingang eine Eins am Ausgang liefern! Unfassbar...
Yalu X. schrieb: > Ein rechnergestütztes Optimierungstool wäre für solche Dinge natürlich > ein feine Sache, allerdings kenne ich kein wirklich gutes. an der uni haben wir damals (tm) mit berkley sis ein bisschen experimentiert. ist schon eine weile her, kenne daher den aktuellen stand der software nicht. stamina oder nova müsste das gesuchte tool sein, bedienung ist bei beiden - hmm - gewöhnungsbedürftig ;-)
Hier mal das Ganze als 8051 Assemblerprogramm:
1 | jmp main |
2 | main: |
3 | mov a, p0 |
4 | anl a, #0Fh ; only 4 bits |
5 | mov b, p1 |
6 | anl b, #0Fh ; only 4 bits |
7 | call add_bin ; p0 + p1 |
8 | call get_2digits ; a = a / 10, b = a % 10 |
9 | call get_sevenseg |
10 | mov p3, A ; p3 = tens |
11 | mov a, b |
12 | call get_sevenseg |
13 | mov p2, A ; p2 = ones |
14 | jmp main |
15 | add_bin: |
16 | add a, b |
17 | ret |
18 | get_2digits: |
19 | mov b, #10 |
20 | div ab |
21 | ret |
22 | get_sevenseg: |
23 | inc a ; 0 = first entry behind RET |
24 | movc a, @a+pc |
25 | ret |
26 | db 10001000b |
27 | db 10111110b |
28 | db 00011001b |
29 | db 00011100b |
30 | db 00101110b |
31 | db 01001100b |
32 | db 01001000b |
33 | db 10111100b |
34 | db 00001000b |
35 | db 00001100b |
36 | end |
Es wird 00 .. 30 angezeigt. Anbei das Listing.
Possetitjel schrieb: > Wie kann man den bittesehr das logische Symbol von einer Eigenschaft > abhängig machen, die NUR beim Gatter mit zwei Eingängen erfüllt > ist? Ein 3er-XOR muss nämlich auch bei "111" am Eingang eine Eins > am Ausgang liefern! Unfassbar... Ja, die alte Diskussion. Der Fehler liegt nicht im Symbol, sondern in der Bezeichnung: Das Gatter wird zwar als XOR (also exklusiv Oder) bezeichnet, gemeint ist oft die ungerade Parität (ODD) der Eingänge. Bei nur zwei Eingängen besteht kein Unterschied, ab drei Eingängen sollte man aber zwischen XOR, ODD und evtl. noch negierter Äquivalenz (NEQ) unterscheiden:
1 | E1 E2 E3 XOR ODD NEQ |
2 | ————————————————————————— |
3 | 0 0 0 0 0 0 |
4 | 0 0 1 1 1 1 |
5 | 0 1 0 1 1 1 |
6 | 0 1 1 0 0 1 |
7 | 1 0 0 1 1 1 |
8 | 1 0 1 0 0 1 |
9 | 1 1 0 0 0 1 |
10 | 1 1 1 0 1 0 |
11 | ————————————————————————— |
Im Gegensatz zu ODD lassen sich XOR und NEQ nicht durch Kaskadierung mehrerer Gatter mit jeweils zwei Eingängen darstellen, was vielleicht der Grund dafür ist, dass von vielen nur ODD als Verallgemeinerung des Gatters auf mehr als zwei Eingänge akzeptiert wird. Für XOR in seiner wörtlichen Bedeutung ("entweder E1, E2 oder E3" bzw. "genau eines davon") ist die Beschriftung des Symbols mit "=1" schon in Ordnung. Dass die Erfinder der IEC-Symbole auch Gatter mit mehr als zwei Eingängen berücksichtigt haben, erkennt man daran, dass das AND-Gatter nicht etwa mit "=2" beschriftet wurde (was ja eigentlich besser zum "=1" des XOR- und zum "≥1" des OR-Gatters gepasst hätte), sondern stattdessen "&" gewählt wurde, das unabhängig von der Anzahl der Eingänge ist. niemand schrieb: > an der uni haben wir damals (tm) mit berkley sis ein bisschen > experimentiert. ist schon eine weile her, kenne daher den aktuellen > stand der software nicht. > stamina oder nova müsste das gesuchte tool sein, bedienung ist bei > beiden - hmm - gewöhnungsbedürftig ;-) Danke für die Info. Ich werde mir diese Tools bei Gelegenheit mal anschauen.
Yalu X. schrieb: > Im Gegensatz zu ODD lassen sich XOR und NEQ nicht durch Kaskadierung > mehrerer Gatter mit jeweils zwei Eingängen darstellen Seien wir mal ehrlich, wer hat je ein echtes XOR oder NEQ gebraucht. Von daher finde ich es zulässig auch das echte ODD als XOR zu bezeichnen. In der Praxis gibt es dadurch keine Irrtümer. Man muß nicht alles auf die Goldwaage legen.
Peter D. schrieb: > Seien wir mal ehrlich, wer hat je ein echtes XOR oder NEQ gebraucht. Wenn ich mal von mir ausgehe: Ein echtes XOR mit mehr als zwei Eingängen hätte ich früher tatsächlich schon ein- oder zweimal brauchen können, ein ODD oder ein NEQ noch nie. Als Anwendung für ein ODD-Gatter mit mehr als zwei Eingängen fällt mir eigentlich nur ein Paritygenerator für einen UART ein. Aber wer baut schon einen UART aus einzelnen Gattern auf? Generell sind Anwendungen für XOR, ODD und NEQ mit mehr als zwei Eingängen so rar gesät, dass es m.W. keine fertigen Bausteine dafür gibt. Insofern ist es auch ziemlich egal, wie man diese Logikfunktion benennt oder wie ihr Schaltplansymbol aussieht.
Hi, habe noch eine Variante für BCD-nach-7-Segment-Decoder gefunden. Interessant ist auch die Variation in der Darstellung der Ziffern von 6 und 9, was bislang hier noch nicht erwähnt wurde. https://sophisticatedcircuits.wordpress.com/category/empfangerbasteln-dcf77/ ciao gustav
Yalu X. schrieb: > Aber wer baut schon einen UART aus einzelnen Gattern auf? ...und wer baut schon einen Binär -> BCD-Wandler aus einzelnen Gattern auf? Wenn man da schon keinen µC nehmen will, kann man ja die entsprechenden TTL-ICs nehmen, oder eine Tabelle in einem Eprom.
Peter D. schrieb: > Yalu X. schrieb: >> Im Gegensatz zu ODD lassen sich XOR und NEQ nicht durch >> Kaskadierung mehrerer Gatter mit jeweils zwei Eingängen >> darstellen > > Seien wir mal ehrlich, wer hat je ein echtes XOR oder > NEQ gebraucht. Die "alte Diskussion" vor ein, zwei Jahren, auf die Yalu anspielt, war gerade deshalb aufgekommen, weil jemand ein echtes XOR mit mehreren Eingängen gebraucht hat. Der Erwiderung, das ginge nicht so einfach mit kaskadierten 7486, wurde zuerst durchaus kein Glaube geschenkt.
Yalu X. schrieb: > Ja, die alte Diskussion. Ich wollte die eigentlich nicht wieder aufkochen; das war mehr eine Randbemerkung. > Der Fehler liegt nicht im Symbol, sondern in der Bezeichnung: Ja, das ist mir gestern dann auch im Rahmen einer längeren Diskussion klargeworden. Die Bezeichnung "XOR" für die Antivalenz ist falsch (bzw. mindestens extrem ungeschickt).
Yalu X. schrieb: > niemand schrieb: >> an der uni haben wir damals (tm) mit berkley sis ein bisschen >> experimentiert. ist schon eine weile her, kenne daher den aktuellen >> stand der software nicht. >> stamina oder nova müsste das gesuchte tool sein, bedienung ist bei >> beiden - hmm - gewöhnungsbedürftig ;-) > > Danke für die Info. Ich werde mir diese Tools bei Gelegenheit mal > anschauen. uups, tschuldign vielmals - hab grad die version in den untiefen der festplatte gefunden. das war V1.2, für die minimierung boolscher ausdrücke ist espresso zuständig; stamina und nova sind für state machine optimization beispiel für ein espresso-file (auszug manpage) A two-bit adder which takes in two 2-bit operands and produces a 3-bit result can be described completely in minterms as:
1 | # 2-bit by 2-bit binary adder (with no carry input) |
2 | .i 4 |
3 | .o 3 |
4 | 0000 000 |
5 | 0001 001 |
6 | 0010 010 |
7 | 0011 011 |
8 | 0100 001 |
9 | 0101 010 |
10 | 0110 011 |
11 | 0111 100 |
12 | 1000 010 |
13 | 1001 011 |
14 | 1010 100 |
15 | 1011 101 |
16 | 1100 011 |
17 | 1101 100 |
18 | 1110 101 |
19 | 1111 110 |
Peter D. schrieb: > Seien wir mal ehrlich, wer hat je ein echtes XOR gebraucht. ich, aber nur mit 2 Eingänge, als Frequenzverdoppler in atariST für den Floppy Controller um von 8MHz auf 16 MHz zu kommen um die 3.5" HD Laufwerke im HD Mode anzufeuern, 4050 einige als Laufzeitglied, dann direkt und verzögert ins XOR und das ganze verodert per enable durch die HD-Lochauswertung, später mit GAL nachgebaut, sparte ICs. Yalu X. schrieb: > Wenn ich mal von mir ausgehe: Ein echtes XOR mit mehr als zwei Eingängen > hätte ich früher tatsächlich schon ein- oder zweimal brauchen können, aber zugegeben für mehr als 2 Eingänge fällt mir auch nichts ein.
Joachim B. schrieb: > Yalu X. schrieb: >> Wenn ich mal von mir ausgehe: Ein echtes XOR mit mehr >> als zwei Eingängen hätte ich früher tatsächlich schon >> ein- oder zweimal brauchen können, > > aber zugegeben für mehr als 2 Eingänge fällt mir auch > nichts ein. Ein "echtes" XOR mit n Eingängen prüft einen 1-aus-n-Code auf Gültigkeit. Das ist genau der Fall, in dem man es braucht. (Das allgemein übliche XOR liefert die Parität; es ist daher kein "echtes" XOR.)
Elektronik Bastler schrieb: > Ich habe einen rechner gebaut, der zwei Dualzahlen (4bit) addiert. Jetzt > stehe ich aber vor einem Problem E baut einen Tischcomputer, der, sobald er angeknipst, stets die Null zeigt, ja, das tut er, welche Taste du auch tippst. In dem Kreis der Sachverständ'gen aus GI *) und Industrie konnt man kaum die Freude bändgen - Doch ein Schlager ward er nie. *) https://de.wikipedia.org/wiki/Gesellschaft_f%C3%BCr_Informatik (unbekannter Dichter)
Karl B. schrieb: > Interessant ist auch die Variation in der Darstellung der Ziffern von 6 > und 9, was bislang hier noch nicht erwähnt wurde. Man kann hier beim Segment a bzw. d mal ein Don't-Care in die Tabelle einsetzten und - Trommelwirbel - die minimale Schaltung ist "die Übliche", also mit Segment a bei der 6 und Segment d bei der 9... Um sich die benötigten Terme der disjunktiven oder konjunktiven Minimalform anzusehen, kann man die Wertetabelle mal in ein Synthesetool (z.B. Lattice ispLever oder Xilinx ISE) einhacken und sich die generierten Gleichungen ansehen. Ist manchmal auch schon aufschlußreich. Allerdings sehen die synthetisierten Schaltungen in CPLDs bei größeren Problemen manchmal doch anders aus, wenn die Anzahl Eingänge in einen Block überschritten wurde. Ob die Tools dann auch Kniffe wie Bündelminimierung beherrschen ist mir unbekannt. (vermutlich eher nicht, dabei generiert man mehrstufige Logik, die sich nicht mehr in eine 2-Stufige CPLD-Struktur einbetten lässt)
Elektronik Bastler schrieb: > Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht > also bis 15) Nö. 2 4Bit Zahlen addiert ergeben 5 Bit. Bei BCD ist 9 + 9 = 18, bei binär ist 0x0F + 0x0F = 0x1E (30 dez)
Weil man es immer wieder anfragt und sucht, hier mehrere Hardware-Lösungen für das Problem "Binär nach BCD" bzw. "Binär nach 7-Segment" Der Ansatz mit 74185 steht wegen schlechter Verfügbarkeit nicht zur Verfügung. 1.) Lösung mit (Eprom) Tabelle http://www.electro-tech-online.com/threads/8bit-binary-number-to-multiple-7seg-displays.145910/ Beitrag #17 und #20 Mit mehrerer Eproms (eines je Stelle 100er, 10er, 1er) könnte auch der 7-Segment-Decoder gleich mit reinkommen. 2.) "Shift and Add-3" bekannt auch als "double dabble" Wohl geeignet für programmierbare Logik http://www.johnloomis.org/ece314/notes/devices/binary_to_BCD/bin_to_bcd.html http://www.tkt.cs.tut.fi/kurssit/1426/S12/Ex/ex4/Binary2BCD.pdf https://en.wikipedia.org/wiki/Double_dabble 3.) Sehr aufwendig, nur zur Abrundung, die Lösung mit Binär-Abwärts und gleichzeitigen Dezimal-Aufwärtszähler https://electronics.stackexchange.com/questions/237874/display-large-decimal-number-using-seven-segments-display 4.) Natürlich auch: uC benutzen Gruss
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.