Shift register 595. Abstract: Shift registers. STCP – είσοδος κλειδώματος δεδομένων

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

2. Εισαγωγή …………………………………………………………………………………… 2

3. Ανασκόπηση λογοτεχνικών πηγών ……………………………………… 3

3.1. Γενικές πληροφορίες για τα μητρώα …………………………………… 3

3.2. Γενικές πληροφορίες σχετικά με τους ερεθισμούς…………………………………… 6

3.3. Μητρώα βάρδιας……………………………………….. 12

3.4. Καθολικά μητρώα…………………………………….. 20

4. Ανάπτυξη κυκλώματος καταχωρητή βάρδιας ……………………………………… 24

4.1. Αρχικά στοιχεία………………………………………………………………… 24

4.2. Διαδικασία για την ανάπτυξη μητρώου βάρδιων………………………………… 24

4.3. Ανάπτυξη μητρώου τεσσάρων φάσεων βάρδιας……………………… 25

5. Συμπέρασμα……………………………………………………………. 27

6. Κατάλογος αναφορών ……………………………………. 28


2. Εισαγωγή

Μητρώα– τα πιο κοινά εξαρτήματα ψηφιακών συσκευών. Λειτουργούν με βάση τις πολλές σχετικές μεταβλητές που συνθέτουν μια λέξη. Ένας αριθμός λειτουργιών εκτελούνται σε λέξεις: λήψη, έκδοση, αποθήκευση, μετατόπιση στο πλέγμα bit, λογικές πράξεις κατά bit.

Οι καταχωρητές Shift (διαδοχικοί) χρησιμοποιούνται για μετατόπιση n-αριθμοί bit προς μία κατεύθυνση. Επιπλέον, μπορούν να χρησιμοποιηθούν για τη μετατόπιση μη αριθμητικών πληροφοριών.

Οι καταχωρητές Shift χρησιμοποιούνται ως συσκευές αποθήκευσης, ως μετατροπείς σειριακών σε παράλληλων κωδικών, ως συσκευές καθυστέρησης και μετρητές παλμών (ωστόσο, η χρήση καταχωρητών μετατόπισης ως μετρητές είναι αρκετά αντιοικονομική).

3. Ανασκόπηση βιβλιογραφικών πηγών

3.1. Γενικές πληροφορίες για τα μητρώα

Οι καταχωρητές αποτελούνται από κυκλώματα bit που περιέχουν flip-flops και, τις περισσότερες φορές, επίσης λογικά στοιχεία. Λειτουργούν ως ενιαία μονάδα.

Ανάλογα με τον αριθμό των μεταβλητών γραμμών μεταφοράς, οι καταχωρητές χωρίζονται σε μονοφασικές και παραφασικές, και σύμφωνα με το σύστημα συγχρονισμού σε μονοκύκλου, ώθησης-έλξης και πολλαπλών κύκλων. Ωστόσο, το κύριο χαρακτηριστικό ταξινόμησης είναι η μέθοδος λήψης και έκδοσης δεδομένων. Σε αυτή τη βάση διακρίνουν παράλληλη (στατική)μητρώα, διαδοχική (μετατόπιση)Και παράλληλος-σειριακός .

Σε παράλληλους καταχωρητές, οι λέξεις λαμβάνονται και εξάγονται σε όλα τα bit ταυτόχρονα. Αποθηκεύουν λέξεις που μπορούν να υποβληθούν σε bitwise λογικούς μετασχηματισμούς.

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

Οι σειριακά παράλληλοι καταχωρητές έχουν εισόδους και εξόδους τόσο σειριακού όσο και παράλληλου τύπου. Υπάρχουν επιλογές με σειριακή είσοδο και παράλληλη έξοδο (SIPO, Serial Input – Parallel Output), παράλληλη είσοδος και σειριακή έξοδο (PISO, Parallel Input – Serial Output), καθώς και επιλογές με δυνατότητα οποιουδήποτε συνδυασμού μεθόδων λήψης και έκδοσης λόγια.

Στους παράλληλους (στατικούς) καταχωρητές, τα κυκλώματα bit δεν επικοινωνούν μεταξύ τους. Κοινά για τα bit είναι συνήθως κυκλώματα ρολογιού, κυκλώματα επαναφοράς/ρύθμισης, άδειας εξόδου ή λήψης, δηλαδή κυκλώματα ελέγχου. Ένα παράδειγμα κυκλώματος στατικού καταχωρητή χτισμένου σε flip-flops τύπου D με άμεσες δυναμικές εισόδους, με εισόδους επαναφοράς R και εξόδους τρίτης κατάστασης που ελέγχονται από το σήμα EZ, φαίνεται στο Εικόνα 1 .

Εικόνα 1.Διάγραμμα ενός στατικού καταχωρητή (α) και η συμβατική γραφική του ονομασία (β)

