ETC UPD78F0034BSGB-8ET

Preliminary User's Manual
µPD780024AS, 780034AS Subseries
8-Bit Single-Chip Microcontrollers
µPD780021AS
µPD780022AS
µPD780023AS
µPD780024AS
µPD780031AS
µPD780032AS
µPD780033AS
µPD780034AS
µPD78F0034BS
Document No. U16035EJ1V0UM00 (1st edition)
Date Published June 2002 N CP(K)
©
Printed in Japan
2002
[MEMO]
2
Preliminary User’s Manual U16035EJ1V0UM
NOTES FOR CMOS DEVICES
1
PRECAUTION AGAINST ESD FOR SEMICONDUCTORS
Note:
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 once, when it has occurred. Environmental control
must be adequate. When it is dry, humidifier should be used. It is recommended to avoid using
insulators that easily build 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 bench and floor should be grounded. The operator should be grounded using
wrist strap. Semiconductor devices must not be touched with bare hands. Similar precautions need
to be taken for PW boards with semiconductor devices on it.
2
HANDLING OF UNUSED INPUT PINS FOR CMOS
Note:
No connection for CMOS device inputs can be cause of malfunction. If no connection is provided
to the input pins, it is possible that an internal input level may be generated due to noise, etc., hence
causing malfunction. CMOS devices behave differently than Bipolar or NMOS devices. Input levels
of CMOS devices must be fixed high or low by using a pull-up or pull-down circuitry. Each unused
pin should be connected to V DD or GND with a resistor, if it is considered to have a possibility of
being an output pin. All handling related to the unused pins must be judged device by device and
related specifications governing the devices.
3
STATUS BEFORE INITIALIZATION OF MOS DEVICES
Note:
Power-on does not necessarily define initial status of MOS device. Production process of MOS
does not define the initial operation status of the device. Immediately after the power source is
turned ON, the devices with reset function have not yet been initialized. Hence, power-on does
not guarantee out-pin levels, I/O settings or contents of registers. Device is not initialized until the
reset signal is received. Reset operation must be executed immediately after power-on for devices
having reset function.
FIP, EEPROM, and IEBus are trademarks of NEC Corporation.
Windows and Windows NT are either registered trademarks or trademarks 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.
Ethernet is a trademark of Xerox Corporation.
OSF/Motif is a trademark of OpenSoftware Foundation, Inc.
TRON stands for The Realtime Operating system Nucleus.
ITRON is an abbreviation of Industrial TRON.
Preliminary User’s Manual U16035EJ1V0UM
3
The export of these products from Japan is regulated by the Japanese government. The export of some or all of these
products may be prohibited without governmental license. To export or re-export some or all of these products from a
country other than Japan may also be prohibited without a license from that country. Please call an NEC sales
representative.
License not needed: µPD78F0034BSGB-8ET
The customer must judge the need for a license for the following products:
µPD780021ASGB-xxx-8ET, 780022ASGB-xxx-8ET, 780023ASGB-xxx-8ET, 780024ASGB-xxx-8ET,
780031ASGB-xxx-8ET, 780032ASGB-xxx-8ET, 780033ASGB-xxx-8ET, 780034ASGB-xxx-8ET
• The information contained in this document is being issued in advance of the production cycle for the
device. The parameters for the device may change before final production or NEC Corporation, at its own
discretion, may withdraw the device prior to its production.
• Not all devices/types available in every country. Please check with local NEC 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 Corporation. NEC Corporation assumes no responsibility for any errors which may appear in
this document.
• NEC Corporation does not assume any liability for infringement of patents, copyrights or other intellectual property
rights of third parties by or arising from use of a device described herein or any other liability arising from use
of such device. No license, either express, implied or otherwise, is granted under any patents, copyrights or other
intellectual property rights of NEC Corporation 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 the customer's equipment shall be done under the full responsibility
of the customer. NEC Corporation assumes no responsibility for any losses incurred by the customer or third
parties arising from the use of these circuits, software, and information.
• While NEC Corporation has been making continuous effort to enhance the reliability of its semiconductor devices,
the possibility of defects cannot be eliminated entirely. To minimize risks of damage or injury to persons or
property arising from a defect in an NEC semiconductor device, customers must incorporate sufficient safety
measures in its design, such as redundancy, fire-containment, and anti-failure features.
• NEC devices are classified into the following three quality grades:
"Standard", "Special", and "Specific". The Specific quality grade applies only to devices developed based on a
customer designated "quality assurance program" for a specific application. The recommended applications of
a device depend on its quality grade, as indicated below. Customers must check the quality grade of each device
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 or medical equipment for life support, etc.
The quality grade of NEC devices is "Standard" unless otherwise specified in NEC's Data Sheets or Data Books.
If customers intend to use NEC devices for applications other than those specified for Standard quality grade,
they should contact an NEC sales representative in advance.
M5D 98. 12
4
Preliminary User’s Manual U16035EJ1V0UM
Regional Information
Some information contained in this document may vary from country to country. Before using any NEC
product in your application, pIease contact the NEC office in your country to obtain a list of authorized
representatives and distributors. They will verify:
•
Device availability
•
Ordering information
•
Product release schedule
•
Availability of related technical literature
•
Development environment specifications (for example, specifications for third-party tools and
components, host computers, power plugs, AC supply voltages, and so forth)
•
Network requirements
In addition, trademarks, registered trademarks, export restrictions, and other legal issues may also vary
from country to country.
NEC Electronics Inc. (U.S.)
Santa Clara, California
Tel: 408-588-6000
800-366-9782
Fax: 408-588-6130
800-729-9288
NEC do Brasil S.A.
Electron Devices Division
Guarulhos-SP, Brasil
Tel: 11-6462-6810
Fax: 11-6462-6829
• Filiale Italiana
Milano, Italy
Tel: 02-66 75 41
Fax: 02-66 75 42 99
NEC Electronics Hong Kong Ltd.
• Branch The Netherlands
Eindhoven, The Netherlands
Tel: 040-244 58 45
Fax: 040-244 45 80
NEC Electronics Hong Kong Ltd.
• Branch Sweden
Taeby, Sweden
Tel: 08-63 80 820
NEC Electronics (Europe) GmbH Fax: 08-63 80 388
Duesseldorf, Germany
• United Kingdom Branch
Tel: 0211-65 03 01
Milton Keynes, UK
Fax: 0211-65 03 327
Tel: 01908-691-133
Fax: 01908-670-290
• Sucursal en España
Madrid, Spain
Tel: 091-504 27 87
Fax: 091-504 28 60
Hong Kong
Tel: 2886-9318
Fax: 2886-9022/9044
Seoul Branch
Seoul, Korea
Tel: 02-528-0303
Fax: 02-528-4411
NEC Electronics Shanghai, Ltd.
Shanghai, P.R. China
Tel: 021-6841-1138
Fax: 021-6841-1137
NEC Electronics Taiwan Ltd.
Taipei, Taiwan
Tel: 02-2719-2377
Fax: 02-2719-5951
NEC Electronics Singapore Pte. Ltd.
Novena Square, Singapore
Tel: 253-8311
Fax: 250-3583
• Succursale Française
Vélizy-Villacoublay, France
Tel: 01-30-67 58 00
Fax: 01-30-67 58 99
J02.4
Preliminary User’s Manual U16035EJ1V0UM
5
INTRODUCTION
Readers
This manual has been prepared for user engineers who understand the functions of the
µPD780024AS, 780034AS Subseries and wish to design and develop application
systems and programs for these devices.
µPD780024AS Subseries: µPD780021AS, 780022AS, 780023AS, 780024AS
µPD780034AS Subseries: µPD780031AS, 780032AS, 780033AS, 780034AS, 78F0034BS
Purpose
This manual is intended to give users an understanding of the functions described in the
Organization below.
Organization
The µPD780024AS, 780034AS Subseries manual is separated into two parts: this
manual and the instructions edition (common to the 78K/0 Series).
µPD780024AS, 780034AS Subseries
78K/0 Series
User’s Manual
User’s Manual
(This Manual)
Instructions
• Pin functions
• CPU functions
• Internal block functions
• Instruction set
• Interrupt
• Explanation of each instruction
• Other on-chip peripheral functions
How to Read This Manual It is assumed that the reader of this manual has general knowledge in the fields of
electrical engineering, logic circuits, and microcontrollers.
• To gain a general understanding of functions:
→ Read this manual in the order of the Contents.
• How to interpret the register format:
→ For the bit number enclosed in square, the bit name is defined as a reserved word
in RA78K0, and in CC78K0, already defined in the header file named sfrbit.h.
• To check the details of a register when you know the register name.
→ Refer to APPENDIX D REGISTER INDEX.
Differences Between µPD780024AS and 780034AS Subseries
The resolution of the A/D converter differ between the µPD780024AS and 780034AS Subseries products.
Subseries
µPD780024AS
µPD780034AS
8-bit resolution
10-bit resolution
Item
A/D converter
6
Preliminary User’s Manual U16035EJ1V0UM
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
Decimal
··· ×××× or ××××B
··· ××××
Hexadecimal ··· ××××H
Preliminary User’s Manual U16035EJ1V0UM
7
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.
µPD780021A, 780022A, 780023A, 780024A, 780021AY, 780022AY, 780023AY, 780024AY Data Sheet
U14042E
µPD780021A(A), 780022A(A), 780023A(A), 780024A(A), 780021AY(A), 780022AY(A), 780023AY(A),
780024AY(A) Data Sheet
U15131E
µPD780031A, 780032A, 780033A, 780034A, 780031AY, 780032AY, 780033AY, 780034AY Data Sheet
U14044E
µPD780031A(A), 780032A(A), 780033A(A), 780034A(A), 780031AY(A), 780032AY(A), 780033AY(A),
780034AY(A) Data Sheet
U15132E
µPD78F0034A, 78F0034AY Data Sheet
U14040E
78K/0 Series Instructions User’s Manual
U12326E
78K/0 Series Basic (I) Application Note
U12704E
Documents Related to Development Software Tools (User’s Manuals)
Document Name
RA78K0 Assembler Package
Document No.
Operation
U14445E
Language
U14446E
Structured Assembly Language
U11789E
Operation
U14297E
Language
U14298E
Operation
U14611E
SM78K Series System Simulator Ver. 2.10 or Later
External Part User Open Interface Specifications
U15006E
ID78K0-NS Integrated Debugger Ver. 2.00 or Later
Windows Based
Operation
U14379E
ID78K0 Integrated Debugger Windows Based
Reference
U11539E
Guide
U11649E
Fundamentals
U11537E
Installation
U11536E
Fundamental
U12257E
CC78K0 C Compiler
SM78K0S, SM78K0 System Simulator Ver. 2.10 or Later
WindowsTM Based
RX78K0 Real-time OS
MX78K0 Embedded OS Windows Based
Caution
The related documents listed above are subject to change without notice. Be sure to use the
latest version of each document for designing.
8
Preliminary User’s Manual U16035EJ1V0UM
Documents Related to Development Hardware Tools (User’s Manuals)
Document Name
Document No.
IE-78K0-NS In-Circuit Emulator
U13731E
IE-78K0-NS-A In-Circuit Emulator
U14889E
IE-780034-NS-EM1 Emulation Board
U14642E
Documents Related to Flash Memory Writing
Document Name
PG-FP3 Flash Memory Programmer User’s Manual
Document No.
U13502E
Other Related Documents
Document Name
Document No.
SEMICONDUCTOR SELECTION GUIDE - Products & Packages -
X13769E
Semiconductor Device Mounting Technology Manual
C10535E
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
Caution
The related documents listed above are subject to change without notice. Be sure to use the
latest version of each document for designing.
Preliminary User’s Manual U16035EJ1V0UM
9
CONTENTS
CHAPTER 1 OUTLINE .......................................................................................................................
1.1
1.2
1.3
1.4
1.5
1.6
1.7
24
Features ....................................................................................................................................
Applications .............................................................................................................................
Ordering Information ...............................................................................................................
Pin Configuration (Top View) .................................................................................................
78K/0 Series Lineup .................................................................................................................
Block Diagram ..........................................................................................................................
Outline of Function ..................................................................................................................
24
25
25
26
28
30
31
CHAPTER 2 PIN FUNCTION ............................................................................................................
33
2.1 Pin Function List ......................................................................................................................
2.2 Description of Pin Functions ..................................................................................................
33
36
2.2.1 P00 to P03 (Port 0) ........................................................................................................................
36
2.2.2 P10 to P13 (Port 1) ........................................................................................................................
36
2.2.3 P20 to P25 (Port 2) ........................................................................................................................
37
2.2.4 P34 to P36 (Port 3) ........................................................................................................................
37
2.2.5 P40 to P47 (Port 4) ........................................................................................................................
38
2.2.6 P50 to P57 (Port 5) ........................................................................................................................
38
2.2.7 P70 to P75 (Port 7) ........................................................................................................................
39
2.2.8 AVREF .............................................................................................................................................
39
2.2.9 AVDD ..............................................................................................................................................
39
2.2.10 AVSS .............................................................................................................................................
39
3.2.11 RESET ........................................................................................................................................
39
2.2.12 X1 and X2 ...................................................................................................................................
40
2.2.13 XT1 and XT2 ...............................................................................................................................
40
2.2.14 VDD0 and VDD1 ..............................................................................................................................
40
2.2.15 VSS0 and VSS1 ...............................................................................................................................
40
2.2.16 VPP (flash memory versions only) ................................................................................................
40
2.2.17 IC (mask ROM version only) .......................................................................................................
40
2.3 Pin I/O Circuits and Recommended Connection of Unused Pins .......................................
41
CHAPTER 3 CPU ARCHITECTURE .................................................................................................
43
3.1 Memory Spaces .......................................................................................................................
43
10
3.1.1 Internal program memory space ...................................................................................................
48
3.1.2 Internal data memory space ..........................................................................................................
49
3.1.3 Special function register (SFR) area .............................................................................................
49
3.1.4 External memory space ................................................................................................................
49
3.1.5 Data memory addressing ..............................................................................................................
50
3.2 Processor Registers ................................................................................................................
55
3.2.1 Control registers ............................................................................................................................
55
3.2.2 General-purpose registers ............................................................................................................
58
3.2.3 Special function register (SFR) .....................................................................................................
59
Preliminary User’s Manual U16035EJ1V0UM
3.3 Instruction Address Addressing ............................................................................................
62
3.3.1 Relative addressing .......................................................................................................................
62
3.3.2 Immediate addressing ...................................................................................................................
63
3.3.3 Table indirect addressing ...............................................................................................................
64
3.3.4 Register addressing ......................................................................................................................
64
3.4 Operand Address Addressing ................................................................................................
65
3.4.1 Implied addressing ........................................................................................................................
65
3.4.2 Register addressing ......................................................................................................................
66
3.4.3 Direct addressing ..........................................................................................................................
67
3.4.4 Short direct addressing .................................................................................................................
68
3.4.5 Special function register (SFR) addressing ...................................................................................
69
3.4.6 Register indirect addressing ..........................................................................................................
70
3.4.7 Based addressing .........................................................................................................................
71
3.4.8 Based indexed addressing ............................................................................................................
72
3.4.9 Stack addressing ...........................................................................................................................
72
CHAPTER 4 PORT FUNCTIONS ......................................................................................................
73
4.1 Port Functions .........................................................................................................................
4.2 Configuration of Ports .............................................................................................................
73
75
4.2.1 Port 0 .............................................................................................................................................
75
4.2.2 Port 1 .............................................................................................................................................
76
4.2.3 Port 2 .............................................................................................................................................
77
4.2.4 Port 3 .............................................................................................................................................
79
4.2.5 Port 4 .............................................................................................................................................
81
4.2.6 Port 5 .............................................................................................................................................
82
4.2.7 Port 7 .............................................................................................................................................
83
4.3 Registers to Control Port Function ........................................................................................
4.4 Operations of Port Function ...................................................................................................
85
89
4.4.1 Writing to I/O port ..........................................................................................................................
89
4.4.2 Reading from I/O port ....................................................................................................................
89
4.4.3 Operations on I/O port ...................................................................................................................
89
CHAPTER 5 CLOCK GENERATOR .................................................................................................
90
5.1
5.2
5.3
5.4
Functions of Clock Generator ................................................................................................
Configuration of Clock Generator ..........................................................................................
Registers to Control Clock Generator ...................................................................................
System Clock Oscillator ..........................................................................................................
90
90
92
94
5.4.1 Main system clock oscillator ..........................................................................................................
94
5.4.2 Subsystem clock oscillator ............................................................................................................
95
5.4.3 Divider ...........................................................................................................................................
98
5.4.4 When no subsystem clocks are used ............................................................................................
98
5.5 Clock Generator Operations ...................................................................................................
99
5.5.1 Main system clock operations ....................................................................................................... 100
5.5.2 Subsystem clock operations .......................................................................................................... 101
5.6 Changing System Clock and CPU Clock Settings ................................................................ 101
5.6.1 Time required for switchover between system clock and CPU clock ............................................. 101
Preliminary User’s Manual U16035EJ1V0UM
11
5.6.2 System clock and CPU clock switching procedure ........................................................................ 103
CHAPTER 6 16-BIT TIMER/EVENT COUNTER 0 .......................................................................... 104
6.1
6.2
6.3
6.4
Functions of 16-Bit Timer/Event Counter 0 ...........................................................................
Configuration of 16-Bit Timer/Event Counter 0 ....................................................................
Registers to Control 16-Bit Timer/Event Counter 0 ..............................................................
Operations of 16-Bit Timer/Event Counter 0 .........................................................................
104
105
108
114
6.4.1 Interval timer operations ................................................................................................................ 114
6.4.2 PPG output operations .................................................................................................................. 116
6.4.3 Pulse width measurement operations ........................................................................................... 117
6.4.4 External event counter operation .................................................................................................. 124
6.4.5 Square-wave output operation ...................................................................................................... 125
6.5 Cautions for 16-Bit Timer/Event Counter 0 ........................................................................... 128
CHAPTER 7 8-BIT TIMER/EVENT COUNTERS 50 AND 51 .......................................................... 132
7.1
7.2
7.3
7.4
Functions of 8-Bit Timer/Event Counters 50 and 51 ............................................................
Configurations of 8-Bit Timer/Event Counters 50 and 51 ....................................................
Registers to Control 8-Bit Timer/Event Counters 50 and 51 ...............................................
Operations of 8-Bit Timer/Event Counters 50 and 51 ...........................................................
132
134
135
140
7.4.1 Interval timer (8-bit) operation ....................................................................................................... 140
7.4.2 External event counter operation .................................................................................................. 144
7.4.3 Square-wave output (8-bit resolution) operation ........................................................................... 145
7.4.4 8-bit PWM output operation ........................................................................................................... 146
7.4.5 Interval timer (16-bit) operation ..................................................................................................... 149
7.5 Cautions for 8-Bit Timer/Event Counters 50 and 51 ............................................................. 150
CHAPTER 8 WATCH TIMER ............................................................................................................ 152
8.1
8.2
8.3
8.4
Functions of Watch Timer .......................................................................................................
Configuration of Watch Timer ................................................................................................
Register to Control Watch Timer ............................................................................................
Operations of Watch Timer .....................................................................................................
152
153
154
155
8.4.1 Watch timer operation ................................................................................................................... 155
8.4.2 Interval timer operation .................................................................................................................. 155
CHAPTER 9 WATCHDOG TIMER .................................................................................................... 157
9.1
9.2
9.3
9.4
Functions of Watchdog Timer ................................................................................................
Configuration of Watchdog Timer ..........................................................................................
Registers to Control Watchdog Timer ...................................................................................
Watchdog Timer Operations ...................................................................................................
157
159
159
163
9.4.1 Watchdog timer operation ............................................................................................................. 163
9.4.2 Interval timer operation .................................................................................................................. 164
CHAPTER 10 CLOCK OUTPUT/BUZZER OUTPUT CONTROLLER ............................................ 165
10.1 Functions of Clock Output/Buzzer Output Controller ........................................................ 165
12
Preliminary User’s Manual U16035EJ1V0UM
10.2 Configuration of Clock Output/Buzzer Output Controller ................................................. 166
10.3 Registers to Control Clock Output/Buzzer Output Controller ........................................... 166
10.4 Operations of Clock Output/Buzzer Output Controller ...................................................... 169
10.4.1 Operation as clock output ............................................................................................................ 169
10.4.2 Operation as buzzer output ......................................................................................................... 169
CHAPTER 11 8-BIT A/D CONVERTER (µPD780024AS SUBSERIES) ......................................... 170
11.1
11.2
11.3
11.4
Functions of A/D Converter ..................................................................................................
Configuration of A/D Converter ............................................................................................
Registers to Control A/D Converter .....................................................................................
Operations of A/D Converter ................................................................................................
170
172
174
177
11.4.1 Basic operations of A/D converter ............................................................................................... 177
11.4.2 Input voltage and conversion results ........................................................................................... 179
11.4.3 A/D converter operation mode .................................................................................................... 180
11.5 How to Read A/D Converter Characteristics Table ............................................................ 183
11.6 Cautions for A/D Converter .................................................................................................. 186
CHAPTER 12 10-BIT A/D CONVERTER (µPD780034AS SUBSERIES) ...................................... 193
12.1
12.2
12.3
12.4
Functions of A/D Converter ..................................................................................................
Configuration of A/D Converter ............................................................................................
Registers to Control A/D Converter .....................................................................................
Operations of A/D Converter ................................................................................................
193
194
195
198
12.4.1 Basic operations of A/D converter ............................................................................................... 198
12.4.2 Input voltage and conversion results ........................................................................................... 200
12.4.3 A/D converter operation mode .................................................................................................... 201
12.5 How to Read A/D Converter Characteristics Table ............................................................ 203
12.6 Cautions for A/D Converter .................................................................................................. 206
CHAPTER 13 SERIAL INTERFACE (UART0) ................................................................................. 213
13.1
13.2
13.3
13.4
Functions of Serial Interface ...............................................................................................
Configuration of Serial Interface .........................................................................................
Registers to Control Serial Interface ..................................................................................
Operations of Serial Interface ..............................................................................................
213
215
216
220
13.4.1 Operation stop mode ................................................................................................................... 220
13.4.2 Asynchronous serial interface (UART) mode .............................................................................. 221
13.4.3 Infrared data transfer mode ......................................................................................................... 233
CHAPTER 14 SERIAL INTERFACE (SIO3) .................................................................................... 236
14.1
14.2
14.3
14.4
Functions of Serial Interface ...............................................................................................
Configuration of Serial Interface .........................................................................................
Registers to Control Serial Interface ..................................................................................
Operations of Serial Interface ..............................................................................................
236
237
238
242
14.4.1 Operation stop mode ................................................................................................................... 242
14.4.2 3-wire serial I/O mode ................................................................................................................. 243
Preliminary User’s Manual U16035EJ1V0UM
13
CHAPTER 15 INTERRUPT FUNCTIONS ......................................................................................... 246
15.1
15.2
15.3
15.4
Interrupt Function Types ......................................................................................................
Interrupt Sources and Configuration ...................................................................................
Registers to Control Interrupt Function ..............................................................................
Interrupt Servicing Operations .............................................................................................
246
246
250
256
15.4.1 Non-maskable interrupt request acknowledge operation ............................................................ 256
15.4.2 Maskable interrupt request acknowledge operation .................................................................... 259
15.4.3 Software interrupt request acknowledge operation .................................................................... 261
15.4.4 Nesting interrupt servicing ........................................................................................................... 262
15.4.5 Interrupt request hold .................................................................................................................. 265
CHAPTER 16 STANDBY FUNCTION ............................................................................................... 266
16.1 Standby Function and Configuration .................................................................................. 266
16.1.1 Standby function .......................................................................................................................... 266
16.1.2 Standby function control register ................................................................................................. 267
16.2 Operations of Standby Function .......................................................................................... 268
16.2.1 HALT mode ................................................................................................................................. 268
16.2.2 STOP mode ................................................................................................................................. 271
CHAPTER 17 RESET FUNCTION .................................................................................................... 274
17.1 Reset Function ....................................................................................................................... 274
CHAPTER 18 µPD78F0034BS ........................................................................................................... 278
18.1 Memory Size Switching Register ......................................................................................... 279
18.2 Flash Memory Programming ................................................................................................ 280
18.2.1 Selection of communication mode .............................................................................................. 280
18.2.2 Flash memory programming function .......................................................................................... 281
18.2.3 Connection of Flashpro III ........................................................................................................... 282
CHAPTER 19 INSTRUCTION SET ................................................................................................... 284
19.1 Conventions ........................................................................................................................... 285
19.1.1 Operand identifiers and specification methods ........................................................................... 285
19.1.2 Description of “operation” column ................................................................................................ 286
19.1.3 Description of “flag operation” column ......................................................................................... 286
19.2 Operation List ........................................................................................................................ 287
19.3 Instructions Listed by Addressing Type ............................................................................. 295
APPENDIX A DIFFERENCES BETWEEN µPD780024A, 780024AS, 780034A,
AND 780034AS SUBSERIES ...................................................................................... 299
APPENDIX B DEVELOPMENT TOOLS ........................................................................................... 300
B.1 Language Processing Software ............................................................................................. 302
14
Preliminary User’s Manual U16035EJ1V0UM
B.2 Flash Memory Writing Tools .................................................................................................. 303
B.3 Debugging Tools ..................................................................................................................... 304
B.3.1 Hardware ...................................................................................................................................... 304
B.3.2 Software ........................................................................................................................................ 305
APPENDIX C EMBEDDED SOFTWARE .......................................................................................... 306
APPENDIX D REGISTER INDEX ...................................................................................................... 307
D.1 Register Name Index ............................................................................................................... 307
D.2 Register Symbol Index ........................................................................................................... 309
Preliminary User’s Manual U16035EJ1V0UM
15
LIST OF FIGURES (1/6)
Figure No.
16
Title
Page
2-1
Pin I/O Circuit List ................................................................................................................................
42
3-1
Memory Map (µPD780021AS, 780031AS) ..........................................................................................
43
3-2
Memory Map (µPD780022AS, 780032AS) ..........................................................................................
44
3-3
Memory Map (µPD780023AS, 780033AS) ..........................................................................................
45
3-4
Memory Map (µPD780024AS, 780034AS) ..........................................................................................
46
3-5
Memory Map (µPD78F0034BS) ..........................................................................................................
47
3-6
Data Memory Addressing (µPD780021AS, 780031AS) ......................................................................
50
3-7
Data Memory Addressing (µPD780022AS, 780032AS) ......................................................................
51
3-8
Data Memory Addressing (µPD780023AS, 780033AS) ......................................................................
52
3-9
Data Memory Addressing (µPD780024AS, 780034AS) ......................................................................
53
3-10
Data Memory Addressing (µPD78F0034BS) .......................................................................................
54
3-11
Format of Program Counter .................................................................................................................
55
3-12
Format of Program Status Word ..........................................................................................................
55
3-13
Format of Stack Pointer .......................................................................................................................
57
3-14
Data to Be Saved to Stack Memory .....................................................................................................
57
3-15
Data to Be Restored from Stack Memory ............................................................................................
57
3-16
Configuration of General-Purpose Register .........................................................................................
58
4-1
Port Types ............................................................................................................................................
73
4-2
Block Diagram of P00 to P03 ...............................................................................................................
76
4-3
Block Diagram of P10 to P13 ...............................................................................................................
76
4-4
Block Diagram of P20, P22, P23, and P25 ..........................................................................................
77
4-5
Block Diagram of P21 and P24 ............................................................................................................
78
4-6
Block Diagram of P34 and P36 ............................................................................................................
79
4-7
Block Diagram of P35 ..........................................................................................................................
80
4-8
Block Diagram of P40 to P47 ...............................................................................................................
81
4-9
Block Diagram of Falling Edge Detector ..............................................................................................
81
4-10
Block Diagram of P50 to P57 ...............................................................................................................
82
4-11
Block Diagram of P70 to P73 ...............................................................................................................
83
4-12
Block Diagram of P74 and P75 ............................................................................................................
84
4-13
Format of Port Mode Register (PM0, PM2 to PM5, PM7) ....................................................................
86
4-14
Format of Pull-Up Resistor Option Register (PU0, PU2 to PU5, PU7) ................................................
88
5-1
Block Diagram of Clock Generator .......................................................................................................
91
5-2
Subsystem Clock Feedback Resistor ..................................................................................................
92
5-3
Format of Processor Clock Control Register (PCC) ............................................................................
93
5-4
External Circuit of Main System Clock Oscillator .................................................................................
94
5-5
External Circuit of Subsystem Clock Oscillator ....................................................................................
95
5-6
Examples of Incorrect Resonator Connection .....................................................................................
96
5-7
Main System Clock Stop Function .......................................................................................................
100
Preliminary User’s Manual U16035EJ1V0UM
LIST OF FIGURES (2/6)
Figure No.
Title
Page
5-8
System Clock and CPU Clock Switching .............................................................................................
103
6-1
Block Diagram of 16-Bit Timer/Event Counter 0 ..................................................................................
105
6-2
Format of 16-Bit Timer Mode Control Register 0 (TMC0) ....................................................................
109
6-3
Format of Capture/Compare Control Register 0 (CRC0) .....................................................................
110
6-4
Format of 16-Bit Timer Output Control Register 0 (TOC0) ..................................................................
111
6-5
Format of Prescaler Mode Register 0 (PRM0) .....................................................................................
112
6-6
Format of Port Mode Register 7 (PM7) ................................................................................................
113
6-7
Control Register Settings for Interval Timer Operation ........................................................................
114
6-8
Interval Timer Configuration Diagram ..................................................................................................
115
6-9
Timing of Interval Timer Operation .......................................................................................................
115
6-10
Control Register Settings for PPG Output Operation ...........................................................................
116
6-11
Control Register Settings for Pulse Width Measurement with Free-Running Counter
and One Capture Register ...................................................................................................................
117
6-12
Configuration Diagram for Pulse Width Measurement by Free-Running Counter ................................
118
6-13
Timing of Pulse Width Measurement Operation by Free-Running Counter
and One Capture Register (with Both Edges Specified) ......................................................................
118
6-14
Control Register Settings for Measurement of Two Pulse Widths with Free-Running Counter ............
119
6-15
CR01 Capture Operation with Rising Edge Specified ..........................................................................
120
6-16
Timing of Pulse Width Measurement Operation with Free-Running Counter
(with Both Edges Specified) .................................................................................................................
6-17
Control Register Settings for Pulse Width Measurement with
Free-Running Counter and Two Capture Registers .............................................................................
6-18
120
121
Timing of Pulse Width Measurement Operation by Free-Running Counter
and Two Capture Registers (with Rising Edge Specified) ....................................................................
122
6-19
Control Register Settings for Pulse Width Measurement by Means of Restart ...................................
123
6-20
Timing of Pulse Width Measurement Operation by Means of Restart (with Rising Edge Specified) ..........
123
6-21
Control Register Settings in External Event Counter Mode .................................................................
124
6-22
External Event Counter Configuration Diagram ...................................................................................
125
6-23
External Event Counter Operation Timings (with Rising Edge Specified) ............................................
125
6-24
Control Register Settings in Square-Wave Output Mode .....................................................................
126
6-25
Square-Wave Output Operation Timing ...............................................................................................
127
6-26
16-Bit Timer Counter 0 (TM0) Start Timing ..........................................................................................
128
6-27
Timings After Change of Compare Register During Timer Count Operation .......................................
128
6-28
Capture Register Data Retention Timing .............................................................................................
129
6-29
Operation Timing of OVF0 Flag ...........................................................................................................
130
7-1
Block Diagram of 8-Bit Timer/Event Counter 50 ..................................................................................
133
7-2
Block Diagram of 8-Bit Timer/Event Counter 51 ..................................................................................
133
7-3
Format of Timer Clock Select Register 50 (TCL50) .............................................................................
135
7-4
Format of Timer Clock Select Register 51 (TCL51) .............................................................................
136
Preliminary User’s Manual U16035EJ1V0UM
17
LIST OF FIGURES (3/6)
Figure No.
18
Title
Page
7-5
Format of 8-Bit Timer Mode Control Register 5n (TMC5n) ..................................................................
137
7-6
Format of Port Mode Register 7 (PM7) ................................................................................................
139
7-7
Interval Timer Operation Timings .........................................................................................................
141
7-8
External Event Counter Operation Timing (with Rising Edge Specified) .............................................
144
7-9
Square-Wave Output Operation Timing ...............................................................................................
145
7-10
PWM Output Operation Timing ............................................................................................................
147
7-11
Timing of Operation by CR5n Transition ..............................................................................................
148
7-12
16-Bit Resolution Cascade Connection Mode .....................................................................................
150
7-13
8-Bit Timer Counter Start Timing .........................................................................................................
150
7-14
Timing After Change of Compare Register During Timer Count Operation .........................................
151
8-1
Block Diagram of Watch Timer .............................................................................................................
152
8-2
Format of Watch Timer Operation Mode Register (WTM) ...................................................................
154
8-3
Operation Timing of Watch Timer/Interval Timer ..................................................................................
156
9-1
Block Diagram of Watchdog Timer .......................................................................................................
157
9-2
Format of Watchdog Timer Clock Select Register (WDCS) .................................................................
160
9-3
Format of Watchdog Timer Mode Register (WDTM) ............................................................................
161
9-4
Format of Oscillation Stabilization Time Select Register (OSTS) ........................................................
162
10-1
Block Diagram of Clock Output/Buzzer Output Controller ...................................................................
165
10-2
Format of Clock Output Select Register (CKS) ....................................................................................
167
10-3
Format of Port Mode Register 7 (PM7) ................................................................................................
168
10-4
Remote Control Output Application Example ......................................................................................
169
11-1
Block Diagram of 8-Bit A/D Converter .................................................................................................
171
11-2
Format of A/D Converter Mode Register 0 (ADM0) .............................................................................
175
11-3
Format of Analog Input Channel Specification Register 0 (ADS0) ......................................................
176
11-4
Format of External Interrupt Rising Edge Enable Register (EGP) and
External Interrupt Falling Edge Enable Register (EGN) .......................................................................
176
11-5
Basic Operation of 8-Bit A/D Converter ...............................................................................................
178
11-6
Relationship Between Analog Input Voltage and A/D Conversion Result ............................................
179
11-7
A/D Conversion by Hardware Start (When Falling Edge Is Specified) .................................................
181
11-8
A/D Conversion by Software Start .......................................................................................................
182
11-9
Overall Error .........................................................................................................................................
183
11-10
Quantization Error ................................................................................................................................
183
11-11
Zero Scale Offset .................................................................................................................................
184
11-12
Full Scale Offset ...................................................................................................................................
184
11-13
Integral Linearity Error .........................................................................................................................
184
11-14
Differential Linearity Error ....................................................................................................................
184
11-15
Example of Method of Reducing Current Consumption in Standby Mode ...........................................
186
Preliminary User’s Manual U16035EJ1V0UM
LIST OF FIGURES (4/6)
Figure No.
Title
Page
11-16
Analog Input Pin Connection ...............................................................................................................
187
11-17
A/D Conversion End Interrupt Request Generation Timing .................................................................
188
11-18
Timing of Reading Conversion Result (When Conversion Result Is Undefined) .................................
189
11-19
Timing of Reading Conversion Result (When Conversion Result Is Normal) ......................................
189
11-20
AVDD Pin Connection ...........................................................................................................................
190
11-21
Example of Connecting Capacitor to AVREF Pin ...................................................................................
190
11-22
Internal Equivalent Circuit of Pins ANI0 to ANI3 ..................................................................................
191
11-23
Example of Connection If Signal Source Impedance Is High ..............................................................
192
12-1
Block Diagram of 10-Bit A/D Converter ...............................................................................................
193
12-2
Format of A/D Converter Mode Register 0 (ADM0) .............................................................................
196
12-3
Format of Analog Input Channel Specification Register 0 (ADS0) ......................................................
197
12-4
Format of External Interrupt Rising Edge Enable Register (EGP) and
External Interrupt Falling Edge Enable Register (EGN) .......................................................................
197
12-5
Basic Operation of 10-Bit A/D Converter .............................................................................................
199
12-6
Relationship Between Analog Input Voltage and A/D Conversion Result ............................................
200
12-7
A/D Conversion by Hardware Start (When Falling Edge Is Specified) .................................................
201
12-8
A/D Conversion by Software Start .......................................................................................................
202
12-9
Overall Error .........................................................................................................................................
203
12-10
Quantization Error ................................................................................................................................
203
12-11
Zero Scale Offset .................................................................................................................................
204
12-12
Full Scale Offset ...................................................................................................................................
204
12-13
Integral Linearity Error .........................................................................................................................
204
12-14
Differential Linearity Error ....................................................................................................................
204
12-15
Example of Method of Reducing Current Consumption in Standby Mode ...........................................
206
12-16
Analog Input Pin Connection ...............................................................................................................
207
12-17
A/D Conversion End Interrupt Request Generation Timing .................................................................
208
12-18
Timing of Reading Conversion Result (When Conversion Result Is Undefined) .................................
209
12-19
Timing of Reading Conversion Result (When Conversion Result Is Normal) ......................................
209
12-20
AVDD Pin Connection ...........................................................................................................................
210
12-21
Example of Connecting Capacitor to AVREF Pin ...................................................................................
210
12-22
Internal Equivalent Circuit of Pins ANI0 to ANI3 ..................................................................................
211
12-23
Example of Connection If Signal Source Impedance Is High ..............................................................
212
13-1
Block Diagram of Serial Interface (UART0) ..........................................................................................
214
13-2
Block Diagram of Baud Rate Generator ..............................................................................................
214
13-3
Format of Asynchronous Serial Interface Mode Register 0 (ASIM0) ...................................................
217
13-4
Format of Asynchronous Serial Interface Status Register 0 (ASIS0) ..................................................
218
13-5
Format of Baud Rate Generator Control Register 0 (BRGC0) .............................................................
219
13-6
Baud Rate Error Tolerance (When k = 0), Including Sampling Errors ..................................................
227
13-7
Format of Transmit/Receive Data in Asynchronous Serial Interface ....................................................
228
Preliminary User’s Manual U16035EJ1V0UM
19
LIST OF FIGURES (5/6)
Figure No.
20
Title
Page
13-8
Timing of Asynchronous Serial Interface Transmit Completion Interrupt Request ...............................
230
13-9
Timing of Asynchronous Serial Interface Receive Completion Interrupt Request ...............................
231
13-10
Receive Error Timing ...........................................................................................................................
232
13-11
Data Format Comparison Between Infrared Data Transfer Mode and UART Mode ............................
233
14-1
Block Diagram of Serial Interface (SIO3n) ...........................................................................................
236
14-2
Format of Serial Operation Mode Register 30 (CSIM30) .....................................................................
239
14-3
Format Serial Operation Mode Register 31 (CSIM31) .........................................................................
241
14-4
Timing of 3-Wire Serial I/O Mode ........................................................................................................
245
15-1
Basic Configuration of Interrupt Function ............................................................................................
248
15-2
Format of Interrupt Request Flag Register (IF0L, IF0H, IF1L) .............................................................
251
15-3
Format of Interrupt Mask Flag Register (MK0L, MK0H, MK1L) ...........................................................
252
15-4
Format of Priority Specification Flag Register (PR0L, PR0H, PR1L) ..................................................
253
15-5
Format of External Interrupt Rising Edge Enable Register (EGP) and
External Interrupt Falling Edge Enable Register (EGN) .......................................................................
254
15-6
Format of Memory Expansion Mode Register (MEM) .........................................................................
254
15-7
Format of Program Status Word ..........................................................................................................
255
15-8
Non-Maskable Interrupt Request Generation to Acknowledge Flowchart ...........................................
257
15-9
Non-Maskable Interrupt Request Acknowledge Timing .......................................................................
257
15-10
Non-Maskable Interrupt Request Acknowledge Operation ..................................................................
258
15-11
Interrupt Request Acknowledge Processing Algorithm ........................................................................
260
15-12
Interrupt Request Acknowledge Timing (Minimum Time) ....................................................................
261
15-13
Interrupt Request Acknowledge Timing (Maximum Time) ...................................................................
261
15-14
Nesting Examples ................................................................................................................................
263
15-15
Interrupt Request Hold .........................................................................................................................
265
16-1
Format of Oscillation Stabilization Time Select Register (OSTS) ........................................................
267
16-2
HALT Mode Release by Interrupt Request Generation ........................................................................
269
16-3
HALT Mode Release by RESET Input .................................................................................................
270
16-4
STOP Mode Release by Interrupt Request Generation .......................................................................
272
16-5
STOP Mode Release by RESET Input ................................................................................................
273
17-1
Block Diagram of Reset Function ........................................................................................................
274
17-2
Timing of Reset by RESET Input .........................................................................................................
275
17-3
Timing of Reset Due to Watchdog Timer Overflow ..............................................................................
275
17-4
Timing of Reset in STOP Mode by RESET Input .................................................................................
275
18-1
Format of Memory Size Switching Register (IMS) ...............................................................................
279
18-2
Format of Communication Mode Selection ..........................................................................................
281
18-3
Connection of Flashpro III in 3-Wire Serial I/O Mode ..........................................................................
282
Preliminary User’s Manual U16035EJ1V0UM
LIST OF FIGURES (6/6)
Figure No.
Title
Page
18-4
Connection of Flashpro III in 3-Wire Serial I/O Mode (Using Handshake) ..........................................
282
18-5
Connection of Flashpro III in UART Mode ...........................................................................................
282
18-6
Connection of Flashpro III in Pseudo 3-Wire Serial I/O Mode .............................................................
283
B-1
Development Tool Configuration ..........................................................................................................
301
Preliminary User’s Manual U16035EJ1V0UM
21
LIST OF TABLES (1/2)
Table No.
22
Title
Page
2-1
Pin I/O Circuit Types .............................................................................................................................
3-1
Internal ROM Capacity ........................................................................................................................
48
3-2
Vector Table .........................................................................................................................................
48
3-3
Internal High-Speed RAM Capacity .....................................................................................................
49
3-4
Internal High-Speed RAM Area ...........................................................................................................
56
3-5
Special Function Register List .............................................................................................................
60
4-1
Port Functions ......................................................................................................................................
74
4-2
Configuration of Ports ..........................................................................................................................
75
5-1
Configuration of Clock Generator ........................................................................................................
90
5-2
Relationship of CPU Clock and Minimum Instruction Execution Time .................................................
94
5-3
Maximum Time Required for CPU Clock Switchover ...........................................................................
102
6-1
Configuration of 16-Bit Timer/Event Counter 0 ....................................................................................
105
6-2
TI00/TO0/P70 Pin Valid Edge and CR00, CR01 Capture Trigger ........................................................
106
6-3
TI01/P71 Pin Valid Edge and CR00 Capture Trigger ...........................................................................
106
7-1
Configuration of 8-Bit Timer/Event Counters 50 and 51 ......................................................................
134
8-1
Interval Timer Interval Time .................................................................................................................
153
8-2
Configuration of Watch Timer ...............................................................................................................
153
8-3
Interval Timer Interval Time .................................................................................................................
155
9-1
Watchdog Timer Program Loop Detection Time ..................................................................................
158
9-2
Interval Time ........................................................................................................................................
158
9-3
Configuration of Watchdog Timer .........................................................................................................
159
9-4
Watchdog Timer Program Loop Detection Time ..................................................................................
163
9-5
Interval Timer Interval Time .................................................................................................................
164
10-1
Configuration of Clock Output/Buzzer Output Controller .....................................................................
166
11-1
Configuration of A/D Converter ............................................................................................................
172
11-2
Resistance and Capacitance of Equivalent Circuit (Reference Values) ...............................................
191
12-1
Configuration of A/D Converter ............................................................................................................
194
12-2
Resistance and Capacitance of Equivalent Circuit (Reference Values) ...............................................
211
13-1
Configuration of Serial Interface (UART0) ...........................................................................................
215
13-2
Relationship Between 5-Bit Counter’s Source Clock and “n” Value .....................................................
225
13-3
Relationship Between Main System Clock and Baud Rate .................................................................
226
13-4
Causes of Receive Errors ....................................................................................................................
232
13-5
Bit Rate and Pulse Width Values .........................................................................................................
234
Preliminary User’s Manual U16035EJ1V0UM
41
LIST OF TABLES (2/2)
Table No.
Title
Page
14-1
Configuration of Serial Interface (SIO3n) .............................................................................................
237
15-1
Interrupt Source List ............................................................................................................................
247
15-2
Flags Corresponding to Interrupt Request Sources ............................................................................
250
15-3
Times from Generation of Maskable Interrupt Until Servicing .............................................................
259
15-4
Interrupt Request Enabled for Nesting During Interrupt Servicing .......................................................
262
16-1
HALT Mode Operating Status ..............................................................................................................
268
16-2
Operation After HALT Mode Release ...................................................................................................
270
16-3
STOP Mode Operating Status .............................................................................................................
271
16-4
Operation After STOP Mode Release ..................................................................................................
273
17-1
Hardware Statuses After Reset ...........................................................................................................
276
18-1
Differences Among µPD78F0034BS and Mask ROM Versions ...........................................................
278
18-2
Memory Size Switching Register Settings ...........................................................................................
279
18-3
Communication Mode List ...................................................................................................................
280
18-4
Main Functions of Flash Memory Programming ..................................................................................
281
19-1
Operand Identifiers and Specification Methods ...................................................................................
285
A-1
Major Differences Between µPD780024A, 780024AS, 780034A, and 780034AS Subseries .............
299
Preliminary User’s Manual U16035EJ1V0UM
23
CHAPTER 1
OUTLINE
1.1 Features
•
Internal memory
Type
Part Number
Program Memory
(ROM/Flash Memory)
µPD780021AS, 780031AS
8 KB
µPD780022AS, 780032AS
16 KB
µPD780023AS, 780033AS
24 KB
µPD780024AS, 780034AS
32 KB
µPD78F0034BS
32 KBNote
Data Memory
(High-Speed RAM)
512 bytes
1024 bytes
1024 bytesNote
Note The capacities of internal flash memory and internal high-speed RAM can be changed by means of the
memory size switching register (IMS).
•
•
External memory expansion space: 64 KB
Minimum instruction execution time changeable from high speed (0.24 µs: @ 8.38 MHz operation with main system
clock) to ultra-low speed (122 µs: @ 32.768 kHz operation with subsystem clock)
•
Instruction set suited to system control
• Bit manipulation possible in all address spaces
• Multiply and divide instructions
•
•
•
•
I/O ports: 39
8-bit resolution A/D converter: 8 channels (µPD780024AS Subseries only)
10-bit resolution A/D converter: 8 channels (µPD780034AS Subseries only)
Serial interface:
3 channels
• 3-wire serial I/O mode: 2 channels
• UART mode:
•
1 channel
Timer: Five channels
• 16-bit timer/event counter: 1 channel
• 8-bit timer/event counter: 2 channels
•
•
•
• Watch timer:
1 channel
• Watchdog timer:
1 channel
Vectored interrupt sources: 20
Two types of on-chip clock oscillators (main system clock and subsystem clock)
Power supply voltage: VDD = 1.8 to 5.5 V
24
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 1
OUTLINE
1.2 Applications
Home electric appliances, pagers, AV equipment, car audios, car electric equipment, office automation
equipment, etc.
1.3 Ordering Information
Part Number
Package
Internal ROM
µPD780021ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780022ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780023ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780024ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780031ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780032ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780033ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD780034ASGB-×××-8ET
52-pin plastic LQFP (10 × 10)
Mask ROM
µPD78F0034BSGB-8ET
52-pin plastic LQFP (10 × 10)
Flash memory
Remark ××× indicates ROM code suffix.
Preliminary User’s Manual U16035EJ1V0UM
25
CHAPTER 1
OUTLINE
1.4 Pin Configuration (Top View)
• 52-pin plastic LQFP (10 × 10)
µPD780021ASGB-×××-8ET, 780022ASGB-×××-8ET,
µPD780023ASGB-×××-8ET, 780024ASGB-×××-8ET,
µPD780031ASGB-×××-8ET, 780032ASGB-×××-8ET,
µPD780033ASGB-×××-8ET, 780034ASGB-×××-8ET,
P47
P46
P45
P44
P43
P42
P41
P40
P75/BUZ
P74/PCL
P73/TI51/TO51
P72/TI50/TO50
P71/TI01
µPD780034BSGB-8ET
52 51 50 49 48 47 46 45 44 43 42 41 40
P50
P51
P52
P53
P54
P55
P56
P57
VSS0
VDD0
P34/SI31
P35/SO31
P36/SCK31
39
38
37
36
35
34
33
32
31
30
29
28
27
1
2
3
4
5
6
7
8
9
10
11
12
13
P70/TI00/TO0
P03/INTP3/ADTRG
P02/INTP2
P01/INTP1
P00/INTP0
VSS1
X1
X2
IC (VPP)
XT1
XT2
RESET
AVDD
P20/SI30
P21/SO30
P22/SCK30
P23/RxD0
P24/TxD0
P25/ASCK0
VDD1
AVSS
P13/ANI3
P12/ANI2
P11/ANI1
P10/ANI0
AVREF
14 15 16 17 18 19 20 21 22 23 24 25 26
Cautions 1. Connect IC (Internally Connected) pin directly to VSS0 or VSS1.
2. Connect AVSS pin to VSS0.
Remarks 1. When these devices are used in applications that require the reduction of noise generated from an
on-chip microcontroller, the implementation of noise measures is recommended, such as supplying
VDD0 and VDD1 independently, connecting VSS0 and VSS1 independently to ground lines, and so on.
2. Pin connection in parentheses is intended for the µPD78F0034BS.
26
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 1
ADTRG:
AD trigger input
OUTLINE
P70 to P75:
Port 7
ANI0 to ANI3:
Analog input
PCL:
Programmable clock
ASCK0:
Asynchronous serial clock
RESET:
Reset
AVDD:
Analog power supply
RxD0:
Receive data
AVREF:
Analog reference voltage
SCK30, SCK31:
Serial clock
AVSS:
Analog ground
SI30, SI31:
Serial input
BUZ:
Buzzer clock
SO30, SO31:
Serial output
IC:
Internally connected
INTP0 to INTP3: External interrupt input
TI00, TI01, TI50, TI51: Timer input
TO0, TO50, TO51:
Timer output
P00 to P03:
Port 0
TxD0:
Transmit data
P10 to P13:
Port 1
VDD0, VDD1:
Power supply
P20 to P25:
Port 2
VPP:
Programming power supply
P34 to P36:
Port 3
VSS0, VSS1:
Ground
P40 to P47:
Port 4
X1, X2:
Crystal (main system clock)
P50 to P57:
Port 5
XT1, XT2:
Crystal (subsystem clock)
Preliminary User’s Manual U16035EJ1V0UM
27
CHAPTER 1
OUTLINE
1.5 78K/0 Series Lineup
The products in the 78K/0 Series are listed below. The names enclosed in boxes are subseries name.
Products in mass production
Products under development
Y subseries products are compatible with I2C bus.
Control
EMI-noise reduced version of the µPD78078
µ PD78075B
µ PD78078
µ PD78070A
µPD78078Y
µ PD78054 with timer and enhanced external interface
µ PD78070AY
ROMless version of the µ PD78078
µ PD78078Y with enhanced serial I/O and limited function
80-pin
µ PD780058
µ PD780018AY
µ PD780058Y
80-pin
80-pin
µ PD78058F
µPD78054
µPD780065
64-pin
µ PD780078
64-pin
64-pin
64-pin
µ PD780034A
µ PD780024A
µPD78014H
64-pin
µPD78018F
µ PD78083
100-pin
100-pin
100-pin
100-pin
80-pin
42/44-pin
µ PD78058FY
µ PD78054 with enhanced serial I/O
EMI-noise reduced version of the µ PD78054
µ PD78018F with UART and D/A converter, and enhanced I/O
µ PD780024A with expanded RAM
µ PD780034A with timer and enhanced serial I/O
µ PD780078Y
PD780024A with enhanced A/D converter
µ
PD780034AY
µ
µ
PD78018F
with enhanced serial I/O
µ PD780024AY
EMI-noise reduced version of the µ PD78018F
µ PD78054Y
µ PD78018FY
Basic subseries for control
On-chip UART, capable of operating at low voltage (1.8 V)
Inverter control
64-pin
µPD780988
On-chip inverter control circuit and UART. EMI-noise reduced.
VFD drive
78K/0
Series
100-pin
µ PD780208
µ PD78044F with enhanced I/O and VFD C/D. Display output total: 53
80-pin
µ PD780232
µPD78044H
For panel control. On-chip VFD C/D. Display output total: 53
80-pin
80-pin
µPD78044F
Basic subseries for driving VFD. Display output total: 34
µ PD78044F with N-ch open-drain I/O. Display output total: 34
LCD drive
120-pin
µ PD780338
120-pin
µ PD780328
µPD780318
µ PD780308
µPD78064B
µPD78064
120-pin
100-pin
100-pin
100-pin
µ PD780308 with enhanced display function and timer. Segment signal output: 40 pins max.
µ PD780308 with enhanced display function and timer. Segment signal output: 32 pins max.
µ PD780308 with enhanced display function and timer. Segment signal output: 24 pins max.
µPD780308Y
µ PD78064 with enhanced SIO, and expanded ROM and RAM
EMI-noise reduced version of the µ PD78064
µ PD78064Y
Basic subseries for driving LCDs, on-chip UART
Bus interface supported
100-pin
80-pin
µ PD780948
µ PD78098B
µ PD78054 with IEBusTM controller
µ PD780702Y
µPD780703Y
µ PD780833Y
80-pin
80-pin
80-pin
64-pin
On-chip CAN controller
µPD780816
On-chip IEBus controller
On-chip CAN controller
On-chip controller compliant with J1850 (Class 2)
Specialized for CAN controller function
Meter control
100-pin
µPD780958
80-pin
µPD780852
µPD780828B
80-pin
For industrial meter control
On-chip automobile meter controller/driver
For automobile meter driver. On-chip CAN controller
Remark VFD (Vacuum Fluorescent Display) is referred to as FIPTM (Fluorescent Indicator Panel) in some
documents, but the functions of the two are the same.
28
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 1
OUTLINE
The major functional differences among the subseries are listed below.
Function
Subseries Name
Control
ROM
Timer
8-Bit 10-Bit 8-Bit
Capacity
(Bytes) 8-Bit 16-Bit Watch WDT A/D A/D D/A
µPD78075B 32 K to 40 K 4 ch
µPD78078
µPD78070A
1 ch
1 ch
1 ch
8 ch
–
Serial Interface
2 ch 3 ch (UART: 1 ch)
I/O
VDD External
MIN.
Value Expansion
88
1.8 V
61
2.7 V
48 K to 60 K
–
µPD780058 24 K to 60 K 2 ch
3 ch (time-division UART: 1 ch)
68
1.8 V
µPD78058F 48 K to 60 K
3 ch (UART: 1 ch)
69
2.7 V
µPD78054
√
16 K to 60 K
2.0 V
µPD780065 40 K to 48 K
–
µPD780078 48 K to 60 K
2 ch
µPD780034A 8 K to 32 K
1 ch
–
µPD780024A
8 ch
8 ch
4 ch (UART: 1 ch)
60
2.7 V
3 ch (UART: 2 ch)
52
1.8 V
3 ch (UART: 1 ch)
51
2 ch
53
1 ch (UART: 1 ch)
33
–
µPD78014H
µPD78018F 8 K to 60 K
µPD78083
8 K to 16 K
–
Inverter
control
µPD780988 16 K to 60 K 3 ch Note
VFD
drive
µPD780208 32 K to 60 K 2 ch
–
–
1 ch
–
8 ch
–
3 ch (UART: 2 ch)
47
4.0 V
√
1 ch
1 ch
1 ch
8 ch
–
–
2 ch
74
2.7 V
–
µPD780232 16 K to 24 K 3 ch
–
–
4 ch
40
4.5 V
µPD78044H 32 K to 48 K 2 ch
1 ch
1 ch
8 ch
68
2.7 V
54
1.8 V
1 ch
µPD78044F 16 K to 40 K
LCD
drive
–
2 ch
µPD780338 48 K to 60 K 3 ch
2 ch
1 ch
1 ch
–
10 ch 1 ch 2 ch (UART: 1 ch)
µPD780328
62
µPD780318
70
µPD780308 48 K to 60 K 2 ch
1 ch
8 ch
–
–
µPD78064B 32 K
µPD78064
3 ch (time-division UART: 1 ch)
–
57
2.0 V
79
4.0 V
√
69
2.7 V
–
2 ch (UART: 1 ch)
16 K to 32 K
Bus
µPD780948 60 K
interface
µPD78098B 40 K to 60 K
1 ch
supported µPD780816 32 K to 60 K
2 ch
2 ch
2 ch
1 ch
1 ch
8 ch
–
–
3 ch (UART: 1 ch)
2 ch
12 ch
–
2 ch (UART: 1 ch)
46
4.0 V
Meter
control
µPD780958 48 K to 60 K 4 ch
2 ch
–
1 ch
–
–
–
2 ch (UART: 1 ch)
69
2.2 V
–
Dashboard
control
µPD780852 32 K to 40 K 3 ch
1 ch
1 ch
1 ch
5 ch
–
–
3 ch (UART: 1 ch)
56
4.0 V
–
µPD780828B 32 K to 60 K
59
Note 16-bit timer: 2 channels
10-bit timer: 1 channel
Preliminary User’s Manual U16035EJ1V0UM
29
CHAPTER 1
OUTLINE
1.6 Block Diagram
TI00/TO0/P70
16-bit timer/
event counter
Port 0
P00 to P03
TI50/TO50/P72
8-bit timer/
event counter 50
Port 1
P10 to P13
TI51/TO51/P73
8-bit timer/
event counter 51
Port 2
P20 to P25
Port 3
P34 to P36
Port 4
P40 to P47
Port 5
P50 to P57
Port 7
P70 to P75
TI01/P71
Watchdog timer
Watch timer
78K/0
CPU core
SI30/P20
SO30/P21
SCK30/P22
Serial
interface 30
SI31/P34
SO31/P35
SCK31/P36
Serial
interface 31
RxD0/P23
TxD0/P24
ASCK0/P25
UART0
ANI0/P10 to
ANI3/P13
AVDD
AVSS
AVREF
INTP0/P00 to
INTP3/P03
ROM
RESET
X1
RAM
System control
XT1
XT2
A/D converter
Interrupt control
BUZ/P75
Buzzer output
PCL/P74
Clock output
control
VDD0 VDD1 VSS0 VSS1 IC
(VPP)
Remarks 1. The internal ROM and RAM capacities depend on the product.
2. Pin connection in parentheses is intended for the µPD78F0034BS.
30
X2
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 1
OUTLINE
1.7 Outline of Function
Part Number
Item
Internal memory
µPD780021AS µPD780022AS µPD780023AS µPD780024AS µPD78F0034BS
µPD780031AS µPD780032AS µPD780033AS µPD780034AS
ROM
8 KB
(Mask ROM)
High-speed RAM
512 bytes
16 KB
(Mask ROM)
24 KB
(Mask ROM)
32 KB
(Mask ROM)
1024 bytes
Memory space
64 KB
General-purpose register
8 bits × 32 registers (8 bits × 8 registers × 4 banks)
Minimum instruction
Minimum instruction execution time changeable function
execution time
When main system
clock selected
0.24 µs/0.48 µs/0.95 µs/1.91 µs/3.81 µs (@ 8.38 MHz operation)
When subsystem
122 µs (@ 32.768 kHz operation)
32 KBNote
(Flash memory)
1024 bytesNote
clock selected
Instruction set
•
•
•
•
16-bit operation
Multiply/divide (8 bits × 8 bits, 16 bits ÷ 8 bits)
Bit manipulate (set, reset, test, and Boolean operation)
BCD adjust, etc.
I/O port
Total:
• CMOS input:
• CMOS I/O:
A/D converter
• 8-bit resolution × 4 channels (µPD780021AS, 780022AS, 780023AS, 780024AS)
• 10-bit resolution × 4 channels (µPD780031AS, 780032AS, 780033AS, 780034AS, 78F0034BS)
• Low-voltage operation: AVDD = 1.8 to 5.5 V
Serial interface
• 3-wire serial I/O mode:
• UART mode:
Timer
• 16-bit timer/event counter: 1 channel
• 8-bit timer/event counter: 2 channels
• Watch timer:
1 channel
• Watchdog timer:
39
4
35
2 channels
1 channel
1 channel
Timer output
Three outputs (8-bit PWM output enable: 2)
Clock output
• 65.5 kHz, 131 kHz, 262 kHz, 524 kHz, 1.05 MHz, 2.10 MHz, 4.19 MHz, 8.38 MHz
(8.38 MHz with main system clock)
• 32.768 kHz (32.768 kHz with subsystem clock)
Buzzer output
1.02 kHz, 2.05 kHz, 4.10 kHz, 8.19 kHz (8.38 MHz with main system clock)
Vectored interrupt
source
Maskable
Internal: 13, External: 5
Non-maskable
Internal: 1
Software
1
Power supply voltage
VDD = 1.8 to 5.5 V
Operating ambient temperature
TA = –40 to +85°C
Package
• 52-pin plastic LQFP (10 × 10)
Note The capacities of internal flash memory and internal high-speed RAM can be changed by means of the
memory size switching register (IMS).
Preliminary User’s Manual U16035EJ1V0UM
31
CHAPTER 1
OUTLINE
The outline of the timer/event counter is as follows (for details, refer to CHAPTER 6 16-BIT TIMER/EVENT
COUNTER 0, CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51, CHAPTER 8
WATCH TIMER, and
CHAPTER 9 WATCHDOG TIMER).
16-Bit Timer/
Event Counter
8-Bit Timer/
Event Counter
Watch Timer
Watchdog Timer
1 channel
2 channels
1 channelNote 1
1 channelNote 2
Operation
Interval timer
mode
External event counter
√
√
–
–
Function
Timer output
√
√
–
–
PPG output
√
–
–
–
PWM output
–
√
–
–
Pulse width measurement
√
–
–
–
Square-wave output
√
√
–
–
Interrupt request
√
√
√
√
Notes 1. The watch timer can perform both watch timer and interval timer functions at the same time.
2. The watchdog timer can perform either the watchdog timer function or the interval timer function.
32
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 2
PIN FUNCTION
2.1 Pin Function List
(1) Port pins
Pin Name
P00
I/O
I/O
P01
P02
P03
P10 to P13
P20
Input
I/O
P21
P22
P23
Function
After Reset
Alternate
Function
Port 0
4-bit I/O port
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software
settings.
Input
INTP0
Port 1
4-bit input-only port.
Input
ANI0 to ANI3
Port 2
6-bit I/O port
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software
settings.
Input
SI30
INTP1
INTP2
INTP3/ADTRG
SO30
SCK30
RxD0
P24
TxD0
P25
ASCK0
P34
I/O
Port 3
Input
3-bit I/O port
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software settings.
P35
P36
P40 to P47
I/O
P50 to P57
I/O
SI31
SO31
SCK31
Port 4
8-bit I/O port
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software settings.
Interrupt request flag (KRIF) is set to 1 by falling edge
detection.
Input
—
Port 5
Input
—
8-bit I/O port
LEDs can be driven directly.
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software settings.
P70
P71
P72
P73
I/O
Port 7
6-bit I/O port
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software
settings.
Input
TI00/TO0
TI01
TI50/TO50
TI51/TO51
P74
PCL
P75
BUZ
Preliminary User’s Manual U16035EJ1V0UM
33
CHAPTER 2
PIN FUNCTION
(2) Non-port pins (1/2)
Pin Name
INTP0
I/O
Function
After Reset
Input
External interrupt request input with specifiable valid edges
(rising edge, falling edge, both rising and falling edges)
Input
INTP1
Alternate
Function
P00
P01
INTP2
P02
INTP3
P03/ADTRG
SI30
Input
Serial interface serial data input
Input
SI31
SO30
P34
Output
Serial interface serial data output
Input
SO31
SCK30
P20
P21
P35
I/O
Serial interface serial clock input/output
Input
SCK31
P22
P36
RxD0
Input
Asynchronous serial interface serial data input
Input
P23
TxD0
Output
Asynchronous serial interface serial data output
Input
P24
ASCK0
Input
Asynchronous serial interface serial clock input
Input
P25
TI00
Input
External count clock input to 16-bit timer/event counter 0
Capture trigger input to 16-bit timer/event counter 0 capture
register (CR00, CR01)
Input
P70/TO0
TI01
Capture trigger input to 16-bit timer/event counter 0
capture register (CR00)
P71
TI50
External count clock input to 8-bit timer/event counter 50
P72/TO50
TI51
External count clock input to 8-bit timer/event counter 51
P73/TO51
TO0
16-bit timer/event counter 0 output
Input
P70/TI00
TO50
8-bit timer/event counter 50 output
(also used for 8-bit PWM output)
Input
P72/TI50
TO51
8-bit timer/event counter 51 output
(also used for 8-bit PWM output)
PCL
Output
Output
Clock output (for main system clock and subsystem clock
P73/TI51
Input
P74
Input
P75
trimming)
BUZ
Output
Buzzer output
ANI0 to ANI3
Input
A/D converter analog input
Input
P10 to P13
ADTRG
Input
A/D converter trigger signal input
Input
P03/INTP3
AVREF
Input
A/D converter reference voltage input
—
—
AVDD
—
A/D converter analog power supply. Connect to VDD0 or VDD1.
—
—
AVSS
—
A/D converter ground potential.
—
—
Input
—
—
—
—
—
—
—
—
—
Connect to VSS0 or VSS1.
RESET
Input
System reset input
X1
Input
Crystal connection for main system clock oscillation
X2
—
XT1
Input
XT2
—
VDD0
—
Positive power supply for ports
—
—
VDD1
—
Positive power supply other than ports
—
—
34
Crystal connection for subsystem clock oscillation
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 2
PIN FUNCTION
(2) Non-port pins (2/2)
Pin Name
I/O
Function
After Reset
Alternate
Function
VSS0
—
Ground potential for ports
—
—
VSS1
—
Ground potential other than ports
—
—
IC
—
Internally connected. Connect directly to VSS0 or VSS1.
—
—
VPP
—
High-voltage application for program write/verify.
Connect directly to VSS0 or VSS1 in normal operating mode.
—
—
Preliminary User’s Manual U16035EJ1V0UM
35
CHAPTER 2
PIN FUNCTION
2.2 Description of Pin Functions
2.2.1 P00 to P03 (Port 0)
These are 4-bit I/O ports. Besides serving as I/O ports, they function as an external interrupt input, and A/D
converter external trigger input.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 4-bit I/O ports.
P00 to P03 can be specified as input or output ports in 1-bit units with port mode register 0 (PM0). On-chip pullup resistors can be used by setting pull-up resistor option register 0 (PU0).
(2) Control mode
These ports function as an external interrupt request input, and A/D converter external trigger input.
(a) INTP0 to INTP3
INTP0 to INTP3 are external interrupt request input pins which can specify valid edges (rising edge, falling
edge, and both rising and falling edges).
(b) ADTRG
A/D converter external trigger input pin.
Caution
When P03 is used as an A/D converter external trigger input, specify the valid edge by
bits 1, 2 (EGA00, EGA01) of A/D converter mode register (ADM0) and set interrupt mask
flag (PMK3) to 1.
2.2.2 P10 to P13 (Port 1)
These are 4-bit input-only ports. Besides serving as input ports, they function as an A/D converter analog input.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 4-bit input-only ports.
(2) Control mode
These ports function as A/D converter analog input pins (ANI0 to ANI3).
36
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 2
PIN FUNCTION
2.2.3 P20 to P25 (Port 2)
These are 6-bit I/O ports. Besides serving as I/O ports, they function as serial interface data I/O and clock I/O.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 6-bit I/O ports. They can be specified as input or output ports in 1-bit units with port mode
register 2 (PM2). On-chip pull-up resistors can be used by setting pull-up resistor option register 2 (PU2).
(2) Control mode
These ports function as serial interface data I/O and clock I/O.
(a) SI30 and SO30
Serial interface serial data I/O pins.
(b) SCK30
Serial interface serial clock I/O pin.
(c) RXD0 and TXD0
Asynchronous serial interface serial data I/O pins.
(d) ASCK0
Asynchronous serial interface serial clock input pin.
2.2.4 P34 to P36 (Port 3)
These are 3-bit I/O ports. Besides serving as I/O ports, they function as serial interface data I/O and clock I/O.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 3-bit I/O ports. They can be specified as input or output ports in 1-bit units with port mode
register 3 (PM3). On-chip pull-up resistors can be used by setting pull-up resistor option register 3 (PU3).
(2) Control mode
These ports function as serial interface data I/O and clock I/O.
(a) SI31 and SO31
Serial interface serial data I/O pins.
(b) SCK31
Serial interface serial clock I/O pin.
Preliminary User’s Manual U16035EJ1V0UM
37
CHAPTER 2
PIN FUNCTION
2.2.5 P40 to P47 (Port 4)
These are 8-bit I/O ports.
The interrupt request flag (KRIF) can be set to 1 by detecting a falling edge.
The following operating mode can be specified in 1-bit units.
Caution
When using the falling edge detection interrupt (INTKR), be sure to set the memory expansion
mode register (MEM) to 01H.
(1) Port mode
These ports function as 8-bit I/O ports. They can be specified as input or output ports in 1-bit units with port mode
register 4 (PM4). On-chip pull-up resistors can be used by setting pull-up resistor option register 4 (PU4).
2.2.6 P50 to P57 (Port 5)
These are 8-bit I/O ports.
Port 5 can drive LEDs directly.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit I/O ports. They can be specified as input or output ports in 1-bit units with port mode
register 5 (PM5). On-chip pull-up resistors can be used by setting pull-up resistor option register 5 (PU5).
38
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 2
PIN FUNCTION
2.2.7 P70 to P75 (Port 7)
These are 6-bit I/O ports. Besides serving as I/O ports, they function as a timer I/O, clock output, and buzzer output.
The following operating modes can be specified in 1-bit units.
(1) Port mode
Port 7 functions as a 6-bit I/O port. They can be specified as an input port or output port in 1-bit units with port
mode register 7 (PM7). On-chip pull-up resistors can be used by setting pull-up resistor option register 7 (PU7).
P70 and P71 are also 16-bit timer/event counter capture trigger signal input pins with a valid edge input.
(2) Control mode
Port 7 functions as timer I/O, clock output, and buzzer output.
(a) TI00
External count clock input pin to 16-bit timer/event counter and capture trigger signal input pin to 16-bit timer/
event counter capture register (CR01).
(b) TI01
Capture trigger signal input pin to 16-bit timer/event counter capture register (CR00).
(c) TI50 and TI51
External count clock input pins to 8-bit timer/event counter.
(d) TO0, TO50, and TO51
Timer output pins.
(e) PCL
Clock output pin.
(f)
BUZ
Buzzer output pin.
2.2.8 AVREF
This is an A/D converter reference voltage input pin.
When no A/D converter is used, connect this pin to VSS0.
2.2.9 AVDD
This is an analog power supply pin of A/D converter. Always use the same potential as that of the VDD0 pin or VDD1
pin even when no A/D converter is used.
2.2.10 AVSS
This is a ground potential pin of A/D converter. Always use the same potential as that of the VSS0 pin or VSS1 pin
even when no A/D converter is used.
2.2.11 RESET
This is a low-level active system reset input pin.
Preliminary User’s Manual U16035EJ1V0UM
39
CHAPTER 2
PIN FUNCTION
2.2.12 X1 and X2
Crystal resonator connect pins for main system clock oscillation.
For external clock supply, input clock signal to X1 and its inverted signal to X2.
2.2.13 XT1 and XT2
Crystal resonator connect pins for subsystem clock oscillation.
For external clock supply, input the clock signal to XT1 and its inverted signal to XT2.
2.2.14 VDD0 and VDD1
VDD0 is a positive power supply port pin.
VDD1 is a positive power supply pin other than port pin.
2.2.15 VSS0 and VSS1
VSS0 is a ground potential port pin.
VSS1 is a ground potential pin other than port pin.
2.2.16 VPP (flash memory versions only)
High-voltage apply pin for flash memory programming mode setting and program write/verify.
Connect directly to VSS0 or VSS1 in the normal operating mode.
2.2.17 IC (mask ROM version only)
The IC (Internally Connected) pin is provided to set the test mode to check the µPD780024AS, 780034AS Subseries
at delivery. Connect it directly to the VSS0 or VSS1 pin with the shortest possible wire in the normal operating mode.
When a potential difference is produced between the IC pin and VSS0 pin or VSS1 pin, because the wiring between
those two pins is too long or an external noise is input to the IC pin, the user’s program may not operate normally.
• Connect IC pins to VSS0 pins or VSS1 pins directly.
VSS0 or VSS1 IC
As short as possible
40
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 2
PIN FUNCTION
2.3 Pin I/O Circuits and Recommended Connection of Unused Pins
Table 2-1 shows the types of pin I/O circuit and the recommended connections of unused pins.
Refer to Figure 2-1 for the configuration of the I/O circuit of each type.
Table 2-1. Pin I/O Circuit Types
Pin Name
I/O Circuit Type
I/O
P00/INTP0 to P02/INTP2
8-C
I/O
Recommended Connection of Unused Pins
Input:
Independently connect to VSS0 via a resistor.
Output: Leave open
P03/INTP3/ADTRG
P10/ANI0 to P13/ANI3
25
Input
P20/SI30
8-C
I/O
P21/SO30
5-H
Connect to VDD0 or VSS0.
Input:
Independently connect to VDD0 or VSS0 via a
resistor.
Output: Leave open.
P22/SCK30
8-C
P23/RxD0
P24/TxD0
5-H
P25/ASCK0
8-C
P34/SI31
8-C
P35/SO31
5-H
P36/SCK31
8-C
P40 to P47
5-H
I/O
Input: Independently connect to VDD0 via a resistor.
Output: Leave open.
P50 to P57
5-H
I/O
Input:
I/O
Input:
Independently connect to VDD0 or VSS0 via a
resistor.
Output: Leave open.
P70/TI00/TO0
8-C
I/O
Independently connect to VDD0 or VSS0 via a
resistor.
Output: Leave open.
P71/TI01
P72/TI50/TO50
P73/TI51/TO51
P74/PCL
5-H
P75/BUZ
RESET
2
XT1
16
XT2
AVDD
AVREF
Input
Connect to VDD0.
—
—
—
Leave open.
Connect to VDD0 or VDD1.
Connect to VSS0 or VSS1.
AVSS
IC (for mask ROM version)
Connect directly to VSS0 or VSS1.
VPP
(for flash memory version)
Preliminary User’s Manual U16035EJ1V0UM
41
CHAPTER 2
PIN FUNCTION
Figure 2-1. Pin I/O Circuit List
TYPE 2
TYPE 16
Feedback
cut-off
P-ch
IN
Schmitt-triggered input with hysteresis characteristics
XT1
TYPE 5-H
Pullup
enable
Data
TYPE 25
VDD0
P-ch
P-ch
Comparator
VDD0
+
–
N-ch
VSS0
VREF (threshold voltage)
P-ch
IN/OUT
Output
disable
XT2
N-ch
Input
enable
VSS0
Input
enable
TYPE 8-C
VDD0
Pullup
enable
Data
P-ch
VDD0
P-ch
IN/OUT
Output
disable
42
N-ch
VSS0
Preliminary User’s Manual U16035EJ1V0UM
IN
CHAPTER 3
CPU ARCHITECTURE
3.1 Memory Spaces
µPD780024AS, 780034AS Subseries can access 64 KB memory space respectively.
Figures 3-1 to 3-5 show memory maps.
Caution
In case of the internal memory capacity, the initial value of memory size switching register (IMS)
of all products (µPD780024AS, 780034AS Subseries) is fixed (CFH). Therefore, set the value
corresponding to each products indicated below.
µPD780021AS, 780031AS: 42H
µPD780022AS, 780032AS: 44H
µPD780023AS, 780033AS: C6H
µPD780024AS, 780034AS: C8H
µPD78F0034BS:
Value for mask ROM version
Figure 3-1. Memory Map (µPD780021AS, 780031AS)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose
registers
32 × 8 bits
Internal high-speed RAM
512 × 8 bits
FD00H
FCFFH
1FFFH
Program area
Data memory
space
1000H
0FFFH
Reserved
CALLF entry area
0800H
07FFH
Program area
0080H
007FH
2000H
1FFFH
Program
memory
space
CALLT table area
Internal ROM
8192 × 8 bits
0040H
003FH
Vector table area
0000H
0000H
Preliminary User’s Manual U16035EJ1V0UM
43
CHAPTER 3
CPU ARCHITECTURE
Figure 3-2. Memory Map (µPD780022AS, 780032AS)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose
registers
32 × 8 bits
Internal high-speed RAM
512 × 8 bits
FD00H
FCFFH
3FFFH
Program area
Data memory
space
1000H
0FFFH
Reserved
CALLF entry area
0800H
07FFH
Program area
0080H
007FH
4000H
3FFFH
Program
memory
space
CALLT table area
Internal ROM
16384 × 8 bits
0040H
003FH
Vector table area
0000H
0000H
44
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
Figure 3-3. Memory Map (µPD780023AS, 780033AS)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose
registers
32 × 8 bits
Internal high-speed RAM
1024 × 8 bits
FB00H
FAFFH
5FFFH
Program area
Data memory
space
1000H
0FFFH
Reserved
CALLF entry area
0800H
07FFH
Program area
0080H
007FH
6000H
5FFFH
Program
memory
space
CALLT table area
Internal ROM
24576 × 8 bits
0040H
003FH
Vector table area
0000H
0000H
Preliminary User’s Manual U16035EJ1V0UM
45
CHAPTER 3
CPU ARCHITECTURE
Figure 3-4. Memory Map (µPD780024AS, 780034AS)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose
registers
32 × 8 bits
Internal high-speed RAM
1024 × 8 bits
FB00H
FAFFH
7FFFH
Program area
Data memory
space
1000H
0FFFH
Reserved
CALLF entry area
0800H
07FFH
Program area
0080H
007FH
8000H
7FFFH
Program
memory
space
CALLT table area
Internal ROM
32768 × 8 bits
0040H
003FH
Vector table area
0000H
46
0000H
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
Figure 3-5. Memory Map (µPD78F0034BS)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose
registers
32 × 8 bits
Internal high-speed RAM
1024 × 8 bits
FB00H
FAFFH
7FFFH
Program area
Data memory
space
1000H
0FFFH
Reserved
CALLF entry area
0800H
07FFH
Program area
0080H
007FH
8000H
7FFFH
Program
memory
space
CALLT table area
Flash memory
32768 × 8 bits
0040H
003FH
Vector table area
0000H
0000H
Preliminary User’s Manual U16035EJ1V0UM
47
CHAPTER 3
CPU ARCHITECTURE
3.1.1 Internal program memory space
The internal program memory space contains the program and table data. Normally, it is addressed with the
program counter (PC).
The µPD780024AS, 780034AS Subseries products incorporate an on-chip ROM (or flash memory), as listed below.
Table 3-1. Internal ROM Capacity
Part Number
Type
µPD780021AS, 780031AS
Capacity
Mask ROM
8192 × 8 bits (0000H to 1FFFH)
µPD780022AS, 780032AS
16384 × 8 bits (0000H to 3FFFH)
µPD780023AS, 780033AS
24576 × 8 bits (0000H to 5FFFH)
µPD780024AS, 780034AS
32768 × 8 bits (0000H to 7FFFH)
µPD78F0034BS
Flash memory
32768 × 8 bits (0000H to 7FFFH)
The internal program memory space is divided into the following three areas.
(1) Vector table area
The 64-byte area 0000H to 003FH is reserved as a vector table area. The RESET input and program start
addresses for branch upon generation of each interrupt request are stored in the vector table area. Of the 16bit address, lower 8 bits are stored at even addresses and higher 8 bits are stored at odd addresses.
Table 3-2. Vector Table
Vector Table Address
Interrupt Source
Vector Table Address
Interrupt Source
0000H
RESET input
0016H
INTCSI31
0004H
INTWDT
001AH
INTWTI
0006H
INTP0
001CH
INTTM00
0008H
INTP1
001EH
INTTM01
000AH
INTP2
0020H
INTTM50
000CH
INTP3
0022H
INTTM51
000EH
INTSER0
0024H
INTAD0
0010H
INTSR0
0026H
INTWT
0012H
INTST0
0028H
INTKR
0014H
INTCSI30
003EH
BRK
(2) CALLT instruction table area
The 64-byte area 0040H to 007FH can store the subroutine entry address of a 1-byte call instruction (CALLT).
(3) CALLF instruction entry area
The area 0800H to 0FFFH can perform a direct subroutine call with a 2-byte call instruction (CALLF).
48
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
3.1.2 Internal data memory space
The µPD780024AS, 780034AS Subseries products incorporate an internal high-speed RAM, as listed below.
Table 3-3. Internal High-Speed RAM Capacity
Part Number
µPD780021AS, 780031AS
Internal High-Speed RAM
512 × 8 bits (FD00H to FEFFH)
µPD780022AS, 780032AS
µPD780023AS, 780033AS
1024 × 8 bits (FB00H to FEFFH)
µPD780024AS, 780034AS
µPD78F0034BS
The 32-byte area FEE0H to FEFFH is allocated four general-purpose register banks composed of eight 8-bit
registers.
The internal high-speed RAM can also be used as a stack memory.
3.1.3 Special function register (SFR) area
An on-chip peripheral hardware special function register (SFR) is allocated in the area FF00H to FFFFH (refer to
3.2.3 Special function register (SFR) Table 3-5 Special Function Register List).
Caution Do not access addresses where the SFR is not assigned.
3.1.4 External memory space
The external memory space is accessible with memory expansion mode register (MEM). External memory space
can store program, table data, etc., and allocate peripheral devices.
Preliminary User’s Manual U16035EJ1V0UM
49
CHAPTER 3
CPU ARCHITECTURE
3.1.5 Data memory addressing
Addressing refers to the method of specifying the address of the instruction to be executed next or the address
of the register or memory relevant to the execution of instructions.
The address of an instruction to be executed next is addressed by the program counter (PC) (for details, see 3.3
Instruction Address Addressing).
Several addressing modes are provided for addressing the memory relevant to the execution of instructions for
the µPD780024AS, 780034AS Subseries, based on operability and other considerations. For areas containing data
memory in particular, special addressing methods designed for the functions of special function registers (SFR) and
general-purpose registers are available for use. Data memory addressing is illustrated in Figures 3-6 to 3-10. For
the details of each addressing mode, see 3.4 Operand Address Addressing.
Figure 3-6. Data Memory Addressing (µPD780021AS, 780031AS)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose registers
32 × 8 bits
SFR addressing
Register addressing
Short direct
addressing
Internal high-speed RAM
512 × 8 bits
FE20H
FE1FH
FD00H
FCFFH
Direct addressing
Register indirect
addressing
Based addressing
Reserved
Based indexed
addressing
2000H
1FFFH
Internal ROM
8192 × 8 bits
0000H
50
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
Figure 3-7. Data Memory Addressing (µPD780022AS, 780032AS)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose registers
32 × 8 bits
SFR addressing
Register addressing
Short direct
addressing
Internal high-speed RAM
512 × 8 bits
FE20H
FE1FH
FD00H
FCFFH
Direct addressing
Register indirect
addressing
Based addressing
Reserved
Based indexed
addressing
4000H
3FFFH
Internal ROM
16384 × 8 bits
0000H
Preliminary User’s Manual U16035EJ1V0UM
51
CHAPTER 3
CPU ARCHITECTURE
Figure 3-8. Data Memory Addressing (µPD780023AS, 780033AS)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
SFR addressing
General-purpose registers
32 × 8 bits
Register addressing
Short direct
addressing
Internal high-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Direct addressing
Register indirect
addressing
Based addressing
Reserved
Based indexed
addressing
6000H
5FFFH
Internal ROM
24576 × 8 bits
0000H
52
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
Figure 3-9. Data Memory Addressing (µPD780024AS, 780034AS)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
SFR addressing
General-purpose registers
32 × 8 bits
Register addressing
Short direct
addressing
Internal high-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Direct addressing
Register indirect
addressing
Based addressing
Reserved
Based indexed
addressing
8000H
7FFFH
Internal ROM
32768 × 8 bits
0000H
Preliminary User’s Manual U16035EJ1V0UM
53
CHAPTER 3
CPU ARCHITECTURE
Figure 3-10. Data Memory Addressing (µPD78F0034BS)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special function
registers (SFRs)
256 × 8 bits
General-purpose registers
32 × 8 bits
SFR addressing
Register addressing
Short direct
addressing
Internal high-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Direct addressing
Register indirect
addressing
Based addressing
Reserved
Based indexed
addressing
8000H
7FFFH
Flash memory
32768 × 8 bits
0000H
54
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
3.2 Processor Registers
The µPD780024AS, 780034AS Subseries products incorporate the following processor registers.
3.2.1 Control registers
The control registers control the program sequence, statuses and stack memory. The control registers consist
of a program counter (PC), a program status word (PSW) and a stack pointer (SP).
(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 and register contents are set.
RESET input sets the reset vector table values at addresses 0000H and 0001H to the program counter.
Figure 3-11. Format of Program Counter
15
PC
0
PC15 PC14 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 automatically stacked upon interrupt request generation or PUSH PSW instruction
execution and are automatically reset upon execution of the RETB, RETI and POP PSW instructions.
RESET input sets the PSW to 02H.
Figure 3-12. Format of Program Status Word
7
PSW
IE
0
Z
RBS1
AC
RBS0
0
Preliminary User’s Manual U16035EJ1V0UM
ISP
CY
55
CHAPTER 3
CPU ARCHITECTURE
(a) Interrupt enable flag (IE)
This flag controls the interrupt request acknowledge operations of the CPU.
When 0, the IE is set to the disable interrupt (DI) state, and only non-maskable interrupt request becomes
acknowledgeable. Other interrupt requests are all disabled.
When 1, the IE is set to the enable interrupt (EI) state and interrupt request acknowledge enable is controlled
with an in-service priority flag (ISP), an interrupt mask flag for various interrupt sources and a priority
specification flag.
The IE is reset (0) upon DI instruction execution or interrupt acknowledgement and is set (1) upon EI
instruction execution.
(b) Zero flag (Z)
When the operation result is zero, this flag is set (1). It is reset (0) in all other cases.
(c) Register bank select flags (RBS0 and RBS1)
These are 2-bit flags to select one of the four register banks.
In these flags, the 2-bit information which indicates the register bank selected by SEL RBn instruction
execution is stored.
(d) Auxiliary carry flag (AC)
If the operation result has a carry from bit 3 or a borrow at bit 3, this flag is set (1). It is reset (0) in all other
cases.
(e) In-service priority flag (ISP)
This flag manages the priority of acknowledgeable maskable vectored interrupts. When this flag is 0, lowlevel vectored interrupt requests specified with a priority specification flag register (PR0L, PR0H, PR1L) (refer
to 15.3 (3) Priority specification flag registers (PR0L, PR0H, PR1L)) are disabled for acknowledgement.
When it is 1, all interrupts are acknowledgeable. Actual request acknowledgement is controlled with the
interrupt enable flag (IE).
(f)
Carry flag (CY)
This flag stores overflow and underflow upon add/subtract instruction execution. It stores the shift-out value
upon rotate instruction execution and functions as a bit accumulator during bit manipulation instruction
execution.
(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. The internal high-speed RAM areas of each product are as follows.
Table 3-4. Internal High-Speed RAM Area
Part Number
56
Internal High-Speed RAM Area
µPD780021AS, 780022AS, 780031AS, 780032AS
FD00H to FEFFH
µPD780023AS, 780024AS, 780033AS, 780034AS,
78F0034BS
FB00H to FEFFH
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
Figure 3-13. Format of Stack Pointer
15
SP
0
SP15 SP14 SP13 SP12 SP11 SP10
SP9
SP8
SP7
SP6
SP5
SP4
SP3
SP2
SP1
SP0
The SP is decremented ahead of write (save) to the stack memory and is incremented after read (reset) from
the stack memory.
Each stack operation saves/resets data as shown in Figures 3-14 and 3-15.
Caution
Since RESET input makes SP contents undefined, be sure to initialize the SP before instruction
execution.
Figure 3-14. Data to Be Saved to Stack Memory
PUSH rp instruction
Interrupt and
BRK instructions
CALL, CALLF, and
CALLT instructions
SP
SP
SP _ 2
SP
SP _ 2
SP _ 3
SP _ 3
PC7 to PC0
SP _ 2
Register pair lower
SP _ 2
PC7 to PC0
SP _ 2
PC15 to PC8
SP _ 1
Register pair upper
SP _ 1
PC15 to PC8
SP _ 1
PSW
SP
SP
SP
Figure 3-15. Data to Be Restored from Stack Memory
POP rp instruction
SP
RETI and RETB
instructions
RET instruction
SP
Register pair lower
SP
PC7 to PC0
SP
PC7 to PC0
SP + 1
Register pair upper
SP + 1
PC15 to PC8
SP + 1
PC15 to PC8
SP + 2
PSW
SP + 2
SP
SP + 2
SP
Preliminary User’s Manual U16035EJ1V0UM
SP + 3
57
CHAPTER 3
CPU ARCHITECTURE
3.2.2 General-purpose registers
A general-purpose register is mapped at particular addresses (FEE0H to FEFFH) of the data memory. It consists
of 4 banks, each bank consisting of eight 8-bit registers (X, A, C, B, E, D, L, and H).
Each register can also be used as an 8-bit register. Two 8-bit registers can be used in pairs as a 16-bit register
(AX, BC, DE, and HL).
They 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).
Register banks to be used for instruction execution are set with the CPU control instruction (SEL RBn). Because
of the 4-register bank configuration, an efficient program can be created by switching between a register for normal
processing and a register for interrupts for each bank.
Figure 3-16. Configuration of General-Purpose Register
(a) Absolute name
16-bit processing
8-bit processing
FEFFH
R7
BANK0
RP3
R6
FEF8H
R5
BANK1
RP2
R4
FEF0H
R3
RP1
BANK2
R2
FEE8H
R1
RP0
BANK3
R0
FEE0H
15
0
7
0
(b) Function name
16-bit processing
8-bit processing
FEFFH
H
BANK0
HL
L
FEF8H
D
BANK1
DE
E
FEF0H
B
BC
BANK2
C
FEE8H
A
AX
BANK3
X
FEE0H
15
58
0
Preliminary User’s Manual U16035EJ1V0UM
7
0
CHAPTER 3
CPU ARCHITECTURE
3.2.3 Special function register (SFR)
Unlike a general-purpose register, each special function register has special functions.
It is allocated in the FF00H to FFFFH area.
The special function register can be manipulated like the general-purpose register, with the operation, transfer and
bit manipulation instructions. Manipulatable bit units, 1, 8, and 16, depend on the special function register type.
Each manipulation bit unit can be specified as follows.
• 1-bit manipulation
Describe the symbol reserved with assembler for the 1-bit manipulation instruction operand (sfr.bit).
This manipulation can also be specified with an address.
• 8-bit manipulation
Describe the symbol reserved with assembler for the 8-bit manipulation instruction operand (sfr).
This manipulation can also be specified with an address.
• 16-bit manipulation
Describe the symbol reserved with assembler for the 16-bit manipulation instruction operand (sfrp).
When addressing an address, describe an even address.
Table 3-5 gives a list of special function registers. The meaning of items in the table is as follows.
• Symbol
Symbol indicating the address of a special function register. It is a reserved word in the RA78K0, and is defined
via the header file “sfrbit.h” in the CC78K0. When using the RA78K0, ID78K0-NS, ID78K0, or SM78K0, symbols
can be written as an instruction operand.
• R/W
Indicates whether the corresponding special function register can be read or written.
R/W: Read/write enable
R:
Read only
W:
Write only
• Manipulatable bit units
Indicates the manipulatable bit unit (1, 8, or 16). “–” indicates a bit unit for which manipulation is not possible.
• After reset
Indicates each register status upon RESET input.
Preliminary User’s Manual U16035EJ1V0UM
59
CHAPTER 3
CPU ARCHITECTURE
Table 3-5. Special Function Register List (1/2)
Address
Special Function Register (SFR) Name
Symbol
R/W
Manipulatable Bit Unit
1 Bit
After Reset
8 Bits 16 Bits
FF00H
Port 0
P0
R/W
√
√
—
FF01H
Port 1
P1
R
√
√
—
FF02H
Port 2
P2
R/W
√
√
—
FF03H
Port 3
P3
√
√
—
FF04H
Port 4
P4
√
√
—
FF05H
Port 5
P5
√
√
—
FF07H
Port 7
P7
√
√
—
FF0AH
16-bit timer capture/compare register 00
CR00
—
—
√
16-bit timer capture/compare register 01
CR01
—
—
√
16-bit timer counter 0
TM0
R
—
—
√
0000H
FF10H
8-bit timer compare register 50
CR50
R/W
—
√
—
Undefined
FF11H
8-bit timer compare register 51
CR51
—
√
—
FF12H
8-bit timer counter 50
TM5
—
√
√
FF13H
8-bit timer counter 51
—
√
FF16H
A/D conversion result register 0
—
—
—
—
00H
Undefined
FF0BH
FF0CH
FF0DH
FF0EH
FF0FH
TM50
R
TM51
ADCR0
FF17H
√
Transmit shift register 0
TXS0
W
—
√
—
Receive buffer register 0
RXB0
R
—
√
—
FF1AH
Serial I/O shift register 30
SIO30
R/W
—
√
—
FF1BH
Serial I/O shift register 31
SIO31
—
√
—
FF20H
Port mode register 0
PM0
√
√
—
FF22H
Port mode register 2
PM2
√
√
—
FF23H
Port mode register 3
PM3
√
√
—
FF24H
Port mode register 4
PM4
√
√
—
FF25H
Port mode register 5
PM5
√
√
—
FF27H
Port mode register 7
PM7
√
√
—
FF30H
Pull-up resistor option register 0
PU0
√
√
—
FF32H
Pull-up resistor option register 2
PU2
√
√
—
FF33H
Pull-up resistor option register 3
PU3
√
√
—
FF34H
Pull-up resistor option register 4
PU4
√
√
—
FF35H
Pull-up resistor option register 5
PU5
√
√
—
FF37H
Pull-up resistor option register 7
PU7
√
√
—
FF40H
Clock output select register
CKS
√
√
—
FF41H
Watch timer operation mode register
WTM
√
√
—
FF42H
Watchdog timer clock select register
WDCS
—
√
—
FF18H
60
Preliminary User’s Manual U16035EJ1V0UM
00H
FFH
Undefined
FFH
00H
CHAPTER 3
CPU ARCHITECTURE
Table 3-5. Special Function Register List (2/2)
Address
Special Function Register (SFR) Name
Symbol
R/W
Manipulatable Bit Unit
1 Bit
After Reset
8 Bits 16 Bits
√
√
—
EGP
√
√
—
External interrupt falling edge enable register
EGN
√
√
—
FF60H
16-bit timer mode control register 0
TMC0
√
√
—
FF61H
Prescaler mode register 0
PRM0
—
√
—
FF62H
Capture/compare control register 0
CRC0
√
√
—
FF63H
16-bit timer output control register 0
TOC0
√
√
—
FF70H
8-bit timer mode control register 50
TMC50
√
√
—
FF71H
Timer clock select register 50
TCL50
—
√
—
FF78H
8-bit timer mode control register 51
TMC51
√
√
—
FF79H
Timer clock select register 51
TCL51
—
√
—
FF80H
A/D converter mode register 0
ADM0
√
√
—
FF81H
Analog input channel specification register 0
ADS0
—
√
—
FFA0H
Asynchronous serial interface mode register 0
ASIM0
√
√
—
FFA1H
Asynchronous serial interface status register 0
ASIS0
R
—
√
—
FFA2H
Baud rate generator control register 0
BRGC0
R/W
—
√
—
FFB0H
Serial operation mode register 30
CSIM30
√
√
—
FFB8H
Serial operation mode register 31
CSIM31
√
√
—
√
√
—
Undefined
IF0L
√
√
√
00H
IF0H
√
√
√
√
—
MK0L
√
√
√
MK0H
√
√
√
√
—
PR0L
√
√
√
PR0H
√
√
FF47H
Memory expansion mode register
MEM
FF48H
External interrupt rising edge enable register
FF49H
FFD0H
External access
R/W
areaNote 1
00H
to
FFDFH
FFE0H
Interrupt request flag register 0L
IF0
FFE1H
Interrupt request flag register 0H
FFE2H
Interrupt request flag register 1L
IF1L
FFE4H
Interrupt mask flag register 0L
MK0
FFE5H
Interrupt mask flag register 0H
FFE6H
Interrupt mask flag register 1L
MK1L
FFE8H
Priority level specification flag register 0L
PR0
FFE9H
Priority level specification flag register 0H
FFEAH
Priority level specification flag register 1L
PR1L
√
√
—
FFF0H
Memory size switching register
IMS
—
√
—
CFHNote 2
FFF9H
Watchdog timer mode register
WDTM
√
√
—
00H
FFFAH
Oscillation stabilization time select register
OSTS
—
√
—
04H
FFFBH
Processor clock control register
PCC
√
√
—
FFH
Notes 1. The external access area cannot be accessed by SFR addressing. Access it with the direct addressing method.
2. The default is CFH, but set the value corresponding to each respective product as indicated below.
µPD780021AS, 780031AS: 42H
µPD780022AS, 780032AS: 44H
µPD780023AS, 780033AS: C6H
µPD780024AS, 780034AS: C8H
µPD78F0034BS:
Value for mask ROM version
Preliminary User’s Manual U16035EJ1V0UM
61
CHAPTER 3
CPU ARCHITECTURE
3.3 Instruction Address Addressing
An instruction address is determined by program counter (PC) contents and is 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 information is set to the PC and branched
by the following addressing (for details of instructions, refer to 78K/0 Series Instructions User’s Manual (U12326E)).
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) and branched. The
displacement value is treated as signed two’s complement data (–128 to +127) and bit 7 becomes a sign bit.
In other words, relative addressing consists in relative branching from the start address of the following instruction
to the –128 to +127 range.
This function is carried out when the BR $addr16 instruction or a conditional branch instruction is executed.
[Illustration]
15
0
... PC indicates the start address
of the instruction after the BR instruction.
PC
+
15
8
α
7
0
6
S
jdisp8
15
0
PC
When S = 0, all bits of α are 0.
When S = 1, all bits of α are 1.
62
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
3.3.2 Immediate addressing
[Function]
Immediate data in the instruction word is transferred to the program counter (PC) and branched.
This function is carried out when the CALL !addr16 or BR !addr16 or CALLF !addr11 instruction is executed.
CALL !addr16 and BR !addr16 instructions can be branched to the entire memory space. The CALLF !addr11
instruction is branched to the 0800H to 0FFFH area.
[Illustration]
In the case of CALL !addr16 and BR !addr16 instructions
7
0
CALL or BR
Low Addr.
High Addr.
15
8 7
0
PC
In the case of CALLF !addr11 instruction
7 6
4
3
0
CALLF
fa10–8
fa7–0
15
PC
0
11 10
0
0
0
8 7
0
1
Preliminary User’s Manual U16035EJ1V0UM
63
CHAPTER 3
CPU ARCHITECTURE
3.3.3 Table indirect addressing
[Function]
Table contents (branch destination address) of the particular location to be addressed by bits 1 to 5 of the
immediate data of an operation code are transferred to the program counter (PC) and branched.
This function is carried out when the CALLT [addr5] instruction is executed.
This instruction references the address stored in the memory table from 40H to 7FH, and allows branching to
the entire memory space.
[Illustration]
7
Operation code
6
1
5
1
1
ta4–0
1
15
Effective address
0
7
0
0
0
0
0
0
0
8
7
6
0
0
1
1 0
5
0
0
Memory (Table)
Low Addr.
High Addr.
Effective address+1
15
8
0
7
PC
3.3.4 Register addressing
[Function]
Register pair (AX) contents to be specified with an instruction word are transferred to the program counter (PC)
and branched.
This function is carried out when the BR AX instruction is executed.
[Illustration]
7
rp
0
7
A
15
0
X
8
7
PC
64
Preliminary User’s Manual U16035EJ1V0UM
0
CHAPTER 3
CPU ARCHITECTURE
3.4 Operand Address Addressing
The following various methods are available to specify the register and memory (addressing) which undergo
manipulation during instruction execution.
3.4.1 Implied addressing
[Function]
The register which functions as an accumulator (A and AX) in the general-purpose register is automatically
(implicitly) addressed.
Of the µPD780024AS, 780034AS Subseries instruction words, the following instructions employ implied
addressing.
Instruction
Register to Be Specified by Implied Addressing
MULU
A register for multiplicand and AX register for product storage
DIVUW
AX register for dividend and quotient storage
ADJBA/ADJBS
A register for storage of numeric values which become decimal correction targets
ROR4/ROL4
A register for storage of digit data which undergoes digit rotation
[Operand format]
Because implied addressing can be automatically employed with an instruction, no particular operand format is
necessary.
[Description example]
In the case of MULU X
With an 8-bit × 8-bit multiply instruction, the product of A register and X register is stored in AX. In this example,
the A and AX registers are specified by implied addressing.
Preliminary User’s Manual U16035EJ1V0UM
65
CHAPTER 3
CPU ARCHITECTURE
3.4.2 Register addressing
[Function]
The general-purpose register to be specified is accessed as an operand with the register specify code (Rn and
RPn) of an instruction word in the registered bank specified with the register bank select flag (RBS0 and RBS1).
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 operation 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 C register as r
Operation code
0 1 1 0 0 0 1 0
Register specify code
INCW DE; when selecting DE register pair as rp
Operation code
1 0 0 0 0 1 0 0
Register specify code
66
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
3.4.3 Direct addressing
[Function]
The memory to be manipulated is addressed with immediate data in an instruction word becoming an operand
address.
[Operand format]
Identifier
Description
addr16
Label or 16-bit immediate data
[Description example]
MOV A, !0FE00H; when setting !addr16 to FE00H
Operation code
1 0 0 0 1 1 1 0
OP code
0 0 0 0 0 0 0 0
00H
1 1 1 1 1 1 1 0
FEH
[Illustration]
7
0
OP code
addr16 (lower)
addr16 (upper)
Memory
Preliminary User’s Manual U16035EJ1V0UM
67
CHAPTER 3
CPU ARCHITECTURE
3.4.4 Short direct addressing
[Function]
The memory to be manipulated in the fixed space is directly addressed with 8-bit data in an instruction word.
This addressing is applied to the 256-byte space FE20H to FF1FH. An internal RAM and a special function register
(SFR) are mapped at FE20H to FEFFH and FF00H to FF1FH, respectively.
If the SFR area (FF00H to FF1FH) where short direct addressing is applied, ports which are frequently accessed
in a program and a compare register of the timer/event counter and a capture register of the timer/event counter
are mapped and these SFRs can be manipulated with a small number of bytes and clocks.
When 8-bit immediate data is at 20H to FFH, bit 8 of an effective address is set to 0. When it is at 00H to 1FH,
bit 8 is set to 1. Refer to the [Illustration] on the next page.
[Operand format]
Identifier
Description
saddr
Label or FE20H to FF1FH immediate data
saddrp
Label or FE20H to FF1FH immediate data (even address only)
[Description example]
MOV 0FE30H, #50H; when setting saddr to FE30H and immediate data to 50H
Operation code
0 0 0 1 0 0 0 1
OP code
0 0 1 1 0 0 0 0
30H (saddr-offset)
0 1 0 1 0 0 0 0
50H (immediate data)
[Illustration]
7
0
OP code
saddr-offset
Short direct memory
8 7
15
Effective address
1
1
1
1
1
1
1
0
α
When 8-bit immediate data is 20H to FFH, α = 0
When 8-bit immediate data is 00H to 1FH, α = 1
68
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 3
CPU ARCHITECTURE
3.4.5 Special function register (SFR) addressing
[Function]
The memory-mapped special function register (SFR) is addressed with 8-bit immediate data in an instruction
word.
This addressing is applied to the 240-byte spaces FF00H to FFCFH and FFE0H to FFFFH. However, the SFR
mapped at FF00H to FF1FH can be accessed with short direct addressing.
[Operand format]
Identifier
Description
sfr
Special function register name
sfrp
16-bit manipulatable special function register name (even address only)
[Description example]
MOV PM0, A; when selecting PM0 (FF20H) as sfr
Operation code
1 1 1 1 0 1 1 0
OP code
0 0 1 0 0 0 0 0
20H (sfr-offset)
[Illustration]
7
0
OP code
sfr-offset
SFR
15
Effective address
1
8 7
1
1
1
1
1
1
0
1
Preliminary User’s Manual U16035EJ1V0UM
69
CHAPTER 3
CPU ARCHITECTURE
3.4.6 Register indirect addressing
[Function]
Register pair contents specified with a register pair specify code in an instruction word of the register bank
specified with a register bank select flag (RBS0 and RBS1) serve as an operand address for addressing the
memory to be manipulated. This addressing can be carried out for all the memory spaces.
[Operand format]
Identifier
—
Description
[DE], [HL]
[Description example]
MOV A, [DE]; when selecting [DE] as register pair
Operation code
1 0 0 0 0 1 0 1
[Illustration]
16
DE
8 7
0
E
D
7
Memory
The contents of the memory
addressed are transferred.
7
0
A
70
Preliminary User’s Manual U16035EJ1V0UM
0
The memory address
specified with the
register pair DE
CHAPTER 3
CPU ARCHITECTURE
3.4.7 Based addressing
[Function]
8-bit immediate data is added as offset data to the contents of the base register, that is, the HL register pair in
an instruction word of the register bank specified with the register bank select flag (RBS0 and RBS1) 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
Operation code
1 0 1 0 1 1 1 0
0 0 0 1 0 0 0 0
Preliminary User’s Manual U16035EJ1V0UM
71
CHAPTER 3
CPU ARCHITECTURE
3.4.8 Based indexed addressing
[Function]
The B or C register contents specified in an instruction are added to the contents of the base register, that is,
the HL register pair in an instruction word of the register bank specified with the register bank select flag (RBS0
and RBS1) and the sum is used to address the memory. Addition is performed by expanding the B or C register
contents 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 + B], [HL + C]
[Description example]
In the case of MOV A, [HL + B]
Operation code
1 0 1 0 1 0 1 1
3.4.9 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/reset upon generation of an interrupt request.
Stack addressing enables to address the internal high-speed RAM area only.
[Description example]
In the case of PUSH DE
Operation code
72
1 0 1 1 0 1 0 1
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 4
PORT FUNCTIONS
4.1 Port Functions
The µPD780024AS, 780034AS Subseries products incorporate four input ports and 35 I/O ports. Figure 4-1 shows
the port configuration. Every port is capable of 1-bit and 8-bit manipulations and can carry out considerably varied
control operations. Besides port functions, the ports can also serve as on-chip hardware I/O pins.
Figure 4-1. Port Types




Port 5 




P50



Port 7 



P70
P00
P03
P10
P57
P13
P20
P75
P25
P34
P36
P40
P47
Preliminary User’s Manual U16035EJ1V0UM


 Port 0




 Port 1





 Port 2




 Port 3





 Port 4




73
CHAPTER 4
PORT FUNCTIONS
Table 4-1. Port Functions
Pin Name
Function
Alternate
Function
P00
Port 0
INTP0
P01
4-bit I/O port.
INTP1
P02
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software settings.
P03
INTP2
INTP3/ADTRG
P10 to P13
Port 1
4-bit input-only port.
ANI0 to ANI3
P20
Port 2
SI30
P21
6-bit I/O port.
SO30
P22
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software settings.
SCK30
P23
RxD0
P24
TxD0
P25
ASCK0
P34
Port 3
SI31
P35
3-bit I/O port.
SO31
P36
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be specified by software settings.
SCK31
P40 to P47
Port 4
8-bit I/O port.
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be specified by software settings.
Interrupt request flag (KRIF) is set to 1 by falling edge detection.
—
P50 to P57
Port 5
8-bit I/O port.
LEDs can be driven directly.
Input/output mode can be specified in 1-bit units.
—
An on-chip pull-up resistor can be used by software settings.
P70
P71
P72
Port 7
6-bit I/O port.
Input/output mode can be specified in 1-bit units.
An on-chip pull-up resistor can be used by software settings.
TI00/TO0
TI01
TI50/TO50
P73
TI51/TO51
P74
PCL
P75
BUZ
74
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 4
PORT FUNCTIONS
4.2 Configuration of Ports
A port consists of the following hardware.
Table 4-2. Configuration of Ports
Item
Configuration
Control register
Port mode register (PMm: m = 0, 2 to 5, 7)
Pull-up resistor option register (PUm,: m = 0, 2 to 5, 7)
Port
Total: 39 ports (4 inputs, 35 inputs/outputs)
Pull-up resistor
Total: 39 (software control)
4.2.1 Port 0
Port 0 is a 4-bit I/O port with output latch. P00 to P03 pins can specify the input mode/output mode in 1-bit units
with the port mode register 0 (PM0). An on-chip pull-up resistor of P00 to P03 pins can be used for them in 1-bit
units with a pull-up resistor option register 0 (PU0).
This port can also be used as an external interrupt request input, and A/D converter external trigger input.
RESET input sets port 0 to input mode.
Figure 4-2 shows a block diagram of port 0.
Caution
Because port 0 also serves for external interrupt request input, when the port function output
mode is specified and the output level is changed, the interrupt request flag is set. Thus, when
the output mode is used, set the interrupt mask flag to 1.
Preliminary User’s Manual U16035EJ1V0UM
75
CHAPTER 4
PORT FUNCTIONS
Figure 4-2. Block Diagram of P00 to P03
VDD0
WRPU
P-ch
PU00 to PU03
Alternate
function
Selector
Internal bus
RD
WRPORT
P00/INTP0 to
P02/INTP2,
P03/INTP3/ADTRG
Output latch
(P00 to P03)
WRPM
PM00 to PM03
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 0 read signal
WR: Port 0 write signal
4.2.2 Port 1
Port 1 is an 4-bit input-only port.
This port can also be used as an A/D converter analog input.
Figure 4-3 shows a block diagram of port 1.
Figure 4-3. Block Diagram of P10 to P13
Internal bus
RD
P10/ANI0 to
P13/ANI3
RD: Port 1 read signal
Caution
When port 1 is used as a input port, the input value can be read using an 8-bit memory
manipulation instruction. However, in this case, do not use the higher 4 bits (P17 to P14)
because they are undefined.
Also, do not read the higher 4 bits using a 1-bit memory
manipulation instruction.
76
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 4
PORT FUNCTIONS
4.2.3 Port 2
Port 2 is a 6-bit I/O port with output latch. P20 to P25 pins can specify the input mode/output mode in 1-bit units
with the port mode register 2 (PM2). An on-chip pull-up resistor of P20 to P25 pins can be used for them in 1-bit
units with a pull-up resistor option register 2 (PU2).
This port has also alternate functions as serial interface data I/O and clock I/O.
RESET input sets port 2 to input mode.
Figures 4-4 and 4-5 show block diagrams of port 2.
Figure 4-4. Block Diagram of P20, P22, P23, and P25
VDD0
WRPU
PU20, PU22,
PU23, PU25
P-ch
Alternate
function
Selector
Internal bus
RD
WRPORT
Output latch
(P20, P22, P23, P25)
WRPM
P20/SI30,
P22/SCK30,
P23/RxD0,
P25/ASCK0
PM20, PM22,
PM23, PM25
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 2 read signal
WR: Port 2 write signal
Preliminary User’s Manual U16035EJ1V0UM
77
CHAPTER 4
PORT FUNCTIONS
Figure 4-5. Block Diagram of P21 and P24
VDD0
WRPU
PU21, PU24
P-ch
RD
Internal bus
Selector
WRPORT
Output latch
(P21, P24)
WRPM
PM21, PM24
Alternate
function
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 2 read signal
WR: Port 2 write signal
78
Preliminary User’s Manual U16035EJ1V0UM
P21/SO30,
P24/TxD0
CHAPTER 4
PORT FUNCTIONS
4.2.4 Port 3
Port 3 is a 3-bit I/O port with output latch. P34 to P36 pins can specify the input mode/output mode in 1-bit units
with port mode register 3 (PM3). Use of an on-chip pull-up resistor can be specified for the P34 to P36 pins in 1bit units by pull-up resistor option register 3 (PU3).
Port 3 can also be used for serial interface data I/O and clock I/O.
RESET input sets port 3 to input mode.
Figures 4-6 and 4-7 show block diagrams of port 3.
Cautions 1. When reading port 3 using an 8-bit memory manipulation instruction, do not use the lower
4 bits (P33 to P30) because they are undefined. When writing port 3 using an 8-bit memory
manipulation instruction, any values can be written to the lower 4 bits. Execution of a 1-bit
memory manipulation instruction for the lower 4 bits is prohibited.
2. Be sure to set the lower 4 bits (PM33 to PM30) of port mode register 3 (PM3) to 1.
Figure 4-6. Block Diagram of P34 and P36
VDD0
WRPU
P-ch
PU34, PU36
Alternate
function
Selector
Internal bus
RD
WRPORT
Output latch
(P34, P36)
P34/SI31,
P36/SCK31
WRPM
PM34, PM36
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 3 read signal
WR: Port 3 write signal
Preliminary User’s Manual U16035EJ1V0UM
79
CHAPTER 4
PORT FUNCTIONS
Figure 4-7. Block Diagram of P35
VDD0
WRPU
PU35
P-ch
RD
Internal bus
Selector
WRPORT
Output latch
(P35)
P35/SO31
WRPM
PM35
Alternate
function
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 3 read signal
WR: Port 3 write signal
80
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 4
PORT FUNCTIONS
4.2.5 Port 4
Port 4 is an 8-bit I/O port with output latch. The P40 to P47 pins can specify the input mode/output mode in 1bit units with port mode register 4 (PM4). An on-chip pull-up resistor of P40 to P47 pins can be used for them in 1bit units with pull-up resistor option register 4 (PU4).
The interrupt request flag (KRIF) can be set to 1 by detecting falling edges.
RESET input sets port 4 to input mode.
Figures 4-8 and 4-9 show a block diagram of port 4 and block diagram of the falling edge detector, respectively.
Caution
When using the falling edge detection interrupt (INTKR), be sure to set the memory expansion
mode register (MEM) to 01H.
Figure 4-8. Block Diagram of P40 to P47
VDD0
WRPU
PU40 to PU47
P-ch
RD
Internal bus
Selector
WRPORT
Output latch
(P40 to P47)
P40/AD0 to
P47/AD7
Selector
Memory expansion
mode register
(MEM)
WRPM
PM40 to PM47
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 4 read signal
WR: Port 4 write signal
Figure 4-9. Block Diagram of Falling Edge Detector
P40
P41
P42
P43
Falling edge detector
P44
INTKR
P45
P46
P47
“1” when MEM = 01H
Preliminary User’s Manual U16035EJ1V0UM
81
CHAPTER 4
PORT FUNCTIONS
4.2.6 Port 5
Port 5 is an 8-bit I/O port with output latch. The P50 to P57 pins can specify the input mode/output mode in 1bit units with port mode register 5 (PM5). An on-chip pull-up resistor of P50 to P57 pins can be used for them in 1bit units with pull-up resistor option register 5 (PU5).
Port 5 can drive LEDs directly.
RESET input sets port 5 to input mode.
Figure 4-10 shows a block diagram of port 5.
Figure 4-10. Block Diagram of P50 to P57
VDD0
WRPU
PU50 to PU57
P-ch
RD
Internal bus
Selector
WRPORT
Output latch
(P50 to P57)
Selector
Memory expansion
mode register
(MEM)
WRPM
PM50 to PM57
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 5 read signal
WR: Port 5 write signal
82
Preliminary User’s Manual U16035EJ1V0UM
P50/A8 to
P57/A15
CHAPTER 4
PORT FUNCTIONS
4.2.7 Port 7
Port 7 is a 6-bit I/O port with output latch. The P70 to P75 pins can specify the input mode/output mode in 1-bit
units with port mode register 7 (PM7). An on-chip pull-up resistor of P70 to P75 pins can be used for them in 1-bit
units with pull-up resistor option register 7 (PU7).
This port can also be used as a timer I/O, clock output, and buzzer output.
RESET input sets port 7 to input mode.
Figures 4-11 and 4-12 show block diagrams of port 7.
Figure 4-11. Block Diagram of P70 to P73
VDD0
WRPU
PU70 to PU73
P-ch
Alternate
function
Selector
Internal bus
RD
WRPORT
P70/TI00/TO0,
P71/TI01,
P72/TI50/TO50,
P73/TI51/TO51
Output latch
(P70 to P73)
WRPM
PM70 to PM73
Alternate
function
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 7 read signal
WR: Port 7 write signal
Preliminary User’s Manual U16035EJ1V0UM
83
CHAPTER 4
PORT FUNCTIONS
Figure 4-12. Block Diagram of P74 and P75
VDD0
WRPU
PU74, PU75
P-ch
Internal bus
RD
Selector
WRPORT
Output latch
(P74, P75)
WRPM
PM74, PM75
Alternate
function
PU: Pull-up resistor option register
PM: Port mode register
RD: Port 7 read signal
WR: Port 7 write signal
84
Preliminary User’s Manual U16035EJ1V0UM
P74/PCL,
P75/BUZ
CHAPTER 4
PORT FUNCTIONS
4.3 Registers to Control Port Function
The following two types of registers control the ports.
•
Port mode registers (PM0, PM2 to PM5, PM7)
•
Pull-up resistor option registers (PU0, PU2 to PU5, PU7)
(1) Port mode registers (PM0, PM2 to PM5, PM7)
These registers are used to set port input/output in 1-bit units.
PM0, PM2 to PM5, and PM7 are independently set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets these registers to FFH.
Cautions 1. Pins P10 to P17 are input-only pins.
2. If a port has an alternate function pin and it is used as an alternate output function, set the
output latches (P0 and P2 to P7) to 0.
Preliminary User’s Manual U16035EJ1V0UM
85
CHAPTER 4
PORT FUNCTIONS
Figure 4-13. Format of Port Mode Register (PM0, PM2 to PM5, PM7)
Address: FF20H After reset: FFH
R/W
Symbol
7
6
5
4
3
2
1
0
PM0
1
1
1
1
PM03
PM02
PM01
PM00
Address: FF22H After reset: FFH
R/W
Symbol
7
6
5
4
3
2
1
0
PM2
1
1
PM25
PM24
PM23
PM22
PM21
PM20
Address: FF23H After reset: FFH
Symbol
PM3
7
1
6
PM36
Address: FF24H After reset: FFH
Symbol
PM4
PM5
5
PM35
4
3
2
1
0
PM34
1Note
1Note
1Note
1Note
R/W
7
6
5
4
3
2
1
0
PM47
PM46
PM45
PM44
PM43
PM42
PM41
PM40
Address: FF25H After reset: FFH
Symbol
R/W
R/W
7
6
5
4
3
2
1
0
PM57
PM56
PM55
PM54
PM53
PM52
PM51
PM50
Address: FF27H After reset: FFH
R/W
Symbol
7
6
5
4
3
2
1
0
PM7
1
1
PM75
PM74
PM73
PM72
PM71
PM70
PMmn
Pmn pin I/O mode selection (m = 0, 2 to 5, 7; n = 0 to 7)
0
Output mode (Output buffer on)
1
Input mode (Output buffer off)
Note Since the lower 4 bits (PM33 to PM30) of PM3 are not fixed to 1, be sure to set the lower 4 bits to 1 when
setting by an 8-bit memory manipulation instruction.
86
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 4
PORT FUNCTIONS
(2) Pull-up resistor option registers (PU0, PU2 to PU5, PU7)
These registers are used to set whether to use an on-chip pull-up resistor at each port or not. By setting PU0,
PU2 to PU5, and PU7, the on-chip pull-up resistors of the port pins corresponding to the bits in PU0, PU2 to PU5,
and PU7 can be used.
PU0, PU2 to PU5, and PU7 are independently set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets registers to 00H.
Cautions 1. The P10 to P13 pins do not incorporate a pull-up resistor.
2. When PUm is set to 1, the on-chip pull-up resistor is connected irrespective of the input/
output mode. When using in output mode, therefore, set the bit of PUm to 0 (m = 0, 2 to
5, 7).
Preliminary User’s Manual U16035EJ1V0UM
87
CHAPTER 4
PORT FUNCTIONS
Figure 4-14. Format of Pull-Up Resistor Option Register (PU0, PU2 to PU5, PU7)
Address: FF30H After reset: 00H
Symbol
7
6
5
4
3
2
1
0
PU0
0
0
0
0
PU03
PU02
PU01
PU00
Address: FF32H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
PU2
0
0
PU25
PU24
PU23
PU22
PU21
PU20
Address: FF33H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
PU3
0
PU36
PU35
PU34
0
0
0
0
Address: FF34H After reset: 00H
Symbol
PU4
Symbol
PU5
R/W
7
6
5
4
3
2
1
0
PU47
PU46
PU45
PU44
PU43
PU42
PU41
PU40
Address: FF35H After reset: 00H
R/W
7
6
5
4
3
2
1
0
PU57
PU56
PU55
PU54
PU53
PU52
PU51
PU50
Address: FF37H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
PU7
0
0
PU75
PU74
PU73
PU72
PU71
PU70
PUmn
88
R/W
Pmn pin on-chip pull-up resistor selection (m = 0, 2 to 5, 7; n = 0 to 7)
0
On-chip pull-up resistor not used
1
On-chip pull-up resistor used
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 4
PORT FUNCTIONS
4.4 Operations of Port Function
Port operations differ depending on whether the input or output mode is set, as shown below.
4.4.1 Writing to I/O port
(1) Output mode
A value is written to the output latch by a transfer instruction, and the output latch contents are output from the
pin.
Once data is written to the output latch, it is retained until data is written to the output latch again.
(2) Input mode
A value is written to the output latch by a transfer instruction, but since the output buffer is OFF, the pin status
does not change.
Once data is written to the output latch, it is retained until data is written to the output latch again.
Caution
In the case of 1-bit memory manipulation instruction, although a single bit is manipulated, the
port is accessed as an 8-bit unit. Therefore, on a port with a mixture of input and output pins,
the output latch contents for pins specified as input are undefined, even for bits other than
the manipulated bit.
4.4.2 Reading from I/O port
(1) Output mode
The output latch contents are read by a transfer instruction. The output latch contents do not change.
(2) Input mode
The pin status is read by a transfer instruction. The output latch contents do not change.
4.4.3 Operations on I/O port
(1) Output mode
An operation is performed on the output latch contents, and the result is written to the output latch. The output
latch contents are output from the pins.
Once data is written to the output latch, it is retained until data is written to the output latch again.
(2) Input mode
The output latch contents are undefined, but since the output buffer is OFF, the pin status does not change.
Caution
In the case of 1-bit memory manipulation instruction, although a single bit is manipulated, the
port is accessed as an 8-bit unit. Therefore, on a port with a mixture of input and output pins,
the output latch contents for pins specified as input are undefined, even for bits other than
the manipulated bit.
Preliminary User’s Manual U16035EJ1V0UM
89
CHAPTER 5
CLOCK GENERATOR
5.1 Functions of Clock Generator
The clock generator generates the clock to be supplied to the CPU and peripheral hardware. The following two
types of system clock oscillators are available.
(1) Main system clock oscillator
This circuit oscillates at frequencies of 1 to 8.38 MHz. Oscillation can be stopped by executing the STOP
instruction or setting the processor clock control register (PCC).
(2) Subsystem clock oscillator
The circuit oscillates at a frequency of 32.768 kHz. Oscillation cannot be stopped. If the subsystem clock oscillator
is not used, the internal feedback resistor can be disabled by the processor clock control register (PCC). This
enables to reduce the power consumption in the STOP mode.
5.2 Configuration of Clock Generator
The clock generator consists of the following hardware.
Table 5-1. Configuration of Clock Generator
Item
90
Configuration
Control register
Processor clock control register (PCC)
Oscillators
Main system clock oscillator
Subsystem clock oscillator
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
Figure 5-1. Block Diagram of Clock Generator
FRC
XT1
XT2
Subsystem
clock
oscillator
fXT
Watch timer,
clock output
function
Prescaler
1/2
X2
Main system
clock
oscillator
Prescaler
fX
fX
2
fX
22
fX
23
Clock to
peripheral
hardware
fXT
2
fX
24
Selector
X1
Standby
controller
Wait
controller
CPU clock
(fCPU)
3
STOP
MCC FRC
CLS
CSS PCC2 PCC1 PCC0
Processor clock control register
(PCC)
Internal bus
Preliminary User’s Manual U16035EJ1V0UM
91
CHAPTER 5
CLOCK GENERATOR
5.3 Registers to Control Clock Generator
The clock generator is controlled by the processor clock control register (PCC).
The PCC sets whether to use CPU clock selection, the ratio of division, main system clock oscillator operation/
stop and subsystem clock oscillator internal feedback resistor.
The PCC is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets the PCC to 04H.
Figure 5-2. Subsystem Clock Feedback Resistor
FRC
P-ch
Feedback resistor
XT1
92
XT2
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
Figure 5-3. Format of Processor Clock Control Register (PCC)
Address: FFFBH After reset: 04H
Symbol
PCC
R/WNote 1
7
6
5
4
3
2
1
0
MCC
FRC
CLS
CSS
0
PCC2
PCC1
PCC0
Main system clock oscillation controlNote 2
MCC
0
Oscillation possible
1
Oscillation stopped
Subsystem clock feedback resistor selectionNote 3
FRC
0
Internal feedback resistor used
1
Internal feedback resistor not used
CLS
CPU clock status
0
Main system clock
1
Subsystem clock
CSS
PCC2
PCC1
PCC0
0
0
0
0
fX
0
0
1
fX/2
0
1
0
fX/22
0
1
1
fX/23
1
0
0
fX/24
0
0
0
fXT/2
0
0
1
0
1
0
0
1
1
1
0
0
1
Other than above
CPU clock (fCPU) selection
Setting prohibited
Notes 1. Bit 5 is Read Only.
2. When the CPU is operating on the subsystem clock, MCC should be used to stop the main system clock
oscillation. A STOP instruction should not be used.
3. The feedback resistor is required to adjust the bias point of the oscillation waveform to close to the middle
of the power supply voltage. Setting FRC to 1 can further reduce the current consumption in the STOP
mode, but only when the subsystem clock is not used.
Cautions 1. Be sure to set bit 3 to 0.
2. When the external clock is input, MCC should not be set. This is because the X2 pin is
connected to VDD1 via a pull-up resistor.
Remarks 1. fX:
Main system clock oscillation frequency
2. fXT: Subsystem clock oscillation frequency
Preliminary User’s Manual U16035EJ1V0UM
93
CHAPTER 5
CLOCK GENERATOR
The fastest instructions of µPD780024AS, 780034AS Subseries are carried out in two CPU clocks. The relationship
of CPU clock (fCPU) and minimum instruction execution time is shown in Table 5-2.
Table 5-2. Relationship of CPU Clock and Minimum Instruction Execution Time
CPU Clock (fCPU)
Minimum Instruction Execution Time: 2/fCPU
fX
0.24 µs
fX/2
0.48 µs
fX/22
0.95 µs
fX/23
1.91 µs
fX/24
3.81 µs
fXT/2
122 µs
fX = 8.38 MHz, fXT = 32.768 kHz
f X:
Main system clock oscillation frequency
fXT: Subsystem clock oscillation frequency
5.4 System Clock Oscillator
5.4.1 Main system clock oscillator
The main system clock oscillator oscillates with a crystal resonator or a ceramic resonator (8.38 MHz TYP.)
connected to the X1 and X2 pins.
External clocks can be input to the main system clock oscillator. In this case, input a clock signal to the X1 pin
and an inverted-phase clock signal to the X2 pin.
Figure 5-4 shows an external circuit of the main system clock oscillator.
Figure 5-4. External Circuit of Main System Clock Oscillator
(a) Crystal and ceramic oscillation
(b) External clock
IC
X2
VSS1
X1
X2
External
clock
Crystal resonator or
ceramic resonator
Caution
X1
µ PD74HCU04
Do not execute the STOP instruction and do not set MCC (bit 7 of processor clock control
register (PCC)) to 1 if an external clock is input. This is because when the STOP instruction or
MCC is set to 1, the main system clock operation stops and the X2 pin is connected to VDD1 via
a pull-up resistor.
94
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
5.4.2 Subsystem clock oscillator
The subsystem clock oscillator oscillates with a crystal resonator (32.768 kHz TYP.) connected to the XT1 and
XT2 pins.
External clocks can be input to the subsystem clock oscillator. In this case, input a clock signal to the XT1 pin
and an inverted-phase clock signal to the XT2 pin.
Figure 5-5 shows an external circuit of the subsystem clock oscillator.
Figure 5-5. External Circuit of Subsystem Clock Oscillator
(a) Crystal oscillation
(b) External clock
IC
XT1
32.768
kHz
External
clock
µ PD74HCU04
XT2
VSS1
XT1
XT2
Cautions are listed on the next page.
Preliminary User’s Manual U16035EJ1V0UM
95
CHAPTER 5
CLOCK GENERATOR
Cautions 1. When using the main system clock oscillator and a subsystem clock oscillator, wire as
follows in the area enclosed by the broken lines in Figures 5-4 and 5-5 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 VSS1. Do
not ground the capacitor to a ground pattern through which a high current flows.
• Do not fetch signals from the oscillator.
Take special note of the fact that the subsystem clock oscillator is a circuit with low-level
amplification so that current consumption is maintained at low levels.
Figure 5-6 shows examples of incorrect resonator connection.
Figure 5-6. Examples of Incorrect Resonator Connection (1/2)
(a) Too long wiring
(b) Crossed signal line
PORTn
(n = 0 to 7)
IC
X2
X1
IC
VSS1
X2
X1
VSS1
Remark When using a subsystem clock, replace X1 and X2 with XT1 and XT2, respectively. Further, insert
resistors in series on the side of XT2.
96
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
Figure 5-6. Examples of Incorrect Resonator Connection (2/2)
(c) Wiring near high alternating current
(d) Current flowing through ground line of
oscillator (potential at points A, B, and
C fluctuates)
VDD0
Pmn
X2
X1
IC
High current
IC
A
VSS1
VSS1
X2
B
X1
C
High current
(e) Signals are fetched
IC
X2
X1
VSS1
Remark When using a subsystem clock, replace X1 and X2 with XT1 and XT2, respectively. Also, insert resistors
in series on the XT2 side.
Cautions 2. When X2 and XT1 are wired in parallel, the crosstalk noise of X2 may increase with XT1,
resulting in malfunctioning.
To prevent that from occurring, it is recommended to wire X2 and XT1 so that they are not
in parallel, and to connect the IC pin between X2 and XT1 directly to VSS1.
Preliminary User’s Manual U16035EJ1V0UM
97
CHAPTER 5
CLOCK GENERATOR
5.4.3 Divider
The divider divides the main system clock oscillator output (fX) and generates various clocks.
5.4.4 When no subsystem clocks are used
If it is not necessary to use subsystem clocks for low power consumption operations and clock operations, connect
the XT1 and XT2 pins as follows.
XT1: Connect to VDD0
XT2: Open
In this state, however, some current may leak via the internal feedback resistor of the subsystem clock oscillator
when the main system clock stops. To minimize leakage current, the above internal feedback resistor can be removed
with bit 6 (FRC) of the processor clock control register (PCC). In this case also, connect the XT1 and XT2 pins as
described above.
98
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
5.5 Clock Generator Operations
The clock generator generates the following various types of clocks and controls the CPU operating mode including
the standby mode.
• Main system clock
• Subsystem clock
• CPU clock
fX
fXT
fCPU
• Clock to peripheral hardware
The following clock generator functions and operations are determined with the processor clock control register
(PCC).
(a) Upon generation of RESET signal, the lowest speed mode of the main system clock (3.81 µs @ 8.38 MHz
operation) is selected (PCC = 04H). Main system clock oscillation stops while low level is applied to RESET
pin.
(b) With the main system clock selected, one of the five CPU clock types (0.24 µs, 0.48 µs, 0.95 µs, 1.91 µs, 3.81
µs, @ 8.38 MHz operation) can be selected by setting the PCC.
(c) With the main system clock selected, two standby modes, the STOP and HALT modes, are available. To reduce
current consumption in the STOP mode, the subsystem clock feedback resistor can be disconnected to stop the
subsystem clock.
(d) The PCC can be used to select the subsystem clock and to operate the system with low-current consumption
(122 µs @ 32.768 kHz operation).
(e) With the subsystem clock selected, main system clock oscillation can be stopped with the PCC. The HALT mode
can be used. However, the STOP mode cannot be used (subsystem clock oscillation cannot be stopped).
(f)
The main system clock is divided and supplied to the peripheral hardware. The subsystem clock is supplied to
the watch timer and clock output functions only. Thus the watch function and the clock output function can also
be continued in the standby state. However, since all other peripheral hardware operate with the main system
clock, the peripheral hardware also stops if the main system clock is stopped (except external input clock
operation).
Preliminary User’s Manual U16035EJ1V0UM
99
CHAPTER 5
CLOCK GENERATOR
5.5.1 Main system clock operations
When operated with the main system clock (with bit 5 (CLS) of the processor clock control register (PCC) set to
0), the following operations are carried out by PCC setting.
(a) Because the operation guarantee instruction execution speed depends on the power supply voltage, the minimum
instruction execution time can be changed by bits 0 to 2 (PCC0 to PCC2) of the PCC.
(b) If bit 7 (MCC) of the PCC is set to 1 when operated with the main system clock, the main system clock oscillation
does not stop. When bit 4 (CSS) of the PCC is set to 1 and the operation is switched to subsystem clock operation
(CLS = 1) after that, the main system clock oscillation stops (see Figure 5-7).
Figure 5-7. Main System Clock Stop Function (1/2)
(a) Operation when MCC is set after setting CSS with main system clock operation
MCC
CSS
CLS
Main system clock oscillation
Subsystem clock oscillation
CPU clock
(b) Operation when MCC is set in case of main system clock operation
MCC
CSS
L
CLS
L
Oscillation does not stop.
Main system clock oscillation
Subsystem clock oscillation
CPU clock
100
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
Figure 5-7. Main System Clock Stop Function (2/2)
(c) Operation when CSS is set after setting MCC with main system clock operation
MCC
CSS
CLS
Main system clock oscillation
Subsystem clock oscillation
CPU clock
5.5.2 Subsystem clock operations
When operated with the subsystem clock (with bit 5 (CLS) of the processor clock control register (PCC) set to 1),
the following operations are carried out.
(a) The minimum instruction execution time remains constant (122 µs @ 32.768 kHz operation) irrespective of bits
0 to 2 (PCC0 to PCC2) of the PCC.
(b) Watchdog timer counting stops.
Caution
Do not execute the STOP instruction while the subsystem clock is in operation.
5.6 Changing System Clock and CPU Clock Settings
5.6.1 Time required for switchover between system clock and CPU clock
The system clock and CPU clock can be switched over by means of bits 0 to 2 (PCC0 to PCC2) and bit 4 (CSS)
of the processor clock control register (PCC).
The actual switchover operation is not performed directly after writing to the PCC, but operation continues on the
pre-switchover clock for several instructions (see Table 5-3).
Determination as to whether the system is operating on the main system clock or the subsystem clock is performed
by bit 5 (CLS) of the PCC register.
Preliminary User’s Manual U16035EJ1V0UM
101
CHAPTER 5
CLOCK GENERATOR
Table 5-3. Maximum Time Required for CPU Clock Switchover
Set Value Before
Switchover
Set Value After Switchover
CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0
0
0
1
0
0
0
0
0
0
1
16 instructions
0
0
1
0
0
0
1
1
0
1
0
0
1
×
×
16 instructions
16 instructions
16 instructions
fX/2fXT instruction
(128 instructions)
8 instructions
8 instructions
8 instructions
fX/4fXT instruction
(64 instructions)
4 instructions
4 instructions
fX/8fXT instruction
(32 instructions)
2 instructions
fX/16fXT instruction
(16 instructions)
0
0
0
0
0
1
8 instructions
0
1
0
4 instructions
4 instructions
0
1
1
2 instructions
2 instructions
2 instructions
1
0
0
1 instruction
1 instruction
1 instruction
1 instruction
×
×
×
1 instruction
1 instruction
1 instruction
1 instruction
fX/32fXT instruction
(8 instructions)
1 instruction
Remarks 1. One instruction is the minimum instruction execution time with the pre-switchover CPU clock.
2. Figures in parentheses are for operation with fX = 8.38 MHz and fXT = 32.768 kHz.
Caution
Selection of the CPU clock cycle dividing factor (PCC0 to PCC2) and switchover from the main
system clock to the subsystem clock (changing CSS from 0 to 1) should not be set simultaneously.
Simultaneous setting is possible, however, for selection of the CPU clock cycle dividing factor
(PCC0 to PCC2) and switch over from the subsystem clock to the main system clock (changing
CSS from 1 to 0).
102
×
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 5
CLOCK GENERATOR
5.6.2 System clock and CPU clock switching procedure
This section describes switching procedure between the system clock and CPU clock.
Figure 5-8. System Clock and CPU Clock Switching
VDD
RESET
Interrupt request signal
System clock
CPU clock
fX
Lowestspeed
operation
fX
Highestspeed
operation
fXT
Subsystem
clock
operation
fX
High-speed
operation
Wait (15.6 ms: @8.38 MHz operation)
Internal reset operation
<1> The CPU is reset by setting the RESET signal to low level after power-on. After that, when reset is released
by setting the RESET signal to high level, main system clock starts oscillation. At this time, oscillation
stabilization time (217/fX) is secured automatically.
After that, the CPU starts executing the instruction at the minimum speed of the main system clock (3.81 µs
@ 8.38 MHz operation).
<2> After the lapse of a sufficient time for the VDD voltage to increase to enable operation at maximum speeds, the
PCC is rewritten and maximum-speed operation is carried out.
<3> Upon detection of a decrease of the VDD voltage due to an interrupt request signal, the main system clock is
switched to the subsystem clock (which must be in an oscillation stable state).
<4> Upon detection of VDD voltage reset due to an interrupt, 0 is set to bit 7 (MCC) of the PCC and oscillation of
the main system clock is started. After the lapse of time required for stabilization of oscillation, the PCC is
rewritten and the maximum-speed operation is resumed.
Caution
When subsystem clock is being operated while the main system clock is stopped, if switching
to the main system clock is done again, be sure to switch after securing oscillation stabilization
time by program.
Preliminary User’s Manual U16035EJ1V0UM
103
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.1 Functions of 16-Bit Timer/Event Counter 0
The 16-bit timer/event counter 0 has the following functions.
• Interval timer
• PPG output
• Pulse width measurement
• External event counter
• Square-wave output
(1) Interval timer
TM0 generates interrupt request at the preset time interval.
(2) PPG output
TM0 can output a square wave whose frequency and output pulse can be set freely.
(3) Pulse width measurement
TM0 can measure the pulse width of an externally input signal.
(4) External event counter
TM0 can measure the number of pulses of an externally input signal.
(5) Square-wave output
TM0 can output a square wave with any selected frequency.
104
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.2 Configuration of 16-Bit Timer/Event Counter 0
16-bit timer/event counter 0 consists of the following hardware.
Table 6-1. Configuration of 16-Bit Timer/Event Counter 0
Item
Configuration
Timer/counter
16 bits × 1 (TM0)
Register
16-bit timer capture/compare register: 16 bits × 2 (CR00, CR01)
Timer output
1 (TO0)
Control registers
16-bit timer mode control register 0 (TMC0)
Capture/compare control register 0 (CRC0)
16-bit timer output control register 0 (TOC0)
Prescaler mode register 0 (PRM0)
Port mode register 7 (PM7)Note
Note See Figure 4-11 Block Diagram of P70 to P73 and Figure 4-12 Block
Diagram of P74 and P75.
Figure 6-1 shows a block diagram.
Figure 6-1. Block Diagram of 16-Bit Timer/Event Counter 0
Internal bus
Capture/compare control
register 0 (CRC0)
TI01/P71
Selector
Noise
eliminator
Selector
CRC02 CRC01 CRC00
16-bit timer capture/compare
register 00 (CR00)
INTTM00
Match
Noise
eliminator
16-bit timer counter 0
(TM0)
Output
controller
TO0/TI00/
P70
Match
2
Noise
eliminator
TI00/TO0/P70
Clear
16-bit timer capture/compare
register 01 (CR01)
Selector
fX/23
Selector
fX
fX/22
fX/26
INTTM01
CRC02
PRM01PRM00
Prescaler mode
register 0 (PRM0)
TMC03 TMC02 TMC01 OVF0
16-bit timer mode
control register 0
(TMC0)
Internal bus
Preliminary User’s Manual U16035EJ1V0UM
TOC04 LVS0 LVR0 TOC01 TOE0
16-bit timer output
control register 0
(TOC0)
105
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(1) 16-bit timer counter 0 (TM0)
TM0 is a 16-bit read-only register that counts count pulses.
The counter is incremented in synchronization with the rising edge of an input 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. The
count value is reset to 0000H in the following cases:
<1> At RESET input
<2> If TMC03 and TMC02 are cleared
<3> If valid edge of TI00 is input in the clear & start mode by inputting valid edge of TI00
<4> If TM0 and CR00 match in the clear & start mode on match between TM0 and CR00
(2) 16-bit timer capture/compare register 00 (CR00)
CR00 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 (CRC00) of capture/compare control register
0 (CRC0).
• When CR00 is used as a compare register
The value set in the CR00 is constantly compared with the 16-bit timer counter 0 (TM0) count value, and an
interrupt request (INTTM00) is generated if they match. It can also be used as the register which holds the
interval time when TM0 is set to interval timer operation.
• When CR00 is used as a capture register
It is possible to select the valid edge of the TI00/TO0/P70 pin or the TI01/P71 pin as the capture trigger. Setting
of the TI00 or TI01 valid edge is performed by means of prescaler mode register 0 (PRM0).
If CR00 is specified as a capture register and capture trigger is specified to be the valid edge of the TI00/TO0/
P70 pin, the situation is as shown in Table 6-2. On the other hand, when capture trigger is specified to be
the valid edge of the TI01/P71 pin, the situation is as shown in Table 6-3.
Table 6-2. TI00/TO0/P70 Pin Valid Edge and CR00, CR01 Capture Trigger
ES01
ES00
TI00/TO0/P70 Pin Valid Edge
CR00 Capture Trigger
CR01 Capture Trigger
0
0
Falling edge
Rising edge
Falling edge
0
1
Rising edge
Falling edge
Rising edge
1
0
Setting prohibited
Setting prohibited
Setting prohibited
1
1
Both rising and falling edges
No capture operation
Both rising and falling edges
Table 6-3. TI01/P71 Pin Valid Edge and CR00 Capture Trigger
ES11
ES10
0
0
Falling edge
Falling edge
0
1
Rising edge
Rising edge
1
0
Setting prohibited
Setting prohibited
1
1
Both rising and falling edges
Both rising and falling edges
106
TI01/P71 Pin Valid Edge
CR00 Capture Trigger
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
CR00 is set by a 16-bit memory manipulation instruction.
After RESET input, the value of CR00 is undefined.
Cautions 1. Set a value other than 0000H in CR00 in the clear & start mode on match between TM0 and
CR00. However, in the free-running mode and in the clear mode using the valid edge of
TI00, if 0000H is set to CR00, an interrupt request (INTTM00) is generated following overflow
(FFFFH).
2. If the value after CR00 is changed is smaller than that of 16-bit timer counter 0 (TM0), TM0
continues counting, overflows and then restarts counting from 0. Thus, if the value after
CR00 is changed is smaller than the value before it was changed, it is necessary to restart
the timer after changing CR00.
3. When P70 is used as the valid edge of TI00, it cannot be used as timer output (TO0).
Moreover, when P70 is used as TO0, it cannot be used as the valid edge of TI00.
(3) 16-bit timer capture/compare register 01 (CR01)
CR01 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 (CRC02) of capture/compare control register 0 (CRC0).
• When CR01 is used as a compare register
The value set in the CR01 is constantly compared with the 16-bit timer counter 0 (TM0) count value, and an
interrupt request (INTTM01) is generated if they match.
• When CR01 is used as a capture register
It is possible to select the valid edge of the TI00/TO0/P70 pin as the capture trigger. The TI00/TO0/P70 valid
edge is set by means of prescaler mode register 0 (PRM0).
CR01 is set by a 16-bit memory manipulation instruction.
After RESET input, the value of CR01 is undefined.
Caution
Set other than 0000H to CR01. This means 1-pulse count operation cannot be performed when
CR01 is used as the event counter. However, in the free-running mode and in the clear mode
using the valid edge of TI00, if 0000H is set to CR01, an interrupt request (INTTM01) is
generated following overflow (FFFFH).
Preliminary User’s Manual U16035EJ1V0UM
107
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.3 Registers to Control 16-Bit Timer/Event Counter 0
The following five types of registers are used to control the 16-bit timer/event counter 0.
• 16-bit timer mode control register 0 (TMC0)
• Capture/compare control register 0 (CRC0)
• 16-bit timer output control register 0 (TOC0)
• Prescaler mode register 0 (PRM0)
• Port mode register 7 (PM7)
(1) 16-bit timer mode control register 0 (TMC0)
This register sets the 16-bit timer operating mode, the 16-bit timer counter 0 (TM0) clear mode, and output timing,
and detects an overflow.
TMC0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TMC0 value to 00H.
Caution
The 16-bit timer counter 0 (TM0) starts operation at the moment a value other than 0, 0
(operation stop mode) is set in TMC02 and TMC03, respectively. Set 0, 0 in TMC02 and TMC03
to stop the operation.
108
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-2. Format of 16-Bit Timer Mode Control Register 0 (TMC0)
Address FF60H
After reset: 00H
Symbol
7
6
5
4
TMC0
0
0
0
0
R/W
3
2
1
0
TMC03 TMC02 TMC01 OVF0
Operating mode
and clear mode selection
TMC03
TMC02
TMC01
0
0
0
Operation stop
0
0
1
(TM0 cleared to 0)
0
1
0
Free-running mode
0
1
1
TO0 output timing selection
Interrupt request generation
No change
Not generated
Match between TM0 and
CR00 or match between TM0
and CR01
Generated on match
between TM0 and CR00, or
match between TM0 and
CR01
Match between TM0 and
CR00, match between TM0
and CR01 or TI00 valid edge
1
0
0
Clear & start on TI00 valid
1
0
1
edge
1
1
0
Clear & start on match
between TM0 and CR00
1
1
1
—
Match between TM0 and
CR00 or match between TM0
and CR01
Match between TM0 and
CR00, match between TM0
and CR01 or TI00 valid edge
OVF0
16-bit timer counter 0 (TM0) overflow detection
0
Overflow not detected
1
Overflow detected
Cautions 1. Timer operation must be stopped before writing to bits other than the OVF0 flag.
2. Set the valid edge of the TI00/TO0/P70 pin with prescaler mode register 0 (PRM0).
3. If clear & start mode on match between TM0 and CR00 is selected, when the set value of
CR00 is FFFFH and the TM0 value changes from FFFFH to 0000H, OVF0 flag is set to 1.
Remark TO0:
16-bit timer/event counter output pin
TI00:
16-bit timer/event counter input pin
TM0:
16-bit timer counter 0
CR00: 16-bit timer capture/compare register 00
CR01: 16-bit timer capture/compare register 01
Preliminary User’s Manual U16035EJ1V0UM
109
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(2) Capture/compare control register 0 (CRC0)
This register controls the operation of the 16-bit timer capture/compare registers (CR00, CR01).
CRC0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CRC0 value to 00H.
Figure 6-3. Format of Capture/Compare Control Register 0 (CRC0)
Address: FF62H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
CRC0
0
0
0
0
0
CRC02
CRC01
CRC00
CRC02
CR01 operating mode selection
0
Operates as compare register
1
Operates as capture register
CRC01
CR00 capture trigger selection
0
Captures on valid edge of TI01
1
Captures on valid edge of TI00 by reverse phase
CRC00
CR00 operating mode selection
0
Operates as compare register
1
Operates as capture register
Cautions 1. Timer operation must be stopped before setting CRC0.
2. When clear & start mode on a match between TM0 and CR00 is selected with the 16-bit timer
mode control register 0 (TMC0), CR00 should not be specified as a capture register.
3. If both the rising and falling edges have been selected as the valid edges of TI00, capture
is not performed.
4. To ensure the reliability of the capture operation, the capture trigger requires a pulse two
times longer than the count clock selected by prescaler mode register 0 (PRM0).
110
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(3) 16-bit timer output control register 0 (TOC0)
This register controls the operation of the 16-bit timer/event counter 0 output controller. It sets R-S type flip-flop
(LV0) setting/resetting, output inversion enabling/disabling, and 16-bit timer/event counter 0 timer output
enabling/disabling.
TOC0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TOC0 value to 00H.
Figure 6-4 shows the TOC0 format.
Figure 6-4. Format of 16-Bit Timer Output Control Register 0 (TOC0)
Address: FF63H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
TOC0
0
0
0
TOC04
LVS0
LVR0
TOC01
TOE0
TOC04
Timer output F/F control by match of CR01 and TM0
0
Inversion operation disabled
1
Inversion operation enabled
LVS0
LVR0
16-bit timer/event counter 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
TOC01
Timer output F/F control by match of CR00 and TM0
0
Inversion operation disabled
1
Inversion operation enabled
TOE0
16-bit timer/event counter output control
0
Output disabled (output set to level 0)
1
Output enabled
Cautions 1. Timer operation must be stopped before setting TOC0.
2. If LVS0 and LVR0 are read after data is set, they will be 0.
Preliminary User’s Manual U16035EJ1V0UM
111
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(4) Prescaler mode register 0 (PRM0)
This register is used to set 16-bit timer counter 0 (TM0) count clock and TI00, TI01 input valid edges.
PRM0 is set by an 8-bit memory manipulation instruction.
RESET input sets PRM0 value to 00H.
Figure 6-5. Format of Prescaler Mode Register 0 (PRM0)
Address: FF61H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
PRM0
ES11
ES10
ES01
ES00
0
0
PRM01
PRM00
ES11
ES10
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES01
ES00
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
PRM01
PRM00
0
0
fX (8.38 MHz)
0
1
fX/22 (2.09 MHz)
1
0
fX/26 (131 kHz)
1
1
TI00 valid edgeNote
TI01 valid edge selection
TI00 valid edge selection
Count clock selection
Note The external clock requires a pulse two times longer than internal clock (fX/23).
Cautions 1. If the valid edge of TI00 is to be set to the count clock, do not set the clear & start mode
and the capture trigger at the valid edge of TI00.
Moreover, do not use the P70/TI00/TO0 pins as timer outputs (TO0).
2. Always set data to PRM0 after stopping the timer operation.
3. If the TI00 or TI01 pin is high level immediately after system reset, the rising edge is
immediately detected after the rising edge or both the rising and falling edges are set as
the valid edge(s) of the TI00 pin or TI01 pin to enable the operation of the 16-bit timer counter
0 (TM0). Please be careful when pulling up the TI00 pin or the TI01 pin. However, when reenabling operation after the operation has been stopped once, the rising edge is not
detected.
Remarks 1. fX: Main system clock oscillation frequency
2. TI00, TI01: 16-bit timer/event counter input pin
3. Figures in parentheses are for operation with fX = 8.38 MHz.
112
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(5) Port mode register 7 (PM7)
This register sets port 7 input/output in 1-bit units.
When using the P70/TO0/TI00 pin for timer output, set PM70 and the output latch of P70 to 0.
PM7 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM7 value to FFH.
Figure 6-6. Format of Port Mode Register 7 (PM7)
Address: FF27H
After reset: FFH
Symbol
7
6
PM7
1
1
PM7n
5
4
R/W
3
2
1
0
PM75 PM74 PM73 PM72 PM71 PM70
P7n pin I/O mode selection (n = 0 to 5)
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
Preliminary User’s Manual U16035EJ1V0UM
113
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.4 Operations of 16-Bit Timer/Event Counter 0
6.4.1 Interval timer operations
Setting the 16-bit timer mode control register 0 (TMC0) and capture/compare control register 0 (CRC0) as shown
in Figure 6-7 allows operation as an interval timer. Interrupt request is generated repeatedly using the count value
set in 16-bit timer capture/compare register 00 (CR00) beforehand as the interval.
When the count value of the 16-bit timer counter 0 (TM0) matches the value set to CR00, counting continues with
the TM0 value cleared to 0 and the interrupt request signal (INTTM00) is generated.
Count clock of the 16-bit timer/event counter can be selected with bits 0 and 1 (PRM00, PRM01) of the prescaler
mode register 0 (PRM0).
See 6.5 Cautions for 16-Bit Timer/Event Counter 0 (2) about the operation when the compare register value
is changed during timer count operation.
Figure 6-7. Control Register Settings for Interval Timer Operation
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0/1
0
Clears and starts on match between TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 as compare register
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with the interval timer. See Figures
6-2 and 6-3.
114
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-8. Interval Timer Configuration Diagram
16-bit timer capture/compare
register 00 (CR00)
INTTM00
Selector
fX
fX/22
fX/26
TI00/TO0/P70
16-bit timer counter 0
(TM0)
OVF0
Noise
eliminator
Clear
circuit
fX/23
Figure 6-9. Timing of Interval Timer Operation
t
Count clock
TM0 count value
0000H
0001H
N
Count start
CR00
0000H 0001H
Clear
N
N
0000H 0001H
N
Clear
N
N
N
INTTM00
Interrupt request
acknowledged
Interrupt request
acknowledged
TO0
Interval time
Interval time
Interval time
Remark Interval time = (N + 1) × t
N = 0001H to FFFFH
Preliminary User’s Manual U16035EJ1V0UM
115
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.4.2 PPG output operations
Setting the 16-bit timer mode control register 0 (TMC0) and capture/compare control register 0 (CRC0) as shown
in Figure 6-10 allows operation as PPG (Programmable Pulse Generator) output.
In the PPG output operation, square waves are output from the TO0/TI00/P70 pin with the pulse width and the
cycle that correspond to the count values set beforehand in 16-bit timer capture/compare register 01 (CR01) and in
16-bit timer capture/compare register 00 (CR00), respectively.
Figure 6-10. Control Register Settings for PPG Output Operation
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0
0
Clears and starts on match between TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0
×
0
CR00 as compare register
CR01 as compare register
(c) 16-bit timer output control register 0 (TOC0)
TOC04 LVS0 LVR0 TOC01 TOE0
TOC0
0
0
0
1
0/1
0/1
1
1
Enables TO0 output
Reverses output on match between TM0 and CR00
Specifies initial value of TO0 output F/F
Reverses output on match between TM0 and CR01
Cautions 1. Values in the following range should be set in CR00 and CR01:
0000H < CR01 < CR00 ≤ FFFFH
2. The cycle of the pulse generated through PPG output (CR00 setting value + 1) has a duty of
(CR01 setting value + 1)/(CR00 setting value + 1).
Remark ×: don’t care
116
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.4.3 Pulse width measurement operations
It is possible to measure the pulse width of the signals input to the TI00/TO0/P70 pin and TI01/P71 pin using the
16-bit timer counter 0 (TM0).
There are two measurement methods: measuring with TM0 used in free-running mode, and measuring by restarting
the timer in synchronization with the edge of the signal input to the TI00/TO0/P70 pin.
(1) Pulse width measurement with free-running counter and one capture register
When the 16-bit timer counter 0 (TM0) is operated in free-running mode (see register settings in Figure 6-11),
and the edge specified by prescaler mode register 0 (PRM0) is input to the TI00/TO0/P70 pin, the value of TM0
is taken into 16-bit timer capture/compare register 01 (CR01) and an external interrupt request signal (INTTM01)
is set.
Any of three edge can be selected—rising, falling, or both edges—specified by means of bits 4 and 5 (ES00 and
ES01) of PRM0.
For valid edge detection, sampling is performed at the count clock selected by PRM0, and a capture operation
is only performed when a valid level is detected twice, thus eliminating noise with a short pulse width.
Figure 6-11. Control Register Settings for Pulse Width Measurement with Free-Running Counter
and One Capture Register
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
1
0/1
0
Free-running mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
0/1
0
CR00 as compare register
CR01 as capture register
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width measurement.
See Figures 6-2 and 6-3.
Preliminary User’s Manual U16035EJ1V0UM
117
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-12. Configuration Diagram for Pulse Width Measurement by Free-Running Counter
fX/22
6
fX/2
Selector
fX
16-bit timer counter 0
(TM0)
OVF0
16-bit timer capture/compare
register 01 (CR01)
TI00/TO0/P70
INTTM01
Internal bus
Figure 6-13. Timing of Pulse Width Measurement Operation by Free-Running Counter
and One Capture Register (with Both Edges Specified)
t
Count clock
TM0 count value
0000H 0001H
D0
D0 + 1
D1
D1 + 1
FFFFH 0000H
D2
D3
TI00 pin input
CR01 capture value
D0
D1
D2
INTTM01
OVF0
(D1 – D0) × t
118
(10000H – D1 + D2) × t
Preliminary User’s Manual U16035EJ1V0UM
(D3 – D2) × t
D3
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(2) Measurement of two pulse widths with free-running counter
When the 16-bit timer counter 0 (TM0) is operated in free-running mode (see register settings in Figure 6-14),
it is possible to simultaneously measure the pulse widths of the two signals input to the TI00/TO0/P70 pin and
the TI01/P71 pin.
When the edge specified by bits 4 and 5 (ES00 and ES01) of prescaler mode register 0 (PRM0) is input to the
TI00/TO0/P70 pin, the value of TM0 is taken into 16-bit timer capture/compare register 01 (CR01) and an interrupt
request signal (INTTM01) is set.
Also, when the edge specified by bits 6 and 7 (ES10 and ES11) of PRM0 is input to the TI01/P71 pin, the value
of TM0 is taken into 16-bit timer capture/compare register 00 (CR00) and an interrupt request signal (INTTM00)
is set.
Any of three edge can be selected—rising, falling, or both edges—as the valid edges for the TI00/TO0/P70 pin
and the TI01/P71 pin specified by means of bits 4 and 5 (ES00 and ES01) and bits 6 and 7 (ES10 and ES11)
of PRM0, respectively.
For valid edge detection of TI00/TO0/P70 and TI01/P71 pins, sampling is performed at the interval selected by
means of the prescaler mode register 0 (PRM0), and a capture operation is only performed when a valid level
is detected twice, thus eliminating noise with a short pulse width.
Figure 6-14. Control Register Settings for Measurement of Two Pulse Widths with Free-Running Counter
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
1
0/1
0
Free-running mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
0
1
CR00 as capture register
Captures valid edge of TI01/P71 pin to CR00
CR01 as capture register
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width measurement.
For details, see Figure 6-2.
Preliminary User’s Manual U16035EJ1V0UM
119
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
• Capture operation (free-running mode)
Capture register operation in capture trigger input is shown.
Figure 6-15. CR01 Capture Operation with Rising Edge Specified
Count clock
TM0
n–3
n–2
n–1
n
n+1
TI00
Rising edge detection
n
CR01
INTTM01
Figure 6-16. Timing of Pulse Width Measurement Operation with Free-Running Counter
(with Both Edges Specified)
t
Count clock
TM0 count value
0000H 0001H
D0
D0 + 1
D1
D1 + 1
FFFFH 0000H
D2
D2 + 1 D2 + 2
TI00 pin input
CR01 capture value
D0
D1
D2
INTTM01
TI01 pin input
CR00 capture value
D1
D2 + 1
INTTM00
OVF0
(D1 – D0) × t
(10000H – D1 + D2) × t
(10000H – D1 + (D2 + 1)) × t
120
Preliminary User’s Manual U16035EJ1V0UM
(D3 – D2) × t
D3
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(3) Pulse width measurement with free-running counter and two capture registers
When the 16-bit timer counter 0 (TM0) is operated in free-running mode (see register settings in Figure 6-17),
it is possible to measure the pulse width of the signal input to the TI00//TO0/P70 pin.
When the edge specified by bits 4 and 5 (ES00 and ES01) of prescaler mode register 0 (PRM0) is input to the
TI00/TO0/P70 pin, the value of TM0 is taken into 16-bit timer capture/compare register 01 (CR01) and an interrupt
request signal (INTTM01) is set.
Also, on the inverse edge input of that of the capture operation into CR01, the value of TM0 is taken into 16bit timer capture/compare register 00 (CR00).
Either of two edge can be selected—rising or falling—as the valid edges for the TI00/TO0/P70 pin specified by
means of bits 4 and 5 (ES00 and ES01) of prescaler mode register 0 (PRM0).
For TI00/TO0/P70 pin valid edge detection, sampling is performed at the interval selected by means of the
prescaler mode register 0 (PRM0), and a capture operation is only performed when a valid level is detected twice,
thus eliminating noise with a short pulse width.
Caution
If the valid edge of TI00/TO0/P70 pin is specified to be both rising and falling edges, the 16bit timer capture/compare register 00 (CR00) cannot perform the capture operation.
Figure 6-17. Control Register Settings for Pulse Width Measurement with Free-Running Counter and
Two Capture Registers
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
1
0/1
0
Free-running mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
1
1
CR00 as capture register
Captures to CR00 at edge reverse
to valid edge of TI00/TO0/P70.
CR01 as capture register
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.
Preliminary User’s Manual U16035EJ1V0UM
121
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-18. Timing of Pulse Width Measurement Operation by Free-Running Counter
and Two Capture Registers (with Rising Edge Specified)
t
Count clock
TM0 count value
0000H 0001H
D0
D0 + 1
D1
D1 + 1
FFFFH 0000H
D2
D2 + 1
D3
TI00 pin input
CR01 capture value
D0
CR00 capture value
D2
D1
D3
INTTM01
OVF0
(D1 – D0) × t
(10000H – D1 + D2) × t
(D3 – D2) × t
(4) Pulse width measurement by means of restart
When input of a valid edge to the TI00/TO0/P70 pin is detected, the count value of the 16-bit timer counter 0
(TM0) is taken into 16-bit timer capture/compare register 01 (CR01), and then the pulse width of the signal input
to the TI00/TO0/P70 pin is measured by clearing TM0 and restarting the count (see register settings in Figure
6-19).
The edge specification can be selected from two types, rising and falling edges by bits 4 and 5 (ES00 and ES01)
of the prescaler mode register 0 (PRM0).
In a valid edge detection, the sampling is performed by a cycle selected by the prescaler mode register 0 (PRM0)
and a capture operation is only performed when a valid level is detected twice, thus eliminating noise with a short
pulse width.
Caution
If the valid edge of TI00/TO0/P70 pin is specified to be both rising and falling edges, the 16bit timer capture/compare register 00 (CR00) cannot perform the capture operation.
122
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-19. Control Register Settings for Pulse Width Measurement by Means of Restart
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
0
0/1
0
Clears and starts at valid edge of TI00/TO0/P70 pin.
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
1
1
CR00 as capture register
Captures to CR00 at edge reverse to valid edge of TI00/TO0/P70.
CR01 as capture register
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width measurement.
See Figure 6-2.
Figure 6-20. Timing of Pulse Width Measurement Operation by Means of Restart
(with Rising Edge Specified)
t
Count clock
TM0 count value
0000H 0001H
D0
0000H 0001H
D2 0000H 0001H
D1
TI00 pin input
CR01 capture value
D0
D2
D1
CR00 capture value
INTTM01
D1 × t
D2 × t
Preliminary User’s Manual U16035EJ1V0UM
123
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.4.4 External event counter operation
The external event counter counts the number of external clock pulses to be input to the TI00/TO0/P70 pin with
the 16-bit timer counter 0 (TM0).
TM0 is incremented each time the valid edge specified with the prescaler mode register 0 (PRM0) is input.
When the TM0 counted value matches the 16-bit timer capture/compare register 00 (CR00) value, TM0 is cleared
to 0 and the interrupt request signal (INTTM00) is generated.
Input the value except 0000H to CR00 (count operation with a pulse cannot be carried out).
The rising edge, the falling edge, or both edges can be selected with bits 4 and 5 (ES00 and ES01) of prescaler
mode register 0 (PRM0).
Because operation is carried out only after the valid edge is detected twice by sampling with the internal clock (fX/
23), noise with short pulse widths can be eliminated.
Caution
When used as an external event counter, the P70/TI00/TO0 pin cannot be used as timer output
(TO0).
Figure 6-21. Control Register Settings in External Event Counter Mode
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0/1
0
Clears and starts on match between TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 as compare register
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with the external event counter.
See Figures 6-2 and 6-3.
124
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-22. External Event Counter Configuration Diagram
16-bit timer capture/compare
register 00 (CR00)
Match
fX
Selector
fX/22
fX/26
fX/23
INTTM00
Clear
16-bit timer counter 0 (TM0)
OVF0
Noise eliminator
Valid edge of TI00
Noise eliminator
16-bit timer capture/compare
register 01 (CR01)
Internal bus
Figure 6-23. External Event Counter Operation Timings (with Rising Edge Specified)
TI00 pin input
TM0 count value
0000H 0001H 0002H 0003H 0004H 0005H
N–1
N
0000H 0001H 0002H 0003H
N
CR00
INTTM00
Caution
When reading the external event counter count value, TM0 should be read.
6.4.5 Square-wave output operation
A square wave with any selected frequency to be output at intervals of the count value preset to the 16-bit timer
capture/compare register 00 (CR00) operates.
The TO0 pin output status is reversed at intervals of the count value preset to CR00 by setting bit 0 (TOE0) and
bit 1 (TOC01) of the 16-bit timer output control register 0 (TOC0) to 1. This enables a square wave with any selected
frequency to be output.
Preliminary User’s Manual U16035EJ1V0UM
125
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-24. Control Register Settings in Square-Wave Output Mode
(a) 16-bit timer mode control register 0 (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0/1
0
Clears and starts on match between TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 as compare register
(c) 16-bit timer output control register 0 (TOC0)
TOC04 LVS0 LVR0 TOC01 TOE0
TOC0
0
0
0
0
0/1
0/1
1
1
Enables TO0 output
Reverses output on match between TM0 and CR00
Specifies initial value of TO0 output F/F
Does not reverse output on match between TM0 and CR01
Remark 0/1: Setting 0 or 1 allows another function to be used simultaneously with square-wave output. See
Figures 6-2, 6-3, and 6-4.
126
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
Figure 6-25. Square-Wave Output Operation Timing
Count clock
TM0 count value
CR00
0000H 0001H 0002H
N–1
N
0000H 0001H 0002H
N–1
N
0000H
N
INTTM00
TO0 pin output
Preliminary User’s Manual U16035EJ1V0UM
127
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
6.5 Cautions for 16-Bit Timer/Event Counter 0
(1) Timer start errors
An error with a maximum of one clock may occur concerning the time required for a match signal to be generated
after timer start. This is because the 16-bit timer counter 0 (TM0) is started asynchronously with the count clock.
Figure 6-26. 16-Bit Timer Counter 0 (TM0) Start Timing
Count clock
0000H
TM0 count value
0001H
0002H
0003H
0004H
Timer start
(2) 16-bit timer compare register setting (in clear & start mode on match between TM0 and CR00)
Set other than 0000H to 16-bit timer capture/compare registers 00, 01 (CR00, CR01). This means 1-pulse count
operation cannot be performed when it is used as the event counter.
(3) Operation after compare register change during timer count operation
If the value after the 16-bit timer capture/compare register 00 (CR00) is changed is smaller than that of 16-bit
timer counter 0 (TM0), TM0 continues counting, overflows and then restarts counting from 0. Thus, if the value
(M) after CR00 is changed is smaller than the value (N) before it was changed, it is necessary to reset and restart
the timer after changing CR00.
Figure 6-27. Timings After Change of Compare Register During Timer Count Operation
Count clock
N
CR00
TM0 count value
X–1
M
X
FFFFH
Remark N > X > M
128
Preliminary User’s Manual U16035EJ1V0UM
0000H
0001H
0002H
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(4) Capture register data retention timings
If the valid edge of the TI00/TO0/P70 pin is input during 16-bit timer capture/compare register 01 (CR01) read,
CR01 carries out capture operation but the capture value at this time is not guaranteed. However, the interrupt
request flag (TMIF01) is set upon detection of the valid edge.
Figure 6-28. Capture Register Data Retention Timing
Count clock
TM0 count value
N
N+1
N+2
M
M+1
M+2
Edge input
Interrupt request flag
Capture read signal
CR01 interrupt value
X
N+1
Capture operation
Captured but not
guaranteed
(5) Valid edge setting
Set the valid edge of the TI00/TO0/P70 pin after setting bits 2 and 3 (TMC02 and TMC03) of the 16-bit timer
mode control register 0 (TMC0) to 0, 0, respectively, and then stopping timer operation. Valid edge is set with
bits 4 and 5 (ES00 and ES01) of the prescaler mode register 0 (PRM0).
Preliminary User’s Manual U16035EJ1V0UM
129
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(6) Operation of OVF0 flag
<1> OFV0 flag is set to 1 in the following case.
Either the clear & start mode on match between TM0 and CR00 or the free-running mode that clears and
starts at the valid edge of TIn is selected.
↓
CR00 is set to FFFFH.
↓
When TM0 is counted up from FFFFH to 0000H.
Figure 6-29. Operation Timing of OVF0 Flag
Count clock
CR00
TM0
FFFFH
FFFEH
FFFFH
0000H
0001H
OVF0
INTTM00
<2> Even if the OVF0 flag is cleared before the next count clock (before TM0 becomes 0001H) after the
occurrence of TM0 overflow, the OVF0 flag is reset newly and clear is disabled.
(7) Contending operations
<1> The contending operation between the read time of 16-bit timer capture/compare register (CR00/CR01)
and capture trigger input (CR00/CR01 used as capture register)
Capture trigger input is prior to the other. The data read from CR00/CR01 is not defined.
<2> The match timing of contending operation between the write period of 16-bit timer capture/compare register
(CR00/CR01) and 16-bit timer counter 0 (TM0) (CR00/CR01 used as a compare register)
The match discrimination is not performed normally. Do not write any data to CR00/CR01 near the match
timing.
(8) Timer operation
<1> Even if the 16-bit timer counter 0 (TM0) is read, the value is not captured by 16-bit timer capture/compare
register 01 (CR01).
<2> Regardless of the CPU’s operation mode, when the timer stops, the input signals to pins TI00/TI01 are
not acknowledged.
130
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 6
16-BIT TIMER/EVENT COUNTER 0
(9) Capture operation
<1> If TI00 is specified as the valid edge of the count clock, capture operation by the capture register specified
as the trigger for TI00 is not possible.
<2> If both the rising and falling edges are selected as the valid edges of TI00, capture is not performed.
<3> To ensure the reliability of the capture operation, the capture trigger requires a pulse two times longer than
the count clock selected by prescaler mode register 0 (PRM0).
<4> The capture operation is performed at the fall of the count clock. An interrupt request input (INTTM0n),
however, is generated at the rise of the next count clock.
(10) Compare operation
<1> When the 16-bit timer capture/compare register (CR00/CR01) is overwritten during timer operation, match
interrupt may be generated or clear operation may not be performed normally if that value is close to the
timer value and larger than the timer value.
<2> Capture operation may not be performed for CR00/CR01 set in compare mode even if a capture trigger
has been input.
(11) Edge detection
<1> If the TI00 pin or the TI01 pin is high level immediately after system reset and rising edge or both the rising
and falling edges are specified as the valid edge for the TI00 pin or TI01 pin to enable the 16-bit timer counter
0 (TM0) operation, a rising edge is detected immediately after. Be careful when pulling up the TI00 pin or
the TI01 pin. However, the rising edge is not detected at restart after the operation has been stopped once.
<2> The sampling clock used to eliminate noise differs when a TI00 valid edge is used as count clock and when
it is used as a capture trigger. In the former case, the count clock is fX/23, and in the latter case the count
clock is selected by prescaler mode register 0 (PRM0). When a valid edge is detected twice by sampling,
the capture operation is started, therefore noise with short pulse widths can be eliminated.
Preliminary User’s Manual U16035EJ1V0UM
131
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.1 Functions of 8-Bit Timer/Event Counters 50 and 51
8-bit timer/event counters 50 and 51 (TM50, TM51) have the following two modes.
• Mode using 8-bit timer/event counters alone (single mode)
• Mode using the cascade connection (16-bit resolution: cascade connection mode)
These two modes are described next.
(1) Mode using 8-bit timer/event counters alone (single mode)
The timer operates as an 8-bit timer/event counter.
It has the following functions.
• Interval timer
• External event counter
• Square wave output
• PWM output
(2) Mode using the cascade connection (16-bit resolution: cascade connection mode)
The timer operates as a 16-bit timer/event counter by connecting in cascade.
It has the following functions.
• Interval timer with 16-bit resolution
• External event counter with 16-bit resolution
• Square wave output with 16-bit resolution
Figures 7-1 and 7-2 show 8-bit timer/event counter block diagrams.
132
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-1. Block Diagram of 8-Bit Timer/Event Counter 50
Internal bus
Selector
S
Q
INV
8-bit timer
OVF
counter 50 (TM50)
R
INTTM50
Selector
Match
Selector
TI50/TO50/P72
fX
fX/22
fX/24
fX/26
fX/28
fX/210
Mask circuit
8-bit timer compare
register 50 (CR50)
TO50/TI50/P72
Clear
S
3
Invert
level
R
Selector
TCE50 TMC506 TMC504 LVS50 LVR50 TMC501 TOE50
TCL502 TCL501 TCL500
Timer clock select
register 50 (TCL50)
8-bit timer mode control
register 50 (TMC50)
Internal bus
Figure 7-2. Block Diagram of 8-Bit Timer/Event Counter 51
Internal bus
8-bit timer
counter 51
(TM51)
Selector
S
Q
INV
OVF
R
INTTM51
Selector
Match
Selector
TI51/TO51/P73
fX/2
fX/23
fX/25
fX/27
fX/29
fX/211
Mask circuit
8-bit timer
compare register
51 (CR51)
TO51/TI51/P73
Clear
S
3
R
Selector
TCL512 TCL511 TCL510
Timer clock select
register 51 (TCL51)
Invert
level
TCE51 TMC516 TMC514 LVS51 LVR51 TMC511 TOE51
8-bit timer mode control
register 51 (TMC51)
Internal bus
Preliminary User’s Manual U16035EJ1V0UM
133
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.2 Configurations of 8-Bit Timer/Event Counters 50 and 51
8-bit timer/event counters 50 and 51 consist of the following hardware.
Table 7-1. Configuration of 8-Bit Timer/Event Counters 50 and 51
Item
Configuration
Timer register
8-bit timer counter 5n (TM5n)
Register
8-bit timer compare register 5n (CR5n)
Timer output
2 (TO5n)
Control registers
Timer clock select register 5n (TCL5n)
8-bit timer mode control register 5n (TMC5n)
Port mode register 7 (PM7)Note
Note See Figure 4-11 Block Diagram of P70 to P73.
Remark n = 0, 1
(1) 8-bit timer counter 5n (TM5n: n = 0, 1)
TM5n is an 8-bit read-only register which counts the count pulses.
The counter is incremented in synchronization with the rising edge of a count clock.
TM50 and TM51 can be connected in cascade and used as a 16-bit timer.
When TM50 and TM51 can be connected in cascade and used as a 16-bit timer, they can be read by a 16-bit
memory operation instruction. However, since they are connected by an internal 8-bit bus, TM50 and TM51 are
read separately in two times. Thus, take read during count change into consideration and compare them in two
times reading. When count value is read during operation, count clock input is temporary stopped, and then the
count value is read. In the following situations, count value is set to 00H.
<1> RESET input
<2> When TCE5n is cleared
<3> When TM5n and CR5n match in clear & start mode on match between TM5n and CR5n.
Caution
In cascade connection mode, the count value is reset to 00H when the lowest timer TCE5n
is cleared.
Remark n = 0, 1
(2) 8-bit timer compare register 5n (CR5n: n = 0, 1)
The value set in CR5n is constantly compared with the 8-bit timer counter (TM5n) count value, and an interrupt
request (INTTM5n) is generated if they match (except PWM mode).
It is possible to rewrite the value of CR5n within 00H to FFH during count operation.
When TM50 and TM51 can be connected in cascade and used as a 16-bit timer, CR50 and CR51 operate as
the 16-bit compare register. It compares count value with register value, and if the values are matched, an interrupt
request (INTTM50) is generated. INTTM51 interrupt request is also generated at this time. Thus, when TM50
and TM51 are used as cascade connection, mask INTTM51 interrupt request.
Caution
When changing the set value of 8-bit compare register 5n (CR5n) in cascade connection mode,
change the value after stopping the timer operation of cascade-connected 8-bit timer counter
5n (TM5n).
Remark n = 0, 1
134
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.3 Registers to Control 8-Bit Timer/Event Counters 50 and 51
The following three types of registers are used to control 8-bit timer/event counters 50 and 51.
• Timer clock select register 5n (TCL5n)
• 8-bit timer mode control register 5n (TMC5n)
• Port mode register 7 (PM7)
n = 0, 1
(1) Timer clock select register 5n (TCL5n: n = 0, 1)
This register sets count clocks of 8-bit timer/event counter 5n and the valid edge of TI50, TI51 input.
TCL5n is set by an 8-bit memory manipulation instruction.
RESET input sets TCL5n to 00H.
Figure 7-3. Format of Timer Clock Select Register 50 (TCL50)
Address: FF71H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
TCL50
0
0
0
0
0
TCL502
TCL501
TCL500
TCL502
TCL501
TCL500
0
0
0
TI50 falling edge
0
0
1
TI50 rising edge
0
1
0
fX (8.38 MHz)
0
1
1
fX/22 (2.09 MHz)
1
0
0
fX/24 (523 kHz)
1
0
1
fX/26 (131 kHz)
1
1
0
fX/28 (32.7 kHz)
1
1
1
fX/210 (8.18 kHz)
Count clock selection
Cautions 1. When rewriting TCL50 to other data, stop the timer operation beforehand.
2. Be sure to set bits 3 to 7 to 0.
Remarks 1. When cascade connection is used, only the settings of TCL502 to TCL00 are valid.
2. fX: Main system clock oscillation frequency
3. Figures in parentheses are for operation with fX = 8.38 MHz
Preliminary User’s Manual U16035EJ1V0UM
135
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-4. Format of Timer Clock Select Register 51 (TCL51)
Address: FF79H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
TCL51
0
0
0
0
0
TCL512
TCL511
TCL510
TCL512
TCL511
TCL510
0
0
0
TI51 falling edge
0
0
1
TI51 rising edge
0
1
0
fX/2 (4.19 MHz)
0
1
1
fX/23 (1.04 MHz)
1
0
0
fX/25 (261 kHz)
1
0
1
fX/27 (65.4 kHz)
1
1
0
fX/29 (16.3 kHz)
1
1
1
fX/211 (4.09 kHz)
Count clock selection
Cautions 1. When rewriting TCL51 to other data, stop the timer operation beforehand.
2. Be sure to set bits 3 to 7 to 0.
Remarks 1. When cascade connection is used, the settings of TCL5n0 to TCL5n2 (n = 0, 1) are valid only for
the lowermost timer.
2. fX: Main system clock oscillation frequency
3. Figures in parentheses are for operation with fX = 8.38 MHz
(2) 8-bit timer mode control register 5n (TMC5n: n = 0, 1)
TMC5n is a register which sets up the following six types.
<1> 8-bit timer counter 5n (TM5n) count operation control
<2> 8-bit timer counter 5n (TM5n) operating mode selection
<3> Single mode/cascade connection mode selection
<4> Timer output F/F (flip flop) status setting
<5> Active level selection in timer F/F control or PWM (free-running) mode
<6> Timer output control
TMC5n is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TMC5n to 00H.
Figure 7-5 shows the TMC5n format.
136
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-5. Format of 8-Bit Timer Mode Control Register 5n (TMC5n)
Address: FF70H (TMC50)
FF78H (TMC51)
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
TMC5n
TCE5n
TMC5n6
0
TMC5n4
LVS5n
LVR5n
TMC5n1
TOE5n
TCE5n
TM5n count operation control
0
After clearing to 0, count operation disabled (prescaler disabled)
1
Count operation start
TMC5n6
TM5n operating mode selection
0
Clear and start mode by matching between TM5n and CR5n
1
PWM (free-running) mode
TMC5n4
Single mode/cascade connection mode selection
0
Single mode (use the lowest timer)
1
Cascade connection mode (connect to lower timer)
LVS5n
LVR5n
0
0
No change
0
1
Timer output F/F reset (0)
1
0
Timer output F/F set (1)
1
1
Setting prohibited
TMC5n1
Timer output F/F status setting
In other modes (TMC5n6 = 0)
In PWM mode (TMC5n6 = 1)
Timer F/F control
Active level selection
0
Inversion operation disabled
Active high
1
Inversion operation enabled
Active low
TOE5n
Timer output control
0
Output disabled (port mode)
1
Output enabled
Preliminary User’s Manual U16035EJ1V0UM
137
CHAPTER 7
Caution
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Before clearing TCE5n to 0, set the interrupt mask flag (TMMK5n) to 1. This is because an
interrupt may occur after TCE5n has been cleared.
Clear TCE5n to 0 using the following procedure.
TMMK5n = 1
; Mask set
TCE5n = 0
; Timer clear
TMIF5n = 0
; Interrupt request flag clear
TMMK5n = 0
.
.
.
TCE5n = 1
.
.
.
; Mask clear
; Timer start
Remarks 1. In PWM mode, PWM output will be inactive because of TCE5n = 0.
2. If LVS5n and LVR5n are read after data is set, 0 is read.
3. n = 0, 1
138
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
(3) Port mode register 7 (PM7)
This register sets port 7 input/output in 1-bit units.
When using the P72/TO50/TI50 and P73/TI51/TO51 pins for timer output, set PM72, PM73, and output latches
of P72 and P73 to 0.
PM7 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM7 to FFH.
Figure 7-6. Format of Port Mode Register 7 (PM7)
Address: FF27H
After reset: FFH
R/W
Symbol
7
6
5
4
3
2
1
0
PM7
1
1
PM75
PM74
PM73
PM72
PM71
PM70
PM7n
P7n pin I/O mode selection (n = 0 to 5)
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
Preliminary User’s Manual U16035EJ1V0UM
139
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.4 Operations of 8-Bit Timer/Event Counters 50 and 51
7.4.1 Interval timer (8-bit) operation
The 8-bit timer/event counters operate as interval timers which generate interrupt requests repeatedly at intervals
of the count value preset to 8-bit timer compare register 5n (CR5n).
When the count values of the 8-bit timer counter 5n (TM5n) match the values set to CR5n, counting continues with
the TM5n values cleared to 0 and the interrupt request signals (INTTM5n) are generated.
The count clock of the TM5n can be selected with bits 0 to 2 (TCL5n0 to TCL5n2) of the timer clock select register
5n (TCL5n).
See 7.5 Cautions for 8-Bit Timer/Event Counters 50 and 51 (2) about the operation when the compare register
value is changed during timer count operation.
[Setting]
<1> Set the registers.
• TCL5n: Select count clock
• CR5n:
Compare value
• TMC5n: Clear and start mode by match of TM5n and CR5n
(TMC5n = 0000×××0B × = don’t care)
<2> After TCE5n = 1 is set, count operation starts.
<3> If the values of TM5n and CR5n match, INTTM5n is generated (TM5n is cleared to 00H).
<4> INTTM5n generates repeatedly at the same interval. Set TCE5n to 0 to stop count operation.
Remark n = 0, 1
140
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-7. Interval Timer Operation Timings (1/3)
(a) Basic operation
t
Count clock
TM5n count value
00H
01H
N
Start count
CR5n
00H
01H
Clear
N
N
00H
01H
N
Clear
N
N
N
TCE5n
INTTM5n
Interrupt request
acknowledged
Interrupt request
acknowledged
TO5n
Interval time
Interval time
Interval time
Remarks 1. Interval time = (N + 1) × t
N = 00H to FFH
2. n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
141
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-7. Interval Timer Operation Timings (2/3)
(b) When CR5n = 00H
t
Count clock
TM5 00H
CR5n
00H
00H
00H
00H
TCE5n
INTTM5n
TO5n
Interval time
(c) When CR5n = FFH
t
Count clock
TM5n
CR5n
01
FF
FE
FF
00
FE
FF
FF
00
FF
TCE5n
INTTM5n
Interrupt request acknowledged
TO5n
Interval time
n = 0, 1
142
Preliminary User’s Manual U16035EJ1V0UM
Interrupt request
acknowledged
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-7. Interval Timer Operation Timings (3/3)
(d) Operated by CR5n transition (M < N)
Count clock
TM5 N 00H
CR5n
M
N
FFH
00H
N
M
00H
M
TCE5n H
INTTM5n
TO5n
CR5n transition
TM5n overflows since M < N
(e) Operated by CR5n transition (M > N)
Count clock
TM5
CR5n
N–1
N
00H
01H
N
N
M–1
M
00H
01H
M
TCE5n H
INTTM5n
TO5n
CR5n transition
n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
143
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.4.2 External event counter operation
The external event counter counts the number of external clock pulses to be input to the TI5n by the 8-bit timer
counter 5n (TM5n).
TM5n is incremented each time the valid edge specified with the timer clock select register 5n (TCL5n) is input.
Either the rising or falling edge can be selected.
When the TM5n counted values match the values of 8-bit timer compare register 5n (CR5n), TM5n is cleared to
0 and the interrupt request signal (INTTM5n) is generated.
Whenever the TM5n counted value matches the value of CR5n, INTTM5n is generated.
Remark n = 0, 1
Figure 7-8. External Event Counter Operation Timing (with Rising Edge Specified)
TI5n
TM5n count value
00
01
02
03
04
05
N–1
CR5n
00
N
INTTM5n
N = 00H to FFH
n = 0, 1
144
N
Preliminary User’s Manual U16035EJ1V0UM
01
02
03
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.4.3 Square-wave output (8-bit resolution) operation
A square wave with any selected frequency is output at intervals of the value preset to the 8-bit timer compare
register 5n (CR5n).
TO5n pin output status is reversed at intervals of the count value preset to CR5n by setting bit 0 (TOE5n) of 8bit timer mode control register 5n (TMC5n) to 1. This enables a square wave with any selected frequency to be output
(duty = 50%).
[Setting]
<1> Set each register.
• Set port latch and port mode register to 0
• TCL5n: Select count clock
• CR5n:
Compare value
• TMC5n: Clear and start mode by match of TM5n and CR5n
LVS5n
LVR5n
Timer Output F/F Status Setting
1
0
High-level output
0
1
Low-level output
Timer output F/F reverse enable
Timer output enable → TOE5n = 1
<2> After TCE5n = 1 is set, count operation starts.
<3> Timer output F/F is reversed by match of TM5n and CR5n. After INTTM5n is generated, TM5n is cleared
to 00H.
<4> Timer output F/F is reversed at the same interval and square wave is output from TO5n.
Remark n = 0, 1
Figure 7-9. Square-Wave Output Operation Timing
Count clock
TMn count value
00H
01H
02H
N–1
N
00H
01H
02H
N–1
N
00H
Count start
CR5n
N
TO5nNote
Note TO5n output initial value can be set by bits 2 and 3 (LVR5n, LVS5n) of the 8-bit timer mode control register
5n (TMC5n).
Remark n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
145
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.4.4 8-bit PWM output operation
8-bit timer/event counter operates as PWM output when bit 6 (TMC5n6) of 8-bit timer mode control register 5n
(TMC5n) is set to 1.
The duty rate pulse determined by the value set to 8-bit timer compare register 5n (CR5n) is output from TO5n.
Set the active level width of PWM pulse to CR5n, and the active level can be selected with bit 1 of TMC5n (TMC5n1).
Count clock can be selected with bits 0 to 2 (TCL5n0 to TCL5n2) of timer clock select register 5n (TCL5n).
Enable/disable for PWM output can be selected with bit 0 of TMC5n (TOE5n).
Caution Rewrite of CR5n in PWM mode is allowed only once in a cycle.
Remark n = 0, 1
(1) PWM output basic operation
[Setting]
<1> Set port latch (P72, P73) and port mode register 7 (PM72, PM73) to 0.
<2> Set active level width with 8-bit timer compare register (CR5n).
<3> Select count clock with timer clock select register 5n (TCL5n).
<4> Set active level with bit 1 of TMC5n (TMC5n1).
<5> Count operation starts when bit 7 of TMC5n (TCE5n) is set to 1.
Set TCE5n to 0 to stop count operation.
[PWM output operation]
<1> PWM output (output from TO5n) outputs inactive level after count operation starts until overflow is
generated.
<2> When overflow is generated, the active level set in <1> of setting is output.
The active level is output until CR5n matches the count value of 8-bit timer counter 5n (TM5n).
<3> After the CR5n matches the count value, PWM output outputs the inactive level again until overflow is
generated.
<4> Operations <2> and <3> are repeated until the count operation stops.
<5> When the count operation is stopped with TCE5n = 0, PWM output comes to inactive level.
Remark n = 0, 1
146
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-10. PWM Output Operation Timing
(a) Basic operation (active level = H)
Count clock
TM5n
00H 01H
CR5n
N
FFH 00H 01H 02H
N N+1
FFH 00H 01H 02H
M
00H
TCE5n
INTTM5n
TO5n
Active level
Inactive level
Active level
(b) CR5n = 0
Count clock
TM5n
00H 01H
CR5n
00H
FFH 00H 01H 02H
N N+1 N+2
FFH 00H 01H 02H
M 00H
TCE5n
INTTM5n
TO5n L
Inactive level
Inactive level
(c) CR5n = FFH
TM5n
00H 01H
CR5n
FFH
FFH 00H 01H 02H
N N+1 N+2
FFH 00H 01H 02H
M 00H
TCE5n
INTTM5n
TO5n
Inactive level
Active level
Active level
Inactive level
Inactive level
n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
147
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
(2) Operated by CR5n transition
Figure 7-11. Timing of Operation by CR5n Transition
(a) CR5n value transits from N to M before overflow of TM5n
Count clock
TM5n
N N+1 N+2
CR5n
N
TCE5n
INTTM5n
FFH 00H 01H 02H
M M+1 M+2
FFH 00H 01H 02H
M M+1 M+2
M
H
TO5n
CR5n transition (N → M)
(b) CR5n value transits from N to M after overflow of TM5n
Count clock
TM5n
N
CR5n
TCE5n
INTTM5n
N+1 N+2
N
FFH 00H 01H 02H 03H
N
N+1 N+2
FFH 00H 01H 02H
N
M M+1 M+2
M
H
TO5n
CR5n transition (N → M)
(c) CR5n value transits from N to M between two clocks (00H and 01H) after overflow of TM5n
Count clock
TM5n
N
CR5n
TCE5n
INTTM5n
N+1 N+2
FFH 00H 01H 02H
N
N
N
N+1 N+2
FFH 00H 01H 02H
H
TO5n
CR5n transition (N → M)
n = 0, 1
148
Preliminary User’s Manual U16035EJ1V0UM
M
M M+1 M+2
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
7.4.5 Interval timer (16-bit) operation
When “1” is set in bit 4 (TMC514) of 8-bit timer mode control register 51 (TMC51), the 16-bit resolution timer/counter
mode is entered.
The 8-bit timer/event counter operates as an interval timer which generates interrupt requests repeatedly at
intervals of the count value preset to the 8-bit timer compare registers (CR50, CR51).
[Setting]
<1> Set each register.
TCL50:
Select count clock in TM50.
CR50, CR51:
Compare value (each value can be set at 00H to FFH)
Cascade-connected TM51 need not be selected.
TMC50, TMC51: Select the clear & start mode by match of TM50 and CR50 (TM51 and CR51).
TM50 → TMC50 = 0000×××0B ×: don’t care
TM51 → TMC51 = 0001×××0B ×: don’t care
<2> When TMC51 is set to TCE51 = 1 and then, TMC50 is set to TCE50 = 1, count operation starts.
<3> When the values of TM50 and CR50 of cascade-connected timer match, INTTM50 of TM50 is generated
(TM50 and TM51 are cleared to 00H).
<4> INTTM50 generates repeatedly at the same interval.
Cautions 1. Stop timer operation without fail before setting compare register (CR50, CR51).
2. INTTM51 of TM51 is generated when TM51 count value matches CR51, even if cascade
connection is used. Ensure to mask TM51 to disable interrupt.
3. Set TCE50 and TCE51 in a sequential order of TM51 and TM50.
4. Count restart/stop can only be controlled by setting TCE50 of TM50 to 1/0.
Figure 7-12 shows an example of 16-bit resolution cascade connection mode timing.
Preliminary User’s Manual U16035EJ1V0UM
149
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
Figure 7-12. 16-Bit Resolution Cascade Connection Mode
Count clock
TM50
00H
TM51
00H
01H
N N+1
FFH 00H
FFH 00H
01H
02H
FFH 00H 01H
M–1 M
N 00H 01H
A 00H
00H
B 00H
N
CR50
CR51
M
TCE50
TCE51
INTTM50
Interval time
TO50
Interrupt request
generation
Level reverse
Counter clear
Operation enable
Count start
Operation
stop
7.5 Cautions for 8-Bit Timer/Event Counters 50 and 51
(1) Timer start errors
An error with the maximum of one clock may occur concerning the time required for a match signal to be generated
after timer start. This is because the 8-bit timer counter 5n (TM5n) is started asynchronously with the count pulse.
Figure 7-13. 8-Bit Timer Counter Start Timing
Count pulse
TM5n count value
00H
01H
02H
Timer start
n = 0, 1
150
Preliminary User’s Manual U16035EJ1V0UM
03H
04H
CHAPTER 7
8-BIT TIMER/EVENT COUNTERS 50 AND 51
(2) Operation after compare register change during timer count operation
If the value after the 8-bit timer compare register 5n (CR5n) is changed is smaller than the value of 8-bit timer
counter 5n (TM5n), TM5n continues counting, overflows and then restarts counting from 0. Thus, if the value
(M) after CR5n is changed is smaller than the value (N) before it was changed, it is necessary to restart the timer
after changing CR5n.
Figure 7-14. Timing After Change of Compare Register During Timer Count Operation
Count pulse
CR5n
TM5 count value
Caution
N
X–1
M
X
FFH
00H
01H
02H
Except when the TI5n input is selected, always set TCE5n = 0 before setting the stop state.
Remarks 1. N > X > M
2. n = 0, 1
(3) TM5n (n = 0, 1) reading during timer operation
When reading TM5n during operation, select count clock having high/low level waveform longer than two cycles
of CPU clock because count clock stops temporary. For example, in the case where CPU clock (fCPU) is fX, when
the selected count clock is fX/4 or below, it can be read.
Remark n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
151
CHAPTER 8
WATCH TIMER
8.1 Functions of Watch Timer
The watch timer has the following functions.
• Watch timer
• Interval timer
The watch timer and the interval timer can be used simultaneously.
Figure 8-1 shows the watch timer block diagram.
Figure 8-1. Block Diagram of Watch Timer
fX/2
5-bit counter
9-bit prescaler
fW
fW
24
fW
25
fW
26
fW
27
fW
28
fW
29
WTM7 WTM6 WTM5 WTM4 WTM1 WTM0
Watch timer operation
mode register (WTM)
Internal bus
152
INTWT
Clear
Selector
fXT
Selector
Clear
7
Preliminary User’s Manual U16035EJ1V0UM
INTWTI
CHAPTER 8
WATCH TIMER
(1) Watch timer
When the main system clock or subsystem clock is used, interrupt requests (INTWT) are generated at 214/fW
second intervals.
Remark fW: Watch timer clock frequency (fX/27 or fXT)
fX: Main system clock oscillation frequency
fXT: Subsystem clock oscillation frequency
(2) Interval timer
Interrupt requests (INTWTI) are generated at the preset time interval.
Table 8-1. Interval Timer Interval Time
When Operated at
fX = 8.38 MHz
Interval Time
When Operated at
fX = 4.19 MHz
When Operated at
fXT = 32.768 kHz
211 × 1/fX
24 × 1/fXT
244 µs
489 µs
488 µs
212 × 1/fX
25 × 1/fXT
489 µs
978 µs
977 µs
213 × 1/fX
26 × 1/fXT
978 µs
1.96 ms
1.95 ms
214 × 1/fX
27 × 1/fXT
1.96 ms
3.91 ms
3.91 ms
× 1/fXT
3.91 ms
7.82 ms
7.81 ms
× 1/fXT
7.82 ms
15.6 ms
15.6 ms
215
× 1/fX
28
216
× 1/fX
29
Remark fX: Main system clock oscillation frequency
fXT: Subsystem clock oscillation frequency
8.2 Configuration of Watch Timer
The watch timer consists of the following hardware.
Table 8-2. Configuration of Watch Timer
Item
Configuration
Counter
5 bits × 1
Prescaler
9 bits × 1
Control register
Watch timer operation mode register (WTM)
Preliminary User’s Manual U16035EJ1V0UM
153
CHAPTER 8
WATCH TIMER
8.3 Register to Control Watch Timer
Watch timer operation mode register (WTM) is a register to control watch timer.
• Watch timer operation mode register (WTM)
This register sets the watch timer count clock, enables/disables operation, prescaler interval time, and 5-bit
counter operation control.
WTM is set by an 8-bit memory manipulation instruction.
RESET input sets WTM to 00H.
Figure 8-2. Format of Watch Timer Operation Mode Register (WTM)
Address: FF41H
Symbol
WTM
After reset: 00H
R/W
7
6
5
4
3
2
1
0
WTM7
WTM6
WTM5
WTM4
0
0
WTM1
WTM0
WTM7
Watch timer count clock selection
0
fX/27 (65.4 kHz)
1
fXT (32.768 kHz)
WTM6
WTM5
WTM4
Prescaler interval time selection
0
0
0
24/fW
0
0
1
25/fW
0
1
0
26/fW
0
1
1
27/fW
1
0
0
28/fW
1
0
1
29/fW
Other than above
Setting prohibited
WTM1
5-bit counter operation control
0
Clear after operation stop
1
Start
WTM0
Watch timer operation enable
0
Operation stop (clear both prescaler and timer)
1
Operation enable
Caution Do not change the count clock and interval time (by setting bits 4 to 7 (WTM4 to WTM7) of WTM)
during watch timer operation.
Remarks 1. fW: Watch timer clock frequency (fX/27 or fXT)
2. fX: Main system clock oscillation frequency
3. fXT: Subsystem clock oscillation frequency
4. Figures in parentheses apply to operation with fX = 8.38 MHz, fXT = 32.768 kHz.
154
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 8
WATCH TIMER
8.4 Operations of Watch Timer
8.4.1 Watch timer operation
The watch timer generates an interrupt request (INTWT) at a specific time interval (214/fW seconds) by using the
main system clock or subsystem clock.
The interrupt request is generated at the following time interval.
• If main system clock (8.38 MHz) is selected: 0.25 seconds
• If subsystem clock (32.768 kHz) is selected: 0.5 seconds
The watch timer generates an interrupt request (INTWT) at a specific time interval.
When bit 0 (WTM0) and bit 1 (WTM1) of the watch timer operation mode register (WTM) are set to 1, the count
operation starts. When these bits are set to 0, the 5-bit counter is cleared and the count operation stops.
When the interval timer is simultaneously operated, zero-second start can be achieved only for the watch timer
by setting WTM1 to 0. In this case, however, the 9-bit prescaler is not cleared. Therefore, an error up to 29 × 1/fW
seconds occurs in the first overflow (INTWT) after zero-second start.
Remark fX: Main system clock oscillation frequency
fXT: Subsystem clock oscillation frequency
fW: Watch timer clock frequency (fX/27 or fXT)
8.4.2 Interval timer operation
The watch timer operates as interval timer which generates interrupt requests (INTWTI) repeatedly at an interval
of the preset count value.
The interval time can be selected with bits 4 to 6 (WTM4 to WTM6) of the watch timer operation mode register
(WTM).
Table 8-3. Interval Timer Interval Time
When Operated at
fX = 4.19 MHz
When Operated at
fXT = 32.768 kHz
WTM5
WTM4
0
0
0
24 × 1/fW
244 µs
489 µs
488 µs
0
0
1
25 × 1/fW
489 µs
978 µs
977 µs
0
1
0
26 × 1/fW
978 µs
1.96 ms
1.95 ms
0
1
1
27 × 1/fW
1.96 ms
3.91 ms
3.91 ms
1
0
0
28 × 1/fW
3.91 ms
7.82 ms
7.81 ms
1
29
× 1/fW
7.82 ms
15.6 ms
15.6 ms
1
0
Other than above
Interval Time
When Operated at
fX = 8.38 MHz
WTM6
Setting prohibited
Remark fX: Main system clock oscillation frequency
fXT: Subsystem clock oscillation frequency
fW: Watch timer clock frequency (fX/27 or fXT)
Preliminary User’s Manual U16035EJ1V0UM
155
CHAPTER 8
WATCH TIMER
Figure 8-3. Operation Timing of Watch Timer/Interval Timer
5-bit counter
0H
Overflow
Start
Overflow
Count clock
fW/29
Watch timer
interrupt INTWT
Interrupt time of watch timer (0.5 s) Interrupt time of watch timer (0.5 s)
Interval timer
interrupt INTWTI
Interval time
(T)
T
nxT
nxT
Caution When operation of the watch timer and 5-bit counter is enabled by the watch timer mode control
register (WTM) (by setting bits 0 (WTM0) and 1 (WTM1) of WTM to 1), the interval until the first
interrupt request (INTWT) is generated after the register is set does not exactly match the
specification made with bit 3 (WTM3) of WTM. This is because there is a delay of one 9-bit
prescaler output cycle until the 5-bit counter starts counting. Subsequently, however, the INTWT
signal is generated at the specified intervals.
Remark fW: Watch timer clock frequency
n: The number of times of interval timer operations
Figures in parentheses are for operation with fW = 32.768 kHz
156
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 9
WATCHDOG TIMER
9.1 Functions of Watchdog Timer
The watchdog timer has the following functions.
• Watchdog timer
• Interval timer
• Oscillation stabilization time selection
Caution
Select the watchdog timer mode or the interval timer mode with the watchdog timer mode
register (WDTM) (The watchdog timer and the interval timer cannot be used simultaneously).
Figure 9-1 shows a block diagram of the watchdog timer.
Figure 9-1. Block Diagram of Watchdog Timer
fX
fX/28
Clock
input
controller
Divider
Divided
clock
selection
circuit
Output
controller
INTWDT
RESET
RUN
Division mode
selection circuit
3
WDT mode signal
OSTS2 OSTS1 OSTS0
Oscillation stabilization
time select register
(OSTS)
WDCS2 WDCS1 WDCS0
Watchdog timer
clock select
register (WDCS)
RUN WDTM4 WDTM3
Watchdog timer
mode register
(WDTM)
Internal bus
Preliminary User’s Manual U16035EJ1V0UM
157
CHAPTER 9
WATCHDOG TIMER
(1) Watchdog timer mode
A program loop is detected. Upon detection of the program loop, a non-maskable interrupt request or RESET
can be generated.
Table 9-1. Watchdog Timer Program Loop Detection Time
Program Loop Detection Time
212 × 1/fX (489 µs)
213 × 1/fX (978 µs)
214 × 1/fX (1.96 ms)
215 × 1/fX (3.91 ms)
216 × 1/fX (7.82 ms)
217 × 1/fX (15.6 ms)
218 × 1/fX (31.3 ms)
220 × 1/fX (125 ms)
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz
(2) Interval timer mode
Interrupt requests are generated at the preset time intervals.
Table 9-2. Interval Time
Interval Time
212
× 1/fX (489 µs)
213
× 1/fX (978 µs)
214
× 1/fX (1.96 ms)
215
× 1/fX (3.91 ms)
216
× 1/fX (7.82 ms)
217 × 1/fX (15.6 ms)
218 × 1/fX (31.3 ms)
220 × 1/fX (125 ms)
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz
158
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 9
WATCHDOG TIMER
9.2 Configuration of Watchdog Timer
The watchdog timer consists of the following hardware.
Table 9-3. Configuration of Watchdog Timer
Item
Control registers
Configuration
Watchdog timer clock select register (WDCS)
Watchdog timer mode register (WDTM)
Oscillation stabilization time select register (OSTS)
9.3 Registers to Control Watchdog Timer
The following three types of registers are used to control the watchdog timer.
• Watchdog timer clock select register (WDCS)
• Watchdog timer mode register (WDTM)
• Oscillation stabilization time select register (OSTS)
Preliminary User’s Manual U16035EJ1V0UM
159
CHAPTER 9
WATCHDOG TIMER
(1) Watchdog timer clock select register (WDCS)
This register sets overflow time of the watchdog timer and the interval timer.
WDCS is set by an 8-bit memory manipulation instruction.
RESET input sets WDCS to 00H.
Figure 9-2. Format of Watchdog Timer Clock Select Register (WDCS)
Address: FF42H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
WDCS
0
0
0
0
0
WDCS2
WDCS1
WDCS0
WDCS2
WDCS1
WDCS0
0
0
0
0
0
0
1
1
Overflow time of watchdog timer/interval timer
0
212/fX
(489 µs)
1
213/fX
(978 µs)
0
214/fX
(1.96 ms)
1
215/fX
(3.91 ms)
(7.82 ms)
1
0
0
216/fX
1
0
1
217/fX (15.6 ms)
1
1
0
218/fX (31.3 ms)
1
1
1
220/fX (125 ms)
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz
160
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 9
WATCHDOG TIMER
(2) Watchdog timer mode register (WDTM)
This register sets the watchdog timer operating mode and enables/disables counting.
WDTM is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets WDTM to 00H.
Figure 9-3. Format of Watchdog Timer Mode Register (WDTM)
Address: FFF9H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
WDTM
RUN
0
0
WDTM4
WDTM3
0
0
0
Watchdog timer operation mode selectionNote 1
RUN
0
Count stop
1
Counter is cleared and counting starts
Watchdog timer operation mode selectionNote 2
WDTM4
WDTM3
0
×
Interval timer modeNote 3
(Maskable interrupt request occurs upon generation of an overflow)
1
0
Watchdog timer mode 1
(Non-maskable interrupt request occurs upon generation of an overflow)
1
1
Watchdog timer mode 2
(Reset operation is activated upon generation of an overflow)
Notes 1. Once set to 1, RUN cannot be cleared to 0 by software.
Thus, once counting starts, it can only be stopped by RESET input.
2. Once set to 1, WDTM3 and WDTM4 cannot be cleared to 0 by software.
3. The watchdog timer starts operations as the interval timer when 1 is set to RUN.
Caution
When 1 is set to RUN so that the watchdog timer is cleared, the actual overflow time is up to
28/fX seconds shorter than the time set by watchdog timer clock select register (WDCS).
Remark ×: don’t care
Preliminary User’s Manual U16035EJ1V0UM
161
CHAPTER 9
WATCHDOG TIMER
(3) Oscillation stabilization time select register (OSTS)
A register to select oscillation stabilization time from reset time or STOP mode released time to the time when
oscillation is stabilized.
OSTS is set by an 8-bit memory manipulation instruction.
RESET input sets OSTS to 04H. Thus, when releasing the STOP mode by RESET input, the time required to
release is 217/fX.
Figure 9-4. Format of Oscillation Stabilization Time Select Register (OSTS)
Address: FFFAH
After reset: 04H
R/W
Symbol
7
6
5
4
3
2
1
0
OSTS
0
0
0
0
0
OSTS2
OSTS1
OSTS0
OSTS2
OSTS1
OSTS0
0
0
0
212/fX (488 µs)
0
0
1
214/fX (1.95 ms)
0
1
0
215/fX (3.91 ms)
0
1
1
216/fX (7.81 ms)
1
0
0
217/fX (15.6 ms)
Other than the above
Selection of oscillation stabilization time
Setting prohibited
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz
162
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 9
WATCHDOG TIMER
9.4 Watchdog Timer Operations
9.4.1 Watchdog timer operation
When bit 4 (WDTM4) of the watchdog timer mode register (WDTM) is set to 1, the watchdog timer is operated to
detect any program loops.
The program loop detection time interval is selected with bits 0 to 2 (WDCS0 to WDCS2) of the watchdog timer
clock select register (WDCS).
Watchdog timer starts by setting bit 7 (RUN) of WDTM to 1. After the watchdog timer is started, set RUN to 1 within
the set program loop time interval. The watchdog timer can be cleared and counting is started by setting RUN to
1. If RUN is not set to 1 and the program loop detection time is exceeded, system reset or a non-maskable interrupt
request is generated according to WDTM bit 3 (WDTM3) value.
The watchdog timer continues operating in the HALT mode but it stops in the STOP mode. Thus, set RUN to 1
before the STOP mode is set, clear the watchdog timer and then execute the STOP instruction.
Cautions 1. The actual program loop detection time may be shorter than the set time by a maximum of
28/fX seconds.
2. When the subsystem clock is selected for CPU clock, watchdog timer count operation is
stopped.
Table 9-4. Watchdog Timer Program Loop Detection Time
Program Loop Detection Time
212 × 1/fX (489 µs)
213 × 1/fX (978 µs)
214 × 1/fX (1.96 ms)
215 × 1/fX (3.91 ms)
216 × 1/fX (7.82 ms)
217 × 1/fX (15.6 ms)
218 × 1/fX (31.3 ms)
220 × 1/fX (125 ms)
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz.
Preliminary User’s Manual U16035EJ1V0UM
163
CHAPTER 9
WATCHDOG TIMER
9.4.2 Interval timer operation
The watchdog timer operates as an interval timer which generates interrupt requests repeatedly at an interval of
the preset count value when bit 4 (WDTM4) of the watchdog timer mode register (WDTM) is set to 0.
The interval time of interval timer is selected with bits 0 to 2 (WDCS0 to WDCS2) of the watchdog timer clock select
register (WDCS). When 1 is set to bit 7 (RUN) of WDTM, the watchdog timer operates as the interval timer.
When the watchdog timer operated as the interval timer, the interrupt mask flag (WDTMK) and priority specify flag
(WDTPR) are validated and the maskable interrupt request (INTWDT) can be generated. Among maskable interrupts,
INTWDT has the highest priority at default.
The interval timer continues operating in the HALT mode but it stops in STOP mode. Thus, set RUN to 1 before
the STOP mode is set, clear the interval timer and then execute the STOP instruction.
Cautions 1. Once bit 4 (WDTM4) of WDTM is set to 1 (this selects the watchdog timer mode), the interval
timer mode is not set unless RESET input is applied.
2. The interval time just after setting by WDTM may be shorter than the set time by a maximum
of 28/fX seconds.
3. When the subsystem clock is selected for CPU clock, watchdog timer count operation is
stopped.
Table 9-5. Interval Timer Interval Time
Interval Time
212
× 1/fX (489 µs)
213
× 1/fX (978 µs)
214
× 1/fX (1.96 ms)
215
× 1/fX (3.91 ms)
216
× 1/fX (7.82 ms)
217
× 1/fX (15.6 ms)
218 × 1/fX (31.3 ms)
220 × 1/fX (125 ms)
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz.
164
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 10
CLOCK OUTPUT/BUZZER OUTPUT CONTROLLER
10.1 Functions of Clock Output/Buzzer Output Controller
The clock output controller is intended for carrier output during remote controlled transmission and clock output
for supply to peripheral LSIs. The clock selected with the clock output select register (CKS) is output.
In addition, the buzzer output is intended for square wave output of buzzer frequency selected with CKS.
Figure 10-1 shows the block diagram of clock output/buzzer output controller.
Prescaler
fX
10
4 fX/2
8
13
to fX/2
Selector
Figure 10-1. Block Diagram of Clock Output/Buzzer Output Controller
BUZ/P75
BCS0, BCS1
BZOE
Selector
fX to fX/27
fXT
Clock
controller
PCL/P74
CLOE
BZOE
BCS1
BCS0
CLOE
CCS3
CCS2
CCS1
CCS0
Clock output select register (CKS)
Internal bus
Preliminary User’s Manual U16035EJ1V0UM
165
CHAPTER 10
CLOCK OUTPUT/BUZZER OUTPUT CONTROLLER
10.2 Configuration of Clock Output/Buzzer Output Controller
The clock output/buzzer output controller consists of the following hardware.
Table 10-1. Configuration of Clock Output/Buzzer Output Controller
Item
Configuration
Control registers
Clock output select register (CKS)
Port mode register (PM7)Note
Note See Figure 4-12 Block Diagram of P74 and P75.
10.3 Registers to Control Clock Output/Buzzer Output Controller
The following two types of registers are used to control the clock output/buzzer output controller.
• Clock output select register (CKS)
• Port mode register (PM7)
(1) Clock output select register (CKS)
This register sets output enable/disable for clock output (PCL) and for the buzzer frequency output (BUZ), and
sets the output clock.
CKS is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CKS to 00H.
166
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 10
CLOCK OUTPUT/BUZZER OUTPUT CONTROLLER
Figure 10-2. Format of Clock Output Select Register (CKS)
Address: FF40H After reset: 00H R/W
Symbol
CKS
7
6
5
4
3
2
1
0
BZOE
BCS1
BCS0
CLOE
CCS3
CCS2
CCS1
CCS0
BZOE
BUZ output enable/disable specification
0
Stop clock division circuit operation. BUZ fixed to low level.
1
Enable clock division circuit operation. BUZ output enabled.
BCS1
0
0
1
1
BCS0
BUZ output clock selection
0
fX/210
(8.18 kHz)
1
fX/211
(4.09 kHz)
0
fX/212
(2.04 kHz)
1
fX/213
(1.02 kHz)
CLOE
PCL output enable/disable specification
0
Stop clock division circuit operation. PCL fixed to low level.
1
Enable clock division circuit operation. PCL output enabled.
CCS3
CCS2
CCS1
CCS0
0
0
0
0
fX (8.38 MHz)
0
0
0
1
fX/2 (4.19 MHz)
0
0
1
0
fX/22 (2.09 MHz)
0
0
1
1
fX/23 (1.04 MHz)
0
1
0
0
fX/24 (524 kHz)
0
1
0
1
fX/25 (262 kHz)
0
1
1
0
fX/26 (131 kHz)
0
1
1
1
fX/27 (65.5 kHz)
1
0
0
0
fXT (32.768 kHz)
Other than above
PCL output clock selection
Setting prohibited
Remarks 1. fX: Main system clock oscillation frequency
2. fXT: Subsystem clock oscillation frequency
3. Figures in parentheses are for operation with fX = 8.38 MHz or fXT = 32.768 kHz.
Preliminary User’s Manual U16035EJ1V0UM
167
CHAPTER 10
CLOCK OUTPUT/BUZZER OUTPUT CONTROLLER
(2) Port mode register (PM7)
This register sets port 7 input/output in 1-bit units.
When using the P74/PCL pin for clock output and the P75/BUZ pin for buzzer output, set PM74, PM75 and the
output latch of P74, P75 to 0.
PM7 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM7 to FFH.
Figure 10-3. Format of Port Mode Register 7 (PM7)
Address: FF27H
R/W
Symbol
7
6
5
4
3
2
1
0
PM7
1
1
PM75
PM74
PM73
PM72
PM71
PM70
PM7n
168
After reset: FFH
P7n pin I/O mode selection (n = 0 to 5)
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 10
CLOCK OUTPUT/BUZZER OUTPUT CONTROLLER
10.4 Operations of Clock Output/Buzzer Output Controller
10.4.1 Operation as clock output
The clock pulse is output as the following procedure.
<1> Select the clock pulse output frequency with bits 0 to 3 (CCS0 to CCS3) of the clock output select register
(CKS) (clock pulse output in disabled status).
<2> Set bit 4 (CLOE) of CKS to 1 to enable clock output.
Remark The clock output controller is designed not to output pulses with a small width during output enable/
disable switching of the clock output. As shown in Figure 10-4, be sure to start output from the low period
of the clock (marked with * in the figure). When stopping output, do so after securing high level of the
clock.
Figure 10-4. Remote Control Output Application Example
CLOE
*
*
Clock output
10.4.2 Operation as buzzer output
The buzzer frequency is output as the following procedure.
<1> Select the buzzer output frequency with bits 5 and 6 (BCS0, BCS1) of the clock output select register (CKS)
(buzzer output in disabled status).
<2> Set bit 7 (BZOE) of CKS to 1 to enable buzzer output.
Preliminary User’s Manual U16035EJ1V0UM
169
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.1 Functions of A/D Converter
A/D converter is an 8-bit resolution converter that converts analog inputs into digital values. It can control up to
4 analog input channels (ANI0 to ANI3).
(1) Hardware start
Conversion is started by trigger input (ADTRG: rising edge, falling edge, or both rising and falling edges can be
specified).
(2) Software start
Conversion is started by setting the A/D converter mode register 0 (ADM0).
Select one channel for analog input from ANI0 to ANI3 to perform A/D conversion. In the case of hardware start,
A/D conversion stops when an A/D conversion operation ends and an interrupt request (INTAD0) is generated. In
the case of software start, A/D conversion is repeated. Each time an A/D conversion operation ends, an interrupt
request (INTAD0) is generated.
Caution Although the µPD78F0034BS incorporate a 10-bit A/D converter, this converter can be operated
as an 8-bit A/D converter by using the device file DF780024.
170
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
Figure 11-1. Block Diagram of 8-Bit A/D Converter
Series resistor string
ANI0/P10
AVDD
ANI1/P11
ANI2/P12
Voltage comparator
ANI3/P13
Successive
approximation
register (SAR)
Edge
detector
ADTRG/INTP3/P03
Controller
AVREF
Tap selector
Selector
Sample & hold circuit
AVSS
INTAD0
INTP3
3
Edge
detector
A/D conversion result
register 0 (ADCR0)
Note
Trigger enable
ADS02 ADS01 ADS00 ADSC0 TRG0 FR02 FR01 FR00 EGA01 EGA00
Analog input channel
specification register 0 (ADS0)
A/D converter
mode register 0 (ADM0)
Internal bus
Note The valid edge is specified by bit 3 of the EGP and EGN registers (see Figure 11-4 Format of External
Interrupt Rising Edge Enable Register (EGP) and External Interrupt Falling Edge Enable Register
(EGN)).
Preliminary User’s Manual U16035EJ1V0UM
171
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.2 Configuration of A/D Converter
The A/D converter consists of the following hardware.
Table 11-1. Configuration of A/D Converter
Item
Configuration
Analog input
4 channels (ANI0 to ANI3)
Registers
Successive approximation register (SAR)
A/D conversion result register 0 (ADCR0)
Control registers
A/D converter mode register 0 (ADM0)
Analog input channel specification register 0 (ADS0)
External interrupt rising edge enable register (EGP)
External interrupt falling edge enable register (EGN)
(1) Successive approximation register (SAR)
This register compares the analog input voltage value to the voltage tap (compare voltage) value applied from
the series resistor string, and holds the result from the most significant bit (MSB).
When up to the least significant bit (LSB) is held (end of A/D conversion), the SAR contents are transferred to
the A/D conversion result register 0 (ADCR0).
(2) A/D conversion result register 0 (ADCR0)
The ADCR0 is an 8-bit register that stores the A/D conversion result. Each time A/D conversion ends, the
conversion result is loaded from the successive approximation register.
ADCR0 is read by an 8-bit memory manipulation instruction.
RESET input sets ADCR0 to 00H.
Caution
When writing is performed to the A/D converter mode register 0 (ADM0) and analog input
channel specification register 0 (ADS0), the contents of ADCR0 may become undefined. Read
the conversion result following conversion completion before writing to ADM0, ADS0. Using
a timing other than the above may cause an incorrect conversion result to be read.
(3) Sample & hold circuit
The sample & hold circuit samples each analog input signal sequentially applied from the input circuit, and sends
it to the voltage comparator. This circuit holds the sampled analog input voltage value during A/D conversion.
(4) Voltage comparator
The voltage comparator compares the analog input to the series resistor string output voltage.
(5) Series resistor string
The series resistor string is connected between AVREF and AVSS, and generates a voltage to be compared to
the analog input.
172
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(6) ANI0 to ANI3 pins
These are four analog input pins to input analog signals to undergo A/D conversion to the A/D converter. ANI0
to ANI3 are alternate-function pins that can also be used for digital input.
Cautions 1. Use ANI0 to ANI3 input voltages within the specification range. If a voltage higher than
AVREF or lower than AVSS is applied (even if within the absolute maximum rating range), the
conversion value of that channel will be undefined and the conversion values of other
channels may also be affected.
2. Analog input (ANI0 to ANI3) pins are alternate function pins that can also be used as input
port (P10 to P13) pins. When A/D conversion is performed by selecting any one of ANI0
to ANI3, do not execute any input instruction to port 1 during conversion. It may cause the
lower conversion resolution.
When a digital pulse is applied to a pin adjacent to the pin in the process of A/D conversion,
A/D conversion values may not be obtained as expected due to coupling noise. Thus, do
not apply any pulse to a pin adjacent to the pin in the process of A/D conversion.
(7) AVREF pin
This pin inputs the A/D converter reference voltage.
It converts signals input to ANI0 to ANI3 into digital signals according to the voltage applied between AVREF and
AVSS.
Caution
A series resistor string of several 10 kΩ is connected between the AVREF pin and AVSS pin.
Therefore, when the output impedance of the reference voltage is too high, it seems as if the
AVREF pin and the series resistor string are connected in series. This may cause a greater
reference voltage error.
(8) AVSS pin
This is the ground potential pin of the A/D converter. Always keep it at the same potential as the VSS0 or VSS1
pin even when not using the A/D converter.
(9) AVDD pin
This is the A/D converter analog power supply pin. Always keep it at the same potential as the VDD0 or VDD1 pin
even when not using the A/D converter.
Preliminary User’s Manual U16035EJ1V0UM
173
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.3 Registers to Control A/D Converter
The following 4 types of registers are used to control the A/D converter.
• A/D converter mode register 0 (ADM0)
• Analog input channel specification register 0 (ADS0)
• External interrupt rising edge enable register (EGP)
• External interrupt falling edge enable register (EGN)
(1) A/D converter mode register 0 (ADM0)
This register sets the conversion time for analog input to be A/D converted, conversion start/stop, and external
trigger.
ADM0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ADM0 to 00H.
174
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
Figure 11-2. Format of A/D Converter Mode Register 0 (ADM0)
Address: FF80H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
ADM0
ADCS0
TRG0
FR02
FR01
FR00
EGA01
EGA00
0
ADCS0
A/D conversion operation control
0
Stop conversion operation.
1
Enable conversion operation.
TRG0
Software start/hardware start selection
0
Software start
1
Hardware start
Conversion time selectionNote 1
FR02
FR01
FR00
0
0
0
144/fX (17.1 µs)
0
0
1
120/fX (14.3 µs)
0
1
0
96/fX (Setting prohibitedNote 2)
1
0
0
72/fX (Setting prohibitedNote 2)
1
0
1
60/fX (Setting prohibitedNote 2)
1
1
0
48/fX (Setting prohibitedNote 2)
Other than above
Setting prohibited
EGA01
EGA00
External trigger signal, edge specification
0
0
No edge detection
0
1
Falling edge detection
1
0
Rising edge detection
1
1
Both falling and rising edge detection
Notes 1. Set so that the A/D conversion time is 14 µs or more.
2. Setting prohibited because A/D conversion time is less than 14 µs.
Caution
When rewriting FR00 to FR02 to other than the same data, stop A/D conversion operations
once prior to performing rewrite.
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz.
Preliminary User’s Manual U16035EJ1V0UM
175
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(2) Analog input channel specification register 0 (ADS0)
This register specifies the analog voltage input port for A/D conversion.
ADS0 is set by an 8-bit memory manipulation instruction.
RESET input sets ADS0 to 00H.
Figure 11-3. Format of Analog Input Channel Specification Register 0 (ADS0)
Address: FF81H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
ADS0
0
0
0
0
0
0Note
ADS01
ADS00
ADS01
ADS00
0
0
ANI0
0
1
ANI1
1
0
ANI2
1
1
ANI3
Analog input channel specification
Note Be sure to set bit 2 to 0.
(3) External interrupt rising edge enable register (EGP), external interrupt falling edge enable register (EGN)
These registers specify the valid edge for INTP0 to INTP3.
EGP and EGN are set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets EGP and EGN to 00H.
Figure 11-4. Format of External Interrupt Rising Edge Enable Register (EGP) and
External Interrupt Falling Edge Enable Register (EGN)
Address: FF48H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
EGP
0
0
0
0
EGP3
EGP2
EGP1
EGP0
Address: FF49H After reset: 00H R/W
176
Symbol
7
6
5
4
3
2
1
0
EGN
0
0
0
0
EGN3
EGN2
EGN1
EGN0
EGPn
EGNn
0
0
Interrupt disabled
0
1
Falling edge
1
0
Rising edge
1
1
Both rising and falling edges
INTPn pin valid edge selection (n = 0 to 3)
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.4 Operations of A/D Converter
11.4.1 Basic operations of A/D converter
<1> Select one channel for A/D conversion with the analog input channel specification register 0 (ADS0).
<2> The voltage input to the selected analog input channel is sampled by the sample & hold circuit.
<3> 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 is ended.
<4> Bit 7 of the successive approximation register (SAR) is set. The series resistor string voltage tap is set to
(1/2) AVREF by the tap selector.
<5> The voltage difference between the series resistor string voltage tap and analog input is compared by the
voltage comparator. If the analog input is greater than (1/2) AVREF, the MSB of SAR remains set. If the analog
input is smaller than (1/2) AVREF, the MSB is reset.
<6> Next, bit 6 of SAR is automatically set, and the operation proceeds to the next comparison. The series resistor
string voltage tap is selected according to the preset value of bit 7, as described below.
• Bit 7 = 1: (3/4) AVREF
• Bit 7 = 0: (1/4) AVREF
The voltage tap and analog input voltage are compared and bit 6 of SAR is manipulated as follows.
• Analog input voltage ≥ Voltage tap: Bit 6 = 1
• Analog input voltage < Voltage tap: Bit 6 = 0
<7> Comparison is continued in this way up to bit 0 of SAR.
<8> Upon completion of the comparison of 8 bits, an effective digital result value remains in SAR, and the result
value is transferred to and latched in the A/D conversion result register 0 (ADCR0).
At the same time, the A/D conversion end interrupt request (INTAD0) can also be generated.
Caution The first A/D conversion value just after A/D conversion operations start may not fall within the
rating.
Preliminary User’s Manual U16035EJ1V0UM
177
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
Figure 11-5. Basic Operation of 8-Bit A/D Converter
Conversion time
Sampling time
A/D converter
operation
SAR
Sampling
Undefined
A/D conversion
80H
C0H
or
40H
Conversion
result
Conversion
result
ADCR0
INTAD0
A/D conversion operations are performed continuously until bit 7 (ADCS0) of the A/D converter mode register 0
(ADM0) is reset (0) by software.
If a write operation is performed to the ADM0 or the analog input channel specification register 0 (ADS0) during
an A/D conversion operation, the conversion operation is initialized, and if the ADCS0 bit is set (1), conversion starts
again from the beginning.
RESET input sets the A/D conversion result register 0 (ADCR0) to 0000H.
178
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.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 A/D
conversion result (stored in the A/D conversion result register 0 (ADCR0)) is shown by the following expression.
ADCR0 = INT (
VIN
AVREF
× 256 + 0.5)
or
(ADCR0 – 0.5) ×
where, INT( ):
AVREF
256
≤ VIN < (ADCR0 + 0.5) ×
AVREF
256
Function which returns integer part of value in parentheses
VIN:
Analog input voltage
AVREF:
AVREF pin voltage
ADCR0: A/D conversion result register 0 (ADCR0) value
Figure 11-6 shows the relationship between the analog input voltage and the A/D conversion result.
Figure 11-6. Relationship Between Analog Input Voltage and A/D Conversion Result
255
254
253
A/D conversion result
(ADCR0)
3
2
1
0
1
1
3
2
5
3
512 256 512 256 512 256
507 254 509 255 511
512 256 512 256 512
1
Input voltage/AVREF
Preliminary User’s Manual U16035EJ1V0UM
179
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.4.3 A/D converter operation mode
Select one analog input channel from among ANI0 to ANI3 by the analog input channel specification register 0
(ADS0) to start A/D conversion.
A/D conversion can be started in either of the following two ways.
• Hardware start: Conversion is started by trigger input (rising edge, falling edge, or both rising and falling edges
specified).
• Software start:
Conversion is started by specifying the A/D converter mode register 0 (ADM0).
The A/D conversion result is stored in the A/D conversion result register 0 (ADCR0), and the interrupt request signal
(INTAD0) is simultaneously generated.
(1) A/D conversion by hardware start
When bit 6 (TRG0) and bit 7 (ADCS0) of the A/D converter mode register 0 (ADM0) are set to 1, the A/D conversion
standby state is set. When the external trigger signal (ADTRG) is input, A/D conversion of the voltage applied
to the analog input pins specified by the analog input channel specification register 0 (ADS0) starts.
Upon the end of the A/D conversion, the conversion result is stored in the A/D conversion result register 0
(ADCR0), and the interrupt request signal (INTAD0) is generated. After one A/D conversion operation is started
and ended, the next conversion operation is not started until a new external trigger signal is input.
If ADS0 is rewritten during A/D conversion, the converter suspends A/D conversion and waits for a new external
trigger signal to be input. When the external trigger input signal is reinput, A/D conversion is carried out from
the beginning. If ADS0 is rewritten during A/D conversion waiting, A/D conversion starts when the following
external trigger input signal is input.
If data with ADCS0 set to 0 is written to ADM0 during A/D conversion, the A/D conversion operation stops
immediately.
Caution
When P03/INTP3/ADTRG is used as the external trigger input (ADTRG), specify the valid edge
by bits 1 and 2 (EGA00, EGA01) of the A/D converter mode register 0 (ADM0) and set the
interrupt mask flag (PMK3) to 1.
180
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
Figure 11-7. A/D Conversion by Hardware Start (When Falling Edge Is Specified)
ADTRG
ADM0 set
ADCS0 = 1, TRG0 = 1
A/D conversion
Standby
state
ADCR0
ANIn
ADS0 rewrite
ANIn
ANIn
Standby
state
ANIn
Standby
state
ANIn
ANIn
ANIm
ANIm
ANIm
ANIm
ANIm
INTAD0
Remarks 1. n = 0, 1, ......, 3
2. m = 0, 1, ......, 3
Preliminary User’s Manual U16035EJ1V0UM
181
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(2) A/D conversion by software start
When bit 6 (TRG0) and bit 7 (ADCS0) of the A/D converter mode register 0 (ADM0) are set to 0 and 1, respectively,
A/D conversion of the voltage applied to the analog input pin specified by the analog input channel specification
register 0 (ADS0) starts.
Upon the end of the A/D conversion, the conversion result is stored in the A/D conversion result register 0
(ADCR0), and the interrupt request signal (INTAD0) is generated. After one A/D conversion operation is started
and ended, the next conversion operation is immediately started. A/D conversion operations are repeated until
new data is written to ADS0.
If ADS0 is rewritten during A/D conversion, the converter suspends A/D conversion and A/D conversion of the
newly selected analog input channel is started.
If data with ADCS0 set to 0 is written to ADM0 during A/D conversion, the A/D conversion operation stops
immediately.
Figure 11-8. A/D Conversion by Software Start
ADM0 set
ADCS0 = 1, TRG0 = 0
A/D conversion
ANIn
ADS0 rewrite
ANIn
ANIn
ADCS0 = 0
ANIm
ANIm
Conversion suspended;
Conversion results are not stored
ADCR0
ANIn
ANIn
INTAD0
Remarks 1. n = 0, 1, ......, 3
2. m = 0, 1, ......, 3
182
Preliminary User’s Manual U16035EJ1V0UM
Stop
ANIm
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.5 How to Read A/D Converter Characteristics Table
Here we will explain the special terms unique to A/D converters.
(1) Resolution
This is the minimum analog input voltage that can be identified. That is, the percentage of the analog input voltage
per 1 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).
When the resolution is 8 bits,
1LSB = 1/28 = 1/256
= 0.4%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 offset, full scale offset, integral linearity error, differential linearity error and errors which are
combinations of these express overall error.
Furthermore, quantization error is not included in overall error in the characteristics table.
(3) Quantization error
When analog values are converted to digital values, there naturally occurs a ±1/2LSB error. In an A/D converter,
an analog input voltage in a range of ±1/2LSB are converted to the same digital code, so a quantization error
cannot be avoided.
Furthermore, it is not included in the overall error, zero scale offset, full scale offset, integral linearity error, and
differential linearity error in the characteristics table.
Figure 11-9. Overall Error
1……1
Figure 11-10. Quantization Error
1……1
Overall
error
Digital output
Digital output
Ideal line
1/2LSB
Quantization error
1/2LSB
0……0
AVDD
0
Analog input
0……0
AVDD
0
Analog input
Preliminary User’s Manual U16035EJ1V0UM
183
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(4) Zero scale offset
This shows the difference between the actual measured 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 measured value is
greater than the theoretical value, it shows the difference between the actual measured value of the analog input
voltage and the theoretical value (3/2LSB) when the digital output changes from 0……001 to 0……010.
(5) Full scale offset
This shows the difference between the actual measured 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 measured value and the ideal straight line
when the zero scale offset and full scale offset are 0.
(7) Differential linearity error
Although the ideal output width for a given code is 1LSB, this value shows the difference between the actual
measured value and the ideal value of the width when outputting a particular code.
Figure 11-11. Zero Scale Offset
Figure 11-12. Full Scale Offset
Digital output (lower 3 bits)
Digital output (lower 3 bits)
111
Ideal line
011
010
001
Zero scale offset
Full scale offset
111
110
101
Ideal line
000
000
AVDD–3 AVDD–2 AVDD–1
0
0
1
2
3
AVDD
AVDD
Analog input (LSB)
Analog input (LSB)
Figure 11-13. Integral Linearity Error
Figure 11-14. Differential Linearity Error
1......1
1……1
Ideal line
Digital output
Digital output
Ideal width of 1LSB
Differential
linearity error
Integral
linearity
error
0……0
0......0
0
AVDD
0
Analog input
184
Preliminary User’s Manual U16035EJ1V0UM
Analog input
AVDD
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(8) Conversion time
This expresses the time from when the analog input voltage was applied to the time when the digital output was
obtained.
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
Preliminary User’s Manual U16035EJ1V0UM
185
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
11.6 Cautions for A/D Converter
(1) Current consumption in standby mode
A/D converter stops operating in the standby mode. At this time, current consumption can be reduced by stopping
the conversion operation (by setting bit 7 (ADCS0) of the A/D converter mode register 0 (ADM0) to 0).
Figure 11-15 shows how to reduce the current consumption in the standby mode.
Figure 11-15. Example of Method of Reducing Current Consumption in Standby Mode
AVREF
ADCS0
P-ch
Series resistor string
AVSS
(2) Input range of ANI0 to ANI3
The input voltages of ANI0 to ANI3 should be within the specification range. In particular, if a voltage higher
than AVREF or lower than AVSS is input (even if within the absolute maximum rating range), the conversion value
of that channel will be undefined and the conversion values of other channels may also be affected.
(3) Contending operations
<1> Contention between A/D conversion result register 0 (ADCR0) write and ADCR0 read by instruction upon
the end of conversion
ADCR0 read is given priority. After the read operation, the new conversion result is written to ADCR0.
<2> Contention between ADCR0 write and external trigger signal input upon the end of conversion
The external trigger signal is not accepted during A/D conversion. Therefore, the external trigger signal
is not accepted during ADCR0 write.
<3> Contention between ADCR0 write and A/D converter mode register 0 (ADM0) write or analog input channel
specification register 0 (ADS0) write upon the end of conversion
ADM0 or ADS0 write is given priority. ADCR0 write is not performed, nor is the conversion end interrupt
request signal (INTAD0) generated.
186
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(4) Noise countermeasures
To maintain the 8-bit resolution, attention must be paid to noise input to pin AVREF and pins ANI0 to ANI3. 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 11-16 to reduce noise.
Figure 11-16. Analog Input Pin Connection
If there is a possibility that noise equal to or higher than AVREF or
equal to or lower than AVSS may enter, clamp with a diode with a
small VF value (0.3 V or lower).
Reference
voltage
input
AVREF
ANI0 to ANI3
C = 100 to 1000 pF
VDD0
AVDD
AVSS
VSS0
(5) ANI0 to ANI3
The analog input pins (ANI0 to ANI3) also function as input port pins (P10 to P13).
When A/D conversion is performed with any of pins ANI0 to ANI3 selected, do not execute an input instruction
to port 1 while conversion is in progress, as this may reduce the conversion resolution.
Also, if digital pulses are applied to a pin adjacent to the pin in the process of A/D conversion, the expected A/
D conversion value may not be obtainable due to coupling noise. Therefore, avoid applying pulses to pins
adjacent to the pin undergoing A/D conversion.
(6) AVREF pin input impedance
A series resistor string of several 10 kΩ is connected between the AVREF pin and the AVSS pin.
Therefore, when the output impedance of the reference voltage is too high, it seems as if the AVREF pin and the
series resistor string are connected in series. This may cause a greater reference voltage error.
Preliminary User’s Manual U16035EJ1V0UM
187
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(7) Interrupt request flag (ADIF0)
The interrupt request flag (ADIF0) is not cleared even if the analog input channel specification register 0 (ADS0)
is changed.
Therefore, if an analog input pin is changed during A/D conversion, the A/D conversion result and conversion
end interrupt request flag for the pre-change analog input may be set just before the ADS0 rewrite. Caution is
therefore required since, at this time, when ADIF0 is read immediately just after the ADS0 rewrite, ADIF0 is set
despite the fact that the A/D conversion for the post-change analog input has not ended.
When the A/D conversion is restarted after it is stopped, clear ADIF0 before restart.
Figure 11-17. A/D Conversion End Interrupt Request Generation Timing
ADM0 rewrite
(start of ANIn conversion)
A/D conversion
ANIn
ADCR0
ADS0 rewrite
(start of ANIm conversion)
ADIF is set but ANIm conversion
has not ended.
ANIn
ANIm
ANIn
ANIn
ANIm
ANIm
ANIm
INTAD0
Remarks 1. n = 0, 1, ......, 3
2. m = 0, 1, ......, 3
(8) Conversion results just after A/D conversion start
The first A/D conversion value just after A/D conversion operations start may not fall within the rating. Polling
A/D conversion end interrupt request (INTAD0) and take measures such as removing the first conversion results.
(9) A/D conversion result register 0 (ADCR0) read operation
When writing is performed to the A/D converter mode register 0 (ADM0) and analog input channel specification
register 0 (ADS0), the contents of ADCR0 may become undefined. Read the conversion result following
conversion completion before writing to ADM0, ADS0. Using a timing other than the above may cause an incorrect
conversion result to be read.
188
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(10) Timing at which A/D conversion result is undefined
The A/D conversion value may be undefined if the timing of completion of A/D conversion and the timing of
stopping the A/D conversion conflict with each other. Therefore, read the A/D conversion result during the A/
D conversion operation. To read the conversion result after stopping the A/D conversion operation, be sure to
stop the A/D conversion before the next conversion ends.
Figures 11-18 and 11-19 show the timing of reading the conversion result.
Figure 11-18. Timing of Reading Conversion Result (When Conversion Result Is Undefined)
A/D conversion completes
A/D conversion completes
Normal conversion result
ADCR0
Undefined value
INTAD0
ADCS0
Normal conversion result is read.
A/D conversion
is stopped.
Undefined value
is read.
Figure 11-19. Timing of Reading Conversion Result (When Conversion Result Is Normal)
A/D conversion completes
ADCR0
Normal conversion result
INTAD0
ADCS0
A/D conversion is stopped.
Normal conversion
result is read.
(11) Notes on board design
Locate analog circuits as far away from digital circuits as possible on the board because the analog circuits may
be affected by the noise of the digital circuits. In particular, do not cross an analog signal line with a digital signal
line, or wire an analog signal line in the vicinity of a digital signal line.
Otherwise, the A/D conversion
characteristics may be affected by the noise of the digital line.
Connect AVSS0 and VSS0 at one location on the board where the voltages are stable.
Preliminary User’s Manual U16035EJ1V0UM
189
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(12) AVDD pin
The AVDD pin is the analog circuit power supply pin. It supplies power to the input circuits of the ANI0 to ANI3
pins.
Therefore, be sure to apply the same potential as VDD0 to this pin even for applications designed to switch to
a backup battery for power supply.
Figure 11-20. AVDD Pin Connection
AVREF
VDD0
Main power supply
AVDD
Capacitor
for backup
VSS0
AVSS
(13) AVREF pin
Connect a capacitor to the AVREF pin to minimize conversion errors due to noise. If an A/D conversion operation
has been stopped and then is started, the voltage applied to the AVREF pin becomes unstable, causing the
accuracy of the A/D conversion to drop. To prevent this, also connect a capacitor to the AVREF pin.
Figure 11-21 shows an example of connecting a capacitor.
Figure 11-21. Example of Connecting Capacitor to AVREF Pin
AVREF
C1
C2
AVSS
Remark C1: 4.7 µF to 10 µF (reference value)
C2: 0.01 µF to 0.1 µF (reference value)
Connect C2 as close to the pin as possible.
190
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
(14) Internal equivalent circuit of ANI0 to ANI3 pins and permissible signal source impedance
To complete sampling within the sampling time with sufficient A/D conversion accuracy, the impedance of the
signal source such as a sensor must be sufficiently low. Figure 11-22 shows the internal equivalent circuit of
the ANI0 to ANI3 pins.
If the impedance of the signal source is high, connect capacitors with a high capacitance to the pins ANI0 to ANI3.
An example of this is shown in Figure 11-23. In this case, however, the microcontroller cannot follow an analog
signal with a high differential coefficient because a lowpass filter is created.
To convert a high-speed analog signal or to convert an analog signal in the scan mode, insert a low-impedance
buffer.
Figure 11-22. Internal Equivalent Circuit of Pins ANI0 to ANI3
R1
R2
ANIn
C1
C2
C3
Remark n = 0 to 3
Table 11-2. Resistance and Capacitance of Equivalent Circuit (Reference Values)
AVREF
R1
R2
C1
C2
C3
1.8 V
75 kΩ
30 kΩ
8 pF
4 pF
2 pF
2.7 V
12 kΩ
8 kΩ
8 pF
3 pF
2 pF
4.5 V
4 kΩ
2.7 kΩ
8 pF
1.4 pF
2 pF
Caution
The resistance and capacitance in Table 11-2 are not guaranteed values.
Preliminary User’s Manual U16035EJ1V0UM
191
CHAPTER 11
8-BIT A/D CONVERTER (µPD780024AS SUBSERIES)
Figure 11-23. Example of Connection If Signal Source Impedance Is High
<Sensor internal circuit>
<Microcontroller internal circuit>
Output impedance
of sensor
R1
ANIn
R2
R0
C1
C0 ≤ 0.1 µ F
C0
Lowpass filter
is created.
Remark n = 0 to 3
192
Preliminary User’s Manual U16035EJ1V0UM
C2
C3
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.1 Functions of A/D Converter
A/D converter is a 10-bit resolution converter that converts analog inputs into digital signals. It can control up to
4 analog input channels (ANI0 to ANI3).
(1) Hardware start
Conversion is started by trigger input (ADTRG: rising edge, falling edge, or both rising and falling edges can
be specified).
(2) Software start
Conversion is started by setting the A/D converter mode register 0 (ADM0).
Select one channel for analog input from ANI0 to ANI3 to start A/D conversion. In the case of hardware start, the
A/D converter stops when A/D conversion is completed, and an interrupt request (INTAD0) is generated. In the case
of software start, A/D conversion is repeated. Each time as A/D conversion operation ends, an interrupt request
(INTAD0) is generated.
Figure 12-1. Block Diagram of 10-Bit A/D Converter
Series resistor string
ANI0/P10
AVDD
ANI1/P11
ANI2/P12
Voltage comparator
ANI3/P13
Successive
approximation
register (SAR)
Edge
detector
ADTRG/INTP3/P03
Controller
AVREF
Tap selector
Selector
Sample & hold circuit
AVSS
INTAD0
INTP3
3
Edge
detector
A/D conversion result
register 0 (ADCR0)
Note
Trigger enable
ADS02 ADS01 ADS00 ADCS0 TRG0 FR02 FR01 FR00 EGA01 EGA00
Analog input channel
specification register 0 (ADS0)
A/D converter
mode register 0 (ADM0)
Internal bus
Note The valid edge is specified by bit 3 of the EGP and EGN registers (see Figure 12-4 Format of External
Interrupt Rising Edge Enable Register (EGP) and External Interrupt Falling Edge Enable Register
(EGN)).
Preliminary User’s Manual U16035EJ1V0UM
193
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.2 Configuration of A/D Converter
A/D converter consists of the following hardware.
Table 12-1. Configuration of A/D Converter
Item
Configuration
Analog input
4 channels (ANI0 to ANI3)
Registers
Successive approximation register (SAR)
A/D conversion result register 0 (ADCR0)
Control registers
A/D converter mode register 0 (ADM0)
Analog input channel specification register 0 (ADS0)
External interrupt rising edge enable register (EGP)
External interrupt falling edge enable register (EGN)
(1) Successive approximation register (SAR)
This register compares the analog input voltage value to the voltage tap (compare voltage) value applied from
the series resistor string, and holds the result from the most significant bit (MSB).
When up to the least significant bit (LSB) is hold (end of A/D conversion), the SAR contents are transferred to
the A/D conversion result register 0 (ADCR0).
(2) A/D conversion result register 0 (ADCR0)
The ADCR0 is a 16-bit register that stores the A/D conversion results. Lower 6 bits are fixed to 0. Each time
A/D conversion ends, the conversion result is loaded from the successive approximation register.
ADCR0 is read by a 16-bit memory manipulation instruction.
RESET input sets ADCR0 to 00H.
Caution
When writing is performed to the A/D converter mode register 0 (ADM0) and analog input
channel specification register 0 (ADS0), the contents of ADCR0 may become undefined. Read
the conversion result following conversion completion before writing to ADM0, ADS0. Using
a timing other than the above may cause an incorrect conversion result to be read.
(3) Sample & hold circuit
The sample & hold circuit samples each analog input signal sequentially applied from the input circuit, and sends
it to the voltage comparator. This circuit holds the sampled analog input voltage value during A/D conversion.
(4) Voltage comparator
The voltage comparator compares the analog input to the series resistor string output voltage.
(5) Series resistor string
The series resistor string is connected between AVREF and AVSS, and generates a voltage to be compared to
the analog input.
194
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(6) ANI0 to ANI3 pins
These are four analog input pins to input analog signals to undergo A/D conversion to the A/D converter. ANI0
to ANI3 are alternate-function pins that can also be used for digital input.
Cautions 1. Use ANI0 to ANI3 input voltages within the specification range. If a voltage higher than
AVREF or lower than AVSS is applied (even if within the absolute maximum rating range), the
conversion value of that channel will be undefined and the conversion values of other
channels may also be affected.
2. Analog input (ANI0 to ANI3) pins are alternate function pins that can also be used as input
port (P10 to P13) pins. When A/D conversion is performed by selecting any one of ANI0
to ANI3, do not execute any input instruction to port 1 during conversion. It may cause the
lower conversion resolution.
When a digital pulse is applied to a pin adjacent to the pin in the process of A/D conversion,
A/D conversion values may not be obtained as expected due to coupling noise. Thus, do
not apply any pulse to a pin adjacent to the pin in the process of A/D conversion.
(7) AVREF pin
This pin inputs the A/D converter reference voltage.
It converts signals input to ANI0 to ANI3 into digital signals according to the voltage applied between AVREF and
AVSS.
Caution
A series resistor string of several 10 kΩ is connected between the AVREF and AVSS pins.
Therefore, when output impedance of the reference voltage is too high, it seems as if the AVREF
pin and the series resistor string are connected in series. This may cause a greater reference
voltage error.
(8) AVSS pin
This is the ground potential pin of the A/D converter. Always keep it at the same potential as the VSS0 or VSS1
pin when not using the A/D converter.
(9) AVDD pin
This is the A/D converter analog power supply pin. Always keep it at the same potential as the VDD0 or VDD1 pin
even when not using the A/D converter.
12.3 Registers to Control A/D Converter
The following 4 types of registers are used to control the A/D converter.
• A/D converter mode register 0 (ADM0)
• Analog input channel specification register 0 (ADS0)
• External interrupt rising edge enable register (EGP)
• External interrupt falling edge enable register (EGN)
(1) A/D converter mode register 0 (ADM0)
This register sets the conversion time for analog input to be A/D converted, conversion start/stop, and external
trigger.
ADM0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ADM0 to 00H.
Preliminary User’s Manual U16035EJ1V0UM
195
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
Figure 12-2. Format of A/D Converter Mode Register 0 (ADM0)
Address: FF80H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
ADM0
ADCS0
TRG0
FR02
FR01
FR00
EGA01
EGA00
0
ADCS0
A/D conversion operation control
0
Stop conversion operation.
1
Enable conversion operation.
TRG0
Software start/hardware start selection
0
Software start
1
Hardware start
Conversion time selectionNote 1
FR02
FR01
FR00
0
0
0
144/fX (17.1 µs)
0
0
1
120/fX (14.3 µs)
0
1
0
96/fX (Setting prohibitedNote 2)
1
0
0
72/fX (Setting prohibitedNote 2)
1
0
1
60/fX (Setting prohibitedNote 2)
1
1
0
48/fX (Setting prohibitedNote 2)
Other than above
Setting prohibited
EGA01
EGA00
External trigger signal, edge specification
0
0
No edge detection
0
1
Falling edge detection
1
0
Rising edge detection
1
1
Both falling and rising edge detection
Notes 1. Set so that the A/D conversion time is 14 µs or more.
2. Setting prohibited because A/D conversion time is less than 14 µs.
Caution
When rewriting FR00 to FR02 to other than the same data, stop A/D conversion operations
once prior to performing rewrite.
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz.
196
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(2) Analog input channel specification register 0 (ADS0)
This register specifies the analog voltage input port for A/D conversion.
ADS0 is set by an 8-bit memory manipulation instruction.
RESET input sets ADS0 to 00H.
Figure 12-3. Format of Analog Input Channel Specification Register 0 (ADS0)
Address: FF81H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
ADS0
0
0
0
0
0
0Note
ADS01
ADS00
ADS01
ADS00
0
0
ANI0
0
1
ANI1
1
0
ANI2
1
1
ANI3
Analog input channel specification
Note Be sure to set bit 2 to 0.
(3) External interrupt rising edge enable register (EGP), external interrupt falling edge enable register (EGN)
These registers specify the valid edge for INTP0 to INTP3.
EGP and EGN are set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets EGP and EGN to 00H.
Figure 12-4. Format of External Interrupt Rising Edge Enable Register (EGP) and
External Interrupt Falling Edge Enable Register (EGN)
Address: FF48H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
EGP
0
0
0
0
EGP3
EGP2
EGP1
EGP0
Address: FF49H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
EGN
0
0
0
0
EGN3
EGN2
EGN1
EGN0
EGPn
EGNn
0
0
Interrupt disabled
0
1
Falling edge
1
0
Rising edge
1
1
Both rising and falling edges
INTPn pin valid edge selection (n = 0 to 3)
Preliminary User’s Manual U16035EJ1V0UM
197
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.4 Operations of A/D Converter
12.4.1 Basic operations of A/D converter
<1> Select one channel for A/D conversion with the analog input channel specification register 0 (ADS0).
<2> The voltage input to the selected analog input channel is sampled by the sample & hold circuit.
<3> 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 is ended.
<4> Bit 9 of the successive approximation register (SAR) is set. The series resistor string voltage tap is set to
(1/2) AVREF by the tap selector.
<5> The voltage difference between the series resistor string voltage tap and analog input is compared by the
voltage comparator. If the analog input is greater than (1/2) AVREF, the MSB of SAR remains set. If the analog
input is smaller than (1/2) AVREF, the MSB is reset.
<6> Next, bit 8 of SAR is automatically set, and the operation proceeds to the next comparison. The series resistor
string voltage tap is selected according to the preset value of bit 9, as described below.
• Bit 9 = 1: (3/4) AVREF
• Bit 9 = 0: (1/4) AVREF
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
<7> Comparison is continued in this way up to bit 0 of SAR.
<8> Upon completion of the comparison of 10 bits, an effective digital result value remains in SAR, and the result
value is transferred to and latched in the A/D conversion result register 0 (ADCR0).
At the same time, the A/D conversion end interrupt request (INTAD0) can also be generated.
Caution
The first A/D conversion value just after A/D conversion operations start may not fall within the
rating.
198
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
Figure 12-5. Basic Operation of 10-Bit A/D Converter
Conversion time
Sampling time
A/D converter
operation
Sampling
A/D conversion
Conversion
result
SAR Undefined
Conversion
result
ADCR0
INTAD0
A/D conversion operations are performed continuously until bit 7 (ADCS0) of the A/D converter mode register 0
(ADM0) is reset (0) by software.
If a write operation is performed to the ADM0 or the analog input channel specification register 0 (ADS0) during
an A/D conversion operation, the conversion operation is initialized, and if the ADCS0 bit is set (1), conversion starts
again from the beginning.
RESET input sets the A/D conversion result register 0 (ADCR0) to 0000H.
Preliminary User’s Manual U16035EJ1V0UM
199
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.4.2 Input voltage and conversion results
The relationship between the analog input voltage input to the analog input pins (ANI0 to ANI7) and the A/D
conversion result (stored in the A/D conversion result register 0 (ADCR0)) is shown by the following expression.
ADCR0 = INT (
VIN
AVREF
× 1024 + 0.5)
or
(ADCR0 – 0.5) ×
where, INT( ):
AVREF
1024
≤ VIN < (ADCR0 + 0.5) ×
AVREF
1024
Function which returns integer part of value in parentheses
VIN:
Analog input voltage
AVREF:
AVREF pin voltage
ADCR0: A/D conversion result register 0 (ADCR0) value
Figure 12-6 shows the relationship between the analog input voltage and the A/D conversion result.
Figure 12-6. Relationship Between Analog Input Voltage and A/D Conversion Result
1023
1022
1021
A/D conversion result
(ADCR0)
3
2
1
0
1
1
3
2
5
3
2048 1024204810242048 1024
2043 1022 2045 1023 2047 1
2048 1024 2048 1024 2048
Input voltage/AVREF
200
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.4.3 A/D converter operation mode
Select one analog input channel from among ANI0 to ANI3 by the analog input channel specification register 0
(ADS0) to start A/D conversion.
A/D conversion can be started in either of the following two ways.
• Hardware start: Conversion is started by trigger input (rising edge, falling edge, or both rising and falling edges
specified).
• Software start:
Conversion is started by specifying the A/D converter mode register 0 (ADM0).
The A/D conversion result is stored in the A/D conversion result register 0 (ADCR0), and the interrupt request signal
(INTAD0) is simultaneously generated.
(1) A/D conversion by hardware start
When bit 6 (TRG0) and bit 7 (ADCS0) of the A/D converter mode register 0 (ADM0) are set to 1, the A/D conversion
standby state is set. When the external trigger signal (ADTRG) is input, A/D conversion of the voltage applied
to the analog input pin specified by the analog input channel specification register 0 (ADS0) starts.
Upon the end of the A/D conversion, the conversion result is stored in the A/D conversion result register 0
(ADCR0), and the interrupt request signal (INTAD0) is generated. After one A/D conversion operation is started
and ended, the next conversion operation is not started until a new external trigger signal is input.
If ADS0 is rewritten during A/D conversion, the converter suspends A/D conversion and waits for a new external
trigger signal to be input. When the external trigger input signal is reinput, A/D conversion is carried out from
the beginning. If ADS0 is rewritten during A/D conversion waiting, A/D conversion starts when the following
external trigger input signal is input.
If data with ADCS0 set to 0 is written to ADM0 during A/D conversion, the A/D conversion operation stops
immediately.
Caution
When P03/INTP3/ADTRG is used as the external trigger input (ADTRG), specify the valid edge
by bits 1 and 2 (EGA00, EGA01) of the A/D converter mode register 0 (ADM0) and set the
interrupt mask flag (PMK3) to 1.
Figure 12-7. A/D Conversion by Hardware Start (When Falling Edge Is Specified)
ADTRG
ADM0 set
ADCS0 = 1, TRG0 = 1
A/D conversion
Standby state
ADCR0
ANIn
ADS0 rewrite
ANIn
ANIn
Standby
state
ANIn
Standby state
ANIn
ANIn
ANIm
ANIm
ANIm
ANIm
ANIm
INTAD0
Remarks 1. n = 0, 1, ......, 7
2. m = 0, 1, ......, 7
Preliminary User’s Manual U16035EJ1V0UM
201
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(2) A/D conversion by software start
When bit 6 (TRG0) and bit 7 (ADCS0) of the A/D converter mode register 0 (ADM0) are set to 0 and 1, respectively,
A/D conversion of the voltage applied to the analog input pin specified by the analog input channel specification
register 0 (ADS0) starts.
Upon the end of the A/D conversion, the conversion result is stored in the A/D conversion result register 0
(ADCR0), and the interrupt request signal (INTAD0) is generated. After one A/D conversion operation is started
and ended, the next conversion operation is immediately started. A/D conversion operations are repeated until
new data is written to ADS0.
If ADS0 is rewritten during A/D conversion, the converter suspends A/D conversion and A/D conversion of the
new selected analog input channel is started.
If data with ADCS0 set to 0 is written to ADM0 during A/D conversion, the A/D conversion operation stops
immediately.
Figure 12-8. A/D Conversion by Software Start
ADM0 set
ADCS0 = 1, TRG0 = 0
A/D conversion
ANIn
ADS0 rewrite
ANIn
ANIn
ADCS0 = 0
ANIm
ANIm
Conversion suspended;
Conversion results are not stored
ADCR0
ANIn
ANIn
INTAD0
Remarks 1. n = 0, 1, ......, 7
2. m = 0, 1, ......, 7
202
Preliminary User’s Manual U16035EJ1V0UM
Stop
ANIm
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.5 How to Read A/D Converter Characteristics Table
Here we will explain the special terms unique to A/D converters.
(1) Resolution
This is the minimum analog input voltage that can be identified. That is, the percentage of the analog input voltage
per 1 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).
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 offset, full scale offset, integral linearity error, differential linearity error and errors which are
combinations of these express overall error.
Furthermore, quantization error is not included in overall error in the characteristics table.
(3) Quantization error
When analog values are converted to digital values, there naturally occurs a ±1/2LSB error. In an A/D converter,
an analog input voltage in a range of ±1/2LSB are converted to the same digital code, so a quantization error
cannot be avoided.
Furthermore, it is not included in the overall error, zero scale offset, full scale offset, integral linearity error, and
differential linearity error in the characteristics table.
Figure 12-9. Overall Error
1……1
Figure 12-10. Quantization Error
1……1
Overall
error
Digital output
Digital output
Ideal line
1/2LSB
Quantization error
1/2LSB
0……0
AVDD
0
0……0
AVDD
0
Analog input
Analog input
Preliminary User’s Manual U16035EJ1V0UM
203
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(4) Zero scale offset
This shows the difference between the actual measured 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 measured value is
greater than the theoretical value, it shows the difference between the actual measured value of the analog input
voltage and the theoretical value (3/2LSB) when the digital output changes from 0……001 to 0……010.
(5) Full scale offset
This shows the difference between the actual measured 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 measured value and the ideal straight line
when the zero scale offset and full scale offset are 0.
(7) Differential linearity error
Although the ideal output width for a given code is 1LSB, this value shows the difference between the actual
measured value and the ideal value of the width when outputting a particular code.
Figure 12-11. Zero Scale Offset
Figure 12-12. Full Scale Offset
Ideal line
011
010
001
Zero scale offset
Digital output (lower 3 bits)
Digital output (lower 3 bits)
111
Full scale offset
111
110
101
Ideal line
000
000
AVDD–3 AVDD–2 AVDD–1
0
0
1
2
3
AVDD
AVDD
Analog input (LSB)
Analog input (LSB)
Figure 12-13. Integral Linearity Error
Figure 12-14. Differential Linearity Error
1......1
1……1
Ideal line
Digital output
Digital output
Ideal width of 1LSB
Differential
linearity error
Integral
linearity
error
0……0
AVDD
0
0......0
0
Analog input
204
Preliminary User’s Manual U16035EJ1V0UM
Analog input
AVDD
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(8) Conversion time
This expresses the time from when the analog input voltage was applied to the time when the digital output was
obtained.
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
Preliminary User’s Manual U16035EJ1V0UM
205
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
12.6 Cautions for A/D Converter
(1) Current consumption in standby mode
A/D converter stops operating in the standby mode. At this time, current consumption can be reduced by stopping
the conversion operation (by setting bit 7 (ADCS0) of the A/D converter mode register 0 (ADM0) to 0).
Figure 12-15 shows how to reduce the current consumption in the standby mode.
Figure 12-15. Example of Method of Reducing Current Consumption in Standby Mode
AVREF
ADCS0
P-ch
Series resistor string
AVSS
(2) Input range of ANI0 to ANI3
The input voltages of ANI0 to ANI3 should be within the specification range. In particular, if a voltage higher
than AVREF or lower than AVSS is input (even if within the absolute maximum rating range), the conversion value
of that channel will be undefined and the conversion values of other channels may also be affected.
(3) Contending operations
<1> Contention between A/D conversion result register 0 (ADCR0) write and ADCR0 read by instruction upon
the end of conversion
ADCR0 read is given priority. After the read operation, the new conversion result is written to ADCR0.
<2> Contention between ADCR0 write and external trigger signal input upon the end of conversion
The external trigger signal is not accepted during A/D conversion. Therefore, the external trigger signal
is not accepted during ADCR0 write.
<3> Contention between ADCR0 write and A/D converter mode register 0 (ADM0) write or analog input channel
specification register 0 (ADS0) write upon the end of conversion
ADM0 or ADS0 write is given priority. ADCR0 write is not performed, nor is the conversion end interrupt
request signal (INTAD0) generated.
206
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(4) Noise countermeasures
To maintain the 10-bit resolution, attention must be paid to noise input to pin AVREF and pins ANI0 to ANI3.
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 12-16 to reduce noise.
Figure 12-16. Analog Input Pin Connection
If there is a possibility that noise equal to or higher than AVREF or
equal to or lower than AVSS may enter, clamp with a diode with a
small VF value (0.3 V or lower).
Reference
voltage
input
AVREF
ANI0 to ANI3
C = 100 to 1000 pF
VDD0
AVDD
AVSS
VSS0
(5) ANI0 to ANI3
The analog input pins (ANI0 to ANI3) also function as port pins.
When A/D conversion is performed with any of pins ANI0 to ANI3 selected, do not execute an input instruction
to port 1 while conversion is in progress, as this may reduce the conversion resolution.
Also, if digital pulses are applied to a pin adjacent to the pin in the process of A/D conversion, the expected
A/D conversion value may not be obtainable due to coupling noise. Therefore, avoid applying pulses to pins
adjacent to the pin undergoing A/D conversion.
(6) AVREF pin input impedance
A series resistor string of several 10 kΩ is connected between the AVREF pin and the AVSS pin.
Therefore, when the output impedance of the reference voltage is too high, it seems as if the AVREF pin and the
series resistor string are connected in series. This may cause a greater reference voltage error.
(7) Interrupt request flag (ADIF0)
The interrupt request flag (ADIF0) is not cleared even if the analog input channel specification register 0 (ADS0)
is changed.
Therefore, if an analog input pin is changed during A/D conversion, the A/D conversion result and conversion
end interrupt request flag for the pre-change analog input may be set just before the ADS0 rewrite. Caution is
therefore required since, at this time, when ADIF0 is read immediately just after the ADS0 rewrite, ADIF0 is set
despite the fact that the A/D conversion for the post-change analog input has not ended.
When A/D conversion is restarted after it is stopped, clear ADIF0 before restart.
Preliminary User’s Manual U16035EJ1V0UM
207
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
Figure 12-17. A/D Conversion End Interrupt Request Generation Timing
ADM0 rewrite
(start of ANIn conversion)
A/D conversion
ANIn
ADCR0
ADS0 rewrite
(start of ANIm conversion)
ANIn
ANIn
ADIF is set but ANIm
conversion has not ended.
ANIm
ANIn
ANIm
ANIm
ANIm
INTAD0
Remarks 1. n = 0, 1, ......, 3
2. m = 0, 1, ......, 3
(8) Conversion results just after A/D conversion start
The first A/D conversion value just after A/D conversion operations start may not fall within the rating. Polling
A/D conversion end interrupt request (INTAD0) and take measures such as removing the first conversion results.
(9) A/D conversion result register 0 (ADCR0) read operation
When writing is performed to the A/D converter mode register 0 (ADM0) and analog input channel specification
register 0 (ADS0), the contents of ADCR0 may become undefined. Read the conversion result following
conversion completion before writing to ADM0, ADS0. Using a timing other than the above may cause an incorrect
conversion result to be read.
208
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(10) Timing at which A/D conversion result is undefined
The A/D conversion value may be undefined if the timing of completion of A/D conversion and the timing of
stopping the A/D conversion conflict with each other. Therefore, read the A/D conversion result during the A/
D conversion operation. To read the conversion result after stopping the A/D conversion operation, be sure to
stop the A/D conversion before the next conversion ends.
Figures 12-18 and 12-19 show the timing of reading the conversion result.
Figure 12-18. Timing of Reading Conversion Result (When Conversion Result Is Undefined)
A/D conversion completes
A/D conversion completes
Normal conversion result
ADCR0
Undefined value
INTAD0
ADCS0
Normal conversion result is read.
A/D conversion
is stopped.
Undefined value
is read.
Figure 12-19. Timing of Reading Conversion Result (When Conversion Result Is Normal)
A/D conversion completes
ADCR0
Normal conversion result
INTAD0
ADCS0
A/D conversion is stopped.
Normal conversion
result is read.
(11) Notes on board design
Locate analog circuits as far away from digital circuits as possible on the board because the analog circuits may
be affected by the noise of the digital circuits. In particular, do not cross an analog signal line with a digital signal
line, or wire an analog signal line in the vicinity of a digital signal line.
Otherwise, the A/D conversion
characteristics may be affected by the noise of the digital line.
Connect AVSS0 and VSS0 at one location on the board where the voltages are stable.
Preliminary User’s Manual U16035EJ1V0UM
209
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(12) AVDD pin
The AVDD pin is the analog circuit power supply pin. It supplies power to the input circuits of the ANI0 to ANI3
pins.
Therefore, be sure to apply the same potential as VDD0 to this pin even for applications designed to switch to a
backup battery for power supply.
Figure 12-20. AVDD Pin Connection
AVREF
VDD0
Main power supply
Capacitor
for backup
AVDD
VSS0
AVSS
(13) AVREF pin
Connect a capacitor to the AVREF pin to minimize conversion errors due to noise. If an A/D conversion operation
has been stopped and then is started, the voltage applied to the AVREF pin becomes unstable, causing the
accuracy of the A/D conversion to drop. To prevent this, also connect a capacitor to the AVREF pin.
Figure 12-21 shows an example of connecting a capacitor.
Figure 12-21. Example of Connecting Capacitor to AVREF Pin
AVREF
C1
C2
AVSS
Remark C1: 4.7 µF to 10 µF (reference value)
C2: 0.01 µF to 0.1 µF (reference value)
Connect C2 as close to the pin as possible.
210
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
(14) Internal equivalent circuit of ANI0 to ANI3 pins and permissible signal source impedance
To complete sampling within the sampling time with sufficient A/D conversion accuracy, the impedance of the
signal source such as a sensor must be sufficiently low. Figure 12-22 shows the internal equivalent circuit of
the ANI0 to ANI3 pins.
If the impedance of the signal source is high, connect capacitors with a high capacitance to the pins ANI0 to ANI3.
An example of this is shown in Figure 12-23. In this case, however, the microcontroller cannot follow an analog
signal with a high differential coefficient because a lowpass filter is created.
To convert a high-speed analog signal or to convert an analog signal in the scan mode, insert a low-impedance
buffer.
Figure 12-22. Internal Equivalent Circuit of Pins ANI0 to ANI3
R1
R2
ANIn
C1
Remark
C2
C3
n = 0 to 3
Table 12-2. Resistance and Capacitance of Equivalent Circuit (Reference Values)
AVREF
R1
R2
C1
C2
C3
1.8 V
75 kΩ
30 kΩ
8 pF
4 pF
2 pF
2.7 V
12 kΩ
8 kΩ
8 pF
3 pF
2 pF
4.5 V
4 kΩ
2.7 kΩ
8 pF
1.4 pF
2 pF
Caution
The resistance and capacitance in Table 12-2 are not guaranteed values.
Preliminary User’s Manual U16035EJ1V0UM
211
CHAPTER 12
10-BIT A/D CONVERTER (µPD780034AS SUBSERIES)
Figure 12-23. Example of Connection If Signal Source Impedance Is High
<Sensor internal circuit>
<Microcontroller internal circuit>
Output impedance
of sensor
R1
ANIn
R2
R0
C1
C0 ≤ 0.1 µ F
C0
Lowpass filter
is created.
Remark
212
n = 0 to 3
Preliminary User’s Manual U16035EJ1V0UM
C2
C3
CHAPTER 13
13.1
SERIAL INTERFACE (UART0)
Functions of Serial Interface
The serial interface (UART0) has the following three modes.
(1) Operation stop mode
This mode is used when serial transfers are not performed to reduce power consumption.
For details, see 13.4.1 Operation stop mode.
(2) Asynchronous serial interface (UART) mode
This mode enables full-duplex operation wherein one byte of data after the start bit is transmitted and received.
The on-chip baud rate generator dedicated to UART enables communications using a wide range of selectable
baud rates. In addition, a baud rate can also be defined by dividing clocks input to the ASCK0 pin.
The UART baud rate generator can also be used to generate a MIDI-standard baud rate (31.25 kbps).
For details, see 13.4.2 Asynchronous serial interface (UART) mode.
(3) Infrared data transfer mode
For details, see 13.4.3 Infrared data transfer mode.
Figure 13-1 shows a block diagram of the serial interface (UART0).
Preliminary User’s Manual U16035EJ1V0UM
213
CHAPTER 13
SERIAL INTERFACE (UART0)
Figure 13-1. Block Diagram of Serial Interface (UART0)
Internal bus
Asynchronous serial interface
mode register 0 (ASIM0)
Receive
buffer
register 0
(RXB0)
Asynchronous serial
interface status
register 0 (ASIS0)
Receive
shift
register 0
(RX0)
RxD0/P23
TXE0 RXE0 PS01 PS00 CL0
PE0 FE0 OVE0
SL0 ISRM0 IRDAM0
Transmit
shift
register 0
(TXS0)
TxD0/P24
Receive
controller
(parity
check)
INTSER0
INTSR0
Transmit
controller
(parity
addition)
INTST0
Baud rate
generatorNote
ASCK0/P25
fX/2 to fX/27
Note For the configuration of the baud rate generator, refer to Figure 13-2.
Figure 13-2. Block Diagram of Baud Rate Generator
Start bit
sampling clock
5-bit counter
Transmit clock
1/2
ASCK0/P25
Selector
TXE0
fX/2 to fX/27
Match
Decoder
Receive clock
1/2
Match
5-bit counter
3
RXE0
Start bit detection
4
TPS02 TPS01 TPS00 MDL03 MDL02 MDL01 MDL00
Baud rate generator
control register 0 (BRGC0)
Internal bus
Remark TXE0: Bit 7 of asynchronous serial interface mode register 0 (ASIM0)
RXE0: Bit 6 of asynchronous serial interface mode register 0 (ASIM0)
214
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
13.2
SERIAL INTERFACE (UART0)
Configuration of Serial Interface
The serial interface (UART0) consists of the following hardware.
Table 13-1. Configuration of Serial Interface (UART0)
Item
Configuration
Registers
Transmit shift register 0 (TXS0)
Receive shift register 0 (RX0)
Receive buffer register 0 (RXB0)
Control registers
Asynchronous serial interface mode register 0 (ASIM0)
Asynchronous serial interface status register 0 (ASIS0)
Baud rate generator control register 0 (BRGC0)
(1) Transmit shift register 0 (TXS0)
This is the register for setting transmit data. Data written to TXS0 is transmitted as serial data.
When the data length is set as 7 bits, bits 0 to 6 of the data written to TXS0 are transferred as transmit data.
Writing data to TXS0 starts the transmit operation.
TXS0 can be written by an 8-bit memory manipulation instruction. It cannot be read.
RESET input sets TXS0 to FFH.
Caution
Do not write to TXS0 during a transmit operation.
The same address is assigned to TXS0 and the receive buffer register 0 (RXB0). A read
operation reads values from RXB0.
(2) Receive shift register 0 (RX0)
This register converts serial data input via the RxD0 pin to parallel data. When one byte of data is received at
this register, the receive data is transferred to the receive buffer register 0 (RXB0).
RX0 cannot be manipulated directly by a program.
(3) Receive buffer register 0 (RXB0)
This register is used to hold receive data. When one byte of data is received, one byte of new receive data is
transferred from the receive shift register (RX0).
When the data length is set as 7 bits, receive data is sent to bits 0 to 6 of RXB0. In this case, the MSB of RXB0
always becomes 0.
RXB0 can be read by an 8-bit memory manipulation instruction. It cannot be written to.
RESET input sets RXB0 to FFH.
Caution
The same address is assigned to RXB0 and the transmit shift register 0 (TXS0). During a write
operation, values are written to TXS0.
(4) Transmit controller
The transmit controller controls transmit operations, such as adding a start bit, parity bit, and stop bit to data that
is written to the transmit shift register 0 (TXS0), based on the values set to the asynchronous serial interface
mode register 0 (ASIM0).
Preliminary User’s Manual U16035EJ1V0UM
215
CHAPTER 13
SERIAL INTERFACE (UART0)
(5) Receive controller
The receive controller controls receive operations based on the values set to the asynchronous serial interface
mode register 0 (ASIM0). During a receive operation, it performs error checking, such as for parity errors, and
sets various values to the asynchronous serial interface status register 0 (ASIS0) according to the type of error
that is detected.
13.3
Registers to Control Serial Interface
The serial interface (UART0) uses the following three types of registers for control functions.
• Asynchronous serial interface mode register 0 (ASIM0)
• Asynchronous serial interface status register 0 (ASIS0)
• Baud rate generator control register 0 (BRGC0)
(1) Asynchronous serial interface mode register 0 (ASIM0)
This is an 8-bit register that controls serial interface (UART0)’s serial transfer operations.
ASIM0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM0 to 00H.
Figure 13-3 shows the format of ASIM0.
Caution
In UART mode, set the port mode register (PMXX) as follows. Set the output latch of the port
set to output mode (PMXX = 0) to 0.
• During receive operation
Set P23 (RXD0) to input mode (PM23 = 1)
• During transmit operation
Set P24 (TXD0) to output mode (PM24 = 0)
• During transmit/receive operation
Set P23 to input mode, and P24 to output mode
216
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
Figure 13-3. Format of Asynchronous Serial Interface Mode Register 0 (ASIM0)
Address: FFA0H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
ASIM0
TXE0
RXE0
PS01
PS00
CL0
SL0
ISRM0
IRDAM0
TXE0
RXE0
0
0
0
RxD0/P23 pin function
TxD0/P24 pin function
Operation stop
Port function (P23)
Port function (P24)
1
UART mode
(receive only)
Serial function (RxD0)
1
0
UART mode
(transmit only)
Port function (P23)
1
1
UART mode
(transmit and receive)
Serial function (RxD0)
PS01
PS00
0
0
No parity
0
1
Zero parity always added during transmission
No parity detection during reception (parity errors do not occur)
1
0
Odd parity
1
1
Even parity
CL0
Operation mode
Serial function (TxD0)
Parity bit specification
Character length specification
0
7 bits
1
8 bits
SL0
Stop bit length specification for transmit data
0
1 bit
1
2 bits
ISRM0
Receive completion interrupt control when error occurs
0
Receive completion interrupt request is issued when an error occurs
1
Receive completion interrupt request is not issued when an error occurs
Operation specified for infrared data transfer modeNote 1
IRDAM0
0
UART (transmit/receive) mode
1
Infrared data transfer (transmit/receive) modeNote 2
Notes 1. The UART/infrared data transfer mode specification is controlled by TXE0 and RXE0.
2. When using infrared data transfer mode, be sure to set the baud rate generator control register 0
(BRGC0) to 10H.
Caution
Do not switch the operation mode until the current serial transmit/receive operation has
stopped.
Preliminary User’s Manual U16035EJ1V0UM
217
CHAPTER 13
SERIAL INTERFACE (UART0)
(2) Asynchronous serial interface status register 0 (ASIS0)
When a receive error occurs during UART mode, this register indicates the type of error.
ASIS0 can be read by an 8-bit memory manipulation instruction.
RESET input sets ASIS0 to 00H.
Figure 13-4. Format of Asynchronous Serial Interface Status Register 0 (ASIS0)
Address: FFA1H After reset: 00H
R
Symbol
7
6
5
4
3
2
1
0
ASIS0
0
0
0
0
0
PE0
FE0
OVE0
PE0
Parity error flag
0
No parity error
1
Parity error
(Transmit data parity not matched)
FE0
Framing error flag
0
No framing error
1
Framing errorNote 1
(Stop bit not detected)
OVE0
Overrun error flag
0
No overrun error
1
Overrun errorNote 2
(Next receive operation was completed before data was read from receive buffer register
0 (RXB0))
Notes 1. Even if a stop bit length is set to 2 bits by setting bit 2 (SL0) in the asynchronous serial interface mode
register 0 (ASIM0), stop bit detection during a receive operation only applies to a stop bit length of
1 bit.
2. Be sure to read the contents of the receive buffer register 0 (RXB0) when an overrun error has
occurred.
Until the contents of RXB0 are read, further overrun errors will occur when receiving data.
(3) Baud rate generator control register 0 (BRGC0)
This register sets the serial clock for serial interface.
BRGC0 is set by an 8-bit memory manipulation instruction.
RESET input sets BRGC0 to 00H.
Figure 13-5 shows the format of BRGC0.
218
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
Figure 13-5. Format of Baud Rate Generator Control Register 0 (BRGC0)
Address: FFA2H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
BRGC0
0
TPS02
TPS01
TPS00
MDL03
MDL02
MDL01
0
MDL00
(fX = 8.38 MHz)
TPS02
TPS01
TPS00
0
0
0
P25/ASCK0
0
0
0
1
fX/2
1
0
1
0
fX/22
2
0
1
1
fX/23
3
0
fX/24
4
1
fX/25
5
0
fX/26
6
fX/27
7
1
0
1
0
1
1
Source clock selection for 5-bit counter
1
1
1
MDL03
MDL02
MDL01
MDL00
0
0
0
0
0
0
n
Input clock selection for baud rate generator
k
0
fSCK/16
0
0
1
fSCK/17
1
0
1
0
fSCK/18
2
0
0
1
1
fSCK/19
3
0
1
0
0
fSCK/20
4
0
1
0
1
fSCK/21
5
0
1
1
0
fSCK/22
6
0
1
1
1
fSCK/23
7
1
0
0
0
fSCK/24
8
1
0
0
1
fSCK/25
9
1
0
1
0
fSCK/26
10
1
0
1
1
fSCK/27
11
1
1
0
0
fSCK/28
12
1
1
0
1
fSCK/29
13
1
1
1
0
fSCK/30
14
1
1
1
1
Setting prohibited
—
Cautions 1. Writing to BRGC0 during a communication operation may cause abnormal output from the
baud rate generator and disable further communication operations. Therefore, do not write
to BRGC0 during a communication operation.
2. Set 10H to BRGC0 when using in infrared data transfer mode.
Remarks 1. fSCK: Source clock for 5-bit counter
2. n:
Value set via TPS00 to TPS02 (0 ≤ n ≤ 7)
3. k:
Value set via MDL00 to MDL03 (0 ≤ k ≤ 14)
Preliminary User’s Manual U16035EJ1V0UM
219
CHAPTER 13
13.4
SERIAL INTERFACE (UART0)
Operations of Serial Interface
This section explains the three modes of the serial interface (UART0).
13.4.1 Operation stop mode
Because serial transfer is not performed during this mode, the power consumption can be reduced.
In addition, pins can be used as normal ports.
(1) Register settings
Operation stop mode is set by the asynchronous serial interface mode register 0 (ASIM0).
ASIM0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM0 to 00H.
Address: FFA0H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
ASIM0
TXE0
RXE0
PS01
PS00
CL0
SL0
ISRM0
IRDAM0
TXE0
RXE0
0
0
0
1
Operation mode
RxD0/P23 pin function
TxD0/P24 pin function
Operation stop
Port function (P23)
Port function (P24)
UART mode
Serial function (RxD0)
(receive only)
Caution
1
0
UART mode
(transmit only)
Port function (P23)
1
1
UART mode
(transmit and receive)
Serial function (RxD0)
Do not switch the operation mode until the current serial transmit/receive operation has
stopped.
220
Serial function (TxD0)
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
13.4.2 Asynchronous serial interface (UART) mode
This mode enables full-duplex operation wherein one byte of data after the start bit is transmitted or received.
The on-chip baud rate generator dedicated to UART enables communications using a wide range of selectable
baud rates.
The UART baud rate generator can also be used to generate a MIDI-standard baud rate (31.25 kbps).
(1) Register settings
UART mode settings are performed by the asynchronous serial interface mode register 0 (ASIM0), asynchronous
serial interface status register 0 (ASIS0), and the baud rate generator control register 0 (BRGC0).
(a) Asynchronous serial interface mode register 0 (ASIM0)
ASIM0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM0 to 00H.
Caution
In UART mode, set the port mode register (PMXX) as follows. Set the output latch of the
port set to output mode (PMXX = 0) to 0.
• During receive operation
Set P23 (RXD0) to input mode (PM23 = 1)
• During transmit operation
Set P24 (TXD0) to output mode (PM24 = 0)
• During transmit/receive operation
Set P23 to input mode, and P24 to output mode
Preliminary User’s Manual U16035EJ1V0UM
221
CHAPTER 13
Address: FFA0H After reset: 00H
SERIAL INTERFACE (UART0)
R/W
Symbol
7
6
5
4
3
2
1
0
ASIM0
TXE0
RXE0
PS01
PS00
CL0
SL0
ISRM0
IRDAM0
TXE0
RXE0
0
0
0
Operation mode
RxD0/P23 pin function
TxD0/P24 pin function
Operation stop
Port function (P23)
Port function (P24)
1
UART mode
(receive only)
Serial function (RxD0)
1
0
UART mode
(transmit only)
Port function (P23)
1
1
UART mode
(transmit and receive)
Serial function (RxD0)
PS01
PS00
0
0
No parity
0
1
Zero parity always added during transmission
No parity detection during reception (parity errors do not occur)
1
0
Odd parity
1
1
Even parity
Serial function (TxD0)
Parity bit specification
CL0
Character length specification
0
7 bits
1
8 bits
SL0
Stop bit length specification for transmit data
0
1 bit
1
2 bits
ISRM0
Receive completion interrupt control when error occurs
0
Receive completion interrupt request is issued when an error occurs
1
Receive completion interrupt request is not issued when an error occurs
Operation specified for infrared data transfer modeNote 1
IRDAM0
0
UART (transmit/receive) mode
1
Infrared data transfer (transmit/receive) modeNote 2
Notes 1. The UART/infrared data transfer mode specification is controlled by TXE0 and RXE0.
2. When using infrared data transfer mode, be sure to set the baud rate generator control register
0 (BRGC0) to 10H.
Caution
Do not switch the operation mode until the current serial transmit/receive operation has
stopped.
222
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
(b) Asynchronous serial interface status register 0 (ASIS0)
ASIS0 can be read by an 8-bit memory manipulation instruction.
RESET input sets ASIS0 to 00H.
Address: FFA1H After reset: 00H
R
Symbol
7
6
5
4
3
2
1
0
ASIS0
0
0
0
0
0
PE0
FE0
OVE0
PE0
Parity error flag
0
No parity error
1
Parity error
(Transmit data parity not matched)
FE0
Framing error flag
0
No framing error
1
Framing errorNote 1
(Stop bit not detected)
OVE0
Overrun error flag
0
No overrun error
1
Overrun errorNote 2
(Next receive operation was completed before data was read from receive buffer register
0 (RXB0))
Notes 1. Even if a stop bit length is set to 2 bits by setting bit 2 (SL0) in the asynchronous serial interface
mode register 0 (ASIM0), stop bit detection during a receive operation only applies to a stop bit
length of 1 bit.
2. Be sure to read the contents of the receive buffer register 0 (RXB0) when an overrun error has
occurred.
Until the contents of RXB0 are read, further overrun errors will occur when receiving data.
Preliminary User’s Manual U16035EJ1V0UM
223
CHAPTER 13
SERIAL INTERFACE (UART0)
(c) Baud rate generator control register 0 (BRGC0)
BRGC0 is set by an 8-bit memory manipulation instruction.
RESET input sets BRGC0 to 00H.
Address: FFA2H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
BRGC0
0
TPS02
TPS01
TPS00
MDL03
MDL02
MDL01
0
MDL00
(fX = 8.38 MHz)
TPS02
TPS01
TPS00
0
0
0
P25/ASCK0
0
0
0
1
fX/2
1
0
1
0
fX/22
2
0
1
1
fX/23
3
0
fX/24
4
1
fX/25
5
0
fX/26
6
fX/27
7
1
0
1
0
1
1
Source clock selection for 5-bit counter
1
1
1
MDL03
MDL02
MDL01
MDL00
0
0
0
0
0
0
n
Input clock selection for baud rate generator
k
0
fSCK/16
0
0
1
fSCK/17
1
0
1
0
fSCK/18
2
0
0
1
1
fSCK/19
3
0
1
0
0
fSCK/20
4
0
1
0
1
fSCK/21
5
0
1
1
0
fSCK/22
6
0
1
1
1
fSCK/23
7
1
0
0
0
fSCK/24
8
1
0
0
1
fSCK/25
9
1
0
1
0
fSCK/26
10
1
0
1
1
fSCK/27
11
1
1
0
0
fSCK/28
12
1
1
0
1
fSCK/29
13
1
1
1
0
fSCK/30
14
1
1
1
1
Setting prohibited
—
Cautions 1. Writing to BRGC0 during a communication operation may cause abnormal output from
the baud rate generator and disable further communication operations. Therefore, do
not write to BRGC0 during a communication operation.
2. Set 10H to BRGC0 when using infrared data transfer mode.
Remarks 1. fSCK: Source clock for 5-bit counter
224
2. n:
Value set via TPS00 to TPS02 (0 ≤ n ≤ 7)
3. k:
Value set via MDL00 to MDL03 (0 ≤ k ≤ 14)
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
The transmit/receive clock that is used to generate the baud rate is obtained by dividing the main system
clock.
• Transmit/receive clock generation for baud rate by using main system clock
The main system clock is divided to generate the transmit/receive clock. The baud rate generated from
the main system clock is determined according to the following formula.
[Baud rate] =
fX
2
n+1
(k + 16)
[Hz]
fX: Main system clock oscillation frequency
When ASCK0 is selected as the source clock of the 5-bit counter, substitute the input clock frequency
to ASCK0 pin for fX in the above expression.
n:
Value set via TPS00 to TPS02 (0 ≤ n ≤ 7)
For details, see Table 13-2.
k:
Value set via MDL00 to MDL03 (0 ≤ k ≤ 14)
Table 13-2 shows the relationship between the 5-bit counter’s source clock assigned to bits 4 to 6 (TPS00
to TPS02) of BRGC0 and the “n” value in the above formula. Table 13-3 shows the relationship between
the main system clock and the baud rate.
Table 13-2. Relationship Between 5-Bit Counter’s Source Clock and “n” Value
TPS02
TPS01
TPS00
0
0
0
P25/ASCK0
0
0
0
1
fX/2
1
0
1
0
fX/22
2
0
1
1
fX/23
3
0
fX/24
4
1
fX/25
5
0
fX/26
6
1
fX/27
7
1
1
1
1
0
0
1
1
5-Bit Counter’s Source Clock Selected
n
Remark fX: Main system clock oscillation frequency
Preliminary User’s Manual U16035EJ1V0UM
225
CHAPTER 13
SERIAL INTERFACE (UART0)
Table 13-3. Relationship Between Main System Clock and Baud Rate
Baud Rate
(bps)
fX = 8.386 MHz
fX = 8.000 MHz
fX = 7.3728 MHz
fX = 5.000 MHz
fX = 4.1943 MHz
BRGC0
ERR (%)
BRGC0
ERR (%)
BRGC0
ERR (%)
BRGC0
ERR (%)
BRGC0
ERR (%)
600
–
–
–
–
–
–
–
–
7BH
1.14
1200
7BH
1.10
7AH
0.16
78H
0
70H
1.73
6BH
1.14
2400
6BH
1.10
6AH
0.16
68H
0
60H
1.73
5BH
1.14
4800
5BH
1.10
5AH
0.16
58H
0
50H
1.73
4BH
1.14
9600
4BH
1.10
4AH
0.16
48H
0
40H
1.73
3BH
1.14
19200
3BH
1.10
3AH
0.16
38H
0
30H
1.73
2BH
1.14
31250
31H
–1.3
30H
0
2DH
1.70
24H
0
21H
–1.3
38400
2BH
1.10
2AH
0.16
28H
0
20H
1.73
1BH
1.14
76800
1BH
1.10
1AH
0.16
18H
0
10H
1.73
–
–
115200
12H
1.10
11H
2.12
10H
0
–
–
–
–
Infrared
data
transfer
131031 bps
125000 bps
115200 bps
78125 bps
65536 bps
modeNote
Note The UART/infrared data transfer mode specification is controlled by TXE0 and RXE0.
When using the infrared data transfer mode, be sure to set the baud rate generator control register
0 (BRGC0) as follows.
• k = 0 (MDL0 to MDL3 = 0000)
• n = 1 (TPS00 to TPS02 = 001)
Remark fX: Main system clock oscillation frequency
n: Value set via TPS00 to TPS02 (0 ≤ n ≤ 7)
k: Value set via MDL00 to MDL03 (0 ≤ k ≤ 14)
226
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
• Error tolerance range for baud rates
The tolerance range for baud rates depends on the number of bits per frame and the counter’s division
rate [1/(16 + k)].
Figure 13-6 shows an example of a baud rate error tolerance range.
Figure 13-6. Baud Rate Error Tolerance (When k = 0), Including Sampling Errors
Ideal
sampling
point
32T
64T
256T
288T
320T
304T
Basic timing
(clock cycle T)
High-speed clock
(clock cycle T’)
enabling normal
reception
Low-speed clock
(clock cycle T”)
enabling normal
reception
START
D0
D7
352T
336T
P
STOP
15.5T
START
D0
30.45T
D7
P
STOP
60.9T
Sampling error
0.5T
304.5T
15.5T
START
D0
33.55T
D7
67.1T
P
301.95T
STOP
335.5T
Remark T: 5-bit counter’s source clock cycle
Baud rate error tolerance (when k = 0) =
±15.5
320
× 100 = 4.8438 (%)
Preliminary User’s Manual U16035EJ1V0UM
227
CHAPTER 13
SERIAL INTERFACE (UART0)
(2) Communication operations
(a) Data format
Figure 13-7 shows the format of the transmit/receive data.
Figure 13-7. Format of Transmit/Receive Data in Asynchronous Serial Interface
1 data frame
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity
bit
Stop bit
Character bits
1 data frame consists of the following bits.
• Start bit ............. 1 bit
• Character bits ... 7 bits or 8 bits
• Parity bit ........... Even parity, odd parity, zero parity, or no parity
• Stop bit(s) ......... 1 bit or 2 bits
The asynchronous serial interface mode register 0 (ASIM0) is used to set the character bit length, parity
selection, and stop bit length within each data frame.
When “7 bits” is selected as the number of character bits, only the lower 7 bits (bits 0 to 6) are valid, so that
during a transmission the highest bit (bit 7) is ignored and during reception the highest bit (bit 7) must be
set to “0”.
The ASIM0 and the baud rate generator control register 0 (BRGC0) are used to set the serial transfer rate.
If a receive error occurs, information about the receive error can be recognized by reading the asynchronous
serial interface status register 0 (ASIS0).
228
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
(b) Parity types and operations
The parity bit is used to detect bit errors in communication data. Usually, the same type of parity bit is used
by the transmitting and receiving sides. When odd parity or even parity is set, errors in the parity bit (the
odd-number bit) can be detected. When zero parity or no parity is set, errors are not detected.
(i)
Even parity
• During transmission
The number of bits in transmit data that includes a parity bit is controlled so that there are an even
number of bits whose value is 1. The value of the parity bit is as follows.
If the transmit data contains an odd number of bits whose value is 1: the parity bit is “1”
If the transmit data contains an even number of bits whose value is 1: the parity bit is “0”
• During reception
The number of bits whose value is 1 is counted among the receive data that include a parity bit, and
a parity error occurs when the counted result is an odd number.
(ii) Odd parity
• During transmission
The number of bits in transmit data that includes a parity bit is controlled so that there is an odd number
of bits whose value is 1. The value of the parity bit is as follows.
If the transmit data contains an odd number of bits whose value is 1: the parity bit is “0”
If the transmit data contains an even number of bits whose value is 1: the parity bit is “1”
• During reception
The number of bits whose value is 1 is counted among the receive data that include a parity bit, and
a parity error occurs when the counted result is an even number.
(iii) Zero parity
During transmission, the parity bit is set to “0” regardless of the transmit data.
During reception, the parity bit is not checked. Therefore, no parity errors will occur regardless of
whether the parity bit is a “0” or a “1”.
(iv) No parity
No parity bit is added to the transmit data.
During reception, receive data is regarded as having no parity bit. Since there is no parity bit, no parity
errors will occur.
Preliminary User’s Manual U16035EJ1V0UM
229
CHAPTER 13
SERIAL INTERFACE (UART0)
(c) Transmission
The transmit operation is enabled when bit 7 (TXE0) of the asynchronous serial interface mode register 0
(ASIM0) is set (1). The transmit operation is started when transmit data is written to the transmit shift register
0 (TXS0). A start bit, parity bit, and stop bit(s) are automatically added to the data.
Starting the transmit operation shifts out the data in TXS0, thereby emptying TXS0, after which a transmit
completion interrupt request (INTST0) is issued.
The timing of the transmit completion interrupt request is shown in Figure 13-8.
Figure 13-8. Timing of Asynchronous Serial Interface Transmit Completion Interrupt Request
(i)
Stop bit length: 1 bit
TxD0 (output)
START
D0
D1
D2
D6
D7
Parity
D0
D1
D2
D6
D7
Parity
STOP
INTST0
(ii) Stop bit length: 2 bits
TxD0 (output)
START
STOP
INTST0
Caution
Do not rewrite to the asynchronous serial interface mode register 0 (ASIM0) during a
transmit operation. Rewriting ASIM0 register during a transmit operation may disable
further transmit operations (in such cases, input a RESET to restore normal operation).
Whether or not a transmit operation is in progress can be determined via software using
the transmit completion interrupt request (INTST0) or the interrupt request flag (STIF0)
that is set by INTST0.
230
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
(d) Reception
The receive operation is enabled when bit 6 (RXE0) of the asynchronous serial interface mode register 0
(ASIM0) is set (1), and input via the RxD0 pin is sampled.
The serial clock specified by ASIM0 is used to sample the RxD0 pin.
When the RxD0 pin goes low, the 5-bit counter of the baud rate generator begins counting and the start timing
signal for data sampling is output when half of the specified baud rate time has elapsed. If sampling the
RxD0 pin input with this start timing signal yields a low-level result, a start bit is recognized, after which the
5-bit counter is initialized and starts counting and data sampling begins. After the start bit is recognized,
the character data, parity bit, and one-bit stop bit are detected, at which point reception of one data frame
is completed.
Once reception of one data frame is completed, the receive data in the shift register is transferred to the
receive buffer register 0 (RXB0) and a receive completion interrupt request (INTSR0) occurs.
Even if an error has occurred, the receive data in which the error occurred is still transferred to RXB0. When
ASIM0 bit 1 (ISRM0) is cleared (0) upon occurrence of an error, INTSR0 occurs (see Figure 13-10).
When ISRM0 bit is set (1), INTSR0 does not occur.
If the RXE0 bit is reset (0) during a receive operation, the receive operation is stopped immediately. At this
time, the contents of RXB0 and ASIS0 do not change, nor does INTSR0 or INTSER0 occur.
Figure 13-9 shows the timing of the asynchronous serial interface receive completion interrupt request.
Figure 13-9. Timing of Asynchronous Serial Interface Receive Completion Interrupt Request
RxD0 (input)
START
D0
D1
D2
D6
D7
Parity
STOP
INTSR0
Caution
Be sure to read the contents of the receive buffer register 0 (RXB0) even when a receive
error has occurred. Overrun errors will occur during the next data receive operations and
the receive error status will remain until the contents of RXB0 are read.
Preliminary User’s Manual U16035EJ1V0UM
231
CHAPTER 13
SERIAL INTERFACE (UART0)
(e) Receive errors
Three types of errors can occur during a receive operation: parity error, framing error, or overrun error. If,
as the result of data reception, an error flag is set to the asynchronous serial interface status register 0
(ASIS0), a receive error interrupt request (INTSER0) will occur. Receive error interrupt requests are
generated before receive completion interrupt request (INTSR0). Table 13-4 lists the causes behind receive
errors.
As part of receive error interrupt request (INTSER0) servicing, the contents of ASIS0 can be read to determine
which type of error occurred during the receive operation (see Table 13-4 and Figure 13-10).
The contents of ASIS0 are reset (0) when the receive buffer register 0 (RXB0) is read or when the next data
is received (if the next data contains an error, its error flag will be set).
Table 13-4. Causes of Receive Errors
Receive Error
Cause
ASIS0 Value
Parity error
Parity specified during transmission does not match parity of receive data
04H
Framing error
Stop bit was not detected
02H
Overrun error
Reception of the next data was completed before data was read from the
receive buffer register 0 (RXB0)
01H
Figure 13-10. Receive Error Timing
RxD0 (input)
START
D0
D1
D2
D6
D7
Parity
STOP
INTSR0 Note
INTSER0
(When framing/overrun error occurs)
INTSER0
(When parity error occurs)
Note If a receive error occurs when ISRM0 bit has been set (1), INTSR0 does not occur.
Cautions 1. The contents of asynchronous serial interface status register 0 (ASIS0) are reset (0)
when the receive buffer register 0 (RXB0) is read or when the next data is received. To
obtain information about the error, be sure to read the contents of ASIS0 before reading
RXB0.
2. Be sure to read the contents of the receive buffer register 0 (RXB0) even when a receive
error has occurred. Overrun errors will occur during the next data receive operations
and the receive error status will remain until the contents of RXB0 are read.
232
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
13.4.3 Infrared data transfer mode
In infrared data transfer mode, the following data format pulse output and pulse receiving are enabled. The
relationship between the main system clock and baud rate is shown in Table 13-3.
(1) Data format
Figure 16-11 compares the data format used in UART mode with that used in infrared data transfer mode.
The IR (infrared) frame corresponds to the bit string of the UART frame, which consists of pulses – a start bit,
eight data bits, and a stop bit.
The length of the electrical pulses that are used to transmit and receive in an IR frame is 3/16 the length of the
cycle time for one bit (i.e., the “bit time”). This pulse (whose width is 3/16 the length of one bit time) rises from
the middle of the bit time (see the figure below).
Bit time
Pulse width = 3/16 bit time
Figure 13-11. Data Format Comparison Between Infrared Data Transfer Mode and UART Mode
UART frame
Data bits
0
Start bit
1
D0
0
D1
1
D2
0
D3
0
D4
1
D5
1
D6
0
D7
1
Stop bit
IR frame
Data bits
Start bit
0
1
0
1
0
Stop bit
0
1
Bit time
1
0
1
Pulse width =
3/16 bit time
Preliminary User’s Manual U16035EJ1V0UM
233
CHAPTER 13
SERIAL INTERFACE (UART0)
(2) Bit rate and pulse width
Table 13-5 lists bit rates, bit rate error tolerances, and pulse width values.
Table 13-5. Bit Rate and Pulse Width Values
Bit Rate
Bit Rate Error Tolerance
Pulse Width Minimum Value
(kbits/s)
(% of bit rate)
(µs)Note 2
115.2Note 1
+/– 0.87
1.41
3/16 Pulse Width
<Nominal Value>
(µs)
1.63
Maximum Pulse Width
(µs)
2.71
Notes 1. At the operation time with fX = 7.3728 MHz
2. When a digital noise eliminator is used in a microcontroller operating at 1.41 MHz or above.
Caution
When using in infrared data transfer mode, set 10H to the baud rate generator control register
0 (BRGC0).
Remark fX: Main system clock oscillation frequency
234
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 13
SERIAL INTERFACE (UART0)
(3) Input data and internal signals
• Transmit operation timing
UART
output data
Start bit
Stop bit
UART
(Inverted data)
Infrared data transfer
enable signal
TxD0 pin
output signal
• Receive operation timing
Data reception is delayed for one-half of the specified baud rate.
UART
transfer data
Start bit
Stop bit
RxD0 input
Edge detection
Sampling clock
Receive rate
Conversion data
Sampling timing
Preliminary User’s Manual U16035EJ1V0UM
235
CHAPTER 14
SERIAL INTERFACE (SIO3)
The serial interface (SIO3) incorporates two 3-wire serial I/O mode channels (SIO30, SIO31).
These two channels have exactly the same functions.
14.1
Functions of Serial Interface
The serial interface (SIO3n) has the following two modes.
(1) Operation stop mode
This mode is used when serial transfers are not performed. For details, see 14.4.1 Operation stop mode.
(2) 3-wire serial I/O mode (fixed as MSB first)
This is an 8-bit data transfer mode using three lines: a serial clock line (SCK3n), serial output line (SO3n), and
serial input line (SI3n).
Since simultaneous transmit and receive operations are enabled in 3-wire serial I/O mode, the processing time
for data transfers is reduced.
The first bit of the serial transferred 8-bit data is fixed as the MSB.
3-wire serial I/O mode is useful for connection to a peripheral I/O incorporating a clocked serial interface, or a
display controller, etc. For details see 14.4.2 3-wire serial I/O mode.
Figure 14-1 shows a block diagram of the serial interface (SIO3n).
Remark n = 0, 1
Figure 14-1. Block Diagram of Serial Interface (SIO3n)
Internal bus
8
SI3n
Serial I/O shift register
3n (SIO3n)
Note
SO3nNote
Serial clock
counter
SCK3nNote
Serial clock
controller
Interrupt
request signal
generator
Selector
INTCSI3n
fX/23
fX/24
fX/25
Note SI30, SO30, and SCK30 pins are shared with P20, P21, and P22 pins. SI31, SO31, and SCK31 pins are
shared with P34, P35, and P36 pins.
Remark n = 0, 1
236
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 14
14.2
SERIAL INTERFACE (SIO3)
Configuration of Serial Interface
The serial interface (SIO3n) consists of the following hardware.
Table 14-1. Configuration of Serial Interface (SIO3n)
Item
Configuration
Register
Serial I/O shift register 3n (SIO3n)
Control register
Serial operation mode register 3n (CSIM3n)
Remark n = 0, 1
(1) Serial I/O shift register 3n (SIO3n)
This is an 8-bit register that performs parallel-serial conversion and serial transmit/receive (shift operations)
synchronized with the serial clock.
SIO3n is set by an 8-bit memory manipulation instruction.
When 1 is set to bit 7 (CSIE3n) of the serial operation mode register 3n (CSIM3n), a serial operation can be started
by writing data to or reading data from SIO3n.
When transmitting, data written to SIO3n is output to the serial output (SO3n).
When receiving, data is read from the serial input (SI3n) and written to SIO3n.
RESET input makes SIO3n undefined.
Caution
Do not access SIO3n during a transfer operation unless the access is triggered by a transfer
start (read operation is disabled when MODEn = 0 and write operation is disabled when MODEn
= 1).
Remark n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
237
CHAPTER 14
14.3
SERIAL INTERFACE (SIO3)
Registers to Control Serial Interface
The serial interface (SIO3n) is controlled by serial operation mode register 3n (CSIM3n).
(1) Serial operation mode register 30 (CSIM30)
This register is used to enable or disable SIO30’s serial clock, operation modes, and specific operations.
CSIM30 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM30 to 00H.
Caution
In 3-wire serial I/O mode, set the port mode register (PMXX) as follows. Set the output latch of the port
set to output mode (PMXX = 0) to 0.
<When SIO30 is used>
238
During serial clock output
(master transmission or master reception)
PM22 = 0: Sets P22 (SCK30) to output mode
P22 = 0: Sets output latch of P22 to 0
During serial clock input
(slave transmission or slave reception)
PM22 = 1: Sets P22 (SCK30) to input mode
Transmit/receive mode
PM21 = 0: Sets P21 (SO30) to output mode
P21 = 0: Sets output latch of P21 to 0
Receive mode
PM20 = 1: Sets P20 (SI30) to input mode
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 14
SERIAL INTERFACE (SIO3)
Figure 14-2. Format of Serial Operation Mode Register 30 (CSIM30)
Address: FFB0H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
CSIM30
CSIE30
0
0
0
0
MODE0
SCL301
SCL300
Enable/disable specification for SIO30
CSIE30
Shift register operation
Serial counter
Port
0
Operation disabled
Clear
Port functionNote 1
1
Operation enabled
Count operation enabled
Serial function + port functionNote 2
Transfer operation modes and flags
MODE0
Operation mode
Transfer start trigger
SO30 output
0
Transmit/transmit and receive mode
Write to SIO30
Normal output
1
Receive-only mode
Read from SIO30
Fixed at low level
SCL301
SCL300
Clock selection
0
0
External clock input to SCK30
0
1
fX/23 (1.05 MHz)
1
0
fX/24 (524 kHz)
1
1
fX/25 (262 kHz)
Notes 1. When CSIE30 = 0 (SIO30 operation stop status), the pins SI30, SO30, and SCK30 can be used for
port functions.
2. When CSIE30 = 1 (SIO30 operation enabled status), the SI30 pin can be used as a port pin if only
the transmit function is used, and the SO30 pin can be used as a port pin if only the receive-only mode
is used.
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz.
Preliminary User’s Manual U16035EJ1V0UM
239
CHAPTER 14
SERIAL INTERFACE (SIO3)
(2) Serial operation mode register 31 (CSIM31)
This register is used to enable or disable SIO31’s serial clock, operation modes, and specific operations.
CSIM31 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM31 to 00H.
Caution
In 3-wire serial I/O mode, set the port mode register (PMXX) as follows. Set the output latch of the port
set to output mode (PMXX = 0) to 0.
<When SIO31 is used>
240
During serial clock output
(master transmission or master reception)
PM36 = 0: Sets P36 (SCK31) to output mode
P36 = 0: Sets output latch of P36 to 0
During serial clock input
(slave transmission or slave reception)
PM36 = 1: Sets P36 (SCK31) to input mode
Transmit/receive mode
PM35 = 0: Sets P35 (SO31) to output mode
P35 = 0: Sets output latch of P35 to 0
Receive mode
PM34 = 1: Sets P34 (SI31) to input mode
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 14
SERIAL INTERFACE (SIO3)
Figure 14-3. Format Serial Operation Mode Register 31 (CSIM31)
Address: FFB8H After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
CSIM31
CSIE31
0
0
0
0
MODE1
SCL311
SCL310
Enable/disable specification for SIO31
CSIE31
Shift register operation
Serial counter
Port
0
Operation disabled
Clear
Port functionNote 1
1
Operation enabled
Count operation enabled
Serial function + port functionNote 2
Transfer operation modes and flags
MODE1
Operation mode
Transfer start trigger
SO31 output
0
Transmit/transmit and receive mode
Write to SIO31
Normal output
1
Receive-only mode
Read from SIO31
Fixed at low level
SCL311
SCL310
Clock selection
0
0
External clock input to SCK31
0
1
fX/23 (1.05 MHz)
1
0
fX/24 (524 kHz)
1
1
fX/25 (262 kHz)
Notes 1. When CSIE31 = 0 (SIO31 operation stop status), the pins SI31, SO31, and SCK31 can be used for
port functions.
2. When CSIE31 = 1 (SIO31 operation enabled status), the SI31 pin can be used as a port pin if only
the transmit function is used, and the SO31 pin can be used as a port pin if only the receive-only mode
is used.
Remarks 1. fX: Main system clock oscillation frequency
2. Figures in parentheses are for operation with fX = 8.38 MHz.
Preliminary User’s Manual U16035EJ1V0UM
241
CHAPTER 14
14.4
SERIAL INTERFACE (SIO3)
Operations of Serial Interface
This section explains the two modes of the serial interface (SIO3n).
14.4.1 Operation stop mode
Because the serial transfer is not performed during this mode, the power consumption can be reduced.
In addition, pins can be used as normal I/O ports.
(1) Register settings
Operation stop mode is set by the serial operation mode register 3n (CSIM3n).
CSIM3n is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM3n to 00H.
Address: FFB0H (SIO30), FFB8H (SIO31) After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
CSIM3n
CSIE3n
0
0
0
0
MODEn
SCL3n1
SCL3n0
Enable/disable specification for SIO3n
CSIE3n
Shift register operation
Serial counter
Port
0
Operation disabled
Clear
Port functionNote 1
1
Operation enabled
Count operation enabled
Serial function + port functionNote 2
Notes 1. When CSIE3n = 0 (SIO3n operation stop status), the pins SI3n, SO3n, and SCK3n can be used for
port functions.
2. When CSIE3n = 1 (SIO3n operation enabled status), the SI3n pin can be used as a port pin if only
the transmit function is used, and the SO3n pin can be used as a port pin if only the receive-only mode
is used.
Remark n = 0, 1
242
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 14
SERIAL INTERFACE (SIO3)
14.4.2 3-wire serial I/O mode
The 3-wire serial I/O mode is useful for connection to a peripheral I/O incorporating a clocked serial interface, a
display controller, etc.
This mode executes data transfers via three lines: a serial clock line (SCK3n), serial output line (SO3n), and serial
input line (SI3n).
(1) Register settings
3-wire serial I/O mode is set by the serial operation mode register 3n (CSIM3n).
CSIM3n is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM3n to 00H .
Caution
In 3-wire serial I/O mode, set the port mode register (PMXX) as follows. Set the output latch of the port
set to output mode (PMXX = 0) to 0.
<When SIO30 is used>
During serial clock output
(master transmission or master reception)
PM22 = 0: Sets P22 (SCK30) to output mode
P22 = 0: Sets output latch of P22 to 0
During serial clock input
(slave transmission or slave reception)
PM22 = 1: Sets P22 (SCK30) to input mode
Transmit/receive mode
PM21 = 0: Sets P21 (SO30) to output mode
P21 = 0: Sets output latch of P21 to 0
Receive mode
PM20 = 1: Sets P20 (SI30) to input mode
<When SIO31 is used>
During serial clock output
(master transmission or master reception)
PM36 = 0: Sets P36 (SCK31) to output mode
P36 = 0: Sets output latch of P36 to 0
During serial clock input
(slave transmission or slave reception)
PM36 = 1: Sets P36 (SCK31) to input mode
Transmit/receive mode
PM35 = 0: Sets P35 (SO31) to output mode
P35 = 0: Sets output latch of P35 to 0
Receive mode
PM34 = 1: Sets P34 (SI31) to input mode
Preliminary User’s Manual U16035EJ1V0UM
243
CHAPTER 14
SERIAL INTERFACE (SIO3)
Address: FFB0H (SIO30), FFB8H (SIO31) After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
0
CSIM3n
CSIE3n
0
0
0
0
MODEn
SCL3n1
SCL3n0
Enable/disable specification for SIO3n
CSIE3n
Shift register operation
Serial counter
Port
0
Operation disabled
Clear
Port functionNote 1
1
Operation enabled
Count operation enabled
Serial function + port functionNote 2
Transfer operation modes and flags
MODEn
Operation Mode
Transfer Start Trigger
SO3n output
0
Transmit/transmit and receive mode
Write to SIO3n
Normal output
1
Receive-only mode
Read from SIO3n
Fixed at low level
SCL3n1
SCL3n0
Clock selection
0
0
External clock input to SCK3n
0
1
fX/23 (1.05 MHz)
1
0
fX/24 (524 kHz)
1
1
fX/25 (262 kHz)
Notes 1. When CSIE3n = 0 (SIO3n operation stop status), the pins SI3n, SO3n, and SCK3n can be used for
port functions.
2. When CSIE3n = 1 (SIO3n operation enabled status), the SI3n pin can be used as a port pin if only
the transmit function is used, and the SO3n pin can be used as a port pin if only the receive-only mode
is used.
Remarks 1. n = 0, 1
2. fX: Main system clock oscillation frequency
3. Figures in parentheses are for operation with fX = 8.38 MHz.
244
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 14
SERIAL INTERFACE (SIO3)
(2) Communication operations
In the 3-wire serial I/O mode, data is transmitted and received in 8-bit units. Each bit of data is transmitted or
received in synchronization with the serial clock.
The serial I/O shift register 3n (SIO3n) is shifted in synchronization with the falling edge of the serial clock.
Transmission data is held in the SO3n latch and is output from the SO3n pin. Data that is received via the SI3n
pin in synchronization with the rising edge of the serial clock is latched to SIO3n.
Completion of an 8-bit transfer automatically stops operation of SIO3n and sets interrupt request flag (CSIIF3n).
Figure 14-4. Timing of 3-Wire Serial I/O Mode
SCK3n
1
2
3
4
5
6
7
8
SI3n
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SO3n
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
CSIIF3n
Transfer completion
Transfer starts in synchronization with the SCK3n falling edge
Remark n = 0, 1
(3) Transfer start
A serial transfer starts when the following two conditions have been satisfied and transfer data has been set (or
read) to serial I/O shift register 3n (SIO3n).
• SIO3n operation control bit (CSIE3n) = 1
• After an 8-bit serial transfer, either the internal serial clock is stopped or SCK3n is set to high level.
• Transmit/transmit and receive mode
When CSIE3n = 1 and MODEn = 0, transfer starts when writing to SIO3n.
• Receive-only mode
When CSIE3n = 1 and MODEn = 1, transfer starts when reading from SIO3n.
Caution
After data has been written to SIO3n, transfer will not start even if the CSIE3n bit value is set
to “1”.
Completion of an 8-bit transfer automatically stops the serial transfer operation and interrupt request flag
(CSIIF3n) is set.
Remark n = 0, 1
Preliminary User’s Manual U16035EJ1V0UM
245
CHAPTER 15
INTERRUPT FUNCTIONS
15.1 Interrupt Function Types
The following three types of interrupt functions are used.
(1) Non-maskable interrupt
This interrupt is acknowledged unconditionally even in an interrupt disabled state. It does not undergo priority
control and is given top priority over all other interrupt requests.
A standby release signal is generated.
One interrupt request from the watchdog timer is incorporated as a non-maskable interrupt.
(2) Maskable interrupts
These interrupts undergo mask control. Maskable interrupts can be divided into a high interrupt priority group
and a low interrupt priority group by setting the priority specification flag registers (PR0L, PR0H, PR1L).
Multiple high priority interrupts can be applied to low priority interrupts. If two or more interrupts with the same
priority are simultaneously generated, each interrupt has a predetermined priority (see Table 15-1).
A standby release signal is generated.
Five external interrupt requests and 13 internal interrupt requests are incorporated as maskable interrupts.
(3) Software interrupt
This is a vectored interrupt to be generated by executing the BRK instruction. It is acknowledged even in an
interrupt disabled state. The software interrupt does not undergo interrupt priority control.
15.2 Interrupt Sources and Configuration
A total of 20 interrupt sources exist among non-maskable, maskable, and software interrupts (see Table 15-1).
Remark Two watchdog timer interrupt sources (INTWDT): a non-maskable interrupt and a maskable interrupt
(internal), are available, either of which can be selected.
246
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
Table 15-1. Interrupt Source List
Interrupt Source
Internal/
External
Vector
Table
Address
Internal
0004H
Interrupt
Type
Default
PriorityNote 1
Nonmaskable
—
INTWDT
Watchdog timer overflow
(with watchdog timer mode 1 selected)
Maskable
0
INTWDT
Watchdog timer overflow
(with interval timer mode selected)
1
INTP0
Pin input edge detection
2
INTP1
0008H
3
INTP2
000AH
4
INTP3
000CH
5
INTSER0
Serial interface UART0 reception error
generation
6
INTSR0
End of serial interface UART0 reception
0010H
7
INTST0
End of serial interface UART0 transmission
0012H
8
INTCSI30
End of serial interface SIO3 (SIO30) transfer
0014H
9
INTCSI31
End of serial interface SIO3 (SIO31) transfer
0016H
10
INTWTI
Reference time interval signal from watch timer
001AH
11
INTTM00
Match between TM0 and CR00
(when CR00 is specified as compare register)
Detection of TI01 valid edge
(when CR00 is specified as capture register)
001CH
12
INTTM01
Match between TM0 and CR01
(when CR01 is specified as compare register)
Detection of TI00 valid edge
001EH
Name
Trigger
Basic
Configuration
TypeNote 2
(A)
(B)
External
Internal
0006H
000EH
(C)
(B)
(when CR01 is specified as capture register)
Software
13
INTTM50
Match between TM50 and CR50
0020H
14
INTTM51
Match between TM51 and CR51
0022H
15
INTAD0
End of A/D converter conversion
0024H
16
INTWT
Watch timer overflow
0026H
17
INTKR
Port 4 falling edge detection
—
BRK
BRK instruction execution
External
0028H
(D)
—
003EH
(E)
Notes 1. The default priority is the priority applicable when two or more maskable interrupts are generated
simultaneously. 0 is the highest priority, and 17 is the lowest.
2. Basic configuration types (A) to (E) correspond to (A) to (E) in Figure 15-1.
Preliminary User’s Manual U16035EJ1V0UM
247
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-1. Basic Configuration of Interrupt Function (1/2)
(A) Internal non-maskable interrupt
Internal bus
Interrupt
request
Vector table
address generator
Priority controller
Standby release signal
(B) Internal maskable interrupt
Internal bus
MK
Interrupt
request
IE
PR
ISP
Priority controller
IF
Vector table
address generator
Standby release signal
(C) External maskable interrupt (INTP0 to INTP3)
Internal bus
External interrupt edge
enable register
(EGP, EGN)
Interrupt
request
Edge
detector
MK
IF
IE
PR
ISP
Priority controller
Vector table
address generator
Standby release signal
248
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-1. Basic Configuration of Interrupt Function (2/2)
(D) External maskable interrupt (INTKR)
Internal bus
MK
Interrupt
request
Falling
edge
detector
IF
IE
PR
ISP
Priority controller
Vector table
address generator
1 when MEM = 01H
Standby release signal
(E) Software interrupt
Internal bus
Interrupt
request
IF:
Priority controller
Vector table
address generator
Interrupt request flag
IE:
Interrupt enable flag
ISP:
In-service priority flag
MK:
Interrupt mask flag
PR:
Priority specification flag
MEM: Memory expansion mode register
Preliminary User’s Manual U16035EJ1V0UM
249
CHAPTER 15
INTERRUPT FUNCTIONS
15.3 Registers to Control Interrupt Function
The following 7 types of registers are used to control the interrupt functions.
•
Interrupt request flag register (IF0L, IF0H, IF1L)
•
Interrupt mask flag register (MK0L, MK0H, MK1L)
•
Priority specification flag register (PR0L, PR0H, PR1L)
•
External interrupt rising edge enable register (EGP)
•
External interrupt falling edge enable register (EGN)
•
Memory expansion mode register (MEM)
•
Program status word (PSW)
Table 15-2 gives a list of interrupt request flags, interrupt mask flags, and priority specification flags corresponding
to interrupt request sources.
Table 15-2. Flags Corresponding to Interrupt Request Sources
Interrupt Source
Interrupt Request Flag
Interrupt Mask Flag
Register
INTWDT
WDTIFNote
INTP0
INTP1
INTP2
INTP3
INTSER0
INTSR0
INTST0
PIF0
PIF1
PIF2
PIF3
SERIF0
SRIF0
STIF0
INTCSI30
INTCSI31
INTWTI
INTTM00
INTTM01
INTTM50
INTTM51
INTAD0
INTWT
INTKR
Priority Specification Flag
Register
IF0L
WDTMK
PMK0
PMK1
PMK2
PMK3
SERMK0
SRMK0
STMK0
MK0L
WDTPR
PPR0
PPR1
PPR2
PPR3
SERPR0
SRPR0
STPR0
PR0L
CSIIF30
CSIIF31
WTIIF
TMIF00
TMIF01
TMIF50
TMIF51
IF0H
CSIMK30
CSIMK31
WTIMK
TMMK00
TMMK01
TMMK50
TMMK51
MK0H
CSIPR30
CSIPR31
WTIPR
TMPR00
TMPR01
TMPR50
TMPR51
PR0H
ADIF0
WTIF
KRIF
IF1L
ADMK0
WTMK
KRMK
MK1L
ADPR0
WTPR
KRPR
PR1L
Note Interrupt control flag when watchdog timer is used as interval timer
250
Register
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
(1) Interrupt request flag registers (IF0L, IF0H, IF1L)
The interrupt request flags are set to 1 when the corresponding interrupt request is generated or an instruction
is executed. They are cleared to 0 when an instruction is executed upon acknowledgment of an interrupt request
or upon application of RESET input.
IF0L, IF0H, and IF1L are set by a 1-bit or 8-bit memory manipulation instruction. When IF0L and IF0H are
combined to form 16-bit register IF0, they are set by a 16-bit memory manipulation instruction.
RESET input sets these registers to 00H.
Figure 15-2. Format of Interrupt Request Flag Register (IF0L, IF0H, IF1L)
Address: FFE0H After reset: 00H R/W
Symbol
IF0L
7
6
5
4
3
2
1
0
STIF0
SRIF0
SERIF0
PIF3
PIF2
PIF1
PIF0
WDTIF
Address: FFE1H After reset: 00H R/W
Symbol
IF0H
7
6
5
4
3
2
1
0
TMIF51
TMIF50
TMIF01
TMIF00
WTIIF
0
CSIIF31
CSIIF30
Address: FFE2H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
IF1L
0
0
0
0
0
KRIF
WTIF
ADIF0
XXIFX
Interrupt request flag
0
No interrupt request signal is generated
1
Interrupt request signal is generated, interrupt request status
Cautions 1. The WDTIF flag is R/W enabled only when the watchdog timer is used as the interval timer.
If watchdog timer mode 1 is used, set the WDTIF flag to 0.
2. Be sure to set bit 2 of IF0H and bits 3 to 7 of IF1L to 0.
3. When operating a timer, serial interface, or A/D converter after standby release, run it once
after clearing an interrupt request flag. An interrupt request flag may be set by noise.
4. When an interrupt is acknowledged, the interrupt request flag is automatically cleared, and
then processing of the interrupt routine is started.
Preliminary User’s Manual U16035EJ1V0UM
251
CHAPTER 15
INTERRUPT FUNCTIONS
(2) Interrupt mask flag registers (MK0L, MK0H, MK1L)
The interrupt mask flags are used to enable/disable the corresponding maskable interrupt service.
MK0L, MK0H, and MK1L are set by a 1-bit or 8-bit memory manipulation instruction. When MK0L and MK0H
are combined to form a 16-bit register MK0, they are set by a 16-bit memory manipulation instruction.
RESET input sets these registers to FFH.
Figure 15-3. Format of Interrupt Mask Flag Register (MK0L, MK0H, MK1L)
Address: FFE4H After reset: FFH R/W
Symbol
MK0L
7
6
5
4
3
2
1
0
STMK0
SRMK0
SERMK0
PMK3
PMK2
PMK1
PMK0
WDTMK
Address: FFE5H After reset: FFH R/W
Symbol
7
6
5
4
3
2
1
0
MK0H
TMMK51
TMMK50
TMMK01
TMMK00
WTIMK
1
CSIMK31
CSIMK30
Address: FFE6H After reset: FFH R/W
Symbol
7
6
5
4
3
2
1
0
MK1L
1
1
1
1
1
KRMK
WTMK
ADMK0
XXMKX
Interrupt servicing control
0
Interrupt servicing enabled
1
Interrupt servicing disabled
Cautions 1. If the watchdog timer is used in watchdog timer mode 1, the contents of the WDTMK flag
become undefined when read.
2. Because port 0 pins have an alternate function as external interrupt request input, when
the output level is changed by specifying the output mode of the port function, an interrupt
request flag is set. Therefore, 1 should be set in the interrupt mask flag before using the
output mode.
3. Be sure to set bit 2 of MK0H and bits 3 to 7 of MK1L to 1.
252
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
(3) Priority specification flag registers (PR0L, PR0H, PR1L)
The priority specification flags are used to set the corresponding maskable interrupt priority orders.
PR0L, PR0H, and PR1L are set by a 1-bit or 8-bit memory manipulation instruction. If PR0L and PR0H are
combined to form 16-bit register PR0, they are set by a 16-bit memory manipulation instruction.
RESET input sets these registers to FFH.
Figure 15-4. Format of Priority Specification Flag Register (PR0L, PR0H, PR1L)
Address: FFE8H After reset: FFH R/W
Symbol
PR0L
7
6
5
4
3
2
1
0
STPR0
SRPR0
SERPR0
PPR3
PPR2
PPR1
PPR0
WDTPR
Address: FFE9H After reset: FFH R/W
Symbol
PR0H
7
6
5
4
3
2
1
0
TMPR51
TMPR50
TMPR01
TMPR00
WTIPR
1
CSIPR31
CSIPR30
Address: FFEAH After reset: FFH R/W
Symbol
7
6
5
4
3
2
1
0
PR1L
1
1
1
1
1
KRPR
WTPR
ADPR0
XXPRX
Priority level selection
0
High priority level
1
Low priority level
Cautions 1. When the watchdog timer is used in the watchdog timer mode 1, set 1 in the WDTPR flag.
2. Be sure to set bit 2 of PR0H and bits 3 to 7 of PR1L to 1.
Preliminary User’s Manual U16035EJ1V0UM
253
CHAPTER 15
INTERRUPT FUNCTIONS
(4) External interrupt rising edge enable register (EGP), external interrupt falling edge enable register (EGN)
These registers specify the valid edge for INTP0 to INTP3.
EGP and EGN are set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets these registers to 00H.
Figure 15-5. Format of External Interrupt Rising Edge Enable Register (EGP) and
External Interrupt Falling Edge Enable Register (EGN)
Address: FF48H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
EGP
0
0
0
0
EGP3
EGP2
EGP1
EGP0
Address: FF49H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
EGN
0
0
0
0
EGN3
EGN2
EGN1
EGN0
EGPn
EGNn
0
0
Interrupt disabled
0
1
Falling edge
1
0
Rising edge
1
1
Both rising and falling edges
INTPn pin valid edge selection (n = 0 to 3)
(5) Memory expansion mode register (MEM)
MEM sets the rising edge detection function of port 4.
MEM is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets MEM to 00H.
Figure 15-6. Format of Memory Expansion Mode Register (MEM)
Address: FF47H After reset: 00H R/W
Symbol
7
6
5
4
3
2
1
0
MEM
0
0
0
0
0
MM2
MM1
MM0
MM2
MM1
MM0
0
0
0
Single-chip mode
0
0
1
Port 4 falling edge detection mode
Other than above
Caution
254
Single-chip/memory expansion mode selection
Setting prohibited
When using the falling edge detection function of port 4, be sure to set MEM to 01H.
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
(6) Program status word (PSW)
The program status word is a register to hold the instruction execution result and the current status for an interrupt
request. The IE flag to set maskable interrupt enable/disable and the ISP flag to control nesting processing are
mapped.
Besides 8-bit read/write, this register can carry out operations with a bit manipulation instruction and dedicated
instructions (EI and DI). When a vectored interrupt request is acknowledged, if the BRK instruction is executed,
the contents of PSW are automatically saved into a stack and the IE flag is reset to 0. If a maskable interrupt
request is acknowledged, the contents of the priority specification flag of the acknowledged interrupt are
transferred to the ISP flag. The PSW contents are also saved into the stack with the PUSH PSW instruction.
They are reset from the stack with the RETI, RETB, and POP PSW instructions.
RESET input sets PSW to 02H.
Figure 15-7. Format of Program Status Word
PSW
7
6
5
4
3
2
1
0
After reset
IE
Z
RBS1
AC
RBS0
0
ISP
CY
02H
Used when normal instruction is executed
ISP
Priority of interrupt currently being serviced
0
High-priority interrupt servicing (Low-priority
interrupt disable)
1
Interrupt request not acknowledged, or lowpriority interrupt servicing (All maskable
interrupts enable)
IE
Interrupt request acknowledge enable/disable
0
Disable
1
Enable
Preliminary User’s Manual U16035EJ1V0UM
255
CHAPTER 15
INTERRUPT FUNCTIONS
15.4 Interrupt Servicing Operations
15.4.1 Non-maskable interrupt request acknowledge operation
A non-maskable interrupt request is unconditionally acknowledged even if in an interrupt acknowledge disable
state. It does not undergo interrupt priority control and has highest priority over all other interrupts.
If a non-maskable interrupt request is acknowledged, the contents are saved into the stacks in the order of PSW,
then PC, the IE flag and ISP flag are reset (0), and the contents of the vector table are loaded into PC and branched.
A new non-maskable interrupt request generated during execution of a non-maskable interrupt servicing program
is acknowledged after the current execution of the non-maskable interrupt servicing program is terminated (following
RETI instruction execution) and one main routine instruction is executed. However, if a new non-maskable interrupt
request is generated twice or more during non-maskable interrupt servicing program execution, only one nonmaskable interrupt request is acknowledged after termination of the non-maskable interrupt servicing program
execution. Figures 15-8, 15-9, and 15-10 show the flowchart of the non-maskable interrupt request generation through
acknowledge, acknowledge timing of non-maskable interrupt request, and acknowledge operation at multiple nonmaskable interrupt request generation, respectively.
256
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-8. Non-Maskable Interrupt Request Generation to Acknowledge Flowchart
Start
WDTM4 = 1
(with watchdog timer
mode selected)?
No
Interval timer
Yes
Overflow in WDT?
No
Yes
WDTM3 = 0
(with non-maskable
interrupt selected)?
No
Reset processing
Yes
Interrupt request generation
WDT interrupt
servicing?
No
Interrupt request held pending
Yes
Interrupt
control register not
accessed?
No
Yes
Start of interrupt servicing
WDTM: Watchdog timer mode register
WDT: Watchdog timer
Figure 15-9. Non-Maskable Interrupt Request Acknowledge Timing
CPU processing
Instruction
Instruction
PSW and PC save, jump Interrupt service
to interrupt servicing
program
WDTIF
Interrupt request generated during this interval is acknowledged at
.
WDTIF: Watchdog timer interrupt request flag
Preliminary User’s Manual U16035EJ1V0UM
257
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-10. Non-Maskable Interrupt Request Acknowledge Operation
(a) If a non-maskable interrupt request is generated during non-maskable interrupt servicing program
execution
Main routine
NMI request <1>
NMI request <2>
Execution of NMI request <1>
NMI request <2> held pending
Execution of 1 instruction
Servicing of NMI request <2> that was pended
(b) If two non-maskable interrupt requests are generated during non-maskable interrupt servicing program
execution
Main routine
NMI request <1>
NMI request <2>
Execution of 1 instruction
NMI request <3>
Execution of NMI request <1>
NMI request <2> held pending
NMI request <3> held pending
Servicing of NMI request <2> that was pended
NMI request <3> not acknowledged
(Although two or more NMI requests have been generated,
only one request is acknowledged.)
258
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
15.4.2 Maskable interrupt request acknowledge operation
A maskable interrupt request becomes acknowledgeable when an interrupt request flag is set to 1 and the mask
(MK) flag corresponding to that interrupt request is cleared to 0. A vectored interrupt request is acknowledged if in
the interrupt enable state (when IE flag is set to 1). However, a low-priority interrupt request is not acknowledged
during servicing of a higher priority interrupt request (when the ISP flag is reset to 0). The times from generation
of a maskable interrupt request until interrupt servicing is performed are listed in Table 15-3 below.
For the interrupt request acknowledge timing, see Figures 15-12 and 15-13.
Table 15-3. Times from Generation of Maskable Interrupt Until Servicing
Minimum Time
Maximum TimeNote
When ××PR = 0
7 clocks
32 clocks
When ××PR = 1
8 clocks
33 clocks
Note If an interrupt request is generated just before a divide instruction, the wait time becomes longer.
Remark 1 clock: 1/fCPU (fCPU: CPU clock)
If two or more maskable interrupt requests are generated simultaneously, the request with a higher priority level
specified in the priority specification flag is acknowledged first. If two or more maskable interrupt requests have the
same priority level, the request with the highest default priority is acknowledged first.
An interrupt request that is held pending is acknowledged when it becomes acknowledgeable.
Figure 15-11 shows the interrupt request acknowledge algorithm.
If a maskable interrupt request is acknowledged, the contents are saved into the stacks in the order of PSW, then
PC, the IE flag is reset (0), and the contents of the priority specification flag corresponding to the acknowledged
interrupt are transferred to the ISP flag. Further, the vector table data determined for each interrupt request is loaded
into PC and branched.
Return from an interrupt is possible with the RETI instruction.
Preliminary User’s Manual U16035EJ1V0UM
259
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-11. Interrupt Request Acknowledge Processing Algorithm
Start
No
××IF = 1?
Yes (Interrupt request generation)
No
××MK = 0?
Yes
Interrupt request held pending
Yes (High priority)
××PR = 0?
No (Low priority)
Yes
Any high-priority
interrupt request among those
simultaneously generated
with ××PR = 0?
Interrupt request held pending
Any high-priority
interrupt request among
those simultaneously generated
with ××PR = 0?
No
No
IE = 1?
Yes
Interrupt request held pending
No
Interrupt request held pending
Any high-priority
interrupt request among
those simultaneously
generated?
No
IE = 1?
Vectored interrupt servicing
Yes
ISP = 1?
Yes
Yes
Yes
Interrupt request held pending
No
Interrupt request held pending
No
Interrupt request held pending
Vectored interrupt servicing
××IF:
Interrupt request flag
××MK: Interrupt mask flag
××PR: Priority specification flag
IE:
Flag that controls acknowledge of maskable interrupt request (1 = enable, 0 = disable)
ISP:
Flag that indicates the priority level of the interrupt currently being serviced (0 = high-priority interrupt
servicing, 1 = no interrupt request acknowledged, or low-priority interrupt servicing)
260
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-12. Interrupt Request Acknowledge Timing (Minimum Time)
6 clocks
CPU processing
Instruction
Instruction
PSW and PC save,
jump to interrupt
servicing
Interrupt servicing
program
××IF
(××PR = 1)
8 clocks
××IF
(××PR = 0)
7 clocks
Remark 1 clock: 1/fCPU (fCPU: CPU clock)
Figure 15-13. Interrupt Request Acknowledge Timing (Maximum Time)
CPU processing
Instruction
25 clocks
6 clocks
Divide instruction
PSW and PC save,
jump to interrupt
servicing
Interrupt servicing
program
××IF
(××PR = 1)
33 clocks
××IF
(××PR = 0)
32 clocks
Remark 1 clock: 1/fCPU (fCPU: CPU clock)
15.4.3
Software interrupt request acknowledge operation
A software interrupt request is acknowledged by BRK instruction execution. Software interrupts cannot be disabled.
If a software interrupt request is acknowledged, the contents are saved into the stacks in the order of the program
status word (PSW), then program counter (PC), the IE flag is reset (0), and the contents of the vector table (003EH,
003FH) are loaded into PC and branched.
Return from a software interrupt is possible with the RETB instruction.
Caution
Do not use the RETI instruction for returning from the software interrupt.
Preliminary User’s Manual U16035EJ1V0UM
261
CHAPTER 15
INTERRUPT FUNCTIONS
15.4.4 Nesting interrupt servicing
Nesting occurs when another interrupt request is acknowledged during execution of an interrupt.
Nesting does not occur unless the interrupt request acknowledge enable state is selected (IE = 1) (except nonmaskable interrupts). Also, when an interrupt request is acknowledged, interrupt request acknowledge becomes
disabled (IE = 0). Therefore, to enable nesting, it is necessary to set (1) the IE flag with the EI instruction during interrupt
servicing to enable interrupt acknowledge.
Moreover, even if interrupts are enabled, nesting may not be enabled, this being subject to interrupt priority control.
Two types of priority control are available: default priority control and programmable priority control. Programmable
priority control is used for nesting.
In the interrupt enable state, if an interrupt request with a priority equal to or higher than that of the interrupt currently
being serviced is generated, it is acknowledged for nesting. If an interrupt with a priority lower than that of the interrupt
currently being serviced is generated during interrupt servicing, it is not acknowledged for nesting.
Interrupt requests that are not enabled because of the interrupt disable state or they have a lower priority are held
pending. When servicing of the current interrupt ends, the pended interrupt request is acknowledged following
execution of one main processing instruction execution.
Nesting is not possible during non-maskable interrupt servicing.
Table 15-4 shows interrupt requests enabled for nesting and Figure 15-14 shows nesting examples.
Table 15-4. Interrupt Request Enabled for Nesting During Interrupt Servicing
Nesting Request
Non-Maskable Interrupt Request
Maskable Interrupt Request
PR = 0
Interrupt Being Serviced
IE = 1
IE = 0
IE = 1
IE = 0
×
×
×
×
ISP = 0
×
×
×
ISP = 1
×
×
×
×
×
Non-maskable interrupt
Maskable interrupt
Software interrupt
Remarks 1.
PR = 1
: Nesting enabled
2. ×: Nesting disabled
3. ISP and IE are flags contained in PSW.
ISP = 0: An interrupt with higher priority is being serviced.
ISP = 1: No interrupt request has been acknowledged, or an interrupt with a lower priority is being
serviced.
IE = 0:
Interrupt request acknowledge is disabled.
IE = 1:
Interrupt request acknowledge is enabled.
4. PR is a flag contained in PR0L, PR0H, and PR1L.
PR = 0: Higher priority level
PR = 1: Lower priority level
262
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-14. Nesting Examples (1/2)
Example 1. Nesting occurs twice
Main processing
INTxx servicing
INTyy servicing
IE = 0
EI
IE = 0
IE = 0
EI
INTxx
(PR = 1)
INTzz servicing
EI
INTyy
(PR = 0)
INTzz
(PR = 0)
RETI
RETI
RETI
During servicing of interrupt INTxx, two interrupt requests, INTyy and INTzz, are acknowledged, and nesting takes
place. Before each interrupt request is acknowledged, the EI instruction must always be issued to enable interrupt
request acknowledge.
Example 2. Nesting does not occur due to priority control
Main processing
EI
INTxx servicing
INTyy servicing
IE = 0
EI
INTxx
(PR = 0)
INTyy
(PR = 1)
1 instruction execution
RETI
IE = 0
RETI
Interrupt request INTyy issued during servicing of interrupt INTxx is not acknowledged because its priority is lower
than that of INTxx, and nesting does not take place. The INTyy interrupt request is held pending, and is acknowledged
following execution of one main processing instruction.
PR = 0: Higher priority level
PR = 1: Lower priority level
IE = 0: Interrupt request acknowledge disabled
Preliminary User’s Manual U16035EJ1V0UM
263
CHAPTER 15
INTERRUPT FUNCTIONS
Figure 15-14. Nesting Examples (2/2)
Example 3. Nesting does not occur because interrupt is not enabled
Main processing
INTxx servicing INTyy servicing
IE = 0
EI
INTyy
(PR = 0)
INTxx
(PR = 0)
RETI
1 instruction execution
IE = 0
RETI
Interrupt is not enabled during servicing of interrupt INTxx (EI instruction is not issued), therefore, interrupt request
INTyy is not acknowledged and nesting does not take place. The INTyy interrupt request is held pending, and is
acknowledged following execution of one main processing instruction.
PR = 0: Higher priority level
IE = 0: Interrupt request acknowledge disabled
264
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 15
INTERRUPT FUNCTIONS
15.4.5 Interrupt request hold
There are instructions where, even if an interrupt request is issued for them while another instruction is executed,
request acknowledge is held pending until the end of execution of the next instruction. These instructions (interrupt
request hold instructions) are listed below.
•
MOV PSW, #byte
•
MOV A, PSW
•
MOV PSW, A
•
MOV1 PSW. bit, CY
•
MOV1 CY, PSW. bit
•
AND1 CY, PSW. bit
•
OR1 CY, PSW. bit
•
XOR1 CY, PSW. bit
•
SET1 PSW. bit
•
CLR1 PSW. bit
•
RETB
•
RETI
•
PUSH PSW
•
POP PSW
•
BT PSW. bit, $addr16
•
BF PSW. bit, $addr16
•
BTCLR PSW. bit, $addr16
•
EI
•
DI
•
Manipulate instructions for the IF0L, IF0H, IF1L, MK0L, MK0H, MK1L, PR0L, PR0H, and PR1L registers
Caution
The BRK instruction is not one of the above-listed interrupt request hold instructions. However,
the software interrupt activated by executing the BRK instruction causes the IE flag to be
cleared to 0. Therefore, even if a maskable interrupt request is generated during execution of
the BRK instruction, the interrupt request is not acknowledged. However, a non-maskable
interrupt request is acknowledged.
Figure 15-15 shows the timing with which interrupt requests are held pending.
Figure 15-15. Interrupt Request Hold
CPU processing
Instruction N
Instruction M
Save PSW and PC, Jump
to interrupt servicing
Interrupt servicing
program
××IF
Remarks 1. Instruction N: Interrupt request hold instruction
2. Instruction M: Instruction other than interrupt request hold instruction
3. The ××PR (priority level) values do not affect the operation of ××IF (interrupt request).
Preliminary User’s Manual U16035EJ1V0UM
265
CHAPTER 16
STANDBY FUNCTION
16.1 Standby Function and Configuration
16.1.1 Standby function
The standby function is designed to decrease power consumption of the system. The following two modes are
available.
(1) HALT mode
HALT instruction execution sets the HALT mode. The HALT mode is intended to stop the CPU operation clock.
The system clock oscillator continues oscillating. In this mode, current consumption is not decreased as much
as in the STOP mode. However, the HALT mode is effective to restart operation immediately upon interrupt
request and to carry out intermittent operations such as watch applications.
(2) STOP mode
STOP instruction execution sets the STOP mode. In the STOP mode, the main system clock oscillator stops,
stopping the whole system, thereby considerably reducing the CPU power consumption.
Data memory low-voltage hold (down to VDD = 1.6 V) is possible. Thus, the STOP mode is effective to hold data
memory contents with ultra-low current consumption.
Because this mode can be cleared upon interrupt request, it enables intermittent operations to be carried out.
However, because a wait time is required to secure an oscillation stabilization time after the STOP mode is
cleared, select the HALT mode if it is necessary to start processing immediately upon interrupt request.
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 latch and output buffer statuses are also held.
Cautions 1. The STOP mode can be used only when the system operates with the main system clock
(subsystem clock oscillation cannot be stopped). The HALT mode can be used with either
the main system clock or the subsystem clock.
2. When operation is transferred to the STOP mode, be sure to stop the peripheral hardware
operation and execute the STOP instruction.
3. The following sequence is recommended for power consumption reduction of the A/D
converter when the standby function is used: First clear bit 7 (ADCS0) of the A/D converter
mode register 0 (ADM0) to 0 to stop the A/D conversion operation, and then execute the HALT
or STOP instruction.
266
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 16
STANDBY FUNCTION
16.1.2 Standby function control register
The wait time after the STOP mode is cleared upon interrupt request is controlled with the oscillation stabilization
time select register (OSTS).
OSTS is set by an 8-bit memory manipulation instruction.
RESET input sets OSTS to 04H.
Figure 16-1.
Format of Oscillation Stabilization Time Select Register (OSTS)
Address: FFFAH After reset: 04H R/W
Symbol
7
6
5
4
3
2
1
0
OSTS
0
0
0
0
0
OSTS2
OSTS1
OSTS0
OSTS2
OSTS1
OSTS0
0
0
0
212/fX (488 µs)
0
0
1
214/fX (1.95 ms)
0
1
0
215/fX (3.91 ms)
0
1
1
216/fX (7.81 ms)
1
0
0
217/fX (15.6 ms)
Other than above
Selection of oscillation stabilization time
Setting prohibited
Caution The wait time after the STOP mode is cleared does not include the time (see “a” in the illustration
below) from STOP mode clear to clock oscillation start. The time is not included either by RESET
input or by interrupt request generation.
STOP mode clear
X1 pin voltage
waveform
a
VSS
Remarks 1. fX: Main system clock oscillation frequency
2. Values in parentheses are for operation with fX = 8.38 MHz.
Preliminary User’s Manual U16035EJ1V0UM
267
CHAPTER 16
STANDBY FUNCTION
16.2 Operations of Standby Function
16.2.1 HALT mode
(1) HALT mode setting and operating status
The HALT mode is set by executing the HALT instruction. It can be set with the main system clock or the
subsystem clock.
The operating status in the HALT mode is described below.
Table 16-1.
HALT Mode
Setting
During HALT Instruction Execution
Using Main System Clock
Without Subsystem
ClockNote 1
Item
HALT Mode Operating Status
With Subsystem
ClockNote 2
During HALT Instruction Execution
Using Subsystem Clock
With Main System
Clock Oscillation
With Main System
Clock Oscillation Stopped
Clock generator
Both main system clock and subsystem clock can be oscillated. Clock supply to CPU stops.
CPU
Operation stops.
Port (output latch)
Status before HALT mode setting is held.
16-bit timer/event
counter
Operable
Operation stops.
8-bit timer/event
counter
Operable
Operable when TI50,
TI51 are selected as
count clock.
Watch timer
Operable when fX/27 is
selected as count clock
Watchdog timer
Operable
A/D converter
Operation stops.
Serial interface
Operable
External interrupt
Operable
Operable
Operable when fXT is
selected as count clock.
Operation stops.
Operable during
external SCK.
Notes 1. Including case when external clock is not supplied.
2. Including case when external clock is supplied.
268
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 16
STANDBY FUNCTION
(2) HALT mode release
The HALT mode can be released with the following three types of sources.
(a) Release by unmasked interrupt request
When an unmasked interrupt request is generated, the HALT mode is released. If interrupt acknowledge
is enabled, vectored interrupt service is carried out. If interrupt acknowledge is disabled, the next address
instruction is executed.
Figure 16-2.
HALT Mode Release by Interrupt Request Generation
Interrupt request
HALT instruction
Wait
Standby release
signal
Operation mode
HALT mode
Wait
Operation mode
Oscillation
Clock
Remarks 1. The broken line indicates the case when the interrupt request which has released the standby
mode is acknowledged.
2. Wait times are as follows:
• When vectored interrupt service is carried out:
8 or 9 clocks
• When vectored interrupt service is not carried out: 2 or 3 clocks
(b) Release by non-maskable interrupt request
When a non-maskable interrupt request is generated, the HALT mode is released and vectored interrupt
service is carried out whether interrupt acknowledge is enabled or disabled.
Preliminary User’s Manual U16035EJ1V0UM
269
CHAPTER 16
STANDBY FUNCTION
(c) Release by RESET input
When RESET signal is input, HALT mode is released. And, as in the case with normal reset operation, a
program is executed after branch to the reset vector address.
Figure 16-3.
HALT Mode Release by RESET Input
Wait
(217/fX: 15.6 ms)
HALT instruction
RESET
signal
Operating mode
Reset
period
HALT mode
Oscillation
Clock
Oscillation
stop
Oscillation stabilization
wait status
Operating mode
Oscillation
Remarks 1. fX: Main system clock oscillation frequency
2. Values in parentheses are for operation with fX = 8.38 MHz.
Table 16-2.
Release Source
Operation After HALT Mode Release
MK××
PR××
IE
ISP
0
0
0
×
Next address instruction execution
0
0
1
×
Interrupt service execution
0
1
0
1
Next address instruction execution
0
1
×
0
0
1
1
1
Interrupt service execution
1
×
×
×
HALT mode hold
Non-maskable interrupt request
—
—
×
×
Interrupt service execution
RESET input
—
—
×
×
Reset processing
Maskable interrupt request
×: Don’t care
270
Preliminary User’s Manual U16035EJ1V0UM
Operation
CHAPTER 16
STANDBY FUNCTION
16.2.2 STOP mode
(1) STOP mode setting and operating status
The STOP mode is set by executing the STOP instruction. It can be set only with the main system clock.
Cautions 1. When the STOP mode is set, the X2 pin is internally connected to VDD1 via a pull-up resistor
to minimize the leakage current at the crystal oscillator. Thus, do not use the STOP mode
in a system where an external clock is used for the main system clock.
2. Because the 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, the STOP mode is reset to the HALT mode
immediately after execution of the STOP instruction. After the wait set using the oscillation
stabilization time select register (OSTS), the operating mode is set.
The operating status in the STOP mode is described below.
Table 16-3.
STOP Mode Operating Status
STOP Mode Setting
With Subsystem Clock
Item
Without Subsystem Clock
Clock generator
Only main system clock oscillation is stopped.
CPU
Operation stops.
Port (output latch)
Status before STOP mode setting is held.
16-bit timer/event counter
Operation stops.
8-bit timer/event counter
Operable only when TI50, TI51 are selected as count clock.
Watch timer
Operable when fXT is selected as count
clock.
Watchdog timer
Operation stops.
Clock output/buzzer output
PCL and BUZ at low level.
A/D converter
Operation stops.
Serial interface
Other than UART
UART
Operation stops.
Operable only when externally supplied input clock is specified as the serial clock.
Operation stops (transmit shift register 0 (TXS0), receive shift register 0 (RX0),
and receive buffer register 0 (RXB0) hold the value just before the clock stop).
External interrupt
Operable
Preliminary User’s Manual U16035EJ1V0UM
271
CHAPTER 16
STANDBY FUNCTION
(2) STOP mode release
The STOP mode can be released by the following two types of sources.
(a) Release by unmasked interrupt request
When an unmasked interrupt request is generated, the STOP mode is released. If interrupt acknowledge
is enabled after the lapse of oscillation stabilization time, vectored interrupt service is carried out. If interrupt
acknowledge is disabled, the next address instruction is executed.
Figure 16-4.
STOP Mode Release by Interrupt Request Generation
Interrupt
request
Wait
(Time set by OSTS)
STOP instruction
Standby release
signal
Operating mode
Clock
Oscillation
STOP mode
Oscillation stabilization
wait status
Oscillation stop
Oscillation
Operating mode
Remark The broken line indicates the case when the interrupt request which has released the standby
mode is acknowledged.
272
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 16
STANDBY FUNCTION
(b) Release by RESET input
The STOP mode is released when RESET signal is input, and after the lapse of oscillation stabilization time,
reset operation is carried out.
Figure 16-5. STOP Mode Release by RESET Input
Wait
(217/fX: 15.6 ms)
STOP instruction
RESET
signal
Operating mode
Clock
Reset
period
STOP mode
Oscillation
Oscillation stabilization
wait status
Operating mode
Oscillation
Oscillation stop
Remarks 1. fX: Main system clock oscillation frequency
2. Values in parentheses are for operation with fX = 8.38 MHz.
Table 16-4.
Release Source
Maskable interrupt request
RESET input
Operation After STOP Mode Release
MK××
PR××
IE
ISP
Operation
0
0
0
×
Next address instruction execution
0
0
1
×
Interrupt service execution
0
1
0
1
Next address instruction execution
0
1
×
0
0
1
1
1
Interrupt service execution
1
×
×
×
STOP mode hold
—
—
×
×
Reset processing
×: Don’t care
Preliminary User’s Manual U16035EJ1V0UM
273
CHAPTER 17
RESET FUNCTION
17.1 Reset Function
The following two operations are available to generate the reset signal.
(1)
External reset input via RESET pin
(2)
Internal reset by watchdog timer program loop time detection
External reset and internal reset have no functional differences. In both cases, program execution starts at the
address at 0000H and 0001H by RESET input.
When a low level is input to the RESET pin or the watchdog timer overflows, a reset is applied and each hardware
is set to the status shown in Table 17-1. Each pin has high impedance during reset input or during oscillation
stabilization time just after reset clear.
When a high level is input to the RESET pin, the reset is cleared and program execution starts after the lapse
of oscillation stabilization time (217/fX). The reset applied by watchdog timer overflow is automatically cleared after
a reset and program execution starts after the lapse of oscillation stabilization time (217/fX) (see Figures 17-2 to
17-4).
Cautions 1. For an external reset, input a low level for 10 µs or more to the RESET pin.
2. During reset input, main system clock oscillation remains stopped but subsystem clock
oscillation continues.
3. When the STOP mode is cleared by reset, the STOP mode contents are held during reset input.
However, the port pin becomes high-impedance.
Figure 17-1. Block Diagram of Reset Function
RESET
Count clock
Reset signal
Reset controller
Watchdog timer
Overflow
Stop
274
Preliminary User’s Manual U16035EJ1V0UM
Interrupt function
CHAPTER 17
RESET FUNCTION
Figure 17-2. Timing of Reset by RESET Input
X1
Oscillation
stabilization
time wait
Reset period
(Oscillation stop)
Normal operation
Normal operation
(Reset processing)
RESET
Internal
reset signal
Delay
Delay
Hi-Z
Port pin
Figure 17-3. Timing of Reset Due to Watchdog Timer Overflow
X1
Oscillation
stabilization
time wait
Reset period
(Oscillation stop)
Normal operation
Watchdog
timer
overflow
Normal operation
(Reset processing)
Internal
reset signal
Hi-Z
Port pin
Figure 17-4. Timing of Reset in STOP Mode by RESET Input
X1
STOP instruction execution
Normal operation
Stop status
(Oscillation stop)
Reset period
(Oscillation stop)
Oscillation
stabilization
time wait
Normal operation
(Reset processing)
RESET
Internal
reset signal
Delay
Port pin
Delay
Hi-Z
Preliminary User’s Manual U16035EJ1V0UM
275
CHAPTER 17
RESET FUNCTION
Table 17-1. Hardware Statuses After Reset (1/2)
Hardware
Program counter
(PC)Note 1
Contents of reset vector table
(0000H, 0001H) are set.
Stack pointer (SP)
Undefined
Program status word (PSW)
RAM
Status After Reset
02H
Data memory
UndefinedNote 2
General-purpose register
UndefinedNote 2
Port (output latch)
00H
Port mode registers (PM0, PM2 to PM5, PM7)
FFH
Pull-up resistor option registers (PU0, PU2 to PU5, PU7)
00H
Processor clock control register (PCC)
04H
CFHNote 3
Memory size switching register (IMS)
Memory expansion mode register (MEM)
00H
Oscillation stabilization time select register (OSTS)
04H
16-bit timer/event counter
Timer counter (TM0)
Capture/compare registers (CR00, CR01)
8-bit timer/event counter
0000H
Undefined
Prescaler mode register (PRM0)
00H
Mode control register (TMC0)
00H
Output control register (TOC0)
00H
Timer counters (TM50, TM51)
00H
Compare registers (CR50, CR51)
Undefined
Clock select registers (TCL50, TCL51)
00H
Mode control registers (TMC50, TMC51)
00H
Watch timer
Operation mode register (WTM)
00H
Watchdog timer
Clock select register (WDCS)
00H
Mode register (WDTM)
00H
Notes 1. During reset input or oscillation stabilization time wait, only the PC contents among the hardware
statuses become undefined. All other hardware statuses remain unchanged after reset.
2. When a reset is executed in the standby mode, the pre-reset status is held even after reset.
3. Although the initial value is CFH, use the following value to be set for each version.
µPD780021AS, 780031AS: 42H
µPD780022AS, 780032AS: 44H
µPD780023AS, 780033AS: C6H
µPD780024AS, 780034AS: C8H
µPD78F0034BS:
276
Value for mask ROM versions
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 17
RESET FUNCTION
Table 17-1. Hardware Statuses After Reset (2/2)
Hardware
Status After Reset
Clock output/buzzer output controller
Clock output select register (CKS)
00H
A/D converter
Conversion result register (ADCR0)
00H
Mode register (ADM0)
00H
Analog input channel specification register (ADS0)
00H
Asynchronous serial interface mode register (ASIM0)
00H
Asynchronous serial interface status register (ASIS0)
00H
Baud rate generator control register (BRGC0)
00H
Transmit shift register (TXS0)
FFH
Serial interface (UART0)
Receive buffer register (RXB0)
Serial interface (SIO3)
Interrupt
Shift registers (SIO30, SIO31)
Undefined
Operating mode registers (CSIM30, CSIM31)
00H
Request flag registers (IF0L, IF0H, IF1L)
00H
Mask flag registers (MK0L, MK0H, MK1L)
FFH
Priority specification flag registers (PR0L, PR0H, PR1L)
FFH
External interrupt rising edge enable register (EGP)
00H
External interrupt falling edge enable register (EGN)
00H
Preliminary User’s Manual U16035EJ1V0UM
277
CHAPTER 18 µPD78F0034BS
The µPD78F0034BS is provided as the flash memory version of the µPD780024AS, 780034AS Subseries.
The µPD78F0034BS replaces the internal mask ROM of the µPD780034BS with flash memory to which a program
can be written, erased and overwritten while mounted on the board. Table 18-1 lists the differences among the
µPD78F0034BS and the mask ROM versions.
Table 18-1. Differences Among µPD78F0034BS and Mask ROM Versions
µPD78F0034BS
Item
Mask ROM Versions
µPD780034AS Subseries
Internal ROM configuration
Internal ROM capacity
Flash memory
32
KBNote
bytesNote
µPD780024AS Subseries
Mask ROM
µPD780031AS:
µPD780032AS:
µPD780033AS:
µPD780034AS:
8 KB
16 KB
24 KB
µPD780031AS:
µPD780032AS:
µPD780033AS:
µPD780034AS:
Internal high-speed RAM capacity
1024
Resolution of A/D converter
10 bits
IC pin
None
Available
VPP pin
Available
None
Electrical specifications
Refer to data sheet of each product.
8 KB
16 KB
24 KB
32 KB
µPD780021AS:
µPD780022AS:
µPD780023AS:
µPD780024AS:
512 bytes
512 bytes
1024 bytes
1024 bytes
µPD780021AS:
µPD780022AS:
µPD780023AS:
µPD780024AS:
512 bytes
512 bytes
1024 bytes
1024 bytes
32 KB
8 bits
Note The same capacity as the mask ROM versions can be specified by means of the memory size switching
register (IMS).
Caution
There are differences in noise immunity and noise radiation between the flash memory and
mask ROM versions. When pre-producing an application set with the flash memory version and
then mass-producing it with the mask ROM version, be sure to conduct sufficient evaluations
for the commercial samples (not engineering samples) of the mask ROM version.
278
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 18
µPD78F0034BS
18.1 Memory Size Switching Register
The µPD78F0034BS allows users to select the internal memory capacity using the memory size switching register
(IMS) so that the same memory map as that of the µPD780021AS, 780022AS, 780023AS, 780024AS and
µPD780031AS, 780032AS, 780033AS, 780034AS with a different size of internal memory capacity can be achieved.
IMS is set by an 8-bit memory manipulation instruction.
RESET input sets IMS to CFH.
Caution
The initial value of IMS is “setting prohibited (CFH)”. Be sure to set the value of the relevant
mask ROM versions at initialization.
Figure 18-1. Format of Memory Size Switching Register (IMS)
Address: FFF0H After reset: CFH R/W
Symbol
IMS
7
6
5
4
3
2
1
0
RAM2
RAM1
RAM0
0
ROM3
ROM2
ROM1
ROM0
RAM2
RAM1
RAM0
0
1
0
512 bytes
1
1
0
1024 bytes
Other than above
Internal high-speed RAM capacity selection
Setting prohibited
ROM3
ROM2
ROM1
ROM0
0
0
1
0
8 KB
0
1
0
0
16 KB
0
1
1
0
24 KB
1
0
0
0
32 KB
1
1
1
1
60 KB (setting prohibited)
Other than above
Internal ROM capacity selection
Setting prohibited
The IMS settings to obtain the same memory map as mask ROM versions are shown in Table 18-2.
Table 18-2. Memory Size Switching Register Settings
Caution
Target Mask ROM Versions
IMS Setting
µPD780021AS, 780031AS
42H
µPD780022AS, 780032AS
44H
µPD780023AS, 780033AS
C6H
µPD780024AS, 780034AS
C8H
When using the mask ROM versions, be sure to set the value indicated in Table 18-2 to IMS.
Preliminary User’s Manual U16035EJ1V0UM
279
CHAPTER 18
µPD78F0034BS
18.2 Flash Memory Programming
On-board writing of flash memory (with device mounted on target system) is supported.
On-board writing is done after connecting a dedicated flash programmer (Flashpro III (FL-PR3, PG-FP3)) to the
host machine and target system.
Moreover, writing to flash memory can also be performed using a flash memory writing adapter connected to
Flashpro III.
Remark FL-PR3 is a product of Naito Densei Machida Mfg. Co., Ltd.
18.2.1 Selection of communication mode
Writing to flash memory is performed using Flashpro III and serial communication. Select the communication mode
for writing from Table 18-3. For the selection of the communication mode, a format like the one shown in Figure 182 is used. The communication modes are selected with the VPP pulse numbers shown in Table 18-3.
Table 18-3. Communication Mode List
Communication Mode
3-wire serial I/O
Number of Channels
1
Pin UsedNote
Number of VPP Pulses
SI30/P20
SO30/P21
SCK30/P22
0
SI30/P20
3
SO30/P21
SCK30/P22
HS/P25
3-wire serial I/O
1
SI31/P34
SO31/P35
SCK31/P36
1
UART
1
RxD0/P23
TxD0/P24
8
Pseudo 3-wire serial I/O
1
P72/TI50/TO50
(Serial clock input)
P71/TI01
(Serial data output)
P70/TI00/TO0
(Serial data input)
12
Note When the flash memory programming mode is entered, all pins that are not used for flash memory
programming become the same status as the status immediately after reset. Therefore, when the external
device connected to each port does not acknowledge the port status immediately after reset, pin connections
such as connecting to VDD0 or VDD1 via a resistor or connecting to VSS0 or VSS1 via a resistor are required.
Cautions 1. Be sure to select the number of VPP pulses shown in Table 18-3 for the communication mode.
2. If performing write operations to flash memory with the UART communication mode, set the
main system clock oscillation frequency to 3 MHz or higher.
280
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 18
µPD78F0034BS
Figure 18-2. Format of Communication Mode Selection
VPP pulses
10 V
VPP
VDD
VSS
VDD
RESET
Flash memory write mode
VSS
18.2.2 Flash memory programming function
Flash memory writing is performed through command and data transmit/receive operations using the selected
communication mode. The main functions are listed in Table 18-4.
Table 18-4. Main Functions of Flash Memory Programming
Function
Description
Reset
Used to detect write stop and transmission synchronization.
Batch verify
Compares entire memory contents and input data.
Batch erase
Erases the entire memory contents.
Batch blank check
Checks the deletion status of the entire memory.
High-speed write
Performs writing to flash memory according to write start address and number of write data
(bytes).
Continuous write
Performs continuous write operations using the data input with high-speed write operation.
Status
Checks the current operation mode and operation end.
Oscillation frequency setting
Inputs the resonator oscillation frequency information.
Erase time setting
Inputs the memory erase time.
Baud rate setting
Sets the communication rate when the UART mode is used.
Silicon signature read
Outputs the device name, memory capacity, and device block information.
Preliminary User’s Manual U16035EJ1V0UM
281
CHAPTER 18
µPD78F0034BS
18.2.3 Connection of Flashpro III
Connection of the Flashpro III and the µPD78F0034BS differs depending on communication mode (3-wire serial
I/O and UART). Each type of connection is shown in Figures 18-3 to 18-6.
Figure 18-3. Connection of Flashpro III in 3-Wire Serial I/O Mode
µ PD78F0034BS
Flashpro III
VPP
VPP
VDD
VDD
RESET
RESET
SCK
SCK3n
SO
SI3n
SI
SO3n
GND
VSS
Figure 18-4. Connection of Flashpro III in 3-Wire Serial I/O Mode (Using Handshake)
µ PD78F0034BS
Flashpro III
VPP
VPP
VDD
VDD
RESET
RESET
SCK
SCK30
SO
SI30
SI
SO30
HS
GND
HS (P25)
VSS
Figure 18-5. Connection of Flashpro III in UART Mode
µPD78F0034BS
Flashpro III
VPP
VPP
VDD
VDD
RESET
SO
RXD0
SI
TXD0
GND
282
RESET
VSS
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 18
µPD78F0034BS
Figure 18-6. Connection of Flashpro III in Pseudo 3-Wire Serial I/O Mode
µPD78F0034BS
Flashpro III
VPP
VPP
VDD
VDD
RESET
RESET
SCK
P72 (Serial clock input)
SO
P70 (Serial data input)
SI
P71 (Serial data output)
GND
VSS
Preliminary User’s Manual U16035EJ1V0UM
283
CHAPTER 19
INSTRUCTION SET
This chapter lists each instruction set of the µPD780024AS, 780034AS Subseries in table form. For details of its
operation and operation code, refer to the separate document 78K/0 Series Instructions User’s Manual (U12326E).
284
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
INSTRUCTION SET
19.1 Conventions
19.1.1 Operand identifiers and specification methods
Operands are written in “Operand” column of each instruction in accordance with the specification method of the
instruction operand identifier (refer to the assembler specifications for detail). When there are two or more methods,
select one of them. Alphabetic letters in capitals and symbols, #, !, $ and [ ] are key words and must be written 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
write 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 specification.
Table 19-1. Operand Identifiers and Specification Methods
Identifier
Specification Method
r
rp
sfr
sfrp
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 symbolNote
Special function register symbol (16-bit manipulatable register even addresses only)Note
saddr
saddrp
FE20H to FF1FH Immediate data or labels
FE20H to FF1FH Immediate data or labels (even address only)
addr16
addr11
addr5
0000H to FFFFH Immediate data or labels
(only even addresses for 16-bit data transfer instructions)
0800H to 0FFFH Immediate data or labels
0040H to 007FH Immediate data or labels (even address only)
word
byte
bit
16-bit immediate data or label
8-bit immediate data or label
3-bit immediate data or label
RBn
RB0 to RB3
Note Addresses from FFD0H to FFDFH cannot be accessed with these operands.
Remark For special function register symbols, refer to Table 3-5 Special Function Register List.
Preliminary User’s Manual U16035EJ1V0UM
285
CHAPTER 19
INSTRUCTION SET
19.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
RBS:
Register bank select flag
IE:
Interrupt request enable flag
NMIS:
Non-maskable interrupt servicing flag
( ):
Memory contents indicated by address or register contents in parentheses
XH, XL: 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)
19.1.3 Description of “flag operation” column
(Blank): Not affected
0:
Cleared to 0
1:
Set to 1
×:
Set/cleared according to the result
R:
Previously saved value is restored
286
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
INSTRUCTION SET
19.2 Operation List
Clock
Instruction
Mnemonic
Group
8-bit data
transfer
MOV
Operands
r, #byte
2
Operation
Note 1
Note 2
4
–
3
6
7
(saddr) ← byte
sfr, #byte
3
–
7
sfr ← byte
A, r
Note 3
1
2
–
A←r
r, A
Note 3
1
2
–
r←A
A, saddr
2
4
5
A ← (saddr)
saddr, A
2
4
5
(saddr) ← A
A, sfr
2
–
5
A ← sfr
sfr, A
2
–
5
sfr ← A
A, !addr16
3
8
9+n
A ← (addr16)
!addr16, A
3
8
9+m
(addr16) ← A
PSW, #byte
3
–
7
PSW ← byte
A, PSW
2
–
5
A ← PSW
PSW, A
2
–
5
PSW ← A
A, [DE]
1
4
5+n
A ← (DE)
[DE], A
1
4
5+m
(DE) ← A
A, [HL]
1
4
5+n
A ← (HL)
[HL], A
1
4
5+m
(HL) ← A
A, [HL + byte]
2
8
9+n
A ← (HL + byte)
[HL + byte], A
2
8
9+m
(HL + byte) ← A
A, [HL + B]
1
6
7+n
A ← (HL + B)
[HL + B], A
1
6
7+m
(HL + B) ← A
A, [HL + C]
1
6
7+n
A ← (HL + C)
1
6
7+m
(HL + C) ← A
1
2
–
A, r
Note 3
Z AC CY
r ← byte
saddr, #byte
[HL + C], A
XCH
Flag
Byte
×
×
×
×
×
×
A↔r
A, saddr
2
4
6
A ↔ (saddr)
A, sfr
2
–
6
A ↔ (sfr)
A, !addr16
3
8
10 + n + m A ↔ (addr16)
A, [DE]
1
4
6+n+m
A ↔ (DE)
A, [HL]
1
4
6+n+m
A ↔ (HL)
A, [HL + byte]
2
8
10 + n + m A ↔ (HL + byte)
A, [HL + B]
2
8
10 + n + m A ↔ (HL + B)
A, [HL + C]
2
8
10 + n + m A ↔ (HL + C)
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
3. Except r = A
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
Preliminary User’s Manual U16035EJ1V0UM
287
CHAPTER 19
Clock
Instruction
Mnemonic
Group
16-bit
data
transfer
MOVW
Operands
Operation
Note 1
Note 2
Z AC CY
rp, #word
3
6
–
rp ← word
saddrp, #word
4
8
10
(saddrp) ← word
sfrp, #word
4
–
10
sfrp ← word
AX, saddrp
2
6
8
AX ← (saddrp)
saddrp, AX
2
6
8
(saddrp) ← AX
AX, sfrp
2
–
8
AX ← sfrp
2
–
8
sfrp ← AX
AX, rp
Note 3
1
4
–
AX ← rp
rp, AX
Note 3
1
4
–
rp ← AX
3
10
12 + 2n AX ← (addr16)
3
10
12 + 2m (addr16) ← AX
1
4
–
AX ↔ rp
2
4
–
A, CY ← A + byte
×
×
×
3
6
8
(saddr), CY ← (saddr) + byte
×
×
×
AX, !addr16
!addr16, AX
XCHW
AX, rp
ADD
A, #byte
Note 3
saddr, #byte
2
4
–
A, CY ← A + r
×
×
×
r, A
2
4
–
r, CY ← r + A
×
×
×
A, saddr
2
4
5
A, CY ← A + (saddr)
×
×
×
A, !addr16
3
8
9+n
A, CY ← A + (addr16)
×
×
×
A, r
ADDC
Flag
Byte
sfrp, AX
8-bit
operation
INSTRUCTION SET
Note 4
A, [HL]
1
4
5+n
A, CY ← A + (HL)
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A + (HL + byte)
×
×
×
A, [HL + B]
2
8
9+n
A, CY ← A + (HL + B)
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A + (HL + C)
×
×
×
A, #byte
2
4
–
A, CY ← A + byte + CY
×
×
×
saddr, #byte
3
6
8
(saddr), CY ← (saddr) + byte + CY
×
×
×
2
4
–
A, CY ← A + r + CY
×
×
×
r, A
2
4
–
r, CY ← r + A + CY
×
×
×
A, r
Note 4
A, saddr
2
4
5
A, CY ← A + (saddr) + CY
×
×
×
A, !addr16
3
8
9+n
A, CY ← A + (addr16) + CY
×
×
×
A, [HL]
1
4
5+n
A, CY ← A + (HL) + CY
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A + (HL + byte) + CY
×
×
×
A, [HL + B]
2
8
9+n
A, CY ← A + (HL + B) + CY
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A + (HL + C) + CY
×
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
3. Only when rp = BC, DE or HL
4. Except r = A
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
288
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
Clock
Instruction
Mnemonic
Group
8-bit
operation
SUB
Operands
saddr, #byte
Operation
Z AC CY
Note 1
Note 2
2
4
–
A, CY ← A – byte
×
×
×
3
6
8
(saddr), CY ← (saddr) – byte
×
×
×
2
4
–
A, CY ← A – r
×
×
×
r, A
2
4
–
r, CY ← r – A
×
×
×
A, saddr
2
4
5
A, CY ← A – (saddr)
×
×
×
A, !addr16
3
8
9+n
A, CY ← A – (addr16)
×
×
×
A, r
Note 3
A, [HL]
1
4
5+n
A, CY ← A – (HL)
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A – (HL + byte)
×
×
×
A, [HL + B]
2
8
9+n
A, CY ← A – (HL + B)
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A – (HL + C)
×
×
×
A, #byte
2
4
–
A, CY ← A – byte – CY
×
×
×
saddr, #byte
3
6
8
(saddr), CY ← (saddr) – byte – CY
×
×
×
2
4
–
A, CY ← A – r – CY
×
×
×
r, A
2
4
–
r, CY ← r – A – CY
×
×
×
A, saddr
2
4
5
A, CY ← A – (saddr) – CY
×
×
×
A, !addr16
3
8
9+n
A, CY ← A – (addr16) – CY
×
×
×
A, [HL]
1
4
5+n
A, CY ← A – (HL) – CY
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A – (HL + byte) – CY
×
×
×
A, r
AND
Flag
Byte
A, #byte
SUBC
INSTRUCTION SET
Note 3
A, [HL + B]
2
8
9+n
A, CY ← A – (HL + B) – CY
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A – (HL + C) – CY
×
×
×
A, #byte
2
4
–
A←A
×
3
6
8
(saddr) ← (saddr)
saddr, #byte
byte
byte
×
2
4
–
A←A
r, A
2
4
–
r←r
A, saddr
2
4
5
A←A
(saddr)
×
A, !addr16
3
8
9+n
A←A
(addr16)
×
A, r
Note 3
r
×
×
A
A, [HL]
1
4
5+n
A←A
(HL)
×
A, [HL + byte]
2
8
9+n
A←A
(HL + byte)
×
A, [HL + B]
2
8
9+n
A←A
(HL + B)
×
A, [HL + C]
2
8
9+n
A←A
(HL + C)
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
3. Except r = A
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
Preliminary User’s Manual U16035EJ1V0UM
289
CHAPTER 19
Clock
Instruction
Mnemonic
Group
8-bit
operation
OR
Operands
A, #byte
Operation
Z AC CY
Note 1
Note 2
2
4
–
A ← A byte
×
3
6
8
(saddr) ← (saddr) byte
×
2
4
–
A←A r
×
r, A
2
4
–
r←r A
×
A, saddr
2
4
5
A ← A (saddr)
×
A, !addr16
3
8
9+n
A ← A (addr16)
×
A, r
Note 3
A, [HL]
1
4
5+n
A ← A (HL)
×
A, [HL + byte]
2
8
9+n
A ← A (HL + byte)
×
A, [HL + B]
2
8
9+n
A ← A (HL + B)
×
A, [HL + C]
2
8
9+n
A ← A (HL + C)
×
A, #byte
2
4
–
A←A
saddr, #byte
3
6
8
(saddr) ← (saddr)
2
4
–
A←A
2
4
–
r←r
A, r
Note 3
r, A
CMP
Flag
Byte
saddr, #byte
XOR
INSTRUCTION SET
×
byte
byte
r
×
×
×
A
A, saddr
2
4
5
A←A
(saddr)
×
A, !addr16
3
8
9+n
A←A
(addr16)
×
A, [HL]
1
4
5+n
A←A
(HL)
×
A, [HL + byte]
2
8
9+n
A←A
(HL + byte)
×
A, [HL + B]
2
8
9+n
A←A
(HL + B)
×
A, [HL + C]
2
8
9+n
A←A
(HL + C)
×
A, #byte
2
4
–
A – byte
×
×
×
3
6
8
(saddr) – byte
×
×
×
saddr, #byte
2
4
–
A–r
×
×
×
r, A
2
4
–
r–A
×
×
×
A, saddr
2
4
5
A – (saddr)
×
×
×
A, !addr16
3
8
9+n
A – (addr16)
×
×
×
A, r
Note 3
A, [HL]
1
4
5+n
A – (HL)
×
×
×
A, [HL + byte]
2
8
9+n
A – (HL + byte)
×
×
×
A, [HL + B]
2
8
9+n
A – (HL + B)
×
×
×
A, [HL + C]
2
8
9+n
A – (HL + C)
×
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
3. Except r = A
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
290
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
Clock
Instruction
Mnemonic
Group
16-bit
operation
Multiply/
divide
Operands
Flag
Byte
Operation
Note 1
Note 2
Z AC CY
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
×
×
×
MULU
X
2
16
–
AX ← A × X
DIVUW
C
2
25
–
AX (Quotient), C (Remainder) ← AX ÷ C
r
1
2
–
r←r+1
×
×
Increment/ INC
decrement
saddr
2
4
6
(saddr) ← (saddr) + 1
×
×
r
1
2
–
r←r–1
×
×
saddr
2
4
6
(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, Am – 1 ← Am) × 1 time
×
ROL
A, 1
1
2
–
(CY, A0 ← A7, Am + 1 ← Am) × 1 time
×
RORC
A, 1
1
2
–
(CY ← A0, A7 ← CY, Am – 1 ← Am) × 1 time
×
ROLC
A, 1
1
2
–
(CY ← A7, A0 ← CY, A m + 1 ← Am) × 1 time
×
ROR4
[HL]
2
10
DEC
Rotate
INSTRUCTION SET
12 + n + m A3 – 0 ← (HL)3 – 0, (HL)7 – 4 ← A3 – 0,
(HL)3 – 0 ← (HL)7 – 4
ROL4
[HL]
12 + n + m A3 – 0 ← (HL)7 – 4, (HL)3 – 0 ← A3 – 0,
2
10
ADJBA
2
4
–
Decimal Adjust Accumulator after
Addition
×
×
×
ADJBS
2
4
–
Decimal Adjust Accumulator after
Subtract
×
×
×
CY, saddr.bit
3
6
7
CY ← (saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← sfr.bit
×
CY, A.bit
2
4
–
CY ← A.bit
×
CY, PSW.bit
3
–
7
CY ← PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← (HL).bit
×
saddr.bit, CY
3
6
8
(saddr.bit) ← CY
sfr.bit, CY
3
–
8
sfr.bit ← CY
(HL)7 – 4 ← (HL)3 – 0
BCD
adjust
Bit
manipulate
MOV1
A.bit, CY
2
4
–
A.bit ← CY
PSW.bit, CY
3
–
8
PSW.bit ← CY
[HL].bit, CY
2
6
8+n+m
(HL).bit ← CY
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
Preliminary User’s Manual U16035EJ1V0UM
291
CHAPTER 19
Clock
Instruction
Mnemonic
Group
Bit
manipulate
AND1
OR1
XOR1
SET1
INSTRUCTION SET
Operands
Flag
Byte
Operation
Note 1
Note 2
Z AC CY
CY, saddr.bit
3
6
7
CY ← CY
(saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← CY
sfr.bit
×
CY, A.bit
2
4
–
CY ← CY
A.bit
×
CY, PSW.bit
3
–
7
CY ← CY
PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← CY
(HL).bit
×
CY, saddr.bit
3
6
7
CY ← CY (saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← CY sfr.bit
×
CY, A.bit
2
4
–
CY ← CY A.bit
×
CY, PSW.bit
3
–
7
CY ← CY PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← CY (HL).bit
×
CY, saddr.bit
3
6
7
CY ← CY
(saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← CY
sfr.bit
×
CY, A.bit
2
4
–
CY ← CY
A.bit
×
CY, PSW. bit
3
–
7
CY ← CY
PSW.bit
×
CY ← CY
(HL).bit
×
CY, [HL].bit
2
6
7+n
saddr.bit
2
4
6
(saddr.bit) ← 1
sfr.bit
3
–
8
sfr.bit ← 1
A.bit
2
4
–
A.bit ← 1
6
PSW.bit ← 1
×
×
×
×
×
×
PSW.bit
2
–
[HL].bit
2
6
saddr.bit
2
4
6
(saddr.bit) ← 0
sfr.bit
3
–
8
sfr.bit ← 0
A.bit
2
4
–
A.bit ← 0
PSW.bit
2
–
6
PSW.bit ← 0
[HL].bit
2
6
SET1
CY
1
2
–
CY ← 1
1
CLR1
CY
1
2
–
CY ← 0
0
NOT1
CY
1
2
–
CY ← CY
×
CLR1
8 + n + m (HL).bit ← 1
8 + n + m (HL).bit ← 0
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
292
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
Clock
Instruction
Mnemonic
Group
Flag
Byte
Operation
Note 1
Note 2
Z AC CY
3
7
–
(SP – 1) ← (PC + 3)H, (SP – 2) ← (PC + 3)L,
PC ← addr16, SP ← SP – 2
CALLF
!addr11
2
5
–
(SP – 1) ← (PC + 2)H, (SP – 2) ← (PC + 2)L,
PC15 – 11 ← 00001, PC10 – 0 ← addr11,
SP ← SP – 2
CALLT
[addr5]
1
6
–
(SP – 1) ← (PC + 1)H, (SP – 2) ← (PC + 1)L,
PCH ← (00000000, addr5 + 1),
PCL ← (00000000, addr5),
SP ← SP – 2
BRK
1
6
–
(SP – 1) ← PSW, (SP – 2) ← (PC + 1)H,
(SP – 3) ← (PC + 1)L, PCH ← (003FH),
PCL ← (003EH), SP ← SP – 3, IE ← 0
RET
1
6
–
PCH ← (SP + 1), PCL ← (SP),
SP ← SP + 2
RETI
1
6
–
PCH ← (SP + 1), PCL ← (SP),
PSW ← (SP + 2), SP ← SP + 3,
NMIS ← 0
R
R
R
RETB
1
6
–
PCH ← (SP + 1), PCL ← (SP),
PSW ← (SP + 2), SP ← SP + 3
R
R
R
PSW
1
2
–
(SP – 1) ← PSW, SP ← SP – 1
rp
1
4
–
(SP – 1) ← rpH, (SP – 2) ← rpL,
SP ← SP – 2
PSW
1
2
–
PSW ← (SP), SP ← SP + 1
R
R
R
rp
1
4
–
rpH ← (SP + 1), rpL ← (SP),
SP ← SP + 2
SP, #word
4
–
10
SP ← word
SP, AX
2
–
8
SP ← AX
AX, SP
2
–
8
AX ← SP
!addr16
3
6
–
PC ← addr16
$addr16
2
6
–
PC ← PC + 2 + jdisp8
PUSH
POP
MOVW
Unconditional
branch
Operands
!addr16
Call/return CALL
Stack
manipulate
INSTRUCTION SET
BR
AX
2
8
–
PCH ← A, PCL ← X
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if CY = 1
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if CY = 0
BZ
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if Z = 1
BNZ
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if Z = 0
Conditional BC
branch
BNC
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
Preliminary User’s Manual U16035EJ1V0UM
293
CHAPTER 19
Clock
Instruction
Mnemonic
Group
Conditional
branch
BT
BF
BTCLR
INSTRUCTION SET
Operands
Flag
Byte
Operation
Note 1
Note 2
Z AC CY
saddr.bit, $addr16
3
8
9
PC ← PC + 3 + jdisp8 if (saddr.bit) = 1
sfr.bit, $addr16
4
–
11
PC ← PC + 4 + jdisp8 if sfr.bit = 1
A.bit, $addr16
3
8
–
PC ← PC + 3 + jdisp8 if A.bit = 1
PSW.bit, $addr16
3
–
9
PC ← PC + 3 + jdisp8 if PSW.bit = 1
[HL].bit, $addr16
3
10
11 + n
PC ← PC + 3 + jdisp8 if (HL).bit = 1
saddr.bit, $addr16
4
10
11
sfr.bit, $addr16
4
–
11
PC ← PC + 4 + jdisp8 if sfr.bit = 0
A.bit, $addr16
3
8
–
PC ← PC + 3 + jdisp8 if A.bit = 0
PSW.bit, $addr16
4
–
11
PC ← PC + 4 + jdisp8 if PSW. bit = 0
[HL].bit, $addr16
3
10
11 + n
saddr.bit, $addr16
4
10
12
PC ← PC + 4 + jdisp8 if (saddr.bit) = 1
then reset (saddr.bit)
sfr.bit, $addr16
4
–
12
PC ← PC + 4 + jdisp8 if sfr.bit = 1
then reset sfr.bit
A.bit, $addr16
3
8
–
PC ← PC + 3 + jdisp8 if A.bit = 1
then reset A.bit
PSW.bit, $addr16
4
–
12
PC ← PC + 4 + jdisp8 if PSW.bit = 1
then reset PSW.bit
[HL].bit, $addr16
3
10
PC ← PC + 4 + jdisp8 if (saddr.bit) = 0
PC ← PC + 3 + jdisp8 if (HL).bit = 0
×
×
×
12 + n + m PC ← PC + 3 + jdisp8 if (HL).bit = 1
then reset (HL).bit
DBNZ
CPU
control
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
saddr. $addr16
3
8
10
(saddr) ← (saddr) – 1, then
PC ← PC + 3 + jdisp8 if(saddr) ≠ 0
RBn
2
4
–
RBS1, 0 ← n
NOP
1
2
–
No Operation
EI
2
–
6
IE ← 1 (Enable Interrupt)
DI
2
–
6
IE ← 0 (Disable Interrupt)
HALT
2
6
–
Set HALT Mode
STOP
2
6
–
Set STOP Mode
SEL
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access
2. When an area except the internal high-speed RAM area is accessed
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock control
register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
294
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
INSTRUCTION SET
19.3 Instructions Listed by Addressing Type
(1) 8-bit instructions
MOV, XCH, ADD, ADDC, SUB, SUBC, AND, OR, XOR, CMP, MULU, DIVUW, INC, DEC, ROR, ROL, RORC,
ROLC, ROR4, ROL4, PUSH, POP, DBNZ
Preliminary User’s Manual U16035EJ1V0UM
295
CHAPTER 19
INSTRUCTION SET
Second Operand
#byte
A
rNote
sfr
saddr !addr16 PSW
[DE]
[HL]
First Operand
A
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
r
MOV
MOV MOV
XCH
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
MOV
XCH
MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
[HL + byte]
[HL + B] $addr16
[HL + C]
MOV
XCH
ADD
ADDC
SUB
SUBC
AND
OR
XOR
CMP
1
None
ROR
ROL
RORC
ROLC
MOV
ADD
ADDC
SUB
SUBC
AND
OR
XOR
INC
DEC
CMP
B, C
DBNZ
sfr
MOV
MOV
saddr
MOV MOV
ADD
ADDC
SUB
SUBC
AND
OR
XOR
DBNZ
INC
DEC
CMP
!addr16
PSW
MOV
MOV
MOV
[DE]
MOV
[HL]
MOV
[HL + byte]
[HL + B]
[HL + C]
MOV
PUSH
POP
ROR4
ROL4
X
MULU
C
DIVUW
Note Except r = A
296
Preliminary User’s Manual U16035EJ1V0UM
CHAPTER 19
INSTRUCTION SET
(2) 16-bit instructions
MOVW, XCHW, ADDW, SUBW, CMPW, PUSH, POP, INCW, DECW
Second Operand
#word
AX
rpNote
sfrp
saddrp
!addr16
SP
None
First Operand
AX
ADDW
SUBW
MOVW
XCHW
MOVW
MOVW
MOVW
MOVW
CMPW
rp
MOVW
MOVWNote
sfrp
MOVW
MOVW
saddrp
MOVW
MOVW
!addr16
SP
INCW
DECW
PUSH
POP
MOVW
MOVW
MOVW
Note Only when rp = BC, DE, HL
(3) Bit manipulation instructions
MOV1, AND1, OR1, XOR1, SET1, CLR1, NOT1, BT, BF, BTCLR
Second Operand
A.bit
sfr.bit
saddr.bit
PSW.bit
[HL].bit
CY
$addr16
None
First Operand
A.bit
MOV1
BT
BF
BTCLR
SET1
CLR1
sfr.bit
MOV1
BT
BF
BTCLR
SET1
CLR1
saddr.bit
MOV1
BT
BF
BTCLR
SET1
CLR1
PSW.bit
MOV1
BT
BF
BTCLR
SET1
CLR1
[HL].bit
MOV1
BT
BF
BTCLR
SET1
CLR1
CY
MOV1
AND1
OR1
XOR1
MOV1
AND1
OR1
XOR1
MOV1
AND1
OR1
XOR1
MOV1
AND1
OR1
XOR1
MOV1
AND1
OR1
XOR1
Preliminary User’s Manual U16035EJ1V0UM
SET1
CLR1
NOT1
297
CHAPTER 19
INSTRUCTION SET
(4) Call instructions/branch instructions
CALL, CALLF, CALLT, BR, BC, BNC, BZ, BNZ, BT, BF, BTCLR, DBNZ
Second Operand
AX
!addr16
!addr11
[addr5]
$addr16
First Operand
Basic instruction
BR
CALL
BR
CALLF
CALLT
BR
BC
BNC
BZ
BNZ
Compound
instruction
BT
BF
BTCLR
DBNZ
(5) Other instructions
ADJBA, ADJBS, BRK, RET, RETI, RETB, SEL, NOP, EI, DI, HALT, STOP
298
Preliminary User’s Manual U16035EJ1V0UM
APPENDIX A
DIFFERENCES BETWEEN µPD780024A, 780024AS, 780034A,
AND 780034AS SUBSERIES
Table A-1 shows the major differences between µPD780024A, 780024AS, 780034A, and 780034AS Subseries.
Table A-1. Major Differences Between µPD780024A, 780024AS, 780034A, and 780034AS Subseries
Part Number
Item
µPD780024A
µPD780034A
µPD780024AS
µPD780034AS
Subseries
Subseries
Subseries
Subseries
ROM capacity
8 KB/16 KB/24 KB/32 KB
Internal high-speed RAM capacity
512 bytes/1,024 bytes
µPD78F0034B
Flash memory version
I2C bus version
µPD780024AY
µPD780034AY
Subseries
Subseries
Minimum instruction
0.238 µs: VDD = 4.5 to 5.5 V
execution time
0.400 µs: VDD = 2.7 to 5.5 V
µPD78F0034BS
None
1.60 µs: VDD = 1.8 to 5.5 V
Operating voltage range
1.8 to 5.5 V
I/O ports
Total: 51
Total: 39
Input: 8
Input: 4
I/O: 43
I/O: 35
(5 V tolerance N-ch open drain: 4)
Timer/counter
16 bits × 1 ch
8 bits × 2 ch
Watch timer × 1 ch
Watchdog timer × 1 ch
Serial interface
3-wire serial I/O mode × 2 ch
UART mode × 1 ch
A/D converter
8 bits × 8 ch
Interrupt
10 bits × 8 ch
Maskable
Internal: 13, external: 5
Non-maskable
1
Software
1
External device expansion Time division method
8 bits × 4 ch
10 bits × 4 ch
None
function
Expansion up to F7FFH is possible.
Mask option
Pull-up resistor can be specified for P30 to P33
None
Package
• 64-pin plastic SDIP
52-pin plastic LQFP
• 64-pin plastic QFP
• 64-pin plastic TQFP
• 64-pin plastic LQFP
Emulation board
IE-780034-NS-EM1
Emulation probe
• NP-64CW
NP-H52GB-TQ (TGB-052SBP)
• NP-64GC (EV-9200GC-64)
* A conversion board is required to connect the
(conversion adapter)
NP-64GC-TQ (TGC-064SAP)
probe to the emulation board.
• NP-64GK (TGK-064SBP)
• NP-H64GB-TQ (TGB-064SDP)
Device file
DF780024
DF780034
Flash memory writing adapter • FA-64CW
DF780024
DF780034
FA-52GB-8ET
• FA-64GC-8BS, FA64GC-AB8
• FA-64GK-9ET
• FA-64GB-8EU
Preliminary User’s Manual U16035EJ1V0UM
299
APPENDIX B
DEVELOPMENT TOOLS
The following development tools are available for the development of systems that employ the µPD780024AS,
780034AS Subseries.
Figure B-1 shows the development tool configuration.
•
Support for PC98-NX series
Unless otherwise specified, products compatible with IBM PC/ATTM computers are compatible with PC98-NX
series computers. When using PC98-NX series computers, refer to the explanation for IBM PC/AT computers.
•
Windows
Unless otherwise specified, “Windows” means the following OSs.
• Windows 3.1
• Windows 95, 98, 2000
• Windows NTTM Ver 4.0
300
Preliminary User’s Manual U16035EJ1V0UM
APPENDIX B
DEVELOPMENT TOOLS
Figure B-1. Development Tool Configuration
Language Processing Software
• Assembler package
• C compiler package
• C library source file
• Device file
Debugging Tool
• System simulator
• Integrated debugger
• Device file
Embedded Software
• Real-time OS
Host Machine (PC)
Interface adapter,
PC card interface, etc.
Flash Memory
Write Environment
In-circuit Emulator
Emulation board
Flash programmer
I/O board
Flash memory
write adapter
Power supply unit
Performance board
On-chip flash
memory version
Emulation probe
Conversion socket or
conversion adapter
Target system
Remark Items in broken line boxes differ according to the development environment. See B.3.1 Hardware.
Preliminary User’s Manual U16035EJ1V0UM
301
APPENDIX B
DEVELOPMENT TOOLS
B.1 Language Processing Software
SP78K0
78K/0 Series Software Package
This is a software package that includes the development tools common to the
78K/0 Series.
Part number: µS××××SP78K0
RA78K0
Assembler Package
This assembler converts programs written in mnemonics into object codes
executable with a microcontroller.
Further, this assembler is provided with functions capable of automatically creating
symbol tables and branch instruction optimization.
This assembler should be used in combination with an optional device file
(DF780024 or DF780034).
<Precaution when using RA78K0 in PC environment>
This assembler package is a DOS-based application. It can also be used in
Windows, however, by using the Project Manager (included in assembler package)
on Windows.
Part number: µS××××RA78K0
CC78K0
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 optional assembler package
and device file.
<Precaution when using CC78K0 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 (included in assembler package)
on Windows.
Part number: µS××××CC78K0
DF780024Note
DF780034Note
Device File
This file contains information peculiar to the device.
This device file should be used in combination with an optional tool (RA78K0,
CC78K0, SM78K0, ID78K0-NS, and ID78K0).
Corresponding OS and host machine differ depending on the tool to be used with.
• DF780024: for µPD780024A, 780024AY, 780024AS Subseries
• DF780034: for µPD780034A, 780034AY, 780034AS Subseries
Part number: µS××××DF780034
CC78K0-L
C Library Source File
This is a source file of functions configuring the object library included in the C
compiler package.
This file is required to match the object library included in C compiler package to the
customer’s specifications.
Operating environment for the source file is not dependent on the OS.
Part number: µS××××CC78K0-L
Note The DF780024 and DF780034 can be used in common with the RA78K0, CC78K0, SM78K0, ID78K0-NS,
and ID78K0.
Remark ×××× in the part number differs depending on the host machine and OS used.
302
Preliminary User’s Manual U16035EJ1V0UM
APPENDIX B
DEVELOPMENT TOOLS
µS××××SP78K0
××××
Host machine
OS
AB17
PC-9800 Series,
Windows (Japanese version)
BB17
IBM PC/AT or compatibles
Windows (English version)
Supply medium
CD-ROM
µS××××RA78K0
µS××××CC78K0
××××
Host machine
OS
AB13
PC-9800 Series,
Windows (Japanese version)
BB13
IBM PC/AT or compatibles
Windows (English version)
AB17
Windows (Japanese version)
BB17
Windows (English version)
3P17
HP9000 Series 700TM
HP-UXTM (Rel. 10.10)
3K17
SPARCstationTM
SunOSTM (Rel. 4.1.4),
SolarisTM (Rel. 2.5.1)
Supply medium
3.5-inch 2HD FD
CD-ROM
µS××××DF780024
µS××××DF780034
µS××××CC78K0-L
××××
Host machine
OS
Supply medium
AB13
PC-9800 Series,
Windows (Japanese version)
BB13
IBM PC/AT or compatibles
Windows (English version)
3P16
HP9000 Series 700
HP-UX (Rel. 10.10)
DAT
3K13
SPARCstation
SunOS (Rel. 4.1.4),
3.5-inch 2HD FD
Solaris (Rel. 2.5.1)
1/4-inch CGMT
3K15
3.5-inch 2HD FD
B.2 Flash Memory Writing Tools
Flashpro III
(part number: FL-PR3, PG-FP3)
Flash Programmer
Flash programmer dedicated to microcontrollers with on-chip flash memory.
FA-52GB-8ET
Flash Memory Writing Adapter
Flash memory writing adapter used connected to the Flashpro III.
• FA-52GB-8ET: 52-pin plastic LQFP (GB-8ET type)
Remark FL-PR3 and FA-52GB-8ET are products of Naito Densei Machida Mfg. Co., Ltd.
Inquiry: Naito Densei Machida Mfg. Co., Ltd. (TEL +81-45-475-4191)
Preliminary User’s Manual U16035EJ1V0UM
303
APPENDIX B
DEVELOPMENT TOOLS
B.3 Debugging Tools
B.3.1 Hardware
IE-78K0-NS
In-Circuit Emulator
The in-circuit emulator serves to debug hardware and software when developing
application systems using a 78K/0 Series product. It corresponds to integrated
debugger (ID78K0-NS). This emulator should be used in combination with power
supply unit, emulation probe, and interface adapter which is required to connect this
emulator to the host machine.
IE-78K0-NS-PA
Performance Board
This board is connected to the IE-78K0-NS to expand its functions. Adding this
board adds a coverage function and enhances debugging functions such as tracer
and timer functions.
IE-78K0-NS-A
In-Circuit Emulator
This is an in-circuit emulator that combines IE-78K0-NS and IE-78K0-NS-PA.
IE-70000-MC-PS-B
Power Supply Unit
This adapter is used for supplying power from a receptacle of 100 V to 240 V AC.
IE-70000-98-IF-C
Interface Adapter
This adapter is required when using the PC-9800 series computer (except notebook
type) as the host machine (C bus supported).
IE-70000-CD-IF-A
PC Card Interface
This is PC card and interface cable required when using notebook-type computer as
the host machine (PCMCIA socket supported).
IE-70000-PC-IF-C
Interface Adapter
This adapter is required when using the IBM PC/AT compatible computers as the
host machine (ISA bus supported).
This adapter is required when using a computer with PCI bus as the host machine.
IE-70000-PCI-IF-A
Interface Adapter
IE-780034-NS-EM1
Emulation Board
780034AS 52Pin Board
Convension Board
This board emulates the operations of the peripheral hardware peculiar to a device.
It should be used in combination with an in-circuit emulator.
This conversion board is used to connect the emulation probe to the emulation
board.
This probe is used to connect the in-circuit emulator to a target system and is
designed for use with 52-pin plastic LQFP (GB-8ET type).
NP-H52GB-TQ
Emulation Probe
TGB-052SBP
Conversion Adapter
This conversion socket connects the NP-H52GB-TQ to a target system board
designed for a 52-pin plastic LQFP (GB-8ET type).
Remarks 1. NP-H52GB-TQ is a product of Naito Densei Machida Mfg. Co., Ltd.
Inquiry: Naito Densei Machida Mfg. Co., Ltd. (TEL +81-45-475-4191)
2. TGB-052SBP is a product of TOKYO ELETECH CORPORATION.
Inquiry: Daimaru Kogyo, Ltd.: Tokyo Electronics Department (TEL +81-3-3820-7112)
Osaka Electronics Department (TEL +81-6-6244-6672)
3. TGB-052SBP is sold in one units.
304
Preliminary User’s Manual U16035EJ1V0UM
APPENDIX B
DEVELOPMENT TOOLS
B.3.2 Software
SM78K0
System Simulator
This system simulator is used to perform debugging at C source level or assembler
level while simulating the operation of the target system on a host machine.
This simulator runs on Windows.
Use of the SM78K0 allows the execution of application logical testing and
performance testing on an independent basis from hardware development without
having to use an in-circuit emulator, thereby providing higher development efficiency
and software quality.
The SM78K0 should be used in combination with the optional device file (DF780024
or DF780034).
Part number: µS××××SM78K0
ID78K0-NS
Integrated Debugger
(supporting in-circuit emulator
IE-78K0-NS(-A))
This debugger is a control program to debug 78K/0 Series microcontrollers.
It adopts a graphical user interface, which is equivalent visually and operationally to
Windows or OSF/Motif™. It also has an enhanced debugging function for C language
programs, and thus trace results can be displayed on screen in C-language level by using
the windows integration function which links a trace result with its source program,
disassembled display, and memory display. In addition, by incorporating function
expansion modules such as task debugger and system performance analyzer, the
efficiency of debugging programs, which run on real-time OSs can be improved.
It should be used in combination with the optional device file.
Part number: µS××××ID78K0-NS
Remark ×××× in the part number differs depending on the host machine and OS used.
µS××××SM78K0
µS××××ID78K0-NS
××××
Host machine
OS
AB13
PC-9800 series,
Japanese Windows
BB13
IBM PC/AT or compatibles
English Windows
AB17
Japanese Windows
BB17
English Windows
Preliminary User’s Manual U16035EJ1V0UM
Supply medium
3.5-inch 2HD FD
CD-ROM
305
APPENDIX C
EMBEDDED SOFTWARE
For efficient program development and maintenance of the µPD780024AS, 780034AS Subseries, the following
embedded software products are available.
Real-Time OS
RX78K/0 is a real-time OS conforming to the µITRON specifications.
Tool (configurator) for generating nucleus of RX78K0 and plural information tables
is supplied.
Used in combination with an optional assembler package (RA78K0) and device file
(DF780024 or DF780034).
<Precaution when using RX78K/0 in PC environment>
The real-time OS is a DOS-based application. It should be used in the DOS Prompt
when using in Windows.
RX78K0
Real-time OS
Part number: µS××××RX78013-∆∆∆∆
Caution
When purchasing the RX78K0, fill in the purchase application form in advance and sign the user
agreement.
Remark ×××× and ∆∆∆∆ in the part number differ depending on the host machine and OS used.
µS××××RX78013-∆∆∆∆
∆∆∆∆
Product outline
Maximum number for use in mass production
001
Evaluation object
Do not use for mass-produced product.
100K
Mass-production object
0.1 million units
001M
1 million units
010M
S01
××××
10 million units
Source program
Source program for mass-produced object
Host machine
OS
3.5-inch 2HD FD
3.5-inch 2HD FD
AA13
PC-9800 Series
Japanese
AB13
IBM PC/AT or compatibles
Japanese WindowsNote
English WindowsNote
BB13
3P16
HP9000 Series 700
HP-UX (Rel. 10.10)
DAT
3K13
SPARCstation
SunOS (Rel. 4.1.4),
3.5-inch 2HD FD
Solaris (Rel. 2.5.1)
1/4-inch CGMT
3K15
Note Can also be operated in DOS environment.
306
Supply medium
WindowsNote
Preliminary User’s Manual U16035EJ1V0UM
APPENDIX D
REGISTER INDEX
D.1 Register Name Index
[A]
A/D conversion result register 0 (ADCR0) … 172, 194
A/D converter mode register 0 (ADM0) … 174, 195
Analog input channel specification register 0 (ADS0) … 176, 195
Asynchronous serial interface mode register 0 (ASIM0) … 216
Asynchronous serial interface status register 0 (ASIS0) … 218
[B]
Baud rate generator control register 0 (BRGC0) … 218
[C]
Capture/compare control register 0 (CRC0) … 110
Clock output select register (CKS) … 166
[E]
8-bit timer compare register 50 (CR50) … 134
8-bit timer compare register 51 (CR51) … 134
8-bit timer counter 50 (TM50) … 135
8-bit timer counter 51 (TM51) … 135
8-bit timer mode control register 50 (TMC50) … 136
8-bit timer mode control register 51 (TMC51) … 136
External interrupt falling edge enable register (EGN) … 176, 197, 254
External interrupt rising edge enable register (EGP) … 176, 197, 254
[I]
Interrupt mask flag register 0H (MK0H) … 252
Interrupt mask flag register 0L (MK0L) … 252
Interrupt mask flag register 1L (MK1L) … 252
Interrupt request flag register 0H (IF0H) … 251
Interrupt request flag register 0L (IF0L) … 251
Interrupt request flag register 1L (IF1L) … 251
[M]
Memory expansion mode register (MEM) … 254
Memory size switching register (IMS) … 279
[O]
Oscillation stabilization time select register (OSTS) … 162, 267
[P]
Port 0 (P0) … 75
Port 1 (P1) … 76
Port 2 (P2) … 77
Preliminary User’s Manual U16035EJ1V0UM
307
APPENDIX D
REGISTER INDEX
Port 3 (P3) … 79
Port 4 (P4) … 81
Port 5 (P5) … 82
Port 7 (P7) … 83
Port mode register 0 (PM0) … 85
Port mode register 2 (PM2) … 85
Port mode register 3 (PM3) … 85
Port mode register 4 (PM4) … 85
Port mode register 5 (PM5) … 85
Port mode register 7 (PM7) … 85, 113, 139, 168
Prescaler mode register 0 (PRM0) … 112
Priority specification flag register 0H (PR0H) … 253
Priority specification flag register 0L (PR0L) … 253
Priority specification flag register 1L (PR1L) … 253
Processor clock control register (PCC) … 93
Program status word (PSW) … 55, 255
Pull-up resistor option register 0 (PU0) … 87
Pull-up resistor option register 2 (PU2) … 87
Pull-up resistor option register 3 (PU3) … 87
Pull-up resistor option register 4 (PU4) … 87
Pull-up resistor option register 5 (PU5) … 87
Pull-up resistor option register 7 (PU7) … 87
[R]
Receive buffer register 0 (RXB0) … 215
Receive shift register 0 (RX0) … 215
[S]
Serial I/O shift register 30 (SIO30) … 237
Serial I/O shift register 31 (SIO31) … 237
Serial operation mode register 30 (CSIM30) … 238
Serial operation mode register 31 (CSIM31) … 240
16-bit timer capture/compare register 00 (CR00) … 106
16-bit timer capture/compare register 01 (CR01) … 107
16-bit timer counter 0 (TM0) … 106
16-bit timer mode control register 0 (TMC0) … 108
16-bit timer output control register 0 (TOC0) … 111
[T]
Timer clock select register 50 (TCL50) … 135
Timer clock select register 51 (TCL51) … 135
Transmit shift register 0 (TXS0) … 215
[W]
Watch timer operation mode register (WTM) … 154
Watchdog timer clock select register (WDCS) … 160
Watchdog timer mode register (WDTM) … 161
308
Preliminary User’s Manual U16035EJ1V0UM
APPENDIX D
REGISTER INDEX
D.2 Register Symbol Index
[A]
ADCR0:
A/D conversion result register 0 … 172, 194
ADM0:
A/D converter mode register 0 … 174, 195
ADS0:
Analog input channel specification register 0 … 176, 197
ASIM0:
Asynchronous serial interface mode register 0 … 216
ASIS0:
Asynchronous serial interface status register 0 … 218
[B]
BRGC0:
Baud rate generator control register 0 … 218
[C]
CKS:
Clock output select register … 166
CR00:
16-bit timer capture/compare register 00 … 106
CR01:
16-bit timer capture/compare register 01 … 107
CR50:
8-bit timer compare register 50 … 134
CR51:
8-bit timer compare register 51 … 134
CRC0:
Capture/compare control register 0 … 110
CSIM30:
Serial operation mode register 30 … 238
CSIM31:
Serial operation mode register 31 … 240
[E]
EGN:
External interrupt falling edge enable register … 176, 197, 254
EGP:
External interrupt rising edge enable register … 176, 197, 254
[I]
IF0H:
Interrupt request flag register 0H … 251
IF0L:
Interrupt request flag register 0L … 251
IF1L:
Interrupt request flag register 1L … 251
IMS:
Memory size switching register … 279
[M]
MEM:
Memory expansion mode register … 254
MK0H:
Interrupt mask flag register 0H … 252
MK0L:
Interrupt mask flag register 0L … 252
MK1L:
Interrupt mask flag register 1L … 252
[O]
OSTS:
Oscillation stabilization time select register … 162, 267
[P]
P0:
Port 0 … 75
P1:
Port 1 … 76
P2:
Port 2 … 77
P3:
Port 3 … 79
P4:
Port 4 … 81
P5:
Port 5 … 82
Preliminary User’s Manual U16035EJ1V0UM
309
APPENDIX D
P7:
REGISTER INDEX
Port 7 … 83
PCC:
Processor clock control register … 93
PM0:
Port mode register 0 … 85
PM2:
Port mode register 2 … 85
PM3:
Port mode register 3 … 85
PM4:
Port mode register 4 … 85
PM5:
Port mode register 5 … 85
PM7:
Port mode register 7 … 85, 133, 139, 168
PR0H:
Priority specification flag register 0H … 253
PR0L:
Priority specification flag register 0L … 253
PR1L:
Priority specification flag register 1L … 253
PRM0:
Prescaler mode register 0 … 112
PSW:
Program status word … 55, 255
PU0:
Pull-up resistor option register 0 … 87
PU2:
Pull-up resistor option register 2 … 87
PU3:
Pull-up resistor option register 3 … 87
PU4:
Pull-up resistor option register 4 … 87
PU5:
Pull-up resistor option register 5 … 87
PU7:
Pull-up resistor option register 7 … 87
[R]
RXB0:
Receive buffer register 0 … 215
RX0:
Receive shift register 0 … 215
[S]
SIO30:
Serial I/O shift register 30 … 237
SIO31:
Serial I/O shift register 31 … 237
[T]
TCL50:
Timer clock select register 50 … 135
TCL51:
Timer clock select register 51 … 135
TM0:
16-bit timer counter 0 … 106
TM50:
8-bit timer counter 50 … 134
TM51:
8-bit timer counter 51 … 134
TMC0:
16-bit timer mode control register 0 … 108
TMC50:
8-bit timer mode control register 50 … 136
TMC51:
8-bit timer mode control register 51 … 136
TOC0:
16-bit timer output control register 0 … 111
TXS0:
Transmit shift register 0 … 215
[W]
WDCS:
Watchdog timer clock select register … 160
WDTM:
Watchdog timer mode register … 161
WTM:
Watch timer operation mode register … 154
310
Preliminary User’s Manual U16035EJ1V0UM
Facsimile Message
From:
Name
Company
Tel.
Although NEC has taken all possible steps
to ensure that the documentation supplied
to our customers is complete, bug free
and up-to-date, we readily accept that
errors may occur. Despite all the care and
precautions we've taken, you may
encounter problems in the documentation.
Please complete this form whenever
you'd like to report errors or suggest
improvements to us.
FAX
Address
Thank you for your kind support.
North America
Hong Kong, Philippines, Oceania
NEC Electronics Inc.
NEC Electronics Hong Kong Ltd.
Corporate Communications Dept. Fax: +852-2886-9022/9044
Fax: +1-800-729-9288
+1-408-588-6130
Korea
Europe
NEC Electronics Hong Kong Ltd.
NEC Electronics (Europe) GmbH
Seoul Branch
Market Communication Dept.
Fax: +82-2-528-4411
Fax: +49-211-6503-274
Taiwan
NEC Electronics Taiwan Ltd.
Fax: +886-2-2719-5951
South America
NEC do Brasil S.A.
Fax: +55-11-6462-6829
Japan
NEC Semiconductor Technical Hotline
Fax: +81- 44-435-9608
P.R. China
NEC Electronics Shanghai, Ltd.
Fax: +86-21-6841-1137
Asian Nations except Philippines
NEC Electronics Singapore Pte. Ltd.
Fax: +65-250-3583
I would like to report the following error/make the following suggestion:
Document title:
Document number:
Page number:
If possible, please fax the referenced page or drawing.
Document Rating
Excellent
Good
Acceptable
Poor
Clarity
Technical Accuracy
Organization
CS 02.3