EMC EM78159NKM

EM78P159N
8-Bit Microcontroller
with OTP ROM
Product
Specification
DOC. VERSION 1.0
ELAN MICROELECTRONICS CORP.
March 2006
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 © 2006 by ELAN Microelectronics Corporation
All Rights Reserved
Printed in Taiwan
The contents of this specification are subject to change without further notice. ELAN Microelectronics assumes
no responsibility concerning the accuracy, adequacy, or completeness of this specification. ELAN
Microelectronics makes no commitment to update, or to keep current the information and material contained in
this specification. Such information and material may change to conform to each confirmed order.
In no event shall ELAN Microelectronics be made responsible for any claims attributed to errors, omissions, or
other inaccuracies in the information or material contained in this specification. ELAN Microelectronics shall not
be liable for direct, indirect, special incidental, or consequential damages arising from the use of such information
or material.
The software (if any) described in this specification is furnished under a license or nondisclosure agreement, and
may be used or copied only in accordance with the terms of such agreement.
ELAN Microelectronics products are not intended for use in life support appliances, devices, or systems. Use of
ELAN Microelectronics product in such applications is not supported and is prohibited.
NO PART OF THIS SPECIFICATION MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY
ANY MEANS WITHOUT THE EXPRESSED WRITTEN PERMISSION OF ELAN MICROELECTRONICS.
ELAN MICROELECTRONICS CORPORATION
Headquarters:
Hong Kong:
USA :
No. 12, Innovation Road 1
Hsinchu Science Park
Hsinchu, Taiwan 30077
Tel: +886 3 563-9977
Fax: +886 3 563-9966
http://www.emc.com.tw
Elan (HK) Microelectronics
Corporation, Ltd.
Elan Information
Technology Group (USA)
Rm. 1005B, 10/F Empire Centre
68 Mody Road, Tsimshatsui
Kowloon , HONG KONG
Tel: +852 2723-3376
Fax: +852 2723-7780
[email protected]
1821 Saratoga Ave., Suite 250
Saratoga, CA 95070
USA
Tel : +1 408 366-8225
Fax: +1 408 366-8220
Europe :
Shenzhen:
Shanghai:
Elan Microelectronics Corp.
(Europe)
Elan Microelectronics
Shenzhen, Ltd.
Elan Microelectronics
Shanghai, Ltd.
Siewerdtstrasse 105
8050 Zurich, SWITZERLAND
Tel: +41 43 299-4060
Fax: +41 43 299-4079
http://www.elan-europe.com
SSMEC Bldg., 3F, Gaoxin S. Ave.
Shenzhen Hi-Tech Industrial Park
Shenzhen, Guandong, CHINA
Tel: +86 755 2601-0565
Fax: +86 755 2601-0500
23/Bldg. #115 Lane 572, Bibo Road
Zhangjiang Hi-Tech Park
Shanghai, CHINA
Tel: +86 21 5080-3866
Fax: +86 21 5080-4600
Contents
Contents
1
General Description .................................................................................................. 1
1.1
Comparison between EM78P159N, EM78P154N, and EM78P157N ................ 1
2
Features ..................................................................................................................... 1
3
Pin Assignments and Descriptions ......................................................................... 3
4
3.1
EM78P159NP and EM78P159NM Pin Description ............................................ 4
3-2
EM78P159NAS Pin Description ......................................................................... 4
3.3
EM78P159NKM Pin Description ........................................................................ 5
Function Description ................................................................................................ 6
4.1
Operational Registers......................................................................................... 6
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.7
4.1.8
4.1.9
4.1.10
4.2
R0 (Indirect Addressing Register) .......................................................................6
R1 (Time Clock /Counter)....................................................................................6
R2 (Program Counter) & Stack ...........................................................................7
R3 (Status Register) ............................................................................................8
R4 (RAM Select Register)...................................................................................9
R5 ~ R6 (Port 5 ~ Port 6) ....................................................................................9
RD (Manual Calibration Register) .......................................................................9
RE (Wake Up Control Register) ........................................................................10
RF (Interrupt Status Register) ...........................................................................10
R10 ~ R3F .........................................................................................................10
Special Purpose Registers ............................................................................... 11
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.2.8
4.2.9
A (Accumulator).................................................................................................11
CONT (Control Register)...................................................................................11
IOC5 ~ IOC6 (I/O Port Control Register) ..........................................................12
IOCA (Prescaler Counter Register)...................................................................12
IOCB (Pull-Down Control Register)...................................................................12
IOCC (Open-Drain Control Register) ................................................................13
IOCD (Pull-High Control Register) ....................................................................13
IOCE (WDT Control Register) ...........................................................................14
IOCF (Interrupt Mask Register).........................................................................15
4.3
TCC/WDT & Prescaler ..................................................................................... 15
4.4
I/O Ports ........................................................................................................... 16
4.4.1
4.5
RESET and Wake-up ....................................................................................... 19
4.5.1
4.5.2
4.5.3
4.6
Usage of Port 6 Input Change Wake-up/Interrupt Function..............................18
RESET ..............................................................................................................19
The Summary of the Initialized Values for Registers ........................................22
The Status of RST, T, and P of STATUS Register .............................................24
Interrupt ............................................................................................................ 25
Product Specification (V1.0) 03.10.2006
• iii
Contents
4.7
Oscillator .......................................................................................................... 26
4.7.1
4.7.2
4.7.3
4.7.4
4.8
CODE Option Register ..................................................................................... 30
4.8.1
4.8.2
4.8.3
4.9
Oscillator Modes................................................................................................26
Crystal Oscillator/Ceramic Resonators (XTAL) .................................................27
External RC Oscillator Mode.............................................................................28
Internal RC Oscillator Mode ..............................................................................29
Code Option Register (Word 0).........................................................................30
Customer ID Register (Word 1).........................................................................31
Customer ID Register (Word 2).........................................................................32
Power On Considerations ................................................................................ 32
4.10 External Power On Reset Circuit..................................................................... 32
4.11 Residue-Voltage Protection............................................................................. 33
4.12 Instruction Set ................................................................................................. 34
4.13 Timing Diagrams ............................................................................................. 37
5
Absolute Maximunm Ratings ................................................................................. 38
6
Electrical Characteristics ....................................................................................... 38
6.1
DC Electrical Characteristic.............................................................................. 38
6.2
AC Electrical Characteristic.............................................................................. 39
APPENDIX
A
Package Types......................................................................................................... 40
B
Package Information............................................................................................... 40
C
Quality Assurance and Reliability ......................................................................... 42
C.1 Reliability Test .................................................................................................. 42
C.2 Power-On Reset and Vdd Voltage Drop/Rise Timing Test ............................... 43
C.3 Address Trap Detect......................................................................................... 43
Specification Revision History
Doc. Version
1.0
iv •
Revision Description
Initial Release Version
Date
2006/03/10
Product Specification (V1.0) 03.10.2006
EM78P159N
8-Bit Microcontroller with OTP ROM
1
General Description
EM78P159N is an 8-bit microprocessor designed and developed with low-power,
high-speed CMOS technology. It is equipped with 1K*13-bits Electrical One Time
Programmable Read Only Memory (OTP-ROM). It provides three PROTECTION bits
to prevent user’s code in the OTP memory from being intruded. 8 OPTION bits are also
available to meet user’s requirements.
With its OTP-ROM feature, the EM78P159N is able to offer a convenient way of
developing and verifying user’s programs. Moreover, user can take advantage of
ELAN Writer to easily program his development code.
1.1
Comparison between EM78P159N, EM78P154N, and
EM78P157N
To find out what similarities and differences are between EM78P159N EM78P154N
and EM78P157N, click the following link.
AN-001
2
EM78P154N/159N introduction and comparison with EM78P157N
Features
„
Operating voltage range:
• 2.1V~5.5V at 0°C~70°C
• 2.3V~5.5V at 40°C~85°C
„
Operating frequency range (base on 2 clocks ):
• Crystal mode: DC~20MHz at 5.0V, DC~8MHz at 3.0V, DC~4MHz at 2.1V
• ERC mode: DC~4MHz at 5.0~2.1V
• IRC mode: 4 choices of frequencies available; i.e., 8M, 4M, 1M, & 455kHz
„
IRC mode:
• All these four main frequencies can be trimmed by programming with four
calibrated bits in the ICE159N Simulator. OTP is auto trimmed by DWTR.
• Temperature, Voltage, and Process changes will influence the frequency drift
• Frequency deviation is only ±4.5% after auto trimming (based on Vdd=5V,
Ta=25°C)
„
Fast set-up time only requires about 2ms in high XTAL and 32CLKS in IRC mode
from wake up to operating mode
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
•1
EM78P159N
8-Bit Microcontrollerwith OTP ROM
„
Low power consumption:
• Less then 2mA at 5V/4MHz
• Typically 20μA at 3V/32kHz
• Typically 1μA during Sleep mode
„
1K × 13 bits on chip ROM
„
One security register to prevent intrusion of OTP memory codes
„
One configuration register to accommodate user’s requirements
„
48× 8 bits on chip registers (SRAM, general purpose register)
„
2 bi-directional I/O ports
„
5 level stacks for subroutine nesting
„
8-bit real time clock/counter (TCC) with selective signal sources, trigger edges, and
overflow interrupt
„
Two clocks per instruction cycle
„
Power down (SLEEP) mode
„
Three available interruptions:
• TCC overflow interrupt
• Input-port status changed interrupt (wake up from Sleep mode)
• External interrupt
„
Programmable free running watchdog timer
„
8 programmable pull-high pins
„
8 programmable pull-down pins
„
8 programmable open-drain pins
„
2 programmable R-option pins
„
Package types:
•
•
•
•
2•
18 pin DIP 300mil
: EM78P159NP
18 pin SOP 300mil
: EM78P159NM
20 pin SSOP 209mil : EM78P159NAS
20 pin SSOP 209mil : EM78P159NKM
„
99.9% single instruction cycle commands
„
The transient point of system frequency between HXT and LXT is around 400kHz
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
3
Pin Assignments and Descriptions
1
18
P51
P53
2
17
P50
P54/TCC
3
16
P56/OSCI
/RESET
4
15
P55/OSCO
Vss
5
14
VDD
P60/INT
6
13
P67
P61
7
12
P66
P62
8
11
P65
P63
9
10
P64
EM78P159NP
EM78P159NM
P52
Figure3-1a EM78P159NP/M Pin Assignments
20
NC
P52
1
20
P51
P52
2
19
P51
P53
2
19
P50
P53
3
18
P50
P54/TCC
3
18
P56/OSCI
P54/TCC
4
17
P56/OSCI
/RESET
4
17
P55/OSCO
/RESET
5
16
P55/OSCO
Vss
5
16
VDD
Vss
6
15
VDD
Vss
6
15
VDD
P60/INT
7
14
P67
P60/INT
7
14
P67
P61
8
13
P66
P61
8
13
P66
P62
9
12
P65
P62
9
12
P65
P63
10
11
P64
P63
10
11
P64
Figure3-1b EM78P159NAS Pin Assignments
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159NKM
1
EM78P159NAS
NC
Figure3-1c EM78P159NKM Pin Assignments
•3
EM78P159N
8-Bit Microcontrollerwith OTP ROM
3.1
Symbol
EM78P159NP and EM78P159NM Pin Description
Pin No.
Type
VDD
14
-
P56/OSCI
16
I/O
P55/OSCO
15
I/O
P54/TCC
3
I/O
/RESET
4
I
P50 ~ P53
17, 18,
1, 2
I/O
P60 ~ P67
6 ~ 13
I/O
/INT
6
I
■ External interrupt pin triggered by falling edge
VSS
5
-
■ Ground
3-2
Symbol
Function
■ Power supply
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
General-purpose I/O pin
XTAL type: Crystal input terminal or external clock input pin
ERC type: RC oscillator input pin
General-purpose I/O pin
XTAL type: Output terminal for crystal oscillator or external clock input pin
RC type: Instruction clock output
External clock signal input
General-purpose I/O pin
The real time clock/counter (with Schmitt trigger input pin), must be tied to
VDD or VSS if not in use.
Input pin with Schmitt trigger. If this pin remains at logic low, the controller
will also remain in reset condition.
P50 ~ P53 are bi-directional I/O pins.
P50 and P51 can also be defined as the R-option pins
P50 ~ P53 can be pulled-down by software
P60 ~ P67 are bi-directional I/O pins.
These can be pulled-high or can be open-drain by software programming
P60 ~ P63 can also be pulled-down by software
EM78P159NAS Pin Description
Pin No.
Type
VDD
15
-
P56/OSCI
17
I/O
P55/OSCO
16
I/O
P54/TCC
4
I/O
/RESET
5
I
P50~P53
18, 19,
2, 3
I/O
P60~P67
7~14
I/O
/INT
7
I
■ External interrupt pin triggered by falling edge
VSS
6
-
■ Ground
4•
Function
■ Power supply.
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
General-purpose I/O pin
XTAL type: Crystal input terminal or external clock input pin
ERC type: RC oscillator input pin
General-purpose I/O pin
XTAL type: Output terminal for crystal oscillator or external clock input pin
RC type: Instruction clock output
External clock signal input
General-purpose I/O pin
The real time clock/counter (with Schmitt trigger input pin), must be tied to
VDD or VSS if not in use.
Input pin with Schmitt trigger. If this pin remains at logic low, the controller
will also remain in reset condition.
P50 ~ P53 are bi-directional I/O pins
P50 and P51 can also be defined as the R-option pins
P50 ~ P53 can be pulled-down by software
P60 ~ P67 are bi-directional I/O pins.
These can be pulled-high or can be open-drain by software programming
P60 ~ P63 can also be pulled-down by software
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
3.3
Symbol
EM78P159NKM Pin Description
Pin No.
Type
15,16
-
P56/OSCI
18
I/O
P55/OSCO
17
I/O
P54/TCC
3
I/O
/RESET
4
I
P50~P53
19, 20,
1, 2
I/O
P60~P67
7~14
I/O
/INT
7
I
■ External interrupt pin triggered by falling edge
VSS
5, 6
-
■ Ground
VDD
Function
■ Power supply.
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
General-purpose I/O pin
XTAL type: Crystal input terminal or external clock input pin.
ERC type: RC oscillator input pin.
General-purpose I/O pin
XTAL type: Output terminal for crystal oscillator or external clock input pin
RC type: Instruction clock output
External clock signal input
General-purpose I/O pin
The real time clock/counter (with Schmitt trigger input pin), must be tied to
VDD or VSS if not in use.
Input pin with Schmitt trigger. If this pin remains at logic low, the controller
will also remain in reset condition.
P50 ~ P53 are bi-directional I/O pins.
P50 and P51 can also be defined as the R-option pins.
P50 ~ P53 can be pulled-down by software.
P60 ~ P67 are bi-directional I/O pins.
These can be pulled-high or can be open-drain by software programming.
P60 ~ P63 can also be pulled-down by software
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
•5
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4
Function Description
OSCO
/RESET
OSCI
TCC
WDT timer
/INT
Oscillator/Timing
Control
R2
ROM
Prescaler
Stack
IOCA
Interrupt
Controller
RAM
R4
ALU
Instruction
Register
R3
R1(TCC)
Instruction
Decoder
ACC
DATA & CONTROL BUS
IOC6
R6
I/O
PORT 6
P60//INT
P61
P62
P63
P64
P65
P66
P67
IOC5
R5
I/O
PORT 5
P50
P51
P52
P53
P54
P55
P56
Figure 4-1 Function Block Diagram
4.1
Operational Registers
4.1.1 R0 (Indirect Addressing Register)
R0 is not a physically implemented register. Its major function is to perform as an
indirect addressing pointer. Any instruction using R0 as a pointer actually accesses
data pointed by the RAM Select Register (R4).
4.1.2 R1 (Time Clock /Counter)
6•
„
Increased by an external signal edge, which is defined by TE bit (CONT-4)
through the TCC pin, or by the instruction cycle clock.
„
Writable and readable as any other registers.
„
Defined by resetting PAB(CONT-3).
„
The prescaler is assigned to TCC, if the PAB bit (CONT-3) is reset.
„
The contents of the prescaler counter will be cleared only when TCC register is
written with a value.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.1.3 R2 (Program Counter) & Stack
„
Depending on the device type, R2 and hardware stack are 10-bit wide. The
structure is depicted in the following figure.
PC (A9 ~ A0)
000H
008H
User Memory
Space
Stack Level 1
Stack Level 2
Stack Level 3
Stack Level 4
Stack Level 5
Reset Vector
Interrupt Vector
On-chip Program
Memory
3FFH
Figure 4-2 Program Counter Organization
„
Generating 1024×13 bits on-chip OTP ROM addresses to the relative
programming instruction codes. One program page is 1024 words long.
„
R2 is set as all "0" when under RESET condition.
„
"JMP" instruction allows direct loading of the lower 10 program counter bits.
Thus, "JMP" allows PC to go to any location within a page.
„
"CALL" instruction loads the lower 10 bits of the PC, and then PC+1 is pushed
into the stack. Thus, the subroutine entry address can be located anywhere
within a page.
„
"RET" ("RETLk", "RETI") instruction loads the program counter with the contents
of the top-level stack.
„
"ADD R2, A" allows a relative address to be added to the current PC, and the ninth
and succeeding bits of the PC will increase progressively.
„
"MOV R2, A" allows loading of an address from the "A" register to the lower 8 bits of
the PC, and the ninth and tenth bits (A8 ~ A9) of the PC will remain unchanged.
„
Any instruction (except “ADD R2,A”) that is written to R2 (e.g., "MOV R2, A", "BC
R2, 6",⋅⋅⋅⋅⋅) will cause the ninth bit and the tenth bit (A8 ~ A9) of the PC to remain
unchanged.
„
All instructions are single instruction cycle (fclk/2 or fclk/4) except for the
instruction that would change the contents of R2. Such instruction will need one
more instruction cycle.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
•7
EM78P159N
8-Bit Microcontrollerwith OTP ROM
„
The Data Memory Configuration is as follows:
Address
R PAGE Registers
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
R0
R1
R2
R3
R4
R5
R6
Reserve
Reserve
Reserve
Reserve
Reserve
Reserve
RD
(IAR)
(TCC)
(PC)
(Status)
(RSR)
(Port5)
(Port6)
0E
0F
10
︰
3F
RE
RF
IOC PAGE Registers
(Only for simulator)
Reserve
CONT
Reserve
Reserve
Reserve
IOC5
IOC6
Reserve
Reserve
Reserve
IOCA
IOCB
IOCC
IOCD
(Prescaler Control Register)
(Pull-down Register)
(Open-drain Control)
(Pull-high Control Register)
(Wake up control)
(Interrupt Status)
IOCE
IOCF
(WDT Control Register)
(Interrupt Mask Register)
(Control Register)
(I/O Port Control Register)
(I/O Port Control Register)
General Registers
4.1.4 R3 (Status Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
GP2
GP1
GP0
T
P
Z
DC
C
Bit 0 (C)
Carry flag
Bit 1 (DC)
Auxiliary carry flag
Bit 2 (Z)
Zero flag.
Set to "1" if the result of an arithmetic or logic operation is zero.
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 4 (T)
Time-out bit.
Set to “1” with the "SLEP" and "WDTC" commands, or during power up;
and reset to “0” by WDT time-out.
Bit 5 ~7 (GP0 ~ 2) General-purpose read/write bits.
8•
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.1.5 R4 (RAM Select Register)
Bits 0~5
are used to select registers (Address: 00~06, 0F~3F) in the indirect
addressing mode.
Bits 6~7
Not used (read only). Set these bits to “1” all the time.
The “Z” flag of R3 will set to “1” when the R4 content is equal to “3F.” When R4=R4+1,
the R4 content will select “R0.”
4.1.6 R5 ~ R6 (Port 5 ~ Port 6)
R5 and R6 are I/O registers. Only the lower 7 bits of R5 are available.
4.1.7 RD (Manual Calibration Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
EM78P159N
X
X
X
X
X
X
X
X
ICE159N Simulator
-
-
-
-
C3
C2
C1
C0
In EM78P159N: The register does not exist in real chip.
In ICE159N Simulator: C3 ~ C0 are IRC calibration bits in MCIRC mode.
Bit 3 ~ Bit 0 (C3 ~ C0): are the Calibrators of internal RC mode
C3
C2
C1
C0
Cycle Time (ns)
Frequency (MHz)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
390.6
365.0
342.5
322.6
304.9
289.0
274.7
261.8
250.0
239.2
229.4
220.3
211.9
204.1
196.7
190.1
2.56
2.74
2.92
3.1
3.28
3.46
3.64
3.82
4.00
4.18
4.36
4.54
4.72
4.9
5.08
5.26
NOTES:
1. Frequency values shown are theoretical and taken from an instance of a high
frequency mode. Hence they are shown for reference only. Definite values will
depend on the actual process.
2. Similar way of calculation is also applicable to Low Frequency mode.
Bits 4~7: Not used
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
•9
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.1.8 RE (Wake Up Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
-
-
ICWE
-
Not used.
Bits 0:
Bit 1 (ICWE): Port 6 input status change wake-up enable bit
0 = Disable Port 6 input status change wake-up
1 = Enable Port 6 input status change wake-up
Bits 2 ~ 7:
4.1.9
Not used.
RF (Interrupt Status Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
-
EXIF
ICIF
TCIF
“1” means interrupt request, and “0” means no interrupt occurs.
Bit 0 (TCIF): TCC overflow interrupt flag. Set when TCC overflows. Reset by
software.
Bit 1 (ICIF): Port 6 input status change interrupt flag. Set when Port 6 input changes.
Reset by software.
Bit 2 (EXIF): External interrupt flag. Set by falling edge on /INT pin. Reset by
software.
Bits 3 ~ 7:
Not used.
RF can be cleared by instruction but cannot be set.
IOCF is the interrupt mask register.
NOTE
The result of reading RF is the "logic AND" of RF and IOCF.
4.1.10 R10 ~ R3F
These are all 8-bit general-purpose registers.
10 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.2 Special Purpose Registers
4.2.1 A (Accumulator)
„
Internal data transfer, or instruction operand holding
„
It cannot be addressed.
4.2.2 CONT (Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
/INT
TS
TE
PSRE
PSR2
PSR1
PSR0
Bit 0 (PSR0) ~ Bit 2 (PSR2): TCC prescaler bits
PSR2
PSR1
PSR0
TCC Rate
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 (PSRE): Prescaler enable bit for TCC.
0 = prescaler disabled bit, TCC rate is 1:1
1 = prescaler enabled bit, TCC rate is set as Bit2~Bit0
Bit 4 (TE): TCC signal edge
0 = increment if the transition from low to high takes place on TCC pin
1 = increment if the transition from high to low takes place on TCC pin
Bit 5 (TS): TCC signal source
0 = internal instruction cycle clock, P54 is a bi-directional I/O PIN
1 = transition on TCC pin
Bit 6 (/INT): Interrupt enable flag
0 = masked by DISI or hardware interrupt
1 = enabled by ENI/RETI instructions
Bit 7:
Not used.
CONT register is both readable and writable.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 11
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.2.3 IOC5 ~ IOC6 (I/O Port Control Register)
„
"1" put the relative I/O pin into high impedance, while "0" defines the relative I/O pin
as output.
„
Only the lower 7 bits of IOC5 can be defined.
„
IOC5 and IOC6 registers are both readable and writable.
4.2.4 IOCA (Prescaler Counter Register)
„
IOCA register is readable.
„
The value of IOCA is equal to the contents of Prescaler counter.
„
Down counter
4.2.5 IOCB (Pull-Down Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PD7
/PD6
/PD5
/PD4
/PD3
/PD2
/PD1
/PD0
Bit 0 (/PD0): Control bit is used to enable the pull-down of P50 pin.
0 = Enable internal pull-down
1 = Disable internal pull-down
Bit 1 (/PD1): Control bit is used to enable the pull-down of P51 pin.
Bit 2 (/PD2): Control bit is used to enable the pull-down of P52 pin.
Bit 3 (/PD3): Control bit is used to enable the pull-down of P53 pin.
Bit 4 (/PD4): Control bit is used to enable the pull-down of P60 pin.
Bit 5 (/PD5): Control bit is used to enable the pull-down of P61 pin.
Bit 6 (/PD6): Control bit is used to enable the pull-down of P62 pin.
Bit 7 (/PD7): Control bit is used to enable the pull-down of P63 pin.
IOCB Register is both readable and writable.
12 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.2.6 IOCC (Open-Drain Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
OD7
OD6
OD5
OD4
OD3
OD2
OD1
OD0
Bit 0 (OD0): Control bit is used to enable the open-drain of P60 pin.
0 = Disable open-drain output
1 = Enable open-drain output
Bit 1 (OD1): Control bit is used to enable the open-drain of P61 pin.
Bit 2 (OD2): Control bit is used to enable the open-drain of P62 pin.
Bit 3 (OD3): Control bit is used to enable the open-drain of P63 pin.
Bit 4 (OD4): Control bit is used to enable the open-drain of P64 pin.
Bit 5 (OD5): Control bit is used to enable the open-drain of P65 pin.
Bit 6 (OD6): Control bit is used to enable the open-drain of P66 pin.
Bit 7 (OD7): Control bit is used to enable the open-drain of P67 pin.
IOCC Register is both readable and writable.
4.2.7 IOCD (Pull-High Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PH7
/PH6
/PH5
/PH4
/PH3
/PH2
/PH1
/PH0
Bit 0 (/PH0): Control bit is used to enable the pull-high of P60 pin.
0 = Enable internal pull-high
1 = Disable internal pull-high
Bit 1 (/PH1): Control bit is used to enable the pull-high of P61 pin.
Bit 2 (/PH2): Control bit is used to enable the pull-high of P62 pin.
Bit 3 (/PH3): Control bit is used to enable the pull-high of P63 pin.
Bit 4 (/PH4): Control bit is used to enable the pull-high of P64 pin.
Bit 5 (/PH5): Control bit is used to enable the pull-high of P65 pin.
Bit 6 (/PH6): Control bit is used to enable the pull-high of P66 pin.
Bit 7 (/PH7): Control bit is used to enable the pull-high of P67 pin.
IOCD Register is both readable and writable.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 13
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.2.8 IOCE (WDT Control Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WDTE
EIS
-
ROC
PSWE
PSW2
PSW1
PSW0
Bit 7 (WDTE): Control bit used to enable the Watchdog timer.
0 = Disable WDT
1 = Enable WDT
WDTE is both readable and writable.
Bit 6 (EIS):
Control bit is used to define the function of P60 (/INT) pin.
0 = P60, bi-directional I/O pin.
1 = /INT, external interrupt pin. In this case, the I/O control bit of P60 (Bit
0 of IOC6) must be set to "1."
When EIS is "0," the path of /INT is masked. When EIS is "1," the status
of /INT pin can also be read by way of reading Port 6 (R6). See Figure
4-4a under Section 4.4 for reference.
EIS is both readable and writable.
Bit 5:
Not used
Bit 4 (ROC): ROC is used for the R-option.
Setting the ROC to "1" will enable the status of R-option pins (P50∼P51)
that are read by the controller. Clearing the ROC will disable the
R-option function. If the R-option function is selected, you must connect
the P51 pin or/and P50 pin to VSS with a 430KΩ external resistor (Rex).
If the Rex is connected/disconnected, the status of P50 (P51) is read as
"0" / "1." Refer to Figure 4-5 under Section 4.4 for reference.
Bit 3 (PSWE): Prescaler enable bit for WDT
0 = prescaler disable bit, WDT rate is 1:1.
1 = prescaler enable bit, WDT rate is set as Bit4~Bit2.
Bit 2 (PSW2) ~ Bit 0 (PSW0): WDT prescaler bits
14 •
PSW2
PSW1
PSW0
WDT Rate
0
0
0
1:2
0
0
1
1:4
0
1
0
1:8
0
1
1
1:16
1
0
0
1:32
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.2.9 IOCF (Interrupt Mask Register)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
-
EXIE
ICIE
TCIE
Bit 0 (TCIE): TCIF interrupt enable bit
0 = disable TCIF interrupt
1 = enable TCIF interrupt
Bit 1 (ICIE): ICIF interrupt enable bit
0 = disable ICIF interrupt
1 = enable ICIF interrupt
Bit 2 (EXIE): EXIF interrupt enable bit
0 = disable EXIF interrupt
1 = enable EXIF interrupt
Bits 3~7:
Not used
Individual interrupt is enabled by setting its associated control bit in the IOCF to "1."
Global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction.
Refer to Figure 4-7 in Section 4.6 for further reference.
IOCF register is both readable and writable.
4.3 TCC/WDT & Prescaler
There are two 8-bit counters available as prescalers for the TCC and WDT
respectively. The PSR0 ~ PSR2 bits of the CONT register are used to determine the
ratio of the prescaler of TCC, and the PWR0 ~ PWR2 bits of the IOCE register are used
to determine the prescaler of WDT. The prescaler (PSR0 ~ PSR2) will be cleared by
the instruction each time it writes to TCC. The WDT and prescaler will be cleared by
the “WDTC” and “SLEP” instructions.
„
R1 (TCC) is an 8-bit timer/counter. The clock source of TCC can be internal or
external clock input (edge selectable from TCC pin). If TCC signal is sourced
from internal clock, TCC will increase by 1 at every instruction cycle (without
prescaler). CLK=Fosc/2 or CLK=Fosc/4 application is determined by the CODE
Option bit CLK status. CLK=Fosc/2 is used if CLK bit is "0," and CLK=Fosc/4 is
used if CLK bit is "1." If TCC signal source comes from external clock input, TCC
is increased by 1 at every falling edge or rising edge of TCC pin.
„
The watchdog timer is a free running on-chip RC oscillator. The WDT will keep on
running even when the oscillator driver has been turned off (i.e., in Sleep mode).
During normal operation or Sleep mode, a WDT time-out (if enabled) will cause
the device to reset. The WDT can be enabled or disabled any time during Normal
mode by software programming. Refer to WDTE bit of IOCE register in Section
4.2.8. Without prescaler, the WDT time-out period is approximately 18 ms1
(default).
1
Vdd = 5V, set up time period = 16.8ms ± 30%
Vdd = 3V, set up time period = 18ms ± 30%
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 15
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.4 I/O Ports
The I/O registers, both Port 5 and Port 6, are bi-directional tri-state I/O ports. Port 6 can
be pulled high internally by software. In addition, Port 6 can also features an
open-drain output through software and an Input status change interrupt (or wake-up)
function. P50 ~ P53 and P60 ~ P63 pins can be pulled down by software. Each I/O pin
can be defined as "input" or "output" pin by the I/O control register (IOC5 ~ IOC6).
P50~P51 are the R-option pins enabled by setting the ROC bit in the IOCE register to
“1.” When the R-option function is used, it is recommended that P50 ~ P51 are used as
output pins. When R-option is in enable state, P50 ~ P51 must be programmed as
input pins. Under R-option mode, the current/power consumption by Rex should be
taken into the consideration to promote energy conservation.
The I/O registers and I/O control registers are both readable and writable. The I/O
interface circuits for Port 5 and Port 6 are shown in the following figures (Figures 4-3,
4-4a, 4-4b, & 4-5).
PCRD
Q
_
Q
PORT
P
R
C
L
Q
P
R
_
Q
C
L
D
PC W R
CLK
IO D
D
CLK
PD W R
PDRD
0
1
M
U
X
Figure 4-3 I/O Port and I/O Control Register for Port 5 Circuit
NOTE
Pull-down is not shown in the figure.
16 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
PC R D
Q
_
Q
P
R D
C L K
C
L
PC W R
Q
_
Q
P
R D
C L K
C
L
PD W R
P 6 0 /I N T
PO R T
B it 6 o f I O C E
P
R
C L K
C
L
D
0
Q
M
U
X
1
_
Q
IO D
T 10
PD R D
P
R
Q
C L K
C
L
_
Q
D
IN T
Figure 4-4a I/O Port and I/O Control Register for P60 (/INT) Circuit
NOTE
Pull-high (down) and Open-drain are not shown in the figure.
PCRD
P61~P67
PORT
0
1
Q
_
Q
P
R D
CLK
C
L
PCWR
Q
_
Q
P
R D
CLK
C
L
PDWR
IOD
M
U
X
TIN
PDRD
P
R
CLK
C
L
D
Q
_
Q
Figure 4-4b I/O Port and I/O Control Register for P61~P67 Circuit
NOTE
Pull-high (down) and Open-drain are not shown in the figure.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 17
EM78P159N
8-Bit Microcontrollerwith OTP ROM
IOCE.1
D
P
R
Q
Interrupt
CLK
_
C Q
L
RE.1
ENI Instruction
P
D R Q
T10
T11
CLK
_
C Q
L
P
Q R
D
CLK
_
Q C
L
T17
DISI Instruction
Interrupt
(Wake-up from SLEEP)
/SLEP
Next Instruction
(Wake-up from SLEEP)
Figure 4-4c I/O Port 6 with Input Change Interrupt/Wake-up Block Diagram
4.4.1 Usage of Port 6 Input Change Wake-up/Interrupt Function
Usage of Port 6 Input Status Changed Wake-up/Interrupt
(I) Wake-up
(II) Wake-up and interrupt
(a) Before SLEEP
(a) Before SLEEP
1. Disable WDT
1. Disable WDT
2. Read I/O Port 6 (MOV R6,R6)
2. Read I/O Port 6 (MOV R6,R6)
3. Execute "ENI" or "DISI"
3. Execute "ENI" or "DISI"
4. Enable wake-up bit (Set RE ICWE =1)
4. Enable wake-up bit (Set RE ICWE =1)
5. Execute "SLEP" instruction
5. Enable interrupt (Set IOCF ICIE =1)
(b) After wake-up
→ Next instruction
6. Execute "SLEP" instruction
(b) After wake-up
1. IF "ENI" → Interrupt vector (008H)
2. IF "DISI" → Next instruction
(III) Interrupt
(a) Before Port 6 pin change
1. Read I/O Port 6 (MOV R6,R6)
2. Execute "ENI" or "DISI"
3. Enable interrupt (Set IOCF0 ICIE =1)
(b) After Port 6 pin changed (interrupt)
1. IF "ENI" → Interrupt vector (008H)
2. IF "DISI" → Next instruction
18 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
PCRD
ROC
VCC
Q
P
R
Q
C
L
Q
P
R
Q
C
L
Weakly
Pull-up
PORT
D
CLK
PCWR
IOD
D
PDWR
PDRD
0
1
Rex*
M
U
X
*The Rex is 430K ohm external resistor
Figure 4-5 I/O Port with R-option (P50,P51) Circuit
4.5 RESET and Wake-up
4.5.1 RESET
A RESET is initiated by one of the following events1) Power on reset.
2) /RESET pin input "low," or
3) WDT time-out (if enabled).
The device is kept under RESET condition for a period of approximately 18ms2 (one
oscillator start-up timer period) after a reset is detected. And if the /Reset pin goes
“low” or WDT time-out is active, a reset is generated. Once a RESET occurs, the
following functions are performed:
„
The oscillator is running, or will be started.
„
The Program Counter (R2) is set to all "0."
„
All I/O port pins are configured as input mode (high-impedance state).
2
Vdd = 5V, set up time period = 16.8ms ± 30%
Vdd = 3V, set up time period = 18ms ± 30%
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 19
EM78P159N
8-Bit Microcontrollerwith OTP ROM
„
The Watchdog timer and prescaler are cleared.
„
When power is switched on, the upper 3 bits of R3 are cleared.
„
The bits of the CONT register are set to all "1" except for the Bit 6 (INT flag).
„
The bits of the IOCA register are set to all "1."
„
The bits of the IOCB register are set to all "1."
„
The IOCC register is cleared.
„
The bits of the IOCD register are set to all "1."
„
Bit 7 of the IOCE register is set to "1," and Bits 4 and 6 are cleared.
„
Bits 0 ~ 2 of RF and Bits 0 ~ 2 of IOCF registers are cleared.
The Sleep (power down) mode is asserted by executing the “SLEP” instruction. While
entering Sleep mode, WDT (if enabled) is cleared but keeps on running. The controller
can be awakened by1) External reset input on /RESET pin,
2) WDT time-out (if enabled), or
3) Port 6 input status change (if enabled).
The first two cases will cause the EM78P159N to reset. The T and P flags of R3 are
used to determine the source of the reset (wake-up). The last case is considered the
continuation of program execution and the global interrupt ("ENI" or "DISI" being
executed) decides whether or not the controller branches to the interrupt vector
following wake-up. If ENI is executed before SLEP, the instruction will begin to execute
from the address 008H after wake-up. If DISI is executed before SLEP, the operation
will restart from the succeeding instruction right next to SLEP after wake-up.
Wake-up time is dependent on oscillator mode. Under RC mode, the reset time is 32
clocks, and in High XTAL mode, reset time is 2ms and 32clocks. In Low XTAL mode,
the reset time is 500ms. The above is applicable only for stable oscillator.
Only one of Cases 2 and 3 can be enabled before going into the Sleep mode. That is,
[a] if Port 6 Input Status Change Interrupt is enabled before SLEP, WDT must be
disabled by software. However, the WDT bit in the option register remains enabled.
Hence, the EM78P159N can be awakened only by Case 1 or 3.
[b] if WDT is enabled before SLEP, Port 6 Input Status Change Interrupt must be
disabled. Hence, the EM78P159N can be awakened only by Case 1 or 2. Refer to
the Section 4.6, Interrupt for further details.
20 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
If Port 6 Input Status Change Interrupt is used to wake-up the EM78P159N (Case [a]
above), the following instructions must be executed before SLEP:
MOV A, @xx000110b
; Select internal TCC clock
CONTW
CLR R1
; Clear TCC and prescaler
MOV A, @xxxx1110b
; Select WDT prescaler
CONTW
WDTC
; Clear WDT and prescaler
MOV A, @0xxxxxxxb
;Disable WDT
IOW RE
MOV R6, R6
; Read Port 6
BS RE,1
; Enable wake up control bit
MOV A, @00000x1xb
; Enable Port 6 input change interrupt
IOW RF
ENI (or DISI)
; Enable (or disable) global interrupt
SLEP
;Sleep
NOP
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 21
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.5.2 The Summary of the Initialized Values for Registers
Address
N/A
N/A
N/A
0x00
0x01
0x02
0x03
0x04
0x05
0x06
22 •
Name
IOC5
IOC6
CONT
R0(IAR)
R1(TCC)
R2(PC)
R3(SR)
R4(RSR)
P5
P6
Reset Type
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
X
U
U
C56
1
1
C55
1
1
C54
1
1
C53
1
1
C52
1
1
C51
1
1
C50
1
1
U
P
P
P
P
P
P
P
C67
1
1
C66
1
1
C65
1
1
C64
1
1
C63
1
1
C62
1
1
C61
1
1
C60
1
1
P
P
P
P
P
P
P
P
X
1
1
/INT
0
0
TS
1
1
TE
1
1
P
P
P
P
P
P
P
P
U
P
U
P
U
P
U
P
U
P
U
P
U
P
U
P
P
P
P
P
P
P
P
P
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
*0/P
*0/P
*0/P
*0/P
*1/P
*0/P
*0/P
*0/P
GP2
0
0
GP1
0
0
GP0
0
0
T
1
P
1
**
**
Z
U
P
DC
U
P
C
U
P
P
P
P
**
**
P
P
P
PSRE PSR2 PSR1 PSR0
1
1
1
1
1
1
1
1
-
-
-
-
-
-
-
-
1
1
1
1
U
P
U
P
U
P
U
P
U
P
U
P
1
1
P
P
P
P
P
P
X
P56
P55
P54
P53
P52
P51
P50
0
0
U
P
U
P
U
P
U
P
U
P
U
P
U
P
0
P
P
P
P
P
P
P
P67
U
P
P66
U
P
P65
U
P
P64
U
P
P63
U
P
P62
U
P
P61
U
P
P60
U
P
P
P
P
P
P
P
P
P
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
Address
0x0E
0x0F
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
Name
RE(WUE)
RF(ISR)
IOCA
IOCB
IOCC
IOCD
IOCE
IOCF
0x10~0x2F R10~R2F
Reset Type
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
ICWE
0
0
X
U
U
U
U
U
U
U
U
P
U
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
EXIF
0
0
ICIF
0
0
TCIF
0
0
U
U
U
U
U
P
P
P
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
P
P
P
P
P
P
P
P
/PD7
1
1
/PD6
1
1
/PD5
1
1
/PD4
1
1
/PD3
1
1
/PD2
1
1
/PD1
1
1
/PD0
1
1
P
P
P
P
P
P
P
P
OD7
0
0
OD6
0
0
OD5
0
0
OD4
0
0
OD3
0
0
OD2
0
0
OD1
0
0
OD0
0
0
P
P
P
P
P
P
P
P
/PH7
1
1
/PH6
1
1
/PH5
1
1
/PH4
1
1
/PH3
1
1
/PH2
1
1
/PH1
1
1
/PH0
1
1
P
P
P
P
P
P
P
P
WDTE
1
1
EIS
0
0
X
U
U
1
P
U
P
P
P
P
P
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
EXIE
0
0
ICIE
0
0
TCIE
0
0
U
U
U
U
U
P
P
P
U
P
U
P
U
P
U
P
U
P
U
P
U
P
U
P
P
P
P
P
P
P
P
P
ROC PSWE PSW2 PSW1 PSW0
0
0
0
0
0
0
0
0
0
0
* Jump to address 0x08, or execute the instruction next to the “SLEP” instruction.
** Refer to tables provided under next section (Section 4.5.3).
Legend:
X: Not used
U: Unknown or don’t care
P: Previous value before reset
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 23
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.5.3 The Status of RST, T, and P of STATUS Register
A RESET condition is initiated by the following events
1) A power-on condition,
2) A high-low-high pulse on /RESET pin, and
3) Watchdog timer time-out.
The values of T and P listed in the table below are used to check how the processor
wakes up.
„
The Values of RST, T, and P after RESET
Reset Type
T
Power on
/RESET during Operating mode
/RESET wake-up during SLEEP mode
WDT during Operating mode
WDT wake-up during SLEEP mode
Wake-Up on pin change during SLEEP mode
P
1
1
*P
*P
1
0
0
1
0
*P
0
0
* P: Previous status before reset
The following table shows the events that may affect the status of T and P.
„
The Status of T and P Being Affected by Events
Event
T
P
Power on
1
1
WDTC instruction
1
1
WDT time-out
0
*P
SLEP instruction
1
0
Wake-Up on pin change during SLEEP mode
1
0
* P: Previous status before reset
VDD
D
CLK
Oscillator
Q
CLK
CLR
Power-on
Reset
Voltage
Detector
WDTE
WDT
WDT Timeout
Setup Time
RESET
/RESET
Figure 4-6 Controller Reset Block Diagram
24 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.6 Interrupt
The EM78P159N has three falling-edge interrupts as listed herewith:
1) TCC overflow interrupt
2) Port 6 Input Status Change Interrupt
3) External interrupt [(P60, /INT) pin].
Before the Port 6 Input Status Change Interrupt is enabled, reading Port 6 (e.g., "MOV
R6,R6") is necessary. Each Port 6 pin will have this feature if its status changes. Any
pin configured as output or P60 pin configured as /INT is excluded from this function.
The Port 6 Input Status Changed Interrupt can wake up the EM78P159N from Sleep
mode if Port 6 is enabled prior to going into the Sleep mode by executing SLEP. When
the chip wakes-up, the controller will continue to execute the succeeding address if the
global interrupt is disabled or it will branch into the interrupt vector 008H if the global
interrupt is enabled.
RF is the interrupt status register that records the interrupt requests in the relative
flags/bits. IOCF is an interrupt mask register. The global interrupt is enabled by the
ENI instruction and is disabled by the DISI instruction. When one of the interrupts
(enabled) occurs, the next instruction will be fetched from address 008H. Once in the
interrupt service routine, the source of an interrupt can be determined by polling the flag
bits in RF. The interrupt flag bit must be cleared by instructions before leaving the
interrupt service routine and before interrupts are enabled to avoid recursive interrupts.
The flag (except ICIF bit) in the Interrupt Status Register (RF) is set regardless of the
status of its mask bit or the execution of ENI. Note that the outcome of RF will be the
logic AND of RF and IOCF (refer to figure below). The RETI instruction ends the
interrupt routine and enables the global interrupt (the execution of ENI).
When an interrupt is generated by the INT instruction (enabled), the next instruction will
be fetched from Address 001H.
VCC
D
/IR Q n
P
R
CLK
C
L
Q
IR Q n
IN T
_
Q
RFRD
IR Q m
RF
E N I/D IS I
IO C F
Q
P
R
_
Q
C
L
IO D
D
CLK
IO C F W R
/R E S E T
IO C F R D
RFW R
Figure 4-7 Interrupt Input Circuit
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 25
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.7 Oscillator
4.7.1 Oscillator Modes
The EM78P159N can be operated in four different oscillator modes, such as External
RC oscillator mode (ERC), Internal RC oscillator mode(IRC), High XTAL oscillator
mode (HXT), and Low XTAL oscillator mode (LXT). The desired mode can be selected
through programming of OSC2, OSC1, and OSC0 in the CODE option register. Table
below explains how these 4 oscillator modes are defined with OSC2, OSC1, and
OSC0.
„
Oscillator Modes Defined by OSC
Mode
OSC2 OSC1 OSC0
ERC (External RC oscillator mode); P55/OSCO act P55
0
0
0
ERC (External RC oscillator mode); P55/OSCO act OSCO
0
0
1
IRC (Internal RC oscillator mode) ; P55/OSCO act P55
0
1
0
IRC (Internal RC oscillator mode); P55/OSCO act OSCO
0
1
1
1
0
0
MCIRC (Manual calibration IRC mode); P55/OSCO act P55
With Simulator
only
MCIRC (Manual calibration IRC mode); P55/OSCO act OSCO
1
0
1
LXT (Low XTAL oscillator mode)
1
1
0
HXT (High XTAL oscillator mode) (default)
1
1
1
NOTE
The transient point of system frequency between HXT and LXY is around 400 KHz.
The maximum operational frequency of crystal/resonator under different VDDs is as
listed below.
„
Summary of Maximum Operating Speeds
Conditions
Two cycles with two clocks
26 •
VDD
Max Freq. (MHz)
2.1
4.0
3.0
8.0
5.0
20.0
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.7.2 Crystal Oscillator/Ceramic Resonators (XTAL)
EM78P159N can be driven by an external clock signal through the OSCI pin as shown
in the following figure.
OSCI
Ext. Clock
OSCO
EM78P159N
Figure 4-8a External Clock Input Circuit
In the most applications, Pin OSCI and Pin OSCO can be connected with a crystal or
ceramic resonator to generate oscillation. Figure below depicts such circuit. The same
thing applies whether it is in the HXT mode or in the LXT mode. The following table
provides the recommended values of C1 and C2. Since each resonator has its own
attribute, you 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.
C1
OSCI
EM78P159N
XTAL
OSCO
RS
C2
Figure 4-8b Crystal/Resonator Circuit
„
Capacitor Selection Guide for Crystal Oscillator or Ceramic Resonator
Oscillator Type
Frequency Mode
Frequency
C1(pF)
C2(pF)
Ceramic Resonators
HXT
455 kHz
2.0 MHz
4.0 MHz
100~150
20~40
10~30
100~150
20~40
10~30
LXT
32.768kHz
100KHz
200KHz
25
25
25
15
25
25
HXT
455KHz
1.0MHz
2.0MHz
4.0MHz
20~40
15~30
15
15
20~150
15~30
15
15
Crystal Oscillator
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 27
EM78P159N
8-Bit Microcontrollerwith OTP ROM
NOTE
The values of capacitors C1 & C2 are for reference only.
4.7.3 External RC Oscillator Mode
For some applications that do not need a very precise timing calculation, the RC
oscillator (Figure 4-9 below) offers a lot of cost savings. Nevertheless, it should be
noted that the frequency of the RC oscillator is influenced by the supply voltage, the
values of the resistor (Rext), the capacitor (Cext), and even by the operation
temperature. Moreover, the frequency also changes slightly from one chip to another
due to the manufacturing process variation.
In order to maintain a stable system frequency, the values of the Cext should not be
less than 20pF, and that the value of Rext should not be greater than 1 MΩ. If they
cannot be kept in this range, the frequency can be easily affected by noise, humidity,
and leakage.
The smaller the Rext in the RC oscillator is, the faster its frequency will be. On the
contrary, for very low Rext values, for instance, 1 KΩ, the oscillator becomes unstable
because the NMOS cannot discharge the current of the capacitance correctly.
Based on the above reasons, it must be kept in mind that all of the supply voltage, the
operation temperature, the components of the RC oscillator, the package types, the
way the PCB is layout, will affect the system frequency.
Vcc
Rext
OSCI
Cext
EM78P159N
Figure 4-9 External RC Oscillator Mode Circuit
28 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
„
RC Oscillator Frequencies
Cext
20 pF
Rext
Average Fosc
5V, 25°C
Average Fosc
3V, 25°C
3.3k
3.92 MHz
3.65 MHz
5.1k
2.67 MHz
2.60 MHz
10k
100k
1.39MHz
149 kHz
1.40 MHz
156 kHz
3.3k
1.39 MHz
1.33 MHz
5.1k
10k
940 kHz
480 kHz
920 kHz
475 kHz
100 pF
100k
52 kHz
50 kHz
3.3k
595 kHz
560 kHz
5.1k
400 kHz
390 kHz
10k
200 kHz
200 kHz
100k
21 kHz
20 kHz
300 pF
NOTE
1. Measured on DIP packages.
2. The values are for design reference only.
3. The frequency drift is about ±30%
4.7.4 Internal RC Oscillator Mode
EM78P159N offers a versatile internal RC mode with default frequency value of 4MHz.
The Internal RC oscillator mode has other frequencies (1MHz, 8MHz. & 455kHz) that
can be set by CODE OPTION (WORD1), RCM1, and RCM0. All these four main
frequencies can be calibrated by programming the OPTION Bits C3 ~ C0. The table
below describes a typical instance of the calibration.
„
Internal RC Drift Rate (Ta=25℃, VDD=3.9V±5%, VSS=0V)
Internal
RC Frequency
Drift Rate
Temperature
(-40℃ ~ +85℃)
Voltage
(2.3V ~ 5.5V)
Process
Total
4MHz
±5%
±5%
±4%
±14%
8MHz
±5%
±5%
±4%
±14%
1MHz
±5%
±5%
±4%
±14%
455MHz
±5%
±5%
±4%
±14%
The above are theoretical values and are provided for reference only. Actual values
may vary depending on actual process.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 29
EM78P159N
8-Bit Microcontrollerwith OTP ROM
„
Calibration Selection for Internal RC Mode
C3
C2
C1
C0
Cycle Time (ns)
Frequency (MHz)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
390.6
365.0
342.5
322.6
304.9
289.0
274.7
261.8
250.0
239.2
229.4
220.3
211.9
204.1
196.7
190.1
2.56
2.74
2.92
3.1
3.28
3.46
3.64
3.82
4.00
4.18
4.36
4.54
4.72
4.9
5.08
5.26
The above are theoretical values and are provided for reference only. Actual values
may vary depending on actual process.
4.8 CODE Option Register
The EM78P159N has a 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 0
Word 1
Word 2
Bit12 ~ Bit0
Bit12 ~ Bit0
Bit12 ~ Bit0
4.8.1 Code Option Register (Word 0)
WORD 0
Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
-
-
-
-
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CLKS0 ENWDTB OSC2 OSC1 OSC0 HLP
PR2
PR1
PR0
Bit 0 ~ Bit 2 (PR0 ~ PR2): Protect bits
PR0 ~ PR2 are protect bits. Protect types are as follows:
30 •
PR2
PR1
PR0
Protect
0
0
0
Enable
0
0
1
Enable
0
1
0
Enable
0
1
1
Enable
1
0
0
Enable
1
0
1
Enable
1
1
0
Enable
1
1
1
Disable
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
Power selection
0 = Low power
1 = High power
Bit 3 (HLP):
Bit 4 ~ Bit 6 (OSC0 ~ OSC2): Oscillator Modes Selection bits
Mode
OSC2 OSC1 OSC0
ERC (External RC oscillator mode); P55/OSCO act P55
0
0
0
ERC (External RC oscillator mode); P55/OSCO act OSCO
0
0
1
IRC (Internal RC oscillator mode) ; P55/OSCO act P55
0
1
0
IRC (Internal RC oscillator mode); P55/OSCO act OSCO
0
1
1
1
0
0
1
0
1
MCIRC (Manual calibration IRC mode); P55/OSCO act P55
With Simulator
only
MCIRC (Manual calibration IRC mode); P55/OSCO act OSCO
LXT (Low XTAL oscillator mode)
1
1
0
HXT (High XTAL oscillator mode) (default)
1
1
1
NOTE
The transient point of system frequency between HXT and LXY is around 400 KHz.
Bit 7 (ENWDTB): Watchdog timer enable bit.
0 = Enable
1 = Disable
Instruction period option bit
Bit 8 (CLKS0):
Word 0
CLK0
4 oscillator time periods (default)
1
2 oscillator time periods
0
Refer to Section 4.12 Instruction Set for further details.
Not used, but need to set to “1” all the time to preclude possible
error.
Bit 9 ~ Bit 12:
4.8.2 Customer ID Register (Word 1)
WORD 0
Bit12 Bit11 Bit10
-
RCOUT
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
-
-
-
CYES
-
-
-
-
-
Bit1
Bit0
RCM1 RCM0
Bit 0 ~ Bit 1 ( RCM0 ~ RCM1): IRC mode selection bits
RCM 1
Bit 2 ~ Bit 5:
RCM 0
Frequency (MHz)
1
1
4
1
0
8
0
1
1
0
0
455kHz
Not used
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 31
EM78P159N
8-Bit Microcontrollerwith OTP ROM
Bit 6 (CYES):
Instruction cycle selection bit
0 = one instruction cycle
1 = two instruction cycles (default)
Bit 7 ~ Bit 10:
Not used
Bits 11 (RCOUT): System clock output enable bit in IRC or ERC mode
0 = OSCO pin is open drain.
1 = OSCO output system clock
Not used
Bit 12:
4.8.3 Customer ID Register (Word 2)
WORD 0
Bit12 Bit11 Bit10
-
-
-
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
-
-
-
-
-
-
-
-
-
-
Bit 0 ~ Bit 12: User’s ID code
4.9 Power On Considerations
Any microcontroller is not guaranteed to start to operate properly before the power
supply stays at its steady state.
EM78P159N POR voltage range is 1.7V~1.9V. Under customer application, when
power is OFF, Vdd must drop to below 1.2V and remains OFF for 10µs before power
can be switched ON again. This way, the EM78P159N will reset and operates
normally. The extra external reset circuit will work well if Vdd can rise at very fast speed
(50 ms or less). However, under most cases where critical applications are involved,
extra devices are required to assist in solving the power-up problems.
4.10 External Power On Reset Circuit
The circuit shown in the
following figure impleVdd
ments an external RC to
R
produce the reset pulse.
/RESET
D
The pulse width (time
EM78P159N
constant) should be kept
long enough for Vdd to
Rin
C
reached minimum operation voltage. This circuit is
used when the power
supply has a slow rise
Figure 4-10 External Power-Up Reset Circuit
time. Because the current
leakage from the /RESET pin is about ±5μA, it is recommended that R should not be
greater than 40K. In this way, the /RESET pin voltage is held below 0.2V. The diode
(D) acts as a short circuit at the moment of power down. The capacitor C will discharge
rapidly and fully. Rin, the current-limited resistor, will prevent high current or ESD
(electrostatic discharge) from flowing to pin /RESET.
32 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.11 Residue-Voltage Protection
When the battery is replaced, device power (Vdd) is cut off but residue-voltage
remains. The residue-voltage may trips below minimum Vdd, but not to zero. This
condition may cause a poor power-on reset. The following figures illustrate two
recommended methods on how to build a residue-voltage protection circuit for
EM78P159N.
Vdd
Vdd
33K
EM78P159N
Q1
10K
/RESET
40K
1N4684
Figure 4-11a Residue Voltage Protection Circuit (1)
Vdd
Vdd
R1
EM78P159N
Q1
/RESET
40K
R2
Figure 4-11b Residue Voltage Protection Circuit (2)
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 33
EM78P159N
8-Bit Microcontrollerwith OTP ROM
4.12 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:
(A) Change one instruction cycle to consist of 4 oscillator periods.
(B) "JMP," "CALL," "RET," "RETL," "RETI," or the conditional skip ("JBS," "JBC," "JZ,"
"JZA," "DJZ,” "DJZA") commands which were tested to be true, are executed within
two instruction cycles. The instructions that are written to the program counter also
take two instruction cycles.
Case (A) is selected by the CODE Option bit, called CLK. One instruction cycle
consists of two oscillator clocks if CLK is low, and four oscillator clocks if CLK is high.
Note that once the 4 oscillator periods within one instruction cycle is selected as in
Case (A), the internal clock source to TCC should be CLK=Fosc/4, instead of Fosc/ 2.
Moreover, the instruction set has the following features:
1) Every bit of any register can be set, cleared, or tested directly.
2) The I/O register can be regarded as general register. That is, the same instruction
can operate on I/O register.
The following symbols are used in the following Instruction Set table:
R represents a register designator that specifies which one of the registers (including
operational registers and general purpose registers) is to be utilized by the
instruction.
b represents a bit field designator that selects the value for the bit which is located in
the register "R", and affects operation.
K represents an 8 or 10-bit constant or literal value.
34 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
Instruction Binary
Hex
Mnemonic
Operation
Status Affected
0 0000 0000 0000
0000
NOP
No Operation
None
0 0000 0000 0001
0001
DAA
Decimal Adjust A
C
0 0000 0000 0010
0002
CONTW
A → CONT
None
0 0000 0000 0011
0003
SLEP
0 → WDT, Stop oscillator
T,P
0 0000 0000 0100
0004
WDTC
0 → WDT
T,P
0 0000 0000 rrrr
000r
IOW R
A → IOCR
None <Note1>
0 0000 0001 0000
0010
ENI
Enable Interrupt
None
0 0000 0001 0001
0011
DISI
Disable Interrupt
None
0 0000 0001 0010
0012
RET
[Top of Stack] → PC
None
[Top of Stack] → PC, Enable
Interrupt
None
0 0000 0001 0011
0013
RETI
0 0000 0001 0100
0014
CONTR
CONT → A
None
0 0000 0001 rrrr
001r
IOR R
IOCR → A
None <Note1>
0 0000 01rr rrrr
00rr
MOV R,A
A→R
None
0 0000 1000 0000
0080
CLRA
0→A
Z
0 0000 11rr rrrr
00rr
CLR R
0→R
Z
0 0001 00rr rrrr
01rr
SUB A,R
R-A → A
Z,C,DC
0 0001 01rr rrrr
01rr
SUB R,A
R-A → R
Z,C,DC
0 0001 10rr rrrr
01rr
DECA R
R-1 → A
Z
0 0001 11rr rrrr
01rr
DEC R
R-1 → R
Z
0 0010 00rr rrrr
02rr
OR A,R
A∨R→A
Z
0 0010 01rr rrrr
02rr
OR R,A
A∨R→R
Z
0 0010 10rr rrrr
02rr
AND A,R
A&R→A
Z
0 0010 11rr rrrr
02rr
AND R,A
A&R→R
Z
0 0011 00rr rrrr
03rr
XOR A,R
A⊕R→A
Z
0 0011 01rr rrrr
03rr
XOR R,A
A⊕R→R
Z
0 0011 10rr rrrr
03rr
ADD A,R
A+R→A
Z,C,DC
0 0011 11rr rrrr
03rr
ADD R,A
A+R→R
Z,C,DC
0 0100 00rr rrrr
04rr
MOV A,R
R→A
Z
0 0100 01rr rrrr
04rr
MOV R,R
R→R
Z
0 0100 10rr rrrr
04rr
COMA R
/R → A
Z
0 0100 11rr rrrr
04rr
COM R
/R → R
Z
0 0101 00rr rrrr
05rr
INCA R
R+1 → A
Z
0 0101 01rr rrrr
05rr
INC R
R+1 → R
Z
0 0101 10rr rrrr
05rr
DJZA R
R-1 → A, skip if zero
None
0 0101 11rr rrrr
05rr
DJZ R
R-1 → R, skip if zero
None
0 0110 00rr rrrr
06rr
RRCA R
0 0110 01rr rrrr
06rr
RRC R
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
R(n) → A(n-1),
R(0) → C, C → A(7)
R(n) → R(n-1),
R(0) → C, C → R(7)
C
C
• 35
EM78P159N
8-Bit Microcontrollerwith OTP ROM
Instruction Binary
Hex
Mnemonic
0 0110 10rr rrrr
06rr
RLCA R
0 0110 11rr rrrr
06rr
RLC R
0 0111 00rr rrrr
07rr
SWAPA R
0 0111 01rr rrrr
07rr
SWAP R
0 0111 10rr rrrr
07rr
0 0111 11rr rrrr
Operation
R(n) → A(n+1),
R(7) → C, C → A(0)
R(n) → R(n+1),
R(7) → C, C → R(0)
R(0-3) → A(4-7),
R(4-7) → A(0-3)
Status Affected
C
C
None
R(0-3) ↔ R(4-7)
None
JZA R
R+1 → A, skip if zero
None
07rr
JZ R
R+1 → R, skip if zero
None
0 100b bbrr rrrr
0xxx
BC R,b
0 → R(b)
None <Note2>
0 101b bbrr rrrr
0xxx
BS R,b
1 → R(b)
None <Note3>
0 110b bbrr rrrr
0xxx
JBC R,b
if R(b)=0, skip
None
0 111b bbrr rrrr
0xxx
JBS R,b
if R(b)=1, skip
None
None
1 00kk kkkk kkkk
1kkk
CALL k
PC+1 → [SP],
(Page, k) → PC
1 01kk kkkk kkkk
1kkk
JMP k
(Page, k) → PC
None
1 1000 kkkk kkkk
18kk
MOV A,k
k→A
None
1 1001 kkkk kkkk
19kk
OR A,k
A∨k→A
Z
1 1010 kkkk kkkk
1Akk
AND A,k
A&k→A
Z
1 1011 kkkk kkkk
1Bkk
XOR A,k
A⊕k→A
Z
None
1 1100 kkkk kkkk
1Ckk
RETL k
k → A,
[Top of Stack] → PC
1 1101 kkkk kkkk
1Dkk
SUB A,k
k-A → A
Z,C,DC
1 1110 0000 0001
1E01
INT
PC+1 → [SP],
001H → PC
None
1 1111 kkkk kkkk
1Fkk
ADD A,k
k+A → A
Z,C,DC
Note 1: This instruction is applicable to IOC5~IOC6, IOCB~IOCF only.
Note 2: This instruction is not recommended for RF operation.
Note 3: This instruction cannot operate under RF.
36 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
4.13 Timing Diagrams
AC Test Input/Output Waveform
VDD-0.5V
0.75VDD
TEST POINTS
0.25VDD
0.75VDD
0.25VDD
GND+0.5V
AC Testing : Input is driven at VDD-0.5V for logic "1",and GND+0.5V for logic "0".Timing
measurements are made at 0.75VDD for logic "1",and 0.25VDD for logic "0".
RESET Timing (CLK="0")
NOP
Instruction 1
Executed
CLK
/RESET
Tdrh
TCC Input Timing (CLKS="0")
Tins
CLK
TCC
Ttcc
Figure 4-12 EM78P159N Timing Diagrams
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 37
EM78P159N
8-Bit Microcontrollerwith OTP ROM
5
Absolute Maximunm Ratings
„
EM78P159N
Items
Rating
Temperature under bias
-40°C to 85°C
Storage temperature
-65°C to 150°C
Working voltage
2.1 to 5.5V
Working frequency
DC to 20MHz*
Input voltage
Vss-0.3V to Vdd+0.5V
Output voltage
Vss-0.3V to Vdd+0.5V
These parameters are theoretical values and have not been tested.
6
Electrical Characteristics
6.1 DC Electrical Characteristic
„
Symbol
FXT
ERC
IIL
VIH1
VIL1
VIHT1
VILT1
VIHX1
VILX1
VIH2
VIL2
VIHT2
VILT2
VIHX2
VILX2
VOH1
VOH1
VOL1
VOL1
38 •
(Ta=25 °C, VDD=5V±5%, VSS=0V)
Parameter
Condition
Min
XTAL: VDD to 3V
XTAL: VDD to 5V
Two cycle with two clocks
Two cycle with two clocks
DC
DC
ERC: VDD to 5V
Input Leakage Current for input
pins
Input High Voltage (VDD=5V)
Input Low Voltage (VDD=5V)
Input High Threshold Voltage
(VDD=5V)
Input Low Threshold Voltage
(VDD=5V)
Clock Input High Voltage
(VDD=5V)
Clock Input Low Voltage (VDD=5V)
Input High Voltage (VDD=3V)
R: 5.1KΩ, C: 100 pF
Input Low Voltage (VDD=3V)
Input High Threshold Voltage
(VDD=3V)
Input Low Threshold Voltage
(VDD=3V)
Clock Input High Voltage
(VDD=3V)
Clock Input Low Voltage (VDD=3V)
Output High Voltage (Ports 5)
Output High Voltage (Ports 6)
(Schmitt trigger)
Output Low Voltage(Port5)
Output Low Voltage (Ports 6)
(Schmitt trigger)
IPH
Pull-high current
IPD
Pull-down current
F±30%
Typ
940
VIN = VDD, VSS
Max
Unit
8.0
20.0
MHz
MHz
F±30%
KHz
±1
μA
Ports 5, 6 (Schmitt trigger)
Ports 5, 6 (Schmitt trigger)
/RESET, TCC
(Schmitt trigger)
/RESET, TCC
(Schmitt trigger)
0.75Vdd
Vdd-0.3
Vdd+0.3
0.25Vdd
V
V
0.75Vdd
Vdd+0.3
V
Vdd-0.3
0.25Vdd
V
OSCI (Schmitt trigger)
0.75Vdd
Vdd+0.3
V
OSCI (Schmitt trigger)
Ports 5, 6 (Schmitt trigger)
Vdd-0.3
0.75Vdd
0.25Vdd
Vdd+0.3
V
V
Ports 5, 6 (Schmitt trigger)
/RESET, TCC
(Schmitt trigger)
/RESET, TCC
(Schmitt trigger)
Vdd-0.3
0.25Vdd
V
0.75Vdd
Vdd+0.3
V
Vdd-0.3
0.25Vdd
V
OSCI (Schmitt trigger)
0.75Vdd
Vdd+0.3
V
OSCI (Schmitt trigger)
IOH = -6 mA
Vdd-0.3
4.5
0.25Vdd
V
V
IOH = -6 mA
4.5
V
IOL = 16.5 mA
0.5
V
IOL = 16.5 mA
0.5
V
Pull-high active,
input pin at VSS
Pull-down active,
input pin at VDD
–50
–70
–100
μA
25
50
120
μA
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
Symbol
Parameter
ISB1
Power down current
(VDD=5.0V)
ISB2
Power down current
(VDD=5.0V)
ICC1
Operating supply current
(VDD=3V)
at two cycles/four clocks
ICC2
Operating supply current
(VDD=3V)
at two cycles/four clocks
ICC3
Operating supply current
(VDD=5.0V)
at two cycles/two clocks
ICC4
Operating supply current
(VDD=5.0V)
at two cycles/four clocks
Condition
All input and I/O pins at
VDD, output pin floating,
WDT disabled
All input and I/O pins at
VDD, output pin floating,
WDT enabled
/RESET= 'High',
Fosc=32KHz (Crystal
type,CLKS="0"), output pin
floating, WDT disabled
/RESET= 'High',
Fosc=32KHz (Crystal
type,CLKS="0"), output pin
floating, WDT enabled
/RESET= 'High',
Fosc=4MHz (Crystal type,
CLKS="0"), output pin
floating, WDT enabled
/RESET= 'High',
Fosc=10MHz (Crystal type,
CLKS="0"), output pin
floating, WDT enabled
Min
Typ
Max
Unit
1
2
μA
6
10
μA
20
30
μA
22
32
μA
1.7
2.5
mA
2.7
3.5
mA
These parameters are theoretical values and have not been tested.
6.2 AC Electrical Characteristic
„
Symbol
(Ta=25 °C, VDD=5V±5%, VSS=0V)
Parameter
Dclk
Input CLK duty cycle
Tins
Instruction cycle time
(CLKS="0")
Ttcc
TCC input period
Tdrh
Device reset hold time
Conditions
Crystal type
RC type
Min
Typ
Max
Unit
45
50
55
%
100
DC
ns
500
DC
11.8
Ta = 25°C
2000
Ta = 25°C
11.8
ns
ns
(Tins+20)/N*
16.8
21.8
ms
16.8
21.8
ms
Trst
/RESET pulse width
Twdt
Watchdog timer period
Tset
Input pin setup time
0
ns
Thold
Input pin hold time
20
ns
Tdelay
Output pin delay time
50
ns
Cload=20pF
ns
* N = selected prescaler ratio.
These parameters are theoretical values and have not been tested.
Data in the Minimum, Typical, Maximum (“Min”,“Typ”,”Max”) columns are based on
characterization results at 25℃. This data is for design reference only and has not
been tested.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 39
EM78P159N
8-Bit Microcontrollerwith OTP ROM
APPENDIX
A Package Types
OTP MCU
Package Type
Pin Count
Package Size
EM78P159NP
DIP
18
300 mil
EM78P159NM
SOP
18
300 mil
EM78159NAS
SSOP
20
209 mil
EM78159NKM
SSOP
20
209 mil
B Package Information
„
18-Lead Plastic Dual in Line (PDIP) — 300 mil
Figure B-1a EM78P159N 18-Lead PDIP Package Type
40 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
„
18-Lead Plastic Small Outline (SOP) — 300 mil
Figure B-1b EM78P159N 18-Lead SOP Package Type
„
20-Lead Plastic Small Outline (SSOP) — 209 mil
Figure B-1c EM78P159N 20-Lead SSOP Package Type
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 41
EM78P159N
8-Bit Microcontrollerwith OTP ROM
C Quality Assurance and Reliability
C.1 Reliability Test
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 (15mins) ~ 150˚C (15mins), 10 cycles
Step 2: bake 125˚C, TD(endurance) = 24 hrs.
Pre-condition
Step 3: soak 30°C /60%, TD (endurance) = 192hrs.
Step 4: IR flow 3cycles
(Pkg thickness ≥ 2.5mm or Pkg volume ≥ 350mm3--225±5˚C)
(Pkg thickness ≤ 2.5mm or Pkg volume ≤ 350mm3--240±5˚C)
Temperature cycle
test
–65˚C (15mins) ~ 150˚C (15mins), 200 cycles
Pressure cooker test
TA =121˚C, RH = 100%, pressure = 2atm,
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, 1000Hrs.
High-temperature
operating life
TA=125˚C, VCC = Max. operating voltage,
TD (endurance) = 168,500, 1000Hrs.
Latch-up
TA=25˚C, VCC = Max. operating voltage, 150mA/20V
ESD (HBM)
TA=25˚C, ≥ ±3KV
For SMD IC
(such as SOP, QFP,
SOJ, etc.)
IP_ND,OP_ND,IO_ND
IP_NS,OP_NS,IO_NS
IP_PD,OP_PD,IO_PD,
ESD (MM)
TA=25˚C, ≥ ±300V
IP_PS,OP_PS,IO_PS,
VDD-VSS(+),
VDD_VSS(-)mode
42 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
EM78P159N
8-Bit Microcontroller with OTP ROM
C.2 Power-On Reset and Vdd Voltage Drop/Rise Timing Test
Vdd
/Reset
Tvr
Tvd
Internal POR
Tpor
Power on
Reset
Symbol
Parameter
Condition
Min.
Typ.
Max.
Unit
Tpor
Power on reset time
Vdd = 5V, -40℃ to 85℃
10.5
16.8
22
ms
Tvd*
Vdd Voltage drop time
Vdd = 5V, -40℃ to 85℃
-
-
1
µs
Tvr**
Vdd Voltage rise time
Vdd = 5V, -40℃ to 85℃
-
-
1
us
* Tvd is the period of Vdd voltage lower than POR voltage.
** Tvr is the period of Vdd voltage higher than 5.5V.
Figure C-1 EM78P159N Power-On Reset and Vdd Voltage Drop/Rise Timing Test Timing Diagram
C.3 Address Trap Detect
An address trap detect is one of the fail-safe function that detects CPU malfunction
caused by noise or the like. If the CPU attempts to fetch an instruction from a part of
RAM, an internal recovery circuit will be auto started. Until CPU got the correct
function, it will execute the next program.
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)
• 43
EM78P159N
8-Bit Microcontrollerwith OTP ROM
44 •
Product Specification (V1.0) 03.10.2006
(This specification is subject to change without further notice)