Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

UBI >> Contents Κεφάλαιο 1 Εισαγωγική Επισκόπηση MSP430 Teaching Materials Texas Instruments Incorporated University of Beira Interior (PT) Pedro Dinis.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "UBI >> Contents Κεφάλαιο 1 Εισαγωγική Επισκόπηση MSP430 Teaching Materials Texas Instruments Incorporated University of Beira Interior (PT) Pedro Dinis."— Μεταγράφημα παρουσίασης:

1 UBI >> Contents Κεφάλαιο 1 Εισαγωγική Επισκόπηση MSP430 Teaching Materials Texas Instruments Incorporated University of Beira Interior (PT) Pedro Dinis Gaspar, António Espírito Santo, Bruno Ribeiro, Humberto Santos University of Beira Interior, Electromechanical Engineering Department www.msp430.ubi.pt Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt

2 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 2 Περιεχόμενα  Αναλογικά και ψηφιακά σήματα και συστήματα  Μαθηματική σημειογραφία  Αριθμητική σταθερών και κινητής υποδιαστολής  Πώς να διαβάζουμε φυλλάδια δεδομένων  Θέματα προγραμματισμού  Τελεστές και Εκφράσεις  Καλές πρακτικές λογισμικού για χαμηλή κατανάλωση ισχύος  Κουίζ

3 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 3 Αναλογικά και ψηφιακά σήματα (1/5)  Στη φύση, κάθε μετρ ή σιμη ποσότητα στο χρόνο ή στο χώρο μπορεί να θεωρηθεί ως ένα σήμα;  Παράδειγμα: Η ταχύτητα ενός σώματος, σαν συνάρτηση τού χρόνου ή σαν συνάρτηση τού χώρου, μπορεί να αντιπροσωπευθεί από ένα σήμα.  Το Αναλογικό σήμα μπορεί:  Να αναπαριστά κάθε πιθανή τιμή;  Να παίρνει τιμές από ένα συνεχές πεδίο τιμών;  Να παρέχει πληροφορίες για κάθε χρονική στιγμή.  Ένα ψηφιακό σήμα παίρνει τιμές από πεδίο με περιορισμένο αριθμό τιμών και ορίζεται σε διακριτά σημεία στο χρόνο.

4 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 4 Αναλογικά και ψηφιακά σήματα (2/5)  Παράδειγμα: αναλογικό σήμα:

5 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 5 Αναλογικά και ψηφιακά σήματα (3/5)  Παράδειγμα: διακριτό αναλογικό σήμα:  Αυτό το αναλογικό σήμα μπορεί να είναι διακριτό στον χρόνο (ασυνεχές), χρησιμοποιώντας περίοδο δειγματοληψίας, T:

6 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 6 Αναλογικά και ψηφιακά σήματα (4/5)  Η πληροφορία πού περιέχεται στο σήμα μπορεί να χρησιμοποιηθεί από ένα υπολογιστή μόνο με την μετατροπή του αναλογικού σήματος σε ψηφιακό.  Ψηφιακό σήμα:  Στρογγυλοποιεί τις τιμές με μία συγκεκριμένη ακρίβεια ή ένα συγκεκριμένο αριθμό ψηφίων.  Προτέρημα Ψηφιακού Σήματος:  Ευκολία στην αποθήκευση και διαχείριση δεδομένων.

7 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 7 Αναλογικά και ψηφιακά σήματα (5/5)  Παράδειγμα: κβαντισμένο ψηφιακό σήμα:  Αποτέλεσμα μετατροπής αναλογικού σήματος, χρησιμοποιώντας ένα 12-bit Αναλογικό σε Ψηφιακό μετατροπέα (Analogue-to-Digital Converter -ADC) με πλήρη κλίμακα (full-scale) 2.5 V.

8 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 8 Πώς να διαβάζουμε Τεχνικά Έγγραφα (1/6)  Οι κατασκευαστές ηλεκτρονικών εξαρτημάτων παρέχουν φυλλάδια δεδομένων πού περιέχουν προδιαγραφές και περιγράφουν τα χαρακτηριστικά τους.  Τα φυλλάδια δεδομένων δίνουν τα ηλεκτρικά χαρακτηριστικά τής διάταξης και τις λειτουργίες των ακροδεκτών (pins), χωρίς όμως να περιγράφουν λεπτομερειακά την εσωτερική λειτουργία τους.  Για τις πιο πολύπλοκες διατάξεις παρέχονται τεχνικά έγγραφα πού βοηθούν στην ανάπτυξη εφαρμογών, όπως:  Σημειώσεις Εφαρμογών;  Οδηγούς Χρηστών;  Οδηγούς Σχεδιαστών;  Πακέτα σχεδίων, κτλ…

