Nothing Special   »   [go: up one dir, main page]

1 MP 8085

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 55

Introduction

• Intel 8085 is an 8 bit microprocessor introduced by


Intel in 1977.
• The 8085 follows the von Neumann architecture with
a 16 bit address bus and 8 bit data bus.
• It can access 216 (65536) individual 8 bit memory
locations (64KB)
• Has built in register:
– A (accumulator), B,C,D,E,H and L (8 bit)
– Special purpose register: 16 bit program counter,
stack pointer, and 8 bit flag register
Von Neumann Architecture

• Share memory for program and data with one


data bus and one address bus between processor
and memory.
• Instruction and data have to be fetched in
sequential order, limiting the operation
bandwidth.
• Its design is simpler than that of architecture.
• It is mostly used to interface to external memory.
Harvard Architecture
• Uses physically separate memories for
instruction and data, requiring dedicated
buses for each of them.
• Instruction and operands can be fetched
simultaneously.
• Different program and data bus widths are
possible, allowing program and data memory
to be better optimized to the architectural
requirements.
Von Neumann architecture vs Harvard architecture
Intel 8085
8085 microprocessor
• DIP/DIL or DIPP: dual in-line package
or dual in-line pin package

• Plastic Leaded Chip Carrier(PLCC)

• Quad Flat Package


8085 microprocessor
• Has single 5volt power supply
• Clock oscillator and system controller were
integrated on the chip.
• The CPU included serial I/O port.
• Multiple version of 8085 microprocessor.
Version of 8085 microprocessor

• Original version without suffix A is from Intel.


• Then replaced by 8085A, HMOS version and CMOS
version.
• Second source manufacturer: AMD, mitsubishi, NEC,
OKI, Siemens, Toshiba
Cont..
Introduction
•μp is a programmable integrated device that has
computing and decision making capability, similar to
CPU of a computer.
•Can be:
– 1) embedded in a larger system
– 2) a stand alone unit controlling processor
•μp communicates and operates in the binary number
0 & 1, called bits.
•Each μp has a fixed set of instructions in the form of
binary patterns called machine language.
•The binary instructions are given abbreviated names,
called mnemonics, form the assembly language.
Microprocessor

• A μp is a multipurpose, programmable, clock-driven,


register based electronic device that reads binary
instructions from a storage device called memory,
accepts binary data as input and process data
according to those instructions and provides results
as output.
Cont..
• A typical programmable machine can be
represented with 4 components:
– Microprocessor
– Memory
– Input
– Output
• These 4 components will form a system.
• The physical components --> hardware
• A set of instructions program
• A group of program is called software
Cont..

• The μp applications are clssified primarily in two


categories:
– Reprogrammable system (PC)
– Embedded system (washing machine)
• In embedded system, μp is a part of a final
product and is not available for reprogramming to
the end user.
Binary Digits

• μp operates in binary digits, 0 & 1, known as


bits.
• Represented in terms of electrical voltage.
• A group of bits called a word.
• μp p with an 8 bit word is known as an 8 bit
μp.
μp as a CPU

• μp is a primary components of a computer.


• The computer has 4 components:
– Memory
– Input
– Output
– CPU
• CPU contains various registers to store data , the ALU
to perform arithmetic and logical operations,
instruction decoders, counter and control lines.
Arithmetic Logic unit

• Is the area of microprocessor where various


computing functions are performed on data
such as addition, subtraction, logic operations
(AND, Or and exclusive OR).
Register Array
• This area of μp identified by letters such as B,
C, D, E,H and L.
• Used to store data temporarily during the
execution of a program and are accessible to
the user through instructions.
Control Unit
• Provides the necessary timong and control
signals to all the operations in the
microcomputer.
• Control the flow of data between μp and
memory and peripheral.
Memory

• Two types of memory:


– ROM (read only memory)
– RAM ( random access memory)
Input/Output

• Used to communicate with the outside world.


