Inhaltsverzeichnis. Vorwort

Ähnliche Dokumente
Florian Schäffer AVR. Hardware und C-Rrogrammierung in der Praxis. Elektor-Verlag, Aachen

Florian Schäffer AVR. Hardware und Programmierung in C. Elektor-Verlag, Aachen

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Die AVR Mikrocontrollerfamilie

Einführung in die Welt der Microcontroller

Bert van Dam. PIC MikroController. 50 Projekte für Anfänger und Fortgeschrittene. Elektor-Verlag, Aachen

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Programmieren der AVR RISC MikroController mit BASCOM-AVR

Inhaltsverzeichnis VII

Autonome Mobile Systeme. Dr. Stefan Enderle

MikroController der 8051-Familie

Rechnerarchitektur Atmega Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Mikrocontroller vs. Mikroprozessor 1/3

Bootloader FastBoot von Peter Dannegger

E Mikrocontroller-Programmierung

AVR-Mikrocontroller mit dem GCC programmieren

Nicht nur zum Spielen geeignet Atmels AVR und AVR32 Xplain Evalkitserie sind die ideale Hardwareplattformen für das neue AVR Studio 5

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Inhaltsverzeichnis. 1 Einleitung Aufbau des Buches Mehr Informationen Weitere Quellen Danksagung 15

Inhaltsverzeichnis VII.

Prinzipien und Komponenten eingebetteter Systeme

Python macht Embedded Linux angenehmer

Mikrocomputertechnik

Florian Schäffer AVR. Hardware und C-Programmierung in der Praxis. Elektor-Verlag, Aachen. Satz: Ulrich Weber, Aachen

Mikroprozessortechnik Grundlagen 1

Mikrocontroller. Vortrag von Louis Liedtke. 8. Dezember Fakultät Elektrotechnik und Informatik. Bild 1: Atmel ATmega8

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

KR-mega32-16 rev. 2.3 Thomas Krause, Krause Robotik

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Handbuch Digi-Prog. Revision 1.0. Copyright c Welzel GbR Steinstrasse Giessen

Eclipse. für die kleinen Dinge des (modernen) Lebens

Inhaltsverzeichnis. Teil I Grundlagen 25. Einleitung... 15

AVR-Programmier-Testboard V1.2.1

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Embedded Systems

U5-2 Register beim AVR-µC

BLIT2008-Board. Uwe Berger

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

Selbstbauprojekt 2017 GØ1

AVR-Portadapter AVRPA 05

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

@Home. Mikroprozessor-Experimentier-System. Fakultät I Elektro- und Informationstechnik Fachgebiet Industrieelektronik & Digitaltechnik

Mikrocontrollertechnik

Atmel AVR für Dummies

BLUE line. Bedienungsanleitung zum M-Unit Experimentierboard. Innovative Technik. Tobias Regenhardt Grüner Weg Seulingen

Überblick zum ESP32 mit Arduino. Helmut Tschemernjak Arduino-Hannover

SB-002 DATASHEET SB-002 V1.00: 8051 MIKROCONTROLLERBOARD MIT AT89C5131A-M OHNE NETZTEIL. Dokument NR.: SB-002_Datasheet

ATmega169 Chip: Pin-Layout

analoge Ein- und Ausgänge

PIC-Microcontroller. Oldenbourg Verlag München

Vorbereitung. Teil D Analog-Digital-Wandler 1

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm

V cc. 1 k. 7 mal 150 Ohm

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Projekt Thermen-Steuerung von Manuel Schreiner Mat.-Nr.: Betreuer: Prof. Rückle

Einleitung 15. Teil I Grundlagen 25

Einführung Microcontroller

Programmierung von Mikrocontrollern am Beispiel des ATMEL ATmega32

D.1 Vorbereitung. Teil D Analog-Digital-Wandler 1

grifo Mini Module Test 2

Wenn Sie das Register: Retrtrieve IP adress automatically (DHCP enable) aktivieren, wird die IP-Adresse automatisch eingetragen.

Mikrocontroller - Tipps & Tricks

1 Mikrocontrollergrundlagen 1. 2 Mikrocontrollerfamilien beurteilen und auswählen 27

eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann

Inhaltsverzeichnis. 1 Embedded Systems Einführung... 53

Das Melvin Projekt. von der Idee bis zur Schaltung. - Seite 1 -

Marian Walter Stefan Tappertzhofen. Das MSP 430 Mikrocontroller Buch

ATXMega128/192/256a3- Controllerboard

UART-Kommunikation mit dem Atmel AVR

Mikrocontroller selbst programmieren. Uwe Berger

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Die Technik hinter IoT: Arduino, Raspberry Pi & Co.

Vorwort Lichteffekte mit Arduino_NEU.indd :00:47

FRANZIS PC & ELEKTRONIK

Ein-Bit-Rechner 15. Mikrorechentechnik-Grundlagen 29

Johannes Kelper Universität Linz. Institut für Elektrische Messtechnik. Dokumentation. ATmeag8-USB Modul. Bernd R. Arminger ATmega8-USB Modul 1

Hardware Design Patterns.

Fuses mit BASCOM und USBASP setzen

verzeichnis Bernd-Dieter Schaaf, Peter Wissemann, Stephan Böcker Mikrocomputertechnik

AVR-8-bit-Mikrocontroller Gruppe Technologie der AVR-8-bit-Mikrocontroller Teil SPI

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1

Praktikum Komponenten & Programmierung von Automatisierungssystemen

simline Technische Beschreibung simcontrol5 Version 1.07 Modulbeschreibung Eigenschaften

ATXMega32a4-Controllerboard

Arduino und Amateurfunk (1)

Applikationen zur Mikrocontroller-Familie

1 Die CD-ROM zum Buch Inhalt der CD-ROM GPL (General Public License) Systemvoraussetzungen Updates und Support 13

Table of Contents. Table of Contents UniTrain UniTrain-Kurse UniTrain-Kurse Mikrocomputertechnik

Mark VHS Augsburg Einführung in die Mikrocontroller-Programmierung. mark@mark-fink.de

Ein kleiner ARDUINO mit viel Speicher für Datalogging (Wetterstation), LED Stripe Anwendungen u.v.a.m.

Handbuch für das Universal Mikrocontrollermodul mit ATMega128 / ATmega2561

Fortbildungsmodule >> Elektrotechnik. Präzisierung zu Modulbereich Mikrocontroller [E61] Teilmodul E611 Grundlagen Mikrocontrollertechnik (µc)

ATMEL Kurs mit BASCOM AVR. Für Einsteiger, und solche die es werden wollen. Entwickelt von Pierre Mai. Speziell für

Transkript:

Vorwort 1. Einführung in die Mikrocontrollertechnik..................... 11 1.1 Einsatzgebiete für Mikrocontroller......................... 12 1.2 Was ist ein Mikrocontroller?............................ 13 1.2.1 Mikrocontroller-Speicher........................... 14 1.2.2 RISC-Architektur............................... 15 1.3 Der passende Mikrocontroller-Typ......................... 16 1.3.1 Funktionsumfang Befehlssatz........................ 16 1.3.2 Geschwindigkeit............................... 17 1.3.3 Funktionsumfang integrierter Hardware................... 17 1.3.4 Preis und Beschaffbarkeit.......................... 18 1.3.5 Bauform.................................. 19 1.3.6 Speichergröße............................... 20 1.3.7 Qualität der Dokumentation......................... 21 1.3.8 Akzeptanz bei anderen Nutzern....................... 22 1.3.9 Verfügbarkeit an Entwicklungstools...................... 22 1.4 Entscheidungshilfe Atmel AVR........................... 23 2. Die Entwicklungsumgebung............................ 25 2.1 Spannungsversorgung............................... 26 2.1.1 Standard-Spannungsversorgung....................... 26 2.1.2 Spannungsversorgung im Fahrzeug..................... 28 2.1.3 Brownout-Erkennung............................ 30 2.2 Programmieradapter............................... 31 2.2.1 ISP-Anschluss................................ 32 2.2.2 Low-Cost Programmieradapter....................... 33 2.2.3 STK200-kompatibler Programmieradapter.................. 34 2.2.4 Serieller Programmieradapter........................ 35 2.3 C-Compiler WinAVR................................ 36 2.3.1 WinAVR Installieren............................. 36 2.3.2 Der Editor Programmers Notepad...................... 38 3