9 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 9 Πώς να διαβάζουμε Τεχνικά Έγγραφα (2/6)  Τα φυλλάδια δεδομένων περιλαμβάνουν πληροφορίες:  Σχετικά με την χαρακτηριστική αρίθμηση της διάταξης ή της σειράς της διάταξης.  Ηλεκτρικά χαρακτηριστικά: Μέγιστη και ελάχιστη τάση λειτουργίας Εύρος θερμοκρασίας χρήσης π.χ. 0 έως 70 βαθμούς C Η δυνατότητα οδήγησης για κάθε ακροδέκτη εξόδου, όπως επίσης το συνολικό όριο του ολοκληρωμένου. Συχνότητες Ρολογιού Τα ηλεκτρικά χαρακτηριστικά των ακροδεκτών (χωρητικότητα, αγωγιμότητα, αντίσταση) Ανοχή θορύβου ή ο θόρυβος πού παράγεται από την ίδια την διάταξη. Φυσικές ανοχές…

10 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 10 Πώς να διαβάζουμε φυλλάδια δεδομένων (3/6)  Φυλλάδια δεδομένων του MSP430:  Η διάταξη έχει ένα μεγάλο αριθμό περιφερειακών  Κάθε ακροδέκτης εισόδου/εξόδου συνήθως έχει πάνω από μία λειτουργία;  Περιλαμβάνει πίνακα περιγραφής της λειτουργίας κάθε ακροδέκτη  Παράδειγμα, Αριθμός ακροδέκτη 2 = P6.3/A3; Ψηφιακή θύρα 6 εισόδου/εξόδου bit 3; 3 η αναλογική είσοδος.

11 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 11 Πώς να διαβάζουμε Τεχνικά Έγγραφα (4/6)  Οδηγός χρήστη MSP430 :  Τα περισσότερα περιφερειακά αναπαρίστανται με Δομικά Διαγράμματα.  Παράδειγμα: Μέρος του τμήματος του δομικού διαγράμματος ρολογιού τού MSP430F44x :

12 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 12 Πώς να διαβάζουμε Τεχνικά Έγγραφα (5/6)  Οδηγός Χρήστη MSP430:  Παράδειγμα: Δομικό Διάγραμμα Μέρος τμήματος ρολογιού τού MSP430F44x: Λεπτομέρεια SELMx;  Πολυπλεξία: (4 είσοδοι σε 1 έξοδο): SELMx = 00: Η έξοδος δρομολογείται στην 1η έξοδο του πολυπλέκτη SELMx = 01: Η έξοδος δρομολογείται στην 2η έξοδο του πολυπλέκτη και αυτό συνεχίζεται.. SELMx είναι μια μνημονική λέξη 2-bit: SELM1 (MSB), SELM0 (LSB).  Για να χρησιμοποιηθεί το περιφερειακό, είναι αναγκαίο να διαμορφωθούν οι καταχωρητές: SELMx βρίσκεται στον FLL_CTL1 καταχωρητή.

13 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 13 Πώς να διαβάζουμε Datasheets (6/6)  Οδηγός χρήστη (User’s Guide) του MSP430 :  SELMx είναι το 3 ο και 4 ο bit τού FLL_CTL1 καταχωρητή ελέγχου. BitDescription 6SMCLKOFFDisable the submain clock signal (SMCLK): SMCLKOFF = 0SMCLK active SMCLKOFF = 1SMCLK inactive 5XT2OFFDisable the second crystal oscillator (XT2): XT2OFF = 0XT2 active XT2OFF = 1XT2 inactive 4-3SELMxSelect the master clock (MCLK) source: SELM1 SELM0 = 0 0DCO SELM1 SELM0 = 0 1DCO SELM1 SELM0 = 1 0XT2 SELM1 SELM0 = 1 1LFXT1 2SELSSelect the submain clock (SMCLK) source: SELS = 0DCO SELS = 1XT2 1-0FLL_DIVxSelect the auxiliary clock (ACLK) signal divider: FLL_DIV_0 = 0 0Divider factor: /1 FLL_DIV_1 = 0 1Divider factor: /2 FLL_DIV_2 = 1 0Divider factor: /4 FLL_DIV_3 = 1 1Divider factor: /8

14 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 14 Θέματα Προγραμματισμού (1/14)  Γλώσσα Προγραμματισμού C:  Η C είναι μία αλγοριθμική γλώσσα  Η C αναπτύχθηκε για λειτουργικά συστήματα  Βασίζεται σε εκφράσεις  Μία έκφραση μπορεί να είναι αποτέλεσμα μιας λειτουργίας ή συνάρτησης  Η ροή τού προγράμματος επιτυγχάνεται χρησιμοποιώντας ένα σύνολο κατάλληλων δομών πού επιτρέπουν την επιλογή, βασισμένη σε μία λογική λειτουργία, της σειράς των λειτουργιών πού θα γίνουν από την CPU  Αυτές οι δομές επιτρέπουν κυκλική εκτέλεση των εκφράσεων πού συνθέτουν ένα τμήμα του προγράμματος.

15 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 15 Θέματα Προγραμματισμού (2/14)  Πρότυπα Προγραμματισμού:  Ο τρόπος με το οποίο έχει γραφτεί ο κώδικας καθορίζει την ευκολία με την οποία το πρόγραμμα μπορεί να διαβαστεί, ερμηνευτεί ή να ξαναχρησιμοποιηθεί  Η συντήρηση τού γραπτού πηγαίου κώδικα, όταν τηρεί ένα πρότυπο κωδικοποίησης, είναι εύκολο να ερμηνευτεί, να συντηρηθεί και να τροποποιηθεί  Οι προγραμματιστές μπορούν να αναπτύξουν το δικό τους τρόπο προγραμματισμού. Όμως, για μια ομαδική εργασία, πρέπει να πληρείται ένα σύνολο κανόνων πού παρέχουν ομοιομορφία για να επιτρέπουν εύκολη ερμηνεία τού κώδικα από όλα τα μέλη της ομάδος  Στις επόμενες σελίδες δίνεται ένα σύνολο τυπικών κανόνων προγραμματισμού.

16 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 16 Θέματα Προγραμματισμού (3/14)  Στυλ προγραμματισμού: Συμβάσεις ορισμού Μεταβλητών:  Ονόματα τύπων δεδομένων: Να αρχίζουν με κεφαλαίο γράμμα: Π.χ. Line ή AverageVelocity.  Ονόματα Μεταβλητών: Να αρχίζει με γράμμα και να αποφεύγεται ή συντομογραφία ονομάτων ή η χρήση ονομάτων με πολλές έννοιες: line, averageVelocity.  Οι μεταβλητές να παίρνουν αρχικές τιμές όταν δηλώνονται  Η χρήση καθολικών μεταβλητών να αποφεύγεται (μόνιμη χρήση τής μνήμης, αλλά πιο γρήγορη εκτέλεση)  Όπου είναι δυνατόν να χρησιμοποιούνται τοπικές μεταβλητές (η μνήμη ελευθερώνεται μετά την χρήση)

17 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 17 Θέματα Προγραμματισμού (4/14)  Στυλ προγραμματισμού: Συμβάσεις ορισμού Μεταβλητών:  Μεταβλητές πού έχουν σχέση με επανάληψη αναγνωρίζονται ως: i, j, k.  Σταθερές: Όλες με κεφαλαία γράμματα: RED, GREEN, BLUE, WHITE.  Συναρτήσεις: να χρησιμοποιούνται ρήματα με το αρχικό γράμμα με μικρό: calculateVelocity( ) or activateOutput( ).  Τμήματα τού κώδικα πρέπει να συγκεντρώνονται και να ξεχωρίζουν μεταξύ τους με ένα ή περισσότερα κενά διαστήματα.

18 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 18 Θέματα Προγραμματισμού (5/14)  Στυλ προγραμματισμού: Περιθώρια  Τα τμήματα τού προγράμματος θα πρέπει να ευθυγραμμίζονται χρησιμοποιώντας περιθώρια: Κώδικας με περιθώρια: P3OUT |= 0x04; while(1){ if(!CMBufIsEmpty()){// polling the command receiver buffer cmd = CMGetCommand();//get the new command ACStop();//stops the action being executed switch (cmd){ case DEMO1: //demo1 procedure...

19 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 19 Θέματα Προγραμματισμού (6/14)  Στυλ προγραμματισμού : Τελεστές  Χωρισμένοι με κενά διαστήματα για να βελτιωθεί ή αναγνωσιμότητα  Οι λέξεις που είναι δεσμευμένες από την γλώσσα προγραμματισμού C θα πρέπει να ακολουθούνται από κενό διάστημα  Ένα κενό διάστημα θα πρέπει να χρησιμοποιηθεί μαζί με το κόμμα, ερωτηματικό, ή άνω κάτω τελεία.  Example: a = (4 + c) * 2; // ΟΧΙ: a=(4+c)*2

20 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 20 Θέματα Προγραμματισμού (7/14)  Στυλ προγραμματισμού : Σχόλια  Ο πηγαίος κώδικας θα πρέπει να έχει επιπρόσθετες πληροφορίες σε μορφή σχολίων για να ερμηνεύεται εύκολα  Σχόλια σε μία γραμμή κώδικα: Διπλές δεξιά κάθετες ( // )  Κομμάτι Σχολίων: Αρχίζει με ( /* ) και τελειώνει με ( */ )  Παράδειγμα: /* The source code should be written in such a way that enough information is provided for the reader to fully understand the function of the code */

21 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 21 Θέματα Προγραμματισμού (8/14)  Δήλωση Δεδομένων:  Οι μεταβλητές μπορεί να είναι ακέραιοι (integer) ή πραγματικοί (real)  Ο τύπος null ( void ) χρησιμοποιείται για να υποδείξει ότι μία συνάρτηση δεν επιστρέφει καμία παράμετρο  Οι τύποι δεδομένων Integer αντιπροσωπεύουν ακέραιους αριθμούς ( int ), με πρόσημο (signed) ή χωρίς ( unsigned)  Ο ι τιμές εκφράζονται με συμπλήρωμα ως προς δύο ( two’s complement) (εκτός του τύπου unsigned-μη προσημασμένου )

22 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 22 Θέματα Προγραμματισμού (9/14)  Δήλωση Δεδομένων:  Οι τύποι πραγματικών αριθμών αναπαρίστανται με μια μορφή ( float ), πού επιτρέπει την αναπαράσταση κάθε κλασματικού αριθμού.  Επιτρέπουν τη χρήση μετατροπέων για την αλλαγή του τύπου των εκάστοτε δεδομένων: short : για να μειώσει την περιοχή αναπαράστασης τού τύπου τής μεταβλητής long : για να αυξήσει την περιοχή αναπαράστασης τού τύπου τής μεταβλητής signed : να καθορίσει την με πρόσημο αναπαράσταση τού τύπου μεταβλητής; unsigned : να καθορίσει την αναπαράσταση θετικών αριθμών μόνο.

23 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 23 Θέματα Προγραμματισμού (10/14)  C Τύποι Δεδομένων (Οι Τύποι δεδομένων εξαρτώνται και από τη χρήση τού C μεταγλωττιστή: CCE και IAR για τον MSP430): ΤύποςΜέγεθος [bits] ΑπεικόνισηΕύρος Τιμών ΕλάχιστοΜέγιστο signed char8ASCII-128127 char, unsigned char8ASCII0255 short, signed short162’s complement-3276832767 unsigned short16Binary065535 int, signed int162’s complement-3276832767 unsigned int16Binary065535 long, signed long322’s complement-21474836482147483647 unsigned long32Binary04294967295 float32IEEE 32-bit1.175495e-383.40282346e+38 double32IEEE 32-bit1.175495e-383.40282346e+38 long double32IEEE 32-bit1.175495e-383.40282346e+38

24 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 24 Θέματα Προγραμματισμού (11/14)  Δήλωση Μεταβλητών:  Πρέπει πάντα να γίνεται στην αρχή τού προγράμματος  Καθολικές (Global) Μεταβλητές: Προσβάσιμες σε όλο τον κώδικα  Τοπικές (Local) Μεταβλητές: δηλώνονται μέσα σε μία συνάρτηση και είναι προσβάσιμες μόνο κατά την διάρκεια εκτέλεσης αυτής της συνάρτησης  Εάν μία μεταβλητή δηλωθεί μέσα σε ένα τμήμα του προγράμματος, είναι μόνο προσβάσιμη εφόσον ή ροή τού προγράμματος έχει ξεκινήσει μέσα στο συγκεκριμένο τμήμα.

25 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 25 Θέματα Προγραμματισμού (12/14)  Ονόματα Συμβόλων:  Κανόνες: Ο μέγιστος αριθμός χαρακτήρων είναι 31 Χρησιμοποίησε μόνο γράμματα, αριθμούς, ή τον χαρακτήρα '_' Ο πρώτος χαρακτήρας πρέπει να είναι γράμμα ή ό χαρακτήρας '_' Υπάρχει διαφορά μεταξύ κεφαλαίων και μικρών-case sensitive Το όνομα της μεταβλητής δεν μπορεί να είναι το ίδιο με μία λέξη που είναι δεσμευμένη από την γλώσσα προγραμματισμού ή με το όνομα ενός υποπρογράμματος.  Παράδειγμα: unsigned int weight; // unsigned integer variable int temperature; // signed integer variable float speed, // real variable

26 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 26 Θέματα Προγραμματισμού (13/14)  Ονόματα Συμβόλων:  const : Χρησιμοποιείται για να δηλώσει μία σταθερά (το περιεχόμενο της οποίας δεν αλλάζει κατά τη διάρκεια εκτέλεσης τού κώδικα) Αποθηκεύονται στο τμήμα μνήμης τού προγράμματος.  extern : Χρησιμοποιείται για αναφορά σε μεταβλητές δηλωμένες αλλού, για παράδειγμα σε άλλο αρχείο.  register : Χρησιμοποιείται για να αποθηκευθεί μία μεταβλητή σε ένα καταχωρητή τού επεξεργαστή Διασφαλίζει την γρηγορότερη πρόσβαση στα περιεχόμενα της μεταβλητής Χρησιμοποιείται μόνο τοπικά και εξαρτάται από την διαθεσιμότητα τού καταχωρητή.

27 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 27 Θέματα Προγραμματισμού (14/14)  Ονόματα Συμβόλων:  static : Κατηγορία μνήμης πού δηλώνεται σε μία συνάρτηση ή τμήμα ενός προγράμματος; Η μνήμη πού χρησιμοποιείται απελευθερώνεται, και μαζί με αυτήν και τα περιεχόμενα της; Διατηρεί τη μεταβλητή ακόμα και εάν έχει εκτελεστεί μία συνάρτηση ή το τμήμα του προγράμματος.  volatile : Χρησιμοποιείται εάν ένα γεγονός εκτός τού προγράμματος μπορεί να αλλάξει το περιεχόμενο μίας μεταβλητής, για παράδειγμα ένας ADC; Μία τέτοια δήλωση ενημερώνει τον μεταγλωττιστή ότι αυτή ή μεταβλητή δεν πρέπει να βελτιστοποιηθεί.

28 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 28 Τελεστές και Εκφράσεις (1/9)  Αριθμητικοί Τελεστές:

29 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 29 Τελεστές και Εκφράσεις (2/9)  Τελεστές Σχέσεων:

30 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 30 Τελεστές και Εκφράσεις (3/9)  Άλλοι Τελεστές:

31 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 31 Τελεστές και Εκφράσεις (4/9)  Τελεστές Καταχώρησης: Συμπαγής μορφήΠρωτότυπη μορφή x += yx = x + y x -= yx = x - y x *= yx = x * y x /= yx = x / y x %= yx = x % y x &= yx = x & y x |= yx = x | y x ^= yx = x ^ y x << yx = x << y x >> yx = x >> y

32 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 32 Τελεστές και Εκφράσεις (5/9)  Προτεραιότητα των τελεστών: ΠροτεραιότηταΤελεστές Περιγραφή Υψηλότερη() [] -> Grouping, scope, array/member access ! ~ + - & Size of type cast (most) unary operations, … * / % Multiplication, division, modulo + - Addition, subtraction > Bitwise shift left and right >= Comparisons: less-than,... == != Comparisons: equal and not equal & Bitwise AND ^ Bitwise exclusive OR | Bitwise inclusive (normal) OR && Logical AND || Logical OR ? Conditional expression (ternary operator) = += -= *= /= %= &= |= ^= >= Assignment operators Χαμηλότερη. Concatenation ("comma“)

33 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 33 Τελεστές και Εκφράσεις (6/9)  Τελεστές Δυαδικών Ψηφίων:

34 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 34 Τελεστές και Εκφράσεις (7/9)  Ολίσθηση Ψηφίων:  Ψηφία πού ολισθαίνουν από οποιαδήποτε πλευρά απορρίπτονται (όχι στον assembler – εκεί θα τοποθετούνταν στο ψηφίο κρατουμένου);  Αριστερή Ολίσθηση (με κρατούμενο-carry): Στην αριστερή αριθμητική ολίσθηση, μηδενικά ολισθαίνουν από τα δεξιά;

35 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 35 Τελεστές και Εκφράσεις (8/9)  Ολίσθηση Ψηφίων: Αριστερή Ολίσθηση  Τελεστής αριστερής ολίσθησης: ( << )  Παράγει μία τιμή, ολισθαίνοντας τα δυαδικά ψηφία τού αριστερού τελεστέου προς τα αριστερά τόσες θέσεις όσες καθορίζονται από τον δεξιό τελεστέο  Παράδειγμα: x = y << 2  Για ολίσθηση ενός μόνο ψηφίου: x = y << 1

36 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 36 Τελεστές και Εκφράσεις (9/9)  Τελεστές Ολίσθησης: Δεξιά Ολίσθηση (με carry)  Το ψηφίο συμβόλου ολισθαίνει από τα αριστερά, διατηρώντας έτσι το σύμβολο τού τελεστή;  Τελεστής δεξιάς ολίσθησης: ( >> )  Παράδειγμα: x = y >> 1 ; Ολισθαίνοντας τη τιμή y στα δεξιά δίνει την τιμή x.

37 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 37 Καλές πρακτικές λογισμικού για χαμηλή κατανάλωση ισχύος (1/2)  Συμβουλές Προγραμματισμού C:  Χρησιμοποίησε τοπικές μεταβλητές όσον το δυνατόν περισσότερο (Οι τοπικές μεταβλητές χρησιμοποιούν καταχωρητές της CPU ενώ οι καθολικές μεταβλητές χρησιμοποιούν RAM)  Χρησιμοποίησε unsigned τύπους δεδομένων όπου είναι δυνατόν  Χρησιμοποίησε δείκτες για να έχεις πρόσβαση σε δομές και συλλογές  Χρησιμοποίησε την κλάση “static const” για να αποφύγεις κατά τον χρόνο εκτέλεσης προγράμματος αντιγραφές δομών, συλλογών, και πινάκων  Απέφυγε την διαίρεση ακέραιου υπολοίπου  Χρησιμοποίησε βρόγχους επανάληψης “for” αντίστροφης μέτρησης.

38 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 38 Καλές πρακτικές λογισμικού για χαμηλή κατανάλωση ισχύος(2/2)  Αρχές για εφαρμογές χαμηλής ισχύος:  Μεγιστοποίησε το χρόνο σε αναμονή  Χρησιμοποίησε interrupts για τον έλεγχο της ροής τού προγράμματος;  Αντικατέστησε τις συναρτήσεις λογισμικού με αντίστοιχα περιφερειακά  Διαχειρίσου την κατανάλωση ισχύος των εσωτερικών περιφερειακών  Διαχειρίσου την κατανάλωση ισχύος των εξωτερικών διατάξεων  Ή επιλογή της διάταξης μπορεί να κάνει τη διαφορά;  Ο αποτελεσματικός κώδικας είναι ο υπέρτατος στόχος. Η εκτέλεση κάθε μιας μη χρήσιμης εντολή έχει σαν αποτέλεσμα την απώλεια τμήματος της ισχύος της μπαταρίας που δεν μπορεί να ανακτηθεί ξανά.

39 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 39 Κουίζ (1/7)  1. Ένα αναλογικό σήμα: (a) Αλλάζει με ασυνέχεια; (b) Αποτελείται από μία σειρά υψηλού-επιπέδου και χαμηλού- επιπέδου σήματα; (c) Αλλάζει ομαλά και συνεχόμενα; (d) Τίποτα από τα παραπάνω.  2. Ψηφιακές ποσότητες: (a) Μπορούν να διατηρηθούν σε υψηλή ακρίβεια και σε υψηλούς ρυθμούς; (b) Δεν μπορούν να επεξεργαστούν (c) Έχουν αργή απόκριση ή πολλή υψηλή ακρίβεια; (d) Τίποτα οπό τα παραπάνω.

40 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 40 Κουίζ (2/7)  3. Ό μεγαλύτερος αριθμός πού μπορεί να αντιπροσωπευθεί από έναν μη προσημασμένο (unsigned) δυαδικό αριθμό 8-ψηφίων είναι: (a) 256; (b) 255; (c) 16; (d) 128.  4. Ό υπολογιστής εκτελεί αριθμητική με πρόσημο χρησιμοποιώντας: (a) Unsigned binary; (b) Two’s complement; (c) Όλα από τα παραπάνω; (d) Κανένα από τα παραπάνω.

41 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 41 Κουίζ (3/7)  5. Ή απεικόνιση τής δυαδικής ψηφιολέξης με πρόσημο: 0111 0101 1011 σε δεκαεξαψήφιο και δεκαδικό είναι: (a) 0x75B, -1883 10 ; (b) 0x8A4, -1883 10 ; (c) 0x8A4, 1883 10 ; (d) 0x75B, 1883 10.  6. Η κυρίως διαφορά μεταξύ της απεικόνισης One’s και Two’s complement είναι: (a) Το One’s complement αντιπροσωπεύει και +0 και -0; (b) Αντιστρέφει το MSB ψηφίο; (c) Αντιστρέφει το LSB ψηφίο; (d) Η απεικόνιση Two’s complement αντιστρέφει όλα τα ψηφία και προσθέτει την μονάδα.

42 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 42 Κουίζ (4/7)  7. Στην απεικόνιση Two’s complement, το 1 στο MSB ψηφίο υποδεικνύει: (a) Ένα θετικό αριθμό; (b) Ένα αρνητικό αριθμό; (c) Ένα σύνθετο αριθμό; (d) Carry.  8. Η τιμή 1101 2 σε απεικόνιση Two’s complement είναι: (a) -5; (b) -13; (c) 3; (d) -3.

43 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 43 Κουίζ (5/7)  9. Η τιμή τής αριθμοσειράς 1100.011 2 σε unsigned binary είναι: (a) -4.375; (b) 12.375; (c) 4.375; (d) -12.375.  10. Η παρακάτω πρόσθεση θα έχει σαν αποτέλεσμα κρατούμενο στην μη-προσημασμένη αναπαράσταση του αποτελέσματος: (a) 0111 1111 2 + 0000 0010 2 ; (b) 1000 0000 2 + 1000 0000 2 ; (c) 0111 1111 2 + 1000 0000 2 ; (d) Τίποτα από τα παραπάνω.

44 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 44 Κουίζ (6/7)  11. Ό αντίστοιχος δεκαεξαψήφιος αριθμός τού δεκαδικού −36 είναι: (a) 0xDC; (b) 0x24; (c) 0xDB; (d) 0x23.  12. Μία πρόσθεση προσημασμένων-signed θα προκαλέσει υπερχείλιση όταν: (a) Προκύπτει κρατούμενο από το LSB; (b) Προκύπτει κρατούμενο από το MSB; (c) Προσθέτοντας δύο αρνητικούς αριθμούς έχει σαν αποτέλεσμα έναν θετικό αριθμό (d) Το μέγεθος τού αποτελέσματος είναι μικρότερο από το μέγεθος τού μικρότερου τελεστέου.

45 UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved www.msp430.ubi.pt 45 Κουίζ (7/7)  Απαντήσεις:  1. (c) Αλλάζει ομαλά και συνεχόμενα.  2. (a) Μπορούν να διατηρηθούν σε υψηλή ακρίβεια και σε υψηλούς ρυθμούς  3. (b) 255.  4. (b) Two’s complement.  5. (d) 0x75Bh, 1883 10.  6. (d) Το One’s complement αντιπροσωπεύει και το +0 και το -0.  7. (b) Έναν αρνητικό αριθμό.  8. (d) -3.  9. (b) 12.375.  10. (b) 1000 0000 + 1000 0000.  11. (a) 0xDC.  12. (c) Προσθέτοντας δύο αρνητικούς αριθμούς επιφέρει ένα θετικό αποτέλεσμα.


Κατέβασμα ppt "UBI >> Contents Κεφάλαιο 1 Εισαγωγική Επισκόπηση MSP430 Teaching Materials Texas Instruments Incorporated University of Beira Interior (PT) Pedro Dinis."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google