内嵌16KB 具有ISP 功能的Flash 和1K+256B RAM 的8 位控制器

SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
产品目录 .............................................................................................................................................................................. 4
描述 ..................................................................................................................................................................................... 4
订货信息 .............................................................................................................................................................................. 4
特征 ..................................................................................................................................................................................... 4
各封装引脚配置 ................................................................................................................................................................... 5
系统方框图 .......................................................................................................................................................................... 7
管脚描述 .............................................................................................................................................................................. 8
特殊功能寄存器(SFR) ......................................................................................................................................................... 9
1.
总特征....................................................................................................................................................................... 15
1.1
嵌入式程序存储器 ............................................................................................................................................ 15
1.2
IO 口 ................................................................................................................................................................ 15
1.3
指令时钟周期选择 ............................................................................................................................................ 15
1.4
时钟输出选择 ................................................................................................................................................... 16
1.5
复位 ................................................................................................................................................................. 16
1.5.1
硬件复位功能 .......................................................................................................................................... 16
1.5.2
软件复位功能 .......................................................................................................................................... 16
1.5.3 Reset status ................................................................................................................................................ 17
1.5.4 Time Access Key register (TAKEY)............................................................................................................. 17
1.5.5
软件复位寄存器(SWRES) ....................................................................................................................... 18
1.5.6
软件复位范例 .......................................................................................................................................... 18
1.6
时钟源 .............................................................................................................................................................. 18
2.
指令设置 ................................................................................................................................................................... 19
3.
存储器结构 ............................................................................................................................................................... 23
3.1
程序存储器....................................................................................................................................................... 23
3.2
数据存储器....................................................................................................................................................... 24
3.3
数据内存-低 128 字节(00h to 7Fh) ................................................................................................................... 24
3.4
数据存储器-高 128 字节(80h to FFh) ............................................................................................................... 24
3.5
存储器-扩展的 1024 字节($0000 到 $03FF) .................................................................................................... 24
4.
CPU 结构 .................................................................................................................................................................. 25
4.1
累加器 .............................................................................................................................................................. 25
4.2
B 寄存器 .......................................................................................................................................................... 25
4.3
程序状态字....................................................................................................................................................... 26
4.4
堆栈指针 .......................................................................................................................................................... 26
4.5
数据指针 .......................................................................................................................................................... 26
4.6
数据指针 1 ....................................................................................................................................................... 27
4.7
时钟控制寄存器 ............................................................................................................................................... 27
4.8
接口控制寄存器 ............................................................................................................................................... 28
4.9
PAGESEL (页面选择) ...................................................................................................................................... 28
5.
GPIO 管脚型态 ......................................................................................................................................................... 30
5.1
寄存器设置: ...................................................................................................................................................... 30
5.2
刻录软件设置 ................................................................................................................................................... 31
6.
硬件乘除法器(MDU) ................................................................................................................................................. 32
6.1
运行 MDU 寄存器 ............................................................................................................................................. 32
6.2
乘除法器的设置 ............................................................................................................................................... 33
6.2.1
第一阶段:装载 MDx 寄存器 .................................................................................................................. 33
6.2.2
第二阶段:执行运算 ............................................................................................................................... 33
6.2.3
第三阶段:从 MDx 寄存器上读取结果 .................................................................................................... 34
6.3
标准化 .............................................................................................................................................................. 34
6.4
位移 ................................................................................................................................................................. 34
7.
定时器 0 和定时器 1 ................................................................................................................................................. 35
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-1-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
7.1
定时器/计数器模式控制寄存器(TMOD)............................................................................................................ 35
7.2
定时/计数控制寄存器(TCON) .......................................................................................................................... 36
7.3
中断触发类型增强寄存器(ENHIT).................................................................................................................... 36
7.4
定时器输入频率控制寄存器 ............................................................................................................................. 37
7.5
模式 0 (13 位定时/计数) ................................................................................................................................... 37
7.6
模式 1 (16 位定时/计数) ................................................................................................................................... 38
7.7
模式 2 (8 位自动重载定时/计数) ....................................................................................................................... 39
7.8
模式 3 (两个独立 8 位定时/计数(仅定时器 0)) .................................................................................................. 39
8.
定时器 2 以及捕捉/比较单元(PWM) ......................................................................................................................... 41
8.1
定时器 2 功能 ................................................................................................................................................... 44
8.1.1
定时器模式 .............................................................................................................................................. 44
8.1.2
外部信号计数模式 ................................................................................................................................... 44
8.1.3
外部信号定时器模式 ............................................................................................................................... 45
8.1.4
定时器 2 的重载....................................................................................................................................... 45
8.2
比较功能 .......................................................................................................................................................... 46
8.2.1
比较模式 0 (PWM) .................................................................................................................................. 46
8.2.2
比较模式 1............................................................................................................................................... 46
8.3
捕获功能 .......................................................................................................................................................... 48
8.3.1
捕捉模式 0............................................................................................................................................... 48
8.3.2
捕捉模式 1............................................................................................................................................... 48
9.
串行接口 ................................................................................................................................................................... 49
9.1
串行接口由以下 4 种模式可以设置 .................................................................................................................. 50
9.1.1
模式 0 ...................................................................................................................................................... 50
9.1.2
模式 1 ...................................................................................................................................................... 51
9.1.3
模式 2 ...................................................................................................................................................... 51
9.1.4
模式 3 ...................................................................................................................................................... 51
9.2
串行接口的多重机通讯 .................................................................................................................................... 52
9.3
输入频率控制寄存器 ........................................................................................................................................ 52
9.4
波特率发生器 ................................................................................................................................................... 53
9.4.1
串行接口的模式 1 和 3 ............................................................................................................................ 53
10.
看门狗定时器 ....................................................................................................................................................... 54
11.
中断 ...................................................................................................................................................................... 58
11.1
优先权配置....................................................................................................................................................... 61
12.
电源管理单元 ....................................................................................................................................................... 63
12.1
待机模式(空闲模式) ......................................................................................................................................... 63
12.2
停止模式 .......................................................................................................................................................... 63
13.
脉宽调制器(PWM)................................................................................................................................................ 64
14.
IIC 功能 ................................................................................................................................................................ 69
15.
SPI 功能 ............................................................................................................................................................... 74
16.
LVI –低压侦测中断 ............................................................................................................................................... 79
17.
10 位模拟数字转换器(ADC) ................................................................................................................................. 81
18.
在系统编程(Internal ISP)...................................................................................................................................... 85
18.1
ISP 服务程序 ................................................................................................................................................... 85
18.2
锁定位(N) ......................................................................................................................................................... 85
18.3
对 ISP 服务程序编程 ........................................................................................................................................ 86
18.4
启动 ISP 服务程序 ........................................................................................................................................... 86
18.5
ISP 寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD and ISPFC ............................................................... 87
工作环境 ............................................................................................................................................................................ 90
DC 电气特性...................................................................................................................................................................... 90
LVI& LVR 电气特性 ........................................................................................................................................................... 92
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-2-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-3-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
产品目录
特征
SM39R16A6U24,
SM39R16A6U28,
SM39R16A6U32,






描述
原来的8052有12时钟结构,一个机器周期需要12个时
钟,大多数指令是一个或两个机器周期。因此,除了乘和
除指令,8052的每个指令使用12或24个时钟。此外,
8052中的每个周期用了两个记忆提取。在许多情况下,第
二个是假的提取,和额外的时钟被浪费了。


该SM39R16A6 是一个快速的单芯片8位微控制器内核。
这是一个全功能的8位嵌入式控制器,执行所有ASM51指
令,具有与MCS - 51相同的指令设置。
订货信息
SM39R16A6ihhkL
YWW
i: 工艺标志{ U = 1.8V ~ 5.5V}
hh: 封装脚位
k: 封装形式后缀{as table below }
L: 无铅标志
{无文字即含铅,”P” 即无铅}
Y: 年
WW: 周
Postfix
S
V
Package
SOP (300 mil)
LQFP













