Ένας κλώνος του διάσημου Tetris, γραμμένος σε assembler. Ταιριάζει εξ ολοκλήρου σε 512 byte τομέα εκκίνησης (χρειάζεται μόνο 446 byte χώρου, που είναι ακριβώς μέγιστο μέγεθος bootloader σε MBR).

MBR - μια ενότητα που περιέχει τον κωδικό και τα δεδομένα που είναι απαραίτητα για την επόμενη εκκίνηση του λειτουργικού συστήματος και βρίσκεται στους πρώτους φυσικούς τομείς. Τα πρώτα 446 byte του δίσκου δίνονται στον κώδικα του bootloader. Σε αυτό το μέρος καταγράφεται το TetrOS.

Φυσικά, λόγω τέτοιων ιδιοτήτων, φορτώνεται πριν από οποιαδήποτε λειτουργικό σύστημα- δεν απαιτεί κανένα λειτουργικό σύστημα, λειτουργεί από μόνο του. Ναι, καλά ακούσατε, το TetrOS είναι το δικό του bootloader.

Έτσι φαίνεται στην οθόνη:

Και η πηγή στον τομέα εκκίνησης μοιάζει με αυτό:

Και ναι είναι ΟΛΟΚΛΗΡΟπηγή. Θυμάστε ότι ζυγίζει μόνο 446 byte;

Είναι δυνατό να τρέξετε αυτό το "θαυματουργό λειτουργικό σύστημα" κάτω από το qemu ή ακόμα και να το εγκαταστήσετε πραγματικά διαμέρισμα εκκίνησηςδίσκο ή μονάδα flash.

εκτόξευση

Απλώς εγκαταστήστε το qemu:

sudo apt-get install qemu

και τρέξε:

Λήψη σε μονάδα flash

Αντιγράψτε την εικόνα σε μια μονάδα flash. Ας υποθέσουμε ότι εάν η μονάδα flash έχει τοποθετηθεί ως /dev/sde, πρέπει να εκτελέσετε την ακόλουθη εντολή για να γράψετε σε αυτήν τομέας εκκίνησης TetroOS:

sudo dd if=tetros.img of=/dev/sde

Περιγραφή παιχνιδιού

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

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

ΕΙΣΑΓΩΓΗ Μικροελεγκτές, εμφάνιση και εφαρμογή τους
Ιστορία των μικροελεγκτών
Ηλεκτρονικά σε ελληνικό στυλ
Γιατί AVR;
Τι έπεται?

ΜΕΡΟΣ Ι. ΓΕΝΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑΣ ΤΗΣ ATMEL AVR

Κεφάλαιο 1 Επισκόπηση των μικροελεγκτών AVR της Atmel

Οικογένειες AVR
Χαρακτηριστικά της πρακτικής χρήσης του MK AVR

Κεφάλαιο 2. Γενική διάταξη, οργάνωση μνήμης, χρονομέτρηση, επαναφορά

Μνήμη προγράμματος
Μνήμη δεδομένων (RAM, SRAM)
Μη πτητική μνήμη δεδομένων (EEPROM)
Μέθοδοι χρονομέτρησης
Επαναφορά
Δυνατότητες σύνδεσης πρόσθετης εξωτερικής μνήμης δεδομένων

Κεφάλαιο 3. Εισαγωγή στα περιφερειακά

Θύρες I/O
Χρονόμετρα-Μετρητές
Μετατροπέας αναλογικού σε ψηφιακό
Σειριακές θύρες
UART
Διεπαφή SPI
Διεπαφή TWI (12C)
Παγκόσμιος σειριακή διεπαφή USI

Κεφάλαιο 4 Διακοπές και λειτουργίες εξοικονόμησης ενέργειας

Διακόπτει
Τύποι διακοπών
Λειτουργίες εξοικονόμησης ενέργειας
Κατανάλωση MK AVR
Λειτουργίες κατανάλωσης και εξοικονόμησης ενέργειας MK AYR

ΜΕΡΟΣ II. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΙΚΡΟΕΛΕΓΚΤΩΝ ATMEL AVR

Κεφάλαιο 5. Γενικές αρχές προγραμματισμού AVR οικογένειας MK

