ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σηµειώσεις στο µάθηµα ΜΙΚΡΟΕΛΕΓΚΤΕΣ



Σχετικά έγγραφα
Έλλειψη εσωτερικής ελευθερίας

ΓΙΩΡΓΟΣ ΜΠΛΑΝΑΣ ΓΙΑ ΤΟΝ ΑΝΑΡΧΙΣΜΟ

Υποψήφιοι Σχολικοί Σύμβουλοι

Στο Δηµόσιο Σχολείο «µας»...

Τίτλος Ειδικού Θεματικού Προγράμματος: «Διοίκηση, Οργάνωση και Πληροφορική για Μικρο-μεσαίες Επιχειρήσεις»

«ΣΥΝΕΝΤΕΥΞΗ ΤΟΥ ΗΜΑΡΧΟΥ ΙΛΙΟΥ, Κ. ΝΙΚΟΥ ΖΕΝΕΤΟΥ ΣΤΗΝ ΕΦΗΜΕΡΙ Α «ΜΙΤΟΣ» ΚΑΙ ΤΗ ΗΜΟΣΙΟΓΡΑΦΟ ΑΘΗΝΑ ΠΕΡΡΑΚΗ»


ΠΡΟΣ: ΚΟΙΝ: ΘΕΜΑ: Ενηµερωτικό σηµείωµα για το πρόβληµα της παράνοµης υλοτοµίας και ειδικά αυτό της καυσοξύλευσης

Φλωρεντία, 10 Δεκεμβρίου 1513 Προς τον: ΦΡΑΓΚΙΣΚΟ ΒΕΤΤΟΡΙ, Πρέσβη της Φλωρεντίας στην Αγία Παπική Έδρα, Ρώμη. Εξοχώτατε Πρέσβη,

Αφήγηση. Βασικά στοιχεία αφηγηµατικού κειµένου:

ΕΞΩΣΧΟΛΙΚΟ ΛΟΓΟΤΕΧΝΙΚΟ ΑΝΑΓΝΩΣΜΑ. Νικόστρατος Ένα ξεχωριστό καλοκαίρι. Κωνσταντίνα Αντωνοπούλου Α2 Γυμνασίου

Η ΑΝΑΡΧΙΑ ΣΤΗΝ ΑΡΧΑΙΑ ΕΛΛΑ Α

E N O T H T A. Ο Κεραμιδοτρέχαλος

ΜΑΡΙΑ ΚΑΚΑΒΟΓΙΑΝΝΗ. Ένας χρόνος θύελλα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΔΙΔΑΣΚΑΛΕΙΟ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ «ΑΛΕΞΑΝΔΡΟΣ ΔΕΛΜΟΥΖΟΣ» «ΠΑΙΔΙΚΗ ΛΟΓΟΤΕΧΝΙΑ ΚΑΙ ΕΙΔΙΚΗ ΑΓΩΓΗ» ΔΙΔΑΣΚΩΝ: ΔΗΜΗΤΡΗΣ ΚΟΚΚΙΝΟΣ

ΠΡΟΣΛΗΨΕΙΣ ΚΑΙ ΕΙΚΟΝΕΣ ΤΗΣ ΕΛΛΑΔΑΣ

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΣΤΕΡΕΑΣ ΕΛΛΑ ΑΣ ΓΡΑΦΕΙΟ ΠΕΡΙΦΕΡΕΙΑΡΧΗ ΥΨΗΛΑΝΤΗ ΛΑΜΙΑ. Λαµία ΠΡΟΣ: Μ.Μ.Ε.

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

ΘΕΜΑ: «Παραθεριστικοί Οικοδοµικοί Συνεταιρισµοί. Μελέτη Περίπτωσης του «Βραχόκηπου» ήµου Γουβών Ηρακλείου Κρήτης»

2 Ο ΒΡΑΒΕΙΟ ΓΥΜΝΑΣΙΟΥ ΔΑΦΝΗ ΜΠΙΡΜΠΙΛΗ ΕΛΛΗΝΟΓΑΛΛΙΚΗ ΣΧΟΛΗ JEANNE D ARC Α ΤΑΞΗ ΓΥΜΝΑΣΙΟΥ ΤΙΤΛΟΣ : NADIFUS ILIBRIBUS

Σηµειώσεις στο ταξινοµούµε

ΚΕΦΑΛΑΙΟ 3 ο ΤΟ ΜΕΛΛΟΝ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ. 3.1 Εισαγωγή

ΗΜΟΤΙΚΟ ΣΥΜΒΟΥΛΙΟ ΚΑΛΑΜΑΤΑΣ. ΠΕΡΙΛΗΨΗ ΣΥΝΕ ΡΙΑΣΗΣ 20 ης /2009

Π A Γ KOΣ MIA HMEPA Π OIHΣ H Σ. Ο YΣΣEAΣ EΛYTHΣ ( ) Nοµπελ Λογοτεχνιασ 1979

ΣΥΖΗΤΗΣΗ ΣΤΡΟΓΓΥΛΗΣ ΤΡΑΠΕΖΗΣ ΓΙΑ ΤΙΣ ΝΕΕΣ ΕΙ ΙΚΟΤΗΤΕΣ

Βουλευτικές Εκλογές 2011

ΠΑΡΟΝΤΕΣ ΗΜΟΤΙΚΟΙ ΣΥΜΒΟΥΛΟΙ

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΑΡΚΑ ΙΑΣ ΗΜΟΣ ΒΟΡΕΙΑΣ ΚΥΝΟΥΡΙΑΣ Άστρος 22 Μαΐου 2015

Κατερίνα Παναγοπούλου: Δημιουργώντας κοινωνικό κεφάλαιο την εποχή της κρίσης

Ξαναδίνουμε ζωή στο δικό μας ΗΡΑΚΛΕΙΟ Δ.Α.Σ.Η. ΓΙΩΡΓΟΣ ΜΑΣΤΟΡΑΚΟΣ. Δημοτική Ανεξάρτητη Συνεργασία Ηρακλείου

Όταν το μάθημα της πληροφορικής γίνεται ανθρωποκεντρικό μπορεί να αφορά και την εφηβεία.

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

Σοφία Γιουρούκου, Ψυχολόγος Συνθετική Ψυχοθεραπεύτρια

ΚΕΦΑΛΑΙΟ 9 ΑΞΙΟΛΟΓΗΣΗ ΕΦΑΡΜΟΓΗΣ «ΕΝΑ ΟΝΕΙΡΙΚΟ ΤΑΞΙΔΙ ΣΤΗΝ ΚΝΩΣΟ» - ΠΕΡΙΓΡΑΦΗ ΔΙΑΔΙΚΑΣΙΑΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ

Συνέντευξη με τον Μιχάλη Δημοσθένους Αθανασίας Πογιατζή

Ομιλία του Υφυπουργού Ανάπτυξης κου Θανάση Σκορδά στο CapitalVision 2012

ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ. Γραπτή έκφραση παραγωγή λόγου Α δημοτικού

8 Μάρτη. Η βία κατά των γυναικών

Συνήγορος του Καταναλωτή Νομολογία ΕφΑθ 5253/2003

Η συμβολή του Πλάτωνα στα Μαθηματικά

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

289 ον Σύστημα Αεροπροσκόπων Αγίας Φύλας ΟΜΑΔΑ ΠΡΟΣΚΟΠΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΑΛΚΙΝΟΥ ΤΡΙΦΥΛΛΟΥ

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

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

Ο κόσμος των επιχειρήσεων, τησ οικονομιασ και των αγορών: επιχειρηματικές δραστηριότητες, επιχειρηματικοί κίνδυνοι και επιχειρηματικές πρακτικές

ΕΝΗΜΕΡΩΣΗ ΓΙΑ ΤΗΝ ΨΩΡΙΑΣΗ ΣΤΟΥΣ ΗΜΟΥΣ ΝΑΥΠΛΙΕΩΝ ΚΑΙ ΠΕΙΡΑΙΑ 0.2%-4.8% του γενικού πληθυσµού προσβάλλεται από τη νόσο της Ψωρίασης

Παραμονή Παγκόσμιας Ημέρας Αντικαταναλωτισμού*, 28 Νοεμβρίου 2008

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ για το εκπαιδευτικό σενάριο: ΕΚΛΕΙΨΕΙΣ

Ε&A: Μεταρρύθµιση όσον αφορά το προσωπικό

Η αξιολόγηση των εκπαιδευτικών το Π.Δ 152/2013, του Γιώργου Καλημερίδη

ΠΡΑΚΤΙΚΑ ΣΥΝΕΔΡΙΑΣΗΣ ΤΟΥ ΣΥΜΒΟΥΛΙΟΥ. Διά Βίου Μάθησης

Περίληψη Εκδήλωσης. I. Ποια είναι η σχέση της έννοιας της λογοδοσίας µε την Ανοιχτή Κοινωνία;

Συµπεράσµατα από την ανάλυση συχνοτήτων στη Γεωµετρία Α Λυκείου. Για το 1 ο θέµα που αφορά τη θεωρία:

Φάλουν Ντάφα ιαλέξεις πάνω στον Νόµο του Φο ιαλέξεις στις Ηνωµένες Πολιτείες

ΣΥΖΗΤΗΣΗ ΝΟΜΟΣΧΕΔΙΟΥ ΥΠ.ΓΕΩΡΓΙΑΣ

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

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

στο σχέδιο νόµου «Διαχείριση των µη εξυπηρετούµενων δανείων, µισθολογικές ρυθµίσεις και άλλες επείγουσες στόχων και διαρθρωτικών µεταρρυθµίσεων»

ΠΡΟΒΛΗΜΑΤΑ ΤΗΣ ΔΗΜΟΣΙΑΣ ΖΩΗΣ, ΜΙΑ ΨΥΧΑΝΑΛΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

Χριστουγεννιάτικες Ιστορίες. 8 ιστορίες γραμμένες απο του μαθητές όλων των τάξεων του 15 ου δημοτικού σχολείου ηρακλείου

Διδάγματα από την Επανάσταση του Αξίες για μια Δημιουργική Κύπρο

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης

ΦΥΣΙΚΟΣ ΑΕΡΙΣΜΟΣ - ΡΟΣΙΣΜΟΣ

τευχοσ 2 ΕΚΕΜΒΡΗΣ 2010 ! ΙΑΝΕΜΕΤΑΙ ΩΡΕΑΝ µυστικά κουτιά της Σύγχρονης Εποχής

ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΑΣ «ΚΑΤΟΙΚΙΔΙΑ ΖΩΑ»

Κώστας Λεµονίδης Σταθµός 2ος

Ατομικό ιστορικό νηπίου

Τίτλος του διηγήµατος: Το γουρούνι µε τα ξύλινα ποδάρια

4 ο ΛΥΚΕΙΟ ΛΑΜΙΑΣ ΟΙΚΟΝΟΜΙΚΕΣ ΚΑΙ ΚΟΙΝΩΝΙΚΕΣ ΣΥΝΕΠΕΙΕΣ ΤΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΚΡΙΣΗΣ ΕΚΘΕΣΗ ΕΡΕΥΝΗΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΘΕΜΑ. Ε ιµέλεια Εργασίας :Τµήµα Α4

ΕΛΕΥΘΕΡΟΤΥΠΙΑ - 15/10/2005. Η Αλκη Ζέη για την ιδώ Σωτηρίου: Η θεία µου η ιδώ αγαπηµένη των Τούρκων

ΓΙΑ ΝΑ ΠΝΙΞΕΙΣ ΤΟ ΦΙΔΙ ΔΕΝ ΑΡΚΕΙ ΝΑ ΤΣΑΚΙΣΕΙΣ ΤΑ (ΧΡΥΣΑ) ΑΥΓΑ ΤΟΥ

Ενότητα. Μεθοδολογικά ζητήµατα διδασκαλίας της ξένης λογοτεχνίας από µετάφραση Κείµενα για το Ανθολόγιο Νεότερης Ευρωπαϊκής Λογοτεχνίας

I.Επί της Αρχής του σχεδίου Νόµου: ΙΙ. Επί των άρθρων του σχεδίου Νόµου: ΕΙΣΗΓΗΤΙΚΗ ΕΚΘΕΣΗ

Από το ξεκίνημά του ο ΤΙΤΑΝ εκφράζει

Γραφείο Τύπου Αθήνα, 10 Μαρτίου 2015

ΜΗΝΙΑΙΟ ΕΛΤΙΟ ΙΟΥΝΙΟΥ 2007

