8085 Microprocessor Noble
8085 Microprocessor Noble
Noble P. Abraham
• Microprocessor: A silicon chip that contains a CPU. In the world of
personal computers, the terms microprocessor and CPU are used
interchangeably.
• A microprocessor (sometimes abbreviated μP) is a digital electronic
component with miniaturized transistors on a single semiconductor
integrated circuit (IC).
• One or more microprocessors typically serve as a central processing unit
(CPU) in a computer system or handheld device.
• Microprocessors made possible the advent of the microcomputer.
• At the heart of all personal computers and most working stations sits a
microprocessor.
• Microprocessors also control the logic of almost all digital devices, from
clock radios to fuel-injection systems for automobiles.
• Three basic characteristics differentiate microprocessors:
– Instruction set: The set of instructions that the microprocessor can execute.
– Bandwidth: The number of bits processed in a single instruction.
– Clock speed: Given in megahertz (MHz), the clock speed determines how
many instructions per second the processor can execute.
• Microcontroller: A highly integrated chip that contains all the components
comprising a controller.
• Typically this includes a CPU, RAM, some form of ROM, I/O ports, and timers.
• Unlike a general-purpose computer, which also includes all of these components, a
microcontroller is designed for a very specific task - to control a particular system.
• A microcontroller differs from a microprocessor, which is a general-purpose chip
that is used to create a multi-function computer or device and requires multiple
chips to handle various tasks.
• A microcontroller is meant to be more self-contained and independent, and
functions as a tiny, dedicated computer.
• The great advantage of microcontrollers, as opposed to using larger
microprocessors, is that the parts-count and design costs of the item being
controlled can be kept to a minimum.
• They are typically designed using CMOS (complementary metal oxide
semiconductor) technology, an efficient fabrication technique that uses less power
and is more immune to power spikes than other techniques.
• Microcontrollers are sometimes called embedded microcontrollers, which just
means that they are part of an embedded system that is, one part of a larger
device or system.
8085 μp
• It is a 8 bit microprocessor.
• It is manufactured with N-MOS technology.
• It has 16-bit address bus and hence can address up to 216 = 65536
bytes (64KB) memory locations through A0-A15.
• The first 8 lines of address bus and 8 lines of data bus are
multiplexed AD0 – AD7.
• Data bus is a group of 8 lines D0 – D7.
• It supports external interrupt request.
• A 16 bit program counter (PC)
• A 16 bit stack pointer (SP)
• Six 8-bit general purpose register arranged in pairs: BC, DE, HL.
• It requires a signal +5V power supply and operates at 3.2 MHZ
single phase clock.
• It is enclosed with 40 pins DIP (Dual in line package).
Pin Diagram
8085 Architecture
• The microprocessor can be programmed to
perform functions on given data by writing
specific instructions into its memory.
• The microprocessor reads one instruction at a
time, matches it with its instruction set, and
performs the data manipulation specified.
• The result is either stored back into memory
or displayed on an output device.
Bus Structure
• The 8085 uses three separate busses to
perform its operations
– The address bus.
– The data bus.
– The control bus.
The Address Bus
• 16 bits wide (A0 A1…A15)
• Therefore, the 8085 can access locations with
numbers from 0 to 65,536. Or, the 8085 can
access a total of 64K addresses.
• “Unidirectional”.
• Information flows out of the microprocessor and
into the memory or peripherals.
• When the 8085 wants to access a peripheral or a
memory location, it places the 16-bit address on
the address bus and then sends the appropriate
control signals.
The Data Bus
• 8 bits wide (D0 D1…D7)
• “Bi-directional”.
• Information flows both ways between the
microprocessor and memory or I/O.
• The 8085 uses the data bus to transfer the
binary information.
• Since the data bus has 8-bits only, then the
8085 can manipulate data 8 bits at-a-time
only.
The Control Bus
• There is no real control bus. Instead,
the control bus is made up of a
number of single bit control signals.
• To communicate with a memory, for
example as shown figure, to read an
instruction from a memory location
– The MPU places the 16-bits address on
the address bus.
– The address on the bus is decoded by
external logic circuits and memory
location is identified.
– MPU sends a pulse called Memory Read
as the control signal.
– The pulse activates the memory chip,
and the contents of the memory
location i.e. (8-bit Data) are placed on
the data bus and brought inside the
microprocessor.
Operation Types in a Microprocessor
• All of the operations of the microprocessor
can be classified into one of three types:
– Microprocessor Initiated Operations
– Internal Operations
– Peripheral Initiated Operations
Microprocessor Initiated Operations
• These are operations that the microprocessor
itself starts.
• These are usually one of 4 operations:
– Memory Read
– Memory Write
– I/O Read (Get data from an input device)
– I/O write (Send data to an output device)
• It is important to note that the microprocessor
treats memory and I/O devices the same way.
Microprocessor Initiated Operations
• Input and output devices simply look like memory
locations to the microprocessor.
– For example, the keyboard may look like memory address
A3F2H. To get what key is being pressed, the
microprocessor simply reads the data at location A3F2H.
• The communication process between the
microprocessor and peripheral devices consist of the
following three steps:
– Step 1: Identify the peripheral or the memory location
(with its address).
– Step 2: Transfer the binary information (Data and
Instruction).
– Step 3: Provide timing or synchronization signals.
Internal Data Operations
• The 8085 can perform a number of internal
operations. Such as: storing data, Arithmetic &
Logic operations, Testing for condition, etc.
– To perform these operations, the microprocessor
needs an internal architecture similar to the
following:
Externally Initiated Operations
• External devices can initiate (start) one of the 4 following operations:
• Reset
– All operations are stopped and the program counter is reset to 0000.
• Interrupt
– The microprocessor’s operations are interrupted and the microprocessor executes what
is called a “service routine”.
– This routine “handles” the interrupt, (perform the necessary operations). Then the
microprocessor returns to its previous operations and continues.
• Ready
– The 8085 has a pin called RDY. This pin is used by external devices to stop the 8085 until
they catch up.
– As long as the RDY pin is low, the 8085 will be in a wait state.
• Hold
– The 8085 has a pin called HOLD. This pin is used by external devices to gain control of
the busses.
– When the HOLD signal is activated by an external device, the 8085 stops executing
instructions and stops using the busses.
– This would allow external devices to control the information on the busses.
The Design and Operation of Memory
• Memory in a microprocessor system is where
information (data and instructions) is kept. It can be
classified into two main types:
– Main memory (RAM and ROM)
– Storage memory (Disks , CD ROMs, etc.)
• The simple view of RAM is that it is made up of
registers that are made up of flip-flops (or memory
elements).
• The number of flip-flops in a “memory register”
determines the size of the memory word.
• ROM on the other hand uses diodes instead of the flip-
flops to permanently hold the information.
Registers
• Accumulator or A register is an 8-bit register used
for arithmetic, logic, I/O and load/store
operations.
• Flag Register has five 1-bit flags.
– Sign - set if the most significant bit of the result is
set. Accumulator
– Zero - set if the result is zero. and Flag
– Auxiliary carry - set if there was a carry out from bit Register can be
3 to bit 4 of the result. combined as a
register pair
– Parity - set if the parity (the number of set bits in the called Program
result) is even. Status Word
– Carry - set if there was a carry during addition, or (PSW)
borrow during subtraction/comparison/rotation.
• The Program Counter (PC)
– This is a register that is used to control the sequencing of
the execution of instructions.
– This register always holds the address of the next
instruction.
– Since it holds an address, it must be 16 bits wide.
• The Stack pointer
– The stack pointer is also a 16-bit register that is used to
point into memory.
– The memory this register points to is a special area called
the stack.
– The stack is an area of memory used to hold data that will
be retrieved soon.
– The stack is usually accessed in a Last In First Out (LIFO)
fashion.
– This register is always decremented/incremented by 2
during push and pop.
General Purpose Registers
• 8-bit B and 8-bit C registers can be used as one 16-bit BC
register pair. When used as a pair the C register contains
low-order byte. Some instructions may use BC register as a
data pointer.
• 8-bit D and 8-bit E registers can be used as one 16-bit DE
register pair. When used as a pair the E register contains
low-order byte. Some instructions may use DE register as a
data pointer.
• 8-bit H and 8-bit L registers can be used as one 16-bit HL
register pair. When used as a pair the L register contains
low-order byte. HL register usually contains a data pointer
used to reference memory addresses.
Tri-State Buffers
• An important circuit element that is used
extensively in memory.
• This buffer is a logic circuit that has three
states:
– Logic 0, logic1, and high impedance.
• When this circuit is in high impedance mode it
looks as if it is disconnected from the output
completely
Instruction Set
• 8085 instruction set consists of the following
instructions:
– Data moving instructions.
– Arithmetic - add, subtract, increment and decrement.
– Logic - AND, OR, XOR and rotate.
– Control transfer - conditional, unconditional, call
subroutine, return from subroutine and restarts.
– Input/Output instructions.
– Other - setting/clearing flag bits, enabling/disabling
interrupts, stack operations, etc.
Addressing mode
• Register - references the data in a register or
in a register pair.
• Register indirect - instruction specifies register
pair containing address, where the data is
located.
• Direct, Immediate - 8 or 16-bit data.
Interrupts
References
• Microprocessor architecture, programming
and applications- Ramesh S. Gaonkar
• Fundamentals of Microprocessors and
microcomputers- B. Ram (Dhanpat Rai Pub.)
• Microcomputers and Microprocessors- John
Uffenbeck (PHI Pub.)