AVR-8-bit-Mikrocontroller

Eine Vor-Bemerkung gleich zum Anfang:

Es wird hier (jetzt und später) vieles über die Funktionsweise, Programmierung (mittels Assembler und C-Compiler) sowie der Hardware-Umgebung der ATMEL-Mikroprocessoren im Allgemeinen dargelegt. Vieles ist von mir selbst erarbeitet worden und um mich selber weiter zu bilden, habe ich vieles von klugen Leuten aus dem Internet ausschließlich für den privaten Eigengebrauch in die von mir gewünschte Form gebracht (diverse Internet-Seiten der verschiedensten Beiträge komprimiert und als PDF-Dateien zusammengefasst). Der Hintergrund ist einfach der, dass ich als "Alter Hase" beim Lesen immer noch lieber dem Papier-Medium gegenüber dem Bildschirm den Vorzug gebe. Deshalb stelle ich auch alles Wissenswerte in Form von PDF-Dateien zum Download bereit. Die Websites vermitteln überwiegend nur den "Kontext" und natürlich die Links zum Auffinden der Dokumentationen.

ABER: Auch wenn viele Aussagen allgemein gültig sind, beziehe ich mich letztlich (bisher noch) immer auf den 8-bit-Mikrocontroller ATmega88 und die Programmiersprache C unter Anwendung des CodeVisionAVR C-Compilers.

Weiter möchte ich ausdrücklich darauf hinweisen, dass ich die übernommenen Teile der Autoren in keiner Weise schmälern bzw. deren geistiges Eigentum zu meinem eigenen machen wollte. Hätte ich von Anfang an beabsichtigt, diese ATMEL-Seite aufzumachen, so hätte ich bereits zu Beginn meiner Aufbereitung dieses Themas die jeweiligen Urheber zitiert. Im Nachhinein bekomme ich sie nicht mehr alle zusammen!

Während meines Studiums mit den Mikrocontrollern der Firma ATMEL wurde zu meiner großen Freude und Überraschung das Elektor-CC2-AVR-Projekt ATM18 ins Leben gerufen. Dafür vielen herzlichen Dank den Verfassern Udo Jürß und Wolfgang Rudolph! Für meine weitere Arbeit bedeutete die Ankündigung des ATM18-Projektes eine lang ersehnte aber vorhersehbare Zäsur: Mein bisheriges Suchen nach einer für mich geeigneten Testumgebung fand sein Ende, um endlich mit den praktischen Anwendungen zu beginnen. In Anlehnung an das ATM18-Projekt baute ich ein Testboard in herkömmlicher Technik, so dass Mikrocontroller und IC's in DIL-Technik verwendet werden können.

Mein Schaltungs-Ergebnis in herkömmlicher THT-Technik (Through Hole Technology) statt der heute weit verbreiteten SMT-Technik (Surface Mounting Technology) könnt Ihr der Seite AVR-ALE-Testboard entnehmen. Der Nachbau ist nicht nur gestattet, sondern - zwecks des Erfahrungsaustausches - ausdrücklich erwünscht.

Eine 2. Bemerkung zu Änderungen und dem globalen Tutorial-Aufbau

Nichts ist vollkommen - und nichts ist endgültig! So auch nicht dieses Tutorial! Deshalb bitte immer erst nach dem neuesten Datum schauen. Vielleicht gibt es wieder etwas Neues oder eine Fehlerbereinigung oder eine etwas bessere Erklärung. Wer Fehler findet oder Verbesserungen vorzuschlagen hat, bitte melden (Email: info@alenck.de).

Immer nach dem Motto: Das Bessere ist Feind des Guten und nichts ist so gut, dass es nicht noch verbessert werden könnte.

HISTORIE (gravierende Änderungen nach der Neustrukturierung des Tutorials)

Änderungen vom 18.06.2013
1. Völlig neue Strukturierung in Gruppen und Teile, um das Tutorial umfassend ordnen zu können. Die Abschnitte in den Teilen wurden weitgehend beibehalten. Die Struktur ist der weiter unten dargestellten Gesamt-Gliederung des Tutorials zu entnehmen.
2. Bild-, Beispiel-, Form- und Tabellen-Nummern sind nach folgendem Schema aufgebaut, damit bei Einfügungen/Löschungen nicht alle Nummern wieder geändert werden müssen (hier bunt dargestellt). Die laufenden Nummern beginnen in jedem Abschnitt wieder bei 01:

Darstellungsart Abschnitt -LfdNummer: Beschreibung --- allgemeines Schema

  • Bild 5.1.4 -02: Daten-Adress-Raum --- Benummerung eines Bildes
  • Beispiel 5.1.4 -03: EEPROM-Speicherung --- Benummerung eines Beispiels
  • Form 5.1.3 -01: Die main-Funktion --- Benummerung einer Formdarstellung
  • Tabelle 5.1.4 -01: Schlüsselwörter vom CVAVR --- Benummerung einer Tabelle

Änderungen vom Februar 2020
1. Ergänzung: Neues Teil 604 - Pegelsonde (hier wird ein neues AVR-C-Projekt "Pegelsonde" begonnen). Das Projekt ist noch nicht abgeschlossen, kann aber zum größten Teil schon als Anschauung mit vielen technischen Hinweisen verwendet werden. Das Teil 603 - IRDMS bleibt aber als Anschauung ebenfalls im Tutorial erhalten - auch wenn es durch Teil 604 - Pegelsonde vollständig ersetzt werden soll.
2. Schon beim Wechsel nach Windows 7 gab es Schwierigkeiten, aber beim Übergang zum Betriebssystem Windows 10 fing es wieder von vorne an. Zugegeben, nach so langer Zeit sind Änderungen nicht zu vermeiden, aber eine gewisse Abwärtskompatibilität mit denselben Programmteilen sollte schon gewährleistet sein.
Erschwerend kam hinzu, dass die Firma ATMEL 2016 von der Firma MICROCHIP Technology übernommen wurde, die dadurch zum drittgrößten Mikrocontroller-Anbieter geworden ist. Zu den bekanntesten Produktserien gehören die PIC-Mikrocontroller und die AVR-Mikrocontroller, die allgemein bei Hobby-Elektronikern sehr beliebt sind. Zum Glück liefert Microchip aber auch die notwendigen Entwicklungsumgebungen dazu (Hardware und Software).
Damit sind alle in diesem Tutorial erwähnten ATMEL-Erzeugnisse und Handbücher noch bei dieser Firma zu finden. Das Ergebnis ist aber: Zur Sicherheit wurden neben der Neuinstallation von CodeVisionAVR C-Compiler auch die USB-Treiber und das Tool AVR Studio neu heruntergeladen und upgedated.
Die neuen Links zu den Tools und deren Versionen werden an den jeweiligen Stellen im Tutorial aufgeführt.

Gliederung der (fertigen bzw. beabsichtigten) Tutorial-Teile

Nachfolgend ist die Gliederung der Tutorial-Teile aufgeführt. Ich habe eine bereits begonnene Arbeit, die auf Wunsch des bisherigen Moderators Udo Jürß vom ATM18-Projekt entstand, eingestellt und erstelle stattdessen eine Sammlung abgerundeter und aufeinander bezugnehmender Tutorial-Teile. Den Fortschritt kann man den einzelnen Links entnehmen: