Α.Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού Θεσσαλονίκη, Ιανουάριος 2007
Η Άσκηση 8 του εργαστηρίου Μικροϋπολογιστών απαιτεί τη συνδεσμολογία ενός κυκλώματος σε ράστερ. Στο κύκλωμα αυτό μπορεί να γίνει εφαρμογή των εντολών που έγιναν γνωστές στις προηγούμενες ασκήσεις. Το κύκλωμα, σύμφωνα με τις σημειώσεις του Εργαστηρίου, είναι το εξής: Ένα παράδειγμα αυτού του κυκλώματος σε ράστερ είναι το εξής:
Κύρια στοιχεία του κυκλώματος: 1. Μικροελεγκτής AT89C51AC2 2. Ολοκληρωμένο MAX 232 3. Σταθεροποιητής τάσης 7805 4. Κρύσταλλος 12 MHz Οδηγίες Συναρμολόγησης του Κυκλώματος 1. Έχουμε ως κύριο οδηγό το σχεδιάγραμμα του κυκλώματος και ΟΧΙ τη φωτογραφία. Η φωτογραφία χρησιμεύει μόνο ως γενικός οδηγός τοποθέτησης των εξαρτημάτων. Τη συνδεσμολογία πρέπει να την κάνουμε με οδηγό το σχεδιάγραμμα. 2. Αρχίζουμε τις συνδέσεις από τα κοντά καλώδια και προχωράμε προς τα μακρύτερα. 3. Για να βάλουμε ένα καλώδιο: a. Απογυμνώνουμε το ένα του άκρο. b. Το τοποθετούμε στο ράστερ και δρομολογούμε το καλώδιο μέχρι το άλλο του άκρο. c. Κατά τη διάρκεια της δρομολόγησης δεν ακολουθούμε διαγώνιες διαδρομές και φροντίζουμε ώστε το καλώδιο να «Πατάει» καλά στο ράστερ. d. Σημαδεύουμε το σημείο όπου πρέπει να κοπεί το καλώδιο και το βγάζουμε. Το κόβουμε, απογυμνώνουμε και το άλλο του άκρο και ξαναβάζουμε το καλώδιο στη θέση του. 4. Κόβουμε τους ακροδέκτες των εξαρτημάτων ώστε αυτά να «Πατάνε» καλά στο ράστερ. 5. Όταν βάζουμε ένα καλώδιο στο ράστερ προσέχουμε να μην μπει μέσα και η μόνωση γιατί δε θα κάνει καλή επαφή. Μόλις μπει το καλώδιο μέσα στην τρυπούλα, ανοίγουν δύο ελάσματα και σφίγγουν το καλώδιο. Αν μπει και η μόνωση, τα ελάσματα σφίγγουν στη μόνωση και δεν ακουμπούν στον αγωγό. 6. Τα καλώδια να μην είναι παλιά, φθαρμένα ή σκουριασμένα. ΑΠΟΦΕΥΓΕΤΕ τα καλώδια UTP όσο και να επιμένει ο πωλητής. 7. Καλό θα είναι να τηρούμε έναν κώδικα στα χρώματα των καλωδίων, π.χ. κόκκινα για τα +5V, μπλε για τη γείωση, μαύρα για τα data, γκρίζα για τα control, κλπ. Λάθη που μπορεί να γίνουν: Η συνδεσμολογία του κυκλώματος, για κάποιον που την πραγματοποιεί πρώτη φορά και δεν έχει εμπειρία σε ηλεκτρονικά κυκλώματα, ίσως είναι λίγο δύσκολη. Κάποια ενδεικτικά λάθη που μπορεί να γίνουν είναι: 1. Ο συρταρωτός διακόπτης και το μπουτόν έχουν συνήθως 2 ή 3 άκρα. Κλασικό λάθος γίνεται όταν έχουν 3 άκρα να πραγματοποιούμε τη σύνδεση στο 1ο και στο 3ο άκρο ενώ πρέπει να χρησιμοποιούμε το 1ο - 2ο ή 2ο - 3ο. 2. Τυχαία βραχυκυκλώματα που μπορεί να γίνουν από απροσεξία, ενδεικτικό παράδειγμα ο πυκνωτής.
3. Δίνουμε τάση από το τροφοδοτικό απευθείας στην πλακέτα και καίγονται όλα τα ολοκληρωμένα. Προσοχή: το καλώδιο από το τροφοδοτικό πηγαίνει μόνο στον ακροδέκτη 1 του 7805 (τον αριστερό, όπως κοιτάμε το πλαστικό) και πουθενά αλλού. 4. Η αρίθμηση των ακροδεκτών των ολοκληρωμένων ξεκινάει από τον ακροδέκτη που είναι επάνω αριστερά όπως κρατάμε το ολοκληρωμένο με το σημαδάκι του προς τα επάνω. Προσοχή στο πλήθος των ακροδεκτών. 5. Χρησιμοποιούμε παλιά έτοιμα ράστερ των οποίων έχουν σκουριάσει οι επαφές και είναι προβληματικά. 6. Δεν προσέχουμε την πολικότητα των ηλεκτρολυτικών πυκνωτών.
Μετά από σωστή συνδεσμολογία του κυκλώματος, το τροφοδοτούμε με τάση και το συνδέουμε με τον υπολογιστή με το σειριακό καλώδιο. Προσοχή: όταν δίνουμε πρώτη φορά τάση έχουμε το δάχτυλό μας επάνω στον μικροελεγκτή. Αν αρχίσει να καίει στα πρώτα δευτερόλεπτα λειτουργίας, σημαίνει ότι έχουμε κάνει κάποιο λάθος. Σβήνουμε, τότε, ΑΜΕΣΩΣ την τάση τροφοδοσίας και ελέγχουμε το κύκλωμα. Οδηγούμε τον συρταρωτό διακόπτη στη γείωση και πατάμε μια φορά το μπουτόν για να «οδηγήσουμε» το κύκλωμα στη διαδικασία προγραμματισμού. Για την επικοινωνία του μικροελεγκτή με τον υπολογιστή υπάρχει ένα ειδικό πρόγραμμα από την εταιρία Atmel, το FLIP v2.4.6 το οποίο μπορούμε να το βρούμε στην ιστοσελίδα http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2767 καθώς και από την ιστοσελίδα του Εργαστηρίου http://micro.autom.teithe.gr στο σύνδεσμο «Χρήσιμα Αρχεία». Υπόδειξη για όσους έχουν κολλητήρι: Κόψτε κοντύτερο το ένα άκρο του LED και κολλήστε σ αυτό μία αντίσταση σε σειρά. Αυτό που θα προκύψει θα έχει δύο ακροδέκτες, έναν από το LED και έναν από την αντίσταση. Συνδέστε το απευθείας, χωρίς καλώδια, στο ράστερ, με τον ένα ακροδέκτη στον μικροελεγκτή και τον άλλον στα +5V. Σας αφήνει περισσότερο χώρο για τα άλλα πειράματα. Πρόγραμμα FLIP: Το πρόγραμμα FLIP έχει την εξής αρχική εικόνα:
Η πρώτη μας κίνηση είναι το εικονίδιο Select Device όπου θα επιλέξουμε το μικροελεγκτή T89C51AC2. Έπειτα διαλέγουμε το εικονίδιο Select Communication όπου θα επιλέξουμε το είδος της επικοινωνίας, τη σειριακή θύρα που έχουμε συνδέσει το καλώδιο με το ράστερ και την ταχύτητα επικοινωνίας μεταξύ τους:
Διαλέγουμε είδος επικοινωνίας RS232: Έπειτα διαλέγουμε τη σειριακή θύρα (συνήθως COM1) και την ταχύτητα επικοινωνίας 2400. Κανονικά, με κρύσταλλο 12 MHz, ο μικροελεγκτής πρέπει να επικοινωνεί μέχρι 57600 bps, αλλά ξεκινήστε από τη πιο χαμηλή ταχύτητα και, αν όλα πάνε καλά, ανεβείτε μία προς μία τις ταχύτητες μέχρις εκεί που έχετε επικοινωνία. Αν το κύκλωμα είναι σωστό και γίνει σωστά η επικοινωνία του μικροελεγκτή με τον υπολογιστή-flip, τότε το FLIP θα πάρει τη διπλανή μορφή.
Αρχικά, για να σβήσουμε την μνήμη από προηγούμενα προγράμματα πριν βάλουμε το καινούργιο πρόγραμμα, μπορούμε να κάνουμε Erase και Blank Check και να πατήσουμε Run. Η διαγραφή είναι προαιρετική επειδή ο μικροελεγκτής μπορεί να γράφει byte προς byte, διαγράφοντας το παλιό περιεχόμενο κάθε byte, πριν γράψει το καινούργιο. Προσοχή όμως γιατί αυτό κρύβει μια παγίδα, σε περίπτωση που δεν κάνουμε Erase το καινούργιο πρόγραμμα αν δεν «επικαλύπτει» προηγούμενες εντολές, τότε αυτές μένουν και μπορεί να επηρεάσουν το πρόγραμμα μας. Πρέπει να έχουμε ήδη δημιουργήσει ένα αρχείο HEX από το πρόγραμμα μvision το οποίο θα ανοίξουμε με το FLIP και θα προγραμματίσουμε τον μικροελεγκτή. Εάν δεν το έχουμε κάνει ήδη, ανοίγουμε το μvision και δημιουργούμε το αρχείο HEX. Για να φορτώσουμε το αρχείο HEX πηγαίνουμε στο Load HEX file (βλέπε επόμενη εικόνα). Προσοχή: Το Flip έχει πρόβλημα με τα μεγάλα ονόματα αρχείων και φακέλων. Ενώ το αρχείο υπάρχει και είναι κανονικό, βγάζει μήνυμα λάθους ότι δεν βρίσκει το αρχείο ή ότι δεν μπορεί να το φορτώσει. Για το λόγο αυτό, πρέπει να δημιουργείτε project σε ένα φάκελο στον αρχικό κατάλογο του σκληρού, π.χ. C:\8051. Εκεί, θα βρίσκετε και το αρχείο ΗΕΧ. Επίσης, πρέπει να προσέξετε ότι προεπιλογή στο μvision είναι να ΜΗΝ παράγεται το αρχείο ΗΕΧ. Πρέπει να πάτε με δεξί κλικ Options και να ενεργοποιήσετε την επιλογή «Create HEX file».
Βρίσκουμε τη διαδρομή που έχουμε σώσει το αρχείο HEX και το ανοίγουμε:
Έπειτα, τσεκάρουμε το Program και πατάμε Run. Το πρόγραμμα FLIP θα πρέπει να πάρει την εξής μορφή: Στο ράστερ:
Αλλάζουμε την θέση του συρταρωτού διακόπτη, πατάμε μια φορά το μπουτόν και το πρόγραμμα ξεκινάει! Αν δεν βρούμε συρταρωτό διακόπτη που να μπαίνει στο ράστερ και να κάθεται καλά, βάζουμε ένα δεύτερο μπουτόν στη θέση του. Επειδή ο διακόπτης αυτός (Program / Run) διαβάζεται μόνο στο reset μπορούμε να κάνουμε τον εξής χειρισμό: Πατάμε το μπουτόν Program, πατάμε το μπουτόν Reset, αφήνουμε το μπουτόν Reset, αφήνουμε το μπουτόν Program. Οι πρώτες 100 φορές είναι δύσκολες, μετά το συνηθίζεις. Για απορίες & συζητήσεις, βελτιώσεις & συνεργασία για δημιουργία παρομοίων συγγραμμάτων στο Forum των ΕΜΥ-ΕΜΕ. http://micro.autom.teithe.gr/forum