Herzlich Willkommen auf Alwin Lencks Homepage

...

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.

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 könnt Ihr der Seite AVR-ALE-Testboard entnehmen. Der Nachbau ist nicht nur gestattet, sondern - zwecks des Erfahrungsaustausches - ausdrücklich erwünscht.

Gliederung der (fertigen bzw. beabsichtigten) Tutorials

Nachfolgend ist die Gliederung der (beabsichtigten) Tutorials 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 Tutorials. Den Fortschritt kann man den einzelnen Links entnehmen:

  • AVR-Turorial Gruppe 100: Technologie der AVR-8-bit-Mikrocontroller
    • Teil 100 - Inhaltsverzeichnis
    • Teil 101 - AVR-Architektur
    • Teil 102 - Harvard-Architektur
    • Teil 103 - Clock
    • Teil 104 - Sleep Modes
    • Teil 105 - Systemsteuerung und RESET
    • Teil 106 - Interrupt-Vektoren
    • Teil 107 - I/O-Ports
    • Teil 108 - PWM
    • Teil 109 - SPI
    • Teil 110 - USART
    • Teil 111 - TWI
    • Teil 112 - Analog-Komparator
    • Teil 113 - ADC
    • Teil 114 - Bootloader
    • Teil 115 - Speicher-Programmierung
  • AVR-Tutorial Gruppe 200: Tools - Programmier-Werkzeuge
    • Teil 200 - Inhaltsverzeichnis
    • Teil 201 - Experimentierboards
    • Teil 202 - ISP-Programmieradapter
    • Teil 203 - AVR-ALE-Testboard
    • Teil 204 - AVR Studio
    • Teil 205 - Assembler und AVR Studio
    • Teil 206 - C-Compiler und AVR Studio
    • Teil 207 - Editor UltraEdit
  • AVR-Tutorial Gruppe 300: Assembler-Programmierung
    • Teil 300 - Inhaltsverzeichnis
    • Teil 301 - Einführung
    • Teil 302 - Syntax der Assembler-Sprache
    • Teil 303 - Instruktionen
    • Teil 304 - Register
    • Teil 305 - I/O-Ports
    • Teil 306 - SRAM
    • Teil 307 - Programmablauf
    • Teil 308 - Zahlendarstellung
    • Teil 309 - Bits, Bytes und Zahlen
    • Teil 310 - Anhang und Beispiele
  • Arbeiten mit CodeVisionAVR C-Compiler
    • Teil 500 - Inhaltsverzeichnis
    • Teil 501 - Einführung
    • Teil 502 - Aufbau eines C-Projektes
    • Teil 503 - Der Preprozessor
    • Teil 504 - Syntax der C-Programmiersprache
    • Teil 505 - Modularer Aufbau der AVR-C-Projekte
    • Teil 506 - Anhang
    • Teil 600 - Inhaltsverzeichnis
  • AVR-Tutorial Gruppe 600: C-Projekte
    • Teil 601 - AVR_PB_LED - Beschaltung von LEDs und Tasten
    • Teil 602 - 2_Draht_LCD - LCD-Display ansteuern
    • Teil 603 - IRDMS - Infrarot-Mess-Sensor ansteuern
    • Teil 604 - IR_Decoder - Steuern, Schalten und Fernbedienen