This text is intended for microprocessor courses at the undergraduate level in technology, engineering, and computer science. Now in its third edition, it provides a comprehensive treatment of the microprocessor, covering both hardware and software based on the Z80 microprocessor family.This edition preserves the focus of the earlier editions and includes the following changes: * Chapters have been revised to include the most recent technological changes in 32- and 64-bit microprocessors and 8-bit microcontrollers. * Several illustrative programs have been added throughout the text. * Complete data sheets for the LM 135 temperature sensor and LCD panel, and a complete list of Z80 instructions with machine cycles, T-states, and flags are included in the Appendixes. * Appendix G, which contains answers to selected questions, has been added.
"synopsis" may belong to another edition of this title.
This book provides comprehensive coverage of the Z80 microprocessor, carefully integrating hardware and software topics with practical laboratory exercises.From the Inside Flap:
This microprocessor textbook, now in its third edition, has been in the field for twelve years. It is gratifying to see such acceptance of the integrated approach to teaching basic microprocessor concepts. This text is intended for microprocessor courses at the undergraduate level in technology, engineering, and computer science. It is a comprehensive treatment of the microprocessor, covering both hardware and software based on the Z80 microprocessor family. Although a course in digital logic is a prerequisite, it does not assume a background in programming. At the outset, I would like to respond to the following questions generally raised in academic circles.
1. In the 2000s, is an 8-bit microprocessor an appropriate device for teaching microprocessor concepts? If we consider the worldwide sales volume of microprocessor chips, the answer is a resounding yes; 8-bit microprocessors (including single-chip microcontrollers) account for more than 90% of the total sales. This question can be better answered by an analogy from the auto industry. For transportation, we have trucks, sports cars, family cars, and compact cars. Each serves a different purpose. The 8-bit microprocessors have already established their market in the areas of industrial control, such as machine control, process control, instrumentation, and consumer appliances. The 32-bit microprocessors are used primarily in computers; they are so powerful that their applications are better suited in such areas as high-speed data processing, CAD/CAM, multi-tasking, and multi-user systems. The 32-bit microprocessors are less likely to replace 8-bit microprocessors in industrial control applications. In many applications, even 8-bit microprocessors are utilized at less than 50% of their capacity. The microprocessor is no longer a novelty to be discussed in elective courses; it has become a fundamental device to be taught in electrical, computer engineering, and technology fields. The basic concepts of architecture, programming, and interfacing are easier to teach with the 8-bit than with larger microprocessors.
2. Why teach Z80? This question has several answers. One is that the Z80 is one of the widely used general-purpose microprocessors in industrial applications. It has a simple architecture and a powerful instruction set that includes the 8085 instruction set (except for two instructions). The Z80 mnemonics are logical and easy to learn. The instruction set includes many powerful concepts of 16-bit microprocessors. In addition, there appears to be a resurgence of interest in the Z80, indicated by the introduction of Z80-compatible microprocessors by major manufacturers such as Hitachi and Toshiba. It is being used as an embedded controller in applications such as TI calculators and home appliances (coffee machines and washers/dryers).
The microprocessor is a general purpose programmable logic device. A thorough understanding of the microprocessor demands concepts and skills from two different disciplines: hardware concepts from electronics and programming skills from computer science. Hardware is the physical structure of the microprocessor; programming makes it function—one without the other is meaningless. Therefore, in this text, the contents are presented with an integrated approach to hardware and software in the context of the Z80 microprocessor. The third edition preserves the same focus of earlier editions and includes additions suggested by reviewers and by faculty users. Organization of the Text
Part I introduces a microprocessor-based system, the Microprocessor-Controlled Temperature System (MCTS), and focuses on microprocessor architecture and interfacing. When appropriate, each chapter refers and illustrates relevant subsystems of the MCTS. Part II introduces programming; Part III integrates the hardware and software concepts from earlier sections and illustrates interface and design of microprocessor-based products. The design of the MCTS is used to synthesize the concepts discussed throughout the text. Each topic is covered in depth, from basic concepts to industrial applications, and illustrated by numerous examples with complete schematics. Material is supported with assignments having practical applications.
Part I consists of five chapters, presented with the spiral approach, that deal with the hardware aspects of the microcomputer as a system. The material is presented in a format analogous to the view from an airplane that is getting ready to land. As the plane circles, the passenger observes a view without details. As the plane descends, the same view is seen with more details. This approach is preferable because students need to use a microcomputer as a system in their laboratory work in the early stages of a course, before understanding all aspects of the system. Chapter 1 presents an overview of microprocessor-based systems. It presents the 8-bit microprocessor as a programmable device and an embedded controller, rather than as a computing device or CPU used in computers. Chapter 2 develops a generalized model of the microprocessor unit and focuses on the basic concepts related to memory and input/output (I/O). Chapter 3 examines the Z80 microprocessor in the context of the hardware and software models developed in Chapter 2. Chapters 4 and 5 are concerned with basic concepts in interfacing memory and 1/O, respectively.
Part II has six chapters that deal with Z80 instructions, programming techniques, program development, and software development systems. Chapters 6 and 7 are general in nature and introduce assembly language programming and assemblers. Chapter 6 includes the detailed programming model of the Z80 microprocessor. This will enable faculty members to teach programming independently of Part I. Because of easy access to personal computers on college campuses, I have emphasized the use of assemblers to assemble programs. Except for the addition of end-of-chapter questions, the remaining chapters include few content changes. Chapters 8 through 11 present a step-by-step format; a few instructions that can perform a simple task are selected. Each instruction is reviewed briefly by referring to the instruction set in the appendix. These instructions are then used in writing programs with explanations of programming techniques and troubleshooting hints. Each illustrative program begins with a problem statement, provides the analysis of the problem, illustrates the program, and explains the programming steps. These chapters conclude by reviewing all the instructions discussed. The contents in Part Il are presented in such a way that, in a course with heavy emphasis on hardware, students can teach themselves assembly language programming if necessary.
Part III synthesizes the hardware concepts presented in Part I and the software techniques in Part II. It deals with advanced topics in interfacing memory and I/Os with numerous industrial and practical examples. Each illustration analyzes the hardware and includes software, and describes how hardware and software work together to accomplish given objectives. Chapters 12 through 16 include various types of data transfer between the microprocessor and its peripherals, such as interrupts, interfacing of dynamic memory, I/O with handshake signals using programmable devices, and serial 1/O. Chapter 17 has been substantially revised: the project which brings together all the concepts discussed in the text has been changed from the IC Tester to the Microprocessor-Controlled Temperature System (MOTS). Chapter 18 has been updated to include the latest 32and 64-bit microprocessors, such as the Intel Pentium, and microcontrollers, such as Motorola 68HC 11 and PIC family. Finally, the text includes two appendices related to the instruction set. Appendix A includes the complete set of Z80 instructions explained with illustrative examples in alphabetical order so that students can easily access the instruction set with a complete explanation of each item. Appendix E has been updated to include additional data sheets for temperature sensors and LCDs. Appendix F summarizes all the instructions with flag i4formation for quick reference when writing programs. New and Improved Features in the Third Edition
The third edition includes the following changes and additions.
Chapter 1 is revised to include the most recent technological changes and introduces a block diagram of the Microprocessor-Controlled Temperature System (MCTS). Chapter 4, Memory Interfacing, illustrates the memory design of the MCTS project. Chapter 5, I/O Interfacing, illustrates the necessary input and output devices and their interfacing for the MOTS project. Part II (Chapters 6 through 11) has several additional illustrative programs. Chapter 7 is revised to include technological changes, and Chapter 8 includes a detailed discussion on flowcharts and flags. Chapter 9 includes a program called `Sort,' which arranges data either in ascending or descending order. Chapter 13 includes an additional illustration, Interfacing a Liquid Crystal Display, which has become a popular display device in industrial systems. Chapter 17 synthesizes the hardware and software concepts discussed in earlier chapters by illustrating the design of the MOTS project. Chapter 18 is updated to include the latest technological changes in 32- and 64-bit microprocessors and 8-bit microcontrollers. In Appendix E, complete data sheets for the LM 135 Temperature Sensor and an LCD panel are included. Appendix F includes a complete list of Z80 instructions with machine cycles, T -states, and flags. A new appendix G includes answers to selected problems. A Word to Faculty
The first edition was based on my teaching experience, my course development efforts, and my association with industry engineers and programmers. It was an attempt to share my classroom experiences and my observations of industrial practices. My assumptions and observations of twelve years ago, outlined in the preface of the first edition, appear to be valid today. They were as follows:
It is easier to teach microprocessor concepts with an 8-bit microprocessor than with a 16-bit microprocessor. Because of easy accessibility on college campuses to personal computers, they can be used to develop programs using cross assemblers. Software (instructions) is an integral part of the microprocessor and demands an emphasis equal to that of hardware. In industry, for the development of microprocessor-based projects, 70 percent of the efforts are devoted to software and 30 percent to hardware. Technology and engineering students tend to be oriented toward hardware and have considerable difficulty in programming. Students have difficulty understanding mnemonics and realizing the critical importance of flags.
This text meets the objectives of courses with various emphases at the undergraduate level. For a one-semester course with equal emphasis on hardware and software, the following chapters are recommended: Chapters 1 through 5 for hardware and interfacing lectures; and Chapters 6 through 10 and selected sections of Chapter 11 for software laboratory sessions. For additional interfacing concepts, the initial sections of Chapters 12, 13, and 15 (introduction to interrupts, programmable 1/O devices, and serial I/O) are recommended. If the course is heavily oriented toward hardware, Chapters 1 through 5 and Chapters 12 through 16 are recommended, and necessary programs can be selected from Chapters 6 through 10. Interfacing laboratory sessions can be designed around the illustrations within chapters or assignments given at the end of the chapters. If the course is heavily oriented toward software, Chapters 1 through 3 and Chapters 6 through 11 can be used. For a two-semester course, the entire text can be covered. The instructor's manual includes a course design, suggested weekly lecture and laboratory schedule, solutions, and selected figures for transparencies.
My courses have evolved since 1988, when the first edition was published. I now use an assembler and a simulator three weeks into a semester. We spend more dime examining the flag register to observe how flags are affected, and we devote several laboratory periods to examining the relationships between instructions and waveforms on the oscilloscope.
In the last twelve years, numerous faculty members shared their classroom experiences, concerns, and students difficulties with me through letters and e-mail. They made valuable suggestions for programming problems and interfacing projects. I have made every effort to incorporate those concerns and suggestions in the third edition. I appreciate any communication about the text, so please feel free to write or send an e-mail message. A Word to Students
The microprocessor is part of an exciting, challenging, and growing field; it will pervade industry for decades to come. To meet the challenges of this growing technology, you will need to be well conversant with the programmable aspect of the microprocessor. Programming is a process of problem solving and communication in a strange language of mnemonics. Most often, hardware-oriented students find this communication process very difficult. One of the questions frequently asked by a student is, "How do I get started in a programming assignment?" One approach is to examine various types of programs and imitate them. Begin by studying the illustrative program relevant to an assignment, its flowchart, analysis, and program description, particularly the comments. Read the instructions from Appendix A as necessary and pay attention to the flags. This text is written in such a way that simple programming of the microprocessor can be self-taught. Once you master the elementary programming techniques, interfacing and design become exciting and fun. Acknowledgments
For all the efforts behind this third edition, I express my sincere appreciation to my family: my wife, Shaila, for her unwavering support, and my daughters, Nelima and Vanita, for their enthusiasm for my writing activities. I also thank all the faculty members who provided valuable comments and suggestions and the reviewers of this edition: Robert Kenyon, Ohio Technical College; Dan Merkel, Milwaukee Area Technical College; Michael Morse, University of San Diego; Roger Off, Ohio Technical College; and Charles Ryasko, Mt. San Antonio College.
The MCTS project illustrated on this text was a course project. My special thanks to one of my outstanding students, David Reynolds, for his excellent work on this project.
I also thank the Prentice Hall staff, particularly my editor, Charles Stewart, and production editor Alex Wolf.
Ramesh S. Gaonkar
State University of New York
O.C.C. Campus at Syracuse
Syracuse, NY 13215
"About this title" may belong to another edition of this title.
(No Available Copies)
If you know the book but cannot find it on AbeBooks, we can automatically search for it on your behalf as new inventory is added. If it is added to AbeBooks by one of our member booksellers, we will notify you!Create a Want