micro-PC+conn.AA

=** Σύνδεση microcontroller ATMEL **** 89C51RD2 **** με PC **= =** μέσω σειρ. θύρας RS232c **= //** Α. Ανδρεάτος, Φεβ. 08 **//

Περιεχόμενα
Περίληψη Summary.................................................................................................. 1 1. Εισαγωγή.............................................................................................. 2 2. Πίνακας υλικών...................................................................................... 2 3. Κατασκευή του κυκλώματος...................................................................... 4 4. Έλεγχος λειτουργίας................................................................................ 5 5. Προγραμματισμός μικροελεγκτή 89C51RD2 μέσω της σειριακής θύρας ............. 5 5.1 Οδηγίες χρήσης του προγράμματος FLIP της ATMEL.................................. 5 6. Συμπεράσματα – Εφαρμογές στην Σ.I. Πηγές – Βιβλιογραφία................................................................................ 12 Ιστότοποι............................................................................................. 12 Βιβλία.................................................................................................. 12 ΠΑΡΑΡΤΗΜΑ ........................................................................................... 13 Προδιαγραφες μικροελεγκτή 89C51RD2 της ATMEL...................................... 13 Τεχνικά χαρακτηριστικά του μικροελεγκτή.................................................. 15

Περίληψη
Βασικός σκοπός αυτής της εργαστηριακής άσκησης είναι να επιτύχουμε επικοινωνία μεταξύ ενός μικροελεγκτή 89C51RD2 και ενός υπολογιστή. Για την επικοινωνία χρησιμοποιείται λογισμικό συμβατό με τον μικροελεγκτή. Το κύκλωμα βασίζεται στον μικροελεγκτή 89C51RD2 της εταιρείας ATMEL [ www. atmel. com ]. Η επικοινωνία με τον υπολογιστή πραγματοποιείται μέσω της σειριακής θύρας RS 232c. Η επικοινωνία υλοποιείται με το πρόγραμμα FLIP. Μ' αυτήν την διάταξη μπορούμε να ελέγξουμε την ενσωματωμένη μνήμη Φλας του μικροελεγκτή. Για σκοπούς επίδειξης χρησιμοποιήθηκε ένα απλό πρόγραμμα παραγωγής τετραγωνικών παλμών.

Summary
The purpose of this laboratory exercise is to achieve communication between a 8051-compatible microcontroller and a PC. The communication is achieved through the serial port RS232c of the personal computer. Appropriate software -called FLIP- is used. The circuit includes a 89C51RD2 microcontroller from ATMEL and other secondary electronic components. With this circuit we manage to program our microcontroller with a sample program which produces square waveforms 0—5 V.

