Βασικές αρχές της ηλεκτρονικής και προγραμματισμός τεχνολογίας μικροεπεξεργαστών. Τεχνολογία μικροεπεξεργαστή. Μικροεπεξεργαστές και κιτ μικροεπεξεργαστών. Εντολές μεταφοράς δεδομένων

ΒΑΣΕΙΣ ΤΕΧΝΟΛΟΓΙΑΣ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ

Σημειώσεις διάλεξης

Μόσχα 2013

ΟΡΓΑΝΩΣΗ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ ΚΑΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΣΥΣΤΗΜΑΤΑ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ ΒΑΣΙΣΜΕΝΑ ΣΕΙΡΑ ΚΙΤ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗ K580

Σύνθεση του κιτ μικροεπεξεργαστή

Το MPC της σειράς K580 περιέχει ένα σύνολο LSI για την κατασκευή συστημάτων μικροεπεξεργαστή χαμηλής ταχύτητας που λειτουργούν σε συχνότητα ρολογιού έως και 2,5 MHz. Χρησιμοποιώντας αυτό το MPC, κατασκευάζονται συστήματα μικροεπεξεργαστών (MPS) που επιλύουν προβλήματα ελέγχου διαφόρων τεχνολογικών διαδικασιών.

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

Ορισμένα μικροκυκλώματα που περιλαμβάνονται στο MPC κατασκευάζονται χρησιμοποιώντας τεχνολογία n-MOS, άλλα - χρησιμοποιώντας τεχνολογία TTLSh. Ωστόσο, ανεξάρτητα από την τεχνολογία κατασκευής, όλα τα σήματα εισόδου και εξόδου των μικροκυκλωμάτων της σειράς K580 αντιστοιχούν στα επίπεδα των λογικών κυκλωμάτων τεχνολογίας TTL, γεγονός που απλοποιεί το συντονισμό με μικροκυκλώματα τεχνολογίας TTL οποιασδήποτε σειράς.

Όλα τα μικροκυκλώματα MPC μπορούν να λειτουργήσουν στο εύρος θερμοκρασίας από -10° C έως + 70° C. Το μικροκύκλωμα K580VM80A απαιτεί τρεις πηγές τάσης: ισχύς: +5 V, -5 V και +12 V, το μικροκύκλωμα K580GF24 απαιτεί δύο πηγές: + 5 V και +12 V, τα υπόλοιπα μικροκυκλώματα προέρχονται από μία πηγή: +5 V.

Ο Πίνακας 2.1 δείχνει τη σύνθεση του κιτ μικροεπεξεργαστή της σειράς K580.

Πίνακας 2.1 Σύνθεση του κιτ μικροεπεξεργαστή

Ονομασία τσιπ Σκοπός Εκτελέστηκε λειτουργία
K580VM80A Παράλληλη CPU Κεντρικός επεξεργαστής με σταθερό σύνολο εντολών για την επεξεργασία παράλληλων πληροφοριών 8-bit
K580VV51A Καθολικός σύγχρονος/ασύγχρονος πομποδέκτης Καθολικός Σύγχρονος/Ασύγχρονος σειριακός πομποδέκτης 8-bit
K580VI53 Χρονόμετρο 8 ή 16 bit Δημιουργεί χρονικές καθυστερήσεις ελεγχόμενες από λογισμικό για συγχρονισμό ελεγχόμενων αντικειμένων σε πραγματικό χρόνο
K580VV55A Παράλληλη θύρα 8 bit Προγραμματιζόμενη I/O παράλληλων πληροφοριών
K580VT57 Ελεγκτής DMA 8 ή 16 bit Υψηλής ταχύτητας ανταλλαγή πληροφοριών μεταξύ μνήμης MPS και περιφερειακών συσκευών
K580VN59 Ελεγκτής διακοπής Εξυπηρετεί έως και οκτώ αιτήματα διακοπών από εξωτερικές συσκευές
K580VV79 Πληκτρολόγιο 8-bit και διεπαφή οθόνης Ελεγκτής I/O για πληκτρολόγιο και οθόνη
K580VG75 Διεπαφή CRT 8 ή 16 bit Ελεγκτής για την έξοδο πληροφοριών από τη μνήμη MPS στην οθόνη του καθοδικού σωλήνα
K580VK91A Διεπαφή καναλιού Συσκευή διασύνδεσης του μικροεπεξεργαστή με το σύστημα μέτρησης πληροφοριών
K580VA93 Πομποδέκτης καναλιού Μικροεπεξεργαστής πομποδέκτη - δημόσιο κανάλι
K580GF24 Γεννήτρια ρολογιού Δημιουργεί δύο ακολουθίες παλμών ρολογιού που είναι απαραίτητες για τη λειτουργία του κεντρικού επεξεργαστή
K580VK28 K580VK38 Ελεγκτής συστήματος και οδηγός λεωφορείου Παράγει σήματα ελέγχου για διάφορες συσκευές που περιλαμβάνονται στο MPS
K580IR82 K580IR83 Καταχωρητής buffer Καταχωρητής buffer τριών καταστάσεων 8-bit
K580VA86 K580VA87 Πρώην λεωφορείο Πρόγραμμα οδήγησης λεωφορείου διπλής κατεύθυνσης, 8-bit, υψηλού φορτίου, τριών καταστάσεων

Εγγραφή μπλοκ

Ο μικροεπεξεργαστής K580 περιέχει καταχωρητές 8-bit προσβάσιμους από λογισμικό γενικού σκοπού(RON) και εξειδικευμένοι καταχωρητές 16-bit: μετρητής προγράμματος και καταχωρητής δείκτη στοίβας. Επιπλέον, υπάρχουν καταχωρητές που δεν είναι άμεσα προσβάσιμοι στο πρόγραμμα: καταχωρητές προσωρινής αποθήκευσης 8-bit W, Z και ένας καταχωρητής διευθύνσεων 16-bit.

Μητρώα γενικής χρήσηςΤα B, C, D, E, H, L χρησιμοποιούνται για την αποθήκευση τελεστών, ενδιάμεσων και τελικών αποτελεσμάτων, καθώς και διευθύνσεων και δεικτών για έμμεση διεύθυνση και διευθυνσιοδότηση ευρετηρίου. Για να εκτελέσετε λειτουργίες με λέξεις διπλού μήκους και λειτουργίες σχηματισμού και μεταφοράς διευθύνσεων διπλού byte, είναι δυνατό να λειτουργήσετε με τα περιεχόμενα των ζευγών καταχωρητών BC, DE, HL.

Ένα ιδιαίτερο χαρακτηριστικό του μπλοκ καταχωρητή MP είναι η παρουσία στη σύνθεσή του συστήματα αύξησης/μείωσης(INC/DEC), το οποίο παράγει πάνω από το περιεχόμενο μετρητής προγράμματος(Η/Υ) και καταχωρητής δείκτη στοίβας(SP) λειτουργία πρόσθεσης/αφαίρεσης 1 χωρίς τη συμμετοχή της ALU.

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

Δείκτης στοίβας(καταχωρητής 16 bit) χρησιμοποιείται για τη διεύθυνση της μνήμης στοίβας. Το MP K580 χρησιμοποιεί μια «ανεστραμμένη» στοίβα, δηλ. Όταν μια λέξη ωθείται στη στοίβα, η τιμή του δείκτη στοίβας (η διεύθυνση του επάνω μέρους της στοίβας) μειώνεται και όταν μια λέξη βγαίνει από τη στοίβα, αυξάνεται.

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

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

Το μπλοκ καταχωρητή περιλαμβάνει έναν καταχωρητή διευθύνσεις μνήμης(RA), σχεδιασμένο να αποθηκεύει τη διεύθυνση του κελιού μνήμης στο οποίο είναι γραμμένη η τρέχουσα εντολή. Ο καταχωρητής διευθύνσεων δεν είναι προσβάσιμος στον προγραμματιστή. Ωστόσο, οποιοδήποτε ζεύγος καταχωρητών (BC, DE, HL) μπορεί να χρησιμοποιηθεί για τον καθορισμό των διευθύνσεων των εντολών και των δεδομένων στο πρόγραμμα.

Κυκλώματα προσωρινής αποθήκευσης

Η αμφίδρομη προσωρινή μνήμη διαύλου δεδομένων έχει σχεδιαστεί για να διαχωρίζει λογικά και ηλεκτρικά το δίαυλο δεδομένων ενδοεπεξεργαστή από τον εξωτερικό δίαυλο δεδομένων συστήματος. Το buffer αποτελείται από έναν καταχωρητή ασφάλισης και ένα κύκλωμα εξόδου τριών καταστάσεων, δηλ. ένα κύκλωμα που παρέχει καταστάσεις εξόδου 0, 1 και πλήρη αποσύνδεση από το φορτίο (κατάσταση υψηλής αντίστασης).

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

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

Κατά την εκτέλεση πράξεων σε ΜΠ που δεν σχετίζονται με διαδικασίες ανταλλαγής με εξωτερικές συσκευέςΤο κύκλωμα buffer αποσυνδέεται από το δίαυλο δεδομένων.

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

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

Συσκευή ελέγχου

Μπλοκ ελέγχουπεριλαμβάνει:

Μητρώο εντολών 8 bit (RK), σχεδιασμένο να λαμβάνει και να αποθηκεύει τον κωδικό λειτουργίας.

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

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

Εντολές μεταφοράς δεδομένων

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

Πίνακας 2.5 Εντολές μεταφοράς δεδομένων

Εντολή μνημονική Κωδικός λειτουργίας Αριθμός byte ανά εντολή Ενέργειες που πραγματοποιήθηκαν
MOV R1, R2 01DDDSSS 1 1 (R1) (R2)
MOV R, M 01DDD110 1 2 (R)M(HL)
MOV M, R 01110 ΣΣΣ 1 2 M(HL) (R)
MVI R, δεδομένα 00DDD110 2 2 (R) (byte2)
MVI M, δεδομένα 00110110 2 3 M(HL) (byte2)
LXI RP, στοιχεία 00RP0001 2 3 (RH) (byte3); (RL) (byte2).
Διεύθυνση LDA 00111010 3 4 (Α) ((byte3)(byte2))
Προσθ. LHLD 00101010 3 5 L((byte3)(byte2)); H ((byte3)(byte2)+1).
LDAX RP 00RP1010 1 2 (ΕΙΜΑΙ)
XCHG 11101011 1 1 (Η) « (D); (L) « (Ε)
STA adr 00110010 3 4 ((byte3)(byte2)) (A)
SHLD adr 00110010 3 5 ((byte3)(byte2)) (L); ((byte3)(byte2)+1) (H)
STAX RP 00RP0010 1 2 M(RP) (A)

Οδηγία μεταφοράς με διεύθυνση μητρώου MOV A, D)μεταφέρει τα περιεχόμενα του καταχωρητή D στον συσσωρευτή. Εντολή άμεσης διευθυνσιοδότησης MVI D, 4E 16μεταφέρει τον αριθμό που δίνεται στο δεύτερο byte της εντολής (στο παράδειγμα τον αριθμό 4E 16) στον καταχωρητή D, η διεύθυνση του οποίου υποδεικνύεται στα bit 5...3 του πρώτου byte της εντολής. Εντολή άμεσης διευθυνσιοδότησης LDA 0200 16μεταφέρει τα περιεχόμενα του κελιού μνήμης, η διεύθυνση του οποίου υποδεικνύεται στο δεύτερο και τρίτο byte της εντολής (0200 16), στην μπαταρία. Ομάδα LDAX π.ΧΤα περιεχόμενα μιας κυψέλης RAM, η διεύθυνση της οποίας είναι τα περιεχόμενα ενός ζεύγους καταχωρητών BC, φορτώνονται στον συσσωρευτή.

Της ομάδας λογικές πράξεις

Ο σκοπός αυτών των εντολών είναι να εκτελέσουν τις λογικές πράξεις AND, OR, XOR, σύγκριση, shift και invert. Αυτές οι οδηγίες εκτελούν λογικές πράξεις σε δεδομένα στη μνήμη ή σε καταχωρητές και χαρακτηριστικά. Ο Πίνακας 2.7 δείχνει τις εντολές για λογικές πράξεις.

Πίνακας 2.7 Λογικές εντολές λειτουργίας

Εντολή μνημονική Κωδικός λειτουργίας Αριθμός byte ανά εντολή Χρόνος εκτέλεσης εντολών, κύκλοι Ενέργειες που πραγματοποιήθηκαν
ANA R 10100 ΣΣΣ 1 1 (A) (A)Ù(R). Οι σημαίες έχουν οριστεί – Z, S, P, AC.
ΑΝΑ Μ 10100110 1 2 (A) (A)ÙM(HL). Οι σημαίες έχουν οριστεί – Z, S, P, AC.
Δεδομένα ANI 10101 ΣΣΣ 2 2 (A) (A)Ù(byte2). Οι σημαίες έχουν οριστεί – Z, S, P, AC.
XRA R 10101 ΣΣΣ 1 1 (A) (A)Å(R). Οι σημαίες έχουν οριστεί – Z, S, P.
XRA M 10101110 1 2 (A) (A)ÅM(HL). Οι σημαίες έχουν οριστεί – Z, S, P.
Δεδομένα XRI 11101110 2 2 (A) (A)Å(byte2). Οι σημαίες έχουν οριστεί – Z, S, P.
ΩΡΑ Ρ 10110SS 1 1 (A) (A)Ú(R). Οι σημαίες έχουν οριστεί – Z, S, P.
ΩΡΑ Μ 10110110 1 2 (A) (A)ÚM(HL). Οι σημαίες έχουν οριστεί – Z, S, P.
δεδομένα ORI 11110110 2 2 (A) (A)Ú(byte2). Οι σημαίες έχουν οριστεί – Z, S, P.
CMP R 10111 ΣΣΣ 1 1 (Α)-(R). Σημαίες – Z=1 εάν (A)=(R), C=1 εάν (A)<(R).
ΔΕΑ Μ 10111110 1 2 (Α)-Μ(HL). Σημαίες – Z=1 εάν (A)=(M), C=1 εάν (A)<(M).
Δεδομένα ΔΤΚ 11111110 2 2 (Α)-(byte2). Σημαίες – Z=1 εάν (A)=(byte2), C=1 εάν (A)<(байт2).
RLC 00000111 1 1 Μετατόπιση αριστερά (A) (2A). Η σημαία C έχει οριστεί.
RRC 00001111 1 1 Μετατόπιση δεξιά. (Α) (Α/2). Η σημαία C έχει οριστεί.
RAL 00010111 1 1 Κυκλική μετατόπιση προς τα αριστερά. Η σημαία C έχει οριστεί.
RAR 00011111 1 1 Κυκλική μετατόπιση προς τα δεξιά. Η σημαία C έχει οριστεί.
CMA 00101111 1 1
CMC 00111111 1 1
STC 00110111 1 1 (Γ)1.

Τεχνικές Προγραμματισμού

Για να προγραμματίσετε το MP, πρέπει να γνωρίζετε τη σύνθεση των οδηγιών, να γνωρίζετε καλά τον σκοπό και τη θέση των μητρώων, δηλ. γνωρίζει την αρχιτεκτονική μικροεπεξεργαστή.

Τα στάδια ανάπτυξης του προγράμματος πρέπει να εκτελούνται με την ακόλουθη σειρά:

1. Ορισμός και ανάλυση του προβλήματος.

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

3. Σύνταξη προγράμματος σε γλώσσα Assembly.

4. Μετάφραση του προγράμματος σε κωδικούς μηχανών.

5. Εντοπισμός σφαλμάτων του προγράμματος (εύρεση και εξάλειψη σφαλμάτων).

6. Τεκμηρίωση του προγράμματος.

Ας διατυπώσουμε τις γενικές απαιτήσεις για προγράμματα γραμμένα σε γλώσσα Assembly.

Γενικά, οποιαδήποτε εντολή στη γλώσσα Assembly γράφεται ως εξής:

Ετικέτα: Δεδομένα λειτουργίας. Ενα σχόλιο

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

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

Το HLT είναι ένας μνημονικός προσδιορισμός για την εντολή διακοπής του MP K580.

Δεδομένα– μέρος μιας εντολής που μπορεί να περιέχει μία ή δύο λέξεις οκτώ bit ανάλογα με τον τύπο της εντολής (διεύθυνση κυψέλης μνήμης, διεύθυνση θύρας I/O, απευθείας δεδομένα).