2.4 Programmiersoftware............................... 40 2.4.1 PonyProg.................................. 40 2.4.2 yaap.................................... 41 2.4.3 avrdude................................... 42 2.4.4 AVR8 Burn-O-Mat.............................. 43 2.5 Brennen und Debugging per JTAG......................... 44 2.5.1 JTAG Interface............................... 45 2.5.2 AVR Studio................................. 47 2.5.3 JTAG Interface programmieren....................... 48 2.5.4 JTAG Testprojekt.............................. 50 3. Erste Schritte mit dem µc............................. 56 3.1 µc Minimalistisch................................. 56 3.1.1 Exkurs: Abblockkondensator......................... 58 3.1.2 Exkurs: Taktgenerator............................ 59 3.2 Das erste Programm compilieren......................... 63 3.2.1 Exkurs: Compiler und makefile........................ 65 3.3 Den Mikrocontroller programmieren........................ 69 3.3.1 yaap.................................... 69 3.3.2 AVR8 Burn-O-Mat.............................. 70 3.3.3 avrdude aus dem Editor heraus aufrufen................... 71 3.4 Konfiguration des AVRs mittels Fuse Bits und Security Bits.............. 73 3.4.1 Die wichtigsten Fuse Bits........................... 73 3.4.2 Der Fuse Bit Notfallplan........................... 79 3.4.3 Mit Lock Bits den Prozessorinhalt schützen.................. 80 4. Das Mini-Mega-Board............................... 84 4.1 Aufbau des Mini-Mega-Board........................... 84 4.1.1 Einfach und vielseitig............................ 85 4.1.2 Alles an Bord................................ 86 4.2 In System Programming.............................. 88 4.2.1 Standard Fuse Bits.............................. 89 4.2.2 Lesbarkeit und Anpassung des Codes erhöhen................ 90 5. I/O Grundlagen.................................. 92 4

5.1 Standardbibliotheken kennen lernen und LEDs ansteuern.............. 93 5.1.1 LEDs am Mikrocontroller anschließen.................... 93 5.1.2 Register-Konstanten aus der I/O Standardbibliothek............. 94 5.1.3 Ein (zweiter) Blick auf die AVR Libc...................... 96 5.1.4 Die Programmausführung verzögern..................... 96 5.1.5 Ganzzahlige (Integer) Datentypen...................... 98 5.1.6 Bitmanipulation und Datenausgabe..................... 99 5.2 7-Segmentanzeigen und alphanumerische LEDs................. 105 5.2.1 Gemeinsame Anode oder Kathode..................... 105 5.2.2 7-Segmentanziege ansteuern........................ 106 5.2.3 Alphanumerische LEDs........................... 108 5.3 Größere Lasten betreiben............................ 112 5.3.1 Der Transistor für kleine Lasten....................... 112 5.3.2 Power MOSFETs für hohe Belastungen................... 113 5.3.3 Alt, aber noch immer praktisch: Relais................... 114 5.3.4 Galvanische Trennung mit Optokopplern.................. 116 5.4 Signaleingänge................................. 118 5.4.1 Pull-Up oder Pull-Down.......................... 118 5.4.2 Eingangsstatus im Programm abfragen................... 119 5.4.3 Tasten entprellen.............................. 120 5.5 Ressourcenschonung mit Multiplexbetrieb..................... 121 5.5.1 7-Segmentdisplay multiplexen....................... 122 5.5.2 Zahlenzerlegung.............................. 125 5.5.3 Multiplexen mit Timer........................... 125 5.5.4 Exkurs Schieberegister........................... 127 5.5.5 5x7 Matrix mit Schieberegister....................... 128 5.5.6 Textausgabe auf der Punktmatrix...................... 132 6. Flüssigkristalldisplays.............................. 135 6.1 HD44780-kompatibel.............................. 135 6.1.1 LCDs elektrisch anschließen........................ 136 6.1.2 Speicherabbild............................... 137 6.1.3 Befehlsatz HD44780............................ 138 5

6.2 LC Displaybetrieb................................ 139 6.2.1 Initialisierung 4-Bit Modus......................... 139 6.2.2 Displaykonfiguration............................ 141 6.2.3 Ausgabe von Zeichen........................... 141 6.2.4 Zahlen ausgeben............................. 142 6.3 Eigene Zeichen definieren............................ 146 6.3.1 Zeichendefinition.............................. 146 6.3.2 Extra große Zahlen............................. 147 7. Serielle Datenübertragung............................ 148 7.1 RS232 Schnittstelle................................ 148 7.2 Register zur Konfiguration des USART....................... 150 7.2.1 Software UART............................... 152 7.3 Daten senden und empfangen.......................... 152 7.3.1 Hände schütteln für eine bessere Verständigung............... 153 8. Analoge Ein- und Ausgabe........................... 155 8.1 Auflösung und Eingangsbeschaltung des ADC.................. 155 8.1.1 Spannungsteiler.............................. 156 8.1.2 Wertberechnung.............................. 157 8.1.3 Referenzspannung............................. 157 8.2 A/D-Wandlung durchführen........................... 158 8.2.1 Konfiguration des ADC........................... 158 8.2.2 Tipps für die Praxis............................. 159 8.3 Temperaturmessung............................... 160 8.4 Zufallszahlengenerator.............................. 161 8.5 Digital-Analog-Wandler............................. 162 8.5.1 Digitaler Funktionsgenerator........................ 164 9. Programmablaufsteuerung mit Interrupts.................... 168 9.1 Quellen für Interrupts.............................. 169 9.1.1 Interruptbehandlung............................ 170 9.1.2 Interrupts aktivieren............................ 171 9.2 Externe Unterbrechungsanforderungen verarbeiten................ 172 9.2.1 Exkurs: volatile............................... 174 6

9.2.2 Atomare Datenzugriffe........................... 175 9.3 Ein Wachhund gegen Programmfehler...................... 176 9.3.1 Den Watchdog nutzen........................... 177 10. Timer/Counter................................. 180 10.1 Arbeitsweise eines Timers............................ 181 10.1.1 Bitbreite und Interrupt des Timers..................... 181 10.1.2 Taktquellen und Vorteiler......................... 181 10.2 Die Timer des ATmega16........................... 182 10.2.1 Überlauf mit 8-Bit Timer 0........................ 182 10.2.2 Timer 0 mit Voreinstellung........................ 183 10.2.3 Timer 0 mit Vergleichswert........................ 184 10.2.4 Der CTC-Modus des Timer 0....................... 185 10.2.5 Timer 0 als Signalgenerator........................ 186 10.2.6 Externe Impulse mit Timer 0 zählen.................... 187 10.2.7 Kurz vorgestellt: 8-Bit Timer 2....................... 189 10.2.8 Stoppuhr mit dem 16-Bit Timer 1..................... 190 10.3 Pulsweitenmodulation............................. 193 10.3.1 PWM per Software............................ 193 10.3.2 Fast PWM mit Timer 0.......................... 196 10.3.3 Timer 1: Fast PWM mit beliebiger Frequenz................ 196 11. Speicherzugriffe................................ 199 11.1 Zugriff auf den Programmspeicher (Flash).................... 199 11.1.1 String-Array im Flash ablegen....................... 201 11.2 Zugriff aufs EEPROM.............................. 202 11.2.1 EEPROM Abbilddatei........................... 204 11.2.2 Für Fließkommazahlen auf Speicherbereiche zugreifen........... 205 12. Serieller Datenbus I2C (TWI) und SPI...................... 207 12.1 Two-Wire Interface (TWI) I2C.......................... 207 12.1.1 Funktionsprinzip des I2C-Bus....................... 208 12.1.2 Adressierung der Slaves.......................... 209 12.1.3 I2C Busprotokoll............................. 209 12.2 EEPROM per TWI ansteuern.......................... 210 7

12.2.1 Standard Speichertyp 24Cxx....................... 210 12.2.2 TWI am Mini-Mega-Board........................ 214 12.3 Das Serial Peripheral Interface (SPI)....................... 219 12.3.1 SPI zwischen ATmega16 und ATmega8.................. 220 13. Beispielprojekte................................ 224 13.1 Funkuhr mit DCF77 Signal........................... 224 13.1.1 Aufbau des Zeitsignals.......................... 224 13.1.2 Signalform des Zeitsignals........................ 226 13.1.3 Empfangsmodul............................. 227 13.1.4 Beispielapplikation............................ 227 13.2 Global Positioning System........................... 228 13.2.1 GPS Empfänger............................. 228 13.2.2 GPS Empfänger anschließen....................... 229 13.2.3 NMEA Daten auswerten.......................... 230 13.3 PC Tastatur als Eingabegerät.......................... 232 13.3.1 Protokoll der Tastatur........................... 232 13.3.2 Tastatur Beispielanwendung........................ 233 13.4 Datenübermittlung und Fernwirken per Handy................. 234 13.4.1 Kostenlos Schalten............................ 234 13.4.2 Datenverbindung zum Mobiltelefon.................... 235 13.4.3 GSM AT-Kommandos.......................... 235 13.4.4 Kurznachrichten per PDU absetzen.................... 237 Stichwortverzeichnis................................. 241 8