DATA SHEET MOS INTEGRATED CIRCUIT µPD6604 4-BIT SINGLE-CHIP MICROCONTROLLER FOR INFRARED REMOTE CONTROL TRANSMISSION DESCRIPTION Equipped with low-voltage 1.8 V operation, a carrier generation circuit for infrared remote control transmission, a standby release function through key entry, and a programmable timer, the µPD6604 is suitable for infrared remote control transmitters. For the µPD6604, we have made available the one-time PROM product µPD66P04B for program evaluation or small-quantity production. FEATURES • Program memory (ROM) : 1002 × 10 bits • Data memory (RAM) : 32 × 4 bits • Built-in carrier generation circuit for infrared remote control • 9-bit programmable timer : 1 channel • Command execution time : 8 µs (when operating at fOSC = 1 MHz: RC oscillation) • Stack level : 1 level (Stack RAM is for data memory RF as well.) • I/O pins (KI/O) : 8 pins • Input pins (KI) : 4 pins • Sense input pin (S0) : 1 pin • S1/LED pin (I/O) : 1 pin (When in output mode, this is the remote control transmission display pin.) : VDD = 1.8 to 3.6 V (when operating at fOSC = 500 kHz) • Power supply voltage VDD = 2.2 to 3.6 V (when operating at fOSC = 1 MHz) • Operating ambient temperature : TA = –40 to + 85 °C : fOSC = 300 kHz to 1 MHz • Oscillator frequency • POC circuit (Mask option) APPLICATION Infrared remote control transmitter (for key-less entry) Because the µPD6604 uses an RC oscillation system clock, its accuracy and stability are lower than the models using ceramic oscillation. In applications where the clock accuracy and stability pose a problem, use the µPD6134 (ceramic oscillation type). The information in this document is subject to change without notice. Document No. U11281EJ3V0DS00 (3rd edition) Date Published March 1999 N CP(K) Printed in Japan The mark shows major revised points. © 1996 µPD6604 ORDERING INFORMATION Part Number Package µPD6604GS-××× 20-pin plastic SOP (300 mil) µPD6604GS-×××-GJG 20-pin plastic shrink SOP (300 mil) Remark ××× indicates ROM code suffix. PIN CONFIGURATION (TOP VIEW) 20-pin Plastic SOP • µPD6604GS-××× 20-pin Plastic Shrink SOP • µPD6604GS-×××-GJG KI/O6 1 20 KI/O5 KI/O7 2 19 KI/O4 S0 3 18 KI/O3 S1/LED 4 17 KI/O2 REM 5 16 KI/O1 VDD 6 15 KI/O0 OSCOUT 7 14 KI3 OSCIN 8 13 KI2 OSCND 9 12 KI1 RESET 10 11 KI0 BLOCK DIAGRAM REM S1/LED CARRIER GENERATOR CPU CORE 4 PORT KI 4 KI0-KI3 8 PORT KI/O 8 KI/O0-KI/O7 2 PORT S 2 S0, S1/LED ROM 9-bit TIMER RAM RESET SYSTEM CONTROL OSCIN OSCOUT VDD GND 2 Data Sheet U11281EJ3V0DS00 µPD6604 LIST OF FUNCTIONS µPD6604 Item ROM capacity µPD66P04B 1002 × 10 bits Mask ROM One-time PROM RAM capacity 32 × 4 bits Stack 1 level (multiplexed with RF of RAM) I/O pins • Key input (KI) : 4 • Key I/O (KI/O) : 8 • Key extended input (S0, S1) : 2 • Remote control transmission display output (LED) : 1 (multiplexed with S1 pin) Number of keys • 32 keys • 48 keys (when extended by key extension input) • 96 keys (when extended by key extension input and diode) Clock frequency RC oscillation • fOSC = 300 kHz to 1 MHz • fOSC = 300 to 500 kHz (with POC circuit) Instruction execution time 8 µs (fOSC = 1 MHz) Carrier frequency fOSC , fOSC/2, fOSC/8, fOSC/12, fOSC/16, fOSC/24, no carrier (high level) Timer 9-bit programmable timer: 1 channel POC circuit Mask option Provided Supply voltage • VDD = 1.8 to 3.8 V VDD = 2.2 to 3.6 V • VDD = 2.2 to 3.6 V (with POC circuit) Operating ambient temperature • T A = –40 to +85 °C • T A = –20 to +70 °C (with POC circuit) Package • 20-pin plastic SOP (300 mil) • 20-pin plastic shrink SOP (300 mil) Data Sheet U11281EJ3V0DS00 3 µPD6604 CONTENTS 1. PIN FUNCTIONS ......................................................................................................................... 6 1.1 List of Pin Functions ......................................................................................................................... 6 1.2 Input/Output Circuits of Pins ........................................................................................................... 7 1.3 Dealing with Unused Pins ................................................................................................................ 8 2. INTERNAL CPU FUNCTIONS .................................................................................................... 9 2.1 Program Counter (PC) ...................................................................................................................... 9 2.2 Stack Pointer (SP) ............................................................................................................................. 9 2.3 Address Stack Register (ASR (RF)) ................................................................................................. 9 2.4 Program Memory (ROM) ................................................................................................................. 10 2.5 Data Memory (RAM) .......................................................................................................................... 10 2.6 Data Pointer (DP) ............................................................................................................................... 11 2.7 Accumulator (A) ................................................................................................................................ 11 2.8 Arithmetic and Logic Unit (ALU) ...................................................................................................... 12 2.9 Flags ................................................................................................................................................... 12 2.9.1 Status flag (F) .......................................................................................................................... 12 2.9.2 Carry flag (CY) ........................................................................................................................ 13 3. PORT REGISTERS (PX) ............................................................................................................. 14 3.1 KI/O Port (P0) ....................................................................................................................................... 15 3.2 KI Port/Special Ports (P1) ................................................................................................................. 16 3.2.1 KI port (P11: bits 4-7 of P1) ..................................................................................................... 16 3.2.2 S0 port (bit 2 of P1) .................................................................................................................. 16 3.2.3 S1/LED (bit 3 of P1) ................................................................................................................. 16 3.3 Control Register 0 (P3) ..................................................................................................................... 17 3.4 Control Register 1 (P4) ..................................................................................................................... 18 4. TIMER ......................................................................................................................................... 19 4.1 Timer Configuration .......................................................................................................................... 19 4.2 Timer Operation ................................................................................................................................. 20 4.3 Carrier Output .................................................................................................................................... 21 4.4 Software Control of Timer Output ................................................................................................... 21 5. STANDBY FUNCTION ................................................................................................................ 22 5.1 Outline of Standby Function ............................................................................................................ 22 5.2 Standby Mode Setup and Release ................................................................................................... 23 5.3 Standby Mode Release Timing ........................................................................................................ 24 6. RESET PIN .................................................................................................................................. 26 7. POC CIRCUIT (MASK OPTION) ................................................................................................ 27 7.1 Functions of POC Circuit .................................................................................................................. 28 8. SYSTEM CLOCK OSCILLATOR ................................................................................................ 29 4 Data Sheet U11281EJ3V0DS00 µPD6604 9. INSTRUCTION SET .................................................................................................................... 31 9.1 Machine Language Output by Assembler ...................................................................................... 31 9.2 Circuit Symbol Description .............................................................................................................. 32 9.3 Mnemonic to/from Machine Language (Assembler Output) Contrast Table ............................... 33 9.4 Accumulator Operation Instructions ............................................................................................... 37 9.5 Input/Output Instructions ................................................................................................................. 40 9.6 Data Transfer Instruction .................................................................................................................. 41 9.7 Branch Instructions .......................................................................................................................... 43 9.8 Subroutine Instructions .................................................................................................................... 44 9.9 Timer Operation Instructions ........................................................................................................... 45 9.10 Others ................................................................................................................................................. 46 10. ASSEMBLER RESERVED WORDS .......................................................................................... 48 10.1 Mask Option Directives .................................................................................................................... 48 10.1.1 OPTION and ENDOP directives ............................................................................................. 48 10.1.2 Mask option definition directive ............................................................................................... 48 11. ELECTRICAL SPECIFICATIONS ............................................................................................... 49 12. CHARACTERISTIC CURVE (REFERENCE VALUES) .............................................................. 52 13. APPLIED CIRCUIT EXAMPLE ................................................................................................... 54 14. PACKAGE DRAWINGS .............................................................................................................. 55 15. RECOMMENDED SOLDERING CONDITIONS .......................................................................... 57 APPENDIX A. DEVELOPMENT TOOLS ......................................................................................... 58 APPENDIX B. FUNCTIONAL COMPARISON BETWEEN µPD6604 AND OTHER SUBSERIES ................................................................................................ 59 APPENDIX C. EXAMPLE OF REMOTE-CONTROL TRANSMISSION FORMAT .......................... 60 Data Sheet U11281EJ3V0DS00 5 µPD6604 1. PIN FUNCTIONS 1.1 List of Pin Functions Pin No. Symbol Function 1 2 15-20 KI/O0-KI/O7 These pins refer to the 8-bit I/O ports. I/O switching can be made in 8-bit units. In INPUT mode, a pull-down resistor is added. In OUTPUT mode, they can be used as the key scan output of the key matrix. 3 S0 Refers to the input port. Can also be used as the key return input of the key matrix. In INPUT mode, the availability of the pull-down resistor of the S0 and S1 ports can be specified by software in Output Format CMOS push-pullNote 1 — When Reset High-level output High-impedance (OFF mode) terms in 2-bit units. If INPUT mode is canceled by software, this pin is placed in OFF mode and enters the high-impedance state. 4 S1/LED Refers to the I/O port. In INPUT mode (S1), this pin can also be used as the key return input of the key matrix. The availability of the pull-down resistor of the S0 and S1 ports can be specified by software in 2-bit units. In OUTPUT mode (LED), it becomes the remote control transmission display output (active low). When the remote control carrier is output from the REM output, this pin outputs the low level from the LED output synchronously with the REM signal. CMOS push-pull High-level output (LED) 5 REM Refers to the infrared remote control transmission output. The output is active high. Carrier frequency: fOSC , fOSC/8, fOSC /12, high-level, f OSC /2, f OSC /16, f OSC /24 (usable on software) CMOS push-pull Low-level output 6 VDD Refers to the power supply. — — 7 OSCIN These pins refer to the pins for RC oscillation. — High-impedance (oscillation stopped) 8 OSCOUT Low level (oscillation stopped) 9 GND Refers to the ground. — — 10 RESET Normally, this pin is a system reset input. By inputting a low level, the CPU can be reset. When resetting with the POC circuit (mask option) a low level is output. A pull-up resistor is incorporated. — — 11-14 KI0-KI3Note 2 These pins refer to the 4-bit input ports. They can be used as the key return input of the key matrix. The use of the pull-down resistor can be specified by software in 4-bit units. — Input (Low-level) Notes 1. Be careful about this because the drive capability of the low-level output side is held low. 2. In order to prevent malfunction, be sure to input a low level to more than one of pins KI0 to KI3 when reset is released (when RESET pin changes from low level to high level, or POC is released due to supply voltage startup). 6 Data Sheet U11281EJ3V0DS00 µPD6604 1.2 Input/Output Circuits of Pins The input/output circuits of the µPD6604 pins are shown in partially simplified forms below. (1) K I/O0-K I/O7 (4) S 0 VDD Input buffer Output latch data P-ch OFF mode N-chNote Selector output disable standby release N-ch pull-down flag Input buffer N-ch (5) S1/LED VDD Note The drive capability is held low. REM output latch (2) K I0-K I3 P-ch output disable standby release Input buffer N-ch standby release Input buffer pull-down flag N-ch N-ch pull-down flag (3) REM (6) RESET VDD VDD P-ch P-ch data Output latch N-ch Carrier generator Input buffer Internal reset signal other than POC N-ch POC circuit Data Sheet U11281EJ3V0DS00 Mask option 7 µPD6604 1.3 Dealing with Unused Pins The following connections are recommended for unused pins. Table 1-1. Connections for Unused Pins Connection Pin Inside the microcontroller KI/O INPUT mode OUTPUT mode REM — High-level output — S1/LED OUTPUT mode (LED) setting S0 OFF mode setting KI RESETNote Outside the microcontroller Open Directly connect to GND — Built-in POC circuit Open Note If the circuit is an applied one requiring high reliability, be sure to design it in such a manner that the RESET signal is entered externally. Caution The I/O mode and the terminal output level are recommended to be fixed by setting them repeatedly in each loop of the program. 8 Data Sheet U11281EJ3V0DS00 µPD6604 2. INTERNAL CPU FUNCTIONS 2.1 Program Counter (PC): 10 Bits Refers to the binary counter that holds the address information of the program memory. Figure 2-1. Program Counter Organization PC PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 The program counter contains the address of the instruction that should be executed next. Normally, the counter contents are automatically incremented in accordance with the instruction length (byte count) each time an instruction is executed. However, when executing JUMP instructions (JMP, JC, JNC, JF, JNF), the program counter contains the jump destination address written in the operand. When executing the subroutine call instruction (CALL), the call destination address written in the operand is entered in the PC after the PC contents at the time are saved in the address stack register (ASR). If the return instruction (RET) is executed after the CALL instruction is executed, the address saved in the ASR is restored to the PC. When reset, the value of the program counter becomes “000H”. 2.2 Stack Pointer (SP): 1 Bit Refers to the 1-bit register which holds the status of the address stack register. The stack pointer contents are incremented when the call instruction (CALL) is executed; they are decremented when the return instruction (RET) is executed. When reset, the stack pointer contents are cleared to “0”. When the stack pointer overflows (stack level 2 or more) or underflows, the CPU is hung up thus a system reset signal is generated and the PC becoming “000H”. As no instruction is available to set a value directly for the stack pointer, it is not possible to operate the pointer by means of a program. 2.3 Address Stack Register (ASR (RF)): 10 Bits The address stack register saves the return address of the program after a subroutine call instruction is executed. The low-order 8 bits are arranged in the RF of the data memory as a dual-function RAM. The register holds the ASR value even after the RET is executed. When reset, it holds the previous data (undefined when turning on the power). Caution If the RF is accessed as the data memory, the high-order 2 bits of the ASR become undefined. Figure 2-2. Address Stack Register Organization RF ASR ASR9 ASR8 ASR7 ASR6 ASR5 ASR4 ASR3 Data Sheet U11281EJ3V0DS00 ASR2 ASR1 ASR0 9 µPD6604 2.4 Program Memory (ROM): 1002 Steps × 10 Bits The ROM consists of 10 bits per step, and is addressed by the program counter. The program memory stores programs and table data, etc. The 22 steps from 3EAH to 3FFH cannot be used in the test program area. Figure 2-3. Program Memory Map 10 bits 000H 0FFH 100H 1FFH 200H 2FFH 300H 3E9H 3EAH Test program areaNote 3FFH Note The test program area is so designed that a program or data placed in either of them by mistake is returned to the 000H address. 2.5 Data Memory (RAM): 32 × 4 Bits The data memory, which is a static RAM consisting of 32 × 4 bits, is used to retain processed data. The data memory is sometimes processed in 8-bit units. R0 can be used as the ROM data pointer. RF is also used as the ASR. When reset, R0 is cleared to “00H” and R1 to RF retain the previous data (undefined when turning on the power). 10 Data Sheet U11281EJ3V0DS00 µPD6604 Figure 2-4. Data Memory Organization R1n (high-order 4 bits) R0n (low-order 4 bits) →DP (see 2.6 Data Pointer (DP)) R0 R10 R00 R1 R11 R01 R2 R12 R02 R3 R13 R03 R4 R14 R04 R5 R15 R05 R6 R16 R06 R7 R17 R07 R8 R18 R08 R9 R19 R09 RA R1A R0A RB R1B R0B RC R1C R0C RD R1D R0D RE R1E R0E RF →ASR (see 2.3 Address Stack Register (ASR (RF))) R1F R0F 2.6 Data Pointer (DP): 10 Bits The ROM data table can be referenced by setting the ROM address in the data pointer to call the ROM contents. The low-order 8 bits of the ROM address are specified by R0 of the data memory; and the high-order 2 bits by bits 4 and 5 of the P3 register (CR0). When reset, the pointer contents become “000H”. Figure 2-5. Data Pointer Organization P3 Register P3 b5 b4 DP9 DP8 R10 DP7 DP6 R00 DP5 DP4 DP3 DP2 DP1 DP0 R0 2.7 Accumulator (A): 4 Bits The accumulator, which refers to a register consisting of 4 bits, plays a leading role in performing various operations. When reset, the accumulator contents are left undefined. Figure 2-6. Accumulator Organization A3 A2 A1 A0 Data Sheet U11281EJ3V0DS00 A 11 µPD6604 2.8 Arithmetic and Logic Unit (ALU): 4 Bits The arithmetic and logic unit (ALU), which refers to an arithmetic circuit consisting of 4 bits, executes simple manipulations with priority given to logical operations. 2.9 Flags 2.9.1 Status flag (F) Pin and timer statuses can be checked by executing the STTS instruction to check the status flag. The status flag is set (to 1) in the following cases. • If the condition specified with the operand is met when the STTS instruction has been executed • When STANDBY mode is canceled. • When the cancelation condition is met at the point of executing the HALT instruction. (In this case, the system is not placed in STANDBY mode.) Conversely, the status flag is cleared (to 0) in the following cases: • If the condition specified with the operand is not met when the STTS instruction has been executed. • When the status flag has been set (to 1), the HALT instruction executed, but the cancelation condition is not met at the point of executing the HALT instruction. (In this case, the system is not placed in STANDBY mode.) Table 2-1. Conditions for Status Flag (F) to be Set by STTS Instruction Operand Value of STTS Instruction b2 b1 b0 0 0 0 0 High level is input to at least one of KI pins. 0 1 1 High level is input to at least one of KI pins. 1 1 0 High level is input to at least one of KI pins. 1 0 1 The down counter of the timer is 0. 1 12 Condition for Status Flag (F) to be Set b3 Either of the combinations of b2, b1, and b 0 above. [The following condition is added in addition to the above.] High level is input to at least one of S0 and S1 pins. Data Sheet U11281EJ3V0DS00 µPD6604 2.9.2 Carry flag (CY) The carry flag is set (to 1) in the following cases: • If the ANL instruction or the XRL instruction is executed when bit 3 of the accumulator is “1” and bit 3 of the operand is “1”. • If the RL instruction or the RLZ instruction is executed when bit 3 of the accumulator is “1”. • If the INC instruction or the SCAF instruction is executed when the value of the accumulator is 0FH. The carry flag is cleared (to 0) in the following cases: • If the ANL instruction or the XRL instruction is executed when at least either bit 3 of the accumulator or bit 3 of the operand is “0”. • If the RL instruction or the RLZ instruction is executed when bit 3 of the accumulator is “0”. • If the INC instruction or the SCAF instruction is executed when the value of the accumulator is other than 0FH. • If the ORL instruction is executed. • When Data is written to the accumulator by the MOV instruction or the IN instruction. Data Sheet U11281EJ3V0DS00 13 µPD6604 3. PORT REGISTERS (PX) The KI/O port, the KI port, the special ports (S0, S1/LED), and the control register are treated as port registers. At reset, port register values are shown below. Figure 3-1. Port Register Organization Port Register At Reset P0 FFH P10 KI/O7 P00 KI/O5 KI/O6 KI/O4 KI/O3 KI/O2 KI/O1 KI/O0 × FHNote P1 P11 KI3 KI2 P01 KI1 KI0 S1/LED S0 1 1 P3 (Control register 0) 03H P13 0 0 P03 DP9 DP8 TCTL CARY MOD1 MOD0 P4 (Control register 1) 26H P14 0 Note P04 KI S0/S1 pull-down pull-down 0 0 S1/LED mode KI/O mode S0 mode ×: Refers to the value based on the KI pin state. Table 3-1. Relationship between Ports and their Read/Write Port Name INPUT Mode Read OUTPUT Mode Write Read Write KI/O Pin state Output latch Output latch Output latch KI Pin state — — — S0 Pin state — Note — S1/LED Pin state — Pin state — Note When in OFF mode, “1” is normally read. 14 Data Sheet U11281EJ3V0DS00 µPD6604 3.1 K I/O Port (P0) The KI/O port is an 8-bit input/output port for key scan output. INPUT/OUTPUT mode is set by bit 1 of the P4 register. If a read instruction is executed, the pin state can be read in INPUT mode, whereas the output latch contents can be read in OUTPUT mode. If the write instruction is executed, data can be written to the output latch regardless of INPUT or OUTPUT mode. When reset, the port is placed in OUTPUT mode; and the value of the output latch (P0) becomes 1111 1111B. The KI/O port contains the pull-down resistor, allowing pull-down in INPUT mode only. Caution During double pressing of a key, a high-level output and a low-level output may coincide with each other at the KI/O port. To avoid this, the low-level output current of the KI/O port is held low. Therefore, be careful when using the KI/O port for purposes other than key scan output. The KI/O port is so designed that, even when connected directly to VDD within the normal supply voltage range (VDD = 1.8 to 3.6 V), no problem may occur. Table 3-2. KI/O Port (P0) b0-b7 Bit b7 b6 b5 b4 b3 b2 b1 b0 Name KI/O7 KI/O6 KI/O5 KI/O4 KI/O3 KI/O2 KI/O1 KI/O0 : In reading : In INPUT mode, the KI/O pin’s state is read. In OUTPUT mode, the KI/O pin’s output latch contents are read. In writing : Data is written to the K I/O pin’s output latch regardless of INPUT or OUTPUT mode. Data Sheet U11281EJ3V0DS00 15 µPD6604 3.2 K I Port/Special Ports (P1) 3.2.1 K I port (P 11: bits 4-7 of P1) The KI port is to the 4-bit input port for key entry. The pin state can be read. Software can be used to set the availability of the pull-down resistor of the KI port in 4-bit units by means of bit 5 of the P4 register. When reset, the pull-down resistor is connected. Table 3-3. KI/Special Port Register (P1) b2 Bit b7 b6 b5 b4 b3 b2 b1 b0 Name KI3 KI2 KI1 KI0 S1/LED S0 (Fixed to “1”) : In INPUT mode, state of the S0 pin is read (Read only). In OFF mode, this bit is fixed to “1”. b3 : The state of the S1/LED pin is read regardless of INPUT/OUTPUT mode (Read only). b4-b7 : The state of the KI pin is read (Read only). Caution In order to prevent malfunction, be sure to input a low level to more than one of pins KI0 to KI3 when reset is released (when RESET pin changes from low level to high level, or POC is released due to supply voltage startup). 3.2.2 S 0 port (bit 2 of P1) The S0 port is the INPUT/OFF mode port. The pin state can be read by setting this port to INPUT mode with bit 0 of the P4 register. In INPUT mode, software can be used to set the availability of the pull-down resistor of the S0 and S1/LED port in 2-bit units by means of bit 4 of the P4 register. If INPUT mode is canceled (thus set to OFF mode), the pin becomes high-impedance but it also makes that the through current does not flow internally. In OFF mode, “1” can be read regardless of the pin state. When reset, it is set to OFF mode, thus becoming high-impedance. 3.2.3 S 1/LED (bit 3 of P1) The S1/LED port is the input/output port. It uses bit 2 of the P4 register to set INPUT or OUTPUT mode. The pin state can be read in both INPUT mode and OUTPUT mode. When in INPUT mode, software can be used to set the availability of the pull-down resistor of the S0 and S 1/LED ports in 2-bit units by means of bit 4 of the P4 register. When in OUTPUT mode, the pull-down resistor is automatically disconnected thus becoming the remote transmission display pin (see 4. TIMER). When reset, it is placed in OUTPUT mode, and high level is output. 16 Data Sheet U11281EJ3V0DS00 µPD6604 3.3 Control Register 0 (P3) Control register 0 consists of 8 bits. The contents that can be controlled are as shown below. When reset, the register becomes 0000 0011B. Table 3-4. Control Register 0 (P3) Bit b7 Name b6 b5 — — b4 b3 DP (Data pointer) TCTL b2 b1 b0 CARY MOD1 MOD0 See Table 3-5. DP9 DP8 Set 0 Fixed Fixed 0 0 1/1 ON value 1 to “0” to “0” 1 1 1/2 OFF 0 0 0 0 0 0 When reset 1 1 b0, b1 : These bits specify the carrier frequency and duty ratio of the REM output. b2 : This bit specifies the availability of the carrier of the frequency specified by b0 and b1. “0” = ON (with carrier); “1” = OFF (without carrier; high level) b3 : This bit changes the carrier frequency and the timer clock’s frequency division ratio. “0” = 1/1 (carrier frequency: the specified value of b0 and b1; timer clock: fOSC/8) “1” = 1/2 (carrier frequency: half of the specified value of b0 and b1; timer clock: fOSC/16) Table 3-5. Timer Clock and Carrier Frequency Setup b3 0 1 b2 0 b1 b0 Timer Clock 0 0 0 1 fOSC /8 (Duty 1/2) 1 0 fOSC /12 (Duty 1/2) 1 1 fOSC /12 (Duty 1/3) 1 × × 0 0 0 0 1 fOSC /16 (Duty 1/2) 1 0 fOSC /24 (Duty 1/2) 1 1 fOSC /24 (Duty 1/3) × × Without carrier (high level) 1 fOSC/8 Carrier Frequency (Duty Ratio) fOSC (Duty 1/2) Without carrier (high level) fOSC/16 fOSC /2 (Duty 1/2) b4 and b5 : These bits specify the high-order 2 bits (DP8 and DP9) of ROM’s data pointer. Remark ×: don’t care Data Sheet U11281EJ3V0DS00 17 µPD6604 3.4 Control Register 1 (P4) Control register 1 consists of 8 bits. The contents that can be controlled are as shown below. When reset, the register becomes 0010 0110B. Table 3-6. Control Register 1 (P4) Bit b7 Name b6 — — b5 b4 KI S0/S1 b3 — Pull-down Pull-down b2 b1 b0 S1/LED KI/O S0 mode mode mode Set 0 Fixed Fixed OFF OFF Fixed S1 IN OFF value 1 to “0” to “0” ON ON to “0” LED OUT IN 0 0 1 0 0 1 1 0 When reset b0 : Specifies the input mode of the S0 port. “0” = OFF mode (high impedance); “1” = IN (INPUT mode). b1 : Specifies the I/O mode of the KI/O port. “0” = IN (INPUT mode); “1” = OUT (OUTPUT mode). b2 : Specifies the I/O mode of the S1/LED port. “0” = S1 (INPUT mode); “1” = LED (output mode). b4 : Specifies the availability of the pull-down resistor in S0/S1 port INPUT mode. “0” = OFF (unavailable); b5 : Specifies the availability of the pull-down resistor in KI port. “0” = OFF (unavailable); “1” = ON (available) “1” = ON (available). Remark In OUTPUT mode or in OFF mode, all the pull-down resistors are automatically disconnected. 18 Data Sheet U11281EJ3V0DS00 µPD6604 4. TIMER 4.1 Timer Configuration The timer is the block used for creating a remote control transmission pattern. As shown in Figure 4-1, it consists of a 9-bit down counter (t8 to t0), a flag (t9) permitting the 1-bit timer output, and a zero detecting circuit. Figure 4-1. Timer Configuration t9 t8 T0 t7 t6 t5 t4 t3 t2 9-bit down counter t0 fOSC/8 fOSC/16 Timer operation end signal (HALT #×101B release signal) S1/LED Carrier synchronous circuit REM t1 Count clock Selector Bit 3 of control register 0 (P3) T T1 Zero detecting circuit Bit 2 of control register 0 (P3) Carrier signal Data Sheet U11281EJ3V0DS00 19 µPD6604 4.2 Timer Operation The timer starts (counting down) when a value other than 0 is set for the down counter with a timer operation instruction. The timer operation instructions for making the timer start operation are shown below: MOV T0, A MOV T1, A MOV T, #data10 MOV T, @R0 The down counter is decremented (–1) in the cycle of 8/fOSC or 16/fOSCNote. If the value of the down counter becomes 0, the zero detecting circuit generates the timer operation end signal to stop the timer operation. At this time, if the timer is in HALT mode (HALT #×101B) waiting for the timer to stop its operation, the HALT mode is canceled and the instruction following the HALT instruction is executed. The output of the timer operation end signal is continued while the down counter is 0 and the timer is stopped. There is the following relational expression between the timer’s time and the down counter’s set value. Timer time = (Set value + 1) × 8/fOSC (or 16/fOSCNote) Note This becomes 16/fOSC if bit 3 of the control register is set (to 1). By setting 1 for the flag (t9) which enables the timer output, the timer can output its operation status from the S1/LED pin and the REM pin. The REM pin can also output the carrier while the timer is in operation. Table 4-1. Timer Output (at t9 = 1) S 1/LED Pin REM Pin Timer operating L H (or carrier outputNote) Timer halting H L Note The carrier output results if bit 2 of the control register 0 is cleared (to 0). Figure 4-2. Timer Output (When Carrier is Not Output) Timer value: (Set value + 1) × 8/fOSC (or 16/fOSC) LED REM 20 Data Sheet U11281EJ3V0DS00 µPD6604 4.3 Carrier Output The carrier for remote-controlled transmission can be output from the REM pin by clearing (to 0) bit 2 of the control register 0. As shown in Figure 4-3, in the case where the timer stops when the carrier is at a high level, the carrier continues to be output until its next fall and then stops due to the function of the carrier synchronous circuit. When the timer starts operation, however, the high-level width of the first carrier may become shorter than the specified width. Figure 4-3. Timer Output (When Carrier is Output) Timer value: (set value + 1) × 8/fOSC (16/fOSC) LED REM (at low-level started) Note 1 REM (at high-level started) Note 2 Notes 1. Error when the REM output ends: Lead by “the carrier’s low-level width” to lag by “the carrier’s highlevel width” 2. Error of the carrier’s high-level width: 0 to “the carrier’s high-level width” 4.4 Software Control of Timer Output The timer output can be controlled by software. As shown in Figure 4-4, the pulse with a minimum width of 1instruction cycle (8/fOSC) can be output. Figure 4-4. Pulse Output of 1-Instruction Cycle Width .. . MOV T, #0000000000B; low-level output from the REM pin .. . MOV T, #1000000000B; high-level output from the REM pin MOV T, #0000000000B; low-level output from the REM pin .. . 8/fOSC LED REM Data Sheet U11281EJ3V0DS00 21 µPD6604 5. STANDBY FUNCTION 5.1 Outline of Standby Function To save current consumption, two types of standby modes, i.e., HALT mode and STOP mode, are made available. In STOP mode, the system clock stops oscillation. At this time, the OSCIN and OSC OUT pins are fixed at a low level. In HALT mode, CPU operation halts, while the system clock continues oscillation. When in HALT mode, the timer (including REM output and LED output) operates. In either STOP mode or HALT mode, the statuses of the data memory, accumulator, and port register, etc. immediately before the standby mode is set are retained. Therefore, make sure to set the port status for the system so that the current consumption of the whole system is suppressed before the standby mode is set. Table 5-1. Statuses During Standby Mode STOP Mode Setting instruction HALT Mode HALT instruction Clock oscillation circuit Oscillation stopped CPU • Operation halted Data memory • Immediately preceding status retained Operation Accumulator • Immediately preceding status retained statuses Flag Oscillation continued F • 0 (When 1, the flag is not placed in the standby mode.) CY • Immediately preceding status retained Port register • Immediately preceding status retained Timer • Operation halted (The count value is reset to “0”) • Operable Cautions 1. Write the NOP instruction as the first instruction after STOP mode is released. 2. When standby mode is canceled, the status flag (F) is set (to 1). 3. If, at the point the standby mode has been set, its cancelation condition is met, then the system is not placed in the standby mode. However, the status flag (F) is set (1). 22 Data Sheet U11281EJ3V0DS00 µPD6604 5.2 Standby Mode Setup and Release The standby mode is set with the HALT #b3b 2b1b 0B instruction for both STOP mode and HALT mode. For the standby mode to be set, the status flag (F) is required to have been cleared (to 0). The standby mode is released by the release condition specified with the RESET (RESET input; POC) or the operand of HALT instruction. If the standby mode is released, the status flag (F) is set (to 1). Even when the HALT instruction is executed in the state that the status flag (F) has been set (to 1), the standby mode is not set. If the release condition is not met at this time, the status flag is cleared (to 0). If the release condition is met, the status flag remains set (to 1). Even in the case when the release condition has been already met at the point that the HALT instruction is executed, the standby mode is not set. Here, also, the status flag (F) is set (to 1). Caution Depending on the status of the status flag (F), the HALT instruction may not be executed. Be careful about this. For example, when setting HALT mode after checking the key status with the STTS instruction, the system does not enter HALT mode as long as the status flag (F) remains set (to 1) thus sometimes performing an unintended operation. In this case, the intended operation can be realized by executing the STTS instruction immediately after timer setting to clear (to 0) the status flag. #03H ;To check the KI pin status. MOV T, #0xxH ;To set the timer STTS #05H ;To clear the status flag STTS … … Example HALT (During this time, be sure not to execute an instruction that may set the status flag.) #05H ;To set HALT mode Table 5-2. Addresses Executed After Standby Mode Released Release Condition Address Executed After Released Reset 0 address Release condition shown in Table 5-3 The address following the HALT instruction Data Sheet U11281EJ3V0DS00 23 µPD6604 Table 5-3. Standby Mode Setup (HALT #b3b2b1b0B) and Release Conditions Operand Value of HALT Instruction Setting Mode Precondition for Setup Release Condition b3 b2 b1 b0 0 0 0 0 STOP All KI/O pins are high-level output. High level is input to at least one of KI pins. 0 1 1 STOP All KI/O pins are high-level output. High level is input to at least one of KI pins. 1 1 0 STOPNote 1 The KI/O0 pin is high-level output. High level is input to at least one of KI pins. 1 Any of the STOP [The following condition is added in addition to the above.] combinations of — High level is input to at least one of S0 and S1 pins Note 2. b2b1b0 above 0/1 1 0 1 HALT — When the timer’s down counter is 0 Notes 1. When setting HALT #×110B, configure a key matrix by using the KI/O0 pin and the KI pin so that an internal reset takes effect at the time of program overrun. 2. At least one of the S0 and S1 pins (the pin used for canceling the standby) must be in INPUT mode. (The internal reset does not take effect even when both pins are in OUTPUT mode.) Cautions 1. The internal reset takes effect when the HALT instruction is executed with an operand value other than that above or when the precondition has not been satisfied when executing the HALT instruction. 2. If STOP mode is set when the timer’s down counter is not 0 (timer operating), the system is placed in STOP mode only after all the 10 bits of the timer’s down counter and the timer output permit flag are cleared to 0. 3. Write the NOP instruction as the first instruction after STOP mode is released. 5.3 Standby Mode Release Timing (1) STOP Mode Release Timing Figure 5-1. STOP Mode Cancelation by Release Condition HALT instruction (STOP mode) Wait (36/fOSC) Standby release signal OPERATING mode STOP mode Oscillation Oscillation stopped HALT mode OPERATING mode Oscillation Clock Caution When a release condition is established in the STOP mode, the device is released from the STOP mode and goes into a wait status. At this time, if the release condition is not held, the device goes into the STOP mode again after the wait time has elapsed. Therefore, when releasing the STOP mode, it is necessary to hold the release condition longer than the wait time. 24 Data Sheet U11281EJ3V0DS00 µPD6604 Figure 5-2. STOP Mode Release by RESET Input HALT instruction (STOP mode) Wait (60 to 116)/fOSC 0 address start RESET OPERATING mode Oscillation STOP mode Reset HALT mode Oscillation stopped OPERATING mode Oscillation Clock (2) HALT Mode Release Timing Figure 5-3. HALT Mode Release by Release Condition Standby release signal HALT instruction (HALT mode) OPERATING mode HALT mode OPERATING mode Oscillation Clock Figure 5-4. HALT Mode Release by RESET Input HALT instruction (HALT mode) Wait (60 to 116)/fOSC 0 address start RESET OPERATING HALT mode mode Oscillation Reset HALT mode Oscillation stopped OPERATING mode Oscillation Clock Data Sheet U11281EJ3V0DS00 25 µPD6604 6. RESET PIN The system reset takes effect by inputting low level to the RESET pin. While the RESET pin is at low level, the system clock oscillator is stopped and the OSCOUT pin is fixed to highimpedance, the OSCIN pin is fixed to the GND. If the RESET pin is raised from low level to high level, it executes the program from the 0 address after counting 60 to 116 of the system clock (f OSC). Figure 6-1. Reset Operation by RESET Input Wait (60 to 116)/fOSC 0 address start RESET OPERATING mode or Oscillation STANDBY mode stopped HALT mode OPERATING mode The RESET pin outputs low level when the POC circuit (mask option) is in operation. Caution When connecting a reset IC to the RESET pin, ensure that the IC is of the N-ch open-drain output type. Table 6-1. Hardware Statuses After Resetting • RESET Input in Operation • Resetting by Internal POC Circuit in Operation • Resetting by Other FactorsNote 1 Hardware PC (10 bits) 000H SP (1 bit) 0B Data R0 = DP 000H memory R1-RF Undefined Accumulator (A) Undefined • Status flag (F) • Carry flag (CY) 0B Timer (10 bits) 000H Port register P0 FFH P1 ×FHNote 2 Control register P3 03H P4 26H • RESET Input During STANDBY Mode • Resetting by the Internal POC Circuit During STANDBY Mode Previous status retained Notes 1. The following resets are available. • Reset when executing the HALT instruction (when the operand value is illegal or does not satisfy the precondition) • Reset when executing the RLZ instruction (when A = 0) • Reset by stack pointer’s overflow or underflow 2. Refers to the value by the KI pin status. In order to prevent malfunction, be sure to input a low level to more than one of pins KI0 to KI3 when reset is released (when RESET pin changes from low level to high level, or POC is released due to supply voltage startup). 26 Data Sheet U11281EJ3V0DS00 µPD6604 7. POC CIRCUIT (MASK OPTION) The POC circuit monitors the power supply voltage and applies an internal reset in the microcontroller at the time of battery replacement. If the applied circuit satisfies the following conditions, the POC circuit can be incorporated by the mask option. • High reliability is not required. • Clock frequency fOSC = 300 to 500 kHz • Power supply voltage VDD = 2.2 to 3.6 V • Operating ambient temperature TA = –20 to +70 °C Cautions 1. The one-time PROM product (µPD66P04B) originally contains the POC circuit. 2. There are cases in which the POC circuit cannot detect a low power supply voltage of less than 1 ms. Therefore, if the power supply voltage has become low for a period of less than 1 ms, the POC circuit may malfunction because it does not generate an internal reset signal. 3. If the applied circuit does not satisfy the conditions above, design the applied circuit in such a manner that the reset takes effect without failure within the power supply voltage range by means of an external reset circuit. 4. In order to prevent malfunction, be sure to input a low level to more than one of pins KI0 to KI3 when reset is released (when RESET pin changes from low level to high level, or POC is released due to supply voltage startup). Remarks 1. It is recommended that the POC circuit be incorporated when applied circuits are infrared remotecontrol transmitters for consumer appliances. 2. Even when a POC circuit is incorporated, the externally entered RESET input is valid with the OR condition; therefore, the POC circuit and the RESET input can be used at the same time. However, if the POC circuit detects a low power supply voltage, the RESET pin will be forced to low level; therefore, use an N-ch open drain output or NPN open collector output for the external reset circuit. Data Sheet U11281EJ3V0DS00 27 µPD6604 7.1 Functions of POC Circuit The POC circuit has the following functions: • Generates an internal reset signal when VDD ≤ V POC. • Cancels an internal reset signal when VDD > VPOC. Here, VDD: power supply voltage, VPOC: POC-detected voltage. VDD Operating ambient temperature TA = _ 20 to + 70°C 3.6 V Clock frequency fOSC = 300 to 500 kHz 2.2 V ←POC-detected voltage VPOC = 0.9 to 2.2 VNote 3 VPOS 0.9 V 0V →t Internal reset signal Reset ↑ Note 1 OPERATING mode ↑ Reset Note 2 Notes 1. In reality, there is the oscillation stabilization wait time until the circuit is switched to OPERATING mode. The oscillation stabilization wait time is about 60/fOSC to about 116/fOSC (about 130 to 250 µs; when fOSC = 455 kHz). 2. For the POC circuit to generate an internal reset signal when the power supply voltage has fallen, it is necessary for the power supply voltage to be kept less than the VPOC for the period of 1 ms or more. Therefore, in reality, there is the time lag of up to 1 ms until the reset takes effect. 3. The POC-detected voltage (VPOC) varies between 0.9 to 2.2 V; thus, the resetting may be canceled at a power supply voltage smaller than the assured range (VDD = 1.8 to 3.6 V). However, as long as the conditions for operating the POC circuit are met, the actual lowest operating power supply voltage becomes lower than the POC-detected voltage. Therefore, there is no malfunction occurring due to the shortage of power supply voltage. 28 Data Sheet U11281EJ3V0DS00 µPD6604 8. SYSTEM CLOCK OSCILLATOR The system clock oscillator consists of RC oscillation circuits (fOSC = 300 kHz to 1 MHz). Figure 8-1. System Clock µ PD6604 OSCOUT OSCIN GND R C The system clock oscillator stops its oscillation when reset or in STOP mode. Caution When using the system clock oscillator, wire area indicated by the dotted-line in the diagram as follows to reduce the effects of the wiring capacitance, etc. • Make the wiring as short as possible. • Do not allow the wiring to intersect other signal lines. Do not wire close to lines through which large fluctuating currents flow. • Make sure that the point where the oscillation circuit capacitor is installed is always at the same electric potential as the ground. Never earth with a ground pattern through which large currents flow. • Do not extract signals from the oscillation circuit. Data Sheet U11281EJ3V0DS00 29 µPD6604 Remark Theoretically, the oscillation frequency of the system clock is determined by the values of C and R. Actually, however, it also changes depending on supply voltage VDD and operating ambient temperature TA. Moreover, the oscillation frequency of some devices differs from that of the others even when R and C of the same values are connected because of variations in the devices and wiring of the set board. It is therefore difficult to accurately calculate the values of the oscillation frequency and R. However, an approximate value can be obtained by an approximate calculation (such as an expression calculating the value of R from the fOSC value) using data measured under fixed conditions. The expression shown below was obtained experimentally. This can be used to calculate the resistor R necessary to obtain the oscillation frequency fOSC under the conditions of C = 27 pF, VDD = 3.0 V, and TA = 25 °C. R= 26400 fOSC [kHz] – 2.40 [kΩ] (Where VDD = 3.0 V, and TA = 25 °C, and C = 27 pF) Example of fOSC vs R characteristics (Reference) (C = 27 pF, VDD = 3.0 V, and TA = 25 °C) Oscillation frequency fOSC [kHz] 1000 300 100 10 20 30 Oscillation resistance R [kΩ] 30 Data Sheet U11281EJ3V0DS00 50 70 80 100 µPD6604 9. INSTRUCTION SET 9.1 Machine Language Output by Assembler The bit length of the machine language of this product is 10 bits per word. However, the machine language that is output by the assembler is extended to 16 bits per word. As shown in the example below, the expansion is made by inserting 3-bit extended bits (111) in two locations. Figure 9-1. An Example of Assembler Output (10 bits extended to 16 bits) <1> In the case of “ANL A, @R0H” 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 Extended bits 0 0 0 0 1 0 0 0 0 = FAF0 1 0 0 0 = E6F8 Extended bits <2> In the case of “OUT P0, #data8” 1 1 1 Extended bits 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 Extended bits Data Sheet U11281EJ3V0DS00 31 µPD6604 9.2 Circuit Symbol Description 32 A : Accumulator ASR : Address Stack Register addr : Program memory address CY : Carry flag data4 : 4-bit immediate data data8 : 8-bit immediate data data10 : 10-bit immediate data F : Status flag PC : Program Counter Pn : Port register pair (n = 0, 1, 3, 4) P0n : Port register (low-order 4 bits) P1n : Port register (high-order 4 bits) ROMn : Bit n of the program memory’s (n = 0-9) Rn : Register pair R0n : Data memory (General-purpose register; n = 0-F) R1n : Data memory (General-purpose register; n = 0-F) SP : Stack Pointer T : Timer register T0 : Timer register (low-order 4 bits) T1 : Timer register (high-order 4 bits) (×) : Content addressed with × Data Sheet U11281EJ3V0DS00 µPD6604 9.3 Mnemonic to/from Machine Language (Assembler Output) Contrast Table Accumulator Operation Instructions Instruction Code Operand 1st Word Operation Instruction Instruction Length Cycle 3rd Word A, R0n FBEn (A) ← (A) A, R1n FAEn CY ← A3 • Rmn3 A, @R0H FAF0 (A) ← (A) ∨ ANL 2nd Word ∨ Mnemonic (Rmn) m = 0, 1 n = 0-F 1 1 ((P13), (R0))7-4 CY ← A3 • ROM7 (A) ← (A) FBF0 ∨ A, @R0L ((P13), (R0)) 3-0 CY ← A3 • ROM3 FBF1 data4 (A) ← (A) ∨ A, #data4 data4 2 CY ← A3 • data4 3 ORL A, R0n FDEn (A) ← (A) ∨ (Rmn) A, R1n FCEn CY ← 0 A, @R0H FCF0 m = 0, 1 n = 0-F 1 (A) ← (A) ∨ ((P13), (R0))7-4 CY ← 0 A, @R0L (A) ← (A) ∨ ((P13), (R0))3-0 FDF0 CY ← 0 A, #data4 FDF1 data4 (A) ← (A) ∨ data4 2 CY ← 0 XRL A, R0n F5En (A) ← (A) ∨ (Rmn) A, R1n F4En CY ← A3 • Rmn3 A, @R0H F4F0 (A) ← (A) ∨ ((P13), (R0))7-4 m = 0, 1 n = 0-F 1 CY ← A3 • ROM7 A, @R0L (A) ← (A) ∨ ((P13), (R0))3-0 F5F0 CY ← A3 • ROM3 A, #data4 F5F1 data4 (A) ← (A) ∨ data4 2 CY ← A3 • data4 3 INC A F4F3 (A) ← (A) + 1 if (A) = 0 1 CY ← 1 else CY ← 1 RL A FCF3 (An+1) ← (A n), (A 0) ← (A3) RLZ A FEF3 if A = 0 CY ← A3 reset else (An+1) ← (An), (A0) ← (A3) CY ← A3 Data Sheet U11281EJ3V0DS00 33 µPD6604 Input/output Instructions IN OUT ANL ORL XRL Mnemonic Instruction Code Operand 2nd Word 3rd Word A, P0n FFF8 + n — — (A) ← (Pmn) A, P1n FEF8 + n — — CY ← 0 (Pmn) ← (A) P0n, A E5F8 + n — — P1n, A E4F8 + n — — Remark m = 0, 1 n = 0, 1, 3, 4 m = 0, 1 n = 0, 1, 3, 4 A, P0n FBF8 + n — — (A) ← (A) A, P1n FAF8 + n — — CY ← A3 • Pmn 3 A, P0n FDF8 + n — — (A) ← (A) ∨ (Pmn) m = 0, 1 n = 0, 1, 3, 4 A, P1n FCF8 + n — — CY ← 0 A, P0n F5F8 + n — — (A) ← (A) ∨ (Pmn) m = 0, 1 n = 0, 1, 3, 4 A, P1n F4F8 + n — — CY ← A3 • Pmn 3 Pn, #data8 E6F8 + n 2nd Word Instruction Instruction Length Cycle 1 1 Instruction Instruction (Pmn) m = 0, 1 n = 0, 1, 3, 4 Instruction Code Operand 1st Word OUT Operation 1st Word ∨ Mnemonic Operation 3rd Word Length (Pn) ← data8 data8 n = 0, 1, 3, 4 2 Cycle 1 Pn: P1n-P0n are dealt with in pairs. Data Transfer Instruction Mnemonic Instruction Code Operand 1st Word MOV 2nd Word Operation Instruction Instruction Length Cycle 3rd Word A, R0n FFEn (A) ← (Rmn) A, R1n FEEn CY ← 0 A, @R0H FEF0 (A) ← ((P13), (R0))7-4 m = 0, 1 n = 0-F 1 1 CY ← 0 A, @R0L (A) ← ((P13), (R0))7-4 FFF0 CY ← 0 Mnemonic A, #data4 FFF1 R0n, A E5En R1n, A E4En Instruction Code Operand Remark 34 2 (Rmn) ← (A) 1st Word MOV (A) ← data4 CY ← 0 data4 2nd Word m = 0, 1 n = 0-F Operation 1 Instruction Instruction Length Cycle 3rd Word Rn, #data8 E6En data8 — (R1n-R0n) ← data8 n = 0-F 2 Rn, @R0 — — (R1n-R0n) ← ((P13), (R0)) n = 1-F 1 E7En Rn: R1n-R0n are dealt with in pairs. Data Sheet U11281EJ3V0DS00 1 µPD6604 Branch Instructions Mnemonic Instruction Code Operand 1st Word JMP JC JNC JF JNF 2nd Word addr (Page 0) E8F1 addr addr (Page 1) E9F1 addr Operation Instruction Instruction Length Cycle 3rd Word PC ← addr 2 1 PC ← addr addr (Page 0) ECF1 addr if CY = 1 addr (Page 1) EAF1 addr else PC ← PC + 2 addr (Page 0) EDF1 addr if CY = 0 addr (Page 1) EBF1 addr else PC ← PC + 2 addr (Page 0) EEF1 addr if F = 1 addr (Page 1) F0F1 addr else PC ← PC + 2 addr (Page 0) EFF1 addr if F = 0 addr (Page 1) F1F1 addr else PC ← PC + 2 PC ← addr PC ← addr PC ← addr Caution 0 and 1, which refer to PAGE0 and 1, are not written when writing mnemonics. Subroutine Instructions Mnemonic Instruction Code Operand 1st Word CALL 2nd Word 3rd Word addr (Page 0) E6F2 E8F1 addr addr (Page 1) E6F2 E9F1 addr RET E8F2 Operation Instruction Instruction Length Cycle SP ← SP + 1, ASR ← PC, PC ← addr 3 2 PC ← ASR, SP ← SP – 1 1 1 Caution 0 and 1, which refer to PAGE0 and 1, are not written when writing mnemonics. Timer Operation Instructions Mnemonic Instruction Code Operand 1st Word MOV Mnemonic MOV 2nd Word 3rd Word FFFF A, T1 FEFF CY ← 0 T0, A E5FF (Tn) ← (A) T1, A F4FF (T) n ← 0 Instruction Code 1st Word 2nd Word T, #data10 E6FF data10 T, @R0 F4FF Instruction Length (A) ← (Tn) A, T0 Operand Instruction Operation n = 0, 1 1 Cycle 1 n = 0, 1 Operation Instruction Instruction Length Cycle 3rd Word (T) ← data10 1 1 (T) ← ((P13), (R0)) Data Sheet U11281EJ3V0DS00 35 µPD6604 Others Mnemonic Instruction Code Operand 1st Word 2nd Word Operation HALT #data4 E2F1 data4 Standby mode STTS #data4 E3F1 data4 if statuses match R0n E3En else FAF3 NOP E0E0 Cycle 2 F←1 F←1 F←0 if A = 0FH else 36 Instruction Length F←0 if statuses match else SCAF Instruction 3rd Word 1 n = 0-F CY ← 1 CY ← 0 PC ← PC + 1 Data Sheet U11281EJ3V0DS00 1 µPD6604 9.4 Accumulator Operation Instructions ANL A, R0n ANL A, R1n 1 1 0 1 R4 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ <1> Instruction code : (Rmn) m = 0, 1 n = 0 to F CY ← A 3 • Rmn3 The accumulator contents and the register Rmn contents are ANDed and the results are entered in the accumulator. ANL A, @R0H ANL A, @R0L 1 1 0 1 0/1 1 0 0 0 0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ <1> Instruction code : ((P13), (R0)) 7-4 (in the case of ANL A, @R0H) CY ← A 3 • ROM 7 ∨ (A) ← (A) ((P13), (R0)) 3-0 (in the case of ANL A, @R0L) CY ← A 3 • ROM 3 The accumulator contents and the program memory contents specified with the control register P13 and register pair R10-R00 are ANDed and the results are entered in the accumulator. If H is specified, b 7, b6, b5 and b4 take effect. If L is specified, b 3, b2, b1 and b0 take effect. • Program memory (ROM) organization b7 b9 b6 b5 b4 b8 b3 H↓ b2 b1 b0 L↓ Valid bits at the time of accumulator operation ANL A, #data4 <1> Instruction code : 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 d3 d2 d1 d0 :1 <3> Function : (A) ← (A) ∨ <2> Cycle count data4 CY ← A 3 • data43 The accumulator contents and the immediate data are ANDed and the results are entered in the accumulator. Data Sheet U11281EJ3V0DS00 37 µPD6604 ORL A, R0n ORL A, R1n <1> Instruction code : 1 1 1 0 R4 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ (Rmn) m = 0, 1 n = 0 to F CY ← 0 The accumulator contents and the register Rmn contents are ORed and the results are entered in the accumulator. ORL A, @R0H ORL A, @R0L <1> Instruction code : 1 1 1 0 0/1 1 0 0 0 0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ (P13), (R0)) 7-4 (in the case of ORL A, @R0H) (A) ← (A) ∨ (P13), (R0)) 3-0 (in the case of ORL A, @R0L) CY ← 0 The accumulator contents and the program memory contents specified with the control register P13 and register pair R10-R00 are ORed and the results are entered in the accumulator. If H is specified, b7, b6, b5 and b4 take effect. If L is specified, b3, b2, b1 and b0 take effect. ORL A, #data4 <1> Instruction code : 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ data4 CY ← 0 The accumulator contents and the immediate data are exclusive-ORed and the results are entered in the accumulator. XRL A, R0n XRL A, R1n <1> Instruction code : 1 0 1 0 R4 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ (Rmn) m = 0, 1 n = 0 to F CY ← A 3 • Rmn3 The accumulator contents and the register Rmn contents are ORed and the results are entered in the accumulator. 38 Data Sheet U11281EJ3V0DS00 µPD6604 XRL A, @R0H XRL A, @R0L <1> Instruction code : 1 0 1 0 0/1 1 0 0 0 0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ (P13), (R0)) 7-4 (in the case of XRL A, @R0H) CY ← A 3 • ROM 7 (A) ← (A) ∨ (P13), (R0)) 3-0 (in the case of XRL A, @R0L) CY ← A 3 • ROM 3 The accumulator contents and the program memory contents specified with the control register P13 and register pair R10-R00 are exclusive-ORed and the results are entered in the accumulator. If H is specified, b7, b6, b5, and b4 take effect. If L is specified, b3, b2, b1, and b 0 take effect. XRL A, #data4 <1> Instruction code : 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ data4 CY ← A 3 • data43 The accumulator contents and the immediate data are exclusive-ORed and the results are entered in the accumulator. INC A <1> Instruction code : 1 0 1 0 0 1 0 0 1 1 <2> Cycle count :1 <3> Function : (A) ← (A) + 1 if A = 0 else CY ← 1 CY ← 0 The accumulator contents are incremented (+1). RL A <1> Instruction code : 1 1 1 0 0 1 0 0 1 1 <2> Cycle count :1 <3> Function : (A n + 1) ← (An), (A 0) ← (A3) CY ← A 3 The accumulator contents are rotated anticlockwise bit by bit. RLZ A <1> Instruction code : 1 1 1 1 0 1 0 0 1 1 <2> Cycle count :1 <3> Function : if A = 0 else reset (A n + 1) ← (An), (A 0) ←(A3) CY ← A 3 The accumulator contents are rotated anticlockwise bit by bit. If A = 0H at the time of command execution, an internal reset takes effect. Data Sheet U11281EJ3V0DS00 39 µPD6604 9.5 Input/Output Instructions IN A, P0n IN A, P1n <1> Instruction code : 1 1 1 1 P4 1 1 P2 P1 P0 <2> Cycle count :1 <3> Function : (A) ← (Pmn) m = 0, 1 n = 0, 1, 3, 4 CY ← 0 The port Pmn data is loaded (read) onto the accumulator. OUT P0n, A OUT P1n, A <1> Instruction code : 0 0 1 0 P4 1 1 P2 P1 P0 <2> Cycle count :1 <3> Function : (Pmn) ← (A) m = 0, 1 n = 0, 1, 3, 4 The accumulator contents are transferred to port Pmn to be latched. ANL A, P0n ANL A, P1n 1 1 0 1 P4 1 1 P2 P1 P0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ <1> Instruction code : (Pmn) m = 0, 1 n = 0, 1, 3, 4 CY ← A 3 • Pmn The accumulator contents and the port Pmn contents are ANDed and the results are entered in the accumulator. ORL A, P0n ORL A, P1n <1> Instruction code : 1 1 1 0 P4 1 1 P2 P1 P0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ (Pmn) m = 0, 1 n = 0, 1, 3, 4 CY ← 0 The accumulator contents and the port Pmn contents are ORed and the results are entered in the accumulator. XRL A, P0n XRL A, P1n <1> Instruction code : 1 0 1 0 P4 1 1 P2 P1 P0 <2> Cycle count :1 <3> Function : (A) ← (A) ∨ (Pmn) m = 0, 1 n = 0, 1, 3, 4 CY ← A 3 • Pmn The accumulator contents and the port Pmn contents are exclusive-ORed and the results are entered in the accumulator. 40 Data Sheet U11281EJ3V0DS00 µPD6604 OUT Pn, #data8 <1> Instruction code : 0 0 1 1 0 1 1 P2 P1 P0 : 0 d7 d6 d5 d4 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : (Pn) ← data8 n = 0, 1, 3, 4 The immediate data is transferred to port Pn. In this case, port Pn refers to P1n-P 0n operating in pairs. 9.6 Data Transfer Instruction MOV A, R0n MOV A, R1n <1> Instruction code : 1 1 1 1 R4 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : (A) ← (Rmn) m = 0, 1 n = 0 to F CY ← 0 The register Rmn contents are transferred to the accumulator. MOV A, @R0H <1> Instruction code : 1 1 1 1 0 1 0 0 0 0 <2> Cycle count :1 <3> Function : (A) ← ((P13), (R0))7-4 CY ← 0 The high-order 4 bits (b7 b 6 b5 b4) of the program memory specified with control register P13 and register pair R10-R00 are transferred to the accumulator. b9 is ignored. MOV A, @R0L <1> Instruction code : 1 1 1 1 1 1 0 0 0 0 <2> Cycle count :1 <3> Function : (A) ← ((P13), (R0))3-0 CY ← 0 The low-order 4 bits (b3 b 2 b1 b0) of the program memory specified with control register P13 and register pair R10-R00 are transferred to the accumulator. b8 is ignored. • Program memory (ROM) contents @R0 H b9 b7 b6 b5 @R0 L b4 b8 b3 b2 b1 b0 MOV A, #data4 <1> Instruction code : 1 1 1 1 1 1 0 0 0 1 : 0 0 0 0 0 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : (A) ← data4 CY ← 0 The immediate data is transferred to the accumulator. Data Sheet U11281EJ3V0DS00 41 µPD6604 MOV R0n, A MOV R1n, A <1> Instruction code : 0 0 1 0 R4 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : (Rmn) ← (A) m = 0, 1 n = 0 to F The accumulator contents are transferred to register Rmn. MOV Rn, #data8 <1> Instruction code : 0 0 1 1 0 0 R3 R2 R1 R0 : 0 d7 d6 d5 d4 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : (R1n-R0n) ← data8 n = 0-F The immediate data is transferred to the register. Using this instruction, registers operate as register pairs. The pair combinations are as follows: R0 : R10 - R00 R1 : R11 - R01 : RE : R 1E - R0E RF : R1F - R0F Lower column Higher column MOV Rn, @R0 <1> Instruction code : 0 0 1 1 1 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : (R1n-R0n) ← ((P13), R0)) n = 1 to F The program memory contents specified with control register P13 and register pair R10-R00 are transferred to register pair R1n-R0n. The program memory consists of 10 bits and has the following state after the transfer to the register. Program memory b9 b7 b6 b5 b4 b8 b3 b2 b1 b0 → b9 b7 @R0 b6 b5 R1n b4 b8 b3 b2 b1 b0 R0n The high-order 2 bits of the program memory address is specified with the control register (P13). 42 Data Sheet U11281EJ3V0DS00 µPD6604 9.7 Branch Instructions The program memory consists of pages in steps of 1K (000H to 3FFH). However, as the assembler automatically performs page optimization, it is unnecessary to designate pages. The pages allowed for each product are as follows. µPD6604 (ROM: 1K steps) : page 0 µPD66P04B (PROM: 1K steps) : page 0 JMP addr <1> Instruction code : page 0 0 1 0 0 0 1 0 0 0 1 ; page 1 0 1 0 0 1 1 0 0 0 1 a9 a7 a6 a5 a4 a8 a3 a2 a1 a0 <2> Cycle count :1 <3> Function : PC ← addr The 10 bits (PC9-0) of the program counter are replaced directly by the specified address addr (a9 to a0). JC addr <1> Instruction code : page 0 0 1 1 0 0 1 0 0 0 1 ; page 1 0 1 0 1 0 1 0 0 0 1 a9 a7 a6 a5 a4 a8 a3 a2 a1 a0 <2> Cycle count :1 <3> Function : if CY = 1 else PC ← addr PC ← PC + 2 If the carry flag CY is set (to 1), a jump is made to the address specified with addr (a9 to a0). JNC addr <1> Instruction code : page 0 0 1 1 0 1 1 0 0 0 1 ; page 1 0 1 0 1 1 1 0 0 0 1 a9 a7 a6 a5 a4 a8 a3 a2 a1 a0 <2> Cycle count :1 <3> Function : if CY = 0 else PC ← addr PC ← PC + 2 If the carry flag CY is cleared (to 0), a jump is made to the address specified with addr (a9 to a0). JF addr <1> Instruction code : page 0 0 1 1 1 0 1 0 0 0 1 ; page 1 1 0 0 0 0 1 0 0 0 1 a9 a7 a6 a5 a4 a8 a3 a2 a1 a0 <2> Cycle count :1 <3> Function : if F = 1 else PC ← addr PC ← PC + 2 If the status flag F is set (to 1), a jump is made to the address specified with addr (a9 to a0). JNF addr <1> Instruction code : page 0 0 1 1 1 1 1 0 0 0 1 ; page 1 1 0 0 0 1 1 0 0 0 1 a9 a7 a6 a5 a4 a8 a3 a2 a1 a0 <2> Cycle count :1 <3> Function : if F = 0 else PC ← addr PC ← PC + 2 If the status flag F is cleared (to 0), a jump is made to the address specified with addr (a9 to a 0). Data Sheet U11281EJ3V0DS00 43 µPD6604 9.8 Subroutine Instructions The program memory consists of pages in steps of 1K (000H to 3FFH). However, as the assembler automatically performs page optimization, it is unnecessary to designate pages. The pages allowed for each product are as follows. µPD6604 (ROM: 1K steps) : page 0 µPD66P04B (PROM: 1K steps) : page 0 CALL addr <1> Instruction code : 0 0 1 1 0 1 0 0 1 0 page 0 0 1 0 0 0 1 0 0 0 1 ; page 1 0 1 0 0 1 1 0 0 0 1 a9 a7 a6 a5 a4 a8 a3 a2 a1 a0 <2> Cycle count :2 <3> Function : SP ← SP + 1 ASR ← PC PC ← addr Increments (+1) the stack pointer value and saves the program counter value in the address stack register. Then, enters the address specified with the operand addr (a9 to a0) into the program counter. If a carry is generated when the stack pointer value is incremented (+1), an internal reset takes effect. RET <1> Instruction code : 0 1 0 0 0 1 0 0 1 0 <2> Cycle count :1 <3> Function : PC ← ASR SP ← SP – 1 Restores the value saved in the address stack register to the program counter. Then, decrements (–1) the stack pointer. If a borrow is generated when the stack pointer value is decremented (–1), an internal reset takes effect. 44 Data Sheet U11281EJ3V0DS00 µPD6604 9.9 Timer Operation Instructions MOV A, T0 MOV A, T1 <1> Instruction code : 1 1 1 1 0/1 1 1 1 1 1 <2> Cycle count :1 <3> Function : (A) ← (Tn) n = 0, 1 CY ← 0 The timer Tn contents are transferred to the accumulator. T1 corresponds to (t9, t8, t7, t6); T0 corresponds to (t5, t4, t3, t2). T t9 t8 t7 t6 t5 T1 t4 t3 t2 t1 t0 T0 ↓ MOV T, #data10 Can be set with MOV T, @R0 MOV T0, A MOV T1, A <1> Instruction code : 0 0 1 0 0/1 1 1 1 1 1 <2> Cycle count :1 <3> Function : (Tn) ← (A) n = 0, 1 The accumulator contents are transferred to the timer register Tn. T1 corresponds to (t9, t8, t7, t6); T0 corresponds to (t5, t4, t3, t2). After executing this instruction, if data is transferred to T1, t1 becomes 0; if data is transferred to T0, t0 becomes 0. MOV T, #data10 <1> Instruction code : 0 0 1 1 0 1 1 1 1 1 t1 t9 t8 t7 t6 t0 t5 t4 t3 t2 <2> Cycle count :1 <3> Function : (T) ← data10 The immediate data is transferred to the timer register T (t9-t 0). Remark The timer time is set with (set value + 1) × 8/fOSC or 16/fOSC. Data Sheet U11281EJ3V0DS00 45 µPD6604 MOV T, @R0 <1> Instruction code : 0 0 1 1 1 1 1 1 1 1 <2> Cycle count :1 <3> Function : (T) ← ((P13), (R0)) Transfers the program memory contents to the timer register T (t9 to t0) specified with the control register P13 and the register pair R10-R00. The program memory, which consists of 10 bits, is placed in the following state after the transfer to the register. Timer Program memory t9 t1 t8 t7 t6 t0 T t5 t4 t3 → t2 @R0 t9 t8 t7 T1 t6 t5 t4 t3 t2 t1 t0 T0 The high-order 2 bits of the program memory address are specified with the control register (P13). Caution When setting a timer value in the program memory, ensure to use the DT directive. 9.10 Others HALT #data4 <1> Instruction code : 0 0 0 1 0 1 0 0 0 1 : 0 0 0 0 0 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : Sandby mode Places the CPU in standby mode. The condition for having the standby mode (HALT/STOP mode) canceled is specified with the immediate data. STTS R0n <1> Instruction code : 0 0 0 1 1 0 R3 R2 R1 R0 <2> Cycle count :1 <3> Function : if statuses match else F ← 0 F← 1 n = 0 to F Compares the S0, S1, KI/O, KI, and TIMER statuses with the register R0n contents. If at least one of the statuses coincides with the bits that have been set, the status flag F is set (to 1). If none of them coincide, the status flag F is cleared (to 0). 46 Data Sheet U11281EJ3V0DS00 µPD6604 STTS #data4 <1> Instruction code : 0 0 0 1 1 1 0 0 0 1 : 0 0 0 0 0 0 d3 d2 d1 d0 <2> Cycle count :1 <3> Function : if statuses match else F← 1 F ← 0 Compares the S0, S1, KI/O, KI, and TIMER statuses with the immediate data contents. If at least one of the statuses coincides with the bits that have been set, the status flag F is set (to 1). If none of them coincide, the status flag F is cleared (to 0). SCAF (Set Carry If ACC = F H) <1> Instruction code : 1 1 0 1 0 1 0 0 1 1 <2> Cycle count :1 <3> Function : if A = 0FH else CY ← 1 CY ← 0 Sets the carry flag CY (to 1) if the accumulator contents are FH. The accumulator values after executing the SCAF instruction are as follows: Accumulator Value Before execution Carry Flag After execution ×××0 0000 0 (clear) ××01 0001 0 (clear) ×011 0011 0 (clear) 0111 0111 0 (clear) 1111 1111 1 (set) Remark ×: don’t care NOP <1> Instruction code : 0 0 0 0 0 0 0 0 0 0 <2> Cycle count :1 <3> Function : PC ← PC + 1 No operation Data Sheet U11281EJ3V0DS00 47 µPD6604 10. ASSEMBLER RESERVED WORDS 10.1 Mask Option Directives When creating the µPD6604 program, it is necessary to use a mask option directive in the assembler’s source program to specify a mask option. 10.1.1 OPTION and ENDOP directives From the OPTION directive on to the ENDOP directive are called the mask option definition block. The format of the mask option definition block is as follows: Format: Symbol field Mnemonic field [Label:] OPTION Operand field Comment field [; Comment] : : ENDOP 10.1.2 Mask option definition directive The directives that can be used in the mask option definition block are listed in Table 10-1. An example of the mask option definition is shown below. Example: Symbol field Mnemonic field Operand field Comment field OPTION USEPOC ; POC circuit incorporated ENDOP Table 10-1. List of Mask Option Definition Directives Name POC PRO File Mask Option Definition Directive USEPOC (POC circuit incorporated) Address value Data value 2044H 01 NOUSEPOC (Without POC circuit) 48 Data Sheet U11281EJ3V0DS00 00 µPD6604 11. ELECTRICAL SPECIFICATIONS Absolute Maximum Ratings (TA = +25 °C) Parameter Power supply voltage Symbol Input voltage VI Output voltage VO High-level output current Test Conditions Rating Unit –0.3 to +5.0 V –0.3 to V DD + 0.3 V –0.3 to V DD + 0.3 V VDD IOHNote KI/O, K I, S0, S1, RESET REM LED Peak value –30 mA rms –20 mA Peak value –7.5 mA –5 mA –13.5 mA –9 mA rms One KI/O pin Peak value rms Total of LED and KI/O pins Low-level output current IOL Note REM Peak value –18 mA rms –12 mA Peak value 7.5 mA 5 mA rms LED Peak value rms 7.5 mA 5 mA Operating ambient temperature TA –40 to +85 °C Storage temperature Tstg –65 to +150 °C Note Work out the rms with: [rms] = [Peak value] × Duty. Caution Product quality may suffer if the absolute rating is exceeded for any parameter, even momentarily. In other words, an absolute maxumum rating is a value at which the possibility of psysical damage to the product cannnot be ruled out. Care must therefore be taken to ensure that the these ratings are not exceeded during use of the product. Recommended Power Supply Voltage Range (TA = –40 to +85 °C) Parameter Power supply voltage Symbol VDD Test Conditions MIN. TYP. MAX. Unit fOSC = 300 to 500 kHz 1.8 3.0 3.6 V fOSC = 500 kHz to 1 MHz 2.2 3.0 3.6 V When using the POC circuit (mask option) 2.2 3.0 3.6 V T A = –20 to +70 °C fOSC = 300 to 500 kHz Data Sheet U11281EJ3V0DS00 49 µPD6604 DC Characteristics (TA = –40 to +85 °C, VDD = 1.8 to 3.6 V) Parameter High-level input voltage Low-level input voltage Symbol MAX. Unit VIH1 RESET Test Conditions 0.8 VDD MIN. TYP. VDD V VIH2 KI/O 0.65 VDD VDD V VIH3 K I , S 0 , S1 0.65 VDD VDD V VIL1 RESET 0 0.2 VDD V VIL2 KI/O 0 0.3 VDD V VIL3 K I , S 0 , S1 0 0.15 VDD V ILH1 KI VI = VDD, pull-down resistor not incorporated 3 µA ILH2 S 0, S 1 VI = VDD, pull-down resistor not incorporated 3 µA Low-level input leakage IUL1 KI VI = 0 V –3 µA current IUL2 KI/O VI = 0 V –3 µA IUL3 S 0, S 1 VI = 0 V –3 µA High-level output voltage VOH1 REM, LED, KI/O IOH = –0.3 mA Low-level output voltage VOL1 REM, LED IOL = 0.3 mA High-level input leakage current 0.8 VDD V 0.3 V VOL2 KI/O IOL = 15 µA High-level output current IOH1 REM VDD = 3.0 V, VOH = 1.0 V –5 –9 mA IOH2 KI/O VDD = 3.0 V, VOH = 2.2 V –2.5 –5 mA Low-level output current IOL1 KI/O VDD = 3.0 V, VOL = 0.4 V 30 70 µA VDD = 3.0 V, VOL = 2.2 V 100 220 Built-in pull-up resistor R1 RESET 25 50 Built-in pull-down resistor 0.4 V µA 100 kΩ R2 RESET 2.5 5 15 kΩ R3 K I , S 0 , S1 75 150 300 kΩ 250 500 kΩ 3.6 V R4 KI/O 130 Data hold power supply voltage VDDOR In STOP mode 0.9 Supply currentNote IDD1 OPERATING fOSC = 1.0 MHz, VDD = 3 V ± 10 % 0.5 1.0 mA mode fOSC = 455 kHz, VDD = 3 V ± 10 % 0.35 0.7 mA IDD2 IDD3 HALT mode STOP mode fOSC = 1.0 MHz, VDD = 3 V ± 10 % 0.45 0.9 mA fOSC = 455 kHz, VDD = 3 V ± 10 % 0.3 0.6 mA VDD = 3 V ± 10 % 1.0 8.0 µA VDD = 3 V ± 10 %, TA = 25 °C 0.1 1.0 µA Note The POC circuit current and the current flowing in the built-in pull-up resistor are not included. 50 Data Sheet U11281EJ3V0DS00 µPD6604 AC Characteristics (TA = –40 to +85 °C, VDD = 1.8 to 3.6 V) Parameter Symbol Command execution time tCY KI, S0, S1 high-level width tH Test Conditions When canceling standby mode RESET low-level width MIN. VDD = 2.2 to 3.6 V MAX. Unit 7.9 TYP. 27 µs 15.9 27 µs 10 µs HALT mode 10 µs STOP mode Note µs 10 µs tRSL Note 10 + 36/fOSC + oscillation growth time Remark tCY = 8/fOSC (fOSC: System clock oscillator frequency) POC Circuit (mask option Note 1) (TA = –20 to +70 °C) Parameter POC-detected voltageNote 2 POC circuit current Symbol Test Conditions VPOC MIN. 0.9 IPOC TYP. MAX. Unit 1.6 2.2 V 0.9 1.0 µA Notes 1. Operates effectively under the conditions of T A = –20 to +70 °C, V DD = 2.2 to 3.6 V, and fOSC = 300 to 500 kHz. 2. Refers to the voltage with which the POC circuit cancels an internal reset. If VPOC < VDD , the internal reset is canceled. From the time of VPOC ≥ VDD until the internal reset takes effect, lag of up to 1 ms occurs. When the period of VPOC ≥ VDD lasts less than 1 ms, the internal reset may not take effect. System Clock Oscillation Circuit Characteristics (TA = –40 to +85 °C, VDD = 1.8 to 3.6 V) Parameter Oscillator frequency Symbol Test Conditions fOSC VDD = 2.2 to 3.6 V MIN. TYP. MAX. Unit 300 300 455 500 kHz 455 1000 kHz Recommended Oscillation Circuit Constant (TA = –40 to +85 °C, VDD = 1.8 to 3.6 V) (Reference value) Parameter Symbol Capacity of oscillation capacitor C Oscillation resistance R Test Conditions MIN. TYP. MAX. Unit 22 27 33 pF 56 kΩ An external circuit example OSCIN OSCOUT R C Data Sheet U11281EJ3V0DS00 51 µPD6604 12. CHARACTERISTIC CURVE (REFERENCE VALUES) fOSC vs VDD Characteristic Example IDD vs VDD Characteristic Example (C = 27 pF, TA = 25 °C) (TA = 25 °C) 500 0.8 fOSC = 1 MHz OPERATING mode fOSC = 1 MHz HALT mode 0.6 fOSC = 455 kHz OPERATING mode fOSC = 455 kHz HALT mode 0.4 0.2 0 1.8 2.4 3.0 3.6 Oscillation frequency fOSC [kHz] Power supply current IDD [mA] 1.0 480 460 R = 56 kΩ 440 420 400 4.2 0 1.8 2.4 3.0 3.6 4.2 Power supply voltage VDD [V] Power supply voltage VDD [V] IDD vs TA Characteristic Example (C = 27 pF, VDD = 3.0 V) IOL vs VOL Characteristic Example (REM, LED) (TA = 25 °C, VDD = 3.0 V) 500 10 Low-level output current IOL [mA] Oscillator frequency fOSC [kHz] 9 480 460 R = 56 kΩ 440 420 8 7 6 5 4 3 2 1 400 –50 –40 –30 –10 10 30 50 70 85 90 0.6 0 2.4 IOH vs VOH Characteristic Example (REM) IOH vs VOH Characteristic Example (LED) –10 –18 –9 –16 –14 –12 –10 –8 –6 –4 –2 0 VDD 3 (TA = 25 °C , VDD = 3.0 V) –20 High-level output current IOH [mA] High-level output current IOH [mA] 1.8 Low-level output voltage VOL [V] (TA = 25 °C , VDD = 3.0 V) –8 –7 –6 –5 –4 –3 –2 –1 VDD – 0.6 VDD – 1.2 VDD – 1.8 VDD – 2.4 VDD – 3 High-level output voltage VOH [V] 52 1.2 Operating temperature TA [°C] 0 VDD VDD – 0.6 VDD – 1.2 VDD – 1.8 VDD – 2.4 VDD – 3 High-level output voltage VOH [V] Data Sheet U11281EJ3V0DS00 µPD6604 IOL vs VOL Characteristic Example (KI/O) IOH vs VOH Characteristic Example (KI/O) (TA = 25 °C, VDD = 3.0 V) High-level output current IOH [mA] Low-level output current IOL [ µ A] 320 (TA = 25 °C, VDD = 3.0 V) 280 240 200 160 120 80 40 0 0.6 1.2 1.8 2.4 3 Low-level output voltage VOL [V] –15 –14 –13 –12 –11 –10 –9 –8 –7 –6 –5 –4 –3 –2 –1 0 VDD VDD – 0.6 VDD – 1.2 VDD – 1.8 VDD – 2.4 VDD – 3 High-level output voltage VOH [V] Data Sheet U11281EJ3V0DS00 53 µPD6604 13. APPLIED CIRCUIT EXAMPLE Example of Application to System · Remote-control transmitter (40 keys; mode selection switch accommodated) + + KI/O6 KI/O5 KI/O7 KI/O4 S0 KI/O3 S1/LED KI/O2 REM KI/O1 VDD KI/O0 OSCOUT KI3 OSCIN KI2 GND KI1 RESET KI0 Mode selection switch R C µ PD6604GS Key matrix 8 × 5 = 40 keys · Remote-control transmitter (48 keys accommodated) + + KI/O6 KI/O5 KI/O7 KI/O4 S0 KI/O3 S1/LED KI/O2 REM KI/O1 VDD KI/O0 OSCOUT KI3 OSCIN KI2 GND KI1 RESET KI0 R C µ PD6604GS Key matrix 8 × 6 = 48 keys Remark When the POC circuit of the mask option is used effectively, it is not necessary to connect the capacitor enclosed in the dotted lines. 54 Data Sheet U11281EJ3V0DS00 µPD6604 14. PACKAGE DRAWINGS (1) µ PD6604GS 20 PIN PLASTIC SOP (300 mil) 20 11 detail of lead end P 1 10 A H I G J L C D M M B K N E F NOTE ITEM Each lead centerline is located within 0.12 mm (0.005 inch) of its true position (T.P.) at maximum material condition. MILLIMETERS INCHES A 12.7±0.3 0.500±0.012 B 0.78 MAX. 0.031 MAX. C 1.27 (T.P.) 0.050 (T.P.) D 0.42 +0.08 –0.07 0.017 +0.003 –0.004 E 0.1±0.1 0.004±0.004 F 1.8 MAX. 0.071 MAX. G 1.55±0.05 0.061±0.002 H 7.7±0.3 0.303±0.012 I 5.6±0.2 0.220 +0.009 –0.008 J 1.1 0.043 K 0.22 +0.08 –0.07 0.009 +0.003 –0.004 L 0.6±0.2 0.024 +0.008 –0.009 M 0.12 0.005 N 0.10 0.004 P 3° +7° –3° 3° +7° –3° P20GM-50-300B, C-5 Remark The dimensions and materials of the ES model are the same as those of mass production model. Data Sheet U11281EJ3V0DS00 55 µPD6604 (2) µ PD6604GS-GJG 20 PIN PLASTIC SHRINK SOP (300 mil) 20 11 detail of lead end P 1 10 A H F I G J S L E N S K C D M M B NOTE ITEM 1. Controlling dimension millimeter. 2. Each lead centerline is located within 0.12 mm (0.005 inch) of its true position (T.P.) at maximum material condition. MILLIMETERS INCHES A 6.7±0.3 0.264 +0.012 –0.013 B 0.575 MAX. 0.023 MAX. C 0.65 (T.P.) 0.026 (T.P.) D 0.32 +0.08 –0.07 0.013 +0.003 –0.004 E 0.125 ± 0.075 0.005 ± 0.003 F 2.0 MAX. 0.079 MAX. G 1.7±0.1 0.067 +0.004 –0.005 H I 8.1 ± 0.3 6.1 ± 0.2 0.319 ± 0.012 0.240 ± 0.008 J 1.0 ± 0.2 0.039 +0.009 –0.008 K 0.15 +0.10 –0.05 0.006 +0.004 –0.002 L 0.5 ± 0.2 0.020 +0.008 –0.009 M 0.12 0.005 N 0.10 0.004 P 3° +7° –3° 3° +7° –3° P20GM-65-300B-3 Remark The dimensions and materials of the ES model are the same as those of mass production model. 56 Data Sheet U11281EJ3V0DS00 µPD6604 15. RECOMMENDED SOLDERING CONDITIONS Carry out the soldered packaging of this product under the following recommended conditions. For details of the soldering conditions, refer to information material Semiconductor Device Mounting Technology Manual (C10535E). For soldering methods and conditions other than the recommended conditions, please consult one of our NEC sales representatives. Table 15-1. Soldering Conditions for Surface-Mount Type µPD6604GS-××× : 20-pin plastic SOP (300 mil) µPD6604GS-×××-GJG : 20-pin plastic shrink SOP (300 mil) Soldering Method Soldering Condition Recommended Condition Symbol Infrared reflow Package peak temperature: 235 °C; time: 30 secs. max. (210 °C or higher); count: no more than twice IR35-00-2 VPS Package peak temperature: 215 °C; time: 40 secs. max. (200 °C or higher); VP15-00-2 count: no more than twice Wave soldering Solder bath temperature: 260 °C max.; time: 10 secs. max.; count: once WS60-00-1 Preliminary heat temperature: 120 °C max. (Package surface temperature) Partial heating Pin temperature: 300 °C or less; time: 3 secs or less (for each side of the device) — Caution Using more than one soldering method should be avoided (except in the case of partial heating). Data Sheet U11281EJ3V0DS00 57 µPD6604 APPENDIX A. DEVELOPMENT TOOLS An emulator is provided for the µPD6604. Hardware • Emulator (EB-6133Note) It is used to emulate the µPD6604. Note This is a product of Naito Densei Machida Mfg. Co., Ltd. For details, consult Naito Densei Machida Mfg. Co., Ltd. (044-822-3813). Software • Assembler (AS6133) • This is a development tool for remote control transmitter software. Part Number List of AS6133 Host Machine PC-9800 series OS Supply Medium Part Number MS-DOSTM (Ver. 5.0 to Ver. 6.2) 3.5-inch 2HD µS5A13AS6133 MS-DOS (Ver. 6.0 to Ver. 6.22) 3.5-inch 2HC µS7B13AS6133 (CPU: 80386 or more) IBM PC/ATTM compatible PC DOSTM (Ver. 6.1 to Ver. 6.3) Caution Although Ver.5.0 or later has a task swap function, this function cannot be used with this software. 58 Data Sheet U11281EJ3V0DS00 µPD6604 APPENDIX B. FUNCTIONAL COMPARISON BETWEEN µPD6604 AND OTHER SUBSERIES µPD6604 Item µPD6133 1002 × 10 bits µPD6600A ROM capacity 1002 × 10 bits RAM capacity 32 × 4 bits 32 × 5 bits Stack 1 level (multiplexed with RF of RAM) 3 levels (multiplexed with RAM) Key matrix 8 × 6 = 48 keys 8 × 4 = 32 keys S0 (S-IN) input Read by P01 register (with function to release standby mode) Read by left shift instruction S1/LED (S-OUT) I/O (with function to release standby mode) Output Clock frequency RC oscillation Ceramic oscillation Timer 512 × 10 bits µPD6134 Ceramic oscillation 512 × 10 bits • fX = 300 kHz to 1 MHz • fX = 300 to 500 kHz (with POC circuit) fX = 400 to 500 kHz Clock fX/8, fX /16 fX/8 Count start Writing count value Writing count value and P1 register value Frequency • fX, f X/8, fX/12 (timer clock: fX/8) • fX/2, f X/16, fX/24 (timer clock: fX/16) • No carrier fX/8, fX /12 Output start Synchronized with timer Not synchronized with timer Instruction execution time 8 µs (fX = 1 MHz) 16 µs (fX = 500 kHz) Relative branch instruction None Provided Left shift instruction None Provided “MOV Rn, @R0” instruction n = 1 to F n = 0 to F Standby mode (HALT instruction) HALT mode for timer only. STOP mode for only releasing KI (KI/O high-level output or KI/O0 high-level output) HALT/STOP mode set by P1 register value Relation between HALT instruction execution and status flag (F) HALT instruction not executed when F = 1 HALT instruction executed regardless of status of F Reset function by charging/ discharging capacitor None Provided POC circuit Mask option Low level output to RESET pin on detection Provided (low-voltage detection circuit) Low level output to S-OUT pin on detection Mask option POC circuit only (Circuits other than POC circuit are set by software.) • Pull-down resistor • Variable duty • Hang-up detection Supply voltage • VDD = 1.8 to 3.6 V • VDD = 2.2 to 3.6 V (with POC circuit) VDD = 2.2 to 3.6 V Operating temperature • TA = –40 to +85 °C • TA = –20 to +70 °C (with POC circuit) TA = –20 to +70 °C Package • 20-pin plastic SOP • 20-pin plastic shrink SOP • 20-pin plastic SOP • 20-pin plastic SOP • 20-pin plastic shrink DIP One-time PROM µPD66P04B µPD61P34B µPD61P24 Carrier Data Sheet U11281EJ3V0DS00 59 µPD6604 APPENDIX C. EXAMPLE OF REMOTE-CONTROL TRANSMISSION FORMAT (in the case of NEC transmission format in command one-shot transmission mode) Caution When using the NEC transmission format, please apply for a custom code at NEC. (1) REM output waveform (From <2> on, the output is made only when the key is kept pressed.) REM output 58.5 to 76.5 ms <1> 108 ms <2> 108 ms Remark If the key is repeatedly pressed, the power consumption of the infrared light-emitting diode (LED) can be reduced by sending the reader code and the stop bit from the second time. (2) Enlarged waveform of <1> <3> REM output 9 ms 4.5 ms Custom code 8 bits 13.5 ms Leader code Custom code' 8 bits Data code 8 bits 18 to 36 ms Data code 8 bits Stop bit 1 bit 27 ms 58.5 to 76.5 ms (3) Enlarged waveform of <3> REM output 4.5 ms 9 ms 0.56 ms 1.125 ms 2.25 ms 0 1 13.5 ms (4) Enlarged waveform of <2> REM output 2.25 ms 9 ms 11.25 ms Leader code 60 Data Sheet U11281EJ3V0DS00 0.56 ms Stop bit 1 0 0 µPD6604 (5) Carrier waveform (Enlarged waveform of each code’s high period) REM output 8.77 µ s 26.3 µ s 9 ms or 0.56 ms Carrier frequency : 38 kHz (6) Bit array of each code C0 C1 C2 C3 C4 C5 C6 C7 C0' C1' C2' C3' C4' C5' C6' C7' D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 = = = = = = = = C0 C1 C2 C3 C4 C5 C6 C7 or or or or or or or or Co C1 C2 C3 C4 C5 C6 C7 Leader code Custom code Custom code' Data code Data code Caution To prevent malfunction with other systems when receiving data in the NEC transmission format, not only fully decode (make sure to check Data Code as well) the total 32 bits of the 16-bit custom codes (Custom Code, Custom Code’) and the 16-bit data codes (Data Code, Data Code) but also check to make sure that no signals are present. Data Sheet U11281EJ3V0DS00 61 µPD6604 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 device 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 VDD 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. 62 Data Sheet U11281EJ3V0DS00 µPD6604 Regional Information Some information contained in this document may vary from country to country. Before using any NEC product in your application, please 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.) NEC Electronics (Germany) GmbH NEC Electronics Hong Kong Ltd. Santa Clara, California Tel: 408-588-6000 800-366-9782 Fax: 408-588-6130 800-729-9288 Benelux Office Eindhoven, The Netherlands Tel: 040-2445845 Fax: 040-2444580 Hong Kong Tel: 2886-9318 Fax: 2886-9022/9044 NEC Electronics Hong Kong Ltd. Velizy-Villacoublay, France Tel: 01-30-67 58 00 Fax: 01-30-67 58 99 Seoul Branch Seoul, Korea Tel: 02-528-0303 Fax: 02-528-4411 NEC Electronics (France) S.A. NEC Electronics Singapore Pte. Ltd. Milton Keynes, UK Tel: 01908-691-133 Fax: 01908-670-290 Spain Office Madrid, Spain Tel: 91-504-2787 Fax: 91-504-2860 United Square, Singapore 1130 Tel: 65-253-8311 Fax: 65-250-3583 NEC Electronics Italiana s.r.l. NEC Electronics (Germany) GmbH Milano, Italy Tel: 02-66 75 41 Fax: 02-66 75 42 99 Scandinavia Office Taeby, Sweden Tel: 08-63 80 820 Fax: 08-63 80 388 NEC Electronics (France) S.A. NEC Electronics (Germany) GmbH Duesseldorf, Germany Tel: 0211-65 03 02 Fax: 0211-65 03 490 NEC Electronics (UK) Ltd. NEC Electronics Taiwan Ltd. Taipei, Taiwan Tel: 02-2719-2377 Fax: 02-2719-5951 NEC do Brasil S.A. Electron Devices Division Rodovia Presidente Dutra, Km 214 07210-902-Guarulhos-SP Brasil Tel: 55-11-6465-6810 Fax: 55-11-6465-6829 J99.1 Data Sheet U11281EJ3V0DS00 63 µPD6604 MS-DOS is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. PC/AT and PC DOS are trademarks of IBM Corp. The export of this product from Japan is regulated by the Japanese government. To export this product may be prohibited without governmental license, the need for which must be judged by the customer. The export or re-export of this product from a country other than Japan may also be prohibited without a license from that country. Please call an NEC sales representative. 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. 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: Aircrafts, 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. Anti-radioactive design is not implemented in this product. M4 96.5