
Mikrocontrollertechnik mit AVR
Beschreibung
Mikrocontroller sind in der modernen Welt allgegenwärtig und ihrer Verbreitung wird weiteres stetiges Wachstum vorausgesagt. Fundierte Kenntnisse zu deren Aufbau, Funktionsweise und Programmierung vermittelt dieses Buch in praxisnaher Weise. Über 200 Beispiele, die auch auf den Internetseiten des Verlags zum Download bereit stehen, basieren auf der beliebten Familie der AVR 8-Bit Mikrocontroller von Atmel, die unter anderem durch das Arduino-Projekt weit verbreitet sind. Diese Controller eignen sich nicht zuletzt wegen ihres übersichtlichen Aufbaus und ihrer modernen HARVARD-RISC-Struktur hervorragend zur Einführung in die Thematik.
Alle praktischen Beispiele wurden für die vorliegende neu bearbeitete Auflage an die aktuellen Software-Tools des Herstellers angepasst. Als IDE kommt das uneingeschränkte, kostenfreie Atmel Studio7 zum Einsatz, als Hardware Basis dient das für ca. 10,- Euro erhältliche Xplained Mini Kit, das nicht nur den Controller, sondern auch die Programmier- und Debug-Hardware enthält. Darüber hinaus enthält das Buch Tipps zur Verwendung des Arduino-Boards unter Atmel Studio7 sowie zum Umstieg auf diese Entwicklungsumgebung.
Der Titel richtet sich an Studierende der Elektrotechnik und verwandter Studiengänge, Entwickler in der Industrie sowie ambitionierte Hobbyelektroniker.
Rezensionen / Stimmen
"Didaktisch gut aufbereitet. Viele Abbildungen und Tabellen, Umfassendes Literaturverzeichnis. Die vorhergehende Auflage sollte bei Nachfrage auf jeden Fall ersetzt werden."
Klaus Barckow in: ekz.bibliotheksservice ID 2019/47
Weitere Details
Weitere Ausgaben
Personen
Andreas Riedenauer, Aschaffenburg, Deutschland.
Inhalt
- Intro
- Inhalt
- 1 Einführung
- 1.1 Grundlagen
- 1.1.1 Rechnerstrukturen
- Aufgabe 1
- Aufgabe 2
- Aufgabe 3
- Antwort zu Aufgabe 1
- Antwort zu Aufgabe 2
- Antwort zu Aufgabe 3
- 1.1.2 Zahlendarstellungen
- 1.1.3 Rechenwerk und Registersatz
- Aufgabe 4
- Antworten zu Aufgabe 4
- 1.1.4 Steuerwerk und Programmstrukturen
- Aufgabe 5 (knifflig - kein Problem, wenn Sie an dieser Stelle nicht darauf kommen .)
- Aufgabe 6
- Aufgabe 7
- Antwort zu Aufgabe 5
- Antwort zu Aufgabe 6
- Antwort zu Aufgabe 7
- 1.2 Die Bausteine der Atmel-AVR-Familien
- 1.2.1 Bauformen und Anschlüsse
- 1.2.2 Der Programmspeicher (Flash)
- Aufgabe 8
- Antwort zu Aufgabe 8
- 1.2.3 Der Arbeitsspeicher (SRAM)
- 1.2.4 Der nicht flüchtige Speicher (EEPROM)
- 1.2.5 Der Peripheriebereich
- 1.2.6 Systemsteuerung und Konfigurationsparameter
- 1.3 Die Entwicklung von Anwendungen
- Aufgabe 9
- Aufgabe 10
- Antwort zu Aufgabe 9
- Antwort zu Aufgabe 10
- 2 Assembler-Programmierung
- 2.1 Testschaltung und einführendes Beispiel
- Aufgabe 11
- Antwort zu Aufgabe 11
- 2.2 Assembler-Anweisungen
- 2.3 Operationen
- 2.3.1 Byteoperationen
- Aufgabe 12
- Antwort zu Aufgabe 12
- 2.3.2 Bitoperationen
- 2.3.3 16-Bit-Wortoperationen
- 2.3.4 Operationen mit SF-Registern
- 2.3.5 Multiplikation und Division
- 2.3.5.1 Die ganzzahligen Multiplikationsbefehle der ATmega-Familie
- 2.3.5.2 Software-Multiplikationsverfahren
- 2.3.5.3 Software-Divisionsverfahren
- 2.3.5.4 Die Festpunkt-Multiplikationsbefehle
- 2.4 Sprung- und Verzweigungsbefehle
- 2.4.1 Unbedingte Sprungbefehle
- 2.4.2 Bedingte Sprungbefehle
- 2.4.3 Schleifen
- 2.4.4 Verzweigungen
- 2.5 Die Adressierung der Speicherbereiche
- 2.5.1 Die Adressierung der Konstanten im Flash
- 2.5.2 Die Adressierung der Variablen im SRAM
- 2.5.3 Die Adressierung der Daten im EEPROM
- Aufgabe 13
- Antwort zu Aufgabe 13
- 2.6 Makroanweisungen und Unterprogramme
- 2.6.1 Makroanweisungen
- 2.6.2 Unterprogramme
- 2.6.3 Makro- und Unterprogrammbibliotheken
- 2.7 Interrupts
- 2.7.1 Die Interrupt-Steuerung
- 2.7.2 Die externen Interrupts
- 2.7.3 Der Software-Interrupt
- Aufgabe 14
- Antwort zu Aufgabe 14
- Aufgabe 15
- Antwort zu Aufgabe 15
- 2.7.4 Interrupt durch Potenzialänderung und T/C-Eingangsflanke
- 2.8 Die Eingabe und Ausgabe von Zahlen
- 2.8.1 USART-Zeichen- und String-Funktionen
- 2.8.2 Die Eingabe und Ausgabe von ganzen Zahlen
- 2.8.3 Vorzeichenbehaftete ganzzahlige 16-Bit-Arithmetik
- 2.8.4 BCD-Arithmetik
- 2.8.5 Festpunkt-Arithmetik
- 2.8.6 Ganzzahlige Funktionen
- 3 C-Programmierung
- 3.1 Testschaltung und einführendes Beispiel
- 3.2 Grundlagen
- 3.3 Programmstrukturen
- 3.3.1 Schleifenanweisungen
- 3.3.2 Verzweigungen mit bedingten Anweisungen
- 3.3.3 Funktionen
- 3.3.4 Anwendungsbeispiele
- 3.4 Speicherbereiche
- 3.4.1 Felder im SRAM-Bereich
- 3.4.2 Konstanten im Flash-Programmspeicher
- 3.4.3 Daten im EEPROM-Bereich
- 3.5 Die Ein-/Ausgabe von Zeichen und Zahlen
- 3.5.1 USART-Zeichen- und String-Funktionen
- 3.5.2 System-Funktionen für die Ein-/Ausgabe von Zahlen
- 3.5.3 System-Umwandlungsfunktionen für Zahlen
- 3.5.4 Benutzerdefinierte Funktionen für Zahlen
- 3.6 Die Interrupt-Steuerung
- 3.6.1 Die externen Interrupts
- 3.6.2 Der Software-Interrupt
- 3.6.3 Interrupt durch Potenzialänderung und Timer-Eingang
- 4 Die Peripherie
- 4.1 Die Peripherieports (I/O-Ports)
- 4.2 Die Timer/Counter (T/C)
- 4.2.1 Der 8-Bit-Timer0
- Aufgabe 16
- Lösung zu Aufgabe 16
- 4.2.2 Der 16-Bit-Timer1
- 4.2.2.1 Die Betriebsarten Timer und Zähler des Timer1
- 4.2.2.2 Die Capture-Betriebsart des Timer1
- 4.2.2.3 Die einfache Compare-Betriebsart des Timer1
- 4.2.2.4 Die einfache PWM-Betriebsart des Timer1
- 4.2.3 Die erweiterten Timer-Betriebsarten
- 4.2.4 Der 8-Bit-Timer2
- 4.2.5 Watchdog-Timer und Stromsparbetrieb
- 4.3 Die serielle USART-Schnittstelle
- 4.3.1 Serielle Datenübertragung
- 4.3.2 Der Asynchronbetrieb der USART-Schnittstelle
- 4.3.3 Die USART-Interrupt-Steuerung
- 4.3.4 Der Synchronbetrieb der USART-Schnittstelle
- 4.3.5 Software-Emulation der asynchronen Schnittstelle
- 4.3.6 Übertragungsverfahren
- 4.4 Die serielle SPI-Schnittstelle
- 4.5 Die serielle TWI-Schnittstelle (I2C)
- 4.6 Die serielle USI-Schnittstelle
- 4.7 Analoge Schnittstellen
- 4.7.1 Der Analog-/Digitalwandler
- 4.7.2 Der Analogkomparator
- 5 Der Boot-Programmspeicher
- 5.1 Boot-Bereich und SPM-Befehl
- 5.2 Ein einfaches Boot-Ladeprogramm
- 6 Schaltungstechnik
- 6.1 Die Beispielschaltungen
- 6.2 Anzeigeeinheiten
- 6.3 Eingabeeinheiten
- 6.4 Analoge Schnittstellen
- 6.5 Sensoren
- 6.5.1 Messungen mit dem Analog-/Digitalwandler
- 6.5.2 Temperatursensoren
- 6.5.3 Lichtsensoren
- 6.6 Aktoren
- 7 Projekte
- 7.1 Die Bausteine der Projekte
- 7.1.1 Der ATtiny12
- 7.1.2 Der ATtiny2313(A)
- Aufgabe 17
- Lösungshinweis zu Aufgabe 17
- Lösung zu Aufgabe 17
- 7.1.3 Der ATmega16(A)
- 7.1.4 Der ATmega8515 mit externem RAM
- 7.2 Ein Würfel mit dem ATtiny12/ATtiny13A
- Aufgabe 18
- Antwort zu Aufgabe 18
- 7.3 Zufallszahlen
- Aufgabe 19
- "Antwort" zu Aufgabe 19
- 7.4 Eine Stoppuhr mit dem ATtiny2313(A)
- 7.5 Ein Hexadezimaldecoder mit dem ATmega88
- 7.6 LCD-Anzeige mit einem ATmega16(A)
- 7.7 Funkuhr mit einem ATmega16(A)
- 8 Atmel/Microchip Studio7
- 8.1 Microchip Studio installieren
- 8.2 Ein Assembler-Projekt anlegen
- 8.3 Das Programm testen
- Aufgabe 20
- Lösung zu Aufgabe 20
- Aufgabe 21
- 8.4 Das Programm mit dem Xplained-Board testen
- 9 Arduino-Boards und Microchip Studio
- Aufgabe 22
- Lösung zu Aufgabe 22
- 9.1 Arduino aus Microchip Studio über Bootloader programmieren
- 9.2 Arduino aus Microchip Studio über SPI programmieren
- 9.2.1 Arduino-Bootloader retten
- Aufgabe 23
- Lösungshilfen zu Aufgabe 23
- Lösung zu Aufgabe 23
- Aufgabe 24:
- Lösung zu Aufgabe 24:
- 9.3 Arduino aus Microchip Studio heraus debuggen
- 10 AVR-Familien und -Versionen
- 10.1 AVR Classic
- 10.2 ATmega
- 10.3 ATtiny
- 10.4 picoPower® AVR
- 10.5 ATxmega
- 10.6 A-Typen und 35k4-Prozess
- 10.7 B-Typen und 130-nm-Prozess
- 10.8 Neue AVR-Familien
- 11 Anhang
- 11.1 Literatur
- 11.2 Zeitschriften mit Beiträgen zu Mikrocontrollern
- 11.3 Bezugsquellen und Internetadressen
- 11.4 Assembleranweisungen
- 11.5 Assemblerbefehle
- 11.6 Rangfolge der C-Operatoren (Auswahl)
- 11.7 C-Schlüsselwörter und -Anweisungen (Auswahl)
- 11.8 ASCII-Codetabellen (Schrift Courier New)
- Dezimale Anordnung
- Hexadezimale Anordnung
- Escape-Sequenzen und ASCII-Steuercodes
- 11.9 Elemente für Ablaufpläne und Struktogramme
- 11.10 Programmbeispiele und SF-Register
- Assemblerprogramme
- Assembler-Unterprogramme
- Assembler-Makrodefinitionen
- Assembler-Headerdateien
- C-Programme
- C-Funktionen
- C-Headerdateien
- SF-Register des ATmega8
- 11.11 Checkliste zur Energie-Einsparung
- Register
Systemvoraussetzungen
Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m.
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.