8051 Microcontroller - Block Diagram and Components
8051 Microcontroller - Block Diagram and Components
8051Microcontroller:blockdiagramandcomponents
(http://www.techulator.com)
Login (/account/Login.aspx?
ReturnUrl=%2fresources%2fViewResourceDetails.aspx%3fresourceId%3d11036)
Register (/account/Register.aspx)
Resources (/resources/)
/ General Articles (/resources/Category5008-General-Articles.aspx)
/ Others (/resources/Category53-Others.aspx) /
1/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
Using a microcontroller provides a great advantage that a program is stored in ROM that has an
important role in managing the system's operations and functions. Since the program written
into ROM is xed that is, it cannot be altered or changed; as a result the operation of the system
remains constant (unchanged) regardless of the instructions given to it. Hence, a
microcontroller can be thought of a device containing on-chip program memory. A
microcontroller can also be referred as a 'microcomputer'.
Now let us see the architecture and block diagram of 8051 microcontroller
http://www.techulator.com/resources/11036Microcontrollerblockdiagramcomponents.aspx
2/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
1. ALU
All arithmetic and logical functions are carried out by the ALU.
Addition, subtraction with carry, and multiplication come under arithmetic operations.
Logical AND, OR and exclusive OR (XOR) come under logical operations.
3/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
A program counter is a 16-bit register and it has no internal address. The basic function of
program counter is to fetch from memory the address of the next instruction to be executed.
The PC holds the address of the next instruction residing in memory and when a command is
encountered, it produces that instruction. This way the PC increments automatically, holding
the address of the next instruction.
3. Registers
Registers are usually known as data storage devices. 8051 microcontroller has 2 registers,
namely Register A and Register B. Register A serves as an accumulator while Register B
functions as a general purpose register. These registers are used to store the output of
mathematical and logical instructions.
The operations of addition, subtraction, multiplication and division are carried out by Register A.
Register B is usually unused and comes into picture only when multiplication and division
functions are carried out by Register A. Register A also involved in data transfers between the
microcontroller and external memory.
8051 microcontroller also has 7 Special Function Registers (SFRs). They are:
1. Serial Port Data Buffer (SBUF)
2. Timer/Counter Control (TCON)
3. Timer/Counter Mode Control (TMOD)
4. Serial Port Control (SCON)
5. Power Control (PCON)
6. Interrupt Priority (IP)
7. Interrupt Enable Control (IE)
4/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
RAM
The 8051 microcontroller is composed of 128 bytes of internal RAM. This is a volatile memory
since its contents will be lost if power is switched off. These 128 bytes of internal RAM are
divided into 32 working registers which in turn constitute 4 register banks (Bank 0-Bank 3) with
each bank consisting of 8 registers (R0 - R7). There are 128 addressable bits in the internal
RAM.
5/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
7. Interrupt Control
An event which is used to suspend or halt the normal program execution for a temporary period
of time in order to serve the request of another program or hardware (/articles/ComputerHardware.aspx) device is called an interrupt. An interrupt can either be an internal or external
event which suspends the microcontroller for a while and thereby obstructs the sequential ow
of a program.
There are two ways of giving interrupts to a microcontroller one is by sending software
instructions and the other is by sending hardware signals. The interrupt mechanism keeps the
normal program execution in a "put on hold" mode and executes a subroutine program and after
the subroutine is executed, it gets back to its normal program execution. This subroutine
program is also called an interrupt handler. A subroutine is executed when a certain event
occurs.
In 8051, 5 sources of interrupts are provided. They are:
a) 2 external interrupt sources connected through INT0 and INT1
b) 3 external interrupt sources- serial port interrupt, Timer Flag 0 and Timer Flag 1.
The pins connected are as follows:
1. ALE (Address Latch Enable) - Latches the address signals on Port P0
2. EA (External Address) - Holds the 4K bytes of program memory
3. PSEN (Program Store Enable) - Reads external program memory
4. RST (Reset) - Reset the ports and internal registers upon start up
6/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
7/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
data/code.
(https://www.youtube.com/user/techulatormedia?sub_con rmation=1)
Comments
Guest Author: devanath reddy 20 May 2014
Informative, but needs explanation regarding connections between blocks.
Guest Author: gurpreet singh 21 Dec 2014
Very simple and knowledgeable explanation.
Guest Author: Kaustubh Thakare 14 Apr 2015
Great work! Extremely informative and helpful article on the 8051 microcontroller.Thanks!
http://www.techulator.com/resources/11036Microcontrollerblockdiagramcomponents.aspx
8/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
Post a comment
Email:
Spam check
I'm not a robot
reCAPTCHA
Privacy - Terms
Submit Response
Submit Article (PostResource.aspx)
Return to Article Index (index.aspx)
Sign up for our Newsletter! (http://eepurl.com/wWZsj)
Subscribe to RSS Feeds by Email (http://feedburner.google.com/fb/a/mailverify?
uri=techulator/articles&loc=en_US)
http://www.techulator.com/resources/11036Microcontrollerblockdiagramcomponents.aspx
9/10
8/8/2016
8051Microcontroller:blockdiagramandcomponents
Techulator
LikePage
10Klikes
Bethefirstofyourfriendstolikethis
Top Contributors
Today
Aman (/member/aman0001.aspx) (30)
Timmappa Kamat (/member/timkamat.aspx) (13)
Mahesh (/member/skysnap.aspx) (4)
Last 7 Days
Timmappa Kamat (/member/timkamat.aspx) (291)
Mahesh (/member/skysnap.aspx) (251)
Ankit (/member/ankitharrytom.aspx) (183)
more...
(/members/TopPerformers.aspx)
About Us (/general/AboutUs.aspx)
Copyright (/general/Copyrights.aspx)
Contact Us (/general/ContactUs.aspx)
Privacy Policy (/general/PrivacyPolicy.aspx)
http://www.techulator.com/resources/11036Microcontrollerblockdiagramcomponents.aspx
Advertise (/pages/Advertise.aspx)
10/10