Εργαστήριο Εφαρµογών Μικροϋπολογιστών



Σχετικά έγγραφα
Εισαγωγή στη Χρήση της Εφαρµογής Compaq Visual Fortran & του Microsoft Developer Studio

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ

Συστήματα Μικροεπεξεργαστών

Ενσωµατωµένα Συστήµατα

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή



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

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

Οδηγίες χειρισµού. Οδηγίες χρήσεως driver B

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

Ενηµερώσεις λογισµικού Οδηγός χρήσης

2 Ο Ε.Κ.Φ.Ε. ΗΡΑΚΛΕΙΟΥ. Οδηγίες χρήσης PDFCreator

Εισαγωγή στο περιβάλλον Code::Blocks

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση)

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Σύνδεση στο δίκτυο του Πανεπιστηµίου µέσω modem (dial-up πρόσβαση) σελ. 1

ηµιουργία Αρχείου Πρότζεκτ (.qpf)

Εγκατάσταση. Εγκατάσταση του Wamp

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C


Ανάπτυξη εφαρμογής Input-Output

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Εξωτερικές συσκευές Οδηγός χρήσης

Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video

Οδηγίες EQL Desktop (rev ) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Εξωτερικές συσκευές Οδηγός χρήσης

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

VMV SYSTEMS. ΕΛΛΗΝΙΚΑ ΤΑΒ 4. 2 Τ Α Β Μαρτίου 64. Τ.Κ Λάρισα. Τηλ:(041) Fax: (041) Κιν:

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Εισαγωγή. Αντίθεση χρωµάτων και φωτεινότητα. Σειριακές θύρες

Εξωτερικές συσκευές Οδηγός χρήσης

Spim Cache. Εισαγωγή στη χρήση του προσοµοιωτή. Αρχιτεκτονική Υπολογιστών ΙΙ. Σπύρος Ξεργιάς, ηµήτρης Γκιζόπουλος, Πανεπιστήµιο Αθηνών

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

Μαθαίνοντας το hardware του αναπτυξιακού

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ARIS

Συσκευές δείκτη και πληκτρολόγιο

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Ο ΗΓΙΕΣ ΓΙΑ ΤΟ ΚΛΕΙΣΙΜΟ ΧΡΗΣΗΣ ΣΤΟ DYNAMICS NAV INNOVERA ERP

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Visual Basic Γλώσσα οπτικού

Εγχειρίδιο χρήσης του Άβακα

Αντικειμενοστρεφής Προγραμματισμός

COSMOTE E220 USB Modem (3G HSDPA 3.6Mbps) Εγχειρίδιο Χρήσης

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

AC-10S, AC- 10F. Πληκτρολόγια Access Control Για αυτόνοµη (stand alone) λειτουργία.

XnetTrader: ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΕΝΕΡΓΟΠΟΙΗΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ σε ΔΧΣ Τερματικό

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

2. ΣΥΝ ΕΣΗ ΤΟΥ NETMOD ΜΕ ΤΟΝ Η/Υ

Στο παράθυρο που θα εµφανιστεί πατήστε το κουµπί Unzip.

Εισαγωγή στη Χρήση του SPSS for Windows Σελίδα:


Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C

1. Εγκατάσταση του NetMeeting

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

Εξωτερικές συσκευές. Οδηγός χρήσης

Οδηγίες εγκατάστασης και χρήσης του Quartus

Σενάριο Εστίασης Win XP:

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Εγκατάσταση Emfsigner - Algobox (driver για Graphic & Draft παραστατικά) 1. ηµιουργία εικονικού εκτυπωτή (ανίχνευσης)

MultiBoot Οδηγός χρήσης

Δημιουργία μιας εφαρμογής Java με το NetBeans

Computer Setup Οδηγός χρήσης

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1

2. Με το εικονίδιο συντόμευσης στην επιφάνεια εργασίας των Windows.

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Lab 2 Manual - Introduction to Xilinx

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ

Alpha Web Banking Εργαλείο δηµιουργίας αρχείων Οδηγίες χρήσεως Αθήνα, Ιούλιος 2014

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

Εξωτερικές συσκευές. Οδηγός χρήσης

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

Ο ΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ. MS SQL Server Για τις ανάγκες των εφαρµογών της

Alpha Web Banking Εργαλείο δηµιουργίας αρχείων. Οδηγίες χρήσεως

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6.

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Transcript:

