EEE226 - School Of Electrical & Electronic Engineering
Download
Report
Transcript EEE226 - School Of Electrical & Electronic Engineering
EEE226
MICROPROCESSOR
BY
DR. ZAINI ABDUL HALIM
School of Electrical & Electronic
Engineering
USM
Course Outcomes
1. Understand the architecture of
microprocessor system
2. Understand the assembly language
3. Can program the microprocessor (8085) using
assembly language
4. Can interface the microprocessor to external
devices such as switch, key pad, ADC, DAC, LCD
and PC
5. Can apply the microprocessor in embedded
system
Evaluation Scheme
100%
1.
2.
3.
4.
Lab
Course work
hands on test – 15%
Theoretical Test – 15%
Lab Report – 10%
Project – 60%
Report
Flowchart
Block diagram
Program (assembly language)
Syllabus
1)Introduction-chapter 1
2) Internal Microprocessor Architecture –
chapter 2, chapter 3, chapter 4
3) Microprocessor Programming-chapter 6
and chapter 7.
Text Book: Microprocessor Architecture,
programming And Application With The
8085. Ramesh S. Gaonkar
Lab
Week
Activity
Description
2
Lab 1
Introduction to 8085 microprocessor
3
Lab 2
Introduction to I/O device
4
Lab 3
Keypad
5
Hands on test
7
Lab 4
ADC and Serial port
8
Lab 5
DAC
9
Lab 6
Interrupt
10
Hands on test
11
Project
Group
12
Project
Group
13
Project
Group
14
Viva Project and
theoretical Test
Individual
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
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:
μp
1) embedded in a larger system
2) a stand alone unit controlling processor
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
Figure 1.2
μ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