The basic structure and block diagram of a microcontroller is shown in the fig (1.1).

CPU is the brain of a microcontroller .CPU is responsible for fetching the instruction, decodes it, and then finally executed. CPU connects every part of a microcontroller into a single system. The primary function of CPU is fetching and decoding instructions. Instruction fetched from program memory must be decoded by the CPU.

• Memory
The function of memory in a microcontroller is same as microprocessor. It is used to store data and program. A microcontroller usually has a certain amount of RAM and ROM (EEPROM, EPROM, etc.) or flash memories for storing program source codes.

• Parallel input/output ports
Parallel input/output ports are mainly used to drive/interface various devices such as LCD’S, LED’S, printers, memories, etc. to a microcontroller.

• Serial ports
Serial ports provide various serial interfaces between microcontroller and other peripherals like parallel ports.

• Timers/counters
This is the one of the useful function of a microcontroller. A microcontroller may have more than one timer and counters. The timers and counters provide all timing and counting functions inside the microcontroller. The major operations of this section are perform clock functions, modulations, pulse generations, frequency measuring, making oscillations, etc. This also can be used for counting external pulses.

• Analog to Digital Converter (ADC)
ADC converters are used for converting the analog signal to digital form. The input signal in this converter should be in analog form (e.g. sensor output) and the output from this unit is in digital form. The digital output can be used for various digital applications (e.g. measurement devices).

• Digital to Analog Converter (DAC)
DAC perform reversal operation of ADC conversion. DAC convert the digital signal into analog format. It usually used for controlling analog devices like DC motors, various drives, etc.

• Interrupt control
The interrupt control used for providing interrupt (delay) for a working program .The interrupt may be external (activated by using interrupt pin) or internal (by using interrupt instruction during programming).

• Special functioning block
Some microcontrollers used only for some special applications (e.g. space systems and robotics) these controllers containing additional ports to perform such special operations. This considered as special functioning block.

Learn more at: