×

Embedded systems circuits and programming. (English) Zbl 1251.94001

Boca Raton, FL: CRC Press (ISBN 978-1-4398-7904-7/hbk; 978-1-4398-7931-3/ebook). xx, 871 p. (2012).
This is a comprehensive self-contained handbook intended for introductory courses on microcontroller application design fundamentals. The majority of the text is devoted to programming of microcontrollers in assembly language using a suitable development system.
The book consists of 20 chapters and 8 appendices. Five preliminary chapters introduce the concepts of embedded systems and microcontrollers. A good example of an embedded system is a programmable thermostat controlling the operation of household air conditioning and heater system. In order to give complete background for control unit design based on microcontrollers these chapters describe electronic circuits fundamentals, logic gates, flip-flops and microcontroller functional blocks as well as fundamentals of printed circuit board design with special emphasis on prototype breadboarding.
The main part of the book comprises instruction set description and programming fundamentals. The book covers the popular mid-range family of 16-bit programmable microcontrollers, namely the models 16F84 and 16F84A, the 16F877 and 16F684 manufactured by Microchip company. Mirochip offers wide support for designs based on microcontrollers – a free of charge professional development environment as well as a low cost in-circuit debugger. The processors have Harvard architecture (data and instructions are located in separate memory space and have separate hardware buses), which is described in the following chapter. The next chapter is devoted to software development systems – simulators and debuggers, but also hardware debuggers are described. The next two chapters deal with I/O circuits and programs as well as with interrupt systems. The following three chapters treat timers and counters, LCD liquid crystal displays hardware and programming, and analog-to-digital converters and real-time clocks.
The last six chapters deal with the development of applications. They commence with EEPROM programming. Four chapters present control applications for different kinds of motors – stepper motor, unipolar motor circuits and programs, constant voltage bipolar motor controls, and advanced motor control with chopper circuit and microstepping with pulse width modulation. The last chapter deals with serial communication subsystems.
Three appendices concern the electronic side of microcontrollers, namely resistor color codes, essentials of electronics and printed circuit board design. Other appendices describe number systems, character data, and digital arithmetic. One of the appendices lists the instructions set and describes instruction syntax and semantics. Finally, several additional codes are given in full formats. They include applications to one-second delay, display board, delay loops, counting and display, timers, LCD display of serially received characters, writing serially received data into memory, scan keypad and its display in LCD display.
To conclude, I was very positively impressed by this book. It may serve as self-contained design compendium giving suitable technical background, technical documentation of Microchip 16-bit microcontrollers and plenty of design examples. The book may be strongly recommended for academic courses in digital design. It may also be helpful for designers in industry.

MSC:

94-00 General reference works (handbooks, dictionaries, bibliographies, etc.) pertaining to information and communication theory
68M07 Mathematical problems of computer architecture
68N99 Theory of software
93C95 Application models in control theory
94C05 Analytic circuit theory
94C10 Switching theory, application of Boolean algebra; Boolean functions (MSC2010)