0% found this document useful (0 votes)
28 views

Unit 4 8085 Microprocessor

Note

Uploaded by

mohdfahadshariff
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Unit 4 8085 Microprocessor

Note

Uploaded by

mohdfahadshariff
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Unit 4

Introduction to 8085 Assembly language


programming
Microprocessor - Overview
Microprocessor is a controlling unit of a micro-computer, fabricated on a small
chip capable of performing ALU (Arithmetic Logical Unit) operations and
communicating with the other devices connected to it.
Microprocessor consists of an ALU, register array, and a control unit. ALU performs
arithmetical and logical operations on the data received from the memory or an
input device. Register array consists of registers identified by letters like B, C, D, E,
H, L and accumulator. The control unit controls the flow of data and instructions
within the computer.

Block Diagram of a Basic Microcomputer


Image of 8085 Microprocessor:

Introduction:
The 8085 microprocessor is an 8-bit microprocessor that was developed by Intel
in the mid-1970s. It was widely used in the early days of personal computing and
was a popular choice for hobbyists and enthusiasts due to its simplicity and ease
of use. The architecture of the 8085 microprocessor consists of several key
components, including the accumulator, registers, program counter, stack pointer,
instruction register, flags register, data bus, address bus, and control bus.
The accumulator is an 8-bit register that is used to store arithmetic and logical
results. It is the most commonly used register in the 8085 microprocessor and is
used to perform arithmetic and logical operations such as addition, subtraction,
and bitwise operations.
It has the following configuration −
 8-bit data bus
 16-bit address bus, which can address upto 64KB
 A 16-bit program counter
 A 16-bit stack pointer
 Six 8-bit registers arranged in pairs: BC, DE, HL
 Requires +5V supply to operate at 3.2 MHZ single phase clock
It is used in washing machines, microwave ovens, mobile phones, etc.
***8085 Microprocessor – Functional Units
8085 consists of the following functional units −
Accumulator
It is an 8-bit register used to perform arithmetic, logical, I/O & LOAD/STORE
operations. It is connected to internal data bus & ALU.
Arithmetic and logic unit
As the name suggests, it performs arithmetic and logical operations like Addition,
Subtraction, AND, OR, etc. on 8-bit data.
General purpose register
There are 6 general purpose registers in 8085 processor, i.e. B, C, D, E, H & L. Each
register can hold 8-bit data.
These registers can work in pair to hold 16-bit data and their pairing combination
is like B-C, D-E & H-L.
Program counter
It is a 16-bit register used to store the memory address location of the next
instruction to be executed. Microprocessor increments the program whenever an
instruction is being executed, so that the program counter points to the memory
address of the next instruction that is going to be executed.
Stack pointer
It is also a 16-bit register works like stack, which is always
incremented/decremented by 2 during push & pop operations.
Temporary register
It is an 8-bit register, which holds the temporary data of arithmetic and logical
operations.
Flag register
It is an 8-bit register having five 1-bit flip-flops, which holds either 0 or 1
depending upon the result stored in the accumulator.
These are the set of 5 flip-flops −
 Sign (S)
 Zero (Z)
 Auxiliary Carry (AC)
 Parity (P)
 Carry (C)
Its bit position is shown in the following table −

D7 D6 D5 D4 D3 D2 D1 D0

S Z AC P CY
Instruction register and decoder
It is an 8-bit register. When an instruction is fetched from memory then it is stored
in the Instruction register. Instruction decoder decodes the information present in
the Instruction register.
Timing and control unit
It provides timing and control signal to the microprocessor to perform operations.
Following are the timing and control signals, which control external and internal
circuits −
 Control Signals: READY, RD’, WR’, ALE
 Status Signals: S0, S1, IO/M’
 DMA Signals: HOLD, HLDA
 RESET Signals: RESET IN, RESET OUT
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.
There are 5 interrupt signals in 8085 microprocessor: INTR, RST 7.5, RST 6.5, RST
5.5, TRAP.
Serial Input/output control
It controls the serial data communication by using these two instructions: SID
(Serial input data) and SOD (Serial output data).
Address buffer and address-data buffer
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.
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.

***Pin Configuration

Fig: Pin diagram of Intel 8085 microprocessor


The descriptions of various pins are as follows:
Address Bus and Data Bus
o A8 : A15 (Output): These are address bus and are used for the most
significant bits of the memory address or 8-bits of I/O address.
o AD0 : AD7 (Input/output): These are time multiplexed address/data bus i.e.
they serve dual purpose. They are used for the least significant 8 bits of the
memory address or I/O address during the first cycle. Again they are used
for data during 2nd and 3rd clock cycles.
Control and Status Signals
o ALE (Output): ALE stands for Address Latch Enable signal. ALE goes high
during first clock cycle of a machine cycle and enables the lower 8-bits of
the address to be latched either into the memory or external latch.
o IO/M (Output): It is a status signal which distinguishes whether the address
is for memory or I/O device.
o S0, S1 (Output): These are status signals sent by the microprocessors to
distinguish the various types of operation given in table below:
Status codes for Intel 8085

S1 S0 Operations

0 0 HALT

0 1 WRITE

1 0 READ

1 1 FETCH
o RD (Output): RD is a signal to control READ operation. When it goes low,
the selected I/O device or memory is read.
o WR (Output): WR is a signal to control WRITE operation. When it goes low,
the data bus’s data is written into the selected memory or I/O location.
o READY (Input): It is used by the microprocessor to sense whether a
peripheral is ready to transfer a data or not. If READY is high, the peripheral
is ready. If it is low the microprocessor waits till it goes high.
Interrupts and Externally Initiated Signals
o HOLD (INPUT): HOLD indicates that another device is requesting for the use
of the address and data bus.
o HLDA (OUTPUT): HLDA is a signal for HOLD acknowledgement which
indicates that the HOLD request has been received. After the removal of
this request the HLDA goes low.
o INTR (Input): INTR is an Interrupt Request Signal. Among interrupts it has
the lowest priority. The INTR is enabled or disabled by software.
o INTA (Output): INTA is an interrupt acknowledgement sent by the
microprocessor after INTR is received.
o RST 5.5, 6.5, 7.5 and TRAP (Inputs): These all are interrupts. When any
interrupt is recognized the next instruction is executed from a fixed location
in the memory as given below:

Line Location from which next instruction is picked up

TRAP 0024

RST 5.5 002C

RST 6.5 0034

RST 7.5 003C


RST 7.5, RST 6.5 and RST 5.5 are the restart interrupts which cause an internal
restart to be automatically inserted.
The TRAP has the highest priority among interrupts. The order of priority of
interrupts is as follows:
o TRAP (Highest priority)
o RST 7.5
o RST 6.5
o RST 5.5
o INTR (Lowest priority).
Reset Signals
o RESET IN (Input): It resets the program counter (PC) to 0. It also resets
interrupt enable and HLDA flip-flops. The CPU is held in reset condition till
RESET is not applied.
o RESET OUT (Output): RESET OUT indicates that the CPU is being reset.
Clock Signals
o X1, X2 (Input): X1 and X2 are terminals to be connected to an external
crystal oscillator which drives an internal circuitry of the microprocessor. It
is used to produce a suitable clock for the operation of microprocessor.
o CLK (Output): CLK is a clock output for user, which can be used for other
digital ICs. Its frequency is same at which processor operates.
Serial I/O Signals
o SID (Input): SID is data line for serial input. The data on this line is loaded
into the seventh bit of the accumulator when RIM instruction is executed.
o SOD (Output): SOD is a data line for serial output. The seventh bit of the
accumulator is output on SOD line when SIM instruction is executed.
Power Supply
Vcc : +5 Vlots supply
Vss : ground reference

You might also like