EMC EM78P468N

EM78P468N
OTP ROM
EM78P468N
8-BIT MICRO-CONTROLLER
Version 1.0
EM78P468N
OTP ROM
Version
1.0
Specification Revision History
Content
Initial version
2004/4/10
Application Note
This specification is subject to change without prior notice.
2
04.10.2004 (V1.0)
EM78P468N
OTP ROM
1. GENERAL DESCRIPTION
The EM78P468N is an 8-bit RISC type microprocessor with high speed CMOS technology and low
power consumption. Integrated onto a single chip are on chip watchdog (WDT), Data RAM, ROM,
programmable real time clock counter, internal/external interrupt, power down mode, LCD driver
IROUT function, and tri-state I/O. It provides a PROTECTION bit to protect against intrusion of user’s
code in the OTP memory and a 10-OPTION bit to accommodate user’s requirements. It also provides a
especial 13 bits customer ID option.
With its OTP-ROM feature, the EM78P468N offers a convenient way of developing and verifying user’s
programs. Moreover, user developed code can be easily programmed with the ELAN writer.
2. FEATURES
CPU
Operating voltage range : 2.2V∼5.5V
Operating temperature range: -40°C ~ +85°C.
Dual clock operation
High frequency oscillator can select between Crystal, RC, or PLL (phase lock loop)
Low frequency oscillator can select between Crystal or RC mode
Totally 272 bytes SRAM
144 bytes general purpose register
128 bytes bits on chip data RAM
4K*13 bits on chip Electrical OTP-ROM (One Time Programmable Read Only Memory).
Up to 28 bi-directional tri-state I/O ports
Typically, 12 bi-directional tri-state I/O ports.
16 bi-directional tri-state I/O ports shared with LCD segment output pin.
8-level stack for subroutine nesting
8-bit real time clock/counter (TCC)
One IROUT/PWM generator
Four sets of 8 bit auto reload counter/timer can be used as interrupt sources
Counter 1: independent counter
Counter 2, High Pulse Width Timer (HPWT), and Low Pulse Width Timer (LPWT) shared with IR
function
This specification is subject to change without prior notice.
3
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Programmable free running on chip watchdog timer (WDT)
Low voltage detector (LVD)
Operation modes
Normal mode :CPU operate on high frequency oscillator
Green mode :CPU operate on low frequency oscillator
Idle mode :CPU idle, LCD display remains working
Sleep mode :whole chip stop working
Input port wake up function (PORT6, PORT8)
9 interrupt sources, 3 external, 6 internal
Internal: TCC; Counter1, 2; High pulse width timer; Low pulse width timer; & Low voltage detector
External: INT0, INT1, & Pin change wake-up (Port 6 and Port 8)
59 pin dice/ 64 pin QFP package
LCD
Common driver pins: 4
Segment driver pins: 32
1/3, 1/2 bias
1/4, 1/3, 1/2 duty
Applications
Remote control for air conditioner
Health care
Home appliances
This specification is subject to change without prior notice.
4
04.10.2004 (V1.0)
EM78P468N
OTP ROM
P6.7
P6.6
P6.5
P6.4
P6.3
P6.2
P6.1
P6.0
P5.7/ IROUT
NC
45
44
43
42
41
40
39
38
37
36
P5.5/ INT1
SEG31/ P8.7
46
33
NC
47
NC
NC
48
P5.6/ TCC
NC
49
34
SEG30/ P8.6
50
35
SEG29/ P8.5
51
3. PIN ASSIGNMENTS
SEG28/ P8.4
52
32
P5.4/ INT0
SEG27/ P8.3
53
31
XOUT
SEG26/P8.2
54
30
XIN
SEG25/P8.1
55
29
VDD
SEG24/P8.0
56
28
OSCO
SEG23/P7.7
57
27
R-OSCI
SEG22/P7.6
58
SEG21/P7.5
59
SEG20/P7.4
SEG19/P7.3
EM78P468N
64 QFP
10
11
12
13
14
15
16
17
18
19
SEG 5
SEG 4
SEG 3
SEG 2
SEG 1
SEG 0
COM 3
COM 2
COM 1
9
SEG 6
8
SEG 7
COM 0
SEG 8
20
7
64
6
SEG16/ P7.0
SEG 9
VB
SEG 10
VA
21
5
22
63
SEG 11
62
SEG17/ P7.1
4
SEG18/ P7.2
3
VLCD 2
SEG 12
VLCD 3
23
SEG 13
24
61
2
60
1
/RESET
SEG 14
GND
25
SEG 15
26
Fig. 1 EM78P468N Pin Configuration for 64 Pin QFP Package
Table 1 Pin Description
PIN
PIN number
29
26
I/O type
I
I
R-OSCI
27
I
OSCO
28
O
Xin
30
I
Xout
31
O
/RESET
25
I
VDD
GND
Description
* Power supply pin
* System ground pin
* In crystal mode: crystal input
* In RC mode: resistor pull high.
* In PLL mode: connect 0.01μF capacitance to GND
* Must be pull high or low when high frequency is not use
* In crystal mode: crystal output
* In RC mode: instruction clock output
* Must be pull high or low when high frequency is not use.
*In crystal mode: Input pin for sub-oscillator. Connect to a
32.768KHz crystal
* RC mode: this pin is connected with a resistor to high level.
* In crystal: Connect to a 32.768KHz crystal
* In RC mode: instruction clock output
* Low active. If set as /RESET and remains at logic low, the
devices will be reset
This specification is subject to change without prior notice.
5
04.10.2004 (V1.0)
EM78P468N
OTP ROM
PIN
PIN number
I/O type
P5.4/INT0
P5.5/INT1
32
33
I/O
P5.6/TCC
34
I/O
P5.7/IROUT
37
I/O
P6.0
~
P6.7
38~45
I/O
COM3~0
SEG0~SEG15
SEG16/P7.0
~
SEG23/P7.7
SEG24/P8.0
~
SEG30/P8.6
SEG31/P8.7
VB
VA
VLCD2
VLCD3
17~20
16~1
64
~
57
56
~
50
46
21
22
23
24
O
O
O/(I/O)
Description
* General purpose I/O pin. /external interrupt.
* INT0 interruption source can be set to falling or rising edge by
IOC81 register bit 7 (INT_EDGE).
* INT1 interruption source is a falling edge signal.
* All pins wake up from sleep mode when the pin status
changes.
* General purpose I/O/ external counter input
* This pin works in idle mode.
* General purpose I/O pin or IR mode output pin,
* Capable of sinking 20mA/5V.
* General purpose I/O pin.
* Pull-high/ pull-low/ Open drain function support.
* All pins can wake up from sleep and idle modes when the
pin status changes.
* LCD common output pin.
* LCD segment output pin.
* LCD segment output pin. Can be shared with general purpose
I/O pin
* LCD segment output pin. Can be shared with general I/O pin
* For general purpose I/O use, can wake up from sleep mode
O/(I/O)
and idle mode when the pin status changes.
* For general purpose I/O use, supports pull-low function.
* Connect capacitors for LCD bias voltage
* Connect capacitors for LCD bias voltage
I/O (Power) * One of LCD bias voltage
I/O (Power) * One of LCD bias voltage
This specification is subject to change without prior notice.
6
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4. FUNCTION DESCRIPTION
CPU
Data RAM
Timing Control
ROM
LCD driver
LCD
IO PORT
IO
Oscillator
PLL/Crystal/RC
IR/PWM
Xout
Xin
OSCO
R-OSCI
Timer/ Counter
Oscillator Timing
Control
ROM
WDT timer
STACK
Interruption
register
R1 (TCC)
General RAM
Control w ake-up
on I/O port
R2
Interruption
control
ALU
Instruction
decoder
R3
R4
ACC
Data & Control BUS
128 byte
Data RAM
LCD RAM
PORT5
IOC5
Common
driver
Segment
driver
PORT6
R
5
IOC6
PORT7
R
6
IOC9
PORT8
R
7
IOC9
R
8
Fig. 2 System Block Diagram
This specification is subject to change without prior notice.
7
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.1 Operational Registers
1. R0 (Indirect Addressing Register)
R0 is not a physically implemented register. It is used as indirect addressing pointer. Any instructtion using R0 as register actually accesses the data pointed by the RAM Select Register (R4).
2. R1 (Time Clock /Counter)
Increases by an external signal edge applied to TCC, or by the instruction cycle clock.
Written and read by the program as any other register.
3. R2 (Program Counter)
* The structure is depicted in Fig. 3
* Generates 4K × 13 on-chip ROM addresses to the relative programming instruction codes.
* "JMP" instruction allows direct loading of the low 10 program counter bits.
* "CALL" instruction loads the low 10 bits of the PC and PC+1, then push it into the stack.
* "RET'' ("RETL k", "RETI") instruction loads the program counter with the contents at the top of
stack.
* "MOV R2, A" allows the loading of an address from the A register to the PC. The contents of the
ninth and tenth bits do not change.
* "ADD R2, A" allows a relative address be added to the current PC. The contents of the ninth and
tenth bits do not change.
* The most significant bit (A10~A11) will be loaded with the content of bits PS0~PS1 in the Status
register (R3) upon execution of a "JMP'' or "CALL'' instruction.
R3
PC
00 PAGE0 0000~03FF
01 PAGE1 0400~07FF
10 PAGE2 0800~0BFF
A10
A9 A8
CALL
RET
RETL
RETI
A7
~
A0
STACK LEVEL 1
STACK LEVEL 2
STACK LEVEL 3
Reset v ector
000H
TCC ov erf low interrupt v ector
003H
Exteral INT0 pin interrupt v ector
006H
Exteral INT1 pin interrupt v ector
009H
Counter 1 underf low interrupt v ector
00CH
Counter 2 underf low interrupt v ector
00FH
high pulse width timer underf low interrupt v ector 012H
low pulse width timer underf low interrupt v ector 015H
STACK LEVEL 4
STACK LEVEL 5
Port 6,Port8 pin change wake-up interrupt v ector 018H
01BH
Low v oltage detector interrupt v ector
STACK LEVEL 6
STACK LEVEL 7
STACK LEVEL 8
User Memory Space
11 PAGE3 0C00~0FFF
A11
On-Chip Program memory
FFFH
Fig. 3 Program Counter Organization
This specification is subject to change without prior notice.
8
04.10.2004 (V1.0)
EM78P468N
OTP ROM
ADDRESS
0 0 R0 (Indirect Addressing Register)
0 1 R1 (Time Clock Counter)
0 2 R2 (P rogram Counter)
0 3 R3 (Status Register)
0 4 R4 (RAM select register)
0 5 R5 (P ort5 & IOCP AGE )
0 6 R6 (P ort6)
0 7 R7 (P ort7)
0 8 R8 (P ort8)
0 9 R9 (LCD control register)
0 A RA (LCD address)
0 B RB (LCD data buffer)
0 C RC (LVD control & Counter enable)
0 D RD (system & P LL/Booster frequency )
0 E RE (IR & INT0/1,TCC control)
0 F RF (interrupt status register)
R5 bit 0 -> 0
control re giste r page 0
R5 bit 0 -> 1
control re giste r page 1
IOC50 (P ort5 I/O control & LCD segment)
IOC60 (P ort6 I/O control )
IOC61(Wake up & P 5.7 sink current)
IOC70 (P ort7 I/O control )
IOC71(TCC & INT0 control register)
IOC80 (P ort8 I/O control )
IOC81(WDT control register)
IOC90 (128 byte RAM addressl )
IOC91(Counter 1,2 control)
IOCA0 (128 byte RAM data bufferl)
IOCA1(high/low pulse width timer control)
IOCB0 (Counter 1 preset)
IOCB1(P ort 6 pull-high control)
IOCC0 (Counter 2 preset)
IOCC1(P ort 6 open drain control)
IOCD0 (High-pulse width timer preset)
IOCD1(P ort 8 pull-high control)
IOCE0 (Low-pulse width timer preset)
IOCE1(P ort 6 pull-down control)
IOCF0 (interrupt mask register)
IOCF1 (interrupt mask register)
10
|
1F
16 byte common register
LCD RAM 4*32 bits
20
|
3F
bank 0 ~ bank 3
32 byte common register
128 byte data RAM
Fig. 4 Data Memory Configuration
4. R3 (Status Register)
Bit 7
--
Bit 6
PS1
Bit 5
PS0
Bit 4
T
Bit 3
P
Bit 2
Z
Bit 1
DC
Bit 0
C
Bit 7: Not used
Bit 6, 5 (PS1, 0): Page select bits
PS1
0
0
1
1
PS0
0
1
0
1
Program memory page (Address)
Page 0
Page 1
Page 2
Page 3
User can use PAGE instruction to change page and maintains the program page. Otherwise, user
can use “far jump” (FJMP) or “far call” (FCALL) MACRO to program user's code. The program
page is maintained by EMC's complier. It changes the user's program by inserting instructions
within the program.
This specification is subject to change without prior notice.
9
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Bit 4 (T): Time-out bit. Set to 1 by the "SLEP" and "WDTC" commands or during power up and
reset to 0 by WDT timeout.
EVENT
WDT wake up from sleep mode
WDT time out (not sleep mode)
/RESET wake up from sleep
Power up
Low pulse on /RESET
T
0
0
1
1
X
P
0
1
0
1
X
REMARK
X: don't care
Bit 3 (P): Power down bit. Set to 1 during power on or by a "WDTC" command and reset to 0 by a
"SLEP" command.
Bit 2 (Z): Zero flag
Bit 1 (DC): Auxiliary carry flag
Bit 0 (C): Carry flag
5. R4 (RAM Select Register)
Bits 7 ~ 6 determine which bank is activated among the 4 banks. See the configuration of the
data memory in Fig.4. Use BANK instruction to change bank.
Bits 5 ~ 0 are used to select up to 64 registers in the indirect addressing mode.
6. R5 (PORT5 and Program Page Select Register)
Bit 7
R57
Bit 6
R56
Bit 5
R55
Bit 4
R54
Bit 3
--
Bit 2
--
Bit 1
--
Bit 0
IOCPAGE
Bit 7~4: 4-bit I/O registers of PORT5
Bit 3~1: Not used
Bit 0 (IOCPAGE): change IOC8 ~ IOCF to another page, 0/1 => page0 / page1
7. R6 (PORT6)
Bit 7
R67
Bit 6
R66
Bit 5
R65
Bit 4
R64
Bit 3
R63
Bit 2
R62
Bit 1
R61
Bit 0
R60
Bit 4
R74
Bit 3
R73
Bit 2
R72
Bit 1
R71
Bit 0
R70
Bit 4
R84
Bit 3
R83
Bit 2
R82
Bit 1
R81
Bit 0
R80
Bit 7~0: PORT 6 8-bit I/O registers
8. R7 (PORT7)
Bit 7
R77
Bit 6
R76
Bit 5
R75
Bit 7~0: PORT 7 8-bit I/O registers
9. R8 (PORT8)
Bit 7
R87
Bit 6
R86
Bit 5
R85
Bit 7~0: PORT 8 8-bit I/O registers
This specification is subject to change without prior notice.
10
04.10.2004 (V1.0)
EM78P468N
OTP ROM
10. R9 (LCD Control Register)
Bit 7
BS
Bit 6
DS1
Bit 5
DS0
Bit 4
LCDEN
Bit 3
--
Bit 2
Bit 1
LCDTYPE LCDF1
Bit 0
LCDF0
Bit 7 (BS): LCD bias select bit, 0/1=>(1/2 bias) / (1/3 bias)
Bit 6,5 (DS1, 0): LCD duty select
DS1
0
0
1
DS0
0
1
X
LCD duty
1/2 duty
1/3 duty
1/4 duty
Bit 4 (LCDEN): LCD enable bit: 0/1 -> LCD circuit disable/enable. When LCD function is disabled,
all common/segment outputs are set to ground (GND) level.
Bit 3: Not used
Bit 2 (LCDTYPE): LCD drive waveform type select bit
0: A type waveform
1: B type waveform
Bit 1, 0(LCDF1, 0): LCD clock pre-scaler ratio control bit
LCDF1
LCDF0
0
0
1
1
0
1
0
1
LCD frame frequency (Fs=32.768KHz)
1/2 duty
1/3 duty
1/4 duty
Fs/(256*2)=64.0
Fs/(172*3)=63.5
Fs/(128*4) =64.0
Fs/(280*2)=58.5
Fs/(188*3)=58.0
Fs/(140*4) =58.5
Fs/(304*2)=53.9
Fs/(204*3)=53.5
Fs/(152*4) =53.9
Fs/(232*2)=70.6
Fs/(156*3)=70.0
Fs/(116*4) =70.6
Fs: sub-oscillator frequency
11. RA (LCD Address)
Bit 7
0
Bit 6
0
Bit 5
0
Bit 4
LCD_A4
Bit 3
LCD_A3
Bit 2
LCD_A2
Bit 1
LCD_A1
Bit 0
LCD_A0
Bit 7 ~ 5: Not used, fixed to “0”
Bit 4~0 (LCDA4~0): LCD RAM address
RB (LCD data buffer)
RA
Segment
Bit 3
Bit 2
Bit 1
Bit 0
(LCD address) Bit 7 Bit 6 Bit 5 Bit 4
(LCD_D3) (LCD_D2) (LCD_D1) (LCD_D0)
----00H
SEG0
01H
02H
|
1EH
1FH
Common
---
---
---
---
---X
---X
---X
---X
SEG1
SEG2
|
SEG29
SEG30
SEG31
|
This specification is subject to change without prior notice.
COM3
11
COM2
COM1
COM0
04.10.2004 (V1.0)
EM78P468N
OTP ROM
12. RB (LCD Data Buffer)
Bit 7
--
Bit 6
--
Bit 5
--
Bit 4
--
Bit 3
Bit 2
Bit 1
Bit 0
LCD_D 3 LCD_D 2 LCD_D 1 LCD_D 0
Bit 7 ~ 4: Not used
Bit 3~0 (LCD_D3~0): LCD RAM data transfer register
13. RC (LVD Control and Counter Enable Register)
Bit 7
LVDEN
Bit 6
/LV
Bit 5
LVDF
Bit 4
LVD0
Bit 3
Bit 2
Bit 1
Bit 0
LPWTEN HPWTEN CNT2EN CNT1EN
Bit 7(LVDEN): Enable low voltage detector.
1: enable LVD function.
0: disable LVD function.
Bit 6(/LV): Low voltage detector. This is a read only bit. When the VDD pin voltage is lower than
Vdet (selected by LVD0), this bit will be cleared.
0: the low voltage is detected.
1: the low voltage is not detected or LVD function is disabled.
Bit 5 (LVDF): interrupt flag of Low voltage detector.
Bit 4(LVD0): the low voltage detector select bits
LVD0
0
1
Vdet
2.1 V
2.3 V
LVD0=0: if Vdet voltage drops lower than 2.1V or rises higher than 2.3V, then interrupt occurs.
LVD0=1: if Vdet voltage drops lower than 2.3V or rises higher than 2.5V, then interrupt occur.
Bit 3(LPWTEN): low pulse width time enable bit, 0/1 => disable/enable
Bit 2(HPWTEN): high pulse width timer enable bit, 0/1 => disable/enable
Bit 1(CNT2EN): counter 2 enable bit, 0/1 => disable/enable
Bit 0(CNT1EN): counter 1 enable bit, 0/1 => disable/enable
14. RD (System Clock, Booster Frequency, and PLL Frequency Control
Registers)
Bit 7
--
Bit 6
CLK2
Bit 5
CLK1
Bit 4
CLK0
Bit 3
IDLE
Bit 2
BF1
Bit 1
BF0
Bit 0
CPUS
Bit 7: Not used
This specification is subject to change without prior notice.
12
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Bit 6~4 (CLK2~0): main clock select bit for PLL mode (code option select)
CLK2
0
0
0
0
1
CLK1
0
0
1
1
--
CLK0
0
1
0
1
--
Main clock
32.768K*130=4.26 MHz
32.768K*65=2.13 MHz
2.13MHz/2
2.13MHz/4
32.768K*244=8 MHz
Bit 3 (IDLE): idle mode enable bit. This bit will decide the intended mode of the SLEP instruction.
IDLE=”0”+SLEP instruction => sleep mode
IDLE=”1”+SLEP instruction => idle mode
Bit 2,1 (BF1, 0): LCD booster frequency select bit
BF1
0
0
1
1
BF0
0
1
0
1
Booster frequency
Fs
Fs/4
Fs/8
Fs/16
Bit 0 (CPUS): CPU oscillator source select, 0/1=> sub-oscillator (Fs)/ main oscillator (Fm)
When CPUS=0, the CPU oscillator select sub-oscillator and the main oscillator is stopped.
CPU Operation Mode
Code option
HLFS=1
Normal Mode
Code option
HLFS=0
fm:oscillation
fs: oscillation
it must delay a little times for the main
oscillation stable w hile your system timing
control is conscientious
RESET
CPU: using fosc
CPUS="0"
CPUS="1"
SLEEP Mode
IDLE="0"
SLEP
Fm:stop
Fs: stop
CPU: stop
Green Mode
IDLE="1"
SLEP
fm:stop
fs: oscillation
Wake up
CPU: using fs
The w ake up time from sleep to green mode is
approximately 18ms+16*1/fs
IDLE Mode
fm:stop
fs: oscillation
w ake up
CPU: stop
The w ake up time from idle to green
mode is 16*1/fs
Fig. 5 CPU Operation Mode
This specification is subject to change without prior notice.
13
04.10.2004 (V1.0)
EM78P468N
OTP ROM
15. RE (IR Control and PORT5 Function Pins Set Register)
Bit 7
IRE
Bit 6
HF
Bit 5
LGP
Bit 4
--
Bit 3
IROUTE
Bit 2
TCCE
Bit 1
EINT1
Bit 0
EINT0
Bit 7 (IRE): Infrared Remote Enable bit
0: Disable IRE. Disable H/W Modulator Function. IROUT pin fixed to high level
1: Enable IRE. Enable H/W Modulator Function. Pin 6.7 defined as IROUT.
Bit 6 (HF): High frequency.
0: For PWM application, IROUT waveform is created according to high-pulse and low-pulse
width time as determined by the high pulse and low pulse width timers respectively.
1: For IR application mode, the low time sections of the generated pulse is modulated with
the frequency Fcarrier,
Bit 5 (LGP): long pulse.
0: the high-pulse timer register and low-pulse width timer is valid.
1: The high-pulse width timer register is ignored. So the IROUT waveform is dependent on
low-pulse width timer register only
Bit 4: Not used
Bit 3 (IROUTE): control bit is used to define the function of P5.7 (IROUT) pin.
0: P5.7, bi-directional I/O pin.
1: IROUT, in this case, the I/O control bit of P5.7 (bit 7 of IOC5) must be set to “0”
Bit 2 (TCCE): control bit is used to define the function of P5.6 (TCC) pin.
0: P5.6, bi-directional I/O pin.
1: TCC, external input pin of TCC. In this case, the I/O control bit of P5.6 (bit 6 of IOC5)
must be set to “1”
Bit 1 (EINT1): control bit is used to define the function of P5.5 (INT1) pin.
0: P5.5, bi-directional I/O pin.
1: INT1, external interrupt pin. In this case, the I/O control bit of P5.5 (bit 5 of IOC5) must be
set to “1”
Bit 0 (EINT0): control bit is used to define the function of P5.4 (INT0) pin.
0: P5.4, bi-directional I/O pin.
1: INT0, external interrupt pin. In this case, the I/O control bit of P5.4 (bit 4 of IOC5) must be
set to “1”
This specification is subject to change without prior notice.
14
04.10.2004 (V1.0)
EM78P468N
OTP ROM
16. RF (Interrupt Status Register)
Bit 7
ICIF
Bit 6
LPWTF
Bit 5
HPWTF
Bit 4
CNT2F
Bit 3
CNT1F
Bit 2
INT1F
Bit 1
INT0F
Bit 0
TCIF
Bit 7 (ICIF): Port 6, Port 8, input status changed interrupt flag. Set when PORT6, PORT8 input
changes.
Bit 6 (LPWTF): interrupt flag of internal low-pulse width timer underflow.
Bit 5 (HPWTF): interrupt flag of internal high-pulse width timer underflow.
Bit 4 (CNT2): interrupt flag of internal counter 2 under-flow.
Bit 3 (CNT1): interrupt flag of internal counter 1 underflow.
Bit 2 (INT1F): external INT1 pin interrupt flag.
Bit 1 (INT0F): external INT0 pin interrupt flag.
Bit 0 (TCIF): TCC timer overflow interrupt flag. Set when TCC timer overflows.
17. R10~R3F (General Purpose Register)
R10~R31F and R20~R3F (Banks 0~3) are general purposes register.
4.2 Special Purpose Registers
1. A (Accumulator)
* Internal data transfer, or instruction operand holding
* This is not an addressable register.
2. IOC50 (PORT5 I/O Control and PORT7, 8 for LCD Segment Control Register)
Bit 7
IOC57
Bit 6
IOC56
Bit 5
IOC55
Bit 4
IOC54
Bit 3
P8HS
Bit 2
P8LS
Bit 1
P7HS
Bit 0
P7LS
Bit 7~4(IOC57~4): PORT5 I/O direction control register
0: set the relative I/O pins as output
1: set the relative I/O pin into high impedance (input pin)
Bit 3(P8HS): Switch to high nibble I/O of Port8 or to LCD segment output as share pins
SEGxx/P8.x pins
0: select high nibble of PORT8 as normal P8.4~P8.7
1: select LCD SEGMENT output as SEG28~SEG31 output
Bit 2(P8LS): Switch to low nibble I/O of Port8 or to LCD segment output as share pins
SEGxx/P8.x pins
0: select low nibble of PORT8 as normal P8.0~P8.3
1: select LCD SEGMENT output as SEG24~SEG27 output
This specification is subject to change without prior notice.
15
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Bit 1(P7HS): Switch to high nibble I/O of Port7 or to LCD segment output as share pins
SEGxx/P7.x pins
0: select high nibble of PORT7 as normal P7.4~P7.7
1: select LCD SEGMENT output as SEG20~SEG23 output
Bit 0(P7LS): Switch to low nibble I/O of PORT7 or to LCD segment output as share pins
SEGxx/P7.x pins
0: select low nibble of PORT7 as normal P7.0~P7.3
1: select LCD SEGMENT output as SEG16~SEG19 output
3. IOC60 (PORT6 I/O Control Register)
Bit 7
IOC67
Bit 6
IOC66
Bit 5
IOC65
Bit 4
IOC64
Bit 3
IOC63
Bit 2
IOC62
Bit 1
IOC61
Bit 0
IOC60
Bit 1
IOC71
Bit 0
IOC70
Bit 1
IOC81
Bit 0
IOC80
Bit 7 (IOC67)~Bit 0(IOC60): PORT6 I/O direction control register
0: set the relative I/O pins as output
1: set the relative I/O pin into high impedance (input pin)
4. IOC70 (PORT7 I/O Control Register)
Bit 7
IOC77
Bit 6
IOC76
Bit 5
IOC75
Bit 4
IOC74
Bit 3
IOC73
Bit 2
IOC72
Bit 7 (IOC77)~Bit 0(IOC70): PORT7 I/O direction control register
0: set the relative I/O pins as output
1: set the relative I/O pin into high impedance (input pin)
5. IOC80 (PORT8 I/O Control Register)
Bit 7
IOC87
Bit 6
IOC86
Bit 5
IOC85
Bit 4
IOC84
Bit 3
IOC83
Bit 2
IOC82
Bit 7 (IOC87)~Bit 0(IOC80): PORT8 I/O direction control register
0: set the relative I/O pins as output
1: set the relative I/O pin into high impedance (input pin)
6. IOC90 (128 Bytes RAM Address)
Bit 7
0
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RAM_A6 RAM_A5 RAM_A4 RAM_A3 RAM_A2 RAM_A1 RAM_A0
Bit 7: Not used, fixed at “0”
Bit 6~0: 128 bytes RAM address
This specification is subject to change without prior notice.
16
04.10.2004 (V1.0)
EM78P468N
OTP ROM
7. IOCA0 (128 Bytes RAM Data Buffer)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RAM_D7 RAM_D6 RAM_D5 RAM_D4 RAM_D3 RAM_D2 RAM_D1 RAM_D0
Bit 7~0: 128 bytes RAM data transfer register
8. IOCB0 (Counter 1 Preset Register)
Bit 7
Bit 7
Bit 6
Bit 6
Bit 5
Bit 5
Bit 4
Bit 4
Bit 3
Bit 3
Bit 2
Bit 2
Bit 1
Bit 1
Bit 0
Bit 0
Bit 7 ~ Bit 0: All are Counter 1 buffer that user can read and write. Counter 1 is an 8-bit
down-counter with 8-bit pre-scaler that is used as IOCB to preset the counter and read preset
value. After an interruption, it will auto reload the preset value.
9. IOCC0 (Counter 2 Preset Register)
Bit 7
Bit 7
Bit 6
Bit 6
Bit 5
Bit 5
Bit 4
Bit 4
Bit 3
Bit 3
Bit 2
Bit 2
Bit 1
Bit 1
Bit 0
Bit 0
Bit 7 ~ Bit 0: All are Counter 2 buffer that user can read and write. The Counter 2 is an 8-bit
down-counter with 8-bit pre-scaler that is used as IOCC to preset the counter and read preset
value. After an interruption, it will reload the preset value.
When IR output is enabled, this control register can obtain carrier frequency output.
If the Counter 2 clock source is equal to FT–
Carrier frequency (Fcarrier) = FT/[2*(preset value+1)*prescaler]
10. IOCD0 (High-Pulse Width Timer Preset Register)
Bit 7
Bit 7
Bit 6
Bit 6
Bit 5
Bit 5
Bit 4
Bit 4
Bit 3
Bit 3
Bit 2
Bit 2
Bit 1
Bit 1
Bit 0
Bit 0
Bit 7 ~ Bit 0: All are high-pulse width timer buffer that user can read and write. High-pulse width
timer preset register is an eight-bit down-counter with 8-bit pre-scaler that is used as IOCD to
preset the counter and read preset value. After an interruption, it will reload the preset value.
For PWM or IR application, this control register is set as high pulse width.
If the high-pulse width source clock is FT–
the high pulse width=prescaler*(high-pulse width preset value+1)/ FT
This specification is subject to change without prior notice.
17
04.10.2004 (V1.0)
EM78P468N
OTP ROM
11. IOCE0 (Low-Pulse Width Timer Preset Register)
Bit 7
Bit 7
Bit 6
Bit 6
Bit 5
Bit 5
Bit 4
Bit 4
Bit 3
Bit 3
Bit 2
Bit 2
Bit 1
Bit 1
Bit 0
Bit 0
Bit 7 ~ Bit 0: All are low-pulse width timer buffer that user can read and write. Low-pulse width
timer preset is an eight-bit down-counter with 8-bit pre-scaler that is used as IOCE to preset the
counter and read preset value. After an interruption, it will reload the preset value.
For PWM or IR application, this control register is set as low pulse width.
If the low-pulse width timer source clock is FT–
the low pulse width=prescaler*(preset value+1)/ FT
12. IOCF0 (Interrupt Mask Register)
Bit 7
ICIE
Bit 6
LPWTE
Bit 5
HPWTE
Bit 4
CNT2E
Bit 3
CNT1E
Bit 2
INT1E
Bit 1
INT0E
Bit 0
TCIE
Bit 3
/WUE8H
Bit 2
/WUE8L
Bit 1
/WUE6H
Bit 0
/WUE6L
Bit 7~Bit 0: interrupt enable bit.
0: disable interrupt
1: enable interrupt
IOCF0 register is readable and writable.
13. IOC61 (Wake Up Register)
Bit 7
IROCS
Bit 6
--
Bit 5
--
Bit 4
--
Bit 7: IROCS: IROUT/PORT5.7 output sink current set
IROCS
0
1
P5.7/IROUT Sink current
VDD=5V
VDD=3V
10 mA
7 mA
20 mA
14 mA
Bit 6,5,4: Not used
Bit 3 (/WUE8H): 0/1=> enable/disable P8.4~P8.7 pin change wake up function
Bit 2 (/WUE8L): 0/1=> enable/disable P8.0~P8.3 pin change wake up function
Bit 1 (/WUE8H): 0/1=> enable/disable P6.4~P6.7 pin change wake up function
Bit 0 (/WUE8L): 0/1=> enable/disable P6.0~P6.3 pin change wake up function
This specification is subject to change without prior notice.
18
04.10.2004 (V1.0)
EM78P468N
OTP ROM
14. IOC71 (TCC Control Register)
Bit 7
INT_EDGE
Bit 6
INT
Bit 5
TS
Bit 4
TE
Bit 3
PSRE
Bit 2
TCCP2
Bit 1
TCCP1
Bit 0
TCCP0
Bit 7 (INT_EDGE):
0: P5.4 's (INT0) interruption source is a rising edge signal.
1: P5.4 's (INT0) interruption source is a falling edge signal.
Bit 6 (INT): INT enable flag, this bit is read only
0: interrupt masked by DISI or hardware interrupt
1: interrupt enabled by ENI/RETI instructions
Bit 5 (TS): TCC signal source
0: internal instruction cycle clock
1: transition on TCC pin, TCC period > internal instruction clock period
Bit 4 (TE): TCC signal edge
0: increment by TCC pin rising edge
1: increment by TCC pin falling edge
Bit 3 (PSRE): Prescaler Register enable bit
0: TCC rate 1:1
1: as indicated in the table below:
Bit 2~0 (TCCP2~0): TCC pre-scaler bits.
TCCP2
0
0
0
0
1
1
1
1
TCCP1
0
0
1
1
0
0
1
1
TCCP0
0
1
0
1
0
1
0
1
TCC rate
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
15. IOC81 (WDT Control Register)
Bit 7
--
Bit 6
--
Bit 5
--
Bit 4
--
Bit 3
WDTE
Bit 2
WDTP2
Bit 1
WDTP1
Bit 0
WDTP0
Bit 7 ~ 4:Not used
Bit 3 (WDTE): watchdog timer enable. This control bit is used to enable the Watchdog timer,
0: Disable WDT function.
1: enable WDT function.
This specification is subject to change without prior notice.
19
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Bit 2~0 (WDTP2~0): watchdog timer pre-scaler bits. The WDT source clock is sub-oscillation
frequency.
WDTP2
0
0
0
0
1
1
1
1
WDTP1
0
0
1
1
0
0
1
1
WDTP0
0
1
0
1
0
1
0
1
WDT rate
1:1
1:2
1:4
1:8
1:16
1:32
1:64
1:128
16. IOC91 (Counter 1, 2 Control Register)
Bit 7
CNT2S
Bit 6
CNT2P2
Bit 5
CNT2P1
Bit 4
CNT2P0
Bit 3
CNT1S
Bit 2
CNT1P2
Bit 1
CNT1P1
Bit 0
CNT1P0
Bit 7(CNT2S): Counter 2 clock source select 0/1 => Fs/ Fm*
(*Fs: sub-oscillator clock, Fm: main-oscillator clock)
Bit 6~4(CNT2P2~0): Counter 2 prescaler select bits
CNT2P2
0
0
0
0
1
1
1
1
CNT2P1
0
0
1
1
0
0
1
1
CNT1P0
0
1
0
1
0
1
0
1
Counter 2 scale
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
Bit 3(CNT1S): Counter 1 clock source select 0/1 => Fs/ Fm*
(*Fs: sub-oscillator clock, Fm: main-oscillator clock)
Bit 2~0 (CNT1P2~0): Counter 1 prescaler select bits
CNT1P2
0
0
0
0
1
1
1
1
CNT1P1
0
0
1
1
0
0
1
1
This specification is subject to change without prior notice.
CNT1P0
0
1
0
1
0
1
0
1
20
Counter 1 scale
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
04.10.2004 (V1.0)
EM78P468N
OTP ROM
17. IOCA1 (High-Pulse Width Timer, Low-Pulse Width Timer Control Register)
Bit 7
LPWTS
Bit 6
Bit 5
Bit 4
LPWTP2 LPWTP1 LPWTP0
Bit 3
Bit 2
Bit 1
Bit 0
HPWTS HPWTP2 HPWTP1 HPWTP0
Bit 7(LPWTS): low-pulse width timer clock source select 0/1 -> Fs/ Fm*
(*Fs: sub-oscillator clock, Fm: main-oscillator clock)
Bit 6~4 (LPWTP2~0): low-pulse width timer prescaler select bits
LPWTP2
0
0
0
0
1
1
1
1
LPWTP1
0
0
1
1
0
0
1
1
LPWTP0
0
1
0
1
0
1
0
1
Low--pulse width timer scale
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
Bit 3(HPWTS): high-pulse width timer clock source select 0/1 -> Fs/ Fm*
(*Fs: sub-oscillator clock, Fm: main-oscillator clock)
Bit 2~0(HPWTP2~0): high-pulse width timer prescaler select bits
HPWTP2
0
0
0
0
1
1
1
1
HPWTP1
0
0
1
1
0
0
1
1
HPWTP0
0
1
0
1
0
1
0
1
High-pulse width timer scale
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
18. IOCB1 (PORT 6 Pull High Control Register)
Bit 7
PH67
Bit 6
PH66
Bit 5
PH65
Bit 4
PH64
Bit 3
PH63
Bit 2
PH62
Bit 1
PH61
Bit 0
PH60
Bit 1
OP61
Bit 0
OP60
Bit 7 ~ Bit 0: The enable bits of Port 6 pull high function.
0: disable internal pull-high resistor function
1: enable internal pull-high resistor function
19. IOCC1 (PORT 6 Open Drain Control Register)
Bit 7
OP67
Bit 6
OP66
Bit 5
OP65
Bit 4
OP64
Bit 3
OP63
Bit 2
OP62
Bit 7 ~ Bit 0: The enable bits of Port 6 open drain function.
0: disable open drain function
1: enable open drain function
This specification is subject to change without prior notice.
21
04.10.2004 (V1.0)
EM78P468N
OTP ROM
20. IOCD1 (PORT 8 Pull High Control Register)
Bit 7
PH87
Bit 6
PH86
Bit 5
PH85
Bit 4
PH84
Bit 3
PH83
Bit 2
PH82
Bit 1
PH81
Bit 0
PH80
Bit 2
PL62
Bit 1
PL61
Bit 0
PL60
Bit 7 ~ Bit 0: The enable bits of Port 8 pull-high function.
0: disable internal pull-high resistor function
1: enable pull-high resistor function
21. IOCE1 (PORT 6 Pull-Down Control Register)
Bit 7
PL67
Bit 6
PL66
Bit 5
PL65
Bit 4
PL64
Bit 3
PL63
Bit 7 ~ Bit 0: The enable bits of port 6 pull low function.
0: disable internal pull-down resistor function
1: enable internal pull-down resistor function
22. IOCF1 (Interrupt Mask register)
Bit 7
--
Bit 6
--
Bit 5
--
Bit 4
--
Bit 3
--
Bit 2
--
Bit 1
--
Bit 0
LVDE
Bit 7~1: Not used
Bit 0: interrupt enable bit for low voltage detector function.
0: disable interrupt
1: enable interrupt
IOCF1 register is readable and writable.
4.3 TCC and WDT Pre-scaler
Two 8-bit counters are available as pre-scalers for the TCC (Time Clock Counter) and WDT (Watch
Dog Timer). The TCCP2~TCCP0 bits of the IOC71 register are used to determine the ratio of the
TCC pre-scaler. Likewise, the WDTP2~WDTP0 bits of the IOC81 register are used to determine the
WDT pre-scaler. The TCC pre-scaler (TCCP2~TCCP0) is cleared by the instructions each time they
are written into TCC, while the WDT pre-scaler is cleared by the “WDTC” and “SLEP” instructions.
Fig.7 depicts the circuit diagram of TCC and WDT.
R1 (TCC) is an 8-bit timer/counter. The clock source of TCC can be selected by internal instruction
clock or external signal input (edge selectable from the TCC control register). If TCC signal source is
from internal instruction clock, TCC will increase by 1 at every instruction cycle (without pre-scaler).
If TCC signal source is from external clock input, TCC will increase by 1 at every falling edge or
rising edge of the TCC pin.
This specification is subject to change without prior notice.
22
04.10.2004 (V1.0)
EM78P468N
OTP ROM
The watchdog timer is a free running on-chip RC oscillator. The WDT will keep on running even after
the oscillator driver has been turned off. During Normal mode, Green mode, or Idle mode operation,
a WDT time-out (if enabled) will cause the device to reset. The WDT can be enabled or disabled at
any time during the Normal mode and Green mode by software programming. Refer to WDTE bit of
IOC81 register. With no pre-scaler, the WDT time-out period is equal to (prescaler*256/ Fs)
Data Bus
Instruction Clock
TCC
Pin
TCC (R1)
MUX
Prescaler
PSRE TCCP2~0
(IOC71)(IOC71)
TE (IOC71)
8 to 1 MUX
TCC overflow interrupt
TS (IOC71)
Fig. 7(a) Block Diagram of TCC
WDT
8 bit counter
WDTE (IOC81)
8 to 1 MUX
Prescaler
Fs
(Sub oscillator)
WDTP2~0
(IOC81)
WDT Time out
Fig. 7(b) Block Diagram of WDT
This specification is subject to change without prior notice.
23
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.4 I/O Ports
The I/O registers, (Port 5, Port 6, Port 7, and Port 8), are bi-directional tri-state I/O ports. Port 6 and
Port 8 are pulled-high internally by software; Port 6 is also pulled-low internally by software.
Furthermore, Port 6 has its open-drain output also through software. Port 6 and Port 8 features an
input status changed interrupt (or wake-up) function and is pulled-high by software. Each I/O pin can
be defined as "input" or "output" pin by the I/O control register (IOC5 ~ IOC8). The I/O registers and
I/O control registers are both readable and writable. The I/O interface circuits are shown in Fig. 8
NOTE: Open-drain, pull high, and pull down are not shown in the figure.
Fig. 8 The Circuit of I/O Port and I/O Control Register for Port 5, Port 6, Port 7and Port 8
4.5 RESET and Wake-up
A RESET can be activated by
Power on reset
WDT timeout. (if enabled)
/RESET pin pull low
Note: The power on reset circuit is always enabled. It will reset CPU at about 1.9V and consumed
about 0.5uA.
Once 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).
The TCC/Watchdog timer and pre-scaler are cleared.
When power on, the Bit 6 of R3 and the upper 2 bits of R4 are cleared.
Bits of the IOC71 register are set to all "1" except for Bit 6 (INT flag).
For other registers, see Table 2 below.
This specification is subject to change without prior notice.
24
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Table 2 Summary of the Initialized Values for Registers
Address
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Name
IOC50
IOC60
IOC70
IOC80
IOC90
IOCA0
IOCB0
IOCC0
IOCD0
IOCE0
IOCF0
IOC61
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
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
Wake-Up from Pin
Change
IOC57
1
1
IOC56
1
1
IOC55
1
1
IOC54
1
1
P8HS
0
0
P8LS
0
0
P7HS
0
0
P7LS
0
0
P
P
P
P
P
P
P
P
IOC67
1
1
IOC66
1
1
IOC65
1
1
IOC64
1
1
IOC63
1
1
IOC62
1
1
IOC61
1
1
IOC60
1
1
P
P
P
P
P
P
P
P
IOC77
1
1
IOC76
1
1
IOC75
1
1
IOC74
1
1
IOC73
1
1
IOC72
1
1
IOC71
1
1
IOC70
1
1
P
P
P
P
P
P
P
P
IOC87
1
1
IOC86
1
1
IOC85
1
1
IOC84
1
1
IOC83
1
1
IOC82
1
1
IOC81
1
1
IOC80
1
1
P
P
P
P
P
P
P
P
X
0
0
P
RAM_D7
0
0
RAM_A6 RAM_A5 RAM_A4 RAM_A3 RAM_A2 RAM_A1 RAM_A0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
RAM_D6 RAM_D5 RAM_D4 RAM_D3 RAM_D2 RAM_D1 RAM_D0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
P
P
ICIE
0
0
LPWTE
0
0
HPWTE
0
0
CNT2E
0
0
CNT1E
0
0
INT1E
0
0
INT0E
0
0
TCIE
0
0
P
P
P
P
P
P
P
P
IROCS
0
0
X
U
U
X
U
U
X
U
U
P
U
U
U
This specification is subject to change without prior notice.
25
/WUE8H /WUE8L /WUE6H /WUE6L
0
0
0
0
0
0
0
0
P
P
P
P
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Address
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0x00
0x01
0x02
Name
IOC71
IOC81
IOC91
IOCA1
IOCB1
IOCC1
IOCD1
IOCE1
IOCF1
R0(IAR)
R1(TCC)
R2(PC)
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
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
Wake-Up from Pin
Change
INT_EDGE
1
1
INT
0
0
TS
1
1
TE
1
1
PSRE
1
1
TCCP2
1
1
TCCP1
1
1
TCCP0
1
1
P
P
P
P
P
P
P
P
X
U
U
X
U
U
X
U
U
X
U
U
WDTE
0
0
WDTP2
1
1
WDTP1
1
1
WDTP0
1
1
U
U
U
P
P
P
U
CNT2S
0
0
P
LPWTS
0
0
CNT2P2 CNT2P1 CNT2P0
0
0
0
0
0
0
P
P
P
P
CNT1S
0
0
P
CNT1P2 CNT1P1 CNT1P0
0
0
0
0
0
0
P
P
P
LPWTP2 LPWTP1 LPWTP0 HPWTS HPWTP2 HPWTP1 HPWTP0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
PH67
0
0
PH66
0
0
PH65
0
0
PH64
0
0
PH63
0
0
PH62
0
0
PH61
0
0
PH60
0
0
P
P
P
P
P
P
P
P
OP67
0
0
OP66
0
0
OP65
0
0
OP64
0
0
OP63
0
0
OP62
0
0
OP61
0
0
OP60
0
0
P
P
P
P
P
P
P
P
PH87
0
0
PH86
0
0
PH85
0
0
PH84
0
0
PH83
0
0
PH82
0
0
PH81
0
0
PH80
0
0
P
P
P
P
P
P
P
P
PL67
0
0
PL66
0
0
PL65
0
0
PL64
0
0
PL63
0
0
PL62
0
0
PL61
0
0
PL60
0
0
P
P
P
P
P
P
P
P
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
X
U
U
LVDE
0
0
U
U
U
U
U
U
U
P
Bit 7
U
P
Bit 6
U
P
Bit 5
U
P
Bit 4
U
P
Bit 3
U
P
Bit 2
U
P
Bit 1
U
P
Bit 0
U
P
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
P
P
P
P
P
P
P
P
Bit 7
0
0
Bit 6
0
0
Bit 5
0
0
Bit 4
0
0
Bit 3
0
0
Bit 2
0
0
Bit 1
0
0
Bit 0
0
0
This specification is subject to change without prior notice.
Jump to address 0x0018 or continue to execute next instruction
26
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Address
0x03
0x04
0x05
0x06
0x7
0x8
0x9
0xA
0xB
0xC
0xD
0xE
Name
R3(SR)
R4(RSR)
R5
R6
R7
R8
R9
RA
RB
RC
RD
RE
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
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
Wake-Up from Pin
Change
X
U
U
PS1
0
0
PS0
0
0
T
1
t
P
1
t
Z
U
P
DC
U
P
C
U
P
U
P
P
t
t
P
P
P
Bank1
0
0
Bank0
0
0
-U
P
-U
P
-U
P
-U
P
-U
P
-U
P
P
P
P
P
P
P
P
P
R57
1
1
R56
1
1
R55
1
1
R54
1
1
X
U
U
X
U
U
X
U
U
IOCPAGE
P
P
P
P
U
U
U
P
R67
1
1
R66
1
1
R65
1
1
R64
1
1
R63
1
1
R62
1
1
R61
1
1
R60
1
1
P
P
P
P
P
P
P
P
R77
1
1
R76
1
1
R75
1
1
R74
1
1
R73
1
1
R62
1
1
R71
1
1
R70
1
1
P
P
P
P
P
P
P
P
R87
1
1
R86
1
1
R85
1
1
R84
1
1
R83
1
1
R82
1
1
R81
1
1
R80
1
1
P
P
P
P
P
P
P
P
BS
1
1
DS1
1
1
DS0
0
0
LCDEN
0
0
X
U
U
LCDTYPE
0
0
LCDF1
0
0
LCDF0
0
0
P
P
P
P
U
P
P
P
X
0
0
X
0
0
X
0
0
P
P
P
P
X
U
U
X
U
U
X
U
U
X
U
U
U
U
U
U
LVDEN
0
0
/LV
1
1
LVDF
0
0
LVD
0
0
P
P
0
P
P
P
P
P
X
U
U
CLK2
0
0
CLK1
0
0
CLK0
0
0
IDLE
1
1
BF1
0
0
BF0
0
0
CPUS
*1
*1
U
P
P
P
P
P
P
P
IRE
0
0
HF
0
0
LGP
0
0
X
U
U
IROUTE
0
0
TCCE
0
0
EINT1
0
0
EINT0
0
0
P
P
P
U
P
P
P
P
This specification is subject to change without prior notice.
27
0
0
LCD_A4 LCD_A3 LCD_A2 LCD_A1 LCD_A0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
LCD_D 3 LCD_D 2 LCD_D 1 LCD_D 0
0
0
0
0
0
0
0
0
P
P
P
P
LPWTEN HPWTEN CNT2EN CNT1EN
0
0
0
0
0
0
0
0
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Address
0xF
0x10~0x3F
Name
RF
(ISR)
R10~R3F
Reset Type
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
Bit Name
Power-On
/RESET and WDT
Wake-Up from Pin
Change
ICIF
0
0
LPWTF
0
0
HPWTF
0
0
CNT2F
0
0
CNT1F
0
0
INT1F
0
0
INT0F
0
0
TCIF
0
0
N
P
P
P
P
P
P
P
Bit 7
U
U
Bit 6
U
U
Bit 5
U
U
Bit 4
U
U
Bit 3
U
U
Bit 2
U
U
Bit 1
U
U
Bit 0
U
U
P
P
P
P
P
P
P
P
X: not used. U: unknown or don’t care.
t : check R3 register explain.
P: previous value before reset.
N: Monitors interrupt operation status;
–: Not defined
1=running; P=not running
Note 1: This bit is equal to code option HLFS bit data
The controller can be awakened from sleep mode and idle mode. The wake-up signals are listed as follows:
Wakeup signal
TCC time out
IOCF bit0=1
INT0 pin
IOCF bit1=1
INT1 pin
IOCF bit2=1
Counter 1
IOCF bit3=1
Counter 2
IOCF bit4=1
High-pulse timer
IOCF bit5=1
Low-pulse timer
IOCF bit6=1
Port6, Port 8
(input status
change wake-up)
WDT time out
Sleep mode
Idle mode
*2
Wake-up
X
+ interrupt
+ next instruction
Wake-up
Wake-up
+ interrupt
+ interrupt
+ next instruction + next instruction
Wake-up
Wake-up
+ interrupt
+ interrupt
+ next instruction + next instruction
Wake-up
+ interrupt
X
+ next instruction
Wake-up
X
+ interrupt
+ next instruction
Wake-up
X
+ interrupt
+ next instruction
Wake-up
X
+ interrupt
+ next instruction
IOCF bit7=0
IOCF bit7=0
Wake-up
Wake-up
+ next instruction + next instruction
IOCF bit7=1+ENI
instruction
Wake-up
+ interrupt
+ next instruction
X
IOCF bit7=1+ENI
instruction
Wake-up
+ interrupt
+ next instruction
RESET
Green mode
Normal mode
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
Interrupt
X
X
RESET
RESET
Note 2: Only external TCC pin can Wake-up from idle mode.
This specification is subject to change without prior notice.
28
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.6 Oscillator
4.6.1. Oscillator Modes
The EM78P468N can operate in the three different oscillator modes from main oscillator (R-OSCI,
OSCO), such as RC oscillator with external resistor and Internal capacitor mode (IC); crystal
oscillator mode; and PLL operation mode. User can select one of them by programming FMMD1 and
FMMD0 in the CODE options register. The sub-oscillator can be operated in crystal mode and ERIC
mode. Table3 below shows how these three modes are defined.
Table 3 Oscillator Modes as defined by FSMD, FMMD1, FMMD0.
FSMD
0
0
0
1
1
1
FMMD1
0
0
1
0
0
1
FMMD0
0
1
X
0
1
X
Main clock
RC type (ERIC)
Crystal type
PLL type
RC type (ERIC)
Crystal type
PLL type
Sub-clock
RC type (ERIC)
RC type (ERIC)
RC type (ERIC)
Crystal type
Crystal type
Crystal type
Table 4 Summary of maximum operating speeds
Conditions
Two clocks
VDD
2.3
3.0
5.0
Fxt max.(MHz)
4
8
10
4.6.2. Crystal Oscillator/Ceramic Resonators (XTAL)
EM78P468N can be driven by an external clock signal through the R-OSCI pin as shown in Fig.9
below.
In most applications, the R-OSCI pin and the OSCO pin can be connected with a crystal or ceramic
resonator to generate oscillation. Fig. 10 depicts such circuit. Table 5 provides the recommended
values of C1 and C2. Since each resonator has its own attribute, user should refer to its specification
for appropriate values of C1 and C2. RS, a serial resistor, may be necessary for AT strip cut crystal
or low frequency mode.
R-OSCI
EM78P468N
OSCO
Fig.9 Circuit for External Clock Input
This specification is subject to change without prior notice.
29
04.10.2004 (V1.0)
EM78P468N
OTP ROM
C1
C1
R-OSCI
EM78P468N
Xin
XTAL
EM78P468N
OSCO
Rs
XTAL
Xout
C2
Rs
C2
Fig. 10 Circuit for Crystal/Resonator
Table 5 Capacitor Selection Guide for Crystal Oscillator or Ceramic Resonators
Oscillator
source
Oscillator Type
Frequency
455 kHz
2.0 MHz
4.0 MHz
455KHz
1.0MHz
2.0MHz
4.0MHz
32.768kHz
Ceramic Resonators
Main oscillator
Crystal Oscillator
Sub-oscillator
Crystal Oscillator
C1 (pF)
100~150
20~40
10~30
20~40
15~30
15
15
25
C2(pF)
100~150
20~40
10~30
20~150
15~30
15
15
25
4.6.3. RC Oscillator Mode with Internal Capacitor
If both precision and cost are taken into consideration, EM78P468N also offers a special
oscillation mode, which is equipped with an internal capacitor and an external resistor connected
to VDD. The internal capacitor functions as temperature compensator. In order to obtain more
accurate frequency, a precise resistor is recommended.
VDD
Rext
R-OSCI
or Xin
EM78P468N
Fig. 11 Circuit for Internal C Oscillator Mode
Table 6 RC Oscillator Frequencies
Pin
R-OSCI
Xin
Rext
Average Fosc 5V, 25°C Average Fosc 3V, 25°C
51k
100k
300k
2.2M
2.2221 MHz
1.1345 MHz
381.36KHz
32.768KHz
2.1972 MHz
1.1203 MHz
374.77 KHz
32.768KHz
Note: Measured from QFP packages with frequency drift of about ±30%.
Values provided are for design reference only
This specification is subject to change without prior notice.
30
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.7 Power-on Considerations
Any microcontroller (as with i EM78P468N ) s not warranted to start operating properly before the
power supply stabilizes in steady state. The EM78P468N is equipped with Power On Reset (POR)
with detection level range of 1.9V to 2.1V. The circuitry eliminates the extra external reset circuit but
will work well only if the VDD rises quickly enough (50 ms or less). However, under critical
applications, extra devices are still required to assist in solving power-on problems.
4.7.1. External Power-on Reset Circuit
This circuit implements an external RC to produce a reset pulse (see Fig.12). The pulse width (time
constant) should be kept long enough to allow VDD to reach minimum operation voltage. This circuit
is used when the power supply rise time is slow. Because the current leakage from the /RESET pin
is about ±5µA, it is recommended that R should not be great than 40K. In this way, the voltage at Pin
/RESET is held below 0.2V. The diode (D) acts as a short circuit at power-down. The capacitor, C, is
discharged rapidly and fully. Rin, the current-limited resistor, prevents high current discharge or ESD
(electrostatic discharge) from flowing into Pin /RESET.
Fig. 12 External Power on Reset Circuit
7.7.2. Residue-Voltage Protection
When battery is replaced, device power (VDD) is disconnected but residue-voltage remains. The
residue-voltage may trips below minimum VDD, but above zero. This condition may cause poor
power on reset. Fig.13 and Fig.14 show how to build a residue-voltage protection circuit
Fig. 13 Circuit 1 for the Residue Voltage Protection
This specification is subject to change without prior notice.
31
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Fig. 14 Circuit 2 for the Residue Voltage Protection
4.8 Interrupt
The EM78P468N has nine interrupt sources as listed below:
TCC overflow interrupt.
External interrupt P5.4/INTO pin
External interrupt P5.5/INT1 pin
Counter 1 underflow interrupt
Counter 2 underflow interrupt
High-pulse width timer underflow interrupt
Low-pulse width timer underflow interrupt
Port 6, Port 8 input status change wake-up
Low voltage detector
This IC has internal interrupts which are falling edge triggered or as follows:
TCC timer overflow interrupt,
Four 8-bits down counter/timer underflow interrupt
VDD level down to less than LVD setting level
If these interrupt sources change signal from high to low, the RF register will generate “1” flag to
corresponding register if the IOCF0 or IOCF1 register is enabled.
RF is the interrupt status register. It records the interrupt request in flag bit. IOCF is the interrupt
mask register. Global interrupt is enabled by ENI instruction and disabled by DISI instruction. When
one of the interrupts (when enabled) is generated, it will cause the next instruction to be fetch from
address 0003H~001BH according to interrupt source.
This specification is subject to change without prior notice.
32
04.10.2004 (V1.0)
EM78P468N
OTP ROM
With EM78P468N, each individual interrupt source has its own interrupt vector as depicted in Table 3.
Before the interrupt subroutine is executed, the contents of ACC and the R3 register are initially
saved by hardware. After the interrupt service routine is completed, ACC and R3 are restored. The
existing interrupt service routine does not allow other interrupt service routine to be executed. So if
other interrupts occur while the existing interrupt service routine is being executed, the hardware will
save the later interrupts. Only after the existing interrupt service routine is completed that the next
interrupt service routine is executed.
Interrupt Occur
ACC
Interrupt Source
STACKACC
ENI/ DISI
R3
RETI
STACKR3
Fig. 15. Interrupt Backup Diagram
Table 3 Interrupt Vector
Interrupt Vector
0003H
0006H
0009H
000CH
000FH
0012H
0015H
0018H
001BH
Interrupt Status
TCC overflow interrupt.
External interrupt P5.4/INT0 pin
External interrupt P5.5/INT1 pin
Counter 1 underflow interrupt
Counter 2 underflow interrupt
High-pulse width timer underflow interrupt
Low-pulse width timer underflow interrupt
Port 6, Port 8 input status change wake-up
Low voltage detector
4.9 LCD Driver
The EM78P468N can drive LCD of up to 32 segments and 4 commons that can drive a total of 4*32
dots. LCD block is made up of LCD driver, display RAM, segment output pins, common output pins,
and LCD operating power supply pins. This circuit works on normal mode, green mode, and idle
mode. The LCD duty, bias, the number of segment, the number of common, and frame frequency
are determined by the LCD controller register.
The basic structure contains a timing control that uses a subsystem clock to generate the proper
timing for different duty and display accesses. The R9 register is a command register for LCD driver
which includes LCD enable/disable, bias (1/2 and 1/3), duty (1/2, 1/3, 1/4), and LCD frame frequency
control. The register RA is an LCD contrast and LCD RAM address control register. The register RB
is an LCD RAM data buffer. LCD booster circuit can change operation frequency to improve VLCD2
and VLCD3 drive capability. The control register is explained as follows.
This specification is subject to change without prior notice.
33
04.10.2004 (V1.0)
EM78P468N
OTP ROM
R9 (LCD Control Register)
Bit 7
BS
Bit 6
DS1
Bit 5
DS0
Bit 4
LCDEN
Bit 3
--
Bit 2
Bit 1
LCDTYPE LCDF1
Bit 0
LCDF0
Bit 7 (BS): LCD bias select bit, 0/1=>(1/2 bias) / (1/3 bias)
Bit 6, 5 (DS1, 0): LCD duty select
DS1
0
0
1
DS0
0
1
X
LCD Duty
1/2 duty
1/3 duty
1/4 duty
Bit 4 (LCDEN): LCD enable bit: 0/1 -> LCD circuit disable/enable
When LCD function is disabled, all common/segment output is set to ground (GND) level
Bit 3: Not used
Bit 2 (LCDTYPE): LCD drive waveform type select bit
0: “A” type waveform
1: “B” type waveform
Bit 1, 0(LCDF1, 0): LCD clock pre-scaler ratio control bits
LCDF1
LCDF0
0
0
1
1
0
1
0
1
LCD frame frequency (Fs=32.768KHz)
1/2 duty
1/3 duty
1/4 duty
Fs/(256*2)=64.0
Fs/(172*3)=63.5
Fs/(128*4) =64.0
Fs/(280*2)=58.5
Fs/(188*3)=58.0
Fs/(140*4) =58.5
Fs/(304*2)=53.9
Fs/(204*3)=53.5
Fs/(152*4) =53.9
Fs/(232*2)=70.6
Fs/(156*3)=70.0
Fs/(116*4) =70.6
Fs: sub-oscillator frequency
RA (LCD Address)
Bit 7
0
Bit 6
0
Bit 5
0
Bit 4
LCD_A4
Bit 3
LCD_A3
Bit 2
LCD_A2
Bit 1
LCD_A1
Bit 0
LCD_A0
Bit 7 ~ 5: Not used, fixed to “0”
Bit 4~0 (LCDA4~0): LCD RAM address
RB (LCD Data Buffer)
RA
Segment
Bit 3
Bit 2
Bit 1
Bit 0
(LCD Address) Bit 7 Bit 6 Bit 5 Bit 4
(LCD_D3) (LCD_D2) (LCD_D1) (LCD_D0)
----00H
SEG0
01H
02H
|
1EH
1FH
Common
---
---
---
---
---X
---X
---X
---X
SEG1
SEG2
|
SEG29
SEG30
SEG31
|
This specification is subject to change without prior notice.
COM3
34
COM2
COM1
COM0
04.10.2004 (V1.0)
EM78P468N
OTP ROM
RB (LCD Data Buffer)
Bit 7
--
Bit 6
--
Bit 5
--
Bit 4
--
Bit 3
Bit 2
Bit 1
Bit 0
LCD_D 3 LCD_D 2 LCD_D 1 LCD_D 0
Bit 7 ~ 4: Not used
Bit 3~0 (LCD_D3~0): LCD RAM data transfer registers
RD (System Clock, Booster Frequency and PLL Frequency Control Register)
Bit 7
--
Bit 6
CLK2
Bit 5
CLK1
Bit 4
CLK0
Bit 3
IDLE
Bit 2
BF1
Bit 1
BF0
Bit 0
CPUS
Bit 2, 1 (BF1, 0): LCD booster frequency select bits
BF1
0
0
1
1
BF0
0
1
0
1
Booster frequency
Fs
Fs/4
Fs/8
Fs/16
The initial setting flowchart for LCD function
IC RESET occur
*Set Port 7 snd Port 8 for general I/O or LCD segment ( IOC50 )
*it must be set to output port when the pin of port 7 and the pin of port 8 for
LCD segemnt (IOC70 and IOC80 )
Set LCD Type, duty, bias, LCD frame frequency ( R9 )
Set LCD Booster Frequency ( RD)
Clear all LCD RAM (RA and RB )
Enable LCD function (R9 )
Use LCD address and LCD data buffer to implment user's applications.
(RA and RB )
END
Fig.16. The Initial Setting Flowchart for LCD Function
This specification is subject to change without prior notice.
35
04.10.2004 (V1.0)
EM78P468N
OTP ROM
The connecting of boosting circuits for LCD voltage is as below:
1/3 Bias
VA
VB
VDD(3V)
VDD(4.5V)
VLCD2(2V)
VLCD2(3V)
VA
VLCD3(1V)
GND
VB
VLCD3(1.5V)
GND
1/2 Bias
VDD(3V)
VDD(4.5V)
VLCD2(1.5V)
VA
VB
VLCD2(2.2.5V)
VA
VLCD3(1.5V)
GND
VB
VLCD3(2.25V)
GND
Fig. 17 The Connection of Charge Bump Circuit
This specification is subject to change without prior notice.
36
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Fig. 18 LCD Waveform for 1/2 Bias, 1/2 Duty
Fig. 19 LCD Waveform for 1/2 Bias, 1/3 Duty
This specification is subject to change without prior notice.
37
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Fig. 20 LCD Waveform for 1/3 Bias, 1/3 Duty
Fig. 21 LCD Waveform for 1/3 Bias, 1/4 Duty
This specification is subject to change without prior notice.
38
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.10 Infrared Remote Control Application / PWM Waveform Generate
This LSI can output infrared carrier in a friendly manner or in PWM standard waveform. The IR and
PWM waveform generated functions include an 8-bit down count timer/counter, high-pulse width
timer, low-pulse width timer, and IR control register. The IR system block diagram is show in Fig.21,
The IROUT pin waveform is determined by IR control register (RE), IOC90 (Counter 1, 2 control
register), IOCA0 (high-pulse width timer, low-pulse width timer control register), IOCC0 (Counter 2
preset), IOCD0 (high-pulse width timer preset register), and IOCE0 (low-pulse width timer preset
register). Details on Fcarrier, high-pulse time, and low pulse time are explained as follows:
If Counter 2 source clock is FT (this clock source can set by IOC91);
Fcarrier= FT/(2* [1+decimal counter 2 preset value (IOCC0)*prescaler])
If high-pulse width timer source clock is FT (this clock source can set by IOCA1);
High-pulse time= prescaler*[1+decimal high-pulse width timer value (IOCD0)]/ FT
If low-pulse width timer source clock is FT (this clock source can set by IOCA1);
Low-pulse time= prescaler*[1+decimal low-pulse width timer value (IOCE0)]/ FT
This specification is subject to change without prior notice.
39
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Fs
Fm
Pre-scaler
Auto-reload buffer
Auto-reload buffer
8
8
Pre-scaler
Pre-scaler
8 bit binary dow n counter
(high-pulse w idth timer)
Fcarrier
8 bit binary dow n counter
(low -pulse w idth timer)
8
8 bit binary
down counter
(counter 2)
8
H/W Modulator
8
Auto-reload
buffer
HF
LGP
IRE
IROUT pin
Fm: Internal instruction cycle clock; Fs: sub-oscillator frequency
Fig. 21 IR/PWM System Block Diagram
The IROUT output waveform is further explained in the following figures:
Fig. 22 LGP=0, HF=1, the IROUT waveform can modulate Fcarrier waveform when in low-pulse
width time.
Fig. 23 LGP=0, HF=0, the IROUT waveform cannot modulate Fcarrier waveform when in low-pulse
width time. So IROUT waveform is determined by high-pulse time and low-pulse time. This
mode can produce standard PWM waveform
Fig. 24 LGP=0, HF=1, the IROUT waveform can modulate Fcarrier waveform when in low-pulse
width time. When IRE goes from high to low, the output waveform of IROUT will keep on
transmitting till high-pulse width timer interrupt occurs.
Fig. 25 LGP=0, HF=0, the IROUT waveform can not modulate Fcarrier waveform when in low-pulse
width time. So IROUT waveform is determined by high-pulse time and low-pulse time. This
mode can produce standard PWM waveform. When IRE goes from high to low, the output
waveform of IROUT will keep on transmitting till high-pulse width timer interrupt occurs.
Fig.26 LGP=1, when this bit is set to high level, the high-pulse width timer is ignored. So IROUT
waveform output from low-pulse width timer is established.
This specification is subject to change without prior notice.
40
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Fcarrier
low-pulse width
high-pulse width
high-pulse width
low-pulse width
HF
start
IRE
IROUT
Fig. 22 LGP=0, IROUT Pin Output Waveform
Fcarrier
low-pulse width
high-pulse width
high-pulse width
low-pulse width
HF
start
IRE
IROUT
Fig. 23 LGP=0, IROUT Pin Output Waveform
Fcarrier
low-pulse width
high-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IR disable
IROUT
Always high-level
Fig. 24 LGP=0, IROUT Pin Output Waveform
This specification is subject to change without prior notice.
41
04.10.2004 (V1.0)
EM78P468N
OTP ROM
Fcarrier
low-pulse width
high-pulse width
low-pulse width
high-pulse width
HF
start
IRE
IR disable
IROUT
Always high-level
Fig. 25 LGP=0, IROUT Pin Output Waveform
Fcarrier
low-pulse width
Low-pulse width
high-pulse width
low-pulse width
HF
start
IRE
IR disable
IROUT
Always high-level
Fig. 26 LGP=1, IROUT Pin Output Waveform
This specification is subject to change without prior notice.
42
04.10.2004 (V1.0)
EM78P468N
OTP ROM
IR/PWM function enable flowchart
STRAT
STRAT
SET P5.7 to OUTPUT state (IOC 50)
SET P5.7 to OUTPUT state (IOC 50)
SET P5.7 for IR/PW M Function
Output Pin (RE)
SET P5.7 for IR/PWM Function
Output Pin (RE)
SET Counter 2 clock source and
prescaler (IOC91)
SET High pulse width timer, Low
pulse width timer source clock and
prescaler (IOCA1)
SET High pulse width tim er, Low
pulse width tim er source clock and
prescaler (IOCA1)
High pulse width timer (IOD0), Low
pulse width timer (IOCE0)preset
value
SET Counter 2 (IOC0), High pulse
width tim er (IOD0), Low pulse width
tim er (IOCE0)preset value
Enable IR (RE)
HF="0", and IRE="1"
Enable IR (RE)
HF="1", and IRE="1"
Enable HPWT and LPWT Interrupt
Set IOCF0 and ENI instruction
Enable HPW T and LPW T Interrupt
Set IOCF0 and ENI instruction
Enable high pulse width timer and
Low pulde width timer (RC)
Enable counter 2, high pulse width
tim er and Low pulde width tim er (RC)
END
END
(a) IR application
(b) PWM application
Fig. 27 IR/PWM Function Enable Flowchart
This specification is subject to change without prior notice.
43
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.11 Code Options
The EM78P468N has one CODE option word that is not a part of the normal program memory. The
option bits cannot be accessed during normal program execution.
Code Option Register and Customer ID Register arrangement distribution:
Word1 of code options is for customer ID code application.
Word 1
Bit12~Bit 0
Word0 of Code Options is for IC function setting. The following are the settings for OTP IC
programming:
Bit12~10 Bit9
1
CYES
Word 0
Bit8
Bit7
Bit6
Bit5
Bit4
HLFS ENWDTB FSMD FMMD1 FMMD0
Bit3
HLP
Bit2
PR2
Bit1
PR1
Bit0
PR0
• Bit 12 ~ 10: Not used.
These bits are set to “1” all the time.
• Bit 9 (CYES): Cycle select for JMP and CALL instructions
0: only one instruction cycle (JMP or CALL) can be executed
1: two instructions cycles (JMP and CALL) can be executed
• Bit 8 (HLFS): main or sub-oscillator select
0: CPU is set to select sub-oscillator when reset occurred.
1: CPU is set to select main-oscillator when reset occurred.
• Bit 7(ENWDTB): Watchdog timer enable/disable bit.
0: Enable
1: Disable
• Bit 6 (FSMD): sub-oscillator type selection.
0: RC type (internal C)
1: XTAL type (Xin and Xout)
• Bit 5, 4 (FMMD1, 0): main Oscillator type selection.
FMMD1
0
0
1
FMMD0
0
1
X
This specification is subject to change without prior notice.
Main Oscillator Type
RC type (external R, internal C)
XTAL type (R-OSCI, OSCO)
PLL type
44
04.10.2004 (V1.0)
EM78P468N
OTP ROM
• Bit 3 (HLP): Power consumption selection. If your system usually runs in green mode, it must be
set to low power consumption. Take note and help support the energy saving issue. We recommend
that low power consumption mode is selected.
0: Low power consumption mode
1: High power consumption mode
• Bit 2~0 (PR2~PR0): Protect Bit
PR2~PR0 are protect bits as explained below:
PR2
1
PR1
1
others
PR0
1
Protect
Disable
Enable
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:
Execute within two instruction cycles the "JMP", "CALL", "RET", "RETL", & "RETI" instructions, or
the conditional skip instructions ("JBS", "JBC", "JZ", "JZA", "DJZ", "DJZA") which were tested to be
true. Also execute within two instruction cycles the instructions that are written to the program
counter.
Additionally, the instruction set offers the following features:
(1) Every bit of any register can be set, cleared, or tested directly.
(2) The I/O register can be regarded as general register. That is, the same instruction can operate
on I/O register.
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 that is located in the register "R", and affects
operation. "k" represents an 8 or 10-bit constant or literal value.
This specification is subject to change without prior notice.
45
04.10.2004 (V1.0)
EM78P468N
OTP ROM
0
0
0
0
0
0
0
0
INSTRUCTION
BINARY
0000 0000 0000
0000 0000 0001
0000 0000 0011
0000 0000 0100
0000 0000 rrrr
0000 0001 0000
0000 0001 0001
0000 0001 0010
HEX
MNEMONIC
0000
0001
0003
0004
000r
0010
0011
0012
NOP
DAA
SLEP
WDTC
IOW
ENI
DISI
RET
R
0 0000
0001
0011
0013
RETI
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0001
01rr
1000
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
rrrr
rrrr
0000
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
001r
00rr
0080
00rr
01rr
01rr
01rr
01rr
02rr
02rr
02rr
02rr
03rr
03rr
03rr
03rr
04rr
04rr
04rr
04rr
05rr
05rr
05rr
05rr
IOR
MOV
CLRA
CLR
SUB
SUB
DECA
DEC
OR
OR
AND
AND
XOR
XOR
ADD
ADD
MOV
MOV
COMA
COM
INCA
INC
DJZA
DJZ
R
A,
R,
R
R
A,
R,
A,
R,
A,
R,
A,
R,
A,
R,
R
R
R
R
R
R
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
0 0111
01rr
10rr
rrrr
rrrr
07rr
07rr
SWAP
JZA
0000
0000
0000
0000
0001
0001
0001
0001
0010
0010
0010
0010
0011
0011
0011
0011
0100
0100
0100
0100
0101
0101
0101
0101
R
R, A
R
R
This specification is subject to change without prior notice.
R
A
R
A
R
A
R
A
R
A
R
R
OPERATION
No Operation
Decimal Adjust A
0 → WDT, Stop oscillator
0 → WDT
A → IOCR
Enable Interrupt
Disable Interrupt
[Top of Stack] → PC
[Top of Stack] → PC,
Enable Interrupt
IOCR → A
A→R
0→A
0→R
R-A → A
R-A → R
R-1 → A
R-1 → R
A∨R→A
A∨R→R
A&R→A
A&R→R
A⊕R→A
A⊕R→R
A+R→A
A+R→R
R→A
R→R
/R → A
/R → R
R+1 → A
R+1 → R
R-1 → A, skip if zero
R-1 → R, skip if zero
R(n) → A(n-1),
R(0) → C, C → A(7)
R(n) → R(n-1),
R(0) → C, C → R(7)
R(n) → A(n+1),
R(7) → C, C → A(0)
R(n) → R(n+1),
R(7) → C, C → R(0)
R(0-3) → A(4-7),
R(4-7) → A(0-3)
R(0-3) ↔ R(4-7)
R+1 → A, skip if zero
46
STATUS
AFFECTED
None
C
T, P
T, P
None <Note1>
None
None
None
None
None <Note1>
None
Z
Z
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
04.10.2004 (V1.0)
EM78P468N
OTP ROM
0
0
0
0
0
INSTRUCTION
BINARY
0111 11rr
rrrr
100b bbrr rrrr
101b bbrr rrrr
110b bbrr rrrr
111b bbrr rrrr
HEX
MNEMONIC
07rr
0xxx
0xxx
0xxx
0xxx
JZ
BC
BS
JBC
JBS
R
R,
R,
R,
R,
1 00kk
kkkk
kkkk
1kkk
CALL
k
1
1
1
1
1
1
1
1
1
1
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
1000
1001
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
00kk
00kk
kkkk
1kkk
18kk
19kk
1Akk
1Bkk
1Ckk
1Dkk
1E8k
1E9K
1Fkk
JMP
MOV
OR
AND
XOR
RETL
SUB
PAGE
BANK
ADD
k
A,
A,
A,
A,
k
A,
k
k
A,
01kk
1000
1001
1010
1011
1100
1101
1110
1110
1111
OPERATION
R+1 → R, skip if zero
0 → R(b)
1 → R(b)
if R(b)=0, skip
if R(b)=1, skip
PC+1 → [SP],
(Page, k) → PC
(Page, k) → PC
k→A
A∨k→A
A&k→A
A⊕k→A
k → A, [Top of Stack] → PC
k-A → A
k->R5(1:0)
k->R4(7:6)
k+A → A
b
b
b
b
k
k
k
k
k
k
STATUS
AFFECTED
None
None <Note2>
None <Note3>
None
None
None
None
None
Z
Z
Z
None
Z, C, DC
None
None
Z, C, DC
<Note1> This instruction is applicable to IOC5 ~ IOCF
<Note2> This instruction is not recommended for R3F operation.
<Note3> This instruction cannot operate under R3F.
This specification is subject to change without prior notice.
47
04.10.2004 (V1.0)
EM78P468N
OTP ROM
4.13 Timing Diagram
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".Tim ing m easurem ents are
m ade at 2.0V for logic "1",and 0.8V for logic "0".
RESET Timing (CLK="0")
NOP
Instruction 1
Executed
CLK
/RESET
Tdrh
TCC Input Timing (CLKS="0")
Tins
CLK
TCC
Ttcc
Ttrf
Ttrr
90%
Port (n+1)
90%
10%
10%
Tiod
Port (n)
*n=0、2、4、6
This specification is subject to change without prior notice.
48
04.10.2004 (V1.0)
EM78P468N
OTP ROM
5. ABSOLUTE MAXIMUM RATINGS
Items
Supply voltage
Input voltage
Output voltage
Operation temperature
Storage temperature
Power dissipation
Operating Frequency
Symbol
VDD
VI
VO
TOPR
TSTG
PD
This specification is subject to change without prior notice.
Condition
Port5, Port6, Port7, Port8
Port5, Port6, Port7, Port8
49
Rating
Min.
Max.
GND-0.3
+7.0
GND-0.3 VDD+0.3
GND-0.3 VDD+0.3
-40
85
-65
150
500
32.768K
10M
Unit
V
V
V
℃
℃
mW
Hz
04.10.2004 (V1.0)
EM78P468N
OTP ROM
6. ELECTRICAL CHARACTERISTIC
6.1 DC ELECTRICAL CHARACTERISTICS
(Ta= 25 °C, VDD= 5.0V, GND= 0V)
Symbol
FXT
Fs
ERIC
IIL
VIH1
VIL1
VIHT1
VILT1
VIHT2
VILT2
Vdet
Parameter
ISB
Sleep mode current
ICC1
Idle mode current
ICC2
Green mode current
ICC3
Normal mode
ICC4
Normal mode
IOH1
IOL2
Typ.
Max.
Unit
8M
32.768
10M
Hz
KHz
R: 300KΩ, internal capacitance
270
384
500
KHz
R: 2.2MΩ, internal capacitance
29.5
32.768
42.6
KHz
VIN = VDD, GND
-1
0
1
µA
Ports 5, 6, 7, 8
Ports 5, 6, 7, 8
2.0
0.8
V
V
/RESET
2.0
The voltage of Vdet is determined by RC
control register
IPH
IPL
IOL1
Min.
32.768K
Low voltage detector voltage
Output High Voltage
(Ports 5, 6, 7, 8)
Output Low Voltage
(Ports 5, 6, 7, 8)
Output high voltage
(IROUT pin)
Output Low Voltage
(IR OUT pin)
Pull-high current
Pull-low current
IOH1
Condition
XTAL: VDD to 5V
Sub-oscillator
External R, internal C for
sub-oscillator
External R, internal C for
sub-oscillator
Input Leakage Current for input
pins
Input High Voltage
Input Low Voltage
Input High Threshold Voltage
(Schmitt trigger)
Input Low Threshold Voltage
(Schmitt trigger)
Input High Threshold Voltage
(Schmitt trigger)
Input Low Threshold Voltage
(Schmitt trigger)
Two cycle with two clocks
Two cycle with two clocks
V
/RESET
0.8
TCC, INT0, INT1
2.0
V
TCC, INT0, INT1
VOH = 2.4V
Vdet-0.2
Vdet
V
Vdet+0.2
V
mA
VOL = 0.4V
10
-20
Pull-high active, input pin at GND
Pull-low active, input pin at VDD
All input and I/O pins at VDD, output pin
floating, WDT disabled
/RESET= 'High', CPU OFF, sub-oscillator
clock (32.768KHz) ON, output pin floating,
LCD enable, no load
/RESET= 'High', CPU ON, used
sub-oscillator clock (32.768KHz), output pin
floating, WDT enabled, LCD enable
/RESET= 'High', Fosc=4MHz (Crystal type,
CLKS="0"), output pin floating
/RESET= 'High', Fosc=10MHz (Crystal type,
CLKS="0"), output pin floating
50
-55
55
mA
mA
VOL = 0.4V
This specification is subject to change without prior notice.
0.8
-10
VOH = 2.4V
V
20
mA
-75
75
-95
5
µA
µA
0.3
1
µA
12
16
µA
22
30
µA
2.2
2.5
mA
3.1
3.5
mA
04.10.2004 (V1.0)
EM78P468N
OTP ROM
(Ta= 25 °C, VDD= 3.0V, GND= 0V)
Symbol
FXT
Fs
ERIC
IIL
VIH1
VIL1
VIHT1
VILT1
VIHT2
VILT2
Vdet
Parameter
ISB
Sleep mode current
ICC1
Idle mode current
ICC2
Green mode current
ICC3
Normal mode
IOH1
IOL2
Typ.
Max.
Unit
8M
32.768
10M
Hz
KHz
R: 300KΩ, internal capacitance
270
384
500
KHz
R: 2.2MΩ, internal capacitance
29.5
32.768
42.6
KHz
VIN = VDD, GND
-1
0
1
µA
Ports 5, 6, 7, 8
Ports 5, 6, 7, 8
1.6
0.6
V
V
/RESET
1.6
The voltage of Vdet is determined by RC
control register
IPH
IPL
IOL1
Min.
32.768K
Low voltage detector voltage
Output High Voltage
(Ports 5, 6, 7, 8)
Output Low Voltage
(Ports 5, 6, 7, 8)
Output high voltage
(IROUT pin)
Output Low Voltage
(IR OUT pin)
Pull-high current
Pull-low current
IOH1
Condition
XTAL: VDD to 5V
Sub-oscillator
External R, internal C for
sub-oscillator
External R, internal C for
sub-oscillator
Input Leakage Current for input
pins
Input High Voltage
Input Low Voltage
Input High Threshold Voltage
(Schmitt trigger)
Input Low Threshold Voltage
(Schmitt trigger)
Input High Threshold Voltage
(Schmitt trigger)
Input Low Threshold Voltage
(Schmitt trigger)
Two cycle with two clocks
Two cycle with two clocks
V
/RESET
0.6
TCC, INT0, INT1
1.6
V
TCC, INT0, INT1
VOH = 2.4V
Vdet-0.2
Vdet
V
Vdet+0.2
V
mA
VOL = 0.4V
7
-3.5
Pull-high active, input pin at GND
Pull-low active, input pin at VDD
All input and I/O pins at VDD, output pin
floating, WDT disabled
/RESET= 'High', CPU OFF, sub-oscillator
clock (32.768KHz) ON, output pin floating,
LCD enable, no load
/RESET= 'High', CPU ON, used
sub-oscillator clock (32.768KHz), output pin
floating, WDT enabled, LCD enable
/RESET= 'High', Fosc=4MHz (Crystal type,
CLKS="0"), output pin floating
51
-16
16
mA
mA
VOL = 0.4V
This specification is subject to change without prior notice.
0.6
-1.8
VOH = 2.4V
V
14
mA
-23
23
-30
30
µA
µA
0.1
1
µA
4
8
µA
10
20
µA
0.73
1.2
mA
04.10.2004 (V1.0)
EM78P468N
OTP ROM
6.2 AC Electrical Characteristics
(Ta=- 40°C ~ 85 °C, VDD=5V±5%, GND=0V)
Symbol
Parameter
Dclk
Input CLK duty cycle
Tins
Ttcc
Tdrh
Trst
Twdt
Tset
Thold
Tdelay
Tiod
Ttrr1
Ttrf1
Ttrr2
Ttrf2
Instruction cycle time
(CLKS="0")
TCC input period
Device reset hold time
/RESET pulse width
Watchdog timer period
Input pin setup time
Input pin hold time
Output pin delay time
I/O delay for EMI enable
Through rate for EMI
enable(rising)
Through rate for EMI
enable(falling)
Through rate for EMI
enable(rising)
Through rate for EMI
enable(falling)
Conditions
Crystal type
RC type
Ta = 25°C
Ta = 25°C
Ta = 25°C
Min
45
100
500
(Tins+20)/N*
11.3
2000
11.3
Typ
50
Max
55
DC
DC
16.2
21.6
21.6
6
Unit
%
ns
ns
ns
ms
ns
ms
ns
ns
ns
ns
Cload=20pF
Cload=150pF
4
16.2
0
20
50
5
Cload=150pF
45
50
55
ns
Cload=150pF
45
50
55
ns
Cload=300pF
90
100
110
ns
Cload=300pF
90
100
110
ns
* N= selected pre-scaler ratio.
This specification is subject to change without prior notice.
52
04.10.2004 (V1.0)
EM78P468N
OTP ROM
7. Application Circuit
IROUT control external BJT circuit to drive infrared emitting diodes
IROUT direct drive infrared emitting diodes
This specification is subject to change without prior notice.
53
04.10.2004 (V1.0)
EM78P468N
OTP ROM
APPENDIX A:
Package information
This specification is subject to change without prior notice.
54
04.10.2004 (V1.0)
EM78P468N
OTP ROM
APPENDIX B:
EM78P468N Program Pin List
It uses DWRT to program EM78P468N IC’s. The DWTR connector is selected by CON4 (EM78P451), and
software is selected by EM78P468N.
Program Pin Name
VPP
ACLK
DINCLK
DATAIN
/PGMB
/OEB
VDD
GND
QFP Pin Number
25
32
33
34
38
39
29
26
IC Pin Name
/RESET
P54/INT0
P55/INT1
P56/TCC
P60
P61
VDD
GND
Wiring diagram for DWTR (Display writer).
This specification is subject to change without prior notice.
55
04.10.2004 (V1.0)
EM78P468N
OTP ROM
ELAN (HEADQUARTER) MICROELECTRONICS CORP., LTD.
Address : No. 12, Innovation 1st. Rd. Science-Based Industrial Park, Hsinchu City, Taiwan.
Telephone: 886-3-5639977
Facsimile : 886-3-5639966
ELAN (H.K.) MICROELECTRONICS CORP., LTD.
Address : Rm. 1005B, 10/F, Empire Centre, 68 Mody Road, Tsimshatsui, Kowloon, Hong Kong.
Telephone: 852-27233376
Facsimile : 852-27237780
E-mail : [email protected]
ELAN MICROELECTRONICS SHENZHEN, LTD.
Address : SSMEC Bldg. 3F , Gaoxin S. Ave. 1st , South Area , Shenzhen High-tech Industrial Park., Shenzhen
Telephone: 86-755-26010565
Facsimile : 86-755-26010500
ELAN MICROELECTRONICS SHANGHAI, LTD.
Address : #23 Building No.115 Lane 572 BiBo Road. Zhangjiang, Hi-tech Park, Shanghai
Telephone: 86-21-50803866
Facsimile : 86-21-50804600
Elan Information Technology Group.
Address: 1821 Saratoga Avenue, suite 250, Saratoga, CA 95070, USA
Telephone: 1-408-366-8225
Facsimile : 1-408-366-8220
Elan Microelectronics Corp. (Europe)
Address: Dubendorfstrasse 4, 8051 Zurich, Switzerland
Telephone: 41-43-2994060
Facsimile : 41-43-2994079
Email : [email protected]
Web-Site : www.elan-europe.com
Copy © 2004 by Elan Microelectronics Corp.
Elan is the owner of the intellectual property rights of the information and technology
mentioned above, as may exist now and hereafter come into exist, and all renewals and
extensions thereof. However, there is no warranty for the use of the specifications described,
either expressed or implied, including, but not limited to ,the implied warranties of
merchantability and fitness for particular purpose. The entire risk as to the quality and
performance of the application is with the user, therefore, the user will be liable for damages
including any general, special, incidental or consequential damages arising out of the use or
inability to use the information and technology. Elan reserves the right to modify the
information without prior notification. The most up-to-day information will be available on the
web site (http://www.emc.com.tw)
This specification is subject to change without prior notice.
56
04.10.2004 (V1.0)