290 likes | 727 Views
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
E N D
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% Course work • 1. hands on test – 15% • 2. Theoretical Test – 15% • 3. Lab Report – 10% • 4. Project – 60% • Lab 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
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.
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
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 • 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
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