Information Center
Salient Feature
Table of Contents
About the Author
Request to Buy the Book
Queries & Feedback

Student Edition
Instructor Edition
Microprocessors and Interfacing,Revised Second Edition

Douglas V Hall

ISBN: 0070601674
Copyright year: 2006


This book is written for a wide variety of introductory microprocessor courses. The only prerequisite for this book is some knowledge of diodes, transistors, and simple digital devices.

My experience as an engineer and as a teacher indicates that it is much more productive to first learn one microprocessor family very thoroughly and from that strong base learn others as needed. For this book I chose the Intel 8086/80186/80286/80386/80486 and Pentium family of microprocessors. Devices in this family are used in millions and millions of personal computers, including the IBM PC/AT, the IBM PS/2 models, and many “clones.” The 8086 was the first member of this family, and although it has been superseded by newer processors, the 8086 is still an excellent entry point for learning about microprocessors. You don’t need to know about the advanced features of the newer processors until you learn about multiuser/multitasking systems. Therefore, the 8086 is used for most of the hardware and programming examples until Chapter 15, which discusses the features of the higher processors and how these features are used in multiuser/multitasking systems. Chapter 16 further discusses Pentium Processors and their architecture.


All chapters begin with fundamental objectives and conclude with a review of important terms and concepts. Each chapter also concludes with a generous supply of questions and problems that reinforce both the theory and applications presented in the chapters.

To help refresh your memory, Chapter 1 contains a brief review of the digital concepts needed for the rest of the book. It also includes an overview of basic computer mathematics and arithmetic operations on binary, HEX, and BCD numbers.

Chapters 2-10

Chapters 2–10 provide you with a comprehensive introduction to microprocessors, including interrupt applications, digital and analog interfacing, and industrial controls. These chapters include an overview of the 8086 microprocessor family and its architecture, programming language, and systems connections and troubleshooting.

Because I came into the world of electronics through the route of vacuum tubes, my first tendency in teaching microprocessors was to approach them from a hardware direction. However, the more I designed with microprocessors and taught microprocessor classes, the more I became aware that the real essence of a microprocessor is what you can program it to do. Therefore, Chapters 2–5 introduce you to writing structured assembly language programs for the 8086 microprocessor. The approach taken in this programming section is to solve the problem, write an algorithm for the solution, and then simply translate the algorithm to assembly language. Experience has shown that this approach is much more likely to produce a working program than just writing down assembly language instructions. The 8086 instruction set is introduced in Chapter 2–5 as needed to solve simple programming problems, but for reference Chapter 6 contains a dictionary of all 8086 instructions with examples for each.

Chapter 7 discusses the signals, timing, and system connections for a simple 8086-based microcomputer. Also discussed in Chapter 7 is a systematic method for troubleshooting a malfunctioning 8086-based microcomputer system and the use of a logic analyzer to observe microcomputer bus signals. Chapter 8 discusses how the 8086 responds to interrupts, how interrupt-service procedures are written, and the operation of a peripheral device called a priorityinterrupt controller.

Chapters 9 and 10 show how a microprocessor is interfaced with a wide variety of low-level input and output devices. Chapter 9 shows how a microprocessor is interfaced with digital devices such as keyboards, displays, and relays. Chapter 10 shows how a microprocessor is interfaced with analog input/output devices such as A/Ds, D/As, and a variety of sensors. It also shows how all the “pieces” are put together to produce a microprocessor-based scale and a simple microprocessor-based process control system. Chapter 10 concludes with a discussion of how microprocessors can be used to implement digital filters.

Chapters 11-16

Chapters 11-15 are devoted to the hardware, software, and peripheral interfacing for a microcomputer such as those in the IBM PC and the IBM PS/2 families. Chapter 11 discusses motherboard circuitry, including DRAM systems, caches, math coprocessors, and peripheral interface buses. It also shows how to use a schematic capture program to draw the schematic, a simulator program to verify the logic and timing of the design, and a layout program to design a printed-circuit board for the system. Knowledge of these electronic design automation tools is essential for anyone developing high-speed microprocessor systems.

At the request of many advisors from industry, Chapter 12 introduces you to the C programming language, which is used to write a large number of system-level programs. This chapter takes advantage of the fact that it is very easy to learn C if you are already familiar with 8086-type assembly language. A section in this chapter also shows you how to write simple programs which contain both C and assembly language modules.

Chapter 13 describes the operation and interfacing of common peripherals such as CRT displays, magnetic disks, and printers. Chapter 14 shows how a microcomputer is interfaced with communication systems such as modems and networks. Chapter 15 starts with a discussion of the needs that must be met by a multiuser/multitasking operating system and then describes how the protected-mode features of the 80286, 80386, and 80486 processors meet these needs. This section of the book also includes discussions of how to develop programs for the 386 in a variety of environments. The chapter concludes with introductions to parallel processors, neural networks, and fuzzy logic. I think you will find these newly developing areas as fascinating as I have.

Finally, Chapter 16 is about the Pentium processors and their architecture. Data transfer between processor and memory or I/O is also discussed. The chapter ends with a brief description of the Hyper Thread or HT Technology.


Flexible Organization

The text is comprehensive, yet flexible in its organization. Chapter 1 could be easily omitted if students have a solid background in basic binary mathematics and digital fundamentals.

Chapters 2–10

I suggest following Chapters 2–10 as an instructional block as each chapter builds on the preceding chapter. These nine chapters represent ideal coverage for a “short course” in microprocessors. The remaining chapters represent an opportunity for the instructor to tailor assignments for the students’ needs or perhaps to give an individual student added study in recent developments in the architecture of microprocessors.

Chapter 11

Individual topics from Chapter 11 could be selected for study as students gain knowledge of the “tools” available for designing computer-based systems. The DRAM section is very important.

Chapter 12

You may wish to assign or leave for outside reading Chapter 12 on programming in C, a new chapter. At the very least you should take a careful look at the simple programming examples and the development of tools for C. If class time does not permit assigning this chapter, you may wish to use selected examples and programs in your lecture presentations. This chapter should be included in any course sequence which does not have a separate class in C programming.

Chapter 13

Portions of the peripherals chapter may be assigned as required, depending upon the course syllabus. The CRT, disk, and printer sections are highly recommended.

Chapter 14

This is an important chapter, given the ever-expanding use of data communications. It should be assigned, if at all possible, unless the curriculum includes a separate course in data communications. Of primary importance are the sections on modems and LANs.

Chapters 15 and 16

The last two chapters discuss the cutting edge of the development of higher microprocessors up to 80486 and the Pentium Processors.


In response to feedback from a variety of electronics instructors and from the industry, the revised second edition of Microprocessors and Interfacing: Programming and Hardware contains the following salient features.

1. Focused coverage of 8086 microprocessor.

2. Examples of programs with C and assembly language modules.

3. Interfacing illustrated via real life systems.

4. Introduction to Neural Networks and Fuzzy Logic.

5. Inclusion of a new chapter on Pentium Processors.

6. Focused discussion on Software Keyboard Interfacing.

7. Multimedia Technologies: MMX, SSE, SSE2 and SSE3 are also discussed.


This book contains many hardware and software exercises students can do to solidify their knowledge of microprocessors. A dedicated website now supports the book. This website contains the Instructor’s Manual and Experiments Manual for instructors and students.

The Experiments Manual contains 40 laboratory exercises that are directly coordinated to the text. Each experiment includes chapter references, required equipment, objectives, and experimental procedures. An IBM PC or IBM PCcompatible computer can be used to edit, assemble, link/locate, run, and debug many of the 8086 assembly language programs.

The Instructor’s Manual contains answers to the review questions. It also includes experimental notes and answers to selected questions for the Experiments Manual.


One of the main goals of this book is to teach you how to decipher manufacturers’ data sheets for microprocessor and peripheral devices, so the book contains relevant parts of many data sheets. Because of the large number of devices discussed, however, it was not possible to include complete data sheets. If you are doing an in-depth study, it is suggested that you acquire or gain access to the latest editions of Intel Microprocessors and Peripherals handbooks. These are available free of charge to colleges and universities from the Academic Relations Department of Intel. The bibliography at the end of the book contains a list of other books and periodicals you can refer to for further details on the topics discussed in the book.

If you have suggestions for improving the book or ideas that might clarify a point for someone else, please communicate with me through the publisher.



To obtain a lecturer login to the Online Learning Centres, ask your local sales representative. If you're a lecturer thinking about adopting this textbook, request a complimentary copy for review.