Forum: Mikrocontroller und Digitale Elektronik Zwei Dezimalstellen mit 7-Segment


von Marcel S. (blackevil673)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich weiß leider nicht ob ich mit dieser Topic hier richtig bin :/
Es geht darum, dass ich einen schaltbaren Addierer/Subtrahierer habe, 
dessen Ergebnis maximal 18 liefert. Das ganze wird später ein 
Taschenrechner mit Zahlen von 0 - 9. Nun bin ich aber nach einer über 
einstündigen Suche ratlos, wie ich das Ergebnis zweistellig in Dezimal 
auf ?zwei 7-Segment Anzeigen ausgeben soll. Im Anhang seht ihr die 
Schaltung. Im Endeffekt soll dort einfach beispielsweise "15" stehen, 
und nicht "F".
Ich wäre wirklich dankbar über ein paar Tipps und Anregungen.
Danke schon einmal!

von Stephan H. (stephan-)


Lesenswert?

in TTL warscheinlich nicht. Mit µC ganz sicher.
Du könntest bei einem "A" per TTL D3 und D1 abfangen und als 1 
darstelen.
Aber dann bleibt ja noch der Rest. Was wird damit ?

von Marcel S. (blackevil673)


Lesenswert?

Das ganze ist Teil eines relativ großen Projekt innerhalb unseres 
Berufskollegs. Ein E-Techniker gab uns schon den Tipp, wir könnten noch 
"Cout", also den Übertrag an eine zweite Anzeige hängen, jedoch hat das 
bei uns noch nciht so wirklich geklappt. µC wären echt schön, sind aber 
leider nicht erlaubt :/

von kein gast (Gast)


Lesenswert?

Wenn ich deinen Schaltplan richtig interpretiere, hat deine 
7-Segment-Anzeige bereits einen 4-bit-binär-nach-hex-Decoder integriert. 
Damit geht es auf jeden fall nicht.
Folgendes könnte funktionieren:
 * Ein binär zu dezimal Decoder, der direkt zwei 7-Segment-Anzeigen 
ansteuert (keine Ahnung ob es das als fertiges Bauteil gibt)
 * Einen kleinen Speicher mit parallelem Interface mit mindestens 4 
Adressleitungen und 8 Datenleitungen (die beiden Segmente für die 
führende 1 können zusammengefasst werden) + evtl. einen 8fach-Treiber
 * Einen kleinen uC, der 4 Eingänge auf 8 Ausgänge umsetzt
 * 1-2 Hände voll Or-Gatter
 * 1-2 Hände voll Dioden
 * einen PC mit Minecraft: http://www.youtube.com/watch?v=SAVFJMwdxk8

von hinz (Gast)


Lesenswert?

Stephan Henning schrieb:
> in TTL warscheinlich nicht.

Ooch, man muss nur einen antiquaren SN74185 auftreiben. ;-)

von Stephan H. (stephan-)


Lesenswert?

ich denke er brauchz sowas wie einen Subtrahierer, der mit mit dem BCD 
Wort angesteuert wird, und aus der UND Kombinaition von D3 und D1 
aktiviert wird.
Ala "1 ist im Übertrag, subtrahiere "A" von BCD Wert". Das in TTL , 
fertig warscheinlich nicht.

von Stephan H. (stephan-)


Lesenswert?

hinz schrieb:
> Stephan Henning schrieb:
>> in TTL warscheinlich nicht.
>
> Ooch, man muss nur einen antiquaren SN74185 auftreiben. ;-)

was es alles gab im Westen.....   GOIL

wobei damit die schöne TTL Aufgabe zu Sau wäre....
Machbar denke ich schon. Nur etwas aufwändig in diskreter Logik.

von MaWin (Gast)


Lesenswert?

Das Zauberwort heisst binary to decimal, der nötige Chip 74185, ohne 
solche Arithmetikchips nur mit XOR, AND, NOT und OR Gattern ist es recht 
aufwändig, obwohl man nur die höherwerigen 3 bit beachten muss, wenn die 
grössergleich 5 sind muss man die Zehner-1 anzeigen und 5 abzirhe(3 
draufzählen). Dein Cout sagt zunächstmal nur ob die Zahl negativ wird, 
also ein Minuszeichen anzuzeigen ist, bevkr du das 2er Komplement 
bildest genau so falsch wie beim subtrahieren.

