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

产品描述

搜索
 

MC9S08LC60LK

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

MC9S08LC60LK在线购买

供应商 器件名称 价格 最低购买 库存  
MC9S08LC60LK ¥66.43 1 点击查看 点击购买

器件描述

IC,MICROCONTROLLER,8-BIT,CMOS,QFP,80PIN,PLASTIC

IC,单片机,8位,CMOS,方型扁平式封装,80PIN,塑料

参数
MC9S08LC60LK无铅 Yes
MC9S08LC60LK欧盟RoHS规范 Yes
MC9S08LC60LK状态 ACTIVE
MC9S08LC60LK端子涂层 MATTE TIN

文档预览

MC9S08LC60LK器件文档内容

MC9S08LC60
MC9S08LC36

Data Sheet: Advance Information

This document contains information on a new product under development. Freescale reserves the right to change
or discontinue this product without notice.

HCS08
Microcontrollers

MC9S08LC60
Rev. 2
02/2007

freescale.com

               PRELIMINARY
MC9S08LC60 Features

8-Bit HCS08 Central Processor Unit (CPU)                      Peripherals

      40-MHz HCS08 CPU                                             LCD (liquid crystal display driver) -- Compatible
      HC08 instruction set with added BGND instruction                 with 5-V or 3-V LCD glass displays; functional in
      Background debugging system                                      wait and stop3 low-power modes; selectable
      Breakpoint capability to allow single breakpoint                 frontplane and backplane configurations:
                                                                      4 x 40 or 3 x 41 (80-pin package)
          setting during in-circuit debugging (plus two more          4 x 32 or 3 x 33 (64-pin package)
          breakpoints in on-chip debug module)
      In-Circuit Emulator (ICE) debug module containing            ACMP (analog comparator) -- option to compare to
          two comparators and nine trigger modes. Eight deep            internal reference voltage; output is software
          FIFO for storing change-of-flow addresses and                 selectable to be driven to the input capture of TPM1
          event-only data. ICE debug module supports both               channel 0.
          tag and force breakpoints.
      Support for up to 32 interrupt/reset sources                ADC (analog-to-digital converter) -- 8-channel, 12-
                                                                        bit with automatic compare function, asynchronous
Memory Options                                                          clock source, temperature sensor and internal
                                                                        bandgap reference channel. ADC is hardware
      Dual on-chip in-circuit programmable FLASH                       triggerable using the RTI counter.
          memories with block protection and security
          options; 60K and 36K options available                   SCI (serial communications interface) -- available
                                                                        single-wire mode
      Program/erase of one FLASH array while executing
          from another                                              SPI1 and SPI2 -- Two serial peripheral interface
                                                                        modules
      On-chip random-access memory (RAM); 4K and
          2.5K options available                                    KBI -- Two 8-pin keyboard interrupt modules with
                                                                        software selectable rising or falling edge detect
Power-Saving Features
                                                                   IIC -- Inter-integrated circuit bus module capable
      Wait plus three stops                                            of operation up to 100 kbps with maximum bus
      Software disable of clock monitor and low-voltage                loading; capable of higher baudrates with reduced
                                                                        loading
          interrupt (LVI) for lowest stop current
      Software-generated real-time clock (RTC) functions          TPM1 and TPM2 -- Two timer/pulse-width
                                                                        modulators with selectable input capture, output
          using real-time interrupt (RTI)                               compare, and edge-aligned PWM capability on each
                                                                        channel. Each timer module may be configured for
Configurable Clock Source                                               buffered, centered PWM (CPWM) on all channels.

      Clock source options include crystal, resonator,       Input/Output
          external clock, or internally generated clock with
          precision nonvolatile memory (NVM) trimming               Up to 24 general-purpose input/output (I/O) pins;
                                                                        includes two output-only pins and one input-only
      Automatic clock monitor function                                 pin

System Protection                                                   Software selectable pullups on ports when used as
                                                                        input. Selection is on an individual port bit basis.
      Optional computer operating properly (COP) reset
      Low-voltage detection with reset or interrupt                Software selectable slew rate control on ports when
      Illegal opcode detection with reset                              used as outputs (selection is on an individual port bit
                                                                        basis)
Package Options
                                                                   Software selectable drive strength control on ports
    64-pin low-profile quad flat package (LQFP)                        when used as outputs (selection is on an individual
    80-pin LQFP                                                        port bit basis)

                                                                   Internal pullup on RESET and IRQ pin to reduce
                                                                        customer system cost
                             MC9S08LC60 Data Sheet

                                                     Covers: MC9S08LC60
                                                                 MC9S08LC36

                                                                                                                MC9S08LC60
                                                                                                                          Rev. 2

                                                                                                                        02/2007

This document contains information on a new product under development. Freescale reserves the right to change
or discontinue this product without notice.

                                                               PRELIMINARY
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   Significant changes to LCD chapter and orderable part numbers

        2    02/2007

This document contains information on a new product under development. Freescale reserves the right to
change or discontinue this product without notice.

This product incorporates SuperFlash technology licensed from SST.

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc., 2007. All rights reserved.

                       MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

6                                                                                 Freescale Semiconductor

                       PRELIMINARY
                                                                                   Chapters

Chapter 1   Device Overview .............................................................................. 21
Chapter 2   Pins and Connections ..................................................................... 25
Chapter 3   Modes of Operation ......................................................................... 33
Chapter 4   Memory ............................................................................................. 39
Chapter 5   Resets, Interrupts, and System Configuration ............................. 63
Chapter 6   Parallel Input/Output ....................................................................... 81
Chapter 7   Keyboard Interrupt (S08KBIV2) ...................................................... 95
Chapter 8   Central Processor Unit (S08CPUV2) ............................................ 103
Chapter 9   Liquid Crystal Display Driver (S08LCDV1) .................................. 123
Chapter 10  Internal Clock Generator (S08ICGV4) .......................................... 169
Chapter 11  Timer Pulse-Width Modulator (S08TPMV2) ................................. 197
Chapter 12  Serial Communications Interface (S08SCIV3)............................. 213
Chapter 13  Serial Peripheral Interface (S08SPIV3) ........................................ 233
Chapter 14  Inter-Integrated Circuit (S08IICV1) ............................................... 249
Chapter 15  Analog-to-Digital Converter (S08ADC12V1)................................ 267
Chapter 16  Analog Comparator (S08ACMPV2) .............................................. 293
Chapter 17  Development Support ................................................................... 301
Appendix A  Electrical Characteristics.............................................................. 323
Appendix B  Ordering Information and Mechanical Drawings........................ 351

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            7

                         PRELIMINARY
Section Number           Table of Contents                                         Page

                                      Title

                                               Chapter 1
                                          Device Overview

1.1 Introduction .....................................................................................................................................21
1.2 Devices in the MC9S08LC60 Series ...............................................................................................21
1.3 MCU Block Diagram ......................................................................................................................22
1.4 System Clock Distribution ..............................................................................................................23

                         Chapter 2

                         Pins and Connections

2.1 Introduction .....................................................................................................................................25

2.2 Device Pin Assignment ...................................................................................................................25

2.3 Recommended System Connections ...............................................................................................27

2.3.1  Power (VDD, VSS, VDDAD, VSSAD) ...............................................................................29
2.3.2  ADC Reference Pins (VREFH, VREFL) ...........................................................................29
2.3.3  Oscillator (XTAL, EXTAL) ............................................................................................29

2.3.4 RESET Pin ......................................................................................................................30

2.3.5 Background / Mode Select (BKGD/MS) .......................................................................30

2.3.6 LCD Pins ........................................................................................................................31

       2.3.6.1 LCD Power Pins .............................................................................................31

       2.3.6.2 LCD Frontplane and Backplane Driver Pins ..................................................31

2.3.7 General-Purpose I/O and Peripheral Ports .....................................................................31

                                               Chapter 3
                                        Modes of Operation

3.1 Introduction .....................................................................................................................................33
3.2 Features ...........................................................................................................................................33
3.3 Run Mode ........................................................................................................................................33
3.4 Active Background Mode ................................................................................................................33
3.5 Wait Mode .......................................................................................................................................34
3.6 Stop Modes ......................................................................................................................................35

         3.6.1 Stop3 Mode ....................................................................................................................35
                    3.6.1.1 LVD Enabled in Stop Mode ............................................................................36
                    3.6.1.2 Active BDM Enabled in Stop Mode ...............................................................36

         3.6.2 Stop2 Mode ....................................................................................................................36
         3.6.3 Stop1 Mode ....................................................................................................................37
         3.6.4 On-Chip Peripheral Modules in Stop Modes .................................................................37

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            9

                         PRELIMINARY
Section Number  Title                                                     Page

                                               Chapter 4
                                                Memory

4.1 MC9S08LC60 Series Memory Map ...............................................................................................39
         4.1.1 Reset and Interrupt Vector Assignments ........................................................................40

4.2 Register Addresses and Bit Assignments ........................................................................................42
4.3 RAM ................................................................................................................................................47
4.4 FLASH ............................................................................................................................................48

         4.4.1 Features ...........................................................................................................................49
         4.4.2 Program and Erase Times ...............................................................................................49
         4.4.3 Program and Erase Command Execution .......................................................................50
         4.4.4 Burst Program Execution ...............................................................................................51
         4.4.5 Access Errors ..................................................................................................................53
         4.4.6 FLASH Block Protection ...............................................................................................53
         4.4.7 Vector Redirection ..........................................................................................................54
4.5 Security ............................................................................................................................................54
4.6 FLASH Registers and Control Bits .................................................................................................56
         4.6.1 FLASH Clock Divider Register (FCDIV) ......................................................................56
         4.6.2 FLASH Options Register (FOPT and NVOPT) .............................................................57
         4.6.3 FLASH Configuration Register (FCNFG) .....................................................................58
         4.6.4 FLASH Protection Register (FPROT and NVPROT) ....................................................58
         4.6.5 FLASH Status Register (FSTAT) ...................................................................................60
         4.6.6 FLASH Command Register (FCMD) ............................................................................61

                                               Chapter 5
                     Resets, Interrupts, and System Configuration

5.1 Introduction .....................................................................................................................................63
5.2 Features ...........................................................................................................................................63
5.3 MCU Reset ......................................................................................................................................63
5.4 Computer Operating Properly (COP) Watchdog .............................................................................64
5.5 Interrupts .........................................................................................................................................65

         5.5.1 Interrupt Stack Frame .....................................................................................................66
         5.5.2 External Interrupt Request (IRQ) Pin .............................................................................67

                   5.5.2.1 Pin Configuration Options ..............................................................................67
                   5.5.2.2 Edge and Level Sensitivity ..............................................................................67
         5.5.3 Interrupt Vectors, Sources, and Local Masks .................................................................67
5.6 Low-Voltage Detect (LVD) System ................................................................................................69
         5.6.1 Power-On Reset Operation .............................................................................................69
         5.6.2 LVD Reset Operation .....................................................................................................69
         5.6.3 LVD Interrupt Operation ................................................................................................69
         5.6.4 Low-Voltage Warning (LVW) ........................................................................................69
5.7 Real-Time Interrupt (RTI) ...............................................................................................................69
5.8 Reset, Interrupt, and System Control Registers and Control Bits ...................................................70
         5.8.1 Interrupt Pin Request Status and Control Register (IRQSC) .........................................70
         5.8.2 System Reset Status Register (SRS) ...............................................................................72

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

10                                                                        Freescale Semiconductor

                PRELIMINARY
Section Number           Title                                                     Page

5.8.3   System Background Debug Force Reset Register (SBDFR) ..........................................73
5.8.4   System Options Register (SOPT1) .................................................................................73
5.8.5   System Options Register (SOPT2) .................................................................................74
5.8.6   System Device Identification Register (SDIDH, SDIDL) ..............................................75
5.8.7   System Real-Time Interrupt Status and Control Register (SRTISC) .............................76
5.8.8   System Power Management Status and Control 1 Register (SPMSC1) .........................77
5.8.9   System Power Management Status and Control 2 Register (SPMSC2) .........................78
5.8.10  System Power Management Status and Control 3 Register (SPMSC3) .........................79

                                               Chapter 6
                                       Parallel Input/Output

6.1 Pin Behavior in Stop Modes ............................................................................................................83
6.2 Parallel I/O Registers .......................................................................................................................83

         6.2.1 Port A Registers ..............................................................................................................83
                    6.2.1.1 Port A Data Registers (PTAD) ........................................................................84
                    6.2.1.2 Port A Data Direction Registers (PTADD) .....................................................84

         6.2.2 Port A Control Registers ................................................................................................85
                    6.2.2.1 Internal Pullup Enable (PTAPE) .....................................................................85
                    6.2.2.2 Output Slew Rate Control Enable (PTASE) ...................................................86
                    6.2.2.3 Output Drive Strength Select (PTADS) ..........................................................86

         6.2.3 Port B Registers ..............................................................................................................87
                    6.2.3.1 Port B Data Registers (PTBD) ........................................................................87
                    6.2.3.2 Port B Data Direction Registers (PTBDD) .....................................................88

         6.2.4 Port B Control Registers .................................................................................................88
                    6.2.4.1 Internal Pullup Enable (PTBPE) .....................................................................88
                    6.2.4.2 Output Slew Rate Control Enable (PTBSE) ...................................................89
                    6.2.4.3 Output Drive Strength Select (PTBDS) ..........................................................90

         6.2.5 Port C Registers ..............................................................................................................90
                    6.2.5.1 Port C Data Registers (PTCD) ........................................................................91
                    6.2.5.2 Port C Data Direction Registers (PTCDD) .....................................................91

         6.2.6 Port C Control Registers .................................................................................................91
                    6.2.6.1 Internal Pullup Enable (PTCPE) .....................................................................92
                    6.2.6.2 Output Slew Rate Control Enable (PTCSE) ...................................................93
                    6.2.6.3 Output Drive Strength Select (PTCDS) ..........................................................93

                                               Chapter 7
                                Keyboard Interrupt (S08KBIV2)

7.1 Introduction .....................................................................................................................................95
         7.1.1 Features ...........................................................................................................................97
         7.1.2 Modes of Operation ........................................................................................................97
                    7.1.2.1 KBI in Wait Mode ...........................................................................................97
                    7.1.2.2 KBI in Stop Modes .........................................................................................97
                    7.1.2.3 KBI in Active Background Mode ...................................................................97
         7.1.3 Block Diagram ................................................................................................................97

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            11

                         PRELIMINARY
Section Number  Title                                                     Page

7.2 External Signal Description ............................................................................................................98
7.3 Register Definition ..........................................................................................................................99

         7.3.1 KBIx Status and Control Register (KBIxSC) .................................................................99
         7.3.2 KBIx Pin Enable Register (KBIxPE) .............................................................................99
         7.3.3 KBIx Edge Select Register (KBIxES) ..........................................................................100
7.4 Functional Description ..................................................................................................................100
         7.4.1 Edge Only Sensitivity ...................................................................................................101
         7.4.2 Edge and Level Sensitivity ...........................................................................................101
         7.4.3 KBI Pullup/Pulldown Resistors ....................................................................................101
         7.4.4 KBI Initialization ..........................................................................................................101

                                               Chapter 8
                            Central Processor Unit (S08CPUV2)

8.1 Introduction ...................................................................................................................................103
         8.1.1 Features .........................................................................................................................103

8.2 Programmer's Model and CPU Registers .....................................................................................104
         8.2.1 Accumulator (A) ...........................................................................................................104
         8.2.2 Index Register (H:X) ....................................................................................................104
         8.2.3 Stack Pointer (SP) .........................................................................................................105
         8.2.4 Program Counter (PC) ..................................................................................................105
         8.2.5 Condition Code Register (CCR) ...................................................................................105

8.3 Addressing Modes .........................................................................................................................107
         8.3.1 Inherent Addressing Mode (INH) ................................................................................107
         8.3.2 Relative Addressing Mode (REL) ................................................................................107
         8.3.3 Immediate Addressing Mode (IMM) ...........................................................................107
         8.3.4 Direct Addressing Mode (DIR) ....................................................................................107
         8.3.5 Extended Addressing Mode (EXT) ..............................................................................108
         8.3.6 Indexed Addressing Mode ............................................................................................108
                   8.3.6.1 Indexed, No Offset (IX) ................................................................................108
                   8.3.6.2 Indexed, No Offset with Post Increment (IX+) .............................................108
                   8.3.6.3 Indexed, 8-Bit Offset (IX1) ...........................................................................108
                   8.3.6.4 Indexed, 8-Bit Offset with Post Increment (IX1+) .......................................108
                   8.3.6.5 Indexed, 16-Bit Offset (IX2) .........................................................................108
                   8.3.6.6 SP-Relative, 8-Bit Offset (SP1) ....................................................................108
                   8.3.6.7 SP-Relative, 16-Bit Offset (SP2) ..................................................................109

8.4 Special Operations .........................................................................................................................109
         8.4.1 Reset Sequence .............................................................................................................109
         8.4.2 Interrupt Sequence ........................................................................................................109
         8.4.3 Wait Mode Operation ...................................................................................................110
         8.4.4 Stop Mode Operation ...................................................................................................110
         8.4.5 BGND Instruction ........................................................................................................111

8.5 HCS08 Instruction Set Summary ..................................................................................................112

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

12                                                                        Freescale Semiconductor

                PRELIMINARY
Section Number           Title                                                     Page

                         Chapter 9

                         Liquid Crystal Display Driver (S08LCDV1)

9.1 Introduction ...................................................................................................................................123

9.1.1 Features .........................................................................................................................125

9.1.2 Modes of Operation ......................................................................................................125

9.1.3 Block Diagram ..............................................................................................................126

9.2 External Signal Description ..........................................................................................................127

9.2.1 BP[2:0] .........................................................................................................................127

9.2.2 FP[39:0] ........................................................................................................................127

9.2.3 BP3/FP40 ......................................................................................................................127

9.2.4  VLCD .............................................................................................................................127
9.2.5  VLL1, VLL2, VLL3 ........................................................................................................127
9.2.6  Vcap1, Vcap2 ...............................................................................................................128

9.3 Register Definition ........................................................................................................................128

9.3.1 LCD Control Register 0 (LCDCR0) .............................................................................128

9.3.2 LCD Control Register 1 (LCDCR1) .............................................................................129

9.3.3 LCD Frontplane Enable Registers 05 (FPENR0FPENR5) ......................................130

9.3.4 LCDRAM Registers (LCDRAM) ................................................................................131

       9.3.4.1 LCDRAM Registers as On/Off Selector (LCDDRMS = 0) .........................133

       9.3.4.2 LCDRAM Registers as Blink Enable/Disable (LCDDRMS = 1) .................133

9.3.5 LCD Clock Source Register (LCDCLKS) ...................................................................133

9.3.6 LCD Voltage Supply Register (LCDSUPPLY) ............................................................134

9.3.7 LCD Blink Control Register (LCDBCTL) ...................................................................135

9.3.8 LCD Command and Status Register (LCDCMD) ........................................................136

9.4 Functional Description ..................................................................................................................137

9.4.1 LCD Driver Description ...............................................................................................138

       9.4.1.1 LCD Duty Cycle ...........................................................................................138

       9.4.1.2 LCD Bias ......................................................................................................139

       9.4.1.3 LCD Module Waveform Base Clock and Frame Frequency ........................139

       9.4.1.4 LCD Waveform Examples ............................................................................141

9.4.2 LCDRAM Registers .....................................................................................................149

       9.4.2.1 LCDRAM Data Clear Command ..................................................................149

       9.4.2.2 LCDRAM Data Blank Command .................................................................149

9.4.3 LCD Blinking ...............................................................................................................149

       9.4.3.1 LCD Segment Blinking .................................................................................150

       9.4.3.2 Blink Frequency ............................................................................................150

9.4.4 LCD Charge Pump, Voltage Divider, and Power Supply Operation ............................150

       9.4.4.1 LCD Charge Pump and Voltage Divider .......................................................152

       9.4.4.2 LCD Power Supply and Voltage Buffer Configuration .................................153

9.4.5 Resets ............................................................................................................................155

9.4.6 Interrupts .......................................................................................................................155

9.5 Initialization Section .....................................................................................................................155

9.5.1 Initialization Sequence .................................................................................................156

9.5.2 Initialization Examples .................................................................................................157

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            13

                         PRELIMINARY
Section Number  Title                                                     Page

                   9.5.2.1 Initialization Example 1 ................................................................................158
                   9.5.2.2 Initialization Example 2 ................................................................................159
                   9.5.2.3 Initialization Example 3 ................................................................................161
                   9.5.2.4 Initialization Example 4 ................................................................................162
9.6 Application Information ................................................................................................................163
         9.6.1 LCD Seven Segment Example Description ..................................................................163
                   9.6.1.1 LCD Module Waveforms ..............................................................................165
                   9.6.1.2 Segment On Driving Waveform ....................................................................166
                   9.6.1.3 Segment Off Driving Waveform ...................................................................166
         9.6.2 LCD Contrast Control ..................................................................................................166
         9.6.3 LCD Power Consumption ............................................................................................167

                                              Chapter 10
                            Internal Clock Generator (S08ICGV4)

10.1 Introduction ...................................................................................................................................169
10.2 Introduction ...................................................................................................................................171

         10.2.1 Features .........................................................................................................................171
         10.2.2 Modes of Operation ......................................................................................................172
         10.2.3 Block Diagram ..............................................................................................................173
10.3 External Signal Description ..........................................................................................................173
         10.3.1 EXTAL -- External Reference Clock / Oscillator Input ..............................................173
         10.3.2 XTAL -- Oscillator Output ..........................................................................................173
         10.3.3 External Clock Connections .........................................................................................174
         10.3.4 External Crystal/Resonator Connections ......................................................................174
10.4 Register Definition ........................................................................................................................175
         10.4.1 ICG Control Register 1 (ICGC1) .................................................................................175
         10.4.2 ICG Control Register 2 (ICGC2) .................................................................................177
         10.4.3 ICG Status Register 1 (ICGS1) ....................................................................................178
         10.4.4 ICG Status Register 2 (ICGS2) ....................................................................................179
         10.4.5 ICG Filter Registers (ICGFLTU, ICGFLTL) ...............................................................179
         10.4.6 ICG Trim Register (ICGTRM) .....................................................................................180
10.5 Functional Description ..................................................................................................................180
         10.5.1 Off Mode (Off) .............................................................................................................181

                    10.5.1.1 BDM Active ..................................................................................................181
                    10.5.1.2 OSCSTEN Bit Set .........................................................................................181
                    10.5.1.3 Stop/Off Mode Recovery ..............................................................................181
         10.5.2 Self-Clocked Mode (SCM) ...........................................................................................181
         10.5.3 FLL Engaged, Internal Clock (FEI) Mode ...................................................................182
         10.5.4 FLL Engaged Internal Unlocked ..................................................................................183
         10.5.5 FLL Engaged Internal Locked ......................................................................................183
         10.5.6 FLL Bypassed, External Clock (FBE) Mode ...............................................................183
         10.5.7 FLL Engaged, External Clock (FEE) Mode .................................................................183
                    10.5.7.1 FLL Engaged External Unlocked .................................................................184
                    10.5.7.2 FLL Engaged External Locked .....................................................................184

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

14                                                                        Freescale Semiconductor

                PRELIMINARY
Section Number           Title                                                     Page

         10.5.8 FLL Lock and Loss-of-Lock Detection ........................................................................184
         10.5.9 FLL Loss-of-Clock Detection ......................................................................................185
         10.5.10 Clock Mode Requirements ...........................................................................................186
         10.5.11 Fixed Frequency Clock .................................................................................................187
         10.5.12 High Gain Oscillator .....................................................................................................187
10.6 Initialization/Application Information ..........................................................................................187
         10.6.1 Introduction ..................................................................................................................187
         10.6.2 Example #1: External Crystal = 32 kHz, Bus Frequency = 4.19 MHz ........................189
         10.6.3 Example #2: External Crystal = 4 MHz, Bus Frequency = 20 MHz ............................191
         10.6.4 Example #3: No External Crystal Connection, 5.4 MHz Bus Frequency ....................193
         10.6.5 Example #4: Internal Clock Generator Trim ................................................................195

                                              Chapter 11
                        Timer Pulse-Width Modulator (S08TPMV2)

11.1 Introduction ...................................................................................................................................197
         11.1.1 Features .........................................................................................................................199
         11.1.2 Block Diagram ..............................................................................................................199

11.2 External Signal Description ..........................................................................................................201
         11.2.1 External TPM Clock Sources .......................................................................................201
         11.2.2 TPMxCHn -- TPMx Channel n I/O Pins .....................................................................201

11.3 Register Definition ........................................................................................................................201
         11.3.1 Timer x Status and Control Register (TPMxSC) ..........................................................202
         11.3.2 Timer x Counter Registers (TPMxCNTH:TPMxCNTL) .............................................203
         11.3.3 Timer x Counter Modulo Registers (TPMxMODH:TPMxMODL) .............................204
         11.3.4 Timer x Channel n Status and Control Register (TPMxCnSC) ....................................205
         11.3.5 Timer x Channel Value Registers (TPMxCnVH:TPMxCnVL) ....................................206

11.4 Functional Description ..................................................................................................................207
         11.4.1 Counter .........................................................................................................................207
         11.4.2 Channel Mode Selection ...............................................................................................208
                   11.4.2.1 Input Capture Mode ......................................................................................208
                   11.4.2.2 Output Compare Mode .................................................................................209
                   11.4.2.3 Edge-Aligned PWM Mode ...........................................................................209
         11.4.3 Center-Aligned PWM Mode ........................................................................................210

11.5 TPM Interrupts ..............................................................................................................................211
         11.5.1 Clearing Timer Interrupt Flags .....................................................................................211
         11.5.2 Timer Overflow Interrupt Description ..........................................................................211
         11.5.3 Channel Event Interrupt Description ............................................................................212
         11.5.4 PWM End-of-Duty-Cycle Events .................................................................................212

                                              Chapter 12
                      Serial Communications Interface (S08SCIV3)

12.1 Introduction ...................................................................................................................................213
         12.1.1 Features .........................................................................................................................216
         12.1.2 Modes of Operation ......................................................................................................216

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            15

                         PRELIMINARY
Section Number  Title                                                     Page

         12.1.3 Block Diagram ..............................................................................................................217
12.2 Register Definition ........................................................................................................................219

         12.2.1 SCI Baud Rate Registers (SCIBDH, SCIBHL) ............................................................219
         12.2.2 SCI Control Register 1 (SCIC1) ...................................................................................220
         12.2.3 SCI Control Register 2 (SCIC2) ...................................................................................221
         12.2.4 SCI Status Register 1 (SCIS1) ......................................................................................222
         12.2.5 SCI Status Register 2 (SCIS2) ......................................................................................224
         12.2.6 SCI Control Register 3 (SCIC3) ...................................................................................224
         12.2.7 SCI Data Register (SCID) ............................................................................................225
12.3 Functional Description ..................................................................................................................226
         12.3.1 Baud Rate Generation ...................................................................................................226
         12.3.2 Transmitter Functional Description ..............................................................................226

                   12.3.2.1 Send Break and Queued Idle .........................................................................227
         12.3.3 Receiver Functional Description ..................................................................................228

                   12.3.3.1 Data Sampling Technique .............................................................................228
                   12.3.3.2 Receiver Wakeup Operation .........................................................................229
         12.3.4 Interrupts and Status Flags ...........................................................................................229
12.4 Additional SCI Functions ..............................................................................................................230
         12.4.1 8- and 9-Bit Data Modes ..............................................................................................230
         12.4.2 Stop Mode Operation ...................................................................................................231
         12.4.3 Loop Mode ...................................................................................................................231
         12.4.4 Single-Wire Operation ..................................................................................................231

                                              Chapter 13
                           Serial Peripheral Interface (S08SPIV3)

13.1 Introduction ...................................................................................................................................233
         13.1.1 Features .........................................................................................................................235
         13.1.2 Block Diagrams ............................................................................................................235
                    13.1.2.1 SPI System Block Diagram ..........................................................................235
                    13.1.2.2 SPI Module Block Diagram ..........................................................................236
         13.1.3 SPI Baud Rate Generation ............................................................................................237

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

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

13.4 Register Definition ........................................................................................................................239
         13.4.1 SPI Control Register 1 (SPIxC1) ..................................................................................239
         13.4.2 SPI Control Register 2 (SPIxC2) ..................................................................................240
         13.4.3 SPI Baud Rate Register (SPIxBR) ...............................................................................241
         13.4.4 SPI Status Register (SPIxS) ..........................................................................................242
         13.4.5 SPI Data Register (SPIxD) ...........................................................................................243

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

16                                                                        Freescale Semiconductor

                PRELIMINARY
Section Number           Title                                                     Page

13.5 Functional Description ..................................................................................................................244
         13.5.1 SPI Clock Formats ........................................................................................................244
         13.5.2 SPI Interrupts ................................................................................................................247
         13.5.3 Mode Fault Detection ...................................................................................................247

                                              Chapter 14
                              Inter-Integrated Circuit (S08IICV1)

14.1 Introduction ...................................................................................................................................249
         14.1.1 Features .........................................................................................................................251
         14.1.2 Modes of Operation ......................................................................................................251
         14.1.3 Block Diagram ..............................................................................................................252

14.2 External Signal Description ..........................................................................................................252
         14.2.1 SCL -- Serial Clock Line .............................................................................................252
         14.2.2 SDA -- Serial Data Line ..............................................................................................252

14.3 Register Definition ........................................................................................................................252
         14.3.1 IIC Address Register (IICA) .........................................................................................253
         14.3.2 IIC Frequency Divider Register (IICF) ........................................................................253
         14.3.3 IIC Control Register (IICC) ..........................................................................................256
         14.3.4 IIC Status Register (IICS) ............................................................................................257
         14.3.5 IIC Data I/O Register (IICD) ........................................................................................258

14.4 Functional Description ..................................................................................................................259
         14.4.1 IIC Protocol ..................................................................................................................259
                    14.4.1.1 START Signal ...............................................................................................260
                    14.4.1.2 Slave Address Transmission .........................................................................260
                    14.4.1.3 Data Transfer .................................................................................................260
                    14.4.1.4 STOP Signal ..................................................................................................261
                    14.4.1.5 Repeated START Signal ...............................................................................261
                    14.4.1.6 Arbitration Procedure ....................................................................................261
                    14.4.1.7 Clock Synchronization ..................................................................................261
                    14.4.1.8 Handshaking .................................................................................................262
                    14.4.1.9 Clock Stretching ............................................................................................262

14.5 Resets ............................................................................................................................................262
14.6 Interrupts .......................................................................................................................................262

         14.6.1 Byte Transfer Interrupt .................................................................................................263
         14.6.2 Address Detect Interrupt ...............................................................................................263
         14.6.3 Arbitration Lost Interrupt .............................................................................................263
14.7 Initialization/Application Information ..........................................................................................264

                                              Chapter 15
                       Analog-to-Digital Converter (S08ADC12V1)

15.1 Introduction ...................................................................................................................................267
         15.1.1 ADC Configuration Information ..................................................................................267
                   15.1.1.1 Channel Assignments ....................................................................................267
                   15.1.1.2 Alternate Clock .............................................................................................268

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            17

                         PRELIMINARY
Section Number  Title                                                     Page

            15.1.1.3 Hardware Trigger ..........................................................................................268

            15.1.1.4 Analog Pin Enables .......................................................................................268

            15.1.1.5 Temperature Sensor ......................................................................................268

            15.1.1.6 Low-Power Mode Operation ........................................................................269

    15.1.2 Features .........................................................................................................................270

    15.1.3 Block Diagram ..............................................................................................................270

15.2 External Signal Description ..........................................................................................................271

    15.2.1  Analog Power (VDDAD) ................................................................................................272
    15.2.2  Analog Ground (VSSAD) ..............................................................................................272
    15.2.3  Voltage Reference High (VREFH) .................................................................................272
    15.2.4  Voltage Reference Low (VREFL) ..................................................................................272
    15.2.5  Analog Channel Inputs (ADx) ......................................................................................272

15.3 Register Definition ........................................................................................................................272

    15.3.1 Status and Control Register 1 (ADCSC1) ....................................................................272

    15.3.2 Status and Control Register 2 (ADCSC2) ....................................................................274

    15.3.3 Data Result High Register (ADCRH) ..........................................................................275

    15.3.4 Data Result Low Register (ADCRL) ............................................................................275

    15.3.5 Compare Value High Register (ADCCVH) ..................................................................276

    15.3.6 Compare Value Low Register (ADCCVL) ...................................................................276

    15.3.7 Configuration Register (ADCCFG) ..............................................................................276

    15.3.8 Pin Control 1 Register (APCTL1) ................................................................................278

    15.3.9 Pin Control 2 Register (APCTL2) ................................................................................279

    15.3.10 Pin Control 3 Register (APCTL3) ................................................................................280

15.4 Functional Description ..................................................................................................................281

    15.4.1 Clock Select and Divide Control ..................................................................................281

    15.4.2 Input Select and Pin Control .........................................................................................282

    15.4.3 Hardware Trigger ..........................................................................................................282

    15.4.4 Conversion Control .......................................................................................................282

            15.4.4.1 Initiating Conversions ...................................................................................282

            15.4.4.2 Completing Conversions ...............................................................................283

            15.4.4.3 Aborting Conversions ...................................................................................283

            15.4.4.4 Power Control ...............................................................................................283

            15.4.4.5 Sample Time and Total Conversion Time .....................................................283

    15.4.5 Automatic Compare Function ......................................................................................285

    15.4.6 MCU Wait Mode Operation .........................................................................................285

    15.4.7 MCU Stop3 Mode Operation .......................................................................................285

            15.4.7.1 Stop3 Mode With ADACK Disabled ............................................................285

            15.4.7.2 Stop3 Mode With ADACK Enabled .............................................................286

    15.4.8 MCU Stop1 and Stop2 Mode Operation ......................................................................286

15.5 Initialization Information ..............................................................................................................286

    15.5.1 ADC Module Initialization Example ...........................................................................286

            15.5.1.1 Initialization Sequence ..................................................................................286

            15.5.1.2 Pseudo -- Code Example .............................................................................287

15.6 Application Information ................................................................................................................288

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

18                                                                        Freescale Semiconductor

                PRELIMINARY
Section Number           Title                                                     Page

15.6.1  External Pins and Routing ............................................................................................288
15.6.2  15.6.1.1 Analog Supply Pins ......................................................................................288
        15.6.1.2 Analog Reference Pins ..................................................................................289
        15.6.1.3 Analog Input Pins .........................................................................................289
        Sources of Error ............................................................................................................290
        15.6.2.1 Sampling Error ..............................................................................................290
        15.6.2.2 Pin Leakage Error .........................................................................................290
        15.6.2.3 Noise-Induced Errors ....................................................................................290
        15.6.2.4 Code Width and Quantization Error .............................................................291
        15.6.2.5 Linearity Errors .............................................................................................291
        15.6.2.6 Code Jitter, Non-Monotonicity and Missing Codes ......................................292

                                              Chapter 16
                             Analog Comparator (S08ACMPV2)

16.1 Introduction ...................................................................................................................................293
         16.1.1 ACMP/TPM1 Configuration Information ....................................................................293
         16.1.2 AMCPO Availability ....................................................................................................293
         16.1.3 Features .........................................................................................................................295
         16.1.4 Modes of Operation ......................................................................................................295
                    16.1.4.1 ACMP in Wait Mode ....................................................................................295
                    16.1.4.2 ACMP in Stop Modes ...................................................................................295
                    16.1.4.3 ACMP in Active Background Mode .............................................................295
         16.1.5 Block Diagram ..............................................................................................................295

16.2 External Signal Description ..........................................................................................................297
16.3 Register Definition ........................................................................................................................297

         16.3.1 ACMP Status and Control Register (ACMPSC) ..........................................................298
16.4 Functional Description ..................................................................................................................299

                                              Chapter 17
                                      Development Support

17.1 Introduction ...................................................................................................................................301
         17.1.1 Features .........................................................................................................................301

17.2 Background Debug Controller (BDC) ..........................................................................................302
         17.2.1 BKGD Pin Description .................................................................................................302
         17.2.2 Communication Details ................................................................................................303
         17.2.3 BDC Commands ...........................................................................................................307
         17.2.4 BDC Hardware Breakpoint ..........................................................................................309

17.3 On-Chip Debug System (DBG) ....................................................................................................309
         17.3.1 Comparators A and B ...................................................................................................310
         17.3.2 Bus Capture Information and FIFO Operation .............................................................310
         17.3.3 Change-of-Flow Information ........................................................................................311
         17.3.4 Tag vs. Force Breakpoints and Triggers .......................................................................311
         17.3.5 Trigger Modes ..............................................................................................................312
         17.3.6 Hardware Breakpoints ..................................................................................................314

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            19

                         PRELIMINARY
Section Number  Title                                                     Page

17.4 Register Definition ........................................................................................................................314
         17.4.1 BDC Registers and Control Bits ...................................................................................314
                   17.4.1.1 BDC Status and Control Register (BDCSCR) ..............................................315
                   17.4.1.2 BDC Breakpoint Match Register (BDCBKPT) ............................................316
         17.4.2 System Background Debug Force Reset Register (SBDFR) ........................................316
         17.4.3 DBG Registers and Control Bits ..................................................................................317
                   17.4.3.1 Debug Comparator A High Register (DBGCAH) ........................................317
                   17.4.3.2 Debug Comparator A Low Register (DBGCAL) .........................................317
                   17.4.3.3 Debug Comparator B High Register (DBGCBH) .........................................317
                   17.4.3.4 Debug Comparator B Low Register (DBGCBL) ..........................................317
                   17.4.3.5 Debug FIFO High Register (DBGFH) ..........................................................318
                   17.4.3.6 Debug FIFO Low Register (DBGFL) ...........................................................318
                   17.4.3.7 Debug Control Register (DBGC) ..................................................................319
                   17.4.3.8 Debug Trigger Register (DBGT) ..................................................................320
                   17.4.3.9 Debug Status Register (DBGS) .....................................................................321

                                              Appendix A
                                    Electrical Characteristics

A.1 Introduction ...................................................................................................................................323
A.2 Absolute Maximum Ratings ..........................................................................................................323
A.3 Thermal Characteristics .................................................................................................................324
A.4 Electrostatic Discharge (ESD) Protection Characteristics ............................................................325
A.5 DC Characteristics .........................................................................................................................325
A.6 Supply Current Characteristics ......................................................................................................330
A.7 ADC Characteristics ......................................................................................................................333
A.8 LCD Characteristics ......................................................................................................................336
A.9 Internal Clock Generation Module Characteristics .......................................................................339

         A.9.1 ICG Frequency Specifications ........................................................................................339
A.10 AC Characteristics .........................................................................................................................341

         A.10.1 Control Timing ...............................................................................................................341
         A.10.2 Timer/PWM (TPM) Module Timing ..............................................................................342
         A.10.3 SPI Timing ......................................................................................................................344
A.11 FLASH Specifications ...................................................................................................................347
A.12 EMC Performance .........................................................................................................................348
         A.12.1 Radiated Emissions .........................................................................................................348
         A.12.2 Conducted Transient Susceptibility ................................................................................348

                                              Appendix B
                    Ordering Information and Mechanical Drawings

B.1 Ordering Information ....................................................................................................................351
B.2 Mechanical Drawings ....................................................................................................................351

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

20                                                                        Freescale Semiconductor

                PRELIMINARY
Chapter 1
Device Overview

1.1 Introduction

MC9S08LC60 Series MCUs 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.2 Devices in the MC9S08LC60 Series

Table 1-1 lists the devices available in the MC9S08LC60 Series and summarizes the differences among
them.

                                           Table 1-1. Devices in the MC9S08LC60 Series

    Device               FLASH A         FLASH B           RAM                     Package
MC9S08LC60                  32K             28K             4K
MC9S08LC36                  24K             12K            2.5K                    80 LQFP
                                                                                   64 LQFP

                         Table 1-2. Package Options by Feature

                                                  Package

                             Feature          80-Pin           64-Pin

                              ACMP              yes              yes
                               ADC             8-ch             2-ch
                                IIC             yes              yes
                               IRQ              yes              yes
                               KBI1
                               KBI2               8                2
                               SCI                8                8
                               SPI1             yes              yes
                               SPI2             yes              yes
                              TPM1              yes              yes
                              TPM2             2-ch             2-ch
                                               2-ch             2-ch
                             Shared          24 - I/O         18 - I/O
                         I/O pins (max)  2 - Output only  2 - Output only
                                          1- Input only    1- Input only
                               LCD             4x40             4x32
                                               3x41             3x33

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                  PRELIMINARY                                        21
Chapter 1 Device Overview

1.3 MCU Block Diagram

Figure 1-1 shows the structure of the MC9S08LC60 Series MCUs.

             HCS08 CORE                   ON-CHIP ICE
                                    DEBUG MODULE (DBG)
             CPU           INT
                                                 12-BIT
             BKGD          BKP        ANALOG-TO-DIGITAL      4 ADP[7:4]                               PTA[7:4]/KBI1P[7:4]/ADP[7:4]
                                       CONVERTER (ADC)             ADP3
             HCS08 SYSTEM CONTROL                                  ADP2                       PORT A  PTA3/KBI1P3/ADP3/ACMP
                                    ANALOG COMPARATOR              ADP1                               PTA2/KBI1P2/ADP2/ACMP+
             RESETS AND INTERRUPTS              (ACMP)             ADP0
               MODES OF OPERATION
                POWER MANAGEMENT                           ACMP

                                                           ACMP+

                                    8-BIT KEYBOARD         8                                          PTA[1:0]/KBI1P[1:0]/ADP[1:0]

             RTI           COP      INTERRUPT (KBI1)

             IRQ           LVD                             SS1                                        PTB7/KBI2P4/SS1
                                                           SPSCK1                                     PTB6/KBI2P3/SPSCK1
                  USER FLASH A      SERIAL PERIPHERAL      MISO1                              PORT B
                                      INTERFACE (SPI1)     MOSI1                                      PTB5/MOSI1/SCL
             (LC60 = 32,768 BYTES)                                                                    PTB4/MISO1/SDA
             (LC36 = 24,576 BYTES)     IIC MODULE (IIC)    SCL                                        PTB3/KBI2P2
                                                           SDA                                        PTB2/RESET
                  USER FLASH B         8-BIT KEYBOARD
                                      INTERRUPT (KBI2)                  RESET                         PTB1/KBI2P1/XTAL
             (LC60 = 28,464 BYTES)                            5                                       PTB0/KBI2P0/EXTAL
             (LC36 = 12,288 BYTES)                            3

                    USER RAM                                      XTAL
                                                                  EXTAL
             (LC60 = 4096 BYTES)
             (LC36 = 2560 BYTES)

                                                                                     IRQ              PTC7/KBI2P7/IRQ/TPMCLK
                                                                                                      PTC6/BKGD/MS
                   INTERNAL CLOCK   2-CHANNEL TIMER/PWM                              TPM2CH1          PTC5/KBI2P6/TPM2CH1
                  GENERATOR (ICG)                (TPM2)                              TPM2CH0          PTC4/KBI2P5/TPM2CH0

             LOW-POWER OSCILLATOR   2-CHANNEL TIMER/PWM    TPMCLK                             PORT C  PTC3/SS2/TPM1CH1
                                                 (TPM1)             TPM1CH0                           PTC2/SPSCK2/TPM1CH0
      VLCD   LIQUID CRYSTAL                                         TPM1CH1
       VLL1  DISPLAY DRIVER           SERIAL PERIPHERAL                                               PTC1/MOSI2/TxD
       VLL2                              INTERFACE (SPI2)     SS2                                     PTC0/MISO2/RxD
       VLL3         LCD                                       SPSCK2
     VCAP1                                                    MOSI2
     VCAP2                                                    MISO2
   BP[2:0]
BP3/FP40                                                                        TxD
  FP[39:0]
                                    SERIAL COMMUNICATIONS RxD
        VDD                                INTERFACE (SCI)
        VSS
                   VOLTAGE          NOTES:
  VREFH           REGULATOR           1. Port pins are software configurable with pullup device if input port.
   VREFL                              2. Pin contains software configurable pullup/pulldown device if IRQ enabled
  VDDAD                                   (IRQPE = 1).
  VSSAD                               3. IRQ does not have a clamp diode to VDD. IRQ should not be driven above VDD.
                                      4. Pin contains integrated pullup device.
                                      5. Input-only RESET is shared with output-only PTB2. Default function after reset is
                                          RESET.
                                      6. IRQ is shared with PTC7/KBI2P7/TPMCLK. Default function after reset is
                                          output-only PTC7.
                                      7. PTC6/BKGD/MS is an output only pin
                                      8. FP[39:32], PTA[1:0], and PTA[7:4] are not available in the 64 LQFP.
                                      9. ACMPO is not available.

                                    Figure 1-1. MC9S08LC60 Series Block Diagram

                           MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

22                                  PRELIMINARY                                                       Freescale Semiconductor
                                                                                                 Chapter 1 Device Overview

Table 1-3 lists the functional versions of the on-chip modules.

                                                         Table 1-3. Module Versions

                                                   Module                               Version

                              Analog Comparator (ACMP)                                      2
                              Analog-to-Digital Converter (ADC)                             1
                              Internal Clock Generator (ICG)                                4
                              Inter-Integrated Circuit (IIC)                                1
                              Keyboard Interrupt (KBI)                                      2
                              Serial Communications Interface (SCI)                         3
                              Serial Peripheral Interface (SPI)                             3
                              Timer Pulse-Width Modulator (TPM)                             2
                              Liquid Crystal Display Module (LCD)                           1
                              Central Processing Unit (CPU)                                 2

1.4 System Clock Distribution

    1-kHz                                                                          TPMCLK
ICG
                     SYSTEM                     TPM1  TPM2                         IIC     SCI   SPI1                     SPI2   ACMP

                     CONTROL
                       LOGIC

           ICGERCLK           RTI

           FFE

                     2

                              FIXED FREQ CLOCK
                                    (XCLK)

           ICGOUT         2  BUSCLK

           ICGLCLK*

                     CPU                        BDC   LCD                          COP     ADC   RAM                      FLASH

           * ICGLCLK is the alternate BDC clock source for the MC9S08LC60 Series.          ADC has min and max            FLASH has frequency
                                                                                           frequency requirements.        requirements for program
                                                                                           See Chapter 1, "Introduction"  and erase operation.
                                                                                           and the Electricals Appendix.  See the Electricals Appendix.

                              Figure 1-2. System Clock Distribution Diagram

Some of the modules inside the MCU have clock source choices. Figure 1-2 shows a simplified clock
connection diagram. The ICG supplies the clock sources:

    ICGOUT is an output of the ICG module. It is one of the following:
         -- The external crystal oscillator
         -- An external clock source
         -- The output of the digitally-controlled oscillator (DCO) in the frequency-locked loop
             sub-module

                              MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                              PRELIMINARY                                                                 23
Chapter 1 Device Overview

        Control bits inside the ICG determine which source is connected.
    FFE is a control signal generated inside the ICG. If the frequency of ICGOUT > 4 the frequency

         of ICGERCLK, this signal is a logic 1 and the fixed-frequency clock will be the ICGERCLK.
         Otherwise the fixed-frequency clock will be BUSCLK.
    ICGLCLK -- Development tools can select this internal self-clocked source (~ 8 MHz) to speed
         up BDC communications in systems where the bus clock is slow.
    ICGERCLK -- External reference clock can be selected as the real-time interrupt clock source.

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

24  PRELIMINARY                                               Freescale Semiconductor
Chapter 2
Pins and Connections

2.1 Introduction

This section describes signals that connect to package pins. It includes a pinout diagram, a table of signal
properties, and detailed discussion of signals.

2.2 Device Pin Assignment

Figure 2-1 and Figure 2-2 show the pin assignments for the MC9S08LC60 Series devices in its available
packages.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               25
Chapter 2 Pins and Connections

                                80 FP7
                                   79 FP8
                                       78 FP9
                                           77 FP10
                                              76 FP11
                                                  75 FP12
                                                      74 FP13
                                                         73 FP14
                                                             72 FP15
                                                                 71 FP16
                                                                     70 FP17
                                                                        69 FP18
                                                                            68 FP19
                                                                                67 FP20
                                                                                   66 FP21
                                                                                       65 FP22
                                                                                           64 FP23
                                                                                               63 FP24
                                                                                                  62 FP25
                                                                                                      61 FP26
                                   FP6 1                         60 FP27
                                           MC9S08LC60 Series     59 FP28
                                   FP5 2                         58 FP29
                                                    80-Pin LQFP  57 FP30
                                   FP4 3                         56 FP31
                                                                 55 FP32
                                   FP3 4                         54 FP33
                                                                 53 FP34
                                   FP2 5                         52 FP35
                                                                 51 FP36
                                   FP1 6                         50 FP37
                                                                 49 FP38
                                   FP0 7                         48 FP39
                                                                 47 PTC7/KBI2P7/IRQ/TPMCLK
                                  BP0 8                          46 PTC6/ BKGD/MS
                                                                 45 PTC5/KBI2P6/TPM2CH1
                                  BP1 9                          44 PTC4/KBI2P5/TPM2CH0
                                                                 43 PTC3/SS2/TPM1CH1
                                  BP2 10                         42 PTC2/SPSCK2/TPM1CH0
                                                                 41 PTC1/MOSI2/TxD
                          BP3/FP40 11
                                         PTA3/KBI1P3/ADP3/ACMP 21
                                 Vcap1 12   PTA4/KBI1P4/ADP4 22
                                 Vcap2 13       PTA5/KBI1P5/ADP5 23
                                  VLL1 14           PTA6/KBI1P6/ADP6 24
                                  VLL2 15              PTA7/KBI1P7/ADP7 25
                                  VLL3 16                  VSSAD 26
                                 VLCD 17                       VREFL 27
             PTA0/KBI1P0/ADP0 18                                  VREFH 28
                                                                      VDDAD 29
             PTA1/KBI1P1/ADP1 19
    PTA2/KBI1P2/ADP2/ACMP 20                                              PTB0/KBI2P0/EXTAL 30
                                                                              PTB1/KBI2P1/XTAL 31
                                      +                                          VDD 32
                                                                                     VSS 33
                                                                                         PTB2/RESET 34
                                                                                            PTB3/KBI2P2 35
                                                                                                PTB4/MISO1/SDA 36
                                                                                                    PTB5/MOSI1/SCL 37

                                                                                                        PTB6/KBI2P3/SPSCK1 38
                                                                                                           PTB7/KBI2P4/SS1 39
                                                                                                               PTC0/MISO2/RxD 40

    Figure 2-1. MC9S08LC60 Series in 80-Pin LQFP Package

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

26                                         PRELIMINARY                                                                            Freescale Semiconductor
                                                                                                       Chapter 2 Pins and Connections

                                 FP5 1 64 FP6                                                          48 FP22
                                          63 FP7                                                       47 FP23
                                 FP4 2        62 FP8                                                   46 FP24
                                                  61 FP9                                               45 FP25
                                 FP3 3               60 FP10                                           44 FP26
                                                         59 FP11                                       43 FP27
                                 FP2 4                       58 FP12                                   42 FP28
                                                                57 FP13                                41 FP29
                                 FP1 5                              56 FP14                            40 FP30
                                                                        55 FP15                        39 FP31
                                 FP0 6                                      54 FP16                    38 PTC7/KBI2P7/IRQ/TPMCLK
                                                                               53 FP17                 37 PTC6 /BKGD/MS
                                 BP0 7                                             52 FP18             36 PTC5/KBI2P6/TPM2CH1
                                                                                       51 FP19         35 PTC4/KBI2P5/TPM2CH0
                                 BP1 8                                                    50 FP20      34 PTC3/SS2/TPM1CH1
                                                                                              49 FP21  33 PTC2/SPSCK2/TPM1CH0
                                 BP2 9
                                         MC9S08LC60 Series
                         BP3/FP40 10
                                                  64-Pin LQFP
                              VCAP1 11
                              VCAP2 12

                                VLL1 13
                                VLL2 14
                                VLL3 15
                               VLCD 16
                         PTA2/KBI1P2/ADP2/ACMP+ 17
                            PTA3/KBI1P3/ADP3/ACMP 18

                                VSSAD/VREFL 19
                                    VDDAD/VREFH 20
                                       PTB0/KBI2P0/EXTAL 21
                                           PTB1/KBI2P1/XTAL 22

                                               VDD 23
                                                   VSS 24
                                                      PTB2/RESET 25
                                                          PTB3/KBI2P2 26
                                                              PTB4/MISO1/SDA 27
                                                                 PTB5/MOSI1/SCL 28
                                                                     PTB6/KBI2P3/SPSCK1 29
                                                                         PTB7/KBI2P4/SS1 30
                                                                            PTC0/MISO2/RxD 31
                                                                                PTC1/MOSI2/TxD 32

                 Note: VREFH/VREFL are internally connected to VDDAD/VSSAD in the 64-pin package.

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

2.3 Recommended System Connections

Figure 2-3 shows pin connections that are common to most MC9S08LC60 Series application systems in
the 80-pin package. Connections will be similar to the 64-pin package except for the number of I/O pins
available. A more detailed discussion of system connections follows.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                  PRELIMINARY                                                                              27
Chapter 2 Pins and Connections

                                      CBYAD     VREFH  MC9S08LC60   PORT A  PTA[7:4]/KBI1P[7:4]/ADP[7:4]
                                      0.1 F    VDDAD                       PTA3/KBI1P3/ADP3/ACMP
                                                                            PTA2/KBI1P2/ADP2/ACMP+
                                  CBY                                       PTA[1:0]/KBI1P[1:0]/ADP[1:0]
                                  0.1 F
SYSTEM                   VDD                    VSSAD
POWER                                           VREFL
                  CBLK +                        VDD
               +  10 F
                                                                            PTB7/KBI2P4/SS1
            3V                                                              PTB6/KBI2P3/SPSCK1
                                                                            PTB5/MOSI1/SCL
                                                VSS                 PORT B  PTB4/MISO1/SDA
                                                                            PTB3/KBI2P2
NOTE 1                RF            RS                                      PTB2/RESET                    INTERFACE TO
         C1                                                                 PTB1/KBI2P1/XTAL                  I/O AND
                  X1          C2                PTB1/KBI2P1/XTAL            PTB0/KBI2P0/EXTAL
                                                                                                           PERIPHERAL
                                                PTB0/KBI2P0/EXTAL   PORT C  PTC7/KBI2P7/IRQ/TPMCLK         APPLICATION
                                                                            PTC6/BKGD/MS
                                                     NOTE 2                 PTC5/KBI2P6/TPM2CH1               SYSTEM
                                                      PTC6/BKGD/MS          PTC4/KBI2P5/TPM2CH0
      BACKGROUND HEADER                                                     PTC3/SS2/TPM1CH1
VDD                                                   PTB2/RESET            PTC2/SPSCK2/TPM1CH0
                                                             NOTE6          PTC1/MOSI2/TxD
                OPTIONAL                                                    PTC0/MISO2/RxD
                 MANUAL
                  RESET           VDD                                       BP[2:0]         NOTE 6
                                      4.7 k to                              BP3/FP40
                                      10 k                          LCD     FP[39:0]

                                       0.1 F

                              NOTE 5 X          VLCD                        NOTES:
                                                 VLL1
                                                 VLL2  NOTE 4                  1. Not required if using the internal oscillator
                                                VLL3                               option.
                  CBYLCD
    CBYLCD                          CBYLCD                                     2. BKGD/MS is the same pin as PTC6.

                              CLCD              VCAP1                          3. The 64-pin LQFP combines (VSSAD to
                                                VCAP2                              VREFL) and combines (VDDAD to VREFH)

                                                                               4. VLCD, VLL1, VLL2, and VLL3 can be
                                                                                   powered internally using VDD or
                                                                                   externally based on software
                                                                                   configuration of the LCD module.
                                                                                   (Shown as internally powered).

                                                                               5. VLCD is a "no connect" when the LCD
                                                                                   module is being powered via VDD.

                                                                               6. An RC filter on RESET is recommended
                                                                                   for EMC-sensitive applications.

                                              Figure 2-3. Basic System Connections

                                  MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

28                                                     PRELIMINARY                          Freescale Semiconductor
                                                                                                                                                Chapter 2 Pins and Connections

2.3.1 Power (VDD, VSS, VDDAD, VSSAD)

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 close to the MCU power pins as
practical to suppress high-frequency noise.

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

2.3.2 ADC Reference Pins (VREFH, VREFL)

VREFH and VREFL are the voltage reference high and voltage reference low pins, respectively, for the ADC
module. In the 64-pin package, VREFH and VREFL are shared with VDDAD and VSSAD, respectively.

2.3.3 Oscillator (XTAL, EXTAL)

Out of reset, the MCU uses an internally generated clock (self-clocked mode -- fSelf_reset), that is
approximately equivalent to an 8-MHz crystal rate. This frequency source is used during reset startup and
can be enabled as the clock source for stop recovery to avoid the need for a long crystal startup delay. This
MCU also contains a trimmable internal clock generator (ICG) module that can be used to run the MCU.
For more information on the ICG, see Chapter 10, "Internal Clock Generator (S08ICGV4)."

The oscillator in this MCU is a Pierce oscillator that can accommodate a crystal or ceramic resonator in
either of two frequency ranges selected by the RANGE bit in the ICGC1 register. Rather than a crystal or
ceramic resonator, an external oscillator can be connected to the EXTAL input pin, and the XTAL output
pin can be used as general I/O.

Refer to Figure 2-3 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 and 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 sizing 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).

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               29
Chapter 2 Pins and Connections

2.3.4 RESET Pin

After POR, the configuration of the PTB2/RESET pin defaults to RESET. Clearing the RSTPE bit in
SOPT1 register configures the pin to be the PTB2 general-purpose, output only pin. After configured as
PTB2, the pin will remain PTB2 until the next reset. The RESET pin can be used to reset the MCU from
an external source when the pin is driven low.

When enabled as the RESET pin (RSTPE = 1), an internal pullup device is automatically enabled. 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.

The PTB2/RESET pin will default to the RESET pin when a POR enters active background mode. 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, when the pin is configured as the RESET pin, a manual external
reset can be added by supplying a simple switch to ground (pull reset pin low to force a reset).

Whenever any reset is initiated (whether from an external signal or from an internal system), the reset pin
is driven low for approximately 34 cycles of fSelf_reset, released, and sampled again approximately 38
cycles of fSelf_reset later. If reset was caused by an internal source such as low-voltage reset or watchdog
timeout, the circuitry expects the reset pin sample to return a logic 1. The reset circuitry decodes the cause
of reset and records it by setting a corresponding bit in the system control reset status register (SRS).

In EMC-sensitive applications, an external RC filter is recommended on the reset pin. See Figure 2-3 for
an example.

2.3.5 Background / Mode Select (BKGD/MS)

The background / mode select (BKGD/MS) shares its function with an output-only port pin, PTC6. While
in reset, the 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/mode select pin (BKGDPE = 1), the pin includes an internal pullup device, input hysteresis,
a standard output driver, and no output slew rate control. When used as an I/O port, the pin is limited to
output only.

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/MS low
during the rising edge of reset which forces the MCU to active background mode.

The BKGD 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 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 pullup device play almost no role in determining rise and fall
times on the BKGD pin.

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

30  PRELIMINARY                                               Freescale Semiconductor
                                      Chapter 2 Pins and Connections

2.3.6 LCD Pins

2.3.6.1 LCD Power Pins

The VLCD, VLL1, VLL2, VLL3, Vcap1, and Vcap2 pins are dedicated to providing power to the LCD module.
For detailed information about these pins see the LCD chapter.

2.3.6.2 LCD Frontplane and Backplane Driver Pins

44 pins are dedicated to frontplane and backplane drivers; on the 64-pin package, 36 pins are dedicated.
Immediately after reset, the LCD driver pins are high-impedance. For detailed information about LCD
frontplane and backplane driver pins, see the LCD chapter.

2.3.7 General-Purpose I/O and Peripheral Ports

MC9S08LC60 Series MCUs support up to 24 general-purpose I/O pins which are shared with on-chip
peripheral functions (timers, serial I/O, ADC, keyboard interrupts, etc.). On each MC9S08LC60 Series
device, there is one input-only and two output-only port pins. 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 pullup device. For information about
controlling these pins as general-purpose I/O pins, see Chapter 6, "Parallel Input/Output."

Immediately after reset, all pins that are not output-only are configured as high-impedance
general-purpose inputs with internal pullup devices disabled. After reset, the output-only port function is
not enabled but is configured for low output drive strength with slew rate control enabled. The PTC6 pin
defaults to BKGD/MS on any reset.

                                                           NOTE

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

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               31
Chapter 2 Pins and Connections

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

       Pin  <-- Lowest Priority --> Highest            Pin  <-- Lowest Priority --> Highest
    Number                                          Number

    80 64 Port Pin Alt 1           Alt 2      Alt3  80 64 Port Pin Alt 1          Alt 2    Alt3

    1 64        FP6             FP40      ACMP+     41 32 PTC1  MOSI2             TxD
    21          FP5                       ACMP     42 33 PTC2  SPSCK2
    32          FP4             ADP0                43 34 PTC3  SS2               TPM1CH0
    43          FP3             ADP1      VSSAD     44 35 PTC4  KBI2P5
    54          FP2             ADP2      VREFL     45 36 PTC5  KBI2P6            TPM1CH1
    65          FP1             ADP3      VREFH     46 37 PTC6  BKGD
    76          FP0             ADP4      VDDAD     47 38 PTC7  KBI2P7            TPM2CH0
    87          BP0             ADP5      VDD       48 --       FP39
    98          BP1             ADP6      VSS       49 --       FP38              TPM2CH1
    10 9        BP2             ADP7                50 --       FP37
    11 10       BP3                                 51 --       FP36              MS
    12 11       Vcap1           EXTAL               52 --       FP35
    13 12       Vcap2           XTAL                53 --       FP34              IRQ      TPMCLK
    14 13       VLL1                                54 --       FP33
    15 14       VLL2            SDA                 55 --       FP32
    16 15       VLL3            SCL                 56 39       FP31
    17 16       VLCD            SPSCK1              57 40       FP30
    18 -- PTA0  KBI1P0          SS1                 58 41       FP29
    19 -- PTA1  KBI1P1          RxD                 59 42       FP28
    20 17 PTA2  KBI1P2                              60 43       FP27
    21 18 PTA3  KBI1P3                              61 44       FP26
    22 -- PTA4  KBI1P4                              62 45       FP25
    23 -- PTA5  KBI1P5                              63 46       FP24
    24 -- PTA6  KBI1P6                              64 47       FP23
    25 -- PTA7  KBI1P7                              65 48       FP22
    26                                              66 49       FP21
                KBI2P0                              67 50       FP20
            19  KBI2P1                              68 51       FP19
    27                                              69 52       FP18
    28          RESET                               70 53       FP17
                KBI2P2                              71 54       FP16
            20  MISO1                               72 55       FP15
    29          MOSI1                               73 56       FP14
    30 -- PTB0  KBI2P3                              74 57       FP13
    31 -- PTB1  KBI2P4                              75 58       FP12
    32 23       MISO2                               76 59       FP11
    33 24                                           77 60       FP10
    34 25 PTB2                                      78 61       FP9
    35 26 PTB3                                      78 62       FP8
    36 27 PTB4                                      80 63       FP7
    37 28 PTB5
    38 29 PTB6
    39 30 PTB7
    40 31 PTC0

                MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

32                                           PRELIMINARY                          Freescale Semiconductor
Chapter 3
Modes of Operation

3.1 Introduction

The operating modes of the MC9S08LC60 Series are described in this section. 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 halts operation to conserve power
         -- System clocks running
         -- Full voltage regulation is maintained
    Stop modes:
         -- CPU and bus clocks stopped
         -- Stop1: Full power-down of internal circuits for maximum power savings
         -- Stop2: Partial power-down of internal circuits, RAM contents retained
         -- Stop3: All internal circuits powered for fast recovery; RAM and register contents are retained;

             LCD module can be configured to remain operational

3.3 Run Mode

Run is the normal operating mode for the MC9S08LC60 Series. This mode is selected upon the MCU
exiting reset if the BKGD/MS pin is high. In this mode, the CPU executes code from internal memory with
execution beginning at the address fetched from memory at 0xFFFE:0xFFFF 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), provides 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 time the MCU exits reset
    When a BACKGROUND command is received through the BKGD pin
    When a BGND instruction is executed
    When encountering a BDC breakpoint
    When encountering a DBG breakpoint

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               33
Chapter 3 Modes of Operation

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's application program.

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 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's 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 MC9S08LC60 Series
MCUs are shipped from the Freescale 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 the condition code register (CCR) is cleared
when the CPU enters wait mode, enabling interrupts. When an interrupt request occurs, the CPU exits 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
while 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.

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

34  PRELIMINARY                                               Freescale Semiconductor
                                                                                   Chapter 3 Modes of Operation

3.6 Stop Modes

One of three stop modes is entered upon execution of a STOP instruction when STOPE in SOPT1 is set.
In any stop mode, the bus and CPU clocks are halted. The ICG module can be configured to leave the
reference clocks running. see Chapter 10, "Internal Clock Generator (S08ICGV4)" 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 stop mode behavior of the MCU is configured by setting the appropriate bits in the
SPMSC1 and SPMSC2 registers The selected mode is entered following the execution of a STOP
instruction.

                                                      Table 3-1. Stop Mode Selection

STOPE ENBDM 1 LVDE and LVDSE PDC PPDC                        Stop Mode

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

                                       instruction executed

1  1                     x  x  x Stop3 with BDM enabled 2

1  0                     1  x  x Stop3 with voltage regulator active

1  0                     0  0  x Stop33

1  0                     0  1  1 Stop2

1  0                     0  1  0 Stop1

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

   section.

2 When in Stop3 mode with BDM enabled, The SIDD will be near RIDD levels because internal clocks are enabled.
3 The LCD module can operate in stop3 if LCDSTP3 in LCDCR1 is asserted.

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.

Stop3 can be exited by asserting RESET, or by an interrupt from one of the following sources: the real-time
interrupt (RTI), LVD, ADC, IRQ or the KBI.

If stop3 is exited by means of the RESET pin, then the MCU is reset and operation will resume after taking
the reset vector. Exit by means of one of the internal interrupt sources results in the MCU taking the
appropriate interrupt vector.

A separate self-clocked source (1 kHz) for the real-time interrupt allows a wakeup from stop2 or stop3
mode with no external components. When RTIS2:RTIS1:RTIS0 = 0:0:0, the real-time interrupt function
and this 1-kHz source are disabled. Power consumption is lower when the 1-kHz source is disabled, but in
that case the real-time interrupt cannot wake the MCU from stop.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor        PRELIMINARY                                                                     35
Chapter 3 Modes of Operation

3.6.1.1 LVD Enabled in Stop 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 the LVD must be left enabled when entering stop3.

3.6.1.2 Active BDM Enabled in Stop Mode

Entry into the active background mode from run mode is enabled if ENBDM in BDCSCR is set. This
register is described in the Development Support chapter of this data sheet. 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 as in stop1 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 the wake-up pins or RESET or IRQ.

                                                           NOTE
                  IRQ always functions as an active-low wakeup input when the MCU is in
                  stop2, regardless of how the pin is configured before entering stop2.

In addition, the real-time interrupt (RTI) 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

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

36  PRELIMINARY                                               Freescale Semiconductor
                                                                                                                                                   Chapter 3 Modes of Operation

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 Stop1 Mode

Stop1 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 stop1, providing the lowest possible standby current.
Upon entering stop1, all I/O pins automatically transition to their default reset states.

Exit from stop1 is performed by asserting the wake-up pins or RESET or IRQ.

                                                           NOTE
                  IRQ always functions as an active-low wakeup input when the MCU is in
                  stop1, regardless of how the pin is configured before entering stop1.

In addition, the real-time interrupt (RTI) can wake the MCU from stop1 if enabled.

Upon wake-up from stop1 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 stop1, the PDF bit in SPMSC2 is set. This flag is used to
direct user code to go to a stop1 recovery routine. PDF remains set until a 1 is written to PPDACK in
SPMSC2.

3.6.4 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,
clocks to the peripheral systems are halted to reduce power consumption. Refer to Section 3.6.3, "Stop1
Mode," Section 3.6.2, "Stop2 Mode," and Section 3.6.1, "Stop3 Mode," for specific information on system
behavior in stop modes.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               37
Chapter 3 Modes of Operation

                              Table 3-2. Stop Mode Behavior

              Peripheral                   Mode
                                           Stop2
                              Stop1                                                     Stop3

    CPU                       Off          Off                                          Standby

    RAM                       Off          Standby                                      Standby

    FLASH                     Off          Off                                          Standby

    Parallel Port Registers   Off          Off                                          Standby

    ADC                       Off          Off                                     Optionally On1

    ACMP                      Off          Off                                          Standby
    ICG
                              Off          Off                                     Optionally On2

    IIC                       Off          Off                                          Standby
    LCD
                              Off          Off                                     Optionally On3

    SCI                       Off          Off                                          Standby

    SPI                       Off          Off                                          Standby

    TPM                       Off          Off                                          Standby

    Voltage Regulator         Off          Standby                                      Standby

    I/O Pins                  Hi-Z         States Held                                  States Held

    1 Requires the asynchronous ADC clock and LVD to be enabled, else in standby.
    2 OSCSPEN set in ICGC1, else in standby.
    3 LCDSTP3 = 1 in the LCDCR1 register.

                              MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

38                            PRELIMINARY                                               Freescale Semiconductor
Chapter 4
Memory

4.1 MC9S08LC60 Series Memory Map

As shown in Figure 4-1, on-chip memory in the MC9S08LC60 Series consists of RAM, FLASH program
memory for nonvolatile data storage, plus I/O and control/status registers. The registers are divided into
three groups:

    Direct-page registers (0x0000 through 0x005F)
    High-page registers (0x1800 through 0x186F)
    Nonvolatile registers (0xFFB0 through 0xFFBF)

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               39
Chapter 4 Memory

                  DIRECT PAGE REGISTERS  0x0000       DIRECT PAGE REGISTERS  0x0000
                                                                             0x005F
                               RAM       0x005F                    RAM       0x0060
                          4096 BYTES     0x0060               2560 BYTES
                                                                             0x0A5F
                                                                             0x0A60

                                         0x105F       UNIMPLEMENTED
                                         0x1060
                           FLASH B                    HIGH PAGE REGISTERS    0x17FF
                         1952 BYTES      0x17FF                FLASH B       0x1800
                                         0x1800
                  HIGH PAGE REGISTERS                       12,288 BYTES     0x186F
                                         0x186F                              0x1870
                           FLASH B       0x1870          UNIMPLEMENTED
                        26,512 BYTES                                         0x486F
                                                               FLASH A       0x4870
                                         0x7FFF             24,576 BYTES
                                         0x8000                              0x9FFF
                                                                             0xA000
                     FLASH A
                  32,768 BYTES

                                         0xFFFF                              0xFFFF

                  MC9S08LC60                          MC9S08LC36

                  Figure 4-1. MC9S08LC60 Series Memory Map

4.1.1 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 Freescale-provided equate file for the MC9S08LC60 Series. For more details
about resets, interrupts, interrupt priority, and local interrupt mask controls, refer to Chapter 5, "Resets,
Interrupts, and System Configuration."

                                                 Table 4-1. Reset and Interrupt Vectors

                       Address                        Vector                 Vector Name
                     (High/Low)
                                            Unused Vector Space
                  0xFFC00xFFC1          (available for user program)

                  0xFFD00xFFD1

                  0xFFD20xFFD3                  LCD                         Vlcd

                  MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

40                                       PRELIMINARY                         Freescale Semiconductor
                         Table 4-1. Reset and Interrupt Vectors                          Chapter 4 Memory

      Address                    Vector                          Vector Name
    (High/Low)
                                   RTI                                 Vrti
0xFFD40xFFD5                       IIC                                Viic
0xFFD60xFFD7                    ACMP                                Vacmp
0xFFD80xFFD9             ADC Conversion                              Vadc
0xFFDA0xFFDB                 Keyboard 2                          Vkeyboard2
0xFFDC0xFFDD                 Keyboard 1                          Vkeyboard1
0xFFDE0xFFDF                SCI Transmit                             Vscitx
0xFFE00xFFE1                SCI Receive                              Vscirx
0xFFE20xFFE3                  SCI Error                             Vscierr
0xFFE40xFFE5                     SPI 2                               Vspi2
0xFFE60xFFE7                     SPI 1                               Vspi1
0xFFE80xFFE9              TPM2 Overflow                           Vtpm2ovf
0xFFEA0xFFEB             TPM2 Channel 1                           Vtpm2ch1
0xFFEC0xFFED             TPM2 Channel 0                           Vtpm2ch0
0xFFEE0xFFEF              TPM1 Overflow                           Vtpm1ovf
0xFFF00xFFF1             TPM1 Channel 1                           Vtpm1ch1
0xFFF20xFFF3             TPM1 Channel 0                           Vtpm1ch0
0xFFF40xFFF5                      ICG                                 Vicg
0xFFF60xFFF7            Low Voltage Detect                            Vlvd
0xFFF80xFFF9                      IRQ                                 Virq
0xFFFA0xFFFB                      SWI                                 Vswi
0xFFFC0xFFFD                     Reset                              Vreset
0xFFFE0xFFFF

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               41
Chapter 4 Memory

4.2 Register Addresses and Bit Assignments

The registers in the MC9S08LC60 Series are divided into these three groups:

    Direct-page registers are located in the first 128 locations in the memory map, so they 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 variables.

    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 which 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 only
requires 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-4 the whole address in column one is shown in bold. In
Table 4-2, Table 4-3, and Table 4-4, 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.

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

42  PRELIMINARY                                               Freescale Semiconductor
                                                                                         Chapter 4 Memory

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

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

0x0000  PTAD              PTAD7   PTAD6 PTAD5             PTAD4 PTAD3 PTAD2               PTAD1    PTAD0
0x0001  PTADD            PTADD7                                                          PTADD1   PTADD0
0x0002  PTBD              PTBD7   PTADD6 PTADD5           PTADD4 PTADD3 PTADD2            PTBD1    PTBD0
0x0003  PTBDD            PTBDD7                                                          PTBDD1   PTBDD0
0x0004  PTCD              PTCD7   PTBD6 PTBD5             PTBD4 PTBD3 PTBD2               PTCD1    PTCD0
0x0005  PTCDD            PTCDD7                                                          PTCDD1   PTCDD0
0x0006  IRQSC                     PTBDD6 PTBDD5           PTBDD4 PTBDD3 PTBDD2                    IRQMOD
0x0007  Reserved              0                                                           IRQIE
0x0008  KBI1SC               --   PTCD6 PTCD5             PTCD4 PTCD3 PTCD2
0x0009  KBI1PE                0
0x000A  KBI1ES           KBIPE7   PTCDD6 PTCDD5           PTCDD4 PTCDD3 PTCDD2
0x000B  Reserved         KBEDG7
0x000C  KBI2SC               --   IRQPDD IRQEDG           IRQPE        IRQF IRQACK
0x000D  KBI2PE                0
0x000E  KBI2ES           KBIPE7       --           --     --           --          --    --          --
0x000F  ACMPSC           KBEDG7
0x0010  ADCSC1            ACME        0            0      0            KBF        KBACK  KBIE KBIMOD
0x0011  ADCSC2            COCO
0x0012  ADCRH             ADACT   KBIPE6 KBIPE5           KBIPE4 KBIPE3 KBIPE2           KBIPE1 KBIPE0
0x0013  ADCRL                 0
0x0014  ADCCVH             ADR7   KBEDG6 KBEDG5           KBEDG4 KBEDG3 KBEDG2           KBEDG1 KBEDG0
0x0015  ADCCVL                0
0x0016  ADCCFG            ADCV7       --           --     --           --          --    --          --
0x0017  APCTL1            ADLPC
0x0018  IICA              ADPC7       0            0      0            KBF        KBACK  KBIE KBIMOD
0x0019  IICF
0x001A  IICC                      KBIPE6 KBIPE5           KBIPE4 KBIPE3 KBIPE2           KBIPE1 KBIPE0
0x001B  IICS
0x001C  IICD                      KBEDG6 KBEDG5           KBEDG4 KBEDG3 KBEDG2           KBEDG1 KBEDG0
0x001D  Reserved
0x001E  Reserved                  ACBGS            ACF    ACIE         ACO         R1        ACMOD
0x001F  Reserved
0x0020  SCIBDH                        AIEN         ADCO                           ADCH
0x0021  SCIBDL
                                  ADTRG ACFE              ACFGT        --          --    --          --

                                      0            0      0       ADR11 ADR10            ADR9     ADR8

                                      ADR6         ADR5   ADR4         ADR3       ADR2   ADR1     ADR0

                                      0            0      0       ADCV11 ADCV10          ADCV9 ADCV8

                                  ADCV6 ADCV5             ADCV4 ADCV3 ADCV2              ADCV1 ADCV0

                                             ADIV         ADLSMP             MODE            ADICLK

                                  ADPC6 ADPC5             ADPC4 ADPC3 ADPC2              ADPC1 ADPC0

                                                          ADDR                                       0

                                MULT                                         ICR

                         IICEN        IICIE        MST    TX           TXAK       RSTA     0         0
                                                   BUSY                                  IICIF    RXAK
                         TCF          IAAS                ARBL         0           SRW

                                                                 DATA

                           --           --           --   --           --          --        --      --
                           --           --           --                                      --      --
                           --           --           --   --           --          --        --      --
                            0            0            0                                    SBR9   SBR8
                         SBR7         SBR6         SBR5   --           --          --      SBR1   SBR0
                                                                                             PE     PT
                                                          SBR12 SBR11 SBR10                RWU     SBK
                                                                                             FE     PF
                                                          SBR4         SBR3       SBR2        0    RAF
                                                                                           FEIE    PEIE
0x0022  SCIC1            LOOPS    SCISWAI          RSRC   M            WAKE        ILT        1    Bit 0
0x0023  SCIC2              TIE      TCIE             RIE                                   SSOE   LSBFE
0x0024  SCIS1                         TC                  ILIE         TE          RE    SPISWAI  SPC0
0x0025  SCIS2             TDRE         0           RDRF
0x0026  SCIC3                0        T8              0   IDLE         OR          NF
0x0027  SCID                R8         6
0x0028  SPI1C1                       SPE           TXDIR  0            0          BRK13
0x0029  SPI1C2             Bit 7       0              5
                          SPIE                            TXINV        ORIE        NEIE
                                                   SPTIE
                             0                        0   4            3           2

                                                          MSTR         CPOL       CPHA

                                                          MODFEN BIDIROE           0

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                      PRELIMINARY                                                 43
Chapter 4 Memory

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

Address Register Name  Bit 7         6      5        4        3                  2       1      Bit 0
                                        SPPR1                                                  SPR0
0x002A  SPI1BR            0    SPPR2    SPTEF   SPPR0            0  SPR2                 SPR1
0x002B  SPI1S          SPRF        0            MODF             0     0                    0     0
0x002C  Reserved                   0        0                    0     0                    0     0
0x002D  SPI1D             0        6        5       0            3     2                    1   Bit 0
0x002E  Reserved        Bit 7      0        0       4            0     0                    0     0
0x002F  Reserved                   0        0       0            0     0                    0     0
0x0030  SPI2C1            0              SPTIE      0         CPOL                             LSBFE
                          0     SPE         0   MSTR                CPHA                 SSOE  SPC0
                       SPIE             SPPR1                                                  SPR0
                                        SPTEF                                                     0
0x0031  SPI2C2             0       0        0   MODFEN BIDIROE            0         SPISWAI       0
0x0032  SPI2BR             0   SPPR2        5                          SPR2           SPR1      Bit 0
0x0033  SPI2S          SPRF                 0   SPPR0         0                          0        0
0x0034  Reserved           0       0        0                             0              0        0
0x0035  SPI2D           Bit 7      0     REFS   MODF          0           0              1        0
0x0036  Reserved           0       6      MFD                             2              0
0x0037  Reserved           0       0    REFST        0        0           0              0     ICGIF
0x0038  ICGC1           HGO        0        0                             0           LOCD     DCOS
0x0039  ICGC2          LOLRE   RANGE        0        4        3     OSCSTEN            RFD
                                                                                                  0
                                            0        0        0                                 PS0
                                        CPWMS                                                   Bit 8
                                                     0        0                                 Bit 0
                                            13                                                  Bit 8
                                            5           CLKS                                    Bit 0
                                            13
                                            5                LOCRE                                0
                                         MS0B                                                   Bit 8
0x003A  ICGS1                 CLKST         13  LOLS          LOCK  LOCS                 ERCS   Bit 0
0x003B  ICGS2                               5
0x003C  ICGFLTU        0             0   MS1B        0        0                  0       0        0
0x003D  ICGFLTL                             13                                                  Bit 8
0x003E  ICGTRM         0             0      5        0                              FLT         Bit 0
0x003F  Reserved                            --                                                    --
0x0040  TPM1SC                              --          FLT                                       --
0x0041  TPM1CNTH                            --                                                    --
0x0042  TPM1CNTL                            --          TRIM                                      --
0x0043  TPM1MODH                            --                                                    --
0x0044  TPM1MODL          0       0     CPWMS        0        0                  0       0      PS0
0x0045  TPM1C0SC       TOF     TOIE         13                                                  Bit 8
0x0046  TPM1C0VH       Bit 15               5   CLKSB CLKSA         PS2                  PS1    Bit 0
0x0047  TPM1C0VL       Bit 7     14         13                                                  Bit 8
0x0048  TPM1C1SC       Bit 15     6             12            11    10                   9
0x0049  TPM1C1VH       Bit 7     14
0x004A  TPM1C1VL       CH0F       6                  4        3                  2       1
0x004B  Reserved       Bit 15  CH0IE
0x004C  Reserved       Bit 7     14             12            11    10                   9
0x004D  Reserved       CH1F       6
0x004E  Reserved       Bit 15  CH1IE                 4        3                  2       1
0x004F  Reserved       Bit 7     14
0x0050  TPM2SC           --       6             MS0A ELS0B          ELS0A                0
0x0051  TPM2CNTH         --      --
0x0052  TPM2CNTL         --      --             12            11    10                   9
0x0053  TPM2MODH         --      --
                         --      --                  4        3                  2       1
                       TOF       --
                       Bit 15  TOIE             MS1A ELS1B          ELS1A                0
                       Bit 7     14
                       Bit 15     6             12            11    10                   9
                                 14
                                                     4        3                  2       1

                                                --            --    --                   --

                                                --            --    --                   --

                                                --            --    --                   --

                                                --            --    --                   --

                                                --            --    --                   --

                                                CLKSB CLKSA         PS2                  PS1

                                                12            11    10                   9

                                                     4        3                  2       1

                                                12            11    10                   9

                       MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

44                                      PRELIMINARY                                 Freescale Semiconductor
                                                                                      Chapter 4 Memory

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

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

0x0054 TPM2MODL          Bit 7      6        5            4  3                     2  1        Bit 0

0x0055 TPM2C0SC          CH0F       CH0IE    MS0B     MS0A ELS0B ELS0A                0        0

0x0056 TPM2C0VH          Bit 15     14       13       12     11     10                9        Bit 8

0x0057 TPM2C0VL          Bit 7      6        5            4  3                     2  1        Bit 0

0x0058 TPM2C1SC          CH1F       CH1IE    MS1B     MS1A ELS1B ELS1A                0        0

0x0059 TPM2C1VH          Bit 15     14       13       12     11     10                9        Bit 8

0x005A TPM2C1VL          Bit 7      6        5            4  3                     2  1        Bit 0

0x005B Reserved         --         --       --       --     --     --                --       --
0x005F

1 For the MC9S08LC60 Series, the AMCPO pin is not available, so the ACOPE bit in the ACMPSC register is reserved and does
   not have any effect.

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

Address Register Name Bit 7              6        5       4     3        2                 1     Bit 0
                                       PIN      COP    ILOP     0      ICG               LVD       0
0x1800   SRS                POR                                 0
0x1801   SBDFR                 0         0        0       0     0        0                 0    BDFR
0x1802   SOPT1                        COPT    STOPE      --     0        0            BKGDPE   RSTPE
0x1803   SOPT2             COPE                           0     --       0                       ACIC
0x1804   Reserved        COPCLKS         0        0      --     --      --                 0
0x1805   Reserved                       --       --      --   ID11      --                --       --
0x1806   SDIDH                --        --       --    REV0    ID3    ID10                --       --
0x1807   SDIDL                --      REV2     REV1     ID4     0      ID2               ID9      ID8
0x1808   SRTISC             REV3        ID6     ID5    RTIE  LVDSE   RTIS2               ID1      ID0
0x1809   SPMSC1              ID7    RTIACK   RTICLKS  LVDRE  PPDF     LVDE              RTIS1   RTIS0
0x180A   SPMSC2             RTIF    LVDACK     LVDIE    PDF     --  PPDACK                 0    BGBE
0x180B   Reserved           LVDF         0        0      --     0       --               PDC    PPDC
0x180C   SPMSC3                0        --       --    LVWV              0                --       --
0x180D  Reserved             --    LVWACK     LVDV             --                         0       0
0x180F                      LVWF                         --             --
0x1810   DBGCAH                         --       --             11                        --       --
0x1811   DBGCAL               --                         12     3       10
0x1812   DBGCBH                         14       13       4     11       2                 9     Bit 8
0x1813   DBGCBL             Bit 15       6        5      12     3       10                 1     Bit 0
0x1814   DBGFH               Bit 7      14       13       4     11       2                 9     Bit 8
0x1815   DBGFL              Bit 15       6        5      12     3       10                 1     Bit 0
0x1816   DBGC                Bit 7      14       13       4   RWA        2                 9     Bit 8
0x1817   DBGT               Bit 15       6        5   BRKEN  TRG3   RWAEN                  1     Bit 0
0x1818   DBGS                Bit 7     ARM      TAG       0  CNT3     TRG2              RWB    RWBEN
0x1819  Reserved         DBGEN      BEGIN        0       0           CNT2              TRG1    TRG0
0x181F                    TRGSEL        BF     ARMF             --                      CNT1    CNT0
0x1820   FCDIV                AF                         --             --
0x1821   FOPT                           --       --           DIV3                        --       --
0x1822   Reserved             --                       DIV4     0     DIV2
0x1823   FCNFG                      PRDIV8     DIV5       0     --       0              DIV1     DIV0
                           DIVLD    FNORED        0      --     0       --             SEC01   SEC00
                           KEYEN                 --       0              0
                                        --                                                --       --
                              --         0   KEYACC                                        0       0
                               0

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                      PRELIMINARY                                              45
Chapter 4 Memory

                   Table 4-3. High-Page Register Summary (continued)

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

0x1824   FPROT       FPS7      FPS6     FPS5      FPS4    FPS3     FPS2        FPS1     FPDIS
0x1825   FSTAT      FCBEF      FCCF   FPVIOL   FACCERR       0   FBLANK           0        0
0x1826   FCMD       FCMD7     FCMD6   FCMD5                       FCMD2
0x1827  Reserved                               FCMD4   FCMD3                 FCMD1    FCMD0
0x182F                 --        --       --        --      --       --          --        --
0x1830   PTAPE         --        --       --        --      --       --          --        --
0x1831   PTASE     PTAPE7    PTAPE6   PTAPE5                     PTAPE2
0x1832   PTADS     PTASE7    PTASE6   PTASE5    PTAPE4  PTAPE3   PTASE2      PTAPE1    PTAPE0
0x1833   Reserved  PTADS7    PTADS6   PTADS5    PTASE4  PTASE3   PTADS2      PTASE1    PTASE0
0x1834   PTBPE          0         0        0    PTADS4  PTADS3        0      PTADS1    PTADS0
0x1835   PTBSE     PTBPE7    PTBPE6   PTBPE5                     PTBPE2
0x1836   PTBDS     PTBSE7    PTBSE6   PTBSE5         0       0   PTBSE2           0        0
0x1837   Reserved  PTBDS7    PTBDS6   PTBDS5    PTBPE4  PTBPE3   PTBDS2      PTBPE1    PTBPE0
0x1838   PTCPE          0         0        0    PTBSE4  PTBSE3        0      PTBSE1    PTBSE0
0x1839   PTCSE     PTCPE7    PTCPE6   PTCPE5    PTBDS4  PTBDS3   PTCPE2      PTBDS1   PTBDS0
0x183A   PTCDS     PTCSE7    PTCSE6   PTCSE5                     PTCSE2
0x183B-  Reserved  PTCDS7    PTCDS6   PTCDS5         0       0   PTCDS2           0        0
0x187F                                          PTCPE4  PTCPE3               PTCPE1   PTCPE0
0x1840   LCDCR0        --        --             PTCSE4  PTCSE3       --      PTCSE1   PTCSE0
0x1841   LCDCR1                                 PTCDS4  PTCDS3               PTCDS1   PTCDS0
0x1842   FPENR0     LCDEN    LPWAVE                                   0
0x1843   FPENR1    LCDIEN         0   --       --       --            0          --        --
0x1844   FPENR2     FP7EN                                         FP2EN
0x1845   FPENR3    FP15EN     FP6EN    LCLK2    LCLK1    LCLK0   FP10EN       DUTY1    DUTY0
0x1846   FPENR4    FP23EN    FP14EN        0        0        0   FP18EN      LCDWAI   LCDSTP3
0x1847   FPENR5    FP31EN    FP22EN                              FP26EN       FP1EN
0x1848   LCDRAM0   FP39EN    FP30EN    FP5EN    FP4EN    FP3EN   FP34EN       FP9EN    FP0EN
0x1849   LCDRAM1             FP38EN   FP13EN   FP12EN   FP11EN        0      FP17EN    FP8EN
0x184A   LCDRAM2        0             FP21EN   FP20EN   FP19EN   FP0BP2      FP25EN    FP16EN
0x184B   LCDRAM3   FP1BP3         0   FP29EN   FP28EN   FP27EN   FP2BP2      FP33EN    FP24EN
0x184C   LCDRAM4   FP3BP3    FP1BP2   FP37EN   FP36EN   FP35EN   FP4BP2                FP32EN
0x184D   LCDRAM5   FP5BP3    FP3BP2                              FP6BP2           0    FP40EN
0x184E   LCDRAM6   FP7BP3    FP5BP2        0        0        0   FP8BP2      FP0BP1    FP0BP0
0x184F   LCDRAM7   FP9BP3    FP7BP2   FP1BP1   FP1BP0   FP0BP3   FP10BP2     FP2BP1    FP2BP0
0x1850   LCDRAM8   FP11BP3   FP9BP2   FP3BP1   FP3BP0   FP2BP3   FP12BP2     FP4BP1    FP4BP0
0x1851   LCDRAM9   FP13BP3   FP11BP2  FP5BP1   FP5BP0   FP4BP3   FP14BP2     FP6BP1    FP6BP0
0x1852   LCDRAM10  FP15BP3   FP13BP2  FP7BP1   FP7BP0   FP6BP3   FP16BP2     FP8BP1    FP8BP0
0x1853   LCDRAM11  FP17BP3   FP15BP2  FP9BP1   FP9BP0   FP8BP3   FP18BP2     FP10BP1  FP10BP0
0x1854   LCDRAM12  FP19BP3   FP17BP2  FP11BP1  FP11BP0  FP10BP3  FP20BP2     FP12BP1  FP12BP0
0x1855   LCDRAM13  FP21BP3   FP19BP2  FP13BP1  FP13BP0  FP12BP3  FP22BP2     FP14BP1  FP14BP0
0x1856   LCDRAM14  FP23BP3   FP21BP2  FP15BP1  FP15BP0  FP14BP3  FP24BP2     FP16BP1  FP16BP0
0x1857   LCDRAM15  FP25BP3   FP23BP2  FP17BP1  FP17BP0  FP16BP3  FP26BP2     FP18BP1  FP18BP0
0x1858   LCDRAM16  FP27BP3   FP25BP2  FP19BP1  FP19BP0  FP18BP3  FP28BP2     FP20BP1  FP20BP0
0x1859   LCDRAM17  FP29BP3   FP27BP2  FP21BP1  FP21BP0  FP20BP3  FP30BP2     FP22BP1  FP22BP0
0x185A   LCDRAM18  FP31BP3   FP29BP2  FP23BP1  FP23BP0  FP22BP3  FP32BP2     FP24BP1  FP24BP0
0x185B   LCDRAM19  FP33BP3   FP31BP2  FP25BP1  FP25BP0  FP24BP3  FP34BP2     FP26BP1  FP26BP0
0x185C   LCDRAM20  FP35BP3   FP33BP2  FP27BP1  FP27BP0  FP26BP3  FP36BP2     FP28BP1  FP28BP0
                   FP37BP3   FP35BP2  FP29BP1  FP29BP0  FP28BP3  FP38BP2     FP30BP1  FP30BP0
                   FP39BP3   FP37BP2  FP31BP1  FP31BP0  FP30BP3  FP40BP2     FP32BP1  FP32BP0
                             FP39BP2  FP33BP1  FP33BP0  FP32BP3              FP34BP1  FP34BP0
                        0             FP35BP1  FP35BP0  FP34BP3              FP36BP1  FP36BP0
                                  0   FP37BP1  FP37BP0  FP36BP3              FP38BP1  FP38BP0
                                      FP39BP1  FP39BP0  FP38BP3              FP40BP1  FP40BP0
                                                        FP40BP3
                                           0        0

                   MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

