Virginia Tech®home


Course Description

Operation and applications of microcontrollers, including system level organization, analysis of specific processors, and software and hardware interface design.

Why take this course?

An understanding of microcontrollers is fundamental to the computer engineering and electrical engineering professions. This presents details of one or more microcontroller architectures, building on material learned in prerequisite courses. Principles of low-level program execution and interfacing to peripherals are emphasized in this course. The course prepares the student with a set of concepts common to many different embedded systems.

Learning Objectives

  • Develop software for microcontroller systems using a high-level programming language
  • Demonstrate familiarity with common microcontroller subsystems, such as timer modules
  • Demonstrate an ability to use both polling and interrupt-driven approaches for interfacing a microcontroller with peripheral devices
  • Develop and analyze software to interface a microcontroller with common peripheral devices, such as switches, visual displays, digital-to-analog converters, analog-to-digital converters, and flash memory to produce a system to accomplish a specified task
  • Design interfaces to external devices connected to the microcontroller using a standard bus
  • Describe the roles of microcontrollers in contemporary systems, including common consumer products