ΑΚΡΟΒΑΤΗΣ-ΧΑΪΝΗΔΕΣ Οι Χαΐνηδες Ο Δημήτρης Αποστολάκης

& ../../ , :.. : FAX :... & :...

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

Οι Πνευματικές Δυνάμεις στο Σύμπαν

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

Θεµατικές ενότητες: παρεµβάσεις και ενδεικτικές υποθέσεις. 1. Οικονοµική πολιτική. Παρεµβάσεις οικονοµικού χαρακτήρα

Β ΚΥΚΛΟΣ Τ.Ε.Ε. ΝΕΑ ΕΛΛΗΝΙΚΑ. ΚΕΙΜΕΝΟ Μάριος Πλωρίτης Νέοι, ναρκωτικά, βία

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

ΟΜΙΛΙΑ ΠΡΩΘΥΠΟΥΡΓΟΥ ΚΑΙ ΠΡΟΕ ΡΟΥ ΤΟΥ ΠΑΣΟΚ ΓΙΩΡΓΟΥ ΠΑΠΑΝ ΡΕΟΥ. ΣΤΗΝ 11η ΣΥΝΟ Ο ΤΟΥ ΕΘΝΙΚΟΥ ΣΥΜΒΟΥΛΙΟΥ ΤΟΥ ΚΙΝΗΜΑΤΟΣ

ΘΥΜΙΟΥ ΑΓΓΕΛΙΔΗ-ΕΥΑΓΓΕΛΙΔΗ ΕΛΠΙΝΙΚΗ

Συλλόγου ιπλωµατούχων Νοσηλευτριών και Νοσηλευτών Χειρουργείου

Kεντρικός συντονισμός πολιτικών, μόνιμοι υφυπουργοί, μείωση ειδικών συμβούλων, κατάργηση αναπληρωτών.

ΟΝΟΜΑ ΣΧΟΛΕΙΟΥ: ΙΑ ημοτικό Σχολείο Πάφου (Αγίου Σπυρίδωνα)

Πώς µαθαίνω στη µειονοτική εκπαίδευση: προβλήµατα διγλωσσίας και διδακτικές εφαρµογές.

Το πόνημα μου αυτό γράφτηκε σε στιγμές αγανάκτησης γι αυτά που συμβαίνουν στον τόπο μας.

ΠΕΡΙΜΕΝΕΤΕ ΜΕ ΛΑΧΤΑΡΑ ΤΑ ΧΡΙΣΤΟΥΓΕΝΝΑ; ΠΡΟΣΟΧΗ! ΠΑΡΑΜΟΝΕΥΟΥΝ ΚΙΝΔΥΝΟΙ!

ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ. Άρθρο 4 Κοινοί διαδικαστικοί κανόνες

1 Επιμέλεια: Κατερίνα Κούρτη, Υιλόλογος

ΚΑΚΩΣΗ ΣΠΟΝ ΥΛΙΚΗΣ ΣΤΗΛΗΣ

Ερωτήσεις πολλαπλής επιλογής

ΠΟΛΗ ΚΑΙ ΧΩΡΟΣ ΑΠΟ ΤΟΝ 20 Ο ΣΤΟΝ 21 Ο ΑΙΩΝΑ

III. Ο γέρος που άκουγε τα ωραιότερα τραγούδια.

Transcript:

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Σηµειώσεις στο µάθηµα ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΝΙΚΟΛΑΪ ΗΣ ΝΙΚ. ΘΕΣΣΑΛΟΝΙΚΗ ΜΑΡΤΙΟΣ 2011

Σημειώσεις ΜΕ 1011Ε.doc Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 2

Περιεχόμενα 1. Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ T89C51RD2... 1 1.1. ΑΚΡΟ ΕΚΤΕΣ... 5 1.2. ΕΠΙ ΠΛΕΟΝ ΥΝΑΤΟΤΗΤΕΣ... 6 1.2.1. Ταχύτητα Χ2... 6 1.2.2. ιπλός DPTR... 7 1.2.3. Ενσωµατωµένη XRAM... 8 1.2.4. 4 επίπεδα προτεραιότητας διακοπών... 8 2. ΣΥΣΤΗΜΑΤΑ ΑΝΑΠΤΥΞΗΣ... 9 2.1. ΜΕΘΟ ΟΙ ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΩΝ... 9 2.1.1. Σύστηµα ανάπτυξης.... 9 2.1.2. Εξοµοιωτής ROM.... 9 2.1.3. Εξοµοιωτής εντός κυκλώµατος (ICE)... 10 2.1.4. Πλακέτες αξιολόγησης (EVB)... 11 2.1.5. ISP... 11 2.1.6. Προγράµµατα εκσφαλµάτωσης... 12 2.1.7. Λογικός αναλυτής... 12 3. ΘΥΡΕΣ Ι/Ο... 13 3.1. ΟΜΗ ΤΩΝ ΘΥΡΩΝ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ... 13 3.2. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΩΝ ΘΥΡΩΝ... 14 3.2.1. Χαρακτηριστικά των γραµµών εξόδου... 15 3.2.2. Χαρακτηριστικά των γραµµών εισόδου... 15 3.3. ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΙΣ ΓΡΑΜΜΕΣ I/O... 16 3.4. ΧΡΗΣΗ ΤΩΝ ΘΥΡΩΝ... 20 3.4.1. Χρήση των γραµµών εξόδου... 20 3.4.2. Οδήγηση των γραµµών εισόδου... 21 3.4.3. ιάβασµα των εισόδων... 22 4. ΣΥΝ ΕΣΗ ΕΞΩΤΕΡΙΚΗΣ ΜΝΗΜΗΣ... 23 4.1. ΓΕΝΙΚΑ... 23 4.2. ΣΥΝ ΕΣΗ ΕΞΩΤΕΡΙΚΗΣ ΜΝΗΜΗΣ ΚΩ ΙΚΑ... 24 4.3. ΣΥΝ ΕΣΗ ΕΞΩΤΕΡ. ΜΝΗΜΗΣ Ε ΟΜΕΝΩΝ... 26 4.3.1. Ανάγνωση RAM... 27 4.3.2. Εγγραφή στη RAM... 29 4.4. ΕΙΣΟ ΟΣ ΕΞΟ ΟΣ ΧΑΡΤΟΓΡΑΦΗΜΕΝΗ ΣΤΗ ΜΝΗΜΗ... 31 5. ΧΡΟΝΙΣΤΕΣ... 37 5.1. ΧΡΟΝΙΣΤΕΣ Τ0 ΚΑΙ Τ1... 37 5.1.1. Λειτουργία (mode) 0... 37 5.1.2. Λειτουργία 1... 39 5.1.3. Λειτουργία 2... 39 5.1.4. Λειτουργία 3... 40 5.2. ΧΡΟΝΙΣΤΗΣ Τ2... 41 5.2.1. Αυτόµατη επαναφόρτωση 16 bits (αναστρέψιµος µετρητής)... 41 5.2.2. Λειτουργία σύλληψης... 43 5.2.3. Γεννήτρια baud rate... 44 5.2.4. Προγραµµατιζόµενη γεννήτρια ρολογιού... 44 6. ΙΑΚΟΠΕΣ... 45 6.1. Ο ΜΗΧΑΝΙΣΜΟΣ ΤΩΝ ΙΑΚΟΠΩΝ... 45 Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 3

6.1.1. Αίτηση διακοπής (interrupt request)... 45 6.1.2. Ενεργοποίηση διακοπής... 47 6.1.3. Προτεραιότητα των διακοπών... 47 6.1.4. Ρουτίνες εξυπηρέτησης διακοπών... 48 6.2. ΕΞΩΤΕΡΙΚΕΣ ΙΑΚΟΠΕΣ... 49 6.3. ΧΡΟΝΙΣΜΟΣ ΙΑΚΟΠΩΝ... 49 7. ΑΠΑΡΙΘΜΗΤΕΣ ΧΡΟΝΟΜΕΤΡΕΣ... 51 7.1. ΧΡΟΝΟΜΕΤΡΗΣΗ ΓΕΓΟΝΟΤΟΣ... 51 7.2. ΜΕΤΡΗΣΗ ΙΑΡΚΕΙΑΣ ΠΑΛΜΟΣΕΙΡΑΣ... 53 7.3. ΜΕΤΡΗΣΗ ΠΕΡΙΟ ΟΥ ΚΥΜΑΤΟΜΟΡΦΗΣ... 54 7.4. ΜΕΤΡΗΣΗ ΠΕΡΙΟ ΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΧΡΟΝΙΣΤΗ Τ2... 54 8. ΑΣΥΓΧΡΟΝΗ ΣΕΙΡΙΑΚΗ ΕΠΙΚΟΙΝΩΝΙΑ... 57 8.1. ΑΣΥΓΧΡΟΝΗ ΜΕΤΑ ΟΣΗ... 57 8.2. ΕΝΣΩΜΑΤΩΜΕΝΗ ΣΕΙΡΙΑΚΗ ΙΑΣΥΝ ΕΣΗ... 57 8.2.1. Ανίχνευση Λάθους Πλαισίου (framing error)... 58 8.2.2. Χρήση του Χρονιστή Τ1 για Παραγωγή Baud Rate... 58 8.2.3. Χρήση του Χρονιστή Τ2 για την Παραγωγή Baud Rate... 59 8.3. ΧΡΗΣΗ ΤΗΣ ΕΝΣΩΜΑΤΩΜΕΝΗΣ ΣΕΙΡΙΑΚΗΣ ΘΥΡΑΣ... 61 8.4. ΣΕΙΡΙΑΚΗ ΙΑΣΥΝ ΕΣΗ ΜΕ ΠΡΟΓΡΑΜΜΑ... 63 9. Η ΜΟΝΑ Α PCA... 65 9.1. Ο ΧΡΟΝΙΣΤΗΣ / ΜΕΤΡΗΤΗΣ ΤΟΥ PCA... 65 9.2. ΜΟΝΑ ΕΣ ΣΥΛΛΗΨΗΣ / ΣΥΓΚΡΙΣΗΣ... 66 9.3. ΤΡΟΠΟΙ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ PCA... 67 9.3.1. ΛΕΙΤΟΥΡΓΙΑ ΣΥΛΛΗΨΗΣ... 67 9.3.2. ΛΕΙΤΟΥΡΓΙΑ SOFTWARE ΧΡΟΝΙΣΤΗ... 68 9.3.3. ΛΕΙΤΟΥΡΓΙΑ ΕΞΟ ΟΥ ΥΨΗΛΗΣ ΤΑΧΥΤΗΤΑΣ... 69 9.3.4. ΛΕΙΤΟΥΡΓΙΑ ΧΡΟΝΙΣΤΗ ΕΠΙΤΗΡΗΣΗΣ... 69 9.3.5. ΛΕΙΤΟΥΡΓΙΑ ΙΑΜΟΡΦΩΣΗΣ ΕΥΡΟΥΣ ΠΑΛΜΩΝ... 70 9.4. ΙΑΚΟΠΕΣ ΤΟΥ PCA... 71 9.5. ΜΕΤΡΗΣΕΙΣ ΜΕ ΤΟΝ PCA... 71 9.5.1. Software χρονιστής... 72 9.5.2. Μέτρηση εύρους παλµών... 72 9.5.3. Μέτρηση περιόδου... 72 9.5.4. Μέτρηση συχνότητας... 73 9.5.5. Μέτρηση κύκλου εργασίας (duty cycle)... 73 9.5.6. Μέτρηση διαφοράς φάσης... 74 10. Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ 89C51AC2... 75 10.1. Ο ΜΕΤΑΤΡΟΠΕΑΣ A/D ΤΟΥ 89C51AC2... 76 10.1.1. Οι καταχωρητές ελέγχου του ADC... 77 10.1.2. Λειτουργία του ADC... 78 Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 4

1. Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ T89C51RD2 Στο πρώτο µέρος του βιβλίου έχουµε µάθει το ρεπερτόριο εντολών της CPU της οικογένειας µικροελεγκτών 8051 και µερικές από τις συνήθεις τεχνικές προγραµµατισµού. Στο δεύτερο µέρος θα µάθουµε τα ενσωµατωµένα στον 8051 περιφερειακά και θα δούµε µερικές αντιπροσωπευτικές εφαρµογές. Τα προγράµµατα των εφαρµογών αυτών απαιτούν εµπειρία στον προγραµµατισµό και, τουλάχιστο για την κατανόησή τους, υποθέτουµε ότι έχετε διαβάσει το πρώτο µέρος του βιβλίου. Τα πειράµατα και οι εφαρµογές του δεύτερου µέρους αποτελούν λογική συνέχεια και είναι καλό να µελετηθούν µε τη σειρά µε την οποία παρατίθενται και όχι αποσπασµατικά. Ο T89C51RD2 είναι ένας µικροελεγκτής µε πυρήνα τον 8051 που περιέχει 64 KBytes flash EPROM για πρόγραµµα και δεδοµένα προγράµµατος. Η flash EPROM µπορεί να προγραµµατιστεί µε τους εξής τρόπους: 1. Με προγραµµατιστή EPROM (parallel programmer). 2. Μέσω σειριακής διασύνδεσης και ειδικού προγράµµατος (Flip) που διαθέτει δωρεάν η εταιρεία. Η δυνατότητα αυτή λέγεται ISP, δηλαδή InSystem Programmable, και σηµαίνει ότι για να προγραµµατιστεί ο µικροελεγκτής δε χρειάζεται να βγει από την πλακέτα του (από το σύστηµα). 3. Από το ίδιο το πρόγραµµα του χρήστη. Η δυνατότητα αυτή λέγεται IAP δηλαδή InApplication Programming. Η τάση για τον προγραµµατισµό του εξαρτήµατος είναι 5 V. Η απαραίτητη τάση των 12 V για τον προγραµµατισµό της flash παράγεται µέσα στο ολοκληρωµένο. Εκτός από τα στάνταρτ περιφερειακά που συναντάµε ενσωµατωµένα στους περισσότερους µικροελεγκτές µε πυρήνα τον 8051, ο T89C51RD2 περιλαµβάνει ακόµη: 1. Μονάδα PCA. 2. XRAM 1 KBytes. 3. EEPROM 2 KBytes. 4. Hardware watchdog timer. 5. υνατότητα λειτουργίας µε διπλή ταχύτητα (Χ2 mode, µε 6 παλµούς ρολογιού ανά κύκλο µηχανής). 6. ιπλό δείκτη δεδοµένων DPTR. 7. υνατότητα απενεργοποίησης της εξόδου ALE για µειωµένη εκποµπή ηλεκτροµαγνητικής ακτινοβολίας. Το ρολόι είναι πλήρως στατικό, µπορεί, δηλαδή, να κατέβει σε οσοδήποτε χαµηλή συχνότητα, ακόµη και να σταµατήσει εντελώς (DC). Πράγµατι, αν βγάλετε τον κρύσταλλο, ο µικροελεγκτής σταµατά να δουλεύει και, αν τον ξαναβάλετε, συνεχίζει από το σηµείο που σταµάτησε. ιατίθενται δύο τρόποι λειτουργίας µειωµένης κατανάλωσης που επιλέγονται από το πρόγραµµα. Σε κατάσταση αδράνειας (idle mode) η CPU σταµατά, αλλά τα περιφερειακά και ο µηχανισµός διακοπών εξακολουθούν και λειτουργούν. Σε κατάσταση εξοικονόµησης ενέργειας (power down mode) τα πάντα σταµατούν να λειτουργούν και µόνον η RAM διατηρεί τα περιεχόµενά της. Η ονοµατολογία των εξαρτηµάτων της οικογένειας του 8051 ανάλογα µε το είδος της µνήµης ROM, που διαθέτουν, φαίνεται στον επόµενο πίνακα. Εξάρτηµα Περιγραφή µνήµης ROM 8031 Χωρίς µνήµη ROM. ουλεύει µόνο µε εξωτερική ROM. 8051 Με ενσωµατωµένη µνήµη ROM OTP (One Time Programmable) ή µνήµη ROM προγραµµατιζόµενη µε µάσκα από το εργοστάσιο. 8751 Με EPROM µε παράθυρο για διαγραφή της µε υπεριώδη ακτινοβολία 8951 Με µνήµη flash EPROM. Σβήνεται σχεδόν ακαριαία µε πρόγραµµα. Πίνακας 11. Ονοµατολογία εξαρτηµάτων ανάλογα µε το είδος της ROM Ο όρος 8051 είναι γενικός και επικράτησε να αναφέρεται σε όλα τα µέλη της οικογένειας. 1.1. ΑΚΡΟ ΕΚΤΕΣ Η διάταξη των ακροδεκτών του ολοκληρωµένου φαίνεται στο Σχήµα 11. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 5

P1 P0 χωρίς pullup P3 P2 Σχήµα 11. ιάταξη ακροδεκτών (pindiagram) του T89C51RD2 Περιγραφή των ακροδεκτών: Px.x Ακροδέκτης θύρας εισόδου / εξόδου. Οι ακροδέκτες έχουν και εναλλακτικές λειτουργίες. RST Είσοδος reset ενεργά υψηλή (αντίθετα από τις άλλες οικογένειες µικροελεγκτών όπου το reset είναι ενεργά χαµηλό). XTAL1,XTAL2 Ακροδέκτες σύνδεσης του κρυστάλλου για την παραγωγή του ρολογιού από τον ενσωµατωµένο ταλαντωτή. Vss Ακροδέκτης γείωσης του ολοκληρωµένου. PSEN Έξοδος που γίνεται 0, όταν η CPU ανακαλεί εντολή από εξωτερική µνήµη (program store enable). ALE/PROG ιπλή χρήση. Ως ALE (address latch enable) γίνεται 1, για να δηλώσει ότι στους ακροδέκτες 32 µέχρι 39 υπάρχει διαθέσιµο το low byte της διεύθυνσης Α7 Α0. Ως PROG χρησιµοποιείται από τους προγραµµατιστές EPROM ως strobe εγγραφής. EA Είσοδος που, όταν είναι 0, αναγκάζει τη CPU να ανακαλεί κώδικα από την εξωτερική ROM, ακόµη και αν στις διευθύνσεις του κώδικα υπάρχει ενσωµατωµένη ROM (not external access). Vcc Η τάση τροφοδοσίας 3 V µέχρι 5,5 V (συνήθως 5 V). T2 Εξωτερική είσοδος απαρίθµησης για το χρονιστή / µετρητή Τ2. Τ2ΕΧ Είσοδος επαναφόρτωσης (reload), σύλληψης (capture) ή ελέγχου κατεύθυνσης απαρίθµησης (up / down) για το χρονιστή / µετρητή Τ2. ECI Εξωτερική είσοδος ρολογιού για τον PCA (external clock input). CEXi (i=0..4) Εξωτερική είσοδος / έξοδος σύλληψης / σύγκρισης για τη µονάδα i του PCA (pca external). RXD, TXD Οι ακροδέκτες λήψης και εκποµπής της ασύγχρονης σειριακής επικοινωνίας. INT 0, INT 1 Είσοδοι εξωτερικής διακοπής. Τ0, Τ1 Εξωτερικές είσοδοι για τους χρονιστές Τ0 και Τ1. WR, RD Παλµοί strobe εγγραφής σε / ανάγνωσης από εξωτερική µνήµη RAM (δεδοµένων). 1.2. ΕΠΙ ΠΛΕΟΝ ΥΝΑΤΟΤΗΤΕΣ Στη συνέχεια παρατίθενται οι δυνατότητες του T89C51RD2 που τον κάνουν να ξεχωρίζει από τα υπόλοιπα µέλη της οικογένειας. 1.2.1. Ταχύτητα Χ2 Στον T89C51RD2 κάθε κατάσταση µπορεί να ορίζεται από έναν, και όχι δύο, παλµούς ρολογιού. Έτσι, ο κύκλος µηχανής των 6 καταστάσεων ολοκληρώνεται σε 6 παλµούς ρολογιού. Με τον τρόπο αυτόν για την ίδια συχνότητα κρυστάλλου µπορούµε να έχουµε διπλή ταχύτητα εκτέλεσης των εντολών. Η συχνότητα ρολογιού µπορεί να φτάσει µέχρι 40 MHz σε απλή και 20 MHz σε διπλή ταχύτητα. Επειδή είναι δύσκολο να κατασκευάσουµε κύκλωµα σε ράστερ που να δουλεύει αξιόπιστα σε µεγάλες συχνότητες, είναι προτιµότερο να βάλουµε κρύσταλλο χαµηλής συχνότητας και να διπλασιάσουµε την ταχύτητα της CPU. Είναι, τότε, σαν να έχουµε έναν κανονικό 8051 που τρέχει στα 40 MHz! Στις εφαρµογές που υλοποιούµε στο βιβλίο αυτό σε ράστερ, χρησιµοποιούµε ακόµη χαµηλότερη συχνότητα ρολογιού (συνήθως 12 MHz) για δύο λόγους. Πρώτον, επειδή οι υπολογισµοί στους χρόνους της CPU γίνονται πολύ εύκολα, και δεύτερον, επειδή σε µεγαλύτερες συχνότητες παρουσιάζονται προβλήµατα στις επαφές µερικών ράστερ. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 6

Η ταχύτητα της CPU, απλή ή διπλή, επιλέγεται από το bit Χ2 στον καταχωρητή CKCON (Clock Control, sfr 8Fh, τιµή reset 00000000b). XTAL1 διά 2 0 1 CPU µε 6 παλµούς ρολογιού ανά κατάσταση 7 6 5 4 3 2 1 0 WdX2 PcaX2 SiX2 T2X2 T1X2 T0X2 X2 CKCON (SFR 8Fh) Σχήµα 12. Το κύκλωµα επιλογής διπλής συχνότητας ρολογιού Στο reset όλα τα bits του CKCON είναι µηδενισµένα. Επειδή Χ2=0, ενεργοποιείται ο διαιρέτης δια 2 της συχνότητας του κρυστάλλου. Έτσι, ο T89C51RD2 εργάζεται όπως ένας κανονικός 8051. Εάν γίνει ενεργό 1 το bit Χ2, ο επεξεργαστής αρχίζει και δουλεύει σε διπλή ταχύτητα. Αυτόµατα, όλα τα περιφερειακά του αρχίζουν να δουλεύουν και αυτά σε διπλή ταχύτητα επειδή τα bits επιλογής είναι ενεργά 0. Εδώ δηµιουργείται µία σύγχυση από την ονοµατολογία των bits. Ενώ το bit Χ2 είναι ενεργό σε υψηλή στάθµη, όλα τα υπόλοιπα bits είναι ενεργά σε χαµηλή. Έτσι, θα έπρεπε στην ονοµασία τους να υπάρχει η µπάρα της άρνησης. Σηµειώστε ότι ο καταχωρητής CKCON δεν είναι προσπελάσιµος κατά bit. Το bit SiX2 ρυθµίζει απλή ή διπλή ταχύτητα της σειριακής µόνο σε λειτουργίες (mode) 0 και 2. Για αλλαγή της ταχύτητας της σειριακής επιλέξτε απλή ή διπλή ταχύτητα στο χρονιστή που ελέγχει την ταχύτητα (baud rate) της σειριακής. 1.2.2. ιπλός DPTR Για να είναι συµβατός ο T89C51RD2 µε τα υπόλοιπα µέλη της οικογένειας 8051, δεν έπρεπε να έχει διαφορετική συµβολική γλώσσα. Έτσι, δεν υπάρχουν δύο διαφορετικές ονοµασίες για τους δύο DPTR (DPTR0 και DPTR1). Αντί αυτού, επιλέγεται ο ενεργός DPTR µε ένα ειδικό bit. Το bit αυτό είναι το DPS (data pointer select) στον sfr AUXR1 της διεύθυνσης Α2h. 7 2 1 0... 0 AUXR1 (A2h) DPS DPH(83h) DPL(82h) DPH(83h) DPL(82h) DPTR0 DPTR1 External Data Memory Σχήµα 13. ιάταξη διπλού DPTR Η διεύθυνση Α2h του καταχωρητή AUXR1 δείχνει ότι ο sfr αυτός δεν είναι προσπελάσιµος κατά bit (δεν τελειώνει σε 0 ή 8). Για να είναι εύκολη η αλλαγή του ενεργού DPTR, έχει τοποθετηθεί δίπλα στο bit επιλογής DPS ένα bit «καταβόθρα» που αγνοεί ό,τι περιεχόµενο και να του βάλουµε. Έτσι, µε µία απλή εντολή INC AUXR1 αλλάζουµε την κατάσταση του DPS και τον ενεργό DPTR. Προσοχή όµως: η εντολή INC AUXR1 δεν προσδιορίζει έναν DPTR, αλλά αλλάζει τον ενεργό. Για να ξέρετε ποιον καταχωρητή χρησιµοποιείτε, να δίνετε την εντολή αυτή πάντοτε κατά ζεύγη. ;Πρόγραµµα αντιγραφής µπλοκ εξωτερικής µνήµης µε 2 DPTR ; MOV DPTR,#SOURCE ; ιεύθυνση προέλευσης INC AUXR1 ;Άλλαξε DPTR MOV DPTR,#DEST ; ιεύθυνση προορισµού LOOP: INC AUXR1 ;Άλλαξε DPTR MOVX A,@DPTR ; ιάβασε ένα byte INC DPTR ;Αύξησε τη διεύθυνση προέλευσης INC AUXR1 ;Άλλαξε DPTR MOVX @DPTR,A ;Γράψε το byte στον προορισµό Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 7

INC DPTR ;Αύξησε τη διεύθυνση προορισµού JNZ LOOP ;Τελείωσε, αν συνάντησες 0 INC AUXR1 ;Ξαναβάλε ενεργό τον αρχικό DPTR 1.2.3. Ενσωµατωµένη XRAM Ο T89C51RD2 περιέχει 1 KByte XRAM σε διευθύνσεις από 0000h µέχρι 00FFh ή 01FFh ή 02FFh ή 03FFh ανάλογα µε την τιµή των bits επιλογής µεγέθους µνήµης XRS1 και XRS0 του sfr AUXR (διεύθυνση 8Eh). Εάν η εξωτερική διεύθυνση είναι µεγαλύτερη από 0xFFh (x=0 3), τότε επιλέγεται αυτόµατα η εξωτερική XRAM. Εάν η διεύθυνση ανήκει στην περιοχή διευθύνσεων από 0000h µέχρι 03FFh, τότε η επιλογή της µνήµης γίνεται µε το bit EXTRAM του sfr AUXR. Όταν EXTRAM = 0, επιλέγεται η ενσωµατωµένη XRAM και οι προσπελάσεις της (κατά τα γνωστά, µέσω DPTR, R0 ή R1) δεν επηρεάζουν την κατάσταση των θυρών Ρ0, Ρ2, Ρ3.6 και Ρ3.7. Εάν γίνει προσπέλαση σε διεύθυνση µεγαλύτερη από το µέγεθος της XRAM, τότε γίνεται προσπέλαση της εξωτερικής XRAM. Όταν EXTRAM = 1, επιλέγεται η εξωτερική XRAM για όλες τις διευθύνσεις. Χρησιµοποιείται τότε η Ρ0 σαν διάδροµος δεδοµένων / low byte διεύθυνσης, η Ρ2 σαν high byte της διεύθυνσης και οι γραµµές Ρ3.6 και Ρ3.7 σαν σήµατα εγγραφής και ανάγνωσης ( WRκαι RD ) αντίστοιχα. Ο περιορισµός του µεγέθους της ενσωµατωµένης XRAM µε τα bits XRS1 και XRS0 είναι χρήσιµος σε περιπτώσεις όπου θέλετε να προσπελάσετε εξωτερικές συσκευές χαρτογραφηµένες στην εξωτερική µνήµη στις διευθύνσεις της ενσωµατωµενης XRAM. Ο Πίνακας 12 δείχνει τα bits του καταχωρητή AUXR που ελέγχουν την ενσωµατωµένη XRAM. 7 6 5 4 3 2 1 0 AUXR (sfr 8Eh) M0 XRS1 XRS0 EXTRAM AO Τιµή reset X X 0 X 1 0 0 0 Bit EXTRAM XRS1 XRS0 M0 Τιµή Λειτουργία ΕΠΙΛΟΓΗ ΕΝΣΩΜΑΤΩΜΕΝΗΣ Ή ΕΞΩΤΕΡΙΚΗΣ XRAM 0 Εσωτερική XRAM 1 Εξωτερική XRAM ΕΠΙΛΟΓΗ ΜΕΓΕΘΟΥΣ ΤΗΣ ΕΝΣΩΜΑΤΩΜΕΝΗΣ XRAM 0 0 256 bytes 0 1 512 bytes 1 0 768 bytes (τιµή reset!) 1 1 1024 bytes ΕΠΙΛΟΓΗ ΙΑΡΚΕΙΑΣ ΠΑΛΜΩΝ RDΚΑΙ WR 0 6 παλµοί ρολογιού 1 30 παλµοί ρολογιού Πίνακας 12. Τα bits του καταχωρητή AUXR που ελέγχουν την XRAM 1.2.4. 4 επίπεδα προτεραιότητας διακοπών Ο T89C51RD2 διαθέτει 4 επίπεδα προτεραιότητας διακοπών αντί για 2 του στάνταρ 8051. Για το σκοπό αυτό διαθέτει εκτός από τον sfr IP (διεύθυνση 0B8h) και τον IPH (Interrupt Priority High, sfr 0B7h). Το ζεύγος IPH.x IP.x ορίζει µε 00 τη χαµηλότερη και µε 11 την υψηλότερη στάθµη προτεραιότητας. Μία ρουτίνα διακοπής µπορεί να εγκαταλειφθεί, µόνο για να εξυπηρετηθεί µία διακοπή υψηλότερης προτεραιότητας. Επίσης, όταν αιτούνται ταυτόχρονα δύο διακοπές, εξυπηρετείται πρώτη η διακοπή µε την υψηλότερη προτεραιότητα. Όταν αιτούνται ταυτόχρονα δύο διακοπές ίσης προτεραιότητας, τότε αναλαµβάνει ένας εσωτερικός µηχανισµός προτεραιότητας. Περισσότερα για τις διακοπές, αργότερα. Ο ενσωµατωµένος PCA θα µελετηθεί σε ιδιαίτερο κεφάλαιο. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 8

2. ΣΥΣΤΗΜΑΤΑ ΑΝΑΠΤΥΞΗΣ Οι εταιρείες Philips, Intel, Dallas και Atmel είναι οι κυριότεροι κατασκευαστές του µικροελεγκτή 8051 και των παραγώγων του. Το πιο απλό µοντέλο της σειράς είναι ο 8031 που δεν έχει εσωτερική ROM, έχει 128 bytes RAM και µόνο δύο χρονιστές, τον Τ0 και τον Τ1. Σύνθετα µοντέλα έχουν ενσωµατωµένα πρωτόκολλα βιοµηχανικών δικτύων, µετατροπείς A/D και D/A, κλπ. Ανάλογα µε τη σύνθεση ποικίλλει η τιµή, η διαθεσιµότητα και η υποστήριξη του µικροελεγκτή. Την πρώτη φορά που βγαίνει στο εµπόριο ένας τύπος µικροελεγκτή, για λόγους κυρίως διαφηµιστικούς, η κατασκευάστρια εταιρεία ή άλλες συνεργαζόµενες εταιρείες τον συνοδεύουν µε πολύ φτηνά εργαλεία ανάπτυξης. Καθώς το προϊόν γνωρίζει ευρεία κυκλοφορία, τα εργαλεία αυτά είτε ακριβαίνουν είτε σταµατούν να παράγονται. Άλλες εταιρείες, τότε, παράγουν και αυτές προϊόντα υποστήριξης µε πολλαπλάσιο, όµως, κόστος. Στα επόµενα θα εξηγήσουµε τι είναι υποστήριξη και ποια είναι αυτά τα προϊόντα. 2.1. ΜΕΘΟ ΟΙ ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΩΝ 2.1.1. Σύστηµα ανάπτυξης. Πριν εξηγήσουµε τι είναι σύστηµα ανάπτυξης (development system), ας θυµηθούµε τα είδη µνήµης που µπορεί να προσπελάσει ο 8051. Μνήµη ROM εσωτερική ή εξωτερική. Από τη µνήµη αυτή ο µικροελεγκτής ανακαλεί και εκτελεί κώδικα. Η ενεργοποίηση της εξωτερικής ROM γίνεται από τον ακροδέκτη PSEN. O 8051 δεν µπορεί να γράψει στη µνήµη αυτή, ενώ το διάβασµα δεδοµένων γίνεται µε ειδική εντολή, τη MOVC, που ενεργοποιεί επίσης το PSEN. Εσωτερική µνήµη RAM. Στη µνήµη αυτή η CPU και γράφει και διαβάζει µε διευθύνσεις των 8 bits. Από τη µνήµη αυτή δεν µπορεί να εκτελέσει κώδικα. Εξωτερική RAM. Και γράφεται και διαβάζεται µε διευθύνσεις των 16 bits. Για να µπορεί να γίνεται διάκριση από την εσωτερική RAM, η προσπέλαση της εξωτερικής γίνεται µε ειδική εντολή, την MOVX, και µόνον µε έµµεση προσπέλαση µέσω του DPTR ή R0 ή R1. Από την εξωτερική RAM δεν µπορεί να εκτελεστεί κώδικας. Η ενεργοποίηση της εξωτερικής RAM γίνεται µέσω των ακροδεκτών RD και WR. Ίσως να σας έχει γεννηθεί η εξής απορία: πώς είναι δυνατό να γράφετε το πρόγραµµα στη µνήµη ROM, αφού από τη µνήµη ROM µόνο διαβάζετε; Στη φάση της παραγωγής ενός είδους µε µικροελεγκτή, όπου το πρόγραµµα είναι έτοιµο, η διαδικασία είναι σχετικά απλή. Με ειδική συσκευή, τον προγραµµατιστή EPROM, γράφεται ο κώδικας του προγράµµατος στη ROM (εσωτερική ή εξωτερική). Κατόπιν ο µικροελεγκτής ή η εξωτερική ROM τοποθετείται στη συσκευή και έτσι αυτή είναι έτοιµη να δουλέψει. Η διαδικασία µεταφοράς του κώδικα στη ROM λέγεται προγραµµατισµός της µνήµης, αλλά, βέβαια, δεν έχει καµία σχέση µε τη σύνταξη προγράµµατος. Προγραµµατιζόµενα λέµε τα ολοκληρωµένα στα οποία ο χρήστης µπορεί να ρυθµίσει τον τρόπο µε τον οποίο θα εργαστούν. Το ίδιο φυσικά, µπορούµε να κάνουµε και στη φάση της ανάπτυξης του προγράµµατος, όταν γράφουµε, δοκιµάζουµε και διορθώνουµε το πρόγραµµα. Μπορούµε, δηλαδή, να σβήνουµε τα περιεχόµενα της ROM και να την προγραµµατίζουµε και πάλι. Επειδή, όµως, η διαδικασία διαγραφής απαιτεί ειδική συσκευή, το σβηστήρι EPROM (EPROM eraser), και διαρκεί 3 µέχρι 45 λεπτά, δεν είναι καθόλου πρακτικό να ακολουθούµε την τακτική αυτή. Στη διάρκεια µιας µέρας θα χρειαστεί να διορθώσουµε και να δοκιµάσουµε πολλές φορές το πρόγραµµά µας. Εάν πρέπει κάθε φορά να σβήνουµε και να επαναπρογραµµατίζουµε την ROM, θα καθυστερούµε πολύ. Για την αντιµετώπιση του προβλήµατος αυτού υπάρχουν διάφορες λύσεις που θα περιγραφούν στη συνέχεια. 2.1.2. Εξοµοιωτής ROM. Εάν η κατασκευή µας έχει τον κώδικα σε εξωτερική ROM, τότε µπορούµε, αντί να βάλουµε ROM, να βάλουµε µία συσκευή που εξοµοιώνει τη ROM (ROM emulator). Η συσκευή αυτή συµπεριφέρεται στην κατασκευή µας σαν πραγµατική ROM, αλλά συνδέεται µε τον υπολογιστή µέσω παράλληλου ή σειριακού καλωδίου. Με το καλώδιο αυτό µεταφέρουµε τον κώδικα στη συσκευή και τον δοκιµάζουµε στην κατασκευή µας. Η λύση του εξοµοιωτή ROM είναι σχετικά φθηνή, αλλά δεν µπορεί να εφαρµοστεί στις περιπτώσεις όπου ο κώδικας είναι τοποθετηµένος στην εσωτερική ROM. Οι περιπτώσεις αυτές είναι και οι περισσότερες. Το καλό µε τον ROM emulator είναι ότι: α) είναι ανεξάρτητος από τον µικροελεγκτή. Μπορεί να χρησιµοποιηθεί µε οποιονδήποτε µικροελεγκτή, αρκεί αυτός να εκτελεί κώδικα από εξωτερική ROM. β) είναι φθηνός