6.3.3. Εργασίες μάθησης προγραμματισμού

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

Λίστα 12.2. (html, txt)

Λίστα 12.2. (html, txt)

Κύριο πρόγραμμα

ΒΡΟΧΟΣ

ΚΛΗΣΗ SB1_VD2 ;κλήση υπορουτίνας SB1_VD2

;Επανάληψη της διαδικασίας

GET_RA ;υπορουτίνα ανάγνωσης κατάστασης

; λιμάνι Α

SB1_VD2 ;Υπορουτίνα εξόδου LED

Κατάσταση VD2 του κουμπιού SB1 (bit 4

;εγγραφή TEMPA)

GOTO P0 ; μεταβείτε στο P0

;TEMPA,4=0 (κουμπί πατημένο)

GOTO P1 ; μεταβείτε στο P1

BCF VD2 ;σβήνει το LED

ΕΠΙΣΤΡΟΦΗ

Λίστα 12.2.

Το κύριο πρόγραμμα περιέχει έναν κλειστό βρόχο LOOP GOTO LOOP , απαραίτητο για την περιοδική επανάληψη του κύκλου παρακολούθησης της κατάστασης του κουμπιού και εμφάνισής του στην ένδειξη. Ομάδα CLRWDT εξαλείφει την επίδραση μιας πιθανής επαναφοράς λόγω υπερχείλισης του χρονοδιακόπτη παρακολούθησης στη λειτουργία του προγράμματος. Οι ακόλουθες δύο εντολές καλούν υπορουτίνες GET_RA και SB1_VD2. Το πρώτο από αυτά (GET_RA ) διαβάζει πρώτα την τρέχουσα κατάσταση του λιμανιούΕΝΑ , το οποίο καταχωρείται στο μητρώο εργασίας W . Δεδομένου ότι ο καταχωρητής εργασίας μπορεί να χρειαστεί κατά την εκτέλεση άλλων εντολών, η κατάστασή του εγγράφεται στον καταχωρητήΤΕΜΠΑ , χρησιμοποιείται εδώ για την προσωρινή αποθήκευση της κατάστασης θύραςΕΝΑ . Έτσι, μετά την επιστροφή από την υπορουτίνα GET_RA στη βαθμίδα 4 μητρώαΤΕΜΠΑ περιέχει πληροφορίες σχετικά με την κατάσταση του κουμπιού SB1 : Δεν πατήθηκε το "1", πατήθηκε το "0".

Υπορουτίνα SB1_VD2 TEMPA και, ανάλογα με αυτό, ανάβει ή σβήνει το LED. Δεν υπάρχουν εντολές άλματος υπό όρους στο σύστημα εντολών του μικροελεγκτή PIC16F84, επομένως, για να οργανωθεί η επαλήθευση μιας ή άλλης συνθήκης, χρησιμοποιούνται εντολές που σας επιτρέπουν να παραλείψετε την εκτέλεση της επόμενης εντολής προγράμματος, ανάλογα με την κατάσταση μιας συγκεκριμένης bit σε ένα δεδομένο μητρώο ( BTFSS και BTFSC ). Συγκεκριμένα, η ομάδα BTFSS TEMP,4 παρακάμπτει την εκτέλεση εντολών GOTO P0 εάν ΘΕΡΜΟΚΡΑΣΙΑ,4 = 1 (το κουμπί δεν πατιέται). Έτσι η εντολή υλοποιείται BSF VD2 , που ανάβει το LED VD2 . Στη συνέχεια αναλύεται η κατάστασηΘΕΡΜΟΚΡΑΣΙΑ, 4 = 0 (πατιέται το κουμπί) και, αν συμβεί, το LED σβήνει.

Είναι δυνατή μια απλούστερη υλοποίηση του δεδομένου αλγορίθμου, καθώς η κατάσταση πατήματος του κουμπιού αποκλείει την κατάσταση μη πατημένο (και αντίστροφα), αλλά η επιλογή που παρουσιάζεται είναι πιο σαφής.

Ας εξετάσουμε μια πιο περίπλοκη έκδοση του προγράμματος, η οποία περιλαμβάνει το άναμμα ενός LED VD2 μόνο με την ακόλουθη κατάσταση των διακοπτών εναλλαγής και των κουμπιών διάταξης: SA1 = 1, SA2 = 1, SB1 = 1 και SB2 = 0.

Λίστα 12.3. (html, txt)

Λίστα 12.3. (html, txt)

Κύριο πρόγραμμα

ΒΡΟΧΟΣ

CLRWDT ;επαναφορά φύλακα

ΚΛΗΣΗ GET_RA ; καλώντας την υπορουτίνα GET_RA

ΚΛΗΣΗ GET_RB ; καλώντας την υπορουτίνα GET_RB

ΚΛΗΣΗ ZAG_1110 ; κλήση της υπορουτίνας ZAG_1110

GOTO LOOP ;μεταβείτε στο σημάδι LOOP για

;Επανάληψη της διαδικασίας

GET_RB ;υπορουτίνα ανάγνωσης κατάστασης

; λιμάνι Β

MOVF PORTB,W ;διαβάστε την κατάσταση της θύρας B στο W

MOVWF TEMPB ;προώθηση W στο TEMPB

ΕΠΙΣΤΡΟΦΗ

ZAG_1110 ; ανάβει το LED VD2 μόνο όταν

;την ακόλουθη κατάσταση των διακοπτών εναλλαγής και

;κουμπιά διάταξης:

;SA1 = SA2 = SB1 = 1 και SB2 = 0

BTFSS TEMPA,2 ;εντολή παράλειψης εάν

GOTO P0 ;TEMPA,2=1

BTFSS TEMPA,3 ;εντολή παράλειψης εάν

GOTO P0 ;TEMPA,3=1

BTFSS TEMPA,4 ;εντολή παράλειψης εάν

GOTO P0 ;TEMPA,4=1

BTFSC TEMPB,0 ;εντολή παράλειψης εάν

GOTO P0 ;TEMPB,0=0

BSF VD2 ; ανάβει το LED VD2

GOTO P1

BCF VD2 ;σβήστε το LED VD2

ΕΠΙΣΤΡΟΦΗ

ΠΕΡΙΛΑΜΒΑΝΕΤΕ GET_RA.ASM

Λίστα 12.3.

Υπορουτίνες GET_RA και GET_RB καταχωρούνται σε μητρώα TEMPA και TEMPB τρέχουσες πολιτείες λιμένωνΑ και Β , αντίστοιχα. Υπορουτίνα ZAG_1110 αναλύει τις καταστάσεις των bit 2, 3 και 4 του καταχωρητήΤΕΜΠΑ και το bit 0 του καταχωρητή TEMPB , και υπόκειται σε TEMPA,2,3,4 = 1,1,1 και TEMPB,0 = 0 , ανάβει το LED VD2 . Εάν δεν πληρούται τουλάχιστον μία από αυτές τις προϋποθέσεις, το LED σβήνει.

Χρησιμοποιώντας μια οδηγίαΠΕΡΙΛΑΜΒΑΝΕΤΕ GET_PORTA.ASM σας επιτρέπει να συμπεριλάβετε στο τρέχον πρόγραμμα ενότητες υπορουτίνας που έχουν ήδη διορθωθεί. Για να χρησιμοποιήσετε αυτήν τη δυνατότητα, είναι απαραίτητο να αποθηκεύσετε τις μονάδες που έχουν εντοπιστεί σφαλμάτων ως ξεχωριστά αρχεία assembler.

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

Λίστα 12.4. (html, txt)

Λίστα 12.4. (html, txt)

Κύριο πρόγραμμα

ΒΡΟΧΟΣ

CLRWDT ;επαναφορά φύλακα

MOVLW 0x0A, στείλτε σταθερά 0A στο W

GOTO LOOP ;μεταβείτε στο σημάδι LOOP για

;Επανάληψη της διαδικασίας

SEV_SEG ;υπορουτίνα συντήρησης

;δείκτης επτά τμημάτων

ANDLW 0x0F ;απόκρυψη 4 λιγότερο σημαντικών ψηφίων

;W και μηδενισμός των 4 υψηλότερων

ADDWF PCL,F ;προσθέστε W με PCL και εμπρός

αποτέλεσμα σε PCL

RETLW 0x80 ;επιστροφή από υπορουτίνα από 80 σε Δ

RETLW 0xF2 ;επιστροφή από την υπορουτίνα από το F2 στο W

RETLW 0x48 ;επιστροφή από υπορουτίνα από 48 σε Δ

RETLW 0x60 ;επιστροφή από υπορουτίνα από 60 σε Δ

RETLW 0x32 ;επιστροφή από υπορουτίνα από 32 σε Δ

RETLW 0x25 ;επιστροφή από υπορουτίνα από 25 σε Δ

RETLW 0x04 ;επιστροφή από την υπορουτίνα 04 στο W

RETLW 0xF0 ;επιστροφή από την υπορουτίνα από το F0 στο W

RETLW 0x00 ;επιστροφή από υπορουτίνα από 00 σε Δ

RETLW 0x20 ;επιστροφή από υπορουτίνα από 20 σε Δ

RETLW 0x10 ;επιστροφή από υπορουτίνα από 10 σε Δ

RETLW 0x06 ;επιστροφή από την υπορουτίνα από 06 σε Δ

RETLW 0x8C ;επιστροφή από υπορουτίνα από 8C σε W

RETLW 0x42 ;επιστροφή από υπορουτίνα από 42 σε Δ

RETLW 0x0C ;επιστροφή από την υπορουτίνα από 0C σε W

RETLW 0x1C ;επιστροφή από την υπορουτίνα από 1C σε W

Λίστα 12.4.

Το πρόγραμμα ξεκινά τη δουλειά του στέλνοντας μια σταθερά 0x0A στο μητρώο εργασίας W . Στη συνέχεια καλείται η υπορουτίνα συντήρησης δεικτών επτά τμημάτων SEV_SEG . Λειτουργία υπορουτίνας SEV_SEG ξεκινά με την απόκρυψη των 4 λιγότερο σημαντικών ψηφίων W και μηδενίζοντας τα 4 μεγαλύτερα. Έτσι, τα πιο σημαντικά bits των δεδομένων που μεταφέρονται από το μητρώο εργασίας εξαιρούνται από την ανάλυση. W αριθμοί. Στη συνέχεια, τα περιεχόμενα του καταχωρητή με μάσκα W προστέθηκε στην τρέχουσα κατάσταση του χαμηλού byte του μετρητή προγράμματος PCL , και το αποτέλεσμα τοποθετείται μέσα PCL . Έτσι, γίνεται επιπλέον συμψηφισμός του μετρητή προγράμματος από το ποσό που μεταφέρθηκε στο μητρώο εργασίας. Για παράδειγμα, αν υπήρχε W=0 , τότε τα περιεχόμενα του μετρητή προγράμματος δεν θα αλλάξουν και θα εκτελεστεί η επόμενη εντολή RETLW 0x80 0x80 = καταχωρητής B"1000000" έως W . Αν, όπως συνέβαινε στο συγκεκριμένο πρόγραμμα, W=0A , μετά στα περιεχόμενα PCL αριθμός θα προστεθεί 0x0A , και θα προκύψει μια επιπλέον μετατόπιση 10 βημάτων. Ως αποτέλεσμα, η εντολή θα εκτελεστεί RETLW 0x10 , που θα προκαλέσει την επιστροφή της υπορουτίνας με την καταχώρηση 0x10 = B"0001000" στον καταχωρητή W.

Μετά την επιστροφή από την υπορουτίνα γίνεται η μεταφορά W προς PORTB και εμφανίζει την κατάστασή του σε μια ένδειξη επτά τμημάτων H.L. . Ειδικότερα, εάν W = 0, τότε κατά την έξοδο 1000000b στη θύρα Β θα εμφανιστεί η ένδειξη επτά τμημάτων 0, και όταν W = A θα δείχνει Α .Έτσι, μπορεί να εμφανιστεί οποιοσδήποτε δυαδικός αριθμός 4-bit.

Μέθοδος ελέγχου άμεσου μετρητή προγράμματος που χρησιμοποιείται στην υπορουτίνα SEV_SEG , μπορεί να χρησιμοποιηθεί για την υλοποίηση της μετατροπής σε πίνακα αριθμών. Λάβετε υπόψη ότι αυτή η μέθοδος δεν σας επιτρέπει να μετατρέψετε περισσότερες από 256 τιμές σε έναν πίνακα. Επιπλέον, το πρόγραμμα μετατροπής πίνακα πρέπει να βρίσκεται εξ ολοκλήρου μέσα σε ένα μπλοκ 256 byte για να αποφευχθεί η υπερχείλιση του χαμηλού byte του μετρητή προγράμματος.

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

Λίστα 12.5. (html, txt)

Λίστα 12.5. (html, txt)

Κύριο πρόγραμμα

ΒΡΟΧΟΣ

CLRWDT ;επαναφορά φύλακα

ΚΛΗΣΗ GET_RA ; καλώντας την υπορουτίνα GET_RA

RRF TEMPA,F ;μετακίνηση προς τα δεξιά ένα bit

μέσω μεταφοράς

RRF TEMPA,W ;μετακίνηση προς τα δεξιά ένα κομμάτι

μέσω μεταφοράς

ANDLW 0x03 ;μάσκα για δύο bit χαμηλής τάξης

ΚΛΗΣΗ SEV_SEG ; κλήση σε υπορουτίνα SEVEN_SEG

MOVWF PORTB ; προώθηση του W στο PORTB

GOTO LOOP ;μεταβείτε στο σημάδι LOOP για

;Επανάληψη της διαδικασίας

ΠΕΡΙΛΑΜΒΑΝΕΤΕ GET_RA.ASM

ΠΕΡΙΛΑΜΒΑΝΕΤΕ SEV_SEG.ASM

Λίστα 12.5.

Υπορουτίνα GET_RA καταχωρεί στο μητρώοΤΕΜΠΑ τρέχουσα κατάσταση θύραςΕΝΑ . Έτσι, στα bit 2 και 3 του καταχωρητήΤΕΜΠΑ αποθηκεύεται η τρέχουσα κατάσταση των διακοπτών εναλλαγής SA1 και SA2 . Προκειμένου τα bit κατάστασης των διακοπτών εναλλαγής να καταλαμβάνουν τις θέσεις 0 και 1 του καταχωρητήΤΕΜΠΑ , πραγματοποιούνται δύο μετατοπίσεις προς τα δεξιά μέσω μεταφοράς και το αποτέλεσμα της δεύτερης μετατόπισης τοποθετείται στο μητρώο W . Στη συνέχεια εφαρμόζεται μια μάσκα στα δύο ψηφία χαμηλής τάξης του καταχωρητή εργασίας και καλείται η υπορουτίνα SEV_SEG . Μετά την έξοδο από την υπορουτίνα, το αποτέλεσμα αποστέλλεται στη θύρασι και εμφανίζεται στην ένδειξη.

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

Λίστα 12.6. (html, txt)

Λίστα 12.6. (html, txt)

Κύριο πρόγραμμα

MOVLW 0xL, στέλνοντας σταθερά H"L" στο W

ΚΑΘΥΣΤΕΡΗΣΗ ΚΛΗΣΗΣ ;Υπορουτίνα κλήσης DELAY

ΚΑΘΥΣΤΕΡΗΣΗ ;υπορουτίνα σχηματισμού

;χρονοκαθυστερηση

LOOPD

RETURN ;επιστροφή από την υπορουτίνα

Λίστα 12.6.

