Documente Academic
Documente Profesional
Documente Cultură
OTP ROM
EM78P153S
8-BIT MICRO-CONTROLLER
Version 1.4
EM78P153S
OTP ROM
Specification Revision History
Version
Content
1.1
Initial version
1.2
05/02/2003
1.3
06/25/2003
1.4
12/31/2003
Application Note
AN-001 Q & A on ICE153S
AN-002 The Set-up Timing and Pin Change Wake-up Function Application
AN-003 Internal RC Oscillator Mode
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
1. GENERAL DESCRIPTION
EM78P153S is an 8-bit microprocessor with low-power and high-speed CMOS technology. It is equipped
with a 1024*13-bits Electrical One Time Programmable Read Only Memory (OTP-ROM) within it. It
provides a PROTECTION bit to prevent intrusion of users code in the OTP memory as well as 15
OPTION bits to match users requirements.
With its OTP-ROM feature, the EM78P153S offers users a convenient way of developing and verifying
their programs. Moreover, user developed code can be easily programmed with the ELAN writer.
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
2. FEATURES
14-lead packages : EM78P153S
Operating voltage range : 2.3V~5.5V
Available in temperature range: 0C~70C
Operating frequency range (base on 2 clocks):
* Crystal mode: DC~20MHz at 5V, DC~8MHz at 3V, DC~4MHz at 2.3V.
* ERC mode: DC~4MHz at 5V, DC~4MHz at 3V, DC~4MHz at 2.3V.
Low power consumption:
* less then 1.5 mA at 5V/4MHz
* typical of 15 A, at 3V/32KHz
* typical of 1A, during the sleep mode
1024 13 bits on chip ROM
Built-in calibrated IRC oscillators (8MHz, 4MHz, 1MHz, 455KHz )
Programmable prescaler of oscillator set-up time
One security register to prevent the code in the OTP memory from intruding
One configuration register to match the users requirements
32 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 and trigger edges, and with overflow interrupt
Power down mode (SLEEP mode)
Three available interruptions
* TCC overflow interrupt
* Input-port status changed interrupt (wake up from the sleep mode)
* External interrupt
Programmable free running watchdog timer
7 programmable pull-high I/O pins
7 programmable open-drain I/O pins
6 programmable pull-down I/O pins
Two clocks per instruction cycle
Package type: 14 pins SOP, DIP
* 14 pin DIP 300mil: EM78P153SP
This specification is subject to change without prior notice.
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
* 14 pin SOP 150mil: EM78P153SN
The transient point of system frequency between HXT and LXT is around 400KHz.
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
3. PIN ASSIGNMENTS
14
P51
P67
13
P52
P66
12
P53
Vdd
11
Vss
P65/OSCI
10
P60//INT
P64/OSCO
P61
P63//RST
P62/TCC
EM78P153S
P50
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
P66, P67
P50~P53
P53
VSS
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
4. FUNCTION DESCRIPTION
OSCO
OSCI
/RESET
TCC
WDT timer
/INT
Oscillator/Timing
Control
Built-in
OSC
Interrupt
Controller
RAM
R4
R2
ROM
Prescaler
Stack
ALU
Instruction
Register
R3
R1(TCC)
Instruction
Decoder
ACC
IOC6
R6
P60
P61
P62/TCC
P63//REST
P64/OSCO
P65/OSCI
P66
P67
I/O
PORT 6
IOC5
R6
I/O
PORT 5
P50
P51
P52
P53
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
3. R2 (Program Counter) & Stack
Depending on the device type, R2 and hardware stack are 10-bit wide. The structure is depicted in
Fig.3.
102413 bits on-chip OTP ROM addresses to the relative programming instruction codes. One
program page is 1024 words long.
R2 is set as all "0"s when at 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" ("RETL k", "RETI") instruction loads the program counter with the contents of the top-level
stack.
"ADD R2,A" allows the contents of A to be added to the current PC, and the ninth and tenth bits of
the PC are cleared.
"MOV R2,A" allows to load an address from the "A" register to the lower 8 bits of the PC, and the
ninth and tenth bits of the PC are cleared.
Any instruction that is written to R2 (e.g. "ADD R2,A", "MOV R2,A", "BC R2,6",) will cause the
ninth and tenth bits (A8,A9) of the PC to be cleared. Thus, the computed jump is limited to the first
256 locations of a page.
All instructions are single instruction cycle (fclk/2 or fclk/4), except for the instruction that would
change the contents of R2. This instruction will need one more instruction cycle.
Reset Vector
Interrupt Vector
PC (A9 ~ A0)
000H
008H
User Memory
Space
On-chip Program
Memory
Stack Level 1
Stack Level 2
Stack Level 3
Stack Level 4
Stack Level 5
3FFH
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Address
R PAGE registers
00
R0
Reserve
01
R1
(TCC)
02
R2
(PC)
Reserve
03
R3
(Status)
Reserve
04
R4
(RSR)
Reserve
05
R5
(Port5)
IOC5
06
R6
(Port6)
IOC6
07
Reserve
Reserve
08
Reserve
Reserve
09
Reserve
Reserve
0A
Reserve
Reserve
0B
Reserve
0C
Reserve
0D
Reserve
0E
Reserve
0F
RF
(Interrupt Status)
10
General Registers
2F
Fig. 4 Data memory configuration
10
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
4. R3 (Status Register)
7
RST
GP1
GP0
DC
6. R5 ~ R6 (Port 5 ~ Port 6)
R5 and R6 are I/O registers.
Only the lower 4 bits of R5 are available.
The upper 4 bits of R5 are fixed to 0.
P63 is input only.
EXIF
ICIF
TCIF
11
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
RF can be cleared by instruction but cannot be set.
IOCF is the interrupt mask register.
Note that the result of reading RF is the "logic AND" of RF and IOCF.
8. R10 ~ R2F
All of these are the 8-bit general-purpose registers.
INT
TS
TE
PAB
PSR2
PSR1
PSR0
PSR1
PSR0
TCC Rate
WDT Rate
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
1:1
1:2
1:4
1:8
1:16
1:32
1:64
1:128
12
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
CONT register is both readable and writable.
/PD6
/PD5
/PD4
/PD2
/PD1
/PD0
OD7
OD6
OD5
OD4
OD2
OD1
OD0
Bit 7 (OD7) Control bit is used to enable the open-drain of P67 pin.
0: Disable open-drain output
1: Enable open-drain output
Bit 6 (OD6) Control bit is used to enable the open-drain of P66 pin.
Bit 5 (OD5) Control bit is used to enable the open-drain of P65 pin.
Bit 4 (OD4) Control bit is used to enable the open-drain of P64 pin.
Bit 3 Not used.
Bit 2 (OD2) Control bit is used to enable the open-drain of P62 pin.
Bit 1 (OD1) Control bit is used to enable the open-drain of P61 pin.
Bit 0 (OD0) Control bit is used to enable the open-drain of P60 pin.
IOCC Register is both readable and writable.
13
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
7
/PH7
/PH6
/PH5
/PH4
/PH2
/PH1
/PH0
Bit 7 (/PH7) Control bit is used to enable the pull-high of P67 pin.
0: Enable internal pull-high
1: Disable internal pull-high
Bit 6 (/PH6) Control bit is used to enable the pull-high of P66 pin.
Bit 5 (/PH5) Control bit is used to enable the pull-high of P65 pin.
Bit 4 (/PH4) Control bit is used to enable the pull-high of P64 pin.
Bit 3
Not used.
Bit 2 (/PH2) Control bit is used to enable the pull-high of P62 pin.
Bit 1 (/PH1) Control bit is used to enable the pull-high of P61 pin.
Bit 0 (/PH0) Control bit used to enable the pull-high of P60 pin.
IOCD Register is both readable and writable.
WDTE
EIS
EXIE
ICIE
TCIE
14
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
0: disable EXIF interrupt
1: enable EXIF interrupt
Bit 1 (ICIE) ICIF interrupt enable bit.
0: disable ICIF interrupt
1: enable ICIF interrupt
Bit 0 (TCIE) TCIF interrupt enable bit.
0: disable TCIF interrupt
1: enable TCIF interrupt
IOCF register is both readable and writable.
15
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
internally by software except P63. In addition, Port 6 can also have open-drain output by software
except P63. Input status changed interrupt (or wake-up) function is available from Port 6. P50 ~ P52 and
P60 ~ P62 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) except P63. 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 Fig. 6,Fig.7 and fig. 8
respectively.
Data Bus
CLK(Fosc/2 or Fosc/4)
M
U
X
TCC
Pin
1
TE
TS
0
WDT
M
U
X
SYNC
2 cycles
PAB
M
U
X
TCC(R1)
8-bit Counter
PSR0~PSR2
8-to-1 MUX
PAB
0
WDTE
(in IOCE)
1
MUX
PAB
16
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
PCRD
P
R
Q
_
Q
PORT
C
L
P
R
_
Q
C
L
D
CLK
PCWR
IOD
D
CLK
PDWR
PDRD
0
1
M
U
X
P
Q R D
_ CLK
Q C
L
Q
_
Q
PORT
B it 6 of I O C E
P
R
CLK
C
L
Q
_
Q
0
1
P
R D
CLK
C
L
PCW R
IO D
PDW R
M
U
X
PDRD
T 10
P
R Q
CLK _
C Q
L
17
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
PORT
0
1
Q
_
Q
P
R D
CLK
C
L
PCW R
Q
_
Q
P
D
R
CLK
C
L
PDW R
IOD
M
U
X
TIN
PDRD
P
R
CLK
C
L
Q
_
Q
P
R
Q
Interrupt
CLK
C
L
_
Q
ICIF
ENI Instruction
D
P60
P61
P62
P63
P
R
CLK
_
C Q
L
P64
P65
P66
P67
Q
_
Q
P
R
CLK
C
L
DISI Instruction
Interrupt
(Wake-up from SLEEP)
/SLEP
Next Instruction
(Wake-up from SLEEP)
18
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Table 2 Usage of Port 6 input change wake-up/interrupt function
Usage of Port 6 Input Status Change Wake-up/Interrupt
(I) Wake-up from Port 6 Input Status Change
(a) Before SLEEP
1. Disable WDT
2. Read I/O Port 6 (MOV R6,R6)
3. Execute "ENI" or "DISI"
4. Enable interrupt (Set IOCF.1)
5. Execute "SLEP" instruction
(b) After Wake-up
1. IF "ENI" Interrupt vector (008H)
2. IF "DISI" Next instruction
19
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
The sleep (power down) mode is attained by executing the SLEP instruction. While entering sleep
mode, WDT (if enabled) is cleared but keeps on running. The controller can be awakened by
(1) External reset input on /RESET pin,
(2) WDT time-out (if enabled), or
(3) Port 6 input status changes (if enabled).
The first two cases will cause the EM78P153S to reset. The T and P flags of R3 can be 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 instruction right next to SLEP after wake-up.
Only one of the Cases 2 and 3 can be enabled before entering the sleep mode. That is,
[a] if Port 6 input status changed interrupt is enabled before SLEP , WDT must be disabled. by
software. However, the WDT bit in the option register remains enabled. Hence, the EM78P153S 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
EM78P153S can be awakened only by Case 1 or 2. Refer to the section on interrupt.
If Port 6 Input Status Changed Interrupt is used to wake-up the EM78P153S (Case [a] above), the
following instructions must be executed before SLEP:
MOV
CONTW
WDTC
MOV
IOW
MOV
MOV
IOW
ENI (or DISI)
SLEP
A, @xxxx1110b
A, @0xxxxxxxb
RE
R6, R6
A, @00000x1xb
RF
NOTE:
1. After waking up from the sleep mode, WDT is automatically enabled. The WDT enabled/disabled
operation after waking up from sleep mode should be appropriately defined in the software
2. To avoid a reset from occurring when the Port 6 Input Status Changed Interrupt enters into
interrupt vector or is used to wake-up the MCU, the WDT prescaler must be set above the 1:1
ratio.
This specification is subject to change without prior notice.
20
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Table 3 The Summary of the Initialized Register Values
Address
Name
N/A
IOC5
N/A
IOC6
0x05
P5
0x06
P6
N/A
CONT
0x00
R0(IAR)
0x01
R1(TCC)
0x02
R2(PC)
0x03
R3(SR)
0x04
R4(RSR)
0x0F
RF(ISR)
0x0B
IOCB
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 Name
Power-On
/RESET and WDT
Wake-Up from Pin Change
Bit Name
Power-On
/RESET and WDT
Bit 7
X
0
0
0
C67
1
1
P
X
1
P
P
P67
1
P
P
X
1
1
P
U
P
P
0
0
P
0
0
P
RST
0
0
1
GP1
U
P
P
X
0
0
0
X
1
1
21
Bit 6
X
0
0
0
C66
1
1
P
X
1
P
P
P66
1
P
P
INT
0
0
0
U
P
P
0
0
P
0
0
P
GP1
0
0
P
GP0
U
P
P
X
0
0
0
/PD6
1
1
Bit 5
X
0
0
0
C65
1
1
P
X
1
P
P
P65
1
P
P
TS
1
1
P
U
P
P
0
0
P
0
0
P
GP0
0
0
P
U
P
P
X
0
0
0
/PD5
1
1
Bit 4
X
0
0
0
C64
1
1
P
X
1
P
P
P64
1
P
P
TE
1
1
P
U
P
P
0
0
P
0
0
P
T
1
t
t
U
P
P
X
0
0
0
/PD4
1
1
Bit 3
C53
1
1
P
C63
1
1
P
P53
1
P
P
P63
1
P
P
PAB
1
1
P
U
P
P
0
0
P
0
0
N
P
1
t
t
U
P
P
X
0
0
0
/PD3
1
1
EM78P153S
OTP ROM
Address
0x0C
0x0D
0x0E
0x0F
0x10~0x2F
Name
Reset Type
Bit 7 Bit 6
Wake-Up from Pin Change
P
P
Bit Name
OD7 OD6
Power-On
0
0
IOCC
/RESET and WDT
0
0
Wake-Up from Pin Change
P
P
Bit Name
/PH7 /PH6
Power-On
1
1
IOCD
/RESET and WDT
1
1
Wake-Up from Pin Change
P
P
Bit Name
WDTE EIS
Power-On
1
0
IOCE
/RESET and WDT
1
0
Wake-Up from Pin Change
1
P
Bit Name
X
X
Power-On
1
1
IOCF
/RESET and WDT
1
1
Wake-Up from Pin Change
1
1
Bit Name
Power-On
U
U
R10~R2F
/RESET and WDT
P
P
Wake-Up from Pin Change
P
P
Bit 5
P
OD5
0
0
P
/PH5
1
1
P
X
1
1
1
X
1
1
1
U
P
P
Bit 4
P
OD4
0
0
P
/PH4
1
1
P
X
1
1
1
X
1
1
1
U
P
P
Bit 3
P
X
0
0
P
X
1
1
P
X
1
1
1
X
1
1
1
U
P
P
Bit 2
P
OD2
0
0
P
/PH2
1
1
P
X
1
1
1
EXIE
0
0
P
U
P
P
Bit 1
P
OD1
0
0
P
/PH1
1
1
P
X
1
1
1
ICIE
0
0
P
U
P
P
Bit 0
P
OD0
0
0
P
/PH0
1
1
P
X
1
1
1
TCIE
0
0
P
U
P
P
X: not used. U: unknown or dont care. -: not defined P: previous value before reset. t: check Table 4
N: Monitors interrupt operation status; 1 = running; P = not running
2. /RESET Configure
Refer to Fig. 10 When the RESET bit in the OPTION word is programmed to 0, the external /RESET
is enabled. When programmed to 1, the internal /RESET is enabled, tied to the internal Vdd and the
pin is defined as P63.
22
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Table 4 The Values of RST, T and P after RESET
Reset Type
RST
0
0
0
0
0
1
1
*P
1
0
0
1
1
*P
0
P
0
0
RST
Power on
WDTC instruction
*P
WDT time-out
*P
SLEP instruction
*P
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: Previous status before reset
D
CLK
Oscillator
CLK
CLR
Power-on
Reset
Voltage
Detector
WDTE
WDT
WDT Timeout
Setup Time
RESET
/RESET
23
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
4.6 Interrupt
The EM78P153S has three falling-edge interrupts as listed below:
(1) TCC overflow interrupt
(2) Port 6 Input Status Change Interrupt
(3) External interrupt [(P60, /INT) pin].
Before the Port 6 Input Status Changed Interrupt is enabled, reading Port 6 (e.g. "MOV R6,R6") is
necessary. Each pin of Port 6 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 EM78P153S from sleep mode if Port 6 is enabled prior to going into the sleep mode by
executing SLEP instruction. When the chip wakes-up, the controller will continue to execute the
program in-line if the global interrupt is disabled. If the global interrupt is enabled, it will branch to the
interrupt vector 008H.
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 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
Fig. 11). 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.
24
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
VCC
D
/IRQn
P
R
CLK
RF
C
L
IRQn
INT
_
Q
IRQm
RFRD
ENI/DISI
IOCF
P
R
_
Q
C
L
IOD
D
CLK
IOCFWR
/RESET
IOCFRD
RFWR
4.7 Oscillator
1. Oscillator Modes
The EM78P153S can be operated in four different oscillator modes, such as Internal RC oscillator
mode (IRC), External RC oscillator mode(ERC), High XTAL oscillator mode(HXT), and Low XTAL
oscillator mode(LXT). User can select one of them by programming OCS1 and OSC2 in the CODE
Option register. Table 6 depicts how these four modes are defined.
The up-limited operation frequency of crystal/resonator on the different VDDs is listed in Table 7.
Table 6 Oscillator Modes defined by OSC1 and OSC2
Mode
IRC(Internal RC oscillator mode)
ERC(External RC oscillator mode)
HXT(High XTAL oscillator mode)
LXT(Low XTAL oscillator mode)
OSC1
1
1
0
0
OSC2
1
0
1
0
<Note> The transient point of system frequency between HXT and LXY is around 400 KHz.
25
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Table 7 The summary of maximum operating speeds
Conditions
Two cycles with two clocks
VDD
2.3
3.0
5.0
Fxt max.(MHz)
4.0
8.0
20.0
OSCI
Ext. Clock
OSCO
EM78P153S
C1
OSCI
EM78P153S
XTAL
OSCO
RS
C2
26
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Oscillator Type
Frequency Mode
Ceramic Resonators
HXT
LXT
Crystal Oscillator
HXT
Frequency
C1(pF)
C2(pF)
455 kHz
100~150
100~150
2.0 MHz
20~40
20~40
4.0 MHz
10~30
10~30
32.768kHz
25
15
100KHz
25
25
200KHz
25
25
455KHz
20~40
20~150
1.0MHz
15~30
15~30
2.0MHz
15
15
4.0MHz
15
15
27
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Vcc
Rext
OSCI
Cext
EM78P153S
Cext
20 pF
100 pF
300 pF
Rext
3.3k
5.1k
10k
100k
3.3k
5.1k
10k
100k
3.3k
5.1k
10k
100k
28
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Table 10 Internal RC Drift Rate (Ta=25C , VDD=5 V 5%, VSS=0V)
Drift Rate
Internal RC
Temperature
(0C~70C)
3%
3%
3%
3%
8MHz
4MHz
1MHz
455kHz
Voltage
(2.3V~5.5V)
5%
5%
5%
5%
Process
Total
10%
5%
10%
10%
18%
13%
18%
18%
Word1
Bit1~Bit0
Word 2
Bit12~Bit0
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
/RESET
/ENWDT
CLKS
OSC1
OCS0
CS
SUT1
SUT0
TYPE
RCOUT
C2
C1
C0
OSC1
OSC0
1
1
0
1
0
1
29
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
LXT(Low XTAL oscillator mode)
<Note> : The transient point of system frequency between HXT and LXY is around 400 KHz.
Bit 7 (CS): Code Security Bit
0: Security On
1: Security Off
Bit6 and Bit5 ( SUT1 and SUT0 ): Set-Up Time of device bits.
Table 12 Set-Up Time of device Programming
SUT1
SUT0
*Set-Up Time
1
1
0
0
1
0
1
0
18 ms
4.5 ms
288 ms
72 ms
Series
0
1
EM78P153S
X
Pin Function
0
1
P64
OSCO
Bit 2, Bit 1, and Bit 0 ( C2, C1, C 0 ): Calibrator of internal RC mode Bit 3
C2,C1,C0 must be set to 1 ONLY.
Bit0
RCM0
RCM 0
1
0
1
0
*Frequency(MHz)
4
8
1
455kHz
30
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
4.9 Power On Considerations
Any microcontroller is not guaranteed to start to operate properly before the power supply stabilizes at
its steady state. Under customer application, when power is OFF, Vdd must drop to below 1.8V and
remains OFF for 10us before power can be switched ON again. This way, the EM78P153S will
reset and work 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.
Vdd
/RESET
EM78P153S
Rin
31
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
residue-voltage may trips below Vdd minimum, but not to zero. This condition may cause a poor power
on reset. Fig.18 and Fig. 19 show how to build a residue-voltage protection circuit.
Vdd
Vdd
33K
EM78P153S
Q1
10K
/RESET
100K
1N4684
V dd
Vdd
R1
E M78P 153S
Q1
/R E S E T
R2
R3
32
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
"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) Modify one instruction cycle to consist of 4 oscillator periods.
(B) Execute within two instruction cycles the "JMP", "CALL", "RET", "RETL", "RETI" commands, or
the conditional skip ("JBS", "JBC", "JZ", "JZA", "DJZ", "DJZA") which were tested to be true.
The instructions that are written to the program counter, should also take two instruction
cycles.
The Case (A) is selected by the CODE Option bit, called CLKS. One instruction cycle will consist of two
oscillator clocks if CLKS is low, and four oscillator clocks if CLKS is high.
Note that once the 4 oscillator periods within one instruction cycle is selected under Case (A), the
internal clock source to TCC should be CLK=Fosc/4 ,instead of Fosc/ 2 as illustrated in Fig. 5.
In addition, the instruction set has the following features:
(1) Every bit of any register can be set, cleared, or tested directly.
(2) The I/O register can be regarded as general register. That is, the same instruction can operate
on I/O register.
The symbol "R" represents a register designator that specifies which one of the registers (including
operational registers and general purpose registers) is to be utilized by the instruction. "b" represents a
bit field designator that selects the value for the bit which is located in the register "R", and affects the
operation. "k" represents an 8 or 10-bit constant or literal value.
INSTRUCTION BINARY
0 0000 0000 0000
0 0000 0000 0001
0 0000 0000 0010
0 0000 0000 0011
0 0000 0000 0100
0 0000 0000 rrrr
0 0000 0001 0000
0 0000 0001 0001
0 0000 0001 0010
0 0000 0001 0011
0 0000 0001 0100
0 0000 0001 rrrr
0 0000 01rr rrrr
0 0000 1000 0000
0 0000 11rr rrrr
HEX
0000
0001
0002
0003
0004
000r
0010
0011
0012
0013
0014
001r
00rr
0080
00rr
MNEMONIC
NOP
DAA
CONTW
SLEP
WDTC
IOW R
ENI
DISI
RET
RETI
CONTR
IOR R
MOV R,A
CLRA
CLR R
OPERATION
No Operation
Decimal Adjust A
A CONT
0 WDT, Stop oscillator
0 WDT
A IOCR
Enable Interrupt
Disable Interrupt
[Top of Stack] PC
[Top of Stack] PC, Enable Interrupt
CONT A
IOCR A
AR
0A
0R
33
STATUS AFFECTED
None
C
None
T,P
T,P
None <Note1>
None
None
None
None
None
None <Note1>
None
Z
Z
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0001
0001
0001
0001
0010
0010
0010
0010
0011
0011
0011
0011
0100
0100
0100
0100
0101
0101
0101
0101
0110
0110
0110
0110
0111
0111
0111
0111
100b
101b
110b
111b
00kk
01kk
1000
1001
1010
1011
1100
1101
1110
1111
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
00rr rrrr
01rr rrrr
10rr rrrr
11rr rrrr
bbrr rrrr
bbrr rrrr
bbrr rrrr
bbrr rrrr
kkkk kkkk
kkkk kkkk
kkkk kkkk
kkkk kkkk
kkkk kkkk
kkkk kkkk
kkkk kkkk
kkkk kkkk
0000 0001
kkkk kkkk
01rr
01rr
01rr
01rr
02rr
02rr
02rr
02rr
03rr
03rr
03rr
03rr
04rr
04rr
04rr
04rr
05rr
05rr
05rr
05rr
06rr
06rr
06rr
06rr
07rr
07rr
07rr
07rr
0xxx
0xxx
0xxx
0xxx
1kkk
1kkk
18kk
19kk
1Akk
1Bkk
1Ckk
1Dkk
1E01
1Fkk
SUB A,R
SUB R,A
DECA R
DEC R
OR A,R
OR R,A
AND A,R
AND R,A
XOR A,R
XOR R,A
ADD A,R
ADD R,A
MOV A,R
MOV R,R
COMA R
COM R
INCA R
INC R
DJZA R
DJZ R
RRCA R
RRC R
RLCA R
RLC R
SWAPA R
SWAP R
JZA R
JZ R
BC R,b
BS R,b
JBC R,b
JBS R,b
CALL k
JMP k
MOV A,k
OR A,k
AND A,k
XOR A,k
RETL k
SUB A,k
INT
ADD A,k
R-A A
R-A R
R-1 A
R-1 R
A VR A
A VR R
A&RA
A&RR
ARA
ARR
A+RA
A+RR
RA
RR
/R A
/R R
R+1 A
R+1 R
R-1 A, skip if zero
R-1 R, skip if zero
R(n) A(n-1),R(0) C, C A(7)
R(n) R(n-1),R(0) C, C R(7)
R(n) A(n+1),R(7) C, C A(0)
R(n) R(n+1),R(7) C, C R(0)
R(0-3) A(4-7),R(4-7) A(0-3)
R(0-3) R(4-7)
R+1 A, skip if zero
R+1 R, skip if zero
0 R(b)
1 R(b)
if R(b)=0, skip
if R(b)=1, skip
PC+1 [SP],(Page, k) PC
(Page, k) PC
kA
AkA
A&kA
AkA
k A,[Top of Stack] PC
k-A A
PC+1 [SP],001H PC
k+A A
Z,C,DC
Z,C,DC
Z
Z
Z
Z
Z
Z
Z
Z
Z,C,DC
Z,C,DC
Z
Z
Z
Z
Z
Z
None
None
C
C
C
C
None
None
None
None
None <Note2>
None <Note3>
None
None
None
None
None
Z
Z
Z
None
Z,C,DC
None
Z,C,DC
34
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
4.14 Timing Diagrams
AC Test Input/Output Waveform
2.4
2.0
0.8
TEST POINTS
2.0
0.8
0.4
AC Testing : Input is driven at 2.4V for logic "1",and 0.4V for logic "0".Timing measurements are
made at 2.0V for logic "1",and 0.8V for logic "0".
Instruction 1
Executed
CLK
/RESET
Tdrh
TCC
Ttcc
35
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Rating
0C to 70C
Storage temperature
-65C to 150C
Input voltage
-0.3V to +6.0V
Output voltage
-0.3V to +6.0V
36
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
6. ELECTRICAL CHARACTERISTIC
6.1 DC Electrical Characteristic
( Ta= 0C ~ 70 C, VDD= 5.0V5%, VSS= 0V )
Symbol
Fxt
Fxt
Fxt
ERC
IIL
VIH1
VIL1
VIHT1
VILT1
VIHX1
VILX1
VIH2
VIL2
VIHT2
VILT2
VIHX2
VILX2
Parameter
Condition
Min
XTAL: VDD to 2.3V
Two cycle with two clocks
DC
XTAL: VDD to 3V
Two cycle with two clocks
DC
XTAL: VDD to 5V
Two cycle with two clocks
DC
RC: VDD to 5V
R: 5K, C: 39 pF
F-30%
Input Leakage Current for input pins
VIN = VDD, VSS
Input High Voltage (VDD=5.0V)
Ports 5, 6
2.0
Input Low Voltage (VDD=5.0V)
Ports 5, 6
Input High Threshold Voltage (VDD=5.0V) /RESET, TCC (Schmitt trigger)
2.0
Input Low Threshold Voltage (VDD=5.0V) /RESET, TCC (Schmitt trigger)
Clock Input High Voltage (VDD=5.0V)
OSCI
2.5
Clock Input Low Voltage (VDD=5.0V)
OSCI
Input High Voltage (VDD=3.0V)
Ports 5, 6
1.5
Input Low Voltage (VDD=3.0V)
Ports 5, 6
Input High Threshold Voltage (VDD=3.0V) /RESET, TCC (Schmitt trigger)
1.5
Input Low Threshold Voltage (VDD=3.0V) /RESET, TCC (Schmitt trigger)
Clock Input High Voltage (VDD=3.0V)
OSCI
1.5
Clock Input Low Voltage (VDD=3.0V)
OSCI
Output High Voltage (Ports 5, 6)
VOH1
IOH = -12.0 mA
2.4
(P60~P63, P66~P67 are Schmitt trigger)
Output Low Voltage (P50~P53, P60~P63,
VOL1
P66~P67), (P60~P63, P66~P67 are
IOL = 12.0 mA
Schmitt trigger)
VOL2
Output Low Voltage (P64,P65)
IOL = 16.0 mA
IPH
Pull-high current
Pull-high active, input pin at VSS
-50
IPD
Pull-down current
Pull-down active, input pin at VDD
20
All input and I/O pins at VDD,
ISB1
Power down current
output pin floating, WDT disabled
All input and I/O pins at VDD,
ISB2
Power down current
output pin floating, WDT enabled
/RESET= 'High', Fosc=32KHz
Operating supply current(VDD=3V)
ICC1
(Crystal type,CLKS="0"),
15
at two clocks
output pin floating, WDT disabled
/RESET= 'High', Fosc=32KHz
Operating supply current (VDD=3V)
ICC2
(Crystal type,CLKS="0"),
at two clocks
output pin floating, WDT enabled
/RESET= 'High', Fosc=4MHz
Operating supply current(VDD=5.0V)
ICC3
(Crystal type, CLKS="0"),
At two clocks
output pin floating
/RESET= 'High', Fosc=10MHz
Operating supply current(VDD=5.0V)
ICC4
(Crystal type, CLKS="0"),
at two clocks
output pin floating
Typ
1500
Max
4.0
8.0
20.0
F+30%
1
0.8
0.8
1.0
0.4
0.4
0.6
Unit
MHz
MHz
MHz
KHz
A
V
V
V
V
V
V
V
V
V
V
V
V
V
0.4
0.4
-240
120
V
A
A
10
15
30
19
35
2.0
mA
4.0
mA
-100
50
37
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
6.2 AC Electrical Characteristic
(Ta=0C ~ 70 C, VDD=5V5%, VSS=0V)
Symbol
Parameter
Dclk
Tins
Ttcc
Tdrh
Trst
Twdt1*
Twdt2*
Twdt3*
Twdt4*
Tset
Thold
Tdelay
Conditions
Min
Typ
Max
Unit
45
50
55
Crystal type
100
DC
ns
RC type
500
DC
ns
(Tins+20)/N*
Ta = 25C
TXAL,SUT1,SUT0=1,1
Ta = 25C
Ta = 25C
SUT1,SUT0=1,1
Ta = 25C
SUT1,SUT0=1,0
Ta = 25C
SUT1,SUT0=0,1
Ta = 25C
SUT1,SUT0=0,0
17.6-30%
ns
17.6
17.6+30%
2000
ms
ns
17.6-30%
17.6
17.6+30%
ms
4.5-30%
4.5
4.5+30%
ms
288-30%
288
288+30%
ms
72-30%
72
72+30%
ms
0
Cload=20pF
ns
20
ns
50
ns
* Twdt1: The Option word (SUT1,SUT0) is used to define the oscillator Set-Up time. In Crystal mode the WDT
timeout length is the same as set-up time(18ms).
* Twdt2: The Option word (SUT1,SUT0) is used to define the oscillator Set-Up time. In Crystal mode the WDT
timeout length is the same as set-up time(4.5ms).
* Twdt3: The Option word (SUT1,SUT0) is used to define the oscillator Set-Up time. In Crystal mode the WDT
timeout length is the same as set-up time(288ms).
* Twdt4: The Option word (SUT1,SUT0) is used to define the oscillator Set-Up time. In Crystal mode the WDT
timeout length is the same as set-up time(72ms).
* These parameters are characterizes but not tested.
* Data in the Minimum, Typical, Maximum(Min,Typ,Max) column are based on characterization results at
25. This data is for design guidance and is not tested.
* N= selected prescaler ratio.
* The duration of watch dog timer is determined by option code (bit6,bit5)
38
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
6.3 Device Characteristic
The graphs provided in the following pages were derived based on a limited number of samples and are shown
here for reference only. The device characteristic illustrated herein are not guaranteed for it accuracy. In some
graphs, the data maybe out of the specified warranted operating range.
1.5
1
Vil max (-40 to 85)
Vil typ 25
0.5
0
2.5
3.5
4.5
5.5
Vdd (Volt)
Fig. 18 Vih, Vil of P60~P63, P66, P67 vs. VDD
39
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Vth (Input thershold voltage) of I/O pins
2.2
2
1.8
Vth (Volt)
1.6
Max (-40 to 85 )
T yp 25
1.4
1.2
Min(-40 to 85 )
1
0.8
0.6
0.4
2.5
3.5
4.5
5.5
VDD (Volt)
Voh/Ioh (VDD=3V)
Vo h /Io h (VDD=5 V)
-5
-2
-10
-4
Ioh (mA)
Ioh (mA)
Min 70
-15
Max 70
-6
T yp 25
T yp 25
-20
-8
Min 0
Min 0
-10
-25
0
1.5
2.5
Voh (Volt)
Voh (Volt)
0.5
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Vol/Iol (VDD=5V)
Vo l/Io l (VDD=3 V)
100
40
Max 0
Max 0
80
Typ 25
T yp 25
30
Min 70
Iol (mA)
Iol (mA)
Min 70
60
20
40
10
20
Vol (Volt)
0.5
1.5
2.5
Vol (Volt)
41
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Vol/Iol (VDD=5V)
Vo l/Io l (VDD=3 V)
120
60
Max 0
Max 0
100
50
T yp 25
T yp 25
80
40
Iol (mA)
Iol (mA)
Min 70
60
Min 70
30
40
20
20
10
0
0
1.5
2.5
Vol (Volt)
Vol (Volt)
0.5
42
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
WDT Time_ o u t
35
30
Max 70
25
T yp 25
20
Min 0
15
10
2
VDD (Volt)
43
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Frequency (M Hz)
R = 5.1K
0.8
0.6
R = 10K
0.4
0.2
R = 100K
0
2.5
3.5
4
VDD (Volt)
4.5
5.5
Fig. 28 Typical RC OSC Frequency vs. Temperature (R and C are ideal components)
44
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Frequency (M Hz)
7
6
5
OSC = 4M Hz
4
3
OSC = 1M Hz
OSC = 455K Hz
2
1
0
0
25
50
70
Temperature ()
Fig. 29 Internal RC OSC Frequency vs. Temperature, VDD=5V
Frequency (M Hz)
8
7
6
5
OSC = 4M Hz
4
3
OSC = 1M Hz
OSC = 455K Hz
2
1
0
0
25
50
70
Temperature ()
Fig. 30 Internal RC OSC Frequency vs. Temperature, VDD=3V
This specification is subject to change without prior notice.
45
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Four conditions exist with the Operating Current ICC1 to ICC4. These conditions are as follows:
ICC1: VDD=3V, Fosc=32K Hz, 2 clocks, WDT disable
ICC2: VDD=3V, Fosc=32K Hz, 2 clocks, WDT enable
ICC3: VDD=5V, Fosc=4M Hz, 2 clocks, WDT enable
ICC4: VDD=5V, Fosc=10M Hz, 2 clocks, WDT enable
Current (uA)
18
15
T yp ICC2
T yp ICC1
12
9
0
10
20
30
40
50
60
70
Temperature ()
Fig. 31 Typical operating current (ICC1 and ICC2) vs. Temperature
Current (uA)
24
Max ICC2
21
Max ICC1
18
15
0
10
20
30
40
50
60
70
Temperature ()
46
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Fig. 32 Maximum operating current (ICC1 and ICC2) vs. Temperature
Current (mA)
3.5
T yp ICC4
3
2.5
2
T yp ICC3
1.5
1
0.5
0
10
20
30
40
50
60
70
Temperature ()
Fig. 33 Typical operating current (ICC3 and ICC4) vs. Temperature
Current (mA)
3.5
Max ICC4
3
2.5
2
Max ICC3
1.5
1
0
10
20
30
40
50
60
70
Temperature ()
Fig. 34 Maximum operating current (ICC3 and ICC4) vs. Temperature
47
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Two conditions exist with the Standby Current ISB1 and ISB2. These conditions are as follows:
ISB1: VDD=5V, WDT disable
ISB2: VDD=5V, WDT enable
Current (uA)
12
9
T yp ISB2
6
3
T yp ISB1
0
0
10
20
30
40
50
60
70
Temperature ()
Fig. 35 Typical standby current (ISB1 and ISB2) vs. Temperature
Current (uA)
12
T yp ISB2
9
6
3
T yp ISB1
0
0
10
20
30
40
50
60
70
Temperature ()
Fig. 36 Maximum standby current (ISB1 and ISB2) vs. Temperature
This specification is subject to change without prior notice.
48
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
OSC = 4M Hz
OSC = 32K Hz
2.5
70
60
I (uA)
I (mA)
50
1.5
Max
1
40
30
Max
20
Min
1.5
2.5
3.5
Min
10
0.5
4
4.5
5.5
1.5
2.5
3.5
4.5
5.5
V (Volt)
frequency is 4M Hz
frequency is 32K Hz
49
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Appendix
Package Types:
OTP MCU
EM78P153NP
EM78P153NN
Package Type
DIP
SOP
Pin Count
14
14
50
Package Size
300 mil
150 mil
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
Package Information
14-Lead Plastic Dual in line (PDIP) 300 mil
51
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
52
4. 1.2004 (V1.4)
EM78P153S
OTP ROM
53
4. 1.2004 (V1.4)