Вы находитесь на странице: 1из 40

Dept.

of Electronics
A. N. College, Patna
M. Sc. (Previous)
Paper -V
Microprocessor & its Applications
Prepared byS. P. Vats
Dept. of Electronics,
A. N. College, Patna

Module Contents

The curriculum consists of 5 modules


with 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

Module I- 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

Module II- 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

Module III- 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

Module III- 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

Module IV- 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 8bit 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

Module I
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 welldefined 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,

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

Module II8085 pins

Pin description

Higher Order Address pins- A15 A8


Lower Order Address/ Data Pins- AD7-AD0

Control Pins RD, WR

ALE (Address Latch Enable)-Used to de-multiplex AD 7-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 active low Read & Write pins

Status Pins ALE, IO/M (active low), S1, S0

These are time multiplexed pins and are de-multiplexed


using the pin ALE

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

Clock Pins- X1, X2, CLK(OUT)

(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

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

Contd.

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

Module III
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

Timing & Control 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.
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

Arithmetic Instructions

Contd..

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

Unconditional Program control


instructions are

Contd..

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

Programming of 8085

The following link can be used to access


different type of programs.

Lab Manual
The programs can be loaded and verified in the
8085 based microcomputer system available in
the microprocessor lab

Addressing Modes

8085 instructions can be classified in


following addressing modes

Register Addressing mode

Immediate Addressing mode

Instructions which have their operands in registers only


e.g. MOV, ADD, SUB, ANA, ORA, XRA etc.
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 opcode 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.

Module IV:
Interfacing Techniques

Memory Interfacing

8085 uses 16-bit memory addressing


system allowing a maximum of 64 KB size of
memory
The logical memory address range is 0000hFFFFh
These 64k addresses can be allotted
separately to RAMs & ROMs
Some interfacing circuit examples can be
found in the following link
Interfacing Examples

Interfacing

Contd..

I/O Interfacing
To interface Input Devices Octal buffers are
used. These octal buffers are called as input
ports
Octal buffers contain a set of eight buffers for
an 8-bit system data bus
A buffer is basically a current amplifier which
amplifies the smaller magnitude currents of
input devices before being supplied to the CPU
The tri-state logic also provides the addressing
and control logic for the CPU

Interfacing

Contd..

To interface output devices Octal Latches are


used.
A latch is basically a D Flip-Flop
Latches are used to hold the output data
because information on system data bus is
available for a very small duration of time.
I/O interfacing techniques

I/O structure of 8085

Interfacing

Contd..

There are three major types of data


transfer between the microcomputer
and art I/O device. They are

Programmed I/O : In programmed I/O the


data transfer is accomplished through an I/O
port and controlled by software.
Interrupt driven I/O : In interrupt driven
I/O, the I/O device will interrupt the
processor, and initiate data transfer.
Direct memory access (DMA) : In DMA,
the data transfer between memory and I/O
can be performed by bypassing the
microprocessor.

Interfacing

Contd..

Some special purpose


programmable devices used with
8085 are listed in the table of next
slide.
These devices are used in the
system according to the
requirement.

Interfacing

Contd..

Interfacing

Contd..

Вам также может понравиться