工作电压: 1.8V ~ 5.5V
高速 1T 架构,最高可达 25MHz
指令设置兼容 MCS-51
内置 22.1184MHz RC 振荡器,及可程序化的分频器
16KB 字节的片上闪存程序存储器。
256B 字节的标准的 8052 RAM,加 1K 字节的片上
扩展 SRAM。
双 16-bit 数据指针 (DPTR0&DPTR1)
一个全双工通信的串行接口(UART0) ,包括:
- 同步模式下,固定波特率,只有一个串行接口
0。同步模式下,固定波特率,只有一个串行
接口 0。
- 8 位 UART 模式,波特率可变。
- 9 位 UART 模式下,固定波特率,只有一个串行
接口 0。
- 9 位 UART 模式,波特率可变。
- 附加波特率产生器。
三个 16 位的定时器/计数器(计时器 0,1,2)
可编程的看门狗定时器(WDT)
一个 IIC 接口(主/从机模式)
一个 SPI 接口(主/从机模式)
4 路 14 位 脉宽调制(PWM)
4 路 16 位 比较(PWM)/捕获/重载功能
- 内部比较器输出可以 CCU 输入源
- 噪声过滤器可经由 CCU 输入与采样频率来选择
8 路 10bit 模拟数字转换(ADC)
片上闪存存储器支持 ISP/IAP/ICP 及 EEPROM 功能
片上在线仿真功能(ICE)及片上在线调试功能(OCD)
快速乘法除法单元(MDU):16* 16,32/16,
16/16,32 位的 L / R 移位和 32 位正规化。
(LVI/LVR )低电压中断/低电压复位(LVR deglitch
500ns)
增强用户代码保护
电源管理单元空闲及掉电模式
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-4-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
各封装引脚配置
24 Pin SOP
P1.6/ADC6/MISO/INT0
OCI_SDA/IIC_SDA/TRIGADC/P3.2
2
23
P1.5/ADC5/MOSI
OCI_SCL/IIC_SCL/P3.3
RESET/P3.4
3
22
21
P1.4/ADC4/SS/CC3
P1.3/ADC3/T2EX
CLKOUT/XTAL2/P3.5
5
20
P1.2/ADC2/T2/CC1
XTAL1/P3.6
6
19
P1.1/ADC1/TXD/CC0
VSS
7
18
P1.0/ADC0/RXD
CC0/P2.0
8
17
CC1/P2.1
9
16
VDD
P0.4/PWM4
CC2/P2.2
10
15
P0.5/PWM5
CC3/P2.3
11
14
P0.6/INT1/PWM6
P2.6
12
13
P0.7/T1/PWM7
RXD/P3.0
1
28
TXD/P3.1
OCI_SDA/IIC_SDA/TRIGADC/P3.2
2
27
3
26
P1.7/ADC7/SPI_CLK/T0
P1.6/ADC6/MISO/INT0
P1.5/ADC5/MOSI
OCI_SCL/IIC_SCL/P3.3
4
25
P1.4/ADC4/SS/CC3
RESET/P3.4
5
24
P1.3/ADC3/T2EX/CC2
CLKOUT/XTAL2/P3.5
6
23
P1.2/ADC2/T2/CC1
XTAL1/P3.6
7
22
P1.1/ADC1/TXD/CC0
VSS
8
21
P1.0/ADC0/RXD
CC0/P2.0
9
20
VDD
CC1/P2.1
10
19
P0.4/PWM4
CC2/P2.2
11
18
P0.5/PWM5
CC3/P2.3
P2.4
12
17
P0.6/INT1/PWM6
13
16
P2.5
14
15
P0.7/T1/PWM7
P2.6
4
SyncMOS
24
SM39R16A6U24SP
1
YWW
(24 Pin Top View)
T0/SPI_CLK/ADC7/P1.7
28 Pin SOP
SyncMOS
SM39R16A6U28SP
YWW
(28 Pin Top View)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-5-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
P0.4/PWM4
P0.5/PWM5
P0.6/INT1/PWM6
P0.7/T1/PWM7
P2.6
P2.5
P2.4
P2.3/CC3
24
23
22
21
20
19
18
17
32 Pin LQFP
P0.3
25
16
P2.2/CC2
P0.2
26
15
P2.1/CC1
P0.1
27
14
P2.0/CC0
P0.0
28
13
VSS
VDD
29
12
P3.6/XTAL1
RXD/ADC0/P1.0
30
11
P3.5/XTAL2/CLKOUT
CC0/TXD/ADC1/P1.1
31
10
P3.4/RESET
CC1/T2/ADC2/P1.2
32
9
P3.3/OCI_SCL/IIC_SCL
SM39R16A6U32VP
YWW
1
2
3
4
5
6
7
8
CC2/T2EX/ADC3/P1.3
CC3/SS/ADC4/P1.4
MOSI/ADC5/P1.5
INT0/MISO/ADC6/P1.6
T0/SPI_CLK/ADC7/P1.7
RXD/P3.0
TXD/P3.1
OCI_SDA/IIC_SDA/TRIGADC/P3.2
(32 LQFP Top View)
附注:出厂默认值注意事项
(1) 管脚 RST/P3.4 于出厂时设置为一般双向 I/O(P3.4)脚,若用户需切换为复位脚可于刻录时将此管脚定义为
RESET 脚。
(2) 为避免偶然的情况下误入 ISP 刻录状态(参考第 18.4 单元),在上电时请确保没有连续的脉冲信号在管脚 RXD
P1.0 及管脚 P1.2、P1.3 或 P1.4 必须置高。
(3) 于 ICP 刻录时,OCI_SDA/P3.2 及 OCI_SCL/P3.3 于复位期间为 ICP 刻录功能管脚,复位完成后切换成双向
I/O。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-6-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
XTAL2
XTAL1
ADC
IIC
PWM
SRAM
1KBytes
SRAM
256Bytes
Flash 16KBytes
CPU
SPI_MISO
SPI_MOSI
SPI_CLK
SPI_SS
PWM[7:4]
UART
IIC_SCL
IIC_SDA
MAX810
ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7
RESET
TXD
RXD
系统方框图
SPI
Port 0
Port 0
Port 1
Port 1
Port 2
Port 2
Port 3
Port 3
Timer 0/1
T0
T1
MDU
Watchdog
Interrupt
ICE
ICP
OCI_SCL
CC0~CC3
T2
T2EX
OCI_SDA
Interface control
Timer2
& CCU
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-7-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
管脚描述
24L
32L
LQFP
28L
SOP
SOP
1
24
2
代号
I/O
21
P1.3/ADC3/T2EX/
CC2
I/O
25
22
P1.4/ADC4/SS/C
C3
I/O
3
26
23
P1.5/ADC5/MOSI
I/O
4
27
24
P1.6/ADC6/MISO/
INT0
I/O
5
28
1
6
7
1
2
8
3
2
9
4
3
10
5
4
11
6
5
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
7
8
9
10
11
12
13
14
15
16
17
18
19
6
7
8
9
10
11
20
21
17
18
31
22
19
32
23
20
12
13
14
15
16
P1.7/ADC7/SPI_
CLK/T0
P3.0/RXD
P3.1/TXD
P3.2/TRIGADC/II
C_SDA/OCI_SDA
P3.3/IIC_SCL/OC
I_SCL
P3.4/RESET
P3.5/XTAL2/CLK
OUT
P3.6/XTAL1
VSS
P2.0/CC0
P2.1/CC1
P2.2/CC2
P2.3/CC3
P2.4
P2.5
P2.6
P0.7/PWM7/T1
P0.6/PWM6/INT1
P0.5/PWM5
P0.4/PWM4
P0.3
P0.2
P0.1
P0.0
VDD
P1.0/ADC0/RXD
P1.1/ADC1/TXD/
CC0
P1.2/ADC2/T2/C
C1
I/O
I/O
I/O
I/O
描述
P1口的位3 & 模数转换通道3 & 计时器2捕捉触发及捕获触发器
& 计时器2捕获/比较单元通道2
P1口的位4 & 模数转换通道4 & SPI 接口从机跳线 & 计时器2
捕获/比较单元通道3
P1口的位5 & 模数转换通道5 & SPI 接口串行数据线主输出或
从输入口
P1口的位6 & 模数转换通道6 & SPI 接口串行数据线主输入或
从输出口 & 外部中断 0
P1口的位7 & 模数转换通道7 & SPI 接口时钟 & 计时器0外部
输入
P3口的位0 & 串行接口通道接收数据
P3口的位1 & 串行接口通道0数据传输或接收模式0时钟
P3口的位2 & 外部引脚来触发 ADC & IIC 串行数据线 & ICE和
ICP 功能的指令及数据输入
I/O
P3口的位3 & IIC 串行时钟线 & ICE和 ICP 功能的时钟输入
I/O
P3口的位4 & 复位
I/O
P3口的位5 & 晶振输出&时钟输出
I/O
P3口的位6 & 晶振输入
供电电源地
P2口的位0 & 计时器2捕获/比较单元通道0
P2口的位1 & 计时器2捕获/比较单元通道1
P2口的位2 & 计时器2捕获/比较单元通道2
P2口的位3 & 计时器2捕获/比较单元通道3
P2口的位4
P2口的位5
P2口的位6
P0口的位7 & 宽脉调制通道7 & 计时器1外部输入
P0口的位6 & 宽脉调制通道6 & 外部中断1
P0口的位5 & 宽脉调制通道5
P0口的位4 & 宽脉调制通道4
P0口的位3
P0口的位2
P0口的位1
P0口的位0
数位电源电压
P1口的位0 & 模数转换通道0 & 串行接口通道接收数据
P1口的位1 & 模数转换通道1 & 串行接口通道数据传输 & 计时
器2捕获/比较单元通道0
P1口的位2 & 模数转换通道2 & 计时器2外部输入 & 计时器2及
捕获/比较单元通道1
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
I/O
I/O
I/O
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-8-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
特殊功能寄存器(SFR)
特殊功能寄存器分布图表如下所示:
Method 1
In-direct access Mode
Hex\Bin
X000
X001
X010
X011
X100
X101
F8
IICS
IICCTL
IICA1
IICA2
IICRWD
IICEBT
F0
B
SPIC1
SPIC2
SPITXD
SPIRXD
SPIS
E8
E0
MD0
ISPFAH
MD1
ISPFAL
MD2
ISPFD
MD3
ISPFC
MD4
ACC
PFCON
P3M0
P3M1
D8
X110
X111
Bin/Hex
FF
MD5
LVC
TAKEY
F7
ARCON
SWRES
EF
E7
DF
D0
PSW
CCEN2
P0M0
P0M1
P1M0
P1M1
P2M0
P2M1
D7
C8
C0
T2CON
IRCON
CCCON
CCEN
CRCL
CCL1
CRCH
CCH1
TL2
CCL2
TH2
CCH2
CCL3
CCH3
CF
C7
B8
IEN1
IP1
SRELH
B0
P3
A8
IEN0
IP0
A0
P2
RSTS
98
SCON
SBUF
90
P1
AUX
88
80
Hex\Bin
TCON
P0
X000
TMOD
SP
X001
SRELL
PWM
ADDR
IEN2
TL0
DPL
X010
BF
PAGESEL
ADCC1
PWM
DATA
ADCC2
ADCDH
WDTC
WDTK
B7
ADCDL
ADCCS
AF
A7
9F
TL1
DPH
X011
TH0
DPL1
X100
TH1
DPH1
X101
CKCON
RCON
X110
IRCON2
97
IFCON
PCON
X111
8F
87
Bin/Hex
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
-9-
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
Method 2
Page Mode: page0
Hex\Bin
X000
X001
X010
X011
X100
X101
F8
IICS
IICCTL
IICA1
IICA2
IICRWD
IICEBT
F0
B
SPIC1
SPIC2
SPITXD
SPIRXD
SPIS
E8
E0
MD0
ISPFAH
MD1
ISPFAL
MD2
ISPFD
MD3
ISPFC
MD4
ACC
PFCON
P3M0
P3M1
D8
X110
X111
Bin/Hex
FF
MD5
LVC
TAKEY
F7
ARCON
SWRES
EF
E7
DF
D0
PSW
CCEN2
P0M0
P0M1
P1M0
P1M1
P2M0
P2M1
D7
C8
C0
T2CON
IRCON
CCCON
CCEN
CRCL
CCL1
CRCH
CCH1
TL2
CCL2
TH2
CCH2
OpPin2
CCL3
Cmp2CON
CCH3
CF
C7
B8
IEN1
IP1
SRELH
B0
P3
A8
A0
IEN0
P2
IP0
RSTS
SRELL
98
SCON
SBUF
IEN2
90
P1
AUX
88
80
Hex\Bin
TCON
P0
X000
TMOD
SP
X001
TL0
DPL
X010
Method 2
Hex\Bin
ADCC1
ADCC2
ADCDH
WDTK
B7
ADCDL
ADCCS
AF
A7
9F
TL1
DPH
X011
TH0
DPL1
X100
TH1
DPH1
X101
X000
B
X001
PWMTBC
0
PERIODL
X010
PWMTBC
1
PERIODH
X011
PWMOP
MOD
X100
X101
CKCON
RCON
X110
IRCON2
97
IFCON
PCON
X111
8F
87
Bin/Hex
ACC
D8
ISPFAH
ISPFAL
PWMEN
ISPFD
X111
Bin/Hex
PWMPOL
ARITY
DUTY2L
PSW
C8
C0
T2CON
IRCON
DUTY3H
B8
IEN1
IP1
B0
P3
A8
A0
IEN0
P2
IP0
SRELL
98
SCON
SBUF
IEN2
90
P1
AUX
88
80
Hex\Bin
TCON
P0
X000
TMOD
SP
X001
TL2
TL0
DPL
X010
ADCC1
ADCC2
SWRES
E7
DF
DUTY2H
DUTY3L
D7
CF
C7
BF
PAGESEL
ADCDH
F7
EF
TH2
PWMINT
F
SRELH
TAKEY
PWMTB
POST
SCALE
LVC
ISPFC
PFCON
D0
X110
FF
E8
E0
WDTC
Page Mode: page1
F8
F0
BF
PAGESEL
WDTC
WDTK
B7
ADCDL
ADCCS
AF
A7
9F
TL1
DPH
X011
TH0
DPL1
X100
TH1
DPH1
X101
CKCON
RCON
X110
IRCON2
97
IFCON
PCON
X111
8F
87
Bin/Hex
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 10 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
注:SM39R16A6 特殊功能寄存器的重置值在下表描述。
寄存器
地址: 80h ~ 8Fh
Method 2 Method 2
Method 1
Page 0
Page 1
重置值
描述
SYSTEM
SP
81h
81h
81h
07h
Stack Pointer
ACC
E0h
E0h
E0h
00h
Accumulator
PSW
D0h
D0h
D0h
00h
Program Status Word
B
F0h
F0h
F0h
00h
B Register
DPL
DPH
DPL1
DPH1
82h
83h
84h
85h
82h
83h
84h
85h
82h
83h
84h
85h
00h
00h
00h
00h
Data Pointer 0 low byte
Data Pointer 0 high byte
Data Pointer 1 low byte
Data Pointer 1 high byte
AUX
91h
91h
91h
00h
Auxiliary register
PCON
87h
87h
87h
40h
Power Control
CKCON
8Eh
8Eh
8Eh
10h
Clock control register
PAGESEL
BEh
BEh
BEh
00h
Page select
INTERRUPT & PRIORITY
IRCON
C0h
C0h
C0h
00h
Interrupt Request Control Register
IRCON2
97h
97h
97h
00h
Interrupt Request Control Register 2
IEN0
A8h
A8h
A8h
00h
Interrupt Enable Register 0
IEN1
B8h
B8h
B8h
00h
Interrupt Enable Register 1
IEN2
9Ah
9Ah
9Ah
00h
Interrupt Enable Register 2
IP0
A9h
A9h
A9h
00h
Interrupt Priority Register 0
IP1
B9h
B9h
B9h
00h
Interrupt Priority Register 1
UART
PCON
87h
87h
87h
40h
Power Control
AUX
91h
91h
91h
00h
Auxiliary register
SCON
98h
98h
98h
00h
Serial Port, Control Register
SBUF
99h
99h
99h
00h
Serial Port, Data Buffer
SRELL
AAh
AAh
AAh
00h
Serial Port, Reload Register, low byte
SRELH
BAh
BAh
BAh
00h
Serial Port, Reload Register, high byte
PFCON
D9h
D9h
D9h
00h
Peripheral Frequency control register
ADC
ADCC1
ABh
ABh
ABh
00h
ADC Control 1 Register
ADCC2
ACh
ACh
ACh
08h
ADC Control 2 Register
ADCDH
ADh
ADh
ADh
00h
ADC data high byte
ADCDL
AEh
AEh
AEh
00h
ADC data low byte
ADCCS
AFh
AFh
AFh
00h
ADC clock select
WDT
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 11 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
寄存器
RSTS
地址: 80h ~ 8Fh
Method 2 Method 2
Method 1
Page 0
Page 1
A1h
A1h
重置值
描述
00h
Reset status register
WDTC
B6h
B6h
B6h
04h
Watchdog timer control register
WDTK
B7h
B7h
B7h
00h
Watchdog timer refresh key.
TAKEY
F7h
F7h
TAKEY
00h
Time Access Key register
PWM
PWMTBC0
F9h
00h
PWM Time Base Control 0 Reg.
PWMTBC1
FAh
10h
PWM Time Base Control 1 Reg.
PWMOPMOD
FBh
00h
PWM Output Pair Mode Reg.
PERIODL
F1h
FFh
PWM Period (Low) Reg.
PERIODH
F2h
3Fh
PWM Period (High) Reg.
PWMEN
PWMTBPOST
SCALE
PWMINTF
F5h
00h
PWM Output Enable Reg.
EEh
00h
PWM Time Base Post Scale Reg.
BCh
00h
PWM INT Flag Reg.
PWMPOLARITY
DDh
FFh
PWM Polarity Reg.
DUTY2L
D5h
00h
PWM 2 Duty Low byte Reg.
DUTY2H
D6h
00h
PWM 2 Duty High byte Reg.
DUTY3L
D7h
00h
PWM 3 Duty Low byte Reg.
C9h
00h
PWM 3 Duty High byte Reg.
PWMADDR
DUTY3H
A2h
00h
PWM Address Register
PWMDATA
A3h
00h
PWM Data Register
TIMER0/TIMER1
TCON
88h
88h
88h
00h
Timer/Counter Control
TMOD
89h
89h
89h
00h
Timer Mode Control
TL0
8Ah
8Ah
8Ah
00h
Timer 0, low byte
TL1
8Bh
8Bh
8Bh
00h
Timer 1, low byte
TH0
8Ch
8Ch
8Ch
00h
Timer 0, high byte
TH1
8Dh
8Dh
8Dh
00h
Timer 1, high byte
PFCON
D9h
D9h
D9h
00h
Peripheral Frequency control register
PCA(TIMER2)
CCEN
C1h
C1h
00h
Compare/Capture Enable Register
CCL1
C2h
C2h
00h
CCH1
C3h
C3h
00h
CCL2
C4h
C4h
00h
CCH2
C5h
C5h
00h
CCL3
C6h
C6h
00h
CCH3
C7h
C7h
00h
T2CON
C8h
C8h
Compare/Capture Register 1, low byte
Compare/Capture Register 1, high
byte
Compare/Capture Register 2, low byte
Compare/Capture Register 2, high
byte
Compare/Capture Register 3, low byte
Compare/Capture Register 3, high
byte
Timer 2 Control
C8h
00h
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 12 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
寄存器
CCCON
地址: 80h ~ 8Fh
Method 2 Method 2
Method 1
Page 0
Page 1
C9h
C9h
重置值
00h
描述
CRCL
CAh
CAh
00h
CRCH
CBh
CBh
00h
TL2
CCh
CCh
CCh
00h
Compare/Capture Control
Compare/Reload/Capture Register,
low byte
Compare/Reload/Capture Register,
high byte
Timer 2, low byte
TH2
CDh
CDh
CDh
00h
Timer 2, high byte
CCEN2
D1h
D1h
00h
Compare/Capture Enable 2 register
GPIO
P0
80h
80h
80h
P1
90h
90h
90h
User
define
FFh
P2
A0h
A0h
A0h
7Fh
Port 2
P3
B0h
B0h
B0h
Port 3
P0M0
D2h
D2h
P0M1
D3h
D3h
7Fh
User
define
00h
P1M0
D4h
D4h
00h
Port 1 output mode 0
P1M1
D5h
D5h
00h
Port 1 output mode 1
P2M0
D6h
D6h
00h
Port 2 output mode 0
P2M1
D7h
D7h
00h
Port 2 output mode 1
P3M0
DAh
DAh
00h
Port 3 output mode 0
P3M1
DBh
DBh
00h
Port 3 output mode 1
Port 0
Port 1
Port 0 output mode 0
Port 0 output mode 1
ISP/IAP/EEPROM
IFCON
8Fh
8Fh
8Fh
00h
Interface control register
ISPFAH
E1h
E1h
E1h
FFh
ISP Flash Address-High register
ISPFAL
E2h
E2h
E2h
FFh
ISP Flash Address-Low register
ISPFD
E3h
E3h
E3h
FFh
ISP Flash Data register
ISPFC
E4h
E4h
E4h
00h
ISP Flash control register
TAKEY
F7h
F7h
F7h
00h
Time Access Key register
LVI/LVR/SOFTRESET
RSTS
A1h
A1h
00h
Reset status register
LVC
E6h
E6h
E6h
20h
Low voltage control register
SWRES
E7h
E7h
E7h
00h
Software Reset register
TAKEY
F7h
F7h
F7h
00h
Time Access Key register
SPI
SPIC1
F1h
F1h
08h
SPI control register 1
SPIC2
F2h
F2h
00h
SPI control register 2
SPITXD
F3h
F3h
00h
SPI Transmit data buffer
SPIRXD
F4h
F4h
00h
SPI receive data buffer
SPIS
F5h
F5h
40h
SPI status register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 13 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
寄存器
地址: 80h ~ 8Fh
Method 2 Method 2
Method 1
Page 0
Page 1
IIC
重置值
描述
IICS
F8h
F8h
00h
IIC status register
IICCTL
F9h
F9h
04h
IIC control register
IICA1
FAh
FAh
A0h
IIC channel 1 Address 1 register
IICA2
FBh
FBh
60h
IIC channel 1 Address 2 register
IICRWD
FCh
FCh
00h
IIC channel 1 Read / Write Data buffer
IICEBT
FDh
FDh
00h
IIC Enable Bus Transaction register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 14 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
功能描述
1. 总特征
SM39R16A6 是一个8位的微处理器,它的所有功能以及特殊功能寄存器(SFR)的详细定义将在以下章节给出。
1.1
嵌入式程序存储器
可通过编程器或在线编程(ISP)将程序加载到16KB的嵌入式闪存体中,其高品质的闪存体具有100K次的重复可擦写编程
并记忆数据,如EEPROM。
1.2
IO 口
SM39R16A6 有4个I/O ports: Port 0、Port 1、Port 2 与Port 3。Ports 0、1 是 8位口,Port 2、3是7位口。这些型态:准
双向口(标准 8051输出口) ,推挽、开漏、与仅为输入。 在章节5中有详细说明。
当使用片上硬件复位机制时,复位脚可配置为P3.4。
当用户使用内部晶振作为系统时钟时,XTAL2 与 XTAL1可在编程器烧写时定义成IO管脚P3.5、P3.6;当用户使用外部
振荡器由XTAL1输入作为系统时钟时,只有XTAL2可定义成IO管脚P3.5。
所有的P0~P3口都可通过转化速率来降低EMI。另一种降低EMI的方式是在禁止ALE输出,可通过特殊功能寄存器
(SFR)来进行选择控制,在高静电环境且在人体接触模式中,其I/O口的ESD可达4KV,可以保证SM39R16A6在高静
电环境下的品质。
1.3
指令时钟周期选择
传统的52 系列单片机时钟周期是12T,即12 个振荡器时钟为1个机器周期。SM39R16A6 为1T~8T的微控制器,即机器
周期为1个时钟周期~8个时钟周期。换句话说,执行一条指令可是1个时钟~8个时钟。
符号: CKCON
7
6
-
5
ITS[2:0]
4
3
-
2
-
1
0
CLKOUT[1:0]
地址: 8Eh
Reset
10H
ITS: 指令时钟周期选择。
ITS [2:0]
指令时钟周期
000
1T 模式
001
2T 模式(默认)
010
3T 模式
011
4T 模式
100
5T 模式
101
6T 模式
110
7T 模式
111
8T 模式
默认为2T模式,在任何时候,如CKCON [6:4](地址为8Eh)被改变时,每条指令并不是都能在一个机器周期内被执行
的。所有指令的确切机器周期将在下一章节中给出。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 15 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
1.4
时钟输出选择
在任何时候CKCON [1:0] (地址为8Eh) 被改变时,SM39R16A6 能在P3.5产生时钟输出,主系统时钟源设置为使用振荡
器(时钟由晶振输入脚输入)或片内RC振荡器皆可。
CLKOUT: 时钟输出除频选择。
CKCON [1:0]
00
01
10
11
1.5
Mode.
GPIO(默认)
主系统时钟频率
主系统时钟频率/2
主系统时钟频率/4
复位
1.5.1
硬件复位功能
SM39R16A6 提供了片上硬件复位机制,片上硬件复位的时间长度可以通过编程器或ISP设置。
片上硬件复位的时间长度
25ms (默认)
200ms
100ms
50ms
16ms
8ms
4ms
1.5.2
软件复位功能
SM39R16A6 提供一种软件复位机制来实现整个芯片的复位.要实现软件复位,于程序中需把3个特殊值 55h、AAh和5Ah
按顺序写到TAKEY寄存器来使能软件复位寄存器(SWRES)之写入。在软件复位寄存器获得可写权后,可以对SWRES寄
存器写入FFh。硬件将解码出复位讯号它是与其它硬件复位讯号作 “OR”处理。软件复位寄存器在软件复位过程的最后会
进行自复位。
符号
RSTS
TAKEY
SWRES
描述
Reset status
register
Time Access Key
register
Software
Reset
register
地址
Bit 7
A1h
-
Bit 6
Bit 5
Bit 4
Software Reset function
LVRLP LVRL
PDRF
INTF
PF
Bit 3
Bit 2
Bit 1
Bit 0
重置值
WDTF
SWRF
LVRF
PORF
00H
F7h
TAKEY [7:0]
00H
E7h
SWRES [7:0]
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 16 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
1.5.3
Reset status
符号: RSTS
7
6
LVRLP
INTF
地址: A1h
Reset
5
4
3
2
1
0
LVRLPF
PDRF
WDTF
SWRF
LVRF
PORF
00H
LVRLPINTF: “内部”低电压复位标志。
当 MCU 重置的 LVR_LP_INT 时,LVRLPINTF 旗标将由硬件设置为一。此旗标通过软
件清除。
LVRLPF: 低电压复位 (低功率) 旗标。
当 MCU 由 LVR(Low Power) 复位时,LVRLPF 旗标将由硬件设置为一。此旗标通过软
件清除。
PDRF: 复位脚复位旗标。
当 MCU 复位信号由复位脚产生时,PDRF 旗标将由硬件置高。此旗标需由软件清零。
WDTF: 看门狗定时器复位旗标。
当 MCU 复位信号由看门狗产生时,WDTF 旗标将由硬件置高。此旗标需由软件清
零。
SWRF: 软件复位旗标。
当 MCU 复位信号由软件复位产生时,SWRF 旗标将由硬件置高。此旗标需由软件清
零。
LVRF: 低电压复位旗标。
当 MCU 复位信号由低电压复位产生时,LVRF 旗标将由硬件置高。此旗标需由软件清
零。
PORF: 上电复位旗标。
当 MCU 复位信号由上电复位产生时,PORF 旗标将由硬件置高.此旗标需由软件清
零。
1.5.4
Time Access Key register (TAKEY)
符号: TAKEY
7
6
5
4
3
TAKEY [7:0]
2
1
0
地址: F7H
Reset
00H
软件复位寄存器(SWRES) 默认为只读;软件把 3 个特殊值按顺序写到 TAKEY 寄存器来使能软件复位寄存器
(SWRES)可写。它们是
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 17 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
1.5.5
软件复位寄存器(SWRES)
符号: SWRES
7
6
5
4
3
SWRES [7:0]
2
1
0
地址: E7H
Reset
00H
SWRES[7:0]: 软件复位寄存器。在软件复位过程的最后会进行自重置。
SWRES [7:0] = FFh,产生软件复位。
SWRES [7:0] = 00h ~ FEh,不产生复位动作。
1.5.6
软件复位范例
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah ; enable SWRES write attribute
MOV SWRES, #0FFh ; software reset MCU
1.6
时钟源
默认时钟来自于内部22.1184MHz OSC时钟信号,其时钟应用于初始化阶段,其主要的工作是确定时钟源使用的正常运
行。
内部时钟源来源于不同分频的内部OSC如表 1-1所示,时钟源可在编程器中设置。
表 1-1: Selection of clock source
Clock source
external crystal (use XTAL1 and XTAL2 pins )
external crystal (only use XTAL1, the XTAL2 define as I/O)
22.1184MHz from internal OSC
11.0592MHz from internal OSC
5.5296MHz from internal OSC
2.7648MHz from internal OSC
1.3824MHz from internal OSC
对于来源于内部OSC的频率,这将有些许误差,在应用程序中需要精确的频率时,须注意使用. 最大误差如表 1-2。
表 1-2: Temperature with variance
Temperature Max Variance
±2%
25℃
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 18 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
2. 指令设置
所有SM39R16A6的指令都是兼容的二进制码,且具有标准的8051一样的功能,以下表格列出了以SM39R16A6微控器为
核心的指令集的周期的总结,这里的周期表示为机器周期。
符号
ADD A,Rn
表 2-1: Arithmetic operations
描述
Add register to accumulator
代码
28-2F
ADD A,direct
Add direct byte to accumulator
ADD A,@Ri
字节
1
周期
1
25
2
2
Add indirect RAM to accumulator
26-27
1
2
ADD A,#data
ADDC A,Rn
Add immediate data to accumulator
Add register to accumulator with carry flag
24
38-3F
2
1
2
1
ADDC A,direct
Add direct byte to A with carry flag
35
2
2
ADDC A,@Ri
Add indirect RAM to A with carry flag
36-37
1
2
ADDC A,#data
SUBB A,Rn
Add immediate data to A with carry flag
Subtract register from A with borrow
34
98-9F
2
1
2
1
SUBB A,direct
Subtract direct byte from A with borrow
95
2
2
SUBB A,@Ri
Subtract indirect RAM from A with borrow
96-97
1
2
SUBB A,#data
INC A
INC Rn
Subtract immediate data from A with borrow
Increment accumulator
Increment register
94
04
08-0F
2
1
1
2
1
2
INC direct
Increment direct byte
05
2
3
INC @Ri
Increment indirect RAM
06-07
1
3
INC DPTR
DEC A
Increment data pointer
Decrement accumulator
A3
14
1
1
1
1
DEC Rn
Decrement register
18-1F
1
2
DEC direct
Decrement direct byte
15
2
3
DEC @Ri
MUL AB
Decrement indirect RAM
Multiply A and B
16-17
A4
1
1
3
5
DIV
Divide A by B
84
1
5
DA A
Decimal adjust accumulator
D4
1
1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 19 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号
ANL A,Rn
表 2-2: Logic operations
描述
AND register to accumulator
代码
58-5F
ANL A,direct
AND direct byte to accumulator
ANL A,@Ri
字节
1
周期
1
55
2
2
AND indirect RAM to accumulator
56-57
1
2
ANL A,#data
ANL direct,A
AND immediate data to accumulator
AND accumulator to direct byte
54
52
2
2
2
3
ANL direct,#data
AND immediate data to direct byte
53
3
4
ORL A,Rn
OR register to accumulator
48-4F
1
1
ORL A,direct
ORL A,@Ri
OR direct byte to accumulator
OR indirect RAM to accumulator
45
46-47
2
1
2
2
ORL A,#data
OR immediate data to accumulator
44
2
2
ORL direct,A
OR accumulator to direct byte
42
2
3
ORL direct,#data
XRL A,Rn
OR immediate data to direct byte
Exclusive OR register to accumulator
43
68-6F
3
1
4
1
XRL A,direct
Exclusive OR direct byte to accumulator
65
2
2
XRL A,@Ri
Exclusive OR indirect RAM to accumulator
66-67
1
2
XRL A,#data
Exclusive OR immediate data to accumulator
64
2
2
XRL direct,A
XRL direct,#data
Exclusive OR accumulator to direct byte
Exclusive OR immediate data to direct byte
62
63
2
3
3
4
CLR A
Clear accumulator
E4
1
1
CPL A
Complement accumulator
F4
1
1
RL A
RLC A
Rotate accumulator left
Rotate accumulator left through carry
23
33
1
1
1
1
RR A
Rotate accumulator right
03
1
1
RRC A
Rotate accumulator right through carry
13
1
1
SWAP A
Swap nibbles within the accumulator
C4
1
1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 20 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号
MOV A,Rn
MOV A,direct
表 2-3: Data transfer
描述
Move register to accumulator
Move direct byte to accumulator
代码
E8-EF
E5
字节
1
2
周期
1
2
MOV A,@Ri
MOV A,#data
MOV Rn,A
MOV Rn,direct
Move indirect RAM to accumulator
Move immediate data to accumulator
Move accumulator to register
Move direct byte to register
E6-E7
74
F8-FF
A8-AF
1
2
1
2
2
2
2
4
MOV Rn,#data
MOV direct,A
MOV direct,Rn
MOV direct1,direct2
Move immediate data to register
Move accumulator to direct byte
Move register to direct byte
Move direct byte to direct byte
78-7F
F5
88-8F
85
2
2
2
3
2
3
3
4
MOV direct,@Ri
MOV direct,#data
MOV @Ri,A
MOV @Ri,direct
Move indirect RAM to direct byte
Move immediate data to direct byte
Move accumulator to indirect RAM
Move direct byte to indirect RAM
86-87
75
F6-F7
A6-A7
2
3
1
2
4
3
3
5
MOV @Ri,#data
Move immediate data to indirect RAM
76-77
2
3
MOV DPTR,#data16
Load data pointer with a 16-bit constant
90
3
3
MOVC A,@A+DPTR
Move code byte relative to DPTR to accumulator
93
1
3
MOVC A,@A+PC
MOVX A,@Ri
Move code byte relative to PC to accumulator
Move external RAM (8-bit addr.) to A
83
E2-E3
1
1
3
3
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
PUSH direct
Move external RAM (16-bit addr.) to A
Move A to external RAM (8-bit addr.)
Move A to external RAM (16-bit addr.)
Push direct byte onto stack
E0
F2-F3
F0
C0
1
1
1
2
3
4
4
4
POP direct
XCH A,Rn
XCH A,direct
XCH A,@Ri
XCHD A,@Ri
Pop direct byte from stack
Exchange register with accumulator
Exchange direct byte with accumulator
Exchange indirect RAM with accumulator
Exchange low-order nibble indir. RAM with A
D0
C8-CF
C5
C6-C7
D6-D7
2
1
2
1
1
3
2
3
3
3
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 21 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号
ACALL addr11
表 2-4: Program branches
描述
Absolute subroutine call
代码
xxx11
LCALL addr16
Long subroutine call
RET
字节
2
周期
6
12
3
6
from subroutine
22
1
4
RETI
AJMP addr11
from interrupt
Absolute jump
32
xxx01
1
2
4
3
LJMP addr16
Long iump
02
3
4
SJMP rel
Short jump (relative addr.)
80
2
3
JMP @A+DPTR
JZ rel
Jump indirect relative to the DPTR
Jump if accumulator is zero
73
60
1
2
2
3
JNZ rel
Jump if accumulator is not zero
70
2
3
JC rel
Jump if carry flag is set
40
2
3
JNC
JB bit,rel
Jump if carry flag is not set
Jump if direct bit is set
50
20
2
3
3
4
JNB bit,rel
Jump if direct bit is not set
30
3
4
JBC bit,direct rel
Jump if direct bit is set and clear bit
10
3
4
CJNE A,direct rel
Compare direct byte to A and jump if not equal
B5
3
4
CJNE A,#data rel
CJNE Rn,#data rel
Compare immediate to A and jump if not equal
Compare immed. to reg. and jump if not equal
B4
B8-BF
3
3
4
4
CJNE @Ri,#data rel
Compare immed. to ind. and jump if not equal
B6-B7
3
4
DJNZ Rn,rel
Decrement register and jump if not zero
D8-DF
2
3
DJNZ direct,rel
NOP
Decrement direct byte and jump if not zero
No operation
D5
00
3
1
4
1
字节
1
周期
1
CLR C
表 2-5: Boolean manipulation
描述
Clear carry flag
代码
C3
CLR bit
Clear direct bit
C2
2
3
SETB C
Set carry flag
D3
1
1
SETB bit
CPL C
Set direct bit
Complement carry flag
D2
B3
2
1
3
1
CPL bit
Complement direct bit
B2
2
3
ANL C,bit
AND direct bit to carry flag
82
2
2
ANL C,/bit
ORL C,bit
AND complement of direct bit to carry
OR direct bit to carry flag
B0
72
2
2
2
2
ORL C,/bit
OR complement of direct bit to carry
A0
2
2
MOV C,bit
Move direct bit to carry flag
A2
2
2
MOV bit,C
Move carry flag to direct bit
92
2
3
符号
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 22 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
3. 存储器结构
SM39R16A6 存储器结构和通用的8052结构相同,它们是作为程序存储器的16KB的嵌入式闪存。
3.1
程序存储器
SM39R16A6 有16KB的嵌入式闪存,如以下图 3-1,可做为通用的程序存储或EEPROM。其它还包括最大为1K的特定
ISP服务程序存储空间。这16K的地址从$0000 to $3FFF。ISP服务程序的地址从$3C00 to $3FFF。ISP服务程序空间可
以被分割N块128字节(N=0 to 8) 。当N=0时,意味着没有ISP复位程序空间可用。全部的16KB字节空间都被用来做程序
存储。当N=1时,意味着地址$3F80 to $3FFF保留为ISP服务程序空间。当N=2意味着内存地址$3F00 to $3FFF保留为
ISP服务程序空间等等... 数值N可以通过编程器设置。它可像EEPROM那样用来记录任何数据(如果要更改程序数据,请
先执行页抹除)。EEPROM的应用功能在第18章节的内部ISP部分有描述。
ISP service
Program space,
Up to 1K
3FFF
3F80
3F00
3E80
3E00
3D80
3D00
3C80
3C00
N=0
N=1
N=2
N=3
N=4
N=5
N=6
N=7
N=8
16K Program
Memory space
0000
图 3-1: SM39R16A6 programmable Flash
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 23 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
3.2
数据存储器
SM39R16A6具有1K + 256字节片上 SRAM,如以下 图 3-2,其中256字节和通用的8052内部存储器结构一样,同时扩
大 1 K字节片上 SRAM 可以访问外部内存寻址(由指令 MOVX)。
03FF
FF
FF
Higher 128 Bytes (Accessed by
indirect addressing mode only)
SFR (Accessed by direct addressing
mode only)
Expanded 1K Bytes
(Accessed by direct
external addressing mode
by instruction MOVX)
80
80
7F
Lower 128 Bytes (Accessed by
direct & indirect addressing mode )
0000
00
图 3-2: RAM architecture
3.3
数据内存-低 128 字节(00h to 7Fh)
数据存储器从 00h 到 FFh 的地址和在 8052 中的定义是一样的。
00h 到 7Fh 的地址可通过直接或者间接寻址方式访问。
00h 到 1Fh 是寄存器的空间,
20h 到 2Fh 是位寻址空间,
30h 到 7Fh 是通用的数据存储区。
3.4
数据存储器-高 128 字节(80h to FFh)
80h 到 FFh 的地址仅仅能从间接寻址的方式访问,它是一个数据区。
3.5
存储器-扩展的 1024 字节($0000 到 $03FF)
从外部地址为 0000h 到 03FFh 是片上扩大的 SRAM 区域,一共1024字节。这一区域可以是由访问外部直接寻址模式
(MOVX 指令)。指令MOVX @Ri,i=0 或1的地址空间可以经由 RCON [7:0] 的特殊功能寄存器$86 RCON (内部 RAM
控制寄存器)来决定。RCON [7:0] 的默认设置是 00h ( page 0 )。一页数据 RAM 是 256 个字节。
Note: SM39R16A6 无法存取外挂的外部 RAM,仅能使用扩展 1K SRAM。
MOVX @Ri, A
0 ≦ RCON[7:0] ≦ 3
MOVX A, @Ri
Addr [15:8] <= RCON[7:0]
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 24 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
4. CPU结构
SM39R16A6 结构由以下四部分组成:
(1) 控制单元
(2) 算法-逻辑单元
(3) 存储器控制单元
(4) RAM 和 SFR 控制单元
SM39R16A6 结构允许接受来自程序存储器的指令并与RAM或SFR做数据处理,以下各段详细叙述了主要功能寄存器。
符号
描述
ACC
B
Accumulator
B register
Program status
word
Stack Pointer
Data pointer low 0
Data pointer high 0
Data pointer low 1
Data pointer high 1
Auxiliary register
Clock control
register
Interface control
register
PSW
SP
DPL
DPH
DPL1
DPH1
AUX
CKCON
IFCON
PAGESEL
4.1
地址
Page Select
Bit 7
E0h
F0h
ACC.7
B.7
D0h
CY
Bit 6
Bit 5
8051 Core
ACC.6 ACC.5
B.6
B.5
AC
Bit 3
Bit 2
Bit 1
Bit 0
ACC.4
B.4
ACC.3
B.3
ACC.2
B.2
ACC.1
B.1
ACC.0
B.0
00H
00H
OV
PSW.1
P
00H
DPS
07H
00H
00H
00H
00H
00H
CLKOUT[1:0]
10H
F0
81h
82h
83h
84h
85h
91h
BRGS
8Eh
-
8Fh
-
CDPR
-
BEh
-
-
-
RS[1:0]
-
P21CC
重置值
Bit 4
SP[7:0]
DPL[7:0]
DPH[7:0]
DPL1[7:0]
DPH1[7:0]
P1UR
-
-
-
-
-
-
-
-
ISPE
00H
-
-
-
Page_
num
Page_
mode
00H
ITS[2:0]
-
累加器
ACC是一个累加器,大部分单操作指令的一个操作数取自累加器。
符号: ACC
7
6
ACC.7 ACC.6
5
ACC05
4
ACC.4
3
ACC.3
2
ACC.2
1
ACC.1
0
ACC.0
地址: E0h
Reset
00h
0
B.0
地址: F0h
Reset
00h
ACC[7:0]: The A (or ACC) register is the standard 8052 accumulator.
4.2
B 寄存器
B寄存器被用于乘法或除法指令,也可作为一般寄存器以存储临时数据。
符号: B
7
B.7
6
B.6
5
B.5
4
B.4
3
B.3
2
B.2
1
B.1
B[7:0]: The B register is the standard 8052 register that serves as a second accumulator.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 25 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
4.3
程序状态字
符号: PSW
7
6
CY
AC
5
F0
4
3
RS [1:0]
2
OV
1
F1
0
P
地址: D0h
Reset
00h
CY: 进位标志位。
AC: 为 BCD 辅助进位标志位。
F0: 用户设置标志位 0。
RS[1:0]
00
01
10
11
Bank Selected
Bank 0
Bank 1
Bank 2
Bank 3
地址
00h – 07h
08h – 0Fh
10h – 17h
18h – 1Fh
OV: 溢出标志位。
F1: 用户设置标志位 1。
P: 奇偶校验位,受硬件影响,显示累加器中的奇偶的 1 位,即奇偶校验。
4.4
堆栈指针
堆栈指针是一个1字节的寄存器,在复位后初始化值为07h。此寄存器在执行PUSH和CALL指令之前增值,使得堆栈指针
在08h开始执行。
符号: SP
7
6
5
4
3
2
1
0
SP [7:0]
地址: 81h
Reset
07h
SP[7:0]: 堆栈指针储存了暂时寄存器的地址,该地址是堆栈指针的起始位置。换言之,它总是指向
堆栈指针的顶端。
4.5
数据指针
数据指针为2字节,低位为DPL,高位为DPH。它可以作为一个2字节的寄存器(MOV DPTR,#data16)来使用,或者作为
两个寄存器(例如,MOV DPL,#data8) ,它通常被用作是运行外部程序或者是数据空间(如,MOVC A,@ A+DPTR 或者各自
的MOVX A, @ DPTR) 。
符号: DPL
7
6
5
4
3
DPL [7:0]
2
1
0
地址: 82h
Reset
00h
DPL[7:0]: Data pointer Low 0
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 26 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号: DPH
7
6
5
4
3
DPH [7:0]
2
1
地址: 83h
Reset
00h
0
DPH [7:0]: Data pointer High 0
4.6
数据指针 1
双数据指针加速了块状数据的运行速度,标准的DPTR 是一个16位的寄存器,是用来寻址外部空间或者外部存储器。在
SM39R16A6 中,标准的数据指针称为DPTR,第二个数据指针称为DPTR1。选择位用来选择使用的数据指针,数据指
针的选择位位于AUX寄存器的LSB(DPS) 。
用户通过触发AUX寄存器中的LSB位进行切换,所有有关的DPTR指令都将为当前选用的DPTR所操作。
符号: DPL1
7
6
5
4
3
DPL1 [7:0]
2
1
0
地址: 84h
Reset
00h
4
3
DPH1 [7:0]
2
1
0
地址: 85h
Reset
00h
3
-
2
-
1
-
0
DPS
3
-
2
-
DPL1[7:0]: Data pointer Low 1
符号: DPH1
7
6
5
DPH1[7:0]: Data pointer High 1
符号: AUX
7
6
BRGS P21CC
5
-
4
P1UR
地址: 91h
Reset
00H
DPS: 数据指针选择位。
DPS = 1 选择数据指针 1。
4.7
时钟控制寄存器
符号: CKCON
7
6
-
5
ITS[2:0]
4
1
0
CLKOUT[1:0]
地址: 8Eh
Reset
10H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 27 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
ITS[2:0]: 指令时钟周期选择。
ITS [2:0]
000
001
010
011
100
101
110
111
指令时钟周期
1T 模式
2T 模式(默认)
3T 模式
4T 模式
5T 模式
6T 模式
7T 模式
8T 模式
CLKOUT: 时钟输出除频选择。
CKCON [1:0]
Mode.
00
GPIO(默认)
01
主系统时钟频率
10
主系统时钟频率/2
11
主系统时钟频率/4
主系统时钟源设置为使用振荡器(时钟由晶振输入脚输入)或片内RC振荡器皆可。
4.8
接口控制寄存器
符号: IFCON
7
6
CDPR
5
-
4
-
3
-
2
-
1
-
地址: 8Fh
0
Reset
ISPE
00H
CDPR: 程序码已加密指示位(仅读) 。
ISPE: ISP 功能使能位。
ISPE = 1,允许使用 ISP 功能。
ISPE = 0,禁止使用 ISP 功能。
4.9
PAGESEL (页面选择)
SM39R16A6 提供了两种不同的方法来设置特殊功能例如(SFR) 如下:

SFR 方法 1 (间接模式): 此方法只是 SFR 页面。如果您想要使用
PWM 寄存器的方法 2 中,可以使用间接寻址的设置。
例如:方法 1 中写入数据 0x80 PWMEN 例如。
PAGESEL = 0x00;
// Method 1
PWMADDR = 0xF5;
// PWMEN 间接地址: 0xF5 (间接模式)
PWMDATA = 0x80;

// PWMEN 间接地址: 0xF5 (间接模式)
SFR 方法 2 (页面模式): 此方法提供了两个 SFR 页以设置寄存器。
例如: PWMEN 间接地址: 0xF5 (间接模式)。
PAGESEL = 0x03;
// 在方法 2 中写入数据 0x80 至 PWMEN 例如,第 1 页。
PWMEN = 0x80;
// 0X80 数据写入 PWMEN。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 28 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器

SFR 页模式表:
7
-
Page_mode
Page_num
SFR Select
0
0
SFR Method 1
0
1
SFR Method 1
1
0
SFR Method 2, Page 0
1
1
SFR Method 2, Page 1
符号: PAGESEL
6
5
-
-
4
3
2
-
-
-
1
Page_
num
0
Page_
mode
地址: BEh
Reset
00H
Page_num: 只在 SFR 方法 2 使用此标志。
0 = 页面 0 模式。
1 = 页面 1 模式。
Page_mode: 此标志用于选择 SFR 寄存器表。
0 : SFR Method 1 (间接模式) 。
1 : SFR Method 2 (页面模式) 。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 29 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
5. GPIO管脚型态
5.1 寄存器设置:
SM39R16A6 有4个I/O口:Port 0、Port 1、Port2 与 Port 3。Ports 0、1、2是8位口而Port 2、3是7位口。它们是:准双
向口 (标准的8051端口输出) 、推挽电路、开漏、与只输入。两种寄存器的配置为每个端口的每个位选择输出方式。
SM39R16A6 的所有端口可以通过软件配置四种型号的一种。如下表显示:
符号
描述
地址
P0M0
Port 0 output mode 0
P0M1
Port 0 output mode 1
P1M0
Port 1 output mode 0
P1M1
Port 1 output mode 1
P2M0
Port 2 output mode 0
P2M1
Port 2 output mode 1
P3M0
Port 3 output mode 0
P3M1
Port 3 output mode 1
*OP18通过编程设置。
PxM1.y
0
0
1
1
PxM0.y
0
1
0
1
Bit 7 Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
I/O port function register
P0M0 [7:0]
P0M1[7:0]
P1M0[7:0]
P1M1[7:0]
P2M0[6:0]
P2M1[6:0]
P3M0[1:0]
P3M1[1:0]
D2h
D3h
D4h
D5h
D6h
D7h
DAh
DBh
Bit 1
Bit 0
重置值
~OP18
00H
00H
00H
00H
00H
00H
00H
Port output mode
准双向口 (标准的8051端口输出)
推挽电路
只输入 (high-impedance)
开漏
当使用片上硬件复位机制时,复位脚可配置为P3.4。
当用户使用内部晶振作为系统时钟时,XTAL2 与 XTAL1可在烧写或用ISP时定义成IO管脚P3.5、P3.6;当用户使用外部
振荡器由XTAL1输入作为系统时钟时,只有XTAL2可定义成IO管脚P3.5。
一般的应用,每个管脚都可独立的置高或置低。如下表显示:
符号
描述
Port 3
Port 3
Port 2
Port 2
Port 1
Port 1
Port 0
Port 0
* OP19通过编程设置。
地址
Bit 7
Bit 6
B0h
A0h
90h
80h
P1.7
P0.7
P3.6
P2.6
P1.6
P0.6
符号: P0
7
6
P0.7
P0.6
5
P0.5
4
P0.4
Bit 5
Ports
P3.5
P2.5
P1.5
P0.5
3
P0.3
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
P3.4
P2.4
P1.4
P0.4
P3.3
P2.3
P1.3
P0.3
P3.2
P2.2
P1.2
P0.2
P3.1
P2.1
P1.1
P0.1
P3.0
P2.0
P1.0
P0.0
7Fh
7Fh
FFh
OP19
2
P0.2
1
P0.1
0
P0.0
地址: 80h
Reset
OP19
P0.7~ 0: Port0 [7] ~ Port0[0]
符号: P1
7
6
P1.7
P1.6
5
P1.5
4
P1.4
3
P1.3
2
P1.2
1
P1.1
0
P1.0
地址: 90h
Reset
FFh
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 30 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
P1.7~ 0: Port1 [7] ~ Port1 [0]
符号: P2
7
6
P2.6
5
P2.5
4
P2.4
3
P2.3
2
P2.2
1
P2.1
地址: A0h
0
Reset
P2.0
7Fh
4
P3.4
3
P3.3
2
P3.2
1
P3.1
地址: B0h
0
Reset
P3.0
7Fh
P2.6~ 0: Port2 [6] ~ Port2 [0]
符号: P3
7
-
6
P3.6
5
P3.5
P3.6~ 0: Port3 [6] ~ Port3 [0]
5.2 刻录软件设置
可透过刻录软件内 ” 芯片配置 ” 设置窗口中的 ” IO输出模式 ” 选项,设置MCU初始时 3个I/O口组态: Port 1, Port 2 and
Port 3 为 ” 准双向口 (标准的8051端口输出) ” 或 ” 只输入 ” 模式 , 此功能只支持D版本以后的MCU设置才有效
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 31 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
6. 硬件乘除法器(MDU)
SM39R16A6的算术单元提供了32位除法器,16位乘法器,转化和规范等特点。所有设置均为无符号整数设置。
Mnemonic
Description
Direct
PCON
Power control
Arithmetic Control
register
Multiplication/Divi
sion Register 0
Multiplication/Divi
sion Register 1
Multiplication/Divi
sion Register 2
Multiplication/Divi
sion Register 3
Multiplication/Divi
sion Register 4
Multiplication/Divi
sion Register 5
87H
表 6-1: 乘除寄存器
Bit 7
Bit 6
Bit 5
Bit 4
Multiplication Division Unit
SMOD MDUF
-
EFh
MDEF
ARCON
MD0
MD1
MD2
MD3
MD4
MD5
6.1
MDOV
Bit 3
Bit 2
Bit 1
Bit 0
RESET
-
-
STOP
IDLE
40H
SLR
SC[4:0]
00H
E9h
MD0[7:0]
00H
EAh
MD1[7:0]
00H
EBh
MD2[7:0]
00H
ECh
MD3[7:0]
00H
EDh
MD4[7:0]
00H
EEh
MD5[7:0]
00H
运行 MDU 寄存器
该MDU由7个寄存器处理,是具有记忆体映像为特殊功能寄存器,运算单元允许同时操作以及CPU的独立活动。操作数
及结果寄存器为MD0到MD5,控制寄存器为ARCON。任何MDU的运算将改写其操作数。
符号: ARCON
7
6
MDEF MDOV
5
SLR
4
3
2
SC[4:0]
1
0
地址: EFh
Reset
00H
MDEF: 乘除错误标志位。
MDEF 是一个错误标志位,且只可读。错误标志表示一个不当的操作(当其中的运算操作
被重新启动或者被一个新的运算中断),错误标志机制将自动在第一次写入 MD0 时失效
和来自 MD3(乘法或转换/规范)或来自第三阶段 MD5(除法)最终使读取指令失效。在
以下情况,错误标志位将被置位:
1. 第二阶段的进程,并写入 MDx 寄存器时(重启或者中断计算)。
错误标志只有在以下情况下重置:
第二阶段结束(算法成功)并写入 MDx 寄存器。
MDOV: 乘除法溢出标志。该溢出标志只可读。
只有在以下情况时,该溢出标志被置位:
1. 除以“0”,
2. 再乘以一个比 0000FFFFH 大的值
3. 当最重要的 MD3 位被设置位(MD3.7=1)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 32 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
当通过 MD0 寄存器写入,(开始第一阶段)时,溢出标志被重置。
SLR: 转换方向位。
SLR=0 - 转换左操作。
SLR=1 - 转换右操作。
SC[4:0]: 转换计数器。
当预设与 00000b,标准化被选择,在标准化之后,SC[4;0] 包含正常转换的数字,当
SC[4:0]≠0 时,转换操作就开始,正常转换的数字由计数器写入 SC[4:0]决定。SC[4]位MSB ,SC[0]位-LSB。
6.2
乘除法器的设置
乘除法器的设置分为三个阶段:
6.2.1
第一阶段:装载 MDx 寄存器
要执行的MDU运算的种类是按照MDx寄存器内写入的命令来选择.
Operation
First write
Last write
32bit/16bit
MD0 Dividend Low
MD1 Dividend
MD2 Dividend
MD3 Dividend High
MD4 Divisor Low
MD5 Divisor High
表 6-2: MDU registers write sequence
16bit/16bit
16bit x 16bit
MD0 Dividend Low
MD0 Multiplicand Low
MD1 Dividend High
MD4 Multiplicator Low
MD1 Multiplicand High
MD4 Divisor Low
MD5 Divisor High
MD5 Multiplicator High
shift/normalizing
MD0 LSB
MD1
MD2
MD3 MSB
ARCON start conversion
任何情况下,MD0的写入都将首先被转换,而下一次的写入必须执行表 6-2显示的序列,以确保MDU的运作,最后一次
的写入将开始选择的运作。
6.2.2
第二阶段:执行运算
在执行运算中,MDU运行在拥有CPU并行线上。当MDU执行完毕时,MDUF寄存器将被硬件置位,其标志位也将在下一
次运算中被清除。
符号: PCON
7
6
SMOD MDUF
5
-
4
-
3
-
2
-
1
STOP
0
IDLE
地址: 87h
Reset
40h
MDUF: MDU 完成标志位。
当 MDU 完成运算时,MDUF 将被硬件置位且标志位也将在下一次运算中被清
除。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 33 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
下表给出了每一次数学计算中的执行时间。
Operation
Division 32bit/16bit
Division 16bit/16bit
Multiplication
Shift
Normalize
6.2.3
表 6-3: MDU execution times
Number of Tclk
17 clock cycles
9 clock cycles
11 clock cycles
Min. 3 clock cycles, Max. 18 clock cycles
Min. 4 clock cycles, Max. 19 clock cycles
第三阶段:从 MDx 寄存器上读取结果
从第一个MDX 寄存器上读取序列并不重要,但我们必须意识到最后一次的读取(从MD5的除法运算,或MD3中的乘
法,位移和标准化)将意味着一次完整的运算结束(第三阶段结束)。
Operation
First read
Last read
6.3
表 6-4:MDU registers read sequence
32Bit/16Bit
16Bit/16Bit
16Bit x 16Bit
MD0 Quotient Low
MD0 Quotient Low
MD0 Product Low
MD1 Quotient
MD1 Quotient High
MD1 Product
MD2 Quotient
MD2 Product
MD3 Quotient High
MD4 Remainder L
MD4 Remainder Low
MD5 Remainder H
MD5 Remainder High
MD3 Product High
shift/normalizing
MD0 LSB
MD1
MD2
MD3 MSB
标准化
整数阅读的零在寄存器变量MD0的MD3被左移位操作删除。当MD3寄存器的最高位 (Most Significant Bit) 包含一个'1' 整
个操作完成。经过标准化, ARCON.4(MSB)至ARCON.0(LSB)包含左移位操作数,标准化完成。
6.4
位移
SLR位 (ARCON.5) 包含了位移的方向,并且ARCON.4 至ARCON.0 移位操作数 (必须不能为0)。当位移时,零分别送入
MD0或MD3寄存器的左或右边。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 34 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
7. 定时器0 和定时器1
SM39R16A6 有二个16bit的定时/计数寄存器: 定时器0、定时器1。所有这些都可以被设置为定时或计数操作。
在计时的模式中,定时器0和定时器1寄存器的递增频率,可由寄存器PFCON中选择为与振荡器频率相同或为振荡器频率
的1/12或为振荡器频率的1/96。
在计数的模式中,当检测到相应的输入脚T0/T1有下降沿产生时,寄存器便得到递增,由于它需要2个机器周期来识别由
1到0的跳变,其最大输入的计数频率为振荡器频率的1/2,从而使得这里没有限制的占空比,以确定适当的识别为0或1的
状态,因此,一个输入信号至少要稳定在1个机器周期。
定时器0和定时器1都有四种操作模式选择,在选择操作模式中,两个特殊功能寄存器(TMOD与 TCON)被应用其中。
符号
描述
地址
TL0
Timer 0 , low byte
Timer 0 , high
byte
Timer 1 , low byte
Timer 1 , high
byte
Timer Mode
Control
Timer/Counter
Control
Peripheral
Frequency control
register
8Ah
TL0[7:0]
00H
8Ch
TH0[7:0]
00H
8Bh
TL1[7:0]
00H
8Dh
TH1[7:0]
00H
TH0
TL1
TH1
TMOD
TCON
PFCON
7.1
Bit 7
Bit 6
Bit 5
Timer 0 and 1
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
89h
GATE
C/T
M1
M0
GATE
C/T
M1
M0
00H
88h
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
00H
D9h
-
-
SRELPS[1:0]
T1PS[1:0]
T0PS[1:0]
00H
定时器/计数器模式控制寄存器(TMOD)
符号: TMOD
7
6
5
GATE
C/T
M1
Timer 1
4
M0
3
GATE
2
1
C/T
M1
Timer 0
0
M0
地址: 89h
Reset
00h
GATE: 该位被置位时为门控时,仅当‘INT0 或者 INT1’脚为高时,且‘TRx’控制位被置位
(参考 TCON 寄存器)时使能,计数器在每个 T0 或 T1 输入脚处于下减沿触发
时得到加强。
C/T: 门控定时器或计数器选择器。该位被置位时用作计数器功能,该位被清零时用
作定时器功能。
M[1:0]: 定时/计数器 0 或定时/计数器 1 的选择模式。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 35 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
7.2
M1
0
M0
0
Mode
Mode0
0
1
1
0
Mode1
Mode2
1
1
Mode3
Function
13bit计数器/定时器,包含TL0/TL1寄存器的低5
位及TH0/TL1寄存器的全部8位,其TL0/TL1寄
存器的高3位可设置为0。
16 位计数器/定时器。
8 位自动重载的计数器/定时器,自动重载的值
保留在TH0和TH1。同时TL0或者TL1在每个机
器周期内都会递增。当溢出时,将THx存放的值
装入TLx。
如定时器1的M1和M2位被设置为1,定时器2停
止计数。如定时器0的M1和M0位被设置为1,
定时器0作为两个独立的8位定时器/计数器。
定时/计数控制寄存器(TCON)
符号: TCON
7
6
TF1
TR1
5
TF0
4
TR0
3
IE1
2
IT1
1
IE0
0
IT0
地址: 88h
Reset
00h
TF1: 定时器 1 溢出标志。定时器/计数器溢出时由硬件置位。中断执行时硬件清
零,或由软件清零。
TR1: 定时器 1 运行控制位。 如置位/清零,关闭定时器/计数器 1。
TF0: 定时器 0 溢出标志。定时器/计数器溢出时由硬件置位。中断执行时硬件自动
清零,或由软件清零。
TR0: 定时器 0 运行控制位。如置位/清零,关闭定时器/计数器 0。
IE1: 中断 1 边沿标志。当检测到外部中断 1 边沿/低电平时由硬件置位该标志。中
断处理时由硬件清零,或通过软件清零。
IT1: 中断 1 类型控制位,通过软件置位/清零该位来选择外部中断 1 以下降沿/低电
平方式触发。
IE0: 中断 0 边沿标志。当检测到外部中断 0 边沿/低电平时由硬件置位该标志。中
断处理时由硬件清零,或通过软件清零。
IT0: 中断 0 类型控制位。通过软件置位/清零该位来选择外部中断 0 以下降沿/低电
平方式触发。
7.3
中断触发类型增强寄存器(ENHIT)
符号: ENHIT
7
6
ENHIT1
5
-
4
ENHIT0
3
-
2
-
1
-
0
-
地址: E5h
Reset
07H
注: 此功能只支持 D 版本以后的 MCU 设置才有效
ENHIT1: 中断 1 触发边沿控制位。
当 ENHIT1 设置为 0 且 IT1 设置为 1 时, 则开启中断 1 触发选项为下降沿触发
当 ENHIT1 且 IT1 皆设置为 1 时, 则开启中断 1 触发选项为上升沿触发
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 36 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
ENHIT1=0
ENHIT1=1
IT1=0
INT1低电平触发
INT1 低电平触发
IT1=1
INT1下降沿触发
INT1上升沿触发
ENHIT0: 中断 0 触发边沿控制位。
当 ENHIT0 设置为 0 且 IT0 设置为 1 时, 则开启中断 0 触发选项为下降沿触发
当 ENHIT0 且 IT0 皆设置为 1 时, 则开启中断 0 触发选项为上升沿触发
7.4
ENHIT0=0
ENHIT0=1
IT0=0
INT0低电平触发
INT0 低电平触发
IT0=1
INT0下降沿触发
INT0上升沿触发
5
4
SRELPS[1:0]
3
2
T1PS[1:0]
定时器输入频率控制寄存器
符号: PFCON
7
6
-
1
0
T0PS[1:0]
地址: D9h
Reset
00H
T1PS[1:0]: 定时器 1 分频器选择位。
T1PS[1:0]
分频器
00
Fosc/12
01
Fosc
10
Fosc/96
11
reserved
T0PS[1:0]: 定时器 0 分频器选择位。
T0PS[1:0]
分频器
00
Fosc/12
01
Fosc
10
Fosc/96
11
reserved
7.5
模式 0 (13 位定时/计数)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 37 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
÷12
OSC
00
01
÷96
10
C/T = 1
T1PS[1:0]
T1腳
TR1
GATE1
ET1
C/T = 0
TH1
TL1
(5位元) (8位元)
1
1
控制
目前沒有更高層次
的中斷程式在執行
AND
NOT
TF1
EA
0
0
跳到001BH
OR
INT1腳
D0D1D2D3D4D5D6D7
D5D6D7
D0D1D2D3D4
TL1
TF1
TH1
图 7-1: 模式 0 -13 位定时器/计数器操作
7.6
模式 1 (16 位定时/计数)
÷12
OSC
00
01
÷96
10
C/T = 1
T1PS[1:0]
T1腳
TR1
GATE1
ET1
C/T = 0
TH1
TL1
(8位元) (8位元)
EA
0
1
1
控制
目前沒有更高層次
的中斷程式在執行
AND
NOT
TF1
0
跳到001BH
OR
INT1腳
D0D1D2D3D4D5D6D7
D0D1D2D3D4D5D6D7
TL1
TH1
TF1
图 7-2: 模式 1 -16 位定时器/计数器操作
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 38 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
7.7
模式 2 (8 位自动重载定时/计数)
÷12
OSC
00
01
÷96
10
C/T = 1
T1PS[1:0]
T1腳
ET1
C/T = 0
TR1
TL1
(8位元)
NOT
EA
0
1
1
控制
自動重
新載入
AND
GATE1
TF1
0
OR
TH1
(8位元)
INT1腳
目前沒有更高層次
的中斷程式在執行
跳到001BH
图 7-3: 模式 2 -8 位自动重载定时/计数
7.8
模式 3 (两个独立 8 位定时/计数(仅定时器 0))
÷12
00
TH0
(8 Bits)
TF1
中斷要求
(001BH)
TL0
(8 Bits)
TF0
中斷要求
(000BH)
TR1
OSC
01
÷96
C/T = 0
10
C/T = 1
T0PS[1:0]
T0 腳
TR0
GATE0
控制
AND
NOT
OR
/INT0 腳
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 39 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
图 7-4: 模式 3 -两个独立 8 位定时/计数(仅定时器 0)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 40 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
8. 定时器2 以及捕捉/比较单元(PWM)
定时器2不仅仅是一个16位的定时器,也是一个带有4个通道比较,捕获及重载功能,除了脉冲宽度调制(PWM)外,它
是非常相似在其它一些微控制器的可编程计数器阵列(PCA)。
符号
AUX
T2CON
CCCON
CCEN
CCEN2
TL2
TH2
CRCL
CRCH
CCL1
CCH1
CCL2
CCH2
CCL3
CCH3
描述
地址
Bit 2
Bit 1
Bit 0
重置值
-
-
DPS
00H
CCF2
Auxiliary register
91h
Timer 2 control
Compare/Capture
Control
Compare/Capture
Enable register
Compare/Capture
Enable 2 register
Timer 2, low byte
Timer 2, high byte
Compare/Reload/
Capture register,
low byte
Compare/Reload/
Capture register,
high byte
Compare/Capture
register 1, low
byte
Compare/Capture
register 1, high
byte
Compare/Capture
register 2, low
byte
Compare/Capture
register 2, high
byte
Compare/Capture
register 3, low
byte
Compare/Capture
register 3, high
byte
C8h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Timer 2 and Capture Compare Unit
P21C
BRGS
P1UR
C
T2PS[2:0]
T2R[1:0]
C9h
CCI3
C1h
-
COCAM1[2:0]
-
COCAM0[2:0]
00H
D1h
-
COCAM3[2:0]
-
COCAM2[2:0]
00H
CCI2
CCI1
CCI0
CCF3
-
T2I[1:0]
CCF1
CCF0
00H
00H
CCh
CDh
TL2[7:0]
TH2[7:0]
00H
00H
CAh
CRCL[7:0]
00H
CBh
CRCH[7:0]
00H
C2h
CCL1[7:0]
00H
C3h
CCH1[7:0]
00H
C4h
CCL2[7:0]
00H
C5h
CCH2[7:0]
00H
C6h
CCL3[7:0]
00H
C7h
CCH3[7:0]
00H
符号: AUX
7
6
BRGS P21CC
5
-
4
P1UR
3
-
2
-
1
-
0
DPS
地址: 91h
Reset
00H
P21CC : P21CC = 0 –在 P1 功能上的捕获/比较。
P21CC = 1 –在 P2 功能上的捕获/比较。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 41 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号: T2CON
7
6
T2PS[2:0]
5
4
3
T2R[1:0]
2
-
1
0
T2I[1:0]
地址: C8h
Reset
00H
T2PS[2:0]: 分频器选择位。
T2PS = 000 – 定时器 2 的时钟为振荡频率。
T2PS = 001 – 定时器 2 的时钟为振荡频率的 1/2。
T2PS = 010 – 定时器 2 的时钟为振荡频率的 1/4。
T2PS = 011 – 定时器 2 的时钟为振荡频率的 1/6。
T2PS = 100 – 定时器 2 的时钟为振荡频率的 1/8。
T2PS = 101 – 定时器 2 的时钟为振荡频率的 1/12。
T2PS = 110 – 定时器 2 的时钟为振荡频率的 1/24。
T2R[1:0]: 定时器 2 重载模式选择位。
T2R[1:0] = 0X – 重载无效。
T2R[1:0] = 10 – 模式 0:自动重载。
T2R[1:0] = 11 – 模式 1:依 T2EX 脚下降缘重载。
T2I[1:0]: 定时器 2 输入选择位。
T2I[1:0] = 00 – 定时器 2 计数停止。
T2I[1:0] = 01 – 输入频率依 T2PS[2:0]分频器选择。
T2I[1:0] = 10 – 定时器 2 在 T2 脚的外部信号递增。
T2I[1:0] = 11 – 门控定时器 2 可为内部时钟输入。
符号: CCCON
7
6
CCI3
CCI2
5
CCI1
4
CCI0
3
CCF3
2
CCF2
1
CCF1
地址: C9h
0
Reset
CCF0
00H
CCI3: 捕捉/比较信道 3 中断功能控制位。
“1” 中断功能使能。
CCI2: 捕捉/比较信道 2 中断功能控制位。
“1” 中断功能使能。
CCI1: 捕捉/比较信道 1 中断功能控制位。
“1” 中断功能使能。
CCI0: 捕捉/比较信道 0 中断功能控制位。
“1” 中断功能使能。
CCF3: 捕捉/比较通道 3 中断旗标位。可由软件清零。
CCF2: 捕捉/比较通道 2 中断旗标位。可由软件清零。
CCF1: 捕捉/比较通道 1 中断旗标位。可由软件清零。
CCF0: 捕捉/比较通道 0 中断旗标位。可由软件清零。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 42 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
捕捉/比较中断与定时器 2 中断共享同一个中断向量。
符号: CCEN
7
6
5
4
COCAM1[2:0]
3
-
2
1
0
COCAM0[2:0]
地址: C1h
Reset
00H
1
0
COCAM2[2:0]
地址: D1h
Reset
00H
COCAM1[2:0] 000: 禁止比较/捕获功能。
001: 比较功能启动但无输出。
010: 比较功能模式 0。
011: 比较功能模式 1。
100: 捕获在 CC1 脚的上升沿。
101: 捕获在 CC1 脚的下降沿。
110: 捕获在 CC1 脚的上升沿及下降沿。
111: 在寄存器 CC1 中捕获写入操作。
COCAM0[2:0] 000: 禁止比较/捕获功能。
001: 比较功能启动但无输出。
010: 比较功能模式 0。
011: 比较功能模式 1。
100: 捕获在 CC0 脚的上升沿。
101: 捕获在 CC0 脚的下降沿。
110: 捕获在 CC0 脚的上升沿及下降沿。
111: 在寄存器 CC0 中捕获写入操作。
符号: CCEN2
7
6
5
4
COCAM3[2:0]
3
-
2
COCAM3[2:0] 000: 禁止比较/捕获功能。
001: 比较功能启动但无输出。
010: 比较功能模式 0。
011: 比较功能模式 1。
100: 捕获在 CC3 脚的上升沿。
101: 捕获在 CC3 脚的下降沿。
110: 捕获在 CC3 脚的上升沿及下降沿。
111: 在寄存器 CC3 中捕获写入操作。
COCAM2[2:0] 000: 禁止比较/捕获功能。
001: 比较功能启动但无输出。
010: 比较功能模式 0。
011: 比较功能模式 1。
100: 捕获在 CC2 脚的上升沿。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 43 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
101: 捕获在 CC2 脚的下降沿。
110: 捕获在 CC2 脚的上升沿及下降沿。
111: 在寄存器 CC2 中捕获写入操作。
8.1
定时器 2 功能
定时器2既可做为定时器,又可做为计数器,或解释为门控定时器(如下解释) 。
8.1.1
定时器模式
如以下图 8-1,在此模式中,定时器2递增频率依分频器选择决定,而分频器则由特殊寄存器T2CON中的T2PS[2:0]位选
择。
图 8-1: Timer mode and Reload mode function
8.1.2
外部信号计数模式
如以下图 8-2,在此模式中,当然外部信号T2由1到0的跳变时,定时器得到递增,T2输入在每个周期中得以采样,定时
器2在跳变检测的一个周期中得到递增。
图 8-2: Event counter mode function
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 44 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
8.1.3
外部信号定时器模式
如以下图 8-3,在此模式中,定时器2递增的内部时钟是由外部信号T2来控制的。
图 8-3: Gated timer mode function
8.1.4
定时器 2 的重载
重载(来自CRC寄存器的16位重载)可在以下两种模式中执行:
模式0:重载信号由定时器2溢出产生,即自动重载。
模式1:重载信号由相应的输入脚T2EX负跳变产生。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 45 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
8.2
比较功能
在四个独立的比较器中,任何比较/捕捉寄存器中的值都和定时器寄存器的内容比较,其比较模式0或1由位C0CAMx来选
择。在这两种比较模式中,其比较结果在同样的机器周期的P1口的得出使得其内部比较信号被激活。
8.2.1
比较模式 0 (PWM)
在模式0中,当定时器2的值等同与比较寄存器上的值时,其输出信号由低到高的跳变,并在定时器溢出时返回低电位。
在此模式中,对端口写入无效,因为无法对来自内部总线及暂存器进行操作。
如以下图 8-5数字阐述了比较模式0的功能
Contents of
Timer 2
CRC or CCx
Reload value
CCx Output
Timer 2 = CCx value
Timer 2 overflow
图 8-1: Compare mode 0 function
8.2.2
比较模式 1
在比较模式1中,其输出信号的跳变是由软件来决定的。定时器2的溢出不会导致输出的改变。在此模式中,两种信号的
跳变都是可以控制的,如图 8-6及图 8-7显示了在比较模式1中的寄存器/端口结构菜单。
在比较模式1中,其值将首先被写入到“阴影寄存器”中,当比较信号被激活时,其值被传递到输出寄存器。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 46 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
图 8-2: 模式 1 寄存器/端口功能
Contents of
Timer 2
CRC or CCx
Reload value
CCx Shadow Register
CCx Output
Timer 2 = CCx value
Timer 2 = CCx value
图 8-3: 比较模式 1 功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 47 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
8.3
捕获功能
在一个外部事件(模式0)或一个软件写操作(模式1)上,实际的定时器/计数器的值可以被保存在寄存器CCx或CRC
中。
8.3.1
捕捉模式 0
如以下图 8-8,在模式0中,定时器2的值的捕捉在以下情况进行:
(1) 上升沿输入 CC0-CC3。
(2) 下降沿输入 CC0-CC3。
(3) 上升沿及下降沿输入 CC0-CC3。
定时器2的内容将被对应的捕捉寄存器锁存。
图 8-4: 捕捉模式 0 功能
8.3.2
捕捉模式 1
如以下图 8-9,在模式1中,定时器2的值的捕捉将导致写入到捕捉寄存器中的低字节无任何价值,其捕捉寄存器的写入
值与改功能无关,定时器2的内容将被对应的捕捉寄存器琐存。
图 8-5: 捕捉模式 1 功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 48 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
9. 串行接口
两个串行缓冲器组成两个单独寄存器,即一个传输缓冲区和一个接收缓冲区。
写入数据到特殊功能寄存器(SFR)SBUF并设置这些数据在串行输出缓冲,并开始传输,来自SBUF的读取及从串行接
收缓冲区读取数据,串行口可同时传输和接收数据,它也可在接收时缓存1字节,如CPU在第一个字节传输完成之前读取
第二个字节,以防接收数据丢失。
符号
描述
地址
Bit 7
PCON
AUX
Power control
Auxiliary register
Serial Port control
register
Serial Port reload
register low byte
Serial Port reload
register high byte
Serial Port data
buffer
Peripheral
Frequency control
register
87H
91h
SMOD
BRGS
98H
SM0
SM1
SM2
AAH
SREL.
7
SREL.
6
BAH
-
-
SCON
SRELL
SRELH
SBUF
PFCON
Bit 3
Bit 2
Bit 1
Bit 0
重置值
-
-
STOP
-
IDLE
DPS
40H
00H
REN
TB8
RB8
TI
RI
00H
SREL.
5
SREL.
4
SREL.
3
SREL.
2
-
-
-
-
SREL.
1
SREL.
9
SREL.
0
SREL.
8
Bit 6
Bit 5
Bit 4
Serial interface
MDUF
P21CC
P1UR
99H
SBUF[7:0]
D9h
符号: AUX
7
6
BRGS P21CC
-
5
-
4
P1UR
SRELPS[1:0]
3
1
-
2
RB8
1
TI
00H
00H
T1PS[1:0]
2
-
00H
T0PS[1:0]
0
DPS
00H
地址: 91h
Reset
00H
BRGS: BRGS = 0 – 波特率产生器使用定时器 1。
BRGS = 1 – 波特率产生器使用 SREL 寄存器。
P1UR: P1UR = 0 – 串行接口的功能 P3。
P1UR = 1 – 串行接口的功能 P1。
符号: SCON
7
6
SM0
SM1
5
SM2
4
REN
3
TB8
0
RI
地址: 98h
Reset
00H
SM0, SM1: 串行口模式选择。
SM0 SM1
Mode
0
0
0
0
1
1
1
0
2
1
1
3
在 UART 的 4 种模式中,模式 0~3 稍后解释。
SM2: 多处理机通信使能位。
REN: 如置位,串行接收使能,软件清除禁止接收。
TB8: 在模式 2 和 3 中,发送的第 9 位数据位,置位或清零取决与它执行的功能,如
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 49 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
奇偶校验功能,多处理机通信等。
RB8: 在模式 2 和 3 中,RB8 为接收的第 9 位数据位。在模式 1 中,如 SM2=0,
RB8 为停止位。在模式 0 中,此位不被使用。须由软件清除。
TI: 发送中断标志位。在完成串行传输后由硬件置位,须由软件清除。
RI: 接收中断标志。在完成串行传输后由硬件置位,须由软件清除。
9.1
串行接口由以下 4 种模式可以设置
SM0
0
0
1
1
SM1
0
1
0
1
Mode
0
1
2
3
描述
Shift register
8-bit UART
9-bit UART
9-bit UART
Board Rate
Fosc/12
Variable
Fosc/32 or Fosc/64
Variable
这里的Fosc是晶体或振荡器的频率。
9.1.1
模式 0
引脚RXD充当输入和输出。TXD输出时钟。每次发送或接收以LSB最低位作首位,每次8位。波特率固定为的晶体的频率
1/12,接收通过以下的在SCON中的设置标志在模式0中初始化:RI = 0及REN = 1。在其它模式中,当REN=1时,开始
从起始位接收串行数据。
图 9-1: 发送模式 0
图 9-2: 接收模式 0
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 50 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
9.1.2
模式 1
引脚RXD充当输入,TXD充当串行输出,无任何外部时钟被使用,每次数据为10位:一个起始位(=0),8个数据位(LSB
位在前),及一个停止位(=1)。在接收据数据时,起始位将被同步传输,8个数据位可通过SBUF来读取,一个停止位存
于特殊功能寄存器SCON的设置标志RB8内,在模式1中,无论是内部的波特率发生器或定时器1可以用来指定波特率。
图 9-3: 发送模式 1
图 9-4: 接收模式 1
9.1.3
模式 2
该模式和模式1类似,但有两点不同。波特率被固定在振荡器的频率的1/32(SMOD=1)或1/64(SMOD=0),且有11
位数据被传输或接收: 1个起始位(=0),8个数据位(LSB在前),一个可编程的第9位及一个停止位(=1),9位可以
用来控制串行接口的奇偶性。在传输中,SCON中的TB8输出第9位,在接收中,SCON中的RB8将被影响。
9.1.4
模式 3
模式2和3的唯一不同之处在于:在模式3中,无论是内部的波特率发生器或定时器1可以用来指定波特率。
图 9-5: 传输模式 2 和模式 3
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 51 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
图 9-6: 接收模式 2 和 3 中
9.2
串行接口的多重机通讯
在串行接口的模式2 和3,接收9 位的功能,可用于多处理器的通讯。在这种情况下,从机在SCON 中的位SM2被置位为
1。当主机输出从机的地址时,Bit9 将被置1,从而在所有的从机中导致串行口接收中断。从机将接收到的字节和它们的
网络地址比较,如匹配,其从机将清除SM2,并接收其余的信息,其它的从机将远离SM2无效,并忽略此信息。在解决
从机后,其主机在Bit9 清0 时将输出剩余部分的信息。因此,没有串口接收中断会产生在未选中的处理机中。
9.3
输入频率控制寄存器
符号: PFCON
7
6
-
5
4
SRELPS[1:0]
SRELPS[1:0]: SREL 分频器选择位
SRELPS[1:0]
00
01
T1PS[1:0]: Timer1 分频器选择位
T1PS[1:0]
00
01
10
11
3
2
T1PS[1:0]
1
0
T0PS[1:0]
地址: D9h
Reset
00H
Prescaler
Fosc/64
Fosc /32
Prescaler
Fosc/12
Fosc
Fosc/96
reserved
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 52 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
9.4
波特率发生器
9.4.1
9.4.1.1
串行接口的模式 1 和 3
当 BRS = 0 (在 AUX 寄存器):
(1) 当 T1PS[1:0] = 00
Baud Rate =
2 SMOD × Fosc
32 × 12 × (256 − TH1)
(2) 当 T1PS[1:0] = 01
Baud Rate =
2 SMOD × Fosc
32 × (256 − TH1)
(3) 当 T1PS[1:0] = 10
2 SMOD × Fosc
Baud Rate =
32 × 96 × (256 − TH1)
9.4.1.2
当 BRS = 1 (在 AUX 寄存器)
(1) 当 SRELPS[1:0] = 00
2 SMOD × Fosc
64 × 210 − SREL
)
2 SMOD × Fosc
Baud Rate =
32 × 210 − SREL
)
Baud Rate =
(
(2) 当 SRELPS[1:0] = 01
(
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 53 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
10. 看门狗定时器
看门狗定时器是一个8位的计数器并会在计数器溢出时产生复位讯号。WDT在噪音、电源干扰,或断电等导致软件死循
环或跑飞程序等情况下非常有用。WDT功能可以帮助拥护的软件从不正常的软件状态中恢复正常。WDT不同于通用的
8052的计时器0、1、2。为了防止WDT复位,可以通过软件定时清除WDT计数器。当不可预料的复位发生时,用户应该
检查WDTC寄存器的WDTF位。在一外部复位后,该看门狗定时器将无效且所有寄存器都清零。
看门狗定时器是一个自由运行的片上RC振荡器 (约23 KHz) 。WDT将保持运行就算是系统时钟被关闭(例如,在睡眠状
态) 。在正常的运行或睡眠状态,一个WDT超时(如使能)将导致MCU复位。WDT在正常状态下可随时被使能或失效。请
注意WDTC寄存器的WDTE位,默认的WDT超时时间为接近178.0ms (WDTM [3:0] = 0100b) 。
WDT有可选择的分频。要选择分频,需要正确设置看门控制寄存器(WDTC)的位3~位0(WDTM [3:0])
23KHz
2 WDTM
256
Watchdog reset time =
WDTCLK
WDTCLK =
表 10-1: WDT 超时时间
Divider
WDTM [3:0]
(23 KHz RC oscillator in)
0000
1
0001
2
0010
4
0011
8
0100
16
0101
32
0110
64
0111
128
1000
256
1001
512
1010
1024
1011
2048
1100
4096
1101
8192
1110
16384
1111
32768
注: RC 振荡器(23 KHz),大约有 ± 20 %误差
Time period @ 23KHz
11.1ms
22.2ms
44.5ms
89.0ms
178.0ms (default)
356.1ms
712.3ms
1.4246s
2.8493s
5.6987s
11.397s
22.795s
45.590s
91.180s
182.36s
364.72s
当MCU复位,MCU将会读WDTEN控制位状态。当WDTEN位被设置为1,参考以下无论WDTE位状态如何,看门狗功能
将会失效。当WDTEN位被清0,在WDTE位被通过变成设为1的情况下,看门狗功能将被使能。用户可通过编程器或ISP
设置WDTEN。
对WDTE位写入1同时WDTEN控制位清0,能使WDT功能使能。在WDTE设为1后,8位的计数器用通过WDTM[3:0]设置
好的分频进行计数。它在溢出时将会产生复位讯号,WDTE位在MCU重启时将被自动清0,同时硬件复位或WDT复位。
看门狗一旦开始工作将无法停止。当WDTK寄存器用户可通过对看门狗定时器重置密钥(WDTK)写入55h实现WDT计时器
清0。这将会清除8位计数器内容并让计数器重启, 看门狗定时器必须定时刷新以防来自可变的重置复位请求信号。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 54 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
当看门狗定时器溢出时,WDTF标志位将被置1并自动重置复位MCU,该标志位可被软件或外部复位清除。
Clear
WDTF = 0
1. Power on reset
2. External reset
3. Software write “0”
23KHz RC
oscillator
WDTF
Set WDTF = 1
CWDTR = 0
WDTCLK
1
TAKEY
(55, AA, 5A)
2WDTM
WDTM[3:0]
Enable/Disable
WDT
WDT time-out
reset
WDT
time-out
select
WDT
Counter
CWDTR = 1
Refresh
WDT Counter
WDT time-out
Interrupt
WDTC
Enable WDTC
write attribute
WDTK
(0x55)
WDTEN
图 10-1: Watchdog 定时器框图
符号
TAKEY
WDTC
WDTK
RSTS
描述
Time Access
Key register
Watchdog timer
control register
Watchdog timer
refresh key
Reset status
register
地址
Bit 7
Bit 6
Bit 5
Bit 4
Watchdog Timer
F7h
B6h
符号: TAKEY
7
6
Bit 2
Bit 1
Bit 0
TAKEY [7:0]
-
CWDTR
WDTE
B7h
A1h
Bit 3
00H
-
WDTM [3:0]
04H
WDTK[7:0]
LVRLP
INTF
-
5
LVRLP
F
4
3
TAKEY [7:0]
PDRF
2
重置值
00H
WDTF
SWRF
1
0
LVRF
PORF
00H
地址: F7h
Reset
00H
看门狗控制寄存器(WDTC)默认为仅读。软件需依序于寄存器 TAKEY 写入 55h、AAh 及 5Ah 才能对看门狗控制
寄存器(WDTC)执行写入,启动看门狗功能及设定重置时间。
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
符号: WDTC
7
6
CWDTR
5
WDTE
4
-
3
2
1
WDTM [3:0]
0
地址: B6h
Reset
04H
CWDTR: 看门狗溢位状态选择(支持休眠唤醒) 。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 55 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
0: 看门狗发生溢位时产生重置信号。
1: 看门狗发生溢位时产生中断信号。
WDTE: 看门狗定时器使能位。
此位需于 WDTEN=0(此值于出厂时已设为 0)时设置才有作用,既于刻录(使用 ICP、
ISP 或一般刻录器)时于看门狗选项选择使用。
0: 禁能。
1: 使能。
WDTM [3:0]: 看门狗重置信号产生时间选择位。请参考图 10-1所列看门狗重置信号产生时间。
符号: RSTS
7
6
LVRLP
INTF
5
LVRLP
F
地址: A1h
Reset
4
3
2
1
0
PDRF
WDTF
SWRF
LVRF
PORF
00h
WDTF: 看门狗重置旗标。
此旗标于芯片之复位信号是由看门狗重置产生时由硬件自动设置。此旗标可由软件清
零。
符号: WDTK
7
6
5
4
3
WDTK[7:0]
2
1
0
地址: B7h
Reset
00h
WDTK: 看门狗定时器计数器清零寄存器。
于此寄存器写入 0x55,看门狗定时器计数器将清零重新计数。
例如 1:
看门狗定时器使能并选择重置信号产生时间为 2.8493s
第一步,先确认刻录时看门狗功能已选择使用
第二步,如下
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
; enable WDTC write attribute.
MOV WDTC, #28h
; Set WDTM [3:0] = 1000b. Set WDTE =1 to enable WDT
; function.
.
.
.
MOV WDTK, #55h
; Clear WDT timer to 0.
例如 2:
看门狗定时器使能并选择周期中断信号产生时间为 178.0ms
第一步,先确认刻录时看门狗功能已选择使用
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 56 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
第二步,如下
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
; enable WDTC write attribute.
MOV WDTC, #64h
; Set WDTM [3:0] = 0100b. Set WDTE =1 to enable WDT function
; and Set CWDTR =1 to enable period interrupt function
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 57 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
11. 中断
SM39R16A6提供12个中断源并带有4级优先权。每一中断源都在特殊寄存器(SFR)中有自身的请求标志,每个中断请求
信号通过相应的标志及特殊寄存器(SFR)中的IEN0及IEN1中的使能位来独自允许或禁止。
当中断发生时,CPU将会跳转预先设定的地址,如表 11-1 表所示,一旦中断开始执行,就只能被更高优先级的中断终
止,其中断服务会被来自指令RETI的返回所终结。当一RETI被执行时且中断发生时,处理器将将返回此指令,并执行下
一条指令。
当中断条件发生时,该处理器通过设置一个标志位来表示,无论中断使能或禁止,每个中断标志都将在每个机器周期中
采样一次,随后采样由硬件来检测,当中断被使能时,且采样指出相应中断时,中断请求标志被设置。在随后的指令周
期中,中断将被硬件所确定。从而迫使一个LCALL 指向相应的地址向量。
当中断发生时,中断响应将需要不同的时间,这取决于相关的处理器。如一处理器执行的中断服务程序同等或更优先,
新的中断将不会启用,在其它情况下,响应时间将取决于当前的指令。以最快的速度回应一个中断是需要7个机器周期,
这包括一个检测中断的机器周期和6周期执行LCALL周期。
1
表 11-1: 中断向量
Interrupt Vector
Interrupt Request Flags
Address
IE0 – 外部中断0
0003h
2
TF0 – 定时器0 中断
000Bh
1
3
IE1 – 外部中断 1
0013h
2
4
TF1 – 定时器1 中断
001Bh
3
5
RI/TI – 串行口中断
0023h
4
6
TF2/EXF2 – 定时器2 中断
002Bh
5
7
PWMIF – PWM 中断
0043h
8
8
SPIIF – SPI 中断
004Bh
9
9
ADCIF – A/D 转换 中断
LVIIF – 低压侦测 中断
IICIF – IIC 中断
WDTIF– 看门狗 中断
0053h
0063h
006Bh
008Bh
10
12
13
17
10
11
12
Interrupt Number
*(use Keil C Tool)
0
*参考Keil C用户指南中的有关中断功能使用说明
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 58 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号
IEN0
IEN1
IEN2
IRCON
IRCON2
IP0
IP1
描述
Interrupt Enable
0 register
Interrupt Enable
1 register
Interrupt Enable
2 register
Interrupt request
register
Interrupt request
register 2
Interrupt priority
level 0
Interrupt priority
level 1
地址
Bit 7
Bit 6
Bit 5
Interrupt
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
A8H
EA
-
ET2
ES
ET1
EX1
ET0
EX0
00H
B8H
EXEN2
-
IEIIC
IELVI
-
IEADC
IESPI
-
00H
9AH
-
-
-
-
-
-
EWDT
-
00H
C0H
EXF2
TF2
IICIF
LVIIF
-
ADCIF
SPIIF
-
00H
97H
-
-
-
-
-
-
WDT
IF
-
00H
A9H
-
-
IP0.5
IP0.4
IP0.3
IP0.2
IP0.1
IP0.0
00H
B9H
-
-
IP1.5
IP1.4
IP1.3
IP1.2
IP1.1
IP1.0
00H
5
ET2
4
ES
3
ET1
2
EX1
1
ET0
0
EX0
符号: IEN0
7
6
EA
-
地址: A8h
Reset
00h
EA: EA=0 –禁能所有中断。
EA=1 –使能所有中断。
ET2: ET2=0 –禁能定时器 2 中断。
ET2=1 –使能定时器 2 中断。
ES: ES=0 –禁能串行口中断。
ES=1 –使能串行口中断。
ET1: ET1=0 –禁能定时器 1 中断。
ET1=1 –使能定时器 1 中断。
EX1: EX1=0 –禁能外部中断 1。
EX1=1 –使能外部中断 1。
ET0: ET0=0 –禁能定时器 0 中断。
ET0=1 –使能定时器 0 中断。
EX0: EX0=0 –禁能外部中断 0。
EX0=1 –使能外部中断 0。
符号: IEN1
7
EXEN2
6
-
5
IEIIC
4
IELVI
3
-
2
IEADC
1
IESPI
0
-
地址: B8h
Reset
00H
EXEN2: 定时器 2 重载中断使能位。
EXEN2 = 0 –禁能定时器 2 外部重载中断。
EXEN2 = 1 –使能定时器 2 外部重载中断。
IEIIC: IIC 中断使能位。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 59 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
IEIICS = 0 –禁能 IIC 中断。
IEIICS = 1 –使能 IIC 中断。
IELVI: 低压侦测中断使能位。
IELVI = 0 –禁能低压侦测中断。
IELVI = 1 –使能低压侦测中断。
IEADC: A/D 转换中断使能位。
IEADC = 0 –禁能 ADC 中断。
IEADC = 1 –使能 ADC 中断。
IESPI: SPI 中断使能位。
IESPI = 0 –禁能 SPI 中断。
IESPI = 1 –使能 SPI 中断。
符号: IEN2
7
6
-
5
-
4
-
3
-
2
-
1
EWDT
地址: 9Ah
Reset
00H
0
-
EWDT: WDT 看门狗中断使能位。
EWDT = 0 –禁能 WDT 中断。
EWDT = 1 –使能 WDT 中断。
符号: IRCON
7
6
EXF2
TF2
5
IICIF
4
LVIIF
3
-
2
ADCIF
1
SPIIF
0
-
地址: C0h
Reset
00H
EXF2: 定时器 2 重载中断旗标位。必须由软件清零。
TF2: 定时器 2 中断旗标位。必须由软件清零。
IICIF: IIC 中断旗标位。当有开启中断时,在跳到中断向量前硬件会自动清除为 0。
LVIIF: 低压侦测中断旗标位。当有开启中断时,在跳到中断向量前硬件会自动清除为 0。
ADCIF: A/D 转换中断旗标位。当有开启中断时,在跳到中断向量前硬件会自动清除为 0。
SPIIF: SPI 中断旗标位。当有开启中断时,在跳到中断向量前硬件会自动清除为 0。
符号: IRCON2
7
6
-
5
-
4
-
3
-
2
-
1
WDTIF
0
-
地址: 97h
Reset
00H
WDTIF: 看门狗中断旗标位。当有开启中断时,在跳到中断向量前硬件会自动清除为 0。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 60 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
11.1 优先权配置
所有中断来源相组合于以下组中,如表 11-2:
表 11-2: Priority level groups
Groups
看门狗中断
-
外部中断 0
定时器 0 中断
外部中断 1
定时器 1 中断
串行口中断
定时器 2 中断
PWM 中断
SPI 中断
ADC 中断
低压侦测中断
IIC 中断
通过对SFR中的IP0或IP1置位或清零,每一组中断都可被独自编程为四个优先级中的一个,如要求相同的优先级被同时
接收,一内部轮询序列将依次确定哪个请求被优先服务。
符号: IP0
7
-
6
-
5
IP0.5
4
IP0.4
3
IP0.3
2
IP0.2
1
IP0.1
地址: A9h
0
Reset
IP0.0
00h
符号: IP1
7
-
6
-
5
IP1.5
4
IP1.4
3
IP1.3
2
IP1.2
1
IP1.1
地址: B9h
0
Reset
IP1.0
00h
IP1.x
0
0
1
1
Bit
IP1.0, IP0.0
IP1.1, IP0.1
IP1.2, IP0.2
IP1.3, IP0.3
IP1.4, IP0.4
IP1.5, IP0.5
外部中断 0
定时器 0 中断
外部中断 1
定时器 1 中断
串行口中断
定时器 2 中断
表 11-3: Priority levels
IP0.x
优先权层级
0
1
0
1
Level0 (最低)
Level1
Level2
Level3 (最高)
表 11-4: Groups of priority
Group
看门狗中断
-
PWM 中断
SPI 中断
ADC 中断
低压侦测中断
IIC 中断
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 61 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
表 11-5: 轮询顺序
中断源
顺序
外部中断 0
PWM 中断
定时器 0 中断
看门狗中断
SPI 中断
外部中断 1
ADC 中断
定时器 1 中断
串行口中断
低压侦测中断
定时器 2 中断
IIC 中断
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 62 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
12. 电源管理单元
电源管理单元提供两种电源管理模式,即IDLE(待机/空闲)和STOP(停止),并为用户提供省电功能。
符号: PCON
7
6
SMOD MDUF
5
-
4
-
3
-
2
-
1
STOP
0
IDLE
地址: 87h
Reset
40h
STOP: STOP 模式控制位。设置此位将运行 STOP 模式,STOP 位总是读为 0。
IDLE: IDIE 模式控制位。设置此位将运行 IDLE 模式,IDLE 位总是读为 0。
12.1 待机模式(空闲模式)
使用IDLE(待机模式(空闲模式))模式可通过对PCON寄存器的IDLE位置位。空闲模式停止MCU的时钟源,但外部的时
钟源依旧保持,由于此时CPU不工作,电源功耗将被降低。当任何一中断信号或者一复位信号时,CPU将退出待机模式
(空闲模式)。
12.2 停止模式
使用STOP(停止模式)模式可通过对PCON寄存器的STOP位置位。在此模式中,所有的中断源将全部被关闭,CPU将
从一个无时钟的中断(外部中断0/1、低压侦测、看门狗中断)或者一个重置(看门狗及低压重置)条件下退出该模式,
内部产生的中断(定时器、串行端口... ),由于它们需要时钟源而会没有任何动作。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 63 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
13. 脉宽调制器(PWM)
PWM 模块特色:

4 个通道(2 对)的 PWM 输出。

14 位分辨率。
中断值为43h。
Bit 6
Bit 5
PWM
Mnemonic
Description
Dir.
Bit 7
PWMTBC0
PWM Time Base
Control 0 Reg.
F9h
-
-
-
-
PWMTBC1
PWM Time Base
Control 1 Reg.
FAh
PWM
TBEN
-
-
PWM
Protec
tDIS
-
-
-
PWMP
IE
10H
PWMOP
MOD
PWM Output Pair
Mode Reg.
FBh
-
-
-
-
PWM
OP3
MOD
PWMO
P2
MOD
-
-
00H
PERIODL
PERIODH
PWMEN
PWMTB
POST
SCALE
PWMINTF
PWMPOLA
RITY
DUTY2L
DUTY2H
DUTY3L
DUTY3H
PWM Period
(Low) Reg.
PWM Period
(High) Reg.
PWM Output
Enable Reg.
PWM Time Base
Post Scale Reg.
PWM INT Flag
Reg.
PWM Polarity
Reg.
PWM 2 Duty Low
byte Reg.
PWM 2 Duty
High byte Reg.
PWM 3 Duty Low
byte Reg.
PWM 3 Duty
High byte Reg.
F1h
Bit 4
Bit 3
Bit 2
PWMTBPRE
[1:0]
Bit 1
Bit 0
RST
PWMTBMOD
[1:0]
00H
PWM Period Low 8 bit
F2h
-
-
F5h
PWM7
EN
PWM6
EN
FFH
PWM Period High 6 bit
PWM5
EN
EEh
PWM4
EN
-
-
3FH
-
-
PWMTBPOST[7:0]
00H
00H
BCh
PWM
TBDIR
-
-
-
-
-
-
PWMP
IF
00H
DDh
Polarity
7
Polarity
6
Polarity
5
Polarity
4
-
-
-
-
FFH
D5h
D6h
PWM2 Duty Low 8 bit
-
-
D7h
C9h
PWM2 Duty High 6 bit
PWM3 Duty Low 8 bit
-
-
PWM3 Duty High 6 bit
00H
00H
00H
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 64 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号: PWMTBC0
(PWM Time Base Control 0)
7
6
5
-
地址: F9h
4
-
3
2
PWMTBPRE[1:0]
1
0
PWMTBMOD[1:0]
Reset
00H
PWMTBPRE[1:0]: PWM 时基分频
PWMTBPRE
[1:0]
00
01
10
11
Mode
Fosc
Fosc/4
Fosc/16
Fosc/64
PWMTBMOD: PWM 时基模式
PWMTBMOD [1:0] = 00 -自由运行模式(Edge-align)。
PWMTBMOD [1:0] = 01 -单次转换模式(Edge-align)。
PWMTBMOD [1:0] = 10 -连续向上/向下计数模式(Center-align) 。 ( TBCOUNTER =
PERIOD 产生一个中断)
PWMTBMOD [1:0] = 11 -连续向上/向下计数模式并产生两次中断(Center-align) 。
(TBCOUNTER = PERIOD and TBCOUNTER = 0 各产生一个中断)
Freq = 24MHz, Period = 14 bit
PWM Frequency Edge-align
PWM Frequency Center-align
1500 Hz
750 Hz
375 Hz
188 Hz
94 Hz
47 Hz
23 Hz
12 Hz
Prescale
1:1
1:4
1:16
1:64
符号: PWMTBC1
(PWM Time Base Control 1)
7
6
5
PWMTB
EN
地址: FAh
4
PWMPro
tectDIS
3
2
1
0
Reset
-
-
-
PWMPIE
10H
PWMTBEN: PWM 时基使能位。
0 = PWM 时基禁用。
1 = PWM 时基使能。
WMProtectDIS: PWM 保护设置。 (fool proof circuit)
0 = 使能。(应用于互补模式)
1 = 禁用。
PWM4/PWM5 & PWM6/PWM7,保护使能/禁用。
PWMPIE: PWM 周期中断允许位。
PWMPIE = 0 - 周期中断禁用。
PWMPIE = 1 - PWM 周期中断使能。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 65 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
图 13-1: Opertion of the PWM Protect Mode
符号: PWMOPMOD
(PWM Output Pair Mode)
7
6
-
-
地址: FBh
5
4
-
-
3
PWMOP3
MOD
2
PWMOP2
MOD
1
0
Reset
-
-
00H
2
-
1
-
0
-
地址: F5h
Reset
00H
PWMOP3MOD: PWM 输出对 3 模式。
0 = (PWM6 / PWM7) 是互补模式。
1 = (PWM6 / PWM7) 是独立模式。
PWMOP2MOD: PWM 输出对 2 模式。
0 = (PWM4 / PWM5) 是互补模式。
1 = (PWM4 / PWM5) 是独立模式。
符号: PWMEN
7
6
PWM7EN PWM6EN
5
PWM5EN
4
PWM4EN
3
-
PWM7EN: PWM 7 使能选择。
PWM7EN = 0 - PWM7 输出禁止。
PWM7EN = 1 - PWM7 输出使能。
PWM6EN: PWM 6 使能选择。
PWM6EN = 0 - PWM6 输出禁止。
PWM6EN = 1 - PWM6 输出使能。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 66 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
PWM5EN: PWM 5 使能选择。
PWM5EN = 0 - PWM5 输出禁止。
PWM5EN = 1 - PWM5 输出使能。
PWM4EN: PWM 4 使能选择。
PWM4EN = 0 - PWM4 输出禁止。
PWM4EN = 1 - PWM4 输出使能。
符号: PWMTBPOSTSCALE
7
6
5
4
3
PWMTBPOST [7:0]
2
1
0
地址: EEh
Reset
00H
PWMTBPOST[7:0] PWM 时基后分频器(Post Scale) 。(设定多少次数的 PWM 周期发生触发一次中断)
0000_0000 = 1: 1 后分频器
0000_0001 = 1: 2 后分频器
:
:
0000_1111 = 1: 16 后分频器
0001_0000 = 1: 17 后分频器
:
:
1111_1111 = 1: 256 后分频器
符号: PWMINTF
(PWM Interrupt Flag)
7
6
PWMTB
DIR
地址: BCh
5
4
3
2
1
-
-
-
-
-
0
PWMP
IF
Reset
00H
PWMTBDIR: PWM 时基计数方向状态。(只读)
0 = 向上计数。
1 = 向下计数。
PWMPIF: PWM 周期中断旗标。必须由软件清零。
符号: PWMPOLARITY
7
6
POLARITY POLARITY
7
6
5
POLARITY
5
4
POLARITY
4
3
2
1
0
-
-
-
-
地址: DDh
Reset
FFH
POLARITY7: PWM Polarity 7
POLARITY7 = 0 - PWM7 极性低电平动作。
POLARITY7 = 1 - PWM7 极性高电平动作。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 67 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
POLARITY6: PWM Polarity 6
POLARITY6 =0 - PWM6 极性低电平动作。
POLARITY6 =1 - PWM6 极性高电平动作。
POLARITY5: PWM Polarity 5
POLARITY5 = 0 - PWM5 极性低电平动作。
POLARITY5 = 1 - PWM5 极性高电平动作。
POLARITY4: PWM Polarity 4
POLARITY4 = 0 - PWM4 极性低电平动作。
POLARITY4 = 1 - PWM4 极性高电平动作。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 68 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
14. IIC 功能
这些IIC模块使用SCL(时钟)和SDA(数据)线来联系其它的IIC界面, 其速度可以由软件设置特殊寄存器(SFR)中的
IICBR[2:0] ,从而使其高达到400Kbps(最大值)。IIC模块可以是主机也可以是从机,提供两个中断(RXIF、TXIF),
并有两个地址以作数据传输,它将产生开始,在主机模式中,反复启动和停止信号,在从机模式中,它将检测开始,反
复启动和停止信号, 最大沟通的长度及连接设备的数目被一个最大400pF 的电容所限制。
符号
IICCTL
IICS
描述
IIC control
register
IIC status register
地址
Bit 7
F9h
IICEN
F8h
-
中断向量为 6Bh
Bit 6
Bit 5
Bit 4
IIC function
AB_E
MSS
MAS
N
MPIF
LAIF
RXIF
IICA1
IIC Address 1
register
FAh
IICA1[7:1]
IICA2
IIC Address 2
register
FBh
IICA2[7:1]
IICRWD
IICEBT
IIC Read/Write
register
IIC Enaable Bus
Transaction
符号: IICCTL
7
6
IICEN
MSS
FCh
FDh
Bit 3
Bit 2
Bit 1
BF_EN
TXIF
Bit 0
重置值
IICBR[2:0]
RXAK
TXAK
04H
RW or
BB
MATC
H1or
RW1
MATC
H2 or
RW2
IICRWD[7:0]
FU_EN
5
MAS
4
AB_EN
-
3
BF_EN
-
-
2
1
IICBR[2:0]
00H
A0H
60H
00H
-
-
0
-
00H
地址: F9h
Reset
04h
IICEN: IIC 模式使能。
IICEN = 1,使能。
IICEN = 0,禁止。
MSS: 主\从机模式选择。
MSS = 1, 选择主机模式。
MSS = 0, 选择从机模式。
软件必须在设置其它寄存器之前置位。
MAS: 主模式的地址选择(仅在主机模式中)。
MAS = 0,使用 IICA1。
MAS = 1,使用 IICA2。
AB_EN: 仲裁失去了使能位。(仅主机模式)
当 AB_EN 位使能, 硬件将检查仲裁丢失位。一旦发生丢失仲裁,硬件将返回到空闲状态。如
果此位被清除,硬件也不会理会仲裁丢失情况。当多主机与从机连接时需设置此位,于单主机与
从机时清除此位。
BF_EN: 总线忙碌使能位。 (仅主机模式)
当 BF_EN 位使能,硬件将不会产生开始信号至总在线直到 BF 已置低。此位若被清零将永远产
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 69 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
生开始信号至总线当 MStart 置高。当多主机与从机连接时需设置此位,于单主机与从机时清除
此位。
IICBR[2:0]: 波特率选择(仅在主机模式)这里的 Fosc 为外部晶体或振荡器的频率,系统默认为 Fosc/512
以便用户选择。
IICBR[2:0]
000
001
010
011
100
101
110
111
符号: IICS
7
6
MPIF
5
LAIF
Baud rate
Fosc/32
Fosc/64
Fosc/128
Fosc/256
Fosc/512
Fosc/1024
Fosc/2048
Fosc/4096
4
RXIF
3
TXIF
2
RXAK
1
TXAK
0
RW or BB
地址: F8H
Reset
00H
MPIF: 停止条件中断旗标
当停止条件发生此位将置高.此位需由软件清零
LAIF: 仲裁失去中断旗标. (只主机模式)
当仲裁失去条件发生此位将置高.此位需由软件清零
RxIF: 数据接收中断标志位,在 IICRWD(IIC 读写数据缓存)载入一个新的接收数据时被置位;软件清零该
位后,IIC 中断标志位(IICIF)将自动清零。
TxIF: 数据传输中断标志位,当所有位于转换寄存器中的位数据被传输时,该位被置位,来自 IICRWD(IIC
读/写数据缓存)的 8 位数据被下载至转换寄存器中;软件清零该位后,IIC 中断标志位(IICIF)将自动
清零。
RxAK: 接收确认位。置零,这意味着一个确认信号已经收到在完成 8 位数据传输总线上后。
TxAK: 传输确认位。当收到完整的 8 位数据,此位将设置(NoAck) 或清除(Ack) 并传输到主机显示接收状
态。事实上,它是被作为一个字节的传输在第 9 位。
RW or BB: 主机模式:
BB:总线忙碌表示位。
当侦测到 SCL=0 或 SDA=0 或总线产生开始信号,此位将置高。当侦测到停止信号,此位将清零。此
位可由软件清零以使系统回到就绪状态。
从机模式:
RW:从机模式的读取(接收)或写(传输) 在 IIC 总线。当此位被清除,表示从机模式在 IIC 总线接收数
据(只从机模式) 。如图 14‑ 1。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 70 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
图 14-1: Acknowledgement bit in the 9th bit of a byte transmission
符号: IICA1
7
6
5
4
3
2
1
IICA1[7:1]
R/W
地址: FAH
Res
0
et
Match1 or RW1
A0H
R or R/W
从机模式:
IICA1[7:1]: IIC 地址寄存器。
这是为从机模式的第一个 7-位的地址,它在一个地址(来自主机模式)接收后被检测。
Match1: 当 IICA1 和来自主机模式方的接收地址匹配时,该位将被硬件置位,当 IIC 总线读或写第一笔资
料时,该位将被自动清除。
主机模式:
IICA1[7:1]: IIC 地址寄存器。
显示要与它通讯的从机的 7 位地址。
RW1: 如模块被设置为 Mstart 或 Rstart bit,该位将被作为从机方的 RW 发送,它在 IIC 地址之后的抵
th
8 位显示,如图 14-2.。它用来告诉从属模式中将来的通信的方向。如设置为 1,模块在主模式
中为接收方,如是 0,模块在主模式中为传输方。
图 14-2: RW bit in the 8th bit after IIC address
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 71 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号: IICA2
7
6
地址: FBh
5
4
IICA2[7:1]
R/W
3
2
1
0
Match2 or RW2
R or R/W
Reset
60h
从机模式:
IICA2[7:1]: IIC 地址寄存器。
这是为从机模式的第二个 7 位的地址,它在一个地址(来自主机模式)接收后被检测。
Match2: 当 IICA2 和来自主机模式方的接收地址匹配时,该位将被硬件置位,当 IIC 总线读或写第一笔资料
时,该位将被自动清除。
主机模式:
IICA2[7:1]: IIC 地址寄存器。
显示要与它通讯的从机的 7 位地址。
RW2: 如模块被设置为 Mstart 或者 Rstart bit,该位将被作为从机方的 RW 发送,它用来告诉从机模式中
将来的通信的方向。如设置为 1,模块在主模式中为接收方,如是 0,模块在主模式中为传输方。
符号: IICRWD
7
6
5
4
3
IICRWD[7:0]
2
1
0
1
-
0
-
地址: FCh
Reset
00h
IICRWD[7:0]: IIC 读写缓存。
在接收(读)模式中,接收的字节存储于此。
在传输模式中,该字节通过该 SDA 被转换。
符号: IICEBT
7
6
FU_EN
5
-
4
-
3
-
2
-
地址: FDH
Reset
00H
主机模式:
00: 保留。
01: IIC 模块将致能以便由 SDA 及 SCL 读写数据。
10: IIC 模块将于 SDA 及 SCL 发出开始信号,再送出储存于 IICA1 或 IICA2(由 MAS 位选择)的地
址。
11: IIC 模块将于 SDA 及 SCL 发出停止信号。
FU_EN[7:6] 此两位将自动清零,软件需重复写入。
从机模式:
01: FU_EN[7:6] 此两位于从机模式仅能写入 01。其它值是无效的。
備註:
FU_EN[7:6] 当总线空闲时,于读写数据前此两位需先写入 01;否则,SCL 将被锁住(置低) 。
FU_EN[7:6] 当读写数据后并收到主机之停止信号时此两位需接着再写入 01。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 72 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
在传送数据时(从机模式),于此两位写入 01 前待传送数据需先写入 IICRWD。
FU_EN[7:6] 此两位将自动清零,软件需重复写入。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 73 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
15. SPI功能
串行外围接口(SPI)是一个同步串行接口,允许主机和从机沟通。
中断向量为4Bh。
SPI 使用4个信号:
SPI_MOSI: 在主机模式中数据输出,在从机模式中数据输入。
SPI_MISO: 在主模式中数据输入,在从机模式中数据输出。
SPI_SCK: 主机模式时钟输出,以上数据与同步。
SPI_SS: 从机模式中输入。
从机设备检测该信号来判断是否被主模式选择。
在主机模式中,它可选择所需的从机设备的任何IO的值为零。如图 15-1所示的一个例子将显示主机与从机的4路信号之
间的关系。
Master
MOSI
MISO
CLK
IO
IO
Slave 2
Slave 1
MOSI
MISO
CLK
MOSI
MISO
CLK
SS
SS
图 15-1: SPI 主主机模式和从机模式之间的信号
这仅是单通道SPI的界面,SPI SFRs 如下所示:
符号
SPIC1
SPIC2
SPIS
SPITXD
SPIRXD
描述
SPI control
register 1
SPI control
register 2
SPI status
register
SPI Transmit
data buffer
SPI receive
data buffer
地址
Bit 7
F1h
SPIEN
F2h
SPIFD
F5h
SPIRF
Bit 6
Bit 5
Bit 4
SPI function
SPIMS SPISS SPICK
S
P
P
Bit 3
SPIML
S
SPICK
E
SPIRS
T
SPITD
R
TBC[2:0]
SPIOV
SPITXI
F
Bit 2
SPIRXI
F
Bit 1
Bit 0
重置值
SPIBR[2:0]
08H
RBC[2:0]
00H
SPIRD
R
SPIRS
40H
F3h
SPITXD[7:0]
00H
F4h
SPIRXD[7:0]
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 74 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号:SPIC1
7
6
SPIEN
SPIMSS
5
SPISSP
4
SPICKP
3
SPICKE
2
1
SPIBR[2:0]
0
地址:F1H
Reset
08H
SPIEN: SPI 模式使能位。
“1” SPI 功能使能。
“0” SPI 功能禁止。
SPIMSS: 主/从机模式选择位。
“1” 主机模式。
“0” 从机模式。
SPISSP: 从机选择的极性(仅从机模式有效)。
“1” - 高电平动作。
“0” - 低电平动作。
SPICKP: 时钟空闲极性。
“1” - 空闲时 SCK 为高电平。Ex :
“0” - 空闲时 SCK 为低电平。Ex :
SPICKE: 时钟采样相位选择位。
“1” – 数据锁存在上升沿。
“0” – 数据锁存在下降沿。
*为确保数据锁存的稳定性,产生的输出数据,无论对方可锁存稳定的数据是在上升沿或下降沿,
都将作为考虑在以下示例中。
SPIBR[2:0]: SPI 速率选择位(仅主机模式有效),这里的 Fosc 为外部时钟或振荡器的频率。
SPIBR[2:0]
Baud rate
0:0:0
Fosc/4
0:0:1
Fosc/8
0:1:0
Fosc/16
0:1:1
Fosc/32
1:0:0
Fosc/64
1:0:1
Fosc/128
1:1:0
Fosc/256
1:1:1
Fosc/512
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 75 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号: SPIC2
7
6
SPIFD
5
TBC[2:0]
4
3
SPIRST
2
1
RBC[2:0]
0
地址: F2H
Reset
00H
SPIFD: 全双工通信模式使能位。
“1” : 使能全双工模式。
“0” : 禁止全双工模式。
当此位被置位时,TBC[2:0]和 RBC[2:0]将被重置并归零。也就是说,只有 8 位数据通讯在全双工
模式中被允许,当主机模式通过 MOSI 线传输数据到从机模式中,意味着带有数据输入和输出的
全双工模式在同样的 SCK 时钟中是同步的,如下图 15-2所示。
Input Shift register
SPIRXD
Output Shift register
SPITXD
Clock Generator
MISO
MISO
MOSI
MOSI
SCK
SCK
SyncMos Master
Output Shift register
SPITXD
Input Shift register
SPIRXD
SyncMos Slave
图 15-2: SPI 主机和从机传输方法
TBC[2:0]: SPI 发送数据位,这里 1-8 位数据除了在全双工模式中是被允许的。
TBC[2:0]
Bit counter
0:0:0
8 bits output
0:0:1
1 bit output
0:1:0
2 bits output
0:1:1
3 bits output
1:0:0
4 bits output
1:0:1
5 bits output
1:1:0
6 bits output
1:1:1
7 bits output
SPIRST: SPI 重新致能模式选择位。 (仅从机模式有效)
SPIRST = 0 禁能。 SPI 于 SS 脚重新致能时,传送或接收数据。
于传送或接收数据缓冲寄存器内,前次传送或接收之数据完全保留。(表示它是有效的)
SPIRST = 1 使能。 SPI 于 SS 脚重新致能时,传送或接收新数据。
于传送或接收数据缓冲寄存器内,前次传送或接收之数据全部舍弃。 (表示它是无效的)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 76 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
RBC[2:0]: SPI 接收数据位,这里 1-8 位数据除了在全双工模式中是被允许的。
RBC[2:0]
Bit counter
0:0:0
8 bits input
0:0:1
1 bit input
0:1:0
2 bits input
0:1:1
3 bits input
1:0:0
4 bits input
1:0:1
5 bits input
1:1:0
6 bits input
1:1:1
7 bits input
符号: SPIS
7
6
SPIRF
SPIMLS
5
SPIOV
4
SPITXIF
3
SPITDR
2
SPIRXIF
1
SPIRDR
0
SPIRS
地址:F5H
Reset
40H
SPIRF: SS 脚被释放旗标指示位。
当 SS 脚被释放且 SPIRST 为”1”时,此位被置高。
SPIMLS: MSB 或者 LSB 输入/输出优先。
“1” : MSB 输入/输出优先。
“0” : LSB 输入/输出优先。
SPIOV: 溢出标志位。
当 SPIRDR 被置位(SPIRXR 中的一个字节,但未被移除)且下一数据也进入时(这里不具备锁
存功能),该标志将被设置并导致在 SPIRXD 接收的数据被溢出毁坏,当 SPIRDR 被清除时,它
也被硬件清除。
SPITXIF: 传输中断标志。
当 SPITXD 寄存器的数据被下载到转换寄存器时,该位被置位。
SPITDR: 传输数据就绪位。
当 MCU 结束对 SPITXD 寄存器读写数据时,MCU 须将改位置位,以通知 SPI 模块发送数据。在
SPI 模块完成从 SPITXD 或 SPITXD 发送数据到下载到转换寄存器后,该位将自动被清除。
SPIRXIF: 接受中断标志位。
在 SPIRXD 被重载一个新的接收数据后,该位被置位。
SPIRDR: 接收数据就绪位。
当一字节被接收时,SPIRDR 被设为一个标志去通知 MCU。在获取来自 SPIRXD 寄存器的数据
后,MCU 须清除该位。如 SPI 模块向传输方写入新的数据至 SPIRXD 中且在该位清零之前,该数
据将随后被覆盖。
SPIRS: 接收起始位。
该位被置位以此通知 SPI 模块来接收位于 SPIRXD 寄存器中的数据。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 77 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
符号: SPITXD
7
6
5
4
3
SPITXD[7:0]
2
1
地址: F3h
Reset
00h
0
SPITXD[7:0]: 传输数据缓冲。
符号: SPIRXD
7
6
5
4
3
SPIRXD[7:0]
2
1
0
地址: F4h
Reset
00h
SPIRXD[7:0]: 接收数据缓冲。
附:SS或CS沒有活躍在從模式下,MISO引腳必須浮。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 78 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
16. LVI –低压侦测中断
中断向量为63h。
符号
描述
RSTS
LVC
Reset status
register
Low voltage
control
符号: RSTS
7
6
LVRLP
INTF
-
地址
Bit 7
A1h
-
E6h
LVI_E
N
Bit 5
Bit 4
LVI function
LVRLP LVRLP
PDRF
INTF
F
LVRLP
LVRE
LVIF
E
Bit 3
Bit 2
Bit 1
Bit 0
重置值
WDTF
SWRF
LVRF
PORF
00H
LVRLP
INTE
-
Bit 6
LVIS[1:0]
20H
地址: A1h
Reset
5
4
3
2
1
0
LVRLPF
PDRF
WDTF
SWRF
LVRF
PORF
00H
LVRLPINTF: “内部”低电压复位旗标。
当 MCU 藉由 LVR_LP_INT 复位时,LVRLPINTF 旗标将由硬件设置旗标为一。该旗标由软件清为
零。
LVRLPF: “外部” 低电压复位旗标。
当 MCU 藉由 LVR(外部低功耗)复位时,LVRLPF 旗标将由硬件设置旗标为一。该旗标由软件清
为零。
PDRF: 外部复位脚复位旗标。
此旗标于芯片之复位信号是由外部复位脚产生时由硬件自动设置。此旗标可由软件清零。
LVRF: 低电压复位旗标。
此旗标于芯片之复位信号是由低电压复位产生时由硬件自动设置。此旗标可由软件清零。
PORF: 上电复位旗标。
此旗标于芯片之复位信号是由上电复位产生时由硬件自动设置。此旗标可由软件清零。
符号: LVC
7
LVI_EN
6
LVR
LPE
5
4
LVRE
LVIF
3
LVRLP
INTE
2
-
1
0
LVIS[1:0]
地址: E6h
Reset
20H
LVI_EN: 低电压中断功能使能位。
0: 禁能低电压检测中断功能。
1: 使能低电压检测中断功能。
LVRLPE: 外部低电压复位功能(低功率)使能位。
0: 使能外部低电压复位(低功率)功能。
1: 禁能外部低电压复位(低功率)功能。
LVRE: 外部低电压重置功能使能位。
0: 禁能外部低电压重置功能。
1: 使能外部低电压重置功能。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 79 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
Note: LVR = 1.50 V
LVIF: 低电压中断旗标位。
LVRLPINTE: LVR_LP_INT(“内部”低电压复位)功能使能位。
0: 禁止内部低电压复位功能。
1: 使能内部低电压复位功能。
LVIS: 低电压中断电压位阶选择:
00: 1.65V
01: 2.60V
10: 3.20V
11: 4.00V
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 80 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
17. 10位模拟数字转换器(ADC)
SM39R16A6提供8通道的10位ADC,数字输出采样的模拟信号放入ADCD[9:0]中,ADC的框圖顯示在图 17-1。
而ADC的中断向量则为53h。
ADCC1[7:0]
VDD
ADCCH[2:0]
Start
ADC0
AVDD
…
…
…
…
ADCD[9:0]
MUX
ADC6
High Speed
10 Bits
ADC Module
ADC7
ADC
Clock
Divider
Fosc
ADC_ISR
AVSS
ADCCS[4:0]
VSS
图 17-1: ADC 模拟到数字转换器的操作设置
ADC SFRs 如下所示:
符号
描述
地址
Bit 7
ADCC1
ADC Control
register 1
ABh
ADC7
EN
ADCC2
ADC Control
register 2
ACh
Start
ADCDH
ADCDL
ADCCS
ADC data high
byte
ADC data low
byte
ADC clock select
符号: ADCC1
7
6
ADC7EN
ADC6EN
Bit 6
Bit 5
ADC
ADC6
ADC5
EN
EN
ADJU
ST
-
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
ADC4
EN
EXT
Trigger
EN
ADC3
EN
ADC2
EN
ADC1
EN
ADC0
EN
00H
ADCM
ODE
ADCCH[2:0]
08H
ADh
ADCDH [7:0]
00H
AEh
ADCDL [7:0]
00H
AFh
5
ADC5EN
-
-
4
ADC4EN
-
3
ADC3EN
ADCCS[4:0]
2
ADC2EN
1
ADC1EN
00H
地址: ABh
0
Reset
ADC0EN
00H
ADC7EN: 使能 ADC 通道 7。
ADC7EN = 1 –使能 ADC 通道 7。
ADC6EN: 使能 ADC 通道 6。
ADC6EN = 1 –使能 ADC 通道 6。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 81 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
ADC5EN: 使能 ADC 通道 5。
ADC5EN = 1 –使能 ADC 通道 5。
ADC4EN: 使能 ADC 通道 4。
ADC4EN = 1 –使能 ADC 通道 4。
ADC3EN: 使能 ADC 通道 3。
ADC3EN = 1 –使能 ADC 通道 3。
ADC2EN: 使能 ADC 通道 2。
ADC2EN = 1 –使能 ADC 通道 2。
ADC1EN: 使能 ADC 通道 1。
ADC1EN = 1 –使能 ADC 通道 1。
ADC0EN: 使能 ADC 通道 0。
ADC0EN = 1 –使能 ADC 通道 0。
符号: ADCC2
7
Start
6
5
ADJUST
-
4
EXTTrigg
erEN
3
ADCMO
DE
2
1
ADCCH[2:0]
0
地址: ACh
Reset
08H
Start: 当该位被置位时,ADC 将启动连续转换。
ADJUST: ADC 数字输出格式调整。
ADJUST = 0: (默认)
ADC 数字输出高字节 ADCD [9:2] = ADCDH [7:0] 。
ADC 数字输出低字节 ADCD [1:0] = ADCDL [1:0] 。
ADJUST = 1:
ADC 数字输出高字节 ADCD [9:8] = ADCDH [1:0] 。
ADC 数字输出低字节 ADCD [7:0] = ADCDL [7:0] 。
PWMTriggerEN: PWM 触发 ADC 开始转换。
(HW 内部触发转换)
0 = 禁用。
1 = 使能。
EXTTriggerEN: 外部引脚触发 ADC 开始转换。
(HW 外部触发转换)
0 = 禁用。
1 = 使能。
ADCMODE: 0 = 连续模式。
1 = 单次转换模式。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 82 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
ADCCH[2:0]: ADC 通道选择。
ADCCH [2:0]
000
001
010
011
100
101
110
111
通道
0
1
2
3
4
5
6
7
ADJUST = 0:
符号: ADCDH
7
6
ADCD[9]
ADCD[8]
符号: ADCDL
7
-
6
-
5
ADCD[7]
4
ADCD[6]
3
ADCD[5]
2
ADCD[4]
1
ADCD[3]
地址: ADh
0
Reset
ADCD[2]
00H
5
-
4
-
3
-
2
-
1
ADCD[1]
地址: AEh
0
Reset
ADCD[0]
00H
ADJUST = 1:
符号: ADCDH
7
-
地址: ADh
6
-
符号: ADCDL
7
6
ADCD[7]
ADCD[6]
5
-
4
-
3
-
2
-
1
ADCD[9]
0
ADCD[8]
Reset
00H
5
ADCD[5]
4
ADCD[4]
3
ADCD[3]
2
ADCD[2]
1
ADCD[1]
地址: AEh
0
Reset
ADCD[0]
00H
4
ADCCS[4]
3
ADCCS[3]
2
ADCCS[2]
1
ADCCS[1]
ADCD[9:0]: ADC 数字寄存器。
符号: ADCCS
7
ADCCS[4:0]:
6
-
5
-
地址: AFh
0
Reset
ADCCS[0]
00H
ADC 时钟选择。
*ADC 时钟最大为 12.5MHz。
*ADC 转换率最大为 961 KHz。
ADCCS[4:0]
ADC 时钟分频(Hz)
00000
Fosc /2
00001
Fosc/4
00010
Fosc /6
00011
Fosc /8
00100
Fosc /10
00101
Fosc /12
00110
Fosc /14
ADC 转换所需时钟数
26
52
78
104
130
156
182
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 83 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Fosc /16
Fosc /18
Fosc /20
Fosc /22
Fosc /24
Fosc /26
Fosc /28
Fosc /30
Fosc /32
Fosc /34
Fosc /36
Fosc /38
Fosc /40
Fosc /42
Fosc /44
Fosc /46
Fosc /48
Fosc /50
Fosc /52
Fosc /54
Fosc /56
Fosc /58
Fosc /60
Fosc /62
Fosc /64
208
234
260
286
312
338
364
390
416
442
468
494
520
546
572
598
624
650
676
702
728
754
780
806
832
Fosc
2 × ( ADCCS + 1)
ADC_Clock
ADC _ Conversion _ Rate =
13
ADC _ Clock =
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 84 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
18. 在系统编程(Internal ISP)
SM39R16A6可通过内部硬件电路产生闪存控制讯号。用户利用闪存控制寄存器,闪存地址寄存器和闪存数据寄存器在不
需要将SM39R16A6移出系统的情况下实现ISP功能。SM39R16A6 提供了可以实现闪存编程/芯片擦除/页擦除/保护功能
的闪存控制讯号。用户需要去设计和使用任何SM39R16A6 可以输入数据的接口,然后利用ISP服务程序去实现闪存的编
程/芯片擦除/页擦除/保护功能。
18.1 ISP 服务程序
ISP服务程序是由用户自行开发并放置于ISP服务程序区的韧件。用户可依需求决定ISP服务程序的大小。另外用户需将
ISP服务程序刻录至SM39R16A6 芯片中才可使用ISP功能。
由于ISP服务程序是由用户自行开发,它需包括闪存数据寄存器的刻录及SM39R16A6 芯片与上位机的通讯协议。举例来
说,用户使用SM39R16A6 芯片上之UART接口与上位机作数据之传送及接收,则SM39R16A6 芯片上之ISP服务程序内
需有波特率设定,为避免数据传输错误需有数据总合检查或同位检查或其它错误检查机制。
于正常动作模式或空闲模式可启动 ISP服务程序,于停止模式则不行。
18.2 锁定位(N)
锁定位N有两个功能:一是配置服务程序的大小,另一个则是通过闪存擦除功能锁定ISP服务程序的空间。
ISP服务程序地址位从$3C00to $3FFF。可被分为N*128字节(N=0-8) 。当N为0时没有ISP功能,所有的16KB字节闪存都
被用来做程序存储。当N为1时,ISP服务程序占用128字节,剩余的15.875K 字节闪存可被用做程序存储。ISP服务程序
的最大空间为1K字节(当N为8时) ,在这样的配置下,可用的程序存储空间为15K 字节。
在N定下来后,SM39R16A6 会从上往下(从最顶端到地址$3FFF)保存ISP服务程序空间。ISP服务程序的开始地址位于
$3x00 (x为任意数字,以N为准,如表 18-1所示) 。请参考章节3.1有关ISP服务程序与程序内存之关系图。
锁定位N功能不同于闪存保护功能,闪存擦除功能可以擦除除ISP服务程序空间外的所有闪存记忆体。如闪存没有被保
护,ISP服务程序的内容一直可被读。如闪存被保护,所有的闪存程序空间包括ISP服务程序空间不能被读。
N
0
1
2
3
4
5
6
7
8
表 18-1 ISP code area.
ISP service program address
No ISP service program
128 bytes ($3F80h ~ $3FFFh)
256 bytes ($3F00h ~ $3FFFh)
384 bytes ($3E80h ~ $3FFFh)
512 bytes ($3E00h ~ $3FFFh)
640 K bytes ($3D80h ~ $3FFFh)
768 K bytes ($3D00h ~ $3FFFh)
896 K bytes ($3C80h ~ $3FFFh)
1.0 K bytes ($3C00h ~ $3FFFh)
ISP 服务程序配置于 N*128 字节 (N= 0 ~ 8)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 85 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
18.3 对 ISP 服务程序编程
在锁定位N被设置并ISP服务程序被编程后,ISP服务程序记忆体被自动的保护(锁定) 。锁定位N有它自己的编程/擦除时
序。这不同于闪存记忆体的编程/擦除时序。因此,被锁定的ISP服务程序不可被闪存擦除功能所擦除。如客户需要擦除
锁定的ISP服务程序,他只可以通过烧写器实现。当SM39R16A6 在系统时,客户不可改变ISP服务程序。
18.4 启动 ISP 服务程序
要启动 ISP 服务程序就是要在 ISP 服务程序的开始地址装载程序计数(PC)并执行它。有四种实现的方法:
(1) 空复位。用首地址为空($000=#0FFH)的硬件复位会在 ISP 服务程序的开始地址装载 PC。硬件复位包括
MAX810 (复位电源) 和外部 pad 复位。硬件复位后,硬件复位后会发出约 256us 的频闪(strobe)。
(2) 执行跳转指令可以装载到 PC 的 ISP 服务程序的起始地址。
(3) 进入到 ISP 服务程序的硬件设置。用户可以通过设置 P1.2、 P1.3"为低"或 P1.4"为低"来强制 SM39R16A6 进
入到 ISP 服务程序。硬件复位包括 MAX810 (复位电源) 和外部 pad 复位。硬件复位后,硬件会发出通知。
在应用系统设计时,在复位期间,用户应该很小心的去设置 P1.2、 P1.3 或 P1.4, 以防止 SM39R16A6 进入
到 ISP 服务程序。
(4) 进入到的 ISP 服务程序的硬件设置,在硬件复位期间,P3.0(RXD) 将会被检测到两个时钟信号。硬件复位包括
MAX810 (复位电源) 和外部 pad 复位。硬件复位后,硬件会发出 2 个时钟信号检测。
在频闪(storbe)窗口中,硬件将检测到P1.2、 P1.3 (或 P1.4)/P1.0的状态,如果他们能满足上述条件之一,芯片会自动
切换到 ISP 模式。ISP 服务程序执行完后,用户需要复位 SM39R16A6,通过硬件复位或WDT 或跳到地址 0000 元去重
新启动的固件程序。
为了用户的不同应用情况,这里有8种不同的进入机制。这个进入方法可以在烧路器或ISP中选取。
(1) 首地址为空例如$0000 = 0xFF。且由内部重置信号触发。(进入机制 1)
(2) 首地址为空例如$0000 = 0xFF。且由外部重置信号触发。(进入机制 1)
(3) P1.2 = 0 & P1.3 = 0。且由内部重置信号触发。(进入机制 2)
(4) P1.2 = 0 & P1.3 = 0。且由外部重置信号触发。(进入机制 2)
(5) P1.4 = 0。且由内部重置信号触发。(进入机制 3)
(6) P1.4 = 0。且由外部重置信号触发。(进入机制 3)
(7) P3.0 输入 2 个时钟。且由内部重置信号触发。(进入机制 4)
(8) P3.0 输入 2 个时钟。且由外部重置信号触发。(进入机制 4)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 86 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
18.5 ISP 寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD and ISPFC
符号
TAKEY
IFCON
ISPFAH
ISPFAL
ISPFD
ISPFC
描述
地址
Time Access Key
register
Interface Control
register
ISP Flash
Address – High
register
ISP Flash
Address – Low
register
ISP Flash Data
register
ISP Flash Control
register
符号: TAKEY
7
Bit 7
Bit 6
Bit 5
ISP function
F7h
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TAKEY [7:0]
8Fh
-
CDPR
-
-
重置值
00H
-
-
-
ISPE
00H
E1h
ISPFAH [7:0]
FFH
E2h
ISPFAL [7:0]
FFH
E3h
ISPFD [7:0]
FFH
E4h
EMF1
EMF2
EMF3
EMF4
-
ISPF.2
ISPF.1
ISPF.0
00H
地址: F7H
6
5
4
3
TAKEY [7:0]
2
1
0
Reset
00H
ISP使能位(ISPE)默认为只读,软件必须连续的对TAKEY寄存器写三个特定值55h、AAH和5Ah,使ISPE位可写。这是:
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
符号: IFCON
7
6
CDPR
5
-
4
-
3
-
2
-
1
-
0
ISPE
地址: 8FH
Reset
00H
位 0(ISPE) of IFCON 是 ISP 使能位,用户可通过设置 ISPE 位为 1 使能 SM39R16A6 的全部 ISP 功能,通过设
置 ISPE 为 0 来禁止全部 ISP 功能。ISPE 的作用像一个加密匙,用户可禁止所有的 ISP 功能以保护软件程序不
被意外的擦除。ISP 寄存器 ISPFAH、ISPFAL、ISPFD 与 ISPFC 默认为只读。软件必须将 ISPE 位设为 1 以使
上述 4 个寄存器为可写。
符号: ISPFAH
7
6
-
-
5
ISPFAH5
4
ISPFAH4
3
ISPFAH3
2
ISPFAH2
1
ISPFAH1
地址: E1H
0
Reset
ISPFAH0
FFH
3
ISPFAL3
2
ISPFAL2
1
ISPFAL1
地址: E2H
0
Reset
ISPFAL0
FFH
ISPFAH [5:0]: 使用 ISP 功能之地址高字节。
符号: ISPFAL
7
6
ISPFAL7 ISPFAL6
5
ISPFAL5
4
ISPFAL4
ISPFAL [7:0]: 使用 ISP 功能之地址低字节。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 87 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
ISPFAH 与 ISPFAL 提供了 14 位闪存记忆体地址用做 ISP 功能,这个闪存记忆体地址不应该包括 ISP 服务程序
空间地址。若 ISPFAH & ISPFAL 寄存器控制的闪存记忆体地址覆盖了 ISP 服务程序空间的地址,这个闪存程序/
页擦除等 ISP 功能的执行将会无效。
符号: ISPFD
7
6
ISPFD7
ISPFD6
5
ISPFD5
4
ISPFD4
3
ISPFD3
2
ISPFD2
1
ISPFD1
地址: E3H
0
Reset
ISPFD0
FFH
ISPFD [7:0]: 使用 ISP 功能之数值。
ISPFD 寄存器提供 ISP 功能中所需之 8 位数据寄存器。
符号: ISPFC
7
6
EMF1
EMF2
5
EMF3
4
EMF4
3
-
2
ISPF[2]
1
ISPF[1]
地址: E4H
0
Reset
ISPF[0]
00H
EMF1: 进入机制 (1) 标志位,由复位信号清除。(仅读)
EMF2: 进入机制 (2) 标志位,由复位信号清除。(仅读)
EMF3: 进入机制 (3) 标志位,由复位信号清除。(仅读)
EMF4: 进入机制 (4) 标志位,由复位信号清除。(仅读)
ISPF [2:0]: ISP 功能选择位。
ISPF[2:0]
000
001
010
011
100
101
110
111
ISP function
Byte program
Chip protect
Page erase
Chip erase
Write option
Read option
Erase option
reserved
闪存一页有 128 字节
可设定功能选择位如晶振输入输出脚可配置为一般 I/O (于 1.2 节描述)、内部复位时间选
择(于 1.4.1 节描述)、时钟源来源选择 (于 1.5 节描述)、复位脚可配置为一般 I/O(于第 5
章描述)、看门狗功能启动位(于第 10 章描述)、或 ISP 进入机制选择(于第 18 章描述)。
只能读取功能选择位于芯片被加密后。
选择的 ISP 功能在软件对 ISPFC 寄存器写入数据时将会执行一次。
要实现字节编程/页擦除 ISP 功能,用户需要在开始时指定闪存地址。在实现页擦除功能时,SM39R16A6 将除
ISPFAH 与 ISPFAL 寄存器中显示地址所在的整页。
范例:闪存地址: $XY00
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 88 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
将对地址$XY00 to $XY7F 执行页抹除
要实现芯片擦除 ISP 功能,SM39R16A6 将擦除除 ISP 服务程序外的所有闪存程序记忆体。要实现芯片保护 ISP
功能,SM39R16A6 内容将被读为#00H。
范例:将对地址$1005H 执行字节写,写入#22H
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
;ISPE 可写入属性
ORL IFCON, #01H
;使能 SM39R16A6 ISP 功能
MOV ISPFAH, #10H
; 设定闪存高字节地址,10H
MOV ISPFAL, #05H
; 设定闪存低字节地址, 05H
MOV ISPFD, #22H
; 设定将写入闪存之资料,资料= 22H
MOV ISPFC, #00H
; 开始将写入闪存之资料#22H 写入地址$1005H
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
; ISPE 可写入属性
ANL IFCON, #0FEH
;禁止 SM39R16A6 ISP 功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 89 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
工作环境
描述
Min.
Typ.
Max.
Unit.
Operating temperature
-40
25
85
℃
VDD
Supply voltage
1.8
5.5
V
Vref
Internal reference voltage
1.1
1.3
V
Symbol
TA
1.2
Remarks
Ambient temperature under bias
DC 电气特性
TA = -40℃ to 85℃, Vcc = 5.0V
Symbol
Parameter
Valid
Min
Typical
Max
Units
Conditions
VIL1
Input Low-voltage
Port 0,1,2,3
-0.5
-
0.8
V
VIL2
Input Low-voltage
RES, XTAL1
0
-
V
-
V
-
V
-
-
-
0.8
VCC +
0.5
VCC +
0.5
0.45
-
-
Port 0
4.6
Port 1,2,3
4.6
Port 0,1,2,3
2.6
Port 0,1,2,3
-
VIH1
Input High-voltage
Port 0,1,2,3
2.0
VIH2
Input High-voltage
RES, XTAL1
70%Vcc
VOL
Output Low-voltage
VOH1
VOH2
IIL
ITL
ILI
RRST
CIO
ICC
Output High-voltage
using Strong Pull
-up(1)
Output High-voltage
using Weak Pull-up(2)
Logic 0 Input Current
Logical Transition
Current
Input Leakage Current
Reset Pull-down
Resistor
Pin Capacitance
Power Supply Current
Port 0 (3.)
Port 1,2,3 (4.)
Port 0,1,2,3
-
Port 0,1,2,3
-
RES
50
-
VDD
-
Vcc=5V
V
IOL=40mA
Vcc=5V
0.45
V
IOL=20mA
Vcc=5V
-
-
V
IOH= -12mA
-
-
V
IOH= -7mA
-
V
IOH= -350uA
-75
uA
Vin= 0.45V
-650
uA
Vin= 2.0V
±10
uA
0.45V<Vin<Vcc
300
kΩ
Freq= 1MHz, Ta= 25℃
Active
mode ,IRC=22.1184MHz
Active mode, 12MHz
VCC=5V 25 ℃
Idle mode, 12MHz
VCC =5V 25 ℃
Power down mode
VCC =5V 25 ℃
-
-
-
10
pF
-
3.19
4.78
mA
-
5.5
8.25
mA
-
4.5
7.25
mA
-
3
7
uA
Notes:
(1) Port in Push-Pull Output Mode
(2) Port in Quasi-Bidirectional Mode
(3) Maximum IOL per port0 pin : 40mA
(4) Maximum IOL per port1,2,3 pin : 20mA
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 90 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
TA = -40℃ to 85℃, VCC = 3.0V
Symbol
VIL1
Parameter
Valid
Input Low-voltage
Port 0,1,2,3
Min
Typical
Max
Units
-0.5
-
0.8
V
-
V
-
V
-
V
-
VIL2
Input Low-voltage
RES, XTAL1
0
VIH1
Input High-voltage
Port 0,1,2,3
2.0
VIH2
Input High-voltage
RES, XTAL1
70%Vcc
VOL
VOH1
VOH2
IIL
ITL
ILI
RRST
CIO
ICC
Output Low-voltage
Output High-voltage
using Strong Pull
-up(1)
Output High-voltage
using Weak Pull-up(2)
Logic 0 Input Current
Logical Transitio
n Current
Input Leakage Current
Reset Pull-down
Resistor
Pin Capacitance
Power Supply
Current
Port 0 (3.)
-
-
0.8
VCC +
0.5
VCC +
0.5
0.45
Port 1,2,3 (4.)
-
-
0.45
Port 0
2.6
Port 1,2,3
2.6
Port 0,1,2,3
2.4
Port 0,1,2,3
-
Port 0,1,2,3
-
Port 0,1,2,3
-
RES
-
Vcc=3.0V
V
IOL=20mA
Vcc=3V
V
IOL=12mA
Vcc=3V
-
V
IOH=- 9mA
-
V
IOH= -5mA
V
IOH= -70uA
-75
uA
Vin= 0.45V
-650
uA
Vin=1.5V
±10
uA
0.45V<Vin<Vcc
300
kΩ
-
-
10
pF
-
3.15
4.73
mA
-
2.77
4.16
mA
-
1.77
3.16
mA
-
1
5
uA
Freq= 1MHz, Ta= 25℃
Active
mode ,IRC=22.1184MHz
Active mode ,12MHz
VCC =3.0 V 25 ℃
Idle mode, 12MHz
VCC =3.0V 25 ℃
Power down mode
VCC=3.0V 25 ℃
50
-
VDD
-
Conditions
-
Notes:
(1) Port in Push-Pull Output Mode
(2) Port in Quasi-Bidirectional Mode
(3) Maximum IOL per port0 pin : 20mA
(4) Maximum IOL per port1,2,3 pin : 12mA
SYMBOL
最大输出电流(source)
(Push-pull)
最大承受电流(sunk)
Tj
PARAMETER
An I/O pin
Total I/O pins
An I/O pin
Total I/O pins
Max. Junction
Temperature
Absolute Maximum Ratings
MAX
N/A
150
N/A
150
UNIT
mA
mA
mA
mA
150
℃
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 91 -
SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256B RAM 的 8 位控制器
LVI& LVR 电气特性
1.8V ~ 5.5V
Min
VIL=1.42V
(VIH=1.62V)
LVIS[1:0] = 00
LVIS[1:0] = 01
LVIS[1:0] = 10
LVIS[1:0] = 11
Min
VIL=1.57V
(VIH=1.77V)
VIL=2.47V
(VIH=2.67V)
VIL=3.04V
(VIH=3.24V)
VIL=3.80V
(VIH=4.00V)
LVR
Typical
VIL=1.50V
(VIH=1.70V)
LVI
Typical
VIL=1.65V
(VIH=1.85V)
VIL=2.60V
(VIH=2.80V)
VIL=3.20V
(VIH=3.40V)
VIL=4.00V
(VIH=4.20V)
Max
VIL=1.57V
(VIH=1.77V)
Max
VIL=1.73V
(VIH=1.93V)
VIL=2.73V
(VIH=2.93V)
VIL=3.36V
(VIH=3.56V)
VIL=4.20V
(VIH=4.40V)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M080
Ver D SM39R16A6 06/30/2015
- 92 -