Διακοπές στον μικροελεγκτή 8051 και δομή και προγραμματισμός

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Οι πιο ισχυρές και σημαντικές δυνατότητες είναι οι διακοπές 8051 μικροελεγκτής . Στις περισσότερες από τις διαδικασίες σε πραγματικό χρόνο, για τον σωστό χειρισμό ορισμένων συνθηκών, η πραγματική εργασία πρέπει να διακοπεί για κάποιο χρονικό διάστημα - χρειάζεται η απαιτούμενη ενέργεια - και στη συνέχεια πρέπει να επιστρέψει στην κύρια εργασία. Για την εκτέλεση τέτοιου είδους προγραμμάτων, είναι απαραίτητες οι διακοπές. Διαφέρει εντελώς από τη μέθοδο ψηφοφορίας όπου ο επεξεργαστής πρέπει να ελέγχει διαδοχικά κάθε συσκευή και να ρωτάει εάν απαιτείται η υπηρεσία ή όχι, ενώ καταναλώνει περισσότερο χρόνο επεξεργαστή.

Διακόπτει τον μικροελεγκτή 8051

Διακόπτει τον μικροελεγκτή 8051



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


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



Τύποι διακοπών σε μικροελεγκτή 8051

Ο μικροελεγκτής 8051 μπορεί να αναγνωρίσει πέντε διαφορετικά συμβάντα που προκαλούν τη διακοπή του κύριου προγράμματος από την κανονική εκτέλεση. Αυτές οι πέντε πηγές διακοπών το 8051 αφορούν:

  1. Διακόπτης υπερχείλισης χρονοδιακόπτη- TF0
  2. Διακόπτης υπερχείλισης χρονομέτρου 1 - TF1
  3. Διακοπή εξωτερικού υλικού- INT0
  4. Διακοπή εξωτερικού υλικού- INT1
  5. Διακοπή σειριακής επικοινωνίας - RI / TI

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

Διακοπή διάνυσμα πίνακα

Διακοπή διάνυσμα πίνακα

Δομή διακοπής του ελεγκτή Micro 8051

Με το «RESET» απενεργοποιούνται όλες οι διακοπές και, επομένως, όλες αυτές οι διακοπές πρέπει να ενεργοποιούνται από ένα λογισμικό. Και στις πέντε αυτές διακοπές, εάν κάποιος ή όλοι είναι ενεργοποιημένοι, ορίζει τις αντίστοιχες σημαίες διακοπής όπως φαίνεται στο σχήμα. Όλες αυτές οι διακοπές μπορούν να οριστούν ή να εκκαθαριστούν λίγο σε κάποιο ειδικό πρόγραμμα καταγραφής λειτουργιών που είναι το Interrupt Enabled (IE) και αυτό με τη σειρά του εξαρτάται από την προτεραιότητα, η οποία εκτελείται από το μητρώο προτεραιότητας διακοπής IP.


Δομή διακοπής 8051 μικροελεγκτή

Δομή διακοπής 8051 μικροελεγκτή

Εγγραφή Enrupt Interable (IE): Αυτό το μητρώο είναι υπεύθυνο για την ενεργοποίηση και απενεργοποίηση της διακοπής. Είναι ένας καταχωρητής που μπορεί να αντιμετωπιστεί λίγο, στον οποίο το EA πρέπει να ρυθμιστεί σε ένα για την ενεργοποίηση των διακοπών. Το αντίστοιχο bit σε αυτόν τον καταχωρητή επιτρέπει συγκεκριμένη διακοπή όπως χρονοδιακόπτες, εξωτερικές και σειριακές εισόδους. Στον παρακάτω καταχωρητή IE, το bit που αντιστοιχεί στο 1 ενεργοποιεί τη διακοπή και το 0 απενεργοποιεί τη διακοπή.

Εγγραφή Enrupt Interable (IE)

Εγγραφή Enrupt Interable (IE)

Μητρώο προτεραιότητας διακοπής (IP): Είναι επίσης δυνατό να αλλάξετε τα επίπεδα προτεραιότητας των διακοπών ρυθμίζοντας ή εκκαθαρίζοντας το αντίστοιχο bit στο μητρώο προτεραιότητας διακοπής (IP) όπως φαίνεται στο σχήμα. Αυτό επιτρέπει στη διακοπή χαμηλής προτεραιότητας να διακόψει τη διακοπή υψηλής προτεραιότητας, αλλά απαγορεύει τη διακοπή από άλλη διακοπή χαμηλής προτεραιότητας. Ομοίως, η διακοπή υψηλής προτεραιότητας δεν μπορεί να διακοπεί. Εάν αυτές οι προτεραιότητες διακοπής δεν έχουν προγραμματιστεί, ο μικροελεγκτής εκτελείται με προκαθορισμένο τρόπο και η σειρά του είναι INT0, TF0, INT1, TF1 και SI.

Μητρώο IP

Μητρώο IP

Εγγραφή TCON: Εκτός από τους παραπάνω δύο καταχωρητές, ο καταχωρητής TCON καθορίζει τον τύπο εξωτερικής διακοπής στον μικροελεγκτή 8051, όπως φαίνεται στο σχήμα. Οι δύο εξωτερικές διακοπές, ανεξάρτητα από την ακμή ή το επίπεδο που ενεργοποιούνται, καθορίζονται από αυτόν τον καταχωρητή από ένα σύνολο ή διαγράφονται από κατάλληλα bits σε αυτό. Και, είναι επίσης λίγο διευθυνσιοδοτούμενο μητρώο.

Εγγραφή TCON

Εγγραφή TCON

Διακοπή προγραμματισμού το 8051

1. Προγραμματισμός διακοπής χρόνου

Οι διακοπές χρονοδιακόπτη 0 και χρονοδιακόπτη 1 δημιουργούνται από τα bit καταχωρητή χρονοδιακόπτη TF0 και TF1. Αυτά διακόπτουν προγραμματισμός με κωδικό C. περιλαμβάνει:

  • Επιλογή του χρονοδιακόπτη διαμορφώνοντας τον καταχωρητή TMOD και τον τρόπο λειτουργίας του.
  • Επιλογή και φόρτωση των αρχικών τιμών TLx και THx για κατάλληλες λειτουργίες.
  • Ενεργοποίηση των καταχωρητών IE και του αντίστοιχου bit χρονομέτρου σε αυτό.
  • Ρύθμιση του bit εκτέλεσης χρονοδιακόπτη για έναρξη του χρονοδιακόπτη.
  • Γράφοντας την υπορουτίνα για το χρονόμετρο για τον απαιτούμενο χρόνο και διαγράψτε την τιμή χρονομέτρου TRx στο τέλος της υπορουτίνας.
Προγραμματισμός διακοπής χρονοδιακόπτη

Προγραμματισμός διακοπής χρονοδιακόπτη

2. Εξωτερικός προγραμματισμός διακοπής υλικού

8051 μικροελεγκτές αποτελείται από δύο εξωτερικές διακοπές υλικού: INT0 και INT1 όπως συζητήθηκε προηγουμένως. Αυτά είναι ενεργοποιημένα στον πείρο 3.2 και στον πείρο 3.3. Αυτά μπορεί να ενεργοποιούνται από άκρη ή να προκαλούνται από επίπεδο. Στην ενεργοποίηση επιπέδου, ο χαμηλός στον πείρο 3.2 επιτρέπει τη διακοπή, ενώ στον πείρο 3.2 - η μετάβαση από υψηλό σε χαμηλό επιτρέπει τη διακοπή που προκαλείται από το άκρο. Αυτή η ενεργοποίηση άκρου ή η ενεργοποίηση επιπέδου αποφασίζεται από τον καταχωρητή TCON που έχει συζητηθεί παραπάνω. ο διαδικασία προγραμματισμού το 8051 είναι όπως ακολουθεί:

  • Ενεργοποιήστε το αντίστοιχο bit εξωτερικής διακοπής στο μητρώο IE.
  • Εάν ενεργοποιείται επίπεδο, απλώς γράψτε την υπορουτίνα κατάλληλη για αυτήν τη διακοπή, διαφορετικά ενεργοποιήστε το bit εγγραφής TCON που αντιστοιχεί στη διακοπή που προκαλείται από την άκρη - είτε πρόκειται για INT0 είτε INT1.
Εξωτερικός προγραμματισμός διακοπής υλικού

Εξωτερικός προγραμματισμός διακοπής υλικού

3. Προγραμματισμός Διακοπής Σειράς Επικοινωνίας

Οι σειριακές διακοπές επικοινωνίας εμφανίζονται στην εικόνα όταν υπάρχει ανάγκη αποστολής ή λήψης δεδομένων. Δεδομένου ότι έχει οριστεί ένα bit διακοπής και για τις σημαίες TI (Transfer Interrupt) και RI (Receiver Interrupt), η ρουτίνα Interrupt Service πρέπει να εξετάσει αυτές τις σημαίες για να γνωρίζει την πραγματική διακοπή.

Η λογική Ή λειτουργία αυτών των δύο σημαιών (RI ands TI) προκαλεί αυτήν τη διακοπή και διαγράφεται μόνο από το λογισμικό. Εδώ, χρησιμοποιείται ένας ειδικός καταχωρητής SCON για τον έλεγχο επικοινωνία λειτουργία ενεργοποιώντας τα αντίστοιχα bits σε αυτό.

  • Διαμορφώστε τον καταχωρητή IE για να ενεργοποιήσετε τη σειριακή διακοπή
  • Διαμορφώστε τον καταχωρητή SCON για λήψη ή μεταφορά λειτουργίας
  • Γράψτε υπορουτίνα για αυτήν τη διακοπή με κατάλληλη λειτουργία και διαγράψτε τις σημαίες TI ή RI με αυτήν τη ρουτίνα.
Προγραμματισμός σειριακής διακοπής

Προγραμματισμός σειριακής διακοπής

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

Φωτογραφικές μονάδες