Digital & Embedded Systems

NOTE: We are currently using Atmel processors for this course

We are currently using the Atmel 328P microcontroller for this course (Arduino Nano). Since the following text is specific for the Motorola (Freescale) 68.332 processor and assembly language is machine-specific (and manufacturer-specific), the following online tutorial is not being used this year.

For information about the Atmel controller and assembly language, see the Nano directory or use our Online Q&A Library for online learning.



Tutorial 3: Assembly Code with MC68332

This tutorial and associated laboratory will show you how to write assembly code for the MC68332 CPU. It is suggested that you also look at a detailed explaination of the MC68332 from Motorola. (Note: After following the link, click 'Controller' -> 'Hardware' -> 'Data Sheets')

Introduction

Motorola introduced the MC6600 microprocessor in 1974. It was an 8-bit microprocessor designed for personal computers and specialized products requiring microprocessor control. In the years that followed, Motorola and other manufacturers introduced 16-bit and 32-bit microprocessors and also began combining other capabilities (like memory, timing circuits, and I/O circuitry) to create an integrated circuit chip called a microcontroller. The microcontroller contained in the Eyebot is the Motorola MC68332 microcontroller, which was first released in 1989. This microcontroller is what we will be using for this embedded systems course. Some typical applications for the MC68332 are

  • Automotive (antiskid braking, fuel injection and ignition control, electronic instrumentation panel, and ride control)
  • Data Acquisistion and Control (real-time control systems, industrial process control)
  • Scientific Instruments (oscilloscopes, spectrum analyzers)
  • Consumer Products (printers, copiers, cameras, appliances)

Motorola MC68332 Microcontroller Unit (MCU)

The emphasis for a MCU is rapid response to external events such as interrupt requests. The core of the MCU is the MC68332 CPU, which will be refered to as the CPU32 for the rest of the tutorial. As with many microprocessors, the circuit-level operation of the CPU32 is controlled by a microprogrammed sequence of instructions stored in ROM. The machine-language instructions from external memory are fetched and decoded, causing the execution of the microprograms. The microprograms are stored in the ROM during the chip manufacture and cannot be modified by the programmer.

The CPU32, with its pipeline and highly parallel internal architecture, is capable of executing a new instruction every two clock cycles if the instructions reside in the on-chip memory.

 

  MC68332 Op-Codes