Assembler ή C;
Τρόποι και μέσα προγραμματισμού AVR
Επεξεργαστής κώδικα
Σχετικά με το AVR Studio
Διάταξη του συναρμολογητή
προγραμματιστές
Σχετικά με τα hex αρχεία
Εντολές, Οδηγίες και Σημείωση Συναρμολόγησης AVR
Αριθμοί και εκφράσεις
Οδηγίες και Λειτουργίες
Γενική Δομή Προγράμματος AVR
Διακοπή χειρισμού
ΕΠΑΝΑΦΟΡΑ
Το πιο απλό πρόγραμμα
Καθυστέρηση
Πρόγραμμα μετρητών
Χρήση διακοπών
Καθυστέρηση χρονοδιακόπτη
Πρόγραμμα μετρητή διακοπής
Σχετικά με τα bit διαμόρφωσης

Κεφάλαιο 6 Σύστημα εντολών AVR

Έλεγχος εντολών μεταφοράς και του μητρώου SREG
Εντολές Check-pass
Λογικές εντολές
Οδηγίες Shift και Λειτουργίες Bit
Εντολές για Αριθμητικές Πράξεις
Εντολές μεταφοράς δεδομένων
Εντολές ελέγχου συστήματος
Εκτέλεση τυπικών διαδικασιών σε assembler
Σχετικά με τη στοίβα, τις τοπικές και καθολικές μεταβλητές

Κεφάλαιο 7 Αριθμητικές Πράξεις

Τυπικές αριθμητικές πράξεις
Πολλαπλασιασμός πολυψήφιων αριθμών
Πολυψήφια διαίρεση
Πράξεις με κλασματικούς αριθμούς
Γεννήτρια τυχαίων αριθμών
Λειτουργίες με αριθμούς σε μορφή BCD
Αρνητικοί αριθμοί σε MK

Κεφάλαιο 8 Προγραμματισμός χρονομέτρων

Χρονοδιακόπτες 8 και 16 bit
Σχηματισμός του σημείου ρύθμισης συχνότητας
Αντίστροφη μέτρηση
Ακριβής διόρθωση χρόνου
Συχνόμετρο και μετρητής περιόδου
Συχνόμετρο
Περιοδόμετρο
Δυναμικός έλεγχος ένδειξης
Ενδείξεις LED και η σύνδεσή τους
Προγραμματισμός δυναμική ένδειξη
Χρονοδιακόπτες σε λειτουργία PWM

Κεφάλαιο 9 Χρήση EEPROM

Για άλλη μια φορά σχετικά με την ασφάλεια των δεδομένων στην EEPROM
Γράψτε και διαβάστε EEPROM
Αποθήκευση σταθερών στο EEPROM

Κεφάλαιο 10 Αναλογικός συγκριτής και ADC

Αναλογικές-ψηφιακές λειτουργίες και τα λάθη τους
Εργασία με αναλογικό συγκριτή
Ενσωμάτωση ADC σε συγκριτικό
Αρχή λειτουργίας και τύποι υπολογισμού
Ενσωμάτωση προγράμματος ADC
Ενσωματωμένο ADC
Παράδειγμα ADC
Πρόγραμμα

Κεφάλαιο 11 Προγραμματισμός SPI

Βασικές λειτουργίες μέσω SPI
Επιλογή υλικού
Επιλογή λογισμικού
Σχετικά με τις ποικιλίες μη πτητικής μνήμης
Γράψτε και διαβάστε τη μνήμη flash μέσω SPI
Πρόγραμμα ανταλλαγής μνήμης 45DB011B μέσω SPI
Γράψιμο και ανάγνωση καρτών flash
Σύνδεση καρτών MMS
Έκδοση εντολών και προετοιμασία MMC
Γράψιμο και ανάγνωση MMS

Κεφάλαιο 12. Διεπαφή TWI (12C) και η πρακτική της χρήση

Βασικό πρωτόκολλο 12C
Εξομοίωση λογισμικού του πρωτοκόλλου 12C
Εγγραφή δεδομένων σε εξωτερική μη πτητική μνήμη
Ανταλλάξτε λειτουργίες με μνήμη AT24
Πρόγραμμα
Ρολόι με διεπαφή 12C
Καταγραφή δεδομένων
Ανάγνωση δεδομένων

Κεφάλαιο 13 Προγραμματισμός UART/USART

Αρχικοποίηση UART
Αποστολή και λήψη δεδομένων
Παράδειγμα ρύθμισης του ρολογιού DS1307 χρησιμοποιώντας UART
Τεχνικές προστασίας από βλάβες επικοινωνίας
Αρτια ισοτιμία
Πώς να οργανώσετε τη σωστή ανταλλαγή
Επιπρόσθετα χαρακτηριστικά USART
Υλοποίηση διεπαφών RS-232 και RS-485
Μετατροπείς στάθμης για RS-232
RS-485

Κεφάλαιο 14 Λειτουργίες εξοικονόμησης ενέργειας και χρονόμετρο Watchdog

Προγραμματισμός Εξοικονόμησης Ενέργειας
Παράδειγμα οργάνου που λειτουργεί με μπαταρία
Βελτίωση του προγράμματος
Χρήση του χρονοδιακόπτη παρακολούθησης

ΕΦΑΡΜΟΓΕΣ

Συνημμένο 1. Βασικές παράμετροι μικροελεγκτών Atmel AVR

Παράρτημα 2 Εντολές Atmel AVR
Οδηγίες Αριθμητικής και Λογικής
Εντολές λειτουργιών bit
Εντολές σύγκρισης
Έλεγχος εντολών μεταφοράς
Οδηγίες άνευ όρων άλματος και κλήσεων υπορουτίνας
Παράλειψη ελέγχου και Οδηγίες υποκαταστήματος υπό όρους
Εντολές μεταφοράς δεδομένων
Εντολές ελέγχου συστήματος

Παράρτημα 3 Κείμενα προγράμματος
Πρόγραμμα επίδειξης επικοινωνίας με μνήμη flash 45DB011B μέσω διασύνδεσης SPI
Διαδικασίες ανταλλαγής στη διεπαφή 12C

Παράρτημα 4 Επικοινωνία με προσωπικός υπολογιστήςκαι προγράμματα εντοπισμού σφαλμάτων μέσω UART
Εργασία με θύρα COM στους Δελφούς
Θύρα COM και Windows API
Εργασία με COM μέσω έτοιμων στοιχείων
Εγκατάσταση της γραμμής RTS σε DOS και Windows
Το πρόγραμμα COM2000
Εντοπισμός σφαλμάτων προγραμμάτων με ένα πρόγραμμα τερματικού

Παράρτημα 5 Γλωσσάρι κοινών συντομογραφιών και όρων
Αντιστοιχία όρων στα ρωσικά με τη μετάφρασή τους στα αγγλικά
Αντιστοιχία όρων στα αγγλικά με τη μετάφρασή τους στα ρωσικά

Βιβλιογραφία
Ευρετήριο θεμάτων

Κάπως είδα ένα ενδιαφέρον βίντεο στο δίκτυο, έδειχνε ένα παιχνίδι φιδιού που υλοποιήθηκε σε μικροελεγκτή και μήτρα LED 8x8, μετά βρήκα μερικά ακόμα παρόμοια βίντεο που με ενδιέφεραν. Μεταξύ αυτών ήταν επίσης ένα βίντεο όπου ένα παιχνίδι Tetris συναρμολογήθηκε σε έναν «ισχυρό» μικροελεγκτή. Μετά την παρακολούθηση, αποφάσισα να αναπτύξω τη δική μου έκδοση της συσκευής, στην οποία συνδυάζονται και τα δύο παιχνίδια, χρησιμοποιώντας τον μικροελεγκτή PIC16F688 και δύο πίνακες LED που εμφανίζουν τον αγωνιστικό χώρο με ανάλυση 8x16 pixel.

