IBM EM78P809N Specification

Specifications

Brand: IBM
Category: Network Card
Model: EM78P809N
File Type: PDF
File Size: —
Pages: 75

Read Online

Read the IBM EM78P809N Specification online using the built-in PDF viewer.

Text of the manual

DOC. VERSION 1.0

ELAN MCCROELECTRONICS CORP. July 2005

IBM is a registered trademark and PS/2 is a trademark of IBM.

Windows is a trademark of Microsoft Corporation. ELAN and ELAN logo are trademarks of ELAN Microelectronics Corporation. Copyright © 2005 by ELAN Microelectronics Corporation All Rights Reserved Printed in Taiwan The contents of this specification are subject to change without further notice. ELAN Microelectronics assumes no responsibility concerning the accuracy, adequacy, or completeness of this specification. ELAN Microelectronics makes no commitment to update, or to keep current the information and material contained in this specification. Such information and material may change to conform to each confirmed order. In no event shall ELAN Microelectronics be made responsible for any claims attributed to errors, omissions, or other inaccuracies in the information or material contained in this specification. ELAN Microelectronics shall not be liable for direct, indirect, special incidental, or consequential damages arising from the use of such information or material. The software (if any) described in this specification is furnished under a license or nondisclosure agreement, and may be used or copied only in accordance with the terms of such agreement. ELAN Microelectronics products are not intended for use in life support appliances, devices, or systems. Use of ELAN Microelectronics product in such applications is not supported and is prohibited. NO PART OF THIS SPECIFICATION MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS WITHOUT THE EXPRESSED WRITTEN PERMISSION OF ELAN MICROELECTRONICS. ELAN MICROELECTRONICS CORPORATION Headquarters: No. 12, Innovation Road 1 Hsinchu Science Park Hsinchu, Taiwan 30077 Tel: +886 3 563-9977 Fax: +886 3 563-9966 http://www.emc.com.tw Hong Kong: Elan (HK) Microelectronics Corporation, Ltd. Rm. 1005B, 10/F Empire Centre 68 Mody Road, Tsimshatsui Kowloon , HONG KONG Tel: +852 2723-3376 Fax: +852 2723-7780 [email protected] USA: Elan Information Technology Group 1821 Saratoga Ave., Suite 250 Saratoga, CA 95070 USA Tel: +1 408 366-8223 Fax: +1 408 366-8220 Europe: Elan Microelectronics Corp. (Europe) Siewerdtstrasse 105 8050 Zurich, SWITZERLAND Tel: +41 43 299-4060 Fax: +41 43 299-4079 http://www.elan-europe.com Shenzhen: Elan Microelectronics Shenzhen, Ltd. SSMEC Bldg., 3F, Gaoxin S. Ave. Shenzhen Hi-Tech Industrial Park Shenzhen, Guandong, CHINA Tel: +86 755 2601-0565 Fax: +86 755 2601-0500 Shanghai: Elan Microelectronics Shanghai Corporation, Ltd. 23/Bldg. #115 Lane 572, Bibo Road Zhangjiang Hi-Tech Park Shanghai, CHINA Tel: +86 021 5080-3866 Fax: +86 021 5080-4600

Product Specification (V1.0) 07.26.2005

• iii Contents 1 General Description ··························································································· 1 2 Features ·············································································································· 1 2.1 CPU········································································································································ 1 2.2 Applications···························································································································· 2 3 Pin Assignment ·································································································· 3 4 Pin Description ··································································································· 3 4 Function Description·························································································· 5 4.1 Functional Block Diagram ······································································································ 5 4.2 Operating Registers ··············································································································· 6 4.3 Special Purpose Registers··································································································· 23 4.4 CPU Operation Mode··········································································································· 27 4.5 AD Converter························································································································ 29 4.6 Time Base Timer and Keytone Generator············································································ 31 4.7 UART (Universal Asynchronous Receiver/Transmitter)······················································· 33 4.8 SPI (Serial Peripheral Interface) ·························································································· 36 4.9 Timer/Counter 2 ··················································································································· 40 4.10 Timer/Counter 3 ··················································································································· 42 4.11 Timer/Counter 4 ··················································································································· 44 4.12 TCC/WDT & Prescaler ········································································································· 46 4.13 I/O Ports ······························································································································· 47 4.14 RESET and Wake-up··········································································································· 47 4.15 Interrupt································································································································ 54 4.16 Oscillator ······························································································································ 55 4.17 Code Option Register··········································································································· 58 4.18 Power-on Considerations····································································································· 59 4.19 Instruction Set ······················································································································ 61

Product Specification (V1.0) 07.26.2005

5 Absolute Maximum Ratings ············································································ 63 5.1 Absolute Maximum Ratings ································································································· 63 5.2 Recommended Operating Conditions·················································································· 63 6 Electrical Characteristics················································································· 64 6.1 DC Electrical Characteristics································································································ 64 6.2 AC Electrical Characteristic·································································································· 67 6.3 Timing Diagram ··················································································································· 68 APPENDIX ·············································································································· 69 Package Types:······························································································································ 69 Specification Revision History Version Revision Description Date 0.9 Preliminary 2004/03/04 1.0 Initial Version 2005/07/26

Product Specification (V1.0) 07.26.2005

• 1 (This specification is subject to change without further notice) 1 General Description The EM78P809N is an 8-bit microprocessor with low-power, high-speed CMOS technology and high noise immunity. It has a built-in 8K×13-bits Electrical One Time Programmable Read Only Memory (OTP-ROM). It provides multi-protection bits to prevent intrusion of user’s OTP memory codes. Seven Option bits are also available to meet user’s requirements. With its OTP-ROM feature, the EM78P809N is able to offer a convenient way of developing and verifying user’s programs. Moreover, user can take advantage of ELAN Writer to easily program his development code. 2 Features 2.1 CPU „ Operating voltage: 2.5V~5.5V „ Operating temperature range: -40°C~85°C „ Operating frequency range (base on 2 clocks) z Crystal mode: 1MHz ~ 8MHz at 4.5V, 1MHz ~ 4MHz at 2.5V z RC mode: 1MHz ~ 4MHz at 2.5V „ Low power consumption: z Typically 0.8 μA, during sleep mode „ 8K × 13 bits on-chip ROM „ Multi-security bits to prevent intrusion of OTP memory codes „ One configuration register accommodates user’s requirements „ 144 × 8 bits on-chip registers (SRAM, general purpose register) „ 4 bi-directional I/O ports (22 pins) z High sink current output pin: 14 pins z 10 programmable pull high I/O pins z 10 programmable pull low I/O pins „ 8 level stacks for subroutine nesting „ High performance MCU: Two clocks per instruction cycle „ 15 interrupts (External: 9, Internal: 6) „ Programmable free running watchdog timer

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) „ 16 bits Counter/Timer z TC2: Timer/Counter/Window „ 8 bits Timer/Counter z TCC: 8-bit real time clock/counter with overflow interrupt z TC3: Timer/Counter/Capture z TC4: Timer/Counter/ PWM (pulse width modulation)/PDO (Programmable divider output) „ Time Base Timer: (1Hz ~16kHz at 8MHz) „ Key tone output: (1kHz ~ 8kHz at 8MHz) „ Serial transmitter/receiver interface z Serial Peripheral Interface (SPI): Three-wire synchronous communication z Universal asynchronous receiver transmitter interface (UART): Two wire asynchronous communication „ AD converter z 8 channel 10 bits resolution AD converter „ Operating mode: z Normal mode: Oscillation circuit turned on, CPU and Peripheral circuit in operation z Idle mode: Oscillation circuit turned on, CPU halt and Peripheral circuit in operation z Sleep mode: Oscillation circuit turned off, CPU and Peripheral circuit halt „ Package types: z 28-pin DIP 600 mil: EM78P809NP z 28-pin SOP 300 mil: EM78P809NM z 28-pin SSOP 209 mil: EM78P809NS „ 99.9% single instruction cycle commands 2.2 Applications „ General purpose

Product Specification (V1.0) 07.26.2005

• 3 (This specification is subject to change without further notice) 3 Pin Assignment 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 (ACLK) OSCO OSCI TEST (AD0) P90 (AD1) P91 (AD2) P92 (AD3) P93 (AD4) P94 (AD5) P95 (AD6) P96 (AD7/VREF) P97 (TC3, INT3) P80 (TC4, /PWM, /PDO) P81 VSS P70 (/SCK) P71(RX,SI) P72 (TX,SO) P73 (/SLEEP, /INT5) P60 (/INT0) P61 (INT1) P62 (TC2) P63 (/TONE) P64 (/SS)(OEB) P65 (PGMB) P66 (DATAIN) P67 (DINCK) /RESET (VPP) VDD EM78P809N Fig. 1. Pin Assignment 4 Pin Description Table 1 Symbol Pin No. Type Function VDD 28 - * Power supply OSCI 2 I * Crystal type: Crystal input terminal * RC type: RC oscillator input pin OSCO 1 I/O * Crystal type: Output terminal for crystal oscillator * RC type: Instruction clock output * External clock signal input /RESET 27 I * Input pin with Schmitt trigger. If this pin remains at logic low, the controller will also remain in reset condition. P60~P67 19~26 I/O * P60~P67 are bi-directional I/O pins * P60 can be used as external interrupt 0 (/INT0) * P61 can be used as external interrupt 1 (INT1) * P62 can be used as 16-bit Timer/Counter 2 (TC2) * P63 can be used as divider output (/TONE) * P64 slave mode enable (/SS) * P60 ~ P63 can be used as pull high or pull low pins P70~P73 15~18 I/O * P70~P77 are bi-directional I/O pins * P70 can be used as SPI serial clock input/output (/SCK) * P71 can be used as SPI serial data input (SI) or UART data receive input (RX) * P72 can be used as SPI serial data output (SO) or UART data transmit output (TX) * P73 can be used as SLEEP mode release input (/SLEEP) or external interrupt input 5 (/INT5) * P70 ~ P73 can be used as pull high or pull low pins

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Symbol Pin No. Type Function P80~P81 12~13 I/O * P80~P83 are bi-directional I/O pins * P80 can be used as 8-bit Timer/Counter 3 (TC3) or external Interrupt Input 3 (INT3) * P81 can be used as 8-bit Timer/Counter 4 (TC4) or programmable divider output (PDO) * P80 ~ P81 can be used as pull high or pull low pins P90~P97 4~11 I/O * P90~P97 are bi-directional I/O pins * P90~P97 can be used as 8 channel 10-bit resolution A/D converter * P97 can be used as AD reference power supply input (VREF) VSS 14 - * Ground NC 3 - * No connection OTP Programming Pins VPP 27 I Programming voltage input ACLK 1 I CLK for OTP memory address increment DATAIN 25 I/O ROM code series input and series output pin DINCK 26 I ROM code input clock PGMB 24 I Program write enable pin. Active low. OEB 23 I Output enable pin. Active low.

Product Specification (V1.0) 07.26.2005

• 5 (This specification is subject to change without further notice) 4 Function Description 4.1 Functional Block Diagram Oscillator Timing Control WDT timer TCC Prescaler Control Sleep and Wake-up I/O Port DATA and CONTROL BUS General RAM R4 R1 (TCC) Interrupt Control Instruction Register Instruction Decoder ROM Stack R2 ALU ACC R3 R5 OSCI OSCO PORT6 IOC6 R6 PORT7 IOC7 R7 PORT8 IOC8 R8 PORT9 IOC9 R9 TC 2 (16-bit Timer/Counter) TC 3 (8-bit Timer/Counter, Capture Mode) TC 4 (8-bit Timer/Counter, PWM, PDO) SPI (Serial Peripheral Interface) UART (Universal Asynchronous Receiver/Transmitter) 8 channel 10 bit ADC Keytone TBT (Time Base Timer) P60 ~ P67 P70 ~ P73 P80 ~ P81 P90 ~ P97 WDT Prescaler Fig. 2. Functional Block Diagram

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 4.2 Operating Registers 05 06 07 08 09 0A 0B 0C 0D 0E 0F 04 03 02 01 10 : 1F 20 : 3F R3 (7,6)= (0,1) Address REGISTER BANK 0 00 R0/ IAR R1/ TCC R2/ PC R3/ SR R4/ RSR SCR PORT6 PORT7 PORT8 PORT9 Reserved TC4CR TC4D ISFR0 ISFR1 ISFR2 TC3CR TC3DA TC3DB TC2CR/ ADDL TC2DH TC2DL ADCR ADIC ADDH TBKTC Reserved URC1 URC2 URS URRD URTD Reserved Reserved Reserved Reserved Reserved Reserved SPIC1 SPIC2 SPID Reserved Reserved Reserved PHC1 PLC1 PHC2 PLC2 Reserved IOC6 IOC7 IOC8 IOC9 Reserved Reserved INTCR ADOSCR Reserved IMR1 IMR2 16 Byte Common Register BANK 0 R4 (7,6) = (0,0) 32 Byte Common Register BANK 1 R4 (7,6) = (0,1) 32 Byte Common Register BANK2 R4 (7,6) = (1,0) 32 Bytes Common Register BANK 3 R4 (7,6) = (1,1) 32 Bytes Common Register REGISTER BANK 1 REGISTER BANK 2 REGISTER BANK 3 CONTROL REGISTER R3 (7,6)= (1,0) R3 (7,6)= (1,1) Fig. 3. Operating Registers

Product Specification (V1.0) 07.26.2005

