Gift Guide

Microcontrollers and Microcomputers Principles of Software and Hardware Engineering / Edition 2

Paperback (Print)
Rent from
(Save 72%)
Est. Return Date: 02/19/2015
Used and New from Other Sellers
Used and New from Other Sellers
from $93.37
Usually ships in 1-2 business days
(Save 2%)
Other sellers (Paperback)
  • All (2) from $93.37   
  • New (2) from $93.37   


Microcontrollers and Microcomputers: Principles of Software and Hardware Engineering, Second Edition, is an ideal introductory text for an embedded system or microcontroller course. While most texts discuss only one specific microcontroller, this book offers a unique approach by covering the common ground among all microcontrollers in one volume.
Since the text does not focus on a particular processor, it can be used with processor-specific material--such as manufacturer's data sheets and reference manuals--or with texts, including author Fredrick M. Cady's Software and Hardware Engineering: Motorola M68HC11 or Software and Hardware Engineering: Motorola M68HC12. Now fully updated, the second edition covers the fundamental operation of standard microcontroller features, including parallel and serial I/O interfaces, interrupts, analog-to-digital conversion, and timers, focusing on the electrical interfaces as needed. It devotes one chapter to showing how a variety of devices can be used, and emphasizes C program software development, design, and debugging.
Read More Show Less

Product Details

  • ISBN-13: 9780195371611
  • Publisher: Oxford University Press, USA
  • Publication date: 6/19/2009
  • Edition description: New Edition
  • Edition number: 2
  • Pages: 496
  • Sales rank: 922,402
  • Product dimensions: 7.40 (w) x 9.10 (h) x 0.80 (d)

Table of Contents

1: Introduction
1.1 Computers, Microprocessors, Microcomputers, Microcontrollers
1.2 Moore's Law
1.3 Microcontrollers
1.4 Some Basic Definitions
1.5 Notation
1.6 Study Plan
2: General Principles of Microcontrollers
2.1 Introduction
2.2 A Typical Microcontroller
2.3 The Picocontroller
2.4 The Microcontroller's Memory
2.5 The Central Processor Unit
2.6 Timing
2.7 The I/O Interface
2.8 The Address, Data, and Control Buses
2.9 Some More Instructions
2.10 The Final Picocontroller Design
2.11 Software/Firmware Development
2.12 The Software Development Tool Set
2.13 Remaining Questions
2.14 Conclusion and Chapter Summary Points
2.15 Problems
3: Structured Program Design
3.1 The Need for Software Design
3.2 The Software Development Process
3.3 Top-Down Design
3.4 Design Partitioning
3.5 Bottom-Up Design
3.6 The Real-World Approach
3.7 Types of Design Activity
3.8 Design Tools
3.10 Structured Programming in Assembly Language
3.11 Program Comments
3.12 Software Documentation
3.13 A Top Down Design Example
3.14 Chapter Summary Points
3.15 Bibliography and Further Reading
3.16 Problems
4: Introduction to the CPU: Registers and Condition Codes
4.1 Introduction
4.2 CPU Registers
4.3 Register Transfers
4.4 The Condition Code Register
4.5 The Programmer's Model
4.6 Conclusion and Chapter Summary Points
4.7 Problems
5: Memory Addressing Modes
5.1 Introduction
5.2 Addressing Terminology
5.3 Memory Types
5.4 Computer Types and Memory Maps
5.5 Memory Architectures
5.6 Addressing Modes
5.7 Stack Addressing
5.8 Chapter Conclusion and Summary Points
5.9 Problems
6: Assembly Language Programming
6.1 Assembly Language Programming Style
6.2 Structured Assembly Language Programming
6.3 Interprocess Communication
6.4 Assembly Language Tricks of the Trade
6.5 Making it Look Pretty
6.6 Conclusion and Chapter Summary Points
6.7 Bibliography and Further Reading
6.8 Problems
7: C Programming for Embedded Systems
7.1 Introduction
7.2 Major Differences between C for Embedded and Desktop Applications
7.3 Architecture of a C Program
7.4 Assembly Language Interface
7.5 Bits and Bytes - Accessing I/O Registers
7.6 Interrupts
7.7 Conclusion and Chapter Summary Points
7.8 Bibliography and Further Reading
7.9 Problems
8: Debugging Microcontroller Software and Hardware
8.1 Introduction
8.2 Program Debugging
8.3 Debugging Your Code
8.4 Debugging Tools
8.5 Typical Assembly Language Program Bugs
8.6 Debugging and Testing C Programs
8.7 Other Debugging Techniques
8.8 Conclusion and Chapter Summary Points
8.9 Bibliography and Further Reading
8.10 Problems
9: Computer Buses and Parallel I/O
9.1 Introduction
9.2 The Computer Bus
9.3 I/O Addressing
9.4 More Bus Ideas
9.5 Microcontroller I/O
9.6 More I/O Ideas
9.7 I/O Software
9.8 Conclusion and Chapter Summary Points
9.9 Problems
10: Interrupts and Real-Time Events
10.1 Introduction
10.2 The Interrupt Process
10.3 Multiple Sources of Interrupts
10.4 Simultaneous Interrupts - Priorities
10.5 Nested Interrupts
10.6 Other Interrupts
10.7 The Interrupt Service Routine or Interrupt Handler
10.8 An Interrupt Program Template
10.9 Advanced Interrupts
10.10 Watchdog Timer or Computer Operating Properly (COP)
10.11 Real-Time Interrupt
10.12 Conclusion and Chapter Summary Points
10.13 Problems
11: Memory
11.1 Introduction
11.2 A Short History of Random-Access Memory
11.3 Semiconductor Memory
11.4 Memory Timing Requirements
11.5 Chapter Conclusion and Summary Points
11.6 Problems
12: Serial I/O
12.1 Introduction
12.2 The Asynchronous Serial Communication System
12.3 Standards for the Asynchronous Serial I/O Interface
12.4 Asynchronous Serial Hardware Interfaces
12.5 ASCII Data and Control Codes
12.6 Asynchronous Data Flow Control
12.7 Debugging and Trouble Shooting
12.8 Asynchronous Serial I/O Software
12.9 Synchronous Serial Peripheral Interface (SPI)
12.10 SPI Interface Examples
12.11 Inter-Integrated Circuit (IIC or I2C)
12.12 The Controller Area Network (CAN) Bus
12.13 Conclusion and Chapter Summary Points
12.14 Problems
13: Analog Input and Output
13.1 Introduction
13.2 Data Acquisition and Conversion
13.3 Shannon's Sampling Theorem and Aliasing
13.4 A/D Errors
13.5 Choosing the A/D Converter
13.6 The Analog-to-Digital Converter Interface
13.7 Analog-to-Digital Converter Types
13.8 Digital-to-Analog Conversion
13.9 Other Analog I/O Methods
13.1 Conclusion and Chapter Summary Points
13.11 Problems
14: Counters and Timers
14.1 Introduction
14.2 The Timer/Counter
14.3 Pulse-Width Modulation (PWM) Waveforms
14.4 "Real" Real-Time Clock - Clock Time
14.5 Conclusion and Chapter Summary Points
14.6 Problems
15: Single-Chip Microcontroller Interfacing Techniques
15.1 Microcontroller Chip I/O
15.2 Simple Input Devices
15.3 Simple Display Devices
15.4 Parallel I/O Expansion
15.5 Parallel I/O Electronics
15.6 Temperature Measurements
15.7 Motor Control
15.8 Conclusion and Chapter Summary Points
15.9 Bibliography and Further Reading
15.10 Problems
16: Real-Time Operating Systems
16.1 Introduction
16.2 The Real-Time Operating System (RTOS)
16.3 Conclusion and Chapter Summary Points
16.4 Bibliography and Further Reading
16.5 Problems
Appendix A: Binary Codes
A.1 Binary Codes Review
A.2 Problems

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)