=1. Εισαγωγή= Η εμφάνιση μικροελεγκών [Ίντελ 1898α] με ενσωματωμένη μνήμη φλας [Ανδρεάτος, 2001. Ανδρεάτος, 2008. Data Sheet της ATMEL ] έδωσε την δυνατότητα εύκολου προγραμματισμού [επίσης: ανάγνωσης, διαγραφής] του ενσωματωμένου προγράμματος χωρίς εξαγωγή του ωλοκληρωμένου από την πλακέττα, όπως γινόταν παλιά με τις μνήμες EPROM. Έτσι οι διάφορες κατασκευάστριες εταιρείες για να διευκολύνουν τους σχεδιαστές – κατασκευαστές προτύπων μΥ/Σ, κυκλοφόρησαν προγράµµατα και σχετικά κυκλώματα για σύνδεση των προϊόντων τους με ΗΥ μέσω σειριακής θύρας, για λ.σ. Windows με γραφικό περιβάλλον [Νικολαΐδης, 2002]. Η κατασκευή μας βασίζεται σ' ένα τέτοιο κύκλωμα ενώ χρησιμοποιείται το λογισμικό FLIP [Flexible ... ] της εταιρείας ATMEL. =2. Πίνακας υλικών= Για την κατασκευή του κυκλώματος χρησιμοποιήθηκαν τα παρακάτω υλικά [Νικολαΐδης, 2002] : 1. Μικροελεγκτής 89C51RD2 της εταιρείας ATMEL [τεχνολογίας CMOS ] 2. Ολοκληρωμένο MAX 232 (5 V powered  multi - channel RS232 drivers and receivers) 3. Ολοκληρωμένο ULN 2803 A ( Darlington transistor array)- Προαιρετικό 4. Πυκνωτές ( 47 μ F 35 V (1 τεμ) 1μ F 63 v (6 τεμ) ) 5. Αντιστάσεις (4 τεμ) 6. Κρύσταλλος (12 Μ Hz) 7. Προσαρμογέας θύρας RS232 8. Σειριακό καλώδιο 9. Διακόπτες S2: πλήκτρο RESET, S1 = Διακόπτης προγ/σμού. Το κύκλωμα τροφοδοτείται με 5 V. Χρειάζεται προσοχή στην συνδεσμολογία των πυκνωτών του MAX 232. Το κύκλωμα φαίνεται στο Σχ. 1. Το διάγραμμα ακίδων του 89C51RD2 φαίνεται στο Σχ. 2. Στο δικό μας κύκλωμα δεν έχουμε ενσωματώσει το ULN 2803 A και τον βομβητή για απλοποίηση της κατασκευής. Εξ άλλου δεν χρειάζεται ο σταθεροποιητής 7805 γιατί χρησιμοποιείται εξωτερικό τροφοδοτικό 5 V. Για κατασκευή εξωτερικού τροφοδοτικού 5 V με τον σταθεροποιητή 7805 βλ. [ Ανδρεάτος, 2008: Παράρτημα ΙΑ΄].
 * 10. ** Φωτοδίοδοι ( LED)



Σχήμα 1 – Το θεωρητικό κύκλωμα ** Το σήμα επανάθεσης ( RESET ) είναι θετικής λογικής, δηλ. καθαρίζεται ο απαριθμητής προγράμματος [γίνεται 0] όταν RESET =1 [Ίντελ, 1898]. Το κύκλωμα χρησιμοποιεί έναν πυκνωτή [στο σχήμα φαίνεται αντίστροφα πολωμένος] για εκκαθάριση με την τροφοδότηση [Ίντελ, 1898] και ένα πλήκτρο που βραχυκυκλώνει με το Vcc για εκκαθάριση κατά βούληση του χρήστη.
 * ΠΗΓΗ: [Νικολαΐδης, 2002] **
 * Παρατήρηση **

