电子工程世界电子工程世界电子工程世界

产品描述

搜索
 

MC9S08DZ128F2VLF

器件型号:MC9S08DZ128F2VLF
器件类别:半导体    嵌入式处理器和控制器   
厂商名称:FREESCALE (NXP )
下载文档

器件描述

MC9S08DZ128F2VLF器件文档内容

MC9S08DZ128
MC9S08DZ96
MC9S08DV128
MC9S08DV96

Data Sheet

HCS08
Microcontrollers

  MC9S08DZ128
  Rev. 1
  5/2008

  freescale.com
MC9S08DZ128 Series Features

8-Bit HCS08 Central Processor Unit (CPU)                        Peripherals
    40-MHz HCS08 CPU (20-MHz bus)                                  ADC -- 24-channel, 12-bit resolution, 2.5 s
    HC08 instruction set with added BGND instruction                 conversion time, automatic compare function,
    Support for up to 32 interrupt/reset sources                     temperature sensor, internal bandgap reference channel

On-Chip Memory                                                      ACMPx -- Two analog comparators with selectable
    FLASH read/program/erase over full operating voltage             interrupt on rising, falling, or either edge of comparator
      and temperature                                                 output; compare option to fixed internal bandgap
                                                                      reference voltage; runs in stop3 mode
    EEPROM in-circuit programmable memory; 8-byte
      single-page or 4-byte dual-page erase sector; Program         MSCAN -- CAN protocol - Version 2.0 A, B; standard
      and Erase while executing FLASH; Erase abort                    and extended data frames; Support for remote frames;
                                                                      Five receive buffers with FIFO storage scheme; Flexible
    Random-access memory (RAM)                                       identifier acceptance filters programmable as: 2 x
                                                                      32-bit, 4 x 16-bit, or 8 x 8-bit
FLASH  MC9S08  MC9S08  MC9S08  MC9S08
EEPROM   DZ128    DZ96   DV128    DV96                              SCIx -- Two SCIs supporting LIN 2.0 Protocol and
                                                                      SAE J2602 protocols; Full duplex non-return to zero
   RAM    128K     96K    128K     96K                                (NRZ); Master extended break generation; Slave
                                                                      extended break detection; Wakeup on active edge
            2K      2K      --      --
                                                                   SPIx -- Up to two SPIs; Full-duplex or single-wire
            8K      6K      6K      4K                                bidirectional; Double-buffered transmit and receive;
                                                                      Master or Slave mode; MSB-first or LSB-first shifting
Power-Saving Modes
    Two very low power stop modes                                  IICx -- Up to two IICs; Up to 100 kbps with maximum
    Reduced power wait mode                                          bus loading; Multi-master operation; Programmable
    Very low power real time interrupt for use in run, wait,         slave address; General Call Address; Interrupt driven
      and stop                                                        byte-by-byte data transfer

Clock Source Options                                                TPMx -- One 6-channel (TPM1), one 2-channel
    Oscillator (XOSC) -- Loop-control Pierce oscillator;             (TPM2) and one 4-channel (TPM3); Selectable input
      Crystal or ceramic resonator range of 31.25 kHz to              capture, output compare, or buffered edge- and
      38.4 kHz or 1 MHz to 16 MHz                                     center-aligned PWM on each channel.

    Multi-purpose Clock Generator (MCG) -- PLL and                RTC -- (Real-time counter) 8-bit modulus counter with
      FLL modes; reference clock with nonvolatile trim                binary or decimal based prescaler; Real-time clock
      (0.2% resolution, 1.5% tolerance over temperature with          capabilities using external crystal and RTC for precise
      internal temperature compensation); External reference          time base, time-of-day, calendar or task scheduling
      with oscillator/resonator options                               functions; Free running on-chip low power oscillator
                                                                      (1 kHz) for cyclic wake-up without external
System Protection                                                     components
    Watchdog computer operating properly (COP) reset
      with option to run from backup dedicated 1-kHz            Input/Output
      internal clock source or bus clock; with optional             Up to 87 general-purpose input/output (I/O) pins and
      windowed operation                                              1 input-only pin
    Low-voltage detection with reset or interrupt; selectable
      trip points                                                   Up to 32 interrupt pins with selectable polarity on each
    Illegal opcode detection with reset                              pin
    Illegal address detection with reset
    FLASH and EEPROM block protect                                 Hysteresis and configurable pull device on all input
    Loss-of-lock protection                                          pins.

Development Support                                                 Configurable slew rate and drive strength on all output
    Single-wire background debug interface                           pins.

    On-chip, in-circuit emulation (ICE) with real-time bus     Package Options
      capture                                                       100-pin low-profile quad flat-pack(LQFP) -- 14x14
                                                                      mm

                                                                   64-pin low-profile quad flat-pack (LQFP) -- 10x10 mm

                                                                   48-pin low-profile quad flat-pack (LQFP) -- 7x7 mm
MC9S08DZ128 Series Data Sheet

Covers:                                                                             MC9S08DZ128
                                                                                    MC9S08DZ96
                                                                                    MC9S08DV128
                                                                                    MC9S08DV96

                                                                                    MC9S08DZ128
                                                                                                Rev. 1
                                                                                               5/2008

FreescaleTM and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc., 2007, 2008. All rights reserved.
Revision History

To provide the most up-to-date information, the revision of our documents on the World Wide Web will be
the most current. Your printed copy may be an earlier revision. To verify you have the latest information
available, refer to:

   http://freescale.com/

The following revision history table summarizes changes contained in this document.

Revision  Revision                   Description of Changes
Number       Date
                    Initial Release
      1     4/2008

Freescale Semiconductor, Inc., 2007, 2008. All rights reserved.                              Freescale Semiconductor
This product incorporates SuperFlash Technology licensed from SST.

                                                        MC9S08DZ128 Series Data Sheet, Rev. 1
6
Chapter                  List of Chapters                       Page

                                    Title

Chapter 1   Device Overview .............................................................................. 21
Chapter 2   Pins and Connections ..................................................................... 27
Chapter 3   Modes of Operation ......................................................................... 39
Chapter 4   Memory ............................................................................................. 45
Chapter 5   Resets, Interrupts, and General System Control.......................... 85
Chapter 6   Parallel Input/Output Control........................................................ 101
Chapter 7   Central Processor Unit (S08CPUV5) ............................................ 143
Chapter 8   Multi-Purpose Clock Generator (S08MCGV2) ............................. 165
Chapter 9   5-V Analog Comparator (S08ACMPV3)........................................ 199
Chapter 10  Analog-to-Digital Converter (S08ADC12V1)................................ 207
Chapter 11  Inter-Integrated Circuit (S08IICV2) ............................................... 233
Chapter 12  Freescale's Controller Area Network (S08MSCANV1) ............... 253
Chapter 13  Serial Peripheral Interface (S08SPIV3) ........................................ 307
Chapter 14  Serial Communications Interface (S08SCIV4)............................. 323
Chapter 15  Real-Time Counter (S08RTCV1) ................................................... 343
Chapter 16  Timer Pulse-Width Modulator (S08TPMV3) ................................. 353
Chapter 17  Development Support ................................................................... 379
Chapter 18  Debug Module (S08DBGV3) (128K).............................................. 393
Appendix A  Electrical Characteristics.............................................................. 419
Appendix B  Ordering Information and Mechanical Drawings........................ 447

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         7
Section Number           Contents                               Page

                              Title

                                               Chapter 1
                                          Device Overview

1.1 Devices in the MC9S08DZ128 Series..............................................................................................21
1.2 MCU Block Diagram .......................................................................................................................23
1.3 System Clock Distribution ...............................................................................................................25

                                               Chapter 2
                                      Pins and Connections

2.1 Device Pin Assignment ....................................................................................................................27
2.2 Recommended System Connections ................................................................................................31

         2.2.1 Power ................................................................................................................................32
         2.2.2 Oscillator ...........................................................................................................................32
         2.2.3 RESET ..............................................................................................................................32
         2.2.4 Background / Mode Select (BKGD/MS) ..........................................................................33
         2.2.5 ADC Reference (VREFH, VREFL) Pins ..............................................................................33
         2.2.6 General-Purpose I/O and Peripheral Ports ........................................................................33

                                               Chapter 3
                                        Modes of Operation

3.1 Introduction ......................................................................................................................................39
3.2 Features ............................................................................................................................................39
3.3 Run Mode.........................................................................................................................................39
3.4 Active Background Mode.................................................................................................................39
3.5 Wait Mode ........................................................................................................................................40
3.6 Stop Modes.......................................................................................................................................41

         3.6.1 Stop3 Mode .......................................................................................................................41
         3.6.2 Stop2 Mode .......................................................................................................................42
         3.6.3 On-Chip Peripheral Modules in Stop Modes ....................................................................42

                                               Chapter 4
                                                Memory

4.1 MC9S08DZ128 Series Memory Map ..............................................................................................45
4.2 Reset and Interrupt Vector Assignments ..........................................................................................49
4.3 Register Addresses and Bit Assignments.........................................................................................51
4.4 Memory Management Unit ..............................................................................................................61

         4.4.1 Features .............................................................................................................................61
         4.4.2 Memory Expansion ...........................................................................................................61

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         9
Section Number  Title                                  Page

         4.4.3 MMU Registers and Control Bits .....................................................................................63
4.5 RAM.................................................................................................................................................66
4.6 FLASH and EEPROM .....................................................................................................................67

         4.6.1 Features .............................................................................................................................67
         4.6.2 Program and Erase Times .................................................................................................67
         4.6.3 Program and Erase Command Execution .........................................................................68
         4.6.4 Burst Program Execution ..................................................................................................69
         4.6.5 Sector Erase Abort ............................................................................................................72
         4.6.6 Access Errors ....................................................................................................................73
         4.6.7 Block Protection ................................................................................................................74
         4.6.8 Vector Redirection ............................................................................................................74
         4.6.9 Security .............................................................................................................................74
         4.6.10 EEPROM Mapping ...........................................................................................................76
         4.6.11 FLASH and EEPROM Registers and Control Bits ...........................................................76

                                               Chapter 5
                    Resets, Interrupts, and General System Control

5.1 Introduction ......................................................................................................................................85
5.2 Features ............................................................................................................................................85
5.3 MCU Reset.......................................................................................................................................85
5.4 Computer Operating Properly (COP) Watchdog..............................................................................86
5.5 Interrupts ..........................................................................................................................................87

         5.5.1 Interrupt Stack Frame .......................................................................................................88
         5.5.2 External Interrupt Request (IRQ) Pin ...............................................................................88
         5.5.3 Interrupt Vectors, Sources, and Local Masks ....................................................................89
5.6 Low-Voltage Detect (LVD) System .................................................................................................91
         5.6.1 Power-On Reset Operation ...............................................................................................91
         5.6.2 Low-Voltage Detection (LVD) Reset Operation ...............................................................91
         5.6.3 Low-Voltage Warning (LVW) Interrupt Operation ...........................................................92
5.7 MCLK Output ..................................................................................................................................92
5.8 Reset, Interrupt, and System Control Registers and Control Bits ....................................................92
         5.8.1 Interrupt Pin Request Status and Control Register (IRQSC) ............................................92
         5.8.2 System Reset Status Register (SRS) .................................................................................94
         5.8.3 System Background Debug Force Reset Register (SBDFR) ............................................95
         5.8.4 System Options Register 1 (SOPT1) ................................................................................96
         5.8.5 System Options Register 2 (SOPT2) ................................................................................97
         5.8.6 System Device Identification Register (SDIDH, SDIDL) ................................................98
         5.8.7 System Power Management Status and Control 1 Register (SPMSC1) ...........................99
         5.8.8 System Power Management Status and Control 2 Register (SPMSC2) .........................100

                MC9S08DZ128 Series Data Sheet, Rev. 1

10                                                     Freescale Semiconductor
Section Number           Title                                  Page

                                               Chapter 6
                                 Parallel Input/Output Control

6.1 Port Data and Data Direction .........................................................................................................101
6.2 Pull-up, Slew Rate, and Drive Strength..........................................................................................102
6.3 Pin Interrupts ..................................................................................................................................103

         6.3.1 Edge Only Sensitivity .....................................................................................................103
         6.3.2 Edge and Level Sensitivity ..............................................................................................103
         6.3.3 Pull-up/Pull-down Resistors ...........................................................................................104
         6.3.4 Pin Interrupt Initialization ...............................................................................................104
6.4 Pin Behavior in Stop Modes...........................................................................................................104
6.5 Parallel I/O and Pin Control Registers ...........................................................................................104
         6.5.1 Port A Registers ..............................................................................................................105
         6.5.2 Port B Registers ..............................................................................................................109
         6.5.3 Port C Registers ..............................................................................................................113
         6.5.4 Port D Registers ..............................................................................................................116
         6.5.5 Port E Registers ...............................................................................................................120
         6.5.6 Port F Registers ...............................................................................................................123
         6.5.7 Port G Registers ..............................................................................................................126
         6.5.8 Port H Registers ..............................................................................................................129
         6.5.9 Port J Registers ...............................................................................................................132
         6.5.10 Port K Registers ..............................................................................................................136
         6.5.11 Port L Registers ...............................................................................................................139

                                               Chapter 7
                            Central Processor Unit (S08CPUV5)

7.1 Introduction ....................................................................................................................................143
         7.1.1 Features ...........................................................................................................................143

7.2 Programmer's Model and CPU Registers ......................................................................................144
         7.2.1 Accumulator (A) .............................................................................................................144
         7.2.2 Index Register (H:X) .......................................................................................................144
         7.2.3 Stack Pointer (SP) ...........................................................................................................145
         7.2.4 Program Counter (PC) ....................................................................................................145
         7.2.5 Condition Code Register (CCR) .....................................................................................145

7.3 Addressing Modes..........................................................................................................................147
         7.3.1 Inherent Addressing Mode (INH) ...................................................................................147
         7.3.2 Relative Addressing Mode (REL) ...................................................................................147
         7.3.3 Immediate Addressing Mode (IMM) ..............................................................................147
         7.3.4 Direct Addressing Mode (DIR) ......................................................................................148
         7.3.5 Extended Addressing Mode (EXT) ................................................................................148
         7.3.6 Indexed Addressing Mode ..............................................................................................148

7.4 Special Operations..........................................................................................................................149
         7.4.1 Reset Sequence ...............................................................................................................149

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         11
Section Number  Title                                  Page

         7.4.2 Interrupt Sequence ..........................................................................................................149
         7.4.3 Wait Mode Operation ......................................................................................................150
         7.4.4 Stop Mode Operation ......................................................................................................150
         7.4.5 BGND Instruction ...........................................................................................................151
7.5 CALL and RTC Instructions ..........................................................................................................151
7.6 HCS08 Instruction Set Summary ...................................................................................................153

                                               Chapter 8
                      Multi-Purpose Clock Generator (S08MCGV2)

8.1 Introduction ....................................................................................................................................165
         8.1.1 Features ...........................................................................................................................167
         8.1.2 Modes of Operation ........................................................................................................169

8.2 External Signal Description ...........................................................................................................169
8.3 Register Definition .........................................................................................................................170

         8.3.1 MCG Control Register 1 (MCGC1) ...............................................................................170
         8.3.2 MCG Control Register 2 (MCGC2) ...............................................................................172
         8.3.3 MCG Trim Register (MCGTRM) ...................................................................................173
         8.3.4 MCG Status and Control Register (MCGSC) .................................................................174
         8.3.5 MCG Control Register 3 (MCGC3) ...............................................................................175
         8.3.6 MCG Test and Control Register (MCGT) ......................................................................177
8.4 Functional Description ...................................................................................................................178
         8.4.1 Operational Modes ..........................................................................................................178
         8.4.2 Mode Switching ..............................................................................................................182
         8.4.3 Bus Frequency Divider ...................................................................................................183
         8.4.4 Low Power Bit Usage .....................................................................................................183
         8.4.5 Internal Reference Clock ................................................................................................183
         8.4.6 External Reference Clock ...............................................................................................183
         8.4.7 Fixed Frequency Clock ...................................................................................................184
8.5 Initialization / Application Information .........................................................................................185
         8.5.1 MCG Module Initialization Sequence ............................................................................185
         8.5.2 Using a 32.768 kHz Reference .......................................................................................186
         8.5.3 MCG Mode Switching ....................................................................................................187
         8.5.4 Calibrating the Internal Reference Clock (IRC) .............................................................195

                                               Chapter 9
                           5-V Analog Comparator (S08ACMPV3)

9.1 Introduction ....................................................................................................................................199
         9.1.1 ACMP Configuration Information ..................................................................................199
         9.1.2 Features ...........................................................................................................................201
         9.1.3 Modes of Operation ........................................................................................................201
         9.1.4 Block Diagram ................................................................................................................201

9.2 External Signal Description ...........................................................................................................203

                MC9S08DZ128 Series Data Sheet, Rev. 1

12                                                     Freescale Semiconductor
Section Number           Title                                  Page

9.3 Memory Map .................................................................................................................................203
         9.3.1 Register Descriptions ......................................................................................................203

9.4 Functional Description ...................................................................................................................205

                                              Chapter 10
                       Analog-to-Digital Converter (S08ADC12V1)

10.1 Introduction ....................................................................................................................................207
         10.1.1 Channel Assignments ......................................................................................................207
         10.1.2 Analog Power and Ground Signal Names ......................................................................207
         10.1.3 Alternate Clock ...............................................................................................................208
         10.1.4 Hardware Trigger ............................................................................................................208
         10.1.5 Temperature Sensor ........................................................................................................209
         10.1.6 Features ...........................................................................................................................211
         10.1.7 ADC Module Block Diagram .........................................................................................211

10.2 External Signal Description ...........................................................................................................212
         10.2.1 Analog Power (VDDAD) ..................................................................................................213
         10.2.2 Analog Ground (VSSAD) .................................................................................................213
         10.2.3 Voltage Reference High (VREFH) ...................................................................................213
         10.2.4 Voltage Reference Low (VREFL) .....................................................................................213
         10.2.5 Analog Channel Inputs (ADx) ........................................................................................213

10.3 Register Definition .........................................................................................................................213
         10.3.1 Status and Control Register 1 (ADCSC1) ......................................................................213
         10.3.2 Status and Control Register 2 (ADCSC2) ......................................................................215
         10.3.3 Data Result High Register (ADCRH) .............................................................................215
         10.3.4 Data Result Low Register (ADCRL) ..............................................................................216
         10.3.5 Compare Value High Register (ADCCVH) ....................................................................216
         10.3.6 Compare Value Low Register (ADCCVL) .....................................................................217
         10.3.7 Configuration Register (ADCCFG) ................................................................................217
         10.3.8 Pin Control 1 Register (APCTL1) ..................................................................................218
         10.3.9 Pin Control 2 Register (APCTL2) ..................................................................................219
         10.3.10Pin Control 3 Register (APCTL3) ..................................................................................220

10.4 Functional Description ...................................................................................................................221
         10.4.1 Clock Select and Divide Control ....................................................................................222
         10.4.2 Input Select and Pin Control ...........................................................................................222
         10.4.3 Hardware Trigger ............................................................................................................222
         10.4.4 Conversion Control .........................................................................................................222
         10.4.5 Automatic Compare Function .........................................................................................225
         10.4.6 MCU Wait Mode Operation ............................................................................................225
         10.4.7 MCU Stop3 Mode Operation ..........................................................................................226
         10.4.8 MCU Stop2 Mode Operation ..........................................................................................226

10.5 Initialization Information ...............................................................................................................227
         10.5.1 ADC Module Initialization Example .............................................................................227

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         13
Section Number  Title                                  Page

10.6 Application Information .................................................................................................................229
         10.6.1 External Pins and Routing ..............................................................................................229
         10.6.2 Sources of Error ..............................................................................................................230

                                              Chapter 11
                              Inter-Integrated Circuit (S08IICV2)

11.1 Introduction ....................................................................................................................................233
         11.1.1 IIC1 Configuration Information ......................................................................................233
         11.1.2 Features ...........................................................................................................................235
         11.1.3 Modes of Operation ........................................................................................................235
         11.1.4 Block Diagram ................................................................................................................236

11.2 External Signal Description ...........................................................................................................236
         11.2.1 SCL -- Serial Clock Line ...............................................................................................236
         11.2.2 SDA -- Serial Data Line ................................................................................................236

11.3 Register Definition .........................................................................................................................236
         11.3.1 IIC Address Register (IICxA) .........................................................................................237
         11.3.2 IIC Frequency Divider Register (IICxF) .........................................................................237
         11.3.3 IIC Control Register (IICxC1) ........................................................................................240
         11.3.4 IIC Status Register (IICxS) .............................................................................................241
         11.3.5 IIC Data I/O Register (IICxD) ........................................................................................242
         11.3.6 IIC Control Register 2 (IICxC2) .....................................................................................242

11.4 Functional Description ...................................................................................................................243
         11.4.1 IIC Protocol .....................................................................................................................243
         11.4.2 10-bit Address .................................................................................................................247
         11.4.3 General Call Address ......................................................................................................248

11.5 Resets .............................................................................................................................................248
11.6 Interrupts ........................................................................................................................................248

         11.6.1 Byte Transfer Interrupt ....................................................................................................248
         11.6.2 Address Detect Interrupt .................................................................................................248
         11.6.3 Arbitration Lost Interrupt ................................................................................................248
11.7 Initialization/Application Information ...........................................................................................250

                                              Chapter 12
                Freescale's Controller Area Network (S08MSCANV1)

12.1 Introduction ....................................................................................................................................253
         12.1.1 Features ...........................................................................................................................255
         12.1.2 Modes of Operation ........................................................................................................255
         12.1.3 Block Diagram ................................................................................................................256

12.2 External Signal Description ...........................................................................................................256
         12.2.1 RXCAN -- CAN Receiver Input Pin .............................................................................256
         12.2.2 TXCAN -- CAN Transmitter Output Pin .....................................................................256
         12.2.3 CAN System ...................................................................................................................256

                MC9S08DZ128 Series Data Sheet, Rev. 1

14                                                     Freescale Semiconductor
Section Number           Title                                  Page

12.3 Register Definition .........................................................................................................................257
         12.3.1 MSCAN Control Register 0 (CANCTL0) ......................................................................257
         12.3.2 MSCAN Control Register 1 (CANCTL1) ......................................................................260
         12.3.3 MSCAN Bus Timing Register 0 (CANBTR0) ...............................................................261
         12.3.4 MSCAN Bus Timing Register 1 (CANBTR1) ...............................................................262
         12.3.5 MSCAN Receiver Interrupt Enable Register (CANRIER) .............................................265
         12.3.6 MSCAN Transmitter Flag Register (CANTFLG) ..........................................................266
         12.3.7 MSCAN Transmitter Interrupt Enable Register (CANTIER) ........................................267
         12.3.8 MSCAN Transmitter Message Abort Request Register (CANTARQ) ...........................268
         12.3.9 MSCAN Transmitter Message Abort Acknowledge Register (CANTAAK) .................269
         12.3.10MSCAN Transmit Buffer Selection Register (CANTBSEL) .........................................269
         12.3.11MSCAN Identifier Acceptance Control Register (CANIDAC) ......................................270
         12.3.12MSCAN Miscellaneous Register (CANMISC) ..............................................................271
         12.3.13MSCAN Receive Error Counter (CANRXERR) ............................................................272
         12.3.14MSCAN Transmit Error Counter (CANTXERR) ..........................................................273
         12.3.15MSCAN Identifier Acceptance Registers (CANIDAR0-7) ............................................273
         12.3.16MSCAN Identifier Mask Registers (CANIDMR0CANIDMR7) .................................274

12.4 Programmer's Model of Message Storage .....................................................................................275
         12.4.1 Identifier Registers (IDR0IDR3) ...................................................................................278
         12.4.2 IDR0IDR3 for Standard Identifier Mapping .................................................................280
         12.4.3 Data Segment Registers (DSR0-7) .................................................................................281
         12.4.4 Data Length Register (DLR) ...........................................................................................282
         12.4.5 Transmit Buffer Priority Register (TBPR) ......................................................................283
         12.4.6 Time Stamp Register (TSRHTSRL) .............................................................................283

12.5 Functional Description ...................................................................................................................284
         12.5.1 General ............................................................................................................................284
         12.5.2 Message Storage .............................................................................................................285
         12.5.3 Identifier Acceptance Filter .............................................................................................288
         12.5.4 Modes of Operation ........................................................................................................295
         12.5.5 Low-Power Options ........................................................................................................296
         12.5.6 Reset Initialization ..........................................................................................................302
         12.5.7 Interrupts .........................................................................................................................302

12.6 Initialization/Application Information ...........................................................................................304
         12.6.1 MSCAN initialization .....................................................................................................304
         12.6.2 Bus-Off Recovery ...........................................................................................................305

                                              Chapter 13
                           Serial Peripheral Interface (S08SPIV3)

13.1 Introduction ....................................................................................................................................307
         13.1.1 Features ...........................................................................................................................309
         13.1.2 Block Diagrams ..............................................................................................................309
         13.1.3 SPI Baud Rate Generation ..............................................................................................311

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         15
Section Number  Title                                  Page

13.2 External Signal Description ...........................................................................................................312
         13.2.1 SPSCK -- SPI Serial Clock ............................................................................................312
         13.2.2 MOSI -- Master Data Out, Slave Data In ......................................................................312
         13.2.3 MISO -- Master Data In, Slave Data Out ......................................................................312
         13.2.4 SS -- Slave Select ...........................................................................................................312

13.3 Modes of Operation........................................................................................................................313
         13.3.1 SPI in Stop Modes ..........................................................................................................313

13.4 Register Definition .........................................................................................................................313
         13.4.1 SPI Control Register 1 (SPIxC1) ....................................................................................313
         13.4.2 SPI Control Register 2 (SPIxC2) ....................................................................................314
         13.4.3 SPI Baud Rate Register (SPIxBR) ..................................................................................315
         13.4.4 SPI Status Register (SPIxS) ............................................................................................316
         13.4.5 SPI Data Register (SPIxD) ..............................................................................................317

13.5 Functional Description ...................................................................................................................318
         13.5.1 SPI Clock Formats ..........................................................................................................318
         13.5.2 SPI Interrupts ..................................................................................................................321
         13.5.3 Mode Fault Detection .....................................................................................................321

                                              Chapter 14
                      Serial Communications Interface (S08SCIV4)

14.1 Introduction ....................................................................................................................................323
         14.1.1 SCI2 Configuration Information .....................................................................................323
         14.1.2 Features ...........................................................................................................................325
         14.1.3 Modes of Operation ........................................................................................................325
         14.1.4 Block Diagram ................................................................................................................326

14.2 Register Definition .........................................................................................................................328
         14.2.1 SCI Baud Rate Registers (SCIxBDH, SCIxBDL) ..........................................................328
         14.2.2 SCI Control Register 1 (SCIxC1) ...................................................................................329
         14.2.3 SCI Control Register 2 (SCIxC2) ...................................................................................330
         14.2.4 SCI Status Register 1 (SCIxS1) ......................................................................................331
         14.2.5 SCI Status Register 2 (SCIxS2) ......................................................................................333
         14.2.6 SCI Control Register 3 (SCIxC3) ...................................................................................334
         14.2.7 SCI Data Register (SCIxD) .............................................................................................335

14.3 Functional Description ...................................................................................................................335
         14.3.1 Baud Rate Generation .....................................................................................................335
         14.3.2 Transmitter Functional Description ................................................................................336
         14.3.3 Receiver Functional Description .....................................................................................337
         14.3.4 Interrupts and Status Flags ..............................................................................................339
         14.3.5 Additional SCI Functions ...............................................................................................340

                MC9S08DZ128 Series Data Sheet, Rev. 1

16                                                     Freescale Semiconductor
Section Number           Title                                  Page

                                              Chapter 15
                               Real-Time Counter (S08RTCV1)

15.1 Introduction ....................................................................................................................................343
         15.1.1 RTC Clock Signal Names ...............................................................................................343
         15.1.2 Features ...........................................................................................................................345
         15.1.3 Modes of Operation ........................................................................................................345
         15.1.4 Block Diagram ................................................................................................................346

15.2 External Signal Description ...........................................................................................................346
15.3 Register Definition .........................................................................................................................346

         15.3.1 RTC Status and Control Register (RTCSC) ....................................................................347
         15.3.2 RTC Counter Register (RTCCNT) ..................................................................................348
         15.3.3 RTC Modulo Register (RTCMOD) ................................................................................348
15.4 Functional Description ...................................................................................................................348
         15.4.1 RTC Operation Example .................................................................................................349
15.5 Initialization/Application Information ...........................................................................................350

                                              Chapter 16
                        Timer Pulse-Width Modulator (S08TPMV3)

16.1 Introduction ....................................................................................................................................353
         16.1.1 Features ...........................................................................................................................355
         16.1.2 Modes of Operation ........................................................................................................355
         16.1.3 Block Diagram ................................................................................................................356

16.2 Signal Description ..........................................................................................................................358
         16.2.1 Detailed Signal Descriptions ...........................................................................................358

16.3 Register Definition .........................................................................................................................362
         16.3.1 TPM Status and Control Register (TPMxSC) ................................................................362
         16.3.2 TPM-Counter Registers (TPMxCNTH:TPMxCNTL) ....................................................363
         16.3.3 TPM Counter Modulo Registers (TPMxMODH:TPMxMODL) ....................................364
         16.3.4 TPM Channel n Status and Control Register (TPMxCnSC) ..........................................365
         16.3.5 TPM Channel Value Registers (TPMxCnVH:TPMxCnVL) ..........................................367

16.4 Functional Description ...................................................................................................................368
         16.4.1 Counter ............................................................................................................................369
         16.4.2 Channel Mode Selection .................................................................................................371

16.5 Reset Overview ..............................................................................................................................374
         16.5.1 General ............................................................................................................................374
         16.5.2 Description of Reset Operation .......................................................................................374

16.6 Interrupts ........................................................................................................................................374
         16.6.1 General ............................................................................................................................374
         16.6.2 Description of Interrupt Operation ..................................................................................375

16.7 The Differences from TPM v2 to TPM v3.....................................................................................376

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         17
Section Number  Title                                  Page

                                              Chapter 17
                                      Development Support

17.1 Introduction ....................................................................................................................................379
         17.1.1 Forcing Active Background ............................................................................................379
         17.1.2 Features ...........................................................................................................................380

17.2 Background Debug Controller (BDC) ...........................................................................................380
         17.2.1 BKGD Pin Description ...................................................................................................381
         17.2.2 Communication Details ..................................................................................................381
         17.2.3 BDC Commands .............................................................................................................385
         17.2.4 BDC Hardware Breakpoint .............................................................................................387

17.3 Register Definition .........................................................................................................................387
         17.3.1 BDC Registers and Control Bits .....................................................................................388
         17.3.2 System Background Debug Force Reset Register (SBDFR) ..........................................390

                Chapter 18

                Debug Module (S08DBGV3) (128K)

18.1 Introduction ....................................................................................................................................393

    18.1.1 Features ...........................................................................................................................393

    18.1.2 Modes of Operation ........................................................................................................394

    18.1.3 Block Diagram ................................................................................................................394

18.2 Signal Description ..........................................................................................................................394

18.3 Memory Map and Registers ...........................................................................................................395

    18.3.1 Module Memory Map .....................................................................................................395

    18.3.2                                             396

    18.3.3 Register Descriptions ......................................................................................................397

18.4 Functional Description ...................................................................................................................410

    18.4.1 Comparator .....................................................................................................................410

    18.4.2 Breakpoints .....................................................................................................................411

    18.4.3 Trigger Selection .............................................................................................................411

    18.4.4 Trigger Break Control (TBC) .........................................................................................412

    18.4.5 FIFO ................................................................................................................................415

    18.4.6 Interrupt Priority .............................................................................................................416

18.5 Resets .............................................................................................................................................416

18.6 Interrupts ........................................................................................................................................417

18.7 Electrical Specifications .................................................................................................................417

                                              Appendix A
                                    Electrical Characteristics

A.1 Introduction ...................................................................................................................................419
A.2 Parameter Classification ................................................................................................................419
A.3 Absolute Maximum Ratings ..........................................................................................................419
A.4 Thermal Characteristics .................................................................................................................420

                MC9S08DZ128 Series Data Sheet, Rev. 1

18                                                     Freescale Semiconductor
Section Number           Title                                  Page

A.5 ESD Protection and Latch-Up Immunity ......................................................................................422
A.6 DC Characteristics .........................................................................................................................423
A.7 Supply Current Characteristics ......................................................................................................427
A.8 Analog Comparator (ACMP) Electricals ......................................................................................429
A.9 ADC Characteristics ......................................................................................................................431
A.10 External Oscillator (XOSC) Characteristics .................................................................................435
A.11 MCG Specifications ......................................................................................................................436
A.12 AC Characteristics .........................................................................................................................438

         A.12.1 Control Timing ...............................................................................................................438
         A.12.2 Timer/PWM ....................................................................................................................440
         A.12.3 MSCAN ..........................................................................................................................441
         A.12.4 SPI ...................................................................................................................................442
A.13 FLASH and EEPROM ..................................................................................................................445
A.14 EMC Performance .........................................................................................................................446
         A.14.1 Radiated Emissions .........................................................................................................446

                                              Appendix B
                    Ordering Information and Mechanical Drawings

B.1 Ordering Information ....................................................................................................................447
         B.1.1 MC9S08DZ128 Series Devices ......................................................................................447

B.2 Mechanical Drawings ....................................................................................................................448

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         19
Chapter 1
Device Overview

MC9S08DZ128 Series devices are members of the low-cost, high-performance HCS08 Family of 8-bit
microcontroller units (MCUs). All MCUs in the family use the enhanced HCS08 core and are available
with a variety of modules, memory sizes, memory types, and package types.

1.1 Devices in the MC9S08DZ128 Series

This data sheet covers members of the MC9S08DZ128 Series of MCUs:
    MC9S08DZ128
    MC9S08DZ96
    MC9S08DV128
    MC9S08DV96

Table 1-1 summarizes the feature set available in the MC9S08DZ128 Series.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         21
Chapter 1 Device Overview

t

                           Table 1-1. MC9S08DZ128 Series Features by MCU and Pin Count

          Feature          MC9S08DZ128      MC9S08DZ96                MC9S08DV128          MC9S08DV96

    FLASH (bytes)          131,072          98,304                        131,072          98,304

    RAM (bytes)            8192             6016                          6016             4096

    EEPROM (bytes)         2048             2048                          --               --

    Pin quantity    100 64          48 100 64           48            100 64       48  100 64          48

    Pin Interrupts  32     24       24  32  24          24            32  24       24  32  24          24

    ACMP1                  yes              yes                           yes              yes
    ACMP2                  yes1             yes1                          yes1             yes1

    ADC channels    24     24       16  24  24          16            24  24       16  24  24          16

    DBG                    yes              yes                           yes              yes

    IIC1                   yes              yes                           yes              yes

    IIC2            yes no          no yes no           no            yes no n o       yes no          no

    IRQ                    yes              yes                           yes              yes

    MCG                    yes              yes                           yes              yes

    MSCAN                  yes              yes                           yes              yes

    RTC                    yes              yes                           yes              yes

    SCI1                   yes              yes                           yes              yes

    SCI2                   yes              yes                           yes              yes

    SPI1                   yes              yes                           yes              yes

    SPI2            yes no          no yes no           no            yes no       no  yes no          no

    TPM1 channels          6                6                              6               6

    TPM2 channels          2                2                             2                2
                                                                          42               42
    TPM3 channels          42               42

    XOSC                   yes              yes                           yes              yes

    COP Watchdog           yes              yes                           yes              yes

    1 ACMP2O is not available in the 48-pin package.
    2 TPM3 pins are not available in the 64-pin and 48-pin packages.

                                    MC9S08DZ128 Series Data Sheet, Rev. 1

22                                                                                     Freescale Semiconductor
                                                                                              Chapter 1 Device Overview

Table 1-2 provides the functional version of the on-chip modules.

                                                         Table 1-2. Module Versions

                                                           Module  (CPU)             Version
                                                                   (ACMP_5V)
                         Central Processor Unit                    (ADC)                 5
                         Analog Comparator (5V)                    (DBG)                 3
                         Analog-to-Digital Converter               (IIC)                 1
                         Debug Module                              (MCG)                 3
                         Inter-Integrated Circuit                  (MSCAN)               2
                         Multi-Purpose Clock Generator             (SPI)                 2
                         Freescale's Controller Area Network       (SCI)                 1
                         Serial Peripheral Interface               (RTC)                 3
                         Serial Communications Interface           (TPM)                 4
                         Real-Time Counter                                               1
                         Timer Pulse Width Modulator                                     3

1.2 MCU Block Diagram

Figure 1-1 is the MC9S08DZ128 Series system-level block diagram.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                       23
Chapter 1 Device Overview

                         HCS08 CORE                       DEBUG MODULE (DBG)                                     PTA7/PIA7/ADP7/IRQ
                              CPU                                                                                PTA6/PIA6/ADP6
                                                        ANALOG COMPARATOR                                        PTA5/PIA5/ADP5
BKGD/MS  BDC                     BKP                              (ACMP1)        ACMP1O                PORT A    PTA4/PIA4/ADP4
RESET                                                                            ACMP1-                          PTA3/PIA3/ADP3/ACMP1O
         HCS08 SYSTEM CONTROL                                                    ACMP1+                          PTA2/PIA2/ADP2/ACMP1-
                                                                                                                 PTA1/PIA1/ADP1/ACMP1+
         RESETS AND INTERRUPTS                                                                                   PTA0/PIA0/ADP0/MCLK
           MODES OF OPERATION
            POWER MANAGEMENT                            REAL-TIME COUNTER (RTC)                                      PTB7/PIB7/ADP15
                                                                                                                     PTB6/PIB6/ADP14
         COP                         LVD      IRQ                                                                    PTB5/PIB5/ADP13
                                                                                                                     PTB4/PIB4/ADP12
         INT                         IRQ                                                               PORT B        PTB3/PIB3/ADP11
                                                                                                                     PTB2/PIB2/ADP10
VDD                 VOLTAGE                                                              8                           PTB1/PIB1/ADP9
VSS                REGULATOR                                                                                         PTB0/PIB0/ADP8
                                                        24-CHANNEL,12-BIT        ADP7-ADP0                      PTC7/ADP23
VREFH             USER MEMORY                           ANALOG-TO-DIGITAL                                       PTC6/ADP22
VREFL        FLASH _EEPROM _RAM                         CONVERTER (ADC)          ADP15-ADP8                     PTC5/ADP21
VDDA     MC9S08DZ128 = 128K_2K_8K                                                ADP23-ADP16                    PTC4/ADP20
VSSA      MC9S08DZ96 = 96K_2K_6K                                                                                PTC3/ADP19
         MC9S08DV128 = 128K_0K_6K                                                                               PTC2/ADP18
          MC9S08DV96 = 96K_0K_4K                                                                       PORT C   PTC1/ADP17
                                                                                                                PTC0/ADP16

PTJ7/PIJ7/TPM3CLK        PORT J    TPM3CLK              6-CHANNEL TIMER/PWM      TPM1CH5 -             PORT D    PTD7/PID7/TPM1CH5
            PTJ6/PIJ6            TPM3CH0 -                  MODULE (TPM1)        TPM1CH0 6                       PTD6/PID6/TPM1CH4
            PTJ5/PIJ5                                                                                            PTD5/PID5/TPM1CH3
            PTJ4/PIJ4             TPM3CH3               2-CHANNEL TIMER/PWM         TPM1CLK                      PTD4/PID4/TPM1CH2
                                                             MODULE (TPM2)                                       PTD3/PID3/TPM1CH1
PTJ3/PIJ3/TMP3CH3                          4                                     TPM2CH1,                        PTD2/PID2/TPM1CH0
PTJ2/PIJ2/TPM3CH2                                                                                                PTD1/PID1/TPM2CH1
PTJ1/PIJ1/TPM3CH1                                                                TPM2CH0                         PTD0/PID0/TPM2CH0
PTJ0/PIJ0/TMP3CH0                                                                   TPM2CLK

                   PTK7  PORT K                          4-CHANNEL TIMER/PWM     RxCAN                 PORT E        PTE7/RxD2/RXCAN
                   PTK6                                       MODULE (TPM3)      TXCAN                               PTE6/TxD2/TXCAN
                   PTK5                                                          MISO1                               PTE5/SDA1/MISO1
                   PTK4                                    CONTROLLER AREA                                           PTE4/SCL1/MOSI1
                   PTK3                                    NETWORK (MSCAN)       MOSI1                               PTE3/SPSCK1
                   PTK2                                                          SPSCK1                              PTE2/SS1
                   PTK1                                    SERIAL PERIPHERAL     SS1                                 PTE1/RxD1
                   PTK0                                 INTERFACE MODULE (SPI1)  RxD1                                PTE0/TxD1
                                                                                 TxD1                           PTF7
                   PTL7                                 SERIAL COMMUNICATIONS                                   PTF6/ACMP2O
                   PTL6                                      INTERFACE (SCI1)                                        PTF5/ACMP2-
                   PTL5                                                                                              PTF4/ACMP2+
                   PTL4  PORT L                         ANALOG COMPARATOR        ACMP2O                PORT F        PTF3/TPM2CLK/SDA1
                   PTL3                                            (ACMP2)       ACMP2-                              PTF2/TPM1CLK/SCL1
                   PTL2                                                          ACMP2+                              PTF1/RxD2
                   PTL1                                      IIC MODULE (IIC1)   SDA1                                PTF0/TxD2
                   PTL0                                 SERIAL COMMUNICATIONS    SCL1
                                                                                 RxD2
                   PTH7                                      INTERFACE (SCI2)    TxD2
                   PTH6                                      IIC MODULE (IIC2)
                   PTH5                                                          SDA2                            PTG7/SDA2
                   PTH4                                    SERIAL PERIPHERAL     SCL2
           PTH3/MISO2                                   INTERFACE MODULE (SPI2)                                  PTG6/SCL2
           PTH2/MOSI2                                                                                          
         PTH1/SPSCK2     PORT H                                                  MULTI-PURPOSE         PORT G    PTG5
              PTH0/SS2                                                                CLOCK
                                                MISO2                                                           PTG4
                                                MOSI2                              GENERATOR                     PTG3
                                              SPSCK2                                   (MCG)                    PTG2

                                                   SS2                           OSCILLATOR XTAL                 PTG1/XTAL
                                                                                                EXTAL
                                                                                 (XOSC)
                                                                                                                 PTG0/EXTAL

                               - Pin not connected in 64-pin and 48-pin packages  - Pin not available in the 48-pin package
         - In 48-pin package, VDDA and VREFH are internally connected to each other and VSSA and VREFL are internally connected to each other.

                                              Figure 1-1. MC9S08DZ128 Block Diagram

                                                   MC9S08DZ128 Series Data Sheet, Rev. 1

24                                                                                                             Freescale Semiconductor
                                                                                                 Chapter 1 Device Overview

1.3 System Clock Distribution

Figure 1-2 shows a simplified clock connection diagram. Some modules in the MCU have selectable clock
inputs as shown. The clock inputs to the modules indicate the clock(s) that are used to drive the module
function.

The following are the clocks used in this MCU:
    BUSCLK -- The frequency of the bus is always half of MCGOUT.
    LPO -- Independent 1-kHz clock that can be selected as the source for the COP and RTC modules.
    MCGOUT -- Primary output of the MCG and is twice the bus frequency.
    MCGLCLK -- Development tools can select this clock source to speed up BDC communications
         in systems where BUSCLK is configured to run at a very slow frequency.
    MCGERCLK -- External reference clock can be selected as the RTC clock source. It can also be
         used as the alternate clock for the ADC and MSCAN.
    MCGIRCLK -- Internal reference clock can be selected as the RTC clock source.
    MCGFFCLK -- Fixed frequency clock can be selected as clock source for the TPMx.
    TPM1CLK -- External input clock source for TPM1.
    TPM2CLK -- External input clock source for TPM2.
    TPM3CLK -- External input clock source for TPM3.

                                                                            TPM1CLK TPM2CLK TPM3CLK

1 kHZ                                   RTC                    COP TPM1 TPM2 TPM3 IIC1  IIC2 SCI1 SCI2 SPI1 SPI2
LPO

       MCGERCLK
       MCGIRCLK

MCG    MCGFFCLK                     2                         FFCLK*

       MCGOUT                       2 BUSCLK
       MCGLCLK

XOSC                                                           BDC     ADC              MSCAN    FLASH EEPROM
                               CPU
                                                                                                  FLASH and EEPROM
EXTAL XTAL                                                             ADC has min and max        have frequency
                                                                       frequency requirements.    requirements for program
   * The fixed frequency clock (FFCLK) is internally                   See the ADC chapter        and erase operation. See
   synchronized to the bus clock and must not exceed one half          and electricals appendix   the electricals appendix
   of the bus clock frequency.                                         for details.               for details.

                                        Figure 1-2. System Clock Distribution Diagram

                                               MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                           25
Chapter 1 Device Overview

                           MC9S08DZ128 Series Data Sheet, Rev. 1

26                                                                Freescale Semiconductor
Chapter 2
Pins and Connections

This section describes signals that connect to package pins. It includes pinout diagrams, recommended
system connections, and detailed discussions of signals.

2.1 Device Pin Assignment

This section shows the pin assignments for MC9S08DZ128 Series MCUs in the available packages.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                27
Chapter 2 Pins and Connections

                                100 PTA6/PIA6/ADP6  99 PTB5/PIB5/ADP13  98 PTA5/PIA5/ADP5   97 PTC4/ADP20       96 PTB4/PIB4/ADP12  95 PTA4/PIA4/ADP4  94 PTK7  93 PTK6  92 PTK5       91 PTK4       VDDA                  VREFH                 VREFL  VSSA  86 PTK3  85 PTK2  84 PTK1       83 PTK0  82 PTL4  81 PTA3/PIA3/ADP3/ACMP1O  80 PTB3/PIB3/ADP11  79 PTC3/ADP19  78 PTA2/PIA2/ADP2/ACMP1-  77 PTB2/PIB2/ADP10    76 PTA1/PIA1/ADP1/ACMP1+

       PTB6/PIB6/ADP14 1                                                                                                                                                                             90                    89                    88     87                                                                                                                                                                                           75 PTB1/PIB1/ADP9

             PTC5/ADP21 2                                                                                                                                                                            100-Pin                                                                                                                                                                                                                                         74 PTC2/ADP18
                                                                                                                                                                                                      LQFP
    PTA7/PIA7/ADP7/IRQ 3                                                                                                                                                                                                                                                                                                                                                                                                                             73 PTA0/PIA0/ADP0/MCLK
                                PTE2/SS1 26         PTE3/SPSCK1 27      PTE4/SCL1/MOSI1 28  PTE5/SDA1/MISO1 29  PTG2 30             PTG3 31            PTL6 32  PTL7 33  PTF0/TxD2 34  PTF1/RxD2 35  PTF2/TPM1CLK/SCL1 36  PTF3/TPM2CLK/SDA1 37  38     39    PTG4 40  PTG5 41  PTG6/SCL2 42  PTG7/SDA2 43                                PTL0 46             PTL1 47        PTL2 48                   PTD0/PID0/TPM2CH0 49
             PTC6/ADP22 4                                                                                                                                                                                                                                                                        PTE6/TxD2/TxCAN 44                                                                                                                                  72 PTC1/ADP17
                                                                                                                                                                                                                                                                                                     PTE7/RxD2/RxCAN 45
       PTB7/PIB7/ADP15 5                                                                                                                                                                                                                                                                                                                                                                                                                             71 PTB0/PIB0/ADP8

             PTC7/ADP23 6                                                                                                                                                                                                                                                                                                                                                                                                                            70 PTC0/ADP16
                                                                                                                                                                                                                                                                                                                                                                                                                                                     69 PTH7
    PTJ0/PIJ0/TPM3CH0 7                                                                                                                                                                                                                                                                                                                                                                                                                              68 PTH6
                                                                                                                                                                                                                                                                                                                                                                                                                                                     67 PTH5
    PTJ1/PIJ1/TPM3CH1 8
                                                                                                                                                                                                                                                                                                                                                                                                                                                     66 PTH4
                       VDD 9
                       VSS 10                                                                                                                                                                                                                                                                                                                                                                                                                        65 BKGD/MS
             PTG0/EXTAL 11
               PTG1/XTAL 12                                                                                                                                                                                                                                                                                                                                                                                                                          64 PTD7/PID7/TPM1CH5
                    RESET 13
    PTJ2/PIJ2/TPM3CH2 14                                                                                                                                                                                                                                                                                                                                                                                                                             63 PTD6/PID6/TPM1CH4
    PTJ3/PIJ3/TPM3CH3 15
                      PTL5 16                                                                                                                                                                                                                                                                                                                                                                                                                        62 VDD
           PTF4/ACMP2+ 17                                                                                                                                                                                                                                                                                                                                                                                                                            61 VSS
            PTF5/ACMP2- 18                                                                                                                                                                                                                                                                                                                                                                                                                           60 PTL3
           PTF6/ACMP2O 19                                                                                                                                                                                                                                                                                                                                                                                                                            59 PTF7
                 PTJ4/PIJ4 20                                                                                                                                                                                                                                                                                                                                                                                                                        58 PTH3/MISO2
                 PTJ5/PIJ5 21                                                                                                                                                                                                                                                                                                                                                                                                                        57 PTH2/MOSI2
                 PTJ6/PIJ6 22                                                                                                                                                                                                                                                                                                                                                                                                                        56 PTH1/SPSCK2
    PTJ7/PIJ7/TPM3CLK 23                                                                                                                                                                                                                                                                                                                                                                                                                             55 PTH0/SS2
               PTE0/TxD1 24                                                                                                                                                                                                                                                                                                                                                                                                                          54 PTD5/PID5/TPM1CH3
               PTE1/RxD1 25                                                                                                                                                                                                                                                                                                                                                                                                                          53 PTD4/PID4/TPM1CH2
                                                                                                                                                                                                                                                                                                                                                                                                                                                     52 PTD3/PID3/TPM1CH1
                                                                                                                                                                                                                                                                                                                                                                                                                                                     51 PTD2/PID2/TPM1CH0
                                                                                                                                                                                                                                                                                                                                                                                                                             PTD1/PID1/TPM2CH1 50
                                                                                                                                                                                                                                                 VDD  VSS

    Figure 2-1. MC9S08DZ128 Series in 100-Pin LQFP Package

                                                                                                                MC9S08DZ128 Series Data Sheet, Rev. 1

28                                                                                                                                                                                                                                                                                                                                                                                                                                                     Freescale Semiconductor
                                                                                                                                                                                                                                                                                                        Chapter 2 Pins and Connections

                         64 PTA6/PIA6/ADP6  63 PTB5/PIB5/ADP13  62 PTA5/PIA5/ADP5  61 PTC4/ADP20  60 PTB4/PIB4/ADP12  59 PTA4/PIA4/ADP4  VDDA  VREFH  VREFL  VSSA  54 PTA3/PIA3/ADP3/ACMP1O  53 PTB3/PIB3/ADP11  52 PTC3/ADP19  51 PTA2/PIA2/ADP2/ACMP1-  50 PTB2/PIB2/ADP10  49 PTA1/PIA1/ADP1/ACMP1+

   PTB6/PIB6/ADP14 1                                                                                                                     58    57     56     55                                                                                                                                         48 PTB1/PIB1/ADP9
         PTC5/ADP21 2                                                                                                                                                                                                                                                                                   47 PTC2/ADP18
                                                                                                                                         64-Pin                                                                                                                                                         46 PTA0/PIA0/ADP0/MCLK
PTA7/PIA7/ADP7/IRQ 3                                                                                                                     LQFP                                                                                                                                                           45 PTC1/ADP17
         PTC6/ADP22 4                                                                                                                                                                                                                                                                                   44 PTB0/PIB0/ADP8
                                                                                                                                                                                                                                                                                                        43 PTC0/ADP16
   PTB7/PIB7/ADP15 5                                                                                                                                                                                                                                                                                    42 BKGD/MS
         PTC7/ADP23 6                                                                                                                                                                                                                                                                                   41 PTD7/PID7/TPM1CH5
                   VDD 7                                                                                                                                                                                                                                                                                40 PTD6/PID6/TPM1CH4
                   VSS 8                                                                                                                                                                                                                                                                                39 VDD
         PTG0/EXTAL 9                                                                                                                                                                                                                                                                                   38 VSS
           PTG1/XTAL 10                                                                                                                                                                                                                                                                                 37 PTF7
                RESET 11                                                                                                                                                                                                                                                                                36 PTD5/PID5/TPM1CH3
                                                                                                                                                                                                                                                                                                        35 PTD4/PID4/TPM1CH2
       PTF4/ACMP2+ 12                                                                                                                                                                                                                                                                                   34 PTD3/PID3/TPM1CH1
        PTF5/ACMP2- 13                                                                                                                                                                                                                                                                                  33 PTD2/PID2/TPM1CH0
       PTF6/ACMP2O 14

           PTE0/TxD1 15
           PTE1/RxD1 16
                         PTE2/SS1 17
                             PTE3/SPSCk1 18
                                PTE4/SCL1/MOSI1 19
                                    PTE5/SDA1/MISO1 20

                                        PTG2 21
                                           PTG3 22
                                               PTF0/TxD2 23
                                                   PTF1/RxD2 24
                                                       PTF2/TPM1CLK/SCL1 25
                                                          PTF3/TPM2CLK/SDA1 26
                                                              PTG4 27
                                                                  PTG5 28
                                                                     PTE6/TxD2TxCAN 29
                                                                         PTE7/RxD2/RxCAN 30
                                                                             PTD0/PID0/TPM2CH0 31
                                                                                 PTD1/PID1/TPM2CH1 32

                         Figure 2-2. MC9S08DZ128 Series in 64-Pin LQFP Package

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                                                                                                                                                                                                                                         29
Chapter 2 Pins and Connections

                                48 PTA6/PIA6/ADP6                                                  36 PTB1/PIB1/ADP9
                                   47 PTB5/PIB5/ADP13                                              35 PTA0/PIA0/ADP0/MCLK
                                       46 PTA5/PIA5/ADP5                                           34 PTB0/PIB0/ADP8
                                          45 PTB4/PIB4/ADP12
                                               44 PTA4/PIA4/ADP4                                   33 BKGD/MS
                                                  43 VDDA/VREFH                                    32 PTD7/PID7/TPM1CH5
                                                      42 VSSA/VREFL                                31 PTD6/PID6/TPM1CH4
                                                          41 PTA3/PIA3/ADP3/ACMP1O
                                                              40 PTB3/PIB3/ADP11                   30 VDD
                                                                 39 PTA2/PIA2/ADP2/ACMP1-          29 VSS
                                                                     38 PTB2/PIB2/ADP10            28 PTD5/PID5/TPM1CH3
                                                                         37 PTA1/PIA1/ADP1/ACMP1+
       PTB6/PIB6/ADP14 1                                                                           27 PTD4/PID4/TPM1CH2
    PTA7/PIA7/ADP7/IRQ 2        48-Pin LQFP
                                                                                                   26 PTD3/PID3/TPM1CH1
       PTB7/PIB7/ADP15 3                                                                           25 PTD2/PID2/TPM1CH0
                       VDD 4
                       VSS 5

             PTG0/EXTAL 6
               PTG1/XTAL 7
                    RESET 8

           PTF4/ACMP2+ 9
            PTF5/ACMP2- 10

               PTE0/TxD1 11
               PTE1/RxD1 12
                                PTE2/SS1 13
                                    PTE3/SPSCK1 14
                                       PTE4/SCL1/MOSI1 15
                                           PTE5/SDA1/MISO1 16

                                              PTF0/TxD2 17
                                                  PTF1/RxD2 18
                                                      PTF2/TPM1CLK/SCL1 19
                                                         PTF3/TPM2CLK/SDA1 20
                                                             PTE6/TxD2/TXCAN 21
                                                                 PTE7/RxD2/RXCAN 22
                                                                     PTD0/PID0/TPM2CH0 23
                                                                        PTD1/PID1/TPM2CH1 24

                                  VREFH and VREFL are internally connected to VDDA and VSSA, respectively.

                                Figure 2-3. MC9S08DZ128 Series in 48-Pin LQFP

                                MC9S08DZ128 Series Data Sheet, Rev. 1

30                                                                                                          Freescale Semiconductor
                                                                                                                                                Chapter 2 Pins and Connections

2.2 Recommended System Connections

Figure 2-4 shows pin connections that are common to MC9S08DZ128 Series application systems.

     +   CBLK +                     CBY    VDD MC9S08DZ128
         10 F                       0.1 F
     5V                                    VSS                             PTA0/PIA0/ADP0/MCLK
                                    CBY    VDDA                            PTA1/PIA1/ADP1/ACMP1+
     SYSTEM                         0.1 F  VREFH                   PORT    PTA2/PIA2/ADP2/ACMP1-
     POWER                                                           A     PTA3/PIA3/ADP3/ACMP1O
                                                              IRQ          PTA4/PIA4/ADP4
                                           VREFL                   PORT    PTA5/PIA5/ADP5
                                           VSSA                      B     PTA6/PIA6/ADP6
                                                                           PTA7/PIA7/ADP7/IRQ
     BACKGROUND HEADER                                             PORT
                                                                     C     PTB0/PIB0/ADP8
VDD                                        BKGD/MS                         PTB1/PIB1/ADP9
                                                                   PORT    PTB2/PIB2/ADP10
                         VDD                                         D     PTB3/PIB3/ADP11
                                                                           PTB4/PIB4/ADP12
                              4.7 k10 k                           PORT    PTB5/PIB5/ADP13
                                                                     E     PTB6/PIB6/ADP14
                                           RESET                           PTB7/PIB7/ADP15
                                                                   PORT
             OPTIONAL            0.1 F                               F     PTC0/ADP16
              MANUAL                                                       PTC1/ADP17
               RESET     PTL0                                      PORT    PTC2/ADP18
                         PTL1                                        G     PTC3/ADP19
                         PTL2                                              PTC4/ADP20
                         PTL3                                              PTC5/ADP21
                         PTL4                                              PTC6/ADP22
                         PTL5                                              PTC7/ADP23
                         PTL6
                         PTL7              PORT                            PTD0/PID0/TPM2CH0
                                             L                             PTD1/PID1/TPM2CH1
                                                                           PTD2/PID2/TPM1CH0

                                                                           PTD3/PID3/TPM1CH1
                                                                           PTD4/PID4/TPM1CH2
                                                                           PTD5/PID5/TPM1CH3
                                                                           PTD6/PID6/TPM1CH4
                                                                           PTD7/PID7/TPM1CH5

                              PTK0         PORT                            PTE0/TxD1
                              PTK1           K                             PTE1/RxD1
                              PTK2                                         PTE2/SS1
                              PTK3         PORT
                              PTK4            J                            PTE3/SPSCK1
                              PTK5                                         PTE4/SCL1/MOSI1
                              PTK6         PORT                            PTE5/SDA1/MISO1
                              PTK7           H                             PTE6/TxD2/TXCAN
                                                                           PTE7/RxD2/RXCAN
             PTJ0/PIJ0/TPM3CH0
             PTJ1/PIJ1/TPM3CH1                                             PTF0/TxD2
             PTJ2/PIJ2/TPM3CH2
             PTJ3/PIJ3/TPM3CH3                                             PTF1/RxD2

                         PTJ4/PIJ4                                         PTF2/TPM1CLK/SCL1
                         PTJ5/PIJ5
                         PTJ6/PIJ6                                         PTF3/TPM2CLK/SDA1
             PTJ7/PIJ7/TPM3CLK
                                                                           PTF4/ACMP2+
                         PTH0/SS2
                   PTH1/SPSCK2                                             PTF5/ACMP2

                     PTH2/MOSI2                                            PTF6/ACMP2O      RS            RF
                     PTH3/MISO2                                            PTF7

                              PTH4                                         PTG0/EXTAL             C1      C2
                              PTH5                                         PTG1/XTAL
                              PTH6                                         PTG2                       X1
                              PTH7
                                                                           PTG3
                                                                           PTG4
                                                                           PTG5
                                                                           PTG6/SCL2
                                                                           PTG7/SDA2

             Figure 2-4. Basic System Connections (Shown in 100Pin Package)

                                    MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                       31
Chapter 2 Pins and Connections

2.2.1 Power

VDD and VSS are the primary power supply pins for the MCU. This voltage source supplies power to all
I/O buffer circuitry and to an internal voltage regulator. The internal voltage regulator provides regulated
lower-voltage source to the CPU and other internal circuitry of the MCU.

Typically, application systems have two separate capacitors across the power pins. In this case, there
should be a bulk electrolytic capacitor, such as a 10-F tantalum capacitor, to provide bulk charge storage
for the overall system and a 0.1-F ceramic bypass capacitor located as near to the MCU power pins as
practical to suppress high-frequency noise. The MC9S08DZ128 Series has up to three VDD pins. Each pin
must have a bypass capacitor for best noise suppression.

VDDA and VSSA are the analog power supply pins for the MCU. This voltage source supplies power to the
ADC module. A 0.1-F ceramic bypass capacitor should be located as near to the MCU power pins as
practical to suppress high-frequency noise.

2.2.2 Oscillator

Immediately after reset, the MCU uses an internally generated clock provided by the multi-purpose clock
generator (MCG) module. For more information on the MCG, see Chapter 8, "Multi-Purpose Clock
Generator (S08MCGV2)."

The oscillator (XOSC) in this MCU is a Pierce oscillator that can accommodate a crystal or ceramic
resonator. Rather than a crystal or ceramic resonator, an external oscillator can be connected to the EXTAL
input pin.

Refer to Figure 2-4 for the following discussion. RS (when used) and RF should be low-inductance
resistors such as carbon composition resistors. Wire-wound resistors and some metal film resistors have
too much inductance. C1 and C2 normally should be high-quality ceramic capacitors that are specifically
designed for high-frequency applications.

RF is used to provide a bias path to keep the EXTAL input in its linear range during crystal startup; its value
is not generally critical. Typical systems use 1 M to 10 M. Higher values are sensitive to humidity, and
lower values reduce gain and (in extreme cases) could prevent startup.

C1 and C2 are typically in the 5-pF to 25-pF range and are chosen to match the requirements of a specific
crystal or resonator. Be sure to take into account printed circuit board (PCB) capacitance and MCU pin
capacitance when selecting C1 and C2. The crystal manufacturer typically specifies a load capacitance
which is the series combination of C1 and C2 (which are usually the same size). As a first-order
approximation, use 10 pF as an estimate of combined pin and PCB capacitance for each oscillator pin
(EXTAL and XTAL).

2.2.3 RESET

RESET is a dedicated pin with a pull-up device built in. It has input hysteresis, a high current output driver,
and no output slew rate control. Internal power-on reset and low-voltage reset circuitry typically make
external reset circuitry unnecessary. This pin is normally connected to the standard 6-pin background
debug connector so a development system can directly reset the MCU system. If desired, a manual external
reset can be added by supplying a simple switch to ground (pull reset pin low to force a reset).

    MC9S08DZ128 Series Data Sheet, Rev. 1

32                                         Freescale Semiconductor
                                                                                                                                                Chapter 2 Pins and Connections

Whenever any reset is initiated (whether from an external signal or from an internal system), the RESET
pin is driven low for about 34 bus cycles. The reset circuitry decodes the cause of reset and records it by
setting a corresponding bit in the system reset status register (SRS).

2.2.4 Background / Mode Select (BKGD/MS)

While in reset, the BKGD/MS pin functions as a mode select pin. Immediately after reset rises, the pin
functions as the background pin and can be used for background debug communication. While functioning
as a background or mode select pin, the pin includes an internal pull-up device, input hysteresis, a standard
output driver, and no output slew rate control.

If nothing is connected to this pin, the MCU will enter normal operating mode at the rising edge of reset.
If a debug system is connected to the 6-pin standard background debug header, it can hold BKGD low
during the rising edge of reset which forces the MCU to active background mode.

The BKGD/MS pin is used primarily for background debug controller (BDC) communications using a
custom protocol that uses 16 clock cycles of the target MCU's BDC clock per bit time. The target MCU's
BDC clock could be as fast as the bus clock rate, so there should never be any significant capacitance
connected to the BKGD/MS pin that could interfere with background serial communications.

Although the BKGD/MS pin is a pseudo open-drain pin, the background debug communication protocol
provides brief, actively driven, high speedup pulses to ensure fast rise times. Small capacitances from
cables and the absolute value of the internal pull-up device play almost no role in determining rise and fall
times on the BKGD/MS pin.

2.2.5 ADC Reference (VREFH, VREFL) Pins

The VREFH and VREFL pins are the voltage reference high and voltage reference low inputs, respectively,
for the ADC module.

2.2.6 General-Purpose I/O and Peripheral Ports

The MC9S08DZ128 Series series of MCUs support up to 87 general-purpose I/O pins and 1 input-only
pin, which are shared with on-chip peripheral functions (timers, serial I/O, ADC, MSCAN, etc.).

When a port pin is configured as a general-purpose output or a peripheral uses the port pin as an output,
software can select one of two drive strengths and enable or disable slew rate control. When a port pin is
configured as a general-purpose input or a peripheral uses the port pin as an input, software can enable a
pull-up device. Immediately after reset, all of these pins are configured as high-impedance general-purpose
inputs with internal pull-up devices disabled.

When an on-chip peripheral system is controlling a pin, data direction control bits still determine what is
read from port data registers even though the peripheral module controls the pin direction by controlling
the enable for the pin's output buffer. For information about controlling these pins as general-purpose I/O
pins, see Chapter 6, "Parallel Input/Output Control."

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         33
Chapter 2 Pins and Connections

                                             NOTE

    To avoid extra current drain from floating input pins, the reset initialization
    routine in the application program should either enable on-chip pull-up
    devices or change the direction of unused or non-bonded pins to outputs so
    they do not float.

                                Table 2-1. Pin Availability by Package Pin-Count

    Pin Number                               <-- Lowest Priority --> Highest

    100 64                         48              Port     Alt 1                 Alt 2
                                             Pin/Interrupt

    1                           1  1 PTB6    PIB6           ADP14
                                   -- PTC5   PIA7           ADP21
    2                           2  2 PTA7    PIB7           ADP7
                                   -- PTC6   PIJ0           ADP22
    3                           3  3 PTB7    PIJ1           ADP15         IRQ
                                   -- PTC7   PIJ2           ADP23
    4                           4  -- PTJ0   PIJ3           TPM3CH0       VDD
                                   -- PTJ1                  TPM3CH1       VSS
    5                           5  -- PTJ2   PIJ4           TPM3CH2       RESET
                                   -- PTJ3   PIJ5           TPM3CH3
    6                           6  4         PIJ6
                                   5         PIJ7           EXTAL
    7--                            6 PTG0                   XTAL
                                   7 PTG1
    8--                            8
                                   -- PTL5
    9--                            9 PTF4
                                   10 PTF5
    10 --                          -- PTF6
                                   -- PTJ4
    11 7                           -- PTJ5
                                   -- PTJ6
    12 8                           -- PTJ7
                                   11 PTE0
    13 9                           12 PTE11

    14 10

    15 11

    16 --

    17 12                                                                 ACMP2+
                                                                          ACMP2-
    18 13                                                                 ACMP2O

    19 14

    20 --

    21 --

    22 --

    23 --                                                   TPM3CLK

    24 15                                                                 TxD1
                                                                          RxD1
    25 16

                                   MC9S08DZ128 Series Data Sheet, Rev. 1

34                                                                                       Freescale Semiconductor
                                                                           Chapter 2 Pins and Connections

                         Table 2-1. Pin Availability by Package Pin-Count (continued)

Pin Number                                <-- Lowest Priority --> Highest

                         100 64  48             Port          Alt 1          Alt 2
                                          Pin/Interrupt
                         26 17                           SCL12          SS1
                         27 18   13 PTE2                 SDA12          SPSCK1
                         28 19   14 PTE3                                MOSI1
                         29 20   15 PTE4                                MISO1
                         30 21   16 PTE5
                         31 22   -- PTG2                 TPM1CLK        TxD23
                         32 --   -- PTG3                 TPM2CLK        RxD23
                         33 --   -- PTL6                                SCL12
                         34 23   -- PTL7                                SDA12
                         35 24   17 PTF0
                         36 25   18 PTF1                                VDD
                         37 26   19 PTF2                                VSS
                         38 --   20 PTF3
                         39 --   --                      TxD23          SCL2
                         40 27   --                      RxD23          SDA2
                         41 28   -- PTG4                                TXCAN
                         42 --   -- PTG5                                RxCAN
                         43 --   -- PTG6
                         44 29   -- PTG7  PID0                          TPM2CH0
                         45 30   21 PTE6  PID1                          TPM2CH1
                         46 --   22 PTE7
                         47 --   -- PTL0
                         48 --   -- PTL1
                         49 31   -- PTL2
                         50 32   23 PTD0
                                 24 PTD1

                                 MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                35
Chapter 2 Pins and Connections

    Table 2-1. Pin Availability by Package Pin-Count (continued)

    Pin Number                           <-- Lowest Priority --> Highest

    100 64                      48             Port     Alt 1               Alt 2
                                         Pin/Interrupt
    51 33                                                              TPM1CH0
    52 34                       25 PTD2  PID2                          TPM1CH1
    53 35                       26 PTD3  PID3                          TPM1CH2
    54 36                       27 PTD4  PID4                          TPM1CH3
    55 --                       28 PTD5  PID5                          SS2
    56 --                       -- PTH0                                SPSCK2
    57 --                       -- PTH1  PID6                          MOSI2
    58 --                       -- PTH2  PID7                          MISO2
    59 37                       -- PTH3
    60 --                       -- PTF7  PIB0           BKGD           VSS
    61 38                       -- PTL3  PIA0                          VDD
    62 39                       29       PIB1                          TPM1CH4
    63 40                       30       PIA1                          TPM1CH5
    64 41                       31 PTD6  PIB2                          MS
    65 42                       32 PTD7  PIA2
    66 --                       33       PIB3           ADP16          MCLK
    67 --                       -- PTH4  PIA3           ADP8           ACMP1+4
    68 --                       -- PTH5                 ADP17          ACMP1-4
    69 --                       -- PTH6                 ADP0           ACMP1O
    70 43                       -- PTH7                 ADP18
    71 44                       -- PTC0                 ADP9
    72 45                       34 PTB0                 ADP14
    73 46                       -- PTC1                 ADP10
    74 47                       35 PTA0                 ADP24
    75 48                       -- PTC2                 ADP19
    76 49                       36 PTB1                 ADP11
    77 50                       37 PTA1                 ADP3
    78 51                       38 PTB2
    79 52                       39 PTA2
    80 53                       -- PTC3
    81 54                       40 PTB3
    82 --                       41 PTA3
    83 --                       -- PTL4
    84 --                       -- PTK0
    85 --                       -- PTK1
    86 --                       -- PTK2
    87 55                       -- PTK3
    88 56
                                42                                     VSSA
                                                                       VREFL

                                MC9S08DZ128 Series Data Sheet, Rev. 1

36                                                                                 Freescale Semiconductor
                                                                                 Chapter 2 Pins and Connections

                         Table 2-1. Pin Availability by Package Pin-Count (continued)

Pin Number                                      <-- Lowest Priority --> Highest

                         100 64 48                    Port     Alt 1             Alt 2
                                                Pin/Interrupt

                         89 57                                        VREFH
                                            43                        VDDA

                         90 58
                         91 -- -- PTK4

                         92 -- -- PTK5

                         93 -- -- PTK6

                         94 -- -- PTK7

                         95 59 44 PTA4          PIA4           ADP4

                         96 60 45 PTB4          PIB4           ADP12

                         97 61 -- PTC4                         ADP20

                         98 62 46 PTA5          PIA5           ADP5

                         99 63 47 PTB5          PIB5           ADP13

                         100 64 48 PTA6         PIA6           ADP6

1 Pin does not contain a clamp diode to VDD and should not be driven above
   VDD. The voltage measured on this pin when internal pull-up is enabled may
   be as low as VDD - 0.7V. The internal gates connected to this pin are pulled to
   VDD.

2 The IIC1 module pins can be repositioned using IIC1PS bit in the SOPT1

   register. The default reset locations are on PTF2 and PTF3.

3 The SCI2 module pins can be repositioned using SCI2PS bit in the SOPT1

   register. The default reset locations are on PTF0 and PTF1.

4 If both these analog modules are enabled they both will have access to the pin.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                 37
Chapter 2 Pins and Connections

                                MC9S08DZ128 Series Data Sheet, Rev. 1

38                                                                     Freescale Semiconductor
Chapter 3
Modes of Operation

3.1 Introduction

The operating modes of the MC9S08DZ128 Series are described in this chapter. Entry into each mode,
exit from each mode, and functionality while in each of the modes are described.

3.2 Features

    Active background mode for code development
    Wait mode -- CPU shuts down to conserve power; system clocks are running and full regulation

         is maintained
    Stop modes -- System clocks are stopped and voltage regulator is in standby

         -- Stop3 -- All internal circuits are powered for fast recovery
         -- Stop2 -- Partial power down of internal circuits; RAM content is retained

3.3 Run Mode

This is the normal operating mode for the MC9S08DZ128 Series. This mode is selected when the
BKGD/MS pin is high at the rising edge of reset. In this mode, the CPU executes code from internal
memory with execution beginning at the address fetched from memory at 0xFFFE0xFFFF after reset.

3.4 Active Background Mode

The active background mode functions are managed through the background debug controller (BDC) in
the HCS08 core. The BDC, together with the on-chip debug module (DBG), provide the means for
analyzing MCU operation during software development.

Active background mode is entered in any of five ways:
    When the BKGD/MS pin is low at the rising edge of reset
    When a BACKGROUND command is received through the BKGD/MS pin
    When a BGND instruction is executed
    When encountering a BDC breakpoint
    When encountering a DBG breakpoint

After entering active background mode, the CPU is held in a suspended state waiting for serial background
commands rather than executing instructions from the user application program.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         39
Chapter 3 Modes of Operation

Background commands are of two types:
    Non-intrusive commands, defined as commands that can be issued while the user program is
         running. Non-intrusive commands can be issued through the BKGD/MS pin while the MCU is in
         run mode; non-intrusive commands can also be executed when the MCU is in the active
         background mode. Non-intrusive commands include:
         -- Memory access commands
         -- Memory-access-with-status commands
         -- BDC register access commands
         -- The BACKGROUND command
    Active background commands, which can only be executed while the MCU is in active background
         mode. Active background commands include commands to:
         -- Read or write CPU registers
         -- Trace one user program instruction at a time
         -- Leave active background mode to return to the user application program (GO)

The active background mode is used to program a bootloader or user application program into the FLASH
program memory before the MCU is operated in run mode for the first time. When the MC9S08DZ128
Series is shipped from the Freescale Semiconductor factory, the FLASH program memory is erased by
default unless specifically noted so there is no program that could be executed in run mode until the
FLASH memory is initially programmed. The active background mode can also be used to erase and
reprogram the FLASH memory after it has been previously programmed.

For additional information about the active background mode, refer to the Development Support chapter.

3.5 Wait Mode

Wait mode is entered by executing a WAIT instruction. Upon execution of the WAIT instruction, the CPU
enters a low-power state in which it is not clocked. The I bit in CCR is cleared when the CPU enters the
wait mode, enabling interrupts. When an interrupt request occurs, the CPU exits the wait mode and
resumes processing, beginning with the stacking operations leading to the interrupt service routine.

While the MCU is in wait mode, there are some restrictions on which background debug commands can
be used. Only the BACKGROUND command and memory-access-with-status commands are available
when the MCU is in wait mode. The memory-access-with-status commands do not allow memory access,
but they report an error indicating that the MCU is in either stop or wait mode. The BACKGROUND
command can be used to wake the MCU from wait mode and enter active background mode.

    MC9S08DZ128 Series Data Sheet, Rev. 1

40                                         Freescale Semiconductor
                                                                                Chapter 3 Modes of Operation

3.6 Stop Modes

One of two stop modes is entered upon execution of a STOP instruction when the STOPE bit in SOPT1
register is set. In both stop modes, all internal clocks are halted. The MCG module can be configured to
leave the reference clocks running. See Chapter 8, "Multi-Purpose Clock Generator (S08MCGV2)," for
more information.

Table 3-1 shows all of the control bits that affect stop mode selection and the mode selected under various
conditions. The selected mode is entered following the execution of a STOP instruction.

                                                      Table 3-1. Stop Mode Selection

STOPE ENBDM 1 LVDE LVDSE PPDC                                        Stop Mode

0  x                     x               x Stop modes disabled; illegal opcode reset if STOP instruction executed

1  1                     x               x Stop3 with BDM enabled 2

1  0  Both bits must be 1 x3 Stop3 with voltage regulator active

1  0                     Either bit a 0  0 Stop3

1  0                     Either bit a 0  1 Stop2

1 ENBDM is located in the BDCSCR, which is only accessible through BDC commands, see the Development Support chapter.

2 When in Stop3 mode with BDM enabled, The SIDD will be near RIDD levels because internal clocks are enabled.
3 If LVD = 1 in stop, the MCU enters stop3, regardless of the configuration of PPDC.

3.6.1 Stop3 Mode

Stop3 mode is entered by executing a STOP instruction under the conditions as shown in Table 3-1. The
states of all of the internal registers and logic, RAM contents, and I/O pin states are maintained.

Exit from stop3 is done by asserting RESET or an asynchronous interrupt pin. The asynchronous interrupt
pins are IRQ, PIA0PIA7, PIB0PIB7, PID0PID7, and PIJ0PIJ7. Exit from stop3 can also be done by
the low voltage detection (LVD) reset, the low voltage warning (LVW) interrupt, the ADC conversion
complete interrupt, the analog comparator interrupt, the real-time clock (RTC) interrupt, the MSCAN
wake-up interrupt, or the SCI receiver interrupt.

If stop3 is exited by means of the RESET pin, the MCU will be reset and operation will resume after
fetching the reset vector. Exit by means of an interrupt will result in the MCU fetching the appropriate
interrupt vector.

3.6.1.1 LVD Enabled in Stop3 Mode

The LVD system is capable of generating either an interrupt or a reset when the supply voltage drops below
the LVD voltage. If the LVD is enabled in stop (LVDE and LVDSE bits in SPMSC1 both set) at the time
the CPU executes a STOP instruction, then the voltage regulator remains active during stop mode.

For the ADC to operate or for the ACMP to be used when comparing with an internal voltage, the LVD
must be left enabled when entering stop3.

                                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                         41
Chapter 3 Modes of Operation

3.6.1.2 Active BDM Enabled in Stop3 Mode

Entry into the active background mode from run mode is enabled if ENBDM in BDCSCR is set. This
register is described in Chapter 17, "Development Support." If ENBDM is set when the CPU executes a
STOP instruction, the system clocks to the background debug logic remain active when the MCU enters
stop mode. Because of this, background debug communication remains possible. In addition, the voltage
regulator does not enter its low-power standby state but maintains full internal regulation.

Most background commands are not available in stop mode. The memory-access-with-status commands
do not allow memory access, but they report an error indicating that the MCU is in either stop or wait
mode. The BACKGROUND command can be used to wake the MCU from stop and enter active
background mode if the ENBDM bit is set. After entering background debug mode, all background
commands are available.

3.6.2 Stop2 Mode

Stop2 mode is entered by executing a STOP instruction under the conditions as shown in Table 3-1. Most
of the internal circuitry of the MCU is powered off in stop2 with the exception of the RAM. Upon entering
stop2, all I/O pin control signals are latched so that the pins retain their states during stop2.

Exit from stop2 is performed by asserting RESET.

In addition, the real-time counter (RTC) can wake the MCU from stop2, if enabled.

Upon wake-up from stop2 mode, the MCU starts up as from a power-on reset (POR):
    All module control and status registers are reset
    The LVD reset function is enabled and the MCU remains in the reset state if VDD is below the LVD
         trip point (low trip point selected due to POR)
    The CPU takes the reset vector

In addition to the above, upon waking up from stop2, the PPDF bit in SPMSC2 is set. This flag is used to
direct user code to go to a stop2 recovery routine. PPDF remains set and the I/O pin states remain latched
until a 1 is written to PPDACK in SPMSC2.

To maintain I/O states for pins that were configured as general-purpose I/O before entering stop2, the user
must restore the contents of the I/O port registers, which have been saved in RAM, to the port registers
before writing to the PPDACK bit. If the port registers are not restored from RAM before writing to
PPDACK, then the pins will switch to their reset states when PPDACK is written.

For pins that were configured as peripheral I/O, the user must reconfigure the peripheral module that
interfaces to the pin before writing to the PPDACK bit. If the peripheral module is not enabled before
writing to PPDACK, the pins will be controlled by their associated port control registers when the I/O
latches are opened.

3.6.3 On-Chip Peripheral Modules in Stop Modes

When the MCU enters any stop mode, system clocks to the internal peripheral modules are stopped. Even
in the exception case (ENBDM = 1), where clocks to the background debug logic continue to operate,

    MC9S08DZ128 Series Data Sheet, Rev. 1

42                                         Freescale Semiconductor
                                                                             Chapter 3 Modes of Operation

clocks to the peripheral systems are halted to reduce power consumption. Refer to Section 3.6.1, "Stop3
Mode" and Section 3.6.1, "Stop3 Mode" for specific information on system behavior in stop modes.

                                     Table 3-2. Stop Mode Behavior

                                                     Mode

                         Peripheral

                                     Stop2                          Stop3

CPU                                  Off                            Standby

RAM                                  Standby                        Standby

FLASH/EEPROM                         Off                            Standby

Parallel Port Registers              Off                            Standby
ACMP
ADC                                  Off                            Optionally On1

                                     Off                            Optionally On2

IIC                                  Off                            Standby
MCG
                                     Off                            Optionally On3

MSCAN                                       Off                         Standby
RTC                                  Optionally On4                 Optionally On4

SCI                                  Off                            Standby

SPI                                  Off                            Standby

TPM                                         Off                         Standby
Voltage Regulator                    Optionally On5                 Optionally On5
XOSC                                                                Optionally On6
                                            Off

I/O Pins                             States Held                    States Held

1 Requires the LVD to be enabled, else in standby.
2 Requires the asynchronous ADC clock and LVD to be enabled, else in standby.
3 IRCLKEN and IREFSTEN set in MCGC1, else in standby.
4 Requires the RTC to be enabled, else in standby.
5 Requires the LVD or BDC to be enabled.
6 ERCLKEN and EREFSTEN set in MCGC2 for, else in standby. For high frequency

   range (RANGE in MCGC2 set) requires the LVD to also be enabled in stop3.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                             43
Chapter 3 Modes of Operation

                              MC9S08DZ128 Series Data Sheet, Rev. 1

44                                                                   Freescale Semiconductor
Chapter 4
Memory

4.1 MC9S08DZ128 Series Memory Map

On-chip memory in the MC9S08DZ128 Series consists of RAM, EEPROM, and FLASH program
memory for nonvolatile data storage, and I/O and control/status registers. The registers are divided into
three groups:

    Direct-page registers (0x0000 through 0x007F)
    High-page registers (0x1800 through 0x18FF)
    Nonvolatile registers (0xFFB0 through 0xFFBF)

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                    45
Chapter 4 Memory

    Extended Address                        CPU Address

                  0x0_0000  DIRECT PAGE               0x0000
                             REGISTERS
                  0x0_007F     128 BYTES              0x007F
                  0x0_0080                            0x0080

                                RAM                             All 128K bytes of Flash can
                            6016 BYTES                           also be accessed through
                                                                 the linear address pointer.
                  0x0_17FF     HIGH PAGE              0x17FF                                                   PPAGE=0
                  0x0_1800     REGISTERS              0x1800        Extended Address 0x1_C000 - 0x1_FFFF            PPAGE=1
                                                                                            0x1_8000 - 0x1_BFFF          PPAGE=2
                  0x0_18FF       256 BYTES            0x18FF                                                                  PPAGE=3
                  0x0_1900           RAM              0x1900                           0x1_4000 - 0x1_7FFF                         PPAGE=4
                  0x0_217F                            0x217F                      0x1_0000 - 0x1_3FFF                                   PPAGE=5
                  0x0_2180      2176 BYTES            0x2180                 0x0_C000 - 0x0_FFFF                                             PPAGE=6
                                                                        0x0_8000 - 0x0_BFFF                                                       PPAGE=7
                  0x0_3BFF        PPAGE=0             0x3BFF       0x0_4000 - 0x0_7FFF
                  0x0_3C00         FLASH              0x3C00  0x0_0000 - 0x0_3FFF
                  0x0_3FFF
                  0x0_4000      6784 BYTES            0x3FFF           FLASH
                                 EEPROM1              0x4000      16384 BYTES
                            2 x 1024 BYTES

                                 PPAGE=1
                                   FLASH
                               16384 BYTES

                  0x0_7FFF                            0x7FFF
                  0x0_8000                            0x8000

                                    Paging Window     0xBFFF
                                  Extended addresses  0xC000
                                  formed with PPAGE
                                  and CPU addresses

                                           A13:A0

                  0x0_BFFF
                  0x0_C000

                                         PPAGE=3
                                          FLASH
                                      16384 BYTES

                  0x0_FFFF                            0xFFFF

                  1 EEPROM address range shows half the total EEPROM. See Section 4.6.10, "EEPROM Mapping" for more

                            Figure 4-1. MC9S08DZ128 Series Memory Map

                            MC9S08DZ128 Series Data Sheet, Rev. 1

46                                                                                                             Freescale Semiconductor
                                                                                                Chapter 4 Memory

Extended Address                         CPU Address

0x0_0000                 DIRECT PAGE     0x0000       All 96K bytes of Flash can                    0x1_C000 - 0x1_FFFF           PPAGE=6
                          REGISTERS                   also be accessed through                  0x1_8000 - 0x1_BFFF                    PPAGE=7
0x0_007F                    128 BYTES    0x007F       the linear address pointer.
0x0_0080                                 0x0080                                                      RESERVED
                                                                                                   16384 BYTES
                             RAM
                         6016 BYTES

0x0_17FF                    HIGH PAGE    0x17FF       Extended Address 0x1_4000 - 0x1_7FFF
0x0_1800                    REGISTERS    0x1800                              0x1_0000 - 0x1_3FFF

0x0_18FF                      256 BYTES  0x18FF                         0x0_C000 - 0x0_FFFF
0x0_1900                                 0x1900                    0x0_8000 - 0x0_BFFF
                               PPAGE=0                        0x0_4000 - 0x0_7FFF
0x0_3BFF                        FLASH    0x3BFF          0x0_0000 - 0x0_3FFF
0x0_3C00                                 0x3C00
0x0_3FFF                     8960 BYTES  0x3FFF                   FLASH
0x0_4000                                 0x4000              16384 BYTES
                              EEPROM1
                         2 x 1024 BYTES                                                         PPAGE=0
                                                                                                     PPAGE=1
                              PPAGE=1                                                                     PPAGE=2
                                FLASH                                                                          PPAGE=3
                            16384 BYTES                                                                             PPAGE=4
                                                                                                                         PPAGE=5
0x0_7FFF                                 0x7FFF
0x0_8000                                 0x8000

                  Paging Window          0xBFFF
                Extended addresses       0xC000
                formed with PPAGE
                and CPU addresses

                         A13:A0

0x0_BFFF
0x0_C000

                       PPAGE=3
                        FLASH
                    16384 BYTES

0x0_FFFF                                 0xFFFF

1 EEPROM address range shows half the total EEPROM. See Section 4.6.10, "EEPROM Mapping" for more details.
                                              Figure 4-2. MC9S08DZ96 Memory Map

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                                                         47
Chapter 4 Memory

    Extended Address                      CPU Address

                  0x0_0000  DIRECT PAGE               0x0000
                  0x0_0080   REGISTERS
                               128 BYTES              0x007F
                                                      0x0080
                                                              All 128K bytes of Flash can
                                RAM                           also be accessed through
                            6016 BYTES                        the linear address pointer.

                  0x0_17FF  HIGH PAGE                 0x17FF          Extended Address 0x1_C000 - 0x1_FFFF
                  0x0_1800                            0x1800                                  0x1_8000 - 0x1_BFFF
                            REGISTERS
                  0x0_18FF   256 BYTES                0x18FF                             0x1_4000 - 0x1_7FFF
                  0x0_1900                            0x1900                        0x1_0000 - 0x1_3FFF
                                                                               0x0_C000 - 0x0_FFFF
                             PPAGE=0                                      0x0_8000 - 0x0_BFFF
                                                                     0x0_4000 - 0x0_7FFF
                               FLASH                            0x0_0000 - 0x0_3FFF
                            9984 BYTES
                                                                         FLASH
                  0x0_3FFF                            0x3FFF        16384 BYTES                                  PPAGE=0
                  0x0_4000                            0x4000                                                          PPAGE=1
                                                                                                                           PPAGE=2
                              PPAGE=1                                                                                           PPAGE=3
                               FLASH                                                                                                 PPAGE=4
                            16384 BYTES                                                                                                   PPAGE=5
                                                                                                                                               PPAGE=6
                  0x0_7FFF                            0x7FFF                                                                                        PPAGE=7
                  0x0_8000                            0x8000

                                    Paging Window     0xBFFF
                                  Extended addresses  0xC000
                                  formed with PPAGE
                                  and CPU addresses

                                           A13:A0

                  0x0_BFFF
                  0x0_C000

                                         PPAGE=3
                                          FLASH
                                      16384 BYTES

                  0x0_FFFF                            0xFFFF

                            Figure 4-3. MC9S08DV128 Memory Map

                            MC9S08DZ128 Series Data Sheet, Rev. 1

48                                                                                                               Freescale Semiconductor
                                                                                                           Chapter 4 Memory

Extended Address                       CPU Address

0x0_0000                 DIRECT PAGE   0x0000       All 96K bytes of Flash can                    0x1_C000 - 0x1_FFFF           PPAGE=6
                          REGISTERS                 also be accessed through                  0x1_8000 - 0x1_BFFF                    PPAGE=7
0x0_007F                    128 BYTES  0x007F       the linear address pointer.
0x0_0080                       RAM     0x0080                                                      RESERVED
                           4096 BYTES  0x107F                                                    16384 BYTES
0x0_107F                               0x1080
0x0_1080                    PPAGE=0
                              FLASH

                           1920 BYTES

0x0_17FF                 HIGH PAGE     0x17FF
0x0_1800                               0x1800
                         REGISTERS
0x0_18FF                  256 BYTES    0x18FF
0x0_1900                               0x1900

                          PPAGE=0

                            FLASH
                         9984 BYTES

0x0_3FFF                               0x3FFF       Extended Address 0x1_4000 - 0x1_7FFF
0x0_4000                               0x4000                              0x1_0000 - 0x1_3FFF

                           PPAGE=1                                    0x0_C000 - 0x0_FFFF     PPAGE=0
                            FLASH                                0x0_8000 - 0x0_BFFF               PPAGE=1
                         16384 BYTES                        0x0_4000 - 0x0_7FFF                         PPAGE=2
                                                       0x0_0000 - 0x0_3FFF                                   PPAGE=3
0x0_7FFF                               0x7FFF                                                                     PPAGE=4
0x0_8000                               0x8000                   FLASH                                                  PPAGE=5
                                                           16384 BYTES
                  Paging Window        0xBFFF
                Extended addresses     0xC000
                formed with PPAGE
                and CPU addresses

                         A13:A0

0x0_BFFF
0x0_C000

                       PPAGE=3
                        FLASH
                    16384 BYTES

0x0_FFFF                               0xFFFF

                         Figure 4-4. MC9S08DV96 Memory Map

4.2 Reset and Interrupt Vector Assignments

Table 4-1 shows address assignments for reset and interrupt vectors. The vector names shown in this table
are the labels used in the MC9S08DZ128 Series equate file provided by Freescale Semiconductor.

                         Table 4-1. Reset and Interrupt Vectors

     Address                                 Vector                                           Vector Name
   (High:Low)
                                           Reserved                                             Reserved
0xFF80:0xFF81 -
0xFF8E:0xFF8F                                 Port J                                               Vportj
0xFF90:0xFF91                                  IIC2                                                Viic2
0xFF92:0xFF93                                  SPI2                                                Vspi2
0xFF94:0xFF95                          TPM3 Overflow                                            Vtpm3ovf
0xFF96:0xFF97                          TPM3 Channel 3                                           Vtpm3ch3
0xFF98:0xFF99                          TPM3 Channel 2                                           Vtpm3ch2
0xFF9A:0xFF9B

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                                                       49
Chapter 4 Memory

                  Table 4-1. Reset and Interrupt Vectors (continued)

                       Address            Vector                        Vector Name
                     (High:Low)
                                   TPM3 Channel 1                         Vtpm3ch1
                  0xFF9C:0xFF9D    TPM3 Channel 0                         Vtpm3ch0
                  0xFF9E:0xFF9F    Non-vector space
                  0xFFA0:0xFFBF                                               N/A
                  0xFFC0:0xFFC1           ACMP2                            Vacmp2
                  0xFFC2:0xFFC3           ACMP1                            Vacmp1
                  0xFFC4:0xFFC5    MSCAN Transmit                           Vcantx
                  0xFFC6:0xFFC7     MSCAN Receive                           Vcanrx
                  0xFFC8:0xFFC9      MSCAN errors                          Vcanerr
                  0xFFCA:0xFFCB    MSCAN wake up                           Vcanwu
                  0xFFCC:0xFFCD
                  0xFFCE:0xFFCF             RTC                               Vrtc
                  0xFFD0:0xFFD1             IIC1                             Viic1
                  0xFFD2:0xFFD3     ADC Conversion                           Vadc
                  0xFFD4:0xFFD5  Port A, Port B, Port D                      Vport
                  0xFFD6:0xFFD7      SCI2 Transmit                          Vsci2tx
                  0xFFD8:0xFFD9       SCI2 Receive                          Vsci2rx
                  0xFFDA:0xFFDB         SCI2 Error                         Vsci2err
                  0xFFDC:0xFFDD      SCI1 Transmit                          Vsci1tx
                  0xFFDE:0xFFDF       SCI1 Receive                          Vsci1rx
                  0xFFE0:0xFFE1         SCI1 Error                         Vsci1err
                  0xFFE2:0xFFE3             SPI1                             Vspi1
                  0xFFE4:0xFFE5     TPM2 Overflow                         Vtpm2ovf
                  0xFFE6:0xFFE7    TPM2 Channel 1                         Vtpm2ch1
                  0xFFE8:0xFFE9    TPM2 Channel 0                         Vtpm2ch0
                  0xFFEA:0xFFEB     TPM1 Overflow                         Vtpm1ovf
                  0xFFEC:0xFFED    TPM1 Channel 5                         Vtpm1ch5
                  0xFFEE:0xFFEF    TPM1 Channel 4                         Vtpm1ch4
                  0xFFF0:0xFFF1    TPM1 Channel 3                         Vtpm1ch3
                  0xFFF2:0xFFF3    TPM1 Channel 2                         Vtpm1ch2
                  0xFFF4:0xFFF5    TPM1 Channel 1                         Vtpm1ch1
                  0xFFF6:0xFFF7    TPM1 Channel 0                         Vtpm1ch0
                  0xFFF8:0xFFF9    MCG Loss of lock                           Vlol
                  0xFFFA:0xFFFB   Low-Voltage Detect                          Vlvd
                  0xFFFC:0xFFFD             IRQ                               Virq
                  0xFFFE:0xFFFF             SWI                               Vswi
                                           Reset                            Vreset

                                 MC9S08DZ128 Series Data Sheet, Rev. 1

50                                                                      Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

4.3 Register Addresses and Bit Assignments

The registers in the MC9S08DZ128 Series are divided into these groups:

    Direct-page registers are located in the first 128 locations in the memory map; these are accessible
         with efficient direct addressing mode instructions.

    High-page registers are used much less often, so they are located above 0x1800 in the memory
         map. This leaves more room in the direct page for more frequently used registers and RAM.

    The nonvolatile register area consists of a block of 16 locations in FLASH memory at
         0xFFB00xFFBF. Nonvolatile register locations include:
         -- NVPROT and NVOPT are loaded into working registers at reset
         -- An 8-byte backdoor comparison key that optionally allows a user to gain controlled access to
             secure memory

        Because the nonvolatile register locations are FLASH memory, they must be erased and
        programmed like other FLASH memory locations.

Direct-page registers can be accessed with efficient direct addressing mode instructions. Bit manipulation
instructions can be used to access any bit in any direct-page register. Table 4-2 is a summary of all
user-accessible direct-page registers and control bits.

The direct page registers in Table 4-2 can use the more efficient direct addressing mode, which requires
only the lower byte of the address. Because of this, the lower byte of the address in column one is shown
in bold text. In Table 4-3 and Table 4-5, the whole address in column one is shown in bold. In Table 4-2,
Table 4-3, and Table 4-5, the register names in column two are shown in bold to set them apart from the
bit names to the right. Cells that are not associated with named bits are shaded. A shaded cell with a 0
indicates this unused bit always reads as a 0. Shaded cells with dashes indicate unused or reserved bit
locations that could read as 1s or 0s.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         51
Chapter 4 Memory

                   Table 4-2. Direct-Page Register Summary (Sheet 1 of 4)

Address  Register  Bit 7     6            5     4       3                 2     1       Bit 0
          Name

0x0000 PTAD         PTAD7    PTAD6 PTAD5         PTAD4  PTAD3 PTAD2              PTAD1   PTAD0
                   PTADD7                       PTADD4                          PTADD1  PTADD0
0x0001 PTADD        PTBD7    PTADD6 PTADD5       PTBD4  PTADD3 PTADD2            PTBD1   PTBD0
                   PTBDD7                       PTBDD4                          PTBDD1  PTBDD0
0x0002 PTBD         PTCD7    PTBD6 PTBD5         PTCD4  PTBD3 PTBD2              PTCD1   PTCD0
                   PTCDD7                       PTCDD4                          PTCDD1  PTCDD0
0x0003 PTBDD        PTDD7    PTBDD6 PTBDD5       PTDD4  PTBDD3 PTBDD2            PTDD1   PTDD0
                   PTDDD7                       PTDDD4                          PTDDD1  PTDDD0
0x0004 PTCD         PTED7    PTCD6 PTCD5         PTED4  PTCD3 PTCD2              PTED1   PTED0
                   PTEDD7                       PTEDD4                          PTEDD1  PTEDD0
0x0005 PTCDD        PTFD7    PTCDD6 PTCDD5       PTFD4  PTCDD3 PTCDD2            PTFD1   PTFD0
                   PTFDD7                       PTFDD4                          PTFDD1  PTFDD0
0x0006 PTDD         PTGD7    PTDD6 PTDD5         PTGD4  PTDD3 PTDD2              PTGD1   PTGD0
                   PTGDD7                       PTGDD4                          PTGDD1  PTGDD0
0x0007 PTDDD        ACME     PTDDD6 PTDDD5              PTDDD3 PTDDD2           ACMOD1  ACMOD0
                    ACME                          ACIE                          ACMOD1  ACMOD0
0x0008 PTED         COCO     PTED6 PTED5          ACIE  PTED3 PTED2
                    ADACT
0x0009 PTEDD                 PTEDD6 PTEDD5       ACFGT  PTEDD3 PTEDD2
                        0                            0
0x000A PTFD          ADR7    PTFD6 PTFD5                PTFD3 PTFD2
                                                  ADR4
0x000B PTFDD            0    PTFDD6 PTFDD5           0  PTFDD3 PTFDD2
                    ADCV7
0x000C PTGD         ADLPC    PTGD6 PTGD5         ADCV4  PTGD3 PTGD2
                    ADPC7                       ADLSMP
0x000D PTGDD       ADPC15    PTGDD6 PTGDD5       ADPC4  PTGDD3 PTGDD2
                   ADPC23                       ADPC12
0x000E ACMP1SC               ACBGS        ACF   ADPC20  ACO         ACOPE
                       --
0x000F ACMP2SC         --    ACBGS        ACF       --  ACO         ACOPE
                        0                           --
0x0010 ADCSC1          --    AIEN         ADCO   IRQPE                    ADCH
                       --                           --
0x0011 ADCSC2         TOF    ADTRG ACFE             --  0                 0     Reserved Reserved
                     Bit 15                      CLKSB
0x0012 ADCRH          Bit 7  0            0         12  ADR11 ADR10             ADR9    ADR8
                     Bit 15                          4
0x0013 ADCRL          Bit 7  ADR6         ADR5      12  ADR3        ADR2        ADR1    ADR0
                     CH0F                            4
0x0014 ADCCVH        Bit 15  0            0       MS0A  ADC11 ADC10             ADCV9 ADCV8
                      Bit 7                         12
0x0015 ADCCVL                ADCV6 ADCV5             4  ADCV3 ADCV2             ADCV1 ADCV0

0x0016 ADCCFG                       ADIV                            MODE             ADICLK

0x0017 APCTL1                ADPC6 ADPC5                ADPC3 ADPC2             ADPC1 ADPC0

0x0018 APCTL2                ADPC14 ADPC13              ADPC11 ADPC10           ADPC9 ADPC8

0x0019 APCTL3                ADPC22 ADPC21              ADPC19 ADPC18           ADPC17 ADPC16

0x001A  Reserved            --           --            --                --    --           --
0x001B
                             --           --            --                --    --           --

0x001C IRQSC                 IRQPDD IRQEDG              IRQF IRQACK             IRQIE IRQMOD

0x001D  Reserved            --           --            --                --    --           --
0x001F
                             --           --            --                --    --           --

0x0020 TPM1SC                TOIE CPWMS                 CLKSA             PS2   PS1          PS0

0x0021 TPM1CNTH              14           13            11                10    9       Bit 8

0x0022 TPM1CNTL              6            5             3                 2     1       Bit 0

0x0023 TPM1MODH              14           13            11                10    9       Bit 8

0x0024 TPM1MODL              6            5             3                 2     1       Bit 0

0x0025 TPM1C0SC              CH0IE        MS0B          ELS0B ELS0A             0            0

0x0026 TPM1C0VH              14           13            11                10    9       Bit 8

0x0027 TPM1C0VL              6            5             3                 2     1       Bit 0

                             MC9S08DZ128 Series Data Sheet, Rev. 1

52                                                                              Freescale Semiconductor
                                                                                               Chapter 4 Memory

                         Table 4-2. Direct-Page Register Summary (Sheet 2 of 4)

Address  Register        Bit 7         6      5      4            3           2            1     Bit 0
          Name

0x0028 TPM1C1SC          CH1F          CH1IE   MS1B  MS1A    ELS1B            ELS1A        0     0
                                                 13
0x0029 TPM1C1VH          Bit 15        14         5  12           11          10           9     Bit 8

0x002A TPM1C1VL          Bit 7         6       MS2B  4            3           2            1     Bit 0
                                                 13
0x002B TPM1C2SC          CH2F          CH2IE      5  MS2A    ELS2B            ELS2A        0     0

0x002C TPM1C2VH          Bit 15        14      MS3B  12           11          10           9     Bit 8
                                                 13
0x002D TPM1C2VL          Bit 7         6          5  4            3           2            1     Bit 0

0x002E TPM1C3SC          CH3F          CH3IE   MS4B  MS3A    ELS3B            ELS3A        0     0
                                                 13
0x002F TPM1C3VH          Bit 15        14         5  12           11          10           9     Bit 8

0x0030 TPM1C3VL          Bit 7         6       MS5B  4            3           2            1     Bit 0
                                                 13
0x0031 TPM1C4SC          CH4F          CH4IE      5  MS4A    ELS4B            ELS4A        0     0
                                                 --
0x0032 TPM1C4VH          Bit 15        14         0  12           11          10           9     Bit 8

0x0033 TPM1C4VL          Bit 7         6       SBR5  4            3           2            1     Bit 0
                                               RSRC
0x0034 TPM1C5SC          CH5F          CH5IE         MS5A    ELS5B            ELS5A        0     0
                                                RIE
0x0035 TPM1C5VH          Bit 15        14      RDRF  12           11          10           9     Bit 8

0x0036 TPM1C5VL          Bit 7         6          0  4            3           2            1     Bit 0
                                              TXDIR
0x0037 Reserved          --            --            --           --          --           --    --
                                                  5
0x0038 SCI1BDH           LBKDIE RXEDGIE           0  SBR12 SBR11 SBR10                     SBR9  SBR8
                                               SBR5
0x0039 SCI1BDL           SBR7          SBR6    RSRC  SBR4         SBR3        SBR2         SBR1  SBR0
                                                RIE
0x003A SCI1C1            LOOPS SCISWAI         RDRF  M       WAKE             ILT          PE    PT
                                                  0
0x003B SCI1C2            TIE           TCIE   TXDIR  ILIE         TE          RE           RWU   SBK
                                                  5
0x003C SCI1S1            TDRE          TC            IDLE         OR          NF           FE    PF
                                              RANGE
0x003D SCI1S2            LBKDIF RXEDGIF              RXINV RWUID BRK13 LBKDE                     RAF

0x003E SCI1C3            R8            T8            TXINV        ORIE        NEIE         FEIE  PEIE

0x003F SCI1D             Bit 7         6             4            3           2            1     Bit 0

0x0040 SCI2BDH           LBKDIE RXEDGIE              SBR12 SBR11 SBR10                     SBR9  SBR8

0x0041 SCI2BDL           SBR7          SBR6          SBR4         SBR3        SBR2         SBR1  SBR0

0x0042 SCI2C1            LOOPS SCISWAI               M       WAKE             ILT          PE    PT

0x0043 SCI2C2            TIE           TCIE          ILIE         TE          RE           RWU   SBK

0x0044 SCI2S1            TDRE          TC            IDLE         OR          NF           FE    PF

0x0045 SCI2S2            LBKDIF RXEDGIF              RXINV RWUID BRK13 LBKDE                     RAF

0x0046 SCI2C3            R8            T8            TXINV        ORIE        NEIE         FEIE  PEIE

0x0047 SCI2D             Bit 7         6             4            3           2            1     Bit 0

0x0048 MCGC1                     CLKS                RDIV                     IREFS IRCLKEN IREFSTEN

0x0049 MCGC2                     BDIV                HGO          LP          EREFS ERCLKEN EREFSTEN

0x004A MCGTRM                                               TRIM

0x004B MCGSC             LOLS          LOCK   PLLST  IREFST           CLKST          OSCINIT FTRIM
                         LOLIE         PLLS    CME
0x004C MCGC3                                  DMX32  DIV32                           VDIV
                            0             0
0x004D MCGT                                          0            0           0            0     DRS

                                       MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                 53
Chapter 4 Memory

                   Table 4-2. Direct-Page Register Summary (Sheet 3 of 4)

Address  Register  Bit 7        6           5   4            3              2            1    Bit 0
          Name

0x004E  Reserved  --           --        --    --           --             --           --       --
0x004F                                    --                                                      --
                   --           --     SPTIE    --           --             --           --    LSBFE
                                           0                                                    SPC0
0x0050 SPI1C1      SPIE         SPE    SPPR1    MSTR         CPOL           CPHA   SSOE         SPR0
                                       SPTEF                                                       0
0x0051 SPI1C2      0            0          0    MODFEN BIDIROE              0      SPISWAI         0
                                           5                                                     Bit 0
0x0052 SPI1BR      0        SPPR2         --    SPPR0        0              SPR2   SPR1           --
                                          --                                                      --
0x0053 SPI1S       SPRF         0        AD5    MODF         0              0            0         0

0x0054 Reserved    0            0       MST     0            0              0            0         0
                                       BUSY                                                    RXAK
0x0055 SPI1D       Bit 7        6               4            3              2            1
                                                                                                 AD8
0x0056  Reserved  --           --              --           --             --           --       --
0x0057                                                                                            --
                   --           --              --           --             --           --      PS0
                                                                                                 Bit 8
0x0058 IIC1A       AD7          AD6             AD4          AD3            AD2          AD1     Bit 0
                                                                                                 Bit 8
0x0059 IIC1F              MULT                                         ICR                       Bit 0
                                                                                                   0
0x005A IIC1C1      IICEN        IICIE           TX           TXAK           RSTA         0       Bit 8
                                                                                                 Bit 0
0x005B IIC1S       TCF          IAAS            ARBL         0              SRW    IICIF           0
                                                                                                 Bit 8
0x005C IIC1D                                           DATA                                      Bit 0
                                                                                                  --
0x005D IIC1C2      GCAEN    ADEXT           0   0            0              AD10         AD9
                      --                                                                          --
0x005E  Reserved     --        --          --  --           --             --           --    PTHD0
0x005F               TOF                                                                      PTHDD0
                                --          --  --           --             --           --    PTJD0
                    Bit 15                                                                    PTJDD0
0x0060 TPM2SC        Bit 7      TOIE CPWMS      CLKSB CLKSA                 PS2          PS1   PTKD0
                    Bit 15
0x0061 TPM2CNTH      Bit 7      14          13  12           11             10           9
                    CH0F
0x0062 TPM2CNTL     Bit 15      6           5   4            3              2            1
                     Bit 7
0x0063 TPM2MODH     CH1F        14          13  12           11             10           9
                    Bit 15
0x0064 TPM2MODL      Bit 7      6           5   4            3              2            1

0x0065 TPM2C0SC       --        CH0IE  MS0B     MS0A   ELS0B                ELS0A        0
                     RTIF
0x0066 TPM2C0VH                 14          13  12           11             10           9

0x0067 TPM2C0VL                 6           5   4            3              2            1

0x0068 TPM2C1SC                 CH1IE  MS1B     MS1A   ELS1B                ELS1A        0

0x0069 TPM2C1VH                 14          13  12           11             10           9

0x006A TPM2C1VL                 6           5   4            3              2            1

0x006B Reserved                 --          --  --           --             --           --

0x006C RTCSC                        RTCLKS      RTIE                              RTCPS

0x006D RTCCNT                                       RTCCNT

0x006E RTCMOD                                       RTCMOD

0x006F Reserved        --       --         --   --           --             --           --
                    PTHD7    PTHD6      PTHD5
0x0070 PTHD        PTHDD7   PTHDD6     PTHDD5   PTHD4 PTHD3 PTHD2 PTHD1
                    PTJD7    PTJD6      PTJD5
0x0071 PTHDD       PTJDD7   PTJDD6     PTJDD5   PTHDD4 PTHDD3 PTHDD2 PTHDD1
                    PTKD7    PTKD6      PTKD5
0x0072 PTJD                                     PTJD4  PTJD3                PTJD2  PTJD1

0x0073 PTJDD                                    PTJDD4 PTJDD3 PTJDD2 PTJDD1

0x0074 PTKD                                     PTKD4 PTKD3 PTKD2 PTKD1

                                MC9S08DZ128 Series Data Sheet, Rev. 1

54                                                                                 Freescale Semiconductor
                                                                                       Chapter 4 Memory

                         Table 4-2. Direct-Page Register Summary (Sheet 4 of 4)

Address    Register      Bit 7       6          5       4       3           2       1       Bit 0
            Name

0x0075 PTKDD             PTKDD7      PTKDD6     PTKDD5  PTKDD4  PTKDD3      PTKDD2  PTKDD1  PTKDD0
                          PTLD7       PTLD6      PTLD5   PTLD4   PTLD3       PTLD2   PTLD1   PTLD0
0x0076 PTLD              PTLDD7      PTLDD6     PTLDD5  PTLDD4  PTLDD3      PTLDD2  PTLDD1  PTLDD0
                                                                              XA16    XA15    XA14
0x0077 PTLDD                  0           0          0       0       0                        LA16
                              0           0          0       0       0           0       0
0x0078 PPAGE               LA15        LA14       LA13    LA12    LA11        LA10     LA9     LA8
                            LA7         LA6        LA5     LA4     LA3         LA2     LA1     LA0
0x0079 LAP2                  D7          D6         D5      D4      D3                  D1      D0
                             D7          D6         D5      D4      D3          D2      D1      D0
0x007A LAP1                  D7          D6         D5      D4      D3          D2      D1      D0
                             D7          D6         D5      D4      D3          D2      D1      D0
0x007B LAP0                                                                     D2

0x007C LWP

0x007D LBP

0x007E LB

0x007F LAPAB

High-page registers, shown in Table 4-3, are accessed much less often than other I/O and control registers
so they have been located outside the direct addressable memory space, starting at 0x1800.

                                     Table 4-3. High-Page Register Summary (Sheet 1 of 5)

Address Register Name Bit 7                6        5       4      3             2      1   Bit 0
                                                                               LOC             0
0x1800 SRS               POR               PIN    COP    ILOP    ILAD                 LVD
                                                    0       0      0             0      0   BDFR
0x1801 SBDFR                    0          0                                     0      0      0
                                                STOPE   SCI2PS  IIC1PS
0x1802 SOPT1                         COPT           0   ADHTS      0            --  MCSEL     --
                                                    --             --           --     --     --
0x1803 SOPT2             COPCLKS COPW               --     --      --         ID10     --    ID8
                                                    --     --                  ID2    ID9    ID0
0x1804   Reserved              --         --      ID5     --    ID11           --    ID1     --
0x1805                                              --     ID4    ID3         LVDE     --   BGBE
                                --         --              --      --       PPDACK      0   PPDC
                                                 LVWIE  LVDRE   LVDSE           --     --     --
0x1806 SDIDH                    --         --     LVDV   LVWV   PPDF            --     --     --
                                                           --      --           10     --    Bit 8
0x1807 SDIDL                    ID7        ID6      --     --      --            2      9    Bit 0
                                                    --     12      11           10      1    Bit 8
0x1808 Reserved                 --         --       13      4      3             2      9    Bit 0
                                                    5      12      11           10      1    Bit 8
0x1809 SPMSC1            LVWF LVWACK                13      4      3             2      9    Bit 0
                                                    5      12      11           10      1    Bit 8
0x180A SPMSC2                   0          0        13      4      3             2      9    Bit 0
                                                    5      12      11            0      1   Bit 16
0x180B   Reserved              --         --       13      4      3             0      0   Bit 16
0x180F                                              5       0      0                    0
                                --         --   PAGSEL      0      0
                                                PAGSEL
0x1810 DBGCAH            Bit 15            14

0x1811 DBGCAL            Bit 7             6

0x1812 DBGCBH            Bit 15            14

0x1813 DBGCBL            Bit 7             6

0x1814 DBGCCH            Bit 15            14

0x1815 DBGCCL            Bit 7             6

0x1816 DBGFH             Bit 15            14

0x1817 DBGFL             Bit 7             6

0x1818 DBGCAX            RWAEN RWA

0x1819 DBGCBX            RWBEN RWB

                                     MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                             55
Chapter 4 Memory

                       Table 4-3. High-Page Register Summary (Sheet 2 of 5)

Address Register Name  Bit 7       6    5       4         3                  2        1          Bit 0

0x181A DBGCCX          RWCEN RWC PAGSEL         0         0                  0        0          Bit 16

0x181B DBGFX           PPACC       0    0       0         0                  0        0          Bit 16

0x181C DBGC            DBGEN ARM        TAG     BRKEN     0                  0        0     LOOP1

0x181D DBGT            TRGSEL BEGIN     0       0                                TRG

0x181E DBGS            AF          BF   CF      0         0                  0        0          ARMF

0x181F DBGCNT          0           0    0       0                                CNT

0x1820 FCDIV           DIVLD PRDIV8                                   DIV

0x1821 FOPT            KEYEN FNORED EPGMOD      0         0                  0              SEC

0x1822 Reserved        --          --   --      --        --                 --       --         --

0x1823 FCNFG           0       EPGSEL KEYACC    1         0                  0        0             1
                                                                                                 FPOP
0x1824 FPROT                  EPS                         FPS
                                                                                                    0
0x1825 FSTAT           FCBEF FCCF FPVIOL FACCERR          0           FBLANK          0

0x1826 FCMD                                         FCMD

0x1827  Reserved      --          --   --      --        --                 --       --         --
0x182F
                       --          --   --      --        --                 --       --         --

0x1830 SPI2C1          SPIE        SPE  SPTIE   MSTR    CPOL               CPHA    SSOE LSBFE
                         0           0                                        0  SPISWAI SPC0
0x1831 SPI2C2                           0       MODFEN BIDIROE

0x1832 SPI2BR          0           SPPR2 SPPR1 SPPR0      0                SPR2       SPR1       SPR0
                                                                              0          0          0
0x1833 SPI2S           SPRF        0    SPTEF MODF        0                   0          0          0

0x1834 Reserved        0           0    0       0         0

0x1835 SPI2D           Bit 7       6    5       4         3                  2        1          Bit 0

0x1836  Reserved      --          --   --      --        --                 --       --         --
0x1837
                       --          --   --      --        --                 --       --         --

0x1838 PTKPE           PTKPE7 PTKPE6 PTKPE5 PTKPE4 PTKPE3 PTKPE2 PTKPE1 PTKPE0
                       PTKSE7 PTKSE6 PTKSE5 PTKSE4 PTKSE3 PTKSE2 PTKSE1 PTKSE0
0x1839 PTKSE

0x183A PTKDS           PTKDS7  PTKDS6   PTKDS5  PTKDS4  PTKDS3        PTKDS2     PTKDS1     PTKDS0
                           --      --       --      --      --            --         --         --
0x183B Reserved
                       PTLPE7  PTLPE6   PTLPE5  PTLPE4  PTLPE3        PTLPE2     PTLPE1     PTLPE0
0x183C PTLPE

0x183D PTLSE           PTLSE7  PTLSE6   PTLSE5  PTLSE4  PTLSE3        PTLSE2     PTLSE1     PTLSE0
                       PTLDS7  PTLDS6   PTLDS5  PTLDS4  PTLDS3        PTLDS2     PTLDS1     PTLDS0
0x183E PTLDS
                           --      --       --      --      --            --         --         --
0x183F Reserved

0x1840 PTAPE           PTAPE7  PTAPE6   PTAPE5  PTAPE4  PTAPE3        PTAPE2     PTAPE1     PTAPE0
                       PTASE7  PTASE6   PTASE5  PTASE4  PTASE3        PTASE2     PTASE1     PTASE0
0x1841 PTASE           PTADS7  PTADS6   PTADS5  PTADS4  PTADS3        PTADS2     PTADS1     PTADS0

0x1842 PTADS

0x1843 Reserved            --      --       --      --      --            --         --         --
                           0       0        0       0    PTAIF        PTAACK      PTAIE     PTAMOD
0x1844 PTASC           PTAPS7  PTAPS6   PTAPS5  PTAPS4  PTAPS3        PTAPS2     PTAPS1     PTAPS0

0x1845 PTAPS

0x1846 PTAES           PTAES7  PTAES6   PTAES5  PTAES4  PTAES3        PTAES2     PTAES1     PTAES0
                           --      --       --      --      --            --         --         --
0x1847 Reserved
                       PTBPE7  PTBPE6   PTBPE5  PTBPE4  PTBPE3        PTBPE2     PTBPE1     PTBPE0
0x1848 PTBPE

                               MC9S08DZ128 Series Data Sheet, Rev. 1

56                                                                               Freescale Semiconductor
                                                                                 Chapter 4 Memory

                         Table 4-3. High-Page Register Summary (Sheet 3 of 5)

Address Register Name      Bit 7       6       5       4       3              2       1     Bit 0

0x1849 PTBSE             PTBSE7   PTBSE6  PTBSE5  PTBSE4  PTBSE3         PTBSE2  PTBSE1  PTBSE0
                         PTBDS7   PTBDS6  PTBDS5  PTBDS4  PTBDS3         PTBDS2  PTBDS1  PTBDS0
0x184A PTBDS
                             --       --      --      --      --             --      --       --
0x184B Reserved               0        0       0       0   PTBIF         PTBACK   PTBIE  PTBMOD
                         PTBPS7   PTBPS6  PTBPS5  PTBPS4  PTBPS3         PTBPS2  PTBPS1  PTBPS0
0x184C PTBSC             PTBES7   PTBES6  PTBES5  PTBES4  PTBES3         PTBES2  PTBES1  PTBES0
                             --       --      --      --
0x184D PTBPS             PTCPE7   PTCPE6  PTCPE5  PTCPE4      --             --      --       --
                         PTCSE7   PTCSE6  PTCSE5  PTCSE4  PTCPE3         PTCPE2  PTCPE1  PTCPE0
0x184E PTBES             PTCDS7   PTCDS6  PTCDS5  PTCDS4  PTCSE3         PTCSE2  PTCSE1  PTCSE0
                             --       --      --      --  PTCDS3         PTCDS2  PTCDS1  PTCDS0
0x184F Reserved              --       --      --      --
                         PTDPE7   PTDPE6  PTDPE5  PTDPE4      --             --      --       --
0x1850 PTCPE             PTDSE7   PTDSE6  PTDSE5  PTDSE4      --             --      --       --
                         PTDDS7   PTDDS6  PTDDS5  PTDDS4  PTDPE3         PTDPE2  PTDPE1  PTDPE0
0x1851 PTCSE                 --       --      --      --  PTDSE3         PTDSE2  PTDSE1  PTDSE0
                              0        0       0       0  PTDDS3         PTDDS2  PTDDS1  PTDDS0
0x1852 PTCDS             PTDPS7   PTDPS6  PTDPS5  PTDPS4      --             --      --       --
                         PTDES7   PTDES6  PTDES5  PTDES4   PTDIF         PTDACK   PTDIE  PTDMOD
0x1853  Reserved            --       --      --      --  PTDPS3         PTDPS2  PTDPS1  PTDPS0
0x1857                   PTEPE7   PTEPE6  PTEPE5  PTEPE4  PTDES3         PTDES2  PTDES1  PTDES0
                         PTESE7   PTESE6  PTESE5  PTESE4      --             --      --       --
0x1858 PTDPE             PTEDS7   PTEDS6  PTEDS5  PTEDS4  PTEPE3         PTEPE2  PTEPE1  PTEPE0
                             --       --      --      --  PTESE3         PTESE2  PTESE1  PTESE0
0x1859 PTDSE                 --       --      --      --  PTEDS3         PTEDS2  PTEDS1  PTEDS0
                         PTFPE7   PTFPE6  PTFPE5  PTFPE4      --             --      --       --
0x185A PTDDS             PTFSE7   PTFSE6  PTFSE5  PTFSE4      --             --      --       --
                         PTFDS7   PTFDS6  PTFDS5  PTFDS4  PTFPE3         PTFPE2  PTFPE1  PTFPE0
0x185B Reserved              --       --      --      --  PTFSE3         PTFSE2  PTFSE1  PTFSE0
                             --       --      --      --  PTFDS3         PTFDS2  PTFDS1  PTFDS0
0x185C PTDSC             PTGPE7   PTGPE6  PTGPE5  PTGPE4      --             --      --       --
                         PTGSE7   PTGSE6  PTGSE5  PTGSE4      --             --      --       --
0x185D PTDPS             PTGDS7   PTGDS6  PTGDS5  PTGDS4  PTGPE3         PTGPE2  PTGPE1  PTGPE0
                             --       --      --      --  PTGSE3         PTGSE2  PTGSE1  PTGSE0
0x185E PTDES             PTHPE7   PTHPE6  PTHPE5  PTHPE4  PTGDS3         PTGDS2  PTGDS1  PTGDS0
                         PTHSE7   PTHSE6  PTHSE5  PTHSE4      --             --      --       --
0x185F Reserved          PTHDS7   PTHDS6  PTHDS5  PTHDS4  PTHPE3         PTHPE2  PTHPE1  PTHPE0
                             --       --      --      --  PTHSE3         PTHSE2  PTHSE1  PTHSE0
0x1860 PTEPE             PTJPE7   PTJPE6  PTJPE5  PTJPE4  PTHDS3         PTHDS2  PTHDS1  PTHDS0
                         PTJSE7   PTJSE6  PTJSE5  PTJSE4      --             --      --       --
0x1861 PTESE                                              PTJPE3         PTJPE2  PTJPE1   PTJPE0
                                                          PTJSE3         PTJSE2  PTJSE1   PTJSE0
0x1862 PTEDS

0x1863  Reserved
0x1867

0x1868 PTFPE

0x1869 PTFSE

0x186A PTFDS

0x186B  Reserved
0x186F

0x1870 PTGPE

0x1871 PTGSE

0x1872 PTGDS

0x1873 Reserved

0x1874 PTHPE

0x1875 PTHSE

0x1876 PTHDS

0x1877 Reserved

0x1878 PTJPE

0x1879 PTJSE

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                  57
Chapter 4 Memory

                          Table 4-3. High-Page Register Summary (Sheet 4 of 5)

Address Register Name      Bit 7   6       5        4        3                 2   1                Bit 0
                          PTJDS7                                                                  PTJDS0
0x187A PTJDS                        PTJDS6  PTJDS5   PTJDS4   PTJDS3       PTJDS2   PTJDS1
0x187B Reserved               --        --      --       --       --           --       --            --
0x187C PTJSC                   0        0       0        0                                        PTJMOD
0x187D PTJPS              PTJPS7                               PTJIF       PTJACK    PTJIE        PTJPS0
0x187E PTJES              PTJES7                                                                  PTJES0
0x187F Reserved               --    PTJPS6  PTJPS5   PTJPS4   PTJPS3       PTJPS2   PTJPS1
0x1880 CANCTL0            RXFRM     PTJES6  PTJES5   PTJES4   PTJES3       PTJES2   PTJES1            --
0x1881 CANCTL1             CANE                                                                    INITRQ
0x1882 CANBTR0              SJW1        --      --       --       --           --       --         INITAK
0x1883 CANBTR1             SAMP                                                                     BRP0
0x1884 CANRFLG             WUPIF     RXACT  CSWAI    SYNCH    TIME         WUPE     SLPRQ         TSEG10
0x1885 CANRIER             WUPIE    CLKSRC  LOOPB    LISTEN   BORM         WUPM     SLPAK
0x1886 CANTFLG                 0             BRP5     BRP4    BRP3         BRP2      BRP1            RXF
0x1887 CANTIER                 0      SJW0                                                         RXFIE
0x1888 CANTARQ                 0                                                                    TXE0
0x1889 CANTAAK                 0    TSEG22  TSEG21   TSEG20   TSEG13       TSEG12   TSEG11         TXEIE0
0x188A CANTBSEL                0     CSCIF   RSTAT1   RSTAT0   TSTAT1       TSTAT0   OVRIF        ABTRQ0
0x188B CANIDAC                 0     CSCIE  RSTATE1  RSTATE0  TSTATE1      TSTATE0   OVRIE        ABTAK0
0x188C Reserved                0
0x188D CANMISC                 0    0       0        0        0            TXE2     TXE1             TX0
0x188E CANRXERR           RXERR7                                                                   IDHIT0
0x188F CANTXERR           TXERR7    0       0        0        0            TXEIE2 TXEIE1
0x1890 CANIDAR0                                                                                     0
0x1893 CANIDAR3              AC7    0       0        0        0            ABTRQ2 ABTRQ1          BOHOLD
0x1894 CANIDMR0                                                                                RXERR0
0x1897 CANIDMR3              AM7    0       0        0        0            ABTAK2 ABTAK1          TXERR0
0x1898 CANIDAR4
0x189B CANIDAR7              AC7    0       0        0        0            TX2      TX1              AC0
0x189C CANIDMR4
0x189F CANIDMR7              AM7    0       IDAM1 IDAM0       0            IDHIT2 IDHIT1             AM0
0x18A0 MSCAN Rx Buffer
0x18AF                       TOF         0       0        0        0            0        0           AC0
0x18B0 MSCAN Tx Buffer    Bit 15       0       0        0        0            0        0
0x18BF                       Bit 7  RXERR6  RXERR5   RXERR4   RXERR3       RXERR2   RXERR1           AM0
0x18C0 TPM3SC               Bit 15
0x18C1 TPM3CNTH              Bit 7  TXERR6 TXERR5 TXERR4 TXERR3 TXERR2 TXERR1                        PS0
0x18C2 TPM3CNTL             CH0F                                                                     Bit 8
0x18C3 TPM3MODH             Bit 15  AC6     AC5      AC4      AC3          AC2      AC1              Bit 0
0x18C4 TPM3MODL                                                                                      Bit 8
0x18C5 TPM3C0SC                     AM6     AM5      AM4      AM3          AM2      AM1              Bit 0
0x18C6 TPM3C0VH
                                    AC6     AC5      AC4      AC3          AC2      AC1                0
                                                                                                     Bit 8
                                    AM6     AM5      AM4      AM3          AM2      AM1

                                    See Table 4-4 for an example extended mapping buffer layout.
                                              For complete details, see the MSCAN chapter.

                                    See Table 4-4 for an example extended mapping buffer layout.
                                              For complete details, see the MSCAN chapter.

                                    TOIE CPWMS CLKSB CLKSA                 PS2      PS1

                                    14      13       12       11                10  9

                                    6       5        4        3                 2   1

                                    14      13       12       11                10  9

                                    6       5        4        3                 2   1

                                    CH0IE   MS0B     MS0A ELS0B ELS0A               0

                                    14      13       12       11                10  9

                                    MC9S08DZ128 Series Data Sheet, Rev. 1

58                                                                                  Freescale Semiconductor
                                                                                    Chapter 4 Memory

                         Table 4-3. High-Page Register Summary (Sheet 5 of 5)

Address Register Name    Bit 7         6         5   4           3             2      1    Bit 0
                                                 5                                    1     Bit 0
0x18C7 TPM3C0VL          Bit 7      6         MS1B      4       3               2     0
                         CH1F    CH1IE          13   MS1A    ELS1B           ELS1A    9       0
0x18C8 TPM3C1SC          Bit 15                  5                                    1     Bit 8
                                   14         MS2B     12       11              10    0     Bit 0
0x18C9 TPM3C1VH                                 13                                    9
                                                 5                                    1       0
0x18CA TPM3C1VL          Bit 7      6         MS3B      4       3               2     0     Bit 8
                         CH2F    CH2IE          13   MS2A    ELS2B           ELS2A    9     Bit 0
0x18CB TPM3C2SC          Bit 15                  5                                    1
                                   14           --     12       11              10   --       0
0x18CC TPM3C2VH                                 --                                   --     Bit 8
                                               AD5                                  AD1     Bit 0
0x18CD TPM3C2VL          Bit 7      6                   4       3               2            --
                         CH3F    CH3IE        MST    MS3A    ELS3B           ELS3A    0      --
0x18CE TPM3C3SC          Bit 15               BUSY                                  IICIF
                                   14                  12       11              10            0
0x18CF TPM3C3VH                                  0                                  AD9
                                                --                                   --       0
0x18D0 TPM3C3VL          Bit 7         6        --   4           3             2     --    RXAK

0x18D1   Reserved       --            --            --          --            --           AD8
0x18D7                                                                                       --
                         --            --            --          --            --            --

0x18D8 IIC2A             AD7           AD6           AD4         AD3         AD2

0x18D9 IIC2F                     MULT                                   ICR

0x18DA IIC2C1            IICEN         IICIE         TX          TXAK        RSTA
                          TCF          IAAS                                  SRW
0x18DB IIC2S                                         ARBL        0

0x18DC IIC2D                                               DATA

0x18DD IIC2C2            GCAEN   ADEXT               0           0           AD10

0x18DE   Reserved          --      --               --          --            --
0x18FF                      --      --
                                                     --          --            --

Figure 4-4 shows the structure of receive and transmit buffers for extended identifier mapping. These
registers vary depending on whether standard or extended mapping is selected. See Chapter 12,
"Freescale's Controller Area Network (S08MSCANV1)," for details on extended and standard identifier
mapping.

Table 4-4. MSCAN Foreground Receive and Transmit Buffer Layouts -- Extended Mapping Shown
                                                            (Sheet 1 of 2)

0x18A0    CANRIDR0        ID28    ID27         ID26   ID25    ID24            ID23  ID22   ID21
0x18A1    CANRIDR1        ID20    ID19         ID18  SRR(1)  IDE(1)           ID17  ID16   ID15
0x18A2    CANRIDR2        ID14    ID13         ID12           ID10             ID9   ID8    ID7
0x18A3    CANRIDR3         ID6     ID5          ID4   ID11                     ID1   ID0   RTR2
0x18A4   CANRDSR0                                    ID3     ID2
0x18AB    CANRDSR7        DB7     DB6          DB5                            DB2   DB1    DB0
0x18AC    CANRDLR                                      DB4    DB3
0x18AD    Reserved          --      --           --                          DLC2   DLC1   DLC0
0x18AE    CANRTSRH          --      --           --     --   DLC3               --    --     --
0x18AF    CANRTSRL       TSR15   TSR14        TSR13     --      --
0x18B0    CANTIDR0       TSR7    TSR6         TSR5   TSR12                   TSR10  TSR9   TSR8
0x18B1    CANTIDR1        ID28    ID27         ID26   TSR4   TSR11           TSR2   TSR1   TSR0
0x18B2    CANTIDR2        ID20    ID19         ID18   ID25   TSR3             ID23  ID22   ID21
                          ID14    ID13         ID12  SRR(3)   ID24            ID17  ID16   ID15
                                                      ID11   IDE(1)
                                                              ID10             ID9   ID8    ID7

                                 MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                            59
Chapter 4 Memory

    Table 4-4. MSCAN Foreground Receive and Transmit Buffer Layouts -- Extended Mapping Shown
                                                                (Sheet 2 of 2)

0x18B3 CANTIDR3                  ID6        ID5   ID4   ID3                      ID2     ID1    ID0       RTR4

0x18B4 CANTDSR0               DB7        DB6   DB5   DB4                      DB3    DB2    DB1         DB0
0x18BB CANTDSR7
                                                                                       DLC2   DLC1        DLC0
0x18BC CANTDLR                   --         --    --    --                       DLC3  PRIO2  PRIO1       PRIO0
                                                                                       TSR10  TSR9        TSR8
0x18BD CANTTBPR                  PRIO7 PRIO6 PRIO5 PRIO4 PRIO3                         TSR2   TSR1        TSR0

0x18BE CANTTSRH                  TSR15 TSR14 TSR13 TSR12 TSR11

0x18BF CANTTSRL                  TSR7       TSR6  TSR5  TSR4                     TSR3

1 SRR and IDE are both 1s.
2 The position of RTR differs between extended and standard identifier mapping.
3 SRR and IDE are both 1s.
4 The position of RTR differs between extended and standard identifier mapping.

Nonvolatile FLASH registers, shown in Table 4-5, are located in the FLASH memory. These registers
include an 8-byte backdoor key, NVBACKKEY, which can be used to gain access to secure memory
resources. During reset events, the contents of NVPROT and NVOPT in the nonvolatile register area of the
FLASH memory are transferred into corresponding FPROT and FOPT working registers in the high-page
registers to control security and block protection options.

The factory MCG trim value is stored in a nonvolatile location and will be loaded into the MCGTRM and
MCGSC registers after any reset if not in a BDM mode. If in a BDM mode, a default value of 0x80 is
loaded. The internal reference trim values stored in Flash (0xFFAE, 0xFFAF), TRIM and FTRIM, can be
programmed by third party programmers and must be copied into the corresponding MCG registers by
user code to override the factory trim.

                                              Table 4-5. Nonvolatile Register Summary

Address Register Name Bit 7                 6     5     4                        3     2      1           Bit 0

0xFFAE Reserved for              0          0     0     0                        0     0      0           FTRIM
               storage of FTRIM

0xFFAF  Reserved for
        storage of
        MCGTRM                                                TRIM

0xFFB0 NVBACKKEY                                       8-Byte Comparison Key
0xFFB7
0xFFB8 Reserved                 --         --    --    --                       --    --     --          --
0xFFBC
0xFFBD NVPROT                    --         --    --    --                       --    --     --          --
0xFFBE Reserved
0xFFBF NVOPT                           EPS                                       FPS                      FPOP

                                 --         --    --    --                       --    --     --          --

                                 KEYEN FNORED EPGMOD    0                        0     0             SEC

Provided the key enable (KEYEN) bit is 1, the 8-byte comparison key can be used to temporarily
disengage memory security. This key mechanism can be accessed only through user code running in secure
memory. (A security key cannot be entered directly through background debug commands.) This security
key can be disabled completely by programming the KEYEN bit to 0. If the security key is disabled, the
only way to disengage security is by mass erasing the FLASH if needed (normally through the background

                                       MC9S08DZ128 Series Data Sheet, Rev. 1

60                                                                                            Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

debug interface) and verifying that FLASH is blank. To avoid returning to secure mode after the next reset,
program the security bits (SEC) to the unsecured state (1:0).

4.4 Memory Management Unit

The memory management unit (MMU) allows the program and data space for the HCS08 Family of
Microcontrollers to be extended beyond the 64K CPU addressable memory map. The extended memory
when used for data can also be accessed linearly using a linear address pointer and data access registers.

4.4.1 Features

Key features of the MMU module are:
    Memory Management Unit extends the HCS08 memory space
         -- up to 128K for program and data space
    Extended program space using paging scheme
         -- PPAGE register used for page selection
         -- fixed 16K byte memory window
         -- architecture supports eight 16K pages
    Extended data space using linear address pointer
         -- 17-bit linear address pointer
         -- linear address pointer and data register provided in direct page allows access of complete
             FLASH memory map using direct page instructions
         -- optional auto increment of pointer when data accessed
         -- supports a 2s complement addition/subtraction to address pointer without using any math
             instructions or memory resources
         -- supports word accesses to any address specified by the linear address pointer when using
             LDHX, STHX instructions

4.4.2 Memory Expansion

The HCS08 Core architecture limits the CPU addressable space available to 64K bytes. The Program Page
(PPAGE) allows for integrating up to 128K of FLASH into the system by selecting one of the 16K byte
blocks to be accessed through the Paging Window located at 0x8000-0xBFFF. The MMU module also
provides a linear address pointer that allows extension of data access up to 128K.

4.4.2.1 Program Space

The PPAGE register holds the page select value for the Paging Window. The value in PPAGE can be
manipulated by using normal read and write instructions as well as the CALL and RTC instructions. The
user should not change PPAGE directly when running from paged memory, only CALL and RTC should
be used.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         61
Chapter 4 Memory

When the MMU detects that the CPU is addressing the Paging Window, the value currently in PPAGE will
be used to create an extended address that the MCU's decode logic will use to select the desired FLASH
location. For example, the Flash from location 0x4000-0x7FFF can be accessed directly or using the
paging window, PPAGE = 1, address 0x8000-0xBFFF.

4.4.2.2 CALL and RTC (Return from Call) Instructions

CALL and RTC are instructions that perform automated page switching when executed in the user
program. CALL is similar to a JSR instruction, but the subroutine that is called can be located anywhere
in the normal 64K address space or on any page of program memory.

During the execution of a CALL instruction, the CPU:

    Stacks the return address.
    Pushes the current PPAGE value onto the stack.
    Writes the new instruction-supplied PPAGE value into the PPAGE register.
    Transfers control to the subroutine of the new instruction-supplied address.

This sequence is not interruptible; there is no need to inhibit interrupts during CALL execution. A CALL
can be executed from any address in memory to any other address.

The new PPAGE value is provided by an immediate operand in the instruction along with the address
within the paging window, 0x8000-0xBFFF.

RTC is similar to an RTS instruction.

The RTC instruction terminates subroutines invoked by a CALL instruction.

During the execution of an RTC instruction, the CPU:

    Pulls the old PPAGE value from the stack and loads it into the PPAGE register
    Pulls the 16-bit return address from the stack and loads it into the PC
    Resumes execution at the return address

This sequence is not interruptible; there is no need to inhibit interrupts during RTC execution. An RTC
can be executed from any address in memory.

4.4.2.3 Data Space

The linear address pointer registers, LAP2:LAP0 along with the linear data register allow the CPU to read
or write any address in the extended FLASH memory space. This linear address pointer may be used to
access data from any memory location while executing code from any location in extended memory,
including accessing data from a different PPAGE than the currently executing program.

To access data using the linear address pointer, the user would first setup the extended address in the 17-bit
address pointer, LAP2:LAP0. Accessing one of the three linear data registers LB, LBP and LWP will
access the extended memory location specified by LAP2:LAP0. The three linear data registers access the
memory locations in the same way, however the LBP and LWP will also increment LAP2:LAP0.

    MC9S08DZ128 Series Data Sheet, Rev. 1

62                                         Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

Accessing either the LBP or LWP registers allows a user program to read successive memory locations
without re-writing the linear address pointer. Accessing LBP or LWP does the exact same function.
However, because of the address mapping of the registers with LBP following LWP, a user can do word
accesses in the extended address space using the LDHX or STHX instructions to access location LWP.

The MMU supports the addition of a 2s complement value to the linear address pointer without using any
math instructions or memory resources. Writes to LAPAB with a 2s complement value will cause the
MMU to add that value to the existing value in LAP2:LAP0.

4.4.3 MMU Registers and Control Bits

4.4.3.1 Program Page Register (PPAGE)

The HCS08 Core architecture limits the CPU addressable space available to 64K bytes. The address space
can be extended to 128K bytes using a paging window scheme. The Program Page (PPAGE) allows for
selecting one of the 16K byte blocks to be accessed through the Program Page Window located at
0x8000-0xBFFF. The CALL and RTC instructions can load or store the value of PPAGE onto or from the
stack during program execution. After any reset, PPAGE is set to PAGE 2.

               7         6  5  4      3                                       2        1     0

       R       0         0  0  0      0                                             XA15  XA14
                                                                                      1     0
                                                                              XA16

       W

       Reset:  0         0  0  0      0                                       0

                            Figure 4-5. Program Page Register (PPAGE)

                         Table 4-6. Program Page Register Field Descriptions

Field                             Description

2:0    When the CPU addresses the paging window, 0x8000-0xBFFF, the value in the PPAGE register along with the

XA16:XA14 CPU addresses A13:A0 are used to create a 17-bit extended address.

4.4.3.2 Linear Address Pointer Registers 2:0 (LAP2:LAP0)

The three registers, LAP2:LAP0 contain the 17-bit linear address that allows the user to access any FLASH
location in the extended address map. This register is used in conjunction with the data registers, linear
byte (LB), linear byte post increment (LBP) and linear word post increment (LWP). The contents of
LAP2:LAP0 will auto-increment when accessing data using the LBP and LWP registers. The contents of
LAP2:LAP0 can be increased by writing an 8-bit value to LAPAB.

                            MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                         63
Chapter 4 Memory

                    7     6     5     4     3                          2                1      0

                 R  0     0     0     0     0                          0                0   LA16
                W                                                                           LA8
                 R  LA15  LA14  LA13  LA12  LA11                       LA10      LA9        LA0
                W
                 R  LA7   LA6   LA5   LA4   LA3                        LA2       LA1          0
                W
           Reset:   0     0     0     0     0                          0                0

                          Figure 4-6. Linear Address Pointer Registers 2:0 (LAP2:LAP0)

                    Table 4-7. Linear Address Pointer Registers 2:0 Field Descriptions

    Field                                 Description

   16:0 The values in LAP2:LAP0 are used to create a 17-bit linear address pointer. The value in these registers are used
LA16:LA0 as the extended address when accessing any of the data registers LB, LBP and LWP.

4.4.3.3 Linear Word Post Increment Register (LWP)

This register is one of three data registers that the user can use to access any FLASH memory location in
the extended address map. When LWP is accessed the contents of LAP2:LAP0 make up the extended
address of the FLASH memory location to be addressed. When accessing data using LWP, the contents of
LAP2:LAP0 will increment after the read or write is complete.

Accessing LWP does the same thing as accessing LBP. The MMU register ordering of LWP followed by
LBP, allow the user to access data by words using the LDHX or STHX instructions of the LWP register.

                    7     6     5     4     3                          2                1   0

           R

                    D7    D6    D5    D4    D3                         D2               D1  D0

           W

           Reset:   0     0     0     0     0                          0                0   0

                          Figure 4-7. Linear Word Post Increment Register (LWP)

                    Table 4-8. Linear Word Post Increment Register Field Descriptions

    Field                                                                   Description

      7:0  Reads of this register will first return the data value pointed to by the linear address pointer, LAP2:LAP0 and then
    D7:D0  will increment LAP2:LAP0. Writes to this register will first write the data value to the memory location specified
           by the linear address pointer and then will increment LAP2:LAP0. Writes to this register are most commonly used
           when writing to the FLASH block(s) during programming.

4.4.3.4 Linear Byte Post Increment Register (LBP)

This register is one of three data registers that the user can use to access any FLASH memory location in
the extended address map. When LBP is accessed the contents of LAP2:LAP0 make up the extended

                                MC9S08DZ128 Series Data Sheet, Rev. 1

64                                                                                      Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

address of the FLASH memory location to be addressed. When accessing data using LBP, the contents of
LAP2:LAP0 will increment after the read or write is complete.

Accessing LBP does the same thing as accessing LWP. The MMU register ordering of LWP followed by
LBP, allow the user to access data by words using the LDHX or STHX instructions with the address of the
LWP register.

          7              6   5   4   3                              2           1   0

       R

          D7             D6  D5  D4  D3                             D2          D1  D0

       W

Reset:    0              0   0   0   0                              0           0   0

                         Figure 4-8. Linear Byte Post Increment Register (LBP)

             Table 4-9. Linear Byte Post Increment Register Field Descriptions

Field                                                                   Description

  7:0  Reads of this register will first return the data value pointed to by the linear address pointer, LAP2:LAP0 and then
D7:D0  will increment LAP2:LAP0. Writes to this register will first write the data value to the memory location specified
       by the linear address pointer and then will increment LAP2:LAP0. Writes to this register are most commonly used
       when writing to the FLASH block(s) during programming.

4.4.3.5 Linear Byte Register (LB)

This register is one of three data registers that the user can use to access any FLASH memory location in
the extended address map. When LB is accessed the contents of LAP2:LAP0 make up the extended
address of the FLASH memory location to be addressed.

          7              6   5   4   3                              2           1   0

       R

          D7             D6  D5  D4  D3                             D2          D1  D0

       W

Reset:    0              0   0   0   0                              0           0   0

                             Figure 4-9. Linear Byte Register (LB)

                         Table 4-10. Linear Data Register Field Descriptions

Field                                                                   Description

  7:0  Reads of this register returns the data value pointed to by the linear address pointer, LAP2:LAP0. Writes to this
D7:D0  register will write the data value to the memory location specified by the linear address pointer. Writes to this
       register are most commonly used when writing to the FLASH block(s) during programming.

4.4.3.6 Linear Address Pointer Add Byte Register (LAPAB)

The user can increase or decrease the contents of LAP2:LAP0 by writing a 2s complement value to
LAPAB. The value written will be added to the current contents of LAP2:LAP0.

                             MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                          65
Chapter 4 Memory

                        7  6           5   4                3         2   1                0

           R      0        0           0   0                0         0   0                0

           W D7            D6          D5  D4    D3                   D2  D1               D0

    Reset:        0        0           0   0                0         0   0                0

                           Figure 4-10. Linear Address Pointer Add Byte Register (LAPAB)

                  Table 4-11. Linear Address Pointer Add Byte Register Field Descriptions

    Field                                                                   Description

      7:0  The 2s complement value written to LAPAB will be added to contents of the linear address pointer register,
    D7:D0  LAP2:LAP0. Writing a value of 0x7f to LAPAB will increase LAP by 127, a value of 0x80 will decrease LAP by
           128, and a value of 0xff will decrease LAP by 1.

4.5 RAM

The MC9S08DZ128 Series includes static RAM. The locations in RAM below 0x0100 can be accessed
using the more efficient direct addressing mode, and any single bit in this area can be accessed with the bit
manipulation instructions (BCLR, BSET, BRCLR, and BRSET). Locating the most frequently accessed
program variables in this area of RAM is preferred.

The RAM retains data while the MCU is in low-power wait, stop2, or stop3 mode. At power-on the
contents of RAM are uninitialized. RAM data is unaffected by any reset if the supply voltage does not drop
below the minimum value for RAM retention (VRAM).

For compatibility with M68HC05 MCUs, the HCS08 resets the stack pointer to 0x00FF. In the
MC9S08DZ128 Series, it is usually best to reinitialize the stack pointer to the top of the RAM so the direct
page RAM can be used for frequently accessed RAM variables and bit-addressable program variables.
Include the following 2-instruction sequence in your reset initialization routine (where RamLast is equated
to the highest address of the RAM in the Freescale Semiconductor equate file).

                  LDHX     #RamLast+1  ;point one past RAM
                  TXS                  ;SP<-(H:X-1)

                                           NOTE

                  On most devices in the MC9S08DZ128 Series, more than 4K of RAM is
                  present in two separate address blocks.

When security is enabled, the RAM is considered a secure memory resource and is not accessible through
BDM or code executing from non-secure memory. See Section 4.6.9, "Security", for a detailed description
of the security feature.

                               MC9S08DZ128 Series Data Sheet, Rev. 1

66                                                                                        Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

4.6 FLASH and EEPROM

MC9S08DZ128 Series devices include FLASH and EEPROM memory intended primarily for program
and data storage. In-circuit programming allows the operating program and data to be loaded into FLASH
and EEPROM, respectively, after final assembly of the application product. It is possible to program the
arrays through the single-wire background debug interface. Because no special voltages are needed for
erase and programming operations, in-application programming is also possible through other
software-controlled communication paths. For a more detailed discussion of in-circuit and in-application
programming, refer to the HCS08 Family Reference Manual, Volume I, Freescale Semiconductor
document order number HCS08RMv1.

4.6.1 Features

Features of the FLASH and EEPROM memory include:
    Up to 128K of FLASH and up to 2K of EEPROM (see Table 1-1 for exact array sizes)
    FLASH sector size: 512 bytes
    EEPROM sector size: selectable 4-byte or 8-byte sector mapping operation
    Single power supply program and erase
    Command interface for fast program and erase operation
    Up to 100,000 program/erase cycles at typical voltage and temperature
    Flexible block protection
    Security feature for FLASH, EEPROM, and RAM
    Burst programming capability
    Sector erase abort

4.6.2 Program and Erase Times

Before any program or erase command can be accepted, the FLASH and EEPROM clock divider register
(FCDIV) must be written to set the internal clock for the FLASH and EEPROM module to a frequency
(fFCLK) between 150 kHz and 200 kHz (see Section 4.6.11.1, "FLASH and EEPROM Clock Divider
Register (FCDIV)"). This register can be written only once, so normally this write is performed during
reset initialization. The user must ensure that FACCERR is not set before writing to the FCDIV register.
One period of the resulting clock (1/fFCLK) is used by the command processor to time program and erase
pulses. An integer number of these timing pulses is used by the command processor to complete a program
or erase command.

                                                           NOTE
                  When changing from a low power mode (Stop2 mode or bus frequency less
                  than 150kHz) into an operating condition that allows program or erase, it is
                  necessary to wait at least 10s before starting a program or erase command.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         67
Chapter 4 Memory

Table 4-12 shows program and erase times. The bus clock frequency and FCDIV determine the frequency
of FCLK (fFCLK). The time for one cycle of FCLK is tFCLK = 1/fFCLK. The times are shown as a number
of cycles of FCLK and as an absolute time for the case where tFCLK = 5 s. Program and erase times
shown include overhead for the command state machine and enabling and disabling of program and erase
voltages.

                                                 Table 4-12. Program and Erase Times

                 Parameter          Cycles of FCLK  Time if FCLK = 200 kHz
                Byte program                  9
               Burst program                  4                 45 s
                Sector erase                                    20 s1
                 Mass erase                4000                 20 ms
            Sector erase abort            20,000               100 ms
    1 Excluding start/end overhead                              20 s1
                                              4

4.6.3 Program and Erase Command Execution

The FCDIV register must be initialized after any reset and any error flag is cleared before beginning
command execution. The command execution steps are:

    1. Write a data value to an address in the FLASH or EEPROM array. The address and data
         information from this write is latched into the FLASH and EEPROM interface. This write is a
         required first step in any command sequence. For erase and blank check commands, the value of
         the data is not important. For sector erase commands, the address can be any address in the sector
         of FLASH or EEPROM to be erased. For mass erase and blank check commands, the address can
         be any address in the FLASH or EEPROM memory. FLASH and EEPROM erase independently
         of each other.

                                                           NOTE

                  Before programming a particular byte in the FLASH or EEPROM, the
                  sector in which that particular byte resides must be erased by a mass or
                  sector erase operation. Reprogramming bits in an already programmed byte
                  without first performing an erase operation may disturb data stored in the
                  FLASH or EEPROM memory.

    2. Write the command code for the desired command to FCMD. The six valid commands are blank
         check (0x05), byte program (0x20), burst program (0x25), sector erase (0x40), mass erase (0x41),
         and sector erase abort (0x47). The command code is latched into the command buffer.

    3. Write a 1 to the FCBEF bit in FSTAT to clear FCBEF and launch the command (including its
         address and data information).

         A partial command sequence can be aborted manually by writing a 0 to FCBEF any time after the
         write to the memory array and before writing the 1 that clears FCBEF and launches the complete
         command. Aborting a command in this way sets the FACCERR access error flag which must be
         cleared before starting a new command.

                  MC9S08DZ128 Series Data Sheet, Rev. 1

68                                                       Freescale Semiconductor
                                                                                              Chapter 4 Memory

    A strictly monitored procedure must be obeyed or the command will not be accepted. This
    minimizes the possibility of any unintended changes to the memory contents. The command
    complete flag (FCCF) indicates when a command is complete. The command sequence must be
    completed by clearing FCBEF to launch the command. Figure 4-11 is a flowchart for executing all
    of the commands except for burst programming and sector erase abort.

4. Wait until the FCCF bit in FSTAT is set. As soon as FCCF= 1, the operation has completed
    successfully.

                         WRITE TO FCDIV(1)                 (1) Required only once
                                                             after reset.
                                START
PROGRAM AND
ERASE FLOW                                              0
                             FACCERR?

                         CLEAR ERROR

                         WRITE TO FLASH OR EEPROM TO
                           BUFFER ADDRESS AND DATA

                         WRITE COMMAND TO FCMD

                           WRITE 1 TO FCBEF                (2) Wait at least four bus cycles
                                                             before checking FCBEF or FCCF.
                         TO LAUNCH COMMAND
                          AND CLEAR FCBEF (2)

                                     FPVIOL OR             YES
                                       FACCERR?                            ERROR EXIT

                                                NO

                         0
                                          FCCF?

                                                1
                                          DONE

                         Figure 4-11. Program and Erase Flowchart

4.6.4 Burst Program Execution

The burst program command is used to program sequential bytes of data in less time than would be
required using the standard program command. This is possible because the high voltage to the FLASH
array does not need to be disabled between program operations. Ordinarily, when a program or erase
command is issued, an internal charge pump associated with the FLASH memory must be enabled to
supply high voltage to the array. Upon completion of the command, the charge pump is turned off. When

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                       69
Chapter 4 Memory

a burst program command is issued, the charge pump is enabled and remains enabled after completion of
the burst program operation if these two conditions are met:

    The next burst program command sequence has begun before the FCCF bit is set.
    The next sequential address selects a byte on the same burst block as the current byte being

         programmed. A burst block in this FLASH memory consists of 32 bytes. A new burst block begins
         at each 32-byte address boundary.

The first byte of a series of sequential bytes being programmed in burst mode will take the same amount
of time to program as a byte programmed in standard mode. Subsequent bytes will program in the burst
program time provided that the conditions above are met. If the next sequential address is the beginning of
a new row, the program time for that byte will be the standard time instead of the burst time. This is because
the high voltage to the array must be disabled and then enabled again. If a new burst command has not been
queued before the current command completes, then the charge pump will be disabled and high voltage
removed from the array.

A flowchart to execute the burst program operation is shown in Figure 4-12.

    MC9S08DZ128 Series Data Sheet, Rev. 1

70                                         Freescale Semiconductor
                                                                                                  Chapter 4 Memory

                                        WRITE TO FCDIV(1)                 (1) Required only once
                                               START                        after reset.

                         BURST PROGRAM
                         FLOW

                                                                     0
                                          FACCERR?

                                                     1

                                        CLEAR ERROR

                                        FCBEF?                       0

                                                                  1

                                                     WRITE TO FLASH
                                        TO BUFFER ADDRESS AND DATA

                                        WRITE COMMAND TO FCMD

                                          WRITE 1 TO FCBEF                (2) Wait at least four bus cycles
                                                                            before checking FCBEF or FCCF.
                                        TO LAUNCH COMMAND
                                         AND CLEAR FCBEF (2)

                                        FPVIOL OR                    YES

                                        FACCERR?                          ERROR EXIT

                         YES            NO

                                        NEW BURST COMMAND?

                                        NO

                                        0
                                                         FCCF?

                                                               1

                                                         DONE

                         Figure 4-12. Burst Program Flowchart

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                      71
Chapter 4 Memory

4.6.5 Sector Erase Abort

The sector erase abort operation will terminate the active sector erase operation so that other sectors are
available for read and program operations without waiting for the sector erase operation to complete.

The sector erase abort command write sequence is as follows:
    1. Write to any FLASH or EEPROM address to start the command write sequence for the sector erase
         abort command. The address and data written are ignored.
    2. Write the sector erase abort command, 0x47, to the FCMD register.
    3. Clear the FCBEF flag in the FSTAT register by writing a 1 to FCBEF to launch the sector erase
         abort command.

If the sector erase abort command is launched resulting in the early termination of an active sector erase
operation, the FACCERR flag will set once the operation completes as indicated by the FCCF flag being
set. The FACCERR flag sets to inform the user that the FLASH sector may not be fully erased and a new
sector erase command must be launched before programming any location in that specific sector.

If the sector erase abort command is launched but the active sector erase operation completes normally,
the FACCERR flag will not set upon completion of the operation as indicated by the FCCF flag being set.
Therefore, if the FACCERR flag is not set after the sector erase abort command has completed, a sector
being erased when the abort command was launched will be fully erased.

A flowchart to execute the sector erase abort operation is shown in Figure 4-13.

    SECTOR ERASE                             START
    ABORT FLOW
                            1
                                             FCCF?
                                                     0

                                       WRITE TO FLASH
                             TO BUFFER ADDRESS AND DATA

                               WRITE 0x47 TO FCMD

                                 WRITE 1 TO FCBEF        (2) Wait at least four bus cycles
                                                         before checking FCBEF or FCCF.
                               TO LAUNCH COMMAND
                                AND CLEAR FCBEF (2)

                            0
                                             FCCF?

                               1

    SECTOR ERASE COMPLETED  0  FACCERR?

                                                1
                               SECTOR ERASE ABORTED

                  Figure 4-13. Sector Erase Abort Flowchart

                  MC9S08DZ128 Series Data Sheet, Rev. 1

72                                                           Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

                                                           NOTE
                  The FCBEF flag will not set after launching the sector erase abort command.
                  If an attempt is made to start a new command write sequence with a sector
                  erase abort operation active, the FACCERR flag in the FSTAT register will
                  be set. A new command write sequence may be started after clearing the
                  ACCERR flag, if set.

                                                           NOTE
                  The sector erase abort command should be used sparingly since a sector
                  erase operation that is aborted counts as a complete program/erase cycle.

4.6.6 Access Errors

An access error occurs whenever the command execution protocol is violated.

Any of the following specific actions will cause the access error flag (FACCERR) in FSTAT to be set.
FACCERR must be cleared by writing a 1 to FACCERR in FSTAT before any command can be processed.

    Writing to a FLASH address before the internal FLASH and EEPROM clock frequency has been
         set by writing to the FCDIV register.

    Writing to a FLASH address while FCBEF is not set. (A new command cannot be started until the
         command buffer is empty.)

    Writing a second time to a FLASH address before launching the previous command. (There is only
         one write to FLASH for every command.)

    Writing a second time to FCMD before launching the previous command. (There is only one write
         to FCMD for every command.)

    Writing to any FLASH control register other than FCMD after writing to a FLASH address.
    Writing any command code other than the six allowed codes (0x05, 0x20, 0x25, 0x40, 0x41, or

         0x47) to FCMD.
    Accessing (read or write) any FLASH control register other than to write to FSTAT (to clear

         FCBEF and launch the command) after writing the command to FCMD.
    The MCU enters stop mode while a program or erase command is in progress. (The command is

         aborted.)
    Writing the byte program, burst program, sector erase or sector erase abort command code (0x20,

         0x25, 0x40, or 0x47) with a background debug command while the MCU is secured. (The
         background debug controller can do blank check and mass erase commands only when the MCU
         is secure.)
    Writing 0 to FCBEF to cancel a partial command.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         73
Chapter 4 Memory

4.6.7 Block Protection

The block protection feature prevents the protected region of FLASH or EEPROM from program or erase
changes. Block protection is controlled through the FLASH and EEPROM protection register (FPROT).
The EPS bits determine the protected region of EEPROM and the FPS bits determine the protected region
of FLASH. See Section 4.6.11.4, "FLASH and EEPROM Protection Register (FPROT and NVPROT)."

After exit from reset, FPROT is loaded with the contents of the NVPROT location, which is in the
nonvolatile register block of the FLASH memory. FPROT cannot be changed directly from application
software so a runaway program cannot alter the block protection settings. Because NVPROT is within the
last sector of FLASH, if any amount of memory is protected, NVPROT is itself protected and cannot be
altered (intentionally or unintentionally) by the application software. FPROT can be written through
background debug commands, which provides a way to erase and reprogram protected FLASH memory.

One use for block protection is to block protect an area of FLASH memory for a bootloader program. This
bootloader program then can be used to erase the rest of the FLASH memory and reprogram it. The
bootloader is protected even if MCU power is lost during an erase and reprogram operation.

4.6.8 Vector Redirection

Whenever any FLASH is block protected, the reset and interrupt vectors will be protected. Vector
redirection allows users to modify interrupt vector information without unprotecting bootloader and reset
vector space. Vector redirection is enabled by programming the FNORED bit in the NVOPT register to 0.
For redirection to occur, at least some portion of the FLASH memory must be block protected by
programming the FPS bits in the NVPROT register. All interrupt vectors (memory locations 0x0_FF80
through 0x0_FFFD) are redirected, though the reset vector (0x0_FFFE:0x0_FFFF) is not.

For example, if 8192 bytes of FLASH are protected, the protected address region is from 0x0_E000
through 0x0_FFFF. The interrupt vectors (0x0_FF80 through 0x0_FFFD) are redirected to the locations
0x0_DF80 through 0x0_DFFD. If vector redirection is enabled and an interrupt occurs, the values in the
locations 0x0_DFE0:0x0_DFE1 are used for the vector instead of the values in the locations
0x0_FFE0:0x0FFE1. This allows the user to reprogram the unprotected portion of the FLASH with new
program code including new interrupt vector values while leaving the protected area, which includes the
default vector locations, unchanged.

4.6.9 Security

The MC9S08DZ128 Series includes circuitry to prevent unauthorized access to the contents of FLASH,
EEPROM, and RAM memory. When security is engaged, FLASH, EEPROM, and RAM are considered
secure resources. Direct-page registers, high-page registers, and the background debug controller are
considered unsecured resources. Programs executing within secure memory have normal access to any
MCU memory locations and resources. Attempts to access a secure memory location with a program
executing from an unsecured memory space or through the background debug interface are blocked (writes
are ignored and reads return all 0s).

Security is engaged or disengaged based on the state of two register bits (SEC[1:0]) in the FOPT register.
During reset, the contents of the nonvolatile location NVOPT are copied from FLASH into the working
FOPT register in high-page register space. A user engages security by programming the NVOPT location,

    MC9S08DZ128 Series Data Sheet, Rev. 1

74                                         Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

which can be performed at the same time the FLASH memory is programmed. The 1:0 state disengages
security; the other three combinations engage security. Notice the erased state (1:1) makes the MCU
secure. During development, whenever the FLASH is erased, it is good practice to immediately program
the SEC0 bit to 0 in NVOPT so SEC = 1:0. This would allow the MCU to remain unsecured after a
subsequent reset.

The on-chip debug module cannot be enabled while the MCU is secure. The separate background debug
controller can be used for background memory access commands, but the MCU cannot enter active
background mode except by holding BKGD low at the rising edge of reset.

A user can choose to allow or disallow a security unlocking mechanism through an 8-byte backdoor
security key. If the nonvolatile KEYEN bit in NVOPT/FOPT is 0, the backdoor key is disabled and there
is no way to disengage security without completely erasing all FLASH locations. If KEYEN is 1, a secure
user program can temporarily disengage security by:

    1. Writing 1 to KEYACC in the FCNFG register. This makes the FLASH module interpret writes to
         the backdoor comparison key locations (NVBACKKEY through NVBACKKEY+7) as values to
         be compared against the key rather than as the first step in a FLASH program or erase command.

    2. Writing the user-entered key values to the NVBACKKEY through NVBACKKEY+7 locations.
         These writes must be performed in order starting with the value for NVBACKKEY and ending
         with NVBACKKEY+7. STHX must not be used for these writes because these writes cannot be
         performed on adjacent bus cycles. User software normally would get the key codes from outside
         the MCU system through a communication interface such as a serial I/O.

    3. Writing 0 to KEYACC in the FCNFG register. If the 8-byte key that was written matches the key
         stored in the FLASH locations, SEC bits are automatically changed to 1:0 and security will be
         disengaged until the next reset.

The security key can be written only from secure memory (either RAM, EEPROM, or FLASH), so it
cannot be entered through background commands without the cooperation of a secure user program.

The backdoor comparison key (NVBACKKEY through NVBACKKEY+7) is located in FLASH memory
locations in the nonvolatile register space so users can program these locations exactly as they would
program any other FLASH memory location. The nonvolatile registers are in the same 512-byte block of
FLASH as the reset and interrupt vectors, so block protecting that space also block protects the backdoor
comparison key. Block protects cannot be changed from user application programs, so if the vector space
is block protected, the backdoor security key mechanism cannot permanently change the block protect,
security settings, or the backdoor key.

Security can always be disengaged through the background debug interface by taking these steps:

    1. Disable any block protections by writing FPROT. FPROT can be written only with background
         debug commands, not from application software.

    2. Mass erase FLASH if necessary.
    3. Blank check FLASH. Provided FLASH is completely erased, security is disengaged until the next

         reset.

To avoid returning to secure mode after the next reset, program NVOPT so SEC = 1:0.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         75
Chapter 4 Memory

4.6.10 EEPROM Mapping

Only half of the EEPROM is in the memory map. The EPGSEL bit in FCNFG register selects which half
of the array can be accessed in foreground while the other half can not be accessed in background. There
are two mapping mode options that can be selected to configure the 8-byte EEPROM sectors: 4-byte mode
and 8-byte mode. Each mode is selected by the EPGMOD bit in the FOPT register.

In 4-byte sector mode (EPGMOD = 0), each 8-byte sector splits four bytes on foreground and four bytes
on background but on the same addresses. The EPGSEL bit selects which four bytes can be accessed.
During a sector erase, the entire 8-byte sector (four bytes in foreground and four bytes in background) is
erased.

In 8-byte sector mode (EPGMOD = 1), each entire 8-byte sector is in a single page. The EPGSEL bit
selects which sectors are on background. During a sector erase, the entire 8-byte sector in foreground is
erased.

4.6.11 FLASH and EEPROM Registers and Control Bits

The FLASH and EEPROM modules have seven 8-bit registers in the high-page register space and three
locations in the nonvolatile register space in FLASH memory. Two of those locations are copied into two
corresponding high-page control registers at reset. There is also an 8-byte comparison key in FLASH
memory. Refer to Table 4-3 and Table 4-5 for the absolute address assignments for all FLASH and
EEPROM registers. This section refers to registers and control bits only by their names. A Freescale
Semiconductor-provided equate or header file normally is used to translate these names into the
appropriate absolute addresses.

4.6.11.1 FLASH and EEPROM Clock Divider Register (FCDIV)

Bit 7 of this register is a read-only status flag. Bits 6 through 0 may be read at any time but can be written
only one time. Before any erase or programming operations are possible, write to this register to set the
frequency of the clock for the nonvolatile memory system within acceptable limits.

           7  6       5                    4  3              2              1  0

    R DIVLD

              PRDIV8                             DIV

    W

    Reset  0  0       0                    0  0              0              0  0

              = Unimplemented or Reserved

              Figure 4-14. FLASH and EEPROM Clock Divider Register (FCDIV)

                      MC9S08DZ128 Series Data Sheet, Rev. 1

76                                                              Freescale Semiconductor
                                                                        Chapter 4 Memory

                         Table 4-13. FCDIV Register Field Descriptions

Field                                                                   Description
    7
        Divisor Loaded Status Flag -- When set, this read-only status flag indicates that the FCDIV register has been
DIVLD  written since reset. Reset clears this bit and the first write to this register causes this bit to become set regardless
        of the data written.
    6   0 FCDIV has not been written since reset; erase and program operations disabled for FLASH and EEPROM.
PRDIV8  1 FCDIV has been written since reset; erase and program operations enabled for FLASH and EEPROM.

   5:0  Prescale (Divide) FLASH and EEPROM Clock by 8 (This bit is write once.)
  DIV   0 Clock input to the FLASH and EEPROM clock divider is the bus rate clock.
        1 Clock input to the FLASH and EEPROM clock divider is the bus rate clock divided by 8.

        Divisor for FLASH and EEPROM Clock Divider -- The FLASH and EEPROM clock divider divides the bus rate
        clock (or the bus rate clock divided by 8 if PRDIV8 = 1) by the value in the 6-bit DIV field plus one. The resulting
        frequency of the internal FLASH and EEPROM clock must fall within the range of 200 kHz to 150 kHz for proper
        FLASH and EEPROM operations. Program/Erase timing pulses are one cycle of this internal FLASH and
        EEPROM clock which corresponds to a range of 5 s to 6.7 s. The automated programming logic uses an
        integer number of these pulses to complete an erase or program operation. See Equation 4-1 and Equation 4-2.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                 77
Chapter 4 Memory

                              if PRDIV8 = 0 -- fFCLK = fBus (DIV + 1)                                Eqn. 4-1
                                                                                                       Eqn. 4-2
                                       if PRDIV8 = 1 -- fFCLK = fBus (8 (DIV + 1))

Table 4-14 shows the appropriate values for PRDIV8 and DIV for selected bus frequencies.

                                    Table 4-14. FLASH and EEPROM Clock Divider Settings

                    fBus   PRDIV8        DIV        fFCLK      Program/Erase Timing Pulse
                           (Binary)  (Decimal)                      (5 s Min, 6.7 s Max)
                  20 MHz                         192.3 kHz
                  10 MHz       1          12      200 kHz                      5.2 s
                   8 MHz       0          49      200 kHz                       5 s
                   4 MHz       0          39      200 kHz                       5 s
                   2 MHz       0          19      200 kHz                       5 s
                   1 MHz       0          9       200 kHz                       5 s
                  200 kHz      0          4       200 kHz                       5 s
                  150 kHz      0          0       150 kHz                       5 s
                               0          0                                    6.7 s

4.6.11.2 FLASH and EEPROM Options Register (FOPT and NVOPT)

During reset, the contents of the nonvolatile location NVOPT are copied from FLASH into FOPT. To
change the value in this register, erase and reprogram the NVOPT location in FLASH memory as usual
and then issue a new MCU reset.

                 7         6         5           4          3               2                  1       0

         R  KEYEN          FNORED EPGMOD         0          0               0                     SEC
         W
    Reset       F          F         F           0          0               0                  F       F

                    = Unimplemented or Reserved

                           Figure 4-15. FLASH and EEPROM Options Register (FOPT)

                              Table 4-15. FOPT Register Field Descriptions

    Field                                           Description

        7   Backdoor Key Mechanism Enable -- When this bit is 0, the backdoor key mechanism cannot be used to
    KEYEN   disengage security. The backdoor key mechanism is accessible only from user (secured) firmware. BDM
            commands cannot be used to write key comparison values that would unlock the backdoor key. For more detailed
            information about the backdoor key mechanism, refer to Section 4.6.9, "Security."
            0 No backdoor key access allowed.
            1 If user firmware writes an 8-byte value that matches the nonvolatile backdoor key (NVBACKKEY through

               NVBACKKEY+7 in that order), security is temporarily disengaged until the next MCU reset.

     6      Vector Redirection Disable -- When this bit is 1, vector redirection is disabled.
FNORED      0 Vector redirection enabled.
            1 Vector redirection disabled.

                                     MC9S08DZ128 Series Data Sheet, Rev. 1

78                                                                                             Freescale Semiconductor
                                                                                         Chapter 4 Memory

                            Table 4-15. FOPT Register Field Descriptions

Field                                      Description

     5  EEPROM Sector Mode -- When this bit is 0, each sector is split into two pages (4-byte mode). When this bit is
EPGMOD  1, each sector is in a single page (8-byte mode).
        0 Half of each EEPROM sector is in Page 0 and the other half is in Page 1.
        1 Each sector is in a single page.

1:0    Security State Code -- This 2-bit field determines the security state of the MCU as shown in Table 4-16. When
SEC     the MCU is secure, the contents of RAM, EEPROM and FLASH memory cannot be accessed by instructions
        from any unsecured source including the background debug interface. SEC changes to 1:0 after successful
        backdoor key entry or a successful blank check of FLASH. For more detailed information about security, refer to
        Section 4.6.9, "Security."

                               Table 4-16. Security States1

                            SEC[1:0]       Description

                            0:0            secure

                            0:1            secure

                            1:0            unsecured

                            1:1            secure

                            1 SEC changes to 1:0 after successful backdoor key entry
                               or a successful blank check of FLASH.

4.6.11.3 FLASH and EEPROM Configuration Register (FCNFG)

        7                6  5           4  3                              2           1  0

R       0                               1  0                       0                  0  1

                         EPGSEL KEYACC

W

Reset   0                0  0           1  0                       0                  0  1

           = Unimplemented or Reserved

           Figure 4-16. FLASH and EEPROM Configuration Register (FCNFG)

                            Table 4-17. FCNFG Register Field Descriptions

Field                                      Description

     6  EEPROM Page Select -- This bit selects which EEPROM page is accessed in the memory map.
EPGSEL  0 Page 0 is in foreground of memory map. Page 1 is in background and can not be accessed.
        1 Page 1 is in foreground of memory map. Page 0 is in background and can not be accessed.
     5
KEYACC  Enable Writing of Access Key -- This bit enables writing of the backdoor comparison key. For more detailed
        information about the backdoor key mechanism, refer to Section 4.6.9, "Security."
        0 Writes to 0xFFB00xFFB7 are interpreted as the start of a FLASH programming or erase command.
        1 Writes to NVBACKKEY (0xFFB00xFFB7) are interpreted as comparison key writes.

                            MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                     79
Chapter 4 Memory

4.6.11.4 FLASH and EEPROM Protection Register (FPROT and NVPROT)

The FPROT register defines which FLASH and EEPROM sectors are protected against program and erase
operations.

During the reset sequence, the FPROT register is loaded from the nonvolatile location NVPROT. To
change the protection that will be loaded during the reset sequence, the sector containing NVPROT must
be unprotected and erased, then NVPROT can be reprogrammed.

FPROT bits are readable at any time and writable as long as the size of the protected region is being
increased. Any write to FPROT that attempts to decrease the size of the protected memory will be ignored.

Trying to alter data in any protected area will result in a protection violation error and the FPVIOL flag
will be set in the FSTAT register. Mass erase is not possible if any one of the sectors is protected.

           7                 6    5  4                     3             2      1  0

    R                                                      FPS                     FPOP
                        EPS

    W

    Reset  F                 F    F  F                     F             F      F  F

    Field               Figure 4-17. FLASH and EEPROM Protection Register (FPROT)

      7:6                          Table 4-18. FPROT Register Field Descriptions
     EPS
                                                                            Description
      5:1
     FPS   EEPROM Protect Select Bits -- This 2-bit field determines the protected EEPROM locations that cannot be
           erased or programmed. See Table 4-19.
       0   FLASH Protect Select Bits -- With FPOP set, this 5-bit field determines the protected FLASH locations that
    FPOP   cannot be erased or programmed. SeeTable 4-20.
           FLASH Protection Open
           0 Flash is fully protected.
           1 Flash protected address range determined by FPS bits.

                                  Table 4-19. EEPROM Block Protection

                             EPS  Protected Address Range       Protected Size
                             0x3           No protection             0 bytes
                             0x2           3FF0 - 3FFF              32 bytes
                             0x1           3FE0 - 3FFF              64 bytes
                             0x0            3FC03FFF
                                                                   128 bytes

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

80                                                                              Freescale Semiconductor
                                                                                      Chapter 4 Memory

                               Table 4-20. FLASH Block Protection

FPS                      FPOP   Protected Address Range               Protected Size
                            1  Relative to Flash Array base
0x1F                        0                                             0 Kbytes
0x1E                           Flash Array 0      Flash Array 1           8 Kbytes
0x1D                                                                     16 Kbytes
0x1C                           No protection                             24 Kbytes
0x1B                                                                     32 Kbytes
0x1A                           0x0_E0000x0_FFFF                         40 Kbytes
0x19                                                                     48 Kbytes
0x18                           0x0_C0000x0_FFFF                         56 Kbytes
0x17                                                                     64 Kbytes
0x16                           0x0_A0000x0_FFFF                         68 Kbytes
0x15                                                                     72 Kbytes
0x14                           0x0_80000x0_FFFF  No protection          76 Kbytes
0x13                                                                     80 Kbytes
0x12                           0x0_60000x0_FFFF                         84 Kbytes
0x11                                                                     88 Kbytes
0x10                           0x0_40000x0_FFFF                         92 Kbytes
0x0F                                                                     96 Kbytes
0x0E                           0x0_20000x0_FFFF                         98 Kbytes
0x0D                                                                    100 Kbytes
0x0C                           0x0_00000x0_FFFF                        102 Kbytes

  ...                          0x0_00000x0_FFFF 0x1_F0000x1_FFFF             ...
0x05                                                                    116 Kbytes
0x04                           0x0_00000x0_FFFF 0x1_E0000x1_FFFF      118 Kbytes
0x03                                                                    120 Kbytes
0x02                           0x0_00000x0_FFFF 0x1_D0000x1_FFFF      122 Kbytes
0x01                                                                    124 Kbytes
0x00                           0x0_00000x0_FFFF 0x1_C0000x1_FFFF      126 Kbytes
                                                                        128 Kbytes
   -                           0x0_00000x0_FFFF 0x1_B0000x1_FFFF

                               0x0_00000x0_FFFF 0x1_A0000x1_FFFF

                               0x0_00000x0_FFFF 0x1_90000x1_FFFF

                               0x0_00000x0_FFFF 0x1_80000x1_FFFF

                               0x0_00000x0_FFFF 0x1_78000x1_FFFF

                               0x0_00000x0_FFFF 0x1_70000x1_FFFF

                               0x0_00000x0_FFFF 0x1_68000x1_FFFF

                               ...                ...

                               0x0_00000x0_FFFF 0x1_30000x1_FFFF

                               0x0_00000x0_FFFF 0x1_28000x1_FFFF

                               0x0_00000x0_FFFF 0x1_20000x1_FFFF

                               0x0_00000x0_FFFF 0x1_18000x1_FFFF

                               0x0_00000x0_FFFF 0x1_10000x1_FFFF

                               0x0_00000x0_FFFF 0x1_08000x1_FFFF

                               0x0_00000x0_FFFF 0x1_00000x1_FFFF

                               MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                               81
Chapter 4 Memory

4.6.11.5 FLASH and EEPROM Status Register (FSTAT)

            7      6     5                      4  3            2         1  0

    R              FCCF                            0            FBLANK    0  0

            FCBEF        FPVIOL FACCERR

    W

    Reset   1      1     0                      0  0            0         0  0

                   = Unimplemented or Reserved

                   Figure 4-18. FLASH and EEPROM Status Register (FSTAT)

                         Table 4-21. FSTAT Register Field Descriptions

    Field                                          Description

        7   Command Buffer Empty Flag -- The FCBEF bit is used to launch commands. It also indicates that the
    FCBEF   command buffer is empty so that a new command sequence can be executed when performing burst
            programming. The FCBEF bit is cleared by writing a 1 to it or when a burst program command is transferred to
            the array for programming. Only burst program commands can be buffered.
            0 Command buffer is full (not ready for additional commands).
            1 A new burst program command can be written to the command buffer.

       6    Command Complete Flag -- FCCF is set automatically when the command buffer is empty and no command
    FCCF    is being processed. FCCF is cleared automatically when a new command is started (by writing 1 to FCBEF to
            register a command). Writing to FCCF has no meaning or effect.
            0 Command in progress
            1 All commands complete

        5   Protection Violation Flag -- FPVIOL is set automatically when a command that attempts to erase or program
    FPVIOL  a location in a protected block (the erroneous command is ignored). FPVIOL is cleared by writing a 1 to FPVIOL.
            0 No protection violation.
            1 An attempt was made to erase or program a protected location.

      4     Access Error Flag -- FACCERR is set automatically when the proper command sequence is not obeyed exactly
FACCERR     (the erroneous command is ignored), if a program or erase operation is attempted before the FCDIV register has
            been initialized, or if the MCU enters stop while a command was in progress. For a more detailed discussion of
            the exact actions that are considered access errors, see Section 4.6.6, "Access Errors." FACCERR is cleared by
            writing a 1 to FACCERR. Writing a 0 to FACCERR has no meaning or effect.
            0 No access error.
            1 An access error has occurred.

         2  Verified as All Blank (erased) Flag -- FBLANK is set automatically at the conclusion of a blank check command
    FBLANK  if the entire FLASH or EEPROM array was verified to be erased. FBLANK is cleared by clearing FCBEF to write
            a new valid command. Writing to FBLANK has no meaning or effect.
            0 After a blank check command is completed and FCCF = 1, FBLANK = 0 indicates the FLASH or EEPROM

               array is not completely erased.
            1 After a blank check command is completed and FCCF = 1, FBLANK = 1 indicates the FLASH or EEPROM

               array is completely erased (all 0xFFFF).

4.6.11.6 FLASH and EEPROM Command Register (FCMD)

Only six command codes are recognized in normal user modes, as shown in Table 4-22. All other
command codes are illegal and generate an access error. Refer to Section 4.6.3, "Program and Erase

                         MC9S08DZ128 Series Data Sheet, Rev. 1

82                                                                        Freescale Semiconductor
                                                                                   Chapter 4 Memory

Command Execution," for a detailed discussion of FLASH and EEPROM programming and erase
operations.

       7                 6  5                   4         3        2            1        0

R      0                 0  0                   0         0        0            0        0

W                                                  FCMD

Reset  0                 0  0                   0         0        0            0        0

                         Figure 4-19. FLASH and EEPROM Command Register (FCMD)

                            Table 4-22. FLASH and EEPROM Commands

                                 Command           FCMD      Equate File Label
                                Blank check         0x05            mBlank
                               Byte program         0x20
                              Burst program         0x25         mByteProg
                               Sector erase         0x40         mBurstProg
                                Mass erase          0x41       mSectorErase
                            Sector erase abort      0x47        mMassErase
                                                                mEraseAbort

It is not necessary to perform a blank check command after a mass erase operation. Only blank check is
required as part of the security unlocking mechanism.

                            MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                     83
Chapter 4 Memory

                  MC9S08DZ128 Series Data Sheet, Rev. 1

84                                                       Freescale Semiconductor
Chapter 5
Resets, Interrupts, and General System Control

5.1 Introduction

This section discusses basic reset and interrupt mechanisms and their various sources in the
MC9S08DZ128 Series. Some interrupt sources from peripheral modules are discussed in greater detail
within other sections of this data sheet. This section gathers basic information about all reset and interrupt
sources in one place for easy reference. A few reset and interrupt sources, including the computer
operating properly (COP) watchdog, are not part of on-chip peripheral systems with their own chapters.

5.2 Features

Reset and interrupt features include:
    Multiple sources of reset for flexible system configuration and reliable operation
    Reset status register (SRS) to indicate source of most recent reset
    Separate interrupt vector for each module (reduces polling overhead); see Table 5-1

5.3 MCU Reset

Resetting the MCU provides a way to start processing from a known set of initial conditions. During reset,
most control and status registers are forced to initial values and the program counter is loaded from the
reset vector (0xFFFE:0xFFFF). On-chip peripheral modules are disabled and I/O pins are initially
configured as general-purpose high-impedance inputs with pull-up devices disabled. The I bit in the
condition code register (CCR) is set to block maskable interrupts so the user program has a chance to
initialize the stack pointer (SP) and system control settings. (See the CPU chapter for information on the
Interrupt (I) bit.) SP is forced to 0x00FF at reset.

The MC9S08DZ128 Series has eight sources for reset:
    Power-on reset (POR)
    External pin reset (PIN)
    Computer operating properly (COP) timer
    Illegal opcode detect (ILOP)
    Illegal address detect (ILAD)
    Low-voltage detect (LVD)
    Loss of clock (LOC)
    Background debug forced reset (BDFR)

Each of these sources, with the exception of the background debug forced reset, has an associated bit in
the system reset status register (SRS). Whenever the MCU enters reset, the reset pin is driven low for 34

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         85
Chapter 5 Resets, Interrupts, and General System Control

bus cycles. After the 34 cycles are completed, the pin is released and will be pulled up by the internal
pull-up resistor, unless it is held low externally. After the pin is released, it is sampled after another 38
cycles to determine whether the reset pin is the cause of the MCU reset.

5.4 Computer Operating Properly (COP) Watchdog

The COP watchdog is intended to force a system reset when the application software fails to execute as
expected. To prevent a system reset from the COP timer (when it is enabled), application software must
reset the COP counter periodically. If the application program gets lost and fails to reset the COP counter
before it times out, a system reset is generated to force the system back to a known starting point.

After any reset, the COP watchdog is enabled (see Section 5.8.4, "System Options Register 1 (SOPT1),"
for additional information). If the COP watchdog is not used in an application, it can be disabled by
clearing COPT bits in SOPT1.

The COP counter is reset by writing 0x0055 and 0x00AA (in this order) to the address of SRS during the
selected timeout period. Writes do not affect the data in the read-only SRS. As soon as the write sequence
is done, the COP timeout period is restarted. If the program fails to do this during the time-out period, the
MCU will reset. Also, if any value other than 0x0055 or 0x00AA is written to SRS, the MCU is
immediately reset.

The COPCLKS bit in SOPT2 (see Section 5.8.5, "System Options Register 2 (SOPT2)," for additional
information) selects the clock source used for the COP timer. The clock source options are either the bus
clock or an internal 1-kHz clock source. With each clock source, there are three associated time-outs
controlled by the COPT bits in SOPT1. Table 5-6 summarizes the control functions of the COPCLKS and
COPT bits. The COP watchdog defaults to operation from the 1-kHz clock source and the longest time-out
(210 cycles).

When the bus clock source is selected, windowed COP operation is available by setting COPW in the
SOPT2 register. In this mode, writes to the SRS register to clear the COP timer must occur in the last 25%
of the selected timeout period. A premature write immediately resets the MCU. When the 1-kHz clock
source is selected, windowed COP operation is not available.

The COP counter is initialized by the first writes to the SOPT1 and SOPT2 registers and after any system
reset. Subsequent writes to SOPT1 and SOPT2 have no effect on COP operation. Even if the application
will use the reset default settings of COPT, COPCLKS, and COPW bits, the user should write to the
write-once SOPT1 and SOPT2 registers during reset initialization to lock in the settings. This will prevent
accidental changes if the application program gets lost.

The write to SRS that services (clears) the COP counter should not be placed in an interrupt service routine
(ISR) because the ISR could continue to be executed periodically even if the main application program
fails.

If the bus clock source is selected, the COP counter does not increment while the MCU is in background
debug mode or while the system is in stop mode. The COP counter resumes when the MCU exits
background debug mode or stop mode.

    MC9S08DZ128 Series Data Sheet, Rev. 1

86                                         Freescale Semiconductor
                                                                                                           Chapter 5 Resets, Interrupts, and General System Control

If the 1-kHz clock source is selected, the COP counter is re-initialized to zero upon entry to either
background debug mode or stop mode and begins from zero upon exit from background debug mode or
stop mode.

5.5 Interrupts

Interrupts provide a way to save the current CPU status and registers, execute an interrupt service routine
(ISR), and then restore the CPU status so processing resumes where it left off before the interrupt. Other
than the software interrupt (SWI), which is a program instruction, interrupts are caused by hardware events
such as an edge on the IRQ pin or a timer-overflow event. The debug module can also generate an SWI
under certain circumstances.

If an event occurs in an enabled interrupt source, an associated read-only status flag will become set. The
CPU will not respond unless the local interrupt enable is a 1 to enable the interrupt and the I bit in the CCR
is 0 to allow interrupts. The global interrupt mask (I bit) in the CCR is initially set after reset which
prevents all maskable interrupt sources. The user program initializes the stack pointer and performs other
system setup before clearing the I bit to allow the CPU to respond to interrupts.

When the CPU receives a qualified interrupt request, it completes the current instruction before responding
to the interrupt. The interrupt sequence obeys the same cycle-by-cycle sequence as the SWI instruction and
consists of:

    Saving the CPU registers on the stack
    Setting the I bit in the CCR to mask further interrupts
    Fetching the interrupt vector for the highest-priority interrupt that is currently pending
    Filling the instruction queue with the first three bytes of program information starting from the

         address fetched from the interrupt vector locations

While the CPU is responding to the interrupt, the I bit is automatically set to avoid the possibility of another
interrupt interrupting the ISR itself (this is called nesting of interrupts). Normally, the I bit is restored to 0
when the CCR is restored from the value stacked on entry to the ISR. In rare cases, the I bit can be cleared
inside an ISR (after clearing the status flag that generated the interrupt) so that other interrupts can be
serviced without waiting for the first service routine to finish. This practice is not recommended for anyone
other than the most experienced programmers because it can lead to subtle program errors that are difficult
to debug.

The interrupt service routine ends with a return-from-interrupt (RTI) instruction which restores the CCR,
A, X, and PC registers to their pre-interrupt values by reading the previously saved information from the
stack.

                                                           NOTE
                  For compatibility with M68HC08 devices, the H register is not
                  automatically saved and restored. It is good programming practice to push
                  H onto the stack at the start of the interrupt service routine (ISR) and restore
                  it immediately before the RTI that is used to return from the ISR.

If more than one interrupt is pending when the I bit is cleared, the highest priority source is serviced first
(see Table 5-1).

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         87
Chapter 5 Resets, Interrupts, and General System Control

5.5.1 Interrupt Stack Frame

Figure 5-1 shows the contents and organization of a stack frame. Before the interrupt, the stack pointer
(SP) points at the next available byte location on the stack. The current values of CPU registers are stored
on the stack starting with the low-order byte of the program counter (PCL) and ending with the CCR. After
stacking, the SP points at the next available location on the stack which is the address that is one less than
the address where the CCR was saved. The PC value that is stacked is the address of the instruction in the
main program that would have executed next if the interrupt had not occurred.

    UNSTACKING                                            TOWARD LOWER ADDRESSES
       ORDER

              7                                           0

    51             CONDITION CODE REGISTER                   SP AFTER
    42                      ACCUMULATOR                      INTERRUPT STACKING
    33
    24           INDEX REGISTER (LOW BYTE X)*                SP BEFORE
    15               PROGRAM COUNTER HIGH                    THE INTERRUPT
                     PROGRAM COUNTER LOW

    STACKING                                              TOWARD HIGHER ADDRESSES
     ORDER

              * High byte (H) of index register is not automatically stacked.

              Figure 5-1. Interrupt Stack Frame

When an RTI instruction is executed, these values are recovered from the stack in reverse order. As part of
the RTI sequence, the CPU fills the instruction pipeline by reading three bytes of program information,
starting from the PC address recovered from the stack.

The status flag corresponding to the interrupt source must be acknowledged (cleared) before returning
from the ISR. Typically, the flag is cleared at the beginning of the ISR so that if another interrupt is
generated by this same source, it will be registered so it can be serviced after completion of the current ISR.

5.5.2 External Interrupt Request (IRQ) Pin

External interrupts are managed by the IRQ status and control register, IRQSC. When the IRQ function is
enabled, synchronous logic monitors the pin for edge-only or edge-and-level events. When the MCU is in
stop mode and system clocks are shut down, a separate asynchronous path is used so the IRQ (if enabled)
can wake the MCU.

5.5.2.1 Pin Configuration Options

The IRQ pin enable (IRQPE) control bit in IRQSC must be 1 in order for the IRQ pin to act as the interrupt
request (IRQ) input. As an IRQ input, the user can choose the polarity of edges or levels detected
(IRQEDG), whether the pin detects edges-only or edges and levels (IRQMOD), and whether an event
causes an interrupt or only sets the IRQF flag which can be polled by software.

    MC9S08DZ128 Series Data Sheet, Rev. 1

88                                                                                 Freescale Semiconductor
                                                                                                           Chapter 5 Resets, Interrupts, and General System Control

The IRQ pin, when enabled, defaults to use an internal pull device (IRQPDD = 0), the device is a pull-up
or pull-down depending on the polarity chosen. If the user desires to use an external pull-up or pull-down,
the IRQPDD can be written to a 1 to turn off the internal device.

BIH and BIL instructions may be used to detect the level on the IRQ pin when the pin is configured to act
as the IRQ input.

5.5.2.2 Edge and Level Sensitivity

The IRQMOD control bit reconfigures the detection logic so it detects edge events and pin levels. In the
edge and level detection mode, the IRQF status flag becomes set when an edge is detected (when the IRQ
pin changes from the deasserted to the asserted level), but the flag is continuously set (and cannot be
cleared) as long as the IRQ pin remains at the asserted level.

5.5.3 Interrupt Vectors, Sources, and Local Masks

Table 5-1 provides a summary of all interrupt sources. Higher-priority sources are located toward the
bottom of the table. The high-order byte of the address for the interrupt service routine is located at the
first address in the vector address column, and the low-order byte of the address for the interrupt service
routine is located at the next higher address.

When an interrupt condition occurs, an associated flag bit becomes set. If the associated local interrupt
enable is 1, an interrupt request is sent to the CPU. Within the CPU, if the global interrupt mask (I bit in
the CCR) is 0, the CPU will finish the current instruction; stack the PCL, PCH, X, A, and CCR CPU
registers; set the I bit; and then fetch the interrupt vector for the highest priority pending interrupt.
Processing then continues in the interrupt service routine.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         89
Chapter 5 Resets, Interrupts, and General System Control

                                      Table 5-1. Vector Summary1

     Vector   Address         Vector  Module              Source              Enable        Description
    Number   (High/Low)       Name

    56-63    0xFF80/0xFF81 -                                        Reserved
             0xFF8E/0xFF8F
      55     0xFF90/0xFF91    Vportj  Port J                  PTJIF              PTJIE      Port J Pins
      54     0xFF92/0xFF93    Viic1    IIC2                    IICIS              IICIE     IIC2 control
      53     0xFF94/0xFF95    Vspi2   SPI2                SPIF, MODF,    SPIE, SPIE, SPTIE  SPI2
                                                             SPTEF

    52 0xFF96/0xFF97 Vtpm3ovf TPM3                        TOF                 TOIE          TPM3 overflow
    51 0xFF98/0xFF99 Vtpm3ch3 TPM3                                                          TPM3 channel 3
    50 0xFF9A/0xFF9B Vtpm3ch2 TPM3                        CH1F                CH3IE         TPM3 channel 2
    49 0xFF9C/0xFF9D Vtpm3ch1 TPM3                                                          TPM3 channel 1
    48 0xFF9E/0xFF9F Vtpm3ch0 TPM3                        CH0F                CH2IE         TPM3 channel 0
    N/A 0xFFA0 - 0xFFBF
    31 0xFFC0/0xFFC1 Vacmp2 ACMP2                         CH1F                CH1IE         Analog comparator 2
    30 0xFFC2/0xFFC3 Vacmp1 ACMP1                                                           Analog comparator 1
    29 0xFFC4/0xFFC5 Vcantx MSCAN                         CH0F                CH0IE         CAN transmit

                                                          Non-vector space

                                                          ACF                 ACIE

                                                          ACF                 ACIE

                                                          TXE[2:0]            TXEIE[2:0]

    28 0xFFC6/0xFFC7 Vcanrx MSCAN                         RXF                 RXFIE         CAN receive

    27 0xFFC8/0xFFC9 Vcanerr MSCAN CSCIF, OVRIF                          CSCIE, OVRIE CAN errors

    26 0xFFCA/0xFFCB Vcanwu MSCAN                         WUPIF               WUPIE         CAN wake-up

    25 0xFFCC/0xFFCD Vrtc             RTC                 RTIF                RTIE          Real-time interrupt

    24 0xFFCE/0xFFCF Viic1            IIC1                IICIS               IICIE         IIC1 control

    23 0xFFD0/0xFFD1 Vadc             ADC                 COCOF               AIEN          ADC

    22 0xFFD2/0xFFD3          Vport Port A,B,D PTAIF, PTBIF, PTAIE, PTBIE, PTDIE Port A, B and D Pins
                                                                  PTDIF

    21 0xFFD4/0xFFD5 Vsci2tx          SCI2                TDRE, TC            TIE, TCIE     SCI2 transmit

    20 0xFFD6/0xFFD7 Vsci2rx          SCI2                IDLE, LBKDIF, ILIE, LBKDIE, RIE, SCI2 receive

                                                          RDRF, RXEDGIF       RXEDGIE

    19 0xFFD8/0xFFD9 Vsci2err SCI2                        OR, NF         ORIE, NFIE,        SCI2 error
                                                          FE, PF         FEIE, PFIE

    18 0xFFDA/0xFFDB Vsci1tx          SCI1                TDRE, TC            TIE, TCIE     SCI1 transmit

    17 0xFFDC/0xFFDD Vsci1rx          SCI1                IDLE, LBKDIF, ILIE, LBKDIE, RIE, SCI1 receive

                                                          RDRF, RXEDGIF       RXEDGIE

    16 0xFFDE/0xFFDF Vsci1err SCI1                        OR, NF,        ORIE, NFIE,        SCI1 error
                                                          FE, PF         FEIE, PFIE

    15 0xFFE0/0xFFE1 Vspi1            SPI1                SPIF, MODF,    SPIE, SPIE, SPTIE SPI1
                                                             SPTEF

    14 0xFFE2/0xFFE3 Vtpm2ovf TPM2                        TOF                 TOIE          TPM2 overflow

    13 0xFFE4/0xFFE5 Vtpm2ch1 TPM2                        CH1F                CH1IE         TPM2 channel 1

    12 0xFFE6/0xFFE7 Vtpm2ch0 TPM2                        CH0F                CH0IE         TPM2 channel 0

    11 0xFFE8/0xFFE9 Vtpm1ovf TPM1                        TOF                 TOIE          TPM1 overflow

    10 0xFFEA/0xFFEB Vtpm1ch5 TPM1                        CH5F                CH5IE         TPM1 channel 5

    9 0xFFEC/0xFFED Vtpm1ch4 TPM1                         CH4F                CH4IE         TPM1 channel 4

    8 0xFFEE/0xFFEF Vtpm1ch3 TPM1                         CH3F                CH3IE         TPM1 channel 3
    7 0xFFF0/0xFFF1 Vtpm1ch2 TPM1                         CH2F                CH2IE         TPM1 channel 2

                              MC9S08DZ128 Series Data Sheet, Rev. 1

90                                                                                          Freescale Semiconductor
                                                                     Chapter 5 Resets, Interrupts, and General System Control

                                 Table 5-1. Vector Summary1

Vector   Address        Vector  Module                        Source  Enable  Description
Number   (High/Low)      Name

6 0xFFF2/0xFFF3 Vtpm1ch1 TPM1                                  CH1F    CH1IE   TPM1 channel 1

5 0xFFF4/0xFFF5 Vtpm1ch0 TPM1                                  CH0F    CH0IE   TPM1 channel 0

4 0xFFF6/0xFFF7          Vlol    MCG                           LOLS    LOLIE   MCG loss of lock

3 0xFFF8/0xFFF9          Vlvd    System                        LVWF    LVWIE   Low-voltage warning

                                 control

2 0xFFFA/0xFFFB          Virq    IRQ                           IRQF    IRQIE   IRQ pin

1 0xFFFC/0xFFFD Vswi             Core SWI Instruction                  --      Software interrupt

0 0xFFFE/0xFFFF Vreset System                                   COP,   COPT    Watchdog timer
                                                      control   LOC,    CME    Loss-of-clock
                                                                 LVD,  LVDRE   Low-voltage detect
                                                               RESET,          External pin
                                                                ILOP,     --   Illegal opcode
                                                                ILAD,     --   Illegal address
                                                                POR,      --   Power-on-reset
                                                                BDFR      --   BDM-forced reset
                                                                          --

1 Vector priority is shown from lowest (first row) to highest (last row). For example, Vreset is the highest priority vector.

5.6 Low-Voltage Detect (LVD) System

The MC9S08DZ128 Series includes a system to protect against low-voltage conditions in order to protect
memory contents and control MCU system states during supply voltage variations. The system is
comprised of a power-on reset (POR) circuit and a LVD circuit with trip voltages for warning and
detection. The LVD circuit is enabled when LVDE in SPMSC1 is set to 1. The LVD is disabled upon
entering any of the stop modes unless LVDSE is set in SPMSC1. If LVDSE and LVDE are both set, then
the MCU cannot enter stop2 (it will enter stop3 instead), and the current consumption in stop3 with the
LVD enabled will be higher.

5.6.1 Power-On Reset Operation

When power is initially applied to the MCU, or when the supply voltage drops below the power-on reset
rearm voltage level, VPOR, the POR circuit will cause a reset condition. As the supply voltage rises, the
LVD circuit will hold the MCU in reset until the supply has risen above the low-voltage detection low
threshold, VLVDL. Both the POR bit and the LVD bit in SRS are set following a POR.

5.6.2 Low-Voltage Detection (LVD) Reset Operation

The LVD can be configured to generate a reset upon detection of a low-voltage condition by setting
LVDRE to 1. The low-voltage detection threshold is determined by the LVDV bit. After an LVD reset has
occurred, the LVD system will hold the MCU in reset until the supply voltage has risen above the
low-voltage detection threshold. The LVD bit in the SRS register is set following either an LVD reset or
POR.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                                        91
Chapter 5 Resets, Interrupts, and General System Control

5.6.3 Low-Voltage Warning (LVW) Interrupt Operation

The LVD system has a low-voltage warning flag to indicate to the user that the supply voltage is
approaching the low-voltage condition. When a low-voltage warning condition is detected and is
configured for interrupt operation (LVWIE set to 1), LVWF in SPMSC1 will be set and an LVW interrupt
request will occur.

5.7 MCLK Output

The PTA0 pin is shared with the MCLK clock output. If the MCSEL bits are all zeroes, the MCLK clock
is disabled. Setting any of the MCSEL bits causes the PTA0 pin to output a divided version of the internal
MCU bus clock regardless of the state of the port data direction control bit for the pin. The divide ratio is
determined by the MCSEL bits. The slew rate and drive strength for the pin are controlled by PTASE0 and
PTADS0, respectively.

5.8 Reset, Interrupt, and System Control Registers and Control Bits

One 8-bit register in the direct page register space and eight 8-bit registers in the high-page register space
are related to reset and interrupt systems.

Refer to Table 4-2 and Table 4-3 in Chapter 4, "Memory," of this data sheet for the absolute address
assignments for all registers. This section refers to registers and control bits only by their names. A
Freescale-provided equate or header file is used to translate these names into the appropriate absolute
addresses.

Some control bits in the SOPT1 and SPMSC2 registers are related to modes of operation. Although brief
descriptions of these bits are provided here, the related functions are discussed in greater detail in
Chapter 3, "Modes of Operation."

5.8.1 Interrupt Pin Request Status and Control Register (IRQSC)

This direct page register includes status and control bits which are used to configure the IRQ function,
report status, and acknowledge IRQ events.

            7  6       5                    4      3          2                   1        0

         R  0                                      IRQF       0                      IRQMOD
         W                                                                                0
    Reset      IRQPDD  IRQEDG               IRQPE                     IRQIE

                                                              IRQACK

            0  0       0                    0      0          0                   0

               = Unimplemented or Reserved

               Figure 5-2. Interrupt Request Status and Control Register (IRQSC)

                       MC9S08DZ128 Series Data Sheet, Rev. 1

92                                                                    Freescale Semiconductor
                         Chapter 5 Resets, Interrupts, and General System Control

                         Table 5-2. IRQSC Register Field Descriptions

Field                    Description

     6   Interrupt Request (IRQ) Pull Device Disable-- This read/write control bit is used to disable the internal
IRQPDD   pull-up/pull-down device when the IRQ pin is enabled (IRQPE = 1) allowing for an external device to be used.
         0 IRQ pull device enabled if IRQPE = 1.
     5   1 IRQ pull device disabled if IRQPE = 1.
IRQEDG
         Interrupt Request (IRQ) Edge Select -- This read/write control bit is used to select the polarity of edges or
     4   levels on the IRQ pin that cause IRQF to be set. The IRQMOD control bit determines whether the IRQ pin is
IRQPE   sensitive to both edges and levels or only edges. When the IRQ pin is enabled as the IRQ input and is configured
         to detect rising edges, it has a pull-down. When the IRQ pin is enabled as the IRQ input and is configured to
     3   detect falling edges, it has a pull-up.
  IRQF   0 IRQ is falling edge or falling edge/low-level sensitive.
         1 IRQ is rising edge or rising edge/high-level sensitive.
     2
IRQACK   IRQ Pin Enable -- This read/write control bit enables the IRQ pin function. When this bit is set the IRQ pin can
         be used as an interrupt request.
     1   0 IRQ pin function is disabled.
  IRQIE  1 IRQ pin function is enabled.

     0   IRQ Flag -- This read-only status bit indicates when an interrupt request event has occurred.
IRQMOD   0 No IRQ request.
         1 IRQ event detected.

         IRQ Acknowledge -- This write-only bit is used to acknowledge interrupt request events (write 1 to clear IRQF).
         Writing 0 has no meaning or effect. Reads always return 0. If edge-and-level detection is selected (IRQMOD = 1),
         IRQF cannot be cleared while the IRQ pin remains at its asserted level.

         IRQ Interrupt Enable -- This read/write control bit determines whether IRQ events generate an interrupt
         request.
         0 Interrupt request when IRQF set is disabled (use polling).
         1 Interrupt requested whenever IRQF = 1.

         IRQ Detection Mode -- This read/write control bit selects either edge-only detection or edge-and-level
         detection. The IRQEDG control bit determines the polarity of edges and levels that are detected as interrupt
         request events. See Section 5.5.2.2, "Edge and Level Sensitivity" for more details.
         0 IRQ event on falling edges or rising edges only.
         1 IRQ event on falling edges and low levels or on rising edges and high levels.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                93
Chapter 5 Resets, Interrupts, and General System Control

5.8.2 System Reset Status Register (SRS)

This high page register includes read-only status flags to indicate the source of the most recent reset. When
a debug host forces reset by writing 1 to BDFR in the SBDFR register, none of the status bits in SRS will
be set. Writing any value to this register address causes a COP reset when the COP is enabled except the
values 0x55 and 0xAA. Writing a 0x55-0xAA sequence to this address clears the COP watchdog timer
without affecting the contents of this register. The reset state of these bits depends on what caused the
MCU to reset.

             7  6        5        4        3                         2                 1                                     0

    R POR       PIN      COP      ILOP     ILAD                 LOC                    LVD                                   0

    W                    Writing 0x55, 0xAA to SRS address clears COP watchdog timer.

    POR:     1  0        0        0        0                         0                 1                                     0

    LVD:     0  0        0        0        0                         0                 1                                     0

Any other    0  Note(1)  Note(1)  Note(1)  Note(1)                   0                 0                                     0
     reset:

1 Any of these reset sources that are active at the time of reset entry will cause the corresponding bit(s) to be set; bits
   corresponding to sources that are not active at the time of reset entry will be cleared.

                                                 Figure 5-3. System Reset Status (SRS)

                         Table 5-3. SRS Register Field Descriptions

    Field                                                                     Description
      7
             Power-On Reset -- Reset was caused by the power-on detection logic. Because the internal supply voltage was
    POR      ramping up at the time, the low-voltage reset (LVD) status bit is also set to indicate that the reset occurred while
             the internal supply was below the LVD threshold.
      6      0 Reset not caused by POR.
     PIN     1 POR caused reset.

      5      External Reset Pin -- Reset was caused by an active-low level on the external reset pin.
    COP      0 Reset not caused by external reset pin.
             1 Reset came from external reset pin.
      4
    ILOP     Computer Operating Properly (COP) Watchdog -- Reset was caused by the COP watchdog timer timing out.
             This reset source can be blocked by COPT bits = 0:0.
      3      0 Reset not caused by COP timeout.
    ILAD     1 Reset caused by COP timeout.

             Illegal Opcode -- Reset was caused by an attempt to execute an unimplemented or illegal opcode. The STOP
             instruction is considered illegal if stop is disabled by STOPE = 0 in the SOPT register. The BGND instruction is
             considered illegal if active background mode is disabled by ENBDM = 0 in the BDCSC register.
             0 Reset not caused by an illegal opcode.
             1 Reset caused by an illegal opcode.

             Illegal Address -- Reset was caused by an attempt to access either data or an instruction at an unimplemented
             memory address.
             0 Reset not caused by an illegal address.
             1 Reset caused by an illegal address.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

94                                                                                     Freescale Semiconductor
Field                                                                                       Chapter 5 Resets, Interrupts, and General System Control
  2
                                   Table 5-3. SRS Register Field Descriptions
LOC
                                                                         Description
  1
LVD     Loss of Clock -- Reset was caused by a loss of external clock.
        0 Reset not caused by loss of external clock
        1 Reset caused by loss of external clock

        Low-Voltage Detect -- If the LVDRE bit is set and the supply drops below the LVD trip voltage, an LVD reset will
        occur. This bit is also set by POR.
        0 Reset not caused by LVD trip or POR.
        1 Reset caused by LVD trip or POR.

5.8.3 System Background Debug Force Reset Register (SBDFR)

This high page register contains a single write-only control bit. A serial background command such as
WRITE_BYTE must be used to write to SBDFR. Attempts to write this register from a user program are
ignored. Reads always return 0x00.

        7                6  5           4  3                       2                         1  0

R       0                0  0           0  0                       0      0                     0

W                                                                                               BDFR1

Reset:  0                0  0           0  0                       0      0                     0

           = Unimplemented or Reserved

1 BDFR is writable only through serial background debug commands, not from user programs.
                           Figure 5-4. System Background Debug Force Reset Register (SBDFR)

                            Table 5-4. SBDFR Register Field Descriptions

Field                                                                    Description

   0    Background Debug Force Reset -- A serial background command such as WRITE_BYTE can be used to allow
BDFR    an external debug host to force a target system reset. Writing 1 to this bit forces an MCU reset. This bit cannot
        be written from a user program.

                            MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                95
Chapter 5 Resets, Interrupts, and General System Control

5.8.4 System Options Register 1 (SOPT1)

This high page register is a write-once register so only the first write after reset is honored. It can be read
at any time. Any subsequent attempt to write to SOPT1 (intentionally or unintentionally) is ignored to
avoid accidental changes to these sensitive settings. This register should be written during the user's reset
initialization program to set the desired controls even if the desired settings are the same as the reset
settings.

             7                 6  5                       4            3     2   1                      0

    R                                                                        0   0                      0
                       COPT
                                  STOPE                   SCI2PS  IIC1PS
    W

    Reset:   1                 1  0                       0            0     0   0                      0

                = Unimplemented or Reserved

                                  Figure 5-5. System Options Register 1 (SOPT1)

                                  Table 5-5. SOPT1 Register Field Descriptions

    Field                                                    Description

    7:6      COP Watchdog Timeout -- These write-once bits select the timeout period of the COP. COPT along with

COPT[1:0] COPCLKS in SOPT2 defines the COP timeout period. See Table 5-6.

        5    Stop Mode Enable -- This write-once bit is used to enable stop mode. If stop mode is disabled and a user
    STOPE    program attempts to execute a STOP instruction, an illegal opcode reset is forced.
             0 Stop mode disabled.
        4    1 Stop mode enabled.
    SCI2PS
             SCI2 Pin Select-- This write-once bit selects the location of the RxD2 and TxD2 pins of the SCI2 module.
        3    0 TxD2 on PTF0, RxD2 on PTF1.
    IIC1PS   1 TxD2 on PTE6, RxD2 on PTE7.

             IIC1 Pin Select-- This write-once bit selects the location of the SCL1 and SDA1 pins of the IIC1 module.
             0 SCL1 on PTF2, SDA1 on PTF3.
             1 SCL1 on PTE4, SDA1 on PTE5.

                                  Table 5-6. COP Configuration Options

            Control Bits                                  COP Window1 Opens
                                                                 (COPW = 1)
                                  Clock Source                                   COP Overflow Count

    COPCLKS     COPT[1:0]

    N/A                   0:0     N/A                             N/A            COP is disabled

    0                     0:1     1 kHz                           N/A            25 cycles (32 ms2)

    0                     1:0     1 kHz                           N/A            28 cycles (256 ms1)

    0                     1:1     1 kHz                           N/A            210 cycles (1.024 s1)

    1                     0:1     Bus                        6144 cycles         213 cycles

    1                     1:0     Bus                        49,152 cycles       216 cycles

    1                     1:1     Bus                        196,608 cycles      218 cycles

1 Windowed COP operation requires the user to clear the COP timer in the last 25% of the selected timeout period. This column

   displays the minimum number of clock counts required before the COP timer can be reset when in windowed COP mode

   (COPW = 1).
2 Values shown in milliseconds based on tLPO = 1 ms. See tLPO in the appendix Section A.12.1, "Control Timing," for the

   tolerance of this value.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

96                                                                               Freescale Semiconductor
                                                Chapter 5 Resets, Interrupts, and General System Control

5.8.5 System Options Register 2 (SOPT2)

This high page register contains bits to configure MCU specific features on the MC9S08DZ128 Series
devices.

         7               6  5            4      3                  2                      1                  0

R       COPCLKS1 COPW1      0                   0

                                         ADHTS                                            MCSEL

W

Reset:   0               0  0            0      0                  0                      0      0

            = Unimplemented or Reserved

                                           Figure 5-6. System Options Register 2 (SOPT2)
1 This bit can be written only one time after reset. Additional writes are ignored.

                            Table 5-7. SOPT2 Register Field Descriptions

Field                                       Description

      7  COP Watchdog Clock Select -- This write-once bit selects the clock source of the COP watchdog. See
COPCLKS  Table 5-6 for details.
         0 Internal 1-kHz clock is source to COP.
         1 Bus clock is source to COP.

   6     COP Window -- This write-once bit selects the COP operation mode. When set, the 0x55-0xAA write sequence
COPW     to the SRS register must occur in the last 25% of the selected period. Any write to the SRS register during the
         first 75% of the selected period will reset the MCU.
         0 Normal COP operation.
         1 Window COP operation (only if COPCLKS=1).

    4    ADC Hardware Trigger Select -- This bit selects which hardware trigger initiates conversion for the analog to
ADHTS    digital converter when the ADC hardware trigger is enabled (ADCTRG is set in ADCSC2 register).
         0 Real Time Counter (RTC) overflow.
         1 External Interrupt Request (IRQ) pin.

   2:0   MCLK Divide Select-- These bits enable the MCLK output on PTA0 pin and select the divide ratio for the MCLK
MCSEL    output according to the formula below when the MCSEL bits are not equal to all zeroes. In case that the MCSEL
         bits are all zeroes, the MCLK output is disabled.

                                        MCLK frequency = Bus Clock frequency (2 * MCSEL)

                            MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                         97
Chapter 5 Resets, Interrupts, and General System Control

5.8.6 System Device Identification Register (SDIDH, SDIDL)

These high page read-only registers are included so host development systems can identify the HCS08
derivative and revision number. This allows the development software to recognize where specific memory
blocks, registers, and control bits are located in a target MCU.

                   7  6              5             4    3                2                             1    0

    R                      Reserved                     ID11      ID10                                 ID9  ID8

    W

    Reset:    01      01             01            01   0                0                             0    0

                      = Unimplemented or Reserved

1 The revision number that is hard coded into these bits reflects the current silicon revision level.
                              Figure 5-7. System Device Identification Register -- High (SDIDH)

                           Table 5-8. SDIDH Register Field Descriptions

     Field                                                                     Description

       3:0    Part Identification Number -- MC9S08DZ128 Series MCUs are hard-coded to the value 0x0019. See also ID
    ID[11:8]  bits in Table 5-9.

              7       6              5             4    3                2                             1    0

          R   ID7     ID6            ID5           ID4  ID3       ID2                                  ID1  ID0
         W
    Reset:    0       0              0             1    1                0                             0    1

      Field           = Unimplemented or Reserved
        7:0
     ID[7:0]          Figure 5-8. System Device Identification Register -- Low (SDIDL)

                           Table 5-9. SDIDL Register Field Descriptions

                                                                               Description

              Part Identification Number -- MC9S08DZ128 Series MCUs are hard-coded to the value 0x0019. See also ID
              bits in Table 5-8.

                           MC9S08DZ128 Series Data Sheet, Rev. 1

98                                                                          Freescale Semiconductor
                                                                                                           Chapter 5 Resets, Interrupts, and General System Control

5.8.7 System Power Management Status and Control 1 Register
            (SPMSC1)

This high page register contains status and control bits to support the low-voltage detect function, and to
enable the bandage voltage reference for use by the ADC and ACMP modules. This register should be
written during the user's reset initialization program to set the desired controls even if the desired settings
are the same as the reset settings.

        7                6       5      4       3                       2      1  0

R LVWF1                  0              LVDRE2                          LVDE2  0

                                 LVWIE          LVDSE                             BGBE

W                        LVWACK

Reset:  0                0       0      1       1                       1      0  0

           = Unimplemented or Reserved

1 LVWF will be set in the case when VSupply transitions below the trip point or after reset and VSupply is already below VLVW.
2 This bit can be written only one time after reset. Additional writes are ignored.

                   Figure 5-9. System Power Management Status and Control 1 Register (SPMSC1)

                            Table 5-10. SPMSC1 Register Field Descriptions

Field                                      Description

     7  Low-Voltage Warning Flag -- The LVWF bit indicates the low-voltage warning status.
  LVWF  0 low-voltage warning is not present.
        1 low-voltage warning is present or was present.
     6
LVWACK  Low-Voltage Warning Acknowledge -- If LVWF = 1, a low-voltage condition has occurred. To acknowledge this
        low-voltage warning, write 1 to LVWACK, which will automatically clear LVWF to 0 if the low-voltage warning is
     5  no longer present.
LVWIE
        Low-Voltage Warning Interrupt Enable -- This bit enables hardware interrupt requests for LVWF.
     4  0 Hardware interrupt disabled (use polling).
LVDRE  1 Request a hardware interrupt when LVWF = 1.

     3  Low-Voltage Detect Reset Enable -- This write-once bit enables LVD events to generate a hardware reset
LVDSE  (provided LVDE = 1).
        0 LVD events do not generate hardware resets.
     2  1 Force an MCU reset when an enabled low-voltage detect event occurs.
  LVDE
        Low-Voltage Detect Stop Enable -- Provided LVDE = 1, this read/write bit determines whether the low-voltage
     0  detect function operates when the MCU is in stop mode.
BGBE   0 Low-voltage detect disabled during stop mode.
        1 Low-voltage detect enabled during stop mode.

        Low-Voltage Detect Enable -- This write-once bit enables low-voltage detect logic and qualifies the operation
        of other bits in this register.
        0 LVD logic disabled.
        1 LVD logic enabled.

        Bandgap Buffer Enable -- This bit enables an internal buffer for the bandgap voltage reference for use by the
        ADC and ACMP modules on one of its internal channels.
        0 Bandgap buffer disabled.
        1 Bandgap buffer enabled.

                                 MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                                         99
Chapter 5 Resets, Interrupts, and General System Control

5.8.8 System Power Management Status and Control 2 Register
            (SPMSC2)

This register is used to report the status of the low-voltage warning function, and to configure the stop
mode behavior of the MCU. This register should be written during the user's reset initialization program
to set the desired controls even if the desired settings are the same as the reset settings.

                  7       6     5                         4         3     2                       1      0

            R     0       0     LVDV1                           PPDF      0                       0  PPDC2

                                                          LVWV     0                                    0
                                                                   0                                    0
            W                                                      0      PPDACK                        0

Power-on Reset:   0       0     0                         0               0                       0

     LVD Reset:   0       0     u                         u               0                       0

Any other Reset:  0       0     u                         u               0                       0

                     = Unimplemented or Reserved                          u = Unaffected by reset

1 This bit can be written only one time after power-on reset. Additional writes are ignored.
2 This bit can be written only one time after reset. Additional writes are ignored.

                 Figure 5-10. System Power Management Status and Control 2 Register (SPMSC2)

                          Table 5-11. SPMSC2 Register Field Descriptions

     Field                                                   Description

     5      Low-Voltage Detect Voltage Select -- This write-once bit selects the low-voltage detect (LVD) trip point setting.
  LVDV      It also selects the warning voltage range. See Table 5-12.

     4      Low-Voltage Warning Voltage Select -- This bit selects the low-voltage warning (LVW) trip point voltage. See
LVWV       Table 5-12.

     3      Partial Power Down Flag -- This read-only status bit indicates that the MCU has recovered from stop2 mode.
  PPDF      0 MCU has not recovered from stop2 mode.
            1 MCU recovered from stop2 mode.
     2
PPDACK      Partial Power Down Acknowledge -- Writing a 1 to PPDACK clears the PPDF bit.

     0      Partial Power Down Control -- This write-once bit controls whether stop2 or stop3 mode is selected.
PPDC       0 Stop3 mode enabled.
            1 Stop2, partial power down, mode enabled.

                     Table 5-12. LVD and LVW Trip Point Typical Values1

                     LVDV:LVWV  LVW Trip Point                            LVD Trip Point

                     0:0           VLVW0 = 2.74 V                         VLVD0 = 2.56 V

                     0:1           VLVW1 = 2.92 V

                     1:0           VLVW2 = 4.3 V                          VLVD1 = 4.0 V

                     1:1           VLVW3 = 4.6 V

                  1 See Appendix A, "Electrical Characteristics" for minimum and maximum values.

                                MC9S08DZ128 Series Data Sheet, Rev. 1

100                                                                                       Freescale Semiconductor
Chapter 6
Parallel Input/Output Control

This section explains software controls related to parallel input/output (I/O) and pin control. The
MC9S08DZ128 Series has up to 11 parallel I/O ports which include a total of up to 87 I/O pins and one
input-only pin. See Chapter 2, "Pins and Connections," for more information about pin assignments and
external hardware considerations of these pins.

Many of these pins are shared with on-chip peripherals such as timer systems, communication systems, or
pin interrupts as shown in Table 2-1. The peripheral modules have priority over the general-purpose I/O
functions so that when a peripheral is enabled, the I/O functions associated with the shared pins are
disabled.

After reset, the shared peripheral functions are disabled and the pins are configured as inputs
(PTxDDn = 0). The pin control functions for each pin are configured as follows: slew rate control enabled
(PTxSEn = 1), low drive strength selected (PTxDSn = 0), and internal pull-ups disabled (PTxPEn = 0).

                                                           NOTE
                  Not all general-purpose I/O pins are available on all packages. To avoid
                  extra current drain from floating input pins, the user's reset initialization
                  routine in the application program must either enable on-chip pull-up
                  devices or change the direction of unconnected pins to outputs so the pins
                  do not float.

6.1 Port Data and Data Direction

Reading and writing of parallel I/Os are performed through the port data registers. The direction, either
input or output, is controlled through the port data direction registers. The parallel I/O port function for an
individual pin is illustrated in the block diagram shown in Figure 6-1.

The data direction control bit (PTxDDn) determines whether the output buffer for the associated pin is
enabled, and also controls the source for port data register reads. The input buffer for the associated pin is
always enabled unless the pin is enabled as an analog function or is an output-only pin.

When a shared digital function is enabled for a pin, the output buffer is controlled by the shared function.
However, the data direction register bit will continue to control the source for reads of the port data register.

When a shared analog function is enabled for a pin, both the input and output buffers are disabled. A value
of 0 is read for any port data bit where the bit is an input (PTxDDn = 0) and the input buffer is disabled.
In general, whenever a pin is shared with both an alternate digital function and an analog function, the
analog function has priority such that if both the digital and analog functions are enabled, the analog
function controls the pin.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         101
Chapter 6 Parallel Input/Output Control

It is a good programming practice to write to the port data register before changing the direction of a port
pin to become an output. This ensures that the pin will not be driven momentarily with an old data value
that happened to be in the port data register.

                                         PTxDDn                                                Output Enable

                                         DQ

                                         PTxDn                                                 Output Data

                                         DQ

                                                 1

     Port Read
        Data

                                                 0                               Synchronizer  Input Data

     BUSCLK

                                         Figure 6-1. Parallel I/O Block Diagram

6.2 Pull-up, Slew Rate, and Drive Strength

Associated with the parallel I/O ports is a set of registers located in the high page register space that operate
independently of the parallel I/O registers. These registers are used to control pull-ups, slew rate, and drive
strength for the pins.

An internal pull-up device can be enabled for each port pin by setting the corresponding bit in the pull-up
enable register (PTxPEn). The pull-up device is disabled if the pin is configured as an output by the parallel
I/O control logic or any shared peripheral function regardless of the state of the corresponding pull-up
enable register bit. The pull-up device is also disabled if the pin is controlled by an analog function.

Slew rate control can be enabled for each port pin by setting the corresponding bit in the slew rate control
register (PTxSEn). When enabled, slew control limits the rate at which an output can transition in order to
reduce EMC emissions. Slew rate control has no effect on pins that are configured as inputs.

                                                           NOTE
                  Slew rate reset default values may differ between engineering samples and
                  final production parts. Always initialize slew rate control to the desired
                  value to ensure correct operation.

An output pin can be selected to have high output drive strength by setting the corresponding bit in the
drive strength select register (PTxDSn). When high drive is selected, a pin is capable of sourcing and
sinking greater current. Even though every I/O pin can be selected as high drive, the user must ensure that
the total current source and sink limits for the MCU are not exceeded. Drive strength selection is intended
to affect the DC behavior of I/O pins. However, the AC behavior is also affected. High drive allows a pin

                                         MC9S08DZ128 Series Data Sheet, Rev. 1

102                                                                                            Freescale Semiconductor
                                                                                                                                      Chapter 6 Parallel Input/Output Control

to drive a greater load with the same switching speed as a low drive enabled pin into a smaller load.
Because of this, the EMC emissions may be affected by enabling pins as high drive.

6.3 Pin Interrupts

Port A, port B, port D, and port J pins can be configured as external interrupt inputs and as an external
means of waking the MCU from stop or wait low-power modes.

The block diagram for each port interrupt logic is shown Figure 6-2.

        1                VDD            PTxACK                       BUSCLK
                               D CLR Q  RESET                                          PTxIF
                                CK
PTxn    0S  PTxPS0                                                 SYNCHRONIZER

PTxES0

                                            PORT                STOP STOP BYPASS              PTx
                                        INTERRUPT FF                                          INTERRUPT
        1                                                                                     REQUEST

PTxn    0S  PTxPSn       PTxMOD

                                                                   PTxIE

PTxESn

                         Figure 6-2. Port Interrupt Block Diagram

Writing to the PTxPSn bits in the port interrupt pin select register (PTxPS) independently enables or
disables each port pin. Each port can be configured as edge sensitive or edge and level sensitive based on
the PTxMOD bit in the port interrupt status and control register (PTxSC). Edge sensitivity can be software
programmed to be either falling or rising; the level can be either low or high. The polarity of the edge or
edge and level sensitivity is selected using the PTxESn bits in the port interrupt edge select register
(PTxES).

Synchronous logic is used to detect edges. Prior to detecting an edge, enabled port inputs must be at the
deasserted logic level. A falling edge is detected when an enabled port input signal is seen as a logic 1 (the
deasserted level) during one bus cycle and then a logic 0 (the asserted level) during the next cycle. A rising
edge is detected when the input signal is seen as a logic 0 during one bus cycle and then a logic 1 during
the next cycle.

6.3.1 Edge Only Sensitivity

A valid rising or falling edge on an enabled port pin will set PTxIF in PTxSC. If PTxIE in PTxSC is set,
an interrupt request will be presented to the CPU. Clearing of PTxIF is accomplished by writing a 1 to
PTxACK in PTxSC.

6.3.2 Edge and Level Sensitivity

A valid edge or level on an enabled port pin will set PTxIF in PTxSC. If PTxIE in PTxSC is set, an interrupt
request will be presented to the CPU. Clearing of PTxIF is accomplished by writing a 1 to PTxACK in

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                  103
Chapter 6 Parallel Input/Output Control

PTxSC provided all enabled port inputs are at their deasserted levels. PTxIF will remain set if any enabled
port pin is asserted while attempting to clear by writing a 1 to PTxACK.

6.3.3 Pull-up/Pull-down Resistors

The port interrupt pins can be configured to use an internal pull-up/pull-down resistor using the associated
I/O port pull-up enable register. If an internal resistor is enabled, the PTxES register is used to select
whether the resistor is a pull-up (PTxESn = 0) or a pull-down (PTxESn = 1).

6.3.4 Pin Interrupt Initialization

When an interrupt pin is first enabled, it is possible to get a false interrupt flag. To prevent a false interrupt
request during pin interrupt initialization, the user should do the following:

    1. Mask interrupts by clearing PTxIE in PTxSC.
    2. Select the pin polarity by setting the appropriate PTxESn bits in PTxES.
    3. If using internal pull-up/pull-down device, configure the associated pull enable bits in PTxPE.
    4. Enable the interrupt pins by setting the appropriate PTxPSn bits in PTxPS.
    5. Write to PTxACK in PTxSC to clear any false interrupts.
    6. Set PTxIE in PTxSC to enable interrupts.

6.4 Pin Behavior in Stop Modes

Pin behavior following execution of a STOP instruction depends on the stop mode that is entered. An
explanation of pin behavior for the various stop modes follows:

    Stop2 mode is a partial power-down mode, whereby I/O latches are maintained in their state as
         before the STOP instruction was executed. CPU register status and the state of I/O registers should
         be saved in RAM before the STOP instruction is executed to place the MCU in stop2 mode. Upon
         recovery from stop2 mode, before accessing any I/O, the user should examine the state of the PPDF
         bit in the SPMSC2 register. If the PPDF bit is 0, I/O must be initialized as if a power on reset had
         occurred. If the PPDF bit is 1, peripherals may require initialization to be restored to their pre-stop
         condition. This can be done using data previously stored in RAM if it was saved before the STOP
         instruction was executed. The user must then write a 1 to the PPDACK bit in the SPMSC2 register.
         Access to I/O is now permitted again in the user application program.

    In stop3 mode, all I/O is maintained because internal logic circuity stays powered up. Upon
         recovery, normal I/O function is available to the user.

6.5 Parallel I/O and Pin Control Registers

This section provides information about the registers associated with the parallel I/O ports. The data and
data direction registers are located in page zero of the memory map. The pull up, slew rate, drive strength,
and interrupt control registers are located in the high page section of the memory map.

Refer to tables in Chapter 4, "Memory," for the absolute address assignments for all parallel I/O and their
pin control registers. This section refers to registers and control bits only by their names. A Freescale

     MC9S08DZ128 Series Data Sheet, Rev. 1

104                                         Freescale Semiconductor
                                                                                                                                      Chapter 6 Parallel Input/Output Control

Semiconductor-provided equate or header file normally is used to translate these names into the
appropriate absolute addresses.

6.5.1 Port A Registers

Port A is controlled by the registers listed below.

6.5.1.1 Port A Data Register (PTAD)

      R          7            6        5        4        3                      2       1        0
     W
Reset:      PTAD7        PTAD6    PTAD5    PTAD4    PTAD3                  PTAD2   PTAD1    PTAD0
               0                                                                      0        0
                         0        0        0        0                          0

                                  Figure 6-3. Port A Data Register (PTAD)

                                  Table 6-1. PTAD Register Field Descriptions

Field                                         Description

    7:0     Port A Data Register Bits -- For port A pins that are inputs, reads return the logic level on the pin. For port A
PTAD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port A pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTAD to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
            all port pins as high-impedance inputs with pull-ups/pull-downs disabled.

6.5.1.2 Port A Data Direction Register (PTADD)

      R          7             6        5        4        3                    2         1        0
     W
Reset:     PTADD7        PTADD6   PTADD5   PTADD4   PTADD3               PTADD2    PTADD1   PTADD0
               0                                                                       0        0
                         0        0        0        0                          0

                            Figure 6-4. Port A Data Direction Register (PTADD)

                                  Table 6-2. PTADD Register Field Descriptions

Field                                         Description

     7:0    Data Direction for Port A Bits -- These read/write bits control the direction of port A pins and what is read for
PTADD[7:0]  PTAD reads.
            0 Input (output driver disabled) and reads return the pin value.
            1 Output driver enabled for port A bit n and PTAD reads return the contents of PTADn.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                     105
Chapter 6 Parallel Input/Output Control

6.5.1.3 Port A Pull Enable Register (PTAPE)

      R           7        6        5        4        3                    2             1        0
     W
Reset:      PTAPE7   PTAPE6   PTAPE5   PTAPE4   PTAPE3               PTAPE2        PTAPE1   PTAPE0
                0                                                                               0
                     0        0        0        0                    0             0

                     Figure 6-5. Internal Pull Enable for Port A Register (PTAPE)

                              Table 6-3. PTAPE Register Field Descriptions

     Field                                Description

     7:0    Internal Pull Enable for Port A Bits -- Each of these control bits determines if the internal pull-up or pull-down
PTAPE[7:0]  device is enabled for the associated PTA pin. For port A pins that are configured as outputs, these bits have no
            effect and the internal pull devices are disabled.
            0 Internal pull-up/pull-down device disabled for port A bit n.
            1 Internal pull-up/pull-down device enabled for port A bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.1.4 Port A Slew Rate Enable Register (PTASE)

      R           7        6        5        4        3                    2             1        0
     W
Reset:      PTASE7   PTASE6   PTASE5   PTASE4   PTASE3               PTASE2        PTASE1   PTASE0
                0                                                                               0
                     0        0        0        0                    0             0

                     Figure 6-6. Slew Rate Enable for Port A Register (PTASE)

                              Table 6-4. PTASE Register Field Descriptions

     Field                                Description

     7:0    Output Slew Rate Enable for Port A Bits -- Each of these control bits determines if the output slew rate control
PTASE[7:0]  is enabled for the associated PTA pin. For port A pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port A bit n.
            1 Output slew rate control enabled for port A bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

106                                                                                Freescale Semiconductor
6.5.1.5                                                                                                                   Chapter 6 Parallel Input/Output Control

            Port A Drive Strength Selection Register (PTADS)

      R        7               6        5            4        3                2        1        0
     W
Reset:   PTADS7          PTADS6   PTADS5       PTADS4   PTADS3           PTADS2   PTADS1   PTADS0
             0                                                                                 0
                         0        0            0        0                0          0

                  Figure 6-7. Drive Strength Selection for Port A Register (PTADS)

                                  Table 6-5. PTADS Register Field Descriptions

Field                                             Description

     7:0    Output Drive Strength Selection for Port A Bits -- Each of these control bits selects between low and high
PTADS[7:0]  output drive for the associated PTA pin. For port A pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port A bit n.
            1 High output drive strength selected for port A bit n.

6.5.1.6 Port A Interrupt Status and Control Register (PTASC)

            7            6        5            4        3                2          1      0

R           0            0        0            0        PTAIF            0

                                                                                    PTAIE  PTAMOD

W                                                                        PTAACK

Reset:      0            0        0            0        0                0          0      0

                  = Unimplemented or Reserved

                  Figure 6-8. Port A Interrupt Status and Control Register (PTASC)

                                  Table 6-6. PTASC Register Field Descriptions

Field                                             Description

     3      Port A Interrupt Flag -- PTAIF indicates when a port A interrupt is detected. Writes have no effect on PTAIF.
  PTAIF     0 No port A interrupt detected.
            1 Port A interrupt detected.
     2
PTAACK      Port A Interrupt Acknowledge -- Writing a 1 to PTAACK is part of the flag clearing mechanism. PTAACK
            always reads as 0.
     1
  PTAIE     Port A Interrupt Enable -- PTAIE determines whether a port A interrupt is requested.
            0 Port A interrupt request not enabled.
     0      1 Port A interrupt request enabled.
PTAMOD
            Port A Detection Mode -- PTAMOD (along with the PTAES bits) controls the detection mode of the port A
            interrupt pins.
            0 Port A pins detect edges only.
            1 Port A pins detect both edges and levels.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                       107
Chapter 6 Parallel Input/Output Control

6.5.1.7 Port A Interrupt Pin Select Register (PTAPS)

      R           7        6        5             4        3               2         1        0
     W
Reset:      PTAPS7   PTAPS6   PTAPS5        PTAPS4   PTAPS3          PTAPS2    PTAPS1   PTAPS0
                0                                                                           0
                     0                   0  0        0               0         0

                     Figure 6-9. Port A Interrupt Pin Select Register (PTAPS)

                              Table 6-7. PTAPS Register Field Descriptions

     Field                                     Description

     7:0    Port A Interrupt Pin Selects -- Each of the PTAPSn bits enable the corresponding port A interrupt pin.

PTAPS[7:0] 0 Pin not enabled as interrupt.

            1 Pin enabled as interrupt.

6.5.1.8 Port A Interrupt Edge Select Register (PTAES)

      R           7        6        5             4        3               2         1        0
     W
Reset:      PTAES7   PTAES6   PTAES5        PTAES4   PTAES3          PTAES2    PTAES1   PTAES0
                0                                                                  0        0
                     0                   0  0        0               0

                        Figure 6-10. Port A Edge Select Register (PTAES)

                              Table 6-8. PTAES Register Field Descriptions

     Field                                     Description

     7:0    Port A Edge Selects -- Each of the PTAESn bits serves a dual purpose by selecting the polarity of the active
PTAES[7:0]  interrupt edge as well as selecting a pull-up or pull-down device if enabled.
            0 A pull-up device is connected to the associated pin and detects falling edge/low level for interrupt generation.
            1 A pull-down device is connected to the associated pin and detects rising edge/high level for interrupt

               generation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

108                                                                            Freescale Semiconductor
                                                                               Chapter 6 Parallel Input/Output Control

6.5.2 Port B Registers

Port B is controlled by the registers listed below.

6.5.2.1 Port B Data Register (PTBD)

      R         7             6        5        4            3                    2        1           0
     W
Reset:     PTBD7         PTBD6    PTBD5    PTBD4        PTBD3                PTBD2    PTBD1       PTBD0
               0                                                                          0           0
                         0        0                  0  0                      0

                                  Figure 6-11. Port B Data Register (PTBD)

                                  Table 6-9. PTBD Register Field Descriptions

Field                                                   Description

    7:0    Port B Data Register Bits -- For port B pins that are inputs, reads return the logic level on the pin. For port B
PTBD[7:0]  pins that are configured as outputs, reads return the last value written to this register.
           Writes are latched into all bits of this register. For port B pins that are configured as outputs, the logic level is
           driven out the corresponding MCU pin.
           Reset forces PTBD to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
           all port pins as high-impedance inputs with pull-ups/pull-downs disabled.

6.5.2.2 Port B Data Direction Register (PTBDD)

      R          7             6        5        4            3                    2        1           0
     W
Reset:     PTBDD7        PTBDD6   PTBDD5   PTBDD4       PTBDD3               PTBDD2   PTBDD1      PTBDD0
                0                                                                          0           0
                         0        0                  0  0                      0

                            Figure 6-12. Port B Data Direction Register (PTBDD)

                                 Table 6-10. PTBDD Register Field Descriptions

Field                                                   Description

7:0        Data Direction for Port B Bits -- These read/write bits control the direction of port B pins and what is read for

PTBDD[7:0] PTBD reads.

           0 Input (output driver disabled) and reads return the pin value.

           1 Output driver enabled for port B bit n and PTBD reads return the contents of PTBDn.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                           109
Chapter 6 Parallel Input/Output Control

6.5.2.3 Port B Pull Enable Register (PTBPE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTBPE7   PTBPE6   PTBPE5   PTBPE4   PTBPE3               PTBPE2         PTBPE1   PTBPE0
                0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-13. Internal Pull Enable for Port B Register (PTBPE)

                        Table 6-11. PTBPE Register Field Descriptions

     Field                                Description

     7:0    Internal Pull Enable for Port B Bits -- Each of these control bits determines if the internal pull-up or pull-down
PTBPE[7:0]  device is enabled for the associated PTB pin. For port B pins that are configured as outputs, these bits have no
            effect and the internal pull devices are disabled.
            0 Internal pull-up/pull-down device disabled for port B bit n.
            1 Internal pull-up/pull-down device enabled for port B bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.2.4 Port B Slew Rate Enable Register (PTBSE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTBSE7   PTBSE6   PTBSE5   PTBSE4   PTBSE3               PTBSE2         PTBSE1   PTBSE0
                0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-14. Slew Rate Enable for Port B Register (PTBSE)

                        Table 6-12. PTBSE Register Field Descriptions

     Field                                Description

     7:0    Output Slew Rate Enable for Port B Bits -- Each of these control bits determines if the output slew rate control
PTBSE[7:0]  is enabled for the associated PTB pin. For port B pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port B bit n.
            1 Output slew rate control enabled for port B bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

110                                                                                 Freescale Semiconductor
6.5.2.5                                                                                                                   Chapter 6 Parallel Input/Output Control

            Port B Drive Strength Selection Register (PTBDS)

               7               6        5            4        3                2        1                      0

R                        PTBDS6   PTBDS5       PTBDS4   PTBDS3           PTBDS2   PTBDS1                 PTBDS0
       PTBDS7                                                                                                 0

W

Reset:      0            0        0            0        0                0                        0

                  Figure 6-15. Drive Strength Selection for Port B Register (PTBDS)

                            Table 6-13. PTBDS Register Field Descriptions

Field                                             Description

     7:0    Output Drive Strength Selection for Port B Bits -- Each of these control bits selects between low and high
PTBDS[7:0]  output drive for the associated PTB pin. For port B pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port B bit n.
            1 High output drive strength selected for port B bit n.

6.5.2.6 Port B Interrupt Status and Control Register (PTBSC)

            7            6        5            4        3                2                        1      0

      R     0            0        0            0        PTBIF            0
     W
Reset:                                                                                            PTBIE  PTBMOD

                                                                         PTBACK

            0            0        0            0        0                0                        0      0

                  = Unimplemented or Reserved

                  Figure 6-16. Port B Interrupt Status and Control Register (PTBSC)

                            Table 6-14. PTBSC Register Field Descriptions

Field                                             Description

   3        Port B Interrupt Flag -- PTBIF indicates when a Port B interrupt is detected. Writes have no effect on PTBIF.
PTBIF       0 No Port B interrupt detected.
            1 Port B interrupt detected.

2           Port B Interrupt Acknowledge -- Writing a 1 to PTBACK is part of the flag clearing mechanism. PTBACK

PTBACK always reads as 0.

   1        Port B Interrupt Enable -- PTBIE determines whether a port B interrupt is requested.
PTBIE       0 Port B interrupt request not enabled.
            1 Port B interrupt request enabled.

     0      Port B Detection Mode -- PTBMOD (along with the PTBES bits) controls the detection mode of the port B
PTBMOD      interrupt pins.
            0 Port B pins detect edges only.
            1 Port B pins detect both edges and levels.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                            111
Chapter 6 Parallel Input/Output Control

6.5.2.7 Port B Interrupt Pin Select Register (PTBPS)

      R           7        6        5             4        3               2          1        0
     W
Reset:      PTBPS7   PTBPS6   PTBPS5        PTBPS4   PTBPS3          PTBPS2     PTBPS1   PTBPS0
                0                                                                            0
                     0                   0  0        0               0          0

                     Figure 6-17. Port B Interrupt Pin Select Register (PTBPS)

                        Table 6-15. PTBPS Register Field Descriptions

     Field                                     Description

     7:0    Port B Interrupt Pin Selects -- Each of the PTBPSn bits enable the corresponding port B interrupt pin.

PTBPS[7:0] 0 Pin not enabled as interrupt.

            1 Pin enabled as interrupt.

6.5.2.8 Port B Interrupt Edge Select Register (PTBES)

      R           7        6        5             4        3               2          1        0
     W
Reset:      PTBES7   PTBES6   PTBES5        PTBES4   PTBES3          PTBES2     PTBES1   PTBES0
                0                                                                   0        0
                     0                   0  0        0               0

                        Figure 6-18. Port B Edge Select Register (PTBES)

                        Table 6-16. PTBES Register Field Descriptions

     Field                                     Description

     7:0    Port B Edge Selects -- Each of the PTBESn bits serves a dual purpose by selecting the polarity of the active
PTBES[7:0]  interrupt edge as well as selecting a pull-up or pull-down device if enabled.
            0 A pull-up device is connected to the associated pin and detects falling edge/low level for interrupt generation.
            1 A pull-down device is connected to the associated pin and detects rising edge/high level for interrupt

               generation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

112                                                                             Freescale Semiconductor
                                                                             Chapter 6 Parallel Input/Output Control

6.5.3 Port C Registers

Port C is controlled by the registers listed below.

6.5.3.1 Port C Data Register (PTCD)

      R         7             6        5        4            3                    2        1           0
     W
Reset:     PTCD7         PTCD6    PTCD5    PTCD4        PTCD3                PTCD2    PTCD1       PTCD0
               0                                                                          0           0
                         0        0                  0  0                    0

                                  Figure 6-19. Port C Data Register (PTCD)

                                  Table 6-17. PTCD Register Field Descriptions

Field                                                   Description

    7:0    Port C Data Register Bits -- For port C pins that are inputs, reads return the logic level on the pin. For port C
PTCD[7:0]  pins that are configured as outputs, reads return the last value written to this register.
           Writes are latched into all bits of this register. For port C pins that are configured as outputs, the logic level is
           driven out the corresponding MCU pin.
           Reset forces PTCD to all 0s, but these 0s are not driven out the corresponding pins because reset also
           configures all port pins as high-impedance inputs with pull-ups disabled.

6.5.3.2 Port C Data Direction Register (PTCDD)

      R        7               6        5        4            3                    2        1           0
     W
Reset:   PTCDD7          PTCDD6   PTCDD5   PTCDD4       PTCDD3               PTCDD2   PTCDD1      PTCDD0
              0                                                                            0           0
                         0        0                  0  0                    0

                            Figure 6-20. Port C Data Direction Register (PTCDD)

                                 Table 6-18. PTCDD Register Field Descriptions

Field                                                   Description

7:0        Data Direction for Port C Bits -- These read/write bits control the direction of port C pins and what is read for

PTCDD[7:0] PTCD reads.

           0 Input (output driver disabled) and reads return the pin value.

           1 Output driver enabled for port C bit n and PTCD reads return the contents of PTCDn.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                           113
Chapter 6 Parallel Input/Output Control

6.5.3.3 Port C Pull Enable Register (PTCPE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTCPE7   PTCPE6   PTCPE5   PTCPE4   PTCPE3               PTCPE2         PTCPE1   PTCPE0
                 0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-21. Internal Pull Enable for Port C Register (PTCPE)

                        Table 6-19. PTCPE Register Field Descriptions

     Field                                Description

     7:0    Internal Pull Enable for Port C Bits -- Each of these control bits determines if the internal pull-up device is
PTCPE[7:0]  enabled for the associated PTC pin. For port C pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port C bit n.
            1 Internal pull-up device enabled for port C bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.3.4 Port C Slew Rate Enable Register (PTCSE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTCSE7   PTCSE6   PTCSE5   PTCSE4   PTCSE3               PTCSE2         PTCSE1   PTCSE0
                 0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-22. Slew Rate Enable for Port C Register (PTCSE)

                        Table 6-20. PTCSE Register Field Descriptions

     Field                                Description

     7:0    Output Slew Rate Enable for Port C Bits -- Each of these control bits determines if the output slew rate control
PTCSE[7:0]  is enabled for the associated PTC pin. For port C pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port C bit n.
            1 Output slew rate control enabled for port C bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

114                                                                                 Freescale Semiconductor
6.5.3.5                                                                                                                Chapter 6 Parallel Input/Output Control

         Port C Drive Strength Selection Register (PTCDS)

               7               6        5        4                      3        2        1        0

R                        PTCDS6   PTCDS5   PTCDS4                 PTCDS3   PTCDS2   PTCDS1   PTCDS0
       PTCDS7                                                                                     0

W

Reset:   0               0        0        0                      0        0         0

                  Figure 6-23. Drive Strength Selection for Port C Register (PTCDS)

                            Table 6-21. PTCDS Register Field Descriptions

Field                                         Description

7:0      Output Drive Strength Selection for Port C Bits -- Each of these control bits selects between low and high

PTCDS[7:0] output drive for the associated PTC pin. For port C pins that are configured as inputs, these bits have no effect.

         0 Low output drive strength selected for port C bit n.

         1 High output drive strength selected for port C bit n.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                      115
Chapter 6 Parallel Input/Output Control

6.5.4 Port D Registers

Port D is controlled by the registers listed below.

6.5.4.1 Port D Data Register (PTDD)

      R          7        6        5        4                3                     2        1           0
     W
Reset:      PTDD7    PTDD6    PTDD5    PTDD4            PTDD3                 PTDD2    PTDD1       PTDD0
                0                                                                          0           0
                        0     0                      0  0                     0

                              Figure 6-24. Port D Data Register (PTDD)

                              Table 6-22. PTDD Register Field Descriptions

     Field                                              Description

    7:0     Port D Data Register Bits -- For port D pins that are inputs, reads return the logic level on the pin. For port D
PTDD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port D pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTDD to all 0s, but these 0s are not driven out the corresponding pins because reset also
            configures all port pins as high-impedance inputs with pull-ups/pull-downs disabled.

6.5.4.2 Port D Data Direction Register (PTDDD)

      R           7        6        5        4                3                     2        1           0
     W
Reset:      PTDDD7   PTDDD6   PTDDD5   PTDDD4           PTDDD3                PTDDD2   PTDDD1      PTDDD0
                 0                                                                          0           0
                        0     0                      0  0                     0

                           Figure 6-25. Port D Data Direction Register (PTDDD)

                             Table 6-23. PTDDD Register Field Descriptions

     Field                                              Description

     7:0    Data Direction for Port D Bits -- These read/write bits control the direction of port D pins and what is read for

PTDDD[7:0] PTDD reads.

            0 Input (output driver disabled) and reads return the pin value.

            1 Output driver enabled for port D bit n and PTDD reads return the contents of PTDDn.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

116                                                                                    Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.4.3 Port D Pull Enable Register (PTDPE)

      R        7               6        5        4        3                    2              1        0
     W
Reset:   PTDPE7          PTDPE6   PTDPE5   PTDPE4   PTDPE3               PTDPE2         PTDPE1   PTDPE0
              0                                                                                       0
                         0        0        0        0                    0              0

                         Figure 6-26. Internal Pull Enable for Port D Register (PTDPE)

                            Table 6-24. PTDPE Register Field Descriptions

Field                                         Description

     7:0    Internal Pull Enable for Port D Bits -- Each of these control bits determines if the internal pull-up or pull-down
PTDPE[7:0]  device is enabled for the associated PTD pin. For port D pins that are configured as outputs, these bits have no
            effect and the internal pull devices are disabled.
            0 Internal pull-up/pull-down device disabled for port D bit n.
            1 Internal pull-up/pull-down device enabled for port D bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.4.4 Port D Slew Rate Enable Register (PTDSE)

      R        7               6        5        4        3                    2              1        0
     W
Reset:   PTDSE7          PTDSE6   PTDSE5   PTDSE4   PTDSE3               PTDSE2         PTDSE1   PTDSE0
              0                                                                                       0
                         0        0        0        0                    0              0

                         Figure 6-27. Slew Rate Enable for Port D Register (PTDSE)

                            Table 6-25. PTDSE Register Field Descriptions

Field                                         Description

     7:0    Output Slew Rate Enable for Port D Bits -- Each of these control bits determines if the output slew rate control
PTDSE[7:0]  is enabled for the associated PTD pin. For port D pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port D bit n.
            1 Output slew rate control enabled for port D bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                          117
Chapter 6 Parallel Input/Output Control

6.5.4.5 Port D Drive Strength Selection Register (PTDDS)

                    7        6        5                   4                3        2        1                 0

     R                 PTDDS6   PTDDS5              PTDDS4           PTDDS3   PTDDS2   PTDDS1            PTDDS0
            PTDDS7                                                                                            0

     W

Reset:      0          0        0                   0                0        0                   0

                       Figure 6-28. Drive Strength Selection for Port D Register (PTDDS)

                           Table 6-26. PTDDS Register Field Descriptions

     Field                                             Description

     7:0    Output Drive Strength Selection for Port D Bits -- Each of these control bits selects between low and high

PTDDS[7:0] output drive for the associated PTD pin. For port D pins that are configured as inputs, these bits have no effect.

            0 Low output drive strength selected for port D bit n.

            1 High output drive strength selected for port D bit n.

6.5.4.6 Port D Interrupt Status and Control Register (PTDSC)

            7          6        5                   4                3        2                   1      0

      R     0          0        0                   0                PTDIF    0
     W
Reset:                                                                                            PTDIE  PTDMOD

                                                                              PTDACK

            0          0        0                   0                0        0                   0      0

                       = Unimplemented or Reserved

                       Figure 6-29. Port D Interrupt Status and Control Register (PTDSC)

                           Table 6-27. PTDSC Register Field Descriptions

     Field                                             Description

        3   Port D Interrupt Flag -- PTDIF indicates when a port D interrupt is detected. Writes have no effect on PTDIF.
     PTDIF  0 No port D interrupt detected.
            1 Port D interrupt detected.

     2      Port D Interrupt Acknowledge -- Writing a 1 to PTDACK is part of the flag clearing mechanism. PTDACK

PTDACK always reads as 0.

        1   Port D Interrupt Enable -- PTDIE determines whether a port D interrupt is requested.
     PTDIE  0 Port D interrupt request not enabled.
            1 Port D interrupt request enabled.

     0      Port D Detection Mode -- PTDMOD (along with the PTDES bits) controls the detection mode of the port D
PTDMOD      interrupt pins.
            0 Port D pins detect edges only.
            1 Port D pins detect both edges and levels.

                                MC9S08DZ128 Series Data Sheet, Rev. 1

118                                                                                    Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.4.7     Port D Interrupt Pin Select Register (PTDPS)

      R        7               6        5         4        3                   2          1        0
     W
Reset:   PTDPS7          PTDPS6   PTDPS5    PTDPS4   PTDPS3              PTDPS2     PTDPS1   PTDPS0
              0                                                                                   0
                         0               0  0        0                   0          0

                         Figure 6-30. Port D Interrupt Pin Select Register (PTDPS)

                            Table 6-28. PTDPS Register Field Descriptions

Field                                          Description

7:0         Port D Interrupt Pin Selects -- Each of the PTDPSn bits enable the corresponding port D interrupt pin.

PTDPS[7:0] 0 Pin not enabled as interrupt.

            1 Pin enabled as interrupt.

6.5.4.8 Port D Interrupt Edge Select Register (PTDES)

      R        7               6        5         4        3                   2          1        0
     W
Reset:   PTDES7          PTDES6   PTDES5    PTDES4   PTDES3              PTDES2     PTDES1   PTDES0
              0                                                                          0        0
                         0               0  0        0                   0

                            Figure 6-31. Port D Edge Select Register (PTDES)

                            Table 6-29. PTDES Register Field Descriptions

Field                                          Description

     7:0    Port D Edge Selects -- Each of the PTDESn bits serves a dual purpose by selecting the polarity of the active
PTDES[7:0]  interrupt edge as well as selecting a pull-up or pull-down device if enabled.
            0 A pull-up device is connected to the associated pin and detects falling edge/low level for interrupt generation.
            1 A pull-down device is connected to the associated pin and detects rising edge/high level for interrupt

               generation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                             119
Chapter 6 Parallel Input/Output Control

6.5.5 Port E Registers

Port E is controlled by the registers listed below.

6.5.5.1 Port E Data Register (PTED)

                    7       6        5        4              3                     2               1        0

     R                 PTED6    PTED5    PTED4          PTED3                 PTED2          PTED11    PTED0
             PTED7

     W

Reset:      0           0       0                    0  0                     0                    0   0

                                                Figure 6-32. Port E Data Register (PTED)
1 Reads of this bit always return the pin value of the associated pin, regardless of the value stored in the port data direction bit.

                                Table 6-30. PTED Register Field Descriptions

     Field                                              Description

    7:0     Port E Data Register Bits -- For port E pins that are inputs, reads return the logic level on the pin. For port E
PTED[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port E pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTED to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
            all port pins as high-impedance inputs with pull-ups disabled.

6.5.5.2 Port E Data Direction Register (PTEDD)

                    7        6        5        4              3                     2               1        0

     R                 PTEDD6   PTEDD5   PTEDD4         PTEDD3                PTEDD2         PTEDD11   PTEDD0
            PTEDD7                                                                                0         0

     W

Reset:      0           0       0                    0  0                     0

                                        Figure 6-33. Port E Data Direction Register (PTEDD)
1 PTEDD1 has no effect on the input-only PTE1 pin.

                               Table 6-31. PTEDD Register Field Descriptions

     Field                                              Description

     7:0    Data Direction for Port E Bits -- These read/write bits control the direction of port E pins and what is read for

PTEDD[7:0] PTED reads.

            0 Input (output driver disabled) and reads return the pin value.

            1 Output driver enabled for port E bit n and PTED reads return the contents of PTEDn.

                                MC9S08DZ128 Series Data Sheet, Rev. 1

120                                                                                          Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.5.3 Port E Pull Enable Register (PTEPE)

      R        7               6        5        4        3                    2                    1         0
     W
Reset:   PTEPE7          PTEPE6   PTEPE5   PTEPE4   PTEPE3               PTEPE2               PTEPE1    PTEPE0
             0                                                                                              0
                         0        0        0        0                    0                    0

                         Figure 6-34. Internal Pull Enable for Port E Register (PTEPE)

                            Table 6-32. PTEPE Register Field Descriptions

Field                                         Description

     7:0    Internal Pull Enable for Port E Bits -- Each of these control bits determines if the internal pull-up device is
PTEPE[7:0]  enabled for the associated PTE pin. For port E pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port E bit n.
            1 Internal pull-up device enabled for port E bit n.

                                                        NOTE

               Pull-down devices only apply when using pin interrupt functions, when
               corresponding edge select and pin select functions are configured.

6.5.5.4 Port E Slew Rate Enable Register (PTESE)

               7               6        5        4        3                    2                     1        0

R                        PTESE6   PTESE5   PTESE4   PTESE3               PTESE2               PTESE11   PTESE0
       PTESE7                                                                                               0

W

Reset:      0            0        0        0        0                    0                    0

                                   Figure 6-35. Slew Rate Enable for Port E Register (PTESE)
1 PTESE1 has no effect on the input-only PTE1 pin.

                            Table 6-33. PTESE Register Field Descriptions

Field                                         Description

     7:0    Output Slew Rate Enable for Port E Bits -- Each of these control bits determines if the output slew rate control
PTESE[7:0]  is enabled for the associated PTE pin. For port E pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port E bit n.
            1 Output slew rate control enabled for port E bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                 121
Chapter 6 Parallel Input/Output Control

6.5.5.5 Port E Drive Strength Selection Register (PTEDS)

                    7        6        5        4        3                    2         1                  0

     R                 PTEDS6   PTEDS5   PTEDS4   PTEDS3               PTEDS2   PTEDS11             PTEDS0
            PTEDS7                                                                                       0

     W

Reset:      0          0        0        0        0                    0                         0

                              Figure 6-36. Drive Strength Selection for Port E Register (PTEDS)
1 PTEDS1 has no effect on the input-only PTE1 pin.

                          Table 6-34. PTEDS Register Field Descriptions

     Field                                  Description

     7:0    Output Drive Strength Selection for Port E Bits -- Each of these control bits selects between low and high
PTEDS[7:0]  output drive for the associated PTE pin. For port E pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port E bit n.
            1 High output drive strength selected for port E bit n.

                                MC9S08DZ128 Series Data Sheet, Rev. 1

122                                                                             Freescale Semiconductor
                                                                            Chapter 6 Parallel Input/Output Control

6.5.6 Port F Registers

Port F is controlled by the registers listed below.

6.5.6.1 Port F Data Register (PTFD)

      R          7            6        5        4            3                2        1        0
     W
Reset:      PTFD7        PTFD6    PTFD5    PTFD4        PTFD3            PTFD2    PTFD1    PTFD0
               0                                                                     0        0
                         0        0                  0  0                   0

                                  Figure 6-37. Port F Data Register (PTFD)

                                  Table 6-35. PTFD Register Field Descriptions

Field                                                   Description

    7:0     Port F Data Register Bits -- For port F pins that are inputs, reads return the logic level on the pin. For port F
PTFD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port F pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTFD to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
            all port pins as high-impedance inputs with pull-ups disabled.

6.5.6.2 Port F Data Direction Register (PTFDD)

      R          7             6        5        4            3                2        1        0
     W
Reset:     PTFDD7        PTFDD6   PTFDD5   PTFDD4       PTFDD3           PTFDD2   PTFDD1   PTFDD0
                0                                                                      0        0
                         0        0                  0  0                   0

                            Figure 6-38. Port F Data Direction Register (PTFDD)

                                 Table 6-36. PTFDD Register Field Descriptions

Field                                                   Description

     7:0    Data Direction for Port F Bits -- These read/write bits control the direction of port F pins and what is read for
PTFDD[7:0]  PTFD reads.
            0 Input (output driver disabled) and reads return the pin value.
            1 Output driver enabled for port F bit n and PTFD reads return the contents of PTFDn.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                    123
Chapter 6 Parallel Input/Output Control

6.5.6.3 Port F Pull Enable Register (PTFPE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTFPE7   PTFPE6   PTFPE5   PTFPE4   PTFPE3               PTFPE2         PTFPE1   PTFPE0
                0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-39. Internal Pull Enable for Port F Register (PTFPE)

                        Table 6-37. PTFPE Register Field Descriptions

     Field                                Description

     7:0    Internal Pull Enable for Port F Bits -- Each of these control bits determines if the internal pull-up device is
PTFPE[7:0]  enabled for the associated PTF pin. For port F pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port F bit n.
            1 Internal pull-up device enabled for port F bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.6.4 Port F Slew Rate Enable Register (PTFSE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTFSE7   PTFSE6   PTFSE5   PTFSE4   PTFSE3               PTFSE2         PTFSE1   PTFSE0
                0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-40. Slew Rate Enable for Port F Register (PTFSE)

                        Table 6-38. PTFSE Register Field Descriptions

     Field                                Description

     7:0    Output Slew Rate Enable for Port F Bits -- Each of these control bits determines if the output slew rate control
PTFSE[7:0]  is enabled for the associated PTF pin. For port F pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port F bit n.
            1 Output slew rate control enabled for port F bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

124                                                                                 Freescale Semiconductor
6.5.6.5                                                                                                                   Chapter 6 Parallel Input/Output Control

            Port F Drive Strength Selection Register (PTFDS)

               7               6        5        4        3                    2        1        0

R                        PTFDS6   PTFDS5   PTFDS4   PTFDS3               PTFDS2   PTFDS1   PTFDS0
       PTFDS7                                                                                  0

W

Reset:      0            0        0        0        0                    0           0

                  Figure 6-41. Drive Strength Selection for Port F Register (PTFDS)

                            Table 6-39. PTFDS Register Field Descriptions

Field                                         Description

     7:0    Output Drive Strength Selection for Port F Bits -- Each of these control bits selects between low and high
PTFDS[7:0]  output drive for the associated PTF pin. For port F pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port F bit n.
            1 High output drive strength selected for port F bit n.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                    125
Chapter 6 Parallel Input/Output Control

6.5.7 Port G Registers

Port G is controlled by the registers listed below.

6.5.7.1 Port G Data Register (PTGD)

      R          7        6        5        4                3                     2        1           0
     W
Reset:      PTGD7    PTGD6    PTGD5    PTGD4            PTGD3                 PTGD2    PTGD1       PTGD0
                0                                                                          0           0
                        0     0                      0  0                     0

                              Figure 6-42. Port G Data Register (PTGD)

                              Table 6-40. PTGD Register Field Descriptions

     Field                                              Description

     7:0    Port G Data Register Bits -- For port G pins that are inputs, reads return the logic level on the pin. For port G
PTGD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port G pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTGD to all 0s, but these 0s are not driven out the corresponding pins because reset also
            configures all port pins as high-impedance inputs with pull-ups disabled.

6.5.7.2 Port G Data Direction Register (PTGDD)

      R           7        6        5        4                3                     2        1           0
     W
Reset:      PTGDD7   PTGDD6   PTGDD5   PTGDD4           PTGDD3                PTGDD2   PTGDD1      PTGDD0
                 0                                                                          0           0
                        0     0                      0  0                     0

                        Figure 6-43. Port G Data Direction Register (PTGDD)

                             Table 6-41. PTGDD Register Field Descriptions

     Field                                              Description

     7:0    Data Direction for Port G Bits -- These read/write bits control the direction of port G pins and what is read for

PTGDD[7:0] PTGD reads.

            0 Input (output driver disabled) and reads return the pin value.

            1 Output driver enabled for port G bit n and PTGD reads return the contents of PTGDn.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

126                                                                                    Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.7.3 Port G Pull Enable Register (PTGPE)

      R        7               6        5               4             3        2              1        0
     W
Reset:   PTGPE7          PTGPE6   PTGPE5          PTGPE4        PTGPE3   PTGPE2         PTGPE1   PTGPE0
              0                                                                                       0
                         0        0               0             0        0              0

                         Figure 6-44. Internal Pull Enable for Port G Register (PTGPE)

                            Table 6-42. PTGPE Register Field Descriptions

Field                                                Description

7:0      Internal Pull Enable for Port G Bits -- Each of these control bits determines if the internal pull-up device is

PTGPE[7:0] enabled for the associated PTG pin. For port G pins that are configured as outputs, these bits have no effect and

         the internal pull devices are disabled.

         0 Internal pull-up device disabled for port G bit n.

         1 Internal pull-up device enabled for port G bit n.

                                                  NOTE

         Pull-down devices only apply when using pin interrupt functions, when
         corresponding edge select and pin select functions are configured.

6.5.7.4 Port G Slew Rate Enable Register (PTGSE)

      R        7               6        5               4             3        2              1        0
     W
Reset:   PTGSE7          PTGSE6   PTGSE5          PTGSE4        PTGSE3   PTGSE2         PTGSE1   PTGSE0
              0                                                                                       0
                         0        0               0             0        0              0

                         Figure 6-45. Slew Rate Enable for Port G Register (PTGSE)

                            Table 6-43. PTGSE Register Field Descriptions

Field                                                Description

7:0      Output Slew Rate Enable for Port G Bits -- Each of these control bits determines if the output slew rate control

PTGSE[7:0] is enabled for the associated PTG pin. For port G pins that are configured as inputs, these bits have no effect.

         0 Output slew rate control disabled for port G bit n.

         1 Output slew rate control enabled for port G bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                          127
Chapter 6 Parallel Input/Output Control

6.5.7.5 Port G Drive Strength Selection Register (PTGDS)

                    7        6        5        4                           3        2        1        0

     R                 PTGDS6   PTGDS5   PTGDS4                      PTGDS3   PTGDS2   PTGDS1   PTGDS0
            PTGDS7                                                                                   0

     W

Reset:      0          0        0        0                           0        0           0

                       Figure 6-46. Drive Strength Selection for Port G Register (PTGDS)

                          Table 6-44. PTGDS Register Field Descriptions

     Field                                  Description

     7:0    Output Drive Strength Selection for Port G Bits -- Each of these control bits selects between low and high

PTGDS[7:0] output drive for the associated PTG pin. For port G pins that are configured as inputs, these bits have no effect.

            0 Low output drive strength selected for port G bit n.

            1 High output drive strength selected for port G bit n.

                                MC9S08DZ128 Series Data Sheet, Rev. 1

128                                                                                    Freescale Semiconductor
                                                                             Chapter 6 Parallel Input/Output Control

6.5.8 Port H Registers

Port H is controlled by the registers listed below.

6.5.8.1 Port H Data Register (PTHD)

      R         7             6        5        4            3                    2        1           0
     W
Reset:     PTHD7         PTHD6    PTHD5    PTHD4        PTHD3                PTHD2    PTHD1       PTHD0
               0                                                                          0           0
                         0        0                  0  0                    0

                                  Figure 6-47. Port H Data Register (PTHD)

                                  Table 6-45. PTHD Register Field Descriptions

Field                                                   Description

    7:0    Port H Data Register Bits -- For port H pins that are inputs, reads return the logic level on the pin. For port H
PTHD[7:0]  pins that are configured as outputs, reads return the last value written to this register.
           Writes are latched into all bits of this register. For port H pins that are configured as outputs, the logic level is
           driven out the corresponding MCU pin.
           Reset forces PTHD to all 0s, but these 0s are not driven out the corresponding pins because reset also
           configures all port pins as high-impedance inputs with pull-ups disabled.

6.5.8.2 Port H Data Direction Register (PTHDD)

      R        7               6        5        4            3                    2        1           0
     W
Reset:   PTHDD7          PTHDD6   PTHDD5   PTHDD4       PTHDD3               PTHDD2   PTHDD1      PTHDD0
              0                                                                            0           0
                         0        0                  0  0                    0

                            Figure 6-48. Port H Data Direction Register (PTHDD)

                                 Table 6-46. PTHDD Register Field Descriptions

Field                                                   Description

7:0        Data Direction for Port H Bits -- These read/write bits control the direction of port H pins and what is read for

PTHDD[7:0] PTHD reads.

           0 Input (output driver disabled) and reads return the pin value.

           1 Output driver enabled for port H bit n and PTHD reads return the contents of PTHDn.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                           129
Chapter 6 Parallel Input/Output Control

6.5.8.3 Port H Pull Enable Register (PTHPE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTHPE7   PTHPE6   PTHPE5   PTHPE4   PTHPE3               PTHPE2         PTHPE1   PTHPE0
                 0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-49. Internal Pull Enable for Port H Register (PTHPE)

                        Table 6-47. PTHPE Register Field Descriptions

     Field                                Description

     7:0    Internal Pull Enable for Port H Bits -- Each of these control bits determines if the internal pull-up device is
PTHPE[7:0]  enabled for the associated PTH pin. For port H pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port H bit n.
            1 Internal pull-up device enabled for port H bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.8.4 Port H Slew Rate Enable Register (PTHSE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTHSE7   PTHSE6   PTHSE5   PTHSE4   PTHSE3               PTHSE2         PTHSE1   PTHSE0
                 0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-50. Slew Rate Enable for Port H Register (PTHSE)

                        Table 6-48. PTHSE Register Field Descriptions

     Field                                Description

     7:0    Output Slew Rate Enable for Port H Bits -- Each of these control bits determines if the output slew rate control
PTHSE[7:0]  is enabled for the associated PTH pin. For port H pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port H bit n.
            1 Output slew rate control enabled for port H bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

130                                                                                 Freescale Semiconductor
6.5.8.5                                                                                                                Chapter 6 Parallel Input/Output Control

         Port H Drive Strength Selection Register (PTHDS)

               7               6        5        4                      3        2        1        0

R                        PTHDS6   PTHDS5   PTHDS4                 PTHDS3   PTHDS2   PTHDS1   PTHDS0
       PTHDS7                                                                                     0

W

Reset:   0               0        0        0                      0        0         0

                  Figure 6-51. Drive Strength Selection for Port H Register (PTHDS)

                            Table 6-49. PTHDS Register Field Descriptions

Field                                         Description

7:0      Output Drive Strength Selection for Port H Bits -- Each of these control bits selects between low and high

PTHDS[7:0] output drive for the associated PTH pin. For port H pins that are configured as inputs, these bits have no effect.

         0 Low output drive strength selected for port H bit n.

         1 High output drive strength selected for port H bit n.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                      131
Chapter 6 Parallel Input/Output Control

6.5.9 Port J Registers

Port J is controlled by the registers listed below.

6.5.9.1 Port J Data Register (PTJD)

      R         7        6        5        4                3            2         1        0
     W
Reset:      PTJD7    PTJD6    PTJD5    PTJD4            PTJD3        PTJD2     PTJD1    PTJD0
               0                                                                  0        0
                     0        0                      0  0                   0

                              Figure 6-52. Port J Data Register (PTJD)

                              Table 6-50. PTJD Register Field Descriptions

     Field                                              Description

    7:0     Port J Data Register Bits -- For port J pins that are inputs, reads return the logic level on the pin. For port J
PTJD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port J pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTJD to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
            all port pins as high-impedance inputs with pull-ups disabled.

6.5.9.2 Port J Data Direction Register (PTJDD)

      R           7        6        5        4                3            2         1        0
     W
Reset:      PTJDD7   PTJDD6   PTJDD5   PTJDD4           PTJDD3       PTJDD2    PTJDD1   PTJDD0
                0                                                                  0        0
                     0        0                      0  0                   0

                        Figure 6-53. Port J Data Direction Register (PTJDD)

                            Table 6-51. PTJDD Register Field Descriptions

     Field                                              Description

     7:0    Data Direction for Port J Bits -- These read/write bits control the direction of port J pins and what is read for
PTJDD[7:0]  PTJD reads.
            0 Input (output driver disabled) and reads return the pin value.
            1 Output driver enabled for port J bit n and PTJD reads return the contents of PTJDn.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

132                                                                            Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.9.3 Port J Pull Enable Register (PTJPE)

      R        7               6        5        4        3                    2              1        0
     W
Reset:   PTJPE7          PTJPE6   PTJPE5   PTJPE4   PTJPE3               PTJPE2         PTJPE1   PTJPE0
             0                                                                                       0
                         0        0        0        0                    0              0

                         Figure 6-54. Internal Pull Enable for Port J Register (PTJPE)

                                  Table 6-52. PTJPE Register Field Descriptions

Field                                         Description

     7:0    Internal Pull Enable for Port J Bits -- Each of these control bits determines if the internal pull-up device is
PTJPE[7:0]  enabled for the associated PTJ pin. For port J pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port J bit n.
            1 Internal pull-up device enabled for port J bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.9.4 Port J Slew Rate Enable Register (PTJSE)

      R        7               6        5        4        3                    2              1        0
     W
Reset:   PTJSE7          PTJSE6   PTJSE5   PTJSE4   PTJSE3               PTJSE2         PTJSE1   PTJSE0
             0                                                                                       0
                         0        0        0        0                    0              0

                         Figure 6-55. Slew Rate Enable for Port J Register (PTJSE)

                                  Table 6-53. PTJSE Register Field Descriptions

Field                                         Description

     7:0    Output Slew Rate Enable for Port J Bits -- Each of these control bits determines if the output slew rate control
PTJSE[7:0]  is enabled for the associated PTJ pin. For port J pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port J bit n.
            1 Output slew rate control enabled for port J bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                          133
Chapter 6 Parallel Input/Output Control

6.5.9.5 Port J Drive Strength Selection Register (PTJDS)

      R           7        6        5                   4        3         2        1                0
     W
Reset:      PTJDS7   PTJDS6   PTJDS5              PTJDS4   PTJDS3    PTJDS2   PTJDS1           PTJDS0
                0                                                                                  0
                     0        0                   0        0         0                  0

                     Figure 6-56. Drive Strength Selection for Port J Register (PTJDS)

                              Table 6-54. PTJDS Register Field Descriptions

     Field                                           Description

     7:0    Output Drive Strength Selection for Port J Bits -- Each of these control bits selects between low and high
PTJDS[7:0]  output drive for the associated PTJ pin. For port J pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port J bit n.
            1 High output drive strength selected for port J bit n.

6.5.9.6 Port J Interrupt Status and Control Register (PTJSC)

            7        6        5                   4        3         2                  1      0

     R      0        0        0                   0        PTJIF     0

                                                                                        PTJIE  PTJMOD

     W                                                               PTJACK

Reset:      0        0        0                   0        0         0                  0      0

                     = Unimplemented or Reserved

                     Figure 6-57. Port J Interrupt Status and Control Register (PTJSC)

                              Table 6-55. PTJSC Register Field Descriptions

     Field                                           Description

     3      Port J Interrupt Flag -- PTJIF indicates when a port J interrupt is detected. Writes have no effect on PTJIF.
  PTJIF     0 No port J interrupt detected.
            1 Port J interrupt detected.
     2
PTJACK      Port J Interrupt Acknowledge -- Writing a 1 to PTJACK is part of the flag clearing mechanism. PTJACK always
            reads as 0.
     1
  PTJIE     Port J Interrupt Enable -- PTJIE determines whether a port J interrupt is requested.
            0 Port J interrupt request not enabled.
     0      1 Port J interrupt request enabled.
PTJMOD
            Port J Detection Mode -- PTJMOD (along with the PTJES bits) controls the detection mode of the port J
            interrupt pins.
            0 Port J pins detect edges only.
            1 Port J pins detect both edges and levels.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

134                                                                           Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.9.7     Port J Interrupt Pin Select Register (PTJPS)

      R        7               6        5         4        3                   2          1        0
     W
Reset:   PTJPS7          PTJPS6   PTJPS5    PTJPS4   PTJPS3              PTJPS2     PTJPS1   PTJPS0
             0                                                                                   0
                         0               0  0        0                   0          0

                         Figure 6-58. Port J Interrupt Pin Select Register (PTJPS)

                                  Table 6-56. PTJPS Register Field Descriptions

Field                                          Description

7:0         Port J Interrupt Pin Selects -- Each of the PTJPSn bits enable the corresponding port J interrupt pin.

PTJPS[7:0] 0 Pin not enabled as interrupt.

            1 Pin enabled as interrupt.

6.5.9.8 Port J Interrupt Edge Select Register (PTJES)

      R        7               6        5         4        3                   2          1        0
     W
Reset:   PTJES7          PTJES6   PTJES5    PTJES4   PTJES3              PTJES2     PTJES1   PTJES0
             0                                                                          0        0
                         0               0  0        0                   0

                            Figure 6-59. Port J Edge Select Register (PTJES)

                                  Table 6-57. PTJES Register Field Descriptions

Field                                          Description

     7:0    Port J Edge Selects -- Each of the PTJESn bits serves a dual purpose by selecting the polarity of the active
PTJES[7:0]  interrupt edge as well as selecting a pull-up or pull-down device if enabled.
            0 A pull-up device is connected to the associated pin and detects falling edge/low level for interrupt generation.
            1 A pull-down device is connected to the associated pin and detects rising edge/high level for interrupt

               generation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                                             135
Chapter 6 Parallel Input/Output Control

6.5.10 Port K Registers

Port K is controlled by the registers listed below.

6.5.10.1 Port K Data Register (PTKD)

      R          7        6        5        4                3                     2        1           0
     W
Reset:      PTKD7    PTKD6    PTKD5    PTKD4            PTKD3                 PTKD2    PTKD1       PTKD0
                0                                                                          0           0
                        0     0                      0  0                     0

                              Figure 6-60. Port K Data Register (PTKD)

                              Table 6-58. PTKD Register Field Descriptions

     Field                                              Description

    7:0     Port K Data Register Bits -- For port K pins that are inputs, reads return the logic level on the pin. For port K
PTKD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port K pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTKD to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
            all port pins as high-impedance inputs with pull-ups disabled.

6.5.10.2 Port K Data Direction Register (PTKDD)

      R           7        6        5        4                3                     2        1           0
     W
Reset:      PTKDD7   PTKDD6   PTKDD5   PTKDD4           PTKDD3                PTKDD2   PTKDD1      PTKDD0
                 0                                                                          0           0
                        0     0                      0  0                     0

                           Figure 6-61. Port K Data Direction Register (PTKDD)

                             Table 6-59. PTKDD Register Field Descriptions

     Field                                              Description

     7:0    Data Direction for Port K Bits -- These read/write bits control the direction of port K pins and what is read for

PTKDD[7:0] PTKD reads.

            0 Input (output driver disabled) and reads return the pin value.

            1 Output driver enabled for port K bit n and PTKD reads return the contents of PTKDn.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

136                                                                                    Freescale Semiconductor
                                                                         Chapter 6 Parallel Input/Output Control

6.5.10.3 Port K Pull Enable Register (PTKPE)

      R        7               6        5        4        3                    2              1        0
     W
Reset:   PTKPE7          PTKPE6   PTKPE5   PTKPE4   PTKPE3               PTKPE2         PTKPE1   PTKPE0
             0                                                                                       0
                         0        0        0        0                    0              0

                         Figure 6-62. Internal Pull Enable for Port K Register (PTKPE)

                            Table 6-60. PTKPE Register Field Descriptions

Field                                         Description

     7:0    Internal Pull Enable for Port K Bits -- Each of these control bits determines if the internal pull-up device is
PTKPE[7:0]  enabled for the associated PTK pin. For port K pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port K bit n.
            1 Internal pull-up device enabled for port K bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.10.4 Port K Slew Rate Enable Register (PTKSE)

      R        7               6        5        4        3                    2              1        0
     W
Reset:   PTKSE7          PTKSE6   PTKSE5   PTKSE4   PTKSE3               PTKSE2         PTKSE1   PTKSE0
             0                                                                                       0
                         0        0        0        0                    0              0

                         Figure 6-63. Slew Rate Enable for Port K Register (PTKSE)

                            Table 6-61. PTKSE Register Field Descriptions

Field                                         Description

     7:0    Output Slew Rate Enable for Port K Bits -- Each of these control bits determines if the output slew rate control
PTKSE[7:0]  is enabled for the associated PTK pin. For port K pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port K bit n.
            1 Output slew rate control enabled for port K bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                          137
Chapter 6 Parallel Input/Output Control

6.5.10.5 Port K Drive Strength Selection Register (PTKDS)

                    7        6        5        4        3                    2        1            0

     R                 PTKDS6   PTKDS5   PTKDS4   PTKDS3               PTKDS2   PTKDS1       PTKDS0
            PTKDS7                                                                                0

     W

Reset:      0          0        0        0        0                    0                  0

                       Figure 6-64. Drive Strength Selection for Port K Register (PTKDS)

                          Table 6-62. PTKDS Register Field Descriptions

     Field                                  Description

     7:0    Output Drive Strength Selection for Port K Bits -- Each of these control bits selects between low and high
PTKDS[7:0]  output drive for the associated PTK pin. For port K pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port K bit n.
            1 High output drive strength selected for port K bit n.

                                MC9S08DZ128 Series Data Sheet, Rev. 1

138                                                                             Freescale Semiconductor
                                                                            Chapter 6 Parallel Input/Output Control

6.5.11 Port L Registers

Port L is controlled by the registers listed below.

6.5.11.1 Port L Data Register (PTLD)

      R          7            6        5        4            3                2        1        0
     W
Reset:      PTLD7        PTLD6    PTLD5    PTLD4        PTLD3            PTLD2    PTLD1    PTLD0
               0                                                                     0        0
                         0        0                  0  0                   0

                                  Figure 6-65. Port L Data Register (PTLD)

                                  Table 6-63. PTLD Register Field Descriptions

Field                                                   Description

    7:0     Port L Data Register Bits -- For port L pins that are inputs, reads return the logic level on the pin. For port L
PTLD[7:0]   pins that are configured as outputs, reads return the last value written to this register.
            Writes are latched into all bits of this register. For port L pins that are configured as outputs, the logic level is
            driven out the corresponding MCU pin.
            Reset forces PTLD to all 0s, but these 0s are not driven out the corresponding pins because reset also configures
            all port pins as high-impedance inputs with pull-ups disabled.

6.5.11.2 Port L Data Direction Register (PTLDD)

      R          7             6        5        4            3                2        1        0
     W
Reset:     PTLDD7        PTLDD6   PTLDD5   PTLDD4       PTLDD3           PTLDD2   PTLDD1   PTLDD0
               0                                                                      0        0
                         0        0                  0  0                   0

                            Figure 6-66. Port L Data Direction Register (PTLDD)

                                 Table 6-64. PTLDD Register Field Descriptions

Field                                                   Description

     7:0    Data Direction for Port L Bits -- These read/write bits control the direction of port L pins and what is read for
PTLDD[7:0]  PTLD reads.
            0 Input (output driver disabled) and reads return the pin value.
            1 Output driver enabled for port L bit n and PTLD reads return the contents of PTLDn.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                    139
Chapter 6 Parallel Input/Output Control

6.5.11.3 Port L Pull Enable Register (PTLPE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTLPE7   PTLPE6   PTLPE5   PTLPE4   PTLPE3               PTLPE2         PTLPE1   PTLPE0
                0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-67. Internal Pull Enable for Port L Register (PTLPE)

                              Table 6-65. PTLPE Register Field Descriptions

     Field                                Description

     7:0    Internal Pull Enable for Port L Bits -- Each of these control bits determines if the internal pull-up device is
PTLPE[7:0]  enabled for the associated PTL pin. For port L pins that are configured as outputs, these bits have no effect and
            the internal pull devices are disabled.
            0 Internal pull-up device disabled for port L bit n.
            1 Internal pull-up device enabled for port L bit n.

                                                     NOTE

            Pull-down devices only apply when using pin interrupt functions, when
            corresponding edge select and pin select functions are configured.

6.5.11.4 Port L Slew Rate Enable Register (PTLSE)

      R           7        6        5        4        3                    2              1        0
     W
Reset:      PTLSE7   PTLSE6   PTLSE5   PTLSE4   PTLSE3               PTLSE2         PTLSE1   PTLSE0
                0                                                                                0
                     0        0        0        0                    0              0

                     Figure 6-68. Slew Rate Enable for Port L Register (PTLSE)

                              Table 6-66. PTLSE Register Field Descriptions

     Field                                Description

     7:0    Output Slew Rate Enable for Port L Bits -- Each of these control bits determines if the output slew rate control
PTLSE[7:0]  is enabled for the associated PTL pin. For port L pins that are configured as inputs, these bits have no effect.
            0 Output slew rate control disabled for port L bit n.
            1 Output slew rate control enabled for port L bit n.

Note: Slew rate reset default values may differ between engineering samples and final production parts. Always initialize slew
        rate control to the desired value to ensure correct operation.

                              MC9S08DZ128 Series Data Sheet, Rev. 1

140                                                                                 Freescale Semiconductor
                                                                                                                                      Chapter 6 Parallel Input/Output Control

6.5.11.5 Port L Drive Strength Selection Register (PTLDS)

      R        7               6        5        4        3                    2        1        0
     W
Reset:   PTLDS7          PTLDS6   PTLDS5   PTLDS4   PTLDS3               PTLDS2   PTLDS1   PTLDS0
             0                                                                                 0
                         0        0        0        0                    0           0

                  Figure 6-69. Drive Strength Selection for Port L Register (PTLDS)

                            Table 6-67. PTLDS Register Field Descriptions

Field                                         Description

     7:0    Output Drive Strength Selection for Port L Bits -- Each of these control bits selects between low and high
PTLDS[7:0]  output drive for the associated PTL pin. For port L pins that are configured as inputs, these bits have no effect.
            0 Low output drive strength selected for port L bit n.
            1 High output drive strength selected for port L bit n.

                                  MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                                                    141
Chapter 6 Parallel Input/Output Control

                                         MC9S08DZ128 Series Data Sheet, Rev. 1

142                                                                             Freescale Semiconductor
Chapter 7
Central Processor Unit (S08CPUV5)

7.1 Introduction

This section provides summary information about the registers, addressing modes, and instruction set of
the CPU of the HCS08 Family. For a more detailed discussion, refer to the HCS08 Family Reference
Manual, volume 1, Freescale Semiconductor document order number HCS08RMV1/D.

The HCS08 CPU is fully source- and object-code-compatible with the M68HC08 CPU. Several
instructions and enhanced addressing modes were added to improve C compiler efficiency and to support
a new background debug system which replaces the monitor mode of earlier M68HC08 microcontrollers
(MCU).

7.1.1 Features

Features of the HCS08 CPU include:
    Object code fully upward-compatible with M68HC05 and M68HC08 Families
    64-KB CPU address space with banked memory management unit for greater than 64 KB
    16-bit stack pointer (any size stack anywhere in 64-KB CPU address space)
    16-bit index register (H:X) with powerful indexed addressing modes
    8-bit accumulator (A)
    Many instructions treat X as a second general-purpose 8-bit register
    Seven addressing modes:
         -- Inherent -- Operands in internal registers
         -- Relative -- 8-bit signed offset to branch destination
         -- Immediate -- Operand in next object code byte(s)
         -- Direct -- Operand in memory at 0x00000x00FF
         -- Extended -- Operand anywhere in 64-Kbyte address space
         -- Indexed relative to H:X -- Five submodes including auto increment
         -- Indexed relative to SP -- Improves C efficiency dramatically
    Memory-to-memory data move instructions with four address mode combinations
    Overflow, half-carry, negative, zero, and carry condition codes support conditional branching on
         the results of signed, unsigned, and binary-coded decimal (BCD) operations
    Efficient bit manipulation instructions
    Fast 8-bit by 8-bit multiply and 16-bit by 8-bit divide instructions
    STOP and WAIT instructions to invoke low-power operating modes

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         143
Chapter 7 Central Processor Unit (S08CPUV5)

7.2 Programmer's Model and CPU Registers

Figure 7-1 shows the five CPU registers. CPU registers are not part of the memory map.

                                             7                0

                                                 ACCUMULATOR     A

         16-BIT INDEX REGISTER H:X

     H INDEX REGISTER (HIGH) INDEX REGISTER (LOW) X

     15                                      87               0
                                                                   SP
         STACK POINTER

     15                                                       0
                        PROGRAM COUNTER                            PC

                                             7                0

     CONDITION CODE REGISTER V 1 1 H I N Z C CCR

                                                                                                               CARRY
                                                                                                               ZERO
                                                                                                               NEGATIVE
                                                                                                               INTERRUPT MASK
                                                                                                               HALF-CARRY (FROM BIT 3)
                                                                                                               TWO'S COMPLEMENT OVERFLOW

                                                         Figure 7-1. CPU Registers

7.2.1 Accumulator (A)

The A accumulator is a general-purpose 8-bit register. One operand input to the arithmetic logic unit
(ALU) is connected to the accumulator and the ALU results are often stored into the A accumulator after
arithmetic and logical operations. The accumulator can be loaded from memory using various addressing
modes to specify the address where the loaded data comes from, or the contents of A can be stored to
memory using various addressing modes to specify the address where data from A will be stored.

Reset has no effect on the contents of the A accumulator.

7.2.2 Index Register (H:X)

This 16-bit register is actually two separate 8-bit registers (H and X), which often work together as a 16-bit
address pointer where H holds the upper byte of an address and X holds the lower byte of the address. All
indexed addressing mode instructions use the full 16-bit value in H:X as an index reference pointer;
however, for compatibility with the earlier M68HC05 Family, some instructions operate only on the
low-order 8-bit half (X).

Many instructions treat X as a second general-purpose 8-bit register that can be used to hold 8-bit data
values. X can be cleared, incremented, decremented, complemented, negated, shifted, or rotated. Transfer
instructions allow data to be transferred from A or transferred to A where arithmetic and logical operations
can then be performed.

For compatibility with the earlier M68HC05 Family, H is forced to 0x00 during reset. Reset has no effect
on the contents of X.

         MC9S08DZ128 Series Data Sheet, Rev. 1

144                                                                    Freescale Semiconductor
                                                                                                                            Chapter 7 Central Processor Unit (S08CPUV5)

7.2.3 Stack Pointer (SP)

This 16-bit address pointer register points at the next available location on the automatic last-in-first-out
(LIFO) stack. The stack may be located anywhere in the 64-Kbyte address space that has RAM and can
be any size up to the amount of available RAM. The stack is used to automatically save the return address
for subroutine calls, the return address and CPU registers during interrupts, and for local variables. The
AIS (add immediate to stack pointer) instruction adds an 8-bit signed immediate value to SP. This is most
often used to allocate or deallocate space for local variables on the stack.

SP is forced to 0x00FF at reset for compatibility with the earlier M68HC05 Family. HCS08 programs
normally change the value in SP to the address of the last location (highest address) in on-chip RAM
during reset initialization to free up direct page RAM (from the end of the on-chip registers to 0x00FF).

The RSP (reset stack pointer) instruction was included for compatibility with the M68HC05 Family and
is seldom used in new HCS08 programs because it only affects the low-order half of the stack pointer.

7.2.4 Program Counter (PC)

The program counter is a 16-bit register that contains the address of the next instruction or operand to be
fetched.

During normal program execution, the program counter automatically increments to the next sequential
memory location every time an instruction or operand is fetched. Jump, branch, interrupt, and return
operations load the program counter with an address other than that of the next sequential location. This
is called a change-of-flow.

During reset, the program counter is loaded with the reset vector that is located at 0xFFFE and 0xFFFF.
The vector stored there is the address of the first instruction that will be executed after exiting the reset
state.

7.2.5 Condition Code Register (CCR)

The 8-bit condition code register contains the interrupt mask (I) and five flags that indicate the results of
the instruction just executed. Bits 6 and 5 are set permanently to 1. The following paragraphs describe the
functions of the condition code bits in general terms. For a more detailed explanation of how each
instruction sets the CCR bits, refer to the HCS08 Family Reference Manual, volume 1, Freescale
Semiconductor document order number HCS08RMv1.

                         MC9S08DZ128 Series Data Sheet, Rev. 1

Freescale Semiconductor                                         145
Chapter 7 Central Processor Unit (S08CPUV5)

                                             7  0

       CONDITION CODE REGISTER V 1 1 H I N Z C CCR

                                                   CARRY
                                                   ZERO
                                                   NEGATIVE
                                                   INTERRUPT MASK
                                                   HALF-CARRY (FROM BIT 3)
                                                   TWO'S COMPLEMENT OVERFLOW

       Figure 7-2. Condition Code Register

       Table 7-1. CCR Register Field Descriptions

Field                                                                     Description
  7
  V    Two's Complement Overflow Flag -- The CPU sets the overflow flag when a two's complement overflow occurs.
       The signed branch instructions BGT, BGE, BLE, and BLT use the overflow flag.
  4    0 No overflow
  H    1 Overflow

  3    Half-Carry Flag -- The CPU sets the half-carry flag when a carry occurs between accumulator bits 3 and 4 during
   I   an add-without-carry (ADD) or add-with-carry (ADC) operation. The half-carry flag is required for binary-coded
       decimal (BCD) arithmetic operations. The DAA instruction uses the states of the H and C condition code bits to
  2    automatically add a correction value to the result from a previous ADD or ADC on BCD operands to correct the
  N    result to a valid BCD value.
       0 No carry between bits 3 and 4
  1    1 Carry between bits 3 and 4
  Z
       Interrupt Mask Bit -- When the interrupt mask is set, all maskable CPU interrupts are disabled. CPU interrupts
  0    are enabled when the interrupt mask is cleared. When a CPU interrupt occurs, the interrupt mask is set
  C    automatically after the CPU registers are saved on the stack, but before the first instruction of the interrupt service
       routine is executed.
       Interrupts are not recognized at the instruction boundary after any instruction that clears I (CLI or TAP). This
       ensures that the next instruction after a CLI or TAP will always be executed without the possibility of an intervening
       interrupt, provided I was set.
       0 Interrupts enabled
       1 Interrupts disabled

       Negative Flag -- The CPU sets the negative flag when an arithmetic operation, logic operation, or data
       manipulation produces a negative result, setting bit 7 of the result. Simply loading or storing an 8-bit or 16-bit value
       causes N to be set if the most significant bit of the loaded or stored value was 1.
       0 Non-negative result
       1 Negative result

       Zero Flag -- The CPU sets the zero flag when an arithmetic operation, logic operation, or data manipulation
       produces a result of 0x00 or 0x0000. Simply loading or storing an 8-bit or 16-bit value causes Z to be set if the
       loaded or stor