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 Micro electronics shall not
be liable for direct, indirect, special inciden tal, or co nsequential damages arising from th e use of su ch inform ation
or materia l .
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 Microelectronic s product in such applications is not supported and is prohibit ed.
NO PART OF THIS SPECIFICATION MA Y BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY
ANY MEANS WITHOUT THE E XPRESSED WRITTEN PERMISSION OF ELAN MICROELECTRONI CS .
The EM78P809N is an 8-bit microprocessor with low-power, high-speed CMOS
technology and high noise immunity. It has a built-in 8K×13-bits Electrical One Time
Programmable Read Only Memory (OTP-ROM). It provides multi-protection bits to
prevent intrusion of user’s OTP memory codes. Seven Option bits are also available to
meet user’s requirements.
With its OTP-ROM feature, the EM78P809N is able to offer a convenient way of
developing and verifying user’s programs. Moreover, user can take advantage of
ELAN Writer to easily program his development code.
2 Features
2.1 CPU
Operating voltage: 2.5V~5.5V
EM78P809N
8-Bit Microcontroller
Operating temperature range: -40°C~85°C
Operating frequency range (base on 2 clocks)
z Crystal mode: 1MHz ~ 8MHz at 4.5V, 1MHz ~ 4MHz at 2.5V
z RC mode: 1MHz ~ 4MHz at 2.5V
Low power consumption:
z Typically 0.8 μA, during sleep mode
8K × 13 bits on-chip ROM
Multi-security bits to prevent intrusion of OTP memory codes
One configuration register accommodates user’s requirements
INT3 R = “1” : Rising edge is detected
Bit 1 ( WDTIF ) : WDT time-out flag, flag cleared by software.
Bit 0 ( EXIF0 ) : External interrupt flag (INT0). Flag cleared by software. If the
INT0EN is reset to “0”, the flag is cleared.
ISFR1 − Interrupt Status Flag Register 1 ( Address: 0Eh )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
EXIF5 TCIF2 ADIF 0 EXIF3 TCIF4 SPIF TCIF3
Bit 7 ( EXIF5 ) : External Interrupt Flag (/INT5), flag cleared by software.
Bit 6 ( TCIF2 ) : 16-bit Timer/Counter 2 Interrupt Flag, flag cleared by software.
Bit 5 ( ADIF ) : AD conversion complete flag, flag cleared by software.
Bit 3 ( EXIF3 ) : External Interrupt Flag (/INT3), flag cleared by software.
Bit 2 ( TCIF4 ) : 8-bit Timer/Counter 4 Interrupt Flag, flag cleared by software.
Bit 1 ( SPIF ) : SPI Mode Interrupt Flag, flag cleared by software.
Bit 0 ( TCIF3 ) : 8-bit Timer/Counter 3 interrupt flag, flag cleared by software.
"1" means interrupt request, "0" means non-interrupt
ISFR1 can be cleared by instruction, but cannot be set by instruction
IMR1 is the interrupt mask register
Note that reading ISFR1 will obtain the result of the ISFR1 "logic AND" and
IMR1.
Product Specification (V1.0) 07.26.2005
12 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
ISFR2 − Interrupt Status Flag Register 2 ( Address: 0Fh )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 UERRIF RBFF TBEF TBIF EXIF1 0 TCIF0
Bit 6 (UERRIF) : UART Receiving Error Interrupt, cleared by software or UART
disabled.
Bit 5 (RBFF) : UART Receive Mode Data Buffer Full Interrupt Flag. Flag cleared
by software.
Bit 4 (TBEF) : UART Transmit Mode Data Buffer Empty Interrupt Flag. Flag
cleared by software.
Bit 3 (TBIF) : Time Base Timer Interrupt Flag. Flag cleared by software.
Bit 2 (EXIF1) : External Interrupt Flag (INT1). Flag cleared by software.
Bit 0 (TCIF0) : TCC Overflow Interrupt Flag. Set as TCC overflows; flag cleared
by software.
"1" means interrupt request, "0" means non-interrupt
ISFR2 can be cleared by instruction, but cannot be set by instruction
IMR2 is the interrupt mask register
Note that reading ISFR2 will obtain the result of the ISFR2 "logic AND" and
IMR2
Register Bank 1 ( R3 bits ( 7,6) = (0,1) )
TC3CR − Timer/Counter 3 Control Register ( Address: 05h )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
TC3CAP TC3S TC3CK1 TC3CK0 TC3M 0 0 0
Bit 7 ( TC3CAP ) : Software capture control
TC3CAP = “0” : -
TC3CAP = “1” : Software capture
Bit 6 ( TC3S ) : Timer/Counter 3 start control
Bit 7 ~ Bit 0 ( TC2D7 ~ TC2D0 ) : 16-bit Timer/Counter 2 data buffer low byte.
ADCR − AD Control Register ( Address: 0Bh )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
ADREF ADRUN ADCK1 ADCK0 ADP ADIS2 ADIS1 ADIS0
Bit 7 ( ADREF ) : AD reference voltage input select.
ADREF = “0” : Internal VDD, P97 is used as IO.
ADREF = “1” : External reference pin, P97 is used as reference input pin.
Bit 6 ( ADRUN ) : AD Conversion start
ADRUN = “0” : Reset on completion of the conversion by hardware, this bit
cannot be reset by software.
ADRUN = “1” : Conversion starts
Product Specification ( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 15
EM78P809N
8-Bit Microcontroller
Bit 5~ Bit 4 ( ADCK1 ~ ADCK0 ) : AD Conversion Time Select
ADCK1 ADCK0
0 0 Fc/4 1MHz
0 1 Fc/16 4MHz
1 0 Fc/32 8MHz
1 1 Reserved -
Clock Source
( Normal, Idle )
Max. Op erating
Frequency (Fc)
Bit 3 ( ADP ) : AD power control
ADP = “0” : Power on
ADP = “1” : Power down
Bit 2 ~ Bit 0 ( ADIS2 ~ ADIS0 ) : Analog Input Pin Select
ADIS2 ADIS1 ADIS0 Analog Input Pin
0 0 0 AD0
0 0 1 AD1
0 1 0 AD2
0 1 1 AD3
1 0 0 AD4
1 0 1 AD5
1 1 0 AD6
1 1 1 AD7
ADIC − AD Input Pin Control ( Address: 0Ch )
Bit 7 Bit 6 Bit 5 Bit 4 Bi t 3 Bit 2 Bit 1 Bit 0
ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0
Bit 7 ~ Bit 0 ( ADE7 ~ ADE0 ) : AD input pin enable control.
ADEx = “0” : PORT9.x act as I/O pin.
ADEx = “1” : PORT9.x act as analog input pin.
ADDH − AD High 8-bit Data Buffer ( Address: 0Dh )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2
Bit 7 ~ Bit 0 ( ADD9 ~ ADD2 ) : AD high 8-bit data buffer.
Product Specification (V1.0) 07.26.2005
16 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
TBKTC − TBT/Keytone Control ( Address: 0Eh )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
TEN TCK1 TCK0 0 TBTEN TBTCK2 TBTCK1 TBTCK0
Bit 7 ( TEN ) : Keytone enable control
TEN = “0” : Disable
TEN = “1” : Enable
Bit 6 ~ Bit 5 ( TCK1 ~ TCK0 ) : Keytone Output Clock Source Select
TCK1 TCK0
0 0 Fc/213 0.976kHz
0 1 Fc/212 1.953kHz
1 0 Fc/211 3.906kHz
1 1 Fc/210 7.812kHz
Clock Source
( Normal, Idle )
Bit 3 ( TBTEN ) : Time Base Timer Enable Control
TBTEN = “0” : Disable
Keytone Output Frequency
( Fc = 8MHz )
TBTEN = “1” : Enable
Bit 2 ~ Bit 0 ( TBTCK2 ~ TBTCK0 ) : Time Base Timer Clock Source Select
TBTCK2 TBTCK1 TBTCK0
0 0 0 Fc/223 0.95Hz
0 0 1 Fc/221 3.81Hz
0 1 0 Fc/216 122.07Hz
0 1 1 Fc/214 488.28Hz
1 0 0 Fc/213 976.56Hz
1 0 1 Fc/212 1953.12Hz
1 1 0 Fc/211 3906.25Hz
1 1 1 Fc/29 15625Hz
Register Bank 2 ( R3 bits (7, 6) = (1, 0) )
URC1 − UART Control Register 1 ( Address: 05h )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE TXE
Clock Source
( Normal, Idle )
Interrupt Frequency
( Fc = 8MHz )
Bit 7 ( URTD8 ) : Transmission data bit 8
Product Specification ( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 17
EM78P809N
8-Bit Microcontroller
Bit 6 ~ Bit 5 ( UMODE1 ~ UMODE0 ) : UART Transmission Mode Select Bit
UMODE1 UMODE0 UART Mode
0 0 Mode1: 7-bits
0 1 Mode2: 8-bits
1 0 Mode3: 9-bits
1 1 Reserved
Bit 4 ~ Bit 2 ( BRAT E2 ~ BRATE1 ) : Transmit Baud Rate Select
BRATE2 BRATE1 BRATE0 Baud Rate e.g. Fc=8MH z
0 0 0 Fc/13 38400
0 0 1 Fc/26 19200
0 1 0 Fc/52 9600
0 1 1 Fc/104 4800
1 0 0 Fc/208 2400
1 0 1 Fc/416 1200
1 1 0 TC4
1 1 1 Fc/96
Bit 1 ( UTBE ) : UART transfer buffer empty flag. Set to 1 when transfer buffer is
empty. Reset to 0 automatically when writing into the URTD register. UTBE bit will
be cleared by hardware when enabling the transmission. UTBE bit is read-only.
Therefore, writing to the URTD register is necessary when we want to start
transmission shifting.
Bit 0 ( TXE ) : Enable transmission
TXE = “0” : Disable
TXE = “1” : Enable
URC2 − UART Control Register 2 ( Address: 06h )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 SBIM1 SBIM0 UINVEN 0 0 0
Bit 5 ~ Bit 4 ( SBIM1 ~ SBIM0 ) : Serial bus interface operation mode select.
TC2CK1 TC2CK0 Operation Mode
0 0 I/O mode
0 1 SPI mode
1 0 UART mode
1 1 Reserved
Bit 3 ( UINVEN ) : Enable UART TXD and RXD port inverse output.
UINVEN = “0” : Disable TXD and RXD port inverse output.
UINVEN = “1” : Enable TXD and RXD port inverse output.
Product Specification (V1.0) 07.26.2005
18 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
URS − UART Status Register ( Address: 07h )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
URRD8 EVEN PRE PRERR OVERR FMERR URBF RXE
Bit 7 ( URRD8 ) : Receiving data bit 8
Bit 6 ( EVEN ) : Select parity check EVEN = “0” : Odd parity EVEN = “1” : Even parity
Bit 5 ( PRE ) : Enable parity addition PRE = “0” : Disable PRE = “1” : Enable
Bit 4 ( PRERR ) : Parity error flag.
Set to 1 when parity error occurred, and cleared to 0 by software.
Bit 3 ( OVERR ) : Overrun error flag.
Set to 1 when overrun error occurred, and cleared to 0 by software.
Bit 2 ( FMERR ) : Framing error flag.
Set to 1 when framing error occurred, and cleared to 0 by software.
Bit 1 ( URBF ) : UART read buffer full flag.
Set to 1 when one character is received. Reset to 0 automatically when read
from the URS register. URBF will be cleared by hardware when receiving is
enabled. URBF bit is read-only. Therefore, reading the URS register is
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
External Interrupt
INT Pin
/INT0 P60 ENI + INT0EN (IOCB) Falling -
INT1 P61 ENI + EXIE1 (IMR2) Rising or Falling 15/Fc, 63/Fc
INT3 P80, TC3 ENI + EXIE3 (IMR2)
/INT5 P73, /SLEEP ENI + EXIE5 (IMR2)
Secondary
Function Pin
Enable Condition Edge
Rising or Falling or
Rising/Falling
-
ADOSCR − AD Offset Control Register ( Address : 0Ch )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
CALI SIGN VOF[2] VOF[1] VOF[0] 0 0 0
Bit 7 (CALI) : Calibration enable bit for A/D offset CALI = “0” : Calibration disable CALI = “1” : Calibration enable
Bit 6 ( SIGN ) : Polarity bit of offset voltage
Digital Noise
Reject
7/Fc
SIGN = “0” : Negative voltage SIGN = “1” : Positive voltage
Bit 5 ~ Bit 3 ( VOF[2] ~ VOF[0] ) : Offset voltage bits
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
TC4 pin
11
fc/2
7
fc/2
fc/2
3
TC4CK
MUX
3
TC4S
TC4CR
4.11.1 Timer Mode
In Timer mode, counting up is performed using the internal clock. When the contents of
the up-counter matched with the TCR4, then interrupt is generated and the counter is
cleared. Counting up resumes after the counter is cleared.
4.11.2 Counter Mode
Clear
8-bit Up-counter
TCR4
Fig. 25. Timer /Counter 4 Configuration
TC4M (1,1)
Overflow
Comparator
Match
TC4M(1,*)
TC4FF
TC4 Interrupt
F/F
Clear
Set
Q
Toggle
/PWM, /PDO Pin
In Counter mode, counting up is performed on the rising edge of the external clock
input pin (TC4 pin). When the contents of the up-counter matched with the TCR4, then
interrupt is generated and the counter is cleared. Counting up resumes after the
counter is cleared.
4.11.3 PDO Mode
In Programmable Divider Output (PDO) mode, counting up is performed using the
internal clock. The contents of TCR4 are compared with the contents of the
up-counter. The F/F output is toggled and the counter is cleared each time a match is
found. The F/F output is inverted and output to /PDO pin. This mode can generate
50% duty pulse output. The F/F can be initialized by the program and it is initialized to
Product Specification( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
“0” during a reset. A TC4 interrupt is generated each time the /PDO output is toggled.
Source Clock
Up-counter
TCR4
21
01 3
n
F/F
/PDO Pin
TC4 Interrupt
Fig. 26.Timing Chart for PD O Mode
• 45
n-1
n
0
n
n-1
01 n-1
n
012
EM78P809N
8-Bit Microcontroller
4.11.4 PWM Mode
In Pulse Width Modulation (PWM) Output mode, counting up is performed using the
internal clock. The contents of the TCR4 are compared with the contents of the
up-counter. The F/F is toggled when match is found. The counter is still counting, the
F/F is toggled again when the counter overflows, then the counter is cleared. The F/F
output is inverted and output to the /PWM pin. A TC4 interrupt is generated each time
an overflow occurs. TCR4 is configured as a 2-stage shift register and, during output,
will not switch until one output cycle is completed even if TCR4 is overwritten.
Therefore, the output can be changed continuously. TRC4 is also shifted the first time
by setting TC4S to “1” after data is loaded to TCR4.
Source Clock
Up-counter
TCR4
/PWM
F/F
01
n/n
n-1
Match
n
n+1
n+2
Overflow
FE FF
n-1
0
n/mm/m
Match
Overwrite
n+2
n
n+1
Overflow
FE FF
0
Shift
1
m-1
m
TC4 Interrupt
Fig. 27.Timing Chart for PWM Mode
4.12 TCC/WDT & Prescaler
An 8-bit counter is available as prescaler for the TCC. The PSR0~PSR2 bits determine
the ratio. The prescaler is cleared each time the instruction is written to TCC under
TCC mode.
R1 (TCC) is an 8-bit timer/counter. The clock source of TCC is the internal clock. If the
TCC signal source is from the internal clock, TCC will increase by 1 at every instruction
cycle (without prescaler). CLK=Fosc/2 or CLK=Fosc/4 selection is determined by the
CODE Option bit CLK status. CLK=Fosc/2 is used if CLK bit is "0", and CLK=Fosc/4 is
used if CLK bit is "1".
The watchdog timer is a free running on-chip RC oscillator. During normal operation
mode, a WDT time-out (if enabled) will cause the device to reset or interrupt by setting
WDTO. The WDT can be enabled or disabled any time during normal mode by
software programming. Without prescaler, the WDT time-out period is approximately
18 ms (default). The WDT can also be used as a timer to generate an interrupt at fixed
interval.
1 Period
Product Specification (V1.0) 07.26.2005
46 •
(This specification is subject to change without further notice)
4.13 I/O Ports
The I/O registers, Port 6, Port 7, Port 8, and Port 9 are bi-directional tri-state I/O ports.
Each I/O pin can be defined as “input” or “output” pin by the I/O control register (IOC6 ~
IOC9). The I/O registers and I/O control registers are both readable and writable. The
I/O interface circuits for Port 6, Port 7, Port 8, and Port 9 are shown in Fig. 27.
Q
Q
PCRD
P
R
CLK
C
L
EM78P809N
8-Bit Microcontroller
D
PCWR
PORT
0
M
1
Fig. 28.The I/O Port and I/O Control Register Circuit
4.14 RE SET and Wake-up
4.14.1 RESET
A RESET is initiated by one of the following events:
(1) Power-on reset
(2) /RESET pin input “low”
(3) WDT timeout. (if enabled)
The device is kept in a RESET condition for a period of approx. 18ms
start-up timer period) after the reset is detected. Once a RESET occurs, the following
functions are performed.
The oscillator starts or is running
P
Q
D
R
C
Q
L
U
X
CLK
PDWR
PDRD
IOD
1
(one oscillator
The Program Counter (R2) is reset to all “0”.
When power is switched on, the upper 2 bits of R3, the upper 2 bits of R4 and the
bits 6 ~ 4 of R5 are cleared.
All I/O port pins are configured as input mode (high-impedance state).
1
NOTE: VDD = 5V, set up time period = 16.2ms ± 30%
V
DD = 3V, set up time period = 19.6ms ± 30%
Product Specification( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 47
EM78P809N
8-Bit Microcontroller
The Watchdog timer and prescaler are cleared.
Upon power on, the upper 2 bits of R3 are cleared.
Upon power on, the upper 2 bits of R4 are cleared.
Upon power on, the upper 3 bits of R5 are cleared.
The bits of CONT register are set to all “1” except bit 6 (INT flag).
ISFR0, ISFR1, ISFR2 register and IMR1, IMR2 registers are cleared.
The controller has two modes for power saving.
(1) SLEEP mode: R5 (SIS) = 1, SLEP instruction.
The internal oscillator is turned off and all system operation is halted.
(2) IDLE mode: R5 (SIS)= 0, SLEP instruction
The CPU core halts but the on-chip peripheral and oscillator circuit remain active.
4.14.2 Wake-up from SLEEP Mode:
(1) External /SLEEP pin
The controller will be waken up and execute the next instruction after entering SLEEP
mode. All the registers will maintain their original values before “SLEP” instruction was
executed.
(2) /RESET pin pull low
This will reset the controller and starts the program at address zero.
(3) WDT time out
This will reset the controller and run the program at address zero.
4.14.3 Wake-up from IDLE mo de:
(1) All interrupt
In all these cases, user should always enable the circuit before entering IDLE mode.
After wake-up, all registers will maintain their original values before entering “SLEP”
instruction, then service an interrupt subroutine or proceed with next instruction by
setting individual interrupt enable bit. After servicing an interrupt sub-routine (“RETI”
instruction), the program will jump from “SLEP” instruction to the next instruction.
(2) /RESET pin pull low
This will reset the controller and run the program at address zero.
(3) WDT time out
This will reset the controller and run the program at address zero.
Product Specification (V1.0) 07.26.2005
48 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Table 6. Summary of the Initialized Values for Registers
Address Name Reset Type Bi t 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Bit Name C67 C66 C65 C64 C63 C62 C61 C60
0x06 IOC6
0x07 IOC7
0x08 IOC8
0x09 IOC9
0x0B INTCR
0x0C
0x0E IMR1
0x0F IMR2
N/A CONT
0x00
0x01
0x02
0x03
0x04
Power-On 1 1 1 1 1 1 1 1
/RESET and WDT time out 1 1 1 1 1 1 1 1
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name X X X X C73 C72 C71 C70
Power-on U U U U 1 1 1 1
/RESET and WDT time out U U U U 1 1 1 1
Wake-Up from SLEEP, IDLE modeU U U U P P P P
Bit Name X X X X X X C81 C80
Power-on U U U U U U 1 1
/RESET and WDT time out U U U U U U 1 1
Wake-Up from SLEEP, IDLE modeU U U U U U P P
Bit Name C97 C96 C95 C94 C93 C92 C91 C90
Power-On 1 1 1 1 1 1 1 1
/RESET and WDT time out 1 1 1 1 1 1 1 1
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name INT1NR INT0ENX
Power-On 0 0 0 0 0 0 0 0
/RESET and WDT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name CALI SIGN VOF2 VOF1 VOF0 X X X
Power-on 0 0 0 0 0 U U U
ADOSC
R
/RESET and WDT time out 0 P P P P U U U
Wake-Up from SLEEP, IDLE mode0 P P P P U U U
Bit Name EXIE5 TCIE2 ADIE X EXIE3 TCIE4 SPIE TCIE3
Power-on 0 0 0 U 0 0 0 0
/RESET and WDT time out 0 0 0 U 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P U P P P P
Bit Name X
Power-on U 0 0 0 0 0 U 0
/RESET and WDT time out U 0 0 0 0 0 U 0
Wake-Up from SLEEP, IDLE modeU P P P P P U P
Bit Name WDT0 /INT WDTP1 WDTP0 WDTE PSR2 PSR1 PSR0
Power-on 0 0 0 0 0 0 0 0
/RESET and WDT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name - - - - - - - -
Power-on U U U U U U U U
R0
/RESET and WDT time out P P P P P P P P
(IAR)
Wake-Up from SLEEP, IDLE mode
Bit Name - - - - - - - -
Power-on 0 0 0 0 0 0 0 0
R1
(TCC)
/RESET and WDT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name - - - - - - - -
Power-on 0 0 0 0 0 0 0 0
R2
(PC)
/RESET and WDT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeJump to interrupt vector or execute next instruction
Bit Name RBS1 RBS0 X T P Z DC C
R3
Power-on 0 0 0 1 1 U U U
(SR)
/RESET and WDT time out 0 0 0 t t P P P
Wake-Up from SLEEP, IDLE modeP P P t t P P P
Bit Name GRBS1 GRBS0 RSR5 RSR4 RSR3 RSR2 RSR1 RSR0
R4
Power-On 0 0 U U U U U U
(RSR)
/RESET and WDT time out 0 0 P P P P P P
Wake-Up from SLEEP, IDLE modeP P P P P P P P
UERRIE
P P P P P P P P
INT3ES1 INT3ES0
URIE UTIE TBIE EXIE1 X TCIE0
X INT1ES TC2ES
Product Specification( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 49
EM78P809N
8-Bit Microcontroller
Register Bank 0
Address Name Re set Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x05 SCR
0x06 PORT6
0x07 PORT7
0x08 PORT8
0x09 PORT9
0x0B TC4CR
0x0C TC4D
0X0D ISFR0
0X0E ISFR1
0X0F ISFR2
Bit Name X PS2 PS1 PS0 X X SIS REM
Power-On U 0 0 0 U U 0 0
/RESET and WDT time out U 0 0 0 U U 0 0
Wake-Up from SLEEP, IDLE modeU P P P U U P P
Bit Name P67 P66 P65 P64 P63 P62 P61 P60
Power-On 1 1 1 1 1 1 1 1
/RESET and WDT time out 1 1 1 1 1 1 1 1
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name X X X X P73 P72 P71 P70
Power-On U U U U 1 1 1 1
/RESET and WDT time out U U U U 1 1 1 1
Wake-Up from SLEEP, IDLE modeU U U U P P P P
Bit Name X X X X X X P81 P80
Power-On U U U U U U 1 1
/RESET and WDT time out U U U U U U 1 1
Wake-Up from SLEEP, IDLE modeU U U U U U P P
Bit Name P97 P96 P95 P94 P93 P92 P91 P90
Power-On 1 1 1 1 1 1 1 1
/RESET and WDT time out 1 1 1 1 1 1 1 1
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name TC4FF1 TC4FF0TC4S TC 4CK2 TC4 CK1 TC4CK0 TC4M1 TC4M0
Power-On 0 0 0 0 0 0 0 0
/RESET and WDT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name TC4D7 TC4D6 TC4D5 TC4D4 TC4D3 TC4D2 TC4D1 TC4D0
Power-On 0 0 0 0 0 0 0 0
/RESET and WDT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name X X INT3F INT3RX X WDTIF EXIF0
Power-On U U 0 0 U U 0 0
/RESET and WDT time out U U 0 0 U U 0 0
Wake-Up from SLEEP, IDLE modeU U P P U U P P
Bit Name EXIF5 TCIF2 ADIF X EXIF3 TCIF4 SPIF TCIF3
Power-On 0 0 0 U 0 0 0 0
/RESET and WDT time out 0 0 0 U 0 0 0 0
Wake-Up from SLEEP, IDLE modeU P P U P P P P
Bit Name X UER RIF RBFF TBEF TBIF EXIF1 X TCIF0
Power-On U 0 0 0 0 0 U 0
/RESET and WDT time out U 0 0 0 0 0 U 0
Wake-Up from SLEEP, IDLE modeU P P P P P U P
Product Specification (V1.0) 07.26.2005
50 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Register Bank 1
Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Bit Name TC3CAP TC3 S TC3CK1 TC3CK 0 TC3M X X X
0x05 TC3CR
0x06 TC3DA
0x07 TC3DB
0x08
0x09 TC2DH
0x0A TC2DL
0x0B ADCR
0x0C ADIC
0X0D ADDH
0X0E TBKTC
Power-On 0 0 0 0 0 U U U
/RESET and WDT time out 0 0 0 0 0 U U U
Wake-Up from SLEEP, IDLE modeP P P P P U U U
Bit Name TC3DA7 TC3DA6 TC3 DA5 TC3 DA4 TC3DA3 TC3 DA2 TC3 DA1 TC3 DA0
Power-On 0 0 0 0 0 0 0 0
/RESET and W DT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name TC3DB7 TC3DB6 TC3 DB5 TC3 DB4 TC3DB3 TC3 DB2 TC3 DB1 TC3DB0
Power-On 0 0 0 0 0 0 0 0
/RESET and W DT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name ADD1 ADD0 X TC2M TC2S TC2CK2 TC2CK1 TC2CK 0
TC2CR
Power-On U U U 0 0 0 0 0
/
/RESET and W DT time out P P U 0 0 0 0 0
ADDL
Wake-Up from SLEEP, IDLE modeP P U P 0 P P P
Bit Name TC2D 15 TC2D14 TC2D 13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8
Power-On 0 0 0 0 0 0 0 0
/RESET and W DT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D 2 TC2D1 TC2D0
Power-On 0 0 0 0 0 0 0 0
/RESET and W DT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name ADREF ADRUN ADCK1 ADCK0 ADP ADIS2 ADIS1 ADIS0
Power-On 0 0 0 0 1 0 0 0
/RESET and W DT time out 0 0 0 0 1 0 0 0
Wake-Up from SLEEP, IDLE modeP (*) P P P P P P
Bit Name ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0
Power-On 0 0 0 0 0 0 0 0
/RESET and W DT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2
Power-On U U U U U U U U
/RESET and WDT time out P P P P P P P P
Wake-Up from SLEEP, IDLE modeP P P P P P P P
Bit Name TEN TCK1 TCK0 X TBTEN TB TCK2 TBT CK1 TB TCK0
Power-On 0 0 0 0 0 0 0 0
/RESET and W DT time out 0 0 0 0 0 0 0 0
Wake-Up from SLEEP, IDLE mode0 P P P 0 P P P
Product Specification( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 51
EM78P809N
8-Bit Microcontroller
Register Bank 2
Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Bit Name URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE TXE
0x05 URC1
0x06 URC2
0x07 URS
0x08 URRD
0x09 URTD
Register Bank 3
Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x05 SPIC1
0x06 SPIC2
0x07 SPID1
0x0A PHC1
0x0B PLC2
0x0C PHC2
0x0D PLC2
Power-On U 0 0 0 0 0 0 0
/RESET and WDT time out P P P P P P 0 0
Wake-Up from SLEEP, IDLE mode P 0 P P P P P 0
Bit Name X X SBIM1 SBIM0 UINVEN
Power-On U U 0 0 0 U U U
/RESET and WDT time out U U P P P U U U
Wake-Up from SLEEP, IDLE mode U U P P P U U U
Bit Name URRD8 EVEN PRE PRERR OVERR FMERR URBF RXE
Power-On U 0 0 0 0 0 0 0
/RESET and WDT time out P P P 0 0 0 0 0
Wake-Up from SLEEP, IDLE mode P P P P P P P 0
Bit Name URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0
Power-On U U U U U U U U
/RESET and WDT time out P P P P P P P P
Wake-Up from SLEEP, IDLE mode P P P P P P P P
Power-On U U U U U U U U
/RESET and WDT time out P P P P P P P P
Wake-Up from SLEEP, IDLE mode P P P P P P P P
Bit Name SMP DCOL BRS2 BRS1 BRS0 EDS DORD WBE
Power-On 0 0 0 0 0 0 0 0
/RESET and WDT time out P P P P P P P 0
Wake-Up from SLEEP, IDLE mode P P P P P P P P
Bit Name SPIS X X X X SPIM1 SPIM0 RBF
Power-On 0 0 0 0 0 0 0 0
/RESET and WDT time out 0 0 0 0 0 P P 0
Wake-Up from SLEEP, IDLE mode 0 P P P P P P P
Bit Name SPID17 SPID16 SPID15 SPID14 SPID13 SPID12 SPID11 SPID10
Power-On U U U U U U U U
/RESET and WDT time out P P P P P P P P
Wake-Up from SLEEP, IDLE mode P P P P P P P P
Bit Name X X /PHE81 /PHE80 /PHE63 /PHE62 /PHE61 /PHE60
Power-On U U 1 1 1 1 1 1
/RESET and WDT time out U U 1 1 1 1 1 1
Wake-Up from SLEEP, IDLE mode U U P P P P P P
Bit Name X X /PLE81 /PLE80 /PLE63 /PLE62 /PLE61 /PLE60
Power-On U U 1 1 1 1 1 1
/RESET and WDT time out U U 1 1 1 1 1 1
Wake-Up from SLEEP, IDLE mode U U P P P P P P
Bit Name X X X X /PHE73 /PHE72 /PHE71 /PHE70
Power-On U U U U 1 1 1 1
/RESET and WDT time out U U U U 1 1 1 1
Wake-Up from SLEEP, IDLE mode U U U U P P P P
Bit Name X X X X /PLE73 /PLE72 /PLE71 /PLE70
Power-On U U U U 1 1 1 1
/RESET and WDT time out U U U U 1 1 1 1
Wake-Up from SLEEP, IDLE mode U U U U P P P P
X X X
Bit Name URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0
Product Specification (V1.0) 07.26.2005
52 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
General Purpose Registers
Address Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x10
~
0x3F
Bit Name - - - - - - - -
R10
Power-On U U U U U U U U
~
/RESET and WDT time out P P P P P P P P
R3F
Wake-Up from SLEEP, IDLE modeP P P P P P P P
X: Not used. U: Unknown or don’t care. P: Previous value before reset. t: Check Table 7
(*) 0: Wake-Up from SLEEP P: Wake-Up from IDLE
4.14.4 The Status of RST, T, and P of STATUS Register
The values of T and P are used to verify the event that triggered the processor to wake
up. Table 7 shows the events that may affect the status of T and P.
Table 7. The Values of RST, T and P after RESET
Reset Type T P
Power on 1 1
/RESET during Operation mode *P *P
/RESET wake-up during SLEEP mode *P *P
/RESET wake-up during IDLE mode *P *P
WDT during Operation mode 0 *P
WDT wake-up during SLEEP mode 0 *P
WDT wake-up during IDLE mode 0 *P
*P: Previous status before reset
Table 8 The Events that may Affect the T and P Status
Event T P
Power on 1 1
WDTC instruction 1 1
WDT time-out 0 *P
SLEP instruction 1 0
Wake-Up during SLEEP mode *P *P
*P: Previous value before reset
Product Specification( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 53
EM78P809N
8-Bit Microcontroller
VDD
WDTE
4.15 Interrupt
Power-on
Reset
Voltage
Detector
/RESET
Oscillator
WDT
WDT Timeout
DQ
CLK
CLR
Setup Time
RESET
CLK
Fig. 29.Controller Reset Block Diagram
The EM78P809N has 15 interrupts (9 external, 6 internal) listed below:
Table 9.. Interrupt Vector
Interrupt Source Enable Condition Int. Flag Int. Vector Priority
EM78P809N has a clock generator. i.e. Fc (high frequency) which can be driven by an
external clock signal through the OSCI pin.
In most applications, Pin OSCI and Pin OSCO can be connected with a crystal or
ceramic resonator to generate oscillation. Table 12 provides the recommended values
of C1 and C2. Since each resonator has its own attribute, user should refer to its
specification for appropriate values of C1 and C2. A serial resistor Rs may be
necessary for AT strip cut crystal.
Product Specification( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 55
EM78P809N
8-Bit Microcontroller
OSCI
Ext. Clock
OSCO
EM78P809N
Fig. 30. Crystal/Resonator Circuit
C1
OSCI
EM78P809N
XTAL
OSCO
RS
C2
Fig. 31. Crystal/Resonator Circuit
Table12. Capacitor Selection Guide for Crystal Oscillator or Ceramic Resonator
Oscillator Type Frequency Mode Frequency C1 (pF) C2 (pF)
Ceramic Resonator HXT
Crystal Oscillator HXT
2.0 MHz 20~40 20~40
4.0 MHz 10~30 10~30
1.0MHz 15~30 15~30
2.0MHz 15 15
4.0MHz 15 15
33
0
33
0
C
OSCI
740
4
740
4
740
4
EM78P809N
XTAL
Fig. 32. Crystal/Resonator-Series Mode Circuit
Product Specification (V1.0) 07.26.2005
56 •
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
OSCI
EM78P809N
740
4
10
4.7
K
740
4
K
XTAL
C1
C2
10
K
Vdd
Fig. 33. Crystal/Resonator-Parallel Mode Circuit
4.16.3 Extern al RC Oscill ato r Mode
For applications that do not need very precise timing calculation, the RC oscillator
offers a lot of cost savings. Nevertheless, it should be noted that the frequency of the
RC oscillator is influenced by the supply voltage, the values of the resistor (Rext), the
capacitor (Cext), and even by the operation temperature. Moreover, the frequency
also varies slightly from one chip to another due to the manufacturing process variation.
In order to maintain a stable system frequency, the values of the Cext should not be
less than 20pF, and the value of Rext should not be greater than 1 M
frequency is easily affected by noise, humidity, and leakage.
, otherwise, the
The smaller the Rext in the RC oscillator, the faster its frequency will be. On the
contrary, for very low Rext values, for instance, 1 K
because the NMOS cannot correctly discharge the current of the capacitance.
Hence, it must be noted that the supply voltage, the operation temperature, the RC
oscillator components, the package types, and the PCB layout, will affect the system
frequency.
OSCI
EM78P809N
Fig. 34. External RC Oscillator Mode Circuit
Product Specification ( V 1 . 0) 07 . 2 6 . 2 005
(This specification is subject to change without further notice)
• 57
Ω, the oscillator becomes unstable
Vdd
Rext
Cext
EM78P809N
8-Bit Microcontroller
Table13. RC Oscillator Frequencies
Note: 1. Measured on DIP packages.
2. For design reference only.
Cext Rext Average Fosc 5V, 25°C Average Fosc 3V, 25°C
3.3k 4.32 MHz 3.56 MHz
20 pF
100 pF
300 pF
5.1k 2.83 MHz 2.8 MHz
10k 1.62 MHz 1.57 MHz
100k 184kHz 187kHz
3.3k 1.39 MHz 1.35 MHz
5.1k 950kHz 930kHz
10k 500kHz 490kHz
100k 54kHz 55kHz
3.3k 580kHz 550kHz
5.1k 390kHz 380kHz
10k 200kHz 200kHz
100k 21kHz 21kHz
4.17 Code Option Register
The EM78P809N has one CODE option word that is not part of the normal program
memory. The option bits cannot be accessed during normal program execution.
Code Option Register and Customer ID Register arrangement distribution:
Word 0 Word 1 Word 2
Bit 12~Bit 0 Bit 12~Bit 0 Bit 12~Bit 0
4.17.1 Code Option Register (Word 0)
Bit 12 ~ 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
CLKS ENWDTB CYES - OSC HLP PR2 PR1 PR0
Bit 12 ~ 9 : Not used
Bit 8 (CLKS) : Instruction period option bit.
CLKS = “0” : two oscillator periods.
CLKS = “1” : four oscillator periods.
Refer to the Instruction Set section.
Bit 7 (ENWDTB) : Watchdog timer enable bit.
Word 0
ENWDTB = “0” : Enable ENWDTB = “1” : Disable
• Product Specification (V1.0) 07.26.2005
58
(This specification is subject to change without further notice)
Bit 6 (CYES) : Cycle selection for JMP, CALL instruction CYES = “0” : One cycle CYES = “1” : Two cycles
Bit 4 (OSC) : Oscillator type selection. OSC = “0” : RC type OSC = “1” : Crystal type
Bit 3 (HLP) : Power selection. HLP = “0” : Low power HLP = “1” : High power
Bit 2~0 (PR2~PR0) : Protect Bit
PR2~PR0 are write-protect bits, configured as follow s:
PR2 PR1 PR0 Protect
Others Enable
1 1 1 Disable
EM78P809N
8-Bit Microcontroller
4.17.2 Customer ID Register
Bits 12 ~ 0: Customer’s ID code
4.18 Power-on Considerations
Any microcontroller is not guaranteed to start and operate properly before the power
supply maintains at its steady state. The EM78P809N has a built-in Power On Voltage
Detector (POVD) with a detecting level of 2.1V. It will work well if V
(10 ms or less). In many critical applications, however, additional components are
required to provide solutions on probable power-up problems.
4.18.1 External Power-on Reset Circui t
Word 1
Bit 12~Bit 0
XXXXXXXXXXXXX
Word 2
Bit 12~Bit 0
XXXXXXXXXXXXX
DD rises fast enough
The circuit shown in Fig. 34 use an external RC to produce the reset pulse. The pulse
width (time constant) should be kept long enough for V
voltage. This circuit is used when the power supply has slow rise time. Because the
Product Specification
(This specification is subject to change without further notice)
(V1.0) 07 . 26.20 05 • 59
DD to reach minimum operation
EM78P809N
8-Bit Microcontroller
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.
Vdd
/RESET
R
D
EM78P809N
Rin
C
Fig. 35. External Power-Up Reset Circuit
4.18.2 Residue-Voltage Protection
When battery is replaced, device power (VDD) is taken off but residue-voltage remains.
The residue-voltage may trip below V
cause a poor power-on reset. Fig.35 and Fig.36 show how to build the residue-voltage
protection circuit.
Vdd
EM78P809N
/RESET
DD minimum, but not to zero. This condition may
33K
Q1
10K
Vdd
40K
1N4684
Fig. 36. Residue Voltage Protection Circuit 1
•Product Specification (V1.0) 07.26.2005
60
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Vdd
EM78P809N
/RESET
4.19 Instruction Set
Each instruction in the instruction set is a 13-bit word divided into an OP code and one
or more operands. Normally, all instructions are executed within one single instruction
cycle (one instruction consists of 2 oscillator periods), unless the program counter is
changed by instruction "MOV R2,A", "ADD R2,A", or by instructions of arithmetic or
In case the instruction cycle specification is not suitable for certain applications, try to
modify the instruction as follows:
R1
Q1
40K
Fig 37. Residue Voltage Protectio n Circuit 2
R2
Vdd
⋅⋅⋅⋅). In this case, the
(A) Change one instruction cycle to consist of 4 oscillator periods.
(B) The following commands are executed within two instruction cycles; "JMP",
"CALL", "RET", "RETL", "RETI", including the conditional skip ("JBS", "JBC", "JZ",
"JZA", "DJZ", "DJZA") instructions. In addition, instructions that are written to the
program counter are executed within two instruction cycles.
Case (A) is selected by the CODE Option bit, called CLK. One instruction cycle
consists of two oscillator clocks if CLK is low, and four oscillator clocks if CLK is high.
Note that once the 4 oscillator periods within one instruction cycle is selected as in
Case (A), the internal clock source to TCC should be CLK=Fosc/4, not Fosc/2.
Furthermore, the instruction set has the following features:
(1) Every bit of any register can be set, cleared, or tested directly.
(2) The I/O register can be regarded as general register. That is, the same instruction
can operate on I/O register.
The symbol "R" represents a register designator that specifies which one of the
registers (including operational registers and general purpose registers) is to be utilized
by the instruction. "b" represents a bit field designator that selects the value for the bit
which is located in the register "R", and affects the operation. "k" represents an 8 or
10-bit constant or literal value.
Product Specification
(This specification is subject to change without further notice)
(V1.0) 07 . 26.20 05 • 61
EM78P809N
8-Bit Microcontroller
Binary Instru c tion 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
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
0 0001 10rr rrrr 01rr DECA R
0 0001 11rr rrrr 01rr DEC R
0 0010 00rr rrrr 02rr OR A, R
0 0010 01rr rrrr 02rr OR R, A
0 0010 10rr rrrr 02rr AND A, R
0 0010 11rr rrrr 02rr AND R, A
0 0011 00rr rrrr 03rr XOR A, R
0 0011 01rr rrrr 03rr XOR R, A
0 0011 10rr rrrr 03rr ADD
0 0011 11rr rrrr 03rr ADD
0 0100 00rr rrrr 04rr MOV
0 0100 01rr rrrr 04rr MOV R,
0 0100 10rr rrrr 04rr COMA
0 0100 11rr rrrr 04rr COM
0 0101 00rr rrrr 05rr INCA
0 0101 01rr rrrr 05rr INC
0 0101 10rr rrrr 05rr DJZA
0 0101 11rr rrrr 05rr DJZ
0 0110 00rr rrrr 06rr RRCA R
0 0110 01rr rrrr 06rr RRC R
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 JZA R
0 0111 11rr rrrr 07rr JZ R
0 100b bbrr rrrr 0xxx BC R, b
0 101b bbrr rrrr 0xxx BS R, b
0 110b bbrr rrrr 0xxx JBC R, b if R(b)=0, skip None
0 111b bbrr rrrr 0xxx JBS R, b if R(b)=1, skip None
1 00kk kkkk kkkk 1kkk CALL k
1 01kk kkkk kkkk 1kkk JMP k
[Top of Stack]
Enable Interrupt
R-A
R-1
R-1
A
A
A & R
A & R
A
A
A, R
R, A
A, R
R
/R → A Z
R
/R → R Z
R
R+1 → A Z
R
R+1 → R Z
R
R-1 → A, skip if zero None
R
R-1 → R, skip if zero None
R
A + R → A Z,C,DC
A + R → R Z,C,DC
R(n)
R(0) → C, C → A(7)
R(n)
→ C, C → R(7)
R(0)
R(n)
→ C, C → A(0)
R(7)
R(n)
→ (C), C → (R(0)
R(7)
R(0-3)
R(4-7)
R(0-3)
→ A, skip if zero
R+1
→ R, skip if zero
R+1
0
1
PC+1
(Page, k)
(Page, k)
→ PC,
→ R
None
Z,C,DC
→ A
→ R
∨ R → A
∨ R → R
→ A
→ R
⊕ R → A
⊕ R → R
R → A Z
R → R Z
→ A(n-1),
→ R(n-1),
→ A(n+1),
→ R(n+1),
→ ( A(4-7),
→ ( A(0-3)
→ ( R(4-7)
→ ( R(b)
→ ( R(b)
→ [SP],
→ (PC)
→ (PC)
None
None
None
None
None
None
None
None
Z
Z
Z
Z
Z
Z
Z
Z
C
C
C
C
• Product Specification (V1.0) 07.26.2005
62
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Binary Instru c tion Hex Mnemonic Operation Status Affected
1 1000 kkkk kkkk 18kk MOV A, k
1 1001 kkkk kkkk 19kk OR A, k
1 1010 kkkk kkkk 1Akk AND A, k
1 1011 kkkk kkkk 1Bkk XOR A, k
1 1100 kkkk kkkk 1Ckk RETL k
1 1101 kkkk kkkk 1Dkk SUB A, k
1 1111 kkkk kkkk 1Fkk ADD A, k
1 1110 1000 kkkk 1E8k PAGE k K->R5(6:4) None
1 1110 1001 kkkk 1E9k BANK k K->R4(7:6) None
→ A, [Top of Stack] → PC
k
k
→ A
A v k
A & k
⊕ k → A
A
k-A
k+A
→ A
→ A
→ A
→ A
None
None
Z,C,DC
Z,C,DC
Note1: This instruction is applicable to IOC6 ~ IOCA, IMR1, IMR2 only.
5 Absolute Maximum Ratings
5.1 Absolute Maximum Ratings
Items Rating
Temperature under bias -40°C to 85°C
Storage temperature -65°C to 150°C
Input voltage -0.3V to +6.0V
Output voltage -0.3V to +6.0V
Operating Frequency (2clk) DC to 10MHz
Z
Z
Z
5.2 Recommended Operating Conditions
( Vss = 0V )
Symbol Parameter C ondition Min. Typ. Max. Unit
VDD Supply Voltage
Fc
Crystal: VDD 4.5 to 5.5V 1 10
Crystal: VDD 2.5 to 5.5V
Fc = 10MHz 4.0
Fc = 4MHz 2.5
Two cycles with two clocks
5.5 V
MHz
1 4
Product Specification
(This specification is subject to change without further notice)
(V1.0) 07 . 26.20 05 • 63
EM78P809N
8-Bit Microcontroller
6 Electrical Characteristics
6.1 DC Electrical Characteristics
(Ta= 25 °C, VDD= 5.0V ± 5%, VSS= 0V)
Symbol Parameter Condition Min. Typ. Max. Unit
Fc XTAL: 4.5V to VDD Two cycles with two clocks 1 10 MHz
IRC1 Sink current VI from low to high , VI=5V 7 9.5 12 uA
VILRC
IRC2 Sink current VI from high to low , VI=2V 6 8.5 11 uA
IIL
VIH1
VIL1
VIHT2
VILT2
VIHX1 Clock Input High Voltage LOSCI,OSCI in crystal mode 0.7 VDD VDD +0.3V V
VILX1 Clock Input Low Voltage LOSCI,OSCI in crystal mode -0.3V 0.3 VDD V
IOH1
IOL1
IOL2
IPH Pull-high current Pull-high active, input pin at VSS -15 -23 -31 uA
IPL Pull-low current Pull-low active, input pin at VDD 15 23 30 uA
ISB1
ISB2
ICC3
ICC4
Input High Threshold
Voltage (Schmitt trigger)
Input Low Threshold
Voltage (Schmitt trigger)
Input Leakage Current for
input pins
Input High Voltage
(Schmitt trigger)
Input Low Voltage
(Schmitt trigger)
Input High Threshold
Voltage (Schmitt trigger)
Input Low Threshold
Voltage (Schmitt trigger)
Output High Voltage
(Ports 6, 7, 8, 9)
Output Low Voltage
(Ports9)
Output Low Voltage
(Ports 6,Port7, Port8)
Sleep mode
Power down current
Sleep mode
Power down current
Idle mode
Operating supply current
at two clocks
Normal mode
Operating supply current at
two clocks
OSCI in RC mode 1.6 2.3 2.8 V
OSCI in RC mode 0.7 1 1.3 V
VIN = VDD, VSS -1 0 1 μA
Ports 6,7,8,9,A 0.7VDD VDD+0.3V V
Ports 6,7,8,9,A -0.3V 0.3VDD V
/RESET, TCC 0.7 VDD VDD +0.3V V
/RESET, TCC -0.3V 0.3 VDD V
VOH = VDD-0.4V -2 -3.5 -5 mA
VOL = VSS+0.4V 2 3.5 5 mA
VOL = VSS+0.4V 10 13 16 mA
All input and I/O
pins at VDD,
output pin floating
VDD=3V, /RESET= 'High',
Fc=4MHz, CLKS="0", output pin
floating, WDT enabled
WDT disabled0.4 0.8 μA
WDT enabled1.5 3 μA
0.3 0.5 mA
1.1 1.5 mA
*The typical value is based on characterization results at 25°C
Product Specification
(This specification is subject to change without further notice)
(V1.0) 07 . 26.20 05 • 65
EM78P809N
8-Bit Microcontroller
A/D Converter Characteristic (VDD =2.5V to 5.5V, Vss=0V, Ta = -40 to 85℃)