Εγγραφή τραπεζών και κατανομή μνήμης στοίβας στον μικροελεγκτή 8051

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





Η συλλογή μητρώων γενικού σκοπού (R0-R7) καλείται ως τράπεζα μητρώου, οι οποίες δέχονται ένα byte δεδομένων. Το τραπεζικό μητρώο είναι μέρος του Μνήμη RAM στο ενσωματωμένο μικροελεγκτές και χρησιμοποιείται για την αποθήκευση των οδηγιών του προγράμματος. Κάθε μικροελεγκτής αποτελείται από διάφορες τράπεζες μνήμης και κάθε τραπεζικός κατάλογος αποτελείται από μια μοναδική διεύθυνση για την αναγνώριση της θέσης αποθήκευσης.

Εγγραφή τραπεζών στο 8051

Εγγραφή τραπεζών στο 8051

Εγγραφή τραπεζών στο 8051



Ο μικροελεγκτής 8051 αποτελείται από τέσσερις τράπεζες μητρώου, όπως Bank0, Bank1, Bank2, Bank3 που επιλέγονται από το μητρώο PSW (Program Status Word). Αυτές οι τράπεζες καταχώρησης υπάρχουν στην εσωτερική μνήμη RAM του 8051 μικροελεγκτή και χρησιμοποιούνται για την επεξεργασία των δεδομένων κατά τον προγραμματισμό του μικροελεγκτή.


Αλλαγή Μητρώων Τραπεζών



Από προεπιλογή, ο μικροελεγκτής 8051 ενεργοποιείται με την τράπεζα μητρώου 0 και, χρησιμοποιώντας το Word Status Status (PSW), μπορούμε να μεταβούμε σε άλλες τράπεζες. Τα δύο bits του PSW χρησιμοποιούνται για εναλλαγή μεταξύ των τραπεζών μητρώου. Αυτά τα δύο bits είναι προσβάσιμα από τις διευθύνσεις bit-addressable SETB και CLR.

Με βάση τους πιθανούς συνδυασμούς RS1 και RS0 PSW, η τράπεζα μητρώου αλλάζει ανάλογα, δηλαδή, εάν τα RS1 και RS0 είναι 0, τότε επιλέγεται η Τράπεζα 0. Ομοίως, τα Bank1, 2 & 3 επιλέγονται σύμφωνα με τις τιμές των RS1 και RS0.

Κατανομή μνήμης στοίβας σε μικροελεγκτή 8051

Η στοίβα είναι μια περιοχή μνήμης τυχαίας προσπέλασης (RAM) που διατίθεται για προσωρινή αποθήκευση όλων των παραμέτρων των μεταβλητών. Η στοίβα είναι επίσης υπεύθυνη για την υπενθύμιση της σειράς με την οποία καλείται μια συνάρτηση, ώστε να μπορεί να επιστραφεί σωστά. Κάθε φορά που καλείται η συνάρτηση, οι παράμετροι και οι τοπικές μεταβλητές που σχετίζονται με αυτήν προστίθενται στη στοίβα (PUSH). Όταν επιστρέψει η συνάρτηση, οι παράμετροι και οι μεταβλητές αφαιρούνται ('POP') από τη στοίβα. Γι 'αυτό το μέγεθος της στοίβας ενός προγράμματος αλλάζει συνεχώς κατά την εκτέλεση του προγράμματος.


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

Κατανομή μνήμης στοίβας σε μικροελεγκτή 8051

Κατανομή μνήμης στοίβας σε μικροελεγκτή 8051

Παράδειγμα

Όταν ενεργοποιηθεί ένας μικροελεγκτής 8051, η τιμή που περιέχει ο δείκτης στοίβας είναι 07, από προεπιλογή, όπως φαίνεται στην παραπάνω εικόνα. Εάν εκτελέσουμε τη λειτουργία «PUSH», τότε η διεύθυνση δείκτη στοίβας θα αυξηθεί και θα μεταφερθεί σε άλλο μητρώο. Για να αποφύγουμε αυτό το πρόβλημα, πριν ξεκινήσουμε το πρόγραμμα, πρέπει να αντιστοιχίσουμε μια διαφορετική θέση διεύθυνσης στο δείκτη στοίβας.

Λειτουργία PUSH

Το «PUSH» χρησιμοποιείται για τη λήψη των τιμών από οποιονδήποτε καταχωρητή και την αποθήκευση στη διεύθυνση εκκίνησης του δείκτη στοίβας, δηλαδή, 00h χρησιμοποιώντας τη λειτουργία «PUSH». Και, για το επόμενο 'PUSH', αυξάνει το +1 και αποθηκεύει την τιμή στην επόμενη διεύθυνση του δείκτη στοίβας, δηλαδή, 01h.

Λειτουργία PUSH του Stack

Λειτουργία PUSH του Stack

Μέσα λειτουργίας PUSH (First in First out)

Παράδειγμα: WAP σε γλώσσα συναρμολόγησης για λειτουργία PUSH

0000 ώρες
MOV 08h, # 21h
MOV 09h, # 56h
ΩΡΙΑ 00h
PUSH 01h
ΤΕΛΟΣ

Λειτουργία POP