Το κύριο πρόγραμμα καλεί μια υπορουτίναΚΑΘΥΣΤΕΡΗΣΗ με κάποια σταθεράμεγάλο στο μητρώο εργασίας W , που καθορίζει τον αριθμό των εσωτερικών βρόχων της υπορουτίνας. ΥπορουτίναΚΑΘΥΣΤΕΡΗΣΗ ξεκινά τη δουλειά του φορτώνοντας τα περιεχόμενα του μητρώου εργασίας στο μητρώο χρήστη COUNT1. Εντολή DECFSZ COUNT1,F Μειώνει τα περιεχόμενα του μητρώου κατά ένα COUNT1 και το ελέγχει για ισότητα προς το μηδέν. Καταχώρηση μηδενικής κατάστασης COUNT1 προκαλεί την έξοδο και την επιστροφή του βρόχου από την υπορουτίνα. Για την εκτέλεση κάθε εσωτερικού κύκλου, απαιτούνται τρεις κύκλοι μηχανής MC (1 κύκλος ανά εκτέλεση εντολής DECFZ με μη μηδενικό αποτέλεσμα και 2 κύκλους για κάθε εντολήΠΑΩ ΣΕ ). Έξοδος από υπορουτίναΚΑΘΥΣΤΕΡΗΣΗ θα απαιτηθούν 4 κύκλοι (2 κύκλοι για την εκτέλεση της εντολής DECFZ με μηδενικό αποτέλεσμα και 2 κύκλους γιαΕΠΙΣΤΡΟΦΗ ). Εάν προσθέσουμε σε αυτό άλλους 4 κύκλους που απαιτούνται για τη φόρτωση της σταθεράς στον καταχωρητή εργασίας, καλέστε την υπορουτίνα και φορτώστε τον καταχωρητή χρήστη COUNT1 , τότε ο συνολικός χρόνος εκτέλεσης της υπορουτίναςΚΑΘΥΣΤΕΡΗΣΗ (καθυστέρηση) θα είναι

TD = 4 + 3*(L 1) + 4 = 5 + 3*Lκύκλους,

όπου ο Λ σταθερά που περνά μέσα από τον καταχωρητή εργασίας στην υπορουτίναΚΑΘΥΣΤΕΡΗΣΗ.

L = Η"00" = 0,0 το μέγιστο παραγόμενο χρονικό διάστημα θα είναι 1,55 ms. Αυτό το αποτέλεσμα οφείλεται στο γεγονός ότι η ομάδα DECFZ πρώτα μειώνει τα περιεχόμενα του μητρώου ( H"00" 1 = H"FF" ), και στη συνέχεια αναλύει το αποτέλεσμα.

Το ελάχιστο παραγόμενο χρονικό διάστημα θα είναι 5 κύκλοι ή 10 μs υπό τις ίδιες συνθήκες. Για να λάβετε ένα τέτοιο διάστημα, πριν καλέσετε την υπορουτίνα,ΚΑΘΥΣΤΕΡΗΣΗ φορτώστε έναν αριθμό στο μητρώο εργασίας 0x01.

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

Λίστα 12.7. (html, txt)

Λίστα 12.7. (html, txt)

DELAY_C ;υπορουτίνα σχηματισμού

;χρονική καθυστέρηση (επιλογή Γ)

LOOPD

NOP ;κενή εντολή

GOTO LOOPD ;επαναλάβετε τον βρόχο H"L" φορές

RETURN ;επιστροφή από την υπορουτίνα

Λίστα 12.7.

Συνολικός χρόνος εκτέλεσης της υπορουτίνας DELAY_C , συμπεριλαμβανομένης της κλήσης της, θα είναι

TD = 4 + 4*(L 1) + 4 = 4 + 4*Lκύκλους.

Σε συχνότητα ρολογιού fosc = 2 MHz και σταθερή φόρτιση L = H'F9' = 0,249 το χρονικό διάστημα που δημιουργείται θα είναι ακριβώς 2 ms. Η μείωση της σταθεράς κατά ένα μειώνει το παραγόμενο χρονικό διάστημα κατά 8 μs. Ειδικότερα, όταν L=.124 δημιουργείται μια καθυστέρηση 1 ms.

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

Λίστα 12.8. (html, txt)

Λίστα 12.8. (html, txt)

Κύριο πρόγραμμα

MOVLW 0xL ;στείλει σταθερά H'L' στο W

CALL DELAY_D ;υπορουτίνα κλήσης DELAY_D

DELAY_D ;υπορουτίνα σχηματισμού

;μεγάλη χρονική καθυστέρηση (επιλογή Δ)

LOOPD

CLRWDT ;επαναφορά φύλακα

RETURN ;επιστροφή από την υπορουτίνα

Λίστα 12.8.

Η DELAY_D είναι 3*256 + 4

TD = 5 + (3*256 + 4)*L κύκλοι.

Σε συχνότητα ρολογιού fosc = 2 MHz, ο χρόνος κύκλου είναι tc = 2 μs, οπότε κατά τη φόρτωση L = H'00' = 0,0 το μέγιστο παραγόμενο χρονικό διάστημα θα είναι περίπου 0,4 δευτερόλεπτα.

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

Ένα χρονικό διάστημα 0,4 δευτερολέπτων δεν είναι απολύτως βολικό για τη λήψη χρονικών καθυστερήσεων που είναι πολλαπλάσια του δευτερολέπτου, επομένως ας εξετάσουμε μια άλλη έκδοση της υπορουτίνας για τη δημιουργία μεγάλων χρονικών καθυστερήσεων με μια πρόσθετη εντολήΟΧΙ στον εσωτερικό βρόχο.

Λίστα 12.9. (html, txt)

Λίστα 12.9. (html, txt)

DELAY_E ;υπορουτίνα σχηματισμού

;μεγάλη χρονική καθυστέρηση (επιλογή Ε)

CLRF COUNT1 ;επαναφέρετε τα περιεχόμενα του καταχωρητή COUNT1

LOOPD

NOP ;κενή εντολή

GOTO LOOPD; επαναλάβετε τον βρόχο 256 φορές

CLRWDT ;επαναφορά φύλακα

GOTO LOOPD ;επαναλάβετε τον βρόχο H'L' φορές

RETURN ;επιστροφή από την υπορουτίνα

Λίστα 12.9.

Χρόνος εκτέλεσης του εσωτερικού βρόχου της υπορουτίναςΤο DELAY_E είναι 4*256 + 4 κύκλους μηχανής του MK, οπότε η συνολική καθυστέρηση θα είναι

TD = 5 + (4*256 + 4)*L κύκλοι.

Σε συχνότητα ρολογιού fosc = 2MHz και κατά την εκκίνηση L = H'F3' = 0,243 το παραγόμενο χρονικό διάστημα θα είναι περίπου 0,5 δευτερόλεπτα με σφάλμα όχι μεγαλύτερο από 0,2%. Εάν απαιτείται μεγαλύτερη ακρίβεια, ο απαιτούμενος αριθμός κενών λειτουργιών μπορεί να εισαχθεί στον βρόχο δημιουργίας εξωτερικής καθυστέρησης.

Ας εξετάσουμε στη συνέχεια διάφορα προγράμματα που χρησιμοποιούν υπορουτίνες για τη δημιουργία χρονικών καθυστερήσεων. Ας ξεκινήσουμε γράφοντας ένα πρόγραμμα που στέλνει ένα ηχητικό σήμα στο ηχείοΒΑ1 όταν πατάτε ένα κουμπί SB1 . Το ηχείο θα ακούγεται μόνο εάν η έξοδος RA0 θα δίνεται ένα σήμα που αλλάζει περιοδικά. Για να ακούγεται καθαρά ένας ήχος, η συχνότητά του πρέπει να είναι κοντά στη μέγιστη ακρόαση του ανθρώπινου αυτιού. Ας επιλέξουμε μια συχνότητα ήχου ίση με 1 KHz, η οποία αντιστοιχεί σε περίοδο επανάληψης παλμού σήματος 1 ms.

Καταχώρηση 12.10. (html, txt)

Καταχώρηση 12.10. (html, txt)

Κύριο πρόγραμμα

ΒΡΟΧΟΣ

CLRWDT ;επαναφορά φύλακα

ΚΛΗΣΗ GET_RA Κλήση υπορουτίνας GET_PORTA

ΚΛΗΣΗ SB1_BA1 ;κλήση υπορουτίνας SB1_BA1

GOTO LOOP ;μεταβείτε στο σημάδι LOOP για

;Επανάληψη της διαδικασίας

SB1_BA1 ;υπορουτίνα για την παροχή ήχου

;ηχείο BA1 όταν πατάτε το κουμπί

;SB1

BTFSC TEMPA,4 ;εντολή παράλειψης εάν

;TEMPA,4=0 (κουμπί πατημένο)

GOTO B0 ; μεταβείτε στο B0

BSF BA1 ;παροχή υψηλού επιπέδου σε RA0

;H'3E' = 0,62 σε W

BCF BA1 ;παροχή χαμηλού επιπέδου σε RA0

MOVLW 0x3E ;αποστολή σταθερά

;H'3E' = 0,62 σε W

CALL DELAY_C ;υπορουτίνα κλήσης DELAY_C

ΕΠΙΣΤΡΟΦΗ

ΠΕΡΙΛΑΜΒΑΝΕΤΕ GET_RA.ASM

ΠΕΡΙΛΑΜΒΑΝΕΙ ΚΑΘΥΣΤΕΡΗΣΗ_C.ASM

Καταχώρηση 12.10.

Όπως πριν, η υπορουτίνα GET_RA διαβάζει την τρέχουσα κατάσταση της θύρας Α, η οποία στη συνέχεια μεταβιβάζεται στο μητρώοΤΕΜΠΑ. Υπορουτίνα SB1_BA1 αναλύει την κατάσταση του bit 4 του καταχωρητήΤΕΜΠΑ και ανάλογα με το αποτέλεσμα μιλάει ο ομιλητήςΒΑ1 ή όχι. Απαιτούμενη ταχύτητα γραμμής RA0 σε απλή και μηδενική κατάσταση παρέχεται από την υπορουτίνα DELAY_C με παράμετρο L = H'3E' = .62 . Αυτό αντιστοιχεί σε χρόνο καθυστέρησης περίπου 0,5 ms, που έχει ως αποτέλεσμα τον απαιτούμενο ρυθμό επανάληψης σήματος 1 kHz.

Στη συνέχεια, σκεφτείτε ένα πρόγραμμα που κάνει το LED να αναβοσβήνει VD2 όταν πατάτε ένα κουμπί SB1 . Για να είναι καθαρά ορατό το αναβοσβήσιμο επιλέγουμε τη συχνότητά του να είναι 1 Hz.

Καταχώρηση 12.11. (html, txt)

Καταχώρηση 12.11. (html, txt)

Κύριο πρόγραμμα

ΒΡΟΧΟΣ

CLRWDT ;επαναφορά φύλακα

ΚΛΗΣΗ GET_RA ; καλώντας την υπορουτίνα GET_RA

ΚΛΗΣΗ SB1_VD2M ;κλήση υπορουτίνας

;SB1_VD2M

GOTO LOOP ;μεταβείτε στο σημάδι LOOP για

;Επανάληψη της διαδικασίας

SB1_VD2M ;Υπορουτίνα LED που αναβοσβήνει

;VD2 όταν πατάτε το κουμπί SB1

BTFSC TEMPA,4 ;εντολή παράλειψης εάν

;TEMPA,4=0 (κουμπί πατημένο)

GOTO V0 ; μεταβείτε στο V0

BSF VD2 ; ανάβει το LED VD2

;H'F3' = 0,243 σε W

BCF VD2 ;σβήνει το LED

MOVLW 0xF3 ;αποστολή σταθερά

;H'F3' = 0,243 σε W

CALL DELAY_E ;υπορουτίνα κλήσης DELAY_E

BTFSS TEMPA,4 ;εντολή παράλειψης εάν

;TEMPA,4=1 (δεν πατιέται το κουμπί)

GOTO V1 ; μεταβείτε στο V1

BCF VD2 ;σβήνει το LED

ΕΠΙΣΤΡΟΦΗ

ΠΕΡΙΛΑΜΒΑΝΕΤΕ GET_RA.ASM

ΠΕΡΙΛΑΜΒΑΝΕΙ ΚΑΘΥΣΤΕΡΗΣΗ_E.ASM

Καταχώρηση 12.11.

Το πρόγραμμα λειτουργεί σχεδόν το ίδιο με το προηγούμενο. Η πρώτη διαφορά είναι ότι το LED σβήνει αναγκαστικά όταν δεν πατηθεί το κουμπί. Η δεύτερη διαφορά είναι το μέγεθος του χρονικού διαστήματος, το οποίο εδώ είναι 0,5 s και σχηματίζεται από την υπορουτίνα DELAY_E .

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

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

Ως παράδειγμα, εξετάστε την έκδοση "χωρίς αναπήδηση" της υπορουτίνας για την ανάγνωση της κατάστασης θύραςΕΝΑ.

Καταχώρηση 12.12. (html, txt)

Καταχώρηση 12.12. (html, txt)

GET_RAD ;υπορουτίνα ανάγνωσης κατάστασης

;θύρα Α στον καταχωρητή TEMPA

;με καταστολή του "κροταλίσματος"

MOVF PORTA,W ;διαβάστε την κατάσταση της θύρας Α στο W

ANDLW 0x1C ;επικάλυψη μάσκας b'00011100'

;σε αχρησιμοποίητα bit W

MOVWF TEMPA ;στείλτε το W στο TEMPA

CLRWDT; επαναφορά του χρονοδιακόπτη παρακολούθησης WDT

MOVLW 0x0A ;σταθερά αποστολής

;H'0A' = 0,10 σε W

CALL DELAY_E ; κλήση της υπορουτίνας DELAY_E

MOVF PORTA,W ;διαβάστε την κατάσταση της θύρας Α στο W

ANDLW 0x1C ;μάσκα επικάλυψης b'00011100' στο W

SUBWF TEMPA,W ;αφαίρεση W από TEMPA

BTFSS Z ;εντολή παράλειψης εάν προκύψει

;μηδενικό

GOTO DD ;μεταβείτε στην ετικέτα DD

ΕΠΙΣΤΡΟΦΗ

ΠΕΡΙΛΑΜΒΑΝΕΙ ΚΑΘΥΣΤΕΡΗΣΗ_E.ASM

Καταχώρηση 12.12.

Η ουσία της υπορουτίνας είναι να ξαναδιαβάσετε την κατάσταση του λιμέναΕΝΑ λίγο μετά την προηγούμενη και συγκρίνοντάς την με την προηγούμενη τιμή. Συνεχής H'0A' = .10 , αποστέλλεται στο μητρώο W πριν καλέσετε την υπορουτίνα DELAY_E , παρέχει μια τιμή χρονικής καθυστέρησης περίπου 20 ms - αυτή είναι συνήθως επαρκής για την ολοκλήρωση μεταβατικών διεργασιών κατά την εναλλαγή μηχανικών διακοπτών. Η κάλυψη των αχρησιμοποίητων bits θύρας βελτιώνει την αξιοπιστία της ρουτίνας. Η επαναφορά του χρονοδιακόπτη παρακολούθησης πριν από την κλήση της υπορουτίνας καθυστέρησης είναι απαραίτητη για να αποτραπεί η επαναφορά του MCU μεταξύ δύο διαδικασιών ψηφοφορίας λιμέναΕΝΑ.

Ας εξετάσουμε τώρα τη λειτουργία ενός προγράμματος που χρησιμοποιεί μερικές από τις προηγουμένως αναπτυγμένες υπορουτίνες. Ο στόχος του προγράμματος ας είναι να μετρήσει τον αριθμό των κλικ σε ένα κουμπί SB1 με το αποτέλεσμα να εμφανίζεται σε μια ένδειξη επτά τμημάτων σε δεκαεξαδικό κώδικα.

Καταχώρηση 12.13. (html, txt)

Καταχώρηση 12.13. (html, txt)

Κύριο πρόγραμμα

CLRF COUNT3 ;επαναφέρετε τον μετρητή πληκτρολόγησης

ΒΡΟΧΟΣ

CLRWDT ;επαναφορά φύλακα

CALL GET_RAD ;υπορουτίνα κλήσης GET_RAD

BTFSC TEMPA,4 ;δοκιμή πίεσης SB1

GOTO LOOP ;αν δεν πατηθεί, επιστρέψτε

;στην ετικέτα LOOP

INCF COUNT3,F ;αύξηση μετρητή

MOVF COUNT3,W ;προώθηση περιεχομένου

;counter to work register

ΚΛΗΣΗ SEV_SEG ;κλήση υπορουτίνας SEV_SEG

MOVWF PORTB ;προώθηση W στο PORTB

ΔΟΚΙΜΗ

ΚΛΗΣΗ GET_RAD ; καλώντας την υπορουτίνα GET_RAD

BTFSS TEMPA,4 ;δοκιμή πίεσης SB1

