Updated: 02.06.24

Main -> Books -> Technical Books -> My Books -> Handbook of Microcontrollers

Cover of Handbook of Microcontrollers

Handbook of Microcontrollers

The "Handbook of Microcontrollers" was chosen as the "Electronics Book of the Month Club" Main Selection for November 1998

My goal with this book was to create a complete reference package for today's eight bit embedded microcontrollers. As well as providing technical and processor programming information on the:

I have also provided datasheets, development tools and sample applications on the included CD-ROM.

There are three sample applications for each chip, to demonstrate what can be done with them and help you develop your own applications. These applications include:

For each of the microcontrollers, I have presented them with manufacturer designed programming tools to ensure your first applications will be successful. I am pleased to also be able to provide a demo copy of "UMPS" on the CD-ROM to provide you with an excellent tool for developing your application software.

To help with your future applications, I explore interfacing to RS-232, I2C, LCD and other devices and I devote a fair amount of space to such advanced topics as Fuzzy Logic, Compilers, Real Time Operating Systems (I have included a sample one for the 68HC05) and Network Communications.

It's a hefty book at 861 pages, but I think you'll be pleased at how it has been laid out to make finding information easy.

You can download Chapter 2 "Hardware Features" by clicking here. The file is 518K in size.


Table of Contents:

Acknowledgments

Introduction

Section 1  Introduction to Microcontrollers
1.  Microcontrollers
      Different types of Microcontrollers
      Processor Architectures
      Microcontroller Memory Types

2.  Hardware Features
      Device Packaging
      Chip Technologies
      Power
      Reset
      System Clock/Oscillators
      Program Counter
      Arithmetic Logic Unit
      Watchdog Timers
      Subroutines and Functions
      Interrupts
      Timers
      Digital I/O
      Level Conversion
      Serial I/O
      Synchronous Serial Communications
      Network Communications
      Analog I/O
      Slaved Devices
      Device Programming
      Debug Interfaces

3.  Software
      Development Tools/Environments
      Assembly Language
      Interpreters
      High-Level Languages
      Fuzzy Logic
      Software Development
      Resident Monitor and Debugger Programs
      Real-Time Operating Systems

4.  Common Microcontroller Interfaces
      Switch Debounce
      LED Output
      Seven-Segment LED Displays
      Switch Matrix Keyboard Input
      LCD Control
      Motor/Relay Control
      Stepper Motors
      R/C Servo Control
      RS-232 Level Conversion
      Random Numbers
      Personal Computers

5.  Application/System Development
      Features and Architectures
      Development Systems and Software 
      Availability and Resources
      Device Self-Testing
      Programmers
      Application Debug

6.  Example Applications
      Device Programming
      First MCU Application
      Clock/Thermometer Application
      Device Specific Application

Section 2 8051
7.  The 8051 Microcontroller
      8051 Suppliers

8.  8051 Processor Architecture
      The CPU
      8051 Addressing Modes
      External Addressing
      Interrupts
      8051 Instruction Execution

9.  8051 Hardware Features
      Packaging
      Parallel Input/Output
      Serial Input/Output
      Dallas Semiconductor Encrypted 8051
      Programming 
      Ordering Information

10. 8051 Application Design
      Power Input
      System Oscillators/Clocks
      Reset
      Interrupts
      Instruction Storage
      8051 RTOS and Monitor Program Design

11. 8051 Development Tools
      Assemblers
      High-Level Languages
      "INHX8M" Object Files
      Dallas Semiconductor DS87000 Programmer

12. The 8051 Instruction Set
      Data Movement Instructions
      Arithmetic Instructions
      Bit Operators
      Execution Change Operators

13. 8051 Example Applications
      First 8051 Application
      Real-Time Clock and Thermometer
      Marya's Talking Keyboard

14. 8051 Summary
      8051 Resources
      Web Sites
      Listservers
      Companies

Section 3 Motorola 68HC05
15. Motorola 68HC05 Microcontrollers

16. The Motorola 68HC05 Processor Architecture
      The CPU
      The Accumulator
      The Condition Code Register
      Register and Data Addressing
      The Program Counter
      Reset
      Interrupts
      Peripheral Register Access
      68HC05 RAM Operations

17. Motorola 68HC05 Hardware Features
      Packaging
      System Clock
      Logic Technology
      Interrupts
      Parallel I/O
      Programmable Timers
      Analog I/O
      Serial I/O
      Configuration ("Option") Register
      Programming
      Ordering Information

18. 68HC05 Application Design
      Power Input
      System Oscillators/Clocks
      Reset
      Interrupts
      Real-Time Operating Systems

19. 68HC05 Development Tools
      Assemblers
      High-Level Languages
      Motorola "S19-Record" Object Files
      Motorola 68HC705J1CS Development Kit

20. Motorola 68HC05 Instructions
      Arithmetic Instructions
      Execution Change Operators
      Bit Operators
      Processor Control Instructions

21. 68HC05 Example Applications
      First Application
      Real-Time Clock and Thermometer Using "mykeRTOS"

22. 68HC05 Summary
      Motorola 68HC05 Resources

Section 4 Microchip PICmicro MCUs
23. PICmicro Microcontrollers
      Low-End PICmicro MCUs
      Midrange PICmicro MCUs
      High-End PICmicro MCUs

24. The PICmicro Processor Architecture
      Interrupts

25. PICmicro Hardware Features
      Different Types of PICMicros
      Device Packaging
      Control Store Types
      Reset
      System Clock/Oscillators
      Hardware and File Registers
      CPU Program Counter Stack
      Interrupts
      Timers
      Built-In EEPROM
      Input/Output
      Configuration and ID Fuses
      Programming
      Ordering Information

26. PICmicro Application Design
      Power Input
      System Oscillators and Clocks
      Reset
      Interfacing to External Devices
      Output Drivers
      Interrupts

27. Microchip PICmicro Development Tools
      MPASM™
      High-Level Languages
      Microchip Application Development Tools

28. The PICMicro Instruction Set
      Register Arithmetic Instructions
      Immediate Arithmetic Operators
      Execution Change Operators
      Microcontroller Control Operators
      Bit Operators
      High-End (17C4x) PICmicro MCU Instruction Set
      MPASM™ Extensions
      Parallax PICmicro Instruction Set

29. Example PICMicro Applications
      First PICMicro Application
      Digital Clock/Thermometer

30. PICmicro Summary
      
Section 5 Atmel "AVR"
31. The AVR Microcontroller

32. AVR Processor Architecture
      General-Purpose Registers and ALU
      The STATUS Register
      I/O and SRAM Addressing
      The Program Counter and Stack
      Interrupts
      Data Addressing Modes

33. AVR Hardware Features
      Packaging
      System Clock
      Timers
      Parallel I/O
      Serial I/O
      Analog I/O
      Configuration
      EEPROM Data Memory
      Programming 
      Ordering Information

34. AVR Application Design
      Power Input
      Reset
      Interrupts
      Real Time Operating Systems
      In-System Programming
      Assemblers

35. AVR Development Tools
      Assemblers
      High-Level Languages
      Development Tools

36. AVR Instruction Set
      AVR Data Transfer Instructions
      AVR Arithmetic and Logic Instructions
      AVR Branch Instructions
      AVR Bit and Bit-Test Instructions

37. AVR Example Applications
      First Application
      Real-Time Clock and Thermometer
      AVR Video Output with Pot Position

38. AVR Summary

Section 6 Parallax "BASIC Stamp"
39. Parallax BASIC Stamp
      Stamp Hardware

40. Stamp PBASIC Programming
      Interface
      Stamp PBASIC Language
      PBASIC Source Formatting
      Debugging
      Packaging

41. Stamp Application Design
      Power Input
      Reset

42. Stamp PBASIC Functions
      BS1 Mathematical Operators
      BS2 Mathematical Operators
      Branching/Looping
      Conditional Branches
      Digital I/O
      Serial I/O
      Analog I/O
      Sound
      Data Tables
      EEPROM Access
      Delay
      Power/Execution Control
      Debug

43. Example Stamp Applications
      First Stamp Application
      Clock/Thermometer Application
      BS1 Emulator

44. Stamp Summary
      BASIC Stamp Resources

Section 7 In Closing
45. Final Words

Appendix A 8-Bit Embedded Microcontroller Comparison Chart

Appendix B Resources

Appendix C Common Assembler Commands

Appendix D UMPS

Appendix E SimmStick

Appendix F Listservers

Appendix G The CD-ROM

Appendix H Glossary of Terms

Index

About the Author

Software and License Information

            

ISBN Numbers

Hardcover: 0-07-913717-2
Softcover: 0-07-913716-4
            


Errata

A Number of Problems have come to light with the first edition of the book:

  1. On Page 248, in Figure 13.1, the device should be titled "87C520".
  2. On Page 585, in Figure 33.10, "68HC05 Data Bus" Should be "AVR Data Bus".
  3. On Page 586, in Figure 33.11, "68HC05 Data Bus" Should be "AVR Data Bus".