• The I/O device is knows as peripherals.
• Input devices:
– Keyboard
– Switches
– ADC
• Output devices:
– LED
– DAC
– LCD
System Bus
• Is a communication path between
microprocessor and peripherals.
• A group of wires to carry bits.
• Three types of bus:
– Address bus
– Data bus
– Control bus
Cont..
High Level Language

• Programming languages that are intended to be


machine –independent are called high level
language.
• Examples: BASIC, PASCAL, C, C++ and Java.
• Instructions written in these langugaes are called
statements rather than mnemonics.
• Compiler is used to convert the statements to binary
languages.
Cont..

• This translation in the machine language is called object code.


• Compiler requires large memory space because the
statements requires several machine codes to translate it to
binary.
• There is one to one correspondence between the assembly
language mnemonics and the machine code. Thus assembly
language are compact and use less memory space.
• The advantage of high level language is in troubleshooting
(debugging) programs. Much easier to find errors in a
program, in high level language.
• Application: traffic control-assembly language
• Application: video games, billing where memory is not a
limitation- high level language
1st unit:

• 8085 as the main microprocessor


– Introduction
– 8085 pins and their applications
– 8085 Architecture & Programming
– 8085 Interfacing Techniques
– Introduction to other 8-bit
microprocessors Z80, MC6800
Introduction

A microprocessor is the main component


of a microcomputer system and is also
called as CPU (Central Processing Unit).
This module is designed to give
introduction to some elementary terms
related to a microcomputer system. The
topics covered are:
– Microprocessor as CPU
– Hardware and Software
– Input & Output Devices
– Memories
8085 Pins

• For complete understanding of the interfacing circuits of


memory, I/O devices etc. to the 8085 CPU it is required
to learn about the functions of all the pins of 8085. The
pins of 8085 are classified in following groups:
– Address and Data pins
– Control & status pins
– Interrupt pins
– Serial I/O pins
– Clock pins
– Reset pins
– DMA pins
– Power supply pins
8085 Architecture

• To develop programs for 8085, it is required to


completely understand the internal functional blocks
of 8085. 8085 architecture includes following
functional blocks:
– 8085 Registers
– Timing and control unit
– ALU
– Interrupt control unit
– Serial I/O control unit
– Instruction decoder & encoder unit
Programming the 8085

• Programming of 8085 requires complete


knowledge of the instruction set and its
structure. This requires study of-
– 8085 Instruction set
– 8085 addressing modes
– One, two & three bytes instruction
– Programming examples
Interfacing Techniques

• A microcomputer system consist of a minimum of


memory & I/O devices. To connect these devices
properly with 8085 is referred to as interfacing. This
module provides interfacing techniques for-
– RAM & ROM
– I/O devices
– Special purpose programmable devices
such as 8255, 8253/8254, 8257, 8259
Module V-Introduction to other 8-bit
microprocessors

• This module is designed to develop an


introductory knowledge about some other
8-bit microprocessors used in embedded
technology. The microprocessors covered in
this module are:
– Z80 of Zilog
– MC6800 of Motorola Corporation
Introduction: Microcomputer & Microprocessor

• A microcomputer is a programmable machine. Modern computers


are electronic and digital. The two principal characteristics of a
computer are:
– It responds to a specific set of instructions in a well-defined manner.
– It can execute a prerecorded list of instructions (a program)
– Its main components are
• CPU
• Input & Output devices
• memory
• A microprocessor is a programmable VLSI chip which controls and
performs all operations in a microcomputer. Its main units are-
– ALU
– Registers
– Control Unit
Block diagrams
(Microcomputer & Microprocessor)
Hardware

• All general-purpose computers require the following


hardware components:
– Memory: Enables a computer to store data and programs.
– Mass storage device: Allows a computer to permanently retain large
amounts of data. Common mass storage devices include disk drives
and tape drives.
– Input device: Usually a keyboard and mouse are the input device
through which data and instructions enter a computer.
– Output device: A display screen, printer, or other device that lets you
see what the computer has accomplished.
– Central processing unit (CPU): The heart of the computer, this is the
component that actually executes instructions.
Software

• The programs and data stored in a microcomputer is called


as software.
• Programs can be written in low level languages or high level
languages.
• A low level language can be binary language or assembly
language.
– A CPU recognizes only binary language which is called as machine
language.
– Assembly language instructions contain alphabets and/or numeric
characters. To run assembly language programs a converter called
as assembler is required.
• High level languages are more user friendly and contain
simple words of English language. To run high level
programs, converters such as compilers or interpreters are
required.
Input & Output Devices

• Input devices are used to input electrical or physical


information in a microcomputer system in digital form.
– In embedded applications, commonly used input devices
are simple switches and sensors.
– In general purpose microcomputers, input devices can be
keyboards, scanners, mouse etc.
• Output devices are used to display or perform required
operation.
– In embedded applications commonly used output devices
are LED display units, LCD display units, stepper motors etc.
– In general purpose computers output devices are mainly
CRTs, LCD screens, LED screens, Printers etc.
Memories

• Memory in a microcomputer system is used to store data and


programs temporarily or permanently.
– The memories of primary concern for the CPU are only RAM & ROM
which are called as primary memory or main memory. The CPU, at any
time, only communicates with RAM & ROM.
– Other than primary memories, there are also secondary memories
which are used for mass storage of data and programs and are
transferred to the primary memory when required to be executed by
the CPU. Examples of secondary memories are Hard Disks, Floppy
Disks, DVDs, flash drives etc.
Memory Classification
Pin description
• Higher Order Address pins- A15 – A8
• Lower Order Address/ Data Pins- AD7-AD0
– These are time multiplexed pins and are de-multiplexed
using the pin ALE
• Control Pins – RD, WR
– These are active low Read & Write pins
• Status Pins – ALE, IO/M (active low), S1, S0
– ALE (Address Latch Enable)-Used to de-multiplex AD7-AD0
– IO/M – Used to select I/O or Memory operation
– S1,S0 – Denote the status of data on data bus
• Interrupt Pins – TRAP, RST7.5, RST 6.5, RST 5.5, INTR, INTA
– These are hardware interrupts used to initiate an interrupt
service routine stored at predefined locations of the system
memory.
• Serial I/O pins – SID (Serial Input Data), SOD (Serial Output
Data)
– These pins are used to interface 8085 with a serial device.
Pin Description Contd.
• Clock Pins- X1, X2, CLK(OUT)
– X1, X2- These are clock input pins. A crystal is connected
between these pins such that fcrystal= 2f8085 where fcrystal= crystal
frequency & f8085 = operating frequency of 8085
– CLK(OUT) – This is an auxiliary clock output source

• Reset Pins – Reset In (active low), Reset Out


– Reset In is used to reset 8085 whereas Reset Out can be used to
reset other devices in the system

• DMA (Direct Memory Access) pins – HOLD, HLDA


– These pins are used when data transfer is to be performed
directly between an external device and the main memory of
the system.

• Power Supply Pins - +VCC, VSS


8085 Architecture
8085 Architecture Contd..

• The Registers are of 8-bit & 16-bit size used for different purposes
– A- Accumulator – This is an special purpose register. All the ALU
operations are performed with reference to the
contents of Accumulator.
– B,C,D,E,H,L – General purpose registers. These registers can also
be used for 16-bit operations in pairs. The default
pairs are BC, DE & HL.
– F – Flag register – This register indicates the status of the ALU
operation.
– PC – Program Counter – This is a 16-bit register used to address
the memory location from where an
instruction is going to be executed.
– SP – Stack pointer - This is a 16-bit register used to address the
top of the stack memory location.
– Temporary register, W & Z – These registers are only used by
8085 and are not available for the
programmer.
8085 Architecture Contd..

• ALU – Arithmetic & Logic Unit


– ALU of 8085 performs 8-bit arithmetic & logical operations. The operations
are generally performed with Accumulator as one of the operands. The
result is saved in accumulator register.
• Timing & Control Unit
– This unit works as the brain of the CPU and generates all the timing and
control signals to perform all the internal & external operations of the CPU.
• Instruction Decoder & Machine Cycle Encoder Unit
– 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.
Instruction Set

• Instruction set of 8085 can be classified in following groups:


– Data Transfer Instructions
• These instructions can perform data transfer
operations between
– Registers of 8085 e.g. MOV
– 8085 registers and main memory e.g. LDA, STA, MOV, LDAX,
STAX, MVI, LXI etc.
– Accumulator register and I/O devices e.g. IN, OUT
• Data transfer instructions never affect the flag bits
Instruction Set Contd..

• Arithmetic Instructions
– 8085 can perform only 8-bit addition, subtraction and compare
operations. These operations are always performed with
accumulator as one of the operands. The status of the result can
be verified by the contents of the flag register.
– Op-codes for arithmetic instructions include ADD, ADI, ADC, ACI,
SUB, SUI, SBB, SBI, CMP, CPI
• Logical Instructions
– 8085 can perform 8-bit basic logical operations -AND, OR, XOR,
NOT with some special operations such as rotate and shift
operations
– Logical instructions also modify the flag bits.
– Op-codes for logical instructions include ANA, ANI, ORA, ORI, XRA,
XRI, CMA, RAL, RLC, RAR, RRC etc.
Instruction Set Contd..

• Program Control Instructions


– These instructions are used to transfer the program
control:
• to jump from one memory location to any other memory
location within a program
• from one program to another program called as a subroutine
– 8085 Instruction set consists of following program
control instructions:
• Jump Instructions
• Call & Return Instructions
• Restart instructions
Instruction Set Contd..

– Program control instructions


• Unconditional or Conditional
– Unconditional program control instructions perform
branching operation unconditionally
– Conditional program control instructions perform
branching operation with reference to the condition of
flag bits.
Instruction Set Contd..

• Unconditional Program control instructions are


– JMP
– Call & RET
– RST n (n=0-7)
• Conditional Program control instructions are
– JNC, JC, JNZ, JZ, JP, JM, JPE, JPO
– CNC, CC, CNZ, CZ, CP, CM, CPE, CPO
– RNC, RC, RNZ, RZ, RP, RM, RPE, RPO
Instruction Set Contd..

• Machine control Instructions


• These instructions include special instructions such
as
– HLT – To halt the CPU
– NOP – To perform no operation
– SIM – To set the masking of hardware interrupts
and serial output data
– RIM – To read the status of interrupt mask and
serial input data
– EI – Enable Interrupt
– DI – Disable Interrupt
Addressing Modes

• 8085 instructions can be classified in


following addressing modes
– Register Addressing mode
• Instructions which have their operands in registers only
e.g. MOV, ADD, SUB, ANA, ORA, XRA etc.
– Immediate Addressing mode
• Instructions in which operand immediately follows the
op-code e.g. MVI, LXI, ADI, SUI, ANI, ORI etc.
– Direct Addressing mode
• Instructions have their operands in memory and the
16-bit memory address is specified in the instruction e.g.
LDA, STA, LHLD, SHLD etc.
Addressing Modes Contd..

– Register Indirect Addressing mode


• Instructions have their operand in memory and the 16-bit
memory address is specified in a register pair e.g. LDAX,
STAX, PUSH, POP etc.
– Implicit Addressing mode
• These instruction have their operand implied in the op-
code itself e.g. CMA, CMC, STC etc.
Instruction size

• An instruction is assembled in the memory of a


microcomputer system in binary form. The size of an
instruction signifies how much memory space is required
to load an instruction in the memory. 8085 instructions
are of following sizes:
– One-byte Instructions
e.g. MOV, ADD, ANA, SUB, ORA etc.
– Two-byte instructions
e.g. MVI, ADI, ANI, ORI, XRI etc.
– Three-byte instructions
e.g. LXI, LDA, STA, LHLD, SHLD etc.

You might also like