Zur Durchf�hrung eines gemischten Hard- und Softwareprojektes mit Mikrocontrollern ist fundiertes Wissen �ber die Hardwareeinheiten des Controllers unabdingbar. Ebenso notwendig ist die Kenntnis von Sprachen auf zwei Ebenen - C f�r die gro�e Struktur der Firmware und Assembler f�r zeit- oder resourcenkritische oder hardwarenahe Codeabschnitte. Das Buch stellt die notwendigen Grundlagen f�r erfahrene Entwickler bereit, um eigene Projekte mit Mikrocontrollern realisieren zu k�nnen. Als Grundlage dient der 8 bit-Mikrocontroller ATmega16 als typischer Vertreter der megaAVR(R) Mikrocontroller der Firma Atmel(R).Das Buch stellt Aufbau und Hardwarebaugruppen des ATmega16 stellvertretend f�r alle megaAVR(R)-Mikrocontroller und ihre Ansteuerung �ber Register detailliert vor und liefert L�sungsans�tze f�r typische Problemstellungen aus dem Umfeld der Embedded-Entwicklung wie Messung von Zeit, Frequenz und Geschwindigkeit, Steuerungen, Ereignisbehandlung und asynchrone Programmierung sowie Kommunikation �ber SPI, TWI oder serielle Schnittstelle. Beispiele wie mikrosekundengenaue Stoppuhren, Fahrradtachometer oder Frequenzz�hler illustrieren die Verfahren. Zu jedem Problem ist neben der Schaltung das vollst�ndige Program in C oder - wenn sinnvoll - Assembler gezeigt. Neben Hard- und Softwareentwicklung wird auch die praktische Arbeit mit Atmel Studio(R) beleuchtet, wie das On-Chip-Debugging und ein Entwicklungszyklus (Editieren, Compilern und Linken, Flashen). Dar�ber hinaus werden im Rahmen von Projekten wie DDS-Synthese oder Analog-Datenlogger typische Peripheriebausteine (Echtzeituhren RTC, Digital-Analog-Wandler DAC, serielle EEPROMs) vorgestellt.