microprocessor and microcontrroller module 1 - calicut university
TRANSCRIPT
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 1/32
8051 Microcontroller
Features
Single supply +5 V operation4 KB program memory on chip
128 bytes RAM on chip
Four register banks64 KB each program and external RAMaddressability
one µs instruction cycle32 bidirectional I/O lines (Ports 0 to 3)
Two 16 bit timers
Hardware multiply/divide in 4 µs.
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 2/32
8051 Microcontroller
8051
Port 0
Port 1
Port 2
Vss Vcc RST
XTAL1XTAL2EA/VDD
PSENALERxDTxDINT0INT1
T0 T1 WR RD
Port 3
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 3/32
Pin Details of 8051
I/O Ports- Four 8 bit ports P0-P3. Upon reset
all are configured as O/P ports. To use asI/P should be reprogrammed.
XTAL1,XTAL2- Has an on chip oscillator.Requires an external clock to run it.
RST-Reset pin. A HIGH will terminate all µCactivities.
EA/VDD- 8051 has on chip ROM/EPROM.This must be connected to Vcc. When no onchip ROM is present this is grounded.(External Access)
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 4/32
Pin Details of 8051
PSEN-Program store enable. When
external ROM holds the program this isconnected to OE pin of the ROM.
ALE- When external memory is used with
µC, Port 0 provides both address anddata. ALE is used to demultiplex addressand data.
RxD,TxD- Receive and transmit data.INT0,INT1- external interrupt pins.
T0,T1- Used with Timers 0 and 1.
WR,RD-used with external memories.
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 5/32
Internal Architecture of 8051
Bank 0
Bank 1
Bank 2
Bank 3
Bit/Byte
Address
ALU PSW
A B
PC DPTR
SFR’s
& RAM
ROM
Timing&ControlLogic
Latch Port 0-3
SP
IE
IP
PCON
SBUF
SCON
TCON
TMOD
TL0
TH0
TL1
TH1
Port 0 I/O, AD0-AD7
Port 1 I/O
Port 2 I/O, A8-A15
Port 3 I/O,Int,Counter,Serial
data,RD,WR
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 6/32
Internal Architecture of 8051
CPU- This consists of 8 bit ALU and
associated registers A,B,PSW,PC,DPTR.Accumulator(A)-8 bit. Holds source operandand receives result in arithmetic operation.
Source/Destination for logic operations.B Reg-Used in Mul/Div operations. Can also
be used as general purpose register.
SP- 8 bit register used for stackDPTR-used as base register in indirect
jumps and external data transfer
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 7/32
Internal Architecture of 8051
PSW-CY-Carry Flag
AC-Auxiliary carry
F0-User defined FlagRS1,RS2-select register bank
OV- Overflow Flag
P-Parity Flag
CY AC F0 RS1 RS2 OV - P
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 8/32
Internal Architecture of 8051
RAM-Consists of 4 register banks and 144general purpose bits. Organized into 3areas.
32 bytes from 00H to 1FH makeup 32
working registers organized as 4 banks of8 regs.(R0-R7 in each bank.).
A bit addressable area of 16 bytes
occupies area from 20H to 2FH.
A general purpose RAM from 30H to 7FHaddressable as bytes.
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 9/32
Special Function Register
A-Accumulator
B-Arithmetic /General Purpose
DPTR-Addressing external memory
IE-Interrupt Enable Controller
IP-Interrupt Priority
P0-P3-I/O Port Latches
PSW-Program Status WordSCON-Serial Port Control
SBUF-Serial Port Data Buffer
SP-Stack Pointer
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 10/32
Special Function Register
TMOD-Timer/Counter Mod control
TCON-Timer/Counter Control
TL0/TL1-Timer 0/1 Low byteTH0/TH1-Timer 0/1 High byte
Internal ROM-4K ROM Address space is
0000H to 0FFFH
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 11/32
Addressing Modes of 8051
Register Addressing-Can access 8 working
registers. R0-R7.MOV A, R3
ADD A, R4
Direct Byte Addressing- Can access anylocation on chip RAM and special functionregister.
MOV A,50HADD A, 51H
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 12/32
Addressing Modes of 8051
Register Indirect Addressing-R0 and R1 of
each register bank can be used asindex/pointer reg.
MOV A, @R0
MOV A, @R1Immediate Addressing-Data specified alongwith instruction.
MOV A, #52Register Specific-Refer to specific registersuch as A or DPTR.
SWAP A
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 13/32
Addressing Modes of 8051
Indexed- Only program memory can be
accessed in indexed addressing. EitherDPTR or PC can be used as an indexregister
MOVC A, @ A+DPTR
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 14/32
Instruction Set
Instructions can be divided into followinggroups
Data Transfer
Arithmetic operationsLogical Operations
Boolean variable manipulation
Program and machine ControlData transfer using DPTR and PC
Data bit transfer instructions
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 15/32
Data transfer Instructions
MOV A,Rn
MOV A,0F0H
MOV A,@R1
MOV A,#52HMOV Rn, A
MOV Rn,F5H
MOV Rn, #55HMOV Direct, A
MOV 48H,A
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 16/32
Data transfer Instructions
MOV Direct, Rn
MOV A0H, R3
MOV Direct,Direct
MOV 50H,40HMOV Direct, @R0
MOV Direct, #Data
MOV @Ri, AMOV @Ri, Direct
MOV @Ri, #data
MOV DPTR, Data16
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 17/32
Data transfer Instructions
MOVX A, @DPTR-refers to external
memory
MOVX @DPTR,A
MOVX @Ri,A
MOVX A, @Ri
MOVX A, @A+DPTR
MOVC A, @A+PC-refers to code memoryPUSH Direct
POP Direct
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 18/32
Data transfer Instructions
XCH A,Rn
XCH A, Direct
XCH A, @Ri
XCHD A, @Ri- exchanges lower ordernibble
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 19/32
Arithmetic Instructions
ADD A, Rn (A)+(Rn) A
ADD A, Direct
ADD A, @Ri
ADD A, #data8ADDC A, Rn
ADDC A, Direct (A)+(Direct)+CY A
ADDC A, @RiADDC A, #data8
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 20/32
Arithmetic Instructions SUBB A, Rn A - (Rn+CY) A
SUBB A, Direct
SUBB A, @Ri
SUBB A, #data8INC A (A) + 1 A
INC Rn
INC DirectINC @Ri
INC DPTR
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 21/32
Arithmetic Instructions
DEC ADEC Rn
DEC Direct
DEC @ RiMUL AB (A)*(B) B(MSB)A(LSB)
DIV AB A/B A(Quotient) B
(Remainder)
DAA Must be used after ADD / ADC
L i l I t ti
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 22/32
Logical Instruction
ANL A, Rn
ANL A, DirectANL A, @Ri
ANL A, #Data 8
ANL Direct, A
ANL Direct, #Data8
ORL A, Rn
ORL A, Direct
ORL A, @Ri
L i l I t ti
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 23/32
Logical Instruction
ORL A, #Data 8
XRL Direct, AXRL Direct,#Data8
CRL A (Clears Accumulator)
CPL A (Compliments Contents of A)RL A (Rotate left acc without CY)
RLC A (Rotate left acc once thro’ Carry)
RR A (Rotate right ACC without CY)
RRC A (Rotate right ACC thro CY)
SWAP A (Swaps nibbles of Acc)
Bit Manipulation Instruction
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 24/32
Bit Manipulation Instruction
ANL C, 40H (C) AND (40H) (C)
ANL C, /Bit
ANL C, /50 H (C) AND (50 H) (C)
ORL C, bit
ORL C, /bitCLR C
CLR bit
CLR 42H Before [42H]=1 After [42 H]=0
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 25/32
Bit Manipulation Instruction
SETB C
SETB bit
MOV C, Bit
MOV C, 44H (44H) (CY)MOV Bit, C
CPL C (Compliment Carry)
CPL bit
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 26/32
Branching Instruction
AJMP AddrAbsolute jump. PC jumps to locationlabelled addr within 2K
LJMP Addr (jump within 64K)SJMP Reladdr8 (jump to +127/-128 bytesfrom present position)
JMP @A+DPTR ((DPTR)+(A)) PCJZ reladdr8 (jump if A=0)
JNZ reladdr8
B hi I t ti
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 27/32
Branching Instruction
JC reladdr8
JNC reladdr8JB bit addr, reladdr8
JB 40 H, reladdr 8 if (40H)=1 then branch
JNB bit addr, reladdr8JBC bit addr, reladdr8 (jump if bit =1 andclear the bit in addr)
DJNZ Rn, reladdr (Decrement Rn by 1 and jump if not zero)
DJNZ Direct, reladdr8 (Decrement
contents of addr by 1 and jump if non zero
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 28/32
Branching Instruction
CJNE A, direct byte, reladdr8
Compares 2 byte operands and executesa jump if they disagree
ACALL Addr (Unconditional CALL to
within 2K locations)LCALL Addr (Unconditional CALL towithin 64K locations)
RET
RETI (used in ISS)
NOP
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 29/32
Sample Program
Program to initialise the registersMOV R0, #9A
MOV B, #1F
MOV DPTR, #4500MOV A, #20
XCH A, R0
L1: SJMP L1
S l P
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 30/32
Sample Program
16 Bit addition Data1:1234 Data2 :5678
Result in 4150 and 4151
CLR C ADDC A,#56
MOV A, #34 MOVX @DPTR, A
ADDC A, #78 L1: SJMP L1
MOV DPTR, #4150
MOVX @DPTR, AINC DPTR
MOV A, #12
S l P
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 31/32
Sample Program 8 bit multiplication Multiply contents of regA & B and store the result at 4500 & 4501
MOV A,#OA
MOV B, #88
MUL ABMOV DPTR, #4500
MOVX @DPTR, A
INC DPTRMOV A,B
MOVX @DPTR, A
L1: SJMP L1
Sample Program
8/3/2019 Microprocessor and Microcontrroller Module 1 - Calicut University
http://slidepdf.com/reader/full/microprocessor-and-microcontrroller-module-1-calicut-university 32/32
Sample Program
8 bit division
MOV A, #65MOV B, #08
DIV AB
MOV DPTR, #4500MOVX @DPTR, A
INC DPTR
MOV A,B
MOVX @DPTR, A
L1:SJMP L1