FREESCALE MC68HRC705KJ1

MC68HC705KJ1
MC68HRC705KJ1
MC68HLC705KJ1
Data Sheet
M68HC05
Microcontrollers
MC68HC705KJ1
Rev. 4.1
07/2005
freescale.com
MC68HC705JK1
MC68HRC705KJ1
MC68HLC705KJ1
Data Sheet
To provide the most up-to-date information, the revision of our documents on the World Wide Web will be
the most current. Your printed copy may be an earlier revision. To verify you have the latest information
available, refer to:
http://freescale.com
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
© Freescale Semiconductor, Inc., 2005. All rights reserved.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
3
Revision History
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
Date
April, 2002
Revision
Level
3.0
Page
Number(s)
Description
Figure 1-4. Crystal Connections with Oscillator Internal Resistor Mask
Option — changed PA7 designator to OSC1 in two places
17
Figure 1-5. Crystal Connections without Oscillator Internal Resistor Mask
Option — changed PA7 designator to OSC1 in two places
17
Figure 1-6. Ceramic Resonator Connections with Oscillator Internal
Resistor Mask Option — changed PA7 designator to OSC1 in two places
18
Figure 1-7. Ceramic Resonator Connections without Oscillator Internal
Resistor Mask Option — changed PA7 designator to OSC1 in two places
18
Figure 1-8. External Clock Connections — changed PA7 designator to
OSC1 in two places
19
Figure B-1. Crystal Connections — added OSC2 designation
105
Table B-3. MC68HLC705KJ1 (Low Frequency) Order Numbers —
Corrected table title
106
Reformatted to new publications standards.
May, 2003
July, 2005
4.0
4.1
Throughout
Figure A-2. Typical Internal Operating Frequency for Various VDD at 25°C
— RC Oscillator Option Only — replaced graph
Updated to meet Freescale identity guidelines.
102
Throughout
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
4
Freescale Semiconductor
List of Chapters
Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Chapter 3 Computer Operating Properly Module (COP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Chapter 4 Central Processor Unit (CPU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapter 5 External Interrupt Module (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Chapter 6 Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Chapter 7 Parallel I/O Ports (PORTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Chapter 8 Resets and Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Chapter 9 Multifunction Timer Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Chapter 10 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Chapter 11 Ordering Information and Mechanical Specifications . . . . . . . . . . . . . . . . . . . 97
Appendix A MC68HRC705KJ1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Appendix B MC68HLC705KJ1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
5
List of Chapters
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
6
Freescale Semiconductor
Table of Contents
Chapter 1
Introduction
1.1
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Programmable Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Pin Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1
VDD and VSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2
OSC1 and OSC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2.1
Crystal Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2.2
Ceramic Resonator Oscillator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2.3
RC Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2.4
External Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3
RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.4
IRQ/VPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.5
PA0–PA7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.6
PB2 and PB3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
14
15
15
16
16
16
17
18
19
19
19
19
19
Chapter 2
Memory
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.7.1
2.7.2
2.7.3
2.8
2.9
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unimplemented Memory Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Memory Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input/Output Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM/OTPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM/OTPROM Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM Programming Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM Erasing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mask Option Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM Programming Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
21
21
23
25
25
25
26
26
27
28
Chapter 3
Computer Operating Properly Module (COP)
3.1
3.2
3.3
3.3.1
3.3.2
3.3.3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP Watchdog Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP Watchdog Timeout Period. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clearing the COP Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
29
29
29
30
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
7
Table of Contents
3.4
3.5
3.6
3.6.1
3.6.2
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
30
30
30
31
Chapter 4
Central Processor Unit (CPU)
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
CPU Control Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4
Arithmetic/Logic Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5
CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1
Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2
Index Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.3
Stack Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.4
Program Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.5
Condition Code Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6
Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1
Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.1
Inherent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.2
Immediate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.3
Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.4
Extended . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.5
Indexed, No Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.6
Indexed, 8-Bit Offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.7
Indexed, 16-Bit Offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1.8
Relative. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2
Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2.1
Register/Memory Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2.2
Read-Modify-Write Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2.3
Jump/Branch Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2.4
Bit Manipulation Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2.5
Control Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.3
Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7
Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
33
33
35
35
35
35
36
36
37
37
37
37
37
37
38
38
38
38
39
39
40
40
42
42
43
48
Chapter 5
External Interrupt Module (IRQ)
5.1
5.2
5.3
5.3.1
5.3.2
5.4
5.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IRQ/VPP Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optional External Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IRQ Status and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
51
51
51
52
54
55
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
8
Freescale Semiconductor
Chapter 6
Low-Power Modes
6.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2
Exiting Stop and Wait Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3
Effects of Stop and Wait Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1
Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1.1
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1.2
WAIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2
CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2.1
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2.2
WAIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3
COP Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3.1
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3.2
WAIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.4
Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.4.1
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.4.2
WAIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.5
EPROM/OTPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.5.1
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.5.2
WAIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4
Data-Retention Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5
Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
57
58
58
58
58
58
58
58
58
59
59
59
59
59
59
60
60
60
60
Chapter 7
Parallel I/O Ports (PORTS)
7.1
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
7.3
7.3.1
7.3.2
7.3.3
7.4
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port A Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Direction Register A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pulldown Register A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port LED Drive Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port A I/O Pin Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port B Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Direction Register B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pulldown Register B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Port Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
64
64
64
65
66
66
66
66
67
68
69
Chapter 8
Resets and Interrupts
8.1
8.2
8.2.1
8.2.2
8.2.3
8.2.4
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power-On Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
External Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COP Watchdog Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Illegal Address Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
71
72
72
73
73
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
9
Table of Contents
8.3
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.1
Software Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.2
External Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.3
Timer Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.3.1
Real-Time Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.3.2
Timer Overflow Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.4
Interrupt Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
73
73
75
75
75
75
Chapter 9
Multifunction Timer Module
9.1
9.2
9.3
9.4
9.5
9.5.1
9.5.2
9.6
9.6.1
9.6.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer Counter Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
79
79
80
81
81
82
83
83
83
Chapter 10
Electrical Specifications
10.1
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
10.10
Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operating Temperature Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.0-V DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3-V DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Driver Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typical Supply Currents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM Programming Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
85
85
86
87
88
89
91
92
92
Chapter 11
Ordering Information and Mechanical Specifications
11.1
11.2
11.3
11.4
11.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MCU Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-Pin PDIP — Case #648 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-Pin SOIC — Case #751G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-Pin Cerdip — Case #620A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
97
98
98
99
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
10
Freescale Semiconductor
Appendix A
MC68HRC705KJ1
A.1
A.2
A.3
A.4
A.5
A.6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RC Oscillator Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typical Internal Operating Frequency for RC Oscillator Option . . . . . . . . . . . . . . . . . . . . . . . .
RC Oscillator Connections (No External Resistor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typical Internal Operating Frequency Versus Temperature (No External Resistor) . . . . . . . .
Package Types and Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101
101
102
103
104
104
Appendix B
MC68HLC705KJ1
B.1
B.2
B.3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Package Types and Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
11
Table of Contents
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
12
Freescale Semiconductor
Chapter 1
Introduction
1.1 Features
Features on the MC68HC705KJ1 include:
• Robust noise immunity
• 4.0-MHz internal operating frequency at 5.0 V
• 1240 Bytes of EPROM/OTPROM (electrically programmable read-only memory/one-time
programmable read-only memory), including eight bytes for user vectors
• 64 bytes of user RAM
• Peripheral modules:
– 15-stage multifunction timer
– Computer operating properly (COP) watchdog
• 10 bidirectional input/output (I/O) lines, including:
– 10-mA sink capability on all I/O pins
– Software programmable pulldowns on all I/O pins
– Keyboard scan with selectable interrupt on four I/O pins
– 5.5-mA source capability on six I/O pins
• Selectable sensitivity on external interrupt (edge- and level-sensitive or edge-sensitive only)
• On-chip oscillator with connections for:
– Crystal
– Ceramic resonator
– Resistor-capacitor (RC) oscillator (MC68HRC705KJ1) with or without external resistor
– External clock
– Low-speed (32-kHz) crystal (MC68HLC705KJ1)
• Memory-mapped I/O registers
• Fully static operation with no minimum clock speed
• Power-saving stop, halt, wait, and data-retention modes
• External interrupt mask bit and acknowledge bit
• Illegal address reset
• Internal steering diode and pullup resistor from RESET pin to VDD
• Selectable EPROM security(1)
• Selectable oscillator bias resistor
1. No security feature is absolutely secure. However, Freescale’s strategy is to make reading or copying the EPROM/OTPROM
difficult for unauthorized users.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
13
Introduction
1.2 Structure
OSC1
OSC2
INTERNAL
OSCILLATOR
15-STAGE
MULTIFUNCTION
TIMER SYSTEM
DIVIDE
BY ³2
CPU CONTROL
ALU
68HC05 CPU
IRQ/VPP
ACCUMULATOR
CPU REGISTERS
INDEX REGISTER
0 0 0 0 0 0 0 0 1 1 STK PTR
PB3(1)
PORT B
RESET
DATA DIRECTION REGISTER B
WATCHDOG AND
ILLEGAL ADDRESS
DETECT
PB2(1)
STATIC RAM (SRAM) – 64 BYTES
PA7
PA6
PA5
PORT A
CONDITION CODE
REGISTER 1 1 1 H I N Z C
DATA DIRECTION REGISTER A
PROGRAM COUNTER
PA4
PA3(1) (2)
PA2(1) (2)
PA1(1) (2)
PA0(1) (2)
USER EPROM – 1240 BYTES
10-mA sink capability on all I/O pins
MASK OPTION REGISTER (MOR)
Notes:
1. 5.5 mA source capability
2. External interrupt capability
Figure 1-1. Block Diagram
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
14
Freescale Semiconductor
Programmable Options
1.3 Programmable Options
The options in Table 1-1 are programmable in the mask option register.
Table 1-1. Programmable Options
Feature
Option
COP watchdog timer
Enabled or disabled
External interrupt triggering
Edge-sensitive only or edge- and level-sensitive
Port A IRQ pin interrupts
Enabled or disabled
Port pulldown resistors
Enabled or disabled
STOP instruction mode
Stop mode or halt mode
Crystal oscillator internal resistor
Enabled or disabled
EPROM security
Enabled or disabled
Short oscillator delay counter
Enabled or disabled
1.4 Pin Functions
Pin assignments are shown in Figure 1-2 with the functions described in the following subsections.
RESET
1
16
IRQ/VPP
OSC1
2
15
PA0
OSC2
3
14
PA1
PB3
4
13
PA2
PB2
5
12
PA3
VDD
6
11
PA4
VSS
7
10
PA5
PA7
8
9
PA6
Figure 1-2. Pin Assignments
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
15
Introduction
1.4.1 VDD and VSS
VDD and VSS are the power supply and ground pins. The MCU operates from a single power supply.
Very fast signal transitions occur on the MCU pins, placing high, short-duration current demands on the
power supply. To prevent noise problems, take special care, as Figure 1-3 shows, by placing the bypass
capacitors as close as possible to the MCU. C2 is an optional bulk current bypass capacitor for use in
applications that require the port pins to source high current levels.
V+
VDD
VDD
C1
0.1 µF
MCU
C2
+
C2
C1
VSS
VSS
Figure 1-3. Bypassing Layout Recommendation
1.4.2 OSC1 and OSC2
The OSC1 and OSC2 pins are the connections for the on-chip oscillator. The oscillator can be driven by
any of the following:
1. Standard crystal (See Figure 1-4 and Figure 1-5.)
2. Ceramic resonator (See Figure 1-6 and Figure 1-7.)
3. Resistor/capacitor (RC) oscillator (Refer to Appendix A MC68HRC705KJ1.)
4. External clock signal as shown in (See Figure 1-8.)
5. Low speed (32 kHz) crystal connections (Refer to Appendix B MC68HLC705KJ1.)
The frequency, fOSC, of the oscillator or external clock source is divided by two to produce the internal
operating frequency, fOP.
1.4.2.1 Crystal Oscillator
Figure 1-4 and Figure 1-5 show a typical crystal oscillator circuit for an AT-cut, parallel resonant crystal.
Follow the crystal supplier’s recommendations, as the crystal parameters determine the external
component values required to provide reliable startup and maximum stability. The load capacitance
values used in the oscillator circuit design should include all stray layout capacitances.
To minimize output distortion, mount the crystal and capacitors as close as possible to the pins. An
internal startup resistor of approximately 2 MΩ is provided between OSC1 and OSC2 for the crystal
oscillator as a programmable mask option.
NOTE
Use an AT-cut crystal and not an AT-strip crystal because the MCU can
overdrive an AT-strip crystal.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
16
Freescale Semiconductor
Pin Functions
VSS
MCU
C3
XTAL
OSC2
OSC1
OSC1
OSC2
C4
XTAL
C3
27 pF
C4
27 pF
VDD
C2
C1
VSS
Figure 1-4. Crystal Connections with
Oscillator Internal Resistor Mask Option
VSS
C3
MCU
R
10 MΩ
OSC2
OSC1
OSC1
XTAL
R
OSC2
C4
VDD
XTAL
C3
27 pF
C4
27 pF
C2
C1
VSS
Figure 1-5. Crystal Connections without
Oscillator Internal Resistor Mask Option
1.4.2.2 Ceramic Resonator Oscillator
To reduce cost, use a ceramic resonator instead of the crystal. The circuits shown in Figure 1-6 and
Figure 1-7 show ceramic resonator circuits. Follow the resonator manufacturer’s recommendations, as
the resonator parameters determine the external component values required for maximum stability and
reliable starting. The load capacitance values used in the oscillator circuit design should include all stray
capacitances.
Mount the resonator and components as close as possible to the pins for startup stabilization and to
minimize output distortion. An internal startup resistor of approximately 2 MΩ is provided between OSC1
and OSC2 as a programmable mask option.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
17
Introduction
VSS
C3
CERAMIC
RESONATOR
C3
27 pF
OSC1
CERAMIC
RESONATOR
OSC2
OSC1
MCU
OSC2
C4
C4
27 pF
VDD
C2
C1
VSS
Figure 1-6. Ceramic Resonator Connections with
Oscillator Internal Resistor Mask Option
VSS
C3
CERAMIC
RESONATOR
R
10 MΩ
OSC2
OSC1
MCU
OSC1
R
OSC2
C4
C3
27 pF
CERAMIC
RESONATOR
VDD
C4
27 pF
C2
C1
VSS
Figure 1-7. Ceramic Resonator Connections without
Oscillator Internal Resistor Mask Option
1.4.2.3 RC Oscillator
Refer to Appendix A MC68HRC705KJ1.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
18
Freescale Semiconductor
Pin Functions
1.4.2.4 External Clock
An external clock from another CMOS-compatible device can be connected to the OSC1 input, with the
OSC2 input not connected, as shown in Figure 1-8. This configuration is possible regardless of whether
the crystal/ceramic resonator or the RC oscillator is enabled.
OSC2
OSC1
MCU
EXTERNAL
CMOS CLOCK
Figure 1-8. External Clock Connections
1.4.3 RESET
Applying a logic 0 to the RESET pin forces the MCU to a known startup state. An internal reset also pulls
the RESET pin low. An internal resistor to VDD pulls the RESET pin high. A steering diode between the
RESET and VDD pins discharges any RESET pin voltage when power is removed from the MCU. The
RESET pin contains an internal Schmitt trigger to improve its noise immunity as an input. Refer to
Chapter 8 Resets and Interrupts for more information.
1.4.4 IRQ/VPP
The external interrupt/programming voltage pin (IRQ/VPP) drives the asynchronous IRQ interrupt function
of the CPU. Additionally, it is used to program the user EPROM and mask option register. (See
Chapter 2 Memory and Chapter 5 External Interrupt Module (IRQ).)
The LEVEL bit in the mask option register provides negative edge-sensitive triggering or both negative
edge-sensitive and low level-sensitive triggering for the interrupt function.
If level-sensitive triggering is selected, the IRQ/VPP input requires an external resistor to VDD for wired-OR
operation. If the IRQ/VPP pin is not used, it must be tied to the VDD supply.
The IRQ/VPP pin contains an internal Schmitt trigger as part of its input to improve noise immunity. The
voltage on this pin should not exceed VDD except when the pin is being used for programming the
EPROM.
NOTE
The mask option register can enable the PA0–PA3 pins to function as
external interrupt pins.
1.4.5 PA0–PA7
These eight input/output (I/O) lines comprise port A, a general-purpose bidirectional I/O port. (See
Chapter 5 External Interrupt Module (IRQ) for information on PA0–PA3 external interrupts.)
1.4.6 PB2 and PB3
These two I/O lines comprise port B, a general-purpose bidirectional I/O port.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
19
Introduction
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
20
Freescale Semiconductor
Chapter 2
Memory
2.1 Introduction
This section provides:
• Memory map (Figure 2-1)
• Summary of the input/output registers (Figure 2-2)
• Description of:
– Random-access memory (RAM)
– EPROM/OTPROM (electrically programmable read-only memory/one-time programmable
read-only memory)
– Mask option register
Memory features include:
• 1232 Bytes of User EPROM, Plus Eight Bytes for User Vectors
• 64 Bytes of User RAM
2.2 Unimplemented Memory Locations
Accessing an unimplemented location can have unpredictable effects on MCU operation. In Figure 2-2
and in register figures in this document, unimplemented locations are shaded.
2.3 Reserved Memory Locations
Accessing a reserved location can have unpredictable effects on MCU operation. In Figure 2-2 and in
register figures in this document, reserved locations are marked with the word Reserved or with the
letter R.
2.4 Memory Map
See Figure 2-1.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
21
Memory
PORT A DATA REGISTER (PORTA)
$0000
PORT B DATA REGISTER (PORTB)
$0001
$0002
UNIMPLEMENTED
$0003
DATA DIRECTION REGISTER A (DDRA)
$0004
DATA DIRECTION REGISTER B (DDRB)
$0005
$0006
UNIMPLEMENTED
$0000
↓
$0007
TIMER STATUS AND CONTROL REGISTER (TSCR)
$0008
TIMER CONTROL REGISTER (TCR)
$0009
IRQ STATUS AND CONTROL REGISTER (ISCR)
$000A
I/O REGISTERS
32 BYTES
$000B
$001F
↓
UNIMPLEMENTED
$000F
$0020
↓
UNIMPLEMENTED
160 BYTES
$00BF
PULLDOWN REGISTER PORT A (PDRA)
$0010
PULLDOWN REGISTER PORT B (PDRB)
$0011
$0012
$00C0
↓
RAM
64 BYTES
↓
UNIMPLEMENTED
$00FF
$0017
EPROM PROGRAMMING REGISTER (EPROG)
$0100
↓
UNIMPLEMENTED
512 BYTES
$0019
$02FF
↓
UNIMPLEMENTED
$0300
↓
$0018
$001E
EPROM
1232 BYTES
RESERVED
$001F
COP REGISTER (COPR)(1)
$07F0
MASK OPTION REGISTER (MOR)
$07F1
$07CF
$07D0
↓
UNIMPLEMENTED
30 BYTES
$07ED
$07EE
$07EF
$07F2
$07F7
$07F0
↓
↓
RESERVED
TEST ROM
2 BYTES
REGISTERS AND EPROM
16 BYTES
$07FF
TIMER INTERRUPT VECTOR HIGH
$07F8
TIMER INTERRUPT VECTOR LOW
$07F9
EXTERNAL INTERRUPT VECTOR HIGH
$07FA
EXTERNAL INTERRUPT VECTOR LOW
$07FB
SOFTWARE INTERRUPT VECTOR HIGH
$07FC
SOFTWARE INTERRUPT VECTOR LOW
$07FD
RESET VECTOR HIGH
$07FE
RESET VECTOR LOW
$07FF
Note 1. Writing to bit 0 of $07F0 clears the COP watchdog.
Figure 2-1. Memory Map
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
22
Freescale Semiconductor
Input/Output Register Summary
2.5 Input/Output Register Summary
Addr.
$0000
$0001
Register Name
Port A Data Register Read:
(PORTA) Write:
See page 64. Reset:
Port B Data Register Read:
(PORTB) Write:
See page 66. Reset:
$0002
Unimplemented
$0003
Unimplemented
$0004
$0005
Bit 7
6
5
4
3
2
1
Bit 0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
Unaffected by reset
0
Refer to Chapter 7 Parallel I/O Ports (PORTS)
PB3
PB2
Refer to Chapter 7 Parallel I/O Ports (PORTS)
Unaffected by reset
Data Direction Register A Read: DDRA7
(DDRA) Write:
See page 64. Reset:
0
Data Direction Register B Read:
(DDRB) Write:
See page 67. Reset:
0
DDRA6
DDRA5
DDRA4
DDRA3
DDRA2
DDRA1
DDRA0
0
0
0
0
0
0
0
DDRB3
DDRB2
0
0
0
0
TOFR
RTIFR
0
0
0
0
RTIF
Refer to Chapter 7 Parallel I/O Ports (PORTS)
0
0
TOIE
RTIE
Refer to Chapter 7 Parallel I/O Ports (PORTS)
0
0
RT1
RT0
$0006
Unimplemented
$0007
Unimplemented
TOF
$0008
Timer Status and Control Read:
Register (TSCR) Write:
See page 81. Reset:
0
0
0
0
0
0
1
1
TCR7
TCR6
TCR5
TCR4
TCR3
TCR2
TCR1
TCR0
$0009
Timer Counter Register Read:
(TCR) Write:
See page 82. Reset:
0
0
0
0
0
0
0
0
0
0
0
IRQF
0
0
0
$000A
IRQ Status and Control Reg- Read:
ister (ISCR) Write:
See page 54. Reset:
IRQE
1
R
0
= Unimplemented
0
0
IRQR
0
R = Reserved
0
0
0
U = Unaffected
Figure 2-2. I/O Register Summary (Sheet 1 of 2)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
23
Memory
Addr.
$000B
Register Name
Bit 7
6
5
4
3
2
1
Bit 0
PDIA7
PDIA6
PDIA5
PDIA4
PDIA3
PDIA2
PDIA1
PDIA0
0
0
0
0
0
0
0
0
PDIB3
PDIB2
0
0
0
ELAT
MPGM
EPGM
Unimplemented
↓
$000F
Unimplemented
$0010
Pulldown Register Port A Read:
(PDRA) Write:
See page 65. Reset:
$0011
$0012
Read:
Pulldown Register Port B
(PDRB) Write:
See page 68.
Reset:
Refer to Chapter 7 Parallel I/O Ports (PORTS)
Refer to Chapter 7 Parallel I/O Ports (PORTS)
0
0
0
0
0
0
0
0
0
0
R
R
R
R
0
0
0
0
0
0
0
0
R
R
R
R
R
R
R
R
U
U
U
U
U
U
U
0
SOSCD
EPMSEC
OSCRES
SWAIT
PDI
PIRQ
LEVEL
COPEN
Unimplemented
↓
$0017
Unimplemented
$0018
EPROM Programming Read:
Register (EPROG) Write:
See page 26. Reset:
$0019
Unimplemented
↓
$001E
Unimplemented
$001F
Reserved
$07F0
Read:
COP Register (COPR)
Write:
See page 30.
Reset:
Read:
Mask Option Register (MOR)
$07F1
Write:
See page 27.
Reset:
COPC
Unaffected by reset
= Unimplemented
R = Reserved
U = Unaffected
Figure 2-2. I/O Register Summary (Sheet 2 of 2)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
24
Freescale Semiconductor
RAM
2.6 RAM
The 64 addresses from $00C0 to $00FF serve as both the user RAM and the stack RAM. Before
processing an interrupt, the CPU uses five bytes of the stack to save the contents of the CPU registers.
During a subroutine call, the CPU uses two bytes of the stack to store the return address. The stack
pointer decrements when the CPU stores a byte on the stack and increments when the CPU retrieves a
byte from the stack.
NOTE
Be careful when using nested subroutines or multiple interrupt levels. The
CPU may overwrite data in the RAM during a subroutine or during the
interrupt stacking operation.
2.7 EPROM/OTPROM
An MCU with a quartz window has 1240 bytes of erasable, programmable ROM (EPROM). The quartz
window allows EPROM erasure with ultraviolet light.
NOTE
Keep the quartz window covered with an opaque material except when
erasing the MCU. Ambient light can affect MCU operation.
In an MCU without the quartz window, the EPROM cannot be erased and serves as 1240 bytes of
one-time programmable ROM (OTPROM).
The following addresses are user EPROM/OTPROM locations:
• $0300–$07CF
• $07F8–$07FF, used for user-defined interrupt and reset vectors
The COP register (COPR) is an EPROM/OTPROM location at address $07F0.
The mask option register (MOR) is an EPROM/OTPROM location at address $07F1.
2.7.1 EPROM/OTPROM Programming
The two ways to program the EPROM/OTPROM are:
• Manipulating the control bits in the EPROM programming register to program the
EPROM/OTPROM on a byte-by-byte basis
• Programming the EPROM/OTPROM with the M68HC705J In-Circuit Simulator (M68HC705JICS)
available from Freescale
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
25
Memory
2.7.2 EPROM Programming Register
The EPROM programming register (EPROG) contains the control bits for programming the
EPROM/OTPROM.
Address:
$0018
Bit 7
Read:
0
Write:
Reset:
0
6
5
4
3
0
0
0
0
R
R
R
R
0
0
0
0
R
= Reserved
= Unimplemented
2
1
Bit 0
ELAT
MPGM
EPGM
0
0
0
Figure 2-3. EPROM Programming Register (EPROG)
ELAT — EPROM Bus Latch Bit
This read/write bit latches the address and data buses for EPROM/OTPROM programming. Clearing
the ELAT bit automatically clears the EPGM bit. EPROM/OTPROM data cannot be read while the
ELAT bit is set. Reset clears the ELAT bit.
1 = Address and data buses configured for EPROM/OTPROM programming the EPROM
0 = Address and data buses configured for normal operation
MPGM — MOR Programming Bit
This read/write bit applies programming power from the IRQ/VPP pin to the mask option register. Reset
clears MPGM.
1 = Programming voltage applied to MOR
0 = Programming voltage not applied to MOR
EPGM — EPROM Programming Bit
This read/write bit applies the voltage from the IRQ/VPP pin to the EPROM. To write the EPGM bit, the
ELAT bit must be set already. Reset clears EPGM.
1 = Programming voltage (IRQ/VPP pin) applied to EPROM
0 = Programming voltage (IRQ/VPP pin) not applied to EPROM
NOTE
Writing logic 1s to both the ELAT and EPGM bits with a single instruction
sets ELAT and clears EPGM. ELAT must be set first by a separate
instruction.
Bits [7:3] — Reserved
Take the following steps to program a byte of EPROM/OTPROM:
1. Apply the programming voltage, VPP, to the IRQ/VPP pin.
2. Set the ELAT bit.
3. Write to any EPROM/OTPROM address.
4. Set the EPGM bit and wait for a time, tEPGM.
5. Clear the ELAT bit.
2.7.3 EPROM Erasing
The erased state of an EPROM bit is logic 0. Erase the EPROM by exposing it to 15 Ws/cm2 of ultraviolet
light with a wavelength of 2537 angstroms. Position the ultraviolet light source one inch from the EPROM.
Do not use a shortwave filter.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
26
Freescale Semiconductor
Mask Option Register
2.8 Mask Option Register
The mask option register (MOR) is an EPROM/OTPROM byte that controls the following options:
• COP watchdog (enable or disable)
• External interrupt pin triggering (edge-sensitive only or edge- and level-sensitive)
• Port A external interrupts (enable or disable)
• Port pulldown resistors (enable or disable)
• STOP instruction (stop mode or halt mode)
• Crystal oscillator internal resistor (enable or disable)
• EPROM security (enable or disable)
• Short oscillator delay (enable or disable)
Take the following steps to program the mask option register (MOR):
1. Apply the programming voltage, VPP, to the IRQ/VPP pin.
2. Write to the MOR.
3. Set the MPGM bit and wait for a time, tMPGM.
4. Clear the MPGM bit.
5. Reset the MCU.
Address:
Read:
Write:
Reset:
$07F1
Bit 7
6
5
4
3
2
1
Bit 0
SOSCD
EPMSEC
OSCRES
SWAIT
SWPDI
PIRQ
LEVEL
COPEN
Unaffected by reset
Figure 2-4. Mask Option Register (MOR)
SOSCD — Short Oscillator Delay Bit
The SOSCD bit controls the oscillator stabilization counter. The normal stabilization delay following
reset or exit from stop mode is 4064 tcyc. Setting SOSCD enables a 128 tcyc stabilization delay.
1 = Short oscillator delay enabled
0 = Short oscillator delay disabled
EPMSEC — EPROM Security Bit
The EPMSEC bit controls access to the EPROM/OTPROM.
1 = External access to EPROM/OTPROM denied
0 = External access to EPROM/OTPROM not denied
OSCRES — Oscillator Internal Resistor Bit
The OSCRES bit enables a 2-MΩ internal resistor in the oscillator circuit.
1 = Oscillator internal resistor enabled
0 = Oscillator internal resistor disabled
NOTE
Program the OSCRES bit to logic 0 in devices using low-speed crystal or
RC oscillators with external resistor.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
27
Memory
SWAIT — Stop-to-Wait Conversion Bit
The SWAIT bit enables halt mode. When the SWAIT bit is set, the CPU interprets the STOP instruction
as a WAIT instruction, and the MCU enters halt mode. Halt mode is the same as wait mode, except
that an oscillator stabilization delay of 1 to 4064 tcyc occurs after exiting halt mode.
1 = Halt mode enabled
0 = Halt mode not enabled
SWPDI — Software Pulldown Inhibit Bit
The SWPDI bit inhibits software control of the I/O port pulldown devices. The SWPDI bit overrides the
pulldown inhibit bits in the port pulldown inhibit registers.
1 = Software pulldown control inhibited
0 = Software pulldown control not inhibited
PIRQ — Port A External Interrupt Bit
The PIRQ bit enables the PA0–PA3 pins to function as external interrupt pins.
1 = PA0–PA3 enabled as external interrupt pins
0 = PA0–PA3 not enabled as external interrupt pins
LEVEL —External Interrupt Sensitivity Bit
The LEVEL bit controls external interrupt triggering sensitivity.
1 = External interrupts triggered by active edges and active levels
0 = External interrupts triggered only by active edges
COPEN — COP Enable Bit
The COPEN bit enables the COP watchdog.
1 = COP watchdog enabled
0 = COP watchdog disabled
2.9 EPROM Programming Characteristics
Table 2-1. EPROM Programming Characteristics(1)
Characteristic
Symbol
Min
Typ
Max
Programming Voltage
IRQ/VPP
VPP
16.0
16.5
17.0
Programming Current
IRQ/VPP
IPP
—¦
3.0
10.0
4
4
—
—
—
—
Programming Time
Per Array Byte
MOR
tEPGM
tMPGM
Unit
V
mA
ms
1. VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
28
Freescale Semiconductor
Chapter 3
Computer Operating Properly Module (COP)
3.1 Introduction
The computer operating properly (COP) watchdog resets the MCU in case of software failure. Software
that is operating properly periodically services the COP watchdog and prevents COP reset. The COP
watchdog function is programmable by the COPEN bit in the mask option register.
3.2 Features
The computer operating properly module (COP) includes these features:
• Protection from runaway software
• Wait mode and halt mode operations
3.3 Operation
Operation of the COP module is discussed here.
3.3.1 COP Watchdog Timeout
Four counter stages at the end of the timer make up the COP watchdog. The COP resets the MCU if the
timeout period occurs before the COP watchdog timer is cleared by application software and the IRQ/VPP
pin voltage is between VSS and VDD. Periodically clearing the counter starts a new timeout period and
prevents COP reset. A COP watchdog timeout indicates that the software is not executing instructions in
the correct sequence.
NOTE
The internal clock drives the COP watchdog. Therefore, the COP watchdog
cannot generate a reset for errors that cause the internal clock to stop.
The COP watchdog depends on a power supply voltage at or above a
minimum specification and is not guaranteed to protect against brownout.
3.3.2 COP Watchdog Timeout Period
The COP watchdog timer function is implemented by dividing the output of the real-time interrupt circuit
(RTI) by eight. The RTI select bits in the timer status and control register control RTI output, and the
selected output drives the COP watchdog. (See timer status and control register in Chapter 9
Multifunction Timer Module.)
NOTE
The minimum COP timeout period is seven times the RTI period. The COP
is cleared asynchronously with the value in the RTI divider; hence, the COP
timeout period will vary between 7x and 8x the RTI period.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
29
Computer Operating Properly Module (COP)
3.3.3 Clearing the COP Watchdog
To clear the COP watchdog and prevent a COP reset, write a logic 0 to bit 0 (COPC) of the COP register
at location $07F0 (see Figure 3-1). Clearing the COP bit disables the COP watchdog timer regardless of
the IRQ/VPP pin voltage.
If the main program executes within the COP timeout period, the clearing routine should be executed only
once. If the main program takes longer than the COP timeout period, the clearing routine must be
executed more than once.
NOTE
Place the clearing routine in the main program and not in an interrupt
routine. Clearing the COP watchdog in an interrupt routine might prevent
COP watchdog timeouts even though the main program is not operating
properly.
3.4 Interrupts
The COP watchdog does not generate interrupts.
3.5 COP Register
The COP register (COPR) is a write-only register that returns the contents of EPROM location $07F0
when read.
Address:
$07F0
Bit 7
6
5
4
3
2
1
U
U
U
U
U
U
U
Bit 0
Read:
Write:
Reset:
COPC
= Unimplemented
0
U = Unaffected
Figure 3-1. COP Register (COPR)
COPC — COP Clear Bit
This write-only bit resets the COP watchdog. Reading address $07F0 returns undefined results.
3.6 Low-Power Modes
The STOP and WAIT instructions have the following effects on the COP watchdog.
3.6.1 Stop Mode
The STOP instruction clears the COP watchdog counter and disables the clock to the COP watchdog.
NOTE
To prevent the STOP instruction from disabling the COP watchdog,
program the stop-to-wait conversion bit (SWAIT) in the mask option register
to logic 1.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
30
Freescale Semiconductor
Low-Power Modes
Upon exit from stop mode by external reset:
• The counter begins counting from $0000.
• The counter is cleared again after the oscillator stabilization delay and begins counting from $0000
again.
Upon exit from stop mode by external interrupt:
• The counter begins counting from $0000.
• The counter is not cleared again after the oscillator stabilization delay and continues counting
throughout the oscillator stabilization delay.
NOTE
Immediately after exiting stop mode by external interrupt, service the COP
to ensure a full COP timeout period.
3.6.2 Wait Mode
The WAIT instruction has no effect on the COP watchdog.
NOTE
To prevent a COP timeout during wait mode, exit wait mode periodically to
service the COP.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
31
Computer Operating Properly Module (COP)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
32
Freescale Semiconductor
Chapter 4
Central Processor Unit (CPU)
4.1 Introduction
The central processor unit (CPU) consists of a CPU control unit, an arithmetic/logic unit (ALU), and five
CPU registers. The CPU control unit fetches and decodes instructions. The ALU executes the
instructions. The CPU registers contain data, addresses, and status bits that reflect the results of CPU
operations.
4.2 Features
Features of the CPU include:
• 4.0-MHz bus frequency on standard part
• 8-bit accumulator
• 8-bit index register
• 11-bit program counter
• 6-bit stack pointer
• Condition code register with five status flags
• 62 instructions
• 8 addressing modes
• Power-saving stop, wait, halt, and data-retention modes
The programming model is shown in Figure 4-1.
4.3 CPU Control Unit
The CPU control unit fetches and decodes instructions during program operation. The control unit selects
the memory locations to read and write and coordinates the timing of all CPU operations.
4.4 Arithmetic/Logic Unit
The arithmetic/logic unit (ALU) performs the arithmetic, logic, and manipulation operations decoded from
the instruction set by the CPU control unit. The ALU produces the results called for by the program and
sets or clears status and control bits in the condition code register (CCR).
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
33
Central Processor Unit (CPU)
ARITHMETIC/LOGIC UNIT
CPU CONTROL UNIT
7
6
5
4
3
2
1
0
ACCUMULATOR (A)
7
6
5
4
3
2
1
0
INDEX REGISTER (X)
15 14 13 12 11 10
9
8
7
6
0
0
0
1
1
15 14 13 12 11 10
9
8
7
6
0
0
0
0
0
0
0
0
0
5
4
3
2
1
0
STACK POINTER (SP)
5
4
3
2
1
0
0
PROGRAM COUNTER (PC)
7
6
5
4
3
2
1
0
1
1
1
H
I
N
Z
C
CONDITION CODE REGISTER (CCR)
HALF-CARRY FLAG
INTERRUPT MASK
NEGATIVE FLAG
ZERO FLAG
CARRY/BORROW FLAG
Figure 4-1. Programming Model
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
34
Freescale Semiconductor
CPU Registers
4.5 CPU Registers
The M68HC05 CPU contains five registers that control and monitor MCU operation:
• Accumulator
• Index register
• Stack pointer
• Program counter
• Condition code register
CPU registers are not memory mapped.
4.5.1 Accumulator
The accumulator is a general-purpose 8-bit register. The CPU uses the accumulator to hold operands and
results of ALU operations.
Bit 7
6
5
4
3
2
1
Bit 0
Read:
Write:
Reset:
Unaffected by reset
Figure 4-2. Accumulator (A)
4.5.2 Index Register
In the indexed addressing modes, the CPU uses the byte in the index register to determine the conditional
address of the operand. The index register also can serve as a temporary storage location or a counter.
Bit 7
6
5
4
3
2
1
Bit 0
Read:
Write:
Reset:
Unaffected by reset
Figure 4-3. Index Register (X)
4.5.3 Stack Pointer
The stack pointer is a 16-bit register that contains the address of the next location on the stack. During a
reset or after the reset stack pointer instruction (RSP), the stack pointer is preset to $00FF. The address
in the stack pointer decrements after a byte is stacked and increments before a byte is unstacked.
Read:
Bit
15
14
13
12
11
10
9
8
7
6
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
5
4
3
2
1
Bit
0
1
1
1
1
1
1
Write:
Reset:
= Unimplemented
Figure 4-4. Stack Pointer (SP)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
35
Central Processor Unit (CPU)
The 10 most significant bits of the stack pointer are permanently fixed at 0000000011, so the stack pointer
produces addresses from $00C0 to $00FF. If subroutines and interrupts use more than 64 stack locations,
the stack pointer wraps around to address $00FF and begins writing over the previously stored data. A
subroutine uses two stack locations; an interrupt uses five locations.
4.5.4 Program Counter
The program counter is a 16-bit register that contains the address of the next instruction or operand to be
fetched. The five most significant bits of the program counter are ignored and appear as 00000.
Normally, the address in the program counter automatically increments to the next sequential memory
location every 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.
Reset:
Bit
15
14
13
12
11
0
0
0
0
0
10
9
8
7
6
5
4
3
2
Bit
0
1
Loaded with vector from $07FE and $07FF
Figure 4-5. Program Counter (PC)
4.5.5 Condition Code Register
The condition code register is an 8-bit register whose three most significant bits are permanently fixed at
111. The condition code register contains the interrupt mask and four flags that indicate the results of the
instruction just executed.
Read:
Bit 7
6
5
1
1
1
1
1
Write:
Reset:
1
= Unimplemented
4
3
2
1
Bit 0
H
I
N
Z
C
1
U
U
U
U
U = Unaffected
Figure 4-6. Condition Code Register (CCR)
H — Half-Carry Flag
The CPU sets the half-carry flag when a carry occurs between bits 3 and 4 of the accumulator during
an ADD or ADC operation. The half-carry flag is required for binary-coded decimal (BCD) arithmetic
operations.
I — Interrupt Mask
Setting the interrupt mask disables interrupts. If an interrupt request occurs while the interrupt mask is
logic 0, the CPU saves the CPU registers on the stack, sets the interrupt mask, and then fetches the
interrupt vector. If an interrupt request occurs while the interrupt mask is logic 1, the interrupt request
is latched. Normally, the CPU processes the latched interrupt request as soon as the interrupt mask is
cleared again.
A return from interrupt instruction (RTI) unstacks the CPU registers, restoring the interrupt mask to its
cleared state. After any reset, the interrupt mask is set and can be cleared only by a software
instruction.
N — Negative Flag
The CPU sets the negative flag when an ALU operation produces a negative result.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
36
Freescale Semiconductor
Instruction Set
Z — Zero Flag
The CPU sets the zero flag when an ALU operation produces a result of $00.
C — Carry/Borrow Flag
The CPU sets the carry/borrow flag when an addition operation produces a carry out of bit 7 of the
accumulator or when a subtraction operation requires a borrow. Some logical operations and data
manipulation instructions also clear or set the carry/borrow flag.
4.6 Instruction Set
The MCU instruction set has 62 instructions and uses eight addressing modes.
4.6.1 Addressing Modes
The CPU uses eight addressing modes for flexibility in accessing data. The addressing modes provide
eight different ways for the CPU to find the data required to execute an instruction. The eight addressing
modes are:
• Inherent
• Immediate
• Direct
• Extended
• Indexed, no offset
• Indexed, 8-bit offset
• Indexed, 16-bit offset
• Relative
4.6.1.1 Inherent
Inherent instructions are those that have no operand, such as return-from-interrupt (RTI) and stop
(STOP). Some of the inherent instructions act on data in the CPU registers, such as set carry flag (SEC)
and increment accumulator (INCA). Inherent instructions require no operand address and are one byte
long.
4.6.1.2 Immediate
Immediate instructions are those that contain a value to be used in an operation with the value in the
accumulator or index register. Immediate instructions require no operand address and are two bytes long.
The opcode is the first byte, and the immediate data value is the second byte.
4.6.1.3 Direct
Direct instructions can access any of the first 256 memory locations with two bytes. The first byte is the
opcode, and the second is the low byte of the operand address. In direct addressing, the CPU
automatically uses $00 as the high byte of the operand address.
4.6.1.4 Extended
Extended instructions use three bytes and can access any address in memory. The first byte is the
opcode; the second and third bytes are the high and low bytes of the operand address.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
37
Central Processor Unit (CPU)
When using the Freescale assembler, the programmer does not need to specify whether an instruction is
direct or extended. The assembler automatically selects the shortest form of the instruction.
4.6.1.5 Indexed, No Offset
Indexed instructions with no offset are 1-byte instructions that can access data with variable addresses
within the first 256 memory locations. The index register contains the low byte of the effective address of
the operand. The CPU automatically uses $00 as the high byte, so these instructions can address
locations $0000–$00FF.
Indexed, no offset instructions are often used to move a pointer through a table or to hold the address of
a frequently used RAM or input/output (I/O) location.
4.6.1.6 Indexed, 8-Bit Offset
Indexed, 8-bit offset instructions are 2-byte instructions that can access data with variable addresses
within the first 511 memory locations. The CPU adds the unsigned byte in the index register to the
unsigned byte following the opcode. The sum is the effective address of the operand. These instructions
can access locations $0000–$01FE.
Indexed 8-bit offset instructions are useful for selecting the kth element in an n-element table. The table
can begin anywhere within the first 256 memory locations and could extend as far as location 510
($01FE). The k value is typically in the index register, and the address of the beginning of the table is in
the byte following the opcode.
4.6.1.7 Indexed, 16-Bit Offset
Indexed, 16-bit offset instructions are 3-byte instructions that can access data with variable addresses at
any location in memory. The CPU adds the unsigned byte in the index register to the two unsigned bytes
following the opcode. The sum is the effective address of the operand. The first byte after the opcode is
the high byte of the 16-bit offset; the second byte is the low byte of the offset.
Indexed, 16-bit offset instructions are useful for selecting the kth element in an n-element table anywhere
in memory.
As with direct and extended addressing, the Freescale assembler determines the shortest form of
indexed addressing.
4.6.1.8 Relative
Relative addressing is only for branch instructions. If the branch condition is true, the CPU finds the
effective branch destination by adding the signed byte following the opcode to the contents of the program
counter. If the branch condition is not true, the CPU goes to the next instruction. The offset is a signed,
two’s complement byte that gives a branching range of –128 to +127 bytes from the address of the next
location after the branch instruction.
When using the Freescale assembler, the programmer does not need to calculate the offset because the
assembler determines the proper offset and verifies that it is within the span of the branch.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
38
Freescale Semiconductor
Instruction Set
4.6.2 Instruction Types
The MCU instructions fall into the following five categories:
• Register/memory instructions
• Read-modify-write instructions
• Jump/branch instructions
• Bit manipulation instructions
• Control instructions
4.6.2.1 Register/Memory Instructions
These instructions operate on CPU registers and memory locations. Most of them use two operands. One
operand is in either the accumulator or the index register. The CPU finds the other operand in memory.
Table 4-1. Register/Memory Instructions
Instruction
Mnemonic
Add Memory Byte and Carry Bit to Accumulator
ADC
Add Memory Byte to Accumulator
ADD
AND Memory Byte with Accumulator
AND
Bit Test Accumulator
BIT
Compare Accumulator
CMP
Compare Index Register with Memory Byte
CPX
EXCLUSIVE OR Accumulator with Memory Byte
EOR
Load Accumulator with Memory Byte
LDA
Load Index Register with Memory Byte
LDX
Multiply
MUL
OR Accumulator with Memory Byte
ORA
Subtract Memory Byte and Carry Bit from Accumulator
SBC
Store Accumulator in Memory
STA
Store Index Register in Memory
STX
Subtract Memory Byte from Accumulator
SUB
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
39
Central Processor Unit (CPU)
4.6.2.2 Read-Modify-Write Instructions
These instructions read a memory location or a register, modify its contents, and write the modified value
back to the memory location or to the register.
NOTE
Do not use read-modify-write instructions on registers with write-only bits.
Table 4-2. Read-Modify-Write Instructions
Instruction
Mnemonic
Arithmetic Shift Left (Same as LSL)
ASL
Arithmetic Shift Right
ASR
Bit Clear
BCLR(1)
Bit Set
BSET(1)
Clear Register
CLR
Complement (One’s Complement)
COM
Decrement
DEC
Increment
INC
Logical Shift Left (Same as ASL)
LSL
Logical Shift Right
LSR
Negate (Two’s Complement)
NEG
Rotate Left through Carry Bit
ROL
Rotate Right through Carry Bit
ROR
Test for Negative or Zero
TST(2)
1. Unlike other read-modify-write instructions, BCLR and
BSET use only direct addressing.
2. TST is an exception to the read-modify-write sequence
because it does not write a replacement value.
4.6.2.3 Jump/Branch Instructions
Jump instructions allow the CPU to interrupt the normal sequence of the program counter. The
unconditional jump instruction (JMP) and the jump-to-subroutine instruction (JSR) have no register
operand. Branch instructions allow the CPU to interrupt the normal sequence of the program counter
when a test condition is met. If the test condition is not met, the branch is not performed.
The BRCLR and BRSET instructions cause a branch based on the state of any readable bit in the first
256 memory locations. These 3-byte instructions use a combination of direct addressing and relative
addressing. The direct address of the byte to be tested is in the byte following the opcode. The third byte
is the signed offset byte. The CPU finds the effective branch destination by adding the third byte to the
program counter if the specified bit tests true. The bit to be tested and its condition (set or clear) is part of
the opcode. The span of branching is from –128 to +127 from the address of the next location after the
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
40
Freescale Semiconductor
Instruction Set
branch instruction. The CPU also transfers the tested bit to the carry/borrow bit of the condition code
register.
NOTE
Do not use BRCLR or BRSET instructions on registers with write-only bits.
Table 4-3. Jump and Branch Instructions
Instruction
Mnemonic
Branch if Carry Bit Clear
BCC
Branch if Carry Bit Set
BCS
Branch if Equal
BEQ
Branch if Half-Carry Bit Clear
BHCC
Branch if Half-Carry Bit Set
BHCS
Branch if Higher
BHI
Branch if Higher or Same
BHS
Branch if IRQ Pin High
BIH
Branch if IRQ Pin Low
BIL
Branch if Lower
BLO
Branch if Lower or Same
BLS
Branch if Interrupt Mask Clear
BMC
Branch if Minus
BMI
Branch if Interrupt Mask Set
BMS
Branch if Not Equal
BNE
Branch if Plus
BPL
Branch Always
BRA
Branch if Bit Clear
Branch Never
Branch if Bit Set
BRCLR
BRN
BRSET
Branch to Subroutine
BSR
Unconditional Jump
JMP
Jump to Subroutine
JSR
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
41
Central Processor Unit (CPU)
4.6.2.4 Bit Manipulation Instructions
The CPU can set or clear any writable bit in the first 256 bytes of memory, which includes I/O registers
and on-chip RAM locations. The CPU can also test and branch based on the state of any bit in any of the
first 256 memory locations.
Table 4-4. Bit Manipulation Instructions
Instruction
Bit Clear
Mnemonic
BCLR
Branch if Bit Clear
BRCLR
Branch if Bit Set
BRSET
Bit Set
BSET
NOTE
Do not use bit manipulation instructions on registers with write-only bits.
4.6.2.5 Control Instructions
These instructions act on CPU registers and control CPU operation during program execution.
Table 4-5. Control Instructions
Instruction
Mnemonic
Clear Carry Bit
CLC
Clear Interrupt Mask
CLI
No Operation
NOP
Reset Stack Pointer
RSP
Return from Interrupt
RTI
Return from Subroutine
RTS
Set Carry Bit
SEC
Set Interrupt Mask
SEI
Stop Oscillator and Enable IRQ Pin
STOP
Software Interrupt
SWI
Transfer Accumulator to Index Register
TAX
Transfer Index Register to Accumulator
TXA
Stop CPU Clock and Enable Interrupts
WAIT
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
42
Freescale Semiconductor
Instruction Set
4.6.3 Instruction Set Summary
ADD #opr
ADD opr
ADD opr
ADD opr,X
ADD opr,X
ADD ,X
AND #opr
AND opr
AND opr
AND opr,X
AND opr,X
AND ,X
ASL opr
ASLA
ASLX
ASL opr,X
ASL ,X
— IMM
DIR
EXT
IX2
IX1
IX
2
A9 ii
B9 dd 3
C9 hh ll 4
D9 ee ff 5
4
E9 ff
3
F9
— IMM
DIR
EXT
IX2
IX1
IX
2
AB ii
BB dd 3
CB hh ll 4
DB ee ff 5
4
EB ff
3
FB
— — —
IMM
DIR
EXT
IX2
IX1
IX
2
A4 ii
B4 dd 3
C4 hh ll 4
D4 ee ff 5
4
E4 ff
3
F4
38
48
58
68
78
dd
— — DIR
INH
INH
IX1
IX
DIR
INH
INH
IX1
IX
37
47
57
67
77
dd
REL
24
rr
3
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
— — — — —
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
11
13
15
17
19
1B
1D
1F
dd
dd
dd
dd
dd
dd
dd
dd
5
5
5
5
5
5
5
5
Effect
on CCR
Description
H I N Z C
A ← (A) + (M) + (C)
Add with Carry
A ← (A) + (M)
Add without Carry
A ← (A) ∧ (M)
Logical AND
Arithmetic Shift Left (Same as LSL)
C
0
b7
ASR opr
ASRA
ASRX
ASR opr,X
ASR ,X
Arithmetic Shift Right
BCC rel
Branch if Carry Bit Clear
b0
C
b7
— — b0
PC ← (PC) + 2 + rel ? C = 0
Mn ← 0
— — — — —
ff
ff
Cycles
Opcode
ADC #opr
ADC opr
ADC opr
ADC opr,X
ADC opr,X
ADC ,X
Operation
Address
Mode
Source
Form
Operand
Table 4-6. Instruction Set Summary (Sheet 1 of 6)
5
3
3
6
5
5
3
3
6
5
BCLR n opr
Clear Bit n
BCS rel
Branch if Carry Bit Set (Same as BLO)
PC ← (PC) + 2 + rel ? C = 1
— — — — —
REL
25
rr
3
BEQ rel
Branch if Equal
PC ← (PC) + 2 + rel ? Z = 1
— — — — —
REL
27
rr
3
BHCC rel
Branch if Half-Carry Bit Clear
PC ← (PC) + 2 + rel ? H = 0
— — — — —
REL
28
rr
3
BHCS rel
Branch if Half-Carry Bit Set
PC ← (PC) + 2 + rel ? H = 1
— — — — —
REL
29
rr
3
BHI rel
Branch if Higher
PC ← (PC) + 2 + rel ? C ∨ Z = 0 — — — — —
REL
22
rr
3
BHS rel
Branch if Higher or Same
REL
24
rr
3
PC ← (PC) + 2 + rel ? C = 0
— — — — —
BIH rel
Branch if IRQ Pin High
PC ← (PC) + 2 + rel ? IRQ = 1
— — — — —
REL
2F
rr
3
BIL rel
Branch if IRQ Pin Low
PC ← (PC) + 2 + rel ? IRQ = 0
— — — — —
REL
2E
rr
3
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
43
Central Processor Unit (CPU)
H I N Z C
BIT #opr
BIT opr
BIT opr
BIT opr,X
BIT opr,X
BIT ,X
Bit Test Accumulator with Memory Byte
BLO rel
Branch if Lower (Same as BCS)
BLS rel
Branch if Lower or Same
IMM
DIR
EXT
IX2
IX1
IX
2
A5 ii
B5 dd 3
C5 hh ll 4
D5 ee ff 5
4
E5 ff
3
F5
Cycles
Description
Opcode
Operation
Effect
on CCR
Address
Mode
Source
Form
Operand
Table 4-6. Instruction Set Summary (Sheet 2 of 6)
(A) ∧ (M)
— — —
PC ← (PC) + 2 + rel ? C = 1
— — — — —
REL
25
rr
3
PC ← (PC) + 2 + rel ? C ∨ Z = 1 — — — — —
REL
23
rr
3
BMC rel
Branch if Interrupt Mask Clear
PC ← (PC) + 2 + rel ? I = 0
— — — — —
REL
2C
rr
3
BMI rel
Branch if Minus
PC ← (PC) + 2 + rel ? N = 1
— — — — —
REL
2B
rr
3
BMS rel
Branch if Interrupt Mask Set
PC ← (PC) + 2 + rel ? I = 1
— — — — —
REL
2D
rr
3
BNE rel
Branch if Not Equal
PC ← (PC) + 2 + rel ? Z = 0
— — — — —
REL
26
rr
3
BPL rel
Branch if Plus
PC ← (PC) + 2 + rel ? N = 0
— — — — —
REL
2A
rr
3
BRA rel
Branch Always
PC ← (PC) + 2 + rel ? 1 = 1
— — — — —
REL
20
rr
3
01
03
05
07
09
0B
0D
0F
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
5
5
5
5
5
5
5
5
BRCLR n opr rel Branch if Bit n Clear
BRN rel
Branch Never
BRSET n opr rel Branch if Bit n Set
BSET n opr
Set Bit n
PC ← (PC) + 2 + rel ? Mn = 0
PC ← (PC) + 2 + rel ? 1 = 0
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
— — — — DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
— — — — —
21
rr
3
PC ← (PC) + 2 + rel ? Mn = 1
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
— — — — DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
REL
00
02
04
06
08
0A
0C
0E
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
5
5
5
5
5
5
5
5
Mn ← 1
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
— — — — —
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
10
12
14
16
18
1A
1C
1E
dd
dd
dd
dd
dd
dd
dd
dd
5
5
5
5
5
5
5
5
PC ← (PC) + 2; push (PCL)
SP ← (SP) – 1; push (PCH)
SP ← (SP) – 1
PC ← (PC) + rel
— — — — —
REL
AD
rr
6
BSR rel
Branch to Subroutine
CLC
Clear Carry Bit
C←0
— — — — 0
INH
98
2
CLI
Clear Interrupt Mask
I←0
— 0 — — —
INH
9A
2
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
44
Freescale Semiconductor
Instruction Set
CMP #opr
CMP opr
CMP opr
CMP opr,X
CMP opr,X
CMP ,X
COM opr
COMA
COMX
COM opr,X
COM ,X
CPX #opr
CPX opr
CPX opr
CPX opr,X
CPX opr,X
CPX ,X
DEC opr
DECA
DECX
DEC opr,X
DEC ,X
EOR #opr
EOR opr
EOR opr
EOR opr,X
EOR opr,X
EOR ,X
INC opr
INCA
INCX
INC opr,X
INC ,X
JMP opr
JMP opr
JMP opr,X
JMP opr,X
JMP ,X
JSR opr
JSR opr
JSR opr,X
JSR opr,X
JSR ,X
DIR
INH
INH
IX1
IX
3F
4F
5F
6F
7F
dd
— — IMM
DIR
EXT
IX2
IX1
IX
2
A1 ii
B1 dd 3
C1 hh ll 4
D1 ee ff 5
4
E1 ff
3
F1
— — 1
DIR
INH
INH
IX1
IX
33
43
53
63
73
— — IMM
DIR
EXT
IX2
IX1
IX
2
A3 ii
B3 dd 3
C3 hh ll 4
D3 ee ff 5
4
E3 ff
3
F3
— — —
DIR
INH
INH
IX1
IX
3A
4A
5A
6A
7A
— — —
IMM
DIR
EXT
IX2
IX1
IX
2
A8 ii
B8 dd 3
C8 hh ll 4
D8 ee ff 5
4
E8 ff
3
F8
— — —
DIR
INH
INH
IX1
IX
3C
4C
5C
6C
7C
— — — — —
DIR
EXT
IX2
IX1
IX
BC dd 2
CC hh ll 3
DC ee ff 4
EC ff
3
FC
2
— — — — —
DIR
EXT
IX2
IX1
IX
BD dd 5
CD hh ll 6
DD ee ff 7
6
ED ff
5
FD
Effect
on CCR
H I N Z C
Clear Byte
Compare Accumulator with Memory Byte
Complement Byte (One’s Complement)
Compare Index Register with Memory Byte
Decrement Byte
EXCLUSIVE OR Accumulator with Memory
Byte
Increment Byte
M ← $00
A ← $00
X ← $00
M ← $00
M ← $00
(A) – (M)
M ← (M) = $FF – (M)
A ← (A) = $FF – (A)
X ← (X) = $FF – (X)
M ← (M) = $FF – (M)
M ← (M) = $FF – (M)
(X) – (M)
M ← (M) – 1
A ← (A) – 1
X ← (X) – 1
M ← (M) – 1
M ← (M) – 1
A ← (A) ⊕ (M)
M ← (M) + 1
A ← (A) + 1
X ← (X) + 1
M ← (M) + 1
M ← (M) + 1
Unconditional Jump
PC ← Jump Address
Jump to Subroutine
PC ← (PC) + n (n = 1, 2, or 3)
Push (PCL); SP ← (SP) – 1
Push (PCH); SP ← (SP) – 1
PC ← Effective Address
— — 0 1 —
ff
dd
ff
dd
ff
dd
ff
Cycles
Description
Operand
CLR opr
CLRA
CLRX
CLR opr,X
CLR ,X
Operation
Opcode
Source
Form
Address
Mode
Table 4-6. Instruction Set Summary (Sheet 3 of 6)
5
3
3
6
5
5
3
3
6
5
5
3
3
6
5
5
3
3
6
5
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
45
Central Processor Unit (CPU)
LDX #opr
LDX opr
LDX opr
LDX opr,X
LDX opr,X
LDX ,X
LSL opr
LSLA
LSLX
LSL opr,X
LSL ,X
2
A6 ii
B6 dd 3
C6 hh ll 4
D6 ee ff 5
4
E6 ff
3
F6
A ← (M)
— — —
IMM
DIR
EXT
IX2
IX1
IX
2
AE ii
BE dd 3
CE hh ll 4
DE ee ff 5
4
EE ff
3
FE
X ← (M)
Load Index Register with Memory Byte
38
48
58
68
78
dd
— — DIR
INH
INH
IX1
IX
Logical Shift Left (Same as ASL)
C
0
b7
DIR
INH
INH
IX1
IX
34
44
54
64
74
dd
MUL
Unsigned Multiply
0 — — — 0
INH
42
0
C
b7
NEG opr
NEGA
NEGX
NEG opr,X
NEG ,X
— — DIR
INH
INH
IX1
IX
30
40
50
60
70
Negate Byte (Two’s Complement)
NOP
No Operation
INH
9D
M ← –(M) = $00 – (M)
A ← –(A) = $00 – (A)
X ← –(X) = $00 – (X)
M ← –(M) = $00 – (M)
M ← –(M) = $00 – (M)
— — — — —
A ← (A) ∨ (M)
C
b7
ROR opr
RORA
RORX
ROR opr,X
ROR ,X
Rotate Byte Right through Carry Bit
RSP
Reset Stack Pointer
— — 0 b0
X : A ← (X) × (A)
Logical OR Accumulator with Memory
Rotate Byte Left through Carry Bit
b0
dd
ff
— — —
39
49
59
69
79
dd
— — DIR
INH
INH
IX1
IX
DIR
INH
INH
IX1
IX
36
46
56
66
76
dd
INH
9C
— — — — —
5
3
3
6
5
5
3
3
6
5
2
AA
BA
CA
DA
EA
FA
— — 5
3
3
6
5
1
1
IMM
DIR
EXT
IX2
IX1
IX
b0
SP ← $00FF
ff
ii
dd
hh ll
ee ff
ff
b0
C
b7
ff
Cycles
Description
Load Accumulator with Memory Byte
Logical Shift Right
ROL opr
ROLA
ROLX
ROL opr,X
ROL ,X
— — —
IMM
DIR
EXT
IX2
IX1
IX
Effect
on CCR
H I N Z C
LSR opr
LSRA
LSRX
LSR opr,X
LSR ,X
ORA #opr
ORA opr
ORA opr
ORA opr,X
ORA opr,X
ORA ,X
Opcode
LDA #opr
LDA opr
LDA opr
LDA opr,X
LDA opr,X
LDA ,X
Operation
Address
Mode
Source
Form
Operand
Table 4-6. Instruction Set Summary (Sheet 4 of 6)
ff
ff
2
3
4
5
4
3
5
3
3
6
5
5
3
3
6
5
2
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
46
Freescale Semiconductor
Instruction Set
INH
80
9
— — — — —
INH
81
6
A ← (A) – (M) – (C)
— — IMM
DIR
EXT
IX2
IX1
IX
2
A2 ii
B2 dd 3
C2 hh ll 4
D2 ee ff 5
4
E2 ff
3
F2
Description
RTI
Return from Interrupt
SP ← (SP) + 1; Pull (CCR)
SP ← (SP) + 1; Pull (A)
SP ← (SP) + 1; Pull (X)
SP ← (SP) + 1; Pull (PCH)
SP ← (SP) + 1; Pull (PCL)
RTS
Return from Subroutine
SP ← (SP) + 1; Pull (PCH)
SP ← (SP) + 1; Pull (PCL)
Effect
on CCR
SBC #opr
SBC opr
SBC opr
SBC opr,X
SBC opr,X
SBC ,X
Subtract Memory Byte and Carry Bit from
Accumulator
SEC
Set Carry Bit
C←1
— — — — 1
INH
99
SEI
Set Interrupt Mask
I←1
— 1 — — —
INH
9B
STA opr
STA opr
STA opr,X
STA opr,X
STA ,X
Store Accumulator in Memory
STOP
Stop Oscillator and Enable IRQ Pin
STX opr
STX opr
STX opr,X
STX opr,X
STX ,X
SUB #opr
SUB opr
SUB opr
SUB opr,X
SUB opr,X
SUB ,X
Store Index Register In Memory
Subtract Memory Byte from Accumulator
SWI
Software Interrupt
TAX
Transfer Accumulator to Index Register
TST opr
TSTA
TSTX
TST opr,X
TST ,X
Test Memory Byte for Negative or Zero
M ← (A)
— — —
DIR
EXT
IX2
IX1
IX
B7
C7
D7
E7
F7
— 0 — — —
INH
8E
Cycles
H I N Z C
Opcode
Operation
Address
Mode
Source
Form
Operand
Table 4-6. Instruction Set Summary (Sheet 5 of 6)
2
2
dd
hh ll
ee ff
ff
4
5
6
5
4
2
dd
hh ll
ee ff
ff
4
5
6
5
4
— — —
DIR
EXT
IX2
IX1
IX
BF
CF
DF
EF
FF
— — IMM
DIR
EXT
IX2
IX1
IX
2
A0 ii
B0 dd 3
C0 hh ll 4
D0 ee ff 5
4
E0 ff
3
F0
PC ← (PC) + 1; Push (PCL)
SP ← (SP) – 1; Push (PCH)
SP ← (SP) – 1; Push (X)
SP ← (SP) – 1; Push (A)
— 1 — — —
SP ← (SP) – 1; Push (CCR)
SP ← (SP) – 1; I ← 1
PCH ← Interrupt Vector High Byte
PCL ← Interrupt Vector Low Byte
INH
83
1
0
— — — — —
INH
97
2
— — —
DIR
INH
INH
IX1
IX
3D
4D
5D
6D
7D
M ← (X)
A ← (A) – (M)
X ← (A)
(M) – $00
dd
ff
4
3
3
5
4
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
47
Central Processor Unit (CPU)
WAIT
A
C
CCR
dd
dd rr
DIR
ee ff
EXT
ff
H
hh ll
I
ii
IMM
INH
IX
IX1
IX2
M
N
n
Transfer Index Register to Accumulator
A ← (X)
Stop CPU Clock and Enable Interrupts
Accumulator
Carry/borrow flag
Condition code register
Direct address of operand
Direct address of operand and relative offset of branch instruction
Direct addressing mode
High and low bytes of offset in indexed, 16-bit offset addressing
Extended addressing mode
Offset byte in indexed, 8-bit offset addressing
Half-carry flag
High and low bytes of operand address in extended addressing
Interrupt mask
Immediate operand byte
Immediate addressing mode
Inherent addressing mode
Indexed, no offset addressing mode
Indexed, 8-bit offset addressing mode
Indexed, 16-bit offset addressing mode
Memory location
Negative flag
Any bit
opr
PC
PCH
PCL
REL
rel
rr
SP
X
Z
#
∧
∨
⊕
()
–( )
←
?
:
—
H I N Z C
— — — — —
INH
9F
2
— 0 — — —
INH
8F
2
Effect
on CCR
Cycles
Description
Opcode
TXA
Operation
Address
Mode
Source
Form
Operand
Table 4-6. Instruction Set Summary (Sheet 6 of 6)
Operand (one or two bytes)
Program counter
Program counter high byte
Program counter low byte
Relative addressing mode
Relative program counter offset byte
Relative program counter offset byte
Stack pointer
Index register
Zero flag
Immediate value
Logical AND
Logical OR
Logical EXCLUSIVE OR
Contents of
Negation (two’s complement)
Loaded with
If
Concatenated with
Set or cleared
Not affected
4.7 Opcode Map
See Table 4-7.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
48
Freescale Semiconductor
Bit Manipulation
DIR
DIR
MSB
LSB
0
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
Table 4-7. Opcode Map
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
1
Branch
REL
DIR
2
3
Read-Modify-Write
INH
INH
IX1
4
5
6
IX
7
5
5
3
5
3
3
6
5
BRSET0
BSET0
BRA
NEG
NEGA
NEGX
NEG
NEG
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX 1
5
5
3
BRCLR0
BCLR0
BRN
3
DIR 2
DIR 2
REL
1
5
5
3
11
BRSET1
BSET1
BHI
MUL
3
DIR 2
DIR 2
REL
1
INH
5
5
3
5
3
3
6
5
BRCLR1
BCLR1
BLS
COM
COMA
COMX
COM
COM
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX 1
5
5
3
5
3
3
6
5
BRSET2
BSET2
BCC
LSR
LSRA
LSRX
LSR
LSR
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
BRCLR2
BCLR2 BCS/BLO
3
DIR 2
DIR 2
REL
5
5
3
5
3
3
6
5
BRSET3
BSET3
BNE
ROR
RORA
RORX
ROR
ROR
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
5
3
3
6
5
BRCLR3
BCLR3
BEQ
ASR
ASRA
ASRX
ASR
ASR
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
5
3
3
6
5
BRSET4
BSET4
BHCC
ASL/LSL ASLA/LSLA ASLX/LSLX ASL/LSL ASL/LSL
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
5
3
3
6
5
BRCLR4
BCLR4
BHCS
ROL
ROLA
ROLX
ROL
ROL
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
5
3
3
6
5
BRSET5
BSET5
BPL
DEC
DECA
DECX
DEC
DEC
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
BRCLR5
BCLR5
BMI
3
DIR 2
DIR 2
REL
5
5
3
5
3
3
6
5
BRSET6
BSET6
BMC
INC
INCA
INCX
INC
INC
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
4
3
3
5
4
BRCLR6
BCLR6
BMS
TST
TSTA
TSTX
TST
TST
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX
5
5
3
BRSET7
BSET7
BIL
3
DIR 2
DIR 2
REL
1
5
5
3
5
3
3
6
5
BRCLR7
BCLR7
BIH
CLR
CLRA
CLRX
CLR
CLR
3
DIR 2
DIR 2
REL 2
DIR 1
INH 1
INH 2
IX1 1
IX 1
REL = Relative
IX = Indexed, No Offset
IX1 = Indexed, 8-Bit Offset
IX2 = Indexed, 16-Bit Offset
8
9
9
RTI
INH
6
RTS
INH
2
2
2
10
SWI
INH
2
2
2
2
1
1
1
1
1
1
1
2
TAX
INH
2
CLC
INH 2
2
SEC
INH 2
2
CLI
INH 2
2
SEI
INH 2
2
RSP
INH
2
NOP
INH 2
2
STOP
INH
2
2
WAIT
TXA
INH 1
INH
IMM
DIR
A
B
2
SUB
IMM 2
2
CMP
IMM 2
2
SBC
IMM 2
2
CPX
IMM 2
2
AND
IMM 2
2
BIT
IMM 2
2
LDA
IMM 2
2
2
EOR
IMM 2
2
ADC
IMM 2
2
ORA
IMM 2
2
ADD
IMM 2
2
6
BSR
REL 2
2
LDX
2
IMM 2
2
MSB
LSB
LSB of Opcode in Hexadecimal
0
Register/Memory
EXT
IX2
3
SUB
DIR 3
3
CMP
DIR 3
3
SBC
DIR 3
3
CPX
DIR 3
3
AND
DIR 3
3
BIT
DIR 3
3
LDA
DIR 3
4
STA
DIR 3
3
EOR
DIR 3
3
ADC
DIR 3
3
ORA
DIR 3
3
ADD
DIR 3
2
JMP
DIR 3
5
JSR
DIR 3
3
LDX
DIR 3
4
STX
DIR 3
0
C
4
SUB
EXT 3
4
CMP
EXT 3
4
SBC
EXT 3
4
CPX
EXT 3
4
AND
EXT 3
4
BIT
EXT 3
4
LDA
EXT 3
5
STA
EXT 3
4
EOR
EXT 3
4
ADC
EXT 3
4
ORA
EXT 3
4
ADD
EXT 3
3
JMP
EXT 3
6
JSR
EXT 3
4
LDX
EXT 3
5
STX
EXT 3
D
5
SUB
IX2 2
5
CMP
IX2 2
5
SBC
IX2 2
5
CPX
IX2 2
5
AND
IX2 2
5
BIT
IX2 2
5
LDA
IX2 2
6
STA
IX2 2
5
EOR
IX2 2
5
ADC
IX2 2
5
ORA
IX2 2
5
ADD
IX2 2
4
JMP
IX2 2
7
JSR
IX2 2
5
LDX
IX2 2
6
STX
IX2 2
IX1
IX
E
F
4
SUB
IX1 1
4
CMP
IX1 1
4
SBC
IX1 1
4
CPX
IX1 1
4
AND
IX1 1
4
BIT
IX1 1
4
LDA
IX1 1
5
STA
IX1 1
4
EOR
IX1 1
4
ADC
IX1 1
4
ORA
IX1 1
4
ADD
IX1 1
3
JMP
IX1 1
6
JSR
IX1 1
4
LDX
IX1 1
5
STX
IX1 1
MSB
LSB
3
SUB
1
CMP
IX
3
SBC
IX
3
CPX
2
3
IX
3
4
AND
IX
3
BIT
5
IX
3
6
LDA
IX
4
7
STA
IX
3
EOR
8
IX
3
9
ADC
IX
3
A
ORA
IX
3
ADD
B
IX
2
C
JMP
IX
5
JSR
IX
3
LDX
D
E
IX
4
F
STX
IX
MSB of Opcode in Hexadecimal
5 Number of Cycles
BRSET0 Opcode Mnemonic
3
DIR Number of Bytes/Addressing Mode
0
IX
3
49
Opcode Map
INH = Inherent
IMM = Immediate
DIR = Direct
EXT = Extended
Control
INH
INH
Central Processor Unit (CPU)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
50
Freescale Semiconductor
Chapter 5
External Interrupt Module (IRQ)
5.1 Introduction
The external interrupt (IRQ) module provides asynchronous external interrupts to the CPU. The following
sources can generate external interrupts:
• IRQ/VPP pin
• PA0–PA3 pins
5.2 Features
The external interrupt module (IRQ) includes these features:
• Dedicated external interrupt pin (IRQ/VPP)
• Selectable interrupt on four input/output (I/O) pins (PA0–PA3)
• Programmable edge-only or edge- and level-interrupt sensitivity
5.3 Operation
The interrupt request/programming voltage pin (IRQ/VPP) and port A pins 0–3 (PA0–PA3) provide
external interrupts. The PIRQ bit in the mask option register (MOR) enables PA0–PA3 as IRQ interrupt
sources, which are combined into a single OR’ing function to be latched by the IRQ latch. Figure 5-1
shows the structure of the IRQ module.
After completing its current instruction, the CPU tests the IRQ latch. If the IRQ latch is set, the CPU then
tests the I bit in the condition code register and the IRQE bit in the IRQ status and control register. If the
I bit is clear and the IRQE bit is set, the CPU then begins the interrupt sequence. This interrupt is serviced
by the interrupt service routine located at $07FA and $07FB.
The CPU clears the IRQ latch while it fetches the interrupt vector, so that another external interrupt
request can be latched during the interrupt service routine. As soon as the I bit is cleared during the return
from interrupt, the CPU can recognize the new interrupt request. Figure 5-3 shows the sequence of events
caused by an interrupt.
5.3.1 IRQ/VPP Pin
An interrupt signal on the IRQ/VPP pin latches an external interrupt request. The LEVEL bit in the mask
option register provides negative edge-sensitive triggering or both negative edge-sensitive and low
level-sensitive triggering for the interrupt function.
If edge- and level-sensitive triggering is selected, a falling edge or a low level on the IRQ/VPP pin latches
an external interrupt request. Edge- and level-sensitive triggering allows the use of multiple wired-OR
external interrupt sources. An external interrupt request is latched as long as any source is holding the
IRQ/VPP pin low.
If level-sensitive triggering is selected, the IRQ/VPP input requires an external resistor to VDD for wired-OR
operation. If the IRQ/VPP pin is not used, it must be tied to the VDD supply.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
51
External Interrupt Module (IRQ)
TO BIH & BIL
INSTRUCTION
PROCESSING
IRQ
LEVEL-SENSITIVE TRIGGER
(MOR LEVEL BIT)
IRQF
VDD
EXTERNAL
INTERRUPT
REQUEST
D IRQ Q
LATCH
CK
PA3
PA2
PA1
PA0
IRQE
CLR
PIRQ
(MOR)
RESET
IRQ VECTOR FETCH
IRQR
Figure 5-1. IRQ Module Block Diagram
Addr.
$000A
Register Name
Bit 7
IRQ Status and Control
Register (ISCR)
See page 54.
Read:
6
5
4
3
2
1
Bit 0
0
0
0
IRQF
0
0
0
IRQE
Write:
Reset:
R
1
0
0
0
= Unimplemented
R
IRQR
0
0
0
0
= Reserved
Figure 5-2. IRQ Module I/O Register Summary
If edge-sensitive-only triggering is selected, a falling edge on the IRQ/VPP pin latches an external interrupt
request. A subsequent external interrupt request can be latched only after the voltage level on the
IRQ/VPP pin returns to logic 1 and then falls again to logic 0.
The IRQ/VPP pin contains an internal Schmitt trigger as part of its input to improve noise immunity. The
voltage on this pin can affect the mode of operation and should not exceed VDD.
5.3.2 Optional External Interrupts
The inputs for the lower four bits of port A (PA0–PA3) can be connected to the IRQ pin input of the CPU
if enabled by the PIRQ bit in the mask option register. This capability allows keyboard scan applications
where the transitions or levels on the I/O pins will behave the same as the IRQ/VPP pin except for the
inverted phase (logic 1, rising edge). The active state of the IRQ/VPP pin is a logic 0 (falling edge).
The PA0–PA3 pins are selected as a group to function as IRQ interrupts and are enabled by the IRQE bit
in the IRQ status and control register. The PA0–PA3 pins can be positive-edge triggered only or
positive-edge and high-level triggered.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
52
Freescale Semiconductor
Operation
FROM RESET
YES
I BIT SET?
NO
EXTERNAL
INTERRUPT?
YES
CLEAR IRQ LATCH.
NO
TIMER
INTERRUPT?
YES
STACK PCL, PCH, X, A, CCR.
SET I BIT.
LOAD PC WITH INTERRUPT VECTOR.
NO
FETCH NEXT
INSTRUCTION.
SWI
INSTRUCTION?
YES
NO
RTI
INSTRUCTION?
NO
YES
UNSTACK CCR, A, X, PCH, PCL.
EXECUTE INSTRUCTION.
Figure 5-3. Interrupt Flowchart
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
53
External Interrupt Module (IRQ)
If edge- and level-sensitive triggering is selected, a rising edge or a high level on a PA0–PA3 pin latches
an external interrupt request. Edge- and level-sensitive triggering allows the use of multiple wired-OR
external interrupt sources. As long as any source is holding a PA0–PA3 pin high, an external interrupt
request is latched, and the CPU continues to execute the interrupt service routine.
If edge-sensitive only triggering is selected, a rising edge on a PA0–PA3 pin latches an external interrupt
request. A subsequent external interrupt request can be latched only after the voltage level of the previous
interrupt signal returns to logic 0 and then rises again to logic 1.
NOTE
The BIH and BIL instructions apply only to the level on the IRQ/VPP pin itself
and not to the output of the logic OR function with the PA0–PA3 pins. The
state of the individual port A pins can be checked by reading the
appropriate port A pins as inputs.
Enabled PA0–PA3 pins cause an IRQ interrupt regardless of whether these
pins are configured as inputs or outputs.
The IRQ pin has an internal Schmitt trigger. The optional external interrupts
(PA0–PA3) do not have internal Schmitt triggers.
The interrupt mask bit (I) in the condition code register (CCR) disables all
maskable interrupt requests, including external interrupt requests.
5.4 IRQ Status and Control Register
The IRQ status and control register (ISCR) controls and monitors operation of the IRQ module. All unused
bits in the ISCR read as logic 0s. The IRQF bit is cleared and the IRQE bit is set by reset.
Address:
$000A
Bit 7
Read:
Write:
Reset:
IRQE
1
6
5
4
3
2
1
Bit 0
0
0
0
IRQF
0
0
0
R
0
= Unimplemented
0
IRQR
0
0
R
= Reserved
0
0
0
Figure 5-4. IRQ Status and Control Register (ISCR)
IRQR — Interrupt Request Reset Bit
This write-only bit clears the external interrupt request flag.
1 = Clears external interrupt and IRQF bit
0 = No effect on external interrupt and IRQF bit
IRQF — External Interrupt Request Flag
The external interrupt request flag is a clearable, read-only bit that is set when an external interrupt
request is pending. Reset clears the IRQF bit.
1 = External interrupt request pending
0 = No external interrupt request pending
IRQE — External Interrupt Request Enable Bit
This read/write bit enables external interrupts. Reset sets the IRQE bit.
1 = External interrupt requests enabled
0 = External interrupt requests disabled
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
54
Freescale Semiconductor
Timing
The STOP and WAIT instructions set the IRQE bit so that an external interrupt can bring the MCU out of
these low-power modes. In addition, reset sets the I bit which masks all interrupt sources.
5.5 Timing
tILIL
tILIH
IRQ/VPP PIN
tILIH
IRQ1
.
.
.
IRQn
IRQ (INTERNAL)
Figure 5-5. External Interrupt Timing
Table 5-1. External Interrupt Timing (VDD = 5.0 Vdc)(1)
Characteristic
Symbol
Min
Max
Unit
IRQ Interrupt Pulse Width Low (Edge-Triggered)
tILIH
1.5
—
tcyc(2)
IRQ Interrupt Pulse Width
(Edge- and Level-Triggered)
tILIH
1.5
Note(3)
tcyc
PA0–PA3 Interrupt Pulse Width High (Edge-Triggered)
tILIL
1.5
—
tcyc
PA0–PA3 Interrupt Pulse Width High (Edge- and Level-Triggered)
tILIH
1.5
Note(3)
tcyc
1. VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to + 85°C, unless otherwise noted.
2. tcyc = 1/fOP; fOP = fOSC/2.
3. The minimum tILIL should not be less than the number of interrupt service routine cycles plus 19 tcyc.
Table 5-2. External Interrupt Timing (VDD = 3.3 Vdc)(1)
Characteristic
Symbol
Min
Max
Unit
IRQ Interrupt Pulse Width Low (Edge-Triggered)
tILIH
1.5
—
tcyc(2)
IRQ Interrupt Pulse Width
(Edge- and Level-Triggered)
tILIH
1.5
Note(3)
tcyc
PA0–PA3 Interrupt Pulse Width High (Edge-Triggered)
tILIL
1.5
—
tcyc
PA0–PA3 Interrupt Pulse Width High (Edge- and Level-Triggered)
tILIH
1.5
Note(3)
tcyc
1. VDD = 3.3 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to + 85°C, unless otherwise noted.
2. tcyc = 1/fOP; fOP = fOSC/2.
3. The minimum tILIL should not be less than the number of interrupt service routine cycles plus 19 tcyc.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
55
External Interrupt Module (IRQ)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
56
Freescale Semiconductor
Chapter 6
Low-Power Modes
6.1 Introduction
The MCU can enter the following low-power standby modes:
• Stop mode — The STOP instruction puts the MCU in its lowest power-consumption mode.
• Wait mode — The WAIT instruction puts the MCU in an intermediate power-consumption mode.
• Halt mode — Halt mode is identical to wait mode, except that an oscillator stabilization delay of 1
to 4064 internal clock cycles occurs when the MCU exits halt mode. The stop-to-wait conversion
bit, SWAIT, in the mask option register, enables halt mode.
Enabling halt mode prevents the computer operating properly (COP) watchdog from being
inadvertently turned off by a STOP instruction.
• Data-retention mode — In data-retention mode, the MCU retains RAM contents and CPU register
contents at VDD voltages as low as 2.0 Vdc. The data-retention feature allows the MCU to remain
in a low power-consumption state during which it retains data, but the CPU cannot execute
instructions.
6.2 Exiting Stop and Wait Modes
The following events bring the MCU out of stop mode and load the program counter with the reset vector
or with an interrupt vector:
Exiting Stop Mode
• External reset — A logic 0 on the RESET pin resets the MCU, starts the CPU clock, and loads the
program counter with the contents of locations $07FE and $07FF.
• External interrupt — A high-to-low transition on the IRQ/VPP pin or a low-to-high transition on an
enabled port A external interrupt pin starts the CPU clock and loads the program counter with the
contents of locations $07FA and $07FB.
Exiting Wait Mode
• External reset — A logic 0 on the RESET pin resets the MCU, starts the CPU clock, and loads the
program counter with the contents of locations $07FE and $07FF.
• External interrupt — A high-to-low transition on the IRQ/VPP pin or a low-to-high transition on an
enabled port A external interrupt pin starts the CPU clock and loads the program counter with the
contents of locations $07FA and $07FB.
• COP watchdog reset — A timeout of the COP watchdog resets the MCU, starts the CPU clock, and
loads the program counter with the contents of locations $07FE and $07FF. Software can enable
timer interrupts so that the MCU periodically can exit wait mode to reset the COP watchdog.
• Timer interrupt — Real-time interrupt requests and timer overflow interrupt requests start the MCU
clock and load the program counter with the contents of locations $07F8 and $07F9.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
57
Low-Power Modes
6.3 Effects of Stop and Wait Modes
The STOP and WAIT instructions have the following effects on MCU modules.
6.3.1 Clock Generation
Effects of STOP and WAIT on clock generation are discussed here.
6.3.1.1 STOP
The STOP instruction disables the internal oscillator, stopping the CPU clock and all peripheral clocks.
After exiting stop mode, the CPU clock and all enabled peripheral clocks begin running after the oscillator
stabilization delay.
NOTE
The oscillator stabilization delay holds the MCU in reset for the first 4064
internal clock cycles.
6.3.1.2 WAIT
The WAIT instruction disables the CPU clock.
After exiting wait mode, the CPU clock and all enabled peripheral clocks immediately begin running.
6.3.2 CPU
Effects of STOP and WAIT on the CPU are discussed here.
6.3.2.1 STOP
The STOP instruction:
• Clears the interrupt mask (I bit) in the condition code register, enabling external interrupts
• Disables the CPU clock
After exiting stop mode, the CPU clock begins running after the oscillator stabilization delay.
After exit from stop mode by external interrupt, the I bit remains clear.
After exit from stop mode by reset, the I bit is set.
6.3.2.2 WAIT
The WAIT instruction:
• Clears the interrupt mask (I bit) in the condition code register, enabling interrupts
• Disables the CPU clock
After exit from wait mode by interrupt, the I bit remains clear.
After exit from wait mode by reset, the I bit is set.
6.3.3 COP Watchdog
Effects of STOP and WAIT on the COP watchdog are discussed here.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
58
Freescale Semiconductor
Effects of Stop and Wait Modes
6.3.3.1 STOP
The STOP instruction:
• Clears the COP watchdog counter
• Disables the COP watchdog clock
NOTE
To prevent the STOP instruction from disabling the COP watchdog,
program the stop-to-wait conversion bit (SWAIT) in the mask option register
to logic 1.
After exit from stop mode by external interrupt, the COP watchdog counter immediately begins counting
from $0000 and continues counting throughout the oscillator stabilization delay.
NOTE
Immediately after exiting stop mode by external interrupt, service the COP
to ensure a full COP timeout period.
After exit from stop mode by reset:
• The COP watchdog counter immediately begins counting from $0000.
• The COP watchdog counter is cleared at the end of the oscillator stabilization delay and begins
counting from $0000 again.
6.3.3.2 WAIT
The WAIT instruction has no effect on the COP watchdog.
NOTE
To prevent a COP timeout during wait mode, exit wait mode periodically to
service the COP.
6.3.4 Timer
Effects of STOP and WAIT on the timer are discussed here.
6.3.4.1 STOP
The STOP instruction:
• Clears the RTIE, TOFE, RTIF, and TOF bits in the timer status and control register, disabling timer
interrupt requests and removing any pending timer interrupt requests
• Disables the clock to the timer
After exiting stop mode by external interrupt, the timer immediately resumes counting from the last value
before the STOP instruction and continues counting throughout the oscillator stabilization delay.
After exiting stop mode by reset and after the oscillator stabilization delay, the timer resumes operation
from its reset state.
6.3.4.2 WAIT
The WAIT instruction has no effect on the timer.
6.3.5 EPROM/OTPROM
Effects of STOP and WAIT on the EPROM/OTPROM are discussed here.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
59
Low-Power Modes
6.3.5.1 STOP
The STOP instruction during EPROM programming clears the EPGM bit in the EPROM programming
register, removing the programming voltage from the EPROM.
6.3.5.2 WAIT
The WAIT instruction has no effect on EPROM/OTPROM operation.
6.4 Data-Retention Mode
In data-retention mode, the MCU retains RAM contents and CPU register contents at VDD voltages as low
as 2.0 Vdc. The data-retention feature allows the MCU to remain in a low power-consumption state during
which it retains data, but the CPU cannot execute instructions.
To put the MCU in data-retention mode:
1. Drive the RESET pin to logic 0.
2. Lower the VDD voltage. The RESET pin must remain low continuously during data-retention mode.
To take the MCU out of data-retention mode:
1. Return VDD to normal operating voltage.
2. Return the RESET pin to logic 1.
6.5 Timing
OSC
(NOTE 1)
tRL
RESET
IRQ/VPP
(NOTE 2)
tILIH
OSCILLATOR STABILIZATION DELAY(5)
IRQ/VPP
(NOTE 3)
INTERNAL
CLOCK
INTERNAL
ADDRESS
BUS
$07FE
(NOTE 4)
$07FE
$07FE
$07FE
Notes:
1. Internal clocking from OSC1 pin
2. Edge-triggered external interrupt mask option
3. Edge- and level-triggered external interrupt mask option
4. Reset vector shown as example
5. 4064 cycles or 128 cycles, depending on state of SOSCD bit in MOR
$07FE
$07FF
RESET OR INTERRUPT
VECTOR FETCH
Figure 6-1. Stop Mode Recovery Timing
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
60
Freescale Semiconductor
Timing
STOP
SWAIT
BIT SET?
YES
HALT
WAIT
CLEAR I BIT IN CCR.
SET IRQE BIT IN ISCR.
TURN OFF CPU CLOCK.
TIMER CLOCK ACTIVE.
CLEAR I BIT IN CCR.
SET IRQE BIT IN ISCR.
TURN OFF CPU CLOCK.
TIMER CLOCK ACTIVE.
NO
CLEAR I BIT IN CCR.
SET IRQE BIT IN ISCR.
CLEAR TOF, RTIF, TOIE, AND RTIE BITS IN TSCR.
TURN OFF INTERNAL OSCILLATOR.
YES
EXTERNAL
RESET?
YES
EXTERNAL
RESET?
YES
EXTERNAL
RESET?
NO
NO
NO
YES
EXTERNAL
INTERRUPT?
YES
EXTERNAL
INTERRUPT?
YES
EXTERNAL
INTERRUPT?
NO
NO
NO
YES
TIMER
INTERRUPT?
TURN ON INTERNAL OSCILLATOR.
RESET STABILIZATION TIMER.
TIMER
INTERRUPT?
NO
NO
YES
END OF
STABILIZATION
DELAY?
YES
YES
COP
RESET?
YES
COP
RESET?
NO
NO
NO
TURN ON CPU CLOCK.
1. LOAD PC WITH RESET VECTOR
OR
2. SERVICE INTERRUPT.
a. SAVE CPU REGISTERS ON STACK.
b. SET I BIT IN CCR.
c. LOAD PC WITH INTERRUPT VECTOR.
Figure 6-2. STOP/HALT/WAIT Flowchart
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
61
Low-Power Modes
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
62
Freescale Semiconductor
Chapter 7
Parallel I/O Ports (PORTS)
7.1 Introduction
Ten bidirectional pins form one 8-bit input/output (I/O) port and one 2-bit I/O port. All the bidirectional port
pins are programmable as inputs or outputs.
NOTE
Connect any unused I/O pins to an appropriate logic level, either VDD or
VSS. Although the I/O ports do not require termination for proper operation,
termination reduces excess current consumption and the possibility of
electrostatic damage.
Addr.
$0000
Register Name:
Port A Data Register (POR- Read:
TA) Write:
See page 64. Reset:
$0001
Port B Data Register Read:
(PORTB) Write:
See page 66. Reset:
$0004
Data Direction Register A Read:
(DDRA) Write:
See page 64. Reset:
$0005
$0010
$0011
Data Direction Register B Read:
(DDRB) Write:
See page 67. Reset:
Port A Pulldown Register Read:
(PDRA) Write:
See page 65. Reset:
Bit 7
6
5
4
3
2
1
Bit 0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
Unaffected by reset
0
0
See Note
PB3
PB2
See Note
Unaffected by reset
DDRA7
DDRA6
DDRA5
DDRA4
DDRA3
DDRA2
DDRA1
DDRA0
0
0
0
0
0
0
0
0
0
0
DDRB3
DDRB2
0
0
0
0
0
0
0
0
PDIA7
PDIA6
PDIA5
PDIA4
PDIA3
PDIA2
PDIA1
PDIA0
0
0
0
0
0
0
0
0
PDIB3
PDIB2
0
0
See Note
Port B Pulldown Register Read:
(PDRB) Write:
See page 68. Reset:
See Note
0
0
See Note
See Note
0
0
= Unimplemented
Note:
PB5, PB4, PB1, and PB0 should be configured as inputs at all times. These bits are available for read/write but are not
available externally. Configuring them as inputs will ensure that the pulldown devices are enabled, thus properly terminating them.
Figure 7-1. Parallel I/O Port Register Summary
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
63
Parallel I/O Ports (PORTS)
7.2 Port A
Port A is an 8-bit bidirectional port.
7.2.1 Port A Data Register
The port A data register contains a latch for each port A pin.
Address:
Read:
Write:
$0000
Bit 7
6
5
4
3
2
1
Bit 0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
Reset:
Unaffected by reset
Figure 7-2. Port A Data Register (PORTA)
PA[7: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 in data direction register A. Reset has no effect on port A data.
7.2.2 Data Direction Register A
Data direction register A determines whether each port A pin is an input or an output.
Address:
Read:
Write:
Reset:
$0004
Bit 7
6
5
4
3
2
1
Bit 0
DDRA7
DDRA6
DDRA5
DDRA4
DDRA3
DDRA2
DDRA1
DDRA0
0
0
0
0
0
0
0
0
Figure 7-3. Data Direction Register A (DDRA)
DDRA[7:0] — Data Direction Register A Bits
These read/write bits control port A data direction. Reset clears DDRA[7: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 0 to 1.
Figure 7-4 shows the I/O logic of port A.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
64
Freescale Semiconductor
Port A
READ DDRA
WRITE DDRA
INTERNAL DATA BUS
DDRAx
PAx
10-mA SINK CAPABILITY
(PINS PA4–PA7 ONLY)
PAx
(PA0–PA3 TO
IRQ MODULE)
PDRAx
100-µA
PULLDOWN
WRITE PORTA
READ PORTA
WRITE PDRA
RESET
SWPDI
Figure 7-4. Port A I/O Circuitry
Writing a logic 1 to a DDRA bit enables the output buffer for the corresponding port A pin; a logic 0
disables the output buffer.
When bit DDRAx is a logic 1, reading address $0000 reads the PAx data latch. When bit DDRAx is a logic
0, reading address $0000 reads the voltage level on the pin. The data latch can always be written,
regardless of the state of its data direction bit. Table 7-1 summarizes the operation of the port A pins.
Table 7-1. Port A Pin Operation
Data Direction Bit
I/O Pin Mode
0
1
Accesses to Data Bit
Read
Write
Input, high-impedance
Pin
Latch(1)
Output
Latch
Latch
1. Writing affects the data register but does not affect input.
7.2.3 Pulldown Register A
Pulldown register A inhibits the pulldown devices on port A pins programmed as inputs.
NOTE
If the SWPDI bit in the mask option register is programmed to logic 1, reset
initializes all port A pins as inputs with disabled pulldown devices.
Address:
$0010
Bit 7
6
5
4
3
2
1
Bit 0
Write:
PDIA7
PDIA6
PDIA5
PDIA4
PDIA3
PDIA2
PDIA1
PDIA0
Reset:
0
0
0
0
0
0
0
0
Read:
= Unimplemented
Figure 7-5. Pulldown Register A (PDRA)
PDIA[7:0] — Pulldown Inhibit A Bits
PDIA[7:0] disable the port A pulldown devices. Reset clears PDIA[7:0].
1 = Corresponding port A pulldown device disabled
0 = Corresponding port A pulldown device not disabled
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
65
Parallel I/O Ports (PORTS)
7.2.4 Port LED Drive Capability
All outputs can drive light-emitting diodes (LEDs). These pins can sink approximately 10 mA of current to
VSS.
7.2.5 Port A I/O Pin Interrupts
If the PIRQ bit in the mask option register is programmed to logic 1, PA0–PA3 pins function as external
interrupt pins. (See Chapter 5 External Interrupt Module (IRQ).)
7.3 Port B
Port B is a 2-bit bidirectional port.
7.3.1 Port B Data Register
The port B data register contains a latch for each port B pin.
Address:
Read:
$0001
Bit 7
6
0
0
Write:
Reset:
5
4
See Note
3
2
PB3
PB2
1
Bit 0
See Note
Unaffected by reset
= Unimplemented
Note:
PB5, PB4, PB1, and PB0 should be configured as inputs at all times. These bits are available for read/write but are not available externally. Configuring them as inputs will ensure
that the pulldown devices are enabled, thus properly terminating them.
Figure 7-6. Port B Data Register (PORTB)
PB[3:2] — Port B Data Bits
These read/write bits are software programmable. Data direction of each port B pin is under the control
of the corresponding bit in data direction register B. Reset has no effect on port B data.
NOTE
PB4–PB5 and PB0–PB1 should be configured as inputs at all times. These
bits are available for read/write but are not available externally. Configuring
them as inputs will ensure that the pulldown devices are enabled, thus
properly terminating them.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
66
Freescale Semiconductor
Port B
7.3.2 Data Direction Register B
Data direction register B determines whether each port B pin is an input or an output.
Address:
Read:
$0005
Bit 7
6
0
0
0
0
5
See Notes
Write:
Reset:
4
0
0
3
2
DDRB3
DDRB2
0
0
1
Bit 0
See Note
0
0
= Unimplemented
Note:
DDRB5, DDRB4, DDRB1, and DDRB0 should be configured as inputs at all times. These
bits are available for read/write but are not available externally. Configuring them as inputs
will ensure that the pulldown devices are enabled, thus properly terminating them.
Figure 7-7. Data Direction Register B (DDRB)
DDRB[3:2] — Data Direction Register B Bits
These read/write bits control port B data direction. Reset clears DDRB[3:2], 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 7-8 shows the I/O logic of port B.
READ DDRB
WRITE DDRB
INTERNAL DATA BUS
DDRBx
WRITE PORTB
PBx
PBx
READ PORTB
WRITE PDRB
100-µA
PULLDOWN
PDRBx
RESET
SWPDI
Figure 7-8. Port B I/O Circuitry
Writing a logic 1 to a DDRB bit enables the output buffer for the corresponding port B pin; a logic 0
disables the output buffer.
When bit DDRBx is a logic 1, reading address $0001 reads the PBx data latch. When bit DDRBx is a
logic 0, reading address $0001 reads the voltage level on the pin. The data latch can always be written,
regardless of the state of its data direction bit. Table 7-2 summarizes the operation of the port B pins.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
67
Parallel I/O Ports (PORTS)
Table 7-2. Port B Pin Operation
Data Direction Bit
I/O Pin Mode
0
1
Accesses to Data Bit
Read
Write
Input, high-impedance
Pin
Latch(1)
Output
Latch
Latch
1. Writing affects the data register, but does not affect input.
7.3.3 Pulldown Register B
Pulldown register B inhibits the pulldown devices on port B pins programmed as inputs.
NOTE
If the SWPDI bit in the mask option register is programmed to logic 1, reset
initializes all port B pins as inputs with disabled pulldown devices.
Address:
$0011
Bit 7
6
5
4
3
2
PDIB3
PDIB2
0
0
1
Bit 0
Read:
Write:
See Note
Reset:
0
0
See Note
0
0
= Unimplemented
Note:
These pulldown devices are permanently enabled when PB5, PB4, PB1 and PB0 are configured as inputs.
Figure 7-9. Pulldown Register B (PDRB)
PDIB[3:2] — Pulldown Inhibit B Bits
PDIB[3:2] disable the port B pulldown devices. Reset clears PDIB[3:2].
1 = Corresponding port B pulldown device disabled
0 = Corresponding port B pulldown device not disabled
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
68
Freescale Semiconductor
I/O Port Electrical Characteristics
7.4 I/O Port Electrical Characteristics
Table 7-3. I/O Port DC Electrical Characteristics (VDD = 5.0 V)(1)
Characteristic
Current Drain Per Pin
Symbol
Min
Typ(2)
Max
Unit
I
—
—
25
mA
Output High Voltage
(ILoad = –2.5 mA) PA4–PA7
(ILoad = –5.5 mA) PB2–PB3, PA0–PA3
VOH
VDD –0.8
VDD –0.8
—
—
—
—
V
Output Low Voltage
(ILoad = 10.0 mA) PA0–PA7, PB2–PB3
VOL
—
—
0.8
V
Input High Voltage
PA0–PA7, PB2–PB3
VIH
0.7 x VDD
—
VDD
V
Input Low Voltage
PA0–PA7, PB2–PB3
VIL
VSS
—
0.2 x VDD
V
I/O Ports Hi-Z Leakage Current
PA0–PA7, PB2–PB3 (Without Individual
Pulldown Activated)
IIL
—
0.2
±1
µA
Input Pulldown Current
PA0–PA7, PB2–PB3 (With Individual
Pulldown Activated)
IIL
35
80
200
µA
1. VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25°C.
Table 7-4. I/O Port DC Electrical Characteristics (VDD = 3.3 V)(1)
Symbol
Min
Typ(2)
Max
Unit
I
—
—
25
mA
Output High Voltage
(ILoad = –0.8 mA) PA4–PA7
(ILoad = –1.5 mA) PA0–PA3, PB2–PB3
VOH
VDD –0.3
VDD –0.3
—
—
—
—
V
Output Low Voltage
(ILoad = 5.0 mA) PA4–PA7
(ILoad = 3.5 mA) PA0–PA3, PB2–PB3
VOL
—
—
—
—
0.5
0.5
V
Input High Voltage
PA0–PA7, PB2–PB3
VIH
0.7 x VDD
—
VDD
V
Input Low Voltage
PA0–PA7, PB2–PB3
VIL
VSS
—
0.2 x VDD
V
I/O Ports Hi-Z Leakage Current
PA0–PA7, PB2–PB3 (Without Individual Pulldown
Activated)
IIL
—
0.1
±1
µA
Input Pulldown Current
PA0–PA7, PB2–PB3 (With Individual Pulldown Activated)
IIL
12
30
100
µA
Characteristic
Current Drain Per Pin
1. VDD = 3.3 Vdc ± 10%, VSS= 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25°C.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
69
Parallel I/O Ports (PORTS)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
70
Freescale Semiconductor
Chapter 8
Resets and Interrupts
8.1 Introduction
Reset initializes the MCU by returning the program counter to a known address and by forcing control and
status bits to known states.
Interrupts temporarily change the sequence of program execution to respond to events that occur during
processing.
8.2 Resets
A reset immediately stops the operation of the instruction being executed, initializes certain control and
status bits, and loads the program counter with a user-defined reset vector address. The following
sources can generate a reset:
• Power-on reset (POR) circuit
• RESET pin
• Computer operating properly (COP) watchdog
• Illegal address
ILLEGAL ADDRESS
COP WATCHDOG
VDD
POWER-ON RESET
S
D
RESET PIN
INTERNAL CLOCK
Q
RST
TO CPU AND
PERIPHERAL
MODULES
CK
RESET
LATCH
Figure 8-1. Reset Sources
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
71
Resets and Interrupts
8.2.1 Power-On Reset
A positive transition on the VDD pin generates a power-on reset.
NOTE
The power-on reset is strictly for power-up conditions and cannot be used
to detect drops in power supply voltage.
A 4064-tcyc (internal clock cycle) delay after the oscillator becomes active allows the clock generator to
stabilize. If any reset source is active at the end of this delay, the MCU remains in the reset condition until
all reset sources are inactive.
VDD
OSCILLATOR STABILIZATION DELAY(2)
(NOTE 1)
OSC1 PIN
INTERNAL
CLOCK
INTERNAL
ADDRESS BUS
$07FE
$07FE
$07FE
$07FE
$07FE
INTERNAL
DATA BUS
$07FE
$07FF
NEW PCH
NEW PCL
Notes:
1. Power-on reset threshold is typically between 1 V and 2 V.
2. 4064 cycles or 128 cycles, depending on state of SOSCD bit in MOR
3. Internal clock, internal address bus, and internal data bus are not available externally.
Figure 8-2. Power-On Reset Timing
8.2.2 External Reset
A logic 0 applied to the RESET pin for 1 1/2 tcyc generates an external reset. A Schmitt trigger senses the
logic level at the RESET pin.
INTERNAL
CLOCK
INTERNAL
ADDRESS BUS
$07FE
$07FE
$07FE
$07FE
NEW
PCH
INTERNAL
DATA BUS
$07FF
NEW PC
NEW
PCL
DUMMY
NEW PC
OP
CODE
tRL
RESET
Notes:
1. Internal clock, internal address bus, and internal data bus are not available externally.
2. The next rising edge of the internal clock after the rising edge of RESET initiates the reset sequence.
Figure 8-3. External Reset Timing
Table 8-1. External Reset Timing
Characteristic
RESET Pulse Width
Symbol
Min
Max
Unit
tRL
1.5
—
tcyc
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
72
Freescale Semiconductor
Interrupts
8.2.3 COP Watchdog Reset
A timeout of the COP watchdog generates a COP reset. The COP watchdog is part of a software error
detection system and must be cleared periodically to start a new timeout period. To clear the COP
watchdog and prevent a COP reset, write a logic 0 to bit 0 (COPC) of the COP register at location $07F0.
8.2.4 Illegal Address Reset
An opcode fetch from an address not in RAM or EPROM generates a reset.
8.3 Interrupts
The following sources can generate interrupts:
• SWI instruction
• External interrupt pins
– IRQ/VPP pin
– PA0–PA3 pins
• Timer
– Real-time interrupt flag (RTIF)
– Timer overflow flag (TOF)
An interrupt temporarily stops the program sequence to process a particular event. An interrupt does not
stop the operation of the instruction being executed, but takes effect when the current instruction
completes its execution. Interrupt processing automatically saves the CPU registers on the stack and
loads the program counter with a user-defined interrupt vector address.
8.3.1 Software Interrupt
The software interrupt (SWI) instruction causes a non-maskable interrupt.
8.3.2 External Interrupt
An interrupt signal on the IRQ/VPP pin latches an external interrupt request. When the CPU completes its
current instruction, it tests the IRQ latch. If the IRQ latch is set, the CPU then tests the I bit in the condition
code register. If the I bit is clear, the CPU then begins the interrupt sequence.
The CPU clears the IRQ latch during interrupt processing, so that another interrupt signal on the IRQ/VPP
pin can latch another interrupt request during the interrupt service routine. As soon as the I bit is cleared
during the return from interrupt, the CPU can recognize the new interrupt request. Figure 8-4 shows the
IRQ/VPP pin interrupt logic.
Setting the I bit in the condition code register disables external interrupts.
The port A external interrupt bit (PIRQ) in the mask option register enables pins PA0–PA3 to function as
external interrupt pins.
The external interrupt sensitivity bit (LEVEL) in the mask option register controls interrupt triggering
sensitivity of external interrupt pins. The IRQ/VPP pin can be negative-edge triggered only or
negative-edge and low-level triggered. Port A external interrupt pins can be positive-edge triggered only
or both positive-edge and high-level triggered. The level-sensitive triggering option allows multiple
external interrupt sources to be wire-ORed to an external interrupt pin. An external interrupt request,
shown in Figure 8-5, is latched as long as any source is holding an external interrupt pin low.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
73
Resets and Interrupts
TO BIH & BIL
INSTRUCTION
PROCESSING
IRQ
LEVEL-SENSITIVE TRIGGER
(MOR LEVEL BIT)
IRQF
VDD
EXTERNAL
INTERRUPT
REQUEST
D IRQ Q
LATCH
CK
PA3
PA2
PA1
PA0
IRQE
CLR
PIRQ
(MOR)
RESET
IRQ VECTOR FETCH
IRQR
Figure 8-4. External Interrupt Logic
tILIL
EXT. INT. PIN
tILIH
tILIH
EXT. INT. PIN1
.
.
.
EXT. INT. PINn
IRQ
(INTERNAL)
Figure 8-5. External Interrupt Timing
Table 8-2. External Interrupt Timing (VDD = 5.0 Vdc)(1)
Characteristic
Symbol
Min
Max
Unit
Interrupt Pulse Width Low (Edge-Triggered)
tILIH
125
—
ns
Interrupt Pulse Period
tILIL
Note(2)
—
tcyc
1. VDD = 5.0 Vdc ±10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. The minimum tILIL should not be less than the number of interrupt service routine cycles plus 19 tcyc.
Table 8-3. External Interrupt Timing (VDD = 3.3 Vdc)(1)
Characteristic
Interrupt Pulse Width Low (Edge-Triggered)
Interrupt Pulse Period
Symbol
Min
Max
Unit
tILIH
250
—
ns
tILIL
Note(2)
—
tcyc
1. VDD = 3.3 Vdc ±10%, VSS = 0 Vdc, TA = –40°C to +85°C unless otherwise noted.
2. The minimum tILIL should not be less than the number of interrupt service routine cycles plus 19 tcyc.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
74
Freescale Semiconductor
Interrupts
8.3.3 Timer Interrupts
The timer can generate the following interrupt requests:
• Real time
• Timer overflow
Setting the I bit in the condition code register disables timer interrupts.
8.3.3.1 Real-Time Interrupt
A real-time interrupt occurs if the real-time interrupt flag, RTIF, becomes set while the real-time interrupt
enable bit, RTIE, is also set. RTIF and RTIE are in the timer status and control register.
8.3.3.2 Timer Overflow Interrupt
A timer overflow interrupt request occurs if the timer overflow flag, TOF, becomes set while the timer
overflow interrupt enable bit, TOIE, is also set. TOF and TOIE are in the timer status and control register.
8.3.4 Interrupt Processing
The CPU takes the following actions to begin servicing an interrupt:
• Stores the CPU registers on the stack in the order shown in Figure 8-6
• Sets the I bit in the condition code register to prevent further interrupts
• Loads the program counter with the contents of the appropriate interrupt vector locations:
– $07FC and $07FD (software interrupt vector)
– $07FA and $07FB (external interrupt vector)
– $07F8 and $07F9 (timer interrupt vector)
The return-from-interrupt (RTI) instruction causes the CPU to recover the CPU registers from the stack
as shown in Figure 8-6.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
75
Resets and Interrupts
$00C0 (BOTTOM OF STACK)
$00C1
$00C2
UNSTACKING
ORDER
•
•
•
•
•
•
5
1
CONDITION CODE REGISTER
4
2
ACCUMULATOR
3
3
INDEX REGISTER
2
4
PROGRAM COUNTER (HIGH BYTE)
1
5
PROGRAM COUNTER (LOW BYTE)
STACKING
ORDER
•
•
•
•
•
•
$00FD
$00FE
$00FF (TOP OF STACK)
Figure 8-6. Interrupt Stacking Order
Table 8-4. Reset/Interrupt Vector Addresses
Function
Source
Local
Mask
Global
Mask
Priority
(1 = Highest)
Vector
Address
Reset
Power-On
RESET Pin
COP Watchdog(1)
Illegal Address
None
None
1
$07FE–$07FF
Software Interrupt
(SWI)
User Code
None
None
Same Priority
as Instruction
$07FC–$07FD
External Interrupt
IRQ/VPP Pin
IRQE
I Bit
2
$07FA–$07FB
Timer Interrupts
RTIF Bit
TOF Bit
RTIE Bit
TOIE Bit
I Bit
3
$07F8–$07F9
1. The COP watchdog is programmable in the mask option register.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
76
Freescale Semiconductor
Interrupts
FROM RESET
YES
I BIT SET?
NO
EXTERNAL
INTERRUPT?
YES
CLEAR IRQ LATCH.
NO
TIMER
INTERRUPT?
YES
STACK PC, X, A, CCR.
SET I BIT.
LOAD PC WITH INTERRUPT VECTOR.
NO
FETCH NEXT
INSTRUCTION.
SWI
INSTRUCTION?
YES
NO
RTI
INSTRUCTION?
NO
YES
UNSTACK CCR, A, X, PC.
EXECUTE INSTRUCTION.
Figure 8-7. Interrupt Flowchart
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
77
Resets and Interrupts
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
78
Freescale Semiconductor
Chapter 9
Multifunction Timer Module
9.1 Introduction
The multifunction timer provides a timing reference with programmable real-time interrupt capability.
Figure 9-2 shows the timer organization.
9.2 Features
Features of the multifunction timer include:
• Timer overflow
• Four selectable interrupt rates
• Computer operating properly (COP) watchdog timer
9.3 Operation
A 15-stage ripple counter, preceded by a prescaler that divides the internal clock signal by four, provides
the timing reference for the timer functions. The value of the first eight timer stages can be read at any
time by accessing the timer counter register at address $0009. A timer overflow function at the eighth
stage allows a timer interrupt every 1024 internal clock cycles.
The next four stages lead to the real-time interrupt (RTI) circuit. The RT1 and RT0 bits in the timer status
and control register at address $0008 allow a timer interrupt every 16,384, 32,768, 65,536, or 131,072
clock cycles. The last four stages drive the selectable COP system. For information on the COP, refer to
Chapter 3 Computer Operating Properly Module (COP).
Addr.
Register Name
Timer Status and Control Register
$0008
(TSCR)
See page 81.
$0009
Read:
Bit 7
6
TOF
RTIF
5
4
TOIE
RTIE
Write:
Reset:
Timer Counter Register Read:
(TCR)
See page 82. Write:
Reset:
3
2
0
0
TOFR
RTIFR
1
Bit 0
RT1
RT0
0
0
0
0
0
0
1
1
TMR7
TMR6
TMR5
TMR4
TMR3
TMR2
TMR1
TMR0
0
0
0
0
0
0
0
0
= Unimplemented
Figure 9-1. I/O Register Summary
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
79
Multifunction Timer Module
RESET
OVERFLOW
÷ 4
TIMER COUNTER REGISTER
INTERNAL CLOCK
(XTAL ÷ 2)
BITS [0:7] OF 15-STAGE
RIPPLE COUNTER
INTERNAL DATA BUS
RESET
RTIFR
TOFR
RTIE
TOIE
RTIF
TOF
INTERRUPT
REQUEST
RT0
RT1
TIMER STATUS/CONTROL REGISTER
CLEAR COP TIMER
RTI RATE SELECT
÷ 2
÷ 2
÷ 2
÷ 2
÷ 2
÷ 2
BITS [8:14] OF 15-STAGE RIPPLE COUNTER
÷ 8
RESET
÷ 2
RESET
S
Q
COP RESET
R
Figure 9-2. Multifunction Timer Block Diagram
9.4 Interrupts
The following timer sources can generate interrupts:
• Timer overflow flag (TOF) — The TOF bit is set when the first eight stages of the counter roll over
from $FF to $00. The timer overflow interrupt enable bit, TOIE, enables TOF interrupt requests.
• Real-time interrupt flag (RTIF) — The RTIF bit is set when the selected RTI output becomes active.
The real-time interrupt enable bit, RTIE, enables RTIF interrupt requests.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
80
Freescale Semiconductor
I/O Registers
9.5 I/O Registers
The following registers control and monitor the timer operation:
• Timer status and control register (TSCR)
• Timer counter register (TCR)
9.5.1 Timer Status and Control Register
The read/write timer status and control register performs the following functions:
• Flags timer interrupts
• Enables timer interrupts
• Resets timer interrupt flags
• Selects real-time interrupt rates
Address:
Read:
$0008
Bit 7
6
TOF
RTIF
Write:
Reset:
0
5
4
TOIE
RTIE
0
0
0
3
2
0
0
TOFR
RTIFR
0
0
1
Bit 0
RT1
RT0
1
1
= Unimplemented
Figure 9-3. Timer Status and Control Register (TSCR)
TOF — Timer Overflow Flag
This read-only flag becomes set when the first eight stages of the counter roll over from $FF to $00.
TOF generates a timer overflow interrupt request if TOIE is also set. Clear TOF by writing a logic 1 to
the TOFR bit. Writing to TOF has no effect. Reset clears TOF.
RTIF — Real-Time Interrupt Flag
This read-only flag becomes set when the selected RTI output becomes active. RTIF generates a
real-time interrupt request if RTIE is also set. Clear RTIF by writing a logic 1 to the RTIFR bit. Writing
to RTIF has no effect. Reset clears RTIF.
TOIE — Timer Overflow Interrupt Enable Bit
This read/write bit enables timer overflow interrupts. Reset clears TOIE.
1 = Timer overflow interrupts enabled
0 = Timer overflow interrupts disabled
RTIE — Real-Time Interrupt Enable Bit
This read/write bit enables real-time interrupts. Reset clears RTIE.
1 = Real-time interrupts enabled
0 = Real-time interrupts disabled
TOFR — Timer Overflow Flag Reset Bit
Writing a logic 1 to this write-only bit clears the TOF bit. TOFR always reads as logic 0. Reset clears
TOFR.
RTIFR — Real-Time Interrupt Flag Reset Bit
Writing a logic 1 to this write-only bit clears the RTIF bit. RTIFR always reads as logic 0. Reset clears
RTIFR.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
81
Multifunction Timer Module
RT1 and RT0 — Real-Time Interrupt Select Bits
These read/write bits select one of four real-time interrupt rates, as shown in Table 9-1. Because the
selected RTI output drives the COP watchdog, changing the real-time interrupt rate also changes the
counting rate of the COP watchdog. Reset sets RT1 and RT0.
NOTE
Changing RT1 and RT0 when a COP timeout is imminent can cause a
real-time interrupt request to be missed or an additional real-time interrupt
request to be generated. To prevent this occurrence, clear the COP timer
before changing RT1 and RT0.
Table 9-1. Real-Time Interrupt Rate Selection
RT1:RT0
RTI Rate
RTI Period
(fOP = 2 MHz)
COP Timeout Period
(–0/+1 RTI Period)
Minimum COP Timeout
Period
(fOP = 2 MHz)
0 0
fOP ÷ 214
8.2 ms
8 x RTI Period
65.5 ms
0 1
fOP ÷ 215
16.4 ms
8 x RTI Period
131.1 ms
1 0
fOP ÷ 216
32.8 ms
8 x RTI Period
262.1 ms
1 1
fOP ÷ 217
65.5 ms
8 x RTI Period
524.3 ms
9.5.2 Timer Counter Register
A 15-stage ripple counter is the core of the timer. The value of the first eight stages is readable at any
time from the read-only timer counter register shown in Figure 9-4.
Address:
Read:
$0009
Bit 7
6
5
4
3
2
1
Bit 0
TCR7
TCR6
TCR5
TCR4
TCR3
TCR2
TCR1
TCR0
0
0
0
0
0
0
0
0
Write:
Reset:
= Unimplemented
Figure 9-4. Timer Counter Register (TCR)
Power-on clears the entire counter chain and the internal clock begins clocking the counter. After 4064
cycles (or 16 cycles if the SOSCD bit in the mask option register is set), the power-on reset circuit is
released, clearing the counter again and allowing the MCU to come out of reset.
A timer overflow function at the eighth counter stage allows a timer interrupt every 1024 internal clock
cycles.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
82
Freescale Semiconductor
Low-Power Modes
9.6 Low-Power Modes
The STOP and WAIT instructions put the MCU in low power-consumption standby states.
9.6.1 Stop Mode
The STOP instruction has the following effects on the timer:
• Clears the timer counter
• Clears interrupt flags (TOF and RTIF) and interrupt enable bits (TOFE and RTIE) in TSCR,
removing any pending timer interrupt requests and disabling further timer interrupts
9.6.2 Wait Mode
The timer remains active after a WAIT instruction. Any enabled timer interrupt request can bring the MCU
out of wait mode.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
83
Multifunction Timer Module
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
84
Freescale Semiconductor
Chapter 10
Electrical Specifications
10.1 Maximum Ratings
Maximum ratings are the extreme limits to which the microcontroller unit (MCU) can be exposed without
permanently damaging it.
NOTE
This device is not guaranteed to operate properly at the maximum ratings.
For guaranteed operating conditions, refer to 10.5 5.0-V DC Electrical
Characteristics and 10.6 3.3-V DC Electrical Characteristics
Table 10-1. Maximum Ratings(1)
Rating
Symbol
Value
Unit
VDD
–0.3 to +7.0
V
I
25
mA
Input Voltage
VIn
VSS – 0.3 to VDD + 0.3
V
IRQ/VPP Pin
VPP
VSS – 0.3 to 2 x VDD + 0.3
V
Storage Temperature Range
TSTG
–65 to +150
°C
Symbol
Value (TL to TH)
Unit
TA
–40 to +85
°C
Symbol
Value
Unit
θJA
60
°C/W
Supply Voltage
Current Drain per Pin (Excluding VDD, VSS)
1. Voltages are referenced to VSS.
10.2 Operating Temperature Range
Package Type
MC68HC705KJ1C(1)P(2), CDW(3), CS(4)
1. C = extended temperature range
2. P = plastic dual in-line package (PDIP)
3. DW = small outline integrated circuit (SOIC)
4. S = ceramic DIP (Cerdip)
10.3 Thermal Characteristics
Characteristic
Thermal Resistance
MC68HC705KJ1P(1)
MC68HC705KJ1DW(2)
MC68HC705KJ1S(3)
1. P = plastic dual in-line package (PDIP)
2. DW = small outline integrated circuit (SOIC)
3. S = ceramic DIP (Cerdip)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
85
Electrical Specifications
10.4 Power Considerations
The average chip junction temperature, TJ, in °C can be obtained from:
TJ = TA + (PD × θ JA )
(1)
where:
TA = ambient temperature in °C
θJA = package thermal resistance, junction to ambient in °C/W
PD = PINT + PI/O
PINT = ICC × VCC = chip internal power dissipation
PI/O = power dissipation on input and output pins (user-determined)
For most applications, PI/O
PINT and can be neglected.
Ignoring PI/O, the relationship between PD and TJ is approximately:
K
PD = ----------------------------------TJ + 273 °C
(2)
Solving equations (1) and (2) for K gives:
= PD x (TA + 273°C) + ΘJA x (PD)
(3)
where K is a constant pertaining to the particular part. K can be determined from equation (3) by
measuring PD (at equilibrium) for a known TA. Using this value of K, the values of PD and TJ can be
obtained by solving equations (1) and (2) iteratively for any value of TA.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
86
Freescale Semiconductor
5.0-V DC Electrical Characteristics
10.5 5.0-V DC Electrical Characteristics
Characteristic(1)
Symbol
Min
Typ(2)
Max
Unit
Output high voltage
(ILoad = –2.5 mA) PA4–PA7
(ILoad = –5.5 mA) PB2–PB3, PA0–PA3
VOH
VDD –0.8
VDD –0.8
—
—
—
—
V
Output low voltage(8)
(ILoad = 10.0 mA) PA0–PA7, PB2–PB3
VOL
—
—
0.8
V
Input high voltage
PA0–PA7, PB2–PB3, IRQ/VPP, RESET, OSC1
VIH
0.7 × VDD
—
VDD
V
Input low voltage
PA0–PA7, PB2–PB3, IRQ/VPP, RESET, OSC1
VIL
VSS
—
0.2 × VDD
V
—
—
—
4.0
1.0
0.1
6.0
2.8
5.0
mA
mA
µA
—
—
—
5.2
1.1
0.1
7.0
3.3
5.0
mA
mA
µA
Supply current (fOP = 2.1 MHz; fOSC = 4.2 MHz)
Run mode(3)
Wait mode(4)
Stop mode(5)
IDD
Supply current (fOP = 4.0 MHz; fOSC = 8.0 MHz)
Run mode(3)
Wait mode(4)
Stop mode(5)
IDD
I/O Ports Hi-Z leakage current
PA0–PA7, PB2–PB3 (without individual pulldown activated)
IIL
—
0.2
±1
µA
Input pulldown current
PA0–PA7, PB2–PB3 (with individual pulldown activated)
IIL
35
80
200
µA
Input pullup current
RESET
IIL
–15
–35
–85
µA
Input current(6)
RESET, IRQ/VPP , OSC1
IIn
—
0.2
±1
µA
COut
CIn
—
—
—
—
12
8
pF
ROSC
1.0
2.0
3.0
MΩ
Capacitance
Ports (As Inputs or Outputs)
RESET, IRQ, OSC1, OSC2
Crystal/ceramic resonator oscillator mode internal resistor
OSC1 to OSC2(7)
1. VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. Typical values at midpoint of voltage range, 25°C only
3. Run mode IDD is measured using external square wave clock source; all inputs 0.2 V from rail; no dc loads; less than 50 pF
on all outputs; CL = 20 pF on OSC2.
4. Wait mode IDD: only timer system active. Wait mode is affected linearly by OSC2 capacitance. Wait mode is measured
with all ports configured as inputs; VIL = 0.2 V; VIH = VDD – 0.2 V. Wait mode IDD is measured using external square wave
clock source; all inputs 0.2 V from rail; no dc loads; less than 50 pF on all outputs; CL = 20 pF on OSC2.
5. Stop mode IDD is measured with OSC1 = VSS. Stop mode IDD is measured with all ports configured as inputs; VIL = 0.2 V;
VIH = VDD – 0.2 V.
6. Only input high current rated to +1 µA on RESET.
7. The ROSC value selected for RC oscillator versions of this device is unspecified.
8. Maximum current drain for all I/O pins combined should not exceed 100 mA.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
87
Electrical Specifications
10.6 3.3-V DC Electrical Characteristics
Characteristic(1)
Symbol
Min
Typ(2)
Max
Unit
Output high voltage
(ILoad = –0.8 mA) PA4–PA7
(ILoad = –1.5 mA) PA0–PA3, PB2–PB3
VOH
VDD –0.3
VDD –0.3
—
—
—
—
V
Output low voltage
(ILoad = 5.0 mA) PA4–PA7
(ILoad = 3.5 mA) PA0–PA3, PB2–PB3
VOL
—
—
—
—
0.5
0.5
V
Input high voltage
PA0–PA7, PB2–PB3, IRQ/VPP, RESET, OSC1
VIH
0.7 × VDD
—
VDD
V
Input low voltage
PA0–PA7, PB2–PB3, IRQ/VPP, RESET, OSC1
VIL
VSS
—
0.2 × VDD
V
—
—
—
1.2
0.3
0.1
2.5
0.8
5.0
mA
mA
µA
—
—
—
1.4
0.3
0.1
3.0
1.0
5.0
mA
mA
µA
Supply current (fOP = 1.0 MHz; fOSC = 2.0 MHz)
Run mode(3)
Wait mode(4)
Stop mode(5)
IDD
Supply current (fOP = 2.1 MHz; fOSC = 4.2 MHz)
Run mode(3)
Wait mode(4)
Stop mode(5)
IDD
I/O ports hi-z leakage current
PA0–PA7, PB2–PB3 (without individual pulldown activated)
IIL
—
0.1
±1
µA
Input pulldown current
PA0–PA7, PB2–PB3 (with individual pulldown activated)
IIL
12
30
100
µA
Input pullup current
RESET
IIL
–10
–25
–45
µA
Input current(6)
RESET, IRQ/VPP, OSC1
IIn
—
0.1
±1
µA
COut
CIn
—
—
—
—
12
8
pF
ROSC
1.0
2.0
3.0
MΩ
Capacitance
Ports (as inputs or outputs)
RESET, IRQ/VPP, OSC1, OSC2
Crystal/ceramic resonator oscillator mode internal resistor
OSC1 to OSC2(7)
1. VDD = 3.3 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. Typical values at midpoint of voltage range, 25°C only
3. Run mode IDD is measured using external square wave clock source; all inputs 0.2 V from rail; no dc loads; less than 50 pF
on all outputs; CL = 20 pF on OSC2.
4. Wait mode IDD: only timer system active. Wait mode is affected linearly by OSC2 capacitance. Wait mode is measured
with all ports configured as inputs; VIL = 0.2 V; VIH = VDD – 0.2 V. Wait mode IDD is measured using external square wave
clock source; all inputs 0.2 V from rail; no dc loads; less than 50 pF on all outputs; CL = 20 pF on OSC2.
5. Stop mode IDD is measured with OSC1 = VSS. Stop mode IDD is measured with all ports configured as inputs; VIL = 0.2 V;
VIH = VDD – 0.2 V.
6. Only input high current rated to +1 µA on RESET.
7. The ROSC value selected for RC oscillator versions of this device is unspecified.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
88
Freescale Semiconductor
Driver Characteristics
10.7 Driver Characteristics
85°C
VDD – VOH (mV)
700
800
25°C
600
–40°C
500
400
300
200
25°C
600
500
–40°C
400
300
200
VDD = 5.0 V
100
85°C
700
VDD – VOH (mV)
800
VDD = 3.3 V
100
0
0
0
–2
–4
–6
–8
–10
0
–2
–4
IOH (mA)
–6
–8
–10
IOH (mA)
Notes:
1. At VDD = 5.0 V, devices are specified and tested for (VDD – VOH) ≤ 800 mV @ IOH = –2.5 mA.
2. At VDD = 3.3 V, devices are specified and tested for (VDD – VOH) ≤ 300 mV @ IOH = –0.8 mA.
Figure 10-1. PA4–PA7 Typical High-Side Driver Characteristics
800
800
25°C
600
–40°C
500
400
300
200
25°C
600
500
–40°C
400
300
200
VDD = 5.0 V
100
85°C
700
85°C
VDD – VOH (mV)
VDD – VOH (mV)
700
VDD = 3.3 V
100
0
0
0
–2
–4
–6
IOH (mA)
–8
–10
0
–2
–4
–6
–8
–10
IOH (mA)
Notes:
1. At VDD = 5.0 V, devices are specified and tested for (VDD – VOH) ≤ 800 mV @ IOH = –5.5 mA.
2. At VDD = 3.3 V, devices are specified and tested for (VDD – VOH) ≤ 300 mV @ IOH = –1.5 mA.
Figure 10-2. PA0–PA3 and PB2–PB3 Typical High-Side Driver Characteristics
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
89
Electrical Specifications
800
800
700
700
85°C
25°C
500
–40°C
400
25°C
600
VOL (mV)
VOL (mV)
600
85°C
300
500
–40°C
400
300
200
200
VDD = 5.0 V
100
VDD = 3.3 V
100
0
0
0
10
20
30
IOL (mA)
40
50
0
10
20
30
IOL (mA)
40
50
Notes:
1. At VDD = 5.0 V, devices are specified and tested for VOL ≤ 800 mV @ IOL = 10.0 mA.
2. At VDD = 3.3 V, devices are specified and tested for VOL ≤ 500 mV @ IOL = 5.0 mA.
Figure 10-3. PA4–PA7 Typical Low-Side Driver Characteristics
800
800
85°C
700
25°C
600
–40°C
500
25°C
600
VOL (mV)
VOL (mV)
85°C
700
400
300
500
–40°C
400
300
200
200
VDD = 5.0 V
100
VDD = 3.3 V
100
0
0
0
10
IOL (mA)
20
30
0
10
20
30
IOL (mA)
Notes:
1. At VDD = 5.0 V, devices are specified and tested for VOL ≤ 800 mV @ IOL = 10.0 mA.
2. At VDD = 3.3 V, devices are specified and tested for VOL ≤ 500 mV @ IOL = 3.5 mA.
Figure 10-4. PA0–PA3 and PB2–PB3 Typical Low-Side Driver Characteristics
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
90
Freescale Semiconductor
Typical Supply Currents
10.8 Typical Supply Currents
7.0 mA
SEE NOTE 1
6.0 mA
5.5 V
SUPPLY CURRENT (IDD)
5.0 mA
SEE NOTE 2
4.0 mA
4.5 V
3.0 mA
2.0 mA
3.6 V
3.0 V
1.0 mA
0
0
1.0 MHz
2.0 MHz
3.0 MHz
Notes:
1. At VDD = 5.0 V, devices are specified and
tested for IDD ≤ 7.0 mA @ fOP = 4.0 MHz.
2. At VDD = 3.3 V, devices are specified and
4.0 MHz
tested for IDD ≤ 4.25 mA @ fOP = 2.1 MHz.
INTERNAL OPERATING FREQUENCY (fOP)
Figure 10-5. Typical Operating IDD (25°C)
SEE NOTE 1
SEE NOTE 2
700 µA
5.5 V
SUPPLY CURRENT (IDD)
600 µA
4.5 V
500 µA
400 µA
3.6 V
300 µA
3.0 V
200 µA
100 µA
0
0
1.0 MHz
2.0 MHz
3.0 MHz
Notes:
1. At VDD = 5.0 V, devices are specified and
tested for IDD ≤ 3.25 mA @ fOP = 4.0 MHz.
2. At VDD = 3.3 V, devices are specified and
4.0 MHz
tested for IDD ≤ 1.75 mA @ fOP = 2.1 MHz.
INTERNAL OPERATING FREQUENCY (fOP)
Figure 10-6. Typical Wait Mode IDD (25°C)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
91
Electrical Specifications
10.9 EPROM Programming Characteristics
Characteristic(1)
Symbol
Min
Typ
Max
Unit
Programming voltage
IRQ/VPP
VPP
16.0
16.5
17.0
V
Programming current
IRQ/VPP
IPP
—¦
3.0
10.0
mA
tEPGM
tMPGM
4
4
—
—
—
—
ms
Programming time
Per array byte
MOR
1. VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
10.10 Control Timing
Table 10-2. Control Timing (VDD = 5.0 Vdc)(1)
Characteristic
Symbol
Min
Max
Unit
Oscillator frequency
Crystal oscillator option
External clock source
fOSC
—
dc
8.0
8.0
MHz
Internal operating frequency (fOSC ÷ 2)
Crystal oscillator
External clock
fOP
—
dc
4.0
4.0
MHz
Cycle time (1 ÷ fOP)
tcyc
250
—
ns
RESET pulse width low
tRL
1.5
—
tcyc
IRQ interrupt pulse width low
(edge-triggered)
tILIH
1.5
—
tcyc
IRQ interrupt pulse width low
(edge- and level-triggered)
tILIL
1.5
Note(2)
tcyc
PA0–PA3 Interrupt pulse width high
(edge-triggered)
tIHIL
1.5
—
tcyc
PA0–PA3 interrupt pulse width
(edge- and level-triggered)
tIHIH
1.5
Note(2)
tcyc
tOH, tOL
100
—
ns
OSC1 pulse width
1. VDD = 5.0 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. The maximum width tILIL or tILIH should not be more than the number of cycles it takes to execute the interrupt service
routine plus 19 tcyc or the interrupt service routine will be re-entered.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
92
Freescale Semiconductor
Control Timing
Table 10-3. Control Timing (VDD = 3.3 Vdc)(1)
Characteristic
Symbol
Min
Max
Unit
Oscillator frequency
Crystal oscillator option
External clock source
fOSC
—
dc
4.2
4.2
MHz
Internal operating frequency (fOSC ÷ 2)
Crystal oscillator
External clock
fOP
—
dc
2.1
2.1
MHz
Cycle time (1 ÷ fOP)
tcyc
476
—
ns
RESET pulse width low
tRL
1.5
—
tcyc
IRQ interrupt pulse width low
(edge-triggered)
tILIH
1.5
—
tcyc
IRQ interrupt pulse width low
(edge- and level-triggered)
tILIL
1.5
Note(2)
tcyc
PA0–PA3 interrupt pulse width high
(edge-triggered)
tIHIL
1.5
—
tcyc
PA0–PA3 interrupt pulse width
(edge- and level-triggered)
tIHIH
1.5
Note(2)
tcyc
tOH, tOL
200
—
ns
OSC1 pulse width
1. VDD = 3.3 Vdc ± 10%, VSS = 0 Vdc, TA = –40°C to +85°C, unless otherwise noted.
2. The maximum width tILIL or tILIH should not be more than the number of cycles it takes to execute the interrupt service
routine plus 19 tcyc or the interrupt service routine will be re-entered.
tILIL
tILIH
IRQ PIN
tILIH
IRQ1
.
.
.
IRQn
IRQ
(INTERNAL)
Figure 10-7. External Interrupt Timing
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
93
Electrical Specifications
OSC (NOTE 1)
tRL
RESET
tILIH
IRQ (NOTE 2)
OSCILLATOR STABILIZATION DELAY(5)
IRQ (NOTE 3)
INTERNAL
CLOCK
INTERNAL
ADDRESS BUS
07FE
(NOTE 4)
07FE
07FE
07FE
07FE
07FF
RESET OR INTERRUPT
VECTOR FETCH
Notes:
1. Internal clocking from OSC1 pin
2. Edge-triggered external interrupt mask option
3. Edge- and level-triggered external interrupt mask option
4. Reset vector shown as example
5. 4064 tcyc or 128 tcyc, depending on the state of SOSCD bit in MOR
Figure 10-8. Stop Mode Recovery Timing
VDD
(NOTE 1)
OSCILLATOR STABILIZATION DELAY(3)
OSC1 PIN
INTERNAL
CLOCK
INTERNAL
ADDRESS BUS
07FE
07FE
07FE
07FE
INTERNAL
DATA BUS
07FE
07FE
NEW
PCH
07FF
NEW
PCL
NOTES:
1. Power-on reset threshold is typically between 1 V and 2 V.
2. Internal clock, internal address bus, and internal data bus are not available externally.
3. 4064 tcyc or 128 tcyc depending on the state of SOSCD bit in MOR
Figure 10-9. Power-On Reset Timing
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
94
Freescale Semiconductor
Control Timing
INTERNAL
CLOCK
INTERNAL
ADDRESS BUS
07FE
INTERNAL
DATA BUS
07FE
07FE
07FE
NEW
PCH
07FF
NEW
PCL
NEW PC
DUMMY
NEW PC
OP
CODE
tRL
NOTES:
1. Internal clock, internal address bus, and internal data bus are not available externally.
2. The next rising edge of the internal clock after the rising edge of RESET initiates the reset sequence.
Figure 10-10. External Reset Timing
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
95
Electrical Specifications
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
96
Freescale Semiconductor
Chapter 11
Ordering Information and Mechanical Specifications
11.1 Introduction
The MC68HC705J1A, the RC oscillator, and low-speed option devices described in Appendix A
MC68HRC705KJ1 and Appendix B MC68HLC705KJ1 are available in these packages:
• 648 — Plastic dual in-line package (PDIP)
• 751G — Small outline integrated circuit (SOIC)
• 620A — Ceramic DIP (Cerdip) (windowed)
This section contains ordering information and mechanical specifications for the available package types.
11.2 MCU Order Numbers
Table 11-1 lists the MC order numbers.
Table 11-1. Order Numbers(1)
Package
Type
Case
Outline
Pin
Count
Operating
Temperature
Order Number
PDIP
648
16
–40 to +85°C
MC68HC705KJ1C(2)
SOIC
751G
16
–40 to +85°C
MC68HC705KJ1CDW(3)
Cerdip
620A
16
–40 to +85°C
MC68HC705KJ1CS(4)
1. Refer to Appendix A MC68HRC705KJ1 and Appendix B MC68HLC705KJ1 for ordering
information on optional low-speed and resistor-capacitor oscillator devices.
2. C = extended temperature range
3. DW = small outline integrated circuit (SOIC)
4. S = ceramic dual in-line package (Cerdip)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
97
Ordering Information and Mechanical Specifications
11.3 16-Pin PDIP — Case #648
NOTES:
1. DIMENSIONING AND TOLERANCING PER ANSI
Y14.5M, 1982.
2. CONTROLLING DIMENSION: INCH.
3. DIMENSION L TO CENTER OF LEADS WHEN
FORMED PARALLEL.
4. DIMENSION B DOES NOT INCLUDE MOLD FLASH.
5. ROUNDED CORNERS OPTIONAL.
–A–
16
9
1
8
B
F
C
DIM
A
B
C
D
F
G
H
J
K
L
M
S
L
S
SEATING
PLANE
–T–
K
H
G
D
M
J
16 PL
0.25 (0.010)
T A
M
M
STYLE 1:
PIN 1. CATHODE
INCHES
MIN
MAX
0.740
0.770
0.250
0.270
0.145
0.175
0.015
0.021
0.040
0.70
0.100 BSC
0.050 BSC
0.008
0.015
0.110
0.130
0.295
0.305
0_
10 _
0.020
0.040
MILLIMETERS
MIN
MAX
18.80
19.55
6.35
6.85
3.69
4.44
0.39
0.53
1.02
1.77
2.54 BSC
1.27 BSC
0.21
0.38
2.80
3.30
7.50
7.74
0_
10 _
0.51
1.01
STYLE 2:
PIN 1. COMMON DRAIN
11.4 16-Pin SOIC — Case #751G
-A16
9
-B-
8X
P
0.010 (0.25) M
1
DIM
A
B
C
D
F
G
J
K
M
P
R
B
M
8
J
D 16X
0.010 (0.25) M T A
S
B S
MILLIMETERS
INCHES
MIN
MAX
10.15
10.45
7.40
7.60
2.35
2.65
0.35
0.49
0.50
0.90
1.27 BSC
0.25
0.32
0.10
0.25
0°
7°
10.05
10.55
0.25
0.75
MIN
MAX
0.400
0.411
0.292
0.299
0.093
0.104
0.014
0.019
0.020
0.035
0.050 BSC
0.010
0.012
0.004
0.009
0°
7°
0.395
0.415
0.010
0.029
F
R
X 45
C
-TG 14X
K
SEATING
PLANE
M
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
98
Freescale Semiconductor
16-Pin Cerdip — Case #620A
11.5 16-Pin Cerdip — Case #620A
B
A
A
M
16
9
B
L
1
NOTES:
1. DIMENSIONING AND TOLERANCING PER
ASME Y14.5M, 1994.
2. CONTROLLING DIMENSION: INCH.
3. DIMENSION L TO CENTER OF LEAD WHEN
FORMED PARALLEL.
4. DIMENSION F MAY NARROW TO 0.76 (0.030)
WHERE THE LEAD ENTERS THE CERAMIC
BODY.
8
16X
0.25 (0.010)
E
F
C
K
T
N
G
16X
0.25 (0.010)
M
D
T A
SEATING
PLANE
M
J
T B
DIM
A
B
C
D
E
F
G
H
K
L
M
N
INCHES
MIN
MAX
0.750
0.785
0.240
0.295
–––
0.200
0.015
0.020
0.050 BSC
0.055
0.065
0.100 BSC
0.008
0.015
0.125
0.170
0.300 BSC
0_
15 _
0.020
0.040
STYLE 1:
PIN 1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11
MILLIMETERS
MIN
MAX
19.05
19.93
6.10
7.49
–––
5.08
0.39
0.50
1.27 BSC
1.40
1.65
2.54 BSC
0.21
0.38
3.18
4.31
7.62 BSC
0_
15 _
0.51
1.01
CATHODE
CATHODE
CATHODE
CATHODE
CATHODE
CATHODE
CATHODE
CATHODE
ANODE
ANODE
ANODE
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
99
Ordering Information and Mechanical Specifications
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
100
Freescale Semiconductor
Appendix A
MC68HRC705KJ1
A.1 Introduction
This appendix introduces the MC68HRC705KJ1, a resistor-capacitor (RC) oscillator mask option version
of the MC68HC705KJ1. All of the information in MC68HC705KJ1 Technical Data applies to the
MC68HRC705KJ1 with the exceptions given in this appendix.
A.2 RC Oscillator Connections
For greater cost reduction, the RC oscillator mask option allows the configuration shown in Figure A-1 to
drive the on-chip oscillator. Mount the RC components as close as possible to the pins for startup
stabilization and to minimize output distortion.
OSC1
R
OSC2
R
OSC2
OSC1
MCU
VDD
C2
C1
VSS
Figure A-1. RC Oscillator Connections
NOTE
The optional internal resistor is not recommended for configurations that
use the RC oscillator connections as shown in Figure A-1. For such
configurations, the oscillator internal resistor (OSCRES) bit of the mask
option register should be programmed to a logic 0.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
101
MC68HRC705KJ1
A.3 Typical Internal Operating Frequency for RC Oscillator Option
Figure A-2 shows typical internal operating frequencies at 25°C for the RC oscillator option.
NOTE
Tolerance for resistance is ± 50%. When selecting resistor size, consider
the tolerance to ensure that the resulting oscillator frequency does not
exceed the maximum operating frequency.
BUS FREQUENCY (MHz)
10
5.5 V
5.0 V
4.5 V
3.6 V
3.0 V
1
0.1
1
10
100
1000
RESISTANCE (k Ω)
Figure A-2. Typical Internal Operating Frequency
for Various VDD at 25°C — RC Oscillator Option Only
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
102
Freescale Semiconductor
RC Oscillator Connections (No External Resistor)
A.4 RC Oscillator Connections (No External Resistor)
For maximum cost reduction, the RC oscillator mask connections shown in Figure A-3 allow the on-chip
oscillator to be driven with no external components. This can be accomplished by programming the
oscillator internal resistor (OSCRES) bit in the mask option register to a logic 1. When programming the
OSCRES bit for the MC68HRC705KJ1, an internal resistor is selected which yields typical internal
oscillator frequencies as shown in Figure A-4. The internal resistance for this device is different than the
resistance of the selectable internal resistor on the MC68HC705KJ1 and the MC68HRC705KJ1 devices.
OSC1
R
OSC2
OSC2
OSC1
MCU
VDD
(EXTERNAL CONNECTIONS LEFT OPEN)
C2
C1
VSS
Figure A-3. RC Oscillator Connections (No External Resistor)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
103
MC68HRC705KJ1
A.5 Typical Internal Operating Frequency Versus Temperature
(No External Resistor)
3.00
2.50
3.0 V
Frequency (MHz)
2.00
3.6 V
4.5 V
1.50
5.0 V
5.5 V
1.00
0.50
0.00
–50
0
50
100
150
Temperature (°C)
Figure A-4. Typical Internal Operating Frequency
versus Temperature (OSCRES Bit = 1)
NOTE
Due to process variations, operating voltages, and temperature
requirements, the internal resistance and tolerance are unspecified.
Typically for a given voltage and temperature, the frequency should not
vary more than ± 500 kHz. However, this data is not guaranteed. It is the
user’s responsibility to ensure that the resulting internal operating
frequency meets user’s requirements.
A.6 Package Types and Order Numbers
Table A-1. MC68HRC705KJ1 (RC Oscillator Option)
Order Numbers(1)
Package
Type
Case
Outline
Pin
Count
Operating
Temperature
PDIP
648
16
–40 to +85°C
MC68HRC705KJ1C(2)P(3)
SOIC
751G
16
–40 to +85°C
MC68HRC705KJ1CDW(4)
Cerdip
620A
16
–40 to +85°C
MC68HRC705KJ1CS(5)
Order Number
1. Refer to Chapter 11 Ordering Information and Mechanical Specifications for standard part
ordering information.
2. C = extended temperature range
3. P = plastic dual in-line package (PDIP)
4. DW = small outline integrated circuit (SOIC)
5. S = ceramic dual in-line package (Cerdip)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
104
Freescale Semiconductor
Appendix B
MC68HLC705KJ1
B.1 Introduction
This appendix introduces the MC68HLC705KJ1, a low-frequency version of the MC68HC705KJ1
optimized for 32-kHz oscillators. All of the information in MC68HC705KJ1 Technical Data applies to the
MC68HLC705KJ1 with the exceptions given in this appendix.
B.2 DC Electrical Characteristics
Table B-1. DC Electrical Characteristics (VDD = 5 V)
Characteristic
Supply Current (fOP = 16.0 kHz, fOSC = 32.0 kHz)
Run
Wait
Symbol
Min
Typ
Max
Unit
IDD
—
—
45
20
60
30
µA
Table B-2. DC Electrical Characteristics (VDD = 3.3 V)
Characteristic
Supply Current (fOP = 16.0 kHz, fOSC = 32.0 kHz)
Run
Wait
Symbol
Min
Typ
Max
Unit
IDD
—
—
25
10
35
15
µA
OSC2
OSC1
MCU
RS
RP
CL 32 kHz
CL
Figure B-1. Crystal Connections
NOTE
Supply current is impacted by crystal type and external components.Since
each crystal has its own characteristics, the user should consult the crystal
manufacturer for appropriate values for external components.
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
Freescale Semiconductor
105
MC68HLC705KJ1
B.3 Package Types and Order Numbers
Table B-3. MC68HLC705KJ1 (Low Frequency) Order Numbers(1)
Package
Type
Case
Outline
Pin
Count
Operating
Temperature
PDIP
648
16
–40 to +85°C
MC68HLC705KJ1C(2)P
SOIC
751G
16
–40 to +85°C
MC68HLC705KJ1CDW(3)
Cerdip
620A
16
–40 to +85°C
MC68HLC705KJ1CS(4)
Order Number
1. Refer to Chapter 11 Ordering Information and Mechanical Specifications for standard part
ordering information.
2. C = extended temperature range
3. DW = small outline integrated circuit (SOIC)
4. S = ceramic dual in-line package (Cerdip)
MC68HC705KJ1 • MC68HRC705KJ1 • MC68HLC705KJ1 Data Sheet, Rev. 4.1
106
Freescale Semiconductor
How to Reach Us:
Home Page:
www.freescale.com
E-mail:
[email protected]
USA/Europe or Locations Not Listed:
Freescale Semiconductor
Technical Information Center, CH370
1300 N. Alma School Road
Chandler, Arizona 85224
+1-800-521-6274 or +1-480-768-2130
[email protected]
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GmbH
Technical Information Center
Schatzbogen 7
81829 Muenchen, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
[email protected]
Japan:
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
[email protected]
Asia/Pacific:
Freescale Semiconductor Hong Kong Ltd.
Technical Information Center
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T., Hong Kong
+800 2666 8080
[email protected]
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
1-800-441-2447 or 303-675-2140
Fax: 303-675-2150
[email protected]
MC68HC705KJ1
Rev. 4.1, 07/2005
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.