SinOne
SC93F5003
价值产品线,超高速 32 位总线 1T 8051 内核 Flash MCU ,512B SRAM ,8KB
Flash,128B 独立 EEPROM,12 位 ADC,3 路 8+2 位 PWM,3 个定时器,
UART,SPI,PGA
内建 2kHz 振荡器
用作 WDT 的 CLK Source
式
2 主要功能
非
正
工作电压: 2.4V~5.5V
工作温度: -40 ~ 85℃
封装: TSSOP20L
内核: 超快速的 32 位总线 1T 8051
Flash ROM: 8KB Flash ROM (MOVC 禁 止 寻 址
0000H~00FFH) 可重复写入 1 万次; 可选 8KB 范围
内 IAP 模式,实现远程上网程序更新。
EEPROM:独立的 128Byte,可重复写入 10 万次;
SRAM:512Byte SRAM
系统时钟: 内建高频 24MHz 振荡器
IC 工作的系统时钟,可通过编程器选择设定为
24MHz(3.7-5.5V)、12/6/2MHz (2.4-5.5V)
频率误差: 跨越 (2.4V~5.5V) 及 (-20 ~ 85℃) 应
用环境, 不超过 ±1%。
内置晶体振荡器电路,可外接 2~16MHz 振荡器。
振荡器侦测电路,当发现外部振荡器停振后自
动切到内部高频 HRC 振荡器,直至下次复位时
再重置
内建低频 128kHz LRC 振荡器
频率误差: 跨越 (2.4V ~ 5.5V) 及 (-20 ~ 85℃)
应用环境,频率误差不超过±3%
Page 1 of 72
低电压复位(LVR):
复位电压有 2 级可选:分别是 3.7V、2.3V
缺省值为用户烧写 Code Option 所选值
Flash 烧写和仿真:
2 线 JTAG 烧写和仿真接口
中断(INT):
Timer0, Timer1, Timer2, INT0~1, ADC,PWM,
UART,SPI,Base Timer 共 10 个中断源
外部中断有 2 个中断向量,全部可设上升沿、
下降沿、双沿中断
两级中断优先级可设
数字外围:
18 个双向可独立控制的 I/O 口,可独立设定上
拉电阻
全部 IO 具有大灌电流驱动能力(70mA)
11 位 WDT,可选时钟分频比
3 个标准 80C51 定时器 Timer0、Timer1 和
Timer2
Timer2 可实现 Capture 功能及输出 16 位 PWM
3 路共用周期、单独可调占空比的 8+2 位 PWM,
分别可切换至不同管脚输出(共 6 个输出)
5 个 IO 可作为 1/2 BIAS 的 LCD COM 输出
1 路 UART
1 路 SPI
版
SC93F5003 是一颗增强型的 32 位总线超快速
1T 8051 内核工业级 Flash 微控制器,指令系统完全
兼容传统 8051 产品系列,相同工作主频下运行速度
是其它 1T8051 产品的两倍以上。
SC93F5003 内部集成有 8KB Flash ROM、
512B SRAM、最多 18 个 GP I/O(所有 IO 都具有大灌
电流驱动能力)、8 个 IO 可外部中断、3 个 16 位定时
器、10 路 12 位高精度 ADC、3 路独立 8+2 位 PWM
并可切换至 6 个输出管脚、内部±1%高精度高频
24/12/6/2MHz 振荡器和±3%精度低频 128kHz 振荡
器、可外接晶体振荡器、UART/SPI 等通讯接口、
1/2BIAS 软件 LCD COM 等资源。为提高可靠性及简
化客户电路,SC93F5003 内部也集成有 2 级可选电
压 LVR、2.4V 基准 ADC 参考电压、独立 WDT 等高
可靠电路。SC93F5003 具有非常优异的抗干扰性能,
非常适合应用于各种大小智能家电和智能家居、充电
器、电源、航模、对讲机、无线通讯、游戏机等工业
控制和消费应用领域。
本
1 总体描述
模拟外围:
1 个可调增益运算放大器 PGA
输出可直接接 ADC 输入
正负输入端可互换
增益两级可选: 20X、100X
可软件调零
10 路 12 位±2LSB ADC
内建基准的 2.4V 参考电压
ADC 的参考电压有 2 种选择, 分别是 VDD
和内部 2.4V
内部一路 ADC 可直接测量 VDD 电压
可设 ADC 转换完成中断
省电模式:
IDLE Mode,可由任何中断唤醒
STOP Mode,可由 INT0~1 和 BaseTimer 唤醒
V 0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
目录
1 总体描述 ............................................................................................................................... 1
2 主要功能 ............................................................................................................................... 1
目录.......................................................................................................................................... 2
3 管脚定义 ............................................................................................................................... 6
3.1 管脚配置 .................................................................................................................................................... 6
3.2 管脚定义 .................................................................................................................................................... 6
4 内部方框图 ............................................................................................................................ 8
本
5 FLASH ROM 和 SRAM 结构 ................................................................................................. 9
5.1 flash rom ................................................................................................................................................... 9
式
版
5.2 Customer Option 区域(用户烧写设置) ................................................................................................... 10
5.2.1 Option 相关 SFR 操作说明 ............................................................................................................ 11
正
5.3 sram ........................................................................................................................................................ 12
5.3.1 内部 256Byte SRAM ..................................................................................................................... 12
5.3.2 外部 256Byte SRAM ..................................................................................................................... 13
非
6 特殊功能寄存器(SFR) ......................................................................................................... 13
6.1 SFR 映像 ................................................................................................................................................. 13
6.2 SFR 说明 ................................................................................................................................................. 14
6.2.1 8051 CPU 内核常用特殊功能寄存器介绍 ..................................................................................... 16
7 电源、复位和时钟 ............................................................................................................... 18
7.1 电源电路 .................................................................................................................................................. 18
7.2 上电复位过程 ........................................................................................................................................... 18
7.2.1 复位阶段 ........................................................................................................................................ 18
7.2.2 调入信息阶段................................................................................................................................. 18
7.2.3 正常操作阶段................................................................................................................................. 18
7.3 复位方式 .................................................................................................................................................. 18
7.3.1 外部 RST 复位 ............................................................................................................................... 18
7.3.2 低电压复位 LVR ............................................................................................................................ 18
7.3.3 上电复位 POR ............................................................................................................................... 19
7.3.4 看门狗复位 WDT ........................................................................................................................... 19
7.3.5 复位初始状态................................................................................................................................. 20
7.4 高频系统时钟电路 .................................................................................................................................... 21
Page 2 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
7.5 低频振荡器及低频时钟定时器 .................................................................................................................. 22
7.6 STOP 模式和 IDLE 模式 .......................................................................................................................... 23
8 中央处理单元 CPU 及指令系统 ........................................................................................... 24
8.1 CPU ......................................................................................................................................................... 24
8.2 寻址方式 .................................................................................................................................................. 24
8.2.1 立即寻址 ........................................................................................................................................ 24
8.2.2 直接寻址 ........................................................................................................................................ 24
8.2.3 间接寻址 ........................................................................................................................................ 24
8.2.4 寄存器寻址 .................................................................................................................................... 24
8.2.5 相对寻址 ........................................................................................................................................ 24
8.2.6 变址寻址 ........................................................................................................................................ 24
8.2.7 位寻址 ........................................................................................................................................... 24
8.3 指令系统................................................................................................................................................... 25
本
9 INTERRUPT 中断 ............................................................................................................... 27
9.1 中断源、向量 ........................................................................................................................................... 27
版
9.2 中断结构图 ............................................................................................................................................... 29
式
9.3 中断优先级 ............................................................................................................................................... 30
正
9.4 中断处理流程 ........................................................................................................................................... 30
非
9.5 中断相关 SFR 寄存器 .............................................................................................................................. 30
10 定时器 TIMER0 、TIMER1 ............................................................................................... 33
10.1 T0 和 T1 相关特殊功能寄存器 ............................................................................................................... 33
10.2 T0 工作模式 ........................................................................................................................................... 35
10.3 T1 工作模式 ........................................................................................................................................... 37
11 定时器 TIMER2 ................................................................................................................. 38
11.1 T2 相关特殊功能寄存器 ......................................................................................................................... 38
11.2 T2 工作模式 ........................................................................................................................................... 40
12 PWM ................................................................................................................................. 44
12.1 PWM 结构框图....................................................................................................................................... 45
12.2 PWM 相关 SFR 寄存器 .......................................................................................................................... 46
12.3 PWM 波形及用法 ................................................................................................................................... 49
Page 3 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
13 GP I/O ............................................................................................................................... 52
13.1 GPIO 结构图 .......................................................................................................................................... 52
13.2 I/O 端口相关寄存器 ................................................................................................................................ 53
14 软件 LCD 驱动 .................................................................................................................. 54
14.1 软件 LCD 驱动相关寄存器 ..................................................................................................................... 54
15 UART ................................................................................................................................ 55
15.1 UART 相关寄存器 .................................................................................................................................. 55
15.2 串口通信的波特率 .................................................................................................................................. 56
16 SPI .................................................................................................................................... 56
16.1 信号描述 ................................................................................................................................................ 56
版
本
16.2 工作模式 ................................................................................................................................................ 57
16.2.1 主模式 ......................................................................................................................................... 57
16.2.2 从模式 ......................................................................................................................................... 57
式
16.3 出错检测 ................................................................................................................................................ 57
16.3.1 模式故障(MODF) ......................................................................................................................... 57
16.3.2 写冲突(WCOL) ............................................................................................................................ 58
正
16.4 SPI 操作相关寄存器 ............................................................................................................................... 58
非
17 模数转换 ADC ................................................................................................................... 59
17.1 ADC 相关寄存器 .................................................................................................................................... 59
17.2 ADC 转换步骤 ........................................................................................................................................ 62
18 可变增益放大器 PGA ........................................................................................................ 62
18.1 PGA 配置方式 ........................................................................................................................................ 63
19 EEPROM 及 IAP 操作 ....................................................................................................... 64
19.1 EEPROM / IAP 操作相关寄存器 ........................................................................................................... 64
19.2 128Byte 独立 EEPROM 操作流程 ......................................................................................................... 66
19.3 8KB 范围 IAP 应用说明 ........................................................................................................................ 66
20 电气特性 ........................................................................................................................... 67
20.1 极限参数 ................................................................................................................................................ 67
Page 4 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
20.2 推荐工作条件 ......................................................................................................................................... 67
20.3 直流电气特性 ......................................................................................................................................... 67
20.4 交流电气特性 ......................................................................................................................................... 68
20.5 ADC 电气特性 ........................................................................................................................................ 68
20.6 PGA 电气特性 ........................................................................................................................................ 68
21 订购信息............................................................................................................................ 70
22 封装信息 ........................................................................................................................... 71
非
正
式
版
本
23 规格更改记录 .................................................................................................................... 72
Page 5 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
3 管脚定义
1
20
P1.3/T1/PWM1A
tDIO/TX/INT02/P1.5
2
19
P1.2/T0/PWM0A
tCK/RX/INT03/P1.6
3
18
P1.1/INT01/T2
RST/P1.7
4
17
P1.0/INT00/PGAI/AIN8
OSCI/P0.0
5
16
P2.7/INT13/PWM1/MISO/AIN7
OSCO/P0.1
6
15
P2.6/INT12/PWM0/MOSI/AIN6
VSS
7
14
P2.5/INT11/SCK/AIN5
AIN0/COM0/P2.0
8
13
P2.4/INT10/COM4/AIN4
VDD
9
12
P2.3/COM3/PWM2/AIN3
AIN1/COM1/P2.1
10
11
P2.2/COM2/AIN2
式
版
SC93F5003
PWM2A/T2EX/P1.4
本
3.1 管脚配置
正
SC93F5003 管脚配置图
管脚编号
非
3.2 管脚定义
管脚类型
1
管脚名称
P1.4/T2EX/PWM2A
2
P1.5/INT02/TX/tDIO
I/O
3
P1.6/INT03/RX/tCK
I/O
4
P1.7/RST
I/O
5
P0.0/OSCI
I/O
6
P0.1/OSCO
I/O
7
VSS
8
P2.0/COM0/AIN0
Page 6 of 72
I/O
Power
I/O
功能说明
P1.4 :GPIO P1.4
T2EX:定时器 2 外部捕获信号输入
PWM2A:PWM2A 输出口
P1.5 :GPIO P1.5
INT02:外部中断 02
TX:UART TX
tDIO:烧录和仿真口数据线
P1.6:GPIO P1.6
INT03:外部中断 03
RX:UART RX
tCK:烧录和仿真口时钟线
P1.7:GPIO P1.7
RST:RESET
P0.0:GPIO P0.0
OSCI:外接晶振输入引脚
P0.1 :GPIO P0.1
OSCO:外接晶振输出引脚
接地
P2.0:GPIO P2.0
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
9
VDD
10
P2.1/COM1/AIN1
I/O
11
P2.2/COM2/AIN2
I/O
12
P2.3/ COM3/PWM2/AIN3
I/O
13
P2.4/ INT10/COM4/AIN4
I/O
14
P2.5 /INT11/SCK/AIN5
I/O
15
P2.6/INT12/PWM0/MOSI/AIN6
I/O
16
P2.7/INT13/PWM1/MOSI/AIN7
17
P1.0/INT00/PGAI/AIN8
I/O
18
P1.1 /INT01/T2
I/O
19
P1.2/T0/PWM0A
I/O
20
P1.3/T1/PWM1A
I/O
版
式
正
I/O
P2.1:GPIO P2.1
COM1: LCD 驱动公共端 COM1
AIN1:ADC 输入通道
P2.2:GPIO P2.2
COM2:LCD 驱动公共端 COM2
AIN2:ADC 输入通道 2
P2.3:GPIO P2.3
COM3:LCD 驱动公共端 COM3
PWM2:PWM 通道 2
AIN3:ADC 输入通道 3
P2.4:GPIO P2.4
INT10:外部中断 10
COM4:LCD 驱动公共端 COM4
AIN4:ADC 输入通道 4
P2.5:GPIO P2.5
INT11:外部中断 11
SCK:SPI SCK
AIN5:ADC 输入通道 5
P2.6:GPIO P2.6
INT12:外部中断 12
PWM0:PWM 输出通道 0
MOSI:SPI 总线主输出/ 从输入
AIN6:ADC 输入通道 6
P2.7:GPIO P2.7
INT13:外部中断 13
PWM1:PWM 输出通道 1
MISO:SPI 总线主输入/ 从输出
AIN7:ADC 输入通道 7
P1.0:GPIO P1.0
INT00:外部中断 00
PGAI:PGA 输入
AIN8:ADC 输入通道 8
P1.1:GPIO P1.1
INT01:外部中断 01
T2:Timer 2 外部输入或输出口
P1.2:GPIO P1.2
T0:计数器 0 外部输入
PWM0A:PWM 输出通道 0A
P1.3:GPIO P1.3
T1:计数器 1 外部输入
PWM0A:PWM 输出通道 1A
本
Power
非
Page 7 of 72
COM0:LCD 驱动公共端 COM0
AIN0:ADC 输入通道 0
电源
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
4 内部方框图
LVD
LVR
Controller
2kHz IRC
WDT
128kHz IRC
WAKECNT
Controller
reset
512BYte
RAM
128Byte
EEPROM
2~16MHz X OSC
IRC
Regulator
IRC Voltage
Reference
Clock
Controller
24MHz
IRC
clock
本
2.4V REG
ADC
式
PGA
版
1T 8051 CORE
ADC
Controller
8KB
Program
ROM
(Flash)
SPI
非
BandGap
Voltage
Reference
正
UART
TIMER0
TIMER1
TIMER2
PWM
LDO
&
Power Manager
I/O
INT
Interrupt
Interrupt Controller
SC93F5003 BLOCK DIAGRAM
Page 8 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
5 FLASH ROM 和 SRAM 结构
SC93F5003 的 Flash ROM 和 SRAM 结构如下:
7Fh
00FFh
外部RAM
EEPROM
00h
(通过MOVX/DPTR寻址)
0000h
1FFFh
RAM
(间接寻址)
FFh
SFR
Flash ROM
For Program
(直接寻址)
80h
7Fh
RAM
00h
式
版
本
0000h
(直接寻址或间接寻址)
5.1 FLASH ROM
正
Flash ROM 和 SRAM 结构图
非
SC93F5003 有 8KB 的 Flash ROM,ROM 地址为 0000H~1FFFH。此 8KB Flash ROM 可反复写入 1 万次,
可通过 SinOneChip 提供的专用 ICP 烧写器(SOC PRO52/DPT52)来进行编程及擦除。地址为 0000H~00FFH 地址
的 256B 区间 MOVC 指令不可寻址。
EEPROM 为独立于 8KB ROM 之外的一块区间,其地址为 00H~7FH,可在程序中对其进行单 Byte 读写操作,
具体操作方法参考 19 EEPROM 及 IAP 操作。
SC93F5003 的 8KB Flash ROM 能提供查空 BLANK、编程 PROGRAM、校验 VERIFY 和擦除 ERASE 功能,
但不提供读取 READ 的功能。此 Flash ROM 和 EEPROM 通常写入前无需进行擦除操作,直接写入数据即可实现
新数据的覆盖。
SC93F5003 的 Flash ROM 通过 tDIO、tCK、VDD、VSS 来进行编程,具体连接关系如下:
Page 9 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
SOC PRO52
SOC DPT52
MCU
VDD
tCK
tDIO
VSS
VDD
CLK
DIO
GND
用户应用电路
本
Jumper
版
ICP 模式 Flash Writer 编程连接示意图
式
5.2 CUSTOMER OPTION 区域(用户烧写设置)
符号
地址
OP_HRCR
83H@FFH
系统时钟改变寄存器
OP_CTM0
C1H@FFH
Customer Option 寄存器 0
ENWDT
ENXTL
SCLKS[1:0]
OP_CTM1
C2H@FFH
Customer Option 寄存器 1
VREFS
XTLHF
-
非
说明
正
SC93F5003 内部有单独的一块 Flash 区域用于保存客户的上电初始值设置,此区域称为 Customer Option 区
域。用户在烧写 IC 时将此部分代码写入 IC 内部,IC 在复位初始化时,就会将此设置调入 SFR 作为初始设置。
7
OP_HRCR (83H@FFH) 系统时钟改变寄存器(读/写)
位编号
7
6
5
符号
读/写
上电初始值
n
n
n
位编号
7~0
位符号
OP_HRCR[7:0]
6
5
4
3
2
1
0
OP_HRCR[7:0]
DISRST
DISLVR
IAPS
-
-
4
3
OP_HRCR[7:0]
读/写
n
n
LVRS[1:0]
-
-
2
1
0
n
n
n
说明
内部高频 RC 频率调校
中心值 10000000b 对应 HRC 中心频率,数值变大频率加快,数值变小频率变慢。
OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写)
位编号
7
6
5
4
符号
ENWDT
ENXTL
SCLKS[1:0]
读/写
读/写
读/写
读/写
上电初始值
n
n
n
位编号
7
Page 10 of 72
位符号
ENWDT
3
DISRST
读/写
n
2
DISLVR
读/写
n
1
0
LVRS[1:0]
读/写
n
说明
WDT 开关
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
5~4
SCLKS[1:0]
3
DISRST
2
DISLVR
1~0
LVRS [1:0]
6
XTLHF
3
IAPS
2
x
1
x
0
x
说明
参考电压选择(初始值从 Code Option 调入,用户可修改设置)
0:设定 ADC 的 VREF 为 VDD
1:设定 ADC 的 VREF 为 内部准确的 2.4V
外接晶振控制模式寄存器
0:外接晶振振荡频率<12M
1:外接晶振振荡频率≥12M
EEPROM 及 IAP 空间范围选择
0: Code 区域禁止 IAP 操作,仅 EEPROM 区域可作为数据存储使用
1: EEPROM 和 Code 区域允许 IAP 操作
正
位符号
VREFS
3
IAPS
只读
n
非
位编号
7
4
x
式
OP_CTM1 (C2H@FFh) Customer Option 寄存器 1
位编号
7
6
5
VREFS
XTLHF
符号
读/写
读/写
读/写
n
n
x
上电初始值
本
ENXTL
版
6
0:WDT 无效
1:WDT 有效(但 IC 在执行 IAP 过程中 WDT 停止计数)
外部高频晶振选择开关
0:外部高频晶振关闭,P0.0、P0.1 有效;
1:外部高频晶振打开,P0.0、P0.1 无效。
系统时钟频率选择:
00:系统时钟频率为高频振荡器频率除以 1;
01:系统时钟频率为高频振荡器频率除以 2;
10:系统时钟频率为高频振荡器频率除以 4;
11:系统时钟频率为高频振荡器频率除以 12。
IO/RST 复位切换控制
0 :P1.7 当复位脚使用
1 :P1.7 当正常的 I/O 管脚使用
LVR 功能关闭设置
0:LVR 功能打开
1:LVR 功能关闭
LVR 电压选择控制
10: 3.7V 复位
00: 2.3V 复位
其它:保留
5.2.1 OPTION 相关 SFR 操作说明
Option 相关 SFR 的读写操作由 OPINX 和 OPREG 两个寄存器进行控制,各 Option SFR 的具体位置由 OPINX
确定,各 Option SFR 的写入值由 OPREG 确定:
符号
地址
说明
上电初始值
OPINX
FEH
Option 指针
OPINX[7:0]
00000000b
OPREG
FFH
Option 寄存器
OPREG[7:0]
nnnnnnnnb
操作 Option 相关 SFR 时 OPINX 寄存器存放相关 OPTION 寄存器的地址,OPREG 寄存器存放对应的值。
例如:要将 OP_HRCR 配置为 0x01,具体操作方法如下:
C 语言例程:
OPINX = 83H;
OPREG = 0x01;
Page 11 of 72
//将 OP_HRCR 的地址写入 OPINX 寄存器
//对 OPREG 寄存器写入 0x01(待写入 OP_HRCR 寄存器的值)
V0.2
http://www.socmcu.com
SC93F5003
SinOne
汇编例程:
MOV OPINX,#83H
MOV OPREG,#01H
超高速 32 位总线 1T 8051 内核 Flash MCU
; 将 OP_HRCR 的地址写入 OPINX 寄存器
; 对 OPREG 寄存器写入 0x01(待写入 OP_HRCR 寄存器的值)
注意:禁止向 OPINX 寄存器写入 Customer Option 区域 SFR 地址之外的数值!否则会造成系统运行异常!
5.3 SRAM
SC93F5003 单片机内部集成了 512Byte 的 SRAM,分为内部 RAM 和外部 RAM。内部 RAM 的地址范围为
00H~FFH,其中高 128Byte(地址 80H~FFH)只能间接寻址,低 128Byte(地址 00H~7FH)可直接寻址也可间接寻
址。
特殊功能寄存器 SFR 的地址也是 80H~FFH。但 SFR 同内部高 128Byte SRAM 的区别是:SFR 寄存器是直
接寻址,而内部高 128Byte SRAM 只能是间接寻址。
外部 RAM 的地址为 00H~FFH,但需通过 MOVX 指令来寻址。
5.3.1 内部 256BYTE SRAM
FFH
正
非
高128Byte RAM
(只能间接寻址)
式
版
FFH
本
内部低 128Byte SRAM 区可分为三部分:①工作寄存器组 0~3,地址 00H~1FH,程序状态字寄存器 PSW 中的
RS0、RS1 组合决定了当前使用的工作寄存器,使用工作寄存器组 0~3 可加快运算的速度;②位寻址区 20H~2FH,
此区域用户可以用作普通 RAM 也可用作按位寻址 RAM;按位寻址时,位的地址为 00H~7FH,(此地址按位编地
址,不同于通用 SRAM 按字节编地址),程序中可由指令区分;③用户 RAM 和堆栈区,SC93F5003 复位过后,8
位的堆栈指针指向堆栈区,用户一般会在初始化程序时设置初值,建议设置在 E0H~FFH 的单元区间。
特殊功能寄存器SFR
(直接寻址)
80H
80H
7FH
低128Byte RAM
(可直接寻址;也可间接寻址)
00H
内部 256Byte RAM 结构图
Page 12 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
内部低 128Byte RAM 结构如下:
7FH
7F
7E
7D
7C
7B
7A
79
78
2FH
77
76
75
74
73
72
71
70
2EH
6F
6E
6D
6C
6B
6A
69
68
2DH
67
66
65
64
63
62
61
60
2CH
5F
5E
5D
5C
5B
5A
59
58
2BH
57
56
55
54
53
52
51
50
2AH
4F
4E
4D
4C
4B
4A
49
48
29H
47
46
45
44
43
42
41
40
28H
3F
3E
3D
3C
3B
3A
39
38
27H
37
36
35
34
33
32
31
30
26H
2F
2E
2D
2C
2B
2A
29
28
25H
本
用户RAM及堆栈RAM区
27
26
25
24
23
22
21
20
24H
1F
1E
1D
1C
1B
1A
19
18
23H
17
16
15
14
13
12
11
10
22H
0F
0E
0D
0C
0B
0A
09
08
21H
07
06
05
04
03
02
01
00
20H
30H
2FH
位寻址RAM区
20H
1FH
工作寄存器组3
18H
17H
版
工作寄存器组2
10H
工作寄存器组1
式
0FH
08H
07H
正
工作寄存器组0
非
00H
SRAM 结构图
5.3.2 外部 256BYTE SRAM
外部 256Byte SRAM 支持传统的访问外部 RAM 方法。使用 MOVX A, @Ri 或 MOVX @Ri, A 来访问外部低位
256Byte RAM;也可以用 MOVX A, @pcon 或 MOVX @DPTR﹐A 来访问外部 256Byte RAM。
6 特殊功能寄存器(SFR)
6.1 SFR 映像
SC93F5003 系列有一些特殊功能寄存器,我们称为 SFR。这些 SFR 寄存器的地址位于 80H~FFH,有些可以
位寻址,有些不能位寻址。能够进行位寻址操作的寄存器的地址末位数都是“0”或“8”,这些寄存器在需要改变单个
位的数值时非常方便。所有的 SFR 特殊功能寄存器都必须使用直接寻址方式寻址。
SC93F5003 的特殊功能寄存器名称及地址如下表:
0/8
1/9
2/A
3/B
4/C
5/D
6/E
7/F
F8h
-
-
-
-
-
-
OPINX
OPREG
F0h
B
IAPKEY
IAPADL
IAPADH
IAPADE
IAPDAT
IAPCTL
-
E8h
-
-
-
TA
-
-
-
-
Page 13 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
E0h
ACC
-
-
-
-
-
-
-
D8h
-
-
-
-
-
-
-
-
D0h
PSW
PWMCFG
PWMCON
PWMPRD
PWMDTYA
PWMDTY0
PWMDTY1
PWMDTY2
C8h
T2CON
T2MOD
RCAP2L
RCAP2H
TL2
TH2
BTMCON
WDTCON
C0h
-
-
-
-
-
-
-
-
B8h
IP
IP1
INT0F
INT0R
INT1F
INT1R
PGACFG
PGACON
B0h
-
-
-
-
-
-
-
-
A8h
IE
IE1
-
ADCCFG0
ADCCFG1
ADCCON
ADCVL
ADCVH
A0h
P2
P2CON
P2PH
P2VO
-
-
-
-
98h
SCON
SBUF
P0CON
P0PH
-
SPCON
SPSTA
SPDAT
90h
P1
P1CON
P1PH
-
-
-
-
-
88h
TCON
TMOD
TL0
TL1
TH0
TH1
TMCON
OTCON
80h
P0
SP
DPL
DPH
DPL1
DPH1
DPS
PCON
可位寻址
不可位寻址
6.2 SFR 说明
说明
P0
80H
P0 口数据寄存器
SP
81H
堆栈指针
DPL
82H
DPTR 数据指针低位
DPH
83H
DPTR 数据指针高位
DPL1
84H
DPTR1 数据指针 1 低位
DPH1
85H
DPTR1 数据指针 1 高位
DPS
86H
DPTR 选择寄存器
PCON
87H
电源管理控制寄存器
TCON
88H
定时器控制寄存器
TMOD
89H
定时器工作模式寄存器
TL0
8AH
定时器 0 低 8 位
TL1
8BH
TH0
8CH
TH1
7
-
6
正
地址
-
5
4
-
-
非
符号
式
特殊功能寄存器 SFR 的具体解释说明如下:
版
本
说明:
1. SFR 寄存器中空的部分代表没有此寄存器 RAM,不建议用户使用。
2. SFR 中的 F1H~FFH 为系统配置使用的特殊功能寄存器,用户使用可能会导致系统异常,用户在初始化
系统时,不能对这些寄存器进行清零或其它操作。
3
2
1
0
-
-
P01
P00
上电初始值
xxxxxx00b
SP[7:0]
00000111b
DPL[7:0]
00000000b
DPH[7:0]
00000000b
DPL1[7:0]
00000000b
DPH1[7:0]
00000000b
ID1
ID0
TSL
AU1
AU0
-
-
SEL
SMOD
-
-
-
-
-
STOP
IDL
00000xx0b
0xxxxx00b
TF1
TR1
TF0
TR0
IE1
-
IE0
-
00000x0xb
-
C/T1
M11
M01
-
C/T0
M10
M00
x000x000b
TL0[7:0]
00000000b
定时器 1 低 8 位
TL1[7:0]
00000000b
定时器 0 高 8 位
TH0[15:8]
00000000b
8DH
定时器 1 高 8 位
TH1[15:8]
TMCON
8EH
定时器频率控制寄存器
-
-
-
-
OTCON
8FH
输出控制寄存器
-
-
-
-
P1
90H
P1 口数据寄存器
P17
P16
P15
P14
P13
P1CON
91H
P1 口输入/输出控制寄存器
P1C7
P1C6
P1C5
P1C4
P1PH
92H
P1 口上拉电阻控制寄存器
P1H7
P1H6
P1H5
P1H4
SCON
98H
串口控制寄存器
SM0
SM1
SM2
REN
SBUF
99H
串口数据缓存寄存器
P0CON
9AH
P0 口输入/输出控制寄存器
-
-
-
-
-
-
P0C1
P0C0
xxxxxx00b
P0PH
9BH
P0 口上拉电阻控制寄存器
-
-
-
-
-
-
P0H1
P0H0
xxxxxx00b
SPCON
9DH
SPI 控制寄存器
SPEN
SSDIS
MSTR
CPOL
CPHA
SPR2
SPR1
SPR0
00000000b
Page 14 of 72
00000000b
-
T2FD
T1FD
T0FD
xxxxx000b
-
-
xxxx00xxb
P12
P11
P10
00000000b
P1C3
P1C2
P1C1
P1C0
00000000b
P1H3
P1H2
P1H1
P1H0
00000000b
TB8
RB8
TI
RI
00000000b
VOIRS[1:0]
SBUF[7:0]
00000000b
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
9EH
SPI 状态寄存器
SPIF
WCOL
-
MODF
TXE
DORD
-
TBIE
00x000x0b
SPDAT
9FH
SPI 数据寄存器
SPD7
SPD6
SPD5
SPD4
SPD3
SPD2
SPD1
SPD0
00000000b
P2
A0H
P2 口数据寄存器
P27
P26
P25
P24
P23
P22
P21
P20
00000000b
P2CON
A1H
P2 口输入/输出控制寄存器
P2C7
P2C6
P2C5
P2C4
P2C3
P2C2
P2C1
P2C0
00000000b
P2PH
A2H
P2 口上拉电阻控制寄存器
P2H7
P2H6
P2H5
P2H4
P2H3
P2H2
P2H1
P2H0
00000000b
P2VO
A3H
P2 口 LCD 电压输出寄存器
-
-
-
P24VO
P23VO
P22VO
P21VO
P20VO
xxx00000b
IE
A8H
中断控制寄存器
EA
EADC
ET2
EUART
ET1
EINT1
ET0
EINT0
00000000b
IE1
A9H
中断控制寄存器 1
-
-
-
-
-
EBTM
EPWM
ESPI
xxxxx000b
ADCCFG0
ABH
ADC 设置寄存器
EAIN7
EAIN6
EAIN5
EAIN4
EAIN3
EAIN2
EAIN1
EAIN0
00000000b
ADCCFG1
ACH
ADC 设置寄存器
-
-
-
-
-
-
-
EAIN8
xxxxxxx0b
SPSTA
ADCCON
ADH
ADC 控制寄存器
ADCVL
AEH
ADC 结果寄存器
ADCVH
AFH
IP
EOC/
ADCEN
ADCS
LOWSP
ADC 结果寄存器
-
-
-
-
B8H
中断优先级控制寄存器
-
IPADC
IPT2
IPUART
IP1
B9H
中断优先级控制寄存器 1
-
-
-
-
INT0F
BAH
INT0 下降沿中断控制寄存器
-
-
-
-
INT0R
BBH
INT0 上升沿中断控制寄存器
-
-
-
-
INT1F
BCH
INT1 下降沿中断控制寄存器
-
-
-
-
INT1R
BDH
INT1 上升沿中断控制寄存器
-
-
-
-
PGACFG
BEH
PGA 设置寄存器
PGAOFC
-
PGACON
BFH
PGA 控制寄存器
ENPGA
PGACOM
PGAGAN
T2CON
C8H
定时器 2 控制寄存器
TF2
EXF2
RCLK
T2MOD
C9H
定时器 2 工作模式寄存器
-
-
-
RCAP2L
CAH
定时器 2 重载/捕捉低 8 位
RCAP2H
CBH
定时器 2 重载/捕捉高 8 位
TL2
CCH
定时器 2 低 8 位
TH2
CDH
定时器 2 高 8 位
BTMCON
CEH
低频定时器控制寄存器
WDTCON
CFH
WDT 控制寄存器
-
PSW
D0H
程序状态字寄存器
CY
PWMCFG
D1H
PWM 设置寄存器
PWMCON
D2H
PWM 控制寄存器
PWMPRD
D3H
PWM 周期设置寄存器
PWMDTYA
D4H
PWM 占空比调节寄存器
PWMDTY0
D5H
PWM0 占空比设置寄存器
PDT0[7:0]
00000000b
PWMDTY1
D6H
PWM1 占空比设置寄存器
PDT1[7:0]
00000000b
PWMDTY2
D7H
PWM2 占空比设置寄存器
PDT2[7:0]
00000000b
ACC
E0H
累加器
ACC[7:0]
00000000b
B
F0H
B 寄存器
B[7:0]
00000000b
IAPKEY
F1H
IAP 保护寄存器
IAPKEY[7:0]
00000000b
IAPADL
F2H
IAP 地址低位寄存器
IAPADR[7:0]
IAPADH
F3H
IAP 地址高位寄存器
IAPADE
F4H
IAP 扩展地址寄存器
IAPDAT
F5H
IAP 数据寄存器
IAPCTL
F6H
IAP 控制寄存器
OPINX
FEH
Option 指针
OPINX[7:0]
00000000b
OPREG
FFH
Option 寄存器
OPREG[7:0]
nnnnnnnnb
Page 15 of 72
ADCIS[3:0]
ADCIF
00000000b
ADCV[7:0]
非
IPT1
IPT0
-
IPBTM
IPPWM
IPSPI
xxxxx000b
INT0F3
INT0F2
INT0F1
INT0F0
xxxx0000b
INT0R3
INT0R2
INT0R1
INT0R0
xxxx0000b
INT1F3
INT1F2
INT1F1
INT1F0
xxxx0000b
INT1R3
INT1R2
INT1R1
INT1R0
-
本
PGAIPT
IPINT0
-
-
0000xxxxb
00000000b
TR2
C/T2
CP/RL2-
-
-
-
T2OE
DCEN
版
EXEN2
00000000b
RCAP2H[7:0]
00000000b
TL2[7:0]
00000000b
TH2[7:0]
00000000b
-
-
-
CLRWDT
-
AC
F0
RS1
RS0
OV
-
PWMOS2
-
INV2
INV1
INV0
PWMIF
ENPWM2
ENPWM1
ENPWM0
-
-
BTMFS[2:0]
00xxx000b
WDTCKS[2:0]
xxx0x000b
F1
P
PWMOS1
PWMOS0
PWMCKS[2:0]
PWMPRD[7:0]
PDTA2[1:0]
-
PDTA0[1:0]
-
xx000000b
00000000b
xx000000b
00000000b
IAPADR[13:8]
xxx00000b
00000000b
IAPDAT[7:0]
-
00000000b
00000000b
PDTA1[1:0]
IAPADER[7:0]
-
xxxxxx00b
RCAP2L[7:0]
-
-
xxxx0000b
-
-
-
x0000000b
0x000000b
TCLK
ENPWM
-
xxxx0000b
IPINT1
PGAOFS[5:0]
式
BTMIF
正
ENBTM
00000000b
ADCV[11:8]
PAYTIMES[1:0]
xxxxxxxxb
CMD[1:0]
xxxx0000b
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
6.2.1 8051 CPU 内核常用特殊功能寄存器介绍
程序计数器 PC
程序计数器 PC 不属于 SFR 寄存器。PC 有 16 位,是用来控制指令执行顺序的寄存器。单片机上电或者复位
后,PC 值为 0000H,也即是说单片机程序从 0000H 地址开始执行程序。
累加器 ACC(E0H)
累加器 ACC 是 8051 内核单片机的最常用的寄存器之一,指令系统中采用 A 作为助记符。常用来存放参加计
算或者逻辑运算的操作数及结果。
B 寄存器(F0H)
B 寄存器在乘除法运算中必须与累加器 A 配合使用。乘法指令 MUL A,B 把累加器 A 和寄存器 B 中的 8 位无
符号数相乘,所得的 16 位乘积的低位字节放在 A 中,高位字节放在 B 中。除法指令 DIV A,B 是用 A 除以 B,整
数商放在 A 中,余数放在 B 中。寄存器 B 还可以作为通用的暂存寄存器使用。
堆栈指针 SP(81H)
堆栈指针是一个 8 位的专用寄存器,它指示出堆栈顶部在通用 RAM 中的位置。单片机复位后,SP 初始值为
07H,即堆栈会从 08H 开始向上增加。08H~1FH 为工作寄存器组 1~3。
3
RS0
读/写
0
2
OV
读/写
0
1
F1
读/写
0
0
P
读/写
0
版
4
RS1
读/写
0
说明
标志位
1:加法运算最高位有进位,或者减法运算最高位有借位时
0:加法运算最高位无进位,或者减法运算最高位无借位时
进位辅助标志位(可在 BCD 码加减法运算时方便调整)
1:加法运算时在 bit3 位有进位,或减法运算在 bit3 位有借位时
0:无借位、进位
用户标志位
工作寄存器组选择位:
RS1
RS0
当前使用的工作寄存器组 0~3
0
0
组 0 (00H~07H)
0
1
组 1 (08H~0FH)
1
0
组 2 (10H~17H)
1
1
组 3 (18H~1FH)
式
位符号
CY
正
位编号
7
5
F0
读/写
0
本
PSW(D0h) 程序状态字寄存器
位编号
7
6
符号
CY
AC
读/写
读/写
读/写
上电初始值
0
0
AC
5
4~3
F0
RS1、RS0
2
OV
溢出标志位
1
F1
0
P
F1 标志
用户自定义标志
奇偶标志位。此标志位为累加器 ACC 中 1 的个数的奇偶值。
1:ACC 中 1 的个数为奇数
0:ACC 中 1 的个数为偶数(包括 0 个)
非
6
数据指针 DPTR (82H、83H)、DPTR1(84H、85H)及其选择寄存器 DPS(86H)
SC93F5003 有两个数据指针 DPTR 和 DPTR1,数据指针 DPTR/DPTR1 是 16 位的专用寄存器,由低 8 位
DPL/DPL1 和高 8 位 DPH/DPH1 组成。DPTR/DPTR1 是可以直接进行 16 位操作的寄存器,也可以分别对 DPL 和
DPH 按字节进行操作,数据指针 DPTR/DPTR1 的选择和工作状态由数据指针选择寄存器 DPS 进行设定。
Page 16 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
DPS(86H)数据指针选择寄存器(读/写)
位编号
7
6
符号
ID1
ID0
读/写
读/写
读/写
上电初始值
0
0
5
TSL
4
AU1
3
AU0
0
SEL
2~1
-
1
x
0
SEL
读/写
0
说明
DPTR1 加减控制位
0: 当 AU1=1 时,每当 MOVC/MOVX @DPTR 执行后,当前 DPTR1
自动加 1
1: 当 AU1=1 时,每当 MOVC/MOVX @DPTR 执行后,当前 DPTR1
自动减 1
DPTR 加减控制位
0: 当 AU0=1 时,每当 MOVC/MOVX @DPTR 执行后,当前 DPTR 自
动加 1;
1: 当 AU0=1 时,每当 MOVC/MOVX @DPTR 执行后,当前 DPTR 自
动减 1
SEL 翻转控制位
0: 每当 MOVC/MOVX @DPTR 执行后,DPS.0 (SEL) 不翻转
1: 每当 MOVC/MOVX @DPTR 执行后,DPS.0 (SEL) 翻转一次
DPTR1 自动加减控制位
0: 无
1: 每当 MOVC/MOVX @DPTR 执行后,当前 DPTR1 自加或自减
1( 依赖 ID1 )
DPTR 自动加减控制位
0: 无
1: 每当 MOVC/MOVX @DPTR 执行后,当前 DPTR 自加或自减 1( 依
赖 ID0 )
注意:当 AU1 写 1 时 AU0 也会置为 1,用户可以通过以下操作防止
AU1 置 1 时, AU0 也被置 1:
① 先对 TA 寄存器写入 0xAA
② 再对 TA 寄存器写入 0x55
③ 执行:AU1 = 1
DPTR、DPTR1 选择位
0: MOVC/MOVX @DPTR 对象为 DPTR0
1: MOVC/MOVX @DPTR 对象为 DPTR1
保留
本
ID0
2
x
版
6
3
AU0
读/写
0
式
位符号
ID1
4
AU1
读/写
0
非
正
位编号
7
5
TSL
读/写
0
Page 17 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
7 电源、复位和时钟
7.1 电源电路
SC93F5003 电源核心包括了 BG、LDO、POR、LVR 等电路,可实现在 2.4~5.5V 范围内可靠工作。此外,
IC 内建了一个经调校过的精准 2.4V 电压, 可用作 ADC 内部参考电压。用户可在 17 模数转换 ADC 查找具体设置
内容。
7.2 上电复位过程
SC93F5003 上电后, 在客户端软件执行前, 会经过以下的过程:
复位阶段
调入信息阶段
正常操作阶段
7.2.1 复位阶段
是指 SC93F5003 会一直处于复位的情况, 直到供应给 SC93F5003 的电压高过某一电压, 内部才开始有效的
Clock。复位阶段的时间长短和外部电源的上升速度有关,外部电源达到内建 POR 电压后,复位阶段才会完成。
7.2.2 调入信息阶段
版
本
在 SC93F5003 内部有一个预热计数器。在复位阶段期间,此预热计数器一直被清为 0,直到电压过了 POR
电压后,内部 RC 振荡器开始起振,该预热计数器开始计数。当内部的预热计数器计数到一定数目后, 每隔一定数
量个 HRC clock 就会从 Flash ROM 中的 IFB(包含 Code Option)读出一个 byte 数据存放到内部系统寄存器中。直
到预热完成后,该复位信号才会结束。如果 Code Option 选择系统时钟为外部晶振,则外部晶振稳定工作后系统
时钟的时钟源自动切到外部晶振。
式
7.2.3 正常操作阶段
正
结束调入信息阶段后, SC93F5003 开始从 Flash 中读取指令代码即进入正常操作阶段。这时的 LVR 电压值是
用户写入 Code Option 的设置值。
7.3 复位方式
7.3.1 外部 RST 复位
非
SC93F5003 有 4 种复位方式:①外部 RST 复位②低电压复位 LVR③上电复位 POR④看门狗 WDT 复位。
外部 RST 复位就是从外部 RST 给 SC93F5003 一定宽度的复位脉冲信号,来实现 SC93F5003 的复位。
RST/P1.7 管脚在上电时作为复位管脚使用,用户在烧录程序前可以通过烧录上位机软件配置 Customer
Option 项来选择将其修改为 P1.7 使用。当配置 RST/P1.7 管脚为 P1.7 使用时,该管脚在 SC93F5003 正常运行时
作为普通 I/O 管脚使用,但在上电时仍作为复位脚使用。因此用户要避免在上电时将 RST/P1.7 管脚拉低,否则
MCU 会进入复位状态,无法正常运行程序。
7.3.2 低电压复位 LVR
SC93F5003 内建了一个低电压复位电路。而复位的门限电压,共有 2 种电压选择:3.7V、2.3V,缺省值是用
户写入的 Option 值
OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写)
位编号
7
6
5
4
符号
ENWDT
ENXTL
SCLKS[1:0]
读/写
读/写
读/写
读/写
上电初始值
n
n
n
位编号
2
Page 18 of 72
位符号
DISLVR
3
DISRST
读/写
n
2
DISLVR
读/写
n
1
0
LVRS[1:0]
读/写
n
说明
LVR 功能关闭设置
0:LVR 功能打开
1:LVR 功能关闭
V0.2
http://www.socmcu.com
SC93F5003
SinOne
1~0
超高速 32 位总线 1T 8051 内核 Flash MCU
LVRS [1:0]
LVR 电压选择控制
10: 3.7V 复位
00: 2.3V 复位
其它:保留
SC93F5003 的复位部分电路结构图如下:
RSTN
pin
De-Bounce
3.7V
De-Bounce (~2uS)
LVD
2.3V
RESET
Code option
SFR
POR
(Power-Up Reset)
式
版
本
WatchDogTimer
Overflow
7.3.3 上电复位 POR
正
SC93F5003 复位电路图
7.3.4 看门狗复位 WDT
非
SC93F5003 内部有上电复位电路,当电源电压 VDD 达到 POR 复位电压时,系统自动复位。
SC93F5003 有一个 WDT,其时钟源为内部的 2kHz 振荡器。
OP_CTM0(C1H@FFh) Customer Option 寄存器 0(读/写)
位编号
7
6
5
4
符号
ENWDT
ENXTL
SCLKS[1:0]
读/写
读/写
读/写
读/写
上电初始值
n
n
n
位编号
位符号
7
ENWDT
2
DISLVR
读/写
n
1
0
LVRS[1:0]
读/写
n
说明
WDT 开关(此位由系统将用户 Code Option 所设的值调入)
1: WDT 开始工作
0: WDT 关闭
WDTCON (CFh) 看门狗控制寄存器(读/写)
位编号
7
6
符号
读/写
上电初始值
x
x
Page 19 of 72
3
DISRST
读/写
n
5
x
4
CLRWDT
读/写
0
3
x
2
0
1
WDTCKS[2:0]
读/写
0
0
0
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
位编号
4
位符号
CLRWDT
说明
2~0
WDTCKS [2:0]
WDT 清“0”位(写 1 有效)
1 :WDT 计数器从 0 开始计数
此位由系统硬件自动置 0
看门狗时钟选择
WDTCKS[2:0]
000
001
010
011
100
101
110
111
7~5,3
-
WDT 溢出时间
500ms
250ms
125ms
62.5ms
31.5ms
15.75ms
7.88ms
3.94ms
保留
7.3.5 复位初始状态
初始值
式
00000000b
00000000b
00000000b
00000111b
00000000b
00000000b
00000000b
00000000b
00000xx0b
0xxxxx00b
00000000b
xxxxxxx0b
00000000b
xxxx0000b
00000000b
00xxx000b
00000000b
xxx00000b
00000000b
xxxx0000b
xxxxxxxxb
00000000b
00000000b
xxxxx000b
xxxx0000b
xxxx0000b
xxxx0000b
xxxx0000b
x0000000b
xxxxx000b
xxxx00xxb
00000000b
nnnnnnnnb
xxxxxx00b
正
ACC
B
PSW
SP
DPL
DPH
DPL1
DPH1
DPS
PCON
ADCCFG0
ADCCFG1
ADCCON
ADCVH
ADCVL
BTMCON
IAPADE
IAPADH
IAPADL
IAPCTL
IAPDAT
IAPKEY
IE
IE1
INT0R
INT1R
INT0F
INT1F
IP
IP1
OTCON
OPINX
OPREG
P0
Page 20 of 72
非
SFR 名称
版
本
当 SC93F5003 处于复位状态时,多数寄存器会回到其初始状态。看门狗 WDT 处于关闭的状态。程序
计数器 PC 初始值为 0000h,堆栈指针 SP 初始值为 07h。“热启动”的 Reset(如 WDT、LVR、软件复位等)不
会影响到 SRAM,SRAM 值始终是复位前的值。SRAM 内容的丢失会发生在电源电压低到 RAM 无法保存为
止。
SFR 寄存器的上电复位初始值如下表:
SFR 名称
初始值
P1
P1CON
P1PH
P2
P2CON
P2PH
P2VO
PGACFG
PGACON
PWMCFG
PWMCON
PWMDTYA
PWMDTY0
PWMDTY1
PWMDTY2
PWMPRD
RCAP2H
RCAP2L
SBUF
SCON
SPDAT
SPCON
SPSTA
TA
TCON
TMCON
TMOD
TH0
TL0
TH1
TL1
T2CON
TH2
TL2
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
xxx00000b
0x000000b
0000xxxxb
xx000000b
00000000b
xx000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00x000x0b
00000000b
00000x0xb
xxxxx000b
x000x000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
00000000b
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
P0CON
P0PH
xxxxxx00b
xxxxxx00b
T2MOD
WDTCON
xxxxxx00b
xxx0x000b
7.4 高频系统时钟电路
SC93F5003 内建了一个振荡频率可调的高精度 HRC 及一个晶体振荡电路,用户可以根据选择其中之一作为
系统时钟。HRC 出厂时被精确地调校至 24MHz@5V/25℃,用户可以通过编程器的 Code Option 将系统时钟设置为
24/12/6/2MHz 使用。调校过程是过滤掉制程上的偏差对精度所造成的影响。此 IRC 受工作的环境温度和工作电压
影响会有一定的漂移,对于压漂(2.4V~5.5V)以及(-20℃~85℃)的温漂一般状况会在 ±1% 以内。
为了增强系统的可靠性,SC93F5003 内建有一个系统时钟监控电路,当用户选择系统时钟源为晶体振荡并且
晶体振荡电路发生停振时,系统时钟源将被自动切换到内建的 HRC,并保持此状态直至下次复位时再重置。
OP_CTM0(C1H@FFh) Customer Option 寄存器 0(读/写)
7
6
5
4
位编号
3
2
1
0
符号
ENWDT
ENXTL
SCLKS[1:0]
DISRST
DISLVR
LVRS[1:0]
读/写
读/写
读/写
读/写
读/写
读/写
读/写
上电初始值
n
n
n
n
n
n
说明
SCLKS[1:0]
本
5~4
外部高频晶振选择开关
0:外部高频晶振关闭,P0.0、P0.1 有效;
1:外部高频晶振打开,P0.0、P0.1 无效。
系统时钟频率选择:
00:系统时钟频率为高频振荡器频率除以 1;
01:系统时钟频率为高频振荡器频率除以 2;
10:系统时钟频率为高频振荡器频率除以 4;
11:系统时钟频率为高频振荡器频率除以 12。
版
位符号
ENXTL
正
式
位编号
6
非
OP_CTM1 (C2H@FFh) Customer Option 寄存器 1
位编号
7
6
5
VREFS
XTLHF
符号
读/写
读/写
读/写
n
n
x
上电初始值
位编号
6
位符号
XTLHF
4
x
3
IAPS
只读
n
2
x
1
x
0
x
说明
外接晶振控制模式寄存器
0:外接晶振振荡频率<12M
1:外接晶振振荡频率≥12M
SC93F5003 有一个特殊的功能:用户可修改 SFR 的值实现 IRC 频率在一定范围的调整(大约±20%)。
OP_HRCR (83H@FFH) 系统时钟改变寄存器(读/写)
位编号
7
6
5
符号
读/写
上电初始值
n
n
n
位编号
7~0
Page 21 of 72
位符号
OP_HRCR[7:0]
4
3
OP_HRCR[7:0]
读/写
n
n
2
1
0
n
n
n
说明
HRC 频率改变寄存器
OP_HRCR[7:0]在上电后的值 HRC 确保 HRC 可准确工作在
12/6/2MHz (根据用户 Code Option 的选择),此数值的初始值每颗 IC
都可能会有差异。用户可通过修改此寄存器的值实现 IRC 工作频率的
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
改变。
初始值为 OP_HRCR [s],此时 IC 工作在 12/6/2MHz,OP_HRCR [7:0]
每改变 1 则 IRC 频率改变约 23.4kHz@12MHz。
OP_HRCR [7:0]和 IRC 输出频率的关系如下:
OP_HRCR [7:0]值
IRC 实际输出频率(12M 为例)
OP_HRCR [s]-n
(12000-n*23.4)kHz
...
....
OP_HRCR [s]-2
12000-46.8=23906.4kHz
OP_HRCR [s]-1
12000-23.4=23953.2kHz
OP_HRCR [s]
12000kHz
OP_HRCR [s]+1
12000+23.4=24046.8kHz
OP_HRCR [s]+2
12000+46.8=24093.6kHz
...
...
OP_HRCR [s]+n
(2000+n*23.4)kHz
式
7.5 低频振荡器及低频时钟定时器
版
本
说明:
1.IC 每次上电后 OP_HRCR[7:0]的值都是 HRC 工作在最接近
12/6/2M Hz 的 HRC;用户可借助 EEPROM 在每次上电后修正 HRC
的值以让 HRC 工作在用户需要的频率;
2.为保证 IC 工作可靠,IC 最高工作频率不能超过 24MHz;
3.请用户确认 IRC 频率的改变不会影响其它功能;
正
SC93F5003 内建一个频率为 128kHz 的 RC 振荡电路,作为低频时钟定时器 Base Timer 的时钟源。该振
荡器直接连接一个 18-bit 的 Base Timer, 可以把 CPU 从 STOP mode 唤醒, 并且产生中断。
非
BTMCON (CEh) 低频定时器控制寄存器(读/写)
7
6
5
位编号
4
3
2
1
符号
ENBTM
BTMIF
-
-
-
BTMFS[2:0]
读/写
读/写
读/写
-
-
-
读/写
上电初始值
0
0
x
x
x
位编号
7
位符号
ENBTM
6
BTMIF
2~0
BTMFS [2:0]
Page 22 of 72
0
0
0
0
说明
低频 Base Timer 启动控制
0:128kHz LRC 及低频 Base Timer 不启动
1:128kHz LRC 及低频 Base Timer 启动
Base Timer 中断申请标志
当 CPU 接受 Base Timer 的中断后, 此标志位会被硬件自动清除。
用户也可以用软件清除.
低频时钟中断频率选择
000:每 15.6ms 产生一个中断
001:每 31.3ms 产生一个中断
010:每 62.5ms 产生一个中断
011:每 125ms 产生一个中断
100:每 0.25 秒产生一个 中断
101:每 0.5 秒产生一个 中断
110:每 1.0 秒产生一个 中断
111:每 2.0 秒产生一个 中断
V0.2
http://www.socmcu.com
SC93F5003
SinOne
5~3
超高速 32 位总线 1T 8051 内核 Flash MCU
保留
-
7.6 STOP 模式和 IDLE 模式
SC93F5003 提供了一个特殊功能寄存器 PCON,配置该寄存器的 bit0 和 bit1 可控制 MCU 进入不同的工作模
式。
对 PCON.1 写入 1,内部的高频系统时钟就会停止, 进到 STOP 模式 , 达到省电功能。在 STOP 模式下, 用
户可以通过外部中断 INT0~INT3 和低频时钟中断把 SC93F5003 唤醒,也可以通过外部复位将 STOP 唤醒。
对 PCON.0 写入 1,程序停止运行,进入 IDLE 模式,但外部设备及时钟继续运行,进入 IDLE 模式前所有
CPU 状态都被保存。IDLE 模式可由任何中断唤醒。
PCON (87h) 电源控制寄存器(只写、*不可读 *)
位编号
7
6
5
符号
SMOD
读/写
上电初始值
x
x
x
IDL
1
STOP
只写
0
0
IDL
只写
0
说明
STOP 模式控制
0: 正常操作模式
1: 节能模式, 高频振荡器停止工作,低频振荡器及 WDT 可根据设定
选择工作与否。
IDLE 模式控制
0: 正常操作模式
1: 节能模式, 程序停止运行,但外部设备及时钟继续运行,进入
IDLE 模式前所有 CPU 状态都被保存。
本
0
2
x
版
位符号
STOP
3
x
式
位编号
1
4
x
C 语言例程:
#include”intrins.h”
PCON |= 0x02;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
……
汇编例程:
ORL PCON,#02H
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
Page 23 of 72
非
正
注意:
配置 MCU 进入 STOP 或 IDLE 模式时,对 PCON 寄存器进行配置操作的语句后面要加上 8 个 NOP 指令,
不能直接跟其它指令,否则在唤醒后无法正常执行后续的指令!
例如:设置 MCU 进入 STOP 模式:
//PCON 的 bit1 STOP 位写 1,配置 MCU 进入 STOP 模式
//至少需要 8 个_nop_()
; PCON 的 bit1 STOP 位写 1,配置 MCU 进入 STOP 模式
; 至少需要 8 个 NOP
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
……
8 中央处理单元 CPU 及指令系统
8.1 CPU
SC93F5003 所用的 CPU 是一个 超快速的 1T 标准 8051 内核,其指令完全兼容传统 8051 内核单片机。
8.2 寻址方式
SC93F5003 的 1T 8051 CPU 指令的寻址方式有:①立即寻址②直接寻址③间接寻址④寄存器寻址⑤相对寻
址⑥变址寻址⑦位寻址
8.2.1 立即寻址
立即寻址也称为立即数,它是在指令操作数中直接给出参加运算的操作数,指令举例如下:
MOV A, #50H (这条指令是将立即数 50H 送到累加器 A 中)
8.2.2 直接寻址
本
在直接寻址方式中,指令操作数域给出的是参加运算操作数的地址。直接寻址方式只能用来表示特殊功能寄
存器、内部数据寄存器和位地址空间。其中特殊功能寄存器和位地址空间只能用直接寻址方式访问。举例如下:
ANL 50H,#91H (表示 50H 单元中的数与立即数 91H 相“与”,结果存放在 50H 单元中。其中 50H 为直
接地址,表示内部数据寄存器 RAM 中的一个单元。)
8.2.3 间接寻址
式
版
间接寻址采用 R0 或 R1 前添加“@”符号来表示。假设 R1 中的数据是 40H,内部数据存储器 40H 单元的数据为
55H,则指令为
MOV A, @R1 ( 把数据 55H 传送至累加器 A)。
8.2.4 寄存器寻址
非
正
寄存器寻址时对选定的工作寄存器 R7~R0、累加器 A、通用寄存器 B、地址寄存器和进位 C 中的数进行操
作。其中寄存器 R7~R0 由指令码的低 3 位表示,ACC、B、DPTR 及进位位 C 隐含在指令码中。因此,寄存器寻
址也包含一种隐含寻址方式。寄存器工作区的选择由程序状态字寄存器 PSW 中的 RS1、RS0 来决定。指令操作
数指定的寄存器均指当前工作区的寄存器。
INC R0
是指(R0)+1→R0
8.2.5 相对寻址
相对寻址是将程序计数器 PC 中的当前值与指令第二字节给出的数相加,其结果作为转移指令的转移地址。
转移地址也成为转移目的地址,PC 中的当前值成为基地址,指令第二字节给出的数成为偏移量。由于目的地址是
相对于 PC 中的基地址而言,所以这种寻址方式成为相对寻址。偏移量为带符号的数,所能表示的范围为+127~128.这种寻址方式主要用于转移指令。
JC $+50H
表示若进位位 C 为 0,则程序计数器 PC 中的内容不改变,即不转移。若进位位 C 为 1,则以 PC 中的当前
值及基地址,加上偏移量 50H 后所得到的结果作为该转移指令的目的地址。
8.2.6 变址寻址
在变址寻址方式中,指令操作数制定一个存放变址基址的变址寄存器。变址寻址时,偏移量与变址基值相加,
其结果作为操作数的地址。变址寄存器有程序计数器 PC 和地址寄存器 DPTR。
MOVC A, @A+DPTR
表示累加器 A 为偏移量寄存器,其内容与地址寄存器 DPTR 中的内容相加,其结果作为操作数的地址,取出
该单元中的数送入累加器 A 中。
8.2.7 位寻址
位寻址是指对一些可进行位操作的内部数据存储器 RAM 和特殊功能寄存器进行位操作时的寻址方式。在进行
位操作时,借助于进位位 C 作为位操作累加器,指令操作数直接给出该位的地址,然后根据操作码的性质对该位
进行位操作。位地址与字节直接寻址中的字节地址编码方式完全一样,主要由操作指令的性质加以区分,使用时
Page 24 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
应特别注意。
MOV C, 20H
超高速 32 位总线 1T 8051 内核 Flash MCU
(将地址为 20H 的位操作寄存器值送入进位位 C 中。)
8.3 指令系统
1T 8051 指令系统
助记符
功能说明
字节
周期
1
2
1
2
1
2
1
2
1
2
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
2
2
2
1
2
2
2
1
2
2
2
1
2
3
3
1
1
2
3
3
2
6
3
1
2
1
2
2
3
1
2
1
2
2
3
1
2
1
2
2
3
1
1
1
1
1
1
1
1
2
2
2
3
3
1
2
2
2
3
3
1
2
2
2
3
3
1
1
1
1
1
1
1
算术操作指令
ANL A, Rn
ANL A, direct
ANL A, @Ri
ANL A, #data
ANL direct, A
ANL direct, #data
ORL A, Rn
ORL A, direct
ORL A, @Ri
ORL A, #data
ORL direct, A
ORL direct, #data
XRL A, Rn
XRL A, direct
XRL A, @Ri
XRL A, #data
XRL direct, A
XRL direct, #data
CLR A
CPL A
RL A
RLC A
RR A
RRC A
SWAP A
Page 25 of 72
正
式
版
本
寄存器内容加到累加器 A
直接地址单元中的数据加到累加器 A
间接 RAM 中的数据加到累加器 A
立即数加到累加器 A
寄存器带进位加到累加器
直接地址单元的内容带进位加到累加器
间接 RAM 内容带进位加到累加器
立即数带进位加到累加器
累加器带借位减寄存器内容
累加器带借位减直接地址单元的内容
累加器带借位减间接 RAM 中的内容
累加器带借位减立即数
累加器加 1
寄存器加 1
直接地址单元加 1
间接 RAM 单元加 1
地址寄存器 DPTR 加 1
累加器减 1
寄存器减 1
直接地址单元减 1
间接 RAM 单元减 1
A 乘以 B
A 除以 B
累加器十进制调整
逻辑操作指令
累加器与寄存器相“与”
累加器与直接地址单元相“与”
累加器与间接 RAM 单元相“与”
累加器与立即数相“与”
直接地址单元与累加器相“与”
直接地址单元与立即数相“与”
累加器与寄存器相“或”
累加器与直接地址单元相“或”
累加器与间接 RAM 单元相“或”
累加器与立即数相“或”
直接地址单元与累加器相“或”
直接地址单元与立即数相“或”
累加器与寄存器相“异或”
累加器与直接地址单元相“异或”
累加器与间接地址单元相“异或”
累加器与立即数相“异或”
直接地址单元与累加器相“异或”
直接地址单元与立即数相“异或”
累加器清“0”
累加器求反
累加器循环左移
累加器带进位位循环左移
累加器循环右移
累加器带进位位循环右移
累加器内高低半字节交换
非
ADD A, Rn
ADD A, direct
ADD A, @Ri
ADD A, #data
ADDC A, Rn
ADDC A, direct
ADDC A, @Ri
ADDC A, #data
SUBB A, Rn
SUBB A, direct
SUBB A, @Ri
SUBB A, #data
INC A
INC Rn
INC direct
INC @Ri
INC DPTR
DEC A
DEC Rn
DEC direct
DEC @Ri
MUL AB
DIV AB
DA A
V0.2
http://www.socmcu.com
SC93F5003
SinOne
ACALL address11
LCALL address16
RET
RETI
AJMP address11
LJMP address16
SJMP rel
JMP @A+DPTR
JZ rel
JNZ rel
JC rel
JNC rel
JB bit, rel
JNB bit, rel
JBC bit, rel
CJNE A, direct, rel
Page 26 of 72
本
版
式
正
MOV A, Rn
MOV A, direct
MOV A, @Ri
MOV A, #data
MOV Rn, A
MOV Rn, direct
MOV Rn, #data
MOV direct, A
MOV direct, Rn
MOV direct1,direct2
MOV direct, @Ri
MOV direct, #data
MOV @Ri, A
MOV @Ri, direct
MOV @Ri, #data
MOV DPTR,#data16
MOVC A,@A+DPTR
MOVC A,@A+PC
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
PUSH direct
POP direct
XCH A, Rn
XCH A, direct
XCH A, @Ri
XCHD A, @Ri
布尔变量操作指令
清 0 进位位
清 0 直接地址位
进位位置 1
直接地址位置 1
进位位求反
直接地址位求反
进位位和直接地址为相“与”
进位位和直接地址位的反码相“与”
进位位和直接地址位相“或”
进位位和直接地址位反码相“或”
直接地址位送入进位位
进位位送入直接地址位
数据传送类指令
寄存器内容送入累加器
直接地址单元中的数据送入累加器
间接 RAM 中的数据送入累加器
立即数送入累加器
累加器内容送入寄存器
直接地址单元中的数据送入寄存器
立即数送入寄存器
累加器内容送入直接地址单元
寄存器内容送入直接地址单元
直接地址单元中的数据送入另一个直接地址单元
间接 RAM 中的数据送入直接地址单元
立即数送入直接地址单元
累加器内容送间接 RAM 单元
直接地址单元数据送入间接 RAM 单元
立即数送入间接 RAM 单元
16 位立即数送入 DPTR
以 DPTR 为基地址变址寻址单元中的数据送入累加器
以 PC 为基地址变址寻址单元中的数据送入累加器
逻辑上在外部的片内扩展 RAM(8 位地址),送入累加器
逻辑上在外部的片内扩展 RAM(16 位地址),送入累加器
累加器送入逻辑上在外部的片内扩展 RAM(8 位地址)
累加器送入逻辑上在外部的片内扩展 RAM(16 位地址)
直接地址单元中的数据压入堆栈
栈底数据弹出送入直接地址单元
寄存器与累加器交换
直接地址单元与累加器交换
间接 RAM 与累加器交换
间接 RAM 的低半字节与累加器交换
控制转移类指令
绝对(短)调用子程序
长调用子程序
子程序返回
中断返回
绝对(短)转移
长转移
相对转移
相对于 DPTR 的间接转移
累加器为 0 转移
累加器非 0 转移
进位位为 1 则转移
进位位为 0 则转移
直接地址位为 1 则转移
直接地址位为 0 则转移
直接地址位为 1 则转移,该位清 0
累加器与直接地址单元比较,不相等则转移
非
CLR C
CLR bit
SETB C
SETB bit
CPL C
CPL bit
ANL C, bit
ANL C,/bit
ORL C,bit
ORL C,/bit
MOV C, bit
MOV bit, C
超高速 32 位总线 1T 8051 内核 Flash MCU
1
2
1
2
1
2
2
2
2
2
2
2
1
3
1
3
1
3
2
2
2
2
2
3
1
2
1
2
1
2
2
2
2
3
2
3
1
2
2
3
1
1
1
1
1
1
2
2
1
2
1
1
1
2
2
2
1
3
2
2
2
3
3
3
2
3
2
3
5
4
3
2
4
3
3
2
2
3
3
3
2
3
1
1
2
3
2
1
2
2
2
2
3
3
3
3
4
4
4
4
3
4
3
5
4
4
3
3
5
5
5
5
V0.2
http://www.socmcu.com
SC93F5003
SinOne
CJNE
CJNE
CJNE
DJNZ
DJNZ
NOP
超高速 32 位总线 1T 8051 内核 Flash MCU
累加器与立即数比较,不相等则转移
3
寄存器与立即数比较,不相等则转移
3
间接 RAM 单元与立即数比较,不相等则转移
3
寄存器减 1,非 0 转移
3
直接地址单元减 1,非 0 转移
3
空操作
1
SC93F5003 的 MOVC 指令禁止寻址 0000~00FFH 地址,具体使用说明请参考《赛元 MCU 应用注意事项》
A, #data, rel
Rn, #data, rel
@Ri, #data, rel
Rn, rel
direct, rel
4
4
5
4
5
1
9 INTERRUPT 中断
SC93F5003 单片机提供了 10 个中断源: Timer0, Timer1, Timer2, INT0~1, ADC,PWM,UART,SPI,
Base Timer。这 10 个中断源分为 2 个中断优先级,并可以单独分别设置为高优先级或者低优先级。两个外部中断
可以分别设定其中每个中断源的触发条件为上升、下降或上下沿,每个中断分别有独立的优先级设置位、中断标
志、中断向量和使能位,总的使能位 EA 可以实现所有中断的打开或者关闭。
9.1 中断源、向量
SC93F5003 的中断源、中断向量、及相关控制位列表如下:
中断发生
时间
中断标志
中断使能
控制
中断优先权
控制
中断向量
查询优先级
中断号
(C51)
标志清除
方式
能否唤醒
STOP
1 (高)
0
H/W Auto
能
外部中断 0
条件符合
IE0
EINT0
IPINT0
0003H
Timer0
Timer0 溢
出
TF0
ET0
IPT0
000BH
2
1
H/W Auto
不能
INT1
外部中断 1
条件符合
IE1
EINT1
IPINT1
0013H
3
2
H/W Auto
能
Timer1
Timer1 溢
出
TF1
ET1
IPT1
001BH
4
3
H/W Auto
不能
UART
接收或发送
完成
RI/TI
EUART
0023H
5
4
必须用户
清除
不能
Timer2
Timer2 溢
出
TF2
ET2
IPT2
002BH
6
5
必须用户
清除
不能
ADC
ADC 转换
完成
ADCIF
EADC
IPADC
0033H
7
6
必须用户
清除
不能
SPI
接收或发送
完成
SPIF
ESPI
IPSPI
003BH
8
7
H/W Auto
不能
PWM
PWM 溢出
PWMIF
EPWM
IPPWM
0043H
9
8
H/W Auto
不能
BTM
Base timer
溢出
BTMIF
EBTM
IPBTM
004BH
10
9
H/W Auto
能
式
版
本
INT0
非
中断源
正
IPUART
在 EA=1 及各中断使能控制为 1 的情况下,各中断发生情况如下:
定时器中断:Timer0 和 Timer1 溢出时会产生中断并将中断标志 TF0 和 TF1 置为“1”,当单片机执行该定时器
中断时,中断标志 TF0 和 TF1 会被硬件自动清“0”。Timer2 溢出时会产生中断并将中断标志 TF2 置为“1”, 在
Timer2 中断发生后, 硬件并不会自动清除 TF2 位, 此 bit 必须由使用者的软件负责清除。
UART 中断:当 UART 接收或发送一帧数据完成时 RI 或 TI 位会被硬件自动置“1”,UART 中断产生。在 UART
中断发生后, 硬件并不会自动清除 RI/TI 位, 此 bit 必须由使用者的软件负责清除。
ADC 中 断 : ADC 中 断 的 发 生 时 间 为 ADC 转 换 完 成 时 , 其 中 断 标 志 就 是 ADC 转 换 结 束 标 志
EOC/ADCIF(ADCCON.4)。当使用者设定 ADCS 开始转换后, EOC 会被硬件自动清除为 “0” ; 当转换完成后, EOC
会被硬件自动置为 “1” 。使用者在 ADC 中断发生之后,进入中断服务程序时,必须用软件去清除它。
SPI 中断:当 SPI 接收或发送一帧数据完成时 SPIF 位会被硬件自动置“1”,SPI 中断产生。当单片机执行该
SPI 中断时,中断标志 SPIF 会被硬件自动清“0”。
PWM 中断:当 PWM 计数器溢出时(也就是说: 计数器数到超过 PWMPRD 时), PWMIF 位(PWM Interrupt
Flag)会被硬件自动置“1”,PWM 中断产生。当单片机执行该 PWM 中断时,中断标志 PWMIF 会被硬件自动清“0”。
外部中断 INT0~1:当外部中断口有中断条件发生时,外部中断就发生了。这 2 个外部中断标志为 IE0/IE1,
Page 27 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
非
正
式
版
本
不需要用户做处理,硬件会自动清除。INT0 和 INT1 均包含四个外部中断源,用户可以根据需要设成上沿、下沿
或者双沿中断,可通过设置 SFR (INTxF 和 INTxR)来实现。用户可通过 IP 寄存器来设置每个中断的优先级级别。
外部中断 INT0~1 还可以唤醒单片机的 STOP。
Page 28 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
9.2 中断结构图
SC93F5003 的中断结构如下图所示:
IE[7] (EA)
Interrupt to 03 h
IE[0](EINT0)
INT0
TCON[1](IE0)
IE[7] (EA)
Interrupt to 0Bh
IE[1] (ET0)
Timer-0
TCON[5] (TF0)
IE[7] (EA)
Interrupt to 13 h
IE[2] (EINT1)
INT1
TCON[3](IE1)
IE[7] (EA)
Interrupt to 1Bh
TCON[7] (TF1)
版
IE[7] (EA)
本
IE[3] (ET1)
Timer-1
IE[4] (EUART)
UART
Interrupt to 23 h
式
SCON[1:0] (TI/RI)
IE[7] (EA)
IE[5] (ET2)
正
Timer-2
Interrupt to 2Bh
非
T2CON[7] (TF2)
ADC
IE[7] (EA)
IE[6] (EADC)
Interrupt to 33 h
ADCCON[4] (EOC/ADCIF)
IE[7] (EA)
SPI
IE1[0] (ESPI)
Interrupt to 3Bh
SPSTA[7] (SPIF)
IE[7] (EA)
PWM
IE1[1] (EPWM)
Interrupt to 43 h
PWMCON[6] (PWMIF)
IE[7] (EA)
BTM
IE1[2] (EX2I)
Interrupt to 4Bh
BTMCON[6] (BTMIF)
SC93F5003 中断结构和向量
Page 29 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
9.3 中断优先级
SC93F5003 单片机的中断具有两个中断优先级,这些中断源的请求可编程为高优先级中断或者低优先级中
断,即可实现两级中断服务程序的嵌套。一个正在执行的低优先级中断能被高优先级中断请求所中断,但不能被
另一个同一优先级的中断请求所中断,一直执行到结束,遇到返回指令 RETI,返回主程序后再执行一条指令才能
响应新的中断请求。
也就是说:
① 低优先级中断可被高优先级中断请求所中断,反之不能;
② 任何一种中断,在响应过程中,不能被同一优先级的中断请求所中断。
中断查询顺序:SC93F5003 单片机的同一优先级中断,如果同时来几个中断,则中断响应的优先顺序同 C51
中的中断查询号相同,即查询号小的会优先响应,查询号大的会慢响应。
9.4 中断处理流程
9.5 中断相关 SFR 寄存器
位编号
7
位符号
EA
6
EADC
5
ET2
4
EUART
3
ET1
2
EINT1
1
ET0
Page 30 of 72
4
EUART
读/写
0
正
式
5
ET2
读/写
0
非
IE (A8h) 中断使能寄存器(读/写)
位编号
7
6
符号
EA
EADC
读/写
读/写
读/写
上电初始值
0
0
版
本
当一个中断产生并且被 CPU 响应,则主程序运行被中断,将执行下述操作
① 当前正在执行的指令执行完;
② PC 值被压入堆栈,保护现场;
③ 中断向量地址载入程序计数器 PC;
④ 执行相应的中断服务程序;
⑤ 中断服务程序结束并 RETI;
⑥ 将 PC 值退栈,并返回执行中断前的程序。
在此过程中,系统不会立即执行其它同一优先级的中断,但会保留所发生的中断请求,在当前中断处理结束
后,转去执行新的中断请求。
3
ET1
读/写
0
2
EINT1
读/写
0
1
ET0
读/写
0
0
EINT0
读/写
0
说明
中断使能的总控制
0: 关闭所有的中断
1: 打开所有的中断
ADC 中断使能控制
0:关闭 ADC 中断
1:允许 ADC 转换完成时产生中断
Timer2 中断使能控制
0:关闭 TIMER2 中断
1:允许 TIMER2 中断
UART 中断使能控制
0:关闭 UART 中断
1:允许 UART 中断
Timer1 中断使能控制
0:关闭 TIMER1 中断
1:允许 TIMER1 中断
外部中断 1 使能控制
0:关闭 INT1 中断
1:打开 INT1 中断
Timer0 中断使能控制
0:关闭 TIMER0 中断
V0.2
http://www.socmcu.com
SC93F5003
SinOne
0
超高速 32 位总线 1T 8051 内核 Flash MCU
1:允许 TIMER0 中断
外部中断 0 使能控制
0:关闭 INT0 中断
1:打开 INT0 中断
EINT0
IP (B8h) 中断优先权寄存器(读/写)
位编号
7
6
符号
IPADC
读/写
读/写
上电初始值
x
0
IPUART
3
IPT1
2
IPINT1
1
IPT0
0
IPINT0
7
-
位符号
EBTM
1
EPWM
0
ESPI
Page 31 of 72
2
EBTM
读/写
0
1
EPWM
读/写
0
0
ESPI
读/写
0
说明
IE1 (A9h)中断控制寄存器 1(读/写)
位编号
7
6
符号
读/写
上电初始值
x
x
位编号
2
0
IPINT0
读/写
0
ADC 中断优先权选择
0:ADC 中断优先权为低
1:ADC 中断优先权为高
Timer2 中断优先权选择
0:Timer2 中断优先权为低
1:Timer2 中断优先权为高
UART 中断优先权选择
0:UART 中断优先权为低
1:UART 中断优先权为高
Timer1 中断优先权选择
0:Timer1 中断优先权为低
1:Timer1 中断优先权为高
INT1 计数器中断优先权选择
0:INT1 中断优先权为低
1:INT1 中断优先权为高
Timer0 中断优先权选择
0:Timer0 中断优先权为低
1:Timer0 中断优先权为高
INT0 计数器中断优先权选择
0:INT0 中断优先权为低
1:INT0 中断优先权为高
保留
本
4
1
IPT0
读/写
0
版
IPT2
2
IPINT1
读/写
0
式
5
3
IPT1
读/写
0
正
位符号
IPADC
4
IPUART
读/写
0
非
位编号
6
5
IPT2
读/写
0
5
x
4
x
3
x
说明
Base Timer 中断使能控制
0: 关闭 Base Timer 中断
1: 允许 Base Timer 中断
PWM 中断使能控制
0:关闭 PWM 中断
1:允许 PWM 计数溢出(数到 PWMPRD)时产生中断
SPI 中断使能控制
0: 关闭 SPI 中断
1: 允许 SPI 中断
V0.2
http://www.socmcu.com
SC93F5003
SinOne
保留
-
IP1 (B9h) 中断优先权寄存器 1(读/写)
位编号
7
6
符号
读/写
上电初始值
x
x
位符号
IPBTM
1
IPPWM
0
IPSPI
7~3
-
4
x
Base Timer 中断优先权选择
0:Base Timer 中断优先权为低
1:Base Timer0 中断优先权为高
PWM 中断使能控制
0: PWM 中断优先权为低
1: PWM 中断优先权为高
SPI 中断使能控制
0: SPI 中断优先权为低
1: SPI 中断优先权为高
保留
位符号
INT0Rn
(n=0~3)
7~4
-
Page 32 of 72
位符号
INT1Fn
(n=0~3)
2
INT0F2
读/写
0
1
INT0F1
读/写
0
0
INT0F0
读/写
0
1
INT0R1
读/写
0
0
INT0R0
读/写
0
1
INT1F1
读/写
0
0
INT1F0
读/写
0
说明
4
x
3
INT0R3
读/写
0
2
INT0R2
读/写
0
说明
INT0 上升沿中断控制
0 : INT0n 上升沿中断关闭
1: INT0n 上升沿中断使能
保留
INT1F (BCh) INT1 下降沿中断控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
3~0
3
INT0F3
读/写
0
INT0 下降沿中断控制
0 : INT0n 下降沿中断关闭
1: INT0n 下降沿中断使能
保留
INT0R (BBh) INT0 上升沿中断控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
3~0
4
x
式
-
0
IPSPI
读/写
0
正
7~4
1
IPPWM
读/写
0
非
位符号
INT0Fn
(n=0~3)
2
IPBTM
读/写
0
说明
INT0F (BAh) INT0 下降沿中断控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
3~0
3
x
本
位编号
2
5
x
版
7~3
超高速 32 位总线 1T 8051 内核 Flash MCU
4
x
3
INT1F3
读/写
0
2
INT1F2
读/写
0
说明
INT1 下降沿中断控制
0 : INT1n 下降沿中断关闭
V0.2
http://www.socmcu.com
SC93F5003
SinOne
7~4
超高速 32 位总线 1T 8051 内核 Flash MCU
1: INT1n 下降沿中断使能
保留
-
INT1R (BDh) INT1 上升沿中断控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
3~0
位符号
INT1Rn
(n=0~3)
7~4
-
4
x
3
INT1R3
读/写
0
2
INT1R2
读/写
0
1
INT1R1
读/写
0
0
INT1R0
读/写
0
说明
INT1 上升沿中断控制
0 : INT1n 上升沿中断关闭
1: INT1n 上升沿中断使能
保留
10 定时器 TIMER0 、TIMER1
非
正
式
版
本
T0 和 T1 是 SC93F5003 单片机内部的两个 16 位定时器/计数器,它们具有计数方式和定时方式两种工作模
式。特殊功能寄存器 TMOD 中有一个控制位 C/Tx 来选择 T0 和 T1 是定时器还是计数器。它们本质上都是一个加
法计数器,只是计数的来源不同。定时器的来源为系统时钟或者其分频时钟,但计数器的来源为外部管脚的输入
脉冲。只有在 TRx=1 的时候,T0 和 T1 才会被打开计数。
计数器模式下,P1.2/T0 和 P1.3/T1 管脚上的每一个脉冲,T0 和 T1 的计数值分别增加 1。
定时器模式下,可通过特殊功能寄存器 TMCON 来选择 T0 和 T1 的计数来源是 fSYS/12 或 fSYS/4(fSYS 为分频后
的系统时钟)。
定时器/计数器 T0 有 4 种工作模式,定时器/计数器 T1 有 3 种工作模式(模式三不存在):
① 模式 0:13 位定时器/计数器模式
② 模式 1:16 位定时器/计数器模式
③ 模式 2: 8 位自动重载模式
④ 模式 3:两个 8 位定时器/计数器模式。
在上述模式中,T0 和 T1 的模式 0、1、2 都相同,模式 3 不同。
10.1 T0 和 T1 相关特殊功能寄存器
符号
TCON
TMOD
TL0
TL1
TH0
TH1
TMCON
地址
88H
89H
8AH
8BH
8CH
8DH
8EH
说明
定时器控制寄存器
定时器工作模式寄存器
定时器 0 低 8 位
定时器 1 低 8 位
定时器 0 高 8 位
定时器 1 高 8 位
定时器频率控制寄存器
7
TF1
-
-
6
5
4
TR1 TF0 TR0
C/T1 M11 M01
-
-
3
IE1
-
-
-
Reset 值
00000x0xb
x000x000b
00000000b
00000000b
00000000b
00000000b
T2FD T1FD T0FD xxxxx000b
2
C/T0
1
IE0
M10
0
M00
各寄存器的解释说明如下:
TCON (88h) 定时器控制寄存器
位编号
7
6
TF1
TR1
符号
读/写
读/写
读/写
0
0
上电初始值
位编号
7
Page 33 of 72
位符号
TF1
5
TF0
读/写
0
4
TR0
读/写
0
3
IE1
读/写
0
2
x
1
IE0
读/写
0
0
x
说明
T1 溢出中断请求标志。T1 产生溢出,发生中断时,硬件将 TF1 置为
V0.2
http://www.socmcu.com
SC93F5003
SinOne
6
TR1
5
TF0
4
TR0
2,0
-
超高速 32 位总线 1T 8051 内核 Flash MCU
“1”,申请中断,CPU 响应时,硬件清“0”。
定时器 T1 的运行控制位。此位由软件置 1 和清 0。当 TR1=1 时,允许
T1 开始计数。TR1=0 时禁止 T1 计数。
T0 溢出中断请求标志。T0 产生溢出,发生中断时,硬件将 TF0 置为
“1”,申请中断,CPU 响应时,硬件清“0”。
定时器 T0 的运行控制位。此位由软件置位和清 0。当 TR0=1 时,允许
T0 开始计数。TR0=0 时禁止 T0 计数。
保留
TMOD (89h) 定时器工作模式寄存器(读/写)
位编号
7
6
5
符号
C/T1
M11
读/写
读/写
读/写
x
0
0
上电初始值
T1
5,4
M11,M01
2
C/T0
1,0
M10,M00
7,3
-
2
C/T0
读/写
0
1
M10
读/写
0
0
M00
读/写
0
T0
说明
TMOD[6]控制定时器 1
0:定时器,T1 计数来源于 fSYS 分频
1:计数器,T1 计数来源于外部管脚 T1/P1.3
定时器/计数器 1 模式选择
00 : 13 位定时器/计数器,TL1 高 3 位无效
01 : 16 位定时器/计数器,TL1 和 TH1 全
10 : 8 位自动重载定时器,溢出时将 TH1 存放的值自动重装入 TL1
11 : 定时器/计数器 1 无效(停止计数)
TMOD[2]控制定时器 0
0:定时器,T0 计数来源于 fSYS 分频
1:计数器,T0 计数来源于外部管脚 T0/P1.2
定时器/计数器 0 模式选择
00 : 13 位定时器/计数器,TL0 高 3 位无效
01 : 16 位定时器/计数器,TL0 和 TH0 全
10 : 8 位自动重载定时器,溢出时将 TH0 存放的值自动重装入 TL0
11 : 定时器 0 此时作为双 8 位定时器/计数器。TL0 作为一个 8 位定时器
/计数器,通过标准定时器 0 的控制位控制;TH0 仅作为一个 8 位定时
器,由定时器 1 的控制位控制。
保留
本
位符号
C/T1
3
x
非
正
式
版
位编号
6
4
M01
读/写
0
TMOD 寄存器中 TMOD[0]~TMOD[2]是设置 T0 的工作模式;TMOD[4]~TMOD[6]是设置 T1 的工作模式。
定时器和计数器 Tx 功能由特殊功能寄存器 TMOD 的控制位 C/Tx 来选择,M0x 和 M1x 都是用来选择 Tx 的工
作模式。TRx 作为 T0 和 T1 的开关控制,只有 TRx=1 时 T0 和 T1 才打开。
TMCON (8Eh) 定时器频率控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
1
0
Page 34 of 72
位符号
T1FD
T0FD
4
x
3
x
2
T2FD
读/写
0
1
T1FD
读/写
0
0
T0FD
读/写
0
说明
T1 输入频率选择控制
0:T1 频率源自于 fSYS/12
1:T1 频率源自于 fSYS/4
T0 输入频率选择控制
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
0:T0 频率源自于 fSYS/12
1:T0 频率源自于 fSYS/4
IE (A8h) 中断使能寄存器(读/写)
位编号
7
6
EA
EADC
符号
读/写
读/写
读/写
0
0
上电初始值
位符号
ET1
1
10.2 T0 工作模式
0
EINT0
读/写
0
4
IPUART
读/写
0
版
5
IPT2
读/写
0
3
IPT1
读/写
0
2
IPINT1
读/写
0
1
IPT0
读/写
0
0
IPINT0
读/写
0
说明
式
Timer1 中断优先权
0:设定 Timer 1 的中断优先权是 “低”
1:设定 Timer 1 的中断优先权是 “高”
Timer0 中断优先权
0:设定 Timer 0 的中断优先权是 “低”
1:设定 Timer 0 的中断优先权是 “高”
正
IPT0
1
ET0
读/写
0
非
1
2
EINT1
读/写
0
说明
ET0
位符号
IPT1
3
ET1
读/写
0
Timer1 中断使能控制
0: 关闭 TIMER1 中断
1: 允许 TIMER1 中断
Timer0 中断使能控制
0: 关闭 TIMER0 中断
1: 允许 TIMER0 中断
IP (B8h) 中断优先级寄存器(读/写)
位编号
7
6
IPADC
符号
读/写
读/写
x
0
上电初始值
位编号
3
4
EUART
读/写
0
本
位编号
3
5
ET2
读/写
0
通过对寄存器 TMOD 中的 M10、M00(TMOD[1]、TMOD[0])的设置,定时器/计数器 0 可实现 4 种不同的工作
模式 。
工作模式 0: 13 位计数器/定时器。
TH0 寄存器存放 13 位计数器/定时器的高 8 位(TH0.7~TH0.0), TL0 存放低 5 位(TL0.4~TL0.0)。TL0 的高三位
(TL0.7~TL0.5)是不确定值,读取时应被忽略掉。当 13 位定时器/计数器递增溢出时,系统会将定时器溢出标志
TF0 置 1。如果定时器 0 中断被允许,将会产生一个中断。
C/T0 位选择计数器/定时器的时钟输入源。如果 C/T0=1,定时器 0 输入脚 T0(P2.0)的电平从高到低的变化,
会使定时器 0 数据寄存器加 1。如果 C/T0=0,选择系统时钟的分频为定时器 0 的时钟源。
当 TR0 置 1 打开定时器 T0。TR0 置 1 并不强行复位定时器,意味着如果 TR0 置 1,定时器寄存器将从上次
TR0 清 0 时的值开始计数。所以,在允许定时器之前,应该设定定时器寄存器的初始值。
当作为定时器应用时,可配置 T0FD 来选择时钟源的分频比例。
Page 35 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
Fsys
/12
/4
超高速 32 位总线 1T 8051 内核 Flash MCU
T0FD=0
T0FD=1
TMOD.2=0
(C/T0)
(TF0)
TL0
5 bit
T0=P1.2
TH0
8 bit
TMOD.2=1
(C/T0)
TCON.5
T0中断请求
(TR0)
TCON.4
定时器/计数器工作模式 0: 13 位定时器/计数器
工作模式 1:16 位计数器/定时器
除了使用 16 位(TL0 的 8 位数据全部有效)计数器/定时器之外,模式 1 和模式 0 的运行方式相同。打开和配置
计数器/定时器方式也相同。
Fsys
/12
/4
T0FD=0
T0FD=1
TMOD.2=0
(C/T0)
(TF0)
本
T0=P1.2
TH0
8 bit
TCON.5
T0中断请求
版
TMOD.2=1
(C/T0)
TL0
8 bit
式
(TR0)
TCON.4
正
定时器/计数器工作模式 0: 16 位定时器/计数器
非
工作模式 2: 8 位自动重载计数器/定时器
在工作模式 2 中, 定时器 0 是 8 位自动重载计数器/定时器。TL0 存放计数值,TH0 存放重载值。当在 TL0
中的计数器溢出至 0x00 时,定时器溢出标志 TF0 被置 1,寄存器 TH0 的值被重载入寄存器 TL0 中。如果定时
器中断使能,当 TF0 置 1 时将产生一个中断,但在 TH0 中的重载值不会改变。在允许定时器正确计数开始之
前,TL0 必须初始化为所需要的值。
除了自动重载功能外,工作模式 2 中的计数器/定时器的使能和配置方式同模式 0 和 1 是相同的。
当作为定时器应用时,可配置寄存器 TMCON.0(T0FD)来选择定时器时钟源被系统时钟 fSYS 分频的比例。
Fsys
/12
/4
T0FD=0
T0FD=1
TMOD.2=0
(C/T0)
T0=P1.2
(TF0)
TL0
8 bit
TCON.5
T0中断请求
TMOD.2=1
(C/T0)
Set
(TR0)
TCON.4
TH0
8 bit
定时器/计数器工作模式 2: 自动重载的 8 位定时器/计数器
Page 36 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
工作模式 3:两个 8 位计数器/定时器(仅限于定时器 0)
在工作模式 3 中,定时器 0 用作两个独立的 8 位计数器/定时器,分别由 TL0 和 TH0 控制。TL0 通过定时器
0 的控制位(在 TCON 中)和状态位(在 TMOD 中):TR0、C/T0、TF0 控制。定时器 0 可通过 T0 的 TMOD.2(C/T0)
来选择是定时器模式还是计数器模式。
TH0 通过定时器 1 的控制 TCON 来设置相关的控制,但 TH0 仅被限定为定时器模式,无法通过
TMOD.2(C/T0)来设定为计数器模式。TH0 由定时器控制位 TR1 的控制使能,需设定 TR1=1。当发生溢出及产
生中断时,TF1 会置 1,并按 T1 发生中断来进行相应的处理。
在 T0 被设为工作模式 3 时,TH0 定时器占用了 T1 的中断资源及 TCON 中寄存器,T1 的 16 位计数器会停
止计数,相当于“TR1=0”。当采用 TH0 定时器工作时,需设置 TR1=1。
10.3 T1 工作模式
通过对寄存器 TMOD 中的 M11、M01(TMOD[5]、TMOD[4])的设置,定时器/计数器 1 可实现 3 种不同的工作
模式 。
/12
/4
T1FD=0
T1FD=1
式
Fsys
版
本
工作模式 0: 13 位计数器/定时器。
TH1 寄存器存放 13 位计数器/定时器的高 8 位(TH1.7~TH1.0);TL1 存放低 5 位(TL1.4~TL1.0)。TL1 的高三
位(TL1.7~TL1.5)是不确定值,读取时应被忽略掉。当 13 位定时器计数器递增溢出时,系统会将定时器溢出标志
TF1 置 1。如果定时器 1 中断被允许,将会产生一个中断。C/T1 位选择计数器/定时器的时钟源。
如果 C/T1=1,定时器 1 输入脚 T1(P2.1)的电平从高到低的变化,会使定时器 1 数据寄存器加 1。如果 C/T1=0,
选择系统时钟的分频为定时器 1 的时钟源。
TR1 置 1 打开定时器。TR1 置 1 并不强行复位定时器,意味着如果 TR1 置 1,定时器寄存器将从上次 TR1 清
0 时的值开始计数。所以,在允许定时器之前,应该设定定时器寄存器的初始值。
当作为定时器应用时,可配置 T1FD 来选择时钟源的分频比例。
TMOD.6=0
(C/T1)
正
T1=P1.3
(TF1)
TL1
5 bit
TH1
8 bit
TMOD.6=1
(C/T1)
TCON.7
非
T1中断请求
(TR1)
TCON.6
定时器/计数器工作模式 0: 13 位定时器/计数器
工作模式 1:16 位计数器/定时器
除了使用 16 位(TL1 的 8 位数据全部有效)计数器/定时器之外,模式 1 和模式 0 的运行方式相同。打开和配置
计数器/定时器方式也相同。
Fsys
/12
/4
T1FD=0
T1FD=1
TMOD.6=0
(C/T1)
T1=P1.3
(TF1)
TL1
8 bit
TMOD.6=1
(C/T1)
TH1
8 bit
TCON.7
T1中断请求
(TR1)
TCON.6
定时器/计数器工作模式 0: 16 位定时器/计数器
Page 37 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
工作模式 2: 8 位自动重载计数器/计数器
在工作模式 2 中, 定时器 1 是 8 位自动重载计数器/定时器。TL1 存放计数值,TH1 存放重载值。当在 TL1
中的计数器溢出至 0x00 时,定时器溢出标志 TF1 被置 1,寄存器 TH1 的值被重载入寄存器 TL1 中。如果定时
器中断使能,当 TF1 置 1 时将产生一个中断,但在 TH1 中的重载值不会改变。在允许定时器正确计数开始之
前,TL1 必须初始化为所需要的值。
除了自动重载功能外,工作模式 2 中的计数器/定时器的使能和配置方式同方式 0 和 1 是相同的。
当作为定时器应用时,可配置寄存器 TMCON.4(T1FD)来选择定时器时钟源被系统时钟 fSYS 分频的比例。
/12
/4
Fsys
T1FD=0
T1FD=1
TMOD.6=0
(C/T1)
TL1
8 bit
T1=P1.3
TCON.7
T1中断请求
TMOD.6=1
(C/T1)
Set
(TR1)
TCON.6
TH1
8 bit
本
定时器/计数器工作模式 2: 自动重载的 8 位定时器/计数器
版
11 定时器 TIMER2
①
②
③
④
模式 0:16 位捕获模式
非
正
式
SC93F5003 单片机内部的 Timer2 具有计数方式和定时方式两种工作模式。特殊功能寄存器 T2CON 中有一
个控制位 C/T2 来选择 T2 是定时器还是计数器。它们本质上都是一个加法计数器,只是计数的来源不同。定时器
的来源为系统时钟或者其分频时钟,但计数器的来源为外部管脚的输入脉冲。TR2 是 T2 在定时器/计数器模式计
数的开关控制,只有在 TR2=1 的时候,T2 才会被打开计数。
计数器模式下,T2 管脚上的每一个脉冲,T2 的计数值分别增加 1。
定时器模式下,可通过特殊功能寄存器 TMCON 来选择 T2 的计数来源是 fSYS/12 或 fSYS/4。
定时器/计数器 T2 有 4 种工作模式:
模式 1:16 位自动重载定时器模式
模式 2: 波特率发生器模式
模式 3:可编程时钟输出模式。
11.1 T2 相关特殊功能寄存器
符号
地址
说明
7
6
5
4
3
2
1
0
Reset 值
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2
00000000b
-
-
-
-
-
-
T2OE
DCEN
xxxxxx00b
T2CON
C8H
定时器 2 控制寄存器
T2MOD
C9H
定时器 2 工作模式寄存器
RCAP2L
CAH
定时器 2 重载/捕捉低 8 位
RCAP2L[7:0]
00000000b
RCAP2H
CBH
定时器 2 重载/捕捉高 8 位
RCAP2H[7:0]
00000000b
TL2
CCH
定时器 2 低 8 位
TL2[7:0]
00000000b
TH2
CDH
定时器 2 高 8 位
TMCON
8EH
定时器频率控制寄存器
-
-
-
-
TH2[7:0]
-
T2FD
T1FD
T0FD
00000000b
xxxxx000b
各寄存器的解释说明如下:
T2CON (C8h) 定时器 2 控制寄存器
位编号
7
6
TF2
EXF2
符号
读/写
读/写
读/写
Page 38 of 72
5
RCLK
读/写
4
TCLK
读/写
3
EXEN2
读/写
2
TR2
读/写
1
C/T2
读/写
0
CP/RL2读/写
V0.2
http://www.socmcu.com
SC93F5003
SinOne
上电初始值
0
超高速 32 位总线 1T 8051 内核 Flash MCU
0
0
0
0
0
0
0
位编号
7
位符号
TF2
说明
6
EXF2
T2 引脚外部事件输入(下降沿)被检测到的标志位
0:无外部事件输入(必须由软件清 0)
1:检测到外部输入(如果 EXEN2 = 1,由硬件设 1)
5
RCLK
4
TCLK
3
EXEN2
UART 接收时钟控制位
0:定时器 1 产生接收波特率
1:定时器 2 产生接收波特率
UART 发送时钟控制位
0:定时器 1 产生发送波特率
1:定时器 2 产生发送波特率
T2 引脚上的外部事件输入(下降沿)用作重载/捕获触发器允许/禁止控制:
0:忽略 T2 引脚上的事件
1:当定时器 2 不做为 UART 时钟(T2EX 始终包括上拉电阻)时,检测到 T2 引
脚上一个下降沿,产生一个捕获或重载
2
TR2
1
C/T2
0
CP/RL2
定时器 2 溢出标志位
0:无溢出(必须由软件清 0)
1:溢出(如果 RCLK = 0 和 TCLK = 0,由硬件设 1)
版
本
定时器 2 开始/停止控制位
0:停止定时器 2
1:开始定时器 2
定时器 2 定时器/计数器方式选定位 2
0:定时器方式,T2 引脚用作 I/O 端口
1:计数器方式
正
式
捕获/重载方式选定位
0:16 位带重载功能的定时器/计数器
1:16 位带捕获功能的定时器/计数器,T2EX 为定时器 2 外部捕获信号输入口
非
T2MOD (C9h) 定时器 2 工作模式寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
1
位符号
T2OE
0
DCEN
7~2
-
Page 39 of 72
位符号
T2FD
3
x
2
x
1
T2OE
读/写
0
0
DCEN
读/写
0
说明
定时器 2 输出允许位
0:设置 T2 作为时钟输入或 I/O 端口
1:设置 T2 作为时钟输出
递减计数允许位
0:禁止定时器 2 作为递增/递减计数器,定时器 2 仅作为递增计数器
1:允许定时器 2 作为递增/递减计数器
保留
TMCON (8Eh) 定时器频率控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
2
4
x
4
x
3
x
2
T2FD
读/写
0
1
T1FD
读/写
0
0
T0FD
读/写
0
说明
T2 输入频率选择控制
0:T2 频率源自于 fSYS/12
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
1:T2 频率源自于 fSYS/4
IE (A8h) 中断使能寄存器(读/写)
位编号
7
6
EA
EADC
符号
读/写
读/写
读/写
0
0
上电初始值
位编号
5
5
ET2
读/写
0
位符号
ET2
3
ET1
读/写
0
2
EINT1
读/写
0
1
ET0
读/写
0
0
EINT0
读/写
0
2
IPINT1
读/写
0
1
IPT0
读/写
0
0
IPINT0
读/写
0
说明
Timer2 中断使能控制
0: 关闭 TIMER2 中断
1: 允许 TIMER2 中断
IP (B8h) 中断优先级寄存器(读/写)
位编号
7
6
IPADC
符号
读/写
读/写
x
0
上电初始值
5
IPT2
读/写
0
位符号
IPT2
4
IPUART
读/写
0
3
IPT1
读/写
0
说明
Timer2 中断优先权
0:设定 Timer 2 的中断优先权是 “低”
1:设定 Timer 2 的中断优先权是 “高”
版
本
位编号
5
4
EUART
读/写
0
定时器 2 工作模式与配置方式如下表:
———
式
11.2 T2 工作模式
—————
T2OE
DCEN
TR2
X
0
X
1
X
0
0
1
X
0
1
1
X
0
X
非
1
CP/RL2
方式
RCLK
TCLK
1
0
0
0
16 位捕获
0
0
0
1
16 位自动重载定时器
0
0
0
1
X
2
波特率发生器
X
1
正
C/T2
X
0
0
3
只用于可编程时钟
1
X
3
带波特率发生器的可编程时钟输
出
X
定时器 2 停止,T2EX 通路仍旧
允许
0
1
X
1
X
X
1
X
X
X
0
X
X
X
1
1
X
1
X
X
X
不推荐使用
工作模式 0:16 位捕获
在捕获方式中,T2CON 的 EXEN2 位有两个选项。
如果 EXEN2 = 0,定时器 2 作为 16 位定时器或计数器,如果 ET2 被允许的话,定时器 2 能设置 TF2 溢出产
生一个中断。
如果 EXEN2 = 1,定时器 2 执行相同操作,但是在外部输入 T2EX 上的下降沿也能引起在 TH2 和 TL2 中的当
前值分别被捕获到 RCAP2H 和 RCAP2L 中,此外,在 T2EX 上的下降沿也能引起在 T2CON 中的 EXF2 被设
置。如果 ET2 被允许,EXF2 位也像 TF2 一样也产生一个中断。
Page 40 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
T2FD = 0
Fsys
1/12
C/T2 = 0
1/4
TL2
T2FD = 1
C/T2 = 1
T2
TH2
TF2
Overflow
TR2
Timer2
CP/RL2
RCAP2L
RCAP2H
&
T2EX
EXF2
EXEN2
模式 0: 16 位捕获
正
式
版
本
工作模式 1:16 位自动重载定时器
在 16 位自动重载方式下,定時器 2 可以被选为递增计数或递减计数。这个功能通过 T2MOD 中的 DCEN 位
(递减计数允许)选择。系统复位后,DCEN 位复位值为 0,定时器 2 默认递增计数。当 DCEN 置 1 时,定时器 2 递
增计数或递减计数取决于 T2EX 引脚上的电平。
当 DCEN = 0,通过在 T2CON 中的 EXEN2 位选择两个选项。
如果 EXEN2 = 0,定时器 2 递增到 0xFFFFH,在溢出后置起 TF2 位,同时定时器自动将用户软件写好的寄
存器 RCAP2H 和 RCAP2L 的 16 位值装入 TH2 和 TL2 寄存器。
如果 EXEN2 = 1,溢出或在外部输入 T2EX 上的下降沿都能触发一个 16 位重载,置起 EXF2 位。如果 ET2
被使能,TF2 和 EXF2 位都能产生一个中断。
Fsys
1/12
1/4
非
T2FD = 0
C/T2 = 0
T2FD = 1
T2
C/T2 = 1
TL2
TH2
RCAP2L
RCAP2H
TR2
Reload
Overflow
TF2
T2EX
Timer2
EXF2
EXEN2
模式 1: 16 位自动重载 DCEN = 0
设置 DCEN 位允许定时器 2 递增计数或递减计数。当 DCEN = 1 时,T2EX 引脚控制计数的方向,而 EXEN2
控制无效。
T2EX 置 1 可使定时器 2 递增计数。定时器向 0xFFFFH 溢出,然后设置 TF2 位。溢出也能分别引起 RCAP2H
和 RCAP2L 上的 16 位值重载入定时器寄存器。
T2EX 置 0 可使定时器 2 递减计数。当 TH2 和 TL2 的值等于 RCAP2H 和 RCAP2L 的值时,定时器溢出。置
起 TF2 位,同时 0xFFFFH 重载入定时器寄存器。
Page 41 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
无论定时器 2 溢出与否,EXF2 位都被用作结果的第 17 位。在此工作方式下,EXF2 不作为中断标志。
0xFFH
0xFFH
EXF2
T2FD = 0
Toggle
1/12
Fsys
1/4
C/T2 = 0
TL2
T2FD = 1
T2
C/T2 = 1
TH2
TF2
TR2
RCAP2L
RCAP2H
1 = UP
0 = DOWN
T2EX
模式 1: 16 位自动重载 DCEN = 1
版
本
工作模式 2:波特率发生器
通设置 T2CON 寄存器中的 TCLK 和/或 RCLK 选择定时器 2 作为波特率发生器。接收器和发送器的波特率可
以不同。如果定时器 2 作为接收器或发送器,则定时器 1 相应的作为另一种的波特率发生器
设置 T2CON 寄存器中的 TCLK 和/或 RCLK 使定时器 2 进入波特率发生器方式,该方式与自动重载方式相似
定时器 2 的溢出会使 RCAP2H 和 RCAP2L 寄存器中的值重载入定时器 2 计数,但不会产生中断
如果 EXEN2 被置 1,在 T2EX 脚上的下降沿会置起 EXF2,但不会引起重载。因此当定时器 2 作为波特率发
送器时,T2EX 可作为一个额外的外部中断
在 UART 方式 1 和 3 中的波特率由定时器 2 的溢出率根据下列方程式决定:
1
fsys
1
式
BaudRate = 32×12 × 65536−[RCAP2H,RCAP2L] ;
fsys
正
BaudRate = 32×4 × 65536−[RCAP2H,RCAP2L] ;
T2FD = 0
T2FD = 1
非
定时器 2 作为波特率发生器的原理图如下:
Page 42 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
Timer1 Overflow
T2FD = 0
/2
"0"
1/12
Fsys
1/4
SMOD1
C/T2 = 0
TL2
T2FD = 1
T2
"1"
TH2
"0"
"1"
RCLK
C/T2 = 1
TR2
Rx
Clock
/16
RCAP2L
RCAP2H
"0"
"1"
TCLK
Timer2
Interrupt
T2EX
Tx
Clock
/16
EXF2
EXEN2
本
模式 2:波特率发生器
工作模式 3:可编程时钟输出
———
式
在这种方式中,T2 输出占空比为 50%的时钟
版
在这种方式中,T2(P1.1)可以编程为输出 50%的占空比时钟周期:当 C/T2 = 0;T2OE = 1,使能定时器 2 作
为时钟发生器
1
fsys
正
Colck Out Frequency = 2×12 × 65536−[RCAP2H,RCAP2L] ;
1
fsys
非
Colck Out Frequency = 2×4 × 65536−[RCAP2H,RCAP2L] ;
T2FD = 0
T2FD = 1
定时器 2 溢出不产生中断,T2 端口作时钟输出。
Page 43 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
T2FD = 0
Fsys
1/12
TL2
TH2
RCAP2L
RCAP2H
1/4
TR2
T2FD = 1
C/T2
T2
/2
T2OE
Timer2
Interrupt
T2EX
EXF2
EXEN2
模式 3:可编程时钟输出
12 PWM
正
式
版
本
注意:
1. TF2 和 EXF2 都能引起定时器 2 的中断请求,两者有相同的向量地址;
2. 当事件发生时或其它任何时间都能由软件设置 TF2 和 EXF2 为 1,只有软件以及硬件复位才能使之清 0;
3. 当 EA = 1 且 ET2 = 1 时,设置 TF2 或 EXF2 为 1 能引起定时器 2 中断;
4. 当定时器 2 作为波特率发生器时,写入 TH2/TL2 或 RCAP2H/RCAP2L 会影响波特率的准确性,引起通信
出错。
非
SC93F5003 提供了一个独立的计数器, 它可以支持三路的 PWM 输出:PWM0 、PWM1 及 PWM2。
SC93F5003 的 PWM 具有的功能为:
① 8+2 位 PWM 精度
② PWM0、PWM1 和 PWM2 周期相同,但占空比可单独设置
③ 输出可设置正反向
④ 提供 1 个 PWM 溢出的中断。
⑤ PWM0、PWM1 和 PWM2 的输出可以分别切换至不同的 IO 口输出
SC93F5003 的 PWM 可支持周期及占空比的调整,寄存器 PWMCON 控制 PWM0、PWM1 和 PWM2 相关设
置,PWMCFG 设置 PWM 输出波形的极性及输出 IO 的选择,PWMPRD 设置 PWM 共同的周期,PWMDTY0、
PWMDTY1 和 PWMDTY2 分别控制 PWM0、PWM1 和 PWM2 的占空比。PWMDTYA 控制三个 PWM 输出 duty
的微调。
Page 44 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
12.1 PWM 结构框图
PWMn Output1
PWMn Output0
PWMDTYn
PWMOSn
重装
缓存器
ENPWMn
INVn
占空比4周期
循环微调
R
比较器
版
Q
本
PDTAn
正
式
S
非
/1
/2
.
.
.
/256
Fsys
计数器
CKS
比较器
PWMIF
ENPWM
共用周期模块
缓存器
重装
PWMPRD
SC93F5003 PWM 结构框图
Page 45 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
12.2 PWM 相关 SFR 寄存器
符号
地址
PWMCON
D2H
PWMPRD
F9H
PWMCFG
FCH
PWMDTY0
D5H
PWMDTY1
D6H
PWMDTY2
D7H
PWMDTYA
D4H
IE1
IP1
A9H
B9H
说明
7
6
5
4
3
2
1
0
Reset 值
ENPWM PWMIF ENPWM ENPWM ENPWM
PWMCKS[2:0]
PWM 控制寄存器
00000000b
2
1
0
PWM 周期设置寄存器
PWMPRD[7:0]
00000000b
INV2
INV1
INV0 PWMOS PWMOS PWMOS
xx000000b
PWM 设置寄存器
2
1
0
PDT0[7:0]
PWM0 占空比设置寄存
00000000b
器
PDT1[7:0]
PWM1 占空比设置寄存
00000000b
器
PDT2[7:0]
PWM20 占空比设置寄
00000000b
存器
PDTA2[1:0]
PDTA1[1:0]
PDTA0[1:0]
PWM 占空比调节寄存
xx000000b
器
EBTM EPWM
ESPI
中断使能寄存器
xxxxx000b
IPBTM IPPWM IPSPI
中断优先权寄存器 1
xxxxx000b
4
ENPWM1
读/写
0
3
ENPWM0
读/写
0
2
0
1
PWMCKS[2:0]
读/写
0
0
0
本
PWMCON (D2h)PWM 控制寄存器 (读/写)
位编号
7
6
5
ENPWM
PWMIF
ENPWM2
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位符号
ENPWM
6
PWMIF
5
ENPWM2
4
ENPWM1
3
ENPWM0
2~0
PWMCKS[2:0]
说明
PWM 模块开关控制(Enable PWM)
1:允许 Clock 进到 PWM 单元, 开始 PWM 的工作
0:关闭 PWM 单元的工作, 主要是为了省电
PWM 中断请求标志位(PWM Interrupt Flag)
当 PWM 计数器溢出时(也就是说: 数到超过 PWMPRD 时), 此位会
被硬件自动设定成 1。如果此时 IE[5] (EPWM) 也是被设定成 1, PWM
的中断产生。在 PWM 中断发生后, 硬件并不会自动清除此位, 此位必
须由使用者的软件负责清除。
PWM2 功能开关
1:PWM2 输出到 IO
0:PWM2 不输出到 IO
PWM1 功能开关
1:PWM1 输出到 IO
0:PWM1 不输出到 IO
PWM0 功能开关
1:PWM0 输出到 IO
0:PWM0 不输出到 IO
PWM 时钟源选择(PWM ClocK source Selector)
000:fSYS
001:fSYS/2
010:fSYS/4
011:fSYS/8
100:fSYS/32
101:fSYS/64
110:fSYS/128
111:fSYS/256
非
正
式
版
位编号
7
PWMPRD[7:0] 是三路 PWM 共享的周期设置控制器。 每当 PWM 计数器数到 PWMPRD[7:0]预先设置的值时,
下一个 PWM CLK 到来时该计数器会跳数到 00h, 也就是说 PWM0/1/2 的周期都是 (PWMPRD[7:0] + 1 )*PWM 时
钟。
Page 46 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
PWM 计数器的计数时间可由 PWMCFG[2:0] 所控制, 分别可以选择不同个数的系统时钟去计数一个单位(prescalar selector),即选择 PWM 计数器时钟源被系统时钟 fSYS 分频的分频比。PWM0/1/2 还可以被 PWMCFG 中的
INV0~INV2 来选择 PWM 输出是否反向。
PWMPRD (F9h) PWM 周期设置寄存器(读/写)
位编号
7
6
5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位编号
7~0
位符号
PWMPRD[7:0]
2
PWMOS2
1
PWMOS1
0
PWMOS0
7~6
-
4
INV1
读/写
0
Page 47 of 72
读/写
0
2
PWMOS2
读/写
0
1
PWMOS1
读/写
0
0
PWMOS0
读/写
0
2
1
0
读/写
0
读/写
0
读/写
0
说明
PWM2 输出反向控制
1 :把 PWM2 的输出反向
0 :PWM2 的输出不反向
PWM1 输出反向控制
1 :把 PWM1 的输出反向
0 :PWM1 的输出不反向
PWM0 输出反向控制
1 :把 PWM0 的输出反向
0 :PWM0 的输出不反向
PWM2 输出脚选择
0:PWM2 输出至 P2.3
1:PWM2 输出至 P1.4
PWM2 输出脚选择
0:PWM1 输出至 P2.7
1:PWM1 输出至 P1.3
PWM0 输出脚选择
0:PWM0 输出至 P2.6
1:PWM0 输出至 P1.2
保留
PWMDTY0 (D5h) PWM0 占空比设置寄存器(读/写)
位编号
7
6
5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位编号
7~0
3
INV0
读/写
0
本
INV0
读/写
0
版
3
读/写
0
式
INV1
0
正
4
1
非
位符号
INV2
2
说明
PWM0 和 PWM1 共用的周期设置;
此数值代表 PWM0、PWM1 和 PWM2 输出波形的 (周期 – 1); 也就是说
PWM 输出的周期值为(PWMPRD[7:0] + 1 )* PWM 时钟;
PWMCFG (FCh) PWM 设置寄存器(读/写)
位编号
7
6
5
INV2
符号
读/写
读/写
x
x
0
上电初始值
位编号
5
4
3
PWMPRD[7:0]
读/写
读/写
0
0
位符号
PDT0 [7:0]
4
3
PDT0[7:0]
读/写
读/写
0
0
说明
PWM0 占空比长度设置;
PWM0 的高电平宽度 是 (PDT0[7:0])个 PWM 时钟
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
PWMDTY1 (D6h) PWM1 占空比设置寄存器(读/写)
位编号
7
6
5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位符号
PDT1[7:0]
2
1
0
读/写
0
读/写
0
读/写
0
2
1
0
读/写
0
读/写
0
读/写
0
说明
PWM1 占空比长度设置;
PWM1 的高电平宽度 是 (PDT1[7:0])个 PWM 时钟
PWMDTY2 (D7h) PWM2 占空比设置寄存器(读/写)
位编号
7
6
5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位编号
7~0
3
PDT1[7:0]
读/写
读/写
0
0
位符号
PDT2[7:0]
4
3
PDT2[7:0]
读/写
读/写
0
0
说明
PWM2 占空比长度设置;
PWM2 的高电平宽度 是 (PDT2[7:0])个 PWM 时钟
位符号
PDTA2[1:0]
3~2
PDTA1[1:0]
1~0
PDTA0[1:0]
7~6
-
2
PDTA1[1:0]
读/写
读/写
0
0
1
0
PDTA0[1:0]
读/写
读/写
0
0
说明
PWM2 duty 微调控制,以四个 PWM2 周期为一个循环:
00:四个 PWM2 输出的 duty 均为 PDT2 设定值;(D、D、D、D)
01:第一个 PWM2 输出的 duty 为 PDT2 设定值加 1,其余三个 PWM2
输出的 duty 均为 PDT2 设定值;(D+1、D、D、D)
10:第一和第二个 PWM2 输出的 duty 为 PDT2 设定值加 1,其余二个
PWM2 输出的 duty 均为 PDT2 设定值;(D+1、D+1、D、D)
11:第一、第二和第三个 PWM2 输出的 duty 为 PDT2 设定值加 1,第四
个 PWM2 输出的 Duty 为 PDT2 设定值; (D+1、D+1、D+1、D)
PWM1 duty 微调控制,以四个 PWM1 周期为一个循环:
00:四个 PWM1 输出的 duty 均为 PDT1 设定值;(D、D、D、D)
01:第一个 PWM1 输出的 duty 为 PDT1 设定值加 1,其余三个 PWM1
输出的 duty 均为 PDT1 设定值;(D+1、D、D、D)
10:第一和第二个 PW1M 输出的 duty 为 PDT1 设定值加 1,其余二个
PWM1 输出的 duty 均为 PDT1 设定值;(D+1、D+1、D、D)
11:第一、第二和第三个 PWM1 输出的 duty 为 PDT1 设定值加 1,第四
个 PWM1 输出的 Duty 为 PDT1 设定值; (D+1、D+1、D+1、D)
PWM0 duty 微调控制,以四个 PWM0 周期为一个循环:
00:四个 PWM0 输出的 duty 均为 PDT0 设定值;(D、D、D、D)
01:第一个 PWM0 输出的 duty 为 PDT0 设定值加 1,其余三个 PWM0
输出的 duty 均为 PDT0 设定值;(D+1、D、D、D)
10:第一和第二个 PWM0 输出的 duty 为 PDT0 设定值加 1,其余二个
PWM0 输出的 duty 均为 PDT0 设定值;(D+1、D+1、D、D)
11:第一、第二和第三个 PWM0 输出的 duty 为 PDT0 设定值加 1,第四
个 PWM0 输出的 Duty 为 PDT0 设定值; (D+1、D+1、D+1、D)
保留
非
正
位编号
5~4
3
式
版
PWMDTYA (D4h) PWM 占空比调节寄存器(读/写)
位编号
7
6
5
4
PDTA2[1:0]
符号
读/写
读/写
读/写
x
x
0
0
上电初始值
本
位编号
7~0
4
Page 48 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
IE1 (A9h) 中断使能寄存器(读/写)
位编号
7
6
符号
读/写
x
x
上电初始值
位编号
1
5
x
位符号
EPWM
3
x
2
EBTM
读/写
0
1
EPWM
读/写
0
0
ESPI
读/写
0
2
IPBTM
读/写
0
1
IPPWM
读/写
0
0
IPSPI
读/写
0
说明
PWM 中断使能控制
0:关闭 PWM 中断
1:允许 PWM 计数器溢出时产生中断
IP1 (B9h) 中断优先权寄存器 1(读/写)
位编号
7
6
符号
读/写
x
x
上电初始值
位符号
IPPWM
5
x
4
x
3
x
说明
PWM 中断优先权选择
0:设定 PWM 的中断优先级是 “低”
1:设定 PWM 的中断优先级是 “高”
本
位编号
1
4
x
非
12.3 PWM 波形及用法
正
式
版
注意事项:
1. ENPWM 位能控制 PWM 模块是否工作。
2. ENPWMn 位能选择 PWMn 口作为 GPIO 还是作为 PWMn 输出。
3. EPWM(IE1.1)位能控制 PWM 是否被允许产生中断。
4. 如果 ENPWM 置 1,PWM 模块被打开,但 ENPWMn=0, PWM 输出被关闭并作为 GPIO 口。此时 PWM
模块可以作为一个 8 位 Timer 使用,此时 EPWM(IE1.1)被置 1,PWM 仍然会产生中断。
5. 三个 PWM 共用周期,溢出时产生 PWM 中断是同一中断向量。
各 SFR 参数改变对 PWM 波形影响如下所述:
① 占空比变化特性
初始值:PWMDTYn=n
(PWMPRD=t)
执行指令:
指令1
n
n
n
指令1:设置PWMDTYn=m
指令2:设置PWMDTYn=k
指令2
m
m
m
t+1
t+1
t+1
k
k
k
PWM波形:
PWM周期:
t+1
t+1
t+1
t+1
t+1
t+1
占空比变化特性图
当 PWMn 输出波形时,若需改变占空比,可通过改变高电平设置寄存器(PWMDTYn)的值实现。但需要注意,
更改 PWMDTYn 的值,占空比不会立即改变,而是等待本周期结束,在下个周期发生改变。相关波形输出如上图
所示。
② 周期变化特性
Page 49 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
初始值:PWMDTYn=h
(PWMPRD=n)
执行指令:
h
h
h
指令1:设置PWMPRD=m
指令2:设置PWMPRD=k
指令2
指令1
h
h
h
h
h
h
k+1
k+1
k+1
PWM波形:
PWM周期:
n+1
n+1
n+1
m+1
m+1
m+1
周期变化特性图
当 PWMn 输出波形时,若需改变周期,可通过改变周期设置寄存器 PWMPRD 的值实现。同改变占空比一样,
更改 PWMPRD 的值,周期不会立即改变,而是等待本周期结束,在下个周期改变,参考上图所示。
③ 周期和占空比的关系
1
2
...
3
周期
PWM时钟单元
本
周期=PWMPRD+1
Low
版
PWMDTYn=00H
High
式
PWMDTYn=01H
High
非
正
PWMDTYn=02H
PWMDTYn=PWMPRD
PWMDTYn PWMPRD+1
Low
Low
High
Low
High
周期与占空比关系图
周期和占空比的关系如上图所示。该结果的前提是 PWMn(n=0,1) 输出反向控制(INVn)初始为 0,若需得到
相反结果,可置 PWMCFG.5(INV2)、PWMCFG.4(INV1)和 PWMCFG.3(INV0)为 1。
④ 8+2 位 PWM 微调控制
通过配置 PWMDTYA 可控制三路 PWM 输出 duty 的微调,微调控制以四个 PWM 周期为一个循环。
Page 50 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
PDATn[1:0]= 00
波形:
4/10
4/10
4/10
4/10
4/10
4/10
4/10
4/10
4/10
5/10
4/10
4/10
4/10
5/10
5/10
4/10
5/10
PDATn[1:0]= 01
波形:
5/10
PDATn[1:0]= 10
波形:
5/10
PDATn[1:0]= 11
波形:
5/10
t+1 = 10
微调周期0
微调周期1
微调周期2
微调周期3
微调周期0
本
PWM微调循环周期:4*(t+1) = 40
非
正
式
版
8+2 位 PWM 微调控制示意图
Page 51 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
13 GP I/O
SC93F5003 提供了最多 18 个可控制的双向 GPIO 端口,输入输出控制寄存器用来控制各端口的输入输出状
态,当端口作为输入时,每个 I/O 端口带有由 PxPHy 控制的内部上拉电阻。此 18 个 IO 同其他功能复用, 其中
P2.0~P2.4 可以通过设置输出二分之一 VDD 的电压,可用来作为 LCD 显示的 COM 驱动。
注意:未使用及封装未引出的 IO 口均要设置为强推挽输出模式。
13.1 GPIO 结构图
强推挽输出模式
强推挽输出模式下,能够提供持续的大电流驱动:大于 22mA 的输出高,大于 70mA 的输出低。
强推挽输出模式的端口结构示意图如下:
VDD
P
本
PORT
PxCy = 1
N
GND
正
式
版
output register
非
强推挽输出模式
带上拉的输入模式
带上拉的输入模式下,输入口上恒定接一个上拉电阻,仅当输入口上电平被拉低时,才会检测到低电平信号。
带上拉的输入模式的端口结构示意图如下:
VDD
上拉电阻
PxCy = 0
PxHy = 1
Input
PORT
带上拉的输入模式
高阻输入模式(Input only)
高阻输入模式的端口结构示意图如下所示:
Page 52 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
Input
PxCy = 0
PxHy = 0
PORT
高阻输入模式
4
x
3
x
2
x
1
P0C1
读/写
0
0
P0C0
读/写
0
P0PH (9Bh) P0 口上拉电阻控制寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
4
x
3
x
2
x
1
P0H1
读/写
0
0
P0H0
读/写
0
4
P1C4
读/写
0
3
P1C3
读/写
0
2
P1C2
读/写
0
1
P1C1
读/写
0
0
P1C0
读/写
0
P1PH (92h) P1 口上拉电阻控制寄存器(读/写)
位编号
7
6
5
P1H7
P1H6
P1H5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
4
P1H4
读/写
0
3
P1H3
读/写
0
2
P1H2
读/写
0
1
P1H1
读/写
0
0
P1H0
读/写
0
P2CON (A1h) P2 口输入/输出控制寄存器(读/写)
位编号
7
6
5
P2C7
P2C6
P2C5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
4
P2C4
读/写
0
3
P2C3
读/写
0
2
P2C2
读/写
0
1
P2C1
读/写
0
0
P2C0
读/写
0
P2PH (A2h) P2 口上拉电阻控制寄存器(读/写)
位编号
7
6
5
P2H7
P2H6
P2H5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
4
P2H4
读/写
0
3
P2H3
读/写
0
2
P2H2
读/写
0
1
P2H1
读/写
0
0
P2H0
读/写
0
非
正
式
P1CON (91h) P1 口输入/输出控制寄存器(读/写)
位编号
7
6
5
P1C7
P1C6
P1C5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位编号
7~0
位符号
PxCy
(x=0~2, y=0~7)
7~0
PxHy
(x=0~2, y=0~7)
Page 53 of 72
本
P0CON (9Ah) P0 口输入/输出控制寄存器(读/写)
位编号
7
6
5
符号
读/写
上电初始值
x
x
x
版
13.2 I/O 端口相关寄存器
说明
Px 口输入输出控制:
0:Pxy 为输入模式(上电初始值)
1:Pxy 为强推挽输出模式
Px 口上拉电阻设置,仅在 PxCy=0 时有效:
0:Pxy 为高阻输入模式(上电初始值),上拉电阻关闭;
1:Pxy 上拉电阻打开
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
P0 (80h) P0 口数据寄存器(读/写)
位编号
7
6
符号
读/写
x
x
上电初始值
5
x
4
x
3
x
2
x
1
P0.1
读/写
0
0
P0.0
读/写
0
P1 (90h) P1 口数据寄存器(读/写)
位编号
7
6
P1.7
P1.6
符号
读/写
读/写
读/写
0
0
上电初始值
5
P1.5
读/写
0
4
P1.4
读/写
0
3
P1.3
读/写
0
2
P1.2
读/写
0
1
P1.1
读/写
0
0
P1.0
读/写
0
P2 (A0h) P2 口数据寄存器(读/写)
位编号
7
6
P2.7
P2.6
符号
读/写
读/写
读/写
0
0
上电初始值
5
P2.5
读/写
0
4
P2.4
读/写
0
3
P2.3
读/写
0
2
P2.2
读/写
0
1
P2.1
读/写
0
0
P2.0
读/写
0
本
14 软件 LCD 驱动
版
SC93F5003 的 P2.0~P2.4 可作为软件 LCD 的 COM 口,这些 IO 除了正常 IO 功能外,还可输出 1/2VDD 电
压。用户可根据使用情况,选择相应 IO 作为 LCD 驱动的 COM。
LCD 驱动相关 SFR 寄存器说明如下:
非
正
P2VO(A3H) P2 口 LCD 电压输出寄存器(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
式
14.1 软件 LCD 驱动相关寄存器
位编号
3~0
位符号
PxyVO
(x=2, y=0~4)
OTCON(8FH)输出控制寄存器(读/写)
位编号
7
6
符号
读/写
x
x
上电初始值
位编号
3~2
Page 54 of 72
位符号
VOIRS[1:0]
4
P24VO
读/写
0
3
P23VO
读/写
0
2
P22VO
读/写
0
1
P21VO
读/写
0
0
P20VO
读/写
0
说明
打开 Pxy 口 LCD 电压输出
0:关闭 Pxy 口的 LCD 电压输出功能
1:打开 Pxy 口的 LCD 电压输出功能, Pxy 输出电压为 1/2VDD
5
x
4
x
3
2
VOIRS[1:0]
读/写
0
读/写
0
1
0
-
-
x
x
说明
LCD 电压输出口分压电阻选择(根据 LCD 屏大小选择适合的驱动)
00:关闭内部分压电阻(省电)
01:设定内部分压电阻为 25k
10:设定内部分压电阻为 50k
11:设定内部分压电阻为 100k
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
15 UART
15.1 UART 相关寄存器
SCON (98h) 串口控制寄存器(读/写)
位编号
7
6
SM0
SM1
符号
读/写
读/写
读/写
0
0
上电初始值
REN
3
2
1
0
TB8
RB8
TI
RI
SBUF (99h) 串口数据缓存寄存器(读/写)
位编号
7
6
符号
读/写
读/写
读/写
0
0
上电初始值
位编号
7~0
位符号
SBUF[7:0]
说明
串行通信模式控制位
00:模式 0,8 位半双工同步通信模式,在 RX 引脚上收发串行数据。
TX 引脚用作发送移位时钟。每帧收发 8 位,低位先接收或发送;
01:模式 1,10 位全双工异步通信,由 1 个起始位,8 个数据位和 1 个
停止位组成,通信波特率可变;
10:模式 2,11 位全双工异步通信,由 1 个起始位,8 个数据位,一个
可编程的第 9 位和 1 个停止位组成;
11:模式 3,11 位全双工异步通信,由 1 个起始位,8 个数据位,一个
可编程的第 9 位和 1 个停止位组成,通信波特率可变。
串行通信模式控制位 2,此控制位只对模式 2,3 有效
0:每收到一个完整的数据帧就置位 RI 产生中断请求;
1:收到一个完整的数据帧时,只有当 RB8=1 时才会置位 RI 产生中断请
求。
接收允许控制位
0:不允许接收数据;
1:允许接收数据。
只对模式 2、3 有效,为发送数据的第 9 位
只对模式 2、3 有效,为接收数据的第 9 位
发送中断标志位
接收中断标志位
5
读/写
0
Page 55 of 72
位符号
SMOD
4
3
SBUF[7:0]
读/写
读/写
0
0
2
1
0
读/写
0
读/写
0
读/写
0
说明
串口数据缓存寄存器
SBUF 包含两个寄存器:一个发送移位寄存器和一个接收锁存器,写入
SBUF 的数据将送至发送移位寄存器,并启动发送流程,读 SBUF 将返
回接收锁存器中的内容。
PCON (87h) 电源控制寄存器(只写、*不可读 *)
位编号
7
6
5
SMOD
符号
读/写
x
x
x
上电初始值
位编号
7
0
RI
读/写
0
本
4
1
TI
读/写
0
版
SM2
2
RB8
读/写
0
式
5
3
TB8
读/写
0
正
位符号
SM0~1
4
REN
读/写
0
非
位编号
7~6
5
SM2
读/写
0
4
x
3
x
2
x
1
STOP
只写
0
0
IDL
只写
0
说明
波特率倍率设置位
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
0:SM0~1 = 00 时,串行端口在系统时钟的 1/12 下运行、SM0~1 = 10
时,串行端口在系统时钟的 1/64 下运行;
1:SM0~1 = 00 时,串行端口在系统时钟的 1/4 下运行、SM0~1 = 10
时,串行端口在系统时钟的 1/32 下运行。
15.2 串口通信的波特率
方式 0 中,波特率可编程为系统时钟的 1/12 或 1/4,由 SMOD(PCON.7)位决定。当 SMOD 为 0 时,串行端口
在系统时钟的 1/12 下运行。当 SMOD 为 1 时,串行端口在系统时钟的 1/4 下运行。
在方式 1 和方式 3 中,波特率可选择来至定时器 1 或定时器 2 的溢出率。
分别置 TCLK(T2CON.4)和 RCLK(T2CON.5)位为 1 来选择定时器 2 作为 TX 和 RX 的波特时钟源(详见定时器
章节)。无论 TCLK 还是 RCLK 为逻辑 1,定时器 2 都为波特率发生器方式。如果 TCLK 和 RCLK 为逻辑 0,定时
器 1 作为 Tx 和 Rx 的波特时钟源。
方式 1 和方式 3 波特率公式如下所示,其中 TH1 是定时器 1 的 8 位自动重载寄存器,SMOD 为 UART 的波特
率二倍频器,[RCAP2H、RCAP2L]是定时器 2 的 16 位重载入寄存器。
用定时器 1 作为波特率发生器,定时器 1 工作在模式 2, fn 为定时器 1 时钟频率:
BaudRate =
2𝑆𝑀𝑂𝐷
fn
×
32
256 − TH1
1
fn
×
32 65536 − [RCAP2H, RCAP2L]
版
BaudRate =
本
用定时器 2 作为波特率发生器,fn 为定时器 2 时钟频率:
正
式
在方式 2 中,波特率固定为系统时钟的 1/32 或 1/64,由 SMOD 位(PCON.7)决定。当 SMOD 位为 0 时,波特
率为系统时钟的 1/64。当 SMOD 位为 1 时,波特率为系统时钟的 1/32。
16 SPI
16.1 信号描述
非
串行外部设备接口(简称 SPI)是一种高速串行通信接口,允许 MCU 与外围设备(包括其它 MCU)进行全双工,
同步串行通信。
主输出从输入(MOSI):
该路信号连接主设备和一个从设备。数据通过 MOSI 从主设备串行传送到从设备,主设备输出,从设备输入。
主输入从输出(MISO):
该路信号连接从设备和主设备。数据通过 MISO 从从设备串行传送到主设备,从设备输出,主设备输入。当
SPI 配置为从设备并未被选中(SS 引脚为高电平),从设备的 MISO 引脚处于高阻状态。
SPI 串行时钟(SCK):
SCK 信号用作控制 MOSI 和 MISO 线上输入输出数据的同步移动。每 8 时钟周期线上传送一个字节。如果从
设备未被选中(SS 引脚为高电平),SCK 信号被此从设备忽略。
从设备选择引脚(SS):
每个从属外围设备由一个从选择引脚(SS 引脚)选择,当引脚信号为低电平时,表明该从设备被选中。主设备
可以通过软件控制连接于从设备 SS 引脚的端口电平选择每个从设备,很明显,只有一个主设备可以驱动通讯网
络。为了防止 MISO 总线冲突同一时间只允许一个从设备与主设备通讯。在主设备模式中,SS 引脚状态关联 SPI
状态寄存器 SPSTA 中 MODF 标志位以防止多个主设备驱动 MOSI 和 SCK。
下列情况,SS 引脚可以作为普通端口或其它功能使用:
① 设备作为主设备,SPI 控制寄存器 SPCON 寄存器的 SSDIS 位置 1。这种配置仅仅存在于通讯网络中只
有一个主设备的情况,因此,SPI 状态寄存器 SPSTA 中 MODF 标志位不会被置 1。
② 设备配置为从设备,SPI 控制寄存器 SPCON 的 CPHA 位和 SSDIS 位置 1。这种配置情况存在于只有一
Page 56 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
个主设备一个从设备的通讯网络中,因此,设备总是被选中的,主设备也不需要控制从设备的 SS 引脚
选择其作为通讯目标。
注意:当 CPHA = ‘0’时,SS 引脚电平被拉低表示启动发送。
16.2 工作模式
SPI 可配置为主模式或从属模式中的一种。SPI 模块的配置和初始化通过设置 SPCON 寄存器(串行外围设备
控制寄存器)和 SPSTA(串行外围设备状态寄存器)来完成。配置完成后,通过设置 SPCON,SPSTA,SPDAT(串
行外围设备数据寄存器)来完成数据传送。
在 SPI 通讯期间,数据同步地被串行的移进移出。串行时钟线(SCK)使两条串行数据线(MOSI 和 MISO)上数
据的移动和采样保持同步。从设备选择线(SS)可以独立地选择 SPI 从属设备;如果从设备没有被选中,则不能参
与 SPI 总线上的活动。
当 SPI 主设备通过 MOSI 线传送数据到从设备时,从设备通过 MISO 线发送数据到主设备作为响应,这就实
现了在同一时钟下数据发送和接收的同步全双工传输。发送移位寄存器和接收移位寄存器使用相同的特殊功能器
地址,对 SPI 数据寄存器 SPDAT 进行写操作将写入发送移位寄存器,对 SPDAT 寄存器进行读操作将获得接收
移位寄存器的数据。
16.2.1 主模式
本
模式启动:
SPI 主设备控制 SPI 总线上所有数据传送的启动。当 SPCON 寄存器中的 MSTR 位置 1 时,SPI 在主模式下
运行,只有一个主设备可以启动传送。
正
式
版
发送:
在 SPI 主模式下,写一个字节数据到 SPI 数据寄存器 SPDAT,数据将会写入发送移位缓冲器。如果发送移
位寄存器已经存在一个数据,那么主 SPI 产生一个 WCOL 信号以表明写入太快。但是在发送移位寄存器中的数据
不会受到影响,发送也不会中断。另外如果发送移位寄存器为空,那么主设备立即按照 SCK 上的 SPI 时钟频率串
行地移出发送移位寄存器中的数据到 MOSI 线上。当传送完毕,SPSTA 寄存器中的 SPIF 位被置 1。如果 SPI 中
断被允许,当 SPIF 位置 1 时,也会产生一个中断。
非
接收:
当主设备通过 MOSI 线传送数据给从设备时,相对应的从设备同时也通过 MISO 线将其发送移位寄存器的内
容传送给主设备的接收移位寄存器,实现全双工操作。因此,SPIF 标志位置 1 即表示传送完成也表示接收数据完
毕。从设备接收的数据按照 MSB 或 LSB 优先的传送方向存入主设备的接收移位寄存器。当一个字节的数据完全
被移入接收寄存器时, 处理器可以通过读 SPDAT 寄存器获得该数据。
16.2.2 从模式
模式启动:
当 SPCON 寄存器中的 MSTR 位清 0,SPI 在从模式下运行。在数据传送之前,从设备的 SS 引脚必须被置
低,而且必须保持低电平直到一个字节数据传送完毕。
发送与接收:
从属模式下,按照主设备控制的 SCK 信号,数据通过 MOSI 引脚移入,MISO 引脚移出。一个位计数器记录
SCK 的边沿数,当接收移位寄存器移入 8 位数据(一个字节)同时发送移位寄存器移出 8 位数据(一个字节),SPIF
标志位被置 1。数据可以通过读取 SPDAT 寄存器获得。如果 SPI 中断被允许,当 SPIF 置 1 时,也会产生一个中
断。此时接收移位寄存器保持原有数据并且 SPIF 位置 1,这样 SPI 从设备将不会接收任何数据直到 SPIF 清 0。
SPI 从设备必须在主设备开始一次新的数据传送之前将要传送的数据写入发送移位寄存器。如果在开始发送之前
未写入数据,从设备将传送“0x00”字节给主设备。如果写 SPDAT 操作发生在传送过程中,那么 SPI 从设备的
WCOL 标志位置 1,即如果传送移位寄存器已经含有数据,SPI 从设备的 WCOL 位置 1,表示写 SPDAT 冲突。
但是移位寄存器的数据不受影响,传送也不会被中断。
16.3 出错检测
SPSTA 寄存器中的标志位表示在 SPI 通讯中的出错情况。
16.3.1 模式故障(MODF)
Page 57 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
SPI 主模式下的模式故障出错表明 SS 引脚上的电平状态与实际的设备模式不一致。SPSTA 寄存器中 MODF
位置 1 后,表明系统控制存在多主设备冲突的问题。这种情况下,SPI 系统受到如下影响:
① 产生 SPI 接收/错误 CPU 中断请求;
② SPSTA 寄存器的 SPEN 位清 0,SPI 被禁止;
③ SPCON 寄存器的 MSTR 位清 0。
当 SPCON 寄存器的 SS 引脚禁止位(SSDIS)清 0,SS 引脚信号为低时,MODF 标志位置 1。然而,对于只
有一个主设备的系统来说,主设备的 SS 引脚被拉低,那绝不是另外一个主设备试图驱动网络。这种情况下,为
防止 MODF 置 1,可使 SPCON 寄存器中的 SSDIS 位置 1,SS 引脚作为普通 I/O 口或是其它功能引脚。重新启
动串行通信时,用户必须将 MODF 位软件清 0,将 SPCON 寄存器中的 MSTR 位和 SPSTA 寄存器的 SPEN 位置
1,重新启动主模式。
16.3.2 写冲突(WCOL)
在发送数据序列期间写入 SPDAT 寄存器会引起的写冲突,SPSTA 寄存器中的 WCOL 位置 1。WCOL 位置 1
不会引起中断,发送也不会中止。WCOL 位需由软件清 0。
16.4 SPI 操作相关寄存器
符号
5
4
3
2
1
0
CPHA
读/写
SPR2
读/写
SPR1
读/写
SPR0
读/写
0
0
0
0
SSDIS
读/写
MSTR
读/写
CPOL
读/写
上电初始值
0
0
0
0
SSDIS
5
MSTR
4
CPOL
3
CPHA
2-0
SPR[2:0]
SPSTA (9Eh) SPI 状态寄存器(读/写)
7
6
位编号
Page 58 of 72
SPI 使能控制
0:关闭 SPI
1:打开 SPI
SSDIS
0:此时 MODF 置 1 将产生 SPI 接收器/出错 CPU 中断请求
1:无 MODF 中断请求产生
SPI 主从选择
0: SPI 为从设备
1: SPI 为主设备
时钟极性控制位
0:在 Idle 状态下 SCK 处于低电平
1:在 Idle 状态下 SCK 处于高电平
时钟相位控制位
0:SCK 周期的第一沿采集数据
1:SCK 周期的第二沿采集数据
SPI 时钟速率选择位
000:fSYS /4
001:fSYS /8
010:fSYS /16
011:fSYS /32
100:fSYS /64
101:fSYS /128
110:fSYS /256
101:fSYS /512
式
6
说明
正
位符号
SPEN
非
位编号
7
版
读/写
SPEN
读/写
本
SPCON (9Dh) SPI 控制寄存器(读/写)
7
6
位编号
5
4
3
2
1
0
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
符号
SPIF
WCOL
-
MODF
TXE
DORD
-
TBIE
读/写
读/写
读/写
-
读/写
读/写
读/写
-
读/写
上电初始值
0
0
x
0
0
0
x
0
4
MODF
3
TXE
2
DORD
0
TBIE
5,1
-
本
WCOL
SPI 数据传送标志位
0:由软件清 0
1:表明已完成数据传输,由硬件置 1
写入冲突标志位
0:由软件清 0,表明已处理写入冲突
1:由硬件置 1,表明检测到一个冲突
模式故障位
0:由软件清 0
1:表明 SS 引脚电平与 SPI 模式不一致,由硬件置 1
发送缓存器空标志
0:发送缓存器不空
1:发送缓存器空,必须由软件清零
传送方向选择位
0:MSB 优先发送
1:LSB 优先发送
发送缓存器中断允许控制位
0:不允许发送中断
1:允许发送中断,当 ESPI=1 时,TBIE=1 将产生 SPI 中断
保留
版
6
说明
SPDAT (9Fh) SPI 数据寄存器(读/写)
7
6
位编号
5
非
符号
式
位符号
SPIF
正
位编号
7
4
3
2
1
0
SPD[7:0]
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
上电初始值
0
0
0
0
0
0
0
0
位编号
7~0
位符号
SPD[7:0]
说明
SPI 数据缓存寄存器
写入 SPDAT 的数据被放置到发送移位寄存器中。
读取 SPDAT 时将获得接收移位寄存器的数据。
17 模数转换 ADC
SC93F5003 内建一个 12-bit 10 通道的高精度逐次逼近型 ADC ,此 ADC 和 IO 口的其它功能复用。ADC 内
部还可选择到 1/4 VDD,配合内部 2.4V 参考电压用于测量 VDD 电压。
ADC 的参考电压可以有 2 种选择:
① 是 VDD 管脚(即直接是内部的 VDD);
② 是内部 Regulator 输出的参考电压精准的 2.4V;
17.1 ADC 相关寄存器
ADCCON (ADh) ADC 控制寄存器(读/写)
位编号
7
6
5
ADCEN
ADCS
LOWSP
符号
读/写
读/写
读/写
读/写
Page 59 of 72
4
EOC/ADCIF
读/写
3
读/写
2
1
ADCIS[3:0]
读/写
读/写
0
读/写
V0.2
http://www.socmcu.com
SC93F5003
SinOne
0
0
位编号
7
位符号
ADCEN
6
ADCS
5
LOWSP
0
0
0
0
0
n
说明
启动 ADC 的电源
0:关闭 ADC 模块电源
1:开启 ADC 模块电源
ADC 开始触发控制(ADC Start)
对此 bit 写 “1”, 开始做一次 ADC 的转换,即该位只是 ADC 转换的触发
信号。此位只可写入 1 有效。
ADC 采样时钟频率选择(ADC Sampling Clocks Selector)
0: 设定 ADC 所使用的 clock 频率为 2MHz
1: 设定 ADC 所使用的 clock 频率为 333kHz
EOC/ADCIF
3~0
ADCIS[3:0]
非
正
式
版
4
LOWSP 控制的是 ADC 的采样时钟频率,ADC 的转换时钟频率固定为
2MHz,且不受 LOWSP 位的影响
ADC 需经历 6 个 ADC 采样时钟加上 14 个 ADC 转换时钟的时间才能完
成从采样到转换的整个过程,因此在实际使用中,ADC 从采样到完成转
换的总时间计算如下:
LOWSP=0:TADC1=6*(1/2MHz)+14*(1/2 MHz)=10μs;
LOWSP=1:TADC2=6*(1/333kHz)+14*(1/2 MHz)=25μs。
转换完成/ADC 中断请求标志(End Of Conversion / ADC Interrupt Flag)
0:转换尚未完成
1:ADC 转换完成。需用户软件清除
ADC 转换完成标志 EOC:当使用者设定 ADCS 开始转换后, 此位会被
硬件自动清除为 0; 当转换完成后, 此位会被硬件自动置为 1 ;
ADC 中断请求标志 ADCIF:
此位同时也当作是 ADC 中断的中断请求标志,如果用户使能 ADC 中
断, 那么在 ADC 的 中断 发生后, 用户必须用软件清除此位。
ADC 输入通道选择(ADC Input Selector)
0000:选用 AIN0 为 ADC 的输入
0001:选用 AIN1 为 ADC 的输入
0010:选用 AIN2 为 ADC 的输入
0011:选用 AIN3 为 ADC 的输入
0100:选用 AIN4 为 ADC 的输入
0101:选用 AIN5 为 ADC 的输入
0110:选用 AIN6 为 ADC 的输入
0111: 选用 AIN7 为 ADC 的输入
1000: 当 PGA 关闭时,选用 AIN8 为 ADC 的输入;当 PGA 使能时,选
用 PGA 输出为 ADC 的输入
1001~1110: 保留
1111: ADC 输入为 1/4 VDD, 可用于测量电源电压
本
上电初始值
超高速 32 位总线 1T 8051 内核 Flash MCU
ADCCFG0 (ABh) ADC 设置寄存器 0
位编号
7
6
EAIN7
EAIN6
符号
读/写
读/写
读/写
0
0
上电初始值
5
EAIN5
读/写
0
4
EAIN4
读/写
0
3
EAIN3
读/写
0
2
EAIN2
读/写
0
1
EAIN1
读/写
0
0
EAIN0
读/写
0
ADCCFG1 (ACh) ADC 设置寄存器 1
位编号
7
6
符号
5
-
4
-
3
-
2
-
1
-
0
EAIN8
Page 60 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
位编号
0
x
位符号
EAINx
(x=0~8)
x
x
x
读/写
0
ADC 端口设置寄存器
0:设定 AINx 为 IO 口
1:设定 AINx 为 ADC 输入,并自动将上拉电阻移除。
位符号
VREFS
4
x
3
IAPS
只读
n
2
x
1
x
0
x
说明
参考电压选择(初始值从 Code Option 调入,用户可修改设置)
0:设定 ADC 的 VREF 为 VDD
1:设定 ADC 的 VREF 为 内部准确的 2.4V
ADCVL (AEh) ADC 转换数值寄存器(低 8 位)(读/写)
位编号
7
6
5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
4
3
ADCV[7:0]
读/写
读/写
0
0
4
x
3
位符号
ADCV[11:8]
ADCV[7:0]
IE (A8h) 中断使能寄存器(读/写)
位编号
7
6
2
1
0
读/写
0
读/写
0
读/写
0
2
1
ADCV[11:8]
读/写
读/写
0
0
读/写
0
非
正
式
ADCVH (AFh)ADC 转换数值寄存器(高 4 位)(读/写)
位编号
7
6
5
符号
读/写
x
x
x
上电初始值
位编号
11~8
7~0
x
说明
OP_CTM1 (C2H@FFh) Customer Option 寄存器 1
位编号
7
6
5
VREFS
XTLHF
符号
读/写
读/写
读/写
n
n
x
上电初始值
位编号
7
x
本
x
版
读/写
上电初始值
超高速 32 位总线 1T 8051 内核 Flash MCU
0
读/写
0
说明
ADC 转换值的高 4 位数值
ADC 转换值的低 8 位数值
5
4
3
2
1
0
符号
EA
EADC
ET2
EUART
ET1
EINT1
ET0
EINT0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
上电初始值
0
0
0
0
0
0
0
0
位编号
6
位符号
EADC
说明
ADC 中断使能控制
0: 不允许 EOC/ADCIF 产生中断
1: 允许 EOC/ADCIF 产生 中断
IP (B8h) 中断优先权寄存器(读/写)
7
6
位编号
5
4
3
2
1
0
符号
-
IPADC
IPT2
IPUART
IPT1
IPINT1
IPT0
IPINT0
读/写
-
读/写
读/写
读/写
读/写
读/写
读/写
读/写
上电初始值
x
0
0
0
0
0
0
0
Page 61 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
位编号
6
超高速 32 位总线 1T 8051 内核 Flash MCU
位符号
IPADC
说明
ADC 中断优先权选择
0:设定 ADC 的中断优先级是 “低”
1:设定 ADC 的中断优先级是 “高”
17.2 ADC 转换步骤
用户实际进行 ADC 转换所需要的操作步骤如下:
① 设定 ADC 输入管脚;(设定 AINx 对应的位为 ADC 输入,通常 ADC 管脚会预先固定)
② 设定 ADC 参考电压 Vref, 设定 ADC 转换所用的频率
③ 开启 ADC 模块电源;
④ 选择 ADC 输入通道;(设置 ADCIS 位,选择 ADC 输入通道)
⑤ 启动 ADCS,转换开始
⑥ 等待 EOC/ADCIF=1,如果 ADC 中断使能,则 ADC 中断会产生,用户需要软件清 0 EOC/ADCIF 标志
⑦ 从 ADCVH、ADCVL 获得 12 位数据,先高位后低位,一次转换完成
⑧ 如不换输入通道,则重复 5~7 的步骤,进行下一次转换
注意事项:在设定 IE[6](EADC)前, 使用者最好用软件先清除 EOC/ADCIF, 并且在 ADC 中断服务程序执行完
时, 也清除该 EOC/ADCIF, 以避免不断的产生 ADC 中断。
本
18 可变增益放大器 PGA
PGACON (BFh) PGA 控制寄存器(读/写)
7
6
位编号
5
符号
ENPGA
PGACOM
读/写
读/写
读/写
上电初始值
0
0
位符号
ENPGA
6
PGACOM
5
PGAGAN
4
PGAIPT
3~0
-
2
1
0
PGAGAN
PGAIPT
-
-
-
-
读/写
读/写
-
-
-
-
0
0
x
x
x
x
正
式
3
说明
PGA 使能控制位
0:关闭 PGA,ADC 通道 8 的输入为 AIN8;
1:使能 PGA,ADC 通道 8 的输入为 PGA 输出,PGA 的输入为
AIN8。
PGA 共模电压控制位
0:共模电压为 0V;
1:共模电压为 1.2V。
PGA 增益控制位
0:PGA 增益为:同相输入 20 倍,反相输入 19 倍;
1:PGA 增益为:同相输入 100 倍,反相输入 99 倍。
PGA 输入控制位
0:同相输入;
1:反相输入。
保留
PGACFG (BEh) PGA 设置寄存器(读/写)
7
6
位编号
符号
PGAOFC
-
读/写
读/写
-
Page 62 of 72
4
非
位编号
7
版
SC93F5003 内建一个可变增益放大器 ,此 PGA 和 IO 口的其它功能复用。
5
4
3
2
1
0
读/写
读/写
PGAOFS[5:0]
读/写
读/写
读/写
读/写
V0.2
http://www.socmcu.com
SC93F5003
SinOne
0
上电初始值
超高速 32 位总线 1T 8051 内核 Flash MCU
x
位编号
7
位符号
PGAOFC
5~0
6
PGAOFS[5:0]
-
0
0
0
0
0
0
说明
PGA 输入端 offset 调整控制位
0:PGA 输入端接到 AIN8
1:PGA 运放的同相和反相输入端短接并接到 AIN8
PGA offset 调节
保留
18.1 PGA 配置方式
PGA 配置方式见下表:
PGAOFC
0
PGAIPT
0
0
1
1
X
PGACOM
X
0
1
X
PGA 模式
同相输入
反相模式共模 0V
反相模式共模 1.2V
校准模式
S1
接 AIN8
接 VSS
接内部 1.2V 基准电压
接 AIN8
本
内部1.2V
AIN8
非
接 AIN8
接 AIN8
S3
闭合
断开
ADC
S3 R2
正
VSS
R1
式
S2
A
版
S1
S2
接 VSS
PGAGAN
PGA 模式配置图
PGA 具体使用方法请参考《赛元 SC93F 系列 MCU PGA 使用说明》。
Page 63 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
19 EEPROM 及 IAP 操作
SC93F5003 的 EEPROM 及 IAP 操作模式如下:
1. 内部最高位地址的 128Byte EEPROM 可以作为数据存储使用;
2. IC 整个 ROM 空间的 8KB 范围及 128Byte EEPROM 内都可进行 In Application Programming(IAP)操作,
主要用作远程程序更新使用。
EEPROM 及 IAP 操作模式选择作为 Code Option 在编程器写入 IC 时选择:
OP_CTM1 (C2H@FFh) Customer Option 寄存器 1, IC 在复位初始化时,就会将此设置调入 SFR
位编号
7
6
5
4
3
2
1
0
VREFS
XTLHF
IAPS
符号
读/写
读/写
读/写
只读
n
n
x
x
n
x
x
x
上电初始值
位编号
位符号
IAPS
说明
EEPROM 及 IAP 空间范围选择
0: Code 区域禁止 IAP 操作,仅 EEPROM 区域可作为数据存储使用
1: EEPROM 和 Code 区域允许 IAP 操作
3
非
IAPKEY(F1H) IAP 保护寄存器(读/写)
位编号
7
6
符号
读/写
读/写
读/写
0
0
上电初始值
位编号
7~0
位符号
IAPKEY[7:0]
-
-
-
5
读/写
0
Page 64 of 72
位符号
IAPADR[7:0]
-
4
3
2
1
0
IAPKEY[7:0]
IAPADR[7:0]
IAPADR[12:8]
IAPADER[7:0]
IAPDAT[7:0]
PAYTIMES
CMD[1:0]
[1:0]
-
-
4
3
IAPKEY[7:0]
读/写
读/写
0
0
Reset 值
00000000b
00000000b
xxx00000b
00000000b
xxxxxxxxb
xxxx0000b
2
1
0
读/写
0
读/写
0
读/写
0
说明
打开 EEPROM / IAP 功能及操作时限设置
写入一个非零值 n,代表:
① 打开 EEPROM / IAP 功能;
② n 个系统时钟后如果接收不到写入命令,则 EEPROM / IAP 功能被
重新关闭。
IAPADL(F2H)IAP 写入地址低 8 位寄存器
位编号
7
6
5
符号
读/写
读/写
读/写
读/写
0
0
0
上电初始值
位编号
7~0
5
版
6
式
7
正
EEPROM / IAP 操作相关寄存器说明:
符号
地址
说明
IAPKEY F1H
IAP 保护寄存器
IAPADL F2H
IAP 地址低位
IAPADH F3H
IAP 地址高位
IAPADE F4H
IAP 扩展地址
IAPDAT F5H
IAP 写入/读出 资料
IAPCTL F6H
IAP 命令
本
19.1 EEPROM / IAP 操作相关寄存器
4
3
IAPADR[7:0]
读/写
读/写
0
0
2
1
0
读/写
0
读/写
0
读/写
0
说明
EEPROM / IAP 写入地址的低 8 位
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
IAPADH(F3H)IAP 写入地址高 5 位寄存器
位编号
7
6
5
符号
读/写
读/写
x
x
0
上电初始值
位符号
IAPADR[12:8]
-
5
读/写
0
IAPCTL(F6H)IAP 控制寄存器
位编号
7
符号
读/写
x
上电初始值
2
1
0
读/写
0
读/写
0
读/写
0
IAP 扩展地址:
0x00:MOVC 和 IAP 烧写都针对 Code 进行
0x01:MOVC 针对 INFO(即 IFB)区域进行。IAP 不能对 IFB 进行烧写
0x02:MOVC 和写入都针对 EEPROM 进行
其它:保留
4
3
IAPDAT[7:0]
读/写
读/写
x
x
式
5
正
读/写
x
2
1
0
读/写
x
读/写
x
读/写
x
说明
EEPROM / IAP 写入的数据
6
x
位编号
3~2
位符号
PAYTIMES[1:0]
1~0
CMD[1:0]
Page 65 of 72
4
3
IAPADER[7:0]
读/写
读/写
0
0
非
位符号
IAPDAT
读/写
0
说明
IAPDAT(F5H)IAP 数据寄存器
位编号
7
6
符号
读/写
读/写
读/写
上电初始值
x
x
位编号
7~0
读/写
0
0
本
位符号
IAPADER[7:0]
读/写
0
2
1
IAPADR[12:8]
读/写
读/写
0
0
说明
EEPROM / IAP 写入地址的高 5 位
保留
IAPADE(F4H)IAP 写入扩展地址寄存器
位编号
7
6
符号
读/写
读/写
读/写
0
0
上电初始值
位编号
7~0
3
版
位编号
4~0
7~6
4
5
x
4
x
3
2
PAYTIMES[1:0]
读/写
读/写
0
0
1
0
CMD[1:0]
读/写
读/写
0
0
说明
EEPROM / IAP 写入操作时,CPU Hold Time 时间长度设定
00:设定 CPU HOLD TIME 4mS@24/12/6/2MHz
01:设定 CPU HOLD TIME 2mS@24/12/6/2MHz
10:设定 CPU HOLD TIME 1mS@24/12/6/2MHz
11:保留
说明:CPU Hold 的是 PC 指针,其他功能模块继续工作;中断标志会被
保存,并在 Hold 结束后进入中断,但多次的中断只能保留最后一次。
选择建议:VDD 在 2.7V~5.5V,可选择 10
VDD 在 2.4V~5.5V,可选择 01 或者 00
EEPROM / IAP 写入操作命令
10 : 写入
其它 : 保留
注意:EEPROM / IAP 写操作的语句后面务必要加上至少 8 个 NOP 指
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
令,以保证 IAP 操作完成后可正常执行后续的指令!
19.2 128BYTE 独立 EEPROM 操作流程
用户在写 EEPROM 操作时必须保证 VDD 电源的稳定,否则会导致 EEPROM 写入失败。因此写 EEPROM
操作时要求用户在程序中应加入以下处理:
1. 写 EEPROM 操作前,将 ADC 输入设为 1/4 VDD,测量 VDD 电压;
2. 当检测到 VDD 电压低于下表的 VDD 电压门限值时,禁止写 EEPROM 操作。
工作系统
LVR 门限
VDD 电压门限值
ADC 检测 1/4VDD 电压的门限值
5V
3.7V
4.5V
4.5V/4 = 1.2V
3.3V
2.3V
3.0V
3.0V/4 = 0.8V
具体操作流程请参考《赛元 SC93F 系列 MCU EEPROM 操作应用说明》。
19.3 8KB 范围 IAP 应用说明
非
正
式
版
本
8KB 范围内的操作有一定的风险,需要用户在软件中做相应的安全处理措施,如果操作不当可能会造成用户
程序被改写!除非用户必需此功能(比如用于远程程序更新等),不建议用户使用。
Page 66 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
20 电气特性
20.1 极限参数
符号
VDD/VSS
Voltage ON any
Pin
TA
TSTG
参数
直流供电电压
任一管脚输入/输出电压
最小值
-0.3
-0.3
最大值
5.5
VDD+0.3
单位
V
V
工作环境温度
储存温度
-40
-55
85
125
℃
℃
20.2 推荐工作条件
符号
VDD
VDD
TA
参数
工作电压
工作电压
工作环境温度
最小值
3.7
2.4
-40
最大值
5.5
5.5
85
系统时钟频率
大于 16MHz
小于等于 16MHz
UNIT
V
V
℃
-
典型值
最大值
单位
-
13
9
7
0.7
18
12
9
1.0
mA
mA
mA
μA
-
7.5
10.5
mA
5
1
10
3
μA
μA
0.7VDD
-
V
-0.3
0.8VDD
-0.2
-
VDD+0.
3
0.3VDD
VDD
0.2VDD
版
最小值
非
正
式
(VDD = 5V, T A = +25℃, 除非另有说明)
符号
参数
电流
Iop1
工作电流
Iop2
工作电流
Iop3
工作电流
Ipd1
待机电流
(Power Down 模式)
IIDL1
待机电流
(IDLE 模式)
ILRC
低频 128k RC 振荡器电流
IWDT
WDT 电流
IO 口特性
VIH1
输入高电压
VIL1
输入低电压
VIH2
输入高电压
VIL2
输入低电压
IOL1
输出低电流
IOL2
输出低电流
IOH1
输出高电流
IOH2
输出高电流
RPH1
上拉电阻
做为 ADC 参考电压的内部基准 2.4V
VDD24
内部基准 2.4V 电压输出
(VDD = 3.3V, T A = +25℃, 除非另有说明)
符号
参数
电流
Iop4
工作电流
Iop5
工作电流
Iop6
工作电流
Ipd2
待机电流
Page 67 of 72
本
20.3 直流电气特性
35
70
22
12
30
2.37
V
V
V
mA
mA
mA
mA
k
2.40
2.45
V
最小值
典型值
最大值
单位
-
9
6
5
0.5
12
8
7
1
mA
mA
mA
μA
测试条件
IRC=24MHz
IRC=12MHz
IRC=6MHz
施密特触发输入:
RST、tCK、SCK
VPin=0.4V
VPin=0.8V
Vpin=4.3V
Vpin=4.7V
TA=-40~85℃
测试条件
IRC=24MHz
IRC=12MHz
IRC=6MHz
V0.2
http://www.socmcu.com
SC93F5003
SinOne
IIDL2
IO 口特性
VIH
VIL
VIH,RSTN
VIL,RSTN
超高速 32 位总线 1T 8051 内核 Flash MCU
(Power Down 模式)
待机电流
(IDLE 模式)
-
6
8
mA
输入高电压
0.7VDD
-
V
输入低电压
输入高电压
输入低电压
-0.3
0.8VDD
-0.2
-
VDD+0.
3
0.3VDD
VDD
0.2VDD
IOL3
输出低电流
IOL4
输出低电流
IOH3
输出高电流
RPH2
上拉电阻
做为 ADC 参考电压的内部基准 2.4V
VDD24
内部基准 2.4V 电压输出
30
50
7
50
2.37
2.40
V
V
V
mA
mA
mA
k
施密特触发输入:
RST 、 tCK 、
SCK
VPin=0.4V
VPin=0.8V
Vpin=3.0V
2.45
V
最大值
10
10
单位
ms
ms
测试条件
24.24
μs
MHz
低电平有效
VDD=4.5~5.5V
TA=-20~85 ℃
TA=-40~85℃
20.4 交流电气特性
(VDD = 2.4V ~ 5.5V, TA = 25℃, 除非另有说明)
符号
参数
TPOR
Power On Reset 时间
TPDW
Power Down 模式唤醒时
间
Treset
复位脉冲宽度
fLRC
RC 振荡稳定性
典型值
5
5
版
本
最小值
24
20.5 ADC 电气特性
非
(TA = 25℃, 除非另有说明)
符号
参数
VAD
供电电压
NR
精度
VAIN
ADC 输入电压
RAIN
ADC 输入电阻
IADC1
ADC 转换电流 1
正
式
18
23.76
最小值
2.4
典型值
5.0
12
GND
1
最大值
5.5
2
单位
V
bit
V
M
mA
VDD
IADC2
ADC 转换电流 2
1.8
mA
DNL
微分非线性误差
2
LSB
INL
积分非线性误差
2
LSB
3
LSB
±8
LSB
偏移量误差、满
刻度误差
EAD
总绝对误差
TADC1
ADC 转换时间
10
μs
TADC2
ADC 转换时间
25
μs
测试条件
GND≤VAIN≤VDD
VIN=5V
ADC 模块打开
VDD=5V
ADC 模块打开
VDD=3.3V
VDD=5V,
VREF=5V
VDD=5V,
VREF=5V
VDD=5V,
VREF=5V
VDD=5V,
VREF=5V
ADC Clock =
2MHz
ADC Clock =
333kHz
20.6 PGA 电气特性
Page 68 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
最小值
1
1.3
0
19
95
18
94
典型值
1
1.8
20
100
19
99
最大值
1.3
3.5
21
105
20
104
单位
mA
M
k
V
测试条件
VIN=5V
VIN=5V
非
正
式
版
本
(VDD=5V,TA = 25℃, 除非另有说明)
符号
参数
IPGA
PGA 工作电流
RPGA1
PGA 同相输入电阻
RPGA2
PGA 反相输入电阻
VPGAO
PGA 输出电压
GPGA1
PGA 同相放大倍数 1
GPGA2
PGA 同相放大倍数 2
GPGA3
PGA 反相放大倍数 1
GPGA4
PGA 反相放大倍数 2
Page 69 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
21 订购信息
封装
TSSOP20L
包装
管装
非
正
式
版
本
产品编号
SC93F5003X20U
Page 70 of 72
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
22 封装信息
SC93F5003X20U
TSSOP20L 外形尺寸
单位:毫米
20
11
b
e1
~
~
b1
c1
c
E
Φ1.5±0.05 0.05±0.05DEP
INDEX Φ0.8±0.05 0.05±0.05DEP
BASE M ETAL
L
1
10
Detail F
SECTION B-B
e1
e
b
本
最小
-
A1
0.05
0.95
A3
0.411
b
b1
最大
-
1.20
0.10
0.15
1.00
1.05
0.461
0.20
-
0.28
0.20
0.22
0.24
0.10
-
0.19
0.10
0.13
0.15
6.40
6.50
6.60
6.50
非
D
mm(毫米)
正常
0.436
正
A2
c1
A
See Detail F
A
c
L1
版
符号
Page 71 of 72
B
0.10
式
D
B
A1
A2
c
A3
D
E
6.30
6.40
E1
4.30
4.40
4.50
e
0.625
0.650
0.675
L
0.55
0.60
0.65
L1
-
0.25 BSC
-
V0.2
http://www.socmcu.com
SC93F5003
SinOne
超高速 32 位总线 1T 8051 内核 Flash MCU
23 规格更改记录
记录
初版
1. 更新 5.2 Customer Option 区域(用户烧写设置)章节、增加 Option
相关 SFR 操作使用说明和例程;
2. 7.3.1 外部 RST 复位 增加复位脚上电使用注意事项;
3. 更新 7.6 STOP 模式和 IDLE 模式章节、增加进入 STOP/IDLE 模式
的例程和注意事项;
4. 12.2 PWM 相关 SFR 寄存器,增加 PWM 相关 SFR 整合表格
5. 15.2 串口通信的波特率,更新 BaudRate 计算公式;
6. 18.1 PGA 配 置 方 式 , PGA 具 体 使 用 方 法 请 参 考 《 赛 元
SC93F5XXX PGA 校准步骤和使用说明 》;
7. SFR 描述中,与当前功能无关的 bit 位字体改为灰色。
日期
2016 年 11 月
2017 年 05 月
非
正
式
版
本
版本
V0.1
V0.2
Page 72 of 72
V0.2
http://www.socmcu.com