1. Εισαγωγή Ο Infotech CodeVisionAVR είναι ένας C cross compiler, µε δοµηµένο περιβάλλον ανάπτυξης και αυτοµατοποιηµένης παραγωγής κώδικα σχεδιασµένος για την οικογένεια των µικροελεγκτών AVR της Atmel. Το πρόγραµµα είναι µια τριανταδυάµπιτη εφαρµογή που τρέχει κάτω από τα λειτουργικά συστήµατα WINDOWS 95, 98, NT 4.0, 2000 και XP. Ο C cross compiler εφαρµόζει σχεδόν όλα τα στοιχεία της γλώσσας Ansi C, που υποστηρίζονται από την Αρχιτεκτονική AVR, µε µερικά χαρακτηριστικά γνωρίσµατα που προστίθενται για να εκµεταλλευθούν την ιδιοµορφία της αρχιτεκτονικής AVR. Το δοµηµένο περιβάλλον ανάπτυξης (Integrated Development Environment (IDE)) έχει ενσωµατωµένο έναν AVR Chip In-System Programmer που επιτρέπει την αυτόµατη µεταφορά του προγράµµατος στο chip του µικροελεγκτή µόλις ολοκληρωθεί µε επιτυχία η διαδικασία του compilation. O In-System Programmer σχεδιάστηκε για να λειτουργήσει για τα αναπτυξιακά board: Atmel STK500 Kanda Systems STK200+/300 Dontronics DT006 Vogel Elektronik VTEC-ISP Microtronics ATCPU Mega2000. Για τη διόρθωση των ενσωµατωµένων συστηµάτων, που χρησιµοποιούν την σειριακή επικοινωνία, το IDE έχει ένα ενσωµατωµένο τερµατικό. Εκτός από τις τυποποιηµένες βιβλιοθήκες C, ο µεταγλωττιστής CodeVisionAVR C έχει βιβλιοθήκες για: Alphanumeric LCD modules ίαυλος Philips I 2 C Αισθητήρες θερµοκρασίας LM75 της National Semiconductor Philips PCF8563, PCF8583, Dallas Semiconductor DS1302 και DS1307 Real Time Clocks Dallas Semiconductor 1 Wire protocol Dallas Semiconductor DS1820/DS1822 Temperature Sensors Dallas Semiconductor DS1621 Thermometer/Thermostat Σελίδα 1

Dallas Semiconductor DS2430 & DS2433 EPROM s SPI Power management Delays Μετατροπή κώδικα Gray. To CodeVisionAVR περιέχει επίσης τον CodeWizardAVR Automatic Program Generator, ο οποίος επιτρέπει γρήγορη ανάπτυξη κώδικα που απαιτείται για την εφαρµογή των ακόλουθων λειτουργιών: External memory access setup Chip reset source identification Αρχικοποίηση των Ι/Ο Ports Αρχικοποίηση εξωτερικών διακοπών Αρχικοποίηση των Timers / Counters Αρχικοποίηση Watchdog Timer Αρχικοποίηση UART και σειριακής επικοινωνίας µε χρήση διακοπών Αρχικοποίηση Αναλογικών συγκριτών Αρχικοποίηση ADC Αρχικοποίηση SPI Interface Αρχικοποίηση I 2 C Bus, αισθητήρα θερµοκρασίας LM75, DS1621 Thermometer/Thermostat και PCF8563, PCF8583, DS1302, DS1307 real time clocks. Αρχικοποίηση 1 Wire Bus και DS1820/DS1822 αισθητήρων θερµοκρασίας Αρχικοποίηση LCD module Σελίδα 2

2. ηµιουργία ενός νέου Project Μπορούµε να δηµιουργήσουµε ένα νέο Project επιλέγοντας από το µενού File New. Στο πλαίσιο διαλόγου που εµφανίζεται επιλέγουµε Project και στη συνέχεια ΟΚ. Εικόνα 3.2.1 Ένα νέο παράθυρο διαλόγου εµφανίζεται για να επιβεβαιώσει εάν θα επιθυµούσαµε να χρησιµοποιήσουµε τον CodeWizardAVR για να δηµιουργήσουµε το νέο πρόγραµµα. Εικόνα 3.2.2 Εάν δεν θέλουµε να χρησιµοποιήσουµε τον CodeWizardAVR επιλέγουµε Νο και στη συνέχεια θα ανοίξει παράθυρο διαλόγου Create New Project. Πρέπει να καθορίσουµε το νέο όνοµα αρχείου και τη θέση του. Εικόνα 3.2.3 Το αρχείο Project θα έχει την επέκταση prj. Μπορείτε να διαµορφώσoυµε το Project µε τη χρησιµοποίηση της εντολής επιλογών Project Configure. Για να χρησιµοποιήσουµε τον CodeWizardAVR επιλέγουµε YES. Σελίδα 3

3. Χρησιµοποιώντας τον CodeWizardAVR automatic program generator Η χρήση του CodeWizardAVR automatic program generator, απλοποιεί τη διαδικασία της δηµιουργίας κώδικα εκκίνησης για τους διάφορους τύπους µικροελεγκτών AVR. Εικόνα 3.3.1 Στο παράθυρο που παρουσιάζεται εµφανίζονται οι ρυθµίσεις του tab chip και επιλέγουµε το µικροελεγκτή AT90S8535 και σαν τιµή ρολογιού τα 4 MHz δεδοµένου ότι αυτή είναι η τιµή που προβλέπεται για το αναπτυξιακό STK200. Επιλέγουµε το tab "Ports" για να καθορίσουµε την αρχική κατάσταση των Ι/Ο Ports. Η προκαθορισµένη ρύθµιση είναι να έχουµε όλες τις πόρτες σαν εισόδους (εικόνα 3.3.2) Σελίδα 4

Εικόνα 3.3.2 Επιλέγοντας τα διάφορα tab µπορούµε να κάνουµε ρυθµίσεις για UART, Analog Comparator, ADC, SPI, I2C, 1Wire, LCD, Bit-Banged, External IRQ και των timers. Αφού ολοκληρώσουµε τις ρυθµίσεις από το µενού File επιλέγουµε Generate, Save and Exit και δίνουµε τα ονόµατα των αρχείων προς αποθήκευση. 4. Άνοιγµα ενός υπάρχοντος Project Μπορούµε να ανοίξουµε ένα υπάρχον αρχείο Project χρησιµοποιώντας την εντολή στην γραµµή επιλογών File Open ή µε την επιλογή Open της γραµµής εργαλείων. Ένα παράθυρο διαλόγου Open εµφανίζεται. Σελίδα 5

Εικόνα 3.4 Πρέπει να επιλέξoυµε το όνοµα αρχείου του Project που επιθυµούµε να ανοίξουµε. Επιλέγοντας Open θα ανοίξoυµε το αρχείο Project καθώς και τα αρχεία source. Μπορούµε να διαµορφώσουµε το Project µε τη χρησιµοποίηση της εντολής επιλογών Project Configure. 3.5 Προσθήκη σηµειώσεων ή σχολίων στο Project Με κάθε Project το CodeVisionAVR IDE δηµιουργεί ένα αρχείο κειµένου όπου µπορούµε να τοποθετήσουµε σηµειώσεις και σχόλια. Μπορούµε να έχουµε πρόσβαση σε αυτό το αρχείο χρησιµοποιώντας τις εντολές επιλογών Project Notes ή Windows. Αυτό το αρχείο µπορεί να τροποποιηθεί χρησιµοποιώντας τις τυποποιηµένες εντολές Editor. Το αρχείο σώζεται αυτόµατα όταν επιλέξουµε File Close Project ή κλείσουµε το πρόγραµµα CodeVisionAVR. Εικόνα 3.5 Σελίδα 6

6. ιαµόρφωση του Project Το Project µπορεί να διαµορφωθεί χρησιµοποιώντας την επιλογή µενού Project Configure ή το κουµπί στη γραµµή εργαλείων Project Configure. Προσθέτοντας ή αφαιρώντας ένα αρχείο από το Project Για να προσθέσουµε ή να αφαιρέσουµε ένα αρχείο από το τρέχον πρόγραµµα πρέπει να χρησιµοποιήσουµε την επιλογή µενού Project Configure. Ένα tab Configure Project θα ανοίξει. Πρέπει να επιλέξουµε το tab Files. Με την επιλογή του κουµπιού Add µπορούµε να προσθέσουµε ένα source αρχείο στο πρόγραµµα. Το πρώτο αρχείο που προστίθεται στο πρόγραµµα είναι το κύριο αρχείο προγράµµατος. Η διαδικασία Μake θα γίνεται για αυτό το αρχείο. Τα υπόλοιπα αρχεία που προστίθενται στο Project θα συνδεθoύν αυτόµατα µε το κύριο αρχείο προγράµµατος στη διαδικασία Μake. Εικόνα 3.6.1 Περισσότερα από ένα αρχεία µπορούν να προστεθούν επιλεκτικά µε το κράτηµα του πλήκτρου CTRL στο πλαίσιο διαλόγου Add File To Project. Σελίδα 7

εικόνα 3.6.2 Όταν το Project ανοίξει όλα τα αρχεία προγράµµατος θα ανοίξουν στον editor. Με κλικ στο όνοµα του αρχείου και επιλογή του κουµπιού Remove µπορούµε να αφαιρέσουµε αυτό το αρχείο από το πρόγραµµα. Οι αλλαγές µπορούν να αποθηκευτούν µε την επιλογή του ΟΚ ή να ακυρωθούν µε την επιλογή CANCEL. 7. Καθορισµός επιλογών του C Compiler Για να ορίσουµε τις επιλογές του C Compiler για το τρέχον project, επιλέγουµε από το µενού Project Configure. Στο διάλογο Configure Project που θα εµφανιστεί επιλέγουµε το tab C Compiler. εικόνα 3.7 Σελίδα 8