GOTO TEST ;αν είναι ακόμα πατημένο, επιστρέψτε

;στην ετικέτα TEST

GOTO LOOP ;επιστροφή στην ένδειξη LOOP

ΠΕΡΙΛΑΜΒΑΝΕΤΕ GET_RAD.ASM

ΠΕΡΙΛΑΜΒΑΝΕΤΕ SEV_SEG.ASM

Καταχώρηση 12.13.

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

Επικοινωνία, επικοινωνία, ραδιοηλεκτρονικά και ψηφιακές συσκευές

Ένας μικροεπεξεργαστής MP είναι μια συσκευή επεξεργασίας και ελέγχου ικανή να εκτελεί επεξεργασία πληροφοριών, λήψη αποφάσεων, εισαγωγή και έξοδο πληροφοριών υπό τον έλεγχο του προγράμματος και κατασκευασμένη με τη μορφή ενός ή περισσότερων LSI. χρησιμοποιείται για την προσωρινή αποθήκευση πληροφοριών κατά τη λειτουργία του MP. Σε αντίθεση με τη ROM, η RAM μπορεί να διαβάζει και να γράφει πληροφορίες χρησιμοποιώντας τα σήματα Read και Write σε ένα κελί της οποίας η διεύθυνση βρίσκεται στο SHA. Με την είσοδο σήματος Vv στον πίνακα ελέγχου, οι πληροφορίες μεταφέρονται από μια εξωτερική συσκευή στην SD και από την έξοδο σήματος...

Διάλεξη 12

Τεχνολογία μικροεπεξεργαστή

1 Μικροεπεξεργαστές και κιτ μικροεπεξεργαστών

1.1 Ορισμός μικροεπεξεργαστή

Στις αρχές της δεκαετίας του '70, η πρόοδος της τεχνολογίας στη μικροηλεκτρονική οδήγησε στη δημιουργία μιας νέας βάσης ηλεκτρονικών στοιχείων - μικροηλεκτρονικά ολοκληρωμένα κυκλώματα μεγάλης κλίμακας (LSI) (ενότητα 1 κεφάλαιο 1.6.3). Σύμφωνα με τον βαθμό ολοκλήρωσης (αριθμός ενεργών στοιχείων: δίοδοι και τρανζίστορ), τα ολοκληρωμένα κυκλώματα (IC) χωρίζονται συμβατικά σε IC με χαμηλό βαθμό ολοκλήρωσης - έως 100 ενεργά στοιχεία, μεσαίο βαθμό ολοκλήρωσης (SIS) - επάνω σε 1000 ενεργά στοιχεία, LSI - πάνω από 1000 ενεργά στοιχεία, VLSI - πάνω από 10.000 στοιχεία. Η κυκλοφορία ενός νέου LSI στο τρέχον επίπεδο αυτοματισμού σχεδιασμού είναι μια πολύ περίπλοκη και δαπανηρή διαδικασία λόγω του μεγάλου αρχικού κόστους ανάπτυξης της λογικής δομής και τοπολογίας του, της κατασκευής φωτομάσκας και της τεχνολογικής προετοιμασίας για παραγωγή. Αυτό είναι 0,5-1 έτος δουλειάς για μια μεγάλη ομάδα. Επομένως, η παραγωγή LSI δικαιολογείται οικονομικά όταν η παραγωγή τους ανέρχεται σε δεκάδες έως εκατοντάδες χιλιάδες μονάδες ετησίως. Είναι πρακτικά αδύνατο να παραχθούν εξειδικευμένα LSI για κάθε συγκεκριμένη εφαρμογή. Ως αποτέλεσμα της αναζήτησης περιοχών μαζικής εφαρμογής μικροκυκλωμάτων με υψηλό επίπεδο ολοκλήρωσης, οι προγραμματιστές τους πρότειναν την ιδέα της δημιουργίας ενός καθολικού LSI ή ενός συγκεκριμένου συνόλου LSI, η εξειδίκευση των οποίων για κάθε συγκεκριμένη εφαρμογή είναι επιτυγχάνεται όχι με κύκλωμα, αλλά με λογισμικό. Έτσι εμφανίστηκαν τα τυπικά καθολικά στοιχεία - LSI μικροεπεξεργαστών με δομή παρόμοια με αυτή ενός υπολογιστή.

Μικροεπεξεργαστής (MP)Αυτή είναι μια συσκευή επεξεργασίας και ελέγχου ικανή να εκτελεί επεξεργασία πληροφοριών, λήψη αποφάσεων, εισαγωγή και έξοδο πληροφοριών υπό έλεγχο προγράμματος και κατασκευασμένη με τη μορφή ενός ή περισσότερων LSI.

1.2 Τεχνολογία κατασκευής MP LSI

Υπάρχουν δύο τύποι τεχνολογίας κατασκευής LSI: διπολική - βασισμένη στη χρήση διπολικών τρανζίστορ και MOS (μέταλλο-οξείδιο-ημιαγωγός) - τεχνολογία που βασίζεται στη χρήση τρανζίστορ φαινομένου πεδίου.

Τα LSI που κατασκευάζονται με χρήση διπολικής τεχνολογίας διαφέρουν στις σχηματικές μεθόδους εφαρμογής τους. Χρησιμοποιείται κυρίως η λογική τρανζίστορ-τρανζίστορ με διόδους Schottky (TTLS) και λογική συζευγμένης εκπομπής (ECL). Η λογική TTLSH χρησιμοποιεί διπολικά τρανζίστορ npn συμπληρωμένα με διόδους Schottky (DS). Το DS είναι μια ανορθωτική επαφή στη διεπαφή μετάλλου-ημιαγωγού Al-nSi. Στο μέταλλο και το πυρίτιο, οι πλειοψηφικοί φορείς είναι του ίδιου τύπου - ηλεκτρόνια, και δεν υπάρχουν φορείς μειοψηφίας. Το DS ανοίγει σε U=0,1-0,3 V και έχει απότομο χαρακτηριστικό ρεύμα-τάση. Συνδέονται παράλληλα με τη διασταύρωση συλλέκτη του τρανζίστορ n-p-n και σχηματίζουν ένα τρανζίστορ Schottky, που κατασκευάζεται σε μια ενιαία τεχνολογική διαδικασία. Η χρήση του DS αυξάνει σημαντικά την απόδοση του τρανζίστορ, καθώς ο κορεσμός της διασταύρωσης του συλλέκτη εξαλείφεται και δεν υπάρχει απορρόφηση φορτίων σε αυτό.

Στην τεχνολογία MOS (ενότητα 1 κεφάλαιο 1.5.5) μπορούμε να διακρίνουμε 3 μεθόδους κυκλώματος για την υλοποίηση LSI: MOS με αγωγιμότητα καναλιούτύπου p- ή n (p-MOS ή n -MOS) και συμπληρωματική τεχνολογία MOS (CMOS). Η τεχνολογία CMOS χρησιμοποιεί ζεύγη τρανζίστορ MOS n-type και p -τύπου, συνδεδεμένο σε σειρά (Εικ. 1-1). Για οποιοδήποτε σήμα στην είσοδο, ένα από τα τρανζίστορ είναι ανοιχτό, το άλλο είναι κλειστό. Επομένως, το ρεύμα που διαρρέει το κύκλωμα είναι πολύ μικρό. Τα CMOS LSI έχουν τη χαμηλότερη κατανάλωση ενέργειας σε σύγκριση με άλλους τύπους.

Χρησιμοποιώντας την τεχνολογία MOS, τα πρώτα MP LSI (r-MOS) κατασκευάστηκαν το 1971. Χρησιμοποιούν έλεγχο R -κανάλι, όπου οι κύριοι φορείς φόρτισης είναι τρύπες. Επομένως, η ταχύτητα του LSI είναι σχετικά χαμηλή. Αργότερα εμφανίστηκαν τα n-MOS και CMOS LSI, τα οποία εξακολουθούν να χρησιμοποιούνται ευρέως σήμερα.

Η λογική ESL βασίζεται στη χρήση ενός διαφορικού ενισχυτή σε δύο τρανζίστορ με συνδεδεμένους πομπούς (Εικ. 1-2.). Παρέχει την ταχύτερη απόδοση, αλλά καταναλώνει την περισσότερη ισχύ.

Τα βασικά δεδομένα για ορισμένα MP LSI δίνονται στον πίνακα.1

1.3 Δομή συστημάτων μικροεπεξεργαστών

Όλη η ποικιλία των MPS βασίζεται στη χρήση δύο τύπων MPS:

α) MP single-chip με σταθερό πλάτος λέξης και σταθερό σύστημα εντολών (με άκαμπτο έλεγχο).

Β) MP multi-chip (sectional) με μεταβλητό πλάτος λέξης και έλεγχο μικροπρογραμμάτων.

Ας εξετάσουμε τα χαρακτηριστικά της δομής τους.

1.3.1 Δομή MPS βασισμένη σε MP με αυστηρό έλεγχο

Εικ.1-3

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

ША - δίαυλος διευθύνσεων, μέσω του οποίου μεταδίδονται οι διευθύνσεις των κυψελών μνήμης και των εξωτερικών συσκευών.

SD - δίαυλος δεδομένων μέσω του οποίου οι πληροφορίες εισάγονται ή εξάγονται από το MP.

Το SHU είναι ένας δίαυλος ελέγχου μέσω του οποίου μεταδίδονται σήματα ελέγχου για τη διασφάλιση της κανονικής λειτουργίας του MPS.

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

G - γεννήτρια παλμών ρολογιού που συγχρονίζει τη λειτουργία του MP.

Η ROM είναι μια συσκευή μνήμης μόνο για ανάγνωση (ενότητα 2, κεφάλαιο 9.1), η οποία αποθηκεύει τις εντολές του προγράμματος που εκτελούνται από το MP και τις απαραίτητες σταθερές για τη λειτουργία. Η διεύθυνση του κελιού μνήμης στο οποίο είναι αποθηκευμένη η απαιτούμενη εντολή ή σταθερά λαμβάνεται μέσω του ShA και με το σήμα Read (read) από το MP, οι πληροφορίες που είναι αποθηκευμένες σε αυτό το κελί εμφανίζονται στο ShD.

Η RAM είναι μια συσκευή μνήμης τυχαίας πρόσβασης (ενότητα 2 κεφάλαιο 9.2) που χρησιμοποιείται για την προσωρινή αποθήκευση πληροφοριών κατά τη λειτουργία του MP. Σε αντίθεση με τη ROM, στη μνήμη RAM είναι δυνατή η ανάγνωση και η εγγραφή πληροφοριών (χρησιμοποιώντας τα σήματα ανάγνωσης και εγγραφής) σε ένα κελί της οποίας η διεύθυνση βρίσκεται στο SHA. Στο απλούστερο MPS, η RAM μπορεί να απουσιάζει και ο ρόλος της παίζεται από τους εσωτερικούς καταχωρητές γενικού σκοπού (GPR) του MP.

Η IU είναι μια συσκευή διασύνδεσης (συσκευή επικοινωνίας) που συντονίζει τη λειτουργία του MPS και των εξωτερικών συσκευών, λαμβάνοντας υπόψη τις διαφορές στις ταχύτητες λειτουργίας και τα επίπεδα σήματος. Χρησιμοποιώντας το σήμα Вв (είσοδος) στη μονάδα ελέγχου, οι πληροφορίες μεταφέρονται από μια εξωτερική συσκευή στην SD και χρησιμοποιώντας το σήμα Вв (έξοδος) - προς την αντίθετη κατεύθυνση. Ο δίαυλος δεδομένων είναι κοινός για όλα τα στοιχεία του MPS, αλλά τα στοιχεία του συστήματος δεν πρέπει να παρεμβαίνουν μεταξύ τους. Επομένως, η έξοδος καθενός από αυτά συνδέεται με τον κινητήρα μέσω ενός λεγόμενου κυκλώματος 3 καταστάσεων. Μπορεί να είναι όχι μόνο σε ενεργές καταστάσεις ("0" ή "1"), που είναι απαραίτητο για τη μετάδοση πληροφοριών, αλλά και σε μια τρίτη κατάσταση, στην οποία το στοιχείο είναι πρακτικά αποσυνδεδεμένο από τον κοινό δίαυλο. Η μεταφορά από την τρίτη κατάσταση στην ενεργή πραγματοποιείται με σήματα ελέγχου MP. Σε κάθε στιγμή, μόνο ένα στοιχείο που μεταδίδει πληροφορίες συνδέεται στην κοινή SD και εξαλείφεται μια «σύγκρουση» στο SD. Εάν είναι απαραίτητο, πολλά στοιχεία μπορούν να λάβουν πληροφορίες από το SD ταυτόχρονα. Αυτή η οργάνωση του MPS με τη βοήθεια ενός κοινού SD είναι αναγκαστική και οφείλεται στο γεγονός ότι ο αριθμός των ακίδων των πακέτων LSI είναι περιορισμένος, και οι ίδιες ακίδες χρησιμοποιούνται για διάφορους σκοπούς.

1.3.2 Δομή του MPS με βάση MP με έλεγχο μικροπρογράμματος

Το στενά ελεγχόμενο MP συναρμολογείται από n ξεχωριστά τμήματα LSI του κεντρικού στοιχείου επεξεργασίας CPE, καθένα από τα οποία επεξεργάζεται 2 (4, 8, 16) bit δεδομένων. Αυτό έχει ως αποτέλεσμα ένας κεντρικός επεξεργαστής να έχει 2n (ή 4n, 8n, 16n) bit. Το CPE εκτελεί τις απλούστερες ενέργειες - μικροεπιχειρήσεις όταν υποβάλλονται εντολές - μικροεντολές (MC) - στις εισόδους ελέγχου. Για να εκτελέσετε εντολές παρόμοιες με εντολές MP με άκαμπτο έλεγχο, απαιτούνται έως και 10-15 μικροεπεμβάσεις και τον ίδιο αριθμό μικροεντολών. Η οργάνωση των εντολών από τις διαθέσιμες μικροεντολές επαφίεται στον χρήστη.

Το κύριο πλεονέκτημα των MPs ελεγχόμενων από μικροπρογράμματα όταν εμφανίστηκαν ήταν η υψηλή ταχύτητα επεξεργασίας πληροφοριών, η οποία κατέστησε δυνατή τη διαχείριση και τον έλεγχο πολύ γρήγορων διεργασιών, για παράδειγμα, πυρηνικών αντιδράσεων. Επί του παρόντος, ο ρόλος τους έχει μειωθεί σημαντικά, καθώς τα σύγχρονα MP πολλαπλών bit με αυστηρό έλεγχο και υψηλές ταχύτητες ρολογιού καθιστούν δυνατή την ακόμη ταχύτερη επεξεργασία πληροφοριών.

2 Μικροεπεξεργαστής

2.1 Δομή MP K580VM80

Το υπό εξέταση LSI είναι ένα MP ενός chip βασισμένο στην τεχνολογία n-MOS. Σχεδιασμένο για την κατασκευή υπολογιστικών συσκευών, ελεγκτών, μικροϋπολογιστών. Μέγεθος bit MP - 8 bit, συχνότητα ρολογιού 2 MHz, χρόνος εκτέλεσης εντολών 2-9 μs, τάση τροφοδοσίας +12, +5 και -5 V, κατανάλωση ισχύος 0,75 W. Το σχήμα δείχνει το μπλοκ διάγραμμα του.

2.1.1 Βασικά στοιχεία του MP

Οι πληροφορίες ανταλλάσσονται μέσω ενός καταχωρητή buffer οκτώ bit (ενότητα 2 κεφάλαιο 7) του DB, συνδεδεμένο με τον εξωτερικό και τον εσωτερικό καταχωρητή εντολών SD MP.RK. Ο κωδικός εντολής γράφεται σε αυτό και αποθηκεύεται κατά την εκτέλεσή του.Το DshK είναι ένας αποκωδικοποιητής εντολών που εξάγει σήματα στη συσκευή ελέγχου CU και στο κύκλωμα επιλογής καταχωρητή SVR.

SVR - σχήμα επιλογής καταχωρητή. Περιέχει: 6 καταχωρητές γενικής χρήσης προσβάσιμους από λογισμικό (RON) B, C, D, E, H, L (υπάρχουν εντολές στις οποίες εξετάζονται σε ζεύγη B- B, C; D - D, E; H - H, L)· 2 μη προσβάσιμοι από προγραμματισμό καταχωρητές W και Z, σχεδιασμένοι να αποθηκεύουν το δεύτερο και το τρίτο byte της εντολής (το πρώτο byte αποθηκεύεται πάντα στο RK).

M πολυπλέκτης (ενότητα 2, κεφάλαιο 5.2), που συνδέει την εσωτερική μονάδα SD με τους καταχωρητές W, Z;

PS - Μετρητής προγράμματος 16-bit, που επιτρέπει στον MP να εκτελεί προγράμματα που περιέχουν έως και 216 = 65536 λέξεις.

ΗΠΑ - Δείκτης στοίβας 16-bit (κεφάλαιο 2.1.3).

LED - κύκλωμα αύξησης-μείωσης (προσθήκη ή αφαίρεση 1).

BA - buffer διευθύνσεων 16-bit.

A - καταχωρητής αποτελεσμάτων (συσσωρευτής).

Το ALU είναι μια αριθμητική-λογική συσκευή που εκτελεί αριθμητικές πράξεις πρόσθεσης - αφαίρεσης, αύξησης - μείωσης, λογικές πράξεις σύνδεσης, διαχωρισμού, αντιστροφής και άλλες. Συνδέεται μέσω των καταχωρητών buffer BR1 και BR2 με την μπαταρία και τον εσωτερικό δίαυλο δεδομένων.

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

SDK - σχήμα δεκαδικής διόρθωσης, που χρησιμοποιείται στην περίπτωση που οι πληροφορίες υποβάλλονται σε επεξεργασία όχι σε δυαδικό, αλλά σε δυαδικό δεκαδικό κώδικα (ενότητα 2, κεφάλαιο 3.2).

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

2.1.2 Συσκευή ελέγχου

Η συσκευή ελέγχου χρονίζεται από μια εξωτερική γεννήτρια που παράγει μια ακολουθία παλμών F1 και F2. Συνδέεται με το υπόλοιπο MP με σήματα εσωτερικού ελέγχου US και σήματα χαρακτηριστικών Pi. Η μονάδα ελέγχου συνδέεται με το εξωτερικό περιβάλλον μέσω ενός διαύλου ελέγχου που περιέχει 10 γραμμές (4 σήματα προέρχονται από έξω και 6 σήματα εκδίδονται από το MP).

Σύνθεση του διαύλου ελέγχου.

1. Αρχική εγκατάσταση (επαναφορά). Όταν εφαρμόζεται ένα "1" σε αυτήν την είσοδο, το PS επαναφέρεται στο 0 και η εκτέλεση του προγράμματος ξεκινά από την αρχή.

2. Συγχρονισμός. Το σήμα «1» σε αυτήν την έξοδο παράγεται στην αρχή κάθε κύκλου λειτουργίας MP (πριν από κάθε πρόσβαση MP σε οποιοδήποτε εξωτερικό στοιχείο).

3. Ανάγνωση. Το σήμα "1" υποδεικνύει ότι ο κύριος βουλευτής είναι έτοιμος να λάβει πληροφορίες μέσω SD από το εξωτερικό. Αυτό το σήμα συνήθως συνδέεται στην είσοδο «ανάγνωσης» της μνήμης και των συσκευών εισόδου.

4. /Μισθός Το σήμα "0" υποδεικνύει ότι ο MP έχει τοποθετήσει πληροφορίες στο δίαυλο δεδομένων για εγγραφή στη μνήμη RAM ή έξοδο σε συσκευές εξόδου.

5. Έτοιμος. Το σήμα "1" σε αυτήν την είσοδο υποδεικνύει στον MP το τέλος του κύκλου ανάγνωσης ή εγγραφής. Παράγεται από εξωτερικές συσκευές στο τέλος του κύκλου λειτουργίας τους. Εάν το σήμα «1» δεν ληφθεί, τότε το MP εισέρχεται σε κατάσταση αναμονής, κατά την οποία ο MP διατηρεί τη διεύθυνση στο ShA, το σήμα ελέγχου «read» ή «write» και διατηρεί ανοιχτά τα κυκλώματα μετάδοσης πληροφοριών μέσω του DB. Η κατάσταση αναμονής διατηρείται μέχρι την άφιξη του "1" - "έτοιμο". Στην περίπτωση που όλα τα εξωτερικά στοιχεία λειτουργούν με ταχύτητα MP ή μεγαλύτερη, το "1" συνδέεται συνεχώς στην είσοδο "έτοιμη".

6. Αναμονή. Το σήμα "1" σε αυτήν την έξοδο υποδεικνύει ότι το MP βρίσκεται σε κατάσταση αναμονής. Αυτό το σήμα βοηθά στον εντοπισμό της ελαττωματικής μονάδας που προκάλεσε τη διακοπή του MP.

7. Ζ.Πρ. - Είσοδος αιτήματος διακοπής (κεφάλαιο 7.2.7). Το σήμα «1» έρχεται από έξω εάν είναι απαραίτητο να διακοπεί η λειτουργία του MP.

8. R.Pr. - Ενεργοποίηση διακοπής. Το 1 σε αυτήν την έξοδο υποδεικνύει ότι οι διακοπές είναι ενεργοποιημένες. Οι διακοπές ενεργοποιούνται και απενεργοποιούνται χρησιμοποιώντας ειδικές εντολές.

9. Λήψη. Όταν λαμβάνεται ένα σήμα "1", το MP διακόπτει τη λειτουργία, το BA και το DB μεταφέρονται στην τρίτη κατάσταση. Σε αυτήν την περίπτωση, το MP αποσυνδέεται από το ShA και το ShD.

10. Επιβεβαίωση λήψης. Το σήμα "1" υποδεικνύει ότι το MP βρίσκεται σε κατάσταση λήψης.

2.1.3 Αποθήκευση μνήμης - στοίβα

Κατά την πρόσβαση σε κελιά μνήμης RAM σε MPS με επεξεργαστή K580VM80, απαιτούνται μεγάλες εντολές τριών byte. Το πρώτο byte περιέχει την ίδια την εντολή πρόσβασης και το δεύτερο και το τρίτο byte υποδεικνύουν τη διεύθυνση του κελιού μνήμης. Μια τέτοια εντολή χρειάζεται σχετικά μεγάλο χρόνο για να εκτελεστεί και με συχνές προσβάσεις στη μνήμη, η λειτουργία του MPS επιβραδύνεται σημαντικά. Για να επιταχυνθεί η λειτουργία του MPS, χρησιμοποιείται μια αποθήκευση μνήμης - μια στοίβα. Λειτουργεί με την αρχή: πρώτος διαβάζεται ο αριθμός που γράφτηκε τελευταίος. Η σειρά πρόσβασης στη στοίβα είναι αυστηρή, αλλά δεν χρειάζεται να προσδιορίσετε τη διεύθυνση και ο χρόνος πρόσβασης μειώνεται σημαντικά. Η στοίβα είναι πολύ βολική για την αποθήκευση ενδιάμεσων πληροφοριών σε περίπτωση διακοπής. Ο δεύτερος σκοπός του είναι να εξασφαλίσει εργασία με προγράμματα. Κατά τη μετάβαση σε μια υπορουτίνα, τα περιεχόμενα του RON αποστέλλονται στη στοίβα· μετά την εκτέλεση της υπορουτίνας, καλούνται από τη στοίβα στο RON. Η στοίβα μπορεί να είναι αυτόνομη (ενσωματωμένη στο MP) και εξωτερική (βρίσκεται στη μνήμη RAM). Το K580VM80 MP χρησιμοποιεί μια εξωτερική στοίβα και το τσιπ φιλοξενεί έναν ειδικό καταχωρητή - τον δείκτη στοίβας (ST), ο οποίος αποθηκεύει τη διεύθυνση του πρώτου κελιού ελεύθερης στοίβας. Η στοίβα συνήθως εκχωρείται στα πιο ανώτερα κελιά μνήμης RAM. Πρώτον, ορίζεται η διεύθυνση 111 ... 1, όταν γράφετε, η διεύθυνση μειώνεται (A-1), κατά την ανάγνωση, αυξάνεται (A+1). Όταν εργάζεστε με τη στοίβα, τα περιεχόμενα του MS εξάγονται στο SHA, ενώ όταν εργάζεστε με την κύρια μνήμη, τα περιεχόμενα του PA εξάγονται. 2.2

2.2 Λειτουργία βουλευτή ως τμήμα του Υπουργείου Σιδηροδρόμων

2.2.1 Αλγόριθμος εκτέλεσης εντολών

Κατά την εκτέλεση οποιασδήποτε εντολής, ο κύκλος λειτουργίας MP ξεκινά πάντα με την επιλογή του πρώτου byte της εντολής - του κωδικού λειτουργίας (OPC) στον καταχωρητή εντολών (Κεφάλαιο 2.1.1). Σε αυτήν την περίπτωση, η διεύθυνση εντολής από το PS αποστέλλεται μέσω του BA στο SH, το CU παράγει ένα σήμα ανάγνωσης και το COP αποστέλλεται μέσω του DB στο RC. Το DshK αναλύει το COP και, εάν απαιτείται, ο MP επιλέγει το 2ο και το 3ο byte της εντολής στους καταχωρητές W και Z, αντίστοιχα. Η διεύθυνση του επόμενου byte εντολής σχηματίζεται στο PS αυξάνοντας το περιεχόμενό του κατά 1 χρησιμοποιώντας το LED. Στη συνέχεια εκτελείται η εντολή. Στο τέλος αναλύεται η παρουσία αιτημάτων διακοπής (σήμα ZPr). Εάν υπάρχει ένα τέτοιο αίτημα, η κατάσταση του PS απομνημονεύεται και γίνεται μετάβαση στο πρόγραμμα επεξεργασίας διακοπής.

2.2.2 Διάγραμμα χρόνου λειτουργίας MP

Η λειτουργία του MP πραγματοποιείται υπό την επίδραση δύο μη επικαλυπτόμενων ακολουθιών παλμών ρολογιού F1 και F2 (Εικ. 2-2).

Οι περισσότεροι μετασχηματισμοί πληροφοριών πραγματοποιούνται από MP χρησιμοποιώντας το F2. Το χρονικό διάστημα κατά το οποίο εκτελείται μια μικρολειτουργία ονομάζεται κύκλος μηχανής (σημαίνει Τ1, Τ2, κ.λπ.). Ένας κύκλος μηχανής (MC) είναι μια ακολουθία κύκλων ρολογιού κατά τη διάρκεια της οποίας ανταλλάσσονται πληροφορίες μεταξύ του MP και ενός στοιχείου εξωτερικού του (που συμβολίζεται ως M1, M2, κ.λπ.). Το MC περιέχει 3-5 μέτρα. Η εντολή εκτελείται σε 1-5 MC. Το σχήμα 2-3 δείχνει συμβατικά την ακολουθία εκτέλεσης τριών εντολών που περιέχουν διαφορετικούς αριθμούς MC. Στον κύκλο M1, το πρώτο byte της εντολής λαμβάνεται πάντα. Τα περισσότερα MP είναι χρονισμένα ψηφιακά κυκλώματα που λειτουργούν υπό την επίδραση μιας γεννήτριας παλμών ρολογιού (GTI). Το MP K580VM80 χρονίζεται από το GTI, δημιουργώντας δύο ακολουθίες μη επικαλυπτόμενων παλμών F1 και F2 με περίοδο Tclock = 0,5 - 2 μs.

Λέξη κατάστασης 2.2.3 MP

Το SD MP δεν χρησιμοποιείται στο T1 και στην αρχή του T2 για λήψη και έκδοση βασικών πληροφοριών. Το MP παρέχει κυκλώματα που διασφαλίζουν ότι μια λέξη κατάστασης οκτώ bit (SS) εξάγεται στην SD αυτή τη στιγμή. Αυτά τα 8 χαρακτηριστικά μπορούν να χρησιμοποιηθούν από εξωτερικά στοιχεία και, γενικά, καθιστούν δυνατή την απλοποίηση της οργάνωσης του MPS. Η λέξη κατάστασης εκδίδεται στην αρχή κάθε κύκλου στο ρολόι T2 κατά τη διάρκεια του παλμού F1 (Εικ. 2-4). Σημάδια SS χαρακτηρίζουν μόνο αυτό το MC. Το SS εκχωρείται χρησιμοποιώντας τον καταχωρητή κατάστασης RS (Εικ. 2-5), στον οποίο καταγράφονται πληροφορίες από το SD τη στιγμή t, κατά την οποία υπάρχουν ταυτόχρονα οι παλμοί F1 και "Sync". Το MP K580VM80 έχει δέκα τύπους MC και, κατά συνέπεια, 10 CC, προσδιορίζοντας αυτούς τους κύκλους. Ο Πίνακας 2 δείχνει το SS που αντιστοιχεί σε όλους τους τύπους MC.

Εικ.2-4

Εικ.2-5

Πίνακας 2 Λέξεις κατάστασης του MP K580VM80

Εδώ:

MEMR - ανάγνωση μνήμης.

INP - σύμβολο εντολής εισαγωγής (δημιουργείται σε MC3).

M1 - σύμβολο MC1 (πραγματοποιείται δειγματοληψία CP, ξεκινά η εκτέλεση της εντολής).

Το OUT είναι ένα σημάδι μιας εντολής εισόδου, που δημιουργείται στο MC3. Παρόμοιο με το σήμα /Zp MP, αλλά εμφανίζεται λίγο νωρίτερα και παραμένει στο RS μέχρι το τέλος του κύκλου.

HLTA - επιβεβαίωση διακοπής.

STACK - ένα σημάδι εργασίας με τη στοίβα, που δημιουργείται κατά την πρόσβαση στη μνήμη χρησιμοποιώντας εντολές για εργασία με τη στοίβα, η οποία σας επιτρέπει να έχετε 216 κελιά RAM και 216 κελιά στοίβας.

/WO - σημάδι εγγραφής ή εξόδου.

Το INTA είναι ένα σημάδι της έναρξης της εργασίας σε λειτουργία διακοπής.

Για παράδειγμα, στην εντολή εξόδου, τα CC No. 1,2,7 εκδίδονται σε τρία MC. Η χρήση SS επιτρέπει την καλύτερη οργάνωση της διαχείρισης του Υπουργείου Σιδηροδρόμων. Για εργασία με εξωτερικές συσκευές, το MP έχει μόνο 2 σήματα ελέγχου Rt και /Zp, τα οποία δεν διακρίνουν μεταξύ ROM, RAM και άλλων εξωτερικών συσκευών. Επομένως, είναι απαραίτητο να χρησιμοποιηθούν μερικά bit ShA για να υποδείξουν ένα συγκεκριμένο αντικείμενο. Στο CC, το σήμα MEMR επιτρέπει τον διαχωρισμό της μνήμης από άλλες συσκευές, γεγονός που απλοποιεί την οργάνωση της διασύνδεσης μεμονωμένων τμημάτων του MPS.

3 Συσκευές αποθήκευσης

Μια συσκευή αποθήκευσης, ή εν συντομία μνήμη, χρησιμοποιείται για την αποθήκευση ψηφιακών πληροφοριών.

Η μνήμη MPS χωρίζεται σε:

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

μνήμη δεδομένων ή μνήμη τυχαίας πρόσβασης (RAM) (ενότητα 2 κεφάλαιο 9).

εξωτερική μνήμη για την αποθήκευση μεγάλων ποσοτήτων πληροφοριών, που συνήθως υλοποιείται με τη μορφή μαγνητικής μονάδας δίσκου (σκληρός δίσκος).

Τις περισσότερες φορές, η ROM και η RAM ημιαγωγών χρησιμοποιούνται στο MPS. Έχουν τέτοια πλεονεκτήματα όπως υψηλή ταχύτητα, χαμηλή κατανάλωση ενέργειας, υψηλή αξιοπιστία, χαμηλό κόστος και ηλεκτρική συμβατότητα με άλλα εξαρτήματα MPS. Το κύριο μειονέκτημα της RAM ημιαγωγών είναι η μεταβλητότητά της. Δεν αποθηκεύει πληροφορίες όταν η τροφοδοσία είναι απενεργοποιημένη. Όταν αυτό δεν είναι αποδεκτό, η RAM υποστηρίζεται από μπαταρίες ή συσσωρευτές, αλλά αυτό προσθέτει πολυπλοκότητα και κόστος στο σύστημα.

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

