Basic Structure of a Microcontroller

You might have seen the basic structure of a Microcontroller many times. If you have already seen the structure of Microcontroller and the basic components of a Microcontroller before, then consider this as a revision. If you haven’t seen it, then it is very important to get an idea about the basic structure of a Microcontroller.

The following image shows the Basic Structure of a Microcontroller.

From the above image, you can understand that the three important (or major) components of a Microcontroller are:

  • The CPU (Central Processing Unit)
  • The Memory and
  • The I/O Ports

This doesn’t mean that other components are of less importance. But these can be considered as supporting devices. We will now see each of the Basic Components of a Microcontroller mentioned in the above structure.

CPU

Central Processing Unit or CPU is the brain of the Microcontroller. It consists of an Arithmetic Logic Unit (ALU) and a Control Unit (CU). A CPU reads, decodes and executes instructions to perform Arithmetic, Logic and Data Transfer operations.

Memory

Any Computational System requires two types of Memory: Program Memory and Data Memory. Program Memory, as the name suggests, contains the program i.e. the instructions to be executed by the CPU. Data Memory on the other hand, is required to store temporary data while executing the instructions.

Usually, Program Memory is a Read Only Memory or ROM and the Data Memory is a Random Access Memory or RAM. Data Memory is sometimes called as Read Write Memory (R/W M).

I/O Ports

The interface for the Microcontroller to the external world is provided by the I/O Ports or Input/Output Ports. Inputs device like Switches, Keypads, etc. provide information from the user to the CPU in the form of Binary Data.

The CPU, upon receiving the data from the input devices, executes appropriate instructions and gives response through Output Devices like LEDs, Displays, Printers, etc.

Bus

Another important component of a Microcontroller, but rarely discussed is the System Bus. A System bus is a group of connecting wire that connect the CPU with other peripherals like Memory, I/O Ports and other supporting components.

Timers/Counters

One of the important components of a Microcontroller are the Timers and Counters. They provide the operations of Time Delays and counting external events. Additionally, Timers and Counters can provide Function Generation, Pulse Width Modulation, Clock Control, etc.

Serial Port

One of the important requirement of a Microcontroller is to communicate with other device and peripherals (external). Serial Port proves such interface through serial communication. Most common serial communication implemented in Microcontrollers is UART.

Interrupts

A very important feature of a Microcontroller is Interrupts and its Interrupt Handling Mechanism. Interrupts can be external, internal, hardware related or software related.

ADC (Analog to Digital Converter)

Analog to Digital Converter or ADC is a circuit that converts Analog signals to Digital Signals. The ADC Circuit forms the interface between the external Analog Input devices and the CPU of the Microcontroller. Almost all sensors are analog devices and the analog data from these sensors must be converted in to digital data for the CPU to understand.

DAC (Digital to Analog Converter)

DIgital to Analog Converter or DAC is a circuit, that works in contrast to an ADC i.e. it converts Digital Signals to Analog Signals. DAC forms the bridge between the CPU of the Microcontroller and the external analog devices.

Advantages of Microcontrollers

  • A Microcontroller is a true device that fits the computer-on-a-chip idea.
  • No need for any external interfacing of basic components like Memory, I/O Ports, etc.
  • Microcontrollers doesn’t require complex operating systems as all the instructions must be written and stored in the memory. (RTOS is an exception).
  • All the Input/Output Ports are programmable.
  • Integration of all the essential components reduces the cost, design time and area of the product (or application).

Disadvantages of Microcontrollers

  • Microcontrollers are not known for their computation power.
  • The amount of memory limits the instructions that a microcontroller can execute.
  • No Operating System and hence, all the instruction must be written.

Applications of Microcontrollers

There are huge number of applications of Microcontrollers. In fact, the entire embedded systems industry is dependent on Microcontrollers. The following are few applications of Microcontrollers.

  • Front Panel Controls in devices like Oven, washing Machine etc.
  • Function Generators
  • Smoke and Fire Alarms
  • Home Automation Systems
  • Automatic Headlamp ON in Cars
  • Speed Sensed Door Locking System