Data Sheet

EM78P372K
8-BIT
Microcontroller
Product
Specification
DOC. VERSION 1.1
ELAN MICROELECTRONICS CORP.
February 2015
Trademark Acknowledgments:
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 © 2015 by ELAN Microelectronics Corporation
All Rights Reserved
Printed in Taiwan
The contents of in this specification are subject to change without 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 to 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 out of 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 EXPRESS WRITTEN PERMISSION OF ELAN MICROELECTRONICS.
ELAN MICROELECTRONICS CORPORATION
Headquarters:
Hong Kong:
st
No. 12, Innovation 1 Road
Hsinchu Science Park
Hsinchu, TAIWAN 30076
 Tel: +886 3 563-9977
 Fax: +886 3 563-9966
[email protected]
http://www.emc.com.tw
USA:
Elan (HK) Microelectronics
Elan Information
Corporation, Ltd.
Technology Group
Flat A, 19F., World Tech Centre
(U.S.A.)
95 How Ming Street, Kwun Tong
PO Box 601
Kowloon, HONG KONG
Cupertino, CA 95015
 Tel: +852 2723-3376
U.S.A.
 Fax: +852 2723-7780
 Tel: +1 408 366-8225
 Fax: +1 408 366-8225

Shenzhen:
Shanghai:
Elan Microelectronics
Shenzhen, Ltd.
Elan Microelectronics
Shanghai, Ltd.
8A Floor, Microprofit Building
6F, Ke Yuan Building
Gaoxin South Road 6
No. 5 Bibo Road
Shenzhen Hi-Tech Industrial Park
Zhangjiang Hi-Tech Park
South Area, Shenzhen
Shanghai, CHINA 201203
CHINA 518057
 Tel: +86 21 5080-3866
 Tel: +86 755 2601-0565
 Fax: +86 21 5080-0273
 Fax: +86 755 2601-0500
 [email protected][email protected]
Contents
Contents
1
General Description ................................................................................................ 1
2
Features ................................................................................................................... 1
3
Applications ............................................................................................................. 2
4
Pin Assignment (Package) ...................................................................................... 2
5
Block Diagram ......................................................................................................... 4
6
Pin Description ........................................................................................................ 5
7
Functional Description ............................................................................................ 7
7.1
Operational Registers ....................................................................................... 7
7.1.1 R0 (Indirect Addressing Register) ....................................................................... 7
7.1.2 R1 (Timer Clock Counter) ................................................................................... 7
7.1.3 R2 (Program Counter) and Stack........................................................................ 7
7.1.4 R3 (Status Register) .......................................................................................... 10
7.1.5 R4 (RAM Select Register) ................................................................................. 10
7.1.6 Bank 0 R5~R7 (Ports 5~7 I/O Data Register) ................................................... 11
7.1.7 Bank 0 R8 (ADC Input Select Register) ............................................................ 11
7.1.8 Bank 0 R9 (ADC Control Register) ................................................................... 13
7.1.9 Bank 0 RA (ADC Offset Calibration Register) ................................................... 14
7.1.10 Bank 0 RB (Converted value AD11~AD4 of ADC) ............................................ 15
7.1.11 Bank 0 RC (Converted value AD11~AD8 of ADC) ............................................ 15
7.1.12 Bank 0 RD (Converted value AD7~AD0 of ADC) ............................................. 16
7.1.13 Bank 0 RE (Interrupt Status 2 and Wake-up Control Register 1) ..................... 16
7.1.14 Bank 0 RF (Interrupt Status Register 1) ............................................................ 18
7.1.15 Bank 1 R5 (TBHP: Table Point Register) .......................................................... 18
7.1.16 Bank 1 R6 (TBLP: Table Point Register)........................................................... 19
7.1.17 Bank 1 R7 (PWMCON: PWM Control Register) ............................................... 19
7.1.18 Bank 1 R8 (TMRCON: Timer Control Register) ................................................ 20
7.1.19 Bank 1 R9 (PRD1: PWM1 Time Period) ........................................................... 21
7.1.20 Bank 1 RA (PRD2: PWM2 Time Period) ........................................................... 21
7.1.21 Bank 1 RB (DT1: PWM1 Duty Cycle) ............................................................... 21
7.1.22 Bank 1 RC (DT2: PWM2 Duty Cycle) ............................................................... 21
7.1.23 Bank 1 RE (LVD Control and Wake-up Control Register 2) ............................... 21
7.1.24 Bank 1 RF (Mode Select and IRC Switch Register) ......................................... 22
7.1.25 R10~R1F ........................................................................................................... 24
7.2
Special Purpose Registers.............................................................................. 25
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
A (Accumulator)................................................................................................. 25
CONT (Control Register)................................................................................... 25
IOC50 ~ IOC70 (I/O Port Control Register) ...................................................... 26
IOC80 (Comparator Control Register) .............................................................. 26
IOC90 (TMR1: PWM1 Timer)............................................................................ 26
Product Specification (V1.1) 02.09.2015
 iii
Contents
7.2.6
7.2.7
7.2.8
7.2.9
7.2.10
7.2.11
7.2.12
7.2.13
7.2.14
7.2.15
7.2.16
7.2.17
7.2.18
7.3
TCC/WDT and Prescaler ............................................................................... 35
7.4
I/O Ports ......................................................................................................... 37
7.4.1
7.5
Usage of Ports 5, 7 Input Change Wake-up/Interrupt Function ........................ 39
Reset and Wake-up....................................................................................... 39
7.5.1
7.5.2
7.5.3
7.5.4
7.5.5
Reset and Wake-up Operation.......................................................................... 39
Wake-up and Interrupt Modes Operation Summary ......................................... 42
Register Initial Values after Reset ..................................................................... 44
Controller Reset Block Diagram........................................................................ 50
The T and P Status under Status Register ........................................................ 50
7.6
Interrupt .......................................................................................................... 51
7.7
Analog-to-Digital Converter (ADC) .................................................................. 53
7.7.1
7.7.2
7.7.3
7.7.4
7.7.5
7.7.6
7.8
7.9
ADC Control Register (AISR/R8, ADCON/R9, ADOC/RA) ............................... 54
ADC Data Register (ADDATA/RB, ADDATA1H/RC, ADDATA1L/RD) ............... 57
ADC Sampling Time .......................................................................................... 57
AD Conversion Time ......................................................................................... 58
ADC Operation during Sleep Mode .................................................................. 58
Programming Process/Considerations ............................................................. 59
Dual Sets of PWM (Pulse Width Modulation) .................................................. 62
7.8.1
7.8.2
7.8.3
7.8.4
7.8.5
7.8.6
Overview ........................................................................................................... 62
Increment Timer Counter (TMRX: TMR1 or TMR2) .......................................... 67
PWM Time Period (TMRX: TMR1 or TMR2)..................................................... 67
PWM Duty Cycle (DTX: DT1 or DT2; DLX: DL1 or DL2) .................................. 68
Comparator X .................................................................................................... 68
PWM Programming Process/Steps................................................................... 68
Timer .............................................................................................................. 69
7.9.1
7.9.2
7.9.3
7.9.4
7.9.5
iv 
IOCA0 (TMR2: PWM2 Timer) ........................................................................... 26
IOCB0 (Pull-down Control Register) ................................................................. 27
IOCC0 (Open-drain Control Register)............................................................... 27
IOCD0 (Pull-high Control Register)................................................................... 28
IOCE0 (WDT Control Register and Interrupt Mask Register 2) ........................ 29
IOCF0 (Interrupt Mask Register 1).................................................................... 30
IOC51 (HSCR1: High Sink Control Register 1) ................................................ 31
IOC61 (HSCR2: High Sink Control Register 2) ................................................ 31
IOC71 (HDCR1: High Driver Control Register 1).............................................. 32
IOC81 (HDCR2: High Driver Control Register 2).............................................. 32
IOC91 (DeadTCR: Dead Time Control Register) .............................................. 33
IOCA1 (DeadTR: Dead Time Register) ............................................................ 34
IOCF1 (Pull-high Control Register) ................................................................... 34
Overview ........................................................................................................... 69
Function Description ......................................................................................... 69
Programming the Related Registers ................................................................. 70
Timer Programming Process/Steps .................................................................. 70
PWM Cascade Mode ........................................................................................ 70
Product Specification (V1.1) 02.09.2015
Contents
7.10 Comparator .................................................................................................... 71
7.11 Oscillator ........................................................................................................ 74
7.11.3 External RC Oscillator Mode............................................................................. 78
7.11.4 Internal RC Oscillator Mode .............................................................................. 79
7.12 Power-on Considerations ............................................................................... 79
7.12.1 Programmable WDT Time-out Period ............................................................... 79
7.12.2 External Power-on Reset Circuit ....................................................................... 80
7.12.3 Residual Voltage Protection .............................................................................. 80
7.13 Code Option ................................................................................................... 81
7.13.1
7.13.2
7.13.3
7.13.4
7.13.5
7.13.6
Code Option Register (Word 0) ....................................................................... 81
Code Option Register (Word 1) ....................................................................... 83
Code Option Register (Word 2) ....................................................................... 84
Code Option Register (Word 3) ....................................................................... 85
Customer ID Register (Word 0x10) ................................................................... 85
Customer ID Register (Word 0x11) ................................................................... 85
7.14 Low Voltage Detector/Low Voltage Reset ....................................................... 86
7.14.1 Low Voltage Reset ............................................................................................ 86
7.14.2 Low Voltage Detector ........................................................................................ 86
7.14.3 Programming Process ...................................................................................... 88
7.15 Instruction Set ................................................................................................ 89
8
Absolute Maximum Ratings .................................................................................. 91
9
DC Electrical Characteristics ................................................................................ 91
9.1
9.2
AD Converter Characteristics ......................................................................... 93
Comparator Characteristics ............................................................................ 94
9.3
OP Characteristics .......................................................................................... 94
9.4
Vref 2V/2.5V/3V/4V Characteristics ................................................................ 95
10
AC Electrical Characteristics ................................................................................ 96
11
Timing Diagrams ................................................................................................... 97
Product Specification (V1.1) 02.09.2015
v
Contents
APPENDIX
A
Package Type ......................................................................................................... 98
B
Packaging Configuration ...................................................................................... 99
B.1 EM78P372KD14 ............................................................................................. 99
B.2 EM78P372KSO14 ........................................................................................ 100
B.3 EM78P372KSO16A ...................................................................................... 101
B.4 EM78P372KD18 ........................................................................................... 102
B.5 EM78P372KSO18 ........................................................................................ 103
B.6 EM78P372KD20 ........................................................................................... 104
B.7 EM78P372KSO20 ........................................................................................ 105
B.8 EM78P372KSS20......................................................................................... 106
B.9 EM78P372KMS10 ........................................................................................ 107
B.10 EM78P372KQN16 ........................................................................................ 108
Specification Revision History
Version
Revision Description
Date
0.1
Preliminary version
2014/06/11
1.0
Initial release version
2014/09/30
1. Modified the Pin Description
2. Modified the Program Counter Organization and the description in
1.1
Section 7.1.3.
2015/02/09
3. Deleted the Block Diagram of ADC in Section 7.1.9.
4. Modified the description about Bank 1 R6 Control Register.
vi 
Product Specification (V1.1) 02.09.2015
EM78P372K
8-bit Microcontroller
1
General Description
The EM78P372K is an 8-bit microprocessor designed and developed with low-power and high-speed
CMOS technology. The device has an on-chip 2K13-bit Electrical One Time Programmable Read Only
Memory (OTP-ROM). It provides a protection bit to prevent intrusion of user’s OTP memory code. Three
Code option bits are also available to meet user’s requirements.
With enhanced OTP-ROM features, the EM78P372K provides a convenient way of developing and verifying
user’s programs. Moreover, this OTP device offers the advantages of easy and effective program updates,
using development and programming tools. User can avail of the ELAN Writer to easily program his
development code.
2
Features




CPU configuration
2K13 bits on-chip ROM


808 bits on-chip registers (SRAM)

8-level stacks for subroutine nesting
4 programmable Level Voltage Detector

(LVD) : 4.5V, 4.0V, 3.3V, 2.2V

Three programmable Level Voltage Reset
(LVR) : 4.0V, 3.5V, 2.7V
Less than 1.5 mA at 5V/4 MHz

Typically 15 A, at 3V/32kHz

Typically 2 A, during sleep mode

I/O port configuration

Three bidirectional I/O ports: P5, P6, P7

18 I/O pins
Wake-up ports : P5, P70, P71


8 programmable pull-down I/O pins

16 programmable pull-high I/O pins

8 programmable open-drain I/O pins
14 high driver I/O pins


14 high sink I/O pins

External interrupt : P60
Operating voltage range:
2.1V~5.5V at 0C~70C (commercial)

2.3V~5.5V at -40C~85C (industrial)




8-bit real time clock/counter (TCC) with selective
signal sources, trigger edges, and overflow interrupt

8-bit multi-channel Analog-to-Digital Converter with
12-bit resolution in Vref mode

Two Pulse Width Modulation (PWM) with 8-bit
resolution.

One pair of comparator or OP
(offset voltage: smaller than 10mV)
Ten available interrupts
TCC overflow interrupt
 Input-port status changed interrupt (wake up from
sleep mode)
 External interrupt
 ADC completion interrupt
 Comparator status change interrupt
 Low voltage detect (LVD) interrupt
 PWM period match interrupt
 PWM duty match interrupt


Special Features:
Programmable free running Watchdog Timer
(4.5ms, 18ms)
 Power saving Sleep mode
 Selectable Oscillation mode
 Power-on voltage detector available (1.9V  0.2V)
 High EFT immunity (better performance at 4 MHz or
below)

Operating frequency range (based on 2 clocks):
 Crystal mode: DC ~ 16 MHz, 3.0V;
DC ~ 8 MHz, 2.5V; DC ~ 4 MHz, 2.1V
 ERC mode: DC ~ 2 MHz, 2.1V;
 IRC mode
Oscillation mode: 4 MHz, 16 MHz, 8 MHz, 1 MHz
Drift Rate
Internal RC
Frequency
Peripheral configuration

Package Type:

10-pin MSOP 118mil
:
EM78P372KMS10J/S

14-pin DIP 300mil
:
EM78P372KD14J/S

14-pin SOP 150mil
:
EM78P372KSO14J/S

16-pin SOP 150mil
:
EM78P372KSO16AJ/S
Temperature
(-40°C~85°C)
Voltage
(2.1V~5.5V)
Process
4 MHz
±2%
±1%
±1%
±4%

18-pin DIP 300mil
:
EM78P372KD18J/S
16 MHz
±2%
±1%
±1%
±4%

18-pin SOP 300mil
:
EM78P372KSO18J/S
8 MHz
±2%
±1%
±1%
±4%

20-pin DIP 300mil
:
EM78P372KD20J/S
1 MHz
±2%
±1%
±1%
±4%

20 pin SOP 300mil
:
EM78P372KSO20J/S

20 pin SSOP 209mil
:
EM78P372KSS20J/S

16-pin QFN 3×3×0.8mm
:
EM78P372KQN16S

Total
Fast set-up time requires only 0.8ms (VDD: 5V
Crystal: 4 MHz, C1/C2: 30pF) in HXT2 mode and 10s in
IRC mode (VDD: 5V, IRC: 4 MHz)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
Note: These are Green products which do not contain
hazardous substances.
1
EM78P372K
8-bit Microcontroller
3
4
2
Applications

Charger

Washing machine

Control board of an air conditioner

Toaster

Electromagnetic-stove

Coffee pot
Pin Assignment (Package)
Figure 4-1 EM78P372KD14/SO14
Figure 4-2 EM78P372KSO16A
Figure 4-3 EM78P372KD18/SO18
Figure 4-4 EM78P372KD20/SO20/SS20
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
P55/ADC6/OSCO/ERCin
P65/CIN+
P50/ADC0
P64/CO
P51/ADC1/PWM2
P61
P60//INT
P52/ADC2/PWM2A
Figure 4-5 EM78P372KMS10
Figure 4-6 EM78P372KQN16S
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
3
EM78P372K
8-bit Microcontroller
5
Block Diagram
Figure 5-1 Functional Block Diagram
4
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
6
Pin Description
Name
Input
Type
Output
Type
P50
ST
CMOS
ADC0
AN

P51
ST
CMOS
ADC1
AN

PWM2

CMOS
PWM2 output
P52
ST
CMOS
Bidirectional I/O pin with programmable
pull-down, pull-high, high-driver, high-sink
and pin change wake-up.
ADC2
AN


CMOS
Inverse PWM2 output
P53
ST
CMOS
Bidirectional I/O pin with programmable
pull-down, pull-high, high-driver, high-sink
and pin change wake-up.
ADC3
AN


CMOS
Inverse PWM1 output
P54
ST
CMOS
Bidirectional I/O pin with programmable
pull-down, pull-high, high-driver, high-sink
and pin change wake-up.
TCC
ST

Real Time Clock/Counter clock input
VREF
AN

ADC external voltage reference
P55
ST
CMOS
ADC6
AN

OSCO

ERCin
AN

P56
ST
CMOS
Bidirectional I/O pin with programmable
pull-down, pull-high, high-driver, high-sink
and pin change wake-up.
P57
ST
CMOS
Bidirectional I/O pin with programmable
pull-down, pull-high, high-driver, high-sink
and pin change wake-up.
ADC7
ST

Function
P50
P51
P52
PWM2A
P53
PWM1A
P54
P55
P56
XTAL
P57
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
Description
Bidirectional I/O pin with programmable
pull-down, pull-high and pin change
wake-up.
ADC Input 0
Bidirectional I/O pin with programmable
pull-down, pull-high, high-driver, high-sink
and pin change wake-up.
ADC Input 1
ADC Input 2
ADC Input 3
Bidirectional I/O pin with programmable
pull-down, pull-high and pin change
wake-up.
ADC Input 6
Clock output of crystal/ resonator oscillator
External RC input pin
ADC Input 7
5
EM78P372K
8-bit Microcontroller
Name
Input
Type
Output
Type
P60
ST
CMOS
/INT
ST

P61~P63
ST
CMOS
P64

CMOS
CO
ST

P65
ST
CMOS
CIN+
ST

P66
ST
CMOS
CIN-
ST

P67
ST
CMOS
ADC4
AN

PWM1

CMOS
P70
P70

Bidirectional I/O pin
ADC5
AN

ADC Input 5
OSCI
XTAL

Clock input of crystal/ resonator oscillator

CMOS
Clock output of internal RC oscillator
Clock output of external RC oscillator
(open-drain)
P71
ST
CMOS
Bidirectional I/O pin (open-drain)
/RESET
ST

System reset pin
(should be external pull-high)
Function
P60//INT
P61~P63
P64/CO
P65/CIN+
P66/CIN-
P67/ADC4/PWM1
P70/ADC5/OSCI/
RCOUT
ROCUT
P71//RESET
Bidirectional I/O pin with programmable
open-drain, pull-high, high-driver and high
sink.
External interrupt pin
Bidirectional I/O pins with programmable
open-drain, pull-high, high-driver and high
sink.
Bidirectional I/O pins with programmable
open-drain, pull-high, high-driver and high
sink.
Comparator output
Bidirectional I/O pins with programmable
open-drain, pull-high, high-driver and high
sink.
Non-inverting end of comparator
Bidirectional I/O pins with programmable
open-drain, pull-high, high-driver and high
sink.
Inverting end of comparator
Bidirectional I/O pins with programmable
open-drain, pull-high, high-driver and high
sink.
ADC Input 4
PWM1 output
VDD
VDD
Power

Power
VSS
VSS
Power

Ground
Legend: ST: Schmitt Trigger input
AN: analog pin
XTAL: oscillation pin for crystal/resonator
6
Description
CMOS: CMOS output
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7
Functional Description
7.1
Operational Registers
7.1.1 R0 (Indirect Addressing Register)
R0 is not a physically implemented register. Its major function is to perform as an
indirect address pointer. Any instruction using R0 as a pointer, actually accesses the
data pointed by the RAM Select Register (R4).
7.1.2 R1 (Timer Clock Counter)
R1 is incremented by an external signal edge, which is defined by the TE bit (CONT-4)
through the TCC pin, or by the internal clock (Fm/Fs). It is writable and readable as any
other registers. It is defined by resetting PSTE (CONT-3).
The prescaler is assigned to TCC, if the PSTE bit (CONT-3) is reset. The content of the
prescaler counter is cleared only when the TCC register is written with a value.
7.1.3 R2 (Program Counter) and Stack
Fig. 7-1 Program Counter Organization
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
7
EM78P372K
8-bit Microcontroller