46                                    PRELIMINARY                            Freescale Semiconductor
                                                                                      Chapter 4 Memory

                         Table 4-3. High-Page Register Summary (continued)

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

0x185D  Reserved        --       --             --       --     --         --        --    --
0x1861
0x1862   LCDCLKS         SOURCE      DIV16  CLKADJ5  CLKADJ4  CLKADJ3       CLKADJ2   CLKADJ1 CLKADJ0
0x1863   LCDSUPPLY       LCDCPEN  LCDCPMS   CPCADJ1  CPCADJ0  HDRVBUF       BBYPASS   VSUPPLY1 VSUPPLY0
0x1864   LCDBCTL                                              BLKMODE        BRATE2
0x1865   LCDCMD            BLINK        0         0        0  LCDDRMS                  BRATE1 BRATE0
0x1866  Reserved          LCDIF        0         0        0                      0    LCDCLR BLANK
0x186F
                         --       --             --       --     --         --        --    --

Nonvolatile FLASH registers, shown in Table 4-4, are located in the FLASH memory. These registers
include an 8-byte backdoor key which optionally 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.

                                               Table 4-4. Nonvolatile Register Summary

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

0xFFB0 NVBACKKEY                                    8-Byte Comparison Key
0xFFB7

0xFFB8 Reserved             --       --    --       --          --         --        --    --
0xFFBC

0xFFBD   NVPROT          FPS7     FPS6      FPS5     FPS4     FPS3          FPS2      FPS1  FPDIS
0xFFBE   NVICGTRM1
                                                         NVTRIM

0xFFBF NVOPT             KEYEN FNORED       0        0           0          0         SEC01 SEC00

1 Freescale Semiconductor provides a factory trim to set the FIRG to 243 kHz. If user code changes the value of the NVICGTRM
   register, the factory trim value will be lost. User code should save the content of NVICGTRM before any mass erase operation.

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
debug interface) and verifying that FLASH is blank. To avoid returning to secure mode after the next reset,
program the security bits (SEC01:SEC00) to the unsecured state (1:0).

4.3 RAM

The MC9S08LC60 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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                     PRELIMINARY                                            47
Chapter 4 Memory

The RAM retains data when the MCU is in low-power wait, stop2, or stop3 mode. At power-on or after
wakeup from stop1, the contents of RAM are uninitialized. RAM data is unaffected by any reset provided
that the supply voltage does not drop below the minimum value for RAM retention.

For compatibility with older M68HC05 MCUs, the HCS08 resets the stack pointer to 0x00FF. In the
MC9S08LC60 Series, it is usually best to re-initialize 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-provided equate file).

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

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

4.4 FLASH

The FLASH memory is intended primarily for program storage. In-circuit programming allows the
operating program to be loaded into the FLASH memory after final assembly of the application product.
It is possible to program the entire array through the single-wire background debug interface. Because no
special voltages are needed for FLASH 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/D.

Because the MC9S08LC60 Series contains two FLASH arrays, program and erase operations can be
conducted on one array while executing code from the other. The security and protection features treat the
two arrays as a single memory entity. Programming and erasing of each FLASH array is conducted
through the same command interface detailed in the following sections.

It is not possible to page erase or program both arrays at the same time. The mass erase command will
erase both arrays, and the blank check command will check both arrays.

                        MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

48                                  PRELIMINARY                                   Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

4.4.1 Features

Features of the FLASH memory include:
    FLASH Size
         -- MC9S08LC60 -- 63,232 bytes (28,464 bytes in Flash B, 32,768 bytes in Flash A)
         -- MC9S08LC36 -- 36,864 bytes (12,288 bytes in Flash B, 24,576 bytes in Flash A)
    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 and RAM
    Auto power-down for low-frequency read accesses to minimize run IDD
    FLASH read/program/erase over full operating voltage or temperature

4.4.2 Program and Erase Times

Before any program or erase command can be accepted, the FLASH clock divider register (FCDIV) must

be written to set the internal clock for the FLASH module to a frequency (fFCLK) between 150 kHz and
200 kHz (see Section 4.6.1, "FLASH Clock Divider Register (FCDIV)). This register can be written only

once, so normally this write is done during reset initialization. FCDIV cannot be written if the access error

flag, FACCERR in FSTAT, is set. 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.

Table 4-5 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-5. Program and Erase Times

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

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor         PRELIMINARY                                        49
Chapter 4 Memory

4.4.3 Program and Erase Command Execution

The steps for executing any of the commands are listed below. The FCDIV register must be initialized and
any error flags cleared before beginning command execution. The command execution steps are:

    1. Write a data value to an address in the FLASH array. The address and data information from this
         write is latched into the FLASH 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 page
         erase commands, the address may be any address in the 512-byte page of FLASH to be erased. For
         mass erase and blank check commands, the address can be any address in the FLASH memory.
         Whole pages of 512 bytes are the smallest block of FLASH that may be erased. In some boundary
         conditions with RAM or high page registers, the size of a block that is accessible to the user is less
         than 512 bytes.

                                                           NOTE
                  Do not program any byte in the FLASH more than once after a successful
                  erase operation. Reprogramming bits in a byte which is already
                  programmed is not allowed without first erasing the page in which the byte
                  resides or mass erasing the entire FLASH memory. Programming without
                  first erasing may disturb data stored in the FLASH.

    2. Write the command code for the desired command to FCMD. The five valid commands are blank
         check (0x05), byte program (0x20), burst program (0x25), page erase (0x40), and mass erase
         (0x41). 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.

A strictly monitored procedure must be obeyed or the command will not be accepted. This minimizes the
possibility of any unintended changes to the FLASH 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-2 is a flowchart for executing all of the commands except for
burst programming. The FCDIV register must be initialized before using any FLASH commands.

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

50  PRELIMINARY                                               Freescale Semiconductor
                         WRITE TO FCDIV (Note 1)                                                    Chapter 4 Memory
                                                        Note 1: Required only once after reset.

FLASH PROGRAM AND             START
     ERASE FLOW
                                                     0
                           FACCERR ?

                                  1
                         CLEAR ERROR

                                  WRITE TO FLASH
                         TO BUFFER ADDRESS AND DATA

                         WRITE COMMAND TO FCMD

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

                         FPVIOL OR                 YES  ERROR EXIT

                         FACCERR ?

                         NO

                                          0
                                                          FCCF ?
                                                                1
                                                           DONE

                         Figure 4-2. FLASH Program and Erase Flowchart

4.4.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. For the MC9S08LC60 Series, it is possible to burst across
FLASH array boundaries as long as the addresses are consecutive. 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 a burst program command is issued, the charge pump is enabled and then remains
enabled after completion of the burst program operation if these two conditions are met:

    The next burst program command has been queued before the current program operation has
         completed.

    The next sequential address selects a byte on the same physical row as the current byte being
         programmed. A row of FLASH memory consists of 64 bytes. A byte within a row is selected by
         addresses A5 through A0. A new row begins when addresses A5 through A0 are all zero.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                                              51
Chapter 4 Memory

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. In the case 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.

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

     FLASH BURST     START
    PROGRAM FLOW

                     FACCERR ?                 0

                     1

                     CLEAR ERROR

                     FCBEF ?                   0

                     1

                           WRITE TO FLASH
                  TO BUFFER ADDRESS AND DATA

                  WRITE COMMAND (0x25) TO FCMD

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

                     FPVIO OR                  YES  ERROR EXIT

                     FACCERR ?

                     NO

                  YES NEW BURST COMMAND ?

                     NO

                  0  FCCF ?

                     1

                     DONE

                  Figure 4-3. FLASH Burst Program Flowchart

                  MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

52                   PRELIMINARY                                            Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

4.4.5 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 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 five allowed codes (0x05, 0x20, 0x25, 0x40, or 0x41)

         to FCMD
    Accessing (read or write) any FLASH control register other than the 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, or page erase command code (0x20, 0x25, or 0x40) with

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

4.4.6 FLASH Block Protection

The block protection feature prevents the protected region of FLASH from program or erase changes.
Block protection is controlled through the FLASH Protection Register (FPROT). When enabled, block
protection begins at any 512 byte boundary below the last address of FLASH, 0xFFFF. (see Section 4.6.4,
"FLASH 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. In user mode, if FPDIS is set, all FPROT bits are
writeable. In user mode, if FPDIS is clear, the FPS bits are writeable as long as the size of the protected
region is being increased. 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 provide a way
to erase and reprogram protected FLASH memory.

The block protection mechanism is illustrated in Figure 4-4. The FPS bits are used as the upper bits of the
last address of unprotected memory. This address is formed by concatenating FPS7:FPS1 with logic 1 bits
as shown. For example, in order to protect the last 8192 bytes of memory (addresses 0xE000 through
0xFFFF), the FPS bits must be set to 1101 111 which results in the value 0xDFFF as the last address of
unprotected memory. In addition to programming the FPS bits to the appropriate value, FPDIS (bit 0 of

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               53
Chapter 4 Memory

NVPROT) must be programmed to logic 0 to enable block protection. Therefore the value 0xDE must be
programmed into NVPROT to protect addresses 0xE000 through 0xFFFF.

                     FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 1 1 1 1 1 1 1 1 1

                       A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

                                               Figure 4-4. Block Protection Mechanism

One use for block protection is to block protect an area of FLASH memory for a bootloader program. This
bootloader program can call a routine outside of FLASH that can be used to sector erase and re-program
the rest of the FLASH memory. The bootloader is protected even if MCU power is lost during an erase and
reprogram operation.

4.4.7 Vector Redirection

Whenever any block protection is enabled, 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
located at address 0xFFBF to zero. For redirection to occur, at least some portion but not all of the FLASH
memory must be block protected by programming the NVPROT register located at address 0xFFBD. All
of the interrupt vectors (memory locations 0xFFC00xFFFD) are redirected, while the reset vector
(0xFFFE0xFFFF) is not. When more than 32K is protected, vector redirection must not be enabled.

For example, if 512 bytes of FLASH are protected, the protected address region is from 0xFE00 through
0xFFFF. The interrupt vectors (0xFFC00xFFFD) are redirected to the locations 0xFDC00xFDFD. Now,
if an SPI interrupt is taken for instance, the values in the locations 0xFDE00xFDE1 are used for the vector
instead of the values in the locations 0xFFE00xFFE1. 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.5 Security

The MC9S08LC60 Series includes circuitry to prevent unauthorized access to the contents of FLASH and
RAM memory. When security is engaged, FLASH 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 nonvolatile register bits (SEC01:SEC00) 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 which can be done at the same time the FLASH memory is programmed. The 1:0 state
disengages security while the other three combinations engage security. Notice the erased state (1:1)

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

54  PRELIMINARY                                               Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

makes the MCU secure. During development, whenever the FLASH is erased, it is good practice to
immediately program the SEC00 bit to 0 in NVOPT so SEC01:SEC00 = 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 still be used for background memory access commands, but the MCU cannot enter active
background mode except by holding BKGD/MS 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 done in order, starting with the value for NVBACKKEY and ending with
         NVBACKKEY+7. STHX should not be used for these writes because these writes cannot be done
         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 just written matches the
         key stored in the FLASH locations, SEC01:SEC00 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 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 just 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 performing 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 SEC01:SEC00 = 1:0.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               55
Chapter 4 Memory

4.6 FLASH Registers and Control Bits

The FLASH module consists of high-page including nonvolatile registers that are copied into
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-4 for the absolute address assignments for all FLASH registers.
This section refers to registers and control bits only by their names. A Freescale-provided equate or header
file normally is used to translate these names into the appropriate absolute addresses.

4.6.1 FLASH 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.

         R        7       6     5                    4            3        2        1     0
         W
    Reset     DIVLD  PRDIV8  DIV5                 DIV4         DIV3     DIV2     DIV1  DIV0
                                                                                   0     0
                 0   0       0                    0            0              0

                     = Unimplemented or Reserved

                        Figure 4-5. FLASH Clock Divider Register (FCDIV)

                             Table 4-6. FCDIV 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.
    PRDIV8    1 FCDIV has been written since reset; erase and program operations enabled for FLASH.

        5     Prescale (Divide) FLASH Clock by 8
    DIV[5:0]  0 Clock input to the FLASH clock divider is the bus rate clock.
              1 Clock input to the FLASH clock divider is the bus rate clock divided by 8.

              Divisor for FLASH Clock Divider -- The FLASH 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 DIV5:DIV0 field plus one. The resulting frequency of the
              internal FLASH clock must fall within the range of 200 kHz to 150 kHz for proper FLASH operations.
              Program/erase timing pulses are one cycle of this internal FLASH 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. Table 4-7 shows the appropriate values for PRDIV8 and
              DIV5:DIV0 for selected bus frequencies.

                     if PRDIV8 = 0 -- fFCLK = fBus ([DIV5:DIV0] + 1)                 Eqn. 4-1

                     if PRDIV8 = 1 -- fFCLK = fBus (8 ([DIV5:DIV0] + 1))           Eqn. 4-2

Table 4-7 shows the appropriate values for PRDIV8 and DIV5:DIV0 for selected bus frequencies.

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

56                                                PRELIMINARY                    Freescale Semiconductor
                                 Table 4-7. FLASH Clock Divider Settings                          Chapter 4 Memory

  fBus             PRDIV8           DIV5:DIV0        fFCLK                   Program/Erase Timing Pulse
                   (Binary)         (Decimal)                                    (5 s Min, 6.7 s Max)
20 MHz                                            192.3 kHz                                  5.2 s
10 MHz                 1                 12        200 kHz                                    5 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                                   6.7 s
                       0                  0

4.6.2 FLASH Options Register (FOPT and NVOPT)

During reset, the contents of the nonvolatile location NVOPT are copied from FLASH into FOPT. Bits 5
through 2 are not used and always read 0. This register may be read at any time, but writes have no meaning
or effect. 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  0             0  0                       0        SEC01                 SEC00
     W
Reset                          This register is loaded from nonvolatile location NVOPT during reset.
                   = Unimplemented or Reserved

                                  Figure 4-6. FLASH Options Register (FOPT)

                                 Table 4-8. FOPT 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.5, "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     Flash No Redirect (Vector Redirection Disable) -- When this bit is 1, then vector redirection is disabled.
FNORED     0 Vector redirection enabled.
           1 Vector redirection disabled.

    1:0    Security State Code -- This 2-bit field determines the security state of the MCU as shown in Table 4-9. When
SEC0[1:0]  the MCU is secure, the contents of RAM and FLASH memory cannot be accessed by instructions from any
           unsecured source including the background debug interface. For more detailed information about security, refer
           to Section 4.5, "Security."

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor             PRELIMINARY                                                                        57
Chapter 4 Memory

                              Table 4-9. Security States

                     SEC01:SEC00                               Description

                     0:0                                       secure

                     0:11                                      secure

                     1:0                                       unsecured

                     1:1                                       secure

                  1 The 0:1 bit pattern is the recommended value to be used since it requires two
                     bit changes before going to the unsecured state.

4.6.3 FLASH Configuration Register (FCNFG)

Bits 7 through 5 may be read or written at any time. Bits 4 through 0 always read 0 and cannot be written.

            7     6        5                   4            3               2                      1  0

    R       0     0                            0            0               0                      0  0

                     KEYACC

    W

    Reset   0     0        0                   0            0               0                      0  0

                  = Unimplemented or Reserved

                     Figure 4-7. FLASH Configuration Register (FCNFG)

                     Table 4-10. FCNFG Field Descriptions

    Field                                         Description

         5  Enable Writing of Access Key -- This bit enables writing of the backdoor comparison key. For more detailed
    KEYACC  information about the backdoor key mechanism, refer to Section 4.5, "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.

4.6.4 FLASH Protection Register (FPROT and NVPROT)

The FPROT register defines which FLASH sectors are protected against program and erase operations.
The FPROT register is also used to determine whether FLASH protection is disabled.

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. With FPDIS set all FPROT bits are
writable, but with FPDIS clear the FPS bits are 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.

In order to change the data flash block protection on a temporary basis, the FPROT register EPS bits can
be written to. To change the data flash block protection that will be loaded during the reset sequence, the

                  MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

58                                             PRELIMINARY                     Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

FLASH block must first be unprotected, then 0xFFBD in the flash configuration field must be
reprogrammed.

               7             6         5           4            3            2         1             0

R FPS7                   FPS6      FPS5        FPS4         FPS3         FPS2      FPS1          FPDIS
W (Note 1)
                         (Note 1)  (Note 1)    (Note 1)     (Note 1)     (Note 1)  (Note 1)      (Note 1)

Reset                    This register is loaded from nonvolatile location NVPROT during reset.

                  = Unimplemented or Reserved

                                           Figure 4-8. FLASH Protection Register (FPROT)
1 If FPDIS is set, these bits are writeable in user mode. Background commands can be used to change the contents of these bits

   in FPROT in any mode.

                                   Table 4-11. FPROT Field Descriptions

  Field                                                                    Description
   7:1
FPS[7:1]  FLASH Protect Select Bits -- When FPDIS = 0, this 7-bit field determines the ending address of unprotected
          FLASH locations at the high address end of the FLASH. Protected FLASH locations cannot be erased or
     0    programmed.
FPDIS
          FLASH Protection Disable
          0 FLASH block specified by FPS7:FPS1 is block protected (program and erase not allowed).
          1 No FLASH block is protected.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                        PRELIMINARY                                                 59
Chapter 4 Memory

4.6.5 FLASH Status Register (FSTAT)

Bits 3, 1, and 0 always read 0 and writes have no meaning or effect. The remaining five bits are status bits
that can be read at any time. Writes to these bits have special meanings that are discussed in the bit
descriptions.

            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-9. FLASH Status Register (FSTAT)

                         Table 4-12. FSTAT Field Descriptions

    Field                                          Description

        7   FLASH 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 may be written to the command buffer.

       6    FLASH Command Complete Flag -- FCCF is set automatically when the command buffer is empty and no
    FCCF    command 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   FLASH Protection Violation Flag -- FPVIOL is set automatically when a command attempts to erase or
    FPVIOL  program 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     FLASH Access Error Flag -- FACCERR is set automatically when the proper command sequence is not
FACCERR     followed exactly (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.4.5, "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 has occurred.
            1 An access error has occurred.

         2  FLASH Verified as All Blank (Erased) Flag -- FBLANK is set automatically at the conclusion of a blank check
    FBLANK  command if the entire FLASH 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 array is not

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

               completely erased (all 0x00FF).

                   MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

60                                              PRELIMINARY                  Freescale Semiconductor
                                                                                                                                                                    Chapter 4 Memory

4.6.6 FLASH Command Register (FCMD)

Only five command codes are recognized in normal user modes as shown in Table 4-14. Refer to
Section 4.4.3, "Program and Erase Command Execution" for a detailed discussion of FLASH
programming and erase operations.

                7        6             5              4            3           2                1       0

     R         0         0             0              0            0           0               0       0
     W     FCMD7                                                                           FCMD1   FCMD0
Reset                    FCMD6         FCMD5          FCMD4        FCMD3    FCMD2
               0                                                                               0       0
                         0             0              0            0           0

                            Figure 4-10. FLASH Command Register (FCMD)

                                       Table 4-13. FCMD Field Descriptions

Field                                                      Description

7:0        See Table 4-14 for a description of FCMD[7:0].

FCMD[7:0]

                                       Table 4-14. FLASH Commands1

                                Command                    FCMD         Equate File Label

                         Blank check                       0x05    mBlank

                         Byte program                      0x20    mByteProg

                         Byte program -- burst mode        0x25    mBurstProg

                         Page erase (512 bytes/page)       0x40    mPageErase

                         Mass erase (all FLASH)            0x41    mMassErase

                   1 All other command codes are illegal and generate an access error.

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

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                               PRELIMINARY                                          61
Chapter 4 Memory

                  MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

62                PRELIMINARY                                               Freescale Semiconductor
Chapter 5
Resets, Interrupts, and System Configuration

5.1 Introduction

This section discusses basic reset and interrupt mechanisms and the various sources of reset and interrupts
in the MC9S08LC60 Series. Some interrupt sources from peripheral modules are discussed in greater
detail within other sections of this data manual. 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 and real-time interrupt (RTI), are not part of on-chip peripheral
systems with their own sections but are part of the system control logic.

5.2 Features

Reset and interrupt features include:
    Multiple sources of reset for flexible system configuration and reliable operation:
         -- Power-on detection (POR)
         -- Low voltage detection (LVD) with enable
         -- External RESET pin with enable
         -- COP watchdog with enable and two timeout choices
         -- Illegal opcode
         -- Serial command from a background debug host
    Reset status register (SRS) to indicate source of most recent reset
    Separate interrupt vectors for each module (reduces polling overhead) (see Table 5-2)

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 pullup 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. SP is forced to 0x00FF at reset.

The MC9S08LC60 Series has seven sources for reset:
    Power-on reset (POR)
    Low-voltage detect (LVD)
    Computer operating properly (COP) timer

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               63
Chapter 5 Resets, Interrupts, and System Configuration

    Illegal opcode detect
    Background debug forced reset
    External pin reset (PIN) -- can be disabled using RSTPE in SOPT2
    Clock generator loss of lock and loss of clock reset

Each of these sources, with the exception of the background debug forced reset, has an associated bit in
the system reset status register. Whenever the MCU enters reset, the internal clock generator (ICG) module
switches to self-clocked mode with the frequency of fSelf_reset selected. The reset pin is driven low for 34
internal bus cycles where the internal bus frequency is half the ICG frequency. After the 34 cycles are
completed, the pin is released and will be pulled up by the internal pullup 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 timer periodically. If the application program gets lost and fails to reset the COP before it
times out, a system reset is generated to force the system back to a known starting point.

After any reset, the COPE becomes set in SOPT1 enabling the COP watchdog (see Section 5.8.4, "System
Options Register (SOPT1)," for additional information). If the COP watchdog is not used in an application,
it can be disabled by clearing COPE. The COP counter is reset by writing any value to the address of SRS.
This write does not affect the data in the read-only SRS. Instead, the act of writing to this address is
decoded and sends a reset signal to the COP counter.

The COPCLKS bit in SOPT2 (see Section 5.8.5, "System Options Register (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 1kHz clock source. With each clock source, there is an associated short and long
time-out controlled by COPT in SOPT1. Table 5-1 summaries the control functions of the COPCLKS and
COPT bits. The COP watchdog defaults to operation from the 1kHz clock source and the associated long
time-out (28 cycles).

                                                 Table 5-1. COP Configuration Options

       Control Bits

                           Clock Source  COP Overflow Count

    COPCLKS          COPT

    0                0     ~1 kHz        25 cycles (32 ms)1

    0                1     ~1 kHz        28 cycles (256 ms)1

    1                0     Bus           213 cycles

    1                1     Bus           218 cycles

    1 Values are shown in this column based on tRTI = 1 ms. See tRTI in the appendix
       Section A.10.1, "Control Timing," for the tolerance of this value.

       MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

64                         PRELIMINARY                                                Freescale Semiconductor
                                                                                                              Chapter 5 Resets, Interrupts, and System Configuration

Even if the application will use the reset default settings of COPE, COPCLKS and COPT, the user must
write to the write-once SOPT1 and SOPT2 registers during reset initialization to lock in the settings. That
way, they cannot be changed accidentally if the application program gets lost. The initial writes to SOPT1
and SOPT2 will reset the COP counter.

The write to SRS that services (clears) the COP counter must 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.

When 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 once the MCU
exits background debug mode.

When 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. The COP counter begins from zero once the MCU exits
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 until and unless the local interrupt enable is set to 1 to enable the interrupt. 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 masks (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 follows 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 may 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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               65
Chapter 5 Resets, Interrupts, and System Configuration

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 off the
stack.

                                                           NOTE
                  For compatibility with the M68HC08, 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 just before the
                  RTI that is used to return from the ISR.

When two or more interrupts are pending when the I bit is cleared, the highest priority source is serviced
first (see Table 5-2).

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 just recovered from the stack.

The status flag causing the interrupt must be acknowledged (cleared) before returning from the ISR.
Typically, the flag should be 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.

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

66                           PRELIMINARY                                       Freescale Semiconductor
                                                                                                              Chapter 5 Resets, Interrupts, and System Configuration

5.5.2 External Interrupt Request (IRQ) Pin

External interrupts are managed by the IRQSC status and control register. 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 the IRQSC register must be 1 for the IRQ pin to act as the
interrupt request (IRQ) input. When the pin is configured 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).

When the IRQ pin is configured to detect rising edges, an optional pulldown resistor is available rather than
a pullup resistor. 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.

                                                           NOTE
                  The voltage measured on the pulled up IRQ pin may be as low as
                  VDD 0.7 V. The internal gates connected to this pin are pulled all the way
                  to VDD. All other pins with enabled pullup resistors will have an unloaded
                  measurement of VDD.

5.5.2.2 Edge and Level Sensitivity

The IRQMOD control bit re-configures the detection logic so it detects edge events and pin levels. In this
edge 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-2 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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               67
Chapter 5 Resets, Interrupts, and System Configuration

                                    Table 5-2. Vector Summary

Vector       Vector       Address   Vector Name         Module       Source          Enable        Description
Priority    Number      (High/Low)
                                          Vlcd                      Unused Vector Space
Lower          23   0xFFC0/0xFFC1        Vrti                   (available for user program)
            through        through
                                                          LCD        LCDIF           LCDIEN           LCD interrupt
                31   0xFFD0/0xFFD1                      System        RTIF             RTIE        Real-time interrupt
                                                        control
                22   0xFFD2/0xFFD3
                                                           IIC
                21   0xFFD4/0xFFD5                      ACMP
                                                         ADC
            20 0xFFD6/0xFFD7          Viic                                 IICIS            IICIE       IIC control
            19 0xFFD8/0xFFD9        Vacmp                KBI2              ACF              ACIE           ACMP
            18 0xFFDA/0xFFDB         Vadc                KBI1            COCO               AIEN
                                                          SCI                                        AD conversion
            17 0xFFDC/0xFFDD Vkeyboard2                                    KBF              KBIE         complete
                                                          SCI              KBF              KBIE
            16 0xFFDE/0xFFDF Vkeyboard1                                   TDRE               TIE    Keyboard 2 pins
                                                          SCI               TC              TCIE    Keyboard 1 pins
            15 0xFFE0/0xFFE1        Vscitx                                 IDLE             ILIE
                                                         SPI2             RDRF               RIE       SCI transmit
            14 0xFFE2/0xFFE3        Vscirx                                  OR             ORIE
                                                         SPI1               NF              NFIE       SCI receive
            13 0xFFE4/0xFFE5        Vscierr                                 FE              FEIE
                                                         TPM2               PF              PFIE         SCI error
            12 0xFFE6/0xFFE7        Vspi2                TPM2              SPIF             SPIE
                                                         TPM2            MODF               SPIE           SPI 2
            11 0xFFE8/0xFFE9        Vspi1                TPM1            SPTEF             SPTIE
                                                         TPM1              SPIF             SPIE           SPI 1
            10 0xFFEA/0xFFEB Vtpm2ovf                    TPM1            MODF               SPIE
                                                          ICG            SPTEF             SPTIE     TPM2 overflow
            9        0xFFEC/0xFFED Vtpm2ch1                                TOF              TOIE    TPM2 channel 1
                                                        System            CH1F             CH1IE    TPM2 channel 0
            8        0xFFEE/0xFFEF Vtpm2ch0             control           CH0F             CH0IE     TPM1 overflow
                                                                           TOF              TOIE    TPM1 channel 1
            7        0xFFF0/0xFFF1 Vtpm1ovf               IRQ             CH1F             CH1IE    TPM1 channel 0
                                                         Core             CH0F             CH0IE
            6        0xFFF2/0xFFF3 Vtpm1ch1                               ICGIF      LOLRE/LOCRE            ICG
                                                        System       (LOLS/LOCS)
            5        0xFFF4/0xFFF5 Vtpm1ch0             control           LVDF             LVDIE   Low-voltage detect

            4        0xFFF6/0xFFF7  Vicg

            3        0xFFF8/0xFFF9  Vlvd

            2        0xFFFA/0xFFFB  Virq                                  IRQF       IRQIE                IRQ pin
                                    Vswi                                                --         Software interrupt
            1        0xFFFC/0xFFFD                                         SWI
                                                                       Instruction   COPE            Watchdog timer
            0        0xFFFE/0xFFFF  Vreset                                           LVDRE         Low-voltage detect
                                                                           COP
                                                                           ICG          --             External pin
                                                                           LVD          --            Illegal opcode
                                                                           POR
    Higher                                                            RESET pin
                                                                     Illegal opcode

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

68                                                      PRELIMINARY                            Freescale Semiconductor
                                                                                                              Chapter 5 Resets, Interrupts, and System Configuration

5.6 Low-Voltage Detect (LVD) System

The MC9S08LC60 Series includes a system to protect against low voltage conditions to protect memory
contents and control MCU system states during supply voltage variations. The system comprises a
power-on reset (POR) circuit and an LVD circuit with a user selectable trip voltage, either high (VLVDH)
or low (VLVDL). The LVD circuit is enabled when LVDE in SPMSC1 is high and the trip voltage is selected
by LVDV in SPMSC2. The LVD is disabled upon entering any of the stop modes unless the LVDSE bit is
set. If LVDSE and LVDE are both set, then the MCU cannot enter stop1 or stop2, and the current
consumption in stop3 with the LVD enabled will be greater.

5.6.1 Power-On Reset Operation

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

5.6.2 LVD Reset Operation

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

5.6.3 LVD Interrupt Operation

When a low voltage condition is detected and the LVD circuit is configured for interrupt operation (LVDE
set, LVDIE set, and LVDRE clear), then LVDF will be set and an LVD interrupt will occur.

5.6.4 Low-Voltage Warning (LVW)

The LVD system has a low voltage warning flag to indicate to the user that the supply voltage is
approaching, but is still above, the LVD voltage. The LVW does not have an interrupt associated with it.
There are two user selectable trip voltages for the LVW, one high (VLVWH) and one low (VLVWL). The trip
voltage is selected by LVWV in SPMSC3.

5.7 Real-Time Interrupt (RTI)

The real-time interrupt function can be used to generate periodic interrupts. The RTI can accept two
sources of clocks, the 1-kHz internal clock or an external clock if available. The RTICLKS bit in SRTISC
is used to select the RTI clock source.

Either clock source can be used when the MCU is in run, wait or stop3 mode. When using the external
oscillator in stop3, it must be enabled in stop (EREFSTEN = 1) and configured for low frequency operation
(RANGE = 0). Only the internal 1-kHz clock source can be selected to wake the MCU from stop1 or stop2
modes.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               69
Chapter 5 Resets, Interrupts, and System Configuration

The SRTISC register includes a read-only status flag, a write-only acknowledge bit, and a 3-bit control
value (RTIS) used to select one of seven wakeup periods. The RTI has a local interrupt enable, RTIE, to
allow masking of the real-time interrupt. The RTI can be disabled by writing each bit of RTIS to zeroes,
and no interrupts will be generated. See Section 5.8.7, "System Real-Time Interrupt Status and Control
Register (SRTISC)" for detailed information about this register.

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 the direct-page register summary 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, SOPT2, 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)

These bits 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)

                  Table 5-3. IRQSC Field Descriptions

    Field                                      Description

         6  Interrupt Request (IRQ) Pull Device Disable-- This read/write control bit is used to disable the internal
    IRQPDD  pullup/pulldown 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
            levels on the IRQ pin that cause IRQF to be set. The IRQMOD control bit determines whether the IRQ pin is
            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, the optional pullup resistor is re-configured as an optional pulldown resistor.
            0 IRQ is falling edge or falling edge/low-level sensitive.
            1 IRQ is rising edge or rising edge/high-level sensitive.

               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

70                                          PRELIMINARY                  Freescale Semiconductor
                                      Chapter 5 Resets, Interrupts, and System Configuration

                         Table 5-3. IRQSC Field Descriptions (continued)

Field                    Description

     4   IRQ Pin Enable -- This read/write control bit enables the IRQ pin function. When this bit is set, the IRQ pin can
IRQPE   be used as an interrupt request. Also, when this bit is set, either an internal pull-up or an internal pull-down
         resistor is enabled depending on the state of the IRQMOD bit.
     3   0 IRQ pin function is disabled.
  IRQF   1 IRQ pin function is enabled.

     2   IRQ Flag -- This read-only status bit indicates when an interrupt request event has occurred.
IRQACK   0 No IRQ request.
         1 IRQ event detected.
     1
  IRQIE  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),
     0   IRQF cannot be cleared while the IRQ pin remains at its asserted level.
IRQMOD
         IRQ Interrupt Enable -- This read/write control bit determines whether IRQ events generate a hardware
         interrupt request.
         0 Hardware interrupt requests from IRQF disabled (use polling).
         1 Hardware 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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               71
Chapter 5 Resets, Interrupts, and System Configuration

5.8.2 System Reset Status Register (SRS)

This register includes six 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 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         0                ICG                   LVD  0

           W                               Writing any value to SRS address clears COP watchdog timer.

    POR:          1  0                     0        0            0                0                     1    0

    LVR:          u  0                     0        0            0                0                     1    0

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

                  u = Unaffected by reset

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

                                           Figure 5-3. System Reset Status (SRS)

    Field                                           Table 5-4. SRS Field Descriptions
      7
                                                                                   Description
    POR
                  Power-On Reset -- Reset was caused by the power-on detection logic. Because the internal supply voltage was
      6           ramping up at the time, the low-voltage reset (LVD) status bit is also set to indicate that the reset occurred while
     PIN          the internal supply was below the LVD threshold.
                  0 Reset not caused by POR.
      5           1 POR caused reset.
    COP
                  External Reset Pin -- Reset was caused by an active-low level on the external reset pin.
      4           0 Reset not caused by external reset pin.
    ILOP          1 Reset came from external reset pin.

      2           Computer Operating Properly (COP) Watchdog -- Reset was caused by the COP watchdog timer timing out.
    ICG           This reset source may be blocked by COPE = 0.
                  0 Reset not caused by COP timeout.
      1           1 Reset caused by COP timeout.
    LVD
                  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.

                  Internal Clock Generation Module Reset -- Reset was caused by an ICG module reset.
                  0 Reset not caused by ICG module.
                  1 Reset caused by ICG module.

                  Low Voltage Detect -- If the LVD reset is enabled (LVDE = LVDRE = 1) and the supply drops below the LVD trip
                  voltage, an LVD reset occurs. The LVD function is disabled when the MCU enters stop. To maintain LVD operation
                  in stop, the LVDSE bit must be set.
                  0 Reset not caused by LVD trip or POR.
                  1 Reset caused by LVD trip or POR.

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

72                                                  PRELIMINARY                            Freescale Semiconductor
                                                                                                              Chapter 5 Resets, Interrupts, and System Configuration

5.8.3 System Background Debug Force Reset Register (SBDFR)

This 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 0x0000.

        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-5. SBDFR Field Descriptions

Field                                                                    Description

   0    Background Debug Force Reset -- A serial background mode command such as WRITE_BYTE allows an
BDFR    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.

5.8.4 System Options Register (SOPT1)

This register may be read at any time. Bits 3 and 2 are unimplemented and always read 0. This is a
write-once register so only the first write after reset is honored. Any subsequent attempt to write to SOPT1
(intentionally or unintentionally) is ignored to avoid accidental changes to these sensitive settings. SOPT1
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  COPE                                             0          0                      BKGDPE    RSTPE
     W     1                                                                                    1        1
Reset                    COPT  STOPE

                         1     0            1            0          0

               = Unimplemented or Reserved

                               Figure 5-5. System Options Register (SOPT1)

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                     PRELIMINARY                                                      73
Chapter 5 Resets, Interrupts, and System Configuration

                        Table 5-6. SOPT1 Field Descriptions

    Field                                                  Description

         7  COP Watchdog Enable -- This write-once bit defaults to 1 after reset.
      COPE  0 COP watchdog timer disabled.
            1 COP watchdog timer enabled (force reset on timeout).
         6
      COPT  COP Watchdog Timeout -- This write-once bit selects the timeout period of the COP. COPT along with
            COPCLKS in SOPT2 defines the COP timeout period.
         5  0 Short timeout period selected.
     STOPE  1 Long timeout period selected.

         1  Stop Mode Enable -- This write-once bit defaults to 0 after reset, which disables stop mode. If stop mode is
    BKGDPE  disabled and a user program attempts to execute a STOP instruction, an illegal opcode reset is forced.
            0 Stop mode disabled.
         0  1 Stop mode enabled.
     RSTPE
            Background Debug Mode Pin Enable -- The BKGDPE bit enables the PTG0/BKGD/MS pin to function as
            BKGD/MS. When the bit is clear, the pin will function as PTG0, which is an output-only general-purpose I/O. This
            pin always defaults to BKGD/MS function after any reset.
            0 BKGD pin disabled.
            1 BKGD pin enabled.

            Reset Pin Enable -- This write-once bit when set enables the PTB2/RESET/ pin to function as
            RESET. When clear, the pin functions as one of its input only alternative functions. This pin defaults to its
            input-only port function following an MCU POR. Once configured for RESET pin, only POR can disable the
            RESET pin function. When RSTPE is set, an internal pullup device is enabled on RESET.
            0 PTB2/RESET/ pin functions as PTB2.
            1 PTB2/RESET/ pin functions as RESET.

5.8.5 System Options Register (SOPT2)

This register may be read at any time.

            7        6                     5            4            3  2                1                  0

    R      COPCLKS1  0                     0            0            0  0                0
                                                                                                         ACIC

    W

    Reset   0        0                     0            0            0  0                0                  0

                     = Unimplemented or Reserved

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

                        Table 5-7. SOPT2 Field Descriptions

    Field                                                  Description

    7       COP Watchdog Clock Select -- This write-once bit selects the clock source of the COP watchdog.

COPCLKS 0 Internal 1-kHz clock is source to COP.

            1 Bus clock is source to COP.

      0     Analog Comparator to Input Capture Enable-- This bit connects the output of ACMP to TPM1 input channel 0.
    ACIC    0 ACMP output not connected to TPM1 input channel 0
            1 ACMP output connected to TPM1 input channel 0.

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

74                                                      PRELIMINARY                      Freescale Semiconductor
                                                                                                              Chapter 5 Resets, Interrupts, and System Configuration

5.8.6 System Device Identification Register (SDIDH, SDIDL)

This read-only register is 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 REV3                   REV2  REV1         REV0         ID11       ID10                               ID9  ID8

W

Reset     01             0(1)  0(1)         0(1)         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 Field Descriptions

Field                                             Description

   7:4    Revision Number -- The high-order 4 bits of SDIDH are hard-coded to reflect the current mask set revision
REV[3:0]  number (0F).

   3:0    Part Identification Number -- Each derivative in the HCS08 Family has a unique identification number. The
ID[11:8]  MC9S08LC60 Series is hard-coded to the value 0x0. See also ID 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            0            1          1                                  0    0

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

                               Table 5-9. SDIDL Field Descriptions

                                                                           Description

          Part Identification Number -- Each derivative in the HCS08 Family has a unique identification number. The
          MC9S08LC60 Series is hard coded to the value 0x0C. See also ID bits in Table 5-8.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                     PRELIMINARY                                                              75
Chapter 5 Resets, Interrupts, and System Configuration

5.8.7 System Real-Time Interrupt Status and Control Register (SRTISC)

This register contains one read-only status flag, one write-only acknowledge bit, three read/write delay
selects, and one unimplemented bit, which always reads 0.

               7        6             5            4         3         2        1                 0

         R  RTIF       0       RTICLKS          RTIE         0                                RTIS0
         W         RTIACK                                                                        0
    Reset     0                                                        RTIS2    RTIS1

                   0           0                0            0         0        0

                   = Unimplemented or Reserved

                   Figure 5-9. System RTI Status and Control Register (SRTISC)

                               Table 5-10. SRTISC Field Descriptions

    Field                                             Description

     7      Real-Time Interrupt Flag -- This read-only status bit indicates the periodic wakeup timer has timed out.
   RTIF     0 Periodic wakeup timer not timed out.
            1 Periodic wakeup timer timed out.
     6
RTIACK      Real-Time Interrupt Acknowledge -- This write-only bit is used to acknowledge real-time interrupt request
            (write 1 to clear RTIF). Writing 0 has no meaning or effect. Reads always return 0.
     5
RTICLKS     Real-Time Interrupt Clock Select -- This read/write bit selects the clock source for the real-time interrupt.
            0 Real-time interrupt request clock source is internal 1-kHz oscillator.
     4      1 Real-time interrupt request clock source is external clock.
  RTIE
            Real-Time Interrupt Enable -- This read/write bit enables real-time interrupts.
    2:0     0 Real-time interrupts disabled.
RTIS[2:0]   1 Real-time interrupts enabled.

            Real-Time Interrupt Period Selects -- These read/write bits select the wakeup period for the RTI. See
            Table 5-11.

                               Table 5-11. Real-Time Interrupt Period

            RTIS2:RTIS1:RTIS0     Internal 1 kHz Clock Source 1           External Clock Source 2
                                       (tRTI = 1 ms, Nominal)                     Period = text

            0:0:0                               Disable RTI                     Disable RTI

            0:0:1                               8 ms                            text x 256

            0:1:0                               32 ms                           text x 1024

            0:1:1                               64 ms                           text x 2048

            1:0:0                               128 ms                          text x 4096

            1:0:1                               256 ms                          text x 8192

            1:1:0                               512 ms                          text x 16384

            1:1:1                               1.024 s                         text x 32768

1 See Table A-10 tRTI in Appendix A, "Electrical Characteristics," for the tolerance on these values.
2 text is based on the external clock source, resonator, or crystal selected by the ICG configuration. See Table A-9 for details.

                   MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

76                                              PRELIMINARY                     Freescale Semiconductor
                                                     Chapter 5 Resets, Interrupts, and System Configuration

5.8.8 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 bandgap voltage reference for use by the ADC module. To configure the low voltage detect trip
voltage, see Table 5-14 for the LVDV bit description in SPMSC3.

        7                6       5      4            3                  2          1(1)            0

R LVDF                   0              LVDRE2                          LVDE(2)    0           BGBE
                                                                                                  0
                                 LVDIE               LVDSE

W                        LVDACK

Reset   0                0       0      1            1                  1          0

           = Unimplemented or Reserved

1 Bit 1 is a reserved bit that must always be written to 0.
2 This bit can be written only one time after reset. Additional writes are ignored.

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

                                 Table 5-12. SPMSC1 Field Descriptions

Field                                      Description

    7   Low-Voltage Detect Flag -- Provided LVDE = 1, this read-only status bit indicates a low-voltage detect event.
  LVDF
        Low-Voltage Detect Acknowledge -- This write-only bit is used to acknowledge low voltage detection errors
    6   (write 1 to clear LVDF). Reads always return 0.
LVDACK
        Low-Voltage Detect Interrupt Enable -- This read/write bit enables hardware interrupt requests for LVDF.
    5   0 Hardware interrupt disabled (use polling).
LVDIE  1 Request a hardware interrupt when LVDF = 1.

    4   Low-Voltage Detect Reset Enable -- This read/write bit enables LVDF events to generate a hardware reset
LVDRE   (provided LVDE = 1).
        0 LVDF does not generate hardware resets.
    3   1 Force an MCU reset when LVDF = 1.
LVDSE
        Low-Voltage Detect Stop Enable -- Provided LVDE = 1, this read/write bit determines whether the low-voltage
    2   detect function operates when the MCU is in stop mode.
LVDE   0 Low-voltage detect disabled during stop mode.
        1 Low-voltage detect enabled during stop mode.
    0
BGBE   Low-Voltage Detect Enable -- This read/write 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 module on one of its internal channels or the ACMP.
        0 Bandgap buffer disabled.
        1 Bandgap buffer enabled.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                 PRELIMINARY                                                   77
Chapter 5 Resets, Interrupts, and System Configuration

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

This register is used to configure the stop mode behavior of the MCU. For more information concerning
partial power down mode, see Section 3.6, "Stop Modes."

            7  6  5                         4                3        2     1                       0

    R       0  0  0                         PDF          PPDF       0    PDC1                  PPDC1
                                                                PPDACK      0                      0
    W                                                       0
                                                                     0
Reset       0  0  0                         0

               = Unimplemented or Reserved

1 This bit can be written only one time after reset. Additional writes are ignored.
                  Figure 5-11. System Power Management Status and Control 2 Register (SPMSC2)

                  Table 5-13. SPMSC2 Field Descriptions

    Field                                        Description

         4  Power Down Flag -- This read-only status bit indicates the MCU has recovered from stop1 mode.
       PDF  0 MCU has not recovered from stop1 mode.
            1 MCU recovered from stop1 mode.
         3
      PPDF  Partial Power Down Flag -- The PPDF bit indicates that the MCU has exited the stop2 mode.
            0 Not stop2 mode recovery.
         2  1 Stop2 mode recovery.
    PPDACK
            Partial Power Down Acknowledge -- Writing a 1 to PPDACK clears the PPDF bit.
         1
      PDC   Power Down Control -- The write-once PDC bit controls entry into the power down (stop2 and stop1) modes.
            0 Power down modes are disabled.
         0  1 Power down modes are enabled.
     PPDC
            Partial Power Down Control -- The write-once PPDC bit controls which power down mode, stop1 or stop2, is
            selected.
            0 Stop1, full power down, mode enabled if PDC set.
            1 Stop2, partial power down, mode enabled if PDC set.

               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

78                                          PRELIMINARY                  Freescale Semiconductor
                                                                                                              Chapter 5 Resets, Interrupts, and System Configuration

5.8.10 System Power Management Status and Control 3 Register (SPMSC3)

This register is used to report the status of the low voltage warning function behavior of the MCU.

                7        6       5                 4            3       2          1                                            0

R LVWF                   0                                      0       0          0                                            0

                                 LVDV              LVWV

W                        LVWACK

Power-on reset  0(1)     0       0                 0            0       0          0                                            0

(POR):

LVD reset       0(1)     0       u                 u            0       0          0                                            0

(LVR):

Any other       0(1)     0       u                 u            0       0          0                                            0

reset:

                      = Unimplemented or Reserved        u = Unaffected by reset

1 LVWF will be set in the case when VSupply transitions below the trip point or after reset and VSupply is already below VLVW.
                           Figure 5-12. System Power Management Status and Control 3 Register (SPMSC3)

                                 Table 5-14. SPMSC3 Field Descriptions

Field                                                    Description

     7          Low-Voltage Warning Flag -- The LVWF bit indicates the low voltage warning status.
  LVWF          0 Low voltage warning not present.
                1 Low voltage warning is present or was present.
     6
LVWACK          Low-Voltage Warning Acknowledge -- The LVWACK bit is the low-voltage warning acknowledge. Writing a 1
                to LVWACK clears LVWF to 0 if a low voltage warning is not present.
     5
  LVDV          Low-Voltage Detect Voltage Select -- The LVDV bit selects the LVD trip point voltage (VLVD).
                0 Low trip point selected (VLVD = VLVDL).
     4          1 High trip point selected (VLVD = VLVDH).
LVWV
                Low-Voltage Warning Voltage Select -- The LVWV bit selects the LVW trip point voltage (VLVW).
                0 Low trip point selected (VLVW = VLVWL).
                1 High trip point selected (VLVW = VLVWH).

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                            PRELIMINARY                                                                     79
Chapter 5 Resets, Interrupts, and System Configuration

    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

80                                                      PRELIMINARY  Freescale Semiconductor
Chapter 6
Parallel Input/Output

This section explains software controls related to parallel input/output (I/O). The MC9S08LC60 Series has
three I/O ports which include a total of up to 24 general-purpose I/O pins (pin availability depends on
device and package option, see Table 1-2 for details). See Chapter 2, "Pins and Connections," for more
information about the logic and hardware aspects of these pins.

Many of these pins are shared with on-chip peripherals such as timer systems, SPI, SCI, IIC, external
interrupts, or keyboard interrupts as shown in Table 2-1. The peripheral modules have priority over the I/Os
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 so that the pins are controlled by the I/O. All of the I/Os
are configured as inputs (PTxDDn = 0) with pullup devices disabled (PTxPEn = 0), except for output-only
pin PTC6 which defaults to BKGD/MS pin and PTB2 which defaults to the RESET function.

When these other modules are not controlling the port pins, they revert to general-purpose I/O control. As
a general-purpose I/O control, a port data bit provides access to input (read) and output (write) data, a data
direction bit controls the direction of the pin, and a pullup enable bit enables an internal pullup device
(provided the pin is configured as an input), and a slew rate control bit controls the rise and fall times of
the pins.

                                                           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 should either enable on-chip pullup
                  devices or change the direction of unconnected pins to outputs so the pins
                  do not float.

Reading and writing of parallel I/Os is 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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               81
Chapter 6 Parallel Input/Output

                                 PTxDDn               OUTPUT ENABLE
                                                      OUTPUT DATA
                                 DQ

                                 PTxDn

                                 DQ

                                         1

    PORT READ
       DATA

                                         0            SYNCHRONIZER                         INPUT DATA

    BUSCLK

                                                 Figure 6-1. Parallel I/O Block Diagram

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.

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.

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 pullups, slew rate, and drive
strength for the pins. See Section 6.2.1, "Port A Registers for more information.

                                 MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

82                                       PRELIMINARY                                       Freescale Semiconductor
                                                                                                                                                  Chapter 6 Parallel Input/Output

6.1 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:

    In stop1 mode, all internal registers including parallel I/O control and data registers are powered
         off. Each of the pins assumes its default reset state (output buffer and internal pullup disabled).
         Upon exit from stop1, all pins must be reconfigured the same as if the MCU had been reset.

    Stop2 mode is a partial power-down mode, whereby latches maintain the pin state as before the
         STOP instruction was executed. CPU register status and the state of I/O registers must 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 must 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, I/O data previously stored in RAM, before the STOP instruction was executed,
         peripherals previously enabled will require being initialized and restored to their pre-stop
         condition. The user must then write a 1 to the PPDACK bit in the SPMSC2 register. Access of pins
         is now permitted again in the user's application program.

    In stop3 mode, all pin states are maintained because internal logic stays powered up. Upon
         recovery, all pin functions are the same as before entering stop3.

6.2 Parallel I/O Registers

6.2.1 Port A Registers

This section provides information about all registers and control bits associated with the parallel I/O ports.
The parallel I/O registers are located in page zero of the memory map.

Refer to tables in Chapter 3, "Modes of Operation" for the absolute address assignments for all parallel
I/O registers. This section refers to registers and control bits only by their names. A Freescale-provided
equate or header file normally is used to translate these names into the appropriate absolute addresses.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               83
Chapter 6 Parallel Input/Output

6.2.1.1 Port A Data Registers (PTAD)
Port A parallel I/O function is controlled by the data and data direction registers in this section.

         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-2. Port A Data Register (PTAD)

                              Table 6-1. PTAD 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 pullups disabled.

6.2.1.2 Port A Data Direction Registers (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-5. Data Direction for Port A (PTADD)

                              Table 6-2. PTADD 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.

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

84                                     PRELIMINARY                             Freescale Semiconductor
                                                                                                                                                  Chapter 6 Parallel Input/Output

6.2.2 Port A Control Registers

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 pullups, slew rate, and drive
strength for the associated pins and may be used in conjunction with the peripheral functions on these pins
for most modules.

The pins associated with port A are controlled by the registers in this section. These registers control the
pin pullup, slew rate and drive strength of the port A pins independent of the parallel I/O registers.

6.2.2.1 Internal Pullup Enable (PTAPE)

An internal pullup device can be enabled for each port pin by setting the corresponding bit in the pullup
enable register (PTAPEn). The pullup 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 pullup
enable register bit. The pullup device is also disabled if the pin is controlled by an analog function.

     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-7. Pullup Enable for Port A (PTAPE)

                                  Table 6-3. PTAPE Field Descriptions

Field                                         Description

     7:0    Pullup Enable for Port A Bits -- For port A pins that are inputs, these read/write control bits determine whether
PTAPE[7:0]  internal pullup devices are enabled provided the corresponding PTADDn is 0. For port A pins that are configured
            as outputs, these bits are ignored and the internal pullup devices are disabled. When any of bits 7 through 0 of
            port A are enabled as KBI inputs and are configured to detect rising edges/high levels, the pullup enable bits
            enable pulldown rather than pullup devices.
            0 Internal pullup device disabled.
            1 Internal pullup device enabled.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                    PRELIMINARY                                      85
Chapter 6 Parallel Input/Output

6.2.2.2 Output Slew Rate Control Enable (PTASE)

Slew rate control can be enabled for each port pin by setting the corresponding bit in the slew rate control
register (PTASEn). 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 which are configured as inputs.

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

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

                              Table 6-4. PTASE Field Descriptions

    Field                                 Description

     7:0    Slew Rate Control Enable for Port A Bits -- For port A pins that are outputs, these read/write control bits
PTASE[7:0]  determine whether the slew rate controlled outputs are enabled. For port A pins that are configured as inputs,
            these bits are ignored.
            0 Slew rate control disabled.
            1 Slew rate control enabled.

6.2.2.3 Output Drive Strength Select (PTADS)

An output pin can be selected to have high output drive strength by setting the corresponding bit in the
drive strength select register (PTADSn). 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 chip 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
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.

         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-9. Drive Strength Selection for Port A (PTADS)

                              Table 6-5. PTADS Field Descriptions

    Field                                 Description

     7:0    Output Drive Strength Selection for Port A Bits--Each of these control bits selects between low and high output
PTADS[7:0]  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.

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

86                                     PRELIMINARY                             Freescale Semiconductor
                                                                                                                                                  Chapter 6 Parallel Input/Output

6.2.3 Port B Registers

This section provides information about all registers and control bits associated with the parallel I/O ports.
The parallel I/O registers are located in page zero of the memory map.

Refer to tables in Chapter 4, "Memory" for the absolute address assignments for all parallel I/O registers.
This section refers to registers and control bits only by their names. A Freescale-provided equate or header
file normally is used to translate these names into the appropriate absolute addresses.

6.2.3.1 Port B Data Registers (PTBD)
Port B parallel I/O function is controlled by the data and data direction registers in this section.

               7              6       5       4            3               2            1                    0

R                        PTBD6   PTBD5   PTBD4        PTBD3          PTBD21        PTBD1                PTBD0
        PTBD7                                                                                               0

W

Reset      0             0       0       0            0              0             0

                                                Figure 6-10. Port B Data Register (PTBD)
1 Reads of PTBD2 always return the contents of PTBD2, regardless of the value stored in the bit PTBDD2

                                 Table 6-6. PTBD 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 pullups disabled.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                  PRELIMINARY                                                            87
Chapter 6 Parallel Input/Output

6.2.3.2 Port B Data Direction Registers (PTBDD)

                   7        6        5        4            3                        2             1        0

    R                 PTBDD6   PTBDD5   PTBDD4       PTBDD3                  PTBDD21        PTBDD1   PTBDD0
           PTBDD7                                                                                0        0

    W

    Reset  0            0      0        0            0                       0

                                            Figure 6-13. Data Direction for Port B (PTBDD)
1 PTBDD2 has no effect on the output-only PTB2 pin.

                               Table 6-7. PTBDD 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.

6.2.4 Port B Control Registers

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 pullups, slew rate, and drive
strength for the associated pins and may be used in conjunction with the peripheral functions on these pins
for most modules.

The pins associated with Port B are controlled by the registers in this section. These registers control the
pin pullup, slew rate and drive strength of the Port B pins independent of the parallel I/O registers.

6.2.4.1 Internal Pullup Enable (PTBPE)

An internal pullup device can be enabled for each port pin by setting the corresponding bit in the pullup
enable register (PTBPEn). The pullup 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 pullup
enable register bit. The pullup device is also disabled if the pin is controlled by an analog function.

                        MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

88                                      PRELIMINARY                                         Freescale Semiconductor
                                                                                   Chapter 6 Parallel Input/Output

     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-15. Pullup Enable for Port B (PTBPE)

                                  Table 6-8. PTBPE Field Descriptions

Field                                         Description

     7:0    Pullup Enable for Port B Bits -- For port B pins that are inputs, these read/write control bits determine whether
PTBPE[7:0]  internal pullup devices are enabled provided the corresponding PTBDDn is 0. For port B pins that are configured
            as outputs, these bits are ignored and the internal pullup devices are disabled. When bit 0, 1, 3, 6, or 7 of port B
            is enabled as KBI inputs and are configured to detect rising edges/high levels, the pullup enable bits enable
            pulldown rather than pullup devices.
            0 Internal pullup device disabled.
            1 Internal pullup device enabled.

6.2.4.2 Output Slew Rate Control Enable (PTBSE)

Slew rate control can be enabled for each port pin by setting the corresponding bit in the slew rate control
register (PTBSEn). 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 which are configured as inputs.

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

                         Figure 6-16. Slew Rate Control Enable for Port B (PTBSE)

                                  Table 6-9. PTBSE Field Descriptions

Field                                         Description

     7:0    Slew Rate Control Enable for Port B Bits -- For port B pins that are outputs, these read/write control bits
PTBSE[7:0]  determine whether the slew rate controlled outputs are enabled. For port B pins that are configured as inputs,
            these bits are ignored.
            0 Slew rate control disabled.
            1 Slew rate control enabled.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                    PRELIMINARY                                      89
Chapter 6 Parallel Input/Output

6.2.4.3 Output Drive Strength Select (PTBDS)

An output pin can be selected to have high output drive strength by setting the corresponding bit in the
drive strength select register (PTBDSn). 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 chip 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
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.

         R        7        6        5        4            3               2          1        0
         W
    Reset   PTBDS7   PTBDS6   PTBDS5   PTBDS4       PTBDS3          PTBDS2     PTBDS1   PTBDS0
                 0                                                                           0
                     0        0        0            0               0          0

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

                              Table 6-10. PTBDS Field Descriptions

    Field                                 Description

     7:0    Output Drive Strength Selection for Port B Bits--Each of these control bits selects between low and high output
PTBDS[7:0]  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.2.5 Port C Registers

This section provides information about all registers and control bits associated with the parallel I/O ports.
The parallel I/O registers are located in page zero of the memory map.

Refer to tables in Chapter 4, "Memory" for the absolute address assignments for all parallel I/O registers.
This section refers to registers and control bits only by their names. A Freescale-provided equate or header
file normally is used to translate these names into the appropriate absolute addresses.

                     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

90                                     PRELIMINARY                             Freescale Semiconductor
                                                                                                                                                  Chapter 6 Parallel Input/Output

6.2.5.1 Port C Data Registers (PTCD)
Port C parallel I/O function is controlled by the data and data direction registers in this section.

               7               6        5        4            3                   2              1            0

R                        PTCD62    PTCD5    PTCD4        PTCD3               PTCD2          PTCD1        PTCD0
       PTCD71                                                                                                0

W

Reset      0             0         0        0            0                   0                    0

                                                Figure 6-18. Port C Data Register (PTCD)
1 Reads of PTCD7 always return the pin value of PTC7, regardless of the value stored in the bit PTCDD7
2 Reads of PTCD6 always return the contents of PTCD6, regardless of the value stored in the bit PTCDD6.

                                   Table 6-11. PTCD 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 pullups disabled.

6.2.5.2 Port C Data Direction Registers (PTCDD)

               7                6        5        4            3                   2              1            0

R                        PTCDD62   PTCDD5   PTCDD4       PTCDD3              PTCDD2         PTCDD1       PTCDD0
      PTCDD71                                                                                    0            0

W

Reset      0             0         0        0            0                   0

                                            Figure 6-21. Data Direction for Port C (PTCDD)
1 PTCDD7 has no effect on the input-only PTC7 pin.
2 PTCDD6 has no effect on the output-only PTC6 pin

                                   Table 6-12. PTCDD 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.

6.2.6 Port C Control Registers

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 pullups, slew rate, and drive

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                     PRELIMINARY                                                          91
Chapter 6 Parallel Input/Output

strength for the associated pins and may be used in conjunction with the peripheral functions on these pins
for most modules.
The pins associated with Port C are controlled by the registers in this section. These registers control the
pin pullup, slew rate and drive strength of the Port C pins independent of the parallel I/O registers.

6.2.6.1 Internal Pullup Enable (PTCPE)

An internal pullup device can be enabled for each port pin by setting the corresponding bit in the pullup
enable register (PTCPEn). The pullup 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 pullup
enable register bit. The pullup device is also disabled if the pin is controlled by an analog function.

                   7         6        5        4            3               2                    1        0

    R                 PTCPE62   PTCPE5   PTCPE4       PTCPE3          PTCPE2               PTCPE1   PTCPE0
          PTCPE71                                                                               0        0

    W

    Reset   0         0         0        0            0               0

                                            Figure 6-23. Pullup Enable for Port C (PTCPE)
1 PTCPE7 has no effect on the output-only PTC7 pin.
2 PTCPE6 has no effect on the output-only PTC6 pin.

                                Table 6-13. PTCPE Field Descriptions

    Field                                   Description

     7:0    Pullup Enable for Port C Bits -- For port C pins that are inputs, these read/write control bits determine whether
PTCPE[7:0]  internal pullup devices are enabled provided the corresponding PTCDDn is 0. For port C pins that are configured
            as outputs, these bits are ignored and the internal pullup devices are disabled. When bits 4, 5, or 7 of port C are
            enabled as KBI inputs and are configured to detect rising edges/high levels, the pullup enable bits enable
            pulldown rather than pullup devices.
            0 Internal pullup device disabled.
            1 Internal pullup device enabled.

                      MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

92                                       PRELIMINARY                                       Freescale Semiconductor
                                                                                                                                                  Chapter 6 Parallel Input/Output

6.2.6.2 Output Slew Rate Control Enable (PTCSE)

Slew rate control can be enabled for each port pin by setting the corresponding bit in the slew rate control
register (PTCSEn). 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 which are configured as inputs.

               7                6        5        4            3               2         1                     0

R                        PTCSE62   PTCSE5   PTCSE4       PTCSE3          PTCSE2    PTCSE1                PTCSE0
      PTCSE71                                                                                                 1

W

Reset       1            1         1        1            1               1         1

                                    Figure 6-24. Slew Rate Control Enable for Port C (PTCSE)
1 PTCSE7 has no effect on the input-only PTC7 pin.
2 Reads of PTCD6 always return the contents of PTCD6, regardless of the value stored in the bit PTCDD6.

                                   Table 6-14. PTCSE Field Descriptions

Field                                          Description

     7:0    Slew Rate Control Enable for Port C Bits -- For port C pins that are outputs, these read/write control bits
PTCSE[7:0]  determine whether the slew rate controlled outputs are enabled. For port C pins that are configured as inputs,
            these bits are ignored.
            0 Slew rate control disabled.
            1 Slew rate control enabled.

6.2.6.3 Output Drive Strength Select (PTCDS)

An output pin can be selected to have high output drive strength by setting the corresponding bit in the
drive strength select register (PTCDSn). 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 chip 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
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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                     PRELIMINARY                                                  93
Chapter 6 Parallel Input/Output

                   7         6            5        4                      3        2                1        0

    R                 PTCDS62       PTCDS5   PTCDS4                 PTCDS3   PTCDS2           PTCDS1   PTCDS0
          PTCDS71                                                                                  0        0

    W

    Reset  0                     0  0        0                      0        0

                                    Figure 6-25. Drive Strength Selection for Port C (PTCDS)
1 PTCDS7 has no effect on the input-only PTC7 pin.
2 PTCDD6 has no effect on the output-only PTC6 pin.

                                    Table 6-15. PTCDS Field Descriptions

    Field                                       Description

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

PTCDS[7:0] 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.

                                 MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

94                                           PRELIMINARY                                      Freescale Semiconductor
Chapter 7
Keyboard Interrupt (S08KBIV2)

7.1 Introduction

This on-chip peripheral module is called a keyboard interrupt (KBI) module because originally it was
designed to simplify the connection and use of row-column matrices of keyboard switches. However, these
inputs are also useful as extra external interrupt inputs and as an external means of waking up the MCU
from stop or wait low-power modes.

The KBI module allows up to eight pins to act as additional interrupt sources. These pins can be configured
for either rising-edge sensing or falling-edge sensing. The sensing mode for all eight pins can also be
modified to detect edges and levels instead of only edges.

MC9S08LC60 Series MCUs have two KBIs. When they are described individually, they are called KBI1
and/or KBI2. When referring to the module in general or both KBIs collectively, they are called KBIx.

Figure 7-1 Shows the MC9S08LC60 Series block guide with the KBIs highlighted.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               95
Chapter 7 Keyboard Interrupt (S08KBIV2)

             HCS08 CORE                        ON-CHIP ICE
                                         DEBUG MODULE (DBG)
             CPU   INT
                                                      12-BIT
             BKGD  BKP                     ANALOG-TO-DIGITAL      4 ADP[7:4]                               PTA[7:4]/KBI1P[7:4]/ADP[7:4]
                                            CONVERTER (ADC)             ADP3
             HCS08 SYSTEM CONTROL                                       ADP2                       PORT A  PTA3/KBI1P3/ADP3/ACMP
                                         ANALOG COMPARATOR              ADP1                               PTA2/KBI1P2/ADP2/ACMP+
             RESETS AND INTERRUPTS                   (ACMP)             ADP0
               MODES OF OPERATION
                POWER MANAGEMENT                                ACMP

                                                                ACMP+

                                         8-BIT KEYBOARD         8                                          PTA[1:0]/KBI1P[1:0]/ADP[1:0]

             RTI   COP                   INTERRUPT (KBI1)

             IRQ   LVD                                          SS1                                        PTB7/KBI2P4/SS1
                                                                SPSCK1                                     PTB6/KBI2P3/SPSCK1
                  USER FLASH A           SERIAL PERIPHERAL      MISO1                              PORT B
             (LC60 = 32,768 BYTES)         INTERFACE (SPI1)     MOSI1                                      PTB5/MOSI1/SCL
             (LC36 = 24,576 BYTES)                                                                         PTB4/MISO1/SDA
                                            IIC MODULE (IIC)    SCL                                        PTB3/KBI2P2
                  USER FLASH B                                  SDA                                        PTB2/RESET
             (LC60 = 28,464 BYTES)         8-BIT KEYBOARD
             (LC36 = 12,288 BYTES)         INTERRUPT (KBI2)                  RESET                         PTB1/KBI2P1/XTAL
                                                                   5                                       PTB0/KBI2P0/EXTAL
                      USER RAM                                     3
               (LC60 = 4096 BYTES)
               (LC36 = 2560 BYTES)                                     XTAL
                                                                       EXTAL
                   INTERNAL CLOCK
                  GENERATOR (ICG)                                                         IRQ              PTC7/KBI2P7/IRQ/TPMCLK
                                                                                                           PTC6/BKGD/MS
             LOW-POWER OSCILLATOR        2-CHANNEL TIMER/PWM                              TPM2CH1          PTC5/KBI2P6/TPM2CH1
                                                      (TPM2)                              TPM2CH0          PTC4/KBI2P5/TPM2CH0

      VLCD                               2-CHANNEL TIMER/PWM    TPMCLK                             PORT C  PTC3/SS2/TPM1CH1
       VLL1                                           (TPM1)             TPM1CH0                           PTC2/SPSCK2/TPM1CH0
       VLL2  LIQUID CRYSTAL                                              TPM1CH1
       VLL3  DISPLAY DRIVER                SERIAL PERIPHERAL                                               PTC1/MOSI2/TxD
     VCAP1                                    INTERFACE (SPI2)     SS2                                     PTC0/MISO2/RxD
     VCAP2          LCD                                            SPSCK2
   BP[2:0]                                                         MOSI2
BP3/FP40                                                           MISO2
  FP[39:0]
                                                                                     TxD
        VDD
        VSS                              SERIAL COMMUNICATIONS RxD
                                                INTERFACE (SCI)
  VREFH
   VREFL           VOLTAGE               NOTES:
  VDDAD           REGULATOR                1. Port pins are software configurable with pullup device if input port.
  VSSAD                                    2. Pin contains software configurable pullup/pulldown device if IRQ enabled
                                               (IRQPE = 1).
                                           3. IRQ does not have a clamp diode to VDD. IRQ should not be driven above VDD.
                                           4. Pin contains integrated pullup device.
                                           5. Input-only RESET is shared with output-only PTB2. Default function after reset is
                                               RESET.
                                           6. IRQ is shared with PTC7/KBI2P7/TPMCLK. Default function after reset is
                                               output-only PTC7.
                                           7. PTC6/BKGD/MS is an output only pin
                                           8. FP[39:32], PTA[1:0], and PTA[7:4] are not available in the 64 LQFP.
                                           9. ACMPO is not available.

             Figure 7-1. MC9S08LC60 Series Block Diagram Highlighting KBI Block and Pins

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

96                                       PRELIMINARY                                                       Freescale Semiconductor
                                                                                                                                                  Keyboard Interrupt (S08KBIV2)

7.1.1 Features

The KBI features include:
    Up to eight keyboard interrupt pins with individual pin enable bits.
    Each keyboard interrupt pin is programmable as falling edge (or rising edge) only, or both falling
         edge and low level (or both rising edge and high level) interrupt sensitivity.
    One software enabled keyboard interrupt.
    Exit from low-power modes.

7.1.2 Modes of Operation

This section defines the KBI operation in wait, stop, and background debug modes.

7.1.2.1 KBI in Wait Mode
The KBI continues to operate in wait mode if enabled before executing the WAIT instruction. Therefore,
an enabled KBI pin (KBPEx = 1) can be used to bring the MCU out of wait mode if the KBI interrupt is
enabled (KBIE = 1).

7.1.2.2 KBI in Stop Modes
The KBI operates asynchronously in stop3 mode if enabled before executing the STOP instruction.
Therefore, an enabled KBI pin (KBPEx = 1) can be used to bring the MCU out of stop3 mode if the KBI
interrupt is enabled (KBIE = 1).
During either stop1 or stop2 mode, the KBI is disabled. In some systems, the pins associated with the KBI
may be sources of wakeup from stop1 or stop2, see the stop modes section in the Modes of Operation
chapter. Upon wake-up from stop1 or stop2 mode, the KBI module will be in the reset state.

7.1.2.3 KBI in Active Background Mode
When the microcontroller is in active background mode, the KBI will continue to operate normally.

7.1.3 Block Diagram

The block diagram for the keyboard interrupt module is shown Figure 7-2.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               97
Keyboard Interrupt (S08KBIV2)

            1                          VDD                      KBACK               BUSCLK
            0 S KBIPE0                       D CLR Q            RESET                                   KBF
                                              CK
KBIxP0                                                                             SYNCHRONIZER

    KBEDG0

                                                                  KEYBOARD    STOP STOP BYPASS               KBIx
                                                                INTERRUPT FF                                 INTERRUPT
            1                                                                                                REQUEST
            0 S KBIPEn
KBIxPn                                 KBMOD

                                                                                         KBIE

    KBEDGn

                               Figure 7-2. Keyboard Interrupt (KBI) Block Diagram

7.2 External Signal Description

The KBI input pins can be used to detect either falling edges, or both falling edge and low level interrupt
requests. The KBI input pins can also be used to detect either rising edges, or both rising edge and high
level interrupt requests.

The signal properties of KBI are shown in Table 7-1.

                                                        Table 7-1. Signal Properties

                               Signal         Function                             I/O

                               KBIxPn  Keyboard interrupt pins                     I

                               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

98                                     PRELIMINARY                                       Freescale Semiconductor
                                                                                                                                                  Keyboard Interrupt (S08KBIV2)

7.3 Register Definition

The KBI includes three registers:
    An 8-bit pin status and control register.
    An 8-bit pin enable register.
    An 8-bit edge select register.

Refer to the direct-page register summary in the Memory chapter for the absolute address assignments for
all KBI registers. This section refers to registers and control bits only by their names and relative address
offsets.

Some MCUs may have more than one KBI, so register names include placeholder characters to identify
which KBI is being referenced.

7.3.1 KBIx Status and Control Register (KBIxSC)

KBIxSC contains the status flag and control bits, which are used to configure the KBI.

               7         6                5         4     3         2              1            0

       R       0         0                0         0     KBF       0

                                                                                   KBIE         KBMOD

       W                                                            KBACK

       Reset:  0         0                0         0     0         0              0            0

                         = Unimplemented

                         Figure 7-3. KBIx Status and Control Register

                         Table 7-2. KBIxSC Register Field Descriptions

Field                                                  Description

7:4 Unused register bits, always read 0.

3      Keyboard Interrupt Flag -- KBF indicates when a keyboard interrupt is detected. Writes have no effect on KBF.

KBF 0 No keyboard interrupt detected.

       1 Keyboard interrupt detected.

2      Keyboard Acknowledge -- Writing a 1 to KBACK is part of the flag clearing mechanism. KBACK always reads

KBACK as 0.

  1    Keyboard Interrupt Enable -- KBIE determines whether a keyboard interrupt is requested.
KBIE   0 Keyboard interrupt request not enabled.
       1 Keyboard interrupt request enabled.

0      Keyboard Detection Mode -- KBMOD (along with the KBEDG bits) controls the detection mode of the keyboard

KBMOD interrupt pins.0Keyboard detects edges only.

       1 Keyboard detects both edges and levels.

7.3.2 KBIx Pin Enable Register (KBIxPE)

KBIxPE contains the pin enable control bits.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                      PRELIMINARY                                               99
Keyboard Interrupt (S08KBIV2)

                       7            6       5       4            3       2                    1        0

         R                     KBIPE6  KBIPE5  KBIPE4       KBIPE3  KBIPE2               KBIPE1   KBIPE0
               KBIPE7                                                                        0        0

         W

       Reset:  0               0       0       0            0                 0

                                       Figure 7-4. KBIx Pin Enable Register

                               Table 7-3. KBIxPE Register Field Descriptions

Field                                             Description

   7:0 Keyboard Pin Enables -- Each of the KBIPEn bits enable the corresponding keyboard interrupt pin.
KBIPEn 0 Pin not enabled as keyboard interrupt.

              1 Pin enabled as keyboard interrupt.

7.3.3 KBIx Edge Select Register (KBIxES)

KBIxES contains the edge select control bits.

                       7       6       5       4            3                 2                1        0

         R                     KBEDG6 KBEDG5 KBEDG4 KBEDG3 KBEDG2                        KBEDG1   KBEDG0
               KBEDG7                                                                         0        0

         W

       Reset:  0               0       0       0            0                 0

                                       Figure 7-5. KBIx Edge Select Register

                               Table 7-4. KBIxES Register Field Descriptions

Field                                             Description

    7:0  Keyboard Edge Selects -- Each of the KBEDGn bits selects the falling edge/low level or rising edge/high level
KBEDGn   function of the corresponding pin).
         0 Falling edge/low level.
         1 Rising edge/high level.

7.4 Functional Description

This on-chip peripheral module is called a keyboard interrupt (KBI) module because originally it was
designed to simplify the connection and use of row-column matrices of keyboard switches. However, these
inputs are also useful as extra external interrupt inputs and as an external means of waking the MCU from
stop or wait low-power modes.

The KBI module allows up to eight pins to act as additional interrupt sources. Writing to the KBIPEn bits
in the keyboard interrupt pin enable register (KBIxPE) independently enables or disables each KBI pin.
Each KBI pin can be configured as edge sensitive or edge and level sensitive based on the KBMOD bit in
the keyboard interrupt status and control register (KBIxSC). Edge sensitive 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 KBEDGn bits in the keyboard interrupt edge select register (KBIxES).

                               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

100                                            PRELIMINARY                               Freescale Semiconductor
                                                                                                                                                  Keyboard Interrupt (S08KBIV2)

Synchronous logic is used to detect edges. Prior to detecting an edge, enabled keyboard inputs must be at
the deasserted logic level. A falling edge is detected when an enabled keyboard 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.

7.4.1 Edge Only Sensitivity

A valid edge on an enabled KBI pin will set KBF in KBIxSC. If KBIE in KBIxSC is set, an interrupt
request will be presented to the CPU. Clearing of KBF is accomplished by writing a 1 to KBACK in
KBIxSC.

7.4.2 Edge and Level Sensitivity

A valid edge or level on an enabled KBI pin will set KBF in KBIxSC. If KBIE in KBIxSC is set, an
interrupt request will be presented to the CPU. Clearing of KBF is accomplished by writing a 1 to KBACK
in KBIxSC provided all enabled keyboard inputs are at their deasserted levels. KBF will remain set if any
enabled KBI pin is asserted while attempting to clear by writing a 1 to KBACK.

7.4.3 KBI Pullup/Pulldown Resistors

The KBI pins can be configured to use an internal pullup/pulldown resistor using the associated I/O port
pullup enable register. If an internal resistor is enabled, the KBIxES register is used to select whether the
resistor is a pullup (KBEDGn = 0) or a pulldown (KBEDGn = 1).

7.4.4 KBI Initialization

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

    1. Mask keyboard interrupts by clearing KBIE in KBIxSC.
    2. Enable the KBI polarity by setting the appropriate KBEDGn bits in KBIxES.
    3. If using internal pullup/pulldown device, configure the associated pullup enable bits in PTxPE.
    4. Enable the KBI pins by setting the appropriate KBIPEn bits in KBIxPE.
    5. Write to KBACK in KBIxSC to clear any false interrupts.
    6. Set KBIE in KBIxSC to enable interrupts.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               101
Keyboard Interrupt (S08KBIV2)

                               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

102                            PRELIMINARY                                               Freescale Semiconductor
Chapter 8
Central Processor Unit (S08CPUV2)

8.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).

8.1.1 Features

Features of the HCS08 CPU include:
    Object code fully upward-compatible with M68HC05 and M68HC08 Families
    All registers and memory are mapped to a single 64-Kbyte address space
    16-bit stack pointer (any size stack anywhere in 64-Kbyte 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

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               103
Chapter 8 Central Processor Unit (S08CPUV2)

8.2 Programmer's Model and CPU Registers

Figure 8-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 8-1. CPU Registers

8.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.

8.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.

         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

104                                              PRELIMINARY           Freescale Semiconductor
                                                                                                                            Chapter 8 Central Processor Unit (S08CPUV2)

8.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.

8.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.

8.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.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               105
Chapter 8 Central Processor Unit (S08CPUV2)

                                             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 8-2. Condition Code Register

       Table 8-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 stored value was all 0s.
       0 Non-zero result
       1 Zero result

       Carry/Borrow Flag -- The CPU sets the carry/borrow flag when an addition operation produces a carry out of bit
       7 of the accumulator or when a subtraction operation requires a borrow. Some instructions -- such as bit test and
       branch, shift, and rotate -- also clear or set the carry/borrow flag.
       0 No carry out of bit 7
       1 Carry out of bit 7

       MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

106                                             PRELIMINARY                             Freescale Semiconductor
                                                                                                                            Chapter 8 Central Processor Unit (S08CPUV2)

8.3 Addressing Modes

Addressing modes define the way the CPU accesses operands and data. In the HCS08, all memory, status
and control registers, and input/output (I/O) ports share a single 64-Kbyte linear address space so a 16-bit
binary address can uniquely identify any memory location. This arrangement means that the same
instructions that access variables in RAM can also be used to access I/O and control registers or nonvolatile
program space.

Some instructions use more than one addressing mode. For instance, move instructions use one addressing
mode to specify the source operand and a second addressing mode to specify the destination address.
Instructions such as BRCLR, BRSET, CBEQ, and DBNZ use one addressing mode to specify the location
of an operand for a test and then use relative addressing mode to specify the branch destination address
when the tested condition is true. For BRCLR, BRSET, CBEQ, and DBNZ, the addressing mode listed in
the instruction set tables is the addressing mode needed to access the operand to be tested, and relative
addressing mode is implied for the branch destination.

8.3.1 Inherent Addressing Mode (INH)

In this addressing mode, operands needed to complete the instruction (if any) are located within CPU
registers so the CPU does not need to access memory to get any operands.

8.3.2 Relative Addressing Mode (REL)

Relative addressing mode is used to specify the destination location for branch instructions. A signed 8-bit
offset value is located in the memory location immediately following the opcode. During execution, if the
branch condition is true, the signed offset is sign-extended to a 16-bit value and is added to the current
contents of the program counter, which causes program execution to continue at the branch destination
address.

8.3.3 Immediate Addressing Mode (IMM)

In immediate addressing mode, the operand needed to complete the instruction is included in the object
code immediately following the instruction opcode in memory. In the case of a 16-bit immediate operand,
the high-order byte is located in the next memory location after the opcode, and the low-order byte is
located in the next memory location after that.

8.3.4 Direct Addressing Mode (DIR)

In direct addressing mode, the instruction includes the low-order eight bits of an address in the direct page
(0x00000x00FF). During execution a 16-bit address is formed by concatenating an implied 0x00 for the
high-order half of the address and the direct address from the instruction to get the 16-bit address where
the desired operand is located. This is faster and more memory efficient than specifying a complete 16-bit
address for the operand.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               107
Chapter 8 Central Processor Unit (S08CPUV2)

8.3.5 Extended Addressing Mode (EXT)

In extended addressing mode, the full 16-bit address of the operand is located in the next two bytes of
program memory after the opcode (high byte first).

8.3.6 Indexed Addressing Mode

Indexed addressing mode has seven variations including five that use the 16-bit H:X index register pair and
two that use the stack pointer as the base reference.

8.3.6.1 Indexed, No Offset (IX)
This variation of indexed addressing uses the 16-bit value in the H:X index register pair as the address of
the operand needed to complete the instruction.

8.3.6.2 Indexed, No Offset with Post Increment (IX+)
This variation of indexed addressing uses the 16-bit value in the H:X index register pair as the address of
the operand needed to complete the instruction. The index register pair is then incremented
(H:X = H:X + 0x0001) after the operand has been fetched. This addressing mode is only used for MOV
and CBEQ instructions.

8.3.6.3 Indexed, 8-Bit Offset (IX1)
This variation of indexed addressing uses the 16-bit value in the H:X index register pair plus an unsigned
8-bit offset included in the instruction as the address of the operand needed to complete the instruction.

8.3.6.4 Indexed, 8-Bit Offset with Post Increment (IX1+)
This variation of indexed addressing uses the 16-bit value in the H:X index register pair plus an unsigned
8-bit offset included in the instruction as the address of the operand needed to complete the instruction.
The index register pair is then incremented (H:X = H:X + 0x0001) after the operand has been fetched. This
addressing mode is used only for the CBEQ instruction.

8.3.6.5 Indexed, 16-Bit Offset (IX2)
This variation of indexed addressing uses the 16-bit value in the H:X index register pair plus a 16-bit offset
included in the instruction as the address of the operand needed to complete the instruction.

8.3.6.6 SP-Relative, 8-Bit Offset (SP1)
This variation of indexed addressing uses the 16-bit value in the stack pointer (SP) plus an unsigned 8-bit
offset included in the instruction as the address of the operand needed to complete the instruction.

     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

108  PRELIMINARY                                               Freescale Semiconductor
                                                                                                                            Chapter 8 Central Processor Unit (S08CPUV2)

8.3.6.7 SP-Relative, 16-Bit Offset (SP2)

This variation of indexed addressing uses the 16-bit value in the stack pointer (SP) plus a 16-bit offset
included in the instruction as the address of the operand needed to complete the instruction.

8.4 Special Operations

The CPU performs a few special operations that are similar to instructions but do not have opcodes like
other CPU instructions. In addition, a few instructions such as STOP and WAIT directly affect other MCU
circuitry. This section provides additional information about these operations.

8.4.1 Reset Sequence

Reset can be caused by a power-on-reset (POR) event, internal conditions such as the COP (computer
operating properly) watchdog, or by assertion of an external active-low reset pin. When a reset event
occurs, the CPU immediately stops whatever it is doing (the MCU does not wait for an instruction
boundary before responding to a reset event). For a more detailed discussion about how the MCU
recognizes resets and determines the source, refer to the Resets, Interrupts, and System Configuration
chapter.

The reset event is considered concluded when the sequence to determine whether the reset came from an
internal source is done and when the reset pin is no longer asserted. At the conclusion of a reset event, the
CPU performs a 6-cycle sequence to fetch the reset vector from 0xFFFE and 0xFFFF and to fill the
instruction queue in preparation for execution of the first program instruction.

8.4.2 Interrupt Sequence

When an interrupt is requested, the CPU completes the current instruction before responding to the
interrupt. At this point, the program counter is pointing at the start of the next instruction, which is where
the CPU should return after servicing the interrupt. The CPU responds to an interrupt by performing the
same sequence of operations as for a software interrupt (SWI) instruction, except the address used for the
vector fetch is determined by the highest priority interrupt that is pending when the interrupt sequence
started.

The CPU sequence for an interrupt is:
    1. Store the contents of PCL, PCH, X, A, and CCR on the stack, in that order.
    2. Set the I bit in the CCR.
    3. Fetch the high-order half of the interrupt vector.
    4. Fetch the low-order half of the interrupt vector.
    5. Delay for one free bus cycle.
    6. Fetch three bytes of program information starting at the address indicated by the interrupt vector
         to fill the instruction queue in preparation for execution of the first instruction in the interrupt
         service routine.

After the CCR contents are pushed onto the stack, the I bit in the CCR is set to prevent other interrupts
while in the interrupt service routine. Although it is possible to clear the I bit with an instruction in the

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               109
Chapter 8 Central Processor Unit (S08CPUV2)

interrupt service routine, this would allow nesting of interrupts (which is not recommended because it
leads to programs that are difficult to debug and maintain).

For compatibility with the earlier M68HC05 MCUs, the high-order half of the H:X index register pair (H)
is not saved on the stack as part of the interrupt sequence. The user must use a PSHH instruction at the
beginning of the service routine to save H and then use a PULH instruction just before the RTI that ends
the interrupt service routine. It is not necessary to save H if you are certain that the interrupt service routine
does not use any instructions or auto-increment addressing modes that might change the value of H.

The software interrupt (SWI) instruction is like a hardware interrupt except that it is not masked by the
global I bit in the CCR and it is associated with an instruction opcode within the program so it is not
asynchronous to program execution.

8.4.3 Wait Mode Operation

The WAIT instruction enables interrupts by clearing the I bit in the CCR. It then halts the clocks to the
CPU to reduce overall power consumption while the CPU is waiting for the interrupt or reset event that
will wake the CPU from wait mode. When an interrupt or reset event occurs, the CPU clocks will resume
and the interrupt or reset event will be processed normally.

If a serial BACKGROUND command is issued to the MCU through the background debug interface while
the CPU is in wait mode, CPU clocks will resume and the CPU will enter active background mode where
other serial background commands can be processed. This ensures that a host development system can still
gain access to a target MCU even if it is in wait mode.

8.4.4 Stop Mode Operation

Usually, all system clocks, including the crystal oscillator (when used), are halted during stop mode to
minimize power consumption. In such systems, external circuitry is needed to control the time spent in
stop mode and to issue a signal to wake up the target MCU when it is time to resume processing. Unlike
the earlier M68HC05 and M68HC08 MCUs, the HCS08 can be configured to keep a minimum set of
clocks running in stop mode. This optionally allows an internal periodic signal to wake the target MCU
from stop mode.

When a host debug system is connected to the background debug pin (BKGD) and the ENBDM control
bit has been set by a serial command through the background interface (or because the MCU was reset into
active background mode), the oscillator is forced to remain active when the MCU enters stop mode. In this
case, if a serial BACKGROUND command is issued to the MCU through the background debug interface
while the CPU is in stop mode, CPU clocks will resume and the CPU will enter active background mode
where other serial background commands can be processed. This ensures that a host development system
can still gain access to a target MCU even if it is in stop mode.

Recovery from stop mode depends on the particular HCS08 and whether the oscillator was stopped in stop
mode. Refer to the Modes of Operation chapter for more details.

     MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

110  PRELIMINARY                                               Freescale Semiconductor
                                                                                                                            Chapter 8 Central Processor Unit (S08CPUV2)

8.4.5 BGND Instruction

The BGND instruction is new to the HCS08 compared to the M68HC08. BGND would not be used in
normal user programs because it forces the CPU to stop processing user instructions and enter the active
background mode. The only way to resume execution of the user program is through reset or by a host
debug system issuing a GO, TRACE1, or TAGGO serial command through the background debug
interface.

Software-based breakpoints can be set by replacing an opcode at the desired breakpoint address with the
BGND opcode. When the program reaches this breakpoint address, the CPU is forced to active background
mode rather than continuing the user program.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                               111
Chapter 8 Central Processor Unit (S08CPUV2)

8.5 HCS08 Instruction Set Summary

Instruction Set Summary Nomenclature

The nomenclature listed here is used in the instruction descriptions in Table 8-2.

Operators

          ( ) = Contents of register or memory location shown inside parentheses
           = Is loaded with (read: "gets")
           & = Boolean AND

            | = Boolean OR
            = Boolean exclusive-OR
            = Multiply
            = Divide
            : = Concatenate
           + = Add
            = Negate (two's complement)

CPU registers  Accumulator
               Condition code register
           A=  Index register, higher order (most significant) 8 bits
       CCR =   Index register, lower order (least significant) 8 bits
               Program counter
           H=  Program counter, higher order (most significant) 8 bits
           X=  Program counter, lower order (least significant) 8 bits
         PC =  Stack pointer
       PCH =
       PCL =
         SP =

Memory and addressing

         M = A memory location or absolute data, depending on addressing mode

M:M + 0x0001= A 16-bit value in two consecutive memory locations. The higher-order (most
                      significant) 8 bits are located at the address of M, and the lower-order (least
                      significant) 8 bits are located at the next higher sequential address.

Condition code register (CCR) bits

           V = Two's complement overflow indicator, bit 7
           H = Half carry, bit 4
            I = Interrupt mask, bit 3
           N = Negative indicator, bit 2
           Z = Zero indicator, bit 1
           C = Carry/borrow, bit 0 (carry out of bit 7)

CCR activity notation
            = Bit not affected

               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

112                                          PRELIMINARY                            Freescale Semiconductor
                                                       Chapter 8 Central Processor Unit (S08CPUV2)

0 = Bit forced to 0
1 = Bit forced to 1

     = Bit set or cleared according to results of operation
U = Undefined after the operation

Machine coding notation

          dd = Low-order 8 bits of a direct address 0x00000x00FF (high byte assumed to be 0x00)
          ee = Upper 8 bits of 16-bit offset

           ff = Lower 8 bits of 16-bit offset or 8-bit offset
            ii = One byte of immediate data
            jj = High-order byte of a 16-bit immediate data value
          kk = Low-order byte of a 16-bit immediate data value
          hh = High-order byte of 16-bit extended address
            ll = Low-order byte of 16-bit extended address
           rr = Relative offset

Source form

Everything in the source forms columns, except expressions in italic characters, is literal information that
must appear in the assembly source file exactly as shown. The initial 3- to 5-letter mnemonic is always a
literal expression. All commas, pound signs (#), parentheses, and plus signs (+) are literal characters.

           n -- Any label or expression that evaluates to a single integer in the range 07
      opr8i -- Any label or expression that evaluates to an 8-bit immediate value
     opr16i -- Any label or expression that evaluates to a 16-bit immediate value
     opr8a -- Any label or expression that evaluates to an 8-bit value. The instruction treats this 8-bit

                      value as the low order 8 bits of an address in the direct page of the 64-Kbyte address
                      space (0x00xx).
    opr16a -- Any label or expression that evaluates to a 16-bit value. The instruction treats this
                      value as an address in the 64-Kbyte address space.
      oprx8 -- Any label or expression that evaluates to an unsigned 8-bit value, used for indexed
                      addressing
    oprx16 -- Any label or expression that evaluates to a 16-bit value. Because the HCS08 has a
                      16-bit address bus, this can be either a signed or an unsigned value.
          rel -- Any label or expression that refers to an address that is within 128 to +127 locations
                      from the next address after the last byte of object code for the current instruction. The
                      assembler will calculate the 8-bit signed offset and include it in the object code for this
                      instruction.

Address modes  Inherent (no operands)
               8-bit or 16-bit immediate
        INH =  8-bit direct
       IMM =   16-bit extended
        DIR =
       EXT =

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                   PRELIMINARY                              113
Chapter 8 Central Processor Unit (S08CPUV2)

        IX = 16-bit indexed no offset
      IX+ = 16-bit indexed no offset, post increment (CBEQ and MOV only)
      IX1 = 16-bit indexed with 8-bit offset from H:X
     IX1+ = 16-bit indexed with 8-bit offset, post increment

                    (CBEQ only)
      IX2 = 16-bit indexed with 16-bit offset from H:X
     REL = 8-bit relative offset
     SP1 = Stack pointer with 8-bit offset
     SP2 = Stack pointer with 16-bit offset

                                Table 8-2. HCS08 Instruction Set Summary (Sheet 1 of 7)

     Source    Operation                     Description                                 Effect    Address
      Form                                                                              on CCR        Mode

                                                                                   VH I NZC                     Opcode
                                                                                                                         Operand
                                                                                                                                 Bus Cycles1

ADC #opr8i                                                                                         IMM  A9 ii    2
ADC opr8a
ADC opr16a                                                                                         DIR  B9 dd    3
ADC oprx16,X
ADC oprx8,X                                                                                        EXT  C9 hh ll 4
ADC ,X
ADC oprx16,SP  Add with Carry                A  (A) + (M) + (C)                                   IX2  D9 ee ff 4
ADC oprx8,SP                                                                                       IX1
               Add without Carry                                                                        E9 ff    3
ADD #opr8i
ADD opr8a      Add Immediate Value                                                                 IX   F9       3
ADD opr16a     (Signed) to Stack Pointer
ADD oprx16,X   Add Immediate Value                                                                 SP2  9ED9 ee ff 5
ADD oprx8,X    (Signed) to Index
ADD ,X         Register (H:X)                                                                      SP1  9EE9 ff  4
ADD oprx16,SP
ADD oprx8,SP   Logical AND                                                                         IMM  AB ii    2

AIS #opr8i     Arithmetic Shift Left                                                               DIR  BB dd    3
               (Same as LSL)
AIX #opr8i                                                                                         EXT  CB hh ll 4
               Arithmetic Shift Right
AND #opr8i     Branch if Carry Bit Clear                   A  (A) + (M)                           IX2  DB ee ff 4
AND opr8a                                                                                          IX1
AND opr16a                                               SP  (SP) + (M)                                 EB ff    3
AND oprx16,X                                 M is sign extended to a 16-bit value
AND oprx8,X                                                                                        IX   FB       3
AND ,X                                                  H:X  (H:X) + (M)
AND oprx16,SP                                M is sign extended to a 16-bit value                  SP2  9EDB ee ff 5
AND oprx8,SP
                                                           A  (A) & (M)                            SP1  9EEB ff  4
ASL opr8a
ASLA                                                                               IMM      A7 ii    2
ASLX
ASL oprx8,X                                                                         IMM      AF ii    2
ASL ,X
ASL oprx8,SP                                                                                       IMM  A4 ii    2

ASR opr8a                                                                                          DIR  B4 dd    3
ASRA
ASRX                                                                                               EXT  C4 hh ll 4
ASR oprx8,X
ASR ,X                                                                             0            IX2  D4 ee ff 4
ASR oprx8,SP                                                                                       IX1
                                                                                                        E4 ff    3
BCC rel
                                                                                                   IX   F4       3

                                                                                                   SP2  9ED4 ee ff 5

                                                                                                   SP1  9EE4 ff  4

                                                                                                   DIR  38 dd    5

                                                                                                   INH  48       1

                                             C                  0                                INH  58       1
                                                    b7  b0                                         IX1
                                                                                                        68 ff    5

                                                                                                   IX   78       4

                                                                                                   SP1  9E68 ff  6

                                                                                                   DIR  37 dd    5

                                                                                                   INH  47       1

                                                                 C                               INH  57       1
                                                                                                   IX1
                                             b7         b0                                              67 ff    5

                                                                                                   IX   77       4

                                                                                                   SP1  9E67 ff  6

                                             Branch if (C) = 0                      REL      24 rr    3

               MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

114                                          PRELIMINARY                                                Freescale Semiconductor
                                                                         Chapter 8 Central Processor Unit (S08CPUV2)

                         Table 8-2. HCS08 Instruction Set Summary (Sheet 2 of 7)

       Source            Operation        Description                       Effect      Address
        Form                                                               on CCR          Mode

BCLR n,opr8a                                                          VH I NZC                       Opcode
                                                                                                              Operand
BCS rel                                                                                                               Bus Cycles1
BEQ rel
                                                                                        DIR (b0)  11 dd    5
BGE rel
                                                                                        DIR (b1)  13 dd    5
BGND
                                                                                        DIR (b2)  15 dd    5
BGT rel
BHCC rel       Clear Bit n in Memory      Mn  0                                   DIR (b3)  17 dd    5
BHCS rel                                                                                DIR (b4)  19 dd    5
BHI rel
BHS rel                                                                                 DIR (b5)  1B dd    5
BIH rel
BIL rel                                                                                 DIR (b6)  1D dd    5
BIT #opr8i
BIT opr8a                                                                               DIR (b7)  1F dd    5
BIT opr16a
BIT oprx16,X   Branch if Carry Bit Set    Branch if (C) = 1            REL             25 rr    3
BIT oprx8,X    (Same as BLO)
BIT ,X
BIT oprx16,SP  Branch if Equal            Branch if (Z) = 1            REL             27 rr    3
BIT oprx8,SP
BLE rel        Branch if Greater Than or  Branch if (N  V) = 0         REL             90 rr    3
               Equal To
BLO rel        (Signed Operands)
BLS rel
BLT rel        Enter Active Background      Waits For and Processes BDM                           82       5+
BMC rel        if ENBDM = 1               Commands Until GO, TRACE1, or INH
BMI rel
BMS rel                                                    TAGGO
BNE rel
BPL rel        Branch if Greater Than     Branch if (Z) | (N  V) = 0   REL             92 rr    3
BRA rel        (Signed Operands)

               Branch if Half Carry Bit   Branch if (H) = 0            REL             28 rr    3
               Clear

               Branch if Half Carry Bit   Branch if (H) = 1            REL             29 rr    3
               Set

               Branch if Higher           Branch if (C) | (Z) = 0      REL             22 rr    3

               Branch if Higher or Same   Branch if (C) = 0            REL             24 rr    3
               (Same as BCC)

               Branch if IRQ Pin High     Branch if IRQ pin = 1       REL             2F rr    3

               Branch if IRQ Pin Low      Branch if IRQ pin = 0       REL             2E rr    3

                                                                                        IMM       A5 ii    2

                                                                                        DIR       B5 dd    3

                                                       (A) & (M)                        EXT       C5 hh ll 4
                                          (CCR Updated but Operands
               Bit Test                                               0              IX2       D5 ee ff 4
                                                    Not Changed)                        IX1
                                                                                                  E5 ff    3

                                                                                        IX        F5       3

                                                                                        SP2       9ED5 ee ff 5

                                                                                        SP1       9EE5 ff  4

               Branch if Less Than        Branch if (Z) | (N  V) = 1   REL             93 rr    3
               or Equal To
               (Signed Operands)

               Branch if Lower            Branch if (C) = 1            REL             25 rr    3
               (Same as BCS)

               Branch if Lower or Same    Branch if (C) | (Z) = 1      REL             23 rr    3

               Branch if Less Than        Branch if (N  V ) = 1       REL             91 rr    3
               (Signed Operands)

               Branch if Interrupt Mask   Branch if (I) = 0            REL             2C rr    3
               Clear

               Branch if Minus            Branch if (N) = 1            REL             2B rr    3

               Branch if Interrupt Mask   Branch if (I) = 1            REL             2D rr    3
               Set

               Branch if Not Equal        Branch if (Z) = 0            REL             26 rr    3

               Branch if Plus             Branch if (N) = 0            REL             2A rr    3

               Branch Always              No Test                      REL             20 rr    3

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                   PRELIMINARY                                                      115
Chapter 8 Central Processor Unit (S08CPUV2)

                          Table 8-2. HCS08 Instruction Set Summary (Sheet 3 of 7)

     Source               Operation           Description                          Effect      Address
      Form                                                                        on CCR          Mode

                                                                             VH I NZC                       Opcode
                                                                                                                     Operand
                                                                                                                             Bus Cycles1

                                                                                               DIR (b0)     01 dd rr 5
                                                                                                            03 dd rr 5
                                                                                               DIR (b1)     05 dd rr 5
                                                                                                            07 dd rr 5
                                                                                               DIR (b2)     09 dd rr 5
                                                                                                            0B dd rr 5
BRCLR n,opr8a,rel  Branch if Bit n in Memory  Branch if (Mn) = 0                          DIR (b3)     0D dd rr 5
                   Clear                                                                       DIR (b4)     0F dd rr 5

                                                                                               DIR (b5)

                                                                                               DIR (b6)

                                                                                               DIR (b7)

BRN rel            Branch Never               Uses 3 Bus Cycles               REL                21 rr    3

                                                                                               DIR (b0)     00 dd rr 5
                                                                                                            02 dd rr 5
                                                                                               DIR (b1)     04 dd rr 5
                                                                                                            06 dd rr 5
                                                                                               DIR (b2)     08 dd rr 5
                                                                                                            0A dd rr 5
BRSET n,opr8a,rel  Branch if Bit n in Memory  Branch if (Mn) = 1                          DIR (b3)     0C dd rr 5
                   Set                                                                         DIR (b4)     0E dd rr 5

                                                                                               DIR (b5)

                                                                                               DIR (b6)

                                                                                               DIR (b7)

                                                                                               DIR (b0)     10 dd    5

                                                                                               DIR (b1)     12 dd    5

                                                                                               DIR (b2)     14 dd    5

BSET n,opr8a       Set Bit n in Memory        Mn  1                                      DIR (b3)     16 dd    5
                                                                                               DIR (b4)     18 dd    5

                                                                                               DIR (b5)     1A dd    5

                                                                                               DIR (b6)     1C dd    5

                                                                                               DIR (b7)     1E dd    5

BSR rel            Branch to Subroutine               PC  (PC) + 0x0002       REL                AD rr    5
                                              push (PCL); SP  (SP) 0x0001
                                              push (PCH); SP  (SP) 0x0001

                                                         PC  (PC) + rel

CBEQ opr8a,rel                                Branch if (A) = (M)                              DIR          31 dd rr 5
CBEQA #opr8i,rel                              Branch if (A) = (M)
CBEQX #opr8i,rel                              Branch if (X) = (M)                              IMM          41 ii rr 4
CBEQ oprx8,X+,rel                             Branch if (A) = (M)
CBEQ ,X+,rel       Compare and Branch if      Branch if (A) = (M)                        IMM          51 ii rr 4
CBEQ oprx8,SP,rel  Equal                      Branch if (A) = (M)                              IX1+
                                                                                                            61 ff rr 5

                                                                                               IX+          71 rr    5

                                                                                               SP1          9E61 ff rr 6

CLC                Clear Carry Bit            C0                              0 INH                98       1

CLI                Clear Interrupt Mask Bit   I0                              0 INH                9A       1

CLR opr8a                                     M  0x00                                                  DIR  3F dd    5
CLRA                                          A  0x00
CLRX                                          X  0x00                                                  INH  4F       1
CLRH                                          H  0x00
CLR oprx8,X                                   M  0x00                                                  INH  5F       1
CLR ,X                                        M  0x00                        0 0 1 INH
CLR oprx8,SP       Clear                      M  0x00                                                       8C       1
                                                                                                       IX1
                                                                                                            6F ff    5
                                                                                                       IX
                                                                                                            7F       4
                                                                                                       SP1
                                                                                                            9E6F ff  6

CMP #opr8i                                                                                     IMM          A1 ii    2
CMP opr8a
CMP opr16a                                                                                     DIR          B1 dd    3
CMP oprx16,X
CMP oprx8,X                                                   (A) (M)                        EXT          C1 hh ll 4
CMP ,X                                        (CCR Updated But Operands Not
CMP oprx16,SP      Compare Accumulator                                                       IX2          D1 ee ff 4
CMP oprx8,SP       with Memory                               Changed)                          IX1
                                                                                                            E1 ff    3

                                                                                               IX           F1       3

                                                                                               SP2          9ED1 ee ff 5

                                                                                               SP1          9EE1 ff  4

COM opr8a                                     M  (M)= 0xFF (M)                               DIR          33 dd    5
COMA                                          A  (A) = 0xFF (A)
COMX                                          X  (X) = 0xFF (X)                              INH          43       1
COM oprx8,X                                   M  (M) = 0xFF (M)
COM ,X             Complement                 M  (M) = 0xFF (M)            0            1  INH          53       1
COM oprx8,SP       (One's Complement)         M  (M) = 0xFF (M)                              IX1
                                                                                                            63 ff    5

                                                                                               IX           73       4

                                                                                               SP1          9E63 ff  6

CPHX opr16a                                         (H:X) (M:M + 0x0001)                     EXT          3E hh ll 6
CPHX #opr16i                                  (CCR Updated But Operands Not
CPHX opr8a         Compare Index Register                                                    IMM          65 jj kk 3
CPHX oprx8,SP      (H:X) with Memory                         Changed)                          DIR
                                                                                                            75 dd    5

                                                                                               SP1          9EF3 ff  6

                          MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

116                                           PRELIMINARY                                                   Freescale Semiconductor
                                                                                   Chapter 8 Central Processor Unit (S08CPUV2)

                         Table 8-2. HCS08 Instruction Set Summary (Sheet 4 of 7)

Source                   Operation            Description                             Effect      Address
Form                                                                                on CCR          Mode

                                                                                VH I NZC                       Opcode
                                                                                                                        Operand
                                                                                                                                Bus Cycles1

CPX #opr8i                                                                                        IMM          A3 ii    2
CPX opr8a
CPX opr16a                                                                                        DIR          B3 dd    3
CPX oprx16,X
CPX oprx8,X        Compare X (Index                            (X) (M)                          EXT          C3 hh ll 4
CPX ,X             Register Low) with          (CCR Updated But Operands Not
CPX oprx16,SP      Memory                                                                       IX2          D3 ee ff 4
CPX oprx8,SP                                                   Changed)                           IX1
                   Decimal Adjust                                                                              E3 ff    3
DAA                Accumulator After ADD or                       (A)10
                   ADC of BCD Values                   Decrement A, X, or M                       IX           F3       3
DBNZ opr8a,rel     Decrement and Branch if              Branch if (result)  0
DBNZA rel          Not Zero                          DBNZX Affects X Not H                        SP2          9ED3 ee ff 5
DBNZX rel
DBNZ oprx8,X,rel   Decrement                              M  (M) 0x01                           SP1          9EE3 ff  4
DBNZ ,X,rel                                                A  (A) 0x01
DBNZ oprx8,SP,rel  Divide                                  X  (X) 0x01        U     INH                   72       1
                                                          M  (M) 0x01
DEC opr8a          Exclusive OR                           M  (M) 0x01                           DIR          3B dd rr 7
DECA               Memory with                            M  (M) 0x01
DECX               Accumulator                              A  (H:A)(X)                          INH          4B rr    4
DEC oprx8,X                                               H  Remainder
DEC ,X             Increment                                                                INH          5B rr    4
DEC oprx8,SP                                                 A  (A  M)                            IX1
                   Jump                                                                                        6B ff rr 7
DIV                                                       M  (M) + 0x01
                   Jump to Subroutine                      A  (A) + 0x01                          IX           7B rr    6
EOR #opr8i                                                 X  (X) + 0x01
EOR opr8a          Load Accumulator from                  M  (M) + 0x01                           SP1          9E6B ff rr 8
EOR opr16a         Memory                                 M  (M) + 0x01
EOR oprx16,X                                              M  (M) + 0x01                           DIR          3A dd    5
EOR oprx8,X        Load Index Register (H:X)           PC  Jump Address
EOR ,X             from Memory                                                                    INH          4A       1
EOR oprx16,SP                                    PC  (PC) + n (n = 1, 2, or 3)
EOR oprx8,SP                                  Push (PCL); SP  (SP) 0x0001                    INH          5A       1
                                              Push (PCH); SP  (SP) 0x0001                       IX1
INC opr8a                                                                                                      6A ff    5
INCA                                              PC  Unconditional Address
INCX                                                                                              IX           7A       4
INC oprx8,X                                                     A  (M)
INC ,X                                                                                            SP1          9E6A ff  6
INC oprx8,SP                                          H:X  (M:M + 0x0001)
                                                                                    INH                  52       6
JMP opr8a
JMP opr16a                                                                                        IMM          A8 ii    2
JMP oprx16,X
JMP oprx8,X                                                                                       DIR          B8 dd    3
JMP ,X
                                                                                                  EXT          C8 hh ll 4
JSR opr8a
JSR opr16a                                                                      0              IX2          D8 ee ff 4
JSR oprx16,X                                                                                      IX1
JSR oprx8,X                                                                                                    E8 ff    3
JSR ,X
                                                                                                  IX           F8       3
LDA #opr8i
LDA opr8a                                                                                         SP2          9ED8 ee ff 5
LDA opr16a
LDA oprx16,X                                                                                      SP1          9EE8 ff  4
LDA oprx8,X
LDA ,X                                                                                            DIR          3C dd    5
LDA oprx16,SP
LDA oprx8,SP                                                                                      INH          4C       1

LDHX #opr16i                                                                                   INH          5C       1
LDHX opr8a                                                                                        IX1
LDHX opr16a                                                                                                    6C ff    5
LDHX ,X
LDHX oprx16,X                                                                                     IX           7C       4
LDHX oprx8,X
LDHX oprx8,SP                                                                                     SP1          9E6C ff  6

                                                                                                          DIR  BC dd    3

                                                                                                          EXT  CC hh ll 4
                                                                                 IX2
                                                                                                               DC ee ff 4
                                                                                                          IX1
                                                                                                               EC ff    3
                                                                                                          IX
                                                                                                               FC       3

                                                                                                          DIR  BD dd    5

                                                                                                          EXT  CD hh ll 6
                                                                                 IX2
                                                                                                               DD ee ff 6
                                                                                                          IX1
                                                                                                               ED ff    5
                                                                                                          IX
                                                                                                               FD       5

                                                                                                  IMM          A6 ii    2

                                                                                                  DIR          B6 dd    3

                                                                                                  EXT          C6 hh ll 4

                                                                                0              IX2          D6 ee ff 4
                                                                                                  IX1
                                                                                                               E6 ff    3

                                                                                                  IX           F6       3

                                                                                                  SP2          9ED6 ee ff 5

                                                                                                  SP1          9EE6 ff  4

                                                                                                          IMM  45 jj kk 3

                                                                                                          DIR  55 dd    4

                                                                                                          EXT  32 hh ll 5
                                                                                0     IX
                                                                                                               9EAE     5
                                                                                                          IX2
                                                                                                               9EBE ee ff 6
                                                                                                          IX1
                                                                                                               9ECE ff  5
                                                                                                          SP1
                                                                                                               9EFE ff  5

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                       PRELIMINARY                                                               117
Chapter 8 Central Processor Unit (S08CPUV2)

                  Table 8-2. HCS08 Instruction Set Summary (Sheet 5 of 7)

     Source       Operation                     Description                      Effect     Address
      Form                                                                      on CCR         Mode

                                                                           VH I NZC                      Opcode
                                                                                                                  Operand
                                                                                                                          Bus Cycles1

LDX #opr8i                                                                                  IMM      AE ii    2
LDX opr8a
LDX opr16a                                                                                  DIR      BE dd    3
LDX oprx16,X
LDX oprx8,X                                                                                 EXT      CE hh ll 4
LDX ,X
LDX oprx16,SP     Load X (Index Register                X  (M)             0             IX2      DE ee ff 4
LDX oprx8,SP      Low) from Memory                                                          IX1
                                                                                                     EE ff    3
LSL opr8a         Logical Shift Left
LSLA              (Same as ASL)                                                             IX       FE       3
LSLX
LSL oprx8,X       Logical Shift Right                                                       SP2      9EDE ee ff 5
LSL ,X
LSL oprx8,SP      Move                                                                      SP1      9EEE ff  4

LSR opr8a         Unsigned multiply                                                         DIR      38 dd    5
LSRA
LSRX              Negate                                                                    INH      48       1
LSR oprx8,X       (Two's Complement)
LSR ,X                                       C                          0                 INH      58       1
LSR oprx8,SP      No Operation                      b7          b0                          IX1
                  Nibble Swap                                                                        68 ff    5
MOV opr8a,opr8a   Accumulator
MOV opr8a,X+                                                                                IX       78       4
MOV #opr8i,opr8a  Inclusive OR Accumulator
MOV ,X+,opr8a     and Memory                                                                SP1      9E68 ff  6

MUL               Push Accumulator onto                                                     DIR      34 dd    5
                  Stack
NEG opr8a         Push H (Index Register                                                    INH      44       1
NEGA              High) onto Stack
NEGX              Push X (Index Register     0                          C         0       INH      54       1
NEG oprx8,X       Low) onto Stack                   b7          b0                          IX1
NEG ,X            Pull Accumulator from                                                              64 ff    5
NEG oprx8,SP      Stack
                  Pull H (Index Register                                                    IX       74       4
NOP               High) from Stack
                  Pull X (Index Register                                                    SP1      9E64 ff  6
NSA               Low) from Stack
                                               (M)destination  (M)source                    DIR/DIR  4E dd dd 5
ORA #opr8i        Rotate Left through Carry
ORA opr8a                                      H:X  (H:X) + 0x0001 in      0             DIR/IX+  5E dd    5
ORA opr16a                                   IX+/DIR and DIR/IX+ Modes                      IMM/DIR
ORA oprx16,X                                                                                         6E ii dd 4
ORA oprx8,X                                          X:A  (X) (A)
ORA ,X                                         M   (M) = 0x00 (M)                        IX+/DIR  7E dd    5
ORA oprx16,SP                                   A   (A) = 0x00 (A)
ORA oprx8,SP                                    X   (X) = 0x00 (X)       0 0 INH           42       5
                                               M   (M) = 0x00 (M)
PSHA                                           M   (M) = 0x00 (M)                        DIR      30 dd    5
                                               M   (M) = 0x00 (M)
PSHH                                                                                        INH      40       1
                                                    Uses 1 Bus Cycle
PSHX                                                                                      INH      50       1
                                                   A  (A[3:0]:A[7:4])                       IX1
PULA                                                                                                 60 ff    5

PULH                                                                                        IX       70       4

PULX                                                                                        SP1      9E60 ff  6

ROL opr8a                                                                   INH           9D       1
ROLA
ROLX                                                                        INH           62       1
ROL oprx8,X
ROL ,X                                                                                      IMM      AA ii    2
ROL oprx8,SP
                                                                                            DIR      BA dd    3

                                                                                            EXT      CA hh ll 4

                                                A  (A) | (M)               0             IX2      DA ee ff 4
                                                                                            IX1
                                                                                                     EA ff    3

                                                                                            IX       FA       3

                                                                                            SP2      9EDA ee ff 5

                                                                                            SP1      9EEA ff  4

                                             Push (A); SP  (SP) 0x0001    INH           87       2
                                             Push (H); SP  (SP) 0x0001
                                             Push (X); SP  (SP) 0x0001    INH           8B       2
                                             SP  (SP + 0x0001); Pull (A)
                                             SP  (SP + 0x0001); Pull (H)    INH           89       2
                                             SP  (SP + 0x0001); Pull (X)
                                                                            INH           86       3

                                                                            INH           8A       3

                                                                            INH           88       3

                                                                                            DIR      39 dd    5

                                                                                            INH      49       1

                                             C                                            INH      59       1
                                                                                            IX1
                                                b7              b0                                   69 ff    5

                                                                                            IX       79       4

                                                                                            SP1      9E69 ff  6

                  MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

118                                                     PRELIMINARY                              Freescale Semiconductor
                                                                          Chapter 8 Central Processor Unit (S08CPUV2)

                         Table 8-2. HCS08 Instruction Set Summary (Sheet 6 of 7)

       Source            Operation         Description                        Effect  Address
        Form                                                                 on CCR      Mode

ROR opr8a                                                               VH I NZC                   Opcode
RORA                                                                                                        Operand
RORX                                                                                                                Bus Cycles1
ROR oprx8,X
ROR ,X                                                                                DIR              36 dd    5
ROR oprx8,SP
                                                                                      INH              46       1
RSP
               Rotate Right through                     C                           INH              56       1
RTI            Carry                                                                  IX1
                                       b7  b0                                                          66 ff    5
RTS            Reset Stack Pointer
                                                                                      IX               76       4
SBC #opr8i     Return from Interrupt
SBC opr8a                                                                             SP1              9E66 ff  6
SBC opr16a     Return from Subroutine
SBC oprx16,X                                         SP  0xFF            INH                9C       1
SBC oprx8,X    Subtract with Carry           (High Byte Not Affected)
SBC ,X                                                                        INH                      80       9
SBC oprx16,SP  Set Carry Bit           SP  (SP) + 0x0001; Pull (CCR)
SBC oprx8,SP   Set Interrupt Mask Bit    SP  (SP) + 0x0001; Pull (A)    INH                81       6
SEC                                      SP  (SP) + 0x0001; Pull (X)
               Store Accumulator in
SEI            Memory                  SP  (SP) + 0x0001; Pull (PCH)
STA opr8a                              SP  (SP) + 0x0001; Pull (PCL)
STA opr16a     Store H:X (Index Reg.)
STA oprx16,X   Enable Interrupts:       SP  SP + 0x0001; Pull (PCH)
STA oprx8,X    Stop Processing          SP  SP + 0x0001; Pull (PCL)
STA ,X         Refer to MCU
STA oprx16,SP  Documentation                                                          IMM              A2 ii    2
STA oprx8,SP   Store X (Low 8 Bits of
STHX opr8a     Index Register)                                                        DIR              B2 dd    3
STHX opr16a    in Memory
STHX oprx8,SP                                                                         EXT              C2 hh ll 4
               Subtract
STOP                                   A  (A) (M) (C)                           IX2              D2 ee ff 4
               Software Interrupt                                                     IX1
STX opr8a                                                                                              E2 ff    3
STX opr16a
STX oprx16,X                                                                          IX               F2       3
STX oprx8,X
STX ,X                                                                                SP2              9ED2 ee ff 5
STX oprx16,SP
STX oprx8,SP                                                                          SP1              9EE2 ff  4
SUB #opr8i
SUB opr8a                                   C1                           1 INH                99       1
SUB opr16a                                  I1
SUB oprx16,X                                                             1 INH                9B       1
SUB oprx8,X                                M  (A)
SUB ,X                                                                                            DIR  B7 dd    3
SUB oprx16,SP
SUB oprx8,SP                                                                                      EXT  C7 hh ll 4

SWI                                                                                               IX2  D7 ee ff 4
                                                                        0     IX1
                                                                                                       E7 ff    3
                                                                                                  IX
                                                                                                       F7       2
                                                                                                  SP2
                                                                                                       9ED7 ee ff 5
                                                                                                  SP1
                                                                                                       9EE7 ff  4

                                                                                                  DIR  35 dd    4
                                                                        0     EXT
                                       (M:M + 0x0001)  (H:X)                                           96 hh ll 5
                                                                                                  SP1
                                                                                                       9EFF ff  5

                                       I bit  0; Stop Processing         0 INH                8E       2+

                                                                                                  DIR  BF dd    3

                                                                                                  EXT  CF hh ll 4

                                                                                                  IX2  DF ee ff 4
                                                                        0     IX1
                                                        M  (X)                                         EF ff    3
                                                                                                  IX
                                                    A  (A) (M)                                       FF       2
                                               PC  (PC) + 0x0001                                  SP2
                                       Push (PCL); SP  (SP) 0x0001                                   9EDF ee ff 5
                                       Push (PCH); SP  (SP) 0x0001                              SP1
                                         Push (X); SP  (SP) 0x0001                                   9EEF ff  4
                                         Push (A); SP  (SP) 0x0001
                                       Push (CCR); SP  (SP) 0x0001                  IMM              A0 ii    2

                                                          I  1;                       DIR              B0 dd    3
                                       PCH  Interrupt Vector High Byte
                                       PCL  Interrupt Vector Low Byte                 EXT              C0 hh ll 4

                                                                                    IX2              D0 ee ff 4
                                                                                      IX1
                                                                                                       E0 ff    3

                                                                                      IX               F0       3

                                                                                      SP2              9ED0 ee ff 5

                                                                                      SP1              9EE0 ff  4

                                                                         1 INH                83       11

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                    PRELIMINARY                                                          119
Chapter 8 Central Processor Unit (S08CPUV2)

              Table 8-2. HCS08 Instruction Set Summary (Sheet 7 of 7)

     Source   Operation                      Description                Effect    Address
      Form                                                             on CCR        Mode

                                                                  VH I NZC                     Opcode
                                                                                                        Operand
                                                                                                                Bus Cycles1

TAP           Transfer Accumulator to              CCR  (A)             INH            84       1
              CCR
TAX           Transfer Accumulator to                 X  (A)       INH      97       1
              X (Index Register Low)
TPA           Transfer CCR to                      A  (CCR)       INH      85       1
              Accumulator
TST opr8a                                           (M) 0x00                    DIR  3D dd    4
TSTA          Test for Negative or Zero             (A) 0x00
TSTX                                                (X) 0x00                    INH  4D       1
TST oprx8,X   Transfer SP to Index Reg.             (M) 0x00
TST ,X        Transfer X (Index Reg.                (M) 0x00    0            INH  5D       1
TST oprx8,SP  Low) to Accumulator                   (M) 0x00                    IX1
TSX           Transfer Index Reg. to SP      H:X  (SP) + 0x0001                        6D ff    4
              Enable Interrupts; Wait
TXA           for Interrupt                           A  (X)                      IX   7D       3

TXS                                          SP  (H:X) 0x0001                   SP1  9E6D ff  5

WAIT                                          I bit  0; Halt CPU   INH      95       2

                                                                   INH      9F       1

                                                                   INH      94       2

                                                                   0 INH      8F       2+

1 Bus clock frequency is one-half of the CPU clock frequency.

              MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

120                                          PRELIMINARY                               Freescale Semiconductor
                                                                                                                           Chapter 8 Central Processor Unit (S08CPUV2)

                                                                Table 8-3. Opcode Map (Sheet 1 of 2)

    Bit-Manipulation     Branch                      Read-Modify-Write                                   Control                               Register/Memory

00    5 10            5  20       3  30       5  40       1 50       1 60       5  70       4   80       9 90       3  A0       2  B0       3  C0 4 D0 4        E0        3  F0       3
                                                                                                                                                  SUB SUB
BRSET0 BSET0                 BRA     NEG         NEGA NEGX NEG                        NEG           RTI        BGE     SUB         SUB                          SUB             SUB
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 2 REL            2 IMM       2 DIR                        2 IX1        1        IX

01    5 11            5  21       3  31       5  41       4 51       4 61       5  71       5   81       6 91       3  A1       2  B1       3  C1 4 D1 4        E1        3  F1       3
                                                                                                                                                 CMP CMP
BRCLR0 BCLR0                 BRN     CBEQ        CBEQA CBEQX CBEQ                     CBEQ          RTS        BLT     CMP         CMP                          CMP             CMP
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       3 DIR       3 IMM 3 IMM 3 IX1+                2 IX+        1 INH 2 REL            2 IMM       2 DIR                        2 IX1        1        IX

02    5 12            5  22       3  32       5  42       5 52       6 62       1  72       1   82 5+ 92            3  A2       2  B2       3  C2 4 D2 4        E2        3  F2       3
                                                                                                                                                  SBC SBC
BRSET1 BSET1                 BHI     LDHX            MUL        DIV        NSA         DAA      BGND BGT               SBC         SBC                          SBC             SBC
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       3 EXT       1 INH 1 INH 1 INH                 1 INH        1 INH 2 REL            2 IMM       2 DIR                        2 IX1        1        IX

03    5 13            5  23       3  33       5  43       1 53       1 63       5  73       4   83 11 93            3  A3       2  B3       3  C3 4 D3 4        E3        3  F3       3
                                                                                                                                                  CPX CPX
BRCLR1 BCLR1                 BLS     COM         COMA COMX COM                        COM           SWI        BLE     CPX         CPX                          CPX             CPX
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 2 REL            2 IMM       2 DIR                        2 IX1        1        IX

04    5 14            5  24       3  34       5  44       1 54       1 64       5  74       4   84       1 94       2  A4       2  B4       3  C4 4 D4 4        E4        3  F4       3
                                                                                                                                                 AND AND
BRSET2 BSET2                 BCC         LSR     LSRA LSRX LSR                         LSR          TAP        TXS     AND         AND                          AND             AND
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 1 INH            2 IMM       2 DIR                        2 IX1        1        IX

05    5 15            5  25       3  35       4  45       3 55       4 65       3  75       5   85       1 95       2  A5       2  B5       3  C5 4 D5 4        E5        3  F5       3

BRCLR2 BCLR2                 BCS     STHX        LDHX LDHX CPHX                       CPHX          TPA        TSX         BIT         BIT      BIT  BIT             BIT         BIT

3 DIR 2 DIR              2 REL       2 DIR       3 IMM 2 DIR 3 IMM                 2 DIR        1 INH 1 INH            2 IMM       2 DIR       3 EXT 3 IX2      2 IX1        1        IX

06    5 16            5  26       3  36       5  46       1 56       1 66       5  76       4   86       3 96       5  A6       2  B6       3  C6 4 D6 4        E6        3  F6       3

BRSET3 BSET3                 BNE     ROR         RORA RORX ROR                        ROR       PULA STHX                  LDA         LDA      LDA  LDA            LDA          LDA

3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 3 EXT            2 IMM       2 DIR       3 EXT 3 IX2      2 IX1        1        IX

07    5 17            5  27       3  37       5  47       1 57       1 67       5  77       4   87       2 97       1  A7       2  B7       3  C7 4 D7 4        E7        3  F7       2

BRCLR3 BCLR3                 BEQ         ASR     ASRA ASRX ASR                         ASR      PSHA TAX                   AIS         STA      STA  STA            STA          STA

3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 1 INH            2 IMM       2 DIR       3 EXT 3 IX2      2 IX1        1        IX

08    5 18            5  28       3  38       5  48       1 58       1 68       5  78       4   88       3 98       1  A8       2  B8       3  C8 4 D8 4        E8        3  F8       3
                                                                                                                                                 EOR EOR
BRSET4 BSET4             BHCC            LSL     LSLA LSLX LSL                         LSL      PULX CLC               EOR         EOR                          EOR             EOR
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 1 INH            2 IMM       2 DIR                        2 IX1        1        IX

09    5 19            5  29       3  39       5  49       1 59       1 69       5  79       4   89       2 99       1  A9       2  B9       3  C9 4 D9 4        E9        3  F9       3
                                                                                                                                                 ADC ADC
BRCLR4 BCLR4             BHCS            ROL     ROLA ROLX ROL                         ROL      PSHX SEC               ADC         ADC                          ADC             ADC
                                                                                                                                               3 EXT 3 IX2
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 1 INH            2 IMM       2 DIR                        2 IX1        1        IX

0A    5 1A            5  2A       3  3A       5  4A       1 5A       1 6A       5  7A       4   8A       3 9A       1  AA 2        BA 3        CA 4 DA 4        EA 3         FA       3
                                                                                                                         ORA         ORA         ORA ORA          ORA
BRSET5 BSET5                 BPL         DEC     DECA DECX DEC                         DEC      PULH CLI                                                                        ORA
                                                                                                                       2 IMM       2 DIR       3 EXT 3 IX2      2 IX1
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 1 INH                                                                  1        IX

0B    5 1B            5  2B       3  3B       7  4B       4 5B       4 6B       7  7B       6   8B       2 9B       1  AB 2        BB 3        CB 4 DB 4        EB 3         FB 3
                                                                                                                         ADD         ADD         ADD ADD          ADD
BRCLR5 BCLR5                 BMI     DBNZ        DBNZA DBNZX DBNZ                     DBNZ      PSHH SEI                                                                        ADD
                                                                                                                       2 IMM       2 DIR       3 EXT 3 IX2      2 IX1
3 DIR 2 DIR              2 REL       3 DIR       2 INH 2 INH 3 IX1                 2        IX  1 INH 1 INH                                                                  1        IX

0C 5 1C 5                2C 3        3C 5        4C 1 5C 1 6C 5                    7C 4         8C 1 9C 1                          BC 3        CC 4 DC 4        EC 3         FC 3
BRSET6 BSET6               BMC          INC                                                       CLRH RSP                            JMP                          JMP
3 DIR 2 DIR                                      INCA INCX                 INC         INC                                                      JMP  JMP                         JMP
                         2 REL       2 DIR                                                      1 INH 1 INH                        2 DIR                        2 IX1
                                                 1 INH 1 INH 2 IX1                 1        IX                                                 3 EXT 3 IX2                   1        IX

0D 5 1D 5                2D 3        3D 4        4D 1 5D 1 6D 4                    7D 3                  9D 1          AD 5        BD 5        CD 6 DD 6        ED 5         FD 5
BRCLR6 BCLR6               BMS          TST        TSTA TSTX TST                                           NOP            BSR         JSR                          JSR
3 DIR 2 DIR                                                                            TST                                                      JSR  JSR                         JSR
                         2 REL       2 DIR       1 INH 1 INH 2 IX1                                       1 INH         2 REL       2 DIR                        2 IX1
                                                                                   1        IX                                                 3 EXT 3 IX2                   1        IX
                                                                                                                       AE 2
0E    5 1E            5  2E       3  3E       6  4E       5 5E       5 6E       4  7E       5   8E 2+ 9E                  LDX      BE 3        CE 4 DE 4        EE 3         FE 3
                                                                                                  STOP Page 2                         LDX                          LDX
BRSET7 BSET7                 BIL     CPHX        MOV MOV MOV                          MOV                              2 IMM                    LDX  LDX                         LDX
                                                                                                1 INH                              2 DIR                        2 IX1
3 DIR 2 DIR              2 REL       3 EXT       3 DD 2 DIX+ 3 IMD                 2 IX+D                              AF 2                    3 EXT 3 IX2                   1        IX
                                                                                                                          AIX
0F    5 1F            5  2F       3  3F       5  4F       1 5F       1 6F       5  7F       4   8F 2+ 9F            1              BF 3        CF 4 DF 4        EF 3         FF       2
                                                                                                                       2 IMM          STX                          STX
BRCLR7 BCLR7                 BIH         CLR     CLRA CLRX CLR                         CLR      WAIT TXA                                        STX  STX                         STX
                                                                                                                                   2 DIR                        2 IX1
3 DIR 2 DIR              2 REL       2 DIR       1 INH 1 INH 2 IX1                 1        IX  1 INH 1 INH                                    3 EXT 3 IX2                   1        IX

INH   Inherent               REL     Relative                   SP1   Stack Pointer, 8-Bit Offset
IMM   Immediate              IX      Indexed, No Offset         SP2   Stack Pointer, 16-Bit Offset
DIR   Direct                 IX1     Indexed, 8-Bit Offset      IX+   Indexed, No Offset with
EXT   Extended               IX2     Indexed, 16-Bit Offset           Post Increment
DD    DIR to DIR             IMD     IMM to DIR                 IX1+  Indexed, 1-Byte Offset with
IX+D  IX+ to DIR             DIX+    DIR to IX+                       Post Increment
                                                                                                                                   Opcode in
                                                                                                                                Hexadecimal F0       3 HCS08 Cycles

                                                                                                                                               SUB Instruction Mnemonic
                                                                                                                                                     IX Addressing Mode
                                                                                                                           Number of Bytes 1

                                                 MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                                                            PRELIMINARY                                                                                   121
Chapter 8 Central Processor Unit (S08CPUV2)

                                                 Table 8-3. Opcode Map (Sheet 2 of 2)

Bit-Manipulation Branch  Read-Modify-Write                                                       Control                   Register/Memory
                                               9E60 6
                                               NEG                                                                                      9ED0 5  9EE0 4                    9EF3 6
                                               3 SP1                                                                                     SUB       SUB                     CPHX
                                               9E61 6
                                              CBEQ                                                                                      4 SP2   3 SP1                     3 SP1
                                               4 SP1
                                                                                                                                        9ED1 5  9EE1 4
                                               9E63 6                                                                                    CMP      CMP
                                              COM
                                                                                                                                        4 SP2   3 SP1
                                               3 SP1
                                               9E64 6                                                                                   9ED2 5  9EE2 4
                                                                                                                                         SBC       SBC
                                               LSR
                                               3 SP1                                                                                    4 SP2   3 SP1

                                               9E66 6                                                                                   9ED3 5  9EE3 4
                                               ROR                                                                                       CPX       CPX

                                               3 SP1                                                                                    4 SP2   3 SP1
                                               9E67 6
                                                                                                                                        9ED4 5  9EE4 4
                                               ASR                                                                                       AND      AND
                                               3 SP1
                                               9E68 6                                                                                   4 SP2   3 SP1

                                               LSL                                                                                      9ED5 5  9EE5 4
                                               3 SP1                                                                                      BIT      BIT
                                               9E69 6
                                                                                                                                        4 SP2   3 SP1
                                               ROL
                                               3 SP1                                                                                    9ED6 5  9EE6 4
                                               9E6A 6                                                                                    LDA       LDA

                                               DEC                                                                                      4 SP2   3 SP1
                                               3 SP1
                                               9E6B 8                                                                                   9ED7 5  9EE7 4
                                                                                                                                         STA       STA
                                              DBNZ
                                               4 SP1                                                                                    4 SP2   3 SP1
                                               9E6C 6
                                                                                                                                        9ED8 5  9EE8 4
                                               INC                                                                                       EOR      EOR
                                               3 SP1
                                               9E6D 5                                                                                   4 SP2   3 SP1

                                               TST                                                                                      9ED9 5  9EE9 4
                                               3 SP1                                                                                     ADC      ADC

                                               9E6F 6                                                                                   4 SP2   3 SP1
                                               CLR
                                                                                                                                        9EDA 5  9EEA 4
                                               3 SP1                                                                                     ORA      ORA

                                                                                                                                        4 SP2   3 SP1

                                                                                                                                        9EDB 5  9EEB 4
                                                                                                                                         ADD      ADD

                                                                                                                                        4 SP2   3 SP1

                                                                                                          9EAE 5   9EBE 6  9ECE 5  9EDE 5       9EEE 4                    9EFE 5
                                                                                                                     LDHX    LDHX     LDX          LDX                      LDHX
                                                                                                             LDHX
                                                                                                                   4 IX2   3 IX1   4 SP2        3 SP1                     3 SP1
                                                                                                          2  IX
                                                                                                                                   9EDF 5       9EEF 4                    9EFF 5
                                                                                                                                      STX          STX                      STHX

                                                                                                                                   4 SP2        3 SP1                     3 SP1

INH   Inherent    REL    Relative                SP1               Stack Pointer, 8-Bit Offset
IMM   Immediate   IX     Indexed, No Offset      SP2               Stack Pointer, 16-Bit Offset
DIR   Direct      IX1    Indexed, 8-Bit Offset   IX+               Indexed, No Offset with
EXT   Extended    IX2    Indexed, 16-Bit Offset                    Post Increment
DD    DIR to DIR  IMD    IMM to DIR              IX1+              Indexed, 1-Byte Offset with
IX+D  IX+ to DIR  DIX+   DIR to IX+                                Post Increment

Note: All Sheet 2 Opcodes are Preceded by the Page 2 Prebyte (9E)                                         Prebyte (9E) and Opcode in
                                                                                                                               Hexadecimal 9E60 6 HCS08 Cycles
                                                                                                                                                NEG Instruction Mnemonic

                                                                                                                         Number of Bytes 3 SP1 Addressing Mode

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

122                                                                PRELIMINARY                                             Freescale Semiconductor
Chapter 9
Liquid Crystal Display Driver (S08LCDV1)

9.1 Introduction

The LCD driver module is a CMOS charge pump voltage inverter that is designed for low-voltage,
low-power operation. The LCD driver module is designed to generate the appropriate waveforms to drive
multiplexed numeric, alpha-numeric, or custom LCD panels. Depending on LCD module hardware and
software configuration, the LCD panels can be either 3 V or 5 V and be driven by different waveform
modes. The LCD module also has several timing and control settings that can be software configured
depending on the applications requirements. Timing and control consists of registers and control logic for:

    LCD frame frequency
    Duty cycle select
    Frontplane/backplane select and enable
    Blink modes and frequency
    Operation in low-power modes

In a 64-pin package, the LCD module can be configured to drive 4 backplanes/32 frontplanes (128
segments) or 3 backplanes/33 frontplanes (99 segments). In a 80-pin package, the LCD module can be
configured to drive a maximum of 4 backplanes/40 frontplanes (160 segments) or 3 backplanes/41
frontplanes (123 segments). These configurations are summarized in Table 9-1.

                                        Table 9-1. Configuration Options by Package Type

Package Type             No. of Backplanes  No. of Frontplanes  No. of Segments
     64-pin                          4                 32                128
     80-pin                          3                 33                 99
                                     4                 40                160
                                     3                 41                123

Figure 9-1 shows the MC9S08LC60 Series block diagram with the LCD highlighted.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                     PRELIMINARY                            123
Chapter 9 Liquid Crystal Display Driver (S08LCDV1)

             HCS08 CORE                                   ON-CHIP ICE
                                                    DEBUG MODULE (DBG)
             CPU   INT
                                                                 12-BIT
             BKGD  BKP                                ANALOG-TO-DIGITAL      4 ADP[7:4]                               PTA[7:4]/KBI1P[7:4]/ADP[7:4]
                                                       CONVERTER (ADC)             ADP3
             HCS08 SYSTEM CONTROL                                                  ADP2                       PORT A  PTA3/KBI1P3/ADP3/ACMP
                                                    ANALOG COMPARATOR              ADP1                               PTA2/KBI1P2/ADP2/ACMP+
             RESETS AND INTERRUPTS                              (ACMP)             ADP0
               MODES OF OPERATION
                POWER MANAGEMENT                                           ACMP

                                                                           ACMP+

                                                    8-BIT KEYBOARD         8                                          PTA[1:0]/KBI1P[1:0]/ADP[1:0]

             RTI   COP                              INTERRUPT (KBI1)

             IRQ   LVD                                                     SS1                                        PTB7/KBI2P4/SS1
                                                                           SPSCK1                                     PTB6/KBI2P3/SPSCK1
                  USER FLASH A                      SERIAL PERIPHERAL      MISO1                              PORT B
             (LC60 = 32,768 BYTES)                    INTERFACE (SPI1)     MOSI1                                      PTB5/MOSI1/SCL
             (LC36 = 24,576 BYTES)                                                                                    PTB4/MISO1/SDA
                                                       IIC MODULE (IIC)    SCL                                        PTB3/KBI2P2
                  USER FLASH B                                             SDA                                        PTB2/RESET
             (LC60 = 28,464 BYTES)                     8-BIT KEYBOARD
             (LC36 = 12,288 BYTES)                    INTERRUPT (KBI2)                  RESET                         PTB1/KBI2P1/XTAL
                                                                              5                                       PTB0/KBI2P0/EXTAL
                    USER RAM                                                  3

             (LC60 = 4096 BYTES)                                                  XTAL
             (LC36 = 2560 BYTES)                                                  EXTAL

                                                                                                     IRQ              PTC7/KBI2P7/IRQ/TPMCLK
                                                                                                                      PTC6/BKGD/MS
                   INTERNAL CLOCK                   2-CHANNEL TIMER/PWM                              TPM2CH1          PTC5/KBI2P6/TPM2CH1
                  GENERATOR (ICG)                                (TPM2)                              TPM2CH0          PTC4/KBI2P5/TPM2CH0

             LOW-POWER OSCILLATOR                   2-CHANNEL TIMER/PWM    TPMCLK                             PORT C  PTC3/SS2/TPM1CH1
                                                                 (TPM1)             TPM1CH0                           PTC2/SPSCK2/TPM1CH0
      VLCD   LIQUID CRYSTAL                                                         TPM1CH1
       VLL1  DISPLAY DRIVER                           SERIAL PERIPHERAL                                               PTC1/MOSI2/TxD
       VLL2                                              INTERFACE (SPI2)     SS2                                     PTC0/MISO2/RxD
       VLL3         LCD                                                       SPSCK2
     VCAP1                                                                    MOSI2
     VCAP2                                                                    MISO2
   BP[2:0]
BP3/FP40                                                                                        TxD
  FP[39:0]
                                                    SERIAL COMMUNICATIONS RxD
        VDD                                                INTERFACE (SCI)
        VSS
                   VOLTAGE                          NOTES:
  VREFH           REGULATOR                           1. Port pins are software configurable with pullup device if input port.
   VREFL                                              2. Pin contains software configurable pullup/pulldown device if IRQ enabled
  VDDAD                                                   (IRQPE = 1).
  VSSAD                                               3. IRQ does not have a clamp diode to VDD. IRQ should not be driven above VDD.
                                                      4. Pin contains integrated pullup device.
                                                      5. Input-only RESET is shared with output-only PTB2. Default function after reset is
                                                          RESET.
                                                      6. IRQ is shared with PTC7/KBI2P7/TPMCLK. Default function after reset is
                                                          output-only PTC7.
                                                      7. PTC6/BKGD/MS is an output only pin
                                                      8. FP[39:32], PTA[1:0], and PTA[7:4] are not available in the 64 LQFP.
                                                      9. ACMPO is not available.

             Figure 9-1. MC9S08LC60 Series Block Diagram Highlighting LCD Block and Pins

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

124                                                 PRELIMINARY                                                       Freescale Semiconductor
                                                                                                                                             Liquid Crystal Display (S08LCDV1)

9.1.1 Features

The LCD module driver module features include:
    Low-power LCD waveform mode
    LCD waveforms functional in wait and stop3 low-power modes
    Selectable frontplane/backplane configuration
         -- Up to 41 frontplanes
         -- Up to 4 backplanes
    Programmable LCD frame frequency
    Programmable blink modes and frequency
         -- Independent blink control for each LCD segment
         -- Blink function remains active in stop3 mode
    Programmable LCD power supply switch making it an ideal solution for battery powered and
         board level applications
         -- Requires only four external capacitors
         -- Internal LCD power using VDD (1.8 to 3.6 V)
         -- External VLCD power supply option (0.9 to 1.8 V)
    Integrated charge pump for LCD
         -- Hardware configurable to drive 3-V or 5-V LCD panels
         -- On-chip generation of bias voltages, adjustable charge pump frequency
    Dedicated LCD RAM
    LCD frame frequency interrupt event
    Internal ADC channels are connected to VLL1 and VLCD to monitor their magnitudes.This feature
         makes it possible to adjust the contrast by software.
    Low-power, low-voltage CMOS technology

9.1.2 Modes of Operation

The LCD module supports the following operation modes:

Mode                                 Table 9-2. Modes of Operation
Stop1                                                                Operation
Stop2
       all LCD operation is suspended. It is recommended to blank the display before entering stop1
       all LCD operation is suspended. It is recommended to blank the display before entering stop2.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor  PRELIMINARY                                                                  125
Liquid Crystal Display Driver (S08LCDV1)

                                 Table 9-2. Modes of Operation (continued)

     Mode                                                                 Operation
     Stop3
            Depending on the state of the LCDSTP3 bit, the LCD module can operate an LCD panel in stop3 mode.
            If LCDSTP3 = 1, LCD module clock generation is turned off and the LCD module enters a power
            conservation state.If LCDSTP3 = 0, the LCD module can operate an LCD panel in stop3, and the LCD
            module continues to display the current LCD panel contents base on the LCDRAM registers.

            If the LCD is enabled in stop3, the ICGERCLK must be selected as the clock source since the bus clock
            is not available in stop3.

     Wait   Depending on the configuration, the LCD module can operate an LCD panel in wait mode. If LCDWAI = 1,

            the LCD module clock generation is turned off and the LCD module enters a power conservation state.If

            LCDWAI = 0, the LCD module can operate an LCD panel in wait, and the LCD module continues to

            display the current LCD panel contents base on the LCDRAM registers.

Blinking functionality remains active in wait or stop3 mode. If the MCU is in wait or stop3, the LCDRAM
registers cannot be changed. Stop3 provides the lowest power consumption state where the LCD module
is functional.

9.1.3 Block Diagram

Figure 9-2 is a block diagram of the LCD module.

                          LCD DIGITAL

                                          lcd_regs                   LCD RAM

                                                                                                 LCD
                                                                                          FP/BP DRIVER

            lcd_ipbus_interface

IP                                       lcd_control                           lcd_vgen
BUS

                                                  lcd_clkgen          BASE
                                                                     CLOCK

                                          CONTROL CLOCK INPUT                     VLL1
                                                    LCD CHARGE PUMP               VLL2
                                                                                  VLL3

                                          Figure 9-2. LCD Driver Block Diagram

            MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

126                                       PRELIMINARY                                     Freescale Semiconductor
                                                               Liquid Crystal Display Driver (S08LCDV1)

9.2 External Signal Description

The LCD module has several external pins dedicated to power supply and also LCD frontplane/backplane
signaling. Table 9-3 itemizes all the LCD external pins. See the Pins and Connections chapter for
device-specific pin configurations.

                                                        Table 9-3. Signal Properties

             Name        Port                     Function                         Reset State

3 backplanes             BP[2:0], Backplane waveform signals that connect directly to the pads High impedance

40 frontplanes           FP[39:0] Frontplane waveform signals that connect directly to the pads High impedance

Frontplane/backplane     BP3/FP40 Switchable frontplane/backplane signal that connects directly High impedance
                                         to the pads

LCD voltage              VLCD LCD supply voltage                                   --

LCD bias voltages        VLL1, LCD bias voltages                                   --

                         VLL2,

                         VLL3

LCD charge pump capacitance Vcap1, Charge pump capacitor pins                      --

                         Vcap2

9.2.1 BP[2:0]

This output signal vector represents the analog backplane waveforms of the LCD module. These signals
are connected to the back plane of the LCD panel.

9.2.2 FP[39:0]

This output signal vector represents the analog frontplane waveforms of the LCD module. These signals
are connected to the front plane of the LCD panel.

9.2.3 BP3/FP40

This signal vector represents either an analog frontplane or backplane waveform of the LCD module
depending on the configuration of the DUTY[1:0] bit field.

9.2.4 VLCD

VLCD is the positive supply voltage for the LCD module waveform generation. VLCD can internally derive
from VDD or externally derive from voltage source range from 0.9 to 1.8 Volts. VLCD is connected to a
switch capacitor charge pump DC/DC converter (voltage doubler and voltage tripler) which is able to
generate double or triple VLCD in order to support either 3-V or 5-V LCD glass. VLCD is also connected
internally to an internal ADC channel in order to monitor the VLCD magnitude.

9.2.5 VLL1, VLL2, VLL3

VLL1, VLL2, and VLL3 are bias voltages for the LCD module driver waveforms. Internally generated using
the internal charge pump when it is enabled.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor         PRELIMINARY                                                        127
Liquid Crystal Display Driver (S08LCDV1)

9.2.6 Vcap1, Vcap2

The charge pump capacitor is used to transfer charge from the input supply to the regulated output. It is
recommended that a low equivalent series resistance (ESR) capacitor be used. Proper orientation is
imperative when using a polarized capacitor.

9.3 Register Definition

This section consists of register descriptions. Each description includes a standard register diagram.
Details of register bit and field function follow the register diagrams, in bit order.

9.3.1 LCD Control Register 0 (LCDCR0)

                 7  6       5                    4            3      2             1       0

     R      LCDEN                                                    0        DUTY1   DUTY0
     W          0                                                                 1       1
Reset               LPWAVE  LCLK2                LCLK1        LCLK0

                    1       0                    0            0      0

                    = Unimplemented or Reserved

                            Figure 9-3. LCD Control Register 0 (LCDCR0)

Read: anytime

Write: LCDEN anytime. To avoid segment flicker the clock prescaler bits (LCLK[2:0]) and the duty select
bits (DUTY[1:0]) must not be changed when the LCD module is enabled.

                            Table 9-4. LCDCR0 Field Descriptions

     Field                                          Description

     7      LCD Driver Enable -- The LCDEN bit starts the LCD module waveform generator.
LCDEN      0 All frontplane and backplane pins are disabled. In addition, the LCD module system is disabled and all LCD

     6          waveform generation clocks are stopped.
LPWAVE      1 LCD module driver system is enabled. All frontplanes pins enabled using the frontplane enable register will

                output an LCD module driver waveform.The backplane pins will output an LCD module driver waveform
                based on the settings of DUTY0 and DUTY1.

            LCD Waveform -- The LPWAVE bit allows selection of two types of LCD waveforms.
            0 Normal waveforms selected.
            1 Low-power waveforms selected.

                    MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

128                                              PRELIMINARY                  Freescale Semiconductor
                                                                         Liquid Crystal Display Driver (S08LCDV1)

                            Table 9-4. LCDCR0 Field Descriptions (continued)

Field                                               Description

    5:3    LCD Clock Prescaler -- The LCD module clock prescaler bits are used as a clock divider to generate the LCD
LCLK[2:0]  waveform base clock as shown in Equation 9-1. The waveform base clock is used, with the LCD module duty
           cycle configuration to determine the LCD module frame frequency.LCD module frame frequency calculations are
           provided in 9.4.1.3/p.139.

                    LCD Waveform Base Clock             LCDCLK                                         Eqn. 9-1
                                             =                                where LCDCLK  32.768 kHz

                                                    16 x 2 LCLK[2:0]

    1:0    LCD Duty Select -- DUTY[1:0] bits select the duty cycle of the LCD module driver.
DUTY[1:0]  00 Reserved.
           01 Use BP[1:0] (1/2 duty cycle). This mode forces the multiplexed BP3/FP40 pin to be configured as FP40
           10 Use BP[2:0] (1/3 duty cycle). This mode forces the multiplexed BP3/FP40 pin to be configured as FP40
           11 Use BP[3:0] (1/4 duty cycle). This mode forces the multiplexed BP3/FP40 pin to be configured as BP3

               (default)

9.3.2 LCD Control Register 1 (LCDCR1)

                 7       6  5                    4                    3  2                      1         0

     R     LCDIEN        0  0                    0                    0  0                LCDWAI   LCDSTP3
     W         0
Reset                    0  0                    0                    0  0                     0   0

                    = Unimplemented or Reserved

                            Figure 9-4. LCD Control Register 1 (LCDCR1)

Read: anytime

                            Table 9-5. LCDCR1 Field Descriptions

Field                                               Description

    7      LCD Module Frame Frequency Interrupt Enable -- Enables an LCD interrupt.event that coincides with the
LCDIEN     LCD module frame frequency (LPWAVE=0) or sub-frame frequency (LPWAVE=1).
           0 The start of the LCD module frame causes a LCD module interrupt request.
           1 No Interrupt request is generated by this event.

    1      LCD Module Driver and Charge Pump Stop While in Wait Mode
LCDWAI     0 Allows the LCD driver and charge pump to continue running during wait mode.
           1 Disables the LCD driver and charge pump whenever the MCU goes into wait mode.

0          LCD Module Driver and Charge Pump Stop While in Stop3 Mode

LCDSTP3 0 Allows the LCD module driver and charge pump to continue running during stop3.

           1 Disables the LCD module driver and charge pump whenever the MCU goes into stop3.

                         MC9S08LC60 Series Advance Information Data Sheet, Rev. 2

Freescale Semiconductor                          PRELIMINARY                                                        129
Liquid Crystal Display Driver (S08LCDV1)

9.3.3 LCD Frontplane Enable Reg