=3. Κατασκευή του κυκλώματος= Η κατασκευή υλοποιήθηκε σε διάτρητη πειραματική πλακέττα με νησίδες και κολλημένα συρματάκια όπως περιγράφεται στο [Ανδρεάτος, 2008-εργ]. =4. Έλεγχος λειτουργίας= Μετά την κατασκευή του κυκλώματος ακολουθεί ο έλεγχος για να διαπιστωθεί κατά πόσο το κύκλωμα δουλεύει σωστά. Τα βήματα που ακολουθούμε για τον έλεγχο της λειτουργίας του είναι τα εξής [Ανδρεάτος, 2008-εργ] : 1. Αρχικά ελέγχουμε τις συνδέσεις της πλακέττας με Ωμόμετρο με βομβητή. 2. Ύστερα ελέγχουμε την τροφοδοσία να είναι 5 V. 3. Κατόπιν ελέγχουμε τις ακίδες τροφοδοσίας και γείωσης όλων των ολοκληρωμένων για να σιγουρευτούμε ότι παίρνουν την απαιτούμενη τάση. Για τον μικροελεγκτή η ακίδα τροφοδοσίας είναι το ποδαράκι νο.40 ( Vcc ). Ύστερα τοποθετούμε τα ολοκληρωμένα. 4. Στη συνέχεια ελέγχουμε το κύκλωμα ταλάντωσης (ακίδες 18 και 19 όπου συνδέεται ο κρύσταλλος). Θα παρατηρήσουμε στον παλμογράφο δύο ημιτονοειδείς κυματομορφές συχνότητας ίσης με τη συχνότητα του κρυστάλλου αλλά διαφορετικού πλάτους. 5. Εφόσον οι παραπάνω ακίδες είναι εντάξει, παρατηρούμε την έξοδο των ακίδων 30 όπου βγαίνει το σήμα ALE ( Address Latch  Enable ) και 29 όπου βγαίνει το σήμα PSEN ( Program  Store  Enable ). Αυτά πρέπει να είναι τετραγωνικές κυματομορφές όχι συμμετρικές. =5. Προγραμματισμός μικροελεγκτή 89C51RD2 μέσω της σειριακής θύρας=
 * Σχήμα 2 – Το διάγραμμα ακίδων του 89C51RD2 **
 * ΠΗΓΗ: **** Data ** ** Sheet **** της **** ATMEL **
 * [[image:file:clip_image006.jpg width="289" height="190"]][[image:f1.back.pcb1.jpg width="284" height="188" align="left"]] || [[image:file:clip_image008.jpg width="333" height="191"]][[image:f2.back.pcb2.jpg align="left"]] ||
 * [Φωτ. 1]. = κάτω όψη της πλακέττας **

Χρησιμοποιήσαμε το πρόγραμμα FLIP της εταιρείας ATMEL.

__ 5.1 Οδηγίες χρήσης του προγράμματος ____ FLIP ____ της ____ ATMEL __
1. Εγκαθιστούμε το πρόγραμμα στο PC. Εκτελούμε το πρόγραμμα FLIP και εμφανίζεται η παρακάτω οθόνη που αποτελεί την αρχική οθόνη του προγράμματος [Νικολαΐδης, 2002] :

Σχήμα 3 – Η οθόνη του Φλιπ ** Στην κάτω αριστερή γωνία του παραθύρου προτείνεται από το πρόγραμμα η εργασία που πρέπει να ακολουθήσουμε κάθε φορά. 2. Επιλέγουμε Device –> Select από το μενού και στο παράθυρο που εμφανίζεται επιλέγουμε τον μικροελεγκτή 89 C 51 RD 2.

Σχήμα 4 – Επιλογή του 89C51RD2 ** 3. Από το μενού Settings – Communications – RS 232 επιλέγουμε τον τρόπο επικοινωνίας – στη περίπτωσή μας η σειριακή θύρα RS 232 - του μικροελεγκτή με τον υπολογιστή.





Σχήμα 5 – Επιλογή του διαύλου επικοινωνίας ** Στο παράθυρο που θα εμφανιστεί επιλέγουμε τη σειριακή θύρα στην οποία συνδέσαμε το καλώδιο και τη επιθυμητή ταχύτητα επικοινωνίας. Για να βρούμε τη μέγιστη κατάλληλη ταχύτητα επικοινωνίας μπορούμε να πειραματιστούμε μέχρι το τέλος του βήματος αυτού στα 19200 b / s και μετά εάν έχουμε επιτυχία δοκιμάζουμε σε υψηλότερες ταχύτητες [Νικολαΐδης, 2002].





Σχήμα 6 – Επιλογή του ρυθμού δεδομένων ** Αφού ολοκληρώσουμε και αυτό το βήμα δίνουμε γείωση στον ακροδέκτη PSEN με τον διακόπτη S 1 για να επιλέξουμε λειτουργία προγραμματισμού. Στη συνέχεια κάνουμε Reset με ττον διακόπτη S 2. Στο PC πατάμε Connect.