Reset Καλώδιο σύνδεσης EPROM emulator Θέση ROM 8051 RAM Πλακέτα χρήστη Σχήµα 21. Ανάπτυξη µε εξοµοιωτή ROM 2.1.3. Εξοµοιωτής εντός κυκλώµατος (ICE) Ο In Circuit Emulator (εξοµοιωτής εντός κυκλώµατος) εξοµοιώνει όχι µόνον τη ROM, αλλά ολόκληρο τον µικροελεγκτή είτε έχει εσωτερική ROM είτε όχι. Βυσµατώνεται στην πλακέτα χρήστη στη θέση του µικροελεγκτή. Βασική πλακέτα ROM (προεραιτική) Καλώδιο POD Καλώδιο RAM Πλακέτα χρήστη Σχήµα 22. Ανάπτυξη µε ICE Το κόστος του ICE είναι µεγάλο. Τυπικές τιµές είναι από 300 µέχρι 4.500. Έχουµε, όµως, στη διάθεσή µας όλα τα εργαλεία ανάπτυξης. Συνήθως ο ICE αποτελείται από δύο τµήµατα. Μία βασική πλακέτα που βυσµατώνεται στη µητρική πλακέτα του υπολογιστή και ένα POD, προσαρµοστής του συγκεκριµένου µικροελεγκτή που εξοµοιώνεται. Να σηµειώσετε εδώ ότι το όλο σύστηµα µπορεί και εξοµοιώνει µόνο ένα συγκεκριµένο τύπο µικροελεγκτή. Για διαφορετικό τύπο µικροελεγκτή της ίδιας οικογένειας αλλάζετε POD, ενώ για διαφορετική οικογένεια αλλάζετε ICE. Άλλοι τύποι ICE περιέχονται σε ιδιαίτερο κουτί, µε δικό τους τροφοδοτικό, και επικοινωνούν µε τον υπολογιστή µε σειριακό καλώδιο. Αυτοί οι τύποι, συνήθως, είναι ακριβότεροι. Ο ICE συνοδεύεται και µε το απαραίτητο λογισµικό για τη µεταφορά του κώδικα και την εκτέλεσή του. Μπορεί ή όχι να συνοδεύεται από assembler και C compiler. Τα επί πλέον εργαλεία που µας διαθέτει στην ανάπτυξη του προγράµµατος ο ICE είναι: Βηµατική εκτέλεση του προγράµµατος. Παρακολούθηση της µνήµης και των καταχωρητών του µικροελεγκτή. Παύσεις του προγράµµατος. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 10

Εάν ο ICE διαθέτει και πλακέτα ιχνηλάτησης πραγµατικού χρόνου (Real Time Trace Board), τότε µπορεί και καταγράφει σε πραγµατικό χρόνο τις εντολές από τις οποίες πέρασε το πρόγραµµα. Τη µνήµη ιχνηλάτησης µπορούµε να τη δούµε µετά από παύση του προγράµµατος. Ο ICE είναι το στάνταρ εργαλείο ανάπτυξης για επαγγελµατική χρήση. 2.1.4. Πλακέτες αξιολόγησης (EVB) Τα Evaluation Boards είναι έτοιµες πλακέτες µε τον µικροελεγκτή, περιέχουν ROM, RAM, σειριακή σύνδεση και, ίσως, µερικά περιφερειακά. ε διαθέτουν ολόκληρο τον µικροελεγκτή για αξιοποίηση από το χρήστη επειδή µερικά από τα µέρη του είναι δεσµευµένα για τη λειτουργία του ίδιου του EVB. Με κατάλληλο συνδυασµό των ακροδεκτών PSEN και RD, ο 8051 µπορεί να µετατραπεί από αρχιτεκτονική Harvard σε von Neumann. Οι έξοδοι RD και PSEN συνδυάζονται µε µία πύλη AND. Προκύπτει έτσι ένα σήµα VNRD που ενεργοποιεί τη RAM είτε σε διάβασµα µνήµης είτε σε ανάκληση κώδικα. Εφόσον, βέβαια, υλοποιείται η αρχιτεκτονική von Neumann, δεν είναι πλέον διαθέσιµα 64 KBytes κώδικα και 64 KBytes δεδοµένων, αλλά σύνολο 64 KBytes για πρόγραµµα και δεδοµένα. C2 C1 DATA BUS Vcc 33p X1 12MHz + C3 1u SW1 33p 31 19 18 9 12 13 14 15 1 2 3 4 5 6 7 8 EA/VP X1 X2 RESET INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8031 / 8051 U1 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 RD 17 WR 16 PSEN 29 30ALE ALE/P TXD 11 RXD 10 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 A8 A9 A10 A11 A12 A13 A14 A15 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 ALE 1 2 ADDRESS LATCH 2 19 D1 Q1 3 18 D2 Q2 4 17 D3 Q3 5 16 D4 Q4 6 15 D5 Q5 7 14 D6 Q6 8 13 D7 Q7 9 12 D8 Q8 U4 74HC573 11 1 C OC ADDRESS BUS 3 WR A15 VNRD Αποκωδικοποιητής δ/νσεων A15 A0 A1 A2 A3 A4 A5 A6 A7 A15 PSEN VCC A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 A13 26 A14 1 22 27 20 A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 A13 26 A14 27 22 20 1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 OE WE CS1 8000FFFF A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 U2 61256 U3 27256 OE CE 00007FFF VPP D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19 11 12 13 15 16 17 18 19 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 RAM ( εδοµένα και Πρόγραµµα) AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 ROM (Πρόγραµµα) Σχήµα 23. Ενοποίηση των χώρων προγράµµατος και δεδοµένων µε πύλη AND Με τις πλακέτες αξιολόγησης µπορεί κάποιος και αξιολογεί ένα µικροελεγκτή, όταν κυκλοφορεί για πρώτη φορά, χωρίς να χρειάζεται να κατασκευάσει πλακέτα. Tα EVB χρησιµοποιούνται στην εκµάθηση του µικροελεγκτή και λιγότερο σε πρακτικές εφαρµογές. 2.1.5. ISP Επειδή το κόστος µιας σειριακής, ακόµη και αν δεν τη χρειάζεστε στην πλακέτα σας, είναι πολύ µικρό, µπορούµε να θεωρούµε ότι όλες οι πλακέτες έχουν σειριακή διασύνδεση. Κάποιοι µικροελεγκτές έχουν τη δυνατότητα να αυτοπρογραµµατίζονται από τη σειριακή θύρα. Εάν κατά τη διάρκεια του reset έχουν έναν ακροδέκτη σε συγκεκριµένη στάθµη, αναλαµβάνει το πρόγραµµα που έχει ενσωµατώσει η εταιρεία στον µικροελεγκτή. Αυτό το πρόγραµµα δέχεται από τη σειριακή θύρα τον κώδικα και τον γράφει στην flash EPROM του µικροελεγκτή. Το πρόγραµµα, από τη µεριά του υπολογιστή, που διαγράφει και ξαναγράφει (ξαναπρογραµµατίζει) το µικροελεγκτή διατίθεται συνήθως από τις εταιρείες µέσα από την ιστοσελίδα τους. Οι µικροελεγκτές αυτοί επειδή µπορούν και προγραµµατίζονται, ενώ είναι τοποθετηµένοι στο ελεγχόµενο σύστηµα, λέγονται προγραµµατιζόµενοι εντός συστήµατος (In System Programmable). Είναι ο πιο φθηνός Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 11

τρόπος να κάνει κανείς ανάπτυξη προγράµµατος. Οι µικροελεγκτές ISP δεν είναι κατάλληλοι για µαζική παραγωγή, επειδή είναι ακριβότεροι από τους κοινούς. 2.1.6. Προγράµµατα εκσφαλµάτωσης Τα προγράµµατα αυτά εκτελούν δύο βασικές εργασίες. Πρώτον, εξοµοιώνουν στον υπολογιστή τον µικροελεγκτή και παρουσιάζουν σε γραφικό περιβάλλον το εσωτερικό του. εύτερον, µεταφέρουν το πρόγραµµα σε ICE ή EVB και παρέχουν τα εργαλεία εκσφαλµάτωσης που έχουµε περιγράψει (βλ. σελ. 10). Ένα τέτοιο πρόγραµµα είναι και το µvision2 που χρησιµοποιήσατε στο πρώτο µέρος του βιβλίου. Τα προγράµµατα αυτά, συνήθως, παρέχουν ένα ολοκληρωµένο περιβάλλον ανάπτυξης προγραµµάτων και, για το λόγο αυτό, συνοδεύονται από assembler και C compiler. Είναι σχετικά ακριβά, αλλά κυκλοφορούν δωρεάν εκδόσεις επίδειξης (demo versions) µε περιορισµούς µέχρι 2 ΚBytes κώδικα, χωρίς αριθµητική κινητής υποδιαστολής, κλπ. 2.1.7. Λογικός αναλυτής Όσο απαραίτητος είναι ο παλµογράφος στην ανάπτυξη και επισκευή αναλογικών κυκλωµάτων, τόσο είναι ο λογικός αναλυτής (logic analyzer) στα ψηφιακά κυκλώµατα. Ο λογικός αναλυτής έχει δύο βασικές διαφορές από τον παλµογράφο. 1. ε δείχνει τη στάθµη της τάσης αλλά µόνο τη λογική της τιµή, 0 ή 1. Τα κατώφλια στις λογικές στάθµες µπορούν να ρυθµίζονται, ώστε ο λογικός αναλυτής να είναι κατάλληλος για κάθε λογική οικογένεια. 2. εν έχει 2 αλλά πολύ περισσότερα κανάλια, συνήθως από 32 και πάνω. Συνδέοντας το λογικό αναλυτή µε τους διαδρόµους διευθύνσεων και δεδοµένων δίνουµε τις συνθήκες έναρξης της καταγραφής (trigger) και παρακολουθούµε το σύστηµα για τον εντοπισµό σφαλµάτων στο λογισµικό (software) και το υλικό (hardware) µέρος του συστήµατός µας. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 12

3. ΘΥΡΕΣ Ι/Ο 3.1. ΟΜΗ ΤΩΝ ΘΥΡΩΝ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ Και οι τέσσερις θύρες του 8051 είναι ψευδοδικατευθυντήριες (pseudo bidirectional). Έχουν, δηλαδή, συνδεµένη εσωτερικά µία ασθενή αντίσταση pullup και ένα τρανζίστορ που γειώνει τη γραµµή, όταν γράφουµε 0. Έτσι, όταν γράφουµε 1, η αντίσταση pullup µας επιτρέπει να χρησιµοποιήσουµε τη γραµµή ως είσοδο (βλέπε το τέταρτο κύκλωµα στο Σχήµα 31). Κάθε γραµµή θύρας αποτελείται από ένα latch (sfr P0 έως P3), έναν οδηγό εξόδου και έναν buffer εισόδου. Οι οδηγοί εξόδου των θυρών 0 και 2 και ο buffer εισόδου της θύρας 0 χρησιµοποιούνται και σε προσπελάσεις εξωτερικής µνήµης. Σ αυτήν την περίπτωση, η θύρα 0 δίνει το low byte της διεύθυνσης της εξωτερικής µνήµης σε πολύπλεξη µε το byte δεδοµένων που πρέπει να γραφεί ή που διαβάζεται. Η θύρα 2 δίνει το high byte της διεύθυνσης της εξωτερικής µνήµης, όταν η διεύθυνση είναι των 16 bits. ιαφορετικά, οι ακροδέκτες της θύρας 2 συνεχίζουν να εκπέµπουν το περιεχόµενο του sfr P2. Read latch ADDR/ DATA Control G1 Vcc PF1 Read latch Alternate output function Vcc Int.bus (P0.x) Write latch D CLK Q G2 1 NF1 P0.x Int.bus (P1/3.x) Write latch D CLK Q G3 Internal pullup NF2 P1/3.x sfr Q 0 sfr Q Read pin Read pin Read latch ADDR Control Vcc Read latch Vcc Int.bus (P2.x) Write latch D Q CLK Q sfr G4 NF3 Internal pullup P2.x Internal bus Write latch D Q CLK Q sfr Internal pullup NF4 Read pin Read pin Σχήµα 31. Latch, οδηγοί εξόδου και buffers εισόδου των γραµµών του T89C51RD2 Όλοι οι ακροδέκτες των θυρών 1 και 3 είναι πολλαπλών λειτουργιών. εν είναι µόνο ακροδέκτες θυρών αλλά εξυπηρετούν και διάφορες ειδικές εργασίες. Οι εναλλακτικές εργασίες µπορούν να ενεργοποιηθούν µόνο αν τα αντίστοιχα bits στο sfr της θύρας περιέχουν 1, διαφορετικά ο ακροδέκτης κολλάει στο 0. Η περιγραφή των πολλαπλών λειτουργιών των θυρών θα γίνει στα τµήµατα που αναπτύσσουν τις αντίστοιχες εναλλακτικές λειτουργίες. Προσοχή χρειάζεται να µη στείλετε 0 σε µία γραµµή (π.χ. µε την εντολή CLR P1.0), ενώ την έχετε συνδεµένη απευθείας ή µε µικρή αντίσταση στα +5V, αλλιώς το nfet της γραµµής θα καταστραφεί. Στο Σχήµα 31 φαίνεται το απλοποιηµένο διάγραµµα των γραµµών των θυρών. Το τελευταίο από τα τέσσερα διαγράµµατα αναφέρεται σε περίπτωση που η γραµµή δεν έχει καµία εναλλακτική λειτουργία, αλλά τέτοιες γραµµές υπάρχουν σε άλλα µέλη της οικογένειας του 8051 και όχι στον T89C51RD2 µε τον οποίο ασχολούµαστε στο βιβλίο αυτό. Όταν γράφουµε 1 στη γραµµή, η έξοδος Q του latch οδηγεί σε αποκοπή το FET NF4 και η έξοδος οδηγείται σε υψηλή στάθµη από την εσωτερική αντίσταση pullup. Η αντίσταση αυτή δεν είναι γραµµικό εξάρτηµα, αλλά σχηµατίζεται από τρία FET, όπως θα δούµε στη συνέχεια. Θυµίζουµε ότι το MOSFET καναλιούn ΝF4 οδηγείται στον κόρο, όταν η πύλη του πάρει λογικό 1. Η γραµµή Control επιλέγει λειτουργία θύρας µε 0 και λειτουργία διαδρόµου (διευθύνσεων ή δεδοµένων) µε 1. Η θύρα Ρ0 δεν έχει ενσωµατωµένη αντίσταση pullup, όταν χρησιµοποιείται ως γραµµή θύρας (πρώτο κύκλωµα στο Σχήµα 31). Όταν Control=0, το τρανζίστορ ΡF1 είναι συνεχώς σε αποκοπή, ενώ το ΝF1 οδηγείται Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 13

από την έξοδο Q του latch. Έτσι, αν γράψουµε 1, και τα δύο τρανζίστορ είναι σε αποκοπή και η γραµµή είναι ασύνδετη (floating). Μπορεί, τότε, να χρησιµοποιηθεί ως είσοδος υψηλής αντίστασης. Αν γράψουµε 0, τότε Q =1 και το ΝF1 οδηγείται στον κόρο γειώνοντας τη γραµµή. Όταν η Ρ0 χρησιµοποιείται σε προσπέλαση εξωτερικής µνήµης (Control=1), τότε τα δύο τρανζίστορ ΡF1 και ΝF1 οδηγούνται από την τιµή των bits δεδοµένων και διεύθυνσης. Σε περίπτωση χρήσης, λοιπόν, εξωτερικής µνήµης δε χρειάζεται να προσθέσετε εξωτερικές αντιστάσεις pullup. Η θύρα Ρ2 έχει ενσωµατωµένες αντιστάσεις pullup και, έτσι, η γραµµή Control επιλέγει, απλά, αν το τρανζίστορ ΝF3 θα οδηγηθεί από τα δεδοµένα της θύρας ή από το high byte της διεύθυνσης. Κατά τη διάρκεια προσπέλασης εξωτερικής µνήµης, ο sfr της θύρας Ρ2 µένει ανεπηρέαστος, ενώ, στον sfr της Ρ0 γράφονται 1. Όταν, σε προσπέλαση εξωτερικής µνήµης, χρησιµοποιείται διεύθυνση των 8 bits, η θύρα Ρ2 λειτουργεί κανονικά ως θύρα. Σε µικροελεγκτές άλλων οικογενειών οι θύρες είναι πραγµατικά δικατευθυντήριες (true bidirectional). Για κάθε θύρα διατίθεται και ένας καταχωρητής κατεύθυνσης. Αν κάποιο bit του καταχωρητή αυτού είναι 0, η αντίστοιχη γραµµή της θύρας είναι είσοδος, ενώ, αν είναι 1, η γραµµή είναι έξοδος. Ο 8051 δεν έχει τέτοιον καταχωρητή και µπορείτε να χρησιµοποιείτε, ανά πάσα στιγµή, τις γραµµές των θυρών του ως εισόδους ή εξόδους µε ένα µόνο περιορισµό: αν θέλετε να χρησιµοποιείτε τη γραµµή ως είσοδο, θα πρέπει να έχετε γράψει 1 στην έξοδο. Στο reset όλες οι γραµµές τοποθετούνται από το µικροελεγκτή στην κατάσταση 1. 3.2. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΩΝ ΘΥΡΩΝ Σε οποιαδήποτε σύνδεση ψηφιακής εξόδου µε ψηφιακή είσοδο εξετάζουµε: Για το λογικό 0, τη µέγιστη τάση που η ψηφιακή είσοδος αναγνωρίζει ως λογικό 0 (V IL ) και το ρεύµα που δίνει τότε η είσοδος (I ΙL ). Η έξοδος θα πρέπει να µπορεί να δεχθεί το ρεύµα αυτό (I OL ), χωρίς να ανεβαίνει η τάση της V OL πάνω από την V IL της εισόδου. Για το λογικό 1, την ελάχιστη τάση που η ψηφιακή είσοδος αναγνωρίζει ως λογικό 1 (V IH ) και το ρεύµα που δέχεται τότε (I ΙH ). Η έξοδος θα πρέπει να µπορεί να δώσει το ρεύµα αυτό (I OH ), χωρίς να πέφτει η τάση της V OH κάτω από την V IH της εισόδου. Τη µέγιστη χωρητικότητα που µπορεί να οδηγήσει η έξοδος. Η συνολική χωρητικότητα των εισόδων που οδηγεί η έξοδος δεν πρέπει να είναι µεγαλύτερη από την τιµή αυτή. Για τη διασύνδεση µε TTL σηµαντικές είναι οι δύο πρώτες συνθήκες, ενώ για τη διασύνδεση µε CMOS η τελευταία. "0" (Low) "1" (High) +5 V V OH I OH I IH VIH +5 V V OL I OL I IL V IL 0 V 0 V Σχήµα 32. Λογικές στάθµες σε σύνδεση εξόδου µε είσοδο Σηµειώστε ότι: όταν µία έξοδος δίνει 0, απορροφά ρεύµα I OL και όταν µία είσοδος δέχεται 0, δίνει ρεύµα I IL. Όταν µία έξοδος δίνει 1, η τάση της πέφτει από τα +5 V τόσο περισσότερο, όσο µεγαλύτερο είναι το ρεύµα που δίνει. Όταν µία έξοδος δίνει 0, η τάση της ανεβαίνει από τα 0 V τόσο περισσότερο, όσο µεγαλύτερο είναι το ρεύµα που δέχεται. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 14

Λογική στάθµη V IH V IL V OH V OL Vcc = 5 V 74HC 74HCT LS TTL T89C51RD2 3,15 V µε Ι ΙΗ=0,1µA 1,35 V µε Ι ΙL=0,1µA 4,0 V για Ι ΟΗ=4mA 0,26 V για I OL=4mA 2,0 V µε Ι ΙΗ=0,05µA 0,8 V µε Ι ΙL=0,05µA 4,0 V για Ι ΟΗ=4mA 0,26 V για I OL=4mA 2,0 V µε Ι ΙΗ=20µA 0,8 V µε Ι ΙL=0,4mA 2,7 V για I OH=0,4mA 0,5 V για I OL=8mA 3,5 V (για I OH=60 µα) 0,45 V (για I OL=1,6 ma) 1,9 V µε Ι ΙΗ=0µA 0,9 V µε Ι ΙL=50µA 4,3 V (για I OH=30 µα) 0,3 V (για I OL=100 µa) Πίνακας 31. Σύγκριση λογικών σταθµών διαφόρων οικογενειών Οι γραµµές του 8051 σχεδιάστηκαν να συνεργάζονται µε εξαρτήµατα και CMOS και TTL. Έτσι, οι είσοδοί του είναι συµβατές µε τις εξόδους όλων των λογικών οικογενειών και οι έξοδοί του συµβατές µε όλες τις εισόδους. Περιθώριο θορύβου σε υψηλή στάθµη είναι η διαφορά V OH V IH και σε χαµηλή στάθµη η V IL V OL. Είσοδος Έξοδος 74HC 74HCT LS TTL T89C51RD2 h: 0,85 V l: 1,09 V h: 0,85 V l: 1,09 V h: 0,45 V l: 0,54 V h: 1,15 V l: 1,05 V 74HC 74HCT LSTTL T89C51RD2 h: 2,00 V l: 0,54 V h: 2,00 V l: 0,54 V h: 0,70 V l: 0,30 V h: 2,30 V l: 0,50 V h: 2,00 V l: 0,54 V h: 2,00 V l: 0,54 V h: 0,70 V l: 0,30 V h: 2,30 V l: 0,50 V h: 2,10 V l: 0,64 V h: 2,10 V l: 0,64 V h: 0,80 V l: 0,40 V h: 1,60 V l: 0,45 V Πίνακας 32. Περιθώρια θορύβου σε διάφορες λογικές οικογένειες 3.2.1. Χαρακτηριστικά των γραµµών εξόδου Οι έξοδοι του 8051 έχουν τα εξής όρια αντοχής (εάν ξεπεραστούν τα όρια αυτά, υπάρχει κίνδυνος καταστροφής του ολοκληρωµένου): Μία έξοδος, στο λογικό 0, δεν επιτρέπεται να απορροφήσει πάνω από I OL /pin_max=10 ma. Το συνολικό ρεύµα και των 8 γραµµών µιας θύρας δεν επιτρέπεται να υπερβεί τα I OL /port_max=15 ma (26 ma για τη θύρα Ρ0). Τέλος, το συνολικό ρεύµα και των 32 γραµµών των 4 θυρών δεν επιτρέπεται να υπερβεί τα I OL /total_max=71 ma. Μία έξοδος στο λογικό 1, µπορεί να βραχυκυκλωθεί µε 0 V για απεριόριστο χρονικό διάστηµα χωρίς κίνδυνο καταστροφής. Οι έξοδοι του 8051 έχουν τα εξής όρια προδιαγραφών (εάν ξεπεραστούν τα όρια αυτά, οι τάσεις θα είναι εκτός προδιαγραφών): Όταν δίνουν λογικό 0, µπορούν να απορροφήσουν I OL =1,6 ma (3,2 ma για τη θύρα Ρ0) και τότε η τάση εξόδου ανεβαίνει στα V OL =0,45 V. Όταν δίνουν λογικό 1, µπορούν να δώσουν Ι ΟΗ =60 µα και, τότε, η τάση εξόδου πέφτει στα V OH =3.5 V. Όµως, όταν η έξοδος µεταβαίνει από 0 σε 1, ωθείται από ένα µεγάλο ρεύµα, περίπου 6 ma, για χρονικό διάστηµα 2 περιόδων ρολογιού. Αυτό συµβαίνει, για να µπορεί να γίνεται γρήγορα η µετάβαση. Η µέγιστη επιτρεπτή φόρτιση των ακροδεκτών εξόδου είναι 80 pf. 3.2.2. Χαρακτηριστικά των γραµµών εισόδου Τα όρια αντοχής των γραµµών εισόδου του T89C51RD2 είναι από 0,5 V µέχρι Vcc+0,5 V. Οι είσοδοι του 8051 έχουν τα εξής χαρακτηριστικά: Η ελάχιστη τάση που αναγνωρίζεται ως λογικό 1 είναι V IH = 0,2 x Vcc + 0,9. Για τάση τροφοδοσίας Vcc=5 V, V IH = 1,9 V. Η µέγιστη τάση που αναγνωρίζεται ως λογικό 0 είναι V IL = 0,2 x Vcc 0,1. Για τάση τροφοδοσίας Vcc=5 V, V IL = 0,9 V. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 15

