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

8085 Microprocessor

The document provides information about the 8085 microprocessor, including its organization, pin layout, internal architecture, registers, addressing modes, and instruction set. It discusses assembly programming techniques like looping, counting, indexing, and simple programs. It also covers the stack and subroutines, interrupts and their priorities, memory interfacing concepts, and general purpose programmable devices like the 8255 and 8254. The document is intended to teach the fundamentals of microprocessors and their applications using the 8085 as an example.

Uploaded by

Sameer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
376 views

8085 Microprocessor

The document provides information about the 8085 microprocessor, including its organization, pin layout, internal architecture, registers, addressing modes, and instruction set. It discusses assembly programming techniques like looping, counting, indexing, and simple programs. It also covers the stack and subroutines, interrupts and their priorities, memory interfacing concepts, and general purpose programmable devices like the 8255 and 8254. The document is intended to teach the fundamentals of microprocessors and their applications using the 8085 as an example.

Uploaded by

Sameer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 42

Microprocessor and its applications

Organization of 8085: 9
Block diagram of a microprocessor based system and its description, Pin layout of 8085 µp and the function of each pin, internal architecture, de-multiplexing of the
bus, generating control signals, registers, modes of addressing, timing diagram for MOV and MVI instructions, 8085 serial i/o lines: SOD and SID.

Assembly Programming: 12
Instruction classification, instruction format, programming techniques- looping counting and indexing, simple programs based on data transfer, sorting arithmetic
operations, counters and time delays.

Stack and subroutine: 6


PUSH, POP, CALL and RET instruction, use of stack and subroutine.

Basic of Interrupts: 6
INTR, RST 5.5, RST 6.5, RST 7.5 & TRAP, their Priorities and implementation, important of SIM and RIM instruction, DMA transfer- HOLD and HLDA

Memory and basic Interfacing concept : 6


Classification of memory and recent advances, memory map and addresses, basic concept in memory interfacing, interfacing I/P and O/P devices using decoders,
memory maps i/p and peripheral map I/P, bus contention.

General Purpose programmable devices: 6


IC 8255- Block diagram, control words, programming in MODE 0, IC 8254, Block diagram, control words, programming only in MODE 0 and MODE 3.

Text Books:
1.Intro to Architecture, Hardware and programming with 8085 -R. Gaonkar,3rd Ed (PHI).

References:
1. Microprocessor Architecture, programming and Applications Tawade & Borole Technova pub
2. Microprocessor interfacing Douglas Hall (TMG)
Block diagram of a microprocessor based system
Features

• Introduced in 1977

• 8 bit microprocessor

• NMOS device

• Contains 6200 transistors apprx.

• Dimensions 164 mm x 222 mm

• 40 pin DIP
8085 board
8085 MPU

Bus Driver
A15
or Buffer High-Order Address Bus
A7 Low-Order Address Bus

A0
Latch to
Demultiplex
AD7 – AD0 Chip Select Chip Select Port Select Port Select Decoder
Decoder Decoder Decoder

IOW
IOR AND Gate AND Gate

8085
Microprocessor
(MPU) CS EPROM CS R/W Memory EN Encoder Key Board EN Latch LED Display
RD RD WR
MEMR

MEMR
Bus Driver
Control D7 Data Bus Bidirectional Data Bus
Logic
D0

MEMR

MEMR MEMW

MEMW
IOR
Gates
IOR IOW

IOW

8085 based Microcomputer


Microprocessor 8085
• 8-bit general purpose microprocessor
• Can address up to 64KByte of memory.
• 40 pin IC
• Uses +5V for power.
• Maximum frequency of 3 MHz

The pins on the chip can be grouped into 6 groups:


• Address Bus.
• Data Bus.
• Control and Status Signals.
• Power supply and frequency.
• Externally initiated Signals.
• Serial I/O ports.
8085 pin functions
Power Supply Signal and clock signal:
• VCC :- Vcc is to be connected to +5V power supply.
• Vss :- Ground reference

X1 and X2:-
• Provides clock frequency to the microprocessor.
• Generally Crystal oscillator is used.
• The frequency generated is internally divided by two.
• The internal operating frequency is 3 MHz.
Address Bus:
A8 - A15: (output; 3-state)
• Carries most significant 8 bits of the memory address or 8 bits of the I/O address.

Data bus:
AD0 - AD7 (input/output; 3-state)
• Multiplexed lines carry the lower order 8 bit address as well as data bus.
• During the opcode fetch operation, in the first clock cycle, the lines deliver the lower order
address A0 - A7.
• In the subsequent IO / memory, read / write clock cycle, the lines are used as data bus.
• The CPU may read or write out data through these lines.
Control and Status signals:

ALE (output) - Address Latch Enable


• It is an output signal used to give information of AD0-AD7 contents.
• It is a positive going pulse generated when a new operation is started by microprocessor.
• When high, indicates that contents on AD0-AD7 are address.
• When low, indicates that the contents are data.
RD (output 3-state, active low)
• Read memory or IO device.
• This indicates that the selected memory location or I/O device is to be read and
that the data bus is ready for accepting data from the memory or I/O device

