Microcontrollers programming
General data
Course ID: | 1000-2M08PMK |
Erasmus code / ISCED: |
11.303
|
Course title: | Microcontrollers programming |
Name in Polish: | Programowanie mikrokontrolerów |
Organizational unit: | Faculty of Mathematics, Informatics, and Mechanics |
Course groups: |
(in Polish) Grupa przedmiotów obieralnych dla informatyki magisterskiej- specjalność Systemy informatyczne (in Polish) Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka Elective courses for Computer Science and Machine Learning |
Course homepage: | http://www.mimuw.edu.pl/~marpe/mikrokontrolery |
ECTS credit allocation (and other scores): |
6.00
|
Language: | English |
Type of course: | elective monographs |
Short description: |
This course will focus on microcontroller programming. Standard programming techniques, software tools and typical microcontroller architectures (for instance ARM) will be presented and illustrated by practical examples on real hardware. Through the course students will broaden their knowledge about low-level programimming skills and gain ability to build and program simple microcontroller systems based on ARM design kits. C will be used as primary programming language with short assembler inlines. Lecture will be held 2 hours every week and laboratory exercises - 4 hours every second week. |
Full description: |
1. Areas of application of microcontrollers, architecture of ARM microprocessors 2. Binary structure of executable code, programming environment, compiler, debugger 3. Binary inputs and outputs on the example of button and LED 4. Microcontroller clock and clock signal distribution, simple UART serial interface 5. Interrupt system, interrupt handling, external interrupt 6. Counters, use of a counter to generate interrupts and periodic waveforms, PWM, RGB LED 7. Infrared transmitter and receiver 8. Analog-to-digital converter, analog thermometer 9. I2C serial interface, accelerometer or other sensors, e.g. temperature, pressure, humidity or lighting 10. SPI serial interface, LCD 11. Multiplexed keyboard 4 ✕ 4 12. Real Time Clock (RTC) 13. Serial interface RS232, Bluetooth communication module 14. DMA 15. Floating-point coprocessor, digital signal processing (DSP) 16. Flash memory programming, bootloader 17. Overview of other architectures |
Bibliography: |
Websites with documentation of chips used in classes |
Learning outcomes: |
Knowledge 1. Student has an in-depth knowledge of the architecture of the microprocessor. 2. Student knows the working principles of peripherals: keyboard, LCD display, serial interfaces. Skills 1. Student understands low-level principles of program implementation, with particular emphasis on interrupts. |
Assessment methods and assessment criteria: |
Student should perform small exercises on a regular basis during laboratory classes and should implement a larger programming project. For the very good mark student should pass a minimum of two small exercises, the larger project should use at least two interrupts and DMA (if that makes sense), and the source text should be elegant and well commented. For the good mark student should pass at least one small exercise, the larger project should use interrupts, and the source text should be elegant. |
Classes in period "Winter semester 2024/25" (past)
Time span: | 2024-10-01 - 2025-01-26 |
Go to timetable
MO TU WYK
LAB
LAB
LAB
LAB
W TH FR |
Type of class: |
Lab, 30 hours
Lecture, 30 hours
|
|
Coordinators: | Marcin Engel, Marcin Peczarski | |
Group instructors: | Marcin Engel, Marcin Peczarski | |
Students list: | (inaccessible to you) | |
Credit: | Examination |
Classes in period "Winter semester 2025/26" (future)
Time span: | 2025-10-01 - 2026-01-25 |
Go to timetable
MO TU WYK
LAB
LAB
LAB
LAB
W TH FR |
Type of class: |
Lab, 30 hours
Lecture, 30 hours
|
|
Coordinators: | Marcin Engel, Marcin Peczarski | |
Group instructors: | Marcin Engel, Marcin Peczarski | |
Students list: | (inaccessible to you) | |
Credit: |
Course -
Examination
Lecture - Examination |
Copyright by University of Warsaw.