To our customers,
Old Company Name in Catalogs and Other Documents
On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology
Corporation, and Renesas Electronics Corporation took over all the business of both
companies. Therefore, although the old company name remains in this document, it is a valid
Renesas Electronics document. We appreciate your understanding.
Renesas Electronics website: http://www.renesas.com
April 1st, 2010
Renesas Electronics Corporation
Issued by: Renesas Electronics Corporation (http://www.renesas.com)
Send any inquiries to http://www.renesas.com/inquiry.
Notice
1. All information included in this document is current as of the date this document is issued. Such information, however, is
subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please
confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to
additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website.
2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights
of third parties by or arising from the use of Renesas Electronics products or technical information described in this document.
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights
of Renesas Electronics or others.
3. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part.
4. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of
semiconductor products and application examples. You are fully responsible for the incorporation of these circuits, software,
and information in the design of your equipment. Renesas Electronics assumes no responsibility for any losses incurred by
you or third parties arising from the use of these circuits, software, or information.
5. When exporting the products or technology described in this document, you should comply with the applicable export control
laws and regulations and follow the procedures required by such laws and regulations. You should not use Renesas
Electronics products or the technology described in this document for any purpose relating to military applications or use by
the military, including but not limited to the development of weapons of mass destruction. Renesas Electronics products and
technology may not be used for or incorporated into any products or systems whose manufacture, use, or sale is prohibited
under any applicable domestic or foreign laws or regulations.
6. Renesas Electronics has used reasonable care in preparing the information included in this document, but Renesas Electronics
does not warrant that such information is error free. Renesas Electronics assumes no liability whatsoever for any damages
incurred by you resulting from errors in or omissions from the information included herein.
7. Renesas Electronics products are classified according to the following three quality grades: “Standard”, “High Quality”, and
“Specific”. The recommended applications for each Renesas Electronics product depends on the product’s quality grade, as
indicated below. You must check the quality grade of each Renesas Electronics product before using it in a particular
application. You may not use any Renesas Electronics product for any application categorized as “Specific” without the prior
written consent of Renesas Electronics. Further, you may not use any Renesas Electronics product for any application for
which it is not intended without the prior written consent of Renesas Electronics. Renesas Electronics shall not be in any way
liable for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for an
application categorized as “Specific” or for which the product is not intended where you have failed to obtain the prior written
consent of Renesas Electronics. The quality grade of each Renesas Electronics product is “Standard” unless otherwise
expressly specified in a Renesas Electronics data sheets or data books, etc.
“Standard”: Computers; office equipment; communications equipment; test and measurement equipment; audio and visual
equipment; home electronic appliances; machine tools; personal electronic equipment; and industrial robots.
“High Quality”: Transportation equipment (automobiles, trains, ships, etc.); traffic control systems; anti-disaster systems; anti-
crime systems; safety equipment; and medical equipment not specifically designed for life support.
“Specific”: Aircraft; aerospace equipment; submersible repeaters; nuclear reactor control systems; medical equipment or
systems for life support (e.g. artificial life support devices or systems), surgical implantations, or healthcare
intervention (e.g. excision, etc.), and any other applications or purposes that pose a direct threat to human life.
8. You should use the Renesas Electronics products described in this document within the range specified by Renesas Electronics,
especially with respect to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation
characteristics, installation and other product characteristics. Renesas Electronics shall have no liability for malfunctions or
damages arising out of the use of Renesas Electronics products beyond such specified ranges.
9. Although Renesas Electronics endeavors to improve the quality and reliability of its products, semiconductor products have
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further,
Renesas Electronics products are not subject to radiation resistance design. Please be sure to implement safety measures to
guard them against the possibility of physical injury, and injury or damage caused by fire in the event of the failure of a
Renesas Electronics product, such as safety design for hardware and software including but not limited to redundancy, fire
control and malfunction prevention, appropriate treatment for aging degradation or any other appropriate measures. Because
the evaluation of microcomputer software alone is very difficult, please evaluate the safety of the final products or system
manufactured by you.
10. Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental
compatibility of each Renesas Electronics product. Please use Renesas Electronics products in compliance with all applicable
laws and regulations that regulate the inclusion or use of controlled substances, including without limitation, the EU RoHS
Directive. Renesas Electronics assumes no liability for damages or losses occurring as a result of your noncompliance with
applicable laws and regulations.
11. This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written consent of Renesas
Electronics.
12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this
document or Renesas Electronics products, or if you have any other inquiries.
(Note 1) “Renesas Electronics” as used in this document means Renesas Electronics Corporation and also includes its majority-
owned subsidiaries.
(Note 2) “Renesas Electronics product(s)” means any product developed or manufactured by or for Renesas Electronics.
User’s Manual
μ
PD78F9200
μ
PD78F9201
μ
PD78F9202
μ
PD78F9500
μ
PD78F9501
μ
PD78F9502
78K0S/KU1+
8-Bit Single-Chip Microcontrollers
©
Printed in Japan
Document No. U18172EJ3V0UD00 (3rd edition)
Date Published November 2009 NS
2006
User’s Manual U18172EJ3V0UD
2
[MEMO]
User’s Manual U18172EJ3V0UD 3
NOTES FOR CMOS DEVICES
(1) VOLTAGE APPLICATION WAVEFORM AT INPUT PIN: Waveform distortion due to input noise or a reflected
wave may cause malfunction. If the input of the CMOS device stays in the area between VIL (MAX) and VIH
(MIN) due to noise, etc., the device may malfunction. Take care to prevent chattering noise from entering the
device when the input level is fixed, and also in the transition period when the input level passes through the
area between VIL (MAX) and VIH (MIN).
(2) HANDLING OF UNUSED INPUT PINS: Unconnected CMOS device inputs can be cause of malfunction. If
an input pin is unconnected, it is possible that an internal input level may be generated due to noise, etc.,
causing malfunction. CMOS devices behave differently than Bipolar or NMOS devices. Input levels of CMOS
devices must be fixed high or low by using pull-up or pull-down circuitry. Each unused pin should be
connected to VDD or GND via a resistor if there is a possibility that it will be an output pin. All handling related
to unused pins must be judged separately for each device and according to related specifications governing
the device.
(3) PRECAUTION AGAINST ESD: A strong electric field, when exposed to a MOS device, can cause destruction
of the gate oxide and ultimately degrade the device operation. Steps must be taken to stop generation of
static electricity as much as possible, and quickly dissipate it when it has occurred. Environmental control
must be adequate. When it is dry, a humidifier should be used. It is recommended to avoid using insulators
that easily build up static electricity. Semiconductor devices must be stored and transported in an anti-static
container, static shielding bag or conductive material. All test and measurement tools including work benches
and floors should be grounded. The operator should be grounded using a wrist strap. Semiconductor devices
must not be touched with bare hands. Similar precautions need to be taken for PW boards with mounted
semiconductor devices.
(4) STATUS BEFORE INITIALIZATION: Power-on does not necessarily define the initial status of a MOS device.
Immediately after the power source is turned ON, devices with reset functions have not yet been initialized.
Hence, power-on does not guarantee output pin levels, I/O settings or contents of registers. A device is not
initialized until the reset signal is received. A reset operation must be executed immediately after power-on
for devices with reset functions.
(5) POWER ON/OFF SEQUENCE: In the case of a device that uses different power supplies for the internal
operation and external interface, as a rule, switch on the external power supply after switching on the internal
power supply. When switching the power supply off, as a rule, switch off the external power supply and then
the internal power supply. Use of the reverse power on/off sequences may result in the application of an
overvoltage to the internal elements of the device, causing malfunction and degradation of internal elements
due to the passage of an abnormal current. The correct power on/off sequence must be judged separately for
each device and according to related specifications governing the device.
(6) INPUT OF SIGNAL DURING POWER OFF STATE : Do not input signals or an I/O pull-up power supply while
the device is not powered. The current injection that results from input of such a signal or I/O pull-up power
supply may cause malfunction and the abnormal current that passes in the device at this time may cause
degradation of internal elements. Input of signals during the power off state must be judged separately for
each device and according to related specifications governing the device.
User’s Manual U18172EJ3V0UD
4
Windows is a registered trademark or a trademark of Microsoft Corporation in the United States and/or other
countries.
PC/AT is a trademark of International Business Machines Corporation.
HP9000 series 700 and HP-UX are trademarks of Hewlett-Packard Company.
SPARCstation is a trademark of SPARC International, Inc.
Solaris and SunOS are trademarks of Sun Microsystems, Inc.
SuperFlash is a registered trademark of Silicon Storage Technology, Inc. in several countries including the
United States and Japan.
Caution: This product uses SuperFlash® technology licensed from Silicon Storage Technology, inc.
• The information in this document is current as of November, 2009. The information is subject to change without notice. For
actual design-in, refer to the latest publications of NEC Electronics data sheets or data books, etc., for the most up-to-date
specifications of NEC Electronics products. Not all products and/or types are available in every country. Please check with an
NEC Electronics sales representative for availability and additional information.
• No part of this document may be copied or reproduced in any form or by any means without the prior written consent of NEC
Electronics. NEC Electronics assumes no responsibility for any errors that may appear in this document.
• NEC Electronics does not assume any liability for infringement of patents, copyrights or other intellectual property rights of
third parties by or arising from the use of NEC Electronics products listed in this document or any other liability arising from the
use of such products. No license, express, implied or otherwise, is granted under any patents, copyrights or other intellectual
property rights of NEC Electronics or others.
• Descriptions of circuits, software and other related information in this document are provided for illustrative purposes in
semiconductor product operation and application examples. The incorporation of these circuits, software and information in
the design of a customer's equipment shall be done under the full responsibility of the customer. NEC Electronics assumes no
responsibility for any losses incurred by customers or third parties arising from the use of these circuits, software and
information.
• While NEC Electronics endeavors to enhance the quality, reliability and safety of NEC Electronics products, customers agree
and acknowledge that the possibility of defects thereof cannot be eliminated entirely. To minimize risks of damage to property
or injury (including death) to persons arising from defects in NEC Electronics products, customers must incorporate sufficient
safety measures in their design, such as redundancy, fire-containment and anti-failure features.
• NEC Electronics products are classified into the following three quality grades: "Standard", "Special" and "Specific". The
"Specific" quality grade applies only to NEC Electronics products developed based on a customer-designated "quality
assurance program" for a specific application. The recommended applications of an NEC Electronics product depend on its
quality grade, as indicated below. Customers must check the quality grade of each NEC Electronics product before using it in
a particular application.
"Standard": Computers, office equipment, communications equipment, test and measurement equipment, audio and visual
equipment, home electronic appliances, machine tools, personal electronic equipment and industrial robots.
"Special": Transportation equipment (automobiles, trains, ships, etc.), traffic control systems, anti-disaster systems, anti-
crime systems, safety equipment and medical equipment (not specifically designed for life support).
"Specific": Aircraft, aerospace equipment, submersible repeaters, nuclear reactor control systems, life support systems and
medical equipment for life support, etc.
The quality grade of NEC Electronics products is "Standard" unless otherwise expressly specified in NEC Electronics data
sheets or data books, etc. If customers wish to use NEC Electronics products in applications not intended by NEC Electronics,
they must contact an NEC Electronics sales representative in advance to determine NEC Electronics' willingness to support a
given application.
(Note 1) "NEC Electronics" as used in this statement means NEC Electronics Corporation and also includes its majority-owned
subsidiaries.
(Note 2) "NEC Electronics products" means any product developed or manufactured by or for NEC Electronics (as defined
above).
(M8E0909)
User’s Manual U18172EJ3V0UD 5
INTRODUCTION
Target Readers This manual is intended for user engineers who wish to understand the functions of
the 78K0S/KU1+ in order to design and develop its application systems and
programs.
The target devices are the following subseries products.
78K0S/KU1+:
μ
PD78F9200, 78F9201, 78F9202, 78F9500, 78F9501, 78F9502
Purpose This manual is intended to give users on understanding of the functions described in
the Organization below.
Organization Two manuals are available for 78K0S/KU1+: this manual and the Instruction Manual
(common to the 78K/0S Series).
78K0S/KU1+
User’s Manual
78K/0S Series
Instructions
User’s Manual
Pin functions
Internal block functions
Interrupts
Other internal peripheral functions
Electrical specifications
CPU function
Instruction set
Instruction description
How to Use This Manual It is assumed that the readers of this manual have general knowledge of electrical
engineering, logic circuits, and microcontrollers.
To understand the overall functions of 78K0S/KU1+
Read this manual in the order of the CONTENTS. The mark <R> shows major
revised points. The revised points can be easily searched by copying an “<R>”
in the PDF file and specifying it in the “Find what:” field.
How to read register formats
For a bit number enclosed in angle brackets (<>), the bit name is defined as a
reserved word in the RA78K0S, and is defined as an sfr variable using the
#pragma sfr directive in the CC78K0S.
To learn the detailed functions of a register whose register name is known
See APPENDIX B REGISTER INDEX.
To learn the details of the instruction functions of the 78K/0S Series
Refer to 78K/0S Series Instructions User’s Manual (U11047E) separately
available.
To learn the electrical specifications of the 78K0S/KU1+
See CHAPTER 19 ELECTRICAL SPECIFICATIONS.
<R>
User’s Manual U18172EJ3V0UD
6
Conventions Data significance: Higher digits on the left and lower digits on the right
Active low representation: ××× (overscore over pin or signal name)
Note: Footnote for item marked with Note in the text
Caution: Information requiring particular attention
Remark: Supplementary information
Numerical representation: Binary ... ×××× or ××××B
Decimal ... ××××
Hexadecimal ... ××××H
Related Documents The related documents indicated in this publication may include preliminary versions.
However, preliminary versions are not marked as such.
Documents Related to Devices
Document Name Document No.
78K0S/KU1+ User’s Manual This manual
78K/0S Series Instructions User’s Manual U11047E
Documents Related to Development Software Tools (User’s Manuals)
Document Name Document No.
Operation U17391E
Language U17390E
RA78K0S Ver.2.00 Assembler Package
Structured Assembly Language U17389E
Operation U17416E CC78K0S Ver.2.00 C Compiler
Language U17415E
Operation U18601E SM+ System Simulator
User Open Interface U18212E
ID78K0S-QB Ver.3.00 Integrated Debugger Operation U18493E
PM+ Ver.6.30 U18416E
Documents Related to Development Hardware Tools (User’s Manuals)
Document Name Document No.
QB-78K0SKX1 In-Circuit Emulator U18219E
QB-MINI2 On-Chip Debug Emulator with Programming Function U18371E
Documents Related to Flash Memory Writing (User’s Manuals)
Document Name Document No.
PG-FP5 Flash Memory Programmer U18865E
QB-Programmer Programming GUI Operation U18527E
Caution The related documents listed above are subject to change without notice. Be sure to use the latest
version of each document for designing.
<R>
<R>
User’s Manual U18172EJ3V0UD 7
Other Related Documents
Document Name Document No.
SEMICONDUCTOR SELECTION GUIDE - Products and Packages - X13769X
Semiconductor Device Mount Manual Note
Quality Grades on NEC Semiconductor Devices C11531E
NEC Semiconductor Device Reliability/Quality Control System C10983E
Guide to Prevent Damage for Semiconductor Devices by Electrostatic Discharge (ESD) C11892E
Note See the “Semiconductor Device Mount Manual” website (http://www.necel.com/pkg/en/mount/index.html).
Caution The related documents listed above are subject to change without notice. Be sure to use the latest
version of each document for designing.
User’s Manual U18172EJ3V0UD
8
CONTENTS
CHAPTER 1 OVERVIEW.........................................................................................................................14
1.1 Features .........................................................................................................................................14
1.2 Ordering Information....................................................................................................................15
1.3 Pin Configuration (Top View) ......................................................................................................16
1.3.1
μ
PD78F920x .....................................................................................................................................16
1.3.2
μ
PD78F950x .....................................................................................................................................16
1.4 78K0S/Kx1+ Product Lineup........................................................................................................17
1.5 Block Diagram...............................................................................................................................18
1.5.1
μ
PD78F920x .....................................................................................................................................18
1.5.2
μ
PD78F950x .....................................................................................................................................19
1.6 Functional Outline ........................................................................................................................20
CHAPTER 2 PIN FUNCTIONS ...............................................................................................................21
2.1 Pin Function List...........................................................................................................................21
2.1.1
μ
PD78F920x .....................................................................................................................................21
2.1.2
μ
PD78F950x .....................................................................................................................................23
2.2 Pin Functions ................................................................................................................................24
2.2.1 P20 to P23 (Port 2)............................................................................................................................24
2.2.2 P32 and P34 (Port 3).........................................................................................................................25
2.2.3 P40 and P43 (Port 4).........................................................................................................................25
2.2.4 RESET ..............................................................................................................................................25
2.2.5 X1 and X2 (
μ
PD78F920x) .................................................................................................................25
2.2.6 EXCLK (
μ
PD78F950x) ......................................................................................................................26
2.2.7 VDD ....................................................................................................................................................26
2.2.8 VSS ....................................................................................................................................................26
2.3 Pin I/O Circuits and Connection of Unused Pins ......................................................................27
CHAPTER 3 CPU ARCHITECTURE ......................................................................................................29
3.1 Memory Space ..............................................................................................................................29
3.1.1 Internal program memory space........................................................................................................32
3.1.2 Internal data memory space ..............................................................................................................33
3.1.3 Special function register (SFR) area..................................................................................................33
3.1.4 Data memory addressing ..................................................................................................................33
3.2 Processor Registers.....................................................................................................................36
3.2.1 Control registers ................................................................................................................................36
3.2.2 General-purpose registers.................................................................................................................39
3.2.3 Special function registers (SFRs) ......................................................................................................40
3.3 Instruction Address Addressing.................................................................................................44
3.3.1 Relative addressing...........................................................................................................................44
3.3.2 Immediate addressing .......................................................................................................................45
3.3.3 Table indirect addressing ..................................................................................................................45
User’s Manual U18172EJ3V0UD 9
3.3.4 Register addressing .......................................................................................................................... 46
3.4 Operand Address Addressing ....................................................................................................47
3.4.1 Direct addressing .............................................................................................................................. 47
3.4.2 Short direct addressing ..................................................................................................................... 48
3.4.3 Special function register (SFR) addressing ....................................................................................... 49
3.4.4 Register addressing .......................................................................................................................... 50
3.4.5 Register indirect addressing.............................................................................................................. 51
3.4.6 Based addressing ............................................................................................................................. 52
3.4.7 Stack addressing............................................................................................................................... 53
CHAPTER 4 PORT FUNCTIONS...........................................................................................................54
4.1 Functions of Ports........................................................................................................................ 54
4.2 Port Configuration........................................................................................................................ 55
4.2.1 Port 2 ................................................................................................................................................ 56
4.2.2 Port 3 ................................................................................................................................................ 64
4.2.3 Port 4 ................................................................................................................................................ 66
4.3 Registers Controlling Port Functions ........................................................................................66
4.4 Operation of Port Function.......................................................................................................... 71
4.4.1 Writing to I/O port.............................................................................................................................. 71
4.4.2 Reading from I/O port........................................................................................................................ 71
4.4.3 Operations on I/O port....................................................................................................................... 71
CHAPTER 5 CLOCK GENERATORS...................................................................................................72
5.1 Functions of Clock Generators................................................................................................... 72
5.1.1 System clock oscillators .................................................................................................................... 72
5.1.2 Clock oscillator for interval time generation....................................................................................... 72
5.2 Configuration of Clock Generators ............................................................................................73
5.3 Registers Controlling Clock Generators....................................................................................76
5.4 System Clock Oscillators ............................................................................................................ 79
5.4.1 High-speed internal oscillator ............................................................................................................ 79
5.4.2 Crystal/ceramic oscillator (
μ
PD78F920x only)................................................................................... 79
5.4.3 External clock input circuit................................................................................................................. 81
5.4.4 Prescaler........................................................................................................................................... 81
5.5 Operation of CPU Clock Generator ............................................................................................82
5.6 Operation of Clock Generator Supplying Clock to Peripheral Hardware...............................88
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY).........................................90
6.1 Functions of 16-Bit Timer/Event Counter 00 .............................................................................90
6.2 Configuration of 16-Bit Timer/Event Counter 00.......................................................................91
6.3 Registers to Control 16-Bit Timer/Event Counter 00 ................................................................95
6.4 Operation of 16-Bit Timer/Event Counter 00 ...........................................................................101
6.4.1 Interval timer operation ................................................................................................................... 101
6.4.2 External event counter operation .................................................................................................... 103
6.4.3 Pulse width measurement operations ............................................................................................. 106
6.4.4 Square-wave output operation ........................................................................................................ 114
User’s Manual U18172EJ3V0UD
10
6.4.5 PPG output operations ....................................................................................................................116
6.4.6 One-shot pulse output operation .....................................................................................................119
6.5 Cautions Related to 16-Bit Timer/Event Counter 00 ...............................................................124
CHAPTER 7 8-BIT TIMER H1 .............................................................................................................131
7.1 Functions of 8-Bit Timer H1.......................................................................................................131
7.2 Configuration of 8-Bit Timer H1 ................................................................................................131
7.3 Registers Controlling 8-Bit Timer H1........................................................................................134
7.4 Operation of 8-Bit Timer H1 .......................................................................................................136
7.4.1 Operation as interval timer/square-wave output ..............................................................................136
7.4.2 Operation as PWM output mode .....................................................................................................140
CHAPTER 8 WATCHDOG TIMER .......................................................................................................146
8.1 Functions of Watchdog Timer...................................................................................................146
8.2 Configuration of Watchdog Timer ............................................................................................148
8.3 Registers Controlling Watchdog Timer....................................................................................149
8.4 Operation of Watchdog Timer ...................................................................................................151
8.4.1 Watchdog timer operation when “low-speed internal oscillator cannot be stopped” is selected by
option byte ......................................................................................................................................151
8.4.2 Watchdog timer operation when “low-speed internal oscillator can be stopped by software” is
selected by option byte ...................................................................................................................153
8.4.3 Watchdog timer operation in STOP mode (when “low-speed internal oscillator can be stopped by
software” is selected by option byte)...............................................................................................155
8.4.4 Watchdog timer operation in HALT mode (when “low-speed internal oscillator can be stopped by
software” is selected by option byte)...............................................................................................156
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY) .......................................................................157
9.1 Functions of A/D Converter.......................................................................................................157
9.2 Configuration of A/D Converter ................................................................................................159
9.3 Registers Used by A/D Converter .............................................................................................161
9.4 A/D Converter Operations .........................................................................................................166
9.4.1 Basic operations of A/D converter ...................................................................................................166
9.4.2 Input voltage and conversion results ...............................................................................................168
9.4.3 A/D converter operation mode.........................................................................................................169
9.5 How to Read A/D Converter Characteristics Table .................................................................171
9.6 Cautions for A/D Converter .......................................................................................................173
CHAPTER 10 INTERRUPT FUNCTIONS ............................................................................................176
10.1 Interrupt Function Types .........................................................................................................176
10.2 Interrupt Sources and Configuration .....................................................................................176
10.3 Interrupt Function Control Registers .....................................................................................178
10.4 Interrupt Servicing Operation .................................................................................................181
10.4.1 Maskable interrupt request acknowledgment operation ................................................................181
10.4.2 Multiple interrupt servicing.............................................................................................................183
User’s Manual U18172EJ3V0UD 11
10.4.3 Interrupt request pending .............................................................................................................. 185
CHAPTER 11 STANDBY FUNCTION..................................................................................................186
11.1 Standby Function and Configuration..................................................................................... 186
11.1.1 Standby function ........................................................................................................................... 186
11.1.2 Registers used during standby (
μ
PD78F920x only) ...................................................................... 188
11.2 Standby Function Operation ...................................................................................................189
11.2.1 HALT mode................................................................................................................................... 189
11.2.2 STOP mode .................................................................................................................................. 192
CHAPTER 12 RESET FUNCTION .......................................................................................................196
12.1 Register for Confirming Reset Source...................................................................................203
CHAPTER 13 POWER-ON-CLEAR CIRCUIT .....................................................................................204
13.1 Functions of Power-on-Clear Circuit .....................................................................................204
13.2 Configuration of Power-on-Clear Circuit ...............................................................................205
13.3 Operation of Power-on-Clear Circuit......................................................................................205
13.4 Cautions for Power-on-Clear Circuit......................................................................................206
CHAPTER 14 LOW-VOLTAGE DETECTOR.......................................................................................208
14.1 Functions of Low-Voltage Detector........................................................................................208
14.2 Configuration of Low-Voltage Detector .................................................................................208
14.3 Registers Controlling Low-Voltage Detector......................................................................... 209
14.4 Operation of Low-Voltage Detector........................................................................................ 211
14.5 Cautions for Low-Voltage Detector ........................................................................................ 215
CHAPTER 15 OPTION BYTE ...............................................................................................................218
15.1 Functions of Option Byte ........................................................................................................218
15.1.1
μ
PD78F920x ................................................................................................................................. 218
15.1.2
μ
PD78F950x ................................................................................................................................. 219
15.2 Format of Option Byte .............................................................................................................220
15.2.1
μ
PD78F920x ................................................................................................................................. 220
15.2.2
μ
PD78F950x ................................................................................................................................. 222
15.3 Caution When the RESET Pin Is Used as an Input-Only Port Pin (P34) ............................. 223
CHAPTER 16 FLASH MEMORY..........................................................................................................224
16.1 Features.....................................................................................................................................224
16.2 Memory Configuration .............................................................................................................225
16.3 Functional Outline ....................................................................................................................225
16.4 Writing with Flash Memory Programmer ...............................................................................226
16.5 Programming Environment .....................................................................................................227
16.6 Processing of Pins on Board ..................................................................................................229
16.6.1 X1 and X2 pins (
μ
PD78F920x)...................................................................................................... 229
16.6.2 EXCLK pin (
μ
PD78F950x) ............................................................................................................ 230
User’s Manual U18172EJ3V0UD
12
16.6.3 RESET pin.....................................................................................................................................231
16.6.4 Port pins ........................................................................................................................................231
16.6.5 Power supply.................................................................................................................................231
16.7 On-Board and Off-Board Flash Memory Programming ........................................................232
16.7.1 Flash memory programming mode................................................................................................232
16.7.2 Communication commands ...........................................................................................................232
16.7.3 Security settings ............................................................................................................................233
16.8 Flash Memory Programming by Self Programming..............................................................234
16.8.1 Outline of self programming ..........................................................................................................234
16.8.2 Cautions on self programming function .........................................................................................237
16.8.3 Registers used for self-programming function ...............................................................................237
16.8.4 Example of shifting normal mode to self programming mode........................................................244
16.8.5 Example of shifting self programming mode to normal mode........................................................247
16.8.6 Example of block erase operation in self programming mode .......................................................250
16.8.7 Example of block blank check operation in self programming mode .............................................253
16.8.8 Example of byte write operation in self programming mode ..........................................................256
16.8.9 Example of internal verify operation in self programming mode ....................................................259
16.8.10 Examples of operation when command execution time should be minimized in self programming
mode ...........................................................................................................................................263
16.8.11 Examples of operation when interrupt-disabled time should be minimized in self programming
mode ...........................................................................................................................................269
CHAPTER 17 ON-CHIP DEBUG FUNCTION .......................................................................................280
17.1 Connecting QB-MINI2 to 78K0S/KU1+....................................................................................280
17.1.1 Connection of INTP1 pin ...............................................................................................................281
17.1.2 Connection of X1 and X2 pins .......................................................................................................282
17.2 Securing of user resources .....................................................................................................283
CHAPTER 18 INSTRUCTION SET OVERVIEW .................................................................................284
18.1 Operation...................................................................................................................................284
18.1.1 Operand identifiers and description methods ................................................................................284
18.1.2 Description of “Operation” column.................................................................................................285
18.1.3 Description of “Flag” column..........................................................................................................285
18.2 Operation List ...........................................................................................................................286
18.3 Instructions Listed by Addressing Type ................................................................................291
CHAPTER 19 ELECTRICAL SPECIFICATIONS.................................................................................294
CHAPTER 20 PACKAGE DRAWING ..................................................................................................308
CHAPTER 21 RECOMMENDED SOLDERING CONDITIONS...........................................................309
User’s Manual U18172EJ3V0UD 13
APPENDIX A DEVELOPMENT TOOLS ..............................................................................................310
A.1 Software Package ......................................................................................................................313
A.2 Language Processing Software ...............................................................................................313
A.3 Flash Memory Writing Tools.....................................................................................................314
A.3.1 When using flash memory programmer PG-FP5 and FL-PR5........................................................ 314
A.3.2 When using on-chip debug emulator with programming function QB-MINI2................................... 314
A.4 Debugging Tools (Hardware).................................................................................................... 314
A.4.1 When using in-circuit emulator QB-78K0SKX1............................................................................... 314
A.4.2 When using on-chip debug emulator with programming function QB-MINI2................................... 315
A.5 Debugging Tools (Software).....................................................................................................315
APPENDIX B NOTES ON DESIGNING TARGET SYSTEM ................................................................316
APPENDIX C REGISTER INDEX.........................................................................................................318
C.1 Register Index (Register Name) ...............................................................................................318
C.2 Register Index (Symbol)............................................................................................................320
APPENDIX D LIST OF CAUTIONS.....................................................................................................322
APPENDIX E REVISION HISTORY .....................................................................................................337
E.1 Major Revisions in This Edition................................................................................................337
E.2 Revision History up to Previous Editions ...............................................................................338
User’s Manual U18172EJ3V0UD
14
CHAPTER 1 OVERVIEW
1.1 Features
O 78K0S CPU core
O ROM and RAM capacities
Item
Part number
Program Memory (Flash Memory) Memory (Internal High-Speed RAM)
μ
PD78F9200, 78F9500 1 KB
μ
PD78F9201, 78F9501 2 KB
μ
PD78F9202, 78F9502 4 KB
128 bytes
O Minimum instruction execution time: 0.2
μ
s (with 10 MHz@4.0 to 5.5 V operation)
O Clock
High-speed system clock … Selected from the following three sources
- Ceramic/crystal resonator: 2 to 10 MHz
- External clock: 2 to 10 MHz
- High-speed internal oscillator
μ
PD78F920x: 8 MHz ±3% (10 to +70°C), 8 MHz ±5% (40 to +85°C)
μ
PD78F950x: 8 MHz ±2% (10 to +85°C), 8 MHz ±5% (40 to +85°C)
Low-speed internal oscillator 240 kHz (TYP.) … Watchdog timer, timer clock in intermittent operation
O I/O ports: 8 (CMOS I/O: 7, CMOS input: 1)
O Timer: 3 channels
16-bit timer/event counterNote: 1 channel … Timer output × 1, capture input × 2
8-bit timer: 1 channel … PWM output × 1
Watchdog timer: 1 channel … Operable with low-speed internal oscillation clock
O 10-bit resolution A/D converterNote: 4 channels
O On-chip power-on-clear (POC) circuit (A reset is automatically generated when the voltage drops to 2.1 V (TYP.)
or below)
O On-chip low voltage detector (LVI) circuit (An interrupt/reset (selectable) is generated when the detection voltage
is reached)
Detection voltage: Selectable from ten levels between 2.35 and 4.3 V
O Single-power-supply flash memory
Flash self programming enabled
Software protection function: Protected from outside party copying (no flash reading command)
Time required for writing by dedicated flash memory programmer: Approximately 3 seconds (4 KB)
Flash programming on mass production lines supported
O Safety function
Watchdog timer operated by clock independent from CPU
… A hang-up can be detected even if the system clock stops
Supply voltage drop detectable by LVI
… Appropriate processing can be executed before the supply voltage drops below the operation voltage
Equipped with option byte function
… Important system operation settings set in hardware
Note
μ
PD78F920x only
<R>
<R>
<R>
CHAPTER 1 OVERVIEW
User’s Manual U18172EJ3V0UD 15
O Assembler and C language supported
O Enhanced development environment
Support for full-function emulator (IECUBE), simplified emulator (MINICUBE2), and simulator
O Supply voltage: VDD = 2.0 to 5.5 V
Use these products at VDD = 2.2 to 5.5 V because the POC detection voltage (VPOC) is the supply voltage
range.
O Operating temperature range: TA = 40 to +85°C
1.2 Ordering Information
Part Number
μ
PD78F9 ××× - ×× (×) - ××× -A
Semiconductor component
-A Lead-free Product contains no lead in any area
(Terminal finish is Sn/Bi plating)
Quality Grades
Blank Standard (for ordinary electronic systems)
Package type
MA-CAC 10-pin Plastic SSOP
High-speed RAM Flash memory 16-bit timer, A/D
converter
200 Mounted
500
1 K bytes
Not mounted
201 Mounted
501
2 K bytes
Not mounted
202 Mounted
502
128 bytes
4 K bytes
Not mounted
Product type
F Flash memory versions
Please refer to "Quality Grades on NEC Semiconductor Devices" (Document No. C11531E) published by
NEC Corporation to know the specification of quality grade on the devices and its recommended applications.
[Part number list]
μ
PD78F9200MA-CAC-A
μ
PD78F9500MA-CAC-A
μ
PD78F9201MA-CAC-A
μ
PD78F9501MA-CAC-A
μ
PD78F9202MA-CAC-A
μ
PD78F9502MA-CAC-A
<R>
<R>
<R>
CHAPTER 1 OVERVIEW
User’s Manual U18172EJ3V0UD
16
1.3 Pin Configuration (Top View)
1.3.1
μ
PD78F920x
10-pin plastic SSOP
1
6
7
8
9
10
5
4
3
2
VSSNote1
P22/X2/ANI2
P43
P32/INTP1
P40
P20/ANI0/TI000/TOH1
P23/X1/ANI3
P34/RESET
VDDNote2
P21/ANI1/TI010/TO00/INTP0
ANI0 to ANI3: Analog input TI000, TI010: Timer input
INTP0, INTP1: External interrupt input TO00, TOH1: Timer output
P20 to P23: Port 2 VDDNote2: Power supply
P30, P34: Port 3 VSSNote1: Ground
P40, P43: Port 4 X1, X2: Crystal oscillator (X1 input clock)
RESET: Reset
Notes 1. In
μ
PD78F920x, VSS functions alternately as the ground potential of the A/D converter. Be sure to
connect VSS to a stabilized GND (= 0 V).
2. In
μ
PD78F920x, VDD functions alternately as the A/D converter reference voltage input. When using the
A/D converter, stabilize VDD at the supply voltage used (2.7 to 5.5 V).
1.3.2
μ
PD78F950x
10-pin plastic SSOP
1
6
7
8
9
10
5
4
3
2
V
SS
P22
P43
P32/INTP1
P40
P20/TOH1
P23/EXCLK
P34/RESET
V
DD
P21/INTP0
INTP0, INTP1: External interrupt input TOH1: Timer output
P20 to P23: Port 2 VDD: Power supply
P30, P34: Port 3 VSS: Ground
P40, P43: Port 4 EXCLK: External Clock Input
RESET: Reset (Main System Clock)
<R>
CHAPTER 1 OVERVIEW
User’s Manual U18172EJ3V0UD 17
1.4 78K0S/Kx1+ Product Lineup
The following table shows the product lineup of the 78K0S/Kx1+.
Part Number
Item
78K0S/KU1+ 78K0S/KY1+ 78K0S/KA1+ 78K0S/KB1+
Number of pins 10 pins 16 pins 20 pins 30/32 pins
Flash memory 1 KB, 2 KB, 4 KB 2 KB 4 KB,
8 KB
4 KB, 8 KB Internal
memory
RAM 128 bytes 128
bytes
256
bytes
256 bytes
Supply voltage VDD = 2.0 to 5.5 VNote 1
Minimum instruction
execution time
0.20
μ
s (10 MHz, VDD = 4.0 to 5.5 V)
0.33
μ
s (6 MHz, VDD = 3.0 to 5.5 V)
0.40
μ
s (5 MHz, VDD = 2.7 to 5.5 V)
1.0
μ
s (2 MHz, VDD = 2.0 to 5.5 V)
System clock
(oscillation frequency)
High-speed internal oscillation (8 MHz (TYP.))
Crystal/ceramic oscillation (2 to 10 MHz)Note 2
External clock input oscillation (2 to 10 MHz)
Clock for TMH1 and WDT
(oscillation frequency)
Low-speed internal oscillation (240 kHz (TYP.))
CMOS I/O 7 13 15 24
CMOS input 1 1 1 1
Port
CMOS output 1 1
16-bit (TM0) 1 chNote 3
8-bit (TMH) 1 ch
8-bit (TM8) 1 ch
Timer
WDT 1 ch
Serial interface LIN-Bus-supporting UART: 1 ch
A/D converterNote 4 10 bits: 4 ch (2.7 to 5.5 V)Note 4
Multiplier (8 bits × 8 bits) Provided
Internal 5Note 5 9
Interrupts
External 2 4
RESET pin Provided
POC 2.1 V (TYP.)
LVI Provided (selectable by software)
Reset
WDT Provided
Operating temperature range Standard product:
40 to +85°C
Standard product, (A) grade product: 40 to +85°C
(A2) grade product: 40 to +125°C
Notes 1. Use these products in the following voltage range because the detection voltage (VPOC) of the power-on-
clear (POC) circuit is the supply voltage range.
Standard product, (A) grade product: 2.2 to 5.5 V, (A2) grade product: 2.26 to 5.5 V
2.
μ
PD78F950x does not support the crystal/ceramic oscillation.
3. The product without A/D converter (
μ
PD78F950x) in the 78K0S/KU1+ is not supported.
4. The product without A/D converter (
μ
PD78F95xx) is provided for the 78K0S/KU1+ and 78K0S/KY1+
respectively.
5. There are 2 and 4 factors for the products without A/D converter in the 78K0S/KU1+ and 78K0S/KY1+,
respectively.
<R>
<R>
CHAPTER 1 OVERVIEW
User’s Manual U18172EJ3V0UD
18
1.5 Block Diagram
1.5.1
μ
PD78F920x
78K0S
CPU
CORE
INTERNAL
HIGH-SPEED
RAM
FLASH
MEMORY
V
SSNote2
V
DDNote1
PORT 2 P20-P23
4
POWER ON CLEAR/
LOW VOLTAGE
INDICATOR
POC/LVI
CONTROL
RESET CONTROL
SYSTEM
CONTROL
HIGH-SPEED
INTERNAL
OSCILLATOR
RESET/P34
X1/P23
X2/P22
16-bit TIMER/
EVENT COUNTER 00
TO00/TI010/P21
TI000/P20
TOH1/P20 8-bit TIMER
H1
INTP0/P21
INTP1/P32
ANI0/P20-
ANI3/P23 4A/D CONVERTER
INTERRUPT
CONTROL
PORT 3 P32
P34
PORT 4 P40, P43
2
LOW-SPEED
INTERNAL
OSCILLATOR
WATCHDOG TIMER
Notes 1. In
μ
PD78F920x, VDD functions alternately as the A/D converter reference voltage input. When using the
A/D converter, stabilize VDD at the supply voltage used (2.7 to 5.5 V).
2. In
μ
PD78F920x, VSS functions alternately as the ground potential of the A/D converter. Be sure to
connect VSS to a stabilized GND (= 0 V).
CHAPTER 1 OVERVIEW
User’s Manual U18172EJ3V0UD 19
1.5.2
μ
PD78F950x
78K0S
CPU
CORE
INTERNAL
HIGH-SPEED
RAM
FLASH
MEMORY
VSSVDD
PORT 2 P20-P23
4
POWER ON CLEAR/
LOW VOLTAGE
INDICATOR
POC/LVI
CONTROL
RESET CONTROL
SYSTEM
CONTROL
HIGH-SPEED
INTERNAL
OSCILLATOR
RESET/P34
EXCLK/P23
TOH1/P20 8-bit TIMER
H1
INTP0/P21
INTP1/P32
INTERRUPT
CONTROL
PORT 3 P32
P34
PORT 4 P40, P43
2
LOW-SPEED
INTERNAL
OSCILLATOR
WATCHDOG TIMER
<R>
CHAPTER 1 OVERVIEW
User’s Manual U18172EJ3V0UD
20
1.6 Functional Outline
Item
μ
PD78F9200
μ
PD78F9500
μ
PD78F9201
μ
PD78F9501
μ
PD78F9202
μ
PD78F9502
Flash memory 1 KB 2 KB 4 KB Internal
memory High-speed RAM 128 bytes
Memory space 64 KB
X1 input clock (oscillation frequency)
μ
PD78F920x
Crystal/ceramic/external clock input: 10 MHz (VDD = 2.0 to 5.5 V)
μ
PD78F950x
External clock input: 10 MHz (VDD = 2.7 to 5.5 V)
High speed (oscillation
frequency)
Internal oscillation: 8 MHz (TYP.) Internal
oscillation
clock Low speed (for TMH1
and WDT)
Internal oscillation: 240 kHz (TYP.)
General-purpose registers 8 bits × 8 registers
Instruction execution time 0.2
μ
s/0.4
μ
s/0.8
μ
s/1.6
μ
s/3.2
μ
s (X1 input clock: fX = 10 MHz)
I/O port Total: 8 pins
CMOS I/O: 7 pins
CMOS input: 1 pin
Timer 16-bit timer/event counterNote 1: 1 channel
8-bit timer (timer H1): 1 channel
Watchdog timer: 1 channel
Timer output 2 pins (PWM: 1 pin)
A/D converterNote 1 10-bit resolution × 4 channels
External 2 Vectored
interrupt sources Internal
μ
PD78F920x: 5,
μ
PD78F950x: 2
Reset Reset by RESET pin
Internal reset by watchdog timer
Internal reset by power-on clear
Internal reset by low-voltage detector
Supply voltage VDD = 2.0 to 5.5 VNote 2
Operating temperature range TA = 40 to +85°C
Package 10-pin plastic SSOP
Notes 1.
μ
PD78F920x only
2. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on-
clear (POC) circuit is 2.1 V (TYP.).
<R>
<R>
<R>
User’s Manual U18172EJ3V0UD 21
CHAPTER 2 PIN FUNCTIONS
2.1 Pin Function List
2.1.1
μ
PD78F920x
(1) Port pins
Pin Name I/O Function After Reset Alternate-Function
Pin
P20 ANI0/TI000/TOH1
P21 ANI1/TI010/
TO00/INTP0
P22Note 1 X2/ANI2Note 1
P23Note 1
I/O Port 2.
4-bit I/O port.
Can be set to input or output mode in 1-bit units.
An on-chip pull-up resistor can be connected by setting
software.
Input
X1/ANI3Note 1
P32 I/O Can be set to input or output mode in
1-bit units.
An on-chip pull-up resistor can be
connected by setting software.
Input INTP1
P34Note 1 Input
Port 3
Input only Input RESETNote 1
P40, P43Note 2 I/O Port 4.
2-bit I/O port.
Can be set to input or output mode in 1-bit units.
An on-chip pull-up resistor can be connected by setting
software.
Input
Notes 1. For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
2. At program initialization, set PM41, PM42, and PM44 to PM47 to "0".
Caution The P22/X2/ANI2 and P23/X1/ANI3 pins are pulled down during reset.
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD
22
(2) Non-port pins
Pin Name I/O Function After Reset Alternate-
Function Pin
INTP0 P21/ANI1/TI010/
TO00
INTP1
Input External interrupt input for which the valid edge (rising edge,
falling edge, or both rising and falling edges) can be specified
Input
P32
TI000 External count clock input to 16-bit timer/event counter 00.
Capture trigger input to capture registers (CR000 and CR010) of
16-bit timer/event counter 00
P20/ANI0/TOH1
TI010
Input
Capture trigger input to capture register (CR000) of 16-bit
timer/event counter 00
Input
P21/ANI1/TO00/
INTP0
TO00 Output 16-bit timer/event counter 00 output Input P21/ANI1/TI010/
INTP0
TOH1 Output 8-bit timer H1 output Input P20/ANI0/TI000
ANI0 P20/TI000/TOH1
ANI1 P21/TI010/TO00/
INTP0
ANI2Note P22/X2Note
ANI3Note
Input Analog input of A/D converter
Input
P23/X1Note
RESET Note Input System reset input Input P34Note
X1Note Input Connection of crystal/ceramic oscillator for system clock
oscillation.
External clock input
P23/ANI3Note
X2Note Connection of crystal/ceramic oscillator for system clock
oscillation.
P22/ANI2Note
VDD Positive power supply
VSS Ground potential
Note For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
Caution The P22/X2/ANI2 and P23/X1/ANI3 pins are pulled down during reset.
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD 23
2.1.2
μ
PD78F950x
(1) Port pins
Pin Name I/O Function After Reset Alternate-Function
Pin
P20 TOH1
P21 INTP0
P22
P23Note
I/O Port 2.
4-bit I/O port.
Can be set to input or output mode in 1-bit units.
An on-chip pull-up resistor can be connected by setting
software.
Input port
EXCLKNote
P32 I/O Can be set to input or output mode in
1-bit units.
Input port INTP1
P34Note Input
Port 3
An on-chip pull-up
resistor can be
connected by setting
software. Input only Input port RESETNote
P40, P43 I/O Port 4.
2-bit I/O port.
Can be set to input or output mode in 1-bit units.
An on-chip pull-up resistor can be connected by setting
software.
Input port
Note For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
Caution The P22 and P23/EXCLK pins are pulled down during reset. The P34/RESET pin is pulled up during
reset by the reset pin function/power-on clear circuit.
(2) Non-port pins
Pin Name I/O Function After Reset Alternate-
Function Pin
INTP0 P21
INTP1
Input External interrupt input for which the valid edge (rising edge,
falling edge, or both rising and falling edges) can be specified
Input port
P32
TOH1 Output 8-bit timer H1 output Input port P20
RESET Note Input System reset input Input port P34Note
EXCLKNote Input External clock input for main system clock Input port P23Note
VDD Positive power supply
VSS Ground potential
Note For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
Caution The P22 and P23/EXCLK pins are pulled down during reset. The P34/RESET pin is pulled up during
reset by the reset pin function/power-on clear circuit.
<R>
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD
24
2.2 Pin Functions
2.2.1 P20 to P23 (Port 2)
P20 to P23 constitute a 4-bit I/O port. In addition to the function as I/O port pins, these pins also have a function to
input an analog signal to the A/D converter, input/output a timer signal, and input an external interrupt request signal.
P22 and P23 also function as the X2/ANI2 and X1/ANI3, respectively. For the setting method for pin functions, see
CHAPTER 15 OPTION BYTE.
These pins can be set to the following operation modes in 1-bit units.
(1) Port mode
P20 to P23 function as a 4-bit I/O port. Each bit of this port can be set to the input or output mode by using
port mode register 2 (PM2). In addition, an on-chip pull-up resistor can be connected to the port by using pull-
up resistor option register 2 (PU2).
(2) Control mode
P20 to P23 function to input an analog signal to the A/D converter, input/output a timer signal, and input an
external interrupt request signal.
(a) ANI0 to ANI3 (
μ
PD78F920x only)
These are the analog input pins of the A/D converter. When using these pins as analog input pins, refer
to 9.6 Cautions for A/D converter (5) ANI0/P20 to ANI3/P23.
(b) TI000 (
μ
PD78F920x only)
This pin inputs an external count clock to 16-bit timer/event counter 00, or a capture trigger signal to the
capture registers (CR000 and CR010) of 16-bit timer/event counter 00.
(c) TI010 (
μ
PD78F920x only)
This pin inputs a capture trigger signal to the capture register (CR000) of 16-bit timer/event counter 00.
(d) TO00 (
μ
PD78F920x only)
This pin outputs a signal from 16-bit timer/event counter 00.
(e) TOH1
This pin outputs a signal from 8-bit timer H1.
(f) INTP0
This is an external interrupt request input pin for which the valid edge (rising edge, falling edge, or both
rising and falling edges) can be specified.
Caution The P22 and P23 pins are pulled down during reset.
<R>
<R>
<R>
<R>
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD 25
2.2.2 P32 and P34 (Port 3)
P32 is a 1-bit I/O port. In addition to the function as an I/O port pin, this pin also has a function to input an external
interrupt request signal.
P34 is a 1-bit input-only port. This pin is also used as a RESET pin, and when the power is turned on, this is the
reset function.
For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
When P34 in
μ
PD78F920x is used as an input port pin, connect the pull-up resistor.
P32 and P34 can be set to the following operation modes in 1-bit units.
(1) Port mode
P32 functions as a 1-bit I/O port. This pin can be set to the input or output mode by using port mode register 3
(PM3). In addition, an on-chip pull-up resistor can be connected to the port by using pull-up resistor option
register 3 (PU3).
P34 functions as a 1-bit input-only port. In
μ
PD78F950x, an on-chip pull-up resistor can be connected to the
port by using pull-up resistor option register 3 (PU3).
(2) Control mode
P32 functions as an external interrupt request input pin (INTP1) for which the valid edge (rising edge, falling
edge, or both rising and falling edges) can be specified.
Caution In
μ
PD78F950x, the P34/RESET pin is pulled up during reset by the reset pin function/power-on
clear circuit.
2.2.3 P40 and P43 (Port 4)
P40 and P43 constitute a 2-bit I/O port. Each bit of this port can be set to the input or output mode by using port
mode register 4 (PM4)Note. In addition, an on-chip pull-up resistor can be connected to the port by using pull-up
resistor option register 4 (PU4).
Note In
μ
PD78F920x, set PM41, PM42, and PM44 to PM47 to "0" at program initialization.
2.2.4 RESET
This pin inputs an active-low system reset signal. When the power is turned on, this is the reset function,
regardless of the option byte setting.
Caution In
μ
PD78F950x, the P34/RESET pin is pulled up during reset by the reset pin function/power-on
clear circuit.
2.2.5 X1 and X2 (
μ
PD78F920x)
These pins connect an oscillator to oscillate the X1 input clock.
X1 and X2 also function as P23/ANI3 and P22/ANI2, respectively. For the setting method for pin functions, see
CHAPTER 15 OPTION BYTE.
Supply an external clock to X1.
Caution The P22/X2/ANI2 and P23/X1/ANI3 pins are pulled down during reset.
<R>
<R>
<R>
<R>
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD
26
2.2.6 EXCLK (
μ
PD78F950x)
This is the external clock input pin for the main system clock.
EXCLK functions as P23. For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
Caution The P23/EXCLK pin is pulled down during reset.
2.2.7 VDD
This is the positive power supply pin.
In
μ
PD78F920x, VDD functions alternately as the A/D converter reference voltage input. When using the A/D
converter, stabilize VDD at the supply voltage used (2.7 to 5.5 V).
2.2.8 VSS
This is the ground pin.
In
μ
PD78F920x, VSS functions alternately as the ground potential of the A/D converter. Be sure to connect VSS to a
stabilized GND (= 0 V).
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD 27
2.3 Pin I/O Circuits and Connection of Unused Pins
Tables 2-1 and 2-2 show I/O circuit type of each pin and the connections of unused pins.
For the configuration of the I/O circuit of each type, refer to Figure 2-1.
Table 2-1. Types of Pin I/O Circuits and Connection of Unused Pins (
μ
PD78F920x)
Pin Name I/O Circuit Type I/O Recommended Connection of Unused Pin
P20/ANI0/TI000/TOH1
P21/ANI1/TI010/TO00/
INTP0
11 Input: Individually connect to VDD or VSS via resistor.
Output: Leave open.
P22/ANI2/X2
P23/ANI3/X1
36 Input: Individually connect to VSS via resistor.
Output: Leave open.
P32/INTP1 8-A
I/O
Input: Individually connect to VDD or VSS via resistor.
Output: Leave open.
P34/RESET 2 Input Connect to VDD via resistor.
P40 and P43 8-A I/O Input: Individually connect to VDD or VSS via resistor.
Output: Leave open.
Table 2-2. Types of Pin I/O Circuits and Connection of Unused Pins (
μ
PD78F950x)
Pin Name I/O Circuit Type I/O Recommended Connection of Unused Pin
P20/TOH1
P21/INTP0
P22
P23/EXCLK
P32/INTP1
8-A I/O
Input: Individually connect to VDD or VSS via resistor.
Output: Leave open.
P34/RESET 2-A Input Set ENPU34 to “1” on the option byte, and leave the pin open.
P40 and P43 8-A I/O Input: Individually connect to VDD or VSS via resistor.
Output: Leave open.
<R>
CHAPTER 2 PIN FUNCTIONS
User’s Manual U18172EJ3V0UD
28
Figure 2-1. Pin I/O Circuits
Type 2
Type 11
Type 36
Type 8-A
IN
Schmitt-triggered input with hysteresis characteristics
Pull up
enable
Data
Output
disable
V
DD
P-ch
V
DD
P-ch
IN/OUT
N-ch
Data
Output
disable
Pull up
enable
V
DD
P-ch
N-ch
IN/OUT
Comparison
voltage
V
SS
P-ch
N-ch
+
Input
enable
-
V
DD
P-ch
Comparator
P-ch
feedback
cut-off
X1,
IN/OUT
X2,
IN/OUT
OSC
enable
data
output
disable
V
DD
P-ch
N-ch
V
SS
P-ch
N-ch
+
-
pullup
enable
V
DD
P-ch
data
output
disable
V
DD
P-ch
N-ch
V
SS
P-ch
N-ch
+
-
pullup
enable
V
DD
P-ch
Comparator
Comparator
V
SS
V
SS
V
SS
Comparison
voltage
Comparison
voltage
Type 2-A
Schmitt-triggered input with hysteresis characteristics
IN
Pull up
enable
V
DD
P-ch
<R>
User’s Manual U18172EJ3V0UD 29
CHAPTER 3 CPU ARCHITECTURE
3.1 Memory Space
The 78K0S/KU1+ can access up to 64 KB of memory space. Figures 3-1 to 3-3 show the memory maps.
Figure 3-1. Memory Map (
μ
PD78F9200, 78F9500)
Special function registers
(SFR)
256 × 8 bits
Internal high-speed RAM
128 × 8 bits
Flash memory
1,024 × 8 bits
Use prohibited
Program memory
space
Data memory
space
FFFFH
FF00H
FEFFH
FE80H
FE7FH
0400H
03FFH
0000H
Program area
Option byte area
Program area
CALLT table area
Vector table area
03FFH
0040H
003FH
0014H
0013H
0000H
Protect byte area
0082H
0081H
0080H
007FH
Remark The option byte and protect byte are 1 byte each.
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
30
Figure 3-2. Memory Map (
μ
PD78F9201, 78F9501)
Special function registers
(SFR)
256 × 8 bits
Internal high-speed RAM
128 × 8 bits
Flash memory
2,048 × 8 bits
Program memory
space
Data memory
space
Use prohibited
FFFFH
FF00H
FEFFH
FE80H
FE7FH
0800H
07FFH
0000H
Program area
Option byte area
Program area
CALLT table area
Vector table area
07FFH
0040H
003FH
0014H
0013H
0000H
Protect byte area
0082H
0081H
0080H
007FH
Remark The option byte and protect byte are 1 byte each.
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 31
Figure 3-3. Memory Map (
μ
PD78F9202, 78F9502)
Special function registers
(SFR)
256 × 8 bits
Internal high-speed RAM
128 × 8 bits
Flash memory
4,096 × 8 bits
Program memory
space
Data memory
space
Use prohibited
FFFFH
FF00H
FEFFH
FE80H
FD7FH
1000H
0FFFH
0000H
Program area
Option byte area
Program area
CALLT table area
Vector table area
0FFFH
0040H
003FH
0014H
0013H
0000H
Protect byte area
0082H
0081H
0080H
007FH
Remark The option byte and protect byte are 1 byte each.
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
32
3.1.1 Internal program memory space
The internal program memory space stores programs and table data. This space is usually addressed by the
program counter (PC).
The 78K0S/KU1+ provide the following internal ROMs (or flash memory) containing the following capacities.
Table 3-1. Internal ROM Capacity
Internal ROM Part Number
Structure Capacity
μ
PD78F9200, 78F9500 1,024 × 8 bits
μ
PD78F9201, 78F9501 2,048 × 8 bits
μ
PD78F9202, 78F9502
Flash memory
4,096 × 8 bits
The following areas are allocated to the internal program memory space.
(1) Vector table area
The 20-byte area of addresses 0000H to 0013H is reserved as a vector table area. This area stores program
start addresses to be used when branching by RESET or interrupt request generation. Of a
16-bit address, the lower 8 bits are stored in an even address, and the higher 8 bits are stored in an odd
address.
Table 3-2. Vector Table
Vector Table Address Interrupt Request Vector Table Address Interrupt Request
0000H Reset 000CH INTTMH1
0006H INTLVI 000EH INTTM000Note
0008H INTP0 0010H INTTM010Note
000AH INTP1 0012H INTADNote
Note
μ
PD78F920x only
(2) CALLT instruction table area
The subroutine entry address of a 1-byte call instruction (CALLT) can be stored in the 64-byte area of
addresses 0040H to 007FH.
(3) Option byte area
The option byte area is the 1-byte area of address 0080H. For details, refer to CHAPTER 15 OPTION
BYTE.
(4) Protect byte area
The protect byte area is the 1-byte area of address 0081H. For details, refer to CHAPTER 16 FLASH
MEMORY.
<R>
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 33
3.1.2 Internal data memory space
128-byte internal high-speed RAM is provided in the 78K0S/KU1+.
The internal high-speed RAM can also be used as a stack memory.
3.1.3 Special function register (SFR) area
Special function registers (SFRs) of on-chip peripheral hardware are allocated to the area of FF00H to FFFFH (see
Table 3-3).
3.1.4 Data memory addressing
The 78K0S/KU1+ are provided with a wide range of addressing modes to make memory manipulation as efficient
as possible. The area (FE80H to FEFFH) which contains a data memory and the special function register (SFR) area
can be accessed using a unique addressing mode in accordance with each function. Figures 3-4 to 3-6 illustrate the
data memory addressing.
Figure 3-4. Data Memory Addressing (
μ
PD78F9200, 78F9500)
Special function registers (SFR)
256 × 8 bits
Internal high-speed RAM
128 × 8 bits
Flash memory
1,024 × 8 bits
Use prohibted
Direct addressing
Register indirect addressing
Based addressing
SFR addressing
Short direct addressing
FFFFH
FF00H
FEFFH
FF20H
FE1FH
FE80H
FE7FH
0400H
03FFH
0000H
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
34
Figure 3-5. Data Memory Addressing (
μ
PD78F9201, 78F9501)
Special function registers (SFR)
256 × 8 bits
Internal high-speed RAM
128 × 8 bits
Flash memory
2,048 × 8 bits
Use prohibted
Direct addressing
Register indirect addressing
Based addressing
SFR addressing
Short direct addressing
FFFFH
FF00H
FEFFH
FF20H
FE1FH
FE80H
FE7FH
0800H
07FFH
0000H
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 35
Figure 3-6. Data Memory Addressing (
μ
PD78F9202, 78F9502)
Special function registers (SFR)
256 × 8 bits
Internal high-speed RAM
128 × 8 bits
Flash memory
4,096 × 8 bits
Use prohibted
Direct addressing
Register indirect addressing
Based addressing
SFR addressing
Short direct addressing
FFFFH
FF00H
FEFFH
FF20H
FE1FH
FE80H
FE7FH
1000H
0FFFH
0000H
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
36
3.2 Processor Registers
The 78K0S/KU1+ provide the following on-chip processor registers.
3.2.1 Control registers
The control registers have special functions to control the program sequence statuses and stack memory. The
control registers include a program counter, a program status word, and a stack pointer.
(1) Program counter (PC)
The program counter is a 16-bit register which holds the address information of the next program to be
executed.
In normal operation, the PC is automatically incremented according to the number of bytes of the instruction to
be fetched. When a branch instruction is executed, immediate data or register contents are set.
Reset signal generation sets the reset vector table values at addresses 0000H and 0001H to the program
counter.
Figure 3-7. Program Counter Configuration
015
PC14PC15PC PC13 PC12 PC11 PC10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
(2) Program status word (PSW)
The program status word is an 8-bit register consisting of various flags to be set/reset by instruction execution.
Program status word contents are stored in stack area upon interrupt request generation or PUSH PSW
instruction execution and are restored upon execution of the RETI and POP PSW instructions.
Reset signal generation sets PSW to 02H.
Figure 3-8. Program Status Word Configuration
70
IE Z 0 AC 0 0 1 CY
PSW
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 37
(a) Interrupt enable flag (IE)
This flag controls interrupt request acknowledge operations of the CPU.
When IE = 0, the interrupt disabled (DI) status is set. All interrupt requests are disabled.
When IE = 1, the interrupt enabled (EI) status is set. Interrupt request acknowledgment is controlled with
an interrupt mask flag for various interrupt sources.
This flag is reset to 0 upon DI instruction execution or interrupt acknowledgment and is set to 1 upon EI
instruction execution.
(b) Zero flag (Z)
When the operation result is zero, this flag is set to 1. It is reset to 0 in all other cases.
(c) Auxiliary carry flag (AC)
If the operation result has a carry from bit 3 or a borrow at bit 3, this flag is set to 1. It is reset to 0 in all
other cases.
(d) Carry flag (CY)
This flag stores overflow and underflow that have occurred upon add/subtract instruction execution. It
stores the shift-out value upon rotate instruction execution and functions as a bit accumulator during bit
operation instruction execution.
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
38
(3) Stack pointer (SP)
This is a 16-bit register to hold the start address of the memory stack area. Only the internal high-speed RAM
area can be set as the stack area (Other than the internal high-speed RAM area cannot be set as the stack
area).
Figure 3-9. Stack Pointer Configuration
015
SP14SP15SP SP13 SP12 SP11 SP10 SP9 SP8 SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0
The SP is decremented before writing (saving) to the stack memory and is incremented after reading
(restoring) from the stack memory.
Each stack operation saves/restores data as shown in Figures 3-10 and 3-11.
Caution 1. Since reset signal generation makes the SP contents undefined, be sure to initialize the
SP before using the stack memory.
2. Stack pointers can be set only to the high-speed RAM area, and only the lower 10 bits can
be actually set.
0FF00H is in the SFR area, not the high-speed RAM area, so it was converted to 0FB00H
that is in the high-speed RAM area.
When the value is actually pushed onto the stack, 1 is subtracted from 0FB00H to become
0FAFFH, but that value is not in the high-speed RAM area, so it is converted to 0FEFFH,
which is the same value as when 0FF00H is set to the stack pointer.
Figure 3-10. Data to Be Saved to Stack Memory
Interrupt
PSW
PC15 to PC8
PC15 to PC8
PC7 to PC0
Lower half
register pairs
SP SP _ 2
SP _ 2
CALL, CALLT
instructions
PUSH rp
instruction
SP _ 1
SP
SP SP _ 2
SP _ 2
SP _ 1
SP
PC7 to PC0
SP _ 3
SP _ 2
SP _ 1
SP
SP SP _ 3
Upper half
register pairs
Figure 3-11. Data to Be Restored from Stack Memory
RETI instruction
PSW
PC15 to PC8
PC15 to PC8
PC7 to PC0
Lower half
register pairs
RET instructionPOP rp
instruction
SP PC7 to PC0
Upper half
register pairs
SP + 1
SP SP + 2
SP
SP + 1
SP SP + 2
SP
SP + 1
SP + 2
SP SP + 3
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 39
3.2.2 General-purpose registers
A general-purpose register consists of eight 8-bit registers (X, A, C, B, E, D, L, and H).
In addition each register being used as an 8-bit register, two 8-bit registers in pairs can be used as a 16-bit register
(AX, BC, DE, and HL).
Registers can be described in terms of function names (X, A, C, B, E, D, L, H, AX, BC, DE, and HL) and absolute
names (R0 to R7 and RP0 to RP3).
Figure 3-12. General-Purpose Register Configuration
(a) Function names
X
15 0 7 0
16-bit processing 8-bit processing
HL
DE
BC
AX
A
C
B
E
D
L
H
(b) Absolute names
R0
15 0 7 0
16-bit processing 8-bit processing
RP3
RP2
RP1
RP0
R1
R2
R3
R4
R5
R6
R7
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
40
3.2.3 Special function registers (SFRs)
Unlike the general-purpose registers, each special function register has a special function.
The special function registers are allocated to the 256-byte area FF00H to FFFFH.
The special function registers can be manipulated, like the general-purpose registers, with operation, transfer, and
bit manipulation instructions. Manipulatable bit units (1, 8, and 16) differ depending on the special function register
type.
Each manipulation bit unit can be specified as follows.
1-bit manipulation
Describes a symbol reserved by the assembler for the 1-bit manipulation instruction operand (sfr.bit). This
manipulation can also be specified with an address and bit.
8-bit manipulation
Describes a symbol reserved by the assembler for the 8-bit manipulation instruction operand (sfr). This
manipulation can also be specified with an address.
16-bit manipulation
Describes a symbol reserved by the assembler for the 16-bit manipulation instruction operand. When specifying
an address, describe an even address.
Table 3-3 lists the special function registers. The meanings of the symbols in this table are as follows:
Symbol
Indicates the addresses of the implemented special function registers. It is defined as a reserved word in the
RA78K0S, and is defined as an sfr variable using the #pragma sfr directive in the CC78K0S. Therefore, these
symbols can be used as instruction operands if an assembler or integrated debugger is used.
R/W
Indicates whether the special function register can be read or written.
R/W: Read/write
R: Read only
W: Write only
Number of bits manipulated simultaneously
Indicates the bit units (1, 8, and 16) in which the special function register can be manipulated.
After reset
Indicates the status of the special function register when a reset is input.
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 41
Table 3-3. Special Function Registers (1/3)
Bit No. Number of Bits
Manipulated
Simultaneously
Address Symbol
7 6 5 4 3 2 1 0
R/W
1 8 16
After
Reset
Reference
page
FF00H,
FF01H
FF02H P2 0 0 0 0 P23 P22 P21 P20 00H 68
FF03H P3 0 0 0 P34 0 P32 0 0 00H 68
FF04H P4 0 0 0 0 P43 0 0 P40
R/W
Note 1
00H 68
FF05H to
FF0DH
FF0EH CMP01 00H 133
FF0FH CMP11
R/W
00H 133
FF10H,
FF11H
FF12H
FF13H
TM00
Note 2
R Note 3 0000H 92
FF14H
FF15H
CR000
Note 2
Note 3 0000H 92
FF16H
FF17H
CR010
Note 2
R/W
Note 3 0000H 94
FF18H
FF19H
ADCR
Note 2 0 0 0 0 0 0
Note 3 164
FF1AH ADCRH
Note 2
R
Undefined
165
FF1BH to
FF21H
FF22H PM2 1 1 1 1 PM23 PM22 PM21 PM20 FFH
67, 100,
136, 165
FF23H PM3 1 1 1 1 1 PM32 1 1 FFH 67
FF24H PM4 1 1 1 1 PM43 1 1 PM40
R/W
FFH 67
FF25H to
FF31H
FF32H PU2 0 0 0 0 PU23 PU22 PU21 PU20 00H 70
FF33H PU3 0 0 0 PU34
Note 4
0 PU32 0 0 00H 70
FF34H PU4 0 0 0 0 PU43 0 0 PU40
R/W
00H 70
FF35H to
FF47H
FF48H WDTM 0 1 1 WDCS
4
WDCS
3
WDCS
2
WDCS
1
WDCS
0
67H 149
FF49H WDTE
R/W
9AH 150
Notes 1. Only P34 is an input-only port.
2.
μ
PD78F920x only
3. A 16-bit access is possible only by the short direction addressing.
4.
μ
PD78F950x only
Remark For a bit name enclosed in angle brackets (<>), the bit name is defined as a reserved word in the RA78K0S,
and is defined as an sfr variable using the #pragma sfr directive in the CC78K0S.
<R>
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
42
Table 3-3. Special Function Registers (2/3)
Bit No. Number of Bits
Manipulated
Simultaneously
Address Symbol
7 6 5 4 3 2 1 0
R/W
1 8 16
After
Reset
Reference
page
FF50H LVIM <LVI
ON>
0 0 0 0 0 <LVI
MD>
<LVI
F>
00H
Note 1
209
FF51H LVIS 0 0 0 0 LVIS3 LVIS2 LVIS1 LVIS0
R/W
00H
Note 1
210
FF52H,
FF53H
FF54H RESF 0 0 0 WDT
RF
0 0 0 LVIRF R 00H
Note 2
203
FF55H to
FF57H
FF58H LSRCM 0 0 0 0 0 0 0 <LSR
STOP>
R/W 00H 77
FF59H to
FF5FH
FF60H TMC00
Note 3
0 0 0 0 TMC
003
TMC
002
TMC
001
<OVF
00>
00H 95
FF61H PRM00
Note 3
ES110 ES100 ES010 ES000 0 0 PRM
001
PRM
000
00H 99
FF62H CRC00
Note 3
0 0 0 0 0 CRC
002
CRC
001
CRC
000
00H 97
FF63H TOC00
Note 3
0 <OSPT
00>
<OSPE
00>
TOC
004
<LVS
00>
<LVR
00>
TOC
001
<TOE
00>
R/W
00H 98
FF64H to
FF6FH
FF70H TMHMD
1
<TMH
E1>
CKS12 CKS11 CKS10 TMMD
11
TMMD
10
<TOLE
V1>
<TOEN
1>
R/W 00H 134
FF71H to
FF7FH
FF80H ADM
Note 3
<ADCS>
0 FR2 FR1 FR0 0 0
<ADCE>
00H 161
FF81H ADS
Note 3
0 0 0 0 0 0 ADS1 ADS0
R/W
00H 164
FF82H,
FF83H
FF84H PMC2
Note 3
0 0 0 0 PMC23 PMC22 PMC21 PMC20 R/W 00H
68, 100,
136, 165
FF85H to
FF9FH
Notes 1. Retained only after a reset by LVI.
2. Varies depending on the reset cause.
3.
μ
PD78F920x only
Remark For a bit name enclosed in angle brackets (<>), the bit name is defined as a reserved word in the RA78K0S,
and is defined as an sfr variable using the #pragma sfr directive in the CC78K0S.
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 43
Table 3-3. Special Function Registers (3/3)
Bit No. Number of Bits
Manipulated
Simultaneously
Address Symbol
7 6 5 4 3 2 1 0
R/W
1 8 16
After
Reset
Reference
page
FFA0H PFCMD REG7 REG6 REG5 REG4 REG3 REG2 REG1 REG0 W
Undefined
239
FFA1H PFS 0 0 0 0 0 WEPR
ERR
VCE
RR
FPR
ERR
00H 239
FFA2H FLPMC 0 PRSEL
F4
PRSEL
F3
PRSEL
F2
PRSEL
F1
PRSEL
F0
0 FLSPM
Undefined
238
FFA3H FLCMD 0 0 0 0 0 FLCM
D2
FLCM
D1
FLCMD
0
00H 241
FFA4H FLAPL FLA
P7
FLA
P6
FLA
P5
FLA
P4
FLA
P3
FLA
P2
FLA
P1
FLA
P0
FFA5H FLAPH 0 0 0 0 FLA
P11
FLA
P10
FLA
P9
FLA
P8
00H
242
FFA6H FLAPHC 0 0 0 0 FLAP
C11
FLAP
C10
FLAP
C9
FLAP
C8
FFA7H FLAPLC FLAP
C7
FLAP
C6
FLAP
C5
FLAP
C4
FLAP
C3
FLAP
C2
FLAP
C1
FLAP
C0
00H 242
FFA8H FLW FLW7 FLW6 FLW5 FLW4 FLW3 FLW2 FLW1 FLW0
R/W
00H 243
FFA9H to
FFDFH
FFE0H IF0
<ADIF>
Note 1
<TMIF
010>
Note 1
<TMIF
000>
Note 1
<TMIF
H1>
<PIF1> <PIF0>
<LVIIF>
0 R/W 00H 179
FFE1H to
FFE3H
FFE4H MK0 <ADM
K>
Note 1
<TMM
K010>
Note 1
<TMM
K000>
Note 1
<TMM
KH1>
<PMK
1>
<PMK
0>
<LVI
MK>
1 R/W FFH 180
FFE5H to
FFEBH
FFECH INTM0 0 0 ES11 ES10 ES01 ES00 0 0 R/W 00H 180
FFEDH
to FFF2H
FFF3H PPCC 0 0 0 0 0 0 PPCC1 PPCC0 02H 76
FFF4H OSTS
Note 1
0 0 0 0 0 0 OSTS1 OSTS0
R/W
Undefined
Note 2
78, 188
FFF5H to
FFFAH
FFFBH PCC 0 0 0 0 0 0 PCC1 0 R/W 02H 76
Notes 1.
μ
PD78F920x only
2. The oscillation stabilization time that elapses after release of reset is selected by the option byte. For
details, refer to CHAPTER 15 OPTION BYTE.
Remark For a bit name enclosed in angle brackets (<>), the bit name is defined as a reserved word in the RA78K0S,
and is defined as an sfr variable using the #pragma sfr directive in the CC78K0S.
<R>
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
44
3.3 Instruction Address Addressing
An instruction address is determined by the program counter (PC) contents. The PC contents are normally
incremented (+1 for each byte) automatically according to the number of bytes of an instruction to be fetched each
time another instruction is executed. When a branch instruction is executed, the branch destination address
information is set to the PC to branch by the following addressing (for details of each instruction, refer to 78K/0S
Series Instructions User’s Manual (U11047E)).
3.3.1 Relative addressing
[Function]
The value obtained by adding 8-bit immediate data (displacement value: jdisp8) of an instruction code to the start
address of the following instruction is transferred to the program counter (PC) to branch. The displacement
value is treated as signed two’s complement data (–128 to +127) and bit 7 becomes the sign bit. In other words,
the range of branch in relative addressing is between –128 and +127 of the start address of the following
instruction.
This function is carried out when the BR $addr16 instruction or a conditional branch instruction is executed.
[Illustration]
15 0
PC
15 0
S
15 0
PC
+
876
α
jdisp8
When S = 0, α indicates that all bits are “0”.
... PC is the start address of
the next instruction of
a BR instruction.
When S = 1, α indicates that all bits are “1”.
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 45
3.3.2 Immediate addressing
[Function]
Immediate data in the instruction word is transferred to the program counter (PC) to branch.
This function is carried out when the CALL !addr16 and BR !addr16 instructions are executed.
CALL !addr16 and BR !addr16 instructions can be used to branch to all the memory spaces.
[Illustration]
In case of CALL !addr16 and BR !addr16 instructions
15 0
PC
87
70
CALL or BR
Low addr.
High addr.
PC
PC+1
PC+2
3.3.3 Table indirect addressing
[Function]
The table contents (branch destination address) of the particular location to be addressed by the immediate data
of an instruction code from bit 1 to bit 5 are transferred to the program counter (PC) to branch.
Table indirect addressing is carried out when the CALLT [addr5] instruction is executed. This instruction can be
used to branch to all the memory spaces according to the address stored in the memory table 40H to 7FH.
[Illustration]
15 1
15 0
PC
70
Low addr.
High addr.
Memory (Table)
Effective address + 1
Effective address 01
00000000
87
87
65 0
0
001
765 10
ta4–0
Instruction code
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
46
3.3.4 Register addressing
[Function]
The register pair (AX) contents to be specified with an instruction word are transferred to the program counter
(PC) to branch.
This function is carried out when the BR AX instruction is executed.
[Illustration]
70
rp
07
AX
15 0
PC
87
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 47
3.4 Operand Address Addressing
The following methods (addressing) are available to specify the register and memory to undergo manipulation
during instruction execution.
3.4.1 Direct addressing
[Function]
The memory indicated by immediate data in an instruction word is directly addressed.
[Operand format]
Identifier Description
addr16 Label or 16-bit immediate data
[Description example]
MOV A, !FE80H; When setting !addr16 to FE80H
Instruction code 0 0 1 0 1 0 0 1 OP Code
1 0 0 0 0 0 0 0 80H
1 1 1 1 1 1 1 0 FEH
[Illustration]
70
OP code
addr16 (low)
addr16 (high)
Memory
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
48
3.4.2 Short direct addressing
[Function]
The memory to be manipulated in the fixed space is directly addressed with the 8-bit data in an instruction word.
The fixed space where this addressing is applied is the 160-byte space FE80H to FF1FH (FE80H to FEFFH
(internal high-speed RAM) + FF00H to FF1FH (special function registers)).
The SFR area where short direct addressing is applied (FF00H to FF1FH) is a part of the total SFR area. In this
area, ports which are frequently accessed in a program and a compare register of the timer counter are mapped,
and these SFRs can be manipulated with a small number of bytes and clocks.
When 8-bit immediate data is at 80H to FFH, bit 8 of an effective address is cleared to 0. When it is at 00H to
1FH, bit 8 is set to 1. See [Illustration] below.
Identifier Description
saddr Label or FE80H to FF1FH immediate data
saddrp Label or FE80H to FF1FH immediate data (even address only)
[Description example]
EQU DATA1 0FE90H ; DATA1 shows FE90H of a saddr area,
MOV DATA1, #50H ; When setting the immediate data to 50H
Instruction code 1 1 1 1 0 1 0 1 OP code
1 0 0 1 0 0 0 0 90H (saddr-offset)
0 1 0 1 0 0 0 0 50H (immediate data)
[Illustration]
15 0
Short direct memory
Effective
address 1111111
8
07
OP code
saddr-offset
α
When 8-bit immediate data is 20H to FFH, = 0.
When 8-bit immediate data is 00H to 1FH, = 1.
α
α
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 49
3.4.3 Special function register (SFR) addressing
[Function]
A memory-mapped special function register (SFR) is addressed with the 8-bit immediate data in an instruction
word.
This addressing is applied to the 256-byte space FF00H to FFFFH. However, SFRs mapped at FF00H to
FF1FH are accessed with short direct addressing.
[Operand format]
Identifier Description
sfr Special function register name
[Description example]
MOV PM0, A; When selecting PM0 for sfr
Instruction code 1 1 1 0 0 1 1 1
0 0 1 0 0 0 0 0
[Illustration]
15 0
SFR
Effective
address 1111111
87
07
OP code
sfr-offset
1
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
50
3.4.4 Register addressing
[Function]
A general-purpose register is accessed as an operand.
The general-purpose register to be accessed is specified with the register specify code and functional name in
the instruction code.
Register addressing is carried out when an instruction with the following operand format is executed. When an
8-bit register is specified, one of the eight registers is specified with 3 bits in the instruction code.
[Operand format]
Identifier Description
r X, A, C, B, E, D, L, H
rp AX, BC, DE, HL
‘r’ and ‘rp’ can be described with absolute names (R0 to R7 and RP0 to RP3) as well as function names (X, A, C,
B, E, D, L, H, AX, BC, DE, and HL).
[Description example]
MOV A, C; When selecting the C register for r
Instruction code 0 0 0 0 1 0 1 0
0 0 1 0 0 1 0 1
Register specify code
INCW DE; When selecting the DE register pair for rp
Instruction code 1 0 0 0 1 0 0 0
Register specify code
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 51
3.4.5 Register indirect addressing
[Function]
The memory is addressed with the contents of the register pair specified as an operand. The register pair to be
accessed is specified with the register pair specify code in the instruction code. This addressing can be carried
out for all the memory spaces.
[Operand format]
Identifier Description
[DE], [HL]
[Description example]
MOV A, [DE]; When selecting register pair [DE]
Instruction code 0 0 1 0 1 0 1 1
[Illustration]
15 08
D
7
E
07
7 0
A
DE
The contents of addressed
memory are transferred
Memory address specified
by register pair DE
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD
52
3.4.6 Based addressing
[Function]
8-bit immediate data is added to the contents of the base register, that is, the HL register pair, and the sum is
used to address the memory. Addition is performed by expanding the offset data as a positive number to 16 bits.
A carry from the 16th bit is ignored. This addressing can be carried out for all the memory spaces.
[Operand format]
Identifier Description
[HL+byte]
[Description example]
MOV A, [HL+10H]; When setting byte to 10H
Instruction code 0 0 1 0 1 1 0 1
0 0 0 1 0 0 0 0
[Illustration]
16 08
H
7
L
07
7 0
A
HL
The contents of addressed
memory are transferred
+10H
Memory
CHAPTER 3 CPU ARCHITECTURE
User’s Manual U18172EJ3V0UD 53
3.4.7 Stack addressing
[Function]
The stack area is indirectly addressed with the stack pointer (SP) contents.
This addressing method is automatically employed when the PUSH, POP, subroutine call, and return instructions
are executed or the register is saved/restored upon interrupt request generation.
Stack addressing can be used to access the internal high-speed RAM area only.
[Description example]
In the case of PUSH DE
Instruction code 1 0 1 0 1 0 1 0
[Illustration]
FEE0H
FEE0H
FEDFH
FEDEH
D
E
FEDEH
SP
SP
70
Memory
User’s Manual U18172EJ3V0UD
54
CHAPTER 4 PORT FUNCTIONS
4.1 Functions of Ports
The 78K0S/KU1+ has the ports shown in Figure 4-1, which can be used for various control operations. Table 4-1
shows the functions of each port.
In addition to digital I/O port functions, each of these ports has an alternate function. For details, refer to
CHAPTER 2 PIN FUNCTIONS.
Figure 4-1. Port Functions
P43
Port 4 P40 P20
Port 2
P23
P32 Port 3
P34
Table 4-1. Port Functions (
μ
PD78F920x)
Pin Name I/O Function After Reset Alternate-
Function Pin
P20 ANI0/TI000/TOH1
P21 ANI1/TI010/TO00/
INTP0
P22Note 1 X2/ANI2Note 1
P23Note 1
I/O Port 2.
4-bit I/O port.
Can be set to input or output mode in 1-bit units.
On-chip pull-up resistor can be connected by setting software.
Input
X1/ANI3Note 1
P32 I/O Can be set to input or output mode in 1-
bit units.
On-chip pull-up resistor can be
connected by setting software.
Input INTP1
P34Note 1 Input
Port 3
Input only Input RESETNote 1
P40 and P43Note 2 I/O Port 4.
2-bit I/O port.
Can be set to input or output mode in 1-bit units.
On-chip pull-up resistor can be connected setting software.
Input
Notes 1. For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
2. At program initialization, set PM41, PM42, and PM44 to PM47 to "0".
Caution The P22/X2/ANI2 and P23/X1/ANI3 pins are pulled down during reset.
Remarks 1. P22 and P23 can be allocated when the high-speed internal oscillation is selected as the system clock.
2. P22 can be allocated when an external clock input is selected as the system clock.
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 55
Table 4-2. Port Functions (
μ
PD78F950x)
Pin Name I/O Function After Reset Alternate-
Function Pin
P20 TOH1
P21 INTP0
P22
P23Note
I/O Port 2.
4-bit I/O port.
Can be set to input or output mode in 1-bit units.
On-chip pull-up resistor can be connected by setting software.
Input
EXCLKNote
P32 I/O Can be set to input or output mode in 1-
bit units.
Input INTP1
P34Note Input
Port 3.
On-chip pull-up
resistor can be
connected by
setting software. Input only Input RESETNote
P40 and P43 I/O Port 4.
2-bit I/O port.
Can be set to input or output mode in 1-bit units.
On-chip pull-up resistor can be connected setting software.
Input
Note For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
Caution The P22 and P23/EXCLK pins are pulled down during reset. The P34/RESET pin is pulled up during
reset by the reset pin function/power-on clear circuit.
Remark P23 can be allocated when the high-speed internal oscillation is selected as the system clock.
4.2 Port Configuration
Ports consist of the following hardware units.
Table 4-3. Configuration of Ports
Item Configuration
Control registers Port mode registers (PM2 to PM4)
Port registers (P2 to P4)
Port mode control register 2 (PMC2) (
μ
PD78F920x only)
Pull-up resistor option registers (PU2 to PU4)
Ports Total: 8 (CMOS I/O: 7, CMOS input: 1)
Pull-up resistor Total: 7
<R>
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
56
4.2.1 Port 2
(1)
μ
PD78F920x
Port 2 is a 4-bit I/O port with an output latch. Each bit of this port can be set to the input or output mode by using
port mode register 2 (PM2). When the P20 to P23 pins are used as an input port, an on-chip pull-up resistor can be
connected in 1-bit units by using pull-up resistor option register 2 (PU2).
This port can also be used for A/D converter analog input, timer I/O, and external interrupt request input.
The P22 and P23 pins are also used as the X2 and X1 pins of the system clock oscillator. The functions of the P22
and P23 pins differ, therefore, depending on the selected system clock oscillator. The following three system clock
oscillators can be used.
<1> High-speed internal oscillator
The P22 and P23 pins can be used as I/O port pins or analog input pins to the A/D converter.
<2> Crystal/ceramic oscillator
The P22 and P23 pins cannot be used as I/O port pins or analog input pins to the A/D converter because
they are used as the X2 and X1 pins.
<3> External clock input
The P22 pin can be used as an I/O port pin or an analog input pin to the A/D converter.
The P23 pin is used as the X1 pin to input an external clock, and therefore it cannot be used as an I/O port
pin or an analog input pin to the A/D converter.
The system clock oscillation is selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
Reset signal generation sets port 2 to the input mode.
Figures 4-2 and 4-4 show the block diagrams of port 2.
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 57
Figure 4-2. Block Diagram of P20 and P21 (
μ
PD78F920x)
P20/ANI0/TI000/TOH1,
P21/ANI1/TI010/TO00/INTP0
RD
WR
PM
PM20, PM21
PM2
WR
PORT
WR
PU
PU20, PU21
V
DD
P-ch
PU2
PMC2
PMC20, PMC21
A/D converter
Alternate
function
Alternate
function
Selector
Output latch
(P20, P21)
Internal bus
P2
WR
PMC
P2: Port register 2
PU2: Pull-up resistor option register 2
PM2: Port mode register 2
PMC2: Port mode control register 2
RD: Read signal
WR××: Write signal
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
58
Figure 4-3. Block Diagram of P22 (
μ
PD78F920x)
P22/ANI2/X2
WR
PU
WR
PMC
RD
PU22
WR
PM
PM22
V
DD
P-ch
PU2
PM2
WR
PORT
Output latch
(P22)
A/D converter
PMC2
PMC22
Internal bus
Selector
P2
P2: Port register 2
PU2: Pull-up resistor option register 2
PM2: Port mode register 2
PMC2: Port mode control register 2
RD: Read signal
WR××: Write signal
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 59
Figure 4-4. Block Diagram of P23 (
μ
PD78F920x)
P23/ANI3/X1
WR
PU
WR
PMC
RD
PU23
WR
PM
PM23
V
DD
P-ch
PU2
PMC2
PM2
WR
PORT
Output latch
(P23)
PMC23
A/D converter
Internal bus
Selector
P2
P2: Port register 2
PU2: Pull-up resistor option register 2
PM2: Port mode register 2
PMC2: Port mode control register 2
RD: Read signal
WR××: Write signal
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
60
(2)
μ
PD78F950x
Port 2 is a 4-bit I/O port with an output latch. Each bit of this port can be set to the input or output mode by using
port mode register 2 (PM2). When the P20 to P23 pins are used as an input port, an on-chip pull-up resistor can be
connected in 1-bit units by using pull-up resistor option register 2 (PU2).
This port can also be used for timer I/O, and external interrupt request input.
The P23 pin is also used as the EXCLK pin of the system clock oscillator. The functions of the EXCLK pin differs,
therefore, depending on the selected system clock oscillator. The following two system clock oscillators can be used.
<1>High-speed internal oscillator
The P23 pin can be used as I/O port pin.
<2>External clock input
The P23 pin is used as the EXCLK pin to input an external clock, and therefore it cannot be used as an I/O
port pin.
The system clock oscillation is selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
Reset signal generation sets port 2 to the input mode.
Figures 4-5 to 4-7 show the block diagrams of port 2.
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 61
Figure 4-5. Block Diagram of P20 and P21 (
μ
PD78F950x)
P20/TOH1,
P21/INTP0
RD
WR
PM
PM20, PM21
PM2
WR
PORT
WR
PU
PU20, PU21 P-ch
PU2
Alternate
function
Alternate
function
Selector
Output latch
(P20, P21)
Internal bus
P2
V
DD
P2: Port register 2
PU2: Pull-up resistor option register 2
PM2: Port mode register 2
RD: Read signal
WR××: Write signal
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
62
Figure 4-6. Block Diagram of P22 (
μ
PD78F950x)
P22
WR
PU
RD
PU22
WR
PM
PM22
V
DD
P-ch
PU2
PM2
WR
PORT
P2
Internal bus
Output latch
(P22)
Selector
P2: Port register 2
PU2: Pull-up resistor option register 2
PM2: Port mode register 2
RD: Read signal
WR××: Write signal
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 63
Figure 4-7. Block Diagram of P23 (
μ
PD78F950x)
P23/EXCLK
WR
PU
RD
PU23
WR
PM
PM23
P-ch
PU2
PM2
WR
PORT
P2
Internal bus
Output latch
(P23)
Selector
V
DD
P2: Port register 2
PU2: Pull-up resistor option register 2
PM2: Port mode register 2
RD: Read signal
WR××: Write signal
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
64
4.2.2 Port 3
The P32 pin is a 1-bit I/O port with an output latch. This pin can be set to the input or output mode by using port
mode register 3 (PM3). When this pin is used as an input port, an on-chip pull-up resistor can be connected in 1-bit
units by using pull-up resistor option register 3 (PU3). This pin can also be used for external interrupt request input.
The P32 pin is a Reset signal generation sets port 3 to the input mode.
The P34 pin is a 1-bit input-only port. This pin is also used as a RESET pin, and when the power is turned on, this
is the reset function. For the setting method for pin functions, see CHAPTER 15 OPTION BYTE.
When P34 in
μ
PD78F920x is used as an input port pin, connect the pull-up resistor.
When P34 in
μ
PD78F950x is used as an input port pin, an on-chip pull-up resistor can be connected in 1-bit units
by using pull-up resistor option register 3 (PU3).
Figures 4-8 and 4-10 show the block diagrams of port 3.
Figure 4-8. Block Diagram of P32
P32/INTP1
WR
PU
RD
WR
PORT
WR
PM
PU32
PM32
V
DD
P-ch
PU3
PM3
Alternate
function
Selector
Output latch
(P32)
Internal bus
P3
P3: Port register 3
PU3: Pull-up resistor option register 3
PM3: Port mode register 3
RD: Read signal
WR××: Write signal
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 65
Figure 4-9. Block Diagram of P34 (
μ
PD78F920x)
RD
P34/RESET
Option
byte
Reset
Internal bus
RD: Read signal
Caution Because the P34 pin functions alternately as the RESET pin, if it is used as an input port pin, the
function to input an external reset signal to the RESET pin cannot be used. The function of the
port is selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
Also, since the option byte is referenced after the reset release, if low level is input to the RESET
pin before the referencing, then the reset state is not released. When it is used as an input port
pin, connect the pull-up resistor.
Figure 4-10. Block Diagram of P34 (
μ
PD78F950x)
RD
P34/RESET
Reset
WR
PU
PU34
PU3
P-ch
Internal bus
Option byte
V
DD
RD: Read signal
Caution Because the P34 pin functions alternately as the RESET pin, if it is used as an input port pin, the
function to input an external reset signal to the RESET pin cannot be used. The function of the
port is selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
Also, since the option byte is referenced after the reset release, if low level is input to the RESET
pin before the referencing, then the reset state is not released. When it is used as an input port
pin, connect an on-chip pull-up resistor by using bit 4 (PU34) of pull-up resistor option register 3
(PU3).
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
66
4.2.3 Port 4
Port 4 is a 2-bit I/O port with an output latch. Each bit of this port can be set to the input or output mode by using
port mode register 4 (PM4)Note. When the P40 and P43 pins are used as an input port, an on-chip pull-up resistor can
be connected in 1-bit units by using pull-up resistor option register 4 (PU4).
Reset signal generation sets port 4 to the input mode.
Figures 4-11 shows the block diagram of port 4.
Note In
μ
PD78F920x, set PM41, PM42, and PM44 to PM47 to "0" at program initialization.
Figure 4-11. Block Diagram of P40 and P43
P40, P43
WR
PU
RD
WR
PORT
WR
PM
PU40, PU43
PM40, PM43
V
DD
P-ch
PU4
PM4
Internal bus
Output latch
(P40, P43)
Selector
P4
P4: Port register 4
PU4: Pull-up resistor option register 4
PM4: Port mode register 4
RD: Read signal
WR××: Write signal
4.3 Registers Controlling Port Functions
The ports are controlled by the following four types of registers.
Port mode registers (PM2 to PM4)
Port registers (P2 to P4)
Port mode control register 2 (PMC2) (
μ
PD78F920x only)
Pull-up resistor option registers (PU2 to PU4)
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 67
(1) Port mode registers (PM2 to PM4)
These registers are used to set the corresponding port to the input or output mode in 1-bit units.
Each port mode register can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets these registers to FFH.
When a port pin is used as an alternate-function pin, set its port mode register and output latch as shown in
Table 4-4.
Caution Because P21 and P32 are also used as external interrupt pins, the corresponding interrupt
request flag is set if each of these pins is set to the output mode and its output level is
changed. To use the port pin in the output mode, therefore, set the corresponding interrupt
mask flag to 1 in advance.
Figure 4-12. Format of Port Mode Register
Address: FF22H, After reset: FFH, R/W
Symbol 7 6 5 4 3 2 1 0
PM2 1 1 1 1 PM23 PM22 PM21 PM20
Address: FF23H, After reset: FFH, R/W
Symbol 7 6 5 4 3 2 1 0
PM3 1 1 1 1 1 PM32 1 1
Address: FF24H, After reset: FFH, R/W
Symbol 7 6 5 4 3 2 1 0
PM4 1Note 1
Note 1
Note 1
Note PM43 1 Note 1
Note PM40
PMmn Selection of I/O mode of Pmn pin (m = 2 to 4; n = 0 to 3)
0 Output mode (output buffer ON)
1 Input mode (output buffer OFF)
Note In
μ
PD78F920x, set PM41, PM42, and PM44 to PM47 to "0" at program initialization.
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
68
(2) Port registers (P2 to P4)
These registers are used to write data to be output from the corresponding port pin to an external device
connected to the chip.
When a port register is read, the pin level is read in the input mode, and the value of the output latch of the
port is read in the output mode.
P20 to P23, P32, P40 and P43 are set by using a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets these registers to 00H.
Figure 4-13. Format of Port Register
Address: FF02H, After reset: 00H (Output latch) R/W
Symbol 7 6 5 4 3 2 1 0
P2 0 0 0 0 P23 P22 P21 P20
Address: FF03H, After reset: 00HNote (Output latch) R/WNote
Symbol 7 6 5 4 3 2 1 0
P3 0 0 0 P34 0 P32 0 0
Address: FF04H, After reset: 00H (Output latch) R/W
Symbol 7 6 5 4 3 2 1 0
P4 0 0 0 0 P43 0 0 P40
m = 2 to 4; n = 0 to 4 Pmn
Controls of output data (in output mode) Input data read (in input mode)
0 Output 0 Input low level
1 Output 1 Input high level
Note Because P34 is read-only, its reset value is undefined.
(3) Port mode control register 2 (PMC2) (
μ
PD78F920x only)
This register specifies the port/alternate function (except the A/D converter function) mode or the A/D
converter mode.
Each bit of the PMC2 register corresponds to each pin of port 2 and can be specified in 1-bit units.
PMC2 is set by using a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets PMC2 to 00H.
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 69
Figure 4-14. Format of Port Mode Control Register 2 (
μ
PD78F920x only)
Address: FF84H, After reset: R/W
Symbol 7 6 5 4 3 2 1 0
PMC2 0 0 0 0 PMC23 PMC22 PMC21 PMC20
PMC2n Specification of operation mode (n = 0 to 3)
0 Port/alternate-function (except the A/D converter function) mode
1 A/D converter mode
Caution When PMC20 to PMC23 are set to 1, the port function on the P20/ANI0 to P23/ANI3 pins cannot
be used. Moreover, be sure to set the pull-up resistor option registers (PU20 to PU23) to 0 for the
pins set to A/D converter mode.
Table 4-4. Setting of Port Mode Register, Port Register (Output Latch), and Port Mode Control Register
When Alternate Function Is Used
Alternate-Function Pin
Port Name
Name I/O
PM×× P×× PMC2n
(n = 0 to 3)
Note
ANI0Note Input 1
× 1
TI000Note Input 1
× 0
P20
TOH1 Output 0 0 0
ANI1Note Input 1
× 1
TI010Note Input 1
× 0
TO00 Note Output 0 0 0
P21
INTP0 Input 1
× 0
P22 ANI2Note Input 1
× 1
P23 ANI3Note Input 1
× 1
P32 INTP1 Input 1 ×
Note
μ
PD78F920x only
Remark ×: don’t care
PM××: Port mode register, P××: Port register (output latch of port)
PMC2×: Port mode control register
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD
70
(4) Pull-up resistor option registers (PU2 to PU4)
These registers are used to specify whether an on-chip pull-up resistor is connected to P20 to P23, P32, P34,
P40 and P43. By setting PU2 to PU4, an on-chip pull-up resistor can be connected to the port pin
corresponding to the bit of PU2 to PU4.
PU2 to PU4 are set by using a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation set these registers to 00H.
Figure 4-15. Format of Pull-up Resistor Option Register
Address: FF32H, After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PU2 0 0 0 0 PU23 PU22 PU21 PU20
Address: FF33H, After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PU3 0 0 0
PU34Note 0 PU32 0 0
Address: FF34H, After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PU4 0 0 0 0 PU43 0 0 PU40
PUmn Selection of connection of on-chip pull-up resistor of Pmn (m = 2 to 4; n = 0 to 4)
0 Does not connect on-chip pull-up resistor
1 Connects on-chip pull-up resistor
Note
μ
PD78F950x only
<R>
CHAPTER 4 PORT FUNCTIONS
User’s Manual U18172EJ3V0UD 71
4.4 Operation of Port Function
The operation of a port differs, as follows, depending on the setting of the I/O mode.
Caution Although a 1-bit memory manipulation instruction manipulates 1 bit, it accesses a port in 8-bit
units. Therefore, the contents of the output latch of a pin in the input mode, even if it is not
subject to manipulation by the instruction, are undefined in a port with a mixture of inputs and
outputs.
4.4.1 Writing to I/O port
(1) In output mode
A value can be written to the output latch by a transfer instruction. In addition, the contents of the output latch are
output from the pin. Once data is written to the output latch, it is retained until new data is written to the output
latch.
When a reset signal is generated, cleans the data in the output latch.
(2) In input mode
A value can be written to the output latch by a transfer instruction. Because the output buffer is off, however, the
pin status remains unchanged.
Once data is written to the output latch, it is retained until new data is written to the output latch.
When a reset signal is generated, cleans the data in the output latch.
4.4.2 Reading from I/O port
(1) In output mode
The contents of the output latch can be read by a transfer instruction. The contents of the output latch remain
unchanged.
(2) In input mode
The pin status can be read by a transfer instruction. The contents of the output latch remain unchanged.
4.4.3 Operations on I/O port
(1) In output mode
An operation is performed on the contents of the output latch and the result is written to the output latch. The
contents of the output latch are output from the pin.
Once data is written to the output latch, it is retained until new data is written to the output latch.
Reset signal generation clears the data in the output latch.
(2) In input mode
The pin level is read and an operation is performed on its contents. The operation result is written to the output
latch. However, the pin status remains unchanged because the output buffer is off.
When a reset signal is generated, cleans the data in the output latch.
User’s Manual U18172EJ3V0UD
72
CHAPTER 5 CLOCK GENERATORS
5.1 Functions of Clock Generators
The clock generators include a circuit that generates a clock (system clock) to be supplied to the CPU and
peripheral hardware, and a circuit that generates a clock (interval time generation clock) to be supplied to the
watchdog timer and 8-bit timer H1 (TMH1).
5.1.1 System clock oscillators
The following three types of system clock oscillators are used.
High-speed internal oscillator
This circuit internally oscillates a clock of 8 MHz (TYP.). Its oscillation can be stopped by execution of the STOP
instruction.
If the High-speed internal oscillator is selected to supply the system clock, the X1 and X2 pins in
μ
PD78F920x,
and the EXCLK pin in
μ
PD78F950x can be used as I/O port pins.
Crystal/ceramic oscillatorNote 1
This circuit oscillates a clock with a crystal/ceramic oscillator connected across the X1 and X2 pins. It can
oscillate a clock of 2 MHz to 10 MHz. Oscillation of this circuit can be stopped by execution of the STOP
instruction.
External clock input circuit
This circuit supplies a clock from an external IC to the X1 pin Note 2. A clock of 2 MHz to 10 MHz can be supplied.
Internal clock supply can be stopped by execution of the STOP instruction.
If the external clock input is selected as the system clock, the X2 pin can be used as an I/O port pin.Note 1
The system clock source is selected by using the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
When using the X1 and X2 pins in
μ
PD78F920x, and the EXCLK pin in
μ
PD78F950x as I/O port pins, refer to
CHAPTER 4 PORT FUNCTIONS for details.
Notes 1.
μ
PD78F920x only
2.
μ
PD78F920x: X1 pin,
μ
PD78F950x: EXCLK pin
5.1.2 Clock oscillator for interval time generation
The following circuit is used as a clock oscillator for interval time generation.
Low-speed internal oscillator
This circuit oscillates a clock of 240 kHz (TYP.). Its oscillation can be stopped by using the low-speed internal
oscillation mode register (LSRCM) when it is specified by the option byte that its oscillation can be stopped by
software.
<R>
<R>
<R>
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 73
5.2 Configuration of Clock Generators
The clock generators consist of the following hardware.
Table 5-1. Configuration of Clock Generators
Item Configuration
Control registers Processor clock control register (PCC)
Preprocessor clock control register (PPCC)
Low-speed internal oscillation mode register (LSRCM)
Oscillation stabilization time select register (OSTS) (
μ
PD78F920x only)
Oscillators Crystal/ceramic oscillator (
μ
PD78F920x only)
High-speed internal oscillator
External clock input circuit
Low-speed internal oscillator
<R>
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
74
Figure 5-1. Block Diagram of Clock Generators (1/2)
(1)
μ
PD78F920x
X1/P23/ANI3
X2/P22/ANI2
f
X
f
X
2
PCC1
Controller
Selector
CPU clock
(f
CPU
)
Internal bus
Internal bus
Oscillation stabilization
time select register (OSTS)
Preprocessor clock
control register (PPCC)
Processor clock
control register (PCC)
STOP
PPCC1 PPCC0OSTS1 OSTS0
f
XP
2
2
f
XP
f
X
2
2
f
RL
LSRSTOP
CPU
System clock oscillation
stabilization time counter
Selector
Prescaler
Clock to peripheral
hardware (f
XP
)
8-bit timer H1,
watchdog timer
Option byte
1: Cannot be stopped.
0: Can be stopped.
Low-speed internal oscillation
mode register (LSRCM)
Low-speed
internal
oscillator
Prescaler
System clock
oscillator
Note
External clock
input
Crystal/ceramic
oscillation
High-speed
internal
oscillation
Watchdog timer
Note Select the high-speed internal oscillator, crystal/ceramic oscillator, or external clock input circuit as the
system clock source by using the option byte.
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 75
Figure 5-1. Block Diagram of Clock Generators (2/2)
(2)
μ
PD78F950x
EXCLK/P23
f
X
f
X
2
PCC1
Selector
CPU clock
(f
CPU
)
Internal bus
Internal bus
Preprocessor clock
control register (PPCC)
Processor clock
control register (PCC)
STOP
PPCC1 PPCC0
f
XP
2
2
f
XP
f
X
2
2
f
RL
LSRSTOP
CPU
Selector
Prescaler
Clock to peripheral
hardware (f
XP
)
8-bit timer H1,
watchdog timer
Option byte
1: Cannot be stopped.
0: Can be stopped.
Low-speed internal oscillation
mode register (LSRCM)
Low-speed
internal
oscillator
Prescaler
System clock
oscillator
Note
External clock
input
High-speed
internal
oscillation
Watchdog timer
Note Select the high-speed internal oscillator or external clock input circuit as the system clock source by using
the option byte.
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
76
5.3 Registers Controlling Clock Generators
The clock generators are controlled by the following four registers.
Processor clock control register (PCC)
Preprocessor clock control register (PPCC)
Low-speed internal oscillation mode register (LSRCM)
Oscillation stabilization time select register (OSTS) (
μ
PD78F920x only)
(1) Processor clock control register (PCC) and preprocessor clock control register (PPCC)
These registers are used to specify the division ratio of the system clock.
PCC and PPCC are set by using a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets PCC and PPCC to 02H.
Figure 5-2. Format of Processor Clock Control Register (PCC)
Address: FFFBH, After reset: 02H, R/W
Symbol 7 6 5 4 3 2 1 0
PCC 0 0 0 0 0 0 PCC1 0
Figure 5-3. Format of Preprocessor Clock Control Register (PPCC)
Address: FFF3H, After reset: 02H, R/W
Symbol 7 6 5 4 3 2 1 0
PPCC 0 0 0 0 0 0 PPCC1 PPCC0
PPCC1 PPCC0 PCC1 Selection of CPU clock (fCPU) Note 1
0 0 0 fX
0 1 0 fX/2 Note 2
0 0 1 fX/22
1 0 0 fX/22 Note 3
0 1 1 fX/23 Note 2
1 0 1 fX/24 Note 3
Other than above Setting prohibited
Notes 1. The setting range of the CPU clock differs depending on the supply voltage to be used.
Be sure to refer to CPU clock and peripheral clock frequencies described in AC
Characteristics in CHAPTER 19.
2. If PPCC = 01H, the clock (fXP) supplied to the peripheral hardware is fX/2.
3. If PPCC = 02H, the clock (fXP) supplied to the peripheral hardware is fX/22.
<R>
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 77
The fastest instruction of the 78K0S/KU1+ is executed in two CPU clocks. Therefore, the relationship between the
CPU clock (fCPU) and the minimum instruction execution time is as shown in Table 5-2.
Table 5-2. Relationship between CPU Clock and Minimum Instruction Execution Time
Minimum Instruction Execution Time: 2/fCPU CPU Clock (fCPU) Note 1
High-speed internal oscillation clock
(at 8.0 MHz (TYP.))
Crystal/ceramic oscillation clockNote 2
or external clock input (at 10.0 MHz)
fX 0.25
μ
s 0.2
μ
s
fX/2 0.5
μ
s 0.4
μ
s
fX/22 1.0
μ
s 0.8
μ
s
fX/23 2.0
μ
s 1.6
μ
s
fX/24 4.0
μ
s 3.2
μ
s
Notes 1. The CPU clock (high-speed internal oscillation clock, crystal/ceramic oscillation clockNote 2, or external
clock input) is selected by the option byte.
2.
μ
PD78F920x only
(2) Low-speed internal oscillation mode register (LSRCM)
This register is used to select the operation mode of the low-speed internal oscillator (240 kHz (TYP.)).
This register is valid when it is specified by the option byte that the low-speed internal oscillator can be stopped
by software. If it is specified by the option byte that the low-speed internal oscillator cannot be stopped by
software, setting of this register is invalid, and the low-speed internal oscillator continues oscillating. In addition,
the source clock of WDT is fixed to the low-speed internal oscillator. For details, refer to CHAPTER 8
WATCHDOG TIMER.
LSRCM can be set by using a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets LSRCM to 00H.
Figure 5-4. Format of Low-Speed internal oscillation Mode Register (LSRCM)
Address: FF58H, After reset: 00H, R/W
Symbol 7 6 5 4 3 2 1 <0>
LSRCM 0 0 0 0 0 0 0 LSRSTOP
LSRSTOP Oscillation/stop of low-speed internal oscillator
0
Low-speed internal oscillates
1
Low-speed internal oscillator stops
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
78
(3) Oscillation stabilization time select register (OSTS) (
μ
PD78F920x only)
This register is used to select oscillation stabilization time of the clock supplied from the oscillator when the STOP
mode is released. The wait time set by OSTS is valid only when the crystal/ceramic oscillation clock is selected
as the system clock and after the STOP mode is released. If the high-speed internal oscillator or external clock
input is selected as the system clock source, no wait time elapses.
The system clock oscillator and the oscillation stabilization time that elapses after power application or release of
reset are selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
OSTS is set by using an 8-bit memory manipulation instruction.
Figure 5-5. Format of Oscillation Stabilization Time Select Register (OSTS)
Address: FFF4H, After reset: Undefined, R/W
Symbol 7 6 5 4 3 2 1 0
OSTS 0 0 0 0 0 0 OSTS1 OSTS0
OSTS1 OSTS0 Selection of oscillation stabilization time
0 0 210/fX (102.4
μ
s)
0 1 212/fX (409.6
μ
s)
1 0 215/fX (3.27 ms)
1 1 217/fX (13.1 ms)
Cautions 1. To set and then release the STOP mode, set the oscillation stabilization time as
follows.
Expected oscillation stabilization time of resonator Oscillation stabilization time
set by OSTS
2. The wait time after the STOP mode is released does not include the time from the
release of the STOP mode to the start of clock oscillation (“a” in the figure
below), regardless of whether STOP mode was released by reset signal
generation or interrupt generation.
STOP mode is released
Voltage
waveform
of X1 pin
a
3. The oscillation stabilization time that elapses on power application or after release
of reset is selected by the option byte. For details, refer to CHAPTER 15 OPTION
BYTE.
Remarks 1. ( ): fX = 10 MHz
2. Determine the oscillation stabilization time of the resonator by checking the
characteristics of the resonator to be used.
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 79
5.4 System Clock Oscillators
The following three types of system clock oscillators are available.
High-speed internal oscillator: Internally oscillates a clock of 8 MHz (TYP.).
Crystal/ceramic oscillator Note 1: Oscillates a clock of 2 MHz to 10 MHz.
External clock input circuit: Supplies a clock of 2 MHz to 10 MHz to the X1 pin Note 2.
Notes 1.
μ
PD78F920x only
2.
μ
PD78F920x: X1 pin,
μ
PD78F950x: EXCLK pin
5.4.1 High-speed internal oscillator
The 78K0S/KU1+ include a high-speed internal oscillator (8 MHz (TYP.)).
If the high-speed internal oscillation is selected by the option byte as the clock source, the X1 and X2 pins in
μ
PD78F920x, and the EXCLK pin in
μ
PD78F950x can be used as I/O port pins.
For details of the option byte, refer to CHAPTER 15 OPTION BYTE. For details of I/O ports, refer to CHAPTER 4
PORT FUNCTIONS.
5.4.2 Crystal/ceramic oscillator (
μ
PD78F920x only)
The crystal/ceramic oscillator oscillates using a crystal or ceramic resonator connected between the X1 and X2
pins.
If the crystal/ceramic oscillator is selected by the option byte as the system clock source, the X1 and X2 pins are
used as crystal or ceramic resonator connection pins.
For details of the option byte, refer to CHAPTER 15 OPTION BYTE. For details of I/O ports, refer to CHAPTER 4
PORT FUNCTIONS.
Figure 5-6 shows the external circuit of the crystal/ceramic oscillator.
Figure 5-6. External Circuit of Crystal/Ceramic Oscillator (
μ
PD78F920x Only)
V
SS
X1
X2
Crystal resonator
or ceramic resonator
Caution When using the crystal/ceramic oscillator, wire as follows in the area enclosed by the broken
lines in Figure 5-6 to avoid an adverse effect from wiring capacitance.
Keep the wiring length as short as possible.
Do not cross the wiring with the other signal lines. Do not route the wiring near a signal line
through which a high fluctuating current flows.
Always make the ground point of the oscillator capacitor the same potential as VSS. Do not
ground the capacitor to a ground pattern through which a high current flows.
Do not fetch signals from the oscillator.
<R>
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
80
Figure 5-7 shows examples of incorrect resonator connection.
Figure 5-7. Examples of Incorrect Resonator Connection (1/2)
(a) Too long wiring of connected circuit (b) Crossed signal lines
VSS X1 X2
VSS X1 X2
PORT
(c) Wiring near high fluctuating current (d) Current flowing through ground line of oscillator
(Potential at points A, B, and C fluctuates.)
V
SS
X1 X2
High current
V
SS
X1 X2
PORT
V
DD
AB C
High current
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 81
Figure 5-7. Examples of Incorrect Resonator Connection (2/2)
(e) Signals are fetched
V
SS
X1 X2
5.4.3 External clock input circuit
This circuit supplies a clock from an external IC to the X1 pin Note 1.
If external clock input is selected by the option byte as the system clock source, the X2 pin can be used as an I/O
port pin. Note 2
For details of the option byte, refer to CHAPTER 15 OPTION BYTE. For details of I/O ports, refer to CHAPTER 4
PORT FUNCTIONS.
Notes 1.
μ
PD78F920x: X1 pin,
μ
PD78F950x: EXCLK pin
2.
μ
PD78F920x only
5.4.4 Prescaler
The prescaler divides the clock (fX) output by the system clock oscillator to generate a clock (fXP) to be supplied to
the peripheral hardware. It also divides the clock to peripheral hardware (fXP) to generate a clock to be supplied to the
CPU.
Remark The clock output by the oscillator selected by the option byte (high-speed internal oscillator,
crystal/ceramic oscillatorNote, or external clock input circuit) is divided. For details of the option byte, refer
to CHAPTER 15 OPTION BYTE.
Note
μ
PD78F920x only
<R>
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
82
5.5 Operation of CPU Clock Generator
A clock (fCPU) is supplied to the CPU from the system clock (fX) oscillated by one of the following three types of
oscillators.
High-speed internal oscillator: Internally oscillates a clock of 8 MHz (TYP.).
Crystal/ceramic oscillatorNote 1: Oscillates a clock of 2 MHz to 10 MHz.
External clock input circuit: Supplies a clock of 2 MHz to 10 MHz to X1 pinNote 2.
Notes 1.
μ
PD78F920x only
2.
μ
PD78F920x: X1 pin,
μ
PD78F950x: EXCLK pin
The system clock oscillator is selected by the option byte. For details of the option byte, refer to CHAPTER 15
OPTION BYTE.
(1) High-speed internal oscillator
When the high-speed internal oscillation is selected by the option byte, the following is possible.
Shortening of start time
If the high-speed internal oscillator is selected as the oscillator, the CPU can be started without having to wait
for the oscillation stabilization time of the system clock. Therefore, the start time can be shortened.
Improvement of expandability
If the high-speed internal oscillator is selected as the oscillator, the X1 and X2 pins in
μ
PD78F920x, and the
EXCLK pin in
μ
PD78F950x can be used as I/O port pins. For details, refer to CHAPTER 4 PORT
FUNCTIONS.
Figures 5-8 and 5-9 show the timing chart and status transition diagram of the default start by the high-speed
internal oscillation.
Remark When the high-speed internal oscillation is used, the clock accuracy is ±5%.
Figure 5-8. Timing Chart of Default Start by High-Speed Internal Oscillation
V
DD
High-speed internal oscillation clock
PCC = 02H, PPCC = 02H
(a)
(b)
H
RESET
Internal reset
System clock
CPU clock
Option byte is read.
System clock is selected.
(Operation stopsNote)
Note Operation stop time is 277
μ
s (MIN.), 544
μ
s (TYP.), and 1.075 ms (MAX.).
<R>
<R>
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 83
(a) The internal reset signal is generated by the power-on clear function on power application, the option byte is
referenced after reset, and the system clock is selected.
(b) The option byte is referenced and the system clock is selected. Then the high-speed internal oscillation
clock operates as the system clock.
Figure 5-9. Status Transition of Default Start by High-Speed internal oscillation
HALT
instruction STOP
instruction
VDD > 2.1 V ±0.1 V
Start with PCC = 02H,
PPCC = 02H
HALT STOP
Interrupt
Reset signal
Interrupt
Power
application
Reset by
power-on clear
Clock division ratio
variable during
CPU operation
High-speed internal
oscillator selected
by option byte
Remark PCC: Processor clock control register
PPCC: Preprocessor clock control register
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
84
(2) Crystal/ceramic oscillator (
μ
PD78F920x only)
If crystal/ceramic oscillation is selected by the option byte, a clock frequency of 2 MHz to 10 MHz can be selected
and the accuracy of processing is improved because the frequency deviation is small, as compared with high-
speed internal oscillation (8 MHz (TYP.)).
Figures 5-10 and 5-11 show the timing chart and status transition diagram of default start by the crystal/ceramic
oscillator.
Figure 5-10. Timing Chart of Default Start by Crystal/Ceramic Oscillator (
μ
PD78F920x Only)
VDD
Crystal/ceramic
oscillator clock
PCC = 02H, PPCC = 02H
(a)
(b)
(c)
H
RESET
System clock
Internal reset
CPU clock
Option byte is read.
System clock is selected.
(Operation stops
Note 1
)
Clock oscillation
stabilization
timeNote 2
Notes 1. Operation stop time is 276
μ
s (MIN.), 544
μ
s (TYP.), and 1.074 ms (MAX.).
2. The clock oscillation stabilization time for default start is selected by the option byte. For details, refer to
CHAPTER 15 OPTION BYTE. The oscillation stabilization time that elapses after the STOP mode is
released is selected by the oscillation stabilization time select register (OSTS).
(a) The internal reset signal is generated by the power-on clear function on power application, the option byte is
referenced after reset, and the system clock is selected.
(b) After high-speed internal oscillation clock is generated, the option byte is referenced and the system clock is
selected. In this case, the crystal/ceramic oscillator clock is selected as the system clock.
(c) If the system clock is the crystal/ceramic oscillator clock, it starts operating as the CPU clock after clock
oscillation is stabilized. The wait time is selected by the option byte. For details, refer to CHAPTER 15
OPTION BYTE.
<R>
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 85
Figure 5-11. Status Transition of Default Start by Crystal/Ceramic Oscillation (
μ
PD78F920x Only)
HALT STOP
HALT
instruction STOP
instruction
Start with PCC = 02H,
PPCC = 02H
Interrupt
Reset signal
Interrupt
Power
application
Clock division ratio
variable during
CPU operation
Wait for clock
oscillation stabilization
Crystal/ceramic
oscillation selected
by option byte
Reset by
power-on clear
V
DD
> 2.1 V ±0.1 V
Remark PCC: Processor clock control register
PPCC: Preprocessor clock control register
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
86
(3) External clock input circuit
If external clock input is selected by the option byte, the following is possible.
High-speed operation
The accuracy of processing is improved as compared with high-speed internal oscillation (8 MHz (TYP.))
because an oscillation frequency of 2 MHz to 10 MHz can be selected and an external clock with a small
frequency deviation can be supplied.
Improvement of expandability
If the external clock input circuit is selected as the oscillator, the X2 pin can be used as an I/O port pin.Note For
details, refer to CHAPTER 4 PORT FUNCTIONS.
Note
μ
PD78F920x only
Figures 5-12 and 5-13 show the timing chart and status transition diagram of default start by external clock input.
Figure 5-12. Timing of Default Start by External Clock Input
V
DD
(a)
(b)
External clock input
PCC = 02H, PPCC = 02H
H
RESET
System clock
Internal reset
CPU clock
Option byte is read.
System clock is selected.
(Operation stopsNote)
Note Operation stop time is 277
μ
s (MIN.), 544
μ
s (TYP.), and 1.075 ms (MAX.).
(a) The internal reset signal is generated by the power-on clear function on power application, the option byte is
referenced after reset, and the system clock is selected.
(b) The option byte is referenced and the system clock is selected. Then the external clock operates as the
system clock.
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 87
Figure 5-13. Status Transition of Default Start by External Clock Input
HALT STOP
HALT
instruction STOP
instruction
V
DD
> 2.1 V ±0.1 V
Start with PCC = 02H,
PPCC = 02H
Interrupt
Reset signal
Interrupt
Power
application
Reset by
power-on clear
External clock input
selected by option byte
Clock division ratio
variable during
CPU operation
Remark PCC: Processor clock control register
PPCC: Preprocessor clock control register
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD
88
5.6 Operation of Clock Generator Supplying Clock to Peripheral Hardware
The following two types of clocks are supplied to the peripheral hardware.
Clock to peripheral hardware (fXP)
Low-speed internal oscillation clock (fRL)
(1) Clock to peripheral hardware
The clock to the peripheral hardware is supplied by dividing the system clock (fX). The division ratio is selected
by the pre-processor clock control register (PPCC).
Three types of frequencies are selectable: “fX”, “fX/2”, and “fX/22”. Table 5-3 lists the clocks supplied to the
peripheral hardware.
Table 5-3. Clocks to Peripheral Hardware
PPCC1 PPCC0 Selection of clock to peripheral hardware (fXP)
0 0 fX
0 1 fX/2
1 0 fX/22
1 1 Setting prohibited
(2) Low-speed internal oscillation clock
The low-speed internal oscillator of the clock oscillator for interval time generation is always started after release
of reset, and oscillates at 240 kHz (TYP.).
It can be specified by the option byte whether the low-speed internal oscillator can or cannot be stopped by
software. If it is specified that the low-speed internal oscillator can be stopped by software, oscillation can be
started or stopped by using the low-speed internal oscillation mode register (LSRCM). If it is specified that it
cannot be stopped by software, the clock source of WDT is fixed to the low-speed internal oscillation clock (fRL).
The low-speed internal oscillator is independent of the CPU clock. If it is used as the source clock of WDT,
therefore, a hang-up can be detected even if the CPU clock is stopped. If the low-speed internal oscillator is used
as a count clock source of 8-bit timer H1, 8-bit timer H1 can operate even in the standby status.
Table 5-4 shows the operation status of the low-speed internal oscillator when it is selected as the source clock of
WDT and the count clock of 8-bit timer H1. Figure 5-14 shows the status transition of the low-speed internal
oscillator.
Table 5-4. Operation Status of Low-Speed Internal Oscillator
Option Byte Setting CPU Status WDT Status TMH1 Status
LSRSTOP = 1 Stopped Stopped
LSRSTOP = 0
Operation mode
Operates Operates
LSRSTOP = 1 Stopped Stopped
Can be stopped by
software
LSRSTOP = 0
Standby
Stopped Operates
Operation mode Cannot be stopped
Standby
Operates
CHAPTER 5 CLOCK GENERATORS
User’s Manual U18172EJ3V0UD 89
Figure 5-14. Status Transition of Low-Speed Internal Oscillator
LSRSTOP = 0
Cannot be stopped
Can be stopped
Clock source of
WDT is selected
by software
Note
Clock source of
WDT is fixed to f
RL
LSRSTOP = 1
V
DD
> 2.1 V ±0.1 V
Reset signal
Power
application
Reset by
power-on clear
Low-speed internal
oscillator can be stopped
Low-speed internal
oscillator cannot be stopped
Low-speed internal
oscillator stops
Select by option byte
if low-speed internal oscillator
can be stopped or not
Note The clock source of the watchdog timer (WDT) is selected from fX or fRL, or it may be stopped. For details,
refer to CHAPTER 8 WATCHDOG TIMER.
User’s Manual U18172EJ3V0UD
90
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
6.1 Functions of 16-Bit Timer/Event Counter 00
16-bit timer/event counter 00 has the following functions.
(1) Interval timer
16-bit timer/event counter 00 generates interrupt requests at the preset time interval.
Number of counts: 2 to 65536
(2) External event counter
16-bit timer/event counter 00 can measure the number of pulses with a high-/low-level width of valid level
pulse width or more of a signal input externally.
Valid level pulse width: 2/fXP or more
(3) Pulse width measurement
16-bit timer/event counter 00 can measure the pulse width of an externally input signal.
Valid level pulse width: 2/fXP or more
(4) Square-wave output
16-bit timer/event counter 00 can output a square wave with any selected frequency.
Cycle: (2 to 65536) × 2 × count clock cycle
(5) PPG output
16-bit timer/event counter 00 can output a square wave that have arbitrary cycle and pulse width.
1 < Pulse width < Cycle 65536
(6) One-shot pulse output
16-bit timer/event counter 00 can output a one-shot pulse for which output pulse width can be set to any
desired value.
<R>
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 91
6.2 Configuration of 16-Bit Timer/Event Counter 00
16-bit timer/event counter 00 consists of the following hardware.
Table 6-1. Configuration of 16-Bit Timer/Event Counter 00
Item Configuration
Timer counter 16-bit timer counter 00 (TM00)
Register 16-bit timer capture/compare registers 000, 010 (CR000, CR010)
Timer input TI000, TI010
Timer output TO00, output controller
Control registers 16-bit timer mode control register 00 (TMC00)
Capture/compare control register 00 (CRC00)
16-bit timer output control register 00 (TOC00)
Prescaler mode register 00 (PRM00)
Port mode register 2 (PM2)
Port register 2 (P2)
Port mode control register 2 (PMC2)
Figure 6-1 shows a block diagram of these counters.
Figure 6-1. Block Diagram of 16-Bit Timer/Event Counter 00
Internal bus
Capture/compare control
register 00 (CRC00)
TI010/TO00/ANI1/
INTP0/P21
fXP
fXP/22
fXP/28
fX
TI000/ANI0/
TOH1/P20
Prescaler mode
register 00 (PRM00)
2
PRM001 PRM000
CRC002
16-bit timer capture/compare
register 010 (CR010)
Match
Match
16-bit timer counter 00
(TM00) Clear
Noise
elimi-
nator
CRC002 CRC001 CRC000
INTTM000
TO00/TI010/ANI1/
INTP0/P21
INTTM010
16-bit timer output
control register 00
(TOC00)
16-bit timer mode
control register 00
(TMC00)
Internal bus
TMC003 TMC002
TMC001
OVF00
TOC004
LVS00 LVR00
TOC001
TOE00
Selector
16-bit timer capture/compare
register 000 (CR000)
Selector
Selector
Selector
Noise
elimi-
nator
Noise
elimi-
nator
Output
controller
OSPE00
OSPT00
Output latch
(P21)
PM21
to CR010
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
92
(1) 16-bit timer counter 00 (TM00)
TM00 is a 16-bit read-only register that counts count pulses.
The counter is incremented in synchronization with the rising edge of the count clock. If the count value is read
during operation, input of the count clock is temporarily stopped, and the count value at that point is read.
Figure 6-2. Format of 16-Bit Timer Counter 00 (TM00)
TM00
Symbol FF13H FF12H
Address: FF12H, FF13H After reset: 0000H R
7654321076543210
The count value is reset to 0000H in the following cases.
<1> At reset input
<2> If TMC003 and TMC002 are cleared
<3> If the valid edge of TI000 is input in the clear & start mode entered by inputting the valid edge of TI000
<4> If TM00 and CR000 match in the clear & start mode entered on a match between TM00 and CR000
<5> If OSPT00 is set to 1 in the one-shot pulse output mode
Cautions 1. Even if TM00 is read, the value is not captured by CR010.
2. When TM00 is read, count misses do not occur, since the input of the count clock is
temporarily stopped and then resumed after the read.
(2) 16-bit timer capture/compare register 000 (CR000)
CR000 is a 16-bit register which has the functions of both a capture register and a compare register. Whether
it is used as a capture register or as a compare register is set by bit 0 (CRC000) of capture/compare control
register 00 (CRC00).
CR000 is set by 16-bit memory manipulation instruction.
A reset signal generation clears CR000 to 0000H.
Figure 6-3. Format of 16-Bit Timer Capture/Compare Register 000 (CR000)
CR000
Symbol FF15H FF14H
Address: FF14H, FF15H After reset: 0000H R/W
7654321076543210
When CR000 is used as a compare register
The value set in CR000 is constantly compared with the 16-bit timer/counter 00 (TM00) count value, and an
interrupt request (INTTM000) is generated if they match. It can also be used as the register that holds the
interval time then TM00 is set to interval timer operation.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 93
When CR000 is used as a capture register
It is possible to select the valid edge of the TI000 pin or the TI010 pin as the capture trigger. Setting of the
TI000 or TI010 valid edge is performed by means of prescaler mode register 00 (PRM00) (refer to Table 6-
2).
Table 6-2. CR000 Capture Trigger and Valid Edges of TI000 and TI010 Pins
(1) TI000 pin valid edge selected as capture trigger (CRC001 = 1, CRC000 = 1)
CR000 Capture Trigger TI000 Pin Valid Edge
ES010 ES000
Falling edge Rising edge 0 1
Rising edge Falling edge 0 0
No capture operation Both rising and falling edges 1 1
(2) TI010 pin valid edge selected as capture trigger (CRC001 = 0, CRC000 = 1)
CR000 Capture Trigger TI010 Pin Valid Edge
ES110 ES100
Falling edge Falling edge 0 0
Rising edge Rising edge 0 1
Both rising and falling edges Both rising and falling edges 1 1
Remarks 1. Setting ES010, ES000 = 1, 0 and ES110, ES100 = 1, 0 is prohibited.
2. ES010, ES000: Bits 5 and 4 of prescaler mode register 00 (PRM00)
ES110, ES100: Bits 7 and 6 of prescaler mode register 00 (PRM00)
CRC001, CRC000: Bits 1 and 0 of capture/compare control register 00 (CRC00)
Cautions 1. Set CR000 to other than 0000H in the clear & start mode entered on match between TM00
and CR000. This means a 1-pulse count operation cannot be performed when this
register is used as an external event counter. However, in the free-running mode and in
the clear & start mode using the valid edge of TI000, if CR000 is set to 0000H, an interrupt
request (INTTM000) is generated when CR000 changes from 0000H to 0001H following
overflow (FFFFH).
2. If the new value of CR000 is less than the value of 16-bit timer counter 0 (TM00), TM00
continues counting, overflows, and then starts counting from 0 again. If the new value of
CR000 is less than the old value, therefore, the timer must be reset to be restarted after
the value of CR000 is changed.
3. The value of CR000 after 16-bit timer/event counter 00 has stopped is not guaranteed.
4. The capture operation may not be performed for CR000 set in compare mode even if a
capture trigger is input.
5. When P21 is used as the input pin for the valid edge of TI010, it cannot be used as a timer
output (TO00). Moreover, when P21 is used as TO00, it cannot be used as the input pin
for the valid edge of TI010.
6. If the register read period and the input of the capture trigger conflict when CR000 is
used as a capture register, the read data is undefined (the capture data itself is a normal
value). Also, if the count stop of the timer and the input of the capture trigger conflict,
the capture trigger is undefined.
7. Changing the CR000 setting may cause a malfunction. To change the setting, refer to 6.5
Cautions Related to 16-Bit Timer/Event Counter 00 (17) Changing compare register
during timer operation.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
94
(3) 16-bit timer capture/compare register 010 (CR010)
CR010 is a 16-bit register which has the functions of both a capture register and a compare register. Whether
it is used as a capture register or a compare register is set by bit 2 (CRC002) of capture/compare control
register 00 (CRC00).
CR010 is set by 16-bit memory manipulation instruction.
Reset signal generation clears CR010 to 0000H.
Figure 6-4. Format of 16-Bit Timer Capture/Compare Register 010 (CR010)
CR010
Symbol FF17H FF16H
Address: FF16H, FF17H After reset: 0000H R/W
7654321076543210
When CR010 is used as a compare register
The value set in CR010 is constantly compared with the 16-bit timer counter 00 (TM00) count value, and an
interrupt request (INTTM010) is generated if they match.
When CR010 is used as a capture register
It is possible to select the valid edge of the TI000 pin as the capture trigger. The TI000 valid edge is set by
means of prescaler mode register 00 (PRM00) (refer to Table 6-3).
Table 6-3. CR010 Capture Trigger and Valid Edge of TI000 Pin (CRC002 = 1)
CR010 Capture Trigger TI000 Pin Valid Edge
ES010 ES000
Falling edge Falling edge 0 0
Rising edge Rising edge 0 1
Both rising and falling edges Both rising and falling edges 1 1
Remarks 1. Setting ES010, ES000 = 1, 0 is prohibited.
2. ES010, ES000: Bits 5 and 4 of prescaler mode register 00 (PRM00)
CRC002: Bit 2 of capture/compare control register 00 (CRC00)
Cautions 1. In the free-running mode and in the clear & start mode using the valid edge of the TI000
pin, if CR010 is set to 0000H, an interrupt request (INTTM010) is generated when CR010
changes from 0000H to 0001H following overflow (FFFFH).
2. If the new value of CR010 is less than the value of 16-bit timer counter 00 (TM00), TM00
continues counting, overflows, and then starts counting from 0 again. If the new value of
CR010 is less than the old value, therefore, the timer must be reset to be restarted after
the value of CR010 is changed.
3. The value of CR010 after 16-bit timer/event counter 00 has stopped is not guaranteed.
4. The capture operation may not be performed for CR010 set in compare mode even if a
capture trigger is input.
5. If the register read period and the input of the capture trigger conflict when CR010 is
used as a capture register, the capture trigger input takes precedence and the read data
is undefined. Also, if the timer count stop and the input of the capture trigger conflict,
the capture data is undefined.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 95
Cautions 6. Changing the CR010 setting during TM00 operation may cause a malfunction. To change
the setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter 00 (17) Changing
compare register during timer operation.
6.3 Registers to Control 16-Bit Timer/Event Counter 00
The following seven types of registers are used to control 16-bit timer/event counter 00.
16-bit timer mode control register 00 (TMC00)
Capture/compare control register 00 (CRC00)
16-bit timer output control register 00 (TOC00)
Prescaler mode register 00 (PRM00)
Port mode register 2 (PM2)
Port register 2 (P2)
Port mode control register 2 (PMC2)
(1) 16-bit timer mode control register 00 (TMC00)
This register sets the 16-bit timer operating mode, the 16-bit timer counter 00 (TM00) clear mode, and output
timing, and detects an overflow.
TMC00 is set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets the value of TMC00 to 00H.
Caution 16-bit timer counter 00 (TM00) starts operation at the moment TMC002 and TMC003
(operation stop mode) are set to a value other than 0, 0, respectively. Set TMC002 and
TMC003 to 0, 0 to stop the operation.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
96
Figure 6-5. Format of 16-Bit Timer Mode Control Register 00 (TMC00)
7
0
6
0
5
0
4
0
3
TMC003
2
TMC002
1
TMC001
<0>
OVF00
Symbol
TMC00
Address: FF60H After reset: 00H R/W
OVF00 Overflow detection of 16-bit timer counter 00 (TM00)
0 Overflow not detected
1 Overflow detected
Cautions 1. The timer operation must be stopped before writing to bits other than the OVF00 flag.
2. If the timer is stopped, timer counts and timer interrupts do not occur, even if a signal is input to
the TI000/TI010 pins.
3. Except when TI000 pin valid edge is selected as the count clock, stop the timer operation before
setting STOP mode or system clock stop mode; otherwise the timer may malfunction when the
system clock starts.
4. Set the valid edge of the TI000 pin with bits 4 and 5 of prescaler mode register 00 (PRM00) after
stopping the timer operation.
5. If the clear & start mode entered on a match between TM00 and CR000, clear & start mode at the
valid edge of the TI000 pin, or free-running mode is selected, when the set value of CR000 is
FFFFH and the TM00 value changes from FFFFH to 0000H, the OVF00 flag is set to 1.
6. Even if the OVF00 flag is cleared before the next count clock is counted (before TM00 becomes
0001H) after the occurrence of a TM00 overflow, the OVF00 flag is re-set newly and clear is
disabled.
7. The capture operation is performed at the fall of the count clock. An interrupt request input
(INTTM0n0), however, occurs at the rise of the next count clock.
TMC003 TMC002 TMC001 Operating mode and clear
mode selection
TO00 inversion timing selection Interrupt request generation
0 0 0
0 0 1
Operation stop
(TM00 cleared to 0)
No change Not generated
0 1 0 Free-running mode Match between TM00 and
CR000 or match between
TM00 and CR010
0 1 1 Match between TM00 and
CR000, match between TM00
and CR010 or TI000 pin valid
edge
1 0 0
1 0 1
Clear & start occurs on valid
edge of TI000 pin
1 1 0
Clear & start occurs on match
between TM00 and CR000
Match between TM00 and
CR000 or match between
TM00 and CR010
1 1 1 Match between TM00 and
CR000, match between TM00
and CR010 or TI000 pin valid
edge
< When operating as compare
register >
Generated on match between
TM00 and CR000, or match
between TM00 and CR010
< When operating as capture
register >
Generated on TI000 pin and
TI010 pin valid edge
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 97
Remark TM00: 16-bit timer counter 00
CR000: 16-bit timer capture/compare register 000
CR010: 16-bit timer capture/compare register 010
(2) Capture/compare control register 00 (CRC00)
This register controls the operation of the 16-bit capture/compare registers (CR000, CR010).
CRC00 is set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets the value of CRC00 to 00H.
Figure 6-6. Format of Capture/Compare Control Register 00 (CRC00)
Address: FF62H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
CRC00 0 0 0 0 0 CRC002 CRC001 CRC000
CRC002 CR010 operating mode selection
0 Operate as compare register
1 Operate as capture register
CRC001 CR000 capture trigger selection
0 Capture on valid edge of TI010 pin
1 Capture on valid edge of TI000 pin by reverse phaseNote
CRC000 CR000 operating mode selection
0 Operate as compare register
1 Operate as capture register
Note When the CRC001 bit value is 1, capture is not performed if both the rising and falling edges have been
selected as the valid edges of the TI000 pin.
Cautions 1. The timer operation must be stopped before setting CRC00.
2. When the clear & start mode entered on a match between TM00 and CR000 is selected by
16-bit timer mode control register 00 (TMC00), CR000 should not be specified as a
capture register.
3. To ensure the reliability of the capture operation, the capture trigger requires a pulse
longer than two cycles of the count clock selected by prescaler mode register 00
(PRM00) (refer to Figure 6-18).
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
98
(3) 16-bit timer output control register 00 (TOC00)
This register controls the operation of the 16-bit timer/event counter output controller. It sets timer output F/F
set/reset, output inversion enable/disable, 16-bit timer/event counter 00 timer output enable/disable, one-shot
pulse output operation enable/disable, and output trigger of one-shot pulse by software.
TOC00 is set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets the value of TOC00 to 00H.
Figure 6-7. Format of 16-Bit Timer Output Control Register 00 (TOC00)
Address: FF63H After reset: 00H R/W
Symbol 7 <6> <5> 4 <3> <2> 1 <0>
TOC00 0 OSPT00 OSPE00 TOC004 LVS00 LVR00 TOC001 TOE00
OSPT00 One-shot pulse output trigger control via software
0 No one-shot pulse output trigger
1 One-shot pulse output trigger
OSPE00 One-shot pulse output operation control
0 Successive pulse output mode
1 One-shot pulse output modeNote
TOC004 Timer output F/F control using match of CR010 and TM00
0 Disables inversion operation
1 Enables inversion operation
LVS00 LVR00 Timer output F/F status setting
0 0 No change
0 1 Timer output F/F reset (0)
1 0 Timer output F/F set (1)
1 1 Setting prohibited
TOC001 Timer output F/F control using match of CR000 and TM00
0 Disables inversion operation
1 Enables inversion operation
TOE00 Timer output control
0 Disables output (output fixed to level 0)
1 Enables output
Note The one-shot pulse output mode operates correctly only in the free-running mode and the mode in which
clear & start occurs at the TI000 pin valid edge. In the mode in which clear & start occurs on a match
between TM00 and CR000, one-shot pulse output is not possible because an overflow does not occur.
Cautions 1. Timer operation must be stopped before setting other than OSPT00.
2. If LVS00 and LVR00 are read, 0 is read.
3. OSPT00 is automatically cleared after data is set, so 0 is read.
4. Do not set OSPT00 to 1 other than in one-shot pulse output mode.
5. A write interval of two cycles or more of the count clock selected by prescaler mode register
00 (PRM00) is required, when OSPT00 is set to 1 successively.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 99
Caution 6. When the TOE00 is 0, set the TOE00, LVS00, and LVR00 at the same time with the 8-bit
memory manipulation instruction. When the TOE00 is 1, the LVS00 and LVR00 can be set
with the 1-bit memory manipulation instruction.
(4) Prescaler mode register 00 (PRM00)
This register is used to set the 16-bit timer counter 00 (TM00) count clock and the TI000, TI010 pin input valid
edges.
PRM00 is set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets the value of PRM00 to 00H.
Figure 6-8. Format of Prescaler Mode Register 00 (PRM00)
Address: FF61H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PRM00 ES110 ES100 ES010 ES000 0 0 PRM001 PRM000
ES110 ES100 TI010 pin valid edge selection
0 0 Falling edge
0 1 Rising edge
1 0 Setting prohibited
1 1 Both falling and rising edges
ES010 ES000 TI000 pin valid edge selection
0 0 Falling edge
0 1 Rising edge
1 0 Setting prohibited
1 1 Both falling and rising edges
PRM001 PRM000 Count clock (fsam) selection
0 0 fXP (10 MHz)
0 1 fXP/22 (2.5 MHz)
1 0 fXP/28 (39.06 kHz)
1 1 TI000 pin valid edgeNote
Remarks 1. f
XP: Oscillation frequency of clock supplied to peripheral hardware
2. ( ): fXP = 10 MHz
Note The external clock requires a pulse longer than two cycles of the internal count clock (fXP).
Cautions 1. Always set data to PRM00 after stopping the timer operation.
2. If the valid edge of the TI000 pin is to be set as the count clock, do not set the clear/start
mode and the capture trigger at the valid edge of the TI000 pin.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
100
Cautions 3. In the following cases, note with caution that the valid edge of the TI0n0 pin is detected.
<1> Immediately after a system reset, if a high level is input to the TI0n0 pin, the
operation of the 16-bit timer counter 00 (TM00) is enabled
If the rising edge or both rising and falling edges are specified as the valid edge
of the TI0n0 pin, a rising edge is detected immediately after the TM00 operation is
enabled.
<2> If the TM00 operation is stopped while the TI0n0 pin is high level, TM00 operation is
then enabled after a low level is input to the TI0n0 pin
If the falling edge or both rising and falling edges are specified as the valid edge
of the TI0n0 pin, a falling edge is detected immediately after the TM00 operation is
enabled.
<3> If the TM00 operation is stopped while the TI0n0 pin is low level, TM00 operation is
then enabled after a high level is input to the TI0n0 pin
If the rising edge or both rising and falling edges are specified as the valid edge
of the TI0n0 pin, a rising edge is detected immediately after the TM00 operation is
enabled.
4. The sampling clock used to eliminate noise differs when a TI000 valid edge is used as the
count clock and when it is used as a capture trigger. In the former case, the count clock
is fXP, and in the latter case the count clock is selected by prescaler mode register 00
(PRM00). The capture operation is not performed until the valid edge is sampled and the
valid level is detected twice, thus eliminating noise with a short pulse width.
5. When using P21 as the input pin (TI010) of the valid edge, it cannot be used as a timer
output (TO00). When using P21 as the timer output pin (TO00), it cannot be used as the
input pin (TI010) of the valid edge.
Remark n = 0, 1
(5) Port mode register 2 (PM2) and port mode control register 2 (PMC2)
When using the P21/TO00/TI010/ANI1/INTP0 pin for timer output, clear PM21, the output latch of P21, and
PMC21 to 0.
When using the P20/TI000/TOH1/ANI0 and P21/TO00/TI010/ANI1/INTP0 pins as a timer input, set PM20 and
PM21 to 1, and clear PMC20 and PMC21 to 0.
At this time, the output latches of P20 and P21 can be either 0 or 1.
PM2 and PMC2 are set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets the value of PM2 to FFH, and clears the value of PMC2 to 00H.
Figure 6-9. Format of Port Mode Register 2 (PM2)
Address: FF22H After reset: FFH R/W
7 6 5 4 3 2 1 0
1 1 1 1 PM23 PM22 PM21 PM20
PM2n P2n pin I/O mode selection (n = 0 to 3)
0 Output mode (output buffer on)
Symbol
PM2
1 Input mode (output buffer off)
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 101
Figure 6-10. Format of Port Mode Control Register 2 (PMC2)
Address: FF84H After reset: 00H R/W
7 6 5 4 3 2 1 0
0 0 0 0 PMC23 PMC22 PMC21 PMC20
PMC2n Specification of operation mode (n = 0 to 3)
0 Port/Alternate-function (except A/D converter) mode
Symbol
PMC2
1 A/D converter mode
6.4 Operation of 16-Bit Timer/Event Counter 00
6.4.1 Interval timer operation
Setting 16-bit timer mode control register 00 (TMC00) and capture/compare control register 00 (CRC00) as shown
in Figure 6-11 allows operation as an interval timer.
Setting
The basic operation setting procedure is as follows.
<1> Set the CRC00 register (see Figure 6-11 for the set value).
<2> Set any value to the CR000 register.
<3> Set the count clock by using the PRM00 register.
<4> Set the TMC00 register to start the operation (see Figure 6-11 for the set value).
Caution Changing the CR000 setting during TM00 operation may cause a malfunction. To change the
setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter 00 (17) Changing compare
register during timer operation.
Remark For how to enable the INTTM000 interrupt, see CHAPTER 10 INTERRUPT FUNCTIONS.
Interrupt requests are generated repeatedly using the count value set in 16-bit timer capture/compare register 000
(CR000) beforehand as the interval.
When the count value of 16-bit timer counter 00 (TM00) matches the value set to CR000, counting continues with
the TM00 value cleared to 0 and the interrupt request signal (INTTM000) is generated.
The count clock of the 16-bit timer/event counter can be selected using bits 0 and 1 (PRM000, PRM001) of
prescaler mode register 00 (PRM00).
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
102
Figure 6-11. Control Register Settings for Interval Timer Operation
(a) 16-bit timer mode control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
0/1
CRC001
0/1
CRC000
0CRC00
CR000 used as compare register
(b) Prescaler mode register 00 (PRM00)
ES110
0/1
ES100
0/1
ES010
0/1
ES000
0/1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock.
Setting invalid (setting “10” is prohibited.)
Setting invalid (setting “10” is prohibited.)
(c) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
1
TMC002
1
TMC001
0/1
OVF00
0TMC00
Clears and starts on match between TM00 and CR000.
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with the interval timer. See the
description of the respective control registers for details.
Figure 6-12. Interval Timer Configuration Diagram
16-bit timer capture/compare
register 000 (CR000)
16-bit timer counter 00
(TM00) OVF00
Clear
circuit
INTTM000
f
XP
f
XP
/2
2
f
XP
/2
8
TI000/ANI0/
TOH1/P20
Selector
Noise
eliminator
f
XP
Note
Note OVF00 is set to 1 only when 16-bit timer capture/compare register 000 (CR000) is set to FFFFH.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 103
Figure 6-13. Timing of Interval Timer Operation
Count clock
t
TM00 count value
CR000
INTTM000
0000H
0001H
N
0000H 0001H
N
0000H 0001H
N
NNNN
Timer operation enabled Clear Clear
Interrupt request generated Interrupt request generated
Remark Interval time = (N + 1) × t
N = 0001H to FFFFH (settable range)
When the compare register is changed during timer count operation, if the value after 16-bit timer capture/compare
register 000 (CR000) is changed is smaller than that of 16-bit timer counter 00 (TM00), TM00 continues counting,
overflows and then restarts counting from 0. Thus, if the value (M) after the CR000 change is smaller than that (N)
before the change, it is necessary to restart the timer after changing CR000.
Figure 6-14. Timing After Change of Compare Register During Timer Count Operation (N M: N > M )
CR000
NM
Count clock
TM00 count value
X – 1 X FFFFH 0000H 0001H 0002H
Remark N > X > M
6.4.2 External event counter operation
Setting
The basic operation setting procedure is as follows.
<1> Set the CRC00 register (see Figure 6-15 for the set value).
<2> Set the count clock by using the PRM00 register.
<3> Set any value to the CR000 register (0000H cannot be set).
<4> Set the TMC00 register to start the operation (see Figure 6-15 for the set value).
Remarks 1. For the setting of the TI000 pin, see 6.3 (5) Port mode register 2 (PM2) and port mode control
register 2 (PMC2).
2. For how to enable the INTTM000 interrupt, see CHAPTER 10 INTERRUPT FUNCTIONS.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
104
The external event counter counts the number of external clock pulses to be input to the TI000 pin with using 16-bit
timer counter 00 (TM00).
TM00 is incremented each time the valid edge specified by prescaler mode register 00 (PRM00) is input.
When the TM00 count value matches the 16-bit timer capture/compare register 000 (CR000) value, TM00 is
cleared to 0 and the interrupt request signal (INTTM000) is generated.
Input a value other than 0000H to CR000. (A count operation with a pulse cannot be carried out.)
The rising edge, the falling edge, or both edges can be selected using bits 4 and 5 (ES000 and ES010) of
prescaler mode register 00 (PRM00).
Because an operation is carried out only when the valid edge of the TI000 pin is detected twice after sampling with
the internal clock (fXP), noise with a short pulse width can be removed.
Figure 6-15. Control Register Settings in External Event Counter Mode (with Rising Edge Specified)
(a) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
0/1
CRC001
0/1
CRC000
0CRC00
CR000 used as compare register
(b) Prescaler mode register 00 (PRM00)
ES110
0/1
ES100
0/1
ES010
0
ES000
1
3
0
2
0
PRM001
1
PRM000
1PRM00
Selects external clock.
Specifies rising edge for pulse width detection.
Setting invalid (setting “10” is prohibited.)
(c) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
1
TMC002
1
TMC001
0/1
OVF00
0TMC00
Clears and starts on match between TM00 and CR000.
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with the external event counter.
See the description of the respective control registers for details.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 105
Figure 6-16. External Event Counter Configuration Diagram
16-bit timer capture/compare
register 000 (CR000)
16-bit timer counter 00 (TM00)
Internal bus
Match
Clear
OVF00Note
INTTM000
Noise eliminator
f
XP
Valid edge of TI000
Note OVF00 is 1 only when 16-bit timer capture/compare register 000 (CR000) is set to FFFFH.
Figure 6-17. External Event Counter Operation Timing (with Rising Edge Specified)
(1) INTTM000 generation timing immediately after operation starts
Counting is started after a valid edge is detected twice.
CR000
INTTM000
0000H 0001H 0002H 0003H N
2N
1 N 0000H 0001H 0002H
N
123
Count starts
TI000 pin input
TM00 count value
Timer operation starts
(2) INTTM000 generation timing after INTTM000 has been generated twice
CR000
INTTM000
N 0000H 0001H 0002H 0003H 0004H N
1 N 0000H 0001H 0002H 0003H
N
TI000 pin input
TM00 count value
Caution When reading the external event counter count value, TM00 should be read.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
106
6.4.3 Pulse width measurement operations
It is possible to measure the pulse width of the signals input to the TI000 pin and TI010 pin using 16-bit timer
counter 00 (TM00).
There are two measurement methods: measuring with TM00 used in free-running mode, and measuring by
restarting the timer in synchronization with the edge of the signal input to the TI000 pin.
When an interrupt occurs, necessary pulse width is calculable by reading the valied value of the capture register.
The capture operation is not performed until the signal pulse width is sampled in the count clock cycle selected by
prescaler mode register 00 (PRM00) and the valid level of the TI000 or TI010 pin is detected twice, thus eliminating
noise with a short pulse width ( see Figure 6-18 ).
Figure 6-18. CR010 Capture Operation with Rising Edge Specified
Count clock
TM00
TI000
Rising edge detection
CR010
INTTM010
N 3N 2N 1 N N + 1
N
Setting
The basic operation setting procedure is as follows.
<1> Set the CRC00 register (see Figures 6-19, 6-22, 6-24, and 6-26 for the set value).
<2> Set the count clock by using the PRM00 register.
<3> Set the TMC00 register to start the operation (see Figures 6-19, 6-22, 6-24, and 6-26 for the set value).
Caution To use two capture registers, set the TI000 and TI010 pins.
Remarks 1. For the setting of the TI000 (or TI010) pin, see 6.3 (5) Port mode register 2 (PM2) and port mode
control register 2 (PMC2).
2. For how to enable the INTTM000 (or INTTM010) interrupt, see CHAPTER 10 INTERRUPT
FUNCTIONS.
(1) Pulse width measurement with free-running counter and one capture register
Specify both the rising and falling edges as the valid edges of the TI000 pin, by using bits 4 and 5 (ES000 and
ES010) of PRM00.
When 16-bit timer counter 00 (TM00) is operated in free-running mode, and the valid edge specified by
PRM00 is input, the value of TM00 is taken into 16-bit timer capture/compare register 010 (CR010) and an
external interrupt request signal (INTTM010) is set.
Sampling is performed using the count clock selected by PRM00, and a capture operation is only performed
when a valid level of the TI000 pin is detected twice, thus eliminating noise with a short pulse width.
Caution The measurable pulse width in this operation example is up to 1 cycle of the timer counter.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 107
Figure 6-19. Control Register Settings for Pulse Width Measurement with Free-Running Counter
and One Capture Register (When TI000 and CR010 Are Used)
(a) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
1
CRC001
0/1
CRC000
0CRC00
CR000 used as compare register
CR010 used as capture register
(b) Prescaler mode register 00 (PRM00)
ES101
0/1
ES100
0/1
ES010
1
ES000
1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock (setting “11” is prohibited).
Specifies both edges for pulse width detection.
Setting invalid (setting “10” is prohibited.)
(c) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
0
TMC002
1
TMC001
0/1
OVF00
0TMC00
Free-running mode
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width measurement.
See the description of the respective control registers for details.
Figure 6-20. Configuration Diagram for Pulse Width Measurement by Free-Running Counter
f
XP
f
XP
/2
2
f
XP
/2
8
16-bit timer/counter 00
(TM00)
16-bit timer capture/compare
register 010 (CR010)
Internal bus
INTTM010
Selector
TI000/ANI0/
TOH1/P20
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
108
Figure 6-21. Timing of Pulse Width Measurement Operation by Free-Running Counter
and One Capture Register (with Both Edges Specified)
t
0000H 0000H
FFFFH
0001H
D0
D0
(D1 D0) × t (D3 D2) × t(D2 D1) × t
D1 D2 D3
D2 D3
D0 + 1
D1
D1 + 1
Count clock
TM00 count value
TI000 pin input
CR010 capture value
INTTM010
Note
Note The carry flag is set to 1. Ignore this setting.
(2) Measurement of two pulse widths with free-running counter
When 16-bit timer counter 00 (TM00) is operated in free-running mode, it is possible to simultaneously
measure the pulse widths of the two signals input to the TI000 pin and the TI010 pin.
Specify both the rising and falling edges as the valid edges of the TI000 and TI010 pins, by using bits 4 and 5
(ES000 and ES010) and bits 6 and 7 (ES100 and ES110) of PRM00.
When the valid edge specified by bits 4 and 5 (ES000 and ES010) of prescaler mode register 00 (PRM00) is
input to the TI000 pin, the value of TM00 is taken into 16-bit timer capture/compare register 010 (CR010) and
an interrupt request signal (INTTM010) is set.
Also, when the valid edge specified by bits 6 and 7 (ES100 and ES110) of PRM00 is input to the TI010 pin, the
value of TM00 is taken into 16-bit timer capture/compare register 000 (CR000) and an interrupt request signal
(INTTM000) is set.
Sampling is performed using the count clock cycle selected by prescaler mode register 00 (PRM00), and a
capture operation is only performed when a valid level of the TI000 or TI010 pin is detected twice, thus
eliminating noise with a short pulse width.
Caution The measurable pulse width in this operation example is up to 1 cycle of the timer counter.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 109
Figure 6-22. Control Register Settings for Measurement of Two Pulse Widths with Free-Running Counter
(a) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
1
CRC001
0
CRC000
1CRC00
CR000 used as capture register
Captures valid edge of TI010 pin to CR000.
CR010 used as capture register
(b) Prescaler mode register 00 (PRM00)
ES110
1
ES100
1
ES010
1
ES000
1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock (setting “11” is prohibited).
Specifies both edges for pulse width detection.
Specifies both edges for pulse width detection.
(c) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
0
TMC002
1
TMC001
0/1
OVF00
0TMC00
Free-running mode
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width measurement.
See the description of the respective control registers for details.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
110
Figure 6-23. Timing of Pulse Width Measurement Operation with Free-Running Counter
(with Both Edges Specified)
t
0000H 0000H
FFFFH
0001H
D0
D0
(D1 D0) × t (D3 D2) × t(D2 D1) × t
((D2 + 1) D1) × t
D1
D2 + 1D1
D2
D2 D3
D0 + 1
D1
D1 + 1 D2 + 1 D2 + 2
Note
TI010 pin input
CR000 capture value
INTTM010
INTTM000
Count clock
TM00 count value
TI000 pin input
CR010 capture value
Note
Note The carry flag is set to 1. Ignore this setting.
(3) Pulse width measurement with free-running counter and two capture registers
When 16-bit timer counter 00 (TM00) is operated in free-running mode, it is possible to measure the pulse
width of the signal input to the TI000 pin.
Specify both the rising and falling edges as the valid edges of the TI000 pin, by using bits 4 and 5 (ES000 and
ES010) of PRM00.
When the rising or falling edge specified by bits 4 and 5 (ES000 and ES010) of prescaler mode register 00
(PRM00) is input to the TI000 pin, the value of TM00 is taken into 16-bit timer capture/compare register 010
(CR010) and an interrupt request signal (INTTM010) is set.
Also, when the inverse edge to that of the capture operation is input into CR010, the value of TM00 is taken
into 16-bit timer capture/compare register 000 (CR000).
Sampling is performed using the count clock cycle selected by prescaler mode register 00 (PRM00), and a
capture operation is only performed when a valid level of the TI000 pin is detected twice, thus eliminating
noise with a short pulse width.
Caution The measurable pulse width in this operation example is up to 1 cycle of the timer counter.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 111
Figure 6-24. Control Register Settings for Pulse Width Measurement with Free-Running Counter and
Two Capture Registers (with Rising Edge Specified)
(a) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
1
CRC001
1
CRC000
1CRC00
CR000 used as capture register
Captures to CR000 at inverse edge
to valid edge of TI000
Note
.
CR010 used as capture register
(b) Prescaler mode register 00 (PRM00)
ES110
0/1
ES100
0/1
ES010
0
ES000
1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock (setting “11” is prohibited).
Specifies rising edge for pulse width detection.
Setting invalid (setting “10” is prohibited.)
(c) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
0
TMC002
1
TMC001
0/1
OVF00
0TMC00
Free-running mode
Note If the valid edge of TI000 is specified to be both the rising and falling edges, 16-bit timer capture/compare
register 000 (CR000) cannot perform the capture operation. When the CRC001 bit value is 1, the TM00
count value is not captured in the CR000 register when a valid edge of the TI010 pin is detected, but the
input from the TI010 pin can be used as an external interrupt source because INTTM000 is generated at
that timing.
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width measurement.
See the description of the respective control registers for details.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
112
Figure 6-25. Timing of Pulse Width Measurement Operation by Free-Running Counter
and Two Capture Registers (with Rising Edge Specified)
t
0000H 0000H
FFFFH
0001H
D0
D0 D2
D1 D3
D2 D3D1
D0 + 1 D2 + 1D1 + 1
INTTM010
CR000 capture value
Count clock
TM00 count value
TI000 pin input
CR010 capture value
(D1 D0) × t (D3 D2) × t(D2 D1) × t
Note
Note The carry flag is set to 1. Ignore this setting.
(4) Pulse width measurement by means of restart
Specify both the rising and falling edges as the valid edges of the TI000 pin, by using bits 4 and 5 (ES000 and
ES010) of PRM00.
When input of a valid edge to the TI000 pin is detected, the count value of 16-bit timer/counter 00 (TM00) is
taken into 16-bit timer capture/compare register 010 (CR010), and then the pulse width of the signal input to
the TI000 pin is measured by clearing TM00 and restarting the count.
The edge specification can be selected from two types, rising or falling edges, by bits 4 and 5 (ES000 and
ES010) of prescaler mode register 00 (PRM00)
Sampling is performed at the interval selected by prescaler mode register 00 (PRM00) and a capture operation
is only performed when a valid level of the TI000 pin is detected twice, thus eliminating noise with a short
pulse width.
Caution The measurable pulse width in this operation example is up to 1 cycle of the timer counter.
Figure 6-26. Control Register Settings for Pulse Width Measurement by Means of Restart
(with Rising Edge Specified) (1/2)
(a) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
1
CRC001
1
CRC000
1CRC00
CR000 used as capture register
Captures to CR000 at inverse edge to valid edge of TI000
Note
.
CR010 used as capture register
Note If the valid edge of TI000 is specified to be both the rising and falling edges, 16-bit timer capture/compare
register 000 (CR000) cannot perform the capture operation.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 113
Figure 6-26. Control Register Settings for Pulse Width Measurement by Means of Restart
(with Rising Edge Specified) (2/2)
(b) Prescaler mode register 00 (PRM00)
ES110
0/1
ES100
0/1
ES010
0
ES000
1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock (setting “11” is prohibited).
Specifies rising edge for pulse width detection.
Setting invalid (setting “10” is prohibited.)
(c) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
1
TMC002
0
TMC001
0/1
OVF00
0TMC00
Clears and starts at valid edge of TI000 pin.
Figure 6-27. Timing of Pulse Width Measurement Operation by Means of Restart
(with Rising Edge Specified)
t
0000H 0001H0000H0001H 0000H 0001H
D0
D0
INTTM010
(D1 + 1) × t
(D2 + 1) × t
D2
D1
D2D1
CR000 capture value
Count clock
TM00 count value
TI000 pin input
CR010 capture value
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
114
6.4.4 Square-wave output operation
Setting
The basic operation setting procedure is as follows.
<1> Set the count clock by using the PRM00 register.
<2> Set the CRC00 register (see Figure 6-28 for the set value).
<3> Set the TOC00 register (see Figure 6-28 for the set value).
<4> Set any value to the CR000 register (0000H cannot be set).
<5> Set the TMC00 register to start the operation (see Figure 6-28 for the set value).
Caution Changing the CR000 setting during TM00 operation may cause a malfunction. To change the
setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter 00 (17) Changing compare
register during timer operation.
Remarks 1. For the setting of the TO00 pin, see 6.3 (5) Port mode register 2 (PM2) and port mode control
register 2 (PMC2).
2. For how to enable the INTTM000 interrupt, see CHAPTER 10 INTERRUPT FUNCTIONS.
A square wave with any selected frequency can be output at intervals determined by the count value preset to 16-
bit timer capture/compare register 000 (CR000).
The TO00 pin output status is reversed at intervals determined by the count value preset to CR000 + 1 by setting
bit 0 (TOE00) and bit 1 (TOC001) of 16-bit timer output control register 00 (TOC00) to 1. This enables a square wave
with any selected frequency to be output.
Figure 6-28. Control Register Settings in Square-Wave Output Mode (1/2)
(a) Prescaler mode register 00 (PRM00)
ES110
0/1
ES100
0/1
ES010
0/1
ES000
0/1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock.
Setting invalid (setting “10” is prohibited.)
Setting invalid (setting “10” is prohibited.)
(b) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
0/1
CRC001
0/1
CRC000
0CRC00
CR000 used as compare register
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 115
Figure 6-28. Control Register Settings in Square-Wave Output Mode (2/2)
(c) 16-bit timer output control register 00 (TOC00)
7
0
OSPT00
0
OSPE00
0
TOC004
0
LVS00
0/1
LVR00
0/1
TOC001
1
TOE00
1TOC00
Enables TO00 output.
Inverts output on match between TM00 and CR000.
Specifies initial value of TO00 output F/F (setting “11” is prohibited).
Does not invert output on match between TM00 and CR010.
Disables one-shot pulse output.
(d) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
1
TMC002
1
TMC001
0
OVF00
0TMC00
Clears and starts on match between TM00 and CR000.
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with square-wave output. See the
description of the respective control registers for details.
Figure 6-29. Square-Wave Output Operation Timing
Count clock
TM00 count value
CR000
INTTM000
TO00 pin output
0000H 0001H 0002H
N 1N
0000H 0001H 0002H
N 1N
0000H
N
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
116
6.4.5 PPG output operations
Setting 16-bit timer mode control register 00 (TMC00) and capture/compare control register 00 (CRC00) as shown
in Figure 6-30 allows operation as PPG (Programmable Pulse Generator) output.
Setting
The basic operation setting procedure is as follows.
<1> Set the CRC00 register (see Figure 6-30 for the set value).
<2> Set any value to the CR000 register as the cycle.
<3> Set any value to the CR010 register as the duty factor.
<4> Set the TOC00 register (see Figure 6-30 for the set value).
<5> Set the count clock by using the PRM00 register.
<6> Set the TMC00 register to start the operation (see Figure 6-30 for the set value).
Caution Changing the CRC0n0 setting during TM00 operation may cause a malfunction. To change the
setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter 00 (17) Changing compare
register during timer operation.
Remarks 1. For the setting of the TO00 pin, see 6.3 (5) Port mode register 2 (PM2) and port mode control
register 2 (PMC2).
2. For how to enable the INTTM000 interrupt, see CHAPTER 10 INTERRUPT FUNCTIONS.
3. n = 0 or 1
In the PPG output operation, rectangular waves are output from the TO00 pin with the pulse width and the cycle
that correspond to the count values preset in 16-bit timer capture/compare register 010 (CR010) and in 16-bit timer
capture/compare register 000 (CR000), respectively.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 117
Figure 6-30. Control Register Settings for PPG Output Operation
(a) Capture/compare control register 00 (CRC00)
7
0
6
0
5
0
4
0
3
0
CRC002
0
CRC001
×
CRC000
0CRC00
CR000 used as compare register
CR010 used as compare register
(b) 16-bit timer output control register 00 (TOC00)
7
0
OSPT00
0
OSPE00
0
TOC004
1
LVS00
0/1
LVR00
0/1
TOC001
1
TOE00
1TOC00
Enables TO00 output.
Inverts output on match between TM00 and CR000.
Specifies initial value of TO00 output F/F (setting "11" is prohibited).
Inverts output on match between TM00 and CR010.
Disables one-shot pulse output.
(c) Prescaler mode register 00 (PRM00)
ES110
0/1
ES100
0/1
ES010
0/1
ES000
0/1
3
0
2
0
PRM001
0/1
PRM000
0/1PRM00
Selects count clock.
Setting invalid (setting “10” is prohibited.)
Setting invalid (setting “10” is prohibited.)
(d) 16-bit timer mode control register 00 (TMC00)
7
0
6
0
5
0
4
0
TMC003
1
TMC002
1
TMC001
0
OVF00
0TMC00
Clears and starts on match between TM00 and CR000.
Cautions 1. Values in the following range should be set in CR000 and CR010:
0000H < CR010 < CR000 FFFFH
2. The cycle of the pulse generated through PPG output (CR000 setting value + 1) has a duty of
(CR010 setting value + 1)/(CR000 setting value + 1).
Remark ×: Don’t care
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
118
Figure 6-31. Configuration Diagram of PPG Output
16-bit timer capture/compare
register 000 (CR000)
16-bit timer counter 00
(TM00)
Clear
circuit
Noise
eliminator
f
XP
f
XP
f
XP
/2
2
f
XP
/2
8
16-bit timer capture/compare
register 010 (CR010)
TO00/TI010/ANI1/
INTP0/P21
Selector
Output controller
TI000/ANI0/
TOH1/P20
Figure 6-32. PPG Output Operation Timing
t
0000H 0000H
0001H
0001H
M 1
Count clock
TM00 count value
TO00
Pulse width: (M + 1) × t
1 cycle: (N + 1) × t
N
CR000 capture value
CR010 capture value M
M
N 1
NN
ClearClear
Remark 0000H < M < N FFFFH
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 119
6.4.6 One-shot pulse output operation
16-bit timer/event counter 00 can output a one-shot pulse in synchronization with a software trigger or an external
trigger (TI000 pin input).
Setting
The basic operation setting procedure is as follows.
<1> Set the count clock by using the PRM00 register.
<2> Set the CRC00 register (see Figures 6-33 and 6-35 for the set value).
<3> Set the TOC00 register (see Figures 6-33 and 6-35 for the set value).
<4> Set any value to the CR000 and CR010 registers (0000H cannot be set).
<5> Set the TMC00 register to start the operation (see Figures 6-33 and 6-35 for the set value).
Remarks 1. For the setting of the TO00 pin, see 6.3 (5) Port mode register 2 (PM2) and port mode control
register 2 (PMC2).
2. For how to enable the INTTM000 (if necessary, INTTM010) interrupt, see CHAPTER 10
INTERRUPT FUNCTIONS.
(1) One-shot pulse output with software trigger
A one-shot pulse can be output from the TO00 pin by setting 16-bit timer mode control register 00 (TMC00),
capture/compare control register 00 (CRC00), and 16-bit timer output control register 00 (TOC00) as shown in
Figure 6-33, and by setting bit 6 (OSPT00) of the TOC00 register to 1 by software.
By setting the OSPT00 bit to 1, 16-bit timer/event counter 00 is cleared and started, and its output becomes
active at the count value (N) set in advance to 16-bit timer capture/compare register 010 (CR010). After that,
the output becomes inactive at the count value (M) set in advance to 16-bit timer capture/compare register 000
(CR000)Note.
Even after the one-shot pulse has been output, the TM00 register continues its operation. To stop the TM00
register, the TMC003 and TMC002 bits of the TMC00 register must be cleared to 00.
Note The case where N < M is described here. When N > M, the output becomes active with the CR000
register and inactive with the CR010 register. Do not set N to M.
Cautions 1. Do not set the OSPT00 bit to 1 again while the one-shot pulse is being output. To output the
one-shot pulse again, wait until the current one-shot pulse output is completed.
2. When using the one-shot pulse output of 16-bit timer/event counter 00 with a software
trigger, do not change the level of the TI000 pin or its alternate-function port pin.
Because the external trigger is valid even in this case, the timer is cleared and started even
at the level of the TI000 pin or its alternate-function port pin, resulting in the output of a
pulse at an undesired timing.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
120
Figure 6-33. Control Register Settings for One-Shot Pulse Output with Software Trigger
(a) Prescaler mode register 00 (PRM00)
0/1 0/1 0/1 0/1 0
PRM00
PRM001 PRM010
Selects count clock.
Setting invalid
(setting “10” is prohibited.)
0 0/1 0/1
ES110 ES100 ES010 ES000
Setting invalid
(setting “10” is prohibited.)
32
(b) Capture/compare control register 00 (CRC00)
00000
76543
CRC00
CRC002 CRC001 CRC000
CR000 as compare register
CR010 as compare register
0 0/1 0
(c) 16-bit timer output control register 00 (TOC00)
0
7
0 1 1 0/1
TOC00
LVR00LVS00TOC004OSPE00OSPT00 TOC001 TOE00
Enables TO00 output.
Inverts output upon match
between TM00 and CR000.
Specifies initial value of
TO00 output F/F (setting “11” is prohibited.)
Inverts output upon match
between TM00 and CR010.
Sets one-shot pulse output mode.
Set to 1 for output.
0/1 1 1
(d) 16-bit timer mode control register 00 (TMC00)
0000
7654
0
TMC003
TMC00
TMC002 TMC001 OVF00
Free-running mode
100
Caution Do not set 0000H to the CR000 and CR010 registers.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 121
Figure 6-34. Timing of One-Shot Pulse Output Operation with Software Trigger
0000H N
NN N N
MM M M
NMN + 1 N 1M 1
0001H
M + 1 M + 2
0000H
Count clock
TM00 count
CR010 set value
CR000 set value
OSPT00
INTTM010
INTTM000
TO00 pin output
Set TMC00 to 04H
(TM00 count starts)
Caution 16-bit timer counter 00 starts operating as soon as a value other than 00 (operation stop
mode) is set to the TMC003 and TMC002 bits.
Remark N < M
(2) One-shot pulse output with external trigger
A one-shot pulse can be output from the TO00 pin by setting 16-bit timer mode control register 00 (TMC00),
capture/compare control register 00 (CRC00), and 16-bit timer output control register 00 (TOC00) as shown in
Figure 6-35, and by using the valid edge of the TI000 pin as an external trigger.
The valid edge of the TI000 pin is specified by bits 4 and 5 (ES000, ES010) of prescaler mode register 00
(PRM00). The rising, falling, or both the rising and falling edges can be specified.
When the valid edge of the TI000 pin is detected, the 16-bit timer/event counter is cleared and started, and the
output becomes active at the count value set in advance to 16-bit timer capture/compare register 010
(CR010). After that, the output becomes inactive at the count value set in advance to 16-bit timer
capture/compare register 000 (CR000)Note.
Note The case where N < M is described here. When N > M, the output becomes active with the CR000
register and inactive with the CR010 register. Do not set N to M.
Caution Do not input the external trigger again while the one-shot pulse is output.
To output the one-shot pulse again, wait until the current one-shot pulse output is
completed.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
122
Figure 6-35. Control Register Settings for One-Shot Pulse Output with External Trigger
(with Rising Edge Specified)
(a) Prescaler mode register 00 (PRM00)
0/1 0/1 0 1
PRM00
PRM001 PRM000
Selects count clock
(setting “11” is prohibited).
Specifies the rising edge
for pulse width detection.
0/1 0/1
ES110 ES100 ES010 ES000
Setting invalid
(setting “10” is prohibited.)
00
32
(b) Capture/compare control register 00 (CRC00)
00000
76543
CRC00
CRC002 CRC001 CRC000
CR000 used as compare register
CR010 used as compare register
0 0/1 0
(c) 16-bit timer output control register 00 (TOC00)
0
7
011 0/1
TOC00
LVR00 TOC001 TOE00OSPE00OSPT00 TOC004 LVS00
Enables TO00 output.
Inverts output upon match
between TM00 and CR000.
Specifies initial value of
TO00 output F/F (setting “11” is prohibited.)
Inverts output upon match
between TM00 and CR010.
Sets one-shot pulse output mode.
0/1 1 1
(d) 16-bit timer mode control register 00 (TMC00)
0000
7654
1
TMC003
TMC00
TMC002 TMC001 OVF00
Clears and starts at
valid edge of TI000 pin.
000
Caution Do not set 0000H to the CR000 and CR010 registers.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 123
Figure 6-36. Timing of One-Shot Pulse Output Operation with External Trigger (with Rising Edge Specified)
0000H N
NN N N
MM M M
MN + 1 N + 2 M + 1 M + 2M 2M 1
0001H
0000H
Count clock
TM00 count value
CR010 set value
CR000 set value
TI000 pin input
INTTM010
INTTM000
TO00 pin output
When TMC00 is set to 08H
(TM00 count starts)
t
Caution 16-bit timer counter 00 starts operating as soon as a value other than 00 (operation stop mode) is
set to the TMC002 and TMC003 bits.
Remark N < M
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
124
6.5 Cautions Related to 16-Bit Timer/Event Counter 00
(1) Timer start errors
An error of up to one clock may occur in the time required for a match signal to be generated after timer start.
This is because 16-bit timer counter 00 (TM00) is started asynchronously to the count clock.
Figure 6-37. Start Timing of 16-Bit Timer Counter 00 (TM00)
TM00 count value
0000H 0001H 0002H 0004H
Count clock
Timer start
0003H
(2) 16-bit timer counter 00 (TM00) operation
<1> 16-bit timer counter 00 (TM00) starts operation at the moment TMC002 and TMC003 (operation stop
mode) are set to a value other than 0, 0, respectively. Set TMC002 and TMC003 to 0, 0 to stop the
operation.
<2> Even if TM00 is read, the value is not captured by 16-bit timer capture/compare register 010 (CR010).
<3> When TM00 is read, count misses do not occur, since the input of the count clock is temporarily stopped
and then resumed after the read.
<4> If the timer is stopped, timer counts and timer interrupts do not occur, even if a signal is input to the
TI000/TI010 pins.
(3) Setting of 16-bit timer capture/compare registers 000, 010 (CR000, CR010)
<1> Set 16-bit timer capture/compare register 000 (CR000) to other than 0000H in the clear & start mode
entered on match between TM00 and CR000. This means a 1-pulse count operation cannot be
performed when this register is used as an external event counter.
<2> When the clear & start mode entered on a match between TM00 and CR000 is selected, CR000 should
not be specified as a capture register.
<3> In the free-running mode and in the clear & start mode using the valid edge of the TI000 pin, if CR0n0 is
set to 0000H, an interrupt request (INTTM0n0) is generated when CR0n0 changes from 0000H to
0001H following overflow (FFFFH).
<4> If the new value of CR0n0 is less than the value of TM00, TM00 continues counting, overflows, and then
starts counting from 0 again. If the new value of CR0n0 is less than the old value, therefore, the timer
must be reset to be restarted after the value of CR0n0 is changed.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 125
(4) Capture register data retention
The values of 16-bit timer capture/compare registers 0n0 (CR0n0) after 16-bit timer/event counter 00 has
stopped are not guaranteed.
Remark n = 0, 1
(5) Setting of 16-bit timer mode control register 00 (TMC00)
The timer operation must be stopped before writing to bits other than the OVF00 flag.
(6) Setting of capture/compare control register 00 (CRC00)
The timer operation must be stopped before setting CRC00.
(7) Setting of 16-bit timer output control register 00 (TOC00)
<1> Timer operation must be stopped before setting other than OSPT00.
<2> If LVS00 and LVR00 are read, 0 is read.
<3> OSPT00 is automatically cleared after data is set, so 0 is read.
<4> Do not set OSPT00 to 1 other than in one-shot pulse output mode.
<5> A write interval of two cycles or more of the count clock selected by prescaler mode register 00 (PRM00)
is required, when OSPT00 is set to 1 successively.
(8) Setting of prescaler mode register 00 (PRM00)
Always set data to PRM00 after stopping the timer operation.
(9) Valid edge setting
Set the valid edge of the TI000 pin with bits 4 and 5 (ES000 and ES010) of prescaler mode register 00
(PRM00) after stopping the timer operation.
(10) One-shot pulse output
One-shot pulse output normally operates only in the free-running mode or in the clear & start mode at the valid
edge of the TI000 pin. Because an overflow does not occur in the clear & start mode on a match between
TM00 and CR000, one-shot pulse output is not possible.
(11) One-shot pulse output by software
<1> Do not set the OSPT00 bit to 1 again while the one-shot pulse is being output. To output the one-shot
pulse again, wait until the current one-shot pulse output is completed.
<2> When using the one-shot pulse output of 16-bit timer/event counter 00 with a software trigger, do not
change the level of the TI000 pin or its alternate function port pin.
Because the external trigger is valid even in this case, the timer is cleared and started even at the level
of the TI000 pin or its alternate function port pin, resulting in the output of a pulse at an undesired timing.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
126
<3> Do not set the 16-bit timer capture/compare registers 000 and 010 (CR000 and CR010) to 0000H.
(12) One-shot pulse output with external trigger
<1> Do not input the external trigger again while the one-shot pulse is output.
To output the one-shot pulse again, wait until the current one-shot pulse output is completed.
<2> Do not set the 16-bit timer capture/compare registers 000 and 010 (CR000 and CR010) to 0000H.
(13) Operation of OVF00 flag
<1> The OVF00 flag is also set to 1 in the following case.
Either of the clear & start mode entered on a match between TM00 and CR000, clear & start at the valid
edge of the TI000 pin, or free-running mode is selected.
CR000 is set to FFFFH.
When TM00 is counted up from FFFFH to 0000H.
Figure 6-38. Operation Timing of OVF00 Flag
Count clock
CR000
TM00
OVF00
INTTM000
FFFFH
FFFEH FFFFH 0000H 0001H
<2> Even if the OVF00 flag is cleared before the next count clock is counted (before TM00 becomes 0001H)
after the occurrence of a TM00 overflow, the OVF00 flag is reset newly and clear is disabled.
(14) Conflicting operations
If the register read period and the input of the capture trigger conflict when CR000/CR010 is used as a capture
register, the capture trigger input takes precedence and the read data is undefined. Also, if the count stop of
the timer and the input of the capture trigger conflict, the captured data is undefined.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 127
Figure 6-39. Capture Register Data Retention Timing
Count clock
TM00 count value
Edge input
INTTM010
Capture read signal
CR010 capture value
N N + 1 N + 2 M M + 1 M + 2
X N + 2
Capture, but
read value is
not guaranteed
Capture
M + 1
(15) Capture operation
<1> If the valid edge of the TI000 pin is to be set as the count clock, do not set the clear/start mode and the
capture trigger at the valid edge of the TI000 pin.
<2> When the CRC001 bit value is 1, capture is not performed in the CR000 register if both the rising and
falling edges have been selected as the valid edges of the TI000 pin.
<3> When the CRC001 bit value is 1, the TM00 count value is not captured in the CR000 register when a
valid edge of the TI010 pin is detected, but the input from the TI010 pin can be used as an external
interrupt source because INTTM000 is generated at that timing.
<4> To ensure the reliability of the capture operation, the capture trigger requires a pulse longer than two
cycles of the count clock selected by prescaler mode register 00 (PRM00).
<5> The capture operation is performed at the fall of the count clock. A interrupt request input (INTTM0n0),
however, occurs at the rise of the next count clock.
<6> To use two capture registers, set the TI000 and TI010 pins.
Remark n = 0, 1
(16) Compare operation
The capture operation may not be performed for CR0n0 set in compare mode even if a capture trigger is input.
Remark n = 0, 1
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
128
(17) Changing compare register during timer operation
<1> With the 16-bit timer capture/compare register 0n0 (CR0n0) used as a compare register, when changing
CR0n0 around the timing of a match between 16-bit timer counter 00 (TM00) and 16-bit timer
capture/compare register 0n0 (CR0n0) during timer counting, the change timing may conflict with the
timing of the match, so the operation is not guaranteed in such cases. To change CR0n0 during timer
counting, INTTM000 interrupt servicing performs the following operation.
<Changing cycle (CR000)>
1. Disable the timer output inversion operation at the match between TM00 and CR000 (TOC001 = 0).
2. Disable the INTTM000 interrupt (TMMK000 = 1).
3. Rewrite CR000.
4. Wait for 1 cycle of the TM00 count clock.
5. Enable the timer output inversion operation at the match between TM00 and CR000 (TOC001 = 1).
6. Clear the interrupt request flag of INTTM000 (TMIF000 = 0).
7. Enable the INTTM000 interrupt (TMMK000 = 0).
<Changing duty (CR010)>
1. Disable the timer output inversion operation at the match between TM00 and CR010 (TOC004 = 0).
2. Disable the INTTM000 interrupt (TMMK000 = 1).
3. Rewrite CR010.
4. Wait for 1 cycle of the TM00 count clock.
5. Enable the timer output inversion operation at the match between TM00 and CR010 (TOC004 = 1).
6. Clear the interrupt request flag of INTTM000 (TMIF000 = 0).
7. Enable the INTTM000 interrupt (TMMK000 = 0).
While interrupts and timer output inversion are disabled (1 to 4 above), timer counting is continued. If
the value to be set in CR0n0 is small, the value of TM00 may exceed CR0n0. Therefore, set the value,
considering the time lapse of the timer clock and CPU after an INTTM000 interrupt has been generated.
Remark n = 0 or 1
<2> If CR010 is changed during timer counting without performing processing <1> above, the value in
CR010 may be rewritten twice or more, causing an inversion of the output level of the TO00 pin at each
rewrite.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 129
(18) Edge detection
<1> In the following cases, note with caution that the valid edge of the TI0n0 pin is detected.
(a) Immediately after a system reset, if a high level is input to the TI0n0 pin, the operation of the 16-bit
timer counter 00 (TM00) is enabled
If the rising edge or both rising and falling edges are specified as the valid edge of the TI0n0 pin,
a rising edge is detected immediately after the TM00 operation is enabled.
(b) If the TM00 operation is stopped while the TI0n0 pin is high level, TM00 operation is then enabled
after a low level is input to the TI0n0 pin
If the falling edge or both rising and falling edges are specified as the valid edge of the TI0n0 pin,
a falling edge is detected immediately after the TM00 operation is enabled.
(c) When the TM00 operation is stopped while the TI0n0 pin is low level, TM00 operation is then
enabled after a high level is input to the TI0n0 pin
If the rising edge or both rising and falling edges are specified as the valid edge, of the TI0n0 pin,
a rising edge is detected immediately after the TM00 operation is enabled.
Remark n = 0, 1
<2> The sampling clock used to remove noise differs when a TI000 valid edge is used as the count clock and
when it is used as a capture trigger. In the former case, the count clock is fXP, and in the latter case the
count clock is selected by prescaler mode register 00 (PRM00). The capture operation is not performed
until the valid edge is sampled and the valid level is detected twice, thus eliminating, noise with a short
pulse width.
(19) External event counter
<1> The timing of the count start is after two valid edge detections.
<2> When reading the external event counter count value, TM00 should be read.
(20) PPG output
<1> Values in the following range should be set in CR000 and CR010:
0000H < CR010 < CR000 FFFFH
<2> The cycle of the pulse generated through PPG output (CR000 setting value + 1) has a duty of (CR010
setting value + 1)/(CR000 setting value + 1).
(21) STOP mode or system clock stop mode setting
Except when TI000 pin valid edge is selected as the count clock, stop the timer operation before setting STOP
mode or system clock stop mode; otherwise the timer may malfunction when the system clock starts.
(22) P21/TI010/TO00 pin
When using P21 as the input pin (TI010) of the valid edge, it cannot be used as a timer output pin (TO00).
When using P21 as the timer output pin (TO00), it cannot be used as the input pin (TI010) of the valid edge.
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 00 (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
130
(23) External clock limitation
<1> When using an input pulse of the TI000 pin as a count clock (external trigger), be sure to input the pulse
width which satisfies the AC characteristics. For the AC characteristics, refer to CHAPTER 19
ELECTRICAL SPECIFICATIONS.
<2> When an external waveform is input to 16-bit timer/event counter 00, it is sampled by the noise limiter
circuit and thus an error occurs on the timing to become valid inside the device.
Count clock (f
sam
)
TI000
Input pulse through
noise limiter circuit
Sampling time on filter
Remark The count clock (fsam) can be selected using bits 0 and 1 (PRM000, PRM001) of prescaler
mode register 00 (PRM00).
User’s Manual U18172EJ3V0UD 131
CHAPTER 7 8-BIT TIMER H1
7.1 Functions of 8-Bit Timer H1
8-bit timer H1 has the following functions.
Interval timer
PWM output mode
Square-wave output
7.2 Configuration of 8-Bit Timer H1
8-bit timer H1 consists of the following hardware.
Table 7-1. Configuration of 8-Bit Timer H1
Item Configuration
Timer register 8-bit timer counter H1
Registers 8-bit timer H compare register 01 (CMP01)
8-bit timer H compare register 11 (CMP11)
Timer output TOH1
Control registers 8-bit timer H mode register 1 (TMHMD1)
Port mode register 2 (PM2)
Port register 2 (P2)
Port mode control register 2 (PMC2) (
μ
PD78F920x only)
Figure 7-1 shows a block diagram.
<R>
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
132
Figure 7-1. Block Diagram of 8-Bit Timer H1
Match
Selector
Internal bus
TMHE1
CKS12
CKS11
CKS10
TMMD11 TMMD10
TOLEV1
TOEN1
8-bit timer H mode register 1
(TMHMD1)
8-bit timer H
compare register
11 (CMP11)
Decoder TOH1/TI000
Note
/
ANI0
Note
/P20
INTTMH1
Selector
f
XP
f
XP
/2
2
f
XP
/2
4
f
XP
/2
6
f
XP
/2
12
f
RL
/2
7
Interrupt
generator
Output
controller
Level
inversion
1
0
F/F
R
8-bit timer
counter H1
PWM mode signal
Timer H enable signal
Clear
32
8-bit timer H
compare register
01 (CMP01)
Output latch
(P20) PM20
Note
μ
PD78F920x only
<R>
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 133
(1) 8-bit timer H compare register 01 (CMP01)
This register can be read or written by an 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00H.
Figure 7-2. Format of 8-Bit Timer H Compare Register 01 (CMP01)
Symbol
CMP01
Address: FF0EH After reset: 00H R/W
765432 1 0
Caution CMP01 cannot be rewritten during timer count operation.
(2) 8-bit timer H compare register 11 (CMP11)
This register can be read or written by an 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00H.
Figure 7-3. Format of 8-Bit Timer H Compare Register 11 (CMP11)
Symbol
CMP11
Address: FF0FH After reset: 00H R/W
765432 1 0
CMP11 can be rewritten during timer count operation.
If the CMP11 value is rewritten during timer operation, the compare value after the rewrite takes effect at the timing
at which the count value and the compare value before the rewrite match. If the timing at which the count value and
compare value match conflicts with the timing of the writing from the CPU to CMP11, the compare value after the
rewrite takes effect at the timing at which the next count value and the compare value before the rewrite match.
Caution In the PWM output mode, be sure to set CMP11 when starting the timer count operation (TMHE1
= 1) after the timer count operation was stopped (TMHE1 = 0) (be sure to set again even if setting
the same value to CMP11).
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
134
7.3 Registers Controlling 8-Bit Timer H1
The following four registers are used to control 8-Bit Timer H1.
8-bit timer H mode register 1 (TMHMD1)
Port mode register 2 (PM2)
Port register 2 (P2)
Port mode control register 2 (PMC2) (
μ
PD78F920x only)
(1) 8-bit timer H mode register 1 (TMHMD1)
This register controls the mode of timer H.
This register can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00H.
<R>
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 135
Figure 7-4. Format of 8-Bit Timer H Mode Register 1 (TMHMD1)
TMHE1
Stop timer count operation (counter is cleared to 0)
Enable timer count operation (count operation started by inputting clock)
TMHE1
0
1
Timer operation enable
TMHMD1
Symbol
CKS12 CKS11 CKS10 TMMD11 TMMD10 TOLEV1 TOEN1
Address: FF70H After reset: 00H R/W
f
XP
f
XP
/2
2
f
XP
/2
4
f
XP
/2
6
f
XP
/2
12
f
RL
/2
7
CKS12
0
0
0
0
1
1
CKS11
0
0
1
1
0
0
CKS10
0
1
0
1
0
1
(10 MHz)
(2.5 MHz)
(625 kHz)
(156.25 kHz)
(2.44 kHz)
(1.88 kHz (TYP.))
Count clock (f
CNT
) selection
Setting prohibitedOther than above
Interval timer mode
PWM output mode
Setting prohibited
TMMD11
0
1
TMMD10
0
0
Timer operation mode
Low level
High level
TOLEV1
0
1
Timer output level control (in default mode)
Disable output
Enable output
TOEN1
0
1
Timer output control
Other than above
<7> 6543 2 <1> <0>
Cautions 1. When TMHE1 = 1, setting the other bits of the TMHMD1 register is prohibited.
2. In the PWM output mode, be sure to set 8-bit timer H compare register 11 (CMP11) when
starting the timer count operation (TMHE1 = 1) after the timer count operation was stopped
(TMHE1 = 0) (be sure to set again even if setting the same value to the CMP11 register).
Remarks 1. f
XP: Oscillation frequency of clock to peripheral hardware
2. f
RL: Low-speed internal oscillation clock oscillation frequency
3. Figures in parentheses apply to operation at fXP = 10 MHz, fRL = 240 kHz (TYP.).
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
136
(2) Port mode register 2 (PM2) and port mode control register 2 (PMC2)Note
When using the P20/TOH1/TI000/ANI0 pin for timer output, clear PM20, the output latch of P20, and PMC20 to 0.
PM2 and PMC2 can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets PM2 to FFH, and clears PMC2 to 00H.
Note
μ
PD78F920x only
Figure 7-5. Format of Port Mode Register 2 (PM2)
Address: FF22H After reset: FFH R/W
Symbol 7 6 5 4 3 2 1 0
PM2 1 1 1 1 PM23 PM22 PM21 PM20
PM2n P2n pin I/O mode selection (n = 0 to 3)
0 Output mode (output buffer on)
1 Input mode (output buffer off)
Figure 7-6. Format of Port Mode Control Register 2 (PMC2) (
μ
PD78F920x Only)
Address: FF84H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PMC2 0 0 0 0 PMC23 PMC22 PMC21 PMC20
PMC2n Specification of operation mode (n = 0 to 3)
0 Port/Alternate-function (except A/D converter) mode
1 A/D converter mode
7.4 Operation of 8-Bit Timer H1
7.4.1 Operation as interval timer/square-wave output
When 8-bit timer counter H1 and compare register 01 (CMP01) match, an interrupt request signal (INTTMH1) is
generated and 8-bit timer counter H1 is cleared to 00H.
Compare register 11 (CMP11) is not used in interval timer mode. Since a match of 8-bit timer counter H1 and the
CMP11 register is not detected even if the CMP11 register is set, timer output is not affected.
By setting bit 0 (TOEN1) of timer H mode register 1 (TMHMD1) to 1, a square wave of any frequency (duty = 50%)
is output from TOH1.
<R>
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 137
(1) Usage
Generates the INTTMH1 signal repeatedly at the same interval.
<1> Set each register.
Figure 7-7. Register Setting During Interval Timer/Square-Wave Output Operation
(i) Setting timer H mode register 1 (TMHMD1)
0 0/1 0/1 0/1 0 0 0/1 0/1
TMMD10 TOLEV1 TOEN1CKS11CKS12TMHE1
TMHMD1
CKS10 TMMD11
Timer output setting
Timer output level inversion setting
Interval timer mode setting
Count clock (f
CNT
) selection
Count operation stopped
(ii) CMP01 register setting
Compare value (N)
<2> Count operation starts when TMHE1 = 1.
<3> When the values of 8-bit timer counter H1 and the CMP01 register match, the INTTMH1 signal is generated
and 8-bit timer counter H1 is cleared to 00H.
Interval time = (N +1)/fCNT
<4> Subsequently, the INTTMH1 signal is generated at the same interval. To stop the count operation, clear
TMHE1 to 0.
(2) Timing chart
The timing of the interval timer/square-wave output operation is shown below.
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
138
Figure 7-8. Timing of Interval Timer/Square-Wave Output Operation (1/2)
(a) Basic operation (01H CMP01 FEH)
00H
Count clock
Count start
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
01H N
Clear
Interval time
Clear
N
00H 01H N 00H 01H 00H
<2>
Level inversion,
match interrupt occurrence,
8-bit timer counter H1 clear
<2>
Level inversion,
match interrupt occurrence,
8-bit timer counter H1 clear
<3><1>
<1> The count operation is enabled by setting the TMHE1 bit to 1. The count clock starts counting no more than
1 clock after the operation is enabled.
<2> When the values of 8-bit timer counter H1 and the CMP01 register match, the value of 8-bit timer counter H1
is cleared, the TOH1 output level is inverted, and the INTTMH1 signal is output.
<3> The INTTMH1 signal and TOH1 output become inactive by clearing the TMHE1 bit to 0 during timer H1
operation. If these are inactive from the first, the level is retained.
Remark 01H N FEH
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 139
Figure 7-8. Timing of Interval Timer/Square-Wave Output Operation (2/2)
(b) Operation when CMP01 = FFH
00H
Count clock
Count start
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
01H FEH
Clear
Clear
FFH 00H FEH FFH 00H
FFH
Interval time
(c) Operation when CMP01 = 00H
Count clock
Count start
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
00H
00H
Interval time
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
140
7.4.2 Operation as PWM output mode
In PWM output mode, a pulse with an arbitrary duty and arbitrary cycle can be output.
8-bit timer compare register 01 (CMP01) controls the cycle of timer output (TOH1). Rewriting the CMP01 register
during timer operation is prohibited.
8-bit timer compare register 11 (CMP11) controls the duty of timer output (TOH1). Rewriting the CMP11 register
during timer operation is possible.
The operation in PWM output mode is as follows.
TOH1 output becomes active and 8-bit timer counter H1 is cleared to 0 when 8-bit timer counter H1 and the
CMP01 register match after the timer count is started. TOH1 output becomes inactive when 8-bit timer counter H1
and the CMP11 register match.
(1) Usage
In PWM output mode, a pulse for which an arbitrary duty and arbitrary cycle can be set is output.
<1> Set each register.
Figure 7-9. Register Setting in PWM Output Mode
(i) Setting timer H mode register 1 (TMHMD1)
0 0/1 0/1 0/1 1 0 0/1 1
TMMD10 TOLEV1 TOEN1CKS11CKS12TMHE1
TMHMD1
CKS10 TMMD11
Timer output enabled
Timer output level inversion setting
PWM output mode selection
Count clock (fCNT) selection
Count operation stopped
(ii) Setting CMP01 register
Compare value (N): Cycle setting
(iii) Setting CMP11 register
Compare value (M): Duty setting
Remark 00H CMP11 (M) < CMP01 (N) FFH
<2> The count operation starts when TMHE1 = 1.
<3> The CMP01 register is the compare register that is to be compared first after count operation is enabled.
When the values of 8-bit timer counter H1 and the CMP01 register match, 8-bit timer counter H1 is cleared,
an interrupt request signal (INTTMH1) is generated, and TOH1 output becomes active. At the same time,
the compare register to be compared with 8-bit timer counter H1 is changed from the CMP01 register to the
CMP11 register.
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 141
<4> When 8-bit timer counter H1 and the CMP11 register match, TOH1 output becomes inactive and the
compare register to be compared with 8-bit timer counter H1 is changed from the CMP11 register to the
CMP01 register. At this time, 8-bit timer counter H1 is not cleared and the INTTMH1 signal is not
generated.
<5> By performing procedures <3> and <4> repeatedly, a pulse with an arbitrary duty can be obtained.
<6> To stop the count operation, set TMHE1 = 0.
If the setting value of the CMP01 register is N, the setting value of the CMP11 register is M, and the count clock
frequency is fCNT, the PWM pulse output cycle and duty are as follows.
PWM pulse output cycle = (N+1)/fCNT
Duty = Active width : Total width of PWM = (M + 1) : (N + 1)
Cautions 1. In PWM output mode, the setting value for the CMP11 register can be changed during timer
count operation. However, three operation clocks (signal selected using the CKS12 to
CKS10 bits of the TMHMD1 register) or more are required to transfer the register value after
rewriting the CMP11 register value.
2. Be sure to set the CMP11 register when starting the timer count operation (TMHE1 = 1) after
the timer count operation was stopped (TMHE1 = 0) (be sure to set again even if setting the
same value to the CMP11 register).
(2) Timing chart
The operation timing in PWM output mode is shown below.
Caution Make sure that the CMP11 register setting value (M) and CMP01 register setting value (N) are
within the following range.
00H CMP11 (M) < CMP01 (N) FFH
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
142
Figure 7-10. Operation Timing in PWM Output Mode (1/4)
(a) Basic operation (00H < CMP11 < CMP01 < FFH)
Count clock
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
(TOLEV1 = 0)
TOH1
(TOLEV1 = 1)
00H 01H A5H 00H 01H 02H A5H 00H A5H 00H01H 02H
CMP11
A5H
01H
<1> <2> <3> <4>
<1> The count operation is enabled by setting the TMHE1 bit to 1. Start 8-bit timer counter H1 by masking one
count clock to count up. At this time, TOH1 output remains inactive (when TOLEV1 = 0).
<2> When the values of 8-bit timer counter H1 and the CMP01 register match, the TOH1 output level is inverted,
the value of 8-bit timer counter H1 is cleared, and the INTTMH1 signal is output.
<3> When the values of 8-bit timer counter H1 and the CMP11 register match, the level of the TOH1 output is
returned. At this time, the 8-bit timer counter value is not cleared and the INTTMH1 signal is not output.
<4> Clearing the TMHE1 bit to 0 during timer H1 operation makes the INTTMH1 signal and TOH1 output inactive.
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 143
Figure 7-10. Operation Timing in PWM Output Mode (2/4)
(b) Operation when CMP01 = FFH, CMP11 = 00H
Count clock
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
(TOLEV1 = 0)
00H 01H FFH 00H 01H 02H FFH 00H FFH 00H01H 02H
CMP11
FFH
00H
(c) Operation when CMP01 = FFH, CMP11 = FEH
Count clock
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
(TOLEV1 = 0)
00H 01H FEH FFH 00H 01H FEH FFH 00H 01H FEH FFH 00H
CMP11
FFH
FEH
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD
144
Figure 7-10. Operation Timing in PWM Output Mode (3/4)
(d) Operation when CMP01 = 01H, CMP11 = 00H
Count clock
8-bit timer counter H1
CMP01
TMHE1
INTTMH1
TOH1
(TOLEV1 = 0)
01H
00H 01H 00H 01H 00H 00H 01H 00H 01H
CMP11 00H
CHAPTER 7 8-BIT TIMER H1
User’s Manual U18172EJ3V0UD 145
Figure 7-10. Operation Timing in PWM Output Mode (4/4)
(e) Operation by changing CMP11 (CMP11 = 02H 03H, CMP01 = A5H)
00H 01H 02H A5H 00H 01H 02H 03H A5H 00H 01H 02H 03H A5H 00H
02H
A5H
03H
80H
CMP01
TMHE1
INTTMH1
TOH1
(TOLEV1 = 0)
CMP11
Count clock
8-bit timer counter H1
<2>'<2>
<1> <3> <4> <5> <6>
02H (03H)
<1> The count operation is enabled by setting TMHE1 = 1. Start 8-bit timer counter H1 by masking one count
clock to count up. At this time, the TOH1 output remains inactive (when TOLEV1 = 0).
<2> The CMP11 register value can be changed during timer counter operation. This operation is asynchronous
to the count clock.
<3> When the values of 8-bit timer counter H1 and the CMP01 register match, the value of 8-bit timer counter H1
is cleared, the TOH1 output becomes active, and the INTTMH1 signal is output.
<4> If the CMP11 register value is changed, the value is latched and not transferred to the register. When the
values of 8-bit timer counter H1 and the CMP11 register before the change match, the value is transferred to
the CMP11 register and the CMP11 register value is changed (<2>’).
However, three count clocks or more are required from when the CMP11 register value is changed to when
the value is transferred to the register. If a match signal is generated within three count clocks, the changed
value cannot be transferred to the register.
<5> When the values of 8-bit timer counter H1 and the CMP11 register after the change match, the TOH1 output
becomes inactive. 8-bit timer counter H1 is not cleared and the INTTMH1 signal is not generated.
<6> Clearing the TMHE1 bit to 0 during timer H1 operation makes the INTTMH1 signal and TOH1 output inactive.
User’s Manual U18172EJ3V0UD
146
CHAPTER 8 WATCHDOG TIMER
8.1 Functions of Watchdog Timer
The watchdog timer is used to detect an inadvertent program loop. If a program loop is detected, an internal reset
signal is generated.
When a reset occurs due to the watchdog timer, bit 4 (WDTRF) of the reset control flag register (RESF) is set to 1.
For details of RESF, see CHAPTER 12 RESET FUNCTION.
Table 8-1. Loop Detection Time of Watchdog Timer
Loop Detection Time
During Low-Speed Internal oscillation Clock Operation During System Clock Operation
211/fRL (4.27 ms) 213/fX (819.2
μ
s)
212/fRL (8.53 ms) 214/fX (1.64 ms)
213/fRL (17.07 ms) 215/fX (3.28 ms)
214/fRL (34.13 ms) 216/fX (6.55 ms)
215/fRL (68.27 ms) 217/fX (13.11 ms)
216/fRL (136.53 ms) 218/fX (26.21 ms)
217/fRL (273.07 ms) 219/fX (52.43 ms)
218/fRL (546.13 ms) 220/fX (104.86 ms)
Remarks 1. fRL: Low-speed internal oscillation clock oscillation frequency
2. f
X: System clock oscillation frequency
3. Figures in parentheses apply to operation at fRL = 480 kHz (MAX.), fX = 10 MHz.
The operation mode of the watchdog timer (WDT) is switched according to the option byte setting of the on-chip
low-speed internal oscillator as shown in Table 8-2.
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD 147
Table 8-2. Option Byte Setting and Watchdog Timer Operation Mode
Option Byte Setting
Low-Speed Internal Oscillator Cannot Be Stopped Low-Speed Internal Oscillator Can Be Stopped by Software
Watchdog timer clock
source
Fixed to fRLNote 1. Selectable by software (fX, fRL or stopped)
When reset is released: fRL
Operation after reset Operation starts with the maximum interval (218/fRL). Operation starts with the maximum interval
(218/fRL).
Operation mode
selection
The interval can be changed only once. The clock selection/interval can be changed only
once.
Features The watchdog timer cannot be stopped. The watchdog timer can be stoppedNote 2.
Notes 1. As long as power is being supplied, low-speed internal oscillator cannot be stopped (except in the reset
period).
2. The conditions under which clock supply to the watchdog timer is stopped differ depending on the clock
source of the watchdog timer.
<1> If the clock source is fX, clock supply to the watchdog timer is stopped under the following conditions.
When fX is stopped
In HALT/STOP mode
During oscillation stabilization time
<2> If the clock source is fRL, clock supply to the watchdog timer is stopped under the following conditions.
If the CPU clock is fX and if fRL is stopped by software before execution of the STOP instruction
In HALT/STOP mode
Remarks 1. f
RL: Low-speed internal oscillation clock oscillation frequency
2. f
X: System clock oscillation frequency
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD
148
8.2 Configuration of Watchdog Timer
The watchdog timer consists of the following hardware.
Table 8-3. Configuration of Watchdog Timer
Item Configuration
Control registers Watchdog timer mode register (WDTM)
Watchdog timer enable register (WDTE)
Figure 8-1. Block Diagram of Watchdog Timer
Clock
input
controller
Output
controller Internal reset signal
WDCS2
Internal bus
WDCS1 WDCS0WDCS3WDCS4
01 1
Selector
16-bit
counter or
213/fX to
220/fX
Watchdog timer enable
register (WDTE) Watchdog timer mode
register (WDTM)
3
2
Clear
Option byte
(to set “low-speed
internal oscillator cannot be
stopped” or “low-speed
internal oscillator can be
stopped by software”)
fRL/22
fX/24
211/fRL to
218/fRL
Remarks 1. fRL: Low-speed internal oscillation clock oscillation frequency
2. f
X: System clock oscillation frequency
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD 149
8.3 Registers Controlling Watchdog Timer
The watchdog timer is controlled by the following two registers.
Watchdog timer mode register (WDTM)
Watchdog timer enable register (WDTE)
(1) Watchdog timer mode register (WDTM)
This register sets the overflow time and operation clock of the watchdog timer.
This register can be set by an 8-bit memory manipulation instruction and can be read many times, but can be
written only once after reset is released.
Reset signal generation sets this register to 67H.
Figure 8-2. Format of Watchdog Timer Mode Register (WDTM)
0
WDCS0
1
WDCS1
2
WDCS2
3
WDCS3
4
WDCS4
5
1
6
1
7
0
Symbol
WDTM
Address: FF48H After reset: 67H R/W
WDCS4Note 1 WDCS3Note 1 Operation clock selection
0 0 Low-speed internal oscillation clock (fRL)
0 1 System Clock (fX)
1 × Watchdog timer operation stopped
Overflow time setting WDCS2Note 2 WDCS1Note 2 WDCS0Note 2
During low-speed internal
oscillation clock operation
During system clock operation
0 0 0 211/fRL (4.27 ms) 213/fX (819.2
μ
s)
0 0 1 212/fRL (8.53 ms) 214/fX (1.64 ms)
0 1 0 213/fRL (17.07 ms) 215/fX (3.28 ms)
0 1 1 214/fRL (34.13 ms) 216/fX (6.55 ms)
1 0 0 215/fRL (68.27 ms) 217/fX (13.11 ms)
1 0 1 216/fRL (136.53 ms) 218/fX (26.21 ms)
1 1 0 217/fRL (273.07 ms) 219/fX (52.43 ms)
1 1 1 218/fRL (546.13 ms) 220/fX (104.86 ms)
Notes 1. If “low-speed internal oscillator cannot be stopped” is specified by the option byte, this cannot
be set. The low-speed internal oscillation clock will be selected no matter what value is
written.
2. Reset is released at the maximum cycle (WDCS2, 1, 0 = 1, 1, 1).
Cautions 1. Set bits 7, 6, and 5 to 0, 1, and 1, respectively. Do not set the other values.
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD
150
Cautions 2. After reset is released, WDTM can be written only once by an 8-bit memory
manipulation instruction. If writing is attempted a second time, an internal reset
signal is generated. However, at the first write, if “1” and “x” are set for WDCS4 and
WDCS3 respectively and the watchdog timer is stopped, then the internal reset
signal does not occur even if the following are executed.
Second write to WDTM
1-bit memory manipulation instruction to WDTE
Writing of a value other than “ACH” to WDTE
3. WDTM cannot be set by a 1-bit memory manipulation instruction.
4. When using the flash memory programming by self programming, set the overflow
time for the watchdog timer so that enough overflow time is secured (Example 1-
byte writing: 200
μ
s MIN., 1-block deletion: 10 ms MIN.).
Remarks 1. fRL: Low-speed internal oscillation clock oscillation frequency
2. fX: System clock oscillation frequency
3. ×: Don’t care
4. Figures in parentheses apply to operation at fRL = 480 kHz (MAX.), fX = 10 MHz.
(2) Watchdog timer enable register (WDTE)
Writing ACH to WDTE clears the watchdog timer counter and starts counting again.
This register can be set by an 8-bit memory manipulation instruction.
Reset signal generation sets this register to 9AH.
Figure 8-3. Format of Watchdog Timer Enable Register (WDTE)
01234567
Symbol
WDTE
Address: FF49H After reset: 9AH R/W
Cautions 1. If a value other than ACH is written to WDTE, an internal reset signal is generated.
2. If a 1-bit memory manipulation instruction is executed for WDTE, an internal reset
signal is generated.
3. The value read from WDTE is 9AH (this differs from the written value (ACH)).
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD 151
8.4 Operation of Watchdog Timer
8.4.1 Watchdog timer operation when “low-speed internal oscillator cannot be stopped” is selected by
option byte
The operation clock of watchdog timer is fixed to low-speed internal oscillation clock.
After reset is released, operation is started at the maximum cycle (bits 2, 1, and 0 (WDCS2, WDCS1, WDCS0) of
the watchdog timer mode register (WDTM) = 1, 1, 1). The watchdog timer operation cannot be stopped.
The following shows the watchdog timer operation after reset release.
1. The status after reset release is as follows.
Operation clock: Low-speed internal oscillation clock
Cycle: 218/fRL (546.13 ms: At operation with fRL = 480 kHz (MAX.))
Counting starts
2. The following should be set in the watchdog timer mode register (WDTM) by an 8-bit memory manipulation
instructionNotes 1, 2.
Cycle: Set using bits 2 to 0 (WDCS2 to WDCS0)
3. After the above procedures are executed, writing ACH to WDTE clears the count to 0, enabling recounting.
Notes 1. The operation clock (low-speed internal oscillation clock) cannot be changed. If any value is written to
bits 3 and 4 (WDCS3, WDCS4) of WDTM, it is ignored.
2. As soon as WDTM is written, the counter of the watchdog timer is cleared.
Caution In this mode, operation of the watchdog timer cannot be stopped even during STOP instruction
execution. For 8-bit timer H1 (TMH1), a division of the low-speed internal oscillation clock can be
selected as the count source, so clear the watchdog timer using the interrupt request of TMH1
before the watchdog timer overflows after STOP instruction execution. If this processing is not
performed, an internal reset signal is generated when the watchdog timer overflows after STOP
instruction execution.
A status transition diagram is shown below
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD
152
Figure 8-4. Status Transition Diagram When “Low-Speed Internal Oscillator Cannot Be Stopped”
Is Selected by Option Byte
Reset
WDT clock: fRL
Overflow time: 546.13 ms (MAX.)
STOP
WDT count continues.
HALT
WDT count continues.
STOP instruction
HALT instruction
WDT clock is fixed to fRL.
Select overflow time (settable only once).
WDT clock: fRL
Overflow time: 4.27 ms to 546.13 ms (MAX.)
WDT count continues.
Interrupt
Interrupt
WDTE = “ACH”
Clear WDT counter.
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD 153
8.4.2 Watchdog timer operation when “low-speed internal oscillator can be stopped by software” is
selected by option byte
The operation clock of the watchdog timer can be selected as either the low-speed internal oscillation clock or
system clock.
After reset is released, operation is started at the maximum cycle of the low-speed internal oscillation clock (bits 2,
1, and 0 (WDCS2, WDCS1, WDCS0) of the watchdog timer mode register (WDTM) = 1, 1, 1).
The following shows the watchdog timer operation after reset release.
1. The status after reset release is as follows.
Operation clock: Low-speed internal oscillation clock
Cycle: 218/fRL (546.13 ms: At operation with fRL = 480 kHz (MAX.))
Counting starts
2. The following should be set in the watchdog timer mode register (WDTM) by an 8-bit memory manipulation
instructionNotes 1, 2, 3.
Operation clock: Any of the following can be selected using bits 3 and 4 (WDCS3 and WDCS4).
Low-speed internal oscillation clock (fRL)
Syatem clock (fX)
Watchdog timer operation stopped
Cycle: Set using bits 2 to 0 (WDCS2 to WDCS0)
3. After the above procedures are executed, writing ACH to WDTE clears the count to 0, enabling recounting.
Notes 1. As soon as WDTM is written, the counter of the watchdog timer is cleared.
2. Set bits 7, 6, and 5 to 0, 1, 1, respectively. Do not set the other values.
3. At the first write, If the watchdog timer is stopped by setting WDCS4 and WDCS3 to 1 and ×,
respectively, an internal reset signal is not generated even if the following processing is performed.
WDTM is written a second time.
A 1-bit memory manipulation instruction is executed to WDTE.
A value other than ACH is written to WDTE.
Caution In this mode, watchdog timer operation is stopped during HALT/STOP instruction execution.
After HALT/STOP mode is released, counting is started again using the operation clock of the
watchdog timer set before HALT/STOP instruction execution by WDTM. At this time, the counter
is not cleared to 0 but holds its value.
For the watchdog timer operation during STOP mode and HALT mode in each status, see 8.4.3 Watchdog timer
operation in STOP mode and 8.4.4 Watchdog timer operation in HALT mode.
A status transition diagram is shown below.
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD
154
Figure 8-5. Status Transition Diagram When “Low-Speed Internal Oscillator Can Be Stopped by
Software” Is Selected by Option Byte
Reset
WDT clock: f
RL
Overflow time: 546.13 ms (MAX.)
WDT clock = f
RL
Select overflow time
(settable only once).
WDT clock: f
RL
Overflow time: 4.27 ms to 546.13 ms (MAX.)
WDT count continues.
STOP
WDT count stops.
HALT
WDT count stops.
STOP
instruction
HALT instruction
Interrupt
Interrupt
WDTE = “ACH”
Clear WDT counter.
WDT operation stops.
WDCS4 = 1
WDT clock: f
X
Overflow time: 2
13
/f
X
to 2
20
/f
X
WDT count continues.
WDT clock = f
X
Select overflow time
(settable only once).
WDT clock: f
RL
WDT count stops.
WDTE = “ACH”
Clear WDT counter.
LSRSTOP = 1
LSRSTOP = 0
STOP
WDT count stops.
HALT
WDT count stops.
STOP
instruction
HALT
instruction
InterruptInterrupt
STOP
instruction
Interrupt
Interrupt
HALT
instruction
WDTE = “ACH”
Clear WDT counter.
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD 155
8.4.3 Watchdog timer operation in STOP mode (when “low-speed internal oscillator can be stopped by
software” is selected by option byte)
The watchdog timer stops counting during STOP instruction execution regardless of whether the system clock or
low-speed internal oscillation clock is being used.
(1) When the watchdog timer operation clock is the system clock (fX) when the STOP instruction is executed
When STOP instruction is executed, operation of the watchdog timer is stopped. After STOP mode is released,
operation stops for 34
μ
s (TYP.) (after waiting for the oscillation stabilization time set by the oscillation
stabilization time select register (OSTS) after operation stops in the case of crystal/ceramic oscillation) and then
counting is started again using the operation clock before the operation was stopped. At this time, the counter is
not cleared to 0 but holds its value.
Figure 8-6. Operation in STOP Mode (WDT Operation Clock: Clock to Peripheral Hardware)
<1> CPU clock: Crystal/ceramic oscillation clock (
μ
PD78F920x Only)
Operation stopped Operating
Oscillation stabilization time Normal operation
STOP
Oscillation stabilization time
(set by OSTS register)
Oscillation stopped
Watchdog timer Operating
f
CPU
CPU operation
Normal
operation
Operation
stopped
Note
<2> CPU clock: High-speed internal oscillation clock or external clock input
Operation stopped Operating
Normal operation
Oscillation stopped
Watchdog timer
f
CPU
CPU operation STOP
Operating
Normal
operation
Operation
stopped
Note
Note The operation stop time is 17
μ
s (MIN.), 34
μ
s (TYP.), and 67
μ
s (MAX.).
<R>
CHAPTER 8 WATCHDOG TIMER
User’s Manual U18172EJ3V0UD
156
(2) When the watchdog timer operation clock is the low-speed internal oscillation clock (fRL) when the STOP
instruction is executed
When the STOP instruction is executed, operation of the watchdog timer is stopped. After STOP mode is
released, operation stops for 34
μ
s (TYP.) and then counting is started again using the operation clock before the
operation was stopped. At this time, the counter is not cleared to 0 but holds its value.
Figure 8-7. Operation in STOP Mode (WDT Operation Clock: Low-Speed Internal Oscillation Clock)
<1> CPU clock: Crystal/ceramic oscillation clock (
μ
PD78F920x Only)
Operating
Oscillation stabilization time Normal operation
Oscillation stabilization time
(set by OSTS register)
Watchdog timer
Operation stoppedOperating
fRL
fCPU
CPU operation
Normal
operation STOP
Oscillation stopped
Operation
stoppedNote
<2> CPU clock: High-speed internal oscillation clock or external clock input
Operating
Normal operation
Watchdog timer
Operation stoppedOperating
f
RL
f
CPU
CPU operation
Normal
operation STOP
Oscillation stopped
Operation
stopped
Note
Note The operation stop time is 17
μ
s (MIN.), 34
μ
s (TYP.), and 67
μ
s (MAX.).
8.4.4 Watchdog timer operation in HALT mode (when “low-speed internal oscillator can be stopped by
software” is selected by option byte)
The watchdog timer stops counting during HALT instruction execution regardless of whether the operation clock of
the watchdog timer is the system clock (fX) or low-speed internal oscillation clock (fRL). After HALT mode is released,
counting is started again using the operation clock before the operation was stopped. At this time, the counter is not
cleared to 0 but holds its value.
Figure 8-8. Operation in HALT Mode
Watchdog timer
Operating
fX or fRL
fCPU
CPU operation Normal operation
Operating
HALT
Operation stopped
Normal operation
<R>
User’s Manual U18172EJ3V0UD 157
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
9.1 Functions of A/D Converter
The A/D converter converts an analog input signal into a digital value, and consists of up to four channels (ANI0 to
ANI3) with a resolution of 10 bits.
The A/D converter has the following function.
10-bit resolution A/D conversion
10-bit resolution A/D conversion is carried out repeatedly for one channel selected from analog inputs ANI0 to
ANI3. Each time an A/D conversion operation ends, an interrupt request (INTAD) is generated.
Figure 9-1 shows the timing of sampling and A/D conversion, and Table 9-1 shows the sampling time and A/D
conversion time.
Figure 9-1. Timing of A/D Converter Sampling and A/D Conversion
ADCS
Conversion time Conversion time
Sampling
time
Sampling
timing
INTAD
ADCS 1 or ADS rewrite
Sampling
time
Note
Note 2 or 3 clocks are required from the ADCS rising to sampling start.
<R>
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
158
Table 9-1. Sampling Time and A/D Conversion Time
fXP = 8 MHz fXP = 10 MHz Reference
Voltage
RangeNote 1
Sampling
TimeNote 2
Conversion
TimeNote 3 Sampling
TimeNote 2
Conversion
TimeNote 3
Sampling
TimeNote 2
Conversion
TimeNote 3
FR2 FR1 FR0
VDD 4.5 V 12/fXP 36/fXP 1.5
μ
s 4.5
μ
s 1.2
μ
s 3.6
μ
s 0 0 0
VDD 4.0 V 24/fXP 72/fXP 3.0
μ
s 9.0
μ
s 2.4
μ
s 7.2
μ
s 1 0 0
96/fXP 144/fXP 12.0
μ
s 18.0
μ
s 9.6
μ
s 14.4
μ
s 1 1 0
48/fXP 96/fXP 6.0
μ
s 12.0
μ
s 4.8
μ
s 9.6
μ
s 1 0 1
48/fXP 72/fXP 6.0
μ
s 9.0
μ
s 4.8
μ
s 7.2
μ
s 0 1 0
VDD 2.85 V
24/fXP 48/fXP 3.0
μ
s 6.0
μ
s Setting
prohibitedNote 4
(2.4
μ
s)
Setting
prohibitedNote 4
(4.8
μ
s)
0 0 1
176/fXP 224/fXP 22.0
μ
s 28.0
μ
s 17.6
μ
s 22.4
μ
s 1 1 1 VDD 2.7 V
88/fXP 112/fXP 11.0
μ
s 14.0
μ
s Setting
prohibitedNote 4
(8.8
μ
s)
Setting
prohibitedNote 4
(11.2
μ
s)
0 1 1
Notes 1. Be sure to set the FR2, FR1, and FR0, in accordance with the reference voltage so that Notes 2 and 3
below are satisfied.
Example When VDD 2.7 V, fXP = 8 MHz
The sampling time is 11.0
μ
s or more and the A/D conversion time is 14.0
μ
s or more and 100
μ
s or
less.
Set FR2, FR1, and FR0 = 0, 1, 1 or 1, 1, 1.
2. Set the sampling time as follows.
VDD 4.5 V: 1.0
μ
s or more
VDD 4.0 V: 2.4
μ
s or more
VDD 2.85 V: 3.0
μ
s or more
VDD 2.7 V: 11.0
μ
s or more
3. Set the A/D conversion time as follows.
VDD 4.5 V: 3.0
μ
s or more and less than 100
μ
s
VDD 4.0 V: 4.8
μ
s or more and less than 100
μ
s
VDD 2.85 V: 6.0
μ
s or more and less than 100
μ
s
VDD 2.7 V: 14.0
μ
s or more and less than 100
μ
s
4. Setting is prohibited because the values do not satisfy the condition of Notes 2 or 3.
Caution The above sampling time and conversion time do not include the clock frequency error. Select
the sampling time and conversion time such that Notes 2 and 3 above are satisfied, while taking
the clock frequency error into consideration (an error margin maximum of ±5% when using the
high-speed internal oscillator).
Remarks 1. f
XP: Oscillation frequency of clock to peripheral hardware
2. The conversion time refers to the total of the sampling time and the time from successively
comparing with the sampling value until the conversion result is output.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 159
Figure 9-2 shows the block diagram of A/D converter.
Figure 9-2. Block Diagram of A/D Converter
V
DD
V
SS
INTAD
2
ADS1 ADS0
V
SS
ANI0/P20/TI000
TOH1
ANI1/P21/TI010/
TO00/INTP0
ANI2/X2/P22
ANI3/X1/P23
ADCS FR2 FR1 ADCEFR0
3
Sample & hold circuit
Voltage comparator
Controller
A/D conversion result register
(ADCR, ADCRH)
Analog input
channel specification
register (ADS)
A/D converter mode
register (ADM)
Internal bus
Successive
approximation
register (SAR)
Selector
D/A converter
Cautions 1. In
μ
PD78F920x, VSS functions alternately as the ground potential of the A/D converter. Be
sure to connect VSS to a stabilized GND (= 0 V).
2. In
μ
PD78F920x, VDD functions alternately as the A/D converter reference voltage input. When
using the A/D converter, stabilize VDD at the supply voltage used (2.7 to 5.5 V).
9.2 Configuration of A/D Converter
The A/D converter consists of the following hardware.
(1) ANI0 to ANI3 pins
These are the analog input pins of the 4-channel A/D converter. They input analog signals to be converted into
digital signals. Pins other than the one selected as the analog input pin by the analog input channel specification
register (ADS) can be used as I/O port pins.
(2) Sample & hold circuit
The sample & hold circuit samples the input signal of the analog input pin selected by the selector when A/D
conversion is started, and holds the sampled analog input voltage value during A/D conversion.
(3) D/A converter
The D/A converter is connected between VDD and VSS, and generates a voltage to be compared with the analog
input signal.
(4) Voltage comparator
The voltage comparator compares the sampled analog input voltage and the output voltage of the D/A converter.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
160
(5) Successive approximation register (SAR)
This register compares the sampled analog voltage and the voltage of the D/A converter, and converts the result,
starting from the most significant bit (MSB).
When the voltage value is converted into a digital value down to the least significant bit (LSB) (end of A/D
conversion), the contents of the SAR register are transferred to the A/D conversion result register (ADCR).
(6) 10-bit A/D conversion result register (ADCR)
The result of A/D conversion is loaded from the successive approximation register to this register each time A/D
conversion is completed, and the ADCR register holds the result of A/D conversion in its lower 10 bits (the higher
6 bits are fixed to 0).
(7) 8-bit A/D conversion result register (ADCRH)
The result of A/D conversion is loaded from the successive approximation register to this register each time A/D
conversion is completed, and the ADCRH register holds the result of A/D conversion in its higher 8 bits.
(8) Controller
When A/D conversion has been completed, INTAD is generated.
(9) VDD pin
This is the positive power supply pin.
In the 78K0S/KU1+, VDD functions alternately as the A/D converter reference voltage input. When using the A/D
converter, stabilize VDD at the supply voltage used (2.7 to 5.5 V).
(10) VSS pin
This is the ground potential pin.
In the 78K0S/KU1+, VSS functions alternately as the ground potential of the A/D converter. Be sure to connect
VSS to a stabilized GND (= 0 V).
(11) A/D converter mode register (ADM)
This register is used to set the conversion time of the analog input signal to be converted, and to start or stop the
conversion operation.
(12) Analog input channel specification register (ADS)
This register is used to specify the port that inputs the analog voltage to be converted into a digital signal.
(13) Port mode control register 2 (PMC2)
This register is used when the P20/ANI0/TI000/TOH1, P21/ANI1/TI010/TO00/INTP0, P22/ANI2, and P23/ANI3
pins are used as the analog input pins of the A/D converter.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 161
9.3 Registers Used by A/D Converter
The A/D converter uses the following six registers.
A/D converter mode register (ADM)
Analog input channel specification register (ADS)
10-bit A/D conversion result register (ADCR)
8-bit A/D conversion result register (ADCRH)
Port mode register 2 (PM2)
Port mode control register 2 (PMC2)
(1) A/D converter mode register (ADM)
This register sets the conversion time for analog input to be A/D converted, and starts/stops conversion.
ADM can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00H.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
162
Figure 9-3. Format of A/D Converter Mode Register (ADM)
Address: FF80H After reset: 00H R/W
Symbol <7> 6 5 4 3 2 1 <0>
ADM ADCS 0 FR2 FR1 FR0 0 0 ADCE
ADCS A/D conversion operation control
0 Stops conversion operation
1Note 1 Starts conversion operation
fXP = 8 MHz fXP = 10 MHz FR2 FR1 FR0 Reference
Voltage
RangeNote 2
Sampling
TimeNote 3
Conversion
TimeNote 4 Sampling
TimeNote 3
Conversion
TimeNote 4
Sampling
TimeNote 3
Conversion
TimeNote 4
0 0 0 VDD
4.5 V
12/fXP 36/fXP 1.5
μ
s 4.5
μ
s 1.2
μ
s 3.6
μ
s
1 0 0 VDD
4.0 V
24/fXP 72/fXP 3.0
μ
s 9.0
μ
s 2.4
μ
s 7.2
μ
s
1 1 0 96/fXP 144/fXP 12.0
μ
s 18.0
μ
s 9.6
μ
s 14.4
μ
s
1 0 1 48/fXP 96/fXP 6.0
μ
s 12.0
μ
s 4.8
μ
s 9.6
μ
s
0 1 0 48/fXP 72/fXP 6.0
μ
s 9.0
μ
s 4.8
μ
s 7.2
μ
s
0 0 1
VDD
2.85 V
24/fXP 48/fXP 3.0
μ
s 6.0
μ
s
Setting
prohibited
Note 5
(2.4
μ
s)
Setting
prohibited
Note 5
(4.8
μ
s)
1 1 1 176/fXP 224/fXP 22.0
μ
s 28.0
μ
s 17.6
μ
s 22.4
μ
s
0 1 1
VDD
2.7 V 88/fXP 112/fXP 11.0
μ
s 14.0
μ
s
Setting
prohibited
Note 5
(8.8
μ
s)
Setting
prohibited
Note 5
(11.2
μ
s)
ADCE Comparator operation controlNote 6
0Note 1 Stops operation of comparator
1 Enables operation of comparator
Remarks 1. fXP: Oscillation frequency of clock to peripheral hardware
2. The conversion time refers to the total of the sampling time and the time from successively
comparing with the sampling value until the conversion result is output.
Notes 1. Even when the ADCE = 0 (comparator operation stopped), the A/D conversion operation starts if
the ADCS is set to 1. However, the data of the first conversion is out of the guaranteed-value
range, so ignore it.
2. Be sure to set the FR2, FR1, and FR0, in accordance with the reference voltage so that Notes 2
and 3 below are satisfied.
Example When VDD 2.7 V, fXP = 8 MHz
The sampling time is 11.0
μ
s or more and the A/D conversion time is 14.0
μ
s or
more and 100
μ
s or less.
Set FR2, FR1, and FR0 = 0, 1, 1 or 1, 1, 1.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 163
Notes 3. Set the sampling time as follows.
VDD 4.5 V: 1.0
μ
s or more
VDD 4.0 V: 2.4
μ
s or more
VDD 2.85 V: 3.0
μ
s or more
VDD 2.7 V: 11.0
μ
s or more
4. Set the A/D conversion time as follows.
VDD 4.5 V: 3.0
μ
s or more and less than 100
μ
s
VDD 4.0 V: 4.8
μ
s or more and less than 100
μ
s
VDD 2.85 V: 6.0
μ
s or more and less than 100
μ
s
VDD 2.7 V: 14.0
μ
s or more and less than 100
μ
s
5. Setting is prohibited because the values do not satisfy the condition of Notes 3 or 4.
6. The operation of the comparator is controlled by ADCS and ADCE, and it takes 1
μ
s from
operation start to operation stabilization. Therefore, when ADCS is set to 1 after 1
μ
s or more
has elapsed from the time ADCE is set to 1, the conversion result at that time has priority over the
first conversion result. If the ADCS is set to 1 without waiting for 1
μ
s or longer, ignore the first
conversion data.
Table 9-2. Settings of ADCS and ADCE
ADCS ADCE A/D Conversion Operation
0 0 Stop status (DC power consumption path does not exist)
0 1 Conversion waiting mode (only comparator consumes power)
1 × Conversion mode
Figure 9-4. Timing Chart When Comparator Is Used
ADCE
Comparator
ADCS
Conversion
operation
Conversion
operation Conversion stopped
Conversion
waiting
Comparator operating
Note
Note The time from the rising of the ADCE bit to the rising of the ADCS bit must be 1
μ
s or longer to stabilize the
internal circuit.
Cautions 1. The above sampling time and conversion time do not include the clock frequency error.
Select the sampling time and conversion time such that Notes 3 and 4 above are satisfied,
while taking the clock frequency error into consideration (an error margin maximum of ±5%
when using the high-speed internal oscillator).
2. If a bit other than ADCS of ADM is manipulated while A/D conversion is stopped (ADCS = 0)
and then A/D conversion is started, execute two NOP instructions or an instruction
equivalent to two machine cycles, and set ADCS to 1.
3. A/D conversion must be stopped (ADCS = 0) before rewriting bits FR0 to FR2.
4. Be sure to clear bits 6, 2, and 1 to 0.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
164
(2) Analog input channel specification register (ADS)
This register specifies the input port of the analog voltage to be A/D converted.
ADS can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00H.
Figure 9-5. Format of Analog Input Channel Specification Register (ADS)
ADS0ADS1000000
Analog input channel specification
ANI0
ANI1
ANI2
ANI3
ADS0
0
1
0
1
ADS1
0
0
1
1
01234567
ADS
Address: FF81H After reset: 00H R/W
Symbol
Caution Be sure to clear bits 2 to 7 of ADS to 0.
(3) 10-bit A/D conversion result register (ADCR)
This register is a 16-bit register that stores the A/D conversion result. The higher six bits are fixed to 0. Each
time A/D conversion ends, the conversion result is loaded from the successive approximation register, and is
stored in ADCR in order starting from bit 1 of FF19H. FF19H indicates the higher 2 bits of the conversion result,
and FF18H indicates the lower 8 bits of the conversion result.
ADCR can be read by a 16-bit memory manipulation instruction.
Reset signal generation makes ADCR undefined.
Figure 9-6. Format of 10-Bit A/D Conversion Result Register (ADCR)
Symbol
Address: FF18H, FF19H After reset: Undefined R
FF19H FF18H
000000
ADCR
Caution When writing to the A/D converter mode register (ADM) and analog input channel
specification register (ADS), the contents of ADCR may become undefined. Read the
conversion result following conversion completion before writing to ADM and ADS.
Using timing other than the above may cause an incorrect conversion result to be read.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 165
(4) 8-bit A/D conversion result register (ADCRH)
This register is an 8-bit register that stores the A/D conversion result. It stores the higher 8 bits of a 10-bit
resolution result.
ADCRH can be read by an 8-bit memory manipulation instruction.
Reset signal generation makes ADCRH undefined.
Figure 9-7. Format of 8-Bit A/D Conversion Result Register (ADCRH)
Symbol
ADCRH
76543210
Address: FF1AH After reset: Undefined R
(5) Port mode register 2 (PM2) and port mode control register 2 (PMC2)
When using the when the P20/ANI0/TI000/TOH1, P21/ANI1/TI010/TO00/INTP0, P22/ANI2, and P23/ANI3 pins
for analog input, set PM20 to PM23 and PMC20 to PMC23 to 1. At this time, the output latches of P20 to P23
may be 0 or 1.
PM2 and PMC2 are set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets PM2 to 00H and clears PMC2 to FFH.
Figure 9-8. Format of Port Mode Register 2 (PM2)
Address: FF22H After reset: FFH R/W
Symbol 7 6 5 4 3 2 1 0
PM2 1 1 1 1 PM23 PM22 PM21 PM20
PM2n Pmn pin I/O mode selection (n = 0 to 3)
0 Output mode (output buffer on)
1 Input mode (output buffer off)
Figure 9-9. Format of Port Mode Control Register 2 (PMC2)
Address: FF84H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PMC2 0 0 0 0 PMC23 PMC22 PMC21 PMC20
PMC2n Operation mode specification (n = 0 to 3)
0 Port/Alternate-function (except A/D converter) mode
1 A/D converter mode
Caution If PMC20 to PMC23 are set to 1, the P20/ANI0/TI000/TOH1, P21/ANI1/TIO10/TO00/INTP0,
P22/ANI2, and P23/ANI3 pins cannot be used for any purpose other than the A/D converter
function.
Be sure to set 0 to the Pull-up resistor option register of the pin set in A/D converter mode.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
166
9.4 A/D Converter Operations
9.4.1 Basic operations of A/D converter
<1> Select one channel for A/D conversion using the analog input channel specification register (ADS).
<2> Set ADCE to 1 and wait for 1
μ
s or longer.
<3> Execute two NOP instructions or an instruction equivalent to two machine cycles.
<4> Set ADCS to 1 and start the conversion operation.
(<5> to <11> are operations performed by hardware.)
<5> The voltage input to the selected analog input channel is sampled by the sample & hold circuit.
<6> When sampling has been done for a certain time, the sample & hold circuit is placed in the hold state and the
input analog voltage is held until the A/D conversion operation has ended.
<7> Bit 9 of the successive approximation register (SAR) is set. The D/A converter voltage tap is set to (1/2) VDD
by the tap selector.
<8> The voltage difference between the D/A converter voltage tap and analog input is compared by the voltage
comparator. If the analog input is greater than (1/2) AVDD, the MSB of SAR remains set to 1. If the analog
input is smaller than (1/2) VDD, the MSB is reset to 0.
<9> Next, bit 8 of SAR is automatically set to 1, and the operation proceeds to the next comparison. The D/A
converter voltage tap is selected according to the preset value of bit 9, as described below.
Bit 9 = 1: (3/4) VDD
Bit 9 = 0: (1/4) VDD
The voltage tap and analog input voltage are compared and bit 8 of SAR is manipulated as follows.
Analog input voltage Voltage tap: Bit 8 = 1
Analog input voltage < Voltage tap: Bit 8 = 0
<10> Comparison is continued in this way up to bit 0 of SAR.
<11> Upon completion of the comparison of 10 bits, an effective digital result value remains in SAR, and the result
value is transferred to the A/D conversion result register (ADCR, ADCRH) and then latched.
At the same time, the A/D conversion end interrupt request (INTAD) can also be generated.
<12> Repeat steps <5> to <11>, until ADCS is cleared to 0.
To stop the A/D converter, clear ADCS to 0.
To restart A/D conversion from the status of ADCE = 1, start from <3>. To restart A/D conversion from the
status of ADCE = 0, start from <2>.
Cautions 1. Make sure the period of <1> to <4> is 1
μ
s or more.
2. It is no problem if the order of <1> and <2> is reversed.
Remark The following two types of A/D conversion result registers can be used.
ADCR (16 bits): Stores a 10-bit A/D conversion value.
ADCRH (8 bits): Stores an 8-bit A/D conversion value.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 167
Figure 9-10. Basic Operation of A/D Converter
Conversion time
Sampling time
Sampling A/D conversion
Undefined Conversion
result
A/D converter
operation
SAR
ADCR,
ADCRH
INTAD
Conversion
result
A/D conversion operations are performed continuously until bit 7 (ADCS) of the A/D converter mode register (ADM)
is reset (0) by software.
If a write operation is performed to ADM or the analog input channel specification register (ADS) during an A/D
conversion operation, the conversion operation is initialized, and if the ADCS bit is set (1), conversion starts again
from the beginning.
Reset signal generation makes the A/D conversion result register (ADCR, ADCRH) undefined.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
168
9.4.2 Input voltage and conversion results
The relationship between the analog input voltage input to the analog input pins (ANI0 to ANI3) and the theoretical
A/D conversion result (stored in the 10-bit A/D conversion result register (ADCR)) is shown by the following
expression.
ADCR = INT ( × 1024 + 0.5)
or
(ADCR 0.5) × VAIN < (ADCR + 0.5) ×
where, INT( ): Function which returns integer part of value in parentheses
V
AIN: Analog input voltage
VDD: VDD pin voltage
ADCR: 10-bit A/D conversion result register (ADCR) value
Figure 9-11 shows the relationship between the analog input voltage and the A/D conversion result.
Figure 9-11. Relationship Between Analog Input Voltage and A/D Conversion Result
1023
1022
1021
3
2
1
0
03FFH
03FEH
03FDH
0003H
0002H
0001H
0000H
A/D conversion result
SAR ADCR
1
2048
1
1024
3
2048
2
1024
5
2048
Input voltage/V
DD
3
1024
2043
2048
1022
1024
2045
2048
1023
1024
2047
2048
1
VAIN
VDD
VDD
1024
VDD
1024
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 169
9.4.3 A/D converter operation mode
The operation mode of the A/D converter is the select mode. One channel of analog input is selected from ANI0 to
ANI3 by the analog input channel specification register (ADS) and A/D conversion is executed.
(1) A/D conversion operation
By setting bit 7 (ADCS) of the A/D converter mode register (ADM) to 1, the A/D conversion operation of the
voltage, which is applied to the analog input pin specified by the analog input channel specification register
(ADS), is started.
When A/D conversion has been completed, the result of the A/D conversion is stored in the A/D conversion result
register (ADCR, ADCRH), and an interrupt request signal (INTAD) is generated. Once the A/D conversion has
started and when one A/D conversion has been completed, the next A/D conversion operation is immediately
started. The A/D conversion operations are repeated until new data is written to ADS.
If ADM or ADS is written during A/D conversion, the A/D conversion operation under execution is stopped and
restarted from the beginning.
If 0 is written to ADCS during A/D conversion, A/D conversion is immediately stopped. At this time, the
conversion result is undefined.
Figure 9-12. A/D Conversion Operation
ANIn
Rewriting ADM
ADCS = 1 Rewriting ADS ADCS = 0
ANIn
ANIn ANIn ANIm
ANIn ANIm ANIm
Stopped
A/D conversion
ADCR,
ADCRH
INTAD
Conversion is stopped
Conversion result is not retained
Remarks 1. n = 0 to 3
2. m = 0 to 3
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
170
The setting method is described below.
<1> Set bit 0 (ADCE) of the A/D converter mode register (ADM) to 1.
<2> Select the channel and conversion time using bits 1 and 0 (ADS1, ADS0) of the analog input channel
specification register (ADS) and bits 5 to 3 (FR2 to FR0) of ADM.
<3> Execute two NOP instructions or an instruction equivalent to two machine cycles.
<4> Set bit 7 (ADCS) of ADM to 1 to start A/D conversion.
<5> An interrupt request signal (INTAD) is generated.
<6> Transfer the A/D conversion data to the A/D conversion result register (ADCR, ADCRH).
<Change the channel>
<7> Change the channel using bits 1 and 0 (ADS1, ADS0) of ADS to start A/D conversion.
<8> An interrupt request signal (INTAD) is generated.
<9> Transfer the A/D conversion data to the A/D conversion result register (ADCR, ADCRH).
<Complete A/D conversion>
<10> Clear ADCS to 0.
<11> Clear ADCE to 0.
Cautions 1. Make sure the period of <1> to <4> is 1
μ
s or more.
2. It is no problem if the order of <1> and <2> is reversed.
3. <1> can be omitted. However, ignore the data resulting from the first conversion after
<4> in this case.
4. The period from <5> to <8> differs from the conversion time set using bits 5 to 3 (FR2 to
FR0) of ADM. The period from <7> to <8> is the conversion time set using FR2 to FR0.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 171
9.5 How to Read A/D Converter Characteristics Table
Here, special terms unique to the A/D converter are explained.
(1) Resolution
This is the minimum analog input voltage that can be identified. That is, the percentage of the analog input
voltage per bit of digital output is called 1LSB (Least Significant Bit). The percentage of 1LSB with respect to the
full scale is expressed by %FSR (Full Scale Range).
1LSB is as follows when the resolution is 10 bits.
1LSB = 1/210 = 1/1024
= 0.098%FSR
Accuracy has no relation to resolution, but is determined by overall error.
(2) Overall error
This shows the maximum error value between the actual measured value and the theoretical value.
Zero-scale error, full-scale error, integral linearity error, and differential linearity errors that are combinations of
these express the overall error.
Note that the quantization error is not included in the overall error in the characteristics table.
(3) Quantization error
When analog values are converted to digital values, a ±1/2LSB error naturally occurs. In an A/D converter, an
analog input voltage in a range of ±1/2LSB is converted to the same digital code, so a quantization error cannot
be avoided.
Note that the quantization error is not included in the overall error, zero-scale error, full-scale error, integral
linearity error, and differential linearity error in the characteristics table.
Figure 9-13. Overall Error Figure 9-14. Quantization Error
Ideal line
0……0
1……1
Digital output
Overall
error
Analog input
V
DD
0
0……0
1……1
Digital output
Quantization error
1/2LSB
1/2LSB
Analog input
0VDD
(4) Zero-scale error
This shows the difference between the actual measurement value of the analog input voltage and the theoretical
value (1/2LSB) when the digital output changes from 0......000 to 0......001.
If the actual measurement value is greater than the theoretical value, it shows the difference between the actual
measurement value of the analog input voltage and the theoretical value (3/2LSB) when the digital output
changes from 0……001 to 0……010.
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
172
(5) Full-scale error
This shows the difference between the actual measurement value of the analog input voltage and the theoretical
value (Full-scale 3/2LSB) when the digital output changes from 1......110 to 1......111.
(6) Integral linearity error
This shows the degree to which the conversion characteristics deviate from the ideal linear relationship. It
expresses the maximum value of the difference between the actual measurement value and the ideal straight line
when the zero-scale error and full-scale error are 0.
(7) Differential linearity error
While the ideal width of code output is 1LSB, this indicates the difference between the actual measurement value
and the ideal value.
Figure 9-15. Zero-Scale Error Figure 9-16. Full-Scale Error
111
011
010
001 Zero-scale error
Ideal line
000
012 3 V
DD
Digital output (Lower 3 bits)
Analog input (LSB)
111
110
101
000
0
V
DD
3
Full-scale error
Ideal line
Analog input (LSB)
Digital output (Lower 3 bits)
V
DD
2V
DD
1
V
DD
Figure 9-17. Integral Linearity Error Figure 9-18. Differential Linearity Error
0
VDD
Digital output
Analog input
Integral linearity
error
Ideal line
1……1
0……0
0
V
DD
Digital output
Analog input
Differential
linearity error
1……1
0……0
Ideal 1LSB width
(8) Conversion time
This expresses the time from the start of sampling to when the digital output is obtained.
The sampling time is included in the conversion time in the characteristics table.
(9) Sampling time
This is the time the analog switch is turned on for the analog voltage to be sampled by the sample & hold circuit.
Sampling
time Conversion time
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 173
9.6 Cautions for A/D Converter
(1) Supply current in STOP mode
To satisfy the DC characteristics of supply current in STOP mode, clear bit 7 (ADCS) and bit 0 (ADCE) of the A/D
converter mode register (ADM) to 0 before executing the STOP instruction.
(2) Input range of ANI0 to ANI3
Observe the rated range of the ANI0 to ANI3 input voltage. If a voltage of VDD or higher and VSS or lower (even in
the range of absolute maximum ratings) is input to an analog input channel, the converted value of that channel
becomes undefined. In addition, the converted values of the other channels may also be affected.
(3) Conflicting operations
<1> Conflict between A/D conversion result register (ADCR, ADCRH) write and ADCR, ADCRH read by
instruction upon the end of conversion
ADCR, ADCRH read has priority. After the read operation, the new conversion result is written to ADCR,
ADCRH.
<2> Conflict between ADCR, ADCRH write and A/D converter mode register (ADM) write or analog input
channel specification register (ADS) write upon the end of conversion
ADM or ADS write has priority. ADCR, ADCRH write is not performed, nor is the conversion end interrupt
signal (INTAD) generated.
(4) Noise countermeasures
To maintain the 10-bit resolution, attention must be paid to noise input to the VDD pin and ANI0 to ANI3 pins.
<1> Connect a capacitor with a low equivalent resistance and a high frequency response to the power supply.
<2> Because the effect increases in proportion to the output impedance of the analog input source, it is
recommended that a capacitor be connected externally, as shown in Figure 9-19, to reduce noise.
<3> Do not switch the A/D conversion function of the ANI0 to ANI3 pins to their alternate functions during
conversion.
<4> The conversion accuracy can be improved by setting HALT mode immediately after the conversion starts.
Figure 9-19. Analog Input Pin Connection
Reference
voltage
input
C = 0.01 to 0.1 F
If there is a possibility that noise equal to or higher than V
DD
or
equal to or lower than V
SS
may enter, clamp with a diode with a
small V
F
value (0.3 V or lower).
V
DD
V
SS
ANI0 to ANI3
μ
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD
174
(5) ANI0/P20 to ANI3/P23
<1> The analog input pins (ANI0 to ANI3) are also used as I/O port pins (P20 to P23).
When A/D conversion is performed with any of ANI0 to ANI3 selected, do not access P20 to P23 while
conversion is in progress; otherwise the conversion resolution may be degraded.
<2> If a digital pulse is applied to the pins adjacent to the pins currently used for A/D conversion, the expected
value of the A/D conversion may not be obtained due to coupling noise. Therefore, do not apply a pulse to
the pins adjacent to the pin undergoing A/D conversion.
(6) Input impedance of ANI0 to ANI3 pins
In this A/D converter, the internal sampling capacitor is charged and sampling is performed during sampling time.
Since only the leakage current flows other than during sampling and the current for charging the capacitor also
flows during sampling, the input impedance fluctuates both during sampling and otherwise.
If the shortest conversion time of the reference voltage is used, to perform sufficient sampling, it is recommended
to make the output impedance of the analog input source 1 kΩ or lower, or attach a capacitor of around 0.01
μ
F
to 0.1
μ
F to the ANI0 to ANI3 pins (see Figure 9-19).
When writing the flash memory on-board, supply a stabilized analog voltage to the ANI2 and ANI3 pins, without
attaching a capacitor. Because the communication pulse may change and the communication may fail if a
capacitor is attached to remove noise.
(7) Interrupt request flag (ADIF)
The interrupt request flag (ADIF) is not cleared even if the analog input channel specification register (ADS) is
changed.
Therefore, if an analog input pin is changed during A/D conversion, the A/D conversion result and ADIF for the
pre-change analog input may be set just before the ADS rewrite. Caution is therefore required since, at this time,
when ADIF is read immediately after the ADS rewrite, ADIF is set despite the fact A/D conversion for the post-
change analog input has not ended.
When A/D conversion is stopped and then resumed, clear ADIF before the A/D conversion operation is resumed.
Figure 9-20. Timing of A/D Conversion End Interrupt Request Generation
ADS rewrite
(start of ANIn conversion)
A/D conversion
ADCR,
ADCRH
ADIF
ANIn ANIn ANIm ANIm
ANIn ANIn ANIm ANIm
ADS rewrite
(start of ANIm conversion)
ADIF is set but ANIm conversion
has not ended.
Remarks 1. n = 0 to 3
2. m = 0 to 3
CHAPTER 9 A/D CONVERTER (
μ
PD78F920x ONLY)
User’s Manual U18172EJ3V0UD 175
(8) Conversion results just after A/D conversion start
The first A/D conversion value immediately after A/D conversion starts may not fall within the rating range if the
ADCS bit is set to 1 within 1
μ
s after the ADCE bit was set to 1, or if the ADCS bit is set to 1 with the ADCE bit =
0. Take measures such as polling the A/D conversion end interrupt request (INTAD) and removing the first
conversion result.
(9) A/D conversion result register (ADCR, ADCRH) read operation
When a write operation is performed to the A/D converter mode register (ADM) and analog input channel
specification register (ADS), the contents of ADCR and ADCRH may become undefined. Read the conversion
result following conversion completion before writing to ADM and ADS. Using a timing other than the above may
cause an incorrect conversion result to be read.
(10) The operating current at the conversion waiting mode
The DC characteristic of the operating current at the STOP mode is not satisfied at the conversion waiting mode
(when A/D converter mode register (ADM) is set up with bit 7(ADCS) =0 and bit 0 (ADCE) =1) (only comparator
consumes power).
(11) Internal equivalent circuit
The equivalent circuit of the analog input block is shown below.
Figure 9-21. Internal Equivalent Circuit of ANIn Pin
ANIn
C
OUT
C
IN
R
IN
LSI internal
R
OUT
Table 9-3. Resistance and Capacitance Values (Reference Values) of Equivalent Circuit
VDD ROUT RIN COUT CIN
4.5 V VDD 5.5 V 1 kΩ 3 kΩ 8 pF 15 pF
2.7 V VDD < 4.5 V 1 kΩ 60 kΩ 8 pF 15 pF
Remarks 1. The resistance and capacitance values shown in Table 9-3 are not guaranteed
values.
2. n = 0 to 3
3. R
OUT: Allowable signal source impedance
R
IN: Analog input equivalent resistance
C
OUT: Internal pin capacitance
C
IN: Analog Input equivalent capacitance
User’s Manual U18172EJ3V0UD
176
CHAPTER 10 INTERRUPT FUNCTIONS
10.1 Interrupt Function Types
There are two types of interrupts: maskable interrupts and resets.
Maskable interrupts
These interrupts undergo mask control. When an interrupt request occurs, the standby release signal occurs,
and if an interrupt can be acknowledged then the program corresponding to the address written in the vector
table address is executed (vector interrupt servicing). When several interrupt requests are generated at the
same time, processing takes place in the priority order of the vector interrupt servicing. For details on the
priority order, see Table 10-1.
There are internal sources and external sources of maskable interrupts.
μ
PD78F920x: external sources: 2, internal sources: 5
μ
PD78F950x: external sources: 2, internal sources: 2
Reset
The CPU and SFR are returned to their initial states by the reset signal. The causes for reset signal
occurrences are shown in Table 10-1.
When a reset signal occurs, program execution starts from the programs at the addresses written in addresses
0000H and 0001H.
10.2 Interrupt Sources and Configuration
There are a total of seven maskable interrupt sources in
μ
PD78F920x, and four maskable interrupt sources in
μ
PD78F950x, and up to four reset sources (see Table 10-1).
<R>
<R>
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD 177
Table 10-1. Interrupt Sources
Interrupt Source Interrupt Type PriorityNote 1
Name Trigger
Internal/
External
Vector Table
Address
Basic
Configuration
TypeNote 2
1 INTLVI Low-voltage detectionNote 4 Internal 0006H (A)
2 INTP0 0008H
3 INTP1
Pin input edge detection External
000AH
(B)
4 INTTMH1 Match between TMH1 and CMP01 000CH
5 INTTM000
Note 3
Match between TM00 and CR000
(when compare register is specified),
TI010 pin valid edge detection (when
capture register is specified)
000EH
6 INTTM010
Note 3
Match between TM00 and CR010
(when compare register is specified),
TI000 pin valid edge detection (when
capture register is specified)
0010H
Maskable
7 INTADNote 3 End of A/D conversion
Internal
0012H
(A)
RESET Reset input
POC Power-on-clear
LVI Low-voltage detectionNote 5
Reset
WDT WDT overflow
0000H
Notes 1. Priority is the vector interrupt servicing priority order when several maskable interrupt requests are
generated at the same time. 1 is the highest and 7 is the lowest.
2. Basic configuration types (A) and (B) correspond to (A) and (B) in Figure 10-1.
3.
μ
PD78F920x only
4. When bit 1 (LVIMD) of low-voltage detection register (LVIM) = 0 is selected.
5. When bit 1 (LVIMD) of low-voltage detection register (LVIM) = 1 is selected.
<R>
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD
178
Figure 10-1. Basic Configuration of Interrupt Function
(A) Internal maskable interrupt
MK
IF
IE
Internal bus
Interrupt request
Vector table
address generator
Standby release signal
(B) External maskable interrupt
Internal bus
External interrupt mode
register (INTM0) MK
IF
IE
Vector table
address generator
Standby
release signal
Edge
detector
Interrupt
request
IF: Interrupt request flag
IE: Interrupt enable flag
MK: Interrupt mask flag
10.3 Interrupt Function Control Registers
The interrupt functions are controlled by the following four types of registers.
Interrupt request flag register 0 (IF0)
Interrupt mask flag register 0 (MK0)
External interrupt mode register 0 (INTM0)
Program status word (PSW)
Table 10-2 lists interrupt requests, the corresponding interrupt request flags, and interrupt mask flags.
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD 179
Table 10-2. Interrupt Request Signals and Corresponding Flags
Interrupt Request Signal Interrupt Request Flag Interrupt Mask Flag
INTLVI
INTP0
INTP1
INTTMH1
INTTM000Note
INTTM010Note
INTADNote
LVIIF
PIF0
PIF1
TMIFH1
TMIF000Note
TMIF010Note
ADIFNote
LVIMK
PMK0
PMK1
TMMKH1
TMMK000Note
TMMK010Note
ADMKNote
Note
μ
PD78F920x only
(1) Interrupt request flag register 0 (IF0)
An interrupt request flag is set to 1 when the corresponding interrupt request is issued, or when the instruction is
executed. It is cleared to 0 by executing an instruction when the interrupt request is acknowledged or when a
reset signal is input.
IF0 is set with a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears IF0 to 00H.
Figure 10-2. Format of Interrupt Request Flag Register 0 (IF0)
Address: FFE0H After reset: 00H R/W
Symbol <7> <6> <5> <4> <3> <2> <1> 0
IF0 ADIF
Note
TMIF010
Note
TMIF000
Note
TMIFH1 PIF1 PIF0 LVIIF 0
××IF× Interrupt request flag
0 No interrupt request signal has been issued.
1 An interrupt request signal has been issued; an interrupt request status.
Note
μ
PD78F920x only
Caution Because P21 and P32 have an alternate function as external interrupt inputs, when the
output level is changed by specifying the output mode of the port function, an interrupt
request flag is set. Therefore, the interrupt mask flag should be set to 1 before using the
output mode.
<R>
<R>
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD
180
(2) Interrupt mask flag register 0 (MK0)
The interrupt mask flag is used to enable and disable the corresponding maskable interrupts.
MK0 is set with a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation sets MK0 to FFH.
Figure 10-3. Format of Interrupt Mask Flag Register 0 (MK0)
Address: FFE4H After reset: FFH R/W
Symbol <7> <6> <5> <4> <3> <2> <1> 0
MK0 ADMK
Note
TMMK010
Note
TMMK000
Note
TMMKH1 PMK1 PMK0 LVIMK 1
××MK× Interrupt servicing control
0 Enables interrupt servicing.
1 Disables interrupt servicing.
Note
μ
PD78F920x only
Caution Because P21 and P32 have an alternate function as external interrupt inputs, when the
output level is changed by specifying the output mode of the port function, an interrupt
request flag is set. Therefore, the interrupt mask flag should be set to 1 before using the
output mode.
(3) External interrupt mode register 0 (INTM0)
This register is used to set the valid edge of INTP0 and INTP1.
INTM0 is set with an 8-bit memory manipulation instruction.
Reset signal generation clears INTM0 to 00H.
Figure 10-4. Format of External Interrupt Mode Register 0 (INTM0)
Address: FFECH After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
INTM0 0 0 ES11 ES10 ES01 ES00 0 0
ES11 ES10 INTP1 valid edge selection
0 0 Falling edge
0 1 Rising edge
1 0 Setting prohibited
1 1 Both rising and falling edges
ES01 ES00 INTP0 valid edge selection
0 0 Falling edge
0 1 Rising edge
1 0 Setting prohibited
1 1 Both rising and falling edges
<R>
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD 181
Cautions 1. Be sure to clear bits 0, 1, 6, and 7 to 0.
2. Before setting the INTM0 register, be sure to set the corresponding interrupt mask flag
(××MK× = 1) to disable interrupts. After setting the INTM0 register, clear the interrupt
request flag (××IF× = 0), then clear the interrupt mask flag (××MK× = 0), which will enable
interrupts.
(4) Program status word (PSW)
The program status word is used to hold the instruction execution result and the current status of the interrupt
requests. The IE flag, used to enable and disable maskable interrupts, is mapped to PSW.
PSW can be read- and write-accessed in 8-bit units, as well as using bit manipulation instructions and dedicated
instructions (EI and DI). When a vectored interrupt is acknowledged, the PSW is automatically saved to a stack,
and the IE flag is reset to 0.
Reset signal generation sets PSW to 02H.
Figure 10-5. Program Status Word (PSW) Configuration
IE Z 0 AC 0 0 1 CYPSW
Symbol After reset
02H
76543210
IE
0
1
Disabled
Enabled
Whether to enable/disable interrupt acknowledgment
Used in the execution of ordinary instructions
10.4 Interrupt Servicing Operation
10.4.1 Maskable interrupt request acknowledgment operation
A maskable interrupt request can be acknowledged when the interrupt request flag is set to 1 and the
corresponding interrupt mask flag is cleared to 0. If the interrupt enabled status is in effect (when the IE flag is set to
1), then the request is acknowledged as a vector interrupt.
The time required to start the vectored interrupt servicing after a maskable interrupt request has been generated is
shown in Table 10-3.
See Figures 10-7 and 10-8 for the interrupt request acknowledgment timing.
Table 10-3. Time from Generation of Maskable Interrupt Request to Servicing
Minimum Time Maximum TimeNote
9 clocks 19 clocks
Note The wait time is maximum when an interrupt
request is generated immediately before BT and
BF instructions.
Remark 1 clock: (fCPU: CPU clock)
When two or more maskable interrupt requests are generated at the same time, they are acknowledged starting
from the interrupt request assigned the highest priority.
1
fCPU
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD
182
A pending interrupt is acknowledged when a status in which it can be acknowledged is set.
Figure 10-6 shows the algorithm of interrupt request acknowledgment.
When a maskable interrupt request is acknowledged, the contents of the PSW and PC are saved to the stack in
that order, the IE flag is reset to 0, and the data in the vector table determined for each interrupt request is loaded to
the PC, and execution branches.
To return from interrupt servicing, use the RETI instruction.
Figure 10-6. Interrupt Request Acknowledgment Processing Algorithm
Start
××IF = 1?
××MK = 0?
IE = 1?
Vectored interrupt
servicing
Yes (Interrupt request generated)
Yes
Yes
No
No
No
Interrupt request pending
Interrupt request pending
××IF: Interrupt request flag
××MK: Interrupt mask flag
IE: Flag to control maskable interrupt request acknowledgment (1 = enable, 0 = disable)
Figure 10-7. Interrupt Request Acknowledgment Timing (Example of MOV A, r)
Clock
CPU
Interrupt
MOV A, r
Saving PSW and PC, jump
to interrupt servicing
8 clocks
Interrupt servicing program
If an interrupt request flag (××IF) is set before an instruction clock n (n = 4 to 10) under execution becomes n 1,
the interrupt is acknowledged after the instruction under execution is complete. Figure 10-7 shows an example of the
interrupt request acknowledgment timing for an 8-bit data transfer instruction MOV A, r. Since this instruction is
executed for 4 clocks, if an interrupt occurs for 3 clocks after the instruction fetch starts, the interrupt acknowledgment
processing is performed after the MOV A, r instruction is executed.
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD 183
Figure 10-8. Interrupt Request Acknowledgment Timing (When Interrupt Request Flag Is Set at Last
Clock During Instruction Execution)
Saving PSW and PC, jump
to interrupt servicing
8 clocks
Interrupt
servicing
program
Clock
CPU
Interrupt
NOP MOV A, r
If an interrupt request flag (××IF) is set at the last clock of the instruction, the interrupt acknowledgment processing
starts after the next instruction is executed.
Figure 10-8 shows an example of the interrupt request acknowledgment timing for an interrupt request flag that is
set at the second clock of NOP (2-clock instruction). In this case, the MOV A, r instruction after the NOP instruction is
executed, and then the interrupt acknowledgment processing is performed.
Caution Interrupt requests will be held pending while the interrupt request flag register 0 (IF0) or
interrupt mask flag register 0 (MK0) are being accessed.
10.4.2 Multiple interrupt servicing
In order to perform multiple interrupt servicing in which another interrupt is acknowledged while an interrupt is
being serviced, the interrupt mask function must be used to mask interrupts for which a low priority is to be set.
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD
184
Figure 10-9. Example of Multiple Interrupts (1/2)
Example 1. Multiple interrupts are acknowledged
INTyy
EI
Main processing
EI
INTyy servicingINTxx servicing
RETI
IE = 0
INTxx
RETI
IE = 0
During interrupt INTxx servicing, interrupt request INTyy is acknowledged, and multiple interrupts are generated.
Before each interrupt request acknowledgement, the EI instruction is issued, the interrupt mask is released, and the
interrupt request acknowledgement enable state is set.
Caution Multiple interrupts can be acknowledged even for low-priority interrupts.
Example 2. Multiple interrupts are not generated because interrupts are not enabled
INTyy
EI
Main processing
RETI
INTyy servicingINTxx servicing
IE = 0
INTxx
RETI
INTyy is held pending
IE = 0
Because interrupts are not enabled in interrupt INTxx servicing (the EI instruction is not issued), interrupt request
INTyy is not acknowledged, and multiple interrupts are not generated. The INTyy request is held pending and
acknowledged after the INTxx servicing is performed.
IE = 0: Interrupt request acknowledgment disabled
CHAPTER 10 INTERRUPT FUNCTIONS
User’s Manual U18172EJ3V0UD 185
Figure 10-9. Example of Multiple Interrupts (2/2)
Example 3. A priority is controlled by the Multiple interrupts
The vector interrupt enable state is set for INTP0, INTP1, and INTTMH1.
(Interruption priority INTP0 > INTP1 > INTTMH1 (refer to Table10-1))
INTP0
EI PMK0 = 1
IE = 0
EI
INTP1
RETI
IE = 0
PMK0 = 0
IE = 0
RETI
RETI
INTTMH1
Main processing INTTNH1 servicing
INTP1 servicing
INTP0 servicing
In the interrupt INTTMH1 servicing, servicing is performed such that the INTP1 interrupt is given priority, since the
INTP0 interrupt was first masked.
Afterwards, once the interrupt mask for INTP0 is released, INTP0 processing through multiple interrupts is
performed.
IE = 0: Interrupt request acknowledgment disabled
10.4.3 Interrupt request pending
Some instructions may keep pending the acknowledgment of an instruction request until the completion of the
execution of the next instruction even if the interrupt request (maskable interrupt and external interrupt) is generated
during the execution. The following shows such instructions (interrupt request pending instruction).
Manipulation instruction for interrupt request flag register 0 (IF0)
Manipulation instruction for interrupt mask flag register 0 (MK0)
User’s Manual U18172EJ3V0UD
186
CHAPTER 11 STANDBY FUNCTION
11.1 Standby Function and Configuration
11.1.1 Standby function
Table 11-1. Relationship Between Operation Clocks in Each Operation Status
Low-Speed Internal Oscillator
Note 2
Status
Operation Mode
Note 1
LSRSTOP = 0 LSRSTOP = 1
System Clock Clock Supplied to
Peripheral
Hardware
Reset Stopped
STOP
Stopped Stopped
HALT
Oscillating OscillatingNote 3 Stopped
Oscillating Oscillating
Notes 1. When “Cannot be stopped” is selected for low-speed internal oscillator by the option byte.
2. When it is selected that the low-speed internal oscillator “can be stopped by software”, oscillation of the
low-speed internal oscillator can be stopped by LSRSTOP.
3. If the operating clock of the watchdog timer is the low-speed internal oscillation clock, the watchdog
timer is stopped.
Caution The LSRSTOP setting is valid only when “Can be stopped by software” is set for the low-speed
internal oscillator by the option byte.
Remark LSRSTOP: Bit 0 of the low-speed internal oscillation mode register (LSRCM)
The standby function is designed to reduce the operating current of the system. The following two modes are
available.
(1) HALT mode
HALT instruction execution sets the HALT mode. In the HALT mode, the CPU operation clock is stopped.
Oscillation of the system clock oscillator continues. If the low-speed internal oscillator is operating before the
HALT mode is set, oscillation of the clock of the low-speed internal oscillator continues (refer to Table 11-1.
Oscillation of the low-speed internal oscillation clock (whether it cannot be stopped or can be stopped by
software) is set by the option byte). In this mode, the operating current is not decreased as much as in the
STOP mode, but the HALT mode is effective for restarting operation immediately upon interrupt request
generation and frequently carrying out intermittent operations.
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD 187
(2) STOP mode
STOP instruction execution sets the STOP mode. In the STOP mode, the system clock oscillator stops,
stopping the whole system, thereby considerably reducing the CPU operating current.
Because this mode can be cleared by an interrupt request, it enables intermittent operations to be carried out.
However, select the HALT mode if processing must be immediately started by an interrupt request when the
operation stop timeNote is generated after the STOP mode is released (because an additional wait time for
stabilizing oscillation elapses when crystal/ceramic oscillation is used).
Note The operation stop time is 17
μ
s (MIN.), 34
μ
s (TYP.), and 67
μ
s (MAX.).
In either of these two modes, all the contents of registers, flags and data memory just before the standby mode is
set are held. The I/O port output latches and output buffer statuses are also held.
Cautions 1. When shifting to the STOP mode, be sure to stop the peripheral hardware operation before
executing STOP instruction (except the peripheral hardware that operates on the low-speed
internal oscillation clock).
2. The following sequence is recommended for operating current reduction of the A/D converter
in
μ
PD78F920x when the standby function is used: First clear bit 7 (ADCS) and bit 0 (ADCE)
of the A/D converter mode register (ADM) to 0 to stop the A/D conversion operation, and then
execute the HALT or STOP instruction.
3. If the low-speed internal oscillator is operating before the STOP mode is set, oscillation of the
low-speed internal oscillation clock cannot be stopped in the STOP mode (refer to Table 11-1).
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD
188
11.1.2 Registers used during standby (
μ
PD78F920x only)
The oscillation stabilization time after the standby mode is released is controlled by the oscillation stabilization time
select register (OSTS).
Remark For the registers that start, stop, or select the clock, see CHAPTER 5 CLOCK GENERATORS.
(1) Oscillation stabilization time select register (OSTS) (
μ
PD78F920x only)
This register is used to select oscillation stabilization time of the clock supplied from the oscillator when the
STOP mode is released. The wait time set by OSTS is valid only when the crystal/ceramic oscillation clock is
selected as the system clock and after the STOP mode is released. If the high-speed internal oscillation or
external clock input is selected as the system clock source, no wait time elapses.
The system clock oscillator and the oscillation stabilization time that elapses after power application or release
of reset are selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
OSTS is set by using the 8-bit memory manipulation instruction.
Figure 11-1. Format of Oscillation Stabilization Time Select Register (OSTS) (
μ
PD78F920x Only)
Address: FFF4H, After reset: Undefined, R/W
Symbol 7 6 5 4 3 2 1 0
OSTS 0 0 0 0 0 0 OSTS1 OSTS0
OSTS1 OSTS0 Selection of oscillation stabilization time
0 0 210/fX (102.4
μ
s)
0 1 212/fX (409.6
μ
s)
1 0 215/fX (3.27 ms)
1 1 217/fX (13.1 ms)
Cautions 1. To set and then release the STOP mode, set the oscillation stabilization time as follows.
Expected oscillation stabilization time of resonator Oscillation stabilization time set
by OSTS
2. The wait time after the STOP mode is released does not include the time from the
release of the STOP mode to the start of clock oscillation (“a” in the figure below),
regardless of whether STOP mode was released by reset signal generation or interrupt
generation.
STOP mode is released
Voltage
waveform
of X1 pin
a
3. The oscillation stabilization time that elapses on power application or after release of
reset is selected by the option byte. For details, refer to CHAPTER 15 OPTION BYTE.
Remarks 1. ( ): fX = 10 MHz
2. Determine the oscillation stabilization time of the resonator by checking the characteristics of
the resonator to be used.
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD 189
11.2 Standby Function Operation
11.2.1 HALT mode
(1) HALT mode
The HALT mode is set by executing the HALT instruction.
The operating statuses in the HALT mode are shown below.
Caution Because an interrupt request signal is used to clear the standby mode, if there is an interrupt
source with the interrupt request flag set and the interrupt mask flag clear, the standby mode
is immediately cleared if set.
Table 11-2. Operating Statuses in HALT Mode
Low-Speed Internal Oscillator can be stopped Note 1.
Setting of HALT Mode
Item
Low-Speed Internal
Oscillator cannot be
stoppedNote 1.
When Low-Speed Internal
Oscillation Continues
When Low-Speed Internal
Oscillation Stops
System clock Clock supply to CPU is stopped.
CPU Operation stops.
Port (latch) Holds status before HALT mode was set.
16-bit timer/event counter 00Note 2 Operable
Sets count clock to fXP to fXP/212 Operable
8-bit timer
H1 Sets count clock to fRL/27 Operable Operable Operation stops.
“System clock” selected as
operating clock
Setting disabled. Operation stops.
Watchdog
timer
“Low-speed internal oscillation
clock” selected as operating
clock
Operable
(Operation continues)
Operation stops.
A/D converterNote 2 Operable
Power-on-clear circuit Always operates.
Low-voltage detector Operable
External interrupt Operable
Notes 1. “Cannot be stopped” or “Stopped by software” is selected for low-speed internal oscillator by the option byte
(for the option byte, see CHAPTER 15 OPTION BYTE).
2.
μ
PD78F920x only
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD
190
(2) HALT mode release
The HALT mode can be released by the following two sources.
(a) Release by unmasked interrupt request
When an unmasked interrupt request is generated, the HALT mode is released. If interrupt
acknowledgement is enabled, vectored interrupt servicing is carried out. If interrupt acknowledgement is
disabled, the next address instruction is executed.
Figure 11-2. HALT Mode Release by Interrupt Request Generation
HALT
instruction Wait
Wait Operating modeHALT modeOperating mode
Oscillation
System clock
oscillation
Status of CPU
Standby
release signal
Interrupt
request
Remarks 1. The broken lines indicate the case when the interrupt request which has released the
standby mode is acknowledged.
2. The wait time is as follows:
• When vectored interrupt servicing is carried out: 11 to 13 clocks
• When vectored interrupt servicing is not carried out: 3 to 5 clocks
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD 191
(b) Release by reset signal generation
When the reset signal is input, HALT mode is released, and then, as in the case with a normal reset
operation, the program is executed after branching to the reset vector address.
Figure 11-3. HALT Mode Release by Reset Signal Generation
(1) When CPU clock is high-speed internal oscillation clock or external input clock
HALT
instruction
Reset signal
System clock
oscillation
Operation
mode HALT mode
Reset
period Operation mode
Oscillates Oscillation stops Oscillates
CPU status
Operation
stops
Note
Note Operation is stopped (277
μ
s (MIN.), 544
μ
s (TYP.), 1.075 ms (MAX.)) because the option byte is
referenced.
(2) When CPU clock is crystal/ceramic oscillation clock (
μ
PD78F920x only)
HALT
instruction
Reset signal
System clock
oscillation
Operation
mode HALT mode
Reset
period
Operation
stops
Note
Oscillation
stabilization waits
Oscillates Oscillation stops Oscillates
CPU status
Oscillation stabilization time
(2
10
/f
X
to 2
17
/f
X
)
Operation
mode
Note Operation is stopped (276
μ
s (MIN.), 544
μ
s (TYP.), 1.074 ms (MAX.)) because the option byte is
referenced.
Remark f
X: System clock oscillation frequency
Table 11-3. Operation in Response to Interrupt Request in HALT Mode
Release Source MK×× IE Operation
0 0 Next address instruction execution
0 1 Interrupt servicing execution
Maskable interrupt request
1 × HALT mode held
Reset signal generation × Reset processing
×: don’t care
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD
192
11.2.2 STOP mode
(1) STOP mode setting and operating statuses
The STOP mode is set by executing the STOP instruction.
Caution Because an interrupt request signal is used to clear the standby mode, if there is an interrupt
source with the interrupt request flag set and the interrupt mask flag reset, the standby
mode is immediately cleared if set. Thus, in the STOP mode, the normal operation mode is
restored after the STOP instruction is executed and then the operation is stopped for the
duration of 34
μ
s (TYP.) (after an additional wait time for stabilizing oscillation set by the
oscillation stabilization time select register (OSTS) has elapsed when crystal/ceramic
oscillation is used).
The operating statuses in the STOP mode are shown below.
Table 11-4. Operating Statuses in STOP Mode
Low-Speed Internal Oscillator can be stopped Note 1.
Setting of STOP Mode
Item
Low-Speed Internal
Oscillator cannot be
stopped Note 1.
When Low-Speed Internal
Oscillation Continues
When Low-Speed Internal
Oscillation Stops
System clock Oscillation stops.
CPU Operation stops.
Port (latch) Holds status before STOP mode was set.
16-bit timer/event counter 00 Note 2 Operation stops.
Sets count clock to fXP to fXP/212 Operation stops.
8-bit timer
H1 Sets count clock to fRL/27 Operable Operable Operation stops.
“System clock” selected as
operating clock
Setting disabled. Operation stops.
Watchdog
timer
“Low-speed internal oscillation
clock” selected as operating
clock
Operable
(Operation continues)
Operation stops.
A/D converter Note 2 Operation stops.
Power-on-clear circuit Always operates.
Low-voltage detector Operable
External interrupt Operable
Notes 1. “Cannot be stopped” or “Stopped by software” is selected for low-speed internal oscillator by the option byte
(for the option byte, see CHAPTER 15 OPTION BYTE).
2.
μ
PD78F920x only
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD 193
(2) STOP mode release
Figure 11-4. Operation Timing When STOP Mode Is Released
<1> If high-speed internal oscillation clock or external input clock is selected as system clock to be supplied
System clock
oscillation
CPU clock
STOP mode
is released.
STOP mode
High-speed internal oscillation clock or external clock input
Operation
stops
Note
.
<2> If crystal/ceramic oscillation clock is selected as system clock to be supplied (
μ
PD78F920x only)
System clock
oscillation
CPU clock
STOP mode
is released.
STOP mode
HALT status
(oscillation stabilization time set by OSTS)
Crystal/ceramic oscillation clock
Operation
stops
Note
.
Note The operation stop time is 17
μ
s (MIN.), 34
μ
s (TYP.), and 67
μ
s (MAX.).
The STOP mode can be released by the following two sources.
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD
194
(a) Release by unmasked interrupt request
When an unmasked interrupt request (8-bit timer H1Note, low-voltage detector, external interrupt request) is
generated, the STOP mode is released. After the oscillation stabilization time has elapsed, if interrupt
acknowledgment is enabled, vectored interrupt servicing is carried out. If interrupt acknowledgment is
disabled, the next address instruction is executed.
Note Only when sets count clock to fRL/27
Figure 11-5. STOP Mode Release by Interrupt Request Generation
(1) If CPU clock is high-speed internal oscillation clock or external input clock
Operation
mode Operation mode
Oscillation
STOP
instruction
STOP mode
Standby release
signal
System clock
oscillation
CPU status
Oscillation Oscillation stops.
Operation
stops
Note
.
Interrupt
request
(2) If CPU clock is crystal/ceramic oscillation clock (
μ
PD78F920x only)
Waiting for stabilization
of oscillation
Oscillation stabilization time
(set by OSTS)
(HALT mode status)
Operation
mode
Operation
mode
Oscillation
STOP
instruction
STOP mode
Standby release
signal
System clock
CPU status
Oscillation Oscillation stops.
Operation
stops
Note
.
Interrupt
request
Note The operation stop time is 17
μ
s (MIN.), 34
μ
s (TYP.), and 67
μ
s (MAX.).
Remark The broken lines indicate the case when the interrupt request that has released the standby mode
is acknowledged.
<R>
CHAPTER 11 STANDBY FUNCTION
User’s Manual U18172EJ3V0UD 195
(b) Release by reset signal generation
When the reset signal is input, STOP mode is released and a reset operation is performed after the
oscillation stabilization time has elapsed.
Figure 11-6. STOP Mode Release by Reset signal generation
(1) If CPU clock is high-speed internal oscillation clock or external input clock
STOP
instruction
Reset signal
System clock
oscillation
Operation
mode STOP mode
Reset
period Operation mode
Oscillation Oscillation stops. Oscillation
CPU status
Operation
stopsNote.
Note Operation is stopped (277
μ
s (MIN.), 544
μ
s (TYP.), 1.075 ms (MAX.)) because the option byte is
referenced.
(2) If CPU clock is crystal/ceramic oscillation clock (
μ
PD78F920x only)
STOP
instruction
Reset signal
System clock
oscillation
Operation
mode STOP mode
Reset
period
Operation
stopsNote.
Operation
mode
Oscillation Oscillation stops. Oscillation
CPU status
Oscillation stabilization time
(210/fX to 217/fX)
Oscillation
stabilization waits
Note Operation is stopped (276
μ
s (MIN.), 544
μ
s (TYP.), 1.074 ms (MAX.)) because the option byte is
referenced.
Remark f
X: System clock oscillation frequency
Table 11-5. Operation in Response to Interrupt Request in STOP Mode
Release Source MK×× IE Operation
0 0 Next address instruction execution
0 1 Interrupt servicing execution
Maskable interrupt request
1 × STOP mode held
Reset signal generation × Reset processing
×: don’t care
<R>
User’s Manual U18172EJ3V0UD
196
CHAPTER 12 RESET FUNCTION
The following four operations are available to generate a reset signal.
(1) External reset input via RESET pin
(2) Internal reset by watchdog timer overflows
(3) Internal reset by comparison of supply voltage and detection voltage of power-on-clear (POC) circuit
(4) Internal reset by comparison of supply voltage and detection voltage of low-power-supply detector (LVI)
External and internal resets have no functional differences. In both cases, program execution starts from the
programs at the address written in addresses 0000H and 0001H when the reset signal is generated.
A reset is applied when a low level is input to the RESET pin, the watchdog timer overflows, or by POC and LVI
circuit voltage detection, and each item of hardware is set to the status shown in Table 12-1. Each pin is high
impedance during reset signal generation or during the oscillation stabilization time just after reset release, except for
P130, which is low-level output.
When a low level is input to the RESET pin, a reset occurs, and when a high level is input to the RESET pin, the
reset is released and the CPU starts program execution after referencing the option byte (after the option byte is
referenced and the clock oscillation stabilization time elapses if crystal/ceramic oscillation is selected). A reset
generated by the watchdog timer source is automatically released after the reset, and the CPU starts program
execution after referencing the option byte (after the option byte is referenced and the clock oscillation stabilization
time elapses if crystal/ceramic oscillation is selected). (see Figures 12-2 to 12-4). Reset by POC and LVI circuit
power supply detection is automatically released when VDD > VPOC or VDD > VLVI after the reset, and the CPU starts
program execution after referencing the option byte (after the option byte is referenced and the clock oscillation
stabilization time elapses if crystal/ceramic oscillation is selected) (see CHAPTER 13 POWER-ON-CLEAR CIRCUIT
and CHAPTER 14 LOW-VOLTAGE DETECTOR).
Cautions 1. For an external reset, input a low level for 2
μ
s or more to the RESET pin.
2. During reset signal generation, the system clock and low-speed internal oscillation clock
stop oscillating.
3. When the RESET pin is used as an input-only port pin (P34), the 78K0S/KU1+ is reset if a low
level is input to the RESET pin after reset is released by the POC circuit, the LVI circuit and
the watchdog timer and before the option byte is referenced again. The reset status is
retained until a high level is input to the RESET pin.
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD 197
Figure 12-1. Block Diagram of Reset Function
RESET
LVIRFWDTRF
Reset control flag register (RESF)
Internal bus
Reset signal of WDT
Reset signal of POC
Reset signal of LVI Internal reset signal
Reset signal to LVIM/LVIS register
Clear
Set ClearSet
Caution The LVI circuit is not reset by the internal reset signal of the LVI circuit.
Remarks 1. LVIM: Low-voltage detect register
2. LVIS: Low-voltage detection level select register
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD
198
Figure 12-2. Timing of Reset by RESET Input
<1> With high-speed internal oscillation clock or external clock input
Hi-Z
RESET
Port pin
Delay
Normal operation
in progress
CPU clock
Reset period
(oscillation stops)
Normal operation (reset processing, CPU clock)
Internal reset signal
High-speed internal oscillation clock or
external clock input
Delay
Operation stops because option
byte is referencedNote.
100 ns (TYP.) 100 ns (TYP.)
Note The operation stop time is 277
μ
s (MIN.), 544
μ
s (TYP.), and 1.075 ms (MAX.).
<2> With crystal/ceramic oscillation clock (
μ
PD78F920x only)
Hi-Z
RESET
Port pin
Delay
Normal operation
in progress
Reset period
(oscillation stops)
Oscillation stabilization
time (2
10
/f
X
to 2
17
/f
X
)
Normal operation
(reset processing, CPU clock)
Internal reset signal
Crystal/ceramic
oscillation clock
Delay
Operation stops because option
byte is referencedNote.
100 ns (TYP.) 100 ns (TYP.)
Note The operation stop time is 276
μ
s (MIN.), 544
μ
s (TYP.), and 1.074 ms (MAX.).
Remark f
X: System clock oscillation frequency
<R>
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD 199
Figure 12-3. Timing of Reset by Overflow of Watchdog Timer
<1> With high-speed internal oscillation clock or external clock input
Hi-Z
Port pin
Normal operation
in progress
CPU clock
Reset period
(oscillation stops)
Normal operation (reset processing, CPU clock)
Internal reset signal
High-speed internal oscillation clock or
external clock input
Operation stops because option
byte is referenced
Note
.
Watchdog overflow
Note The operation stop time is 277
μ
s (MIN.), 544
μ
s (TYP.), and 1.075 ms (MAX.).
Caution The watchdog timer is also reset in the case of an internal reset of the watchdog timer.
<2> With crystal/ceramic oscillation clock (
μ
PD78F920x only)
Hi-Z
Port pin
Normal operation
in progress
Reset period
(oscillation stops)
Oscillation stabilization
time (2
10
/f
X
to 2
17
/f
X
)
Normal operation
(reset processing, CPU clock)
Internal reset signal
Crystal/ceramic
oscillation clock
Operation stops because option
byte is referenced
Note
.
CPU clock
Watchdog overflow
Note The operation stop time is 276
μ
s (MIN.), 544
μ
s (TYP.), and 1.074 ms (MAX.).
Caution The watchdog timer is also reset in the case of an internal reset of the watchdog timer.
Remark f
X: System clock oscillation frequency
<R>
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD
200
Figure 12-4. Reset Timing by RESET Input in STOP Mode
<1> With high-speed internal oscillation clock or external clock input
Hi-Z
RESET
Port pin
Delay
Normal
operation
in progress
CPU clock
Reset period
(oscillation stops)
Normal operation (reset processing, CPU clock)
Internal reset signal
High-speed internal oscillation clock or
external clock input
Delay
Operation stops because option
byte is referencedNote.
Stop status
(oscillation stops)
STOP instruction is executed.
100 ns (TYP.) 100 ns (TYP.)
Note The operation stop time is 277
μ
s (MIN.), 544
μ
s (TYP.), and 1.075 ms (MAX.).
<2> With crystal/ceramic oscillation clock (
μ
PD78F920x only)
Hi-Z
RESET
Port pin
Delay
Normal
operation
in progress
CPU clock Normal operation
(reset processing, CPU clock)
Internal reset signal
Crystal/ceramic
oscillation clock
Delay
Operation stops because option
byte is referenced
Note
.
Reset period
(oscillation stops)
Stop status
(oscillation stops)
STOP instruction is executed.
Oscillation stabilization
time (210/fX to 217/fX)
100 ns (TYP.) 100 ns (TYP.)
Note The operation stop time is 276
μ
s (MIN.), 544
μ
s (TYP.), and 1.074 ms (MAX.).
Remarks 1. For the reset timing of the power-on-clear circuit and low-voltage detector, refer to CHAPTER 13
POWER-ON-CLEAR CIRCUIT and CHAPTER 14 LOW-VOLTAGE DETECTOR.
2. fX: System clock oscillation frequency
<R>
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD 201
Table 12-1. Hardware Statuses After Reset Acknowledgment (1/2)
Hardware Status After Reset
Program counter (PC)Note 1 Contents of reset vector
table (0000H and
0001H) are set.
Stack pointer (SP) Undefined
Program status word (PSW) 02H
Data memory Undefined Note 2
RAM
General-purpose registers Undefined Note 2
Ports (P2 to P4) (output latches) 00H
Port mode registers (PM2 to PM4) FFH
Port mode control register (PMC2)Note 3 00H
Pull-up resistor option registers (PU2 to PU4) 00H
Processor clock control register (PCC) 02H
Preprocessor clock control register (PPCC) 02H
Low-speed internal oscillation mode register (LSRCM) 00H
Oscillation stabilization time select register (OSTS) Undefined
Timer counter 00 (TM00) 0000H
Capture/compare registers 000, 010 (CR000, CR010) 0000H
Mode control register 00 (TMC00) 00H
Prescaler mode register 00 (PRM00) 00H
Capture/compare control register 00 (CRC00) 00H
16-bit timer 00Note 3
Timer output control register 00 (TOC00) 00H
Compare registers (CMP01, CMP11) 00H 8-bit timer H1
Mode register 1 (TMHMD1) 00H
Mode register (WDTM) 67H Watchdog timer
Enable register (WDTE) 9AH
Conversion result registers (ADCR, ADCRH) Undefined
Mode register (ADM) 00H
A/D converterNote 3
Analog input channel specification register (ADS) 00H
Notes 1. Only the contents of PC are undefined while reset signal generation and while the oscillation stabilization
time elapses. The statuses of the other hardware units remain unchanged.
2. The status after reset is held in the standby mode.
3.
μ
PD78F920x only
<R>
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD
202
Table 12-1. Hardware Statuses After Reset Acknowledgment (2/2)
Hardware Status After Reset
Reset function Reset control flag register (RESF) 00HNote
Low-voltage detection register (LVIM) 00HNote
Low-voltage detector
Low-voltage detection level select register (LVIS) 00HNote
Request flag registers (IF0) 00H
Mask flag registers (MK0) FFH
Interrupt
External interrupt mode registers (INTM0) 00H
Flash protect command register (PFCMD) Undefined
Flash status register (PFS) 00H
Flash programming mode control register (FLPMC) Undefined
Flash programming command register (FLCMD) 00H
Flash address pointer L (FLAPL)
Flash address pointer H (FLAPH)
Undefined
Flash address pointer H compare register (FLAPHC) 00H
Flash address pointer L compare register (FLAPLC) 00H
Flash memory
Flash write buffer register (FLW) 00H
Note These values change as follows depending on the reset source.
Reset Source
Register
RESET Input Reset by POC Reset by WDT Reset by LVI
WDTRF Set (1) Held RESF
LVIRF
Cleared (0) Cleared (0)
Held Set (1)
LVIM
LVIS
Cleared (00H) Cleared (00H) Cleared (00H) Held
CHAPTER 12 RESET FUNCTION
User’s Manual U18172EJ3V0UD 203
12.1 Register for Confirming Reset Source
Many internal reset generation sources exist in the 78K0S/KU1+. The reset control flag register (RESF) is used to
store which source has generated the reset request.
RESF can be read by an 8-bit memory manipulation instruction.
RESET input, reset signal generation by power-on-clear (POC) circuit, and reading RESF clear RESF to 00H.
Figure 12-5. Format of Reset Control Flag Register (RESF)
Address: FF54H After reset: 00HNote R
Symbol 7 6 5 4 3 2 1 0
RESF 0 0 0 WDTRF 0 0 0 LVIRF
WDTRF Internal reset request by watchdog timer (WDT)
0 Internal reset request is not generated, or RESF is cleared.
1 Internal reset request is generated.
LVIRF Internal reset request by low-voltage detector (LVI)
0 Internal reset request is not generated, or RESF is cleared.
1 Internal reset request is generated.
Note The value after reset varies depending on the reset source.
Caution Do not read data by a 1-bit memory manipulation instruction.
The status of RESF when a reset request is generated is shown in Table 12-2.
Table 12-2. RESF Status When Reset Request Is Generated
Reset Source
Flag
RESET Input Reset by POC Reset by WDT Reset by LVI
WDTRF Set (1) Held
LVIRF
Cleared (0) Cleared (0)
Held Set (1)
User’s Manual U18172EJ3V0UD
204
CHAPTER 13 POWER-ON-CLEAR CIRCUIT
13.1 Functions of Power-on-Clear Circuit
The power-on-clear circuit (POC) has the following functions.
Generates internal reset signal at power on.
Compares supply voltage (VDD) and detection voltage (VPOC = 2.1 V ±0.1 V), and generates internal reset signal
when VDD < VPOC.
Compares supply voltage (VDD) and detection voltage (VPOC = 2.1 V ±0.1 V), and releases internal reset signal
when VDD VPOC.
Cautions 1. If an internal reset signal is generated in the POC circuit, the reset control flag register
(RESF) is cleared to 00H.
2. Because the detection voltage (VPOC) of the POC circuit is in a range of 2.1 V ±0.1 V, use a
voltage in the range of 2.2 to 5.5 V.
Remark This product incorporates multiple hardware functions that generate an internal reset signal. A flag that
indicates the reset cause is located in the reset control flag register (RESF) for when an internal reset
signal is generated by the watchdog timer (WDT) or low-voltage-detection (LVI) circuit. RESF is not
cleared to 00H and the flag is set to 1 when an internal reset signal is generated by WDT or LVI.
For details of RESF, see CHAPTER 12 RESET FUNCTION.
CHAPTER 13 POWER-ON-CLEAR CIRCUIT
User’s Manual U18172EJ3V0UD 205
13.2 Configuration of Power-on-Clear Circuit
The block diagram of the power-on-clear circuit is shown in Figure 13-1.
Figure 13-1. Block Diagram of Power-on-Clear Circuit
+
Reference
voltage
source
Internal reset signal
V
DD
V
DD
13.3 Operation of Power-on-Clear Circuit
In the power-on-clear circuit, the supply voltage (VDD) and detection voltage (VPOC = 2.1 V ±0.1 V) are compared,
and an internal reset signal is generated when VDD < VPOC, and an internal reset is released when VDD VPOC.
Figure 13-2. Timing of Internal Reset Signal Generation in Power-on-Clear Circuit
Time
Supply voltage (VDD)
POC detection voltage
(VPOC = 2.1 V ±0.1 V)
Internal reset signal
CHAPTER 13 POWER-ON-CLEAR CIRCUIT
User’s Manual U18172EJ3V0UD
206
13.4 Cautions for Power-on-Clear Circuit
In a system where the supply voltage (VDD) fluctuates for a certain period in the vicinity of the POC detection
voltage (VPOC), the system may be repeatedly reset and released from the reset status. In this case, the time from
release of reset to the start of the operation of the microcontroller can be arbitrarily set by taking the following action.
<Action>
After releasing the reset signal, wait for the supply voltage fluctuation period of each system by means of a
software counter that uses a timer, and then initialize the ports.
Figure 13-3. Example of Software Processing After Release of Reset (1/2)
If supply voltage fluctuation is 50 ms or less in vicinity of POC detection voltage
; Check reset source
Note 2
Initialization of ports
Setting WDT
Source : f
RL
(2.1 MHz (MAX.)) /2
12
,
51 ms when the compare value is 25
Timer starts
(TMHE1 = 1)
Note 1
Setting 8-bit timer H1
(50 ms is measured)
; Specify the division ratio of the system clock,
setting Timaer, setting A/D Converter, etc.
Yes
No
; f
XP
= High-speed internal oscillation clock (8.4 MHz (MAX.)) /2
2
(default value)
Reset
Initialization
processing <1>
Power-on clear
50 ms has passed?
(TMIFH1 = 1?)
Initialization
processing <2>
Clears WDT
Notes 1. If reset is generated again during this period, initialization processing <2> is not started.
2. A flowchart is shown on the next page.
CHAPTER 13 POWER-ON-CLEAR CIRCUIT
User’s Manual U18172EJ3V0UD 207
Figure 13-3. Example of Software Processing After Release of Reset (2/2)
Checking reset cause
Yes
No
Check reset source
Power-on clear/external
reset generated
Reset processing by
watchdog timer
Reset processing by low-voltage
detector
No
WDTRF of RESF
register = 1?
LVIRF of RESF
register = 1?
Yes
User’s Manual U18172EJ3V0UD
208
CHAPTER 14 LOW-VOLTAGE DETECTOR
14.1 Functions of Low-Voltage Detector
The low-voltage detector (LVI) has following functions.
Compares supply voltage (VDD) and detection voltage (VLVI), and generates an internal interrupt signal or
internal reset signal when VDD < VLVI.
Detection levels (ten levels) of supply voltage can be changed by software.
Interrupt or reset function can be selected by software.
Operable in STOP mode.
When the low-voltage detector is used to reset, bit 0 (LVIRF) of the reset control flag register (RESF) is set to 1 if
reset occurs. For details of RESF, refer to CHAPTER 12 RESET FUNCTION.
14.2 Configuration of Low-Voltage Detector
The block diagram of the low-voltage detector is shown in Figure 14-1.
Figure 14-1. Block Diagram of Low-Voltage Detector
LVION
Reference
voltage source
V
DD
N-ch
Low-voltage detection
level select register (LVIS)
Low-voltage detect
register (LVIM)
LVIS2 LVIMD LVIF
INTLVI
Internal reset signal
4
V
DD
LVIS1 LVIS0
LVIS3
Low-voltage detection level selector
Selector
Internal bus
+
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD 209
14.3 Registers Controlling Low-Voltage Detector
The low-voltage detector is controlled by the following registers.
Low-voltage detect register (LVIM)
Low-voltage detection level select register (LVIS)
(1) Low-voltage detect register (LVIM)
This register sets low-voltage detection and the operation mode.
This register can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00HNote 1.
Figure 14-2. Format of Low-Voltage Detect Register (LVIM)
<0>
LVIF
<1>
LVIMD
2
0
3
0
4
0
5
0
6
0
<7>
LVION
Symbol
LVIM
Address: FF50H After reset: 00H
Note 1
R/W
Note 2
LVIONNote 3 Enabling low-voltage detection operation
0 Disable operation
1 Enable operation
LVIMD Low-voltage detection operation mode selection
0 Generate interrupt signal when supply voltage (VDD) < detection voltage (VLVI)
1 Generate internal reset signal when supply voltage (VDD) < detection voltage (VLVI)
LVIFNote 4 Low-voltage detection flag
0 Supply voltage (VDD) detection voltage (VLVI), or when operation is disabled
1 Supply voltage (VDD) < detection voltage (VLVI)
Notes 1. For a reset by LVI, the value of LVIM is not initialized.
2. Bit 0 is a read-only bit.
3. When LVION is set to 1, operation of the comparator in the LVI circuit is started. Use
software to instigate a wait of at least 0.2 ms from when LVION is set to 1 until the voltage is
confirmed at LVIF.
4. The value of LVIF is output as the interrupt request signal INTLVI when LVION = 1 and
LVIMD = 0.
Cautions 1. To stop LVI, follow either of the procedures below.
When using 8-bit manipulation instruction: Write 00H to LVIM.
When using 1-bit memory manipulation instruction: Clear LVION to 0.
2. Be sure to set bits 2 to 6 to 0.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD
210
(2) Low-voltage detection level select register (LVIS)
This register selects the low-voltage detection level.
This register can be set by an 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00HNote.
Figure 14-3. Format of Low-Voltage Detection Level Select Register (LVIS)
Address: FF51H, After reset: 00HNote R/W
Symbol 7 6 5 4 3 2 1 0
LVIS 0 0 0 0 LVIS3 LVIS2 LVIS1 LVIS0
LVIS3 LVIS2 LVIS1 LVIS0 Detection level
0 0 0 0 VLVI0 (4.3 V ±0.2 V)
0 0 0 1 VLVI1 (4.1 V ±0.2 V)
0 0 1 0 VLVI2 (3.9 V ±0.2 V)
0 0 1 1 VLVI3 (3.7 V ±0.2 V)
0 1 0 0 VLVI4 (3.5 V ±0.2 V)
0 1 0 1 VLVI5 (3.3 V ±0.15 V)
0 1 1 0 VLVI6 (3.1 V ±0.15 V)
0 1 1 1 VLVI7 (2.85 V ±0.15 V)
1 0 0 0 VLVI8 (2.6 V ±0.1 V)
1 0 0 1 VLVI9 (2.35 V ±0.1 V)
Other than above Setting prohibited
Note For a reset by LVI, the value of LVIS is not initialized.
Cautions 1. Bits 4 to 7 must be set to 0.
2. If a value other than the above is written during LVI operation, the value becomes
undefined at the very moment it is written, and thus be sure to stop LVI (bit
7(LVION) = 0 on the LVIM register) before writing.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD 211
14.4 Operation of Low-Voltage Detector
The low-voltage detector can be used in the following two modes.
Used as reset
Compares the supply voltage (VDD) and detection voltage (VLVI), and generates an internal reset signal when
VDD < VLVI, and releases internal reset when VDD VLVI.
Used as interrupt
Compares the supply voltage (VDD) and detection voltage (VLVI), and generates an interrupt signal (INTLVI)
when VDD < VLVI.
The operation is set as follows.
(1) When used as reset
When starting operation
<1> Mask the LVI interrupt (LVIMK = 1).
<2> Set the detection voltage using bits 3 to 0 (LVIS3 to LVIS0) of the low-voltage detection level select
register (LVIS).
<3> Set bit 7 (LVION) of LVIM to 1 (enables LVI operation).
<4> Use software to instigate a wait of at least 0.2 ms.
<5> Wait until “supply voltage (VDD) detection voltage (VLVI)” at bit 0 (LVIF) of LVIM is confirmed.
<6> Set bit 1 (LVIMD) of LVIM to 1 (generates internal reset signal when supply voltage (VDD) < detection
voltage (VLVI)).
Figure 14-4 shows the timing of generating the internal reset signal of the low-voltage detector. Numbers <1>
to <6> in this figure correspond to <1> to <6> above.
Cautions 1. <1> must always be executed. When LVIMK = 0, an interrupt may occur immediately
after the processing in <3>.
2. If supply voltage (VDD) detection voltage (VLVI) when LVIMD is set to 1, an internal reset
signal is not generated.
When stopping operation
Either of the following procedures must be executed.
When using 8-bit memory manipulation instruction: Write 00H to LVIM.
When using 1-bit memory manipulation instruction: Clear LVIMD to 0 and LVION to 0 in that order.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD
212
Figure 14-4. Timing of Low-Voltage Detector Internal Reset Signal Generation
<2>
<1>
Note 1
Note 2
<3>
<5>
<6>
H
Supply voltage (V
DD
)
LVI detection voltage
(V
LVI
)
POC detection voltage
(V
POC
)
LVIF flag
LVIRF flag
Note 3
LVI reset signal
POC reset signal
Internal reset signal
LVIMK flag
(set by software)
LVION flag
(set by software)
LVIMD flag
(set by software)
Cleared by
software
Not cleared Not cleared
Not cleared Not cleared
Cleared by
software
Time
Clear
Clear
Clear
<4> 0.2 ms or longer
Notes 1. The LVIMK flag is set to “1” by reset signal generation.
2. The LVIF flag may be set (1).
3. LVIRF is bit 0 of the reset control flag register (RESF). For details of RESF, refer to CHAPTER 12
RESET FUNCTION.
Remark <1> to <6> in Figure 14-4 above correspond to <1> to <6> in the description of “when starting operation
in 14.4 (1) When used as reset.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD 213
(2) When used as interrupt
When starting operation
<1> Mask the LVI interrupt (LVIMK = 1).
<2> Set the detection voltage using bits 3 to 0 (LVIS3 to LVIS0) of the low-voltage detection level select
register (LVIS).
<3> Set bit 7 (LVION) of LVIM to 1 (enables LVI operation).
<4> Use software to instigate a wait of at least 0.2 ms.
<5> Wait until “supply voltage (VDD) detection voltage (VLVI)” at bit 0 (LVIF) of LVIM is confirmed.
<6> Clear the interrupt request flag of LVI (LVIIF) to 0.
<7> Release the interrupt mask flag of LVI (LVIMK).
<8> Execute the EI instruction (when vector interrupts are used).
Figure 14-5 shows the timing of generating the interrupt signal of the low-voltage detector. Numbers <1> to
<7> in this figure correspond to <1> to <7> above.
When stopping operation
Either of the following procedures must be executed.
When using 8-bit memory manipulation instruction: Write 00H to LVIM.
When using 1-bit memory manipulation instruction: Clear LVION to 0.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD
214
Figure 14-5. Timing of Low-Voltage Detector Interrupt Signal Generation
<2>
<1>
Note 1
<3>
<5>
Note 2
Note 2
Supply voltage (V
DD
)
LVI detection voltage
(V
LVI
)
POC detection voltage
(V
POC
)
LVIF flag
INTLVI
LVIIF flag
Internal reset signal
LVIMK flag
(set by software)
LVION flag
(set by software)
Time
<6>
Cleared by software
<7> Cleared by software
<4> 0.2 ms or longer
Note 2
Notes 1. The LVIMK flag is set to “1” by reset signal generation.
2. An interrupt request signal (INTLVI) may be generated, and the LVIF and LVIIF flags may be set to 1.
Remark <1> to <7> in Figure 14-5 above correspond to <1> to <7> in the description of “when starting operation
in 14.4 (2) When used as interrupt.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD 215
14.5 Cautions for Low-Voltage Detector
In a system where the supply voltage (VDD) fluctuates for a certain period in the vicinity of the LVI detection voltage
(VLVI), the operation is as follows depending on how the low-voltage detector is used.
<1> When used as reset
The system may be repeatedly reset and released from the reset status.
In this case, the time from release of reset to the start of the operation of the microcontroller can be arbitrarily
set by taking action (1) below.
<2> When used as interrupt
Interrupt requests may be frequently generated. Take (b) of action (2) below.
In this system, take the following actions.
<Action>
(1) When used as reset
After releasing the reset signal, wait for the supply voltage fluctuation period of each system by means of a
software counter that uses a timer, and then initialize the ports (see Figure 14-6).
(2) When used as interrupt
(a) Perform the processingNote for low voltage detection. Check that “supply voltage (VDD) detection voltage
(VLVI)” in the servicing routine of the LVI interrupt by using bit 0 (LVIF) of the low-voltage detection register
(LVIM). Clear bit 1 (LVIIF) of interrupt request flag register 0 (IF0) to 0.
(b) In a system where the supply voltage fluctuation period is long in the vicinity of the LVI detection voltage, wait
for the supply voltage fluctuation period, check that “supply voltage (VDD) detection voltage (VLVI)” using the
LVIF flag and clear LVIIF flag to 0.
Note For low voltage detection processing, the CPU clock speed is switched to slow speed and the A/D
converter is stopped, etc.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD
216
Figure 14-6. Example of Software Processing After Release of Reset (1/2)
If supply voltage fluctuation is 50 ms or less in vicinity of LVI detection voltage
;
The detection level is set with LVIS.
Yes
No
Setting LVI
Detection voltage or more
(LVIF = 0 ?)
Yes
LVIF = 0
Restarting the timaer H1
(TMHE1 = 0
TMHE1 = 1)
No
;
Clear low-voltage detection flag.
;
Clear timaer counter and timer starts.
LVI reset
; Check reset source
Note
Initialization of ports
Setting WDT
Reset
Initialization
processing <1>
Setting 8-bit timer H1
(50 ms is measured)
Source
:
f
RL
(2.1 MHz (MAX.)) /2
12
,
51 ms when the compare value is 25
Timer starts
(TMHE1 = 1)
; f
XP
= High-speed internal oscillation clock (8.4 MHz (MAX.)) /2
2
(default value)
Clears WDT
50 ms has passed?
(TMIFH1 = 1?)
Initialization
processing <2>
; Specify the division ratio of the system clock,
setting Timaer, setting A/D Converter, etc.
The low-voltage detector is operated (LVION = 1)
Note A flowchart is shown on the next page.
CHAPTER 14 LOW-VOLTAGE DETECTOR
User’s Manual U18172EJ3V0UD 217
Figure 14-6. Example of Software Processing After Release of Reset (2/2)
Checking reset source
Yes
No
Yes
No
Check reset source
Power-on-clear/external
reset generated
Reset processing by
watchdog timer
Reset processing by
low-voltage detector
WDTRF of RESF
register = 1?
LVIRF of RESF
register = 1?
User’s Manual U18172EJ3V0UD
218
CHAPTER 15 OPTION BYTE
15.1 Functions of Option Byte
The address 0080H of the flash memory of the 78K0S/KU1+ is an option byte area. When power is supplied or
when starting after a reset, the option byte is automatically referenced, and settings for the specified functions are
performed. When using the product, be sure to set the following functions by using the option byte.
15.1.1
μ
PD78F920x
(1) Selection of system clock source
High-speed internal oscillation clock
Crystal/ceramic oscillation clock
External clock input
(2) Low-speed internal oscillation clock oscillation
Cannot be stopped.
Can be stopped by software.
(3) Control of RESET pin
Used as RESET pin
RESET pin is used as an input port pin (P34) (refer to 15.3 Caution When the RESET Pin Is Used as an
Input-Only Port Pin (P34)).
(4) Oscillation stabilization time on power application or after reset release
210/fX
212/fX
215/fX
217/fX
Figure 15-1. Positioning of Option Byte (
μ
PD78F920x)
Option byte
OSCSEL1
RMCE11
Flash memory
(1024/2048/4096 × 8 bits)
03FFH/
07FFH/
0FFFH
0000H
0080H
DEF
OSTS1
OSCSEL0
LIOSP
DEF
OSTS0
CHAPTER 15 OPTION BYTE
User’s Manual U18172EJ3V0UD 219
15.1.2
μ
PD78F950x
(1) Selection of system clock source
High-speed internal oscillation clock
External clock input
(2) Low-speed internal oscillation clock oscillation
Cannot be stopped.
Can be stopped by software.
(3) Control of RESET pin
Used as RESET pin
RESET pin is used as an input-only port pin (P34) (see 15.3 Caution When the RESET Pin Is Used as
an Input-Only Port Pin (P34)).
The on-chip pull-up resistor on RESET pin is selected, or RESET pin is set open.
(4) Oscillation stabilization time on power application or after reset release
210/fX
212/fX
215/fX
217/fX
Figure 15-2. Positioning of Option Byte (
μ
PD78F950x)
Option byte
OSCSEL1
RMCE11
Flash memory
(1024/2048/4096 × 8 bits)
03FFH/
07FFH/
0FFFH
0000H
0080H
OSCSEL0
LIOSP
1
ENPU34
<R>
CHAPTER 15 OPTION BYTE
User’s Manual U18172EJ3V0UD
220
15.2 Format of Option Byte
Format of option bytes is shown below.
15.2.1
μ
PD78F920x
Figure 15-3. Format of Option Byte (
μ
PD78F920x) (1/2)
Address: 0080H
7 6 5 4 3 2 1 0
1 DEFOSTS1 DEFOSTS0 1 RMCE OSCSEL1 OSCSEL0 LIOCP
DEFOSTS1 DEFOSTS0 Oscillation stabilization time on power application or after reset release
0 0 210/fx (102.4
μ
s)
0 1 212/fx (409.6
μ
s)
1 0 215/fx (3.27 ms)
1 1 217/fx (13.1 ms)
Caution The setting of this option is valid only when the crystal/ceramic oscillation clock is selected
as the system clock source. No wait time elapses if the high-speed internal oscillation clock
or external clock input is selected as the system clock source.
RMCE Control of RESET pin
1 RESET pin is used as is.
0 RESET pin is used as input port pin (P34).
Caution Because the option byte is referenced after reset release, if a low level is input to the RESET
pin before the option byte is referenced, then the reset state is not released.
Also, when setting 0 to RMCE, connect the pull-up resistor.
OSCSEL1 OSCSEL0 Selection of system clock source
0 0 Crystal/ceramic oscillation clock
0 1 External clock input
1 × High-speed internal oscillation clock
Caution Because the X1 and X2 pins are also used as the P23/ANI3 and P22/ANI2 pins, the conditions
under which the X1 and X2 pins can be used differ depending on the selected system clock
source.
(1) Crystal/ceramic oscillation clock is selected
The X1 and X2 pins cannot be used as I/O port pins or analog input pins of A/D converter
because they are used as clock input pins.
(2) External clock input is selected
Because the X1 pin is used as an external clock input pin, P23/ANI3 cannot be used as
an I/O port pin or an analog input pin of A/D converter.
(3) High-speed internal oscillation clock is selected
P23/ANI3 and P22/ANI2 pins can be used as I/O port pins or analog input pins of A/D
converter.
Remark × : don’t care
CHAPTER 15 OPTION BYTE
User’s Manual U18172EJ3V0UD 221
Figure 15-3. Format of Option Byte (
μ
PD78F920x) (2/2)
LIOCP Low-speed internal oscillates
1 Cannot be stopped (oscillation does not stop even if 1 is written to the LSRSTOP bit)
0 Can be stopped by software (oscillation stops when 1 is written to the LSRSTOP bit)
Cautions 1. If it is selected that low-speed internal oscillator cannot be stopped, the count clock to
the watchdog timer (WDT) is fixed to low-speed internal oscillation clock.
2. If it is selected that low-speed internal oscillator can be stopped by software, supply of
the count clock to WDT is stopped in the HALT/STOP mode, regardless of the setting of
bit 0 (LSRSTOP) of the low-speed internal oscillation mode register (LSRCM). Similarly,
clock supply is also stopped when a clock other than the low-speed internal oscillation
clock is selected as a count clock to WDT.
While the low-speed internal oscillator is operating (LSRSTOP = 0), the clock can be
supplied to the 8-bit timer H1 even in the STOP mode.
Remarks 1. ( ): fX = 10 MHz
2. For the oscillation stabilization time of the resonator, refer to the characteristics of the resonator
to be used.
3. An example of software coding for setting the option bytes is shown below.
OPB CSEG AT 0080H
DB 10010001B ; Set to option byte
; Low-speed internal oscillator cannot be stopped
; The system clock is a crystal or ceramic resonator.
; The RESET pin is used as an input-only port pin (P34).
; Minimum oscillation stabilization time (210/fX)
4. For details on the timing at which the option byte is referenced, see CHAPTER 12 RESET
FUNCTION.
CHAPTER 15 OPTION BYTE
User’s Manual U18172EJ3V0UD
222
15.2.2
μ
PD78F950x
Figure 15-4. Format of Option Byte (
μ
PD78F950x) (1/2)
Address: 0080H
7 6 5 4 3 2 1 0
1 1 1 ENPU34 RMCE OSCSEL1 OSCSEL0 LIOCP
ENPU34 Selection of on-chip pull-up resistor on RESET pin
1 On-chip pull-up resistor on RESET pin is selected.
0 On-chip pull-up resistor on RESET pin is not selected.
Remark When used as RESET pin, the pin can be left open by setting ENPU34 to "1".
RMCE Control of RESET pin
1 RESET pin is used as is.
0 RESET pin is used as input port pin (P34).
Caution Because the option byte is referenced after reset release, if a low level is input to the RESET
pin before the option byte is referenced, then the reset state is not released.
When used as an input-only port (P34), the setting of the on-chip pull-up resistor can be done
by PU34 on PU3 register.
OSCSEL1 OSCSEL0 Selection of system clock source
0 0 Setting prohibited
0 1 External clock input
1 × High-speed internal oscillation clock
Caution Because the EXCLK pin is also used as the P23 pin, the condition under which the EXCLK
pin can be used differ depending on the selected system clock source.
(1) External clock input is selected
Because the pin is used as an external clock input pin, P23 cannot be used as an I/O port
pin.
(2) High-speed internal oscillation clock is selected
P23 pin can be used as an I/O port pin.
Remark × : don’t care
<R>
CHAPTER 15 OPTION BYTE
User’s Manual U18172EJ3V0UD 223
Figure 15-4. Format of Option Byte (
μ
PD78F950x) (2/2)
LIOCP Low-speed internal oscillates
1 Cannot be stopped (oscillation does not stop even if 1 is written to the LSRSTOP bit)
0 Can be stopped by software (oscillation stops when 1 is written to the LSRSTOP bit)
Cautions 1. If it is selected that low-speed internal oscillator cannot be stopped, the count clock to
the watchdog timer (WDT) is fixed to low-speed internal oscillation clock.
2. If it is selected that low-speed internal oscillator can be stopped by software, supply of
the count clock to WDT is stopped in the HALT/STOP mode, regardless of the setting of
bit 0 (LSRSTOP) of the low-speed internal oscillation mode register (LSRCM). Similarly,
clock supply is also stopped when a clock other than the low-speed internal oscillation
clock is selected as a count clock to WDT.
While the low-speed internal oscillator is operating (LSRSTOP = 0), the clock can be
supplied to the 8-bit timer H1 even in the STOP mode.
Remarks 1. ( ): fX = 10 MHz
2. For the oscillation stabilization time of the resonator, refer to the characteristics of the resonator
to be used.
3. An example of software coding for setting the option bytes is shown below.
OPB CSEG AT 0080H
DB 10010001B ; Set to option byte
; Low-speed internal oscillator cannot be stopped
; The RESET pin is used as an input-only port pin (P34).
; Minimum oscillation stabilization time (210/fX)
4. For details on the timing at which the option byte is referenced, see CHAPTER 12 RESET
FUNCTION.
15.3 Caution When the RESET Pin Is Used as an Input-Only Port Pin (P34)
Be aware of the following when erasing/writing by on-board programming using a dedicated flash memory
programmer once again on the already-written device which has been set as "The RESET pin is used as an input-only
port pin (P34)" by the option byte function.
Before supplying power to the target system, connect a dedicated flash memory programmer and turn its power on.
If the power is supplied to the target system beforehand, it cannot be switched to the flash memory programming
mode.
User’s Manual U18172EJ3V0UD
224
CHAPTER 16 FLASH MEMORY
16.1 Features
The internal flash memory of the 78K0S/KU1+ has the following features.
{ Erase/write even without preparing a separate dedicated power supply
{ Capacity: 1/2/4 KB
Erase unit: 1 block (256 bytes)
Write unit: 1 block (at onboard/offboard programming time), 1 byte (at self programming time)
{ Rewriting method
Rewriting by communication with dedicated flash memory programmer (on-board/off-board programming)
Rewriting flash memory by user program (self programming)
{ Supports rewriting of the flash memory at onboard/offboard programming time through security functions
{ Supports security functions in block units at self programming time through protect bytes
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 225
16.2 Memory Configuration
The 1/2/4 KB internal flash memory area is divided into 4/8/16 blocks and can be programmed/erased in block
units. All the blocks can also be erased at once, by using a dedicated flash memory programmer.
Figure 16-1. Flash Memory Mapping
Special function resister
(256 byte)
Internal high-speed RAM
(128 byte)
Flash memory
(1/2/4 KB)
FFFFH
FF00H
FEFFH
0000H
Use prohibited
FE80H
FE7FH
1 KB
Block 0 (256 bytes)
Block 1 (256 bytes)
Block 2 (256 bytes)
Block 3 (256 bytes)
μ
PD78F9200, 78F9500
0000H
0100H
00FFH
Block 0 (256 bytes)
Block 1 (256 bytes)
Block 2 (256 bytes)
Block 3 (256 bytes)
Block 4 (256 bytes)
Block 5 (256 bytes)
Block 6 (256 bytes)
Block 7 (256 bytes)
Block 0 (256 bytes)
Block 1 (256 bytes)
Block 2 (256 bytes)
Block 3 (256 bytes)
Block 4 (256 bytes)
Block 5 (256 bytes)
Block 6 (256 bytes)
Block 7 (256 bytes)
Block 8 (256 bytes)
Block 9 (256 bytes)
Block 10 (256 bytes)
Block 11 (256 bytes)
Block 12 (256 bytes)
Block 13 (256 bytes)
Block 14 (256 bytes)
Block 15 (256 bytes)
2 KB 4 KB
0200H
01FFH
0300H
02FFH
0400H
03FFH
0500H
04FFH
0600H
05FFH
0700H
06FFH
0800H
07FFH
0900H
08FFH
0A00H
09FFH
0B00H
0AFFH
0C00H
0BFFH
0D00H
0CFFH
0E00H
0DFFH
0F00H
0EFFH
0FFFH
μ
PD78F9201, 78F9501
μ
PD78F9202, 78F9502
16.3 Functional Outline
The internal flash memory of the 78K0S/KU1+ can be rewritten by using the rewrite function of the dedicated flash
memory programmer, regardless of whether the 78K0S/KU1+ has already been mounted on the target system or not
(on-board/off-board programming).
The function for rewriting a program with the user program (self programming), which is ideal for an application
when it is assumed that the program is changed after production/shipment of the target system, is provided.
Refer to Table 16-1 for the flash memory writing control function.
In addition, a security function that prohibits rewriting the user program written to the internal flash memory is also
supported, so that the program cannot be changed by an unauthorized person.
Refer to 16.7.3 Security settings for details on the security function.
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
226
Table 16-1. Rewrite Method
Rewrite Method Functional Outline Operation Mode
On-board programming Flash memory can be rewritten after the device is mounted on the
target system, by using a dedicated flash memory programmer.
Off-board programming Flash memory can be rewritten before the device is mounted on the
target system, by using a dedicated flash memory programmer and a
dedicated program adapter board (FA series).
Flash memory
programming mode
Self programming Flash memory can be rewritten by executing a user program that has
been written to the flash memory in advance by means of on-board/off-
board programming.
Self programming mode
Remarks 1. The FA series is a product of Naito Densei Machida Mfg. Co., Ltd.
2. Refer to the following sections for details on the flash memory writing control function.
16.7 On-Board and Off-Board Flash Memory Programming
16.8 Flash Memory Programming by Self Programming
16.4 Writing with Flash Memory Programmer
The following two types of dedicated flash memory programmers can be used for writing data to the internal flash
memory of the 78K0S/KU1+.
FlashPro5 (PG-FP5, FL-PR5)
QB-MINI2
Data can be written to the flash memory on-board or off-board, by using a dedicated flash memory programmer.
(1) On-board programming
The contents of the flash memory can be rewritten after the 78K0S/KU1+ have been mounted on the target
system. The connectors that connect the dedicated flash memory programmer and the test pad must be
mounted on the target system. The test pad is required only when writing data with the crystal/ceramic resonator
mounted (refer to Figure 16-4 for mounting of the test pad).
(2) Off-board programming
Data can be written to the flash memory with a dedicated program adapter (FA series) before the 78K0S/KU1+ is
mounted on the target system.
Remark The FL-PR5 and FA series are products of Naito Densei Machida Mfg. Co., Ltd.
<R>
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 227
16.5 Programming Environment
The environment required for writing a program to the flash memory is illustrated below.
Figure 16-2. Environment for Writing Program to Flash Memory (FlashPro5/QB-MINI2)
78K0S/KU1+
RS-232-C
USB
Host machine
RESET
CLK
SO/TxD
Dedicated flash memory
programmer
FlashPro5 QB-MINI2
VDD
VSS
Remark For QB-MINI2, the name of the SO/TxD signal is DATA.
A host machine that controls the dedicated flash memory programmer is necessary. When using the PG-FP5 or
FL-PR5, data can be written with just the dedicated flash memory programmer after downloading the program from
the host machine.
UART is used for manipulation such as writing and erasing when interfacing between the dedicated flash memory
programmer and the 78K0S/KU1+. To write the flash memory off-board, a dedicated program adapter (FA series) is
necessary.
Download the latest firmware for flash memory programmer, programming GUI, and parameter file from the
download site for development tools (http://www.necel.com/micro/en/ods/).
<R>
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
228
Table 16-2. Wiring Between 78K0S/KU1+ and FlashPro5/QB-MINI2
FlashPro5/QB-MINI2 Connection Pin 78K0S/KU1+ Connection Pin
Pin Name Pin Name I/O Pin Function
μ
PD78F920x
μ
PD78F950x
CLK Output Clock to 78K0S/KU1+ X1/P23/ANI3 EXCLK/P23
SO/TxD Output Receive signal/on-board mode signal X2/P22/ANI2 P22
/RESET Output Reset signal RESET/P34 RESET/P34
VDDVDD voltage generation/voltage monitor VDD VDD
GND – Ground VSS VSS
Figure 16-3. Wiring diagram with FlashPro5/QB-MINI2
78K0S/KU1+
CLK
SO/TxD
/RESET
GND
1
2
3
4
5
10
9
8
7
6
FlashPro5/
QB-MINI2 signal name
V
DD
Remark For QB-MINI2, the name of the SO/TxD signal is DATA.
<R>
<R>
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 229
16.6 Processing of Pins on Board
To write the flash memory on-board, connectors that connect the dedicated flash memory programmer must be
provided on the target system. First provide a function that selects the normal operation mode or flash memory
programming mode on the board.
When the flash memory programming mode is set, all the pins not used for programming the flash memory are in
the same status as immediately after reset. Therefore, if the external device does not recognize the state immediately
after reset, the pins must be processed as described below.
The state of the pins in the self programming mode is the same as that in the HALT mode.
16.6.1 X1 and X2 pins (
μ
PD78F920x)
The X1 and X2 pins are used as the serial interface of flash memory programming. Therefore, if the X1 and X2
pins are connected to an external device, a signal conflict occurs. To prevent the conflict of signals, isolate the
connection with the external device.
When connected a capacitor to X1 and X2 pins, waveform at the time of communication is changed. Therefore
there is a possibility that cannot communicate depending on capacitor capacitance. When perform flash memory
programming, isolate connection with a condenser.
Perform the following processing (1) and (2) when on-board programming is performed with the resonator mounted,
when it is difficult to isolate the resonator, while a crystal or ceramic resonator is selected as the system clock.
(1) Mount the minimum-possible test pads between the device and the resonator, and connect the flash memory
programmer via the test pad. Keep the wiring as short as possible (refer to Figure 16-4 and Table 16-3).
(2) Set the oscillation frequency of the communication clock for writing using the programming GUI of the
dedicated flash memory programmer. Research the series/parallel resonant and antiresonant frequencies of
the resonator used, and set the oscillation frequency so that it is outside the range of the resonant frequency
±10% (refer to Figure 16-5 and Table 16-4).
Figure 16-4. Example of Mounting Test Pads
X2X1VSS
Test pad
Table 16-3. Clock to Be Used and Mounting of Test Pads
Clock to Be Used Mounting of Test Pads
High-speed internal oscillation clock
External clock
Before resonator is mounted
Not required
Crystal/ceramic oscillation
clock After resonator is mounted Required
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
230
Set oscillation fre
q
uenc
y
Click
Figure 16-5. PG-FP5 Programming GUI Setting Example
Table 16-4. Oscillation Frequency and PG-FP5 Programming GUI Setting Value Example
Oscillation Frequency PG-FP5 GUI Software Setting Value Example
(Communication Frequency)
2 MHz fX < 4 MHz 8 MHz
4 MHz fX < 8 MHz 9 MHz
8 MHz fX < 9 MHz 10 MHz
9 MHz fX 10 MHz 8 MHz
Caution The above values are recommended values. Depending on the usage environment these
values may change, so set them after having performed sufficient evaluations.
16.6.2 EXCLK pin (
μ
PD78F950x)
The EXCLK pin is used as the serial interface of flash memory programming. Therefore, if the EXCLK pin is
connected to an external device, a signal conflict occurs. To prevent the conflict of signals, isolate the connection with
the external device.
When connected a capacitor to the EXCLK pin, waveform at the time of communication is changed. Therefore
there is a possibility that cannot communicate depending on capacitor capacitance. When perform flash memory
programming, isolate connection with a condenser.
(Main window)
(Standard tab in Device setup window)
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 231
16.6.3 RESET pin
If the reset signal of the dedicated flash memory programmer is connected to the RESET pin that is connected to
the reset signal generator on the board, signal collision takes place. To prevent this collision, isolate the connection
with the reset signal generator.
If the reset signal is input from the user system while the flash memory programming mode is set, the flash
memory will not be correctly programmed. Do not input any signal other than the reset signal of the dedicated flash
memory programmer.
Figure 16-6. Signal Collision (RESET Pin)
RESET
Dedicated flash programmer
connection signal
Reset signal generator
Signal collision
Output pin
In the flash memory programming mode, the signal output by the reset
signal generator collides with the signal output by the dedicated flash
programmer. Therefore, isolate the signal of the reset signal generator.
78K0S/KU1+
16.6.4 Port pins
When the flash memory programming mode is set, all the pins not used for flash memory programming enter the
same status as that immediately after reset. If external devices connected to the ports do not recognize the port
status immediately after reset, the port pin must be connected to VDD or VSS via a resistor.
The state of the pins in the self programming mode is the same as that in the HALT mode.
16.6.5 Power supply
Connect the VDD pin to VDD of the flash memory programmer, and the VSS pin to VSS of the flash memory
programmer.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
232
16.7 On-Board and Off-Board Flash Memory Programming
16.7.1 Flash memory programming mode
To rewrite the contents of the flash memory by using the dedicated flash memory programmer, set the
78K0S/KU1+ in the flash memory programming mode. When the 78K0S/KU1+ are connected to the flash memory
programmer and a communication command is transmitted to the microcontroller, the microcontroller is set in the flash
memory programming mode.
Change the mode by using a jumper when writing the flash memory on-board.
16.7.2 Communication commands
The dedicated flash memory programmer controls the 78K0S/KU1+ by using commands. The signals sent from
the flash memory programmer to the 78K0S/KU1+ are called communication commands, and the commands sent
from the 78K0S/KU1+ to the dedicated flash memory programmer are called response.
Figure 16-7. Communication Commands
Communication
command
Response
78K0S/KU1+
Dedicated flash memory
programmer
FlashPro5 QB-MINI2
Communication commands are listed in the table below. All these communication commands are issued from the
programmer and the 78K0S/KU1+ perform processing corresponding to the respective communication commands.
Table 16-5. Communication Commands
Classification Communication Command Name Function
Batch erase (chip erase) command Erases the contents of the entire memory Erase
Block erase command Erases the contents of the memory of the specified block
Write Write command Writes to the specified address range and executes a verify
check of the contents.
Checksum Checksum command Reads the checksum of the specified address range and
compares with the written data.
Blank check Blank check command Confirms the erasure status of the entire memory.
Security Security set command Prohibits batch erase (chip erase) command, block erase
command, and write command to prevent operation by third
parties.
The 78K0S/KU1+ returns a response for the communication command issued by the dedicated flash memory
programmer. The response name sent from the 78K0S/KU1+ are listed below.
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 233
Table 16-6. Response Name
Command Name Function
ACK Acknowledges command/data.
NAK Acknowledges illegal command/data.
16.7.3 Security settings
The operations shown below can be prohibited using the security setting command.
Batch erase (chip erase) is prohibited
Execution of the block erase and batch erase (chip erase) commands for entire blocks in the flash memory is
prohibited. Once execution of the batch erase (chip erase) command is prohibited, all the prohibition settings can
no longer be cancelled.
Caution After the security setting of the batch erase is set, erasure cannot be performed for the device.
In addition, even if a write command is executed, data different from that which has already
been written to the flash memory cannot be written because the erase command is disabled.
Block erase is prohibited
Execution of the block erase command in the flash memory is prohibited. This prohibition setting can be
cancelled using the batch erase (chip erase) command.
Write is prohibited
Execution of the write and block erase commands for entire blocks in the flash memory is prohibited. This
prohibition setting can be cancelled using the batch erase (chip erase) command.
Remark The security setting is valid when the programming mode is set next time.
The batch erase (chip erase), block erase, and write commands are enabled by the default setting when the flash
memory is shipped. The above security settings are possible only for on-board/off-board programming. Each security
setting can be used in combination.
Table 16-7 shows the relationship between the erase and write commands when the 78K0S/KU1+ security function
is enabled.
Table 16-7. Relationship Between Commands When Security Function Is Enabled
Command
Security
Batch Erase (Chip
Erase) Command
Block Erase
Command
Write Command
When batch erase (chip erase) security
operation is enabled
Disabled EnabledNote
When block erase security operation is
enabled
Enabled
When write security operation is enabled
Enabled
Disabled
Disabled
Note Since the erase command is disabled, data different from that which has already been written to the
flash memory cannot be written.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
234
Table 16-8 shows the relationship between the security setting and the operation in each programming mode.
Table 16-8. Relationship Between Security Setting and Operation In Each Programming Mode
On-Board/Off-Board Programming Self Programming Programming Mode
Security Setting Security Setting Security Operation Security Setting Security Operation
Batch erase (chip erase)
Block erase
Write
Possible ValidNote 1 Impossible InvalidNote 2
Notes 1. Execution of each command is prohibited by the security setting.
2. Execution of self programming command is possible regardless of the security setting.
16.8 Flash Memory Programming by Self Programming
The 78K0S/KU1+ support a self programming function that can be used to rewrite the flash memory via a user
program, making it possible to upgrade programs in the field.
Caution Self programming processing must be included in the program before performing self
programming.
Remarks 1. For usages of self programming, refer to use example mentioned in after 16.8.4.
2. To use the internal flash memory of the 78K0S/KU1+ as the external EEPROM for storing data,
refer to 78K0S/Kx1+ EEPROM Emulation Application Note (U17379E).
16.8.1 Outline of self programming
To execute self programming, shift the mode from the normal operation of the user program (normal mode) to the
self programming mode. Write/erase processing for the flash memory, which has been set to the register in advance,
is performed by executing the HALT instruction during self programming mode. The HALT state is automatically
released when processing is completed.
To shift to the self programming mode, execute a specific sequence for a specific register. Refer to 16.8.4
Example of shifting normal mode to self programming mode for details.
Remark Data written by self programming can be referenced with the MOV instruction.
Table 16-9. Self Programming Mode
Mode User Program Execution Execution of Write/erase for Flash
Memory with HALT Instruction
Normal mode Enabled
Self programming mode EnabledNote Enabled
Note Maskable interrupt servicing is disabled during self programming mode.
Figure 16-8 shows a block diagram for self programming, Figure 16-9 shows the self programming state transition
diagram, Table 16-10 lists the commands for controlling self programming.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 235
Flash programming mode
control register (FLPMC)
Flash protect command
register (PFCMD)
Self programming mode setting register
Self programming mode
setting sequencer
HALT signal
Self programming command execution
Flash memory controller
Verify
circuit
Write
circuit
Erase
circuit
WEPRERR
VCERR
FPRERR
HALT release signal
FLCMD2 FLCMD1 FLCMD0
Internal bus
Flash programming command
register (FLCMD)
Increment
circuit
Flash memory
Protect byte
PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0
5
Flash address
pointer H (FLAPH)
Flash address
pointer L (FLAPL)
Flash address pointer H
compare register
(FLAPHC)
Match
Match
Flash address pointer L
compare register
(FLAPLC)
Flash write buffer register
(FLW)
Unmatch
Internal bus
Flash status register (PFS)
3
Figure 16-8. Block Diagram of Self Programming
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
236
Figure 16-9. Self Programming State Transition Diagram
Register for
self programming
Self programming mode
Self programming
command under execution
Normal mode
User program
Operation
setting
Operation reference
Flash memory
Flash memory
control block (hardware)
Specific sequence
Self programming
command completion/error
Self programming command
execution by HALT instruction
Operation setting
Table 16-10. Self Programming Controlling Commands
Command Name Function Time Taken from HALT Instruction Execution
to Command Execution End
Internal verify 1 This command is used to check if data has been
correctly written to the flash memory. It is used to
check whether data has been written to an entire
block.
Internal verify for 1 block (internal verify
command executed once): 6.8 ms
Internal verify 2 This command is used to check if data has been
correctly written to the flash memory. It is used to
check whether data has been written in the same
block.
Internal verify for 1 byte: 27
μ
s
Block erasureNote This command is used to erase a specified block.
Specify the block number before execution.
8.5 ms
Block blank check This command is used to check if data in a specified
block has been erased. Specify the block number,
then execute this command.
480
μ
s
Byte write This command is used to write 1-byte data to the
specified address in the flash memory. Specify the
write address and write data, then execute this
command.
150
μ
s
Note Set the number of retrials larger than the block erasure time divided by the time (8.5 ms) for one erase, in
accordance with the time (MAX. value) required for flash memory block erasures.
Remark The command internal verify 1 can be executed by specifying an address in the same block but internal
verify 2 is recommended if data is written to two or more addresses in the same block.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 237
16.8.2 Cautions on self programming function
No instructions can be executed while a self programming command is being executed. Therefore, clear and
restart the watchdog timer counter in advance so that the watchdog timer does not overflow during self
programming. Refer to Table 16-10 for the time taken for the execution of self programming.
Interrupts that occur during self programming can be acknowledged after self programming mode ends. To avoid
this operation, disable interrupt servicing (by setting MK0 to FFH, and executing the DI instruction) before a
mode is shifted from the normal mode to the self programming mode with a specific sequence.
RAM is not used while a self programming command is being executed.
If the supply voltage drops or the reset signal is input while the flash memory is being written or erased,
writing/erasing is not guaranteed.
The value of the blank data set during block erasure is FFH.
Set the CPU clock so that it is 1 MHz or more during self programming.
Execute the NOP and HALT instructions immediately after executing a specific sequence to set self-programming
mode, then execute self programming. At this time, the HALT instruction is automatically released after 10
μ
s
(MAX.) + 2 CPU clocks (fCPU).
If the clock of the oscillator or an external clock is selected as the system clock, execute the NOP and HALT
instructions immediately after executing a specific sequence to set self-programming mode, wait for 8
μ
s after
releasing the HALT status, and then execute self programming.
Check FPRERR using a 1-bit memory manipulation instruction.
The state of the pins in self programming mode is the same as that in HALT mode.
Since the security function set via on-board/off-board programming is disabled in self programming mode, the
self programming command can be executed regardless of the security function setting. To disable write or erase
processing during self programming, set the protect byte.
Be sure to clear bits 4 to 7 of flash address pointer H (FLAPH) and flash address pointer H compare register
(FLAPHC) to 0 before executing the self programming command. If the value of these bits is 1 when executing
the self programming command, there is a possibility that device does not operate normally.
Clear the value of the FLCMD register to 00H immediately before setting self-programming mode and normal
operation mode.
16.8.3 Registers used for self-programming function
The following registers are used for the self-programming function.
Flash programming mode control register (FLPMC)
Flash protect command register (PFCMD)
Flash status register (PFS)
Flash programming command register (FLCMD)
Flash address pointers H and L (FLAPH and FLAPL)
Flash address pointer H compare register and flash address pointer L compare register (FLAPHC and FLAPLC)
Flash write buffer register (FLW)
The 78K0S/KU1+ has an area called a protect byte at address 0081H of the flash memory.
(1) Flash programming mode control register (FLPMC)
This register is used to set the operation mode when data is written to the flash memory in the self-
programming mode, and to read the set value of the protect byte.
Data can be written to FLPMC only in a specific sequence (refer to 16.8.3 (2) Flash protect command
register (PFCMD)) so that the application system does not stop by accident because of malfunction due to
noise or program hang-up.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
238
This register is set with an 8-bit memory manipulation instruction.
Reset signal generation makes the contents of this register undefined.
Figure 16-10. Format of Flash Programming Mode Control Register (FLPMC)
Address: FFA2H After reset: UndefinedNote 1 R/WNote 2
Symbol 7 6 5 4 3 2 1 0
FLPMC 0 PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0 0 FLSPM
FLSPM Selection of operation mode during self-programming mode
0
Normal mode
This is the normal operation status. Executing the HALT instruction sets
standby status.
1
Self-programming mode
Self programming commands can be executed by executing the specific
sequence to change modes while in normal mode.
Set a command, an address, and data to be written, then execute the HALT
instruction to execute self programming.
PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0 The set value of the protect byte
is read to these bits.
Notes 1. Bit 0 (FLSPM) is cleared to 0 when reset is released. The set value of the protect
byte is read to bits 2 to 6 (PRSELF0 to PRSELF4) after reset is released.
2. Bits 2 to 6 (PRSELF0 to PRSELF4) are read-only.
Cautions 1. Cautions in the case of setting the self programming mode, refer to 16.8.2
Cautions on self programming function.
2. Set the CPU clock so that it is 1 MHz or more during self programming.
3. Execute the NOP and HALT instructions immediately after executing a
specific sequence to set self-programming mode, then execute self
programming. At this time, the HALT instruction is automatically released
after 10
μ
s (MAX.) + 2 CPU clocks (fCPU).
4. If the clock of the oscillator or an external clock is selected as the system
clock, execute the NOP and HALT instructions immediately after executing a
specific sequence to set self-programming mode, wait for 8 µs after
releasing the HALT status, and then execute self programming.
5. Clear the value of the FLCMD register to 00H immediately before setting self-
programming mode and normal operation mode.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 239
(2) Flash protect command register (PFCMD)
If the application system stops inadvertently due to malfunction caused by noise or program hang-up, an
operation to write the flash programming mode control register (FLPMC) may have a serious effect on the
system. PFCMD is used to protect FLPMC from being written, so that the application system does not stop
inadvertently.
Writing FLPMC is enabled only when a write operation is performed in the following specific sequence.
<1> Write a specific value to PFCMD (A5H)
<2> Write the value to be set to bit 0 (FLSPM) of the FLPMC (writing in this step is invalid)
<3> Write the inverted value of the value to be set to bit 0 (FLSPM) of the FLPMC (writing in this step is
invalid)
<4> Write the value to be set to bit 0 (FLSPM) of the FLPMC (writing in this step is valid)
Caution Interrupt servicing cannot be executed in self-programming mode. Disable interrupt
servicing (by executing the DI instruction while MK0 = FFH) before executing the specific
sequence that sets self-programming mode and after executing the specific sequence that
changes the mode to the normal mode.
This rewrites the value of the register, so that the register cannot be written illegally.
Occurrence of an illegal store operation can be checked by bit 0 (FPRERR) of the flash status register (PFS).
Check FPRERR using a 1-bit memory manipulation instruction.
A5H must be written to PFCMD each time the value of FLPMC is changed.
PFCMD can be set by an 8-bit memory manipulation instruction.
Reset signal generation makes PFCMD undefined.
Figure 16-11. Format of Flash Protect Command Register (PFCMD)
Address: FFA0H After reset: Undefined W
Symbol 7 6 5 4 3 2 1 0
PFCMD REG7 REG6 REG5 REG4 REG3 REG2 REG1 REG0
(3) Flash status register (PFS)
If data is not written to the flash programming mode control register (FLPMC), which is protected, in the correct
sequence (writing the flash protect command register (PFCMD)), FLPMC is not written and a protection error
occurs. If this happens, bit 0 of PFS (FPRERR) is set to 1.
When FPRERR is 1, it can be cleared to 0 by writing 0 to it.
Errors that may occur during self-programming are reflected in bit 1 (VCERR) and bit 2 (WEPRERR) of PFS.
VCERR or WEPRERR can be cleared by writing 0 to them.
All the flags of the PFS register must be pre-cleared to 0 to check if the operation is performed correctly.
PFS can be set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears PFS to 00H.
Caution Check FPRERR using a 1-bit memory manipulation instruction.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
240
Figure 16-12. Format of Flash Status Register (PFS)
Address: FFA1H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
PFS 0 0 0 0 0
WEPRERR VCERR FPRERR
1. Operating conditions of FPRERR flag
<Setting conditions>
If PFCMD is written when the store instruction operation recently performed on a peripheral register is not to
write a specific value (A5H) to FLPMC
If the first store instruction operation after <1> is on a peripheral register other than FLPMC
If the first store instruction operation after <2> is on a peripheral register other than FLPMC
If a value other than the inverted value of the value to be set to FLPMC is written by the first store instruction
after <2>
If the first store instruction operation after <3> is on a peripheral register other than FLPMC
If a value other than the value to be set to FLPMC (value written in <2>) is written by the first store instruction
after <3>
Remark The numbers in angle brackets above correspond to the those in (2) Flash protect command
register (PFCMD).
<Reset conditions>
If 0 is written to the FPRERR flag
If the reset signal is generation
2. Operating conditions of VCERR flag
<Setting conditions>
Erasure verification error
Internal writing verification error
If VCERR is set, it means that the flash memory has not been erased or written correctly. Erase or write the
memory again in the specified procedure.
Remark The VCERR flag may also be set if an erase or write protect error occurs.
<Reset conditions>
When 0 is written to the VCERR flag
When the reset signal generation
3. Operating conditions of WEPRERR flag
<Setting conditions>
If the area specified by the protect byte to be protected from erasing or writing is specified by the flash
address pointer H (FLAPH) and a command is executed to this area
If 1 is written to a bit that has not been erased (a bit for which the data is 0).
<Reset conditions>
When 0 is written to the WEPRERR flag
When the reset signal generation
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 241
(4) Flash programming command register (FLCMD)
This register is used to specify whether the flash memory is erased, written, or verified in the self-programming
mode.
This register is set by using a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears this register to 00H.
Figure 16-13. Format of Flash Programming Command Register (FLCMD)
Address: FFA3H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
FLCMD 0 0 0 0 0 FLCMD2 FLCMD1 FLCMD0
FLCMD2 FLCMD1 FLCMD0 Command Name Function
0 0 1
Internal verify 1 This command is used to check if
data has been correctly written to the
flash memory. It is used to check
whether data has been written to an
entire block. If an error occurs, bit 1
(VCERR) or bit 2 (WEPRERR) of the
flash status register (PFS) is set to 1.
Internal verify 2 This command is used to check if
data has been correctly written to the
flash memory. It is used to check
whether data has been written in the
same block. If an error occurs, bit 1
(VCERR) or bit 2 (WEPRERR) of the
flash status register (PFS) is set to 1.
0 1 1
Block erase This command is used to erase
specified block. It is used both in the
on-board mode and self-
programming mode.
1 0 0
Block blank check This command is used to check if the
specified block has been erased.
1 0 1
Byte write This command is used to write 1-byte
data to the specified address in the
flash memory. Specify the write
address and write data, then execute
this command.
If 1 is written to a bit that has not
been erased (a bit for which the data
is 0), then bit 2 (WEPRERR) of the
flash status register (PFS) becomes
1.
Other than aboveNote Setting prohibited
Note If any command other than those above is executed, command execution may immediately be
terminated, and bit 1 or 2 (WEPRERR or VCERR) of the flash status register (PFS) may be set to 1.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
242
(5) Flash address pointers H and L (FLAPH and FLAPL)
These registers are used to specify the start address of the flash memory when the memory is erased, written,
or verified in the self-programming mode.
FLAPH and FLAPL consist of counters, and they are incremented until the values match with those of
FLAPHC and FLAPLC when the programming command is not executed. When the programming command
is executed, therefore, set the value again.
These registers are set with a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation makes these registers undefined.
Figure 16-14. Format of Flash Address Pointer H/L (FLAPH/FLAPL)
Address: FFA4H, FFA5H After reset: Undefined R/W
FLAPH (FFA5H) FLAPL (FFA4H)
0 0 0 0 FLA
P11
FLA
P10
FLA
P9
FLA
P8
FLA
P7
FLA
P6
FLA
P5
FLA
P4
FLA
P3
FLA
P2
FLA
P1
FLA
P0
Caution Be sure to clear bits 4 to 7 of FLAPH and FLAPHC to 0 before executing the self
programming command. If the self programming command is executed with these bits
set to 1, the device may malfunction.
(6) Flash address pointer H compare register and flash address pointer L compare register (FLAPHC and
FLAPLC)
These registers are used to specify the address range in which the internal sequencer operates when the flash
memory is verified in the self-programming mode.
Set FLAPHC to the same value as that of FLAPH. Set the last address of the range in which verification is to
be executed to FLAPLC.
These registers are set by a 1-bit or 8-bit memory manipulation instruction.
Reset signal generation clears these registers to 00H.
Figure 16-15. Format of Flash Address Pointer H/L Compare Registers (FLAPHC/FLAPLC)
Address: FFA6H, FFA7H After reset: 00H R/W
FLAPHC (FFA6H) FLAPLC (FFA7H)
0 0 0 0 FLAP
C11
FLAP
C10
FLAP
C9
FLAP
C8
FLAP
C7
FLAP
C6
FLAP
C5
FLAP
C4
FLAP
C3
FLAP
C2
FLAP
C1
FLAP
C0
Cautions 1. Be sure to clear bits 4 to 7 of FLAPH and FLAPHC to 0 before executing the self
programming command. If the self programming command is executed with these bits
set to 1, the device may malfunction.
2. Set the number of the block subject to a block erase, verify, or blank check (same
value as FLAPH) to FLAPHC.
3. Clear FLAPLC to 00H when a block erase is performed, and set this register to FFH
when a blank check is performed.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 243
(7) Flash write buffer register (FLW)
This register is used to store the data to be written to the flash memory.
This register is set with an 8-bit memory manipulation instruction.
Reset signal generation clears these registers to 00H.
Figure 16-16. Format of Flash Write Buffer Register (FLW)
Address: FFA8H After reset: 00H R/W
Symbol 7 6 5 4 3 2 1 0
FLW FLW7 FLW6 FLW5 FLW4 FLW3 FLW2 FLW1 FLW0
(8) Protect byte
This protect byte is used to specify the area that is to be protected from writing or erasing. The specified area
is valid only in the self-programming mode. Because self-programming of the protected area is invalid, the data
written to the protected area is guaranteed.
Figure 16-17. Format of Protect Byte (1/2)
Address: 0081H
7 6 5 4 3 2 1 0
1 PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0 1 1
μ
PD78F9200, 78F9500
PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0 Status
0 1 1 1 0 Blocks 3 to 0 are protected.
0 1 1 1 1
Blocks 1 and 0 are protected.
Blocks 2 and 3 can be written or erased.
1 1 1 1 1 All blocks can be written or erased.
Other than above Setting prohibited
μ
PD78F9201, 78F9501
PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0 Status
0 1 1 0 0 Blocks 7 to 0 are protected.
0 1 1 0 1
Blocks 5 to 0 are protected.
Blocks 6 and 7 can be written or erased.
0 1 1 1 0
Blocks 3 to 0 are protected.
Blocks 4 to 7 can be written or erased.
0 1 1 1 1
Blocks 1 and 0 are protected.
Blocks 2 to 7 can be written or erased.
1 1 1 1 1 All blocks can be written or erased.
Other than above Setting prohibited
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
244
Figure 16-17. Format of Protect Byte (2/2)
μ
PD78F9202, 78F9502
PRSELF4 PRSELF3 PRSELF2 PRSELF1 PRSELF0 Status
0 1 0 0 0 Blocks 15 to 0 are protected.
0 1 0 0 1
Blocks 13 to 0 are protected.
Blocks 14 and 15 can be written or erased.
0 1 0 1 0
Blocks 11 to 0 are protected.
Blocks 12 to 15 can be written or erased.
0 1 0 1 1
Blocks 9 to 0 are protected.
Blocks 10 to 15 can be written or erased.
0 1 1 0 0
Blocks 7 to 0 are protected.
Blocks 8 to 15 can be written or erased.
0 1 1 0 1
Blocks 5 to 0 are protected.
Blocks 6 to 15 can be written or erased.
0 1 1 1 0
Blocks 3 to 0 are protected.
Blocks 4 to 15 can be written or erased.
0 1 1 1 1
Blocks 1 and 0 are protected.
Blocks 2 to 15 can be written or erased.
1 1 1 1 1 All blocks can be written or erased.
Other than above Setting prohibited
16.8.4 Example of shifting normal mode to self programming mode
The operating mode must be shifted from normal mode to self programming mode before performing self
programming.
An example of shifting to self programming mode is explained below.
<1> Disable interrupts if the interrupt function is used (by setting the interrupt mask flag registers (MK0) to FFH
and executing the DI instruction).
<2> Clear FLCMD (FLCMD=00H).
<3> Clear the flash status register (PFS).
<4> Set self programming mode using a specific sequence.Note
Write a specific value (A5H) to PFCMD.
Write 01H to FLPMC (writing in this step is invalid).
Write 0FEH (inverted value of 01H) to FLPMC (writing in this step is invalid).
Write 01H to FLPMC (writing in this step is valid).
<5> Execute NOP instruction and HALT instruction.
<6> Check the execution result of the specific sequence using bit 0 (FPRERR) of PFS.
Abnormal <3>, normal <7>
<7> Mode shift is completed.
Note Set the CPU clock so that it is 1 MHz or more during self programming.
Caution Be sure to perform the series of operations described above using the user program at an
address where data is not erased or written.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 245
Figure 16-18. Example of Shifting to Self Programming Mode
Shift to self programming mode
<1> Disable interrupts (by setting
MK0 to FFH and executing DI
PFCMD = A5H
; When interrupt function is used
<3> Clear PFS
FLPMC = 01H (set value)
FLPMC = 0FEH (inverted set value)
FLPMC = 01H (set value)
; Set value is invalid
; Set value is valid
<4>
instruction)
<2> Clear FLCMD
(FLCMD=00H).
<6> Check execution result
(FPRERR flag)
Abnormal
Normal
<7> Termination
NOP instruction
HALT instruction
<5>
Caution Be sure to perform the series of operations described above using the user program at an
address where data is not erased or written.
Remark <1> to <7> in Figure 16-18 correspond to <1> to <7> in 16.8.4 (previous page).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
246
An example of the program that shifts the mode to self programming mode is shown below.
;----------------------------
;START
;----------------------------
MOV MK0,#11111111B ; Masks all interrupts
MOV FLCMD,#00H ; Clear FLCMD register
DI
ModeOnLoop: ; Configure settings so that the CPU clock 1 MHz
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#01H ; FLPMC register control (sets value)
MOV FLPMC,#0FEH ; FLPMC register control (inverts set value)
MOV FLPMC,#01H ; Sets self programming mode with FLPMC register
; control (sets value)
NOP
HALT
BT PFS.0,$ModeOnLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
;----------------------------
;END
;----------------------------
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 247
16.8.5 Example of shifting self programming mode to normal mode
The operating mode must be returned from self programming mode to normal mode after performing self
programming.
An example of shifting to normal mode is explained below.
<1> Clear FLCMD (FLCMD=00H).
<2> Clear the flash status register (PFS).
<3> Set normal mode using a specific sequence.
Write the specific value (A5H) to PFCMD.
Write 00H to FLPMC (writing in this step is invalid)
Write 0FFH (inverted value of 00H) to FLPMC (writing in this step is invalid)
Write 00H to FLPMC (writing in this step is valid)
<4> Check the execution result of the specific sequence using bit 0 (FPRERR) of PFS.
Abnormal <2>, normal <5>
<5> Enable interrupt servicing (by executing the EI instruction and changing MK0) to restore the original state.
<6> Mode shift is completed
Note After the specific sequence is correctly executed, restore the CPU clock to its setting before the self
programming.
Caution Be sure to perform the series of operations described above using the user program at an
address where data is not erased or written.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
248
Figure 16-19. Example of Shifting to Normal Mode
Shift to normal mode
PFCMD = A5H
<4> Check execution result
(FPRERR flag)
Abnormal
Normal
<2> Clear PFS
<6> Termination
FLPMC = 00H (set value)
FLPMC = 0FFH (inverted set value)
FLPMC = 00H (set value)
; Set value is invalid
; Set value is valid
<5> Enable interrupts
(by executing EI instruction
and changing MK0)
; When interrupt function is used
<3>
<1> Clear FLCMD (FLCMD=00H)
Restore the CPU clock to its setting
before the self programming
Caution Be sure to perform the series of operations described above using the user program at an
address where data is not erased or written.
Remark <1> to <6> in Figure 16-19 correspond to <1> to <6> in 16.8.5 (previous page).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 249
An example of a program that shifts the mode to normal mode is shown below.
;----------------------------
;START
;----------------------------
MOV FLCMD,#00H ; Clear FLCMD register
ModeOffLoop:
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#00H ; FLPMC register control (sets value)
MOV FLPMC,#0FFH ; FLPMC register control (inverts set value)
MOV FLPMC,#00H ; Sets normal mode via FLPMC register control (sets value)
BT PFS.0,$ModeOffLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs
; Restore the CPU clock to its setting before the self
; programming
MOV MK0,#INT_MK0 ; Restores interrupt mask flag
EI
;----------------------------
;END
;----------------------------
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
250
16.8.6 Example of block erase operation in self programming mode
An example of the block erase operation in self programming mode is explained below.
<1> Set 03H (block erase) to the flash program command register (FLCMD).
<2> Set the block number to be erased, to flash address pointer H (FLAPH).
<3> Set flash address pointer L (FLAPL) to 00H.
<4> Write the same value as FLAPH to the flash address pointer H compare register (FLAPHC).
<5> Set the flash address pointer L compare register (FLAPLC) to 00H.
<6> Clear the flash status register (PFS).
<7> Write ACH to the watchdog timer enable register (WDTE) (clear and restart the watchdog timer counter)Note 1.
<8> Execute the HALT instruction then start self programming. (Execute an instruction immediately after the
HALT instruction if self programming has been executed.)
<9> Check if a self programming error has occurred using bit 1 (VCERR) and bit 2 (WEPRERR) of PFSNote 2.
Abnormal <10>
Normal <12>
<10> If the number of times the erase command can be executed has not been exceeded, return to step <6> and
re-execute the command. If the number of times the erase command can be executed has been exceeded,
block erasure ends abnormally.
<11> Block erase processing is abnormally terminated.
<12> Block erase processing is normally terminated.
Notes 1. This setting is not required when the watchdog timer is not used.
2. Separately check the WEPRERR bit to check for errors in executing the erase command on a write-
prohibited area.
<R>
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 251
Figure 16-20. Example of Block Erase Operation in Self Programming Mode
<7> Clear & restart WDT counter
(WDTE = ACH)
Note
<9> Check execution result
<10> Check
the number of executions of
the erase command
<8> Execute HALT instruction
<12> Normal termination
Normal
<6> Clear PFS
<1> Set erase command
(FLCMD = 03H)
<2> Set no. of block to be erased
to FLAPH
Block erasure
<4> Set the same value as
that of FLAPH to FLAPHC
<11> Abnormal termination
Abnormal
The erase command
cannot be re-executed.
<3> Set FLAPL to 00H
<5> Set FLAPLC to 00H
The erase command
can be re-executed.
Note This setting is not required when the watchdog timer is not used.
Remark <1> to <12> in Figure 16-20 correspond to <1> to <12> in 16.8.6 (previous page).
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
252
An example of a program that performs a block erase in self programming mode is shown below.
;----------------------------
;START
;----------------------------
MOV B,#48 ; Specifies the number of times the erase command can be
; executed.
; (4.0 V to 5.5 V Time for executing block erasure 100 times)
FlashBlockErase:
MOV FLCMD,#03H ; Sets flash control command (block erase)
MOV FLAPH,#07H ; Sets number of block to be erased (block 7 is specified here)
MOV FLAPL,#00H ; Fixes FLAPL to “00H”
MOV FLAPHC,#07H ; Sets erase block compare number (same value as that of FLAPH)
MOV FLAPLC,#00H ; Fixes FLAPLC to “00H”
EraseRetry:
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H ; Checks execution result
BZ $StatusNormal ; Normal termination
DBNZ B,$EraseRetry ; Checks whether to re-execute the erase command.
;---------------------------------------------------------------------
;END (abnormal termination processing); Perform processing to shift to
normal mode in order to return to normal processing
;---------------------------------------------------------------------
StatusError:
;---------------------------------------------------------------------
;END (normal termination processing)
;---------------------------------------------------------------------
StatusNormal:
<R>
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 253
16.8.7 Example of block blank check operation in self programming mode
An example of the block blank check operation in self programming mode is explained below.
<1> Set 04H (block blank check) to the flash program command register (FLCMD).
<2> Set the number of block for which a blank check is performed, to flash address pointer H (FLAPH).
<3> Set flash address pointer L (FLAPL) to 00H.
<4> Write the same value as FLAPH to the flash address pointer H compare register (FLAPHC).
<5> Set the flash address pointer L compare register (FLAPLC) to FFH.
<6> Clear the flash status register (PFS).
<7> Write ACH to the watchdog timer enable register (WDTE) (clear and restart the watchdog timer counter)Note.
<8> Execute the HALT instruction then start self programming. (Execute an instruction immediately after the
HALT instruction if self programming has been executed.)
<9> Check if a self programming error has occurred using bit 1 (VCERR) and bit 2 (WEPRERR) of PFS.
Abnormal <10>
Normal <11>
<10> Block blank check is abnormally terminated.
<11> Block blank check is normally terminated.
Note This setting is not required when the watchdog timer is not used.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
254
Figure 16-21. Example of Block Blank Check Operation in Self Programming Mode
<11> Normal termination
<7> Clear & restart WDT counter
(WDTE = ACH)
Note
<9> Check execution result
(VCERR and WEPRERR flags)
<8> Execute HALT instruction
Normal
Abnormal
<6> Clear PFS
<1> Set
block blank check
command (FLCMD = 04H)
<2> Set no. of block for
blank check to FLAPH
Block blank check
<10> Abnormal termination
<5> Set FLAPLC to 00H
<4> Set the same value as
that of FLAPH to FLAPHC
<3> Set FLAPL to 00H
Note This setting is not required when the watchdog timer is not used.
Remark <1> to <11>in Figure 16-21 correspond to <1> to <11> in 16.8.7 (previous page).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 255
An example of a program that performs a block blank check in self programming mode is shown below.
;----------------------------
;START
;----------------------------
FlashBlockBlankCheck:
MOV FLCMD,#04H ; Sets flash control command (block blank check)
MOV FLAPH,#07H ; Sets number of block for blank check (block 7 is specified
; here)
MOV FLAPL,#00H ; Fixes FLAPL to “00H”
MOV FLAPHC,#07H ; Sets blank check block compare number (same value as that of
; FLAPH)
MOV FLAPLC,#0FFH ; Fixes FLAPLC to “FFH”
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
MOV CmdStatus,A ; Execution result is stored in variable
; (CmdStatus = 0: normal termination, other than 0: abnormal
; termination)
;----------------------------
;END
;----------------------------
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
256
16.8.8 Example of byte write operation in self programming mode
An example of the byte write operation in self programming mode is explained below.
<1> Set 05H (byte write) to the flash program command register (FLCMD).
<2> Set the number of block to which data is to be written, to flash address pointer H (FLAPH).
<3> Set the address at which data is to be written, to flash address pointer L (FLAPL).
<4> Set the data to be written, to the flash write buffer register (FLW).
<5> Clear the flash status register (PFS).
<6> Write ACH to the watchdog timer enable register (WDTE) (clear and restart the watchdog timer counter)Note.
<7> Execute the HALT instruction then start self programming. (Execute an instruction immediately after the
HALT instruction if self programming has been executed.)
<8> Check if a self programming error has occurred using bit 1 (VCERR) and bit 2 (WEPRERR) of PFS.
Abnormal <9>
Normal <10>
<9> Byte write processing is abnormally terminated.
<10> Byte write processing is normally terminated.
Note This setting is not required when the watchdog timer is not used.
Caution If a write results in failure, erase the block once and write to it again.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 257
Figure 16-22. Example of Byte Write Operation in Self Programming Mode
<10> Normal termination
<6> Clear & restart WDT counter
(WDTE = ACH)
Note
<8> Check execution result
(VCERR and WEPRERR flags)
<7> Execute HALT instruction
Normal
Abnormal
<5> Clear PFS
<1> Set byte write command
(FLCMD = 05H)
Byte write
<9> Abnormal termination
<4> Set data to be written to FLW
<2> Set no. of block to be
written, to FLAPH
<3> Set address at which data
is to be written, to FLAPL
Note This setting is not required when the watchdog timer is not used.
Remark <1> to <10> in Figure 16-22 correspond to <1> to <10> in 16.8.8 (previous page).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
258
An example of a program that performs a byte write in self programming mode is shown below.
;----------------------------
;START
;----------------------------
FlashWrite:
MOV FLCMD,#05H ; Sets flash control command (byte write)
MOV FLAPH,#07H ; Sets address to which data is to be written, with
; FLAPH (block 7 is specified here)
MOV FLAPL,#20H ; Sets address to which data is to be written, with
; FLAPL (address 20H is specified here)
MOV FLW,#10H ; Sets data to be written (10H is specified here)
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
MOV CmdStatus,A ; Execution result is stored in variable
; (CmdStatus = 0: normal termination, other than 0: abnormal
; termination)
;----------------------------
;END
;----------------------------
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 259
16.8.9 Example of internal verify operation in self programming mode
An example of the internal verify operation in self programming mode is explained below.
Internal verify 1
<1> Set 01H (internal verify 1) to the flash program command register (FLCMD).
<2> Set the number of block for which internal verify is performed, to flash address pointer H (FLAPH).
<3> Sets the flash address pointer L (FLAPL) to 00H.
<4> Write the same value as that of FLAPH to the flash address pointer H compare register (FLAPHC).
<5> Sets the flash address pointer L compare register (FLAPLC) to FFH.
<6> Clear the flash status register (PFS).
<7> Write ACH to the watchdog timer enable register (WDTE) (clear and restart the watchdog timer counter)Note.
<8> Execute the HALT instruction then start self programming. (Execute an instruction immediately after the
HALT instruction if self programming has been executed.)
<9> Check if a self programming error has occurred using bit 1 (VCERR) and bit 2 (WEPRERR) of PFS.
Abnormal <10>
Normal <11>
<10> Internal verify processing is abnormally terminated.
<11> Internal verify processing is normally terminated.
Internal verify 2
<1> Set 02H (internal verify 2) to the flash program command register (FLCMD).
<2> Set the number of block for which internal verify is performed, to flash address pointer H (FLAPH).
<3> Sets flash address pointer L (FLAPL) to the start address.
<4> Write the same value as that of FLAPH to the flash address pointer H compare register (FLAPHC).
<5> Sets flash address pointer L compare register (FLAPLC) to the end address.
<6> Clear the flash status register (PFS).
<7> Write ACH to the watchdog timer enable register (WDTE) (clear and restart the watchdog timer counter)Note.
<8> Execute the HALT instruction then start self programming. (Execute an instruction immediately after the
HALT instruction if self programming has been executed.)
<9> Check if a self programming error has occurred using bit 1 (VCERR) and bit 2 (WEPRERR) of PFS.
Abnormal <10>
Normal <11>
<10> Internal verify processing is abnormally terminated.
<11> Internal verify processing is normally terminated.
Note This setting is not required when the watchdog timer is not used.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
260
Figure 16-23. Example of Internal Verify 1 Operation in Self Programming Mode
<11> Normal termination
<7> Clear & restart WDT counter
(WDTE = ACH)
Note
<9> Check execution result
(VCERR and WEPRERR flags)
<8> Execute HALT instruction
Normal
Abnormal
<6> Clear PFS
<1> Set internal verify 1
command (FLCMD = 01H)
Internal verify 1
<10> Abnormal termination
<2> Set No. of block for
internal verify, to FLAPH
<4> Set the same value as
that of FLAPH to FLAPHC
<5>
Sets FLAPLC to FFH
<3> Sets FLAPL to 00H
Note This setting is not required when the watchdog timer is not used.
Remark <1> to <11> in Figure 16-23 correspond to Internal verify 1 <1> to <11> in 16.8.9 (previous page).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 261
Figure 16-24. Example of Internal Verify 2 Operation in Self Programming Mode
<11> Normal termination
<7> Clear & restart WDT counter
(WDTE = ACH)
Note
<9> Check execution result
(VCERR and WEPRERR flags)
<8> Execute HALT instruction
Normal
Abnormal
<6> Clear PFS
<1> Set internal verify 2
command (FLCMD = 02H)
Internal verify 2
<10> Abnormal termination
<2> Set No. of block for
internal verify, to FLAPH
<4> Set the same value as
that of FLAPH to FLAPHC
<5>
Sets FLAPLC to the end address
<3> Sets FLAPL to the start address
Note This setting is not required when the watchdog timer is not used.
Remark <1> to <11> in Figure 16-24 correspond to Internal verify 2 <1> to <11> in 16.8.9 (the page before last).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
262
An example of a program that performs an internal verify in self programming mode is shown below.
Internal verify 1
;----------------------------
;START
;----------------------------
FlashVerify:
MOV FLCMD,#01H ; Sets flash control command (internal verify 1)
MOV FLAPH,#07H ; Set the number of block for which internal verify is
; performed, to FLAPH (Example: Block 7 is specified here)
MOV FLAPL,#00H ; Sets FLAPL to 00H
MOV FLAPHC,#07H
MOV FLAPLC,#FFH ; Sets FLAPLC to FFH
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
MOV CmdStatus,A ; Execution result is stored in variable
; (CmdStatus = 0: normal termination, other than 0: abnormal
; termination)
;----------------------------
;END
;----------------------------
Internal verify 2
;----------------------------
;START
;----------------------------
FlashVerify:
MOV FLCMD,#02H ; Sets flash control command (internal verify 2)
MOV FLAPH,#07H ; Set the number of block for which internal verify is
; performed, to FLAPH (Example: Block 7 is specified here)
MOV FLAPL,#00H ; Sets FLAPL to the start address for verify (Example: Address
; 00H is specified here)
MOV FLAPHC,#07H
MOV FLAPLC,#20H ; Sets FLAPLC to the end address for verify (Example: Address
; 20H is specified here)
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
MOV CmdStatus,A ; Execution result is stored in variable
; (CmdStatus = 0: normal termination, other than 0: abnormal
; termination)
;----------------------------
;END
;----------------------------
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 263
16.8.10 Examples of operation when command execution time should be minimized in self programming
mode
Examples of operation when the command execution time should be minimized in self programming mode are
explained below.
(1) Erasure to blank check
<1> Mode is shifted from normal mode to self programming mode (<1> to <7> in 16.8.4)
<2> Execution of block erase Error check (<1> to <12> in 16.8.6)
<3> Execution of block blank check Error check (<1> to <11> in 16.8.7)
<4> Mode is shifted from self programming mode to normal mode (<1> to <6> in 16.8.5)
Figure 16-25. Example of Operation When Command Execution Time Should Be Minimized
(from Erasure to Blank Check)
<4> Shift to normal mode
Abnormal
<1> Shift to self programming
mode
Erasure to blank check
Abnormal termination
Note
<2> Execute block erase
<3> Execute block blank check
<2> Check execution result
(VCERR and WEPRERR flags)
<3> Check execution result
(VCERR and WEPRERR flags)
Normal termination
Normal
Abnormal
Normal
Figure 16-20
<1> to <12>
Figure 16-21
<1> to <11>
Figure 16-18
<1> to <7>
Figure 16-19
<1> to <6>
Note Perform processing to shift to normal mode in order to return to normal processing.
Remark <1> to <4> in Figure 16-25 correspond to <1> to <4> in 16.8.10 (1) above.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
264
An example of a program when the command execution time (from erasure to black check) should be minimized in
self programming mode is shown below.
;---------------------------------------------------------------------
;START
;---------------------------------------------------------------------
MOV MK0,#11111111B ; Masks all interrupts
MOV FLCMD,#00H ; Clears FLCMD register
DI
ModeOnLoop: ; Configure settings so that the CPU clock 1 MHz
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#01H ; FLPMC register control (sets value)
MOV FLPMC,#0FEH ; FLPMC register control (inverts set value)
MOV FLPMC,#01H ; Sets self programming mode with FLPMC register control (sets
; value)
NOP
HALT
BT PFS.0,$ModeOnLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
FlashBlockErase:
MOV FLCMD,#03H ; Sets flash control command (block erase)
MOV FLAPH,#07H ; Sets number of block to be erased (block 7 is specified
; here)
MOV FLAPL,#00H ; Fixes FLAPL to “00H”
MOV FLAPHC,#07H ; Sets erase block compare number (same value as that of
; FLAPH)
MOV FLAPLC,#00H ; Fixes FLAPLC to “00H”
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $StatusError ; Checks erase error
; Performs abnormal termination processing when an error
; occurs.
FlashBlockBlankCheck:
MOV FLCMD,#04H ; Sets flash control command (block blank check)
MOV FLAPH,#07H ; Sets number of block for blank check (block 7 is specified
; here)
MOV FLAPL,#00H ; Fixes FLAPL to “00H”
MOV FLAPHC,#07H ; Sets blank check block compare number (same value as of
; FLAPH)
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 265
MOV FLAPLC,#0FFH ; Fixes FLAPLC to “FFH”
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $StatusError ; Checks blank check error
; Performs abnormal termination processing when an error
; occurs.
MOV FLCMD,#00H ; Clears FLCMD register
ModeOffLoop:
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#00H ; FLPMC register control (sets value)
MOV FLPMC,#0FFH ; FLPMC register control (inverts set value)
MOV FLPMC,#00H ; Sets normal mode via FLPMC register control (sets value)
BT PFS.0,$ModeOffLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
; After the specific sequence is correctly executed, restore
; the CPU clock to its setting before the self programming
MOV MK0,#INT_MK0 ; Restores interrupt mask flag
EI
BR StatusNormal
;---------------------------------------------------------------------
;END (abnormal termination processing); Perform processing to shift to
normal mode in order to return to normal processing
;---------------------------------------------------------------------
StatusError:
;---------------------------------------------------------------------
;END (normal termination processing)
;---------------------------------------------------------------------
StatusNormal:
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
266
(2) Write to internal verify
<1> Mode is shifted from normal mode to self programming mode (<1> to <7> in 16.8.4)
<2> Specification of source data for write
<3> Execution of byte write Error check (<1> to <10> in 16.8.8)
<4> <3> is repeated until all data are written.
<5> Execution of internal verify Error check (<1> to <11> in 16.8.9)
<6> Mode is shifted from self programming mode to normal mode (<1> to <6> in 16.8.5)
Figure 16-26. Example of Operation When Command Execution Time Should Be Minimized
(from Write to Internal Verify)
<6> Shift to normal mode
Abnormal
<1> Shift to self programming
mode
Write to internal verify
<3> Execute byte write command
<5> Execute internal verify command
<3> Check execution result
(VCERR and WEPRERR flags)
<5> Check execution result
(VCERR and WEPRERR flags)
Normal termination
Normal
Abnormal
Normal
Figure 16-
22
<1> to <10>
Figure 16-
23
<1> to <11>
Figure 16-19
<1> to <6>
<2> Set source data for write
<4> All data written? Yes
No
Figure 16-18
<1> to <7>
Abnormal terminationNote
Note Perform processing to shift to normal mode in order to return to normal processing.
Remark <1> to <6> in Figure 16-26 correspond to <1> to <6> in 16.8.10 (2) above.
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 267
An example of a program when the command execution time (from write to internal verify) should be minimized in
self programming mode is shown below.
;---------------------------------------------------------------------
;START
;---------------------------------------------------------------------
MOV MK0,#11111111B ; Masks all interrupts
MOV FLCMD,#00H ; Clears FLCMD register
DI
ModeOnLoop: ; Configure settings so that the CPU clock 1 MHz
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#01H ; FLPMC register control (sets value)
MOV FLPMC,#0FEH ; FLPMC register control (inverts set value)
MOV FLPMC,#01H ; Sets self programming mode with FLPMC register control
; (sets value)
NOP
HALT
BT PFS.0,$ModeOnLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
FlashWrite:
MOVW HL,#DataAdrTop ; Sets address at which data to be written is located
MOVW DE,#WriteAdr ; Sets address at which data is to be written
FlashWriteLoop:
MOV FLCMD,#05H ; Sets flash control command (byte write)
MOV A,D
MOV FLAPH,A ; Sets address at which data is to be written
MOV A,E
MOV FLAPL,A ; Sets address at which data is to be written
MOV A,[HL]
MOV FLW,A ; Sets data to be written
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $StatusError ; Checks write error
; Performs abnormal termination processing when an error
; occurs.
INCW HL ; address at which data to be written is located + 1
MOVW AX,HL
CMPW AX,#DataAdrBtm ; Performs internal verify processing
BNC $FlashVerify ; if write of all data is completed
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
268
INCW DE ; Address at which data is to be written + 1
BR FlashWriteLoop
FlashVerify:
MOVW HL,#WriteAdr ; Sets verify address
MOV FLCMD,#02H ; Sets flash control command (internal verify 2)
MOV A,H
MOV FLAPH,A ; Sets verify start address
MOV A,L
MOV FLAPL,A ; Sets verify start address
MOV A,D
MOV FLAPHC,A ; Sets verify end address
MOV A,E
MOV FLAPLC,A ; Sets verify end address
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $StatusError ; Checks internal verify error
; Performs abnormal termination processing when an error
; occurs.
MOV FLCMD,#00H ; Clears FLCMD register
ModeOffLoop:
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#00H ; FLPMC register control (sets value)
MOV FLPMC,#0FFH ; FLPMC register control (inverts set value)
MOV FLPMC,#00H ; Sets normal mode via FLPMC register control (sets value)
BT PFS.0,$ModeOffLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
; After the specific sequence is correctly executed, restore
; the CPU clock to its setting before the self programming
MOV MK0,#INT_MK0 ; Restores interrupt mask flag
EI
BR StatusNormal
;---------------------------------------------------------------------
;END (abnormal termination processing); Perform processing to shift to
normal mode in order to return to normal processing
;---------------------------------------------------------------------
StatusError:
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 269
;---------------------------------------------------------------------
;END (normal termination processing)
;---------------------------------------------------------------------
StatusNormal:
;---------------------------------------------------------------------
; Data to be written
;---------------------------------------------------------------------
DataAdrTop:
DB XXH
DB XXH
DB XXH
DB XXH
:
:
DB XXH
DataAdrBtm:
;---------------------------------------------------------------------
Remark Internal verify 2 is used in the above program example. Use internal verify 1 to verify s whole block.
16.8.11 Examples of operation when interrupt-disabled time should be minimized in self programming mode
Examples of operation when the interrupt-disabled time should be minimized in self programming mode are
explained below.
(1) Erasure to blank check
<1> Specification of block erase command (<1> to <5> in 16.8.6)
<2> Mode is shifted from normal mode to self programming mode (<1> to <7> in 16.8.4)
<3> Execution of block erase command Error check (<6> to <12> in 16.8.6)
<4> Mode is shifted from self programming mode to normal mode (<1> to <6> in 16.8.5)
<5> Specification of block blank check command (<1> to <5> in 16.8.7)
<6> Mode is shifted from normal mode to self programming mode (<1> to <7> in 16.8.4)
<7> Execution of block blank check command Error check (<6> to <11> in 16.8.7)
<8> Mode is shifted from self programming mode to normal mode (<1> to <6> in 16.8.5)
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
270
Figure 16-27. Example of Operation When Interrupt-Disabled Time Should Be Minimized
(from Erasure to Blank Check)
Abnormal
Erasure to blank check
Abnormal termination
Note
<1> Specify block erase command
<3> Check execution result
Normal termination
Normal
Abnormal
Figure 16-20
<1> to <5>
<2> Shift to self programming
mode
Figure 16-18
<1> to <7>
<3> Execute block erase command
Figure 16-20
<6> to <12>
<4> Shift to normal mode
Figure 16-19
<1> to <6>
<5> Specify block blank
check command
<7> Check execution result
(VCERR and WEPRERR flags)
Figure 16-21
<1> to <5>
<6> Shift to self programming
mode
Figure 16-18
<1> to <7>
<7> Execute block blank
check command
Figure 16-21
<6> to <11>
<8> Shift to normal mode
Figure 16-19
<1> to <6>
Normal
Note Perform processing to shift to normal mode in order to return to normal processing.
Remark <1> to <8> in Figure 16-27 correspond to <1> to <8> in 16.8.11 (1) (previous page).
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 271
An example of a program when the interrupt-disabled time (from erasure to blank check) should be minimized in
self programming mode is shown below.
;---------------------------------------------------------------------
;START
;---------------------------------------------------------------------
MOV B,#48 ; Specifies the number of times the erase command can be
; executed.
; (4.0 V to 5.5 V Time for executing block erasure 100 times)
FlashBlockErase:
; Sets erase command
MOV FLCMD,#03H ; Sets flash control command (block erase)
MOV FLAPH,#07H ; Sets number of block to be erased (block 7 is specified here)
MOV FLAPL,#00H ; Fixes FLAPL to “00H”
MOV FLAPHC,#07H ; Sets erase block compare number (same value as that of FLAPH)
MOV FLAPLC,#00H ; Fixes FLAPLC to “00H”
CALL !ModeOn ; Shift to self programming mode
EraseRetry:
; Execution of erase command
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $RetryCheck ; Checks erase error
; Performs abnormal termination processing when an error
; occurs.
CALL !ModeOff ; Shift to normal mode
; Sets blank check command
MOV FLCMD,#04H ; Sets flash control command (block blank check)
MOV FLAPH,#07H ; Sets block number for blank check (block 7 is specified here)
MOV FLAPL,#00H ; Fixes FLAPL to “00H”
MOV FLAPHC,#07H ; Sets blank check block compare number (same value as that of
; FLAPH)
MOV FLAPLC,#0FFH ; Fixes FLAPLC to “FFH”
CALL !ModeOn ; Shift to self programming mode
; Execution of blank check command
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
<R>
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
272
CMP A,#00H
BNZ $StatusError ; Checks blank check error
; Performs abnormal termination processing when an error occurs
CALL !ModeOff ; Shift to normal mode
BR StatusNormal
RetryCheck:
DBNZ B,$EraseRetry
;---------------------------------------------------------------------
;END (abnormal termination processing); Perform processing to shift to
normal mode in order to return to normal processing
;---------------------------------------------------------------------
StatusError:
;---------------------------------------------------------------------
;END (normal termination processing)
;---------------------------------------------------------------------
StatusNormal:
;---------------------------------------------------------------------
;Processing to shift to self programming mode
;---------------------------------------------------------------------
ModeOn:
MOV MK0,#11111111B ; Masks all interrupts
MOV FLCMD,#00H ; Clears FLCMD register
DI
ModeOnLoop: ; Configure settings so that the CPU clock 1 MHz
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#01H ; FLPMC register control (sets value)
MOV FLPMC,#0FEH ; FLPMC register control (inverts set value)
MOV FLPMC,#01H ; Sets self programming mode via FLPMC register control (sets
; value)
NOP
HALT
BT PFS.0,$ModeOnLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
RET
<R>
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 273
;---------------------------------------------------------------------
; Processing to shift to normal mode
;---------------------------------------------------------------------
ModeOffLoop:
MOV FLCMD,#00H ; Clears FLCMD register
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#00H ; FLPMC register control (sets value)
MOV FLPMC,#0FFH ; FLPMC register control (inverts set value)
MOV FLPMC,#00H ; Sets normal mode via FLPMC register control (sets value)
BT PFS.0,$ModeOffLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
; After the specific sequence is correctly executed, restore
; the CPU clock to its setting before the self programming
MOV MK0,#INT_MK0 ; Restores interrupt mask flag
EI
RET
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
274
(2) Write to internal verify
<1> Specification of source data for write
<2> Specification of byte write command (<1> to <4> in 16.8.8)
<3> Mode is shifted from normal mode to self programming mode (<1> to <7> in 16.8.4)
<4> Execution of byte write command Error check (<5> to <10> in 16.8.8)
<5> Mode is shifted from self programming mode to normal mode (<1> to <6> in 16.8.5)
<6> <2> to <5> is repeated until all data are written.
<7> The internal verify command is specified (<1> to <5> in 16.8.9)
<8> Mode is shifted from normal mode to self programming mode (<1> to <7> in 16.8.4)
<9> Execution of internal verify command Error check (<6> to <11> in 16.8.9)
<10> Mode is shifted from self programming mode to normal mode (<1> to <6> in 16.8.5)
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 275
Figure 16-28. Example of Operation When Interrupt-Disabled Time Should Be Minimized
(from Write to Internal Verify)
Abnormal
Abnormal termination
Note
<2> Specify byte write command
<4> Check execution result
(VCERR and WEPRERR flags)
Normal termination
Normal
Abnormal
Figure 16-22
<1> to <4>
<3> Shift to self programming
mode
Figure 16-18
<1> to <7>
<4> Execute byte write command
Figure 16-22
<5> to <10>
<5> Shift to normal mode
Figure 16-19
<1> to <6>
<7> Specify internal verify command
<9> Check execution result
(VCERR and WEPRERR flags)
Figure 16-23
<1> to <5>
<8> Shift to self programming
mode
Figure 16-18
<1> to <7>
<9> Execute internal verify command
Figure 16-23
<6> to <11>
<10> Shift to normal mode
Figure 16-19
<1> to <6>
Normal
<1> Set source data for write
Write to internal verify
<6> All data written? Yes
No
Note Perform processing to shift to normal mode in order to return to normal processing.
Remark <1> to <10> in Figure 16-28 correspond to <1> to <10> in 16.8.11 (2) (previous page).
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
276
An example of a program when the interrupt-disabled time (from write to internal verify) should be minimized in self
programming mode is shown below.
;---------------------------------------------------------------------
;START
;---------------------------------------------------------------------
; Sets write command
FlashWrite:
MOVW HL,#DataAdrTop ; Sets address at which data to be written is located
MOVW DE,#WriteAdr ; Sets address at which data is to be written
FlashWriteLoop:
MOV FLCMD,#05H ; Sets flash control command (byte write)
MOV A,D
MOV FLAPH,A ; Sets address at which data is to be written
MOV A,E
MOV FLAPL,A ; Sets address at which data is to be written
MOV A,[HL]
MOV FLW,A ; Sets data to be written
CALL !ModeOn ; Shift to self programming mode
; Execution of write command
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $StatusError ; Checks write error
; Performs abnormal termination processing when an error
; occurs.
CALL !ModeOff ; Shift to normal mode
MOV MK0,#INT_MK0 ; Restores interrupt mask flag
EI
; Judgment of writing all data
INCW HL ; Address at which data to be written is located + 1
MOVW AX,HL
CMPW AX,#DataAdrBtm ; Performs internal verify processing
BNC $FlashVerify ; if write of all data is completed
INCW DE ; Address at which data is to be written + 1
BR FlashWriteLoop
; Setting internal verify command
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 277
FlashVerify:
MOVW HL,#WriteAdr ; Sets verify address
MOV FLCMD,#02H ; Sets flash control command (internal verify 2)
MOV A,H
MOV FLAPH,A ; Sets verify start address
MOV A,L
MOV FLAPL,A ; Sets verify start address
MOV A,D
MOV FLAPHC,A ; Sets verify end address
MOV A,E
MOV FLAPLC,A ; Sets verify end address
CALL !ModeOn ; Shift to self programming mode
; Execution of internal verify command
MOV PFS,#00H ; Clears flash status register
MOV WDTE,#0ACH ; Clears & restarts WDT
HALT ; Self programming is started
MOV A,PFS
CMP A,#00H
BNZ $StatusError ; Checks internal verify error
; Performs abnormal termination processing when an error occurs
CALL !ModeOff ; Shift to normal mode
BR StatusNormal
;---------------------------------------------------------------------
;END (abnormal termination processing); Perform processing to shift to
normal mode in order to return to normal processing
;---------------------------------------------------------------------
StatusError:
;---------------------------------------------------------------------
;END (normal termination processing)
;---------------------------------------------------------------------
StatusNormal:
;---------------------------------------------------------------------
;Processing to shift to self programming mode
;---------------------------------------------------------------------
ModeOn:
MOV MK0,#11111111B ; Masks all interrupts
MOV FLCMD,#00H ; Clears FLCMD register
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD
278
DI
ModeOnLoop: ; Configure settings so that the CPU clock 1 MHz
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#01H ; FLPMC register control (sets value)
MOV FLPMC,#0FEH ; FLPMC register control (inverts set value)
MOV FLPMC,#01H ; Sets self programming mode via FLPMC register control (sets
; value)
NOP
HALT
BT PFS.0,$ModeOnLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
RET
;---------------------------------------------------------------------
; Processing to shift to normal mode
;---------------------------------------------------------------------
ModeOffLoop:
MOV FLCMD,#00H ; Clears FLCMD register
MOV PFS,#00H ; Clears flash status register
MOV PFCMD,#0A5H ; PFCMD register control
MOV FLPMC,#00H ; FLPMC register control (sets value)
MOV FLPMC,#0FFH ; FLPMC register control (inverts set value)
MOV FLPMC,#00H ; Sets normal mode via FLPMC register control (sets value)
BT PFS.0,$ModeOffLoop ; Checks completion of write to specific registers
; Repeats the same processing when an error occurs.
; After the specific sequence is correctly executed, restore
; the CPU clock to its setting before the self programming
MOV MK0,#INT_MK0 ; Restores interrupt mask flag
EI
RET
;---------------------------------------------------------------------
;Data to be written
;---------------------------------------------------------------------
DataAdrTop:
DB XXH
DB XXH
DB XXH
CHAPTER 16 FLASH MEMORY
User’s Manual U18172EJ3V0UD 279
DB XXH
:
:
DB XXH
DataAdrBtm:
;---------------------------------------------------------------------
Remark Internal verify 2 is used in the above program example. Use internal verify 1 to verify s whole block.
User’s Manual U18172EJ3V0UD
280
CHAPTER 17 ON-CHIP DEBUG FUNCTION
17.1 Connecting QB-MINI2 to 78K0S/KU1+
The 78K0S/KU1+ uses RESET, X1Note 1, X2 Note 2, INTP1, VDD, and GND pins to communicate with the host machine
via an on-chip debug emulator (QB-MINI2).
Notes 1.
μ
PD78F920x: X1/P23/ANI3,
μ
PD78F950x: EXCLK/P23
2.
μ
PD78F920x: X2/P22/ANI2,
μ
PD78F950x: P22
Caution The 78K0S/KU1+ has an on-chip debug function, which is provided for development and
evaluation. Do not use the on-chip debug function in products designated for mass production,
because the guaranteed number of rewritable times of the flash memory may be exceeded when
this function is used, and product reliability therefore cannot be guaranteed. NEC Electronics is
not liable for problems occurring when the on-chip debug function is used.
Figure 17-1. Recommended Circuit Connection
Target connector Target device
Reset circuit
GND
RESET
Note 1
X2
Note 2
X1
Note 2
INTP1
Note 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RESET_OUT
RESET signal
DATA
DATA
R.F.U.
R.F.U.
H/S
Note 4
Note 3
Note 3
CLK
R.F.U.
R.F.U.
INTP
R.F.U.
CLK
RESET_IN
R.F.U.
1 kΩ
1 kΩ
10 kΩ
V
DD
V
DD
3 to 10 kΩ
V
DD
V
DD
V
DD
V
DD
1 to 10 kΩ
V
DD
μPD78F920x: X2
μPD78F950x: P22
μPD78F920x: X1
μPD78F950x: EXCLK
V
SS
Caution The constants described in the circuit connection example are reference values. If you
perform flash programming aiming at mass production, thoroughly evaluate whether the
specifications of the target device are satisfied.
Note 1. The RESET pin is used to download the monitor program at debugger startup or to implement
forced reset. Therefore, a pin that alternately functions as the RESET pin cannot be used. For
reset pin connection, refer to QB-MINI2 User’s Manual (U18371E).
<R>
<R>
<R>
CHAPTER 17 ON-CHIP DEBUG FUNCTION
User’s Manual U18172EJ3V0UD 281
Notes 2. This is the pin connection when the X1 and X2 pins are not used in the target system. When using
the X1 and X2 pins, refer to 17.1.2 Connection of X1 and X2 pins.
3. No problem will occur if the dashed line portions are connected.
4. This pin is connected to enhance the accuracy of time measurement between run and break during
debugging. Debugging is possible even if this pin is left open, but measurement error occurs in
several ms units.
5. The INTP1 pin is used for communication between QB-MINI2 and the target device during
debugging. When debugging is performed with QB-MINI2, therefore, the INTP1 pin and its
alternate-function pin cannot be used. For INTP1 pin connection, refer to 17.1.1 Connection of
INTP1 pin.
Pins for communication depend on whether the monitor program has been written or not. (refer to Table 17-1)
X1 and X2 pins can be used as I/O port pins or the pins for oscillation, after the monitor program has been written.
Table 17-1. Pins for communication with QB-MINI2
Before writing the monitor program After writing the monitor program
X1Note 1, X2 Note 2, RESET, INTP1, VDD, VSS RESET, INTP1, VDD, VSS
Notes 1.
μ
PD78F920x: X1/P23/ANI3,
μ
PD78F950x: EXCLK/P23
2.
μ
PD78F920x: X2/P22/ANI2,
μ
PD78F950x: P22
17.1.1 Connection of INTP1 pin
The INTP1 pin is used only for communication between QB-MINI2 and the target device during debugging.
Design circuits appropriately according to the relevant case among the cases shown below.
(1) INTP1 pin is not used in target system (as is illustrated in Figure 17-1. Recommended Circuit
Connection)
See Figure 17-2.
(2) QB-MINI2 is used only for programming, not for debugging
See Figure 17-3.
(3) QB-MINI2 is used for debugging and debugging of the INTP1 pin is performed only with a real machine
See Figure 17-4.
Figure 17-2. Circuit Connection for the Case Where INTP1 Pin Is Not Used in Target System
INTP1
Target connector Target device
INTP
1 kΩ
12
V
DD
Figure 17-3. Circuit Connection for the Case Where QB-MINI2 Is Used Only for Programming
INTP1
Target connector Target device
INTP 12
<R>
<R>
CHAPTER 17 ON-CHIP DEBUG FUNCTION
User’s Manual U18172EJ3V0UD
282
Figure 17-4. Circuit Connection for the Case Where QB-MINI2 Is Used for Debugging and
Debugging of INTP1 Pin Is Performed Only with Real Machine
INTP1
Target connector
Target device
INTP
1 kΩ
12
2
3
1
I/O to INTP1
External device
V
DD
* Jumper setting
When debugging with QB-MINI2 connected: 1-2 shorted
Other than above: 2-3 shorted
Caution If debugging is performed with a real machine running, without using QB-MINI2, write the user
program using the QB-Programmer. Programs downloaded by the debugger include the monitor
program, and such a program malfunctions if it is not controlled via QB-MINI2.
17.1.2 Connection of X1 and X2 pins
The X1Note 1, X2 Note 2 pins are used when the debugger is started for the first time (when downloading the monitor
program) and when programming is performed with the QB-Programmer.
Notes 1.
μ
PD78F920x: X1/P23/ANI3,
μ
PD78F950x: EXCLK/P23
2.
μ
PD78F920x: X2/P22/ANI2,
μ
PD78F950x: P22
Figure 17-5. Circuit Connection for the Case Where X1 and X2 Pins Are Used in Target System
X2
Target connector Target device
X2 3
2
3
1
X1
2
3
1
X1
External components
Oscillator or
external device
9
μPD78F920x: X2
μPD78F950x: P22
μPD78F920x: X1
μPD78F950x: EXCLK
* Jumper setting
When debugger is started for the first time
(downloading the monitor program) or when
programming is performed with QB-Programmer: 1-2 shorted
Other than above: 2-3 shorted
<R>
<R>
CHAPTER 17 ON-CHIP DEBUG FUNCTION
User’s Manual U18172EJ3V0UD 283
17.2 Securing of user resources
The user must prepare the following to perform communication between QB-MINI2 and the target device and
implement each debug function. For details of the setting, refer to QB-MINI2 User’s Manual (U18371E).
Securement of memory space
The shaded portions in Figure 17-6 are the areas reserved for placing the debug monitor program, so user
programs cannot be allocated in these spaces.
Figure 17-6. Memory Spaces Where Debug Monitor Programs Are Allocated
INTP1 interrupt vector (2 bytes)
for software break (2 bytes) 0x7EH
Internal ROM
end address
304 bytes
Internal ROM space Internal RAM space
Stack area for debugging
(5 bytes)
0x18H
Internal RAM
end address
Securement of serial interface for communication
The register settings, concerning the INTP1 pin used for communication between QB-MINI2 and the target
device, performed by the debug monitor program must not be changed.
User’s Manual U18172EJ3V0UD
284
CHAPTER 18 INSTRUCTION SET OVERVIEW
This chapter lists the instruction set of the 78K0S/KU1+. For details of the operation and machine language
(instruction code) of each instruction, refer to 78K/0S Series Instructions User’s Manual (U11047E).
18.1 Operation
18.1.1 Operand identifiers and description methods
Operands are described in “Operand” column of each instruction in accordance with the description method of the
instruction operand identifier (refer to the assembler specifications for details). When there are two or more
description methods, select one of them. Uppercase letters and the symbols #, !, $, and [ ] are key words and are
described as they are. Each symbol has the following meaning.
#: Immediate data specification
!: Absolute address specification
$: Relative address specification
[ ]: Indirect address specification
In the case of immediate data, describe an appropriate numeric value or a label. When using a label, be sure to
describe the #, !, $ and [ ] symbols.
For operand register identifiers, r and rp, either function names (X, A, C, etc.) or absolute names (names in
parentheses in the table below, R0, R1, R2, etc.) can be used for description.
Table 18-1. Operand Identifiers and Description Methods
Identifier Description Method
r
rp
sfr
X (R0), A (R1), C (R2), B (R3), E (R4), D (R5), L (R6), H (R7)
AX (RP0), BC (RP1), DE (RP2), HL (RP3)
Special function register symbol
saddr
saddrp
FE20H to FF1FH Immediate data or labels
FE20H to FF1FH Immediate data or labels (even addresses only)
addr16
addr5
0000H to FFFFH Immediate data or labels (only even addresses for 16-bit data transfer instructions)
0040H to 007FH Immediate data or labels (even addresses only)
word
byte
bit
16-bit immediate data or label
8-bit immediate data or label
3-bit immediate data or label
Remark For symbols of special function registers, see Table 3-3 Special Function Registers.
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD 285
18.1.2 Description of “Operation” column
A: A register; 8-bit accumulator
X: X register
B: B register
C: C register
D: D register
E: E register
H: H register
L: L register
AX: AX register pair; 16-bit accumulator
BC: BC register pair
DE: DE register pair
HL: HL register pair
PC: Program counter
SP: Stack pointer
PSW: Program status word
CY: Carry flag
AC: Auxiliary carry flag
Z: Zero flag
IE: Interrupt request enable flag
( ): Memory contents indicated by address or register contents in parentheses
×H, ×L: Higher 8 bits and lower 8 bits of 16-bit register
: Logical product (AND)
: Logical sum (OR)
: Exclusive logical sum (exclusive OR)
: Inverted data
addr16: 16-bit immediate data or label
jdisp8: Signed 8-bit data (displacement value)
18.1.3 Description of “Flag” column
(Blank): Unchanged
0: Cleared to 0
1: Set to 1
×: Set/cleared according to the result
R: Previously saved value is stored
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD
286
18.2 Operation List
Flag Mnemonic Operand Bytes Clocks Operation
Z AC CY
r, #byte 3 6 r byte
saddr, #byte 3 6 (saddr) byte
sfr, #byte 3 6 sfr byte
A, r Note 1 2 4 A r
r, A Note 1 2 4 r A
A, saddr 2 4 A (saddr)
saddr, A 2 4 (saddr) A
A, sfr 2 4 A sfr
sfr, A 2 4 sfr A
A, !addr16 3 8 A (addr16)
!addr16, A 3 8 (addr16) A
PSW, #byte 3 6 PSW byte × × ×
A, PSW 2 4 A PSW
PSW, A 2 4 PSW A × × ×
A, [DE] 1 6 A (DE)
[DE], A 1 6 (DE) A
A, [HL] 1 6 A (HL)
[HL], A 1 6 (HL) A
A, [HL + byte] 2 6 A (HL + byte)
MOV
[HL + byte], A 2 6 (HL + byte) A
A, X 1 4 A X
A, r Note 2 2 6 A r
A, saddr 2 6 A (saddr)
A, sfr 2 6 A sfr
A, [DE] 1 8 A (DE)
A, [HL] 1 8 A (HL)
XCH
A, [HL, byte] 2 8 A (HL + byte)
Notes 1. Except r = A.
2. Except r = A, X.
Remark One instruction clock cycle is one CPU clock cycle (fCPU) selected by the processor clock control register
(PCC).
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD 287
Flag Mnemonic Operand Bytes Clocks Operation
Z AC CY
rp, #word 3 6 rp word
AX, saddrp 2 6 AX (saddrp)
saddrp, AX 2 8 (saddrp) AX
AX, rp Note 1 4 AX rp
MOVW
rp, AX Note 1 4 rp AX
XCHW AX, rp Note 1 8 AX rp
A, #byte 2 4 A, CY A + byte × × ×
saddr, #byte 3 6 (saddr), CY (saddr) + byte × × ×
A, r 2 4 A, CY A + r × × ×
A, saddr 2 4 A, CY A + (saddr) × × ×
A, !addr16 3 8 A, CY A + (addr16) × × ×
A, [HL] 1 6 A, CY A + (HL) × × ×
ADD
A, [HL + byte] 2 6 A, CY A + (HL + byte) × × ×
A, #byte 2 4 A, CY A + byte + CY × × ×
saddr, #byte 3 6 (saddr), CY (saddr) + byte + CY × × ×
A, r 2 4 A, CY A + r + CY × × ×
A, saddr 2 4 A, CY A + (saddr) + CY × × ×
A, !addr16 3 8 A, CY A + (addr16) + CY × × ×
A, [HL] 1 6 A, CY A + (HL) + CY × × ×
ADDC
A, [HL + byte] 2 6 A, CY A + (HL + byte) + CY × × ×
A, #byte 2 4 A, CY A byte × × ×
saddr, #byte 3 6 (saddr), CY (saddr) byte × × ×
A, r 2 4 A, CY A r × × ×
A, saddr 2 4 A, CY A (saddr) × × ×
A, !addr16 3 8 A, CY A (addr16) × × ×
A, [HL] 1 6 A, CY A (HL) × × ×
SUB
A, [HL + byte] 2 6 A, CY A (HL + byte) × × ×
Note Only when rp = BC, DE, or HL.
Remark One instruction clock cycle is one CPU clock cycle (fCPU) selected by the processor clock control register
(PCC).
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD
288
Flag Mnemonic Operand Bytes Clocks Operation
Z AC CY
A, #byte 2 4 A, CY A byte CY × × ×
saddr, #byte 3 6 (saddr), CY (saddr) byte CY × × ×
A, r 2 4 A, CY A r CY × × ×
A, saddr 2 4 A, CY A (saddr) CY × × ×
A, !addr16 3 8 A, CY A (addr16) CY × × ×
A, [HL] 1 6 A, CY A (HL) CY × × ×
SUBC
A, [HL + byte] 2 6 A, CY A (HL + byte) CY × × ×
A, #byte 2 4 A A byte ×
saddr, #byte 3 6 (saddr) (saddr) byte ×
A, r 2 4 A A r ×
A, saddr 2 4 A A (saddr) ×
A, !addr16 3 8 A A (addr16) ×
A, [HL] 1 6 A A (HL) ×
AND
A, [HL + byte] 2 6 A A (HL + byte) ×
A, #byte 2 4 A A byte ×
saddr, #byte 3 6 (saddr) (saddr) byte ×
A, r 2 4 A A r ×
A, saddr 2 4 A A (saddr) ×
A, !addr16 3 8 A A (addr16) ×
A, [HL] 1 6 A A (HL) ×
OR
A, [HL + byte] 2 6 A A (HL + byte) ×
A, #byte 2 4 A A byte ×
saddr, #byte 3 6 (saddr) (saddr) byte ×
A, r 2 4 A A r ×
A, saddr 2 4 A A (saddr) ×
A, !addr16 3 8 A A (addr16) ×
A, [HL] 1 6 A A (HL) ×
XOR
A, [HL + byte] 2 6 A A (HL + byte) ×
Remark One instruction clock cycle is one CPU clock cycle (fCPU) selected by the processor clock control register
(PCC).
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD 289
Flag Mnemonic Operand Bytes Clocks Operation
Z AC CY
A, #byte 2 4 A byte × × ×
saddr, #byte 3 6 (saddr) byte × × ×
A, r 2 4 A r × × ×
A, saddr 2 4 A (saddr) × × ×
A, !addr16 3 8 A (addr16) × × ×
A, [HL] 1 6 A (HL) × × ×
CMP
A, [HL + byte] 2 6 A (HL + byte) × × ×
ADDW AX, #word 3 6 AX, CY AX + word × × ×
SUBW AX, #word 3 6 AX, CY AX word × × ×
CMPW AX, #word 3 6 AX word × × ×
r 2 4 r r + 1 × × INC
saddr 2 4 (saddr) (saddr) + 1 × ×
r 2 4 r r 1 × × DEC
saddr 2 4 (saddr) (saddr) 1 × ×
INCW rp 1 4 rp rp + 1
DECW rp 1 4 rp rp 1
ROR A, 1 1 2 (CY, A7 A0, Am1 Am) × 1 ×
ROL A, 1 1 2 (CY, A0 A7, Am+1 Am) × 1 ×
RORC A, 1 1 2 (CY A0, A7 CY, Am1 Am) × 1 ×
ROLC A, 1 1 2 (CY A7, A0 CY, Am+1 Am) × 1 ×
saddr.bit 3 6 (saddr.bit) 1
sfr.bit 3 6 sfr.bit 1
A.bit 2 4 A.bit 1
PSW.bit 3 6 PSW.bit 1 × × ×
SET1
[HL].bit 2 10 (HL).bit 1
saddr.bit 3 6 (saddr.bit) 0
sfr.bit 3 6 sfr.bit 0
A.bit 2 4 A.bit 0
PSW.bit 3 6 PSW.bit 0 × × ×
CLR1
[HL].bit 2 10 (HL).bit 0
SET1 CY 1 2 CY 1 1
CLR1 CY 1 2 CY 0 0
NOT1 CY 1 2 CY CY ×
Remark One instruction clock cycle is one CPU clock cycle (fCPU) selected by the processor clock control register
(PCC).
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD
290
Flag Mnemonic Operand Bytes Clocks Operation
Z AC CY
CALL !addr16 3 6 (SP 1) (PC + 3)H, (SP 2) (PC + 3)L,
PC addr16, SP SP 2
CALLT [addr5] 1 8 (SP 1) (PC + 1)H, (SP 2) (PC + 1)L,
PCH (00000000, addr5 + 1),
PCL (00000000, addr5), SP SP 2
RET 1 6 PCH (SP + 1), PCL (SP), SP SP + 2
RETI 1 8 PCH (SP + 1), PCL (SP),
PSW (SP + 2), SP SP + 3, NMIS 0
R R R
PSW 1 2 (SP 1) PSW, SP SP 1 PUSH
rp 1 4 (SP 1) rpH, (SP 2) rpL, SP SP 2
PSW 1 4 PSW (SP), SP SP + 1 R R R POP
rp 1 6 rpH (SP + 1), rpL (SP), SP SP + 2
SP, AX 2 8 SP AX MOVW
AX, SP 2 6 AX SP
!addr16 3 6 PC addr16
$addr16 2 6 PC PC + 2 + jdisp8
BR
AX 1 6 PCH A, PCL X
BC $saddr16 2 6 PC PC + 2 + jdisp8 if CY = 1
BNC $saddr16 2 6 PC PC + 2 + jdisp8 if CY = 0
BZ $saddr16 2 6 PC PC + 2 + jdisp8 if Z = 1
BNZ $saddr16 2 6 PC PC + 2 + jdisp8 if Z = 0
saddr.bit, $addr16 4 10 PC PC + 4 + jdisp8 if (saddr.bit) = 1
sfr.bit, $addr16 4 10 PC PC + 4 + jdisp8 if sfr.bit = 1
A.bit, $addr16 3 8 PC PC + 3 + jdisp8 if A.bit = 1
BT
PSW.bit, $addr16 4 10 PC PC + 4 + jdisp8 if PSW.bit = 1
saddr.bit, $addr16 4 10 PC PC + 4 + jdisp8 if (saddr.bit) = 0
sfr.bit, $addr16 4 10 PC PC + 4 + jdisp8 if sfr.bit = 0
A.bit, $addr16 3 8 PC PC + 3 + jdisp8 if A.bit = 0
BF
PSW.bit, $addr16 4 10 PC PC + 4 + jdisp8 if PSW.bit = 0
B, $addr16 2 6 B B 1, then PC PC + 2 + jdisp8 if B 0
C, $addr16 2 6 C C 1, then PC PC + 2 + jdisp8 if C 0
DBNZ
saddr, $addr16 3 8 (saddr) (saddr) 1, then
PC PC + 3 + jdisp8 if (saddr) 0
NOP 1 2 No Operation
EI 3 6 IE 1 (Enable Interrupt)
DI 3 6 IE 0 (Disable Interrupt)
HALT 1 2 Set HALT Mode
STOP 1 2 Set STOP Mode
Remark One instruction clock cycle is one CPU clock cycle (fCPU) selected by the processor clock control register
(PCC).
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD 291
18.3 Instructions Listed by Addressing Type
(1) 8-bit instructions
MOV, XCH, ADD, ADDC, SUB, SUBC, AND, OR, XOR, CMP, INC, DEC, ROR, ROL, RORC, ROLC, PUSH,
POP, DBNZ
2nd Operand
1st Operand
#byte A r sfr saddr !addr16 PSW [DE] [HL]
[HL + byte] $addr16 1 None
A ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOVNote
XCHNote
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV
XCH
MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV MOV
XCH
MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
ROR
ROL
RORC
ROLC
r MOV MOV INC
DEC
B, C DBNZ
sfr MOV MOV
saddr MOV
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV DBNZ INC
DEC
!addr16 MOV
PSW MOV MOV PUSH
POP
[DE] MOV
[HL] MOV
[HL + byte] MOV
Note Except r = A.
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD
292
(2) 16-bit instructions
MOVW, XCHW, ADDW, SUBW, CMPW, PUSH, POP, INCW, DECW
2nd Operand
1st Operand
#word AX rpNote saddrp SP None
AX ADDW SUBW
CMPW
MOVW
XCHW
MOVW MOVW
rp MOVW MOVWNote INCW
DECW
PUSH
POP
saddrp MOVW
sp MOVW
Note Only when rp = BC, DE, or HL.
(3) Bit manipulation instructions
SET1, CLR1, NOT1, BT, BF
2nd Operand
1st Operand
$addr16 None
A.bit BT
BF
SET1
CLR1
sfr.bit BT
BF
SET1
CLR1
saddr.bit BT
BF
SET1
CLR1
PSW.bit BT
BF
SET1
CLR1
[HL].bit SET1
CLR1
CY SET1
CLR1
NOT1
CHAPTER 18 INSTRUCTION SET OVERVIEW
User’s Manual U18172EJ3V0UD 293
(4) Call instructions/branch instructions
CALL, CALLT, BR, BC, BNC, BZ, BNZ, DBNZ
2nd Operand
1st Operand
AX !addr16 [addr5] $addr16
Basic instructions BR CALL
BR
CALLT BR
BC
BNC
BZ
BNZ
Compound instructions DBNZ
(5) Other instructions
RET, RETI, NOP, EI, DI, HALT, STOP
User’s Manual U18172EJ3V0UD
294
CHAPTER 19 ELECTRICAL SPECIFICATIONS
Absolute Maximum Ratings (TA = 25°C)
Parameter Symbol Conditions Ratings Unit
VDD 0.3 to +6.5 V Supply voltage
VSS 0.3 to +0.3 V
Input voltage VI P20 to P23, P32, P34, P40, P43 0.3 to VDD + 0.3Note 1 V
Output voltage VO 0.3 to VDD + 0.3Note 1 V
Analog input voltage Note 2 VAN 0.3 to VDD + 0.3Note 1 V
Per pin 10.0 mA Output current, high IOH
Total of P20 to P23, P32, P40, P43 44.0 mA
Per pin 20.0 mA Output current, low IOL
Total of P20 to P23, P32, P40, P43 44.0 mA
In normal operation mode
Operating ambient
temperature
TA
During flash memory programming
40 to +85 °C
Flash memory blank status 65 to +150 °C Storage temperature Tstg
Flash memory programming already performed 40 to +125 °C
Notes 1. Must be 6.5 V or lower
2.
μ
PD78F920x only
Caution Product quality may suffer if the absolute maximum rating is exceeded even momentarily for any
parameter. That is, the absolute maximum ratings are rated values at which the product is on the
verge of suffering physical damage, and therefore the product must be used under conditions that
ensure that the absolute maximum ratings are not exceeded.
Remark Unless specified otherwise, the characteristics of alternate-function pins are the same as those of port pins.
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 295
X1 Oscillator Characteristics
(1)
μ
PD78F920x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V)
Resonator Recommended Circuit Parameter Conditions MIN. TYP. MAX. Unit
Ceramic
resonator
X2X1V
SS
C2C1
Oscillation
frequency (fX)Note 2
2.0 10.0 MHz
Crystal
resonator
X2X1V
SS
C2C1
Oscillation
frequency (fX)Note 2
2.0 10.0 MHz
2.7 V VDD 5.5 V 2.0 10.0
X1 input
frequency (fX)Note 2 2.0 V VDD < 2.7 V 2.0 5.0
MHz
2.7 V VDD 5.5 V 0.045 0.25
External
clock
X1
X1 input high-
/low-level width
(tXH, tXL)
2.0 V VDD < 2.7 V 0.09 0.25
μ
s
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on
clear (POC) circuit is 2.1 V ±0.1 V.
2. Indicates only oscillator characteristics. Refer to AC Characteristics for instruction execution time.
Caution When using the X1 oscillator, wire as follows in the area enclosed by the broken lines in the above
figures to avoid an adverse effect from wiring capacitance.
Keep the wiring length as short as possible.
Do not cross the wiring with the other signal lines.
Do not route the wiring near a signal line through which a high fluctuating current flows.
Always make the ground point of the oscillator capacitor the same potential as VSS.
Do not ground the capacitor to a ground pattern through which a high current flows.
Do not fetch signals from the oscillator.
Remark For the resonator selection and oscillator constant, users are required to either evaluate the oscillation
themselves or apply to the resonator manufacturer for evaluation.
(2)
μ
PD78F950x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V)
Resonator Recommended Circuit Parameter Conditions MIN. TYP. MAX. Unit
2.7 V VDD 5.5 V 2.0 10.0
External main system clock
frequency (fEXCLK)Note 2 2.0 V VDD < 2.7 V 2.0 5.0
MHz
2.7 V VDD 5.5 V 0.045 0.25
External
clock
EXCLK
External main system clock
input high-/low-level width
(tEXCLKH, tEXCLKL) 2.0 V VDD < 2.7 V 0.09 0.25
μ
s
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on
clear (POC) circuit is 2.1 V ±0.1 V.
2. Indicates only oscillator characteristics. Refer to AC Characteristics for instruction execution time.
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD
296
High-Speed Internal Oscillator Characteristics
(1)
μ
PD78F920x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V)
Resonator Parameter Conditions MIN. TYP. MAX. Unit
TA = 10 to +70°C ±3 %
Oscillation frequency (fX = 8
MHzNote 2) deviation
2.7 V VDD 5.5 V
TA = 40 to +85°C ±5 %
High-speed internal
oscillator
Oscillation frequency (fX)Note 2 2.0 V VDD < 2.7 V 5.5 MHz
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on-
clear (POC) circuit is 2.1 V ±0.1 V.
2. Indicates only oscillator characteristics. Refer to AC Characteristics for instruction execution time.
(2)
μ
PD78F950x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V)
Resonator Parameter Conditions MIN. TYP. MAX. Unit
TA = 10 to +85°C ±2 % 2.7 V VDD 5.5 V
TA = 40 to +85°C ±5 %
High-speed internal
oscillator
Oscillation frequency (fX)Note 2
2.0 V VDD < 2.7 V 5.5 MHz
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on-
clear (POC) circuit is 2.1 V ±0.1 V.
2. Indicates only oscillator characteristics. Refer to AC Characteristics for instruction execution time.
Low-Speed Internal Oscillator Characteristics (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote, VSS = 0 V)
Resonator Parameter Conditions MIN. TYP. MAX. Unit
Low-speed internal oscillator Oscillation frequency (fRL) 120 240 480 kHz
Note Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on clear
(POC) circuit is 2.1 V ±0.1 V.
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 297
DC Characteristics (1/4)
(1)
μ
PD78F920x (TA = 40 to +85°C, VDD = 2.0 to 5.5 V Note, VSS = 0 V) (1/2)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Per pin 2.0 V VDD 5.5 V –5 mA
4.0 V VDD 5.5 V –25 mA
Output current, high IOH
Total of all pins
2.0 V VDD < 4.0 V –15 mA
Per pin 2.0 V VDD 5.5 V 10 mA
4.0 V VDD 5.5 V 30 mA
Output current, low IOL
Total of all pins
2.0 V VDD < 4.0 V 15 mA
VIH1 P23 in external clock mode and pins other than
P20 and P21
0.8VDD VDD V Input voltage, high
VIH2 P23 in other than external clock mode, P20 and
P21
0.7VDD VDD V
VIL1 P23 in external clock mode and pins other than
P20 and P21
0 0.2VDD V Input voltage, low
VIL2 P23 in other than external clock mode, P20 and
P21
0 0.3VDD V
Total of output pins
IOH = –15 mA
4.0 V VDD 5.5 V
IOH = –5 mA
VDD – 1.0 V Output voltage, high VOH
IOH = –100
μ
A 2.0 V VDD < 4.0 V VDD – 0.5 V
Total of output pins
IOL = 30 mA
4.0 V VDD 5.5 V
IOL = 10 mA
1.3 V
Output voltage, low VOL
2.0 V VDD < 4.0 V
IOL = 400
μ
A
0.4 V
Input leakage current, high ILIH VI = VDD Pins other than X1 1
μ
A
Input leakage current, low ILIL VI = 0 V Pins other than X1 –1
μ
A
Output leakage current, high ILOH VO = VDD Pins other than X2 1
μ
A
Output leakage current, low ILOL VO = 0 V Pins other than X2 –1
μ
A
Pull-up resistance value RPU VI = 0 V 10 30 100 kΩ
Pull-down resistance value RPD P22, P23, reset status 10 30 100 kΩ
Note Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on clear
(POC) circuit is 2.1 V ±0.1 V.
Remark Unless specified otherwise, the characteristics of alternate-function pins are the same as those of port pins.
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD
298
DC Characteristics (2/4)
(1)
μ
PD78F920x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V) (2/2)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
When A/D converter is stopped 6.1 12.2
fX = 10 MHz
VDD = 5.0 V ±10%Note 4 When A/D converter is operating 7.6 15.2
mA
When A/D converter is stopped 5.5 11.0
fX = 6 MHz
VDD = 5.0 V ±10%Note 4 When A/D converter is operating 14.0
mA
When A/D converter is stopped 3.0 6.0
IDD1Note 3 Crystal/ceramic
oscillation,
external clock
input oscillation
operating
modeNote 6 fX = 5 MHz
VDD = 3.0 V ±10%Note 5 When A/D converter is operating 4.5 9.0
mA
When peripheral functions are stopped
1.7 3.8
fX = 10 MHz
VDD = 5.0 V ±10%Note 4
When peripheral functions are operating
6.7
mA
When peripheral functions are stopped
1.3 3.0
fX = 6 MHz
VDD = 5.0 V ±10%Note 4
When peripheral functions are operating
6.0
mA
When peripheral functions are stopped
0.48 1
IDD2 Crystal/ceramic
oscillation,
external clock
input HALT
modeNote 6
fX = 5 MHz
VDD = 3.0 V ±10%Note 5
When peripheral functions are operating
2.1
mA
When A/D converter is stopped 5.0 10.0IDD3Note 3 High-speed
internal oscillation
operating
modeNote 7
fX = 8 MHz
VDD = 5.0 V ±10%Note 4 When A/D converter is operating 6.5 13.0
mA
When peripheral functions are stopped
1.4 3.2 IDD4 High-speed
internal oscillation
HALT modeNote 7
fX = 8 MHz
VDD = 5.0 V ±10%Note 4
When peripheral functions are operating
5.9
mA
When low-speed
internal oscillation
is stopped
3.5 20.0VDD = 5.0 V ±10%
When low-speed
internal oscillation
is operating
17.5 32.0
μ
A
When low-speed
internal oscillation
is stopped
3.5 15.5
Supply
currentNote 2
IDD5 STOP mode
VDD = 3.0 V ±10%
When low-speed
internal oscillation
is operating
11.0 26.0
μ
A
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on
clear (POC) circuit is 2.1 V ±0.1 V.
2. Total current flowing through the internal power supply (VDD). However, the current that flows through the
pull-up resistors of ports is not included.
3. I
DD1 and IDD3 include peripheral operation current.
4. When the processor clock control register (PCC) is set to 00H.
5. When the processor clock control register (PCC) is set to 02H.
6. When crystal/ceramic oscillation clock, external clock input is selected as the system clock source using
the option byte.
7. When high-speed internal oscillation clock is selected as the system clock source using the option byte.
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 299
DC Characteristics (3/4)
(2)
μ
PD78F950x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote, VSS = 0 V) (1/2)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Per pin 2.0 V VDD 5.5 V –5 mA
4.0 V VDD 5.5 V –25 mA
Output current, high IOH
Total of all pins
2.0 V VDD < 4.0 V –15 mA
Per pin 2.0 V VDD 5.5 V 10 mA
4.0 V VDD 5.5 V 30 mA
Output current, low IOL
Total of all pins
2.0 V VDD < 4.0 V 15 mA
Input voltage, high VIH1 0.8VDD VDD V
Input voltage, low VIL1 0 0.2VDD V
Total of output pins
IOH = –15 mA
4.0 V VDD 5.5 V
IOH = –5 mA
VDD – 1.0 V Output voltage, high VOH
IOH = –100
μ
A 2.0 V VDD < 4.0 V VDD – 0.5 V
Total of output pins
IOL = 30 mA
4.0 V VDD 5.5 V
IOL = 10 mA
1.3 V
Output voltage, low VOL
2.0 V VDD < 4.0 V
IOL = 400
μ
A
0.4 V
Input leakage current, high ILIH VI = VDD Pins other than EXCLK 1
μ
A
Input leakage current, low ILIL VI = 0 V Pins other than EXCLK –1
μ
A
Output leakage current, high ILOH VO = VDD Pins other than EXCLK 1
μ
A
Output leakage current, low ILOL VO = 0 V Pins other than EXCLK –1
μ
A
VI = 0 V 10 30 100 kΩ Pull-up resistance value RPU
VI = 0 V (P34, reset status) 10 30 100 kΩ
Note Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on clear
(POC) circuit is 2.1 V ±0.1 V.
Remark Unless specified otherwise, the characteristics of alternate-function pins are the same as those of port pins.
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD
300
DC Characteristics (4/4)
(2)
μ
PD78F950x (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V) (2/2)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
fX = 10 MHz
VDD = 5.0 V ±10%Note 4
6.1 12.2 mA
fX = 6 MHz
VDD = 5.0 V ±10%Note 4
5.5 11.0 mA
IDD1Note 3 External clock
input oscillation
operating
modeNote 6
fX = 5 MHz
VDD = 3.0 V ±10%Note 5
3.0 6.0 mA
When peripheral functions are stopped
1.7 3.8
fX = 10 MHz
VDD = 5.0 V ±10%Note 4
When peripheral functions are operating
6.7
mA
When peripheral functions are stopped
1.3 3.0
fX = 6 MHz
VDD = 5.0 V ±10%Note 4
When peripheral functions are operating
6.0
mA
When peripheral functions are stopped
0.48 1
IDD2 External clock
input HALT
modeNote 6
fX = 5 MHz
VDD = 3.0 V ±10%Note 5
When peripheral functions are operating
2.1
mA
IDD3Note 3 High-speed
internal oscillation
operating
modeNote 7
fX = 8 MHz
VDD = 5.0 V ±10%Note 4
5.0 10.0 mA
When peripheral functions are stopped
1.4 3.2 IDD4 High-speed
internal oscillation
HALT modeNote 7
fX = 8 MHz
VDD = 5.0 V ±10%Note 4
When peripheral functions are operating
5.9
mA
When low-speed internal oscillation is
stopped
3.5 20.0VDD = 5.0 V ±10%
When low-speed internal oscillation is
operating
17.5 32.0
μ
A
When low-speed internal oscillation is
stopped
3.5 15.5
Supply
currentNote 2
IDD5 STOP mode
VDD = 3.0 V ±10%
When low-speed internal oscillation is
operating
11.0 26.0
μ
A
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on
clear (POC) circuit is 2.1 V ±0.1 V.
2. Total current flowing through the internal power supply (VDD). However, the current that flows through the
pull-up resistors of ports is not included.
3. I
DD1 and IDD3 include peripheral operation current.
4. When the processor clock control register (PCC) is set to 00H.
5. When the processor clock control register (PCC) is set to 02H.
6. When external clock input is selected as the system clock source using the option byte.
7. When high-speed internal oscillation clock is selected as the system clock source using the option byte.
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 301
AC Characteristics
Basic operation (TA = 40 to +85°C, VDD = 2.0 to 5.5 VNote 1, VSS = 0 V)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
4.0 V VDD 5.5 V 0.2 16
μ
s
3.0 V VDD < 4.0 V 0.33 16
μ
s
2.7 V VDD < 3.0 V 0.4 16
μ
s
Crystal/ceramic oscillation
clockNote 2, external clock
input
2.0 V VDD < 2.7 V 1 16
μ
s
4.0 V VDD 5.5 V 0.23 4.22
μ
s
2.7 V VDD < 4.0 V 0.47 4.22
μ
s
Cycle time (minimum
instruction execution time)
TCY
High-speed internal
oscillation clock
2.0 V VDD < 2.7 V 0.95 4.22
μ
s
4.0 V VDD 5.5 V 2/fsam+
0.1Note 3
μ
s
TI000 input high-level width,
low-level widthNote 2
tTIH,
tTIL
2.0 V VDD < 4.0 V 2/fsam+
0.2Note 3
μ
s
Interrupt input high-level
width, low-level width
tINTH,
tINTL
1
μ
s
RESET input low-level
width
tRSL 2
μ
s
Notes 1. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on
clear (POC) circuit is 2.1 V ±0.1 V.
2.
μ
PD78F920x only
3. Selection of fsam = fXP, fXP/4, or fXP/256 is possible using bits 0 and 1 (PRM000, PRM001) of prescaler mode
register 00 (PRM00). Note that when selecting the TI000 valid edge as the count clock, fsam = fXP.
CPU Clock Frequency, Peripheral Clock Frequency
Parameter Conditions CPU Clock (fCPU) Peripheral Clock (fXP)
4.0 to 5.5 V 125 kHz fCPU 10 MHz
3.0 to 4.0 V 125 kHz fCPU 6 MHz
2.7 to 3.0 V 125 kHz fCPU 5 MHz
500 kHz fXP 10 MHz
Ceramic resonatorNote 1,
crystal resonatorNote 1,
external clock
2.0 to 2.7 VNote 2 125 kHz fCPU 2 MHz 500 kHz fXP 5 MHz
4.0 to 5.5 V 500 kHz (TYP.) fCPU 8 MHz (TYP.)
2.7 to 4.0 V 500 kHz (TYP.) fCPU 4 MHz (TYP.)
2 MHz (TYP.) fXP 8 MHz (TYP.)
High-speed internal
oscillator
2.0 to 2.7 VNote 2 500 kHz (TYP.) fCPU 2 MHz (TYP.) 2 MHz (TYP.) fXP 4 MHz (TYP.)
Notes 1.
μ
PD78F920x only
2. Use this product in a voltage range of 2.2 to 5.5 V because the detection voltage (VPOC) of the power-on
clear (POC) circuit is 2.1 V ±0.1 V.
<R>
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD
302
TCY vs. VDD (Crystal/Ceramic Oscillation ClockNote, External Clock Input)
123456
0.1
0.4
1.0
10
60
0.33
2.7 5.5
16
Guaranteed
operation range
Supply voltage V
DD
[V]
Cycle time T
CY
[ s]
μ
Note
μ
PD78F920x only
TCY vs. VDD (High-speed internal oscillator Clock)
123456
0.1
1.0
10
60
2.7 5.5
0.23
4.22
0.47
0.95
Supply voltage V
DD
[V]
Cycle time T
CY
[ s]
Guaranteed
operation range
μ
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 303
AC Timing Test Points (Excluding X1 Input)
0.8VDD
0.2VDD
0.8VDD
0.2VDD
Test points
Clock Timing
1/fX
tXL tXH
X1 input,
EXCLK input
TI000 Timingv (
μ
PD78F920x only)
t
TIL
t
TIH
TI000
Interrupt Input Timing
INTP0, INTP1
t
INTL
t
INTH
RESET Input Timing
RESET
t
RSL
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD
304
A/D Converter Characteristics (TA = 40 to +85°C, 2.7 V VDD 5.5 VNote 1, VSS = 0 VNote 2) (
μ
PD78F920x only)
(1) A/D converter basic characteristics
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Resolution 10 10 10 bit
4.5 V VDD 5.5 V 3.0 100
μ
s
4.0 V VDD < 4.5 V 4.8 100
μ
s
2.85 V VDD < 4.0 V 6.0 100
μ
s
Conversion time tCONV
2.7 V VDD < 2.85 V 14.0 100
μ
s
Analog input voltage VAIN VSSNote 2 VDD V
(2) A/D Converter Characteristics (high-speed internal oscillation clock)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Overall errorNotes 3, 4 AINL 0.1 to +0.2Note 5 0.35 to +0.45 %FSR
Zero-scale errorNotes 3, 4 Ezs 0.1 to +0.2Note 5 0.35 to +0.45 %FSR
Full-scale errorNotes 3, 4 Efs 0.1 to +0.2Note 5 0.35 to +0.40 %FSR
Integral non-linearity errorNote 3 ILE ±1Note 5 ±3 LSB
Differential non-linearity errorNote 3 DLE ±1Note 5 ±1.5 LSB
(3) A/D Converter Characteristics (Crystal/Ceramic Oscillation Clock, External Clock)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
4.0 V VDD 5.5 V
0.20 to +0.35
Note 5 0.35 to +0.65 %FSR Overall errorNotes 3, 4 AINL
2.7 V VDD < 4.0 V ±0.25Note 5 0.35 to +0.55 %FSR
4.0 V VDD 5.5 V
0.20 to +0.35
Note 5 0.35 to +0.65 %FSR Zero-scale errorNotes 3, 4 Ezs
2.7 V VDD < 4.0 V ±0.25Note 5 0.35 to +0.55 %FSR
4.0 V VDD 5.5 V
0.20 to +0.35
Note 5 0.35 to +0.55 %FSR Full-scale errorNotes 3, 4 Efs
2.7 V VDD < 4.0 V ±0.25Note 5 0.35 to +0.50 %FSR
4.0 V VDD 5.5 V ±1.5Note 5 ±3.0 LSB Integral non-linearity errorNote 3 ILE
2.7 V VDD < 4.0 V ±1.5Note 5 ±4.0 LSB
4.0 V VDD 5.5 V ±1.0Note 5 ±2.5 LSB Differential non-linearity errorNote 3 DLE
2.7 V VDD < 4.0 V ±1.0Note 5 ±2.5 LSB
Notes 1. In
μ
PD78F920x, VDD functions alternately as the A/D converter reference voltage input. When using the
A/D converter, stabilize VDD at the supply voltage used (2.7 to 5.5 V).
2. In
μ
PD78F920x, VSS functions alternately as the ground potential of the A/D converter. Be sure to
connect VSS to a stabilized GND (= 0 V).
3. Excludes quantization error (±1/2 LSB).
4. This value is indicated as a ratio (%FSR) to the full-scale value.
5. A value when HALT mode is set by an instruction immediately after A/D conversion starts.
Caution The conversion accuracy may be degraded when the analog input pin is used as an alternate I/O port
or if the level of a port that is not used for A/D conversion is changed during A/D conversion.
<R>
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 305
POC Circuit Characteristics (TA = 40 to +85°C)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Detection voltage VPOC 2.0 2.1 2.2 V
Power supply rise time tPTH VDD: 0 V 2.1 V 1.5
μ
s
Response delay time 1Note 1 tPTHD When power supply rises, after reaching
detection voltage (MAX.)
3.0 ms
Response delay time 2Note 2 tPD When power supply falls 1.0 ms
Minimum pulse width tPW 0.2 ms
Notes 1. Time required from voltage detection to internal reset release.
2. Time required from voltage detection to internal reset signal generation.
POC Circuit Timing
Supply voltage
(V
DD
)
Detection voltage (MIN.)
Detection voltage (TYP.)
Detection voltage (MAX.)
t
PTH
t
PTHD
t
PW
t
PD
Time
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD
306
LVI Circuit Characteristics (TA = 40 to +85°C)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
VLVI0 4.1 4.3 4.5 V
VLVI1 3.9 4.1 4.3 V
VLVI2 3.7 3.9 4.1 V
VLVI3 3.5 3.7 3.9 V
VLVI4 3.3 3.5 3.7 V
VLVI5 3.15 3.3 3.45 V
VLVI6 2.95 3.1 3.25 V
VLVI7 2.7 2.85 3.0 V
VLVI8 2.5 2.6 2.7 V
Detection voltage
VLVI9 2.25 2.35 2.45 V
Response timeNote 1 tLD 0.2 2.0 ms
Minimum pulse width tLW 0.2 ms
Operation stabilization wait timeNote 2 tLWAIT 0.1 0.2 ms
Notes 1. Time required from voltage detection to interrupt output or internal reset signal generation.
2. Time required from setting LVION to 1 to operation stabilization.
Remarks 1. V
LVI0 > VLVI1 > VLVI2 > VLVI3 > VLVI4 > VLVI5 > VLVI6 > VLVI7 > VLVI8 > VLVI9
2. V
POC < VLVIm (m = 0 to 9)
LVI Circuit Timing
Supply voltage
(V
DD
)
Detection voltage (MIN.)
Detection voltage (TYP.)
Detection voltage (MAX.)
t
LW
t
LD
t
LWAIT
LVION 1 Time
Data Memory STOP Mode Low Supply Voltage Data Retention Characteristics (TA = 40 to +85°C)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Data retention supply voltage VDDDR 2.0 5.5 V
Release signal set time tSREL 0
μ
s
CHAPTER 19 ELECTRICAL SPECIFICATIONS
User’s Manual U18172EJ3V0UD 307
Flash Memory Programming Characteristics (TA = –40 to +85°C, 2.7 V VDD 5.5 V, VSS = 0 V)
Parameter Symbol Conditions MIN. TYP. MAX. Unit
Supply current IDD VDD = 5.5 V 7.0 mA
Erasure countNote 1
(per 1 block)
NERASE TA = 40 to +85°C 1000 Times
4.5 V VDD 5.5 V 0.8 s
3.5 V VDD < 4.5 V 1.0 s
TA = 10 to +85°C,
NERASE 100
2.7 V VDD < 3.5 V 1.2 s
4.5 V VDD 5.5 V 4.8 s
3.5 V VDD < 4.5 V 5.2 s
TA = 10 to +85°C,
NERASE 1000
2.7 V VDD < 3.5 V 6.1 s
4.5 V VDD 5.5 V 1.6 s
3.5 V VDD < 4.5 V 1.8 s
TA = 40 to +85°C,
NERASE 100
2.7 V VDD < 3.5 V 2.0 s
4.5 V VDD 5.5 V 9.1 s
3.5 V VDD < 4.5 V 10.1 s
Chip erase time TCERASE
TA = 40 to +85°C,
NERASE 1000
2.7 V VDD < 3.5 V 12.3 s
4.5 V VDD 5.5 V 0.4 s
3.5 V VDD < 4.5 V 0.5 s
TA = 10 to +85°C,
NERASE 100
2.7 V VDD < 3.5 V 0.6 s
4.5 V VDD 5.5 V 2.6 s
3.5 V VDD < 4.5 V 2.8 s
TA = 10 to +85°C,
NERASE 1000
2.7 V VDD < 3.5 V 3.3 s
4.5 V VDD 5.5 V 0.9 s
3.5 V VDD < 4.5 V 1.0 s
TA = 40 to +85°C,
NERASE 100
2.7 V VDD < 3.5 V 1.1 s
4.5 V VDD 5.5 V 4.9 s
3.5 V VDD < 4.5 V 5.4 s
Block erase time TBERASE
TA = 40 to +85°C,
NERASE 1000
2.7 V VDD < 3.5 V 6.6 s
Byte write time TWRITE TA = 40 to +85°C, NERASE 1000 150
μ
s
Per 1 block 6.8 ms Internal verify TVERIFY
Per 1 byte 27
μ
s
Blank check TBLKCHK Per 1 block 480
μ
s
Retention years TA = 85°CNote 2, NERASE 1000 10 Years
Notes 1. Depending on the erasure count (NERASE), the erase time varies. Refer to the chip erase time and block
erase time parameters.
2. When the average temperature when operating and not operating is 85°C.
Remark When a product is first written after shipment, “erase write” and “write only” are both taken as one rewrite.
User’s Manual U18172EJ3V0UD
308
CHAPTER 20 PACKAGE DRAWING
6
10
1
V
detail of lead end
NOTE
Each lead centerline is located within 0.13 mm
of its true position (T.P.) at maximum material
condition.
ITEM DIMENSIONS
A
B
C
E
F
G
H
I
J
L
M
N
D
0.50
0.65 (T.P.)
0.10±0.05
0.08
+
+
0.08
0.07
1.45 MAX.
1.20
6.40±
±
0.20
4.40±0.10
0.10
1.00±0.20
0.50
0.13
0.10
0.24
K0.17
P3°5°
3°
(UNIT:mm)
P10MA-65-CAC
V
WW
A
I
F
G
EBK
H
J
P
U
L
3.60±
±
0.10
T
U
V
0.25 (T.P.)
0.60±0.15
0.25 MAX.
W0.15 MAX.
5
S
C
S
N
M
DM
T
10-PIN PLASTIC SSOP (5.72 mm (225))
User’s Manual U18172EJ3V0UD 309
CHAPTER 21 RECOMMENDED SOLDERING CONDITIONS
These products should be soldered and mounted under the following recommended conditions.
For technical information, see the following website.
Semiconductor Device Mount Manual (http://www.necel.com/pkg/en/mount/index.html)
Caution For soldering methods and conditions other than those recommended below, contact an NEC
Electronics sales representative.
Table 21-1. Surface Mounting Type Soldering Conditions
10-pin plastic SSOP (lead-free products)
μ
PD78F9200MA-CAC-A, 78F9201MA-CAC-A, 78F9202MA-CAC-A, 78F9500MA-CAC-A, 78F9501MA-CAC-A,
78F9502MA-CAC-A
Soldering Method Soldering Conditions Recommended
Condition Symbol
Infrared reflow Package peak temperature: 260°C, Time: 60 seconds max. (at 220°C or higher),
Count: 3 times or less, Exposure limit: 7 daysNote (after that, prebake at 125°C for
10 to 72 hours)
IR60-107-3
Wave soldering For details, contact an NEC Electronics sales representative.
Partial heating Pin temperature: 350°C max., Time: 3 seconds max. (per pin row)
Note After opening the dry pack, store it at 25°C or less and 65% RH or less for the allowable storage period.
Caution Do not use different soldering methods together (except for partial heating).
<R>
User’s Manual U18172EJ3V0UD
310
APPENDIX A DEVELOPMENT TOOLS
The following development tools are available for development of systems using the 78K0S/KU1+.
Figure A-1 shows the development tool configuration.
<R>
APPENDIX A DEVELOPMENT TOOLS
User’s Manual U18172EJ3V0UD 311
Figure A-1. Development Tools (1/2)
(1) When using the in-circuit emulator QB-78K0SKX1
Language processing software Debugging software
Host machine
(PC or EWS)
QB-78K0SKX1
Note 4
Emulation probe
Target system
Software package
Control software
(Windows only)
Note 3
Power supply unit
USB interface cable
Note 4
78K0/Kx1+
Flash memory
programmer
Note 4
Flash memory
write adapter
< Flash memory write environment >
Conversion adapter
On-board
programming
Off-board
programming
Target connector
· Assembler package
· C compiler package
· Device file
Note 1
· Integrated debugger
Note 1
· System simulator
Note 2
· Software package
· Project manager
Notes 1. Download the device file for 78K0S/Kx1+ microcontrollers (DF789234) and the integrated debugger
ID78K0S-QB from the download site for development tools (http://www.necel.com/micro/en/ods/).
2. SM+ for 78K0S (instruction simulation version) is included in the software package. SM+ for
78K0S/Kx1+ (instruction + peripheral simulation version) is not included.
3. The project manager PM+ is included in the assembler package.
PM+ cannot be used other than with WindowsTM.
4. QB-78K0SKX1 is supplied with the integrated debugger ID78K0S-QB, a USB interface cable, the on-
chip debug emulator with programming function QB-MINI2, a connection cable, and a target cable.
Any other products are sold separately.
APPENDIX A DEVELOPMENT TOOLS
User’s Manual U18172EJ3V0UD
312
Figure A-1. Development Tools (2/2)
(2) When using the on-chip debug emulator with programming function QB-MINI2
Language processing software Debugging software
Host machine
(PC or EWS)
USB interface cable
Note 4
Target connector
Target system
Software package
Control software
(Windows only)
Note 3
QB-MINI2
Note 4
Connection cable
Note 4
Assembler package
C compiler package
Device file
Note 1
Integrated debugger
Note 1
System simulator
Note 2
Software package
Project manager
Notes 1. Download the device file for 78K0S/Kx1+ microcontrollers (DF789234) and the integrated debugger
ID78K0S-QB from the download site for development tools (http://www.necel.com/micro/en/ods/).
2. SM+ for 78K0S (instruction simulation version) is included in the software package. SM+ for
78K0S/Kx1+ (instruction + peripheral simulation version) is not included.
3. The project manager PM+ is included in the assembler package.
PM+ cannot be used other than with Windows.
4. QB-MINI2 is supplied with USB interface cable and connection cable. Any other products are sold
separately. In addition, download the software for operating the QB-MINI2 from the download site for
development tools (http://www.necel.com/micro/en/ods/).
APPENDIX A DEVELOPMENT TOOLS
User’s Manual U18172EJ3V0UD 313
A.1 Software Package
SP78K0S
78K0S microcontroller
software package
Development tools (software) common to the 78K0S microcontrollers are combined in this package.
A.2 Language Processing Software
RA78K0SNote 1
Assembler package
This assembler converts programs written in mnemonics into object codes executable with a
microcontroller.
This assembler is also provided with functions capable of automatically creating symbol tables and
branch instruction optimization.
This assembler should be used in combination with a device file (DF789234).
<Precaution when using RA78K0S in PC environment>
This assembler package is a DOS-based application. It can also be used in Windows, however, by
using the Project Manager (PM+) on Windows. PM+ is included in assembler package.
CC78K0SNote 1
C compiler package
This compiler converts programs written in C language into object codes executable with a
microcontroller.
This compiler should be used in combination with an assembler package and device file.
<Precaution when using CC78K0S in PC environment>
This C compiler package is a DOS-based application. It can also be used in Windows, however, by
using the Project Manager (PM+) on Windows. PM+ is included in assembler package.
DF789234Note 2
Device file
This file contains information peculiar to the device.
This device file should be used in combination with a tool (RA78K0S, CC78K0S, ID78K0S-QB, and
the system simulator).
The corresponding OS and host machine differ depending on the tool to be used.
Notes 1. If the versions of RA78K0S and CC78K0S are Ver.2.00 or later, different versions of RA78K0S and
CC78K0S can be installed on the same machine.
2. The DF789234 can be used in common with the RA78K0S, CC78K0S, ID78K0S-QB, and the system
simulator. Download the DF789234 from the download site for development tools
(http://www.necel.com/micro/en/ods/).
APPENDIX A DEVELOPMENT TOOLS
User’s Manual U18172EJ3V0UD
314
A.3 Flash Memory Writing Tools
A.3.1 When using flash memory programmer PG-FP5 and FL-PR5
FL-PR5, PG-FP5
Flash memory programmer
This is a flash memory programmer dedicated to microcontrollers incorporating a flash
memory.
FA-78F9202MA-CAC-RX
Flash memory writing adapter
This is a flash memory writing adapter which is used in connection with the flash
memory programmer.
Remarks 1. FL-PR5 and FA-78F9202MA-CAC-RX are products of Naito Densei Machida Mfg. Co., Ltd
(http://www.ndk-m.co.jp/, e-mail: info@ndk-m.co.jp).
2. Use the latest version of the flash memory programming adapter.
A.3.2 When using on-chip debug emulator with programming function QB-MINI2
QB-MINI2
On-chip debug emulator with
programming function
This is a flash memory programmer dedicated to microcontrollers with on-chip flash
memory. It is available also as on-chip debug emulator which serves to debug hardware
and software when developing application systems using the 78K0S/Kx1+
microcontrollers. When using this as flash memory programmer, it should be used in
combination with a connection cable and a USB interface cable that is used to connect
the host machine.
Target connector specifications 16-pin general-purpose connector (2.54 mm pitch)
Remark Download the software for operating the QB-MINI2 from the download site for development tools
(http://www.necel.com/micro/en/ods/).
A.4 Debugging Tools (Hardware)
A.4.1 When using in-circuit emulator QB-78K0SKX1
QB-78K0SKX1
In-circuit emulator
This in-circuit emulator serves to debug hardware and software when developing application
systems using the 78K0S/Kx1+ microcontrollers. It supports the integrated debugger
(ID78K0S-QB). This emulator should be used in combination with a power supply unit and
emulation probe, and the USB is used to connect this emulator to the host machine.
QB-50-EP-01TNote
Emulation probe
This is a flexible type emulation probe and is used to connect the in-circuit emulator and target
system.
QB-10MA-EA-01TNote
Exchange adapter
This exchange adapter is used to perform pin conversion from the in-circuit emulator to target
connector.
QB-10MA-NQ-01TNote
Target connector
This target connector is used to mount on the target system.
Specifications of pin header on
target system
0.635 mm × 0.635 mm (height: 6 mm)
(Note and Remarks are listed on the next page or later.)
APPENDIX A DEVELOPMENT TOOLS
User’s Manual U18172EJ3V0UD 315
Remarks 1. The QB-78K0SKX1 is supplied with the integrated debugger ID78K0S-QB, a USB interface cable, the
on-chip debug emulator QB-MINI2, and a connection cable.
Download the software for operating the QB-MINI2 from the download site for development tools
(http://www.necel.com/micro/en/ods/) when using the QB-MINI2.
2. The packed contents of QB-78K0SKX1 differ depending on the part number, as follows.
Packed Contents
Part Number
In-Circuit Emulator Emulation Probe Exchange Adapter Target Connector
QB-78K0SKX1-ZZZ None
QB-78K0SKX1-T10MA
QB-78K0SKX1
QB-50-EP-01T QB-10MA-EA-01T QB-10MA-NQ-01T
A.4.2 When using on-chip debug emulator with programming function QB-MINI2
QB-MINI2
On-chip debug emulator with
programming function
This on-chip debug emulator serves to debug hardware and software when developing
application systems using the 78K0S/Kx1+ microcontrollers. It is available also as flash
memory programmer dedicated to microcontrollers with on-chip flash memory. When
using this as on-chip debug emulator, it should be used in combination with a connection
cable and a USB interface cable that is used to connect the host machine.
Target connector specifications 16-pin general-purpose connector (2.54 mm pitch)
Remark Download the software for operating the QB-MINI2 from the download site for development tools
(http://www.necel.com/micro/en/ods/).
A.5 Debugging Tools (Software)
ID78K0S-QBNote
(supporting
QB-78K0SKX1, QB-MINI2)
Integrated debugger
This debugger supports the in-circuit emulators for the 78K0S/Kx1+ microcontrollers. The
ID78K0S-QB is Windows-based software.
Provided with the debug function supporting C language, source programming, disassemble
display, and memory display are possible.
It should be used in combination with the device file (DF789234).
SM+ for 78K0S
SM+ for 78K0S/Kx1+Note
System simulator
System simulator is Windows-based software.
It is used to perform debugging at the C source level or assembler level while simulating the
operation of the target system on a host machine.
Use of system simulator allows the execution of application logical testing and performance testing
on an independent basis from hardware development, thereby providing higher development
efficiency and software quality.
System simulator should be used in combination with the device file (DF789234).
The following two types of system simulators supporting the 78K0S/Kx1+ microcontrollers are
available.
SM+ for 78K0S (instruction simulation version)
This can only simulate a CPU. It is included in the software package.
SM+ for 78K0S/Kx1+ (instruction + peripheral simulation version)
This can simulate a CPU and peripheral hardware (ports, timers, serial interfaces, etc.).
Note Download the ID78K0S-QB from the download site for development tools
(http://www.necel.com/micro/en/ods/).
User’s Manual U18172EJ3V0UD
316
APPENDIX B NOTES ON DESIGNING TARGET SYSTEM
This chapter shows areas on the target system where component mounting is prohibited and areas where there
are component mounting height restrictions when the QB-78K0SKX1 is used.
For the package drawings of the target connector, exchange adapter, and emulation probe, see the following
website.
http://www.necel.com/micro/en/development/asia/iecube/outline_QB.html
Figure B-1. When using the 78K0S/Kx1+ emulation probe (For 10-Pin MA Package)
: 1pin
Unit : mm
: Exchange adapter tip area Components up to 3.5 mm high can be mounted.
: Target connector area
: Exchange adapter mounted-component area Components up to 2.0 mm high can be mounted.
Center point of
Target connector
Top view
9.0
7.5
6.4
4.5
5.9
4.1
: 1pin
Unit : mm
: Exchange adapter tip area Components up to 3.5 mm high can be mounted.
: Target connector area
: Exchange adapter mounted-component area
: Exchange adapter tip area Components up to 3.5 mm high can be mounted.
: Target connector area
: Exchange adapter mounted-component area Components up to 2.0 mm high can be mounted.
Center point of
Target connector
Top view
9.0
7.5
6.4
4.5
5.9
4.1
Center point of
Target connector
Top view
9.0
7.5
6.4
4.5
5.9
4.1
9.0
7.5
6.4
4.5
5.9
4.1
Overview
Viewing direction
EP
EA
TC
IECUBE
Overview
Viewing direction
EP
EA
TC
IECUBE
Note EP: Emulation probe
EA: Exchange adapter
TC: Target connector
<R>
APPENDIX B NOTES ON TARGET SYSTEM DESIGN
User’s Manual U18172EJ3V0UD 317
Figure B-2. When using the 78K0S/Kx1+ target cable (single track)
: A interval pin header More than 2.54mm
Unit : mm
: A contact area of a pin header 0.635 ×0.635mm (Height: 6mm)
Top view
2.54
2.54
: A interval pin header More than 2.54mm
Unit : mm
: A contact area of a pin header 0.635 ×0.635mm (Height: 6mm)
Top view
2.54
2.54
Overview
Viewing direction
Target cable
Pin header
IECUBE
User’s Manual U18172EJ3V0UD
318
APPENDIX C REGISTER INDEX
C.1 Register Index (Register Name)
[A]
A/D converter mode register (ADM) … 161
Analog input channel specification register (ADS) … 164
[C]
Capture/compare control register 00 (CRC00) … 97
[E]
8-bit A/D conversion result register (ADCRH) … 165
8-bit timer H compare register 01 (CMP01) … 133
8-bit timer H compare register 11 (CMP11) … 133
8-bit timer H mode register 1 (TMHMD1) … 134
External interrupt mode register 0 (INTM0) … 180
[F]
Flash address pointer H compare register (FLAPHC)… 242
Flash address pointer L compare register (FLAPLC) … 242
Flash address pointer H (FLAPH) … 242
Flash address pointer L (FLAPL) … 242
Flash programming command register (FLCMD) … 241
Flash programming mode control register (FLPMC) … 237
Flash protect command register (PFCMD) … 239
Flash status register (PFS) … 239
Flash write buffer register (FLW) … 243
[I]
Interrupt mask flag register 0 (MK0) … 180
Interrupt request flag register 0 (IF0) … 179
[L]
Low-speed internal oscillation mode register (LSRCM) … 77
Low-voltage detect register (LVIM) … 209
Low-voltage detection level select register (LVIS) … 210
[O]
Oscillation stabilization time select register (OSTS) … 78, 188
APPENDIX C REGISTER INDEX
User’s Manual U18172EJ3V0UD 319
[P]
Port mode control register 2 (PMC2) … 68, 100, 136, 165
Port mode register 2 (PM2) … 67, 100, 136, 165
Port mode register 3 (PM3) … 67
Port mode register 4 (PM4) … 67
Port register 2 (P2) … 68
Port register 3 (P3) … 68
Port register 4 (P4) … 68
Preprocessor clock control register (PPCC) … 76
Prescaler mode register 00 (PRM00) … 99
Processor clock control register (PCC) … 76
Pull-up resistor option register 2 (PU2) … 70
Pull-up resistor option register 3 (PU3) … 70
Pull-up resistor option register 4 (PU4) … 70
[R]
Reset control flag register (RESF) … 203
[T]
10-bit A/D conversion result register (ADCR) … 164
[S]
16-bit timer capture/compare register 000 (CR000) … 92
16-bit timer capture/compare register 010 (CR010) … 94
16-bit timer counter 00 (TM00) … 92
16-bit timer mode control register 00 (TMC00) … 95
16-bit timer output control register 00 (TOC00) … 98
[W]
Watchdog timer enable register (WDTE) … 150
Watchdog timer mode register (WDTM) … 149
APPENDIX C REGISTER INDEX
User’s Manual U18172EJ3V0UD
320
C.2 Register Index (Symbol)
[A]
ADCR: 10-bit A/D conversion result register … 164
ADCRH: 8-bit A/D conversion result register … 165
ADM: A/D converter mode register … 161
ADS: Analog input channel specification register … 164
[C]
CMP01: 8-bit timer H compare register 01 … 133
CMP11: 8-bit timer H compare register 11 … 133
CR000: 16-bit timer capture/compare register 000 … 92
CR010: 16-bit timer capture/compare register 010 … 94
CRC00: Capture/compare control register 00 … 97
[F]
FLAPH: Flash address pointer H … 242
FLAPHC: Flash address pointer H compare register … 242
FLAPL: Flash address pointer L … 242
FLAPLC: Flash address pointer L compare register … 242
FLCMD: Flash programming command register … 241
FLPMC: Flash programming mode control register … 237
FLW: Flash write buffer register … 243
[I]
IF0: Interrupt request flag register 0 … 179
INTM0: External interrupt mode register 0 … 180
[L]
LSRCM: Low-speed internal oscillation mode register … 77
LVIM: Low-voltage detect register … 209
LVIS: Low-voltage detection level select register … 210
[M]
MK0: Interrupt mask flag register 0 … 180
[O]
OSTS: Oscillation stabilization time select register … 78, 188
APPENDIX C REGISTER INDEX
User’s Manual U18172EJ3V0UD 321
[P]
P2: Port register 2 … 68
P3: Port register 3 … 68
P4: Port register 4 … 68
PCC: Processor clock control register … 76
PFCMD: Flash protect command register … 239
PFS: Flash status register … 239
PM2: Port mode register 2 … 67, 100, 136, 165
PM3: Port mode register 3 … 67
PM4: Port mode register 4 … 67
PMC2: Port mode control register 2 … 68, 100, 136, 165
PPCC: Preprocessor clock control register … 76
PRM00: Prescaler mode register 00 … 99
PU2: Pull-up resistor option register 2 … 70
PU3: Pull-up resistor option register 3 … 70
PU4: Pull-up resistor option register 4 … 70
[R]
RESF: Reset control flag register … 203
[T]
TM00: 16-bit timer counter 00 … 92
TMC00: 16-bit timer mode control register 00 … 95
TMHMD1: 8-bit timer H mode register 1 … 134
TOC00: 16-bit timer output control register 00 … 98
[W]
WDTE: Watchdog timer enable register … 150
WDTM: Watchdog timer mode register … 149
User’s Manual U18172EJ3V0UD
322
APPENDIX D LIST OF CAUTIONS
This appendix lists cautions described in this document.
“Classification (hard/soft)” in table is as follows.
Hard: Cautions for microcontroller internal/external hardware
Soft: Cautions for software such as register settings or programs
(1/15)
Chapter
Classification
Function Details of
Function
Cautions Page
pp. 21, P22/X2/ANI2,
P23/X1/ANI3
(
μ
PD78F920x)
The P22/X2/ANI2, P23/X1/ANI3 pins are pulled down during reset.
22, 24, 25
pp. 23
Chapter 2
Hard
Pin
functions
P22,
P23/EXCLK,
P34/RESET
(
μ
PD78F950x)
The P22 and P23/EXCLK pins are pulled down during reset. The P34/RESET
pin is pulled up during reset by the reset pin function/power-on clear circuit. 24, 25, 26
Since reset signal generation makes the SP contents undefined, be sure to
initialize the SP before using the stack memory.
p. 38
Chapter 3
Soft
Memory
space
SP: stack
pointer
Stack pointers can be set only to the high-speed RAM area, and only the lower
10 bits can be actually set.
0FF00H is in the SFR area, not the high-speed RAM area, so it was converted
to 0FB00H that is in the high-speed RAM area. When the value is actually
pushed onto the stack, 1 is subtracted from 0FB00H to become 0FAFFH, but
that value is not in the high-speed RAM area, so it is converted to 0FEFFH,
which is the same value as when 0FF00H is set to the stack pointer.
p. 38
P22/X2/ANI2,
P23/X1/ANI3
(
μ
PD78F920x)
The P22/X2/ANI2, P23/X1/ANI3 pins are pulled down during reset. p. 54
P22,
P23/EXCLK,
P34/RESET
(
μ
PD78F950x)
The P22 and P23/EXCLK pins are pulled down during reset. The P34/RESET
pin is pulled up during reset by the reset pin function/power-on clear circuit.
p. 55
P34
(
μ
PD78F920x)
Because the P34 pin functions alternately as the RESET pin, if it is used as an
input port pin, the function to input an external reset signal to the RESET pin
cannot be used. The function of the port is selected by the option byte. For
details, refer to CHAPTER 15 OPTION BYTE.
Also, since the option byte is referenced after the reset release, if low level is
input to the RESET pin before the referencing, then the reset state is not
released. When it is used as an input port pin, connect the pull-up resistor.
p. 65
Chapter 4
Hard
Port
functions
P34
(
μ
PD78F950x)
Because the P34 pin functions alternately as the RESET pin, if it is used as an
input port pin, the function to input an external reset signal to the RESET pin
cannot be used. The function of the port is selected by the option byte. For
details, refer to CHAPTER 15 OPTION BYTE.
Also, since the option byte is referenced after the reset release, if low level is
input to the RESET pin before the referencing, then the reset state is not
released. When it is used as an input port pin, connect an on-chip pull-up
resistor by using bit 4 (PU34) of pull-up resistor option register 3 (PU3).
p. 65
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 323
(2/15)
Chapter
Classification
Function Details of
Function
Cautions Page
P21, P32 Because P21 and P32 are also used as external interrupt pins, the corresponding
interrupt request flag is set if each of these pins is set to the output mode and its
output level is changed. To use the port pin in the output mode, therefore, set the
corresponding interrupt mask flag to 1 in advance.
p. 67
PMC2: Port
mode control
register 2
(
μ
PD78F920x
only)
When PMC20 to PMC23 are set to 1, the port function on the P20/ANI0 to
P23/ANI3 pins cannot be used. Moreover, be sure to set the pull-up resistor
option registers (PU20 to PU23) to 0 for the pins set to A/D converter mode.
p. 69
Chapter 4
Hard
Port
functions
Although a 1-bit memory manipulation instruction manipulates 1 bit, it accesses a
port in 8-bit units. Therefore, the contents of the output latch of a pin in the input
mode, even if it is not subject to manipulation by the instruction, are undefined in
a port with a mixture of inputs and outputs.
p. 71
To set and then release the STOP mode, set the oscillation stabilization time as
follows.
Expected oscillation stabilization time of resonator Oscillation stabilization time
set by OSTS
p. 78
The wait time after the STOP mode is released does not include the time from the
release of the STOP mode to the start of clock oscillation (“a” in the figure below),
regardless of whether STOP mode was released by reset input or interrupt
generation.
p. 78
Soft
Main clock OSTS:
Oscillation
stabilization
time select
register
(
μ
PD78F920x
only)
The oscillation stabilization time that elapses on power application or after release
of reset is selected by the option byte. For details, refer to CHAPTER 15
OPTION BYTE.
p. 78
Chapter 5
Hard
Crystal/
ceramic
oscillator
(
μ
PD78F9
20x only)
When using the crystal/ceramic oscillator, wire as follows in the area enclosed by
the broken lines in Figure 5-6 to avoid an adverse effect from wiring capacitance.
• Keep the wiring length as short as possible.
• Do not cross the wiring with the other signal lines. Do not route the wiring
near a signal line through which a high fluctuating current flows.
• Always make the ground point of the oscillator capacitor the same potential
as VSS. Do not ground the capacitor to a ground pattern through which a high
current flows.
• Do not fetch signals from the oscillator.
p. 79
Even if TM00 is read, the value is not captured by CR010. pp. 92,
124
Hard
TM00: 16-bit
timer counter
00 When TM00 is read, count misses do not occur, since the input of the count clock
is temporarily stopped and then resumed after the read.
pp. 92,
124
Set CR000 to other than 0000H in the clear & start mode entered on match
between TM00 and CR000. This means a 1-pulse count operation cannot be
performed when this register is used as an external event counter. However, in
the free-running mode and in the clear & start mode using the valid edge of the
TI000 pin, if CR000 is set to 0000H, an interrupt request (INTTM000) is generated
when CR000 changes from 0000H to 0001H following overflow (FFFFH).
pp. 93,
124
Chapter 6
Soft
16-bit
timer/
event
counters
00
(
μ
PD78F9
20x only)
CR000: 16-bit
timer capture/
compare
register 000
If the new value of CR000 is less than the value of 16-bit timer counter 0 (TM00),
TM00 continues counting, overflows, and then starts counting from 0 again. If the
new value of CR000 is less than the old value, therefore, the timer must be reset
to be restarted after the value of CR000 is changed.
pp.93,
124
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
324
(3/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Soft
The value of CR000 after 16-bit timer/event counter 00 has stopped is not
guaranteed.
pp. 93,
125
The capture operation may not be performed for CR000 set in compare mode
even if a capture trigger is input.
pp. 93,
127
16-bit
timer/
event
counters
00
(
μ
PD78F9
20x only)
CR000: 16-bit
timer capture/
compare
register 000
When P21 is used as the input pin for the valid edge of TI010, it cannot be used
as a timer output (TO00). Moreover, when P21 is used as TO00, it cannot be
used as the input pin for the valid edge of TI010.
pp. 93,
129
Hard
If the register read period and the input of the capture trigger conflict when CR000
is used as a capture register, the capture trigger input takes precedence and the
read data is undefined. Also, if the count stop of the timer and the input of the
capture trigger conflict, the capture trigger is undefined.
pp. 93,
126
Changing the CR000 setting may cause a malfunction. To change the setting,
refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter 00 (17) Changing
compare register during timer operation.
p. 93
In the free-running mode and in the clear & start mode using the valid edge of the
TI000 pin, if CR010 is set to 0000H, an interrupt request (INTTM010) is generated
when CR010 changes from 0000H to 0001H following overflow (FFFFH).
pp. 94,
124
If the new value of CR010 is less than the value of 16-bit timer counter 0 (TM00),
TM00 continues counting, overflows, and then starts counting from 0 again. If the
new value of CR010 is less than the old value, therefore, the timer must be reset
to be restarted after the value of CR010 is changed.
pp. 94,
124
Soft
The value of CR010 after 16-bit timer/event counter 00 has stopped is not
guaranteed.
pp. 94,
125
The capture operation may not be performed for CR010 set in compare mode
even if a capture trigger is input.
pp. 94,
127
Hard
If the register read period and the input of the capture trigger conflict when CR010
is used as a capture register, the capture trigger input takes precedence and the
read data is undefined. Also, if the timer count stop and the input of the capture
trigger conflict, the capture data is undefined.
pp. 94,
126
CR010: 16-bit
capture/
compare
register 010
Changing the CR010 setting during TM00 operation may cause a malfunction. To
change the setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter
00 (17) Changing compare register during timer operation.
p. 95
16-bit timer counter 00 (TM00) starts operation at the moment TMC002 and
TMC003 (operation stop mode) are set to a value other than 0, 0, respectively.
Set TMC002 and TMC003 to 0, 0 to stop the operation.
pp. 95,
124
Soft
The timer operation must be stopped before writing to bits other than the OVF00
flag.
pp. 96,
125
Hard
If the timer is stopped, timer counts and timer interrupts do not occur, even if a
signal is input to the TI000/TI010 pins.
pp. 96,
124
Except when TI000 pin valid edge is selected as the count clock, stop the timer
operation before setting STOP mode or system clock stop mode; otherwise the
timer may malfunction when the system clock starts.
pp. 96,
129
Set the valid edge of the TI000 pin with bits 4 and 5 of prescaler mode register 00
(PRM00) after stopping the timer operation.
pp. 96,
125
Chapter 6
Soft
TMC00: 16-bit
timer mode
control register
00
If the clear & start mode entered on a match between TM00 and CR000, clear &
start mode at the valid edge of the TI000 pin, or free-running mode is selected,
when the set value of CR000 is FFFFH and the TM00 value changes from FFFFH
to 0000H, the OVF00 flag is set to 1.
pp. 96,
126
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 325
(4/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Even if the OVF00 flag is cleared before the next count clock is counted (before
TM00 becomes 0001H) after the occurrence of a TM00 overflow, the OVF00 flag
is re-set newly and clear is disabled.
pp. 96,
126
Chapter 6
Soft
16-bit
timer/
event
counters
00
(
μ
PD78F
920x
only)
TMC00: 16-bit
timer mode
control register
00 The capture operation is performed at the fall of the count clock. An interrupt
request input (INTTM0n0), however, occurs at the rise of the next count clock.
pp. 96,
127
The timer operation must be stopped before setting CRC00. pp. 97,
125
When the clear & start mode entered on a match between TM00 and CR000 is
selected by 16-bit timer mode control register 00 (TMC00), CR000 should not be
specified as a capture register.
pp. 97,
124
Hard
CRC00:
Capture/
compare control
register 00
To ensure the reliability of the capture operation, the capture trigger requires a
pulse longer than two cycles of the count clock selected by prescaler mode
register 00 (PRM00) (refer to Figure 6-18).
pp. 97,
127
Timer operation must be stopped before setting other than OSPT00. pp. 98,
125
If LVS00 and LVR00 are read, 0 is read. pp. 98,
125
OSPT00 is automatically cleared after data is set, so 0 is read. pp. 98,
125
Soft
Do not set OSPT00 to 1 other than in one-shot pulse output mode. pp. 98,
125
Hard
A write interval of two cycles or more of the count clock selected by prescaler
mode register 00 (PRM00) is required, when OSPT00 is set to 1 successively.
pp. 98,
125
Soft
TOC00: 16-bit
timer output
control register
00
When the TOE00 is 0, set the TOE00, LVS00, and LVR00 at the same time with
the 8-bit memory manipulation instruction. When the TOE00 is 1, the LVS00 and
LVR00 can be set with the 1-bit memory manipulation instruction.
p. 99
Always set data to PRM00 after stopping the timer operation. pp. 99,
125
Soft
If the valid edge of the TI000 pin is to be set as the count clock, do not set the
clear/start mode and the capture trigger at the valid edge of the TI000 pin.
pp. 99,
127
Hard
PRM00:
Prescaler mode
register 00
In the following cases, note with caution that the valid edge of the TI0n0 pin is
detected.
<1> Immediately after a system reset, if a high level is input to the TI0n0 pin, the
operation of the 16-bit timer counter 00 (TM00) is enabled
If the rising edge or both rising and falling edges are specified as the valid edge
of the TI0n0 pin, a rising edge is detected immediately after the TM00
operation is enabled.
<2> If the TM00 operation is stopped while the TI0n0 pin is high level, TM00
operation is then enabled after a low level is input to the TI0n0 pin
If the falling edge or both rising and falling edges are specified as the valid
edge of the TI0n0 pin, a falling edge is detected immediately after the TM00
operation is enabled.
<3> If the TM00 operation is stopped while the TI0n0 pin is low level, TM00
operation is then enabled after a high level is input to the TI0n0 pin
If the rising edge or both rising and falling edges are specified as the valid edge
of the TI0n0 pin, a rising edge is detected immediately after the TM00
operation is enabled.
pp. 100,
129
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
326
(5/15)
Chapter
Classification
Function Details of
Function
Cautions Page
The sampling clock used to eliminate noise differs when a TI000 valid edge is
used as the count clock and when it is used as a capture trigger. In the former
case, the count clock is fXP, and in the latter case the count clock is selected by
prescaler mode register 00 (PRM00). The capture operation is not performed
until the valid edge is sampled and the valid level is detected twice, thus
eliminating noise with a short pulse width.
pp. 100,
129
Hard
PRM00:
Prescaler mode
register 00
When using P21 as the input pin (TI010) of the valid edge, it cannot be used as a
timer output (TO00). When using P21 as the timer output pin (TO00), it cannot be
used as the input pin (TI010) of the valid edge.
pp. 100,
129
Interval timer Changing the CR000 setting during TM00 operation may cause a malfunction. To
change the setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter
00 (17) Changing compare register during timer operation.
p. 101
External event
counter
When reading the external event counter count value, TM00 should be read.
pp. 105,
129
To use two capture registers, set the TI000 and TI010 pins.
pp. 106,
127
pp. 106,
Pulse width
measurement
The measurable pulse width in this operation example is up to 1 cycle of the timer
counter.
108, 110,
112
Square-wave
output
Changing the CR000 setting during TM00 operation may cause a malfunction. To
change the setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event Counter
00 (17) Changing compare register during timer operation.
p. 114
Changing the CRC0n0 setting during TM00 operation may cause a malfunction.
To change the setting, refer to 6.5 Cautions Related to 16-Bit Timer/Event
Counter 00 (17) Changing compare register during timer operation.
p. 116
Values in the following range should be set in CR000 and CR010.
0000H < CR010 < CR000 FFFFH
pp. 117,
129
PPG output
The cycle of the pulse generated through PPG output (CR000 setting value + 1)
has a duty of (CR010 setting value + 1)/(CR000 setting value + 1).
pp. 117,
129
Soft
Do not set the OSPT00 bit to 1 again while the one-shot pulse is being output. To
output the one-shot pulse again, wait until the current one-shot pulse output is
completed.
pp. 119,
125
Hard
When using the one-shot pulse output of 16-bit timer/event counter 00 with a
software trigger, do not change the level of the TI000 pin or its alternate-function
port pin. Because the external trigger is valid even in this case, the timer is
cleared and started even at the level of the TI000 pin or its alternate-function port
pin, resulting in the output of a pulse at an undesired timing.
pp. 119,
125
Do not set 0000H to the CR000 and CR010 registers. pp. 120,
126
Soft
One-shot pulse
output: software
trigger
16-bit timer counter 00 starts operating as soon as a value other than 00
(operation stop mode) is set to the TMC003 and TMC002 bits.
pp. 121,
124
Hard
Do not input the external trigger again while the one-shot pulse is output. To
output the one-shot pulse again, wait until the current one-shot pulse output is
completed.
pp. 121,
126
Do not set the CR000 and CR010 registers to 0000H. pp. 122,
126
Chapter 6
Soft
16-bit
timer/
event
counters
00
(
μ
PD78F9
20x only)
One-shot pulse
output: external
trigger
16-bit timer counter 00 starts operating as soon as a value other than 00
(operation stop mode) is set to the TMC002 and TMC003 bits.
pp. 123,
124
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 327
(6/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Hard
Timer start
errors
An error of up to one clock may occur in the time required for a match signal to be
generated after timer start. This is because 16-bit timer counter 00 (TM00) is
started asynchronously to the count clock.
p. 124
One-shot pulse
output
One-shot pulse output normally operates only in the free-running mode or in the
clear & start mode at the valid edge of the TI000 pin. Because an overflow does
not occur in the clear & start mode on a match between TM00 and CR000, one-
shot pulse output is not possible.
p. 125
When the CRC001 bit value is 1, capture is not performed in the CR000 register if
both the rising and falling edges have been selected as the valid edges of the
TI000 pin.
p. 127Capture
operation
When the CRC001 bit value is 1, the TM00 count value is not captured in the
CR000 register when a valid edge of the TI010 pin is detected, but the input from
the TI010 pin can be used as an external interrupt source because INTTM000 is
generated at that timing.
p. 127
With the 16-bit timer capture/compare register 0n0 (CR0n0) used as a compare
register, when changing CR0n0 around the timing of a match between 16-bit timer
counter 00 (TM00) and 16-bit timer capture/compare register 0n0 (CR0n0) during
timer counting, the change timing may conflict with the timing of the match, so the
operation is not guaranteed in such cases. To change CR0n0 during timer
counting, INTTM000 interrupt servicing performs the following operation.
p. 128Changing
compare
register during
timer operation
If CR010 is changed during timer counting without performing processing <1>
above, the value in CR010 may be rewritten twice or more, causing an inversion
of the output level of the TO00 pin at each rewrite.
p. 128
Soft
External event
counter
The timing of the count start is after two valid edge detections. p. 129
When using an input pulse of the TI000 pin as a count clock (external trigger), be
sure to input the pulse width which satisfies the AC characteristics. For the AC
characteristics, refer to CHAPTER 19 ELECTRICAL SPECIFICATIONS.
p. 130
Chapter 6
Hard
16-bit
timer/
event
counters
00
(
μ
PD78F9
20x only)
External clock
limitation
When an external waveform is input to 16-bit timer/event counter 00, it is sampled
by the noise limiter circuit and thus an error occurs on the timing to become valid
inside the device.
p. 130
CMP01: 8-bit
timer H
compare
register 01
CMP01 cannot be rewritten during timer count operation. p. 133
CMP11: 8-bit
timer H
compare
register 11
In the PWM output mode, be sure to set CMP11 when starting the timer count
operation (TMHE1 = 1) after the timer count operation was stopped (TMHE1 = 0)
(be sure to set again even if setting the same value to CMP11).
p. 133
When TMHE1 = 1, setting the other bits of the TMHMD1 register is prohibited. p. 135
Soft
TMHMD1: 8-bit
timer H mode
register 1
In the PWM output mode, be sure to set 8-bit timer H compare register 11
(CMP11) when starting the timer count operation (TMHE1 = 1) after the timer
count operation was stopped (TMHE1 = 0) (be sure to set again even if setting the
same value to the CMP11 register).
p. 135
Hard
In PWM output mode, the setting value for the CMP11 register can be changed
during timer count operation. However, three operation clocks (signal selected
using the CKS12 to CKS10 bits of the TMHMD1 register) or more are required to
transfer the register value after rewriting the CMP11 register value.
p. 141
Chapter 7
Soft
8-bit timer
H1
PWM output
Be sure to set the CMP11 register when starting the timer count operation
(TMHE1 = 1) after the timer count operation was stopped (TMHE1 = 0) (be sure
to set again even if setting the same value to the CMP11 register).
p. 141
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
328
(7/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Chapter 7
Soft
8-bit timer
H1
PWM output Make sure that the CMP11 register setting value (M) and CMP01 register setting
value (N) are within the following range.
00H CMP11 (M) < CMP01 (N) FFH
p. 141
Set bits 7, 6, and 5 to 0, 1, and 1, respectively. Do not set the other values. p. 149
After reset is released, WDTM can be written only once by an 8-bit memory
manipulation instruction. If writing is attempted a second time, an internal reset
signal is generated. However, at the first write, if “1” and “x” are set for WDCS4
and WDCS3 respectively and the watchdog timer is stopped, then the internal
reset signal does not occur even if the following are executed.
Second write to WDTM
1-bit memory manipulation instruction to WDTE
Writing of a value other than “ACH” to WDTE
p. 150
WDTM cannot be set by a 1-bit memory manipulation instruction. p. 150
WDTM:
Watchdog timer
mode register
When using the flash memory programming by self programming, set the overflow
time for the watchdog timer so that enough overflow time is secured (Example 1-
byte writing: 200
μ
s MIN., 1-block deletion: 10 ms MIN.).
p. 150
If a value other than ACH is written to WDTE, an internal reset signal is
generated.
p. 150
If a 1-bit memory manipulation instruction is executed for WDTE, an internal reset
signal is generated.
p. 150
Soft
WDTE:
Watchdog timer
enable register
The value read from WDTE is 9AH (this differs from the written value (ACH)). p. 150
When “low-
speed internal
oscillator cannot
be stopped” is
selected by
option byte
In this mode, operation of the watchdog timer cannot be stopped even during
STOP instruction execution. For 8-bit timer H1 (TMH1), a division of the low-
speed internal oscillation clock can be selected as the count source, so clear the
watchdog timer using the interrupt request of TMH1 before the watchdog timer
overflows after STOP instruction execution. If this processing is not performed,
an internal reset signal is generated when the watchdog timer overflows after
STOP instruction execution.
p. 151
Chapter 8
Hard
Watchdog
timer
When “low-
speed internal
oscillator can be
stopped by
software” is
selected by
option byte
In this mode, watchdog timer operation is stopped during HALT/STOP instruction
execution. After HALT/STOP mode is released, counting is started again using
the operation clock of the watchdog timer set before HALT/STOP instruction
execution by WDTM. At this time, the counter is not cleared to 0 but holds its
value.
p. 153
Soft
Sampling time
and A/D
conversion time
The above sampling time and conversion time do not include the clock frequency
error. Select the sampling time and conversion time such that Notes 2 and 3
above are satisfied, while taking the clock frequency error into consideration (an
error margin maximum of ±5% when using the high-speed internal oscillator).
p. 158
In
μ
PD78F920x, VSS functions alternately as the ground potential of the A/D
converter. Be sure to connect VSS to a stabilized GND (= 0 V).
p. 159
Hard
Block Diagram
In
μ
PD78F920x, VDD functions alternately as the A/D converter reference voltage
input. When using the A/D converter, stabilize VDD at the supply voltage used
(2.7 to 5.5 V).
p. 159
Chapter 9
Soft
A/D
converter
(
μ
PD78F9
20x only)
ADM: A/D
converter mode
register
The above sampling time and conversion time do not include the clock frequency
error. Select the sampling time and conversion time such that Notes 3 and 4
above are satisfied, while taking the clock frequency error into consideration (an
error margin maximum of ±5% when using the high-speed internal oscillator).
p. 163
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 329
(8/15)
Chapter
Classification
Function Details of
Function
Cautions Page
If a bit other than ADCS of ADM is manipulated while A/D conversion is stopped
(ADCS = 0) and then A/D conversion is started, execute two NOP instructions or
an instruction equivalent to two machine cycles, and set ADCS to 1.
p. 163
A/D conversion must be stopped (ADCS = 0) before rewriting bits FR0 to FR2. p. 163
ADM: A/D
converter mode
register
Be sure to clear bits 6, 2, and 1 to 0. p. 163
ADS: Analog
input channel
specification
register
Be sure to clear bits 2 to 7 of ADS to 0. p. 164
ADCR: 10-bit
A/D conversion
result register
When writing to the A/D converter mode register (ADM) and analog input channel
specification register (ADS), the contents of ADCR may become undefined. Read
the conversion result following conversion completion before writing to ADM and
ADS. Using timing other than the above may cause an incorrect conversion result
to be read.
p. 164
PMC2: Port
mode control
register 2
If PMC20 to PMC23 are set to 1, the P20/ANI0/TI000/TOH1,
P21/ANI1/TIO10/TO00/INTP0, P22/ANI2, and P23/ANI3 pins cannot be used for
any purpose other than the A/D converter function.
Be sure to set 0 to the Pull-up resistor option register of the pin set in A/D
converter mode.
p. 165
Make sure the period of <1> to <4> is 1
μ
s or more. pp. 166,
170
It is no problem if the order of <1> and <2> is reversed. pp. 166,
170
<1> can be omitted. However, ignore the data resulting from the first conversion
after <4> in this case.
p. 170
Soft
A/D converter
operations
The period from <5> to <8> differs from the conversion time set using bits 5 to 3
(FR2 to FR0) of ADM. The period from <7> to <8> is the conversion time set
using FR2 to FR0.
p. 170
Operating
current in STOP
mode
To satisfy the DC characteristics of supply current in STOP mode, clear bit 7
(ADCS) and bit 0 (ADCE) of the A/D converter mode register (ADM) to 0 before
executing the STOP instruction.
p. 173
Hard
Input range of
ANI0 to ANI3
Observe the rated range of the ANI0 to ANI3 input voltage. If a voltage of VDD or
higher and VSS or lower (even in the range of absolute maximum ratings) is input
to an analog input channel, the converted value of that channel becomes
undefined. In addition, the converted values of the other channels may also be
affected.
p. 173
Conflict between A/D conversion result register (ADCR, ADCRH) write and
ADCR, ADCRH read by instruction upon the end of conversion ADCR, ADCRH
read has priority. After the read operation, the new conversion result is written to
ADCR, ADCRH.
p. 173
Chapter 9
Soft
A/D
converter
(
μ
PD78F9
20x only)
Conflicting
operations
Conflict between ADCR, ADCRH write and A/D converter mode register (ADM)
write or analog input channel specification register (ADS) write upon the end of
conversion ADM or ADS write has priority. ADCR, ADCRH write is not
performed, nor is the conversion end interrupt signal (INTAD) generated.
p. 173
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
330
(9/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Noise
countermeasures
To maintain the 10-bit resolution, attention must be paid to noise input to the VDD
pin and ANI0 to ANI3 pins.
<1> Connect a capacitor with a low equivalent resistance and a high frequency
response to the power supply.
<2> Because the effect increases in proportion to the output impedance of the
analog input source, it is recommended that a capacitor be connected
externally, as shown in Figure 9-19, to reduce noise.
<3> Do not switch the A/D conversion function of the ANI0 to ANI3 pins to their
alternate functions during conversion.
<4> The conversion accuracy can be improved by setting HALT mode
immediately after the conversion starts.
p. 173
The analog input pins (ANI0 to ANI3) are also used as input port pins (P20 to
P23).
When A/D conversion is performed with any of ANI0 to ANI3 selected, do not
access P20 to P23 while conversion is in progress; otherwise the conversion
resolution may be degraded.
p. 174
ANI0/P20 to
ANI3/P23
If a digital pulse is applied to the pins adjacent to the pins currently used for A/D
conversion, the expected value of the A/D conversion may not be obtained due to
coupling noise. Therefore, do not apply a pulse to the pins adjacent to the pin
undergoing A/D conversion.
p. 174
Hard
Input
impedance of
ANI0 to ANI3
pins
In this A/D converter, the internal sampling capacitor is charged and sampling is
performed during sampling time.
Since only the leakage current flows other than during sampling and the current
for charging the capacitor also flows during sampling, the input impedance
fluctuates both during sampling and otherwise.
If the shortest conversion time of the reference voltage is used, to perform
sufficient sampling, it is recommended to make the output impedance of the
analog input source 1 kΩ or lower, or attach a capacitor of around 0.01
μ
F to 0.1
μ
F to the ANI0 to ANI3 pins (see Figure 9-19).
When writing the flash memory on-board, supply a stabilized analog voltage to
the ANI2 and ANI3 pins, without attaching a capacitor. Because the
communication pulse may change and the communication may fail if a capacitor
is attached to remove noise.
p. 174
Interrupt
request flag
(ADIF)
The interrupt request flag (ADIF) is not cleared even if the analog input channel
specification register (ADS) is changed.
Therefore, if an analog input pin is changed during A/D conversion, the A/D
conversion result and ADIF for the pre-change analog input may be set just
before the ADS rewrite. Caution is therefore required since, at this time, when
ADIF is read immediately after the ADS rewrite, ADIF is set despite the fact A/D
conversion for the post-change analog input has not ended.
When A/D conversion is stopped and then resumed, clear ADIF before the A/D
conversion operation is resumed.
p. 174
Chapter 9
Soft
A/D
converter
(
μ
PD78F9
20x only)
Conversion
results just after
A/D conversion
start
The first A/D conversion value immediately after A/D conversion starts may not
fall within the rating range if the ADCS bit is set to 1 within 1
μ
s after the ADCE
bit was set to 1, or if the ADCS bit is set to 1 with the ADCE bit = 0. Take
measures such as polling the A/D conversion end interrupt request (INTAD) and
removing the first conversion result.
p. 175
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 331
(10/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Soft
A/D conversion
result register
(ADCR,
ADCRH) read
operation
When a write operation is performed to the A/D converter mode register (ADM)
and analog input channel specification register (ADS), the contents of ADCR and
ADCRH may become undefined. Read the conversion result following
conversion completion before writing to ADM and ADS. Using a timing other
than the above may cause an incorrect conversion result to be read.
p. 175
Chapter 9
Hard
A/D
converter
(
μ
PD78F9
20x only)
The operating
current at the
conversion
waiting mode
The DC characteristic of the operating current at the STOP mode is not satisfied
at the conversion waiting mode (when A/D converter mode register (ADM) is set
up with bit 7(ADCS) =0 and bit 0 (ADCE) =1) (only comparator consumes
power).
p. 175
IF0: Interrupt
request flag
registers,
MK0: Interrupt
mask flag
registers
Because P21 and P32 have an alternate function as external interrupt inputs,
when the output level is changed by specifying the output mode of the port
function, an interrupt request flag is set. Therefore, the interrupt mask flag
should be set to 1 before using the output mode.
pp. 179,
180
Be sure to clear bits 0, 1, 6, and 7 to 0. p. 181 INTM0: External
interrupt mode
register 0
Before setting the INTM0 register, be sure to set the corresponding interrupt
mask flag (××MK× = 1) to disable interrupts. After setting the INTM0 register,
clear the interrupt request flag (××IF× = 0), then clear the interrupt mask flag
(××MK× = 0), which will enable interrupts.
p. 181
Interrupt
requests are
held pending
Interrupt requests will be held pending while the interrupt request flag registers
(IF0) or interrupt mask flag registers (MK0) are being accessed.
p. 183
Chapter 10
Soft
Interrupt
functions
Interrupt
request pending
Multiple interrupts can be acknowledged even for low-priority interrupts. p. 184
Soft
The LSRSTOP setting is valid only when “Can be stopped by software” is set for
the low-speed internal oscillator by the option byte.
p. 186
STOP mode When shifting to the STOP mode, be sure to stop the peripheral hardware
operation before executing STOP instruction (except the peripheral hardware
that operates on the low-speed internal oscillation clock).
p. 187
STOP mode,
HALT mode
The following sequence is recommended for operating current reduction of the
A/D converter in
μ
PD78F920x when the standby function is used: First clear bit 7
(ADCS) and bit 0 (ADCE) of the A/D converter mode register (ADM) to 0 to stop
the A/D conversion operation, and then execute the HALT or STOP instruction.
p. 187
Hard
STOP mode If the low-speed internal oscillator is operating before the STOP mode is set,
oscillation of the low-speed internal oscillation clock cannot be stopped in the
STOP mode (refer to Table 11-1).
p. 187
Soft
To set and then release the STOP mode, set the oscillation stabilization time as
follows.
Expected oscillation stabilization time of resonator Oscillation stabilization time
set by OSTS
p. 188
Hard
The wait time after the STOP mode is released does not include the time from
the release of the STOP mode to the start of clock oscillation (“a” in the figure
below), regardless of whether STOP mode was released by reset signal
generation or interrupt generation.
p. 188
Chapter 11
Soft
Standby
function
OSTS:
Oscillation
stabilization
time select
register
(
μ
PD78F920x
only)
The oscillation stabilization time that elapses on power application or after
release of reset is selected by the option byte. For details, refer to CHAPTER 15
OPTION BYTE.
p. 188
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
332
(11/15)
Chapter
Classification
Function Details of
Function
Cautions Page
HALT mode
setting and
operating
statuses
Because an interrupt request signal is used to clear the standby mode, if there is
an interrupt source with the interrupt request flag set and the interrupt mask flag
clear, the standby mode is immediately cleared if set.
p. 189
Chapter 11
Soft
Standby
function
STOP mode
setting and
operating
statuses
Because an interrupt request signal is used to clear the standby mode, if there is
an interrupt source with the interrupt request flag set and the interrupt mask flag
reset, the standby mode is immediately cleared if set. Thus, in the STOP mode,
the normal operation mode is restored after the STOP instruction is executed and
then the operation is stopped for 34
μ
s (TYP.) (after an additional wait time for
stabilizing the oscillation set by the oscillation stabilization time select register
(OSTS) has elapsed when crystal/ceramic oscillation is used).
p. 192
For an external reset, input a low level for 2
μ
s or more to the RESET pin. p. 196
During reset signal generation, the system clock and low-speed internal oscillation
clock stop oscillating.
p. 196
When the RESET pin is used as an input-only port pin (P34), the 78K0S/KU1+ is
reset if a low level is input to the RESET pin after reset is released by the POC
circuit, the LVI circuit and the watchdog timer and before the option byte is
referenced again. The reset status is retained until a high level is input to the
RESET pin.
p. 196
The LVI circuit is not reset by the internal reset signal of the LVI circuit. p. 197
Hard
Timing of reset
by overflow of
watchdog timer
The watchdog timer is also reset in the case of an internal reset of the watchdog
timer.
p. 199
Chapter 12
Soft
Reset
function
RESF: Reset
control flag
register
Do not read data by a 1-bit memory manipulation instruction. p. 203
Soft
If an internal reset signal is generated in the POC circuit, the reset control flag
register (RESF) is cleared to 00H.
p. 204
Hard
Functions of
power-on-clear
circuit Because the detection voltage (VPOC) of the POC circuit is in a range of 2.1 V ±0.1
V, use a voltage in the range of 2.2 to 5.5 V.
p. 204
Chapter 13
Soft
Power-
on-clear
circuit
Cautions for
power-on-clear
circuit
In a system where the supply voltage (VDD) fluctuates for a certain period in the
vicinity of the POC detection voltage (VPOC), the system may be repeatedly reset
and released from the reset status. In this case, the time from release of reset to
the start of the operation of the microcontroller can be arbitrarily set by taking the
following action.
p. 206
To stop LVI, follow either of the procedures below.
When using 8-bit manipulation instruction: Write 00H to LVIM.
When using 1-bit memory manipulation instruction: Clear LVION to 0.
p. 209
LVIM: Low-
voltage detect
register
Be sure to set bits 2 to 6 to 0. p. 209
Bits 4 to 7 must be set to 0. p. 210 LVIS: Low-
voltage
detection level
select register
If a value other than the above is written during LVI operation, the value becomes
undefined at the very moment it is written, and thus be sure to stop LVI (bit
7(LVION) = 0 on the LVIM register) before writing.
p. 210
<1> must always be executed. When LVIMK = 0, an interrupt may occur
immediately after the processing in <3>.
p. 211
Chapter 14
Soft
Low-
voltage
detector
When used as
reset
If supply voltage (VDD) detection voltage (VLVI) when LVIM is set to 1, an internal
reset signal is not generated.
p. 211
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 333
(12/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Chapter 14
Soft
Low-
voltage
detector
Cautions for
low-voltage
detector
In a system where the supply voltage (VDD) fluctuates for a certain period in the
vicinity of the LVI detection voltage (VLVI), the operation is as follows depending
on how the low-voltage detector is used.
<1> When used as reset
The system may be repeatedly reset and released from the reset status.
In this case, the time from release of reset to the start of the operation of the
microcontroller can be arbitrarily set by taking action (1) below.
<2> When used as interrupt
Interrupt requests may be frequently generated. Take (b) of action (2) below.
p. 215
Oscillation
stabilization
time on power
application or
after reset
release
(
μ
PD78F920x)
The setting of this option is valid only when the crystal/ceramic oscillation clock is
selected as the system clock source. No wait time elapses if the high-speed
internal oscillation clock or external clock input is selected as the system clock
source.
p. 220
Control of
RESET pin
(
μ
PD78F920x)
Because the option byte is referenced after reset release, if a low level is input to
the RESET pin before the option byte is referenced, then the reset state is not
released.
Also, when setting 0 to RMCE, connect the pull-up resistor.
p. 220
Control of
RESET pin
(
μ
PD78F950x)
Because the option byte is referenced after reset release, if a low level is input to
the RESET pin before the option byte is referenced, then the reset state is not
released.
When used as an input-only port (P34), the setting of the on-chip pull-up resistor
can be done by PU34 on PU3 register.
p. 222
Selection of
system clock
source
(
μ
PD78F920x)
Because the X1 and X2 pins are also used as the P23/ANI3 and P22/ANI2 pins,
the conditions under which the X1 and X2 pins can be used differ depending on
the selected system clock source.
(1) Crystal/ceramic oscillation clock is selected
The X1 and X2 pins cannot be used as I/O port pins or analog input pins of A/D
converter because they are used as clock input pins.
(2) External clock input is selected
Because the X1 pin is used as an external clock input pin, P121 cannot be used
as an I/O port pin or an analog input pin of A/D converter.
(3) High-speed internal oscillation clock is selected
P23/ANI3 and P22/ANI2 pins can be used as I/O port pins or analog input pins of
A/D converter.
p. 220
Selection of
system clock
source
(
μ
PD78F950x)
Because the EXCLK pin is also used as the P23 pin, the condition under which
the EXCLK pin can be used differ depending on the selected system clock
source.
(1) External clock input is selected
Because the pin is used as an external clock input pin, P23 cannot be used as an
I/O port pin.
(2) High-speed internal oscillation clock is selected
P23 pin can be used as an I/O port pin.
p. 222
Chapter 15
Hard
Option
byte
Low-speed
internal
oscillates
If it is selected that low-speed internal oscillator cannot be stopped, the count
clock to the watchdog timer (WDT) is fixed to low-speed internal oscillation clock.
pp. 221,
223
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
334
(13/15)
Chapter
Classification
Function Details of
Function
Cautions Page
Low-speed
internal
oscillates
If it is selected that low-speed internal oscillator can be stopped by software,
supply of the count clock to WDT is stopped in the HALT/STOP mode, regardless
of the setting of bit 0 (LSRSTOP) of the low-speed internal oscillation mode
register (LSRCM). Similarly, clock supply is also stopped when a clock other than
the low-speed internal oscillation clock is selected as a count clock to WDT.
While the low-speed internal oscillator is operating (LSRSTOP = 0), the clock can
be supplied to the 8-bit timer H1 even in the STOP mode.
pp. 221,
223
Chapter 15
Hard
Option
byte
Caution When
the RESET Pin
Is Used as an
Inport-Only Port
Pin (P34)
Be aware of the following when erasing/writing by on-board programming using a
dedicated flash memory programmer once again on the already-written device
which has been set as "The RESET pin is used as an input-only port pin (P34)" by
the option byte function. Before supplying power to the target system, connect a
dedicated flash memory programmer and turn its power on. If the power is
supplied to the target system beforehand, it cannot be switched to the flash
memory programming mode.
p. 223
PG-FP5
programming
GUI setting
value example
The above values are recommended values. Depending on the usage
environment these values may change, so set them after having performed
sufficient evaluations.
p. 230
Security
settings
After the security setting of the batch erase is set, erasure cannot be performed
for the device. In addition, even if a write command is executed, data different
from that which has already been written to the flash memory cannot be written
because the erase command is disabled.
p. 233
Self programming processing must be included in the program before performing
self programming.
p. 234
No instructions can be executed while a self programming command is being
executed. Therefore, clear and restart the watchdog timer counter in advance so
that the watchdog timer does not overflow during self programming. Refer to
Table 16-10 for the time taken for the execution of self programming.
p. 237
Interrupts that occur during self programming can be acknowledged after self
programming mode ends. To avoid this operation, disable interrupt servicing (by
setting MK0 to FFH, and executing the DI instruction) before a mode is shifted
from the normal mode to the self programming mode with a specific sequence.
p. 237
RAM is not used while a self programming command is being executed. p. 237
If the supply voltage drops or the reset signal is input while the flash memory is
being written or erased, writing/erasing is not guaranteed.
p. 237
The value of the blank data set during block erasure is FFH. p. 237
Set the CPU clock so that it is 1 MHz or more during self programming. p. 237
Execute the NOP and HALT instructions immediately after executing a specific
sequence to set self-programming mode, then execute self programming. At this
time, the HALT instruction is automatically released after 10
μ
s (MAX.) + 2 CPU
clocks (fCPU).
p. 237
If the clock of the oscillator or an external clock is selected as the system clock,
execute the NOP and HALT instructions immediately after executing a specific
sequence to set self-programming mode, wait for 8
μ
s after releasing the HALT
status, and then execute self programming.
p. 237
Chapter 16
Soft
Flash
memory
Self
programming
function
Check FPRERR using a 1-bit memory manipulation instruction. p. 237
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD 335
(14/15)
Chapter
Classification
Function Details of
Function
Cautions Page
The state of the pins in self programming mode is the same as that in HALT
mode.
p. 237
Since the security function set via on-board/off-board programming is disabled in
self programming mode, the self programming command can be executed
regardless of the security function setting. To disable write or erase processing
during self programming, set the protect byte.
p. 237
Be sure to clear bits 4 to 7 of flash address pointer H (FLAPH) and flash address
pointer H compare register (FLAPHC) to 0 before executing the self programming
command. If the value of these bits is 1 when executing the self programming
command, there is a possibility that device does not operate normally.
p. 237
Self
programming
function
Clear the value of the FLCMD register to 00H immediately before setting self-
programming mode and normal operation mode.
p. 237
Cautions in the case of setting the self programming mode, refer to 16.8.2
Cautions on self programming function.
p. 238
Set the CPU clock so that it is 1 MHz or more during self programming. p. 238
Execute the NOP and HALT instructions immediately after executing a specific
sequence to set self-programming mode, then execute self programming. At this
time, the HALT instruction is automatically released after 10
μ
s (MAX.) + 2 CPU
clocks (fCPU).
p. 238
If the clock of the oscillator or an external clock is selected as the system clock,
execute the NOP and HALT instructions immediately after executing a specific
sequence to set self-programming mode, wait for 8
μ
s after releasing the HALT
status, and then execute self programming.
p. 238
FLPMC: Flash
programming
mode control
register
Clear the value of the FLCMD register to 00H immediately before setting self
programming mode and normal operation mode.
p. 238
PFCMD: Flash
protect
command
register
Interrupt servicing cannot be executed in self-programming mode. Disable
interrupt servicing (by executing the DI instruction while MK0 = FFH) before
executing the specific sequence that sets self-programming mode and after
executing the specific sequence that changes the mode to the normal mode.
p. 239
PFS: Flash
status register
Check FPRERR using a 1-bit memory manipulation instruction. p. 239
FLAPH, FLAPL:
Flash address
pointers H and
L
Be sure to clear bits 4 to 7 of FLAPH and FLAPHC to 0 before executing the self
programming command. If the self programming command is executed with
these bits set to 1, the device may malfunction.
p. 242
Be sure to clear bits 4 to 7 of FLAPH and FLAPHC to 0 before executing the self
programming command. If the self programming command is executed with
these bits set to 1, the device may malfunction.
p. 242
Set the number of the block subject to a block erase, verify, or blank check (same
value as FLAPH) to FLAPHC.
p. 242
FLAPHC,
FLAPLC: Flash
address pointer
H/L compare
registers
Clear FLAPLC to 00H when a block erase is performed, and FFH when a blank
check is performed.
p. 242
pp. 244,
Shifting to self
programming
mode
Shifting to
normal mode
Be sure to perform the series of operations described above using the user
program at an address where data is not erased or written. 245, 247,
248
Chapter 16
Soft
Flash
memory
Byte write If a write results in failure, erase the block once and write to it again. p. 256
APPENDIX D LIST OF CAUTIONS
User’s Manual U18172EJ3V0UD
336
(15/15)
Chapter
Classification
Function Details of
Function
Cautions Page
The 78K0S/KU1+ has an on-chip debug function, which is provided for
development and evaluation. Do not use the on-chip debug function in products
designated for mass production, because the guaranteed number of rewritable
times of the flash memory may be exceeded when this function is used, and
product reliability therefore cannot be guaranteed. NEC Electronics is not liable
for problems occurring when the on-chip debug function is used.
p. 280 Connecting
QB-MINI2 to
78K0S/KU1+
The constants described in the circuit connection example are reference values. If
you perform flash programming aiming at mass production, thoroughly evaluate
whether the specifications of the target device are satisfied.
p. 280
Chapter 17
Hard
On-chip
debug
function
For the case
where QB-
MINI2 is used
for debugging
and debugging
of INTP1 pin is
performed only
with real
machine
If debugging is performed with a real machine running, without using QB-MINI2,
write the user program using the QB-Programmer. Programs downloaded by the
debugger include the monitor program, and such a program malfunctions if it is
not controlled via QB-MINI2.
p. 282
Absolute
maximum
ratings
Product quality may suffer if the absolute maximum rating is exceeded even
momentarily for any parameter. That is, the absolute maximum ratings are rated
values at which the product is on the verge of suffering physical damage, and
therefore the product must be used under conditions that ensure that the absolute
maximum ratings are not exceeded.
p. 294
X1 oscillator
characteristics
(
μ
PD78F920x
only)
When using the X1 oscillator, wire as follows in the area enclosed by the broken
lines in the above figures to avoid an adverse effect from wiring capacitance.
Keep the wiring length as short as possible.
Do not cross the wiring with the other signal lines.
Do not route the wiring near a signal line through which a high fluctuating
current flows.
Always make the ground point of the oscillator capacitor the same potential as
VSS.
Do not ground the capacitor to a ground pattern through which a high current
flows.
Do not fetch signals from the oscillator.
p. 295
Chapter 19
Hard
Electrical
specifica-
tions
A/D converter
(
μ
PD78F920x
only)
The conversion accuracy may be degraded if the level of a port that is not used
for A/D conversion is changed during A/D conversion.
p. 304
For soldering methods and conditions other than those recommended below,
contact an NEC Electronics sales representative.
p. 309
Chapter 21
Hard
Recom-
mended
soldering
conditions
Do not use different soldering methods together (except for partial heating). p. 309
User’s Manual U18172EJ3V0UD 337
APPENDIX E REVISION HISTORY
E.1 Major Revisions in This Edition
Page Description
Throughout Addition of
μ
PD78F950x products (without 16-bit timer/event counter and A/D converter )
p. 6 Modification of Related Documents
p. 17 Modification of 1.4 78K0S/Kx1+ Product Lineup
p. 226 16.4 Writing with Flash Memory Programmer
• Deletion of FlashPro4 and addition of QB-MINI2
• Modification of Remark
p. 227 Modification of and addition of Remark to Figure 16-2 Environment for Writing Program to Flash Memory
(FlashPro5/QB-MINI2)
p. 228 Modification of Table 16-2 Wiring Between 78K0S/KU1+ and FlashPro5/QB-MINI2
p. 228 Modification of and addition of Remark to Figure 16-3 Wiring diagram with FlashPro5/QB-MINI2
p. 232 Modification of Figure 16-7 Communication Commands
pp. 250 to 252 16.8.6 Example of block erase operation in self programming mode
• Modification of description and addition of Note 2
• Modification of Figure 16-20 Example of Block Erase Operation in Self Programming Mode
• Modification of an example of a program
pp. 270 to 272 16.8.11 Examples of operation when interrupt-disabled time should be minimized in self programming
mode
• Modification of Figure 16-27 Example of Operation When Interrupt-Disabled Time Should Be
Minimized (from Erasure to Blank Check)
• Modification of an example of a program
p. 280 Modification of Caution in 17.1 Connecting QB-MINI2 to 78K0S/KU1+
p. 310 Modification of APPENDIX A DEVELOPMENT TOOLS
p. 338 Addition of E.2 Revision History up to Revision Editions
APPENDIX E REVISION HISTORY
User’s Manual U18172EJ3V0UD
338
E.2 Revision History up to Previous Editions
The following table shows the revision history up to this edition. The “Applied to:” column indicates the chapters of
each edition in which the revision was applied.
(1/2)
Edition Description Applied to:
Modification of 1.1 Features
Addition of Note 2 to 5 in 1.4 78K0S/Kx1+ Product Lineup
CHAPTER 1
OVERVIEW
9.1 Functions of A/D Converter
• Addition of Notes 4 to Table 9-1 Sampling Time and A/D Conversion Time
9.3 Registers Used by A/D Converter
• Addition of Note 5 to Figure 9-3 Format of A/D Converter Mode Register (ADM)
9.6 Cautions for A/D Converter
• Addition of description to (6) Input impedance of ANI0 to ANI3 pins
CHAPTER 9 A/D
CONVERTER
Modification of Caution 3 CHAPTER 12 RESET
FUNCTION
16.4 Writing with Flash Memory Programmer
• Addition of FlashPro5 to Dedicated flash memory programmer
• Deletion of PG-FPL2 from Dedicated flash memory programmer
• Modification of Remark
16.5 Programming Environment
Modification of Figure 16-2 Environment for Writing Program to Flash Memory
(FlashPro4/FlashPro5/QB-MINI2) and addition of Note
• Modification of Table 16-2 Wiring Between 78K0S/KU1+ and
FlashPro4/FlashPro5/QB-MINI2 and Addition of Note 2
• Modification of Figure 16-3 Wiring diagram with FlashPro4/FlashPro5/QB-MINI2
• Deletion of PG-FPL2 from dedicated flash memory programmer
Modification of Figure 16-5 PG-FP5 GUI Software Setting Example
Modification of Figure 16-7 Communication Commands
Addition of Note in Table 16-10 Self Programming Controlling Commands
CHAPTER 16 FLASH
MEMORY
Addition of this chapter CHAPTER 17 ON-CHIP
DEBUG FUNCTION
• Modification of X1 Oscillator Characteristics
• Addition of setting range of CPU clock and peripheral clock frequency to AC
Characteristics
CHAPTER 19
ELECTRICAL
SPECIFICATIONS
Modification of Figure A-1 Development Tools
A.4 Flash Memory Writing Tools
• Addition of FlashPro5
• Deletion of PG-FPL2
A.5.1 When using in-circuit emulator QB-78K0SKX1
• Deletion of description of under development
Deletion of A.5.3 When using in-circuit emulator IE-78K0S-NS or IE-78K0S-NS-A and
A.5.4 When using in-circuit emulator QB-78K0SKX1MINI in old edition
2nd edition
Modification of A.6 Debugging Tools (Software)
APPENDIX A
DEVELOPMENT
TOOLS
<R>
APPENDIX E REVISION HISTORY
User’s Manual U18172EJ3V0UD 339
(2/2)
Edition Description Applied to:
2nd edition Addition of this chapter APPENDIX B NOTES
ON DESIGNING
TARGET SYSTEM
Published by: NEC Electronics Corporation (http://www.necel.com/)
Contact: http://www.necel.com/support/