<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Microchip_AVR</id>
	<title>Microchip AVR - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Microchip_AVR"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Microchip_AVR&amp;action=history"/>
	<updated>2026-05-23T11:24:44Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Microchip_AVR&amp;diff=107927&amp;oldid=prev</id>
		<title>imported&gt;Joewees: Identische Daten zusammengefasst</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Microchip_AVR&amp;diff=107927&amp;oldid=prev"/>
		<updated>2025-10-21T14:33:01Z</updated>

		<summary type="html">&lt;p&gt;Identische Daten zusammengefasst&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Avr logo.svg|150px|mini|Logo der AVR-Familie]]&lt;br /&gt;
[[Datei:AVR group.jpg|mini|ATmega8-16PU (oben), ATXmega128A1 (links unten) und ATtiny45-20SU (rechts unten) Mikrocontroller]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Microchip AVR&amp;#039;&amp;#039;&amp;#039; (vormals [[Atmel]] AVR) ist eine 8-Bit-[[Mikrocontroller]]-Familie des US-amerikanischen Herstellers [[Microchip Technology|Microchip]]. Die Controller dieser Familie sind wegen ihres einfachen Aufbaus, ihrer leichten Programmierbarkeit, den kostenlosen Entwicklungswerkzeugen und der Verfügbarkeit in [[Dual in-line package|DIP]]-Gehäuseformen auch bei Hobby-Anwendern weit verbreitet. Die Mikrocontroller-Familie wurde vom ehemaligen US-amerikanischen Unternehmen Atmel entwickelt, nach Aussage des Unternehmens ist der Name AVR bedeutungslos.&lt;br /&gt;
&lt;br /&gt;
Die Typen unterteilen sich in die Gruppen&lt;br /&gt;
* ATxmega: sehr leistungsfähige Prozessoren mit [[Speicherdirektzugriff|DMA]]-Fähigkeiten etc.&lt;br /&gt;
* ATmega: große AVR-Controller mit bis zu 256&amp;amp;nbsp;[[Byte|KiB]] [[Flash-Speicher]] in 28- bis 100-poligen Gehäusen und mit integriertem Hardware-Multiplizierer.&lt;br /&gt;
* ATtiny: kleinere AVR-Controller mit bis zu 16&amp;amp;nbsp;KiB Flash-Speicher in 6- bis 32-poligen Gehäusen.&lt;br /&gt;
* AT90USB: ATmega mit integriertem [[Universal Serial Bus|USB]]-Controller&lt;br /&gt;
* AT90CAN: ATmega mit [[Controller Area Network|CAN]]-Controller&lt;br /&gt;
* Sondertypen: einige Spezialmodelle, z.&amp;amp;nbsp;B. zur Ansteuerung von Akku-Ladegeräten, [[Flüssigkristallanzeige|LC-Displays]] und für Motoren- oder Lichtsteuerungen.&lt;br /&gt;
* AT90S: veraltete Typen, die „klassischen“ AVRs&lt;br /&gt;
&lt;br /&gt;
Unter dem Namen [[Atmel AVR32|AVR32]] hat Atmel eine [[32-Bit-Architektur|32-Bit]]-[[Reduced Instruction Set Computer|RISC]]-[[Prozessorarchitektur|Architektur]] mit [[Digitaler Signalprozessor|DSP]]- und [[Single Instruction Multiple Data|SIMD]]-Funktionalität entwickelt. Trotz der Namensähnlichkeit und des ähnlichen Logos weisen die beiden Architekturen kaum Gemeinsamkeiten auf.&lt;br /&gt;
&lt;br /&gt;
== Programmierschnittstelle ==&lt;br /&gt;
[[Datei:AVRISP mkII.jpg|mini|Der AVRISP mkII-ISP-Programmer von Atmel]]&lt;br /&gt;
Fast alle Typen können per [[Serial Peripheral Interface|SPI]] über einen ISP (AVR ISP, [[In-System Programmer]]) programmiert werden, der über simple Programmieradapter Anschluss an die [[Serielle Schnittstelle|serielle]], [[Parallele Schnittstelle|parallele]] oder [[Universal Serial Bus|USB]]-Schnittstelle eines [[Personal Computer|PCs]] findet. Die Besonderheit liegt in der Möglichkeit, den Prozessor nicht aus der Zielschaltung herausnehmen zu müssen. Stattdessen kann man ihn im eingebauten Zustand reprogrammieren. Ebenfalls kann man einen AVR-Chip über einen HV-Programmer (High-Voltage-Programmer) programmieren, dessen Spannung&lt;br /&gt;
bei 12 V liegt. Dies ist nötig, wenn durch Setzen der [[Fuse-Bit]]s der für die ISP-Schnittstelle notwendige Resetpin deaktiviert wurde – beispielsweise um diesen aufgrund von Mangel an freien Pins als I/O-Pin zu nutzen – und der Chip nicht mehr über einen ISP programmierbar ist.&lt;br /&gt;
&lt;br /&gt;
Neuere Typen besitzen zudem eine [[Debugger|Debug]]-Schnittstelle, die bei kleineren Controllern (ATtiny-Serie sowie 32-Pin-ATmega-Familie) neben den Versorgungsleitungen nur die Resetleitung benötigt &amp;#039;&amp;#039;([[debugWIRE]]).&amp;#039;&amp;#039;&lt;br /&gt;
Bei größeren Controllern der ATmega Familie kann dagegen leichter auf mehrere Pins (6) verzichtet werden, sodass hier eine [[Joint Test Action Group|JTAG]]-Schnittstelle zum Einsatz kommt. Hiermit lässt sich ein in den [[Mikrocontroller]] heruntergeladenes Programm mittels Zusatzhardware/-software nach dem [[Institute of Electrical and Electronics Engineers|IEEE]]-Standard [[IEEE 1149.1|1149.1]] in einer konkreten Hardwareumgebung untersuchen und von eventuellen Programmierfehlern befreien (debuggen).&lt;br /&gt;
&lt;br /&gt;
== RISC-Architektur ==&lt;br /&gt;
Ein Vorteil gegenüber anderen [[Mikroprozessor]]-Familien ist, dass sich dank der [[Reduced Instruction Set Computing|RISC]]-Architektur die meisten [[Register (Computer)|Register]]-Befehle innerhalb eines Systemtakts abarbeiten lassen, ausgenommen Sprung- und Multiplikationsbefehle sowie Zugriffe auf das Speicherinterface (u.&amp;amp;nbsp;a. [[Random-Access Memory|RAM]] und [[Eingabe und Ausgabe|I/O]]-Ports). Somit ist diese Architektur sehr schnell im Vergleich zu anderen.&lt;br /&gt;
&lt;br /&gt;
Durch das auf Hochsprachen wie [[C (Programmiersprache)|C]] ausgelegte [[Layoutentwurf (Elektrotechnik)|Hardware-Design]] können auch Compiler sehr effizienten Code erzeugen; der Entwickler braucht sich nicht zwingend auf [[Assemblersprache|Assembler]]-Ebene zu begeben. Das Design des ATMEGA8 wurde bereits in der Entwicklung des Chips für C-Compiler optimiert.&amp;lt;ref&amp;gt;[http://www.atmel.com/images/compiler.pdf &amp;#039;&amp;#039;The AVR Microcontroller and C Compiler Co-Design&amp;#039;&amp;#039;.] (PDF) cheef.netronik.ru&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allerdings wird der binäre Programmcode, wie bei vielen anderen Mikroprozessoren mit integriertem Programmspeicher auch, direkt aus dem [[Flash-Speicher]] heraus ausgeführt. Dadurch kommt es vor allem bei den Chipversionen für geringe Versorgungsspannungen von unter 3,3&amp;amp;nbsp;V zu vergleichsweise geringen maximalen Taktraten des Prozessorkerns von meist unter 10&amp;amp;nbsp;MHz. Da die Frequenz fast 1:1 den [[Instruktionen pro Sekunde|IPS]] entspricht, können so maximal 10&amp;amp;nbsp;MIPS erreicht werden. Es besteht keine Möglichkeit, den internen Prozessorkern mithilfe einer [[Phase-locked loop|PLL]] mit einer gegenüber dem externen Takt erhöhten Taktrate zu betreiben. Diese Einschränkung ist durch die Integration der Flash-Speichertechnik bedingt. Zum Vergleich: Mikroprozessorarchitekturen wie der [[Blackfin]], welche den Programmcode vor der Ausführung von dem nichtflüchtigen Flash-Speicher erst in einen internen [[Halbleiterspeicher|SRAM-Speicher]] kopieren, verfügen über Taktraten des Prozessorkerns von über 500&amp;amp;nbsp;MHz bei Versorgungsspannungen des CPU-Kerns von unter 2&amp;amp;nbsp;V bei in etwa gleich geringem Stromverbrauch.&lt;br /&gt;
&lt;br /&gt;
== Befehlssatz ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 Doppelzählungen entfernt, die durch Zählung von&lt;br /&gt;
 Abkürzungen wie wie „clr r“ für „eor r, r“ entstanden&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:10px; float:right;&amp;quot;&lt;br /&gt;
 |+ Anzahl Opcodes der AVR-Familien&lt;br /&gt;
 |- class=&amp;quot;hintergrundfarbe7&amp;quot;&lt;br /&gt;
 !|Modell      || Anzahl der Befehle&lt;br /&gt;
 |-&lt;br /&gt;
 |AT90S1200     || 52&lt;br /&gt;
 |-&lt;br /&gt;
 |AT90xxxx („Classic“)|| 62&lt;br /&gt;
 |-&lt;br /&gt;
 |ATtiny       || bis 123&lt;br /&gt;
 |-&lt;br /&gt;
 |ATmega       || 130–135&lt;br /&gt;
 |-&lt;br /&gt;
 |ATXMega       || ab 142&lt;br /&gt;
 |}&lt;br /&gt;
Im Gegensatz zu den [[PICmicro]]-Prozessoren wurde der AVR-Befehlssatz über alle Modelle – abgesehen vom AT90S1200 mit eingeschränktem Befehlssatz und vom ATmega mit leicht erweitertem Befehlssatz – kompatibel gehalten. Kleinere Unterschiede im Befehlsumfang gibt es jedoch aufgrund unterschiedlicher Flashgröße, Bootloader-Support, Multiplikationsbefehlen (ab Mega), der Hardwareausstattung etc.&lt;br /&gt;
&lt;br /&gt;
Die AVR-Prozessoren sind für die effiziente Ausführung von kompiliertem [[C (Programmiersprache)|C]]-Code gestaltet. Noch vor Fertigstellung des AVR-Kerns wurde mit der Entwicklung eines [[Compiler|C-Compilers]] begonnen, um dadurch Optimierungspotenzial zu erkennen,&amp;lt;ref&amp;gt;{{Webarchiv|url=http://www.atmel.com/dyn/resources/prod_documents/COMPILER.pdf |wayback=20120127030622 |text=atmel.com }} (PDF)&amp;lt;/ref&amp;gt; etwa:&lt;br /&gt;
* Die Instruktion „Addition mit direktem Parameter“ (&amp;#039;&amp;#039;add immediate&amp;#039;&amp;#039;) wurde entfernt, denn anstatt dieser Instruktion kann ebenso gut der Befehl „Subtrahiere direkt“ (&amp;#039;&amp;#039;subtract immediate&amp;#039;&amp;#039;) mit dem [[Zweierkomplement|Komplement]] verwendet werden.&lt;br /&gt;
* Der dadurch auf dem [[Die (Halbleitertechnik)|Die]] frei werdende Platz wurde dann zum Realisieren einer „Addition mit direktem 16-Bit-Parameter“ (&amp;#039;&amp;#039;add immediate word&amp;#039;&amp;#039;) genutzt.&lt;br /&gt;
* Ein Befehl wie „Vergleich mit [[Carry-Bit|Carry-Flag]]“ (&amp;#039;&amp;#039;compare with carry&amp;#039;&amp;#039;) wurde eingeführt, um einen effizienten Vergleich von 16- und 32-Bit-Werten – in Hochsprachen sehr häufig genutzt – zu ermöglichen.&lt;br /&gt;
* Anstatt zwei [[Register (Computer)|Adressregister]] wurden drei Adressregister vorgesehen.&lt;br /&gt;
* Auf ein anfangs geplantes [[Segmentierung (Speicherverwaltung)|segmentiertes Speicher-Layout]] wurde verzichtet, weil dieses von Compilern nur schwer zu handhaben ist.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
Die AVR-Mikrocontroller benötigen Versorgungsspannungen zwischen 1,6&amp;amp;nbsp;V und 5,5&amp;amp;nbsp;V. Je nach Typ können sie mit externen Quarzen bis zu 32&amp;amp;nbsp;MHz betrieben werden und bieten unter anderem folgende Peripherien an: [[Analog-Digital-Umsetzer|ADC]], [[Timer]], [[Watchdog]], [[Universal Asynchronous Receiver Transmitter|UART]], [[I²C|Two Wire Interface (I2C)]], [[Serial Peripheral Interface|SPI]], [[Controller Area Network|CAN]], [[Universal Serial Bus|USB]], Displayinterface, Touch Controller, [[Komparator (Analogtechnik)|Analog-Komparatoren]] und externe Interrupts. Die Konfiguration einiger Peripherien und Prozessorfunktionen, wie zum Beispiel den externen Taktgeber, den Bootloader, den Watchdog-Timer oder eine Auslesesperre für den Programmspeicher, wird nicht im Programmcode, sondern über separat zu setzende Fusebits durchgeführt.&lt;br /&gt;
&lt;br /&gt;
== Nomenklatur der Modellvarianten ==&lt;br /&gt;
Alle echten AVR-Mikrocontroller der Firma Microchip (außer AVR32) besitzen folgende [[Nomenklatur]]:&lt;br /&gt;
&lt;br /&gt;
=== ATmega ===&lt;br /&gt;
[[Datei:Atmel atmega328 mz 20x.jpg|mini|Bild des ATmega328-[[Die (Halbleitertechnik)|Die]]]]&lt;br /&gt;
Die Namensgebung folgt immer dem gleichen Schema.&lt;br /&gt;
&lt;br /&gt;
Aktueller Baustein als Beispiel: *ATmega48PA-AU*. Der Name besteht aus fünf Teilen:&lt;br /&gt;
# Der Baureihe (hier: „ATmega“).&lt;br /&gt;
# Einer Nummer, immer eine Zweierpotenz (hier: 4). Diese Zahl gibt die Größe des Flashspeichers in Kibibyte (KiB) an.&lt;br /&gt;
# Bis zu drei weiteren Ziffern (hier: 8). Sie definieren die Zusatzfunktionen sowie Zahl der I/O-Ports.&lt;br /&gt;
# Bis zu zwei Buchstaben (hier: PA), die für die Revision sowie spezielle stromsparende Architekturen stehen.&lt;br /&gt;
# Einem Bindestrich und zwei weiteren Buchstaben, die die Bauform angeben (hier: AU).&lt;br /&gt;
&lt;br /&gt;
==== Baureihe ====&lt;br /&gt;
Hier gibt es nur drei Reihen: Den kleinen ATtiny mit reduziertem Funktionsumfang und den großen ATmega sowie AT90-Modelle mit Sonderfunktionen.&lt;br /&gt;
&lt;br /&gt;
==== Speichergröße ====&lt;br /&gt;
Während die Größe des Flashspeichers (Programmspeicher) direkt im Namen angegeben ist, ergibt sich die Größe von RAM und EEPROM nur indirekt aus dieser Nummer, wobei typischerweise die Bausteine mit großem Flash auch mehr RAM und EEPROM haben als kleinere. Grob gilt diese Zuordnung:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Flash (KiB) ||colspan=&amp;quot;2&amp;quot;| EEPROM (B) ||colspan=&amp;quot;2&amp;quot;| RAM (B)&lt;br /&gt;
|-&lt;br /&gt;
!   ||ATtiny     || ATmega || ATtiny    || ATmega&lt;br /&gt;
|-&lt;br /&gt;
| 2  || 128      || —   || 128      || —&lt;br /&gt;
|-&lt;br /&gt;
| 4  || rowspan=&amp;quot;2&amp;quot; | divers    || 256   || divers    || 512&lt;br /&gt;
|-&lt;br /&gt;
| 8  || rowspan=&amp;quot;2&amp;quot; | 512   || 512      || rowspan=&amp;quot;2&amp;quot; | 1024&lt;br /&gt;
|-&lt;br /&gt;
| 16  ||rowspan=&amp;quot;4&amp;quot;| — || rowspan=&amp;quot;4&amp;quot; | — &lt;br /&gt;
|-&lt;br /&gt;
| 32          || 1024           || 2048&lt;br /&gt;
|-&lt;br /&gt;
| 64          || 2048&amp;lt;ref name=&amp;quot;ATmega640&amp;quot;&amp;gt;ATmega640&lt;br /&gt;
verfügt über den doppelten Speicher&amp;lt;/ref&amp;gt;&lt;br /&gt;
| 4096&amp;lt;ref name=&amp;quot;ATmega640&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 128–256       ||  4096          || 4&amp;amp;thinsp;Ki–16&amp;amp;thinsp;Ki&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Zusatzfunktionen/Größe ====&lt;br /&gt;
Die Ziffer(n) nach der Flashgröße geben die Ausstattungsmerkmale des Bausteins an. Die folgende Tabelle gilt für die ATmega-Reihe:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Ziffer !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| – || Keine Ziffer markiert die Bausteine der ersten Generation. Sie verfügen in der Regel über eine niedrigere maximale Taktrate (8/16&amp;amp;nbsp;MHz anstatt 10/20&amp;amp;nbsp;MHz), eine höhere Minimal-Spannung (2,7 anstatt 1,8 Volt), weniger Interrupt-Quellen und PWM-Kanäle.&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Reihe von 32–256&amp;amp;nbsp;KiB in einem größeren Gehäuse mit höherer Anzahl an I/O-Pins. Etwas älter als die aktuellen Reihen 4 und 8.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Kennzeichnet eine verbesserte Version des ATmega128/256, aber älter als aktuelle 4er Reihe.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Reihe von 16 bis 128&amp;amp;nbsp;KiB Flash, alle pinkompatibel in 40–44-poligem Gehäuse. Neueste Baureihe, alle in pico-power-Technologie mit vielen verbesserten Funktionen, wie externen Interrupts, Timern, USART…&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Reihe von 16 bis 64&amp;amp;nbsp;KiB.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Reihe von 4 bis 32&amp;amp;nbsp;KiB, alle pinkompatibel in 28–32 poligem Gehäuse. Neueste Baureihe, alle in pico-power-Technologie mit vielen verbesserten Funktionen, wie externen Interrupts, Timern, USART…. (auch in der ATtiny-Reihe vorhanden)&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Reihe von 16 bis 64&amp;amp;nbsp;KiB mit integriertem Controller für LC-Displays, folglich in großen Gehäusen (64-/100-polig)&lt;br /&gt;
|}&lt;br /&gt;
Aus dieser Liste stechen einige Bausteine als Außenseiter hervor:&lt;br /&gt;
* ATmega8515/ATmega8535 – sind nur zum Betreiben eines [[Static random-access memory|SRAMs]] gedacht.&lt;br /&gt;
* ATmega640: Im Prinzip ein ATmega64 mit deutlich mehr Hardware-Ressourcen (4 UARTs, 16 ADC-Kanäle…) und doppelt so viel EEPROM/SRAM.&lt;br /&gt;
&lt;br /&gt;
==== Revision/Architektur ====&lt;br /&gt;
Die (optionalen) Buchstaben vor dem Bindestrich geben Auskunft über den Stromverbrauch und Spannungsbereich&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Buchstabe !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| A || Zweite Revision – meist nur eine Umstellung der internen Strukturen ohne Auswirkung für den Benutzer, teilweise mit einem internen Temperatursensor&lt;br /&gt;
|-&lt;br /&gt;
| B || Dritte Revision – einige Verbesserungen: Verbesserter [[Analog-Digital-Umsetzer|AD-Umsetzer]] (15 kSamples/s), Seriennummer integriert (9 Byte) und USART wake-up im „Power-down“-Zustand&amp;lt;ref&amp;gt;[http://www.atmel.com/devices/ATMEGA168PB.aspx Rev.B] atmel.com&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| L/V || „Low-Voltage“: Speziell für niedrigere Taktraten (8 bzw. 10&amp;amp;nbsp;MHz) sowie niedrigere Eingangsspannungen (1,8 bzw. 2,7&amp;amp;nbsp;V) selektierte Bausteine&lt;br /&gt;
|-&lt;br /&gt;
| P/PA || „Pico-Power“: Reduzierte Stromaufnahme, besonders in tiefen Sleep-Modes (&amp;lt;&amp;amp;nbsp;1&amp;amp;nbsp;µA); Manche Bausteine (z.&amp;amp;nbsp;B. ATmega48) gibt es als P und PA&lt;br /&gt;
|-&lt;br /&gt;
| HV/HVA || „High-Voltage“: Sondermodelle mit Peripherieeinheiten zur Steuerung von Akkuladegeräten, die mit bis zu 18 V betrieben werden können.&lt;br /&gt;
|-&lt;br /&gt;
| RF || „Radiofrequency“: Modelle mit integriertem [[Transceiver]] für das 2,4&amp;amp;nbsp;GHz-[[ISM-Band]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bauform ====&lt;br /&gt;
Die beiden Buchstaben nach dem Bindestrich geben Auskunft über die Bauform. Die Zahl der Pins des jeweiligen Gehäusetyps hängt vom Baustein ab.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 1. Buchstabe !! Beschreibung || Typ&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| A || [[Quad Flat Package|TQFP]]-Gehäuse&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;| [[Surface-mounted device|SMD]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| C || [[Ball Grid Array|BGA]]-Gehäuse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| J || [[Plastic Leaded Chip Carrier|PLCC]]-Gehäuse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| S || [[SO-Bauform|SOIC]]-Gehäuse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| M || (V)[[Quad Flat No Leads Package|QFN-/MLF]]-Gehäuse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| P || [[Dual in-line package|DIP]]-Gehäuse || [[Through Hole Technology|THT]]&lt;br /&gt;
|-&lt;br /&gt;
! 2. Buchstabe ||colspan=&amp;quot;2&amp;quot;| Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| I ||colspan=&amp;quot;2&amp;quot;| [[Blei]]&amp;lt;nowiki&amp;gt;haltig&amp;lt;/nowiki&amp;gt; – nicht mehr erhältlich&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot;| U ||colspan=&amp;quot;2&amp;quot;| Bleifrei, [[RoHS]]-kompatibel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATtiny ===&lt;br /&gt;
[[Datei:Atmel-attiny13a-HD.jpg|mini|Bild des ATtiny13A-[[Die (Halbleitertechnik)|Die]]]]&lt;br /&gt;
Bei den ATtiny-Bausteinen ist die Nummerierung deutlich unübersichtlicher als in der ATmega-Reihe. Die erste Ziffer gibt wie auch bei ATmega die Größe des Flash-Speichers an. Die obenstehenden Tabellen für Baureihe, Bauform, Revision und Speichergröße gelten ebenfalls (Ausnahmen: ATtiny5 mit 0,5&amp;amp;nbsp;KiB Flash sowie ATtiny4 und ATtiny9 mit 0,5 bzw. 1&amp;amp;nbsp;KiB Flash). Die Zusatzfunktionen und Baugröße gehen aus der Bezeichnung nicht hervor.&lt;br /&gt;
&lt;br /&gt;
=== AT90-Baureihen ===&lt;br /&gt;
Folgen der gleichen Nomenklatur wie ATmega, nur Ersatz der Baureihe durch AT90 plus Sonderfunktion (PWM, CAN, SC oder USB).&amp;lt;ref&amp;gt;[http://www.mikrocontroller.net/articles/AVR_Typen#Nomenklatur mikrocontroller.net]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Speicherarchitektur ==&lt;br /&gt;
Das Speicher-Management folgt den Richtlinien der [[Harvard-Architektur]]. Es gibt also getrennte Adressräume für den [[Flash-Speicher]], das [[Random-Access Memory|RAM]] und das [[EEPROM]]. Im Gegensatz zu einfacheren Mikrocontrollern besitzen die AVRs 32 Register, mit welchen direkt Operationen ausgeführt werden können, allerdings verfügen nicht alle Register über den gleichen Leistungsumfang.&lt;br /&gt;
Die Tiny-Typen im sehr kleinen SOT23-6 Gehäuse (ATtiny4, ATtiny5, ATtiny9 und ATtiny10) besitzen nur 16 Register.&lt;br /&gt;
&lt;br /&gt;
== AVR XMEGA ==&lt;br /&gt;
[[Datei:AVR ATXMEGA 128A1.JPG|mini|ATXmega128A1]]&lt;br /&gt;
AVR XMEGA sind Mikrocontroller mit erweiterten Peripherien und Funktionen, die auf der 8-Bit-AVR-Architektur basieren.&amp;lt;ref&amp;gt;[http://www.atmel.com/products/AVR/default_xmega.asp atmel.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Einzelnen handelt es sich je nach Baureihe (A1-3, B1-3, C1-3, D1-3) bei den Erweiterungen unter anderem um:&amp;lt;ref&amp;gt;[http://www.atmel.com/products/microcontrollers/avr/AVR_XMEGA.aspx atmel.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* mehrere [[Direct Memory Access|DMA]]-Kanäle&lt;br /&gt;
* Hardware-Kryptographie ([[Advanced Encryption Standard|AES]] und [[Data Encryption Standard|DES]])&lt;br /&gt;
* Taktraten bis 32&amp;amp;nbsp;MHz&lt;br /&gt;
* Programmspeicher von bis zu 384&amp;amp;nbsp;KiB&lt;br /&gt;
* Die ADCs haben nun eine Auflösung von 12&amp;amp;nbsp;Bit&lt;br /&gt;
* DACs sind hinzugekommen&lt;br /&gt;
* Jedem I/O-Pin kann ein externer Interrupt zugewiesen werden&lt;br /&gt;
&lt;br /&gt;
Einige Schnittstellen wurden verbessert und sind jetzt meist mehrfach vorhanden, beispielsweise SPI, TWI und USART. Das [[Interrupt]]-System wurde überarbeitet. Ein sogenanntes &amp;#039;&amp;#039;Event-System&amp;#039;&amp;#039; erlaubt es, eintreffende Interrupts unmittelbar an Peripherieeinheiten weiterzuleiten ohne zusätzliche Prozessorrechenzeit zu benötigen (&amp;#039;&amp;#039;Hardware-Routing&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Laut Atmel sind die Bausteine der XMEGA-Serie hinsichtlich des Befehlssatzes kompatibel mit den bisher existierenden AVR-Bausteinen. Innerhalb der XMEGA-Serie selbst sind alle zu den jeweiligen Gehäuseformen pin-, quelltext- und binärcodekompatibel, jedoch wurde die Versorgungsspannung auf 3,3&amp;amp;nbsp;V abgesenkt (max. 3,6&amp;amp;nbsp;V), sodass ein Austausch in einem bestehenden Design nur möglich ist, wenn hier diese Spannung auch zur Verfügung steht und die anderen Komponenten auch mit 3,3&amp;amp;nbsp;V Portspannung arbeiten können.&lt;br /&gt;
&lt;br /&gt;
== AVR UC3 ==&lt;br /&gt;
{{Hauptartikel|Atmel AVR32}}&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um Derivate der oben genannten AVR32-Architektur.&lt;br /&gt;
Es handelt sich um 32-Bit Controller, die mit der in diesem Artikel besprochenen 8-Bit Architektur nur die Namensgleichheit verbindet.&lt;br /&gt;
&lt;br /&gt;
== AVR-kompatible Mikrocontroller und Nachbauten ==&lt;br /&gt;
* Integral bzw. die Belmicrosystems-Gruppe aus Belarus bietet die Classic-AVR-Nachbauten IN90S2313DW, IN90LS2323N, IN90S2323N, IN90S2333DW und IN90LS2333DW an, welche zu den entsprechenden AVR-Typen des Unternehmens Atmel als pinkompatibel beworben werden. Sogar Teile des englischen Datenblatts wurden unverändert übernommen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Weiterhin existiert eine Vielzahl [[Freie Software|freier]] Entwicklungswerkzeuge, wie z.&amp;amp;nbsp;B. die für AVR-[[Cross-Compiler|Cross-Compiling]] portierten [[GNU-Projekt|GNU]]-Tools [[WinAVR]] bzw. [[avr-gcc]], AVR-LibC.&amp;lt;ref&amp;gt;[http://nongnu.org/avr-libc/ AVR-LibC: Homepage]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schließlich – für Mikrocontroller eher unüblich – gibt es die [[proprietär]]en [[BASIC]]-Compiler [[BASCOM]] und [[Luna (Programmiersprache)|LunaAVR]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Allgemeine Übersicht über AVR-Compiler und Hersteller (unvollständig)&lt;br /&gt;
!Compiler || Hersteller || Lizenz || Plattform || Besonderheiten&lt;br /&gt;
|-&lt;br /&gt;
|[[GNU Binutils|avr-as]] || rowspan=&amp;quot;3&amp;quot; | GNU || rowspan=&amp;quot;3&amp;quot; | [[GNU General Public License|GPL]] || rowspan=&amp;quot;2&amp;quot; | [[Win32]], [[Linux]], [[macOS]] || rowspan=&amp;quot;3&amp;quot; | kostenlos, quelloffen&lt;br /&gt;
|-&lt;br /&gt;
|[[avr-gcc]] &lt;br /&gt;
|-&lt;br /&gt;
| AVR-Ada || Win32, Linux &lt;br /&gt;
|-&lt;br /&gt;
| [[Atmel Studio]] (ehem. AVR Studio) || Atmel || [[Proprietäre Software|proprietär]] || Win32 || kostenlos&lt;br /&gt;
|-&lt;br /&gt;
| [[Arduino (Plattform)|Arduino-Plattform]] || Arduino || GPL || rowspan=&amp;quot;2&amp;quot; | Win32, Linux, macOS || rowspan=&amp;quot;2&amp;quot; | kostenlos, quelloffen&lt;br /&gt;
|-&lt;br /&gt;
| [[Free Pascal]] || Free Pascal and Lazarus Foundation || GPL/[[GNU Lesser General Public License|LGPL]] &lt;br /&gt;
|-&lt;br /&gt;
| GNAT Pro || AdaCore|| [[GNU Modified General Public License|GMGPL]] || Win32, Linux || nur mit professionellem Support-Vertrag&lt;br /&gt;
|-&lt;br /&gt;
| KontrollerLab || cadManiac.org || GPL || Linux || Entwicklungsumgebung, kostenlos, quelloffen&lt;br /&gt;
|-&lt;br /&gt;
| AVRco || rowspan=&amp;quot;2&amp;quot; | E-LAB Computers || rowspan=&amp;quot;5&amp;quot; | proprietär|| rowspan=&amp;quot;3&amp;quot; | Win32 || rowspan=&amp;quot;2&amp;quot; |Demo-Version verfügbar, ATMega8/88-Standardversion kostenlos erhältlich&lt;br /&gt;
|-&lt;br /&gt;
| [[Pascal-scm]] &lt;br /&gt;
|-&lt;br /&gt;
|[[BASCOM]] || MCS Electronics || BASIC-Compiler. Die kostenlose Demo-Version kompiliert bis 4&amp;amp;nbsp;KiB Binärcode.&lt;br /&gt;
|-&lt;br /&gt;
| [[LunaAVR]] || rgf software || Win32, Linux, macOS || objektbasierter, moderner Basic-/Pascalähnlicher Dialekt, kostenlos&lt;br /&gt;
|-&lt;br /&gt;
|[[mBasic]] || nettypes.de || Win32 || kostenlos zur privaten Verwendung, spez. Hardware erforderlich&lt;br /&gt;
|-&lt;br /&gt;
|[[NanoVM]] || Till Harbaum || rowspan=&amp;quot;3&amp;quot; | GPL|| rowspan=&amp;quot;2&amp;quot; | Win32, Linux || rowspan=&amp;quot;3&amp;quot; | kostenlos, quelloffen&lt;br /&gt;
|-&lt;br /&gt;
| amforth || Matthias Trute&lt;br /&gt;
|-&lt;br /&gt;
| Python-On-Chip || Dean W. Hall et al. || Win32, Linux, macOS &lt;br /&gt;
|-&lt;br /&gt;
|[[IAR Embedded Workbench for AVR]] || [[IAR Systems]]|| rowspan=&amp;quot;3&amp;quot; | proprietär|| rowspan=&amp;quot;3&amp;quot; | Win32 || [[MISRA]] support, hohe Codequalität, teuer (Eine Preisanfrage ergibt 3000,- € Anschaffungspreis), Auf 4K limitierte Kickoff Version kostenlos, Direkte Zusammenarbeit mit ATMEL&lt;br /&gt;
|-&lt;br /&gt;
|[[myAVR Workpad]] || myAVR || Demo-Version verfügbar&lt;br /&gt;
|-&lt;br /&gt;
|[[Algorithm Builder]] || Gennady Gromov || Demo-Version verfügbar, graphisch?&lt;br /&gt;
|-&lt;br /&gt;
|[[AVRA]] || Jon A. Haugum, Tobias Weber || GPL || [[Plattformunabhängigkeit|Plattformunabhängig]] || kostenlos, quelloffen, Atmel Studio kompatibel&lt;br /&gt;
|-&lt;br /&gt;
|[[CodeVisionAVR]] || HP InfoTech || rowspan=&amp;quot;7&amp;quot; | proprietär || rowspan=&amp;quot;7&amp;quot; |Win32 || Demo-Version verfügbar&lt;br /&gt;
|-&lt;br /&gt;
| MikroPascal for AVR || rowspan=&amp;quot;3&amp;quot; | Mikroelektronika ||2K Demo-Version verfügbar&lt;br /&gt;
|-&lt;br /&gt;
| MikroC PRO for AVR ||&lt;br /&gt;
|-&lt;br /&gt;
| MikroBasic PRO for AVR ||&lt;br /&gt;
|-&lt;br /&gt;
| PasAVR || Vogelaar Electronics || [[Cross-Compiler]] für [[Object Pascal]], wird mit der [[DelphiStamp]] des Herstellers ausgeliefert&lt;br /&gt;
|-&lt;br /&gt;
| Flowcode for AVR || Matrix Multimedia || Grafische Programmiersprache anhand von Flussdiagrammen. Kostenlose Demo-Version mit begrenztem Code-Umfang.&lt;br /&gt;
|-&lt;br /&gt;
| ICCV8 || ImageCraft || Demo-Version verfügbar, [[Code::Blocks]] IDE, Application Builder&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.avr-rust.com/ AVR-Rust]&lt;br /&gt;
|avrrust.com&lt;br /&gt;
|MIT License&lt;br /&gt;
|Win32, Linux, macOS&lt;br /&gt;
|kostenlos, quelloffen&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Unterstützte [[Programmiersprache|Sprache(n)]]&lt;br /&gt;
!Hersteller || Compiler || [[Ada (Programmiersprache)|Ada]] || [[Assemblersprache|Assembler]] || [[BASIC]] || [[C (Programmiersprache)|C]] || [[C++]] || [[Pascal (Programmiersprache)|Pascal]] || andere&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |GNU || [[GNU Binutils|avr-as]]&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
| [[avr-gcc]]&lt;br /&gt;
| {{Nein-Feld}} ||{{Ja-Feld}} ([[Integrierter Assembler|inline]])|| {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|AVR-Ada&lt;br /&gt;
| {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|Atmel || Atmel Studio&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|cadManiac.org || KontrollerLab&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|Conrad Electronic || C-Control Pro&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|E-LAB Computers || AVRco&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|AdaCore || GNAT Pro&lt;br /&gt;
| {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|Free Pascal and Lazarus Foundation || [[Free Pascal]]&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || Freie, quelloffene Software, Cross-Compiling von diversen Plattformen aus möglich, [[Free Pascal Runtime Library|RTL]] implementiert, [[Free Component Library|FCL]] teilweise umgesetzt&amp;lt;ref&amp;gt;[https://wiki.freepascal.org/AVR_Programming Free Pascal Wiki: AVR Programming]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|MCS Electronics || [[BASCOM]]&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} ([[Integrierter Assembler|inline]]) || {{Ja-Feld}} (Dialekt) || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|nettypes.de || [[mBasic]]&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|rgf software || LunaAVR&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || Objektbasierter Dialekt, Semantik und Syntax angelehnt an [[Xojo]], [[Pascal (Programmiersprache)|Pascal]], [[C++]]&lt;br /&gt;
|-&lt;br /&gt;
|Till Harbaum || [[NanoVM]]&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || [[Java (Programmiersprache)|Java]]&lt;br /&gt;
|-&lt;br /&gt;
|Matthias Trute || amforth&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || [[Forth (Programmiersprache)|Forth]]&lt;br /&gt;
|-&lt;br /&gt;
|Dean W. Hall et al. || PyMite&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || [[Python (Programmiersprache)|Python]]&lt;br /&gt;
|-&lt;br /&gt;
|[[IAR Systems]] || [[IAR Embedded Workbench for AVR]]&lt;br /&gt;
| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || 4K limitierte Kick-Off Version kostenfrei, Viele Application Notes von ATMEL für IAR vorhanden&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |myAVR || myAVR Workpad&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
| SiSy AVR&lt;br /&gt;
| {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || zusätzlich Codegenerierung aus: Programmablaufplan(ASM), Struktogramm(C), UML-Klassendiagramm(C++), UML-Zustandsdiagramm(C++)&lt;br /&gt;
|-&lt;br /&gt;
|Gennady Gromov || [[Algorithm Builder]] || {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || Codegenerierung aus Flussdarstellung&lt;br /&gt;
|-&lt;br /&gt;
|Jon A. Haugum, Tobias Weber || [[AVRA]] || {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || erweiterte Makrosprache?&lt;br /&gt;
|-&lt;br /&gt;
|HP InfoTech || [[CodeVisionAVR]] || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Mikroelektronika || MikroPascal for AVR || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
| MikroBasic PRO for AVR || {{Nein-Feld}} || {{Nein-Feld}} ||{{Ja-Feld}}|| {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
| MikroC PRO for AVR || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||{{Ja-Feld}}|| {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|-&lt;br /&gt;
|Vogelaar Electronics || PasAVR || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || [[Cross-Compiler]] für [[Embarcadero Delphi|Delphi]]&lt;br /&gt;
|-&lt;br /&gt;
|Matrix Multimedia || Flowcode for AVR || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} || Flussdiagramme&lt;br /&gt;
|-&lt;br /&gt;
|ImageCraft|| ICCV8 || {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Ja-Feld}} || {{Nein-Feld}} || {{Nein-Feld}} ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Weitere Entwicklungswerkzeuge&lt;br /&gt;
* AVR IO Designer – ein kostenloses IO-Register-Konfigurationswerkzeug für ATtiny, AT90 und ATmega, ähnlich dem in CodeVision enthaltenen CodeWizard.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungs-Boards ==&lt;br /&gt;
[[Datei:Atmel STK 500 DSC00557 wp.jpg|mini|Entwicklungsboard STK500]]&lt;br /&gt;
Zur einfachen Entwicklung und Programmierung einer Schaltung mit einem AVR benötigt man zwar grundsätzlich nur wenige Bauteile. Dennoch schätzen besonders Anfänger sogenannte Entwicklungs- oder auch Evaluation-Boards (Entwicklungsplatinen), die neben dem AVR auch [[Peripherie]] (LEDs, Schalter etc.) bieten.&lt;br /&gt;
[[Atmel]] selbst bietet entsprechende offizielle Boards an (STK200, STK500, STK600), die universell für mehrere Typen einsetzbar sind. Zudem existieren für spezielle Controller eigene Boards, etwa das „Butterfly“ und die verschiedenen „XPlained“-Boards. Verschiedene Anbieter stellen günstige Alternativen bereit.&lt;br /&gt;
&lt;br /&gt;
In den letzten Jahren hat insbesondere die auf dem AVR aufbauende quelloffene [[Arduino-Plattform]] großen Zulauf erhalten, da diese speziell Einsteigern und fachfremden Personen wie Künstlern und Designern die Verwendung von Mikrocontrollern ohne tiefgreifende technische Kenntnisse ermöglicht.&lt;br /&gt;
&lt;br /&gt;
== Deutschsprachige Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Ingo Klöckl&lt;br /&gt;
   |Titel=AVR® Mikrocontroller. MegaAVR® – Entwicklung, Anwendung und Peripherie&lt;br /&gt;
   |Auflage=1.&lt;br /&gt;
   |Verlag=de Gruyter-Verlag&lt;br /&gt;
   |Datum=2015&lt;br /&gt;
   |ISBN=978-3-11-040768-6&lt;br /&gt;
   |Kommentar=Programmierung der MegaAVR-Typen in C und Assembler, Vorstellung aller Baugruppen, Flags und Funktionen}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Günter Schmitt&lt;br /&gt;
   |Titel=Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie&lt;br /&gt;
   |Auflage=5., völlig überarb. und erw.&lt;br /&gt;
   |Verlag=Oldenbourg-Verlag&lt;br /&gt;
   |Datum=2010&lt;br /&gt;
   |ISBN=978-3-486-58988-7&lt;br /&gt;
   |Kommentar=Einführung in die AVR-Architektur (Tiny und MEGA), basiert auf Assembler und C}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Wolfgang Trampert&lt;br /&gt;
   |Titel=AVR-RISC Mikrocontroller&lt;br /&gt;
   |Verlag=Franzis-Verlag&lt;br /&gt;
   |Datum=2000&lt;br /&gt;
   |ISBN=3-7723-5474-2&lt;br /&gt;
   |Kommentar=Hardware- und Assembler-orientiert, nur Classic-AVRs}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Roland Walter&lt;br /&gt;
   |Titel=AVR-Mikrocontroller-Lehrbuch&lt;br /&gt;
   |Auflage=3.&lt;br /&gt;
   |Verlag=Denkholz-Verlag&lt;br /&gt;
   |Datum=2009&lt;br /&gt;
   |ISBN=978-3-9811894-4-5&lt;br /&gt;
   |Kommentar=Systematisches Buch, basiert auf ATmega8/BASCOM, für Lehre geeignet (hier [http://www.rowalt.de/mc/ Vorschau])}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Safinaz und Francesco Volpe&lt;br /&gt;
   |Titel=AVR-Mikrocontroller-Praxis&lt;br /&gt;
   |Auflage=3.&lt;br /&gt;
   |Verlag=Elektor-Verlag&lt;br /&gt;
   |Datum=2003&lt;br /&gt;
   |ISBN=3-89576-063-3&lt;br /&gt;
   |Kommentar=Hauptsächlich Befehlssatz des AVR-Assemblers in Deutsch}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Claus Kühnel&lt;br /&gt;
   |Titel=Programmieren der AVR-RISC-Mikrocontroller mit BASCOM-AVR&lt;br /&gt;
   |Auflage=3., bearb. und erw.&lt;br /&gt;
   |Verlag=Skript-Verlag Kühnel&lt;br /&gt;
   |Datum=2010&lt;br /&gt;
   |ISBN=978-3-907857-14-4&lt;br /&gt;
   |Kommentar=Systematisches Buch, Schwerpunkt auf BASCOM, jedoch auch mit Assembler-Routinen}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Peter Urbanek&lt;br /&gt;
   |Titel=Embedded Systems&lt;br /&gt;
   |Verlag=HSU-Verlag&lt;br /&gt;
   |Datum=2007&lt;br /&gt;
   |ISBN=978-3-9811230-1-2&lt;br /&gt;
   |Kommentar=Einführung in die AVR-Architektur mit Beispielen in C auf Basis des ATmega16. Anschluss eines externen CAN-Controllers mit Beispielen.}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Roman Mittermayr&lt;br /&gt;
   |Titel=AVR-RISC: Embedded Software selbst entwickeln&lt;br /&gt;
   |Verlag=Franzis-Verlag&lt;br /&gt;
   |Datum=2008&lt;br /&gt;
   |ISBN=978-3-7723-4107-6&lt;br /&gt;
   |Kommentar=Einführung in Assembler für ATmega/ATtiny anhand verschiedener Projekte; wichtigste Grundlagen der C-Programmierung}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Florian Schäffer&lt;br /&gt;
   |Titel=AVR – Hardware und C-Programmierung in der Praxis&lt;br /&gt;
   |Verlag=Elektor-Verlag&lt;br /&gt;
   |Datum=2008&lt;br /&gt;
   |ISBN=978-3-89576-200-0}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Claus Kühnel&lt;br /&gt;
   |Titel=Programmieren der AVR RISC Microcontroller mit BASCOM-AVR&lt;br /&gt;
   |Auflage=3. bearbeitete und erweiterte&lt;br /&gt;
   |Verlag=Skript Verlag Kühnel&lt;br /&gt;
   |Datum=2010&lt;br /&gt;
   |ISBN=978-3-907857-14-4}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Günter Spanner&lt;br /&gt;
   |Titel=AVR-Mikrocontroller in C programmieren&lt;br /&gt;
   |Auflage=1.&lt;br /&gt;
   |Verlag=Franzis-Verlag&lt;br /&gt;
   |Datum=2010&lt;br /&gt;
   |ISBN=978-3-645-65019-9}}&lt;br /&gt;
* Günter Schmitt, Andreas Riedenauer: &amp;#039;&amp;#039;Mikrocontrollertechnik mit AVR.&amp;#039;&amp;#039; 6. völlig überarb. und deutlich erw. Auflage des vormals im Oldenbourg-Verlag erschienenen o.&amp;amp;nbsp;g. Buchs &amp;#039;&amp;#039;Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie,&amp;#039;&amp;#039;  De Gruyter. 2019, ISBN 978-3-11-040384-8.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Commonscat|Atmel AVR}}&lt;br /&gt;
* [https://www.microchip.com/design-centers/8-bit/microchip-avr-mcus Microchip] – AVR Produktseite (en)&lt;br /&gt;
* {{Internetquelle |url=http://www.electronicsplanet.ch/mikrocontroller/avr-tutorial-c/avr-tutorial-c.htm |titel=AVR Tutorial und Sourcecode Beispiele |abruf=2015-08-20}}&lt;br /&gt;
* [http://www.rn-wissen.de/index.php/AVR Roboternetz-Wiki] – Informationen zum AVR&lt;br /&gt;
* [http://www.avr-cpp.de/doku.php AVR C++ Tutorial] – C++ Tutorial für AVR-Controller&lt;br /&gt;
* [http://www.kreativekiste.de/attiny-45-85-mit-arduino-isp-programmieren-einfache-anleitung Attiny mit der Arduino IDE und Arduino Uno programmieren] – Attiny mit der Arduino IDE und Arduino Uno programmieren&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:Prozessorarchitektur]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Joewees</name></author>
	</entry>
</feed>