AN INTRODUCTION TO MICROPROCESSOR 8085
Dr. D. K. Kaushik Principal, Manohar Memorial (P.G.) College,
Fatehabad (Haryana) India
Dhanpat Rai Publishing co., New Delhi
AN INTRODUCTION TO MICROPROCESSOR 8085
Chapter 1 Evolution and History of Microprocessors 1.1 Introduction 1.2 Evolution/History of Microprocessors 1.3 Basic Microprocessor System 1.3.1 Address Bus 1.3.2 Data Bus 1.3.3 Control Bus 1.4 Brief Description of 8-Bit Microprocessor 8080A 1.5 Computer Programming Languages 1.5.1 Low-Level Programming Language 1.5.2 High-Level Programming Language Chapter 2 SAP I 2.1 Architecture of SAP I 2.2 Instruction Set of SAP-I Computer 2.3 Programming of SAP-I Computer 2.4 Working of SAP-I Computer 2.4.1 Fetch Cycle 2.4.2 Execution Cycle 2.5 Hardware Design of SAP-I Computer 2.5.1 Design of Program Counter 2.5.2 Memory Unit 2.5.3 Instruction Register 2.5.4 Controller-Sequencer 2.5.5 Accumulator 2.5.6 Adder-Subtractor 2.5.7 B-Register 2.5.8 Output Register Chapter 3 SAP II 3.1 Architecture of SAP-II Computer 3.2 Instruction Set of SAP-II Computers 3.3 Machine Cycle and Instruction Cycle 3.4 Addressing Modes 3.5 Instruction Types 3.6 Flags 3.7 Assembly Language Programming 3.8 Delay Calculations Chapter 4 SAP III 4.1 Programming Model of SAP-III Computer 4.2 Instruction Set of SAP-III Computer 4.2.1 Data Transfer Group 4.2.2 Arithmetic Group of Instructions 4.2.3 Logic Transfer Group 4.2.4 Branch Group
4.2.5 Stack and Input / Output Instructions 4.3 Time Delay Introduced by a Register Pair Chapter 5 The 8085 Microprocessor 5.1 Architecture of 8085 Microprocessor 5.1.1 Register Section 5.1.2 Address Buffer and Address-Data Buffer 5.1.3 Arithmetic and Logical Unit (ALU) 5.1.4 Timing and Control Unit 5.1.5 Interrupt Control 5.2 Pin Description of 8085 5.3 Instruction Set of 8085 Microprocessor 5.4 Timing Diagram for 8085 Instructions 5.4.1 Timing Diagram of MOV reg, M 5.4.2 Timing Diagram of MOV M, reg 5.4.3 Timing Diagram of MVI reg, data 5.4.4 Timing Diagram of MOV reg2, reg1 5.4.5 Timing Diagram of MVI M, data 5.4.6 Timing Diagram of XCHG 5.4.7 Timing Diagram of LXI rp, dbyte 5.4.8 Timing Diagram of IN byte Chapter 6 Programming of 8085 6.1 Simple Progams 6.2 Progams on code conversion
6.2.1 BCD to Binary Conversion 6.2.2 Binary to BCD (Unpacked) Conversion 6.2.3 Binary to ASCII Conversion 6.2.4 ASCII to Binary Conversion
6.3 Progams on addition and subtraction 6.4 Progams to find largest or smallest number 6.5 Progams to arrange a given series in ascending or descending order 6.6 Program on Multiplication 6.7 Program on 8-Bit Division 6.8 Miscellaneous Programs Chapter 7 Interrupt Instructions of 8085 7.1 Methods of I/O Operations
7.1.1 Memory Mapped I/O 7.1.2 I/O Mapped I/O or Isolated I/O 7.2 Data Transfer Schemes 7.2.1 Programmed I/O Data Transfer 7.2.2 Interrupt Driven I/O Data Transfer 7.2.3 Direct Memory Access (DMA) Data Transfer 7.3 The 8085 Interrupts 7.4 Software Interrupts 7.5 Hardware Interrupts 7.6 Interrupt Control Circuit 7.7 Interrupt Instructions
7.8 Serial Input and Output Data Transfer Chapter 8 Programmable Peripheral Interface (PPI) 8255A 8.1 Details of PPI IC 8255A 8.2 Operational Modes of 8255A 8.3 Control Word Format for 8255A 8.4 Programming in Mode 0 8.5 Programming in Mode 1 (strobed Input/Output) 8.5.1 Input Control Signals in Mode 1 8.5.2 Output Control Signals in Mode 1 8.6 Programming in Mode 2 (Strobed Bidrectional Bus I/O) 8.7 Bit Set/Reset (BSR) Mode Chapter 9 Programmable Interval Timer/Counter: 8253 9.1 INTEL Programmable Interval Timer 8253 9.2 Block Diagram of 8253 9.3 Logics for Counters 9.4 Control Word Format of 8253 9.5 Interfacing and programming of 8253 9.6 Programming of 8253 in Mode 0: Interrupt on Terminal Count 9.7 Programming of 8253 in Mode 1: Programmable One Shot 9.8 Programming of 8253 in Mode 2: Rate Generator 9.9 Programming of 8253 in mode 3: Square Wave Generator 9.10 Programming of 8253 in mode 4: Software Triggered Strobe Chapter 10 Programmable Keyboard and Display Interface: 8279 10.1 INTEL Programmable Keyboard/Display Interface 8279 10.2 Block Diagram of 8279 10.3 Functional Description of 8279 10.4 Key Board San 10.5 Scanned Keyboard 10.5.1 Two-key Lockout 10.5.2 N-key Rollover 10.6 Scanned Sensor Matrix 10.7 Strobed Input 10.8 Display Interface 10.9 Display Modes
10.9.1 Left Entry Mode (Type Writer Mode) 10.9.2 Right Entry Mode (Calculator Mode)
10.10 Programming of 8279 10.10.1 Keybaord/Display Mode Set 10.10.2 Program Clock 10.10.3 Read FIFO/Sensor RAM 10.10.4 Read Display RAM 10.10.5 Write Display RAM 10.10.6 Display Write Inhibit/Blanking 10.10.7 Clear
10.10.8 End Interrupt/Error Mode Set 10.11 Status Register (IN Operation)
10.12 Interfacing of 8279 with 8085 Chapter 11 Programmable Interrupt Controller: 8259 11.1 Programmable Interrupt Controller 8259 11.2 Block Diagram of 8259 11.3 Interfacing of 8259A with 8085A 11.4 Vectoring Data Formats for 8259 11.5 Initialization of 8259 11.6 Initialization Command Words (ICWs) 11.7 Operation Command Words (OCWs) 11.8 Interrupt Modes of 8259A 11.8.1 Fully Nested Mode (FNM) 11.8.2 Rotating Priority Mode 11.8.3 Special Mask Mode 11.8.4 Polled Mode 11.9 Status Read Operation of 8259 Chapter 12 Direct Memory Access Controller: 8257 12.1 Block Diagram of 8257 12.1.1 DMA Channels 12.1.2 Data Bus Buffer 12.1.3 Read/ Write Logic 12.1.4 Control Logic
12.1.5 Mode Set Register 12.1.6 Status Word Register
12.2 Programming of 8257 12.3 DMA Interfacing Circuit Chapter 13 Interfacing Data converters: A/D and D/A Converters 13.1 Digital to Analog Converter 13.1.1 Resistive Divider D/A converter 13.1.2 Binary Ladder D/A Converter 13.2 Performance Criteria for D/A Converter 13.3 D/A Converter IC 0808 13.4 Interfacing of D/A Converter 13.5 Microprocessor Compatible D/A Converter 13.6 Analog to Digital Converter 13.7 Simultaneous A/D Converter 13.8 Successive Approximation A/D Converter 13.9 Counter or Digital Ramp Type A/D Converter 13.10 Single Slope A/D Converter 13.11 Dual Slope A/D Converter 13.12 ADC 0808/0809 13.13 A/D Converter Using D/A Converter and Software Chapter 14 Serial Communication and Programmable Communication
14.1 Serial Data Communication 14.2 Modem 14.3 Serial Communication Standard 14.4 Asynchronous Software Approach 14.5 Programmable Communication Interface 14.6 Block Diagram of 8251A 14.6.1 Read/Write Control Logic 14.6.2 Transmitter Section 14.6.3 Receiver Section 14.6.4 Modem Control 14.7 Interfacing of 8251A 14.8 Programming of 8251A 14.8.1 Initialization of 8251A in Asynchronous Mode 14.8.2 Initialization of 8251A in Synchronous Mode Chapter 15 Applications of Microprocessor 15.1 Real Time Clock with On/Off Timer 15.2 Microprocessor Based LED Dial Clock 15.3 Design of Microprocessor Based Running light 15.4 Microprocessor Based Automatic School bell system 15.5 Microprocessor Based Traffic Light 15.5.1 Another Design of Microprocessor Based Traffic Light 15.6 Microprocessor Based Stepper Motor Control 15.7 Microprocessor Based Washing Machine Controller 15.8 Microprocessor Based Water Level Controller 15.9 Microprocessor Based Temperature Controller
1 Evolution and History of
To understand the working and programming of microprocessors, it is very necessary to know the details of evolution and history of microprocessors which will be discussed in this chapter. In the succeeding chapters of this book, the detailed discussion on the basics of microprocessors will be made. For the beginners it is very difficult to understand the operation of a digital computer as it contains large details, so efforts have been made to envisage the operation of a digital computer in step by step manner.
Microprocessor is a digital device on a chip which can fetch instructions from a memory, decode and execute them i.e. performs certain arithmetic and logical operations, accept data from input device, and send results to output devices. Therefore, a microprocessor interfaced with memory and Input/ Output devices forms a Microcomputer. Basically, there are five building blocks of a digital computer namely:
Input Unit Through this unit data and instructions are fed to the memory of the computer. The basic purpose of this unit is to read the data into the machine. The program from the memory is read into the machine along with the input data which are required to solve or compute the problem by the machine. The typical devices which are used for this purpose are keyboards, paper tape reader and toggle switches etc.
Memory Unit The memory unit of a digital computer consists of devices which are capable of storing information. The memory of a computer is used for storing two distinct type of information such as data to be processed by the computer and program through which the result of the desired problem is obtained. Computer program and data are stored in the Memory Unit. This usually consists of chips of both ROMs (Read Only Memories) and RAMs (Random Access Memories) either bipolar or MOS.
Arithmetic and This unit is used for performing arithmetic operations such as Logical Unit Addition, Subtraction, Multiplications, division and other logical (ALU) operations on the data.
The control unit guides ALU which of the operations are to be performed. The sequence of the