PDA

Επιστροφή στο Forum : Ξέρεις από counters?



Hatzitesla
16-05-12, 22:07
Λοιπόν κύριοι έχω,σχεδιάσει έναν counter στο multisim με 4 flip-flops το οποίο μετράει μέχρι το 15.
Το θέμα είναι ότι δεν θέλω να μετράει μέχρι το 15.Θέλω να μετράει από το 1 μέχρι το 4.
Μήπως μπορεί να μου πει κάποιος πώς να συνδέσω πύλες έτσι ώστε να πάρω το επιθυμητό αποτέλεσμα?
Και ναι...ξέρω ότι για να μετρήσεις μέχρι το 4 χρειάζεσαι 3 flip-flops,
απλά με 3 πύλες δεν μπορούσα να συνδέσω το display γιατί έχει 4 pins.
33185
Ευχαριστώ.

katmadas
16-05-12, 22:38
Το να συνδεσεις το 4 πιν στην γη αντι να βαλεις τεταρτο φλιπ φλοπ το σκεφτηκες?

Mousikantis
17-05-12, 00:07
Ναι μπορεις να αφήσεις το ένα πιν απο το display εκτος αλλά πάλι θα μετράς μέχρι το 111 συνεπώς μέχρι το 7

Edit: Ιδέα! Αν θέλεις απο 1-4 (άρα χωρίς το μηδέν) και αν δε σε πειράζει που ο counter θα ξεκινάει με το 4 μπορείς να χρησιμοποιήσεις τα δυο jk και για το τρίτο ψηφίο να βάλεις μία nor 2 εισόδων που θα είναι τα Q σου απο τα jk! Οπότε όταν και τα δύο είναι 00 εσύ θα παίρνεις έξοδο 1 σχηματίζοντας έτσι το ψηφιακό 4 "100" και μετά θα κάνει το κύκλο του κανονικά

FILMAN
17-05-12, 15:56
Γιατί παιδεύεσαι; Βάλε έναν μετρητή με preset (π.χ. 4029) και ένα decoder BCD to 7 segment (π.χ. 4543) να οδηγάει το display. Πάλι 2 ολοκληρωμένα θα έχεις...

Hatzitesla
18-05-12, 21:48
explain..............

katmadas
18-05-12, 22:16
explain..............

Καταρχην δες λιγο τα datasheet και μετα ρωτα τι δεν καταλαβαινεις:

http://www.jaycar.com.au/images_uploaded/CD4029BC.PDF

http://www.nxp.com/documents/data_sheet/HEF4543B.pdf

katmadas
18-05-12, 22:19
Γιατί παιδεύεσαι; Βάλε έναν μετρητή με preset (π.χ. 4029) και ένα decoder BCD to 7 segment (π.χ. 4543) να οδηγάει το display. Πάλι 2 ολοκληρωμένα θα έχεις...

Παντως ετσι οπως το λες Φιλιππα νομιζω θελει ακομα 1 για να μηδενιζει τον μετρητη.....

FILMAN
21-05-12, 12:11
Παντως ετσι οπως το λες Φιλιππα νομιζω θελει ακομα 1 για να μηδενιζει τον μετρητη.....

Ναι αλλά εγώ είμαι πονηρός!
Θα δώσω μόνιμα στα jam inputs τον αριθμό 0001 (1 δηλαδή) οπότε όταν η έξοδος θα είναι ο αριθμός 1, με διαδοχικούς παλμούς clock η έξοδος θα γίνεται:

0001 (1)
0010 (2)
0011 (3)
0100 (4)
0101 (5)

Πώς είπατε; Μόνο ως το 4 θέλουμε; Βάζω μια αντίσταση 10kΩ από την έξοδο C στην είσοδο preset και επίσης μια δίοδο 1Ν4148 από την έξοδο Α πάλι στην είσοδο preset (η άνοδος στο preset). Έτσι όταν η έξοδος του μετρητή είναι 1 ή 2 ή 3 ή 4 το preset έχει λογικό 0. Με τον επόμενο παλμό η έξοδος γίνεται 5 και το preset πάει σε λογικό 1 οπότε φορτώνονται τα jam inputs στην έξοδο και η έξοδος γίνεται 1, οπότε το preset ξαναγίνεται 0. Έτσι λοιπόν ο μετρητής θα μετράει συνέχεια 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, ... Δηλαδή αυτό που θέλει ο φίλος μας.