• 7 (This specification is subject to change without further notice) R0/IAR − Indirect Addressing Register ( Address: 00h ) R0 is not a physically implemented register. Its major function is to act as an indirect addressing pointer. Any instruction using R0 as a pointer actually accesses data pointed by the RAM Select Register (R4). R1/TCC − Time Clock /Counter ( Address: 01h ) This register is writable and readable just like the other registers. The contents of the prescaler counter are cleared only when a value is written into the TCC register. R2/PC − Program Counter & Stack ( Address: 02h ) — Depending on the device type, R2 and hardware stack are 10-bit wide. The structure is depicted in Fig.4. — Generates 8192 ×13 bits on-chip OTP ROM addresses to the relative programming instruction codes. One program page is 1024 words long. — R2 is set as all "0"s when under RESET condition — "JMP" instruction allows direct loading of the lower 10 program counter bits. Thus, "JMP" allows the PC to go to any location within a page. — "CALL" instruction loads the lower 10 bits of the PC, and then PC+1 is pushed into the stack. Thus, the subroutine entry address can be located anywhere within a page. — "RET" ("RETL k", "RETI") instruction loads the program counter with the contents of the top-level stack. — All instructions are single instruction cycle (fclk/2 or fclk/4) except for the instruction that would change the contents of R2. Such instruction will need one more instruction cycle. — For an interrupt trigger, the program ROM will jump to individual interrupt vector at Page 0. The CPU will store ACC, R3 status and R5 PAGE automatically, it will restore after instruction RETI.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) A11 A10 A9 A8 A7 ~ A0 R5 CALL RET RETL RETI 000 : PAGE0 0000~03FF 001 : PAGE1 0400~07FF 010 : PAGE2 0800~0BFF PC STACK LEVEL 1 STACK LEVEL 2 STACK LEVEL 3 STACK LEVEL 4 STACK LEVEL 5 Reset Vector 0000h On-chip Program Memory User Memory Space A12 011 : PAGE3 0C00~0FFF 100 : PAGE4 1000~13FF 101 : PAGE5 1400~17FF 110 : PAGE6 1800~1BFF 111 : PAGE7 1C00~1FFF Store ACC, R3, R5 WDT Timer Overflow 0003h External INT0 Pin Interrupt Occurs 0006h TCC Overflow External INT1 pin Interrupt Occurs 0009h UART Transmit Data Buffer Empty UART Receive Data Buffer Full 000Fh 0015h 0018h UART Receive Error 001Bh TC3 Interrupt 0021h SPI Interrupt 0024h TC4 Interrupt 0027h External INT3 Pin Interrupt Occurs Time Base Timer Interrupt 0012h 0030h AD Conversion Complete 0033h External INT5 Pin Interrupt Occurs 0036h 1FFFh STACK LEVEL 6 STACK LEVEL 7 STACK LEVEL 8 Fig. 4. Program Counter Organization R3/SR − Status Register ( Address: 03h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RBS1 RBS0 0 T P Z DC C Bit 7 ~ Bit 6 (RBS1 ~ RBS0) : R-Register page select RBS1 RBS0 Register Bank (Address 05H ~ 0FH) 0 0 Bank 0 0 1 Bank 1 1 0 Bank 2 1 1 Bank 3 Bit 5 : Not used Bit 4 (T) : Time-out bit. Set to “1” with the "SLEP" and "WDTC" commands, or during power up, and reset to “0” with the WDT time-out.

Product Specification (V1.0) 07.26.2005

• 9 (This specification is subject to change without further notice) Bit 3 (P) : Power down bit. Set to “1” during power on or by a "WDTC" command and reset to “0” by a "SLEP" command. Bit 2 (Z) : Zero flag. Set to "1" if the result of an arithmetic or logic operation is zero. Bit 1 (DC) : Auxiliary carry flag Bit 0 (C) : Carry flag R4/RSR − RAM Select Register ( Address: 04h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 GRBS1 RBS0 RSR5 RSR4 RSR3 RSR2 RSR1 RSR0 Bit 7: 6 ( GRBS1 : GRBS0 ) : determine which general purpose banks are activated among the 4 banks. Use BANK instruction (e.g. BABK 1) to change bank. GRBS1 GRBS0 General Purpose Register Bank (Address 20H ~ 3FH) 0 0 Bank 0 0 1 Bank 1 1 0 Bank 2 1 1 Bank 3 Bit 5: 0 ( RSR5 : RSR0 ) : are used to select the registers (address: 00h~3Fh) in the indirect addressing mode. If no indirect addressing is used, the RSR can be used as an 8-bit general-purpose read/write register. See the data memory configuration in Fig. 3. Register Bank 0 ( R3 bits (7, 6) = (0, 0) ) SCR − System Control Register, Program ROM Page Select ( Address: 05h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 PS2 PS1 PS0 0 1 SIS REM Bit 6 (PS2) ~ 4 (PS0) : ROM Page select bits. User can use PAGE instruction (e.g. PAGE 1) or set PS2~PS0 bits to change the ROM page. When executing a "JMP", "CALL", or other instructions which cause the program counter to change (e.g. MOV R2, A), PS2~PS0 are loaded into the 13th to 11th bits of the program counter and select one of the available program memory pages. Note that RET (RETL, RETI) instruction does not change the PS2~PS0 bits. That is, return will always be to the page from where the subroutine was called, regardless of the PS2~PS0 bits current setting.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) PS2 PS1 PS0 Program Memory Page [Address] 0 0 0 Page 0 [0000~03FF] 0 0 1 Page 1 [0400~07FF] 0 1 0 Page 2 [0800~0BFF] 0 1 1 Page 3 [0C00~0FFF] 1 0 0 Page 4 [1000~13FF] 1 0 1 Page 5 [1400~17FF] 1 1 0 Page 6 [1800~1BFF] 1 1 1 Page 7 [1C00~1FFF] Bit 1 ( SIS ) : SLEEP and IDLE mode select. SIS = “0” : IDLE mode SIS = “1” : SLEEP mode Bit 0 ( REM ) : Release method for sleep mode. REM = “0” : /SLEEP pin input rising edge release REM = “1” : /SLEEP pin input “H” level release PORT6 − Port 6 I/O Data Register ( Address: 06h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 P67 P66 P65 P64 P63 P62 P61 P60 Bit 7 ~ Bit 0 ( P67 ~ P60 ) : 8-bits Port 6 I/O data register User can use IOC6 register to define each bit whether input or output. PORT7 — Port 7 I/O Data Register ( Address: 07h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 0 0 P73 P72 P71 P70 Bit 3 ~ Bit 0 ( P73 ~ P70 ) : Port 73 ~ Port 70 I/O data register User can use IOC7 register to define each bit whether input or output. PORT8 − Port 8 I/O Data Register ( Address: 08h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 0 0 0 0 P81 P80 Bit 1 ~ Bit 0 ( P81 ~ P80 ) : Port 81 ~ Port 80 I/O data register User can use IOC8 register to define input or output each bit.

Product Specification (V1.0) 07.26.2005

• 11 (This specification is subject to change without further notice) PORT9 − Port 9 I/O Data Register ( Address: 09h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 P97 P96 P95 P94 P93 P92 P91 P90 Bit 7 ~ Bit 0 ( P97 ~ P90 ) : 8-bit Port 97 ~ Port 90 I/O data register User can use IOC9 register to define each bit whether input or output. TC4CR — Timer/Counter 4 Control Register ( Address: 0Bh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC4FF1 TC4FF0 TC4S TC4CK2 TC4CK1 TC4CK0 TC4M1 TC4M0 Bit 7 ~ Bit 6 ( TC4FF1 ~ TC4FF0 ) : Timer/Counter4 flip-flop control. TC4FF1 TC4FF0 Operating Mode 0 0 Clear 0 1 Toggle 1 0 Set 1 1 Reserved Bit 5 ( TC4S ) : Timer/Counter 4 start control. TC4S = “0” : Stop and clear counter TC4S = “1” : Start Bit 4 ~ Bit 2 ( TC4CK2 ~ TC4CK 0 ) : Timer/Counter 4 Clock Source Select TC4CK2 TC4CK1 TC4CK0 Clock Source ( Normal, Idle ) Resolution ( Fosc=8M ) Max. Time ( Fosc=8M ) 0 0 0 Fc/2^11 250uS 64mS 0 0 1 Fc/2^7 16uS 4mS 0 1 0 Fc/2^5 4uS 1mS 0 1 1 Fc/2^3 1uS 255uS 1 0 0 Fc/2^2 500nS 127.5uS 1 0 1 Fc/2^1 250nS 63.8uS 1 1 0 Fc 125nS 31.9uS 1 1 1 External clock (TC4 pin) -- -- Bit 1 ~ Bit 0 ( TC4M1 ~ TC4M0 ) : Timer/Counter 4 Operating Mode Select TC4M1 TC4M0 Operating Mode 0 0 Timer/Counter 0 1 Reserved 1 0 Programmable Divider output 1 1 Pulse Width Modulation output

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) TC4D − Timer 4 Data Buffer ( Address: 0Ch ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC4D7 TC4D6 TC4D5 TC4D4 TC4D3 TC4D2 TC4D1 TC4D0 Bit 7 ~ Bit 0 ( TC4D7 ~ TC4D0 ) : Data buffer of 8-bit Timer/Counter 4. ISFR0 − Interrupt Status Flag Register 0 and INT3 Edge Detect Flag. ( Address : 0Dh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 INT3F INT3R 0 0 WDTIF EXIF0 Bit 5 ( INT3F ) : External interrupt 3 falling edge detect flag. INT3F = “0” : Falling edge is not detected INT3F = “1” : Falling edge is detected Bit 4 ( INT3R ) : External interrupt 3 rising edge detect flag. INT3R = “0” : Rising edge is not detected INT3R = “1” : Rising edge is detected Bit 1 ( WDTIF ) : WDT time-out flag, flag cleared by software. Bit 0 ( EXIF0 ) : External interrupt flag (INT0). Flag cleared by software. If the INT0EN is reset to “0”, the flag is cleared. ISFR1 − Interrupt Status Flag Register 1 ( Address: 0Eh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3 Bit 7 ( EXIF5 ) : External Interrupt Flag (/INT5), flag cleared by software. Bit 6 ( TCIF2 ) : 16-bit Timer/Counter 2 Interrupt Flag, flag cleared by software. Bit 5 ( ADIF ) : AD conversion complete flag, flag cleared by software. Bit 3 ( EXIF3 ) : External Interrupt Flag (/INT3), flag cleared by software. Bit 2 ( TCIF4 ) : 8-bit Timer/Counter 4 Interrupt Flag, flag cleared by software. Bit 1 ( SPIF ) : SPI Mode Interrupt Flag, flag cleared by software. Bit 0 ( TCIF3 ) : 8-bit Timer/Counter 3 interrupt flag, flag cleared by software. "1" means interrupt request, "0" means non-interrupt — ISFR1 can be cleared by instruction, but cannot be set by instruction — IMR1 is the interrupt mask register — Note that reading ISFR1 will obtain the result of the ISFR1 "logic AND" and IMR1.

Product Specification (V1.0) 07.26.2005

• 13 (This specification is subject to change without further notice) ISFR2 − Interrupt Status Flag Register 2 ( Address: 0Fh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 UERRIF RBFF TBEF TBIF EXIF1 0 TCIF0 Bit 6 (UERRIF) : UART Receiving Error Interrupt, cleared by software or UART disabled. Bit 5 (RBFF) : UART Receive Mode Data Buffer Full Interrupt Flag. Flag cleared by software. Bit 4 (TBEF) : UART Transmit Mode Data Buffer Empty Interrupt Flag. Flag cleared by software. Bit 3 (TBIF) : Time Base Timer Interrupt Flag. Flag cleared by software. Bit 2 (EXIF1) : External Interrupt Flag (INT1). Flag cleared by software. Bit 0 (TCIF0) : TCC Overflow Interrupt Flag. Set as TCC overflows; flag cleared by software. "1" means interrupt request, "0" means non-interrupt — ISFR2 can be cleared by instruction, but cannot be set by instruction — IMR2 is the interrupt mask register — Note that reading ISFR2 will obtain the result of the ISFR2 "logic AND" and IMR2 Register Bank 1 ( R3 bits ( 7,6) = (0,1) ) TC3CR − Timer/Counter 3 Control Register ( Address: 05h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC3CAP TC3S TC3CK1 TC3CK0 TC3M 0 0 0 Bit 7 ( TC3CAP ) : Software capture control TC3CAP = “0” : - TC3CAP = “1” : Software capture Bit 6 ( TC3S ) : Timer/Counter 3 start control TC3S = “0” : Stop and counter clear TC3S = “1” : Start

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Bit 5 ~ Bit 4 ( TC3CK1 ~ TC3CK0 ) : Timer/Counter3 Clock Source Select TC3CK1 TC3CK0 Clock source ( Normal, Idle ) Resolution ( Fc=8M ) Max. time ( Fc=8M ) 0 0 Fc/212 512μS 131.1mS 0 1 Fc/210 128μS 32.6mS 1 0 Fc/27 16μS 4.1mS 1 1 External clock (TC3 pin) - - Bit 3 ( TC3M ) : Timer/Counter 3 mode select TC3M = “0” : Timer/Counter3 mode TC3M = “1” : Capture mode TC3DA − Timer 3 Data Buffer A ( Address: 06h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0 Bit 7 ~ Bit 0 ( TC3DA7 ~ TC3DA0 ) : Data buffer of 8-bit Timer/Counter 3. Reset does not affect this register. TC3DB − Timer 3 Data Buffer B ( Address: 07h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0 Bit 7 ~ Bit 0 ( TC3DB7 ~ TC3DB0 ) : Data buffer of 8-bit Timer/Counter 3 Reset does not affect this register. TC2CR/ ADDL — Timer/Counter 2 Control Register, AD Low 2 bits Data Buffer ( Address: 08h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADD1 ADD0 0 TC2M TC2S TC2CK2 TC2CK1 TC2CK0 Bit 7 ~ Bit 6 ( ADD1 ~ ADD0 ) : AD low 2-bit data buffer Bit 4 ( TC2M ) : Timer/Counter 2 mode select TC2M = “0” : Timer/counter mode TC2M = “1” : Window mode Bit 3 ( TC2S ) : Timer/Counter 2 start control TC2S = “0” : Stop and counter clear TC2S = “1” : Start

Product Specification (V1.0) 07.26.2005

• 15 (This specification is subject to change without further notice) Bit 2 ~ Bit 0 ( TC2CK2 ~ TC2CK0 ) : Timer/Counter 2 Clock Source Select TC2CK2 TC2CK1 TC2CK0 Clock Source ( Normal, Idle ) Resolution ( Fc=8M ) Max. Time ( Fc=8M ) 0 0 0 Fc/223 1.05s 19.1h 0 0 1 Fc/213 1.02ms 1.1min 0 1 0 Fc/28 32μs 2.1s 0 1 1 Fc/23 1μs 65.5ms 1 0 0 Fc 125ns 7.9ms 1 0 1 - - - 1 1 0 - - - 1 1 1 External clock (TC2 pin) TC2DH − Timer 2 Data Buffer High Byte ( Address: 09h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8 Bit 7 ~ Bit 0 ( TC2D15 ~ TC2D8 ) : 16-bit Timer/Counter 2 data buffer high byte. TC2DL − Timer 2 Data Buffer Low Byte ( Address: 0Ah ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0 Bit 7 ~ Bit 0 ( TC2D7 ~ TC2D0 ) : 16-bit Timer/Counter 2 data buffer low byte. ADCR − AD Control Register ( Address: 0Bh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADREF ADRUN ADCK1 ADCK0 ADP ADIS2 ADIS1 ADIS0 Bit 7 ( ADREF ) : AD reference voltage input select. ADREF = “0” : Internal VDD, P97 is used as IO. ADREF = “1” : External reference pin, P97 is used as reference input pin. Bit 6 ( ADRUN ) : AD Conversion start ADRUN = “0” : Reset on completion of the conversion by hardware, this bit cannot be reset by software. ADRUN = “1” : Conversion starts

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Bit 5~ Bit 4 ( ADCK1 ~ ADCK0 ) : AD Conversion Time Select ADCK1 ADCK0 Clock Source ( Normal, Idle ) Max. Operating Frequency (Fc) 0 0 Fc/4 1MHz 0 1 Fc/16 4MHz 1 0 Fc/32 8MHz 1 1 Reserved - Bit 3 ( ADP ) : AD power control ADP = “0” : Power on ADP = “1” : Power down Bit 2 ~ Bit 0 ( ADIS2 ~ ADIS0 ) : Analog Input Pin Select ADIS2 ADIS1 ADIS0 Analog Input Pin 0 0 0 AD0 0 0 1 AD1 0 1 0 AD2 0 1 1 AD3 1 0 0 AD4 1 0 1 AD5 1 1 0 AD6 1 1 1 AD7 ADIC − AD Input Pin Control ( Address: 0Ch ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 Bit 7 ~ Bit 0 ( ADE7 ~ ADE0 ) : AD input pin enable control. ADEx = “0” : PORT9.x act as I/O pin. ADEx = “1” : PORT9.x act as analog input pin. ADDH − AD High 8-bit Data Buffer ( Address: 0Dh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 Bit 7 ~ Bit 0 ( ADD9 ~ ADD2 ) : AD high 8-bit data buffer.

Product Specification (V1.0) 07.26.2005

• 17 (This specification is subject to change without further notice) TBKTC − TBT/Keytone Control ( Address: 0Eh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TEN TCK1 TCK0 0 TBTEN TBTCK2 TBTCK1 TBTCK0 Bit 7 ( TEN ) : Keytone enable control TEN = “0” : Disable TEN = “1” : Enable Bit 6 ~ Bit 5 ( TCK1 ~ TCK0 ) : Keytone Output Clock Source Select TCK1 TCK0 Clock Source ( Normal, Idle ) Keytone Output Frequency ( Fc = 8MHz ) 0 0 Fc/213 0.976kHz 0 1 Fc/212 1.953kHz 1 0 Fc/211 3.906kHz 1 1 Fc/210 7.812kHz Bit 3 ( TBTEN ) : Time Base Timer Enable Control TBTEN = “0” : Disable TBTEN = “1” : Enable Bit 2 ~ Bit 0 ( TBTCK2 ~ TBTCK0 ) : Time Base Timer Clock Source Select TBTCK2 TBTCK1 TBTCK0 Clock Source ( Normal, Idle ) Interrupt Frequency ( Fc = 8MHz ) 0 0 0 Fc/223 0.95Hz 0 0 1 Fc/221 3.81Hz 0 1 0 Fc/216 122.07Hz 0 1 1 Fc/214 488.28Hz 1 0 0 Fc/213 976.56Hz 1 0 1 Fc/212 1953.12Hz 1 1 0 Fc/211 3906.25Hz 1 1 1 Fc/29 15625Hz Register Bank 2 ( R3 bits (7, 6) = (1, 0) ) URC1 − UART Control Register 1 ( Address: 05h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE TXE Bit 7 ( URTD8 ) : Transmission data bit 8

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Bit 6 ~ Bit 5 ( UMODE1 ~ UMODE0 ) : UART Transmission Mode Select Bit UMODE1 UMODE0 UART Mode 0 0 Mode1: 7-bits 0 1 Mode2: 8-bits 1 0 Mode3: 9-bits 1 1 Reserved Bit 4 ~ Bit 2 ( BRATE2 ~ BRATE1 ) : Transmit Baud Rate Select BRATE2 BRATE1 BRATE0 Baud Rate e.g. Fc=8MHz 0 0 0 Fc/13 38400 0 0 1 Fc/26 19200 0 1 0 Fc/52 9600 0 1 1 Fc/104 4800 1 0 0 Fc/208 2400 1 0 1 Fc/416 1200 1 1 0 TC4 1 1 1 Fc/96 Bit 1 ( UTBE ) : UART transfer buffer empty flag. Set to 1 when transfer buffer is empty. Reset to 0 automatically when writing into the URTD register. UTBE bit will be cleared by hardware when enabling the transmission. UTBE bit is read-only. Therefore, writing to the URTD register is necessary when we want to start transmission shifting. Bit 0 ( TXE ) : Enable transmission TXE = “0” : Disable TXE = “1” : Enable URC2 − UART Control Register 2 ( Address: 06h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 SBIM1 SBIM0 UINVEN 0 0 0 Bit 5 ~ Bit 4 ( SBIM1 ~ SBIM0 ) : Serial bus interface operation mode select. TC2CK1 TC2CK0 Operation Mode 0 0 I/O mode 0 1 SPI mode 1 0 UART mode 1 1 Reserved Bit 3 ( UINVEN ) : Enable UART TXD and RXD port inverse output. UINVEN = “0” : Disable TXD and RXD port inverse output. UINVEN = “1” : Enable TXD and RXD port inverse output.

Product Specification (V1.0) 07.26.2005

• 19 (This specification is subject to change without further notice) URS − UART Status Register ( Address: 07h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 URRD8 EVEN PRE PRERR OVERR FMERR URBF RXE Bit 7 ( URRD8 ) : Receiving data bit 8 Bit 6 ( EVEN ) : Select parity check EVEN = “0” : Odd parity EVEN = “1” : Even parity Bit 5 ( PRE ) : Enable parity addition PRE = “0” : Disable PRE = “1” : Enable Bit 4 ( PRERR ) : Parity error flag. Set to 1 when parity error occurred, and cleared to 0 by software. Bit 3 ( OVERR ) : Overrun error flag. Set to 1 when overrun error occurred, and cleared to 0 by software. Bit 2 ( FMERR ) : Framing error flag. Set to 1 when framing error occurred, and cleared to 0 by software. Bit 1 ( URBF ) : UART read buffer full flag. Set to 1 when one character is received. Reset to 0 automatically when read from the URS register. URBF will be cleared by hardware when receiving is enabled. URBF bit is read-only. Therefore, reading the URS register is necessary to avoid an overrun error. Bit 0 ( RXE ) : Enable receiving RXE = “0” : Disable RXE = “1” : Enable URRD − UART Receive Data Buffer ( Address: 08h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0 Bit 7 ~ Bit 0 ( URRD7 ~ URRD0 ) : UART receive data buffer. Read only.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) URTD − UART Transmit Data Buffer ( Address: 09h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0 Bit 7 ~ Bit 0 ( URTD 7 ~ URTD 0) : UART transmit data buffer. Write only. Register Bank 3 ( R3 bits ( 7,6) = (1,1) ) SPIC1 − SPI Control Register 1 ( Address: 05h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SMP DCOL BRS2 BRS1 BRS0 EDS DORD WBE Bit 7 ( SMP ) : SPI data input sample phase. SMP = “0” : Input data sampled at middle of data output time SMP = “1” : Input data sampled at the end of data output time In using external clock, data input sample is fixed at the middle of data output time. Bit 6 ( DCOL ) : SPI Data collision. DCOL = “0” : Data collision didn’t occur DCOL = “1” : Data collision occurred. It should be cleared by software. Bit 5 ~ Bit 3 ( BRS0 ~ BRS2 ) : SPI Clock Source Select BRS2 BRS1 BRS0 Clock Source ( Normal, Idle ) Max. Transfer Rate ( Fc = 8MHz ) 0 0 0 Fc/213 0.95Kbit/s 0 0 1 Fc/211 3.8Kbit/s 0 1 0 Fc/210 7.6Kbit/s 0 1 1 Fc/28 30.5Kbit/s 1 0 0 Fc/26 122Kbit/s 1 0 1 Fc/25 244Kbit/s 1 1 0 External clock (/SCK pin) - 1 1 1 External clock (/SCK pin) - Bit 2 ( EDS ) : Data shift out edge select. EDS = “0” : Rising edge EDS = “1” : Falling edge Bit 1 ( DORD ) : Data transmission order. DORD = “0” : Shift left (MSB first) DORD = “1” : Shift right (LSB first)

Product Specification (V1.0) 07.26.2005

• 21 (This specification is subject to change without further notice) Bit 0 ( WBE ) : Write buffer empty flag. Read only. WBE = “0” : Write buffer empty WBE = “1” : Not empty, set to “1” automatically when writing data to the data buffer. SPIC2 − SPI Control Register 2 (Address : 06h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SPIS 0 0 0 0 SPIM1 SPIM0 RBF Bit 7 ( SPIS ) : SPI start shift, set the bit to “1” and shift register starts to shift. It is cleared by hardware when shifting is finished. In transferring the next data, it must be set to “1” again. SPIS = “0” : Shift finish SPIS = “1” : Shift starts Bit 2 ~ Bit 1 ( SPIM1 ~ SPIM0) : SPI Transfer Mode Select TC2CK1 TC2CK0 Transfer Mode 0 0 8-bit Transmit/Receive mode 0 1 8-bit Transmit mode 1 0 8-bit Receive mode 1 1 Reserved Bit 0 ( RBF ) : Set to 1 by Buffer Full Detector, and cleared to 0 automatically when reading data from the SPID register. RBF bit will be cleared by hardware when enabling SPI. And RBF bit is read-only. Therefore, reading the SPRL register is necessary to avoid data collision to occur (DCOL). SPID (SPI Data Buffer ( Address: 07h ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SPID7 SPID6 SPID5 SPID4 SPID3 SPID2 SPID1 SPID0 Bit 7 ~ Bit 0 ( SPID7 ~ SPID0 ) : SPI data buffer. PHC1 − Pull High Control Register 1 ( Address: 0Ah ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - /PHE81 /PHE80 /PHE63 /PHE62 /PHE61 /PHE60 Bit 5 ~ 4 ( /PHE81 ~ /PHE80 ) : bits 1, 0 of Port 8 Pull high enable bit /PHE8x = “0” : Enable P8x pull high /PHE8x = “1” : Disable P8x pull high

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Bit 3 ~ 0 ( /PHE63 ~ /PHE60 ) : bit 3 ~ 0 of Port 6 Pull high enable bit /PHE6x = “0” : Enable P6x pull high /PHE6x = “1” : Disable P6x pull high PLC1 (Pull Low Control Register 1 ( Address : 0Bh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - /PLE81 /PLE80 /PLE63 /PLE62 /PLE61 /PLE60 Bit 5 ~ 4 ( /PLE81 ~ /PLE80 ) : bits 1, 0 of Port 8 Pull low enable bit /PLE8x = “0” : Enable P8x pull low /PLE8x = “1” : Disable P8x pull low Bit 3 ~ 0 ( /PLE63 ~ /PLE60 ) : bits 3 ~ 0 of Port 6 Pull low enable bit /PLE6x = “0” : Enable P6x pull low /PLE6x = “1” : Disable P6x pull low PHC2 − Pull High Control Register 2 ( Address: 0Ch ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - /PHE73 /PHE72 /PHE71 /PHE70 Bit 3 ~ 0 ( /PHE73 ~ /PHE70 ) : bits 3 ~ 0 of Port 7 Pull high enable bit /PHE7x = “0” : Enable P7x pull high /PHE7x = “1” : Disable P7x pull high PLC2 − Pull Low Control 2 ( Address: 0Dh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - /PLE73 /PLE72 /PLE71 /PLE70 Bit 3 ~ 0 ( /PLE73 ~ /PLE70 ) : bits 3 ~ 0 of Port 7 Pull low enable bit /PLE7x = “0” : Enable P7x pull low /PLE7x = “1” : Disable P7x pull low R10~R1F and R20~R3F (including Banks 0~3) are General Purpose Register

Product Specification (V1.0) 07.26.2005

• 23 (This specification is subject to change without further notice) 4.3 Special Purpose Registers A (Accumulator) — Internal data transfer, or instruction operand holding. — It cannot be addressed. CONT (Control Register) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 WDTO /INT WDTP1 WDTP0 WDTE PSR2 PSR1 PSR0 CONT register is both readable and writable. Bit 7 ( WDTO ) : WDT output select WDTO = “0” : Interrupt request WDTO = “1” : Internal reset Bit 6 ( /INT ) : Interrupt enable flag /INT = “0” : masked by DISI or hardware interrupt /INT = “1” : enabled by ENI/RETI instructions Bit 5 ~ Bit 4 ( WDTP1 ~ WDTP0 ) : WDT prescaler bits. WDTP1 WDTP0 Operating Mode 0 0 1:4 0 1 1:16 1 0 1:64 1 1 1:256 Bit 3 ( WDTE ) : WDT enable control. WDTE = “0” : Disable WDTE = “1” : Enable Bit 2 ( PSR2 ) ~ Bit 0 ( PSR0 ) : TCC prescaler bits. PSR2 PSR1 PSR0 Operating Mode 0 0 0 1:2 0 0 1 1:4 0 1 0 1:8 0 1 1 1:16 1 0 0 1:32 1 0 1 1:64 1 1 0 1:128 1 1 1 1:256

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) IOC6 ~ IOC9 − I/O Port Control Register — "1" puts the relative I/O pin into high impedance, while "0" defines the relative I/O pin as output. — IOC6 and IOC9 registers are both readable and writable. INTCR − INT Control Register ( Address : 0Bh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 INT1NR INT0EN 0 INT3ES1 INT3ES0 0 INT1ES TC2ES Bit 7 ( INT1NR ) : INT1 noise reject time select INT1NR = “0” : Pulses less than 63/fc are eliminated as noise INT1NR = “1” : Pulses less than 15/fc are eliminated as noise Bit 6 ( INT0EN ) : INT0 enable control INT0EN = “0” : General I/O INT0EN = “1” : /INT0 pin Bit 5 : Reserved Bit 4 ~ Bit 3 ( INT3ES1 ~ INT3ES0) : INT3 edge select INT3ES1 INT3ES0 Edge Select 0 0 Rising 0 1 Falling 1 0 Both edge 1 1 Reserved Bit 2 : Reserved Bit 1 ( INT1ES ) : INT1 edge select INT1ES = “0” : Rising edge INT1ES = “1” : Falling edge Bit 0 (TC2ES) : Timer/Counter 2 edge select. TC2ES = “0” : Rising edge TC2ES = “1” : Falling edge

Product Specification (V1.0) 07.26.2005

• 25 (This specification is subject to change without further notice) External Interrupt INT Pin Secondary Function Pin Enable Condition Edge Digital Noise Reject /INT0 P60 ENI + INT0EN (IOCB) Falling - INT1 P61 ENI + EXIE1 (IMR2) Rising or Falling 15/Fc, 63/Fc INT3 P80, TC3 ENI + EXIE3 (IMR2) Rising or Falling or Rising/Falling 7/Fc /INT5 P73, /SLEEP ENI + EXIE5 (IMR2) - ADOSCR − AD Offset Control Register ( Address : 0Ch ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CALI SIGN VOF[2] VOF[1] VOF[0] 0 0 0 Bit 7 (CALI) : Calibration enable bit for A/D offset CALI = “0” : Calibration disable CALI = “1” : Calibration enable Bit 6 ( SIGN ) : Polarity bit of offset voltage SIGN = “0” : Negative voltage SIGN = “1” : Positive voltage Bit 5 ~ Bit 3 ( VOF[2] ~ VOF[0] ) : Offset voltage bits IMR1 − Interrupt Mask Register 1 ( Address : 0Eh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EXIE5 TCIE2 ADIE 0 EXIE3 TCIE4 SPIE TCIE3 Bit 7 ( EXIE5 ) : External/INT5 pin Interrupt enable bit. EXIE5 = “0” : disable EXIF5 interrupt EXIE5 = “1” : enable EXIF5 interrupt Bit 6 ( TCIE2 ) : Timer/Counter 2 Interrupt enable bit. TCIE2 = “0” : disable TCIF2 interrupt TCIE2 = “1” : enable TCIF2 interrupt Bit 5 ( ADIE ) : ADC complete interrupt enable bit. ADIE = “0” : disable ADIF interrupt ADIE = “1” : enable ADIF interrupt

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Bit 3 ( EXIE3 ) : External INT3 pin Interrupt enable bit. EXIE3 = “0” : disable EXIF3 interrupt EXIE3 = “1” : enable EXIF3 interrupt Bit 2 ( TCIE4 ) : Timer/Counter 4 Interrupt enable bit. TCIE4 = “0” : disable TCIF4 interrupt TCIE4 = “1” : enable TCIF4 interrupt Bit 1 ( SPIE ) : SPI Interrupt enable bit. SPIE = “0” : disable SPIF interrupt SPIE = “1” : enable SPIF interrupt Bit 0 ( TCIE3 ) : Timer/Counter 3 Interrupt enable bit. TCIE3 = “0” : disable TCIF3 interrupt TCIE3 = “1” : enable TCIF3 interrupt — Individual interrupt is enabled by setting its associated control bit in the IMR1 to "1". — Global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction. — IMR1 register is both readable and writable. IMR2 − Interrupt Mask Register 2( Address: 0Fh ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 UERRIE URIE UTIE TBIE EXIE1 0 TCIE0 Bit 6 ( UERRIE ) : UART receive error interrupt enable bit. UERRIE = “0” : disable UERRIF interrupt UERRIE = “1” : enable UERRIF interrupt Bit 5 ( URIE ) : UART receive mode interrupt enable bit. URIE = “0” : disable RBFF interrupt URIE = “1” : enable RBFF interrupt Bit 4 ( UTIE ) : UART transmit mode interrupt enable bit. UTIE = “0” : disable TBEF interrupt UTIE = “1” : enable TBEF interrupt

Product Specification (V1.0) 07.26.2005

• 27 (This specification is subject to change without further notice) Bit 3 ( TBIE ) : Time base timer interrupt enable bit. TBIE = “0” : disable TBIF interrupt TBIE = “1” : enable TBIF interrupt Bit 2 ( EXIE1 ) : External INT 1 Interrupt enable bit. EXIE1 = “0” : disable EXIF1 interrupt EXIE1 = “1” : enable EXIF1 interrupt Bit 0 ( TCIE0 ) : TCC Interrupt enable bit. TCIE0 = “0” : disable TCIF0 interrupt TCIE0 = “1” : enable TCIF0 interrupt — Individual interrupt is enabled by setting its associated control bit in the IMR2 to "1". — Global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction. — IMR2 register is both readable and writable. 4.4 CPU Operation Mode Registers for CPU operation mode R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 0 0X05 SCR 0 PS2 PS1 PS0 0 1 SIS REM -- R/W R/W R/W -- -- R/W R/W * R_BANK: Register Bank (bits 7, 6 of R3), R/W: Read/Write Reset Occurs SIS=0 + SLEP NORMAL MODE CPU : Operating Fosc: Oscillates SLEEP MODE CPU : Halts Fosc: Stops IDLE MODE CPU : Halts Fosc: Oscillates Interrupt SIS=1 + SLEP /SLEEP Pin Input Fig 5. Operation Mode and Switching

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Table 2. Mode Switching Control Mode Switch Switch Method Note Normal Æ Sleep Set SIS = 1, execute SLEP instruction Sleep Æ Normal /SLEEP pin wake up Normal Æ Idle Set SIS = 0, execute SLEP instruction Idle Æ Normal Interrupt Table 3. Operation Mode Operation Mode Frequency CPU Code On-chip Peripherals Reset Reset Reset Normal Fosc Idle Turn on Fosc Signal Clock Sleep Turn off Halt Halt In NORMAL mode, the CPU core and on-chip peripherals operate in oscillator frequency. In IDLE mode, the CPU core halts, but the on-chip peripheral and oscillator circuit remain active. IDLE mode is released to NORMAL mode by any interrupt source. If the ENI instruction is set, an interrupt will be serviced first followed by executing the next instruction which is after the IDLE mode is released and the interrupt service is finished. If the ENI instruction is not set, the next instruction will be executed which is after the IDLE mode start instruction. IDLE mode can also be released by setting the /RESET pin to low and executing a reset operation. In SLEEP mode, the internal oscillator is turned off and all system operation is halted. SLEEP mode is released by /SLEEP pin (level sensitive or edge sensitive can be set by System Control Register (SCR) bit 0 (REM)). After a warm-up period, the next instruction will be executed which is after the SLEEP mode start instruction. SLEEP mode can also be released by setting the /RESET pin to low and executing a reset operation. In level sensitive mode, the /SLEEP pin must be confirmed in low level before entering SLEEP mode. In edge sensitive mode, SLEEP mode is started even when the /SLEEP pin is in high level. Table 4. Wake-up Methods Wake-up Signal SLEEP Mode R5 (SIS) = 1+SLEP Instruction IDLE Mode R5 (SIS)= 0 + SLEP Instruction NORMAL Mode R5 (SIS)=(*) 1. Individual interrupt source in IMR1, IMR2 2. WDT interrupt request 3. /INT0 4. ENI instruction is not executed No effect (**) 1. Wake-up 2. Jump to the next instruction or enter IDLE mode No effect (**)

Product Specification (V1.0) 07.26.2005

• 29 (This specification is subject to change without further notice) Wake-up Signal SLEEP Mode R5 (SIS) = 1+SLEP Instruction IDLE Mode R5 (SIS)= 0 + SLEP Instruction NORMAL Mode R5 (SIS)=(*) 1. Individual interrupt source in IMR1, IMR2 2. WDT interrupt request 3. /INT0 4. Execute ENI instruction No effect (**) 1. Wake-up 2. Jump to an Interrupt vector after RETI instruction, then jump to the next instruction or enter IDLE mode Interrupt /SLEEP pin 1. Wake-up 2. Jump to the next instruction or enter SLEEP mode No effect No effect /RESET pin Reset Reset Reset WDT time out Reset Reset Reset *→ Don’t care ** → Interrupt request flag will be recorded 4.5 AD Converter Registers for AD Converter Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 1 0X0B ADCR ADREF ADRUN ADCK1 ADCK0 ADP ADIS2 ADIS1 ADIS0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 1 0X0C ADIC ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 1 0X0D ADDH ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 R R R R R R R R BANK 1 0X08 ADDL ADD1 ADD0 0 TC2M TC2S TC2CK 2 TC2CK 1 TC2CK 0 R R -- R/W R/W R/W R/W R/W BANK 0 0x0E ISFR1 EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3 R/W R/W R/W 0 R/W R/W R/W R/W SPR 0x0C ADOSCR CALI SIGN VOF[2] VOF[1] VOF[0] 0 0 0 R/W R/W R/W R/W R/W -- -- -- SPR 0x0E IMR1 EXIE5 TCIE2 ADIE 0 EXIE3 TCIE4 SPIE TCIE3 R/W R/W R/W 0 R/W R/W R/W R/W * R_BANK : Register Bank (bits 7, 6 of R3), R/W: Read / Write * SPR : Special Purpose Registers

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 8 to 1 Analog switch ADC (Successive Approximation) AD7 (P97) AD6 (P96) AD5 (P95) AD4 (P94) AD3 (P93) AD2 (P92) AD1 (P91) AD0 (P90) 7 - 0 2 1 0 4 to 1 MUX 5 4 Fosc/4 Fosc/16 Fosc/32 5 5 9 8 7 6 5 4 3 2 1 0 DATA BUS IMR1 ISFR1 ADCR ADCR ADIC 6 3 7 VDD VREF Start to Convert Power Down ADCR Fig. 6. AD Converter It is a 10-bit successive approximation type AD converter. The upper side of analog reference voltage can select either internal VDD or external input pin P97 (VREF) by setting the ADREF bit in ADCR. ADC Data Register: When the A/D conversion is complete, the result is loaded to the ADDH (8 bit) and ADDL (2 bit). The START/END bit is cleared, and the ADIF is set. A/D Sampling Time: The accuracy, linearity, and speed of the successive approximation A/D converter are dependent on the properties of the ADC. The source impedance and the internal sampling impedance directly affect the time required to charge the sample holding capacitor. The application program controls the length of the sample time to meet the specified accuracy. Generally speaking, the program should wait for 2 μs for each KΩ of the analog source impedance and at least 2 μs for the low-impedance source. The maximum recommended impedance for the analog source is 10KΩ at VDD =5V. After the analog input channel is selected, this acquisition time must be done before A/D conversion can be started. A/D Conversion Time: ADCK0 and ADCK1 select the conversion time (Tct), in terms of instruction cycles. This allows the MCU to run at maximum frequency without sacrificing accuracy of A/D conversion. For the EM78P809N, the conversion time per bit is about 4μs. Table 5 shows the relationship between Tct and the maximum operating frequencies.

Product Specification (V1.0) 07.26.2005

• 31 (This specification is subject to change without further notice) Table 5 ADCK1:0 Operation Mode Max. Frequency (Fc) Max. Conversion Rate per Bit Max. Conversion Rate 0 0 Fc/4 1MHz 250kHz (4μs) 48us(20.8kHz) 0 1 Fc/16 4MHz 250kHz (4μs) 48us(20.8kHz) 1 0 Fc/32 8MHz 250kHz (4μs) 8us(20.8kHz) 1 1 Reserved - - - 4.6 Time Base Timer and Keytone Generator Registers for AD Converter Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 1 0X0E TBKTC TEN TCK1 TCK0 0 TBTEN TBTCK2 TBTCK1 TBTCK0 R/W R/W R/W -- R/W R/W R/W R/W BANK 0 0x0F ISFR2 0 UERRIF RBFF TBEF TBIF EXIF1 0 TCIF0 0 R/W R/W R/W R/W R/W 0 R/W SPR 0x0F IMR2 0 UERRIE URIE UTIE TBIE EXIE1 0 TCIE0 0 R/W R/W R/W R/W R/W 0 R/W MUX Fosc/2 Fosc/2 Fosc/2 Fosc/2 13 12 11 10 TBKTC TCK1:0 2 /TONE Pin TEN D Q Output Latch Data Output Output Enable (P63) Fig. 7. TONE Output Pin Configuration Keytone output can generate 50% duty pulse for driving a piezo-electric buzzer. The P63 must be set to “1” before keytone enable and it can be halted by setting P63 to “0”.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) P63 TEN TONE Pin Fig. 8. TONE Output Pin Timing Chart MUX Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 23 21 16 14 13 12 11 9 TBKTC TBTCK2:0 3 Falling Edge Detector TBT Interrupt TBTEN Fig. 9. TBT Configuration Time Base Timer is used to generate the base time for key scan or dynamic display processing. The interrupt is generated in the first falling edge of the source clock after TBTEN is set to “1”. Source Clock TBTEN TBT Interrupt Fig. 10. Time Base Timer Timing Chart

Product Specification (V1.0) 07.26.2005

• 33 (This specification is subject to change without further notice) 4.7 UART (Universal Asynchronous Receiver/Transmitter) Registers for UART Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 2 0X05 URC1 URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE TXE R/W R/W R/W R/W R/W R/W R R/W BANK 2 0X06 URC2 0 0 SBIM1 SBIM0 UINVEN 0 0 0 -- -- R/W R/W R/W -- -- -- BANK 2 0X07 URS URRD8 EVEN PRE PRERR OVERR FMERR URBF RXE R/W R/W R/W R/W R/W R/W R R/W BANK 2 0X08 URRD URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0 R R R R R R R R BANK 2 0X09 URTD URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0 W W W W W W W W BANK 0 0x0F ISFR2 0 UERRIF RBFF TBEF TBIF EXIF1 0 TCIF0 -- R/W R/W R/W R/W R/W -- R/W SFR 0x0F IMR2 0 UERRIE URIE UTIE TBIE EXIE1 0 TCIE0 -- R/W R/W R/W R/W R/W -- R/W Baud rate generator Selector TC4 RX Control TX Control Interrupt Control RX shift register URRD URTD URRD8 RX TX Parity control Error flag Data Bus URTD8 RXE TXE UINVEN UINVEN Fsystem Fig. 11. Function Block Diagram

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) In Universal Asynchronous Receiver Transmitter (UART), each transmitted or received character is individually synchronized by framing it with a start bit and stop bit. Full duplex data transfer is possible since the UART has independent transmit and receive sections. Double buffering for both sections allows the UART to be programmed for continuous data transfer. The figure below shows the general format of one character sent or received. The communication channel is normally held in the marked state (high). Character transmission or reception starts with a transition to the space state (low). The first bit transmitted or received is the start bit (low). It is followed by the data bits, in which the least significant bit (LSB) comes first. The data bits are followed by the parity bit. If present, then the stop bit or bits (high) confirm the end of the frame. In receiving, the UART synchronizes on the falling edge of the start bit. When two or three “0” are detected during three samples, it is recognized as normal start bit and the receiving operation is started. Fig. 12. DATA Format in UART 4.7.1 UART MODE: There are three UART modes. Mode 1 (7 bits data) and Mode 2 (8 bits data) allow the addition of a parity bit. The parity bit addition is not available in Mode 3. The Figure below shows the data format in each mode. UMODE PRE 0 0 0 0 0 1 0 1 0 0 1 1 1 0 X 1 2 3 4 5 11 10 9 8 7 6 START STOP 7 bits DATA START STOP 7 bits DATA Parity START STOP 8 bits DATA START STOP 8 bits DATA Parity START STOP 9 bits DATA Mode 1 Mode 3 Mode 2 Fig. 13. UART Mode START bit D0 D1 D2 Dn Parity bit STOP bit 1 bit 7 or 8 bits One character or frame 1 bit 1 bits Idle state (mark)

Product Specification (V1.0) 07.26.2005

• 35 (This specification is subject to change without further notice) 4.7.2 Transmitting: In transmitting serial data, the UART operates as follows: 1. Set the TXE bit of the URC1 register to enable the UART transmission function. 2. Write data into the URTD register and the UTBE bit of the URC1 register will be set by hardware. 3. Then start transmitting. 4. Serially transmitted data are transmitted in the following order from the TX pin. 5. Start bit: one “0” bit is output. 6. Transmit data: 7, 8 or 9 bits data are output from the LSB to the MSB. 7. Parity bit: one parity bit (odd or even selectable) is output. 8. Stop bit: one “1” bit (stop bit) is output. Mark state: output “1” continues until the start bit of the next transmitted data. After transmitting the stop bit, the UART generates a TBEF interrupt (if enabled). 4.7.3 Receiving: In receiving, the UART operates as follows: 1. Set RXE bit of the URS register to enable the UART receiving function. The UART monitors the RX pin and synchronizes internally when it detects a start bit. 2. Receive data is shifted into the URRD register in the order from LSB to MSB. 3. The parity bit and the stop bit are received. After one character received, the UART generates a RBFF interrupt (if enable). And URBF bit of URS register will be set to 1. 4. The UART makes the following checks: (a) Parity check: The number of 1 of the received data must match the even or odd parity setting of the EVEN bit in the URS register. (b) Frame check: The start bit must be 0 and the stop bit must be 1. (c) Overrun check: The URBF bit of the URS register must be cleared (that means the URRD register should be read out) before next received data is loaded into the URRD register. If any checks failed, the UERRIF interrupt will be generated (if enabled), and an error flag is indicated in PRERR, OVERR or FMERR bit. The error flag should be cleared by software else the UERRIF interrupt will occur when the next byte is received. 5. Read received data from URRD register. And URBF bit will be clear by hardware.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 4.7.4 Baud Rate Generator: The baud rate generator is comprised of a circuit that generates a clock pulse to determine the transfer speed for transmission/reception in the UART. The BRATE2~BRATE0 bits of the URC1 register can determine the desired baud rate. 4.8 SPI (Serial Peripheral Interface) Registers for the SPI Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 3 0X05 SPIC1 SMP DCOL BRS2 BRS1 BRS0 EDS DORD WBE R/W R/W R/W R/W R/W R/W R/W R BANK 3 0X06 SPIC2 SPIS 0 0 0 0 SPIM1 SPIM0 RBF R/W -- -- -- -- R/W R/W R BANK 3 0X07 SPID SPID7 SPID6 SPID5 SPID4 SPID3 SPID2 SPID1 SPID0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 0 0x0E ISFR1 EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3 R/W R/W R/W -- R/W R/W R/W R/W SFR 0x0E IMR1 EXIE5 TCIE2 ADIE 0 EXIE3 TCIE4 SPIE TCIE3 R/W R/W R/W -- R/W R/W R/W R/W SHIFT Register SPID reg Prescaler 4, 16, 64, 256,1024 SDI SDO SCK Edge Select Edge Select Tsystem TC1/2 BRS2~0 3 Master/Slave BRS2~0 3 RBFI RBF Buffer Full Set to 1 SE Tx Empty Clear (8 bits) TLS0~1 2 SE /SS /SS enable EDS EDS DORD Collision Detector DCOL SMP Detector Detector Fig. 14. SPI Block Diagram

Product Specification (V1.0) 07.26.2005

• 37 (This specification is subject to change without further notice) The serial interface are connected to external devices via P70 (/SCK), P71 (SI), P72 (SO). The serial interface can also be used as I/O port. In the transmit mode, P71 can be used as normal I/O port and in receive mode, P72 and P71 can be used as normal I/O ports. 4.8.1 Serial Clock: Six internal clocks can be selected by setting BRS0 ~ BRS2 and the clock output to the outside from /SCK (P70) pin. The External clock can also be used and connected to /SCK (P70) pin. 4.8.2 Shift Direction and Sample Phase: Setting up the DORD bit of the SPIC1 register can determine the shift direction. Setting up the EDS bit of the SPIC1 register can select the rising edge or falling edge and latch the data. Setting up the SMP bit of the SPIC2 register can select the sample phase at the middle or at the end of the data output time. 4.8.3 Transfer Mode: The transmit, receive, transmit/receive mode can be selected by setting SPIM0 ~ SPIM1. (a) 8-bit Transmit Mode: Set SPIM0 ~ SPIM12 to transmit mode and write data to the data buffer SPID. Set SPIS to “1” to start transmission. The data are output sequentially to the SO pin in synchronous with the serial clock. When the final bit of transfer data has been transferred, the SPI interrupt is generated and SPIS is cleared to “0” by hardware. In order to transmit the next data, the SPIS must be set to “1” again by software. If the next data is not written to the data buffer, the transfer is not started when using the internal clock. SPIS RBF WBE SPIF shift finish write data shift start shift start SO pin a0 a1 a2 a3 a4 a5 a6 a7 a b SPID b0 b1 b2 b3 b4 b5 b6 b7 write data Fig. 15. Transmit Mode (8-bit, 1 word)

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) (b) 8-bit Receive Mode: Setting SPIM0 ~ SPIM1 to receive mode and setting SPIS to “1” to start receiving. The data are input sequentially from the SI pin in synchronous with the serial clock. When the final bit of transfer data has been received, the SPI interrupt is generated and SPIS is cleared to “0” by hardware. In order to receive the next data, the SPIS must be set to “1” again by software. If the current data is not read out from the data buffer, receiving is not started when using internal clock. /SCK pin RBF WBE SPIF read data shift start shift start SI pin a0 a1 a2 a3 a4 a5 a6 a7 a SPID b0 b1 b2 b3 b4 b5 b6 b7 read data b shift finish Fig. 16. Receive Mode (8-bit, 1 word) (c) 8-bit Transmit/Receive Mode: Set SPIM0 ~ SPIM1 to transmit/receive mode and write data to data buffer SPID. Set SPIS to “1” to start transferring. The data are output to the SO pin and input from the SI pin sequentially in synchronous with the serial clock. When the number of data words specified has been transferred, the SPI interrupt is generated and SPIS is cleared to “0” by hardware. In order to receive the next data, the SPIS must be set to “1” again by software. Writing data in transmit mode and reading data in receive mode use the same data buffer. If the current data is not read out from the data buffer and then write the data to data buffer, the transfer is not started when using internal clock. Always write the data to be transmitted after reading the received data.

Product Specification (V1.0) 07.26.2005

• 39 (This specification is subject to change without further notice) SPIS RBF WBE SPIF read data shift start shift start /SCK pin SI pin c0 c1 c2 c3 c4 c5 c6 c7 a SPID d0 d1 d2 d3 d4 d5 d6 d7 read data d shift finish SO pin a0 a1 a2 a3 a4 a5 a6 a7 b0 b1 b2 b3 b4 b5 b6 b7 shift finish c write data b write data Fig. 17. Transmit/Receive Mode (8-bit, 1 word) (d) Multiple Device Connect (/SS): When selecting external clock for transfer clock source, the /SS function can be used. This pin (/SS) will be active when the /SS function is enabled, else the /SS pin is a general purpose I/O. Ignore the data on the SDI and SDO pins while /SS is high, since the SDO is no longer driven. Master SDI P.67 P 65 P 64 SDO SDI SCK /SS Master SDI SDO SCK /SS Slave Device 1 P67 P66 P65 P64 SDI SDI SDO SCK /SS Slave Device 2 SDI SDI SDO SCK /SS Slave Device 3 SDI SDI SDO SCK /SS Slave Device 4 Fig. 18. The SPI Configuration Example of Single-Master and Multi-Slaves

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 4.9 Timer/Counter 2 Registers for Timer/Counter 2 Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 1 0X08 TC2CR ADD1 ADD0 0 TC2M TC2S TC2CK2 TC2CK1 TC2CK0 R R -- R/W R/W R/W R/W R/W BANK 1 0X09 TC2DH TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8 R/W R/W R/W R/W R/W R/W R/W R/W BANK 1 0X0A TC2DL TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 0 0x0E ISFR1 EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3 R/W R/W R/W -- R/W R/W R/W R/W SFR 0x0B INTCR INT1NR INT0EN 0 INT3ES1 INT3ES0 0 INT1ES TC2ES R/W R/W R/W R/W R/W R/W SFR 0x0E IMR1 EXIE5 TCIE2 ADIE 0 EXIE3 TCIE4 SPIE TCIE3 R/W R/W R/W -- R/W R/W R/W R/W 16-bit Up-counter Comparator TCR2H TC2CR M TC2ES TC2 Pin TC2CK TC2S 3 TC2 Interrupt TCR2L fc/2 23 fc/2 13 fc/2 8 Clear Window MUX fc/2 3 fc Fig 19. Configuration of Timer/Counter 2

Product Specification (V1.0) 07.26.2005

• 41 (This specification is subject to change without further notice) 4.9.1 Timer Mode: In Timer mode, counting up is performed using the internal clock. When the contents of the up-counter matched with the TCR2 (TCR2H+TCR2L), then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. 0 1 2 4 n-1 n 1 2 3 Internal clock Up-counter 5 TC2 interrupt 0 n match counter clear TCR2 n-2 n-3 3 Fig. 20. Timer Mode Timing Chart 4.9.2 Counter Mode: In Counter mode, counting up is performed using the external clock input pin (TC2 pin) and either rising or falling can be selected by setting TC2ES. When the contents of the up-counter matched with the TCR2 (TCR2H+TCR2L), then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. 0 1 2 3 n-1 n 1 2 3 TC2 Pin Up-counter 4 TC2 interrupt 0 n match counter clear TCR2 n-2 Fig. 21. Counter Mode Timing Chart (TC2ES = 1) 4.9.3 Window Mode In Window mode, counting up is performed on the rising or falling edge of the pulse that is logical AND of an internal clock and the TC2 pin (window pulse). When the contents of the up-counter matched with the TCR2 (TCR2H+TCR2L), then interrupt is generated and the counter is cleared. The frequency (window pulse) must be slower than the selected internal clock. Writing to the TCR2L, the comparison is inhibited until TCR2H is written.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 0 1 2 n-3 n-1 n 1 2 3 Internal clock Up-counter n-2 TC2 pin TC2 interrupt 0 n match counter clear TCR2 Fig. 22. Window Mode Timing Chart 4.10 Timer/Counter 3 Registers for Timer/Counter 3 Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 1 0X05 TC3CR TC3CAP TC3S TC3CK1 TC3CK0 TC3M 0 0 0 R/W R/W R/W R/W R/W -- -- -- BANK 1 0X06 TC3DA TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 1 0X07 TC3DB TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 0 0x0E ISFR1 EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3 R/W R/W R/W -- R/W R/W R/W R/W SFR 0x0B INTCR INT1NR INT0EN 0 INT3ES1 INT3ES0 0 INT1ES TC2ES R/W R/W -- R/W R/W -- R/W R/W SFR 0x0E IMR1 EXIE5 TCIE2 ADIE 0 EXIE3 TCIE4 SPIE TCIE3 R/W R/W R/W -- R/W R/W R/W R/W

Product Specification (V1.0) 07.26.2005

• 43 (This specification is subject to change without further notice) 8-bit Up-counter Comparator TCR3B TC3CR MUX INT3ES TC3 pin TC2CK TC3S 2 TC3 Interrupt TCR3A fc/2 12 fc/2 10 fc/2 7 Edge Detector Capture Control TC3M Capture Capture CAP Inhibit Rising Falling Overflow M fs/2 4 fs/2 2 , , Fig. 23. Configuration of Timer/Counter3 4.10.1 Timer Mode: In Timer mode, counting up is performed using the internal clock. When the contents of the up-counter matched with the TCR3DA, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. The current contents of the up-counter are loaded into the TCR3DB by setting TC3CAP to “1” and the TC3CAP is cleared to “0” after capture automatically. 4.10.2 Counter Mode: In Counter mode, counting up is performed using the external clock input pin (TC3 pin) and either rising or falling edge can be selected by INT3ES0 but both edge cannot be used. When the contents of the up-counter matched with the TCR3DA, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. The current contents of the up-counter are loaded into the TCR3DB by setting TC3CAP to “1” and the TC3CAP is cleared to “0” after capture automatically. 4.10.3 Capture mode: In Capture mode, the pulse width, period and duty of the TC3 input pin are measured in this mode, which can be used in decoding the remote control signal. The counter is free running by the internal clock. On the rising (falling) edge of TC3 pin input, the contents of the counter is loaded into TCR3DA, then the counter is cleared and interrupt is generated. On the falling (rising) edge of TC3 pin input, the contents of the counter are loaded into TCR3DB. The counter is still counting, on the next rising edge of the TC3 pin input, the contents of the counter are loaded into TCR3A, counter is

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) cleared and interrupt is generated again. If an overflow before the edge is detected, the FFH is loaded into TCR3DA and an overflow interrupt is generated. During interrupt processing, it can be determined whether or not there is an overflow by checking whether the TCR3DA value is FFH. After an interrupt (capture to TCR3DA or overflow detection) is generated, capture and overflow detection are halted until TCR3DA is read out. K-2 K-1 K 0 1 m-1 m m+1 n-1 n 0 1 2 3 FE FF0 1 2 3 Source Clock Up-counter TC3 Pin Input TCR3DA TCR3DB TC3 Interrupt Reading TCR3DA K m n FF (Overflow) FE Capture Capture Overflow Fig. 24.Timing Chart of Capture Mode 4.11 Timer/Counter 4 Registers for Timer 4 Circuit R_BANK Address NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BANK 0 0X0B TC4CR TC4FF1 TC4FF0 TC4S TC4CK2 TC4CK1 TC4CK0 TC4M1 TC4M0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 0 0X0C TC4D TC4D7 TC4D6 TC4D5 TC4D4 TC4D3 TC4D2 TC4D1 TC4D0 R/W R/W R/W R/W R/W R/W R/W R/W BANK 0 0x0E ISFR1 EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3 R/W R/W R/W -- R/W R/W R/W R/W SFR 0x0E IMR1 EXIE5 TCIE2 ADIE 0 EXIE3 TCIE4 SPIE TCIE3 R/W R/W R/W -- R/W R/W R/W R/W

Product Specification (V1.0) 07.26.2005

• 45 (This specification is subject to change without further notice) 8-bit Up-counter Comparator TCR4 TC4CR MUX TC4 pin TC4CK TC4S 3 TC4 Interrupt fc/2 11 fc/2 7 fc/2 3 Clear TC4M (1,1) TC4M(1,*) TC4FF Toggle Set Clear /PWM, /PDO Pin Overflow Match F/F Q Fig. 25. Timer/Counter 4 Configuration 4.11.1 Timer Mode In Timer mode, counting up is performed using the internal clock. When the contents of the up-counter matched with the TCR4, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. 4.11.2 Counter Mode In Counter mode, counting up is performed on the rising edge of the external clock input pin (TC4 pin). When the contents of the up-counter matched with the TCR4, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. 4.11.3 PDO Mode In Programmable Divider Output (PDO) mode, counting up is performed using the internal clock. The contents of TCR4 are compared with the contents of the up-counter. The F/F output is toggled and the counter is cleared each time a match is found. The F/F output is inverted and output to /PDO pin. This mode can generate 50% duty pulse output. The F/F can be initialized by the program and it is initialized to “0” during a reset. A TC4 interrupt is generated each time the /PDO output is toggled. 0 1 3 n-1 n 0 n-1 n 0 1 n-1 0 1 2 Source Clock Up-counter TCR4 TC4 Interrupt n 2 1 n F/F /PDO Pin Fig. 26.Timing Chart for PDO Mode

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 4.11.4 PWM Mode In Pulse Width Modulation (PWM) Output mode, counting up is performed using the internal clock. The contents of the TCR4 are compared with the contents of the up-counter. The F/F is toggled when match is found. The counter is still counting, the F/F is toggled again when the counter overflows, then the counter is cleared. The F/F output is inverted and output to the /PWM pin. A TC4 interrupt is generated each time an overflow occurs. TCR4 is configured as a 2-stage shift register and, during output, will not switch until one output cycle is completed even if TCR4 is overwritten. Therefore, the output can be changed continuously. TRC4 is also shifted the first time by setting TC4S to “1” after data is loaded to TCR4. 0 1 n-1 n n+1 FE FF 0 n+1 FE FF 0 Source Clock Up-counter TCR4 TC4 Interrupt n/n n+2 F/F /PWM Match Overflow n-1 n Match n+2 Overflow 1 Period n/m m/m Overwrite Shift m-1 1 m Fig. 27.Timing Chart for PWM Mode 4.12 TCC/WDT & Prescaler An 8-bit counter is available as prescaler for the TCC. The PSR0~PSR2 bits determine the ratio. The prescaler is cleared each time the instruction is written to TCC under TCC mode. R1 (TCC) is an 8-bit timer/counter. The clock source of TCC is the internal clock. If the TCC signal source is from the internal clock, TCC will increase by 1 at every instruction cycle (without prescaler). CLK=Fosc/2 or CLK=Fosc/4 selection is determined by the CODE Option bit CLK status. CLK=Fosc/2 is used if CLK bit is "0", and CLK=Fosc/4 is used if CLK bit is "1". The watchdog timer is a free running on-chip RC oscillator. During normal operation mode, a WDT time-out (if enabled) will cause the device to reset or interrupt by setting WDTO. The WDT can be enabled or disabled any time during normal mode by software programming. Without prescaler, the WDT time-out period is approximately 18 ms (default). The WDT can also be used as a timer to generate an interrupt at fixed interval.

Product Specification (V1.0) 07.26.2005

• 47 (This specification is subject to change without further notice) 4.13 I/O Ports The I/O registers, Port 6, Port 7, Port 8, and Port 9 are bi-directional tri-state I/O ports. Each I/O pin can be defined as “input” or “output” pin by the I/O control register (IOC6 ~ IOC9). The I/O registers and I/O control registers are both readable and writable. The I/O interface circuits for Port 6, Port 7, Port 8, and Port 9 are shown in Fig. 27. PDRD Q Q CLK D P R C L PCWR PDWR Q Q CLK D P R C L PORT 0 1 M U X IOD PCRD Fig. 28.The I/O Port and I/O Control Register Circuit 4.14 RESET and Wake-up 4.14.1 RESET A RESET is initiated by one of the following events: (1) Power-on reset (2) /RESET pin input “low” (3) WDT timeout. (if enabled) The device is kept in a RESET condition for a period of approx. 18ms 1 (one oscillator start-up timer period) after the reset is detected. Once a RESET occurs, the following functions are performed. „ The oscillator starts or is running „ The Program Counter (R2) is reset to all “0”. „ When power is switched on, the upper 2 bits of R3, the upper 2 bits of R4 and the bits 6 ~ 4 of R5 are cleared. „ All I/O port pins are configured as input mode (high-impedance state). 1 NOTE: VDD = 5V, set up time period = 16.2ms ± 30% VDD = 3V, set up time period = 19.6ms ± 30%

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) „ The Watchdog timer and prescaler are cleared. „ Upon power on, the upper 2 bits of R3 are cleared. „ Upon power on, the upper 2 bits of R4 are cleared. „ Upon power on, the upper 3 bits of R5 are cleared. „ The bits of CONT register are set to all “1” except bit 6 (INT flag). „ ISFR0, ISFR1, ISFR2 register and IMR1, IMR2 registers are cleared. The controller has two modes for power saving. (1) SLEEP mode: R5 (SIS) = 1, SLEP instruction. The internal oscillator is turned off and all system operation is halted. (2) IDLE mode: R5 (SIS)= 0, SLEP instruction The CPU core halts but the on-chip peripheral and oscillator circuit remain active. 4.14.2 Wake-up from SLEEP Mode: (1) External /SLEEP pin The controller will be waken up and execute the next instruction after entering SLEEP mode. All the registers will maintain their original values before “SLEP” instruction was executed. (2) /RESET pin pull low This will reset the controller and starts the program at address zero. (3) WDT time out This will reset the controller and run the program at address zero. 4.14.3 Wake-up from IDLE mode: (1) All interrupt In all these cases, user should always enable the circuit before entering IDLE mode. After wake-up, all registers will maintain their original values before entering “SLEP” instruction, then service an interrupt subroutine or proceed with next instruction by setting individual interrupt enable bit. After servicing an interrupt sub-routine (“RETI” instruction), the program will jump from “SLEP” instruction to the next instruction. (2) /RESET pin pull low This will reset the controller and run the program at address zero. (3) WDT time out This will reset the controller and run the program at address zero.

Product Specification (V1.0) 07.26.2005

• 49 (This specification is subject to change without further notice) Table 6. Summary of the Initialized Values for Registers Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit Name C67 C66 C65 C64 C63 C62 C61 C60 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT time out 1 1 1 1 1 1 1 1 0x06 IOC6 Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name X X X X C73 C72 C71 C70 Power-on U U U U 1 1 1 1 /RESET and WDT time out U U U U 1 1 1 1 0x07 IOC7 Wake-Up from SLEEP, IDLE mode U U U U P P P P Bit Name X X X X X X C81 C80 Power-on U U U U U U 1 1 /RESET and WDT time out U U U U U U 1 1 0x08 IOC8 Wake-Up from SLEEP, IDLE mode U U U U U U P P Bit Name C97 C96 C95 C94 C93 C92 C91 C90 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT time out 1 1 1 1 1 1 1 1 0x09 IOC9 Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name INT1NR INT0EN X INT3ES1 INT3ES0 X INT1ES TC2ES Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x0B INTCR Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name CALI SIGN VOF2 VOF1 VOF0 X X X Power-on 0 0 0 0 0 U U U /RESET and WDT time out 0 P P P P U U U 0x0C ADOSC R Wake-Up from SLEEP, IDLE mode 0 P P P P U U U Bit Name EXIE5 TCIE2 ADIE X EXIE3 TCIE4 SPIE TCIE3 Power-on 0 0 0 U 0 0 0 0 /RESET and WDT time out 0 0 0 U 0 0 0 0 0x0E IMR1 Wake-Up from SLEEP, IDLE mode P P P U P P P P Bit Name X UERRIE URIE UTIE TBIE EXIE1 X TCIE0 Power-on U 0 0 0 0 0 U 0 /RESET and WDT time out U 0 0 0 0 0 U 0 0x0F IMR2 Wake-Up from SLEEP, IDLE mode U P P P P P U P Bit Name WDT0 /INT WDTP1 WDTP0 WDTE PSR2 PSR1 PSR0 Power-on 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 N/A CONT Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name - - - - - - - - Power-on U U U U U U U U /RESET and WDT time out P P P P P P P P 0x00 R0 (IAR) Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name - - - - - - - - Power-on 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x01 R1 (TCC) Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name - - - - - - - - Power-on 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x02 R2 (PC) Wake-Up from SLEEP, IDLE mode Jump to interrupt vector or execute next instruction Bit Name RBS1 RBS0 X T P Z DC C Power-on 0 0 0 1 1 U U U /RESET and WDT time out 0 0 0 t t P P P 0x03 R3 (SR) Wake-Up from SLEEP, IDLE mode P P P t t P P P Bit Name GRBS1 GRBS0 RSR5 RSR4 RSR3 RSR2 RSR1 RSR0 Power-On 0 0 U U U U U U /RESET and WDT time out 0 0 P P P P P P 0x04 R4 (RSR) Wake-Up from SLEEP, IDLE mode P P P P P P P P

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Register Bank 0 Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit Name X PS2 PS1 PS0 X X SIS REM Power-On U 0 0 0 U U 0 0 /RESET and WDT time out U 0 0 0 U U 0 0 0x05 SCR Wake-Up from SLEEP, IDLE mode U P P P U U P P Bit Name P67 P66 P65 P64 P63 P62 P61 P60 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT time out 1 1 1 1 1 1 1 1 0x06 PORT6 Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name X X X X P73 P72 P71 P70 Power-On U U U U 1 1 1 1 /RESET and WDT time out U U U U 1 1 1 1 0x07 PORT7 Wake-Up from SLEEP, IDLE mode U U U U P P P P Bit Name X X X X X X P81 P80 Power-On U U U U U U 1 1 /RESET and WDT time out U U U U U U 1 1 0x08 PORT8 Wake-Up from SLEEP, IDLE mode U U U U U U P P Bit Name P97 P96 P95 P94 P93 P92 P91 P90 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT time out 1 1 1 1 1 1 1 1 0x09 PORT9 Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name TC4FF1 TC4FF0 TC4S TC4CK2 TC4CK1 TC4CK0 TC4M1 TC4M0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x0B TC4CR Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name TC4D7 TC4D6 TC4D5 TC4D4 TC4D3 TC4D2 TC4D1 TC4D0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x0C TC4D Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name X X INT3F INT3R X X WDTIF EXIF0 Power-On U U 0 0 U U 0 0 /RESET and WDT time out U U 0 0 U U 0 0 0X0D ISFR0 Wake-Up from SLEEP, IDLE mode U U P P U U P P Bit Name EXIF5 TCIF2 ADIF X EXIF3 TCIF4 SPIF TCIF3 Power-On 0 0 0 U 0 0 0 0 /RESET and WDT time out 0 0 0 U 0 0 0 0 0X0E ISFR1 Wake-Up from SLEEP, IDLE mode U P P U P P P P Bit Name X UERRIF RBFF TBEF TBIF EXIF1 X TCIF0 Power-On U 0 0 0 0 0 U 0 /RESET and WDT time out U 0 0 0 0 0 U 0 0X0F ISFR2 Wake-Up from SLEEP, IDLE mode U P P P P P U P

Product Specification (V1.0) 07.26.2005

• 51 (This specification is subject to change without further notice) Register Bank 1 Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit Name TC3CAP TC3S TC3CK1 TC3CK0 TC3M X X X Power-On 0 0 0 0 0 U U U /RESET and WDT time out 0 0 0 0 0 U U U 0x05 TC3CR Wake-Up from SLEEP, IDLE mode P P P P P U U U Bit Name TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x06 TC3DA Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x07 TC3DB Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name ADD1 ADD0 X TC2M TC2S TC2CK2 TC2CK1 TC2CK0 Power-On U U U 0 0 0 0 0 /RESET and WDT time out P P U 0 0 0 0 0 0x08 TC2CR / ADDL Wake-Up from SLEEP, IDLE mode P P U P 0 P P P Bit Name TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x09 TC2DH Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x0A TC2DL Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name ADREF ADRUN ADCK1 ADCK0 ADP ADIS2 ADIS1 ADIS0 Power-On 0 0 0 0 1 0 0 0 /RESET and WDT time out 0 0 0 0 1 0 0 0 0x0B ADCR Wake-Up from SLEEP, IDLE mode P (*) P P P P P P Bit Name ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0x0C ADIC Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 Power-On U U U U U U U U /RESET and WDT time out P P P P P P P P 0X0D ADDH Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name TEN TCK1 TCK0 X TBTEN TBTCK2 TBTCK1 TBTCK0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 0 0 0 0X0E TBKTC Wake-Up from SLEEP, IDLE mode 0 P P P 0 P P P

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Register Bank 2 Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit Name URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE TXE Power-On U 0 0 0 0 0 0 0 /RESET and WDT time out P P P P P P 0 0 0x05 URC1 Wake-Up from SLEEP, IDLE mode P 0 P P P P P 0 Bit Name X X SBIM1 SBIM0 UINVEN X X X Power-On U U 0 0 0 U U U /RESET and WDT time out U U P P P U U U 0x06 URC2 Wake-Up from SLEEP, IDLE mode U U P P P U U U Bit Name URRD8 EVEN PRE PRERR OVERR FMERR URBF RXE Power-On U 0 0 0 0 0 0 0 /RESET and WDT time out P P P 0 0 0 0 0 0x07 URS Wake-Up from SLEEP, IDLE mode P P P P P P P 0 Bit Name URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0 Power-On U U U U U U U U /RESET and WDT time out P P P P P P P P 0x08 URRD Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0 Power-On U U U U U U U U /RESET and WDT time out P P P P P P P P 0x09 URTD Wake-Up from SLEEP, IDLE mode P P P P P P P P Register Bank 3 Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit Name SMP DCOL BRS2 BRS1 BRS0 EDS DORD WBE Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out P P P P P P P 0 0x05 SPIC1 Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name SPIS X X X X SPIM1 SPIM0 RBF Power-On 0 0 0 0 0 0 0 0 /RESET and WDT time out 0 0 0 0 0 P P 0 0x06 SPIC2 Wake-Up from SLEEP, IDLE mode 0 P P P P P P P Bit Name SPID17 SPID16 SPID15 SPID14 SPID13 SPID12 SPID11 SPID10 Power-On U U U U U U U U /RESET and WDT time out P P P P P P P P 0x07 SPID1 Wake-Up from SLEEP, IDLE mode P P P P P P P P Bit Name X X /PHE81 /PHE80 /PHE63 /PHE62 /PHE61 /PHE60 Power-On U U 1 1 1 1 1 1 /RESET and WDT time out U U 1 1 1 1 1 1 0x0A PHC1 Wake-Up from SLEEP, IDLE mode U U P P P P P P Bit Name X X /PLE81 /PLE80 /PLE63 /PLE62 /PLE61 /PLE60 Power-On U U 1 1 1 1 1 1 /RESET and WDT time out U U 1 1 1 1 1 1 0x0B PLC2 Wake-Up from SLEEP, IDLE mode U U P P P P P P Bit Name X X X X /PHE73 /PHE72 /PHE71 /PHE70 Power-On U U U U 1 1 1 1 /RESET and WDT time out U U U U 1 1 1 1 0x0C PHC2 Wake-Up from SLEEP, IDLE mode U U U U P P P P Bit Name X X X X /PLE73 /PLE72 /PLE71 /PLE70 Power-On U U U U 1 1 1 1 /RESET and WDT time out U U U U 1 1 1 1 0x0D PLC2 Wake-Up from SLEEP, IDLE mode U U U U P P P P

Product Specification (V1.0) 07.26.2005

• 53 (This specification is subject to change without further notice) General Purpose Registers Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit Name - - - - - - - - Power-On U U U U U U U U /RESET and WDT time out P P P P P P P P 0x10 ~ 0x3F R10 ~ R3F Wake-Up from SLEEP, IDLE mode P P P P P P P P X: Not used. U: Unknown or don’t care. P: Previous value before reset. t: Check Table 7 (*) 0: Wake-Up from SLEEP P: Wake-Up from IDLE 4.14.4 The Status of RST, T, and P of STATUS Register The values of T and P are used to verify the event that triggered the processor to wake up. Table 7 shows the events that may affect the status of T and P. Table 7. The Values of RST, T and P after RESET Reset Type T P Power on 1 1 /RESET during Operation mode *P *P /RESET wake-up during SLEEP mode *P *P /RESET wake-up during IDLE mode *P *P WDT during Operation mode 0 *P WDT wake-up during SLEEP mode 0 *P WDT wake-up during IDLE mode 0 *P *P: Previous status before reset Table 8 The Events that may Affect the T and P Status Event T P Power on 1 1 WDTC instruction 1 1 WDT time-out 0 *P SLEP instruction 1 0 Wake-Up during SLEEP mode *P *P *P: Previous value before reset

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Voltage Detector Power-on Reset WDTE Setup Time VDD D Q CLK CLR CLK RESET WDT Timeout WDT /RESET Oscillator Fig. 29.Controller Reset Block Diagram 4.15 Interrupt The EM78P809N has 15 interrupts (9 external, 6 internal) listed below: Table 9.. Interrupt Vector Interrupt Source Enable Condition Int. Flag Int. Vector Priority Internal / External Reset - - 0000 High 0 Internal WDT WDTEN WDTIF 0003 1 External INT0 ENI + INT0EN=1 EXIEF0 0006 2 Internal TCC ENI + TCIE0=1 TCIF0 0009 3 External INT1 ENI + EXIE1=1 EXIF1 000F 4 Internal TBT ENI + TBIE=1 TBIF 0012 5 External UART Transmit ENI + UTIE=1 TBEF 0015 6 External UART Receive ENI + URIE=1 TBFF 0018 7 External UART Receive error ENI+UERRIE=1 UERRIF 001B 8 Internal TC3 ENI + TCIE3=1 TCIF3 0021 9 External SPI ENI + SPIE=1 SPIF 0024 10 Internal TC4 ENI + TCIE4=1 TCIF4 0027 11 External INT3 ENI + EXIE3=1 EXIF3 002A 12 External AD ENI + ADIE=1 ADIF 0030 13 Internal TC2 ENI + TCIE2=1 TCIF2 0033 14 External INT5 ENI + EXIE5=1 EXIF5 0036 Low 15 ISFR0, ISFR1 and ISFR2 are the interrupt status registers that record the interrupt requests in the relative flags/bits. IMR1 and IMR2 are the interrupt mask registers. The global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction.

Product Specification (V1.0) 07.26.2005

• 55 (This specification is subject to change without further notice) When one of the interrupts (enabled) occurs, the next instruction will be fetched from individual address. The interrupt flag bit must be cleared by instructions before leaving the interrupt service routine and before interrupts are enabled to avoid recursive interrupts. The flag (except ICIF bit) in the Interrupt Status Register (ISFR 2) is set regardless of the status of its mask bit or the execution of ENI. The RETI instruction ends the interrupt routine and enables the global interrupt (the execution of ENI). 4.16 Oscillator 4.16.1 Oscillator Modes The EM78P809N can operate in two different oscillator modes, i.e., Crystal oscillator mode and External RC oscillator mode (ERC) oscillator mode. User can select which mode by Code Option Register. The maximum limit for operational frequencies of the crystal/resonator under different VDDs is listed below. Table 10 Oscillator Modes Defined by SDCS and OSC Mode OSC Oscillator 1 High frequency oscillator Single Clock 0 ERC Table 11 The Summary of Maximum Operating Speeds Condition VDD Max. Fxt. (MHz) 3.0 4.0 High frequency oscillator 5.0 10.0 4.16.2 Crystal Oscillator/Ceramic Resonators (Crystal) EM78P809N has a clock generator. i.e. Fc (high frequency) which can be driven by an external clock signal through the OSCI pin. In most applications, Pin OSCI and Pin OSCO can be connected with a crystal or ceramic resonator to generate oscillation. Table 12 provides the recommended values of C1 and C2. Since each resonator has its own attribute, user should refer to its specification for appropriate values of C1 and C2. A serial resistor Rs may be necessary for AT strip cut crystal.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) OSCI OSCO EM78P809N Ext. Clock Fig. 30. Crystal/Resonator Circuit C1 C2 XTAL RS OSCI OSCO EM78P809N Fig. 31. Crystal/Resonator Circuit Table12. Capacitor Selection Guide for Crystal Oscillator or Ceramic Resonator Oscillator Type Frequency Mode Frequency C1 (pF) C2 (pF) 2.0 MHz 20~40 20~40 Ceramic Resonator HXT 4.0 MHz 10~30 10~30 1.0MHz 15~30 15~30 2.0MHz 15 15 Crystal Oscillator HXT 4.0MHz 15 15 33 0 33 0 EM78P809N C 740 4 XTAL 740 4 740 4 OSCI Fig. 32. Crystal/Resonator-Series Mode Circuit

Product Specification (V1.0) 07.26.2005

• 57 (This specification is subject to change without further notice) 740 4 4.7 K 10 K XTAL 740 4 C1 Vdd 10 K C2 OSCI EM78P809N Fig. 33. Crystal/Resonator-Parallel Mode Circuit 4.16.3 External RC Oscillator Mode For applications that do not need very precise timing calculation, the RC oscillator offers a lot of cost savings. Nevertheless, it should be noted that the frequency of the RC oscillator is influenced by the supply voltage, the values of the resistor (Rext), the capacitor (Cext), and even by the operation temperature. Moreover, the frequency also varies slightly from one chip to another due to the manufacturing process variation. In order to maintain a stable system frequency, the values of the Cext should not be less than 20pF, and the value of Rext should not be greater than 1 MΩ, otherwise, the frequency is easily affected by noise, humidity, and leakage. The smaller the Rext in the RC oscillator, the faster its frequency will be. On the contrary, for very low Rext values, for instance, 1 KΩ, the oscillator becomes unstable because the NMOS cannot correctly discharge the current of the capacitance. Hence, it must be noted that the supply voltage, the operation temperature, the RC oscillator components, the package types, and the PCB layout, will affect the system frequency. OSCI EM78P809N Vdd Rext Cext Fig. 34. External RC Oscillator Mode Circuit

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Table13. RC Oscillator Frequencies Cext Rext Average Fosc 5V, 25°C Average Fosc 3V, 25°C 3.3k 4.32 MHz 3.56 MHz 5.1k 2.83 MHz 2.8 MHz 10k 1.62 MHz 1.57 MHz 20 pF 100k 184kHz 187kHz 3.3k 1.39 MHz 1.35 MHz 5.1k 950kHz 930kHz 10k 500kHz 490kHz 100 pF 100k 54kHz 55kHz 3.3k 580kHz 550kHz 5.1k 390kHz 380kHz 10k 200kHz 200kHz 300 pF 100k 21kHz 21kHz Note: 1. Measured on DIP packages. 2. For design reference only. 4.17 Code Option Register The EM78P809N has one CODE option word that is not part of the normal program memory. The option bits cannot be accessed during normal program execution. Code Option Register and Customer ID Register arrangement distribution: Word 0 Word 1 Word 2 Bit 12~Bit 0 Bit 12~Bit 0 Bit 12~Bit 0 4.17.1 Code Option Register (Word 0) Word 0 Bit 12 ~ 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CLKS ENWDTB CYES - OSC HLP PR2 PR1 PR0 Bit 12 ~ 9 : Not used Bit 8 (CLKS) : Instruction period option bit. CLKS = “0” : two oscillator periods. CLKS = “1” : four oscillator periods. Refer to the Instruction Set section. Bit 7 (ENWDTB) : Watchdog timer enable bit. ENWDTB = “0” : Enable ENWDTB = “1” : Disable

Product Specification (V1.0) 07.26.2005

• 59 (This specification is subject to change without further notice) Bit 6 (CYES) : Cycle selection for JMP, CALL instruction CYES = “0” : One cycle CYES = “1” : Two cycles Bit 4 (OSC) : Oscillator type selection. OSC = “0” : RC type OSC = “1” : Crystal type Bit 3 (HLP) : Power selection. HLP = “0” : Low power HLP = “1” : High power Bit 2~0 (PR2~PR0) : Protect Bit PR2~PR0 are write-protect bits, configured as follow s: PR2 PR1 PR0 Protect Others Enable 1 1 1 Disable 4.17.2 Customer ID Register Word 1 Bit 12~Bit 0 XXXXXXXXXXXXX Word 2 Bit 12~Bit 0 XXXXXXXXXXXXX Bits 12 ~ 0: Customer’s ID code 4.18 Power-on Considerations Any microcontroller is not guaranteed to start and operate properly before the power supply maintains at its steady state. The EM78P809N has a built-in Power On Voltage Detector (POVD) with a detecting level of 2.1V. It will work well if VDD rises fast enough (10 ms or less). In many critical applications, however, additional components are required to provide solutions on probable power-up problems. 4.18.1 External Power-on Reset Circuit The circuit shown in Fig. 34 use an external RC to produce the reset pulse. The pulse width (time constant) should be kept long enough for VDD to reach minimum operation voltage. This circuit is used when the power supply has slow rise time. Because the

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) current leakage from the /RESET pin is about ±5μA, it is recommended that R should not be greater than 40K. In this way, the /RESET pin voltage is held below 0.2V. The diode (D) acts as a short circuit at the moment of power down. The capacitor C will discharge rapidly and fully. Rin, the current-limited resistor, will prevent high current or ESD (electrostatic discharge) from flowing to pin /RESET. EM78P809N /RESET Vdd D R Rin C Fig. 35. External Power-Up Reset Circuit 4.18.2 Residue-Voltage Protection When battery is replaced, device power (VDD) is taken off but residue-voltage remains. The residue-voltage may trip below VDD minimum, but not to zero. This condition may cause a poor power-on reset. Fig.35 and Fig.36 show how to build the residue-voltage protection circuit. EM78P809N /RESET Vdd 40K Q1 1N4684 10K 33K Vdd Fig. 36. Residue Voltage Protection Circuit 1

Product Specification (V1.0) 07.26.2005

• 61 (This specification is subject to change without further notice) Q1 R2 R1 40K /RESET EM78P809N Vdd Vdd Fig 37. Residue Voltage Protection Circuit 2 4.19 Instruction Set Each instruction in the instruction set is a 13-bit word divided into an OP code and one or more operands. Normally, all instructions are executed within one single instruction cycle (one instruction consists of 2 oscillator periods), unless the program counter is changed by instruction "MOV R2,A", "ADD R2,A", or by instructions of arithmetic or logic operation on R2 (e.g. "SUB R2,A", "BS(C) R2,6", "CLR R2", ⋅⋅⋅⋅). In this case, the execution takes two instruction cycles. In case the instruction cycle specification is not suitable for certain applications, try to modify the instruction as follows: (A) Change one instruction cycle to consist of 4 oscillator periods. (B) The following commands are executed within two instruction cycles; "JMP", "CALL", "RET", "RETL", "RETI", including the conditional skip ("JBS", "JBC", "JZ", "JZA", "DJZ", "DJZA") instructions. In addition, instructions that are written to the program counter are executed within two instruction cycles. Case (A) is selected by the CODE Option bit, called CLK. One instruction cycle consists of two oscillator clocks if CLK is low, and four oscillator clocks if CLK is high. Note that once the 4 oscillator periods within one instruction cycle is selected as in Case (A), the internal clock source to TCC should be CLK=Fosc/4, not Fosc/2. Furthermore, the instruction set has the following features: (1) Every bit of any register can be set, cleared, or tested directly. (2) The I/O register can be regarded as general register. That is, the same instruction can operate on I/O register. The symbol "R" represents a register designator that specifies which one of the registers (including operational registers and general purpose registers) is to be utilized by the instruction. "b" represents a bit field designator that selects the value for the bit which is located in the register "R", and affects the operation. "k" represents an 8 or 10-bit constant or literal value.

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) Binary Instruction Hex Mnemonic Operation Status Affected 0 0000 0000 0000 0000 NOP No Operation None 0 0000 0000 0001 0001 DAA Decimal Adjust A C 0 0000 0000 0010 0002 CONTW A → CONT None 0 0000 0000 0011 0003 SLEP 0 → WDT, Stop oscillator T,P 0 0000 0000 0100 0004 WDTC 0 → WDT T,P 0 0000 0000 rrrr 000r IOW R A → IOCR None 0 0000 0001 0000 0010 ENI Enable Interrupt None 0 0000 0001 0001 0011 DISI Disable Interrupt None 0 0000 0001 0010 0012 RET [Top of Stack] → PC None 0 0000 0001 0011 0013 RETI [Top of Stack] → PC, Enable Interrupt None 0 0000 0001 0100 0014 CONTR CONT → A None 0 0000 0001 rrrr 001r IOR R IOCR → A None 0 0000 01rr rrrr 00rr MOV R, A A → R None 0 0000 1000 0000 0080 CLRA 0 → A Z 0 0000 11rr rrrr 00rr CLR R 0 → R Z 0 0001 00rr rrrr 01rr SUB A, R R-A → A Z,C,DC 0 0001 01rr rrrr 01rr SUB R, A R-A → R Z,C,DC 0 0001 10rr rrrr 01rr DECA R R-1 → A Z 0 0001 11rr rrrr 01rr DEC R R-1 → R Z 0 0010 00rr rrrr 02rr OR A, R A ∨ R → A Z 0 0010 01rr rrrr 02rr OR R, A A ∨ R → R Z 0 0010 10rr rrrr 02rr AND A, R A & R → A Z 0 0010 11rr rrrr 02rr AND R, A A & R → R Z 0 0011 00rr rrrr 03rr XOR A, R A ⊕ R → A Z 0 0011 01rr rrrr 03rr XOR R, A A ⊕ R → R Z 0 0011 10rr rrrr 03rr ADD A, R A + R → A Z,C,DC 0 0011 11rr rrrr 03rr ADD R, A A + R → R Z,C,DC 0 0100 00rr rrrr 04rr MOV A, R R → A Z 0 0100 01rr rrrr 04rr MOV R, R R → R Z 0 0100 10rr rrrr 04rr COMA R /R → A Z 0 0100 11rr rrrr 04rr COM R /R → R Z 0 0101 00rr rrrr 05rr INCA R R+1 → A Z 0 0101 01rr rrrr 05rr INC R R+1 → R Z 0 0101 10rr rrrr 05rr DJZA R R-1 → A, skip if zero None 0 0101 11rr rrrr 05rr DJZ R R-1 → R, skip if zero None 0 0110 00rr rrrr 06rr RRCA R R(n) → A(n-1), R(0) → C, C → A(7) C 0 0110 01rr rrrr 06rr RRC R R(n) → R(n-1), R(0) → C, C → R(7) C 0 0110 10rr rrrr 06rr RLCA R R(n) → A(n+1), R(7) → C, C → A(0) C 0 0110 11rr rrrr 06rr RLC R R(n) → R(n+1), R(7) → (C), C → (R(0) C 0 0111 00rr rrrr 07rr SWAPA R R(0-3) → ( A(4-7), R(4-7) → ( A(0-3) None 0 0111 01rr rrrr 07rr SWAP R R(0-3) → ( R(4-7) None 0 0111 10rr rrrr 07rr JZA R R+1 → A, skip if zero None 0 0111 11rr rrrr 07rr JZ R R+1 → R, skip if zero None 0 100b bbrr rrrr 0xxx BC R, b 0→ ( R(b) None 0 101b bbrr rrrr 0xxx BS R, b 1→ ( R(b) None 0 110b bbrr rrrr 0xxx JBC R, b if R(b)=0, skip None 0 111b bbrr rrrr 0xxx JBS R, b if R(b)=1, skip None 1 00kk kkkk kkkk 1kkk CALL k PC+1 → [SP], (Page, k) → (PC) None 1 01kk kkkk kkkk 1kkk JMP k (Page, k) → (PC) None

Product Specification (V1.0) 07.26.2005

• 63 (This specification is subject to change without further notice) Binary Instruction Hex Mnemonic Operation Status Affected 1 1000 kkkk kkkk 18kk MOV A, k k → A None 1 1001 kkkk kkkk 19kk OR A, k A v k → A Z 1 1010 kkkk kkkk 1Akk AND A, k A & k → A Z 1 1011 kkkk kkkk 1Bkk XOR A, k A ⊕ k → A Z 1 1100 kkkk kkkk 1Ckk RETL k k → A, [Top of Stack] → PC None 1 1101 kkkk kkkk 1Dkk SUB A, k k-A → A Z,C,DC 1 1111 kkkk kkkk 1Fkk ADD A, k k+A → A Z,C,DC 1 1110 1000 kkkk 1E8k PAGE k K->R5(6:4) None 1 1110 1001 kkkk 1E9k BANK k K->R4(7:6) None Note1: This instruction is applicable to IOC6 ~ IOCA, IMR1, IMR2 only. 5 Absolute Maximum Ratings 5.1 Absolute Maximum Ratings Items Rating Temperature under bias -40°C to 85°C Storage temperature -65°C to 150°C Input voltage -0.3V to +6.0V Output voltage -0.3V to +6.0V Operating Frequency (2clk) DC to 10MHz 5.2 Recommended Operating Conditions ( Vss = 0V ) Symbol Parameter Condition Min. Typ. Max. Unit Fc = 10MHz 4.0 VDD Supply Voltage Fc = 4MHz 2.5 5.5 V Crystal: VDD 4.5 to 5.5V 1 10 Fc Crystal: VDD 2.5 to 5.5V Two cycles with two clocks 1 4 MHz

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 6 Electrical Characteristics 6.1 DC Electrical Characteristics (Ta= 25 °C, VDD= 5.0V ± 5%, VSS= 0V) Symbol Parameter Condition Min. Typ. Max. Unit Fc XTAL: 4.5V to VDD Two cycles with two clocks 1 10 MHz ERC ERC: VDD = 5V R: 5.1KΩ, C: 100 pF 630 900 1170 kHz VIHRC Input High Threshold Voltage (Schmitt trigger ) OSCI in RC mode 2.8 4 4.5 V IRC1 Sink current VI from low to high , VI=5V 15.5 22 28.5 mA VILRC Input Low Threshold Voltage (Schmitt trigger ) OSCI in RC mode 1.3 1.8 2.7 V IRC2 Sink current VI from high to low , VI=2V 12 17 22 mA IIL Input Leakage Current for input pins VIN = VDD, VSS -1 0 1 μA VIH1 Input High Voltage (Schmitt trigger) Ports 6,7,8,9 0.7VDD VDD +0.3V V VIL1 Input Low Voltage (Schmitt trigger) Ports 6,7,8,9, -0.3V 0.3 VDD V VIHT1 Input High Threshold Voltage (Schmitt trigger) /RESET, TCC, INT 0.7 VDD VDD +0.3V V VILT1 Input Low Threshold Voltage (Schmitt trigger) /RESET, TCC, INT -0.3V 0.3 VDD V VIHX1 Clock Input High Voltage OSCI in crystal mode 0.7VDD VDD+0.3V V VILX1 Clock Input Low Voltage OSCI in crystal mode -0.3V 0.3VDD V IOH1 Output High Voltage (Ports 6, 7, 8, 9) VOH = VDD-0.4V -3.5 -5 -6.5 mA IOL1 Output Low Voltage (Port9) VOL = VSS+0.4V 3 5 7 mA IOL2 Output Low Voltage (Ports 6,Port7, Port8) VOL = VSS+0.4V 12 15 20 mA IPH Pull-high current Pull-high active, input pin at VSS -50 -75 -100 μA IPL Pull-Low current Pull-high active, input pin at VDD 50 75 100 uA ISB1 Sleep mode Power down current WDT disabled 0.8 1.5 μA ISB2 Sleep mode Power down current All input and I/O pins at VDD, output pin floating WDT enabled 6 10 μA ICC3 Idle mode Operating supply current at two clocks 1.1 1.5 mA ICC4 Normal mode Operating supply current at two clocks VDD=5V, /RESET= 'High', Fc=8MHz, CLKS="0", output pin floating, WDT enabled 3.0 3.5 mA *The typical value is based on characterization results at 25°C

Product Specification (V1.0) 07.26.2005

• 65 (This specification is subject to change without further notice) (Ta= 25 °C, VDD= 3.0V ± 5%, VSS= 0V) Symbol Parameter Condition Min. Typ. Max. Unit Fc XTAL: 2.5V to VDD Two cyclea with two clocks 1 4 MHz ERC ERC: VDD = 3V R: 5.1KΩ, C: 100 pF 600 850 1100 kHz VIHRC Input High Threshold Voltage (Schmitt trigger) OSCI in RC mode 1.6 2.3 2.8 V IRC1 Sink current VI from low to high , VI=5V 7 9.5 12 uA VILRC Input Low Threshold Voltage (Schmitt trigger) OSCI in RC mode 0.7 1 1.3 V IRC2 Sink current VI from high to low , VI=2V 6 8.5 11 uA IIL Input Leakage Current for input pins VIN = VDD, VSS -1 0 1 μA VIH1 Input High Voltage (Schmitt trigger) Ports 6,7,8,9,A 0.7VDD VDD+0.3V V VIL1 Input Low Voltage (Schmitt trigger) Ports 6,7,8,9,A -0.3V 0.3VDD V VIHT2 Input High Threshold Voltage (Schmitt trigger) /RESET, TCC 0.7 VDD VDD +0.3V V VILT2 Input Low Threshold Voltage (Schmitt trigger) /RESET, TCC -0.3V 0.3 VDD V VIHX1 Clock Input High Voltage LOSCI,OSCI in crystal mode 0.7 VDD VDD +0.3V V VILX1 Clock Input Low Voltage LOSCI,OSCI in crystal mode -0.3V 0.3 VDD V IOH1 Output High Voltage (Ports 6, 7, 8, 9) VOH = VDD-0.4V -2 -3.5 -5 mA IOL1 Output Low Voltage (Ports9) VOL = VSS+0.4V 2 3.5 5 mA IOL2 Output Low Voltage (Ports 6,Port7, Port8) VOL = VSS+0.4V 10 13 16 mA IPH Pull-high current Pull-high active, input pin at VSS -15 -23 -31 uA IPL Pull-low current Pull-low active, input pin at VDD 15 23 30 uA ISB1 Sleep mode Power down current WDT disabled 0.4 0.8 μA ISB2 Sleep mode Power down current All input and I/O pins at VDD, output pin floating WDT enabled 1.5 3 μA ICC3 Idle mode Operating supply current at two clocks 0.3 0.5 mA ICC4 Normal mode Operating supply current at two clocks VDD=3V, /RESET= 'High', Fc=4MHz, CLKS="0", output pin floating, WDT enabled 1.1 1.5 mA *The typical value is based on characterization results at 25°C

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) A/D Converter Characteristic (VDD =2.5V to 5.5V, Vss=0V, Ta = -40 to 85℃) Symbol Parameter Condition Min. Typ. Max. Unit VAREF 2.5 VDD V VASS Analog reference voltage VAREF - VASS≧2.5V Vss Vss V VAI Analog input voltage VASS VAREF V IVDD 750 850 1000 uA IAI1 Ivref Analog supply current VDD =VAREF=5.0V, VASS =0.0V (V reference from VDD) -10 0 +10 uA IVDD 500 600 820 uA IAI2 IVref Analog supply current VDD =VAREF=5.0V, VASS =0.0V (V reference from VREF) 200 250 300 uA RN Resolution VDD =VAREF=5.0V, VASS =0.0V 9 10 Bits LN Linearity error VDD = 2.5 to 5.5V Ta=25℃ 0 ±1 ±2 LSB DNL Differential nonlinear error VDD = 2.5 to 5.5V Ta=25℃ 0 ±0.5 ±0.9 LSB FSE Full scale error VDD =VAREF=5.0V, VASS =0.0V ±0 ±1 ±2 LSB OE Offset error VDD =VAREF=5.0V, VASS =0.0V ±0 ±0.5 ±1 LSB ZAI Recommended impedance of analog voltage source 0 8 10 KΩ TAD A/D clock period VDD =VAREF=5.0V, VASS =0.0V 4 us TCN A/D conversion time VDD =VAREF=5.0V, VASS =0.0V 14 14 TAD ADIV A/D input voltage range VDD =VAREF=5.0V, VASS =0.0V 0 VAREF V 0 0.2 0.3 ADOV A/D output voltage swing VDD =VAREF=5.0V, VASS =0.0V, RL=10KΩ 4.7 4.8 5 V PSR Power Supply Rejection VDD =5.0V±0.5V ±0 ±2 LSB

Product Specification (V1.0) 07.26.2005

• 67 (This specification is subject to change without further notice) 6.2 AC Electrical Characteristic (Ta=- 40°C ~ 85 °C, VDD=5V ± 5%, VSS=0V) Symbol Parameter Conditions Min Typ Max Unit Dclk Input CLK duty cycle 45 50 55 % Crystal type (high frequency) 200 DC ns Tins Instruction cycle time (CLKS="0") RC type 500 DC ns Ttcc TCC input period (Tins+20)/ N* ns Tdrh Device reset hold time Ta = 25°C 11.3 16.2 21.6 ms Trst /RESET pulse width Ta = 25°C 2000 ns Twdt Watchdog timer period Ta = 25°C 11.3 16.2 21.6 ms Tset Input pin setup time 0 ns Thold Input pin hold time 20 ns Tdelay Output pin delay time Cload=20pF 50 ns Tstup1 SDI data setup time Setup time of SDI data input to SCK↑or SCK↓ - 25 50 ns Thold1 SDI data hold time Hold time of SDI data input to SCK↓or SCK↑ - 25 50 ns Tvalid1 SDO output valid time SCK↑or SCK↓to SDO data output - 25 50 ns Tsckh SCK input high time Slave mode (Fmain=8 MHz) 200 - - ns Tsckl SCK input low time Slave mode (Fmain=8 MHz) 200 - - ns Tsetup2 Slave mode setup time /SS↓ to SCK↑or SCK↓(Fmain=8 MHz) 400 - - ns Tdelay1 Slave mode unselect delay time /SS↑ to SDO output hi-impedance delay time - 25 50 ns * N= selected prescaler ratio

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) 6.3 Timing Diagram RESET Timing (CLK="0") CLK /RESET NOP Instruction 1 Executed Tdrh TCC Input Timing (CLKS="0") CLK TCC Ttcc Tins AC Testing : Input is driven at 2.4V for logic "1",and 0.4V for logic "0".Timing measurements are made at 2.0V for logic "1",and 0.8V for logic "0". AC Test Input/Output Waveform 2.4 0.4 2.0 0.8 TEST POINTS 2.0 0.8

Product Specification (V1.0) 07.26.2005

• 69 (This specification is subject to change without further notice) APPENDIX Package Types: OTP MCU Package Type Pin Count Package Size EM78P809NP DIP 28 600 mil EM78P809NM SOP 28 300 mil EM78P809NS SSOP 28 209 mil

Product Specification (V1.0) 07.26.2005

(This specification is subject to change without further notice) CONTENTS.............................................................................................................III 1 General Description ··························································································· 1 2 Features ·············································································································· 1 2.1 CPU········································································································································ 1 2.2 Applications···························································································································· 2 3 Pin Assignment ·································································································· 3 4 Pin Description ··································································································· 3 4 Function Description·························································································· 5 4.1 Functional Block Diagram ······································································································ 5 4.2 Operating Registers ··············································································································· 6 4.3 Special Purpose Registers··································································································· 23 4.4 CPU Operation Mode··········································································································· 27 4.5 AD Converter························································································································ 29 4.6 Time Base Timer and Keytone Generator············································································ 31 4.7 UART (Universal Asynchronous Receiver/Transmitter)······················································· 33 4.8 SPI (Serial Peripheral Interface) ·························································································· 36 4.9 Timer/Counter 2 ··················································································································· 40 4.10 Timer/Counter 3 ··················································································································· 42 4.11 Timer/Counter 4 ··················································································································· 44 4.12 TCC/WDT & Prescaler ········································································································· 46 4.13 I/O Ports ······························································································································· 47 4.14 RESET and Wake-up··········································································································· 47 4.15 Interrupt································································································································ 54 4.16 Oscillator ······························································································································ 55 4.17 Code Option Register··········································································································· 58 4.18 Power-on Considerations····································································································· 59 4.19 Instruction Set ······················································································································ 61 5 Absolute Maximum Ratings ············································································ 63 5.1 Absolute Maximum Ratings ································································································· 63 5.2 Recommended Operating Conditions·················································································· 63 6 Electrical Characteristics················································································· 64 6.1 DC Electrical Characteristics································································································ 64 6.2 AC Electrical Characteristic·································································································· 67 6.3 Timing Diagram ··················································································································· 68

Product Specification (V1.0) 07.26.2005

• 71 (This specification is subject to change without further notice) APPENDIX ·············································································································· 69 Package Types:······························································································································ 69

Other Network Card Manuals