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.