Hallo zusammen! Ich habe drei Kodier-Drehschalter, mit welchen ich jeweils Werte von 0 bis 9 einstellen kann. Damit möchte ich Zahlen im Dezimalsystem von 0 bis 999 eingeben. Die einzelnen Kodierschalter haben eine Ausgabe im BCD-System. D.h. ich bekomme insgesamt eine dreistellige BCD-Zahl. Wie kann ich diese mit einfachen Mitteln, mit Standard-TTL bzw. CMOS Bausteinen in eine Binärzahl umwandln? Grund dafür ist, dass ich einen Binärzähler jeweils bis zum eingestellten Wert hochzählen lassen will. Ich kann mir vorstellen, dass es fertige BCD->Binärdekoder als Baustein gibt, aber ich habe gerade keinen da, dafür aber jede menge "TTL-Gräber" aus denen ich die meißten üblichen Bausteine rausholen kann. Einen µController oder CPLD will ich aus Prinzip nicht, weil ich meine Schaltung zu Lernzwecken auf die "oldschool"-Art aufbauen will. Bitte nicht steinigen. ;-) Danke und viele Grüße, Dr. Robotnik
Warum nimmst du nicht HEX-Drehschalter? So kannst du die Zahl direkt binär eingeben und kannst noch das Jopf-Umrechnen dez-binär/hex üben ;-)
Matthias Lipinsky wrote: > Warum nimmst du nicht HEX-Drehschalter? So kannst du die Zahl direkt > binär eingeben und kannst noch das Jopf-Umrechnen dez-binär/hex üben > > ;-) Weil ich drei schöne robuste Kodierschalter für Frontplattenmontage gerade zur Hand habe und sie auch verwenden möchte. Und extra neue Bauteile bestellen will ich nicht, wollte eher das Zeug, was ich noch rumliegen habe recyclen.
>gerade zur Hand habe ...
Das ist wieder mal typisch.
Irgendein Teil gefunden und damit große Sprünge machn wollen. Den
Aufwand dabei nicht akzeptieren wollen und ein passenderes Teil ist auch
nicht gut..
man man man....
Matthias Lipinsky wrote: >>gerade zur Hand habe ... > > Das ist wieder mal typisch. > Irgendein Teil gefunden und damit große Sprünge machn wollen. Den > Aufwand dabei nicht akzeptieren wollen und ein passenderes Teil ist auch > nicht gut.. > > man man man.... Hallo? Was soll das denn schon wieder?! Wenn Du keine Lösung hast wie man mit Logikgattern einen BCD nach Binär dekoder realisiert, dann halt dich doch bitte raus. Ich habe nicht gesagt, dass ich einen bestimmten Aufwand nicht akzeptieren will! Wenn es eine Lösung mit einer Hand voll Standard Logik ICs (von mir aus auch Register etc.)gibt, würde ich sie gerne anwenden. Wenn nicht, dann halt nicht. Dann schmeiße ich die Kodierschalter raus und nehme einfache binäre kodier-schiebe-schalter. Aber dabei würde man ja nix lernen.
V. Baumann wrote: > Wie kann ich diese mit einfachen Mitteln, mit Standard-TTL bzw. CMOS > Bausteinen in eine Binärzahl umwandln? > Grund dafür ist, dass ich einen Binärzähler jeweils bis zum > eingestellten Wert hochzählen lassen will. Mit Gattern wird das sehr aufwendig. Das einfachste ist, Du nimmst statt der Binärzähler 3 Dezimalzähler, z.B. 74HC192. Dann mußt Du nichtmal mehr vergleichen, da diese Zähler setzbar sind. Du setzt sie also auf den Schalterwert und zählst runter. Peter
V. Baumann wrote: > Matthias Lipinsky wrote: >>>gerade zur Hand habe ... >> >> Das ist wieder mal typisch. >> Irgendein Teil gefunden und damit große Sprünge machn wollen. Den >> Aufwand dabei nicht akzeptieren wollen und ein passenderes Teil ist auch >> nicht gut.. >> >> man man man.... > > Hallo? Was soll das denn schon wieder?! Wenn Du keine Lösung hast wie > man mit Logikgattern einen BCD nach Binär dekoder realisiert, dann halt > dich doch bitte raus. Du bist ganz schön dreist. Was Du vor hast, ist nämlich nicht ganz ohne... > Ich habe nicht gesagt, dass ich einen bestimmten Aufwand nicht > akzeptieren will! Dann treibe doch den Aufwand, selbst zu recherchieren, anstatt hier andere Leute um fertige Lösungen zu bitten und dabei noch schräg anzumachen. > Wenn es eine Lösung mit einer Hand voll Standard Logik ICs (von mir aus > auch Register etc.)gibt, würde ich sie gerne anwenden. Mit Logik-Gattern fällt mir auf die Schnelle nix ein. Mit einem MC (z.B. AVR) ist das lächerlich einfach. Du kannst es aber auch mit einem EPROM realisieren, oder besser mit Zweien. Die Adressen hängst Du an die Codierschalter (mit PullUps), aus den Daten kommen die Zählerstände. Das EPROM muss natürlich entsprechend programmiert werden. > Wenn nicht, dann halt nicht. Dann schmeiße ich die Kodierschalter raus > und nehme einfache binäre kodier-schiebe-schalter. Das würde den Aufwand drastisch reduzieren. > Aber dabei würde man > ja nix lernen. Du lernst auch nix, wenn Du andere Leute ausfragst, anstatt Dich Schritt für Schritt einzuarbeiten. Es bringt nichts, den zweiten Schritt vor dem ersten machen zu wollen. ...
Ist doch ganz einfach: 3 x Dezimalzähler und 3 x 4-Bit Komparatoren zusammenschalten und einen externen Takt anlegen, der die Zähler hochzählen läßt. Parallel zu den Dezimalzählern wird ein 10-Bit Binärzähler mit nachgeschaltetem (oder internem) Register mit gleichem Takt hochgezählt. Die Komparatoren liefern bei Gleichheit von Dezimalzählern und Dezimalschaltern einen Impuls, welcher den Zustand des Binärzählers ins (Ergebnis)register schreibt und die Zähler auf '0' zurücksetzt. Fertig ;-) Bei Risiken udn Nebenwirkungen einen AVR einsetzen.
74185: http://www.datasheetcatalog.com/datasheets_pdf/D/M/7/4/DM74185A.shtml Kaskadierung der BCD-Decoder siehe Datenblatt
Ei dann schlage z.B. Kapitel 9 ab Seite 142 im "Integrated Circuits Catalogue" von TI auf und baue den Decoder 74184, 74185 o.Ä. mit NAND-Gattern und Invertern nach. Dabei übst Du auch wieder Wahrheitstabellen.
Wenn es unbedingt Standardlogik sein muss: Fünf 4-Bit-Binäraddierer, davon mindestens einer mit Carry-Out, (z.B. 7483 oder 4008) sollten genügen. Die passen auch noch gut in eine Hand :) Ansonsten ein geeignet programmiertes 4Kx16-Bit-PROM, EPROM oder NOR-Flash oder zwei 4Kx8 oder ein 4Kx8 und zwei 4Kx1. Oder ein PAL oder GAL oder ein Mikrocontroller mit nichtflüchtigem Programmspeicher. Oder eben ziemlich viele 7400.
Gast wrote: > Ist doch ganz einfach: > > 3 x Dezimalzähler und 3 x 4-Bit Komparatoren zusammenschalten und einen > externen Takt anlegen, der die Zähler hochzählen läßt. > Parallel zu den Dezimalzählern wird ein 10-Bit Binärzähler mit > nachgeschaltetem (oder internem) Register mit gleichem Takt hochgezählt. > > Die Komparatoren liefern bei Gleichheit von Dezimalzählern und > Dezimalschaltern einen Impuls, welcher den Zustand des Binärzählers ins > (Ergebnis)register schreibt und die Zähler auf '0' zurücksetzt. > > Fertig ;-) > Bei Risiken udn Nebenwirkungen einen AVR einsetzen. Ja so habe ich mir das auch gedacht, einfach anstatt einem 8 bit binärzähler plus komparator, für jede dekade einen extra zähler plus komparator zu nehmen, aber ich habe nur einen komparator! Das Datenblatt für den '184er habe ich auch schon durchgesehen und da muss man ja 6 Stück kaskadieren um eine dreistellige BCD Zahl umzuwandeln! Ich dachte echt das wäre ein triviales Problem, hätte nicht gedacht dass es doch so kompliziert ist. Ich denke ich werde den Ansatz mit den 3 zählern und drei komparatoren weiterverfolgen. ich muss nur noch zwei komparatoren auftreiben.
Damals...ja damals hab ich das Innenleben mancher ICs diskret nachgebaut. Da kosteten einfachste Gatter noch 30DM mit Fan Out 6 bei DIMEG.
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.