University of Warsaw - Central Authentication System
Strona główna

Microcontrollers programming

General data

Course ID: 1000-2M08PMK
Erasmus code / ISCED: 11.303 The subject classification code consists of three to five digits, where the first three represent the classification of the discipline according to the Discipline code list applicable to the Socrates/Erasmus program, the fourth (usually 0) - possible further specification of discipline information, the fifth - the degree of subject determined based on the year of study for which the subject is intended. / (0612) Database and network design and administration The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
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 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
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
Selected timetable range:
Go to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
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

Selected timetable range:
Go to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Marcin Engel, Marcin Peczarski
Group instructors: Marcin Engel, Marcin Peczarski
Students list: (inaccessible to you)
Credit: Course - Examination
Lecture - Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
ul. Banacha 2
02-097 Warszawa
tel: +48 22 55 44 214 https://www.mimuw.edu.pl/
contact accessibility statement site map USOSweb 7.1.2.0-bc9fa12b9 (2025-06-25)