MC68HC908QY4
MC68HC908QY4
M68HC08
Microcontrollers
MC68HC908QY4/D
Rev. 5 07/2005
freescale.com
MC68HC908QY4 MC68HC908QT4 MC68HC908QY2 MC68HC908QT
MC68HC908QY1 MC68HC908QT1
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 co
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.
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.
Revision History (Sheet 1 of 3)
Date Revision
Level
September, N/A
2002
December,
0.1
2002
January, 0.2
2003
HC908QY4 MC68HC908QT4 MC68HC908QY2
HC908QT2 MC68HC908QY1 MC68HC908QT1
eet
rollers
QY4/D
05
m
908QY4 MC68HC908QT4 MC68HC908QY2 MC68HC908QT2
908QY1 MC68HC908QT1
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
the Freescale logo are trademarks of Freescale Semiconductor, Inc. This product incorporates SuperFlash®
sed from SST.
miconductor, Inc., 2005. All rights reserved.
revision history table summarizes changes contained in this document. For your
the page number designators have been linked to the appropriate location.
story (Sheet 1 of 3)
Description Page
Number(s)
Initial release N/A
1.2 Features — Added 8-pin dual flat no lead (DFN) packages to features list. 19
Figure 1-2. MCU Pin Assignments — Figure updated to include DFN packages. 21
Figure 2-1. Memory Map — Clarified illegal address and unimplemented memory. 27
Figure 2-2. Control, Status, and Data Registers — Corrected bit definitions for Port 27
A Data Register (PTA) and Data Direction Register A (DDRA).
Table 13-3. Interrupt Sources — Corrected vector addresses for keyboard interrupt 118
and ADC conversion complete interrupt.
Chapter 13 System Integration Module (SIM) — Removed reference to break status 113
register as it is duplicated in break module.
11.3.1 Internal Oscillator and 11.3.1.1 Internal Oscillator Trimming — Clarified
oscillator trim option ordering information and what to expect with untrimmed 92
device.
Figure 11-5. Oscillator Trim Register (OSCTRIM) — Bit 1 designation corrected. 98
Figure 15-13. Monitor Mode Circuit (Internal Clock, No High Voltage) — Diagram 150
updated for clarity.
Figure 12-1. I/O Port Register Summary — Corrected bit definitions for PTA7, 99
DDRA7, and DDRA6.
Figure 12-2. Port A Data Register (PTA) — Corrected bit definition for PTA7. 100
Figure 12-3. Data Direction Register A (DDRA) — Corrected bit definitions for 101
DDRA7 and DDRA6.
Figure 12-6. Port B Data Register (PTB) — Corrected bit definition for PTB1 103
Chapter 9 Keyboard Interrupt Module (KBI) — Section reworked after deletion of 83
auto wakeup for clarity.
Chapter 4 Auto Wakeup Module (AWU) — New section added for clarity. 49
Figure 10-1. LVI Module Block Diagram — Corrected LVI stop representation. 87
Chapter 16 Electrical Specifications — Extensive changes made to electrical 169
specifications.
17.5 8-Pin Dual Flat No Lead (DFN) Package (Case #1452) — Added case outline 177
drawing for DFN package.
Chapter 17 Ordering Information and Mechanical Specifications — Added ordering 185
information for DFN package.
4.2 Features — Corrected third bulleted item. 49
Revision History (Sheet 2 of 3)
Date Revision
Level
August,
1.0
2003
October,
2.0
2003
January,
2004
3.0
story (Sheet 2 of 3)
Description Page
Number(s)
Reformatted to meet latest M68HC08 documentation standards N/A
Figure 1-1. Block Diagram — Diagram redrawn to include keyboard interrupt 20
module and TCLK pin designator.
Figure 1-2. MCU Pin Assignments — Added TCLK pin designator. 21
Table 1-2. Pin Functions — Added TCLK pin description. 22
Table 1-3. Function Priority in Shared Pins — Revised table for clarity and to add 23
TCLK.
Figure 2-1. Memory Map — Corrected names for the IRQ status and control 26
register (INTSCR) bits 3–0.
3.7.3 ADC Input Clock Register — Clarified bit description for the ADC clock 47
prescaler bits.
4.3 Functional Description — Updated periodic wakeup request values. 51
Figure 6-1. COP Block Diagram — Reworked for clarity 59
Chapter 8 External Interrupt (IRQ) — Corrected bit names for MODE, IRQF, ACK, 77–79
and IMASK
Chapter 14 Timer Interface Module (TIM) — Added TCLK function. 131–139
15.3 Monitor Module (MON) — Updated with additional data. 147
Chapter 16 Electrical Specifications — Updated with additional data. 169–173
Figure 2-2. Control, Status, and Data Registers — Deleted unimplemented areas
from $FFB0–$FFBD and $FFC2–$FFCF as they are actually available. Also corrected 27
$FFBF designation from unimplemented to reserved.
Figure 6-1. COP Block Diagram — Reworked for clarity 59
6.3.2 STOP Instruction — Added subsection 60
13.4.2 Active Resets from Internal Sources — Reworked notes for clarity. 111
Table 13-2. Reset Recovery Timing — Replaced previous table with new 112
information.
Chapter 14 Timer Interface Module (TIM) — Updated with additional data. 131
Figure 15-3. Break I/O Register Summary — Corrected bit designators for the 143
BRKAR register
15.3 Monitor Module (MON) — Clarified seventh bullet. 147
Table 17-1. MC Order Numbers — Corrected temperature and package 175
designators.
Figure 2-2. Control, Status, and Data Registers — Corrected reset state for the
FLASH Block Protect Register at address location $FFBE and the Internal Oscillator 32
Trim Value at $FFC0.
Figure 2-5. FLASH Block Protect Register (FLBPR) — Restated reset state for 38
clarity.
Revision History (Sheet 3 of 3)
Date Revision
Level
November,
4.0
2004
List of Chapters
Chapter 1 General Description 17
Chapter 2 Memory 25
Chapter 3 Analog-to-Digital Converter (ADC) 41
Chapter 4 Auto Wakeup Module (AWU) 49
Chapter 5 Configuration Register (CONFIG) 53
Chapter 6 Computer Operating Properly (COP) 57
Chapter 7 Central Processor Unit (CPU) 61
Chapter 8 External Interrupt (IRQ) 73
Chapter 9 Keyboard Interrupt Module (KBI) 79
Chapter 10 Low-Voltage Inhibit (LVI) 85
Chapter 11 Oscillator Module (OSC) 89
Chapter 12 Input/Output Ports (PORTS) 97
Chapter 13 System Integration Module (SIM) 103
Chapter 14 Timer Interface Module (TIM) 119
Chapter 15 Development Support 133
Chapter 16 Electrical Specifications 149
Chapter 17 Ordering Information and Mechanical Specifications 165
Table of Contents
Chapter 1 General Description
1.1 Introduction
1.2 Features
1.3 MCU Block Diagram 1
1.4 Pin Assignments 1
1.5 Pin Functions 2
1.6 Pin Function Priority
Chapter 2 Memory
2.1 Introduction
2.2 Unimplemented Memory Locations
2.3 Reserved Memory Locations 2
2.4 Input/Output (I/O) Section
2.5 Random-Access Memory (RAM) 32
2.6 FLASH Memory (FLASH) 3
2.6.1 FLASH Control Register 3
2.6.2 FLASH Page Erase Operation 34
2.6.3 FLASH Mass Erase Operation 3
2.6.4 FLASH Program Operation 3
2.6.5 FLASH Protection 3
2.6.6 FLASH Block Protect Register 3
2.6.7 Wait Mode
2.6.8 Stop Mode
Chapter 3
Analog-to-Digital Converter (ADC)
3.1 Introduction
3.2 Features
3.3 Functional Description
3.3.1 ADC Port I/O Pins 4
3.3.2 Voltage Conversion
3.3.3 Conversion Time
3.3.4 Continuous Conversion
3.3.5 Accuracy and Precision
3.4 Interrupts
3.5 Low-Power Modes 4
3.5.1 Wait Mode
3.5.2 Stop Mode
3.6 Input/Output Signals
3.7 Input/Output Registers
3.7.1 ADC Status and Control Register 4
3.7.2 ADC Data Register
3.7.3 ADC Input Clock Register 4
Chapter 4
Auto Wakeup Module (AWU)
4.1 Introduction
4.2 Features
4.3 Functional Description
4.4 Wait Mode
4.5 Stop Mode
4.6 Input/Output Registers
4.6.1 Port A I/O Register 5
4.6.2 Keyboard Status and Control Register
4.6.3 Keyboard Interrupt Enable Register
Chapter 5 Configuration Register (CONFIG)
5.1 Introduction
5.2 Functional Description
Chapter 6
Computer Operating Properly (COP)
6.1 Introduction
6.2 Functional Description
6.3 I/O Signals
6.3.1 BUSCLKX4 5
6.3.2 STOP Instruction 5
6.3.3 COPCTL Write 5
6.3.4 Power-On Reset 5
6.3.5 Internal Reset
6.3.6 COPD (COP Disable) 5
6.3.7 COPRS (COP Rate Select) 59
6.4 COP Control Register 5
6.5 Interrupts
6.6 Monitor Mode
6.7 Low-Power Modes 5
6.7.1 Wait Mode
6.7.2 Stop Mode
6.8 COP Module During Break Mode 5
Central Processor Unit (CPU)
7.1 Introduction
7.2 Features
7.3 CPU Registers 6
7.3.1 Accumulator
7.3.2 Index Register
7.3.3 Stack Pointer
7.3.4 Program Counter
7.3.5 Condition Code Register 6
7.4 Arithmetic/Logic Unit (ALU)
7.5 Low-Power Modes 6
7.5.1 Wait Mode
7.5.2 Stop Mode
7.6 CPU During Break Interrupts 6
7.7 Instruction Set Summary
7.8 Opcode Map
Chapter 8 External Interrupt (IRQ)
8.1 Introduction
8.2 Features
8.3 Functional Description
8.3.1 MODE = 1 7
8.3.2 MODE = 0 7
8.4 Interrupts
8.5 Low-Power Modes 7
8.5.1 Wait Mode
8.5.2 Stop Mode
8.6 IRQ Module During Break Interrupts 7
8.7 I/O Signals
8.7.1 IRQ Input Pins (IRQ) 7
8.8 Registers
Chapter 9
Keyboard Interrupt Module (KBI)
9.1 Introduction
9.2 Features
9.3 Functional Description
9.3.1 Keyboard Operation
9.3.2 Keyboard Initialization
9.4 Wait Mode
9.5 Stop Mode
9.6 Keyboard Module During Break Interrupts
9.7 Input/Output Registers
9.7.1 Keyboard Status and Control Register
9.7.2 Keyboard Interrupt Enable Register
Chapter 10
Low-Voltage Inhibit (LVI)
10.1 Introduction
10.2 Features
10.3 Functional Description
10.3.1 Polled LVI Operation 8
10.3.2 Forced Reset Operation 8
10.3.3 Voltage Hysteresis Protection
10.3.4 LVI Trip Selection
10.4 LVI Status Register 8
10.5 LVI Interrupts
10.6 Low-Power Modes 8
10.6.1 Wait Mode
10.6.2 Stop Mode
Chapter 11 Oscillator Module (OSC)
11.1 Introduction
11.2 Features
11.3 Functional Description
11.3.1 Internal Oscillator
11.3.1.1 Internal Oscillator Trimming
11.3.1.2 Internal to External Clock Switching 9
11.3.2 External Oscillator
11.3.3 XTAL Oscillator 9
11.3.4 RC Oscillator 9
11.4 Oscillator Module Signals
11.4.1 Crystal Amplifier Input Pin (OSC1) 9
11.4.2 Crystal Amplifier Output Pin (OSC2/PTA4/BUSCLKX4) 94
11.4.3 Oscillator Enable Signal (SIMOSCEN) 9
11.4.4 XTAL Oscillator Clock (XTALCLK) 94
11.4.5 RC Oscillator Clock (RCCLK) 9
11.4.6 Internal Oscillator Clock (INTCLK) 9
11.4.7 Oscillator Out 2 (BUSCLKX4) 9
11.4.8 Oscillator Out (BUSCLKX2) 9
11.5 Low Power Modes 9
11.5.1 Wait Mode
11.5.2 Stop Mode
11.6 Oscillator During Break Mode 9
11.7 CONFIG2 Options 9
11.8 Input/Output (I/O) Registers
11.8.1 Oscillator Status Register
11.8.2 Oscillator Trim Register (OSCTRIM) 9
Input/Output Ports (PORTS)
12.1 Introduction
12.2 Port A
12.2.1 Port A Data Register 9
12.2.2 Data Direction Register A
12.2.3 Port A Input Pullup Enable Register 9
12.3 Port B 1
12.3.1 Port B Data Register 10
12.3.2 Data Direction Register B 1
12.3.3 Port B Input Pullup Enable Register 10
Chapter 13
System Integration Module (SIM)
13.1 Introduction 1
13.2 RST and IRQ Pins Initialization 10
13.3 SIM Bus Clock Control and Generation 10
13.3.1 Bus Timing 1
13.3.2 Clock Start-Up from POR 10
13.3.3 Clocks in Stop Mode and Wait Mode 10
13.4 Reset and System Initialization 1
13.4.1 External Pin Reset 10
13.4.2 Active Resets from Internal Sources 1
13.4.2.1 Power-On Reset 10
13.4.2.2 Computer Operating Properly (COP) Reset 10
13.4.2.3 Illegal Opcode Reset 10
13.4.2.4 Illegal Address Reset 10
13.4.2.5 Low-Voltage Inhibit (LVI) Reset 10
13.5 SIM Counter 10
13.5.1 SIM Counter During Power-On Reset 10
13.5.2 SIM Counter During Stop Mode Recovery 10
13.5.3 SIM Counter and Reset States 10
13.6 Exception Control 1
13.6.1 Interrupts 1
13.6.1.1 Hardware Interrupts 1
13.6.1.2 SWI Instruction 11
13.6.2 Interrupt Status Registers 1
13.6.2.1 Interrupt Status Register 1 1
13.6.2.2 Interrupt Status Register 2 1
13.6.2.3 Interrupt Status Register 3 1
13.6.3 Reset 1
13.6.4 Break Interrupts 1
13.6.5 Status Flag Protection in Break Mode 11
13.7 Low-Power Modes 11
13.7.1 Wait Mode 1
13.7.2 Stop Mode 1
13.6.2 Interrupt Status Registers 1
13.6.2.1 Interrupt Status Register 1 1
13.6.2.2 Interrupt Status Register 2 1
13.6.2.3 Interrupt Status Register 3 1
13.6.3 Reset 1
13.6.4 Break Interrupts 1
13.6.5 Status Flag Protection in Break Mode 11
13.7 Low-Power Modes 11
13.7.1 Wait Mode 1
13.7.2 Stop Mode 1
13.8.1 SIM Reset Status Register — Clarified SRSR flag setting 117
14.9.1 TIM Status and Control Register — Added information to TSTOP note 127
16.8 5-V Oscillator Characteristics — Added values for deviation from trimmed 155
inernal oscillator
16.12 3-V Oscillator Characteristics — Added values for deviation from trimmed 158
inernal oscillator
Figure 5-2. Configuration Register 1 (CONFIG1) — Clarified bit definitions for 54
COPRS.
Chapter 8 External Interrupt (IRQ) — Reworked for clarification. 73
11.3.4 RC Oscillator — Improved RC oscillator wording. 93
12.1 Introduction — Added note pertaining to non-bonded port pins. 97
17.3 Package Dimensions — Updated package information. 165
hapters
neral Description 17
mory 25
alog-to-Digital Converter (ADC) 41
to Wakeup Module (AWU) 49
nfiguration Register (CONFIG) 53
mputer Operating Properly (COP) 57
ntral Processor Unit (CPU) 61
ernal Interrupt (IRQ) 73
yboard Interrupt Module (KBI) 79
ow-Voltage Inhibit (LVI) 85
scillator Module (OSC) 89
put/Output Ports (PORTS) 97
ystem Integration Module (SIM) 103
mer Interface Module (TIM) 119
evelopment Support 133
ectrical Specifications 149
rdering Information and Mechanical Specifications 165
Contents
eral Description
ction 17
s 17
ock Diagram 19
gnments 19
ctions 22
ction Priority 23
mory
ction 25
emented Memory Locations 25
ed Memory Locations 25
utput (I/O) Section 27
m-Access Memory (RAM) 32
Memory (FLASH) 33
SH Control Register 33
SH Page Erase Operation 34
SH Mass Erase Operation 35
SH Program Operation 35
SH Protection 36
SH Block Protect Register 38
t Mode 39
p Mode 39
Module (AWU)
ction 49
s 49
nal Description 49
ode 50
ode 50
utput Registers 51
A I/O Register 51
board Status and Control Register 51
board Interrupt Enable Register 52
figuration Register (CONFIG)
ction 53
nal Description 53
hibit (LVI)
ction 85
s 85
nal Description 85
ed LVI Operation 86
ced Reset Operation 86
age Hysteresis Protection 86
Trip Selection 86
us Register 87
rrupts 87
wer Modes 87
t Mode 87
p Mode 87
cillator Module (OSC)
ction 89
s 89
nal Description 89
rnal Oscillator 90
ternal Oscillator Trimming 91
ternal to External Clock Switching 91
ernal Oscillator 91
L Oscillator 92
Oscillator 93
or Module Signals 93
stal Amplifier Input Pin (OSC1) 93
stal Amplifier Output Pin (OSC2/PTA4/BUSCLKX4) 94
illator Enable Signal (SIMOSCEN) 94
L Oscillator Clock (XTALCLK) 94
Oscillator Clock (RCCLK) 94
rnal Oscillator Clock (INTCLK) 94
illator Out 2 (BUSCLKX4) 94
illator Out (BUSCLKX2) 94
wer Modes 95
t Mode 95
p Mode 95
or During Break Mode 95
2 Options 95
utput (I/O) Registers 95
illator Status Register 96
illator Trim Register (OSCTRIM) 96
orts (PORTS)
ction 97
97
A Data Register 98
a Direction Register A 98
A Input Pullup Enable Register 99
100
B Data Register 100
a Direction Register B 101
B Input Pullup Enable Register 102
gisters 116
Reset Status Register 117
ak Flag Control Register 118
e Module (TIM)
ction 119
s 119
me Conventions 119
nal Description 121
Counter Prescaler 122
ut Capture 122
put Compare 122
nbuffered Output Compare 122
uffered Output Compare 122
se Width Modulation (PWM) 123
nbuffered PWM Signal Generation 124
uffered PWM Signal Generation 124
WM Initialization 125
pts 125
ode 126
ing Break Interrupts 126
utput Signals 126
Clock Pin (PTA2/TCLK) 126
Channel I/O Pins (PTA0/TCH0 and PTA1/TCH1) 126
utput Registers 126
Status and Control Register 127
Counter Registers 128
Counter Modulo Registers 129
Channel Status and Control Registers 129
Channel Registers 132
velopment Support
ction 133
Module (BRK) 133
ctional Description 133
ag Protection During Break Interrupts 135
M During Break Interrupts 135
OP During Break Interrupts 135
ak Module Registers 135
reak Status and Control Register 136
reak Address Registers 136
reak Auxiliary Register 137
reak Status Register 137
Module (BRK) 133
ctional Description 133
ag Protection During Break Interrupts 135
M During Break Interrupts 135
OP During Break Interrupts 135
ak Module Registers 135
reak Status and Control Register 136
reak Address Registers 136
reak Auxiliary Register 137
reak Status Register 137
reak Flag Control Register 138
-Power Modes 138
1.2 Features
Features include:
• High-performance M68HC08 CPU core
• Fully upward-compatible object code with M68HC05 Family
• 5-V and 3-V operating voltages (VDD)
• 8-MHz internal bus operation at 5 V, 4-MHz at 3 V
• Trimmable internal oscillator
– 3.2 MHz internal bus operation
– 8-bit trim capability allows 0.4% accuracy(1)
– ± 25% untrimmed
• Auto wakeup from STOP capability
• Configuration (CONFIG) register for MCU configuration options, including:
– Low-voltage inhibit (LVI) trip point
• In-system FLASH programming
• FLASH security(2)
1. The oscillator frequency is guaranteed to ±5% over temperature and voltage range after trimming.
2. No security feature is absolutely secure. However, Freescale’s strategy is to make reading or copying the FLASH difficult
unauthorized users.
• On-chip in-application programmable FLASH memory (with internal program/erase voltage
generation)
– MC68HC908QY4 and MC68HC908QT4 — 4096 bytes
– MC68HC908QY2, MC68HC908QY1, MC68HC908QT2, and MC68HC908QT1 — 1536 bytes
• 128 bytes of on-chip random-access memory (RAM)
• 2-channel, 16-bit timer interface module (TIM)
• 4-channel, 8-bit analog-to-digital converter (ADC) on MC68HC908QY2, MC68HC908QY4,
MC68HC908QT2, and MC68HC908QT4
• 5 or 13 bidirectional input/output (I/O) lines and one input only:
– Six shared with keyboard interrupt function and ADC
– Two shared with timer channels
– One shared with external interrupt (IRQ)
– Eight extra I/O lines on 16-pin package only
– High current sink/source capability on all port pins
– Selectable pullups on all ports, selectable on an individual bit basis
– Three-state ability on all port pins
• 6-bit keyboard interrupt with wakeup feature (KBI)
• Low-voltage inhibit (LVI) module features:
– Software selectable trip point in CONFIG register
• System protection features:
– Computer operating properly (COP) watchdog
– Low-voltage detection with reset
– Illegal opcode detection with reset
– Illegal address detection with reset
• External asynchronous interrupt pin with internal pullup (IRQ) shared with general-purpose inp
• Master asynchronous reset pin (RST) shared with general-purpose input/output (I/O) pin
• Power-on reset
• Internal pullups on IRQ and RST to reduce external components
• Memory mapped I/O registers
• Power saving stop and wait modes
• MC68HC908QY4, MC68HC908QY2, and MC68HC908QY1 are available in these packages:
– 16-pin plastic dual in-line package (PDIP)
– 16-pin small outline integrated circuit (SOIC) package
– 16-pin thin shrink small outline package (TSSOP)
• MC68HC908QT4, MC68HC908QT2, and MC68HC908QT1 are available in these packages:
– 8-pin PDIP
– 8-pin SOIC
– 8-pin dual flat no lead (DFN) package
MCU Block Di
Features of the CPU08 include the following:
• Enhanced HC05 programming model
• Extensive loop control functions
• 16 addressing modes (eight more than the HC05)
• 16-bit index register and stack pointer
• Memory-to-memory data transfers
• Fast 8 8 multiply instruction
• Fast 16/8 divide instruction
• Binary-coded decimal (BCD) instructions
• Optimization for controller applications
• Efficient C language support
1.3 MCU Block DiagramFigure 1-1 shows the structure of the MC68HC908QY4.
1.4 Pin AssignmentsThe MC68HC908QT4, MC68HC908QT2, and MC68HC908QT1 are available in 8-pin packages and the MC68HC90
ce M68HC08 Family of 8-bit
ction Set Computer (CISC) with a
M68HC08 central processor unit
and types, and package types.
uding:
fter trimming.
ading or copying the FLASH difficult for
al program/erase voltage
QY2, MC68HC908QY4,
CLOCK GENERATOR
(OSCILLATOR)
DDRA
PTA
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
COP MODULE
POWER SUPPLY
MONITOR ROM
VD
D
VSS
Pin Assignme
1 8
2 7
3 6
4 5
V
DD V
SS PTA0/TCH0/KBI0 V
DD 1 8
V
SS PTA0/AD0/TCH0/K
PTA5/OSC1/KBI PTA1/TCH1/KBI1 PTA5/OSC1/AD3/KBI
2 7 PTA1/AD1/TCH1/KBI1
5 PTA2/IRQ/KBI2/TCLK 5 3 6 PTA2/IRQ/KBI2/TCLK
PTA4/OSC2/KBI PTA4/OSC2/AD2/KBI
4 5
4 4
PTA3/RST/KBI3 PTA3/RST/KBI3
16-PIN
ASSIGNMENT 16-PIN ASSIGNMENT
MC68HC908QY1 PDIP/SOIC MC68HC908QY2 AND MC68HC908QY4 PDIP/SOIC
1 16
2 15
3 14
4 13
5 12
6 11
7 10
8 9
1 16
2 15
3 14
4 13
5 12
6 11
7 10
8 9
PTA0/TCH0/KBI0 P PTA0/AD0/TCH0/KBI0 P
PTB1 PTB0 T PTB1 PTB0 T
V
SS VDD A V
SS VDD A
PTB7 PTB6 16- 1 PTB7 PTB6 1
PTA5/OSC1/KBI5 PI / PTA5/OSC1/AD3/KBI5 16- /
N T PIN A
AS C AS D
SI H SI 1
GN 1 GN /
ME / ME T
NT K NT C
MC68HC908QY1 TSSOP
MC68HC908QY2 AND MC68HC908QY4 TSSOP
V
SS PTA0/AD0/TCH0/KBI0
PTA1/AD1/TCH1/KBI1
PTA2/IRQ/KBI2/TCLK
8QT4 PDIP/SOIC
V
SS
PTB0 PTB1
PTA0/AD0/TCH0/KBI0
PTA1/AD1/TCH1/KBI1 PTB2
PTB3
PTA2/IRQ/KBI2/TCLK
08QY4 PDIP/SOIC
8 PTA1/AD1/TCH1/KBI1
7 PTA2/IRQ/KBI2/TCLK
6 PTA3/RST/KBI3
5 PTA4/OSC2/AD2/KBI4
1.5 Pin FunctionsTable 1-2 provides a description of the pin functions.Table 1-2. Pin Functions
V
DD Power supply
V
SS Power supply ground
1. The PTB pins are not available on the 8-pin packages (see note in 12.1 Introduction).
Functions
Input/Output
Power
Power
Input/Output
Input
Input/Output
Input
Input/Output
Input
Input/Output
Input
Input
Input
Input
Input
Input/Output
Input
Input
Input/Output
Output
Output
Input
Input
Input/Output
Input
Input
Input
Input/Output
Pin Function Priority
1.6 Pin Function Priority
Table 1-3 is meant to resolve the priority if multiple functions are enabled on a single pin.NOTEUpon reset all pins come up as input ports re
Chapter 2 Memory
2.1 IntroductionThe central processor unit (CPU08) can address 64 Kbytes of memory space. The memory map, shown in Figure 2-1, incl
2.2 Unimplemented Memory LocationsAccessing an unimplemented location can have unpredictable effects on MCU operation. In Figure 2
2.3 Reserved Memory LocationsAccessing a reserved location can have unpredictable effects on MCU operation. In Figure 2-1 and in reg
Pin Function Priority
Upon reset all pins come up as input ports regardless of the priority table.Table 1-3. Function Priority in Shared Pins
The memory map, shown in Figure 2-1, includes:• 4096 bytes of user FLASH for MC68HC908QT4 and MC68HC908QY4• 1536 bytes of user FLAS
table effects on MCU operation. In Figure 2-1 and in register figures in this document, unimplemented locations are shaded.
on MCU operation. In Figure 2-1 and in register figures in this document, reserved locations are marked with the word Reserved or with the letter R.
$0000
$003F
$0040
$007F
$0080
$00FF
$0100
$27FF
$2800
$2DFF
$2E00
$EDFF
$EE00
$FDFF
$FE00
$FE01
$FE02
$FE03
$FE04
$FE05
$FE06
$FE07
$FE08
$FE09
$FE0A
$FE0B
$FE0C
$FE0D
$FE0F
$FE10
$FFAF
$FFB0
$FFBD
$FFBE
$FFBF
$FFC0
$FFC1
$FFC2
$FFCF
$FFD0
$FFFF
Note 1.
Attempts to execute code from addresses in this range will
generate an illegal address reset.
RESERVED(1) 64 BYTES
FLASH 14 BYTES
$2E00
$F7FF
$F800
$FDFF
$0002 Unimplemented
$0003 Unimplemented
R R DDRA5 DDRA4 DDRA3 0 DDRA1 DDRA0
Read:
Write:
Reset: 0 0 0 0 0
Read: DDRB7 DDRB6 DDRB5 DDRB4 DDRB3
Write:
Reset: 0 0 0 0 0
= R =
$0004 Data Direction Register A(DDRA)See page 98.Data DirectionUnimplemente Reserved
Register B(DDRB)See page 101.Figure 2-2. Control, Status, and D
$0005 d
1 Bit 0
0 0 0
DDRB2 DDRB1 DDRB0
0 0 0
U=
Unaffected
igure 2-2. Control, Status, and Data Registers (Sheet 1 of 5)
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
$0006 Unimplemented UnimplementedPort A Input Pullup Enable Register (PTAPUE)See page 99.Port B Input Pullup Enable Register
$000A
$000B
$000C
$000D
$0019
Read:
Write:
Reset: 0 0 0 0 0
Read: PTBPUE7 PTBPUE6 PTBPUE5 PTBPUE4 PTBPUE3
Write:
Reset: 0 0 0 0 0
$001C Unimplemented
0 0 0 0 IRQF 0 IMASK MODE
ACK
$001D IRQ Status and Control Register
Read: (INTSCR) See page 77.Configuration Register 2(CONFIG2)(1)See page 53.
$001E Write:
Reset: 0 0 0 0 0 0 0 0
Read:
Write:
Reset: 0 0 0 0 0 0 0 0 (2)
1. One-time writable register after each reset.
2. RSTEN reset to 0 by a power-on reset (POR) only.
IRQPUD IRQEN R OSCOPT1 OSCOPT0 R R RSTEN
0 0 0
PTBPUE2 PTBPUE1 PTBPUE0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0 (2)
0 0 0
0 0 0
Bit 10 B it 9 Bit 8
0 0 0
U=
Unaffected
f 5)
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
R R R R R R ECGON ECGST
R
= Unimplemented = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 3 of 5)
1 Bit 0
0 0 0
1 1 1
1 1 1
0 0 0
eset
eset
eset
eset
0 0 0
0 0 0
Bit 10 Bit 9 Bit 8
0 0 0
U = Unaffected
f 5)
Addr. Register Name Bit 7 6 5 4 3
$0039 Unimplemented
$003B
$003D Unimplemented
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Read:
Write:
Reset: 0 0 0 0 0
Read:
Write:
Reset:
1. Writing a 0 clears SBSW.
R R R R R R R R
$FE07 Reserved
R
= Unimplemented = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 4 of 5)
2 1 Bit 0
1 1 1
eset
0 0 0
0
MODRST LVI 0
0 0 0
0 0 0
R R R
IF1 0 0
R R R
0 0 0
0 0 0
R R R
0 0 0
0 0 IF15
R R R
0 0 0
U = Unaffected
f 5)
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 HVEN MASS ERASE PGM
BRKE BRKA 0 0 0 0 0 0
LVIOUT 0 0 0 0 0 0 R
R R R R R R R R
R R R R R R R R
$FFBF Reserved
TRIM7 TRIM6 TRIM5 TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
R
= Unimplemented = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 5 of 5)
3 2 1 Bit 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Unaffected by reset
Unaffected by reset
Unaffected by reset
= Reserved U = Unaffected
gisters (Sheet 5 of 5)
Table 2-1. Vect or Addresses
.
NOTE
For M6805, M146805, and M68HC05 compatibility, the H register is not stacked.
During a subroutine call, the CPU uses two bytes of the stack to store the return address. The stack po
decrements during pushes and increments during pulls.
NOTE
Be careful when using nested subroutines. The CPU may overwrite data in the RAM during a subroutine or during th
interrupt stacking operation.
2.6 FLASH Memory (FLASH)
This subsection describes the operation of the embedded FLASH memory. The FLASH memory can be
programmed, and erased from a single external supply. The program and erase operations are enable
through the use of an internal charge pump.
The FLASH memory consists of an array of 4096 or 1536 bytes with an additional 48 bytes for user ve
The minimum size of FLASH memory that can be erased is 64 bytes; and the maximum size of FLASH
memory that can be programmed in a program cycle is 32 bytes (a row). Program and erase operation
facilitated through control bits in the FLASH control register (FLCR). Details for these operations appea
later in this section. The address ranges for the user memory and vectors are:
• $EE00 – $FDFF; user memory, 4096 bytes: MC68HC908QY4 and MC68HC908QT4
• $F800 – $FDFF; user memory, 1536 bytes: MC68HC908QY2, MC68HC908QT2, MC68HC908QY1 an
MC68HC908QT1
• $FFD0 – $FFFF; user interrupt vectors, 48 bytes.
NOTE
An erased bit reads as a 1 and a programmed bit reads as a 0. A security feature prevents viewing of the FLASH co
(1)
d.
the return address. The stack pointer
operations.
0 0 0 0 HVEN MASS ERASE PGM
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 2-3. FLASH Control Register (FLCR)
HVEN — High Voltage Enable Bit
This read/write bit enables high voltage from the charge pump to the memory for either program or e
operation. It can only be set if either PGM =1 or ERASE =1 and the proper sequence for program or er
followed.
1 = High voltage enabled to array and charge pump on 0 = High voltage disabled to array and charge
pump off
MASS — Mass Erase Control Bit
This read/write bit configures the memory for mass erase operation.
1 = Mass erase operation selected
0 = Mass erase operation unselected
1. No security feature is absolutely secure. However, Freescale’s strategy is to make reading or copying the FLASH difficu
unauthorized users.
ERASE — Erase Control Bit
This read/write bit configures the memory for erase operation. ERASE is interlocked with the PGM bit s
that both bits cannot be equal to 1 or set to 1 at the same time.
1 = Erase operation selected
0 = Erase operation unselected
PGM — Program Control Bit
This read/write bit configures the memory for program operation. PGM is interlocked with the ERASE b
such that both bits cannot be equal to 1 or set to 1 at the same time.
1 = Program operation selected
0 = Program operation unselected
2.6.2 FLASH Page Erase Operation
Use the following procedure to erase a page of FLASH memory. A page consists of 64 consecutive byt
starting from addresses $XX00, $XX40, $XX80, or $XXC0. The 48-byte user interrupt vectors area also
forms a page. Any FLASH memory page can be erased alone.
1. Set the ERASE bit and clear the MASS bit in the FLASH control register.
2. Read the FLASH block protect register.
3. Write any data to any FLASH location within the address range of the block to be erased.
4. Wait for a time, tNVS (minimum 10 s).
5. Set the HVEN bit.
6. Wait for a time, tErase (minimum 1 ms or 4 ms).
7. Clear the ERASE bit.
8. Wait for a time, tNVH (minimum 5 s).
9. Clear the HVEN bit.
10. After time, tRCV (typical 1 s), the memory can be accessed in read mode again.
NOTE
Programming and erasing of FLASH locations cannot be performed by code being executed from the FLASH memo
While these operations must be performed in the order as shown, but other unrelated operations
may occur between the steps.
CAUTION
A page erase of the vector page will erase the internal oscillator trim value at $FFC0.
In applications that require more than 1000 program/erase cycles, use the 4 ms page erase specificat
get improved long-term reliability. Any application can use this 4 ms page erase specification. Howeve
applications where a FLASH location will be erased and reprogrammed less than 1000 times, and
speed is important, use the 1 ms page erase specification to get a shorter cycle time.
CAUTIONA mass erase will erase the internal oscillator trim value at $FFC0.2.6.4 FLASH Program OperationProgramming of the FLASH
1. When in monitor mode, with security sequence failed (see 15.3.2 Security), write to the FLASH block protect register in
of any FLASH address.
2. The time between each FLASH address change, or the time between the last FLASH address programmed to clearing P
must not exceed the maximum programming time, tPROG maximum.
8. Wait for time, tPROG (minimum 30 s).
9. Repeat step 7 and 8 until all desired bytes within the row are programmed.
10. Clear the PGM bit(1).
11. Wait for time, tNVH (minimum 5 s).
12. Clear the HVEN bit.
13. After time, tRCV (typical 1 s), the memory can be accessed in read mode again.
NOTE
The COP register at location $FFFF should not be written between steps 5–12, when the HVEN bit is set. Since this
register is located at a
valid FLASH address, unpredictable behavior may occur if this location is written while HVEN is set.
This program sequence is repeated throughout the memory until all data is programmed.
NOTE
Programming and erasing of FLASH locations cannot be performed by code being executed from the FLASH memo
While these operations must be performed in the order shown, other unrelated operations may occur between the st
Do not exceed tPROG maximum, see 16.16
Memory Characteristics.
2.6.5 FLASH Protection
Due to the ability of the on-board charge pump to erase and program the FLASH memory in the targe
application, provision is made to protect blocks of memory from unintentional erase or program opera
due to system malfunction. This protection is done by use of a FLASH block protect register (FLBPR). T
FLBPR determines the range of the FLASH memory which is to be protected. The range of the protecte
area starts from a location defined by FLBPR and ends to the bottom of the FLASH memory ($FFFF). W
the memory is protected, the HVEN bit cannot be set in either ERASE or PROGRAM
operations.
NOTE
In performing a program or erase operation, the FLASH block protect register must be read after setting the PGM or
ERASE bit and before asserting the HVEN bit.
When the FLBPR is programmed with all 0 s, the entire memory is protected from being programmed
erased. When all the bits are erased (all 1’s), the entire memory is accessible for program and erase.
When bits within the FLBPR are programmed, they lock a block of memory. The address ranges are sh
in 2.6.6 FLASH Block Protect Register. Once the FLBPR is programmed with a value other than
$FF, any erase or program of the FLBPR or the protected block of FLASH memory is prohibited. Mass e
is disabled whenever any block is protected (FLBPR does not equal $FF). The FLBPR itself can be erase
programmed only with an external voltage, VTST, present on the IRQ pin. This voltage also
allows entry from reset into the monitor mode.
0 0
ation.
trol register.
ue at $FFC0.
les, use the 4 ms page erase specification to
4 ms page erase specification. However, in
ammed less than 1000 times, and
et a shorter cycle time.
ry to read as a 1:
ntrol register.
ASH Program OperationProgramming of the FLASH memory is done on a row basis. A row consists of 32 consecutive bytes starting from addresses $XX
2
WRITE ANY DATA TOANY FLASH ADDRESS
WITHIN THE ROWADDRESS RANGE
DESIRED
3
WAIT FOR A TIME, tNVS
4
SET HVEN BIT
5
WAIT FOR A TIME, tPGS
7
6
WRITE DATA TOTHE FLASH ADDRESS TO
BE PROGRAMMED
8
WAIT FOR A TIME, tPROG
10
11
NOTES: COMPLETED 12
9 PROGRAMMIN
The time between each FLASH address change (step 7 to step 7), or the time between the last FLASH address programm
to clearing PGM bitG(step
THIS 7 to step 10) 13
ROW?
must not exceed the maximum programming time, tPROG max.
This row program algorithm assumes the row/s to be programmed are initially erased.
N
12
Y
FLASH address change (step 7 to step 7), or the time between the last FLASH address programmed
p 7 to step 10) 13
END OF PROGRAMMING
Read:Write:Reset: Unaffected by reset. Initial value fromfactory is 1.Write to this register is by a programming seque
Chapter 3
Analog-to-Digital Converter (ADC)
3.1 Introduction
This section describes the analog-to-digital converter (ADC). The ADC is an 8-bit, 4-channel analog-to
digital converter. The ADC module is only available on the MC68HC908QY2, MC68HC908QT2,
MC68HC908QY4, and MC68HC908QT4.
3.2 Features
Features of the ADC module include:
• 4 channels with multiplexed input
• Linear successive approximation with monotonicity
• 8-bit resolution
• Single or continuous conversion
• Conversion complete flag or conversion complete interrupt
• Selectable ADC clock frequency
3.3 Functional DescriptionFour ADC channels are available for sampling external sources at pins PTA0, PTA1, PTA4, and PTA5. An ana
FLASH memory, and therefore can
y. The value in this register
ASH memory.
Bit 0
te to this register is by a programming sequence to the FLASH memory.Figure 2-5. FLASH Block Protect Register (FLBPR)BPR[7:0] — FLASH Protec
0 0 0 0
ddress
ddress
s not affect the operation of the
ce the CPU is inactive.
ram or erase operation on the FLASH,
ode.
CLOCK GENERATOR
(OSCILLATOR)
DDRA
PTA
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
COP MODULE
POWER SUPPLY
MONITOR ROM
VD
D
VSS
DATA Functional Descrip
BUS
INTERNAL
DDRAx READ
DDRA
DISABL
WRITE E
PTAx
DDRA
RESET
ADCx
WRITE
PTA
READ
PTA
DISABL
E
ADC
ADC DATA REGISTER CHANNEL x
ADC
CONVERSION A CH[4:0]
COMPLETE D
C
V
O
ADC CLOCK
L
AIEN COCO T
A
CHANNEL SELECT
(1 OF 4 CHANNELS)
INTERRUPT
LOGIC
CLOCK
GENERATOR
BUS CLOCK
ADIV[2:0]
Figure 3-2. ADC Block Diagram
3.3.2 Voltage Conversion
When the input voltage to the ADC equals VDD, the ADC converts the signal to $FF (full scale). If the in
voltage equals VSS, the ADC converts it to $00. Input voltages between VDD and VSS are a straight-line lin
conversion. All other input voltages will result in $FF if greater than V DD and $00 if less than VSS.
NOTE
Input voltage should not exceed the analog supply voltages.
3.3.3 Conversion Time
Sixteen ADC internal clocks are required to perform one conversion. The ADC starts a conversion on
first rising edge of the ADC internal clock immediately following a write to the ADSCR. If the ADC inte
clock is selected to run at 1 MHz, then one conversion will take 16 s to complete. With a 1-MHz AD
internal clock the maximum sample rate is 62.5 kHz.
16 ADC Clock Cycles
Conversion Time =
ADC Clock Frequency
Number of Bus Cycles = Conversion Time Bus Frequency
3.3.4 Continuous Conversion
In the continuous conversion mode (ADCO = 1), the ADC continuously converts the selected channe
filling the ADC data register (ADR) with new data after each conversion. Data from the previous
conversion will be overwritten whether that data has been read or not. Conversions will continue unt
the ADCO bit is cleared. The COCO bit (ADSCR, $003C) is set after each conversion and will stay set
the next read of the ADC data register.
When a conversion is in process and the ADSCR is written, the current conversion data should be
discarded to prevent an incorrect reading.
3.3.5 Accuracy and Precision
The conversion process is monotonic and has no missing codes.
3.4 Interrupts
When the AIEN bit is set, the ADC module is capable of generating a central processor unit (CPU)
interrupt after each ADC conversion. A CPU interrupt is generated if the COCO bit is at 0. The COCO
not used as a conversion complete flag when interrupts are enabled.
Input/Output Signals
3.5.2 Stop Mode
Functional Description
ADCx
CHANNEL x
F (full scale). If the input
are a straight-line linear
$00 if less than VSS.
on data should be
Address: $003C
Bit 7 6 5 4 3 2 1 Bit 0
COCO AIEN ADCO CH4 CH3 CH2 CH1 CH0
R
Read:
Write:
Reset: 0 0 0 1 1 1 1 1
= Reserved
Figure 3-3. ADC Status and Control Register (ADSCR)
COCO — Conversions Complete Bit
In non-interrupt mode (AIEN = 0), COCO is a read-only bit that is set at the end of each conversion. CO
will stay set until cleared by a read of the ADC data register. Reset clears this bit.
In interrupt mode (AIEN = 1), COCO is a read-only bit that is not set at the end of a conversion. It alwa
reads as a 0.
1 = Conversion completed (AIEN = 0)
0 = Conversion not completed (AIEN = 0) or CPU interrupt enabled (AIEN = 1)
NOTE
The write function of the COCO bit is reserved. When writing to the ADSCR register, always have a 0 in the COCO b
position.
R
ruction. Any pending conversion is aborted.
w one conversion cycle to stabilize the
e.
ort A.
of the four ADC channels to the ADC module.
1 Bit 0
1 1
bled (AIEN = 1)
One 8-bit result register is provided. This register is updated each time an ADC conversion complete
Address: $003E
Bit 7 6 5 4 3 2 1 Bit 0
AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0
Read:
Write:
Reset: Indeterminate after reset
= Unimplemented
Figure 3-4. ADC Data Register (ADR)
3.7.3 ADC Input Clock Register
This register selects the clock frequency for the ADC.
Address: $003F
Bit 7 6 5 4 3 2 1 Bit 0
ADIV2 ADIV1 ADIV0 0 0 0 0 0
Chapter 4
Auto Wakeup Module (AWU)
4.1 IntroductionThis section describes the auto wakeup module (AWU). The AWU generates a periodic interrupt during stop mode to wak
4.2 Features
Features of the auto wakeup module include:
• One internal interrupt with separate interrupt enable bit, sharing the same keyboard interrupt v
and keyboard interrupt mask bit
• Exit from low-power stop mode without external signals
• Selectable timeout periods
• Dedicated low-power internal oscillator separate from the main system clock sources
4.3 Functional DescriptionThe function of the auto wakeup logic is to generate periodic wakeup requests to bring the microcontroller unit (M
each time an ADC conversion completes.
1 Bit 0
1 Bit 0
0 0= UnimplementedFigure 3-5. ADC Input Clock Register (ADICLK)ADIV2–ADIV0 — ADC Clock Prescaler BitsADIV2, ADIV1, and ADI
de Ratio
generates a periodic interrupt during stop mode to wake the part up without requiring an external signal. Figure 4-1 is a block diagram of the AWU.
ic wakeup requests to bring the microcontroller unit (MCU) out of stop mode. The wakeup requests are treated as regular keyboard interrupt requests, wit
COPRS (FROM CONFIG1) V
DD TO
PTA
REA
D,
D
BIT Q
6
AW
E
UL
AW R
UIRE
Q
TO
AUTOWUGEN KBI
SHORT 1 = DIV
29
0 = DIV
INT RC OSC OVERFLOW
214
CLK RST
EN 32
kHz
CLRLOGIC
CLEAR
CLK
RST
RESET
(CGMXCLK) BUSCLKX4 R
E
S
I E
S T
T A
O C
P K
K
RESET
AWUIE
Figure 4-1. Auto Wakeup Interrupt Request Generation LogicThe auto wakeup RC oscillator is highly dependent on operating voltage and te
Address: $0000
Bit 7 6 5 4 3 2 1 Bit 0
0 AWUL PTA5 PTA4 PTA3 PTA2 PTA1 PTA0
Read:
Write:
Reset: 0 0 Unaffected by reset
= Unimplemented
Figure 4-2. Port A Data Register (PTA)
Address: $001A
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 KEYF 0 IMASKK MODEK
ACKK
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 4-3. Keyboard Status and Control Register (KBSCR)
Input/Output Registers
1 Bit 0
Unaffected by reset
ster (PTA)
1 Bit 0
0 0 0 0
ol Register (KBSCR)
Bits 7–4 — Not used
These read-only bits always read as 0s.
KEYF — Keyboard Flag Bit
This read-only bit is set when a keyboard interrupt is pending on port A or auto wakeup. Reset clears
KEYF bit.
1 = Keyboard/auto wakeup interrupt pending
0 = No keyboard/auto wakeup interrupt pending
ACKK — Keyboard Acknowledge Bit
Writing a 1 to this write-only bit clears the keyboard/auto wakeup interrupt request on port A and auto
wakeup logic. ACKK always reads as 0.Reset clears ACKK.
IMASKK— Keyboard Interrupt Mask Bit
Writing a 1 to this read/write bit prevents the output of the keyboard interrupt mask from generating
interrupt requests on port A or auto wakeup. Reset clears the IMASKK bit.
1 = Keyboard/auto wakeup interrupt requests masked
0 = Keyboard/auto wakeup interrupt requests not masked
NOTE
MODEK is not used in conjuction with the auto wakeup feature. To see a description of this bit, see 9.7.1 Keyboard
Status and Control Register.
4.6.3 Keyboard Interrupt Enable Register
The keyboard interrupt enable register (KBIER) enables or disables the auto wakeup to operate as a
keyboard/auto wakeup interrupt input.
Address: $001B
Bit 7 6 5 4 3 2
Read:
Write:
Reset: 0 0 0 0 0 0
= Unimplemented
0 AWUIE KBIE5 KBIE4 KBIE3 KBIE2 KBIE1 KBIE0
Figure 4-4. Keyboard Interrupt Enable Register (KBIER) AWUIE — Auto Wakeup Interrupt Enable Bit
This read/write bit enables the auto wakeup interrupt input to latch interrupt requests. Reset clears
AWUIE.
1 = Auto wakeup enabled as interrupt input
0 = Auto wakeup not enabled as interrupt input
NOTE
KBIE5–KBIE0 bits are not used in conjuction with the auto wakeup feature. To see a description of these bits, see 9
Keyboard Interrupt Enable Register.
uto wakeup. Reset clears the
wakeup to operate as a
1 Bit 0
0 0
NOTEThe CONFIG registers are one-time writable by the user after each reset. Upon a reset, the CONFIG registers default to predetermined
Address: $001E
Bit 7 6 5 4 3 2
Read: IRQPUD IRQEN R OSCOPT1 OSCOPT0 R
Write:
Reset: 0 0 0 0 0 0
POR: 0 0 0 0 0 0
R = U=
Reserved Unaffected
Figure 5-1. Configuration Register 2 (CONFIG2)
IRQPUD — IRQ Pin Pullup Control Bit
1 = Internal pullup is disconnected
0 = Internal pullup is connected between IRQ pin and VDD
IRQEN — IRQ Pin Function Selection Bit
1 = Interrupt request function active in pin 0 = Interrupt request function inactive in pin
OSCOPT1 and OSCOPT0 — Selection Bits for Oscillator Option
(0, 0) Internal oscillator
(0, 1) External oscillator
(1, 0) External RC oscillator
(1, 1) External XTAL oscillator
RSTEN — RST Pin Function Selection
1 = Reset function active in pin 0 = Reset function inactive in pin
The configuration registers
cycles)
registers default to predetermined settings as shown in Figure 5-1 and Figure 5-2.
1 Bit 0
R RSTEN
0 U
0 0
ctive in pin
NOTE
The RSTEN bit is cleared by a power-on reset (POR) only. Other resets will leave this bit unaffected.
Address: $001F
Bit 7 6 5 4 3 2
Read: LVISTOP LVIRSTD LVIPWRD LVI5OR3 SSREC
COPRS
Write:
Reset: 0 0 0 0 U 0
POR: 0 0 0 0 0 0
U = Unaffected
Figure 5-2. Configuration Register 1 (CONFIG1) COPRS (Out of STOP Mode) — COP Reset Period Selection
1 = COP reset short cycle = 8176 BUSCLKX4
0 = COP reset long cycle = 262,128 BUSCLKX4
COPRS (In STOP Mode) — Auto Wakeup Period Selection Bit
1 = Auto wakeup short cycle = 512 INTRCOSC
0 = Auto wakeup long cycle = 16,384 INTRCOSC
LVISTOP — LVI Enable in Stop Mode Bit
When the LVIPWRD bit is clear, setting the LVISTOP bit enables the LVI to operate during stop mode. R
clears LVISTOP.
1 = LVI enabled during stop mode 0 = LVI disabled during stop mode
LVIRSTD — LVI Reset Disable Bit
LVIRSTD disables the reset signal from the LVI module.
1 = LVI module resets disabled 0 = LVI module resets enabled
Functional Desc
LVIPWRD — LVI Power Disable Bit
LVIPWRD disables the LVI module. 1 = LVI module power disabled 0 = LVI module power enabled
LVI5OR3 — LVI 5-V or 3-V Operating Mode Bit
LVI5OR3 selects the voltage operating mode of the LVI module. The voltage mode selected for the
should match the operating VDD for the LVI’s voltage trip points for each of the modes.
1 = LVI operates in 5-V mode
0 = LVI operates in 3-V mode
NOTE
The LVI5OR3 bit is cleared by a power-on reset (POR) only. Other resets will leave this bit unaffected.
SSREC — Short Stop Recovery Bit
SSREC enables the CPU to exit stop mode with a delay of 32 BUSCLKX4 cycles instead of a 4096 BUSC
cycle delay.
1 = Stop mode recovery after 32 BUSCLKX4 cycles
0 = Stop mode recovery after 4096 BUSCLKX4 cycles
NOTE
Exiting stop mode by an LVI reset will result in the long stop recovery.
The system stabilization time for power-on reset and long stop recovery (both 4096 BUSCLKX4 cycles
gives a delay longer than the LVI enable time for these startup scenarios. There is no period where th
MCU is not protected from a low-power condition. However, when using the short stop recovery
configuration option, the 32 BUSCLKX4 delay must be greater than the LVI’s turn on time to avoid a p
in startup where the LVI is not protecting the MCU.
STOP — STOP Instruction Enable Bit
STOP enables the STOP instruction.
1 = STOP instruction enabled
0 = STOP instruction treated as illegal opcode
COPD — COP Disable Bit
COPD disables the COP module.
1 = COP module disabled 0 = COP module enabled
it unaffected.
1 Bit 0
STOP COPD
0 0
0 0
Functional Description
C
COP RATE SELECT (COPRS O
FROM CONFIG1) U
N
T
Figure 6-1.
COP Block Diagram
E
R
The COP counter is a free-running 6-bit counter preceded by the 12-bit system integration module (SI
counter. If not cleared by software, the COP counter overflows and generates an asynchronous reset a
262,128 or 8176 BUSCLKX4 cycles; depending on the state of the COP rate select bit, COPRS, in
configuration register 1. With a 262,128 BUSCLKX4 cycle overflow option, the internal 12.8-MHz oscill
gives a COP timeout period of 20.48 ms. Writing any value to location $FFFF before an overflow occur
prevents a COP reset by clearing the COP counter and stages 12–5 of the SIM counter.
NOTE
Service the COP immediately after reset and before entering or after exiting stop mode to guarantee the maximum t
before the first COP counter overflow.
A COP reset pulls the RST pin low (if the RSTEN bit is set in the CONFIG1 register) for 32 BUSCLKX4
cycles and sets the COP bit in the reset status register (RSR). See 13.8.1 SIM Reset Status Register.
NOTE
Place COP clearing instructions in the main program and not in an interrupt subroutine. Such an interrupt subroutine
keep the COP from generating a reset even while the main program is not working properly.
6.3 I/O SignalsThe following paragraphs describe the signals shown in Figure 6-1.6.3.1 BUSCLKX4BUSCLKX4 is the oscillator output si
The COPRS signal reflects the state of the COP rate select bit (COPRS) in the configuration register 1
Address: $FFFF
Bit 7 6 5 4 3 2 1 Bit 0
LOWBYTE OF RESET VECTOR
CLEAR COP COUNTER
Read:
Write:
Reset: Unaffected by reset
Figure 6-2. COP Control Register (COPCTL)
6.5 Interrupts
The COP does not generate CPU interrupt requests.
Chapter 7
Central Processor Unit (CPU)
7.1 Introduction
The M68HC08 CPU (central processor unit) is an enhanced and fully object-code-compatible version o
M68HC05 CPU. The CPU08 Reference Manual (document order number CPU08RM/AD) contains a descrip
of the CPU instruction set, addressing modes, and architecture.
7.2 Features
Features of the CPU include:
• Object code fully upward-compatible with M68HC05 Family
• 16-bit stack pointer with stack manipulation instructions
• 16-bit index register with x-register manipulation instructions
• 8-MHz CPU internal bus frequency
• 64-Kbyte program/data memory space
• 16 addressing modes
• Memory-to-memory data moves without using accumulator
• Fast 8-bit by 8-bit multiply and 16-bit by 8-bit divide instructions
• Enhanced binary-coded decimal (BCD) data handling
• Modular architecture with expandable internal bus definition for extension of addressing range
beyond 64 Kbytes
• Low-power stop and wait modes
ram
he 12-bit system integration module (SIM)
and generates an asynchronous reset after
the COP rate select bit, COPRS, in
flow option, the internal 12.8-MHz oscillator
ocation $FFFF before an overflow occurs
12–5 of the SIM counter.
(COPRS) in the configuration register 1 (CONFIG1). See Chapter 5 Configuration Register (CONFIG).
1 Bit 0
Unaffected by reset
er (COPCTL)
he IRQ pin.
tions
tor
ructions
V 1 1 H I N Z
H X C
7.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 6 5 4 3 2 1 Bit 0
Read:
Write:
Reset: Unaffected by reset
Figure 7-2. Accumulator (A)
Bit 15
14 13 12 11 10 9 8 7 6 5 4 3 2
Read:
Write:
Reset: 0 0 0 0 0 0 0 0 X X X X X X
X = Indeterminate
Figure 7-3. Index Register (H:X)
ER (H:X) STACK POINTER (SP)
Bit
1 0
X X
CPU Registers
7.3.3 Stack Pointer
The stack pointer is a 16-bit register that contains the address of the next location on the stack. Durin
reset, the stack pointer is preset to $00FF. The reset stack pointer (RSP) instruction sets the least
significant byte to $FF and does not affect the most significant byte. The stack pointer decrements as
data is pushed onto the stack and increments as data is pulled from the stack.
In the stack pointer 8-bit offset and 16-bit offset addressing modes, the stack pointer can function as
index register to access data on the stack. The CPU uses the contents of the stack pointer to determin
the conditional address of the operand.
Bit 15
14 13 12 11 10 9 8 7 6 5 4 3 2
Read:
Write:
Reset: 0 0 0 0 0 0 0 0 1 1 1 1 1 1
Figure 7-4. Stack Pointer (SP)
NOTE
The location of the stack is arbitrary and may be relocated anywhere in random-access memory (RAM). Moving the
out of page 0 ($0000 to
$00FF) frees direct address (page 0) space. For correct operation, the stack pointer must point only to RAM location
7.3.4 Program Counter
The program counter is a 16-bit register that contains the address of the next instruction or operand t
be fetched.
Normally, the program counter automatically increments to the next sequential memory location ever
time an instruction or operand is fetched. Jump, branch, and interrupt operations load the program
counter with an address other than that of the next sequential location.
During reset, the program counter is loaded with the reset vector address located at $FFFE and $FFFF
The vector address is the address of the first instruction to be executed after exiting the reset state.
Bit Bit
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Read: Write:
er can function as an
pointer to determine
Bit
1 0
1 1
uction or operand to
it
0
F
7.3.5 Condition Code Register
The 8-bit condition code register contains the interrupt mask and five flags that indicate the results o
instruction just executed. Bits 6 and 5 are set permanently to 1. The following paragraphs describe t
functions of the condition code register.
Bit 7 6 5 4 3 2 1 Bit 0
V 1 1 H I N Z C
Read:
Write:
Reset: X 1 1 X 1 X X X
X = Indeterminate
Figure 7-6. Condition Code Register (CCR)
V — Overflow Flag
The CPU sets the overflow flag when a two's complement overflow occurs. The signed branch instruc
BGT, BGE, BLE, and BLT use the overflow flag.
1 = Overflow
0 = No overflow
H — Half-Carry Flag
The CPU sets the half-carry flag when a carry occurs between accumulator bits 3 and 4 during an ad
without-carry (ADD) or add-with-carry (ADC) operation. The half-carry flag is required for
binary-coded decimal (BCD) arithmetic operations. The DAA instruction uses the states of the H and
flags to determine the appropriate correction factor.
1 = Carry between bits 3 and 4
0 = No carry between bits 3 and 4
I — Interrupt Mask
When the interrupt mask is set, all maskable CPU interrupts are disabled. CPU interrupts are enabled
when the interrupt mask is cleared. When a CPU interrupt occurs, the interrupt mask is set automati
after the CPU registers are saved on the stack, but before the interrupt vector is fetched.
1 = Interrupts disabled
0 = Interrupts enabled
NOTE
To maintain M6805 Family compatibility, the upper byte of the index register (H) is not stacked automatically. If the
interrupt service routine modifies H, then the user must stack and unstack H using the PSHH and PULH instructions
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 interru
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
7.7 Instruction Set SummaryTable 7-1 provides a summary of the M68HC08 instruction set.Table 7-1. Instruction Set Summary (Sheet 1
and five flags that indicate the results of the
1. The following paragraphs describe the
Bit 0
1 X X X
gister (CCR)
ak interrupt by:
Address
CCR
V I N Z C
H
ADC #opr ADC opr ⭥ ⭥ ⭥ ⭥ ⭥ IMM DIR
ADC opr ADC EXT IX2
opr,X ADC opr,X IX1 IX
ADC ,X SP1 SP2
ADC opr,SP ADC Add with Carry A (A) + (M) + (C) –
opr,SP
ASL opr ASLA Arithmetic Shift Left (Same as LSL) DIR INH
ASLX INH IX1
ASL opr,X ASL ,X IX SP1
ASL opr,SP ⭥ – – ⭥ ⭥ ⭥
C 0
b7 b0
BCC rel Branch if Carry Bit Clear PC (PC) + 2 + rel ? (C) = 0 – – – – – – REL
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
BCLR n, opr Clear Bit n in M Mn 0 – – – – – – DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
BCS rel Branch if Carry Bit Set (Same as PC (PC) + 2 + rel ? (C) = 1 – – – – – – REL
BEQ rel BLO)
Branch if Equal PC (PC) + 2 + rel ? (Z) = 1 – – – – – – REL
BGE opr Branch if Greater Than or Equal To PC (PC) + 2 + rel ? (N V – – – – – – REL
(Signed Operands)
BGT opr Branch if Greater Than (Signed PC (PC) + 2 + rel ? (Z) | (N V – – – – – – REL
Operands)
BHCC rel Branch if Half Carry Bit Clear PC (PC) + 2 + rel ? (H) = 0 – – – – – – REL
BHCS rel Branch if Half Carry Bit Set PC (PC) + 2 + rel ? (H) = 1 – – – – – – REL
BHI rel Branch if Higher PC (PC) + 2 + rel ? (C) | (Z) = 0 – – – – – – REL
Operand
Opcode
Cycles
A9 B9 ii dd 2
C9 D9 hh ll 3
E9 F9 ee ff ff 4
9EE9 ff 4
9ED9 ee ff 3
2
4
5
AB BB ii dd 2
CB DB hh ll 3
EB FB ee ff ff 4
9EEB ff 4
9EDB ee ff 3
2
4
5
A7 ii 2
AF ii 2
A4 B4 ii dd 2
C4 D4 hh ll 3
E4 F4 ee ff ff 4
9EE4 ff 4
9ED4 ee ff 3
2
4
5
38 dd 4
48 ff ff 1
58 1
68 4
78 3
9E68 5
37 dd 4
47 ff ff 1
57 1
67 4
77 3
9E67 5
24 rr 3
11 dd dd 4
13 dd dd 4
15 dd dd 4
17 dd dd 4
19 4
1B 4
1D 4
1F 4
25 rr 3
27 rr 3
90 rr 3
92 rr 3
28 rr 3
29 rr 3
22 rr 3
Source Form Operation Description Effect on
Address
CCR
V I N Z C
H
BHS rel Branch if Higher or Same (Same as PC (PC) + 2 + rel ? (C) = 0 – – – – – – REL
BCC)
BIH rel Branch if IRQ Pin High PC (PC) + 2 + rel ? IRQ = 1 – – – – –
– REL
BIL rel Branch if IRQ Pin Low PC (PC) + 2 + rel ? IRQ = 0 – – – – –
– REL
BIT #opr IMM
BIT opr DIR
BIT opr EXT
BIT opr,X BIT opr,X Bit Test (A) & (M) 0 – – ⭥ ⭥ – IX2 IX1
BIT ,X IX
BIT opr,SP SP1
BIT opr,SP SP2
BLE opr Branch if Less Than or Equal To PC (PC) + 2 + rel ? (Z) | (N V 1 – – – – – – REL
(Signed Operands)
BLO rel Branch if Lower (Same as BCS) PC (PC) + 2 + rel ? (C) = 1 – – – – – – REL
BLS rel Branch if Lower or Same PC (PC) + 2 + rel ? (C) | (Z) = 1 – – – – – – REL
BLT opr Branch if Less Than (Signed PC (PC) + 2 + rel ? (N V 1 – – – – – – REL
Operands)
BMC rel Branch if Interrupt Mask Clear PC (PC) + 2 + rel ? (I) = 0 – – – – – – REL
BMI rel Branch if Minus PC (PC) + 2 + rel ? (N) = 1 – – – – – – REL
BMS rel Branch if Interrupt Mask Set PC (PC) + 2 + rel ? (I) = 1 – – – – – – REL
BNE rel Branch if Not Equal PC (PC) + 2 + rel ? (Z) = 0 – – – – – – REL
BPL rel Branch if Plus PC (PC) + 2 + rel ? (N) = 0 – – – – – – REL
BRA rel Branch Always PC (PC) + 2 + rel – – – – – – REL
⭥ DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
BRCLR n,opr,rel Branch if Bit n in M Clear PC (PC) + 3 + rel ? (Mn) = 0 – – – – – DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
BSET n,opr Set Bit n in M Mn 1 – – – – – – DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
Cycles
24 rr 3
2F rr 3
2E rr 3
A5 ii 2
B5 dd 3
C5 hh ll 4
D5 ee ff ff 4
E5 3
F5 2
9EE5 ff 4
9ED5 ee ff 5
93 rr 3
25 rr 3
23 rr 3
91 rr 3
2C rr 3
2B rr 3
2D rr 3
26 rr 3
2A rr 3
20 rr 3
01 dd rr 5
03 dd rr 5
05 dd rr 5
07 dd rr 5
09 dd rr 5
0B dd rr 5
0D dd rr 5
0F dd rr 5
21 rr 3
00 dd rr 5
02 dd rr 5
04 dd rr 5
06 dd rr 5
08 dd rr 5
0A dd rr 5
0C dd rr 5
0E dd rr 5
10 dd dd 4
12 dd dd 4
14 dd dd 4
16 dd dd 4
18 4
1A 4
1C 4
1E 4
AD rr 4
31 dd rr ii 5
41 rr 4
51 ii rr ff 4
61 rr rr 5
71 ff rr 4
9E61 6
98 1
9A 2
3F dd 3
4F 1
5F 1
8C
1
6F ff 3
7F 2
9E6F ff 4
A1 ii 2
B1 dd 3
C1 hh ll 4
D1 ee ff ff 4
E1 3
F1 2
9EE1 ff 4
9ED1 ee ff 5
33 dd 4
43 1
53 ff 1
63 4
73 3
9E+63 ff 5
65 ii ii+1 3
75 dd 4
A3 ii 2
B3 dd 3
C3 hh ll 4
D3 ee ff ff 4
E3 3
F3 2
9EE3 ff 4
9ED3 ee ff 5
72 2
3B dd rr 5
4B rr 3
5B rr 3
6B ff rr rr 5
7B ff rr 4
9E6B 6
3A dd 4
4A 1
5A ff 1
6A 4
7A 3
9E6A ff 5
52 7
A8 ii 2
B8 dd 3
C8 hh ll 4
D8 ee ff ff 4
E8 3
F8 2
9EE8 ff 4
9ED8 ee ff 5
3C dd 4
4C 1
5C ff 1
6C 4
7C 3
9E6C ff 5
Source Form Operation Description Effect on
Address
CCR
V I N Z C
H
JMP opr JMP opr Jump PC Jump Address – – – – – – DIR EXT
JMP opr,X JMP IX2 IX1
opr,X JMP ,X IX
JSR opr JSR opr JSR Jump to Subroutine PC (PC) + n (n = 1, 2, or 3) Push – – – – – – DIR EXT
opr,X JSR opr,X (PCL); SP (SP) – 1 IX2 IX1
JSR ,X Push (PCH); SP (SP) – 1 IX
PC Unconditional Address
LDHX #opr LDHX Load H:X from M H:X M:M + 1 0 – – ⭥ ⭥ – IMM DIR
opr
LDX #opr LDX opr ⭥ ⭥ IMM DIR
LDX opr LDX opr,X EXT IX2
LDX opr,X LDX ,X IX1 IX
LDX opr,SP LDX SP1 SP2
opr,SP Load X from M X (M) 0 – – –
LSL opr LSLA LSLX Logical Shift Left (Same as ASL) DIR INH
LSL opr,X LSL ,X INH IX1
LSL opr,SP IX SP1
⭥ – – ⭥ ⭥ ⭥
C 0
b7
b0
Cycles
BC dd hh 2
CC ll ee ff 3
DC ff 4
EC 3
FC 2
BD dd hh 4
CD ll ee ff 5
DD ff 6
ED 5
FD 4
A6 B6 ii dd 2
C6 D6 hh ll 3
E6 F6 ee ff ff 4
9EE6 ff 4
9ED6 ee ff 3
2
4
5
45 ii jj dd 3
55 4
AE BE ii dd 2
CE DE hh ll 3
EE FE ee ff ff 4
9EEE ff 4
9EDE ee ff 3
2
4
5
38 dd 4
48 ff ff 1
58 1
68 4
78 3
9E68 5
34 dd 4
44 ff ff 1
54 1
64 4
74 3
9E64 5
4E dd dd 5
5E dd 4
6E ii dd 4
7E dd 4
42 5
30 dd 4
40 ff ff 1
50 1
60 4
70 3
9E60 5
9D 1
62 3
AA BA ii dd 2
CA DA hh ll 3
EA FA ee ff ff 4
9EEA ff 4
9EDA ee ff 3
2
4
5
87 2
8B 2
89 2
Source Form Operation Description Effect on
Address
CCR
V I N Z C
H
PULA Pull A from Stack SP (SP + 1); Pull A – – – – –– INH
PULH Pull H from Stack SP (SP + 1); Pull H – – – – –– INH
PULX Pull X from Stack SP (SP + 1); Pull X – – – – –– INH
ROL opr ROLA DIR INH
ROLX INH IX1
ROL opr,X ROL ,X IX SP1
ROL opr,SP Rotate Left through Carry ⭥ – – ⭥ ⭥ ⭥
C
b7 b0
Cycles
86 2
8A 2
88 2
39 dd 4
49 ff ff 1
59 1
69 4
79 3
9E69 5
36 dd 4
46 ff ff 1
56 1
66 4
76 3
9E66 5
9C 1
80 7
81 4
A2 B2 ii dd 2
C2 D2 hh ll 3
E2 F2 ee ff ff 4
9EE2 ff 4
9ED2 ee ff 3
2
4
5
99 1
9B 2
B7 C7 dd hh 3
D7 E7 ll ee ff 4
F7 ff 4
9EE7 ff 3
9ED7 ee ff 2
4
5
35 dd 4
8E 1
BF CF dd hh 3
DF EF ll ee ff 4
FF ff 4
9EEF ff 3
9EDF ee ff 2
4
5
A0 B0 ii dd 2
C0 D0 hh ll 3
E0 F0 ee ff ff 4
9EE0 ff 4
9ED0 ee ff 3
2
4
5
Source Form Operation Description Effect on
Address
CCR
V I N Z C
H
PC (PC) + 1; Push (PCL) SP (SP) – 1;
Push (PCH)
SP (SP) – 1; Push (X)
SWI Software Interrupt SP (SP) – 1; Push (A) – – 1 – – – INH
SP (SP) – 1; Push (CCR) SP (SP) – 1; I
1
PCH Interrupt Vector High Byte PCL
TAP Transfer A to CCR InterruptCCR
Vector Low Byte
(A) ⭥ ⭥ ⭥ ⭥ ⭥ ⭥ INH
TAX Transfer A to X X (A) – – – – –
– INH
TPA Transfer CCR to A A (CCR) – – – – –
– INH
TST opr DIR
TSTA INH
TSTX Test for Negative or Zero (A) – $00 or (X) – $00 or (M) – $00 0 – – ⭥ ⭥ – INH IX1
TST opr,X
TST ,X IX
TST opr,SP SP1
TSX Transfer SP to H:X H:X (SP) + 1 – – – – – – INH
TXA Transfer X to A A (X) – – – – – – INH
TXS Transfer H:X to SP (SP) (H:X) – 1 – – – – – – INH
WAIT Enable Interrupts; Wait for Interrupt I bit 0; Inhibit CPU clocking until – – 0 – – – INH
interrupted
A Accumulator n Any bitC Carry/borrow bit
Operand
Opcode
Cycles
83 9
84 2
97 1
85 1
3D dd 3
4D 1
5D ff 1
6D 3
7D 2
9E6D ff 4
95 2
9F 1
94 2
8F 1
/borrow bit opr Operand (one or two bytes)CCR Condition code register
Table 7-2. Opcode Map
Bit Manipulation Branch Read-Modify-Write Control Reg
DIR DIR REL DIR INH INH IX1 SP1 IX INH INH IMM DIR
MSB 0 1 2 3 4 5 6 9E+6 7 8 9 A B
LSB
0 5 4 3 41 1 4 5 37 3 2 3
BRSET0 BSET0 BRA NEG NEGA NEGX NEG NEG NEG RTI BGE SUB SUB
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 2 REL 2 IMM 2 DIR
1 5 4 3 5 4 4 5 6 4 4 3 2 3
BRCLR0 BCLR0 BRN CBEQ CBEQA CBEQX CBEQ CBEQ CBEQ RTS BLT CMP CMP
3 DIR 2 DIR 2 REL 3 DIR 3 IMM 3 IMM 3 IX1+ 4 SP1 2 IX+ 1 INH 2 REL 2 IMM 2 DIR
2 5 4 3 57 3 2 3 2 3
BRSET1 BSET1 BHI MUL DIV NSA DAA BGT SBC SBC
3 DIR 2 DIR 2 REL 1 INH 1 INH 1 INH 1 INH 2 REL 2 IMM 2 DIR
3 5 4 3 41 1 45 39 3 2 3
BRCLR1 BCLR1 BLS COM COMA COMX COM COM COM SWI BLE CPX CPX
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 2 REL 2 IMM 2 DIR
4 5 4 3 4 1 1 45 32 2 2 3
BRSET2 BSET2 BCC LSR LSRA LSRX LSR LSR LSR TAP TXS AND AND
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 IMM 2 DIR
5 5 4 3 4 3 4 3 4 1 2 2 3
BRCLR2 BCLR2 BCS STHX LDHX LDHX CPHX CPHX TPA TSX BIT BIT
3 DIR 2 DIR 2 REL 2 DIR 3 IMM 2 DIR 3 IMM 2 DIR 1 INH 1 INH 2 IMM 2 DIR
6 5 4 3 41 1 45 32 2 3
BRSET3 BSET3 BNE ROR RORA RORX ROR ROR ROR PULA LDA LDA
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 2 IMM 2 DIR
7 5 4 3 41 1 45 32 1 2 3
BRCLR3 BCLR3 BEQ ASR ASRA ASRX ASR ASR ASR PSHA TAX AIS STA
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 IMM 2 DIR
8 5 4 3 4 1 1 45 32 1 2 3
BRSET4 BSET4 BHCC LSL LSLA LSLX LSL LSL LSL PULX CLC EOR EOR
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 IMM 2 DIR
9 5 4 3 41 1 45 32 12 3
BRCLR4 BCLR4 BHCS ROL ROLA ROLX ROL ROL ROL PSHX SEC ADC ADC
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 IMM 2 DIR
A 5 4 3 41 1 45 32 2 2 3
BRSET5 BSET5 BPL DEC DECA DECX DEC DEC DEC PULH CLI ORA ORA
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 IMM 2 DIR
B 5 4 3 5 3 3 5 6 4 2 2 2 3
BRCLR5 BCLR5 BMI DBNZ DBNZA DBNZX DBNZ DBNZ DBNZ PSHH SEI ADD ADD
3 DIR 2 DIR 2 REL 3 DIR 2 INH 2 INH 3 IX1 4 SP1 2 IX 1 INH 1 INH 2 IMM 2 DIR
C 5 4 3 4 1 1 45 31 1 2
BRSET6 BSET6 BMC INC INCA INCX INC INC INC CLRH RSP JMP
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 DIR
D 5 4 3 3 11 34 2 14 4
BRCLR6 BCLR6 BMS TST TSTA TSTX TST TST TST NOP BSR JSR
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 2 REL 2 DIR
E 5 4 3 5 44 41 * 2 3
BRSET7 BSET7 BIL MOV MOV MOV MOV STOP LDX LDX
3 DIR 2 DIR 2 REL 3 DD 2 DIX+ 3 IMD 2 IX+D 1 INH 2 IMM 2 DIR
F 5 4 3 3 1 1 34 2 11 2 3
BRCLR7 BCLR7 BIH CLR CLRA CLRX CLR CLR CLR WAIT TXA AIX STX
3 DIR 2 DIR 2 REL 2 DIR 1 INH 1 INH 2 IX1 3 SP1 1 IX 1 INH 1 INH 2 IMM 2 DIR
MSB 0
LSB
0 5
BRSET0
3 DIR
INH Inherent REL Relative SP1 Stack Pointer, 8-Bit Offset IMM H
Immediate IX Indexed, No Offset SP2 Stack Pointer, 16-Bit Offset DIR i
Direct IX1 Indexed, 8-Bit Offset IX+ Indexed, No Offset with EXT g
Extended IX2 Indexed, 16-Bit Offset Post Increment Low Byte of Opcode in Hexadecimal h
DD Direct-Direct IMD Immediate-Direct IX1+ Indexed, 1-Byte Offset with
IX+D Indexed-Direct DIX+ Direct-Indexed Post Increment B
*Pre-byte for stack pointer indexed instructions y
Chapter 8
External Interrupt (IRQ)
8.1 Introduction
The IRQ pin (external interrupt), shared with PTA2 (general purpose input) and keyboard interr
a maskable interrupt input
8.2 Features
Features of the IRQ module include the following:
• External interrupt pin, IRQ
• IRQ interrupt control bits
• Programmable edge-only or edge and level interrupt sensitivity
• Automatic interrupt acknowledge
• Selectable internal pullup resistor
8.3 Functional Description
IRQ pin functionality is enabled by setting configuration register 2 (CONFIG2) IRQEN bit accordi
disables the IRQ function and PTA2 will assume the other shared functionalities. A one enables
A low level applied to the external interrupt request (IRQ) pin can latch a CPU interrupt request
the structure of the IRQ module.
Interrupt signals on the IRQ pin are latched into the IRQ latch. The IRQ latch remains set until o
actions occurs:
• IRQ vector fetch — An IRQ vector fetch automatically generates an interrupt acknowledge
the IRQ latch.
• Software clear — Software can clear the IRQ latch by writing a 1 to the ACK bit in the interr
control register (INTSCR).
• Reset — A reset automatically clears the IRQ latch.
The external interrupt pin is falling-edge-triggered out of reset and is software-configurable to
edge or falling-edge and low-level triggered. The MODE bit in INTSCR controls the triggering se
pin.
Register/Memory
EXT IX2 SP2 IX1 SP1 IX
C D 9ED E 9EE F
4 45 34 2
SUB SUB SUB SUB SUB SUB
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
CMP CMP CMP CMP CMP CMP
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
SBC SBC SBC SBC SBC SBC
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
CPX CPX CPX CPX CPX CPX
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
AND AND AND AND AND AND
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 3 4 2
BIT BIT BIT BIT BIT BIT
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
LDA LDA LDA LDA LDA LDA
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
STA STA STA STA STA STA
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
EOR EOR EOR EOR EOR EOR
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
ADC ADC ADC ADC ADC ADC
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
ORA ORA ORA ORA ORA ORA
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
ADD ADD ADD ADD ADD ADD
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
3 4 3 2
JMP JMP JMP JMP
3 EXT 3 IX2 2 IX1 1 IX
5 6 5 4
JSR JSR JSR JSR
3 EXT 3 IX2 2 IX1 1 IX
4 45 34 2
LDX LDX LDX LDX LDX LDX
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
4 45 34 2
STX STX STX STX STX STX
3 EXT 3 IX2 4 SP2 2 IX1 3 SP1 1 IX
H
i
g
h
B
y
CLOCK GENERATOR
(OSCILLATOR)
DDRA
PTA
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
COP MODULE
POWER SUPPLY
MONITOR ROM
When set, the IMASK bit in INTSCR masks the IRQ interrupt request. A latched interrupt request is not
presented to the interrupt priority logic unless IMASK is clear.
NOTE
The interrupt mask (I) in the condition code register (CCR) masks all interrupt requests, including the IRQ interrupt r
A falling edge on the IRQ pin can latch an interrupt request into the IRQ latch. An IRQ vector fetch, sof
clears the IRQ latch.
/KBI0 PTA1/AD1/TCH1/KBI1
Q/KBI2/TCLK PTA3/RST/KBI3
PTA4/OSC2/AD2/KBI4
PTA5/OSC1/AD3/KBI5
bit in INTSCR masks the IRQ interrupt request. A latched interrupt request is not
errupt priority logic unless IMASK is clear.
n the condition code register (CCR) masks all interrupt requests, including the IRQ interrupt request.
IRQ pin can latch an interrupt request into the IRQ latch. An IRQ vector fetch, software clear, or reset
VD
D
VSS
Functio
RESET
DD
VECTOR
FETCH
DECODE
R V
D
D
I
E
IR
R
QF
N
IRQ
IRQP
UD
D CLR Q
CK
IRQ
LATCH
SYNCHRO-
NIZER
MODE
HIGH
VOLTAGE
DETECT
8.3.1 MODE = 1
If the MODE bit is set, the IRQ pin is both falling edge sensitive and low level sensitive. With MODE set
both of the following actions must occur to clear the IRQ interrupt request:
• Return of the IRQ pin to a high level. As long as the IRQ pin is low, the IRQ request remains active
• IRQ vector fetch or software clear. An IRQ vector fetch generates an interrupt acknowledge signa
latch. Software generates the interrupt acknowledge signal by writing a 1 to ACK in INTSCR. The ACK
applications that poll the IRQ pin and require software to clear the IRQ latch. Writing to ACK prior to le
service routine can also prevent spurious interrupts due to noise. Setting ACK does not affect subsequ
the IRQ pin. A falling edge that occurs after writing to ACK latches another interrupt request. If the IRQ
is clear, the CPU loads the program counter with the IRQ vector address.
The IRQ vector fetch or software clear and the return of the IRQ pin to a high level may occur in any o
request remains pending as long as the IRQ pin is low. A reset will clear the IRQ latch and the MODE c
clearing the interrupt even if the pin stays low.
Use the BIH or BIL instruction to read the logic level on the IRQ pin.
8.3.2 MODE = 0
If the MODE bit is clear, the IRQ pin is falling edge sensitive only. With MODE clear, an IRQ vector fetc
immediately clears the IRQ latch.
The IRQF bit in INTSCR can be read to check for pending interrupts. The IRQF bit is not affected by IMA
it useful in applications where polling is preferred.
NOTE
When using the level-sensitive interrupt trigger, avoid false IRQ interrupts by masking interrupt requests in the interr
IMASK
ACK
8.4 Interrupts
The following IRQ source can generate interrupt requests:
• Interrupt flag (IRQF) — The IRQF bit is set when the IRQ pin is asserted based on the IRQ
interrupt mask bit, IMASK, is used to enable or disable IRQ interrupt requests.
8.5 Low-Power Modes
The WAIT and STOP instructions put the MCU in low power-consumption standby modes.
8.5.1 Wait Mode
The IRQ module remains active in wait mode. Clearing IMASK in INTSCR enables IRQ interrupt
the MCU out of wait mode.
8.5.2 Stop Mode
The IRQ module remains active in stop mode. Clearing IMASK in INTSCR enables IRQ interrupt
the MCU out of stop mode.
8.6 IRQ Module During Break InterruptsThe system integration module (SIM) controls whether status bits in other modules can
NOTE
When the IRQ function is enabled in the CONFIG2 register, the BIH and BIL instructions can be used to read the log
pin. If the IRQ function is disabled, these instructions will behave as if the IRQ pin is a logic 1, regardless of the actu
Conversely, when the IRQ function is enabled, bit 2 of the port A data register will always read a 0.
When using the level-sensitive interrupt trigger, avoid false interrupts by masking interrupt requests in the interrupt r
pullup resistor to VDD is connected to the IRQ pin; this can be disabled by setting
the IRQPUD bit in the CONFIG2 register ($001E).
Functional Description
us bits in other modules can be cleared during the break state. The BCFE bit in the break flag control register (BFCR) enables software to clear status bits
The IRQ pin provides a maskable external interrupt source. The IRQ pin contains an internal pu
device.
8.8 RegistersThe IRQ status and control register (INTSCR) controls and monitors operation of the IRQ module. See Chapter 5 Con
Address: $001D
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 IRQF 0 IMASK MODE
ACK
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 8-3. IRQ Status and Control Register (INTSCR)
Chapter 9
Keyboard Interrupt Module (KBI)
9.1 Introduction
The keyboard interrupt module (KBI) provides six independently maskable external interrupts,
via the PTA0–PTA5 pins.
9.2 Features
Features of the keyboard interrupt module include:
• Six keyboard interrupt pins with separate keyboard interrupt enable bits and one keyboa
• Software configurable pullup device if input pin is configured as input port bit
• Programmable edge-only or edge and level interrupt sensitivity
• Exit from low-power modes
9.3 Functional DescriptionThe keyboard interrupt module controls the enabling/disabling of interrupt functions on the six port A p
ce. The IRQ pin contains an internal pullup
itors operation of the IRQ module. See Chapter 5 Configuration Register (CONFIG).The INTSCR has the following functions:• Shows the state of the
2 1 Bit 0
d:
e:
0 0 0 0
mented
Control Register (INTSCR)
pending.
K always reads as 0.
pt request.
uest enabled
he IRQ pin.
s 0 = IRQ interrupt request on falling edges only
ng/disabling of interrupt functions on the six port A pins. These six pins can be enabled/disabled independently of each other. Refer to Figure 9-2.9.3.1 K
PTA0/AD0/TCH0/KBI0 PTA1/AD1/TCH1/KBI1
PTA2/IRQ/KBI2/TCLK PTA3/RST/KBI3 PTA4/OSC2/AD2/KBI4
PTA5/OSC1/AD3/KBI5
CLOCK GENERATOR
(OSCILLATOR)
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
POWER SUPPLY
MONITOR ROM
VD
D
VSS
INTERNAL BUS Functi
ACKK
RESET
VECTOR FETCH
DECODER
K
E
KBIE0 Y
KBI0 V B
O
.
D
D A KEYF
R
. D
SYNCHRONIZ
TO PULLUP ENABLE . I ER
KBI5 N
TO PULLUP ENABLE T
E
R IMASK
R K
U
P
T
R
E
Q
U
DCLR Q E
CK S
T
KEYBOARD
INTERRUPT FF
MODEK
KBIE5
AWUIREQ
(1)
1. For AWUGEN logic refer to Figure 4-1. Auto Wakeup Interrupt Request Generation Logic.
Figure 9-2. Keyboard Interrupt Block Diagram
If the MODEK bit is set, the keyboard interrupt inputs are both falling edge and low-level sens
the following actions must occur to clear a keyboard interrupt request:
• Vector fetch or software clear — A vector fetch generates an interrupt acknowledge signa
interrupt request. Software may generate the interrupt acknowledge signal by writing a 1 to t
keyboard status and control register (KBSCR). The ACKK bit is useful in applications that poll t
interrupt inputs and require software to clear the keyboard interrupt request. Writing to the A
leaving an interrupt service routine can also prevent spurious interrupts due to noise. Setting
affect subsequent transitions on the keyboard interrupt inputs. A falling edge that occurs afte
ACKK bit latches another interrupt request. If the keyboard interrupt mask bit, IMASKK, is clea
processor unit (CPU) loads the program counter with the vector address at locations $FFE0 an
$FFE1.
• Return of all enabled keyboard interrupt inputs to logic 1 — As long as any enabled keybo
is at logic 0, the keyboard interrupt remains set. The auto wakeup interrupt input, AWUIREQ,
by writing to ACKK bit in KBSCR or reset.
The vector fetch or software clear and the return of all enabled keyboard interrupt pins to log
any order.
If the MODEK bit is clear, the keyboard interrupt pin is falling-edge sensitive only. With MODE
fetch or software clear immediately clears the keyboard interrupt request.
Reset clears the keyboard interrupt request and the MODEK bit, clearing the interrupt request
keyboard interrupt input stays at logic 0.
The keyboard flag bit (KEYF) in the keyboard status and control register can be used to see if
interrupt exists. The KEYF bit is not affected by the keyboard interrupt mask bit (IMASKK) whic
in applications where polling is preferred.
To determine the logic level on a keyboard interrupt pin, use the data direction register to con
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, overr
direction register. However, the data direction register bit must be a 0 for software to read the pin.
9.3.2 Keyboard Initialization
When a keyboard interrupt pin is enabled, it takes time for the internal pullup to reach a logic 1. There
interrupt can occur as soon as the pin is enabled.
To prevent a false interrupt on keyboard initialization:
1. Mask keyboard interrupts by setting the IMASKK bit in the keyboard status and control register.
2. Enable the KBI pins by setting the appropriate KBIEx bits in the keyboard interrupt enable registe
3. Write to the ACKK bit in the keyboard status and control register to clear any false interrupts.
4. Clear the IMASKK bit.
An interrupt signal on an edge-triggered pin can be acknowledged immediately after enabling the pin
signal on an edge- and level-triggered interrupt pin must be acknowledged after a delay that depends
load.
Another way to avoid a false interrupt:
1. Configure the keyboard pins as outputs by setting the appropriate DDRA bits in the data direction
2. Write 1s to the appropriate port A data register bits.
3. Enable the KBI pins by setting the appropriate KBIEx bits in the keyboard interrupt enable registe
Input/Output Registers
To protect the latch during the break state, write a 0 to the BCFE bit. With BCFE at 0 (its default state)
keyboard acknowledge bit (ACKK) in the keyboard status and control register during the break state h
Functional Description
d control register.
rupt enable register.
alse interrupts.
Address: $001A
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 KEYF 0 IMASKK MODEK
ACKK
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 9-3. Keyboard Status and Control Register (KBSCR) Bits 7–4 — Not used
These read-only bits always read as 0s.
KEYF — Keyboard Flag Bit
This read-only bit is set when a keyboard interrupt is pending on port A or auto wakeup. Rese
1 = Keyboard interrupt pending
0 = No keyboard interrupt pending
ACKK — Keyboard Acknowledge Bit
Writing a 1 to this write-only bit clears the keyboard interrupt request on port A and auto wak
always reads as 0. Reset clears ACKK.
IMASKK— Keyboard Interrupt Mask Bit
Writing a 1 to this read/write bit prevents the output of the keyboard interrupt mask from gen
requests on port A or auto wakeup. Reset clears the IMASKK bit.
1 = Keyboard interrupt requests masked
0 = Keyboard interrupt requests not masked
MODEK — Keyboard Triggering Sensitivity Bit
This read/write bit controls the triggering sensitivity of the keyboard interrupt pins on port A a
Reset clears MODEK.
1 = Keyboard interrupt requests on falling edges and low levels
0 = Keyboard interrupt requests on falling edges only
on of the keyboard interrupt module:
SCR)
2 1 Bit 0
0 0 0
ow levels
9.7.2 Keyboard Interrupt Enable Register
The port A keyboard interrupt enable register (KBIER) enables or disables each port A pin or a
operate as a keyboard interrupt input.
Address: $001B
Bit 7 6 5 4 3 2 1 Bit 0
0 AWUIE KBIE5 KBIE4 KBIE3 KBIE2 KBIE1 KBIE0
2 1 Bit 0
0 0= UnimplementedFigure 9-4. Keyboard Interrupt Enable Register (KBIER)KBIE5–KBIE0 — Port A Keyboard Interrupt Enable BitsEach of
Chapter 10
Low-Voltage Inhibit (LVI)
10.1 Introduction
This section describes the low-voltage inhibit (LVI) module, which monitors the voltage on the
a reset when the VDD voltage falls below the LVI trip falling voltage, VTRIPF.
10.2 Features
Features of the LVI module include:
• Programmable LVI reset
• Programmable power consumption
• Selectable LVI trip voltage
• Programmable stop mode operation
10.3 Functional DescriptionFigure 10-1 shows the structure of the LVI module. LVISTOP, LVIPWRD, LVI5OR3, and LVIRST
V
DD
STOP INSTRUCTION
LVISTOP
FROM CONFIG
FROM CONFIG
LVIPWRD
LOWVDD DETECTOR FROM CONFIG
FROM CONFIG VDD > LVITRIP = 0 VDD LVITRIP = 1
Figure 10-1. LVI Module Block Diagram
LVIOUT
LVI5OR3
The LVI is enabled out of reset. The LVI module contains a bandgap reference circuit and comp
Clearing the LVI power disable bit, LVIPWRD, enables the LVI to monitor V DD voltage. Clearing th
bit, LVIRSTD, enables the LVI module to generate a reset when V DD falls below a voltage,
LVIRSTD
VTRIPF. Setting the LVI enable in stop mode bit, LVISTOP, enables the LVI to operate in stop mode
or 3-V trip point bit, LVI5OR3, enables the trip point voltage, VTRIPF, to be configured for 5-V oper
LVI5OR3 bit enables the trip point voltage, VTRIPF, to be configured for 3-V operation. The actual t
specified in 16.5 5-V DC Electrical Characteristics and 16.9 3-V
DC Electrical Characteristics.
NOTEAfter a power-on reset, the LVI’s default mode of operation is 3 volts. If a 5-V system is used, the user must set the LVI5OR3 bit to ra
NOTE
The microcontroller is guaranteed to operate at a minimum supply voltage. The trip point (V TRIPF [5 V] or VTRIPF [3 V]) ma
See 16.5 5-V DC Electrical Characteristics and 16.9 3-V DC Electrical
Characteristics for the actual trip point voltages.
monitors the voltage on the V DD pin and can force
VTRIPF.
LVIPWRD, LVI5OR3, and LVIRSTD are user selectable options found in the configuration register (CONFIG1). See Chapter 5 Configuration Register (C
LVI RESET
user must set the LVI5OR3 bit to raise the trip point to 5-V operation.If the user requires 5-V mode and sets the LVI5OR3 bit after power-on reset while
int (V TRIPF [5 V] or VTRIPF [3 V]) may be lower than this.
LVI Status R
10.4 LVI Status Register
The LVI status register (LVISR) indicates if the VDD voltage was detected below the VTRIPF level whi
LVI resets have been disabled.
Address: $FE0C
Bit 7 6 5 4 3 2 1 Bit 0
LVIOUT 0 0 0 0 0 0 R
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
R
= Unimplemented = Reserved
Figure 10-2. LVI Status Register (LVISR)
LVIOUT — LVI Output Bit
This read-only flag becomes set when the VDD voltage falls below the VTRIPF trip voltage and is cleared when VDD voltage rises above V
V
DD LVIOUT
V
DD >V
TRIPR 0
V
DD V
TRIPF 1
V
TRIPF V
DD V
TRIPR Previous value
Chapter 11
Oscillator Module (OSC)
11.1 Introduction
The oscillator module is used to provide a stable clock source for the microcontroller system an
module generates two output clocks, BUSCLKX2 and BUSCLKX4. The BUSCLKX4 clock is used b
integration module (SIM) and the computer operating properly module (COP). The BUSCLKX2 c
two in the SIM to be used as the bus clock for the microcontroller.
Therefore the bus frequency will be one fourth of the BUSCLKX4 frequency.
11.2 Features
The oscillator has these four clock source options available:
1. Internal oscillator: An internally generated, fixed frequency clock, trimmable to ±5%.This
out of reset.
2. External oscillator: An external clock that can be driven directly into OSC1.
3. External RC: A built-in oscillator module (RC oscillator) that requires an external R connec
capacitor is internal to the chip.
4. External crystal: A built-in oscillator module (XTAL oscillator) that requires an external cry
resonator.
2 1 Bit 0
0 0 0 0
= Reserved
oltage and is cleared when VDD voltage rises above VTRIPR. The difference in these threshold levels results in a hysteresis that prevents oscillation into
able:
requency clock, trimmable to ±5%.This is the default option
CLOCK GENERATOR
(OSCILLATOR)
DDRA
PTA
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
COP MODULE
POWER SUPPLY
MONITOR ROM
Figure 11-1. Block Diagram Highlighting OSC Block and Pins11.3.1 Internal OscillatorThe internal oscillator circuit is designed for use wit
Functional Description
11.3.1.1 Internal Oscillator Trimming
The 8-bit trimming register, OSCTRIM, allows a clock period adjust of +127 and –128 steps. Increasing
increases the clock period. Trimming allows the internal clock frequency to be set to
12.8 MHz ± 5%.
All devices are programmed with a trim value in a reserved FLASH location, $FFC0. This value can be
FLASH to the OSCTRIM register ($0038) during reset initialization.
Reset loads OSCTRIM with a default value of $80.
WARNING
Bulk FLASH erasure will set location $FFC0 to $FF and the factory programmed value will be lost.
11.3.1.2 Internal to External Clock Switching
When external clock source (external OSC, RC, or XTAL) is desired, the user must perform the followin
1. For external crystal circuits only, OSCOPT[1:0] = 1:1: To help precharge an external crystal oscilla
(OSC2) as an output and drive high for several cycles. This may help the crystal circuit start more rob
2. Set CONFIG2 bits OSCOPT[1:0] according to . The oscillator module control logic will then set OSC
clock input and, if the external crystal option is selected, OSC2 will also be set as the clock output.
3. Create a software delay to wait the stabilization time needed for the selected clock source (crysta
recommended by the component manufacturer. A good rule of thumb for crystal oscillators is to wait
crystal frequency, i.e., for a 4-MHz crystal, wait approximately 1 msec.
4. After the manufacturer’s recommended delay has elapsed, the ECGON bit in the OSC status regis
needs to be set by the user software.
5. After ECGON set is detected, the OSC module checks for oscillator activity by waiting two externa
6. The OSC module then switches to the external clock. Logic provides a glitch free transition.
7. The OSC module first sets the ECGST bit in the OSCSTAT register and then stops the internal osci
NOTE
Once transition to the external clock is done, the internal oscillator will only be reactivated with reset. No post-switch
implemented (clock does not switch back to internal if external clock dies).
11.3.2 External Oscillator
The external clock option is designed for use when a clock signal is available in the application to prov
to the microcontroller. The OSC1 pin is enabled as an input by the oscillator module. The clock signal
create BUSCLKX4 and also divided by two to create BUSCLKX2.
In this configuration, the OSC2 pin cannot output BUSCLKX4.So the OSC2EN bit in the port A pullup en
clear to enable PTA4 I/O functions on the pin
11.3.3 XTAL OscillatorThe XTAL oscillator circuit is designed for use with an external crystal or ceramic resonator to provide a
/TCH0/KBI0 PTA1/AD1/TCH1/KBI1 PTA2/IRQ/KBI2/TCLK PTA3/RST/KBI3 PTA4/OSC2/AD2/KBI4
1/AD3/KBI5
Highlighting OSC Block and Pins11.3.1 Internal OscillatorThe internal oscillator circuit is designed for use with no external components to provide a clo
VD
D
VSS
llator Trimming
egister, OSCTRIM, allows a clock period adjust of +127 and –128 steps. Increasing OSCTRIM value
period. Trimming allows the internal clock frequency to be set to
ammed with a trim value in a reserved FLASH location, $FFC0. This value can be copied from the
IM register ($0038) during reset initialization.
M with a default value of $80.
will set location $FFC0 to $FF and the factory programmed value will be lost.
xternal Clock Switching
source (external OSC, RC, or XTAL) is desired, the user must perform the following steps:
stal circuits only, OSCOPT[1:0] = 1:1: To help precharge an external crystal oscillator, set PTA4
and drive high for several cycles. This may help the crystal circuit start more robustly.
s OSCOPT[1:0] according to . The oscillator module control logic will then set OSC1 as an external
e external crystal option is selected, OSC2 will also be set as the clock output.
re delay to wait the stabilization time needed for the selected clock source (crystal, resonator, RC) as
e component manufacturer. A good rule of thumb for crystal oscillators is to wait 4096 cycles of the
e., for a 4-MHz crystal, wait approximately 1 msec.
acturer’s recommended delay has elapsed, the ECGON bit in the OSC status register (OSCSTAT)
he user software.
t is detected, the OSC module checks for oscillator activity by waiting two external clock rising edges.
e then switches to the external clock. Logic provides a glitch free transition.
e first sets the ECGST bit in the OSCSTAT register and then stops the internal oscillator.
xternal clock is done, the internal oscillator will only be reactivated with reset. No post-switch clock monitor feature is
es not switch back to internal if external clock dies).
illator
ption is designed for use when a clock signal is available in the application to provide a clock source
er. The OSC1 pin is enabled as an input by the oscillator module. The clock signal is used directly to
d also divided by two to create BUSCLKX2.
the OSC2 pin cannot output BUSCLKX4.So the OSC2EN bit in the port A pullup enable register will be
I/O functions on the pin
scillatorThe XTAL oscillator circuit is designed for use with an external crystal or ceramic resonator to provide an accurate clock source. In this configura
NOTE
The series resistor (R ) is included in the diagram to follow strict Pierce oscillator guidelines and may not be required
S
operation,
especially
FROM
with high frequency crystals. Refer to the crystal manufacturer’s data for more information.
SIM
BUSCLKX2
÷2
SIMOSCEN
Note 1.RS can be zero (shorted) when used with higher-frequency crystals. Refer to manufacturer’s data. See Chapter 16 Electrical Specifica
MCU
OSC1
NOTE
The series resistor (R ) is included in the diagram to follow strict Pierce oscillator guidelines and may not be required for all ran
S
operation,
especially with high frequency crystals.TORefer to the crystal
TO
manufacturer’s data for more information.
SIM SIM
BUSCLK
X4
XTALCL
K
SIMOSCEN
Note 1.RS can be zero (shorted) when used with higher-frequency crystals. Refer to manufacturer’s data. See Chapter 16 Electrical Specifications for com
MCU
OSC1
OSC
2
RS(1)
RB
X1
C1 C2
Oscillator Module Signals
11.3.4 RC Oscillator
The RC oscillator circuit is designed for use with an external resistor (REXT) to provide a clock source with a tolerance within 25
OSCRCOPT
FROM SIM TO SIM TOSIM
INTCLK 0
1 BUSCLKX4 BUSCLKX2
÷2
SIMOSCEN EXTERNAL RC
EN RCCLK
OSCILLATOR
1
0
PTA4
I/O PTA4
OSC2EN
MCU
OSC1 PTA4/BUSCLKX4 (OSC2)
V
DD
R
EXT
See Chapter 16 Electrical Specifications for component value requirements.Figure 11-3. RC Oscillator External Conne
11.7 CONFIG2 OptionsTwo CONFIG2 register options affect the operation of the oscillator module: OSCOPT1 and OSCOPT0. All CONF
tion of the oscillator module: OSCOPT1 and OSCOPT0. All CONFIG2 register bits will have a default configuration. Refer to Chapter 5 Configuration R
isters:
11.8.1 Oscillator Status Register
The oscillator status register (OSCSTAT) contains the bits for switching from internal to extern
Address: $0036
Bit 7 6 5 4 3 2 1 Bit 0
R R R R R R ECGON ECGST
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Reserved = Unimplemented
Figure 11-4. Oscillator Status Register (OSCSTAT)
ECGON — External Clock Generator On Bit
This read/write bit enables external clock generator, so that the switching process can be initiated. Th
during reset. This bit is ignored in monitor mode with the internal oscillator bypassed, PTM or CTM mo
1 = External clock generator enabled 0 = External clock generator disabled
ECGST — External Clock Status Bit
This read-only bit indicates whether or not an external clock source is engaged to drive the system clo
1 = An external clock source engaged
0 = An external clock source disengaged
11.8.2 Oscillator Trim Register (OSCTRIM)
Address: $0038
Bit 7 6 5 4 3 2 1 Bit 0
TRIM7 TRIM6 TRIM5 TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
Read:
Write:
Reset: 1 0 0 0 0 0 0 0
Figure 11-5. Oscillator Trim Register (OSCTRIM)
TRIM7–TRIM0 — Internal Oscillator Trim Factor Bits
These read/write bits change the size of the internal capacitor used by the internal oscillator. By meas
the internal clock and adjusting this factor accordingly, the frequency of the internal clock can be fine
(decreasing) this factor by one increases (decreases) the period by approximately 0.2% of the untrimm
period for TRIM = $80). The trimmed frequency is guaranteed not to vary by more than ±5% over the
of temperature and
voltage. The reset value is $80, which sets the frequency to 12.8 MHz (3.2 MHz bus speed) ±25%.
Chapter 12
Input/Output Ports (PORTS)
12.1 Introduction
The MC68HC908QT1, MC68HC908QT2, and MC68HC908QT4 have five bidirectional input-output (I/O)
only pin. The MC68HC908QY1, MC68HC908QY2, and MC68HC908QY4 have thirteen bidirectional pins
pin. All I/O pins are programmable as inputs or outputs.
NOTE
Connect any unused I/O pins to an appropriate logic level, either V or V . Although the I/O ports do not require term
DD SS
operation, termination reduces excess current consumption and the possibility of electrostatic damage.
8-pin devices have non-bonded pins. These pins should be configured either as outputs driving low or high, or as inp
enabled. Configuring these non-bonded pins in this manner will prevent any excess current consumption caused by
12.2 Port APort A is a 6-bit special function port that shares all six of its pins with the keyboard interrupt (KBI) module (see Chapter 9 Keyb
2 1 Bit 0
0 0
2 1 Bit 0
0 0
keyboard interrupt (KBI) module (see Chapter 9 Keyboard Interrupt Module (KBI)). Each port A pin also has a software configurable pullup device if the
Bit 7 6 5 4 3 2 1 Bit 0
R AWUL PTA5 PTA4 PTA3 PTA2 PTA1 PTA0
Read:
Write:
Reset: Unaffected by reset
Additional Functions:
= Reserved = Unimplemented
Figure 12-1. Port A Data Register (PTA)
PTA[5:0] — Port A Data Bits
These read/write bits are software programmable. Data direction of each port A pin is under the control of the corresponding bit i
Address: $0004
Bit 7 6 5 4 3 2 1 Bit 0
R R DDRA5 DDRA4 DDRA3 0 DDRA1 DDRA0
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Reserved = Unimplemented
Figure 12-2. Data Direction Register A (DDRA) DDRA[5:0] — Data Direction Register A Bits
These read/write bits control port A data direction. Reset clears DDRA[5:0], configuring all port A pins
as inputs.
1 = Corresponding port A pin configured as output 0 = Corresponding port A pin configured as input
NOTE
Avoid glitches on port A pins by writing to the port A data register before changing data direction register A bits from
R
each of the six port A pins.
2 1 Bit 0
reset
rt A pin is under the control of the corresponding bit in data direction register A. Reset has no effect on port A data.AWUL — Auto Wakeup Latch Data B
2 1 Bit 0
0 0
Address: $000B
Bit 7 6 5 4 3 2 1 Bit 0
OSC2EN PTAPUE5 PTAPUE4 PTAPUE3 PTAPUE2 PTAPUE1 PTAPUE0
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 12-4. Port A Input Pullup Enable Register (PTAPUE)
OSC2EN — Enable PTA4 on OSC2 Pin
This read/write bit configures the OSC2 pin function when internal oscillator or RC oscillator option is s
no effect for the XTAL or external oscillator options.
1 = OSC2 pin outputs the internal or RC oscillator clock (BUSCLKX4)
0 = OSC2 pin configured for PTA4 I/O, having all the interrupt and pullup functions
PTAPUE
x
30
k
PTAx
2 1 Bit 0
0 0
LKX4)
and pullup functions
PTAPUE[5:0] — Port A Input Pullup Enable BitsThese read/write bits are software programmable to enable pullup devices on port A pins. 1
PTAPUE DDRA PTA I/O Pin Mode Accesses to DDRA Accesses to PTA
Bit Bit Bit
Read/Write Read
1 0 X(1) Input, VDD (2)
DDRA5–DDRA0 Pin
12.3 Port B
Port B is an 8-bit general purpose I/O port. Port B is only available on the MC68HC908QY1, MC
MC68HC908QY4.
12.3.1 Port B Data Register
The port B data register (PTB) contains a data latch for each of the eight port B pins.
Address: $0001
Bit 7 6 5 4 3 2 1 Bit 0
PTB7 PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTB0
Read:
Write:
Reset: Unaffected by reset
Figure 12-5. Port B Data Register (PTB)
Accesses to PTA
Write
PTA5–PTA0(3)
PTA5–PTA0(3)
PTA5–PTA0(5)
Bit 0
ed by reset
B)
Data direction register B (DDRB) determines whether each port B pin is an input or an output.
to a DDRB bit enables the output buffer for the corresponding port B pin; a 0 disables the outp
Address: $0005
Bit 7 6 5 4 3 2 1 Bit 0
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
Figure 12-6. Data Direction Register B (DDRB) DDRB[7:0] — Data Direction Register B Bits
These read/write bits control port B data direction. Reset clears DDRB[7:0], configuring all port B pins
as inputs.
1 = Corresponding port B pin configured as output 0 = Corresponding port B pin configured as input
NOTE
Avoid glitches on port B pins by writing to the port B data register before
changing data direction register B bits from 0 to 1. Figure 12-7 shows the port B I/O logic.
READ DDRB
($0005)
DDRBx PTBPUE
WRITE DDRB x
($0005)
RESET
PTBx
WRITE PTB
($0001) PTB
Figure 12-7. Port B I/O CircuitWhen DDRBx is a 1, reading address $0001 reads the PTBx data latch. When DDRBx is a 0, reading address
READ PTB
($0001)
1 Bit 0
0
n Register B Bits
B[7:0], configuring all port B pins
B I/O logic.
30
k
PTBx
latch. When DDRBx is a 0, reading address $0001 reads the voltage level on the pin. The data latch can always be written, regardless of the state of its da
t.
Bit 7 6 5 4 3 2 1 Bit 0
PTBPUE7 PTBPUE6 PTBPUE5 PTBPUE4 PTBPUE3 PTBPUE2 PTBPUE2 PTBPUE0
PTBPUE DDRB PTB I/O Pin Mode Accesses to DDRB Accesses to PTB
Bit Bit Bit
Read/Write Read
1 0 X(1) Input, VDD(2) DDRB7–DDRB0 Pin
12-8. Port B Input Pullup Enable Register (PTBPUE) PTBPUE[7:0] — Port B Input Pullup Enable BitsThese read/write bits are software programmable t
Accesses to PTB
Write
PTB7–PTB0(3)
PTB7–PTB0(3)
PTB7–PTB0
Chapter 13
System Integration Module (SIM)
13.1 IntroductionThis section describes the system integration module (SIM), which supports up to 24 external and/or internal in
Address bus
Data bus
PORRST
IRST
R/W
hapter 13
ystem Integration Module (SIM)
IntroductionThis section describes the system integration module (SIM), which supports up to 24 external and/or internal interrupts. Together with the c
SIM
COUNTER
BUSCLKX4 (FROM OSCILLATOR)
BUSCLKX2 (FROM OSCILLATOR)
MASTER
RESET
CONTROL
RESET
POR CONTROL
RESET PIN
LOGIC
INTERRUPT CONTROL AND
PRIORITY DECODE
13.2 RST and IRQ Pins InitializationRST and IRQ pins come out of reset as PTA3 and PTA2 respectively. RST and IRQ function
13.3 SIM Bus Clock Control and Generation
The bus clock generator provides system clock signals for the CPU and peripherals on the MC
are generated from an incoming clock, BUSCLKX2, as shown in Figure 13-2.
MODULE STOP MODULE WAIT
CPU STOP (FROM CPU) CPU WAIT (FROM CPU)
SIMOSCEN (TO OSCILLATOR)
COP CLOCK
STOP/
WAIT
CONTRO
L
2
CLOCK
CLOCK
CONTRO
GENERATORS
L
ationRST and IRQ pins come out of reset as PTA3 and PTA2 respectively. RST and IRQ functions can be activated by programing CONFIG2 accordingl
k Control and Generation
or provides system clock signals for the CPU and peripherals on the MCU. The system clocks
n incoming clock, BUSCLKX2, as shown in Figure 13-2.
SIM COUNT
2
SIM
FROM OSCILLATOR
FROM OSCILLATOR
BUSCLKX2
ER
BUS CLOCK
GENERATORS
Figure 13-2. SIM Clock Signals
13.3.1 Bus Timing
In user mode, the internal bus frequency is the oscillator frequency (BUSCLKX4) divided by four
13.3.2 Clock Start-Up from POR
When the power-on reset module generates a reset, the clocks to the CPU and peripherals are
an inactive phase until after the 4096 BUSCLKX4 cycle POR time out has completed. The IBUS c
completion of the time out.
13.3.3 Clocks in Stop Mode and Wait Mode
Upon exit from stop mode by an interrupt or reset, the SIM allows BUSCLKX4 to clock the SIM c
peripheral clocks do not become active until after the stop delay time out. This time out is sele
BUSCLKX4 cycles. See 13.7.2 Stop Mode.
In wait mode, the CPU clocks are inactive. The SIM also produces two sets of clocks for other m
wait mode subsection of each module to see if the module is active or inactive in wait mode. So
programmed to be active in wait mode.
BUSCLKX2
generates a reset, the clocks to the CPU and peripherals are inactive and held in
4096 BUSCLKX4 cycle POR time out has completed. The IBUS clocks start upon
Wait Mode
nterrupt or reset, the SIM allows BUSCLKX4 to clock the SIM counter. The CPU and
active until after the stop delay time out. This time out is selectable as 4096 or 32
p Mode.
inactive. The SIM also produces two sets of clocks for other modules. Refer to the
dule to see if the module is active or inactive in wait mode. Some modules can be
mode.
alization
:
)
module (COP)
LVI)
ector $FFFE–FFFF ($FEFE–FEFF in monitor mode) and assert the internal reset signal
o be returned to their default values and all modules to be returned to their reset
ounter (see 13.5 SIM Counter), but an external reset does not. Each of the resets
M reset status register (SRSR). See 13.8 SIM Registers.
s include an internal pullup device. Pulling the asynchronous RST pin low halts all processing. The PIN bit of the SIM reset status register (SRSR) is set a
BUSCLKX2
ADDRESS BUS
RST Figure 13-3. External Reset Timing
PC VECT H VECT
L
IRST
RST
BUSCLKX4 ADDRESS
BUS
32CYCLES 32CYCLES
Figure 13-4. Internal Reset Timing
VECTOR HIGH
RSTPULLEDLOWBYMCU
SCLKX2
RESS BUS
ernal Reset Timing
VECT H VECT
L
during which the SIM forces the RST pin low. The internal reset signal then follows the sequence from the falling edge of RST shown in Figure 13-4.The
32CYCLES
Reset Timing
ILLEGAL ADDRESS RST ILLEGAL OPCODE RST
COPRST INTERN
POR LVI AL
RESET
13.4.2.1 Power-On ResetWhen power is first applied to the MCU, the power-on reset module (POR) generates a pulse to indicate t
OSC1
PORRST
BUSCLKX4 40 32 32
BUSCLKX2 96 CY CY
RST CY CL CL
CL ES ES
ES
ADDRESS BUS
Figure 13-6. POR Recovery
13.4.2.2 Computer Operating Properly (COP) Reset
An input to the SIM is reserved for the COP reset signal. The overflow of the COP counter cause
and sets the COP bit in the SIM reset status register (SRSR). The SIM actively pulls down the RS
internal reset sources.
To prevent a COP module time out, write any value to location $FFFF. Writing to location $FFFF
counter and stages 12–5 of the SIM counter. The SIM counter output, which occurs at least eve
cycles, drives the COP counter. The COP should be serviced as soon as possible out of reset to
maximum amount of time before the first time out.
The COP module is disabled during a break interrupt with monitor mode when BDCOP bit is set
register (BRKAR).
13.4.2.3 Illegal Opcode Reset
The SIM decodes signals from the CPU to detect illegal instructions. An illegal instruction sets th
SIM reset status register (SRSR) and causes a reset.
If the stop enable bit, STOP, in the mask option register is 0, the SIM treats the STOP instruction
opcode and causes an illegal opcode reset. The SIM actively pulls down the RST pin for all inter
13.4.2.4 Illegal Address Reset
An opcode fetch from an unmapped address generates an illegal address reset. The SIM verifie
fetching an opcode prior to asserting the ILAD bit in the SIM reset status register (SRSR) and re
A data fetch from an unmapped address does not generate a reset. The SIM actively pulls down
all internal reset sources. See Figure 2-1. Memory Map for memory ranges.
13.4.2.5 Low-Voltage Inhibit (LVI) Reset
The LVI asserts its output to the SIM when the VDD voltage falls to the LVI trip voltage VTRIPF. The L
reset status register (SRSR) is set, and the external reset pin (RST) is held low while the
SIM counter counts out 4096 BUSCLKX4 cycles after VDD rises above VTRIPR. Sixty-four BUSCLKX4 c
CPU and memories are released from reset to allow the reset vector sequence to occur. The SIM
down the (RST) pin for all internal reset sources.
13.6 Exception ControlNormal sequential program execution can be changed in three different ways:1. Interruptsa. Maskable h
Sources of Internal Reset
Reset Recovery Timing
the power-on reset module (POR) generates a pulse to indicate that power on has occurred. The SIM counter counts out 4096 BUSCLKX4 cycles. Sixty-
$FFF $FFF
E F
nerates an illegal address reset. The SIM verifies that the CPU is
t in the SIM reset status register (SRSR) and resetting the MCU.
ot generate a reset. The SIM actively pulls down the RST pin for
ry Map for memory ranges.
DD voltage falls to the LVI trip voltage VTRIPF. The LVI bit in the SIM
nal reset pin (RST) is held low while the
fter VDD rises above VTRIPR. Sixty-four BUSCLKX4 cycles later, the
low the reset vector sequence to occur. The SIM actively pulls
see 13.7.2 Stop Mode for details.) The SIM counter is free-
Resets from Internal Sources for counter control and internal
be changed in three different ways:1. Interruptsa. Maskable hardware CPU interruptsb. Non-maskable software interrupt instruction (SWI)2. Reset
(AS MANY INTERRUPTS AS EX
STACK CPU REGISTERS SET I BIT
LOAD PC WITH INTERRUPT VECTOR
FETCH NEXT
INSTRUCTION
EXECUTE INSTRUCTION
YES
BREAIKBINTTSEER
TR?UPT?
NO
YES
I BIT
SET?
NO
IRQ YES
INTERRUPT?
NO
TIMER YES
INTERRUPT?
NO
IST ON
CHIP)
SWI YES
INSTRUCTION
?
NO
RTI YES
INSTRUCTION
?
NO
MODULE INTERRUPT
I BIT
ADDRESS BUS DUMM SP SP – 1 SP – 2 SP – 3 SP – 4 VECT H VECT L
Y DUMMY STARTADDR
PC – 1[7:0] PC –
DATA BUS
1[15:8] X
Figure 13-8. Interrupt Entry
MODULE
INTERRUPT
I BIT
ADDRESS BUS SP – 4
R/W
Figure 13-9. Interrupt Recovery
13.6.1.1 Hardware Interrupts
A hardware interrupt does not stop the current instruction. Processing of a hardware interrupt begins
the current instruction. When the current instruction is complete, the SIM checks all pending hardware
interrupts are not masked (I bit clear in the condition code register), and if the corresponding interrup
the SIM proceeds with interrupt processing; otherwise, the next instruction is fetched and executed.
If more than one interrupt is pending at the end of an instruction execution, the highest priority interr
Figure 13-10 demonstrates what happens when two interrupts are pending. If an interrupt is pending
original interrupt service routine, the pending interrupt is serviced before the LDA instruction is execu
The LDA opcode is prefetched by both the INT1 and INT2 return-from-interrupt (RTI) instructions. How
the INT1 RTI prefetch, this is a redundant operation.
NOTE
To maintain compatibility with the M6805 Family, the H register is not pushed on the stack during interrupt entry. If th
routine modifies the H register or uses the indexed addressing mode, software
should save the H register and then restore it prior to exiting the routine.
R/
W
SP – 1 SP – 2 SP – 3 SP – 4 VECT H VECT L
STARTADDR
1[7:0] PC – A CCR V DATA H V DATA L
OPCODE
Figure 13-8. Interrupt Entry
SP – 3 SP – 2 SP – 1 SP PC PC + 1
mily, the H register is not pushed on the stack during interrupt entry. If the interrupt service
dexed addressing mode, software
t prior to exiting the routine.
CLI
#$FF
INT
LDA BACKGROUND ROUTINE
1
PSHH
INT1 INTERRUPT SERVICE ROUTINE
PULH
INT2 INTERRUPT SERVICE ROUTINE
PULH RTI
The SWI instruction is a non-maskable instruction that causes an interrupt regardless of the state of the interrupt mask (I bit) in the condition
RTI
PSHH
13.6.2.1 Interrupt Status Register 1
Address: $FE04
Bit 7 6 5 4 3 2 1 Bit 0
BACKGROUND ROUTINE
he interrupt mask (I bit) in the condition code register.NOTEA software interrupt pushes PC onto the stack. A software interrupt doesnot push PC – 1, as a
es
0
0 IF5 IF4 IF3 0 IF1 0 0
R R R R R R R R
Read:Write:Reset: 0 0 0 0 0 0 0 0= ReservedFigure 13-11. Interru
R
IF14 0 0 0 0 0 0 0
R R R R R R R R
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Reserved
Figure 13-12. Interrupt Status Register 2 (INT2)
R
IF14 — Interrupt FlagsThis flag indicates the presence of interrupt requests from the sources shown in Table 13-3.1 = Interrupt req
Address: $FE06
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 0 0 0 IF15
R R R R R R R R
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Reserved
Figure 13-13. Interrupt Status Register 3 (INT3)
R
IF15 — Interrupt FlagsThese flags indicate the presence of interrupt requests from the sources shown in Table 13-3.1 = Interrupt re
13.6.3 Reset
All reset sources always have equal and highest priority and cannot be arbitrated.
13.6.4 Break Interrupts
The break module can stop normal program flow at a software programmable break point by a
interrupt output. (See Chapter 15 Development Support.) The SIM puts the CPU into the break
the SWI vector location. Refer to the break interrupt subsection of each module to see how eac
by the break state.
13.6.5 Status Flag Protection in Break Mode
The SIM controls whether status flags contained in other modules can be cleared during break
select whether flags are protected from being cleared by properly initializing the break clear fla
in the break flag control register (BFCR).
Protecting flags in break mode ensures that set flags will not be cleared while in break mode. T
registers to be freely read and written during break mode without losing status flag information
Setting the BCFE bit enables the clearing mechanisms. Once cleared in break mode, a flag rem
when break mode is exited. Status flags with a two-step clearing mechanism — for example, a
followed by the read or write of another — are protected, even when the first step is accomplis
break mode. Upon leaving break mode, execution of the second step will clear the flag as norm
13.7 Low-Power ModesExecuting the WAIT or STOP instruction puts the MCU in a low power- consumption mode for standby s
32 32
CYCLE CYCLE
S S
ADDRESS BUS $6E0B $6E0 $6E0C RSTVCTH
$00FE RSTVCTL
$00FD
DATA BUS $A6 B $A $00FF
$0 $0 $00FC
$6
EXITSTOPWAIT $A6 6 1 B E
$A6 $A6 $A6
NOTE: EXITSTOPWAIT = RST pin OR CPU interrupt OR break interrupt
Figure 13-15. Wait Recovery from Interrupt
ADDRESS BUS
DATA BUS
RST
BUSCLKX4
Figure 13-16. Wait Recovery from Internal Reset
13.7.2 Stop Mode
In stop mode, the SIM counter is reset and the system clocks are disabled. An interrupt request
cause an exit from stop mode. Stacking for interrupts begins after the selected stop recovery t
Reset or break also causes an exit from stop mode.
The SIM disables the oscillator signals (BUSCLKX2 and BUSCLKX4) in stop mode, stopping the C
Stop recovery time is selectable using the SSREC bit in the configuration register 1 (CONFIG1).
recovery is reduced from the normal delay of 4096 BUSCLKX4 cycles down to 32. This is ideal f
oscillator, RC oscillator, and external oscillator options which do
not require long start-up times from stop mode.
NOTE
External crystal applications should use the full stop recovery time by clearing the SSREC bit.
The SIM counter is held in reset from the execution of the STOP instruction until the beginning of stop recovery. It is then used to time the r
0 0 0= ReservedFigure 13-11. Interrupt Status Register 1 (INT1) IF1 and IF3–IF5 — Interrupt FlagsThese flags indicate the presence of i
d:
e:
0 0 0 0
rved
atus Register 2 (INT2)
om the sources shown in Table 13-3.1 = Interrupt request present0 = No interrupt request presentBit 0–6 — Always read 013.6.2.3 Interrupt Status Regis
2 1 Bit 0
d:
e:
0 0 0 0
rved
atus Register 3 (INT3)
from the sources shown in Table 13-3.1 = Interrupt request present0 = No interrupt request presentBit 1–7 — Always read 0
CU in a low power- consumption mode for standby situations. The SIM holds the CPU in a non-clocked state. The operation of each of these modes is de
SAM
SAM E SAM
E E
WAIT opcode, depending on the last instruction.
ode Entry Timing
upt if the interrupt is enabled. Stacking for the interrupt begins one cycle after the WAIT instruction during which the interrupt occurred. In wait mode, th
RSTVCTH
$00FE RSTVCTL
$00FD
$00FC
eginning of stop recovery. It is then used to time the recovery period. Figure 13-17 shows stop mode entry timing and Figure 13-18 shows the stop mode r
CPUSTOP
ADDRESS BUS STOP STOP ADDR
ADDR PREVIOUS + 1 NEXT
DATA BUS
DATA OPCODE
R/W
NOTE: Previous data can be operand data or the STOP opcode, depending on the last instruction.
Figure 13-17. Stop Mode Entry Timing
BUSCLKX4
INTERRUPT STOP +1
ADDRESS BUS STOP + 2
STOP + 2
Figure 13-18. Stop Mode Recovery from Interrupt
13.8 SIM RegistersThe SIM has three memory mapped registers. Table 13-4 shows the mapping of these registers.Table 13-4
STOP + 2 SP SP – SP – SP –
STOP + 2 1 2 3
Stop Mode Recovery from Interrupt
registers. Table 13-4 shows the mapping of these registers.Table 13-4. SIM Registers
13.8.1 SIM Reset Status Register
The SRSR register contains flags that show the source of the last reset. The status register will
after reading SRSR. A power-on reset sets the POR bit and clears all other bits in the register. A
set the individual flag bits but do not clear the register. More than one reset source can be flag
depending on the conditions at the time of the internal or external
reset. For example, the POR and LVI bit can both be set if the power supply has a slow rise time
Address: $FE01
Bit 7 6 5 4 3 2 1 Bit 0
POR PIN COP ILOP ILAD MODRST LVI 0
Read:
Write:
POR: 1 0 0 0 0 0 0 0
= Unimplemented
Figure 13-19. SIM Reset Status Register (SRSR) POR — Power-On Reset Bit
1 = Last reset caused by POR circuit 0 = Read of SRSR
PIN — External Reset Bit 1 = Last reset caused by external reset pin (RS
of SRSR
COP — Computer Operating Properly Reset Bit
1 = Last reset caused by COP counter 0 = POR or read of SRSR
ILOP — Illegal Opcode Reset Bit
1 = Last reset caused by an illegal opcode 0 = POR or read of SRSR
ILAD — Illegal Address Reset Bit (illegal attempt to fetch an opcode from an unimplemented address
1 = Last reset caused by an opcode fetch from an illegal address 0 = POR or read of SRSR
MODRST — Monitor Mode Entry Module Reset Bit
1 = Last reset caused by monitor mode entry when vector locations $FFFE and $FFFF are $FF a
VTST
0 = POR or read of SRSR
LVI — Low Voltage Inhibit Reset Bit
1 = Last reset caused by LVI circuit 0 = POR or read of SRSR
f the last reset. The status register will automatically clear
nd clears all other bits in the register. All other reset sources
More than one reset source can be flagged at any time
or external
if the power supply has a slow rise time.
2 1 Bit 0
0 0
of SRSR
ead of SRSR
opcode from an unimplemented address)
l address 0 = POR or read of SRSR
or locations $FFFE and $FFFF are $FF after POR while IRQ
SRSR
13.8.2 Break Flag Control Register
The break control register (BFCR) contains a bit that enables software to clear status bits whil
break state.
Address: $FE03
Bit 7 6 5 4 3 2 1 Bit 0
BCFE R R R R R R R
Read:
Write:
Reset: 0
= Reserved
Figure 13-20. Break Flag Control Register (BFCR)
R
BCFE — Break Clear Flag Enable Bit
This read/write bit enables software to clear status bits by accessing status registers while the
state. To clear status bits during the break state, the BCFE bit must be set.
1 = Status bits clearable during break
0 = Status bits not clearable during break
les software to clear status bits while the MCU is in a
2 1 Bit 0
0
d
trol Register (BFCR)
14.2 Features
Features of the TIM include the following:
• 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 TIM clock input
• Free-running or modulo up-count operation
• Toggle any channel pin on overflow
• TIM counter stop and reset bits
14.3 Pin Name ConventionsThe TIM shares two input/output (I/O) pins with two port A I/O pins. The full names of the TIM I/O pins are lis
the following:
ut compare channels
e, or any-edge input capture trigger
put compare action
d pulse width modulation (PWM) signal generation
k input
s clock prescaler selection
o up-count operation
on overflow
eset bits
input/output (I/O) pins with two port A I/O pins. The full names of the TIM I/O pins are listed in Table 14-1. The generic pin name appear in the text that
PTA0/AD0/TCH0/KBI0 PTA1/AD1/TCH1/KBI1 PTA2/IRQ/KBI2/TCLK PTA3/RST/KBI3 PTA4/OSC2/AD2/KBI4
PTA5/OSC1/AD3/KBI5
CLOCK GENERATOR
(OSCILLATOR)
DDRA
PTA
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
COP MODULE
POWER SUPPLY
MONITOR ROM
VD
D
VSS
14.4 Functional DescriptionFigure 14-2 shows the structure of the TIM. The central component of the TIM is the 16-bit TIM cou
PRESCALER SELECT
PTA2/IRQ/KBI2/TCLK
PRESCALER
TSTOP
TRST
TOF INTERRUPT
LOGIC
TOIE
TOV0 PORT
LOGIC
CH0MAX
CH0F
INTERRUPT
LOGIC
A CH0IE
MS0B
TOV1 PORT
LOGIC
CH1MAX
CH1F
INTERRUPT
LOGIC
A CH1IE
16-BIT COMPARATOR
TMODH:TMODL
ELS0B ELS0A
16-BIT COMPARATOR
TCH0H:TCH0L
16-BIT LATCH
ELS1B ELS1A
TCH1
Figure 14-2. TIM Block Diagram
16-BIT COMPARATOR
TCH1H:TCH1L
16-BIT LATCH
16-BIT
COUNTER
CHANNEL
0
CHANNEL
1
14.4.1 TIM Counter Prescaler
The TIM clock source is one of the seven prescaler outputs or the TIM clock pin, TCLK. The pres
seven clock rates from the internal bus clock. The prescaler select bits, PS[2:0], in the TIM statu
register (TSC) select the TIM clock source.
14.4.2 Input Capture
With the input capture function, the TIM can capture the time at which an external event occur
edge occurs on the pin of an input capture channel, the TIM latches the contents of the TIM cou
channel registers, TCHxH:TCHxL. The polarity of the active edge is programmable. Input captur
TIM central processor unit (CPU) interrupt requests.
14.4.3 Output Compare
With the output compare function, the TIM can generate a periodic pulse with a programmable
and frequency. When the counter reaches the value in the registers of an output compare chan
set, clear, or toggle the channel pin. Output compares can generate TIM CPU interrupt requests
14.4.3.1 Unbuffered Output Compare
Any output compare channel can generate unbuffered output compare pulses as described in 1
Compare. The pulses are unbuffered because changing the output compare value requires writ
over the old value currently in the TIM channel registers.
An unsynchronized write to the TIM channel registers to change an output compare value could
operation for up to two counter overflow periods. For example, writing a new value before the c
old value but after the counter reaches the new value prevents any compare during that count
Also, using a TIM overflow interrupt routine to write a new, smaller output compare value may
to be missed. The TIM may pass the new value before it is written.
Use the following methods to synchronize unbuffered changes in the output compare value on
• When changing to a smaller value, enable channel x output compare interrupts and write t
output compare interrupt routine. The output compare interrupt occurs at the end of the curren
pulse. The interrupt routine has until the end of the counter overflow period to write the new va
• When changing to a larger output compare value, enable TIM overflow interrupts and write
the TIM overflow interrupt routine. The TIM overflow interrupt occurs at the end of the current c
period. Writing a larger value in an output compare interrupt routine (at the end of the current
two output compares to occur in the same counter overflow period.
14.4.3.2 Buffered Output Compare
Channels 0 and 1 can be linked to form a buffered output compare channel whose output appe
pin. The TIM channel registers of the linked pair alternately control the output.
Setting the MS0B bit in TIM channel 0 status and control register (TSC0) links channel 0 and ch
compare value in the TIM channel 0 registers initially controls the output on the TCH0 pin.
Writing to the TIM channel 1 registers enables the TIM channel 1 registers to synchronously con
output after the TIM overflows. At each subsequent overflow, the TIM channel registers (0 or 1)
2 shows the structure of the TIM. The central component of the TIM is the 16-bit TIM counter that can operate as a free-running counter or a modulo up-c
TCLK
TCH0
TCH1
Figure 14-2. TIM Block Diagram
MS
0
MS
1
r
the seven prescaler outputs or the TIM clock pin, TCLK. The prescaler generates
ernal bus clock. The prescaler select bits, PS[2:0], in the TIM status and control
lock source.
n, the TIM can capture the time at which an external event occurs. When an active
nput capture channel, the TIM latches the contents of the TIM counter into the TIM
xL. The polarity of the active edge is programmable. Input captures can generate
U) interrupt requests.
tion, the TIM can generate a periodic pulse with a programmable polarity, duration,
nter reaches the value in the registers of an output compare channel, the TIM can
el pin. Output compares can generate TIM CPU interrupt requests.
mpare
can generate unbuffered output compare pulses as described in 14.4.3 Output
uffered because changing the output compare value requires writing the new value
n the TIM channel registers.
e TIM channel registers to change an output compare value could cause incorrect
er overflow periods. For example, writing a new value before the counter reaches the
r reaches the new value prevents any compare during that counter overflow period.
errupt routine to write a new, smaller output compare value may cause the compare
ss the new value before it is written.
synchronize unbuffered changes in the output compare value on channel x:
ler value, enable channel x output compare interrupts and write the new value in the
ine. The output compare interrupt occurs at the end of the current output compare
as until the end of the counter overflow period to write the new value.
r output compare value, enable TIM overflow interrupts and write the new value in
tine. The TIM overflow interrupt occurs at the end of the current counter overflow
in an output compare interrupt routine (at the end of the current pulse) could cause
in the same counter overflow period.
are
d to form a buffered output compare channel whose output appears on the TCH0
of the linked pair alternately control the output.
annel 0 status and control register (TSC0) links channel 0 and channel 1. The output
nnel 0 registers initially controls the output on the TCH0 pin.
egisters enables the TIM channel 1 registers to synchronously control the
s. At each subsequent overflow, the TIM channel registers (0 or 1) that
control the output are the ones written to last. TSC0 controls and monitors the buffered output compare function, and TIM channel 1 status a
PULSE
WIDTH
POLARITY = 1 TCHx
(ELSxA = 0) TCHx
POLARITY = 0
(ELSxA = 1)
NOTE
In buffered PWM signal generation, do not write new pulse width values to the currently active channel registers. Us
track the currently active channel to prevent writing a new value to the active channel. Writing to the active channel r
as generating
unbuffered PWM signals.
14.4.4.3 PWM InitializationTo ensure correct operation when generating unbuffered or buffered PWM signals, use the following initializati
14.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 va
the TIM counter modulo registers. The TIM overflow interrupt enable bit, TOIE, enables TIM ov
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 com
channel x. Channel x TIM CPU interrupt requests are controlled by the channel x interrupt ena
Channel x TIM CPU interrupt requests are enabled when CHxIE =1. CHxF and CHxIE are in the
status and control register.
14.6 Wait Mode
The WAIT instruction puts the MCU in low power-consumption standby mode.
The TIM remains active after the execution of a WAIT instruction. In wait mode the TIM register
by the CPU. Any enabled CPU interrupt request from the TIM can bring the MCU out of wait mod
If TIM functions are not required during wait mode, reduce power consumption by stopping the
executing the WAIT instruction.
14.7 TIM During Break Interrupts
A break interrupt stops the TIM counter.
The system integration module (SIM) controls whether status bits in other modules can be clea
state. The BCFE bit in the break flag control register (BFCR) enables software to clear status bit
state. See 13.8.2 Break Flag Control Register.
To allow software to clear status bits during a break interrupt, write a 1 to the BCFE bit. If a sta
during the break state, it remains cleared when the MCU exits the break state.
To protect status bits during the break state, write a 0 to the BCFE bit. With BCFE at 0 (its defa
can read and write I/O registers during the break state without affecting status bits. Some statu
step read/write clearing procedure. If software does the first step on such a bit before the brea
change during the break state as long as BCFE is at 0. After the break, doing the second step c
14.8 Input/Output Signals
Port A shares three of its pins with the TIM. Two TIM channel I/O pins are PTA0/TCH0 and PTA1/
alternate clock source is PTA2/TCLK.
14.8.1 TIM Clock Pin (PTA2/TCLK)
PTA2/TCLK is an external clock input that can be the clock source for the TIM counter instead of
internal bus clock. Select the PTA2/TCLK input by writing 1s to the three prescaler select bits, P
TIM Status and Control Register.) When the PTA2/TCLK pin is the TIM clock input, it is an input r
pin initialization.
14.8.2 TIM Channel I/O Pins (PTA0/TCH0 and PTA1/TCH1)
Each channel I/O pin is programmable independently as an input capture pin or an output comp
can be configured as a buffered output compare or buffered PWM pin.
14.9 Input/Output Registers
The following I/O registers control and monitor operation of the TIM:
• TIM status and control register (TSC)
• TIM counter registers (TCNTH:TCNTL)
• TIM counter modulo registers (TMODH:TMODL)
• TIM channel status and control registers (TSC0 and TSC1)
• TIM channel registers (TCH0H:TCH0L and TCH1H:TCH1L)
tion, 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-purpos
OVERFLOW
OUTPUT COMPARE
dth
ed in 14.4.4 Pulse Width Modulation (PWM).
the new pulse width value over the old
se width on channel x:
e interrupts and write the new value in the
end of the current pulse. The interrupt
NOTE
Do not set the TSTOP bit before entering wait mode if the TIM is required to exit wait mode. When the TSTOP bit is
configured for input capture operation, input captures are inhibited until the TSTOP bit is cleared.
When using TSTOP to stop the timer counter, see if any timer flags are set. If a timer flag is set, it must be cleared b
clearing the flag, then setting TSTOP again.
wing:
1 Bit 0
0 0
the TOF bit becomes set. Reset clears the TOIE bit.
terrupts disabled
ed to exit wait mode. When the TSTOP bit is set and the timer is
the TSTOP bit is cleared.
set. If a timer flag is set, it must be cleared by clearing TSTOP, then
TRST — TIM Reset Bit
Setting this write-only bit resets the TIM counter and the TIM prescaler. Setting TRST has no e
registers. Counting resumes from $0000. TRST is cleared automatically after the TIM counter
reads as a 0. Reset clears the TRST bit.
1 = Prescaler and TIM counter cleared
0 = No effect
NOTESetting the TSTOP and TRST bits simultaneously stops the TIM counter at a value of $0000.PS[2:0] — Prescaler Select BitsThese re
0 0 0 0 0 0 0 0
$0022 TCNTL
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 0 0 0 0
= Unimplemented
Read: Write:
Reset:
Address:
Read: Write:
Reset:
lue of $0000.PS[2:0] — Prescaler Select BitsThese read/write bits select either the PTA2/TCLK pin or one of the seven prescaler outputs as the input to th
value for the TIM counter. When the TIM counter reaches
and the TIM counter resumes counting from $0000 at the
bits the TOF bit and overflow interrupts until the low byte
egisters.
Address: $0023 TMODH
Bit 7 6 5 4 3 2
Bit 9 Bit 8
1 1
1 Bit 0
Bit 1 Bit 0
1 1
trigger
Address: $0025 TSC0
Bit 7 6 5 4 3 2
Read:
Write:
Reset: 0 0 0 0 0 0
Address: $0028 TSC1
Bit 7 6
5 4 3 2
Read:
Write:
Reset: 0 0 0 0 0 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX
0
CH1F CH1IE 0 MS1A ELS1B ELS1A TOV1 CH1MAX
0
= Unimplemented
Figure 14-7. TIM Channel Status and Control Registers (TSC0:TSC1)
CHxF — Channel x Flag BitWhen channel x is an input capture channel, this read/write bit is set when an active edge occurs on t
When ELSxB:A = 00, this read/write bit selects the initial output level of the TCHx pin (see Table 14-3). Reset clears the MSxA
1 Bit 0
0 0
1 Bit 0
0 0
egisters (TSC0:TSC1)
set when an active edge occurs on the channel x pin. When channel x is an output compare channel, CHxF is set when the value in the TIM counter registe
Table 14-3). Reset clears the MSxA bit.1 = Initial output level low0 = 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 st
(TSC).
Table 14-3. Mode, Edge, and Level Selection
NOTE
After initially enabling a TIM channel register for input capture operation and selecting the edge sensitivity, clear CHx
erroneous edge detection flags.
TOVx — Toggle-On-Overflow Bit
When channel x is an output compare channel, this read/write bit controls the behavior of the channe
TIM counter overflows. When channel x is an input capture channel, TOVx has no effect Reset clears t
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 s
Configuration
Pin under port control; initial output level high
Pin under port control; initial output level low
Capture on rising edge only
Capture on falling edge only
Capture on rising or falling edge
Software compare only
Toggle output on compare
Clear output on compare
Set output on compare
Toggle output on compare
Clear output on compare
Set output on compare
n 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 cha
nput capture operation and selecting the edge sensitivity, clear CHxF to ignore any
nel, this read/write bit controls the behavior of the channel x output when the
n input capture channel, TOVx has no effect Reset clears the TOVx bit.
verflow.
ounter overflow.
precedence over a channel x output compare if both occur at the same time.
y Cycle Bit
the CHxMAX bit forces the duty cycle of buffered and unbuffered PWM signals
CHxMAX bit takes effect in the cycle after it is set
100% duty cycle level until the cycle after CHxMAX is cleared.
OVERFLOW OVERFLOW OVERFLOW OVERFLOW OVERFLOW
TCHx PERIO
DOUTPUT OUTPUT OUTPUT OUTPUT COMPARE
CHxMAX COMPARE COMPARE COMPARE
These read/write registers contain the captured TIM counter value of the input capture functio
compare value of the output compare function. The state of the TIM channel registers after re
In input capture mode (MSxB:MSxA = 0:0), reading the high byte of the TIM channel x registe
input captures until the low byte (TCHxL) is read.
In output compare mode (MSxB:MSxA 0:0), writing to the high byte of the TIM channel x reg
inhibits output compares until the low byte (TCHxL) is written.
Bit 7 6 5 4 3 2
Read: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2
Write:
Reset: Indeterminate after
Address: $0029 TCH1H reset
Bit 7 6 5 4 3 2
Read: Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10
Write:
Reset: Indeterminate after
Address: $02A TCH1L reset
Bit 7 6 5 4 3 2
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Read:
Write:
Reset: Indeterminate after reset
Figure 14-9. TIM Channel Registers (TCH0H/L:TCH1H/L)
15.1 Introduction
This section describes the break module, the monitor read-only memory (MON), and the moni
methods.
15.2 Break Module (BRK)The break module can generate a break interrupt that stops normal program flow at a defined address to
FLOW OVERFLOW
OUTPUT COMPARE
1 Bit 0
Bit 9 Bit 8
1 Bit 0
Bit 1 Bit 0
1 Bit 0
Bit 9 Bit 8
1 Bit 0
CLOCK GENERATOR
(OSCILLATOR)
DDRA
PTA
M68HC08 CPU
SYSTEM INTEGRATION
MODULE
SINGLE INTERRUPT
MODULE
BREAK MODULE
POWER-ON RESET
MODULE
KEYBOARD INTERRUPT
MODULE
8-BIT ADC
16-BIT TIMER
MODULE
COP MODULE
POWER SUPPLY
MONITOR ROM
ADDRESS BUS[15:8]
BREAK ADDR
8-BIT
8-BIT BREAK
ADDR
COMPARATOR CONTROL
COMPARATOR
ESS REGISTER LOW
BKPT (TOSIM)
ADDRESS BUS[7:0]
Figure 15-2. Break Module Block Diagram
ADDRESS BUS[15:0]
When the internal address bus matches the value written in the break address registers or whe
1 to the BRKA bit in the break status and control register, the CPU starts a break interrupt by:
• Loading the instruction register with the SWI instruction
• Loading the program counter with $FFFC and $FFFD ($FEFC and $FEFD in monitor mode)
The break interrupt timing is:
• When a break address is placed at the address of the instruction opcode, the instruction is
after completion of the break interrupt routine.
• When a break address is placed at an address of an instruction operand, the instruction is
break interrupt.
• When software writes a 1 to the BRKA bit, the break interrupt occurs just before the next in
executed.
By updating a break address and clearing the BRKA bit in a break interrupt routine, a break inte
generated continuously.
CAUTION
A break address should be placed at the address of the instruction opcode. When software does not change the bre
the BRKA bit in the first break interrupt routine, the next break interrupt will not be generated after exiting the interrup
the internal address bus matches the value written in the break address registers.
15.2.1.1 Flag Protection During Break Interrupts
The system integration module (SIM) controls whether or not module status bits can be cleared during
The BCFE bit in the break flag control register (BFCR) enables software to clear status bits during the
13.8.2 Break Flag Control Register and the Break Interrupts subsection for each module.
15.2.1.2 TIM During Break Interrupts
A break interrupt stops the timer counter.
15.2.1.3 COP During Break Interrupts
The COP is disabled during a break interrupt with monitor mode when BDCOP bit is set in break auxili
(BRKAR).
15.2.2 Break Module Registers
These registers control and monitor operation of the break module:
• Break status and control register (BRKSCR)
• Break address register high (BRKH)
• Break address register low (BRKL)
• Break status register (BSR)
• Break flag control register (BFCR)
PTA1/AD1/TCH1/KBI1
PTA4/OSC2/AD2/KBI4
PTA5/OSC1/AD3/KBI5
ADDRESS BUS[15:8]
BKPT (TOSIM)
ADDRESS BUS[7:0]
Figure 15-2. Break Module Block Diagram
VD
D
VSS
ADDRESS BUS[15:0]
ddress bus matches the value written in the break address registers or when software writes a
the break status and control register, the CPU starts a break interrupt by:
ruction register with the SWI instruction
gram counter with $FFFC and $FFFD ($FEFC and $FEFD in monitor mode)
timing is:
ddress is placed at the address of the instruction opcode, the instruction is not executed until
he break interrupt routine.
ddress is placed at an address of an instruction operand, the instruction is executed before the
writes a 1 to the BRKA bit, the break interrupt occurs just before the next instruction is
address and clearing the BRKA bit in a break interrupt routine, a break interrupt can be
usly.
ced at the address of the instruction opcode. When software does not change the break address and clears
nterrupt routine, the next break interrupt will not be generated after exiting the interrupt routine even when
es the value written in the break address registers.
ing Break Interrupts
dule (SIM) controls whether or not module status bits can be cleared during the break state.
flag control register (BFCR) enables software to clear status bits during the break state. See
Register and the Break Interrupts subsection for each module.
terrupts
timer counter.
nterrupts
a break interrupt with monitor mode when BDCOP bit is set in break auxiliary register
sters
d monitor operation of the break module:
ol register (BRKSCR)
high (BRKH)
low (BRKL)
BSR)
ster (BFCR)
15.2.2.1 Break Status and Control Register
The break status and control register (BRKSCR) contains break module enable and status bits
Address: $FE0B
Bit 7 6 5 4 3 2 1
Read:
Write:
Reset: 0 0 0 0 0 0 0
= Unimplemented
BRKE BRKA 0 0 0 0 0 0
Figure 15-3. Break Status and Control Register (BRKSCR) BRKE — Break Enable Bit
This read/write bit enables breaks on break address register matches. Clear BRKE by writing a
bit 7. Reset clears the BRKE bit.
1 = Breaks enabled on 16-bit address match 0 = Breaks disabled
BRKA — Break Active Bit
This read/write status and control bit is set when a break address match occurs. Writing a 1 to
break interrupt. Clear BRKA by writing a 0 to it before exiting the break routine. Reset clears th
1 = Break address match
0 = No break address match
15.2.2.2 Break Address Registers
The break address registers (BRKH and BRKL) contain the high and low bytes of the desired bre
Reset clears the break address registers.
Address: $FE09
Bit 7 6 5 4 3 2
Read: Bit 14 Bit 13 Bit 12 Bit 11 Bit 10
Bit 15
Write:
Reset: 0 0 0 0 0 0
Figure 15-4. Break Address Register High (BRKH)
Address: $FE0A
Bit 7 6 5 4 3 2 1 Bit 0
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
Figure 15-5. Break Address Register Low (BRKL)
ule enable and status bits.
1 Bit 0
0 0
Enable Bit
Clear BRKE by writing a 0 to
1 Bit 0
Bit 9 Bit 8
0 0
(BRKH)
Bit 0
0 0 0
(BRKL)
15.2.2.3 Break Auxiliary Register
The break auxiliary register (BRKAR) contains a bit that enables software to disable the COP w
state of break interrupt with monitor mode.
Address: $FE02
Bit 7 6 5 4 3 2 1 Bit 0
0 0 0 0 0 0 0 BDCOP
Read:
Write:
Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 15-6. Break Auxiliary Register (BRKAR)
BDCOP — Break Disable COP Bit
This read/write bit disables the COP during a break interrupt. Reset clears the BDCOP bit.
1 = COP disabled during break interrupt 0 = COP enabled during break interrupt
15.2.2.4 Break Status Register
The break status register (BSR) contains a flag to indicate that a break caused an exit from wait mode
used in emulation mode.
Address: $FE00
Bit 7 6 5 4 3 2 1 Bit 0
R R R R R R SBSW R
Note (1)
Read:
Write:
Reset: 0
= Reserved 1. Writing a 0 clears SBSW.
Figure 15-7. Break Status Register (BSR)
SBSW — SIM Break Stop/Wait
SBSW can be read within the break state SWI routine. The user can modify the return address o
subtracting one from it.
1 = Wait mode was exited by break interrupt
0 = Wait mode was not exited by break interrupt
R
t enables software to disable the COP while the MCU is in a
2 1 Bit 0
0 0
2 1 Bit 0
Bit 7 6 5 4 3 2 1 Bit 0
BCFE R R R R R R R
Read:
Write:
Reset: 0
= Reserved
Figure 15-8. Break Flag Control Register (BFCR)
R
BCFE — Break Clear Flag Enable Bit
This read/write bit enables software to clear status bits by accessing status registers while the
state. To clear status bits during the break state, the BCFE bit must be set.
1 = Status bits clearable during break
0 = Status bits not clearable during break
15.2.3 Low-Power Modes
The WAIT and STOP instructions put the MCU in low power- consumption standby modes. If ena
module will remain enabled in wait and stop modes. However, since the internal address bus d
these modes, a break interrupt will never be triggered.
1. No security feature is absolutely secure. However, Freescale’s strategy is to make reading or copying the FLASH
unauthorized users.
15.3.1 Functional DescriptionFigure 15-9 shows a simplified diagram of monitor mode entry.The monitor module receives and exe
nables software to clear status bits while the MCU is in a
2 1 Bit 0
d:
e:
0
rved
ontrol Register (BFCR)
plied to IRQ
ESET YES
R?
N
O
RESET OCCUR?
FORCED MONITOR
MODE
MAL MODE
NORMAL MONITOR
MODE
INVALID USER
MODE
HOST SENDS
8 SECURITY BYTES
DISABLE FLASH
ENABLE FLASH
CUTE
R CODE
NO
Figure 15-9. Simplified Monitor Mode Entry Flowchart
ARE ALL
YES N
SECURITY
O
BYTES
CORRECT?
Figure 15-10. Monitor Mode Circuit (External Clock, with High Voltage)
10
k* VDD
+ 6 + VTST
1 1 F C1+ 1
FDB9 F
3 1 1
C1– 5 + F 1 10
k PTA k*
4
V 2 IRQ 1
1 2 + C2+ 7 + 10 6VD 5 (PTA2)
F V– 6 9 74HC125 D PTA0
3 5 8 1 F 2 3 4 9.1
C2– + 10 V
DB9 5 1 k
74HC125
PTA4 1 6 5 PTA
2 7 0 74HC125
3 8 9 4 * Value not critical 0
2 3
Figure 15-11.
1 Monitor Mode Circuit (External Clock, No High
VSSVoltage)
5
N.C RST
. (PTA3) * Value
VD not
critical
D
MAX2
VD
32
D
1 1 9.8304 MHz
+ C1+ 6 + CLOCK OSC1
1 1 (PTA5)
F F
MAX2 Figure 15-12. Monitor Mode Circuit (Internal Clock, No High Voltage)
VD N.C OSC1
32
D . (PTA5)
MAX2
VD N.C OSC1
32 can access any memory address. In monitor mode, the MCU can execute code downloaded into RAM b
Simple monitor commands
1 D . (PTA5)
1
+ C1+ 6 +
1
1 F
F IRQ PTA
3 1 1
(PTA2) 1
5 + F
C1–
10 k*
4
V+ 2 VDD PTA
+ C2+ 4
1 V– 6
F 5 C2 1 F
– + 10
DB k
74HC125
29 7 1 6 5 PTA VSS
0 74HC1
9 0
3 8 2 25 4
3
5 1
* Value not
critical
h High Voltage)
V
DD
0.1 F
VD
D
10
k*
PTA0 V
SS
10
k*
o High Voltage)
* Value
VD not
critical
D
VD
D
0 .1 F
o High Voltage)
code downloaded into RAM by a host computer while most MCU pins retain normal operating mode functions. All communication between the host com
N.C
.
N.C
.
nd Options
IRQ RST Reset Serial Mode Communication Speed
(PTA2) (PTA3) Vector Communi- Selection
cation
Mode COP
PTA0 PTA1 PTA4 External Bus Baud
Clock Frequency Rate
Normal V
TST V
DD X 1 1 0 Disabled 9.8304 2.4576 9600
Monitor MHz MHz
Forced V
DD X $FFFF 1 X X Disabled 9.8304 2.4576 9600
Monitor (blank) MHz MHz
V
SS X $FFFF 1 X X Disabled X 3.2 MHz 9600
(blank) (Trimmed)
User X X Not X X X Enabled X X X
$FFFF
MON08 V
TST [6] RST COM [8] MOD0 MOD1 OSC1
Function [4] — [12] [10] — [13] — —
[Pin No.]
1. PTA0 must have a pullup resistor to VDD in monitor mode.
2. Communication speed in the table is an example to obtain a baud rate of 9600. Baud rate using external oscil
frequency / 256 and baud rate using internal oscillator is bus frequency / 335.
3. External clock is a 9.8304 MHz oscillator on OSC1.
4. X = don’t care
5. MON08 pin refers to P&E Microcomputer Systems’ MON08-Cyclone 2 by 8-pin connector.
NC 1 2 GND
NC 3 4 RST
NC 5 6 IRQ
NC 7 8 PTA0
NC 9 10 PTA4
NC 11 12 PTA1
OSC1 13 14 NC
V
DD 15 16 NC
The rising edge of the internal RST signal latches the monitor mode. Once monitor mode is latc
values on PTA1 and PTA4 pins can be changed.
Once out of reset, the MCU waits for the host to send eight security bytes (see 15.3.2 Security)
bytes, the MCU sends a break signal (10 consecutive logic 0s) to the host, indicating that it is r
command.
15.3.1.1 Normal Monitor Mode
RST and OSC1 functions will be active on the PTA3 and PTA5 pins respectively as long as VTST is
pin. If the IRQ pin is lowered (no longer VTST) then the chip will still be operating in monitor mod
functions will be determined by the settings in the configuration registers (see
Chapter 5 Configuration Register (CONFIG)) when VTST was lowered. With VTST lowered, the BIH an
will read the IRQ pin state only if IRQEN is set in the CONFIG2 register.
If monitor mode was entered with VTST on IRQ, then the COP is disabled as long as VTST is applied
15.3.1.2 Forced Monitor Mode
If entering monitor mode without high voltage on IRQ, then startup port pin requirements and c
(PTA1/PTA4) are not in effect. This is to reduce circuit requirements when performing in-circuit
programming.
NOTEIf the reset vector is blank and monitor mode is entered, the chip will see an additional reset cycle after the initial power-on reset (POR
Comments
Provide external
clock at OSC1.
Provide external
clock at OSC1.
Internal clock is
active.
ctor.
A start bit (logic 0) followed by nine logic 0 bits is a break signal. When the monitor receives a
it drives the PTA0 pin high for the duration of two bits and then echoes back the break signal.
Figure 15-14. Break Transaction
15.3.1.6 Baud Rate
The monitor communication baud rate is controlled by the frequency of the external or internal oscillator and the state of the approp
MISSING STOP
BIT 2-STOP BIT DELAY
BEFOREZERO ECHO
0 1 2 3 4 5 6 0 1 2 3 4 5 6
7 7
The monitor ROM firmware echoes each received byte back to the PTA0 pin for error checking. An 11-
of each command allows the host to send a break character to cancel the command. A delay of two bi
before each echo and before READ, IREAD, or READSP data is returned. The data returned by a read c
after the echo of the last byte of the command.
NOTE
Wait one bit time after each echo before sending the next byte.
e
NEXT
STAR
T BIT
nal oscillator and the state of the appropriate pins as shown in Table 15-1.Table 15-1 also lists the bus frequencies to achieve standard baud rates. The effe
ELAY
ECHO
2 3 4 5 6
Notes:
1 = Echo delay, 2 bit times
2 = Cancel command delay, 11 bit times
3 = Wait 1 bit time before sending next byte.
Figure 15-16. Write Transaction
A brief description of each monitor mode command is given in Table 15-3 through Table 15-8.Table 15-3. READ (Read Mem
READ READ
ADDRESS ADDRESS ADDRESS
ADDRESS DATA
HIGH HIGH LOW
LOW
RETUR
ECHO N
lay, 11 bit times
e sending next byte.
ion
mes
t byte.
ion
2,
3
DAT
A
4
RETUR
N
Table 15-4. WRITE (Write Memory) Command
Description Write byte to memory
Operand 2-byte address in high-byte:low-byte order; low byte followed by data
byte
Data Returned None
Opcode $49
Command Sequence
FROM HOST
WRITE WRITE ADDRESS ADDRESS ADDRESS ADDRESS DATA DATA HIGH HIGH LOW
LOW
ECHO
Table 15-5. IREAD (Indexed Read) Command
Description Read next 2 bytes in memory from last address accessed
Operand None
Data Returned Returns contents of next two addresses
Opcode $1A
Command Sequence
FROM HOST
IREAD IREAD DATA DATA
ECHO
RETURN
A sequence of IREAD or IWRITE commands can access a block of memory sequentially over th
memory map.
Command
Command
Command
The MCU executes the SWI and PSHH instructions when it enters monitor mode. The RUN comm
to execute the PULH and RTI instructions. Before sending the RUN command, the host can mod
registers to prepare to run the host program. The READSP command returns the incremented s
SP + 1. The high and low bytes of the program counter are at addresses SP + 5 and SP + 6.
SP
SP + 1
SP + 2
SP + 3
SP + 4
SP + 5
SP + 6
SP + 7
Command
256 BUS
CYCLES
(MINIMUM) Notes:
FROM MCU 1 = Echo delay, 2 bit times
2 = Data return delay, 2 bit times
4 = Wait 1 bit time before sending next byte.
Figure 15-18. Monitor Mode Entry Timing
XCLK CYCLES
1 4 1 1 2 4 1
Notes:
1 = Echo delay, 2 bit times
2 = Data return delay, 2 bit times
4 = Wait 1 bit time before sending next byte.
Figure 15-18. Monitor Mode Entry Timing
Chapter 16
Electrical Specifications
16.1 Introduction
This section contains electrical and timing specifications.
NOTE
This device is not guaranteed to operate properly at the maximum ratings.
Refer to 16.5 5-V DC Electrical Characteristics and 16.9 3-V DC Electrical Characteristics for guaranteed operating
Characteristic(1) Symbol
Supply voltage V
DD
Input voltage V
IN
Storage temperature T
STG
This device contains circuitry to protect the inputs against damage due to high static voltages
however, it is advised that normal precautions be taken to avoid application of any voltage hi
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)
operation is enhanced if unused inputs are connected to an appropriate logic voltage level (fo
example, either VSS or VDD.)
s.
s.
al Characteristics for guaranteed operating conditions.
Value Unit
–0.3 to +6.0 V
VSS –0.3 to VDD +0.3 V
VSS –0.3 to +9.1 V
±15 mA
±25 mA
–55 to +150 C
100 mA
100 mA
ences to VSS.
E
TA – 40 to +125
Operating temperature range – 40 to +105
– 40 to +85
Operating voltage range V
DD 2.7 to 5.5
MVC
°C
V —
Value Unit
105
142
173
76
90 °C/W
133
User determined W
PD = (IDD x VDD) W
PI/O = K/(TJ + 273°C)
TA + (PD x JA) °C
150 °C
Input hysteresis V
HYS 0.06 x VDD —
DC injection current, all ports I
INJ –2 —
Total dc current injection (sum of all I/O) I
INJTOT –25 —
Ports Hi-Z leakage current I
IL –1 0.1
Capacitance Ports (as input) Ports (as input) C
IN COUT — —
— —
5V PTA
5V PTB
Figure 16-2. Typical 5-Volt Output Low Voltage versus Output Low Current
2.
0
1.
5
5V PTA
1. 5V PTB
0
0.
5
0.
0 0 - -10 -15 -20 -25 -30
5 -35
IOH
(mA)
5-V DC Electrical Characteristics
Max Unit
— V
—
—
50 mA
0.4 V
1.5
0.8
50 mA
V
DD V
0.3 x VDD V
— V
+2 mA
+25 mA
+1 A
12 pF
8
100 mV
— V/ms
9.1 V
36 k
4.50 V
4.60 V
— mV
C only.
V PTA
V PTB
5-V Control
16.7 5-V Control Timing
Characteristic(1) Symbol Min
Internal operating frequency f
OP (fBus) —
Internal clock period (1/fOP) t
cyc 125
RST input pulse width low t
RL 100
IRQ interrupt pulse width low (edge-triggered) t
ILIH 100
IRQ interrupt pulse period t
ILIL Note(2)
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
2. The minimum period is the number of cyclestRit takes to execute the interrupt service routine plus 1 tcyc.
L
RST
t
ILIL
t
ILIH
IRQ
Figure 16-3. RST and IRQ Timing
5-V Control Timing
Max Unit
8 MHz
— ns
— ns
— ns
— t
cyc
ming
16.8 5-V Oscillator Characteristics
Characteristic Symbol Min Typ
Internal oscillator frequency (1) f
INTCLK — 12.8
Deviation from trimmed Internal oscillator (2)(3)
— 0.4
12.8 MHz, fixed voltage, fixed temp — 2
12.8 MHz, VDD 10%, 0 to 70C ACCINT
14
5 V 25°C
12
10
8
6
4
2
0
0 10 20 30 40 50 60
R (k)
EXT
5
24 MHz
12 MHz
32 MHz
— pF
— —
— —
10 M
gure 16-4 —
— k
—
—
Volts @ 25°C)
3-V DC Electrical Charac
16.9 3-V DC Electrical Characteristics
Characteristic(1) Symbol Min Typ(2)
Input hysteresis V
HYS 0.06 x VDD —
DC injection current, all ports I
INJ –2 —
Total dc current injection (sum of all I/O) I
INJTOT –25 —
Ports Hi-Z leakage current I
IL –1 0.1
Capacitance Ports (as input) Ports (as input) C
IN COUT — —
— —
3V PTA
3V PTB
Figure 16-5. Typical 3-Volt Output High Voltage versus Output High Curren
1.5
1.0
0.5
0.0
0 5 10 15 20
IOL (mA)
3V PTA
3V PTB
Figure 16-6. Typical 3-Volt Output Low Voltage versus Output Low Current
3-V DC Electrical Characteristics
Max Unit
— V
—
—
50 mA
0.3 V
1.0
0.8
50 mA
V
DD V
0.3 x VDD V
— V
+2 mA
+25 mA
+1 A
12 pF
8
100 mV
— V/ms
VDD + 4.0 V
36 k
2.70 V
2.80 V
— mV
5°C only.
RST
t
ILIL
t
ILIH
IRQ
Figure 16-7. RST and IRQ Timing
3-V Control Timing
Max Unit
4 MHz
— ns
— ns
— ns
— t
cyc
ming
16.12 3-V Oscillator Characteristics
Characteristic Symbol Min Typ
Internal oscillator frequency (1) f
INTCLK — 12.8
Deviation from trimmed Internal oscillator (2)(3)
— 0.4
12.8 MHz, fixed voltage, fixed temp — 2
12.8 MHz, VDD 10%, 0 to 70C ACCINT
12
3 V 25°C
10
8
6
4
2
0
0 10 20 30 40 50 60
R (k)
EXT
5
16 MHz
10 MHz
16 MHz
— pF
— —
— —
10 M
gure 16-8 —
— k
—
—
Volts @ 25°C)
Supply Current Chara
16.13 Supply Current Characteristics
Bus Typ(2)
Max Unit
7.0 mA
3.2
1.5 mA
1.0 mA
1.0
2.0
5.0
— A
—
0.5
1.0
4.0
— A
—
3
Crystal w/o ADC
2 Crystal w/ ADC
0 1 2 3 4 5
Bus Frequency
(MHz)
4
Figure 16-10. Typical 3-Volt Run Current versus Bus Frequency (25°C)
14
12
10
0 1 2 3 4 5 6
Bus Frequency
(MHz)
olt Run Current versus Bus Frequency (25°C)
7
Analog-to-Digital Converter Characteristics
16.14 Analog-to-Digital Converter Characteristics
Input voltages V
ADIN V
SS V
DD V
Absolute accuracy E
TUE — 1.5 LSB
(Total unadjusted error)
ADC internal clock f
ADIC 0.5 1.048 MHz
Conversion range V
AIN V
SS V
DD V
Power-up time t
ADPU 16 — tADIC cycles
Conversion time t
ADC 16 17 tADIC cycles
Sample time(1) t
ADS 5 — tADIC cycles
Full-scale reading(3) F
ADI FE FF Hex
Input capacitance C
ADI — 8 pF
Input leakage(3) I
IL — ±1 A
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 an
Comments
—
Includes quantization
t = 1/f
ADIC ADIC,
tested only at 1 MHz
—
t = 1/f
ADIC ADIC
t = 1/f
ADIC ADIC
t = 1/f
ADIC ADIC
V =V
IN SS
V =V
IN DD
Not tested
Enabled Enabled
1. The minimum period is the number of cycles it takes to execute the interrupt service routine plus 1 tcyc.
INPUT CAPTURE RISING t
TH t
TLTL
EDGE t
TH
INPUT CAPTURE FALLING
EDGE
INPUT CAPTURE
t
TLTL
t
TL
t
TLTL
t
TL
BOTH EDGES
t
TCH
TCLK
t
TCL
Figure 16-11. Timer Input Timing
Max Unit
— t
cyc
— t
cyc
— ns
ng
Memory Charac
16.16 Memory Characteristics
Characteristic Symbol Min Typ
1. fRead is defined as the frequency range for which the FLASH memory can be read.
2. tRCV is defined as the time it needs before the FLASH can be read after turning off the high voltage charge pump,
3. tHV is defined as the cumulative high voltage programming time to the same row before next erase. tHV must satis
+ tPGS + (tPROG x 32) tHV maximum.
4. Typical endurance was evaluated for this product family. For additional information on how Freescale defines Ty
Endurance, please refer to Engineering Bulletin EB619.
5. Typical data retention values are based on intrinsic capability of the technology measured at high temperature
using the Arrhenius equation. For additional information on how Freescale defines Typical Data Retention, please
refer to Engineering Bulletin EB618.
Memory Characteristics
Max Unit
— V
— MHz
8M Hz
1.1 ms
5.5
— ms
— s
— s
— s
— s
40 s
— s
4 ms
— Cycles
— Years
MC 9 0 8 QY 1 X X X E
Pb FREE
FAMILY
PACKAGE DESIGNATOR TEMPERATURE RANGE
Figure 17-1. Device Numbering System
17.3 Package Dimensions
Refer to the following pages for detailed package dimensions.
pecifications
umbers
XE
5 .B240
. 260
4
.040
. 370
. 400
. 210
Id I N
0
0
SEAT I NO
PLANE .115
135
. 03 .022
. 05 .014
/.005
0
. 100
@ FREESCALE SEM I CONDUCT OR, I NC. ALL R I CHTS MECHANICAL OUTLINE
RESERVED.
T I TLE: DOCUMENT N0: 98 ASB 42420B
.115
135
PR I NT VERS I 0N NOT TO SCALE
ARD: NON—JEDEC
10’
MAX
PIN 1. AC I N 5. GROUND
2. DC + I N 6. OUTPUT
3. DC — I N 7. AUX I LI ARY
4. AC I N 8. VCC
@ FREESCALE SEM I C0NDUC T0R, I NC. ALL R I MECHANICAL OUTLINE
CHTS RESERVED.
STANDARD: NON—JEDEC
ME Y14.5M — 1994.
SQUARE CONERS).
GROUND
OUTPUT
AUX I LI ARY
VCC
ARD: NON—JEDEC
UECHANICAL OUTLINES DOCUMENTNO:98
DICTIONARY
PAGE:
SHEET 3 OF 4
:
MECHANICAL OUTMNES DOCUMENTNO: 98ARL10557D
DIC10NARY
PAGE: 1452
','’’'’’’’’’ ’’’’ ,, “y “- ' x '?,”” - ?’ ’” -’ ’,'’’'''’,'’’'''I “.’'*
””” “”” g¿. ,-„ ¿ '¿{ e\'@'
O FPEE SCALE SEMICONDUCTOR. INC. ALL RICH TS RESERVED.
2X
TITLE: THERMALLY ENHANCED DUAL CASE NUMBER: 1452—01
FLAT NO LEAD PACKAGE (DFN) STANDARD: NON—JEDEC
8 TERMINAL, 0.8 PITCH (4 X 4 X 1)
PACKAGECODE: 6165
O: 98ARL10557D
452
REV: A
0.1
2X
C
X PIN 1
INDEX AREA
DETAIL G
M
1452—01
N—JEDEC
SHEET: 1 OF 5
kIECHANICAL OUTMNES DOCUMENTNO: 98
DIC10NARY
PAGE: 145
DIRECTLY FROM THE DOCUMENT CONTROL REPOSITORY. PRINTED VERSIONS DO NOT SCALE THIS DRAWING REV: A
ARE UNCONTROLLED EXCEPT WHEN STAMPED "CONTROLLED COPY" IN RED.
3.5
3.4
DETAIL M 0.1
PIN I INDEX
3.05
2.95 2.55
0.1 2.45
0.1
8X 0.5 _j DETAIL N
0.4 8X 035
0.25
0.1@ |C |A |
B
0.05 C
1.0 1.00
0.8 0.75
0.05 C
(0.35)
0.05 c
0.00 (0.8)
SEATING PLANE
DETAIL G
PLANE
R: 1452—01
ON—JEDEC
SHEET: 2 OF 5
UECHANICAL OUTMNES DOCUMENTNO:
DIC10NARY
PAGE:
s-°.' ‹i° 2s’1? ' -°’‹'s’
O FPEESCALE SEMICONDUC TOR. INC. ALL RIGH TS RESERVED.
ARE UNCON 7ROLLE D EXCEPT WHEN S7AMPE D “CON TROLLED COPY” IN RED.
0.3
0.2
0.3
0.2
0.4
DETAIL M
BACKSIDE PIN 1 INDEX
6X 0.8
DETAIL N
0.06
5
0.015
TITL THERMALLY ENHANCED DUAL CASE NUMBER: 1452—01
E: FLAT NO LEAD PACKAGE (DFN) STANDARD: NON—JEDEC
8 TERMINAL, 0.8 PITCH (4 X 4 X 1)
PACKAGECODE: 6165
DOCUMENTNO: 98ARL10557D
1452
A
1452—01
N—JEDEC
SHEE 3 OF 5
T:
UECHANICAL OUTLINES DOCUMENT NO:98A
DICTIONARY
PAGE:
NOTES:
1. ALL DIMENSIONS ARE IN MILLIMETERS.
2. INTERPRET DIMENSIONS AND TOLERANCES PER ASME Y14. 5M-1994.
3. THE COMPLETE JEDEC DESIGNATOR FOR THIS PACKAGE IS: HP-VFDFP-N. COP
APPLIES TO LEADS AND DIE ATTACH PAD.
:THERMALLY ENHANCED
TITLE
DUAL CASE NUMBER: 1452—01
FLAT NO LEAD PACKAGE ( DFN) STANDARD: NON—JEDEC
8 TERM I NAL, 0. 8 P I TCH( 4 X 4 X 1) PACKAGE 6165
CODE:
DOCUMENT NO:98ARL10557D
1452
A
M-1994.
HP-VFDFP-N. COPLANARITY
1452—01
N—JEDEC
SHEE 4 OF 5
T:
UECHANIGAL OUTLINES DOCUMENT NO:98A
DICTIONARY
P AGE: 751
DO NOT SCALE TH I S DRAW I NG REV: E
vERS I ONS ARE UNC 0N7ROLLED EXCEP 7 WHEN STAMPED ” C 0NTROLL ED
2. 65
8X 10. 55 2. 35
0. 25
10. 05 0. 10
0.2
5 16
16 0. 25 @
10. 14X
10. 1. 27
0. 635
45
15
7. 6 SEA1NG PLANE
7. 4 16X
0. 1
0. 75 X45”
0. 25
0. 32
0. 23
0. 4 7’
0’
SECTION A—A
0. 25
0. 10
16X 0.49
0. 35
0. 25 @
14X
1. 27
0. 635
SEA1NG PLANE
1G-05
EC MS-0l3AA
SHEET: 1 OF 3
UECHANICAL OUTLINES DOCUMENT N0:98A
DICTIONARY
PAGE:
DO NOT SCALE TH I S DRAW I NG REV:
VERS I ONS ARE UNCONTROLLED EXCEPT ¥/HEN STAMPED ”CONTROLLED
NOTES:
1. DIMENSIONS ARE IN MILLIMETERS.
2. DIMENSIONING AND TOLERANCING PER ASME Y14.5M—1994.
3. DATUMS A AND B TO BE DETERMINED AT THE PLANE WHERE THE BOTTOM OF THE
THE PLASTIC BODY.
THIS DIMENSION DOES NOT INCLUDE MOLD FLASH, PROTRUSION OR GATE BURRS. MOL
PROTRUSION OR GATE BURRS SHALL NOT EXCEED 0.15 MM PER SIDE. THIS DIMENSION
DETERMINED AT THE PLANE WHERE THE BOTTOM OF THE LEADS EXIT THE PLASTIC B
THIS DIMENSION DOES NOT INCLUDE INTER—LEAD FLASH OR PROTRUSIONS. INTER—L
AND PROTRUSIONS SHALL NOT EXCEED 0.25 MM PER SIDE. THIS DIMENSION IS DET
THE PLANE WHERE THE BOTTOM OF THE LEADS EXIT THE PLASTIC BODY.
THIS DIMENSION DOES NOT INCLUDE DAMBAR PROTRUSION. ALLOWABLE DAMBAR PROTRUS
SHALL NOT CAUSE THE LEAD WIDTH TO EXCEED 0.62 mm.
T I TLE: P I TCH CASE NUMBER: 75 1 G—05
16LD SO I C W/B, 1. 27 STANDARD: JEDEC MS—0 13AA
CASE OUTL I NE PACKAGE CODE: 2003 SHEET:
DOCUMENT N0:98ASB42567B
751G
E
Information in this document is provided solely to enable system and software implementers to use
Freescale Semiconductor products. There are no express or implied copyright licenses granted
hereunder to design or fabricate any integrated circuits or integrated circuits based on the
information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to any products
herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the
suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any
liability arising out of the application or use of any product or circuit, and specifically disclaims any
and all liability, including without limitation consequential or incidental damages. “Typical”
parameters that may be provided in Freescale Semiconductor data sheets and/or specifications can
and do vary in different applications and actual performance may vary over time. All operating
parameters, including “Typicals”, must be validated for each customer application by customer’s
technical experts. Freescale Semiconductor does not convey any license under its patent rights nor
the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for
use as components in systems intended for surgical implant into the body, or other applications
intended to support or sustain life, or for any other application in which the failure of the Freescale
Semiconductor product could create a situation where personal injury or death may occur. Should
Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized
application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees,
subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses,
and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death
associated with such unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product
or service names are the property of their respective owners.
© Freescale Semiconductor, Inc. 2005. All rights reserved.