0% found this document useful (0 votes)
20 views16 pages

Overview of the 8051 Microcontroller

The document discusses the 8051 microcontroller. It describes the differences between microcontrollers and microprocessors, and provides details on the architecture of the 8051 microcontroller including its RAM, ROM, I/O ports, timers and counters.

Uploaded by

abidas5595
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views16 pages

Overview of the 8051 Microcontroller

The document discusses the 8051 microcontroller. It describes the differences between microcontrollers and microprocessors, and provides details on the architecture of the 8051 microcontroller including its RAM, ROM, I/O ports, timers and counters.

Uploaded by

abidas5595
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 1

The 8051 Microcontroller

1.1 INTRODUCTION
The microcontroller incorporates all the features that are found in microprocessor.
The microcontroller has built in ROM, RAM, Input Output ports, Serial Port,
timers, interrupts and clock circuit. A microcontroller is an entire computer
manufactured on a single chip. Microcontrollers are usually dedicated devices
embedded within an application. For example, microcontrollers are used as engine
controllers in automobiles and as exposure and focus controllers in cameras. In
order to serve these applications, they have a high concentration of on-chip facilities
such as serial ports, parallel input output ports, timers, counters, interrupt control,
analog-to-digital converters, random access memory, read only memory, etc. The
I/O, memory, and on-chip peripherals of a microcontroller are selected depending
on the specifics of the target application. Since microcontrollers are powerful
digital processors, the degree of control and programmability they provide
significantly enhances the effectiveness of the application. The 8051 is the first
microcontroller of the MCS-51 family introduced by Intel Corporation at the end
of the 1970s. The 8051 family with its many enhanced members enjoys the largest
market share, estimated to be about 40%, among the various microcontroller
architectures.
The microcontroller has on chip peripheral devices. In this unit firstly we
differentiate microcontroller from microprocessor then we will discuss about
Hardware details of 8051 and then introduce the Assembly level language in brief.

Microcontrollers
• Microcontroller (MC) may be called computer on chip since it has basic
features of microprocessor with internal ROM, RAM, Parallel and serial
ports within single chip. Or we can say microprocessor with memory and
ports is called as microcontroller. This is widely used in washing machines,
vcd player, microwave oven, robotics or in industries.
2 Microcontroller and Embedded Systems

• Microcontroller can be classified on the basis of their bits processed like


8bit MC, 16bit MC.
• 8 bit microcontroller, means it can read, write and process 8 bit data. Ex.
8051 microcontroller. Basically 8 bit specifies the size of data bus. 8 bit
microcontroller means 8 bit data can travel on the data bus or we can read,
write process 8 bit data.

1.2 DIFFERENCE BETWEEN MICROCONTROLLER AND


MICROPROCESSOR
Data bus
CPU
CPU RAM ROM
General
Serial
Purpose I/O
RAM ROM Timer COM
Micro- Port Serial
Port
processor I / O Timer COM
Port

Address bus
(a) General-purpose Microprocessor System (b) Microcontroller

Fig. 1.1 Structure of microprocessor and microcontroller

It is very clear from figure that in microprocessor we have to interface additional


circuitry for providing the function of memory and ports, for example we have to
interface external RAM for data storage, ROM for program storage, programmable
peripheral interface (PPI) 8255 for the Input Output ports, 8253 for timers, USART
for serial port. While in the microcontroller RAM, ROM, I/O ports, timers and
serial communication ports are in built. Because of this it is called as “system on
chip”. So in micro-controller there is no necessity of additional circuitry which is
interfaced in the microprocessor because memory and input output ports are inbuilt
in the microcontroller. Microcontroller gives the satisfactory performance for
small applications. But for large applications the memory requirement is limited
because only 64 KB memory is available for program storage. So for large
applications we prefer microprocessor than microcontroller due to its high
processing speed.

1.3 CRITERIA FOR SELECTION OF A MICROCONTROLLER


IN EMBEDDED SYSTEM
Criteria for selection of microcontroller in any embedded system is as following:
(a) Meeting the computing needs of task at hand efficiently and cost effectively
• Speed of operation
• Packing
The 8051 Microcontroller 3

• Power consumption
• Amount of RAM and ROM on chip
• No. of I/O pins and timers on chip
• Cost
(b) Availability of software development tools such as compiler, assembler
and debugger.

1.4 MICROCONTROLLER 8051 ARCHITECTURE


