Παρουσιαση βιβλιου

Για πανεπιστημιακή εκπαίδευση

ΑΣ ΞΕΚΙΝΗΣΟΥΜΕ

Ταυτότητα


Εκδόσεις: ΚΛΕΙΔΑΡΙΘΜΟΣ, Αθήνα
ISBN: 978-960-418-712-6
Κωδικός ΕΥΔΟΞΟΥ:59396174
Έκδοση:
Έτος έκδοσης: 2017
Σελίδες: 536

536 σελίδες

Ένα βιβλίο που απομυθοποιεί τα πιο δύσκολα θέματα του μικροελεγκτή και σας μαθαίνει τον προγραμματισμό του

Ποικιλία θεμάτων

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

Συνοδευτικό υλικό

Διαφάνειες μελέτης και διδασκαλίας, καθώς και πηγαίος κώδικας

Γενικά

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

Διάρθρωση περιεχομένου

Το βιβλίο αποτελείται από 13 κεφάλαια τα οποία είναι πλαισιωμένα με ασκήσεις επανάληψης, καθώς και εργαστηριακές ασκήσεις.

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

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

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

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

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

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

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

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

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

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

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

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

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

Γιατί να το επιλέξετε

Πολλοί επισκέπτες ρωτούν για το περιεχόμενο και τους σκοπούς του βιβλίου. Σε αυτή την ενότητα μπορείτε να βρείτε απαντήσεις σε συχνές ερωτήσεις σχετικά με το βιβλίο.

  • Γιατί χρειάζεται ένα ακόμα βιβλίο για τους μικροελεγκτές;

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

  • Οι μικροελεγκτές AVR αποτελούν τους δημοφιλέστερους μικροελεγκτές στον κόσμο, ανάμεσα σε επαγγελματίες μηχανικούς, φοιτητές μηχανικούς και χομπίστες. Φυσικά, για αυτό το λόγο επιλέγονται και από την πλειοψηφία των εκπαιδευτικών ιδρυμάτων. Οι μικροελεγκτές AVR 8bit, παρά το γεγονός ότι ακολουθούν την φιλοσοφία RISC, διαθέτουν πλούσιο ρεπερτόριο εντολών και πλήθος μεθόδων διευθυνσιοδότησης σε σχέση με άλλους μικροελεγκτές. Αυτά τα δύο χαρακτηριστικά σε συνδυασμό με την αρχιτεκτονική Harvard (ξεχωριστή μνήμη δεδομένων και προγράμματος), προσφέρουν ικανοποιητική απόδοση αλλά και ευελιξία στην ανάπτυξη των αντίστοιχων εφαρμογών.

  • Το βιβλίο αυτό δεν έχει στόχο να αποτελέσει μια στείρα συλλογή κατασκευών, τις οποίες μπορεί ο καθένας να υλοποιήσει, χωρίς από την άλλη μεριά να έχει την παραμικρή ιδέα για τον τρόπο που λειτουργούν. Άλλωστε, το ίντερνετ είναι γεμάτο από τέτοιες κατασκευές και ένα βιβλίο με συλλογή κατασκευών, θα ήταν πολύ φτωχό σε σχέση με αυτό το υλικό. Σε αντίθεση με την άποψη που θέλει τα βιβλία για τους μικροελεγκτές να περιλαμβάνουν απλά την παρουσίαση κατασκευών, κάτι που ανταποκρίνεται κυρίως στις απαιτήσεις που έχουν οι χομπίστες, το βιβλίο αυτό απευθύνεται σε φοιτητές μηχανικούς, εκπαιδευτικούς και ερευνητές σε σχολές μηχανικών, καθώς και επαγγελματίες μηχανικούς. Για αυτό το λόγο, έχει δοθεί ιδιαίτερη βαρύτητα στην αναλυτική εκπαιδευτική παρουσίαση μεγάλου πλήθους ενοτήτων που να περιλαμβάνουν βασικά αλλά και προχωρημένα χαρακτηριστικά. Ενδεικτικά, αναφέρουμε την αναλυτική παρουσίαση του προγραμματισμού των χρονιστών/μετρητών, της λειτουργίας της μονάδας μετατροπής αναλογικών σημάτων σε ψηφιακά, κλπ. Αναλυτικό υλικό για τον προγραμματισμό χρονιστών/μετρητών για παράδειγμα, πολύ δύσκολα θα βρείτε στην ελληνική και διεθνή βιβλιογραφία. Έτσι, κεντρικός στόχος του βιβλίου είναι να γνωρίσει ο αναγνώστης όλες τις λεπτομέρειες και τα χαρακτηριστικά λειτουργίας του μικροελεγκτή, καθώς και τις τεχνικές σχεδιασμού και προγραμματισμού των εφαρμογών, προκειμένου να έχει τις γνώσεις αλλά και την ελευθερία των επιλογών για να σχεδιάσει την επιθυμητή εφαρμογή. Για όλους τους παραπάνω λόγους, αυτό το βιβλίο αποτελεί ένα σημαντικό εκπαιδευτικό σημείο αναφοράς στην κατεύθυνση ανάπτυξης οποιασδήποτε εφαρμογής και δεν φιλοδοξεί σε καμία περίπτωση να αποτελέσει μια συλλογή κατασκευών για χομπίστες, συλλογή που μπορεί εύκολα να βρεθεί με μια απλή αναζήτηση στο ίντερνετ.

Δωρεάν Download υλικού & πρόσβαση

Διαφάνειες και πηγαίος κώδικας.



Πηγαίος κώδικας εφαρμογών (.zip, 204KB)
Παροράματα βιβλίου (PDF-Φεβρουάριος 2018)

Στείλτε μήνυμα στο συγγραφέα του βιβλίου

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

Φόρτωση...
Το μήνυμα εστάλη. Σας ευχαριστώ!