Today, even more than when the first edition of this book was written, the use of microcontrollers has expanded to an almost unbelievable level. A typical car has 15 microcontrollers. A modern home can have more than50 microcontrollers controlling everything from the thermostat, to the furnace, to the microwave. Microcontrollers are everywhere! In the meantime, many new chips have been placed on the market as well.
Also, there have been significant modifications to our programming languages. The standard C language is now called C99 rather than C89.There have been several changes in the language, but most of these changes will not be available to us for some time. Many of the modificationsto the language will be of little use to programs for embedded systems. For example, complex arithmetic has been added to the language.It is rare that we use even floating-point arithmetic, and I have never seen an application for an embedded system where complex arithmetic was needed. However, other additions allow improved optimization processes, such as the restrict keyword and the static keyword used to modify the index of an array. Other changes have less impact on the generation of code, such as the // opening to a single line comment. Also, today you will have no implicit int return from a function. All in all, expect the new versions of C compilers to be significant improvements over the older versions. Also, expect that the new compilers will not break older code. The features of the new standard should begin showing up in any new version of the compilers that you use.
Ted Van Sickle spent over fifteen years at Motorola as a microcontroller specialist. He now consults and teaches classes on software design and programming for microcontroller systems. He holds a MSEE from the University of Michigan.
Introduces microcontrollers and describes their programming environment, offering tips on coding for microcontrollers
Describes techniques to get maximum performance from your code
Discusses the differences between 8-bit and larger microcontrollers, giving application examples and providing details on using different compilers