Microcontroller Theory and Applications; HC12 and S12 / Edition 2

Other Format (Print)
Rent from BN.com
(Save 67%)
Est. Return Date: 06/27/2015
Buy New
Buy New from BN.com
Buy Used
Buy Used from BN.com
(Save 37%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $80.40
Usually ships in 1-2 business days
(Save 58%)
Other sellers (Other Format)
  • All (15) from $80.40   
  • New (10) from $110.85   
  • Used (5) from $44.28   


This book provides readers with fundamental assembly language programming skills, an understanding of the functional hardware components of a microcontroller, and skills to interface a variety of external devices with microcontrollers. Chapter topics cover an introduction to the 68HC12, 68HC12 assembly language programming, advanced assembly programming, fuzzy logic, hardware configuration, exception—resets and interrupts, the 68HC12 clock module and standard timer module (TIM), the 68HC12 memory system, analog-to-digital (ATD) converter, and 68HC12 communications system—multiple serial interface. For electrical and computer engineers.

Read More Show Less

Product Details

  • ISBN-13: 9780136152057
  • Publisher: Prentice Hall
  • Publication date: 8/15/2007
  • Edition description: New Edition
  • Edition number: 2
  • Pages: 648
  • Sales rank: 1,232,469
  • Product dimensions: 7.20 (w) x 9.40 (h) x 1.10 (d)

Table of Contents


1 Introduction To The HC 12 Microcontrollers

1.1 Brief History of Computers

1.2 Computers and Embedded Controllers

1.3 Applications of Embedded Controllers

1.4 Overview of the HC12

1.4.1 Software Instruction Set

1.4.2 Hardware

1.5 Overview of the S12

1.5.1 Software Instruction Set

1.5.2 Hardware

1.6 Summary

1.7 Further Reading

2 HC12 And S12 Assembly Language Programming

2.1 Programmer’s Model

2.2 Freescale Assembly Language

2.3 Instruction Execution Cycle

2.4 Instruction Set

2.4.1 Data Transfer and Manipulation Instructions

2.4.2 Arithmetic Operations

2.4.3 Logical and Bit Operations

2.4.4 Data Test Instructions

2.4.5 Optional: Fuzzy Logic Instructions

2.5 Addressing Modes

2.5.1 Inherent Addressing Mode

2.5.2 Immediate Addressing Mode

2.5.3 Direct Addressing Mode

2.5.4 Extended Addressing Mode

2.5.5 Index Addressing Mode

2.5.6 Relative Addressing Mode

2.6 Branch Instructions

2.7 Directives (pseudo-op code) and a Good Programming Approach

2.7.1 Directives

2.7.2 A Good Programming Approach

2.8 Laboratory Applications

2.9 Summary

2.10 Chapter Problems

3 Advanced Assembly Programming

3.1 Assembly Process

3.2 Loops

3.3 Stack

3.3.1 Definition of Stack

3.3.2 Use of a Stack

3.3.3 Access to a Stack

3.4 Subroutines

3.4.1 Subroutine Calls and Returns

3.4.2 Parameter-Passing Techniques

3.5 68HC12 D-Bug12 Utility Subroutines

3.6 Programming Modules

3.6.1 Programming Techniques

3.7 Applications

3.8 Laboratory Applications

3.9 Summary

3.10 Further Reading

3.11 Chapters Problems

4 Fuzzy Logic

4.1 Conventional Controller versus Fuzzy Logic Controller

4.2 Fuzzy Logic Controller for a Balancing Robot

4.2.1 Background

4.2.2 Optional: Dynamic Model for the Robot

4.2.3 Fuzzy Logic Controller

4.3 The 68HC12 Fuzzy Logic Operations

4.3.1 Membership Function Design Process

4.3.2 FuzzyRule Implementation

4.3.3 68HC12 Fuzzification Process

4.3.4 Unweighted Rule Evaluation (REV) and Weighted Rule Evaluation (REVW)

4.3.5 68HC12 Defuzzification Process

4.3.6 Other Fuzzy Logic Controller-Related Instructions

4.4 Application

4.5 Some Comments on Fuzzy Logic Controller Design

4.6 Laboratory Application

4.7 Summary

4.8 Further Reading

4.9 Chapter Problems

5 HC12 and S12 Hardware Configuration

5.1 The Maze Following Robot

5.2 The HC12 Hardware System

5.3 The S12 Hardware System

5.4 Modes

5.4.1 Normal Operating Modes

5.5 Hardware Pin Assignments

5.6 HC12 Subsystems

5.6.1 Register Block

5.6.2 Port System

5.6.3 A Few More Details on Ports

5.6.4 The Timing System-The Standard Timer Module

5.6.5 The Memory System

5.6.6 Interrupts

5.6.7 Clock Functions

5.6.8 Serial Communications-The Multiple Serial Interface

5.6.9 The Data Conversion-The Analog-to-Digital Converter

5.7 S12 Subsystem

5.7.1 S12 Register Block

5.7.2 S12 Memory System

5.7.3 S12 Port System

5.7.4 S12 Interrupts

5.8 Application-Switches, Keypads, Indicators-Oh My!

5.8.1 HC12 Electrical Compatibility

5.8.2 Input Switches

5.8.3 Switch Bank

5.8.4 Keypads

5.8.5 Indicators-Light Emitting Diodes

5.8.6 Indicators-Seven-Segment Displays

5.8.7 Programming Switches and Indicators

5.8.8 Interfacing High Power AC and DC Devices

5.8.9 Optical Isolation

5.8.10 H-bridge

5.9 Application-Wall Following Robot

5.10 Laboratory Application

5.11 Summary

5.12 Chapter Problems

6 Exceptions-Resets and Interrupts

6.1 Overview

6.2 What Is an Interrupt

6.3 General Interrupt Response

6.4 Reset and Exception Systems Aboard the HC12

6.4.1 HC12 Resets

6.4.2 HC12 Interrupts

6.4.3 HC12 Exception Vector

6.4.4 HC12 Exception Priority

6.4.5 HC12 Interrupt Systems-Associated Registers

6.5 Reset and Exception Systems Aboard the S12 Microcontroller

6.6 How Does HC12 Respond to an Interrupt?

6.7 Writing Interrupt Service Routines

6.7.1 ISRs with the 68HC812A4 EVB RAM-Set User Vector Technique

6.7.2 The S12 RAM based ISR-Set User Vector Technique

6.7.3 How to Program an HC12 ISR-An Example for Flash EEPROM

6.7.4 Programming the HC12 Real-Time Interrupt (RTI) System

6.7.5 The S12 Real-Time Interrupt (RTI)

6.7.6 Another RAM Based Method of Initializing the Interrupt Vector Table

6.8 A Few More Details

6.9 Advanced Interrupt Topics

6.10 Laboratory Application

6.11 Summary

6.12 Further Reading

6.13 Chapter Problems

7 The HC12 and S12 Clock and Timer System

7.1 Overview

7.2 Background Theory

7.3 The HC12 Clock Module

7.4 HC12 Clock Divider Chain Serving the TIM

7.5 The HC12 Timer Module

7.6 Components of the HC12 Timer Module

7.6.1 HC12 Free-Running Counter

7.6.2 HC12 Free-Running Counter-Associated Registers

7.6.3 Input Capture/Output Compare Channels

7.6.4 The HC12 Pulse Accumulator

7.7 The HC12 Real-Time Interrupt

7.8 Programming the HC12 Input Capture, Output Compare, and the Pulse Accumulator

Features of the TIM

7.8.1 Programming the Input Capture System

7.8.2 Programming the Input Capture System with an Interrupts

7.8.3 Programming the Output Compare System

7.8.4 Programming the Output Compare System with Interrupts

7.8.5 Programming the CH12 Pulse Accumulator System

7.9 The HC12 Pulse Width Modulation System (PWM) System

7.9.1 Fundamentals and Features

7.9.2 PWM Channel Alignment

7.9.3 PWM Clock System

7.9.4 PWM Registers

7.9.5 Programming the PWM

7.10 The S12 Clock and Timing System

7.11 The S12 Clock and Reset Generator

7.12 The Enhanced Capture Timer

7.12.1 S12 Timer Related Registers

7.12.2 Enhanced Capabilities of the ECT System

7.12.3 Non-Buffered Input Capture Channels

7.12.4 Buffered Input Capture Channels

7.12.5 Pulse Accumulator Features

7.12.6 ECT Related Registers

7.13 The S12 Pulse Width Modulation System

7.14 Example: An S12 Based Maze Navigating Robot

7.14.1 The Robot Platform

7.14.2 Motor Control

7.14.3 IR Sensor

7.14.4 Interface Electronics

7.14.5 Power Subsystems

7.14.6 S12 Evaluation Board-the Minidragon+

7.14.7 Motor Control Using the S12 PWM System

7.15 Applications

7.16 Laboratory Applications

7.17 Summary

7.18 References

7.19 Chapter Problems

8 The HC12 and S12 Memory System

8.1 Overview

8.2 Background

8.2.1 HC12 Memory Variants

8.2.2 S12 Memory Variants

8.3 Basic Memory Concepts

8.3.1 Memory Capacity and Control Signals

8.3.2 Memory Buses

8.3.3 Memory Technologies: ROM versus RAM

8.3.4 Memory Map

8.3.5 The A4 Memory System

8.4 Linear Memory Expansion: HC12 Case Study

8.4.1 Memory Layout Design

8.4.2 68HC12 and Memory Chip Control Signal Connections

8.4.3 Timing Analysis of Basic Memory Operations

8.4.4 Electrical Compatibility

8.4.5 HC12 Memory Paging

8.4.6 EEPROM Modification

8.5 S12 Memory System

8.5.1 The S12 Paged Memory System

8.5.2 Programming Flash and Paged Memory

8.6 Applications

8.7 Case Study: and 671GST LCD Character Display Interface

8.7.1 Hardware Interface

8.7.2 Timing Interface

8.7.3 Software Interface

8.8 Further Reading

8.9 Summary

8.10 Chapter Problems

9 Analog-to-Digital ( ATD ) Converter

9.1 Overview

9.2 Transducer Interface Design

9.3 Analog-to-Digital Conversion Background Theory

9.3.1 Sampling Rate

9.3.2 Transducer Interface Design

9.3.3 Quantizing and Resolution

9.3.4 Data Rate

9.4 Analog-to-Digital Converter Technologies

9.4.1 Successive-Approximation Converters

9.4.2 Integration-Based Converters

9.4.3 Counter-Type Converters

9.4.4 Parallel Converters

9.5 The HC12 Analog-to-Digital (ATD) Conversion System

9.5.1 HC12 ATD System

9.5.2 HC12 ATD System Control Registers

9.5.3 Programming the HC12 ATD System

9.5.4 Programming the HC12 ATD System using Interrupts

9.6 S12 Analog-to-Digital (ATD) Conversion System

9.6.1 Selectable 8 or 10 Bit Resolution

9.6.2 Lest/Right Justified and Signed/Unsigned Result Data

9.6.3 External Trigger Control

9.6.4 Flexible 1 to 8 Conversion Sequence Length Configuration

9.6.5 Multiple ATD Channels

9.6.6 S12 ATD Registers

9.6.7 Programming the S12 ATD System

9.7 HC12 Application

9.8 Laboratory Application

9.9 Summary

9.10 Further Reading

9.11 Chapter Problems

10 Microcontroller Communication Systems

10.1 Need for Serial Communication Features

10.2 Fundamentals of Serial Communication

10.2.1 Serial Communication Terminology

10.2.2 Serial Communication Signals

10.3 Multiple Serial Interface

10.4 The Serial Communication Interface

10.4.1 Hardware Description-The SCI Transmitter

10.4.2 Hardware Description-The SCI Receiver

10.4.3 SCI Registers

10.4.4 SCI Transmitter and Receiver Operation

10.4.5 Programming the Serial Communication Interface

10.5 HC12 and S12 SPI-Serial Peripheral Interface

10.5.1 SPI Concepts

10.5.2 SPI General Description

10.5.3 HC12 SPI Registers

10.5.4 S12 SPI System

10.5.5 Programming the HC12 SPI

10.5.6 Programming the S12 SPI System

10.5.7 SPI Applications

10.6 Inter-IC Communication: The I2C Bus

10.6.1 I2C Bus Configuration

10.6.2 I2C Basic Protocol

10.6.3 I2C Registers

10.6.4 Key Activity Description

10.6.5 I2C Related Interrupts

10.6.6 Assembly Language Code Examples

10.6.7 I2C Configured Devices

10.7 Controller Area Networks

10.7.1 Computer Networks

10.7.2 Controller Area Network

10.8 Laboratory Application

10.9 Summary

10.10 Further Reading

10.11 Chapter Problems

A HC12 / S12 Instruction Set

B 68HC812A4 Register Set

C MC9S12DP256 Register Set

D Number Systems and Number Arithmetic

D.1 Number Representations

D.2 Binary Number Arithmetic

D.2.1 The 2’s Complement Number Representation

D.2.2 Arithmetic

D.3 Changing the Base of Numbers

D.4 Summary and Further Readings

E Digital Logic Fundamentals

E.1 Overview

E.2 Basic Combinational Logic

E.2.1 Medium-Scale Integration Combinational Circuits

E.3 Sequential Logic Circuit Component

E.3.1 Flip-Flops

E.3.2 MSI Sequential Circuit Components

E.4 Summary

F Mobile Robot and Related Products For The HC12/S12

F.1 Building Your Own Mobile Robot

F.2 68HC12-Related Hardware and Software Products

F.2.1 Hardware

F.2.2 Software


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)