Microcontroller erfordern eine sehr präzise und ressourcensparende Programmierung. Dazu ist es notwendig, sich mit den Interna des Prozessors zu beschäftigen; insbesondere ist es unabdingbar, die Assemblersprache zu studieren. Dessen Verständnis wird benötigt, um die Kompilation von C-Programmen zu analysieren, was Voraussetzung für das Schreiben von effizienten C-Programmen für Microcontroller ist. Von größter Wichtigkeit ist auch das Studium der Hardwarecomponenten, die Microcontrollerchips auszeichnen. Das Ziel dieser Lehrveranstaltung ist es, das Detailverständnis über Vorgänge in Microcontrollerchips so weit auszubilden, dass eine vernünftige High-Level-Programmierung dieser möglich wird.
Vorlesungsinhalte: - Microcontrollerarchitektur - Assembler Toolchain - Interrupts vs. Polling - C-Compiler - Speicheranalyse - Digitale Kommunikation - Analog-Digital- und Digital-Analog-Wandlung - Interfacing - Anwendungen
Übungsinhalte: - Assembler und C - Digital I/O - Interrupts - Timer - Communication interfaces - Analog I/O - Motoransteuerung - Anwendunge
Didaktische Methoden: - Wichtige Prinzipien werden in der Vorlesung vorgestellt - Advance reading - Betreute Laborübung - Anleitung zum eigenständigen Lesen und Verstehen von Datenblättern - Wöchentliche Lernziele
Sie müssen für vorausgehende Lehrveranstaltungen kein Zeugnis nachweisen, aber einige der Kenntnisse, die in diesen LVAs vermittelt werden, werden vorausgesetzt. Unter Anderem sind das: - Elementare diskrete Mathematik (Binomialkoeffizienten, Permutationen, Fibonacci-Zahlen, ...) - Elementare Algorithmenanalyse (Abschätzung von Laufzeit und Speicherbedarf, O-Notation, ...) - Profunde C-Fertigkeiten - Schaltungstechnik (auf dem Level von 183.053) - Im Laufe des Semesters: Halbleiterelektronik (von LVA 182.081)