Το ρεύµα της εισόδου σε χαµηλή στάθµη (V IN = 0,45 V) είναι I ΙL = 50 µα (10 µα για τη θύρα Ρ0). Το ρεύµα της εισόδου σε υψηλή στάθµη είναι αµελητέο, I ΙH = 0. Η χωρητικότητα των ακροδεκτών εισόδου είναι 10 pf. Τα αναφερόµενα χαρακτηριστικά λαµβάνονται από τα τεχνικά εγχειρίδια του µικροελεγκτή T89C51RD2 και είναι αυτά για τα οποία εγγυάται η εταιρεία κατασκευής. Σχεδόν πάντοτε, τα εξαρτήµατα που αγοράζετε από το εµπόριο έχουν ελαφρώς καλύτερα χαρακτηριστικά. 3.3. ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΙΣ ΓΡΑΜΜΕΣ I/O Όταν µία γραµµή θύρας του 8051 δίνει λογικό 1, παρακολουθείται η τάση εξόδου της. Εάν είναι µεγαλύτερη από περίπου 2,5 V (περίπου 50% της τάσης τροφοδοσίας), συνδέεται µία µεγάλη (ασθενής) αντίσταση pullup, περίπου 50 Κ 100 Κ. Όταν η τάση του ακροδέκτη είναι µικρότερη από περίπου 0,5 V (περίπου το 10% της τάσης τροφοδοσίας), συνδέεται µόνον µία πολύ ασθενής αντίσταση pullup τιµής περίπου 500 Κ 1 Μ. Με τη διάταξη αυτή είναι δυνατή η χρήση της γραµµής ταυτόχρονα και ως εξόδου και ως εισόδου, αρκεί να γράφουµε 1 στη γραµµή, αν θέλουµε να τη διαβάσουµε ως είσοδο. Οι αντιστάσεις pullup δεν είναι γραµµικά εξαρτήµατα αλλά ενσωµατώνονται στα PF2 και PF3. Read/Modify/Write Internal data bus Παλµός εγγραφής D Q CLK sfr Q Delay 2 T Ισχυρή pullup PF1 PF2 PF3 500K1M Πολύ ασθενής pullup 50K100K Vcc Ασθενής pullup Read Εναλλακτική λειτουργία θύρας NF1 Latch set Latch for "1" Px.y x=1,3 y=0...7 Σχήµα 33. Απλοποιηµένο κύκλωµα γραµµής θυρών Ρ1 και Ρ3 Εάν η γραµµή έχει 0 και γράψουµε 1, η ασθενής pullup PF3 των 50 K 100 Κ δεν επαρκεί για γρήγορη µετάβαση της εξόδου, επειδή αργεί η φόρτιση της παράσιτης χωρητικότητας της γραµµής από τόσο µεγάλη αντίσταση. Για να επιταχυνθεί η ανύψωση της στάθµης της εξόδου, όταν η έξοδος Q του sfr της θύρας µεταβαίνει από 0 σε 1, το κύκλωµα καθυστέρησης 2Τ και η πύλη OR οδηγούν το τρανζίστορ ΡF1 σε κόρο για χρόνο δύο παλµών ρολογιού. Επιτυγχάνεται, έτσι, ταχύτατη ανύψωση της στάθµης της τάσης µε ρεύµα περίπου 100 φορές µεγαλύτερο από αυτό που µπορεί να δώσει το PF3. Θυµίζουµε ότι τα pfet ΡF1, ΡF2 και ΡF3 οδηγούνται σε κόρο όταν πάρουν 0 στην πύλη τους. Όταν γράψουµε 1 στο sfr της θύρας, το ΡF1 οδηγεί, όπως ήδη αναφέραµε, για χρόνο δύο παλµών ρολογιού τη γραµµή σε υψηλή στάθµη. Το 1 αυτό, λόγω της NOT, κλειδώνει το ΡF3 στο 1. Η NOT και το ΡF3 δηµιουργούν ένα latch που κρατάει το λογικό 1, όταν µετά από χρόνο 2Τ το ΡF1 θα πάει σε αποκοπή. Εάν, όµως, από κάποιο παράσιτο η τάση της γραµµής πέσει, το ΡF3 ξεκλειδώνει και η γραµµή µένει ασύνδετη (floating). Για να µη συµβαίνει αυτό, έχει µπει το τρανζίστορ ΡF2 που ανεβάζει και πάλι την τάση της γραµµής σε υψηλή στάθµη, όταν Q=1 (και Q =0). Όταν η γραµµή χρησιµοποιείται ως είσοδος και εφαρµόζεται 0 (γειώνεται), αποµένει µόνο το PF2 που δίνει το ρεύµα I IH, που αναφέραµε στις προδιαγραφές των εισόδων. Τέλος, όταν η γραµµή χρησιµοποιείται ως είσοδος και εφαρµόσουµε 0, απαιτείται στιγµιαίο ρεύµα (I TL στις προδιαγραφές) περίπου 650 µα, για να οδηγηθεί το PF3 σε αποκοπή. Άσκηση 31 (Μελέτη χαρακτηριστικής VI γραµµής εισόδου) Συνδέστε ένα ποτενσιόµετρο 10Κ σε µία γραµµή της θύρας Ρ2, έστω Ρ2.4, και ένα LED σε µία γραµµή της θύρας Ρ0, έστω Ρ0.3, όπως δείχνει το Σχήµα 34. Συνδέστε ένα βολτόµετρο και ένα µικροαµπερόµετρο, για να µετράτε την επιβαλλόµενη τάση και το ρεύµα που προκύπτει. Γράψτε το επόµενο πρόγραµµα που διαβάζει από την Ρ2.4 και στέλνει στην Ρ0.3. Πάρτε µετρήσεις VI και σχεδιάστε τη χαρακτηριστική της θύρας. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 16

Το επόµενο πρόγραµµα διαβάζει από τη γραµµή που είναι συνδεµένο το ποτενσιόµετρο και στέλνει στο LED τη λογική κατάσταση της γραµµής. Επειδή το LED έχει συνδεµένη στα +5 V την άνοδο, θα ανάβει, όταν η γραµµή είναι 0. Καθώς κατεβάζουµε, λοιπόν, την τάση της γραµµής Ρ2.4, το LED θα ανάψει, µόλις η τάση της εισόδου ερµηνευτεί ως λογικό 0. LOOP: MOV C,P2.4 MOV P0.3,C JMP LOOP end P0.3 Vcc 1K +5V P2.4 ua V 10K Σχήµα 34. Κύκλωµα για την άσκηση «µελέτη χαρακτηριστικής VI θύρας» Μεταβάλλοντας το ποτενσιόµετρο από την τάση των +5 V προς τα κάτω, καταγράφουµε τις ενδείξεις του βολτοµέτρου και του αµπεροµέτρου. Παρατηρούµε ότι, µόλις η τάση αναγνωρίζεται ως λογικό 0, το ρεύµα της γραµµής πέφτει απότοµα στα 18 µα και µένει σταθερό, ανεξάρτητα από την επιβαλλόµενη τάση. V µα 5 1 4,8 25 4,6 52 4,4 77 4 122 3,5 174 3 218 2,5 254 2 280 1,8 287 1,6 292 1,5 295 1,4 18 1,3 18 1,2 18 1,1 18 1 18 0 18 µα 300 250 200 150 100 50 0 0 1 2 3 4 5 Volts Από το διάγραµµα προκύπτει ότι η αντίσταση pullup της γραµµής δεν είναι σταθερή και έχει τιµές από 8 µέχρι 12 ΚΩ περίπου. Επίσης, φαίνεται η αποσύνδεση του τρανζίστορ PF3 (Σχήµα 33), µόλις η τάση του ακροδέκτη αναγνωριστεί ως λογικό 0. Αποµένει, τότε, µόνον το PF3 που δίνει το ρεύµα των 18 µα. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 17

Άσκηση 32 (Μελέτη της επίδρασης pulldown αντίστασης σε γραµµή εισόδου) Συνδέστε µία µεταβλητή αντίσταση (τρίµερ) 100Κ σε µία γραµµή της θύρας Ρ2, έστω την Ρ2.4, και ένα LED σε µία γραµµή της θύρας Ρ0, έστω την Ρ0.3, όπως δείχνει το Σχήµα 35. Συνδέστε ένα βολτόµετρο και ένα µικροαµπερόµετρο για να µετράτε την επιβαλλόµενη τάση και το ρεύµα που προκύπτει. Σε κάθε µέτρηση VI αποσυνδέετε το ένα άκρο του τρίµερ και µετράτε την αντίστασή του, R. Γράψτε το πρόγραµµα, από την προηγούµενη άσκηση, που διαβάζει από την Ρ2.4 και στέλνει στην Ρ0.3. ηµιουργήστε έναν πίνακα τιµών τάσης και ρεύµατος σε σχέση µε την τιµή της pulldown αντίστασης. Βρείτε την τιµή της αντίστασης που προσδίδει λογικό 0 στην Ρ2.4. P0.3 1K +5V P2.4 ua 100K V Σχήµα 35. Κύκλωµα για την άσκηση «µελέτη επίδρασης pulldown αντίστασης» Ξεκινώντας από µεγάλη τιµή αντίστασης (75 ΚΩ) κατεβάζουµε αργά την αντίσταση και µετράµε τάση, ρεύµα και αντίσταση. ηµιουργούµε τον επόµενο πίνακα και, µε τη βοήθεια του Excel, το επόµενο διάγραµµα. R/ΚΩ V/Volts I/µΑ 75 4,54 60 54 4,37 80 41 4,2 100 33 4,02 120 27 3,84 140 22,4 3,65 160 18,7 3,44 180 15,7 3,22 200 10 2,58 250 7,9 2,23 270 6,8 2,01 280 5,6 1,72 290 4,8 1,52 295 3,8 1,24 300 3,46 1,15 300 3,45 0,15 18 3,4 0,15 18 3 0,15 18 1 0,15 18 µα 350 300 250 200 150 100 50 0 0 10 20 30 40 50 60 70 80 ΚΩ 5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 V o lts Η αντίσταση pulldown, καθώς µειώνεται, προσδίδει λογικό 0 όταν η τιµή της γίνει 3,45 ΚΩ. Στη συνέχεια, ανεβάζοντας την τιµή της αντίστασης, παρατηρούµε ότι το λογικό 1 δεν προσδίδεται στην ίδια τιµή της αντίστασης, αλλά σε τιµή 77,7 ΚΩ. Η υστέρηση αυτή οφείλεται, προφανώς, στη δράση των δύο pfet της γραµµής. Άσκηση 33 (Μελέτη µεταβατικών φαινοµένων σε γραµµή εξόδου) Συνδέστε µία µεταβλητή αντίσταση (τρίµερ) 100 ΚΩ µεταξύ µιας γραµµής θύρας, έστω της Ρ2.4, και της γης. Γράψτε ένα πρόγραµµα που να αντιστρέφει συνεχώς την κατάσταση της γραµµής µε µία µικρή καθυστέρηση. Συνδέστε ένα κανάλι παλµογράφου στη γραµµή και µελετήστε τη συµπεριφορά της γραµµής, ενώ µικραίνετε την τιµή της αντίστασης από 100 ΚΩ µέχρι 0. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 18

Το πρόγραµµα που αντιστρέφει την κατάσταση της γραµµής θα είναι το εξής: LOOP: CPL P2.4 MOV R7,#80h DJNZ R7,$ JMP LOOP end Καθώς µικραίνουµε την αντίσταση παρατηρούµε ότι η τάση µειώνεται εκθετικά από την τιµή των 5 V περίπου, µέχρι 4 V. Η µείωση αυτή αρχίζει µετά από χρόνο 180 ns, που είναι η διάρκεια δύο παλµών ρολογιού συχνότητας 11,0592 MHz. Εικόνα 31. Μετάβαση γραµµής από 0 σε 1 µε φορτίο 30 ΚΩ Επιπλέον παρατηρούµε µία υπερύψωση (overshoot) της τάσης εξόδου κατά 1,062 V. Η υπερύψωση αυτή καθώς και η σταθερότητα της τάσης εξόδου για τα πρώτα 180 ns οφείλεται στη δράση της ισχυρής pullup που σχηµατίζει το pfet1 (βλ. Σχήµα 33, σελ. 16). Κατεβάζοντας την τιµή της αντίστασης pulldown ακόµη περισσότερο, παρατηρούµε ότι από 3,45 ΚΩ και κάτω, η τάση της γραµµής ανεβαίνει στα 5 V, αλλά µετά από λίγο χρόνο µηδενίζεται. Εικόνα 32. Μετάβαση γραµµής (προσπάθεια) από 0 σε 1 µε φορτίο 2,5 ΚΩ Στην Εικόνα 32 φαίνεται η δράση και των τριών pfet που σχηµατίζουν τις τρεις αντιστάσεις pullup της γραµµής. Για τα πρώτα 180 ns δρα το PF1 που µπορεί και δίνει µεγάλο ρεύµα και έτσι η τάση ανεβαίνει απότοµα και διατηρείται στη σωστή στάθµη των 5 V. Για τα επόµενα 200 ns περίπου δρα το PF3 που, όµως, δεν µπορεί Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 19

