R80515 User Manual
User Manual:
Open the PDF directly: View PDF
.
Page Count: 48
| Download | |
| Open PDF In Browser | View PDF |
R80515 User Manual
R80515 User Manual
- 8 Bit CISC CPU (Rev1.2)
1 of 48
Confidential Rev1.2
R80515 User Manual
Confidential Rev1.2
CONTENTS
1
INTRODUCTION ................................................................................................................................................. 4
1.1 FEATURES ...........................................................................................................................................................4
2
BLOCK DIAGRAM ............................................................................................................................................... 6
2.1 BLOCK DIAGRAM ....................................................................................................................................................6
3
INTERFACE ......................................................................................................................................................... 7
3.1 INTERFACE SIGNAL ..................................................................................................................................................8
4
REGISTER DESCRIPTION .....................................................................................................................................10
4.1 REGISTER TABLE ....................................................................................................................................................10
4.2 DETAILED REGISTER DESCRIPTION .............................................................................................................................13
4.2.1 P0/P1/P2/P3 (80H/90H/A0H/B0H) ...................................................................................................................13
4.2.2 Sp (81H) .........................................................................................................................................................13
4.2.3 Dpl/dph/dp1l/dp1h (82H/83H/84H/85H) .........................................................................................................13
4.2.4 Wdtrel (86H) .....................................................................................................................................................13
4.2.5 Pcon (87H) .......................................................................................................................................................14
4.2.6 Tcon (88H) .......................................................................................................................................................14
4.2.7 Tmod (89H) ......................................................................................................................................................16
4.2.8 Tl0/tl1/th0/th1 (8AH/8BH/8CH/8DH)................................................................................................................16
4.2.9 S0con (98H) ......................................................................................................................................................17
4.2.10
S0buf/s1buf (99H/9CH) .............................................................................................................................18
4.2.11
Ien2 (9AH) ................................................................................................................................................18
4.2.12
S1con (9BH) ..............................................................................................................................................18
4.2.13
S0rell/s0relh/s1rell/s1relh (AAH/BAH/9DH/BBH) ........................................................................................19
4.2.14
Ien0 (A8H) ................................................................................................................................................19
4.2.15
Ip0 (A9H) ..................................................................................................................................................20
4.2.16
Ien1 (B8H) .................................................................................................................................................20
4.2.17
Ip1 (B9H)...................................................................................................................................................21
4.2.18
Ircon (C0H) ...............................................................................................................................................21
4.2.19
T2con (C8H) ..............................................................................................................................................22
4.2.20
Psw (D0H) .................................................................................................................................................23
4.2.21
Wdcon (D8H) ...........................................................................................................................................23
4.2.22
Acc (E0H) ..................................................................................................................................................24
4.2.23
Md0/md1/md2/md3/md4/md5 (E9H/EAH/EBH/ECH/EDH/EEH) ..............................................................24
4.2.24
Arcon (EFH) ..............................................................................................................................................24
4.2.25
B (F0H) .....................................................................................................................................................24
4.2.26
Probel_sel (FBH) ........................................................................................................................................24
4.2.27
Probeh_sel (FCH) .......................................................................................................................................25
5
FUNCTION .......................................................................................................................................................26
5.1 INSTRUCTION LIST ..................................................................................................................................................26
5.1.1 1 cycle
.........................................................................................................................................................26
5.1.2 2 cycles
.........................................................................................................................................................27
5.1.3 3 cycles
.........................................................................................................................................................29
2 of 48
R80515 User Manual
Confidential Rev1.2
5.1.4 4 cycles
.........................................................................................................................................................30
5.1.5 5 cycles
.........................................................................................................................................................31
5.2 INTERRUPT SERVICE ................................................................................................................................................31
5.2.1 Interrupt sources and vectors .............................................................................................................................31
5.2.2 Priority level structure .........................................................................................................................................32
5.2.3 Interrupt service for SD control ...........................................................................................................................32
5.3 SERIAL INTERFACE 0 AND 1......................................................................................................................................33
5.3.1 Serial interface 0 mode ......................................................................................................................................33
5.3.2 Serial interface 1 modes .....................................................................................................................................36
5.3.3 Sample data during receive ...............................................................................................................................38
5.3.4 Multiprocessor Communication of Serial Interface 0 and 1 ..................................................................................38
5.4 MULTIPLICATION DIVISION UNIT ...............................................................................................................................38
5.4.1 Operation phases of the MDU ...........................................................................................................................38
5.4.2 MDEF flag .........................................................................................................................................................42
5.4.3 MDOV flag .......................................................................................................................................................42
5.4.4 Normalizing ......................................................................................................................................................42
5.4.5 Shifting
.........................................................................................................................................................42
5.4.6 Conclusion ........................................................................................................................................................42
5.5 POWER MANAGEMENT ..........................................................................................................................................43
5.5.1 Idle mode .........................................................................................................................................................43
5.5.2 Stop mode ........................................................................................................................................................43
5.6 TIMER 0 AND 1.....................................................................................................................................................43
5.7 WATCHDOG TIMER ...............................................................................................................................................43
5.7.1 Start procedure .................................................................................................................................................44
5.7.2 Refresh the watchdog timer ...............................................................................................................................44
6
INSTRUCTION TIMING .......................................................................................................................................45
6.1 PROGRAM MEMORY BUS CYCLE .................................................................................................................................45
6.1.1 Program memory read cycle ..............................................................................................................................45
6.2 EXTERNAL DATA MEMORY BUS CYCLE ........................................................................................................................45
6.2.1 External data memory read cycle .......................................................................................................................45
6.2.2 External data memory write cycle .......................................................................................................................46
6.3 INTERNAL DATA MEMORY BUS CYCLE.........................................................................................................................47
6.3.1 Internal data memory read cycle ........................................................................................................................47
6.3.2 Internal data memory write cycle .......................................................................................................................47
6.4 SFR BUS CYCLE .....................................................................................................................................................47
6.4.1 SFR read cycle ...................................................................................................................................................47
6.4.2 SFR write cycle ..................................................................................................................................................48
3 of 48
R80515 User Manual
Confidential Rev1.2
1 Introduction
The R80515 is a core of a fast single-chip 8-bit microcontroller. It is a fully functional 8-bit embedded that executes all ASM51
instructions.
1.1 Features
Control Unit
8-bit Instruction decoder
Reduced instruction cycle time up to 12 times
Arithmetic-Logic Unit
8-bit arithmetic and logical operations
Boolean manipulations
8x8 bit multiplication and 8/8 bit division
Multiplication-Division Unit
16x16 bit multiplication
32/16 bit and 16/16 bit division
32 bit normalization
32 bit L/R shifting
32-bit Input/Output ports
Four 8-bit I/O ports
Alternate port functions such as external interrupts and serial interface are separated, providing extra port pins when compared
with standard 8051
Three 16-bit Timer/Counters
Compare/Capture Unit
Four 16-bit Compare registers used for Pulse Width Modulation
Four external Capture inputs used for Pulse Width Measuring
16-bit Reload register used for Pulse Generation.
Two Serial Peripheral Interfaces in full duplex mode
Synchronous mode, fixe baud rate, Serial 0 only
8-bit UART mode, variable baud rate
9-bit UART mode, variable baud rate
Additional Baud Rate Generator for Serial 0
Interrupt Controller
Four priority levels with 13 interrupt sources
15 bit Programmable Watchdog Timer
Internal Data Memory interface
Can address up to 256B of Data Memory Space
External Memory interface
Has independent Data and Program Memory interface
Can address up to 64 KB of External Program Memory
Can address up to 64 KB of External Data Memory
Special Function Registers interface
Services up to 72 External Special Function Registers
4 of 48
R80515 User Manual
Power Management Unit
Power management modes IDLE and STOP
5 of 48
Confidential Rev1.2
R80515 User Manual
Confidential Rev1.2
2 Block Diagram
2.1 Block Diagram
Figure 2-1 Block Diagram
6 of 48
R80515 User Manual
Confidential Rev1.2
3 Interface
port 0 i
port 1 i
port 2 i
port 3 i
Reset
clk
clkcpu
idle
clkper
Stop
swd
port 0o
port 1o
port 2o
port 3o
int 0
int 1
int 2
int 3
int 4
int 5
ramdatai
ramdatao
ramaddr
ramwe
ramoe
t0
t1
R
80515
sfrdatai
rxd 0 i
sfrdatao
rxd 0o
txd 0
rxd 1 i
sfraddr
sfrwe
sfroe
txd 1
memdatai
memdatao
memaddr
memwr
memrd
mempsdatai
mempsaddr
mempswr
mempsrd
Figure 3-1 R80515 interface diagram
7 of 48
R80515 User Manual
Confidential Rev1.2
3.1 Interface Signal
Name
Width
I/O
Active
Registered
Description
State
System Control Interface
Clk
1
I
N/A
N/A
Global clock
Clkcpu
1
I
N/A
N/A
CPU clock input
idle
1
O
N/A
No
idle status
Clkper
1
I
N/A
N/A
Peripheral clock input
stop
1
O
N/A
No
stop status
Reset
1
I
High
N/A
Hardware reset
Swd
1
I
High
Start Watchdog Timer
Port0i
8
I
N/A
P0 input
Port1i
8
I
N/A
P1 input
Port2i
8
I
N/A
P2 input
Port3i
8
I
N/A
P3 input
Port0o
8
O
N/A
P0 output
Port1o
8
O
N/A
P1 output
Port2o
8
O
N/A
P2 output
Port3o
8
O
N/A
P3 output
Port
External Interrupt/Port alternate Interface
Int0
1
I
Low/
External interrupt 0
fall
Int1
1
I
Low/
External interrupt 1
fall
Int2
1
I
fall/rise
External interrupt 2
Int3
1
I
fall/rise
External interrupt 3
Int4
1
I
rise
External interrupt 4
Int5
1
I
rise
External interrupt 5
Int6
1
I
rise
External interrupt 6
Serial/Port alternate Interface
Rxd0i
1
I
N/A
N/A
Serial 0 receive data
Rxd1i
1
I
N/A
N/A
Serial 1 receive data
Rxd0o
1
O
N/A
Yes
Serial 0 receive clock
Txd0
1
O
N/A
Yes
Serial 0 transmit data
Txd1
1
O
N/A
Yes
Serial 1 transmit data
Timer/Port alternate Interface
T0
1
I
fall
N/A
Timer0 external input
T1
1
I
fall
N/A
Timer1 external input
External Memory Interface
8 of 48
R80515 User Manual
Confidential Rev1.2
Memdatai
8
I
N/A
N/A
External Data Memory read data input
Memdatao
8
O
N/A
No
External Data Memory Write data output
Memaddr
16
O
N/A
No
External Data Memory Address bus
Memwr
1
O
High
Yes
External Data Memory write enable
Memrd
1
O
High
Yes
External Data Memory read enable
mempsdatai
8
I
N/A
N/A
Program Memory read data input
Mempsaddr
16
O
N/A
Yes
Program Memory Address bus
Mempsrd
1
O
High
Yes
Program Memory read enable
Mempswr
1
O
High
Yes
Program Memory write enable
Internal Data Memory Interface
Ramdatai
8
I
N/A
N/A
Internal Data Memory Data input
Ramdatao
8
O
N/A
Yes
Internal Data Memory Data output
Ramaddr
8
O
N/A
Yes
Internal Data Memory address bus
Ramwe
1
O
High
Yes
Internal Data Memory Write enable
Ramoe
1
O
High
Yes
Internal Data Memory Read enable
Sfrdatai
8
I
N/A
N/A
SFR data input
Sfrdatao
8
O
N/A
Yes
SFR data output
Sfraddr
7
O
N/A
Yes
SFR address bus
Sfrwe
1
O
High
Yes
SFR write enable
Sfroe
1
O
High
Yes
SFR read enable
9 of 48
R80515 User Manual
Confidential Rev1.2
4 Register Description
4.1 Register Table
Name
Address Offset
Width(bit)
R/W
Default
Description
P0
00H
8
R/W
8’hFF
Port0
Sp
01H
8
R/W
8’h07
Stack Pointer
Dpl
02H
8
R/W
8’h00
Data Pointer Low0
Dph
03H
8
R/W
8’h00
Data Pointer High0
Dpl1
04H
8
R/W
8’h00
Data Pointer Low1
Dph1
05H
8
R/W
8’h00
Data Pointer High1
Wdtrel
06H
8
R/W
8’h00
Watchdog Timer Reload
Pcon
07H
8
R/W
8’h00
Power Control
Tcon
08H
8
R/W
8’h00
Timer/Counter Control
Tmod
09H
8
R/W
8’h00
Timer Mode Control
Tl0
0AH
8
R/W
8’h00
Timer0, low byte
Tl1
0BH
8
R/W
8’h00
Timer1, low byte
Th0
0CH
8
R/W
8’h00
Timer0, high byte
Th1
0DH
8
R/W
8’h00
Timer1, high byte
Ckcon
0EH
8
R/W
8’h01
Clock Control(stretch=1)
--
0F
8
P1
10H
8
R/W
8’hFF
Port1
--
11H
8
--
--
--
Dps
12H
8
R/W
8’h00
Data Pointer Select
--
13H
8
--
--
--
--
14H
8
--
--
--
--
15H
8
--
--
--
--
16H
8
--
--
--
--
17H
8
--
--
--
S0con
18H
8
R/W
8’h00
Serial Port0 Control
S0buf
19H
8
R/W
8’h00
Serial Port0, Data Buffer
Ien2
1AH
8
R/W
8’h00
Interrupt Enable2
S1con
1BH
8
R/W
8’h00
Serial Port1 Control
S1buf
1CH
8
R/W
8’h00
Serial Port1, Data Buffer
S1rell
1DH
8
R/W
8’h00
Serial Port1, Reload, low byte
--
1EH
8
--
--
--
--
1FH
8
--
--
--
P2
20H
8
R/W
8’h00
Port2
--
21H
8
---
--
--
--
22H
8
---
--
--
--
23H
8
---
--
--
--
24H
8
---
--
--
10 of 48
R80515 User Manual
Confidential Rev1.2
--
25H
8
---
--
--
--
26H
8
---
--
--
--
27H
8
---
--
--
Ien0
28H
8
R/W
8’h00
Interrupt Enable0
Ip0
29H
8
R/W
8’h00
Interrupt priority 0
S0rell
2AH
8
R/W
8’hD9
Serial Port 0, Reload, low
byte
--
2BH
8
---
--
--
--
2CH
8
---
--
--
--
2DH
8
---
--
--
--
2EH
8
---
--
--
--
2FH
8
---
--
--
P3
30H
8
R/W
8’hFF
Port3
--
31H
8
---
--
--
--
32H
8
---
--
--
--
33H
8
---
--
--
--
34H
8
---
--
--
--
35H
8
---
--
--
--
36H
8
---
--
--
--
37H
8
---
--
--
Ien1
38H
8
R/W
8’h00
Interrupt Enable 1
Ip1
39H
8
R/W
8’h00
Interrupt Priority 1
S0relh
3AH
8
R/W
8’h03
Serial Port 0, Reload, high
byte
S1relh
3BH
8
R/W
8’h00
Serial Port 1, Reload, high
byte
--
3CH
8
---
--
--
--
3DH
8
---
--
--
--
3EH
8
---
--
--
--
3FH
8
---
--
--
Ircon
40H
8
R/W
8’h00
Interrupt Request Control
--
41H
8
--
8’h00
--
--
42H
8
--
8’h00
--
--
43H
8
--
8’h00
--
--
44H
8
--
8’h00
--
--
45H
8
--
8’h00
--
--
46H
8
--
8’h00
--
--
47H
8
--
8’h00
--
T2con
48H
8
R/W
8’h00
Timer2 Control
only bit[6:5] are used
SD project
11 of 48
for
R80515 User Manual
Confidential Rev1.2
--
49H
8
--
--
--
--
4AH
8
--
8’h00
--
--
4BH
8
--
8’h00
--
--
4CH
8
--
8’h00
--
--
4DH
8
--
8’h00
--
--
4EH
8
--
--
--
--
4FH
8
--
--
--
psw
50H
8
R/W
8’h00
Program Status Word
--
51H
8
--
--
--
--
52H
8
--
--
--
--
53H
8
--
--
--
--
54H
8
--
--
--
--
55H
8
--
--
--
--
56H
8
--
--
--
--
57H
8
--
--
--
Wdcon
58H
8
R/W
8’h00
Baud rate generate Control
(only bit7 is used)
--
59H
8
--
--
--
--
5AH
8
--
--
--
--
5BH
8
--
--
--
--
5CH
8
--
--
--
--
5DH
8
--
--
--
--
5EH
8
--
--
--
--
5FH
8
--
--
--
Acc
60H
8
R/W
8’h00
Accumulator
--
61H
8
--
--
--
--
62H
8
--
--
--
--
63H
8
--
--
--
--
64H
8
--
--
--
--
65H
8
--
--
--
--
66H
8
--
--
--
--
67H
8
--
--
--
--
68H
8
--
--
--
Md0
69H
8
R/W
8’h00
Multiplication/Division
Register0
Md1
6AH
8
R/W
8’h00
Multiplication/Division
Register1
Md2
6BH
8
R/W
8’h00
Multiplication/Division
Register2
Md3
6CH
8
R/W
8’h00
Multiplication/Division
Register3
12 of 48
R80515 User Manual
Md4
Confidential Rev1.2
6DH
8
R/W
8’h00
Multiplication/Division
Register4
Md5
6EH
8
R/W
8’h00
Multiplication/Division
Register5
Arcon
6FH
8
R/W
8’h00
Arithmetic Control
B
70H
8
R/W
8’h00
B register
--
71H
8
--
--
--
--
72H
8
--
--
--
--
73H
8
--
--
--
--
74H
8
--
--
--
--
75H
8
--
--
--
--
76H
8
--
--
--
--
77H
8
--
--
--
--
78H
8
--
--
--
--
79H
8
--
--
--
--
7AH
8
--
--
--
7BH
8
--
--
--not used
7CH
8
--
--
--not used
--
7DH
8
--
--
--
--
7EH
8
--
--
--
Resevered
7FH
8
R/W
8’h00
Not used
4.2 Detailed Register Description
4.2.1
P0/P1/P2/P3 (80H/90H/A0H/B0H)
The contents of the SFR P0-P3 can be observed on corresponding pins on the chip. Writing a ‘1’ to any of the ports cause the
corresponding pin to be held at high level (VCC), and writing a ‘0’ causes the corresponding pin to be held at low level (GND).
All four ports on the chip are bi-directional. Each of them consists of a Latch (SFR P0-P3), an output driver, and an input buffer, so the
MCU can output or read data through any of the ports if they are not used for alternate purposes.
4.2.2
Sp (81H)
The stack pointer (SP) is a 1-byte register initialized to 07H after reset. This register is incremented before PUSH and LCALL/ACALL
instructions, causing the stack to begin at location 08H.
4.2.3
Dpl/dph/dp1l/dp1h (82H/83H/84H/85H)
The data pointer (dptr) is 2 bytes wide. The lower part is dpl, and the highest is dph. It is generally used to access external code or data
space (through MOVC A, @A+DPTR, MOVX A, @DPTR, MOVX @DPTR, A).
There is Dual Data Pointer in the R80515. The standard DPTR is a 16-bit register that is used to address external memory or peripherals.
In the R80515 core the standard data pointer is called DPTR (dpl/dph), the second data pointer is called DPTR1 (dp1l/dp1h). The data
pointer select bit (dps.0) chooses the active pointer. All DPTR-related instructions use the currently selected DPTR for any activity.
4.2.4
Wdtrel (86H)
Register addr
86H
Bit number
7
13 of 48
6:0
R80515 User Manual
Confidential Rev1.2
Bit field name
wdtrels
wdtrel
R/W
R/W
R/W
default
1’b0
7’b0
Bits
Name
R/W
Description
7
wdtrels
R/W
Prescaler select bit.
If set, the watchdog is clocked through an additional divide-by-16 prescaler.
6:0
wdtrel
R/W
7-bit reload value for the high-byte of the watchdog timer. This value is loaded to
the wdt when a refresh is triggered by a consecutive setting of the bits wdt (ien0.6)
and swdt (ien1.6).
4.2.5
Pcon (87H)
Register addr
87H
Bit number
7
6:4
3
2
1
0
Bit field name
Smod
-
gf1
gf0
stop
idle
R/W
R/W
RO
R/W
R/W
R/W
R/W
default
1’b0
3’b0
1’b0
1’b0
1’b0
1’b0
Bits
7
6:4
Name
R/W
R/W
smod
RO
Reserved
Description
Used to define the baud rate for serial 0 mode 1,2 and 3.
Reserved
3
gf1
R/W
2
gf0
R/W
1
stop
WO
read as 0; write 1 system entry stop mode
0
idle
WO
read as 0; write 1 system entry idle mode
4.2.6
Tcon (88H)
Register addr
88H
Bit number
7
6
5
4
3
2
1
0
Bit field name
Tf1
Tr1
Tf0
Tr0
Ie1
It1
Ie0
It0
R/W
R/W/HC
R/W
R/W/HC
R/W
R
R/W
R
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
7
Name
R/W
Description
Tf1
R/W/HC
Timer1 overflow flag set by hardware when Timer1 overflows.
This flag can be cleared by software and is automatically cleared when interrupt is
processed
Timer1 overflow conditions:
conditions
14 of 48
R80515 User Manual
Confidential Rev1.2
6
Tr1
R/W
5
Tf0
R/W/HC
{t1.m1: t1.m0}=2’b00
{t1.m1: t1.m0}=2’b01
thl overflow
{t1.m1: t1.m0}=2’b10
tl1 overflow
{t0.m1: t0.m0}=2’b11
th0 overflow
Timer1 Run control bit.
If cleared, Timer1 stops
Timer0 overflow flag set by hardware when Timer0 overflows.
This flag can be cleared by software and is automatically cleared when interrupt is
processed
Timer0 overflow conditions:
conditions
{t0.m1: t0.m0}=2’b00
{t0.m1: t0.m0}=2’b01
th0 overflow
{t0.m1: t0.m0}=2’b10
{t0.m1: t0.m0}=2’b11
tl0 overflow
4
Tr0
R/W
3
Ie1
R
Interrupt1 edge flag. Set by hardware, when falling edge on external pin int1 is
observed. Cleared when interrupt is processed
If it1=0 (low level), hardware will change this bit based on pin int1:
Pin int1=0, this bit will be set
Pin int1=1, this bit will be reset
If it1=1(falling edge), hardware will set this bit after detect the falling edge of pin
int1
2
It1
R/W
Interrupt1 type control bit. Selects falling edge or low level on input pin to cause
interrupt
0: low level
1: falling edge
1
Ie0
R
Interrupt0 edge flag. Set by hardware, when falling edge on external pin int0 is
observed. Cleared when interrupt is processed
If it0=0 (low level), hardware will change this bit based on pin int0:
Pin int0=0, this bit will be set
Pin int0=1, this bit will be reset
If it0=1(falling edge), hardware will set this bit after detect the falling edge of pin
int0
0
It0
R/W
Interrupt0 type control bit. Selects falling edge or low level on input pin to cause
interrupt
0: low level
1: falling edge
15 of 48
Timer0 Run control bit.
If cleared, Timer0 stops
R80515 User Manual
4.2.7
Confidential Rev1.2
Tmod (89H)
Register addr
89H
Bit number
7
6
5
4
3
2
1
0
Bit field name
Gate
c/t
M1
M0
Gate
c/t
M1
M0
(timer1)
(timer1)
(timer1)
(timer1)
(timer0)
(timer0)
(timer0)
(timer0)
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
Description
7/3
Gate
R/W
External gate control enable/disable.
0: enable external gate control. If tr0/tr1 in tcon set, and this bit is 0, the
external gate is enabled. And if detect the falling edge of int0 or int1, the
external gate is enabled too.
After external gate control enable, if detect int0 or int1 falling edge, and
current operation is counter, then a counter will increase every falling edge
of t0 or t1.
1: disable external gate control.
6/2
c/t
R/W
Timer or counter operation selects.
1: counter
0: timer
5/1
M1
R/W
Selects mode for Timer/Counter 0 or Timer/Counter 1.
4/0
M0
R/W
Selects mode for Timer/Counter 0 or Timer/Counter 1.
4.2.8
M1
M0
Mode
Function
0
0
Mode0
13-bit counter/timer. 5 lower bits in tl0 or tl1 and 8
bits in th0 or th1. The 3 high order bits of tl0 or tl1
are hold zeros.
0
1
Mode1
16-bit counter/timer
1
0
Mode2
8-bit auto-reload counter/timer. The reload value is
kept in th0 or th1 which is incremented every cycle.
When tl0/tl1 overflows, a value from th0/th1 is
copied to t10/tl1
1
1
Mode3
Timer1: stop
Timer0: act as two independent 8 bit timer/counter
Tl0/tl1/th0/th1 (8AH/8BH/8CH/8DH)
Timer0 and Timer1 register.
Mode
Function
Mode0
13-bit timer0/timer1
5 lower bits in lower tl0 or tl1, and 8 higher bits in th0 or th1. The higher 3 bits of tl0 and tl1 are hold zero
Mode1
16-bit timer0/timer1
The lower 8-bits in tl0 or tl1, and the higher 8-bits in th0 or th1
16 of 48
R80515 User Manual
Mode2
Confidential Rev1.2
8-bit auto-reload timer0/timer1.
The reload value is kept in th0 or th1, while tl0 or tl1 is incremented every machine cycle. When tl0/tl1 overflows, a value
from th0/th1 is copied to tl0/tl1
Mode3
tl1 and th1 are not valid
tl0 and th0 act as two independent 8-bit timer
Bits
7
Name
R/W
R
Reserved
6:4
3
Description
R
R
Reserved
2:0
4.2.9
S0con (98H)
Register addr
98H
Bit number
7
6
5
4
3
2
1
0
Bit field name
sm0
sm1
sm20
ren0
tb80
rb80
ti0
ri0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
Description
7
sm0
R/W
Sets baud rate
6
sm1
R/W
Sets baud rate
sm0 sm1
Mode
Description
Baud Rate
0
0
0
shift register
Fosc/12
0
1
1
8-bit UART
Variable
1
0
2
9-bit UART
Fclk/32 or 64
smod(pcon.7)=0: Fclk/64
smod=1: Fclk/32
1
1
3
9-bit UART
Variable
5
sm20
R/W
Serial 0 Multiprocessor communication function control
1: enable
0: disable
4
ren0
R/W
1: Enable serial 0 reception
0: Disable serial 0 reception
3
tb80
RO
2
rb80
R/W/SWC
17 of 48
The 9th transmitted data bit in Mode 2 and 3.
CPU (master) will set or clear this bit.
The 9th received data bit in Mode 2 and 3.
In mode1, if sm20=0, this bit is the stop bit.
R80515 User Manual
Confidential Rev1.2
In mode0, this bit is not used
Must be cleared by software.
1
ti0
R/W
Transmit completed interrupt flag. Hardware set after completion of a serial 0
transfer.
Must be cleared by software.
0
ri0
R/W
Receive completed interrupt flag. Hardware set after completion of a serial 0
reception.
Must be cleared by software.
4.2.10 S0buf/s1buf (99H/9CH)
Writing data to the SFR s0buf or s1buf will starts the transmission with different mode. Reading data from s0buf or s1buf for receive
operation.
(NOT used in MCU Now)
4.2.11 Ien2 (9AH)
Register addr
9AH
Bit number
7
6
5
4
3
2
1
0
Bit field name
-
-
-
-
-
-
-
es1
R/W
RO
RO
RO
RO
RO
RO
RO
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
7:1
0
Name
R/W
Description
RO
-
Reserved
R/W
es1
0: disable serial channel 1 interrupt
1: enable
4.2.12 S1con (9BH)
Register addr
9BH
Bit number
7
6
5
4
3
2
1
0
Bit field name
sm
-
sm21
ren1
tb81
rb81
ti1
ri1
R/W
R/W
RO
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
7
sm
6
-
5
sm21
18 of 48
R/W
R/W
RO
R/W
Description
Sets baud rate
Reserved
Serial 1 Multiprocessor communication function control
1: enable
0: disable
R80515 User Manual
Confidential Rev1.2
4
ren1
R/W
1: Enable serial1 reception
0: Disable serial 1 reception
3
tb81
RO
2
rb81
R/W/SWC
1
ti1
R/W
Transmit completed interrupt flag. Hardware set after completion of a serial 1
transfer.
Must be cleared by software.
0
ri1
R/W
Receive completed interrupt flag. Hardware set after completion of a serial 1
reception.
Must be cleared by software.
The 9th transmitted data bit in Mode A.
CPU (master) set or clear this bit.
The 9th received data bit in Mode 2 and 3.
In modeB, if sm21=0, this bit is the stop bit.
In mode0, this bit is not used
Must be cleared by software.
4.2.13 S0rell/s0relh/s1rell/s1relh (AAH/BAH/9DH/BBH)
The serial channel 0 or serial channel1 reload register for computing baud rate.
4.2.14 Ien0 (A8H)
Register addr
A8H
Bit number
7
6
5
4
3
2
1
0
Bit field name
eal
wdt
--
es0
et1
ex1
et0
ex0
R/W
R/W
R/W
RO
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
Description
7
eal
R/W
6
wdt
R/W/HC
5
--
4
es0
R/W
0: disable serial 0 interrupt, includes transfer and receive
1: enable
3
et1
R/W
0: disable timer1 overflow interrupt
1: enable
2
ex1
R/W
0: disable external interrupt 1
1: enable
1
et0
R/W
0: disable timer 0 overflow interrupt
1: enable
19 of 48
RO
0: disable all interrupts
1: enable all interrupts. Each interrupt has its own enable
Watchdog timer refresh flag
Set to initiate a refresh of the watchdog timer. Must be set directly before swdt
(ien1.6) is set to prevent an unintentional refresh of the watchdog timer.
This bit is reset by hardware 12 clock cycles after it has been set.
Reserved
R80515 User Manual
0
Confidential Rev1.2
R/W
ex0
0: disable external interrupt 0
1: enable
4.2.15 Ip0 (A9H)
Register addr
A9H
Bit number
7
6
5
4
3
2
1
0
Bit field name
owds
wdts
ip0.5
ip0.4
ip0.3
ip0.2
ip0.1
ip0.0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
Description
7
owds
R/W
6
wdts
RO
5:0
R/W
ip0.5-ip0.0
Not used
Watchdog timer status flag.
Set by hardware when the watchdog timer was started.
Can be read by software.
Group5-0 priority level control.
The value of ip0.5-ip0.0 and ip1.5-ip1.0 define the priority level for interrupt
group5-group0.
ip1.x
ip0.x
priority level
0
0
level0 (lowest)
0
1
level1
1
0
level2
1
1
level3 (highest)
4.2.16 Ien1 (B8H)
Register addr
B8H
Bit number
7
6
5
4
3
2
1
0
Bit field name
--
swdt
ex6
ex5
ex4
ex3
ex2
eadc
R/W
RO
R/W
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
7
--
6
swdt
R/W/HC
5
ex6
R/W
0: disable external interrupt 6
1: enable
4
ex5
R/W
0: disable external interrupt 5
1: enable
20 of 48
RO
Description
Reserved
Watchdog timer start/refresh flag
Set to active/refresh the watchdog timer.
If wdt (ien0.6) and swdt both set, a watchdog timer refresh is performed.
This bit can be set to start watchdog timer and cleared to stop watchdog timer.
R80515 User Manual
Confidential Rev1.2
3
ex4
R/W
0: disable external interrupt 4
1: enable
2
ex3
R/W
0: disable external interrupt 3
1: enable
1
ex2
R/W
0: disable external interrupt 2
1: enable
0
eadc
R/W
0: disable A/D converter interrupt
1: enable
4.2.17 Ip1 (B9H)
Register addr
B9H
Bit number
7
6
5
4
3
2
1
0
Bit field name
-
-
ip1.5
ip1.4
ip1.3
ip1.2
ip1.1
ip1.0
R/W
RO
RO
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
7:6
-
5:0
ip1.5-ip1.0
Description
RO
R/W
Reserved
Group5-0 priority level control.
The value of ip0.5-ip0.0 and ip1.5-ip1.0 define the priority level for interrupt
group5-group0.
ip1.x
ip0.x
priority level
0
0
level0 (lowest)
0
1
level1
1
0
level2
1
1
level3 (highest)
4.2.18 Ircon (C0H)
Register addr
C0H
Bit number
7
6
5
4
3
2
1
0
Bit field name
--
--
Iex6
Iex5
Iex4
Iex3
Iex2
iadc
R/W
RO
RO
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
Description
5
Iex6
R/W
External interrupt6 edge flag
This bit is set by hardware if detect external interrupt6. And can be cleared by
software.
4
Iex5
R/W
External interrupt5 edge flag
This bit is set by hardware if detect external interrupt5. And can be cleared by
21 of 48
R80515 User Manual
Confidential Rev1.2
software.
3
Iex4
R/W
External interrupt4 edge flag
This bit is set by hardware if detect external interrupt4. And can be cleared by
software.
2
Iex3
R/W
External interrupt3 edge flag
If this bit is set by hardware when detect external int3, it will be kept until software
clear.
1
Iex2
R/W
External interrupt2 edge flag
If this bit is set by hardware when detect external int2, it will be kept until software
clear.
0
Iadc
R/W
A/D converter interrupt request flag
This bit is set by hardware if detect A/D converter interrupt. And can be cleared by
software.
4.2.19 T2con (C8H)
Register addr
C8H
Bit number
7
6
5
4
3
2
1
0
Bit field name
-
i3fr
i2fr
-
-
-
-
-
R/W
RO-
R/W
R/W
RO-
RO-
RO-
RO-
RO-
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
7
--
6
i3fr
R/W
Select active edge :
a. External interrupt 3
b. Compare signal
c. Capture signal
0: falling edge
1: rising edge
5
i2fr
R/W
Select active edge :
d. External interrupt 2
e. Compare signal
f. Capture signal
0: falling edge
1: rising edge
4
--
RO
Reserved
3
--
RO
Reserved
2
--
RO
Reserved
22 of 48
RO
Description
Reserved
R80515 User Manual
Confidential Rev1.2
1
--
RO
Reserved
0
--
RO
Reserved
4.2.20 Psw (D0H)
Register addr
D0H
Bit number
7
6
5
4
3
2
1
0
Bit field name
Cy
Ac
F0
Rs1
Rs0
Ov
-
P
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
default
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Bits
Name
R/W
Description
7
Cy
R/W
Carry flag.
6
Ac
R/W
Auxiliary carry flag for BCD operations (for bit3-0 operation to bit4)
5
F0
R/W
General purpose Flag 0 available for user
4
Rs1
R/W
Register bank select control bit 1, used to select working register bank
3
Rs0
R/W
Register bank select control bit 0, used to select working register bank
rs1/rs0
Bank selected
Location
00
Bank0
(00H-07H)
01
Bank1
(08H-0FH)
10
Bank2
(10H-17H)
11
Bank3
(18H-1FH)
2
Ov
R/W
Overflow flag.
Signed arithmetic, result overflow(-128-+127)
Bit6 operation to bit7 Extension OR bit7 operation to Carry flag
1
-
R/W
reserved
0
p
R/W
Parity flag, affected by hardware to indicate odd/even number of “one” bits in the
accumulator, i.e. even parity.
4.2.21 Wdcon (D8H)
Register addr
D8H
Bit number
7
6:0
Bit field name
wdcon
-
R/W
R/W
RO
default
1’b0
7’b0
Bits
7
Name
wdcon
23 of 48
R/W
R/W
Description
Baud rate generate control
1: baud rate = 2smodxFclk/32x12x(256-th1)
R80515 User Manual
Confidential Rev1.2
0: baud rate = 2smodxFclk/64x(210-s0rel)
6:0
RO
-
Reserved
4.2.22 Acc (E0H)
Acc is the accumulator register. Most instructions use the accumulator to hold the operand.
4.2.23 Md0/md1/md2/md3/md4/md5 (E9H/EAH/EBH/ECH/EDH/EEH)
The operands and results registers for multiply and divide operation.
4.2.24 Arcon (EFH)
Register addr
EFH
Bit number
7
6
5
4:0
Bit field name
mdef
mdov
slr
sc
R/W
RO
RO
R/W
R/W
default
1’b0
1’b0
1’b0
5’b0
Bits
Name
R/W
Description
7
mdef
R/RC
Error flag
Indicates an improperly performed operation(when one of the arithmetic
operations has been restarted or interrupted by a new operation)
6
mdov
R/WC
Overflow flag
5
slr
R/W
Shift direction bit
0: shift left
1: shift right
4:0
sc
R/W
Shift counter
5’b00000: normalizing is selected. After normalize, sc[4:0] contain the number of
normalizing shifts performed.
Others: shift operation is started. The number of shifts performed is determined by
the count written to sc[4:0].
4.2.25 B (F0H)
The B register is used during multiply and divide instructions. It can also be used as a scratch-pad register to hold temporary data.
4.2.26 Probel_sel (FBH)
R80515 and JTAG modules probe signals select
Bits
Name
7:5
-
4:0
probel_sel
24 of 48
R/W
RO
R/W
Description
Reserved
R80515 and JTAG modules probe signals select, select low 8bit probe signal
5’b00000: pc[7:0]
5’b00001: pc[15:8]
5’b00010: romdatai[7:0]
5’b00011: xramaddr[7:0]
R80515 User Manual
Confidential Rev1.2
5’b00100: xramaddr[15:8]
5’b00101: xramdatai[7:0]
5’b00110: xramdatao[7:0]
5’b00111: iramaddr[7:0]
5’b01000: iramdatai[7:0]
5’b01001: iramdatao[7:0]
5’b01010: sfraddr[7:0]
5’b01011: sfrdatai[7:0]
5’b01100: sfrdatao[7:0]
5’b01101: {2’b0, intreq, intack, intret, xramen, iramen, sfren}
5’b01110: instr[7:0]
5’b01111: acc[7:0]
5’b10000: {a5_break, clkmcu_en, sc_sel_reg[3:0], ice_en, romen_ice}
5’b10001: {tck, tms, tdi, tdo, capture_dr_tap, shift_dr_tap, step_req, run_req}
4.2.27 Probeh_sel (FCH)
R80515 and JTAG modules probe signals select
Bits
Name
7:5
-
4:0
probeh_sel
R/W
RO
R/W
Description
Reserved
R80515 and JTAG modules probe signals select, select high 8bit probe signal
5’b00000: pc[7:0]
5’b00001: pc[15:8]
5’b00010: romdatai[7:0]
5’b00011: xramaddr[7:0]
5’b00100: xramaddr[15:8]
5’b00101: xramdatai[7:0]
5’b00110: xramdatao[7:0]
5’b00111: iramaddr[7:0]
5’b01000: iramdatai[7:0]
5’b01001: iramdatao[7:0]
5’b01010: sfraddr[7:0]
5’b01011: sfrdatai[7:0]
5’b01100: sfrdatao[7:0]
5’b01101: {2’b0, intreq, intack, intret, xramen, iramen, sfren}
5’b01110: instr[7:0]
5’b01111: acc[7:0]
5’b10000: {a5_break, clkmcu_en, sc_sel_reg[3:0], ice_en, romen_ice}
5’b10001: {tck, tms, tdi, tdo, capture_dr_tap, shift_dr_tap, step_req, run_req}
25 of 48
R80515 User Manual
Confidential Rev1.2
5 Function
5.1 Instruction list
5.1.1
1 cycle
Instruction
Description
Code
Byte
Cycles
NOP
No operation
00
1
1
RR A
Rotate accumulator right
03
1
1
INC A
Increment accumulator
04
1
1
RRC A
Rotate accumulator right through carry
13
1
1
DEC A
Decrement accumulator
14
1
1
RL A
Rotate accumulator left
23
1
1
Add indirect RAM to accumulator
26-27
1
1
Add register to accumulator
28-2F
1
1
Rotate accumulator left through carry
33
1
1
Add indirect RAM to accumulator with carry flag
36-37
1
1
Add register to accumulator with carry flag
38-3F
1
1
OR indirect RAM to A
46-47
1
1
OR register to accumulator
48-4F
1
1
AND indirect RAM to A
56-57
1
1
AND register to accumulator
58-5F
1
1
Exclusive OR register to accumulator
66-67
1
1
Exclusive OR register to accumulator
68-6F
1
1
Subtract indirect RAM from accumulator with borrow
96-97
1
1
Subtract register from accumulator with borrow
98-9F
1
1
INC DPTR
Increment data pointer
A3
1
1
CPL C
Complement carry flag
B3
1
1
CLR C
Clear carry flag
C3
1
1
SWAP A
Swap nibbles within the accumulator
C4
1
1
ADD A,@Ri
ADD A,Rn
RLC A
ADDC A,@Ri
ADDC A,Rn
ORL A,@Ri
ORL A,Rn
ANL A,@Ri
ANL A,Rn
XRL A,@Ri
XRL A,Rn
SUBB A,@Ri
SUBB A,Rn
26 of 48
R80515 User Manual
Confidential Rev1.2
SETB C
Set carry flag
D3
1
1
DA A
Decimal adjust accumulator
D4
1
1
CLR A
Clear accumulator
E4
1
1
Move indirect RAM to accumulator
E6-E7
1
1
Move register to accumulator
E8-EF
1
1
Complement accumulator
F4
1
1
MOV A,@Ri
MOV A,Rn
CPL A
5.1.2
2 cycles
Instructions
Description
Code
Byte
Cycles
INC @Ri
Increment indirect RAM
06-07
1
2
INC Rn
Increment register
08-0F
1
2
DEC @Ri
Decrement indirect RAM
16-17
1
2
DEC Rn
Decrement register
18-1F
1
2
Add immediate data to accumulator
24
2
2
Add direct byte to accumulator
25
2
2
Add immediate data to A with carry flag
34
2
2
Add direct byte to A with carry flag
35
2
2
Jump if carry flag is set
40
2
2
OR immediate data to A
44
2
2
OR direct byte to A
45
2
2
Jump if carry flag is not set
50
2
2
AND immediate data to A
54
2
2
AND direct byte to A
55
2
2
Jump if accumulator is Zero
60
2
2
Exclusive OR immediate data to A
64
2
2
ADD A,#data
ADD A,direct
ADDC A,#data
ADDC A,direct
JC rel
ORL A,#data
ORL A,direct
JNC rel
ANL A,#data
ANL A,direct
JZ rel
XRL A,#data
27 of 48
R80515 User Manual
XRL A,direct
JNZ rel
ORL C,bit
JMP @A+DPTR
MOV A,#data
MOV @Ri,#data
MOV Rn,#data
SJMP rel
ANL C,bit
MOV direct,@Ri
MOV direct,Rn
SUBB A,#data
SUBB A,direct
ORL C,/bit
MOV C,bit
ANL C,/bit
XCH A,@Ri
XCH A,Rn
POP direct
XCHD A,@Ri
DJNZ Rn,rel
MOVX A,@DPTR
28 of 48
Confidential Rev1.2
Exclusive OR direct byte to A
65
2
2
Jump if accumulator is not Zero
70
2
2
OR direct bit to carry flag
72
2
2
Jump indirect relative to the DPTR
73
1
2
Move immediate data to accumulator
74
2
2
Move immediate data to indirect RAM
76-77
2
2
Move immediate data to register
78-7F
2
2
Short jump
80
2
2
AND direct bit to carry flag
82
2
2
Move indirect RAM to direct byte
86-87
2
2
Move register to direct byte
88-8F
2
2
Subtract immediate data from A with borrow
94
2
2
Subtract direct byte from A with borrow
95
2
2
OR complement of direct bit to carry
A0
2
2
Move direct bit to carry flag
A2
2
2
AND complement of direct bit to carry
B0
2
2
Exchange indirect RAM with accumulator
C6-C7
1
2
Exchange register with accumulator
C8-CF
1
2
Pop direct byte from stack
D0
2
2
Exchange low-order nibble of indirect RAM with
D6-D7
1
2
Decrement register and jump if not zero
D8-DF
2
2
Move external RAM(16bit address) to accumulator
E0
1
2
accumulator
R80515 User Manual
MOVX A,@Ri
MOV A,direct
AJMP addr11
MOVX @DPTR,A
MOVX @Ri,A
MOV direct,A
MOV @Ri,A
MOV Rn,A
5.1.3
Confidential Rev1.2
Move external RAM(8bit address) to accumulator
E2-E3
1
2
Move direct byte to accumulator
E5
2
2
Absolute jump
Xxx01
2
2
Move A to external RAM(16bit address)
F0
1
2
Move A to external RAM(8bit address)
F2-F3
1
2
Move accumulator to direct byte
F5
2
2
Move accumulator to indirect RAM
F6-F7
1
2
Move accumulator to register
F8-FF
1
2
3 cycles
Instruction
description
Code
Byte
Cycles
LJMP addr16
Long jump
02
3
3
INC direct
Increment direct byte
05
2
3
Jump if direct bit is set and clear bit
10
3
3
LCALL addr16
Long subroutine call
12
3
3
DEC direct
Decrement direct byte
15
2
3
Jump if direct bit is set
20
3
3
From subroutine
22
1
3
Jump if direct bit is not set
30
3
3
From interrupt
32
1
3
OR accumulator to direct byte
42
2
3
AND accumulator to direct byte
52
2
3
Exclusive accumulator to direct byte
62
2
3
Move immediate data to direct byte
75
3
3
JBC bit,rel
JB bit,rel
RET
JNB bit,rel
RETI
ORL direct,A
ANL direct,A
XRL direct,A
MOV direct,#data
29 of 48
R80515 User Manual
MOVC A,@A+PC
MOV direct1,direct2
MOV DPTR,#data16
MOV bit,C
MOVC A,@A+DPTR
MOV @Ri,direct
MOV Rn,direct
CPL bit
CJNE A,#data rel
CJNE A,direct rel
CJNE @Ri,#data rel
CJNE Rn,#data rel
Confidential Rev1.2
Move code byte relative to PC to accumulator
83
1
3
Move one direct byte to another direct byte
85
3
3
Load data pointer with 16-bit constant
90
3
3
Move carry flag to direct bit
92
2
3
Move code byte relative to DPTR to accumulator
93
1
3
Move direct byte to indirect RAM
A6-A7
2
3
Move direct byte to register
A8-AF
2
3
Complement direct bit
B2
2
3
Compare immediate data with A and jump if not
B4
3
3
Compare direct byte with A and jump if not equal
B5
3
3
Compare indirect RAM with immediate data and
B6-B7
3
3
B8-BF
3
3
equal
jump if not equal
Compare register with immediate data and jump if
not equal
PUSH direct
Push direct byte onto stack
C0
2
3
CLR bit
Clear direct bit
C2
2
3
Exchange direct byte with accumulator
C5
2
3
Set direct bit
D2
2
3
Decrement direct byte and jump if not zero
D5
3
3
Absolute subroutine call
Xxx11
2
3
XCH A,direct
SETB bit
DJNZ direct,rel
ACALL addr11
5.1.4
4 cycles
Instruction
description
Code
Byte
Cycles
ORL direct, #data
OR immediate data to direct byte
43
3
4
AND immediate data to direct byte
53
3
4
Exclusive OR immediate data to direct byte
63
3
4
ANL direct,#data
XRL direct,#data
30 of 48
R80515 User Manual
5.1.5
Confidential Rev1.2
5 cycles
Instruction
description
Code
Byte
Cycles
DIV AB
Divide A by B
84
1
5
MUL AB
Multiply A and B
A4
1
5
5.2 Interrupt Service
The R80515 provides 13 interrupt sources with four priority levels. Each source has its own request flag located in SFR
tcon/ircon/s0con/s1con. Each interrupt has individually enable or disable bit in SFR ien0, ien1 and ien2.
When the interrupt occurs, the engine will vector to the predetermined address. Once interrupt service has begun, it can be
interrupted only by a higher priority interrupt. The interrupt service is terminated by an RETI instruction. When an RETI is performed,
the processer will return to the instruction that would have been next when interrupt occurred.
When the interrupt condition occurs, the processor will also indicate this by setting a flag bit. This bit is set regardless of whether the
interrupt is enabled or disabled. Each interrupt flag is sampled once per cycle and polled by hardware. If the sample indicates a
pending interrupt when the interrupt is enabled, then interrupt request flag is set. On the next instruction cycle, the interrupt will be
acknowledged by hardware forcing an LCALL to appropriate vector address.
Interrupt response will require a varying amount of time depending on the state of microcontroller when the interrupt occurs. If
microcontroller is performing an interrupt service with equal or greater priority, the new interrupt will be invoked. In other cases, the
response time depends on current instruction. The fastest possible response to an interrupt is 4 cycles which includes one machine
cycle for detecting the interrupt and 3 cycles for perform the LCALL.
5.2.1
Interrupt sources and vectors
Interrupt sources
Description
Interrupt vector
ie0-External interrupt 0
Enable: ien0.7 & ien0.0(SW ctrl)
0003H
Type control: tcon.0(SW ctrl)
Flag: tcon.1(HW ctrl)
tf0-Timer0 interrupt
Enable: ien0.7 & ien0.1(SW ctrl)
000BH
Flag: tcon.5(HW ctrl)
ie1-External interrupt1
Enable: ien0.7 & ien0.2(SW ctrl)
0013H
Type control: tcon.2(SW ctrl)
Flag: tcon.3(HW ctrl)
tf1-Timer1 interrupt
Enable: ien0.7 & ien0.3(SW ctrl)
001BH
Flag: tcon.7(HW ctrl)
ri0/ti0- Serial 0 transmit/receive interrupt
Enable: ien0.7 & ien0.4(SW ctrl)
0023H
Flag: s0con.0/s0con.1(HW ctrl)
ri1/ti1- Serial 1transmit/receive interrupt
Enable: ien0.7 & ien2.0(SW ctrl)
0083H
Flag: s1con.0/s1con.1(HW ctrl)
iadc-A/D converter interrupt
Enable: ien0.7 & ien1.0(SW ctrl)
0043H
Flag: ircon.0(HW ctrl)
iex2-External interrupt 2
Enable: ien0.7 & ien1.1(SW ctrl)
Type control: t2con.5 (SW ctrl)
Flag: ircon.1(HW ctrl)
31 of 48
004BH
R80515 User Manual
Confidential Rev1.2
iex3-External interrupt 3
Enable: ien0.7 & ien1.2(SW ctrl)
0053H
Type control: t2con.6(SW ctrl)
Flag: ircon.2(HW ctrl)
iex4-External interrupt 4
Enable: ien0.7 & ien1.3(SW ctrl)
005BH
Flag: ircon.3(HW ctrl)
iex5-External interrupt 5
Enable: ien0.7 & ien1.4(SW ctrl)
0063H
Flag: ircon.4(HW ctrl)
iex6-External interrupt 6
Enable: ien0.7 & ien1.5(SW ctrl)
006BH
Flag: ircon.5(HW ctrl)
5.2.2
Priority level structure
The priority level groups as follow:
External interrupt 0
Serial channel 1 interrupt
A/D converter interrupt
group0
Timer 0 interrupt
-
External interrupt 2
group1
External interrupt 1
-
External interrupt 3
group2
Timer 1 interrupt
-
External interrupt 4
group3
Serial 0 interrupt
-
External interrupt 5
group4
-
External interrupt 6
group5
Each group of interrupt sources can be programmed individually to one of four priority levels by setting or clearing one bit in the SFR
ip0 and ip1. If requests of the same priority level will be received simultaneously, an internal polling sequence determines which
request is serviced first.
The polling sequence as follows (from up to down):
External interrupt0
Serial 1 interrupt
A/D converter interrupt
Timer 0 interrupt
External interrupt 2
External interrupt 1
External interrupt 3
Timer 1 interrupt
Serial 0 interrupt
External interrupt 5
Timer 2 interrupt
External interrupt
5.2.3
polling sequence
External interrupt 4
Interrupt service for SD control
SD control use external interrupt2 and external interrupt3. And all this two interrupt use falling edge, and external interrupt2 is used
for command interrupt, external interrupt3 is used for data interrupt. If firmware doesn’t set priority control register (ip0 and ip1), the
polling sequence is external interrupt2 first and external interrupt3 second. And MCU can support one same or some different
interrupt sources pending when this interrupt is processing.
32 of 48
R80515 User Manual
Confidential Rev1.2
The MCU of SD control supports field maintenance function. And this function will be enabled every interrupt. When interrupt detect,
MCU will register current values of PSW/ACC/B/DPTR/DPTR1, the contents of PSW/ACC/B/DPTR/DPTR1 will be reloaded by
registered values when interrupt return. This function is used to avoid modifying during interrupt process.
There are another function for SD project. This function is translating LJMP command to JMP command. This function is controlled by
Ljmpc.0 SFR. If receive LJMP addr16 command, and ljmpc.0 is set, the program memory address and PC will jump to
cmd_index*3+addr16. Cmd_index is the “command index” field of SD Command Format.
5.3 Serial interface 0 and 1
The serial0 and 1 have two separate registers, one Transmit Buffer and one Receive Buffer.
Writing data to the Special Function Register S0BUF or S1BUF sets this data in serial output buffer and starts the transmission. Reading
from the S0BUF or S1BUF reads data from the serial receive buffer after detecting the receive-completed-interrupt. The serial port can
simultaneously transmit and receive data. It can also buffer 1 byte at receive, which prevents the receive data from being lost if the
CPU reads the first byte before transmission of the second byte is completed.
5.3.1
Serial interface 0 mode
Serial interface 0 has 4 modes by setting s0con[7:6], refer to the description of s0con.
5.3.1.1
5.3.1.1.1
Mode0
Transmit
Set s0con[7:6]=2’b00, if write values to s0buf, the transmit will be started, and the value in s0buf are transmitted with LSB first at rxd0o.
Baud rate is fixed at 1/12 of crystal frequency. Txd0 outputs the shift clock. S0con.1 will be set after transmit completed.
Transmit mode0 for serial0
5.3.1.1.2
Receive
Starts receiving if s0con.0 from 1 to 0 and s0con.4=1. The received data from rxd0i will be written into s0buf. Txd0 outputs the shift
clock.
33 of 48
R80515 User Manual
Confidential Rev1.2
Receive mode0 for serial0
5.3.1.2
5.3.1.2.1
Mode1
Transmit
Set s0con[7:6]=2’b01, if write value s to s0buf, the transmit will be started, and the value in s0buf are transmitted with LSB first at txd0.
10 bits are transmitted: a start bit (always 0), 8 data bits (LSB first), and a stop bit (always 1).
Transmit mode1 for serial0
5.3.1.2.2
Receive
Rxd0i as input
On receive, a start bit synchronizes the transmission, 8 data bits are available by reading s0buf, s0con.4=0 and s0con.2=1 means stop.
Internal baud rate generator or timer1 can be bused to specify baud rate.
Receive mode1 for serial0
Baud rate generation: (based on wdcon.7)
34 of 48
R80515 User Manual
Confidential Rev1.2
Wdcon.7=0: baud rate = 2smodxFclk/32x12x(256-th1)
Wdcon.7=1: baud rate = 2smodxFclk/64x(210-s0rel)
S0rel is 10bit width, s0rel=s0relh.[1:0] + s0rell.[7:0].
5.3.1.3
5.3.1.3.1
Mode2
Transmit
Set s0con[7:6]=2’b10, if write value to s0buf, the transmit will be started, and the value in s0buf are transmitted with LSB first at txd0.
No external shift clock is used
11 bits are transmitted: a start bit (0), 8 bits data (LSB first), a programmable 9th bit (s0con.3), a stop bit(1).
Transmit mode2 for serial0
5.3.1.3.2
Receive
Rxd0i as input
On receive: a start bit synchronizes the transmission, 8 bits data, 9th bit is written to s0con.2, a stop bit.
Receive mode2 for serial0
Baud rate is fixed at 1/32 or 1/64 of oscillator frequency based on pcon.7.
5.3.1.4
5.3.1.4.1
Mode3
Transmit
Txd0 as output
No external shift clock is used
11 bits are transmitted: a start bit (0), 8 bits data (LSB first), a programmable 9th bit (s0con.3), a stop bit (1).
35 of 48
R80515 User Manual
Confidential Rev1.2
Transmit mode3 for serial0
5.3.1.4.2
Receive
Rxd0i as input
On receive: a start bit synchronizes the transmission (0), 8 bits data, 9th bit is written to s0con.2, a stop bit.
Internal baud rate generator or timer1 can be used to specify baud rates
Receive mode3 for serial0
Baud rate generation: (based on wdcon.7)
Wdcon.7=0: baud rate = 2smodxFclk/32x12x(256-th1)
Wdcon.7=1: baud rate = 2smodxFclk/64x(210-s0rel)
S0rel is 10bit width, s0rel=s0relh.[1:0] + s0rell.[7:0].
5.3.2
Serial interface 1 modes
5.3.2.1
5.3.2.1.1
Mode A
Transmit
Txd1 as output
No external shift clock is used
11 bits are transmitted: a start bit (0), 8 bits data (LSB first), a programmable 9th bit (s1con.3), a stop bit (1).
36 of 48
R80515 User Manual
Confidential Rev1.2
Transmit modeA for serial1
5.3.2.1.2
Receive
Rxd1i as input
On receive: a start bit synchronizes the transmission, 8 bits data, 9th bit is written to s0con.2, a stop bit.
Receive modeA for serial1
Baud rate:
Fclk/32x(210-s0rel)
S0rel is 10bit width, s0rel=s0relh.[1:0] + s0rell.[7:0].
5.3.2.2
5.3.2.2.1
Mode B
Transmit
Txd1 as output
No external shift clock is used
10 bits are transmitted: a start bit (0), 8 bits data (LSB first), a stop bit (1).
37 of 48
R80515 User Manual
Confidential Rev1.2
Transmit modeB for serial1
5.3.2.2.2
Receive
Rxd1i as input
On receive: a start bit synchronizes the transmission, 8 bits data, a stop bit (s1con.5=0, s1con.2=1)..
Internal baud rate generator can be used to specify baud rates.
Receive modeB for serial1
Baud rate:
Fclk/32x(210-s0rel)
S0rel is 10bit width, s0rel=s0relh.[1:0] + s0rell.[7:0].
5.3.3
Sample data during receive
5.3.4
Multiprocessor Communication of Serial Interface 0 and 1
The feature of receiving 9 bits in mode 2 and mode 3 of serial 0 or in mode A of serial 1 can be used for multiprocessor
communication. In this case, the slave processors have bit sm20 in s0con or sm21 in s1con set to 1. When the master processor
outputs slave’s address, it sets the 9th bit (s0con.3/s1con.3) to 1, causing a serial port receive interrupt in all the slaves. The slave
processors compare the received byte with their network address. If there is a match, the addressed slave will clear sm20 or sm21 and
receive the rest of the message, while other slaves will leave sm20 or sm21 bit unaffected and ignore this message. After addressing
the slave, the host will output the rest of the message with the 9th bit set to 0, so no serial port receive interrupt will be generated in
unselected slaves.
5.4 Multiplication Division unit
5.4.1
Operation phases of the MDU
There are three phases of the operation of the MDU:
5.4.1.1
First phase: loading the mdx registers
The loading mdx FSM:
Current state
38 of 48
Conditions
Next state
Signals
Operation
R80515 User Manual
ST0
ST1
ST2
ST3
ST4
ST5
ST6
Write md0
ST1
Write arcon
ST7
Write md0
ST13
Write md1
ST2
Write md4
ST10
Write arcon
ST7
Write md0
ST13
Write md2
ST3
Write md4
ST8
Write arcon
ST7
Write md0
ST13
Write md3
ST4
Write arcon
ST7
Write md0
ST13
Write md4
ST5
Write arcon
ST7
Write md0
ST13
Write md5
ST6
Write arcon
ST7
Write md0
ST13
Write md1-md5
ST14
DIV32 operation END &
read md5
ST7
ST13
Write md1-md5
ST14
md3
ST9
ST13
Write md5
ST9
Write arcon
ST7
Write md0
ST13
Write md1-md5
ST14
read md5
ST10
ST11
39 of 48
MDU reset
MDU nop
MDU nop
MDU nop
MDU nop
MDU div32
MDU shift
ST0
Write md0
Div16 operation END &
MDU nop
ST0
Write md0
Shift operation END & read
ST8
Confidential Rev1.2
MDU nop
MDU div16
ST0
Write md0
ST13
Write md1
ST11
Write arcon
ST7
Write md0
ST13
Write md5
ST12
Write arcon
ST7
MDU nop
MDU nop
R80515 User Manual
ST12
Confidential Rev1.2
Write md0
ST13
Write md1-md5
ST14
Mul operation END & read
md3
MDU multiplication
ST0
ST13
ST1
ST14
ST0
Setmdef=1
(arcon.7=1)
Setmdef=1
(arcon.7=1)
MDU reset
MDU reset
For any operation, if not write in sequence, the MDEF flag will be set (arcon.7).
Conclusion:
The default and power on state is ST0,if write SFR (md0 or arcon), the state will transfer to another.
ST6: div32;;;;;;ST7: shift;;;;;;ST9: div16;;;;;;ST12: multiplication;;;;
Correct div32 flow:
Write md0-md5 in sequence
The state will transfer to ST6, and wait div32 operation end.
If div32 finish and read md5, the state will return to ST0
Correct shift flow:
Write arcon to start shift,
The state will transfer to ST7, and wait shift operation end
If shift finish and read md3, the state will return to ST0
Correct div16 flow:
Write md0,md1,md4,md5 in sequence
The state will transfer to ST9, and wait div16 end
If div16 finish and read md5, the state will return to ST0
Correct multiplication flow:
Write md0, md4, md1, md5 in sequence
The state will transfer to ST12, and wait multiplication end
If multiplication finish and read md3, the state will return to ST0
After start the other operation but not shift, the shift can be started by write arcon
If write md0 again after write md0, the state will transfer to ST13, The mdef will be set at ST13, and the state will transfer to ST1, and
wait the next operation: write md1/md4/arcon
During wait some operation end state, ST6 for div32, ST7 for shift, ST9 for div16, ST12 for multiplication, if write md1-md5, the state will
transfer to ST14 which will transfer to ST1 and generate mdef.
5.4.1.2
Second phase: executing calculation
The arithmetic operation FSM:
Current state
Conditions
Next state
Signals
Operation
ST0
Mdu reset
ST12
Count_sel=2’b01
Md30_sel=nop
ST0
Opend=1
Arcon[4:0]=5’b00000 &
ST1
md3.7=1
Arcon[4:0]=5’b00000 &
40 of 48
ST8
ST7
Count_sel=2’b01
Md30_sel=nop
R80515 User Manual
Confidential Rev1.2
md3.7=0
arcon[4:0]!=5’b00000 &
arcon[5]
arcon[4:0]!=5’b00000
& !arcon[5]
ST2
ST3
ST4
ST5
ST6
Counter_st=5’b10010
ST9
Counter_st!=5’b10010
ST2
Counter_st=5’b10100
ST10
Counter_st!=5’b10100
ST3
Counter_st=5’b00100
ST10
Counter_st!=5’b00100
ST4
Counter_sel=2’b11
Md30_sel=MUL
Counter_sel=2’b11
Md30_sel=DIV16
Counter_sel=2’b11
Md30_sel=DIV32
Counter_sel=2’b11
Md30_sel=Shift
Counter_sel=2’b11
Md30_sel=Shift
Counter_sel=2’b11
Md30_sel=Normalizing
Counter_st=5’b00001 |
ST5
Counter_st=5’b00010 |
ST0
Counter_st=5’b00000
Others
ST5
Counter_st=5’b00001 |
ST6
Counter_st=5’b00010 |
Counter_st=5’b00000
Others
Counter_st=5’b00010 |
ST7
ST0
md3.6 | md3.5
Others
ST6
ST11
ST7
ST8
ST0
ST9
ST0
Counter_sel=2’b10
Setmdov=1
Counter_sel=2’b10
Setmdov=(|md3) | (|md2)
Md30_sel=NOP
Md30_sel=NOP
Counter_sel=2’b10
ST10
ST0
Setmdov=(|Md4=0 &
Md30_sel=NOP
|md5=0) ? 1’b1 : 1’b0
ST11
ST12(the state
after mdu
operation reset)
ST0
Mdu operation=shift
ST1
Mdu operation=mul
ST13
Mdu operation=div16
ST3
Mdu operation=div32
ST4
ST13
ST2
Counter_sel=2’b10
Ld_sc=1//load sc[4:0]
Md30_sel=NOP
Counter_sel=2’b10
Md30_sel=NOP
Counter_sel=2’b10
Md30_sel=md3 reset
Conclusion:
There are 6 different operations: MUL(ST2),DIV16(ST3),DIV32(ST4),SHIFT LEFT(ST6),SHIFT RIGHT(ST5),NORMALIZE(ST7)
Normalization is started by writing arcon[4:0]=5’b0 & md3[7]=0
Shift calculation flow:
41 of 48
R80515 User Manual
Confidential Rev1.2
After write md0, the calculation FSM will transfer to ST12 and wait the load operation end. If the load operation finished correctly, the
state will transfer to different next state base on the operation type.
The state will transfer to ST1 for shift operation
If shift right (arcon[5]=1), then next state is ST5. If shift left (arcon[5]=0), then next state is ST6
5.4.1.3
Third phase: reading the result from mdx
The last read (from md5 for division and md3 for multiplication, shift and normalizing) determines the end of the whole calculation.
5.4.2
MDEF flag
The MD error flag mechanism is automatically enabled (not means set) with the first write to md0 and disabled (not means reset) with
the final read instruction from md3 (for multiplication or shift/normalizing) or md5 (division) in phase three operation.
The set conditions:
Write access to mdx registers in phase two which means re-write mdx after load mdx but before finish operation.
After error flag enabled, but read (not write) mdx registers
The reset conditions:
Phase two finished and read access md3 or md5
5.4.3
MDOV flag
The set conditions:
Division by zero
Multiplication with a result greater than 0000FFFFH
Start of normalizing if md3[7]=1
The reset condition:
Write access to md0
5.4.4
Normalizing
If write 5’b00000 to arcon[4:0], the normalizing operation is started. All reading zeros of integer variables in registers md0 to md3 are
removed by shift left operations. The whole operation is completed when the MSB of md3 register contains a ‘1’. After normalizing,
arcon[4:0] contains the number of shift left operations, which were done.
5.4.5
Shifting
Arcon.5 contains the shift direction, and the arcon[4:0] is the shift count (which must not be 0). During shift, zeros come into left or
right end of the registers md0 or md3, respectively.
5.4.6
Conclusion
There are 5 different operations are implemented at MDU module. The correct operation flow as follow:
DIV32 flow:
Write md0-md5 in sequence
Wait DIV32 operation end, the max clock number is 50 for DIV32 operation.
Then you can read the result, the quotient is in md0-md3, and the remainder is in md4 and md5. After read md5, the correct DIV32 is
finished
DIV16 flow:
Write md0,md1,md4,md5 in sequence
Wait DIV16 operation end, the max clock number is 34 for DIV16 operation.
Then you can read the result, the quotient is in md0-md1, and the remainder is in md4 and md5. After read md5,
the correct DIV16 is finished
Shift flow:
42 of 48
R80515 User Manual
Confidential Rev1.2
Write the shifted data into md0-md3
Write arcon to start shift, arcon[5]=1 indicates shift right; arcon[5]=1 indicates shift left. And the shift number load in arcon[4:0].
Wait shift operation end, the max clock number is 33 for Shift operation.
Then you can read the result from md0-md3. After read md3, the correct shift is finished
Normalization flow:
Write the normalized data into md0-md3
Write arcon[4:0]=5’b0 to start normalization
Wait normalization operation end, the max clock number is 34 for Normalization operation.
Then you can read the result from md0-md3. After read md3, the correct normalization is finished. And the number
of normalizing shifts performed in arcon[4:0].
Multiplication flow:
Write md0, md4, md1, md5 in sequence
Wait Multiplication end, the max clock number is 18 for MUL operation.
Then you can read the result from md0-md3. After read md3, the correct Multiplication is finished.
Error or special conditions:
After start the other operation but not shift/normalizing, the shift/normalizing can be started by write arcon at any time
You can reset the operation by writing md0 again, but the mdef (arcon[7]) will be set.
During wait one operation end, if write md1-md5, the operation also can be reset, and the mdef will be set.
5.5 Power Management
R80515 serves two power management modes IDLE and STOP. The control SFR is pcon.
5.5.1
Idle mode
Setting the idle bit (pcon.0) invokes the Idle mode. Internal clocks and peripherals keep running in Idle mode, but clkcpuo will stop.
Clkcpuo is the clock of access SFR/IRAM/XRAM/XROM. The MCU will exit the Idle state with any interrupts or reset.
5.5.2
Stop mode
Setting the stop bit (pcon.1) invokes the Stop mode. All internal clocks will turn off in Stop mode.
The MCU will exit the Stop state with no-clocked external interrupt or a reset condition, and internally generated interrupts (timer,
serial port, watchdog..) are not useful since they require clock activity.
5.6 Timer 0 and 1
The R80515 has two 16-bit timer/counter registers: Timer0 and Timer1. All can be configured for counter or timer operations.
In timer mode, the register is incremented every machine cycle, which means that it counts up after every 12 periods of the pin clk.
In counter mode, the register is incremented when the falling edge is observed at the corresponding input pin t0 or t1. Since it takes 2
cycles to recognize a 1-to-0 event, the maximum input count rate is 1/2 of the oscillator frequency. There are no restrictions on the
duty cycles however, to ensure proper recognition of 0 or 1 state, an input should be stable for at least 1 cycle.
The relative SFR is tmod/tcon.
5.7 Watchdog timer
The watchdog timer is a 16-bit counter that is incremented once every 24 or 384 clock cycles. After an external reset the watchdog is
disabled and all registers are set to zeros.
43 of 48
R80515 User Manual
Confidential Rev1.2
The watchdog consists of 16-bit counter watchdog timer, the reload register is wdtrel.
5.7.1
Start procedure
There are two ways to start watchdog timer.
Hardware automatic start.
This method is based on examining the level of pin swd during active internal rst signal. When this condition is met, the watchdog will
start running automatically with default setting (all registers set to zeros).
Programmer start
If hardware can’t detect the right level of swd during rst signal, a programmer can start the watchdog later. It will occur when signal
swdt (ien1.6) becomes active.
Once the watchdog timer is started it can’t be stopped unless rst signal becomes active.
When watchdog timer enters the value of 16’h7FFC, asynchronous wdts signal will be active. The signal wdts (internal signal) sets the
ip0.6 and requests reset state. The wdts is cleared either by rst signal or by changing of the state of the value of watchdog timer.
5.7.2
Refresh the watchdog timer
The watchdog timer must be refreshed regularly to prevent reset request signal from becoming active.
The refresh step:
Set wdt (ien0.6)
Set swdt (ien1.7).
And set swdt must be in 12 clock cycles after setting wdt. If this period has expired and swdt has not been set, wdt will be
automatically reset. After refresh flag has been set, the watchdog timer will be reloaded with the contents of the wdtrel register and
wdt bit is automatically reset.
44 of 48
R80515 User Manual
Confidential Rev1.2
6 Instruction Timing
6.1 Program memory bus cycle
6.1.1
Program memory read cycle
Clk
Mempsaddr
N
N+1
N+2
N+3
N+4
Mempsrd
Mempsdatai
N
N+1
N+2
N+4
N+3
Read
sample
Mempswr
Program read without waitstates
6.2 External Data Memory bus cycle
6.2.1
External data memory read cycle
Clk
Mempsaddr
N
N+1
N+2
N+3
Mempsrd
Mempsdatai
N
Read
sample
Memrd
Memdatai
Read
sample
Memaddr
External data memory read without waitstates
Clk
Mempsaddr
N
N+1
Mempsrd
Mempsdatai
Read sample
Memrd
Memdatai
Read sample
Memaddr
External data memory read with stretch 7
45 of 48
R80515 User Manual
6.2.2
Confidential Rev1.2
External data memory write cycle
Clk
Mempsaddr
N
N+1
N+2
N+3
Mempsrd
Mempsdatai
N
Memwr
Memdatao
Memaddr
External data memory write without waitstates
Clk
Mempsaddr
N
N+1
Mempsrd
Mempsdatai
Read
sample
Memwr
Memdatao
Memaddr
External data memory write with stretch
46 of 48
7
R80515 User Manual
Confidential Rev1.2
6.3 Internal Data Memory bus cycle
6.3.1
Internal data memory read cycle
Clk
Ramrdaddr
Addr
Addr
ramrd
ramdatai
Read
sample
Read
sample
Internal data memory read
6.3.2
Internal data memory write cycle
Clk
Ramwraddr
Addr
Addr
ramwr
ramdatao
Internal data memory write
6.4 SFR bus cycle
6.4.1
SFR read cycle
Clk
sfraddr
Addr
Addr
sfroe
sfrdatai
Read
sample
SFR read
47 of 48
Read
sample
R80515 User Manual
6.4.2
Confidential Rev1.2
SFR write cycle
Clk
sfraddr
Addr
Addr
sfrwe
sfrdatao
SFR write
48 of 48
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : Yes Author : wangch Create Date : 2016:01:28 15:50:02+08:00 Modify Date : 2017:03:30 09:37:31+08:00 Language : en-GB Tagged PDF : Yes XMP Toolkit : Adobe XMP Core 5.4-c005 78.147326, 2012/08/23-13:03:03 Format : application/pdf Creator : wangch Creator Tool : Microsoft® Word 2013 Metadata Date : 2017:03:30 09:37:31+08:00 Producer : Microsoft® Word 2013 Document ID : uuid:5ff8d9f4-a4cb-4898-86ef-cdc4711fbd06 Instance ID : uuid:3db6b1a1-ee6d-4c43-8307-449b108436d2 Page Count : 48EXIF Metadata provided by EXIF.tools