Η σύγχρονη τεχνολογία κυκλωμάτων χαρακτηρίζεται από την κατασκευή καταχωρητών σε flip-flops τύπου D, κυρίως με δυναμικό έλεγχο. Πολλοί έχουν εξόδους με τρίτη κατάσταση. Ορισμένοι καταχωρητές ταξινομούνται ως καταχωρητές buffer, δηλαδή είναι σχεδιασμένοι να λειτουργούν με μεγάλα χωρητικά ή/και ενεργά φορτία χαμηλής αντίστασης. Αυτό εξασφαλίζει τη λειτουργία τους απευθείας στον αυτοκινητόδρομο (χωρίς πρόσθετα κυκλώματα διασύνδεσης).

Οι στατικοί καταχωρητές χρησιμοποιούνται για τη δημιουργία μπλοκ μνήμης καταχωρητών—αρχείων εγγραφής.

Κύριες λειτουργίες των μητρώων:

1) Αποθήκευση πληροφοριών,

2) Λήψη πληροφοριών,

3) Παροχή πληροφοριών,

4) Μετατόπιση πληροφοριών,

5) Μετατροπή κώδικα,

6) Ρύθμιση του επιθυμητού αριθμού σε μηδέν ή ένα,

7) Λογικές πράξεις κατά bitwise: διαχωρισμός, σύνδεσμος, modulo προσθήκης 2.

3.2. Κατανόηση των ερεθισμάτων

Ενεργοποιητές -μια μεγάλη κατηγορία ηλεκτρικών συσκευών που του επιτρέπουν να παραμένει σε μία από δύο (ή περισσότερες) σταθερές καταστάσεις για μεγάλο χρονικό διάστημα και να τις εναλλάσσει υπό την επίδραση εξωτερικών σημάτων (λόγω μιας διαδικασίας αναγέννησης (παροδική διαδικασία σε ηλεκτρικό κύκλωμα που καλύπτεται από PIC)).

Μια σκανδάλη είναι μια παλμική λογική συσκευή με μνήμη (στοιχείο μνήμης - μάνδαλο).

Υπάρχουν περισσότεροι από δώδεκα διαφορετικοί αναπόσπαστοι ερεθισμοί. Η ταξινόμηση τους βασίζεται σε:

Λειτουργικό σημάδι

Μια μέθοδος για την εγγραφή πληροφοριών σε μια σκανδάλη.

Με βάση τα λειτουργικά τους χαρακτηριστικά, υπάρχουν οι σκανδάλες T, οι σκανδάλες JK, οι σκανδάλες RS, οι σκανδάλες D, οι συνδυασμένες σκανδάλες (TV, DV, E, R) κ.λπ.

Με βάση τη μέθοδο καταγραφής (λήψης) πληροφοριών διακρίνονται:

8) Ασύγχρονοι ενεργοποιητές:

α) με εσωτερική καθυστέρηση.

β) ελέγχεται από το επίπεδο παλμού εισόδου.

9) Σύγχρονες ενεργοποιήσεις (χρονολογημένες):

α) με εσωτερική καθυστέρηση.

β) ελέγχεται από το επίπεδο του παλμού χρονισμού:

Δράση ενός κύκλου (μονό στάδιο).

Πολλαπλή δράση.

Οι πληροφορίες εγγράφονται σε χρονισμένους ερεθισμούς μόνο όταν εφαρμόζεται ένας παλμός ρολογιού ενεργοποίησης. Τέτοιες σκανδάλες χωρίζονται σε ελεγχόμενης στάθμης (απαιτείται ένα συγκεκριμένο επίπεδο σήματος για τη λειτουργία) και σε ελεγχόμενη από την άκρη (δεν εξαρτώνται από το επίπεδο σήματος, η παρουσία του είναι σημαντική) του παλμού χρονισμού. Οι παλμοί ρολογιού μερικές φορές ονομάζονται επίσης σήματα συγχρονισμού, εκτελεστικών ή εντολών (συνήθως υποδηλώνονται στα διαγράμματα με το γράμμα C - Clock).

Η δυναμική είσοδος μπορεί να είναι άμεση ή αντίστροφη. Ο άμεσος δυναμικός έλεγχος επιτρέπει την εναλλαγή όταν το σήμα ρολογιού αλλάζει από μηδέν σε ένα (). Αντίστροφος δυναμικός έλεγχος - αλλαγή του σήματος ρολογιού από το ένα στο μηδέν (). Έλεγχος της άκρης του παλμού χρονισμού: Έλεγχος της πτώσης του παλμού χρονισμού: Έλεγχος του ανώτερου επιπέδου του παλμού χρονισμού:

Έλεγχος του κατώτερου επιπέδου του παλμού χρονισμού:

Οι χρονισμένες σκανδάλες με εσωτερική καθυστέρηση (ενεργοποιούνται όταν τελειώνει το σήμα) είναι, κατά κανόνα, μονού άκρου. Ο πολλαπλός κύκλος ενεργοποιεί την πυρκαγιά μετά n-νόγκο παρόρμηση.

Η σκανδάλη RS έχει δύο εισόδους πληροφοριών: S (Ρύθμιση) και R (Επαναφορά). Δεν επιτρέπεται η ταυτόχρονη εφαρμογή σημάτων S και R. Επί Εικόνα 2δείχνει μια σύγχρονη σκανδάλη RS που ενεργοποιείται από την άκρη του σήματος χρονισμού.

Εικόνα 2.Σύγχρονη σκανδάλη RS

Εκτός από τις εισόδους, η απλούστερη σκανδάλη RS έχει επίσης δύο εξόδους. Οι έξοδοι δείχνουν QΚαι

. Εξοδος Qονομάζεται άμεση, α - αντίστροφη. Τα επίπεδα τάσης και στις δύο εξόδους είναι αμοιβαία αντίστροφα: εάν το σήμα Q= 1, τότε = 0 ή αν Q= 0, τότε = 1. Θα πρέπει επίσης να σημειωθεί ότι η κατάσταση της σκανδάλης στην οποία Q= 1, a = 0, ονομάζεται μονάδα. Όταν η σκανδάλη είναι μηδέν Q= 0 και = 1. Όταν φτάνουν σήματα στις εισόδους της σκανδάλης, ανάλογα με την κατάστασή της, είτε γίνεται εναλλαγή είτε διατηρείται η αρχική κατάσταση.

Εικόνα 3. -σκανδάλη: η συμβατική γραφική του ονομασία και ένα κύκλωμα με δύο λογικά στοιχεία ΚΑΙ-ΟΧΙ

Για την κατασκευή καταχωρητών, χρησιμοποιείται μια διαδοχική σύνδεση αυτών των στοιχείων.

Ένας σειριακός καταχωρητής (shift register ή shift register) χρησιμοποιείται συνήθως για τη μετατροπή του σειριακού κώδικα σε παράλληλο κωδικό και αντίστροφα. Η χρήση του σειριακού κώδικα συνδέεται με την ανάγκη μετάδοσης μεγάλου όγκου δυαδικών πληροφοριών σε περιορισμένο αριθμό γραμμών σύνδεσης. Κατά την παράλληλη μετάδοση εκκενώσεων, απαιτείται μεγάλος αριθμός αγωγών σύνδεσης. Εάν τα δυαδικά bit μεταδίδονται διαδοχικά, κομμάτι προς bit, σε έναν αγωγό, τότε το μέγεθος των γραμμών σύνδεσης στην πλακέτα (και το μέγεθος των πακέτων τσιπ) μπορεί να μειωθεί σημαντικά.

Ένα σχηματικό διάγραμμα ενός σειριακού καταχωρητή (shift), που έχει συναρμολογηθεί με βάση και επιτρέπει τη μετατροπή του σειριακού κωδικού σε παράλληλο, φαίνεται στο Σχήμα 1. Λάβετε υπόψη ότι εάν και οι δύο σκανδαλισμοί που βασίζονται σε δυναμικό (latch triggers) και οι σκανδάλες λειτουργούν στην άκρη , τότε μόνο οι σαγιονάρες D που λειτουργούν στην άκρη είναι κατάλληλες για την υλοποίηση ενός διαδοχικού καταχωρητή (shift)!


Σχήμα 1. Κύκλωμα διαδοχικού καταχωρητή (shift).

Μέσα στον καταχωρητή shift, τα flip-flops συνδέονται σε σειρά, δηλαδή η έξοδος του πρώτου συνδέεται με την είσοδο του δεύτερου κ.λπ.


Ο εξεταζόμενος σειριακός καταχωρητής φαίνεται στο Σχήμα 2.

Σχήμα 2. Γραφικός προσδιορισμός διαδοχικού καταχωρητή (shift).

Οι είσοδοι ρολογιού σε σειριακούς (shift) καταχωρητές, καθώς και σε παράλληλους καταχωρητές, συνδυάζονται. Αυτό διασφαλίζει την ταυτόχρονη αλλαγή της κατάστασης όλων των flip-flop που περιλαμβάνονται στον διαδοχικό καταχωρητή (shift).

Η μετατροπή του σειριακού κωδικού σε παράλληλο σε έναν σειριακό (shift) καταχωρητή γίνεται ως εξής. Μεμονωμένα bit δυαδικών πληροφοριών τροφοδοτούνται διαδοχικά στην είσοδο του καταχωρητή μετατόπισης D0. Κάθε bit συνοδεύεται από έναν ξεχωριστό παλμό ρολογιού, ο οποίος εφαρμόζεται στην είσοδο ρολογιού του σειριακού καταχωρητή C.

Αφού φτάσει ο δεύτερος παλμός ρολογιού, το λογικό επίπεδο που υπάρχει στην είσοδο της δεύτερης σκανδάλης του σειριακού καταχωρητή (shift) αποθηκεύεται σε αυτόν και πηγαίνει στην έξοδό του και εφόσον συνδέεται με την είσοδο του τρίτου flip-flop, επίσης στη συμβολή του. Ταυτόχρονα, το επόμενο bit του σειριακού κωδικού εισόδου αποθηκεύεται στο πρώτο flip-flop του σειριακού καταχωρητή (shift).

Μετά την άφιξη του τέταρτου παλμού ρολογιού, τα λογικά επίπεδα των bit που υπήρχαν διαδοχικά στην είσοδό του D0 θα γραφτούν στα flip-flops του σειριακού καταχωρητή (shift). Τώρα αυτά τα bits μπορούν να χρησιμοποιηθούν, για παράδειγμα, για εμφάνιση σε ενδείξεις.