von Stephan H. (stephan-)


Lesenswert?

meine Idee wäre ja,
einen Zähler der mit dem org. BCD Wert geladen wäre, bei Eintreffen der 
Verundung von D3 und D1 um n Takte rückwärts laufen zu lassen. Dessen 
Wert wird dan als LSB ausgegeben.

von Marcel S. (blackevil673)


Lesenswert?

Also ähm? Gibts nun einen Plan ? :D
Ich hätte auch eine "Two-Digit" Segment Anzeige. Diese hat dann zweimal 
A-H Anschlüsse. Kann man damit etwas anfangen?

von Stephan H. (stephan-)


Lesenswert?

das MSB kommt von einen FF

von Stephan H. (stephan-)


Lesenswert?

Marcel Schwegler schrieb:
> Also ähm? Gibts nun einen Plan ? :D
> Ich hätte auch eine "Two-Digit" Segment Anzeige. Diese hat dann zweimal
> A-H Anschlüsse. Kann man damit etwas anfangen?

den solltest Du haben. Sind doch deine Hausaufgaben. Anregungen gibts 
doch.
Oder nicht ?

von Vorkauer (Gast)


Lesenswert?

Frage:
>Also ähm? Gibts nun einen Plan ?

Antwort:
>Das Zauberwort heisst binary to decimal

von Stephan H. (stephan-)


Lesenswert?

wobei Du den Subtrahierer 4008 ja schon da hast.
Also Überlauf fest stellen, damit den Subtrahierer vom Ursprungswert 10 
abziehen lassen, und den Rest ausgeben plus der "1" aus dem Überlauf.

Den Überlauf kannst Du machen wenn Du D0-D2 veroderst (zB. mit Dioden) 
und das mit D3 verundest.

D0 ----|>---|
D1 ----|>---|       __
D2 ----|>---|______|    |
                   | UND|_____  Aktivierung des Subtrahieres mit H
D3 ________________|    |      und D0 des MSB Bits
                   |____|

Ich denke so könnte das gehen.
Sorry, bin nicht der ASCI Künstler

von Marcel S. (blackevil673)


Angehängte Dateien:

Lesenswert?

Mit 1/4 eurer Begriffe kann ich nichts anfangen :/
Ich hab das jetzt einfach erstmal ganz einfach in Hex Zweistellig 
ausgegeben...klappt auch

von Stephan H. (stephan-)


Lesenswert?

sieht nach Proteus aus. Ares/ISIS. Oder Workbench ?
Nur etwas klein.

: Bearbeitet durch User
von Marcel S. (blackevil673)


Lesenswert?

Das ist Multisim
Hab grade einen langen Text geschrieben der nicht abgeschickt wurde 
Klasse...

Ich habe noch ein Problem.
Der Benuzter drückt einen Taster, z.B. den Taster für 7. Anschließend 
wird der Binärcode für "7" an das obere Schieberegister, Schieberegister 
A, geschickt. Dieses Register soll nun mit 4 Takten die 4Bit Zahl 
einlesen. Wie kann ich sagen: "hey, hör nach vier Takten auf"?
Ein weiteres Problem ist, dass das Tastenfeld nur innerhalb einer 
Leitung den Binärcode ausgibt. Das heißt, ich gebe eine Zahl ein, diese 
wird in das obere Register, Register A, eingelesen. Als nächstes wählt 
man "+" oder "-" und dann noch eine Zahl, die aber in Register B 
eingelesen werden soll, also das untere der beiden Register. Wie kann 
ich diesen Wechsel realisieren. Wir wissen im Moment echt nicht weiter.

von Marcel S. (blackevil673)


Lesenswert?

Keiner eine Idee?

von Stephan H. (stephan-)


Lesenswert?

Wikipedia ist Eurer Freund.

Einen Taschenrechner in TTL nach zu bauen ist kein Pillepalle.
Schon gar nicht, wenn digitale Grundlagen fehlen.
Wenn Ihr alle nicht wisst, was zu tun ist, war entweder der Telekolleg 
Sch* oder Ihr habt alle dabei geschlafen.

Sorry

Euch fehlen rudimentäre Kenntnisse zur Lösung Eures Vorhabens.
Das geht hier nicht mit 2 oder 3 Posts.

: Bearbeitet durch User
von Marcel S. (blackevil673)


Lesenswert?

Das ganze ist leider nicht ganz einfach. Das ganze soll laut dem 
"Lehrer" als Einführung in die Mikrocontrollertechnik dienen. Wir haben 
nicht viel Wissen, auf dem Gymnasium ist ständig alles selbst aneignen 
angesagt. Leider ist das ganze aber nicht so einfach, wenn man nicht mal 
weiß wonach man suchen soll. Das Projekt muss nächste Woche fertig sein 
und Hilfestellung gibts nicht. Jeden Tag erst um 17.30 Uhr von der 
Schule wieder da und dann soll ich mir das auch noch alles aus der Nase 
ziehen.
Ich versuche jetzt irgendwas mit einem Counter...

von Blackbird (Gast)


Lesenswert?

> ... als Einführung in die Mikrocontrollertechnik ...

Na, dann verbietet sich die "diskrete" Digital-IC-Lösung doch von ganz 
alleine.
Und die Mikrocontroller-Werkzeuge sollten da ja vorhanden sein?

Einen ATtiny2313 mit den 4 bit rein und den 1 x 7bit (Einerstelle) und 1 
x 1Bit (Zehnerstelle). Macht 12 Pins. Interner Oszillator eingestellt, 
erspart das externe Quarz.
Die Programmlogik ist einfach nur eine "kombinatorische Schaltung". 
keine sequentielle. Also wirklich simpel. Guter Lehrer!


Blackbird

von Peter D. (peda)


Lesenswert?

Du nimmst einfach einen Komparator (CD4063) und einen weiteren 
Subtrahierer.
Wenn der Komparator >9 erkent, ziehst Du 10 ab und zeigst die "1" am 
ersten Digit an.

von Stephan H. (stephan-)


Lesenswert?

Stephan Henning schrieb:
> wobei Du den Subtrahierer 4008 ja schon da hast.
> Also Überlauf fest stellen, damit den Subtrahierer vom Ursprungswert 10
> abziehen lassen, und den Rest ausgeben plus der "1" aus dem Überlauf.
>
> Den Überlauf kannst Du machen wenn Du D0-D2 veroderst (zB. mit Dioden)
> und das mit D3 verundest.
>
> D0 ----|>---|
> D1 ----|>---|       __
> D2 ----|>---|______|    |
>                    | UND|_____  Aktivierung des Subtrahieres mit H
> D3 ________________|    |      und D0 des MSB Bits
>                    |____|
>
> Ich denke so könnte das gehen.
> Sorry, bin nicht der ASCI Künstler

da hatte ich noch einen Denkfehler, da die 9 auch schon den Überlauf 
auslöst.
Aber das hast Du sicher schon bemerkt. Das heist D0 muss zusätzich noch 
mit D1 und D2 verundet werden und geht dann erstz auf das letzte UND.
Sorry

von Stephan H. (stephan-)


Lesenswert?

Peter Dannegger schrieb:
> Du nimmst einfach einen Komparator (CD4063) und einen weiteren
> Subtrahierer.
> Wenn der Komparator >9 erkent, ziehst Du 10 ab und zeigst die "1" am
> ersten Digit an.

jep, so mein Vorschlag weiter oben. Bis auf den 4063.
Hätte ich auch drauf kommen können.
Ich hätte aus DDR Zeiten noch die DS8121 als 8 Bit Komparator gesagt.
Damit hatte ich die Weckzeit meiner TTL Uhr gestellt.
Man vergisst viel mit den Jahren.....

: Bearbeitet durch User
von Marcel S. (blackevil673)


Angehängte Dateien:

Lesenswert?

Ich glaube da wurde etwas falsch verstanden. Wir dürfen NICHT den µC 
benutzen...Wegen der Verbesserung des Displays auf Dezimal schaue ich 
erstmal wenn das andere alles läuft.
Eigentlich ist jetzt alles fertig. Nur eine Sache klappt immer noch 
nicht.
Jemand drückt eine Taste. Ein kurzer Impuls wird abgefangen und damit 
wird Ausgang A angesteuert. Beim zweiten Impuls soll allerdings der 
Ausgang B angesteuert werden. Ich glaube echt ich hab grade ein Brett 
vor dem Kopf.
Hier einmal die ganze Schaltung und nur der Problemzweig.
Bei meiner Lösung wird das zweite Flip Flop sofort mitgesetzt, wodurch 
es an beiden gleichzeitig ausgegeben wird :/ Irgendein Denkfehler

: Bearbeitet durch User
von Arc N. (arc)


Lesenswert?

Marcel Schwegler schrieb:
> Der Benuzter drückt einen Taster, z.B. den Taster für 7. Anschließend
> wird der Binärcode für "7" an das obere Schieberegister, Schieberegister
> A, geschickt. Dieses Register soll nun mit 4 Takten die 4Bit Zahl
> einlesen. Wie kann ich sagen: "hey, hör nach vier Takten auf"?
> Ein weiteres Problem ist, dass das Tastenfeld nur innerhalb einer
> Leitung den Binärcode ausgibt.

74147 oder 40147?

> Wie kann ich diesen Wechsel realisieren. Wir wissen im Moment echt nicht weiter.

7474 + etwas Kleinvieh

von Peter D. (peda)


Lesenswert?

Marcel Schwegler schrieb:
> Hier einmal die ganze Schaltung und nur der Problemzweig.

Ich kann nichts erkennen.
Mach die Bilder im 1920x1080 Format.
Verkleinern kann ein Browser immer, aber Pixel hinzudichten nicht. Was 
weg ist, ist weg.

von Marcel S. (blackevil673)


Lesenswert?

Keine Ahnung wie ich das in 1920 aufnehmen soll. Ich hab das einfach mit 
dem Snipping Tool erstellt. Links im Bild das sind SR-FFs. Ansonsten sag 
mir wie ich das 1920 mache :)

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Marcel Schwegler schrieb:
> Ich hab das einfach mit
> dem Snipping Tool erstellt.

Kannst Du denn was darauf erkennen?
Die Beschriftungen in den ICs sehen für mich wie Fliegenschisse aus.

Kann Dein Tool kein PDF ausgeben?

von Marcel S. (blackevil673)


Lesenswert?

Nein, dann nenn mir ein Tool und ich mach die Bilder neu ;)

von Peter D. (peda)


Lesenswert?

Marcel Schwegler schrieb:
> Nein, dann nenn mir ein Tool und ich mach die Bilder neu ;)

Kann Dein Tool drucken, dann installier einen PDF-Drucker.

von Stephan H. (stephan-)


Lesenswert?

einen Screenshot kann man auch mit STRG+Druck machen.
Völlig ohne das überbewertete Snipping Tool.

: Bearbeitet durch User
von Marcel S. (blackevil673)


Lesenswert?

Nein, kann es nicht :D
Mit was würdest du es denn machen?

von Marcel S. (blackevil673)


Lesenswert?

Ich weiß dass das auch ohne Snipping Tool geht, jedoch hat mir das auch 
keine Qualitätsverbesserung gebracht. Das im Linken Bild sind ganz 
einfach RS Flip Flops..die Halbrunden sind "Unds" und das spitze ist ein 
NOT...

: Bearbeitet durch User
von Stephan H. (stephan-)


Angehängte Dateien:

Lesenswert?

mal ein Screenshot von deinem ersten Post.
Es geht also.

Ansosnten Datei drucken auf : http://de.pdf24.org/

: Bearbeitet durch User
von Marcel S. (blackevil673)


Angehängte Dateien:

Lesenswert?

Ja gut, ich konnte noch näher ranszoomen stimmt. Die ganze Schaltung 
krieg ich trotzdem nicht besser...
Es geht ja eigentlich auch erstmal nur um den Part.

: Bearbeitet durch User
von Marcel S. (blackevil673)


Lesenswert?

Keiner eine Idee???

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.