Μπορούµε να επιλέξουµε τον τύπο του µικροελεγκτή AVR που χρησιµοποιούµε στην επιλογή Chip. Πρέπει επίσης να διευκρινίσoυµε την CPU Clock Frequency σε MHz, που απαιτείται για τα Delay Functions, Wire Protocol Functions, τους θερµικούς ανιχνευτές Dallas Semiconductor D81820/D51822 Functions και για την αρχικοποίηση της UART. Εάν το πρόγραµµα χρησιµοποιεί σειριακή επικοινωνία πρέπει να επιλέξουµε το Initialize UART και να καθορίσουµε το Baud rate. Ο C Compiler θα παραγάγει αυτόµατα τον κώδικα εκκίνησης που θα εµπεριέχει τη λειτουργία Initialize UART και το Baud rate που καθορίσαµε. Το απαραίτητο µοντέλο µνήµης µπορεί να επιλεγεί µε τη χρησιµοποίηση του option group Memory Model. Επίσης µπορούµε να επιλέξουµε την βελτιστοποίηση του κώδικα, ώστε να παραχθεί ένα πρόγραµµα µε το µικρότερο δυνατό µέγεθος ή µε τη µέγιστη ταχύτητα εκτέλεσης, χρησιµοποιώντας την επιλογή Optimize for Size ή Optimize for Speed αντίστοιχα. Το µέγεθος του Data Stack πρέπει να διευκρινιστεί επίσης. Επίσης µπορούµε να διευκρινίσουµε το µέγεθος της εξωτερικής µνήµης SRAM (σε περίπτωση που ο µικροελεγκτής συνδέεται µε εξωτερική µνήµη SRAM). Η επιλογή External SRAM Wait State επιτρέπει την εισαγωγή καταστάσεων αναµονής κατά τη διάρκεια της πρόσβασης στην εξωτερική µνήµη SRAM. Αυτό είναι χρήσιµο όταν χρησιµοποιούνται αργές συσκευές µνήµης. Εάν χρησιµοποιηθεί µια συσκευή Atmel AT94K05, AT94K10, AT94K20 ή AT94K40 FPSLIC, τότε υπάρχει η δυνατότητα να διευκρινιστεί το µέγεθος µνήµης SRAM (Kwords) που θα χρησιµοποιεί το πρόγραµµα. Το µέγεθος των µεταβλητών, που τοποθετούνται στους καταχωρητές R2-R15, µπορεί να διευκρινιστεί στη λίστα τιµών Bit Variables Size. Η ενεργοποίηση της επιλογής Promote char to int πραγµατοποιεί την µετατροπή των τελεστών τύπου char σε int. Αυτή η επιλογή µπορεί επίσης να καθοριστεί µε την χρήση της ψευδοεντολής του compiler #pragma promotechar. Η προαγωγή των τελεστών char σε int οδηγεί σε αυξηµένο µέγεθος κώδικα και χαµηλότερη ταχύτητα για έναν µικροελεγκτή 8bit όπως ο AVR. Αν η επιλογή char is unsigned είναι ενεργοποιηµένη, ο µεταγλωττιστής µεταχειρίζεται εξ ορισµού τον τύπο δεδοµένων char σαν έναν µη προσηµασµένο 8bit Σελίδα 9

αριθµό µεταξύ 0...255. Στην περίπτωση που η επιλογή αυτή δεν είναι ενεργοποιηµένη τότε ο 8bit αριθµός είναι ένας προσηµασµένος αριθµός στο διάστηµα -128...127. Αυτή η επιλογή µπορεί επίσης να καθοριστεί χρησιµοποιώντας σε επίπεδο compilation την δήλωση της ψευδοεντολής #pragma uchar. Στην περίπτωση αυτή που ο τύπος char χειρίζεται σαν µη προσηµασµένος ακέραιος, επιτυγχάνεται καλύτερο µέγεθος κώδικα και ταχύτητα. Επιλέγοντας το check box Globally #define επιτρέπεται στις καθορισµένες µακροεντολές να είναι ορατές σε όλα τα αρχεία του project. Το υπόλοιπο των καταχωρητών R2 ως R15, που δεν χρησιµοποιείται για τις µεταβλητές, µπορεί να γίνει αυτόµατα διαθέσιµο στις γενικές µεταβλητές τύπου char και int µε την επιλογή Code Compilation Automatic Register Allocation. Ένα εξωτερικό αρχείο εκκίνησης µπορεί να χρησιµοποιηθεί µε τον έλεγχο του Code Compilation Use an External Startup File. Η παραγωγή µηνυµάτων προειδοποίησης κατά τη διάρκεια του compilation µπορεί να επιτραπεί ή να τεθεί εκτός λειτουργίας µε τη χρησιµοποίηση του Enable Warnings. Για λόγους διόρθωσης σφαλµάτων υπάρχει η επιλογή Stack End Markers. Εάν επιλεγεί, ο µεταγλωττιστής τοποθετεί τα string DSTACKEND, HSTACKEND, στο τέλος του Data Stack και Hardware Stack αντίστοιχα. Όταν διορθώνουµε το πρόγραµµα µε το διορθωτή AVR Studio µπορούµε να δούµε εάν αυτές οι σειρές είναι επικαλυµµένες, και συνεπώς τροποποιούµε το Data Stack Size. Όταν το πρόγραµµά µας τρέχει σωστά µπορούµε να θέσουµε εκτός λειτουργίας την τοποθέτηση των σειρών αυτών προκειµένου να µειώσουµε το µέγεθος κώδικα. Χρησιµοποιώντας τη λίστα File Output Format(s) µπορούµε να επιλέξουµε ένα από τα ακόλουθα format για τα αρχεία που παράγονται από το µεταγλωττιστή: εκαεξαδικό της Intel COFF (που απαιτείται από το διορθωτή Atmel AVR Studio), ROM και EEP (που απαιτούνται από τον In- System Programmer) Atmel γενικά OBJ, ROM και EEP (που απαιτούνται από τον In-System Programmer). Σελίδα 10