Το διάγραμμα της συσκευής φαίνεται παρακάτω. Η έξοδος πληροφοριών στον πίνακα H1, H2 σε δυναμική λειτουργία πραγματοποιείται μέσω των καταχωρητών μετατόπισης DD2, DD3, DD4. Οι έξοδοι των μικροκυκλωμάτων DD2, DD3 συνδέονται με τις ανόδους των μητρών. Οι κάθοδοι και των δύο μητρών συνδέονται με τους συλλέκτες των τρανζίστορ VT1-VT8, τα σήματα ελέγχου για τα οποία παράγονται από το τσιπ DD4. Ο μικροελεγκτής φορτώνει δεδομένα στον καταχωρητή DD4, όταν υπερχειλίζει, πληροφορίες από την 9η έξοδο μεταφέρονται στην είσοδο του καταχωρητή DD3 και στη συνέχεια με τον ίδιο τρόπο τα δεδομένα μεταφέρονται στον καταχωρητή DD2. Οι αντιστάσεις R1-R16 περιορίζουν το ρεύμα μέσω των LED της μήτρας. Οι αντιστάσεις R17-R23 ρυθμίζουν το ρεύμα βάσης των τρανζίστορ VT1-VT8. Ο μικροελεγκτής λειτουργεί σε συχνότητα 8 MHz από έναν εσωτερικό ταλαντωτή. Ο ρυθμός ανανέωσης της εικόνας είναι 100 Hz.


Μετά την ενεργοποίηση, η προφύλαξη οθόνης του παιχνιδιού "Snake" εμφανίζεται στον αγωνιστικό χώρο. Στο επάνω μέρος του πεδίου εμφανίζεται ο αριθμός 1, στο κάτω μέρος υπάρχει μια εικόνα ενός τμήματος του παιχνιδιού. Όταν πατάτε το κουμπί "Έναρξη / Παύση" SB5, μεταβαίνετε στο μενού του παιχνιδιού, στο επάνω μέρος του οποίου εμφανίζεται το επίπεδο του παιχνιδιού με τη μορφή αριθμών από το 1 έως το 9. Το επίπεδο παιχνιδιού ρυθμίζεται με το SB1 "Πάνω" κουμπί, κάθε φορά που πατάτε ο αριθμός επιπέδου αυξάνεται διαδοχικά ανά μονάδα. Μετά τον αριθμό 9, εμφανίζεται ξανά ο αριθμός 1. Από καθιερωμένο επίπεδοΤο παιχνίδι εξαρτάται από το αρχικό μήκος του φιδιού, οπότε για το 1ο επίπεδο το μήκος είναι 3 πόντοι, για το 9ο 11 πόντοι. Στο κάτω μέρος του μενού, εμφανίζονται πληροφορίες σχετικά με την ταχύτητα του φιδιού. Ο αριθμός 1 αντιστοιχεί στην ελάχιστη ταχύτητα και ο αριθμός 9 αντιστοιχεί στη μέγιστη. Η τιμή της ταχύτητας ορίζεται από το κουμπί SB4 "Down", παρόμοια με τη ρύθμιση του επιπέδου του παιχνιδιού. Η λάμψη των LED κατά μήκος της περιμέτρου του γηπέδου στο μενού σημαίνει ότι έχει επιλεγεί η λειτουργία παιχνιδιού με την παρουσία περιγραμμάτων κατά μήκος της περιμέτρου του γηπέδου. Σε αυτήν τη λειτουργία, όταν το φίδι φεύγει από τον αγωνιστικό χώρο, εμφανίζεται απώλεια. Εάν στο μενού, τα LED γύρω από την περίμετρο του πεδίου είναι σβηστά, τότε επιλέγεται η λειτουργία χωρίς περιθώρια. Σε αυτή την περίπτωση, κατά την έξοδο από τον αγωνιστικό χώρο, το κεφάλι του φιδιού εμφανίζεται στην αντίθετη πλευρά του γηπέδου. Τα κουμπιά SB2 "Right" και SB3 "Left" ορίζουν την απαιτούμενη λειτουργία παιχνιδιού. Όταν μπείτε για πρώτη φορά στο μενού του παιχνιδιού, η τιμή του μήκους και της ταχύτητας ορίζονται σε ένα, επιλέγεται η λειτουργία με την παρουσία περιγραμμάτων.

Αφού πατήσετε το κουμπί "Έναρξη / Παύση" από το μενού του παιχνιδιού, ένα φίδι στη βασική θέση και ένα τυχαίο ελεύθερο σημείο εμφανίζονται στον αγωνιστικό χώρο. Πατώντας οποιοδήποτε από τα κουμπιά "Επάνω", "Αριστερά", "Δεξιά" προκαλείται η κίνηση του φιδιού προς την αντίστοιχη κατεύθυνση. Μετά την έναρξη της κίνησης, το κουμπί «Κάτω» γίνεται επίσης διαθέσιμο για τον έλεγχο του φιδιού. Όταν χτυπάτε ένα φωτεινό σημείο, το μήκος του φιδιού αυξάνεται. Αφού συγκεντρώσει 14 πόντους, ο παίκτης περνάει στο επόμενο επίπεδο του παιχνιδιού. Μετά το 9ο επίπεδο, ακολουθεί μετάβαση στο πρώτο επίπεδο. Εάν το φίδι χτυπήσει το σώμα του ή βγει έξω από τον αγωνιστικό χώρο στη λειτουργία οριοθέτησης, προκύπτει απώλεια. Μετά από 3 ήττες, επιστρέφετε στο μενού του παιχνιδιού, όπου υποδεικνύονται το τρέχον επίπεδο και η ταχύτητα του παιχνιδιού. Αφού το φίδι αρχίσει να κινείται, πατώντας τα κουμπιά "Έναρξη / Παύση", μπορείτε να κάνετε παύση και να συνεχίσετε το παιχνίδι.

Για έξοδο από το μενού του παιχνιδιού, κρατήστε πατημένο το κουμπί "Έναρξη / Παύση" για 1 δευτερόλεπτο και μετά θα εμφανιστεί η οθόνη εκκίνησης του παιχνιδιού στον αγωνιστικό χώρο. Η εναλλαγή μεταξύ των παιχνιδιών πραγματοποιείται πατώντας οποιοδήποτε από τα κουμπιά "Πάνω", "Κάτω", "Αριστερά", "Δεξιά". Ταυτόχρονα εμφανίζεται η οθόνη εκκίνησης του αντίστοιχου παιχνιδιού.

Ο αριθμός 2 εμφανίζεται στο επάνω μέρος της οθόνης εκκίνησης του παιχνιδιού Tetris και η εικόνα ενός τμήματος του παιχνιδιού εμφανίζεται στο κάτω μέρος. Η μετάβαση στο μενού του παιχνιδιού πραγματοποιείται πατώντας το κουμπί «Έναρξη/Παύση». Στην κορυφή του μενού, εμφανίζεται ο αριθμός των πόντων που σημείωσε ο παίκτης. Απονέμονται πόντοι για κάθε ένα διαγραμμένη γραμμή. Ο μετρητής βαθμολογίας μετράει μέχρι το 99, στη συνέχεια μηδενίζεται και η βαθμολογία ξεκινά ξανά. Στην αρχή του καθενός νέο παιχνίδι, μηδενίζεται και ο μετρητής. Στο κάτω μέρος του μενού εμφανίζονται πληροφορίες σχετικά με την ταχύτητα κίνησης των κομματιών, η οποία ρυθμίζεται χρησιμοποιώντας τα κουμπιά "Πάνω", "Κάτω", αντίστοιχα. Αφού πατήσετε το κουμπί "Έναρξη / Παύση" από το μενού, το παιχνίδι ξεκινά, εμφανίζονται τυχαίες φιγούρες στο πάνω μέρος του πεδίου, οι οποίες μπορούν να μετακινηθούν με τα κουμπιά "Αριστερά" και "Δεξιά" προς την κατάλληλη κατεύθυνση. Το κουμπί Πάνω περιστρέφει το σχήμα κατά 90 μοίρες δεξιόστροφα κάθε φορά που το πατάτε. Κρατώντας πατημένο το κουμπί «Κάτω», μπορείτε να επιταχύνετε την κίνηση της φιγούρας. Το κουμπί "Έναρξη/Παύση" σάς επιτρέπει να κάνετε παύση και να συνεχίσετε το παιχνίδι. Το παιχνίδι τελειώνει όταν μια νέα φιγούρα δεν μπορεί να χωρέσει στον αγωνιστικό χώρο, μετά από την οποία γίνεται μετάβαση στο μενού όπου μπορείτε να δείτε τον αριθμό των πόντων που σημείωσε ο παίκτης. Η έξοδος από το μενού πραγματοποιείται με τον ίδιο τρόπο όπως στο παιχνίδι "Snake".

Εάν δεν πατηθεί κανένα από τα κουμπιά μέσα σε 4 λεπτά, η συσκευή μεταβαίνει σε λειτουργία χαμηλής κατανάλωσης, ο μικροελεγκτής απενεργοποιεί τις μήτρες LED και μεταβαίνει σε κατάσταση αναστολής λειτουργίας. Η συσκευή «ξυπνάει» αφού πατήσει το κουμπί «Έναρξη» και επιστρέφει στην προηγούμενη κατάστασή της.

Η συσκευή χρησιμοποιεί αντιστάσεις - μεγέθους 1206 για επιφανειακή τοποθέτηση. Πυκνωτές C2, C3 - κεραμικό μέγεθος 1206. Πίνακες LED H1, H2 - TOM-1088BG-B πράσινη λάμψη με διάμετρο LED 3mm και ανάλυση 8x8 pixel. Τα κουμπιά είναι τυπικό ρολόι.

Η πηγή τροφοδοσίας είναι ένα σταθεροποιημένο τροφοδοτικό με τάση 3,7-5V, μπορείτε επίσης να χρησιμοποιήσετε γαλβανικές κυψέλες ή μπαταρίες, για παράδειγμα, 3 μπαταρίες 1,5 V AA ή AAA συνδεδεμένες σε σειρά, για παράδειγμα, χρησιμοποιώ 3 μπαταρίες AA. Η συσκευή παραμένει σε λειτουργία όταν η τάση τροφοδοσίας πέσει στα 3,3 V, ενώ μειώνεται η φωτεινότητα των πινάκων LED.

Ονομα:Πρακτικός προγραμματισμός μικροελεγκτών Atmel AVR σε γλώσσα assembly 2 έκδοση

Εκδότης:"BHV-Πετρούπολη"

Έτος έκδοσης: 2011

Σελίδες: 354

Γλώσσα:Ρωσική

Μορφή: DjVu

Το μέγεθος: 12,2 MB

Οι αρχές λειτουργίας, τα χαρακτηριστικά αρχιτεκτονικής και οι τεχνικές προγραμματισμού των μικροελεγκτών Atmel AVR υπερτίθενται.

Δίνονται έτοιμες συνταγές για τον προγραμματισμό των βασικών λειτουργιών του σύγχρονου μικροηλεκτρονικού εξοπλισμού: από την αντίδραση στο πάτημα ενός κουμπιού ή τη δημιουργία μιας δυναμικής ένδειξης σε πολύπλοκα πρωτόκολλα για την καταγραφή δεδομένων σε εξωτερική μνήμηή δυνατότητες σύνδεσης του ρολογιού πραγματικού χρόνου. Ιδιαίτερη προσοχή δίνεται στην ανταλλαγή δεδομένων μικροηλεκτρονικών συσκευών με προσωπικό υπολογιστή, δίνονται παραδείγματα προγραμμάτων. Το βιβλίο λαμβάνει υπόψη τα χαρακτηριστικά των σύγχρονων μοντέλων AVR και των σχετικών τσιπ. τα τελευταία χρόνιαελευθέρωση.
Η εφαρμογή περιέχει τις κύριες παραμέτρους των μικροελεγκτών AVR, μια λίστα εντολών και κειμένων Οι εφαρμογές περιέχουν τις κύριες παραμέτρους των μικροελεγκτών AVR, μια λίστα εντολών και κείμενα προγραμμάτων για αυτούς, καθώς και μια λίστα με όρους και συντομογραφίες που χρησιμοποιούνται.
Για φοιτητές, μηχανικούς και ραδιοερασιτέχνες

