Microprocessor Software Course code: 150607 | 6 ECTS credits

Basic information
Level of Studies:
Year of Study: 3
Semester: 6
Requirements: Basic microcontroller knowledge and knowledge of English are recommended.
Goal: This module is designed to introduce students to practical application of microcontroller programming in C (partly in assembler) as well as to develop basic practical programming skills and techniques in application of modern microcontroller peripherals.
Outcome: After successful completion of this module students should be able to design simple programs used in practical tasks in embedded computers, use program development software tools, and to use integrated development environments (IDE) for microcontrollers.
Contents of the course
Theoretical instruction:
  1. Microcontroller architecture and the role of individual components. Principles of assembler.
  2. Microcontroller overview, modular programming, segmentation, linker.
  3. Content and design concept, role and usage of certain development tools.
  4. Creating of standard programming structures for specific microcontroller. Macros.
  5. Interrupt mechanism. Real time operating systems, context switching.
  6. General purpose IO (GPIO), AD and DA converters, timers and counters.
  7. Specifics of the system with reduced power and increased reliability.
  8. Examples of applicable programs. Look-up tables, mathematical functions
  9. Application in control. Filtering, real-time signal generation, PWM.
  10. Signal measurement and digitization. Delay impact. Influence of finite word length data.
  11. Advanced techniques. Multiprocessor systems, networking, CAN, Zigbee.
  12. Specificities of C- language for microcontrollers and differences from standard ANSI C.
  13. Design methods of embedded microcomputers. Teamwork, documentation.
  14. Tools for embedded applications development. Simulators, monitor, emulators, logic analyzers.
Practical instruction (Problem solving sessions/Lab work/Practical training):
  1. Practical lab-classes are in compliance to the lectures. Students independently develop, translate and test the program on a real hardware in the lab.
Textbooks and References
  1. M. Mijalković, Ž. Popov, Priručnik za laboratorijske vežbe iz mikroprocesorskog softvera, Viša elektrotehnička škola, Beograd, 2003.
  2. NXP, LPC2138 User's Manual, Nxp 2014.
  3. IAR, IAR Embedded Workbech for ARM User’s Manual, 2013.
Number of active classes (weekly)
Lectures: 3
Practical classes: 2
Other types of classes: 0
Grading (maximum number of points: 100)
Pre-exam obligations
Points
activities during lectures
10
activities on practial excersises
40
seminary work
0
colloquium
0
Final exam
Points
Written exam
50
Oral exam
0