8085vs8086 microprocessor and their characteristics and functionalities
1. The 8085 is an 8-bit Accumulator based microprocessor
It provides 16 address lines so it can access 2^16 =64K bytes of memory.
It is a single chip N-MOS device with 40 pins.
It has multiplexed address and data bus.(AD0-AD7).
It works on 5 Volt dc power supply.
The maximum clock frequency is 3 MHz while minimum frequency
is 500kHz.
It provides 74 instructions with 5 different addressing modes.
It generates 8 bit I/O address so it can access 2^8=256 input ports.
It provides serial lines SID ,SOD.So serial peripherals can be
interfaced with 8085 directly.
Introduction
4. 8085 Architecture
8085 registers are classified as:-
General Purpose registers
Temporary registers
1. W & Z registers
Sixteen bit registers
1. Program Counter
2. Stack Pointer
Special Purpose registers
1. Accumulator
2. Instruction register
3. Flag registers
5. 8085 Architecture
Accumulator:
This is an special purpose register.
The accumulator is an 8-bit register
It is connected to ALU.
This register is used to store 8-bit data, this data is used to perform arithmetic
& logical operation.
The result of an operation is stored in the accumulator.
The accumulator is also identified as register A.
The accumulator is used for data transfer between an I/O port and
memory location.
6. 8085 Architecture
General Purpose Registers
The 8085 simulator has six general-purpose registers to store 8-bit data; these
are identified as B, C, D, E, H and L.
They can be combined as register pair – BC, DE and HL – to perform some
16-bit operations.
The programmer can use these registers to store or copy data into the
registers by using data copy instructions.
Out of these six registers, four (B, C, D, E) 8-bit registers which are
accessible to the programmer and hence can be used to store data during a
program execution.
Another two registers H and L are the memory address register of data
counter. This means that these two registers are used to store the 16- bit
address of 8-bit data being accessed from memory.
7. 8085 Architecture
Temporary register:
It is not available for user
All the arithmetic and logical operations are done in the
temporary register but user can’t access it.
8. 8085 Architecture
Program Counter (PC):
This 16-bit register deals with sequencing the execution of
instructions. This register is a memory pointer. Memory
locations have 16-bit addresses, and that is why this is a 16-bit
register.
The microprocessor uses this register to sequence the execution of
the instructions. The function of the program counter is to point to
the memory address from which the next instruction is to be
fetched. When a byte (machine code) is being fetched, the program
counter is incremented by one to point to the next memory
location.
9. 8085 Architecture
Stack Pointer (SP)
The stack pointer is also a 16-bit register used as a memory
pointer. It points to a memory location in R/W memory, called the
stack.
This is a temporary storage memory 16 bit register. Since there
are only 6 general purpose registers, there is a need to reuse
them .
Whenever stack is to be used previous values are PUSHED on
stack and then after the program is over these values are
POPED back.
10. 8085 Architecture
Flags or status resistor:
The ALU includes five flip-flops, which are set or reset after an operation
according to data conditions of the result in the accumulator and other
registers. They are called Zero(Z), Carry (CY), Sign (S), Parity (P), and
Auxiliary Carry (AC) flags.
The most commonly used flags are Zero, Carry, and Sign. The
microprocessor uses these flags to test data conditions.
Sign - set if the most significant bit of the result is set.
Zero - set if the result is zero.
Auxiliary carry - set if there was a carry out from bit 3 to bit 4 of the
result.
Parity - set if the parity (the number of set bits in the result) is even.
Carry - set if there was a carry during addition, or borrow during
subtraction/comparison.
12. 8085 Architecture
Instruction resister:-
Once the instruction is fetch from the memory, it is reloaded in the instruction
decode the instruction
resistor for some time, after that the
decoder performing some event or task.
Instruction Decoder & Machine Cycle Encoder
Unit
It decodes the instruction from instruction register and then to control block.
This unit decodes the op-code stored in the Instruction Register (IR) and
encodes it for the timing & control unit to perform the execution of the
instruction.
Timing and Control Unit:
The timing and control unit accepts information from the instruction decoder
and generates different control signal. This unit synchronizes all the
microprocessor operation and generates control and status signal necessary
for communication between the microprocessor and peripherals.
13. 8085 Architecture
Incrementor / decrementor:
This is also 16 bit resistor. It is used to add or subtract one from
the contents of the program counter or stack pointer.
Address buffer:
The remaining higher order address lines form the address buffer
ranging from[A15-8].This is having the unidirectional buffer
Address/data buffer:
The address bus will be having 16 address lines[A15-A0] .In which A7-
A0 are called as lower addressing lines and these are multiplexed with
data lines[D7-D0] to form multiplexed address /data buffer .The
address/data buffer is the bidirectional bus.
14. 8085 Architecture
Serial I/O control:
These are control signals used for controlling 8085.These are subdivided into 2 types
1)SID(serial input data):This is used for transferring of data into the memory serially.
2)SOD(serial output data):This is used for transferring of data from memory to
external devices
Interrupt Control:
Interrupt control is used to transfer the ISR to the CPU.
When a microprocessor is executing a main program and whenever an interrupt
occurs, the microprocessor shifts the control from the main program to process the
incoming request. After the request is completed, the control goes back to the
main program.
It provides 5 interrupt pins :TRAP, RST 5.5, RST 6.5, RST 7.5,INTR.
16. X1 & X2 (Pin 1 and Pin 2 (Input))
These are also called
Crystal Input Pins.
8085 can generate clock
signals internally.
To generate clock signals
internally, 8085 requires
external inputs from X1
and X2.
17. RESET IN and RESET OUT (Pin 36 (Input) and Pin 3 (Output))
RESET IN:
It is used to reset the microprocessor.
It is active low signal.
When the signal on this pin is low for
at least 3 clocking cycles, it forces the
microprocessor to reset itself.
18. RESET IN and RESET OUT (Pin 36 (Input) and Pin 3 (Output))
Resetting the microprocessor means:
Clearing the PC and IR.
Disabling all interrupts (except TRAP).
Disabling the SOD pin.
All the buses (data, address, control) are
tri-stated.
Gives HIGH output to RESET OUT pin.
19. RESET IN and RESET OUT (Pin 36 (Input) and Pin 3 (Output))
RESET OUT:
It is used to reset the peripheral devices
and other ICs on the circuit.
It is an output signal.
It is an active high signal.
The output on this pin goes high whenever
RESET IN is given low signal.
The output remains high as long as
RESET
IN is kept low.
20. SID and SOD (Pin 4 (Input) and Pin 5 (Output))
SID (Serial Input Data):
It takes 1 bit input from serial port
of 8085.
Stores the bit at the 8th position
(MSB)
of the Accumulator.
RIM (Read Interrupt Mask) instruction
is used to transfer the bit.
21. SID and SOD (Pin 4 (Input) and Pin 5 (Output))
SOD (Serial Output Data):
It takes 1 bit from Accumulator to
serial port of 8085.
Takes the bit from the 8th position
(MSB) of the Accumulator.
SIM (Set Interrupt Mask) instruction
is used to transfer the bit.
22. Address and Data Pins
Address Bus:
• The address bus is used to send address to memory.
• It selects one of the many locations in memory.
• Its size is 16-bit.
Data Bus:
• It is used to transfer data between microprocessor and
memory.
• Data bus is of 8-bit.
23. AD0 – AD7 (Pin 19-12 (Bidirectional))
These pins serve the dual purpose of
transmitting lower order address and data
byte.
During 1st clock cycle, these pins act as
lower half of address.
In remaining clock cycles, these pins act
as data bus.
The separation of lower order address and
data is done by address latch.
24. A8 – A15 (Pin 21-28 (Unidirectional))
These pins carry the higher order
of address bus.
The address is sent from microprocessor
to memory.
These 8 pins are switched to high
impedance state during HOLD and RESET
mode.
25. ALE (Pin 30 (Output))
It is used to enable Address Latch.
It indicates whether bus functions
as address bus or data bus.
If ALE = 1 then
Bus functions as address bus.
If ALE = 0 then
Bus functions as data bus.
26. S0 and S1 (Pin 29 (Output) and Pin 33 (Output))
S0 and S1 are called Status Pins.
Used to indicate type of
operation.
They tell the current
operation which is in progress
in 8085.
S0 S1 Operation
0 0 Halt
0 1 Write
1 0 Read
1 1 Opcode Fetch
27. IO/M (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.
28. IO/M (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.
Combining these two we get Memory Write Operation.
29. RD (Pin 32 (Output))
RD stands for Read.
It is an active low signal.
It is a control signal used for Read
operation either from memory or from
Input device.
A low signal indicates that data on the
data bus must be placed either from
selected memory location or from input
device.
30. WR (Pin 31 (Output))
WR stands for Write.
It is also active low signal.
It is a control signal used for Write
operation either into memory or into
output device.
A low signal indicates that data on the
data bus must be written into selected
memory location or into output device.
31. READY (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.
32. HOLD (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.
33. HLDA (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.
34. HLDA (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.
35. VSS and VCC (Pin 20 (Input) and Pin 40 (Input))
+5V power supply is connected to
VCC.
Ground signal is connected to VSS.