Introduction to Microcontrollers: Architecture, Programming, and Interfacing for the Motorola 68HC12
Introduction to Microcontrollers: Architecture, Programming, and Interfacing for the Motorola 68HC12 (Academic Press Series in Engineering): G. Jack Lipovski
Academic Press | ISBN: 0124518311 | October 15, 1999 | PDF (OCR) | 394 pages | 28.20 Mb
Introduction to Microcontrollers is a comprehensive introductory text/reference for electrical and computer engineers, students, and even hobbyists who have little experience in a high-level programming language. The book helps them understand how a typical microcontroller executes assembly language instructions and addressing modes on microprocessors. The book shows how to program with C++ and compile assembly language statements. The book utilizes the new 16-bit microcontroller, the Motorola 68Hc12, as the primary example. This "chip" replaces the very popular 8-bit microcontroller, the 68Hc11, as the leading microprocessor for a wide variety of applications and as a core tool for teaching engineering students. This new microcontroller is expected to be popular in industry because of its low cost per unit, low power consumption, and high processing speed.
Subject terms: Circuit Theory and Analysis | Embedded Systems | Microelectronics
Collection name: Electronics & Electrical
Table of Contents
* Contents
* Preface
* List of Figures
* List of Tables
Introduction to Microcontrollers: Architecture, Programming, and Interfacing for the Motorola 68HC12
* Acknowledgments
* About the Author
* 1 Basic Computer Structure and the 6812
o 1.1 Basic Computer Structure
o 1.2 The Instruction
o 1.3 A Few Instructions and Some Simple Programs
o 1.4 MC68HC812A4 and MC68HC912B32 Organizations
o 1.5 Variable Word Width
o 1.6 Summary and Further Reading
o 1 Problems
* 2 The Instruction Set
o 2.1 Move Instructions
o 2.2 Arithmetic Instructions
o 2.3 Logic Instructions
o 2.4 Edit Instructions
o 2.5 Control instructions
o 2.6 Input-Output Instructions
o 2.7 Special Instructions
o 2.8 Remarks
o 2 Problems
* 3 Addressing
o 3.1 Op Code Byte Addressing Modes
o 3.2 Post-Byte Index Addressing Modes
o 3.3 Relative Addressing and Position Independence
o 3.4 Stack Index Addressing, Reentrancy, and Recursion
o 3.5 Examples
o 3.6 Architectural Notions of Addressing
o 3.7 Summary
o 3 Problems
* 4 Assembly Language Programming
o 4.1 Introductory Example and Assembler Printout
o 4.2 Assembler Directives
o 4.3 Mechanics of a Two-Pass Assembler
o 4.4 Character String Operations
o 4.5 A Simplified Two-Pass Assembler
o 4.6 Summary
o 4 Problems
* 5 Advanced Assemblers, Linkers, and Loaders
o 5.1 Cross Assemblers and Downloaders
o 5.2 Relocatable Assemblers and Loaders
o 5 3 Conditional Assemblers
o 5.4 Macro Assemblers
o 5.5 Documentation
o 5.6 Summary
o 5 Problems
* 6 Assembler Language Subroutines
o 6.1 Local Variables
o 6.2 Passing Parameters
o 6.3 Passing Arguments by Value, Reference, and Name
o 6.4 Calling and Returning Mechanisms
o 6.5 Summary
o 6 Problems
* 7 Arithmetic Operations
o 7.1 Multiplication and Division
o 7.2 Integer Conversion
o 7.3 From Formulas to Subroutine Calls
o 7.4 Long Integer Arithmetic
o 7.5 Floating-Point Arithmetic and Conversion
o 7.6 Fuzzy Logic
o 7.7 Summary
o 7 Problems
* 8 Programming in C and C++
o 8.1 Compilers and Interpreters
o 8.2 Operators and Assignment Statements
o 8.3 Conditional and Loop Statements
o 8.4 Constants and Variables
o 8.5 Procedures and Their Arguments
o 8.6 An Example
o 8.7 Object-Oriented Programming in C++
o 8.8 Summary
o 8 Problems
* 9 Implementation of C Procedures
o 9.1 Global and Local Variables
o 9.2 Expressions and Assignment Statements
o 9.3 Conditional Statements
o 9.4 Loop Statements, Arrays, and Structs
o 9.5 Procedure Calls and Arguments
o 9.6 Examples from Character String Procedures
o 9.7 Summary
o 9 Problems
* 10 Elementary Data Structures
o 10.1 What a Data Structure Is
o 10.2 Indexable Data Structures
o 10.3 Sequential Data Structures
o 10.4 Linked List Structures
o 10.5 Summary
o 10 Problems
* 11 Input/Output
o 11.1 Input and Output Devices
o 11.2 Parallel Ports
o 11.3 Input and Output Software
o 11.4 Synchronization Hardware
o 11.5 Gadfly Synchronization
o 11.6 Interrupt Synchronization
o 11.7 Analog-to-Digital and Digital-to-Analog Conversion
o 11.8 UART Protocol
o 11.9 Summary and Further Reading
o 11 Problems
* 12 Other Microcontrollers
o 12.1 The 6811
o 12.2 The 6808
o 12.3 The 6805
o 12.4 The 68300 Series
o 12.5 The 500 Series
o 12.6 The M CORE Series
o 12.7 Selecting a Microcontroller for an Application
o 12.8 Summary
o 12 Problems
* Appendices
o Appendix 1: Number Representations and Binary Arithmetic
+ A 1.1 Number Representations
+ A 1.2 Binary Arithmetic
+ A 1.3 Remarks
+ Problems
o Appendix 2: Using HiWare CD-ROM
+ A2.1 Loading HiWare Software
+ A2.2 Opening the HiWare Toolbox
+ A2.3 Running Examples From the ManualProgramFolder
+ A2.4 Running Examples From the AssemblyProgramFolder
+ A2.5 Downloading to a'B32 Board
+ A2.6 POD-Mode BDM Interface
+ A2.7 Techniques for HiWare Tools
* Index
Academic Press | ISBN: 0124518311 | October 15, 1999 | PDF (OCR) | 394 pages | 28.20 Mb
Introduction to Microcontrollers is a comprehensive introductory text/reference for electrical and computer engineers, students, and even hobbyists who have little experience in a high-level programming language. The book helps them understand how a typical microcontroller executes assembly language instructions and addressing modes on microprocessors. The book shows how to program with C++ and compile assembly language statements. The book utilizes the new 16-bit microcontroller, the Motorola 68Hc12, as the primary example. This "chip" replaces the very popular 8-bit microcontroller, the 68Hc11, as the leading microprocessor for a wide variety of applications and as a core tool for teaching engineering students. This new microcontroller is expected to be popular in industry because of its low cost per unit, low power consumption, and high processing speed.
Subject terms: Circuit Theory and Analysis | Embedded Systems | Microelectronics
Collection name: Electronics & Electrical
Table of Contents
* Contents
* Preface
* List of Figures
* List of Tables
Introduction to Microcontrollers: Architecture, Programming, and Interfacing for the Motorola 68HC12
* Acknowledgments
* About the Author
* 1 Basic Computer Structure and the 6812
o 1.1 Basic Computer Structure
o 1.2 The Instruction
o 1.3 A Few Instructions and Some Simple Programs
o 1.4 MC68HC812A4 and MC68HC912B32 Organizations
o 1.5 Variable Word Width
o 1.6 Summary and Further Reading
o 1 Problems
* 2 The Instruction Set
o 2.1 Move Instructions
o 2.2 Arithmetic Instructions
o 2.3 Logic Instructions
o 2.4 Edit Instructions
o 2.5 Control instructions
o 2.6 Input-Output Instructions
o 2.7 Special Instructions
o 2.8 Remarks
o 2 Problems
* 3 Addressing
o 3.1 Op Code Byte Addressing Modes
o 3.2 Post-Byte Index Addressing Modes
o 3.3 Relative Addressing and Position Independence
o 3.4 Stack Index Addressing, Reentrancy, and Recursion
o 3.5 Examples
o 3.6 Architectural Notions of Addressing
o 3.7 Summary
o 3 Problems
* 4 Assembly Language Programming
o 4.1 Introductory Example and Assembler Printout
o 4.2 Assembler Directives
o 4.3 Mechanics of a Two-Pass Assembler
o 4.4 Character String Operations
o 4.5 A Simplified Two-Pass Assembler
o 4.6 Summary
o 4 Problems
* 5 Advanced Assemblers, Linkers, and Loaders
o 5.1 Cross Assemblers and Downloaders
o 5.2 Relocatable Assemblers and Loaders
o 5 3 Conditional Assemblers
o 5.4 Macro Assemblers
o 5.5 Documentation
o 5.6 Summary
o 5 Problems
* 6 Assembler Language Subroutines
o 6.1 Local Variables
o 6.2 Passing Parameters
o 6.3 Passing Arguments by Value, Reference, and Name
o 6.4 Calling and Returning Mechanisms
o 6.5 Summary
o 6 Problems
* 7 Arithmetic Operations
o 7.1 Multiplication and Division
o 7.2 Integer Conversion
o 7.3 From Formulas to Subroutine Calls
o 7.4 Long Integer Arithmetic
o 7.5 Floating-Point Arithmetic and Conversion
o 7.6 Fuzzy Logic
o 7.7 Summary
o 7 Problems
* 8 Programming in C and C++
o 8.1 Compilers and Interpreters
o 8.2 Operators and Assignment Statements
o 8.3 Conditional and Loop Statements
o 8.4 Constants and Variables
o 8.5 Procedures and Their Arguments
o 8.6 An Example
o 8.7 Object-Oriented Programming in C++
o 8.8 Summary
o 8 Problems
* 9 Implementation of C Procedures
o 9.1 Global and Local Variables
o 9.2 Expressions and Assignment Statements
o 9.3 Conditional Statements
o 9.4 Loop Statements, Arrays, and Structs
o 9.5 Procedure Calls and Arguments
o 9.6 Examples from Character String Procedures
o 9.7 Summary
o 9 Problems
* 10 Elementary Data Structures
o 10.1 What a Data Structure Is
o 10.2 Indexable Data Structures
o 10.3 Sequential Data Structures
o 10.4 Linked List Structures
o 10.5 Summary
o 10 Problems
* 11 Input/Output
o 11.1 Input and Output Devices
o 11.2 Parallel Ports
o 11.3 Input and Output Software
o 11.4 Synchronization Hardware
o 11.5 Gadfly Synchronization
o 11.6 Interrupt Synchronization
o 11.7 Analog-to-Digital and Digital-to-Analog Conversion
o 11.8 UART Protocol
o 11.9 Summary and Further Reading
o 11 Problems
* 12 Other Microcontrollers
o 12.1 The 6811
o 12.2 The 6808
o 12.3 The 6805
o 12.4 The 68300 Series
o 12.5 The 500 Series
o 12.6 The M CORE Series
o 12.7 Selecting a Microcontroller for an Application
o 12.8 Summary
o 12 Problems
* Appendices
o Appendix 1: Number Representations and Binary Arithmetic
+ A 1.1 Number Representations
+ A 1.2 Binary Arithmetic
+ A 1.3 Remarks
+ Problems
o Appendix 2: Using HiWare CD-ROM
+ A2.1 Loading HiWare Software
+ A2.2 Opening the HiWare Toolbox
+ A2.3 Running Examples From the ManualProgramFolder
+ A2.4 Running Examples From the AssemblyProgramFolder
+ A2.5 Downloading to a'B32 Board
+ A2.6 POD-Mode BDM Interface
+ A2.7 Techniques for HiWare Tools
* Index
Download