Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Intel 8085 is an 8-bit microprocessor which has 16 address lines for 16-bit address

of a memory location. 8 higher order address bits are transferred through 8 bit lines
out of this 16 address line while remaining lower order 8 bits of the address are
sent through another 8 lines multiplexed with the 8-bit data lines.
1. Address buffer and address-data buffer

Address buffers: These buffers are meant for unidirectional transfer of schematic addresses
which are only used for sending out the Most Significant Byte of the given address. The Most
Significant Byte of the address goes to the buffers from the address latch internally. Hence the
address sent out to the range of address ranging from AD15 to AD7 drives all the external chips,
like chips of RAM, chips of EPROM, and other peripheral chips.

The content stored in the stack pointer and program counter is loaded into the address buffer and
address-data buffer to communicate with the CPU. The memory and I/O chips are connected to
these buses; the CPU can exchange the desired data with the memory and I/O chips.

Obviously in a practical microcomputer system, the driving capacity of the address pins, after the
internal buffering, might not be satisfactory. So there must be external buffer chips to carry out
the work.

Address and data buffers are used for bidirectional data transfer. They perform the
unidirectional data transfer when they send out the Least Significant Byte of the address. These
buffers are only used for increasing the driving capacity of the current. Through the internal bus
data goes to the buffers. The Least Significant Byte of the address goes to the buffers from the
internal address latch to the other.

Hence the address or data are sent out on the address ranging from AD7 to AD0 can drive every
external chips, like chips of RAM, chips of EPROM, and other peripheral chips meant for
carrying the work. Likewise, all the data received by the 8085 microprocessor from the outside is
also buffered internally. The data on the range of address ranging from AD7 to AD0 also reaches
to the internal bus, from where the final destination is reached.

In fact, also in a practical microcomputer system, the driving capacity for the data pins, after the
internal buffering procedure, might not be satisfactory. So there will always be external buffer
chips to carry out the entire work.

Address bus and data bus

Data bus carries the data to be stored. It is bidirectional, whereas address bus carries the location
to where it should be stored and it is unidirectional. It is used to transfer the data & Address I/O
devices.

The main difference between address bus and data bus is that the address bus helps to transfer
memory addresses while the data bus helps to send and receive data. That is, the address bus
is used to specify a physical address in the memory while the data bus is used to transmit data
among components in both directions. Therefore, the address bus is unidirectional while the data
bus is bidirectional.
The address bus is a group of sixteen lines i.e A0-A15. The address bus is unidirectional, i.e.,
bits flow in one direction from the microprocessor unit to the peripheral devices and uses the
high order address bus.

2. Control and Status Signals:

ALE (Address Enable Latch) is the control signal which is nothing but a positive going
pulse generated when a new operation is started by microprocessor. So when pulse goes
high means ALE=1, it makes address bus enable and when ALE=0, means low pulse
makes data bus enable.

 It goes high during first T state of a machine cycle and enables the lower 8-bits of the
address, if its value is 1 otherwise data bus is activated.

IO/M
In Intel 8085 microprocessor I/O and memory operation are differentiated by IO/m`
status signal.
 IO/M` stands for ‘input-output/memory`.
It is a status signal which determines whether the address is for input-output or memory.
When it is high (1) the address on the address bus is for input-output devices. When it is
low (0) the address on the address bus is for the memory.

 When IO/M` is logic 0, it means that the address sent out by the processor is for
addressing a memory location. When IO/M` is logic 1, it means that the address sent out
by the processor is for addressing an I/O port.

SO, S1 – These are status signals. They distinguish the various types of operations such
as halt, reading, and instruction fetching or writing.

IO/M’ S1 S0 Data Bus Status


0 1 1 Opcode fetch
0 1 0 Memory read
0 0 1 Memory write
1 1 0 I/O read
1 0 1 I/O write
1 1 1 Interrupt acknowledge
0 0 0 Halt

 RD’ – It is a signal to control READ operation. When it is low the selected memory or
input-output device is read.
 WR’ – It is a signal to control WRITE operation. When it goes low the data on the data
bus is written into the selected memory or I/O location.
3. Power Supply and Clock Frequency:

 Vcc – +5v power supply


 Vss – Ground Reference
 XI, X2 – A crystal is connected at these two pins. The frequency is internally divided by
two, therefore, to operate a system at 3MHZ the crystal should have frequency of 6MHZ.
 CLK (OUT) – This signal can be used as the system clock for other devices.

4. Interrupts and Peripheral Initiated Signals:


The 8085 has five interrupt signals that can be used to interrupt a program execution.

(i) INTR
(ii) RST 7.5
(iii) RST 6.5
(iv) RST 5.5
(v) TRAP

The microprocessor acknowledges Interrupt Request by INTA’ signal. INTR – It is an interrupt


request signal.

INTA’ – It is an interrupt acknowledgment sent by the microprocessor after INTR is


received. The microprocessor acknowledges Interrupt Request by INTA signal.
INTR – It is an interrupt request signal.
 When microprocessor receives any interrupt signal from peripheral(s) which are
requesting its services, it stops its current execution and program control is transferred to
a sub-routine by generating CALL signal and after executing sub-routine by generating
RET signal again program control is transferred to main program from where it had
stopped.
 When microprocessor receives interrupt signals, it sends an acknowledgement (INTA) to
the peripheral which is requesting for its service.
TRAP
A non-maskable interrupt is a Trap Interrupt which implies that whenever this pin gets
activated, the 8085 always gets interrupted even if the state of 8085 is in DI. The input of
Trap input is level sensitive and edge sensitive. Hence the Trap line always makes a
transition from 0 to 1, and remains in state 1 until the end of the execution of an
instruction for the interruption of 8085.

RST

RST7.5 pin is an input which is edge-sensitive. Peripherals use it for sending a pulse,
rather than a sustained high level, for the interruption of the processor. Internal to 8085
we have a flip-flop which gets connected to the interrupt pin RST7.5. We set this flip-
flop to 1, when a positive-going edge occurs on the input RST 7.5. The waveform of pin
RST7.5 and output Q of RST7.5 flip-flop is shown in the Fig.
Internal interrupt signal RST7.5 has a priority higher than the internal interrupt signals of
RST6.5, RST5.5 and INTR.

Priority of Interrupts
When microprocessor receives multiple interrupt requests simultaneously; it will execute
the interrupt service request (ISR) according to the priority of the interrupts.

Interrupt control

As the name suggests it controls the interrupts during a process. 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.

Interrupts can be classified into various categories based on different parameters:

1. Hardware and Software Interrupts

When microprocessors receive interrupt signals through pins (hardware) of


microprocessor, they are known as Hardware Interrupts. There are 5 Hardware Interrupts
in 8085 microprocessor. They are – INTR, RST 7.5, RST 6.5, RST 5.5, and TRAP

Software Interrupts are those which are inserted in between the program which means
these are mnemonics of microprocessor. There are 8 software interrupts in 8085
microprocessor. They are – RST 0, RST 1, RST 2, RST 3, RST 4, RST 5, RST 6, and RST
7.

2. Vectored and Non-Vectored Interrupts –


Vectored Interrupts are those which have fixed vector address (starting address of sub-
routine) and after executing these, program control is transferred to that address.
Vector Addresses are calculated by the formula 8 * TYPE
INTERRUPT VECTOR ADDRESS
TRAP (RST 4.5) 24 H
RST 5.5 2C H
RST 6.5 34 H
RST 7.5 3C H

For Software interrupts vector addresses are given by:

INTERRUPT VECTOR ADDRESS


RST 0 00 H
RST 1 08 H
RST 2 10 H
RST 3 18 H
RST 4 20 H
RST 5 28 H
RST 6 30 H
RST 7 38 H

A vectored-interrupt in 8085 is a TRAP. The starting address of 8085 is known by itself the of
the ISS as 4.5 * 8 = 0024H. Hence we name the TRAP pin equivalently as RST 4.5. It is referred
as trap by INTEL. Non-maskable interrupt is TRAP. At location 4.5 * 8, we do not have the ISS.
As an example, in the ALS kit we have instruction JMP 0182H in the 3 bytes starting at 4.5 * 8 =
0024H.
Non-Vectored Interrupts are those in which vector address is not predefined. The
interrupting device gives the address of sub-routine for these interrupts. INTR is the only
non-vectored interrupt in 8085 microprocessor.

3. Maskable and Non-Maskable interrupts


Maskable Interrupts are those which can be disabled or ignored by the microprocessor.
These interrupts are either edge-triggered or level-triggered, so they can be disabled.
INTR, RST 7.5, RST 6.5, RST 5.5 are maskable interrupts in 8085 microprocessor.

Non-Maskable Interrupts are those which cannot be disabled or ignored by


microprocessor. TRAP is a non-maskable interrupt. It consists of both level as well as
edge triggering and is used in critical power failure conditions.

Instruction for Interrupts –

1. Enable Interrupt (EI) – The interrupt enable flip-flop is set and all interrupts are
enabled following the execution of next instruction followed by EI. No flags are affected.
After a system reset, the interrupt enable flip-flop is reset, thus disabling the interrupts.
This instruction is necessary to enable the interrupts again (except TRAP).
2. Disable Interrupt (DI) – This instruction is used to reset the value of enable flip-flop
hence disabling all the interrupts. No flags are affected by this instruction.
3. Set Interrupt Mask (SIM) – It is used to implement the hardware interrupts (RST 7.5,
RST 6.5, RST 5.5) by setting various bits to form masks or generate output data via the
Serial Output Data (SOD) line. First the required value is loaded in accumulator then
SIM will take the bit pattern from it.
4. Read Interrupt Mask (RIM) – This instruction is used to read the status of the hardware
interrupts (RST 7.5, RST 6.5, RST 5.5) by loading into the A register a byte which
defines the condition of the mask bits for the interrupts. It also reads the condition of SID
(Serial Input Data) bit on the microprocessor.

5. Reset Signals:

RESET IN’ – When the signal on this pin is low (0), the program-counter is set to zero,
the buses are tristated and the microprocessor unit is reset.

This signal is used to reset the microprocessor by setting the program counter to zero.

RESET OUT – This signal indicates that the MPU is being reset. The signal can be used
to reset other devices.

 This signal is used to reset all the connected devices when the microprocessor is reset.

4. DMA Signals:
In addition to Interrupts, there are three externally initiated signals namely RESET,
HOLD and READY.
HOLD – It indicates that another device is requesting the use of the address and data bus.
Having received HOLD request the microprocessor relinquishes the use of the buses as
soon as the current machine cycle is completed. Internal processing may continue. After
the removal of the HOLD signal the processor regains the bus.

HLDA – It is a signal which indicates that the hold request has been received after the
removal of a HOLD request, the HLDA goes low.

 To respond to HOLD request, it has one signal called HLDA.

 Two control signals are used to request and acknowledge a direct memory access (DMA) transfer
in the microprocessor-based system. The HOLD signal as an input (to the processor) is used to
request a DMA action. The HLDA signal as an output that acknowledges the DMA action.

READY – It senses whether a peripheral is ready to transfer data or not. If READY is


high (1) the peripheral is ready. If it is low (0) the microprocessor waits till it goes high.
It is useful for interfacing low speed devices.

 This signal indicates that the device is ready to send or receive data.

7. Serial I/O Ports:


Serial transmission in 8085 is implemented by the two signals,

SID and SOD – SID is a data line for serial input whereas SOD is a data line for serial output.

It controls the serial data communication by using these two instructions: SID (Serial input data)
and SOD (Serial output data).

1. Serial Output Data (SOD)


2. Serial Input Data (SID)

They both are specially made for Input/ Output which is further controlled by software. The
transfer of data is controlled with the help of two instructions, i.e, SIM and RIM.

Now, let’s see both the pins one-by-one:

 Serial Output Data (SOD):

The SIM Instruction should be initiated in order to output data in serial manner. This is done
through the SOD Line.

 Serial Input Data (SID):


In SID, the RIM Instruction is initiated to input data in a serial manner. This is done through SID
line.
It can be represented as:
In 8085 Instruction set, SIM (Set Interrupt Mask) and RIM (Read Interrupt Mask) instructions
can perform mask and unmask RST7.5, RST6.5, and RST5.5 interrupt pins and can also read
their status.

In 8085 Instruction set, SIM stands for “Set Interrupt Mask”. It is 1-Byte instruction and it is a
multi-purpose instruction. The main uses of SIM instruction are –

 Masking/unmasking of RST7.5, RST6.5, and RST5.5


 Reset to 0 RST7.5 flip-flop
 Perform serial output of data

In 8085 Instruction set, RIM stands for “Read Interrupt Mask”. It is a 1-Byte multi-
purpose instruction. It is used for the following purposes.

 To check whether RST7.5, RST6.5, and RST5.5 are masked or not;


 To check whether interrupts are enabled or not;
 To check whether RST7.5, RST6.5, or RST5.5 interrupts are pending or not;
 To perform serial input of data.

 Advantage:
In a software controlled Input / Output system, the SID and SOD lines eliminate the need
of an input and output port respectively.

The 8085 is an 8-bit microprocessor. It was produced by Intel and first introduced in 1976. The
8086 is enhanced version of 8085 microprocessor. It is 16-bit processor. Now let us see some
basic differences between these two.

Property 8085 Microprocessor 8086 Microprocessor


Data Bus Size 8-Bit 16-Bit
Address Bus Size 16-bit 20-bit
Clock Speed 3MHz Varies in range 5.8 – 10 MHz
Duty Cycle for clock 50% 33%
It has 5 flags (Sign, Zero, It has 9 flags (Overflow, Direction,
Flags Auxiliary Carry, Parity, Interrupt. Trap, Sign, Zero, Auxiliary
Carry) Carry, Parity, Carry)
Pipelining Support Does not support Supports
Memory Segmentation
Does not support Supports
supports
Number of transistors Nearly 6500 Nearly 29000
Processor type Accumulator based General Purpose register based
Presence of Minimum
Not present Present
and Maximum mode
Number of processors Only one processor is used More than one processor is used.
Additional processor (external) can also
be employed
Memory Size 64KB 1MB
No multiplication and Multiplication and Division operations
Instruction
division instruction are present
Instruction Queue
Does not support Supports
Support

You might also like