Table of Contents
1. Introduction to Microprocessors
Objectives, Introduction, History of Computers, First Generation (1946-1954), Second Generation (1954-1964), Third Generation (1964-1980), Forth Generation, Importance o Microprocessor, Applications of Microprocessors, Revision of Basics, Number Systems, Digital Electronics, Microcomputer, Microcontrollers, Mini Computers, Mainframes, Supercomputer, Programming Languages, Machine Language (First Generation Language), Assembly Language (Second Generation Language), High Level Languages (Third Generation Language), 4GLs (Fourth Generation’s Language), Multitasking (Single Processor – Many Users – Many Tasks), Multiprocessing (Many Processors – Many Users – Many Programs), Multiprogramming (Single Processor – One User – Many Programs), Commonly Used Terms, Summary, Review Questions.
2. 8085 Microprocessor Architecture
Objectives, Introduction, Architecture of 8085 Microprocessor, The Programming Model of 8085-Microprocessor, Registers, Bus Organisation, Basic Operations of 8085-Microprocessor, Pins And Signals, Demultiplexing Address/Data Bus (AD7 – AD0), Summary, Review Questions.
3. Assembly Language Instructions
Objectives, Introduction, Complete Instruction Set of 8085-Microprocessor, Data Copy Operations, Input/Output Operations, Arithmetic Operations, Logical Operations, Branch Operations, Machine Control Instructions, Stack Operations, Instruction Size, One Byte Instructions, Two Byte Instructions, Three Byte Instructions, Opcode Format, Addressing Modes, Summary, Review Questions.
4. Assembly Language Programming
Objectives, Introduction, Algorithm, Pseudo-Code and Flow Charts, Writing and Executing an Assembly/Machine Language Program, Program to Add Two 8-Bit Numbers, HLT and RST, Small Programming Examples, Program to Subtract two 8-bit Numbers, Program to Increment the Contents of any Register by One, Program for ‘Logical AND’ Operation of two 8-bit Numbers, Program for Masking Using ‘Logical AND’ Operation, Program Using Rotate Instructions, Program to Check Compare Instruction, Program to Add Two 8-Bit Numbers Stored In Memory, Program to Add Two 16-Bit Numbers, Program to Add two 16-bit Numbers Using ADC Instruction, More Programming Examples, Program to Find the Largest of Three Numbers, Programs to Find the Largest/Smallest of n Numbers, Sum of Series of Data Bytes Stored in the Memory, Copying Data Bytes from One Memory Block to Another Memory Block, Program to Compare Two Strings, Program to Search a Data Byte, Programs for Multiplication, Programs for Division, Program for Multi-Byte Addition, Programs for Sorting Data Stored in the Memory in Ascending/Descending Order, Program to Find the Square of a Number from Lookup Table, Program to Find the Square-Root of a Given Number, Summary, Review Questions.
5. Stack, Subroutine and Macro
Objectives, Introduction, Stack, Difference between Stack and Stack Pointer, Defining Stack in the R/W memory, Instructions Related to Stack, Applications of PUSH & POP instructions, Subroutine, Instructions Required for using Subroutine, Difference between Call and Jump Instructions, Reusing Registers in Subroutine (using PUSH & POP Instructions), Subroutine Documentation, Passing Parameters, Nesting, Conditional Call and Conditional Return Instructions, Multiple Ending Subroutine, Programming Examples using Subroutines, Code Conversion, BCD to Binary Conversion, Program to Convert 2-digit BCD to Binary, Binary to BCD Conversion, Program to Convert 8-bit Binary to BCD, BCD to ASCII Code Conversion, Program to Convert BCD (0-9) to ASCII Hex Code, ASCII to BCD Code Conversion, Macro, Difference between Macro and Subroutine, Summary, Review Questions.
6. Timing and Time Delay
Objectives, Introduction, Detailed Architectural Model of 8085-Microprocessor, Arithmetic and Logic Unit (ALU), Instruction Register and Decoder, Timing and Control Unit, Register Array, Interrupt Control Unit, Serial Input/Output Control Unit, Definitions of Important Terms, T-State, Machine Cycle, Instruction Cycle, Various Machine Cycles, Opcode Fetch Machine Cycle, Memory Read Machine Cycle, Memory Write Machine Cycle, Input/Output Read Machine Cycle, Input/Output Write Machine Cycle, Counters, Time Delay, Time Delay using 8-bit Register, Time Delay using 16-bit Register Pair, Time Delay using Nested Loops, Programming Examples, Summary, Review Questions.
7. Interfacing Memory and Onput-Output Devices
Objectives, Introduction, Memory, Memory Addresses, Interfacing Memory, Interfacing Complete Set (64K) of Memory, Interfacing Input/Output Ports, Interfacing Input/Output Devices using Peripheral Mapped Technique, Absolute and Multiple-Address Decoding, Programming Examples Related to Input/Output Ports, Interfacing I/O Devices using Memory Mapped Technique, Important Points to Remember About I/O Interfacing, Summery, Review Questions.
Objectives, Introduction, Software and Hardware Interrupts, Software Interrupts, Accessing Interrupt Service Routine, Hardware Interrupts, Enabling/Disabling Interrupts, Interrupts Priorities and Multiple Interrupts, Call Locations, INTR, TRAP, RST 7.5, RST 6.5, RST 5.5, Triggering Levels, Summary, Review Questions.
9. Interfaceing Programmable Peripheral Devices
Objectives, Introduction, Programmable Peripheral Interface (PPI) – 8255, Pin Diagram of 8255, Control Register and Control Word, Various Modes of 8255, Programmable Interval Timer (PIT) – 8253/8254, Pin Diagram of 8254, Control Register and Control Word, Modes of Operation of 8253/5254, Programming 8254, Programmable Interrupt Controller (PIC) – 8259, Pin Diagram of 8259, Registers of 8259, Working of 8259, Initialisation Command Words (ICWs) of 8259, Operational Command Words (OCWs), Priority Modes of 8259, End of Interrupt, Direct Memory Access (DMA) Controller – 8257, Channels and Registers of 8257, Pin Diagram of 8257, Operating Modes of DMA Controller, Working of DMA Controller, Keyboard/Display Controller – 8279, Pin Diagram of 8279, Keyboard Section, Scan Section, Display Section, Processor Section, 8279 Commands, Serial Input/Output and Data Communication, Synchronous and Asynchronous Transmission, Data Flow Direction, Speed, Error, Transmission Medium, Serial I/O Standards, Interfacing DTE and DCE Using RS-232C, MC-1488, MC-1489, Current Loop, Programmable Communication Interface (USART) – 8251, Functions of Various Pins of 8251, Transmitter and Receiver, Control, Status and Data Buffer Registers, Initialisation of 8251, Parallel Interface, Centronics Parallel Interface, IEEE 488 Parallel Interface, Summary, Review Questions.
10. Interfacing Data Converters
Objectives, Introduction, Digital-to-Analog Converters, Basic Concept, R/2R Ladder Network, Interfacing an 8-bit Digital-to-Analog Converter (AD558), Analog-to-Digital Converter, Basic Concept, Successive-Approximation Type A/D Converter, Interfacing 8-bit A/D Converter (ADC0801), Dual-Slope A/D Converter, Summary, Review Questions.
11. Advanced Microprocessors
Objectives, Introduction, Intel-8086 Microprocessor, Architecture of 8086, Registers of 8086, Advantages of Segmented Memory, Addressing Modes of 8086, Pins and Signals of 8086, Summary of the Instructions of 8086, Interrupts of 8086, Intel 8088 Microprocessor, Intel 80186 Microprocessor, Intel 80286 Microprocessor, Virtual Memory, Intel 80386 Microprocessor, Register Organisation of 80386, Intel 80486 Microprocessor, Cache Memory, Intel Pentium (80586) Microprocessor, RISC Concepts, Difference between the CISC and RISC, Multimedia Extension (MMX), MMX Data Types, MMX Instruction Set, Dual-Core Processor, Advantages of Dual-Core Technology, Review Questions.
12. The 8051 Microcontroller
Objectives, Introduction, Architecture of 8051 Microcontroller, Registers of 8051, CPU Registers (A and B), Program Status Word and Flags, Program Counter (PC), Data Pointer (DPTR), Stack and Stack Pointer (SP), Internal Memory (ROM and RAM), External Memory, Using Input/Output Ports, Port 0 (P0), Port 1 (P1), Port 2 (P2), Port 3 (P3), Counters and Timers, Timer Control Interrupts, Timer Control Logic, Modes of Operation, Serial Data Input/Output, Serial Data Interrupts, Data Transmission, Data Reception, Serial Data Transmission Modes, Interrupts of 8051, Interrupt Priority, Addressing Modes, Immediate Addressing Mode, Register Addressing Mode, Direct Addressing Mode, Indirect Addressing Mode, Summary, Review Questions.
13. Microprocessor Application
Objectives, Introduction, Interfacing Scanned Multiplexed Displays, Interfacing A Matrix Keyboard, 8085 MPU Design, Review Questions.