Microcontrollers and Microcomputers Principles of Software and Hardware Engineering
by Cady, Frederick M-
This Item Qualifies for Free Shipping!*
*Excludes marketplace orders.
Buy New
Rent Textbook
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
Author Biography
Table of Contents
| Preface | p. ix |
| Introduction | p. 1 |
| Computers, Microprocessors, Microcomputers, Microcontrollers | p. 1 |
| Moore's Law | p. 4 |
| Microcontrollers | p. 5 |
| Some Basic Definitions | p. 6 |
| Notation | p. 8 |
| Study Plan | p. 8 |
| General Principles of Microcontrollers | p. 9 |
| Introduction | p. 9 |
| A Typical Microcontroller | p. 9 |
| The Picocontroller | p. 11 |
| The Microcontroller's Memory | p. 21 |
| The Central Processor Unit | p. 26 |
| Timing | p. 30 |
| The I/O Interface | p. 35 |
| The Address, Data, and Control Buses | p. 36 |
| Some More Instructions | p. 36 |
| The Final Picocontroller Design | p. 38 |
| Software/Firmware Development | p. 38 |
| The Software Development Tool Set | p. 40 |
| Remaining Questions | p. 44 |
| Conclusion and Chapter Summary Points | p. 44 |
| Problems | p. 45 |
| Structured Program Design | p. 48 |
| The Need for Software Design | p. 48 |
| The Software Development Process | p. 49 |
| Top-Down Design | p. 49 |
| Design Partitioning | p. 53 |
| Bottom-Up Design | p. 53 |
| The Real-World Approach | p. 54 |
| Types of Design Activity | p. 54 |
| Design Tools | p. 55 |
| Top-Down Debugging and Testing | p. 62 |
| Structured Programming in Assembly Language | p. 63 |
| Program Comments | p. 63 |
| Software Documentation | p. 68 |
| A Top-Down Design Example | p. 69 |
| Chapter Summary Points | p. 73 |
| Bibliography and Further Reading | p. 75 |
| Problems | p. 75 |
| Introduction to the CPU: Registers and Condition Codes | p. 78 |
| Introduction | p. 78 |
| CPU Registers | p. 78 |
| Register Transfers | p. 79 |
| The Condition Code Register | p. 80 |
| The Programmer's Model | p. 88 |
| Conclusion and Chapter Summary Points | p. 88 |
| Problems | p. 88 |
| Memory Addressing Modes | p. 91 |
| Introduction | p. 91 |
| Addressing Terminology | p. 91 |
| Memory Types | p. 92 |
| Computer Types and Memory Maps | p. 92 |
| Memory Architectures | p. 95 |
| Addressing Modes | p. 98 |
| Stack Addressing | p. 105 |
| Chapter Conclusion and Summary Points | p. 107 |
| Problems | p. 108 |
| Assembly Language Programming | p. 110 |
| Assembly Language Programming Style | p. 110 |
| Structured Assembly Language Programming | p. 119 |
| Interprocess Communication | p. 125 |
| Assembly Language Tricks of the Trade | p. 132 |
| Making It Look Pretty | p. 133 |
| Conclusion and Chapter Summary Points | p. 133 |
| Bibliography and Further Reading | p. 134 |
| Problems | p. 134 |
| C Programming for Embedded Systems | p. 141 |
| Introduction | p. 141 |
| Major Differences Between C for Embedded and Desktop Applications | p. 141 |
| Architecture of a C Program | p. 144 |
| Assembly Language Interface | p. 146 |
| Bits and Bytes: Accessing I/O Registers | p. 149 |
| Interrupts | p. 155 |
| Conclusion and Chapter Summary Points | p. 156 |
| Bibliography and Further Reading | p. 156 |
| Problems | p. 157 |
| Debugging Microcontroller Software and Hardware | p. 159 |
| Introduction | p. 159 |
| Program Debugging | p. 159 |
| Debugging Your Code | p. 161 |
| Debugging Tools | p. 170 |
| Typical Assembly Language Program Bugs | p. 174 |
| Debugging and Testing C Programs | p. 182 |
| Other Debugging Techniques | p. 184 |
| Conclusion and Chapter Summary Points | p. 186 |
| Bibliography and Further Reading | p. 187 |
| Problems | p. 187 |
| Computer Buses and Parallel I/O | p. 189 |
| Introduction | p. 189 |
| The Computer Bus | p. 191 |
| I/O Addressing | p. 197 |
| More Bus Ideas | p. 206 |
| Microcontroller I/O | p. 209 |
| More I/O Ideas | p. 211 |
| I/O Software | p. 211 |
| Conclusion and Chapter Summary Points | p. 219 |
| Problems | p. 219 |
| Interrupts and Real-Time Events | p. 222 |
| Introduction | p. 222 |
| The Interrupt Process | p. 226 |
| Multiple Sources of Interrupts | p. 231 |
| Simultaneous Interrupts: Priorities | p. 232 |
| Nested Interrupts | p. 234 |
| Other Interrupts | p. 236 |
| The Interrupt Service Routine or Interrupt Handler | p. 237 |
| An Interrupt Program Template | p. 238 |
| Advanced Interrupts | p. 240 |
| Watchdog Timer or Computer Operating Properly (COP) | p. 241 |
| Real-Time Interrupt | p. 242 |
| Conclusion and Chapter Summary Points | p. 242 |
| Problems | p. 244 |
| Memory | p. 246 |
| Introduction | p. 246 |
| A Short History of Random Access Memory | p. 246 |
| Semiconductor Memory | p. 248 |
| Memory Timing Requirements | p. 254 |
| Chapter Conclusion and Summary Points | p. 258 |
| Problems | p. 258 |
| Serial I/O | p. 260 |
| Introduction | p. 260 |
| The Asynchronous Serial Communication System | p. 260 |
| Standards for the Asynchronous Serial I/O Interface | p. 264 |
| Asynchronous Serial Hardware Interfaces | p. 267 |
| ASCII Data and Control Codes | p. 273 |
| Asynchronous Data Flow Control | p. 276 |
| Debugging and Trouble Shooting | p. 276 |
| Asynchronous Serial I/O Software | p. 277 |
| Synchronous Serial Peripheral Interface (SPI) | p. 278 |
| SPI Interface Examples | p. 283 |
| Inter-Integrated Circuit (IIC or I2C) | p. 293 |
| The Controller Area Network (CAN) Bus | p. 298 |
| Conclusion and Chapter Summary Points | p. 305 |
| Problems | p. 306 |
| Analog Input and Output | p. 309 |
| Introduction | p. 309 |
| Data Acquisition and Conversion | p. 310 |
| Shannon's Sampling Theorem and Aliasing | p. 313 |
| A/D Errors | p. 316 |
| Choosing the A/D Converter | p. 320 |
| The Analog-to-Digital Converter Interface | p. 323 |
| Analog-to-Digital Converter Types | p. 324 |
| Digital-to-Analog Conversion | p. 328 |
| Other Analog I/O Methods | p. 332 |
| Conclusion and Chapter Summary Points | p. 332 |
| Problems | p. 334 |
| Counters and Timers | p. 336 |
| Introduction | p. 336 |
| The Timer/Counter | p. 336 |
| Pulse-Width Modulation (PWM) Waveforms | p. 343 |
| "Real" Real-Time Clock: Clock Time | p. 344 |
| Conclusion and Chapter Summary Points | p. 344 |
| Problems | p. 346 |
| Single-Chip Microcontroller Interfacing Techniques | p. 348 |
| Microcontroller Chip I/O | p. 348 |
| Simple Input Devices | p. 351 |
| Simple Display Devices | p. 365 |
| Parallel I/O Expansion | p. 368 |
| Parallel I/O Electronics | p. 372 |
| Temperature Measurements | p. 376 |
| Motor Control | p. 377 |
| Conclusion and Chapter Summary Points | p. 396 |
| Bibliography and Further Reading | p. 397 |
| Problems | p. 397 |
| Real-Time Operating Systems | p. 399 |
| Introduction | p. 399 |
| The Real-Time Operating System (RTOS) | p. 400 |
| Conclusion and Chapter Summary Points | p. 415 |
| Bibliography and Further Reading | p. 416 |
| Problems | p. 416 |
| Appendix Binary Codes | p. 419 |
| Binary Codes Review | p. 419 |
| Problems | p. 432 |
| Solutions to Selected Problems | p. 435 |
| Index | p. 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.