Microcontrollers and Microcomputers Principles of Software and Hardware Engineering

by
Edition: 2nd
Format: Paperback
Pub. Date: 2009-06-19
Publisher(s): Oxford University Press
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $227.35

Buy New

Arriving Soon. Will ship when available.
$216.52

Rent Textbook

Select for Price
There was a problem. Please try again later.

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

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.

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.