Τι; Ξεχάσαμε την αρχικοποίηση; Ε όχι, δεν θέλουμε να δώσουμε τροφοδοσία και η οθόνη να δείξει 6! Βγάζουμε την αντίσταση και τη δίοδο που βάλαμε άμεσα στο preset και παρεμβάλλουμε εκεί άλλη μια αντίσταση 10kΩ. Βάζουμε και έναν πυκνωτή 100nF από το preset στη θετική τροφοδοσία και τέλος. Τώρα κάθε φορά που δίνουμε τροφοδοσία η οθόνη θα δείχνει τον αριθμό 1.

Συμπέρασμα: Δεν θέλουμε 3ο ολοκληρωμένο, αλλά 2 αντιστάσεις, μια δίοδο, κι έναν πυκνωτή! :001_tt2::001_tt2:

ΚΥΡΙΑΚΟΣ 69
21-05-12, 21:24
Ναι αλλά εγώ είμαι πονηρός!


Μου έφερες στο νου, το τραγούδι του Ανδρεάδη : Είμαι πολύ ωραίος ...Αλήθεια ? ....Βεβαίως! :biggrin:

FILMAN
22-05-12, 16:42
Μου έφερες στο νου, το τραγούδι του Ανδρεάδη : Είμαι πολύ ωραίος ...Αλήθεια ? ....Βεβαίως! :biggrin:
:lool::lool: Πάντως όταν τον είδα πρώτη φορά από κοντά, δεν ήξερα ούτε το τραγούδι ούτε το όνομα! :lool::lool:

FILMAN
23-05-12, 16:44
Και εδώ ένα ίδιας λειτουργίας κύκλωμα έτσι όπως προσπάθησε να το κάνει αρχικά ο Χατζητέσλας (τι κάνει ο άνθρωπος άμα βαριέται... Τουλάχιστον ξεσκούριασα λίγο...)

Υ.Γ. 1: Το LED display που έβαλα είναι κοινής καθόδου. Αν θέλουμε να οδηγήσουμε display κοινής ανόδου συνδέουμε την κοινή άνοδο στην τροφοδοσία (και όχι στη γη), τη R1 στη γη (και όχι στην τροφοδοσία), και αλλάζουμε τις συνδέσεις του display με τα flip - flops ούτως ώστε να εκμεταλλευόμαστε τις αντίστοιχες συμπληρωματικές (αντεστραμμένες) εξόδους τους, και αντίστροφα.

Υ.Γ. 2: Προσοχή, δεν φαίνονται οι συνδέσεις των ολοκληρωμένων με την τροφοδοσία.

Υ.Γ. 3: Κατά την αρχικοποίηση η οθόνη θα δείχνει τον αριθμό 1.

GeorgeVita
23-05-12, 16:49
Και εδώ ένα ίδιας λειτουργίας κύκλωμα ...
Και το παλαιότερό σου με τα διοδάκια: http://www.hlektronika.gr/forum/showthread.php?t=51114&p=370894&viewfull=1#post370894
gV

FILMAN
23-05-12, 16:54
Και το παλαιότερό σου με τα διοδάκια: http://www.hlektronika.gr/forum/showthread.php?t=51114&p=370894&viewfull=1#post370894
gV
Χε χε, αυτό βέβαια κάνει άλλη δουλειά αλλά η φιλοσοφία είναι ίδια (τώρα θα εμφανιστεί ο Nemmesis και θα μου πει ότι έχω σχεδιαστικό στυλάκι '50s...) :001_smile:

katmadas
23-05-12, 17:12
Οταν βαριεσε αν δημιουργεις ειναι οτι καλυτερο φιλε...
Πως και δεν το εδωσες πριν και προτηνες τα ολοκληρωμενα?

Hatzitesla
23-05-12, 21:56
FILMAN RESPECT! ...μήπως μπορείς να προχωρήσεις σε μια πλήρη ανάλυση του κυκλώματος?...μετράει αυτό ακριβώς που θέλω?
Και μήπως υπάρχει πιθανότητα απλοποίησης...μου φαίνετε λίγο πολύπλοκο για μία τόσο απλή λειτουργία...Ευχαριστώ!

GeorgeVita
24-05-12, 08:38
FILMAN RESPECT! ...μήπως μπορείς να προχωρήσεις σε μια πλήρη ανάλυση του κυκλώματος?...μετράει αυτό ακριβώς που θέλω?
Και μήπως υπάρχει πιθανότητα απλοποίησης...μου φαίνετε λίγο πολύπλοκο για μία τόσο απλή λειτουργία...Ευχαριστώ!

Σπύρο νομίζω ότι αξίζει τον κόπο να "διαβάσεις" το κύκλωμα. Ξεκίνα από το ότι το clock πηγαίνει σε όλα τα F/F τα οποία θα βγάλουν έξοδο ανάλογα με τις εισόδους ελέγχου (J, K, Set, Reset). Θα χρειαστείς τον λογικό πίνακα ενός JK F/F και τον δυαδικό πίνακα που "ανάβουν" τα τμήματα στο display. "Διαβάζοντας" θα κατανοήσεις το κύκλωμα και θα "ζυγίσεις" τον Φίλιππο!

Μη ξεχνάς την υπογραφή σου:

There are 10 types of people in this world, those who understand binary and those who don't.
Δεν πιστεύω να είσαι στους 9 που δεν καταλαβαίνουν το δυαδικό σύστημα!

gV

katmadas
24-05-12, 09:34
Μη ξεχνάς την υπογραφή σου:
There are 10 types of people in this world, those who understand binary and those who don't.


Δεν πιστεύω να είσαι στους 9 που δεν καταλαβαίνουν το δυαδικό σύστημα!

gV


Respect.
Γενικα οι απαντησεις σου γραφουν ιστορια.
Μετα απο το η γλωσσα κοκαλα δεν εχει και κοκαλα τσακιζει....
παμε στο το πληκτρολογιο κοκαλα δεν εχει και κοκαλα τσακιζει!

FILMAN
24-05-12, 12:20
Πως και δεν το εδωσες πριν και προτηνες τα ολοκληρωμενα?

Μα ακριβώς επειδή είναι δουλειά για φυλακισμένους!


μετράει αυτό ακριβώς που θέλω?

Μετράει: 1, 2, 3, 4, 1, 2, 3, 4, 1...
Αυτό δεν θέλεις;


Και μήπως υπάρχει πιθανότητα απλοποίησης...μου φαίνετε λίγο πολύπλοκο για μία τόσο απλή λειτουργία...

Γιατί το λες αυτό; Για να δουλέψει θέλει μια πηγή ισχύος που είναι η μπαταρία Bat1. Ο C1 είναι ο απαραίτητος πυκνωτής απόζευξης όλου του κυκλώματος (στην πραγματικότητα θα χρειαστούν άλλοι 2 των 100nF ο καθένας για καθένα από τα τσιπάκια). Το δικτύωμα C2 - R8 αρχικοποιεί τα flip - flops ώστε κατά την τροφοδότηση η οθόνη να δείχνει τον αριθμό 1. Τα flip - flops είναι η καρδιά του κυκλώματος οπότε δεν φεύγουν, το ίδιο και η οθόνη. Οι R1 - R4 και οι R6, R7 είναι οι αντιστάσεις περιορισμού του ρεύματος για τα LED του display και είναι φυσικά απαραίτητες. Η D1 και η R5 σχηματίζουν μια πύλη AND που χρειάζεται σε εκείνο το σημείο - πραγματικά πιο απλή δεν γίνεται! Τελικά δεν βλέπω να φεύγει τίποτα!

Βέβαια, με 4 καταστάσεις μόνο αρκούν θεωρητικώς μόνο 2 flip - flops. H αποκωδικοποίηση όμως που θα πρέπει να γίνει μετά ώστε να οδηγηθεί το display θα απαιτήσει αρκετά εξαρτήματα (ή απλώς άλλο ένα ολοκληρωμένο - BCD to 7 segment decoder). Έτσι, έβαλα εξαρχής τα απαραίτητα flip - flops (διπλάσια σε αριθμό σε σχέση με τα θεωρητικώς απαραίτητα) ώστε να οδηγούν την οθόνη κατευθείαν (όπως είχες προσπαθήσει κι εσύ στην αρχή).


μήπως μπορείς να προχωρήσεις σε μια πλήρη ανάλυση του κυκλώματος?

Εννοείς το πώς καταλήγουμε να σχεδιάσουμε αυτό το πράγμα, ή το πώς αυτό δουλεύει; Αν εννοείς το πρώτο πες μου να φτιάξω ένα σχετικό ποστ, αν εννοείς το δεύτερο, κάνεις αυτό που λέει παρακάτω ο Γιώργος:


Σπύρο νομίζω ότι αξίζει τον κόπο να "διαβάσεις" το κύκλωμα. Ξεκίνα από το ότι το clock πηγαίνει σε όλα τα F/F τα οποία θα βγάλουν έξοδο ανάλογα με τις εισόδους ελέγχου (J, K, Set, Reset). Θα χρειαστείς τον λογικό πίνακα ενός JK F/F και τον δυαδικό πίνακα που "ανάβουν" τα τμήματα στο display. "Διαβάζοντας" θα κατανοήσεις το κύκλωμα ...

Πάμε να το δούμε μαζί.

Αρχικά να πούμε πώς δουλεύει ένα J-K flip - flop όταν έρχεται ο παλμός χρονισμού. Τα J και K είναι είσοδοι, οπότε υπάρχουν οι παρακάτω 4 περιπτώσεις:
α) J = 0, K = 0: Η έξοδος παραμένει ως έχει (δεν αλλάζει)
β) J = 0, K = 1: Η έξοδος γίνεται 0 (αν ήταν από πριν 0 τότε δεν αλλάζει)
γ) J = 1, K = 0: Η έξοδος γίνεται 1 (αν ήταν από πριν 1 τότε δεν αλλάζει)
δ) J = 1, K = 1: Η έξοδος αλλάζει (αν ήταν 0 γίνεται 1, και αν ήταν 1 γίνεται 0)