Χρησιμοποιείται για την τοποθέτηση των τιμών από τη μέγιστη διεύθυνση του δείκτη στοίβας σε οποιαδήποτε διεύθυνση άλλου μητρώου. Εάν χρησιμοποιήσουμε ξανά αυτό το «POP», τότε μειώνεται κατά 1 και η τιμή που είναι αποθηκευμένη σε οποιοδήποτε μητρώο δίνεται ως «POP».

Λειτουργία POP στο Stack

Λειτουργία POP στο Stack

Η λειτουργία POP σημαίνει «Last in First out».

000Η
MOV 00H, # 12H
MOV 01H, # 32Η
POP 1FH
POP 0EH
ΤΕΛΟΣ

Μητρώα 8051 Μικροελεγκτή

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

Αυτά τα μητρώα ταξινομούνται σε δύο τύπους με βάση τις λειτουργίες τους:

• Μητρώα γενικών σκοπών

• Μητρώα ειδικών λειτουργιών

Μητρώα γενικού σκοπού

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

Μητρώα ειδικής λειτουργίας

Οι καταχωρητές ειδικής λειτουργίας, συμπεριλαμβανομένων των Συσσωρευτών, Μητρώου Β, Δείκτης δεδομένων, PCON, PSW, κ.λπ., έχουν σχεδιαστεί για προκαθορισμένο σκοπό κατά την κατασκευή με τη διεύθυνση 80H έως FFH και αυτή η περιοχή δεν μπορεί να χρησιμοποιηθεί για σκοπούς αποθήκευσης δεδομένων ή προγράμματος. Αυτοί οι καταχωρητές μπορούν να υλοποιηθούν με καταχωρητές διευθύνσεων bit και byte.

Τύποι Μητρώων Ειδικής Λειτουργίας

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

Καταχωρήστε το σετ μικροελεγκτή 8051

Ο καθορισμός σταθερής σταθερής τιμής στο μητρώο ονομάζεται σύνολο μητρώου. Οι τιμές ορίζονται στους καταχωρητές χρησιμοποιώντας το σύνολο εντολών. Το 8051 ακολουθεί τις οδηγίες της CISC με την αρχιτεκτονική «Harvard». ο Το CISC σημαίνει σύνθετο υπολογιστικό σύνολο εντολών . Διαφορετικοί τύποι οδηγιών στον μικροελεγκτή 8051 περιλαμβάνουν:

  1. Αριθμητικές οδηγίες
  2. Υπό όρους οδηγίες
  3. Οδηγίες κλήσης και άλματος
  4. Οδηγίες βρόχου
  5. Λογικές οδηγίες
  6. Οδηγίες Bullion

1. Αριθμητικές οδηγίες

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

  • Πρόσθεση
  • Αφαίρεση
  • Πολλαπλασιασμός
  • Διαίρεση
Αριθμητικές οδηγίες στο 8051 Μικροελεγκτή

Αριθμητικές οδηγίες στο 8051 Μικροελεγκτή

Παραδείγματα:

ένα. Πρόσθεση:

Οργανισμός 0000 ώρες
MOV R0, # 03H // μετακινήστε την τιμή 3 είναι καταχωρητής R0 //
MOV A, # 05H // μετακινήστε την τιμή 5 στο συσσωρευτή A //
Προσθέστε A, 00H // τιμή συσσωρευτή «5» με 0 και αποθηκευμένη στον συσσωρευτή //
ΤΕΛΟΣ

σι. Αφαίρεση:

Οργανισμός 0000 ώρες
MOV R0, # 03H // μετακινήστε την τιμή 3 είναι καταχωρητής R0 //
MOV A, # 05H // μετακινήστε την τιμή 5 στο συσσωρευτή A //
SUBB A, 03H // A = 5-3 η τελική τιμή αποθηκεύεται 2 στον Συσσωρευτή A //
ΤΕΛΟΣ

Γ. Πολλαπλασιασμός:

Οργανισμός 0000 ώρες
MOV R0, # 03H // μετακινήστε την τιμή 3 είναι καταχωρητής R0 //
MOV A, # 05H // μετακινήστε την τιμή 5 στο συσσωρευτή A //
MUL A, 03H // A = 5 * 3 η τελική τιμή είναι 15, αποθηκευμένη στον Συσσωρευτή A //
ΤΕΛΟΣ

Δ. Διαίρεση:

Οργανισμός 0000 ώρες
MOV R0, # 03H // μετακινήστε την τιμή 3 είναι καταχωρητής R0 //
MOV A, # 15H // μετακινήστε την τιμή 5 στο συσσωρευτή A //
DIV A, 03H // A = 15/3 η τελική τιμή είναι 5 αποθηκευμένη στον Συσσωρευτή A //
ΤΕΛΟΣ

2. Υπό όρους οδηγίες

Η CPU μπορεί να εκτελέσει τις οδηγίες με βάση την κατάσταση ελέγχοντας την κατάσταση ενός bit ή η κατάσταση byte καλείται οδηγίες υπό όρους όπως:

Για να ελέγξετε την κατάσταση του single-bit στον καταχωρητή bit-addressable

JB- πηδήξτε εάν παρακάτω

JNB- άλμα αν όχι παραπάνω

Για να ελέγξετε την κατάσταση μεταφοράς bit

JC- άλμα αν φέρει σημαία

JNC-άλμα αν δεν φέρει

Για να ελέγξετε την κατάσταση του συσσωρευτή είτε 0 είτε 1

JZ - πηδήξτε αν μηδενική σημαία

JNZ- άλμα αν όχι μηδέν

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