MC68HC908JL8
MC68HC908JL8
MC68HC908JL8
MC68HC908JK8
MC68HC908KL8
MC68HC08JL8
MC68HC08JK8
Data Sheet
M68HC08
Microcontrollers
MC68HC908JL8
Rev. 3.1
3/2005
freescale.com
MC68HC908JL8
MC68HC908JK8
MC68HC908KL8
MC68HC08JL8
MC68HC08JK8
Data Sheet
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://www.freescale.com
The following revision history table summarizes changes contained in this document. For your
convenience, the page number designators have been linked to the appropriate location.
Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
This product incorporates SuperFlash technology licensed from SST.
Freescale Semiconductor, Inc., 2005. All rights reserved.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
Revision History
Date
Revision
Level
Mar 2005
3.1
Nov 2004
Nov 2002
Page
Number(s)
Description
Added IRQ timing to Table 17-5 . Control Timing (5V) and Table 17-8 .
Control Timing (3V)
188, 190
121206
168
14.7.2 Stop Mode STOP_ICLKDIS bit does not affect stop mode
conditions for COP. Replaced section with new text.
176
201
207
Freescale Semiconductor
List of Chapters
Chapter 1 General Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Chapter 2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapter 3 Configuration and Mask Option Registers (CONFIG & MOR) . . . . . . . . . . . . . . 41
Chapter 4 Central Processor Unit (CPU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Chapter 5 System Integration Module (SIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Chapter 6 Oscillator (OSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Chapter 7 Monitor ROM (MON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Chapter 8 Timer Interface Module (TIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Chapter 9 Serial Communications Interface (SCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Chapter 10 Analog-to-Digital Converter (ADC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Chapter 11 Input/Output (I/O) Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Chapter 12 External Interrupt (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Chapter 13 Keyboard Interrupt Module (KBI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Chapter 14 Computer Operating Properly (COP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Chapter 15 Low Voltage Inhibit (LVI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Chapter 16 Break Module (BREAK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Chapter 17 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Chapter 18 Mechanical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Chapter 19 Ordering Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Appendix A MC68HC08JL8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Appendix B MC68HC908KL8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
List of Chapters
Freescale Semiconductor
Table of Contents
Chapter 1
General Description
1.1
1.2
1.3
1.4
1.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MCU Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
17
18
20
21
Chapter 2
Memory
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Random-Access Memory (RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Page Erase Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Mass Erase Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Program Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Block Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLASH Block Protect Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
25
25
33
33
33
34
34
35
35
38
38
Chapter 3
Configuration and Mask Option Registers (CONFIG & MOR)
3.1
3.2
3.3
3.4
3.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Register 1 (CONFIG1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Register 2 (CONFIG2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mask Option Register (MOR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
41
42
43
43
Chapter 4
Central Processor Unit (CPU)
4.1
4.2
4.3
4.3.1
4.3.2
4.3.3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stack Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
45
46
46
46
47
Table of Contents
4.3.4
4.3.5
4.4
4.5
4.5.1
4.5.2
4.6
4.7
4.8
Program Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Condition Code Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmetic/Logic Unit (ALU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPU During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
48
49
49
49
49
50
50
50
Chapter 5
System Integration Module (SIM)
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
SIM Bus Clock Control and Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1
Bus Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2
Clock Start-Up from POR or LVI Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.3
Clocks in Stop Mode and Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3
Reset and System Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
External Pin Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2
Active Resets from Internal Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.1
Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.2
Computer Operating Properly (COP) Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.3
Illegal Opcode Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.4
Illegal Address Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.5
Low-Voltage Inhibit (LVI) Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
SIM Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1
SIM Counter During Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2
SIM Counter During Stop Mode Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.3
SIM Counter and Reset States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5
Exception Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1.1
Hardware Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1.2
SWI Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2
Interrupt Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2.1
Interrupt Status Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2.2
Interrupt Status Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2.3
Interrupt Status Register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.3
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.4
Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.5
Status Flag Protection in Break Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.1
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.2
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7
SIM Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.1
Break Status Register (BSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.2
Reset Status Register (RSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.3
Break Flag Control Register (BFCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
63
63
63
63
64
64
64
65
66
66
66
66
67
67
67
67
67
67
69
70
70
71
72
72
72
72
73
73
73
74
75
75
76
77
Freescale Semiconductor
Chapter 6
Oscillator (OSC)
6.1
6.2
6.2.1
6.2.2
6.3
6.4
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
6.4.6
6.4.7
6.4.8
6.5
6.5.1
6.5.2
6.6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XTAL Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RC Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crystal Amplifier Input Pin (OSC1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crystal Amplifier Output Pin (OSC2/RCCLK/PTA6/KBI6) . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator Enable Signal (SIMOSCEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XTAL Oscillator Clock (XTALCLK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RC Oscillator Clock (RCCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator Out 2 (2OSCOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator Out (OSCOUT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Oscillator Clock (ICLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator During Break Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
79
80
81
81
82
82
82
82
82
82
82
83
83
83
83
83
83
Chapter 7
Monitor ROM (MON)
7.1
7.2
7.3
7.3.1
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.4
7.5
7.5.1
7.5.2
7.5.3
7.5.4
7.5.5
7.5.6
7.5.7
7.5.8
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Entering Monitor Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Baud Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Echoing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Break Signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
ROM-Resident Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
PRGRNGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
ERARNGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
LDRNGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
MON_PRGRNGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
MON_ERARNGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
MON_LDRNGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
EE_WRITE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
EE_READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table of Contents
Chapter 8
Timer Interface Module (TIM)
8.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.1
TIM Counter Prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.2
Input Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.3
Output Compare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.3.1
Unbuffered Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.3.2
Buffered Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.4
Pulse Width Modulation (PWM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.4.1
Unbuffered PWM Signal Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.4.2
Buffered PWM Signal Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.4.3
PWM Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6.1
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6.2
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.7
TIM During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.8
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.8.1
TIM Clock Pin (ADC12/T2CLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.8.2
TIM Channel I/O Pins (PTD4/T1CH0, PTD5/T1CH1, PTE0/T2CH0, PTE1/T2CH1) . . . . .
8.9
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9.1
TIM Status and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9.2
TIM Counter Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9.3
TIM Counter Modulo Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9.4
TIM Channel Status and Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9.5
TIM Channel Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
105
105
105
106
108
108
108
109
109
109
110
111
111
112
112
112
112
113
113
113
113
114
114
115
116
117
119
Chapter 9
Serial Communications Interface (SCI)
9.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.1
Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2
Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2.1
Character Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2.2
Character Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2.3
Break Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2.4
Idle Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2.5
Inversion of Transmitted Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2.6
Transmitter Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3
Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.1
Character Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
121
121
121
123
123
124
124
125
125
125
126
126
126
126
Freescale Semiconductor
9.4.3.2
Character Reception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.3
Data Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.4
Framing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.5
Baud Rate Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.6
Receiver Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.7
Receiver Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3.8
Error Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.1
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.2
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6
SCI During Break Module Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.7
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.7.1
TxD (Transmit Data). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.7.2
RxD (Receive Data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.1
SCI Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.2
SCI Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.3
SCI Control Register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.4
SCI Status Register 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.5
SCI Status Register 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.6
SCI Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.7
SCI Baud Rate Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126
128
129
130
131
132
132
133
133
133
133
133
133
133
134
134
136
138
139
142
142
143
Chapter 10
Analog-to-Digital Converter (ADC)
10.1
10.2
10.3
10.3.1
10.3.2
10.3.3
10.3.4
10.3.5
10.4
10.5
10.5.1
10.5.2
10.6
10.6.1
10.7
10.7.1
10.7.2
10.7.3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Port I/O Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Voltage Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conversion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Continuous Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accuracy and Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Voltage In (ADCVIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Status and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Data Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Input Clock Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
145
145
145
146
147
147
147
147
147
147
147
148
148
148
148
148
150
150
11
Table of Contents
Chapter 11
Input/Output (I/O) Ports
11.1
11.2
11.2.1
11.2.2
11.2.3
11.3
11.3.1
11.3.2
11.4
11.4.1
11.4.2
11.4.3
11.5
11.5.1
11.5.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port A Data Register (PTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Direction Register A (DDRA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port A Input Pull-Up Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port B Data Register (PTB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Direction Register B (DDRB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port D Data Register (PTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Direction Register D (DDRD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port D Control Register (PDCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port E Data Register (PTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Direction Register E (DDRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
151
153
153
153
155
156
156
156
157
158
158
160
160
160
161
Chapter 12
External Interrupt (IRQ)
12.1
12.2
12.3
12.3.1
12.4
12.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IRQ Pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IRQ Module During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IRQ Status and Control Register (INTSCR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
163
163
163
164
165
166
Chapter 13
Keyboard Interrupt Module (KBI)
13.1
13.2
13.3
13.4
13.4.1
13.5
13.5.1
13.5.2
13.6
13.6.1
13.6.2
13.7
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Interrupt Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Module During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
167
167
167
168
169
169
169
170
171
171
171
171
Chapter 14
Computer Operating Properly (COP)
14.1
14.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
12
Freescale Semiconductor
14.3
14.3.1
14.3.2
14.3.3
14.3.4
14.3.5
14.3.6
14.3.7
14.4
14.5
14.6
14.7
14.7.1
14.7.2
14.8
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COPCTL Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power-On Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset Vector Fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COPD (COP Disable). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COPRS (COP Rate Select) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP Module During Break Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
174
174
174
174
174
174
174
175
175
175
175
175
176
176
176
Chapter 15
Low Voltage Inhibit (LVI)
15.1
15.2
15.3
15.4
15.5
15.5.1
15.5.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LVI Control Register (CONFIG2/CONFIG1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
177
177
177
178
178
178
178
Chapter 16
Break Module (BREAK)
16.1
16.2
16.3
16.3.1
16.3.2
16.3.3
16.3.4
16.4
16.4.1
16.4.2
16.4.3
16.4.4
16.5
16.5.1
16.5.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flag Protection During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPU During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIM During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break Module Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break Status and Control Register (BRKSCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break Address Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break Flag Control Register (BFCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
179
179
179
180
180
180
180
181
181
181
182
183
183
183
183
13
Table of Contents
Chapter 17
Electrical Specifications
17.1
17.2
17.3
17.4
17.5
17.6
17.7
17.8
17.9
17.10
17.11
17.12
17.13
17.14
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Operating Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5V DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5V Control Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5V Oscillator Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3V DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3V Control Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3V Oscillator Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typical Supply Currents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer Interface Module Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
185
185
186
186
187
188
188
189
190
191
192
193
193
194
Chapter 18
Mechanical Specifications
18.1
18.2
18.3
18.4
18.5
18.6
18.7
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20-Pin Plastic Dual In-Line Package (PDIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20-Pin Small Outline Integrated Circuit Package (SOIC). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28-Pin Plastic Dual In-Line Package (PDIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28-Pin Small Outline Integrated Circuit Package (SOIC). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32-Pin Shrink Dual In-Line Package (SDIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32-Pin Low-Profile Quad Flat Pack (LQFP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
195
195
196
196
197
197
198
Chapter 19
Ordering Information
19.1
19.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
MC Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Appendix A
MC68HC08JL8
A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.7.1
A.8
A.9
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MCU Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mask Option Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DC Electrical Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MC68HC08JL8 Order Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
201
201
201
202
204
204
204
204
205
206
Freescale Semiconductor
Appendix B
MC68HC908KL8
B.1
B.2
B.3
B.4
B.5
B.6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MCU Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MC68HC908KL8 Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
207
207
207
210
210
210
15
Table of Contents
Freescale Semiconductor
Chapter 1
General Description
1.1 Introduction
The MC68HC908JL8 is a member of the low-cost, high-performance M68HC08 Family of 8-bit
microcontroller units (MCUs). All MCUs in the family use the enhanced M68HC08 central processor unit
(CPU08) and are available with a variety of modules, memory sizes and types, and package types.
Table 1-1. Summary of Devices
Generic Part
Description
Pin Count
MC68HC908JL8
FLASH part
28 or 32
MC68HC908JK8
FLASH part
20
MC68HC08JL8
28 or 32
MC68HC08JK8
20
MC68HC908KL8
ADC-less MC68HC908JL8
28 or 32
1.2 Features
Features of the MC68HC908JL8 include the following:
High-performance M68HC08 architecture
Fully upward-compatible object code with M6805, M146805, and M68HC05 Families
Low-power design; fully static with stop and wait modes
Maximum internal bus frequency:
8-MHz at 5V operating voltage
4-MHz at 3V operating voltage
Oscillator options:
Crystal or resonator
RC oscillator
8,192 bytes user program FLASH memory with security(1) feature
256 bytes of on-chip RAM
Two 16-bit, 2-channel timer interface modules (TIM1 and TIM2) with selectable input capture,
output compare, and PWM capability on each channel; external clock input option on TIM2
13-channel, 8-bit analog-to-digital converter (ADC)
Serial communications interface module (SCI)
26 general-purpose input/output (I/O) ports:
8 keyboard interrupt with internal pull-up
1. No security feature is absolutely secure. However, Motorolas strategy is to make reading or copying the FLASH difficult for
unauthorized users.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
17
General Description
Freescale Semiconductor
PORTA
ARITHMETIC/LOGIC
UNIT (ALU)
PTA7/KBI7**
PTA6/KBI6**
PTA5/KBI5**
PTA4/KBI4**
PTA3/KBI3**
PTA2/KBI2**
PTA1/KBI1**
PTA0/KBI0**
PTB7/ADC7
PTB6/ADC6
PTB5/ADC5
PTB4/ADC4
PTB3/ADC3
PTB2/ADC2
PTB1/ADC1
PTB0/ADC0
KEYBOARD INTERRUPT
MODULE
8-BIT ANALOG-TO-DIGITAL
CONVERTER MODULE
DDRA
CPU
REGISTERS
PORTB
M68HC08 CPU
POWER-ON RESET
MODULE
* RST
SYSTEM INTEGRATION
MODULE
LOW-VOLTAGE INHIBIT
MODULE
* IRQ
EXTERNAL INTERRUPT
MODULE
VDD
POWER
VSS
ADC REFERENCE
COMPUTER OPERATING
PROPERLY MODULE
PORTD
RC OSCILLATOR
INTERNAL OSCILLATOR
##
PTD7/RxD**
PTE
OSC2/RCCLK
ADC12/T2CLK
SERIAL COMMUNICATIONS
INTERFACE MODULE
DDRD
CRYSTAL OSCILLATOR
BREAK
MODULE
DDRE
OSC1
DDRB
PTD6/TxD**
PTD5/T1CH1
PTD4/T1CH0
PTD3/ADC8
PTD2/ADC9
PTD1/ADC10
PTD0/ADC11
##
PTE1/T2CH1
#
PTE0/T2CH0
19
General Description
IRQ
ADC12/T2CLK
PTA7/KBI7
RST
PTA5/KBI5
30
29
28
27
26
25 PTD4/T1CH0
PTA0/KBI0
OSC1 1
31
32 VSS
24 PTD5/T1CH1
PTA2/KBI2
20
PTB0/ADC0
PTA3/KBI3
19
PTB1/ADC1
PTB7/ADC7
18
PTD1/ADC10
17 PTB2/ADC2
PTB3/ADC3 16
PTB5/ADC5 9
PTB6/ADC6 8
15
PTD3/ADC8
PTD0/ADC11
21
14
PTB4/ADC4
VDD
13
PTA4/KBI4
PTE1/T2CH1
22
12
PTE0/T2CH0
PTA1/KBI1
11
PTD2/ADC9
PTD6/TxD
23
10
PTD7/RxD
OSC2/RCCLK/PTA6/KBI6
IRQ
32
ADC12/T2CLK
PTA0/KBI0
31
PTA7/KBI7
VSS
30
RST
OSC1
29
PTA5/KBI5
OSC2/RCCLK/PTA6/KBI6
28
PTD4/T1CH0
PTA1/KBI1
27
PTD5/T1CH1
VDD
26
PTD2/ADC9
PTA2/KBI2
25
PTA4/KBI4
PTA3/KBI3
24
PTD3/ADC8
PTB7/ADC7
10
23
PTB0/ADC0
PTB6/ADC6
11
22
PTB1/ADC1
PTB5/ADC5
12
21
PTD1/ADC10
PTD7/RxD
13
20
PTB2/ADC2
PTD6/TxD
14
19
PTB3/ADC3
PTE0/T2CH0
15
18
PTD0/ADC11
PTE1/T2CH1
16
17
PTB4/ADC4
Freescale Semiconductor
Pin Functions
IRQ
28
RST
PTA0/KBI0
27
PTA5/KBI5
VSS
26
PTD4/T1CH0
OSC1
25
PTD5/T1CH1
OSC2/RCCLK/PTA6/KBI6
24
PTD2/ADC9
PTA1/KBI1
23
PTA4/KBI4
VDD
22
PTD3/ADC8
PTA2/KBI2
21
PTB0/ADC0
PTA3/KBI3
20
PTB1/ADC1
PTB7/ADC7
10
19
PTD1/ADC10
PTB6/ADC6
11
18
PTB2/ADC2
PTB5/ADC5
12
17
PTB3/ADC3
PTD7/RxD
13
16
PTD0/ADC11
PTD6/TxD
14
15
PTB4/ADC4
ADC12/T2CLK
PTA7/KBI7
Internal pads are unconnected.
Set these unused port I/Os to output low.
IRQ
20
RST
VSS
19
PTD4/T1CH0
OSC1
18
PTD5/T1CH1
OSC2/RCCLK/PTA6/KBI6
17
PTD2/ADC9
VDD
16
PTD3/ADC8
PTB7/ADC7
15
PTB0/ADC0
PTA3/KBI3
PTE0/T2CH0
PTB6/ADC6
14
PTB1/ADC1
PTA4/KBI4
PTE1/T2CH1
PTB5/ADC5
13
PTB2/ADC2
PTA5/KBI5
PTD7/RxD
12
PTB3/ADC3
PTD6/TxD
10
11
PTB4/ADC4
PTD0/ADC11
PTA1/KBI1
PTD1/ADC10
PTA2/KBI2
ADC12/T2CLK
PTA7/KBI7
Internal pads are unconnected.
Set these unused port I/Os to output low.
21
General Description
VOLTAGE
LEVEL
In
5V or 3V
Out
0V
In/Out
VDD
In
VDD
In
VDD to VTST
In
VDD
Out
VDD
Out
VDD
In/Out
VDD
In
VSS to VDD
In
VDD
In/Out
VDD
In
VDD
In
VDD
Out
VSS
PTA6 as OSC2/RCCLK.
Out
VDD
In/Out
VDD
In
VSS to VDD
In/Out
VDD
Input
VSS to VDD
Out
VSS
In/Out
VDD
In/Out
VDD
Out
VSS
Out
VDD
In
VDD
PIN NAME
PIN DESCRIPTION
VDD
Power supply.
VSS
RST
IRQ
OSC1
OSC2/RCCLK
PTA0PTA7
Freescale Semiconductor
Pin Functions
VOLTAGE
LEVEL
In/Out
VDD
In/Out
VDD
In/Out
VDD
PIN NAME
PTE0PTE1
PIN DESCRIPTION
NOTE
Devices in 28-pin packages, the following pins are not available:
PTA7/KBI7, PTE0/T2CH0, PTE1/T2CH1, and ADC12/T2CLK.
Devices in 20-pin packages, the following pins are not available:
PTA0/KBI0PTA5/KBI5, PTD0/ADC11, PTD1/ADC10,
PTA7/KBI7, PTE0/T2CH0, PTE1/T2CH1, and ADC12/T2CLK.
23
General Description
Freescale Semiconductor
Chapter 2
Memory
2.1 Introduction
The CPU08 can address 64-kbytes of memory space. The memory map, shown in Figure 2-1, includes:
8,192 bytes of user FLASH memory
36 bytes of user-defined vectors
959 bytes of monitor ROM
25
Memory
$0000
$003F
I/O REGISTERS
64 BYTES
$0040
$005F
RESERVED
32 BYTES
$0060
$015F
RAM
256 BYTES
$0160
$DBFF
UNIMPLEMENTED
55,968 BYTES
$DC00
$FBFF
FLASH MEMORY
8,192 BYTES
$FC00
$FDFF
MONITOR ROM
512 BYTES
$FE00
$FE01
$FE02
RESERVED
$FE03
$FE04
$FE05
$FE06
$FE07
RESERVED
$FE08
$FE09
$FF0B
RESERVED
$FE0C
$FE0D
$FE0E
$FE0F
RESERVED
$FE10
$FFCE
MONITOR ROM
447 BYTES
$FFCF
$FFD0
$FFD1
$FFDB
RESERVED
11 BYTES
$FFDC
$FFFF
Freescale Semiconductor
Monitor ROM
Addr.
$0000
$0001
$0002
$0003
$0004
$0005
$0006
$0007
$0008
$0009
$000A
$000B
$000C
$000D
$000E
$000F
$0012
Register Name
Read:
Port A Data Register (PTA) Write:
Reset:
Read:
Port B Data Register (PTB) Write:
Reset:
Read:
Unimplemented Write:
Read:
Port D Data Register (PTD) Write:
Reset:
Read:
Data Direction Register A
Write:
(DDRA)
Reset:
Read:
Data Direction Register B
Write:
(DDRB)
Reset:
Read:
Unimplemented Write:
Read:
Data Direction Register D
Write:
(DDRD)
Reset:
Read:
Port E Data Register
Write:
(PTE)
Reset:
Read:
Unimplemented Write:
Read:
Port D Control Register
Write:
(PDCR)
Reset:
Bit 7
Bit 0
PTA7
PTA6
PTA5
PTA4
PTA3
PTA2
PTA1
PTA0
PTB2
PTB1
PTB0
PTD2
PTD1
PTD0
Unaffected by reset
PTB7
PTB6
PTB5
PTB4
PTB3
Unaffected by reset
PTD7
PTD6
PTD5
PTD4
PTD3
Unaffected by reset
DDRA7
DDRA6
DDRA5
DDRA4
DDRA3
DDRA2
DDRA1
DDRA0
DDRB7
DDRB6
DDRB5
DDRB4
DDRB3
DDRB2
DDRB1
DDRB0
DDRD7
DDRD6
DDRD5
DDRD4
DDRD3
DDRD2
DDRD1
DDRD0
PTE1
PTE0
Unaffected by reset
PTDPU6
DDRE1
DDRE0
Read:
Unimplemented Write:
Read:
Data Direction Register E
Write:
(DDRE)
Reset:
X = Indeterminate
= Unimplemented
= Reserved
27
Memory
Addr.
$0013
$0014
$0015
Register Name
SCI Control Register 1
(SCC1)
SCI Control Register 2
(SCC2)
SCI Control Register 3
(SCC3)
$0018
$0019
$001A
$001B
$001C
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Bit 7
Bit 0
LOOPS
ENSCI
TXINV
WAKE
ILTY
PEN
PTY
SCTIE
TCIE
SCRIE
ILIE
TE
RE
RWU
SBK
0
R8
T8
DMARE
DMATE
ORIE
NEIE
FEIE
PEIE
U
SCTE
U
TC
0
SCRF
0
IDLE
0
OR
0
NF
0
FE
0
PE
0
BKF
0
RPF
0
R7
T7
0
R6
T6
0
R5
T5
0
R2
T2
0
R1
T1
0
R0
T0
0
0
R4
R3
T4
T3
Unaffected by reset
SCP1
SCP0
SCR2
SCR1
SCR0
KEYF
0
ACKK
IMASKK
MODEK
KBIE7
KBIE6
KBIE5
KBIE4
KBIE3
KBIE2
KBIE1
KBIE0
IMASK
MODE
Read:
Unimplemented Write:
0
0
0
0
IRQF
IRQ Status and Control Read:
Register Write:
(INTSCR) Reset:
0
0
0
0
0
Read:
IRQPUD
R
R
LVIT1
LVIT0
Configuration Register 2
$001E
Write:
(CONFIG2)
Reset:
0
0
0
0*
0*
Read:
COPRS
R
R
LVID
R
Configuration Register 1
Write:
$001F
(CONFIG1)
Reset:
0
0
0
0
0
One-time writable register after each reset. * LVIT1 and LVIT0 reset to logic 0 by a power-on reset (POR) only.
$001D
$0020
$0021
TOF
0
TOIE
TSTOP
0
TRST
0
ACK
0
R
0
STOP_
ICLKDIS
0
SSREC
STOP
COPD
PS2
PS1
PS0
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
0
R
0
= Reserved
0
0
X = Indeterminate
0
0
= Unimplemented
Freescale Semiconductor
Monitor ROM
Addr.
$0022
$0023
$0024
$0025
$0026
$0027
$0028
$0029
$002A
$002B
$002F
$0030
$0031
$0032
$0033
$0034
Register Name
Bit 7
Bit 0
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
CH0F
0
CH0IE
MS0B
MS0A
ELS0B
ELS0A
TOV0
CH0MAX
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit2
Bit1
Bit0
Bit7
Bit6
Bit5
Bit4
Bit3
CH1F
0
CH1IE
Bit15
Bit14
MS1A
ELS1B
ELS1A
TOV1
CH1MAX
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit2
Bit1
Bit0
PS2
PS1
PS0
Bit7
Bit6
Bit5
Bit4
Bit3
Read:
Unimplemented Write:
TOF
0
TOIE
TSTOP
0
TRST
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
1
R
1
= Reserved
1
1
X = Indeterminate
1
1
= Unimplemented
29
Memory
Addr.
$0035
$0036
$0037
$0038
$0039
$003A
$003B
$003C
$003D
$003E
$003F
Register Name
Bit 0
CH0F
0
CH0IE
MS0B
MS0A
ELS0B
ELS0A
TOV0
CH0MAX
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit2
Bit1
Bit0
Bit7
Bit6
Bit5
Bit4
Bit3
CH1F
0
CH1IE
Bit15
Bit14
MS1A
ELS1B
ELS1A
TOV1
CH1MAX
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit2
Bit1
Bit0
Bit7
Bit6
Bit5
Bit4
Bit3
Read:
Unimplemented Write:
ADC Status and Control Read:
Register Write:
(ADSCR) Reset:
Read:
ADC Data Register
Write:
(ADR)
Reset:
Read:
ADC Input Clock Register
Write:
(ADICLK)
Reset:
Read:
Unimplemented Write:
Read:
$FE00 Break Status Register (BSR) Write:
Reset:
Note: Writing a logic 0 clears SBSW.
Read:
$FE01 Reset Status Register (RSR) Write:
POR:
Read:
$FE02
Reserved Write:
$FE03
Bit 7
COCO
0
AD7
AIEN
ADCO
ADCH4
ADCH3
ADCH2
ADCH1
ADCH0
0
AD6
0
AD5
1
AD4
1
AD3
1
AD2
1
AD1
1
AD0
ADIV2
ADIV1
ADIV0
POR
PIN
COP
ILOP
ILAD
MODRST
LVI
BCFE
= Reserved
0
X = Indeterminate
= Unimplemented
SBSW
See note
0
Freescale Semiconductor
Monitor ROM
Addr.
Register Name
$FE04
$FE05
$FE06
$FE07
Reserved
$FE08
$FE09
$FE0B
$FE0C
$FE0D
$FE0E
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Read:
FLASH Control Register
Write:
(FLCR)
Reset:
Read:
Reserved Write:
Break Address High Read:
Register Write:
(BRKH) Reset:
Break Address low Read:
Register Write:
(BRKL) Reset:
Break Status and Control Read:
Register Write:
(BRKSCR) Reset:
Bit 7
IF6
R
0
IF14
R
0
0
R
0
6
IF5
R
0
IF13
R
0
0
R
0
5
IF4
R
0
IF12
R
0
0
R
0
4
IF3
R
0
IF11
R
0
0
R
0
3
0
R
0
0
R
0
0
R
0
2
IF1
R
0
0
R
0
0
R
0
1
0
R
0
IF8
R
0
0
R
0
Bit 0
0
R
0
IF7
R
0
IF15
R
0
HVEN
MASS
ERASE
PGM
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
BRKE
BRKA
0
0
0
0
0
0
0
0
0
0
0
0
BPR6
BPR5
BPR4
BPR3
BPR2
BPR1
BPR0
$FFFF
Read:
COP Control Register
Write:
(COPCTL)
Reset:
U = Unaffected
X = Indeterminate
= Reserved
31
Memory
.
INT Flag
Address
$FFD0
$FFDD
Not Used
$FFDE
$FFDF
$FFE0
$FFE1
$FFE2
$FFE3
$FFE4
$FFE5
$FFE6
$FFE7
Lowest
IF15
IF14
IF13
IF12
IF11
IF10
IF9
IF8
IF7
IF6
IF5
IF4
IF3
IF2
IF1
Vector
Not Used
$FFEC
$FFED
$FFEE
$FFEF
$FFF0
$FFF1
$FFF2
$FFF3
$FFF4
$FFF5
$FFF6
$FFF7
Not Used
$FFFA
$FFFB
$FFFC
$FFFD
$FFFE
$FFFF
Highest
Freescale Semiconductor
1. No security feature is absolutely secure. However, Motorolas strategy is to make reading or copying the FLASH difficult for
unauthorized users.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
33
Memory
$FE08
Bit 7
Write:
Reset:
Bit 0
HVEN
MASS
ERASE
PGM
Freescale Semiconductor
7.
8.
9.
10.
35
Memory
Freescale Semiconductor
Completed
programming
this row?
NOTE:
The time between each FLASH address change (step 7 to step 7), or
the time between the last FLASH address programmed
to clearing PGM bit (step 7 to step 10)
must not exceed the maximum programming
time, tprog max.
10
11
12
13
End of programming
37
Memory
$FFCF
Bit 7
Bit 0
BPR7
BPR6
BPR5
BPR4
BPR3
BPR2
BPR1
BPR0
1 1
0 0 0 0 0 0
BPR[7:0]
Freescale Semiconductor
The resultant 16-bit address is used for specifying the start address of the FLASH memory for block
protection. The FLASH is protected from this start address to the end of FLASH memory, at $FFFF.
With this mechanism, the protect start address can be XX00, XX40, XX80, or XXC0 (at page
boundaries 64 bytes) within the FLASH memory.
Examples of protect start address:
BPR[7:0]
$00$70
$71
(0111 0001)
$72
(0111 0010)
$73
(0111 0011)
and so on...
$FD
(1111 1101)
$FE
(1111 1110)
$FF
39
Memory
Freescale Semiconductor
Chapter 3
Configuration and Mask Option Registers (CONFIG & MOR)
3.1 Introduction
This section describes the configuration registers, CONFIG1 and CONFIG2; and the mask option register
(MOR).
The configuration registers enable or disable these options:
Computer operating properly module (COP)
COP timeout period (213 24 or 218 24 ICLK cycles)
41
$001F
Bit 7
Bit 0
COPRS
LVID
SSREC
STOP
COPD
= Reserved
Freescale Semiconductor
$001E
Bit 7
Bit 0
IRQPUD
LVIT1
LVIT0
STOP_
ICLKDIS
= Reserved
One-time writable register after each reset. LVIT1 and LVIT0 reset to logic 0 by a power-on reset (POR) only.
$FFD0
Bit 7
Bit 0
OSCSEL
Reset:
Unaffected by reset
= Reserved
43
Freescale Semiconductor
Chapter 4
Central Processor Unit (CPU)
4.1 Introduction
The M68HC08 CPU (central processor unit) is an enhanced and fully object-code-compatible version of
the M68HC05 CPU. The CPU08 Reference Manual (Freescale document order number CPU08RM/AD)
contains a description of the CPU instruction set, addressing modes, and architecture.
4.2 Features
45
ACCUMULATOR (A)
0
15
H
15
0
STACK POINTER (SP)
15
0
PROGRAM COUNTER (PC)
7
0
V 1 1 H I N Z C
CARRY/BORROW FLAG
ZERO FLAG
NEGATIVE FLAG
INTERRUPT MASK
HALF-CARRY FLAG
TWOS COMPLEMENT OVERFLOW FLAG
4.3.1 Accumulator
The accumulator is a general-purpose 8-bit register. The CPU uses the accumulator to hold operands and
the results of arithmetic/logic operations.
Bit 7
Bit 0
Read:
Write:
Reset:
Unaffected by reset
Freescale Semiconductor
CPU Registers
Bit
15
14
13
12
11
10
Bit 0
Read:
Write:
Reset:
X = Indeterminate
14
13
12
11
10
Bit 0
Read:
Write:
Reset:
47
Bit
15
14
13
12
11
10
Bit 0
Read:
Write:
Reset:
Read:
Write:
Reset:
Bit 7
Bit 0
X = Indeterminate
Freescale Semiconductor
After the I bit is cleared, the highest-priority interrupt request is serviced first.
A return-from-interrupt (RTI) instruction pulls the CPU registers from the stack and restores the
interrupt mask from the stack. After any reset, the interrupt mask is set and can be cleared only by the
clear interrupt mask software instruction (CLI).
N 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.
1 = Negative result
0 = Non-negative result
Z Zero flag
The CPU sets the zero flag when an arithmetic operation, logic operation, or data manipulation
produces a result of $00.
1 = Zero result
0 = Non-zero result
C 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.
1 = Carry out of bit 7
0 = No carry out of bit 7
49
V H I N Z C
ADC #opr
ADC opr
ADC opr
ADC opr,X
ADC opr,X
ADC ,X
ADC opr,SP
ADC opr,SP
IMM
DIR
EXT
IX2
R R R R R
IX1
IX
SP1
SP2
A9
B9
C9
D9
E9
F9
9EE9
9ED9
ii
dd
hh ll
ee ff
ff
IMM
DIR
EXT
IX2
R R R R R
IX1
IX
SP1
SP2
AB
BB
CB
DB
EB
FB
9EEB
9EDB
ii
dd
hh ll
ee ff
ff
ADD #opr
ADD opr
ADD opr
ADD opr,X
ADD opr,X
ADD ,X
ADD opr,SP
ADD opr,SP
AIS #opr
SP (SP) + (16 M)
IMM
AIX #opr
IMM
A (A) + (M)
ff
ee ff
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
2
3
4
4
3
2
4
5
ff
ee ff
2
3
4
4
3
2
4
5
A7
ii
AF
ii
Freescale Semiconductor
Opcode Map
V H I N Z C
AND #opr
AND opr
AND opr
AND opr,X
AND opr,X
AND ,X
AND opr,SP
AND opr,SP
ASL opr
ASLA
ASLX
ASL opr,X
ASL ,X
ASL opr,SP
Logical AND
ASR opr
ASRA
ASRX
ASR opr,X
ASR opr,X
ASR opr,SP
BCC rel
0
b7
b0
C
b7
b0
Mn 0
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
2
3
4
4
3
2
4
5
IMM
DIR
EXT
IX2
0 R R
IX1
IX
SP1
SP2
A4
B4
C4
D4
E4
F4
9EE4
9ED4
ii
dd
hh ll
ee ff
ff
DIR
INH
INH
R R R R
IX1
IX
SP1
38
48
58
68
78
9E68
dd
DIR
INH
INH
R R R R
IX1
IX
SP1
37
47
57
67
77
9E67
dd
ff
4
1
1
4
3
5
REL
24
rr
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
11
13
15
17
19
1B
1D
1F
dd
dd
dd
dd
dd
dd
dd
dd
4
4
4
4
4
4
4
4
ff
ee ff
ff
ff
ff
4
1
1
4
3
5
BCLR n, opr
Clear Bit n in M
BCS rel
REL
25
rr
BEQ rel
Branch if Equal
REL
27
rr
BGE opr
PC (PC) + 2 + rel ? (N V) = 0
REL
90
rr
BGT opr
92
rr
BHCC rel
REL
28
rr
BHCS rel
REL
29
rr
BHI rel
Branch if Higher
REL
22
rr
BHS rel
REL
24
rr
BIH rel
REL
2F
rr
BIL rel
REL
2E
rr
51
V H I N Z C
BIT #opr
BIT opr
BIT opr
BIT opr,X
BIT opr,X
BIT ,X
BIT opr,SP
BIT opr,SP
Bit Test
BLE opr
BLO rel
BLS rel
IMM
DIR
EXT
IX2
0 R R
IX1
IX
SP1
SP2
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
ff
ee ff
2
3
4
4
3
2
4
5
93
rr
A5
B5
C5
D5
E5
F5
9EE5
9ED5
ii
dd
hh ll
ee ff
ff
REL
25
rr
REL
23
rr
BLT opr
PC (PC) + 2 + rel ? (N V) = 1
REL
91
rr
BMC rel
REL
2C
rr
BMI rel
Branch if Minus
REL
2B
rr
BMS rel
REL
2D
rr
BNE rel
REL
26
rr
BPL rel
Branch if Plus
REL
2A
rr
BRA rel
Branch Always
PC (PC) + 2 + rel
REL
20
rr
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
R
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
01
03
05
07
09
0B
0D
0F
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
5
5
5
5
5
5
5
5
REL
21
rr
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
R
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
00
02
04
06
08
0A
0C
0E
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
5
5
5
5
5
5
5
5
Mn 1
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
10
12
14
16
18
1A
1C
1E
dd
dd
dd
dd
dd
dd
dd
dd
4
4
4
4
4
4
4
4
BRN rel
Branch Never
BSET n,opr
Set Bit n in M
PC (PC) + 2
Freescale Semiconductor
Opcode Map
V H I N Z C
BSR rel
Branch to Subroutine
CBEQ opr,rel
CBEQA #opr,rel
CBEQX #opr,rel
Compare and Branch if Equal
CBEQ opr,X+,rel
CBEQ X+,rel
CBEQ opr,SP,rel
REL
DIR
PC (PC) + 3 + rel ? (A) (M) = $00
IMM
PC (PC) + 3 + rel ? (A) (M) = $00
IMM
PC (PC) + 3 + rel ? (X) (M) = $00
IX1+
PC (PC) + 3 + rel ? (A) (M) = $00
IX+
PC (PC) + 2 + rel ? (A) (M) = $00
SP1
PC (PC) + 4 + rel ? (A) (M) = $00
AD
31
41
51
61
71
9E61
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
rr
dd rr
ii rr
ii rr
ff rr
rr
ff rr
5
4
4
5
4
6
CLC
C0
0 INH
98
CLI
I0
0 INH
9A
M $00
A $00
X $00
H $00
M $00
M $00
M $00
DIR
INH
INH
0 0 1 INH
IX1
IX
SP1
3F
4F
5F
8C
6F
7F
9E6F
dd
(A) (M)
IMM
DIR
EXT
IX2
R R R R
IX1
IX
SP1
SP2
A1
B1
C1
D1
E1
F1
9EE1
9ED1
ii
dd
hh ll
ee ff
ff
DIR
INH
INH
0 R R 1
IX1
IX
SP1
33
43
53
63
73
9E63
dd
CLR opr
CLRA
CLRX
CLRH
CLR opr,X
CLR ,X
CLR opr,SP
CMP #opr
CMP opr
CMP opr
CMP opr,X
CMP opr,X
CMP ,X
CMP opr,SP
CMP opr,SP
Clear
Compare A with M
COM opr
COMA
COMX
COM opr,X
COM ,X
COM opr,SP
CPHX #opr
CPHX opr
CPX #opr
CPX opr
CPX opr
CPX ,X
CPX opr,X
CPX opr,X
CPX opr,SP
CPX opr,SP
Compare X with M
DAA
Decimal Adjust A
(X) (M)
(A)10
ff
ff
ff
ee ff
3
1
1
1
3
2
4
2
3
4
4
3
2
4
5
ff
4
1
1
4
3
5
65
75
ii ii+1
dd
3
4
IMM
DIR
EXT
IX2
R R R R
IX1
IX
SP1
SP2
A3
B3
C3
D3
E3
F3
9EE3
9ED3
ii
dd
hh ll
ee ff
ff
2
3
4
4
3
2
4
5
U R R R INH
72
R R R R
IMM
DIR
ff
ff
ee ff
53
V H I N Z C
DBNZ opr,rel
DBNZA rel
Decrement and Branch if Not Zero
DBNZX rel
DBNZ opr,X,rel
DBNZ X,rel
DBNZ opr,SP,rel
DEC opr
DECA
DECX
DEC opr,X
DEC ,X
DEC opr,SP
Decrement
DIV
Divide
EOR #opr
EOR opr
EOR opr
EOR opr,X
EOR opr,X
EOR ,X
EOR opr,SP
EOR opr,SP
INC opr
INCA
INCX
INC opr,X
INC ,X
INC opr,SP
JMP opr
JMP opr
JMP opr,X
JMP opr,X
JMP ,X
JSR opr
JSR opr
JSR opr,X
JSR opr,X
JSR ,X
Exclusive OR M with A
Increment
Jump
Jump to Subroutine
LDA #opr
LDA opr
LDA opr
LDA opr,X
LDA opr,X
LDA ,X
LDA opr,SP
LDA opr,SP
Load A from M
LDHX #opr
LDHX opr
3B
4B
5B
6B
7B
9E6B
dd rr
rr
rr
ff rr
rr
ff rr
dd
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
5
3
3
5
4
6
M (M) 1
A (A) 1
X (X) 1
M (M) 1
M (M) 1
M (M) 1
DIR
INH
INH
R R R
IX1
IX
SP1
3A
4A
5A
6A
7A
9E6A
A (H:A)/(X)
H Remainder
R R INH
52
A (A M)
IMM
DIR
EXT
IX2
0 R R
IX1
IX
SP1
SP2
A8
B8
C8
D8
E8
F8
9EE8
9ED8
ii
dd
hh ll
ee ff
ff
M (M) + 1
A (A) + 1
X (X) + 1
M (M) + 1
M (M) + 1
M (M) + 1
DIR
INH
INH
R R R
IX1
IX
SP1
3C
4C
5C
6C
7C
9E6C
dd
PC Jump Address
DIR
EXT
IX2
IX1
IX
BC
CC
DC
EC
FC
dd
hh ll
ee ff
ff
2
3
4
3
2
PC (PC) + n (n = 1, 2, or 3)
Push (PCL); SP (SP) 1
Push (PCH); SP (SP) 1
PC Unconditional Address
DIR
EXT
IX2
IX1
IX
BD
CD
DD
ED
FD
dd
hh ll
ee ff
ff
4
5
6
5
4
A (M)
IMM
DIR
EXT
IX2
0 R R
IX1
IX
SP1
SP2
A6
B6
C6
D6
E6
F6
9EE6
9ED6
ii
dd
hh ll
ee ff
ff
ff
ee ff
2
3
4
4
3
2
4
5
ii jj
dd
3
4
H:X (M:M + 1)
0 R R
IMM
DIR
45
55
ff
ff
4
1
1
4
3
5
7
ff
ee ff
ff
ff
2
3
4
4
3
2
4
5
4
1
1
4
3
5
Freescale Semiconductor
Opcode Map
V H I N Z C
LDX #opr
LDX opr
LDX opr
LDX opr,X
LDX opr,X
LDX ,X
LDX opr,SP
LDX opr,SP
LSL opr
LSLA
LSLX
LSL opr,X
LSL ,X
LSL opr,SP
LSR opr
LSRA
LSRX
LSR opr,X
LSR ,X
LSR opr,SP
IMM
DIR
EXT
IX2
0 R R
IX1
IX
SP1
SP2
AE
BE
CE
DE
EE
FE
9EEE
9EDE
ii
dd
hh ll
ee ff
ff
DIR
INH
INH
R R R R
IX1
IX
SP1
38
48
58
68
78
9E68
dd
DIR
INH
INH
R 0 R R
IX1
IX
SP1
34
44
54
64
74
9E64
dd
DD
DIX+
0 R R
IMD
IX+D
4E
5E
6E
7E
0 0 INH
42
DIR
INH
INH
R R R R
IX1
IX
SP1
30
40
50
60
70
9E60
X (M)
Load X from M
0
b7
b0
C
b7
MOV opr,opr
MOV opr,X+
MOV #opr,opr
MOV X+,opr
Move
MUL
Unsigned multiply
b0
(M)Destination (M)Source
H:X (H:X) + 1 (IX+D, DIX+)
ff
ee ff
ff
ff
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
2
3
4
4
3
2
4
5
4
1
1
4
3
5
ff
4
1
1
4
3
5
dd dd
dd
ii dd
dd
5
4
4
4
ff
5
dd
4
1
1
4
3
5
NEG opr
NEGA
NEGX
NEG opr,X
NEG ,X
NEG opr,SP
NOP
No Operation
None
INH
9D
NSA
Nibble Swap A
A (A[3:0]:A[7:4])
INH
62
A (A) | (M)
IMM
DIR
EXT
IX2
0 R R
IX1
IX
SP1
SP2
AA
BA
CA
DA
EA
FA
9EEA
9EDA
ff
ff
ORA #opr
ORA opr
ORA opr
ORA opr,X
ORA opr,X
ORA ,X
ORA opr,SP
ORA opr,SP
Inclusive OR A and M
PSHA
INH
87
PSHH
INH
8B
PSHX
INH
89
PULA
INH
86
ii
dd
hh ll
ee ff
ff
ff
ee ff
2
3
4
4
3
2
4
5
55
V H I N Z C
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
PULH
INH
8A
PULX
INH
88
39
49
59
69
79
9E69
dd
DIR
INH
INH
R R R R
IX1
IX
SP1
DIR
INH
INH
R R R R
IX1
IX
SP1
36
46
56
66
76
9E66
dd
ROL opr
ROLA
ROLX
ROL opr,X
ROL ,X
ROL opr,SP
b7
b0
ff
ff
4
1
1
4
3
5
4
1
1
4
3
5
ROR opr
RORA
RORX
ROR opr,X
ROR ,X
ROR opr,SP
RSP
SP $FF
INH
9C
RTI
R R R R R R INH
80
RTS
SP SP + 1; Pull (PCH)
SP SP + 1; Pull (PCL)
INH
81
IMM
DIR
EXT
IX2
R R R R
IX1
IX
SP1
SP2
A2
B2
C2
D2
E2
F2
9EE2
9ED2
C
b7
b0
ff
ff
ii
dd
hh ll
ee ff
ff
2
3
4
4
3
2
4
5
SBC #opr
SBC opr
SBC opr
SBC opr,X
SBC opr,X
SBC ,X
SBC opr,SP
SBC opr,SP
SEC
C1
1 INH
99
SEI
I1
1 INH
9B
M (A)
DIR
EXT
IX2
0 R R IX1
IX
SP1
SP2
B7
C7
D7
E7
F7
9EE7
9ED7
(M:M + 1) (H:X)
0 R R DIR
35
I 0; Stop Oscillator
0 INH
8E
STA opr
STA opr
STA opr,X
STA opr,X
STA ,X
STA opr,SP
STA opr,SP
Store A in M
STHX opr
Store H:X in M
STOP
ff
ee ff
ff
ee ff
3
4
4
3
2
4
5
dd
dd
hh ll
ee ff
ff
Freescale Semiconductor
Opcode Map
V H I N Z C
STX opr
STX opr
STX opr,X
STX opr,X
STX ,X
STX opr,SP
STX opr,SP
SUB #opr
SUB opr
SUB opr
SUB opr,X
SUB opr,X
SUB ,X
SUB opr,SP
SUB opr,SP
Store X in M
Subtract
M (X)
A (A) (M)
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
3
4
4
3
2
4
5
DIR
EXT
IX2
0 R R IX1
IX
SP1
SP2
BF
CF
DF
EF
FF
9EEF
9EDF
dd
hh ll
ee ff
ff
IMM
DIR
EXT
IX2
R R R R
IX1
IX
SP1
SP2
A0
B0
C0
D0
E0
F0
9EE0
9ED0
ii
dd
hh ll
ee ff
ff
1 INH
83
ff
ee ff
ff
ee ff
2
3
4
4
3
2
4
5
SWI
Software Interrupt
TAP
Transfer A to CCR
CCR (A)
R R R R R R INH
84
TAX
Transfer A to X
X (A)
INH
97
TPA
Transfer CCR to A
A (CCR)
INH
85
DIR
INH
INH
0 R R
IX1
IX
SP1
3D
4D
5D
6D
7D
9E6D
H:X (SP) + 1
INH
95
A (X)
INH
9F
(SP) (H:X) 1
INH
94
TST opr
TSTA
TSTX
TST opr,X
TST ,X
TST opr,SP
TSX
Transfer SP to H:X
TXA
Transfer X to A
TXS
Transfer H:X to SP
dd
ff
ff
3
1
1
3
2
4
57
V H I N Z C
A
C
CCR
dd
dd rr
DD
DIR
DIX+
ee ff
EXT
ff
H
H
hh ll
I
ii
IMD
IMM
INH
IX
IX+
IX+D
IX1
IX1+
IX2
M
N
Accumulator
Carry/borrow bit
Condition code register
Direct address of operand
Direct address of operand and relative offset of branch instruction
Direct to direct addressing mode
Direct addressing mode
Direct to indexed with post increment addressing mode
High and low bytes of offset in indexed, 16-bit offset addressing
Extended addressing mode
Offset byte in indexed, 8-bit offset addressing
Half-carry bit
Index register high byte
High and low bytes of operand address in extended addressing
Interrupt mask
Immediate operand byte
Immediate source to direct destination addressing mode
Immediate addressing mode
Inherent addressing mode
Indexed, no offset addressing mode
Indexed, no offset, post increment addressing mode
Indexed with post increment to direct addressing mode
Indexed, 8-bit offset addressing mode
Indexed, 8-bit offset, post increment addressing mode
Indexed, 16-bit offset addressing mode
Memory location
Negative bit
n
opr
PC
PCH
PCL
REL
rel
rr
SP1
SP2
SP
U
V
X
Z
&
|
()
( )
#
?
:
R
Cycles
Description
Operand
Operation
Effect on
CCR
Opcode
Source
Form
Address
Mode
Any bit
Operand (one or two bytes)
Program counter
Program counter high byte
Program counter low byte
Relative addressing mode
Relative program counter offset byte
Relative program counter offset byte
Stack pointer, 8-bit offset addressing mode
Stack pointer 16-bit offset addressing mode
Stack pointer
Undefined
Overflow bit
Index register low byte
Zero bit
Logical AND
Logical OR
Logical EXCLUSIVE OR
Contents of
Negation (twos complement)
Immediate value
Sign extend
Loaded with
If
Concatenated with
Set or cleared
Not affected
Freescale Semiconductor
MSB
Branch
REL
DIR
INH
5
BRSET0
3 DIR
5
BRCLR0
3 DIR
5
BRSET1
3 DIR
5
BRCLR1
3 DIR
5
BRSET2
3 DIR
5
BRCLR2
3 DIR
5
BRSET3
3 DIR
5
BRCLR3
3 DIR
5
BRSET4
3 DIR
5
BRCLR4
3 DIR
5
BRSET5
3 DIR
5
BRCLR5
3 DIR
5
BRSET6
3 DIR
5
BRCLR6
3 DIR
5
BRSET7
3 DIR
5
BRCLR7
3 DIR
4
BSET0
2 DIR
4
BCLR0
2 DIR
4
BSET1
2 DIR
4
BCLR1
2 DIR
4
BSET2
2 DIR
4
BCLR2
2 DIR
4
BSET3
2 DIR
4
BCLR3
2 DIR
4
BSET4
2 DIR
4
BCLR4
2 DIR
4
BSET5
2 DIR
4
BCLR5
2 DIR
4
BSET6
2 DIR
4
BCLR6
2 DIR
4
BSET7
2 DIR
4
BCLR7
2 DIR
3
BRA
REL
3
BRN
2 REL
3
BHI
2 REL
3
BLS
2 REL
3
BCC
2 REL
3
BCS
2 REL
3
BNE
2 REL
3
BEQ
2 REL
3
BHCC
2 REL
3
BHCS
2 REL
3
BPL
2 REL
3
BMI
2 REL
3
BMC
2 REL
3
BMS
2 REL
3
BIL
2 REL
3
BIH
2 REL
Read-Modify-Write
INH
IX1
5
SP1
IX
9E6
Control
INH
INH
8
Register/Memory
IX2
SP2
IMM
DIR
EXT
9ED
4
SUB
EXT
4
CMP
3 EXT
4
SBC
3 EXT
4
CPX
3 EXT
4
AND
3 EXT
4
BIT
3 EXT
4
LDA
3 EXT
4
STA
3 EXT
4
EOR
3 EXT
4
ADC
3 EXT
4
ORA
3 EXT
4
ADD
3 EXT
3
JMP
3 EXT
5
JSR
3 EXT
4
LDX
3 EXT
4
STX
3 EXT
4
SUB
IX2
4
CMP
3 IX2
4
SBC
3 IX2
4
CPX
3 IX2
4
AND
3 IX2
4
BIT
3 IX2
4
LDA
3 IX2
4
STA
3 IX2
4
EOR
3 IX2
4
ADC
3 IX2
4
ORA
3 IX2
4
ADD
3 IX2
4
JMP
3 IX2
6
JSR
3 IX2
4
LDX
3 IX2
4
STX
3 IX2
5
SUB
SP2
5
CMP
4 SP2
5
SBC
4 SP2
5
CPX
4 SP2
5
AND
4 SP2
5
BIT
4 SP2
5
LDA
4 SP2
5
STA
4 SP2
5
EOR
4 SP2
5
ADC
4 SP2
5
ORA
4 SP2
5
ADD
4 SP2
IX1
SP1
IX
9EE
LSB
Freescale Semiconductor
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
4
1
NEG
NEGA
DIR 1 INH
5
4
CBEQ CBEQA
3 DIR 3 IMM
5
MUL
1 INH
4
1
COM
COMA
2 DIR 1 INH
4
1
LSR
LSRA
2 DIR 1 INH
4
3
STHX
LDHX
2 DIR 3 IMM
4
1
ROR
RORA
2 DIR 1 INH
4
1
ASR
ASRA
2 DIR 1 INH
4
1
LSL
LSLA
2 DIR 1 INH
4
1
ROL
ROLA
2 DIR 1 INH
4
1
DEC
DECA
2 DIR 1 INH
5
3
DBNZ DBNZA
3 DIR 2 INH
4
1
INC
INCA
2 DIR 1 INH
3
1
TST
TSTA
2 DIR 1 INH
5
MOV
3 DD
3
1
CLR
CLRA
2 DIR 1 INH
2
4
NEG
IX1
5
CBEQ
3 IX1+
3
NSA
1 INH
4
COM
2 IX1
4
LSR
2 IX1
3
CPHX
3 IMM
4
ROR
2 IX1
4
ASR
2 IX1
4
LSL
2 IX1
4
ROL
2 IX1
4
DEC
2 IX1
5
DBNZ
3 IX1
4
INC
2 IX1
3
TST
2 IX1
4
MOV
3 IMD
3
CLR
2 IX1
5
3
NEG
NEG
SP1 1 IX
6
4
CBEQ
CBEQ
4 SP1 2 IX+
2
DAA
1 INH
5
3
COM
COM
3 SP1 1 IX
5
3
LSR
LSR
3 SP1 1 IX
4
CPHX
2 DIR
5
3
ROR
ROR
3 SP1 1 IX
5
3
ASR
ASR
3 SP1 1 IX
5
3
LSL
LSL
3 SP1 1 IX
5
3
ROL
ROL
3 SP1 1 IX
5
3
DEC
DEC
3 SP1 1 IX
6
4
DBNZ
DBNZ
4 SP1 2 IX
5
3
INC
INC
3 SP1 1 IX
4
2
TST
TST
3 SP1 1 IX
4
MOV
2 IX+D
4
2
CLR
CLR
3 SP1 1 IX
7
3
RTI
BGE
INH 2 REL
4
3
RTS
BLT
1 INH 2 REL
3
BGT
2 REL
9
3
SWI
BLE
1 INH 2 REL
2
2
TAP
TXS
1 INH 1 INH
1
2
TPA
TSX
1 INH 1 INH
2
PULA
1 INH
2
1
PSHA
TAX
1 INH 1 INH
2
1
PULX
CLC
1 INH 1 INH
2
1
PSHX
SEC
1 INH 1 INH
2
2
PULH
CLI
1 INH 1 INH
2
2
PSHH
SEI
1 INH 1 INH
1
1
CLRH
RSP
1 INH 1 INH
1
NOP
1 INH
1
STOP
*
1 INH
1
1
WAIT
TXA
1 INH 1 INH
1
2
SUB
IMM
2
CMP
2 IMM
2
SBC
2 IMM
2
CPX
2 IMM
2
AND
2 IMM
2
BIT
2 IMM
2
LDA
2 IMM
2
AIS
2 IMM
2
EOR
2 IMM
2
ADC
2 IMM
2
ORA
2 IMM
2
ADD
2 IMM
3
SUB
DIR
3
CMP
2 DIR
3
SBC
2 DIR
3
CPX
2 DIR
3
AND
2 DIR
3
BIT
2 DIR
3
LDA
2 DIR
3
STA
2 DIR
3
EOR
2 DIR
3
ADC
2 DIR
3
ORA
2 DIR
3
ADD
2 DIR
2
JMP
2 DIR
4
4
BSR
JSR
2 REL 2 DIR
2
3
LDX
LDX
2 IMM 2 DIR
2
3
AIX
STX
2 IMM 2 DIR
2
MSB
3
SUB
IX1
3
CMP
2 IX1
3
SBC
2 IX1
3
CPX
2 IX1
3
AND
2 IX1
3
BIT
2 IX1
3
LDA
2 IX1
3
STA
2 IX1
3
EOR
2 IX1
3
ADC
2 IX1
3
ORA
2 IX1
3
ADD
2 IX1
3
JMP
2 IX1
5
JSR
2 IX1
5
3
LDX
LDX
4 SP2 2 IX1
5
3
STX
STX
4 SP2 2 IX1
4
4
SUB
SP1
4
CMP
3 SP1
4
SBC
3 SP1
4
CPX
3 SP1
4
AND
3 SP1
4
BIT
3 SP1
4
LDA
3 SP1
4
STA
3 SP1
4
EOR
3 SP1
4
ADC
3 SP1
4
ORA
3 SP1
4
ADD
3 SP1
2
SUB
IX
2
CMP
1 IX
2
SBC
1 IX
2
CPX
1 IX
2
AND
1 IX
2
BIT
1 IX
2
LDA
1 IX
2
STA
1 IX
2
EOR
1 IX
2
ADC
1 IX
2
ORA
1 IX
2
ADD
1 IX
2
JMP
1 IX
4
JSR
1 IX
4
2
LDX
LDX
3 SP1 1 IX
4
2
STX
STX
3 SP1 1 IX
3
LSB
5
Cycles
BRSET0 Opcode Mnemonic
3 DIR Number of Bytes / Addressing Mode
Opcode Map
59
INH Inherent
REL Relative
IMM Immediate
IX
Indexed, No Offset
DIR Direct
IX1 Indexed, 8-Bit Offset
EXT Extended
IX2 Indexed, 16-Bit Offset
DD Direct-Direct
IMD Immediate-Direct
IX+D Indexed-Direct DIX+ Direct-Indexed
*Pre-byte for stack pointer indexed instructions
1
NEGX
1 INH
4
CBEQX
3 IMM
7
DIV
1 INH
1
COMX
1 INH
1
LSRX
1 INH
4
LDHX
2 DIR
1
RORX
1 INH
1
ASRX
1 INH
1
LSLX
1 INH
1
ROLX
1 INH
1
DECX
1 INH
3
DBNZX
2 INH
1
INCX
1 INH
1
TSTX
1 INH
4
MOV
2 DIX+
1
CLRX
1 INH
Freescale Semiconductor
Chapter 5
System Integration Module (SIM)
5.1 Introduction
This section describes the system integration module (SIM), which supports up to 24 external and/or
internal interrupts. Together with the CPU, the SIM controls all MCU activities. A block diagram of the SIM
is shown in Figure 5-1. Figure 5-2 is a summary of the SIM I/O registers. The SIM is a system state
controller that coordinates CPU and exception timing.
The SIM is responsible for:
Bus clock generation and control for CPU and peripherals
Stop/wait/reset/break entry and recovery
Internal clock control
Master reset control, including power-on reset (POR) and COP timeout
Interrupt control:
Acknowledge timing
Arbitration control timing
Vector address generation
CPU enable/disable timing
Modular architecture expandable to 128 interrupt sources
Table 5-1 shows the internal signal names used in this section.
Table 5-1. Signal Name Conventions
Signal Name
ICLK
Description
Internal oscillator clock
OSCOUT
The XTAL or RC frequency divided by two. This signal is again divided by two in the SIM
to generate the internal bus clocks. (Bus clock = OSCOUT 2)
IAB
IDB
PORRST
IRST
R/W
Read/write signal
61
STOP/WAIT
CONTROL
COP CLOCK
INTERNAL
PULL-UP
RESET
PIN LOGIC
INTERNAL CLOCKS
CLOCK GENERATORS
POR CONTROL
MASTER
RESET
CONTROL
RESET
INTERRUPT SOURCES
INTERRUPT CONTROL
AND PRIORITY DECODE
CPU INTERFACE
$FE01
$FE02
$FE03
Register Name
Read:
Break Status Register (BSR) Write:
Reset:
Note: Writing a logic 0 clears SBSW.
Read:
Reset Status Register (RSR) Write:
POR:
Read:
Reserved Write:
Reset:
Break Flag Control Read:
Register Write:
(BFCR) Reset:
Bit 7
Bit 0
1
SBSW
NOTE
0
POR
PIN
COP
ILOP
ILAD
MODRST
LVI
BCFE
R
0
Freescale Semiconductor
$FE04
$FE05
$FE06
Read:
Interrupt Status Register 1
Write:
(INT1)
Reset:
Read:
Interrupt Status Register 2
Write:
(INT2)
Reset:
Read:
Interrupt Status Register 3
Write:
(INT3)
Reset:
IF6
R
0
IF14
R
0
0
R
0
IF5
IF4
R
R
0
0
IF13
IF12
R
R
0
0
0
0
R
R
0
0
= Unimplemented
IF3
R
0
IF11
R
0
0
R
0
0
R
0
0
R
0
0
R
0
R
IF1
R
0
0
R
0
0
R
0
= Reserved
0
R
0
IF8
R
0
0
R
0
0
R
0
IF7
R
0
IF15
R
0
From
OSCILLATOR
ICLK
From
OSCILLATOR
OSCOUT
SIM COUNTER
BUS CLOCK
GENERATORS
63
POR
4163 (4096 + 64 + 3)
All others
67 (64 + 3)
ICLK
RST
IAB
VECT H
PC
VECT L
Freescale Semiconductor
RST
32 CYCLES
ICLK
IAB
VECTOR HIGH
INTERNAL RESET
LVI
65
OSC1
PORRST
4096
CYCLES
32
CYCLES
32
CYCLES
ICLK
OSCOUT
RST
IAB
$FFFE
$FFFF
Freescale Semiconductor
SIM Counter
held low while the SIM counter counts out 4096 ICLK cycles. Sixty-four ICLK cycles later, the CPU and
memories are released from reset to allow the reset vector sequence to occur. The SIM actively pulls
down the RST pin for all internal reset sources.
5.5.1 Interrupts
An interrupt temporarily changes the sequence of program execution to respond to a particular event.
Figure 5-8 flow charts the handling of system interrupts.
Interrupts are latched, and arbitration is performed in the SIM at the start of interrupt processing. The
arbitration result is a constant that the CPU uses to determine which vector to fetch. Once an interrupt is
latched by the SIM, no other interrupt can take precedence, regardless of priority, until the latched
interrupt is serviced (or the I bit is cleared).
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
67
BREAK
INTERRUPT?
I BIT
SET?
YES
NO
YES
I BIT SET?
NO
IRQ
INTERRUPT?
YES
NO
TIMER 1
INTERRUPT?
YES
NO
FETCH NEXT
INSTRUCTION
SWI
INSTRUCTION?
YES
NO
RTI
INSTRUCTION?
YES
NO
EXECUTE INSTRUCTION.
Freescale Semiconductor
Exception Control
At the beginning of an interrupt, the CPU saves the CPU register contents on the stack and sets the
interrupt mask (I bit) to prevent additional interrupts. At the end of an interrupt, the RTI instruction recovers
the CPU register contents from the stack so that normal processing can resume. Figure 5-9 shows
interrupt entry timing.
Figure 5-10 shows interrupt recovery timing.
MODULE
INTERRUPT
I BIT
IAB
DUMMY
IDB
SP
DUMMY
SP 1
SP 2
PC 1[7:0] PC 1[15:8]
SP 3
SP 4
VECT H
CCR
VECT L
V DATA H
START ADDR
V DATA L
OPCODE
R/W
IAB
SP 4
IDB
SP 3
CCR
SP 2
SP 1
SP
PC
PC 1[15:8] PC 1[7:0]
PC + 1
OPCODE
OPERAND
R/W
69
INT1
BACKGROUND ROUTINE
PSHH
INT1 INTERRUPT SERVICE ROUTINE
PULH
RTI
INT2
PSHH
INT2 INTERRUPT SERVICE ROUTINE
PULH
RTI
Freescale Semiconductor
Exception Control
Mask (1)
INT Flag
Vector Address
Reset
$FFFE$FFFF
SWI Instruction
$FFFC$FFFD
IRQ Pin
IRQF
IMASK
IF1
$FFFA$FFFB
CH0F
CH0IE
IF3
$FFF6$FFF7
CH1F
CH1IE
IF4
$FFF4$FFF5
TOF
TOIE
IF5
$FFF2$FFF3
CH0F
CH0IE
IF6
$FFF0$FFF1
CH1F
CH1IE
IF7
$FFEE$FFEF
TOF
TOIE
IF8
$FFEC$FFED
SCI Error
OR
NF
FE
PE
ORIE
NEIE
FEIE
PEIE
IF11
$FFE6$FFE7
SCI Receive
SCRF
IDLE
SCRIE
ILIE
IF12
$FFE4$FFE5
SCI Transmit
SCTE
TC
SCTIE
TCIE
IF13
$FFE2$FFE3
Keyboard Interrupt
KEYF
IMASKK
IF14
$FFE0$FFE1
COCO
AIEN
IF15
$FFDE$FFDF
Priority
Highest
Source
Lowest
1. The I bit in the condition code register is a global mask for all interrupts sources except the SWI instruction.
$FE04
Bit 7
Bit 0
Read:
IF6
IF5
IF4
IF3
IF1
Write:
Reset:
= Reserved
71
$FE05
Bit 7
Bit 0
Read:
IF14
IF13
IF12
IF11
IF8
IF7
Write:
Reset:
= Reserved
$FE06
Bit 7
Bit 0
Read:
IF15
Write:
= Reserved
Reset:
5.5.3 Reset
All reset sources always have equal and highest priority and cannot be arbitrated.
Freescale Semiconductor
Low-Power Modes
IDB
WAIT ADDR
WAIT ADDR + 1
PREVIOUS DATA
SAME
NEXT OPCODE
SAME
SAME
SAME
R/W
NOTE: Previous data can be operand data or the WAIT opcode, depending on the
last instruction.
73
$6E0B
IDB
$A6
$6E0C
$A6
$A6
$01
$00FF
$0B
$00FE
$00FD
$00FC
$6E
EXITSTOPWAIT
NOTE: EXITSTOPWAIT = RST pin OR CPU interrupt OR break interrupt
IAB
IDB
$A6
$A6
32
Cycles
RST VCTH
RSTVCTL
$A6
RST
ICLK
Freescale Semiconductor
SIM Registers
CPUSTOP
IAB
STOP ADDR
IDB
STOP ADDR + 1
PREVIOUS DATA
SAME
SAME
NEXT OPCODE
SAME
SAME
R/W
NOTE: Previous data can be operand data or the STOP opcode, depending on the last
instruction.
INT/BREAK
IAB
STOP + 2
STOP +1
STOP + 2
SP
SP 1
SP 2
SP 3
$FE00
Bit 7
= Reserved
Bit 0
SBSW
Note(1)
0
R
0
75
EQU
LOBYTE
EQU
SBSW,BSR, RETURN
TST
LOBYTE,SP
BNE
DOLO
DEC
HIBYTE,SP
DOLO
DEC
LOBYTE,SP
RETURN
PULH
RTI
; Restore H register.
$FE01
Bit 7
Bit 0
POR
PIN
COP
ILOP
ILAD
MODRST
LVI
Write:
POR:
= Unimplemented
Freescale Semiconductor
SIM Registers
$FE03
Bit 7
Bit 0
BCFE
0
R
= Reserved
77
Freescale Semiconductor
Chapter 6
Oscillator (OSC)
6.1 Introduction
The oscillator module provides the reference clocks for the MCU system and bus. Two oscillators are
running on the device:
Crystal oscillator (XTAL) built-in oscillator that requires an external crystal or ceramic-resonator.
This option also allows an external clock that can be driven directly into OSC1.
RC oscillator (RC) built-in oscillator that requires an external resistor-capacitor connection only.
The selected oscillator is used to drive the bus clock, the SIM, and other modules on the MCU. The
oscillator type is selected by programming a bit FLASH memory. The RC and crystal oscillator cannot run
concurrently; one is disabled while the other is selected; because the RC and XTAL circuits share the
same OSC1 pin.
This internal oscillator is used to drive the computer operating properly (COP) module and the SIM. The
internal oscillator runs continuously after a POR or reset, and is always available.
$FFD0
Bit 7
Bit 0
OSCSEL
Reset:
Unaffected by reset
= Reserved
79
Oscillator (OSC)
To SIM
2OSCOUT
XTALCLK
To SIM
OSCOUT
SIMOSCEN
MCU
OSC1
RB
OSC2
RS*
X1
C1
C2
Freescale Semiconductor
Internal Oscillator
6.2.2 RC Oscillator
The RC oscillator circuit is designed for use with external resistor and capacitor to provide a clock source
with tolerance less than 10%.
In its typical configuration, the RC oscillator requires two external components, one R and one C.
Component values should have a tolerance of 1% or less, to obtain a clock source with less than 10%
tolerance. The oscillator configuration uses two components:
CEXT
REXT
To SIM
From SIM
2OSCOUT
SIMOSCEN
EN
EXT-RC
OSCILLATOR
To SIM
OSCOUT
RCCLK
0
PTA6
I/O
PTA6
PTA6EN
MCU
RCCLK/PTA6 (OSC2)
OSC1
VDD
REXT
CEXT
SIMOSCEN
ICLK
CONFIG2
STOP_ICLKDIS
EN
INTERNAL
OSCILLATOR
81
Oscillator (OSC)
NOTE
The internal oscillator is a free running oscillator and is available after each
POR or reset. It is turned-off in stop mode by setting the STOP_ICLKDIS
bit in CONFIG2 (see 3.4 Configuration Register 2 (CONFIG2)).
XTAL
Inverting OSC1
RC
Freescale Semiconductor
83
Oscillator (OSC)
Freescale Semiconductor
Chapter 7
Monitor ROM (MON)
7.1 Introduction
This section describes the monitor ROM (MON) and the monitor mode entry methods. The monitor ROM
allows complete testing of the MCU through a single-wire interface with a host computer. This mode is
also used for programming and erasing of FLASH memory in the MCU. Monitor mode entry can be
achieved without use of the higher test voltage, VTST, as long as vector addresses $FFFE and $FFFF are
blank, thus reducing the hardware requirements for in-circuit programming.
7.2 Features
Features of the monitor ROM include the following:
Normal user-mode pin functionality
One pin dedicated to serial communication between monitor ROM and host computer
Standard mark/space non-return-to-zero (NRZ) communication with host computer
Execution of code in RAM or FLASH
FLASH memory security feature(1)
FLASH memory programming interface
959 bytes monitor ROM code size
Monitor mode entry without high voltage, VTST, if reset vector is blank ($FFFE and $FFFF contain
$FF)
Standard monitor mode entry if high voltage, VTST, is applied to IRQ
Resident routines for FLASH programming and EEPROM emulation
1. No security feature is absolutely secure. However, Motorolas strategy is to make reading or copying the FLASH difficult for
unauthorized users.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
85
RST
0.1 F
HC908JL8
VDD
VDD
VDD
VSS
OSC1
20 pF
OSC2
20 pF
MAX232
1
1 F
+
3
4
1 F
C1+
VDD
VCC
C1
GND
C2+
V+
16
+
XTAL CIRCUIT
1 F
15
1 F
+
VDD
+
5 C2
6
1 F
3
5
10
(SEE NOTE 1)
IRQ
VDD
10 k
10 k
74HC125
5
6
DB9
7
SW1
1k
8.5 V
+
2
VTST
74HC125
3
2
PTB0
VDD
VDD
1
10 k
10 k
C
PTB1
SW2
PTB3
(SEE NOTE 2)
NOTES:
1. Monitor mode entry method:
SW1: Position A High voltage entry (VTST)
Bus clock depends on SW2.
SW1: Position B Reset vector must be blank ($FFFE = $FFFF = $FF)
Bus clock = OSC1 4.
2. Affects high voltage entry to monitor mode only (SW1 at position A):
SW2: Position C Bus clock = OSC1 4
SW2: Position D Bus clock = OSC1 2
5. See Table 17-4 for VTST voltage level requirements.
D
10 k
PTB2
10 k
Freescale Semiconductor
Functional Description
PTB2
VTST(2)
VTST(1)
VDD
BLANK
(contain
$FF)
9.8304MHz
2.4576MHz
VDD
NOT
BLANK
OSC1 4
PTB0
$FFFE
and
$FFFF
PTB1
IRQ
PTB3
Bus Frequency
Comments
4.9152MHz
2.4576MHz
9.8304MHz
2.4576MHz
1. RC oscillator cannot be used for monitor mode; must use either external oscillator or XTAL oscillator circuit.
2. See Table 17-4 for VTST voltage level requirements.
If VTST is applied to IRQ and PTB3 is low upon monitor mode entry (Table 7-1 condition set 1), the bus
frequency is a divide-by-two of the clock input to OSC1. If PTB3 is high with VTST applied to IRQ upon
monitor mode entry (Table 7-1 condition set 2), the bus frequency is a divide-by-four of the clock input to
OSC1. Holding the PTB3 pin low when entering monitor mode causes a bypass of a divide-by-two stage
at the oscillator only if VTST is applied to IRQ. In this event, the OSCOUT frequency is equal to the
2OSCOUT frequency, and OSC1 input directly generates internal bus clocks. In this case, the OSC1
signal must have a 50% duty cycle at maximum bus frequency.
Entering monitor mode with VTST on IRQ, the COP is disabled as long as VTST is applied to either IRQ or
RST. (See Chapter 5 System Integration Module (SIM) for more information on modes of operation.)
If entering monitor mode without high voltage on IRQ and reset vector being blank ($FFFE and $FFFF)
(Table 7-1 condition set 3, where applied voltage is VDD), then all port B pin requirements and conditions,
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
87
including the PTB3 frequency divisor selection, are not in effect. This is to reduce circuit requirements
when performing in-circuit programming.
Entering monitor mode with the reset vector being blank, the COP is always disabled regardless of the
state of IRQ or the RST.
Figure 7-2. shows a simplified diagram of the monitor mode entry when the reset vector is blank and IRQ
= VDD. An OSC1 frequency of 9.8304MHz is required for a baud rate of 9600.
POR RESET
IS VECTOR
BLANK?
NO
NORMAL USER
MODE
YES
MONITOR MODE
EXECUTE
MONITOR
CODE
POR
TRIGGERED?
NO
YES
Freescale Semiconductor
Functional Description
COP
Reset
Vector
High
Reset
Vector
Low
Break
Vector
High
Break
Vector
Low
SWI
Vector
High
SWI
Vector
Low
User
Enabled
$FFFE
$FFFF
$FFFC
$FFFD
$FFFC
$FFFD
Monitor
Disabled(1)
$FEFE
$FEFF
$FEFC
$FEFD
$FEFC
$FEFD
Notes:
1. If the high voltage (VTST) is removed from the IRQ pin or the RST pin, the SIM asserts
its COP enable output. The COP is a mask option enabled or disabled by the COPD bit
in the configuration register.
When the host computer has completed downloading code into the MCU RAM, the host then sends a
RUN command, which executes an RTI, which sends control to the address on the stack pointer.
IRQ = VTST
OSC1 Clock
Frequency
PTB3
Baud Rate
4.9152 MHz
9600 bps
9.8304 MHz
9600 bps
4.9152 MHz
4800 bps
9.8304 MHz
9600 bps
4.9152 MHz
4800 bps
BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
STOP
BIT
NEXT
START
BIT
START
BIT
BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
BREAK
START
BIT
BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
STOP
BIT
STOP
BIT
NEXT
START
BIT
NEXT
START
BIT
89
The data transmit and receive rate can be anywhere from 4800 baud to 28.8k-baud. Transmit and receive
baud rates must be identical.
7.3.4 Echoing
As shown in Figure 7-5, the monitor ROM immediately echoes each received byte back to the PTB0 pin
for error checking.
SENT TO
MONITOR
READ
READ
ADDR. LOW
ADDR. LOW
ECHO
DATA
RESULT
7.3.6 Commands
The monitor ROM uses the following commands:
READ (read memory)
WRITE (write memory)
IREAD (indexed read)
IWRITE (indexed write)
READSP (read stack pointer)
RUN (run user program)
Freescale Semiconductor
Functional Description
Operand
Data Returned
Opcode
$4A
Command Sequence
SENT TO
MONITOR
READ
READ
ADDR. HIGH
ADDR. HIGH
ADDR. LOW
ADDR. LOW
ECHO
DATA
RESULT
Operand
Specifies 2-byte address in high byte:low byte order; low byte followed by data byte
Data Returned
None
Opcode
$49
Command Sequence
SENT TO
MONITOR
WRITE
WRITE
ADDR. HIGH
ADDR. HIGH
ADDR. LOW
ADDR. LOW
DATA
DATA
ECHO
91
Operand
Data Returned
Opcode
$1A
Command Sequence
SENT TO
MONITOR
IREAD
IREAD
DATA
DATA
RESULT
ECHO
Operand
Data Returned
None
Opcode
$19
Command Sequence
SENT TO
MONITOR
IWRITE
IWRITE
DATA
DATA
ECHO
NOTE
A sequence of IREAD or IWRITE commands can sequentially access a
block of memory over the full 64-Kbyte memory map.
Freescale Semiconductor
Security
Operand
None
Data Returned
Opcode
$0C
Command Sequence
SENT TO
MONITOR
READSP
READSP
SP HIGH
SP LOW
RESULT
ECHO
Operand
None
Data Returned
None
Opcode
$28
Command Sequence
SENT TO
MONITOR
RUN
RUN
ECHO
7.4 Security
A security feature discourages unauthorized reading of FLASH locations while in monitor mode. The host
can bypass the security feature at monitor mode entry by sending eight security bytes that match the
bytes at locations $FFF6$FFFD. Locations $FFF6$FFFD contain user-defined data.
NOTE
Do not leave locations $FFF6$FFFD blank. For security reasons, program
locations $FFF6$FFFD even if they are not used for vectors.
During monitor mode entry, the MCU waits after the power-on reset for the host to send the eight security
bytes on pin PTB0. If the received bytes match those at locations $FFF6$FFFD, the host bypasses the
security feature and can read all FLASH locations and execute code from FLASH. Security remains
bypassed until a power-on reset occurs. If the reset was not a power-on reset, security remains bypassed
and security code entry is not required. (See Figure 7-7.)
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
93
VDD
4096 + 32 ICLK CYCLES
RST
COMMAND
BYTE 8
BYTE 2
BYTE 1
24 BUS CYCLES
FROM HOST
PTB0
NOTES:
1 = Echo delay, 2 bit times
2 = Data return delay, 2 bit times
4 = Wait 1 bit time before sending next byte.
1
COMMAND ECHO
BREAK
1
BYTE 8 ECHO
1
BYTE 2 ECHO
FROM MCU
4
BYTE 1 ECHO
Freescale Semiconductor
ROM-Resident Routines
Routine Description
Call Address
Stack Used(1)
(bytes)
PRGRNGE
$FC06
15
ERARNGE
$FCBE
$FF30
MON_PRGRNGE
$FF28
17
MON_ERARNGE
$FF2C
11
$FF24
11
EE_WRITE
$FD3F
24
EE_READ
$FDD0
16
LDRNGE
MON_LDRNGE
1. The listed stack size excludes the 2 bytes used by the calling instruction, JSR.
The routines are designed to be called as stand-alone subroutines in the user program or monitor mode.
The parameters that are passed to a routine are in the form of a contiguous data block, stored in RAM.
The index register (H:X) is loaded with the address of the first byte of the data block (acting as a pointer),
and the subroutine is called (JSR). Using the start address as a pointer, multiple data blocks can be used,
any area of RAM be used. A data block has the control and data bytes in a defined order, as shown in
Figure 7-8.
During the software execution, it does not consume any dedicated RAM location, the run-time heap will
extend the system stack, all other RAM location will not be affected.
FILE_PTR
$XXXX
ADDRESS AS POINTER
DATA
BLOCK
DATA
ARRAY
DATA N
95
7.5.1 PRGRNGE
PRGRNGE is used to program a range of FLASH locations with data loaded into the data array.
Table 7-11. PRGRNGE Routine
Routine Name
PRGRNGE
Routine Description
Calling Address
$FC06
Stack Used
15 bytes
The start location of the FLASH to be programmed is specified by the address ADDRH:ADDRL and the
number of bytes from this location is specified by DATASIZE. The maximum number of bytes that can be
programmed in one routine call is 128 bytes (max. DATASIZE is 128).
ADDRH:ADDRL do not need to be at a page boundary, the routine handles any boundary misalignment
during programming. A check to see that all bytes in the specified range are erased is not performed by
this routine prior programming. Nor does this routine do a verification after programming, so there is no
return confirmation that programming was successful. User must assure that the range specified is first
erased.
The coding example below is to program 32 bytes of data starting at FLASH location $EF00, with a bus
speed of 4.9152 MHz. The coding assumes the data block is already loaded in RAM, with the address
pointer, FILE_PTR, pointing to the first byte of the data block.
Freescale Semiconductor
ROM-Resident Routines
ORG
RAM
:
FILE_PTR:
BUS_SPD
DATASIZE
START_ADDR
DATAARRAY
DS.B
DS.B
DS.W
DS.B
PRGRNGE
FLASH_START
EQU
EQU
$FC06
$EF00
ORG
FLASH
INITIALISATION:
MOV
#20,
BUS_SPD
MOV
#32,
DATASIZE
LDHX
#FLASH_START
STHX
START_ADDR
RTS
MAIN:
BSR
INITIALISATION
:
:
LDHX
#FILE_PTR
JSR
PRGRNGE
7.5.2 ERARNGE
ERARNGE is used to erase a range of locations in FLASH.
Table 7-12. ERARNGE Routine
Routine Name
ERARNGE
Routine Description
Calling Address
$FCBE
Stack Used
9 bytes
There are two sizes of erase ranges: a page or the entire array. The ERARNGE will erase the page (64
consecutive bytes) in FLASH specified by the address ADDRH:ADDRL. This address can be any address
within the page. Calling ERARNGE with ADDRH:ADDRL equal to $FFFF will erase the entire FLASH
array (mass erase). Therefore, care must be taken when calling this routine to prevent an accidental mass
erase. To avoid undesirable routine return addresses after a mass erase, the ERARNGE routine should
not be called from code executed from FLASH memory. Load the code into an area of RAM before calling
the ERARNGE routine.
The ERARNGE routine do not use a data array. The DATASIZE byte is a dummy byte that is also not
used.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
97
The coding example below is to perform a page erase, from $EF00$EF3F. The Initialization subroutine
is the same as the coding example for PRGRNGE (see 7.5.1 PRGRNGE).
ERARNGE
MAIN:
EQU
BSR
:
:
LDHX
JSR
:
$FCBE
INITIALISATION
#FILE_PTR
ERARNGE
7.5.3 LDRNGE
LDRNGE is used to load the data array in RAM with data from a range of FLASH locations.
Table 7-13. LDRNGE Routine
Routine Name
LDRNGE
Routine Description
Calling Address
$FF30
Stack Used
9 bytes
The start location of FLASH from where data is retrieved is specified by the address ADDRH:ADDRL and
the number of bytes from this location is specified by DATASIZE. The maximum number of bytes that can
be retrieved in one routine call is 128 bytes. The data retrieved from FLASH is loaded into the data array
in RAM. Previous data in the data array will be overwritten. User can use this routine to retrieve data from
FLASH that was previously programmed.
The coding example below is to retrieve 32 bytes of data starting from $EF00 in FLASH. The Initialization
subroutine is the same as the coding example for PRGRNGE (see 7.5.1 PRGRNGE).
LDRNGE
MAIN:
EQU
BSR
:
:
LDHX
JSR
:
$FF30
INITIALIZATION
#FILE_PTR
LDRNGE
Freescale Semiconductor
ROM-Resident Routines
7.5.4 MON_PRGRNGE
In monitor mode, MON_PRGRNGE is used to program a range of FLASH locations with data loaded into
the data array.
Table 7-14. MON_PRGRNGE Routine
Routine Name
MON_PRGRNGE
Routine Description
Calling Address
$FC28
Stack Used
17 bytes
Bus speed
Data size
Starting address (high byte)
Starting address (low byte)
Data 1
:
Data N
The MON_PRGRNGE routine is designed to be used in monitor mode. It performs the same function as
the PRGRNGE routine (see 7.5.1 PRGRNGE), except that MON_PRGRNGE returns to the main program
via an SWI instruction. After a MON_PRGRNGE call, the SWI instruction will return the control back to
the monitor code.
7.5.5 MON_ERARNGE
In monitor mode, ERARNGE is used to erase a range of locations in FLASH.
Table 7-15. MON_ERARNGE Routine
Routine Name
MON_ERARNGE
Routine Description
Calling Address
$FF2C
Stack Used
11 bytes
Bus speed
Data size
Starting address (high byte)
Starting address (low byte)
The MON_ERARNGE routine is designed to be used in monitor mode. It performs the same function as
the ERARNGE routine (see 7.5.2 ERARNGE), except that MON_ERARNGE returns to the main program
via an SWI instruction. After a MON_ERARNGE call, the SWI instruction will return the control back to the
monitor code.
99
7.5.6 MON_LDRNGE
In monitor mode, LDRNGE is used to load the data array in RAM with data from a range of FLASH
locations.
Table 7-16. ICP_LDRNGE Routine
Routine Name
MON_LDRNGE
Routine Description
Calling Address
$FF24
Stack Used
11 bytes
Bus speed
Data size
Starting address (high byte)
Starting address (low byte)
Data 1
:
Data N
The MON_LDRNGE routine is designed to be used in monitor mode. It performs the same function as the
LDRNGE routine (see 7.5.3 LDRNGE), except that MON_LDRNGE returns to the main program via an
SWI instruction. After a MON_LDRNGE call, the SWI instruction will return the control back to the monitor
code.
7.5.7 EE_WRITE
EE_WRITE is used to write a set of data from the data array to FLASH.
Table 7-17. EE_WRITE Routine
Routine Name
EE_WRITE
Routine Description
Calling Address
$FD3F
Stack Used
24 bytes
1. The minimum data size is 2 bytes. The maximum data size is 15 bytes.
2. The start address must be a page boundary start address: $xx00, $xx40, $xx80, or $00C0.
The start location of the FLASH to be programmed is specified by the address ADDRH:ADDRL and the
number of bytes in the data array is specified by DATASIZE. The minimum number of bytes that can be
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
100
Freescale Semiconductor
ROM-Resident Routines
programmed in one routine call is 2 bytes, the maximum is 15 bytes. ADDRH:ADDRL must always be the
start of boundary address (the page start address: $XX00, $XX40, $XX80, or $00C0) and DATASIZE
must be the same size when accessing the same page.
In some applications, the user may want to repeatedly store and read a set of data from an area of
non-volatile memory. This is easily possible when using an EEPROM array. As the write and erase
operations can be executed on a byte basis. For FLASH memory, the minimum erase size is the page
64 bytes per page for MC68HC908JL8. If the data array size is less than the page size, writing and erasing
to the same page cannot fully utilize the page. Unused locations in the page will be wasted. The
EE_WRITE routine is designed to emulate the properties similar to the EEPROM. Allowing a more
efficient use of the FLASH page for data storage.
When the user dedicates a page of FLASH for data storage, and the size of the data array defined, each
call of the EE_WRTIE routine will automatically transfer the data in the data array (in RAM) to the next
blank block of locations in the FLASH page. Once a page is filled up, the EE_WRITE routine automatically
erases the page, and starts to reuse the page again. In the 64-byte page, an 4-byte control block is used
by the routine to monitor the utilization of the page. In effect, only 60 bytes are used for data storage. (see
Figure 7-9). The page control operations are transparent to the user.
F L A S H
PAGE BOUNDARY
CONTROL: 8 BYTES
DATA ARRAY
DATA ARRAY
DATA ARRAY
ONE PAGE = 64 BYTES
PAGE BOUNDARY
101
ORG
RAM
:
FILE_PTR:
BUS_SPD
DATASIZE
START_ADDR
DATAARRAY
DS.B
DS.B
DS.W
DS.B
EE_WRITE
FLASH_START
EQU
EQU
$FD3F
$EF00
ORG
FLASH
INITIALISATION:
MOV
#20,
BUS_SPD
MOV
#15,
DATASIZE
LDHX
#FLASH_START
STHX
START_ADDR
RTS
MAIN:
BSR
INITIALISATION
:
:
LHDX
#FILE_PTR
JSR
EE_WRITE
NOTE
The EE_WRITE routine is unable to check for incorrect data blocks, such
as the FLASH page boundary address and data size. It is the responsibility
of the user to ensure the starting address indicated in the data block is at
the FLASH page boundary and the data size is 2 to 15. If the FLASH page
is already programmed with a data array with a different size, the
EE_WRITE call will be ignored.
Freescale Semiconductor
ROM-Resident Routines
7.5.8 EE_READ
EE_READ is used to load the data array in RAM with a set of data from FLASH.
Table 7-18. EE_READ Routine
Routine Name
EE_READ
Routine Description
Calling Address
$FDD0
Stack Used
16 bytes
1. The start address must be a page boundary start address: $xx00, $xx40, $xx80, or $00C0.
The EE_READ routine reads data stored by the EE_WRITE routine. An EE_READ call will retrieve the
last data written to a FLASH page and loaded into the data array in RAM. Same as EE_WRITE, the data
size indicated by DATASIZE is 2 to 15, and the start address ADDRH:ADDRL must the FLASH page
boundary address.
The coding example below uses the data stored by the EE_WRITE coding example (see 7.5.7
EE_WRITE). It loads the 15-byte data set stored in the $EF00$EE7F page to the data array in RAM. The
initialization subroutine is the same as the coding example for EE_WRITE (see 7.5.7 EE_WRITE).
EE_READ
EQU
$FDD0
MAIN:
BSR
:
:
LDHX
JSR
:
INITIALIZATION
FILE_PTR
EE_READ
NOTE
The EE_READ routine is unable to check for incorrect data blocks, such as
the FLASH page boundary address and data size. It is the responsibility of
the user to ensure the starting address indicated in the data block is at the
FLASH page boundary and the data size is 2 to 15. If the FLASH page is
programmed with a data array with a different size, the EE_READ call will
be ignored.
103
Freescale Semiconductor
Chapter 8
Timer Interface Module (TIM)
8.1 Introduction
This section describes the timer interface (TIM) module. The TIM is a two-channel timer that provides a
timing reference with Input capture, output compare, and pulse-width-modulation functions. Figure 8-1 is
a block diagram of the TIM.
This particular MCU has two timer interface modules which are denoted as TIM1 and TIM2.
8.2 Features
Features of the TIM include:
Two input capture/output compare channels:
Rising-edge, falling-edge, or any-edge input capture trigger
Set, clear, or toggle output compare action
Buffered and unbuffered pulse-width-modulation (PWM) signal generation
Programmable TIM clock input
7-frequency internal bus clock prescaler selection
External clock input on timer 2 (bus frequency 2 maximum)
Free-running or modulo up-count operation
Toggle any channel pin on overflow
TIM counter stop and reset bits
T[1,2]CH0
T[1,2]CH1
T2CLK
TIM1
PTD4/T1CH0
PTD5/T1CH1
TIM2
PTE0/T2CH0
PTE1/T2CH1
ADC12/T2CLK
NOTE
References to either timer 1 or timer 2 may be made in the following text by
omitting the timer number. For example, TCH0 may refer generically to
T1CH0 and T2CH0, and TCH1 may refer to T1CH1 and T2CH1.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
105
PRESCALER
TSTOP
PS2
TRST
PS1
PS0
16-BIT COUNTER
TOF
TOIE
INTERRUPT
LOGIC
16-BIT COMPARATOR
TMODH:TMODL
TOV0
CHANNEL 0
ELS0B
ELS0A
CH0MAX
16-BIT COMPARATOR
PORT
LOGIC
T[1,2]CH0
CH0F
TCH0H:TCH0L
16-BIT LATCH
MS0A
CH0IE
INTERRUPT
LOGIC
MS0B
INTERNAL BUS
TOV1
CHANNEL 1
ELS0B
ELS0A
CH1MAX
PORT
LOGIC
CH01IE
INTERRUPT
LOGIC
T[1,2]CH1
16-BIT COMPARATOR
CH1F
TCH1H:TCH1L
16-BIT LATCH
MS0A
CH1IE
Freescale Semiconductor
Functional Description
Addr.
$0020
$0021
$0022
$0023
$0024
$0025
$0026
$0027
$0028
$0029
$002A
$0030
$0031
$0032
$0033
Register Name
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Bit 7
TOF
0
0
Bit 15
1
13
4
0
TRST
0
12
TOIE
TSTOP
0
14
0
Bit 7
0
6
0
5
Bit 15
3
0
Bit 0
PS2
PS1
PS0
0
11
0
10
0
9
0
Bit 8
0
4
0
3
0
2
0
1
0
Bit 0
14
13
12
11
10
Bit 8
Bit 7
Bit 0
1
CH0F
0
0
CH0IE
MS0B
MS0A
ELS0B
ELS0A
TOV0
CH0MAX
Bit 15
14
13
12
11
10
Bit 8
Bit 0
CH1IE
MS1A
ELS1B
ELS1A
TOV1
CH1MAX
14
13
12
11
10
Bit 8
Bit 0
PS2
PS1
PS0
0
10
0
9
0
Bit 8
TOF
0
0
Bit 15
TOIE
TSTOP
0
14
1
13
0
Bit 7
0
6
0
5
0
4
0
3
0
2
0
1
0
Bit 0
Bit 15
14
13
12
11
10
Bit 8
1
1
= Unimplemented
107
$0035
$0036
$0037
$0038
$0039
$003A
Register Name
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Bit 7
Bit 0
Bit 7
Bit 0
1
CH0F
0
0
CH0IE
MS0B
MS0A
ELS0B
ELS0A
TOV0
CH0MAX
Bit 15
14
13
12
11
10
Bit 8
Bit 0
CH1IE
MS1A
ELS1B
ELS1A
TOV1
CH1MAX
14
13
12
11
10
Bit 8
Bit 0
Freescale Semiconductor
Functional Description
109
to clear the channel pin on output compare if the state of the PWM pulse is logic 1. Program the TIM to
set the pin if the state of the PWM pulse is logic 0.
The value in the TIM counter modulo registers and the selected prescaler output determines the
frequency of the PWM output. The frequency of an 8-bit PWM signal is variable in 256 increments. Writing
$00FF (255) to the TIM counter modulo registers produces a PWM period of 256 times the internal bus
clock period if the prescaler select value is $000. See 8.9.1 TIM Status and Control Register.
OVERFLOW
OVERFLOW
OVERFLOW
PERIOD
PULSE
WIDTH
TCHx
OUTPUT
COMPARE
OUTPUT
COMPARE
OUTPUT
COMPARE
Freescale Semiconductor
Functional Description
NOTE
In PWM signal generation, do not program the PWM channel to toggle on
output compare. Toggling on output compare prevents reliable 0% duty
cycle generation and removes the ability of the channel to self-correct in the
event of software error or noise. Toggling on output compare also can
cause incorrect PWM signal generation when changing the PWM pulse
width to a new, much larger value.
8.4.4.2 Buffered PWM Signal Generation
Channels 0 and 1 can be linked to form a buffered PWM channel whose output appears on the TCH0 pin.
The TIM channel registers of the linked pair alternately control the pulse width of the output.
Setting the MS0B bit in TIM channel 0 status and control register (TSC0) links channel 0 and channel 1.
The TIM channel 0 registers initially control the pulse width on the TCH0 pin. Writing to the TIM channel
1 registers enables the TIM channel 1 registers to synchronously control the pulse width at the beginning
of the next PWM period. At each subsequent overflow, the TIM channel registers (0 or 1) that control the
pulse width are the ones written to last. TSC0 controls and monitors the buffered PWM function, and TIM
channel 1 status and control register (TSC1) is unused. While the MS0B bit is set, the channel 1 pin,
TCH1, is available as a general-purpose I/O pin.
NOTE
In buffered PWM signal generation, do not write new pulse width values to
the currently active channel registers. User software should track the
currently active channel to prevent writing a new value to the active
channel. Writing to the active channel registers is the same as generating
unbuffered PWM signals.
8.4.4.3 PWM Initialization
To ensure correct operation when generating unbuffered or buffered PWM signals, use the following
initialization procedure:
1. In the TIM status and control register (TSC):
a. Stop the TIM counter by setting the TIM stop bit, TSTOP.
b. Reset the TIM counter and prescaler by setting the TIM reset bit, TRST.
2. In the TIM counter modulo registers (TMODH:TMODL), write the value for the required PWM
period.
3. In the TIM channel x registers (TCHxH:TCHxL), write the value for the required pulse width.
4. In TIM channel x status and control register (TSCx):
a. Write 0:1 (for unbuffered output compare or PWM signals) or 1:0 (for buffered output compare
or PWM signals) to the mode select bits, MSxB:MSxA. (See Table 8-3.)
b. Write 1 to the toggle-on-overflow bit, TOVx.
c. Write 1:0 (to clear output on compare) or 1:1 (to set output on compare) to the edge/level
select bits, ELSxB:ELSxA. The output action on compare must force the output to the
complement of the pulse width level. (See Table 8-3.)
NOTE
In PWM signal generation, do not program the PWM channel to toggle on
output compare. Toggling on output compare prevents reliable 0% duty
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
Freescale Semiconductor
111
cycle generation and removes the ability of the channel to self-correct in the
event of software error or noise. Toggling on output compare can also
cause incorrect PWM signal generation when changing the PWM pulse
width to a new, much larger value.
5. In the TIM status control register (TSC), clear the TIM stop bit, TSTOP.
Setting MS0B links channels 0 and 1 and configures them for buffered PWM operation. The TIM channel
0 registers (TCH0H:TCH0L) initially control the buffered PWM output. TIM status control register 0
(TSCR0) controls and monitors the PWM signal from the linked channels.
Clearing the toggle-on-overflow bit, TOVx, inhibits output toggles on TIM overflows. Subsequent output
compares try to force the output to a state it is already in and have no effect. The result is a 0% duty cycle
output.
Setting the channel x maximum duty cycle bit (CHxMAX) and setting the TOVx bit generates a 100% duty
cycle output. (See 8.9.4 TIM Channel Status and Control Registers.)
8.5 Interrupts
The following TIM sources can generate interrupt requests:
TIM overflow flag (TOF) The TOF bit is set when the TIM counter reaches the modulo value
programmed in the TIM counter modulo registers. The TIM overflow interrupt enable bit, TOIE,
enables TIM overflow CPU interrupt requests. TOF and TOIE are in the TIM status and control
register.
TIM channel flags (CH1F:CH0F) The CHxF bit is set when an input capture or output compare
occurs on channel x. Channel x TIM CPU interrupt requests are controlled by the channel x
interrupt enable bit, CHxIE. Channel x TIM CPU interrupt requests are enabled when CHxIE = 1.
CHxF and CHxIE are in the TIM channel x status and control register.
Freescale Semiconductor
113
TOF
Write:
Reset:
TOIE
TSTOP
TRST
0
Bit 0
PS2
PS1
PS0
= Unimplemented
Freescale Semiconductor
I/O Registers
PS1
PS0
115
Bit 7
Bit 0
Bit 15
14
13
12
11
10
Bit 8
Write:
Reset:
= Unimplemented
Bit 7
Bit 0
Bit 7
Bit 0
Write:
Reset:
= Unimplemented
Bit 7
Bit 0
Bit 15
14
13
12
11
10
Bit 8
Bit 7
Bit 0
Bit 7
Bit 0
Freescale Semiconductor
I/O Registers
CH0F
Write:
Reset:
Bit 0
CH0IE
MS0B
MS0A
ELS0B
ELS0A
TOV0
CH0MAX
CH1F
Write:
Reset:
6
CH1IE
0
5
0
0
Bit 0
MS1A
ELS1B
ELS1A
TOV1
CH1MAX
117
Setting MS0B disables the channel 1 status and control register and reverts TCH1 to general-purpose
I/O.
Reset clears the MSxB bit.
1 = Buffered output compare/PWM operation enabled
0 = Buffered output compare/PWM operation disabled
MSxA Mode Select Bit A
When ELSxB:ELSxA 0:0, this read/write bit selects either input capture operation or unbuffered
output compare/PWM operation.
See Table 8-3.
1 = Unbuffered output compare/PWM operation
0 = Input capture operation
When ELSxB:ELSxA = 0:0, this read/write bit selects the initial output level of the TCHx pin. See
Table 8-3. Reset clears the MSxA bit.
1 = Initial output level low
0 = Initial output level high
NOTE
Before changing a channel function by writing to the MSxB or MSxA bit, set
the TSTOP and TRST bits in the TIM status and control register (TSC).
ELSxB and ELSxA Edge/Level Select Bits
When channel x is an input capture channel, these read/write bits control the active edge-sensing logic
on channel x.
When channel x is an output compare channel, ELSxB and ELSxA control the channel x output
behavior when an output compare occurs.
When ELSxB and ELSxA are both clear, channel x is not connected to an I/O port, and pin TCHx is
available as a general-purpose I/O pin. Table 8-3 shows how ELSxB and ELSxA work. Reset clears
the ELSxB and ELSxA bits.
Table 8-3. Mode, Edge, and Level Selection
MSxB:MSxA
ELSxB:ELSxA
Mode
Configuration
X0
00
X1
00
00
01
00
10
00
11
01
01
01
10
01
11
1X
01
1X
10
1X
11
Input capture
Output compare
or PWM
Buffered output
compare or
buffered PWM
Freescale Semiconductor
I/O Registers
NOTE
Before enabling a TIM channel register for input capture operation, make
sure that the TCHx pin is stable for at least two bus clocks.
TOVx Toggle On Overflow Bit
When channel x is an output compare channel, this read/write bit controls the behavior of the channel
x output when the TIM counter overflows. When channel x is an input capture channel, TOVx has no
effect.
Reset clears the TOVx bit.
1 = Channel x pin toggles on TIM counter overflow
0 = Channel x pin does not toggle on TIM counter overflow
NOTE
When TOVx is set, a TIM counter overflow takes precedence over a
channel x output compare if both occur at the same time.
CHxMAX Channel x Maximum Duty Cycle Bit
When the TOVx bit is at logic 1, setting the CHxMAX bit forces the duty cycle of buffered and
unbuffered PWM signals to 100%. As Figure 8-11 shows, the CHxMAX bit takes effect in the cycle
after it is set or cleared. The output stays at the 100% duty cycle level until the cycle after CHxMAX is
cleared.
OVERFLOW
OVERFLOW
OVERFLOW
OVERFLOW
OVERFLOW
PERIOD
TCHx
OUTPUT
COMPARE
OUTPUT
COMPARE
OUTPUT
COMPARE
OUTPUT
COMPARE
CHxMAX
119
Bit 7
Bit 0
Bit 15
14
13
12
11
10
Bit 8
Reset:
Bit 7
Bit 0
Bit 7
Bit 0
Reset:
Bit 7
Bit 0
Bit 15
14
13
12
11
10
Bit 8
Reset:
Bit 7
Bit 0
Bit 7
Bit 0
Freescale Semiconductor
Chapter 9
Serial Communications Interface (SCI)
9.1 Introduction
This section describes the serial communications interface (SCI) module, which allows high-speed
asynchronous communications with peripheral devices and other MCUs.
9.2 Features
Features of the SCI module include the following:
Full-duplex operation
Standard mark/space non-return-to-zero (NRZ) format
32 programmable baud rates
Programmable 8-bit or 9-bit character length
Separately enabled transmitter and receiver
Separate receiver and transmitter CPU interrupt requests
Programmable transmitter output polarity
Two receiver wakeup methods:
Idle line wakeup
Address mark wakeup
Interrupt-driven operation with eight interrupt flags:
Transmitter empty
Transmission complete
Receiver full
Idle receiver input
Receiver overrun
Noise error
Framing error
Parity error
Receiver framing error detection
Hardware parity checking
1/16 bit-time noise detection
Bus clock as baud rate clock source
121
RxD
TxD
PTD7/RxD
PTD6/TxD
INTERNAL BUS
SCI DATA
REGISTER
ERROR
INTERRUPT
CONTROL
RECEIVER
INTERRUPT
CONTROL
DMA
INTERRUPT
CONTROL
RECEIVE
SHIFT REGISTER
RxD
TRANSMITTER
INTERRUPT
CONTROL
SCI DATA
REGISTER
TRANSMIT
SHIFT REGISTER
TxD
TXINV
SCTIE
R8
TCIE
T8
SCRIE
ILIE
DMARE
TE
SCTE
RE
DMATE
TC
RWU
SBK
SCRF
OR
ORIE
IDLE
NF
NEIE
FE
FEIE
PE
PEIE
LOOPS
LOOPS
WAKEUP
CONTROL
FLAG
CONTROL
RECEIVE
CONTROL
ENSCI
ENSCI
TRANSMIT
CONTROL
BKF
RPF
WAKE
ILTY
BUS CLOCK
PRESCALER
BAUD
DIVIDER
16
PEN
PTY
DATA SELECTION
CONTROL
Freescale Semiconductor
Functional Description
Addr.
$0013
$0014
$0015
Register Name
SCI Control Register 1
(SCC1)
SCI Control Register 2
(SCC2)
SCI Control Register 3
(SCC3)
$0018
$0019
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Bit 7
Bit 0
LOOPS
ENSCI
TXINV
WAKE
ILTY
PEN
PTY
SCTIE
TCIE
SCRIE
ILIE
TE
RE
RWU
SBK
0
R8
T8
DMARE
DMATE
ORIE
NEIE
FEIE
PEIE
U
SCTE
U
TC
0
SCRF
0
IDLE
0
OR
0
NF
0
FE
0
PE
0
BKF
0
RPF
0
R7
T7
0
R6
T6
0
R5
T5
0
R2
T2
0
R1
T1
0
R0
T0
SCR2
SCR1
SCR0
0
0
R4
R3
T4
T3
Unaffected by reset
SCP1
0
0
= Unimplemented
SCP0
0
R = Reserved
0
U = Unaffected
BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
PARITY
BIT
BIT 6
BIT 7
BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
STOP
BIT
NEXT
START
BIT
PARITY
BIT
BIT 6
BIT 7
BIT 8
STOP
BIT
NEXT
START
BIT
123
9.4.2 Transmitter
Figure 9-4 shows the structure of the SCI transmitter.
The baud rate clock source for the SCI is the bus clock.
INTERNAL BUS
PRESCALER
BAUD
DIVIDER
16
SCP1
11-BIT
TRANSMIT
SHIFT REGISTER
STOP
SCP0
SCR1
SCR2
START
BUS CLOCK
TxD
MSB
TXINV
PARITY
GENERATION
T8
DMATE
DMATE
SCTIE
SCTE
DMATE
SCTE
SCTIE
TC
TCIE
BREAK
ALL 0s
PTY
PREAMBLE
ALL 1s
PEN
SHIFT ENABLE
M
LOAD FROM SCDR
SCR0
TRANSMITTER
CONTROL LOGIC
SCTE
SBK
LOOPS
SCTIE
ENSCI
TC
TE
TCIE
Freescale Semiconductor
Functional Description
1. Enable the SCI by writing a logic 1 to the enable SCI bit (ENSCI) in SCI control register 1 (SCC1).
2. Enable the transmitter by writing a logic 1 to the transmitter enable bit (TE) in SCI control register
2 (SCC2).
3. Clear the SCI transmitter empty bit by first reading SCI status register 1 (SCS1) and then writing
to the SCDR.
4. Repeat step 3 for each subsequent transmission.
At the start of a transmission, transmitter control logic automatically loads the transmit shift register with
a preamble of logic 1s. After the preamble shifts out, control logic transfers the SCDR data into the
transmit shift register. A logic 0 start bit automatically goes into the least significant bit position of the
transmit shift register. A logic 1 stop bit goes into the most significant bit position.
The SCI transmitter empty bit, SCTE, in SCS1 becomes set when the SCDR transfers a byte to the
transmit shift register. The SCTE bit indicates that the SCDR can accept new data from the internal data
bus. If the SCI transmit interrupt enable bit, SCTIE, in SCC2 is also set, the SCTE bit generates a
transmitter CPU interrupt request.
When the transmit shift register is not transmitting a character, the TxD pin goes to the idle condition, logic
1. If at any time software clears the ENSCI bit in SCI control register 1 (SCC1), the transmitter and
receiver relinquish control of the port pin.
9.4.2.3 Break Characters
Writing a logic 1 to the send break bit, SBK, in SCC2 loads the transmit shift register with a break
character. A break character contains all logic 0s and has no start, stop, or parity bit. Break character
length depends on the M bit in SCC1. As long as SBK is at logic 1, transmitter logic continuously loads
break characters into the transmit shift register. After software clears the SBK bit, the shift register finishes
transmitting the last break character and then transmits at least one logic 1. The automatic logic 1 at the
end of a break character guarantees the recognition of the start bit of the next character.
The SCI recognizes a break character when a start bit is followed by eight or nine logic 0 data bits and a
logic 0 where the stop bit should be.
Receiving a break character has these effects on SCI registers:
Sets the framing error bit (FE) in SCS1
Sets the SCI receiver full bit (SCRF) in SCS1
Clears the SCI data register (SCDR)
Clears the R8 bit in SCC3
Sets the break flag bit (BKF) in SCS2
May set the overrun (OR), noise flag (NF), parity error (PE), or reception in progress flag (RPF) bits
9.4.2.4 Idle Characters
An idle character contains all logic 1s and has no start, stop, or parity bit. Idle character length depends
on the M bit in SCC1. The preamble is a synchronizing idle character that begins every transmission.
If the TE bit is cleared during a transmission, the TxD pin becomes idle after completion of the
transmission in progress. Clearing and then setting the TE bit during a transmission queues an idle
character to be sent after the character currently being transmitted.
125
NOTE
When queueing an idle character, return the TE bit to logic 1 before the stop
bit of the current character shifts out to the TxD pin. Setting TE after the stop
bit appears on TxD causes data previously written to the SCDR to be lost.
Toggle the TE bit for a queued idle character when the SCTE bit becomes
set and just before writing the next byte to the SCDR.
9.4.2.5 Inversion of Transmitted Output
The transmit inversion bit (TXINV) in SCI control register 1 (SCC1) reverses the polarity of transmitted
data. All transmitted values, including idle, break, start, and stop bits, are inverted when TXINV is at logic
1. (See 9.8.1 SCI Control Register 1.)
9.4.2.6 Transmitter Interrupts
These conditions can generate CPU interrupt requests from the SCI transmitter:
SCI transmitter empty (SCTE) The SCTE bit in SCS1 indicates that the SCDR has transferred
a character to the transmit shift register. SCTE can generate a transmitter CPU interrupt request.
Setting the SCI transmit interrupt enable bit, SCTIE, in SCC2 enables the SCTE bit to generate
transmitter CPU interrupt requests.
Transmission complete (TC) The TC bit in SCS1 indicates that the transmit shift register and the
SCDR are empty and that no break or idle character has been generated. The transmission
complete interrupt enable bit, TCIE, in SCC2 enables the TC bit to generate transmitter CPU
interrupt requests.
9.4.3 Receiver
Figure 9-5 shows the structure of the SCI receiver.
9.4.3.1 Character Length
The receiver can accommodate either 8-bit or 9-bit data. The state of the M bit in SCI control register 1
(SCC1) determines character length. When receiving 9-bit data, bit R8 in SCI control register 2 (SCC2)
is the ninth bit (bit 8). When receiving 8-bit data, bit R8 is a copy of the eighth bit (bit 7).
9.4.3.2 Character Reception
During an SCI reception, the receive shift register shifts characters in from the RxD pin. The SCI data
register (SCDR) is the read-only buffer between the internal data bus and the receive shift register.
After a complete character shifts into the receive shift register, the data portion of the character transfers
to the SCDR. The SCI receiver full bit, SCRF, in SCI status register 1 (SCS1) becomes set, indicating that
the received byte can be read. If the SCI receive interrupt enable bit, SCRIE, in SCC2 is also set, the
SCRF bit generates a receiver CPU interrupt request.
Freescale Semiconductor
Functional Description
INTERNAL BUS
SCR1
SCR2
SCP0
SCR0
BAUD
DIVIDER
16
DATA
RECOVERY
RxD
11-BIT
RECEIVE SHIFT REGISTER
8
M
WAKE
ILTY
PEN
PTY
ALL 0s
RPF
ERROR CPU INTERRUPT REQUEST
DMA SERVICE REQUEST
ALL 1s
BKF
STOP
PRESCALER
MSB
BUS CLOCK
START
SCP1
SCRF
WAKEUP
LOGIC
PARITY
CHECKING
IDLE
ILIE
DMARE
SCRF
SCRIE
DMARE
SCRF
SCRIE
DMARE
OR
ORIE
NF
NEIE
FE
FEIE
PE
PEIE
RWU
IDLE
R8
ILIE
SCRIE
DMARE
OR
ORIE
NF
NEIE
FE
FEIE
PE
PEIE
127
LSB
START BIT
VERIFICATION
DATA
SAMPLING
RT8
START BIT
QUALIFICATION
SAMPLES
RT3
RxD
RT4
RT3
RT2
RT1
RT16
RT15
RT14
RT13
RT12
RT11
RT10
RT9
RT7
RT6
RT5
RT4
RT2
RT1
RT1
RT1
RT1
RT1
RT1
RT1
RT1
RT CLOCK
STATE
RT1
RT
CLOCK
RT CLOCK
RESET
Start Bit
Verification
Noise Flag
000
Yes
001
Yes
010
Yes
011
No
100
Yes
101
No
110
No
111
No
Start bit verification is not successful if any two of the three verification samples are logic 1s. If start bit
verification is not successful, the RT clock is reset and a new search for a start bit begins.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
128
Freescale Semiconductor
Functional Description
To determine the value of a data bit and to detect noise, recovery logic takes samples at RT8, RT9, and
RT10. Table 9-3 summarizes the results of the data bit samples.
Table 9-3. Data Bit Recovery
RT8, RT9, and RT10
Samples
Data Bit
Determination
Noise Flag
000
001
010
011
100
101
110
111
NOTE
The RT8, RT9, and RT10 samples do not affect start bit verification. If any
or all of the RT8, RT9, and RT10 start bit samples are logic 1s following a
successful start bit verification, the noise flag (NF) is set and the receiver
assumes that the bit is a start bit.
To verify a stop bit and to detect noise, recovery logic takes samples at RT8, RT9, and RT10. Table 9-4
summarizes the results of the stop bit samples.
Table 9-4. Stop Bit Recovery
RT8, RT9, and RT10
Samples
Framing
Error Flag
Noise Flag
000
001
010
011
100
101
110
111
129
RT16
RT15
RT14
RT13
RT12
RT11
RT10
RT9
RT8
RT7
RT6
STOP
RT5
RT4
RT3
RT2
RECEIVER
RT CLOCK
RT1
MSB
DATA
SAMPLES
Freescale Semiconductor
Functional Description
RT16
RT15
RT14
RT13
RT12
RT11
RT10
RT9
RT8
RT7
RT6
RT5
RT4
RT3
RT2
RECEIVER
RT CLOCK
RT1
STOP
DATA
SAMPLES
131
Address mark An address mark is a logic 1 in the most significant bit position of a received
character. When the WAKE bit is set, an address mark wakes the receiver from the standby state
by clearing the RWU bit. The address mark also sets the SCI receiver full bit, SCRF. Software can
then compare the character containing the address mark to the user-defined address of the
receiver. If they are the same, the receiver remains awake and processes the characters that
follow. If they are not the same, software can set the RWU bit and put the receiver back into the
standby state.
Idle input line condition When the WAKE bit is clear, an idle character on the RxD pin wakes the
receiver from the standby state by clearing the RWU bit. The idle character that wakes the receiver
does not set the receiver idle bit, IDLE, or the SCI receiver full bit, SCRF. The idle line type bit,
ILTY, determines whether the receiver begins counting logic 1s as idle character bits after the start
bit or after the stop bit.
NOTE
With the WAKE bit clear, setting the RWU bit after the RxD pin has been
idle may cause the receiver to wake up immediately.
Freescale Semiconductor
Low-Power Modes
133
$0013
Bit 7
Bit 0
LOOPS
ENSCI
TXINV
WAKE
ILTY
PEN
PTY
Freescale Semiconductor
I/O Registers
Character Format
Start
Bits
Data
Bits
Parity
Stop
Bits
Character
Length
0X
None
10 bits
0X
None
11 bits
10
Even
10 bits
11
Odd
10 bits
10
Even
11 bits
11
Odd
11 bits
135
$0014
Bit 7
Bit 0
SCTIE
TCIE
SCRIE
ILIE
TE
RE
RWU
SBK
Freescale Semiconductor
I/O Registers
137
$0015
Bit 7
Read:
R8
Write:
Reset:
Bit 0
T8
DMARE
DMATE
ORIE
NEIE
FEIE
PEIE
= Unimplemented
U = Unaffected
Freescale Semiconductor
I/O Registers
$016
Bit 7
Bit 0
Read:
SCTE
TC
SCRF
IDLE
OR
NF
FE
PE
Write:
Reset:
= Unimplemented
139
Freescale Semiconductor
I/O Registers
BYTE 1
BYTE 2
BYTE 3
SCRF = 0
SCRF = 1
SCRF = 0
SCRF = 1
SCRF = 0
SCRF = 1
BYTE 4
READ SCS1
SCRF = 1
OR = 0
READ SCS1
SCRF = 1
OR = 0
READ SCS1
SCRF = 1
OR = 0
READ SCDR
BYTE 1
READ SCDR
BYTE 2
READ SCDR
BYTE 3
BYTE 1
BYTE 2
BYTE 3
SCRF = 0
OR = 0
SCRF = 1
OR = 1
SCRF = 0
OR = 1
SCRF = 1
SCRF = 1
OR = 1
BYTE 4
READ SCS1
SCRF = 1
OR = 0
READ SCS1
SCRF = 1
OR = 1
READ SCDR
BYTE 1
READ SCDR
BYTE 3
141
$0017
Bit 7
Read:
Bit 0
BKF
RPF
Write:
Reset:
= Unimplemented
$0018
Bit 7
Bit 0
Read:
R7
R6
R5
R4
R3
R2
R1
R0
Write:
T7
T6
T5
T4
T3
T2
T1
T0
Reset:
Unaffected by reset
Freescale Semiconductor
I/O Registers
$0019
Bit 7
Write:
Reset:
Bit 0
SCP1
SCP0
SCR2
SCR1
SCR0
= Reserved
= Unimplemented
00
01
10
11
13
000
001
010
011
100
16
101
32
110
64
111
128
143
Prescaler
Divisor (PD)
SCR2, SCR1,
and SCR0
Baud Rate
Divisor (BD)
Baud Rate
(BUS CLOCK=4.9152MHz)
00
000
76,800
00
001
38,400
00
010
19,200
00
011
9,600
00
100
16
4,800
00
101
32
2,400
00
110
64
1,200
00
111
128
600
01
000
25,600
01
001
12,800
01
010
6,400
01
011
3,200
01
100
16
1,600
01
101
32
800
01
110
64
400
01
111
128
200
10
000
19,200
10
001
9,600
10
010
4,800
10
011
2,400
10
100
16
1,200
10
101
32
600
10
110
64
300
10
111
128
150
11
13
000
5,908
11
13
001
2,954
11
13
010
1,477
11
13
011
739
11
13
100
16
369
11
13
101
32
185
11
13
110
64
92
11
13
111
128
46
Freescale Semiconductor
Chapter 10
Analog-to-Digital Converter (ADC)
10.1 Introduction
This section describes the 13-channel, 8-bit linear successive approximation analog-to-digital converter
(ADC).
10.2 Features
Features of the ADC module include:
13 channels with multiplexed input
Linear successive approximation with monotonicity
8-bit resolution
Single or continuous conversion
Conversion complete flag or conversion complete interrupt
Addr.
$003C
$003D
$003E
Register Name
ADC Status and Control Read:
Register Write:
(ADSCR) Reset:
Read:
ADC Data Register
Write:
(ADR)
Reset:
Read:
ADC Input Clock Register
Write:
(ADICLK)
Reset:
Bit 7
COCO
0
AD7
Bit 0
AIEN
ADCO
ADCH4
ADCH3
ADCH2
ADCH1
ADCH0
0
AD6
0
AD5
1
AD4
1
AD3
1
AD2
1
AD1
1
AD0
ADIV2
ADIV1
ADIV0
145
WRITE DDRB/DDRD
DDRBx/DDRDx
RESET
WRITE PTB/PTD
ADCx
PTBx/PTDx
READ PTB/PTD
DISABLE
ADC CHANNEL x
ADC DATA REGISTER
ADC0ADC11
CONVERSION
COMPLETE
INTERRUPT
LOGIC
AIEN
COCO
BUS CLOCK
ADC
ADC VOLTAGE IN
ADCVIN
ADC12
CHANNEL
SELECT
(1 OF 13 CHANNELS)
ADCH[4:0]
ADC CLOCK
CLOCK
GENERATOR
ADIV[2:0]
Freescale Semiconductor
Interrupts
Conversion Time =
10.4 Interrupts
When the AIEN bit is set, the ADC module is capable of generating a CPU interrupt after each ADC
conversion. A CPU interrupt is generated if the COCO bit is at logic 0. The COCO bit is not used as a
conversion complete flag when interrupts are enabled.
147
$003C
Bit 7
Read:
COCO
Write:
Reset:
Bit 0
AIEN
ADCO
ADCH4
ADCH3
ADCH2
ADCH1
ADCH0
= Unimplemented
Freescale Semiconductor
I/O Registers
ADCH3
ADCH2
ADCH1
ADCH0
ADC Channel
Input Select
ADC0
PTB0
ADC1
PTB1
ADC2
PTB2
ADC3
PTB3
ADC4
PTB4
ADC5
PTB5
ADC6
PTB6
ADC7
PTB7
ADC8
PTD3
ADC9
PTD2
ADC10
PTD1
ADC11
PTD0
ADC12
ADC12/T2CLK
Unused(1)
Reserved
Reserved
VDD(2)
VSS(2)
1. If any unused channels are selected, the resulting ADC conversion will be unknown.
2. The voltage levels supplied from internal reference nodes as specified in the table are used to verify the
operation of the ADC converter both in production test and for user applications.
149
$003D
Bit 7
Bit 0
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
Write:
Reset:
$003E
Bit 7
Read:
Write:
Reset:
ADIV2
ADIV1
ADIV0
Bit 0
= Unimplemented
ADIV1
ADIV0
Bus Clock 1
Bus Clock 2
Bus Clock 4
Bus Clock 8
Bus Clock 16
X = dont care
Freescale Semiconductor
Chapter 11
Input/Output (I/O) Ports
11.1 Introduction
Twenty six (26) bidirectional input-output (I/O) pins form four parallel ports. All I/O pins are programmable
as inputs or outputs.
NOTE
Connect any unused I/O pins to an appropriate logic level, either VDD or
VSS. Although the I/O ports do not require termination for proper operation,
termination reduces excess current consumption and the possibility of
electrostatic damage.
Addr.
$0000
$0001
$0003
$0004
$0005
$0007
$0008
Register Name
Port A Data Register (PTA)
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
$000A
Read:
Port D Control Register
Write:
(PDCR)
Reset:
$000C
Read:
Data Direction Register E
Write:
(DDRE)
Reset:
Bit 7
Bit 0
PTA7
PTA6
PTA5
PTA4
PTA3
PTA2
PTA1
PTA0
PTB2
PTB1
PTB0
PTD2
PTD1
PTD0
Unaffected by reset
PTB7
PTB6
PTB5
PTB4
PTB3
Unaffected by reset
PTD7
PTD6
PTD5
PTD4
PTD3
Unaffected by reset
DDRA7
DDRA6
DDRA5
DDRA4
DDRA3
DDRA2
DDRA1
DDRA0
DDRB7
DDRB6
DDRB5
DDRB4
DDRB3
DDRB2
DDRB1
DDRB0
DDRD7
DDRD6
DDRD5
DDRD4
DDRD3
DDRD2
DDRD1
DDRD0
PTE1
PTE0
Unaffected by reset
PTDPU6
DDRE1
DDRE0
151
$000E
Register Name
Bit 7
Read:
Port A Input Pull-up Enable
PTA6EN
Register Write:
(PTAPUE) Reset:
0
Read:
PTA7 Input Pull-up
PTAPUE7
Enable Register Write:
(PTA7PUE) Reset:
0
Bit 0
PTAPUE6
PTAPUE5
PTAPUE4
PTAPUE3
PTAPUE2
PTAPUE1
PTAPUE0
Module Control
Bit
DDR
DDRA0
KBIE0
PTA0/KBI0
DDRA1
KBIE1
PTA1/KBI1
DDRA2
KBIE2
PTA2/KBI2
DDRA3
KBIE3
PTA3/KBI3
DDRA4
KBIE4
PTA4/KBI4
DDRA5
KBIE5
PTA5/KBI5
DDRA6
OSC
KBI
PTAPUE ($000D)
KBIER ($001B)
PTA6EN
KBIE6
RCCLK/PTA6/KBI6(1)
DDRA7
KBI
KBIER ($001B)
KBIE7
PTA7/KBI7
DDRB0
PTB0/ADC0
DDRB1
PTB1/ADC1
DDRB2
PTB2/ADC2
DDRB3
DDRB4
DDRB5
PTB5/ADC5
DDRB6
PTB6/ADC6
DDRB7
PTB7/ADC7
DDRD0
PTD0/ADC11
DDRD1
DDRD2
DDRD3
DDRD4
DDRD5
DDRD6
DDRD7
DDRE0
DDRE1
Module
KBI
ADC
ADC
Register
KBIER ($001B)
ADSCR ($003C)
ADSCR ($003C)
Pin
Control Bit
PTB3/ADC3
ADCH[4:0]
PTB4/ADC4
PTD1/ADC10
ADCH[4:0]
PTD2/ADC9
PTD3/ADC8
TIM1
SCI
TIM2
T1SC0 ($0025)
ELS0B:ELS0A
PTD4/T1CH0
T1SC1 ($0028)
ELS1B:ELS1A
PTD5/T1CH1
SCC1 ($0013)
ENSCI
T2SC0 ($0035)
ELS0B:ELS0A
PTE0/T2CH0
T2SC1 ($0038)
ELS1B:ELS1A
PTE1/T2CH1
PTD6/TxD
PTD7/RxD
Freescale Semiconductor
Port A
11.2 Port A
Port A is an 8-bit special function port that shares all of its pins with the keyboard interrupt (KBI) module
(see Chapter 13 Keyboard Interrupt Module (KBI)). Each port A pin also has software configurable pull-up
device if the corresponding port pin is configured as input port. PTA0PTA5 and PTA7 has direct LED
drive capability.
NOTE
PTA0PTA5 pins are available on 28-pin and 32-pin packages only.
PTA7 pin is available on 32-pin packages only.
$0000
Bit 7
Bit 0
PTA7
PTA6
PTA5
PTA4
PTA3
PTA2
PTA1
PTA0
Reset:
Additional Functions:
Alternative Functions:
Unaffected by Reset
LED
(Sink)
LED
(Sink)
LED
(Sink)
LED
(Sink)
LED
(Sink)
LED
(Sink)
LED
(Sink)
pull-up
pull-up
pull-up
pull-up
pull-up
pull-up
pull-up
pull-up
Keyboard
Interrupt
Keyboard
Interrupt
Keyboard
Interrupt
Keyboard
Interrupt
Keyboard
Interrupt
Keyboard
Interrupt
Keyboard
Interrupt
Keyboard
Interrupt
153
$0004
Bit 7
Bit 0
DDRA7
DDRA6
DDRA5
DDRA4
DDRA3
DDRA2
DDRA1
DDRA0
Reset:
RESET
WRITE PTA ($0000)
PTAx
PTAx
DDRA Bit
PTA Bit
X(1)
Accesses to DDRA
Accesses to PTA
Read/Write
Read
Write
VDD(2)
DDRA[7:0]
Pin
PTA[7:0](3)
Input, Hi-Z(4)
DDRA[7:0]
Pin
PTA[7:0](3)
Output
DDRA[7:0]
PTA[7:0]
PTA[7:0]
Input,
1. X = Dont care.
2. Pin pulled to VDD by internal pull-up.
3. Writing affects data register, but does not affect input.
4. Hi-Z = High impedance.
Freescale Semiconductor
Port A
$000D
Read:
Write:
Reset:
Bit 7
Bit 0
PTA6EN
PTAPUE6
PTAPUE5
PTAPUE4
PTAPUE3
PTAPUE2
PTAPUE1
PTAPUE0
$000E
Bit 7
Read:
Write:
Reset:
Bit 0
PTAPUE7
0
155
11.3 Port B
Port B is an 8-bit special function port that shares all of its port pins with the analog-to-digital converter
(ADC) module, see Chapter 10
$0001
Read:
Write:
Bit 7
Bit 0
PTB7
PTB6
PTB5
PTB4
PTB3
PTB2
PTB1
PTB0
ADC7
ADC6
ADC5
ADC2
ADC2
ADC0
Reset:
Unaffected by reset
Alternative Functions:
ADC4
ADC3
$0005
Bit 7
Bit 0
DDRB7
DDRB6
DDRB5
DDRB4
DDRB3
DDRB2
DDRB1
DDRB0
Freescale Semiconductor
Port D
READ DDRB ($0005)
DDRBx
PTBx
To Analog-To-Digital Converter
PTB Bit
Accesses to PTB
Read
Write
X(1)
Input, Hi-Z(2)
DDRB[7:0]
Pin
PTB[7:0](3)
Output
DDRB[7:0]
PTB[7:0]
PTB[7:0]
1. X = dont care.
2. Hi-Z = high impedance.
3. Writing affects data register, but does not affect the input.
11.4 Port D
Port D is an 8-bit special function port that shares two of its pins with the serial communications interface
module (see Chapter 9), two of its pins with the timer 1 interface module, (see Chapter 8), and four of its
pins with the analog-to-digital converter module (see Chapter 10). PTD6 and PTD7 each has high current
sink (25mA) and programmable pull-up. PTD2, PTD3, PTD6 and PTD7 each has LED sink capability.
NOTE
PTD0PTD1 are available on 28-pin and 32-pin packages only.
157
$0003
Bit 7
Bit 0
PTD7
PTD6
PTD5
PTD4
PTD3
PTD2
PTD1
PTD0
ADC10
ADC11
Reset:
Additional Functions
Unaffected by reset
LED
(Sink)
LED
(Sink)
LED
(Sink)
LED
(Sink)
ADC8
ADC9
25mA sink
25mA sink
(Slow Edge) (Slow Edge)
Alternative Functions:
pull-up
pull-up
RxD
TxD
T1CH1
T1CH0
Freescale Semiconductor
Port D
Address:
$0007
Read:
Write:
Reset:
Bit 7
Bit 0
DDRD7
DDRD6
DDRD5
DDRD4
DDRD3
DDRD2
DDRD1
DDRD0
DDRDx
PTDx
Accesses to PTD
DDRD Bit
PTD Bit
Read/Write
Read
Write
X(1)
Input, Hi-Z(2)
DDRD[7:0]
Pin
PTD[7:0](3)
Output
DDRD[7:0]
PTD[7:0]
PTD[7:0]
1. X = dont care.
2. Hi-Z = high impedance.
3. Writing affects data register, but does not affect the input.
159
$000A
Bit 7
Read:
Write:
Reset:
Bit 0
SLOWD7
SLOWD6
PTDPU7
PTDPU6
11.5 Port E
Port E is a 2-bit special function port that shares its pins with the timer 2 interface module (see Chapter 8).
NOTE
PTE0PTE1 are available on 32-pin packages only.
$0008
Bit 7
Read:
Write:
Reset:
Bit 0
PTE1
PTE0
T2CH1
T2CH0
Unaffected by reset
Alternative Functions:
Freescale Semiconductor
Port E
$000C
Bit 7
Read:
Write:
Reset:
Bit 0
DDRE1
DDRE0
DDREx
PTEx
To TIM2
161
When DDREx is a logic 1, reading address $0008 reads the PTEx data latch. When DDREx is a logic 0,
reading address $0008 reads the voltage level on the pin. The data latch can always be written,
regardless of the state of its data direction bit. Table 11-5 summarizes the operation of the port E pins.
Table 11-5. Port E Pin Functions
Accesses to DDRE
DDRE Bit
PTE Bit
Accesses to PTE
Read
Write
X(1)
Input, Hi-Z(2)
DDRE[1:0]
Pin
PTE[1:0](3)
Output
DDRE[1:0]
PTE[1:0]
PTE[1:0]
1. X = dont care.
2. Hi-Z = high impedance.
3. Writing affects data register, but does not affect the input.
Freescale Semiconductor
Chapter 12
External Interrupt (IRQ)
12.1 Introduction
The external interrupt (IRQ) module provides a maskable interrupt input.
12.2 Features
Features of the IRQ module include the following:
A dedicated external interrupt pin (IRQ)
IRQ interrupt control bits
Hysteresis buffer
Programmable edge-only or edge and level interrupt sensitivity
Automatic interrupt acknowledge
Selectable internal pullup resistor
163
The vector fetch or software clear may occur before or after the interrupt pin returns to logic one. As long
as the pin is low, the interrupt request remains pending. A reset will clear the latch and the MODE control
bit, thereby clearing the interrupt even if the pin stays low.
When set, the IMASK bit in the INTSCR mask all external interrupt requests. A latched interrupt request
is not presented to the interrupt priority logic unless the IMASK bit is clear.
NOTE
The interrupt mask (I) in the condition code register (CCR) masks all
interrupt requests, including external interrupt requests. (See 5.5 Exception
Control.)
RESET
ACK
TO CPU FOR
BIL/BIH
INSTRUCTIONS
VECTOR
FETCH
DECODER
VDD
IRQPUD
INTERNAL
PULLUP
DEVICE
VDD
IRQF
D
CLR
IRQ
INTERRUPT
REQUEST
SYNCHRONIZER
CK
IRQ
IMASK
MODE
TO MODE
SELECT
LOGIC
HIGH
VOLTAGE
DETECT
Register Name
IRQ Status and Control Read:
Register Write:
(INTSCR) Reset:
Bit 7
0
0
6
0
5
0
4
0
3
IRQF
0
0
= Unimplemented
2
0
ACK
0
Bit 0
IMASK
MODE
Freescale Semiconductor
Vector fetch or software clear A vector fetch generates an interrupt acknowledge signal to clear
the latch. Software may generate the interrupt acknowledge signal by writing a logic one to the ACK
bit in the interrupt status and control register (INTSCR). The ACK bit is useful in applications that
poll the IRQ pin and require software to clear the IRQ latch. Writing to the ACK bit prior to leaving
an interrupt service routine can also prevent spurious interrupts due to noise. Setting ACK does
not affect subsequent transitions on the IRQ pin. A falling edge that occurs after writing to the ACK
bit latches another interrupt request. If the IRQ mask bit, IMASK, is clear, the CPU loads the
program counter with the vector address at locations $FFFA and $FFFB.
Return of the IRQ pin to logic one As long as the IRQ pin is at logic zero, IRQ remains active.
The vector fetch or software clear and the return of the IRQ pin to logic one may occur in any order. The
interrupt request remains pending as long as the IRQ pin is at logic zero. A reset will clear the latch and
the MODE control bit, thereby clearing the interrupt even if the pin stays low.
If the MODE bit is clear, the IRQ pin is falling-edge-sensitive only. With MODE clear, a vector fetch or
software clear immediately clears the IRQ latch.
The IRQF bit in the INTSCR register can be used to check for pending interrupts. The IRQF bit is not
affected by the IMASK bit, which makes it useful in applications where polling is preferred.
Use the BIH or BIL instruction to read the logic level on the IRQ pin.
NOTE
When using the level-sensitive interrupt trigger, avoid false interrupts by
masking interrupt requests in the interrupt routine.
NOTE
An internal pull-up resistor to VDD is connected to the IRQ pin; this can be
disabled by setting the IRQPUD bit in the CONFIG2 register ($001E).
165
$001D
Bit 7
IRQF
Write:
Reset:
2
ACK
Bit 0
IMASK
MODE
= Unimplemented
$001E
Bit 7
Bit 0
IRQPUD
LVIT1
LVIT0
Reset:
Not affected
Not affected
POR:
= Reserved
Read:
Write:
Freescale Semiconductor
Chapter 13
Keyboard Interrupt Module (KBI)
13.1 Introduction
The keyboard interrupt module (KBI) provides eight independently maskable external interrupts which are
accessible via PTA0PTA7. When a port pin is enabled for keyboard interrupt function, an internal pull-up
device is also enabled on the pin.
13.2 Features
Features of the keyboard interrupt module include the following:
Eight keyboard interrupt pins with pull-up devices
Separate keyboard interrupt enable bits and one keyboard interrupt mask
Programmable edge-only or edge- and level- interrupt sensitivity
Exit from low-power modes
Addr.
$001A
$001B
Register Name
Keyboard Status and Read:
Control Register Write:
(KBSCR) Reset:
Keyboard Interrupt Read:
Enable Register Write:
(KBIER) Reset:
Bit 7
0
6
0
5
0
4
0
3
KEYF
KBIE7
KBIE6
KBIE5
0
0
= Unimplemented
Bit 0
IMASKK
MODEK
2
0
ACKK
0
KBIE4
KBIE3
KBIE2
KBIE1
KBIE0
KBI0KBI5
PTA0/KBI0PTA5/KBI5
KBIE0KBIE5
KBI6
OSC2/RCCLK/PTA6/KBI6(1)
KBIE6
KBI7
PTA7/KBI7
KBIE7
1. PTA6/KBI6 is only available when OSCSEL=0 at $FFD0 (RC option), and PTA6EN=1 at $000D.
167
NOTE:
To prevent false interrupts, user should use software
to debounce keyboard interrupt inputs.
KBI0
ACKK
VDD
VECTOR FETCH
DECODER
KEYF
RESET
.
KBIE0
CLR
Q
SYNCHRONIZER
CK
TO PULLUP ENABLE
.
KEYBOARD
INTERRUPT FF
KBI7
KEYBOARD
INTERRUPT
REQUEST
IMASKK
MODEK
KBIE7
TO PULLUP ENABLE
Freescale Semiconductor
If the MODEK bit is clear, the keyboard interrupt pin is falling-edge-sensitive only. With MODEK clear, a
vector fetch or software clear immediately clears the keyboard interrupt request.
Reset clears the keyboard interrupt request and the MODEK bit, clearing the interrupt request even if a
keyboard interrupt pin stays at logic 0.
The keyboard flag bit (KEYF) in the keyboard status and control register can be used to see if a pending
interrupt exists. The KEYF bit is not affected by the keyboard interrupt mask bit (IMASKK) which makes
it useful in applications where polling is preferred.
To determine the logic level on a keyboard interrupt pin, disable the pull-up device, use the data direction
register to configure the pin as an input and then read the data register.
NOTE
Setting a keyboard interrupt enable bit (KBIEx) forces the corresponding
keyboard interrupt pin to be an input, overriding the data direction register.
However, the data direction register bit must be a logic 0 for software to
read the pin.
Freescale Semiconductor
169
Address: $001A
Read:
Bit 7
KEYF
Write:
Reset:
ACKK
0
Bit 0
IMASKK
MODEK
= Unimplemented
$001B
Bit 7
Bit 0
KBIE7
KBIE6
KBIE5
KBIE4
KBIE3
KBIE2
KBIE1
KBIE0
Freescale Semiconductor
Low-Power Modes
171
Freescale Semiconductor
Chapter 14
Computer Operating Properly (COP)
14.1 Introduction
The computer operating properly (COP) module contains a free-running counter that generates a reset if
allowed to overflow. The COP module helps software recover from runaway code. Prevent a COP reset
by clearing the COP counter periodically. The COP module can be disabled through the COPD bit in the
CONFIG1 register.
COP TIMEOUT
ICLK
COPCTL WRITE
COP CLOCK
COP MODULE
6-BIT COP COUNTER
COPEN (FROM SIM)
COPD (FROM CONFIG1)
RESET
COPCTL WRITE
CLEAR
COP COUNTER
173
The COP counter is a free-running 6-bit counter preceded by the 12-bit system integration module (SIM)
counter. If not cleared by software, the COP counter overflows and generates an asynchronous reset after
218 24 or 213 24 ICLK cycles; depending on the state of the COP rate select bit, COPRS, in
configuration register 1. Writing any value to location $FFFF before an overflow occurs prevents a COP
reset by clearing the COP counter and stages 12 through 5 of the SIM counter.
NOTE
Service the COP immediately after reset and before entering or after exiting
stop mode to guarantee the maximum time before the first COP counter
overflow.
A COP reset pulls the RST pin low for 32 ICLK cycles and sets the COP bit in the reset status register
(RSR). (See 5.7.2 Reset Status Register (RSR).).
NOTE
Place COP clearing instructions in the main program and not in an interrupt
subroutine. Such an interrupt subroutine could keep the COP from
generating a reset even while the main program is not working properly.
14.3.1 ICLK
ICLK is the internal oscillator output signal, typically 50-kHz. The ICLK frequency varies depending on the
supply voltage. See Chapter 17 Electrical Specifications for ICLK parameters.
Freescale Semiconductor
$001F
Bit 7
Bit 0
COPRS
LVID
SSREC
STOP
COPD
= Reserved
$FFFF
Bit 7
Read:
Write:
Reset:
Unaffected by reset
Bit 0
14.5 Interrupts
The COP does not generate CPU interrupt requests.
175
Freescale Semiconductor
Chapter 15
Low Voltage Inhibit (LVI)
15.1 Introduction
This section describes the low-voltage inhibit module (LVI), which monitors the voltage on the VDD pin
and generates a reset when the VDD voltage falls to the LVI trip (LVITRIP) voltage.
15.2 Features
Features of the LVI module include the following:
Selectable LVI trip voltage
Selectable LVI circuit disable
LVID
LVI RESET
DETECTOR
LVIT1
LVIT0
177
$001E
Read:
Write:
Bit 7
Bit 0
IRQPUD
LVIT1
LVIT0
STOP_
ICLKDIS
Reset:
$001F
Read:
Write:
Bit 7
Bit 0
COPRS
LVID
SSREC
STOP
COPD
Reset:
LVIT0
Trip Voltage(1)
Comments
VLVR3 (2.49V)
VLVR3 (2.49V)
VLVR5 (4.25V)
Reserved
Freescale Semiconductor
Chapter 16
Break Module (BREAK)
16.1 Introduction
This section describes the break module. The break module can generate a break interrupt that stops
normal program flow at a defined address to enter a background program.
16.2 Features
Features of the break module include the following:
Accessible I/O registers during the break Interrupt
CPU-generated break interrupts
Software-generated break interrupts
COP disabling during break interrupts
BKPT
(TO SIM)
8-BIT COMPARATOR
BREAK ADDRESS REGISTER LOW
IAB[7:0]
179
Addr.
Register Name
$FE03
$FE0C
$FE0D
$FE0E
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Read:
Write:
Reset:
Bit 7
Bit 0
1
SBSW
See note
0
BCFE
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
BRKE
BRKA
0
0
0
0
0
0
0
0
0
0
0
0
0
R
0
= Reserved
0
0
= Unimplemented
Freescale Semiconductor
$FE0E
Bit 7
Read:
Write:
Reset:
BRKE
BRKA
Bit 0
= Unimplemented
$FE0C
Bit 7
Bit 0
Bit 15
14
13
12
11
10
Bit 8
181
$FE0D
Read:
Write:
Reset:
Bit 7
Bit 0
Bit 7
Bit 0
$FE00
Read:
Write:
Bit 7
Bit 0
SBSW
Note(1)
Reset:
0
R
= Reserved
EQU
LOBYTE
EQU
SBSW,BSR, RETURN
TST
LOBYTE,SP
BNE
DOLO
DEC
HIBYTE,SP
DOLO
DEC
LOBYTE,SP
RETURN
PULH
RTI
; Restore H register.
Freescale Semiconductor
Low-Power Modes
$FE03
Bit 7
Bit 0
BCFE
0
R
= Reserved
183
Freescale Semiconductor
Chapter 17
Electrical Specifications
17.1 Introduction
This section contains electrical and timing specifications.
Value
Unit
Supply voltage
VDD
0.3 to +6.0
Input voltage
VIN
VTST
25
mA
Storage temperature
TSTG
55 to +150
IMVSS
100
mA
IMVDD
100
mA
Symbol
NOTE
This device contains circuitry to protect the inputs against damage due to
high static voltages or electric fields; however, it is advised that normal
precautions be taken to avoid application of any voltage higher than
maximum-rated voltages to this high-impedance circuit. For proper
operation, it is recommended that VIN and VOUT be constrained to the
range VSS (VIN or VOUT) VDD. Reliability of operation is enhanced if
unused inputs are connected to an appropriate logic voltage level (for
example, either VSS or VDD.)
185
Electrical Specifications
Symbol
Value
Unit
TA
40 to +125
40 to +85
VDD
5 10%
3 10%
5 10%
Symbol
Value
Unit
Thermal resistance
20-pin PDIP
20-pin SOIC
28-pin PDIP
28-pin SOIC
32-pin SDIP
32-pin LQFP
JA
PI/O
User determined
Power dissipation(1)
PD
Constant(2)
TJ
70
70
70
70
70
95
PD x (TA + 273 C)
C/W
+ PD2 JA
W/C
TA + (PD JA)
Freescale Semiconductor
5V DC Electrical Characteristics
Symbol
Min
Typ(2)
Max
Unit
VOH
VDD 0.8
VOL
0.4
VOL
0.5
IOL
10
16
25
mA
VIH
0.7 VDD
VDD
VIL
VSS
0.3 VDD
7.5
11
10
13
mA
mA
3
3.5
5.5
6
mA
mA
1.5
0.5
8
3
A
A
IDD
IIL
10
Input current
IIN
Capacitance
Ports (as input or output)
COUT
CIN
12
8
pF
VPOR
100
mV
RPOR
0.035
V/ms
VTST
1.5 VDD
8.5
RPU1
RPU2
1.8
16
3.3
26
4.8
36
k
k
VTRIPF
3.60
4.25
4.48
VTRIPR
3.75
4.40
4.63
rate(7)
Pullup
PTD6, PTD7
RST, IRQ, PTA0PTA7
1. VDD = 4.5 to 5.5 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25 C only.
3. Run (operating) IDD measured using external square wave clock source (fOP = 8MHz). All inputs 0.2V from rail. No dc loads.
Less than 100 pF on all outputs. CL = 20 pF on OSC2. All ports configured as inputs. OSC2 capacitance linearly affects
run IDD. Measured with all modules enabled.
4. Wait IDD measured using external square wave clock source (fOP = 8MHz). All inputs 0.2V from rail. No dc loads. Less than
100 pF on all outputs. CL = 20 pF on OSC2. All ports configured as inputs. OSC2 capacitance linearly affects wait IDD.
5. Stop IDD measured with OSC1 grounded; no port pins sourcing current. LVI is disabled.
6. Maximum is highest voltage that POR is guaranteed.
7. If minimum VDD is not reached before the internal POR reset is released, RST must be driven low externally until minimum VDD is reached.
187
Electrical Specifications
Symbol
Min
Max
Unit
fOP
MHz
(2)
tRL
750
ns
fT2CLK
MHz
tILIH
100
ns
tCYC
(edge-triggered)(3)
period(3)
(4)
tILIL
Note
1. VDD = 4.5 to 5.5 Vdc, VSS = 0 Vdc, TA = TL to TH; timing shown with respect to 20% VDD and 70% VSS, unless otherwise
noted.
2. Minimum pulse width reset is guaranteed to be recognized. It is possible for a smaller pulse width to cause a reset.
3. Values are based on characterization results, not tested in production.
4. The minimum period is the number of cycles it takes to execute the interrupt service routine plus 1 tCYC.
tRL
RST
tILIL
tILIH
IRQ
Symbol
fICLK
fOSC
Min
Typ
Max
50k(1)
dc
fXTALCLK
Hz
32M
Hz
32M
Hz
CL
C1
2 CL
C2
2 CL
RB
10 M
RS
fRCCLK
2M
12M
Series resistor
(3), (5)
REXT
RC oscillator external C
CEXT
10
Hz
Unit
pF
1. Typical value reflect average measurements at midpoint of voltage range, 25 C only. See Figure 17-5 for plot.
2. No more than 10% duty cycle deviation from 50%.
3. Fundamental mode crystals only.
4. Consult crystal vendor data sheet.
5. Not required for high frequency crystals.
MC68HC908JL8/JK8 MC68HC08JL8/JK8 MC68HC908KL8 Data Sheet, Rev. 3.1
188
Freescale Semiconductor
3V DC Electrical Characteristics
14
12
CEXT = 10 pF
10
MCU
5V @ 25C
OSC1
8
6
VDD
4
REXT
CEXT
2
0
0
10
20
30
Resistor, REXT (k)
40
50
Symbol
Min
Typ(2)
Max
Unit
VOH
VDD 0.4
VOL
0.4
VOL
0.5
IOL
12
mA
VIH
0.7 VDD
VDD
VIL
VSS
0.3 VDD
3
4
8
10
mA
mA
1
2
4.5
6
mA
mA
0.5
0.3
5
2
A
A
IDD
IIL
10
Input current
IIN
189
Electrical Specifications
Symbol
Min
Typ(2)
Max
Unit
Capacitance
Ports (as input or output)
COUT
CIN
12
8
pF
VPOR
100
mV
RPOR
0.035
V/ms
VTST
1.5 VDD
8.5
RPU1
RPU2
1.8
16
3.3
26
4.8
36
k
k
VLVI3
2.18
2.49
2.68
resistors(8)
Pullup
PTD6, PTD7
RST, IRQ, PTA0PTA7
Low-voltage inhibit, trip voltage
(No hysteresis implemented for 3V LVI)
1. VDD = 2.7 to 3.3 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25 C only.
3. Run (operating) IDD measured using external square wave clock source (fOP = 4MHz). All inputs 0.2V from rail. No dc loads.
Less than 100 pF on all outputs. CL = 20 pF on OSC2. All ports configured as inputs. OSC2 capacitance linearly affects
run IDD. Measured with all modules enabled.
4. Wait IDD measured using external square wave clock source (fOP = 4MHz). All inputs 0.2V from rail. No dc loads. Less than
100 pF on all outputs. CL = 20 pF on OSC2. All ports configured as inputs. OSC2 capacitance linearly affects wait IDD.
5. Stop IDD measured with OSC1 grounded; no port pins sourcing current. LVI is disabled.
6. Maximum is highest voltage that POR is guaranteed.
7. If minimum VDD is not reached before the internal POR reset is released, RST must be driven low externally until minimum
VDD is reached.
8. RPU1 and RPU2 are measured at VDD = 5.0V.
Symbol
Min
Max
Unit
fOP
MHz
tRL
1.5
fT2CLK
MHz
tILIH
200
ns
tILIL
Note(4)
tCYC
1. VDD = 2.7 to 3.3 Vdc, VSS = 0 Vdc, TA = TL to TH; timing shown with respect to 20% VDD and 70% VDD, unless otherwise
noted.
2. Minimum pulse width reset is guaranteed to be recognized. It is possible for a smaller pulse width to cause a reset.
3. Values are based on characterization results, not tested in production.
4. The minimum period is the number of cycles it takes to execute the interrupt service routine plus 1 tCYC.
tRL
RST
tILIL
tILIH
IRQ
Freescale Semiconductor
3V Oscillator Characteristics
Symbol
fICLK
fOSC
Min
Typ
45k
dc
fXTALCLK
Max
Hz
16M
Hz
16M
Hz
(4)
CL
(3)
C1
2 CL
C2
2 CL
RB
10 M
RS
fRCCLK
2M
10M
(3)
(3), (5)
REXT
RC oscillator external C
CEXT
Unit
(1)
Hz
10
pF
1. Typical value reflect average measurements at midpoint of voltage range, 25 C only. See Figure 17-5 for plot.
2. No more than 10% duty cycle deviation from 50%.
3. Fundamental mode crystals only.
4. Consult crystal vendor data sheet.
5. Not required for high frequency crystals.
14
12
CEXT = 10 pF
10
MCU
3V @ 25C
OSC1
8
6
VDD
REXT
CEXT
2
0
0
10
20
30
Resistor, REXT (k)
40
50
191
Electrical Specifications
70
60
40C
+25C
50
+85C
+125C
40
30
20
2
4
5
Supply Voltage, VDD (V)
IDD (mA)
10
XTAL oscillator option
5.5 V
3.3 V
6
4
2
0
0
4
5
6
fOP or fBUS (MHz)
IDD (mA)
5.5 V
3.3 V
3
2
1
0
0
4
5
6
fOP or fBUS (MHz)
Freescale Semiconductor
Symbol
Min
Max
tTIH, tTIL
1/fOP
tLMIN, tHMIN
(1/fOP) + 5ns
Unit
Symbol
Min
Max
Unit
Supply voltage
VDDAD
2.7
(VDD min)
5.5
(VDD max)
Input voltages
VADIN
VSS
VDD
Resolution
BAD
Bits
Absolute accuracy
AAD
0.5
1.5
LSB
Includes quantization
fADIC
0.5
1.048
MHz
Conversion range
RAD
VSS
VDD
Power-up time
tADPU
16
Conversion time
tADC
14
15
tAIC cycles
time(1)
Comments
tAIC cycles
tADS
tAIC cycles
Zero input
reading(2)
ZADI
00
01
Hex
VIN = VSS
Full-scale
reading(3)
FADI
FE
FF
Hex
VIN = VDD
CADI
(20) 8
pF
Not tested
Sample
Input capacitance
(3)
Input leakage
Port B/port D
1. Source impedances greater than 10 k adversely affect internal RC charging time during input sampling.
2. Zero-input/full-scale reading requires sufficient decoupling measures for accurate conversions.
3. The external system error caused by input leakage current is approximately equal to the product of R source and input
current.
193
Electrical Specifications
Symbol
Min
Max
Unit
VRDR
1.3
MHz
32k
8M
Hz
(1)
fread
terase(2)
ms
tmerase(3)
ms
tnvs
10
tnvh
tnvhl
100
tpgs
tprog
30
40
(4)
trcv
tHV(5)
ms
10k
cycles
10k
cycles
10
years
endurance(6)
endurance(7)
1. fread is defined as the frequency range for which the FLASH memory can be read.
2. If the page erase time is longer than terase (Min), there is no erase-disturb, but it reduces the endurance of the FLASH
memory.
3. If the mass erase time is longer than tmerase (Min), there is no erase-disturb, but it reduces the endurance of the FLASH
memory.
4. trcv is defined as the time it needs before the FLASH can be read after turning off the high voltage charge pump, by clearing
HVEN to logic 0.
5. tHV is defined as the cumulative high voltage programming time to the same row before next erase.
tHV must satisfy this condition: tnvs + tnvh + tpgs + (tprog 32) tHV max.
6. The minimum row endurance value specifies each row of the FLASH memory is guaranteed to work for at least this many
erase / program cycles.
7. The minimum row endurance value specifies each row of the FLASH memory is guaranteed to work for at least this many
erase / program cycles.
8. The FLASH is guaranteed to retain data over the entire operating temperature range for at least the minimum time specified.
Freescale Semiconductor
Chapter 18
Mechanical Specifications
18.1 Introduction
This section gives the dimensions for:
20-pin plastic dual in-line package (case #738)
20-pin small outline integrated circuit package (case #751D)
28-pin plastic dual in-line package (case #710)
28-pin small outline integrated circuit package (case #751F)
32-pin shrink dual in-line package (case #1376)
32-pin low-profile quad flat pack (case #873A)
11
10
NOTES:
1. DIMENSIONING AND TOLERANCING PER ANSI
Y14.5M, 1982.
2. CONTROLLING DIMENSION: INCH.
3. DIMENSION L TO CENTER OF LEAD WHEN
FORMED PARALLEL.
4. DIMENSION B DOES NOT INCLUDE MOLD
FLASH.
B
L
SEATING
PLANE
M
N
E
G
J
D
0.25 (0.010)
20 PL
0.25 (0.010)
20 PL
M
T A
T B
DIM
A
B
C
D
E
F
G
J
K
L
M
N
INCHES
MIN
MAX
1.010
1.070
0.240
0.260
0.150
0.180
0.015
0.022
0.050 BSC
0.050
0.070
0.100 BSC
0.008
0.015
0.110
0.140
0.300 BSC
0_
15 _
0.020
0.040
MILLIMETERS
MIN
MAX
25.66
27.17
6.10
6.60
3.81
4.57
0.39
0.55
1.27 BSC
1.27
1.77
2.54 BSC
0.21
0.38
2.80
3.55
7.62 BSC
0_
15_
0.51
1.01
195
Mechanical Specifications
A
20
11
10X
P
0.010 (0.25)
10
20X
0.010 (0.25)
T A
DIM
A
B
C
D
F
G
J
K
M
P
R
J
S
F
R X 45 _
C
T
18X
SEATING
PLANE
MILLIMETERS
MIN
MAX
12.65
12.95
7.40
7.60
2.35
2.65
0.35
0.49
0.50
0.90
1.27 BSC
0.25
0.32
0.10
0.25
0_
7_
10.05
10.55
0.25
0.75
INCHES
MIN
MAX
0.499
0.510
0.292
0.299
0.093
0.104
0.014
0.019
0.020
0.035
0.050 BSC
0.010
0.012
0.004
0.009
0_
7_
0.395
0.415
0.010
0.029
28
NOTES:
1. POSITIONAL TOLERANCE OF LEADS (D), SHALL
BE WITHIN 0.25 (0.010) AT MAXIMUM MATERIAL
CONDITION, IN RELATION TO SEATING PLANE
AND EACH OTHER.
2. DIMENSION L TO CENTER OF LEADS WHEN
FORMED PARALLEL.
3. DIMENSION B DOES NOT INCLUDE MOLD FLASH.
15
B
14
A
N
F
D
SEATING
PLANE
DIM
A
B
C
D
F
G
H
J
K
L
M
N
MILLIMETERS
MIN
MAX
36.45
37.21
13.72
14.22
3.94
5.08
0.36
0.56
1.02
1.52
2.54 BSC
1.65
2.16
0.20
0.38
2.92
3.43
15.24 BSC
0
15
0.51
1.02
INCHES
MIN
MAX
1.435
1.465
0.540
0.560
0.155
0.200
0.014
0.022
0.040
0.060
0.100 BSC
0.065
0.085
0.008
0.015
0.115
0.135
0.600 BSC
0
15
0.020
0.040
Freescale Semiconductor
-A15
28
14X
-B1
P
0.010 (0.25)
14
28X
0.010 (0.25)
T A
X 45
C
26X
-T-
SEATING
PLANE
F
J
DIM
A
B
C
D
F
G
J
K
M
P
R
MILLIMETERS
MIN
MAX
17.80
18.05
7.40
7.60
2.35
2.65
0.35
0.49
0.41
0.90
1.27 BSC
0.23
0.32
0.13
0.29
0
8
10.01
10.55
0.25
0.75
INCHES
MIN
MAX
0.701
0.711
0.292
0.299
0.093
0.104
0.014
0.019
0.016
0.035
0.050 BSC
0.009
0.013
0.005
0.011
0
8
0.395
0.415
0.010
0.029
27.9
27.8
32
17
10.46
9.86
8.9
8.8
4.35
4.05
0.75
0.45
NOTES:
1. ALL DIMENSIONS ARE IN MILLIMETERS.
2. INTERPRET DIMENSIONS AND TOLERANCES
PER ASME Y14.5, 1994.
3. DIMENSIONS DO NOT INCLUDE MOLD FLASH OR
PROTRUSIONS.
4. DIMENSION DOES NOT INCLUDE DAMBAR
PROTRUSION.
16
30X
1.778
2X
0.889
2.49
2.39
C
32X
0.13
0.5
0.4 4
T A B
T
SEATING
PLANE
10
0
0.34
0.22
SECTION CC
197
Mechanical Specifications
T, U, Z
4X
A1
32
0.20 (0.008) AB TU Z
25
T
B
AE
P
B1
DETAIL Y
17
V1
AE
DETAIL Y
4X
Z
9
0.20 (0.008) AC TU Z
S1
S
DETAIL AD
G
AB
0.10 (0.004) AC
AC TU Z
AC
BASE
METAL
F
8X
M_
0.20 (0.008)
SEATING
PLANE
NOTES:
1. DIMENSIONING AND TOLERANCING PER ANSI
Y14.5M, 1982.
2. CONTROLLING DIMENSION: MILLIMETER.
3. DATUM PLANE AB IS LOCATED AT BOTTOM
OF LEAD AND IS COINCIDENT WITH THE LEAD
WHERE THE LEAD EXITS THE PLASTIC BODY AT
THE BOTTOM OF THE PARTING LINE.
4. DATUMS T, U, AND Z TO BE DETERMINED
AT DATUM PLANE AB.
5. DIMENSIONS S AND V TO BE DETERMINED AT
SEATING PLANE AC.
6. DIMENSIONS A AND B DO NOT INCLUDE MOLD
PROTRUSION. ALLOWABLE PROTRUSION IS
0.250 (0.010) PER SIDE. DIMENSIONS A AND B
DO INCLUDE MOLD MISMATCH AND ARE
DETERMINED AT DATUM PLANE AB.
7. DIMENSION D DOES NOT INCLUDE DAMBAR
PROTRUSION. DAMBAR PROTRUSION SHALL
NOT CAUSE THE D DIMENSION TO EXCEED
0.520 (0.020).
8. MINIMUM SOLDER PLATE THICKNESS SHALL BE
0.0076 (0.0003).
9. EXACT SHAPE OF EACH CORNER MAY VARY
FROM DEPICTION.
SECTION AEAE
K
X
DETAIL AD
Q_
GAUGE PLANE
0.250 (0.010)
C E
DIM
A
A1
B
B1
C
D
E
F
G
H
J
K
M
N
P
Q
R
S
S1
V
V1
W
X
MILLIMETERS
MIN
MAX
7.000 BSC
3.500 BSC
7.000 BSC
3.500 BSC
1.400
1.600
0.300
0.450
1.350
1.450
0.300
0.400
0.800 BSC
0.050
0.150
0.090
0.200
0.500
0.700
12_ REF
0.090
0.160
0.400 BSC
1_
5_
0.150
0.250
9.000 BSC
4.500 BSC
9.000 BSC
4.500 BSC
0.200 REF
1.000 REF
INCHES
MIN
MAX
0.276 BSC
0.138 BSC
0.276 BSC
0.138 BSC
0.055
0.063
0.012
0.018
0.053
0.057
0.012
0.016
0.031 BSC
0.002
0.006
0.004
0.008
0.020
0.028
12_ REF
0.004
0.006
0.016 BSC
1_
5_
0.006
0.010
0.354 BSC
0.177 BSC
0.354 BSC
0.177 BSC
0.008 REF
0.039 REF
Freescale Semiconductor
Chapter 19
Ordering Information
19.1 Introduction
This section contains ordering numbers for the MC68HC908JL8.
Operating
Temperature Range
MC68HC908JK8CP
40 C to +85 C
MC68HC908JK8MP
40 C to +125 C
MC68HC908JK8CDW
40 C to +85 C
MC68HC908JK8MDW
40 C to +125 C
MC68HC908JL8CP
40 C to +85 C
MC68HC908JL8MP
40 C to +125 C
MC68HC908JL8CDW
40 C to +85 C
MC68HC908JL8MDW
40 C to +125 C
MC68HC908JL8CSP
40 C to +85 C
MC68HC908JL8MSP
40 C to +125 C
MC68HC908JL8CFA
40 C to +85 C
MC68HC908JL8MFA
40 C to +125 C
Package
20-pin PDIP
20-pin SOIC
28-pin PDIP
28-pin SOIC
32-pin SDIP
32-pin LQFP
199
Ordering Information
Freescale Semiconductor
Appendix A
MC68HC08JL8
A.1 Introduction
This section introduces the MC68HC08JL8, the ROM part equivalent to the MC68HC908JL8/JK8. The
entire data book applies to this ROM device, with exceptions outlined in this appendix.
Table A-1. Summary of MC68HC08JL8 and MC68HC908JL8 Differences
MC68HC08JL8
MC68HC908JL8
Memory ($DC00$FBFF)
36 bytes ROM
36 bytes FLASH
Not used;
locations are reserved.
Monitor ROM
($FC00$FDFF and $FE10$FFCE)
Available Packages
201
INTERNAL BUS
PORTA
ARITHMETIC/LOGIC
UNIT (ALU)
PTA7/KBI7**
PTA6/KBI6**
PTA5/KBI5**
PTA4/KBI4**
PTA3/KBI3**
PTA2/KBI2**
PTA1/KBI1**
PTA0/KBI0**
PTB7/ADC7
PTB6/ADC6
PTB5/ADC5
PTB4/ADC4
PTB3/ADC3
PTB2/ADC2
PTB1/ADC1
PTB0/ADC0
KEYBOARD INTERRUPT
MODULE
8-BIT ANALOG-TO-DIGITAL
CONVERTER MODULE
DDRA
CPU
REGISTERS
PORTB
M68HC08 CPU
ADC12/T2CLK
SERIAL COMMUNICATIONS
INTERFACE MODULE
* RST
SYSTEM INTEGRATION
MODULE
LOW-VOLTAGE INHIBIT
MODULE
* IRQ
EXTERNAL INTERRUPT
MODULE
VDD
POWER
VSS
ADC REFERENCE
COMPUTER OPERATING
PROPERLY MODULE
PTE
POWER-ON RESET
MODULE
PORTD
RC OSCILLATOR
INTERNAL OSCILLATOR
##
DDRD
OSC2/RCCLK
CRYSTAL OSCILLATOR
BREAK
MODULE
DDRE
OSC1
DDRB
PTD7/RxD**
PTD6/TxD**
PTD5/T1CH1
PTD4/T1CH0
PTD3/ADC8
PTD2/ADC9
PTD1/ADC10
PTD0/ADC11
##
PTE1/T2CH1
#
PTE0/T2CH0
Freescale Semiconductor
$0000
$003F
I/O REGISTERS
64 BYTES
$0040
$005F
RESERVED
32 BYTES
$0060
$015F
RAM
256 BYTES
$0160
$DBFF
UNIMPLEMENTED
55,968 BYTES
$DC00
$FBFF
ROM
8,192 BYTES
$FC00
$FDFF
UNIMPLEMENTED
512 BYTES
$FE00
$FE01
$FE02
RESERVED
$FE03
$FE04
$FE05
$FE06
$FE07
RESERVED
$FE08
RESERVED
$FE09
$FF0B
RESERVED
$FE0C
$FE0D
$FE0E
$FE0F
RESERVED
$FE10
$FFCE
MONITOR ROM
447 BYTES
$FFCF
RESERVED
$FFD0
$FFD1
$FFDB
RESERVED
11 BYTES
$FFDC
$FFFF
203
Symbol
IDD
Min
Typ(2)
Max
Unit
VTRIPF
3.55 (3.60)(3)
4.02 (4.25)
4.48 (4.48)
VTRIPR
3.66 (3.75)
4.13 (4.40)
4.59 (4.63)
Max
Unit
1. VDD = 4.5 to 5.5 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25 C only.
3. The numbers in parenthesis are MC68HC908JL8 values.
Symbol
IDD
VLVI3
Typ(2)
Min
2.4 (2.49)
2.69 (2.68)
1. VDD = 2.7 to 3.3 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25 C only.
3. The numbers in parenthesis are MC68HC908JL8 values.
Freescale Semiconductor
14
12
CEXT = 10 pF
10
MCU
5V @ 25C
OSC1
8
6
VDD
4
REXT
CEXT
MC68HC908JL8
MC68HC08JL8
2
0
0
10
20
30
Resistor, REXT (k)
40
50
14
12
CEXT = 10 pF
10
MCU
3V @ 25C
OSC1
8
6
VDD
REXT
CEXT
MC68HC908JL8
MC68HC08JL8
2
0
0
10
20
30
Resistor, REXT (k)
40
50
Symbol
Min
Max
Unit
VRDR
1.3
Notes:
Since MC68HC08JL8 is a ROM device, FLASH memory electrical characteristics do not apply.
205
Operating
Temperature Range
MC68HC08JK8CP
40 C to +85 C
MC68HC08JK8MP
40 C to +125 C
MC68HC08JK8CDW
40 C to +85 C
MC68HC08JK8MDW
40 C to +125 C
MC68HC08JL8CP
40 C to +85 C
MC68HC08JL8MP
40 C to +125 C
MC68HC08JL8CDW
40 C to +85 C
MC68HC08JL8MDW
40 C to +125 C
MC68HC08JL8CSP
40 C to +85 C
MC68HC08JL8MSP
40 C to +125 C
MC68HC08JL8CFA
40 C to +85 C
MC68HC08JL8MFA
40 C to +125 C
Package
20-pin PDIP
20-pin SOIC
28-pin PDIP
28-pin SOIC
32-pin SDIP
32-pin LQFP
Freescale Semiconductor
Appendix B
MC68HC908KL8
B.1 Introduction
This appendix introduces the MC68HC908KL8, an ADC-less device of the MC68HC908JL8. The entire
data book applies to this device, with exceptions outlined in this appendix.
Table B-1. Summary of MC68HC908KL8 and MC68HC908JL8 Differences
MC68HC908KL8
MC68HC908JL8
13-channel, 8-bit.
Registers at:
$003C, $003E, and $003E
Not used;
locations are reserved.
ADC registers.
Not used.
Available Packages
28-pin PDIP
28-pin SOIC
32-pin SDIP
207
INTERNAL BUS
PTA7/KBI7**
PTA6/KBI6**
PTA5/KBI5**
PTA4/KBI4**
PTA3/KBI3**
PTA2/KBI2**
PTA1/KBI1**
PTA0/KBI0**
PTB7
PTB6
PTB5
PTB4
PTB3
PTB2
PTB1
PTB0
KEYBOARD INTERRUPT
MODULE
PORTA
ARITHMETIC/LOGIC
UNIT (ALU)
DDRA
CPU
REGISTERS
PORTB
M68HC08 CPU
* RST
SYSTEM INTEGRATION
MODULE
LOW-VOLTAGE INHIBIT
MODULE
* IRQ
EXTERNAL INTERRUPT
MODULE
POWER
COMPUTER OPERATING
PROPERLY MODULE
PORTD
POWER-ON RESET
MODULE
PTE
INTERNAL OSCILLATOR
VSS
RC OSCILLATOR
VDD
T2CLK
SERIAL COMMUNICATIONS
INTERFACE MODULE
DDRD
OSC2/RCCLK
CRYSTAL OSCILLATOR
BREAK
MODULE
DDRE
OSC1
DDRB
PTD7/RxD**
PTD6/TxD**
PTD5/T1CH1
PTD4/T1CH0
PTD3
PTD2
PTD1
PTD0
PTE1/T2CH1
#
PTE0/T2CH0
Freescale Semiconductor
IRQ
32
T2CLK
PTA0/KBI0
31
PTA7/KBI7
VSS
30
RST
OSC1
29
PTA5/KBI5
OSC2/RCCLK/PTA6/KBI6
28
PTD4/T1CH0
PTA1/KBI1
27
PTD5/T1CH1
VDD
26
PTD2
PTA2/KBI2
25
PTA4/KBI4
PTA3/KBI3
24
PTD3
PTB7
10
23
PTB0
PTB6
11
22
PTB1
PTB5
12
21
PTD1
PTD7/RxD
13
20
PTB2
PTD6/TxD
14
19
PTB3
PTE0/T2CH0
15
18
PTD0
PTE1/T2CH1
16
17
PTB4
IRQ
28
RST
PTA0/KBI0
27
PTA5/KBI5
VSS
26
PTD4/T1CH0
OSC1
25
PTD5/T1CH1
OSC2/RCCLK/PTA6/KBI6
24
PTD2
PTA1/KBI1
23
PTA4/KBI4
VDD
22
PTD3
PTA2/KBI2
21
PTB0
PTA3/KBI3
20
PTB1
PTB7
10
19
PTD1
PTB6
11
18
PTB2
PTB5
12
17
PTB3
PTD7/RxD
13
16
PTD0
PTD6/TxD
14
15
PTB4
T2CLK
PTA7/KBI7
Internal pads are unconnected.
Set these unused port I/Os to output low.
209
$003D
$003E
Register Name
Bit 7
Bit 0
Read:
Reserved Write:
Reset:
Read:
Reserved Write:
Reset:
Read:
Reserved Write:
Reset:
INT Flag
IF15
Address
Vector
$FFDE
Reserved
$FFDF
Reserved
Package
MC68HC908KL8CP
40 C to +85 C
28-pin PDIP
MC68HC908KL8CDW
40 C to +85 C
28-pin SOIC
MC68HC908KL8CSP
40 C to +85 C
32-pin SDIP
MC Order Number
Freescale Semiconductor
RoHS-compliant and/or Pb- free versions of Freescale products have the functionality
and electrical characteristics of their non-RoHS-compliant and/or non-Pb- free
counterparts. For further information, see http://www.freescale.com or contact your
Freescale sales representative.
E-mail:
support@freescale.com
MC68HC908JL8
Rev. 3.1, 3/2005