EE3404 MPMC 01 - by WWW - Learnengineering.in
EE3404 MPMC 01 - by WWW - Learnengineering.in
com
www.LearnEngineering.in
Definition of a Microprocessor.
The microprocessor is a
programmable device that takes in numbers,
performs on them arithmetic or logical
operations according to the program stored in
memory and then produces other numbers as
a result.
www.LearnEngineering.in
4
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Microprocessor ?
A microprocessor is multi
programmable clock driven
register based semiconductor
device that is used to fetch ,
process & execute a data
within fraction of seconds.
www.LearnEngineering.in
5
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Applications
• Calculators
• Accounting system
• Games machine
• Instrumentation
• Traffic light Control
• Multi user, multi-function environments
• Military applications
• Communication systems
www.LearnEngineering.in
6
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
MICROPROCESSOR HISTORY
www.LearnEngineering.in
7
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Socket
Pinless
Processor
Processor Slot
Processor
ProcessorSl
ot
www.LearnEngineering.in
8
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Development of Intel Microprocessors
www.LearnEngineering.in
• 8086 - 1979
• 286 - 1982
• 386 - 1985
• 486 - 1989
• Pentium - 1993
• Pentium Pro - 1995
• Pentium MMX -1997
• Pentium II - 1997
• Pentium II Celeron - 1998
• Pentium II Zeon - 1998
• Pentium III - 1999
• Pentium III Zeon - 1999
• Pentium IV - 2000
• Pentium IV Zeon - 2001
www.LearnEngineering.in
9
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
GENERATION OF PROCESSORS
Processor Bits Speed
8080 8 2 MHz
8086 16 4.5 – 10
MHz
8088 16 4.5 – 10
MHz
80286 16 10 – 20
MHz
80386 32 20 – 40
MHz
80486 32 40 – 133
MHz
www.LearnEngineering.in
10
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
GENERATION
www.LearnEngineering.in
OF PROCESSORS
Pentium 32 60 – 233
MHz
Pentium 32 150 – 200
Pro MHz
Pentium II, 32 233 – 450
Celeron , MHz
Xeon
Pentium 32 450 MHz –
III, Celeron 1.4 GHz
, Xeon
Pentium IV, 32 1.3 GHz –
Celeron , 3.8 GHz
Xeon
Itanium 64 800 MHz –
3.0 GHz
www.LearnEngineering.in
11
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Intel 4004
Introduced in 1971.
www.LearnEngineering.in
12
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Intel 4040
Introduced in 1971.
It was also 4-bit µP.
www.LearnEngineering.in
13
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8-bit Microprocessors
www.LearnEngineering.in
14
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Intel 8008
Introduced in 1972.
It was first 8-bit µP.
Its clock speed was
500 KHz.
Could execute
50,000 instructions
per second.
www.LearnEngineering.in
15
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Intel 8080
Introduced in 1974.
It was also 8-bit µP.
Its clock speed was
2 MHz.
It had 6,000
transistors.
www.LearnEngineering.in
16
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Introduced in 1976.
Intel 8085
It was also 8-bit µP.
Its clock speed was 3 MHz.
Its data bus is 8-bit and
address bus is 16-bit.
It had 6,500 transistors.
Could execute 7,69,230
instructions per second.
It could access 64 KB of
memory.
It had 246 instructions.
www.LearnEngineering.in
17
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
16-bit Microprocessors
www.LearnEngineering.in
18
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Introduced in 1978.
www.LearnEngineering.in
INTEL 8088
Introduced in 1979.
It was created as a
cheaper version of
Intel’s 8086.
www.LearnEngineering.in
21
www.LearnEngineering.in
INTEL 80286
Introduced in 1982.
It was 16-bit µP.
Its clock speed was 8
MHz.
Its data bus is 16-bit
and address bus is 24-
bit.
It could address 16 MB
of memory.
It had 1,34,000 22
transistors.
www.LearnEngineering.in
32-BIT MICROPROCESSORS
23
www.LearnEngineering.in
Introduced in 1989.
INTEL 80486
It was also 32-bit µP.
It had 1.2 million
transistors.
Its clock speed varied
from 16 MHz to 100
MHz depending upon
the various versions.
8 KB of cache memory
was introduced.
25
www.LearnEngineering.in
Introduced in 1993.
INTEL PENTIUM
It was also 32-bit µP.
26
www.LearnEngineering.in
8 KB for data.
27
www.LearnEngineering.in
INTEL PENTIUM II
Introduced in 1997.
It was also 32-bit µP.
Its clock speed was 233
MHz to 500 MHz.
Could execute 333
million instructions per
second.
28
www.LearnEngineering.in
29
www.LearnEngineering.in
30
www.LearnEngineering.in
INTEL PENTIUM IV
Introduced in 2000.
It had 42 million
transistors.
31
www.LearnEngineering.in
Introduced in 2006.
INTEL DUAL CORE
It is 32-bit or 64-bit µP.
32
www.LearnEngineering.in
33
www.LearnEngineering.in
64-BIT MICROPROCESSORS
34
www.LearnEngineering.in
Intel Core 2
www.LearnEngineering.in
Intel Core i3
35
www.LearnEngineering.in
36
www.LearnEngineering.in
Basic Terms
• Bit: A digit of the binary number { 0 or 1 }
• Nibble: 4 bit Byte: 8 bit word: 16 bit
• Double word: 32 bit
• Data: binary number/code operated by an
instruction
• Address: Identification number for memory
locations
• Clock: square wave used to synchronize various
devices in µP
• Memory Capacity = 2^n ,
n->no. of address lines
www.LearnEngineering.in
37
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
BUS CONCEPT
• BUS: Group of conducting lines that carries data ,
address & control signals.
CLASSIFICATION OF BUSES:
1.DATA BUS: group of conducting lines that carries
data.
2. ADDRESS BUS: group of conducting lines that
carries address.
3.CONTROL BUS: group of conducting lines that
carries control signals {RD, WR etc}
CPU BUS: group of conducting lines that directly
connected to µP
SYSTEM BUS: group of conducting lines that carries
data , address & control signals in a µP system
www.LearnEngineering.in
38
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
TRISTATE LOGIC
3 logic levels are:
• High State (logic 1)
• Low state (logic 0)
• High Impedance state
High Impedance: output is not being driven to any defined logic level
by the output circuit.
www.LearnEngineering.in
39
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
UNIT
1
8085 PROCESSOR
www.LearnEngineering.in
41
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
UNIT 1 Syllabus
• Hardware Architecture, pinouts
• Functional Building Blocks of Processor
• Memory organization
• I/O ports and data transfer concepts
• Timing Diagram
• Interrupts.
www.LearnEngineering.in
42
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8085
PIN DIAGRAM &
ARCHITECTURE
www.LearnEngineering.in
43
Get useful study materials from www.rejinpaul.com
PIN CONFIGURATION
www.LearnEngineering.in
www.rejinpaul.com
www.LearnEngineering.in
44
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
X1 & X2
www.LearnEngineering.in
To generate clock
signals internally, 8085
requires external inputs
from X1 and X2.
www.LearnEngineering.in
45
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 46
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
47
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
◦ It is an output signal.
Interrupt Pins
Interrupt:
www.LearnEngineering.in
51
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Sequence of Steps Whenever There is
www.LearnEngineering.in
an Interrupt
Microprocessor completes execution of current
instruction of the program.
RST 7.5
RST 6.5
RST 5.5
INTR
www.LearnEngineering.in
53
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Classification of Interrupts
Maskable and Non-Maskable
www.LearnEngineering.in
54
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Maskable Interrupts
Maskable interrupts are those interrupts
which can be enabled or disabled.
www.LearnEngineering.in
55
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Maskable Interrupts
List of Maskable Interrupts:
• RST 7.5
• RST 6.5
• RST 5.5
• INTR
www.LearnEngineering.in
56
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Non-Maskable Interrupts
The interrupts which are always in
enabled mode are called non-maskable
interrupts.
www.LearnEngineering.in
57
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Vectored Interrupts
The interrupts which have fixed memory
location for transfer of control from
normal execution.
www.LearnEngineering.in
58
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Vectored Interrupts
List of vectored interrupts:
• RST 7.5
• RST 6.5
• RST 5.5
• TRAP
www.LearnEngineering.in
59
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Vectored Interrupts
The addresses to which program control
goes:
Name Vectored Address
RST 7.5 003C H (7.5 x 0008 H)
RST 6.5 0034 H (6.5 x 0008 H)
RST 5.5 002C H (5.5 x 0008 H)
TRAP 0024 H (4.5 x 0008 H)
Non-Vectored Interrupts
The interrupts which don't have fixed
memory location for transfer of control
from normal execution.
www.LearnEngineering.in
61
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
62
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
RST 6.5
RST 5.5
INTR
www.LearnEngineering.in
64
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Interrupt Priority
TRAP 1
RST 7.5 2
RST 6.5 3
RST 5.5 4
INTR 5
www.LearnEngineering.in
65
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
TRAP
www.LearnEngineering.in
Pin 6 (Input)
It is an non-maskable interrupt.
It has the highest priority.
It cannot be disabled.
It is both edge and level
triggered.
It means TRAP signal must go
from low to high.
And must remain high for a
certain period of time.
TRAP is usually used for power
failure and emergency shutoff.
www.LearnEngineering.in
66
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
RST 7.5
www.LearnEngineering.in
Pin 7 (Input)
It is a maskable interrupt.
It has the second highest
priority.
It is positive edge triggered
only.
The internal flip-flop is
triggered by the rising
edge.
The flip-flop remains high
until it is cleared by RESET
IN.
www.LearnEngineering.in
67
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
RST 6.5
www.LearnEngineering.in
Pin 8 (Input)
It is a maskable interrupt.
It has the third highest
priority.
It is level triggered only.
The pin has to be held high
for a specific period of
time.
RST 6.5 can be enabled by
EI instruction.
It can be disabled by DI
instruction.
www.LearnEngineering.in
68
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
RST 5.5
www.LearnEngineering.in
Pin 9 (Input)
It is a maskable
interrupt.
It has the fourth highest
priority.
It is also level triggered.
The pin has to be held
high for a specific period
of time.
This interrupt is very
similar to RST 6.5.
www.LearnEngineering.in
69
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
INTR
www.LearnEngineering.in
Pin 10 (Input)
It is a maskable interrupt.
It has the lowest priority.
It is also level triggered.
It is a general purpose
interrupt.
By general purpose we
mean that it can be used to
vector microprocessor to
any specific subroutine
having any address.
www.LearnEngineering.in
70
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
INTA
www.LearnEngineering.in
Pin 11 (Output)
It stands for interrupt
acknowledge.
It is an out going signal.
It is an active low signal.
Low output on this pin
indicates that
microprocessor has
acknowledged the INTR
request.
www.LearnEngineering.in
71
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
72
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
73
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
AD0 – AD7
www.LearnEngineering.in
www.LearnEngineering.in
74
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
A8 – A15
www.LearnEngineering.in
ALE
www.LearnEngineering.in
Pin 30 (Output)
It is used to enable Address
Latch.
If ALE = 1 then
◦ Bus functions as address bus.
If ALE = 0 then
◦ Bus functions as data bus.
www.LearnEngineering.in
76
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
S0 and S1
www.LearnEngineering.in
S0 S1 Operation
0 0 Halt
0 1 Write
1 0 Read
1 1 Opcode Fetch
www.LearnEngineering.in
77
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
IO/M
www.LearnEngineering.in
Pin 34 (Output)
This pin tells whether I/O
or memory operation is
being performed.
If IO/M = 1 then
◦ I/O operation is being
performed.
If IO/M = 0 then
◦ Memory operation is being
performed.
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 78
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
IO/M
www.LearnEngineering.in
Pin 34 (Output)
The operation being performed is indicated by
S0 and S1.
If S0 = 0 and S1 = 1 then
◦ It indicates WRITE operation.
If IO/M = 0 then
◦ It indicates Memory operation.
Corresponding Operations
Operations IO/M S0 S1
Opcode Fetch 0 1 1
Memory Read 0 1 0
Memory Write 0 0 1
I/O Read 1 1 0
I/O Write 1 0 1
Interrupt Ack. 1 1 1
Halt High Impedance 0 0
www.LearnEngineering.in
80
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
RD
www.LearnEngineering.in
Pin 32 (Output)
RD stands for Read.
WR
www.LearnEngineering.in
Pin 31 (Output)
WR stands for Write.
READY
www.LearnEngineering.in
Pin 35 (Input)
This pin is used to
synchronize slower
peripheral devices with
fast microprocessor.
A low value causes the
microprocessor to
enter into wait state.
The microprocessor
remains in wait state
until the input at this pin
goes high.
www.LearnEngineering.in
83
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
HOLD
www.LearnEngineering.in
Pin 38 (Input)
HOLD pin is used to request
the microprocessor for DMA
transfer.
A high signal on this pin is a
request to microprocessor
to relinquish the hold on
buses.
This request is sent by DMA
controller.
Intel 8257 and Intel 8237 are
two DMA controllers.
www.LearnEngineering.in
84
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
HLDA
www.LearnEngineering.in
Pin 39 (Output)
HLDA stands for Hold
Acknowledge.
The microprocessor uses
this pin to acknowledge the
receipt of HOLD signal.
When HLDA signal goes high,
address bus, data bus, RD,
WR, IO/M pins are tri-
stated.
This means they are cut-off
from external environment.
www.LearnEngineering.in
85
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
HLDA
www.LearnEngineering.in
Pin 39 (Output)
The control of these
buses goes to DMA
Controller.
Control remains at
DMA Controller until
HOLD is held high.
When HOLD goes low,
HLDA also goes low
and the microprocessor
takes control of the
buses.
www.LearnEngineering.in
86
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
87
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
90
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Flag Register
The flags are affected by the arithmetic and logical
instruction
D7 D6 D5 D4 D3 D2 D1 D0
S Z AC P CY
www.LearnEngineering.in
91
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Accumulator
It is an 8 bit register
For any arithmetic and logical instruction one of the data
should be in this register
It is used for storing the result of any arithmetic and
logical manipulations.
It is also called as A register
All the data which are sent to I/O devices are sent via
A register.
www.LearnEngineering.in
92
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Temporary register
It is used to hold the data during the
operation of arithmetic and logical operation
www.LearnEngineering.in
93
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Sign Flag
If the D7 bit of the accumulator is set then
this flag is set i.e 1 meaning that the result is
in negative.
Ex. 7-8 = -1
www.LearnEngineering.in
94
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Carry flag
During the arithmetic operation if a carry occurs then this
flag is set.
Ex. F1+1F= 1 10
Carry
www.LearnEngineering.in
95
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Zero flag
www.LearnEngineering.in
96
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Parity flag
After the of the arithmetic and logical
operation if the result is even then this flag is
set.
Ex. 0A-02 = 08
www.LearnEngineering.in
97
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
0001 0001
= 0010 0000
www.LearnEngineering.in
98
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
99
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
100
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Register array
www.LearnEngineering.in
101
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Opcode fetch 0 1 1
Memory read 0 1 0
Memory write 0 0 1
I/O read 1 1 0
I/O write 1 0 1
www.LearnEngineering.in
102
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
It is an 8 bit register
It is used for performing addition,
subtraction and logical operation.
AND, OR, NOT, XOR, CMP are
some of the logical operation.
www.LearnEngineering.in
103
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Program Counter
Stack pointer
It is a 16 bit register
It points the starting address of the stack .
www.LearnEngineering.in
105
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Register Array
B, C, D, E, H and L are general purpose
register
All are 8 bit register
www.LearnEngineering.in
106
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Memory
organization
www.LearnEngineering.in
107
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
108
www.LearnEngineering.in
2 109
www.LearnEngineering.in
Address Address
Control Control
110
www.LearnEngineering.in
Data
74LS373 Memory
8085 AD0-AD7 A0 – A7
ALE
Chip
A8-A15 A8-A15
Control
Memory
111
Interface www.LearnEngineering.in
74LS373 Program
8085 AD0-AD7 A0 – A7
ALE
Memory
A8-A15 A8-A15
CS
IO/M
RD
RD
Memory
Interface
112
www.LearnEngineering.in
I/O I/O
Interface Devices
System Bus
8085
Memory Memory
Interface Devices
114
www.LearnEngineering.in
115
www.LearnEngineering.in
Memory-mapped I/O
8085 uses its 16-bit address bus to identify a
memory location
Memory address space: 0000H to FFFFH
8085 needs to identify I/O devices also
I/O devices can be interfaced using
addresses from memory space
8085 treats such an I/O device as a memory
location
This is called Memory-mapped I/O
116
www.LearnEngineering.in
Peripheral-mapped I/O
8085 has a separate 8-bit addressing scheme
for I/O devices
I/O address space: 00H to FFH
This is called Peripheral-mapped I/O or
I/O-mapped I/O
117
www.LearnEngineering.in
118
www.LearnEngineering.in
119
www.LearnEngineering.in
120
www.LearnEngineering.in
121
www.LearnEngineering.in
122
www.LearnEngineering.in
OUT Instruction
Outputs the contents of accumulator to an
output device
It is a 2-byte instruction
Format: OUT 8-bit port address
Example: OUT 02H
123
www.LearnEngineering.in
----------Example Program----------
WAP to read a number from input port (port
address 01H) and display it on ASCII display
connected to output port (port address 02H)
IN 01H ;reads data value 03H (example)into
;accumulator, A = 03H
MVI B, 30H;loads register B with 30H
ADD B ;A = 33H, ASCII code for 3
OUT 02H ;display 3 on ASCII display
124
www.LearnEngineering.in
----------Example Program----------
WAP to read a number from input port (port
address 8000H) and display it on ASCII
display connected to output port (port
address 8001H)
LDA 8000H;reads data value 03H (example)into
;accumulator, A = 03H
MVI B, 30H;loads register B with 30H
ADD B ;A = 33H, ASCII code for 3
STA 8001H;display 3 on ASCII display
126
www.LearnEngineering.in
Timing
Diagram of
8085
www.LearnEngineering.in
127
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Timing Diagram is a graphical representation. It
www.LearnEngineering.in
Instruction Cycle:
The time required to execute an instruction .
Machine Cycle:
The time required to access the memory or
input/output devices .
T-State:
•The machine cycle and instruction cycle takes
multiple clock periods.
•A portion of an operation carried out in one
system clock period is called as T-state.
www.LearnEngineering.in
128
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
129
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Timing diagrams
• The 8085 microprocessor has 7 basic machine
cycle. They are
1. Op-code Fetch cycle(4T or 6T).
2. Memory read cycle (3T)
3. Memory write cycle(3T)
4. I/O read cycle(3T)
5. I/O write cycle(3T)
6. Interrupt Acknowledge cycle(6T or 12T)
7. Bus idle cycle
www.LearnEngineering.in
130
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
131
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
1.Opcode fetch cycle(4T or 6T)
www.LearnEngineering.in
www.LearnEngineering.in
132
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
OPCODE FETCH
• The Opcode fetch cycle, fetches the instructions from memory
and delivers it to the instruction register of the microprocessor
• Opcode fetch machine cycle consists of 4 T-states.
T1 State:
During the T1 state, the contents of the program counter are
placed on the 16 bit address bus. The higher order 8 bits are
transferred to address bus (A8-A15) and lower order 8 bits are
transferred to multiplexed A/D (AD0-AD7) bus.
ALE (address latch enable) signal goes high. As soon as
ALE goes high, the memory latches the AD0-AD7 bus. At
the middle of the T state the ALE goes low
www.LearnEngineering.in
133
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
T2 State:
www.LearnEngineering.in
During the beginning of this state, the RD’ signal goes low
to enable memory. It is during this state, the selected memory
location is placed on D0-D7 of the Address/Data multiplexed
bus.
T3 State:
In the previous state the Opcode is placed in D0-D7 of the A/D
bus. In this state of the cycle, the Opcode of the A/D bus is
transferred to the instruction register of the microprocessor.
Now the RD’ goes high after this action and thus disables the
memory from A/D bus.
T4 State:
In this state the Opcode which was fetched from the memory
is decoded.
www.LearnEngineering.in
134
Get useful study materials from www.rejinpaul.com
2. Memory read cycle (3T)
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
135
Get useful study materials from www.rejinpaul.com
• These machine cycleswww.rejinpaul.com
have 3 T-states.
www.LearnEngineering.in
T1 state:
• The higher order address bus (A8-A15) and lower order address
and data multiplexed (AD0-AD7) bus. ALE goes high so that the
memory latches the (AD0-AD7) so that complete 16-bit address
are available.
The mp identifies the memory read machine cycle from the
status signals IO/M’=0, S1=1, S0=0. This condition indicates the
memory read cycle.
T2 state:
• Selected memory location is placed on the (D0-D7) of the A/D
multiplexed bus. RD’ goes LOW
T3 State:
• The data which was loaded on the previous state is transferred
to the microprocessor. In the middle of the T3 state RD’ goes
high and disables the memory read operation. The data which
www.LearnEngineering.in
136
was obtained from the memory Getis then decoded.
useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
137
Get useful study materials from www.rejinpaul.com
• These machine cycleswww.rejinpaul.com
have 3 T-states.
www.LearnEngineering.in
T1 state:
• The higher order address bus (A8-A15) and lower order address
and data multiplexed (AD0-AD7) bus. ALE goes high so that the
memory latches the (AD0-AD7) so that complete 16-bit address
are available.
The mp identifies the memory read machine cycle from the
status signals IO/M’=0, S1=0, S0=1. This condition indicates the
memory read cycle.
T2 state:
• Selected memory location is placed on the (D0-D7) of the A/D
multiplexed bus. WR’ goes LOW
T3 State:
• In the middle of the T3 state WR’ goes high and disables the
memory write operation. The data which was obtained from
the memory is then decoded.
www.LearnEngineering.in
138
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
139
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
5.I/O write cycle(3T)
www.LearnEngineering.in
140
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
STA instruction
ex: STA 526A
www.LearnEngineering.in
141
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
142
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
143
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
144
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
opcode fetch(4T)
memory read(3T)
I/O read(3T)
www.LearnEngineering.in
145
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
146
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
OUT
instruction
Machines Cycles(10T):
1.instruction fetch(4T)
2.memory read (3T)
3.IO write (3T)
www.LearnEngineering.in
147
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
148
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
149
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
150
Get useful study materials from www.rejinpaul.com
INR M www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
151
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
ADD M
www.LearnEngineering.in
www.LearnEngineering.in
152
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8085
Interrupts
153
www.LearnEngineering.in
8085 Interrupts
8085 has five interrupt inputs
1. TRAP
2. RST7.5
3. RST 6.5
4. RST5.5
5. INTR
154
www.LearnEngineering.in
1 40
2 X1 VCC 39
3 X2 HOLD 38
4 RST-OT HLDA 37
5 SOD CLKO 36
6 SID RST-IN 35
7 TRA P REA DY 34
8 RST 7.5 IO/M 33
9 RST 6.5 S1 32
10 RST 5.5 RD 31
11 INTR WR 30
12 INTA ALE 29
13 AD0 S0 28
14 AD1 A15 27
15 AD2 A14 26
16 AD3 A13 25
17 AD4 A12 24
18 AD5 A11 23
19 AD6 A10 22
20 AD7 A9 21
VSS A8
Interrupt
8085 pins of 8085 155
www.LearnEngineering.in
Types of Interrupts
• Interrupts of 8085 can be classified as
– Maskable (RST 7.5, RST 6.5, RST 5.5, INTR)
– Non-maskable (TRAP)
• An interrupt is a request for attention/service
• 8085 may choose to service/not-service a
maskable interrupt
• 8085 cannot ignore a service request from a
non-maskable interrupt
156
www.LearnEngineering.in
Interrupt process
• 8085 is executing its main program
• an interrupt is generated by an external
device
• 8085 pauses execution of main program
• 8085 calls the Interrupt service routine
• 8085 executes the Interrupt service routine
• 8085 returns to execution of main program
(from where it was paused)
157
www.LearnEngineering.in
8085
Input
LED
Switches
Display
(Display-Pattern)
158
www.LearnEngineering.in
159
www.LearnEngineering.in
160
www.LearnEngineering.in
161
www.LearnEngineering.in
162
www.LearnEngineering.in
SIM Instruction
• It is a 1-byte instruction
• Reads Accumulator contents
• Enables/Disables interrupts accordingly
• Used for three different functions
– Set mask for RST 7.5, 6.5, 5.5 interrupts
– Additional control for RST 7.5
– Implement serial I/O
163
www.LearnEngineering.in
0 = Available, 1 = Masked
If 1, bit 7 is output to
serial output data latch
Vectored-Interrupts
1. Enables Interrupt process by writing the EI
instruction in the main program
2. Set interrupt mask using SIM instruction
3. 8085 monitors the status of all interrupt
lines during the execution of each
instruction
165
www.LearnEngineering.in
Vectored-Interrupts (Cont.)
6. 8085 executes the ISR written at the
specified interrupt vector location
• ISR should include the EI instruction to
Enable Interrupt again
• At the end of ISR, RET instruction
transfers the program control back to the
main program
167
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
UNIT
www.rejinpaul.com
2
www.LearnEngineering.in
Presented by
C.GOKUL,AP/EEE
Velalar College of Engg & Tech , Erode
www.LearnEngineering.in
168
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
UNIT 2 Syllabus
• Instruction -format and addressing
modes
• Assembly language format – Data
transfer, data manipulation& control
instructions
• Programming: Loop structure with
counting & Indexing – Look up table -
Subroutine instructions - stack.
www.LearnEngineering.in
169
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Addressing
Modes of
8085
www.LearnEngineering.in
170
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
172
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
1. Register Addressing
• Operands are one of the internal registers of
8085
• Examples-
MOV A, B
ADD C
www.LearnEngineering.in
173
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
2. Immediate Addressing
• Value of the operand is given in the
instruction itself
• Example-
MVI A, 20H
LXI H, 2050H
ADI 30H
SUI 10H
www.LearnEngineering.in
174
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
3. Memory Addressing
• One of the operands is a memory location
• Depending on how address of memory
location is specified, memory addressing is of
two types
– Direct addressing
– Indirect addressing
www.LearnEngineering.in
175
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
176
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
H L
A 30H 20H 50H 2050H 30H
www.LearnEngineering.in
177
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
4. Input/Output Addressing
• 8-bit address of the port is directly specified in
the instruction
• Examples-
IN 07H
OUT 21H
www.LearnEngineering.in
178
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Instruction
set
www.LearnEngineering.in
179
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Instruction set
An instruction is a binary pattern designed
inside a microprocessor to perform a specific
function.
A group of instruction together called as
instruction set.
Group of instruction set is called as a
program.
www.LearnEngineering.in
180
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
181
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
1. One-byte Instructions
• Includes Opcode and Operand in the same byte
• Examples-
182
www.LearnEngineering.in
2. Two-byte Instructions
• First byte specifies Operation Code
• Second byte specifies Operand
• Examples-
Opcode Operand Binary Code Hex Code
MVI A, 32H 0011 1110 3EH
0011 0010 32H
MVI B, F2H 0000 0110 06H
1111 0010 F2H
183
www.LearnEngineering.in
3. Three-byte Instructions
• First byte specifies Operation Code
• Second & Third byte specifies Operand
• Examples-
Opcode Operand Binary Code Hex Code
LXI H, 2050H 0010 0001 21H
0101 0000 50H
0010 0000 20H
LDA 3070H 0011 1010 3AH
0111 0000 70H
0011 0000 30H 184
www.LearnEngineering.in
www.LearnEngineering.in
187
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A 20 B MOV B,A A 20 B 20
A F A F
B 30 C B 30 C
MOV M,B
D E D E
H 20 L 50 H 20 L 50 30
A F A F
B C B C 40
MOV C,M
D E D E
H 20 L 50 40 H 20 L 50 40
www.LearnEngineering.in
189
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
190
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A F A F
B C MVI B,60H B 60 C
D E D E
H L H L
204FH 204F
HL=2050 HL=2050 40
MVI M,40H
2051H 2051H
www.LearnEngineering.in
191
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
LDA-Load accumulator
www.LearnEngineering.in
Opcode Operand
www.LearnEngineering.in
192
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A A 30
LDA
2000H 30 2000H 30
2000H
www.LearnEngineering.in
193
Get useful study materials from www.rejinpaul.com
LDAX-Load accumulator indirect
www.rejinpaul.com
www.LearnEngineering.in
Opcode Operand
LDAX B/D Register Pair
The contents of either the register pair or the memory location are
not altered.
Example: LDAX D
www.LearnEngineering.in
194
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A F A 80 F
B C B C 80
2030H 80 2030H
LDAX D
D 20 E 30 D 20 E 30
www.LearnEngineering.in
195
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Opcode Operand
LXI Reg. pair, 16-bit data
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 196
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A F A 80 F
B C B C
2030H 30 9030H 50
LXI H,
H L 2030 H 90 L 30
2031H 90
M=50
www.LearnEngineering.in
197
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Opcode Operand
LHLD 16-bit address
www.LearnEngineering.in
198
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A F A 80 F
B C
8500H 60
B C
2030H 00
LHLD
H L 2030 H 85 L 00
85
M=60
www.LearnEngineering.in
199
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Opcode Operand
STA 16-bit address
www.LearnEngineering.in
200
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A 50 A
50
STA 50
2000H 2000H
2000H
www.LearnEngineering.in
201
Get useful study materials from www.rejinpaul.com
STAX-Store accumulator indirect
www.rejinpaul.com
www.LearnEngineering.in
Opcode Operand
Example: STAX B
www.LearnEngineering.in
202
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
B 85 C 00
8500H 1A
A=1AH STAX B
www.LearnEngineering.in
203
Get useful study materials from www.rejinpaul.com
SHLD-Store H and L registers direct
www.rejinpaul.com
www.LearnEngineering.in
Opcode Operand
SHLD 16-bit address
D E
8500H 80
H 70 L 80 SHLD
8501H 70
8500
www.LearnEngineering.in
205
Get useful study materials from www.rejinpaul.com
XCHG-Exchange H and L with D and E
www.rejinpaul.com
www.LearnEngineering.in
Opcode Operand
XCHG None
Example: XCHG
www.LearnEngineering.in
206
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
D 20 E 40 D 70 E 80
XCHG
H 70 L 80 H 20 L 40
www.LearnEngineering.in
207
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
SPHL-Copy H and L registers to the
www.LearnEngineering.in
stack pointer
Opcode Operand
SPHL None
Example: SPHL
www.LearnEngineering.in
208
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
BEFORE EXECUTION
SP
H 25 L 00
SPHL
AFTER EXECUTION
SP 2500
H 25 L 00
209
www.LearnEngineering.in
stack
Opcode Operand
XTHL None
Example: XTHL
www.LearnEngineering.in
210
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
L=SP
H=(SP+1)
SP 2700
2700H 50 SP 2700
40
2700H
H 30 L 40 H L
2701H 60 60 50
30
2701H
XTHL
2702H 2702H
211
www.LearnEngineering.in
Example: PCHL
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 212
Get useful study materials from www.rejinpaul.com
PUSH-Push register pair onto stack
www.rejinpaul.com
www.LearnEngineering.in
Opcode Operand
PUSH Reg. pair
Example: PUSH B
www.LearnEngineering.in
213
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
PUSH H
www.LearnEngineering.in
www.LearnEngineering.in
214
Get useful study materials from www.rejinpaul.com
POP- Pop stack to register pair
www.rejinpaul.com
www.LearnEngineering.in
Opcode Operand
POP Reg. pair
Example: POP H
www.LearnEngineering.in
215
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
POP H
www.LearnEngineering.in
www.LearnEngineering.in
216
Get useful study materials from www.rejinpaul.com
IN- Copy data to accumulator from a
www.LearnEngineering.in
www.rejinpaul.com
Example: IN 8C H
www.LearnEngineering.in
217
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in BEFORE EXECUTION
PORT 10 A
80H
IN 80H
AFTER EXECUTION
PORT 10 A
80H
10 218
www.LearnEngineering.in
www.LearnEngineering.in
219
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in BEFORE EXECUTION
PORT 10 A 40
50H
OUT 50H
AFTER EXECUTION
PORT 40 A 40 220
50H www.LearnEngineering.in
2.Arithmetic Instructions
www.LearnEngineering.in
◦ Subtract
◦ Increment
◦ Decrement
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 221
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Addition
Any 8-bit number, or the contents of register, or
the contents of memory location can be added to
the contents of accumulator.
The result (sum) is stored in the accumulator.
No two other 8-bit registers can be added
directly.
Example: The contents of register B cannot be
added directly to the contents of register C.
www.LearnEngineering.in
222
Get useful study materials from www.rejinpaul.com
ADD
www.rejinpaul.com
www.LearnEngineering.in
A
04 A 09
B C 05
B C
05 ADD C D E
D E
H L
H L A=A+C
04+05=09
BEFORE EXECUTION
AFTER EXECUTION
A 04 14
ADD M A
B C B C
D E
A=A+M D E
H 20 L 50 10
10 H 20 L 50
The contents of register or memory and Carry Flag (CY) are added to the
contents of accumulator.
www.LearnEngineering.in
225
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
BEFORE EXECUTION AFTER EXECUTION
www.LearnEngineering.in
CY
01
A 50 A 56
B C 20
B C
05 ADC C D E
D E A=A+C+CY H L
H L
50+05+01=56
CY 1
2050H 30 ADC M 2050H 30
A 06 A 37
H 20 L 50
A=A+M+CY
H 20 L 50
06+1+30=37 226
www.LearnEngineering.in
Example: ADI 45 H
www.LearnEngineering.in
227
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A 03 ADI 05H A 08
A=A+DATA(8)
03+05=08
228
www.LearnEngineering.in
Example: ACI 45 H
www.LearnEngineering.in
229
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
CY 1 ACI 20H
A 05 A=A+DATA A 26
(8)+CY 05+20+1=26 230
www.LearnEngineering.in
D 12 E 34 D 12 E 34
DAD D H 35 L 79
H 23 L 45
1234
2345 +
------- DAD D HL=HL+DE
232
3579 DAD B HL=HL+BC www.LearnEngineering.in
Subtraction
Any 8-bit number, or the contents of register, or
the contents of memory location can be
subtracted from the contents of accumulator.
The result is stored in the accumulator.
Subtraction is performed in 2’s complement form.
If the result is negative, it is stored in 2’s
complement form.
No two other 8-bit registers can be subtracted
directly.
www.LearnEngineering.in
233
Get useful study materials from www.rejinpaul.com
SUB
www.rejinpaul.com
www.LearnEngineering.in
A
09 A 05
B C 04
B C
04 SUB C D E
D E
H L
H L A=A-C
09-04=05
BEFORE EXECUTION
AFTER EXECUTION
A 14 A 04
SUB M
B C B C
D E
A=A-M D E
H 20 L 50 10
10 H 20 L 50
235
2050
2050 14-10=04 www.LearnEngineering.in
The contents of the register or memory location and Borrow Flag (i.e. CY)
are subtracted from the contents of the accumulator.
www.LearnEngineering.in
236
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
BEFORE EXECUTION
www.LearnEngineering.in AFTER EXECUTION
CY
01
A 08 A 02
B C 05
B C
05 SBB C D E
D E
H L
A=A-C-CY H L
08-05-01=02
CY 1
A 06
2050H 02 SBB M A 03 2050H 02
H 20 L 50 A=A-M-CY H 20 L 50
237
06-02-1=03 www.LearnEngineering.in
A 08 SUI 05H A 03
A=A-DATA(8)
08-05=03
239
www.LearnEngineering.in
The 8-bit data and the Borrow Flag (i.e. CY) is subtracted
from the contents of the accumulator.
Example: SBI 45 H
www.LearnEngineering.in
240
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
CY 1 SBI 20H
A 25 A=A-DATA A 04
(8)-CY 241
25-20-01=04 www.LearnEngineering.in
Increment / Decrement
The 8-bit contents of a register or a
memory location can be incremented or
decremented by 1.
The 16-bit contents of a register pair can
be incremented or decremented by 1.
Increment or decrement can be
performed on any register or a memory
location.
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 242
Get useful study materials from www.rejinpaul.com
INR
www.rejinpaul.com
www.LearnEngineering.in
A A
B 10 C INR B B 11 C
D
H
E
L
R=R+1 D
H
E
L
10+1=11
BEFORE EXECUTION AFTER EXECUTION
H
20
L
50 2050H 10
INR M
H
20
L
50 11 2050H
www.LearnEngineering.in
245
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
SP SP
B C B C
D E
INX H D E
H 10 L 20 RP=RP+1 H 10 L 21
1020+1=1021
246
www.LearnEngineering.in
A A
B C B C
D E 20
DCR E D E 19
H L R=R-1 H L
20-1=19
BEFORE EXECUTION AFTER EXECUTION
H L
H
20
L
50
2050H
21 DCR M
20 50 2050H 20
M=M-1 21-1=20
248
www.LearnEngineering.in
www.LearnEngineering.in
249
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
SP SP
B C B C
D E
DCX H D E
H 10 L 21 RP=RP-1 H 10 L 20
250
www.LearnEngineering.in
3.Logical Instructions
These instructions perform logical operations on
data stored in registers, memory and status flags.
The contents of the accumulator are logically ANDed with the contents of
register or memory.
The result is placed in the accumulator.
If the operand is a memory location, its address is specified by the contents
of H-L pair.
S, Z, P are modified to reflect the result of the operation.
CY is reset and AC is set.
Example: ANA B or ANA M.
www.LearnEngineering.in
253
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
BEFORE EXECUTION 1010 1010=AAH AFTER EXECUTION
0000 1111=0FH
CY AC CY 0 AC 1
0000 1010=0AH
A AA A 0A
B 10
0F C ANA B B 0F C
D E A=A and R D E
H L H L
0101 0101=55H
CY AC 1011 0011=B3H CY 0 AC 1
B3 0001 0001=11H B3
A 55 2050H A 11 2050H
H 20 L 50 ANA M H 20 L 50
A=A and M 254
www.LearnEngineering.in
1011 0011=B3H
0011 1111=3FH
0011 0011=33H
CY AC CY AC 1
ANI 3FH 0
A B3 A=A and DATA(8) A 33
256
www.LearnEngineering.in
The contents of the accumulator are logically ORed with the contents of the
register or memory.
If the operand is a memory location, its address is specified by the contents of H-L
pair.
1010 1010=AAH
0001 0010=12H
BEFORE EXECUTION AFTER EXECUTION
1011 1010=BAH
CY AC CY 0 AC 0
ORA B
A=A or R
A AA A BA
B 12 C B 12 C
D E D E
H L H L 258
www.LearnEngineering.in
0101 0101=55H
1011 0011=B3H
BEFORE EXECUTION AFTER EXECUTION
1111 0111=F7H
CY AC CY AC 0
0
ORA M
A=A or M
B3 B3
A 55 2050H A F7 2050H
H 20 L 50 H 20 L 50
259
www.LearnEngineering.in
1011 0011=B3H
0000 1000=08H
CY AC CY AC
ORI 08H 0 0
A B3 A=A or DATA(8) A BB
261
www.LearnEngineering.in
1010 1010=AAH
BEFORE EXECUTION 0010 1101=2DH AFTER EXECUTION
1000 0111=87H
CY AC CY 0 AC 0
A AA A 87
B 10 C 2D B C 2D
D E
XRA C D E
H L A=A xor R H L
263
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
0101 0101=55H
BEFORE EXECUTION 1011 0011=B3H AFTER EXECUTION
1110 0110=E6H
CY AC CY 0 AC 0
B3 XRA M B3
2050H A E6 2050H
A 55
A=A xor M
H 20 L 50 H 20 L 50
264
www.LearnEngineering.in
1011 0011=B3H
0011 1001=39H
CY AC CY AC
XRI 39H 0 0
A B3 A=A xor DATA(8) A 8A
266
www.LearnEngineering.in
Compare
Any 8-bit data, or the contents of register,
or memory location can be compares for:
◦ Equality
◦ Greater Than
◦ Less Than
www.LearnEngineering.in
268
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
BEFORE EXECUTION AFTER EXECUTION
www.LearnEngineering.in
A>R: CY=0
CY Z A=R: ZF=1 CY 01 Z 0
A<R: CY=1
A 10 A 10
B 10 C B C
D 20 E CMP D D 20 E
H L
A-R H L
10<20:CY=01
BEFORE EXECUTION AFTER EXECUTION
A>M: CY=0
A=M: ZF=1
A<M: CY=1
CY Z CY 0
ZF 1
A B8 2050H
B8 A B8 2050H
B8
CMP M
H 20 L 50 H 20 L 50
A-M 269
B8=B8 :ZF=01
www.LearnEngineering.in
www.LearnEngineering.in
270
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
CY Z CY AC
CPI 30H 0 0
A BA
A-DATA A BA
Rotate
Each bit in the accumulator can be shifted
either left or right to the next position.
www.LearnEngineering.in
272
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
BEFORE EXECUTION
CY B7 B6 B5 B4 B3 B2 B1 B0
AFTER EXECUTION
B7 B6 B5 B4 B3 B2 B1 B0 B7
274
www.LearnEngineering.in
B7 B6 B5 B4 B3 B2 B1 B0 CY
AFTER EXECUTION
B0 B7 B6 B5 B4 B3 B2 B1 B0
276
www.LearnEngineering.in
BEFORE EXECUTION
CY B7 B6 B5 B4 B3 B2 B1 B0
AFTER EXECUTION
B7 B6 B5 B4 B3 B2 B1 B0 CY
278
www.LearnEngineering.in
B7 B6 B5 B4 B3 B2 B1 B0 CY
AFTER EXECUTION
CY B7 B6 B5 B4 B3 B2 B1 B0
280
www.LearnEngineering.in
Complement
The contents of accumulator can be
complemented.
Each 0 is replaced by 1 and each 1 is
replaced by 0.
www.LearnEngineering.in
281
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
A 00 A FF
www.LearnEngineering.in
282
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
C 00 C FF
www.LearnEngineering.in
283
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
4.Branching Instructions
www.LearnEngineering.in
286
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
287
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Jump Conditionally
Opcode Description Status Flags
JC Jump if Carry CY = 1
www.LearnEngineering.in
289
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Call Conditionally
Opcode Description Status Flags
CC Call if Carry CY = 1
www.LearnEngineering.in
290
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Return Conditionally
Opcode Description Status Flags
RC Return if Carry CY = 1
www.LearnEngineering.in
292
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Opcode Operand Description
www.LearnEngineering.in
www.LearnEngineering.in
293
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
5. Control Instructions
The control instructions control the
operation of microprocessor.
www.LearnEngineering.in
295
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
No operation is performed.
The instruction is fetched and decoded but no operation
is executed.
Example: NOP
www.LearnEngineering.in
296
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
297
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 298
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
300
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
RIM Instruction
www.LearnEngineering.in
301
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
302
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
SIM Instruction
www.LearnEngineering.in
303
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8085 Assembly
Language
Programming
www.LearnEngineering.in
304
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Example Data Transfer (Copy)
Operations / Instructions
1. Load a 8-bit number 4F in MVI B, 4FH
register B
2. Copy from Register B to MOV A,B
Register A
3. Load a 16-bit number LXI H, 2050H
2050 in Register pair HL
4. Copy from Register B to MOV M,B
Memory Address 2050
5. Copy between Input / OUT 01H
Output Port and
Accumulator IN 07H
305
www.LearnEngineering.in
308
www.LearnEngineering.in
309
www.LearnEngineering.in
311
www.LearnEngineering.in
4. Make a Flowchart
Start
• Load 1st no. in register D
Load Registers D, E • Load 2nd no. in register E
• Stop processing
Stop
312
www.LearnEngineering.in
314
www.LearnEngineering.in
10011001 99H A
+
10011001 99H B
0
1 10011001
00110010 32H
99H A
CY 315
www.LearnEngineering.in
Register B Register C
Step-1 Copy A to C
Step-2
a) Clear register B
b) Increment B by 1
316
www.LearnEngineering.in
2. Program Logic
317
www.LearnEngineering.in
4. Make a Flowchart
Start
Copy A to C
Stop
319
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8 bit ADDITION
321
www.LearnEngineering.in
322
www.LearnEngineering.in
8 bit Subtraction
323
www.LearnEngineering.in
324
www.LearnEngineering.in
8 bit Multiplication
325
www.LearnEngineering.in
326
www.LearnEngineering.in
8 bit Division
327
www.LearnEngineering.in
328
www.LearnEngineering.in
329
www.LearnEngineering.in
330
www.LearnEngineering.in
Descending order
331
www.LearnEngineering.in
332
www.LearnEngineering.in
333
www.LearnEngineering.in
334
www.LearnEngineering.in
335
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 336
www.LearnEngineering.in
Basics
Microprocessor &
Microcontroller
www.LearnEngineering.in
What is Microcontroller?
Micro Controller
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 338
www.LearnEngineering.in
A smaller computer
On-chip RAM, ROM, I/O ports...
Example: Motorola’s 6811, Intel’s 8051, Zilog’s
Z8 and PIC
www.LearnEngineering.in
www.LearnEngineering.in
Microprocessor Microcontroller
Not Expansive
Expansive
Single-purpose
General-purpose
www.LearnEngineering.in
Home
Appliances, intercom, telephones, security systems, garage door
openers, answering machines, fax machines, home computers,
TVs, cable TV tuner, VCR, camcorder, remote controls, video
games, cellular phones, musical instruments, sewing machines,
lighting control, paging, camera, pinball machines, toys, exercise
equipment etc.
Office
Telephones, computers, security systems, fax machines,
microwave, copier, laser printer, color printer, paging etc.
Auto
Trip computer, engine control, air bag, ABS, instrumentation,
security system, transmission control, entertainment, climate
control, cellular phone, keyless entry www.LearnEngineering.in
www.LearnEngineering.in
343
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 344
www.LearnEngineering.in
Presented by
C.GOKUL,AP/EEE
Velalar College of Engg & Tech , Erode
www.LearnEngineering.in
UNIT 3 Syllabus
• Architecture of 8051
• Special Function Registers(SFRs)
• I/O Pins Ports and Circuits {Pin Diagram}
• Instruction set
• Addressing modes
• Assembly language programming
www.LearnEngineering.in
345
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 346
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
External Interrupts
8bit
CPU
Bus Serial
OSC 4 I/O Ports
Control Port
TXD RXD
www.LearnEngineering.in
P0 P1 P2 P3
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 350
www.LearnEngineering.in
8 bit CPU
On-chip clock oscillator
4K bytes of on-chip Program Memory-ROM
128 bytes of on-chip Data RAM
64KB Program Memory address space
64KB Data Memory address space
32 bidirectional I/0 lines (Port 0,1,2,3)
Port 0 { P0.0-P0.7 } – 8 pins
Port 1 { P1.0-P1.7 } – 8 pins
Port 2 { P2.0-P2.7 } – 8 pins
Port 3 { P3.0-P3.7 } – 8 pins
www.LearnEngineering.in
www.LearnEngineering.in
Pin Description
of the 8051
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
355
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Port 3
• Port 3 can be used as input or output.
www.LearnEngineering.in
356
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Pin Description Summary
PIN TYPE NAME AND FUNCTION
Vss I Ground: 0 V reference.
Vcc I Power Supply + 5V.
www.LearnEngineering.in
358
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Architecture of
8051
microcontroller
359
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8051
Program Memory,
Data Memory
structure
www.LearnEngineering.in
364
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
8051 Memory Structure
www.LearnEngineering.in
External
External
60K
64K 64K
SFR
Special
Function
Registers [SFR]
www.LearnEngineering.in
366
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
• A Register (Accumulator)
www.LearnEngineering.in
• B Register
• Program Status Word (PSW) Register
• Data Pointer Register (DPTR)
– DPH (Data Pointer High) , DPL(Data Pointer Low)
• Stack Pointer (SP) Register
• P0, P1, P2, P3 - Input/output port Registers
• Timer T0 - TH0 & TL0
• Timer T1 – TH1 & TL1
• Timer Control (TCON) Register
• Serial Port Control (SCON) Register
• Serial Buffer Control (SBUF) Register
• IP Register (Interrupt Priority)
• IE Register (Interrupt Enable)
www.LearnEngineering.in
367
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
4 MEMORY BANKS
Bank 3 R0 R1 R2 R3 R4 R5 R6 R7
Bank 2 R0 R1 R2 R3 R4 R5 R6 R7
Bank 1 R0 R1 R2 R3 R4 R5 R6 R7
Bank 0 R0 R1 R2 R3 R4 R5 R6 R7
www.LearnEngineering.in
368
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Program Status Word [PSW]
www.LearnEngineering.in
C AC F0 RS1 RS0 OV F1 P
Carry Parity
Auxiliary Carry User Flag 1
00-Bank 0
01-Bank 1
10-Bank 2
11-Bank 3
www.LearnEngineering.in
369
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Data Pointer Register (DPTR)
www.LearnEngineering.in
www.LearnEngineering.in
370
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Stack Pointer (SP) Register
www.LearnEngineering.in
8 bit
8 bit
8 bit
8 bit
www.LearnEngineering.in
371
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8051
Interrupts
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Techwww.LearnEngineering.in
, Erode 372
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
INTERRUPTS
• An interrupt is an external or internal event that
interrupts the microcontroller to inform it that a device
needs its service
www.LearnEngineering.in
373
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Interrupt
– Upon receiving an interrupt signal, the
microcontroller interrupts whatever it is doing
and serves the device.
– The program which is associated with the
interrupt is called the interrupt service routine
(ISR) .
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode 374
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Steps in Executing an Interrupt
www.LearnEngineering.in
Interrupt Sources
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
378
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
8051 Interrupt related Registers
www.LearnEngineering.in
– IE - interrupt Enable
– IP - Interrupts priority
www.LearnEngineering.in
379
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Enabling and Disabling an Interrupt
www.LearnEngineering.in
www.LearnEngineering.in
380
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Interrupt Enable (IE) Register
www.LearnEngineering.in
--
• EA : Global enable/disable.
• --- : Reserved for additional interrupt hardware.
www.LearnEngineering.in
382
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Interrupt Priority (IP) Register
www.LearnEngineering.in
Serial Port
Timer 1 Pin INT 0 Pin
Comparison to
Programming
concepts with 8085.
Assembly language programs : 8085 & 8051
Peripheral
interfacing
DEPARTMENTS: EEE {semester 05}
Regulation : 2013
Presented by
C.GOKUL,AP/EEE
Velalar College of Engg & Tech , Erode
www.LearnEngineering.in
UNIT 4 Syllabus
Introduction: Memory Interfacing & I/O interfacing
• 8255 PPI {Parallel communication interface}
• 8259 {Programmable Interrupt controller }
• 8253/8254 Timer – {Timer {or counter}}
• 8237/8257 {DMA controller}
• 8251 USART {Serial communication interface}
• 8279 {Keyboard /display controller}
• A/D and D/A Interface {ADC 0800/0809,DAC 0800}
[Interfacing with 8085 & 8051]
www.LearnEngineering.in
Introduction to
peripheral
interfacing
www.LearnEngineering.in
388
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 389
Data Transfers
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
IO
Memory Mapped IO IO Mapped IO
IO is treated as memory. IO is treated IO.
16-bit addressing. 8- bit addressing.
More Decoder Hardware. Less Decoder
Can address 216=64k Hardware.
locations. Can address 28=256
Less memory is available. locations.
Whole memory address
space is available.
www.LearnEngineering.in
Parallel communication
interface
INTEL 8255
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE , Velalar College of Engg & Tech, Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 395
www.LearnEngineering.in
8255 PPI
• The 8255 chip is also called as Programmable
Peripheral Interface.
• The Intel’s 8255 is designed for use with Intel’s
8-bit, 16-bit and higher capability
microprocessors
• The 8255 is a 40 pin integrated circuit (IC),
designed to perform a variety of interface
functions in a computer environment.
• It is flexible and economical.
www.LearnEngineering.in
www.LearnEngineering.in
Signals of 8085
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 401
www.LearnEngineering.in
Control Logic
CS signal is the master Chip Select
A0 and A1 specify one of the two I/O Ports
CS A1 A0 Selected
0 0 0 Port A
0 0 1 Port B
0 1 0 Port C
0 1 1 Control
Register
1 X X 8255 is not
selected
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
CS , RD , WR , RESET , A1 , A0
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 407
mode1
c) Port C : It can be programmed in mode 0
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
1. BSR Mode
410
www.LearnEngineering.in
www.LearnEngineering.in
2. I/O MODE
412
www.LearnEngineering.in
interrupt capability
www.LearnEngineering.in
www.LearnEngineering.in
Handshake)
• Handshake signals are exchanged
between MPU & Peripherals
• Features
– Ports A and B are used as Simple I/O Ports
– Each port uses 3 lines from Port C as
handshake signals
– Input & Output data are latched
– interrupt logic supported
www.LearnEngineering.in
www.LearnEngineering.in
Solution:
1 0 1 0 1 1 1 0 = AEH
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 417
www.LearnEngineering.in
Solution:
1 0 0 0 0 0 0 0 = 80H
Solution:
1 0 0 1 1 0 1 1 = 9BH
INTERRUPT
CONTROLLER
www.LearnEngineering.in
www.LearnEngineering.in
1. This IC is designed to simplify the implementation of the interrupt interface in the 8088
and 8086 based microcomputer systems.
2. This device is known as a ‘Programmable Interrupt Controller’ or PIC.
3. It is manufactured using the NMOS technology and It is available in 28-pin DIP.
4. The operation of the PIC is programmable under software control (Programmable)and it
can be configured for a wide variety of applications.
5. 8259A is treated as peripheral in a microcomputer system.
6. 8259A PIC adds eight vectored priority encoded interrupts to the microprocessor.
7. This controller can be expanded without additional hardware to accept up to 64
interrupt request inputs. This expansion required a master 8259A and eight 8259A
slaves.
8. Some of its programmable features are:
· The ability to accept level-triggered or edge-triggered inputs.
· The ability to be easily cascaded to expand from 8 to 64 interrupt-inputs.
· Its ability to be configured to implement a wide variety of priority schemes.
www.LearnEngineering.in
8
2
5
9
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
ICW1:
Selects the vector number used with the interrupt request inputs.
For example, if we decide to program the 8259A so that it functions at vector
locations 08H-0FH, we place a 08H into this command word.
Likewise, if we decide to program the 8259A for vectors 70H-77H, we place a
70H in this ICW.
www.LearnEngineering.in
Is used only when ICW1 indicates that the system is operated in cascade mode.
This ICW indicates where the slave is connected to the master.
For example, if we connected a slave to IR2, then to program ICW3 for this
connection, in both master and slave, we place a 04H in ICW3.
Suppose we have two slaves connected to a master using IR0 and IR1. The
master is programmed with an ICW3 of 03H; one slave is programmed with an
ICW3 of 01H and the other with an ICW3 of 02H. www.LearnEngineering.in
OCW1:
Is programmed only when the AEOI mod is not selected for the 8259A.
In this case, this OCW selects how the 8259A responds to an interrupt.
The modes are listed as follows in next slide:
www.LearnEngineering.in
OCW3:
Selects the register to be read, the operation of the special mask register, and
the poll command.
If polling is selected, the P-bit must be set and then output to the 8259A. The
next read operation would read the poll word. The rightmost three bits of the
poll word indicate the active interrupt request with the highest priority.
The leftmost bit indicates whether there is an interrupt, and must be checked
www.LearnEngineering.in
to determine whether the rightmost three bits contain valid information.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 452
www.LearnEngineering.in
TIMER/COUNTER
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
8254 Programming
11-457
www.LearnEngineering.in
Gate is high
Will continue
counting
Gate is
High output
will be high
458
www.LearnEngineering.in
460
www.LearnEngineering.in
8237DMA CONTROLLER
461 www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Introduction:
Direct Memory Access (DMA) is a method of allowing data
to be moved from one location to another in a computer
without intervention from the central processor (CPU).
It is also a fast way of transferring data within (and
sometimes between) computer.
The DMA I/O technique provides direct access to the
memory while the microprocessor is temporarily disabled.
The DMA controller temporarily borrows the address bus,
data bus and control bus from the microprocessor and
transfers the data directly from the external devices to a
series of memory locations (and vice versa).
462 www.LearnEngineering.in
• Supplies memory and I/O with control signals and addresses during DMA
transfer
• 4-channels (expandable)
– 0: DRAM refresh
– 1: Free
– 2: Floppy disk controller
– 3: Free
• 1.6MByte/sec transfer rate
• 64 KByte section of memory address capability with single programming
• “fly-by” controller (data does not pass through the DMA-only memory to I/O
transfer capability)
• Initialization involves writing into each channel:
• i) The address of the first byte of the block of data that must be transferred (called
the base address).
• ii) The number of bytes to be transferred (called the word count).
www.LearnEngineering.in
463
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
8237 pins
www.LearnEngineering.in
www.LearnEngineering.in
465
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Block Diagram Description
www.LearnEngineering.in
It contains ,
1. Control logic
2. Mode set register and
3. Status Register.
CONTROL LOGIC:
Master mode ,It control the sequence of DMA
operation during all DMA cycles.
It generates address and control signals.
It increments 16 bit address and decrement 14 bit
counter registers.
It activate a HRQ signal on DMA channel Request.
Slave ,mode it is disabled.
www.LearnEngineering.in
468
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
469
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
1. Transmitter:
- A parallel-in, serial-out
shift register
- A serial-in, parallel-out
shift register.
-
470 www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
TRANSMITTER www.rejinpaul.com 471
www.LearnEngineering.in
Receiver
www.LearnEngineering.in
Serial communication
www.LearnEngineering.in
interface
INTEL 8251 USART
www.LearnEngineering.in
ASYNCHRONOUS RECEIVER
TRANSMITTER (USART)
Programmable chip designed for
synchronous and asynchronous serial data
transmission
28 pin DIP
Coverts the parallel data into a serial stream
of bits suitable for serial transmission.
Receives a serial stream of bits and convert
it into parallel data bytes to be read by a
microprocessor. www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
– Transmitter
• Converts parallel word received from MPU into serial bits
– Receiver
• Receives serial bits from peripheral
CS – Chip Select
When this signal goes low, 8251 is selected by
MPU for communication
C/D – Control/Data
When this signal is high, the control register
or status register is addressed
When it is low, the data buffer is addressed
Control and Status register is differentiated by
WR and RD signals, respectively
www.LearnEngineering.in
• WR – Write
– writes in the control register or sends outputs to the
data buffer.
– This connected to IOW or MEMW
• RD – Read
– Either reads a status from status register or accepts
data from the data buffer
– This is connected to either IOR or MEMR
• RESET - Reset
• CLK - Clock
– Connected to system clock
– Necessary for communication with microprocessor.
www.LearnEngineering.in
CS C/D RD WR Function
0 1 1 0 MPU writes instruction in the
control register
0 1 0 1 MPU reads status from the status
register
0 0 1 0 MPU outputs the data to the Data
Buffer
0 0 0 1 MPU accepts data from the Data
Buffer
1 X X X USART is not Selected
www.LearnEngineering.in
• Control Register
– 16-bit register
– This register can be accessed an output port
when the C/D pin is high
• Status Register
– Checks ready status of a peripheral
• Data Buffer
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 481
www.LearnEngineering.in
Transmitter Section
Section
• TxD – Transmit Data
– Serial bits are transmitted on this line
www.LearnEngineering.in
Section
RxD – Receive Data
Bits are received serially on this line and
converted into parallel byte in the receiver input
RxC – Receiver Clock
RxRDY – Receiver Ready
It goes high when the USART has a character in
the buffer register and is ready to transfer it to
the MPU
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
Signals Associated
www.LearnEngineering.in
with Modem
www.rejinpaul.com 485
Control
• DSR- Data Set Ready
– Normally used to check if the Data Set is ready when
communicating with a modem
• DTR – Data Terminal Ready
– device is ready to accept data when the 8251 is
communicating with a modem.
• RTS – Request to send Data
– the receiver is ready to receive a data byte from
modem
• CTS – Clear to Send
www.LearnEngineering.in
Control words
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Programming 8251
8251 mode register
7 6 5 4 3 2 1 0 Mode register
Keyboard/Display
Controller
INTEL 8279
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Keyboard section
Display section
Scan section
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 510
www.LearnEngineering.in
a) Keyboard Display Mode Set : The format of the command word to select different
modes of operation of 8279 is given below with its bit definitions.
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 D D K K K
www.LearnEngineering.in
SENSOR MATRIX
SENSOR MATRIX
www.LearnEngineering.in
B) Programmable clock :
0 0 1 P P P P P
www.LearnEngineering.in
D7 D6 D5 D4 D3 D2 D1 D0
0 1 1 AI A A A A
www.LearnEngineering.in
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 AI A A A A
D7 D6 D5 D4 D3 D2 D1 D0
1 0 1 X IW IW BL BL
D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 CD2 CD1 CD0 CF CA
E- Error mode
X- don’t care
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 526
www.LearnEngineering.in
www.LearnEngineering.in
A/D Interfacing
{using 8051 microcontroller}
www.LearnEngineering.in
527
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
528
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
ADC Interfacing
www.LearnEngineering.in
www.LearnEngineering.in
529
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
D/A Interfacing
{using 8051 microcontroller}
www.LearnEngineering.in
530
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
8051 Connection to DAC808
www.LearnEngineering.in
www.LearnEngineering.in
531
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
program to send data to the DAC to
www.LearnEngineering.in
www.LearnEngineering.in
532
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 533
www.LearnEngineering.in
Presented by
C.GOKUL,AP/EEE
Velalar College of Engg & Tech , Erode
www.LearnEngineering.in
UNIT 5 Syllabus
• Data Transfer, Manipulation, Control
Algorithms& I/O instructions
• Simple programming exercises:
1. Key board & display interface
2. Closed loop control of servo motor
3. Stepper motor control
4. Washing Machine Control.
www.LearnEngineering.in
534
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
INSTRUCTION
SET OF
8051
www.LearnEngineering.in
535
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
536
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
1. Arithmetic Instructions
www.LearnEngineering.in
• ADD A, source
A A + <operand>.
• ADDC A, source
A A + <operand> + CY.
• SUBB A, source
A A - <operand> - CY{borrow}.
www.LearnEngineering.in
537
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
• INC
www.LearnEngineering.in
• DEC
– Decrement the operand by one. Ex: DEC B
• MUL AB
Multiplication Result
8 byte * 8 byte A*B A=low byte,
B=high byte
• DIV AB
Division Quotient Remainder
8 byte /8 byte A/B A B
www.LearnEngineering.in
538
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Multiplication of Numbers
MUL AB ; A B, place 16-bit result in B and A
A=07 , B=02
MUL AB ;07 * 02 = 000E where B = 00 and A = 0E
Division of Numbers
DIV AB ; A / B , 8-bit Quotient result in A &
8-bit Remainder result in B
A=07 , B=02
DIV AB ;07 / 02 = Quotient 03(A) Remainder 01 (B)
www.LearnEngineering.in
539
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
2. Logical
instructions
www.LearnEngineering.in
540
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
• ANL D,S
www.LearnEngineering.in
•XRL D,S
-Performs logical XOR of destination & source
- Eg: XRL A,#28H XRL A,@R0
www.LearnEngineering.in
541
Get useful study materials from www.rejinpaul.com
• CPL A www.rejinpaul.com
www.LearnEngineering.in
-Compliment accumulator
-gives 1’s compliment of accumulator data
• RL A
-Rotate data of accumulator towards left without carry
• RLC A
- Rotate data of accumulator towards left with carry
• RR A
-Rotate data of accumulator towards right without carry
• RRC A
- Rotate data of accumulator towards right with carry
www.LearnEngineering.in
542
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
3. Data Transfer
Instructions
www.LearnEngineering.in
543
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
MOV Instruction
• MOV destination, source ; copy source to destination.
www.LearnEngineering.in
544
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
• MOVX
– Data transfer between the accumulator and
a byte from external data memory.
•MOVX A, @DPTR
•MOVX @DPTR, A
www.LearnEngineering.in
545
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
• PUSH / POP
– Push and Pop a data byte onto the stack.
•PUSH DPL
•POP 40H
www.LearnEngineering.in
546
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
• XCH
– Exchange accumulator and a byte variable
•XCH A, Rn
•XCH A, direct
•XCH A, @Ri
www.LearnEngineering.in
547
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
4.Boolean variable
instructions
www.LearnEngineering.in
548
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
CLR:
www.LearnEngineering.in
www.LearnEngineering.in
549
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
• ANL C,<Source-bit>
www.LearnEngineering.in
• ORL C,<Source-bit>
www.LearnEngineering.in
550
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
• XORL C,<Source-bit>
www.LearnEngineering.in
•MOV P2.3,C
•MOV C,P3.3
•MOV P2.0,C
www.LearnEngineering.in
551
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
5. Branching
instructions
www.LearnEngineering.in
552
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Jump Instructions
www.LearnEngineering.in
www.LearnEngineering.in
553
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Call Instructions
• LCALL (long call):
– Target address within 64K-byte range
www.LearnEngineering.in
554
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
555
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
556
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8051
Addressing
Modes www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8051 Addressing Modes
• The CPU can access data in various ways, which are
called addressing modes
1. Immediate
2. Register
3. Direct
4. Indirect
5. Relative
6. Absolute
7. Long
8. Indexed www.LearnEngineering.in
558
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
1. Immediate Addressing Mode
www.LearnEngineering.in
www.LearnEngineering.in
559
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
2. Register Addressing Mode
www.LearnEngineering.in
www.LearnEngineering.in
560
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
3. Direct Addressing Mode
www.LearnEngineering.in
www.LearnEngineering.in
561
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
4. Indirect Addressing Mode
www.LearnEngineering.in
MOVX A,@DPTR
www.LearnEngineering.in
562
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
5. Relative Addressing
• This mode of addressing is used with some type of jump
instructions, like SJMP (short jump) and conditional
jumps like JNZ
www.LearnEngineering.in
563
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
6. Absolute Addressing
• In Absolute Addressing mode, the absolute
address, to which the control is transferred, is
specified by a label.
• Two instructions associated with this mode
of addressing are ACALL and AJMP
instructions.
• These are 2-byte instructions
www.LearnEngineering.in
564
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
7. Long Addressing
• This mode of addressing is used with the
LCALL and LJMP instructions.
• It is a 3-byte instruction
• It allows use of the full 64K code space.
www.LearnEngineering.in
565
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8. Indexed Addressing
• The Indexed addressing is useful when there is a
need to retrieve data from a look-up table (LUT).
www.LearnEngineering.in
566
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
8051
Assembly
Language
Programming(ALP)
www.LearnEngineering.in
567
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
9100: CLR C
MOV A,#05
MOV B,#03
SUBB A,B
MOV DPTR,#9200
MOVX @DPTR,A
HERE SJMP HERE
After execution: A=02 www.LearnEngineering.in
569
Get useful study materials from www.rejinpaul.com
MULTIPLICATION OF www.rejinpaul.com
TWO DIVISION OF TWO 8 bit
www.LearnEngineering.in
8 bit Numbers Numbers
Address Label Mnemonics Address Label Mnemonics
MUL AB DIV AB
www.LearnEngineering.in
572
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com 573
www.LearnEngineering.in
1.Keyboard &
Display
Interfacing
www.LearnEngineering.in
KEYBOARD INTERFACING
www.LearnEngineering.in
www.LearnEngineering.in
575
Get useful study materials from www.rejinpaul.com
4x4 matrix
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
576
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
577
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
Final Circuit
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
2.CLOSED LOOP
SERVO MOTOR
CONTROL
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
3. STEPPER
MOTOR
INTERFACING
www.LearnEngineering.in
Stepper Motor
Interfacing
www.LearnEngineering.in
586
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Stepper Motor Interfacing
• Stepper motor is used in applications such as;
dot matrix printer, robotics etc
www.LearnEngineering.in
587
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
588
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
www.LearnEngineering.in
589
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Full step
www.LearnEngineering.in
590
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Step angle:
• Step angle is defined as the minimum degree of rotation
with a single step.
• No of steps per revolution = 360° / step angle
• Steps per second = (rpm x steps per revolution) / 60
• Example: step angle = 2°
• No of steps per revolution = 180
www.LearnEngineering.in
591
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
A switch is connected to pin P2.7. Write an ALP to
www.LearnEngineering.in
4. Washing
machine control
using 8051
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
What Is a Washing Machine?
www.LearnEngineering.in
A washing
machine is an electronic device that is
designed to wash laundry like clothes,
sheets, towels and other bedding. A
washing machine is built with two steel
tubs which are the inner tub and the
outer tub whose main role is to prevent
water from spilling to other parts of the
machine.
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
low
Load select
medium
high
www.LearnEngineering.in
hot
both-mixed
www.LearnEngineering.in
Save mode
Mode
Normal mode
www.LearnEngineering.in
www.LearnEngineering.in
Operations:-
• Fill:- water will be filled by the pump as per
the load knob selected.
www.LearnEngineering.in
www.LearnEngineering.in
Presented by C.GOKUL,AP/EEE Velalar College of Engg & Tech , Erode
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
www.LearnEngineering.in
Circuit diagram
www.LearnEngineering.in
Low
Agitator rmotor
drive
P2.4
Drain level
Spin motor
drive
P2.6
P0.3 Hot
P2.5 P0.4 Normal
www.LearnEngineering.in