7. Μικροελεγκτές, εμφάνιση και εφαρμογή τους
8. Προϊστορία μικροελεγκτών
10. Ηλεκτρονικά σε ελληνικό στυλ
12. Γιατί AVR;
14. Τι ακολουθεί;
17. ΜΕΡΟΣ L ΓΕΝΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑΣ ΤΗΣ ATMEL AVR
19. Κεφάλαιο 1. Επισκόπηση των μικροελεγκτών AVR της Atmel
21. Οικογένειες AVR
23. Χαρακτηριστικά της πρακτικής χρήσης του MK AVR
23. Κατανάλωση
25. Μερικά χαρακτηριστικά της χρήσης του AVR σε κυκλώματα
27. Κεφάλαιο 2 Γενική συσκευή, οργάνωση μνήμης, χρονομέτρηση, επαναφορά
27. Μνήμη προγράμματος
29. Μνήμη δεδομένων (RAM, SRAM)
31. Μη πτητική μνήμη δεδομένων (EEPROM)
32. Μέθοδοι χρονισμού
34. Επαναφορά
37. Κεφάλαιο 3. Εισαγωγή στα περιφερειακά
38. Θύρες I/O
39. Χρονόμετρο-μετρητές
41. Μετατροπέας αναλογικού σε ψηφιακό
42. Σειριακές θύρες
43. UART
46. ​​Διεπαφή SPI
50. Διεπαφή TWI (I2C)
50. Καθολική σειριακή διεπαφή USI
53. Κεφάλαιο 4. Διακοπές και λειτουργίες εξοικονόμησης ενέργειας
53. Διακόπτει
57. Ποικιλίες διακοπών
58. Λειτουργίες εξοικονόμησης ενέργειας
61. ΜΕΡΟΣ II. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΙΚΡΟΕΛΕΓΚΤΩΝ ATMELAVR
63. Κεφάλαιο 5 Γενικές αρχέςπρογραμματισμός AVR οικογένειας MK
63. Συναρμολογητής ή Γ;
67. Τρόποι και μέσα προγραμματισμού AVR
67. Επεξεργαστής κώδικα
68. Σχετικά με το AVR Studio
70. Διάταξη του συναρμολογητή
71. Προγραμματιστές
75. Σχετικά με τα hex αρχεία
78. Εντολές, οδηγίες και σημειογραφία συναρμολογητή AVR
79. Αριθμοί και εκφράσεις
80. Οδηγίες και Λειτουργίες
84. Γενική δομή ενός προγράμματος AVR
85. Διακοπή χειρισμού
89. ΕΠΑΝΑΦΟΡΑ
90. Το πιο απλό πρόγραμμα
92. Καθυστέρηση
94. Πρόγραμμα μετρητή
96. Χρήση διακοπών
97. Χρονόμετρο καθυστέρησης
98. Πρόγραμμα μετρητή που χρησιμοποιεί διακοπές
101. Σχετικά με τα bit διαμόρφωσης
105. Κεφάλαιο 6, Σύστημα εντολών AVR
105. Ελέγξτε τις εντολές μεταφοράς και καταχωρήστε το SREG
111. Εντολές Check-pass
113. Εντολές λογικών πράξεων
114. Οδηγίες Shift και Λειτουργίες Bit
116. Εντολές αριθμητικών πράξεων
118. Εντολές μεταφοράς δεδομένων
122. Εντολές ελέγχου συστήματος
123. Εκτέλεση τυπικών διαδικασιών σε assembler
125. Σχετικά με τις μεταβλητές στοίβας, τοπικές και καθολικές
127. Κεφάλαιο 7. Αριθμητικές πράξεις
128. Τυπικές αριθμητικές πράξεις
129. Πολλαπλασιασμός πολυψήφιων αριθμών
131. Διαίρεση πολυψήφιων αριθμών
134. Πράξεις με κλασματικούς αριθμούς
136. Γεννήτρια τυχαίων αριθμών
138. Πράξεις με αριθμούς σε μορφή BCD
143. Αρνητικοί αριθμοί σε ΜΚ
147. Κεφάλαιο 8. Προγραμματισμός χρονομέτρων
147. Χρονοδιακόπτες 8 και 16 bit
149. Σχηματισμός της τιμής καθορισμένης συχνότητας
153. Αντίστροφη μέτρηση
158. Ακριβής διόρθωση χρόνου
160. Μετρητής συχνοτήτων και μετρητής περιόδου
160. Συχνόμετρο
164. Περιοδόμετρο
167. Δυναμικός έλεγχος ένδειξης
168. Ενδείξεις LED και σύνδεσή τους
171. Δυναμική ένδειξη προγραμματισμού
174. Χρονοδιακόπτες σε λειτουργία PWM
179. Κεφάλαιο 9. Χρήση EEPROM
179. Για άλλη μια φορά σχετικά με την ασφάλεια των δεδομένων στην EEPROM
181. Γράψτε και διαβάστε EEPROM
183. Αποθήκευση σταθερών στο EEPROM
187. Κεφάλαιο 10. Αναλογικός συγκριτής και ADC
187. Λειτουργίες αναλογικού σε ψηφιακό και τα λάθη τους
190. Εργασία με αναλογικό συγκριτή
193. Ενσωμάτωση ADC σε συγκριτικό
194. Αρχή λειτουργίας και τύποι υπολογισμού
198. Ενσωμάτωση προγράμματος ADC
201. Ενσωματωμένο ADC
204. Ένα παράδειγμα χρήσης ADC
206. Πρόγραμμα
215. Κεφάλαιο 11 Προγραμματισμός SPI
215. Βασικές λειτουργίες μέσω SPI
216. Παραλλαγή υλικού
218. Επιλογή προγράμματος
219. Περί ποικιλιών μη πτητικής μνήμης
221. Γράψιμο και ανάγνωση flash-memory μέσω SP!
224. Πρόγραμμα ανταλλαγής με μνήμη 45DB011B μέσω SPI
225. Γράψιμο και ανάγνωση καρτών flash
225. Σύνδεση καρτών MMS
228. Έκδοση εντολών και προετοιμασία MMC
232. Γράψιμο και ανάγνωση MMC
237. Κεφάλαιο 12. Διεπαφή TW1 (I2C) και πρακτική χρήση της
237. Βασικό Πρωτόκολλο 1 2 Γ
240. Εξομοίωση λογισμικού του πρωτοκόλλου I 2 C
241. Εγγραφή δεδομένων σε εξωτερική μη πτητική μνήμη
241. Τρόποι ανταλλαγής με μνήμη AT24
243. Πρόγραμμα
247. Ρολόι με διεπαφή I 2 C
255. Καταγραφή στοιχείων
259. Ανάγνωση δεδομένων
261. Κεφάλαιο 13. Προγραμματισμός UART/USART
262. Αρχικοποίηση UART
263. Αποστολή και λήψη δεδομένων
266. Παράδειγμα ρύθμισης του ρολογιού DS1307 χρησιμοποιώντας UART
271. Τεχνικές προστασίας από βλάβες επικοινωνίας
271. Έλεγχος ισοτιμίας
273. Πώς να οργανώσετε μια σωστή ανταλλαγή
274. Πρόσθετα χαρακτηριστικά του USART
276. Υλοποίηση διεπαφών RS-232 και RS-485
280. Μετατροπείς στάθμης για RS-232
283.RS-485
285. Κεφάλαιο 14. Λειτουργίες εξοικονόμησης ενέργειας και χρονόμετρο Watchdog
286. Προγραμματισμός της λειτουργίας εξοικονόμησης ενέργειας
287. Παράδειγμα οργάνου που λειτουργεί με μπαταρία
289. Εξευγενισμός του προγράμματος
293. Χρήση του χρονοδιακόπτη παρακολούθησης
299. ΠΑΡΑΡΤΗΜΑΤΑ
301. Παράρτημα 1. Βασικές παράμετροι μικροελεγκτών Atmel AVR
309 Παράρτημα 2 Εντολές Atmel AVR
310. Αριθμητικές και λογικές εντολές
311. Εντολές λειτουργίας bit
312. Εντολές σύγκρισης
313. Έλεγχος εντολών μεταφοράς
313. Οδηγίες για άνευ όρων άλμα και υπορουτίνες κλήσης
314. Έλεγχος εντολών παράλειψης και εντολών μετάβασης υπό όρους
315. Εντολές μεταφοράς δεδομένων
316. Εντολές ελέγχου συστήματος
317. Παράρτημα 3. Κείμενα προγραμμάτων
317. Πρόγραμμα επίδειξης ανταλλαγής δεδομένων με μνήμη flash 45DB011B μέσω διασύνδεσης SPI
321. Διαδικασίες ανταλλαγής μέσω της διεπαφής I2C
329. Παράρτημα 4. Ανταλλαγή δεδομένων με προσωπικό υπολογιστή και προγράμματα εντοπισμού σφαλμάτων μέσω UART
329. Εργασία με θύρα COM στους Δελφούς
335. Εγκατάσταση της γραμμής RTS σε DOS και Windows
337. Πρόγραμμα COM2000
339. Εντοπισμός σφαλμάτων προγραμμάτων με εξομοιωτή τερματικού
341. Παράρτημα 5. Γλωσσάρι κοινών συντμήσεων και όρων
347. Λογοτεχνία
349. Ευρετήριο θεμάτων