Data Sheet (eng)

EM78P516N
8-Bit Microcontroller
Product
Specification
DOC. VERSION 1.0
ELAN MICROELECTRONICS CORP.
April 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, ROC
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:
USA:
No. 12, Innovation Road 1
Hsinchu Science Park
Hsinchu, TAIWAN 308
Tel: +886 3 563-9977
Fax: +886 3 563-9966
[email protected]
http://www.emc.com.tw
Elan (HK) Microelectronics
Corporation, Ltd.
Flat A, 19F., World Tech Centre
95 How Ming Street, Kwun Tong
Kowloon, HONG KONG
Tel: +852 2723-3376
Fax: +852 2723-7780
Elan Information
Technology Group
(U.S.A.)
Shenzhen:
Shanghai:
Elan Microelectronics
Shenzhen, Ltd.
Elan Microelectronics
Shanghai, Ltd.
8A Floor, Microprofit Building
Gaoxin South Road 6
Shenzhen Hi-tech Industrial Park
South Area, Shenzhen
CHINA 518057
Tel: +86 755 2601-0565
Fax: +86 755 2601-0500
[email protected]
6F, Ke Yuan Building
No. 5 Bibo Road
Zhangjiang Hi-Tech Park
Shanghai, CHINA 201203
Tel: +86 21 5080-3866
Fax: +86 21 5080-0273
[email protected]
P.O. Box 601
Cupertino, CA 95015
U.S.A.
Tel: +1 408 366-8225
Fax: +1 408 366-8225
Contents
Contents
1
General Description ................................................................................................ 1
2
Features ................................................................................................................... 1
3
Pin Assignment ....................................................................................................... 2
4
Pin Description ........................................................................................................ 6
5
Block Diagram ....................................................................................................... 11
6
Functional Description .......................................................................................... 12
6.1
Operational Registers ..................................................................................... 12
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.1.7
6.1.8
6.1.9
6.1.10
6.1.11
6.1.12
6.1.13
6.1.14
6.1.15
6.1.16
6.1.17
6.1.18
6.1.19
6.1.20
6.1.21
6.1.22
6.1.23
6.1.24
6.1.25
6.1.26
6.1.27
6.1.28
R0, IAR (Indirect Addressing Register) ............................................................. 12
R1, TCC (Timer Clock Counter) ........................................................................ 12
R2, PC (Program Counter) ............................................................................... 12
R3, SR (Status Register) .................................................................................. 15
R4, RSR (RAM Select Register) ....................................................................... 16
Bank 0 R5, Port 5 (Port 5 I/O Data and Page of Register Select .................... 16
Bank 0 R6, Port 6 (Port 6 I/O Data Register) .................................................... 17
Bank 0 R7, Port 7 (Port 7 I/O Data Register) .................................................... 17
Bank 0 R8, Port 8 (Port 8 I/O Data Register) .................................................... 17
Bank 0 R9, LCDCR (LCD Control Register) ..................................................... 17
Bank 0 RA, LCD_ADDR (LCD Address) ........................................................... 18
Bank 0 RB, LCD_DB (LCD Data Buffer) ........................................................... 19
Bank 0 RC, CNTER (Counter Enable Register) ............................................... 20
Bank 0 RD, SBPCR (System, Booster and PLL Control Register) ................... 20
Bank 0 RE, IRCR (IR and Port 5 Setting Control Register) .............................. 23
Bank 0 RF, ISR (Interrupt Status Register) ...................................................... 24
Bank 1 R5, P5HDSCR (Port 5 High Drive/Sink Control Register) ................... 25
Bank 1 R6, P6HDSCR (Port 6 High Drive/Sink Control Register) ................... 25
Bank 1 R7, P78HDSCR (Ports 7~8 High Drive/Sink Control Register) ........... 25
Bank 1 R8, ADSR1 (ADC Input Select Register 1) ........................................... 26
Bank 1 R9, ADSR2 (ADC Input Select Register 2) ........................................... 27
Bank 1 RA, ADCR (ADC Control Register) ....................................................... 28
Bank 1 RB, ADISR (ADC Input Channel and Internal Reference
Selection Register) ............................................................................................29
Bank 1 RC, ADDL (Low Byte of Analog to Digital Converter Data) .................. 30
Bank 1 RD, ADDH (High Byte of Analog to Digital Converter Data) ................. 30
Bank 1 RE, IMR2 (Interrupt Mask Register 2) .................................................. 30
Bank 1 RF, SF2 (Interrupt Status Register 2) ................................................... 30
Address: 10h~3Fh; R10~R3F (General Purpose Register) .............................. 30
Product Specification (V0.1) 04.09.2015
• iii
Contents
6.2
Special Purpose Registers ·················································································· 31
6.2.1 A (Accumulator)................................................................................................. 31
6.2.2 IOC50, P5CR (Port 5 I/O and Ports 7, 8 for LCD Segment Control Register) 31
6.2.3 IOC60, P6CR (Port 6 I/O Control Register) ...................................................... 32
6.2.4 IOC70, P7CR (Port 7 I/O Control Register) ...................................................... 32
6.2.5 IOC80, P8CR (Port 8 I/O Control Register) ...................................................... 32
6.2.6 IOC90, RAM_ADDR (128 Bytes RAM Address) ............................................... 32
6.2.7 IOCA0, RAM_DB (128 Bytes RAM Data Buffer)............................................... 33
6.2.8 IOCB0, CNT1PR (Counter 1 Preset Register) .................................................. 33
6.2.9 IOCC0, CNT2PR (Counter 2 Preset Register) ................................................. 33
6.2.10 IOCD0, HPWTPR (High-Pulse Width Timer Preset Register) .......................... 34
6.2.11 IOCE0, LPWTPR (Low-Pulse Width Timer Preset Register) ............................ 34
6.2.12 IOCF0, IMR (Interrupt Mask Register) .............................................................. 34
6.2.13 IOC61, WUCR (Wake-up and Sink Current of P57/IROUT Control Register) .. 35
6.2.14 IOC71, TCCCR (TCC Control Register) ........................................................... 35
6.2.15 IOC81, WDTCR (WDT Control Register).......................................................... 36
6.2.16 IOC91, CNT12CR (Counters 1, 2 Control Register) ......................................... 37
6.2.17 IOCA1, HLPWTCR (High/Low Pulse Width Timer Control Register) .............. 38
6.2.18 IOCB1, P6PH (Port 6 Pull-high Control Register)............................................. 39
6.2.19 IOCC1, P6OD (Port 6 Open Drain Control Register)........................................ 39
6.2.20 IOCD1, P8PH (Port 8 Pull High Control Register) ............................................ 40
6.2.21 IOCE1, P6PL (Port 6 Pull Low Control Register) .............................................. 40
6.3
TCC and WDT Prescaler ................................................................................ 40
6.4
I/O Ports ......................................................................................................... 43
6.5
6.6
Reset and Wake up ........................................................................................ 43
Oscillator......................................................................................................... 49
6.6.1
6.6.2
6.6.3
6.6.4
6.7
Oscillator Modes ............................................................................................... 49
Phase Lock Loop (PLL Mode)........................................................................... 49
Crystal Oscillator/Ceramic Resonators (Crystal) .............................................. 50
RC Oscillator Mode with Internal Capacitor ...................................................... 51
Power-on Considerations ................................................................................ 51
6.7.1
6.7.2
External Power-on Reset Circuit ....................................................................... 52
Residue-Voltage Protection .............................................................................. 52
6.8
Interrupt .......................................................................................................... 53
6.9
LCD Driver ...................................................................................................... 55
6.9.1
6.9.2
6.9.3
6.9.4
R9/LCDCR (LCD Control Register) .................................................................. 55
RA/LCD_ADDR (LCD Address) ........................................................................ 56
RB/LCD_DB (LCD Data Buffer) ........................................................................ 56
RD/SBPCR (System, Booster and PLL Control Registers) .............................. 57
6.10 Infrared Remote Control Application/PWM Waveform Generation ................. 61
6.11 Analog-to-Digital Converter (ADC) .................................................................. 65
6.11.1 ADC Control Register ....................................................................................... 66
6.11.1.1 Bank 1 R8, ADSR1 (ADC Input Select Register 1) ............................ 66
iv •
Product Specification (V1.0) 04.09.2015
Contents
6.11.2
6.11.3
6.11.4
6.11.5
6.11.1.2 Bank 1 R9, ADSR2 (ADC Input Select Register 2) ............................ 67
6.11.1.3 Bank 1 RA, ADCR (ADC Control Register) ........................................ 68
6.11.1.4 Bank 1 RB, ADISR (ADC Input Channel and Internal
Reference Selection Register) ...........................................................69
6.11.1.5 Bank 1 RC, ADDL (Low Byte of Analog to Digital Converter Data) .... 70
6.11.1.6 Bank 1 RD, ADDH (High Byte of Analog to Digital Converter Data) .. 70
ADC Sampling Time .......................................................................................... 70
AD Conversion Time ......................................................................................... 70
ADC Operation during Sleep Mode.................................................................. 71
Programming Process/Considerations ............................................................. 72
6.11.5.1 Programming Process ........................................................................ 72
6.12 Code Options .................................................................................................. 73
6.13 Instruction Set ................................................................................................ 74
6.14 Timing Diagram .............................................................................................. 77
7
Absolute Maximum Ratings .................................................................................. 78
8
Electrical Characteristics ...................................................................................... 78
8.1
9
DC Electrical Characteristics........................................................................... 78
AD Converter Characteristics ............................................................................... 79
8.2
AC Electrical Characteristics ........................................................................... 81
APPENDIX
A
Ordering and Manufacturing Information ............................................................ 82
B
Package Type ......................................................................................................... 83
C
Package Information ............................................................................................. 84
D
EM78P516N Program Pin List ............................................................................... 90
E
Quality Assurance and Reliability ........................................................................ 91
E.1 Address Trap Detect ....................................................................................... 91
Product Specification (V1.0) 04.09.2015
•v
Contents
Specification Revision History
Doc. Version
1.0
vi •
Revision Description
Initial version
Date
2015/04/09
Product Specification (V1.0) 04.09.2015
EM78P516N
8-Bit Microcontroller
1
General Description
The EM78P516N is an 8-bit microprocessor designed and developed with low-power and high-speed
CMOS technology. Integrated onto a single chip are on-chip Watchdog Timer (WDT), Data RAM, ROM,
Programmable Real Time Clock Counter, Internal/External Interrupt, Power-down mode, LCD driver,
Infrared Transmitter function, and tri-state I/O. The series has an on-chip 6K×13-bit Electrical One Time
Programmable Read Only Memory (OTP-ROM). The EM78P516N provides multi-protection bits to prevent
intrusion of user’s OTP memory code. Seven Code option bits are available to meet user’s requirements.
Special 13 bits customer ID options are provided as well.
With its enhanced OTP-ROM feature, the EM78P516N 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. Users can avail of the ELAN Writer to easily program
their development code.
2
Features
CPU Configuration
•
•
•
•
6K×13 bits on-chip OTP-ROM
144 bytes general purpose register
128 bytes on-chip data RAM
272 bytes SRAM
144 bytes general purpose register
128 bytes on-chip data RAM
• 8-level stacks for subroutine nesting
• Power-on voltage detector provided (1.7±0.1V) for
EM78P516N
I/O Port Configuration
• Typically, 12 bidirectional tri-state I/O ports.
• 16 bidirectional tri-state I/O ports shared with LCD
segment output pin.
• Up to 28 bidirectional tri-state I/O ports
• Four programmable high-sink/drive I/O ports: P5,
P6, P7, P8
♦
Eight Interrupt Sources: Three External and Five Internal
• Internal interrupt source: TCC; Counters 1 and 2
High/Low pulse width timer
• External interrupt source : INT0, INT1 and Pin change
wake-up (Port 6 and Port 8)
LCD Circuit
• Common driver pins: 4
• Segment driver pins: 32
• LCD Bias: 1/3, 1/2 bias
• LCD Duty: 1/4, 1/3, 1/2 duty
Package Type:
Operating Mode:
• Normal mode: The CPU is operated on main
oscillator frequency (Fm)
• Green mode: The CPU is operated on
sub-oscillator frequency (Fs) and main oscillator
(Fm) is stopped
• Idle mode: CPU idle, LCD display remains working
• Sleep mode: The whole chip stops working
♦ Input port wake-up function (Port 6, Port 8).
Works on Idle and Sleep mode.
♦ Operation speed: DC ~ 10 MHz clock input
♦ Dual clock operation
Oscillation Mode
• High frequency oscillator can select among
Crystal, RC, or PLL (phase lock loop)
• Low frequency oscillator can select between
Crystal or RC mode
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
15-channels Analog-to-Digital Converter with 12bit
resolution +1 internal reference for Vref and 1/2Vdd
(power detector)
Operating Voltage and Temperature Range:
EM78P516N
• Commercial: 2.1V ~ 5.5V. (at 0°C ~+70°C)
• Industrial: 2.3V ~ 5.5V. (at -40°C ~+85°C)
Peripheral Configuration
• 8-bit real Time Clock/Counter (TCC)
• One infrared transmitter/PWM generator function
• Four sets of 8 bits auto reload down-counting timer can
be used as interrupt sources
♦ Counter 1: independent down-counting timer
♦ Counter 2, High Pulse Width Timer (HPWT), and Low
Pulse Width Timer (LPWT) shared
with IR function.
♦ Programmable free running on-chip Watchdog Timer
(WDT). This function can operate in Normal, Green
and Idle mode.
• Dice form: 59 pins
• QFP-64 pin: EM78P516NQ64
(Body 14mm×20mm)
• LQFP-64 pin: EM78P516NL64
(Body 7mm×7mm)
• LQFP-44 pin: EM78P516NL44
(Body 10mm×10mm)
• QFP-44 pin: EM78P516NQ44
(Body 10mm×10mm)
• QFP-64 pin: EM78P516NQ64B
(Body 14mm×14mm)
• LQFP-48 pin: EM78P516NL48
(Body 7mm×7mm)
Note: These are Green products which do not contain
hazardous substances
•1
EM78P516N
8-Bit Microcontroller
3
Pin Assignment
Figure 3-1 64-pin QFP EM78P516NQ64 Pin Assignment
2•
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
NC
SEG 26/P82
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
NC
NC
4
8
NC
NC
8-Bit Microcontroller
3
6
3
5
3
4
3
3
49
32
50
31
XOUT
51
30
XIN
52
29
VDD
53
28
OSCO
54
27
R-OSCI
26
GND
25
/RESET
24
VLCD 3
SEG 25 /P 81
55
SEG 24/P80
56
SEG 23 /P77
57
SEG 22/P76
58
23
VLCD 2
SEG 21 /P 75
59
22
VA
SEG 20/P74
60
21
VB
SEG 19/P73
61
20
COM 0
SEG 18/P72
62
19
COM 1
SEG 17/P71
63
18
COM 2
SEG 16/P70
64
17
COM 3
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
SEG 15
SEG 14
SEG 13
SEG 12
SEG 11
SEG 10
SE G 9
SE G 8
SE G 7
SE G 6
SE G 5
SE G 4
SE G 3
SE G 2
S EG 1
SE G 0
EM78P516NL64
EM78P516NQ64B
Figure 3-2 64-Pin LQFP/QFP EM78P516NL64/EM78P516NQ64B Pin Assignment
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
•3
EM78P516N
VA
VB
COM0
COM1
COM2
COM3
SEG 11
SEG 12
SEG 13
SEG 14
SEG 1
SEG 16/P70
8-Bit Microcontroller
Figure 3-3 48-Pin LQFP/QFP EM78P516NL48 Pin Assignment
4•
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Figure 3-4 44-Pin LQFP/QFP EM78P516NQ44/EM78P516NL44 Pin Assignment
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
•5
EM78P516N
8-Bit Microcontroller
4 Pin Description
Symbol
P54/INT0
(ACLK)
Function
Input
Type
Output
Type
P54
ST
CMOS
INT0
ST
Description
Bidirectional I/O pin
External interrupt pin. The INT0 interrupt
source can be set to falling or rising edge by
IOC71 Register Bit 7 (INT_EDGE).
−
Wakes up from Sleep mode and Idle mode
when the pin status changes.
(ACLK)
ST
−
P55
ST
CMOS
ACLK pin for Writer programming
Bidirectional I/O pin
External interrupt pin
P55/INT1
(DINCK)
P56/TCC
(DATAIN)
INT1
ST
−
The Interrupt source is a falling edge signal.
(DINCK)
ST
−
DINCK pin for Writer programming
P56
ST
CMOS
TCC
ST
−
TCC External input pin
(DATAIN)
ST
−
DATAIN pin for Writer programming
P57
ST
CMOS
IROUT
ST
−
P60
ST
CMOS
(PGMB)
ST
−
P61
ST
CMOS
(OEB)
ST
−
Wakes up from Sleep mode and Idle mode
when the pin status changes.
P57/IROUT
P60
P63
6•
P62
P63
ST
ST
Programmable pull-high, pull-down and
open-drain. All pins wake up from Sleep and
Idle modes when the pin status changes.
PGMB pin for Writer programming
(OEB)
P62
Bidirectional I/O pin. This pin is capable of
sinking 20 mA / 5V.
IR/PWM mode output pin
(PGMB)
P61
Bidirectional I/O pin. This pin works in Normal/
Green/Idle mode.
Programmable pull-high, pull-down and
open-drain. All pins wake up from Sleep and
Idle modes when the pin status changes.
OEB pin for Writer programming
CMOS
Bidirectional I/O pin with programmable
pull-high, pull-down and open-drain. All pins
wake up from Sleep and Idle modes when the
pin status changes.
CMOS
Bidirectional I/O pin with programmable
pull-high, pull-down and open-drain. All pins
wake up from Sleep and Idle modes when the
pin status changes.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Symbol
P64
P65
P66
P67
Function
P64
P65
P66
Input
Type
ST
ST
ST
Output
Type
Description
CMOS
Bidirectional I/O pin with programmable
pull-high, pull-down and open-drain. All pins
wake up from Sleep and Idle modes when the
pin status changes.
CMOS
Bidirectional I/O pin with programmable
pull-high, pull-down and open-drain. All pins
wake up from Sleep and Idle modes when the
pin status changes.
CMOS
Bidirectional I/O pin with programmable
pull-high, pull-down and open-drain. All pins
wake up from Sleep and Idle modes when the
pin status changes.
Bidirectional I/O pin with programmable
pull-high, pull-down and open-drain. All pins
wake up from Sleep and Idle modes when the
pin status changes.
P67
ST
CMOS
COM3~0
COM3~0
−
AN
LCD common output pin
SEG0~15
SEG0~15
−
AN
LCD segment output pin
SEG16
−
AN
LCD segment output pin
P70
ST
CMOS
SEG17
−
AN
P71
ST
CMOS
SEG18
−
AN
P73
ST
CMOS
SEG19
−
AN
P73
ST
CMOS
SEG20
−
AN
P74
ST
CMOS
SEG21
−
AN
P75
ST
CMOS
SEG16/P70
SEG17/P71
SEG18/P72
SEG19/P73
SEG20/P74
SEG21/P75
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
•7
EM78P516N
8-Bit Microcontroller
Symbol
SEG22/P76
Function
Input
Type
Output
Type
SEG22
−
AN
P76
ST
CMOS
SEG23
−
AN
P77
ST
CMOS
SEG24
−
AN
P80
ST
CMOS
SEG25
−
AN
P81
ST
CMOS
SEG26
−
AN
P82
ST
CMOS
SEG27
−
AN
P83
ST
CMOS
SEG28
−
AN
P84
ST
CMOS
SEG29
−
AN
P85
ST
CMOS
SEG30
−
AN
P86
ST
CMOS
SEG31
−
AN
P87
ST
CMOS
SEG23/P77
SEG24/P80
SEG25/P81
SEG26/P82
SEG27/P83
SEG28/P84
SEG29/P85
SEG30/P86
SEG31/P87
8•
Description
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin. All pins wake up from
Sleep and Idle modes when the pin status
changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
LCD segment output pin
Bidirectional I/O pin with programmable
pull-high. All pins wake up from Sleep and Idle
modes when the pin status changes.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Function
Input
Type
Output
Type
VB
VB
−
AN
Connects capacitors for LCD bias voltage
VA
VA
−
AN
Connects capacitors for LCD bias voltage
VLCD2
VLCD2
−
AN
One of LCD bias voltage
VLCD3
VLCD3
−
AN
One of LCD bias voltage
Symbol
Description
General-purpose Input only
/RESET
(VPP)
/RESET
ST
−
Low active. If it remains at logic low, the device
will reset.
/RESET pin for writer programming
VPP
ST
−
Vpp pin for Writer programming
In Crystal mode: crystal input
In RC mode: resistor pull high
R-OSCI
R-OSCI
AN
−
In PLL mode: connect a 0.01µF capacitance to
GND
Connect a 0.01 µF capacitor to GND and code
option selects PLL mode when high oscillator
is not used.
OSCO
Xin
Xout
OSCO
−
XTAL
Xin
XTAL
−
Xout
−
XTAL
In Crystal mode: crystal input
In RC mode: instruction clock output
In Crystal mode: Input pin for sub-oscillator.
Connect to a 32.768kHz crystal.
In Crystal mode: Connect to a 32.768kHz
crystal.
In RC mode: instruction clock output
NC
−
−
No connection
VDD
VDD
Power
−
Power
GND
GND
Power
−
Ground
NC
Legend: ST: Schmitt Trigger input
AN: analog pin
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
CMOS: CMOS output
XTAL: oscillation pin for crystal / resonator
•9
EM78P516N
8-Bit Microcontroller
Pin Status with Enabled Functions
I/O Status
Pin Function
Pin Control
I/O Direction
Pin Change
WK/Int.
Pull High
Pull Low
O.D.
Input
S/W
S/W
S/W
S/W
Output
Disable
S/W
S/W
S/W
TCC
Input
Disable
S/W
S/W
S/W
LCD Driver
Input
Disable
Disable
Disable
S/W
Output
Disable
Initial: Enable
S/W
S/W
Reset
Input
Disable
S/W
S/W
S/W
EX_INT
Input
Disable
S/W
S/W
S/W
OSCI
Input
Disable
Disable
Disable
S/W
OSCO
Input
Disable
Disable
Disable
S/W
General Input
General Output
TC-OUT
Disable → It is always disabled
Enable → It is always enabled
S/W → It can be controlled by the register, the initial value is disabled.
1. If the pin is not working as general I/O, it is a must to disable the Pin Change
Wake-up/Interrupt function.
2. Priority: digital function output > digital function input > general I/O
10 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
5
Block Diagram
Figure 5 System Block Diagram
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 11
EM78P516N
8-Bit Microcontroller
6 Functional Description
6.1 Operational Registers
6.1.1 R0, IAR (Indirect Addressing Register)
(Address: 00h)
R0 is not a physically implemented register. Its major function is to perform as an
indirect address pointer. Any instruction using R0 as a register, actually accesses the
data pointed by the RAM Select Register (R4).
6.1.2 R1, TCC (Timer Clock Counter)
(Address: 01h)
The Timer Clock Counter is incremented by an external signal edge applied to TCC, or
by the instruction cycle clock. It is written and read by the program as any other
register.
6.1.3 R2, PC (Program Counter)
(Address: 02h)
Figure 6-1 Program Counter Organization
The structure of R2 is depicted in Figure 6-1, Program Counter Organization.
The configuration structure generates 6K×13 bits on-chip ROM addresses to the
relative programming instruction codes.
12 •
The contents of R2 are all set to "0"s when a Reset condition occurs.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
"JMP" instruction allows direct loading of the lower 10 program counter bits. Thus,
"JMP" allows the PC to jump to any location within a page.
"CALL" instruction loads the lower 10 bits of the PC, and PC+1 are pushed onto the
stack. Thus, the subroutine entry address can be located anywhere within a page.
"RET" ("RETL k", "RETI") instruction loads the program counter with the contents
at the top of the 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 increment 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 tenth bits (A8 ~ A9) of the PC will remain unchanged.
The most significant bits (A10~A12) will be loaded with the content of PS0~PS1 in
the Status register (R3) upon execution of a "JMP" or "CALL" instruction.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 13
EM78P516N
8-Bit Microcontroller
Address
Bank 0 Registers
Bank 1 Registers
00
R0 (Indirect Addressing Register)
01
R1 (Time Clock Counter)
02
R2 (Program Counter)
03
R3 (Status Register and ROM page)
04
R4 (RAM Select Register)
IOC Page 0 Registers.
(R5 Bit 0 0)
IOC Page 1
Registers
(R5 Bit 0 1)
05
R5 (Port 5 and IOC
page)
R5 (P5HDSCR)
IOC50 (I/O Port Control
Register)
06
R6 (Port 6)
R6 (P6HDSCR)
IOC60 (I/O Port Control
Register)
IOC61 (Wake up
register)
07
R7 (Port 7)
R7 (P78HDSCR)
IOC70 (I/O Port Control
Register)
IOC71 (TCC control
register)
08
R8 (Port 8)
R8 (ADC input select
register 1)
IOC80(I/O Port Control
Register)
IOC81 (WDT control
register)
09
R9 (LCD Control
Register)
R9 (ADC input select
register 2)
IOC90 (128 byte RAM
address)
IOC91 (Counter 1,2
control)
0A
RA (LCD contrast
and Address)
RA (ADC control register)
IOCA0 (128 byte RAM
data buffer)
IOCA1 (High/Low
pulse timer
control)
0B
RB (LCD data
buffer)
RB (ADC input channel
selection register)
IOCB0 (Counter 1 preset)
IOCB1 (Port 6
pull-high
control)
0C
RC (Counter
Enable
Register)
RC (Low byte of ADC
Data)
IOCC0 (Counter 2 preset)
IOCC1 (Port 6 open
drain
control)
0D
RD (System clock
Control
Register)
RD (High byte of ADC
Data)
IOCD0 (High-pulse timer
preset)
IOCD1 (Port 8
pull-high
control)
0E
RE (IR Control
Register)
RE (Interrupt Mask
Register 2)
IOCE0 (Low-pulse timer
preset)
IOCE1 (Port 6
pull-low
control)
0F
RF (Interrupt Status
Register 1)
10
︰
1F
General Registers
20
︰
3F
Bank 0
RF (Interrupt Status
Register 2)
Bank 1
IOCF0 (Interrupt Mask
Register1)
Bank 2
Bank 3
Figure 6-2 Data Memory Configuration
14 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.1.4 R3, SR (Status Register)
(Address: 03h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PS2
PS1
PS0
T
P
Z
DC
C
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7 ~ 5 (PS2 ~ 0): Page Select bits
PS2
PS1
PS0
Program memory page (Address)
0
0
0
Page 0
0
0
1
Page 1
0
1
0
Page 2
0
1
1
Page 3
1
0
0
Page 4
1
0
1
Page 5
1
1
0
Page 5
1
1
1
Page 5
PS0~PS2 are used to select a ROM page. User can use the PAGE instruction (e.g.
PAGE 1) or set PS2~PS0 bits to change the ROM page. When executing a "JMP",
"CALL", or other instructions which causes the program counter to be changed (e.g.
MOV R2, A), PS2~PS0 are loaded into the 11th and 12th bits of the program counter
where it selects one of the available program memory pages. Note that RET (RETL,
RETI) instruction does not change the PS2~PS0 bits. That is, the return will always be
to the page from where the subroutine was called, regardless of the current setting of
PS2~PS0 bits.
Bit 4 (T): Time-out bit. Set to “1” by the "SLEP" and "WDTC" commands or during
power up and reset to “0” by WDT timeout.
Event
T
P
Remark
WDT wake up from sleep mode
0
0
−
WDT time out (not sleep mode)
0
1
−
/RESET wake up from sleep
1
0
−
Power up
1
1
−
Low pulse on /RESET
1
1
×: don't care
Bit 3 (P): Power down bit. Set to “1” during power on or by a "WDTC" command and
reset to “0” by a "SLEP" command.
Bit 2 (Z): Zero flag
Bit 1 (DC): Auxiliary Carry flag
Bit 0 (C): Carry flag
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 15
EM78P516N
8-Bit Microcontroller
6.1.5 R4, RSR (RAM Select Register)
(Address: 04h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RBS1
RBS0
RSR5
RSR4
RSR3
RSR2
RSR1
RSR0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7 ~ 6 (RBS1 ~ RBS0): determine which bank is activated among the four banks.
See the data memory configuration in Figure 6-2. Use the Bank Instruction (e.g.
Bank 1) to change banks.
Bank 1
Bank 0
Special Register Bank
RAM Bank
0
0
Bank 0
Bank 0
0
1
Bank 1
Bank 1
1
0
Bank 0
Bank 2
1
1
Bank 0
Bank 3
Bits 5 ~ 0 (RSR5 ~ RSR0): used to select up to 64 registers (Address: 00~3F) in
indirect addressing mode. If no indirect addressing is used, the RSR can be used
as an 8-bit general purpose read/writer register.
6.1.6 Bank 0 R5, Port 5 (Port 5 I/O Data and Page of
Register Select
(Address: 05h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R57
R56
R55
R54
−
−
−
IOCPAGE
R/W
R/W
R/W
R/W
-
-
-
R/W
Bits 7~4: Four bits I/O registers of Port 5
User can use the IOC50 register to define each bit either as input or output.
Bits 3~1: Not used
Bit 0 (IOCPAGE): change IOC5 ~ IOCF to another page
IOCPAGE = “0” : Page 0 (select register of IOC50 to IOC F0)
IOCPAGE = “1” : Page 1 (select register of IOC61 to IOC E1)
16 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.1.7 Bank 0 R6, Port 6 (Port 6 I/O Data Register)
(Address: 06h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R67
R66
R65
R64
R63
R62
R61
R60
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7~0: 8-bit I/O registers of Port 6
User can use the IOC60 register to define each bit either as input or output.
6.1.8 Bank 0 R7, Port 7 (Port 7 I/O Data Register)
(Address: 07h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R77
R76
R75
R74
R73
R72
R71
R70
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7~0: 8-bit I/O registers of Port 7
User can use the IOC70 register to define each bit either as input or output.
6.1.9 Bank 0 R8, Port 8 (Port 8 I/O Data Register)
(Address: 08h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R87
R86
R85
R84
R83
R82
R81
R80
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7~0: 8-bit I/O registers of Port 8
User can use the IOC80 register to define each bit either as input or output.
6.1.10 Bank 0 R9, LCDCR (LCD Control Register)
(Address: 09h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
BS
DS1
DS0
LCDEN
-
LCDTYPE
LCDF1
LCDF0
R/W
R/W
R/W
R/W
-
R/W
R/W
R/W
Bit 7 (BS): LCD bias select bit
BS = "0": 1/2 bias
BS = "1": 1/3 bias
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 17
EM78P516N
8-Bit Microcontroller
Bits 6 ~ 5 (DS1 ~ DS0): LCD duty select
DS1
DS0
LCD Duty
0
0
1/2 duty
0
1
1/3 duty
1
×
1/4 duty
Bit 4 (LCDEN): LCD enable bit
LCDEN = "0": LCD circuit disabled. All common/segment outputs are set to
ground (GND) level.
LCDEN = "1": LCD circuit enabled.
Bit 3: Not used
Bit 2 (LCDTYPE): LCD drive waveform type select bit
LCDTYPE = "0": A type waveform
LCDTYPE = "1": B type waveform
Bits 1 ~ 0 (LCDF1~LCDF0): LCD frame frequency control bits
LCDF1
LCDF0
0
LCD Frame Frequency (e.g. Fs=32.768kHz)
1/2 Duty
1/3 Duty
1/4 Duty
0
Fs/(256×2)=64.0
Fs/(172×3)=63.5
Fs/(128×4)=64.0
0
1
Fs/(280×2)=58.5
Fs/(188×3)=58.0
Fs/(140×4)=58.5
1
0
Fs/(304×2)=53.9
Fs/(204×3)=53.5
Fs/(152×4)=53.9
1
1
Fs/(232×2)=70.6
Fs/(156×3)=70.0
Fs/(116×4)=70.6
Note: Fs: sub-oscillator frequency
6.1.11 Bank 0 RA, LCD_ADDR (LCD Address)
(Address: 0Ah)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
LCD_A4
LCD_A3
LCD_A2
LCD_A1
LCD_A0
-
-
-
R/W
R/W
R/W
R/W
R/W
Bits 7~5: Not used, fixed at “0”
18 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Bits 4~0 (LCDA4 ~ LCDA0): LCD RAM addresses
RB (LCD Data Buffer)
RA
Bit 3
(LCD Address) Bits 7 ~4
Bit 2
Bit 1
Bit 0
Segment
(LCD_D3) (LCD_D2) (LCD_D1) (LCD_D0)
00H
−
−
−
−
−
SEG0
01H
−
−
−
−
−
SEG1
02H
−
−
−
−
−
SEG2
|
|
|
1DH
−
−
−
−
−
SEG29
1EH
−
−
−
−
−
SEG30
1FH
−
−
−
−
−
SEG31
Common
×
COM3
COM2
COM1
COM0
6.1.12 Bank 0 RB, LCD_DB (LCD Data Buffer)
(Address: 0Bh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
LCD_D3
LCD_D2
LCD_D1
LCD_D0
-
-
-
-
R/W
R/W
R/W
R/W
Bits 7~4: Not used
Bits 3~0 (LCD_D3 ~ LCD_D0): LCD RAM data transfer register
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 19
EM78P516N
8-Bit Microcontroller
6.1.13 Bank 0 RC, CNTER (Counter Enable Register)
(Address: 0Ch)
Bit 7
Bit 6
Bit 5
Bit 4
−
−
−
−
-
-
-
-
Bit 3
Bit 2
LPWTEN HPWTEN
R/W
Bit 1
Bit 0
CNT2EN
CNT1EN
R/W
R/W
R/W
Bits 7, 5: Not used, must be fixed to “0”
Bits 6, 4: Not used
Bit 3 (LPWTEN): Low pulse width timer enable bit
LPWTEN = "0": Disable LPWT. Stop counting operation.
LPWTEN = "1": Enable LPWT. Start counting operation.
Bit 2 (HPWTEN): High pulse width timer enable bit
HPWTEN = "0": Disable HPWT. Stop counting operation.
HPWTEN = "1": Enable HPWT. Start counting operation.
Bit 1 (CNT2EN): Counter 2 enable bit
CNT2EN = "0": Disable Counter 2. Stop counting operation.
CNT2EN = "1": Enable Counter 2. Start counting operation.
Bit 0 (CNT1EN): Counter 1 enable bit
CNT1EN = "0": Disable Counter 1. Stop counting operation.
CNT1EN = "1": Enable Counter 1. Start counting operation.
6.1.14 Bank 0 RD, SBPCR (System, Booster and PLL Control
Register)
(Address: 0Dh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
CLK2
CLK1
CLK0
IDLE
BF1
BF0
CPUS
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7: Not used
Bits 6 ~ 4 (CLK2 ~ CLK0): Main clock select bits for PLL mode (Code Option Select)
20 •
CLK2
CLK1
CLK0
Main clock
Example Fs=32.768K
0
0
0
Fs×130
4.26 MHz
0
0
1
Fs×65
2.13 MHz
0
1
0
Fs×65/2
1.065 MHz
0
1
1
Fs×65/4
532 kHz
1
×
×
Fs×244
8 MHz
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Bit 3 (IDLE): Idle mode enable bit. This bit will determine the intended mode of the
SLEP instruction.
Idle = “0”+SLEP instruction → Sleep mode
Idle = “1”+SLEP instruction → Idle mode
* NOP instruction must be added after SLEP instruction.
Example:
Idle mode: Idle bit = "1" +SLEP instruction + NOP instruction
Sleep mode: Idle bit = "0" +SLEP instruction + NOP instruction
Bits 2, 1 (BF1, 0): LCD booster frequency select bit to adjust VLCD 2, 3 driving.
BF1
BF0
Booster Frequency
0
0
Fs
0
1
Fs/4
1
0
Fs/8
1
1
Fs/16
Bit 0 (CPUS): CPU oscillator source select. When CPUS=0, the CPU oscillator select
sub-oscillator and the main oscillator is stopped.
CPUS = "0": sub-oscillator (Fs)
CPUS = "1": main oscillator (Fm)
CPU Operation Mode
Code option
HLFS=1
Normal Mode
Code option
HLFS=0
fosc:oscillation
fs: oscillation
external
interrupt
RESET
CPU: using fosc
w ake up
IDLE="0"
SLEP
SLEEP Mode
CPUS="1"
external
interrupt
Green Mode
fosc:stop
fs: stop
CPU: stop
CPUS="0"
IDLE="1"
SLEP
IDLE="1"
SLEP
fosc:stop
fs: oscillation
IDLE="0"
SLEP
CPU: using fs
IDLE Mode
fosc:stop
fs: oscillation
w ake up
CPU: stop
Figure 6-3 CPU Operation Mode
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 21
EM78P516N
8-Bit Microcontroller
Note
(*) 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 the external pin) can still count and its interrupt flag can be active
at matching condition as corresponding interrupt is enabled. But the CPU cannot be
awakened by this event.
(**)
Switching Operation Mode at Sleep → Normal,
Green → Normal:
If the Timer Clock Source 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 the CPU starts to work at Normal mode.
Switching Operation Mode at Sleep → Green:
If the Timer Clock Source 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 the CPU starts to work at Green mode.
Switching Operation Mode at Sleep → Normal:
If the Timer Clock Source 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 the CPU starts to work at Normal mode.
Power-on
LVR
Fmain Fsub
Pin-Reset
WDT
N/G/I
S
RC 18ms+WSTO+15*1/Fsub 18ms+WSTO+15*1/ Fsub 18ms+WSTO+15*1/ Fsub
RC
XT
18ms+WSTO+15*1/Fsub 18ms+WSTO+15*1/ Fsub 18ms+WSTO+15*1/ Fsub
RC 18ms+WSTO+15*1/Fsub 18ms+WSTO+15*1/ Fsub 18ms+WSTO+15*1/ Fsub
XT
XT
Fmain
18ms+WSTO+15*1/Fsub 18ms+WSTO+15*1/Fsub 18ms+WSTO+15*1/Fsub
Fsub
GN
IN
SN
RC
WSTO + 11*1/Fmain
WSTO + 15*1/ Fsub
18ms + WSTO + 15*1/ Fsub
XT
WSTO + 11*1/Fmain
WSTO + 15*1/ Fsub
18ms + WSTO + 15*1/ Fsub
RC
WSTO + 11*1/Fmain
WSTO + 15*1/ Fsub
18ms + WSTO + 15*1/ Fsub
XT
WSTO + 11*1/Fmain
WSTO + 15*1/ Fsub
18ms + WSTO + 15*1/Fsub
RC
XT
22 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Fmain
Fsub
IG
SG
IRC
WSTO + 15*1/Fsub
18ms + WSTO + 15*1/ Fsub
XT
WSTO + 15*1/Fsub
18ms + WSTO + 15*1/ Fsub
IRC
WSTO + 15*1/Fsub
18ms + WSTO + 15*1/ Fsub
XT
WSTO + 15*1/Fsub
18ms + WSTO + 15*1/Fsub
IRC
XT
WSTO: Waiting Time from Start-to-Oscillation
N: Normal mode
6.1.15
G: Green mode
I: Idle mode
S: Sleep mode
Bank 0 RE, IRCR (IR and Port 5 Setting Control Register)
(Address: 0Eh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IRE
HF
LGP
−
IROUTE
TCCE
EINT1
EINT0
R/W
R/W
R/W
-
R/W
R/W
R/W
R/W
Bit 7 (IRE): Infrared Remote Enable bit
IRE = "0": Disable the IR/PWM function. The state of P57/IROUT/AD2 pin is
determined by Bit 7 of IOC 50 if it is for IROUT.
IRE = "1": Enable IR or PWM function
Bit 6 (HF): High carry frequency
HF = "0": For PWM application, disable the H/W modulator function. The IROUT
waveform is generated according to high-pulse and low-pulse time as
determined by the respective high pulse and low pulse width timers.
Counter 2 is an independent auto reload timer.
HF = "1": For IR application mode, enable the H/W modulator function, the low
time sections of the generated pulse is modulated with the Fcarrier
frequency. The Fcarrier frequency is provided by Counter 2.
Bit 5 (LGP): IROUT for of low pulse width timer
LGP = "0": The high-pulse width timer register and low-pulse width timer is valid.
LGP = "1": The high-pulse width timer register is ignored. So the IROUT
waveform is dependent on the low-pulse width timer register only.
Bit 4: Not used
Bit 3 (IROUTE): Define the function of P57/IROUT/AD2 pin
IROUTE = "0": for bidirectional general I/O or AD2 pin
IROUTE = "1": for IR or PWM output pin, the control bit of P57 (Bit 7 of IOC50)
must be set to “0”
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 23
EM78P516N
8-Bit Microcontroller
Bit 2 (TCCE): Define the function of P56/TCC/VREF pin
TCCE = "0": for bidirectional general I/O or VREF pin
TCCE = "1": for external input pin of TCC, the control bit of P56 (Bit 6 of IOC50)
must be set to “1”
Bit 1 (EINT1): Define the function of P55/INT1/AD1 pin
EINT1 = "0": for bidirectional general I/O or AD1 pin
EINT1 = "1": for external interrupt pin of INT1, the control bit of P55 (Bit 5 of
IOC50) must be set to “1”
Bit 0 (EINT0): Define the function of P54/INT0/AD0 pin
EINT0 = "0": for bidirectional general I/O or AD0 pin
EINT0 = "1": for external interrupt pin of INT0, the control bit of P54 (Bit 4 of
IOC50) must be set to “1”
6.1.16 Bank 0 RF, ISR (Interrupt Status Register)
(Address: 0Fh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ICIF
LPWTF
HPWTF
CNT2F
CNT1F
INT1F
INT0F
TCIF
F
F
F
F
F
F
F
F
These bits are set to “1” when interrupt occurs.
Bit 7 (ICIF): Port 6, Port 8, input status changed interrupt flag. Set when Port 6, Port 8
input changes.
Bit 6 (LPWTF): Interrupt Flag of the internal Low-Pulse Width Timer underflow.
Bit 5 (HPWTF): Interrupt Flag of the internal High-Pulse Width Timer underflow.
Bit 4 (CNT2F): Interrupt Flag of the internal Counter 2 underflow.
Bit 3 (CNT1F): Interrupt Flag of the internal Counter 1 underflow.
Bit 2 (INT1F): External INT1 pin Interrupt Flag
Bit 1 (INT0F): External INT0 pin Interrupt Flag
Bit 0 (TCIF): TCC timer overflow Interrupt Flag. Set when TCC timer overflows.
24 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.1.17
Bank 1 R5, P5HDSCR (Port 5 High Drive/Sink Control
Register)
(Address: 05h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
H57
H56
H55
H54
-
-
-
-
R/W
R/W
R/W
R/W
R
R
R
R
Bits 7~4 (H57~H54): P57~P54 high drive/sink current control bits
0: Enable high drive/sink
1: Disable high drive/sink
Bits 3~0: Not used, set to “1” all the time.
6.1.18
Bank 1 R6, P6HDSCR (Port 6 High Drive/Sink Control
Register)
(Address: 06h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
H67
H66
H65
H64
H63
H62
H61
H60
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7~0 (H67~H60): P67~P60 high drive/sink current control bits
0: Enable high drive/sink
1: Disable high drive/sink
6.1.19
Bank 1 R7, P78HDSCR (Ports 7~8 High Drive/Sink Control
Register)
(Address: 07h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
P8HHDS
P8LHDS
P7HHDS
P7LHDS
R
R
R
R
R/W
R/W
R/W
R/W
Bits 7~4: Not used, set to “1” all the time.
Bit 3 (P8HHDS): Control bit used to enable high drive/sink of Port 8 high nibble pin
0: Enable high drive/sink
1: Disable high drive/sink
Bit 2 (P8LHDS): Control bit used to enable high drive/sink of Port 8 low nibble pin
Bit 1 (P7HHDS): Control bit used to enable high drive/sink of Port 7 high nibble pin
Bit 0 (P7LHDS): Control bit used to enable high drive/sink of Port 7 low nibble pin
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 25
EM78P516N
8-Bit Microcontroller
6.1.20
Bank 1 R8, ADSR1 (ADC Input Select Register 1)
(Address: 08h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (ADE7): AD converter enable bit of P64 pin
0 : Disable AD7, P64 functions as I/O pin
1 : Enable AD7 to function as analog input pin
Bit 6 (ADE6): AD converter enable bit of P63 pin
0 : Disable AD6, P63 functions as I/O pin
1 : Enable AD6 to function as analog input pin
Bit 5 (ADE5): AD converter enable bit of P62 pin
0 : Disable AD5, P62 functions as I/O pin
1 : Enable AD5 to function as analog input pin
Bit 4 (ADE4): AD converter enable bit of P61 pin
0 : Disable AD4, P61 functions as I/O pin
1 : Enable AD4 to function as analog input pin
Bit 3 (ADE3): AD converter enable bit of P60 pin
0 : Disable AD3, P60 functions as I/O pin
1 : Enable AD3 to function as analog input pin
Bit 2 (ADE2): AD converter enable bit of P57 pin
0 : Disable AD2, P57/IROUT functions pin
1 : Enable AD2 to function as analog input pin
Bit 1 (ADE1): AD converter enable bit of P55 pin
0 : Disable AD1, P55/INT1 functions pin
1 : Enable AD1 to function as analog input pin
Bit 0 (ADE0): AD converter enable bit of P54 pin
0 : Disable AD0, P54/INT0 functions pin
1 : Enable AD0 to function as analog input pin
26 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.1.21
Bank 1 R9, ADSR2 (ADC Input Select Register 2)
(Address: 09h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
ADE14
ADE13
ADE12
ADE11
ADE10
ADE9
ADE8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7: Not used, set to “0” all the time.
Bit 6 (ADE14): AD converter enable bit of P84 pin
0 : Disable AD14, SEG28/P84 functions pin
1 : Enable AD14 to function as analog input pin
Bit 5 (ADE13): AD converter enable bit of P85 pin
0 : Disable AD13, SEG29/P85 functions pin
1 : Enable AD13 to function as analog input pin
Bit 4 (ADE12): AD converter enable bit of P86 pin
0 : Disable AD12, SEG30/P86 functions pin
1 : Enable AD12 to function as analog input pin
Bit 3 (ADE11): AD converter enable bit of P87 pin
0 : Disable AD11, SEG31/P87 functions pin
1 : Enable AD11 to function as analog input pin
Bit 2 (ADE10): AD converter enable bit of P67 pin
0 : Disable AD10, P67 functions as I/O pin
1 : Enable AD10 to function as analog input pin
Bit 1 (ADE9): AD converter enable bit of P66 pin
0 : Disable AD9, P66 functions as I/O pin
1 : Enable AD9 to function as analog input pin
Bit 0 (ADE8): AD converter enable bit of P65 pin
0 : Disable AD8, P65 functions as I/O pin
1 : Enable AD8 to function as analog input pin
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 27
EM78P516N
8-Bit Microcontroller
6.1.22
Bank 1 RA, ADCR (ADC Control Register)
(Address: 0Ah)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
CKR1
CKR0
ADRUN
ADP
-
SHS1
SHS0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7: Not used, set to "0" all the time.
Bits 6~5 (CKR1~0): Clock Rate Selection of ADC
System Mode
CKR[2:0]
Normal Mode
Green Mode
Clock Rate
00
FMain/16
01
FMain/4
10
FMain/64
11
FMain/1
xxx
FSub
Bit 4 (ADRUN): ADC Starts to Run
0 : Reset on completion of the conversion by hardware, this bit cannot be
reset by software.
1 : An A/D conversion starts. This bit can be set by software
Bit 3 (ADP): ADC Power
0 : ADC is in power down mode.
1 : ADC is operating normally.
Bit 2: Not used, set to "0" all the time.
Bits 1~0 (SHS1~0): Sample and Hold Timing Selection
28 •
SHS[1:0]
Sample and Hold Timing
00
2 x TAD
01
4 x TAD
10
8 x TAD
11
12 x TAD
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.1.23
Bank 1 RB, ADISR (ADC Input Channel and Internal
Reference Selection Register)
(Address: 0Bh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
VREF2
VREF1
VREF0
ADIS3
ADIS2
ADIS1
ADIS0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (VREFS): The input source of the Vref of the ADC
0: The Vref of the ADC is connected to internal reference voltage (default
value), and the P56/TCC/VREF pin carries out the function of P56/TCC.
: The Vref of the ADC is connected to P56/TCC/VREF
Bits 6~4 (VREF2~0): ADC internal reference voltage source
VREF[2:0]
ADC Internal Reference Voltage
000
VDD
001
4.0V ± 1%
010
3.0V ± 1%
011
2.5V ± 1%
1xx
2.0V ± 1%
Bits 3~0 (ADIS3~0): ADC input channel selection bits
ADIS[3:0]
Selected
Channel
ADIS[3:0]
Selected
Channel
0000
ADC0
1000
ADC8
0001
ADC1
1001
ADC9
0010
ADC2
1010
ADC10
0011
ADC3
1011
ADC11
0100
ADC4
1100
ADC12
0101
ADC5
1101
ADC13
0110
ADC6
1110
ADC14
0111
ADC7
1111
1/2 VDD PowerDet.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 29
EM78P516N
8-Bit Microcontroller
6.1.24
Bank 1 RC, ADDL (Low Byte of Analog to Digital Converter
Data)
(Address: 0Ch)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD7
ADD6
ADD5
ADD4
ADD3
ADD2
ADD1
ADD0
R
R
R
R
R
R
R
R
Bits 7~0 (ADD7~0): Low Byte of AD Data Buffer
6.1.25
Bank 1 RD, ADDH (High Byte of Analog to Digital
Converter Data)
(Address: 0Dh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD11
ADD10
ADD9
ADD8
ADD7
ADD6
ADD5
ADD4
R
R
R
R
R
R
R
R
Bits 7~0 (ADD11~4): High Byte of AD Data Buffer.
6.1.26
Bank 1 RE, IMR2 (Interrupt Mask Register 2)
(Address: 0Eh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
−
−
−
ADIE
−
−
−
−
−
−
−
R/W
Bits 7~1: Not used, set to "0" all the time.
Bit 0 (ADIE): ADSF interrupt enable bit.
0: disable ADSF interrupt
1: enable ADSF interrupt
6.1.27
Bank 1 RF, SF2 (Interrupt Status Register 2)
(Address: 0Fh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
−
−
−
ADIF
−
−
−
−
−
−
R/W
Bits 7~1: Not used, set to "0" all the time.
Bit 0 (ADIF): Analog to digital conversion interrupt flag. Set when AD conversion is
completed, reset by software.
6.1.28 Address: 10h~3Fh; R10~R3F (General Purpose Register)
R10~R31F and R20~R3F (Banks 0~3) are general purpose registers.
30 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.2 Special Purpose Registers
6.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.
Registers of IOC Page 0 (IOC50 ~ IOCF0, Bit 0 of R5 = “0”)
6.2.2 IOC50, P5CR (Port 5 I/O and Ports 7, 8 for LCD Segment
Control Register)
(Address: 05h, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IOC57
IOC56
IOC55
IOC54
P8HS
P8LS
P7HS
P7LS
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7~4 (IOC57~54): Port 5 I/O direction control register
IOC5x = "0": set the relative P5x I/O pins as output
IOC5x = "1": set the relative P5x I/O pin into high impedance (input pin)
Bit 3 (P8HS): Switch to high nibble I/O of Port 8 or to LCD segment output while
sharing pins with SEGxx/P8x pins.
P8HS = "0": select high nibble of Port 8 as normal P84~P87
P8HS = "1": select LCD segment output as SEG 28~SEG 31 output
Bit 2 (P8LS): Switch to low nibble I/O of Port 8 or to LCD segment output while sharing
pins with SEGxx/P8x pins
P8LS = "0": select low nibble of Port 8 as normal P80~P83
P8LS = "1": select LCD Segment output as SEG 24~SEG 27 output
Bit 1 (P7HS): Switch to high nibble I/O of Port 7 or to LCD segment output while
sharing pins with SEGxx/P7x pins
P7HS = "0": select high nibble of Port 7 as normal P74~P77
P7HS = "1": select LCD Segment output as SEG 20~SEG 23 output
Bit 0 (P7LS): Switch to low nibble I/O of Port 7 or to LCD segment output while sharing
pins with SEGxx/P7x pins
P7LS = "0": select low nibble of Port 7 as normal P70~P73
P7LS = "1": select LCD segment output as SEG 16~SEG 19 output
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 31
EM78P516N
8-Bit Microcontroller
6.2.3 IOC60, P6CR (Port 6 I/O Control Register)
(Address: 06h, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IOC67
IOC66
IOC65
IOC64
IOC63
IOC62
IOC61
IOC60
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (IOC67) ~ Bit 0 (IOC60): Port 6 I/O direction control register
IOC6x ="0": set the relative Port 6x I/O pins as output
IOC6x ="1": set the relative Port 6x I/O pin into high impedance (input pin)
6.2.4 IOC70, P7CR (Port 7 I/O Control Register)
(Address: 07h, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IOC77
IOC76
IOC75
IOC74
IOC73
IOC72
IOC71
IOC70
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (IOC77) ~ Bit 0 (IOC70): Port 7 I/O direction control register
IOC7x = "0": set the relative Port 7x I/O pins as output
IOC7x = "1": set the relative Port 7x I/O pin into high impedance (input pin)
6.2.5 IOC80, P8CR (Port 8 I/O Control Register)
(Address: 08h, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IOC87
IOC86
IOC85
IOC84
IOC83
IOC82
IOC81
IOC80
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (IOC 87) ~ Bit 0 (IOC 80): Port 8 I/O direction control register
IOC8x = "0": set the relative Port 8x I/O pins as output
IOC8x = "1": set the relative Port 8x I/O pin into high impedance (input pin)
6.2.6 IOC90, RAM_ADDR (128 Bytes RAM Address)
(Address: 09h, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
RAM_A6
RAM_A5
RAM_A4
RAM_A3
RAM_A2
RAM_A1
RAM_A0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7: Not used, fixed at “0”
Bits 6~0: 128 bytes RAM address
32 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.2.7 IOCA0, RAM_DB (128 Bytes RAM Data Buffer)
(Address: 0Ah, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RAM_D7
RAM_D6
RAM_D5
RAM_D4
RAM_D3
RAM_D2
RAM_D1
RAM_D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 7~0: 128 bytes RAM data transfer register
6.2.8 IOCB0, CNT1PR (Counter 1 Preset Register)
(Address: 0Bh, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: These are Counter 1 buffers which user can read and write. Counter 1 is
an 8-bit down-count timer with 8-bit prescaler used to preset the counter and read the
preset value. The prescaler is set by the IOC91 register. After an interrupt, it will auto
reload the preset value.
6.2.9 IOCC0, CNT2PR (Counter 2 Preset Register)
(Address: 0Ch, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: These are Counter 2 buffers which user can read and write. Counter 2 is
an 8-bit down-count timer with 8-bit prescaler used to preset the counter and read the
preset value. The prescaler is set by IOC91 register. After an interrupt, it will reload the
preset value.
When IR output is enabled, this control register can obtain carrier frequency output.
If the Counter 2 clock source is equal to FT ,
then
Carrier frequency (Fcarrier) =
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
FT
2 * (preset _ value + 1) * prescaler
• 33
EM78P516N
8-Bit Microcontroller
6.2.10 IOCD0, HPWTPR (High-Pulse Width Timer Preset Register)
(Address: 0Dh, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: These are high-pulse width timer buffers which user can read and write.
High-pulse width timer preset register is an eight-bit down-counter with 8-bit prescaler
used as IOCD0 to preset the counter and read the preset value. The prescaler is set by
the IOCA1 register. After an interrupt, it will reload the preset value.
For PWM or IR application, this control register is set as high pulse width.
If the high-pulse width timer clock source is FT ,
then
prescaler * (preset _ value + 1)
High pulse time =
FT
6.2.11 IOCE0, LPWTPR (Low-Pulse Width Timer Preset Register)
(Address: 0Eh, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: All are low-pulse width timer buffer that user can read and write.
Low-pulse width timer preset is an eight-bit down-counter with 8-bit prescaler that is
used as IOCE0 to preset the counter and read preset value. The prescaler is set by
IOCA1 register. After an interrupt, it will reload the preset value.
For PWM or IR application, this control register is set as low pulse width.
If the low-pulse width timer clock source is FT ,
then
5
Low pulse time =
prescaler * (preset _ value + 1)
FT
6.2.12 IOCF0, IMR (Interrupt Mask Register)
(Address: 0Fh, Bit 0 of R5 = “0”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ICIE
LPWTE
HPWTE
CNT2E
CNT1E
INT1E
INT0E
TCIE
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: interrupt enable bit. Enable the respective interrupt source.
0: disable interrupt
1: enable interrupt
The IOCF0 register is readable and writable.
34 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Registers of IOC Page 1 (IOC61 ~ IOCE1, Bit 0 of R5 = “1”)
6.2.13 IOC61, WUCR (Wake-up and Sink Current of P57/IROUT
Control Register)
(Address: 06h, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IROCS
-
-
-
/WUE8H
/WUE8L
/WUE6H
/WUE6L
R/W
-
-
-
R/W
R/W
R/W
R/W
Bit 7: IROCS: IROUT/Port 57 output sink current set
P57/IROUT Sink Current
IROCS
VDD=5V
VDD=3V
0
10 mA
6 mA
1
20 mA
12 mA
Bits 6, 5, 4: Not used
Bit 3 (/WUE8H): 0/1→ enable/disable P84~P87 pin change wake-up function
Bit 2 (/WUE8L): 0/1 → enable/disable P80~P83 pin change wake-up function
Bit 1 (/WUE6H): 0/1 → enable/disable P64~P67 pin change wake-up function
Bit 0 (/WUE6L): 0/1 → enable/disable P60~P63 pin change wake-up function
* Port 6 and Port 8 must not be set as input floating when wake-up function is
enabled. “Enable” is the initial state of wake-up function.
6.2.14 IOC71, TCCCR (TCC Control Register)
(Address: 07h, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INT_EDGE
INT
TS
TE
PSRE
TCCP2
TCCP1
TCCP0
R/W
F
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (INT_EDGE):
INT_EDGE = "0": Interrupt on the rising edge of P54/INT0 pin
INT_EDGE = "1": Interrupt on the falling edge of P54/INT0 pin
Bit 6 (INT): INT enable flag, this bit is read only
INT = "0": interrupt masked by DISI or hardware interrupt
INT = "1": interrupt enabled by ENI/RETI instructions
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 35
EM78P516N
8-Bit Microcontroller
Bit 5 (TS): TCC signal source
TS = "0": internal instruction cycle clock
TS = "1": transition on TCC pin, TCC period > internal instruction clock period
Bit 4 (TE): TCC signal edge
TE = "0": incremented by TCC pin rising edge
TE = "1": incremented by TCC pin falling edge
Bits 3~0 (PSRE, TCCP2 ~ TCCP0): TCC prescaler bits
PSRE
TCCP2
TCCP1
TCCP0
TCC Rate
0
×
×
×
1:1
1
0
0
0
1:2
1
0
0
1
1:4
1
0
1
0
1:8
1
0
1
1
1:16
1
1
0
0
1:32
1
1
0
1
1:64
1
1
1
0
1:128
1
1
1
1
1:256
6.2.15 IOC81, WDTCR (WDT Control Register)
(Address: 08h, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
WDTE
WDTP2
WDTP1
WDTP0
−
−
−
−
R/W
R/W
R/W
R/W
Bits 7 ~ 4: Not used
Bit 3 (WDTE): Watchdog timer enable. This control bit is used to enable the Watchdog
timer,
WDTE = "0": Disable WDT function
WDTE = "1": Enable WDT function
36 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Bits 2 ~ 0 (WDTP2 ~ WDTP0): Watchdog Timer prescaler bits. The WDT clock source
is sub-oscillation frequency.
WDTP2
WDTP1
WDTP0
WDT Rate
0
0
0
1:1
0
0
1
1:2
0
1
0
1:4
0
1
1
1:8
1
0
0
1:16
1
0
1
1:32
1
1
0
1:64
1
1
1
1:128
6.2.16 IOC91, CNT12CR (Counters 1, 2 Control Register)
(Address: 09h, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CNT2S
CNT2P2
CNT2P1
CNT2P0
CNT1S
CNT1P2
CNT1P1
CNT1P0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (CNT2S): Counter 2 clock source select
“0”: Fs (Fs: sub-oscillator clock)
“1”: Fm (Fm: main-oscillator clock)
Bits 6~4 (CNT2P2 ~ CNT2P0): Counter 2 prescaler select bits
CNT2P2
CNT2P1
CNT1P0
Counter 2 Scale
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
Bit 3 (CNT1S): Counter 1 Clock Source Select
“0”: Fs (Fs: sub-oscillator clock)
“1”: Fm (Fm: main-oscillator clock)
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 37
EM78P516N
8-Bit Microcontroller
Bits 2~0 (CNT1P2 ~ CNT1P20): Counter 1 prescaler select bits
CNT1P2
CNT1P1
CNT1P0
Counter 1 Scale
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
6.2.17 IOCA1, HLPWTCR (High/Low Pulse Width Timer Control
Register)
(Address: 0Ah, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LPWTS
LPWTP2
LPWTP1
LPWTP0
HPWTS
HPWTP2
HPWTP1
HPWTP0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (LPWTS): Low-Pulse Width Timer Clock Source Select
“0”: Fs (Fs: sub-oscillator clock)
“1”: Fm (Fm: main-oscillator clock)
Bits 6~4 (LPWTP2~ LPWTP0): Low-Pulse Width Timer Prescaler Select bits
LPWTP2
LPWTP1
LPWTP0
Low-pulse Width Timer Scale
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
Bit 3 (HPWTS): High-Pulse Width Timer Clock Source Select
“0”: Fs (Fs: sub-oscillator clock)
“1”: Fm (Fm: main-oscillator clock)
38 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Bits 2~0 (HPWTP2~ HPWTP0): High-Pulse Width Timer Prescaler Select bits
HPWTP2
HPWTP1
HPWTP0
High-pulse Width Timer Scale
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
6.2.18 IOCB1, P6PH (Port 6 Pull-high Control Register)
Address: 0Bh, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PH67
PH66
PH65
PH64
PH63
PH62
PH61
PH60
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0 (PH67 ~ PH60): These are the enable bits of Port 6 pull high function.
PH6x = "0": disable P6x pin internal pull-high resistor function
PH6x = "1": enable P6x pin internal pull-high resistor function
6.2.19 IOCC1, P6OD (Port 6 Open Drain Control Register)
(Address: 0Ch, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
OP67
OP66
OP65
OP64
OP63
OP62
OP61
OP60
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: These are the enable bits of Port 6 open drain function.
OD6x = "0": disable pin P6x open drain function
OD6x = "1": enable pin P6x open drain function
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 39
EM78P516N
8-Bit Microcontroller
6.2.20 IOCD1, P8PH (Port 8 Pull High Control Register)
(Address: 0Dh, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PH87
PH86
PH85
PH84
PH83
PH82
PH81
PH80
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: These are the enable bits of Port 8 pull-high function.
PH8x = "0": disable P8x pin internal pull-high resistor function
PH8x = "1": enable P8x pin internal pull-high resistor function
6.2.21 IOCE1, P6PL (Port 6 Pull Low Control Register)
(Address: 0Eh, Bit 0 of R5 = “1”)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PL67
PL66
PL65
PL64
PL63
PL62
PL61
PL60
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 ~ Bit 0: These are the enable bits of Port 6 pull low function.
PL6x = "0": disable P6x pin internal pull-low resistor function
PL6x = "1": enable P6x pin internal pull-low resistor function
6.3 TCC and WDT Prescaler
Two 8-bit counters are available as prescalers for the TCC (Time Clock Counter) and
WDT (Watchdog Timer). The TCCP2~TCCP0 bits of the IOC71 register are used to
determine the ratio of the TCC prescaler. Likewise, the WDTP2~WDTP0 bits of the
IOC81 register are used to determine the WDT prescaler. The TCC prescaler
(TCCP2~TCCP0) is cleared by the instructions each time they are written into TCC,
while the WDT prescaler is cleared by the “WDTC” and “SLEP” instructions. Fig.7
depicts the circuit diagram of TCC and WDT.
R1 (TCC) is an 8-bit timer/counter. The clock source of TCC can be selected by
internal instruction clock or external signal input (edge selectable from the TCC control
register). If the TCC signal source is from the internal instruction clock, the TCC will be
incremented by 1 at every instruction cycle (without prescaler). If the TCC signal
source is from an external clock input, the TCC will be incremented by 1 at every falling
edge or rising edge of the TCC pin.
The Watchdog Timer is free running on sub-oscillator. The WDT will keep on running
even after the oscillator driver has been turned off. During Normal mode, Green mode,
or Idle mode operation, a WDT time-out (if enabled) will cause the device to reset. The
WDT can be enabled or disabled at any time during the Normal mode and Green mode
by software programming. Refer to WDTE bit of IOC81 register. The WDT time-out
period is equal to (prescaler × 256 / (Fs/2)).
40 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Data Bus
TCC (R1)
Instruction Clock = Fosc /2
Fosc: CPU operate frequency
TCC
Pin
MUX
Prescaler
PSRE TCCP2~0
(IOC71) (IOC71)
TE (IOC71)
8 to 1 MUX
TCCoverflow interrupt
TS (IOC71)
Figure 6-4(a) Block Diagram of TCC
WDT
8 bit counter
WDTE (IOC81)
8 to 1 MUX
Prescaler
WDT Time out
WDTP2~0
(IOC81)
Fs/2
(Fs:Sub oscillator)
Figure 6-4(b) Block Diagram of WDT
WDT Setting Flowchart
START
N
Use WDT function ?
Y
Enable WDT function : set
Code option Word 0 to "0"
Bit 7 of
Setting WDT prescaler
(IOC81 register)
Disable WDT function : set Bit 7 of
Code option Word 0 to "1"
WDTtime= prescaler*256/Fs
Fs: sub-oscillator frequency
Enable WDT
(Bit 3 of IOC81)
END
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 41
EM78P516N
8-Bit Microcontroller
TCC Setting Flowchart
42 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.4 I/O Ports
The I/O registers, (Port 5, Port 6, Port 7 and Port 8), are bi-directional tri-state I/O ports.
Port 6 and Port 8 are pulled-high internally by software; Port 6 is also pulled-low internally
by software. Furthermore, Port 6 has its open-drain output also through software. Port 6
and Port 8 features an input status changed interrupt (or wake-up) function and is
pulled-high by software. Each I/O pin can be defined as "input" or "output" pin by the I/O
control register (IOC50 ~ IOC80). The I/O registers and I/O control registers are both
readable and writable. The I/O interface circuits are shown in Figure 6-5.
Note: Open-drain, pull-high, and pull down are not shown in the figure.
Figure 6-5 Circuit of I/O Port and I/O Control Register for Port 5 ~ 8
6.5 Reset and Wake-up
A reset can be activated by
POR (Power-on Reset)
WDT timeout (if enabled)
/RESET pin goes to low
Note: The reset circuit is always enabled. It will reset the CPU at 1.7V.
Once a reset occurs, the following functions are performed
The oscillator is running, or will be started
The program counter (R2/PC) is set to all "0"
All I/O port pins are configured as input mode (high-impedance state)
The TCC/Watchdog timer and prescaler are cleared
When power is on, the Bits 5 and 6 of R3 and the upper two bits of R4 are
cleared.
Bits of the IOC71 register are set to all "1" except for Bit 6 (INT flag)
For other registers, see Table 2
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 43
EM78P516N
8-Bit Microcontroller
Table 2 Summary of Registers Initialized Values
Address
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
0x06
44 •
Name
Reset Type
Bit 7
Bit 6
Bit Name
IOC57 IOC56
Power-on
1
1
/RESET & WDT
1
1
Wake-up from
P
P
Pin Change
Bit Name
IOC67 IOC66
Power-on
1
1
IOC60
/RESET & WDT
1
1
(P6CR)
Wake-up from
P
P
Pin Change
Bit Name
IOC77 IOC76
Power-on
1
1
IOC70
/RESET & WDT
1
1
(P7CR)
Wake-up from
P
P
Pin Change
Bit Name
IOC87 IOC86
Power-on
1
1
IOC80
/RESET & WDT
1
1
(P8CR)
Wake-up from
P
P
Pin Change
Bit Name
X
RAM_A6
Power-on
0
0
IOC90
/RESET & WDT
0
0
(RAM_ADDR) Wake-up from
P
P
Pin Change
RAM_D7 RAM_D6
Bit Name
Power-on
U
U
IOCA0
/RESET & WDT
P
P
(RAM_DB)
Wake-Up from
P
P
Pin Change
Bit 7
Bit 6
Bit Name
Power-on
0
0
IOCB0
/RESET & WDT
0
0
(CNT1PR)
Wake-up from
P
P
Pin Change
Bit 7
Bit 6
Bit Name
Power-on
0
0
IOCC0
/RESET & WDT
0
0
(CNT2PR)
Wake-up from
P
P
Pin Change
Bit Name
Bit 7
Bit 6
Power-on
0
0
IOCD0
/RESET & WDT
0
0
(HPWTPR) Wake-up from
P
P
Pin Change
Bit Name
Bit 7
Bit 6
Power-on
0
0
IOCE0
/RESET & WDT
0
0
(LPWTPR)
Wake-up from
P
P
Pin Change
Bit Name
ICIE LPWTE
Power-on
0
0
IOCF0
/RESET & WDT
0
0
(IMR)
Wake-up from
P
P
Pin Change
Bit Name
IROCS
X
Power-on
0
U
IOC61
/RESET & WDT
0
U
(WUCR)
Wake-up from
P
U
Pin Change
IOC50
(P5CR)
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IOC55
1
1
IOC54
1
1
P8HS
0
0
P8LS
0
0
P7HS
0
0
P7LS
0
0
P
P
P
P
P
P
IOC65
1
1
IOC64
1
1
IOC63
1
1
IOC62
1
1
IOC61
1
1
IOC60
1
1
P
P
P
P
P
P
IOC75
1
1
IOC74
1
1
IOC73
1
1
IOC72
1
1
IOC71
1
1
IOC70
1
1
P
P
P
P
P
P
IOC85
1
1
IOC84
1
1
IOC83
1
1
IOC82
1
1
IOC81
1
1
IOC80
1
1
P
P
P
P
P
P
RAM_A5 RAM_A4 RAM_A3 RAM_A2 RAM_A1 RAM_A0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
RAM_D5 RAM_D4 RAM_D3 RAM_D2 RAM_D1 RAM_D0
U
P
U
P
U
P
U
P
U
P
U
P
P
P
P
P
P
P
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
CNT1E
0
0
INT1E
0
0
INT0E
0
0
TCIE
0
0
P
P
P
P
HPWTE CNT2E
0
0
0
0
P
P
X
U
U
X
U
U
U
U
/WUE8H /WUE8L /WUE6H /WUE6L
0
0
0
0
0
0
0
0
P
P
P
P
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Address
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x00
0x01
0x02
0x03
0x04
Name
Reset Type
Bit Name
Power-on
IOC71
/RESET & WDT
(TCCCR) Wake-up from
Pin Change
Bit Name
Power-on
IOC81
/RESET &WDT
(WDTCR) Wake-up from
Pin Change
Bit Name
Power-on
IOC91
/RESET & WDT
(CNT12CR) Wake-up from
Pin Change
Bit Name
Power-on
IOCA1
/RESET & WDT
(HLPWTCR) Wake-up from
Pin Change
Bit Name
Power-on
IOCB1
/RESET & WDT
(P6PH)
Wake-up from
Pin Change
Bit Name
Power-on
IOCC1
/RESET & WDT
(P6OD)
Wake-up from
Pin Change
Bit Name
Power-on
IOCD1
/RESET & WDT
(P8PH)
Wake-up from
Pin Change
Bit Name
Power-on
IOCE1
/RESET & WDT
(P6PL)
Wake-up from
Pin Change
Bit Name
Power-on
R0
/RESET & WDT
(IAR)
Wake-up from
Pin Change
Bit Name
Power-on
R1
/RESET & WDT
(TCC)
Wake-up from
Pin Change
Bit Name
Power-on
R2
/RESET & WDT
(PC)
Wake-up from
Pin Change
Bit Name
Power-on
R3
/RESET & WDT
(SR)
Wake-up from
Pin Change
Bit Name
Power-on
R4
/RESET & WDT
(RSR)
Wake-up from
Pin Change
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INT_EDGE
1
1
INT
0
0
TS
1
1
TE
1
1
PSRE
1
1
TCCP2
1
1
TCCP1
1
1
TCCP0
1
1
P
P
P
P
P
P
P
P
X
U
U
X
U
U
X
U
U
X
U
U
WDTE
0
0
U
U
U
P
U
CNT2S
0
0
P
P
P
CNT2P2 CNT2P1 CNT2P0 CNT1S CNT1P2 CNT1P1 CNT1P0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
LPWTS
0
0
WDTP2 WDTP1 WDTP0
1
1
1
1
1
1
P
P
P
P
P
P
LPWTP2 LPWTP1 LPWTP0 HPWTS HPWTP2 HPWTP1 HPWTP0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
PH67
0
0
PH66
0
0
PH65
0
0
PH64
0
0
PH63
0
0
PH62
0
0
PH61
0
0
PH60
0
0
P
P
P
P
P
P
P
P
OP67
0
0
OP66
0
0
OP65
0
0
OP64
0
0
OP63
0
0
OP62
0
0
OP61
0
0
OP60
0
0
P
P
P
P
P
P
P
P
PH87
0
0
PH86
0
0
PH85
0
0
PH84
0
0
PH83
0
0
PH82
0
0
PH81
0
0
PH80
0
0
P
P
P
P
P
P
P
P
PL67
0
0
PL66
0
0
PL65
0
0
PL64
0
0
PL63
0
0
PL62
0
0
PL61
0
0
PL60
0
0
P
P
P
P
P
P
P
P
Bit 7
U
P
Bit 6
U
P
Bit 5
U
P
Bit 4
U
P
Bit 3
U
P
Bit 2
U
P
Bit 1
U
P
Bit 0
U
P
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
Jump to Address 0x0018 or continue to execute next instruction.
X
U
U
PS1
0
0
PS0
0
0
T
1
t
P
1
t
Z
U
P
DC
U
P
C
U
P
U
P
P
t
t
P
P
P
RBS1
0
0
RBS0
0
0
RSR5
U
P
RSR4
U
P
RSR3
U
P
RSR2
U
P
RSR1
U
P
RSR0
U
P
P
P
P
P
P
P
P
P
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 45
EM78P516N
8-Bit Microcontroller
Address
0x05
0x06
0x7
0x8
0x9
0xA
0xB
0xC
0xD
0xE
0xF
0x5
46 •
Name
Reset Type
Bit Name
Power-on
Bank 0 R5
/RESET & WDT
(Port 5)
Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 R6
/RESET & WDT
(Port 6)
Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 R7
/RESET & WDT
(Port 7)
Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 R8
/RESET & WDT
(Port 8)
Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 R9
/RESET & WDT
(LCDCR) Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 RA
/RESET & WDT
(LCD_ADDR) Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 RB
/RESET & WDT
(LCD_DB) Wake-up from
Pin Change
Bit Name
Power-on
Bank0 RC
/RESET & WDT
(CNTER) Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 RD
/RESET & WDT
(SBPCR) Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 RE
/RESET & WDT
(IRCR)
Wake-up from
Pin Change
Bit Name
Power-on
Bank 0 RF
/RESET & WDT
(ISR)
Wake-up from
Pin Change
Bit Name
Power-On
Bank 1 R5
/RESET and WDT
(P5HDSCR)
Wake-Up from Pin
Change
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R57
1
1
R56
1
1
R55
1
1
R54
1
1
X
U
U
X
U
U
X
U
U
IOCPAGE
0
0
P
P
P
P
U
U
U
P
R67
1
1
R66
1
1
R65
1
1
R64
1
1
R63
1
1
R62
1
1
R61
1
1
R60
1
1
P
P
P
P
P
P
P
P
R77
1
1
R76
1
1
R75
1
1
R74
1
1
R73
1
1
R62
1
1
R71
1
1
R70
1
1
P
P
P
P
P
P
P
P
R87
1
1
R86
1
1
R85
1
1
R84
1
1
R83
1
1
R82
1
1
R81
1
1
R80
1
1
P
P
P
P
P
P
P
P
BS
1
1
DS1
1
1
DS0
0
0
LCDEN
0
0
X
U
U
LCDTYPE
0
0
LCDF1
0
0
LCDF0
0
0
P
P
P
P
U
P
P
P
X
0
0
X
0
0
X
0
0
P
P
P
P
X
U
U
X
U
U
X
U
U
X
U
U
U
U
U
U
X
0
0
X
1
1
X
0
0
X
0
0
LCD_A4 LCD_A3 LCD_A2 LCD_A1 LCD_A0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
LCD_D3 LCD_D2 LCD_D1 LCD_D0
U
U
U
U
P
P
P
P
P
P
P
P
LPWTEN HPWTEN CNT2EN CNT1EN
0
0
0
0
0
0
0
0
P
P
0
P
P
P
P
P
X
U
U
CLK2
0
0
CLK1
0
0
CLK0
0
0
IDLE
1
1
BF1
0
0
BF0
0
0
CPUS
*1
*1
U
P
P
P
P
P
P
P
IRE
0
0
HF
0
0
LGP
0
0
X
U
U
IROUTE
0
0
TCCE
0
0
EINT1
0
0
EINT0
0
0
P
P
U
P
ICIF
0
0
LPWTF HPWTF CNT2F
0
0
0
0
0
0
P
P
P
P
CNT1F
0
0
INT1F
0
0
INT0F
0
0
TCIF
0
0
N
P
P
P
P
P
P
P
H57
1
P
H56
1
P
H55
1
P
H54
1
P
1
1
1
1
1
1
1
1
P
P
P
P
1
1
1
1
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Address
0x6
Name
Reset Type
Bit Name
Power-On
Bank 1 R6
/RESET and WDT
(P6HDSCR)
Wake-Up from Pin
Change
Bit Name
0x7
0x8
0x9
0xA
0xB
0xC
0xD
0xE
0xF
0x10
~
0x3F
Bank 1 R7 Power-On
(P78HDSCR) /RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 R8
/RESET and WDT
(ADSR1)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 R9
/RESET and WDT
(ADSR2)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 RA
/RESET and WDT
(ADCR)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 RB
/RESET and WDT
(ADISR)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 RC
/RESET and WDT
(ADDL)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 RD
/RESET and WDT
(ADDH)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 RE
/RESET and WDT
(IMR2)
Wake-Up from Pin
Change
Bit Name
Power-On
Bank 1 RF
/RESET and WDT
(SF2)
Wake-Up from Pin
Change
Bit Name
Power-on
R10~R3F /RESET & WDT
Wake-up from
Pin Change
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
H67
1
P
H66
1
P
H65
1
P
H64
1
P
H63
1
P
H62
1
P
H61
1
P
H60
1
P
P
P
P
P
P
P
P
P
-
-
-
-
1
1
1
1
1
1
1
1
1
1
1
1
P
P
P
P
ADE7
0
0
ADE6
0
0
ADE5
0
0
ADE4
0
0
ADE3
0
0
ADE2
0
0
ADE1
0
0
ADE0
0
0
P
P
P
P
P
P
P
P
0
0
ADE14
0
0
ADE13
0
0
ADE12
0
0
ADE11
0
0
ADE10
0
0
ADE9
0
0
ADE8
0
0
0
P
P
P
P
P
P
P
0
0
CKR1
0
0
CKR0
0
0
ADRUN
0
0
ADP
0
0
0
0
SHS1
0
0
SHS0
0
0
0
P
P
P
P
0
P
P
VREFS
0
0
VREF2
0
0
VREF1
0
0
VREF0
0
0
ADIS3
0
0
ADIS2
0
0
ADIS1
0
0
ADIS0
0
0
P
P
P
P
P
P
P
P
ADD7
0
0
ADD6
0
0
ADD5
0
0
ADD4
0
0
ADD3
0
0
ADD2
0
0
ADD1
0
0
ADD0
0
0
P
P
P
P
P
P
P
P
ADD11
0
0
ADD10
0
0
ADD9
0
0
ADD8
0
0
ADD7
0
0
ADD6
0
0
ADD5
0
0
ADD4
0
0
P
P
P
P
P
P
P
P
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ADIE
0
0
0
0
0
0
0
0
0
P
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ADIF
0
0
0
0
0
0
0
0
0
P
Bit 7
U
P
Bit 6
U
P
Bit 5
U
P
Bit 4
U
P
Bit 3
U
P
Bit 2
U
P
Bit 1
U
P
Bit 0
U
P
P
P
P
P
P
P
P
P
P8HHD
P7HHD
P8LHDS
P7LHDS
S
S
1
1
1
1
P
P
P
P
Note: This bit is equal to the Code Option HLFS bit data
Legend: “×” = not used
“P” = previous value before reset
“−” = Not defined
“t” = check R3 register explanation
“u” = unknown or don’t care “N” = Monitors interrupt operation status
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 47
EM78P516N
8-Bit Microcontroller
The controller can be awakened from sleep mode and idle mode. The wake-up signals
are listed as follows:
Wakeup Signal
Sleep Mode
Idle Mode
Green Mode
Normal Mode 1
X
X
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
X
X
Interrupt
Interrupt
RESET
RESET
TCC time out
IOCF Bit 0=1
Wake-up
Wake-up
+ interrupt
+ interrupt
+ next instruction
+ next instruction
Wake-up
Wake-up
+ interrupt
+ interrupt
+ next instruction
+ next instruction
INT0 pin
IOCF Bit 1=1
INT1 pin
IOCF Bit 2=1
Wake-up
Counter 1
X
+ interrupt
IOCF Bit 3=1
+ next instruction
Wake-up
Counter 2
X
+ interrupt
IOCF Bit 4=1
+ next instruction
Wake-up
High-pulse timer
X
+ interrupt
IOCF Bit 5=1
+ next instruction
Wake-up
Low-pulse timer
X
+ interrupt
IOCF Bit 6=1
+ next instruction
IOCF Bit 7=0
IOCF Bit 7=0
Wake-up
Wake-up
Port6, Port 8
+ next instruction
+ next instruction
(input status change
IOCF Bit 7=1
IOCF Bit 7=1
wake-up)
Wake-up
Wake-up
+ interrupt
+ interrupt
+ next instruction
+ next instruction
Bank1 RE Bit0=1
Bank1 RE Bit 0=1
Wake-up
Wake-up
+ interrupt
+ interrupt
+ next instruction
+ next instruction
X
RESET
ADC conversion
complete
Bank1 RF Bit 0=1
WDT time out
48 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.6 Oscillator
6.6.1 Oscillator Modes
The EM78P516N can operate in three different oscillator modes:
a.) Main oscillator (R-OSCI, OSCO), such as RC oscillator with external resistor and
Internal capacitor mode (ERIC)
b.) Crystal oscillator mode
c.) PLL operation mode (R-OSCI connected to 0.01µF capacitor then connected to
Ground). User can select which mode by programming FMMD1 and FMMD0 in the
Code Options Register. The sub-oscillator can be operated in Crystal mode and
ERIC mode. Table 3 below shows how these three modes are defined.
Table 3 Oscillator Modes as defined by FSMD, FMMD1, FMMD0
FSMD
FMMD1
FMMD0
Main Clock
Sub-clock
0
0
0
RC type (ERIC)
RC type (ERIC)
0
0
1
Crystal type
RC type (ERIC)
0
1
×
PLL type
RC type (ERIC)
1
0
0
RC type (ERIC)
Crystal type
1
0
1
Crystal type
Crystal type
1
1
×
PLL type
Crystal type
Table 4 Summary of Maximum Operating Speeds
Conditions
Two clocks
VDD
Fxt Max. (MHz)
2.3
4
3.0
8
5.0
10
6.6.2 Phase Lock Loop (PLL Mode)
When operate on PLL mode, the High frequency determined by sub-oscillator. We can
choose RD register to change high oscillator frequency. The relation between high
frequency (Fm) and sub-oscillator is shown as below table:
Figure 6-6 PLL Mode Circuit
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 49
EM78P516N
8-Bit Microcontroller
Bits 6~4 (CLK2~0) of RD: Main clock selection bits for PLL mode (code option select)
CLK2
0
0
0
0
1
CLK1
0
0
1
1
×
CLK0
0
1
0
1
×
Main clock
Fs × 130
Fs × 65
Fs × 65/2
Fs × 65/4
Fs × 244
Example Fs=32.768kHz
4.26 MHz
2.13 MHz
1.065 MHz
532kHz
8 MHz
6.6.3 Crystal Oscillator/Ceramic Resonators (Crystal)
This LSI can be driven by an external clock signal through the R-OSCI pin as shown in
Figure 6-7 below. In most applications, the R-OSCI pin and the OSCO pin can be
connected with a crystal or ceramic resonator to generate oscillation. Fig. 6-8 depicts
such circuit. Table 5 provides the recommended values of C1 and C2. Since each
resonator has its own attribute, user should refer to its specification for appropriate
values of C1 and C2. RS, a serial resistor, may be necessary for AT strip cut crystal or
low frequency mode.
Figure 6-7 External Clock Input Circuit
C1
Xin
XTAL
Xout
RS
C2
Figure 6-8 Circuit for Crystal/Resonator
Table 5 Capacitor Selection Guide for Crystal Oscillator or Ceramic Resonators
Oscillator Source
Oscillator Type
Frequency
C1 (pF)
C2 (pF)
455kHz
100~150
100~150
Ceramic Resonators
2.0 MHz
4.0 MHz
20~40
10~30
20~40
10~30
455kHz
1.0 MHz
20~40
15~30
20~150
15~30
2.0 MHz
4.0 MHz
15
15
15
15
32.768kHz
25
25
Main oscillator
Crystal Oscillator
Sub-oscillator
50 •
Crystal Oscillator
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.6.4 RC Oscillator Mode with Internal Capacitor
If both precision and cost are taken into consideration, this LSI also offers a special
oscillation mode, which has an on-chip internal capacitor and an external resistor
connected to VDD. The internal capacitor functions as temperature compensator. In
order to obtain more accurate frequency, a precise resistor is recommended.
Figure 6-9 Circuit for Internal C Oscillator Mode
Table 6 RC Oscillator Frequencies
Pin
R-OSCI
Xin
Rext
Average Fosc 5V, 25°C
Average Fosc 3V, 25°C
51k
2.2221 MHz
2.1972 MHz
100k
1.1345 MHz
1.1203 MHz
300k
381.36kHz
374.77kHz
2.2M
32.768kHz
32.768kHz
Note: Measured from QFP packages with frequency drift of about ±30%.
Values are provided for design reference only.
6.7 Power-on Considerations
Any microcontroller (as with this LSI) is not warranted to start operating properly before
the power supply stabilizes in a steady state. This LSI has an on-chip Power-on Reset
(POR) with detection level range as shown on the table below. The circuitry eliminates
the extra external reset circuit but will work well only if the VDD rises quickly enough
(50ms or less). However, under critical applications, extra devices are still required to
assist in solving power-on problems.
Power-on voltage detector provided
IC
Voltage Range
EM78P516N
1.7V to 1.9V
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 51
EM78P516N
8-Bit Microcontroller

6.7.1 External Power-on Reset Circuit
This circuit implements an external RC to produce a reset pulse (see Figure 6-10). The
pulse width (time constant) should be kept long enough to allow VDD to reach minimum
operation voltage. This circuit is used when the power supply rise time is slow.
Because the current leakage from the /RESET pin is ± 5 µA, it is recommended that R
should not be greater than 40K. In this way, the voltage at Pin /RESET is held below
0.2V. The diode (D) acts as a short circuit at power-down. The capacitor, C, is
discharged rapidly and fully. Rin, the current-limited resistor, prevents high current
discharge or ESD (electrostatic discharge) from flowing into Pin /RESET.
Figure 6-10 External Power-on Reset Circuit
6.7.2 Residue-Voltage Protection
When battery is replaced, device power (VDD) is disconnected but residue-voltage
remains. The residue-voltage may trips below minimum VDD, but above zero. This
condition may cause poor power on reset. Figure 6-11 and Figure 6-12 show how to
build a residue-voltage protection circuit.
Figure 6-11 Residue Voltage Protection Circuit 1
52 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Figure 6-12 Residue Voltage Protection Circuit 2
6.8 Interrupt
This LSI has eight interrupt sources as listed below:
TCC overflow interrupt
External interrupt P54/INT0 pin
External interrupt P55/INT1 pin
Counter 1 underflow interrupt
Counter 2 underflow interrupt
High-pulse width timer underflow interrupt
Low-pulse width timer underflow interrupt
Port 6, Port 8 input status change wake-up
Analog to Digital conversion completed
This IC has internal interrupts which are falling edge triggered or as follows:
TCC timer overflow interrupt
Four 8-bit down counter/timer underflow interrupt
If these interrupt sources change signal from high to low, the RF register will generate a
“1” flag to the corresponding register if the IOCF0 register is enabled.
RF is the interrupt status register. It records the interrupt request in flag bit. IOCF0 is
the interrupt mask register. Global interrupt is enabled by ENI instruction and disabled
by DISI instruction. When one of the interrupts (when enabled) is generated, it will
cause the next instruction to be fetch from Address 0003H~0018H according to
interrupt source.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 53
EM78P516N
8-Bit Microcontroller
With this LSI, each individual interrupt source has its own interrupt vector as depicted in
Table 3. Before the interrupt subroutine is executed, the contents of the ACC and the
R3 register are initially saved by the hardware. After the interrupt service routine is
completed, the ACC and R3 are restored. The existing interrupt service routine does
not allow other interrupt service routine to be executed. Hence, if other interrupts occur
while an existing interrupt service routine is being executed, the hardware will save the
later interrupts. Only after the existing interrupt service routine is completed that the
next interrupt service routine is executed.
Interrupt Source
Interrupt
ACC
STACKACC
Occurs
ENI / DISI
R3
STACKR3
RETI
Fig. 6-13 Interrupt Back-up Diagram
Table 3 Interrupt Vector
Interrupt Vector
54 •
Interrupt Status
0003H
TCC overflow interrupt.
0006H
External interrupt P5.4/INT0 pin
0009H
External interrupt P5.5/INT1 pin
000CH
Counter 1 underflow interrupt
000FH
Counter 2 underflow interrupt
0012H
High-pulse width timer underflow interrupt
0015H
Low-pulse width timer underflow interrupt
0018H
Port 6, Port 8 input status change wake up
001BH
AD conversion complete interrupt
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.9 LCD Driver
This LSI can drive an LCD of up to 32 segments and 4 commons that can drive a total
of 4×32 dots. The LCD block is made up of an LCD driver, display RAM, segment
output pins, common output pins, and LCD operating power supply pins. This circuit
works on normal mode, green mode and idle mode. The LCD duty; bias; the number of
segment; the number of common and frame frequency are determined by the LCD
controller register.
The basic structure contains a timing control that uses a subsystem clock to generate
the proper timing for different duty and display accesses. The R9 register is a
command register for the LCD driver which includes LCD enable/disable, bias (1/2 and
1/3), duty (1/2, 1/3, 1/4), and LCD frame frequency control. The register RA is an LCD
contrast and LCD RAM address control register. The register RB is an LCD RAM data
buffer. LCD booster circuit can change the operation frequency to improve VLCD2 and
VLCD3 drive capability. The control register is described as follows.
6.9.1 R9/LCDCR (LCD Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
BS
DS1
DS0
LCDEN
−
LCDTYPE
LCDF1
LCDF0
R/W
R/W
R/W
R/W
-
R/W
R/W
R/W
Bit 7 (BS): LCD bias select bit
"0": (1/2 bias)
"1": (1/3 bias)
Bits 6 ~ 5 (DS1 ~ DS0): LCD duty select
DS1
DS0
LCD Duty
0
0
1/2 duty
0
1
1/3 duty
1
×
1/4 duty
Bit 4 (LCDEN): LCD enable bit
"0": disable the LCD circuit
"1": enable the LCD circuit
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 55
EM78P516N
8-Bit Microcontroller
When the LCD function is disabled, all common/segment output is set to ground (GND)
level
Bit 3: Not used
Bit 2 (LCDTYPE): LCD drive waveform type select bit
LCDTYPE = "0": “A” type waveform
LCDTYPE = "1": “B” type waveform
Bits 1 ~ 0 (LCDF1 ~ LCDF0): LCD frame frequency control bits
LCD Frame Frequency (e.g. Fs=32.768kHz)
LCDF1
LCDF0
1/2 Duty
1/3 Duty
1/4 Duty
0
0
Fs/(256×2)=64.0
Fs/(172×3)=63.5
Fs/(128×4)=64.0
0
1
Fs/(280×2)=58.5
Fs/(188×3)=58.0
Fs/(140×4)=58.5
1
0
Fs/(304×2)=53.9
Fs/(204×3)=53.5
Fs/(152×4)=53.9
1
1
Fs/(232×2)=70.6
Fs/(156×3)=70.0
Fs/(116×4)=70.6
Note: Fs: sub-oscillator frequency
6.9.2 RA/LCD_ADDR (LCD Address)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
0
LCD_A4
LCD_A3
LCD_A2
LCD_A1
LCD_A0
-
-
-
R/W
R/W
R/W
R/W
R/W
Bits 7 ~ 5: Not used, fixed to “0”
Bits 4 ~ 0 (LCDA4 ~ LCDA0): LCD RAM address
RB (LCD Data Buffer)
RA
(LCD Address) Bits 7 ~4
00H
01H
Bit 3
Bit 2
Bit 1
Bit 0
(LCD_D3) (LCD_D2) (LCD_D1) (LCD_D0)
Segment
−
−
−
−
−
−
−
−
−
−
SEG0
SEG2
|
SEG29
SEG30
SEG1
02H
|
1DH
1EH
−
−
−
|
−
−
−
−
−
−
−
−
−
−
−
−
1FH
Common
−
X
−
COM3
−
COM2
−
COM1
−
COM0
SEG31
6.9.3 RB/LCD_DB (LCD Data Buffer)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
LCD_D3
LCD_D2
LCD_D1
LCD_D0
-
-
-
-
R/W
R/W
R/W
R/W
Bits 7 ~ 4: Not used
Bits 3 ~ 0 (LCD_D3 ~ LCD_D0): LCD RAM data transfer registers
56 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.9.4 RD/SBPCR (System, Booster and PLL Control Registers)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
CLK2
CLK1
CLK0
IDLE
BF1
BF0
CPUS
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 2 ~ 1 (BF1 ~ 0): LCD booster frequency select bits
BF1
BF0
Booster Frequency
0
0
Fs
0
1
Fs/4
1
0
Fs/8
1
1
Fs/16
The initial setting flow chart for LCD function
IC RESET occur
*Set Port 7 snd Port 8 for general I/O or LCD segment (IOC50)
*it must be set to output port w hen the pin of port 7 and the pin of port 8 for LCD
segemnt (IOC70 and IOC80)
Set LCD Type, duty, bias, LCD frame frequency (R9)
Set LCD Booster Frequency (RD)
Clear all LCD RAM (RA and RB)
Enable LCD function (R9)
Use LCD address and LCD data buffer to implment user's applications. (RA and RB)
END
Figure 6-14 Initial Setting Flow chart for LCD Function
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 57
EM78P516N
8-Bit Microcontroller
Boosting circuits connection for LCD voltage
VDD
VLCD2(2*VDD/3)
VA
VB
VLCD3(1*VDD/3)
GND
External circuit for 1/3 Bias
VDD
VLCD2(VDD/2)
VA
VB
VLCD3(VDD/2)
GND
External circuit for 1/2 Bias
Figure 6-15 Charge Bump Circuit Connection (Cext=0.1µf)
58 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
1 frame
1 frame
VDD
COM 0
VLCD2,3
VDD
COM 0
VLCD2,3
GND
GND
VDD
COM 1
VLCD2,3
VDD
COM 1
VLCD2,3
GND
GND
VDD
VLCD2,3
SEG N
ON
VLCD2,3
GND
GND
VDD
VDD
VLCD2,3
VLCD2,3
GND
SEG N - COM0
VDD
SEG N
-VLCD2,3
GND
SEG N - COM0
ON
-VLCD2,3
-VDD
-VDD
VDD
VDD
VLCD2,3
SEG N - COM1
VLCD2,3
SEG N - COM1
GND
OFF
GND
OFF
-VLCD2,3
1/2 bias, 1/2 duty
A type
-VLCD2,3
-VDD
1/2 bias, 1/2 duty
B type
-VDD
Figure 6-16 LCD Waveform for 1/2 Bias, 1/2 Duty
1frame
1frame
VDD
VDD
COM 0
VLCD2,3
COM 0
VLCD2,3
GND
GND
VDD
VDD
COM 1
VLCD2,3
VLCD2,3
COM 1
GND
GND
VDD
VDD
COM 2
VLCD2,3
COM 2
VLCD2,3
GND
GND
VDD
VDD
SEG N
VLCD2,3
SEG N
VLCD2,3
GND
GND
VDD
VDD
VLCD2,3
VLCD2,3
SEG N- COM0
GND
ON
-VLCD2,3
SEG N- COM0
GND
ON
-VLCD2,3
-VDD
-VDD
VDD
VDD
VLCD2,3
VLCD2,3
SEG N- COM1
GND
OFF
-VLCD2,3
1/2 bias, 1/3 duty
A type
-VDD
SEG N- COM1
GND
OFF
-VLCD2,3
1/2 bias, 1/3 duty
B type
-VDD
Figure 6-17 LCD Waveform for 1/2 Bias, 1/3 Duty
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 59
EM78P516N
8-Bit Microcontroller
1 frame
1 frame
VDD
VDD
VLCD2
VLCD2
COM 0
COM 0
VLCD3
VLCD3
GND
GND
VDD
VDD
VLCD2
VLCD2
COM 1
COM 1
VLCD3
VLCD3
GND
GND
VDD
COM 2
VDD
VLCD2
COM 2
VLCD2
VLCD3
VLCD3
GND
GND
VDD
VDD
VLCD2
VLCD2
SEG N
SEG N
VLCD3
VLCD3
GND
GND
VDD
VDD
SEG N - COM0
VLCD3
SEG N - COM0
VLCD3
GND
GND
ON
ON
-VLCD3
-VLCD3
-VDD
-VDD
VDD
VDD
SEG N - COM1
VLCD3
SEG N - COM1
VLCD3
GND
GND
OFF
OFF
-VLCD3
-VLCD3
1/3 bias, 1/3 duty
A type
-VDD
1/3 bias, 1/3 duty
B type
-VDD
Figure 6-18 LCD Waveform for 1/3 Bias, 1/3 Duty
1frame
1frame
VDD
VDD
VLCD2
COM 0
VLCD2
COM 0
VLCD3
VLCD3
GND
GND
VDD
VDD
VLCD2
COM 1
VLCD2
COM 1
VLCD3
VLCD3
GND
GND
VDD
COM 2
VLCD2
VDD
COM 2
VLCD2
VLCD3
VLCD3
GND
GND
VDD
VDD
VLCD2
SEG N
VLCD2
SEG N
VLCD3
VLCD3
GND
GND
VDD
SEG N COM0
VLCD3
VDD
SEG N COM0
VLCD3
GND
ON
GND
ON
-VLCD3
-VLCD3
-VDD
-VDD
VDD
SEG N COM1
VLCD3
VDD
SEG N COM1
VLCD3
GND
OFF
GND
OFF
-VLCD3
1/3 bias, 1/4 duty
A type
-VDD
-VLCD3
1/3 bias, 1/4 duty
B type
-VDD
Figure 6-19 LCD Waveform for 1/3 Bias, 1/4 Duty
60 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.10 Infrared Remote Control Application/PWM Waveform
Generation
This LSI can output infrared carrier in user-friendly or in PWM standard waveform. The IR
and PWM waveform generated functions include an 8-bit down count timer/counter,
high-pulse width timer, low-pulse width timer, and IR control register. The IR system block
diagram is shown in Fig. 6-20. The IROUT pin waveform is determined by IR control
register (RE), IOC90 (Counters 1 and 2 control register), IOCA0 (high-pulse width timer,
low-pulse width timer control register), IOCC0 (Counter 2 preset), IOCD0 (high-pulse width
timer preset register), and IOCE0 (low-pulse width timer preset register). Details on
Fcarrier, high-pulse time, and low pulse time are explained as follows:
If Counter 2 clock source is FT (this clock source can be set by IOC91), then
F carrier =
FT
2 × (1 + decimal of C ounter 2 preset value ( IOCC 0 )) × prescaler
If the high-pulse width timer clock source is FT (this clock source can be set by IOCA1), then
T high
pulse
time
=
prescaler × (1 + decimal
of high pulse width timer value ( IOCD 0 ))
FT
If the low-pulse width timer clock source is FT (this clock source can be set by IOCA1);
Tlow
pulse
time
=
prescaler × (1 + decimal of low pulse width timer value ( IOCE 0 ))
FT
Pre-s caler
(IOCA 1)
Fs
High-Pulse Width Timer
(IOCD0)
Fm
Low -Pulse Width Timer
( IOCE0)
8
A uto-reload buf f er
Pre-s caler
(IOC A 1)
8
A uto-reload buf f er
8
Pre-scaler
(IOC91)
8 bit dow n counter
Fcarrier
8
8 bit dow n counter
8
H/W Modulator Circuit
8 bit dow n counter
IROUTpin
8
A uto-reload buf f er
8
HF
LGP
IRE
8
RE register
Counter 2
(IOCC0)
Fm: main oscillator frequency
Fs: sub-oscillator frequency
Figure 6-20 IR/PWM System Block Diagram
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 61
EM78P516N
8-Bit Microcontroller
The IROUT output waveform is further explained in the following figures:
Figure 6-21
LGP=0, HF=1, the IROUT waveform can modulate Fcarrier waveform
when in low-pulse width time.
Figure 6-22
LGP=0, HF=0, the IROUT waveform cannot modulate Fcarrier
waveform when in low-pulse width time. So IROUT waveform is determined
by high-pulse time and low-pulse time. This mode can produce standard
PWM waveform.
Figure 6-23
LGP=0, HF=1, the IROUT waveform can modulate Fcarrier waveform
when in low-pulse width time. When IRE goes from high to low, the output
waveform of IROUT will keep on transmitting until high-pulse width timer
interrupt occurs.
Figure 6-24
LGP=0, HF=0, the IROUT waveform can not modulate Fcarrier
waveform when in low-pulse width time. So IROUT waveform is determined
by high-pulse time and low-pulse time. This mode can produce standard
PWM waveform. When IRE goes from high to low, the output waveform of
IROUT will keep on transmitting till high-pulse width timer interrupt occurs.
Figure6-25
LGP=1, when this bit is set to high level, the high-pulse width timer is
ignored. So IROUT waveform output from low-pulse width timer is
established.
Fcarrier
low-pulse width
high-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IROUT
Figure 6-21 LGP=0, IROUT Pin Output Waveform
Fcarrier
low-pulse width
high-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IROUT
Figure 6-22 LGP=0, IROUT Pin Output Waveform
62 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Fcarrier
low-pulse width
high-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IR disable
IROUT
Always high-level
Figure 6-23 LGP=0, IROUT Pin Output Waveform
Fcarrier
low-pulse width
high-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IR disable
IROUT
Always high-level
Figure 6-24 LGP=0, IROUT Pin Output Waveform
Fcarrier
low-pulse width
Low-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IR disable
IROUT
Always high-level
Figure 6-25 LGP=1, IROUT Pin Output Waveform
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 63
EM78P516N
8-Bit Microcontroller
IR/PWM Function Enable Flowchart
Start
Start
Set P57 to Output state (IOC 50)
Set P57 for IR/PWM Function Output Pin (RE)
Set P57 to Output state (IOC 50)
Set P57 for IR/PWM Function Output Pin (RE)
Set Counter 2 clock source and prescaler (IOC91)
Set High pulse width timer, Low pulse width timer
clock source and prescaler (IOCA1)
Set Counter 2 (IOC0) , High pulse width timer
(IOD0) , Low pulse width timer (IOCE0) preset value
Set High pulse width timer, Low pulse width timer
clock source and prescaler (IOCA1)
High pulse width timer (IOD0) , Low pulse width timer
(IOCE0) preset value
Enable IR (RE)
HF="0", and IRE="1"
Enable IR (RE)
HF="1", and IRE="1"
Enable HPWT and LPWT Interrupt
Set IOCF0 and ENI instruction
Enable Counter 2, High pulse width timer and Low
pulse width timer (RC)
END
(a) IR application
Enable HPWT and LPWT Interrupt
Set IOCF0 and ENI instruction
Enable high pulse width timer and Low pulse width
Timer (RC)
END
(b) PWM application
Figure 6-26 IR/PWM Function Enable Flow chart
64 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.11
Analog-to-Digital Converter (ADC)
The analog-to-digital circuitry consists of an 16-bit analog multiplexer; two control registers
(ADCR1/BANK1 RA and ADISR/BANK1 RB), two data registers (ADDH/BANK1 RD and
ADDL/BANK1 RC) 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.
The ADC module utilizes successive approximation to convert the unknown analog signal into a
digital value. The result is fed to the ADDH and ADDL. Input channels are selected by the
analog input multiplexer via the ADISR register bits. Connecting to the external VREF is more
accurate than connecting to the internal VDD.
Figure 6-11 Analog-to-Digital Conversion Functional Block Diagram
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 65
EM78P516N
8-Bit Microcontroller
6.11.1 ADC Control Register
6.11.1.1 Bank 1 R8, ADSR1 (ADC Input Select Register 1)
(Address: 08h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (ADE7): AD converter enable bit of P64 pin
0 = Disable AD7, P64 functions as I/O pin
1 = Enable AD7 to function as analog input pin
Bit 6 (ADE6): AD converter enable bit of P63 pin
0 = Disable AD6, P63 functions as I/O pin
1 = Enable AD6 to function as analog input pin
Bit 5 (ADE5): AD converter enable bit of P62 pin
0 = Disable AD5, P62 functions as I/O pin
1 = Enable AD5 to function as analog input pin
Bit 4 (ADE4): AD converter enable bit of P61 pin
0 = Disable AD4, P61 functions as I/O pin
1 = Enable AD4 to function as analog input pin
Bit 3 (ADE3): AD converter enable bit of P60 pin
0 = Disable AD3, P60 functions as I/O pin
1 = Enable AD3 to function as analog input pin
Bit 2 (ADE2): AD converter enable bit of P57 pin
0 = Disable AD2, P57/IROUT functions pin
1 = Enable AD2 to function as analog input pin
Bit 1 (ADE1): AD converter enable bit of P55 pin
0 = Disable AD1, P55/INT1 functions pin
1 = Enable AD1 to function as analog input pin
Bit 0 (ADE0): AD converter enable bit of P54 pin
0 = Disable AD0, P54/INT0 functions pin
1 = Enable AD0 to function as analog input pin
66 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.11.1.2 Bank 1 R9, ADSR2 (ADC Input Select Register 2)
(Address: 09h)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
ADE14
ADE13
ADE12
ADE11
ADE10
ADE9
ADE8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7: Not used, set to “0” all the time.
Bit 6 (ADE14): AD converter enable bit of P84 pin
0 = Disable AD14, SEG28/P84 functions pin
1 = Enable AD14 to function as analog input pin
Bit 5 (ADE13): AD converter enable bit of P85 pin
0 = Disable AD13, SEG29/P85 functions pin
1 = Enable AD13 to function as analog input pin
Bit 4 (ADE12): AD converter enable bit of P86 pin
0 = Disable AD12, SEG30/P86 functions pin
1 = Enable AD12 to function as analog input pin
Bit 3 (ADE11): AD converter enable bit of P87 pin
0 = Disable AD11, SEG31/P87 functions pin
1 = Enable AD11 to function as analog input pin
Bit 2 (ADE10): AD converter enable bit of P67 pin
0 = Disable AD10, P67 functions as I/O pin
1 = Enable AD10 to function as analog input pin
Bit 1 (ADE9): AD converter enable bit of P66 pin
0 = Disable AD9, P66 functions as I/O pin
1 = Enable AD9 to function as analog input pin
Bit 0 (ADE8): AD converter enable bit of P65 pin
0 = Disable AD8, P65 functions as I/O pin
1 = Enable AD8 to function as analog input pin
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 67
EM78P516N
8-Bit Microcontroller
6.11.1.3 Bank 1 RA, ADCR (ADC Control Register)
(Address: 0Ah)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
CKR1
CKR0
ADRUN
ADP
-
SHS1
SHS0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7: Not used, set to "0" all the time.
Bits 6~5 (CKR1~0): Clock Rate Selection of ADC
System Mode
CKR[2:0]
00
FMain/16
01
FMain/4
10
FMain/64
11
FMain/1
xxx
FSub
Normal Mode
Green Mode
Clock Rate
Bit 4 (ADRUN): ADC Starts to Run
0 : Reset on completion of the conversion by hardware, this bit cannot be reset by
software.
1 : An A/D conversion starts. This bit can be set by software
Bit 3 (ADP): ADC Power
0 : ADC is in power down mode.
1 : ADC is operating normally.
Bit 2: Not used, set to "0" all the time.
Bit 1~0 (SHS1~0): Sample and Hold Timing Selection
68 •
SHS[1:0]
Sample & Hold Timing
00
2 x TAD
01
4 x TAD
10
8 x TAD
11
12 x TAD
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.11.1.4 Bank 1 RB, ADISR (ADC Input Channel and Internal
Reference Selection Register)
(Address: 0Bh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
VREF2
VREF1
VREF0
ADIS3
ADIS2
ADIS1
ADIS0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7 (VREFS): The input source of the Vref of the ADC
0: The Vref of the ADC is connected to internal reference voltage (default value),
and the P56/TCC/VREF pin carries out the function of P56/TCC.
: The Vref of the ADC is connected to P56/TCC/VREF
Bit 6~4 (VREF2~0): ADC internal reference voltage source
VREF[2:0]
ADC Internal Reference Voltage
000
VDD
001
4.0V ± 1%
010
3.0V ± 1%
011
2.5V ± 1%
1xx
2.0V ± 1%
Bits 3~0 (ADIS3~0): ADC input channel select bits
ADIS[3:0]
Selected
Channel
ADIS[3:0]
Selected
Channel
0000
ADC0
1000
ADC8
0001
ADC1
1001
ADC9
0010
ADC2
1010
ADC10
0011
ADC3
1011
ADC11
0100
ADC4
1100
ADC12
0101
ADC5
1101
ADC13
0110
ADC6
1110
ADC14
0111
ADC7
1111
1/2 VDD PowerDet.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 69
EM78P516N
8-Bit Microcontroller
6.11.1.5 Bank 1 RC, ADDL (Low Byte of Analog to Digital
Converter Data)
(Address: 0Ch)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD7
ADD6
ADD5
ADD4
ADD3
ADD2
ADD1
ADD0
R
R
R
R
R
R
R
R
Bits 7~0 (ADD7~0): Low Byte of AD Data Buffer
6.11.1.6 Bank 1 RD, ADDH (High Byte of Analog to Digital
Converter Data)
(Address: 0Dh)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD11
ADD10
ADD9
ADD8
ADD7
ADD6
ADD5
ADD4
R
R
R
R
R
R
R
R
Bits 7~0 (ADD11~4): High Byte of AD Data Buffer.
6.11.2 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 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.
6.11.3 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 EM78P516N, the conversion time per bit is about 1µs. The table
below shows the relationship between Tct and the maximum operating frequencies.
70 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
System
Mode
Normal
Mode
Green
Mode
CKR[1:0]
Clock
Rate
Max.
Operation
Frequency
00
FMain/16
10 MHz
01
FMain/4
4 MHz
10
FMain/64
10 MHz
11
FMain/1
1MHz
xxx
FSub
32.768kHz
Max.
conversion
Rate/Bit
Max.
conversion
Rate
625kHz
(1.6µs)
1 MHz
(1µs)
156.25kHz
(6.4 µs)
1MHz
(1µs)
32.768kHz
(30.51µs)
16*1.6µs=25.6µs
(39.06kHz)
16*1µs=16µs
(62.5kHz)
16*6.4µs=102.4µs
(9.765kHz)
16*1µs=16µs
(62.5kHz)
16*30.51µs=488.28µs
(2.048kHz)
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.
6.11.4 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, Timer 1,
Timer 2, Timer 3, and AD conversion.
AD Conversion is considered completed as determined by:
1. The ADRUN bit of BANK1 RA register is cleared to “0”.
2. Waking up from AD conversion (where it remains in operation during sleep mode).
The results are fed into the ADDH and ADDL registers when 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.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 71
EM78P516N
8-Bit Microcontroller
6.11.5 Programming Process/Considerations
6.11.5.1 Programming Process
Follow these steps to obtain data from the ADC:
1. Write to the eight bits (ADE14: ADE0) on the BANK1 R8 & R9 (ADSR1&ADSR2)
register to define the characteristics of R5,R6 and R8 (digital I/O, analog channels,
or voltage reference pin)
2. Write to the Bank1 RA/ADCR1 register to configure the AD module:
a) Select ADC input channel (ADIS3:ADIS0)
b) Define 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 ADIE bit, if the wake-up function is employed
4. Write “ENI” instruction, if the interrupt function is employed
5. Set the ADRUN bit to 1
6. Write “SLEP+NOP” instruction
8. Wait for wake-up or for the ADRUN bit to be cleared to “0”.
9. Read the ADDH and ADDL conversion data registers. If the ADC input channel
changes at this time, the ADDH and ADDL 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 the I/O pins
during AD conversion.
72 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.12 Code Options
The EM78P516N has one Code Option word that is not a part of the normal program
memory. The option bits cannot be accessed during normal program execution.
Code Option Register and Customer ID Register arrangement distribution:
Word 1 of the code options is for customer ID code application.
Word 1
Bit 12~Bit 0
Word 0 of Code Options is for IC function setting. The following are the settings for
OTP IC programming:
Mne-
Bits 12 ~ 10
monic
−
1
−
High
High
Disable
High
High
High
High
Disable
0
−
Low
Low
Enable
Low
Low
Low
Low
Enable
Default
1
1
1
1
1
1
1
1
1
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bits 2 ~ 0
CYES HLFS ENWDTB FSMD FMMD1 FMMD0 HLP PR2 ~ 0
Bits 12 ~ 10: Not used.
These bits are set to “1” all the time.
Bit 9 (CYES): Cycle select for JMP and CALL instructions
CYES = "0": only one instruction cycle (JMP or CALL) can be executed
CYES = "1": two instruction cycles (JMP and CALL) can be executed
Bit 8 (HLFS): main or sub-oscillator select
HLFS = "0": CPU is set to select sub-oscillator when reset occurs.
HLFS = "1": CPU is set to select main-oscillator when reset occurs.
Bit 7 (ENWDTB): Watchdog timer enable/disable bit.
ENWDTB = "0": Enable watchdog timer
ENWDTB = "1": Disable watchdog timer
Bit 6 (FSMD): Sub-oscillator type selection
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 73
EM78P516N
8-Bit Microcontroller
Bits 5, 4 (FMMD1, 0): Main Oscillator Type Selection
FSMD
FMMD1
FMMD0
Main Oscillator Type
Sub Oscillator Type
0
0
0
RC type
RC type
0
0
1
Crystal type
RC type
0
1
×
PLL type
RC type
1
0
0
RC type
Crystal type
1
0
1
Crystal type
Crystal type
1
1
×
PLL type
Crystal type
Bit 3 (HLP): Power consumption selection. If the system usually runs in green mode, it
must be set to low power consumption to help support the energy saving issue. It is
recommended that low power consumption mode is selected.
HLP = “0”: Low power consumption mode
HLP = “1”: High power consumption mode
Bits 2~0 (PR2~PR0): Protect Bits
PR2~PR0 are protection bits. Each protect status is as follows:
PR2
PR1
PR0
Protect
0
0
0
Enable
1
1
1
Disable
6.13 Instruction Set
Each instruction in the instruction set is a 13-bit word divided into an OP code and one
or more operands. Normally, all instructions are executed within one single instruction
cycle (one instruction consists of 2 oscillator periods), unless the program counter is
changed by instruction "MOV R2,A", "ADD R2,A", or by instructions of arithmetic or
logic operation on R2 (e.g. "SUB R2,A", "BS(C) R2,6", "CLR R2", ⋅⋅⋅⋅). In this case, the
execution takes two instruction cycles.
If for some reasons, the specification of the instruction cycle is not suitable for certain
applications, try modifying the instruction as follows:
Execute within two instruction cycles the "JMP", "CALL", "RET", "RETL", and "RETI"
instructions, or the conditional skip instructions ("JBS", "JBC", "JZ", "JZA", "DJZ",
"DJZA") which were tested to be true. Also execute within two instruction cycles the
instructions that are written to the program counter.
Additionally, the instruction set offers the following features:
(1) Every bit of any register can be set, cleared, or tested directly.
(2) The I/O register can be regarded as general register. That is, the same instruction
can operate on I/O register.
74 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Convention:
R = Register designator that specifies which one of the registers (including operation and general
purpose registers) is to be utilized by the instruction.
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
Operation
Status Affected
NOP
No Operation
DAA
Decimal Adjust A
SLEP
0 → WDT, Stop oscillator
T, P
WDTC
0 → WDT
T, P
A → IOCR
None
ENI
Enable Interrupt
None
DISI
Disable Interrupt
None
RET
[Top of Stack] → PC
None
RETI
[Top of Stack] → PC,
Enable Interrupt
None
IOCR → A
None
A→R
None
0→A
Z
0→R
Z
IOW
R
IOR
R
MOV
R,
A
CLRA
CLR
R
None
C
1
1
SUB
A,
R
R-A → A
Z,C,DC
SUB
R,
A
R-A → R
Z,C,DC
DECA
R
R-1 → A
Z
DEC
R
R-1 → R
Z
OR
A,
A∨R→A
Z
R
OR
R,
A
A∨R→R
Z
AND
A,
R
A&R→A
Z
AND
R,
A
A&R→R
Z
XOR
A,
R
A⊕R→A
Z
XOR
R,
A
A⊕R→R
Z
ADD
A,
R
A+R→A
Z, C, DC
ADD
R,
A
A+R→R
Z, C, DC
MOV
A,
R
R→A
MOV
R,
R
R→R
Z
COMA
R
/R → A
Z
COM
R
/R → R
Z
INCA
R
R+1 → A
Z
Z
INC
R
R+1 → R
DJZA
R
R-1 → A, skip if zero
None
DJZ
R
R-1 → R, skip if zero
None
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
Z
• 75
EM78P516N
8-Bit Microcontroller
Mnemonic
Operation
R(n) → A(n-1),
Status Affected
RRCA
R
C
RRC
R
RLCA
R
RLC
R
SWAPA
R
SWAP
R
R(0-3) → ( R(4-7)
None
JZA
R
R+1 → A, skip if zero
None
JZ
R
R+1 → R, skip if zero
None
BC
R,
b
0→ ( R(b)
None
BS
R,
b
1→ ( R(b)
None
JBC
R,
b
if R(b)=0, skip
None
JBS
R,
b
if R(b)=1, skip
None
CALL
k
JMP
k
MOV
A,
OR
R(0) → C, C → A(7)
R(n) → R(n-1),
C
R(0) → C, C → R(7)
R(n) → A(n+1),
C
R(7) → C, C → A(0)
R(n) → R(n+1),
R(7) → (C), C → (R(0)
R(0-3) → ( A(4-7),
C
None
R(4-7) → ( A(0-3)
PC+1 → [SP],
None
(Page, k) → (PC)
(Page, k) → (PC)
None
k
k→A
None
A,
k
Avk→A
Z
AND
A,
k
A&k→A
Z
XOR
A,
k
A⊕k→A
Z
RETL
k
SUB
A,
k
k-A → A
Z, C, DC
ADD
A,
k
k+A → A
Z, C, DC
PAGE
k
K→R3(5:7)
None
BANK
k
K→R4(7:6)
None
k → A, [Top of Stack] → PC
None
1
Note: This instruction is applicable to IOC50~IOF0, IOC61~IOCE1.
76 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
6.14 Timing Diagram
AC Test Input/Output Waveform
Note: AC Testing: Input are driven at 2.4V for logic “1,” and 0.4V for logic “0”
Timing measurements are made at 2.0V for logic “1,” and 0.8V for logic “0”
Reset Timing (CLK="0")
TCC Input Timing (CLKS="0")
Ttrf
90%
Port (n+1)
10%
Ttrr
90%
10%
Tiod
Port (n)
*n = 0 , 2 , 4 , 6
Figure 6-27 Timing Diagrams of EM78P516N
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 77
EM78P516N
8-Bit Microcontroller
7
Absolute Maximum Ratings
Items
Symbol
Condition
VDD
Input voltage
Output voltage
Unit
Min.
Max.
−
GND-0.3
+7.0
V
VI
Port 5 ~ Port 8
GND-0.3
VDD+0.3
V
VO
Port 5 ~ Port 8
GND-0.3
VDD+0.3
V
Operation temperature
TOPR
−
-40
85
°C
Storage temperature
TSTG
−
-65
150
°C
Power consumption
PD
−
−
500
mW
−
−
32.768K
10M
Hz
Supply voltage
Operating Frequency
8
Rating
Electrical Characteristics
8.1 DC Electrical Characteristics
Ta= -40°C ~85°C, VDD=5.0V, GND=0V
Symbol
FXT
Condition
Min.
Typ.
Max. Unit
Crystal: VDD to 5V
Two cycles with two clocks
32.768
8M
10M
kHz
Sub-oscillator
Two cycles with two clocks
−
32.768
−
kHz
External R, Internal C for
Sub-oscillator
R: 300KΩ, internal capacitance
270
384
500
kHz
External R, Internal C for
Sub-oscillator
R: 2.2MΩ, internal capacitance
22.9
32.768 42.6
kHz
IIL
Input Leakage Current for
Input pins
VIN = VDD, GND
-1
0
1
µA
VIH1
Input High Threshold
Voltage (Schmitt Trigger)
Ports 5, 6, 7, 8
2.0
−
−
V
VIL1
Input High Threshold
Voltage (Schmitt Trigger)
Ports 5, 6, 7, 8
−
−
0.8
V
VIHT1
Input High Threshold
Voltage (Schmitt Trigger)
/RESET
2.0
−
−
V
VILT1
Input Low Threshold Voltage
/RESET
(Schmitt Trigger)
−
−
0.8
V
VIHT2
Input High Threshold
Voltage (Schmitt Trigger)
2.0
−
−
V
VILT2
Input Low Threshold Voltage
TCC, INT0, INT1
(Schmitt Trigger)
−
−
0.8
V
IOH1
Drive Current
(Ports 5 ~ 8)
VOH = 2.4V (IROCS=”0”)
−
-10
−
mA
IOL1
Sink Current
(Ports 5 and 6)
VOL = 0.4V (IROCS=”0”)
−
10
−
mA
IOH2
IR Drive Current
(P57/IROUT pin)
VOH = 2.4V (IROCS=”1”)
−
20
−
mA
IOL2
IR Sink Current
(P57/IROUT pin)
VOL = 0.4V (IROCS=”1”)
−
20
−
mA
Fs
ERIC
78 •
Parameter
TCC, INT0, INT1
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
Ta= -40°C ~85°C, VDD=5.0V, GND=0V
Symbol
Condition
Min.
Typ.
Max.
Unit
IOH3
High Drive Current
(Ports 5 ~ 8)
VOH = 2.4V (IROCS=”0”)
−
-20
−
mA
IOL3
High Sink Current
(Ports 5 and 6)
VOL = 0.4V (IROCS=”0”)
−
20
−
mA
IPH
Pull-high current
Pull-high active, input pin at GND
-55
-75
-95
µA
IPL
Pull-low current
Pull-low active, input pin at VDD
55
75
95
µA
ISB
Sleep mode current
All input and I/O pins at VDD,
Output pin floating,
WDT disabled
−
0.5
1.5
µA
Idle mode current
/RESET= 'High', CPU OFF,
Sub-oscillator clock (32.768kHz)
ON, output pin floating,
LCD enabled, no load
−
14
18
µA
ICC2
Green mode current
/RESET= 'High', CPU ON,
Sub-oscillator clock (32.768kHz),
Output pin floating,
WDT enabled, LCD enabled
−
22
30
µA
ICC3
Normal mode
/RESET= 'High', Fosc = 4 MHz
(Crystal type, CLKS="0"),
Output pin floating
−
2.2
3
mA
ICC4
Normal mode
/RESET= 'High', Fosc = 10 MHz
(Crystal type, CLKS="0"),
Output pin floating
−
3.1
4
mA
ICC1
9
Parameter
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
Analog supply current
Ivref
Ivdd
IAI2
Analog supply current
IVref
RN1
Resolution
Condition
VAREF - VASS ≥ 2.5V
−
VDD=VAREF=5.0V,
VASS = 0.0V
(V reference from Vdd)
VDD=VAREF=5.0V,
VASS = 0.0V (V reference from
VREF)
ADREF=0, Internal VDD
VDD=5.0V, VSS = 0.0V
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
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
• 79
EM78P516N
8-Bit Microcontroller
ADREF=1, External VREF
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
−
−
±3
−
%
V1/2VDD
Accuracy for 1/2 VDD
−
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.
80 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
8.2
AC Electrical Characteristics
Ta=- 40°C ~ 85°C, VDD=5V±5%, GND=0V
Symbol
Dclk
Tins
Parameter
Conditions
Min.
Typ.
Max.
Unit
Input CLK duty cycle
−
45
50
55
%
Instruction cycle time
Crystal type
100
−
DC
ns
RC type
500
−
DC
ns
−
(Tins+20)/N*
−
−
ns
(CLKS="0")
Ttcc
TCC input period
Tdrh
Device reset hold time
Ta = 25°C
11.3
16.2
21.6
ms
Trst
/RESET pulse width
Ta = 25°C
2000
−
−
ns
Twdt
Watchdog timer period
Ta = 25°C
11.3
16.2
21.6
ms
Tset
Input pin setup time
−
−
0
−
ns
Thold
Input pin hold time
−
−
20
−
ns
Tdelay
Output pin delay time
Cload=20pF
−
50
−
ns
*N= selected prescaler ratio
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 81
EM78P516N
8-Bit Microcontroller
APPENDIX
A Ordering and Manufacturing Information
82 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
B Package Type
Name
Package Type
Pin Count
Package Size
EM78P516NH
Dice
59
−
EM78P516NQ64
QFP
64
14 mm × 20 mm
EM78P516NL64
LQFP
64
7 mm × 7 mm
EM78P516NL44
LQFP
44
10 mm × 10 mm
EM78P516NQ44
QFP
44
10 mm × 10 mm
EM78P516NQ64B
QFP
64
14 mm × 14 mm
EM78P516NL48
LQFP
48
7 mm × 7 mm
Note: These are Green products that do not contain hazardous substances.
These are compatible with the third edition of Sony SS-00259 standard.
The Pb content should be less than 100ppm, and should meet Sony specifications or
requirements.
Part No.
EM78P516NxS/xJ
Electroplate type
Pure Tin
Ingredient (%)
Sn:100%
Melting point (°C)
232°C
Electrical resistivity (µΩ-cm)
11.4
Hardness (hv)
8~10
Elongation (%)
>50%
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 83
EM78P516N
8-Bit Microcontroller
C Package Information
QFP – 64
A1
Symbol
A
A1
A2
D
D1
E
E1
θ
c
L
L1
b
e
Min.
一
0.25
2.55
Normal
一
一
2.72
25.00 BASIC
20.00 BASIC
19.00 BASIC
14.00 BASIC
0°
3.5
0.11
0.15
1.15
1.3
2.50 REF
0.35
0.4
1.00 BSC
Max.
3.40
一
3.05
7°
0.23
1.45
0.50
/
TITLE:
QFP-64 L(14*20 MM) FOOTPRINT 5.0mm
PACKAGE OUTLINE DIMENSION
File :
QFP 64L
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
84 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
QFP – 64
DETAIL " A
"
D1
D
E1
L
E
L1
64
Package Type : QFP-64L
EMC
Symbol
Min.
Normal
A
A1
A2
1.8
2.0
D
14.00
D1
17.2
E
14.00
E1
17.2
c
0.11
L
0.73
0.88
L1
1.6
b
0.29
e
0.8 BASIC
θ
0
Max.
2.45
0.25
2.2
0.23
1.03
0.45
7
1
e
A2
A
b
TITLE:
QFP 64L ( 14*14 MM ) FOOTPRINT 3.2 mm
PACKAGE OUTLINE DIMENSION
A1
File :
DETAIL " B "
QFP 64L
c
Edtion: A
Unit : mm
Scale: Free
Material:
b
Sheet:1 of 1
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 85
EM78P516N
8-Bit Microcontroller
A2
86 •
Symbol
A
A1
A2
D
D1
E
E1
e
c
c1
b
b1
L
L1
Min.
0.05
1.35
8.90
6.90
8.90
6.900
θ
0°
0.09
0.09
0.13
0.13
0.45
Normal
1.40
9.00
7.00
9.00
7.00
0.4 BSC
0.18
0.16
0.60
1.00 REF.
3.5°
Max.
1.60
0.15
1.45
9.10
7.10
9.10
7.100
0.20
0.16
0.23
0.19
0.75
7°
A
E1
E
LQFP – 64
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
LQFP – 44
Symbol
A
A1
A2
b
c
E1
E
L
L1
e
θ
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
Min .
Normal
0.050
1.350
0.300
0.090
1.400
0.370
Max .
1.600
0.150
1.450
0.450
0.200
12.00 BASIC
10.00 BASIC
0.450
0.600
0.750
1.0 (BASIC)
0.8 (BASIC)
0
3.5
7
• 87
EM78P516N
8-Bit Microcontroller
QFP – 44
c
Symbol
A
A1
A2
b
c
E1
E
L
L1
e
θ
Min.
0.15
1.80
13.00
9.90
0.73
1.50
Normal
2.00
0.30(TYP)
0.15(TYP)
13.20
10.00
0.88
1.60
0.80(TYP)
Max.
2.70
0.50
2.20
13.40
10.10
1.03
1.70
0
7
TITLE:
QFP-44L(10*10 MM) FOOTPRINT 3.2mm
PACKAGE OUTLINE DIMENSION
File :
QFP44
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
88 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
LQFP – 48
D1
D
c
Symbal
A
A1
A2
b
b1
c
c1
D
D1
E
E1
e
L
L1
θ
Min
0.05
1.35
0.17
0.17
0.09
0.09
0.45
0°
Normal
Max
1.60
0.15
1.45
0.27
0.23
0.20
0.160
1.40
0.22
0.20
9.00BCS
7.00BSC
9.00BSC
7.00BSC
0.50BSC
0.60
1.00 REF
3.5°
0.75
7°
TITLE:
LQFP-48L(7*7 MM) FOOTPRINT 2.0mm
PACKAGE OUTLINE DIMENSION
File :
LQFP48
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 89
EM78P516N
8-Bit Microcontroller
D EM78P516N Program Pin List
90 •
L/QFP-64
LQFP-48
L/QFP-44
Pin Number
Pin Number
Pin Number
/RESET
25
15
14
ACLK
P54/INT0
32
22
21
DINCLK
P55/INT1
33
23
22
DATAIN
P56/TCC
34
24
23
/PGMB
P60
38
26
25
/OEB
P61
39
27
26
VDD
VDD
29
19
18
GND
GND
26
16
15
Program Pin Name
IC Pin Name
VPP
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
EM78P516N
8-Bit Microcontroller
E
Quality Assurance and Reliability
Test Category
Solderability
Test Conditions
Remarks
Solder temperature=245±5°C, for 5 seconds up to the
stopper using a rosin-type flux
–
Step 1: TCT, 65°C (15 min)~150°C (15mins), 10
cycles
Step 2: Bake at 125°C, TD (endurance)=24 hrs
Step 3: Soak at 30°C/60% ,TD (endurance)=192 hrs
Pre-condition
Step 4: IR flow 3 cycles
For SMD IC (such as
SOP, QFP, SOJ, etc)
(Pkg thickness ≥ 2.5 mm or
3
Pkg volume ≥ 350 mm ----225 ± 5°C)
(Pkg thickness ≤ 2.5 mm or
3
Pkg volume ≤ 350 mm ----240 ± 5°C)
Temperature cycle test
-65°C (15mins)~150°C (15 min ), 200 cycles
–
Pressure cooker test
TA =121°C, RH=100%, pressure=2 atm,
TD (endurance)= 96 hrs
–
High temperature /
High humidity test
TA=85°C, RH=85% ,TD (endurance) = 168, 500 hrs
–
High-temperature
storage life
TA=150°C, TD (endurance) = 500, 1000 hrs
–
High-temperature
operating life
TA=125°C, VCC = Max. operating voltage,
TD (endurance) = 168, 500, 1000 hrs
–
Latch-up
TA=25°C, VCC = Max. operating voltage, 150mA/ 20V
–
ESD (HBM)
TA=25°C, ≥∣± 3KV∣
IP_ND,OP_ND,IO_ND
IP_NS,OP_NS,IO_NS
IP_PD,OP_PD,IO_PD,
TA=25°C, ≥ ∣± 300V∣
ESD (MM)
IP_PS,OP_PS,IO_PS,
VDD-VSS(+),VDD_VSS
(-) mode
E.1 Address Trap Detect
An address trap detect is one of the MCU embedded fail-safe functions that detects
MCU malfunction caused by noise or the like. Whenever the MCU attempts to fetch an
instruction from a certain section of ROM, an internal recovery circuit is auto started. If
a noise-caused address error is detected, the MCU will repeat execution of the
program until the noise is eliminated. The MCU will then continue to execute the next
program.
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)
• 91
EM78P516N
8-Bit Microcontroller
92 •
Product Specification (V1.0) 04.09.2015
(This specification is subject to change without prior notice)