Programming the Freescale M68HC12 Family
By: Gordon Doughman
To say that the microprocessor revolution that began in the early 1970s has changed the world is an understatement. The modern cousin to the microprocessor, the microcontroller, can be found in nearly every electronic product sold today. It has been estimated that the average household contains more than several dozen microcontrollers in products such as microwave ovens, blenders, toasters, refrigerators, washing machines, televisions, stereo receivers, CD players, personal computer systems, remote control devices, razors, phones, and even greeting cards that play music when they are opened. While most of these products may contain one or maybe two microcontrollers, the average family car may contain as many as two dozen. Some high-end luxury cars contain sixty or more microcontrollers operating together over a local area network to control and monitor nearly every imaginable point in the automotive system.
Freescale developed the M68HC12 microcontroller as a result of an ever-increasing demand for microcontrollers whose instruction set was well matched to high-level languages. This book explores the M68HC12 microcontroller family from the programmer's perspective. It also devotes considerable space to the description of selected on-chip peripherals available on various family members. Practical programming examples are included with the peripheral descriptions to provide the reader an illustration of how the peripheral might be used in an actual application. While this text does not assume the reader is familiar with any of Freescale's 8-bit microcontrollers prior to the M68HC12 family, it does assume the reader is familiar with computers and has some programming experience. Questions at the end of each chapter not only result in the book being an excellent textbook, they also serve to alert experienced readers to important points they may have missed while reading that chapter.
The CPU12 Overview;The CPU12 Instruction Set; Programming Examples; MCU Initialization; Interrupts and Resets; General Purpose Parallel I/O Ports; On-chip Byte Erasable EEPROM; On-chip Flash EEPROM; Serial Communications Interface; Serial Peripheral Interface; Standard Timer Module; Pulse Width Modulation Module; Analog-to-Digital Module; Hardware Breakpoint Module; Background Debug - A Software Perspective; Appendices:: Instruction Set Summary; Configuration Code; BDM Primitives Listings; Index.