Preface

Software and Hardware Engineering: Motorola M68HC12, together with Microcontrollers and Microcomputers: Principles of Software and Hardware Engineering, is designed to give the student a fundamental understanding of microcontroller-based systems. The material is aimed at the sophomore, junior or senior level Electrical Engineering, Electrical Engineering Technology, Computer Engineering, or Computer Science student taking a first course in microcomputers. Prerequisites are a digital logic course and a first course in a programming language.

This text is a successor to Software and Hardware Engineering: Motorola M68HC11 and, like that text, its overall objective is to provide an introduction to the architecture and design of hardware and software for the Motorola M68HC12. Although Software and Hardware Engineering: Motorola M68HC12 is designed to accompany a text explaining the general principles of software and hardware engineering, it can stand alone as a reference for M68HC12 users. It gives many programming and hardware interfacing examples that will enable students to become accomplished software and hardware designers. Of course, no one should expect to become an expert in using the M68HC12 in a single course.

The following study plan, summarized in Table I, will help the reader become familiar with the principles of microcomputer systems and to learn about the M68HC12 microcontroller as an example. A well designed course should have the student learn general design principles illustrated by examples of a specific processor. Table I shows how one could combine this text with Microcontrollers and Microcomputers: Principles of Hardware and Software Engineering to give the student fundamental knowledge that can be used when applying other processors later in a successful engineering career.

Two major members of M68HC12 family, the MC68HC812A4 and the MC68HC912B32, are described in detail. We also compare features of the M68HC12 with the M68HC11 for those students and engineers familiar with that microcontroller.

In addition to covering the features common to all members of the M68HC12 family of microcontrollers, advanced features are discussed. These include the memory expansion capabilities of the MC68HC812A4 in Chapter 9 and the pulse-width modulator of the MC68HC912B32 in Chapter 10. The enhanced Serial Communications Interface (SCI) and Serial Peripheral Interface (SPI) are discussed in Chapter 11 and the analog-to-digital converter in Chapter 12. The fuzzy logic instruction set is covered in Chapter 13 with an example program showing a general-purpose inference engine. Chapter 14 describes the Background DebugTM module and other debugging features of the M68HC12 family. Chapter 15 describes advanced architectures of the M68HC12.



Study Plan

 

 

 

 

Study Goals

Microcontrollers and Microcomputers: Principles of Hardware and Software Engineering

 

 

Software and Hardware Engineering: Motorola M68HC12

Overview.

Chapter 1. Introduction

Chapter 1. Introduction

Learn about the architecture of stored program computer.

Chapter 2. The Picoprocessor: An Introduction to Computer Architecture

 

 

Learn about different registers in a CPU and how the codes used for various information affect how we interpret the Condition Code Register.

Chapter 3. Introduction to the CPU: Registers and Condition Codes

Chapter 2. Introduction to the M68HC12 Hardware

Learn about the various ways a CPU can address memory.

Chapter 4. Addressing Modes

Learn how an assembler works and some of the techniques of programming in assembly language. Learn how to operate your laboratory assembler.

Chapter 5. Assembly Language Programming and Debugging

Chapter 3. An Assembler Program

 

See how instructions can be grouped into categories that help make your beginning programming tasks easier. Become familiar with the instruction set.

 

 

Chapter 4. The M68HC12 Instruction Set

Learn how to debug assembly language programs.

 

 

Chapter 5. D-Bug12 Monitor and Debugger

Learn how to properly design more complex software.

Chapter 6. Top Down Software Design

 

 

Develop an effective assembly language programming style

 

 

Chapter 6. Programs for the M68HC12

Learn about parallel data transfer, timing, addressing, and I/O interfaces.

Chapter 7. Computer Buses and Parallel Input/Output

Chapter 7. M68HC12 Parallel I/O.

Table I. Study plan.

 

 

 

 

 

Study Goals

Microcontrollers and Microcomputers: Principles of Hardware and Software Engineering

 

Software and Hardware Engineering: Motorola M68HC12

Learn about interrupts and interrupt service routines.

Chapter 8. Interrupts and Real-Time Events

Chapter 8. M68HC12 Interrupts

Learn about the different types of memory and how the organization of the memory is affected by the type of computer system being designed.

Chapter 9. Computer Memories

Chapter 9. M68HC12 Memories

Learn about the timer in the M68HC12.

 

 

Chapter 10. M68HC12 Timer

Become familiar with the elements of serial I/O. Learn how to deal with the problems of serial interfacing.

Chapter 10. Serial Input/Output

Chapter 11. M68HC12 Serial I/O

Learn how various A/D and D/A devices work and how to specify either in a system.

Chapter 11. Analog Input and Output

Chapter 12. M68HC12 Analog Input

Learn how a fuzzy logic inference engine works by studying the fuzzy logic instruction set.

 

 

Chapter 13. Fuzzy Logic

Learn more advanced debugging techniques using background debugging.

 

 

Chapter 14. Debugging Systems

 

Table I. Study plan continued.