Εάν επιλεγεί το format αρχείων COFF και ενεργοποιηθεί το check box Use the Terminal I/O in AVR Studio, παράγονται επιπλέον πληροφορίες διόρθωσης σφαλµάτων για την χρησιµοποίηση του τερµατικού εισόδου-εξόδου του AVR Studio για επικοινωνία µε την εξοµοιωµένη θύρα UART του AVR chip. Οι αλλαγές µπορούν να αποθηκευτούν ή να ακυρωθούν, χρησιµοποιώντας αντίστοιχα τα κουµπιά ΟΚ και Cancel. 8. Μεταφορά του µεταγλωττισµένου προγράµµατος στο AVR Chip µετά τη δηµιουργία του εκτελέσιµου κώδικα Αυτή η επιλογή είναι διαθέσιµη εάν επιλέξουµε την ετικέτα After Make στο παράθυρο Configure Project. Εικόνα 3.8 Εάν ενεργοποιηθεί η επιλογή Program the Chip, τότε µετά από µία επιτυχή διόρθωση/µεταγλώττιση, το πρόγραµµα θα µεταφερθεί αυτόµατα στο AVR chip χρησιµοποιώντας τον ενσωµατωµένο Programmer. Τα ακόλουθα βήµατα εκτελούνται αυτόµατα: ιαγραφή µνηµών του Chip Έλεγχος διαγραφής των FLASH και EEPROM Προγραµµατισµός FLASH και επαλήθευση Προγραµµατισµός EEPROM και επαλήθευση Σελίδα 11

Προγραµµατισµός Fuse και Lock Bits Από την επιλογή Chip µπορούµε να επιλέξουµε τον τύπο του chip που θέλουµε να προγραµµατίσουµε. Εάν το chip που έχουµε επιλέξει έχει Fuse Bit(s) που µπορούν να προγραµµατιστούν, τότε θα εµφανιστεί µια συµπληρωµατική επιλογή Fuse bit(s). Εάν επιθυµούµε να κλειδώσουµε το chip ώστε να αποτρέπεται οποιαδήποτε ενέργεια για επαναπρογραµµατισµό, πρέπει να επιλέξουµε το αντίστοιχο option από το option panel FLASH Lock Bits. Εάν επιθυµούµε έλεγχο της ψηφιακής υπογραφής του chip τότε πρέπει να ενεργοποιηθεί το Check Signature. Για να επιταχυνθεί η διαδικασία προγραµµατισµού απενεργοποιούµε το Check Erasure. Σε αυτήν την περίπτωση δεν θα υπάρξει καµία επαλήθευση της ακρίβειας της διαγραφής της FLASH. Το τετραγωνίδιο Preserve EEPROM επιτρέπει την διατήρηση του περιεχοµένου της EEPROM κατά τη διάρκεια της διαγραφής του chip. Για να επιταχύνουµε επίσης τον προγραµµατισµό µπορούµε να αποεπιλέξουµε το check box Verify. Σε αυτήν την περίπτωση δεν θα υπάρξει κανένα verification της ακρίβειας του προγραµµατισµού των FLASH και EEPROM. Οι αλλαγές µπορούν να αποθηκευτούν ή να ακυρωθούν, χρησιµοποιώντας αντίστοιχα τα κουµπιά ΟΚ και CANCEL. 9. Εκτελώντας ένα πρόγραµµα ορισµένο από το χρήστη µετά τη διαδικασία Make Αυτή η επιλογή είναι διαθέσιµη εάν επιλέξουµε την ετικέτα After Make στο παράθυρο Project Configure. Εάν ενεργοποιήσουµε την επιλογή Execute User s Program, τότε ένα πρόγραµµα που έχουµε διευκρινίσει προηγουµένως, θα εκτελεσθεί µετά τη διαδικασία µεταγλώττισης. Σελίδα 12

Εικόνα 3.9 Χρησιµοποιώντας το κουµπί Program Settings µπορείτε να τροποποιήσουµε : τον κατάλογο και το όνοµα αρχείου του προγράµµατος τις παραµέτρους της γραµµής εντολής του προγράµµατος τον κατάλογο εργασίας του προγράµµατος Εικόνα 3.10 Οι αλλαγές µπορούν να σωθούν ή ακυρωθούν, χρησιµοποιώντας τα κουµπιά OK και CANCEL. Σελίδα 13

10. ηµιουργία ενός εκτελέσιµου προγράµµατος Η δηµιουργία ενός εκτελέσιµου προγράµµατος επιτυγχάνεται : 1. Κάνοντας compilation στο πηγαίο αρχείο κώδικα C του project, χρησιµοποιώντας τον CodeVisionAVR C Compiler και 2. Παράγοντας κώδικα assembly, χρησιµοποιώντας τον assembler AVRASM32 του Atmel AVR. Το compile ενός αρχείου, εκτελεί το βήµα 1. Το make, εκτελεί τα βήµατα 1 και 2 για το κύριο αρχείο προγράµµατος 11. To compilation ενός Project Για να κάνουµε compilation σε ένα Project πρέπει να χρησιµοποιήσουµε την εντολή του menu Project Compile, ή εναλλακτικά πατώντας το F9 function key, ή τέλος πατώντας το κουµπί Compile της µπάρας εργαλείων. Ο CodeVisionAVR C Compiler θα εκτελεσθεί, παράγοντας ένα αρχείο κώδικα assembly µε επέκταση.asm. Το αρχείο assembly µπορεί να εξεταστεί και να τροποποιηθεί µε τον Editor. Μετά το compilation εµφανίζεται ένα παράθυρο πληροφοριών το οποίο αναφέρει τα αποτελέσµατα της διαδικασίας compile. Εικόνα 3.11 Σελίδα 14

12. ιαδικασία MAKE του Project Για να παράγoυµε (Make) το Project πρέπει να χρησιµοποιήσουµε την εντολή Project Make του menu, ή εναλλακτικά να πατήσουµε τον συνδυασµό πλήκτρων Shift+F9 ή το κουµπί Make της µπάρας εργαλείων. Ο CodeVisionAVR C Compiler θα εκτελεσθεί, παράγοντας ένα αρχείο κώδικα assembly µε την επέκταση.asm. Το υπόλοιπα αρχεία που προστέθηκαν στο project θα συνδεθούν αυτόµατα µε το κύριο αρχείο του προγράµµατος. Τα ενδεχόµενα λάθη και/ή οι προειδοποιήσεις σύνταξης θα απαριθµηθούν στο παράθυρο Message, που βρίσκεται κάτω από Παράθυρο του Editor, ή το παράθυρο Navigator. Εικόνα 3.12.1 Εάν δεν εντοπίστηκε κανένα λάθος, τότε ο assembler AVRASM32 θα εκτελεσθεί, δίνοντας σαν έξοδο ένα αρχείο του τύπου που διευκρινίστηκε νωρίτερα στο παράθυρο επιλογών Project Configure C Compiler. Αφότου ολοκληρωθεί η διαδικασία θα ανοίξει ένα παράθυρο Information, που θα παρουσιάζει τα αποτελέσµατα. Στην ετικέτα Compiler φαίνονται τα αποτελέσµατα του compilation. Σελίδα 15

Εικόνα 3.12.2 Στην ετικέτα Assembler εµφανίζονται τα αποτελέσµατα του assembler. Εικόνα 3.12.3 Σελίδα 16

Στην ετικέτα Programmer φαίνεται ο Chip Programming Counter, ο οποίος απαριθµεί τις φορές, που το AVR chip, έχει προγραµµατιστεί µέχρι τώρα. Εικόνα 3.12.4 Με το πάτηµα του κουµπιού Set Counter θα ανοίξει το παράθυρο Set Programming Counter. Εικόνα 3.12.5 Σε αυτό το παράθυρο διαλόγου επιτρέπεται η µεταβολή της τιµής Chip Programming Counter. Σελίδα 17

Το πάτηµα του κουµπιού Program επιτρέπει τον αυτόµατο προγραµµατισµό του chip AVR µετά από ένα επιτυχές compilation. To Cancel θα θέσει εκτός λειτουργίας τον αυτόµατο προγραµµατισµό. 13. Κλείσιµο ενός Project Μπορούµε να κλείσουµε το τρέχον Project µε τη χρησιµοποίηση της εντολής επιλογών File Close Project. Εάν τα αρχεία του Project τροποποιήθηκαν και δεν σώθηκαν ακόµα, θα εµφανιστεί πλαίσιο διαλόγου που θα ρωτά την πρόθεσή µας για αποθήκευση. Εικόνα 3.13 Πατώντας Yes θα σώσει τις αλλαγές και θα κλείσει το πρόγραµµα. Πατώντας No θα κλείσει το πρόγραµµα χωρίς αποθήκευση των αλλαγών. Το πάτηµα του Cancel θα θέσει εκτός λειτουργίας τη διαδικασία κλεισίµατος προγράµµατος. Κατά την αποθήκευση, θα δηµιουργηθεί ένα εφεδρικό αρχείο µε µια προέκταση.pr. 14. Ο προγραµµατιστής AVR Το CodeVisionAVR IDE έχει ένα ενσωµατωµένο In-System AVR Chip Programmer που βοηθά στην εύκολη µεταφορά, του µεταφρασµένου προγράµµατος, στο µικροελεγκτή για δοκιµή. Ο Programmer είναι σχεδιασµένος να λειτουργεί µε το Atmel STK500, Kanda Systems STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP ή τους MicroTronics ATCPU και Mega2000 πίνακες ανάπτυξης, που συνδέονται µε την παράλληλη θύρα του υπολογιστή σας. Ο Programmer εκτελείται µε την επιλογή της εντολής επιλογών TooIs Chip Programmer ή πιέζοντας το κουµπί Chip Programmer στη µπάρα εργαλείων. Σελίδα 18

Εικόνα 3.14.1 Μπορούµε να επιλέξουµε τον τύπο του chip που επιθυµούµε στο πρόγραµµα χρησιµοποιώντας την επιλογή Chip. Εάν το chip που έχουµε επιλέξει έχει Fuse Bit(s) που µπορούν να προγραµµατιστούν, τότε θα εµφανιστεί ένα βοηθητικό check box Fuse Bit(s). Χρησιµοποιώντας αυτό το check box µπορούµε να θέσουµε τις διάφορες ρυθµίσεις του chip. Όταν είναι επιθυµητό να κλειδώνεται το chip ώστε να αποτρέπεται οποιαδήποτε ενέργεια για επαναπρογραµµατισµό, πρέπει να επιλέγεται το αντίστοιχο option από το option panel FLASH Lock Bits. Ο Programmer έχει δύο buffer µνήµης: τον buffer µνήµης FLASH τον buffer µνήµης EEPROM. Μπορούµε να φορτώσουµε ή να αποθηκεύσουµε το περιεχόµενο αυτών των buffer χρησιµοποιώντας to File menu. Τα υποστηριζόµενα format αρχείων είναι: Atmel.rom και.eep εκαεξαδικό (HEX) της Intel υαδικό.bin Σελίδα 19

Φορτώνοντας ένα αρχείο στον κατάλληλο buffer, οι διευθύνσεις Start και End ενηµερώνονται αναλόγως. Τις διευθύνσεις αυτές µπορούµε επίσης να τις τροποποιήσουµε. Το περιεχόµενο των buffer της FLASH και της EEPROM, µπορούν να εµφανιστούν και να τροποποιηθούν, µε τις εντολές επιλογών Edit FLASH και Edit EEPROM αντίστοιχα. Όταν καλείται µια από αυτές τις εντολές, τότε ανοίγει ένα παράθυρο Edit που επιδεικνύει το περιεχόµενο του αντίστοιχου buffer: Εικόνα 3.14.2 Τα περιεχόµενα του buffer, στην τονισµένη διεύθυνση, µπορούν να τροποποιηθούν πληκτρολογώντας µια νέα τιµή. Η τονισµένη διεύθυνση µπορεί να τροποποιηθεί χρησιµοποιώντας τα πλήκτρα των arrows, το Tab, το Shift+Tab, το PageUp ή το PageDown. Το παράθυρο Fill Memory Block µπορεί να ανοίξει κάνοντας δεξί κλικ στο παράθυρο Edit. Εικόνα 3.14.3 Σελίδα 20

Αυτό το παράθυρο µας επιτρέπει να διευκρινίσουµε το Start Address, End Address και Fill Value της περιοχής µνήµης που πρόκειται να χρησιµοποιηθεί. Όταν είναι επιθυµητό να ελέγχεται η ψηφιακή υπογραφή του chip πριν από οποιαδήποτε λειτουργία πρέπει να χρησιµοποιηθεί η επιλογή Check Signature. Για να επιταχυνθεί η διαδικασία προγραµµατισµού µπορούµε να απενεργοποιήσουµε το check box Check Erasure. Σε αυτήν την περίπτωση δεν θα υπάρξει καµία επαλήθευση της ακρίβειας της διαγραφής της FLASH. Το τετραγωνίδιο Preserve EEPROM επιτρέπει την διατήρηση του περιεχοµένου της EEPROM κατά τη διαδικασία της διαγραφής του chip. Για να επιταχυνθεί η διαδικασία προγραµµατισµού µπορούµε επίσης να απενεργοποιήσουµε το box Verify. Σε αυτήν την περίπτωση δεν θα υπάρξει καµία επαλήθευση της ακρίβειας του προγραµµατισµού της FLASH και της EEPROM. Για τη διαγραφή των FLASH και EEPROM ενός chip επιλέγουµε την εντολή επιλογών Program Erase. Μετά από τη διαγραφή, η FLASH και η EEPROM του chip ελέγχονται αυτόµατα ως προς την επίτευξη της εκκένωσης. Ο τελευταίος αυτός έλεγχος µπορεί να γίνει µεµονωµένα µε την εντολή επιλογών Program Blank Check. Όταν επιθυµούµε να προγραµµατίσουµε τη FLASH µε το περιεχόµενο του buffer της FLASH πρέπει να χρησιµοποιήσουµε την εντολή Program FLASH. Αντίστοιχα για προγραµµατισµό της EEPROM πρέπει να χρησιµοποιήσουµε την εντολή επιλογών Program EEPROM. Μετά τον προγραµµατισµό τους, η FLASH και η EEPROM ελέγχονται για την ορθότητα των περιεχοµένων τους. Για να προγραµµατιστεί το Lock και τα Fuse Bit(s) χρησιµοποιούνται οι επιλογές του menu Program Fuse Bit(s) και Program Lock Bit(s) αντίστοιχα. Η εντολή επιλογών Program All επιτρέπει αυτόµατα: ιαγραφή µνηµών του Chip Έλεγχος διαγραφής των FLASH και EEPROM Προγραµµατισµό FLASH και επαλήθευση Προγραµµατισµό EEPROM και επαλήθευση Προγραµµατισµό Fuse και Lock Bits Για το διάβασµα του περιεχόµενου της FLASH και της EEPROM, επιλέγουµε τις εντολές Read FLASH και Read EEPROM αντίστοιχα. Σελίδα 21

Η ανάγνωση του signature του chip επιτυγχάνεται µε την εντολή επιλογών Read Chip Signature. Το διάβασµα του Lock και των Fuse Bit(s) γίνεται αντίστοιχα µε τις εντολές Read Lock Bits και Read Fuse Bits. Για τη σύγκριση του περιεχοµένου της FLASH και της EEPROM του chip, µε τους σχετικούς buffer µνήµης, υπάρχουν οι εντολές του menu Compare FLASH και Compare EEPROM αντίστοιχα. Για την έξοδο από τον Programmer και την επιστροφή στο CodeVisionAVR IDE απλά επιλέγουµε File Close. 15. ιαµόρφωση του Assembler Ο Assembler µπορεί να διαµορφωθεί χρησιµοποιώντας την εντολή επιλογών Settings Assembler. Εικόνα 3.15 Οι επιλογές του panel On Assembler Error καθορίζουν ποιο αρχείο θα ανοίξει αυτόµατα από τον Editor στην περίπτωση που ο assembler εντοπίσει λάθος. Οι αλλαγές στις ρυθµίσεις αυτές του Assembler γίνονται αποδεκτές µε το κουµπί ΟΚ και αντίστοιχα ακυρώνονται µε το Cancel. 16. ιαµόρφωση του προγραµµατιστή AVR Χρησιµοποιώντας την εντολή επιλογών Settings Programmer, µπορούµε να επιλέξουµε τον τύπο του ενσωµατωµένου προγραµµατιστή που χρησιµοποιείται, και τη θύρα του υπολογιστή πάνω στην οποία συνδέεται ο προγραµµατιστής. Η τρέχουσα έκδοση CodeVisionAVR υποστηρίζει τους ακόλουθους in-system programmers: Kanda Systems STK200+/300 Atmel STK500 Dontronics DT006 Σελίδα 22

Vogel Elektronik VTEC-ISP Microtronics ATCPU Mega2000. Οι προγραµµατιστές STK200+, STK300, DT006, VTEC-ISP, ATCPU και Mega2000 χρησιµοποιούν την παράλληλη θύρα εκτωπωτών (parallel printer port). Οι ακόλουθες επιλογές είναι διαθέσιµες στο panel επιλογών Printer Port : LPT1, στη διεύθυνση 378h LPT2, στη διεύθυνση 278h LPT3, στη διεύθυνση 3BCh. Εικόνα 3.16.1 Ο προγραµµατιστής STK500 υποστηρίζεται µέσω του utility γραµµής εντολών STK500.EXE που παρέχεται από το AVRStudio v3.50 ή µεταγενέστερο. Προκειµένου να χρησιµοποιηθεί αυτό το utility πρέπει να διευκρινιστεί ο κατάλογος στον οποίο βρίσκεται. Αυτό γίνεται χρησιµοποιώντας το κουµπί STK500.EXE Directory. Ο προγραµµατιστής STK500 χρησιµοποιεί µια σειριακή θύρα επικοινωνίας RS232C, η οποία µπορεί να διευκρινιστεί στη λίστα Communication Port. Εικόνα 3.16.2 Σελίδα 23

Οι αλλαγές αποθηκεύονται µε το κουµπί ΟΚ και ακυρώνονται µε το Cancel. 17. Σειριακή επικοινωνία Ρυθµίσεις Terminal Οι ρυθµίσεις Terminal is configured using the SettingslTerminal menu command. Εικόνα 3.17 Στο παράθυρο Terminal Setup µπορούµε να κάνουµε ρυθµίσεις για: Την σειριακή πόρτα που θα χρησιµοποιήσουµε για Terminal, COM1 έως COM6, καθώς και το ρυθµό µετάδοσης 110 έως 115200. Τον αριθµό των data bits που χρησιµοποιούνται για λήψη και αποστολή: 5 έως 8. Τον αριθµό των stop bits που χρησιµοποιούνται για λήψη και αποστολή: 1, 1.5 ή 2. Την ισοτιµία (parity) που χρησιµοποιείται για λήψη και αποστολή: None, Odd, Even, Mark ή Space. Τον τύπο του τερµατικού εξοµοίωσης : TTY, VT52 ή VT100. Τον τύπο του handshaking που χρησιµοποιείται στην επικοινωνία: None, Hardware (CTS ή DTR) ή Software (XON/XOFF). Πιθανότητα για πρόσθεση LF χαρακτήρων µετά από CR χαρακτήρες στη λήψη και την αποστολή. Ενεργοποίηση - απενεργοποίηση του echo στους µεταδιδόµενους χαρακτήρες. Οι αλλαγές αποθηκεύονται µε το κουµπί ΟΚ και ακυρώνονται µε το Cancel. Σελίδα 24

18. Το site της HP InfoTech's Στο µενού Help - HP InfoTech Web Site, ανοίγει αυτόµατα στον internet explorer τη σελίδα www.hpinfotech.ro. Εδώ υπάρχουν πληροφορίες και ενηµερώσεις για τελευταίες εκδόσεις του CodeVisionAVR. 19. Επικοινωνία µε HP InfoTech µέσω E-Mail Στο µενού HelpIE-Mail HP InfoTech ανοίγει το προκαθορισµένο e-mail πρόγραµµα, για την αποστολή e-mail στις διευθύνσεις: hpinfotech@xnet.ro και dhptechn@ir.ro. 20. Κλείνοντας το CodeVisionAVR Για να κλείσουµε το CodeVisionAVR IDE επιλέγουµε την εντολή επιλογών File Exit. Εάν µερικά αρχεία κώδικα τροποποιήθηκαν και δεν αποθηκεύθηκαν, θα εµφανιστεί πλαίσιο διαλόγου που θα επιτρέπει να αποθηκεύσουµε. Σελίδα 25