Αφήστε ένα σήμα να φτάσει στην είσοδο ενός σειριακού καταχωρητή (shift), το διάγραμμα χρονισμού του οποίου φαίνεται στο Σχήμα 3, τότε η κατάσταση των εξόδων αυτού του καταχωρητή θα λάβει διαδοχικά τις τιμές που αναγράφονται στον Πίνακα 1.



Σχήμα 3. Διάγραμμα χρονισμού λειτουργίας του καταχωρητή βάρδιας

Στο σχήμα 3, μαζί με τα λογικά επίπεδα, καταγράφονται οι τιμές bit που μεταδίδονται κατά μήκος της γραμμής σύνδεσης ή υπάρχουν στις εξόδους του καταχωρητή μετατόπισης.

Αριθμός μπαρ 1 2 3 1
Q0 1 0 1 1
Q1 Χ 1 0 1
Ε2 Χ Χ 1 0
Ε3 Χ Χ Χ 1

Ως παράδειγμα υλοποίησης ενός διαδοχικού καταχωρητή (shift) μπορεί κανείς να ονομάσει το εγχώριο μικροκύκλωμα 1564IR1 ή το ξένο 74NS164.

Την τελευταία φορά που εξετάσαμε την επιλογή αύξησης των εξόδων του μικροελεγκτή χρησιμοποιώντας ένα τσιπ αποκωδικοποιητή, σήμερα θα εξετάσουμε μια πιο προηγμένη επιλογή χρησιμοποιώντας έναν καταχωρητή μετατόπισης 74HC595. Χρησιμοποιώντας ένα μόνο μικροκύκλωμα, μπορείτε να έχετε στη διάθεσή σας επιπλέον 8 εξόδους, χρησιμοποιώντας μόνο 3 πόδια μικροελεγκτή. Και χάρη στη δυνατότητα επέκτασης, προσθέτοντας ένα δεύτερο τσιπ, ο αριθμός των εξόδων μπορεί να αυξηθεί σε 16. Εάν δεν είναι αρκετός, μπορείτε να προσθέσετε ένα τρίτο και να λάβετε 24 εξόδους για χρήση, και αυτό το κόλπο μπορεί να επαναληφθεί όσες φορές σου αρέσει. Ταυτόχρονα, ο αριθμός των κατειλημμένων ποδιών του μικροελεγκτή θα παραμείνει 3, πανέμορφος!

Λοιπόν, ας ρίξουμε μια πιο προσεκτική ματιά στον σκοπό των ακίδων μικροκυκλώματος και ας μάθουμε πώς να ελέγχετε τον καταχωρητή μετατόπισης 74hc595 στο Bascom-AVR.

Αρχικά, ας εξοικειωθούμε με τις εξόδους του μικροκυκλώματος ή μάλλον με τη λειτουργικότητά τους. Ακολουθεί ένα απόσπασμα από το φύλλο δεδομένων για το 74hc595 με την ονομασία των ακροδεκτών μικροκυκλώματος:


  • Ε0… Ε7– τα αποτελέσματα που θα ελέγξουμε. Μπορεί να είναι σε τρεις καταστάσεις: λογική μία, λογική μηδενική και κατάσταση Hi-Z υψηλής αντίστασης
  • GND- Γη
  • Q7′– έξοδος που προορίζεται για σειριακή σύνδεση καταχωρητών.
  • M.R.– επαναφορά μητρώου.
  • SH_CP– είσοδος για παλμούς ρολογιού
  • ST_CP– είσοδος κλειδώματος δεδομένων
  • Ο Ο.Ε.– μια είσοδος που μετατρέπει τις εξόδους από HI-Z σε κατάσταση λειτουργίας
  • Δ.Σ.– εισαγωγή δεδομένων
  • VCC– Τροφοδοτικό 5 βολτ

Εγγραφή λογικής

Όταν βρίσκεται στην είσοδο του ρολογιού SH_CPεμφανίζεται ένα λογικό, το bit που βρίσκεται στην είσοδο δεδομένων Δ.Σ. ανάγνωση και εγγραφή στον καταχωρητή βάρδιας. Αυτό το bit γράφεται στο λιγότερο σημαντικό bit. Όταν ο επόμενος παλμός υψηλού επιπέδου φτάσει στην είσοδο ρολογιού, το επόμενο bit από την είσοδο δεδομένων γράφεται στον καταχωρητή μετατόπισης. Και το bit που γράφτηκε νωρίτερα μετατοπίζεται ένα bit προς τα αριστερά και τη θέση του παίρνει το μπιτ που μόλις έφτασε. Ο επόμενος παλμός ρολογιού θα γράψει το τρίτο bit και τα δύο προηγούμενα θα προχωρήσουν περαιτέρω. Όταν γεμίσουν και τα οκτώ bit και φτάσει ο ένατος παλμός ρολογιού, ο καταχωρητής αρχίζει να γεμίζει ξανά από το λιγότερο σημαντικό bit και όλα επαναλαμβάνονται ξανά. Έτσι ώστε τα δεδομένα να εμφανίζονται στις εξόδους Ε0… Ε7πρέπει να τα «κουμπώσεις». Για να γίνει αυτό, πρέπει να εφαρμόσετε μια λογική στην είσοδο ST_CP.

