This extensively detailed and comprehensive introduction to the Intel MCS-51 microcontroller covers both theoretical and design and implementation issues. The text begins with the MCS-51 CPU architecture and programming model and then discusses the details of the MCS-51 instruction set and assembly programming techniques. It goes on to cover the full spectrum of I/O functions of the MCS-51 variants, progressively developing topics from the simple to the complex; the author first deals with the general concept behind each I/O function, then discusses the specifics of the MCS-51. Numerous design examples and exercises illustrate the ideas presented, helping students to grasp key concepts and learn the applications. An ideal text for the first course in microprocessors or microcontrollers, Using the MCS-51 Microcontroller also includes extensive program and interfacing examples and is a helpful reference for practicing engineers. Features · Employs a pedagogically sound approach that first outlines basic issues and then discusses the specifics of the MCS-51
· Provides complete coverage of I/O functions including parallel I/O ports, timer functions, serial communication ports, A/D converters, and serial expansion ports
· Incorporates several lab projects into most chapters
· Suggests several evaluation boards and software tools for program development and testing; offers a tutorial for using one of the evaluation boards and its software tools
· Supplemental CD includes an evaluation version of MCS-51 development tools so that readers can test their programs
· Emphasizes design analysis; examples include memory design timing analysis, Centronics interface timing analysis, i8255 interfacing timing verification, and LED and seven-segment display electrical load analysis
· Includes extensive examples covering keypad scanning debouncing, Centronics printer interface, memory system design verification, A/D conversion, D/A conversion, motor control, RS-232 standard, and more · Solutions manual and transparencies available to adopters
1: Introduction to the Intel MCS-51 1.1: Objectives 1.2: What is a Computer? 1.3: The Computer's Software 1.4: The MCS-51 Memory Organization 1.5: The MCS-51 Registers 1.6: Memory Addressing 1.7: The MCS-51 Addressing Modes 1.8: The MCS-51 Memory Spaces 1.9: A Sample of MCS-51 Instructions 1.10: The MCS-51 Machine Code 1.11: Summary 1.12 2: MCS-51 Assembly Programming 2.1: Objectives 2.2: Assembly Language Program Structure 2.3: A Sampler of Assembler Directives 2.4: Flowcharts 2.5: Writing Programs to Do Arithmetic 2.6: Program loops 2.7: Logical Operations 2.8: Rate Instructions 2.9: Boolean Variable Manipulation Instructions 2.10: Program Execution time 2.11: MCS-51 Development Tools 2.12: Summary 2.13: Exercises 2.14: Lab Exercises and Assignments 3: Advanced Assembly Programming 3.1: Objectives 3.2: Introduction 3.3: Stack 3.4: Indexable Data Structures 3.5: Strings 3.6: Subroutines 3.7: Issues in Subroutine Calls 3.8: The Stack Frame 3.9: Examples of Subroutine Calls 3.10: Dual Data Pointers of the DS87C520 Microcontroller 3.11: Summary 3.12: Exercises 3.13: Lab Exercises and Assignments 4: Bus Cycles and Memory Expansion 4.1: Objectives 4.2: Introduction 4.3: Basics of Bus 4.4: Waveforms of Bus Signals 4.5: Bus Transactions 4.6: Bus Transaction timing Diagram 4.7: A Summary of the MCS-51/52 Signal Pins 4.8: The MCS-51/52 Bus Cycle Timing Diagram 4.9: Memory Terminology and SRAM 4.10: Memory System Design for MCS-51/52 4.11: Summary 4.12: Exercises 5: Interrupts, Resets, and Exception Processing 5.1: Objectives 5.2: Basics of Interrupts 5.3: Resets 5.4: MCS-51 Interrupts 5.5: The MCS-51 Reset 5.6: Power-Saving Modes of Operation 5.7: MCS-51 Interrupt Programming 5.8: Summary 5.9: Exercises 5.10: Lab Exercises and Assignments 6: Parallel I/O Ports 6.1: Objectives 6.2: Basic I/O Concepts 6.3: I/O Addressing 6.4: I/O Transfer Synchronization 6.5: MCS-51/52 Parallel I/O Overview 6.6: Simple Input Device 6.7: Interfacing Parallel Ports with the Keyboard 6.8: Simple Output Devices 6.9: The I8255 Programmable Peripheral Interface 6.10: Summary 6.11: Exercises 6.12: Lab Exercises and Assignments 7: Timer Function 7.1: Objectives 7.2: Introduction 7.3: Timer 0 and Timer 1 7.4: Timer 2 7.5: Programmable Counter Array 7.6: Motor Control 7.7: DS87C520 Timers 7.8: Summary 7.9: Exercises 7.10: Lab Exercises and Assignments 8: Analog to Digital Converter 8.1: Objectives 8.2: Introduction 8.3: Successive Approximation Method 8.4: Voltage Level Scaling and Shifting 8.5: The Intel 8XC51GB A/D Converter 8.6: The Procedure for Using the A/D Converter 8.7: Measuring the Barometric Pressure 8.8: Measuring the Temperature 8.9: Measuring the Humidity 8.10: Using an External A/D Converter ADC0820 8.11: Summary 8.12: Exercises 8.13: Lab Exercises and Assignments 9: Serial Communication 9.1: Objectives 9.2: Introduction 9.3: The EIA-232-E (or RS232) Standard 9.4: The MCS-51 Serial Interface 9.5: Applications of Mode 0 9.6: Applications of Mode 1 9.7: Applications of Mode 2 and 3 9.8: The DS87C520 Serial Ports 9.9: Summary 9.10: Exercises 9.11: Lab Exercises and Assignments 10: Serial Expansion Port 10.1: Objectives 10.2: Introduction 10.3: SEP-related Registers 10.4: The SEP Operation 10.5: SEP-Compatible Peripheral Chips 10.6: Simulating the SEP 10.7: Interfacing the 74HC589 to the SEP 10.8: Interfacing the 74HC595 and the SEP 10.9: Interfacing to the Seven-Segment Display Driver MC14489 10.10: The Xicor Serial EPROM 10.11: Interfacing to A/D Converter with Serial Interface 10.12: D/A Converters with Serial Interface 10.13: Summary 10.14: Exercises 10.15: Lab Exercises and Assignments Appendix A: Instruction Execution Time Appendix B: Special Function Registers (SFR) Appendix C: Interrupt Vector Addresses Appendix D: Standard Resistors Appendix E: MCS-51 Software and Hardware Vendors Appendix F: MCS-51 Variants Appendix G: MCS-51 Instruction Set Appendix H: Dallas DS87C520 Datasheet References Glossary Index
Reviews for Using the MCS-51 Microcontroller
""This is a great textbook for a microcontroller course at either undergraduate or masters level ... very well written, with a large set of practical examples, explained with clear figures. The educational style is concise, progressive and interesting."" International Journal of Electrical Engineering Education, April 2001