It is 8-bit microcontroller, means MC 8051 can Read, Write and Process 8 bit
data. This is mostly used microcontroller in the robotics, home appliances like
mp3 player, washing machines, electronic iron and industries. Mostly used blocks
in the architecture of 8051 are as follows:
EXTERNAL
INTERRUPTS
INT1 ON-CHIP
INT0

COUNTER INPUTS
ROM
for
INTERRUPT ETC. T1
program ON-CHIP
CONTROL code TIMER 0
RAM T0
TIMER 1

CPU

BUS 4I/O SERIAL


OSC CONTROL PORTS PORT

30PF 30PF P0 P1 P2 P3 TXD RXD


4 to 30 MHz ADDRESS / DATA
normally 11.0592 MHz

Fig. 1.2 8051 architecture

1.4.1 128 Byte RAM for Data Storage


MC 8051 has 128 byte Random Access memory for data storage. Random access
memory is non volatile memory. During execution for storing the data the RAM
is used. RAM consists of the register banks, stack for temporary data storage. It
also consists of some special function register (SFR) which are used for some
specific purpose like timer, input output ports etc. Normally microcontroller has
256 byte RAM in which 128 byte is used for user space which is normally Register
4 Microcontroller and Embedded Systems

banks and stack. But other 128 byte RAM which consists of SFRs. We will
discuss the RAM in detail in next section.
Now what is the meaning of 128 byte RAM. What are address range which
is provided for data storage. We will discuss here.
We know that 128 byte = 27 byte

7 6 5 4 3 2 1 0
if initial address is 0 0 0 0 0 0 0 0 (00H)
then final or last address is 0 1 1 1 1 1 1 1 (7FH)

7 F

Since 27 bytes so last 7 bits can be changed so total locations are from 00H
to 7F H. This procedure of calculating the memory address is called as “memory
mapping”. We can save data on memory locations from 00H to 7FH. Means total
128 byte space from 00H to 7FH is provided for data storage.

1.4.2 4KB ROM


• In 8051, 4KB read only memory (ROM) is available for program storage.
This is used for permanent data storage. Or the data which is not changed
during the processing like the program or algorithm for specific applications.
• This is volatile memory; the data saved in this memory does not disappear
after power failure.
• We can interface up to 64KB ROM memory externally if the application is
large. These sizes are specified different by their companies.
• Address Range of PC: Address range of PC means program counter (which
points the next instruction to be executing) can be moved between these
locations or we can save the program from this location to this location.
The address range can be calculated in the same way just like the RAM
which is discussed in previous section.
4KB = 2 2 ◊ 210 B (since 1KB = 210 B)
= 212 Byte

Address range of PC is 0000H to 0FFFH means total 4KB locations are available
from 0000H to 0FFFH. At which we can save the program.
The 8051 Microcontroller 5

Difference between RAM and ROM


• RAM is used for data storage while ROM is used for program storage.
• Data of RAM can be changed during processing while data of ROM can’t
be changed during processing.
• We can take an example of calculator. If we want to perform addition of
two numbers then we type the two numbers in calculator, this is saved in
the RAM, but the Algorithms by which the calculation is performed is saved
in the ROM. Data which is given by us to calculator can be changed but the
algorithm or program by which calculation is performed can’t be changed.

1.4.3 Timers and Counters


Timer means which can give the delay of particular time between some events.
For example on or off the lights after every 2 sec. This delay can be provided
through some assembly program but in microcontroller two hardware pins are
available for delay generation. These hardware pins can be also used for counting
some external events. How much times a number is repeated in the given table is
calculated by the counter.
• In MC8051, two timer pins are available T0 and T1, by these timers we can
give the delay of particular time if we use these in timer mode.
• We can count external pulses at these pins if we use these pins in counter
mode.
• 16 bits timers are available. Means we can generate delay between 0000H
to FFFFH.
• Two special function registers are available.

• If we want to load T0 with 16 bit data then we can load separate lower 8 bit
in TL0 and higher 8 bit in TH0.
• In the same way for T1.
• TMOD, TCON registers are used for controlling timer operation.

1.4.4 Serial Port


• There are two pins available for serial communication TXD and RXD.
• Normally TXD is used for transmitting serial data which is in SBUF register,
RXD is used for receiving the serial data.
• SCON register is used for controlling the operation.
• There are four modes of serial communication which has been discussed in
next chapter.
6 Microcontroller and Embedded Systems

