Embedded Systems Interfacing for Engineers using the Freescale HCS08 Microcontroller I

Book description


This textbook provides practicing scientists and engineers an advanced treatment of the Atmel AVR microcontroller. This book is intended as a follow-on to a previously published book, titled Atmel AVR Microcontroller Primer: Programming and Interfacing. Some of the content from this earlier text is retained for completeness. This book will emphasize advanced programming and interfacing skills. We focus on system level design consisting of several interacting microcontroller subsystems. The first chapter discusses the system design process. Our approach is to provide the skills to quickly get up to speed to operate the internationally popular Atmel AVR microcontroller line by developing systems level design skills. We use the Atmel ATmega164 as a representative sample of the AVR line. The knowledge you gain on this microcontroller can be easily translated to every other microcontroller in the AVR line. In succeeding chapters, we cover the main subsystems aboard the microcontroller, providing a short theory section followed by a description of the related microcontroller subsystem with accompanying software for the subsystem. We then provide advanced examples exercising some of the features discussed. In all examples, we use the C programming language. The code provided can be readily adapted to the wide variety of compilers available for the Atmel AVR microcontroller line. We also include a chapter describing how to interface the microcontroller to a wide variety of input and output devices. The book concludes with several detailed system level design examples employing the Atmel AVR microcontroller.

Table of Contents: Embedded Systems Design / Atmel AVR Architecture Overview / Serial Communication Subsystem / Analog to Digital Conversion (ADC) / Interrupt Subsystem / Timing Subsystem / Atmel AVR Operating Parameters and Interfacing / System Level Design

Table of contents

  1. Acknowledgments
  2. Introduction to Microcomputer Organization
    1. Data and Information
    2. Organization of Digital Computers
      1. Central Processing Unit
      2. Memory
      3. Input and Output
      4. Bus
      5. Microprocessors, Microcomputers and Microcontrollers
    3. Data Representation
      1. Codes and Precision
      2. Prefix Notation
      3. Hexadecimal Representation
      4. Memory Maps
    4. Commonly Used Binary Codes
      1. Unsigned Integer Code
      2. Two's Complement Signed Integer Code
      3. ASCII Character Code
      4. Fixed-Point Binary Code
      5. Binary Coded Decimal
    5. Addition and Subtraction of Positional Number Codes
    6. Chapter Problems (1/2)
    7. Chapter Problems (2/2)
  3. Programmer's Model of the HCS08 CPU
    1. Introduction
    2. Registers
    3. Memory
    4. Addressing Modes
      1. Inherent Addressing
      2. Immediate Addressing
      3. Direct and Extended Addressing
      4. Indexed Addressing
      5. Indexed with Post-Increment Addressing
      6. Offset Indexed Addressing
      7. 8b Offset indexed with Post-Increment Addressing
      8. Stack Pointer Offset
      9. Relative Addressing
      10. Memory-to-Memory MOV Addressing Modes
    5. Data Transfer Operations
    6. Bit Manipulation Operations
    7. Arithmetic and Logic Operations
      1. Masking
      2. Extended Arithmetic
    8. Shift and Rotate
    9. Stack Operations (1/2)
    10. Stack Operations (2/2)
    11. Compare and Branch Operations
      1. Interpretation of Branch Conditions
    12. Loop Primitive Instructions
    13. Miscellaneous Instructions
    14. Chapter Problems
  4. HCS08 Assembly Language Programming
    1. Assembler Structure
    2. Machine Language Encoding
      1. Assembly Language File Format
      2. Assembler Processing
      3. Listing File
      4. Object File: S19 File Format
    3. Organizing Program and Data Areas
    4. Creating and Accessing Variables
      1. Tables, Arrays and Data Structures
      2. Implementing Mathematical Functions via Tables
    5. Programming Common Control Structures
      1. Selection/Decision Structures
      2. Loop Structures
    6. Subroutines
      1. Register Saving
      2. Stack Variables
      3. Passing Parameters and Returning Results
    7. Analysis of Code Size and Execution Time
    8. Chapter Problems (1/2)
    9. Chapter Problems (2/2)
  5. Biography

Product information

  • Title: Embedded Systems Interfacing for Engineers using the Freescale HCS08 Microcontroller I
  • Author(s): Douglas Summerville
  • Release date: October 2009
  • Publisher(s): Morgan & Claypool Publishers
  • ISBN: 9781608450060