Description
1. Oscillator and clock generator:
All operations in a microcontroller are synchronized by the help of
an oscillator clock. The oscillator clock generates the clock pulses by
which all internal operations are synchronized. A resonant network
connected through pins XTAL1 and XTAL2 forms up an oscillator. For this
purpose a quartz crystal and capacitors are employed. The crystal run at
specified maximum and minimum frequencies typically at 1 MHz to 16 MHz.
2. ALU:
It is 8 bit unit. It performs arithmetic operation as addition,
subtraction, multiplication, division, increment and decrement. It
performs logical operations like AND, OR and EX-OR. It manipulates 8 bit
and 16 bit data. It calculates address of jump locations in relative
branch instruction. It performs compare, rotate and compliment
operations. It consists of Boolean processor which performs bit, set,
test, clear and compliment. 8051 micro controller contains 34 general
purpose registers or working registers.2 of them are called math
registers A & B and 32 are bank of registers.
a. Accumulator(A-reg):
It is 8 bit register. Its address is E0H and it is bit and byte
accessible. Result of arithmetic & logic operations performed by ALU
is accumulated by this register. Therefore it is called accumulator
register. It is used to store 8 bit data and to hold one of operand of
ALU units during arithmetical and logical operations. Most of the
instructions are carried out on accumulator data. It is most versatile
of 2 CPU registers.
b. B-register:
It is special 8 bit math register. It is bit and byte accessible. It
is used in conjunction with A register as I/P operand for ALU. It is
used as general purpose register to store 8 bit data.
c. PSW:
It is 8 bit register. Its address is D0H and It is bit and byte
accessible. It has 4 conditional flags or math flags which sets or
resets according to condition of result. It has 3 control flags, by
setting or resetting bit required operation or function can be achieved.
The format of flag register is as shown below:
i. MATH FLAG:
1. Carry Flag(CY):
During addition and subtraction any carry or borrow is generated
then carry flag is set otherwise carry flag resets. It is used in
arithmetic, logical, jump, rotate and Boolean operations.
2. Auxiliary carry flag(AC):
If during addition and subtraction any carry or borrow is generated
from lower 4 bit to higher 4 bit then AC sets else it resets. It is used
in BCD arithmetic operations.
3. Overflow flag(OV):
If in signed arithmetic operations result exceeds more than 7 bit than OV flag sets else resets.It is used in signed arithmetic operations only.
4. Parity flag(P):
If in result, even no. Of ones “1” are present than it is called
even parity and parity flag sets. In result odd no. Of ones “1”are
present than it is called odd parity and parity flag resets.
ii. CONTROL FLAGS:
1. FO:
It is user defined flag. The user defines the function of this flag. The user can set ,test n clear this flag through software.
2. RS1 and RS0:
These flags are used to select bank of register by resetting those flags which are as shown in table :
3.Program counter(PC):
The Program Counter (PC) is a 2-byte address which tells the 8051
where the next instruction to execute is found in memory. It is used to
hold 16 bit address of internal RAM, external RAM or external ROM
locations. When the 8051 is initialized PC always starts at 0000h and is
incremented each time an instruction is executed. It is important to
note that PC isnt always incremented by one and never decremented.
4. Data pointer register(DTPR):
It is a 16 bit register used to hold address of external or internal
RAM where data is stored or result is to be stored. It is used to store
16 bit data. It is divided into2- 8bit registers, DPH-data pointer
higher order (83H) and DPL-data pointer lower order (82H). Each register
can be used as general purpose register to store 8 bit data and can
also be used as memory location. DPTR does not have single internal
address. It functions as Base register in base relative addressing mode
and in-direct jump.
5. Stack pointer(SP):
It is 8-bit register. It is byte addressable. Its address is 81H. It
is used to hold the internal RAM memory location addresses which are
used as stack memory. When the data is to be placed on stack by push
instruction, the content of stack pointer is incremented by 1, and when
data is retrieved from stack, content of stack of stack pointer is
decremented by 1.
iii. Special function Registers(SFR): The 8051 microcontroller has 11 SFR divided in 4 groups:
A. Timer/Counter register: 8051 microcontroller has 2-16 bit
Timer/counter registers called Timer-reg-T0 And Timer/counter
Reg-T1.Each register is 16 bit register divide into lower and higher
byte register as shown below: These register are used to hold initial
no. of count. All of the 4 register are byte addressable.
1. Timer control register:
8051 microcontroller has two 8-bit timer control register i.e. TMOD
and TCON register. TMOD Register: it is 8-bit register. Its address is
89H. It is byte addressable. It used to select mode and control
operation of time by writing control word.
2. TCON register:
It is 8-bit register. Its address is 88H. It is byte addressable.
Its MSB 4-bit are used to control operation of timer/ counter and LSB
4-bit are used for external interrupt control.
B. Serial data register: 8051 micro controller has 2 serial data register viz. SBUF and SCON.
1. Serial buffer register (SBUF):
it is 8-bit register. It is byte addressable .Its address is 99H. It is used to hold data which is to be transferred serially.
2. Serial control register (SCON):
it is 8-bit register. It is bit/byte addressable. Its address is
98H. The 8-bit loaded into this register controls the operation of
serial communication.
C. Interrupt register: 8051 µC has 2 8-bit interrupt register.
1. Interrupt enable register (IE):
it is 8-bit register. It is bit/byte addressable. Its address is A8H.it is used to enable and disable function of interrupt.
2. Interrupt priority register (IP):
It is 8-bit register. It is bit/byte addressable. Its address is
B8H. it is used to select low or high level priority of each individual
interrupts.
D. Power control register (PCON): it is 8-bit register. It is
byte addressable .Its address is 87H. its bits are used to control mode
of power saving circuit, either idle or power down mode and also one bit
is used to modify baud rate of serial communication.
Internal RAM
Internal RAM has memory 128-byte. See 8051 hardware for further
internal RAM design. Internal RAM is organized into three distinct
areas: 32 bytes working registers from address 00h to 1Fh 16 bytes bit
addressable occupies RAM byte address 20h to 2Fh, altogether 128
addressable bits General purpose RAM from 30h to 7Fh.
Internal ROM
Data memory and program code memory both are in different physical
memory but both have the same addresses. An internal ROM occupied
addresses from 0000h to 0FFFh. PC addresses program codes from 0000h to
0FFFh. Program addresses higher than 0FFFh that exceed the internal ROM
capacity will cause 8051 architecture to fetch codes bytes from external
program memory.
No comments:
Post a Comment