Microcontrollers demand very precise and resource-saving programming. Therefore it is necessary to investigate the processor core; in particular, one has to study assembler language. This understanding enables to analyze compilation of C programs, which is a precondition to write efficient C programs for microcontrollers. Of utmost importance is the investigation of the microcontroller's hardware components. Goal of this course is the development of understanding of internal processes in the microcontroller chip. This will enable the student to conduct sound high-level-programming of such chips.
Lecture contents: - Microcontroller architecture - Assembler toolchain - Interrupts vs. polling - C-Compiler - Memory analysis - Digital communication - Analog-digital- and digital-analog-conversion - Interfacing - Applications
Lab contents: - Assembler and C - Digital I/O - Interrupts - Timer - Communication interfaces - Analog I/O - Motor control - Anwendungen
Didactic methods: - Important principles are presented in class - Advance reading - Supervised lab - Guidance to read and comprehend datasheets - Weekly learning objectives
You do not need a certificate for any of the prevalent courses, but we will expect you to be familiar with some of the concepts taught in these courses, e.g., - elementary discrete mathematics (binomial coefficients, permutations, Fibonacci-numbers, ...) - elementary analysis of algorithms (estimation of time and space complexity, O-notation, ...) - profound skills in C - elementary circuit design (level of 183.053) - during course of semester: Semiconductor elctronics (from 182.081)