WR (output 3-state, active low)


• Write memory or IO device.
• This indicates that the data on the data bus is to be written into the selected memory
location or I/O device.
IO /M (output)
• Select memory or an I/O device.
• This status signal indicates that the read / write operation relates to whether the
memory or I/O device.
• It goes high to indicate an I/O operation.
• It goes low for memory operations.
Interrupts and Externally initiated operations:

• They are the signals initiated by an external device to request the microprocessor to
do a particular task or work.
• There are five hardware interrupts called,
• TRAP
• RST 7.5
• RST 6.5
• RST 5.5
• INTA
Reset In (input, active low)
• This signal is used to reset the microprocessor.
• The program counter inside the microprocessor is set to zero.
• The buses are tri-stated.

Reset Out (Output)


• It indicates CPU is being reset.
• Used to reset all the connected devices when the microprocessor is reset.
8085 ARCHITECTURE BLOCK DIAGRAM
Register Section

• Temporary Register
• General Purpose Register
• Special Purpose Registers
Temporary Registers
• In 8085 available temporary register are temporary data register and W and Z re
gisters. These registers are not available to the programmer, but 8085 uses them
internally to hold temporary data during execution of some instructions.
• W and Z are two 8-bit temporary registers, used to hold 8-bit data/address during
execution of some instructions.
General Purpose Registers
• B,C,D,E,H &L are used as general purpose register.
• Each 8 bit long .
• These registers can also be used to work in pairs to hold 16-bit data.
• They can work in pairs such as B-C, D-E and H-L to store 16-bit data.
• The H-L pair works as a memory pointer.
• A memory pointer holds the address of a particular memory location.
• They can store 16-bit address as they work in pair.
Special Purpose Register

• Accumulator
• Status or Flag Register
• Instruction Register
• Program Counter
• Stack Pointer
Accumulator

• The accumulator is an 8-bit register that is a part of arithmetic/logic unit (ALU).


• This register is used to store 8-bit data and to perform arithmetic and logical
operations.
• The result of an operation is stored in the accumulator. The accumulator is also
identified as register A.
• It also works as a via register for I/O accesses i.e. it reads data from input device and
similarly can transfer data to output device.
Status or Flag Register

• Flag register is a group of flip flops used to give status of different operations result.
• The flag register is connected to ALU.
• Once an operation is performed by ALU the result is transferred on internal data bus
and status of result will be stored in flip flops.
• They are called Zero (Z), Carry (CY), Sign (S), Parity (P), and Auxiliary Carry (AC)
flags.
Flag Register…

• A flag register contains a number of flags either to indicate certain conditions arising
after arithmetic and logical operations or to control certain operations.
• The flags which indicate conditions are known as condition flags. The flags which are
used to control certain operations are called control flags.
• A flag is a flip-flop which is set or reset by the processor to indicate certain conditions
or set/reset by the programmer to control certain operations.
Carry flag(CY):
• If an operation performed in ALU generates the carry from D7 to next stage then CY flag is set,
else it is reset.
Auxiliary carry(AC):
• If an operation performed in ALU generates the carry from lower nibble (D0 to D3) to upper
nibble (D4 to D7) AC flag is set, else it resets.
Zero flag(z):
• If an operation performed in ALU results 0value of entire 8-bits then zero flag is set, else it resets
Sign flag(s):
• If MSB bit =0 then the number is positive, else it is negative.
Parity flag(p):
• If the result contains even no. of ones this flag is set and for odd no. of ones this flag is reset.
Instruction Register

• Temporary store for the current instruction of a program. Latest instruction


sent here from memory prior to execution. Decoder then takes instruction and
decodes or interprets the instruction. Decoded instruction then passed to next
stage.

• Instruction register is 8-bit register just like every other register of


microprocessor. Consider an instruction. The instruction may be anything like
adding two data's, moving a data, copying a data etc. When such an instruction
is fetched from memory, it is directed to Instruction register. So the instruction
registers are specifically to store the instructions that are fetched from memory.

• There is an Instruction decoder which decodes the information's present in the


Instruction register for further processing.
Program Counter

• This 16-bit register deals with sequencing the execution of instructions. This registe
r is a memory pointer. Memory locations have 16-bit addresses, and that is why this
is a16-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 t
he next byte is to be fetched. When a byte is being fetched, the program counter is
incremented by one to point to the next memory location.
Stack Pointer

• 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. The beginning of the stack is
defined by loading 16-bit address in the stack pointer.
• Stack pointer is also a 16-bit register which is used as a memory pointer.

• A stack is nothing but the portion of RAM (Random access memory).

• Stack pointer maintains the address of the last byte that is entered into stack.

• Each time when the data is loaded into stack, Stack pointer gets decremented.

• Conversely it is incremented when data is retrieved from stack


ALU

• The ALU performs the actual numerical and logic operation such as add, subtract,
AND, OR, etc. Uses data from memory and from Accumulator to perform arithmetic.
Always stores result of operation in Accumulator.

• It is not accessible by user.

• The word length of ALU depends upon of an internal data bus.

• IT is 8 bit. It is always controlled by timing and control circuits.

• It provides status or result of flag register.


Arithmetic and Logical Section

• Instruction Decoder and Machine cycle Encoder


• Address Buffer
• Address/Data Buffer
• Incrementer / Decrementer Address Latch
• Interrupt Control
• Serial I/O Control Group
• Timing And Control
Instruction Decoder and Machine cycle Encoder

• It accepts an OPCODE from instruction register, decodes it and gives the decoded inf
ormation to control logic.
• The information includes what operation is to be performed, who is going to perform
it, etc. It means it will understand the instruction in this block.
• The decoded information is given to the timing and control unit that provides control
signals
Address Buffer
• The contents of the stack pointer and program counter are loaded into the
address buffer and address-data buffer.
• These buffers are then used to drive the external address bus and address-data
bus.
• As the memory and I/O chips are connected to these buses, the CPU can
exchange desired data to the memory and I/O chips.
• The address-data buffer is not only connected to the external data bus but also to
the internal data bus which consists of 8-bits.
• The address data buffer can both send and receive data from internal data bus.
• The contents of the stack pointer and program counter are loaded into the
address buffer and address-data buffer. These buffers are then used to drive the e
xternal address bus and address-data bus. As the memory and I/O chips are c
onnected to these buses, the CPU can exchange desired data to the memory
and I/O chips.
• The address-data buffer is not only connected to the external data bus but also to
the internal data bus which consists of 8-bits. The address data buffer can
both send and receive data from internal data bus.
Incrementer/Decrementer Address Latch
• The 8-bit contents of a register or a memory location
can be incremented or decremented by 1.

• This 16-bit register is used to increment or decrement


the content of program counter and stack pointer registe
r by 1.

• Increment or decrement can be performed on any


register or a memory location.
Interrupt Control
• Consider that a microprocessor is executing the main program.
Now 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.

• For example an Input/output device may send an interrupt signal


to notify that the data is ready for input. The microprocessor
temporarily stops the execution of main program and transfers
control to I/O device. After collecting the input data the control
is transferred back to main program.
Serial I/O Control Group

• The data transferred on to data bus is parallel data,


but under some conditions it is advantageous to use
serial data transfer at that time this control group is
brought into application.
• The input and output of serial data can be carried
out using 2 instructions in 8085:
• 1. SID-Serial Input Data
• 2. SOD-Serial Output Data
Timing And Control
• Timing and control unit is a very important unit as it synchronizes the registers
and flow of data through various registers and other units.

• It accepts data from instruction decoder and generates micro steps to perform it
,in addition it accepts clock inputs for synchronizing operations.

• This unit consists of an oscillator and controller sequencer which sends control
signals needed for internal and external control of data and other units.

• 1. Control Signals: READY, RD(bar), WR(bar), ALE


• 2. Status Signals: S0, S1, IO/M(bar)
• 3. DMA Signals: HOLD, HLDA
• 4. RESET Signals: RESET IN(bar), RESET OUT.
Bus Organization
• What is a Bus?
• It is a set of pins, wires or signals having common functions
as bus.

• What is system Bus?


• A bus is a bundle of wires that are grouped together to serve
a single purpose in microprocessor, generally there are three
sets of communication lines that are called buses.
• They are address bus, the data bus and control bus.
Address Bus
• The bus over which the microprocessor sends out the address of a
memory location or I/O location is called as the address bus.
• In 8085 microprocessor, Address bus is of 16 bits. This means that
Microprocessor 8085 can transfer maximum 16 bit address which
means it can address 65,536 different memory locations.
• This bus is multiplexed with 8 bit data bus. So, the most significant
bits (MSB) of address goes through Address bus and LSB goes
through multiplexed data bus.
• In 8085 address bus is 16 bit A – A
0 15
Data Bus
• It is bi-directional as Microprocessor requires to send or receiver
data. The data bus also works as bus in 8 bits long.
• A data bus simply carries data. Internal buses carry information
within the processor, while external buses carry data between the
processor and the memory. Typically, the same data bus is used for
both read/write operations.
• When it is a write operation, the processor will put the data on to
the data bus. When it is the read operation, the memory controller
will get the data from the specific memory block and put it in to the
data bus.
• The data bus in8085 is of 8 parallel lines D – D
0 7
Control Bus
• The control bus is used for sending control signals to the memory a
nd I/O devices. The CPU sends control signal on the control bus to
enable the outputs of addressed memory devices or I/O port
devices.

• Some of the control bus signals are as follows:


• 1.Memory read
• 2.Memory write
• 3.I/O read
• 4.I/O write.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy