9780195371611

Microcontrollers and Microcomputers Principles of Software and Hardware Engineering

by
  • ISBN13:

    9780195371611

  • ISBN10:

    0195371615

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 6/19/2009
  • Publisher: Oxford University Press

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $59!
    Your order must be $59 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $10.50
    Check/Direct Deposit: $10.00
List Price: $127.94 Save up to $51.18
  • Rent Book $76.76
    Add to Cart Free Shipping

    TERM
    PRICE
    DUE

Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Summary

This book takes a unique "processor-agnostic" approach to teaching the core course on microcontrollers or embedded systems, taught at most schools of electrical and computer engineering. Most books for this course teach students using only one specific microcontroller in the class. Cady,however, studies the common ground between microcontrollers in one volume. As there is no other book available to serve this purpose in the classroom, readership is broadened to anyone who accepts its pedagogical value, not simply those courses that use the same microcontroller. Because the text ispurposefully processor non-specific, it can be used with processor-specific material, such as manufacturer's data sheets and reference manuals, or with texts such as Software and Hardware Engineering: Motorola M68HC11 or Software and Hardware Engineering: Motorola M68HC12. The fundamental operationof standard microcontroller features such as parallel and serial I/O interfaces, interrupts, analog-to-digital conversion, and timers is covered, with attention paid to the electrical interfaces needed.

Author Biography

Fredrick M. Cady is Emeritus Professor of Electrical and Computer Engineering at Montana State University. He has been honored with several teaching awards, including MSU Bozeman Mortar Board Professor of the Month, MSU Alumni-Chamber of Commerce Award for Excellence, and the Phi Kappa Phi Anna Krueger Fridley Award for Distinguished Teaching.

Table of Contents

Prefacep. ix
Introductionp. 1
Computers, Microprocessors, Microcomputers, Microcontrollersp. 1
Moore's Lawp. 4
Microcontrollersp. 5
Some Basic Definitionsp. 6
Notationp. 8
Study Planp. 8
General Principles of Microcontrollersp. 9
Introductionp. 9
A Typical Microcontrollerp. 9
The Picocontrollerp. 11
The Microcontroller's Memoryp. 21
The Central Processor Unitp. 26
Timingp. 30
The I/O Interfacep. 35
The Address, Data, and Control Busesp. 36
Some More Instructionsp. 36
The Final Picocontroller Designp. 38
Software/Firmware Developmentp. 38
The Software Development Tool Setp. 40
Remaining Questionsp. 44
Conclusion and Chapter Summary Pointsp. 44
Problemsp. 45
Structured Program Designp. 48
The Need for Software Designp. 48
The Software Development Processp. 49
Top-Down Designp. 49
Design Partitioningp. 53
Bottom-Up Designp. 53
The Real-World Approachp. 54
Types of Design Activityp. 54
Design Toolsp. 55
Top-Down Debugging and Testingp. 62
Structured Programming in Assembly Languagep. 63
Program Commentsp. 63
Software Documentationp. 68
A Top-Down Design Examplep. 69
Chapter Summary Pointsp. 73
Bibliography and Further Readingp. 75
Problemsp. 75
Introduction to the CPU: Registers and Condition Codesp. 78
Introductionp. 78
CPU Registersp. 78
Register Transfersp. 79
The Condition Code Registerp. 80
The Programmer's Modelp. 88
Conclusion and Chapter Summary Pointsp. 88
Problemsp. 88
Memory Addressing Modesp. 91
Introductionp. 91
Addressing Terminologyp. 91
Memory Typesp. 92
Computer Types and Memory Mapsp. 92
Memory Architecturesp. 95
Addressing Modesp. 98
Stack Addressingp. 105
Chapter Conclusion and Summary Pointsp. 107
Problemsp. 108
Assembly Language Programmingp. 110
Assembly Language Programming Stylep. 110
Structured Assembly Language Programmingp. 119
Interprocess Communicationp. 125
Assembly Language Tricks of the Tradep. 132
Making It Look Prettyp. 133
Conclusion and Chapter Summary Pointsp. 133
Bibliography and Further Readingp. 134
Problemsp. 134
C Programming for Embedded Systemsp. 141
Introductionp. 141
Major Differences Between C for Embedded and Desktop Applicationsp. 141
Architecture of a C Programp. 144
Assembly Language Interfacep. 146
Bits and Bytes: Accessing I/O Registersp. 149
Interruptsp. 155
Conclusion and Chapter Summary Pointsp. 156
Bibliography and Further Readingp. 156
Problemsp. 157
Debugging Microcontroller Software and Hardwarep. 159
Introductionp. 159
Program Debuggingp. 159
Debugging Your Codep. 161
Debugging Toolsp. 170
Typical Assembly Language Program Bugsp. 174
Debugging and Testing C Programsp. 182
Other Debugging Techniquesp. 184
Conclusion and Chapter Summary Pointsp. 186
Bibliography and Further Readingp. 187
Problemsp. 187
Computer Buses and Parallel I/Op. 189
Introductionp. 189
The Computer Busp. 191
I/O Addressingp. 197
More Bus Ideasp. 206
Microcontroller I/Op. 209
More I/O Ideasp. 211
I/O Softwarep. 211
Conclusion and Chapter Summary Pointsp. 219
Problemsp. 219
Interrupts and Real-Time Eventsp. 222
Introductionp. 222
The Interrupt Processp. 226
Multiple Sources of Interruptsp. 231
Simultaneous Interrupts: Prioritiesp. 232
Nested Interruptsp. 234
Other Interruptsp. 236
The Interrupt Service Routine or Interrupt Handlerp. 237
An Interrupt Program Templatep. 238
Advanced Interruptsp. 240
Watchdog Timer or Computer Operating Properly (COP)p. 241
Real-Time Interruptp. 242
Conclusion and Chapter Summary Pointsp. 242
Problemsp. 244
Memoryp. 246
Introductionp. 246
A Short History of Random Access Memoryp. 246
Semiconductor Memoryp. 248
Memory Timing Requirementsp. 254
Chapter Conclusion and Summary Pointsp. 258
Problemsp. 258
Serial I/Op. 260
Introductionp. 260
The Asynchronous Serial Communication Systemp. 260
Standards for the Asynchronous Serial I/O Interfacep. 264
Asynchronous Serial Hardware Interfacesp. 267
ASCII Data and Control Codesp. 273
Asynchronous Data Flow Controlp. 276
Debugging and Trouble Shootingp. 276
Asynchronous Serial I/O Softwarep. 277
Synchronous Serial Peripheral Interface (SPI)p. 278
SPI Interface Examplesp. 283
Inter-Integrated Circuit (IIC or I2C)p. 293
The Controller Area Network (CAN) Busp. 298
Conclusion and Chapter Summary Pointsp. 305
Problemsp. 306
Analog Input and Outputp. 309
Introductionp. 309
Data Acquisition and Conversionp. 310
Shannon's Sampling Theorem and Aliasingp. 313
A/D Errorsp. 316
Choosing the A/D Converterp. 320
The Analog-to-Digital Converter Interfacep. 323
Analog-to-Digital Converter Typesp. 324
Digital-to-Analog Conversionp. 328
Other Analog I/O Methodsp. 332
Conclusion and Chapter Summary Pointsp. 332
Problemsp. 334
Counters and Timersp. 336
Introductionp. 336
The Timer/Counterp. 336
Pulse-Width Modulation (PWM) Waveformsp. 343
"Real" Real-Time Clock: Clock Timep. 344
Conclusion and Chapter Summary Pointsp. 344
Problemsp. 346
Single-Chip Microcontroller Interfacing Techniquesp. 348
Microcontroller Chip I/Op. 348
Simple Input Devicesp. 351
Simple Display Devicesp. 365
Parallel I/O Expansionp. 368
Parallel I/O Electronicsp. 372
Temperature Measurementsp. 376
Motor Controlp. 377
Conclusion and Chapter Summary Pointsp. 396
Bibliography and Further Readingp. 397
Problemsp. 397
Real-Time Operating Systemsp. 399
Introductionp. 399
The Real-Time Operating System (RTOS)p. 400
Conclusion and Chapter Summary Pointsp. 415
Bibliography and Further Readingp. 416
Problemsp. 416
Appendix Binary Codesp. 419
Binary Codes Reviewp. 419
Problemsp. 432
Solutions to Selected Problemsp. 435
Indexp. 459
Table of Contents provided by Ingram. All Rights Reserved.

Rewards Program

Write a Review