Η χωρητικότητα ενός IC μνήμης εκφράζεται συνήθως σε bit ή byte—t, 1024 byte (ή 1Kbyte), 4K bit, κ.λπ. Η οργάνωση (ή η μορφή) πληροφοριών της μνήμης καθορίζεται από το γινόμενο του m (λέξεις) x n (μήκος λέξης). Για παράδειγμα, ένα IC με χωρητικότητα 1024 bit μπορεί να έχει οργάνωση 1024x1 (1Kx1), 256x4, 128x8. Το μήκος των λέξεων μνήμης (nmemory) επιλέγεται συνήθως ίσο με το μήκος λέξης (χωρητικότητα bit) του κεντρικού επεξεργαστή MPS ncp. Αν nμνήμη< nцп, то применяется несколько корпусов ИС. Например, с помощью 2-х ИС памяти 256х4 можно организовать ЗУ с форматом 256х8.

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

3.1 Μόνιμη μνήμη

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

Εάν ένας χρήστης γράφει στη μνήμη μία φορά χρησιμοποιώντας μια ειδική συσκευή - έναν προγραμματιστή, και στη συνέχεια λειτουργεί μόνο για ανάγνωση, τότε αυτή η μνήμη ονομάζεται προγραμματιζόμενη από το χρήστη ROM (ROM-PP). Χρησιμοποιούνται για τη δημιουργία πρωτοτύπων και τον εντοπισμό σφαλμάτων MPS, καθώς και για την παραγωγή σε μικρές παρτίδες.

Χρησιμοποιούνται επίσης επαναπρογραμματιζόμενες ROM (PROM). Ο χρήστης μπορεί να του γράψει πληροφορίες επανειλημμένα χρησιμοποιώντας έναν προγραμματιστή, αλλά σε ένα τρέχον σύστημα εκτελεί μόνο μια λειτουργία ανάγνωσης. Οι πληροφορίες στα EPROM μπορούν να διαγραφούν και στη συνέχεια να εγγραφούν νέες πληροφορίες σε αυτές. Η διαγραφή πραγματοποιείται αφαιρώντας το IC από το σύστημα και πραγματοποιείται είτε με ηλεκτρικούς παλμούς με πλάτος 30-50 V, είτε με χρήση υπεριώδους ακτινοβολίας. Τα PROM είναι πιο ακριβά από τα ROM-PM και ROM-PP και έχουν μικρότερη πυκνότητα συσκευασίας .

Ας ρίξουμε μια πιο προσεκτική ματιά στην εσωτερική δομή της PP ROM χρησιμοποιώντας το παράδειγμα του απλούστερου IC K155RE3 (Εικ. 3-1), που έχει οργάνωση 32x8. Για τη διεύθυνση 32 λέξεων, υπάρχουν 5 είσοδοι διεύθυνσης A0...A4 (από 25=32). Η αποθηκευμένη λέξη των 8 bit σχηματίζεται από ένα τρανζίστορ πολλαπλών εκπομπών, σε κάθε κύκλωμα εκπομπού του οποίου υπάρχει ένας εύτηκτος σύνδεσμος από nichrome πάχους 200 Angstroms. Όταν ο αποκωδικοποιητής διευθύνσεων επιλέξει μια συγκεκριμένη λέξη, ανοίγει ένα από τα τρανζίστορ πολλαπλών εκπομπών. Εάν υπάρχει βραχυκυκλωτήρας στην αντίστοιχη γραμμή bit, δημιουργείται ένα επίπεδο υψηλής τάσης και ανοίγει επίσης το τρανζίστορ εξόδου VT2 και το δυναμικό της εξόδου 1 είναι κοντά στο μηδέν (λογικό "0"). Εάν ο βραχυκυκλωτήρας λιώσει, τότε η αντίστοιχη γραμμή bit δεν συνδέεται πουθενά ("επιπλέει") και το τρανζίστορ VT2 είναι κλειστό (λογικό "1"). Οι έξοδοι ROM του PP είναι κυκλώματα ανοιχτού συλλέκτη Για κανονική λειτουργία, πρέπει να συνδεθούν στο τροφοδοτικό +Ek μέσω αντιστάσεων Rн (φαίνεται με διακεκομμένη γραμμή στο σχήμα).

Σε ένα μη προγραμματισμένο IC, όλοι οι βραχυκυκλωτήρες είναι άθικτοι, τα τρανζίστορ VT2 είναι ανοιχτά με όλες τις λέξεις και οι έξοδοι έχουν λογικά επίπεδα «0». Για να προγραμματίσετε ένα συγκεκριμένο bit (η κατάσταση του οποίου πρέπει να αλλάξει από "0" σε "1"), τα σήματα της επιθυμητής διεύθυνσης αποστέλλονται στη γραμμή A0...A4 και εμφανίζεται ένα υψηλό επίπεδο με βάση το επιλεγμένο πολλαπλό τρανζίστορ εκπομπού. Ένα εξωτερικό κύκλωμα θέτει μια τάση περίπου 8 V στην έξοδο του προγραμματιζόμενου bit. Αυτή η τάση είναι επαρκής για να ενεργοποιήσει τη δίοδο zener VD1 με κατώφλι περίπου 7 V, η οποία ανάβει το τρανζίστορ VT1 και τον πρώτο ακροδέκτη του ο βραχυκυκλωτήρας είναι γειωμένος. Στη συνέχεια, η τάση τροφοδοσίας των τρανζίστορ πολλαπλών εκπομπών αυξάνεται στα 12 V και στη συνέχεια εφαρμόζεται τάση περίπου 5 V μεταξύ των ακροδεκτών του βραχυκυκλωτήρα. Το ρεύμα που προκύπτει θερμαίνει και λιώνει τον βραχυκυκλωτήρα.

Σε PP ROM αυτού του τύπου, μερικές φορές είναι πιθανές βλάβες λόγω επαναλαμβανόμενων βραχυκυκλωμάτων κατεστραμμένων βραχυκυκλωτικών. Το χάσμα είναι πολύ στενό και μερικές φορές «κολυμπάει». Για να αυξηθεί η αξιοπιστία, οι προγραμματισμένες ROM διατηρούνται σε θερμοστάτη για 24 ώρες σε θερμοκρασία 100oC και ελέγχονται εκ νέου οι καταγεγραμμένες πληροφορίες. Εάν εντοπιστεί «κολύμπι» των άλτων (μερικοί εγγεγραμμένοι «1» μετατράπηκαν σε «0»), τότε καίγονται ξανά.

Στην πράξη, τα EPROM που διαγράφονται από την υπεριώδη ακτινοβολία χρησιμοποιούνται ευρέως. Είναι κατασκευασμένα σε τρανζίστορ MOS, τα οποία διαφέρουν από τα συμβατικά στο ότι μεταξύ της πύλης και του ημιαγωγού (υπόστρωμα) τοποθετείται μια άλλη «πλωτή» πύλη, πλήρως μονωμένη από όλες τις πλευρές από οξείδιο του πυριτίου. Εάν, κατά την καταγραφή πληροφοριών, εφαρμόζεται θετική τάση περίπου 25 V και διάρκεια αρκετών δεκάδων χιλιοστών του δευτερολέπτου στις πύλες τέτοιων τρανζίστορ, τότε υπό την επιρροή της τα ηλεκτρόνια, που κινούνται προς την κύρια πύλη, εγκαθίστανται στην αιωρούμενη πύλη. Κατά την ανάγνωση, εφαρμόζεται θετική τάση όχι μεγαλύτερη από 5 V στην πύλη. Εάν δεν υπάρχουν ηλεκτρόνια στην αιωρούμενη πύλη, τότε το κανάλι πηγής-αποχέτευσης γίνεται αγώγιμο, πράγμα που αντιστοιχεί στην αποθήκευση ενός λογικού. Εάν υπάρχουν ηλεκτρόνια στην πλωτή πύλη, τότε θωρακίζουν την πύλη με το φορτίο τους και το διάκενο πηγής-αποχέτευσης παραμένει μη αγώγιμο, πράγμα που αντιστοιχεί στην αποθήκευση ενός λογικού «0». Δεδομένου ότι η αιωρούμενη πύλη περιβάλλεται από ένα μονωτικό στρώμα, τα ηλεκτρόνια που εισέρχονται στην περιοχή της πλωτής πύλης δεν μπορούν να την εγκαταλείψουν. Στην πραγματικότητα, υπάρχει διαρροή ηλεκτρονίων, η οποία οδηγεί σε σταδιακή απώλεια πληροφοριών. Σύμφωνα με μια σειρά από εταιρείες, αυτός ο χρόνος είναι τουλάχιστον 10 χρόνια.

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

Τέτοια PROM περιλαμβάνουν το ευρέως χρησιμοποιούμενο IC K573RF2 (RF4, RF5, κ.λπ.).

3.2 RAM

Η μνήμη τυχαίας πρόσβασης ή η μνήμη τυχαίας πρόσβασης (RAM) (Ενότητα 2 Κεφάλαιο 9.2) χρησιμοποιείται για την αποθήκευση επιχειρησιακών πληροφοριών που απαιτούνται κατά την επεξεργασία. Η RAM, σε αντίθεση με τη ROM, σάς επιτρέπει: τόσο να εισάγετε πληροφορίες στο διευθυνσιοδοτούμενο κελί (λειτουργία Rp) όσο και να τις εξάγετε (λειτουργία Rt). Δεδομένου ότι κάθε διευθυνσιοδοτούμενο κελί μπορεί να προσπελαστεί με οποιαδήποτε σειρά, τέτοιες μνήμες ονομάζονται συσκευές αποθήκευσης τυχαίας πρόσβασης (RAMS). . ). Είναι δυνατοί διάφοροι τρόποι ανταλλαγής πληροφοριών μεταξύ RAM και MP. Οι πιο συχνά χρησιμοποιούμενες συσκευές μνήμης είναι οι μνήμες τυχαίας πρόσβασης, οι οποίες επιτρέπουν την πρόσβαση σε οποιαδήποτε διεύθυνση με οποιαδήποτε σειρά. Υπάρχουν στατική και δυναμική RAM.

Η στατική μνήμη RAM υλοποιείται χρησιμοποιώντας flip-flops απευθείας συζευγμένων, οι οποίες, όταν ενεργοποιούνται, μπορούν να αποθηκεύουν πληροφορίες επ' αόριστον χωρίς πρόσθετα σήματα ελέγχου.

Οι περισσότερες RAM κατασκευάζονται με βάση τρανζίστορ MOS και έχουν τη λεγόμενη οργάνωση matrix. Το λειτουργικό διάγραμμα της RAM 256x1 με οργάνωση μήτρας 16x16 φαίνεται στο Σχήμα (3-2). Μετά την αποκωδικοποίηση των bit χαμηλής τάξης της διεύθυνσης A0-A3, εμφανίζεται ένα σήμα Xi, που συνδέει την i-η σειρά του πίνακα. Η στήλη του πίνακα Yj επιλέγεται από τον αποκωδικοποιητή των πιο σημαντικών δυαδικών ψηφίων της διεύθυνσης A4-A7 και το στοιχείο μνήμης EPij συνδέεται με την έξοδο πληροφοριών ή το κύκλωμα εισόδου ανάλογα με την τιμή του σήματος Sch//Zp. Όταν Sch//Zp=1, οι πληροφορίες διαβάζονται από τη μνήμη. όταν Sch//Zp=0 - εγγραφή στη μνήμη. Το σήμα ενεργοποίησης VM (επιλογή τσιπ) ενεργοποιεί αυτό το IC. Όταν το σήμα VM αναστέλλεται, η μήτρα απομονώνεται από τις εξόδους του αποκωδικοποιητή και του διαύλου I/O.

Η στατική μνήμη RAM μπορεί να κατασκευαστεί σε διάφορους τύπους συσκευών ημιαγωγών. Επί του παρόντος, τα πιο κοινά IC στατικής μνήμης είναι τα τρανζίστορ MOS. Το στοιχείο μνήμης CMOS αποτελείται από 5 τρανζίστορ, τέσσερα από τα οποία (VT1-VT4) αποτελούν μια σκανδάλη. Η σκανδάλη για εγγραφή και ανάγνωση ελέγχεται χρησιμοποιώντας ένα κλειδί - τρανζίστορ VT5 (Εικ. 3-3).

3.3 Σύνδεση της μνήμης στο δίαυλο δεδομένων

Δεδομένου ότι ο δίαυλος δεδομένων (DB) είναι κοινός σε πολλές συσκευές, μια «σύγκρουση» είναι αναπόφευκτη όταν λειτουργούν ταυτόχρονα. Είναι απαραίτητο σε κάθε στιγμή να συνδέεται μόνο μία συσκευή στο SD - μια πηγή πληροφοριών. Μπορούν να συνδεθούν αρκετοί δέκτες πληροφοριών ταυτόχρονα. Είναι σημαντικό μόνο η ισχύς εξόδου της πηγής σημάτων πληροφοριών να είναι επαρκής για τη σύνδεση πολλών δεκτών. Η λειτουργική σύνδεση και η σύνδεση της εξόδου οποιασδήποτε συσκευής πραγματοποιείται χρησιμοποιώντας ένα κύκλωμα εξόδου που έχει 3 πιθανές καταστάσεις: 1, 0 και "απενεργοποιημένο". Η έξοδος οποιουδήποτε IC TTL μπορεί απλά να αναπαρασταθεί ως δύο τρανζίστορ συνδεδεμένα σε σειρά (βλ. Εικ. 3-4).

Εάν το τρανζίστορ VT1 είναι ανοιχτό και το VT2 είναι κλειστό, τότε το επίπεδο σήματος εξόδου είναι υψηλό (“1”). Αν αντίθετα: το VT2 είναι ανοιχτό, το VT1 είναι κλειστό, τότε η έξοδος είναι χαμηλή στάθμη (“0”). Εάν και τα δύο τρανζίστορ απενεργοποιηθούν ταυτόχρονα, η έξοδος του IC αποσυνδέεται από την πηγή ρεύματος και δεν έχει καμία επίδραση στη λειτουργία άλλων συσκευών που είναι συνδεδεμένες στον κοινό δίαυλο.

Εικ. 3-4 Έξοδος τριών καταστάσεων

4. Συσκευές διεπαφής

Οι συσκευές διασύνδεσης (ID) χρησιμοποιούνται για τη διασύνδεση εξωτερικών συσκευών με το MPS. Συνήθως υλοποιούνται με τη μορφή ενός ή περισσότερων SIS ή LSI.

ΣΕΛΙΔΑ \* ΣΥΓΧΩΝΕΥΣΗ 3


Καθώς και άλλα έργα που μπορεί να σας ενδιαφέρουν

45328. Δημοψήφισμα - έννοια, είδη νομικής ρύθμισης 25,75 KB
Μια μορφή άμεσης έκφρασης της βούλησης των πολιτών της Ρωσικής Ομοσπονδίας για τα πιο σημαντικά ζητήματα κρατικής και τοπικής σημασίας για τους σκοπούς της λήψης αποφάσεων που πραγματοποιείται μέσω ψηφοφορίας από πολίτες της Ρωσικής Ομοσπονδίας που έχουν δικαίωμα να συμμετάσχουν σε δημοψήφισμα . Τύποι δημοψηφίσματος ανάλογα με την επικράτεια: 1 Πανρωσικό δημοψήφισμα, διεξάγεται για θέματα γενικής ομοσπονδιακής σημασίας με βάση την απόφαση του Προέδρου της Ρωσικής Ομοσπονδίας. 2 δημοψήφισμα μιας συνιστώσας οντότητας της Ρωσικής Ομοσπονδίας, διεξάγεται για θέματα που εμπίπτουν στη δικαιοδοσία της αντίστοιχης συνιστώσας οντότητας της Ρωσικής Ομοσπονδίας ή της κοινής δικαιοδοσίας της Ρωσικής Ομοσπονδίας και των συνιστωσών οντοτήτων της Ρωσικής Ομοσπονδίας, εάν τα θέματα αυτά δεν είναι...
45329. Αρμοδιότητες του Προέδρου της Ρωσικής Ομοσπονδίας 21 KB
Διορισμός με τη συγκατάθεση της Κρατικής Δούμας του Προέδρου της Κυβέρνησης της Ρωσικής Ομοσπονδίας άλλων μελών της κυβέρνησης της Ρωσικής Ομοσπονδίας, η κατεύθυνση της πολιτικής της και η έκδοση απόφασης για την παραίτηση της κυβέρνησης της Ρωσικής Ομοσπονδίας ; 2 υποβολή υποψηφιότητας στην Κρατική Δούμα για τη θέση του Προέδρου της Κεντρικής Τράπεζας της Ρωσικής Ομοσπονδίας, επίλυση ενώπιόν της για το θέμα της απόλυσης του Προέδρου της Κεντρικής Τράπεζας της Ρωσικής Ομοσπονδίας· 3 παρουσίαση στο Ομοσπονδιακό Συμβούλιο υποψηφίων για διορισμό σε θέσεις δικαστών του Συνταγματικού Δικαστηρίου της Ρωσικής Ομοσπονδίας...
45330. Η διαδικασία εκλογής και παύσης του Προέδρου της Ρωσικής Ομοσπονδίας 23,1 KB
Η διαδικασία εκλογής και παύσης του Προέδρου της Ρωσικής Ομοσπονδίας. Ο Πρόεδρος της Ρωσικής Ομοσπονδίας εκλέγεται για θητεία έξι ετών από πολίτες της Ρωσικής Ομοσπονδίας με καθολική, ισότιμη και άμεση ψηφοφορία με μυστική ψηφοφορία. Πρόεδρος της Ρωσικής Ομοσπονδίας μπορεί να εκλεγεί πολίτης της Ρωσικής Ομοσπονδίας που είναι τουλάχιστον 35 ετών και έχει διαμένει μόνιμα στη Ρωσική Ομοσπονδία για τουλάχιστον 10 χρόνια. Το ίδιο πρόσωπο δεν μπορεί να κατέχει τη θέση του Προέδρου της Ρωσικής Ομοσπονδίας για περισσότερο από δύο συνεχόμενες θητείες. Η διαδικασία εκλογής Προέδρου...
45331. 22,83 KB
ΙΝΣΤΙΤΟΥΤΟ ΤΗΣ ΕΠΙΤΡΟΠΗΣ ΓΙΑ ΤΑ ΑΝΘΡΩΠΙΝΑ ΔΙΚΑΙΩΜΑΤΑ ΣΤΗ ΡΣ Στη Ρωσική Ομοσπονδία, ο Επίτροπος για τα Ανθρώπινα Δικαιώματα στη Ρωσική Ομοσπονδία είναι υπεύθυνος για την προστασία των δικαιωμάτων και των ελευθεριών των πολιτών και τον σεβασμό τους από τις κρατικές αρχές, τις τοπικές κυβερνήσεις και τους αξιωματούχους. Εντός των ορίων της αρμοδιότητάς του, ο Επίτροπος για τα Ανθρώπινα Δικαιώματα στη Ρωσική Ομοσπονδία: 1 εξετάζει καταγγελίες από πολίτες της Ρωσικής Ομοσπονδίας και ξένους πολίτες και απάτριδες που βρίσκονται στο έδαφος της Ρωσικής Ομοσπονδίας. 2 εξετάζει καταγγελίες κατά αποφάσεων ή ενεργειών κρατικών φορέων, στελεχών τοπικής αυτοδιοίκησης...
45332. Κρατική Δούμα της Ρωσικής Ομοσπονδίας - αίθουσα της Ομοσπονδιακής Συνέλευσης της Ρωσικής Ομοσπονδίας 26,28 KB
Οι εξουσίες της τοπικής αυτοδιοίκησης είναι τα δικαιώματα και οι ευθύνες που ανατίθενται στον πληθυσμό των σχετικών περιοχών από εκλεγμένους και άλλους φορείς τοπικής αυτοδιοίκησης, που ανατίθενται από την ομοσπονδιακή νομοθεσία καθώς και από κανονιστικές νομικές πράξεις των συστατικών οντοτήτων της Ρωσικής Ομοσπονδίας και νομικές πράξεις της φορείς τοπικής αυτοδιοίκησης που σχετίζονται με την εκτέλεση των καθηκόντων και των λειτουργιών της τοπικής αυτοδιοίκησης στην οικεία επικράτεια. Οι εξουσίες της τοπικής αυτοδιοίκησης ασκούνται απευθείας από τον πληθυσμό των αστικών και αγροτικών οικισμών άλλων περιοχών μέσω...
45333. Συνταγματικό και νομικό καθεστώς μέλους του Ομοσπονδιακού Συμβουλίου και βουλευτή της Κρατικής Δούμας 25,69 KB
Συνταγματικό και νομικό καθεστώς μέλους του Ομοσπονδιακού Συμβουλίου και βουλευτή της Κρατικής Δούμας Το συνταγματικό και νομικό καθεστώς ενός μέλους του Ομοσπονδιακού Συμβουλίου και του βουλευτή της Κρατικής Δούμας καθορίζεται από το Σύνταγμα της Ρωσικής Ομοσπονδίας, άρθρο. Για το καθεστώς του μέλους του Ομοσπονδιακού Συμβουλίου και του βουλευτή της Κρατικής Δούμας της Ομοσπονδιακής Συνέλευσης της Ρωσικής Ομοσπονδίας. Ο βουλευτής της Κρατικής Δούμας είναι ένας εκλεγμένος εκπρόσωπος του λαού που είναι εξουσιοδοτημένος να ασκεί νομοθετικές και άλλες εξουσίες στην Κρατική Δούμα που προβλέπονται από το Σύνταγμα της Ρωσικής Ομοσπονδίας και τον ομοσπονδιακό νόμο. Η θητεία...
45334. Σύστημα νομοθετικών (αντιπροσωπευτικών) και εκτελεστικών οργάνων της κρατικής εξουσίας των συστατικών οντοτήτων της Ρωσικής Ομοσπονδίας 20,8 KB
Το σύστημα των νομοθετικών αντιπροσωπευτικών και εκτελεστικών οργάνων της κρατικής εξουσίας των συστατικών οντοτήτων της Ρωσικής Ομοσπονδίας θεσπίζεται από αυτά ανεξάρτητα σύμφωνα με τις θεμελιώδεις αρχές του συνταγματικού συστήματος της Ρωσικής Ομοσπονδίας και τον Ομοσπονδιακό Νόμο του 06. Σχετικά με τις γενικές αρχές του οργάνωση νομοθετικών αντιπροσωπευτικών και εκτελεστικών οργάνων της κρατικής εξουσίας των συστατικών οντοτήτων της Ρωσικής Ομοσπονδίας Εκπαιδευτική διαμόρφωση των δραστηριοτήτων των νομοθετικών αντιπροσωπευτικών και εκτελεστικών οργάνων κρατικές αρχές των συστατικών οντοτήτων της Ρωσικής Ομοσπονδίας τους...
45335. Νομοθετική διαδικασία στη Ρωσική Ομοσπονδία 25,93 KB
Ένας αστικός οικισμός μπορεί επίσης να περιλαμβάνει αγροτικούς οικισμούς που δεν έχουν την ιδιότητα του αγροτικού οικισμού στους οποίους η τοπική αυτοδιοίκηση ασκείται από τον πληθυσμό άμεσα ή μέσω εκλεγμένων και άλλων φορέων τοπικής αυτοδιοίκησης. Αστική συνοικία είναι ένας αστικός οικισμός που δεν ανήκει σε δημοτικό διαμέρισμα και του οποίου τα όργανα τοπικής αυτοδιοίκησης ασκούν εξουσίες για την επίλυση θεσμικών θεμάτων τοπικής σημασίας του οικισμού και ζητημάτων τοπικής σημασίας του δημοτικού διαμερίσματος και μπορούν επίσης να...
45336. Προσεγγίσεις για την κατασκευή συστημάτων τεχνητής νοημοσύνης 33 KB
Δομική προσέγγιση Η δομική προσέγγιση αναφέρεται σε προσπάθειες οικοδόμησης τεχνητής νοημοσύνης με μοντελοποίηση της δομής του ανθρώπινου εγκεφάλου. Η κύρια μοντελοποιημένη δομική μονάδα στα perceptron, όπως και στις περισσότερες άλλες επιλογές μοντελοποίησης εγκεφάλου, είναι ο νευρώνας. Αργότερα, εμφανίστηκαν άλλα μοντέλα, τα οποία συνήθως ονομάζονται νευρωνικά δίκτυα. Αυτά τα μοντέλα διαφέρουν ως προς τη δομή των μεμονωμένων νευρώνων, την τοπολογία των συνδέσεων μεταξύ τους και τους αλγόριθμους εκμάθησης.

Σκοπός αυτού του βιβλίου είναι να διδάξει στον αναγνώστη τα βασικά της τεχνολογίας μικροεπεξεργαστών. Υποτίθεται ότι ένα ορισμένο αρχικό επίπεδο γνώσεων στη ραδιομηχανική. Ορίζω αυτό το επίπεδο ως ειδικό ή ερασιτέχνη που γνωρίζει την τεχνολογία ραδιοφώνου και παλμών. Δεν είναι ο σκοπός αυτού του βιβλίου να εξηγήσει τι είναι οι αντιστάσεις, οι πυκνωτές ή τα τρανζίστορ. Υποτίθεται ότι ο αναγνώστης είναι εξοικειωμένος με αυτό και με το κύκλωμα των αναλογικών συσκευών, αλλά είναι πρόθυμος να μάθει τι είναι οι συσκευές μικροεπεξεργαστή και να μάθει πώς να τις σχεδιάζει ο ίδιος. Στην αρχή του βιβλίου αποκαλύπτονται οι γενικές αρχές της ψηφιακής αναπαράστασης ενός σήματος, αποκαλύπτονται έννοιες όπως λογικά στοιχεία, ψηφιακό σήμα και οι αρχές αποθήκευσης και επεξεργασίας ψηφιακών πληροφοριών. Περιγράφει επίσης την αρχή λειτουργίας εκείνων των στοιχείων της ψηφιακής τεχνολογίας που θα χρειαστούμε στο μέλλον όταν μάθουμε να κατασκευάζουμε ένα σύστημα μικροεπεξεργαστή. Μια περιγραφή όλων αυτών των στοιχείων δίνεται στο βιβλίο μόνο στο βαθμό που είναι απαραίτητος για μια γρήγορη κατανόηση των βασικών αρχών κατασκευής συστημάτων μικροεπεξεργαστή. Για πληρέστερη κατανόηση της λειτουργίας κάθε στοιχείου, σας συνιστώ να ανατρέξετε στον ιστότοπό μου που ονομάζεται «Ψηφιακά τσιπ και μικροεπεξεργαστές» http:// www.mirmk.ru.

Ως παράδειγμα συσκευής μικροεπεξεργαστή, αυτό το βιβλίο έχει ένα πραγματικό σχέδιο που αναπτύχθηκε από τον συγγραφέα - έναν δορυφορικό ρυθμιστή θέσης πιάτων. Ο ρυθμιστής θέσης έχει σχεδιαστεί για να αυτοματοποιεί τον έλεγχο της περιστροφής ενός οικιακού δορυφορικού πιάτου. Είναι σε θέση να θυμάται έως και 99 θέσεις (κατευθύνσεις προς τον δορυφόρο) και στη συνέχεια να εγκαταστήσει αυτόματα την κεραία σε οποιαδήποτε από αυτές τις θέσεις. Για να το κάνετε αυτό, απλά πρέπει να επιλέξετε τον αριθμό αυτής της θέσης χρησιμοποιώντας το τηλεχειριστήριο ή χρησιμοποιώντας τα κουμπιά στον μπροστινό πίνακα της συσκευής. Το κύκλωμα και το πρόγραμμα του ρυθμιστή θέσης αναπτύχθηκαν από τον συγγραφέα του βιβλίου. Το πρωτότυπο κατασκευάστηκε και δοκιμάστηκε χρησιμοποιώντας μια τυπική ιδιόκτητη περιστροφική συσκευή ξένης κατασκευής (μοτέρ, κιβώτιο ταχυτήτων, αισθητήρας διακόπτη καλαμιού). Ο ελεγκτής βασίζεται στον μικροελεγκτή AT 89C 2051 της Atmel ( www.atmel.comή www.atmel.ru). Από αυτή την άποψη, η μελέτη των μικροεπεξεργαστών θα πραγματοποιηθεί επίσης χρησιμοποιώντας ως παράδειγμα τον επεξεργαστή AT 89C 2051. Επί του παρόντος, η Atmel έχει μεταβεί σε πιο σύγχρονους επεξεργαστές όπως ο AVR. Ωστόσο, από την άποψή μου, η κατασκευή συσκευών μικροεπεξεργαστή σε αυτόν τον επεξεργαστή είναι απολύτως δικαιολογημένη, καθώς οι παράμετροί του είναι απολύτως κατάλληλες για αυτήν την εργασία και η τιμή του επεξεργαστή AT 89C 2051 είναι σημαντικά χαμηλότερη σε σύγκριση με οποιονδήποτε επεξεργαστή από την οικογένεια AVR.

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

Ο συγγραφέας ελπίζει ότι αυτό το βιβλίο θα είναι χρήσιμο σε ένα ευρύ φάσμα ειδικών και ραδιοερασιτεχνών και θα είναι ευγνώμων για τυχόν σχόλια και σχόλια σχετικά με το βιβλίο. Στείλτε όλα τα σχόλια στη διεύθυνση Crimea, Simferopol, st. Russian, 194 ή μέσω e-mail: [email protected]. Να σημειωθεί ότι το κείμενο που δημοσιεύεται εδώ είναι το πρώτο κιόλας προσχέδιο του βιβλίου. Από τη συγγραφή του, το βιβλίο έχει γραφτεί πλήρως και εκδόθηκε το 2004. Στη συνέχεια το βιβλίο υπέστη αρκετά σημαντικές αλλαγές και έχει ήδη περάσει από δέκα περίπου ανατυπώσεις. Μπορείτε να παραγγείλετε την τελευταία έκδοση του βιβλίου σε έντυπη έκδοση σε μειωμένη τιμή μεταβαίνοντας στην κατάλληλη σελίδα σε αυτόν τον ιστότοπο

Εκπαιδευτικό πρόγραμμα για αρχάριους

Κεφάλαιο 1. Τι είναι ένας μικροεπεξεργαστής.

Τι είναι ένας μικροεπεξεργαστής; Και σε τι διαφέρει από έναν μικροελεγκτή;

Γενικά, ο επεξεργαστής είναι ένα από τα στοιχεία ενός υπολογιστή. Προτού εφευρεθεί ο μικροεπεξεργαστής (δηλαδή ο επεξεργαστής σε ένα μόνο τσιπ), υπήρχαν ολόκληρες μονάδες επεξεργαστή. Σε μεγάλους υπολογιστές. Για να διευκρινίσετε το ζήτημα, πρέπει να καταλάβετε τι είναι ένας υπολογιστής. Ο υπολογιστής είναι μια συσκευή αυτόματης επεξεργασίας πληροφοριών. Επιπλέον, οι πληροφορίες στον υπολογιστή παρουσιάζονται με τη μορφή αριθμών. Οποιοδήποτε σύστημα υπολογιστή αποτελείται από τα ακόλουθα κύρια μέρη: Επεξεργαστής, Μονάδα μνήμης, θύρες I/O. Το καθήκον μας δεν είναι να μελετήσουμε αρχαίους τύπους υπολογιστών. Στο μέλλον θα μιλήσουμε για μικροεπεξεργαστές και μικροελεγκτές. Ετσι:

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

