Fundamentals of Microcontroller Programming
Recommended Semester of Study
1st Level of Study, 2nd Year, Summer Semester
Learning Outcomes
The aim of the course is to provide students with fundamental knowledge and an overview of the architecture, hardware structure, functions, and applications of microcomputers and related hardware components. The course also aims to teach students the basic programming techniques for single-chip microcontrollers of the 8051 and ATmega families.
Brief Course Outline
- Basic concepts of digital and computer engineering, addresses and addressing.
- Architecture of microprocessors and microcomputers, instruction set.
- Microchip AVR ATmega and Intel 8051 microcontrollers.
- ATmega microcontrollers: memory organization, registers, and timing.
- Communication between a microcomputer and input/output devices, digital I/O.
- Interrupt systems, timers (PWM), and counters.
- A/D converter, USART, I2C, and SPI interfaces.
- Implementation of simple tasks in assembly language, comparison with C programming, understanding of register operations, direct and indirect addressing, program branching, and the use of loops.