- M.R.επαναφέρει τον καταχωρητή, ρυθμίζοντας όλες τις εξόδους Ε0… Ε7σε μια λογική κατάσταση μηδέν. Για να πραγματοποιήσετε επαναφορά, πρέπει να εφαρμόσετε ένα λογικό μηδέν σε αυτήν την είσοδο και να εφαρμόσετε έναν θετικό παλμό στην είσοδο ST_CP. Μια πολύ χρήσιμη λειτουργία, καθώς όταν εφαρμόζεται ισχύς στο μικροκύκλωμα, εμφανίζεται μια ορισμένη αυθαίρετη τιμή στην έξοδο. Όταν εργάζεστε με έναν καταχωρητή, μια λογική μονάδα πρέπει να βρίσκεται σε αυτόν τον ακροδέκτη.

- Ο Ο.Ε.(ενεργοποίηση εξόδου) εάν εφαρμοστεί ένα λογικό 1 εδώ, οι έξοδοι θα είναι σε κατάσταση HI-Z υψηλής αντίστασης. Όταν εφαρμόσουμε το λογικό 0 σε αυτήν την είσοδο, οι έξοδοι θα είναι σε κατάσταση λειτουργίας.

- Q7′ σχεδιασμένο για σειριακή σύνδεση καταχωρητών βάρδιας.

Αλλά είναι καλύτερα να βλέπεις μία φορά παρά να διαβάζεις δύο φορές =) οπότε ας δούμε το κινούμενο σχέδιο:


Εργασία με το μητρώο κατά μέτωπο

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

$regfile = "attiny2313.dat"
$κρύσταλλο = 1000000

Διαμόρφωση Portb = Παραγωγή

Sh_cpΨευδώνυμο Portb. 3 «πόδι για παλμούς ρολογιού
DsΨευδώνυμο Portb. 2 "σκέλος εξόδου δεδομένων
St_cpΨευδώνυμο Portb. 0 "σκέλος για "μανδάλωμα" δεδομένων στο μητρώο κατοχής


"Έξοδος μέσω του μητρώου του αριθμού 146 (σε δυαδική αναπαράσταση 10010010)

St_cp= 0 "βάλτε το πόδι σας σε λειτουργία εγγραφής δεδομένων

Ds= 1 "ορίστε το πρώτο κομμάτι
Sh_cp= 0 «Δίνουμε μια ώθηση στην έξοδο του ρολογιού
Sh_cp= 1

Ds= 0 "ρυθμίστε το δεύτερο κομμάτι
Sh_cp= 0
Sh_cp= 1

Ds= 0 "ορίστε το τρίτο bit
Sh_cp= 0
Sh_cp= 1

Ds= 1 «ορίστε το τέταρτο κομμάτι
Sh_cp= 0
Sh_cp= 1

Ds= 0 "ορίστε το πέμπτο κομμάτι
Sh_cp= 0
Sh_cp= 1

Ds= 0 «ορίστε το έκτο κομμάτι
Sh_cp= 0
Sh_cp= 1

Ds= 1 «ορίστε το έβδομο κομμάτι
Sh_cp= 0
Sh_cp= 1

Ds= 0 «ορίστε το όγδοο κομμάτι
Sh_cp= 0
Sh_cp= 1

St_cp= 1 "αποσπάστε τα δεδομένα που έχετε εισάγει

Τέλος


μεταγλωττίζουμε, ενσωματώνουμε στον μικροελεγκτή ή κοιτάμε στον προσομοιωτή και βλέπουμε τον συνδυασμό μας στην έξοδο.


Λειτουργεί, ο απεσταλμένος αριθμός εμφανίζεται στην έξοδο του μητρώου!

Η εργασία με έναν καταχωρητή κατ' αυτόν τον τρόπο, αν και είναι δυνατή, είναι πολύ περίπλοκη και καταλαμβάνει πολλή μνήμη προγράμματος. Αλλά δείχνει ξεκάθαρα ολόκληρη τη μεθοδολογία για την εργασία με αυτό το μικροκύκλωμα. Ας εξετάσουμε μια πιο κατάλληλη μέθοδο.

Έλεγχος του καταχωρητή 74HC595 στο Bascom χρησιμοποιώντας την εντολή ShiftOut

Η Bascom-AVR διαθέτει μια εξαιρετική ομάδα για εργασία με όλα τα είδη σειριακών διεπαφών SHIFTOUΤ
Αυτή η εντολή θα αποσυνθέσει τον αριθμό σε στοιχεία bit και θα τα εξάγει διαδοχικά σε οποιαδήποτε ακίδα του μικροελεγκτή, ταυτόχρονα, μπορεί να εκδώσει παλμούς ρολογιού. Ακριβώς κατάλληλο για εργασία με μητρώα βάρδιας! Σύνταξη εντολών:

SHIFTOUT Datapin, Clockpin, var, επιλογή


Datapin – θύρα μικροελεγκτή για έξοδο δεδομένων

Clockpin – θύρα μικροελεγκτή για έξοδο παλμών ρολογιού

Var – δεδομένα που θέλουμε να στείλουμε στο μητρώο

Επιλογή – ένας αριθμός από το 0 έως το 3, αυτή η παράμετρος επιλέγει τη σειρά με την οποία θα εισαχθούν τα δεδομένα στον καταχωρητή και το ενεργό επίπεδο στη γραμμή Ρολογιού στην οποία γράφεται το bit:
option=0 – το πιο σημαντικό bit έρχεται πρώτο,Ρολόι ενεργό επίπεδο χαμηλό
επιλογή = 1 -
Το πιο σημαντικό κομμάτι έρχεται πρώτο, Ρολόι ενεργό επίπεδο υψηλό
επιλογή = 2 -
Το λιγότερο σημαντικό κομμάτι έρχεται πρώτο, Ρολόι ενεργό επίπεδο χαμηλό
επιλογή = 3 -
Το λιγότερο σημαντικό κομμάτι έρχεται πρώτο, Ρολόι ενεργό επίπεδο υψηλό

Στην περίπτωσή μας, για να εργαστείτε με τον καταχωρητή 74HC595, η παράμετρος επιλογής πρέπει να οριστεί σε 1 ή 3.

Για να κλειδώσετε δεδομένα σε έναν καταχωρητή, χρησιμοποιήστε την εντολή PulseOut. Αυτή η εντολή εξάγει έναν παλμό στο πόδι του μικροελεγκτή με καθορισμένη διάρκεια. Η διαμόρφωση της εντολής μοιάζει με αυτό:

Ας εξάγουμε τώρα τον αριθμό 10010001 (145 σε δεκαδικό σύστημα) στην έξοδο του καταχωρητή που είναι συνδεδεμένος στον μικροελεγκτή σύμφωνα με το παραπάνω διάγραμμα:

$regfile = "attiny2313.dat"
$κρύσταλλο = 1000000

Αμυδρός ΕΝΑ ΩςΨηφιόλεξη
Διαμόρφωση Portb = Παραγωγή

ΕΝΑ= 145

Gosub Hc595 «πηγαίνουμε στην υπορουτίνα αποστολής δεδομένων

Τέλος

Hc595: "Ρουτίνα αποστολής δεδομένων

Μετατόπιση Portb. 2, Portb. 3, Α, 1 "στείλτε δεδομένα στο μητρώο
Pulseout Portb, 0, 5 "Συγκεντρωτικά δεδομένα
Απόδοση

Αφού αναβοσβήνει ο μικροελεγκτής, μπορείτε να δείτε μια παρόμοια εικόνα, ο απεσταλμένος συνδυασμός bit έχει οριστεί στην έξοδο του καταχωρητή μετατόπισης.


Όπως μπορείτε να δείτε, ο έλεγχος του καταχωρητή μετατόπισης 74HC595 στο Bascom αποτελείται από δύο μόνο γραμμές κώδικα και δεν παρουσιάζει δυσκολίες.

Αύξηση του βάθους bit

Μερικές φορές χρειάζεστε ΠΟΛΛΕΣ θύρες εξόδου. Ειδικά αν θέλουμε να κάνουμε κάτι με LED. Κάποια φανταχτερή γιρλάντα. Τι να κάνουμε; Πάρτε αυτή την περίπτωση ATMega128με τα πενήντα συμπεράσματά του; Υπερβολικό - για lamer. Εγκατάσταση του i 2 με επέκταση θύρας; Ακριβός. Για τα κύρια. Εδώ, η παλιά καλή διακριτική λογική έρχεται να σώσει από τα πανάρχαια βάθη. Αυτή τη φορά, ένας καταγραφέας αλλαγής δεκάρας θα μας βοηθήσει. Επιτρέψτε μου να πάρω, για παράδειγμα, 74HC164 aka, για τους λάτρεις των σοβιετικών μικροκυκλωμάτων σκουπιδιών σε μια άφθαρτη πέτρινη θήκη, το δικό μας KM555IR8.

Από το MK, όπως μπορείτε να δείτε, απαιτούνται μόνο τέσσερις έξοδοι. Με ένα (RESET) επαναφέρουμε την κατάσταση μητρώου. Από το δεύτερο (Δεδομένα) βγαίνει ένα byte σπιθαμή προς μπιτ και το CLC Clock διασφαλίζει την προώθηση των bit μέσω του καταχωρητή. Υπάρχουν τρία ίδια μητρώα. Συνδέονται με ατμομηχανή. Όταν το πρώτο ξεχειλίζει, τα κομμάτια από αυτό χύνονται στο δεύτερο και μετά στο τρίτο. Σύνολο, 24 έξοδοι.
Οι κάθοδοι των διόδων συνδέονται μεταξύ τους μέσω ενός τρανζίστορ και μόλις βγει μια λέξη, δίνουμε το σήμα Ready και ανάβουμε όλες αυτές τις κορυφές.

Η συμπλήρωση του μητρώου είναι απλή:
1) Σηκώστε και κρατήστε το ΕΠΑΝΑΦΟΡΑστο 1
2) Εκδίδουμε το πρώτο (πιο σημαντικό) bit στο Δεδομένα.
3) Χαμηλώστε το στο 0 και αυξήστε την έξοδο του ρολογιού στο 1. Σε μια ανερχόμενη άκρη, ο καταχωρητής εισάγεται και ολόκληρη η αλυσίδα μετατοπίζεται κατά ένα βήμα.
4) Επαναλάβετε από το δεύτερο σημείο μέχρι να δοθούν όλα τα bits.

Και για να κάνετε επαναφορά, απλώς αφήστε το Επαναφοράστο μηδέν για μερικά μικροδευτερόλεπτα.
Είναι απλό :)

Ζ.Υ.
Ένας κύκλος στην είσοδο του καταχωρητή σημαίνει ότι η είσοδος είναι αντίστροφη. Εκείνοι. έδωσε μηδέν - λειτούργησε
Το τρίγωνο στην είσοδο δείχνει ποια άκρη θα ενεργοποιηθεί. Είναι εύκολο να θυμάστε: _/ \_ είναι, σαν, μια παρόρμηση. Και το τρίγωνο, σαν βέλος, δείχνει προς το επιθυμητό μέτωπο. ->_/ \_ προπορευόμενο (ανερχόμενο άκρο) και _/ \_<- задний (нисходящий фронт)

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

Ρύζι. 13.27. Ένας καταχωρητής μετατόπισης 4 bit που σχηματίζεται από σαγιονάρες JK συνδεδεμένες σε σειρά.

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

Αυτό το μητρώο λειτουργεί με βάση την αρχή πρώτος μέσα, πρώτος έξω(First-In First-Out, FIFO).

Ας εξετάσουμε τη λειτουργία του καταχωρητή μετατόπισης που φαίνεται στο Σχ. 13.27. Η γραμμή επαναφοράς οδηγείται πρώτα σε ένα λογικό 1 και στη συνέχεια επαναφέρεται στο 0. Τώρα υποθέστε ότι η είσοδος δεδομένων είναι αρχικά 1 και ότι μια ακολουθία παλμών ρολογιού εφαρμόζεται στην είσοδο ρολογιού. Σε αυτήν την περίπτωση, το flip-flop FF1 έχει υψηλό επίπεδο στην είσοδο και χαμηλό επίπεδο στην είσοδο, έτσι ώστε μετά τον πρώτο παλμό ρολογιού η έξοδος Qτο επίπεδο έχει οριστεί ψηλά. Ας υποθέσουμε ότι στο μεταξύ το σήμα εισόδου έχει επιστρέψει στην τιμή 0 και παραμένει έτσι. Κατά τη διάρκεια του δεύτερου παλμού ρολογιού, το υψηλό επίπεδο στην είσοδο/flip-flop του FF2 μεταφέρεται στην έξοδό του και Ε 2παίρνει την τιμή του λογικού 1. Ταυτόχρονα, το λογικό 0 λειτουργεί στην είσοδο / του flip-flop FF1, έτσι ώστε ο δεύτερος παλμός ρολογιού να θέτει την έξοδο χαμηλά. εάν η είσοδος δεδομένων παραμένει 0, η έξοδος θα παραμένει χαμηλή με κάθε παλμό ρολογιού. Ωστόσο, το λογικό 1 bit μετακινείται ένα bit παραπέρα με κάθε παλμό ρολογιού, έτσι ώστε μετά από τέσσερις παλμούς να φτάσει στην έξοδο Ε4.Τώρα αποθηκεύονται συνολικά 4 bit δεδομένων εισόδου. Οι επόμενοι παλμοί ρολογιού θα προκαλέσουν την απώλεια αυτών των δεδομένων, ενώ τα νεότερα δεδομένα θα διατηρηθούν.

Στον καταχωρητή μετατόπισης που φαίνεται στο Σχ. 13.27, είναι δυνατή, εάν απαιτείται, η παρατήρηση των αποθηκευμένων δεδομένων σε παράλληλη μορφή, παρέχοντας πρόσβαση στις εξόδους Q v Q 2, Q 3Και Ε4.Αυτός ο σχεδιασμός είναι γνωστός ως καταχωρητής σειριακής εισόδου, παράλληλης εξόδου: τα δεδομένα πρέπει να εισάγονται σειριακά μέσω μιας μόνο εισόδου, μετά την οποία είναι διαθέσιμα παράλληλα στις εξόδους του καταχωρητή. Αυτή η μετατροπή σειριακής σε παράλληλη είναι μια πολύ συνηθισμένη λειτουργία, που χρησιμοποιείται, για παράδειγμα, για τη μετατροπή bits προγράμματος που διαβάζονται από έναν δίσκο υπολογιστή σε παράλληλο κώδικα για είσοδο στην κύρια μνήμη.