ü Θύρες I/O. Αυτά είναι κάποιο είδος μικροκυκλωμάτων με τη βοήθεια των οποίων ένα σύστημα μικροεπεξεργαστή μπορεί να επικοινωνήσει με τον έξω κόσμο. Μέσω των θυρών εισόδου, το σύστημα υπολογιστή λαμβάνει πληροφορίες από το εξωτερικό και μέσω των θυρών εξόδου παράγει τα αποτελέσματα της εργασίας του και ελέγχει τις εξωτερικές συσκευές. Μόνο χάρη σε αυτές τις ίδιες θύρες I/O, συσκευές όπως πληκτρολόγιο, ποντίκι, μονάδες δίσκου, CD-ROM κ.λπ. συνδέονται στον υπολογιστή. Όσοι αναγνώστες είναι εξοικειωμένοι με υπολογιστές μπορεί να έχουν ακούσει τους όρους "παράλληλη θύρα" (LPT) και "σειριακή θύρα" (COM). Άρα σε αυτή την περίπτωση μιλάμε για εντελώς διαφορετική έννοια. Αυτοί είναι απλώς παρόμοιοι όροι. Οι παράλληλες και, ιδιαίτερα, οι σειριακές θύρες ενός υπολογιστή είναι ολόκληρα, μάλλον πολύπλοκα κυκλώματα, τα οποία με τη σειρά τους ελέγχονται χρησιμοποιώντας θύρες εισόδου/εξόδου. Επίσης, δεν χρειάζεται να πιστεύετε ότι το πληκτρολόγιο και το ποντίκι χρησιμοποιούν μόνο θύρες εισόδου και η οθόνη χρησιμοποιεί θύρα εξόδου. Για τον έλεγχο των περισσότερων συσκευών υπολογιστών, χρησιμοποιούνται και οι δύο θύρες εισόδου και εξόδου του συστήματος μικροεπεξεργαστή. Μπορεί να εκπλαγείτε που αναφέρομαι τόσο στον σκληρό δίσκο όσο και σε μια μονάδα δισκέτας ως εξωτερικές συσκευές. Εκεί, μέσα στον υπολογιστή, υπάρχουν πολλές ακόμα κρυμμένες συσκευές που είναι εξωτερικές στον μικροεπεξεργαστή, αν και συχνά βρίσκονται όχι μόνο μέσα στον υπολογιστή, αλλά και απευθείας στη μητρική πλακέτα - την κύρια πλακέτα του υπολογιστή.

ü ΕΠΕΞΕΡΓΑΣΤΗΣ.Ο επεξεργαστής είναι το πιο σημαντικό μέρος, η καρδιά ολόκληρου του συστήματος. Έχει σχεδιαστεί για να εκτελεί διάφορες ακολουθίες ενεργειών με αριθμούς στη μνήμη και με δεδομένα σε θύρες I/O. Και αυτό είναι όλο!

Και τα τρία μέρη του συστήματος υπολογιστών διασυνδέονται με τους λεγόμενους διαύλους δεδομένων. Αυτοί οι δίαυλοι μεταφέρουν ψηφιακά σήματα από τον επεξεργαστή στη μονάδα μνήμης και στις θύρες I/O και πίσω στον επεξεργαστή.

Ρύζι. 1.

Τι μπορεί να κάνει ο επεξεργαστής με αυτούς τους αριθμούς; Ναι, τι μπορείτε να κάνετε με αυτά; Μπορεί να τα διαβάσει από διαφορετικά κελιά μνήμης, να προσθέσει, να αφαιρέσει, να συγκρίνει και μετά να τα γράψει στα ίδια ή άλλα κελιά μνήμης. Μπορεί επίσης να εκτελέσει λογικές (Boolean) πράξεις με αριθμούς (θα περιγράψω αναλυτικά τι είναι παρακάτω). Οι πιο ισχυροί επεξεργαστές μπορούν ακόμη και να πολλαπλασιάζουν και να διαιρούν αριθμούς. Λοιπόν, μερικές ειδικές λειτουργίες που σίγουρα θα αναλύσουμε όταν μελετήσουμε λεπτομερέστερα τη λειτουργία του μικροεπεξεργαστή.

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

Αυτό είναι βασικά το μόνο που μπορεί να κάνει ο επεξεργαστής. Αλλά αυτό είναι αρκετό για να κάνουμε όλα τα θαύματα που έχουμε συνηθίσει να βλέπουμε από τους υπολογιστές. Αποδεικνύεται ότι τα πάντα στον κόσμο μπορούν να περιγραφούν με αριθμούς. Και κείμενο, και εικόνες και ήχοι, συμπεριλαμβανομένης της μουσικής. Οι επιστήμονες και οι μαθηματικοί έκαναν καλή δουλειά. Κατάφεραν να αναπτύξουν μαθηματικά μοντέλα όλων αυτών των διαδικασιών. Απλά μετρήστε πιο γρήγορα! Αλλά οι σύγχρονοι επεξεργαστές μπορούν να το κάνουν αυτό! Φυσικά, οι σύγχρονοι επεξεργαστές έχουν πολύ μεγαλύτερο σετ εντολών. Αλλά, βασικά, αυτές είναι εξειδικευμένες εντολές ομάδας που αντικαθιστούν οποιοδήποτε σύνολο απλούστερων που χρησιμοποιούνται συχνά. Το βιβλίο μας δεν έχει σκοπό να μελετήσει σύγχρονους μικροεπεξεργαστές για προσωπικούς υπολογιστές. Το καθήκον μας είναι μικρές εξειδικευμένες συσκευές μικροεπεξεργαστή. Όπως, για παράδειγμα, κάποιο δύσκολο χρονόμετρο, ένα σύστημα ελέγχου πλυντηρίου ή μια μονάδα ελέγχου δορυφορικών πιάτων. Έχουν ένα κοινό όνομα: ελεγκτές μικροεπεξεργαστή. Εδώ θα στρέψουμε την προσοχή μας.

Λοιπόν, τι είναι αυτή η υπέροχη συσκευή – ένας μικροεπεξεργαστής; Διαβάζει και υπολογίζει και γράφει και κάνει τόσα διαφορετικά έξυπνα πράγματα! Πώς μπορεί να τα κάνει όλα αυτά; Προφανώς ένα πολύ έξυπνο τσιπ; Στην πραγματικότητα, ένας μικροεπεξεργαστής είναι απλώς ένα αυτόματο μηχάνημα που εκτελεί τις λειτουργίες που περιέχονται σε αυτόν σύμφωνα με το ΠΡΟΓΡΑΜΜΑ. Ένα πρόγραμμα είναι μια ακολουθία εντολών για τον επεξεργαστή, γραμμένες στην ίδια μνήμη, επίσης με τη μορφή αριθμών. Μερικές φορές, ωστόσο, η μνήμη χωρίζεται σε δύο μέρη: τη μνήμη προγραμμάτων και τη μνήμη δεδομένων. Ο επεξεργαστής περιέχει έναν απλό αλγόριθμο. Αμέσως μετά την ενεργοποίηση ή μετά την άφιξη ενός σήματος επαναφοράς ( Επαναφορά), ο επεξεργαστής αρχίζει να διαβάζει από την περιοχή μνήμης που έχει εκχωρηθεί για την αποθήκευση προγραμμάτων, αριθμό προς αριθμό, ένα προς ένα. Κάθε τέτοιος αριθμός κωδικοποιεί μια εντολή. Μια εντολή είναι μια από τις ενέργειες που μπορεί να εκτελέσει ο μικροεπεξεργαστής. Ο αριθμός με τον οποίο κωδικοποιείται η εντολή ονομάζεται κωδικός λειτουργίας. Ο επεξεργαστής διαβάζει το opcode και εκτελεί τη λειτουργία. Στη συνέχεια διαβάζει τον παρακάτω κώδικα και τον εκτελεί ξανά. Διαβάζει λοιπόν διαδοχικά αυτούς τους κωδικούς και τους εκτελεί. Αυτή είναι η διαδικασία εκτέλεσης του προγράμματος. Ποιος έγραψε αυτούς τους κωδικούς στη μνήμη; Προγραμματιστής! Ο προγραμματιστής είχε για πρώτη φορά ένα πρόγραμμα. Μετά το έγραψα σε ένα τσιπ μνήμης. Τοποθέτησα το τσιπ στο σύστημα μικροεπεξεργαστή και άνοιξα το ρεύμα. Το σύστημα άρχισε να λειτουργεί. Εδώ είναι ένα έξυπνο αυτοκίνητο για εσάς. Χυδαίο πολυβόλο.

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

Λοιπόν, τι είναι οι μικροελεγκτές; Μερικές φορές διαβάζουμε "AT 89C 2051 Microcontroller". Ένας μικροελεγκτής είναι ένα παιδί περαιτέρω ολοκλήρωσης· είναι ένα ολόκληρο σύστημα μικροεπεξεργαστή σε ένα τσιπ! Ένα τσιπ περιέχει όλα τα στοιχεία ενός συστήματος μικροεπεξεργαστή: μνήμη, θύρες εισόδου/εξόδου και τον ίδιο τον επεξεργαστή. Επιπλέον, ορισμένες εξωτερικές (σε σχέση με τον επεξεργαστή) συσκευές βρίσκονται συχνά εκεί (τέτοιες συσκευές ονομάζονται συχνά "περιφερειακές"): χρονόμετρα, συσκευές διακοπής, συγκριτές κ.λπ. Θα μάθετε την έννοια αυτών των ακόμα ασαφών όρων στα επόμενα κεφάλαια. Γενικά, υπάρχει κάποια σύγχυση με τις έννοιες «μικροεπεξεργαστής» και «μικροελεγκτής». Αυτό που μόλις ονόμασα μικροελεγκτή ονομάζεται μερικές φορές και μικροεπεξεργαστής. Για να καταλάβετε για τι πράγμα μιλάμε, ακολουθήστε το πλαίσιο των πληροφοριών που παρέχονται.

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

Μια γεννήτρια παλμών ρολογιού είναι μια πηγή μιας ακολουθίας ορθογώνιων παλμών, με τη βοήθεια των οποίων τα γεγονότα ελέγχονται στο χρόνο. Καθορίζει τον κύκλο εντολών — το χρονικό διάστημα που απαιτείται για την ανάγνωση ενός δείγματος εντολής από τη μνήμη και την εκτέλεσή του. Ο κύκλος εντολών αποτελείται από μια ορισμένη ακολουθία στοιχειωδών ενεργειών που ονομάζονται καταστάσεις (κύκλοι). Ορισμένοι μικροεπεξεργαστές δεν απαιτούν εξωτερική γεννήτρια ρολογιού· περιέχεται απευθείας στο κύκλωμα του μικροεπεξεργαστή ενός τσιπ.

Η κύρια μνήμη του συστήματος (εξωτερική του μικροεπεξεργαστή) αποτελείται από ROM και RAM.

Η μνήμη μόνο για ανάγνωση (ROM) είναι μια συσκευή που αποθηκεύει ένα πρόγραμμα (και, εάν είναι απαραίτητο, ένα σύνολο σταθερών). Τα περιεχόμενα της ROM δεν μπορούν να διαγραφούν. Χρησιμοποιείται ως μνήμη ενός προγράμματος που έχει μεταγλωττιστεί εκ των προτέρων από τον κατασκευαστή σύμφωνα με τις απαιτήσεις των χρηστών του. Σε τέτοιες περιπτώσεις, το πρόγραμμα λέγεται ότι είναι συνδεδεμένο στη συσκευή αποθήκευσης. Για την υλοποίηση ενός άλλου προγράμματος, είναι απαραίτητο να χρησιμοποιήσετε άλλη ROM ή μέρος αυτής. Μπορείτε να επιλέξετε μόνο λέξεις που είναι αποθηκευμένες εκεί από τη ROM, αλλά δεν μπορείτε να προσθέσετε νέες, να διαγράψετε ή να αντικαταστήσετε τις ηχογραφημένες λέξεις με άλλες. Είναι σαν ένας τυπωμένος πίνακας κερδών ομολόγων: μπορείτε να διαβάσετε μόνο τους αριθμούς εκεί, αλλά δεν μπορείτε να τους αντικαταστήσετε ή να προσθέσετε νέους.

Εκτός από τη ROM, χρησιμοποιούνται επίσης PROM και RPROM.

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

Μια επαναπρογραμματιζόμενη μνήμη μόνο για ανάγνωση (RPM), που ονομάζεται επίσης διαγραφόμενη ROM, έχει την ακόλουθη δυνατότητα: οι αποθηκευμένες πληροφορίες μπορούν να διαγραφούν πολλές φορές (στην διαδικασία, καταστρέφονται). Με άλλα λόγια, το EPROM επιτρέπει επαναπρογραμματισμό, που πραγματοποιείται με τη χρήση προγραμματιστή. Αυτό διευκολύνει τη διόρθωση των σφαλμάτων που εντοπίστηκαν και σας επιτρέπει να αλλάξετε τα περιεχόμενα της μνήμης.

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

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

Πιο απλές εργασίες επιλύονται από θύρες I/O - κυκλώματα σχεδιασμένα (προγραμματισμένα) για ανταλλαγή δεδομένων με συγκεκριμένες περιφερειακές συσκευές: λήψη δεδομένων από πληκτρολόγιο ή συσκευή ανάγνωσης, μετάδοσή τους σε οθόνη, τηλεγραφομηχανή κ.λπ.

Η θύρα είναι ένα μεσαίο ολοκληρωμένο κύκλωμα που περιέχει έναν διευθυνσιοδοτούμενο καταχωρητή buffer εισόδου/εξόδου με δυνατότητα διευθυνσιοδότησης (MBR) με τρισταθερά κυκλώματα εξόδου (που συζητούνται παρακάτω όταν περιγράφεται το κύκλωμα RAM), λογική ελέγχου και μια υποδοχή για τη σύνδεση συσκευών I/O. Οι επιλογές επαναπρογραμματισμού θύρας είναι περιορισμένες.

Όταν οι περιφερειακές συσκευές που αποτελούν μέρος ενός συστήματος μικροεπεξεργαστή είναι πολύπλοκες και εκτελούν πολλές διαφορετικές λειτουργίες, χρησιμοποιείται για τη διασύνδεση μια εξελιγμένη διεπαφή που ονομάζεται περιφερειακός προγραμματιζόμενος προσαρμογέας. Περιέχει ένα σύνολο ενσωματωμένων θυρών και άλλων καταχωρητών που διευκολύνουν τον προγραμματισμό και το συντονισμό του χρονισμού. Πολλές απλές συσκευές I/O μπορούν να συνδεθούν σε έναν περιφερειακό προγραμματιζόμενο προσαρμογέα. Μια τέτοια διεπαφή θεωρείται καθολική διεπαφή με ευρεία εφαρμογή, αφού μπορεί να συνδυαστεί με όλες σχεδόν τις διαθέσιμες περιφερειακές συσκευές.

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

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

Στη συνέχεια, το αντικείμενο της προσοχής μας θα είναι τα λεωφορεία συστήματος. Ένας δίαυλος είναι μια ομάδα γραμμών μετάδοσης που χρησιμοποιούνται για την εκτέλεση μιας συγκεκριμένης λειτουργίας (μία γραμμή για κάθε bit που μεταδίδεται). Η ιδιαιτερότητα της δομής ενός συστήματος μικροεπεξεργαστή έγκειται στη ραχοκοκαλιά οργάνωση των συνδέσεων μεταξύ των συστατικών μονάδων του. Πραγματοποιείται με χρήση τριών λεωφορείων. Μεταδίδουν όλες τις πληροφορίες και τα σήματα που είναι απαραίτητα για τη λειτουργία του συστήματος. Αυτοί οι δίαυλοι συνδέουν τον μικροεπεξεργαστή με εξωτερική μνήμη (RAM, ROM) και διεπαφές εισόδου-εξόδου, με αποτέλεσμα τη δυνατότητα ανταλλαγής δεδομένων μεταξύ του μικροεπεξεργαστή και άλλων μονάδων του συστήματος, καθώς και μετάδοσης σημάτων ελέγχου.

Ας εξετάσουμε τον σκοπό και τις λειτουργίες καθενός από τους τρεις διαύλους (χρησιμοποιώντας το παράδειγμα ενός μικροεπεξεργαστή 8-bit) που φαίνονται στο Σχ. 3.

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

Δίαυλος διεύθυνσης (ή δίαυλος διευθύνσεων). Μεταδίδει πληροφορίες προς μία μόνο κατεύθυνση - από τον μικροεπεξεργαστή στη μνήμη ή στις μονάδες εισόδου-εξόδου.

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

Το πλεονέκτημα της δομής του διαύλου είναι η δυνατότητα σύνδεσης νέων μονάδων στο σύστημα μικροεπεξεργαστή, για παράδειγμα, πολλών μπλοκ μνήμης RAM και ROM για την απόκτηση της απαιτούμενης χωρητικότητας μνήμης.