1.4.5 Input Output Ports


• There are four input output ports available P0, P1, P2, P3.
• Each port is 8 bit wide and has special function register P0, P1, P2, P3
which are bit addressable means each bit can be set or reset by the Bit
instructions (SETB for high, CLR for low) independently.
• The data at any port which is transmitting or receiving is in these registers.
• The port 0 can perform dual works. It is also used as Lower order address
bus (A0 to A7) multiplexed with 8 bit data bus P0.0 to P0.7 is AD0 to AD7
respectively the address bus and data bus is demultiplex by the ALE signal
and latch which is further discussed in details.
• Port 2 can be used as I/O port as well as higher order address bus A8 to
A15.
• Port 3 also have dual functions it can be worked as I/O as well as each pin
of P3 has specific function.

P3.0 – RXD – {Serial I / P for Asynchronous communication


Serial O / P for synchronous communication.
P3.1 – TXD – Serial data transmit.
P3.2 – INT0 – External Interrupt 0.
P3.3 – INT1 – External Interrupt 1.
P3.4 – T0 – Clock input for counter 0.
P3.5 – T1 – Clock input for counter 1.
P3.6 – WR – Signal for writing to external memory.
P3.7 – RD – Signal for reading from external memory.
When external memory is interfaced with 8051 then P0 and P2 can’t be
worked as I/O port they works as address bus and data bus, otherwise they
can be accessed as I/O ports.

1.4.6 Oscillator
• It is used for providing the clock to MC8051 which decides the speed or
baud rate of MC.
• We use crystal which frequency vary from 4MHz to 30 MHz, normally we
use 11.0592 MHz frequency.

1.4.7 Interrupts
• Interrupts are defined as requests because they can be refused (masked) if
they are not used, that is when an interrupt is acknowledged. A special set
of events or routines are followed to handle the interrupts. These special
routines are known as interrupt handler or interrupt service routines (ISR).
These are located at a special location in memory.
• INT0 and INT1 are the pins for external interrupts.
The 8051 Microcontroller 7

1.5 PIN DIAGRAM OF 8051

P1.0 1 40 V cc
P1.18
2 39 P0.0 (AD0)
P1.1
P1.2 3 38 P0.1 (AD1)

P1.3 4 37 P0.2 (AD2)


P1.4 5 36 P0.3 (AD3)
8051
P1.5 6 (8031) 35 P0.4 (AD4)
P1.6 7 (89420) 34 P0.5 (AD5)
P1.7 8 33 P0.6 (AD6)
RST 9 32 P0.7 (AD7)
(RXD) P3.0 10 31 EA / VPP
(TXD) P3.1 11 30 ALE / PROG
(INT0) P3.2 12 29 PSEN
(INT1) P3.3 13 28 P2.7 (A15)
(T0) P3.4 14 27 P2.6 (A14)
(T1) P3.5 15 26 P2.5 (A13)
(WR) P3.6 16 25 P2.4 (A12)
(RD) P3.7 17 24 P2.3 (A11)
XTAL2 18 23 P2.2 (A10)
XTAL1 19 22 P2.1 (A9)
GND 20 21 P2.0 (A8)

Fig. 1.3 Pin diagram of MC 8051

Description of each pin is discussed here:


• VCC → 5V supply
• VSS → GND
• XTAL2/XTALI are for oscillator input
• Port 0 – 32 to 39 – AD0/AD7 and P0.0 to P0.7
• Port 1 – 1 to 8 – P1.0 to P1.7
• Port 2 – 21 to 28 – P2.0 to P2.7 and A 8 to A15
• Port 3 – 10 to 17 – P3.0 to P3.7
• P 3.0 – RXD – Serial data input – SBUF
• P 3.1 – TXD – Serial data output – SBUF
• P 3.2 – INT0 – External interrupt 0 – TCON 0.1
• P 3.3 – INT1 – External interrupt 1 – TCON 0.3
• P 3.4 – T0 – External timer 0 input – TMOD
8 Microcontroller and Embedded Systems

• P 3.5 – T1 – External timer 1 input – TMOD


• P 3.6 – WR – External memory write cycle – Active LOW
• P 3.7 – RD – External memory read cycle – Active LOW
• RST – for Restarting 8051
• ALE – Address latch enable
1 – Address on AD 0 to AD 7
0 – Data on AD 0 to AD 7
• PSEN – Program store enable

1.6 ARCHITECTURE OF 8051


Figure 1.4 shows the architecture block diagram of 8051.

Special

Port 0
Arithmetic

Latch
Function I/O
and PSW AD7–AD0
Logic Unit Registers
RAM

8-Bit Data and


A B

Port 1
Latch
Address Bus
I/O

DPTR
PC DPH ROM
DPL
Port 2

I/O
Latch

A15–A8
16-Bit Address Bus

I/O
Interrupt (INT0,9 INT1)
Port 3

Counter (T0,9T1)
Latch

Serial Data
EA Special (TXD, RXD)
System Byte/Bit
ALE Function RD, WR
Timing Addresses
PSEN Register

XTAL 1 Register IE
System IP
XTAL 2 Bank 3
Interrupts
RESET Timers PCON
Register SBUF
Vcc Bank 2 SCON
Data Buffers
GND Memory Control TCON
Register TMOD
Bank 1
TL0
TH0
Register
Bank 0 TL1
TH1

Internal RAM Structure

Fig. 1.4 Architectural block diagram of microcontroller 8051


The 8051 Microcontroller 9

Each block will be discussed step by step:

1.6.1 ALU — Arithmetic Logical Unit


This unit is used for the arithmetic calculations.

1.6.2 A-Accumulator
This register is used for arithmetic operations. This is also bit addressable and 8 bit
register.

1.6.3 B-Register
This register is used in only two instructions MUL AB and DIV AB. This is also
bit addressable and 8 bit register.

1.6.4 PC-Program Counter


• Points to the address of next instruction to be executed from ROM
• It is 16 bit register means the 8051 can access program address from
0000H to FFFFH. A total of 64KB of code. 16 bit register means.
Initial value 0 00 0 00 0 0 0 00 0 0000 (0000H)
Final value 1 11 1 11 1 1 1 11 1 1111 (F F F F H)
• Initially PC has 0000H
• ORG instruction is used to initialize the PC ORG 0000H means PC
initialize by 0000H
• PC is incremented after each instruction. ROM

Example: PC 7D 0000H

Mnemonics Machine codes 25 0001H


MOV R5, #25H 7D 25 74 0002H
MOV A, #00H 74 00
00 0003H
ADD A, R5 2D
HERE: SJMP HERE; 80 FE 2D 0004H
• When 7D is accessed then PC locate the
80 0005H
0001H (next instruction to be executed)
• When 00 is accessed then PC locate the FE 0006H
0004H (next instruction to be executed)
Fig. 1.5 ROM locations
1.6.5 ROM Memory Map in 8051
→ 4KB, 8KB, 16KB, 32KB, 64KB on chip ROM is available.
→ Max ROM space is 64 KB because 16 bit address line is available in
8051.
→ Starting address for ROM is 0000H (because PC which points the ROM
is 16 bit wide).
10 Microcontroller and Embedded Systems

Ex. For AT89C51 find the address range of ROM.


Sol.
4KB ROM = 22. 210 = 212B
So 12 bits can be changed.
(0000H) 00 0 0 00 0 0 00 00 0 0 00 (Starting Address)
(0FFFH) 00 0 0 11 1 1 11 11 1 1 11 (Max Address)
Memory address from 0000H to 0FFFH.

1.6.6 8051 Flag Bits and PSW Register


→ Used to indicate the Arithmetic condition of ACC.
→ Flag register in 8051 is called as program status word (PSW). This special
function register PSW is also bit addressable and 8 bit wide means each bit
can be set or reset independently.
PSW0.7 PSW0.6 PSW0.5 PSW0.4 PSW0.3 PSW0.2 PSW0.1 PSW0.0

CY AC F0 RS1 RS0 OV — P

FLAG Register

There are four flags in 8051


• P → Parity flag → PSW 0.0
1 – odd number of 1 in ACC
0 – even number of 1 in ACC
• OV(PSW 0.2) → overflow flag → this is used to detect error in signed
arithmetic operation. This is similar to carry flag but difference is only that
carry flag is used for unsigned operation.
• RS1(PSW0.4) RS0(PSW0.3) Register Bank Select
0 0 Bank 0
0 1 Bank 1
1 0 Bank 2
1 1 Bank 3
for selecting Bank 1, we use following commands
SETB PSW0.3 (means RS0=1)
CLR PSW0.4 (means RS1=0)
Initially by default always Bank 0 is selected.
• F0 → user definable bit
• AC → Auxiliary carry flag → when carry is generated from D3 to D4, it
is set to 1, it is used in BCD arithmetic.
1 1
0 0 0 0 1 1 1 0 (0EH)
+ 0 1 0 1 1 0 1 0 (5AH)
0 1 1 0 1 0 0 0 (38H)
The 8051 Microcontroller 11

Since carry is generated from D3 to D4, so AC is set.


• CY → carry flag → Affected after 8 bit addition and subtraction. It is used
to detect error in unsigned arithmetic opr. We can also use it as single bit
storage.
SETB C → for cy = 1
CLR C → for cy = 0

1.6.7 Structure of RAM or 8051 Register Bank and Stack


→ 128 byte RAM is available in 8051
→ 128 byte = 27B
7 bits
Address Range 0 0 0 0 0 0 0 0 (00H)
0 1 1 1 1 1 1 1 (7FH)

Address range of RAM is 00H to 7FH.


→ In MC8051, 128 byte visible or user accessible RAM is available which is
shown in figure. Extra 128B RAM which is not user accessible. 80H to
FFH used for storage of SFR (special function register)
7FH
Scratch Pad RAM
30H
2FH 1FH
Bit addressable
RAM
08 09

00 01 02 03 04 05 06 07
20H
1FH R7
Bank 3
18H R0
Stack
17H R7
Bank 2
10H R0
0FH R7
Bank 1
08H R0
07H R7
Bank 0 SP = 07 (initially)
00H R0

Fig. 1.6 Structure of RAM

→ Four Register Banks


→ There are four register banks, in each register bank there are eight 8 bit
register available from R0 to R7
→ By default Bank 0 is selected.
For Bank 0, R0 has address 00H
12 Microcontroller and Embedded Systems

R1 has address 01H


................
................
R7 has address 07H
For Bank 1, R0 has address 08H
R1 has address 09H
................
................
R7 has address 0FH
For selecting banks we use RS0 and RS1 bit of PSW.
→ R0 to R7 registers are byte addressable means.
7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 R0

If we want to set the bit 3 of R0 then we can’t use SETB R0.3


We use MOV R0, #08H;
For changing single bit we can modify all the other bits of R0.
→ Locations 20H to 2FH is bit addressable RAM means each bit from 00H to
FFH in this we can set or reset CF rather than changing whole byte.
→ Locations 30H to 7FH is used as scratch pad means we can use this space
for data reading and writing or for data storage.

1.6.8 Stack in 8051


→ RAM locations from 08H to 1FH can be used as stack. Stack is used to
store the data temporarily.
Stack is last in first out (LIFO)
→ Stack pointer (SP) →
• 8bit register
• It indicate current RAM address available for stack or it points the top of
stack.
• Initially by default at 07H because first location of stack is 08H.
• After each PUSH instruction the SP is incremented by one while in MC
after PUSH instruction SP is decremented.
• After each POP instruction the SP is decremented.
Example:
MOV R6,#25H;
MOV R1,#12H;
MOV R4,#OF3H;
PUSH 06H;
PUSH 01H;
POP 04H;
The 8051 Microcontroller 13
POP 04
PUSH 014
PUSH 06

0B

0A

12(R1) R4 = 124
09

08 25(R6) 25(R6) 25

initially SP = 084 SP = 09
SP = 074

→ if we want to use more than 24byte (08H to 1FH) of stack. We can change
SP to point RAM address 30H to 7FH by MOV SP,
#XX
Any value from 30 to 7FH

[Link] Conflicting of Register Banks and Stack


→ We know locations from 08H to 1FH is used as stack and it is also used as
register bank.
→ If in the program, we use the Register Bank 1 to 3 and also use the stack
then conflicts exist and error can be possible.
For removing this situation we use the stack from location 30H to 7FH by
shifting SP to 2FH.
MOV SP,#2FH;

1.6.9 DPTR → Data Pointer in 8051


→ 16 bit register, it is divided into two parts DPH and DPL.
→ DPH for Higher order 8 bits, DPL for lower order 8 bits.
→ DPTR, DPH, DPL these all are SFRs in 8051.

1.6.10 Special Function Register


→ (See Fig.) RAM scratch pad, there is extra 128 byte RAM which is used to
store the SFRs
→ Following figure shows special function bit address, all access to the four
I/O ports CPU register, interrupt control register, timer/counter, UART,
power control are performed through registers between 80H and FFH.
14 Microcontroller and Embedded Systems

Byte Addressable SFR with byte address


SP – Stack printer – 81H
DPTR – Data pointer 2 bytes
DPL – Low byte – 82H
DPH – High byte – 83H
TMOD – Timer mode control – 89H
TH0 – Timer 0 Higher order bytes – 8CH
TL0 – Timer 0 Low order bytes – 8AH
TH1 – Timer 1 High bytes = 80H
TL1 – Timer 1 Low order byte = 86H
SBUF – Serial data buffer = 99H
PCON – Power control – 87H.

1.7 INTRODUCTION TO ASSEMBLY LEVEL LANGUAGE


[Label:] mnemonic [operands] [;comment]
Mnemonics → assembly level instructions are called mnemonic like MOV R5
Operands → on which the operation is performed.

Example:
Loop: MOVR1, #25H; transfer 25H into R1
↑ ↑ ↑ ↑
Label mnemonics operand comments
The 8051 Microcontroller 15

→ two instructions which are used to start and terminate program.


• ORG → this instruction indicate the origin of program ORG 3000H
→ means program starts from 3000H locn.
→ this instruction hasn’t take any memory space. It is used to show the
starting address of program.
• END → this instruction show the END of program or it is used to terminate
the program.

Example:
ORG 0H;
Again: MOV R5, # 25H; transistor 25H to R5
ADD A, R5; Add the R5 with Acc
SJMP Again;
END;

1.8 ASSEMBLY AND RUNNING 8051 PROGRAM


EDITOR
PROGRAM

[Link]

ASSEMBLER
PROGRAM

[Link]

[Link] other obj files

LINKER
PROGRAM

[Link]

OH
PROGRAM

[Link]
Fig. 1.7 Flow chart

Steps:
• Type your program in editor of software widely used editors are notepad.
• Save this file with
file name . asm } depending on assembler
or file name . src
notepad produce ASCII file.
16 Microcontroller and Embedded Systems

• “ASM” source file contains program code assembler converts the instruction
into machine code and produces “obj” file and “1st file” (object file and
link file).
→ Linker program takes one or more object files and produces an absolute
object file with extension “abs”.
→ “abs” file is used by 8051 trainer that have a monitor program.
→ “abs” file is fed into a program code called “OH” (object to Hex con-
verter).
Which create a file with extension “Hex” that is ready to burn into ROM
→ lst file contains all opcode and address as well as error that assembler
detected.

REVIEW QUESTIONS

1. Differentiate between microprocessor and microcontroller. Draw and explain


the block diagram of 8051. (RTU-EC-2010)
2. What do you mean by memory map? How the address range of ROM is
defined? Write the address range for following memory:
(a) 8KB ROM (b) 64 KB ROM
3. Differentiate between RAM and ROM. Draw the structure of RAM in 8051.
If we want to use the stack from location 30H to 7FH then what is the
procedure for it?
4. What do you mean by bit addressability and byte addressability? Explain
with the help of example. What is the procedure for eliminating the conflict
of register bank and stack?
5. Why is the coding done in assembly language instead of being written in
machine codes directly by programmer? What are different components in
instruction? (RTU-EC-2010)
6. What are the different ways of classifying the types of microcontroller and
list the alternate uses of each pin available in 8051 when used in expanded
mode? (RTU-EC-2010)
7. What are the pointers in 8051? Explain the use of each pointer. Explain the
stack feature in 8051. (RTU-EC-2010)
8. How the P0 and P2 are used for data bus and address bus and also used as
Input Output Port?
9. What is the difference of stack according to operation in 8051, 8085?
10. Differentiate PSW in 8051 and 8085 also write difference between carry
flag and OV flag.
11. Explain the use of SFR available in 8051 also write different types of SFR.
12. What are the registers available in 8051? What are the functions of 8051
registers?
13. What is a memory map? Why is it needed?

