We use cookies to enhance your experience on our website. By continuing to use our website, you are agreeing to our use of cookies. You can change your cookie settings at any time. Find out more

Using the MCS-51 Microcontroller

Han-Way Huang

Publication Date - December 1999

ISBN: 9780195125139

562 pages
7-1/2 x 9-1/4 inches

Retail Price to Students: $174.99


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.
· 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

Table of Contents

    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
    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