R2 and hardware stacks are 11-bit wide. The structure is depicted in the Data Memory
Configuration (next page).

Generates 2K13 bits on-chip ROM addresses to the relative programming instruction
codes. One program page is 1024 words long.

The contents of R2 are all set to "0"s when a RESET condition occurs.

"JMP" instruction allows direct loading of the lower 10 program counter bits. Thus,
"JMP" allows PC to jump 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.

"LJMP" instruction allows direct loading of the program counter bits (A0 ~ A10).
11
Therefore, "LJMP" allows PC to jump to any location within 2K (2 )

"LCALL" instruction loads the program counter bits (A0 ~ A10), and then PC+1 is
pushed into the stack. Thus, the subroutine entry address can be located anywhere
11
within 2K (2 )

"RET" ("RETL k", "RETI") instruction loads the program counter with the contents of
the top of stack.

"ADD R2, A" allows a relative address to be added to the current PC, and the ninth
and above bits of the PC will increase progressively.

"MOV R2, A" allows loading of an address from the "A" register to the lower 8 bits of
the PC, and the ninth and above bits of the PC will remain unchanged.

Any instruction (except “ADD R2, A”) that is written to R2 (e.g., "MOV R2, A", "BC R2,
6",) will cause the ninth bit and the above bits (A8 ~ A10) of the PC to remain
unchanged.

All instructions are single instruction cycle (fclk/2 or fclk/4) except for the instructions
that are written to R2.
8
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Register
Register
IOC
IOC
Bank 0
Bank 1
Page 0
Page1
Address
00
R0 (Indirect Addressing
Register)
01
R1 (Timer Clock Counter)
02
R2 (Program Counter)
03
R3 (Status Register)
04
R4 (RSR,bank select)
05
R5 (Port 5 I/O data)
R5 (TBHP: Table Point
Register)
IOC50 (Port 5 I/O control)
IOC51 (HSCR1: High Sink
Control Register 1)
06
R6 (Port 6 I/O data)
R6 (TBLP: Table Point
Register)
IOC60 (Port 6 I/O control)
IOC61 (HSCR2: High Sink
Control Register 2)
07
R7 (Port 7 I/O data)
R7 (PWMCON: PWM
Control Register)
IOC70 (Port 7 I/O control)
IOC71 (HDCR1: High Driver
Control Register 1)
08
R8 (ADC Input Select
Register)
R8 (TMRCON: Timer Control
Register)
IOC80 (Comparator Control
Register)
IOC81 (HDCR2: High Driver
Control Register 2)
09
R9 (ADC Control
Register)
R9 (PRD1: PWM1 Time
Period)
IOC90 (TMR1: PWM1 Timer)
IOC91 (DeadTCR:Dead
Time Control Register)
0A
RA (ADC Offset
Calibration Register)
RA (PRD2: PWM2 Time
Period)
IOCA1 (DeadTR:Dead Time
IOCA0 (TMR2: PWM2 Timer) Register)
0B
RB (Converted value
AD11~AD4 of ADC)
RB (DT1: PWM1 Duty
Cycle)
IOCB0 (Pull-down Control
Register)
IOCB1 (Reserved)
0C
RC (Converted value
AD11~AD8 of ADC)
RC (DT2: PWM2 Duty
Cycle)
IOCC0 (Open-drain Control
Register)
IOCC1 (Reserved)
0D
RD (Converted value
AD7~AD0 of ADC)
RD ( Reserved )
IOCD0 (Pull-high Control
Register)
IOCD1 (Reserved)
0E
RE (Interrupt Status 2 and
Wake-up Control Register1)
RE (LVD Control and
Wake-up Control Register2)
0F
RF (Interrupt Status
Register 1)
RF (Mode Select and IRC
Switch Register)
IOCE0 (WDT Control
Register and Interrupt Mask
Register 2)
IOCF0 (Interrupt Mask
Register 1)
IOCE1 (Reserved)
IOCF1 (Pull-high Control
Register)
10
:
16 - Byte Commo n
R egister
1F
20
:
3F
Bank
0
32 x 8
Bank
1
32 x 8
Fig. 7-2 Data Memory Configuration
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
9
EM78P372K
8-bit Microcontroller
7.1.4 R3 (Status Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RST
IOCS
-
T
P
Z
DC
C
Bit 7 (RST): Bit of reset type
Set to “1” if wake-up from sleep on pin change, comparator status
change, External interrupt, Low Voltage Detector interrupt, or AD
conversion completed. Set to “0” if wake-up from other reset types.
Bit 6 (IOCS): Select the Segment of I/O control register
0 : Segment 0 (IOC50 ~ IOCF0) selected
1 : Segment 1 (IOC51 ~ IOCF1) selected
Bit 5:
Not used, set “0” at all the time.
Bit 4 (T):
Time-out bit. Set to “1” by the "SLEP" and "WDTC" commands or during
power on, and reset to “0” by WDT time-out (for more details see Section
6.5.2, The T and P Status under Status Register).
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 (see Section 6.5.2, The T and P
Status under Status Register for more details).
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
7.1.5 R4 (RAM Select Register)
Bit 7 (SBANK):Special Register 0X05~0X0F Bank Selection Bit.
0 : SBANK 0
1 : SBANK 1
Bit 6:
Used to select Bank 0 ~ Bank 1 of the register.
Bits 5~0:
Used to select a register (Address: 00~0F, 10~3F) in indirect addressing
mode.
10 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.1.6 Bank 0 R5~R7 (Ports 5~7 I/O Data Register)
R5~R6 and P70, P71 are I/O registers.
7.1.7 Bank 0 R8 (ADC Input Select Register)
The AISR register individually defines the I/O Port as analog input or as digital I/O.
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 (ADE7): AD converter enable bit of P57 pin
0 = Disable ADC7, P57 functions as I/O pin
1 = Enable ADC7 to function as analog input pin
Bit 6 (ADE6): AD converter enable bit of P55 pin
0 = Disable ADC6, P55 functions as I/O pin
1 = Enable ADC6 to function as analog input pin
Bit 5 (ADE5): AD converter enable bit of P70 pin
0 = Disable ADC5, P70 functions as I/O pin
1 = Enable ADC5 to function as analog input pin
Bit 4 (ADE4): AD converter enable bit of P67 pin
0 = Disable ADC4, P67 functions as I/O pin
1 = Enable ADC4 to function as analog input pin
Bit 3 (ADE3): AD converter enable bit of P53 pin
0 = Disable ADC3, P53 functions as I/O pin
1 = Enable ADC3 to function as analog input pin
Bit 2 (ADE2): AD converter enable bit of P52 pin
0 = Disable ADC2, P52 functions as I/O pin
1 = Enable ADC2 to function as analog input pin
Bit 1 (ADE1): AD converter enable bit of P51 pin
0 = Disable ADC1, P51 functions as I/O pin
1 = Enable ADC1 to function as analog input pin
Bit 0 (ADE0): AD converter enable bit of P50 pin
0 = Disable ADC0, P50 functions as I/O pin
1 = Enable ADC0 to function as analog input pin
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 11
EM78P372K
8-bit Microcontroller
NOTE
The P55/ADC6/OSCO/ERCin pin cannot be applied to OSCO and ADC6 at the same
time.
If P55/ADC6/OSCO/ERCin functions as OSCO oscillator input pin, then ADE6 bit for
R8 must be “0” and ADIS2~0 do not select “110”. The P55/ADC6/OSCO/ERCin pin
priority is as follows:
P55/ADC6/OSCO/ERCin Pin Priority
High
Medium
Low
OSCO/ERCin
ADC6
P55
The P70/ADC5/OSCI/RCOUT pin cannot be applied to OSCI and ADC5 at the same
time.
If P70/ADC5/OSCI/RCOUT acts as OSCI oscillator input pin, then ADE5 bit for R8 must
be “0” and ADIS2~0 do not select “101”. The P70/ADC5/OSCI/RCOUT pin priority is as
follows:
P70/ADC5/OSCI/RCOUT Pin Priority
High
Medium
Low
OSCI/RCOUT
ADC5
P70
The P67/ADC4/PWM1 pin cannot be applied to PWM1 and ADC4 at the same time.
If P67/ADC4/PWM1 functions as ADC4 analog input pin,
The P67/ADC4/PWM1 pin priority is as follows:
P67/ADC4/PWM1 Pin Priority
High
Medium
Low
ADC4
PWM1
P67
The P51/ADC1/PWM2 pin cannot be applied to PWM2 and ADC1 at the same time.
If P51/ADC1/PWM2 functions as ADC1 analog input pin,
The P51/ADC1/PWM2 pin priority is as follows:
P51/ADC1/PWM2 Pin Priority
High
Medium
ADC1
Low
PWM2
P51
The P50/ADC0 pin cannot be applied to and ADC0 at the same time.
If P50/ADC0 functions as ADC0 analog input pin,
The P50/ADC0 pin priority is as follows:
P50/ADC0 Pin Priority
High
Low
ADC0
12 
P50
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.1.8
Bank 0 R9 (ADC Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
Bit 7 (VREFS): The input source of Vref of the ADC
0: The Vref of the ADC is connected to internal reference voltage
(default value), and the P54/TCC/VREF pin carries out the
function of P54.
1: The Vref of the ADC is connected to P54/TCC/VREF
NOTE

The P54/TCC/VREF pin cannot be applied to TCC and VREF at the same time.
If P54/TCC/VREF functions as VREF analog input pin, then CONT Bit 5 “TS”
must be “0”.

The VREF/TCC/P54 Pin Priority is as follows:
P54/TCC/VREF Pin Priority
High
Medium
Low
VREF
TCC
P54
Bit 6 and Bit 5 (CKR1 and CKR0): The prescaler of ADC oscillator clock rate
CPUS
CKR1 : CKR0
Operation Mode
Max. Operation
Frequency
( if TAD=4µs,
match 372N )
Max. Operation
Frequency
( if TAD=1µs,
match 372N )
1
1
1
1
0
00 (default)
01
10
11

FOSC/16
FOSC/4
FOSC/64
FOSC/1
-
4 MHz
1 MHz
16 MHz
16K/128kHz
16 MHz
4 MHz
1 MHz
16K/128kHz
Bit 4 (ADRUN): ADC starts to RUN
0: Reset upon completion of the conversion. This bit cannot be reset
through software
1: AD conversion is started. This bit can be set by software
Bit 3 (ADPD):
ADC Power-down mode
0: Switch off the resistor reference to save power even while the CPU
is operating.
1: ADC is operating
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 13
EM78P372K
8-bit Microcontroller
Bits 2 ~ 0 (ADIS2 ~ ADIS0): Analog Input Select
7.1.9
ADICS
ADIS2
ADIS1
ADIS0
Analog Input Select
0
0
0
0
ADC0 / P50
0
0
0
1
ADC1 / P51
0
0
1
0
ADC2 / P52
0
0
1
1
ADC3 / P53
0
1
0
0
ADC4 / P67
0
1
0
1
ADC5 / P70
0
1
1
0
ADC6 / P55
0
1
1
1
ADC7 / P57
1
0
x
x
Internal ADC Channel
Select: OPOUT
1
1
0
0
Internal ADC Channel
Select: 1/4 VDD
1
1
0
1
Internal ADC Channel
Select: 1/2 VDD
1
1
1
0
Reserved
1
1
1
1
Reserved
Bank 0 RA (ADC Offset Calibration Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CALI
SIGN
VOF[2]
VOF[1]
VOF[0]
VREF1
VREF0
ADICS
Bit 7 (CALI):
Calibration enable bit for ADC offset
0: Disable the Calibration
1: Enable the Calibration
Bit 6 (SIGN):
Polarity bit of offset voltage
0: Negative voltage
1: Positive voltage
Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): Offset voltage bits
14 
VOF[2]
VOF[1]
VOF[0]
EM78P372K
0
0
0
0 LSB
0
0
1
2 LSB
0
1
0
4 LSB
0
1
1
6 LSB
1
0
0
8 LSB
1
0
1
10 LSB
1
1
0
12 LSB
1
1
1
14 LSB
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Bits 2 ~ 1 (VREF1 ~ VREF0): ADC internal reference voltage source.
VREFSEL in
Option Word 3 Bit
11
VREF[1]
VREF[0]
ADC Int. Ref.
Volt
0
0
0
VDD
0
0
1
4.0V ± 1%
0
1
0
3.0V ± 1%
0
1
1
2.5V ± 1%
1
0
0
VDD
1
0
1
4.0V ± 1%
1
1
0
3.0V ± 1%
1
1
1
2.0V ± 1%
If VREF[1:0]=00, internal reference does not turn on. If VREF[1:0]≠00, internal
reference will turn on automatically. Moreover, the power of internal reference is
irrelevant to power of ADC. That means one of VREF[1:0] is set, the internal reference
turns on.
If VREF[1:0]=11, internal reference will turn on by code option selected with VREF
2.0V or VREF 2.5V.
Bit 0 (ADICS):
ADC internal channel select. (Select ADC internal 1/4 VDD or OP
output pin connects to ADC input)
0 = Disable
1 = Enable
7.1.10 Bank 0 RB (Converted value AD11~AD4 of ADC)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
When AD conversion is completed, the result is loaded into the ADDATA. The ADRUN
bit is cleared and the ADIF is set.
RB is read only.
7.1.11 Bank 0 RC (Converted value AD11~AD8 of ADC)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
AD11
AD10
AD9
AD8
When AD conversion is completed, the result is loaded into the ADDATA1H. The
ADRUN bit is cleared and the ADIF is set.
RC is read only.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 15
EM78P372K
8-bit Microcontroller
7.1.12 Bank 0 RD (Converted value AD7~AD0 of ADC)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
When AD conversion is completed, the result is loaded into the ADDATA1L. The
ADRUN bit is cleared and the ADIF is set.
RD is read only
7.1.13 Bank 0 RE (Interrupt Status 2 and Wake-up Control Register 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/LVD
LVDIF
ADIF
CMP1IF
ADWE
CMPWE
ICWE
LVDWE
Note: 1. RE <5, 4> can be cleared by instruction but cannot be set.
2. IOCE0 is the interrupt mask register.
3. Reading RE will result to “Logic AND” of the RE and IOCE0.
Bit 7 (/LVD):
Low voltage Detector state. This is a read only bit. When the VDD
pin voltage is lower than LVD voltage interrupt level (selected by
LVD1 and LVD0), this bit will be cleared.
0 : Low voltage is detected
1 : Low voltage is not detected or LVD function is disabled
Bit 6 (LVDIF):
Low Voltage Detector Interrupt flag
LVDIF is reset to “0” by software.
Bit 5 (ADIF):
Interrupt flag for Analog to Digital conversion. Set when AD
conversion is completed. Reset by software.
0 : no interrupt occurs
1 : with interrupt request
Bit 4 (CMP1IF): Comparator 1 Interrupt flag. Set when a change occurs in the
Comparator 1 output. Reset by software.
0 : no interrupt occurs
1 : with interrupt request
Bit 3 (ADWE):
ADC wake-up enable bit
0 : Disable ADC wake-up
1 : Enable ADC wake-up
When AD Conversion enters sleep/idle mode, this bit must be set to
“Enable”.
16 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Bit 2 (CMPWE): Comparator wake-up enable bit
0 : Disable Comparator wake-up
1: Enable Comparator wake-up
When Comparator 1 enters sleep/idle mode, this bit must be set to
“Enable”.
Bit 1 (ICWE):
Port 5, P70, and P71 input change to wake-up status enable bit
0 : Disable Port 5, P70, P71 input change to wake-up status
1 : Enable Port 5, P70, P71 input change to wake-up status
When Port 5, P70, P71 change enters sleep/idle mode, this bit must
be set to “Enable”.
Bit 0 (LVDWE): Low Voltage Detect wake-up enable bit
0 : Disable Low Voltage Detect wake-up
1 : Enable Low Voltage Detect wake-up
When the Low Voltage Detect is used to enter an interrupt vector or to
wake-up the IC from sleep/idle with Low Voltage Detect running, the
LVDWE bit must be set to “Enable”.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 17
EM78P372K
8-bit Microcontroller
7.1.14 Bank 0 RF (Interrupt Status Register 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
P7ICIF
DT2IF
DT1IF
PWM2IF
PWM1IF
EXIF
ICIF
TCIF
Note: 1. “1” means there is an interrupt request, “0” means no interrupt occurs.
2. RF can be cleared by instruction but cannot be set.
3. IOCF0 is the interrupt mask register.
4. Reading RF will result to “Logic AND” of the RF and IOCF0.
Bit 7 (P7ICIF):
Port 7 input status change interrupt flag. Set when Port 7 input
changes. Reset by software.
Bit 6 (DT2IF):
PWM2 duty match interrupt flag. Reset by software.
Bit 5 (DT1IF):
PWM1 duty match interrupt flag. Reset by software.
Bit 4 (PWM2IF): PWM2 period match interrupt flag. Reset by software.
Bit 3 (PWM1IF): PWM1 period match interrupt flag. Reset by software.
Bit 2 (EXIF):
External interrupt flag. Set by falling edge on /INT pin. Reset by
software.
Bit 1 (ICIF):
Port 5 input status change interrupt flag. Set when Port 5 input
changes. Reset by software.
Bit 0 (TCIF):
TCC overflow interrupt flag. Set when TCC overflows. Reset by
software.
7.1.15 Bank 1 R5 (TBHP: Table Point Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
MLB
TRS
-
-
-
RBit10
RBit9
RBit8
Bit 7 (MLB): Choosing MSB or LSB machine code to be moved to the register.
The machine code is pointed by TBLP and TBHP register.
Bit 6 (TRS): Table Read Select
0: read ROM
1: read Customer ID Register
NOTE
When TRS = 1 (read Customer ID Register)
■ Can read Customer ID Register II, III (Word 0x10 or Word 0x11)
■ Cannot read Customer ID Register I (Word 2)
■ Don’t care RBit10 ~ RBit3
Bits 5~3: Not used, set to “0” at all time.
Bits 2 ~ 0: These are the most 3 significant bits of address for program code.
18 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.1.16 Bank 1 R6 (TBLP: Table Point Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RBit7
RBit6
RBit5
RBit4
RBit3
RBit2
RBit1
RBit0
Bits 7 ~ 0 (RBit7~RBit0): Table point low byte bits.
When TRS = 0 (Read ROM):
RBit7~RBit6 are the least 8 significant bits of address for program code.
When TRS = 1 (Read Customer ID Register):
RBit7
RBit6
RBit5
RBit4
RBit3
RBit2
RBit1
RBit0
Customer ID
x
x
x
x
x
0
0
0
Word 0x10
x
x
x
x
x
0
0
1
Word 0x11
x
x
x
x
x
0
1
x
Reserved
x
x
x
x
x
1
x
x
Reserved
NOTE
■ Bank 1 R6 overflow will carry to Bank 1 R5.
■ Bank 1 R6 underflow will borrow from Bank 1 R5.
7.1.17 Bank 1 R7 (PWMCON: PWM Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IPWM2E
IPWM1E
-
-
-
PWMCAS
PWM2E
PWM1E
Bit 7 (IPWM2E): Inverse PWM2 Enable bit
0: Inverse PWM2 is off (default value), and its related pin carries out the
P52 function.
1: Inverse PWM2 is on, and its related pin is automatically set to output.
Bit 6 (IPWM1E): Inverse PWM1 Enable bit
0: Inverse PWM1 is off (default value), and its related pin carries out the
P53 function.
1: Inverse PWM1 is on, and its related pin is automatically set to output.
Bits 5 ~ 3:
Not used
Bit 2 (PWMCAS): PWM Cascade Mode
0: Two Independent 8-bit PWM function (default value)
1: 16-bit PWM Mode (Cascaded from two 8-bit PWM function)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 19
EM78P372K
8-bit Microcontroller
Bit 1 (PWM2E): PWM2 Enable bit
0: PWM2 is off (default value), and its related pin carries out the P67
function.
1: PWM2 is on, and its related pin is automatically set to output.
Bit 0 (PWM1E): PWM1 Enable bit
0: PWM1 is off (default value), and its related pin carries out the P51
function.
1: PWM1 is on, and its related pin is automatically set to output.
7.1.18 Bank 1 R8 (TMRCON: Timer Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T2EN
T1EN
T2P2
T2P1
T2P0
T1P2
T1P1
T1P0
Bit 7 (T2EN): TMR2 Enable bit
0: TMR2 is off (default value)
1: TMR2 is on
Bit 6 (T1EN): TMR1 Enable bit
0: TMR1 is off (default value)
1: TMR1 is on
Bit 5 ~ Bit 3 (T2P2 ~ T2P0): TMR2 clock prescaler option bits
20 
T2P2
T2P1
T2P0
Prescaler
0
0
0
1:1 (default)
0
0
1
1:2
0
1
0
1:4
0
1
1
1:8
1
0
0
1:16
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Bit 2 ~ Bit 0 (T1P2 ~ T1P0): TMR1 clock prescaler option bits
T1P2
T1P1
T1P0
Prescaler
0
0
0
1:1 (default)
0
0
1
1:2
0
1
0
1:4
0
1
1
1:8
1
0
0
1:16
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
7.1.19 Bank 1 R9 (PRD1: PWM1 Time Period)
The content of Bank 1-R9 is the time period (time base) of PWM1. The frequency of
PWM1 is the reverse of the period.
7.1.20 Bank 1 RA (PRD2: PWM2 Time Period)
The content of Bank 1-RA is the time period (time base) of PWM2. The frequency of
PWM2 is the reverse of the period.
7.1.21 Bank 1 RB (DT1: PWM1 Duty Cycle)
A specified value keeps the output of PWM1 to remain high until the value matches with
TMR1.
7.1.22 Bank 1 RC (DT2: PWM2 Duty Cycle)
A specified value keeps the output of PWM2 to remain high until the value matches with
TMR2.
7.1.23 Bank 1 RE (LVD Control and Wake-up Control Register 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LVDIE
LVDEN
LVD1
LVD0
-
-
-
EXWE
Bit 7 (LVDIE): Low voltage Detector interrupt enable bit
0 : Disable Low voltage Detector interrupt
1 : Enable Low voltage Detector interrupt
When detect low level voltage is used to enter an interrupt vector or
enter the next instruction, the LVDIE bit must be set to “Enable”.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 21
EM78P372K
8-bit Microcontroller
Bit 6 (LVDEN): Low Voltage Detector enable bit
0 : Low voltage detector disable
1 : Low voltage detector enable
Bits 5~4 (LVD1:0): Low Voltage Detector level bits.
LVDEN
LVD1, LVD0
1
11
1
10
1
LVD Voltage Interrupt Level
/LVD
Vdd  2.2V
0
Vdd  2.2V
Vdd  3.3V
1
0
Vdd  3.3V
1
Vdd  4.0V
0
Vdd  4.0V
1
Vdd  4.5V
0
Vdd  4.5V
1
NA
1
01
1
00
0
XX
Bits 3~1: Not used, set to “0” at all time.
Bit 0 (EXWE): External /INT wake-up enable bit
0: Disable External /INT pin wake-up
1: Enable External /INT pin wake-up
7.1.24 Bank 1 RF (Mode Select and IRC Switch Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
TIMERSC
CPUS
IDLE
SHS1
SHS0
RCM1
RCM0
Bit 7: Not used. Set “0” all the time.
Bit 6 (TIMERSC): TCC, PWM1, PWM2 clock sources select 0/1  Fs/Fm*
0 : Fs: Sub-oscillator clock from WDT 16kHz ± 30% or System
hold RC 128kHz ± 30% (determined by Word 2 SFS bit)
1 : Fm: main-oscillator clock
Bit 5 (CPUS):
CPU Oscillator Source Select
0 : Sub-oscillator (Fs)
1 : Main-oscillator (Fm)
When CPUS=0, the CPU oscillator selects the sub-oscillator and
the main oscillator is stopped.
Bit 4 (IDLE):
Idle Mode Enable Bit. From SLEP instruction, this bit will determine
as to which mode to go.
0 : Idle= “0”+SLEP instruction  sleep mode
1 : Idle= “1”+SLEP instruction  idle mode
22 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Bits 3 ~ 2 (SHS1~0): Select AD sample and hold period.
SHS1
SHS0
AD Sample and Hold Period (TAD)
0
0
2
0
1
4
1
0
8
1
1
12 (default)
CPU Operation Mode
Figure 7-5 CPU Operation Mode
( *)
If the Watchdog function is enabled before going into sleep mode, some circuits like the Timer (its
clock source is Fs) must stop counting.
If the Watchdog function is enabled before going into sleep mode, some circuits like the Timer (its
clock source is an external pin) can still count and its Interrupt flag can be active at matching
conditions, as corresponding interrupt is enabled. But CPU cannot be awakened by this event.
(**)
Switching Operation Mode from Sleep  Normal, Green  Normal
If the clock source of the Timer is Fm, the Timer/Counter must stop counting at Sleep or Green
mode. Then the Timer can continue to count until the clock source is stable at Normal mode. That
the clock source is stable means that the CPU starts to work at Normal mode.
Switching Operation Mode from Sleep  Green
If the clock source of the Timer is Fs, the Timer must stop counting at Sleep mode. Then the
Timer can continue to count until the clock source is stable at Green mode. That the clock source
is stable means that the CPU starts to work at Green mode.
Switching Operation Mode from Sleep  Normal
If the clock source of the Timer is Fs, the Timer must stop counting at Sleep mode. Then the
Timer can continue to count until the clock source is stable at Normal mode. That the clock
source is stable means that the CPU starts to work at Normal mode.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 23
EM78P372K
8-bit Microcontroller
NOTE
■ Crystal MOD1 for LXT1, XT, HXT2, HXT1:
Sleep  Normal = Oscillator Stable Time + 510 clock (main frequency).
Sleep  Green = Oscillator Stable Time + 8 clock (sub frequency).
Green  Normal = Oscillator Stable Time + 510 clock (main frequency)
NOTE
■ Crystal MOD2 for LXT2 :
Sleep  Normal = Oscillator Stable Time + 254 clock (main frequency).
Sleep  Green = Oscillator Stable Time + 8 clock (sub frequency).
Green  Normal = Oscillator Stable Time + 254 clock (main frequency)
■ IRC MOD :
Sleep  Normal = Oscillator Stable Time + 8 or 32 clock (main frequency).
Sleep  Green = Oscillator Stable Time + 8 clock (sub frequency).
Green  Normal = Oscillator Stable Time + 8 clock (main frequency)
Bits 3~2: Not used, set to “0” at all time.
Bits 1~0 (RCM1: 0): IRC mode selection bits
RCM 1
RCM 0
*Frequency(MHz)
1
1
4
1
0
16
0
1
8
0
0
1
NOTE
■ Word 2<11> COBS0=0 :
Bank1 RF<1~0> of the initialized values will be kept the same as Word 1<6~5>.
Bank1 RF<1~0> cannot change
■ Word 2<11> COBS0=1 :
Bank1 RF<1~0> of the initialized values will be kept the same as Word 1<6~5>.
Bank1 RF<1~0> can change, When user wants to work on other IRC frequency.
Stable time is 8 clocks
7.1.25
R10~R1F
All of these are 8-bit general-purpose registers.
24 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.2
Special Purpose Registers
7.2.1
A (Accumulator)
Internal data transfer operation, or instruction operand holding usually involves the
temporary storage function of the Accumulator, which is not an addressable register.
7.2.2
CONT (Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INTE
INT
TS
TE
PSTE
PST2
PST1
PST0
Note: The CONT register is both readable and writable.
Bit 6 is read only.
Bit 7 (INTE):
INT signal edge
0 : Interrupt occurs at a rising edge of the INT pin
1 : Interrupt occurs at a falling edge of the INT pin
Bit 6 (INT):
Interrupt Enable flag
0 : Masked by DISI or hardware interrupt
1 : Enabled by the ENI/RETI instructions
This bit is readable only.
Bit 5 (TS):
TCC signal source
0 : Internal instruction cycle clock. If P54 is used as I/O pin
1 : Transition on the TCC pin
Bit 4 (TE):
TCC signal edge
0 : Increment if the transition from low to high takes place on the
TCC pin
1 : Increment if the transition from high to low takes place on the
TCC pin.
Bit 3 (PSTE):
Prescaler enable bit for TCC
0 = prescaler disable bit. TCC rate is 1:1.
1 = prescaler enable bit. TCC rate is set at Bit 2 ~ Bit 0.
Bit 2 ~ Bit 0 (PST2 ~ PST0): TCC prescaler bits
PST2
PST1
PST0
TCC Rate
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1
1
1
1:256
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 25
EM78P372K
8-bit Microcontroller
Note:
1
FT
TCC Timeout period 


 256  TCC cnt  1 ,
where FT  Fm or Fs , decide by BANK1 RF TIMERSC bit.
7.2.3
IOC50 ~ IOC70 (I/O Port Control Register)
"0" defines the relative I/O pin as output
"1" sets the relative I/O pin into high impedance
7.2.4
IOC80 (Comparator Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
–
–
CMPOUT
COS1
COS0
–
–
–
Note: Bits 4~0 of the IOC80 register are both readable and writable.
Bit 5 of the IOC80 register is read only.
Bit 7 and Bit 6: Not used
Bit 5 (CMPOUT): Result of the comparator output. This bit is readable only.
Bit 4 and Bit 3 (COS1 and COS0): Comparator/OP Select bits
COS1
COS0
Function Description
0
0
Comparator and OP are not used. P64, P65, and P66 are normal I/O pins
0
1
P65 and P66 are Comparator input pins and P64 is a normal I/O pin
1
0
1
1
P65 and P66 are Comparator input pins and P64 is a Comparator output
pin (CO)
Used as OP and P64 is OP output pin (CO)
Bits 2~0: Not used.
26 
7.2.5
IOC90 (TMR1: PWM1 Timer)
7.2.6
IOCA0 (TMR2: PWM2 Timer)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.2.7
IOCB0 (Pull-down Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PD57
/PD56
/PD55
/PD54
/PD53
/PD52
/PD51
/PD50
The IOCB0 register is both readable and writable.
Bit 7 (/PD57): Control bit used to enable internal pull-down of the P57 pin.
0 : Enable internal pull-down
1 : Disable internal pull-down
Bit 6 (/PD56): Control bit used to enable internal pull-down of the P56 pin.
Bit 5 (/PD55): Control bit used to enable internal pull-down
of the P55 pin.
Bit 4 (/PD54): Control bit used to enable internal pull-down of the P54 pin.
Bit 3 (/PD53): Control bit used to enable internal pull-down of the P53 pin.
Bit 2 (/PD52): Control bit used to enable internal pull-down of the P52 pin.
Bit 1 (/PD51): Control bit used to enable internal pull-down of the P51 pin.
Bit 0 (/PD50): Control bit used to enable internal pull-down of the P50 pin.
7.2.8
IOCC0 (Open-drain Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
OD67
OD66
OD65
OD64
OD63
OD62
OD61
OD60
The IOCC0 register is both readable and writable.
Bit 7 (OD67): Control bit used to enable open-drain output of the P67 pin.
0 : Disable open-drain output
1 : Enable open-drain output
Bit 6 (OD66): Control bit used to enable open-drain output of the P66 pin.
Bit 5 (OD65): Control bit used to enable open-drain output of the P65 pin.
Bit 4 (OD64): Control bit used to enable open-drain output of the P64 pin.
Bit 3 (OD63): Control bit used to enable open-drain output of the P63 pin.
Bit 2 (OD62): Control bit used to enable open-drain output of the P62 pin.
Bit 1 (OD61): Control bit used to enable open-drain output of the P61 pin.
Bit 0 (OD60): Control bit used to enable open-drain output of the P60 pin.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 27
EM78P372K
8-bit Microcontroller
7.2.9
IOCD0 (Pull-high Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PH57
/PH56
/PH55
/PH54
/PH53
/PH52
/PH51
/PH50
The IOCD0 register is both readable and writable.
Bit 7 (/PH57): Control bit used to enable internal pull-high of the P57 pin.
0 = Enable internal pull-high
1 = Disable internal pull-high
Bit 6 (/PH56): Control bit used to enable internal pull-high of the P56 pin.
Bit 5 (/PH55): Control bit used to enable internal pull-high of the P55 pin.
Bit 4 (/PH54): Control bit used to enable internal pull-high of the P54 pin.
Bit 3 (/PH53): Control bit used to enable internal pull-high of the P53 pin.
Bit 2 (/PH52): Control bit used to enable internal pull-high of the P52 pin.
Bit 1 (/PH51): Control bit used to enable internal pull-high of the P51 pin.
Bit 0 (/PH50): Control bit used to enable internal pull-high of the P50 pin.
28 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.2.10 IOCE0 (WDT Control Register and Interrupt Mask Register 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WDTE
EIS
ADIE
CMPIE
PSWE
PSW2
PSW1
PSW0
Bit 7 (WDTE): Control bit used to enable Watchdog Timer
0 : Disable WDT
1 : Enable WDT
WDTE is both readable and writable.
Bit 6 (EIS):
Control bit used to define the function of the P60 (/INT) pin
0 : P60, bidirectional I/O pin
1 : /INT, external interrupt pin. In this case, the I/O control bit of P60
(Bit 0 of IOC60) must be set to "1".
NOTE
■ When EIS is "0", the path of /INT is masked. When EIS is "1", the status of the /INT
pin can also be read by way of reading Port 6 (R6).
■ EIS is both readable and writable.
Bit 5 (ADIE):
ADIF interrupt enable bit
0 : disable ADIF interrupt
1 : enable ADIF interrupt
Bit 4 (CMPIE): CMPIF interrupt enable bit.
0 : disable CMPIF interrupt
1 : enable CMPIF interrupt
Bit 3 (PSWE): Prescaler enable bit for WDT
0 : prescaler disable bit, WDT rate is 1:1
1 : prescaler enable bit, WDT rate is set as Bit 2 ~ Bit 0
Bit 2 ~ Bit 0 (PSW2 ~ PSW0): WDT prescaler bits
PSW2
PSW1
PSW0
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.1) 02.09.2015
(This specification is subject to change without prior notice)
WDT Rate
 29
EM78P372K
8-bit Microcontroller
7.2.11 IOCF0 (Interrupt Mask Register 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
P7ICIE
DT2IE
DT1IE
PWM2IE
PWM1IE
EXIE
ICIE
TCIE
Note: The IOCF0 register is both readable and writable.
Individual interrupt is enabled by setting to “1” its associated control bit in the IOCF0 and
in IOCEO Bits 4 and 5.
Global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction.
Bit 7 (P7ICIE):
P7ICIF interrupt enable bit
0 : Disable ICIF interrupt
1 : Enable ICIF interrupt
Bit 6 (DT2IE):
DT2IE interrupt enable bit
0 : Disable DT2IF interrupt
1 : Enable DT2IF interrupt
Bit 5 (DT1IE):
DT1IE interrupt enable bit
0 : Disable DT1IF interrupt
1 : Enable DT1IF interrupt
Bit 4 (PWM2IE): PWM2IE interrupt enable bit
0 : Disable PWM2IF interrupt
1 : Enable PWM2IF interrupt
Bit 3 (PWM1IE): PWM1IE interrupt enable bit
0 : Disable PWM1IF interrupt
1 : Enable PWM1IF interrupt
Bit 2 (EXIE):
EXIF interrupt enable bit
0 : Disable EXIF interrupt
1 : Enable EXIF interrupt
Bit 1 (ICIE):
ICIF interrupt enable bit
0 : Disable ICIF interrupt
1 : Enable ICIF interrupt
Bit 0 (TCIE):
TCIF interrupt enable bit.
0 : Disable TCIF interrupt
1 : Enable TCIF interrupt
30 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.2.12 IOC51 (HSCR1: High Sink Control Register 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HS57
HS56
-
HS54
HS53
HS52
HS51
-
Bit 7 (HS57): Output High Sink Current Select for P57
Bit 6 (HS56): Output High Sink Current Select for P56
Bit 5: Not used
Bit 4 (HS54): Output High Sink Current Select for P54
Bit 3 (HS53): Output High Sink Current Select for P53
Bit 2 (HS52): Output High Sink Current Select for P52
Bit 1 (HS51): Output High Sink Current Select for P51
Bit 0: Not used
HDxx
VDD = 5V, Sink Current
0
10 mA (in 0.1VDD)
1
25 mA (in 0.1VDD)
7.2.13 IOC61 (HSCR2: High Sink Control Register 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HS67
HS66
HS65
HS64
HS63
HS62
HS61
HS60
Bit 7 (HS67): Output High Sink Current Select for P67
Bit 6 (HS66): Output High Sink Current Select for P66
Bit 5 (HS65): Output High Sink Current Select for P65.
Bit 4 (HS64): Output High Sink Current Select for P64
Bit 3 (HS63): Output High Sink Current Select for P63
Bit 2 (HS62): Output High Sink Current Select for P62
Bit 1 (HS61): Output High Sink Current Select for P61
Bit 0 (HS60): Output High Sink Current Select for P60
HDxx
VDD = 5V, Sink Current
0
10 mA (in 0.1VDD)
1
25 mA (in 0.1VDD)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 31
EM78P372K
8-bit Microcontroller
7.2.14 IOC71 (HDCR1: High Driver Control Register 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HD57
HD56
-
HD54
HD53
HD52
HD51
-
Bit 7 (HD57): Output High Driver Current Select for P57
Bit 6 (HD56): Output High Driver Current Select for P56
Bit 5: Not used
Bit 4 (HD54): Output High Driver Current Select for P54
Bit 3 (HD53): Output High Driver Current Select for P53
Bit 2 (HD52): Output High Driver Current Select for P52
Bit 1 (HD51): Output High Driver Current Select for P51
Bit 0:
Not used
HDxx
VDD = 5V, Drive Current
0
3.7 mA (in 0.9VDD)
1
10 mA (in 0.9VDD)
7.2.15 IOC81 (HDCR2: High Driver Control Register 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HD67
HD66
HD65
HD64
HD63
HD62
HD61
HD60
Bit 7 (HD67): Output High Driver Current Select for P67
Bit 6 (HD66): Output High Driver Current Select for P66
Bit 5 (HD65): Output High Driver Current Select for P65
Bit 4 (HD64): Output High Driver Current Select for P64
Bit 3 (HD63): Output High Driver Current Select for P63
Bit 2 (HD62): Output High Driver Current Select for P62
Bit 1 (HD61): Output High Driver Current Select for P61
Bit 0 (HD60): Output High Driver Current Select for P60
32 
HDxx
VDD = 5V, Driver Current
0
3.7 mA (in 0.9VDD)
1
10 mA (in 0.9VDD)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.2.16 IOC91 (DeadTCR: Dead Time Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IPWM2A
IPWM1A
PWM2A
PWM1A
DEADT2E
DEADT1E
DEADTP1
DEADTP0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
Bit 7 (IPWM2A): Active level of inverse PWM2
0: period-duty-dead time is Logic 1 (default)
1: period-duty-dead time is Logic 0
Bit 6 (IPWM1A): Active level of inverse PWM1
0: period-duty-dead time is Logic 1 (default)
1: period-duty-dead time is Logic 0
Bit 5 (PWM2A): Active level of PWM2
0: duty-dead time is Logic 1 (default)
1: duty-dead time is Logic 0
Bit 4 (PWM1A): Active level of PWM1
0: duty-dead time is Logic 1 (default)
1: duty-dead time is Logic 0
Bit 3 (DEADT2E): Enable dead-time function for PWM2 and /PWM2 (for dual PWM)
0: Disable (default)
1: Enable
Bit 2 (DEADT1E): Enable dead-time function for PWM1 and /PWM1 (for dual PWM)
0: Disable (default)
1: Enable
Bits 1~0 (DEADTP1~DEADTP0): Dead-time prescaler
DEADTP1
DEADTP0
Prescale
0
0
1:1 (default)
0
1
1:2
1
0
1:4
1
1
1:8
NOTE
The dead time function is only for dual PWM. If used in single PWM function
(not dual PWM), the dead time function is always disabled.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 33
EM78P372K
8-bit Microcontroller
7.2.17 IOCA1 (DeadTR: Dead Time Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DEADTR7
DEADTR6
DEADTR5
DEADTR4
DEADTR3
DEADTR2
DEADTR1
DEADTR0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
Bits 7~0 (DEADTR7~0): The content of the register is dead-time.
7.2.18 IOCF1 (Pull-high Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PH67
/PH66
/PH65
/PH64
/PH63
/PH62
/PH61
/PH60
Note: The IOCD0 register is both readable and writable.
Bit 7 (/PH67): Control bit used to enable pull-high of the P67 pin.
0 = Enable internal pull-high
1 = Disable internal pull-high
Bit 6 (/PH66): Control bit used to enable internal pull-high of the P66 pin.
Bit 5 (/PH65): Control bit used to enable internal pull-high of the P65 pin.
Bit 4 (/PH64): Control bit used to enable internal pull-high of the P64 pin.
Bit 3 (/PH63): Control bit used to enable internal pull-high of the P63 pin.
Bit 2 (/PH62): Control bit used to enable internal pull-high of the P62 pin.
Bit 1 (/PH61): Control bit used to enable internal pull-high of the P61 pin.
Bit 0 (/PH60): Control bit used to enable internal pull-high of the P60 pin.
34 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.3
TCC/WDT and Prescaler
There are two 8-bit counters available as prescalers for the TCC and WDT respectively.
The PST2 ~ PST0 bits of the CONT register are used to determine the ratio of the TCC
prescaler, and the PSW2 ~ PSW0 bits of the IOCE0 register are used to determine the
prescaler of WDT. The prescaler counter is cleared by the instructions each time such
instructions are written into TCC. The WDT and prescaler will be cleared by the
“WDTC” and “SLEP” instructions. Figure 7-3 depicts the block diagram of TCC/WDT.
TCC (R1) is an 8-bit timer/counter. The TCC clock source can be an internal clock
(Fm/Fs) or external signal input (edge selectable from the TCC pin). If TCC signal
source is from the internal clock (Fm/Fs), TCC will increase by 1 at every Fm clock or
Fs clock (without prescaler), decide by BANK1 RF TIMERSC bit. If TCC signal source
is from an external clock input, TCC will increase by 1 at every falling edge or rising
edge of the TCC pin. The TCC pin input time length (kept in High or Low level) must be
greater than Fm clock or Fs clock, determined by Bank 1 RF CPUS bit.
NOTE
The internal TCC will stop running when in sleep mode. However, during AD
conversion, when TCC is set to “SLEP” instruction, if the ADWE bit of the RE register is
enabled, the TCC will keep on running.
The watchdog timer is a free running on-chip RC oscillator. The WDT will keep on
running even when the oscillator driver has been turned off (i.e., in sleep mode). During
normal operation or in sleep mode, a WDT time-out (if enabled) will cause the device to
reset. The WDT can be enabled or disabled any time during normal mode through
software programming. With no prescaler, the WDT time-out period is approximately
1
2
18ms or 4.5ms .
1
2
VDD=5V, WDT time-out period = 16.5ms ± 30%
VDD=3V, WDT time-out period = 18ms ± 30%
VDD=5V, WDT time-out period = 4.2ms ± 30%
VDD=3V, WDT time-out period = 4.5ms ± 30%
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 35
EM78P372K
8-bit Microcontroller
Figure 7-6 TCC and WDT Block Diagram
36 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.4
I/O Ports
The I/O registers (Port 5, Port 6, and Port 7) are bidirectional tri-state I/O ports. Port 5 is
pulled-high and pulled-down internally by software. Likewise, P6 has its open-drain
output set through software. Port 5 features an input status changed interrupt (or
wake-up) function. Each I/O pin can be defined as "input" or "output" pin by the I/O
control register (IOC5 ~ IOC7). The I/O registers and I/O control registers are both
readable and writable. The I/O interface circuits for Port 5, Port 6, and Port 7 are
illustrated in Figures 7-7, 7-8, 7-9, and 7-10.
PCRD
Q
PO R T
P
R
D
_
C LK
Q
C
L
Q
P
R
PC W R
IO D
D
_
C LK
Q
C
L
PDW R
PD R D
0
1
M
U
X
Note: Pull-high and Open-drain are not shown in the figure.
Figure 7-7 I/O Port and I/O Control Register Circuit for Port 6 and Port 7
PCRD
P
Q R D
_ CLK
Q C
L
Q P
R D
_ CLK
Q C
L
PORT
Bit 6 of IOCE0
P
R Q
CLK _
C Q
L
D
PCWR
IOD
PDWR
0
1
M
U
X
PDRD
INT
Note: Pull-high and Open-drain are not shown in the figure.
Figure 7-8 I/O Port and I/O Control Register Circuit for P60 (/INT)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 37
EM78P372K
8-bit Microcontroller
PCRD
Q
P
R
D
_
CLK
Q
C
L
PCWR
P50 ~ P57
Q
PORT
0
P
R
D
_
CLK
Q
C
L
IOD
PDWR
M
U
X
1
PDRD
TI n
D
P
R
CLK
C
L
Q
_
Q
Note: Pull-high (down) and Open-drain are not shown in the figure.
Figure 7-9 I/O Port and I/O Control Register Circuit for Ports 50~57
I O C F.1
R F.1
TI 0
TI 1
….
TI 8
Figure 7-10 Port 5 Input Change Interrupt / Wake-up Block Diagram
38 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.4.1 Usage of Ports 5, 7 Input Change Wake-up/Interrupt Function
(1) Wake-up
(2) Wake-up and Interrupt
(a) Before Sleep
(a) Before Sleep
1. Disable WDT
1. Disable WDT
2-1. Read I/O Port 5 (MOV R5,R5)
2-1. Read I/O Port 5 (MOV R5,R5)
2-2. Read I/O Port 7 (MOV R7,R7)
2-2. Read I/O Port 7 (MOV R7,R7)
3. Execute "ENI" or "DISI"
3. Execute "ENI" or "DISI"
4. Enable wake-up bit (Set RE ICWE =1)
4. Enable wake-up bit (Set RE
ICWE =1)
5. Execute "SLEP" instruction
5. Enable interrupt (Set IOCF ICIE =1)
(b) After wake-up
6. Execute "SLEP" instruction
 Next instruction
(b) After wake-up
1. IF "ENI"  Interrupt vector (008H)
2. IF "DISI"  Next instruction
(3) Interrupt
(a) Before Port 5,7 pin change
1-1. Read I/O Port 5 (MOV R5,R5)
1-2. Read I/O Port 7 (MOV R7,R7)
2. Execute "ENI" or "DISI"
3. Enable interrupt (Set IOCF ICIE =1)
(b) After Port 5,7 pin changed (interrupt)
1. IF "ENI"  Interrupt vector (006H)
2. IF "DISI"  Next instruction
7.5
Reset and Wake-up
7.5.1 Reset and Wake-up Operation
A reset is initiated by one of the following events:
1. Power-on reset
2. /RESET pin input "low"
3. WDT time-out (if enabled)
3
The device is kept in reset condition for a period of approximately 18ms (except in LXT
mode) after the reset is detected. When in LXT2 mode, the reset time is 500ms. Two
3
4
choices (18ms or 4.5ms ) are available for WDT-time out period. Once a reset occurs,
the following functions are performed (the initial Address is 000h):
3
4

The oscillator continues running, or will be started (if in sleep mode).

The Program Counter (R2) is set to all "0".
VDD=5V, Setup time period = 16.5ms ± 30%
VDD=3V, Setup time period = 18ms ± 30%
VDD=5V, Setup time period = 4.2ms ± 30%
VDD=3V, Setup time period = 4.5ms ± 30%
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 39
EM78P372K
8-bit Microcontroller

All I/O port pins are configured as input mode (high-impedance state)

The Watchdog Timer and prescaler are cleared

When power is switched on, the upper three bits of R3 is cleared

The IOCB0 register bits are set to all "1"

The IOCC0 register bits are set to all "0"

The IOCD0 register bits are set to all "1"

Bits 7, 5, and 4 of the IOCE0 register are cleared

Bits 5 and 4 of the RE register are cleared

RF and IOCF0 registers are cleared
Executing the “SLEP” instruction will assert the sleep (power down) mode (When
IDLE=“0”.). While entering into sleep mode, the Oscillator, TCC, TMR1 and TMR2 are
stopped. The WDT (if enabled) is cleared but keeps on running.
During AD conversion, when “SLEP” instruction is set; the Oscillator, TMR1 and TMR2
keep on running. The WDT (if enabled) is cleared but keeps on running.
The controller can be awakened by:
Case 1
External reset input on /RESET pin
Case 2
WDT time-out (if enabled)
Case 3
Port 5, P70, P71 input status changes (if ICWE is enabled)
Case 4
Comparator output status changes (if CMPWE is enabled)
Case 5
AD conversion completed (if ADWE is enabled)
Case 6 Low Voltage Detector (if LVDWE is enabled)
The first two cases (1 and 2) will cause the EM78P372K to reset. The T and P flags of
R3 can be used to determine the source of the reset (wake-up). Cases 3, 4, 5 and 6 are
considered the continuation of program execution and the global interrupt ("ENI" or
"DISI" being executed) determines whether or not the controller branches to the
interrupt vector following wake-up. If ENI is executed before SLEP, the instruction will
begin to execute from Address 0x06 (Case 3), 00F (Case 4), 0x0C (Case 5) and 021
(Case 6) after wake-up. If DISI is executed before SLEP, the execution will restart from
the instruction next to SLEP after wake-up.
Only one of Cases 2 to 6 can be enabled before entering into sleep mode. That is:
Case [a] If WDT is enabled before SLEP, all of the RE bit is disabled. Hence, the
EM78P372K can be awakened only with Case 1 or Case 2. Refer to the
section on Interrupt (Section 6.6) for further details.
Case [b] If Port 5, P70, P71 Input Status Change is used to wake up the EM78P372K
and the ICWE bit of the RE register is enabled before SLEP, and WDT must
be disabled. Hence, the EM78P372K can be awakened only with Case 3.
Wake-up time is dependent on the oscillator mode. In RC mode, Wake-up
time is 10s (for stable oscillators). In HXT2 (4MHz) mode, Wake-up time is
800s (for stable oscillators), and in LXT2 mode, Wake-up time is 2 ~ 3s.
40 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Case [c] If the Comparator output status change is used to wake-up the EM78P372K
and the CMPWE bit of the RE register is enabled before SLEP, WDT must be
disabled by software. Hence, the EM78P372K can be awakened only with
Case 4. Wake-up time is dependent on the oscillator mode. In RC mode,
Wake-up time is 10s (for stable oscillators). In HXT2 (4MHz) mode,
Wake-up time is 800s (for stable oscillators), and in LXT2 mode, Wake-up
time is 2s ~ 3s.
Case [d] If completed AD conversion is used to wake-up the EM78P372K and ADWE
bit of RE register is enabled before SLEP, WDT must be disabled by
software. Hence, the EM78P372K can be awakened only with Case 5. The
wake-up time is 15 TAD (ADC clock period).
Case[e] If Low voltage detector is used to wake-up the EM78P372K and the LVDWE
bit of Bank 0-RE register is enabled before SLEP, WDT must be disabled by
software. Hence, the EM78P372K can be awakened only with Case 6.
Wake-up time is dependent on oscillator mode.
If Port 5, P70, P71 Input Status Change Interrupt is used to wake up the EM78P372K
(as in Case [b] above), the following instructions must be executed before
SLEP:
BC
MOV
IOW
WDTC
MOV
MOV
ENI (or DISI)
MOV
MOV
MOV
IOW
SLEP
R3, 6
A, @00xx1110b
IOCE0
R5, R5
R7, R7
A, @xxxxxx1xb
RE
A, @1xxxxx1xb
IOCF0
; Select Segment 0
; Select WDT prescaler and Disable WDT
;
;
;
;
;
Clear WDT and prescaler
Read Port 5
Read Port 7
Enable (or disable) global interrupt
Enable Port 5,7 input change wake-up bit
; Enable Port 5,7 input change interrupt
; Sleep
Similarly, if the Comparator Interrupt is used to wake up the EM78P372K (as in Case [c]
above), the following instructions must be executed before SLEP:
BC
MOV
R3, 6
A, @xxx10XXXb
IOW
MOV
IOC80
A, @00x11110b
IOW
WDTC
ENI (or DISI)
MOV
IOCE0
MOV
SLEP
RE
A, @xxx0x1xxb
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
; Select Segment 0
; Select a comparator and P64 functions as
; CO pin
; Select WDT prescaler and Disable WDT,
; and enable comparator output status
; change interrupt
;
;
;
;
Clear WDT and prescaler
Enable (or disable) global interrupt
Enable comparator output status change
wake-up bit
; Sleep
 41
EM78P372K
8-bit Microcontroller
7.5.2 Wake-up and Interrupt Modes Operation Summary
The controller can be awakened from sleep mode and idle mode. The wake-up signals are
listed as follows.
Wake-up
Signal
Condition
Signal
Sleep Mode
DISI
ENI
Idle Mode
DISI
ENI
Green Mode
DISI
ENI
Normal Mode
DISI
ENI
EXWE = 0,
EXIE = 0
Wake-up is invalid
Wake-up is invalid
Interrupt is invalid
Interrupt is invalid
EXWE = 0,
EXIE = 1
External INT
EXWE = 1,
EXIE = 0
EXWE = 1,
EXIE = 1
ICWE = 0,
ICIE = 0,
P7ICIE = 0
Port 5, P70,
P71 pin
change
ICWE = 0,
ICIE = 1,
P7ICIE = 1
ICWE = 1,
ICIE = 0,
P7ICIE = 0
ICWE = 1,
ICIE = 1,
P7ICIE = 1
Wake-up is invalid
Wake-up is invalid
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Wake-up is invalid
Wake-up is invalid.
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
wake-up is invalid.
TCIE = 1
ADWE = 0,
ADIE = 0
ADWE = 0,
ADIE = 1
AD
Conversion
complete
ADWE = 1,
ADIE = 0
ADWE = 1,
ADIE = 1
42 
Wake-up is invalid
Wake up
+
Next
Instruction
Interrupt is invalid
Next
Instruction
Next
Instruction
Wake-up is invalid
Wake-up is invalid
Interrupt
+
Interrupt
Vector
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Wake-up is invalid
TCIE = 0
TCC Overflow
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid.
Wake up
+
Interrupt
Vector
Wake-up is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid.
Next
Instruction
Wake-up is invalid
Wake-up is invalid
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid.
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid.
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Wake-up
Signal
Condition
Signal
Sleep Mode
DISI
ENI
Idle Mode
DISI
ENI
Green Mode
DISI
ENI
Normal Mode
DISI
ENI
CMPWE = 0,
CMPIE = 0
Wake-up is invalid
Wake-up is invalid
Interrupt is invalid
Interrupt is invalid
CMPWE = 0,
CMPIE = 1
Comparator
Interrupt
Wake-up is invalid
Wake up
+
Next Instruction
Wake up
Wake up
CMPWE = 1,
+
+
Next
Interrupt
CMPIE = 1
Instruction
Vector
CMPWE = 1,
CMPIE = 0
Wake-up is invalid
PWM1IE = 1
PWM2IE = 0
PWM2 period
match interrupt
Wake-up is invalid
PWM2IE = 1
Wake-up is invalid
DT1IE = 1
DT2IE = 1
LVDWE = 0,
LVDIE = 1
Low Voltage
Detector
LVWE = 1,
LVDIE = 0
LVDWE = 1,
LVDIE = 1
WDT Timeout
Low voltage
reset
WDTE = 1
Wake up
+
Next
Instruction
Wake up
+
Interrupt
Vector
Wake up
+
Next
Instruction
Wake up
+
Interrupt
Vector
wake-up is invalid
Wake-up is invalid
LVDWE = 0,
LVDIE = 0
Wake up
+
Interrupt
Vector
Wake-up is invalid
DT2IE = 0
PWM2 duty
match interrupt
Wake up
+
Next
Instruction
Wake-up is invalid
DT1IE = 0
PWM1 duty
match interrupt
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
wake-up is invalid
PWM1IE = 0
PWM1 period
match interrupt
Wake-up is invalid
Wake-up is invalid
Wake up
+
Next
Instruction
Wake up
+
Interrupt
Vector
Wake-up is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
Wake-up is invalid
Wake-up is invalid
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Wake up
+
Next Instruction
Wake up
Wake up
+
+
Next
Interrupt
Instruction
Vector
Wake up + Reset
Wake up + Reset
Reset
Reset
Wake up + Reset
Wake up + Reset
Reset
Reset
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
Interrupt is invalid
Next
Instruction
Interrupt
+
Interrupt
Vector
Interrupt is invalid
Interrupt
Next
+
Instruction Interrupt
Vector
 43
EM78P372K
8-bit Microcontroller
7.5.3 Register Initial Values after Reset
The following summarizes the initialized values for registers.
Address
N/A
N/A
N/A
N/A
Name
IOC50
IOC60
IOC70
IOC80
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit Name
C57
C56
C55
C54
C53
C52
C51
C50
Power-on
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
C67
C66
C65
C64
C63
C62
C61
C60
Power-on
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name






C71
C70
Power-on
0
0
0
0
0
0
1
1
/RESET and WDT
0
0
0
0
0
0
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name


CMPOUT
COS1
COS0



Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
N/A
IOC90
(TMR1)
0
0
0
0
0
0
0
1
/RESET and WDT
0
0
0
0
0
0
0
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
N/A
N/A
44 
IOCA0
(TMR2)
IOCB0
(PDCR)
TMR1[7] TMR1[6] TMR1[5] TMR1[4] TMR1[3] TMR1[2] TMR1[1] TMR1[0]
Power-on
TMR2[7] TMR2[6] TMR2[5] TMR2[4] TMR2[3] TMR2[2] TMR2[1] TMR2[0]
Power-on
0
0
0
0
0
0
0
1
/RESET and WDT
0
0
0
0
0
0
0
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
/PD57
/PD56
/PD55
/PD54
/PD53
/PD52
/PD51
/PD50
Power-on
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Address
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Name
IOCC0
(ODCR)
IOCD0
(PHCR1)
IOCE0
IOCF0
IOC51
(HSCR1)
IOC61
(HSCR2)
IOC71
(HDCR1)
IOC81
(HDCR2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit Name
Reset Type
OD67
OD66
OD65
OD64
OD63
OD62
OD61
OD60
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
/PH57
/PH56
/PH55
/PH54
/PH53
/PH52
/PH51
/PH50
Power-on
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
WDTE
EIS
ADIE
CMPIE
PSWE
PSW2
PSW1
PSW0
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
P7ICIE
DT2IE
DT1IE
EXIE
ICIE
TCIE
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
HS57
HS56

HS54
HS53
HS52
HS51

Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
HS67
HS66
HS65
HS64
HS63
HS62
HS61
HS60
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
HD57
HD56

HD54
HD53
HD52
HD51

Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
HD67
HD66
HD65
HD64
HD63
HD62
HD61
HD60
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
IPWM2A IPWM1A PWM2A PWM1A DEADT2E DEADT1E DEADTP1 DEADTP0
Power-on
N/A
PWM2IE PWM1IE
IOC91
(DeadTCR) /RESET and WDT
Wake-up from Pin
Change
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 45
EM78P372K
8-bit Microcontroller
Address
Name
Reset Type
Bit Name
N/A
N/A
N/A
000
001
46 
IOCA1
(DeadTR)
IOCF1
(PHCR2)
CONT
R0 (IAR)
R1 (TCC)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DEADTR7 DEADTR6 DEADTR5 DEADTR4 DEADTR3 DEADTR2 DEADTR1 DEADTR0
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
/PH67
/PH66
/PH65
/PH64
/PH63
/PH62
/PH61
/PH60
Power-on
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
INTE
INT
TS
TE
PSTE
PST2
PST1
PST0
Power-on
1
0
1
1
0
0
0
0
/RESET and WDT
1
0
1
1
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
–
–
–
–
–
–
–
–
Power-on
U
U
U
U
U
U
U
U
/RESET and WDT
P
P
P
P
P
P
P
P
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
–
–
–
–
–
–
–
–
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Address
002
Name
R2 (PC)
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit Name
–
–
–
–
–
–
–
–
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
003
004
005
006
07
08
09
0A
R3 (SR)
R4 (RSR)
R5
R6
R7
R8
(AISR)
R9
(ADCON)
RA
(ADOC)
Jump to Address 0x06 or continue to execute next instruction
Bit Name
RST
IOCS
–
T
P
Z
DC
C
Power-on
0
0
0
1
1
U
U
U
/RESET and WDT
0
0
0
T
t
P
P
P
Wake-up from Pin
Change
1
P
P
T
t
P
P
P
Bit Name
SBANK
BS0
–
–
–
–
–
–
Power-on
0
0
U
U
U
U
U
U
/RESET and WDT
0
0
P
P
P
P
P
P
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
P57
P56
P55
P54
P53
P52
P51
P50
Power-on
1
1
1
1
1
1
1
1
/RESET and WDT
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
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
1
1
1
1
1
1
1
1
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name






P71
P70
Power-on
0
0
0
0
0
0
1
1
/RESET and WDT
0
0
0
0
0
0
1
1
Wake-up from Pin
Change
P
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
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
CALI
SIGN
VOF[2]
VOF[1]
VOF[0]
VREF1
VREF0
ADICS
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 47
EM78P372K
8-bit Microcontroller
Address
0B
0C
0D
0E
0F
005
006
Name
RB
(ADDATA)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit Name
Reset Type
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
Power-on
U
U
U
U
U
U
U
U
/RESET and WDT
U
U
U
U
U
U
U
U
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name




AD11
AD10
AD9
AD8
Power-on
0
0
0
0
U
U
U
U
0
0
0
0
U
U
U
U
P
P
P
P
P
P
P
P
Bit Name
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
Power-on
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
P
P
P
P
P
P
P
P
Bit Name
/LVD
LVDIF
ADIF
CMPIF
ADWE
CMPWE
ICWE
LVDWE
Power-on
1
0
0
0
0
0
0
0
/RESET and WDT
1
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
P7ICIF
DT2IF
DT1IF
EXIF
ICIF
TCIF
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
MLB
TRS


RBit11
RBit10
RBit9
RBit8
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
RBit7
RBit6
RBit5
RBit4
RBit3
RBit2
RBit1
RBit0
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P



RC
/RESET and WDT
(ADDATA1H)
Wake-up from Pin
Change
RD
/RESET and WDT
(ADDATA1L)
Wake-up from Pin
Change
RE
(ISR2)
RF
(ISR1)
BANK1 R5
BANK1 R6
Bit Name
007
48 
BANK1 R7
(PWMCON)
IPWM2E IPWM1E
PWM2IF PWM1IF
PWMCAS PWM2E PWM1E
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Address
008
Name
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit Name
T2EN
T1EN
T2P2
T2P1
T2P0
T1P2
T1P1
T1P0
Power-on
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
BANK1 R8
(TMRCON) /RESET and WDT
Wake-up from Pin
Change
Bit Name
009
Power-on
BANK1 R9
/RESET and WDT
(PRD1)
Wake-up from Pin
Change
Bit Name
00A
00B
00C
00E
0F
PWM1[7] PWM1[6] PWM1[5] PWM1[4] PWM1[3] PWM1[2] PWM1[1] PWM1[0]
BANK 1
RA
(PRD2)
BANK 1
RB
(DT1)
BANK 1
RC
(DT2)
BANK 1
RE
BANK 1
RF
0x10~0x3F R10~R3F
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
PWM2[7] PWM2[6] PWM2[5] PWM2[4] PWM2[3] PWM2[2] PWM2[1] PWM2[0]
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
DT1[7]
DT1[6]
DT1[5]
DT1[4]
DT1[3]
DT1[2]
DT1[1]
DT1[0]
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
DT2[7]
DT2[6]
DT2[5]
DT2[4]
DT2[3]
DT2[2]
DT2[1]
DT2[0]
Power-on
0
0
0
0
0
0
0
0
/RESET and WDT
0
0
0
0
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
LVDIE
LVDEN
LVD1
LVD0



EXWE
Power-on
0
0
1
1
0
0
0
0
/RESET and WDT
0
0
1
1
0
0
0
0
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
-
TIMERSC
CPUS
IDLE
SHS1
SHS0
RCM1
RCM0
Power-on
0
1
1
0
1
1
WORD1
<6~5>
/RESET and WDT
0
1
1
0
1
1
WORD1
<6~5>
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Bit Name
–
–
–
–
–
–
–
–
Power-on
U
U
U
U
U
U
U
U
/RESET and WDT
P
P
P
P
P
P
P
P
Wake-up from Pin
Change
P
P
P
P
P
P
P
P
Legend: “” = not used
“u” = unknown or don’t care
“P” = previous value before reset
“t” = check “Reset Type” Table in Section 6.5.2
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 49
EM78P372K
8-bit Microcontroller
7.5.4 Controller Reset Block Diagram
VDD
D
Oscillator
Q
CLK
CLK
CLR
Power-on Reset
Voltage
Detector
ENWDTB
WDT Timeout
Reset
Setup time
WDT
/RESET
Figure 7-11 Controller Reset Block Diagram
7.5.5 The T and P Status under Status Register
A reset condition is initiated by one of the following events:
1. Power-on reset
2. /RESET pin input "low"
3. WDT time-out (if enabled)
The values of T and P as listed in the table below, are used to check how the processor
wakes up.
Reset Type
RST
T
P
Power-on
/RESET during Operating mode
0
0
1
*P
1
*P
/RESET wake-up during Sleep mode
0
1
0
LVR during Operating mode
0
*P
*P
LVR wake-up during Sleep mode
0
1
0
WDT during Operating mode
0
0
1
WDT wake-up during Sleep mode
0
0
0
Wake-up on pin change during Sleep mode
1
1
0
*P: Previous status before reset
The following shows the events that may affect the status of T and P.
Event
RST
T
P
0
*P
1
1
1
1
WDT time-out
0
0
*P
SLEP instruction
*P
1
0
Wake-up on pin changed during Sleep mode
1
1
0
Power-on
WDTC instruction
*P: Previous value before reset
50 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.6
Interrupt
The EM78P372K has seven interrupts enumerated below:
1. PWM1~2 period match and duty cycle match interrupt
2. Port 5, P70, P71 Input Status Change Interrupt
3. External interrupt [(P60, /INT) pin]
4. Analog to Digital conversion completed
5. PWM1, 2 underflow interrupt
6. When the comparators status changes
7. Low voltage detector interrupt
Before the Port 5, P70, P71 Input Status Change Interrupt is enabled, reading Port 5,
P70, P71 (e.g. "MOV R5, R5" and "MOV R7, R7") is necessary. Each Port 5, P70, P71
pin will have this feature if its status changes. The Port 5, P70, P71 Input Status Change
Interrupt will wake up the EM78P372K from sleep mode if it is enabled prior to going into
sleep mode by executing SLEP instruction. When wake up occurs, the controller will
continue to execute program in-line if the global interrupt is disabled. If enabled, the
global interrupt will branch out to the Interrupt Vector 006H.
External interrupt equipped with digital noise rejection circuit (input pulse less than
system clock time) is eliminated as noise. However, under Low Crystal oscillator (LXT)
mode the noise rejection circuit will be disabled. Edge selection is possible with INTE of
CONT. When an interrupt is generated by the External interrupt (when enabled), the
next instruction will be fetched from Address 003H. Refer to Word 1 Bits 9 and 8,
Section 6.14.2, Code Option Register (Word 1) for digital noise rejection definition.
RF and RE are the interrupt status register that records the interrupt requests in the
relative flags/bits. IOCF0 and IOCE0 are Interrupt mask registers. The global interrupt
is enabled by the ENI instruction and is disabled by the DISI instruction. Once in the
interrupt service routine, the source of an interrupt can be determined by polling the flag
bits in RF. The interrupt flag bit must be cleared by instructions before leaving the
interrupt service routine to avoid recursive interrupts.
When interrupt mask bits is “Enable”, the flag in the Interrupt Status Register (RF) is set
regardless of the ENI execution. Note that the result of RF will be the Logic AND of RF
and IOCF0 (refer to the figure below). The RETI instruction ends the interrupt routine
and enables the global interrupt (the ENI execution).
When an interrupt is generated by the Timer clock/counter (when enabled), the next
instruction will be fetched from Address 009, 012, 015, 018 and 01BH (PWM1~2 period
match and duty match respectively).
When an interrupt generated by AD conversion is completed (when enabled), the next
instruction will be fetched from Address 00CH.
When an interrupt is generated by the Comparators (when enabled), the next
instruction will be fetched from Address 00FH (Comparator interrupt).
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 51
EM78P372K
8-bit Microcontroller
When an interrupt is generated by the Low Voltage Detect (when enabled), the next
instruction will be fetched from Address 021H (Low Voltage Detector interrupt).
Before an interrupt subroutine is executed, the contents of ACC and the R3 and R4
registers are saved first by the hardware. If another interrupt occurs, the ACC, R3, and
R4 will be replaced by the new interrupt. After an interrupt service routine is completed,
the ACC, R3, and R4 registers are restored.
VCC
D
/IRQn
P
R
CLK
C
L
Q
IRQn
INT
_
Q
IRQm
RFRD
RF
ENI/DISI
Q
IOCF
_
Q
P
R
C
L
IOD
D
CLK
IOCFWR
/RESET
IOCFRD
RFWR
Interrupt sources
ACC
Interrupt
occurs
Stack ACC
ENI/DISI
R3 (7~5, 2~0)
RETI
R4 (6~0)
Stack R3
Stack R4
Figure 7-12 Interrupt Back-up Diagram
52 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
In EM78P372K, each individual interrupt source has its own interrupt vector as
depicted in the table below.
Interrupt Vector
Priority *
Interrupt Status
003H
External interrupt
2
006H
Port 5, P70, P71 pin change
3
009H
TCC overflow interrupt
4
00CH
AD conversion complete interrupt
5
00FH
Comparator interrupt
6
012H
PWM1 period match interrupt
7
015H
PWM2 period match interrupt
8
018H
PWM1 duty match interrupt
9
01BH
PWM2 duty match interrupt
10
021H
Low Voltage Detector interrupt
1
Note: *Priority: 1 = highest ; 11 = lowest priority
7.7
Analog-to-Digital Converter (ADC)
The analog-to-digital circuitry consists of an 8-bit analog multiplexer; three control
registers (AISR/R8, ADCON/R9, and ADOC/RA), three data registers (ADDATA1/RB,
ADDATA1H/RC, and ADDATA1L/RD) and an ADC with 12-bit resolution as shown in
the functional block diagram below. The analog reference voltage (Vref) and the analog
ground are connected via separate input pins. Connecting to an external VREF is more
accurate than connecting to an internal VDD.
The ADC module utilizes successive approximation to convert the unknown analog
signal into a digital value. The result is fed to the ADDATA, ADDATA1H, and
ADDATA1L. Input channels are selected by the analog input multiplexer via the
ADCON register Bits ADIS1 and ADIS0.
ADC7
Vref
8-1 Analog Switch
ADC6
ADC5
ADC4
ADC3
ADC2
ADC1
ADC0
Power-Down
ADC
( successive approximation )
Start to Convert
Fsco
4-1
MUX
Internal RC
7 ~ 0
AISR
2
1
0
ADCON
6
3
5
ADCON
RF
11 10
9
8
ADDATA1H
7
6
5
4
3
2
ADDATA1L
1
4
0
3
ADCON
DATA BUS
Figure 7-13 Analog-to-Digital Conversion Functional Block Diagram
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 53
EM78P372K
8-bit Microcontroller
7.7.1
ADC Control Register (AISR/R8, ADCON/R9, ADOC/RA)
7.7.1.1 R8 (AISR: ADC Input Select Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
The AISR register individually defines the P5, P6 and P7 pins as analog inputs or as
digital I/O.
Bit 7 (ADE7):
AD converter enable bit of P57 pin
0 : Disable ADC7, P57 functions as I/O pin
1 : Enable ADC7 to function as analog input pin
Bit 6 (ADE6):
AD converter enable bit of P55 pin
0 : Disable ADC6, P55 functions as I/O pin
1 : Enable ADC6 to function as analog input pin
Bit 5 (ADE5):
AD converter enable bit of P70 pin
0 : Disable ADC5, P70 functions as I/O pin
1 : Enable ADC5 to function as analog input pin
Bit 4 (ADE4):
AD converter enable bit of P67 pin
0 : Disable ADC4, P67 functions as I/O pin
1 : Enable ADC4 to function as analog input pin
Bit 3 (ADE3):
AD converter enable bit of P53 pin
0 : Disable ADC3, P53 functions as I/O pin
1 : Enable ADC3 to function as analog input pin
Bit 2 (ADE2):
AD converter enable bit of P52 pin
0 : Disable ADC2, P52 functions as I/O pin
1 : Enable ADC2 to function as analog input pin
Bit 1 (ADE1):
AD converter enable bit of P51 pin
0 : Disable ADC1, P51 acts as I/O pin
1 : Enable ADC1 acts as analog input pin
Bit 0 (ADE0):
AD converter enable bit of P50 pin
0 : Disable ADC0, P50 functions as I/O pin
1 : Enable ADC0 to function as analog input pin
54 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.7.1.2 R9 (ADCON: ADC Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
The ADCON register controls the operation of the AD conversion and determines
which pin should be currently active.
Bit 7 (VREFS): The input source of the ADC Vref
0 : The Vref of the ADC is connected to internal reference voltage
(default value), and the
P54/TCC/VREF pin carries out the function of P54.
1 : The Vref of the ADC is connected to P54/TCC/VREF
NOTE
The P54/TCC/VREF pin cannot be applied to TCC and VREF at the same time. If
P54/TCC/VREF functions as VREF analog input pin, then CONT Bit 5 (TS) must be “0”.
The P54/TCC/VREF pin priority is as follows:
P54/TCC/VREF Pin Priority
High
Medium
Low
VREF
TCC
P54
Bit 6 ~ Bit 5 (CKR1 ~ CKR0): The prescaler of ADC oscillator clock rate
CPUS
CKR1 :
CKR0
Operation
Mode
Max. Operation Freq.
( if TAD=4us, match
372N )
Max. Operation Freq.
( if TAD=1us, match
372N )
1
1
1
1
0
00 (default)
01
10
11

FOSC/16
FOSC/4
FOSC/64
FOSC/1
–
4 MHz
1 MHz
16 MHz
–
16K/128kHz
16 MHz
4 MHz
–
1 MHz
16K/128kHz
Bit 4 (ADRUN): ADC starts to RUN
0: Reset upon completion of the conversion. This bit cannot be reset
though software.
1: AD conversion is started. This bit can be set by software.
Bit 3 (ADPD):
ADC Power-down mode
0: Switch off the resistor reference to conserve power even while the
CPU is operating
1: ADC is operating
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 55
EM78P372K
8-bit Microcontroller
Bits 2 ~ 0 (ADIS2 ~ ADIS0): Analog Input Select
ADICS
ADIS2
ADIS1
ADIS0
Analog Input
Select
0
0
0
0
ADIN0/P50
0
0
0
1
ADIN1/P51
0
0
1
0
ADIN2/P52
0
0
1
1
ADIN3/P53
0
1
0
0
ADIN4/P67
0
1
0
1
ADIN5/P70
0
1
1
0
ADIN6/P55
0
1
1
1
ADIN7/P57
1
0
X
X
OPOUT
1
1
0
0
Internal ADC
Channel Select:
1/4 VDD
1
1
0
1
Internal ADC
Channel Select:
1/2 VDD
1
1
1
0
Reserved
1
1
1
1
Reserved
7.7.1.3 RA (ADOC: AD Offset Calibration Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CALI
SIGN
VOF[2]
VOF[1]
VOF[0]
VREF1
VREF0
ADICS
Bit 7 (CALI): Calibration enable bit for ADC offset
0 = Disable the Calibration
1 = Enable the Calibration
Bit 6 (SIGN): Polarity bit of offset voltage
0 = Negative voltage
1 = Positive voltage
Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): Offset voltage bits
56 
VOF[2]
VOF[1]
VOF[0]
EM78P372K
0
0
0
0 LSB
0
0
1
2 LSB
0
1
0
4 LSB
0
1
1
6 LSB
1
0
0
8 LSB
1
1
0
1
1
0
10 LSB
12 LSB
1
1
1
14 LSB
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Bits 2 ~ 1 (VREF1~0): ADC internal reference voltage source.
VREFSEL
in Option Word 3 bit
11
VREF1
VREF0
ADC Int. Ref.
Volt.
0
0
0
VDD
0
0
1
4.0V ± 1%
0
1
0
3.0V ± 1%
0
1
1
2.5V ± 1%
1
0
0
VDD
1
0
1
4.0V ± 1%
1
1
0
3.0V ± 1%
1
1
1
2.0V ± 1%
1 = Positive voltage
Bit 0 (ADICS): ADC internal channel select. (Select ADC internal 1/4 VDD or OP
output pin connects to ADC input)
0 = disable
1 = enable
7.7.1.4 Bank 1 RF (IRC switch Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
TIMERSC
CPUS
IDLE
SHS1
SHS0
RCM1
RCM0
Bits 3 ~ 2 (SHS1~0): Select AD sample and Hold period
SHS1
SHS0
AD sample and Hold period (TAD)
0
0
2
0
1
4
1
0
8
1
1
12 (default)
7.7.2
ADC Data Register (ADDATA/RB, ADDATA1H/RC,
ADDATA1L/RD)
When the AD conversion is completed, the result is loaded to the ADDATA, ADDATA1H
and ADDATA1L registers. The ADRUN bit is cleared, and the ADIF is set.
7.7.3
ADC Sampling Time
The accuracy, linearity, and speed of the successive approximation of the AD converter
are dependent on the properties of the ADC and the comparator. 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
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 57
EM78P372K
8-bit Microcontroller
low-impedance source. The maximum recommended impedance for analog source is
10K at Vdd=5V. After the analog input channel is selected, this acquisition time must
be done before the conversion is started.
7.7.4
AD Conversion Time
CKR1 and CKR0 select the conversion time (Tct), in terms of instruction cycles. This
allows the MCU to run at the maximum frequency without sacrificing the AD conversion
accuracy. For the EM78P372K, the conversion time per bit is about 1s. The table
below shows the relationship between Tct and the maximum operating frequencies.
TAD = 1µs
CPUS
CKR1 : CKR0
1
1
1
1
0
00 (default)
01
10
11

Operation Max. Operation Max. Conversion
Mode
Frequency
Rate/Bit
FOSC/16
FOSC/4
FOSC/64
FOSC/1
16 MHz
4 MHz
1 MHz
16K/128kHz
1 MHz (1µs)
1 MHz (1µs)
1 MHz (1µs)
Max. Conversion Rate
16*1µs=16µs (62.5kHz)
16*1µs=16µs (62.5kHz)
16*1µs=16µs (62.5kHz)
TAD = 4µs
CPUS
Max. Conversion
CKR1 : CKR0 Operation Max. Operation
Mode
Frequency
Rate/Bit
00 (default)
01
10
11

1
1
1
1
0
FOSC/16
FOSC/4
FOSC/64
FOSC/1
4 MHz
1 MHz
16 MHz
16K/128kHz
250kHz (4µs)
250kHz (4µs)
250kHz (4µs)
-
Max. Conversion Rate
16*4µs=64µs (15.625kHz)
16*4µs=64µs (15.625kHz)
16*4µs=64µs (15.625kHz)
-
NOTE
■ Pin not used as an analog input pin can be used as regular input or output pin.
■ During conversion, do not perform output instruction to maintain precision for all of
the pins.
7.7.5
ADC Operation during Sleep Mode
In order to obtain a more accurate ADC value and reduce power consumption, the AD
conversion remains operational during sleep mode. As the SLEP instruction is
executed, all the MCU operations will stop except for the Oscillator, TCC, and AD
conversion.
The AD Conversion is considered completed as determined by:
1. The ADRUN bit of the R9 register is cleared to “0”.
2. The ADIF bit of the RE register is set to “1”.
3. The ADWE bit of the RE register is set to “1”. Wakes up from ADC conversion
(where it remains in operation during sleep mode).
58 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
4. Wake up and execution of the next instruction if the ADIE bit of the IOCE0 is
enabled and the “DISI” instruction is executed.
5. Wake up and enters into Interrupt vector (Address 0x00C) if the ADIE bit of the
IOCE0 is enabled and the “ENI” instruction is executed.
6. Enters into an Interrupt vector (Address 0x00C) if the ADIE bit of the IOCE0 is
enabled and the “ENI” instruction is executed.
The results are fed into the ADDATA, ADDATA1H, and ADDATA1L registers when the
conversion is completed. If the ADIE is enabled, the device will wake up. Otherwise, the
AD conversion will be shut off, no matter what the status of the ADPD bit is.
7.7.6
Programming Process/Considerations
7.7.6.1 Programming Process
Follow these steps to obtain data from the ADC:
1. Write to the eight bits (ADE7: ADE0) on the R8 (AISR) register to define the
characteristics of R5 (digital I/O, analog channels, or voltage reference pin)
2. Write to the R9/ADCON register to configure the AD module:
a) Select the ADC input channel ( ADIS2 : ADIS0 )
b) Define the AD conversion clock rate ( CKR1 : CKR0 )
c) Select the VREFS input source of the ADC
d) Set the ADPD bit to 1 to begin sampling
3. Set the ADWE bit, if the wake-up function is employed
4. Set the ADIE bit, if the interrupt function is employed
5. Write “ENI” instruction, if the interrupt function is employed
6. Set the ADRUN bit to “1”
7. Write “SLEP” instruction or Polling.
8. Wait for wake-up or for the ADRUN bit to be cleared to “0” , interrupt flag (ADIF) is
set “1” or ADC interrupt occurs.
9. Read the ADDATA or ADDATA1H and ADDATA1L conversion data registers. If the
ADC input channel changes at this time, the ADDATA, ADDATA1H, and
ADDATA1L values can be cleared to ‘0’.
10. Clear the interrupt flag bit (ADIF).
11. For next conversion, go to Step 1 or Step 2 as required. At least two Tct is required
before the next acquisition starts.
NOTE
In order to obtain accurate values, it is necessary to avoid any data transition on I/O
pins during AD conversion
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 59
EM78P372K
8-bit Microcontroller
7.7.6.2 Sample Demo Programs
R_0 == 0
PSW == 3
PORT5 == 5
PORT6 == 6
RE== 0XE
; Indirect addressing register
; Status register
; Interrupt status register
B. Define a Control Register
IOC50 == 0X5
IOC60 == 0X6
IOCE0== 0XE
C_INT== 0XF
;
;
;
;
Control Register of Port 5
Control Register of Port 6
Interrupt Mask Register 2
Interrupt Mask Register
C. ADC Control Register
ADDATA == 0xB
AISR == 0x08
ADCON == 0x9
; The contents are the results of ADC
; ADC input select register
; 7
6
5
4
3
2
1
0
; VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0
D. Define Bits in ADCON
ADRUN == 0x4
ADPD == 0x3
; ADC is executed as the bit is set
; Power Mode of ADC
E. Program Starts
ORG 0
JMP INITIAL
; Initial address
;
ORG 0x0C
; Interrupt vector
JMP CLRRE
;
;(User program section)
;
CLRRE:
MOV A,RE
AND A, @0BXX0XXXXX ; To clear the ADIF bit, “X” by application
MOV RE,A
BS ADCON, ADRUN
; To start to execute the next AD conversion
; if necessary
RETI
INITIAL:
MOV A,@0B00000001
; To define P50 as an analog input
MOV AISR,A
MOV A,@0B00001000
; To select P50 as an analog input channel, and
AD power on
MOV ADCON,A
; To define P50 as an input pin and set clock
rate at fosc/16
En_ADC:
MOV A, @0BXXXXXXX1 ; To define P50 as an input pin, and the others
; are dependent on applications
IOW PORT5
60 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
MOV A, @0BXXXX1XXX ;
;
MOV RE,A
MOV A, @0BXX1XXXXX ;
;
IOW IOCE0
ENI
;
BS ADCON, ADRUN
Enable the ADWE wake-up function of ADC, “X”
by application
Enable the ADIE interrupt function of ADC,
“X” by application
Enable the interrupt function
; Start to run the ADC
; If the interrupt function is employed, the following three lines
may be ignored
; If Sleep:
SLEP
;
; (User program section)
;
or
; If Polling:
POLLING:
JBC ADCON, ADRUN
; To check the ADRUN bit continuously;
JMP POLLING
; ADRUN bit will be reset as the AD conversion
; is completed
;
; (User program section)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 61
EM78P372K
8-bit Microcontroller
7.8
7.8.1
Dual Sets of PWM (Pulse Width Modulation)
Overview
In PWM mode, PWM1 and PWM2 pins produce to 8-bit resolution PWM output (see.
the functional block diagram below). A PWM output consists of a time period and a duty
cycle, and it keeps the output high. The baud rate of PWM is the inverse of the time
period. Fig 6-13 ~ Fig 6-16 (PWM Output Timing) depicts the relationships between a
time period and a duty cycle.
Figure 7-14 PWM System Block Diagram
62 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
PWM and /PWM (inverted PWM) can be used individually or used as dual PWM. When
used individually, the definitions of active level between PWM and /PWM are somewhat
different.
For example, set period and duty cycle (period > duty), PWMXE=1/0 and
IPWMXE=0/1, PWMXA = 1/0, /PWMXA=1/0, and finally set TXEN = 1. The following
figures show PWM output timing according to different PWMXA and /PWMXA settings.
PWMX
PWMXE=1 &
IPWMXE=0
/PWMX
PWMXE=0 &
IPWMXE=1
Duty
Period-duty
Period
Figure 7-15 PWM Output Timing (PWMXA=0 and /PWMXA=0)
PWMX
PWMXE=1 &
IPWMXE=0
/PWMX
PWMXE=0 &
IPWMXE=1
Duty
Period-duty
Period
Figure 7-16 PWM Output Timing (PWMXA=0 and /PWMXA=1)
PWMX
PWMXE=1 &
IPWMXE=0
/PWMX
PWMXE=0 &
IPWMXE=1
Duty
Period-duty
Period
Figure 7-17 PWM Output Timing (PWMXA=1 and /PWMXA=0)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 63
EM78P372K
8-bit Microcontroller
PWMX
PWMXE=1 &
IPWMXE=0
/PWMX
PWMXE=0 &
IPWMXE=1
Duty
Period-duty
Period
Figure 7-18 PWM Output Timing (PWMXA=1 and /PWMXA=1)
7.8.1.1 Dual PWM function
It is consists of a complementary PWM (i.e. PWMX and /PWMX), one outputs PWM
signal and the other outputs inverted PWM signal, It can output any pulse width signal
you want by programming relative control registers.
The dead time mode is supported. It means that the complementary PWM signals can
be controlled to get a time interval that the complementary PWM signals won’t be
intersected.
The following Figures 6-17 ~ 6-18 show the dual PWM output waveform.
Disable dead time control (DEADTXE = 0). Set period and duty cycle (period > duty).
Set PWMXE & IPWMXE =1, PWMXA = 0/1, IPWMXA = 0/1, and finally set TXEN = 1.
Figure 7-19 Dual PWMX Output Waveform (DEADTXE = 0)
Set dead time > 0 (set dead time prescaler if required). Enable dead time control
( DEADTXE = 1). Set period and duty cycle (period > duty). Set PWMXE and IPWMXE
=1, PWMXA = 0, IPWMXA = 0, and finally set TXEN = 1. For loading new duty, period,
and dead time value at run time, follow the subsection “PWM Programming
Process/Steps” to see the descriptions.
64 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Figure 7-20 Dual PWMX output waveform (DEADTXE = 1, Dead Time > 0)
The following figures show PWM output timing according to different PWMXA and
/PWMXA settings.
Figure 7-21 Dual PWMX output waveform (PWMXA = 0, IPWMXA=0, Dead Time = 0)
Figure 7-22 Dual PWMX output waveform (PWMXA = 0, IPWMXA=0, Dead Time > 0)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 65
EM78P372K
8-bit Microcontroller
Figure 7-23 Dual PWMX output waveform (PWMXA = 1, IPWMXA=0, Dead Time > 0)
PWMX
duty
Period-duty
Dead time
/PWMX
Dead time
Figure 7-24 Dual PWMX output waveform (PWMXA = 0, IPWMXA=1, Dead Time > 0)
Figure 7-25 Dual PWMX output waveform (PWMXA = 1, IPWMXA=1, Dead Time > 0)
66 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.8.2
Increment Timer Counter (TMRX: TMR1 or TMR2)
TMRX are 8-bit clock counters with programmable prescalers. They are designed for
the PWM module as baud rate clock generators. If employed, they can be turned off for
power saving purposes by setting the T1EN bit [BANK1-R8<6>] or T2EN bit
[BANK1-R8<7>] to “0”.
TMR1 and TMR2 are internal designs and cannot be read
7.8.3
PWM Time Period (TMRX: TMR1 or TMR2)
PPWM Time Period (PRDX: PRD1 or PRD2) The PWM time period is defined by
writing to the PRDX register. When TMRX is equal to PRDX, the following events
occur on the next increment cycle:
1) TMR is cleared
2) The PWMX pin is set to “1”
3) The PWM duty cycle is latched from DT1/DT2 to DL1/DL2
NOTE
The PWM output will not be set, if the duty cycle is “0”.
4) The PWMXIF pin is set to “1”
The following formula describes how to calculate the PWM time period:
 1 
Period  PRDX  1  
  TMRX prescale value 
 FOSC 
Example:
PRDX=49; Fosc=4 MHz; TMRX (0, 0, 0) = 1:1,
then
 1 
Period  49  1  
  1  12.5 µS
 4M 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 67
EM78P372K
8-bit Microcontroller
7.8.4
PWM Duty Cycle (DTX: DT1 or DT2; DLX: DL1 or DL2)
The PWM duty cycle is defined by writing to the DTX register, and is latched from DTX
to DLX while TMRX is cleared. When DLX is equal to TMRX, the PWMX pin is cleared.
DTX can be loaded anytime. However, it cannot be latched into DLX until the current
value of DLX is equal to TMRX.
The following formula describes how to calculate the PWM duty cycle:
 1
Duty Cycle  DTX   
 FOSC

  TMRX prescale value




Example:
DTX=10; Fosc=4 MHz; TMRX (0, 0, 0) = 1:1,
then
7.8.5
 1 
Duty Cycle  10  
  1  2.5 µS
 4M 
Comparator X
Changing the output status while a match occurs will simultaneously set the PWMXIF
(TMRXIF) flag.
7.8.6
PWM Programming Process/Steps
Load PRDX with the PWM time period.
1. Load DTX with the PWM Duty Cycle.
2. Enable interrupt function by writing IOCF0, if required.
3. Set PWMX pin to be output by writing a desired value to Bank 1-R7.
4. Load a desired value to BANK1-R8 with TMRX prescaler value and enable both
PWMx and TMRX
68 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.9
Timer
7.9.1
Overview
Timer 1 (TMR1) and Timer 2 (TMR2) (TMRX) are 8-bit clock counters with
programmable prescalers. They are designed for the PWM module as baud rate clock
generators. TMRX can be read only. The Timer 1 and Timer 2 will stop running when
sleep mode occurs with AD conversion not running. However, if AD conversion is
running when sleep mode occurs, Timer 1 and Timer 2 will keep on running.
7.9.2
Function Description
Fosc
1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
To TMR1IF(PWM1IF)
MUX
TMR1
reset
Period
Match
Comparator
T1P2 T1P1 T1P0 T1EN
PRD1
Data Bus
Data Bus
PRD2
T2P2 T2P1 T2P0 T2EN
Comparator
TMR2
Fosc 1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
reset
Period
Match
MUX
To TMR2IF(PWM2IF)
Figure 7-26 Timer Block Diagram
Where:
Fosc: Input clock.
Prescaler (T1P2, T1P1 and T1P0 / T2P2, T2P1 and T2P0): The options 1:1, 1:2, 1:4,
1:8, 1:16, 1:64, 1:128, and 1:256 are defined by TMRX. It is cleared when any type of
reset occurs.
TMR1 and TMR2: Timer X register. TMRX is increased until it matches with PRDX,
and then is reset to “0” (default value).
DT1 and DT2: Timer X register. TMRX is increased until it matches with DTX, and
then is reset to “0” (default value).
PRDX (PRD1, PRD2): PWM time period register
Comparator X (Comparator 1 and Comparator 2): Reset TMRX while a match
occurs. The TMRXIF (PWMXIF) flag is set at the same time.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 69
EM78P372K
8-bit Microcontroller
7.9.3
Programming the Related Registers
When defining TMRX, refer to the operation of its related registers as shown in the
following table. It must be noted that the PWMX bits must be disabled if their related
TMRXs are utilized. That is, Bit 7 ~ Bit 3 of the PWMCON register must be set to “0”.
 Related Control Registers of TMR1 and TMR2
Addr.
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
0x07
PWMCON/R7
IPWM2 IPWM1
E
E
“0”
“0”
“0”
0x08
TMRCON/R8
T2EN T1EN T2P2 T2P1 T2P0
7.9.4
Timer Programming Process/Steps
Bit 2
Bit 1
Bit 0
PWMCAS PWM2E PWM1E
T1P2
T1P1
T1P0
1. Load PRDX with the Timer duration
2. Enable interrupt function by writing IOCF0, if required
3. Load a desired value for the TMRX prescaler, enable TMRX and disable PWMX
7.9.5
PWM Cascade Mode
The PWM Cascade Mode merges two 8-bit PWM function into one 16-bit. In this mode,
the necessary parameters are redefined as shown on the table below:
Parameter
DT (Duty)
PRD (Period)
TMR (Timer)
MSB (15~8)
DT2
PRD2
TMR2
LSB (7~0)
DT1
PRD1
TMR1
16-bit PWM
The prescaler of this 16-bit PWM uses the prescaler of the TMR1. The MSB of TMR is
counted when LSB carry and the PWM1IF bit/PWM1 pins are redefined as the PWMIF
bit/PWM pin (or PWM1 pin).
To PWMIF
(PWM1IF)
latch
DL
Fosc
DT
1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
Duty Cycle
MUX
16-bit Comparator
Match
PWM
(PWM1)
R
TMR
reset
Q
S
IOC51,2
16-bit Comparator
T1P2 T1P1T1P0 T1EN
Period
Match
PRD
Data Bus
Data Bus
Figure 7-27 16-Bit PWM Functional Block Diagram (Merged from Two 8 Bits)
70 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.10 Comparator
The EM78P372K has one
Cin -
comparator which has two
Cin+
CMP
CO
+
analog inputs and one output.
The comparator can be
employed to wake up the system
Cin Cin+
from sleep/idle mode. The Figure
at right shows the comparator
circuit.
Output
10mV
Figure 7-28 Comparator Operating
Mode
7.10.1
External Reference Signal
The analog signal that is presented at Cin– compares to the signal at Cin+, and the
digital output (CO) of the comparator is adjusted accordingly by taking the following
notes into considerations:
NOTE
■ The reference signal must be between Vss and Vdd.
■ The reference voltage can be applied to either pin of the comparator.
■ Threshold detector applications may be of the same reference.
■ The comparator can operate from the same or different reference sources.
7.10.2
Comparator Output
 The compared result is stored in the CMPOUT of IOC80.
 The comparator outputs are sent to CO (P64) by programming Bit 4 and Bit 3
<COS1, COS0> of the IOC80 register to <1,0>. See table under Section 6.2.4,
IOC80 (Comparator and TCCA Control Registers) for Comparator/OP select bits
function description.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 71
EM78P372K
8-bit Microcontroller
The following figure shows the Comparator Output block diagram.
To C0
F ro m O P I/O
CMRD
EN
EN
Q
Q
D
D
To CMPO UT
RESET
T o C P IF
CMRD
F r o m o th e r
c o m p a r a to r
Figure 7-29 Comparator Output Configuration
7.10.3
Using Comparator as an Operation Amplifier
The comparator can be used as an operation amplifier if a feedback resistor is
externally connected from the input to the output. In this case, the Schmitt trigger
function can be disabled for power saving purposes, by setting Bit 4, Bit 3 <COS1,
COS0> of the IOC80 register to <1,1>. See table under Section 6.2.4, IOC80
(Comparator and TCCA Control Registers) for Comparator/OP select bits function
description.
NOTE
Under Operation Amplifier:
■ The CMPIE (IOCE0.4), CMPWE (RE.2), and CMPIF (RE.4) bits are invalid.
■ The comparator interrupt is invalid.
■ The comparator wake-up is invalid.
7.10.4
Comparator Interrupt

CMPIE (IOCE0.4) must be enabled for the “ENI” instruction to take effect

Interrupt is triggered whenever a change occurs on the comparator output pin

The actual change on the pin can be determined by reading the Bit CMPOUT,
IOC80<5>.

72 
CMPIF (RE.4), the comparator interrupt flag, can only be cleared by software
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.10.5

Wake-up from Sleep Mode
If the CMPWE bit of the RE register is set to “1,” the comparator remains active
and the interrupt remains functional, even under Sleep mode.

If a mismatch occurs, the change will wake up the device from Sleep mode.

The power consumption should be taken into consideration for the benefit of
energy conservation.

If the function is unemployed during Sleep mode, turn off the comparator before
entering into sleep mode.
The Comparator is considered completed as determined by:
1. COS1 and COS0 bits of IOC80 register setting selects Comparator.
2. CMPIF bit of RE register is set to “1”.
3. CMPWE bit of RE register is set to “1”. Wakes up from Comparator (where it
remains in operation during sleep/idle mode).
4. Wakes-up and executes the next instruction, if CMPIE bit of IOCE0 is enabled and
the “DISI” instruction is executed.
5. Wake-up and enters into Interrupt vector (Address 0x00F), if CMPIE bit of IOCE0 is
enabled and the “ENI” instruction is executed.
6. Enters into Interrupt vector (Address 0x00F), if CMPIE bit of IOCE0 is enabled and
the “ENI” instruction is executed.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 73
EM78P372K
8-bit Microcontroller
7.11
7.11.1
Oscillator
Oscillator Modes
The EM78P372K can be operated in seven different oscillator modes, such as Crystal
Oscillator Mode (XT), High Crystal Oscillator Mode 1 (HXT1), High Crystal Oscillator
Mode 2 (HXT2), Low Crystal Oscillator Mode 1 (LXT1), Low Crystal Oscillator Mode 2
(LXT2), External RC Oscillator Mode (ERC), and RC Oscillator Mode with Internal RC
Oscillator Mode (IRC). You can select one of them by programming the OSC3 ~ OSC0
in the Code Option register.
The Oscillator modes defined by OSC3 ~ OSC0 are described below.
Oscillator Modes
OSC3
OSC2
OSC1
OSC0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
3
0
1
0
0
3
0
1
0
1
3
0
1
1
0
3
0
1
1
1
1
1
1
1
1
ERC (External RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as ERCin
P70/ADC5/OSCI/RCOUT acts as P70
1
ERC (External RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as ERCin
P70/ADC5/OSCI/RCOUT acts as RCOUT
2
IRC (Internal RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as P55
P70/ADC5/OSCI/RCOUT acts as P70
(default)
2
IRC (Internal RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as P55
P70/ADC5/OSCI/RCOUT acts as RCOUT
LXT1 (Frequency range of XT, mode is 100kHz ~ 1MHz)
HXT1 (Frequency range of XT mode is 12MHz ~ 20MHz)
LXT2 (Frequency range of XT mode is 32.768kHz)
HXT2 (Frequency range of XT mode is 6MHz ~ 12MHz)
3
XT (Frequency range of XT mode is 1MHz ~ 6MHz)
The maximum operating frequency limit of crystal/resonator at different VDDs, are as
follows:
Conditions
Two clocks
74 
VDD
Max. Freq. (MHz)
2.1V
4
3.0V
8
4.5V
16
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.11.2
Crystal Oscillator/Ceramic Resonators (Crystal)
The EM78P372K can be driven by an external clock signal through the OSCI pin as
illustrated below.
OSCI
OSCO
Figure 7-30 External Clock Input Circuit
In most applications, Pin OSCI and Pin OSCO can be connected with a crystal or
ceramic resonator to generate oscillation. Figure 6-18 below depicts such a circuit.
The same applies to the XT mode, HXT1 mode, HTX2 mode, LXT1 mode and LXT2
mode.
C1
OSCI
Crystal
OSCO
RS
C2
Figure 7-31 Crystal/Resonator Circuit
The following table provides the recommended values for C1 and C2. Since each
resonator has its own attribute, user should refer to the resonator specifications for the
appropriate values of C1 and C2. RS, a serial resistor, maybe required for AT strip cut
crystal or low frequency mode. Figure 6-21 is PCB layout suggestion. When the
system works in Crystal mode (16 MHz), a 10 K is connected between OSCI and
OSCO.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 75
EM78P372K
8-bit Microcontroller
Capacitor selection guide for crystal oscillator or ceramic resonators:
Oscillator Type
Frequency Mode
Frequency
LXT1
(100 K ~ 1 MHz)
Ceramic Resonators
XT
(1 M ~ 6 MHz)
LXT2 (32.768kHz)
LXT1
(100 K ~ 1 MHz)
Crystal Oscillator
XT
(1~6 MHz)
HXT2
(6~12 MHz)
HXT1
(12~20 MHz)
C1 (pF)
C2 (pF)
100kHz
60 pF
60 pF
200kHz
60 pF
60 pF
455kHz
40 pF
40 pF
1 MHz
30 pF
30 pF
1.0 MHz
30 pF
30 pF
2.0 MHz
30 pF
30 pF
4.0 MHz
20 pF
20 pF
32.768kHz
40 pF
40 pF
100kHz
60 pF
60 pF
200kHz
60 pF
60 pF
455kHz
40 pF
40 pF
1 MHz
30 pF
30 pF
1.0 MHz
30 pF
30 pF
2.0 MHz
30 pF
30 pF
4.0 MHz
20 pF
20 pF
6.0 MHz
30 pF
30 pF
6.0 MHz
30 pF
30 pF
8.0 MHz
20 pF
20 pF
12.0 MHz
30 pF
30 pF
12.0 MHz
30 pF
30 pF
16.0 MHz
20 pF
20 pF
Circuit diagrams for serial and parallel modes Crystal/Resonator:
330
330
C
OSCI
7404
7404
7404
Crysta l
Figure 7-32 Serial Mode Crystal/Resonator Circuit Diagram
76 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7404
4.7K
10K
Vdd
O S CI
10K
7404
C rystal
C1
10K
C2
Figure 7-33 Parallel Mode Crystal/Resonator Circuit Diagram
Figure 7-34 Parallel Mode Crystal/Resonator Circuit Diagram
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 77
EM78P372K
8-bit Microcontroller
7.11.3
External RC Oscillator Mode
For some applications that do not require
Vcc
precise timing calculation, the RC
oscillator (Figure 7-35) could offer an
Rext
effective cost savings. Nevertheless, it
should be noted that the frequency of the
ERCin
RC oscillator is influenced by the supply
Cext
voltage, the values of the resistor (Rext),
the capacitor (Cext), and even by the
operation temperature. Moreover, the
frequency also changes slightly from one
chip to another due to the manufacturing
Figure 7-35 External RC Oscillator Mode
Circuit
process variation.
In order to maintain a stable system frequency, the values of the Cext should be no less
than 20 pF, and the value of Rext should not be greater than 1 M. If the frequency
cannot be kept within this range, the frequency can be affected easily by noise,
humidity, and leakage.
The smaller the Rext in the RC oscillator is, the faster its frequency will be. On the
contrary, for very low Rext values, for instance, 1 K, the oscillator will become
unstable because the NMOS cannot correctly discharge the capacitance current.
Based on the above reasons, it must be kept in mind that all supply voltage, the
operation temperature, the components of the RC oscillator, the package types, and
the PCB layout have certain effects on the system frequency.
The RC Oscillator frequencies:
Cext
20 pF
100 pF
300 pF
Rext
Average Fosc 5V, 25C
Average Fosc 3V, 25C
3.3k
2.064 MHz
1.901 MHz
5.1k
1.403 MHz
1.316 MHz
10k
750.0 kHz
719.0 kHz
100k
81.45 kHz
81.33 kHz
3.3k
647.0 kHz
615.0 kHz
5.1k
430.8 kHz
414.3 kHz
10k
225.8 kHz
219.8 kHz
100k
23.88 kHz
23.96 kHz
3.3k
256.6 kHz
245.3 kHz
5.1k
169.5 kHz
163.0 kHz
10k
88.53 kHz
86.14 kHz
100k
9.283 kHz
9.255 kHz
1
Note: : Measured based on DIP packages.
2
: The values are for design reference only.
: The frequency drift is  30%
3
78 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.11.4
Internal RC Oscillator Mode
The EM78P372K offers a versatile internal RC mode with default frequency value of
4MHz. The Internal RC oscillator mode has other frequencies (16 MHz, 8 MHz, and 1
MHz) that can be set by Code Option (Word 1), RCM1, and RCM0. The Table below
describes the EM78P372K internal RC drift with voltage, temperature, and process
variations.
Internal RC Drift Rate (Ta=25°C, VDD=5V±5%, VSS=0V)
Drift Rate
Internal
Temperature
Voltage
(-40°C ~+85°C)
(2.1V~5.5V)
4 MHz
±2%
16 MHz
RC Frequency
Process
Total
±1%
±1%
±4%
±2%
±1%
±1%
±4%
8 MHz
±2%
±1%
±1%
±4%
1 MHz
±2%
±1%
±1%
±4%
Note: Theoretical values are for reference only. Actual values may vary depending on the actual
process.
7.12 Power-on Considerations
Any microcontroller is not warranted to start operating properly before the power supply
stabilizes in steady state. The EM78P372K POR voltage range is 1.9V  0.2V. Under
customer application, when power is switched OFF, Vdd must drop below 1.6V and
remains at OFF state for 10s before power can be switched ON again. Subsequently,
the EM78P372K will reset and work normally. The extra external reset circuit will work
well if Vdd rises fast enough (50ms or less). However, under critical applications, extra
devices are still required to assist in solving power-on problems.
7.12.1
Programmable WDT Time-out Period
5
The Option word (WDTPS) is used to define the WDT time-out period (18ms or
6
4.5ms ). Theoretically, the range is from 4.5ms or 18ms. For most crystal or ceramic
resonators, the lower the operation frequency is, the longer is the required set-up time.
5
6
VDD=5V, WDT time-out period = 16.5ms ± 30%.
VDD=3V, WDT time-out period = 18ms ± 30%.
VDD=5V, WDT time-out period = 4.2ms ± 30%.
VDD=3V, WDT time-out period = 4.5ms ± 30%.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 79
EM78P372K
8-bit Microcontroller
7.12.2
External Power-on Reset Circuit
The circuits shown in the
VDD
following figure implements
an external RC to produce a
/RESET
R
D
reset pulse. The pulse width
(time constant) should be
Rin
kept long enough to allow
C
the Vdd to reach the
minimum operating voltage.
This circuit is used when the
Figure 7-36 External Power-on Reset
Circuit
power supply has a slow
power rise time. Because
the current leakage from the /RESET pin is about  5A, it is recommended that R
should not be greater than 40KΩ. This way, the voltage at Pin /RESET is held below
0.2V. The diode (D) functions as a short circuit at power-down. The “C” capacitor is
discharged rapidly and fully. Rin, the current-limited resistor, prevents high current
discharge or ESD (electrostatic discharge) from flowing into Pin /RESET.
7.12.3
Residual Voltage Protection
When the battery is replaced, device power (Vdd) is removed but residual voltage
remains. The residual voltage may trip below Vdd minimum, but not to zero. This
condition may cause a poor power-on reset. Figure 7-37 and Figure 7-38 show how to
create a protection circuit against residual voltage.
VDD
VDD
33K
Q1
10K
/RESET
100K
1N4684
Figure 7-37 Residual Voltage Protection Circuit 1
80 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
VDD
VDD
R1
Q1
/RESET
R2
R3
Figure 7-38 Residual Voltage Protection Circuit 2
7.13 Code Option
EM78P372K has six Code Option Words and three Customer ID words that are not part
of the normal program memory.
Word 0
Word1
Word 2
Word 3
Word 0x10
Word 0x11
Bit 12~Bit 0
Bit 12~Bit 0
Bit12~Bit 0
Bit12~Bit 0
Bit12~Bit 0
Bit12~Bit 0
7.13.1 Code Option Register (Word 0)
Word 0
Bit
Bit 12
Mne
TYPE1
monic
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bits 2~0
TYPE0 WK_CLK CLKS
LVR1
LVR0
RESETEN
ENWDT
NRHL
NRE
Protect
1
High
High
8 clock
High
High
High
Disable
Disable
32/fc Enable
Disable
0
Low
Low
32 clock
Low
Low
Low
Enable
Enable
8/fc
Enable
Disable
Bits 12~11 (TYPE1 ~ TYPE0): Type selection for EM78P372K
TYPE 1, TYPE 0
MCU Type
PIN Not Used
00
EM78P372K-10Pin
Ports 60 ~ 66 / 54 / 56 / 57 are output low.
01
EM78P372K-14Pin
Ports 62 / 63 / 64 / 65 / 56 / 57 are output low.
10
EM78P372K-18Pin
Ports 56 / 57 are output low.
11
EM78P372K-20Pin (Default)
X
Bit 10 (WK_CLK): Selecting 8 or 32 clocks wake up from sleep and idle mode
(only IRC mode)
0 : 32 clocks
1 : 8 clocks (default)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 81
EM78P372K
8-bit Microcontroller
Bit 9 (CLKS):
Instruction period option bit
0 = two oscillator periods
1 = four oscillator periods (default)
Bits 8~7 (LVR1 ~ LVR0): Low Voltage Reset Enable bits
LVR1, LVR0
VDD Reset Level
11
VDD Release Level
NA (Power-on Reset) (Default)
10
2.7V
2.9V
01
3.5V
3.7V
00
4.0V
4.2V
Bit 6 (RESETEN): RESET/P71 Pin Select Bit
0 : P71 set to /RESET pin
1 : P71 is general purpose input pin or open-drain for output Port
(default)
Bit 5 (ENWDT):
Watchdog timer enable bit
0 = Enable
1 = Disable (default)
Bit 4 (NRHL): Noise rejection high/low pulses define bit. INT pin is falling or rising
edge trigger
0 : Pulses equal to 8/fc is regarded as signal
1 : Pulses equal to 32/fc is regarded as signal (default)
NOTE
The noise rejection function is turned off in the LXT2 and sleep mode.
Bit 3 (NRE):
Noise Rejection Enable
0 : Disable noise rejection
1 : Enable noise rejection (default), but in Low Crystal oscillator
(LXT) mode, the noise rejection circuit is always disabled.
Bits 2 ~ 0 (Protect): Protect Bit
82 
Protect Bits
Protect
0
Enable
1
Disable (default)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.13.2 Code Option Register (Word 1)
Word 1
Bit
Bit 12 Bit 11 Bit 10 Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Mnem
onic
C5
C4
C3
C2
C1
C0
1
High
High
High
High
High
High
High
High
High
High
High
High
Syste
m_clk
0
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Open_
drain
RCM1 RCM0 OSC3 OSC2 OSC1 OSC0
RCOU
T
Bits 12~7 (C5~C0): Calibrator of internal RC mode
C5~C0 must be set to “1” only (auto-calibration).
Bit 6~5 (RCM1, RCM0): RC mode selection bits
RCM 1
RCM 0
Frequency (MHz)
1
1
4 (Default)
1
0
16
0
1
8
0
0
1
Bits 4 ~ 1 (OSC3 ~ OSC0): Oscillator Modes Selection bits
Oscillator Modes
OSC3
OSC2
OSC1
OSC0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
3
0
1
0
0
3
0
1
0
1
3
0
1
1
0
3
0
1
1
1
1
1
1
1
1
ERC (External RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as ERCin
P70/ADC5/OSCI/RCOUT acts as P70
1
ERC (External RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as ERCin
P70/ADC5/OSCI/RCOUT acts as RCOUT
2
IRC (Internal RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as P55
P70/ADC5/OSCI/RCOUT acts as P70
(default)
2
IRC (Internal RC oscillator mode);
P55/ADC6/OSCO/ERCin acts as P55
P70/ADC5/OSCI/RCOUT acts as RCOUT
LXT1 (Frequency range of XT, mode is 100kHz~1 MHz)
HXT1 (Frequency range of XT mode is 12MHz~20 MHz)
LXT2 (Frequency range of XT mode is 32.768kHz)
HXT2 (Frequency range of XT mode is 6 MHz~12 MHz)
3
XT (Frequency range of XT mode is 1 MHz~6 MHz)
Bit 0 (RCOUT): Instruction clock output enable bit in IRC or ERC mode.
0 : RCOUT pin output instruction clock with open drain.
1 : RCOUT pin output instruction clock(default)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 83
EM78P372K
8-bit Microcontroller
7.13.3 Code Option Register (Word 2)
Word 2
Bit
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
–
Mne
monic
–
–
–
SFS
1
–
–
–
16kHz
–
0
–
–
–
128kHz
–
Bit 7
Bit 6
Bit 5
Bit 4
–
Bit 3
Bit 2
Bit 1
Bit 0
WDTPS
ID2
ID1
ID0
IRCPSS IRCIRS
HLP
Internal Regulator
High
–
18ms
High
High
High
Low
–
4.5ms
Low
Low
Low
VDD
Bandgap
Bit 12:
Not used, (reserved). This bit is set to “1” all the time.
Bit 11:
Not used, (reserved). This bit is set to “0” all the time.
Bit 10:
Not used, (reserved). This bit is set to “1” all the time.
Bit 9 (SFS):
Sub-oscillator select for Green mode and TCC, PWM1, PWM2
clock source.
(Not include WDT time-out and free run setup-up time)
0 : 128kHz
1 : 16kHz (default)
Bit 8:
Not used, (reserved). This bit is set to “0” all the time.
Bit 7 (IRCPSS):
IRC Power Source Select
0 = VDD
1 = Internal reference (default)
Bit 6 (IRCIRS):
IRC Internal reference Select.
0 = IRC Bandgap Mode (Vref is used from Bandgap).
1 = IRC Regulator Mode (default)
Bit 5 (HLP):
Power consumption selection
0: Low power consumption mode, applies to operating frequency
at 400 kHz or below 400kHz
1: High power consumption mode, applies to operating frequency
above 400 kHz (Default)
(User selects LXT1 or LXT2 in crystal mode, HLP function
automatically selects low)
Bit 4 (LPS):
Not used, (reserved). This bit is set to “1” all the time.
Bit 3 (WDTPS):
WDT Time-out Period
WDT Time
Watchdog Timer*
1
18 ms (Default)
0
4.5 ms
*Theoretical values, for reference only.
Bits 2 ~ 0:
84 
Customer’s ID Ⅰcode (Can’t be read from Table Point Register)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.13.4 Code Option Register (Word 3)
Word 3
Bit
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Mnemonic
–
VREFSEL
–
–
–
–
–
–
–
–
–
–
–
1
–
High
–
–
–
–
–
–
–
–
–
–
–
0
–
Low
–
–
–
–
–
–
–
–
–
–
–
Bit 12:
Not used, (reserved). This bit is set to “1” all the time.
Bit 11 (VREFSEL): ADC internal reference voltage select. [Depend on VREF[1:0]
(Bank 0-RA[2:1]) = 11]
0: ADC Internal reference voltage 2.5V.
1: ADC Internal reference voltage 2.0V (Default)
Bits 10 ~ 0:
7.13.5
Not used (Reserved). This bit is set to “1” all the time.
Customer ID Register (Word 0x10)
Word 0x10
Bit
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Mnemonic ID15
ID14
ID13
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
ID4
ID3
1
High
High
High
High
High
High
High
High
High
High
High
High
High
0
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Bits 12 ~ 0: Customer’s ID Ⅱ code (Can be read from Table Point Register)
7.13.6
Customer ID Register (Word 0x11)
Word 0x11
Bit
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Mnemonic ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
ID20
ID19
ID18
ID17
ID16
1
High
High
High
High
High
High
High
High
High
High
High
High
High
0
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Low
Bits 12 ~ 0:
Customer’s ID Ⅲ code (Can be read from Table Point Register)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 85
EM78P372K
8-bit Microcontroller
7.14 Low Voltage Detector/Low Voltage Reset
The Low Voltage Reset (LVR) and the Low Voltage Detector (LVD) are designed for
unstable power situation, such as external power noise interference or in EMS test
condition.
When LVR is enabled, the system supply voltage (Vdd) drops below Vdd reset level
(VRESET) and remains at 10s, a system reset will occur and the system will remain in
reset status. The system will remain at reset status until Vdd voltage rises above Vdd
release level.
If Vdd drops below the low voltage detector level, /LVD (Bit 7 of RE) is cleared to “0’ to
show a low voltage signal when LVD is enabled. This signal can be used for low voltage
detection.
7.14.1
Low Voltage Reset
LVR property is set at Bits 12 and 11 of Code Option Word 0. Detailed operation mode
is as follows:
Word 0
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
TYPE1
TYPE0
WK_CLK
CLKS
LVR1
LVR0
Bit 6
Bit 5
RESETEN ENWDT
Bit 4
Bit 3
Bits 2~0
NRHL
NRE
Protect
Bits 8~7 (LVR1 ~ LVR0): Low Voltage Reset Enable bits.
LVR1, LVR0
7.14.2
VDD Reset Level
VDD Release Level
11
10
01
NA (Power-on Reset)
2.7V
3.5V
2.9V
3.7V
00
4.0V
4.2V
Low Voltage Detector
LVD property is set and Register detailed operation mode is as follows:
7.14.2.1 Bank 1 RE (LVD Control and Wake-up Control Register 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LVDIE
LVDEN
LVD1
LVD0
-
-
-
EXWE
NOTE
■ Bank 1 RE<6> register is both readable and writable
■ Individual interrupt is enabled by setting its associated control bit in the Bank 1
RE<7> to "1".
■ Global interrupt is enabled by the ENI instruction and is disabled by the DISI
instruction.
86 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
Bit 7 (LVDIE): Low voltage Detector interrupt enable bit.
0 : Disable Low voltage Detector interrupt
1 : Enable Low voltage Detector interrupt
When detect low level voltage state is used to enter an interrupt vector
or enter next instruction, the LVDIE bit must be set to “Enable”.
Bit 6 (LVDEN): Low Voltage Detector Enable bit
0 : Low voltage detector disable
1 : Low voltage detector enable
Bits 5~4 (LVD1:0): Low Voltage Detector level bits.
LVDEN
7.14.2.2
LVD1, LVD0
1
11
1
10
1
01
1
00
0
××
LVD voltage Interrupt Level
/LVD
Vdd ≤ 2.2V
Vdd > 2.2V
Vdd ≤ 3.3V
Vdd > 3.3V
Vdd ≤ 4.0V
Vdd > 4.0V
Vdd ≤ 4.5V
Vdd > 4.5V
NA
0
1
0
1
0
1
0
1
1
Bank 0 RE (Interrupt Status 2 and Wake-up Control
Register 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/LVD
LVDIF
ADIF
CMPIF
ADWE
CMPWE
ICWE
LVDWE
NOTE
■ RE < 6, 5, 4 > can be cleared by instruction but cannot be set.
■ IOCE0 is the interrupt mask register.
■ Reading RE will result to "Logic AND" of RE and IOCE0.
Bit 7 (/LVD):
Low voltage Detector state. This is a read only bit. When the VDD pin
voltage is lower than LVD voltage interrupt level (selected by LVD1 and
LVD0), this bit will be cleared.
0 : Low voltage is detected.
1 : Low voltage is not detected or LVD function is disabled.
Bit 6 (LVDIF): Low Voltage Detector Interrupt flag
LVDIF reset to “0” by software or hardware.
Bit 0 (LVDWE): Low Voltage Detect wake-up enable bit.
0 : Disable Low Voltage Detect wake-up.
1 : Enable Low Voltage Detect wake-up.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 87
EM78P372K
8-bit Microcontroller
When the Low Voltage Detect is used to enter an interrupt vector or to
wake up the IC from sleep/idle with Low Voltage Detect running, the
LVDWE bit must be set to “Enable“.
7.14.3
Programming Process
Follow these steps to obtain data from the LVD:
1. Write to the two bits (LVD1: LVD0) on the LVDCR register to define the LVD level.
2. Set the LVDWE bit, if the wake-up function is employed.
3. Set the LVDIE bit, if the interrupt function is employed.
4. Write “ENI” instruction, if the interrupt function is employed.
5. Set LVDEN bit to 1
6. Write “SLEP” instruction or Polling /LVD bit.
7. Clear the low voltage detector interrupt flag bit (LVDIF) when Low Voltage Detector
interrupt occurred.
The LVD module uses the internal circuit. When LVDEN (Bit 6 of Bank 1 RE) is set to
“1”, the LVD module is enabled.
When LVDWE (Bit 0 of RE) is set to “1”, the LVD module will continue to operate during
sleep/idle mode. If Vdd drops slowly and crosses the detect point (VLVD), the LVDIF
(Bit 6 of RE) will be set to “1”, the /LVD (Bit 7 of RE) will be cleared to “0”, and the
system will wake up from Sleep/Idle mode. When a system reset occurs, the LVDIF will
be cleared.
When Vdd remains above VLVD, LVDIF is kept at “0” and /LVD is kept at “1”. When Vdd
drops below VLVD, LVDIF is set to “1” and /LVD is kept at “0”. If ENI instruction is
executed, LVDIF will be set to “1”, and the next instruction will branch to interrupt Vector
021H. The LVDIF is cleared to “0” by software. Refer Figure 6-26 below.
LVDIF is cleared by
software
Vdd
VLVD
VRESET
LVDIF
Internal
Reset
18ms
<LVR Voltage drop
>LVR Voltage drop
Vdd < Vreset not longer than 10us, the system still keeps on operating
System occur reset
Figure 7-34 LVD/LVR Waveform Situation
88 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
7.15 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 two oscillator time periods), unless the program
counter is changed by instructions "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," etc.).
In addition, the instruction set has the following features:
1. Every bit of any register can be set, cleared, or tested directly.
2. The I/O registers can be regarded as general registers. That is, the same
instruction can operate on I/O registers.
The following symbols are used in the Instruction Set table:
Convention:
R = Register designator that specifies which one of the registers (including operation and general
purpose registers) is to be utilized by the instruction.
Bits 6 and 7 in R4 determine the selected register bank.
b = Bit field designator that selects the value for the bit located in the register R and which affects
the operation.
k = 8 or 10-bit constant or literal value
Mnemonic
NOP
DAA
CONTW
SLEP
WDTC
IOW R
ENI
DISI
RET
RETI
CONTR
IOR R
MOV R,A
CLRA
CLR R
SUB A,R
SUB R,A
DECA R
DEC R
OR A,R
OR R,A
AND A,R
AND R,A
XOR A,R
XOR R,A
Operation
No Operation
Decimal Adjust A
A  CONT
0  WDT, Stop oscillator
0  WDT
A  IOCR
Enable Interrupt
Disable Interrupt
[Top of Stack]  PC
[Top of Stack]  PC, Enable Interrupt
CONT  A
IOCR  A
AR
0A
0R
R-A  A
R-A  R
R-1  A
R-1  R
A  VR  A
A  VR  R
A&RA
A&RR
ARA
ARR
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
Status Affected
None
C
None
T, P
T, P
1
None
None
None
None
None
None
1
None
None
Z
Z
Z, C, DC
Z, C, DC
Z
Z
Z
Z
Z
Z
Z
Z
 89
EM78P372K
8-bit Microcontroller
Mnemonic
ADD A,R
ADD R,A
MOV A,R
MOV R,R
COMA R
COM R
INCA R
INC R
DJZA R
DJZ R
RRCA R
Operation
Status Affected
SWAP R
JZA R
JZ R
BC R,b
BS R,b
JBC R,b
JBS R,b
CALL k
JMP k
MOV A,k
OR A,k
AND A,k
XOR A,k
RETL k
SUB A,k
Add A,K
PAGE k
BANK k
A+RA
A+RR
RA
RR
/R  A
/R  R
R+1  A
R+1  R
R-1  A, skip if zero
R-1  R, skip if zero
R(n)  A(n-1), R(0)  C, C  A(7)
R(n)  R(n-1), R(0)  C,
C  R(7)
R(n)  A(n+1), R(7)  C,
C  A(0)
R(n)  R(n+1), R(7)  C,
C  R(0)
R(0-3)  A(4-7),
R(4-7)  A(0-3)
R(0-3)  R(4-7)
R+1  A, skip if zero
R+1  R, skip if zero
0  R(b)
1  R(b)
if R(b)=0, skip
if R(b)=1, skip
PC+1  [SP], (Page, k)  PC
(Page, k)  PC
kA
AkA
A&kA
AkA
k  A, [Top of Stack]  PC
k-A  A
k+A  A
k  R3(5)
k  R4(6)
LCALL k
PC+1[SP], kPC
None
LJMP k
kPC
None
RRC R
RLCA R
RLC R
SWAPA R
Z, C, DC
Z, C, DC
Z
Z
Z
Z
Z
Z
None
None
C
C
C
C
None
None
None
None
2
None
3
None
None
None
None
None
None
Z
Z
Z
None
Z, C, DC
Z, C, DC
None
None
If Bank 1 R5.7=0, machine code(7~0)  R
TBRD R
Else Bank1 R5.7=1, machine code(12~8)  R(4~0),
None
R(7~5)=(0,0,0)
Note:
1
This instruction is applicable to IOC50~IOCF0, IOC51 ~ IOCF1 only.
2 This instruction is not recommended for RF operation.
3 This instruction cannot operate under RF.
90 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
8
Absolute Maximum Ratings
Items
9
Rating
Temperature under bias
-40C
to
85C
Storage temperature
-65C
to
150C
Input voltage
Vss-0.3V
to
Vdd+0.5V
Output voltage
Vss-0.3V
to
Vdd+0.5V
Working Voltage
2.1V
to
5.5V
Working Frequency
DC
to
16 MHz
DC Electrical Characteristics
Ta= 25C, VDD= 5.0V, VSS= 0V
Symbol
Parameter
Condition
Min.
Typ.
Max.
Unit
32.768k
4
16
MHz
760
950
1140
kHz
Ports 5, 6, 7
0.7VDD

VDD+0.3
V
Ports 5, 6, 7
-0.3V

0.3VDD
V
/RESET

1.8

V
/RESET

1.1

V
TCC, INT
0.7VDD

VDD+0.3
V
TCC, INT
-0.3V

0.3VDD
V

-3.7

FXT
Crystal: VDD to 5V
Two cycle with two clocks
ERC
ERC: VDD to 5V
R: 5.1K, C: 100 pF
VIH1
VIL1
VIHT1
VILT1
VIHT2
VILT2
IOH1
Input High Voltage
(Schmitt Trigger)
Input Low Voltage
(Schmitt Trigger )
Input High Threshold
Voltage (Schmitt Trigger)
Input Low Threshold
Voltage (Schmitt trigger)
Input High Threshold
Voltage (Schmitt Trigger)
Input Low Threshold
Voltage (Schmitt Trigger)
Output High Voltage
(Ports 5, 6, 7)
Output High Voltage
IOH2
VOH = 0.9VDD
(Ports 51~54,
mA

-10


10

56~57,60~67)
IOL1
Output Low Voltage
(Ports 5, 6, 7)
Output Low Voltage
IOL2
VOL = 0.1VDD
(Ports 51~54, 56~57,
mA

25

60~67)
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 91
EM78P372K
8-bit Microcontroller
Symbol
LVR1
LVR2
LVR3
Parameter
Condition
Min.
Typ.
Max.
Unit
Ta=25°C
2.41
2.7
2.99
V
Ta=-40~85°C
2.14
2.7
3.25
V
Ta=25°C
3.1
3.5
3.92
V
Ta=-40~85°C
2.73
3.5
4.25
V
Ta=25°C
3.56
4.0
4.43
V
Ta=-40~85°C
3.16
4.0
4.81
V
Low voltage reset level
Low voltage reset level
Low voltage reset level
IPH
Pull-high current
Pull-high active, input pin at VSS

70

A
IPL
Pull-low current
Pull-low active, input pin at Vdd

40

A
ISB1
Power down current

1.0
2.0
A
ISB2
Power down current


10
A

15
20
A

15
25
A

1.5
1.7
mA

2.8
3.0
mA
Operating supply current
ICC1
ICC2
at two clocks
Operating supply current
at two clocks
Operating supply current
ICC3
at two clocks
Operating supply current
ICC4
at two clocks
All input and I/O pins at VDD,
Output pin floating, WDT disabled
All input and I/O pins at VDD,
Output pin floating, WDT enabled
/RESET= 'High', Fosc=32kHz
(Crystal type, CLKS="0"),
Output pin floating, WDT disabled
/RESET= 'High', Fosc=32kHz
(Crystal type,CLKS="0"),
Output pin floating, WDT enabled
/RESET= 'High', Fosc=4 MHz
(Crystal type, CLKS="0"),
Output pin floating, WDT enabled
/RESET= 'High', Fosc=10 MHz
(Crystal type, CLKS="0"),
Output pin floating, WDT enabled
Note: 1. These parameters are hypothetical (not tested) and are provided for design reference use only.
2. Data under Minimum, Typical, and Maximum (Min., Typ., and Max.) columns are based on
hypothetical results at 25C. These data are for design reference only.
92 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
9.1 AD Converter Characteristics
Vdd=2.5V to 5.5V, Vss=0V, Ta=-40 to 85°C
Symbol
VAREF
Parameter
VASS
Analog reference
voltage
VAI
Analog input voltage
Ivdd
IAI1
Ivref
Condition
VAREF - VASS  2.5V

VDD=VAREF=5.0V,
Analog supply current VASS = 0.0V
(V reference from Vdd)
Ivdd
IAI2
VDD=VAREF=5.0V,
Analog supply current VASS = 0.0V (V reference
IVref
from VREF)
ADREF=0, Internal VDD
Min.
Typ.
Max. Unit
2.5

Vdd
V
Vss

Vss
V
VASS

VAREF
V


1400
µA


10
µA


900
µA


500
µA

9
10
Bits
RN1
Resolution
RN2
Resolution
VDD=VREF=5.0V,
VSS = 0.0V

11
12
Bits
LN1
Linearity error
VDD = 2.5 to 5.5V Ta=25°C


±4
LSB
DNL
Differential nonlinear
error
VDD = 2.5 to 5.5V Ta=25°C


±1
LSB
FSE1
Full scale error
VDD=VAREF=5.0V,
VASS = 0.0V


±8
LSB
OE
Offset error
VDD=VAREF=5.0V,
VASS = 0.0V


±4
LSB
ZAI
Recommended
impedance of analog
voltage source


10
KΩ
TAD
ADC clock duration
VDD=VAREF=5.0V,
VASS = 0.0V
1


µs
TCN
AD conversion time
VDD=VAREF=5.0V,
VASS = 0.0V
16


TAD
PSR
Power Supply
Rejection
VDD=5.0V±0.5V


2
LSB
VDD=5.0V, VSS = 0.0V
ADREF=1, External VREF

V1/4VDD
Accuracy for 1/4 VDD


±3

%
V1/2VDD
Accuracy for 1/2 VDD


±3

%
Note: 1. These parameters are hypothetical (not tested) and provided for design reference use
only.
2. When ADC is off, there is no current consumption other than minor leakage current.
3. AD conversion result will not decrease when an increase of input voltage and no missing
code will result.
4. These parameters are subject to change without further notice.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 93
EM78P372K
8-bit Microcontroller
9.2 Comparator Characteristics
Vdd = 5.0V, Vss=0V, Ta=-40 to 85°C
Symbol
Parameter
Condition
Min.
Typ.
Max.
Unit
VOS
Input offset voltage


10

mV
Vcm
Input common-mode
voltage range

GND

VDD
V
ICO
Supply current of
comparator
Co=0V, Ta= -40~85℃

70

µA
TRS
Response time
VREF=1.0V, VRL=5V,
1
RL=5.1k, CL=15p (Note )

1

µs
TLRS
Large signal response VREF=2.5V, VRL = 5V,
2
time
RL = 5.1k (Note )

250

ns

12

mA

0.2
0.4
V
2.5
-
5.5
V
IOL
Output sink current
VSAT
Saturation voltage
VS
Operating voltage
Vi(-) = 1V, Vi(+) = 0V,
3
Vo = GND+0.5V (Note )
Vi(-)=1V, Vi(+)=0V,
3
IOL <= 4mA (Note )

Note: 1. The response time specified is a 100mV input step with 5mV overdrive.
2. The response time specified is a 0V~VDD input step with 1/2*VDD overdrive.
3. The driving ability is decided by digital output block.
9.3 OP Characteristics
Vdd = 5.0V, Vss=0V, Ta=-40 to 85°C
Symbol
Parameter
Condition
Min.
Typ.
Max.
Unit
VOS
Input offset voltage
, Vin+=0V

10

mV
SR
Slew rate
Ta= -40~85℃

1.5

V/µs
IVR
Input voltage range
0

5
V

123

mV

4.68

V

Vip=0V,IL=1.0mA
OVS
Output voltage swing
Ta= -40~85℃
Vip=5V, IL=1.0mA
Ta= -40~85℃
IOP
Supply current of OP
Ta= -40~85℃

255

µA
PSRR
Power supply rejection ratio Ta= -40~85℃

75

dB
CMRR Common mode reject ratio
0V≦VCM≦VDD

90

dB
GBP
Gain bandwidth product
RL=1Meg, CL=100p

2.6

MHz
VS
Operating Range

2.5

5.5
V
Note: 1. These parameters are hypothetical (not tested) and provided for design
reference use only.
2. These parameters are subject to change without further notice.
94 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
9.4 Vref 2V/2.5V/3V/4V Characteristics
Vdd = 5.0V, Vss=0V, Ta=-40 to 85°C
Symbol
Parameter
Condition
Min.
Typ.
Max.
Unit

2.1

5.5
V
VDD
Power Supply
IVDD
DC Supply Current
VDD = 5.5V, No
load


200
µA
Vref
Voltage reference
output
2V
3V
4V


±1
%
VrefRT
Switch Vref
response time
VDD = 2.1 - 5.5V,
Cload = 19.2pf,
Rload = 15.36KΩ


5
µs
VrefWT
Enable Vref warm
up time
VDD = VDDmin 5.5V,
Cload = 19.2pf,
Rload = 15.36KΩ


8
µs
VDDmin
Minimum Power
Supply


Vref +
0.2*

V
*VDDmin : can work at (Vref+0.1V), but has a poor PSRR.
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 95
EM78P372K
8-bit Microcontroller
10
AC Electrical Characteristics
Ta=-40 to 85C, VDD=5V  5%, VSS=0V
Symbol
Parameter
Conditions
Min.
Typ.
Max.
Unit
–
45
50
55
%
125
–
DC
ns
RC type
–
16 
30%
–
ns
–
–
WSTO +
510/Fm
–
ns
Dclk
Input CLK duty cycle
Tins
Instruction cycle time
(CLKS="0")
Ttcc
TCC input time period
Tdrh
Device reset hold time
Ta = 25C
–
WSTO +
8/Fs
–
ms
Trst
/RESET pulse width
Ta = 25C
–
WSTO +
8/Fm
–
ns
Twdt
Watchdog timer duration
Ta = 25C
–
WSTO +
8/Fs
–
ms
Tset
Input pin setup time
–
–
1 s
–
ns
Thold
Input pin hold time
–
–
1 s
–
ns
Tdelay
Output pin delay time
Cload=20pF
–
16 
30%
–
ns
Tdrc
ERC delay time
Ta = 25C
–
20
–
ns
Crystal type
Note: 1. WSTO: The waiting time of Start-to-Oscillation
2. These parameters are hypothetical (not tested) and are provided for design reference
only.
3. Data under Minimum, Typical, and Maximum (Min., Typ. and Max.) columns are based
on hypothetical results at 25C. These data are for design reference use only.
*. Tpor and Twdt are 16 30% ms at FSS0=1(16kHz), Ta=-40~85C, and VDD=2.1~5.5V
96 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
11
Timing Diagrams
AC Test Input / Output Waveform
Note: AC Testing: Input are driven at VDD-0.5V for Logic “1” and GND+0.5V for Logic “0”
Timing measurements are made at 0.75V VDD for Logic “1” and 0.25V VDD for Logic “0”
Figure 11-1a AC Test Input / Output Waveform Timing Diagram
Reset Timing (CLK=“0”)
Figure 11-1b Reset Timing Diagram
TCC Input Timing (CLKS=“0”)
Figure 11-1c TCC Input Timing Diagram
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 97
EM78P372K
8-bit Microcontroller
APPENDIX
A Package Type
OTP MCU
Package Type
Pin Count
Package Size
MSOP
10
118 mil
EM78P372KD14J/S
DIP
14
300 mil
EM78P372KSO14J/S
SOP
14
150 mil
EM78P372KSO16AJ/S
SOP
16
150 mil
EM78P372KD18J/S
DIP
18
300 mil
EM78P372KSO18J/S
SOP
18
300 mil
EM78P372KD20J/S
DIP
20
300 mil
EM78P372KSO20J/S
SOP
20
300 mil
EM78P372KSS20J/S
SSOP
20
209 mil
QFN
16
3×3×0.8mm
EM78P372KMS10J/S
EM78P372KQN16S
These are Green products which do not contain hazardous substances and comply
with the third edition of Sony SS-00259 standard.
Pb content is less than 100ppm and complies with Sony specifications.
Part No.
Electroplate type
Pure Tin
Ingredient (%)
Sn: 100%
Melting point (°C)
98 
EM78P372KxJ/xS
232°C
Electrical resistivity
(µ-cm)
11.4
Hardness (hv)
8~10
Elongation (%)
>50%
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
B Packaging Configuration
B.1 EM78P372KD14
Figure B-1 EM78P372K 14-pin PDIP Package Type
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 99
EM78P372K
8-bit Microcontroller
B.2
EM78P372KSO14
Figure B-2 EM78P372K 14-pin SOP Package Type
100 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
B.3
EM78P372KSO16A
Min.
1.350
0.100
1.300
0.330
0.190
3.800
5.800
9.800
0.600
Normal
1.400
Max.
1.750
0.250
1.500
0.510
0.250
4.000
6.200
10.000
1.270
1.27 (TYP)
0
8
A2
Symbol
A
A1
A2
b
c
E
H
D
L
e
θ
Figure B-3 EM78P372K 16-pin SOP Package Type
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 101
EM78P372K
8-bit Microcontroller
B.4
EM78P372KD18
Figure B-4 EM78P372K 18-pin PDIP Package Type
102 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
B.5
EM78P372KSO18
Figure B-5 EM78P372K 18-pin SOP Package Type
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 103
EM78P372K
8-bit Microcontroller
EM78P372KD20
A1
A2
B.6
Figure B-6 EM78P372K 20-pin PDIP Package Type
104 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
B.7
EM78P372KSO20
Figure B-7 EM78P372K 20-pin SOP Package Type
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 105
EM78P372K
8-bit Microcontroller
A2
E
EM78P372KSS20
E1
B.8
Figure B-8 EM78P372K 20-pin SSOP Package Type
106 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
EM78P372K
8-bit Microcontroller
B.9
EM78P372KMS10
Figure B-9 EM78P372K 10-pin MSOP Package Type
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)
 107
EM78P372K
8-bit Microcontroller
B.10 EM78P372KQN16
Figure B-10 EM78P372K 16-pin QFN Package Type
108 
Product Specification (V1.1) 02.09.2015
(This specification is subject to change without prior notice)