You are on page 1of 20

8085 microprocessor

INTRODUCTION
• 8085 microprocessor was introduced by
Intel in the year 1976.
• This microprocessor is an update of 8080
microprocessor.
• The 8080 processor was updated with
Enable/Disable instruction pins and
Interrupt pins to form the 8085
microprocessor.
Features of 8085
• It is an 8 bit microprocessor.
• It has 16 bit address lines, hence it can access
(216) 64 kB of memory.
• It provides 8-bit I/O addresses to access(28) 256
I/O ports.
• It has 8 bit accumulator, flag register, instruction
register, six 8 bit general purpose register and
two 16 bit register.
• It provide five hardware interrupts : TRAP,RST
7.5,RST 6.5,RST 5.5 AND INTR.
Architecture of 8085
microprocessor
It consists of various functional blocks as listed below:-

1. Registers
2. Arithmetic and logic unit
3. Instruction decoder and machine cycle encoder.
4. Address buffer
5. Address/Data buffer
6. Increment/Decrement address latch
7. Interrupt control
8. Serial I/O control
9. Timing and control circuitry
General Purpose Register
Individual B C D E H L

Combination B&C D&E H&L

Temporary data register


Temporary Register
W and Z registers

Accumulator

Special Purpose Register Flag Register

Instruction Register

Program Counter(PC)
Sixteen Bit register
Stack Pointer(SP)
 General purpose resistors-
The 8 bit general purpose register B,C,D,E,H and l can be used a separate 8 bit register or as
16 bit register pair ,BC,DE and HL.When used in register pair mode,the higher byte resides in
the first register and lower order byte resides in the second register.

 Temporary register-
1. Temporary data register-
The ALU has two inputs. One input is supplied by accumulator and other from temporary data
register. The programmer can not access its temporary data register.

2. W and Z register-
These registers are used to hold 8 bit data during execution of some instruction.

 Special Purpose registers-


1. Register A (Accumulator)-
It is extensively used in arithmetic, logic load and store operations, as well as in (I/O)
operations.

2. Flag register-
It is an 8 bit register in which five of the bits carry significant infromation in the form of flags
S(sign flag),Z(zero flag),AC(Auxuliary Carry),P(parity flag) and CY(carry flag) as shown in fig.
D7 D6 D5 D4 D3 D2 D1 D0

S Z AC P CY
S-Sign flag-After the execution of arithmetic or logical operations, If bit D7 of the result is
1,the sign flag is set means negative. If d7 is o, the number will be considered as positive
number.

Z-Zero flag-The zero flag sets if the result of operation in ALU is zero and the flag resets if the
result is non zero.

AC-This flag is set if there is an overflow out of bit 3.

P-Parity flag-If the result has even number of 1’s ,the parity flag is set.if the parity is odd,flag
is reset.

CY-Carry flag-This flag is set if there is an overflow out of bit 7.


Instruction register-The CPU stores this opcode in a register called the instruction register.
 Sixteen bit registers-
1. Program Counter(PC)-
The program counter is a special type of register which at a given time, stores the address of
the next instruction to be fetched.

2. Stack pointer(SP)-
A 16 bit stack pointer in used to hold the address of the most recent stack entry .

 Arithmetic and logic unit-


Arithmetic and logic unit performs the arithmetic and logic operations on eight bit
variables.

 Instruction Decoder-

The instruction decoder decodes the opcode stored in the instruction register and
accordingly gives
the timing and control signal which control the register,the data buffer,ALU.

 Address Buffer-
This is an 8 bit unidirectional buffer.It is used to drive external high order address
bus(A15-A8).
Address/Data Buffer-
This is an 8 bit bidirctional buffer.It is used to multiplexed address/data bus.

Incrementer/Decrementer Address Latch-


A 16 bit register is used to increment or decrement the contents of program counter or stack pointer

Interrupt control-
whenever the interrupt signal is enabled or requested the microprocessor shifts the control from
main program to process the incoming request and after the completion of request, the control goes
back to the main program.

Serial I/O Control-


It transfers data bit by bit.it provides two lines are SOD and SID for serial communication.

Timing and control unit-


The control circuitry of the 8085 processor is responsible for all the operations. Along
with the control of fetching and loading operations and generation appropriate signals for
instruction exeution,control circuitry also generates signals required to interface external
device to the 8085 processor.
PIN DIAGRAM OF 8085
PIN DIAGRAM OF 8085-
 The signals of 8085 can be classified into seven groups according
to their functions-

1. Power supply and frequency signals


2. Data bus and Address bus
3. Control bus
4. Interrupt signals
5. Serial I/0 signals
6. DMA signals
7. Reset signals
Vcc
Power supply and Frequency signals Vss
X1 and X2

AD0 TO AD7
Data bus and address bus
A8 TO A15

ALE
RD and WR
Control and status signals
IO/M
READY

RST 7.5
RST 6.5
Interrupt Signals
RST 5.5
TRAP
INTR
SID (Serial input data)
Serial I/0 Signals
SOD(Serial output data)

HOLD
DMA Signals
HLDA

RESET IN
Reset Signals
RESET OUT
 Power supply and Frequency Signals-
1. Vcc:It requires a single +5V power supply.
2. Vss:Ground reference.
3. X1 and X2:A crystal ocillator is connected at these two pins.

 Data bus and Address Bus-


1. AD0 to AD7:During the first part of the machine cycle(T1) lower 8 bit memory address or
I/O address appear on the bus. During the remaining part of the machine cycle (T2 and
T3) these lines are used as a bidirectional data bus.
2. A8 to A15:The upper half of the 16 bit address appears on the address line A8 to A15.

 Control and Status singals-


1. ALE: The latching of lower half of an address is down by using external latch and ALE
signal from 8085.
2. RD and WR:RD signal indicates that the selected or memory device is to be read and
data is available on the data bus.WR signal indicates that he data on data bus are to be
written into a selected memory or I/O location.
3. IO/M,S0 and S1:IO/M indicates whether IO operation or memory operation is being
carried out.S1 and S0 indicates the type of machine cycle in progress.
4. READY:It is used by the microprocessor to sense whether a peripheral device is ready for
 Interrupt Signals-
The 8085 has five hardware interrupt signal RST 5.5,RST 6.5,RST 7.5,TRAP and INTR.

 Serial I/O signals-


1. SID(Serial Input Data): This input signal is used to accept serial data bit by bit form the
external device.
2. SOD(Serial Output Data): This is an output signal which enables the transmission of data
serially bit by bit to an external device.

 DMA signals-
1. HOLD: This signal indicates that another master is requesting for the use of address bus, data
bus and control bus.
2. HLDA: This active high signal is used to acknowledge HOLD request.
 Reset signals-
1. RESET IN:a).Sets the program counter to zero (000H).
b).resets the interrupt enable and HLDA flip flops.
c).Tristate the data bus, address bus and control bus.
2. RESET OUT: This active high signal indicates that processor is being reset.
ADDRESSING MODES
OF THE 8085
Immediate addressing mode-
In this type of addressing mode data is specified as a part of instruction.e.g.
MVI B,20H : moves 8 bit immediate data (20 H)into register B.

Register addressing mode-


In this addressing mode, the operand is located in one of the registers.e.g.
ADD AX,BX : content of register BX is added to contents of AX(accumulator) an the result is
retained in register AX. AX AX+BX.

Direct addressing mode-


The direct addressing modes specify 16 bit address of the operand within the instruction itself.e.g
LDA 2400H :Loads the 8 bit contents of memory location 2000h into the accumulator.

Indirect addressing mode-


In indirect addressing mode, the memory address where two operands are located is specified by
the contents of a register pair.e.g.
LDAX B :Load the accumulator into the contents of memory location pointed by BC pair.

Implied addressing mode-


In implied addressing mode, opcode specifies the address of the operand.e.g.
CMA :Complement the contents of accumulator.

You might also like