EMC EM73201BK 4-bit micro-controller for general purpose product Datasheet

EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
GENERAL DESCRIPTION
EM73201 is an advanced single chip CMOS 4-bit micro-controller. It contains 2K-byte ROM, 52-nibble RAM,
4-bit ALU, 13-level subroutine nesting, 22-stage time base, one 12-bit timer/counter for the kernel function.
EM73201 also contains 5 interrupt sources, 4 I/O ports (including 1 input port, 1 output port for LED driving,
2 bidirection I/O ports) built-in watch-dog-time counter and one high frequency clock output for modulating
infrared signal.
Except low-power consumption and high speed, EM73201 also have a sleep and hold mode operation for the
power saving function.
EM73201 is suitable for application in family appliance, consumer products and toy controller.
FEATURES
• Operation voltage
• Clock source
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
: 2.4V to 6.0V (clock frequency: 32 KHz to 5 MHz)
: Single clock system for RC , Crystal and external clock source, available by
mask option.
Instruction set
: 109 powerful instructions.
Instruction cycle time
: Up to 2µs for 4.19MHz .
ROM capacity
: 2048 x 8 bits.
RAM capacity
: 52 x 4 bits.
Input port
: 1 port (P0).
Output port
: 1 port (P1).
Bidirection I/O port
: 2 ports (P7,P8).
12-bit timer/counter
: One 12-bit timer/counter is programmable for timer, even counter and pulse
width measurement mode.
Built-in time base counter : 22 stages.
Subroutine nesting
: Up to 13 levels.
Interrupt
: External interrupt . . . . . . 2 input interrupt sources.
Internal interrupt . . . . . . 1 timer overflow interrupt,
1 time base interrupt.
The built-in watch-dog-timer counter is available by mask option.
Low voltage reset is available by mask option.
High frequency clockout: Programmable high frequency clock output for modulating infrared signal.
Power saving function
: Sleep mode and Hold mode.
Package type
: EM73201H
Chip form 22 pins.
EM73201AP
DIP
18 pins.
EM73201BK
SKINNY 22 pins.
EM73201CP
DIP
16 pins.
APPLICATIONS
EM73201 is suitable for application in family appliance, consumer products and the toy controller.
* This specification are subject to be changed without notice.
7.20.1999
1
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
PIN CONFIGURATIONS
EM73201AP
P8.3
P7.0
P7.1
P7.2
P7.3
P1.0
P1.1
P1.2
VSS
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
EM73201BK
P8.0
P8.3
P7.0
P7.1
P7.2
P7.3
P1.0
P1.1
P1.2
P1.3
VSS
VDD
P8.2
XOUT
XIN
TEST
P0.3
P0.2
P0.1
P0.0
1
2
3
4
5
6
7
8
9
10
11
22
21
20
19
18
17
16
15
14
13
12
EM73201CP
VDD
P7.0
P7.2
P7.3
P1.0
P1.1
P1.2
VSS
VDD
P8.2
RESET
P8.1
XOUT
XIN
TEST
P0.3
P0.2
P0.1
P0.0
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
RESET
XOUT
XIN
TEST
P0.3
P0.2
P0.1
P0.0
EM73201AP must enable low voltage reset
FUNCTIONAL BLOCK DIAGRAM
XIN/CLK XOUT/NC
RESET
Reset
Control
WDT
Clock
Generator
Sleep Mode
Control
Timing
Generator
System Control
Data pointer
Instruction Decoder
Instruction Register
Time
Base
ROM
12 bits
timer
counter
Stack pointer
ACC
Data Bus
Interrupt
Control
Stack
ALU
ROM
Flag
Z
C
S
G
HR
LR
PC
I/O Control
P0.0/WAKEUP0
P0.1/WAKEUP1
P0.2/WAKEUP2
P0.3/WAKEUP3
* This specification are subject to be changed without notice.
P7.0
P7.1
P7.2
P7.3
P8.0/INT1
P8.1
P8.2/INT0
P8.3/TRGA
P1.0/CLKOUT
P1.1
P1.2
P1.3
Infrared Control
7.20.1999
2
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
PIN DESCRIPTIONS
Symbol
Pin- Type
VDD
Vss
RESET
RESET-A
XIN/CLK
XOUT/NC
P(0..3)/WAKEUP0..3
OSC-A/OSC-C
OSC-A
INPUT-C
P1.0/CLKOUT
OUTPUT-B
P1(1..3)
OUTPUT-A
P7(0..3)
I/O-U
P8.0/INT1,P8.2/INT0
I/O-W
P8.3/TRGA
I/O-V
P8.1
I/O-W
Function
Power supply (+)
Power supply (-)
System reset input signal, low active
mask option:
none
pull-up
Crystal/RC or external clock source connecting pin
Crystal connecting pin or NC for RC osc. type
4-bit input port with Sleep/Hold releaseing func tion
mask option : none
pull-up
pull-down
1-bit high current output pin for LED driving or clock output for
infrared signal
mask option : open-drain, normal sink
open-drain, high sink
normal source, normal sink
normal source, high sink
3-bit high current output pin for LED driving
mask option : open-drain, normal sink
open-drain, high sink
normal source, normal sink
normal source, high sink
4-bit bidirection I/O port
mask option : open-drain, normal sink
low source, normal sink
normal source, normal sink
normal source, high sink
high source, high sink
2-bit bidirection I/O pins with external interrupt sources input
mask option : open-drain, normal sink
low source, normal sink
normal source, normal sink
normal source, high sink
high source, high sink
1-bit bidirection I/O pin with timer/counter A external input
mask option : open-drain, normal sink
low source, normal sink
normal source, normal sink
normal source, high sink
high source, high sink
1-bit bidirection I/O pin
mask option : open-drain, normal sink
low source, normal sink
normal source, normal sink
normal source, high sink
high source, high sink
* This specification are subject to be changed without notice.
7.20.1999
3
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
FUNCTION DESCRIPTIONS
inary
m
i
l
e
r
P
PROGRAM ROM ( 2K X 8 bits )
2 K x 8 bits program ROM contains user's program and some fixed data .
The basic structure of program ROM can be divided into 5 parts.
1. Address 000h: Reset start address.
2. Address 002h - 00Ch: 4 kinds of interrupt service rountine entry addresses .
3. Address 00Eh-086h : SCALL subroutine entry address, only available at 00Eh,016h,01Eh,026h, 02Eh,
036h, 03Eh, 046h, 04Eh, 056h, 05Eh, 066h, 06Eh, 076h ,07Eh, 086h .
4. Address 000h - 7FFh : LCALL subroutine entry address
5. Address 7E0h - 7FFh : The data region for 5-to-8 bits data conversion table .
6. Address 000h - 7FFh : Except used as above function, the other region can be used as user's program region.
address
000h
002h
004h
006h
008h
00Ah
00Ch
00Eh
086h
..
.
2048 x 8 bits
Reset start address
INT0; External interrupt service routine entry address
TRGA, Timer/counterA interrupt service routine entry address
TBI; Time base interrupt service routine entry address
INT1; External interrupt service routine entry address
SCALL, subroutine call entry address
..
.
7FFh
User's program and fixed data are stored in the program ROM. User's program is according the PC value
to send next executed instruction code. Fixed data can be read out by two ways.
(1) Table-look-up instruction:
Table-look-up instruction is depended on the Data Pointer ( DP ) to indicate to ROM address, then to get
the ROM code data.
LDAX
LDAXI
Acc ← ROM[DP]L
Acc ← ROM[DP]H,DP+1
DP is a 12-bit data register which can store the program ROM address to be the pointer for the ROM
code data. First, user load ROM address into DP by instruction "STADPL, STADPM, STADPH",
then user can get the lower nibble of ROM code data by instruction "LDAX" and higher nibble by
instruction "LDAXI".
PROGRAM EXAMPLE: Read out the ROM code of address 777h by table-look-up instruction.
LDIA #07h;
STADPL
STADPM
STADPH
:
LDL #00h;
LDH #03h;
LDAX
; [DP]L ← 07h
; [DP]M ← 07h
; [DP]H ← 07h, Load DP=777h
; ACC ← 6h
* This specification are subject to be changed without notice.
7.20.1999
4
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
STAMI
LDAXI
STAM
:
; RAM[30] ← 6h
; ACC ← 5h
; RAM[31] ← 5h
inary
m
i
l
e
r
P
ORG 777h
DATA 56h;
:
DATA RAM ( 52-nibble )
There is total 52 - nibble data RAM from address 00 to 33h
Data RAM includes 3 parts: zero page region, stacks and data area.
Increment
Address
Level 0
Level 1
Level 2
Level 3
10h - 1Fh
Level 4
Level 5
Level 6
Level 7
20h - 2Fh
Level 8
Level 9
Level 10
Level 11
30h - 33h
Level 12
Stack
Increment
00h - 0Fh
Zero-page
ZERO- PAGE:
From 00h to 0Fh is the location of zero-page. It is used as the pointer in zero-page addressing mode for the
instruction of "STD #k,y; ADD #k,y; CLR y,b; CMP k,y".
PROGRAM EXAMPLE:
To wirte immediate data "07h" to address "03h" of RAM and to clear bit 2 of RAM.
STD #07h, 03h ; RAM[03] ← 07h
CLR 0Eh,2 ; RAM[0Eh]2 ← 0
STACK:
There are 13 - level (maximum) stack for user using for subroutine (including interrupt and CALL). User
can assign any level be the starting stack by giving the level number to stack pointer (SP).
When user using any instruction of CALL or subroutine, before entry the subroutine, the previous PC address
will be saved into stack until return from those subroutines, the PC value will be restored by the data saved
in stack.
DATA AREA:
Except the special area used by user, the whole RAM can be used as data area for storing and loading general
data.
ADDRESSING MODE
(1) Indirect addressing mode:
Indirect addressing mode indicates the RAM address by specified HL register.
For example: LDAM ; Acc ← RAM[HL]
STAM ; RAM[HL] ← Acc
(2) Direct addressing mode:
Direct addressing mode indicates the RAM address by immediate data.
* This specification are subject to be changed without notice.
7.20.1999
5
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
For example: LDA x ; Acc← RAM[x]
STA x ; RAM[x] ← Acc
(3) Zero-page addressing mode
For zero-page region, user can using direct addressing to write or do any arithematic, comparsion
or bit manupulated operation directly.
For example: STD #k,y ; RAM[y] ← #k
ADD #k,y; RAM[y] ← RAM[y] + #k
PROGRAM COUNTER (2K ROM)
Program counter ( PC ) is composed by a 12-bit counter, which indicates the next executed address for the
instruction of program ROM.
For a 2 K - byte size ROM, PC can indicate address form 000h - 7FFh, for BRANCH and CALL instrcutions,
PC is changed by instruction indicating.
(1) Branch instruction:
SBR a
Object code: 00aa aaaa
Condition: SF=1; PC ← PC 11-6.a ( branch condition satisified )
PC Hold original PC value+1 a a
a
a
a
a
SF=0; PC← PC +1( branch condition not satisified)
PC
Original PC value + 1
LBR a
Object code: 1100 aaaa aaaa aaaa
Condition: SF=1; PC ← a ( branch condition satisified)
PC
0 a
a
a
a
a
a
a
a
a
a
a
SF=0 ; PC ← PC + 2 ( branch condition not satisified )
PC
Original PC value + 2
(2) Subroutine instruction:
SCALL a
Object code: 1110 nnnn
Condition : PC ← a ; a=8n+6 ; n=1..15 ; a=86h, n=0
PC
0
0
0
0
a
a
a
a
a
a
a
a
LCALL a
Object code: 0100 0 aaa aaaa aaaa
Condition: PC ← a
* This specification are subject to be changed without notice.
7.20.1999
6
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
PC 0
a
a
a
a
inary
m
i
l
e
r
P
a
a
a
a
a
a
a
RET
Object code: 01 00 1 1 1 1
Condition: PC ← STACK[SP]; SP + 1
PC
The return address stored in stack
RT I
Object code: 0100 1101
Condition : FLAG. PC ← STACK[SP]; EI ← 1; SP + 1
PC
The return address stored in stack
(3) Interrupt acceptance operation:
When an interrupt is accepted, the original PC is pushed into stack and interrupt vector will be loaded into
PC,The interrupt vectors are as following:
INT0 (External interrupt from P8.2)
PC 0
0
0
0
0
0
0
0
0
0
1
0
TRGA (Timer A overflow interrupt)
PC 0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
TBI (Time base interrupt)
PC 0
0
0
INT1 (External interrupt from P8.0)
PC 0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
(4) Reset operation:
PC 0
(5) Other operations:
For 1-byte instruction execution: PC + 1
For 2-byte instruction execution: PC + 2
ACCUMULATOR
Accumulator is a 4-bit data register for temporary data . For the arithematic, logic and comparative opertion
.., ACC plays a role which holds the source data and result .
FLAGS
* This specification are subject to be changed without notice.
7.20.1999
7
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
There are four kinds of flag, CF ( Carry flag ), ZF ( Zero flag ), SF ( Status flag ) and GF ( General flag ),
these 4 1-bit flags are affected by the arithematic, logic and comparative .... operation .
All flags will be put into stack when an interrupt subroutine is served, and the flags will be restored after
RTI instruction executed .
(1) Carry Flag ( CF )
The carry flag is affected by following operation:
a. Addition : CF as a carry out indicator, when the addition operation has a carry-out, CF will be "1",
in another word, if the operation has no carry-out, CF will be "0".
b. Subtraction : CF as a borrow-in indicator, when the subtraction operation must has a borrow, in the CF
will be "0", in another word, if no borrow-in, CF will be "1".
c. Comparision: CF is as a borrow-in indicator for Comparision operation as the same as subtraction
operation.
d. Rotation: CF shifts into the empty bit of accumulator for the rotation and holds the shift out data after
rotation.
e. CF test instruction : For TFCFC instruction, the content of CF sends into SF then clear itself "0".
For TTSFC instruction, the content of CF sends into SF then set itself "1".
(2) Zero Flag ( ZF )
ZF is affected by the result of ALU, if the ALU operation generate a "0" result, the ZF will be "1",
otherwise, the ZF will be "0".
(3) Status Flag ( SF )
The SF is affected by instruction operation and system status .
a. SF is initiated to "1" for reset condition .
b. Branch instruction is decided by SF, when SF=1, branch condition will be satisified, otherwise,
branch condition will not be satisified by SF = 0 .
(4) General Flag ( GF )
GF is a one bit general purpose register which can be set, clear, test by instruction SGF, CGF and TGS.
PROGRAM EXAMPLE:
Check following arithematic operation for CF, ZF, SF
LDIA #00h;
LDIA #03h;
ADDA #05h;
ADDA #0Dh;
ADDA #0Eh;
CF
-
ZF
1
0
0
0
0
* This specification are subject to be changed without notice.
SF
1
1
1
0
0
7.20.1999
8
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
ALU
The arithematic operation of 4 - bit data is performed in ALU unit . There are 2 flags can be affected by
the result of ALU operation, ZF and SF . The operation of ALU can be affected by GF only .
ALU STRUCTURE
ALU supported user arithematic operation function, including : addition, subtraction and rotaion.
DATA BUS
ALU
ZF CF SF GF
ALU FUNCTION
(1) Addition:
For instruction ADDAM, ADCAM, ADDM #k, ADD #k,y .... ALU supports addition function.
The addition operation can affect CF and ZF. For addition operation, if the result is "0", ZF will be "1",
otherwise, not equal "0", ZF will be "0", When the addition operation has a carry-out. CF will be "1",
otherwise, CF will be "0".
EXAMPLE:
Operation
3+4=7
7+F=6
0+0=0
8+8=0
Carry
0
1
0
1
Zero
0
0
1
1
(2) Subtraction:
For instruction SUBM #k, SUBA #k, SBCAM, DECM... ALU supports user subtraction function . The
subtraction operation can affect CF and ZF, For subtraction operation, if the result is negative, CF will
be "0", it means a borrow out, otherwise, if the result is positive, CF will be "1". For ZF, if the result
of subtraction operation is "0", the ZF will be "1", otherwise, ZF will be "0".
EXAMPLE:
Operation
8-4=4
7-F= -8(1000)
9-9=0
Carry
1
0
1
Zero
0
0
1
* This specification are subject to be changed without notice.
7.20.1999
9
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
(3) Rotation:
There are two kinds of rotation operation, one is rotation left, the other is rotation right.
RLCA instruction rotates Acc value to left, shift the CF value into the LSB bit of Acc and the shift out data
will be hold in CF.
MSB LSB
ACC
CF
RRCA instruction operation rotates Acc value to right, shift the CF value into the MSB bit of Acc and the
shift out data will be hold in CF.
MSB LSB
ACC
CF
PROGRAM EXAMPLE: To rotate Acc right and shift a "1" into the MSB bit of Acc .
TTCFS; CF ← 1
RRCA; rotate Acc right and shift CF=1 into MSB.
HL REGISTER
HL register are two 4-bit registers, they are used as a pair of pointer for the address of RAM memory and also
2 independent temporary 4-bit data registers. For some instruction, L register can be a pointer to indicate the
pin number ( Port7 ) .
HL REGISTER STRUCTURE
3 2
1 0
3 2 1 0
H REGISTER L REGISTER
HL REGISTER FUNCTION
(1) For instruction : LDL #k, LDH #k, THA, THL, INCL, DECL, EXAL, EXAH, HL register used as a
temporary register .
PROGRAM EXAMPLE: Load immediate data "5h" into L register, "Dh" into H register.
LDL #05h;
LDH #0Dh;
(2) For instruction LDAM, STAM, STAMI .., HL register used as a pointer for the address of RAM memory.
PROGRAM EXAMPLE: Store immediate data #Ah into RAM of address 35h.
* This specification are subject to be changed without notice.
7.20.1999
10
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
LDL #5h;
LDH #3h;
STDMI #0Ah; RAM[35] ← Ah
inary
m
i
l
e
r
P
(3) For instruction : SELP, CLPL, TFPL, L regieter be a pointer to indicate the bit of I/O port.
When LR = C - F, indicate P7.0 - P7.3
PROGRAM EXAMPLE: To set bit 2 of Port7 to "1"
LDL #0Eh;
SEPL ; P7.2 ← 1
STACK POINTER (SP)
Stack pointer is a 4-bit register which stores the present stack level number.
Before using stack, user must set the SP value first, CPU will not initiate the SP value after reset condition
. When a new subroutine is accepted, the SP will be decreased one automatically, in another word, if
returning from a subroutine, the SP will be increased one .
The data transfer between ACC and SP is by instruction of "LDASP" and "STASP".
DATA POINTER (DP)
Data pointer is a 12-bit register which stores the address of ROM can indicate the ROM code data
specified by user (refer to data ROM).
CLOCK AND TIMING GENERATOR
The clock generator is supported by a single clock system, the clock source comes from crystal (resonator
or RC oscillation is decided by mask option . the working frequency range is 32 K Hz to 5 MHz depending
on the working voltage.
CLOCK AND TIMING GENERATOR STRUCTURE
The clock generator connects outside compoments ( crystal or resonator by XIN and XOUT pin for crystal
osc type, Resistor and capacitor by CLK pin for RC osc type, these two type is decided by mask option ).
the clock generator generates a basic system clock "fc".
When CPU sleeping, the clock generator will be stoped until the sleep condition released.
The system clock control generates 4 basic phase signals ( S1, S2, S3, S4 ) and system clock .
Mask option
sleep
Mask option for choose Crystal or RC oscillation
XIN/CLK
clock generator
fc
System clock
System clock control
XOUT
S1
* This specification are subject to be changed without notice.
S2
S3
S4
7.20.1999 11
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
XIN/CLK
XIN/CLK
XOUT
XOUT
Crystal connection
RC connection
CLOCK AND TIMING GENERATOR FUNCTION
The frequency of fc is the oscillation frequency for XIN, XOUT by crystal ( resonator) or for CLK by RC
osc.
When CPU sleeps, the XOUT pin will be in "high" state .
When user chooses RC osc, XOUT pin is no used .
The instruction cycle equal 8 basic clock fc.
1 instructure cycle = 8 / fc
TIMING GENERATOR AND TIME BASE
The timing generator produces the system clock from basic clock pulse which can be normal mode or slow
mode clock.
1 instruction cycle = 8 basic clock pulses
There are 22 stages time base .
Prescaler
fc
1 2 3
4
Binary counter
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
When working in the single clock mode, the timebase clock source is come from fc that is RC oscillation.
Time base provides basic frequency for following function:
1. TBI (time base interrupt) .
2. Timer/counter, internal clock source.
3. Warm-up time for sleep - mode releasing.
TIME BASE INTERRUPT (TBI )
The time base can be used to generate a fixed frequency interrupt . There are 8 kinds of frequencies can be
selected by setting "25"
Single clock mode
P25 3 2 1 0
( initial value 0000 )
0 0 x x: Interrupt disable
0 1 0 0: Interrupt frequency XIN / 210 Hz
0 1 0 1: Interrupt frequency XIN / 211 Hz
0 1 1 0: Interrupt frequency XIN / 212 Hz
0 1 1 1: Interrupt frequency XIN / 213 Hz
1 1 0 0: Interrupt frequency XIN / 29 Hz
1 1 0 1: Interrupt frequency XIN / 28 Hz
1 1 1 0: Interrupt frequency XIN / 215 Hz
1 1 1 1: Interrupt frequency XIN / 217 Hz
1 0 x x: Reserved
* This specification are subject to be changed without notice.
7.20.1999
12
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
TIMER / COUNTER ( TIMERA)
Timer/counters can support user three special functions:
1. Even counter
2. Timer.
3. Pulse-width measurement.
These three functions can be executed by timer/counter.
For timerA, the counter data is saved in timer register TAH, TAM, TAL, which user can set counter
initial value and read the counter value by W/B instruction "LDATAH (B,L), STATAH (B,L)".
The counter can be set initial value and send counter value to timer register. P28 is the command port
for timerA , user can choose different operation mode and different internal clock rate by setting the
port. When timer/counter overflow, it will generate a TRGA interrupt request to interrupt control unit.
INTERRUPT CONTROL
TRGA request
DATA BUS
12 BIT COUNTER
EVENT COUNTER CONTROL
P8.3/
TRGA
TIMER CONTROL
internal clock
PULSE-WIDTH MEASUREMENT
CONTROL
P28
TMSA
IPSA
TIMER/COUNTER CONTROL
P8.3/TRGA is the external timer inputs for timerA, it used in event counter and pulse-width
measurement mode.
Timer/counter command port: P28 is the command port for timer/counterA.
Port 28 3
2
1
0
TMSA IPSA
Initial state: 0000
TIMER/COUNTER MODE SELECTION
TMSA
Function description
00
Stop
0 1
Event counter mode
10
Timer mode
11
Pulse width measurement mode
* This specification are subject to be changed without notice.
7.20.1999 13
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
INTERNAL PULSE-RATE SELECTION
IPSA
Function description
00
XIN/210 Hz
0 1
XIN/2
1 0
XIN/2
11
XIN/2
14
Hz
18
Hz
22
Hz
TIMER/COUNTER FUNCTION
EVENT COUNTER MODE
For event counter mode, timer/counter increases one at any rising edge of P8.3/TRGA for timerA. When
timerA counts overflow, it will give interrupt control an interrupt request TOFIA.
P8.3/TRGA
TimerA value
n
n+1
n+2
n+3
n+4
n+5
n+6
PROGRAM EXAMPLE: Enable timerA with P28.
LDIA #0100B;
OUTA P28; Enable timerA with event counter mode
TIMER MODE
For timer mode ,timer/counter increase one at any rising edge of internal pulse . User can choose 4 kinds
of internal pulse rate by setting IPSA for timerA.
When timer/counter counts overflow, TRGA will be generated to interrupt control unit.
Internal pulse
TimerA value
n
n+1
n+2
n+3
n+4
n+5
n+6
n+7
PROGRAM EXAMPLE: To generate TRGA interrupt request after 60 ms with system clock XlN=4MHz
LDIA #0100B;
EXAE; enable mask 2
EICIL 110111B; interrupt latch ←0, enable EI
LDIA #06H;
STATAL;
* This specification are subject to be changed without notice.
7.20.1999
14
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
LDIA #01H;
STATAM;
LDIA #0FH;
STATAH;
LDIA #1000B;
OUTA P28; enable timerA with internal pulse rate: XIN/210 Hz
NOTE:
The preset value of timer/counter register is calculated as following procedure.
Internal pulse rate: XIN/210 ; XIN = 4MHz
The time of timer counter count one = 210 /XIN = 1024/4000=0.256ms
The number of internal pulse to get timer overflow = 60 ms/ 0.256ms = 234.375 = 0EAH
The preset value of timer/counter register = 1000H - 0EAH = 0F16H
PULSE WIDTH MEASUREMENT MODE
For the pulse width measurement mode, the counter only incresed by the rising edge of internal pulse rate as
external timer/counter input (P8.3/TRGA ), interrupt request will be generated as soon as timer/counter
overflow.
P8.3/TRGA
Internal pulse
TimerA value
n
n+1
n+2
n+3
n+4
n+5
PROGRAM EXAMPLE: Enable timerA by pulse width measurement mode .
LDIA #1100B;
OUTA P28; Enable timerA with pulse width measurement mode.
INTERRUPT FUNCTION
There are 4 interrupt sources, 2 external interrupt sources, 2 internal interrupt sources . Multiple
interrupts are admitted according the priority .
Type
External
Internal
Internal
Internal
Internal
External
Interrupt source
External interrupt(INT0)
Reserved
TimerA overflow interrupt (TRGA)
Reserved
Time base interrupt(TBI)
External interrupt(INT1)
Priority
Interrupt
Latch
Interrupt
Enable condition
Program ROM
entry address
1
2
3
4
5
6
IL5
IL4
IL3
IL2
IL1
IL0
EI=1
EI=1, MASK3=1
EI=1, MASK2=1
EI=1, MASK1=1
002h
004h
006h
008h
00Ah
00Ch
* This specification are subject to be changed without notice.
EI=1,MASK0=1
7.20.1999 15
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
INTERRUPT STRUCTURE
inary
m
i
l
e
r
P
MASK0 MASK1 MASK1 MASK2 MASK3
Reset by system reset and program
instruction
INT1
r0
TBI
r1
IL0
IL1
TRGA
r3
r2
IL2
r4
IL3
IL4
INT0
r5
IL5
Priority checker
Reset by system reset and program
instruction
Set by program instruction
EI
Interrupt request
Entry address generator
Interrupt entry address
Interrupt controller:
IL0-IL5
: Interrupt latch . Hold all interrupt requests from all interrupt sources. ILr can not be
set by program, but can be reset by program or system reset, so IL only can decide
which interrupt source can be accepted.
MASK0-MASK3
: Except INT0 ,MASK register can promit or inhibit all interrupt sources.
EI
: Enable interrupt Flip-Flop can promit or inhibit all interrupt sources, when interrupt happened, EI is cleared to "0" automatically, after RTI instruction happened,
EI will be set to "1" again .
Priority checker: Check interrupt priority when multiple interrupts happened.
INTERRUPT FUNCTION
The procedure of interrupt operation:
1. Push PC and all flags to stack.
2. Set interrupt entry address into PC.
3. Set SF= 1.
4. Clear EI to inhibit other interrupts happened.
5. Clear the IL for which interrupt source has already be accepted.
6. To excute interrupt subroutine from the interrupt entry address.
7. CPU accept RTI, restore PC and flags from stack . Set EI to accept other interrupt requests.
PROGRAM EXAMPLE: To enable interrupt of "INT0, TRGA"
LDIA #1100B;
EXAE; set mask register "1100B"
EICIL 111111B ; enable interrupt F.F.
POWER SAVING FUNCTION ( Sleep / Hold functlon )
* This specification are subject to be changed without notice.
7.20.1999
16
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
During sleep and hold condition, CPU holds the system's internal status with a low power consumption, for
the sleep mode, the system clock will be stoped in the sleep condition and system need a warm up time for
the stability of system clock running after wakeup . In the other way, for the hold mode, the system clock
does not stop at all and it does not need a warm-up time any way.
The sleep and hold mode is controlled by Port 16 and released by P0(0..3)/WAKEUP0-3.
P16
3
2
1
0
WM SE SWWT
initial value :0000
WM Set wake-up release mode
0
1
SWWT Set wake-up warm-up time
0 0 218 /XIN
0 1 214 /XIN
1 0 216 /XIN
1 1 Hold mode
Wake-up in edge release mode
Reserved
SE Enable sleep/hold
0 Reserved
1 Enable sleep / hold rnode
Sleep and hold condition:
1. Osc stop ( sleep only ) and CPU internal status held .
2. Internal time base clear to"0"
3. CPU internal memory ,flags, register, I/O held original states.
4. Program counter hold the executed address after sleep release.
Release condition:
1. Osc start to oscillating.(sleep only)
2. Warm-up time passing ( sleep only ).
3. According PC to execute the following program.
There is one kind of sleep/hold release mode .
1.Edge release mode:
Release sleep/hold condition by the falling edge of any one of P0(0..3)/WAKEUP0-3.
Note : There is only one mask option for weakeup function in EM73201. So,the weakeup function of
P0(0..3)/WAKEUP0..3 are enabled or disabled together.
INFRARED SIGNAL
The infrared signal generator supports user different frequencies and duties clock signal by P1.0/CLKOUT
pin.
The basic structure of infrared signal generator is composed by a frequency divider and a duty controller,
these two parts generate differen frequencies and dutyies according to the command port, Port4 and Port5,
assigned . When the CPU is reseted, the CPU is reseted, the P1.0/CLKOUT pin will keep high.
PORT5
PORT4
E
3
2
1
0
A
B
3
2
C
1
D
0
initial state : 0 x x x initial state : 0 0 0 0
* This specification are subject to be changed without notice.
7.20.1999 17
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
Infrared signal command port
PORT4
PORT5
Frequecy divider
fc
Duty controller
P1.0/CLKOUT
E
X
1
0
0
0
0
0
0
0
0
A
0
1
1
1
1
1
1
1
1
1
B
X
X
0
0
0
0
1
1
1
1
C
X
X
0
0
1
1
0
0
1
1
D
X
X
0
1
0
1
0
1
0
1
CLK OUT
HIGH
fc/12
fc/8
fc/16
fc/32
fc/64
LOW
fc/16 ; 1/4 duty
fc/16 ; 1/2 duty
fc/16 ; 3/4 duty
fc
fc/8
fc/16
fc/64
fc/16 , 1/4 duty
fc/16 , 1/2 duty
fc/16 , 3/4 duty
Program example:
To disable CLKOUT before sleep.
LDIA #0000B;
OUTA P5;
OUTA P4; set clkout pin in high state
LDIA #0100B;
OUTA P16; Sleep
:
To enable a CLKOUT signal with frequency
fc/16, 3/4 duty .
LDIA #0000B;
OUTA P5;
LDIA #1111B;
OUTA P4;
:
WATCH-DOG-TIMER
Watch-dog-timer (WDT) can help user to detect the malfunction (runaway) of CPU and give system a time
up signal every certain time. User can use the time up signal to give system a reset signal when system is fail.
The watch-dog-timer is enabled or disabed by mask option. If the mask option of WDT is enabled and the
CPU is reseted or waked up, the WDT will be cleared and counting. When the CPU is sleeping, the WDT
will be disabled.
The basic structure of watch-dog-timer control is composed by a 4-stage binary counter and a control unit.
The WDT counter counts for a certain time to check the CPU status, if there is no malfunction happened, the
counter will be cleared and counting. Otherwise, if there is a malfunction happened, the WDT control will
send a signal (low active) to reset CPU. The WDT checking period is assign by P21 (WDT command port).
* This specification are subject to be changed without notice.
7.20.1999
18
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
WDT counter
17
fc/2
0
1
2
3
WDT control
counter clear request
system reset
F/F
RQ
S
RESET pin
P21
WDT
command port
P21 is the control port of watch-dog-timer, and the WDT time up signal is connected to reset pin, user can
use this time up signal (active low) to reset CPU and initialize system.
P21
3
2
CWC *
1
0
initial value :0000
* WDT
CWC
0
1
Clear watch-dog-timer counter
Clear counter then return to 1
Nothing
WDT
Set watch-dog-timer System clock frequency
detect time
4MHz
32KHz
3 x 217 /fc
98ms
12sec
17
229ms
28sec
7 x 2 /fc
0
1
Program example:
To clear WDT with 7 x 217/fc detection time.
LDIA #0001B;
OUTA P21
:
; set WDT detection time and clear WDT counter
:
RESETTING FUNCTION
When CPU in normal working condition and RESET pin holds in low level for three instruction cycles
at least, then CPU begins to initialize the whole internal states, and when RESET pin changes to high
level, CPU begins to work in normal condition.
The CPU internal state during reset condition is as following table :
Hardware condition in RESET state
Program counter
Status flag
Interrupt enable flip-flop ( EI )
MASK0 ,1, 2, 3
Interrupt latch(IL)
P4, P5, P16, P25, P28
P1, P7, P8
XIN
* This specification are subject to be changed without notice.
Initial value
000h
01h
00h
00h
00h
00h
0Fh
Start oscillation
7.20.1999 19
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
The RESET pin is a hysteresis input pin and has a pull-up resistor avavailable by mask option.
The simplest RESET circuit is connect RESET pin with a capacitor to VSS and a diode to VDD.
RESET
EM73201 I/O PORT DESCRIPTION :
Port
0 E
1
2
3
4
5
6
7 E
8 E
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Input function
Input port , wakeup function
------Input port
Input port, external interrupt input
--------
Output function
E
I
I
E
E
I
I
I
I
Note
with LED driving, P1.0 is shared with CLKOUT
--Infrared signal control register
Infrared signal control register
-Output port
Output port
-------Sleep/Hold mode control register
----WDT control register
---Timebase control register
--Timer/counter A control register
----
* This specification are subject to be changed without notice.
7.20.1999
20
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
ABSOLUTE MAXIMUM RATINGS
Items
inary
m
i
l
e
r
P
Sym.
Supply Voltage
Input Voltage
Output Voltage
Power Dissipation
Operating Temperature
Storage Temperature
Ratings
VDD
VIN
VO
PD
TOPR
TSTG
Conditions
-0.5V to 6V
-0.5V to VDD+0.5V
-0.5V to VDD+0.5V
300mW
0oC to 50oC
-55oC to 125oC
TOPR=50oC
RECOMMANDED OPERATING CONDITIONS
Items
Sym.
Supply Voltage
Input Voltage
VDD
VIH
VIL
FC
Operating Frequency
Ratings
Condition
2.4V to 6.0V
0.90xVDD to VDD
0V to 0.10xVDD
32K to 4MHz
32K to 5MHz
CLK (RC osc)
XIN,XOUT (crystal osc)
DC ELECTRICAL CHARACTERISTICS (VDD=5±0.5V, VSS=0V, TOPR=25oC)
Parameters
Supply current
Sym.
Typ. Max.
-
0.7
60
2
110
Frequency stability
0.50VDD
0.20VDD
5
5
20
2.4
3.5
3.0
30
100
-
0.1
90
300
10
1
0.75VDD
0.40VDD
±1
±1
1
1.5
1
150
450
-
Frequency variation
-
20
-
Low voltage reset level
3.3
-
4.0
Hysteresis voltage
IDD
Min.
Input current
VHYS+
VHYSIIH
Output current
(Port 1)
IOH
IOL
Output voltage
(Port 7 Port8)
VOH
VOL
Leakage current
Input resistor
IOL
RIN
* This specification are subject to be changed without notice.
Unit
Conditions
mA VDD=5.5V,no load Fc=4.19MHz (crystal osc)
µA VDD=5.5V,no load
sleep mode, low voltage reset enable
µA VDD=5.5V, sleep mode, low voltage reset disable
V
RESET, P0, P8
V
µA RESET , P0, VDD=5.5V,VIH=5.5/0V
µA Open-drain:VDD=5.5V,VIH=5.5/0V
mA P1 normal source, VDD=4.5V ,VOH=3.5V
mA P1 normal sink, VDD=4.5V ,VOL=1.0V
mA P1 high sink, VDD=4.5V ,VOL=1.0V
V
P7,P8 low source,VDD=4.5V, IOH=-250µA
V
P7,P8 normal source,VDD=4.5V,IOH=-5mA
V
P7,P8 high source,VDD=4.5V,IOH=-20mA
V
P7,P8 normal sink,VDD=4.5V,IOL=5mA
V
P7,P8 high sink,VDD=4.5V,IOL=20mA
µA Open drain,VDD=5.5V,VO =5.5V
KΩ P0
KΩ RESET
%
Fc=4MHz, RC osc (R=7.5kΩ, C=20pF)
[Fc=(4.5V)-F(3.6V)]/F(4.5V)
%
Fc=4MHz, VOL=4.5V, RC osc
[F(typical)-F(worse case)]/F(typical)
V
7.20.1999 21
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
RESET PIN TYPE
TYPE RESET-A
RESET
mask option
OSCILLATION PIN TYPE
TYPE OSC-A
TYPE OSC-C
XIN
Crystal
Osc.
RC Osc.
(comparator)
CLK
XOUT
INPUT PIN TYPE
TYPE INPUT-A
TYPE INPUT-C
WAKEUP function mask option
: mask option
OUTPUT PIN TYPE
TYPE OUTPUT
P0.0/WAKEUP0
TYPE INPUT-A
P0.1/WAKEUP1
TYPE INPUT-A
P0.2/WAKEUP2
TYPE INPUT-A
P0.3/WAKEUP3
TYPE INPUT-A
TYPE OUTPUT-C
Input
data
TYPE
OUTPUT
Output
data
latch
Output
data
maskoption
option
::mask
* This specification are subject to be changed without notice.
7.20.1999
22
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
TYPE OUTPUT-B
Input
data
TYPE
OUTPUT
MUX
Output
data
latch
Output
data
Special function
control output
I/O PIN TYPE
TYPE I/O_T
TYPE I/O-U
path B
path A
Output
data
latch
TYPE I/O_T
Input
data
Output
data
: mask option
TYPE I/O-V
TYPE I/O-W
path B
path A
Input
data
path B
SEL
path A
TYPE I/O_T
Path A :
Path B :
Output
data
latch
Output
data
TYPE I/O_T
Output
data
latch
Special function
control input
Input data
Output
data
For set and clear bit of port instructions, data goes through path A from output data latch to CPU.
For input and test instructions, data from output pin go through path B to CPU and the output data latch
will be set to high.
* This specification are subject to be changed without notice.
7.20.1999 23
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
APPLICATION CIRCUIT
VDD
P0.3
P0.2
P0.1
P0.0
P7.3
P7.2
P7.1
P7.0
P1.1
P1.2
P1.3
P8.0
P8.1
EM73201 P8.2
P8.3
RESET
INFRARED SIGNAL
P1.0
NC/XOUT
RC OSC
CLK/XIN
V
SS
CRYSTAL OSC
CRYSTAL OSC (32KHz)
(4MHz)
C
C
XOUT/NC
C
XIN/CLK
C=20pF
* This specification are subject to be changed without notice.
C
R
XOUT
XIN
Recommended values :
C = 100~150pF
R = 10KΩ
7.20.1999
24
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
PAD DIAGRAM
P7.0
P8.3
P8.0
VDD
3
2
1
22
P8.2 RESET
21
P7.1
4
P7.2
5
P7.3
6
Y
P1.0
7
(0,0)
20
P8.1
19
18
XOUT
17
XIN
16
TEST
15
P0.3
14
P0.2
X
EM73201
P1.1
8
9
10
P1.2 P1.3
Chip Size : 1820 µm x 1510 µm
PadNo.
Symbol
1
P8.0
2
P8.3
3
P7.0
4
P7.1
5
P7.2
6
P7.3
7
P1.0
8
P1.1
9
P1.2
10
P1.3
11
VSS
12
P0.0
13
P0.1
14
P0.2
15
P0.3
16
TEST
17
XIN
18
XOUT
19
P8.1
20
RESET
21
P8.2
22
VDD
11
12
VSS P0.0
X
-301.5
-465.9
-661.2
-818.2
-818.2
-818.2
-818.2
-829.2
-706.2
-583.0
-457.4
-298.0
705.5
828.4
814.7
814.7
790.1
790.1
692.1
564.5
433.8
-123.2
13
P0.1
Y
661.2
661.2
661.2
603.1
405.1
240.7
59.8
-650.5
-650.5
-650.5
-636.4
-651.4
-651.4
-651.4
-454.3
-303.0
194.6
374.5
643.1
643.1
643.1
661.2
Unit : µm
Note : For PCB layout, IC substrate must be floated, or connect to VSS .
* This specification are subject to be changed without notice.
7.20.1999 25
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
INSTRUCTION TABLE
(1) Data Transfer
Mnemonic
Object code ( binary )
Operation description
LDA
x
LDAM
LDAX
LDAXI
LDH
#k
LDHL x
LDIA #k
LDL
#k
STA
x
STAM
STAMD
STAMI
STD
#k,y
STDMI #k
THA
TLA
0110 1010 xxxx xxxx
0101 1010
0110 0101
0110 0111
1001 kkkk
0100 1110 xxxx xx00
1101 kkkk
1000 kkkk
0110 1001 xxxx xxxx
0101 1001
0111 1101
0111 1111
0100 1000 kkkk yyyy
1010 kkkk
0111 0110
0111 0100
Acc←RAM[x]
Acc ←RAM[HL]
Acc←ROM[DP]L
Acc←ROM[DP]H,DP+1
HR←k
LR←RAM[x],HR←RAM[x+1]
Acc←k
LR←k
RAM[x]←Acc
RAM[HL]←Acc
RAM[HL]←Acc, LR-1
RAM[HL]←Acc, LR+1
RAM[y]←k
RAM[HL]←k, LR+1
Acc←HR
Acc←LR
Object code ( binary )
Operation description
Byte
2
1
1
1
1
2
1
1
2
1
1
1
2
1
1
1
Cycle
2
1
2
2
1
2
1
1
2
1
1
1
2
1
1
1
C
-
Flag
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
C
C
C
Flag
Z
Z
Z
S
C'
C'
C
C
-
Flag
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
S
C'
C'
C'
C'
C'
C'
C'
C
C
C
C'
S
1
1
1
1
1
1
1
1
1
1
C
C'
1
C'
1
1
(2) Rotate
Mnemonic
RLCA
RRCA
0101 0000
0101 0001
←CF←Acc←
→CF→Acc→
Byte
1
1
Cycle
1
1
(3) Arithmetic operation
Mnemonic
Object code ( binary )
Operation description
Byte
ADCAM
ADD
#k,y
ADDA #k
ADDAM
ADDH #k
ADDL #k
ADDM #k
DECA
DECL
DECM
INCA
0111
0100
0110
0111
0110
0110
0110
0101
0111
0101
0101
Acc←Acc + RAM[HL] + CF
RAM[y]←RAM[y] +k
Acc←Acc+k
Acc←Acc + RAM[HL]
HR←HR+k
LR←LR+k
RAM[HL]←RAM[HL] +k
Acc←Acc-1
LR←LR-1
RAM[HL]←RAM[HL] -1
Acc←Acc + 1
1
2
2
1
2
2
2
1
1
1
1
0000
1001 kkkk yyyy
1110 0101 kkkk
0001
1110 1001 kkkk
1110 0001 kkkk
1110 1101 kkkk
1100
1100
1101
1110
* This specification are subject to be changed without notice.
Cycle
1
2
2
1
2
2
2
1
1
1
1
7.20.1999
26
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
inary
m
i
l
e
r
P
INCL
INCM
SUBA #k
SBCAM
SUBM #k
0111 1110
0101 1111
0110 1110 0111 kkkk
0111 0010
0110 1110 1111 kkkk
LR←LR + 1
RAM[HL]←RAM[HL]+1
Acc←k-Acc
Acc←RAM[HLl - Acc - CF'
RAM[HL]←k - RAM[HL]
1
1
2
1
2
1
1
2
1
2
C
-
Z
Z
Z
Z
Z
C'
C'
C
C
C
(4) Logical operation
Object code ( binary )
Operation description
Byte
ANDA #k
ANDAM
ANDM #k
ORA
#k
ORAM
ORM #k
XORAM
0110
0111
0110
0110
0111
0110
0111
Acc←Acc&k
Acc←Acc & RAM[HL]
RAM[HL]←RAM[HL]&k
Acc←Acc k
Acc ←Acc RAM[HL]
RAM[HL]←RAM[HL] k
Acc←Acc^RAM[HL]
2
1
2
2
1
2
1
--
1110 0110 kkkk
1011
1110 1110 kkkk
1110 0100 kkkk
1000
1110 1100 kkkk
1001
----
Mnemonic
Cycle
2
1
2
2
1
2
1
Flag
C
Z
Z
Z
Z
Z
Z
Z
Z
S
Z'
Z'
Z'
Z'
Z'
Z'
Z'
Flag
Z
S
(5) Exchange
Mnemonic
Object code ( binary )
Operation description
Byte
Cycle
EXA x
EXAH
EXAL
EXAM
EXHL x
0110 1000 xxxx xxxx
0110 0110
0110 0100
0101 1000
0100 1100 xxxx xx00
Acc↔RAM[x]
Acc↔HR
Acc↔LR
Acc↔RAM[HL]
LR↔RAM[x],
HR↔RAM[x+1]
2
1
1
1
2
2
2
1
2
2
Mnemonic
Object code ( binary )
Operation description
Byte
SBR a
00aa aaaa
1
1
LBR a
1100 aaaa aaaa aaaa
If SF=1 then PC←PC11-6.a5-0
else null
If SF= 1 then PC←a else null
2
2
Operation description
Byte
k-RAM[y]
RAM[x]-Acc
RAM[HL] - Acc
k - HR
k - Acc
k-LR
2
2
1
2
1
2
C
-
Z
Z
Z
Z
1
1
1
1
-
-
1
C
Flag
Z
S
-
-
1
Flag
C
Z
S
(6) Branch
Cycle
-
-
1
(7) Compare
Mnemonic
CMP #k,y
CMPA x
CMPAM
CMPH #k
CMPIA #k
CMPL #k
Object code ( binary )
0100 1011 kkkk yyyy
0110 1011 xxxx xxxx
0111 0011
0110 1110 1011 kkkk
1011 kkkk
0110 1110 0011 kkkk
* This specification are subject to be changed without notice.
Cycle
2
2
1
2
1
2
C
C
C
C
-
Z
Z
Z
Z
Z
Z
Z'
Z'
Z'
C
Z'
C
7.20.1999 27
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
(8) Bit manipulation
inary
m
i
l
e
r
P
Mnemonic
Object code ( binary )
Operation description
Byte
CLM
CLP
CLPL
CLR
SEM
SEP
SEPL
SET
TF
TFA
TFM
TFP
TFPL
TT
TTP
1111 00bb
0110 1101 11bb pppp
0110 0000
0110 1100 11bb yyyy
1111 01bb
0110 1101 01bb pppp
0110 0010
0110 1100 01bb yyyy
0110 1100 00bb yyyy
1111 10bb
1111 11bb
0110 1101 00bb pppp
0110 0001
0110 1100 10bb yyyy
0110 1101 10bb pppp
RAM[HL]b←0
PORT[p]b←0
PORT[LR3-2+4]LR1-0←0
RAM[y]b←0
RAM[HL]b←1
PORT[p]b←1
PORT[LR3-2+4]LRl-0←1
RAM[y]b←1
SF←RAM[y]b'
SF←Accb'
SF←RAM[HL]b'
SF←PORT[p]b'
SF←PORT[LR3-2+4]LR1-0'
SF←RAM[y]b
SF←PORT[p]b
1
2
1
2
1
2
1
2
2
1
1
2
1
2
2
Mnemonic
Object code ( binary )
Operation description
Byte
LCALL a
0100 0aaa aaaa aaaa
2
SCALL a
1110 nnnn
STACK[SP]←PC,
SP←SP -1, PC←a
STACK[SP]←PC,
SP←SP - 1, PC←a,
RET
0100 1111
b
p,b
y,b
b
p,b
y,b
y,b
b
b
p,b
y,b
p,b
Cycle
Flag
Z
-
S
1
1
1
1
1
1
1
1
*
*
*
*
*
*
*
2
Flag
C
Z
-
S
-
1
2
-
-
-
SP←SP + 1, PC←STACK[SP]
1
2
-
-
-
1
2
2
2
1
2
2
2
2
1
1
2
2
2
2
C
-
(9) Subroutine
a = 8n +6 (n=1~15),0086h (n =0)
Cycle
(10) Input/output
Mnemonic
Object code ( binary )
Operation description
Byte
INA
INM
OUT
OUTA
OUTM
0110 1111 0100 pppp
0110 1111 1100 pppp
0100 1010 kkkk pppp
0110 1111 000p pppp
0110 1111 100p pppp
Acc←PORT[p]
RAM[HL]←PORT[p]
PORT[p]←k
PORT[p]←Acc
PORT[p]←RAM[HL]
2
2
2
2
2
p
p
#k,p
p
p
Cycle
2
2
2
2
2
C
-
Flag
Z
Z
-
S
Z'
Z'
1
1
1
C
0
Flag
Z
-
S
1
1
*
(11) Flag manipulation
Mnemonic
Object code ( binary )
Operation description
Byte
CGF
SGF
TFCFC
0101 0111
0101 0101
0101 0011
GF←0
GF←1
SF←CF', CF←0
1
1
1
* This specification are subject to be changed without notice.
Cycle
1
1
1
7.20.1999
28
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
TGS
TTCFS
TZS
0101 0100
0101 0010
0101 1011
inary
m
i
l
e
r
P
SF←GF
SF←CF, CF←1
SF←ZF
1
1
1
1
1
1
1
-
-
*
*
*
(12) Interrupt control
Mnemonic
Object code ( binary )
Operation description
Byte
CIL
r
DICIL r
EICIL r
EXAE
RTI
0110 0011 11rr rrrr
0110 0011 10rr rrrr
0110 0011 01rr rrrr
0111 0101
0100 1101
IL←IL & r
EIF←0,IL←IL&r
EIF←1,IL←IL&r
MASK↔Acc
SP←SP+1,FLAG.PC
←STACK[SP],EIF ←1
2
2
2
1
1
Mnemonic
Object code ( binary )
Operation description
Byte
NOP
0101 0110
no operation
1
Cycle
2
2
2
1
2
C
*
Flag
Z
*
S
1
1
1
1
*
C
-
Flag
Z
-
S
-
C
-
Flag
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
-
S
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(13) CPU control
Cycle
1
(14) Timer/Counter & Data pointer & Stack pointer control
Mnemonic
Object code ( binary )
Operation description
Byte
LDADPL
LDADPM
LDADPH
LDASP
LDATAL
LDATAM
LDATAH
LDATBL
LDATBM
LDATBH
STADPL
STADPM
STADPH
STASP
STATAL
STATAM
STATAH
STATBL
STATBM
STATBH
0110 1010 1111 1100
0110 1010 1111 1101
0110 1010 1111 1110
0110 1010 1111 1111
0110 1010 1111 0100
0110 1010 1111 0101
0110 1010 1111 0110
0110 1010 1111 1000
0110 1010 1111 1001
0110 1010 1111 1010
0110 1001 1111 1100
0110 1001 1111 1101
0110 1001 1111 1110
0110 1001 1111 1111
0110 1001 1111 0100
0110 1001 1111 0101
0110 1001 1111 0110
0110 1001 1111 1000
0110 1001 1111 1001
0110 1001 1111 1010
Acc←[DP]L
Acc←[DP]M
Acc←[DP]H
Acc←SP
Acc←[TA]L
Acc←[TA]M
Acc←[TA]H
Acc←[TB]L
Acc←[TB]M
Acc←[TB]H
[DP]L←Acc
[DP]M←Acc
[DP]H←Acc
SP←Acc
[TA]L←Acc
[TA]M←Acc
[TA]H←Acc
[ TB]L←Acc
[TB]M←Acc
[TB]H←Acc
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
* This specification are subject to be changed without notice.
Cycle
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
7.20.1999 29
EM73201
4-BIT MICRO-CONTROLLER FOR GENERAL PURPOSE PRODUCT
**** SYMBOL DESCRIPTION
Symbol
inary
m
i
l
e
r
P
Description
Symbol
HR
PC
SP
ACC
CF
SF
EI
MASK
ΤΑ
RAM[HL]
ROM[DP]L
[DP]L
[DP]H
H register
Program counter
Stack pointer
Accumulator
Carry flag
Status flag
Enable interrupt register
Interrupt mask
Timer/counter A
Data memory (address : HL )
Low 4-bit of program memory
Low 4-bit of data pointer register
High 4-bit of data pointer register
LR
DP
STACK[SP]
FLAG
ZF
GF
IL
PORT[p]
ΤΒ
RAM[x]
ROM[DP]H
[DP]M
[TA]L([TB]L)
[TA]M([TB]M)
Middle 4-bit of timer/counter A
(timer/counter B) register
Transfer
Addition
Logic AND
Logic XOR
Concatenation
8-bit RAM address
4-bit or 5-bit port address
6-bit interrupt latch
Contents of bit assigned by bit
1 to 0 of LR
Bit 3 to 2 of LR
[TA]H([TB]H)
LR 1-0
LR3-2
↔
'
#k
y
b
PC11-6
a5-0
--
←
+
&
^
.
x
p
r
* This specification are subject to be changed without notice.
Description
L register
Data pointer
Stack specified by SP
All flags
Zero flag
General flag
Interrupt latch
Port ( address : p )
Timer/counter B
Data memory (address : x )
High 4-bit of program memory
Middle 4-bit of data pointer register
Low 4-bit of timer/counter A
(timer/counter B) register
High 4-bit of timer/counter A
(timer/counter B) register
Exchange
Substraction
Logic OR
Inverse operation
4-bit immediate data
4-bit zero-page address
Bit address
Bit 11 to 6 of program counter
Bit 5 to 0 of destination address for
branch instruction
7.20.1999
30
Similar pages