να διατηρήσει την τάση εξόδου που πέφτει εκθετικά λόγω της παράσιτης χωρητικότητας της γραµµής. Όταν, τέλος, η τάση πέσει κάτω από 1,062 V, τότε σταµατά η δράση του PF3 και αποµένει µόνο το πιο ασθενές από όλα PF2. Η τάση εξόδου, τότε, πέφτει πολύ πιο απότοµα, µέχρις ότου µηδενιστεί. Το λογικό 1 διατηρείται για χρόνο περίπου 0,5 µs. Άσκηση 34 (Μελέτη φόρτισης γραµµής εξόδου) Συνδέστε τα +5 V, µέσω µίας µεταβλητής αντίστασης 10 ΚΩ, στη γραµµή Ρ1.0. Στείλτε λογικό 0 στη γραµµή αυτή και βρείτε τη χαρακτηριστική VI της γραµµής εξόδου µεταβάλλοντας την αντίσταση και µετρώντας το ρεύµα εισόδου στη γραµµή και την τάση της γραµµής. Προσοχή µην υπερβείτε το µέγιστο ρεύµα 10 ma της γραµµής. Vcc P1.0 ma 10 K V Σχήµα 36. Κύκλωµα πειράµατος «µελέτη φόρτισης γραµµής εξόδου» V ma 0,025 0,04 0,062 1 0,083 1,5 0,102 2 0,121 2,5 0,141 3 0,16 3,5 0,18 4 0,198 4,5 0,219 5 0,237 5,5 0,259 6 0,277 6,5 0,298 7 0,316 7,5 0,339 8 0,358 8,5 0,38 9 0,4 9,5 0,42 10 12 10 m A 8 6 4 2 0 0 0,1 0,2 0,3 0,4 Volts Η χαρακτηριστική εξίσωση, κατά προσέγγιση, προκύπτει από τις µετρήσεις ότι είναι: V 0,04. I (V σε Volts, I σε ma) Σχέση 31. Η τάση V του µηδενός της Ρ1.0 σε συνάρτηση µε το ρεύµα I που απορροφά 3.4. ΧΡΗΣΗ ΤΩΝ ΘΥΡΩΝ 3.4.1. Χρήση των γραµµών εξόδου Μία συνηθισµένη είσοδος CMOS έχει χωρητικότητα 10 pf. Αφού ο 8051 έχει ικανότητα οδήγησης 80 pf, µπορούµε να οδηγήσουµε µέχρι 8 εισόδους CMOS (CMOS fanout=8). Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 20

Οι είσοδοι στα συνηθισµένα εξαρτήµατα της οικογένειας LS TTL δίνουν 0,4 ma, στη χαµηλή κατάσταση (Πίνακας 31, σελ.15). Οι έξοδοι του 8051 στη χαµηλή κατάσταση µπορούν να δεχτούν 1,6 ma. Άρα, οι έξοδοι του 8051 µπορούν να οδηγήσουν µέχρι 4 εισόδους LS TTL. Στην οικογένεια αυτή, όµως, όταν µία είσοδος δέχεται λογικό 1, απαιτεί ρεύµα 20 µα. Αυτό σηµαίνει ότι, επειδή οι έξοδοι του 8051 δίνουν 60 µα, µπορούν, τελικά, να οδηγήσουν µόνο 3 εισόδους TTL (TTL fanout=3) για περιθώριο θορύβου 1,5 V. Σε περιπτώσεις που δεν ταιριάζουν οι στάθµες τάσης και ρεύµατος, θα πρέπει να χρησιµοποιηθούν αντιστάσεις pullup, αποµονωτές ή άλλες τεχνικές για την προσαρµογή τους. Όπως ήδη περιγράφηκε, οι γραµµές των θυρών του 8051 δίνουν λογικό 0 γειώνοντας τη γραµµή µε ένα τρανζίστορ FET. ε δίνουν, όµως, λογικό 1 συνδέοντας µε τρανζίστορ τη γραµµή µε την τάση τροφοδοσίας. Αυτό γίνεται, επειδή η γραµµή πρέπει να µπορεί να χρησιµοποιηθεί και ως είσοδος. Για το λόγο αυτό δίνουν λογικό 1 συνδέοντας τη γραµµή µε αντίσταση pullup µε την τάση τροφοδοσίας. Η αντίσταση αυτή είναι πολύ µεγάλης τιµής και, έτσι, το λογικό 1 του 8051 δεν είναι πολύ σταθερό. Γενικά, επιδιώκεται η ενεργοποίηση φορτίων από τις γραµµές του 8051 µε λογικό 0. Στο reset, ο κατασκευαστής του µικροελεγκτή επέλεξε να τίθενται όλες οι γραµµές σε λογικό 1, ώστε να απενεργοποιούνται όλες οι διασυνδεµένες συσκευές. Όπως φαίνεται και στη σελ. 15, µπορούµε, µε τις γραµµές του 8051, να ελέγχουµε φορτία µέχρι 1,6 ma δίνοντας απευθείας γείωση σ αυτές. Εάν δεν ενδιαφέρει η τήρηση των προδιαγραφών των τάσεων, όπως, για παράδειγµα, στο άναµµα ενός LED, τότε µπορούµε να ελέγξουµε απευθείας, από µία γραµµή θύρας, φορτία µέχρι 10 ma. Για µεγαλύτερα φορτία πρέπει να συνδέεται τρανζίστορ και να ελέγχεται η βάση του από τη θύρα. Με ένα τρανζίστορ ελέγχουµε (αναβοσβήνουµε) το ρεύµα του LED, που είναι µικρό. Εάν θα θέλαµε να ελέγξουµε µεγάλο ρεύµα, θα χρειαζόµαστε µεγαλύτερο ρεύµα στη βάση του τρανζίστορ προκειµένου αυτό να οδηγηθεί στον κόρο. Για να πάει, όµως, στην αποκοπή το τρανζίστορ, θα πρέπει να απορροφήσει το ρεύµα αυτό η γραµµή της θύρας. Επειδή το ρεύµα που µπορεί να απορροφήσει µία έξοδος των θυρών Ρ1, Ρ2 ή Ρ3 είναι 1,6 ma, τα κυκλώµατα που φαίνονται στο Σχήµα 37 δεν συνιστώνται για µεγάλα φορτία. Θα χρειαστεί, εποµένως, για τον έλεγχο µεγάλων φορτίων ένα επιπλέον τρανζίστορ, για να ελέγχει το ρεύµα της βάσης του οδηγού τρανζίστορ. Συχνά, χρησιµοποιούνται τρανζίστορ MOSFET που µπορούν να χειριστούν εύκολα µεγάλα ρεύµατα και οδηγούνται απευθείας από γραµµές θύρας. +5V +5V Px.x Rb 2N2907 B E +5V Rc C A Rc Rb K A Px.x B C 2N2222 K E Σχήµα 37. Οδήγηση LED από εξόδους του 8051 3.4.2. Οδήγηση των γραµµών εισόδου Μπορούµε να οδηγήσουµε τις εισόδους του 8051 από εξόδους πυλών όλων των λογικών οικογενειών (Σχήµα 38). Για να οδηγήσουµε τις εισόδους από διακόπτες, µπουτόν, τερµατικά ή άλλες µηχανικές επαφές, θα πρέπει να έχουµε υπόψη µας τα εξής: Εάν η επαφή δίνει γείωση, πρέπει να βάλουµε µία αντίσταση πρόσδεσης µε την τάση τροφοδοσίας (pullup), ώστε να προσδιορίζεται η λογική στάθµη 1, όταν η επαφή είναι ανοικτή. Η εν λόγω αντίσταση είναι απαραίτητη µόνο στη θύρα Ρ0, επειδή οι άλλες θύρες έχουν ενσωµατωµένες αντιστάσεις pullup. Εάν η επαφή δίνει τάση +5V, θα πρέπει να βάλουµε µία αντίσταση πρόσδεσης µε τη γείωση (pulldown), ώστε να προσδιορίζεται η λογική στάθµη 0, όταν η επαφή είναι ανοικτή. Η αντίσταση των 10Κ, που συνηθίζεται ως αντίσταση pulldown, δεν είναι κατάλληλη στις γραµµές των θυρών Ρ1, Ρ2 και Ρ3 λόγω των ενσωµατωµένων pullup αντιστάσεων. Χρησιµοποιείτε αντιστάσεις 3,3 ΚΩ. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 21

Εάν το σήµα που φέρνει πληροφορία στον 8051 έχει διαφορετικές στάθµες από 0 V και +5 V (στάθµες TTL), αυτές θα πρέπει να µετατραπούν σε στάθµες TTL µε κατάλληλα ηλεκτρονικά κυκλώµατα. Συνήθως, είναι επιθυ µητή και η γαλβανική αποµόνωση των γραµµών των σηµάτων από τις εισόδους του 8051. Ένα συνηθισµένο κύκλωµα που επιτυγχάνει µετατροπή τάσεων και απόζευξη χρησιµοποιεί οπτοζεύκτη (optocoupler). Px.x 3 2 1 P1,2,3.x +5V Px.x +5V Px.x 10K 3K3 Σχήµα 38. Οδήγηση των εισόδων του 8051 DC In +5V R 10K Px.x Σχήµα 39. Χρήση οπτοζεύκτη Η τιµή της αντίστασης R υπολογίζεται από την τιµή της τάσης εισόδου, το ρεύµα που απαιτεί το LED του οπτοζεύκτη (συνήθως 20 ma) και την πτώση τάσης πάνω στο LED (συνήθως 2 V). Εάν βάλετε µικρή τιµή αντίστασης, ώστε να οδηγήσετε το LED µε το µέγιστο ρεύµα που επιτρέπουν οι προδιαγραφές, θα έχετε είσοδο ανεπηρέαστη από τα παράσιτα, αλλά θα απαιτείτε µεγάλο ρεύµα από την έξοδο που θα οδηγεί τον οπτοζεύκτη. 3.4.3. ιάβασµα των εισόδων Όταν ο 8051 διαβάζει τους ακροδέκτες του ως εισόδους, άλλοτε διαβάζει το latch της θύρας και άλλοτε την κατάσταση του ακροδέκτη, ανάλογα µε την εντολή που εκτελείται. Εάν, για παράδειγµα, συνδέσουµε µία έξοδο του 8051 στη βάση ενός τρανζίστορ χωρίς αντίσταση (npn τρανζίστορ στο Σχήµα 37), η τάση εξόδου του ακροδέκτη θα είναι 0,6 V που αναγνωρίζεται ως λογικό 0. Για να γυρίσουµε το τρανζίστορ ON (στον κόρο), πρέπει να στείλουµε λογικό 1 στη γραµµή αυτή. Εάν, µετά, διαβάσουµε τον ακροδέκτη αυτόν µε εντολή εισόδου, τότε, αν η εντολή διαβάσει το latch, θα διαβάσει 1, ενώ, αν διαβάσει τον ακροδέκτη, θα διαβάσει 0 (βλέπε και Σχήµα 31). Εάν µία εντολή διαβάζει µόνον τη θύρα, διαβάζει τον ακροδέκτη. Αν τροποποιεί τη θύρα, διαβάζει το latch. Ο λόγος είναι προφανής: εάν µία εντολή τροποποιεί µία θύρα, υποτίθεται ότι τροποποιούµε αυτό που έχουµε γράψει νωρίτερα. Έτσι, διαβάζεται το latch, γίνεται η τροποποίηση και ξαναστέλνονται τα δεδοµένα στο latch εξόδου. Οι εντολές που διαβάζουν το latch είναι οι: ANL, ORL, XRL, JBC, CPL, INC, DEC, DJNZ, MOV Px.y,C, CLR Px.y και SETB Px.y. Όλες οι παραπάνω εντολές διαβάζουν το περιεχόµενο του latch (Read), το τροποποιούν (Modify) και το ξαναγράφουν στο latch εξόδου και, τελικά, στις γραµµές (Write). Για το λόγο αυτό λέγονται και εντολές RMW. Με τις υπόλοιπες εντολές, που διαβάζουν τη θύρα, υποτίθεται ότι θέλουµε να δούµε τη λογική τιµή που εµφανίζεται εκείνη τη στιγµή στην είσοδο. Έτσι, διαβάζεται ο ακροδέκτης. Νικολαΐδης Νικ. Σηµειώσεις Μικροελεγκτών Σελ. 22