FREE SHIPPING BOTH WAYS
ON EVERY ORDER!
LIST PRICE:
$87.95

OUR PRICE:
$34.83

You may extend rentals at any time.


Microcontrollers and Microcomputers : Principles of Software and Hardware Engineering

ISBN: 9780195371611 | 0195371615
Edition: 2nd
Format: Paperback
Publisher: Oxford University Press, USA
Pub. Date: 6/19/2009

Why Rent from Knetbooks?

Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!

Top 5 reasons to order all your textbooks from Knetbooks:

  • We have the lowest prices on thousands of popular textbooks
  • Free shipping both ways on ALL orders
  • Most orders ship within 48 hours
  • Need your book longer than expected? Extending your rental is simple
  • Our customer support team is always here to help
SummaryTable of ContentsAuthor Biography
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... MORE
... MORE
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.
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.


Please wait while this item is added to your cart...