Fundamentals of
Microcontroller
Objectives:
• To understand the basics of a microcontroller and its functionalities.
• To develop an in-depth understanding of the operation of microcontrollers
its evolution.
What is a Microcontroller?
A microcontroller is a single chip microcomputer made
through VLSI (Very Large Scale Integration) fabrication. A
microcontroller also called an embedded controller because the
microcontroller and its support circuits are often built into, or
embedded in, the devices they control. A microcontroller is
available in different word lengths like microprocessors
(4bit,8bit,16bit,32bit,64bit and 128-bit microcontrollers are
available today).
Sometimes, a Microcontroller is also called as a Computer-on-
a-Chip or a Single-Chip-Computer. Since the Microcontroller and
its supporting circuitry are often embedded in the device it
controls, a Microcontroller is also called as an Embedded
Controller.
Microcontrollers are omnipresent. If a device or an application
involves measuring, storing, calculating, controlling or displaying
information, then device contains a Microcontroller in it.
Rise of Microcontrollers
Microprocessor, the invention that took the field of computation by
storm. A Microprocessor is an Integrated Circuit (IC) that contains the
Central Processing Unit (CPU). The earliest known Microprocessors are
the Intel’s 4004 and the Texas Instruments’ TMS1000.
Since then, the computational power, complexity and power
consumption kept on increasing in order to provide ultimate
performance (Power Consumption must be discussed separately due to
developments such as Low Power VLSI etc.).
In the beginning itself, the Microprocessors ability to control other electronic
equipment like Photocopiers is realized. The emphasis here is not on the computational
power of the Microprocessor but rather on a control mechanism with less complex
hardware and increased reliability.
This requirement paved way for integrating the minimum hardware required for
complete functioning of a Processor on to a single chip i.e. same chip as the processor,
to be precise.
This is the rise of Microcontrollers, an Integrated Circuit, which contains all the
functions and hardware in order to make a complete computer system. Here, the
computational power of the device is of less importance than the integration of all the
components, including memory.
Basics of Microcontrollers
Basically, a Microcontroller consists of the following components.
• Central Processing Unit (CPU)
• Program Memory (ROM – Read Only Memory)
• Data Memory (RAM – Random Access Memory)
• Timers and Counters
• I/O Ports (I/O – Input/Output)
• Serial Communication Interface
• Clock Circuit (Oscillator Circuit)
• Interrupt Mechanism
Most modern Microcontrollers might contain even more peripherals like SPI
(Serial Peripheral Interface), I2C (Inter Integrated Circuit), ADC (Analog to
Digital Converter), DAC (Digital to Analog Converter), CAN (Controlled Area
Network), USB (Universal Serial Bus), and many more.
The CPU (Central Processing Unit) in a Microcontroller performs the
arithmetic, logic, math and data-oriented function, similar to CPU in the
Microprocessor. The difference between a Microprocessor and Microcontroller
is that a Microprocessor need to be interface with external memory and other
I/O Interfaces to work as a computer whereas, a Microcontroller has all the
required peripherals on the same chip as the CPU.
The integration of features like ADC, DAC etc. on the same chip as
the CPU makes it more efficient and cheaper than to use a separate
ADC Chip.
Developing a Computer Controlled System involves design of the
Hardware and also writing an efficient Software Program. Since a
Microcontroller has all the hardware, that are required to make a
computer controlled system on a single chip, using a Microcontroller will
drastically reduce the efforts and time spent on hardware design and
wiring.
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
CPU is the brain of a microcontroller. CPU is responsible for fetching the instruction,
decodes it, then finally executed. CPU connects every part of a microcontroller into a
single system. The primary function of CPU is fetching and decoding instructions. The
instruction fetched from program memory must be decoded by the CPU.
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.
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.
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
Comparison between Microprocessor and Microcontroller
References:
• Administrator (2017) Basics of Microcontrollers: History, Structure, Applications. Available at:
https://www.electronicshub.org/microcontrollers-basics-structure-applications/
• electronics notes (no date) Understanding Embedded Systems‘:’ The Basics » Electronics Notes.
Available at: https://www.electronics-notes.com/articles/digital-embedded-processing/embedded-
systems/basics-primer.php (Accessed: 15 June 2021).
• Embedded Systems Fundamentals - CS7NS2 Internet of Things (no date). Available at:
https://www.scss.tcd.ie/Jonathan.Dukes/CS7NS2/fundamentals/ Vysakh (2011) Basics of
Microcontrollers. Available at: https://www.circuitstoday.com/basics-of-microcontrollers
• (Embedded Systems Fundamentals - CS7NS2 Internet of Things, no date; electronics notes, no
date)
“Don’t wait until you’ve reached your goal to be proud of yourself. Be
proud of every step you take toward reaching that goal.”
- unknown
- end -