Common questions

Powered by AI

The 8051 microcontroller architecture is designed to meet the specific requirements of embedded systems by integrating key components like RAM, ROM, I/O ports, timers, and serial communication ports, all on a single chip, which simplifies system design and reduces power consumption . It operates on 8-bit data, suited for typical control tasks in embedded applications . Additionally, availability of on-chip development tools such as compilers and debuggers enhance its applicability in a cost-effective manner . The architecture supports efficient serial communication, essential for interfacing with other digital systems, and includes a flexible interrupt system to prioritize tasks effectively .

The benefits of using an 8051 microcontroller include its comprehensive integration of functionalities like RAM, ROM, I/O ports, and timers on a single chip, facilitating efficient and compact system design for embedded applications . It achieves satisfactory performance for small to medium applications with lower power consumption and cost . However, a significant limitation is its limited memory capacity, capped at 64 KB for program storage, which constrains its use in memory-intensive large applications . Furthermore, its 8-bit architecture may limit processing speed for high-performance tasks .

Memory mapping in the 8051 microcontroller is crucial for efficient data management, as it defines the precise address ranges that correspond to both user-accessible RAM and special function registers . The user memory space, ranging from 00H to 7FH, allows for user-defined data storage and manipulation, whereas the special function register space, 80H to FFH, is dedicated to specific control and status registers . The memory mapping enables clear organization and segmentation of operations, facilitating quick data access, manipulation, and systematic control of peripheral and processing functions .

Register banks and stack operations in the 8051 microcontroller directly affect task processing speed and efficiency. The microcontroller provides four register banks, each containing eight 8-bit registers, enhancing flexible data handling and intermediate storage during computation . The stack, used for temporary data storage and managed via the Stack Pointer, directly impacts function call efficiency and interrupt handling . However, since both register banks and stack share the limited internal RAM, there is a risk of conflicts and memory overuse, which can lead to errors if not carefully managed . Proper management and strategic use of the register banks and stack minimizes processing bottlenecks and optimizes performance in embedded applications. .

The primary distinction between a microcontroller and a microprocessor is that a microcontroller is a "system on chip" with integrated ROM, RAM, I/O ports, timers, and serial communication ports, minimizing the need for additional interfacing circuitry . This integration makes microcontrollers suitable for dedicated applications such as engine controllers in automobiles and focus controllers in cameras, where compactness and high on-chip facility integration are necessary . In contrast, a microprocessor requires external components for these functionalities, making it more suited for large applications where high processing speed and extensive memory requirements are critical .

The 8051 microcontroller handles serial communication through two dedicated pins, TXD and RXD, backed by the SBUF register for holding transmitted or received data . Its serial communication is controlled by the SCON register, allowing configuration in various modes . The microcontroller supports four operational modes for serial communication: (1) Standard asynchronous communication, (2) Multiprocessor communication, (3) 9-bit UART, and (4) Synchronous communication. These modes offer flexibility in data format and communication protocols, adapting to different interfacing requirements .

Interrupt handling in the 8051 microcontroller significantly improves its functionality by allowing the system to respond swiftly to external or internal events that require immediate attention, suspending the current executing program and servicing the interrupt . This mechanism is pivotal for real-time processing, enabling priority-based task management without excessive polling . Additionally, the flexibility to mask or disable interrupts ensures that critical tasks are uninterrupted, enhancing the reliability and predictability of embedded systems using the 8051 .

Special function registers (SFRs) in the 8051 microcontroller are used to control and facilitate various operations within the system. These registers, located at addresses from 80H to FFH, include the PCON for power control, TMOD for timer mode control, and SBUF for serial communication, among others . The SFRs are crucial for configuring the behavior of the microcontroller’s various functional blocks, such as timers, serial ports, and interrupts, allowing for flexible adjustments of their parameters to suit specific application needs .

Design considerations when selecting a microcontroller for embedded systems include operation speed, power consumption, on-chip memory sizes (RAM and ROM), number of I/O pins, timers, cost, and the availability of software development tools . The 8051 microcontroller caters well to systems requiring moderate processing speed and lower power consumption, offering integrated RAM, ROM, multiple I/O ports, and timers . Additionally, its extensive support for compilers, assemblers, and debugging tools aids in rapid application development, though the limited program memory (64 KB) may necessitate alternatives for more complex tasks . These features reflect the balance between cost-efficiency and necessary functionality typically sought in embedded system design .

The 8051 microcontroller includes four I/O ports (P0, P1, P2, P3), each 8 bits wide and capable of being used for both input and output operations. Port 0 serves dual roles, functioning as both a general-purpose I/O port and a low-order address/data bus when external memory is interfaced . Port 2 can similarly act as I/O and as the higher order address bus. Port 3 supports special functions for system control and debugging, such as serial communication, interrupts, and external memory control . By configuring these ports effectively, the microcontroller can handle input and output tasks essential for interfacing with various peripheral devices.

You might also like