Εάν κάθε flip-flop παρέχεται με ξεχωριστή είσοδο σετ εκτός από την κοινή είσοδο επαναφοράς, τότε τα δεδομένα μπορούν να εισαχθούν παράλληλα μέσω αυτών των εισόδων. Τα δεδομένα που «φορτώνονται» με αυτόν τον τρόπο μπορούν να ληφθούν στην έξοδο Q 4 σε σειριακή μορφή εφαρμόζοντας παλμούς ρολογιού. Ένας τέτοιος καταχωρητής χρησιμεύει ως μετατροπέας παράλληλου σε σειριακό και χρησιμοποιείται συχνά για τη μετατροπή της εξόδου δεδομένων από έναν μικροεπεξεργαστή, που αντιπροσωπεύεται από σήματα που εμφανίζονται ταυτόχρονα σε μεγάλο αριθμό εξόδων (για παράδειγμα, 16 εξόδους), σε σειριακό κώδικα για μετάδοση μέσω ένα ζεύγος καλωδίων σε δίκτυο ή μόντεμ. Ένας δημοφιλής σχεδιασμός που μπορεί να χρησιμοποιηθεί για τη μετατροπή δεδομένων από παράλληλη σε σειριακή και αντίστροφα είναι ο καθολικός ασύγχρονος πομποδέκτης. Περιέχει σε ένα ολοκληρωμένο κύκλωμα τους απαραίτητους καταχωρητές αλλαγής ταχυτήτων, το κύκλωμα ελέγχου και τους οδηγούς για λειτουργία στη γραμμή.

Εάν στο διάγραμμα που φαίνεται στο Σχ. 13.27, η έξοδος Q 4 συνδέεται με την είσοδο δεδομένων, τότε τα δεδομένα που μπορούν να εισαχθούν παράλληλα μέσω των εισόδων της εγκατάστασης δεν θα μπορέσουν ποτέ να φύγουν από τον καταχωρητή, αλλά απλώς θα κυκλοφορήσουν σε αυτόν. Αυτό το κύκλωμα ονομάζεται καταχωρητής με κυκλική μεταφοράή δαχτυλίδι μετρητής.Χρησιμοποιώντας 10 σαγιονάρες συνδεδεμένες σε μετρητή δακτυλίου και αριθμημένους από το 0 έως το 9, μπορεί να ληφθεί ένας δεκαδικός μετρητής. Αρχικά, ο αριθμός flip-flop 0 ορίζεται σε υψηλό και οι άλλοι μηδενίζονται. Στη συνέχεια, οι παλμοί που θα μετρηθούν εφαρμόζονται στην είσοδο ρολογιού, έτσι ώστε με την άφιξη κάθε παλμού εισόδου, η λογική 1 να μετακινείται από το ένα flip-flop στο άλλο. Μετά από εννέα παλμούς, θα γραφτεί ένα λογικό 1 για να ενεργοποιήσει τον αριθμό 9 και ο επόμενος παλμός θα επαναφέρει την αρχική κατάσταση. Η σύνδεση της εξόδου του flip-flop αριθμού 9 με την είσοδο ενός άλλου μετρητή δακτυλίου θα επιτρέψει την εγγραφή δεκάδων σε αυτό και έναν άλλο μετρητή δακτυλίου θα μπορεί να γράψει εκατοντάδες. Παρά την προφανή κομψότητα αυτού του κυκλώματος, είναι σχεδόν πάντα πιο βολικό να μετράμε σε δυαδικό και στη συνέχεια να μετατρέπουμε την έξοδο του δυαδικού μετρητή σε δεκαδικό.

Μια άλλη εφαρμογή ενός μετρητή δακτυλίου είναι η αντικατάσταση ενός διανομέα στο ηλεκτρονικό σύστημα ανάφλεξης ενός αυτοκινήτου. Αντί για ένα μηχανικό έκκεντρο που ανοίγει και κλείνει τα σημεία επαφής για τη δημιουργία σπινθήρα ανάφλεξης, δημιουργούνται παλμοί ρολογιού χρησιμοποιώντας έναν οπτικό ή μαγνητικό αισθητήρα που βρίσκεται στον σφόνδυλο του κινητήρα. Εδώ, χρησιμοποιείται μια λογική μετατόπιση 1 σε έναν κύκλο σε έναν μετρητή δακτυλίου, ο οποίος έχει ένα ψηφίο για κάθε κύλινδρο κινητήρα. Η φάση του παλμού του ρολογιού μπορεί να ρυθμιστεί προσεκτικά έτσι ώστε η λογική 1 να εμφανίζεται σε κάθε στάδιο ακριβώς την κατάλληλη στιγμή για να αναφλεγεί το μείγμα. Έτσι, η διόρθωση χρονισμού ανάφλεξης ρυθμίζεται χωρίς δυσκολία και, επιπλέον, μόλις ρυθμιστεί, δεν θα αλλάξει ποτέ, καθώς δεν υπάρχει μηχανική φθορά στον ηλεκτρονικό διανομέα.

Το κύκλωμα καταχωρητή μετατόπισης που φαίνεται στο Σχ. Το 13.27 μπορεί να χρησιμοποιηθεί ως βάση για πειράματα με όλους τους τύπους καταχωρητών μετατόπισης και μετρητών δακτυλίου. Το IC 74LS76 συνιστάται ως I^-flip-flop: κάθε μικροκύκλωμα περιέχει δύο σαγιονάρες που ενεργοποιούνται από ένα αρνητικό άκρο με ξεχωριστές εισόδους ρύθμισης και επαναφοράς. Το pinout αυτού του κυκλώματος δίνεται στο Παράρτημα 4.



Ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: