Πίνακας περιεχομένων:

Digitalηφιακό ρολόι με χρήση ταλαντωτή κρυστάλλου & σαγιονάρες: 3 βήματα
Digitalηφιακό ρολόι με χρήση ταλαντωτή κρυστάλλου & σαγιονάρες: 3 βήματα

Βίντεο: Digitalηφιακό ρολόι με χρήση ταλαντωτή κρυστάλλου & σαγιονάρες: 3 βήματα

Βίντεο: Digitalηφιακό ρολόι με χρήση ταλαντωτή κρυστάλλου & σαγιονάρες: 3 βήματα
Βίντεο: Digitalηφιακό ρολόι Python 2024, Νοέμβριος
Anonim
Digitalηφιακό ρολόι με χρήση ταλαντωτή κρυστάλλου & σαγιονάρες
Digitalηφιακό ρολόι με χρήση ταλαντωτή κρυστάλλου & σαγιονάρες

Τα ρολόγια βρίσκονται σχεδόν σε όλους τους τύπους ηλεκτρονικών ειδών, είναι ο παλμός κάθε υπολογιστή. Χρησιμοποιούνται για συγχρονισμό όλων των διαδοχικών κυκλωμάτων. χρησιμοποιούνται επίσης ως μετρητές για την παρακολούθηση της ώρας και της ημερομηνίας. Σε αυτό το διδακτικό θα μάθετε πώς μετρούν οι υπολογιστές και ουσιαστικά πώς λειτουργεί ένα ψηφιακό ρολόι χρησιμοποιώντας σαγιονάρες και συνδυαστική λογική. Το έργο χωρίζεται σε πολλαπλές ενότητες που το καθένα εκτελεί μια συγκεκριμένη λειτουργία.

Προμήθειες

Για αυτό το διδακτικό θα χρειαστείτε κάποια προηγούμενη γνώση σε:

  • Έννοιες ψηφιακής λογικής
  • Προσομοιωτής πολλαπλών χρήσεων (προαιρετικό)
  • Κατανόηση των ηλεκτρικών κυκλωμάτων

Βήμα 1: Δημιουργία ενότητας Time Base

Δημιουργία ενότητας Time Base
Δημιουργία ενότητας Time Base

Η έννοια πίσω από ένα ψηφιακό ρολόι είναι ότι ουσιαστικά μετράμε τους κύκλους ρολογιού. ένα ρολόι 1 Hz παράγει παλμό κάθε δευτερόλεπτο. στα επόμενα βήματα θα δούμε πώς μπορούμε να μετρήσουμε αυτούς τους κύκλους για να συμπληρώσουμε τα δευτερόλεπτα, τα λεπτά και τις ώρες του ρολογιού μας. Ένας τρόπος με τον οποίο μπορούμε να δημιουργήσουμε ένα σήμα 1 Hz είναι χρησιμοποιώντας ένα κύκλωμα κρυσταλλικών ταλαντωτών που παράγει ένα σήμα 32.768 kHz (όπως αυτό που σχεδίασα παραπάνω που ονομάζεται ταλαντωτής διάτρησης), τον οποίο μπορούμε στη συνέχεια να διαιρέσουμε χρησιμοποιώντας μια αλυσίδα Flip Flops. Ο λόγος που χρησιμοποιείται 32.768 kHz είναι επειδή είναι υψηλότερη από τη μέγιστη συχνότητα ακοής που είναι 20 kHz και είναι ίση με 2^15. Ο λόγος που είναι σημαντικός είναι επειδή μια έξοδος flip flop J-K αλλάζει στο θετικό ή αρνητικό άκρο (εξαρτάται από το FF) του σήματος εισόδου, επομένως η έξοδος είναι αποτελεσματικά σε συχνότητα που είναι η μισή της αρχικής εισόδου. Με την ίδια λογική αν αλυσοδέσουμε 15 Flip Flops μπορούμε να διαιρέσουμε τη συχνότητα του σήματος εισόδου για να πάρουμε το σήμα 1 Hz. Μόλις χρησιμοποίησα μια γεννήτρια παλμών 1 Hz για να επιταχύνω τον χρόνο προσομοίωσης στο Multisim. Ωστόσο, σε μια σανίδα ψωμιού μπορείτε να δημιουργήσετε το κύκλωμα που έχω παραπάνω ή να χρησιμοποιήσετε μια μονάδα DS1307.

Βήμα 2: Δημιουργία του μετρητή δευτερολέπτων

Δημιουργία του μετρητή δευτερολέπτων
Δημιουργία του μετρητή δευτερολέπτων

Αυτή η ενότητα χωρίζεται σε δύο μέρη. Το πρώτο μέρος είναι ένας μετρητής 4-bit που μετράει έως και 9 που αποτελεί τη θέση του 1 των δευτερολέπτων. Το δεύτερο μέρος είναι ένας μετρητής τριών δυαδικών ψηφίων που μετράει έως και 6 που αποτελεί τη θέση του 10 των δευτερολέπτων.

Υπάρχουν 2 τύποι μετρητών, ένας σύγχρονος μετρητής (όπου το ρολόι είναι συνδεδεμένο σε όλα τα FF) και ένας ασύγχρονος μετρητής όπου το ρολόι τροφοδοτείται στο πρώτο FF και η έξοδος λειτουργεί ως ρολόι του επόμενου FF. Χρησιμοποιώ έναν ασύγχρονο μετρητή (που ονομάζεται επίσης μετρητής κυματισμού). Η ιδέα είναι ότι εάν στείλουμε ένα υψηλό σήμα στις εισόδους "J" και "K" του FF, το FF θα αλλάξει την κατάστασή του σε κάθε κύκλο του ρολογιού εισόδου. Αυτό είναι σημαντικό γιατί για κάθε 2 εναλλαγές του πρώτου FF παράγεται μια εναλλαγή στο διαδοχικό FF και ούτω καθεξής μέχρι την τελευταία. Επομένως παράγουμε έναν δυαδικό αριθμό ισοδύναμο με τον αριθμό των κύκλων του σήματος ρολογιού εισόδου.

Όπως φαίνεται παραπάνω, στα αριστερά βρίσκεται το κύκλωμά μου που κάνει το 4-bit up counter για τη θέση του 1. Κάτω από αυτό έχω εφαρμόσει ένα κύκλωμα επαναφοράς, είναι βασικά μια πύλη AND που στέλνει ένα υψηλό σήμα στον πείρο επαναφοράς των Flip Flops αν η έξοδος του μετρητή είναι 1010 ή 10 σε δεκαδικά. Ως εκ τούτου, η έξοδος της πύλης AND είναι 1 σήμα παλμού ανά 10 δευτερόλεπτα, το οποίο θα χρησιμοποιήσουμε ως ρολόι εισόδου για τον μετρητή θέσης των 10.

Βήμα 3: Το βάζουμε όλα μαζί

Με την ίδια λογική, μπορούμε να συνεχίσουμε να στοιβάζουμε μετρητές για να συμπληρώσουμε τα λεπτά και τις ώρες. Μπορούμε ακόμη να προχωρήσουμε και να μετρήσουμε ημέρες, εβδομάδες ή και χρόνια. μπορείτε να το δημιουργήσετε σε ένα breadboard, ιδανικά ωστόσο θα χρησιμοποιούσατε μια μονάδα RTC (ρολόι πραγματικού χρόνου) μόνο για ευκολία. Αλλά αν αισθάνεστε έμπνευση, θα χρειαστείτε ουσιαστικά:

19 Σαγιονάρες J-K (ή 10 Dual J-K IC όπως το SN74LS73AN)

  • πηγή εισόδου 1 Hz (μπορείτε να χρησιμοποιήσετε μια μονάδα DS1307 δημιουργεί ένα τετραγωνικό κύμα 1 Hz)
  • 6 Δυαδικοί αποκωδικοποιητές 7 τμημάτων (όπως ο 74LS47D)
  • 23 μετατροπείς, 7 πύλες AND 3 εισόδων, 10 πύλες AND 2 εισόδων, 3 πύλες AND 4 εισόδων, 5 ή πύλες OR
  • Έξι εξαγωνικές οθόνες 7 τμημάτων

Ελπίζω να μάθατε πώς λειτουργεί ένα ψηφιακό ρολόι από αυτό το διδακτικό, μη διστάσετε να κάνετε οποιεσδήποτε ερωτήσεις!

Συνιστάται: