Archiv verlassen und diese Seite im Standarddesign anzeigen : 74LS160
Hallo,
ich mache gerade ein Praktikum und habe folgende Aufgabe gekriegt:
Ich soll einen 74LS160 dazu bringen von 0 bis 5 zu zählen.
Dazu habe ich die Seite 10 aus dieser Beschreibung (http://www1.jaycar.com.au/images_uploaded/SDLS060.PDF) bekommen.
Kann man daraus schon ablesen wie so ein IC funktioiert? Ich kann' s nämlich nicht :-(
Was ich verstanden habe:
Am Anfang wird alles gelöscht (alle Outputs werden auf Null gesetzt)
Dann (Preset to seven) werden die Outputs auf
Qa = Eins
Qb = Eins
Qc = Eins
QD = Null
gesetzt ( 1110 = Sieben ) Wozu eigentlich?
Dann fängt das Ding an zu zählen. Und ich sehe nicht mehr durch. Wieso werden die Zahlen 8, 9, 0, 1, 2, 3 ausgegeben und nicht die anderen? Es erfolgte doch keine weiteren Eingabe?
Kann mir jemand einen Denkanstoss/Hinweis geben?
Danke!
Yossarian
11.07.2007, 21:15
Hallo
Das ist ein Beispiel.Du kannst auch von null zählen oder andere Zählerstände laden.
0111 ist sieben.
Mit freundlichen Grüßren
Benno
Das ist ja klar, dass es ein Beispiel ist. Ich komme mit diesem Beispiel überhaupt nicht klar - weiss nicht wo ich anfangen soll.
Wozu wird der Zählerstand auf SIEBEN gesetzt?
Ach du Sch....! Ich gebe die Zahl ein ab der weitergezählt werden soll, in diesem Beispiel also die sieben, oder? :-)
Und dann zählt es weiter 8,9,0,1,2,3. Wieso nur bis drei? Weil dann ENP auf Null gesetzt wird?
Hallo,
es handelt sich beim ´160 ja um einen programmierbaren, synchronen, dekadischen Zähler, der im BCD-Code aufwärts zählt und asynchron zurückgesetzt wird.
Dies was du auf deiner Seite 10 siehst, beschreibt diese timing-Diagramm. Grob gesagt, liegt an den Eingängen die "7" an, vorher wird gelöscht, dann der Wert "7" geladen, getaktet (also synchron) an den Ausgängen (Q) ausgegeben und weitergezählt .... und zwar solange, bis der "inhibit" Eingang gesetzt wird. Du erkennst am timing, dass dann, unabhängig von allen Eingangssignalen der Ausgangswert gespeichert wird... wie du erkennen kannst unabhängig von Takt (asynchron).
Dass es in dem Beispiel bei "7" losgeht, ist also reiner Zufall.
ich hoffe, ich konnte dir etwas weiterhelfen.
Gruß
m
Danke erstmal für die Hilfe.
Nun zum IC:
Es zählt ja solange bis "ENP" und "ENT" auf Eins gesetzt bleiben. Wo "ENP" = 0 ist, kommt es zu dieser Inhibit-Phase. Wieso wird "ENT" zwei Takte später auf 0 gesetzt und nicht gleichzeitig mit "ENP"? Total irretierend.
Und wieso setzt man die Eingänge "so früh" auf 1110 wenn die nur während der Presetphase ausgelesen werden?
Ripple-Carry-Output (RCO) wird nur beim Übergang von 9 auf 0 erzeugt, ob ich das berücksichtige oder nicht, ist mir überlassen, oder?
Und da in diesem Beispiel die Zahlen 8,9,... ausgegeben werden muss 7 als Startwert festgelegt werden. (Deswegen die Übernahme der Eingabewerten nach dem Löschen).
Was passiert eigentlich, wenn ich es weiterzählen lasse? Wann bricht es ab? Bricht es überhaupt ab? Wenn ENP und ENT auf 1 bleiben, was wird dann ausgegeben? Alle werte von 0000 bis 1111?
Ein Datenblatt beschreibt die verschiedenen Möglichkeiten der Ein-und Ausgänge. Wie gross soll die Schwarte denn werden? Der Zähler macht seinen Job und zählt bis er gestoppt oder unterbrochen wird. Ob ein Zählerstand vorgeladen (preset) wird oder nicht, bleibt dem Anwender überlassen. Wie früh preset gesetzt wird ist eigentlich völlig wurscht, solange sie stabil sind wenn der Befehl kommt (und clock).
nochmal Hallo,
wie ist denn deine Aufgabe genau definiert. Zähler soll bis 5 zählen, und dann??? Was soll dann passieren? Soll Zählerstand wieder auf 0 gesetzt werden und es dann von vorne losgehen? Ist die Verwendung weiterer Bauteile erlaubt?
Wenn du mir diese Angaben gibst, fällt mir vielleicht was ein.
Gruß
m
...Soll Zählerstand wieder auf 0 gesetzt werden und es dann von vorne losgehen? Ist die Verwendung weiterer Bauteile erlaubt?...
Ja. Es muss eine Schaltung aufgebaut werden die eine 7-Segment-Anzeige ansteuert und von 0 bis 5 zählt (in einer "Schleife": 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, ....)
Ich kann solche Aufgabe z.B. mi J-K-Flip-Flop lösen. Das ist kein Problem.
Mein Problem mit 74LS160 ist halt, dass es mir "zuviel" Arbeit abnimmt. Ich lege den Startwert fest und es zählt dann.
Ich habe mit einem Simulationsprogramm mit diesem IC experementiert. Die Taktleitung habe ich allerdings per Hand simuliert. D. h. wenn die Zahl "5" kommt, löse ich per Hand "clear" aus. Optimal wäre es natürlich, wenn ich nur einen Startwert eingebe und meine Schaltung mit diesem IC vollautomatisch rechnet. Und "clear" dann auch dementsprechend vollautomatisch ausgelöst wird.
Für die Schaltung darf ich nur Gatter verwenden (AND, OR, NAND, NOR, XOR).
Ich muss in meiner Aufgabe von "0" bis "5" zählen:
wenn die Zahl "5" kommt, muss der Zählerstand auf "0" gesetzt werden und weiter bis "5" zählen usw..
Ich muss ja irgendwie erkennen wann die Zahl "5" ausgegeben wird.
0000=0
0001=1
0010=2
0011=3
0100=4
0101=5
Meine Idee: Ich "zapfe" die Ausgangswerte "ab" und prüfe diese:
Wenn Qa=1 und Qc=1 und Qb=0 und Qd=0, dann muss der Befehl "clear" kommen (die Zahl "5" wurde ja ausgegeben).
Nach dem "clear" muss aber "load"-Befehl kommen und wie kann ich erreichen, dass nach dem "clear" "load" ausgeführt wird? :-( Und zwischen diesen beiden Befehlen muss ich auch den Startwert (also "0", denn ich zähle ja von "0" bis "5") festlegen.
Wenn ich den Takt "per Hand" festlege und die "clear", "load"-Befehle "per Hand" eingebe, dann funktioniert es.
Kann man das so aufbauen, dass wenn ich nur einmal eine Taste drücke, es dann ständig voll atomatisch von "0" bis "5" zählt? Ich vermute, es muss irgendwie gehen, kann dies aber nicht erreichen...
Hallo,
ich würde mal behaupten, daß Clear die Ausgänge auf 0 Setztt, was willst Du da noch laden ?
Eckhard
kalledom
13.07.2007, 14:21
Hallo,
wenn Du von 0 bis 5 zählen möchtest, dann mußt Du durch einen Vergleicher feststellen, wann der Zähler 6 erreicht. In dem Moment wird entweder ein low auf Reset oder ein low auf Load gegeben. In beiden Fällen wird die '6' sofort nach '0' oder den anliegenden Parallel-Load-Wert (der sollte allerdings nicht '6' sein !) springen und der Ausgang des Vergleichers wieder auf high gehen.
Yossarian
13.07.2007, 14:24
Hallo
Zähler löschen, zählen, Ausgänge mittels Logik so verknüpfen, daß beim nächsten Takt nach der '5' der Zähler gelöscht wird.(also Verknüpfungsausgang auf Clear Eingang des Zählers)
Mit freundlichen Grüßen
Benno
edit:war zu langsam
Hallo,
ich würde mal behaupten, daß Clear die Ausgänge auf 0 Setztt, was willst Du da noch laden ?
Eckhard
](*,) Danke für den Hinweis! Dann ist es ja noch einfacher...
So sieht meine Schaltung aus. Sie funktioniert aber noch nicht ganz richtig, aber fast ;-)
http://www.hostpix.de/file.php?dat=nzgYWw6j.jpg
Mit "Key B" gebe ich den Takt vor (erstmal manuell).
Vielen Dank für Eure Hilfe!
Yossarian
13.07.2007, 15:21
Hallo
Wenn A=0 und D=0 und B=1 und C=1 dann clr = 0
Mit freundlichen Grüßen
Benno
Yossarian
13.07.2007, 15:36
Hallo
nur als Anregung
Mit freundlichen Grüßen
Es war mir klar, dass ich die Leitungen vertauscht habe ;-)
Mir ist wichtig, dass das Ding zählt. Den Zahlenbereich kann ich jederzeit ändern.
Vielen Dank noch mal an alle!
Es braucht doch nur ein 7400-Gate dessen Ausgang auf den clear-Eingang geht. Ist der Clear-Eingang asynchron, würde beim Auftauchen der "6" = QC und QB = high und mit den Eingängen des 7400 verbunden, Clear sofort low und damit auch die Ausgänge des 160.
Ist der Clear-Eingang aber synchron, dann müsste QC und QA ="5" mit den Eingängen des 7400 verbunden werden. Der clear-"Befehl" würde dann zwar schon anstehen, aber erst nach dem nächsten Clock-Impuls Wirkung zeigen.
Hallo trafo!
So wie der JohnyP schon geschrieben hat Du brauchst nur ein NAND, da der MR (Master Reset) Eingang asynchronisch ist.
MfG
@PICture Ich war zu faul zum checken des MR, denn es gibt da IMO auch noch einen 160A Typen
Yossarian
14.07.2007, 08:25
Hallo
Daran habe ich nicht gedacht: Da er nur bis 5 (bzw.6) zählt, taucht die Kombination B und C gleich high nur einmal auf, ergo genügt ein Gatter.
Mit freundlichen Grüßen
Benno
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.