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