Technology & Applications of Microcontrollers

7th Semester

The course aims to introduce students to the characteristics, programming and applications of microcontrollers, taking as a basic model a widespread and open source family of microcontrollers. The teaching of the course includes theory lectures and laboratory exercises.

The theoretical part of the course includes the following: structure and basic architectures, types of memory and supporting hardware, presentation of the family of microcontrollers used as a model in the course. Binary information management, number representation and coding systems. Microcontroller programming in C and wiring-C languages specifics and basic tools. Digital input – output ports. Interrupt mechanism, external interrupt lines. Timers/counters. types of A/D and D/A converters, basic principles of signal sampling, Shanon’s sampling theorem. Synchronous and asynchronous serial communication protocols. Integration of embedded systems with microcontroller – application examples. Selection of technologies and implementation parameters of digital controllers, programming of real-time systems.

The laboratory part of the course includes the following: introduction to the programming environment, digital ports, analog ports and pseudo-analog output ports, data logging, driving a 7-segment display and LCD screen, interfacing and programming keyboard modules, using interrupts, timer-counters, generators pulse trains, PWM signal generation, the A/D converter, asynchronous serial communication. Driving and controlling motors (DC, RC-servo, Stepper) by microcontroller. Adaptation and interfacing of analog and digital sensors with various communication protocols. Students will be asked to implement small-scale projects after the end of each module and a project of greater difficulty.

Upon successful completion of the course, students are expected to:

  • To know the basic characteristics of the architecture and integrated peripherals of microcontrollers.
  • To understand the scope and scope of the possibilities provided by microcontrollers for solving practical problems.
  • To be able to use the programming language C and wire-C to access and utilize the resources of the microcontroller, in the context of developing applications.
  • To have acquired practical experience in the above, through the laboratory part of the course.
  • To have the knowledge background for exploiting the possibilities of microcontrollers, in the context of the requirements of other courses.

Required knowledge: Advanced Programming, Sensors and Measurement Systems, Automatic Control Systems