The EM78860 is an 8-bit RISC type microprocessor with low power , high speed CMOS technology .
Integrated onto a single chip are on_chip watchdog (WDT) , RAM , ROM , programmable real time clock /
counter , internal interrupt , power down mode , LCD driver and tri-state I/O . The EM78860 provides a single
chip solution to design a message display .
FEATURES
CPU
• Operating voltage range : 2.5V~5.5V
• 16Kx13 on chip ROM
• 2.8Kx8 on chip RAM
• Up to 32 bi-directional tri-state I/O ports
• 8 Level stack for subroutine nesting
• 8-bit real time clock/counter (TCC)
• Two sets of 8 bit counters can be interrupt sources
• Selective signal sources and with overflow interrupt
• Programmable free running on chip watchdog timer
• 99.9% single instruction cycle commands
• Four modes (internal clock 3.679MHz, external 32.768KHz)
1. Sleep mode : CPU and 3.679MHz clock turn off, 32.768KHz clock turn off
2. Idle mode : CPU and 3.679MHz clock turn off, 32.768KHz clock turn on
3. Green mode : 3.679MHz clock turn off, CPU and 32.768KHz clock turn on
4. Normal mode : 3.679MHz clock turn on , CPU and 32.768KHz clock turn on
• Low battery detector
• Input port wake up function
• 8 interrupt source , 4 external , 3 internal
• 100 pin QFP or chip
• Port key scan function
• Port interrupt , pull high and open drain functions
• Clock frequency 32.768KHz externally
EM78860
8-BIT MICRO-CONTROLLER
LCD
• LCD operation voltage chosen by software
• Common driver pins : 16
• Segment driver pins : 60
• 1/4 bias
• 1/8,1/16 duty
APPLICATION
1. adjunct units
2. data bank
* This specification are subject to be changed without notice.
* This specification are subject to be changed without notice.
ROM
RAM
I/O PORT
INPUT PORT
LCD
LATCH
& DRIVER
I/O PORT
INPUT PORT
LCD
OUTPUT
6.24.1998
2
EM78860
8-BIT MICRO-CONTROLLER
XINXOUT
Oscillator/Timing
Control
Control of
sleep and
wake-up
on I/O ports
2.5K RAM
R1(TCC)
WDT Timer
Prescaler
GENERAL
RAM
RAM
R4
IOC6
Interrupt
Controller
DATA & CONTROL BUS
PORT6
R6
P60~P67
PORT7
IOC7
P70~P77
ROM
Instruction
register
Instruction
Decoder
R7
PORT8
IOC8
P80~P87
R2
R3
R5
R8
PORT9
IOC9
P90~P97
Stack
ALU
ACC
R9
PIN DESCRIPTIONS
SymbolTypeFunction
VDDPOWERPower
GNDPOWERGound
XTinIInput pin for 32.768 kHz oscillator
XToutOOutput pin for 32.768 kHz oscillator
PLLCIPhase loop lock capacitor, connect a capacitor 0.01µ to 0.047µ with GND
COM0..COM7OCommon driver pins of LCD drivers
COM8..COM15 O (PORT6)
SEG0..SEG43Segment driver pins of LCD drivers
SEG44..SEG51O (PORT8)
SEG52..SEG59O (PORT9)PORT9 AS FUNCTION KEY CAN WAKE UP WATCHDOG.
INT0PORT7(0)PORT7(0)~PORT7(3) signal can be interrupt signals.
INT1PORT7(1)
INT2PORT7(2)
INT3PORT7(3)
P7.0~P7.7PORT7PORT 7 can be INPUT or OUTPUT port each bit.
Internal Pull high function.
Key scan function.
Bit6,7 open drain function.
P6.0~P6.7PORT6PORT 6 can be INPUT or OUTPUT port each bit.
And shared with Common signal.
P8.0~P8.7PORT8PORT 8 can be INPUT or OUTPUT port each bit.
And shared with Common signal.
P9.0~P9.7PORT9PORT 9 can be INPUT or OUTPUT port each bit.
And shared with Common signal.
TESTITest pin into test mode , normal low
RESETI
* This specification are subject to be changed without notice.
6.24.1998
3
FUNCTION DESCRIPTION
Operational Registers
R0 (Indirect Addressing Register)
R0 is not a physically implemented register. It is useful as indirect addressing pointer. Any instruction using
R0 as register actually accesses data pointed by the RAM Select Register (R4).
R1 (TCC)
• Increased by an internal signal edge applied to TCC , or by the instruction cycle clock.
• Written and read by the program as any other register.
R2 (Program Counter)
• The structure is depicted in Fig. 4.
• Generates 16Kx13 on-chip ROM addresses to the relative programming instruction codes.
• ”JMP” instruction allows the direct loading of the low 10 program counter bits.
• “CALL” instruction loads the low 10 bits of the PC, PC+1, and then push 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, and the ninth and tenth bits are
cleared to “0'’.
• “ADD R2,A” allows a relative address be added to the current PC, and contents of the ninth and tenth bits are
cleared to “0'’.
• “TBL” allows a relative address be added to the current PC, and contents of the ninth and tenth bits don’t
change.
• The most significant bit (A10~A13) will be loaded with the content ofbit PS0~PS3 in the status register (R5)
upon the execution of a “JMP’’, “CALL’’, “ADD R2,A’’, or “MOV R2,A’’ instruction.
• User can use PAGE instruction to change page. To maintain program page by user. Otherwise, user can use
far jump (FJMP) or far call (FCALL) instructions to program user's code. And the program page is maintained
by EMC's complier. It will change user's program by inserting instruction within program.
• Bit4~7 : unused
R6 ~R9 ( Port 6 ~ Port 9)
• Five 8-bit I/O registers.
RA
7654 3210
IDLE/358E/LPD/LOW-BAT0000
• Bit0 ~ Bit3 unused, please set to "0"
* This specification are subject to be changed without notice.
6.24.1998
6
EM78860
t
8-BIT MICRO-CONTROLLER
• Bit4(Read Only)(Low battery signal) 0/1 = Battery voltage is low/Normal .
If the battery voltage is under 3.6V then sends a ‘0’ signal to RA register bit4 or a ‘1’ signal to this Bit if VDD
is over 3.8V.
• Bit5(read/Write)(Low battery detect enable)
0/1 = low battery detect DISABLE/ENABLE.
The relation between /LPD,/POVD and /LOW_BAT can see Fig6.
The relation between 32.768K and 3.679M can see Fig7.
PLL
32.768K
3.679M
/358E
switch
1
To system clock
0
Fig7. The relation between 32.768K and 3.679K .
• Bit7 IDLE: sleep mode selection bit
0/1=sleep mode/IDLE mode. This bit will decide SLEP instruction which mode to go.
These IDLE mode can be waken up by TCC clock or Watch Dog or PORT9 and run from “SLEP” next
instruction.
These SLEEP mode can be waken up by Watch Dog or PORT9 and run from address “00”.