Microcontrollers and microprocessors whether seen or unnoticed are an integral part of everyday life. You quite possibly encounter hundreds everyday. Everyday items that you may or may not think of contain one or more of these tiny devices: your electric toothbrush, television, the remote control for your television, children’s toys, cell phones, and the dozen or so processors in your car for the engine electronic control system, GPS, radio system and electronic compass are a few examples.
The purpose of this course is to describe at a high level different microcontroller architectures and to discuss the components of the central processing unit and how the components interact. This course also describes the differences between a microcontroller and a microprocessor and discusses a microcontroller’s instruction set and presents a few examples. This course presents different peripherals, how they are used and how they interact with the central processor.
Microcontrollers are specialized microprocessors. Three of the most popular processor architectures include the Harvard architecture where data memory and program memory are accessed separately, the von Neumann architecture where data memory and program memory are accessed from the same bus, and the modified Harvard architecture which is a combination of the previously mentioned two. The central processing unit (composed of the arithmetic logic unit, registers and the control unit) functions as the brains or core of the processor. The central processing unit processes machine code stored in memory to control all of its functions. The machine code is compiled or assembled from the processor’s instruction set which defines all of the operations of the microcontroller. To complement their functionality, microcontrollers include a suite of peripherals such as input/output pins, timers, a real-time clock and communications controllers.
At the conclusion of this course the student will learn:
- Three of the main processor architectures
- The difference between the Harvard architecture and von Neumann architecture
- The components of the central processing unit and how they interact
- How binary numbers are manipulated mathematically within the arithmetic logic unit
- The fetch-decode-execute cycle of the central processing unit
- The difference between a microcontroller and a microprocessor
- How a processor’s instruction set translates into machine code
- When to use general purpose input/output
- When to use a timer and real-time clock peripheral
- The differences, advantages and disadvantages of three different communication interfaces: UART, SPI, and I2C