Microcontroller Programming

General

Course Contents

  • Introduction to embedded systems, introduction to microcontrollers and digital signal processors (DSP), microcontroller applications.
  • Elements of microcontroller architecture, data bus, address bus, clock frequency, instruction types, Arithmetic Logic Unit (ALU), internal registers, interrupts, memory management, addressing modes.
  • Case study on 8-bit PIC microcontrollers.  Memory map, Special Function Registers (SFRs), General Purpose Registers (GPRs), assembly instruction set, physical programming and configuration bits, C compilers. I/O management, interrupt vector, EEPROM, ADC. PIC microcontroller peripherals.
  • Case study on 8-bit AVR microcontrollers, application examples.
  • Case study on Arduino (based on AVR 8-bit). Introduction to Arduino platform, Arduino hardware versions, programming environment. Applications with Arduino.

Educational Goals

Παρουσιάζεται η αρχιτεκτονική και οι αρχές προγραμματισμού μικροελεγκτών 8-bit, με έμφαση στους μικροελεγκτές PIC και AVR. Παρουσιάζονται οι αρχές διαχείρισης εισόδου/εξόδου, χρονισμού και σημάτων διακοπής. Περιγράφονται περιφερειακές μονάδες σύγχρονης και ασύγχρονης επικοινωνίας, μονάδες PWM, μετατροπείς αναλογικού σήματος σε ψηφιακό και η σύνδεση με βασικές οθόνες απεικόνισης. Τέλος, αναφέρονται βασικές τεχνικές πολυδιεργασίας σε μικρά ενσωματωμένα συστήματα. Στο εργαστήριο, οι φοιτητές εξοικειώνονται με εργαλεία προγραμματισμού μικροελεγκτών PIC και AVR. Γίνεται ειδική θεωρητική και εργαστηριακή αναφορά στον μικροελεγκτή Arduino.

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση:

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

General Skills

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών.
  • Αυτόνομη και Ομαδική εργασία.
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης.
  • Σχεδιασμός και Διαχείριση Έργων.

Teaching Methods

  • Θεωρητική διδασκαλία, με χρήση power point.
  • Εργαστηριακές ασκήσεις με χρήση του λογισμικού MPLAB IDE και Arduino IDE. Χρήση αναπτυξιακών κυκλωμάτων για τον προγραμματισμό μικροελεγκτών.

Use of ICT means

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

Teaching Organization

ActivitySemester workload
Lectures39
Laboratory Exercises13
Writing laboratory reports26
Autonomous Study47
Total125

Students Evaluation

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

  1. Ο βαθμός του θεωρητικού μέρους διαμορφώνεται από γραπτή τελική εξέταση, που μπορεί να περιλαμβάνει:
    • Ανάπτυξη θεωρητικών θεμάτων.
    • Επίλυση προβλημάτων εφαρμογής των γνώσεων που αποκτήθηκαν.
    • Ερωτήσεις πολλαπλής επιλογής.
    • Ερωτήσεις σύντομης απάντησης.
  2. Η εξέταση των ασκήσεων του εργαστηρίου περιλαμβάνει:
    • Tην αξιολόγηση των γραπτών εργαστηριακών αναφορών.
    • Tελική εξέταση πάνω σε κώδικα που αναπτύσσει ο/η φοιτητής/τρια στο εργαστήριο.

Recommended Bibliography

Προτεινόμενη Βιβλιογραφία από εκδόσεις του Ιδρύματος ή της ηλεκτρονικής σελίδας του μαθήματος:

  1. Μικρά Ενσωματωμένα Συστήματα (Με εισαγωγή στις εφαρμογές πραγματικού χρόνου), Ι. Καλόμοιρος, 2012.

Προτεινόμενη Βιβλιογραφία μέσω Ευδόξου:

  1. Σ. Αλατσαθιανός, Μικροελεγκτές PIC, Εκδόσεις Γκιούρδα, 2008.
  2. Δ. Πογαρίδης, Οι Μικροελεγκτές AVR και Arduino, Εκδόσεις Δίσιγμα, 2015.
  3. Μ. Δασυγένης, Δ. Σούντρης, Σχεδιασμός Ενσωματωμένων Συστημάτων, Εκδόσεις DaVinci, 2016.

Προτεινόμενη Βιβλιογραφία για το Εργαστήριο:

  1. Ι. Καλόμοιρου, Εργαστηριακές Σημειώσεις για τους μικροελεγκτές PIC και Arduino, 2012.