Πάμε τώρα να δούμε το κύκλωμα. Με την έναρξη της τροφοδοσίας, το δικτύωμα C2 - R8 θα στείλει ένα σύντομο θετικό παλμό σε όλες τις εισόδους R (reset) των flip - flops. Οι είσοδοι S (set) είναι όλες γειωμένες, οπότε οι έξοδοι όλων των flip - flops θα είναι 0 και οι συμπληρωματικές τους θα είναι 1. Έτσι, στα segments του display θα έχουμε τις παρακάτω καταστάσεις:
a = 0, b = 1 (διότι πάει κατευθείαν στην τροφοδοσία), c = 1, d = 0, e = 0, f = 0, g = 0. Ανάβουν λοιπόν μόνο τα segments b και c οπότε το display δείχνει τον αριθμό 1.

Τα J και Κ του κάθε flip - flop θα είναι:
α) Για το 1ο: J = 1, K = 1
β) Για το 2ο: J = 1, K = 1
γ) Για το 3ο: J = 0 (η D1 είναι ορθά πολωμένη), K = 1
δ) Για το 4ο: J = 1, K = 0

Κατά συνέπεια, με τον επόμενο παλμό clock οι έξοδοι των flip - flops θα διαμορφωθούν ως εξής:
α) Το 1ο θα αλλάξει κατάσταση οπότε η έξοδός του από 0 που ήταν θα γίνει 1
β) Το 2ο θα αλλάξει κατάσταση οπότε η έξοδός του από 0 που ήταν θα γίνει 1
γ) Το 3ο θα μηδενιστεί οπότε η έξοδός του θα παραμείνει 0
δ) Το 4ο θα σεταριστεί οπότε η έξοδός του από 0 που ήταν θα γίνει 1

Έτσι, στα segments του display θα έχουμε τώρα τις παρακάτω καταστάσεις:
a = 1, b = 1, c = 0, d = 1, e = 1, f = 0, g = 1. Είναι σβηστά λοιπόν μόνο τα segments c και f οπότε το display δείχνει τον αριθμό 2.

Ταυτόχρονα, τα J και Κ του κάθε flip - flop τώρα θα είναι:
α) Για το 1ο: J = 0, K = 0
β) Για το 2ο: J = 0, K = 1
γ) Για το 3ο: J = 0 (λόγω της R5, η D1 είναι ανάστροφα πολωμένη), K = 1
δ) Για το 4ο: J = 1, K = 0

Κατά συνέπεια, με τον επόμενο παλμό clock οι έξοδοι των flip - flops θα διαμορφωθούν ως εξής:
α) Το 1ο δεν θα αλλάξει κατάσταση οπότε η έξοδός του θα παραμείνει 1
β) Το 2ο θα μηδενιστεί οπότε η έξοδός του από 1 που ήταν θα γίνει 0
γ) Το 3ο θα μηδενιστεί οπότε η έξοδός του θα παραμείνει 0
δ) Το 4ο θα σεταριστεί οπότε η έξοδός του θα παραμείνει 1

Έτσι, στα segments του display θα έχουμε τώρα τις παρακάτω καταστάσεις:
a = 1, b = 1, c = 1, d = 1, e = 0, f = 0, g = 1. Είναι σβηστά λοιπόν μόνο τα segments e και f οπότε το display δείχνει τον αριθμό 3.

Τώρα, τα J και Κ του κάθε flip - flop θα είναι:
α) Για το 1ο: J = 0, K = 1
β) Για το 2ο: J = 0, K = 1
γ) Για το 3ο: J = 1 (λόγω της R5, η D1 δεν έχει πόλωση), K = 1
δ) Για το 4ο: J = 1, K = 0

Κατά συνέπεια, με τον επόμενο παλμό clock οι έξοδοι των flip - flops θα διαμορφωθούν ως εξής:
α) Το 1ο θα μηδενιστεί οπότε η έξοδός του από 1 που ήταν θα γίνει 0
β) Το 2ο θα μηδενιστεί οπότε η έξοδός του θα παραμείνει 0
γ) Το 3ο θα αλλάξει κατάσταση οπότε η έξοδός του από 0 που ήταν θα γίνει 1
δ) Το 4ο θα σεταριστεί οπότε η έξοδός του θα παραμείνει 1

Έτσι, στα segments του display θα έχουμε τώρα τις παρακάτω καταστάσεις:
a = 0, b = 1, c = 1, d = 0, e = 0, f = 1, g = 1. Ανάβουν λοιπόν τα segments b, c, f και g οπότε το display δείχνει τον αριθμό 4.

Τώρα πάλι, τα J και Κ του κάθε flip - flop θα είναι:
α) Για το 1ο: J = 0, K = 1
β) Για το 2ο: J = 0, K = 1
γ) Για το 3ο: J = 1 (λόγω της R5, η D1 δεν έχει πόλωση), K = 1
δ) Για το 4ο: J = 1, K = 1

Κατά συνέπεια, με τον επόμενο παλμό clock οι έξοδοι των flip - flops θα διαμορφωθούν ως εξής:
α) Το 1ο θα μηδενιστεί οπότε η έξοδός του θα παραμείνει 0
β) Το 2ο θα μηδενιστεί οπότε η έξοδός του θα παραμείνει 0
γ) Το 3ο θα αλλάξει κατάσταση οπότε η έξοδός του από 1 που ήταν θα γίνει 0
δ) Το 4ο θα αλλάξει κατάσταση οπότε η έξοδός του από 1 που ήταν θα γίνει 0

Έτσι, στα segments του display θα έχουμε τώρα τις παρακάτω καταστάσεις:
a = 0, b = 1, c = 1, d = 0, e = 0, f = 0, g = 0. Ανάβουν λοιπόν μόνο τα segments b και c οπότε το display δείχνει τον αριθμό 1...

Ξαναγυρίσαμε λοιπόν στην αρχή!

Hatzitesla
25-05-12, 00:07
Ξέρω τι κάνουν τα s-r-j-k, αλλά το πως επιρεάζουν το κύκλωμα οι αντιστάσεις,οι πυκνωτές και η δίοδος...beats me :(
Το όλο project το ξεκίνησα για ένα assignment, αλλά δεν μπορώ να παρουσιάσω κάτι τέτοιο, θα κατηγορηθώ για plagiarism.
Όπως και να έχει σε ευχαριστώ για την φαιά ουσία που σπατάλησες. Αλλά αυτό το σχέδιο είναι far-fetched για μένα.