Σχήμα 7 – Σύνδεση και συγχρονισμός σειρ. θυρών **** PC **** - 89C51RD2 ** Ελέγχουμε τη ταχύτητα σύνδεσης πιέζοντας το κουμπί Synchro. πρέπει να εμφανιστεί μήνυμα επιβεβαίωσης συγχρονισμού στο κάτω αριστερό μέρος της οθόνης. Κλείνουμε το παράθυρο RS 232 (πατώντας το X ). 4. Πατάμε File – Load και επιλέγουμε το πρόγραμμα που θέλουμε να βάλουμε στον μικροελεγκτή το οποίο είναι ένα αρχείο με κατάληξη hex. Στην περίπτωσή μας, είναι το Test101.hex. Μέσω του προγράμματος FLIP μπορούμε να ελέγξουμε τον κώδικα που φορτώσαμε με τη επιλογή Buffer – Edit.



Σχήμα 8 – Μετά τον συγχρονισμό εμφανίζονται τα στοιχεία του 89C51RD2 ** Όταν επιτευχθεί η επικοινωνία, στο δεξί μέρος της οθόνης του ΦΛΙΠ θα εμφανισθούν τα στοιχεία του μικροελεγκτή μας.



Σχήμα 9 – Αν θέλουμε μπορούμε να κάνουμε αλλαγές στην ενδιάμεση μνήμη ** 5. Δίνουμε γείωση στον ακροδέκτη PSEN με το διακόπτη S 1 και δίνουμε για λίγο υψηλή τάση στον ακροδέκτη Reset με το κουμπί S 2. Ελέγχουμε ότι είναι ενεργοποιημένο το “ Level 0. No security ” 6. Γράφουμε τον κώδικα στον μικροελεγκτή με την ακόλουθη διαδικασία : Ενεργοποιούμε τα τετραγωνάκια Erase και Program στη καρτέλα Operations Flow και πατάμε το κουμπί Run. 7. Βγάζουμε τη γείωση από τον ακροδέκτη PSEN (διακόπτης S 1) και κάνουμε reset (κουμπί S 2). Πρέπει αν δούμε τον κώδικά μας να εκτελείται. [Βίντεο 1: Στις ακίδες 1,2,3 παράγονται τετραγωνικές κυμματομορφές ]. media type="file" key="8051-RS232c.MOV" Στην πλακέττα διακρίνονται: Στο κέντρο ο μικροελεγκτής, αριστερά η είσοδος τροφοδοσίας, δεξιά ο διακόπτης S1 [Pro gram / Run ], πάνω δεξιά το MAX 232 με τους πυκνωτές και αριστερά του το καλώδιο σύνδεσης με την σειρ. θύρα του PC. Αριστερά του μικροελεγκτή είναι το πλήκτρο Reset.

Φωτ. 2 **** – Η πειρ. πλακέττα ** =6. Συμπεράσματα – Εφαρμογές στην Σ.I.= Με την συγκεκριμένη πειραματική διάταξη μπορούμε εύκολα και γρήγορα ν' αναπτύξουμε προγράµµατα που δεν έχουν μεγάλες απαιτήσεις σε περιφερειακά (λόγω του περιορισμένου μεγέθους του κυκλώματος και του μικρού χώρου της πλακέττας). [Intel 1989β]. =Πηγές – Βιβλιογραφία=

Α. Βιβλία

 * 1) Α. Ανδρεάτου: Εισαγωγή στα Μικροϋπολογιστικά συστήματα. Κλειδάριθμος 2001.
 * 2) Α. Ανδρεάτου: Σημειώσεις εργαστηρίου Μικρεπεξεργαστών, Δεκέλεια 2008.
 * 3) 8-bit Embedded Controller Handbook. Intel 1989. Εγχειρίδιο μικροελεγκτών της Ίντελ.
 * 4) 8-bit Embedded Controller applications Handbook. Intel 1989β. Εγχειρίδιο εφαρμογών μικροελεγκτών της Ίντελ.
 * 5) Ν. Νικολαΐδη, Ασκήσεις με τον 8051. Θεσσαλονίκη 2002. Σημειώσεις Εργαστηριακών Ασκήσεων ΤΕΙ Θεσσαλονίκης.
 * 6) Data  Sheet της εταιρείας ATMEL (παρατίθεται σε μορφή PDF ).

Β. Ιστότοποι
1/ [|www.atmel.com] 2/ [|www.sst.com] 3/ [|www.microcontroller.com]

Γ. ΒΙΝΤΕΟ

 * 1) [|http://www.youtube.com/watch?v=zPVqNfDXwLc .
 * 2) [|http://www.youtube.com/watch?v=S-qBVq6-E3A  [my 1st robot]
 * 3) http://www.youtube.com/watch?v=fsf7pJ0L1do [xgame station]
 * 4) http://www.youtube.com/watch?v=Y_1IaktaWLw [Led cycling with a PIC microcontroller]

=ΠΑΡΑΡΤΗΜΑ=

[[image:file:clip_image028.jpg width="673" height="865"]] Τεχνικά χαρακτηριστικά του μικροελεγκτή
Το κύκλωμα που κατασκευάσαμε στηρίζεται στον μικροελεγκτή __89C51RD2__ της εταιρείας __ ATMEL __. Παρακάτω παρατίθενται τα χαρακτηριστικά του μικροελεγκτή από το data seat της εταιρείας : • ** 80C52 Compatible ** - ** 8051 Pin and Instruction Compatible ** - ** Four 8-bit **** I/O ** ** Ports **** (or 6 in 64/68 Pins Packages) ** - ** Three 16-bit Timer/Counters ** - ** 256 bytes Scratch Pad RAM ** - ** 7 Interrupt Sources With 4 Priority Levels ** • ** ISP (In-System Programming) Using Standard V **** CC **** Power Supply ** • ** Boot Flash Contains Low Level Flash Programming Routines and a Default Serial ** • ** High-Speed Architecture ** - ** 40 MHz in Standard Mode ** - ** 20 MHz in X2 Mode (6 Clocks/Machine Cycle) ** • ** 64K bytes On-chip Flash Program/Data Memory ** - ** Byte and Page (128 bytes) Erase and Write ** - ** 100K Write Cycles ** • ** On-chip 1024 Bytes Expanded RAM (XRAM) ** - ** Software Selectable Size (0, 256, 512, 768, 1024 bytes) ** - ** 768 Bytes Selected at Reset for T87C51RD2 Compatibility ** • ** Dual Data Pointer ** • ** Improved X2 Mode with Independant Selection for CPU and Each Peripheral ** • ** 2K bytes EEPROM Block for Data Storage ** - ** 100K Write Cycle ** • ** Programmable Counter Array with ** - ** High Speed Output ** - ** Compare/Capture ** - ** Pulse Width Modulator ** - ** Hardware Watchdog Timer (One-time Enabled with Reset-out) ** • ** Power Control Modes: ** - ** Idle Mode ** - ** Power-down Mode ** • ** Power Supply: ** - ** M version: Commercial and Industrial ** - ** L version: Commercial and industrial ** • ** Temperature ** ** Ranges **** : Commercial (0 to +70 ** ° ** C) and Industrial (-40 to +85 ** ° ** C) ** • ** Packages: PDIL40, PLCC44, VQFP44, PLCC68, VQFP64 **  TELOS TOP media type="custom" key="487508"
 * Features **
 * Loader **
 * Variable Length MOVX for Slow RAM/Peripherals **
 * Watchdog Timer Capabilities **
 * Asynchronous Port Reset **
 * Full-duplex Enhanced UART **
 * Low EMI (Inhibit ALE) **
 * 4.5V to 5.5V: 40 MHz (X1 Mode), 20 MHz (X2 Mode) **
 * 3V to 5.5V: 33 MHz (X1 Mode), 16 MHz (X2 Mode) **
 * 2.7V to 3.6V: 25 MHz (X1 Mode), 12 MHz (X2 Mode) **