Microcontroller programming 1100-2`PMK
The course places its emphasis to control devices with computers. It will incorporate the state-of-the-art microcontrollers' cores of AVR and ARM families. We will gear to the inte-gration of hardware modules to construct embedded systems, and the programming mod-els and characteristics of various input/output interfaces. High-level C/C++ languages will be chosen to meet computation, resource, and software development requirements.
Program:
1. Microcontroller applications' area. Architecture of microcontrollers. Eagle - applica-tion for designing electronic circuits.
2. Microcontroller programming in C/C++ high level languages. Programming envi-ronments in Linux and MS Windows systems. Configuration of microcontroller. Pro-gram uploading. Types of programmers. Using input/output binary ports.
3. Standard library. Object oriented programming in microcontroller applications. How to write effective programs.
4. Generation of delays, signals of given frequency and pulse modulation. Use of in-ternal counters to signal generation.
5. Interrupt system. How to write interrupt handlers. Interrupt triggering with external signals and with internal circuits. Interrupts hierarchy. Interrupts enabling and dis-abling.
6. Communication with user. Multiplexed LED display, text and graphics LCD displays. Decoding matrix keyboard, single and multiplied key presses, short and long ones without and with interrupt system.
7. Serial interfaces: RS232, I2C, SPI, 1-wire.
8. Frequency measurement. Counting of impulses and widths with use of internal counters and voltage comparator. Programming A/D converter.
9. Common additional microcontroller circuits. Watchdog. Non volatile EEPROM and FLASH memories.
10. USB programming.
Prerequisites: programming with C/C++ languages, basics of electronics.
Description by Paweł Klimczewski.
Course coordinators
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: