2024年7月3日发(作者:)
S
E
维
晟
WS51F7030系列物联网MCU
用户手册
前
海
1T 8051内核,8KB Flash,512B SRAM,128B EEPROM,12通道过CS-10V低功耗Touch
Key,1个5位精度DAC,3对6通道16位互补输出PWM,3个通用定时器,1个
UART,1个I2C,1个WDT,1个WKT,软件LED驱动,软件LCD驱动
W
I
版本:1.1
深圳前海维晟智能技术有限公司
电话:+086-
第1页 共99页
WS51F7030
目录
1 特性 .......................................................................................................................................................................... 5
2 概述 .......................................................................................................................................................................... 6
3 命名规则................................................................................................................................................................... 6
4 订购信息................................................................................................................................................................... 7
5 产品信息................................................................................................................................................................... 7
5.1 产品资源 ........................................................................................................................................................ 7
5.2 管脚定义 ........................................................................................................................................................ 8
5.2.1 封装类型:SOP8 ................................................................................................................................ 8
5.2.2 封装类型:MSOP10 ........................................................................................................................... 8
5.2.3 封装类型:SOP14 .............................................................................................................................. 8
5.2.4 封装类型:SOP16 .............................................................................................................................. 9
5.3 管脚说明 ........................................................................................................................................................ 9
6 总体架构................................................................................................................................................................. 11
6.1 8051内核 ...................................................................................................................................................... 11
6.1.1 简介................................................................................................................................................... 11
6.1.2 寻址方式 ........................................................................................................................................... 11
6.1.3 寄存器描述 ....................................................................................................................................... 12
6.2 芯片结构框图 .............................................................................................................................................. 15
6.3 存储器分布 .................................................................................................................................................. 16
6.4 SFR映像 ........................................................................................................................................................ 17
7 基本功能................................................................................................................................................................. 19
7.1 外部RAM ..................................................................................................................................................... 19
7.2 Flash存储器 ................................................................................................................................................. 19
7.2.1 Flash数据区 ...................................................................................................................................... 19
7.2.2 NVR数据区 ........................................................................................................................................ 21
7.2.3 EEPROM数据区................................................................................................................................. 23
7.2.4 Checksum校验 .................................................................................................................................. 24
7.2.5 寄存器描述 ....................................................................................................................................... 24
7.3 IO端口 .......................................................................................................................................................... 28
7.3.1 简介................................................................................................................................................... 28
7.3.2 IO端口功能复用 ............................................................................................................................... 28
7.3.3 寄存器描述 ....................................................................................................................................... 29
7.4 定时器0/1/2 ............................................................................................................................................... 31
7.4.1 定时器0............................................................................................................................................ 31
7.4.2 定时器1............................................................................................................................................ 33
7.4.3 定时器2............................................................................................................................................ 35
7.4.4 寄存器描述 ....................................................................................................................................... 37
7.5 中断系统 ...................................................................................................................................................... 41
7.5.1 简介................................................................................................................................................... 41
7.5.2 外部中断 ........................................................................................................................................... 41
7.5.3 寄存器描述 ....................................................................................................................................... 41
7.6 时钟系统 ...................................................................................................................................................... 46
7.6.1 时钟源............................................................................................................................................... 46
前
海
维
晟
W
I
S
E
第2页 共99页
WS51F7030
前
海
7.8.2 IDLE模式............................................................................................................................................ 50
7.8.3 STOP模式 .......................................................................................................................................... 50
7.8.4 寄存器描述 ....................................................................................................................................... 50
8 增强功能................................................................................................................................................................. 52
8.1 脉宽调制(PWM) ..................................................................................................................................... 52
8.1.1 简介................................................................................................................................................... 52
8.1.2 PWM工作原理 .................................................................................................................................. 52
8.1.3 寄存器描述 ....................................................................................................................................... 54
8.2 通用串行接口(UART 0) .......................................................................................................................... 57
8.2.1 简介................................................................................................................................................... 57
8.2.2 UART0 ................................................................................................................................................. 57
维
晟
8.2.3 寄存器描述 ....................................................................................................................................... 60
8.3 I²C接口(I2C) ............................................................................................................................................ 62
8.3.1 简介................................................................................................................................................... 62
8.3.2 I2C总线互联...................................................................................................................................... 62
8.3.3 I2C通信原理...................................................................................................................................... 62
8.3.4 I2C工作模式...................................................................................................................................... 63
8.3.5 寄存器描述 ....................................................................................................................................... 63
8.4 看门狗定时器(WDT) .............................................................................................................................. 66
8.4.1 简介................................................................................................................................................... 66
8.4.2 功能描述 ........................................................................................................................................... 66
8.4.3 寄存器描述 ....................................................................................................................................... 66
8.5 自唤醒定时器(WKT) .............................................................................................................................. 68
8.5.1 简介................................................................................................................................................... 68
8.5.2 功能描述 ........................................................................................................................................... 68
8.5.3 寄存器描述 ....................................................................................................................................... 68
8.6 低压差线性稳压器(LDO) ....................................................................................................................... 69
8.6.1 简介................................................................................................................................................... 69
8.6.2 内部基准及输出电压校准 ............................................................................................................... 69
8.6.3 LDO工作模式 .................................................................................................................................... 69
8.6.4 寄存器描述 ....................................................................................................................................... 69
8.7 低电压检测(LVD) .................................................................................................................................... 71
8.7.1 简介................................................................................................................................................... 71
8.7.2 功能描述 ........................................................................................................................................... 71
8.7.3 寄存器描述 ....................................................................................................................................... 71
第3页 共99页
W
I
7.6.2 时钟控制关系 ................................................................................................................................... 46
7.6.3 寄存器描述 ....................................................................................................................................... 46
7.7 复位系统 ...................................................................................................................................................... 48
7.7.1 上电复位(POR)和掉电复位(BOR) ......................................................................................... 48
7.7.2 看门狗(WDT)复位 ....................................................................................................................... 48
7.7.3 低电压检测(LVD)复位 ................................................................................................................. 48
7.7.4 外部硬复位和内部软复位 ............................................................................................................... 49
7.7.5 寄存器描述 ....................................................................................................................................... 49
7.8 电源管理 ...................................................................................................................................................... 50
7.8.1 LDO ..................................................................................................................................................... 50
S
E
WS51F7030
8.8 数模转换器(DAC) ................................................................................................................................... 72
8.8.1 简介................................................................................................................................................... 72
8.8.2 功能描述 ........................................................................................................................................... 72
8.8.3 寄存器描述 ....................................................................................................................................... 73
8.9 触摸按键(Touch Key) ............................................................................................................................. 74
8.9.1 简介................................................................................................................................................... 74
8.9.2 工作模式 ........................................................................................................................................... 74
8.10 软件LED驱动(SLED) ............................................................................................................................ 75
8.10.1 简介................................................................................................................................................. 75
8.10.2 LED显示原理 ................................................................................................................................... 75
8.10.3 LED与Touch Key共用实现方法..................................................................................................... 75
8.10.4 寄存器描述 ..................................................................................................................................... 76
8.11 软件LCD驱动(SLCD) ........................................................................................................................... 79
8.11.1 简介................................................................................................................................................. 79
8.11.2 1/2偏压软件LCD ............................................................................................................................ 79
8.11.3 寄存器描述 ..................................................................................................................................... 79
9 程序下载和仿真 ..................................................................................................................................................... 81
9.1 程序下载 ...................................................................................................................................................... 81
9.2 在线仿真 ...................................................................................................................................................... 81
10 电气特性............................................................................................................................................................... 82
10.1 极限参数 .................................................................................................................................................... 82
10.2 直流电气特性 ............................................................................................................................................ 82
10.3 交流电气特性 ............................................................................................................................................ 84
10.4 POR电气特性 ............................................................................................................................................. 84
10.5 内部HRC电气特性 ................................................................................................................................... 85
10.6 内部LRC电气特性 .................................................................................................................................... 86
10.7 LVD电气特性 .............................................................................................................................................. 87
10.8 DAC电气特性 ............................................................................................................................................. 87
11 封装信息............................................................................................................................................................... 90
11.1 WS51F7030S08U (SOP8) ............................................................................................................................. 90
11.2 WS51F7030M10U (MSOP10) ...................................................................................................................... 90
11.3 WS51F7030S14U (SOP14) ........................................................................................................................... 91
11.4 WS51F7030S16U (SOP16) ........................................................................................................................... 91
12 附录 ...................................................................................................................................................................... 92
13 版本历史............................................................................................................................................................... 99
前
海
维
晟
W
I
S
E
第4页 共99页
WS51F7030
1 特性
工作温度: -40-+105℃
封装类型: SOP16/SOP14/MSOP10/SOP8
内核:增强型1T 8051
最高工作频率:16MHz
Flash ROM:8K Bytes,10万次擦写
W
I
EEPROM:128 Bytes,无需擦,10万次写入
SRAM:内部256 Bytes,外部512 Bytes
时钟(3.3V@25℃)
内置RC振荡器LRC:32KHz,可调精度±1%
内置RC振荡器HRC:16MHz,可调精度±1%
中断
7个有效中断源,两级中断优先级
4个外部中断,可配置任意引脚输入,支持上沿/
下沿/双沿触发
定时器
IO端口
维
晟
前
海
3个16位通用定时器0/1/2,兼容标准8051
14个通用GPIO口
支持推挽/开漏/上拉/下拉/高阻等模式
上拉可选60KΩ或10KΩ,下拉为15 KΩ
推电流支持20mA,灌电流45mA
1个UART接口:UART0,兼容标准8051
通用串行接口(UART 0)
I2C接口(I2C)
内置1路I2C接口,支持主从模式,支持标准/
快速模式
看门狗(WDT)
15位看门狗定时器,计数时钟为LRC时钟
8位调节精度, 调整范围为7.8125ms-1s
可配置看门狗产生复位或中断
自唤醒定时器(WKT)
可选0.5s/1s中断,支持中断唤醒
脉宽调制(PWM)
3对6通道16位 PWM,每通道可独立设置周期和
占空比
S
E
第5页 共99页
工作电压: 1.7V-5.5V 可选时钟源,可直接输出内部时钟
支持互补输出和死区控制
8级电压检测1.8/2.0/2.4/2.8/3.0/3.4/3.7/4.2V
可设置低电压复位或中断
共12通道,可一次全部扫描
支持触摸待机唤醒
支持触摸按键与软件LED驱动共用引脚
超低功耗,增加一个按键功耗增加0.3uA功耗
通过CS动态10V测试
低电压检测(LVD)
触摸按键(Touch Key)
数模转换器(DAC)
1个5位精度DAC
可选外部VDD、内部1.5V基准或外部DAVF作为基
准电源
软件LED驱动
采用交替轮流COM端口方式进行LED扫描
最多支持11seg*12com的LED驱动
软件LCD驱动
支持1/2偏压软件LCD驱动
最多支持5个COM
芯片复位
支持硬复位、软复位、看门狗复位、LVD复位和
上电/掉电复位
程序加密及保护
内置程序读保护
内置程序ID加密保护功能
程序下载和仿真
支持ISP和IAP,IAP可配置大小
支持在线仿真功能
低功耗模式
STOP模式最低电流1.7uA
16Mhz@5V运行典型功耗1.5mA
抗干扰能力
ESD > 8KV
EFT > 4.5KV
WS51F7030
2 概述
WS51F7030系列芯片是基于增强型1T 8051内核的8位微控制器,指令完全兼容传统8051,而运行速度比
传统8051快10倍。WS51F7030集成8KB Flash、512B SRAM、128B独立EEPROM、12通道过CS-10V低功耗Touch
Key、1个5位精度DAC、3对6通道12位互补输出PWM、3个16位定时器、1个UART、1个I2C、16MHz内部
RC振荡器、32KHz内部RC振荡器、14个GPIO、软件LED驱动、软件LCD驱动等资源。为了提高芯片可靠性,
WS51F7030还集成了上电掉电复位、8级可选电压低电压检测(LVD)、低功耗独立看门狗计数器(WDT)、自唤
醒定时器(WKT)等模块。WS51F7030具有非常优异的抗干扰能力和低功耗特性,非常适合用在家用照明、控制
开关、无线通讯、小家电等物联网工业控制及消费电子领域。
维
晟
WS
①
51
②
F
3 命名规则
名称
序号
序号
①
②
③
④
W
I
7
④
0
⑤
S
E
3
⑥
含义
第6页 共99页
0
⑦
X
⑧
S
⑨
16
⑩
U
⑪ ③
WISESUN的简称
前
海
⑤
⑥
⑦
⑧
8:RISC;51:8051;
产品类型(F:Flash;M:MTP;P:OTP;V:RISC-V)
产品系列(5:RSIC通用型;6:8051通用型;7:8051触摸型;)
芯片功能类别编号(0、1、2、3…)
产品为5系列时
0:IO型
1:IO+AD型
2:IO+TK型
3:IO+AD+TK型
产品为6系列时
0:IO型
1:IO+ADC型
2:IO+ADC+OP+CMP型
3:IO+LCD/LED型
4:IO+ADC+LCD/LED型
5:IO+ADC+OP+CMP+LCD/LED型
产品为7系列时
0:IO+TK型
1:IO+ADC+TK
2:IO+ADC+OP+CMP+TK型
3:IO+LCD/LED+TK型
4:IO+ADC+LCD/LED+TK型
5:IO+ADC+OP+CMP+LCD/LED+TK型
存储大小(1:2KB;2:4KB;3:8KB;4:16KB;5:32KB;6:64KB;7:128KB;8:256KB;9:512KB;
A:1MB)
子编号(0、1、2、3…)
芯片版本号(缺省、B、C、D…)
⑨
⑩
⑪
WS51F7030
封装形式(R:SOT23-6;D:DIP;I:SDIP;S:SOP;P:SSOP;T:TSSOP;M:MSOP;Q:QFP;L:
LQFP;F:TQFP;N:QFN;K:SKDIP)
包装方式(R:盘装;U:管装;T:编带)
产品编号
W
I
8K
512
6
1
1
4
4
√
√
√
√
√
√
√
√
√
√
8K
512
8
1
1
6
6
√
√
√
√
√
√
√
√
√
√
SOP8
4 订购信息
S
E
封装 包装
管装
管装
管装
管装
SOP8
MSOP10
SOP14
SOP16
WS51F7030S14U
8K
512
12
1
1
6
10
√
√
√
√
√
√
√
√
√
√
√
1.7V-5.5V
SOP14
WS51F7030S16U
8K
512
14
1
1
6
12
√
√
√
√
√
√
√
√
√
√
√
1.7V-5.5V
SOP16
√
1.7V-5.5V
MSOP10
第7页 共99页
引脚数
WS51F7030S08U
WS51F7030S14U
WS51F7030S16U
WS51F7030M10U
5 产品信息
5.1 产品资源
资源
前
海
维
晟
型号
WS51F7030S08U
(Bytes)
GPIO
UART
I2C
WKT
5位DAC
在线仿真
工作电压
封装形式
√
1.7V-5.5V
WS51F7030M10U
Flash存储器
(Bytes)
XDATA RAM
12位PWM
(channels)
Touch Key
(channels)
软件LED驱动
软件LCD驱动
WDT
8级电压LVD
HRC(16MHz)
LRC(32KHz)
程序加密保护
ISP/IAP
WS51F7030
5.2 管脚定义
5.2.1 封装类型:SOP8
S
E
W
I
2
3
4
VDD
18
7
6
5
VSS
P35/T1/CMOD
P10/T2/COM0/TK0/PWM0
P11/T2EX/COM1/TK1/PWM1
WS51F7030S08U
P34/T0/DACO/[PWM2]/SDA/[UART0_TX]
P33/TK11/[PWM1]/SCL/[UART0_RX]
P32/TK10/[PWM3]/RST/DAVF
5.2.2 封装类型:MSOP10
维
晟
VDD
1
2
3
4
5
10
9
8
7
6
VSS
P35/T1/CMOD
P10/T2/COM0/TK0/PWM0
P11/T2EX/COM1/TK1/PWM1
P30/TK8/[PWM5]/[SCL]/UART0_RX
P34/T0/DACO/[PWM2]/SDA/[UART0_TX]
P33/TK11/[PWM1]/SCL/[UART0_RX]
P32/TK10/[PWM3]/RST/DAVF
P31/TK9/[PWM4]/[SDA]/UART0_TX
WS51F7030M10U
前
海
5.2.3 封装类型:SOP14
VDD
P34/T0/DACO/[PWM2]/SDA/[UART0_TX]
P33/TK11/[PWM1]/SCL/[UART0_RX]
P32/TK10/[PWM3]/RST/DAVF
P31/TK9/[PWM4]/[SDA]/UART0_TX
P30/TK8/[PWM5]/[SCL]/UART0_RX
P15/TK5/PWM5
VSS
P35/T1/CMOD
P10/T2/COM0/TK0/PWM0
P11/T2EX/COM1/TK1/PWM1
P12/COM2/TK2/PWM2
P13/COM3/TK3/PWM3
P14/COM4/TK4/PWM4
1
2
3
4
5
6
7
14
13
12
11
10
9
8
第8页 共99页
WS51F7030S14U
WS51F7030
5.2.4 封装类型:SOP16
S
E
VDD
1
2
3
16
15
14
VSS
P35/T1/CMOD
P10/T2/COM0/TK0/PWM0
P11/T2EX/COM1/TK1/PWM1
P12/COM2/TK2/PWM2
P13/COM3/TK3/PWM3
P14/COM4/TK4/PWM4
P15/TK5/PWM5
P34/T0/DACO/[PWM2]/SDA/[UART0_TX]
P33/TK11/[PWM1]/SCL/[UART0_RX]
W
I
4
5
6
7
8
WS51F7030S16U
P32/TK10/[PWM3]/RST/DAVF
P31/TK9/[PWM4]/[SDA]/UART0_TX
P30/TK8/[PWM5]/[SCL]/UART0_RX
13
12
11
10
9
维
晟
P17/TK7/[PWM0]
P16/TK6
5.3 管脚说明
前
海
管脚名称
10PIN 8PIN
功能说明
1
VDD
电源VDD
通用双向GPIO口P34
Timer 0端口T0
DAC数模转换输出DACO
PWM2备选输出端口
I2C的SDA端口
UART0的UART0_TX端口
通用双向GPIO口P33
触摸按键通道TK11
默认
状态
VDD
16PIN 14PIN
1 1 1
2 2 2 2
P34/T0/DACO/[PWM2]/SDA/[UART0_TX] SDA
3 3 3 3
P33/TK11/[PWM1]/SCL/[UART0_RX]
PWM1备选输出端口
I2C的SCL端口
UART0的UART0_RX端口
通用双向GPIO口P32
触摸按键通道TK10
SCL
可选
高阻
/RST
4 4 4 4
P32/TK10/[PWM3]/RST/DAVF
PWM3备选输出端口
外部硬复位RST
DAC基准电源输入DAVF
通用双向GPIO口P31
触摸按键通道TK9
5 5 5 -
P31/TK9/[PWM4]/[SDA]/UART0_TX
PWM4备选输出端口
I2C的SDA端口
UART0的UART0_TX端口
通用双向GPIO口P30
触摸按键通道TK8
高阻
6 6 6 -
P30/TK8/[PWM5]/[SCL]/UART0_RX
高阻
第9页 共99页
I2C的SCL端口
WS51F7030
PWM5备选输出端口
UART0的UART0_RX端口
通用双向GPIO口P17
触摸按键通道TK7
PWM0备选输出端口
通用双向GPIO口P16
触摸按键通道TK6
通用双向GPIO口P15
触摸按键通道TK5
PWM5输出端口
通用双向GPIO口P14
P14/COM4/TK4/PWM4
软件LCD的COM4口
触摸按键通道TK4
PWM4输出端口
通用双向GPIO口P13
P13/COM3/TK3/PWM3
软件LCD的COM3口
触摸按键通道TK3
PWM3输出端口
通用双向GPIO口P12
软件LCD的COM2口
触摸按键通道TK2
PWM2输出端口
通用双向GPIO口P11
Timer 2端口T2EX
高阻
高阻
高阻
高阻
高阻
7 - - -
P17/TK7/[PWM0]
8 - -
9 7 -
10
前
海
12
11
维
晟
8 -
9 -
10 -
W
I
-
P16/TK6
-
P15/TK5/PWM5
-
-
-
P12/COM2/TK2/PWM2
S
E
第10页 共99页
高阻
13 11 7 5
P11/T2EX/COM1/TK1/PWM1
软件LCD的COM1口
触摸按键通道TK1
PWM1输出端口
通用双向GPIO口P10
Timer 2端口T2
高阻
14 12 8 6
P10/T2/COM0/TK0/PWM0
软件LCD的COM0口
触摸按键通道TK0
PWM0输出端口
通用双向GPIO口P35
高阻
15
16
13
14
9
10
7
8
P35/T1/CMOD
VSS
Timer 1端口T1
触摸按键电容CMOD
地线VSS
高阻
VSS
备注:
1. 信号端口复用功能设置方法详见表7.3.2-1和表7.3.3-2
2. LED输出与Touch Key和GPIO输出引脚功能复用,详见表7.3.2-1及8.10软件LED驱动章节描述
WS51F7030
6 总体架构
6.1 8051内核
6.1.1 简介
标准8051即MCS-51为12周期的8051 CPU,而WS51F7030系列芯片采用的是单周期8051 CPU,完全兼容
MCS-51指令集。
8051的内核寻址方式有:立即寻址、直接寻址、间接寻址、寄存器寻址、相对寻址、变址寻址和位寻址。
6.1.2.1 立即寻址
前
海
立即寻址是在指令操作数中直接给出参与运算的操作数,指令举例如下:
MOV A, #60H
(这条指令把
60H
直接送到累加器
A
)
6.1.2.2 直接寻址
直接寻址指令操作数给出的是参与运算操作数的地址。直接寻址方式只能用于特殊功能寄存器、内部数据区
和位地址空间,而特殊功能寄存器和位地址空间只能用直接寻址方式访问。指令举例如下:
ANL 50H, #91H
(把
50H
单元中的数与
91H
相“与”,结果存放在
50H
单元中,其中
50H
为内部
RAM
的地址)
6.1.2.3 间接寻址
间接寻址采用R0或R1前添加”@”符号来表示。假设R1中的数据是40H,内部数据存储器40H单元的数
据为55H,则指令为
MOV A, @R1
(把数据
55H
传送至累加器
A
)
6.1.2.4 寄存器寻址
寄存器寻址对选定的工作寄存器R7-R0、累加器A、通用寄存器B、地址寄存器和进位C中的数进行操作,
其中寄存器R7-R0由指令码的低3位表示,ACC、B、DPTR及进位C隐含在指令码中。因此,寄存器寻址也包含
一种隐含寻址方式。工作寄存器工作区由状态寄存器PSW的RS1、RS0决定。指令操作数指定的寄存器均指当前
工作区的寄存器。
INC R0
(
R0
中的数据
+1
写回
R0
)
6.1.2.5 相对寻址
相对寻址是将程序计数器PC中的当前值与指令第二字节给出的数相加,其结果作为转移指令的转移地址。
转移地址也成为转移目的地址,PC中的当前值成为基地址,指令第二字节给出的数成为偏移量。由于目的地址
是相对于PC中的基地址而言,所以这种寻址方式成为相对寻址。偏移量为带符号的数,所能表示的范围为
+127--128。这种寻址方式主要用于转移指令。
JC $+50H
(表示若进位位
C
为
0
,则程序计数器
PC
中的内容不改变,即不转移。若进位位
C
为
1
,
则以
PC
中的当前值及基地址,加上偏移量
50H
后得到的结果作为该转移指令的目的地址)
维
晟
6.1.2 寻址方式
W
I
S
E
第11页 共99页
6.1.2.6 变址寻址
WS51F7030
6.1.2.7 位寻址
位寻址是指对一些可进行位操作的内部RAM和特殊功能寄存器进行位操作时的寻址方式。在进行位操作时,
借助于进位位C作为位操作累加器,指令操作数直接给出该位的地址,然后根据操作码对该位进行位操作。
MOV C, 20H
(将地址为
20H
的位操作寄存器值送入进位位
C
中)
6.1.3 寄存器描述
6.1.3.1 程序计数器PC
程序计数器PC寄存器为16位,是专门用来控制指令执行顺序的寄存器,它没有寄存器地址。单片机上电或
复位后,PC值为0,单片机从零地址开始执行程序。
6.1.3.2 累加器ACC
累加器ACC是一个常用的专用寄存器,指令系统中采用A作为累加器的助记符,常用于存放算术或逻辑运
算的操作数及运算结果。
表6.1.3-1累加器ACC
E0H 7 6 5 4
ACC[7:0]
R/W
0 0 0 0 0 0 0 0
3 2 1 0
ACC
前
海
R/W
F0H
B
R/W
初始值
6.1.3.3 通用寄存器B
B在乘除法运算中需要和ACC配合使用。MUL AB指令把ACC和B中8位无符号数相乘,所得的16位乘积
的低字节存放在A中,高字节存放在B中。DIV AB指令用B除以A,整数商存放在A中,余数存放在B中。寄
存器B还可以用作通用暂存寄存器。
表6.1.3-2通用寄存器B
7 6 5 4
B
R/W
0 0 0 0 0 0 0 0
3 2 1 0
初始值
6.1.3.4 堆栈指针SP
堆栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内部RAM块中的位置。系统复位后,SP初始化
位07H,使得堆栈事实上由08H单元开始,考虑08H-1FH单元分别属于工作寄存器组1-3,若在程序设计中用到
这些区,则最好SP改变为80H或更大的为宜。
在程序调试中,经常出现堆栈溢出的情况,为了方便找到程序故障,设置了一个记录最大堆栈的寄存器SPMAX,
可以通过Debug接口读出,地址0x1A。
第12页 共99页
维
晟
W
I
S
E
在变址寻址方式中,指令操作数制定一个存放变址基址的变址寄存器。变址寻址时,偏移量与变址基值相加,
其结果作为操作数的地址。变址寄存器有程序计数器PC和地址寄存器DPTR。
MOVC A, @A+DPTR
(表示累加器
A
为偏移量寄存器,其内容与地址寄存器
DPTR
中的内容相加,其
结果作为操作数的地址,取出该单元中的数送入累加器
A
中)
81H
SP
R/W
初始值
8407H
SP
R/W
初始值
表6.1.3-3堆栈指针SP
7 6 5 4
SP
R/W
3 2
WS51F7030
1 0
0 0 0
S
E
0
4
SPMAX
R/W
0
4
DP0L
R/W
0
4
DP0H
R/W
0
4
DP1L
R/W
0
4
DP1H
R/W
0
第13页 共99页
0 1 1 1
7
W
I
6 5
表6.1.3-4堆栈最大值SPMAX
3 2 1 0
6.1.3.5 数据指针DPTR
前
海
数据指针DPTR0/DPTR1是两个16位专用寄存器,它们的高位字节寄存器用DP0H/DP1H 表示,低位字节寄存
器用DP0L/DP1L表示,通过DPS(PSW.1)可选择使用DPTR0/DPTR1。每个DPTR既可以作为一个16位寄存器来处
理,也可以作为2个独立的8位寄存器DP0H/DP1H和DP0L/DP1L来处理。
表6.1.3-5数据指针DP0L
82H 7 6 5 3 2 1 0
DP0L
R/W
0 0 0
维
晟
0 0 0 0 1 1 1
初始值
0 0 0 0
表6.1.3-6数据指针DP0H
7 6 5 3 2 1 0 83H
DP0H
R/W
初始值
0 0 0 0 0 0 0
表6.1.3-7数据指针DP1L
84H
DP1L
R/W
初始值
表6.1.3-8数据指针DP1H
85H
DP1H
R/W
初始值
6.1.3.6 状态寄存器PSW
状态寄存器PSW是CPU的状态寄存器。在CPU做算术运算或者逻辑运算时,对应的PSW状态位会发生改
变。
0 0 0
7 6 5 3 2 1 0
0 0 0
7 6 5 3 2 1 0
0 0 0 0
0 0 0 0
D0H
PSW
R/W
初始值
位编号
7
表6.1.3-9状态寄存器PSW
7
CY
R/W
0
位符号
CY
6
AC
R/W
0
5
F0
0
R/W
4
RS
R/W
3 2
OV
R/W
0 0
WS51F7030
1 0
P
R
0
S
E
0
第14页 共99页
DPS
R
0
W
I
F0标志位
用户自定义标志位
溢出标志位
0:没有溢出发生
1:有溢出发生
说明
进位标志位
0:算术或逻辑运算中,没有进位或借位发生
1:算术或逻辑运算中,有进位或借位发生
辅助进位标志位
0:算术或逻辑运算中,没有辅助进位或借位发生
1:算术或逻辑运算中,有辅助进位或借位发生
前
海
4-3
2
1
0
维
晟
6 AC
5 F0
RS
OV
DPS
P
R0-R7寄存器页选择位
00:页0(映射到00H-07H)
01:页1(映射到08H-0FH)
10:页2(映射到10H-17H)
11:页3(映射到18H-1FH)
DPTR选择寄存器,0为选择DPTR0,1为选择DPTR1
奇偶校验位
0:累加器A值为1的位数为偶数
1:累加器A值为1的位数为奇数
WS51F7030
6.2 芯片结构框图
W
I
256B
IDATA
RAM
512B
XDATA
RAM
128B
EEPROM
电源管理
LDO
POR&BOR
S
E
IO PADS
512B
NVR
8KB
FLASH
时钟管理
内部16M时钟HRC
内部32KHZ时钟
LRC
维
晟
1个8级电压LVD
1T 8051
外设模块
1个主从I2C接口
前
海
IO PADSIO PADS
12通道Touch Key
3对6通道
12位 PWM
1个UART 0
3个Timer 0/1/2
1个自唤醒定时器
WKT
1个看门狗定时器
WDT
软件LED驱动
1个5位DAC
软件LCD驱动
IO PADS
第15页 共99页
WS51F7030
6.3 存储器分布
WS51F7030系列芯片内含256B内部RAM、512B外部RAM、特殊功能寄存器(SFR)、512B NVR和8KB Flash ROM,
存储器地址分配如下:
低128B的内部RAM(地址:00H - 7FH)可直接寻址或间接寻址
高128B的内部RAM(地址:80H - FFH)只能间接寻址
512B的外部RAM(地址:0000H - 01FFH)可通过MOVX指令间接寻址,可映射到程序地址空间
8000H-81FFH,也可直接作为程序空间0000H-01FFH
特殊功能寄存器(SFR)(地址:80H - FFH)可直接寻址
扩展特殊功能寄存器(XSFR)(从8000H开始),通过MOVX指令寻址
512B NVR包含4个扇区,主要用于系统配置数据
8KB Flash ROM(地址:0000H-1FFFH),通过MOVC指令可访问
图6.1.3-1存储器分布图
维
晟
特殊功能寄存器
(SFR)
直接寻址
W
I
8000H
07FFH
S
E
映射
81FFH
512字节外部RAM
MOVC指令寻址
8000H
前
海
FFH
扩展特殊功能寄存
器(XSFR)
MOVX指令寻址
高128字节内部
RAM
间接寻址
1FFFH
80H
低128字节内部
RAM
直接寻址/间接寻址
00H
01FFH
8K字节Flash ROM
MOVC指令访问
512字节NVR
用于配置数据
0000H
512字节外部RAM
MOVX指令寻址
0000H0000H
第16页 共99页
WS51F7030
6.4 SFR映像
地址
F8H
F0H
E8H
E0H
D8H
D0H
C8H
C0H
B8H
B0H
A8H
A0H
98H
90H
88H
80H
0/8
-
B
-
ACC
EPIE
1/9
-
-
-
EPIF
W
I
2/A
-
-
-
EP0CON
-
T2CL
-
-
-
WDTFLG
I2CADR
S0CFG
-
TL0
DP0L
可位寻址
S
E
3/B
-
-
-
EP1CON
-
T2CH
-
-
-
-
I2CFG0
-
-
TL1
DP0H
WS51F7030系列芯片提供了兼容传统8051的SFR分布,SFR和高128字节内部RAM共用地址80H - FFH, 只
能直接寻址,SFR映射如下表所示。
表6.1.3-1特殊功能寄存器(SFR)映射表
不可位寻址
4/C
IDLF
-
-
PCOMS
-
-
TL2
-
-
-
-
I2CFG1
-
-
TH0
DP1L
5/D
-
-
-
PDRVS
-
-
TH2
-
-
-
-
I2CTXD
-
-
TH1
DP1H
6/E
STPF
-
-
-
-
-
-
-
-
-
-
I2CRXD
-
HRCON
-
SCCON
7/F
-
-
-
-
-
-
-
-
-
-
-
I2CFLG
RSTFLG
LRCON
-
PCON
PWCON IT0CON IT1CON
前
海
由于SFR地址空间有限,WS51F7030系列芯片在外部RAM地址空间增加了扩展特殊功能寄存器(XSFR),XSFR
映射如下表所示。
表6.1.3-2扩展特殊功能寄存器(XSFR)映射表
地址
8000H
8008H
8010H
8018H
---
8040H
8048H
8058H
8068H
8078H
---
8290H
8298H
0/8
-
P10F
P30F
-
PWMEN
-
-
-
-
-
LSCON
LSPE0
维
晟
PSW
-
WKTCON
T2MOD
-
T2CON
IP
IE
-
P1
TCON
-
LVDCON
DACON P3
WDTCON
I2CCON
S0BUF
-
TMOD
SP
S0CON
1/9
-
P11F
P31F
-
-
-
-
-
-
-
-
LSCFG
LSPE1
2/A
-
P12F
-
P32F
-
PWMIE
-
-
-
-
-
-
-
-
-
3/B
-
P13F
-
P33F
-
-
-
-
-
-
-
-
-
-
LSDTM0
-
4/C
-
P14F
-
P34F
-
PWMFLG
-
PWM0DUTL
PWM1DUTL
PWM2DUTL
PWM3DUTL
PWM4DUTL
PWM5DUTL
-
LSDTM1
-
5/D
-
P15F
-
P35F
-
-
-
PWM0DUTH
PWM1DUTH
PWM2DUTH
PWM3DUTH
PWM4DUTH
PWM5DUTH
-
LSPTM0
-
6/E
-
P16F
-
-
-
-
-
PWM0DIVL
PWM1DIVL
PWM2DIVL
PWM3DIVL
PWM4DIVL
PWM5DIVL
-
LSPTM1
-
7/F
-
P17F
-
-
-
-
-
PWM0DIVH
PWM1DIVH
PWM2DIVH
PWM3DIVH
PWM4DIVH
PWM5DIVH
-
LSCOM
-
8050H
PWM0CFG
8060H
PWM2CFG
8070H
PWM4CFG
第17页 共99页
82A0H
---
8300H
8308H
8400H
LSDAT0
-
MECON
CKSUML
CHIPIDL
LSDAT1
-
FSCMD
CKSUMH
CHIPIDH
-
-
BTMSK
IDCODE0
-
-
-
FSDAT
-
IDCODE1
-
-
FSFLG
-
IDCODE2
-
-
PADR
-
-
-
-
WS51F7030
-
-
FSADRH
-
SPMAX
S
E
第18页 共99页
FSADRL
-
-
前
海
维
晟
W
I
WS51F7030
7 基本功能
7.1 外部RAM
7.2.1 Flash数据区
7.2.1.1 Flash数据区逻辑划分
前
海
Flash数据区的逻辑划分见图,主要特点如下:
Flash数据区由若干个扇区组成,扇区是进行擦除操作的最小单位,每个扇区大小为128字节。
Flash区可以通过寄存器PADR按功能划分为CODE区和DATA区,划分单位为1个逻辑扇区。
CODE区用于存储用户的程序,DATA区是用于存储一些掉电需要保存的数据。
图7.2.1-1 Flash数据区结构
维
晟
7.2 Flash存储器
W
I
1FFFH
128*PADR
0000H
512B的外部RAM主要用于数据暂存,但也可映射为程序空间使用,其默认映射地址为8000H-81FFH。用户
可以下载程序到外部RAM,然后直接执行跳转指令跳到该映射区执行程序。同样,用户也可把BOOT(详见寄存
器MECON)的值设置为1,然后执行软复位,此时外部RAM映射到地址0000H-01FFH,复位后程序从外部RAM
空间开始执行。外部RAM映射功能可用来实现IAP/ISP等功能。
S
E
DATA区
CODE区
第19页 共99页
WS51F7030
7.2.1.2 访问Flash数据区
下图所示为访问Flash数据区流程图,相关示例程序请参考WS51F7030应用手册。需要说明的是,在擦操作
时往FSCMD写入擦命令或在写操作时往FSDAT写入数据时,CPU会自动暂停,以避免因为中断等原因导致擦写
操作中止。
图7.2.1-2 访问Flash数据区流程图
W
I
擦写操作
S
E
开始
全擦Flash
擦DATA扇区
往FSADR写入地址
往FSCMD写入03H
继续擦扇区
N
N
读操作
维
晟
往FSFLG中写入12H
给Flash解锁
往FSCMD写入04H
读CODE区:往FSCMD写入05H
读DATA区:往FSCMD写入01H
前
海
擦CODE扇区
往FSFLG中写入34H
给Flash CODE区
解锁
往FSFLG中写入56H
给Flash DATA区
解锁
往FSADR写入地址
往FSADR写入地址
往CODE区写数据往DATA区写数据
读取FSDAT数据
往FSCMD写入07H
Y
往FSCMD写入06H往FSCMD写入02H
N
Y
Y
继续读取
继续擦扇区
往FSADR写入地址
Y
连续地址读取
N
N
往FSDAT写入数据
Flash区加锁:往FSFLG写入FFH,清
除所有Flash解锁标志
CODE区加锁:往FSFLG写入43H,清
除CODE区解锁标志
DATA区加锁:往FSFLG写入65H,清
除DATA区解锁标志
结束
N
继续写入数据
Y
Y
连续地址写入
第20页 共99页
WS51F7030
7.2.2 NVR数据区
维
晟
扇区 地址
NVR1
0x000-0x6F
0x070-0x07f
0x090
0x091
0x092
0x093
---
0x0a0-0x0af
---
0x0d0
---
0x0e0-0x0ff
0x100
0x101
0x102
0x103
0x104
0x105
NVR3
0x106
0x107
0x108
0x109
0x10a
0x10b
---
0x150
NVR2
芯片内置了512B的NVR数据区,该区共4个扇区,每个扇区128字节。
NVR1保留给用户使用
NVR2可用于实现用户ID功能
NVR3用于保存原厂数据
NVR4用于保存Flash配置数据
其中NVR2和NVR3在不使用上述功能时,可直接给用户使用。
表7.2.2-1 NVR数据功能表
W
I
保留给用户使用
-
-
-
-
-
-
-
CHIPID的低8位
芯片滚码区,滚码方式0x7030+年/月/日+滚码数字
该16个字节写入0xaa后ID功能开启
ID错误计数字节。当用户写入IDCODE寄存器的值与目标值不一致错
误次数4次就会擦掉一个比特,总共错误次数超过32次,寄存器IDERR
会保持为1,则不能再使用ID功能。开启ID功能后出厂时需要烧写
为0xFF。
保存用户ID目标值,上电时自动加载到内部寄存器。
0x080-0x08F
前
海
该16个字节写入0xaa后开启程序读保护功能
配置P32引脚复位后功能。复位后默认情况下为复位功能,设置为
0x5A后,默认功能为高阻状态。
-
该32个字节写入0xaa,重新上电后NVR2不可访问
该字节为0xaa时bandgap trimming值有效
Bandgap trimming值,上电后自动加载
该字节为0xaa时LDO trimming值有效
LDO trimming值,上电后自动加载
该字节为0xaa时LRC时钟配置值有效
LRC时钟配置值,上电后自动加载
该字节为0xaa时HRC时钟配置值有效
HRC时钟配置值,上电后自动加载
S
E
第21页 共99页
7.2.2.1 NVR数据区功能划分
功能描述
0x151
---
0x160-0x17f
NVR4
0x180-0x1ff
CHIPID的高8位
-
Flash配置数据,不可访问
该32个字节写入0xaa,重现上电后NVR3不可访问
WS51F7030
维
晟
擦写操作
下图所示为访问NVR数据区流程图,相关示例程序请参考WS51F7030应用手册。需要说明的是,在擦操作
时往FSCMD写入擦命令或在写操作时往FSDAT写入数据时,CPU会自动暂停,以避免因为中断等原因导致擦写
操作中止。
图7.2.2-2访问NVR数据区流程图
开始
W
I
擦NVR扇区
往FSADR写入地址
往FSCMD写入
83H/87H
7.2.2.2 访问NVR数据区
S
E
Y
N
读操作
前
海
往FSCMD写入
81H/85H
往FSFLG中写入78H
给NVR区解锁,或
往FSFLG中写入12H
给Flash解锁
往FSADR写入地址
写NVR扇区
读取FSDAT数据
往FSCMD写入
82H/86H
N
Y
继续读取
继续擦扇区
往FSADR写入地址
Y
连续地址读取
N
往FSDAT写入数据
Flash区加锁:往FSFLG写入FFH,清
除所有Flash解锁标志
NVR区加锁:往FSFLG写入87H,清除
NVR区解锁标志
结束
N
继续写入数据
Y
N
Y
连续地址写入
第22页 共99页
WS51F7030
7.2.3 EEPROM数据区
维
晟
写操作
W
I
S
E
开始
芯片内置了128B的EEPROM数据区,读写该区不需要擦可直接改写,主要用于存储需要掉电保留的数据。
EEPROM数据区操作流程如下图所示。
图7.2.3-1访问用户数据区流程图
读操作
往FSFLG中写入9AH
给EEPROM区解
锁,或往FSFLG中写
入12H给Flash解锁
往FSCMD写入
41H/45H
前
海
往FSADR写入地址
往FSCMD写入
42H/46H
读取FSDAT数据
往FSADR写入地址
N
Y
往FSDAT写入数据
继续读取
Y
N
N
继续写入数据
Y
N
Flash区加锁:往FSFLG写入FFH,清
除所有Flash解锁标志
EEPROM区加锁:往FSFLG写入A9H,
清除EEPROM区解锁标志
连续地址读取
结束
Y
连续地址写入
第23页 共99页
WS51F7030
7.2.4 Checksum校验
为了保证Flash烧写正确,芯片内置了Checksum功能。设置命令寄存器CMD(FSCMD低4位)为4,即可启动
checksum计算,模块会自动读取地址FSADR指定的扇区,并进行累加计算。在计算过程中,CPU会自动暂停,
计算结束后,命令寄存器CMD会自动清零。用户通过判断Checksum模块计算的结果和实际烧写的程序的
checksum值是否一致,即可确定烧写是否正确。
7.2.5 寄存器描述
MECON
R/W
初始值
位编号
维
晟
8300H 7
W
I
6
-
-
-
5
-
-
-
表7.2.5-1寄存器MECON
4
-
-
-
3
-
-
-
说明
2
IDERR
R
0 0
1
BOOT
R/W
0
0
DPSTB
R/W
0
位符号
前
海
7
6-3
2
1
0
8301H
FSCMD
R/W
初始值
位编号
7
6
5-4
DPSTB
-
IDERR
-
BOOT
IDLE/STOP模式下Flash进入睡眠模式控制位
0:IDLE/STOP模式下,Flash处于正常工作模式
1:IDLE/STOP模式下,Flash进入睡眠模式
备注:如果DPSTB=1,当芯片进入IDLE/STOP模式,Flash也同时进入睡眠模
式,Flash在睡眠模式的功耗为50nA,当芯片退出IDLE/STOP模式,Flash也
同时退出睡眠模式。
-
用户IDCODE寄存器配置错误
-
设置软复位后程序启动空间选择位
0:复位后程序从Flash启动运行
1:软复位后程序从外部RAM启动运行
表7.2.5-2寄存器FSCMD
7
NVRE
R/W
0
位符号
NVRE
EEPE
-
6
EEPE
R/W
0
S
E
5
-
-
-
4
-
-
-
第24页 共99页
3 2
CMD
R/W
1 0
0
说明
0 0 0
NVR区选择信号
EEPROM区选择信号
-
命令寄存器
读写主数据区时
0000:无操作
0001:读Flash DATA区
3-0 CMD
WS51F7030
维
晟
8302H
R/W
7
0010:写Flash DATA区
0011:擦除Flash DATA区一个扇区
0100:Flash整片擦除
0101:读Flash CODE区
0110:写Flash CODE区
0111:擦除Flash CODE区一个扇区
1xxx:CKSUM当前Flash扇区
读写NVR/EEPROM区时
0000:无操作
0001/0101:读数据区
0010/0110:写数据区
0011/0111:擦除数据区
1xxx:CKSUM当前Flash扇区
备注:
1. 擦除命令执行后CMD自动清零。
2. 读和写命令写入后CMD保持不变然后通过读写FSDAT完成。
表7.2.5-3寄存器BTMSK
6 5 4
BTMSK
R/W
3 2 1 0
前
海
BTMSK
1
位符号
BTMSK
1 1
1
W
I
S
E
5 4
R/W
0
0
5
-
-
0
4
FFLG
R
0
第25页 共99页
初始值
位编号
7-0
1
说明
1 1 1
位掩膜寄存器,分别对应操作寄存器的第7-0位
表7.2.5-4寄存器FSDAT
8303H
FSDAT
R/W
初始值
位编号
7-0
表7.2.5-5寄存器FSFLG
8304H
FSFLG
R/W
初始值
位编号
7-5
4
7
-
-
0
位符号
-
FFLG
6
-
-
0
3
CFLG
R
0
说明
-
Flash解锁标志,往FSFLG寄存器写入0x12解锁Flash区,写入0x21锁定Flash
2
DFLG
R
0
1
NFLG
R
0
0
EFLG
R
0
0
位符号
FSDAT
0
7 6 3 2 1 0
FSDAT[7:0]
0
说明
Flash数据寄存器
0 0 0
区
3
2
1
0
8305H
PADR
R/W
7
CFLG
DFLG
NFLG
EFLG
WS51F7030
DATA区解锁标志,往FSFLG寄存器写入0x56解锁DATA区,写入0x65锁定
DATA区
维
晟
W
I
6 5
NVR区解锁标志,往FSFLG寄存器写入0x78解锁DATA区,写入0x87锁定
DATA区
EEPROM区解锁标志,往FSFLG寄存器写入0x9A解锁DATA区,写入0xA9锁
定DATA区
表7.2.5-6寄存器PADR
4
PADR
R/W
1 0
说明
0 0 0 0 0
3 2 1 0
初始值
位编号
0
位符号
前
海
7-0
8306H
FSADRL
R/W
初始值
8307H
FSADRH
R/W
初始值
位编号
15
14-0
PADR
CODE区和DATA区划分配置寄存器
程序区和数据区以128字节为单位进行划分,当 PADR >0时,
程序区的地址空间为: 0 - ( PADR ×128 - 1),
数据区的地址空间为: ( PADR ×128) - 1FFFH.
备注:
当 PADR =0时,整个Flash空间都是数据空间。
PADR的最大值分别为40H,PADR的设置值不能超过最大值。
表7.2.5-7寄存器FSADR
7 6
S
E
5 4
R/W
0
5
0
4
0
0
5 4
R
0 0
第26页 共99页
CODE区解锁标志,往FSFLG寄存器写入0x34解锁CODE区,写入0x43锁定
CODE区
3 2 1 0
FSADR[7:0]
0
7
-
-
-
位符号
-
FSADR
目标地址指针寄存器
表7.2.5-8寄存器CKSUM
0
0
6
0
3
FSADR[14:8]
R/W
0
说明
-
0 0 0
0
2
0
1
0
0
8308H
CKSUML
R/W
初始值
7 6 3 2 1 0
CKSUM[7:0]
0 0 0 0 0 0
8307H
CKSUMH
R/W
初始值
位编号
15-0
8308H
IDCODE0
R/W
初始值
8309H
R/W
7 6 5 4
R
3 2
CKSUM[15:8]
0
位符号
CKSUM
7
0
WS51F7030
1 0
S
E
0 0
5 4
R/W
0
4
R/W
0
5
0
5
0
4
R/W
0
0
5 4
R/W
0
5
0
4
R/W
0
0
第27页 共99页
0 0 0 0
W
I
6
说明
Check Sum累加计数结果
表7.2.5-9寄存器IDCODE
3 2 1 0
IDCODE[7:0]
0
3
0
2
0
1
0
0
维
晟
0
7
0
7
0
6
IDCODE1
初始值
830AH
R/W
IDCODE[15:8]
0
6
0
3
0
2
0
1
0
0
前
海
IDCODE2
初始值
位编号
23-0
0
位符号
IDCODE
0
IDCODE[23:16]
0
说明
用户ID寄存器。开启用户ID功能后,如果ID寄存器内容和NVR2区的IDCODE
数据不一致,IDERR寄存器会拉高。在写IDCODE2寄存器时芯片会产生一次
判断。
表7.2.5-10寄存器CHIPID
0 0 0
8400H
CHIPIDL
R/W
初始值
8401H
CHIPIDH
R/W
初始值
位编号
15-0
0
位符号
CHIPID
0
0
7
0
6
7 6 3 2 1 0
CHIPID[7:0]
0
3
0
2
0
1
0
0
CHIPID[15:8]
0
说明
芯片ID寄存器,上电时自动读取NVR2中的CHIPID数据
0 0 0
WS51F7030
7.3 IO端口
7.3.1 简介
IO端口结构图如下图所示。
维
晟
WS51F7030系列芯片除电源和地端口外,还有14个可编程多功能I/O端口,其主要特点如下。
可配置为高阻模式
I/O结构可独立设置强上拉(10KΩ)、弱上拉(60KΩ)和强下拉(15KΩ)
输出模式可选开漏输出或推挽输出
数据输出锁存支持读-修改-写
支持1.7-5.5V宽电压范围
设为推挽输出时,推电流大于20mA,灌电流大于45mA
W
I
图7.3.1-1 I/O端口结构示意图
S
E
PUH
前
海
PUL
OPE
OE
AE
10K
60K
输出数据
IO端口
15K
PD
输入数据
备注:
OPE:IO端口开漏使能信号
OE:IO端口输出使能信号
AE:IO端口模拟功能使能信号
PUH:IO端口强上拉使能信号
PUL:IO端口弱上拉使能信号
PD:IO端口下拉使能信号
7.3.2 IO端口功能复用
芯片的14个IO端口在功能上被不同的外设功能端口复用。每个端口都分配了一个功能设置寄存器PnxF(分
别对应端口Pnx,其中n=1/3, 代表P1/P3,x=0-7, 代表Pn.0-Pn.7),用户可通过寄存器PnxF配置端口的主功能和
其他选项功能。
第28页 共99页
取值
寄存器
P10S
P11S
P12S
P13S
P14S
P15S
P16S
P17S
P30S
P31S
P32S
P33S
P34S
P35S
表7.3.2-1 IO端口复用功能映射表
0
高阻/LED0
高阻/LED1
高阻/LED2
高阻/LED3
高阻/LED4
高阻/LED5
高阻/LED6
高阻/LED7
高阻/LED8
高阻/LED9
高阻/LED10
高阻/LED11
高阻
高阻
WS51F7030
6 7
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
1
GPIO输入
/T2
GPIO输入
/T2EX
2
GPIO输出
/COM0
/COM1
/COM2
/COM3
/COM4
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
GPIO输出
3
TK0/LED0
TK1/LED1
TK2/LED2
TK3/LED3
TK4/LED4
TK5/LED5
TK6/LED6
TK7/LED7
TK8/LED8
TK9/LED9
TK10/LED10
TK11/LED11
DAC
CMOD
4
PWM0
PWM1
PWM2
PWM3
PWM4
PWM5
高阻
[PWM0]
[PWM5]
[PWM4]
[PWM3]
[PWM1]
[PWM2]
高阻
5
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
[SCL]
[SDA]
RST
SCL
SDA
高阻
S
E
5 4
Pn4
R/W
0 0
第29页 共99页
高阻
高阻
高阻
高阻
高阻
高阻
高阻
高阻
UART0_RX
UART0_TX
DAVF
[UART0_RX]
[UART0_TX]
高阻
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
GPIO输入
/T0
GPIO输入
/T1
前
海
Pn
R/W
备注:
1. 带[]的通道为备选通道,具有较低优先级。I2C端口如果同时打开首选和备选通道,信号会从首选通道输出,
备选通道此时为高阻。而PWM如果同时打开首选和备选通道,两个通道会同时输出该信号。
2. GPIO输入和T0/T1共用引脚,其中T0/T1有更高优先级。
3. 设置寄存器LSPE0/LSPE1开启LED端口功能,当IO端口为高阻或TK功能时,LED输出有效,并与其他功
能共用IO端口,详细见8.10软件LED驱动(SLED)章节描述。
7.3.3 寄存器描述
表7.3.3-1 IO端口寄存器Pn
7
Pn7
R/W
0
6
Pn6
R/W
0
3
Pn3
R/W
0
2
Pn2
R/W
0
1
Pn1
R/W
0
0
Pn0
R/W
0
Pn5
R/W
初始值
n=1/3, 代表P1/P3
寄存器地址
P1:90H
P3:B0H
位编号
7-0
维
晟
位符号
Pn
W
I
说明
端口Pn的数据寄存器,IO端口功能设置为GPIO输出时输出该值
PnxF
R/W
7
表7.3.3-2 IO端口功能寄存器PnxF
6
PnxPUS
R/W
5
PnxOPR
R/W
4
-
-
3
PnxDRS
R/W -
2
WS51F7030
1 0
S
E
第30页 共99页
PnxS
R/W
位编号
维
晟
位符号
PnxPUS
PnxOPR
-
PnxS
n=1/3, 代表P1/P3
x=0-7, 代表Pn0/Pn1/ Pn2/Pn3/ Pn4/Pn5/ Pn6/Pn7
寄存器地址
P10F-P17F:8008H-800FH
P30F-P35H:8018H-801DH
其中
P32F初始值为0x85
P33F初始值为0xA5
P34F初始值为0xA5
其他寄存器初始值为 0x00
W
I
说明
上下拉电阻使能控制位
0: 没有打开上下拉电阻
1:60
KΩ
上拉电阻打开
2:10
KΩ
上拉电阻打开
3:15
KΩ
下拉电阻打开
开漏使能控制位,端口设为GPIO输出时才有效
0: 开漏关闭
1: 开漏打开
-
IO端口复用功能选择寄存器,见表7.3.2-1描述
前
海
5
4-3
2-0
7-6
WS51F7030
7.4 定时器0/1/2
7.4.1 定时器0
在此模式下,定时器0作为13位定时器/计数器,寄存器TH0存放13位定时器/计数器的高8位,寄存器
TL0的低5位存放定时器/计数器低5位,TL0的高3位是无效的,在读取时应被忽略。当定时器0溢出,中断标
志位TF0会被置1。中断响应后,TF0位会自动清0。当GATE0=0时,定时器/计数器由TR0位使能计数,当GATE0=1
时,定时器/计数器由端口INT0控制使能,INT0为高电平时计数,INT0为低电平则停止计数。
7.4.1.2 模式1
前
海
此模式下,定时器0作为16位定时器/计数器,除此之外,功能与模式0完全相同。
图7.4.1-1定时器0的模式0与1
Fsys/12
维
晟
7.4.1.1 模式0
W
I
CT0=0
CT0=1
TR0
定时器或计数器功能通过控制位CT0来选择,CT0=0选择为定时器,CT0=1选择为计数器。作为定时器时,
时钟是系统时钟的12分频。作为计数器时,时钟是T0端口的输入。由于检测T0输入边沿变化需要2个时钟周
期,所以作为计数器时最大的输入波特率是内部系统时钟频率的1/2。T0输入信号在占空比上没有限制,为了完
全识别0或1的状态,信号至少需要保持1个内部系统时钟周期时间。定时器0有4个工作模式,通过模式选择
位T0M0和T0M1来选择。
S
E
TH0
第31页 共99页
计满溢出
T0
时钟输入
TL0TF0
中断
GATE0
INT0
7.4.1.3 模式2
WS51F7030
W
I
CT0=0
CT0=1
时钟输入
TR0
Fsys/12
S
E
TL0
TH0
在此模式中,定时器0作为8位自动重载定时器/计数器,只有TL0自动累加。当TL0计数溢出时,不但产
生中断标志TF0,而且从TH0中自动装载计数初始值到TL0。其他设置方法和模式0、1相同。
图7.4.1-2定时器0的模式2
计满溢出
TF0
中断
前
海
维
晟
T0
GATE0
INT0
重载
7.4.1.4 模式3
在此模式中,TL0和TH0作为两个独立的8位定时器/计数器。TL0可以作为定时器或计数器,而TH0只能作
为定时器。其中TL0占用定时器0的控制位CT0、GATE0、TR0、TF0、INT0,而TH0占用定时器1的控制位TR1、
TF1。其他控制方法和模式0、1相同。当定时器0工作于模式3时,定时器1和TH0共用控制位TR1,但定时器
1由于TF1已被TH0占用,所以只能工作于不需要产生中断的场合,例如作为UART0的波特率产生器。
图7.4.1-3定时器0的模式3
TR1
Fsys/12
TH0
计满溢出
TF1
中断
CT0=0
CT0=1
TL0
T0
时钟输入
TR0
计满溢出
TF0
中断
GATE0
INT0
第32页 共99页
WS51F7030
7.4.2 定时器1
定时器或计数器功能通过CT1来选择,CT1=0选择为定时器,CT1=1选择为计数器。作为定时器时,时钟是
系统时钟的12分频。作为计数器时,时钟是T1的输入时钟。由于检测T1输入边沿变化需要2个时钟周期,所
以作为计数器时最大的输入波特率是内部系统时钟频率的1/2。T1输入信号在占空比上没有限制,然而为了完全
识别0或1的状态,信号至少需要保持1个内部系统时钟周期时间。定时器1有4个工作模式,通过T1M0和
T1M1来选择。
7.4.2.1 模式0
7.4.2.2 模式1
前
海
在此模式下,定时器1作为16位定时器/计数器,TH1存放16位定时器/计数器的高8位,TL1存放低8位。
当定时器1溢出,中断标志位TF1会被置1。中断被响应后,TF1位会自动清0。当GATE1=0时,定时器/计数器
由TR1位使能计数,当GATE1=1时,定时器/计数器由端口INT1控制使能,INT1为高电平时计数,INT1为低电
平则停止计数。
图7.4.2-1定时器1的模式0和1
Fsys/12
维
晟
CT1=0
CT1=1
在此模式下,定时器1作为13位定时器/计数器,TH1存放13位定时器/计数器的高8位,TL1[4:0]存放低5
位,而TL1[7:5]是无效的,在读取时应被忽略。当定时器1溢出,中断标志位TF1会被置1。中断响应后,TF1
位会自动清0。当GATE1=0时,定时器/计数器由TR1位使能计数,当GATE1=1时,定时器/计数器由端口INT1
控制使能,INT1为高电平时计数,INT1为低电平则停止计数。
W
I
TR1
S
E
TH1
第33页 共99页
计满溢出
T1
时钟输入
TL1TF1
中断
GATE1
INT1
7.4.2.3 模式2
WS51F7030
Fsys/12
W
I
CT1=0
CT1=1
S
E
TL1
TH1
第34页 共99页
在此模式中,定时器1作为8位自动重载定时器/计数器,只有TL1自动累加。当TL1计数溢出时,不但产
生中断标志TF1,而且从TH1中自动装载计数初始值到TL1。其他设置方法和模式0、1相同。
图7.4.2-2定时器1的模式2
计满溢出
TF1
中断
重载
前
海
维
晟
T1
时钟输入
TR1
GATE1
INT1
7.4.2.4 模式3
此模式下,TH1、TL1会被锁住,等效于TR1=0。
WS51F7030
7.4.3 定时器2
定时器2是一个16位(TH2、TL2)的定时器或计数器,其定时或计数功能通过CT2来选择,CT2=0选择为
定时功能,CT2=1选择为计数功能。作为计数器时,其输入时钟为T2引脚。
定时器2有4种工作模式:重载模式、抓取模式、波特率产生器模式和时钟输出模式。
T2引脚为定时器2的时钟输入输出引脚,在时钟输出模式,该引脚输出可编程时钟,而在其他模式,T2为
时钟输入引脚。T2EX引脚时定时器2的门控信号,在使用T2EX边沿时,可通过T2XPS选择是上升沿还是下降沿。
定时器2的计数溢出标志为TF2,T2EX的边沿触发标志为EXF2,而在波特率产生器模式和时钟输出模式,
定时器不会产生任何标志。
前
海
重载模式有两种工作方式:模式0和模式1。
当DCEN为0时,设置CPRL2为0则进入重载模式0,如图7.4.3-1所示。此时如果EXEN2也为1,则T2EX
边沿和计数溢出时将触发重载,否则只有计数溢出才能触发重载。
当DCEN为1时则进入重载模式1,如图7.4.3-2所示。此时T2EX为低时定时器递减计数,T2EX为高时定时
器递增计数。EXF2标志不再产生中断,而是作为计数器得第17位翻转。
图7.4.3-1定时器2的重载模式0
T2CS
0
S
MUX
1
Fsys/12
维
晟
Fsys
T2
7.4.3.1 重载模式
W
I
CT2=0
CT2=1
TR2
T2PS
0
S
MUX
1
EXEN2
S
E
TH2
重载
T2CH
TL2
计满溢出
T2CL
TF2
EXF2
中断
T2EX
图7.4.3-2定时器2的重载模式1
T2EX
T2CS
FFH
Fsys/12
0
S
MUX
Fsys
1
重载
翻转
EXF2
FFH
CT2=0
CT2=1
TR2
TH2TL2
计满溢出
TF2
中断
重载
T2
T2CHT2CL
第35页 共99页
7.4.3.2 抓取模式
WS51F7030
T2CS
Fsys/12
0
S
MUX
Fsys
1
W
I
CT2=0
TR2
CT2=1
抓取
T2PS
S
MUX
EXEN2
0
1
维
晟
T2
S
E
TH2
T2CH
TH2TL2
T2CHT2CL
EXEN2
设置CPRL2为1则进入抓取模式。如果设置T2CM为0,且EXEN2为1,则由T2PS选择T2EX上沿或下沿触
发抓取操作。如果设置T2CM为1,则软件写入寄存器T2CL将触发一次抓取操作。
图7.4.3-3定时器2的抓取模式
TL2
计满溢出
T2CL
TF2
EXF2
中断
T2EX
前
海
7.4.3.3 波特率产生器模式
设置RCLK或TCLK为1则进入波特率产生器模式,此时定时器自动进入计数溢出重载模式,相关波特率产生
参考8.2 UART0章节。
7.4.3.4 时钟输出模式
设置T2OE为1则进入时钟输出模式,此时定时器自动进入计数溢出重载模式,T2引脚输出频率为2倍溢出
周期的时钟。此模式不能使用T2作为时钟输入。
图7.4.3-4定时器2的时钟输出模式
T2CS
Fsys/12
0
S
MUX
Fsys
1
CT2=0
CT2=0
CT2=1
T2OE
T2
时钟输入
TR2
计满溢出
1/2
时钟输出
T2PS
0
T2EX
1
S
MUX
中断
EXF2
第36页 共99页
WS51F7030
7.4.4 寄存器描述
88H
TCON
R/W
初始值
位编号
7
6
5
4
3
2
1
0
7
TF1
R/W
0
6
TR1
R/W
0
S
E
5 4
TF0
0
TR0
0
R/W
5 4
T1M0
R/W
0
0
第37页 共99页
表7.4.4-1寄存器TCON
3
IE1
R/W
0
说明
2
IT1
R/W
0
1
IE0
R/W
0
0
IT0
R/W
0
位符号
TF1
TR1
TF0
IE1
IT1
IE0
IT0
TR0
前
海
89H
TMOD
R/W
初始值
位编号
7
6
维
晟
7
GATE1
R/W
0
位符号
GATE1
CT1
W
I
6
CT1
R/W
0
R/W
定时器0模式3的TH0溢出/定时器1溢出标志位,中断响应后自动清0.
定时器1运行控制位,1有效
定时器0溢出标志位,中断响应后自动清0.
定时器0运行控制位,1有效
外部中断1使能位,1有效
外部中断1触发类型控制位
0:外部中断1在输入管脚低电平时触发
1:外部中断1在输入管脚下降沿时触发
外部中断0使能位,1有效
外部中断0触发类型控制位
0:外部中断0在输入管脚低电平时触发
1:外部中断0在输入管脚下降沿时触发
表7.4.4-2寄存器TMOD
3
GATE0
R/W
0
说明
定时器1门控控制位,1有效。有效时定时器1由INT1控制开关
定时器1计数器/定时器选择位
0:定时器,时钟为系统时钟12分频
1:计数器,时钟为T1输入时钟
[ T1M1,T1M0 ]为定时器1模式选择位
00:模式0,TL1和TH1组成13位定时器/计数器
01:模式1,TL1和TH1组成16位定时器/计数器
10:模式2,TL1作为8位定时器/计数器,TH1作为自动重载寄存器
11:模式3,此模式会锁住TH1/TL1,等效于TR1=0
定时器0门控控制位,1有效。有效时定时器0由INT0控制开关
定时器0计数器/定时器选择位
0:定时器,时钟为系统时钟12分频
1:计数器,时钟为T0输入时钟
2
CT0
R/W
0
1
T0M1
R/W
0
0
T0M0
R/W
0
T1M1
R/W
5 T1M1
4
3
2
T1M0
GATE0
CT0
1
T0M1
WS51F7030
0
8AH
TL0
R/W
初始值
位编号
7-0
T0M0
7
W
I
6 5
表7.4.4-3寄存器TL0
4
TL0
R/W
0 0
说明
0 0 0
3 2 1 0
维
晟
位符号
TL0
8CH
TH0
0
位符号
TH0
7
0 0
定时器0模式0/1计数值的低字节,模式2/3计数值
表7.4.4-4寄存器TH0
6 5 4
TH0
R/W
0 0
说明
定时器0模式0/1计数值的高字节,模式2重载值,模式3计数值
表7.4.4-5寄存器TL1
0 0 0 0 0
3 2 1 0
前
海
R/W
初始值
位编号
7-0
8BH
TL1
R/W
初始值
位编号
7-0
7 6
S
E
0
5 4
TL1
R/W
0
0
5 4
TH1
R/W
0
0
5 4
第38页 共99页
[ T0M1,T0M0 ]为定时器0模式选择位
00:模式0,TL0和TH0组成13位定时器/计数器
01:模式1,TL0和TH0组成16位定时器/计数器
10:模式2,TL0作为8位定时器/计数器,TH0作为自动重载寄存器
11:模式3,TL0和TH0作为两个完全独立的8位定时器/计数器
3 2 1 0
0
位符号
TL1
0 0
说明
0 0 0
定时器1模式0/1计数值的低字节,模式2/3计数值
表7.4.4-6寄存器TH1
8DH
TH1
R/W
初始值
位编号
7-0
7 6 3 2 1 0
0
位符号
TH1
0 0
说明
0 0 0
定时器1模式0/1计数值的高字节,模式2重载值,模式3计数值
表7.4.4-7寄存器T2CON
C8H 7 6 3 2 1 0
T2CON
R/W
初始值
位编号
7
TF2
R/W
0
位符号
TF2
EXF2
R/W
0
RCLK
R/W
0
TCLK
R/W
0
EXEN2
R/W
0
说明
TR2
R/W
0
WS51F7030
CT2 CPRL2
R/W
0
R/W
0
6 EXF2
前
海
3
2
1
0
C9H
T2MOD
R/W
初始值
位编号
7
6-5
4
维
晟
5 RCLK
4 TCLK
EXEN2
TR2
CT2
CPRL2
7
T2IE
R/W
0
位符号
T2IE
-
T2CM
W
I
6
-
-
-
5
-
-
-
定时器2溢出标志位。当RCLK或TCLK为1,TF2不会被置1
T2EX和软件抓取触发标志。
在EXEN2=1时,T2EX边沿将触发EXF2并产生中断。当DCEN=1时,EXF2标
志不产生中断,此时EXF2作为计数器得第17位。
在T2CM=1时,软件写入T2CL寄存器将触发一次抓取,此时将置位EXF2标
志
UART0在模式1和3时使用定时器1/2作为接收波特率时钟
0:定时器1
1:定时器2
UART0在模式1和3时使用定时器1/2作为发送波特率时钟
0:定时器1
1:定时器2
T2EX使能信号,在定时器没有作为UART0波特率时钟时T2EX有效
定时器2启动信号,1有效
定时功能或计数功能选择信号
0:定时功能,使用系统内部时钟计数
1:计数功能,使用T2输入时钟计数
抓取或重载功能选择信号。当RCLK或TCLK为1时,定时器强制进入Timer 2
重载模式
0:重载功能
1:抓取功能
表7.4.4-8寄存器T2MOD
4
T2CM
R/W
0
3
T2XPS
R/W
0
说明
定时器2中断使能
-
定时器2抓取模式选择
0:T2EX触发抓取
1:软件写T2CL抓取
T2EX有效边沿选择
0:下降沿
1:上升沿
T2边沿选择
0:下降沿
第39页 共99页
S
E
2
T2PS
R/W
0
1
T2OE
R/W
0
0
DCEN
R/W
0
3 T2XPS
2 T2PS
1
0
CAH
T2CL
R/W
初始值
位编号
7-0
1:上升沿
T2OE
DCEN
定时器2时钟输出模式使能
重载模式1的使能位,1有效
WS51F7030
表7.4.4-9寄存器T2CL
W
I
7 6
S
E
5 4
T2CL
R/W
0 0
5 4
T2CH
R/W
0
0
5 4
TL2
R/W
0
0
5 4
TH2
R/W
0
0
第40页 共99页
3 2 1 0
0 0 0
说明
0 0 0
维
晟
T2CL
CBH 7
位符号
在重载模式,T2CL是重载值的低字节
在比较模式,T2CL是比较值的低字节
在抓取模式,T2CL保存捕获值的低字节
表7.4.4-10寄存器T2CH
6 3 2 1 0
前
海
T2CH
R/W
0
位符号
T2CH
0
初始值
位编号
7-0
0
说明
0 0 0
在重载模式,T2CH是重载值的高字节
在比较模式,T2CH是比较值的高字节
在捕获模式,T2CH保存捕获值的高字节
表7.4.4-11寄存器TL2
CCH
TL2
R/W
初始值
位编号
7-0
表7.4.4-12寄存器TH2
CDH
TH2
R/W
初始值
位编号
7-0
0
位符号
TH2
0
7 6 3 2 1 0
0
位符号
TL2
0
7 6 3 2 1 0
0
说明
0 0 0
定时器2计数值的低字节
0
说明
0 0 0
定时器2计数值的高字节
WS51F7030
7.5 中断系统
7.5.1 简介
维
晟
中断
INT0
TF0
TF1
INT1
WS51F7030系列芯片有一个增强的中断控制系统,共有7个中断入口,如下表所示。
每个中断源有独立的中断向量地址、中断使能位和中断标志。CPU在响应中断后,进入该中断对应的中断服
务程序,接到RETI指令后将返回中断前状态。
每个中断源有两级中断优先级,如果同时有多个有效中断产生中断请求,CPU将根据设置的中断优先级依次
响应;如果优先级相同,则根据它们的自然优先级(中断向量地址从低到高)依次响应。
寄存器IE和EXIE为中断使能寄存器,寄存器IP和EXIP为中断优先级寄存器,详见7.5.3寄存器描述。
表7.5.1-1中断向量表
W
I
中断源
6
EINT3
R/W
0
5
EINT2
R/W
0
S
E
4
ES0
R/W
0
第41页 共99页
向量地址
03H
0BH
13H
1BH
23H
2BH
33H
中断号
0
1
2
3
4
5
6
External Interrupt 0
Timer 0
Timer 1
UART 0
External Interrupt 1
前
海
A8H
IE
R/W
RI+TI
INT2
INT3
I2C/Timer2/PWM/LED/External Interrupt 2
Touch Key/WDT/LVD/WKT/External Interrupt 3
7.5.2 外部中断
除了标准8051的INT0和INT1以外,系统还扩展了2个中断入口INT2/INT3作为外部中断EP0/ EP1。扩展的
每个外部中断都可选择任意输入口作为中断触发源,也可各自单独设置上升沿/下降沿/双沿触发中断。为了提高
外部中断的抗干扰性能,每个外部中断都集成了模拟滤波器。
所有外部中断都可以用于STOP模式唤醒。EPIF为EP0/EP1外部中断状态寄存器,EP0/EP1对应的各个配置
寄存器为EP0CON/EP1CON。
7.5.3 寄存器描述
表7.5.3-1中断使能寄存器IE
7
EA
R/W
0
位符号
EA
全局中断使能控制位
0:关闭
1:打开
INT3使能控制位,用于Touch Key/WDT/LVD/WKT/EP1中断
0:关闭
1:打开
3
ET1
R/W
0
说明
2
EINT1
R/W
0
1
ET0
R/W
0
0
EINT0
R/W
0
初始值
位编号
7
6 EINT3
5
EINT2
INT2使能控制位,用于I2C/Timer2/PWM/LED/EP0中断
0:关闭
1:打开
UART0中断使能控制位
0:关闭
1:打开
WS51F7030
4 ES0
3 ET1
前
海
B8H
IP
维
晟
1 ET0
0 EINT0
7
-
-
0
位符号
-
PX3
2 EINT1
W
I
6
PX3
R/W
0
5
PX2
R/W
0
定时器 1中断使能控制位
0:关闭
1:打开
中断1使能控制位(中断1用于外部中断1)
0:关闭
1:打开
定时器0中断使能控制位
0:关闭
1:打开
0使能控制位(中断0用于外部中断0)
0:关闭
1:打开
表7.5.3-2中断优先级寄存器IP
4
PS0
R/W
0
3
PT1
R/W
0
说明
2
PX1
R/W
0
1
PT0
R/W
0
0
PX0
R/W
0
R/W
初始值
位编号
7
6
-
INT3优先级控制位,用于Touch Key/WDT/LVD/WKT/EP1中断
0:低优先级
1:高优先级
INT2优先级控制位,用于I2C/Timer2/PWM/LED/EP0中断
0:低优先级
1:高优先级
UART0优先级控制位
0:低优先级
1:高优先级
Timer 1优先级控制位
0:低优先级
1:高优先级
INT1优先级控制位
0:低优先级
1:高优先级
Timer 0优先级控制位
0:低优先级
第42页 共99页
5 PX2
4 PS0
3 PT1
2 PX1
1 PT0
S
E
1:高优先级
0 PX0
INT0优先级控制位
0:低优先级
1:高优先级
WS51F7030
FAH
IT0CON
R/W
初始值
位编号
0
位符号
7 6
W
I
5
表7.5.3-3 INT0控制寄存器IT0CON
4 3
IT0PS
R/W
1 1
说明
0 1 0
2 1 0
IT0P
R/W
0
前
海
FBH
IT0CON
R/W
初始值
位编号
7-6
维
晟
7-6 IT0P
5-0 IT0PS
7
IT1P
R/W
0
位符号
IT1P
当IT0(TCON[0])为0时,IT0P为触发电平选择
00:低电平
01:高电平
10/11:保留
当IT0(TCON[0])为1时,IT0P为触发边沿选择
00:下降沿
01:上升沿
10/11:双沿
INT0中断引脚选择
001000:P10
001001:P11
001010:P12
001011:P13
001100:P14
001101:P15
001110:P16
001111:P17
011000:P30
011001:P31
011010:P32
011011:P33
011100:P34
011101:P35
表7.5.3-4 INT1控制寄存器IT1CON
6 5 4 3
IT1PS
R/W
0 0
说明
当IT1(TCON[0])为0时,IT1P为触发电平选择
00:低电平
第43页 共99页
S
E
0
1
2 1 0
1 0 1 0
01:高电平
10/11:保留
当IT1(TCON[2])为1时,IT1P为触发边沿选择
00:下降沿
01:上升沿
10/11:双沿
INT1中断引脚选择
001000:P10
001001:P11
001010:P12
001011:P13
001100:P14
001101:P15
001110:P16
001111:P17
011000:P30
011001:P31
011010:P32
011011:P33
011100:P34
011101:P35
WS51F7030
前
海
维
晟
5-0 IT1PS
7
EPnP
R/W
0
W
I
6 5
表7.5.3-5 EPn控制寄存器EPnCON
4 3
EPnPS
R/W
0 0 0 0 0 0 0
2 1 0
EPnCON
R/W
初始值
n=0-1, EPn代表EP0/EP1
寄存器地址
EP0CON:DAH
EP1CON:DBH
位编号 位符号
EPnP为触边沿选择
00:下降沿
01:上升沿
10/11:双沿
EPn中断引脚选择
001000:P10
001001:P11
001010:P12
001011:P13
001100:P14
001101:P15
001110:P16
第44页 共99页
7-6 EPnP
5-0 EPnPS
S
E
说明
001111:P17
011000:P30
011001:P31
011010:P32
011011:P33
011100:P34
011101:P35
表7.5.3-6 外部中断使能寄存器EPIE
6
-
-
-
WS51F7030
D8H
EPIE
R/W
初始值
位编号
7-2
1
0
7
-
-
-
W
I
5
-
-
-
S
E
4
-
-
-
5
-
-
-
4
-
-
-
第45页 共99页
3
-
-
-
说明
2
-
-
-
1
EP1IE
R/W
0
0
EP0IE
R/W
0
前
海
D9H
EPIE
维
晟
位符号
-
EP1IE
EP0IE
-
7
-
-
-
位符号
-
EP1IF
EP0IF
EP1中断使能信号
EP0中断使能信号
表7.5.3-7 外部中断标志寄存器EPIF
6
-
-
-
3
-
-
-
说明
-
EP1中断标志
EP0中断标志
2
-
-
-
1
EP1IF
R/W
0
0
EP0IF
R/W
0
R/W
初始值
位编号
7-2
1
0
WS51F7030
7.6 时钟系统
7.6.1 时钟源
WS51F7030系列芯片共支持以下时钟源:
内部16MHz RC振荡器HRC
内部32KHz RC振荡器LRC
7.6.1.1 内部16MHz RC振荡器(HRC)
7.6.1.2 内部32KHz RC振荡器(LRC)
LRC可通过LRE位打开或关闭。LRC设为系统时钟可实现系统低功耗。芯片出厂后,LRC的频率校正为
**********/25℃,时钟精度为±1%。
前
海
7.6.2 时钟控制关系
HRC和LRC均可作为系统时钟的时钟源,同时它们的1-16整数分频时钟也可作为系统时钟的时钟源。寄存
器SCCON是系统时钟的控制寄存器,通过它们可以设置系统时钟的切换和分频等操作。
每个源时钟都可以单独打开或关闭,当源时钟作为CPU时钟或外设时钟时,该时钟自动开启,如下表所示。
表7.6.2-1外设时钟映射表
外设模块
系统时钟
LRC时钟
HRC时钟
系统时钟
PWM
I2C
WDT
WKT
其他模块
LRC时钟
HRC时钟
HRC时钟
LRC时钟
LRC时钟
系统时钟
使用的时钟 时钟是否自动开启
是
是
是
是
是
是
是
是
否
7.6.3 寄存器描述
表7.6.3-1寄存器SCCON
86H
SCCON
R/W
初始值
位编号
7
7
SCKS
R/W
0
位符号
SCKS
6
-
-
-
5
-
-
-
说明
系统时钟选择
第46页 共99页
维
晟
HRC是芯片上电后默认的系统时钟,可通过HRE位打开或关闭。芯片出厂后,HRC的频率校正为
**********/25℃,时钟精度为±1%。
W
I
S
E
4
-
-
- 0 0
3 2
SCKDIV
R/W
0 1
1 0
0:选择HRC时钟
1:选择LRC时钟
系统时钟分频
0:不分频
1:2分频
2:3分频
…
15:16分频
WS51F7030
96H 7
维
晟
W
I
6
-
-
- 1
5
3-0 SCKDIV
表7.6.3-2寄存器HRCON
4 3
R/W
0 0
说明
0 0 0
2 1 0
HRCFG[5:0] HRCFG
R/W
HRE
0
R/W
初始值
位编号
7
6
位符号
HRE
-
HRCFG
前
海
5-0
HRC使能信号,该位为高则HRC打开,该位为低并且外设没有使用该时钟则
HRC关闭
-
HRC频率调整寄存器
表7.6.3-3寄存器LRCON
97H 7
LRE
R/W
0
位符号
LRE
-
LRCFG
6
-
-
-
S
E
5 4 3
R/W
1
0 0
说明
0 0 0
2 1 0
LRCFG[5:0]
第47页 共99页
6-4 - -
LRCFG
R/W
初始值
位编号
7
6
5-0
LRC使能信号,该位为高则LRC打开,该位为低并且外设没有使用该时钟则
LRC关闭
-
LRC频率调整寄存器
WS51F7030
7.7 复位系统
芯片内部有5种复位源:上电复位(POR)、掉电复位(BOR)、看门狗复位(WDT)、低电压检测复位(LVD)、
外部硬复位和内部软复位。
软复位后CPU将从BOOT(MECON[0])位指定的位置启动,而其他复位后CPU将从Flash的CODE区启动运
行。
7.7.1 上电复位(POR)和掉电复位(BOR)
前
海
芯片上电需要一定时间才能达到正常的工作电压,上电复位电路能够保证芯片上电到正常工作电压前一直处
于复位状态,从而保证芯片从初始默认状态开始运行。
芯片掉电是从正常工作电压到不正常工作电压的渐变过程,在这个过程中由于电压的降低芯片内部工作出现
异常状态,在这个异常工作状态下芯片可能会执行错误的操作,从而可能导致整个电路系统出错。掉电复位电路
强制芯片在电压低于某个电压(Vbor)时持续处于复位状态,直到电压低到所有电路都不能正常工作为止,从而避
免芯片在掉电时执行错误操作。
如下图所示为POR和BOR工作过程,POR和BOR的具体电气参数参照第10章电气特性的POR电气特性。
图7.7.1-1 POR和BOR工作过程
维
晟
Vpor
Vbor
VDD
W
I
Tpor
S
E
第48页 共99页
Tpor
POR/BOR输出
备注:
Vpor:上电复位截止电压值
Vbor:掉电复位起始电压值
Tpor:上电复位截止后持续复位时间
7.7.2 看门狗(WDT)复位
WDT主要用于监控CPU执行指令的情况。如果在指定时间内没有刷新WDT,则系统可能出现死锁或跑飞,
此时WDT会产生系统复位。详细描述请参照8.4看门狗定时器(WDT)章节。
7.7.3 低电压检测(LVD)复位
LVD的作用类似于掉电复位,不同的是LVD工作在芯片正常工作电压区间。开启LVD后它将持续监控电源电
压VDD,当VDD低于LVD设定的域值电压超过20us就可以产生触发信号。如果设定LVD触发信号产生复位,将
复位芯片系统。详细描述请参照8.7低电压检测(LVD)章节。
WS51F7030
7.7.4 外部硬复位和内部软复位
P32默认情况可配置为外部硬复位RST端口或者高阻(表7.3.2-1描述)。如果配置为RST端口,拉低RST将
产生复位信号。RST复位可以复位整个芯片,在STOP状态,RST复位会唤醒芯片后再复位。一般工作情况下,RST
端口被内部拉高,不会影响内部的复位电路。
通过对SWRST(PCON[5])位写1,CPU可以发出复位指令。
7.7.5 寄存器描述
RSTFLG
R/W
维
晟
9FH 7
-
-
-
W
I
6
-
-
-
5
-
-
-
表7.7.5-1寄存器RSTFLG
4
R
0
3
WDRF
R
0
2
PDRF
R/W0C
0
1
HWRF
R/W0C
0
0
SWRF
R/W0C
0
LVDF
初始值
备注:
WOC:写0清除
位编号
7-5
4
3
2
1
0
前
海
位符号
-
LVDF
WDRF
PDRF
HWRF
SWRF
-
LVD复位标志,清除LVDCON中相关标志自动清除
WDT复位标志,喂狗刷新WDT自动清除
上电或掉电复位标志,写0清除
硬复位标志,写0清除
软复位标志,写0清除
S
E
第49页 共99页
说明
WS51F7030
7.8 电源管理
7.8.1 LDO
7.8.2 IDLE模式
前
海
87H
PCON
R/W
在IDLE模式下,CPU将停止工作。进入IDLE模式前,除了主时钟,其他的时钟源可根据需要选择关闭,以
便节省功耗。同样进入IDLE模式前,可根据需要设定芯片某些外设的开关,打开的外设在IDLE下仍然可以正常
工作。
进入IDLE模式前,需要先查看一下寄存器IDLF,如果所有位都为0,则CPU将正常进入IDLE模式。如果IDLF
的位不全为0,即使有设置进入IDLE模式的操作,CPU也不会进入IDLE模式,而是继续停留在正常工作模式。
此时用户需先把对应的中断处理完成,再重新设置进入IDLE模式。
所有复位事件和任何中断事件都将唤醒芯片。中断唤醒CPU后,芯片首先恢复时钟,然后响应中断,进入
该中断的服务程序。退出中断服务程序后,芯片将执行置位IDLE指令后的指令。退出IDLE模式时,IDLE位将自
动清零。需要注意的是,在置位IDLE的指令后面需要紧接两条nop指令,防止程序出错。
7.8.3 STOP模式
STOP模式是比IDLE更深层次的低功耗模式。STOP模式可以停止所有时钟(包括主时钟)和时钟产生电路。
如果WDT和WKT处于打开状态,则它们使用的时钟模块将处于工作状态,可以有选择地关闭WDT和WKT以节
省功耗。
类似于IDLE模式,进入STOP模式前,需要先查看STPF寄存器,若有置1的位存在,需要先行处理,以确
保能顺利进入STOP模式。
可唤醒的STOP模式事件:外部中断、LVD中断或复位、外部硬复位、WKT 中断、WDT中断或复位、触摸
中断。
如果是中断唤醒,那么唤醒MCU后,芯片首先恢复时钟,然后响应该中断,进入该中断的服务程序。退出
中断服务程序后,芯片将执行置位STOP指令后的指令。退出STOP模式时,STOP位将自动清零。
在进入STOP模式时,最后一个时钟沿将关闭系统时钟,然后芯片完全进入STOP模式。需要注意的是,在
置位STOP的指令后面需要紧接两条nop指令,防止程序出错。
7.8.4 寄存器描述
表7.8.4-1寄存器PCON
7
SMOD
R/W
0
位符号
SMOD
6
-
-
-
5
SWRST
W
0
位编号
7
说明
UART0波特率倍频控制位
第50页 共99页
维
晟
W
I
WS51F7030系列芯片有两种低功耗模式: IDLE和STOP模式,其中IDLE 模式时系统最小功耗小于10uA,STOP
模式时系统最小功耗典型值为2uA。
S
E
4
TSMODE
R
0
3
-
-
-
2
-
-
-
1
STOP
W
0
0
IDLE
W
0
初始值
WS51F7030
在UART0工作于模式1,2,3时,设置SMOD=1会使波特率倍频,与标准8051
相同。
软复位控制位,1有效
设置SWRST=1产生软复位,复位产生后自动清0。
5
4
3-2
1
SWRST
TSMODE
-
STOP
维
晟
0 IDLE
7
-
-
-
位符号
-
IDLF[6]
IDLF[5]
IDLF[4]
IDLF[3]
IDLF[2]
IDLF[1]
IDLF[0]
FCH
W
I
6 5
芯片进入测试模式标志
-
STOP模式控制位,1有效
当设置STOP=1且STPF为0时,芯片进入STOP模式,退出STOP模式后自动清
0
IDLE模式控制位,1有效
当设置IDLE=1且IDLF为0时,芯片进入IDLE模式,退出IDLE模式后自动清0
表7.8.4-2寄存器IDLF
4 3
IDLF
R
0
说明
-
Touch Key/WDT/LVD/WKT/ External Interrupt 3事件
I2C/ Timer2/PWM/LED/External Interrupt 2事件
UART 0事件
Timer 1事件
External Interrupt 1事件
Timer 0事件
External Interrupt 0事件
表7.8.4-3寄存器STPF
0 0 0 0 0
2 1 0
IDLF
R/W
前
海
6
5
4
3
2
1
0
初始值
位编号
7
0
FEH
STPF
R/W
初始值
位编号
7-6
5
4
3
2
1
0
7
-
-
-
位符号
-
STPF [5]
STPF [4]
STPF [3]
STPF [2]
STPF [1]
STPF [0]
6
S
E
5 4
0
0
第51页 共99页
6 - -
3
STPF [6:0]
R
2 1 0
0 0
说明
0 0 0
-
Touch Key事件
WDT事件
LVD事件
WKT事件
外部中断INT2/INT3事件
外部中断INT0/INT1事件
WS51F7030
8 增强功能
8.1 脉宽调制(PWM)
8.1.1 简介
WS51F7030系列芯片最多可输出6路独立的PWM波形,每路PWM的周期和占空比都可在16位范围内任
意配置。这6路PWM又可以两两结合,组成3组带8位死区控制的互补PWM输出。
前
海
以为PWM0/1为例子(PWM2/3,PWM4/5与PWM0/1原理一致):
1. 它们的时钟相同,均由PWM0CKS从选择系统时钟、LRC、HRC中选择其一。
2. 当PWMnSN为1时,它们各自独立。这时PWM0的周期为PWM0DIV+1,占空比为PWM0DUT/( PWM0DIV+1),
输出极性由PWM0OP控制;PWM1的周期为PWM1DIV+1,占空比为PWM1DUT/( PWM1DIV+1) ,输出
极性由PWM0ON控制。无死区时间。
3. 当PWMnSN为0时,PWM0与PWM1组成互补PWM输出。PWM0和PWM1是在原始参考波形PWM0_REF
上,通过选择互补模式,配置极性,插入死区时间等操作生成的。其中,原始参考波形的周期为PWM0DIV+1,
占空比为PWM0DUT/( PWM0DIV+1);互补模式由PWM0OM控制;极性由PWM0OP、PWM0ON控制;
死区时间为PWM0DTS+1(PWM1DUTL在互补输出时复用成PWM0DTS)。波形参考下图。
图8.1.2-1 PWM0/1原理示意图
PWM0DUT
相等
S
SET
维
晟
8.1.2 PWM工作原理
W
I
S
E
Q
PWM0_REF
0
1
PWM0OP
16bit
计数器
PWM0
清零
相等
R
CLR
Q
PWM0OM
PWM0CKS
Fsys
LRC
HRC
0
1
2
PWM1DUT
相等
S
SET
PWM0DIV
PWM0SN
0
1
Q
PWM0OM
0
16bit
计数器
清零
相等
R
CLR
Q
PWM0_REF1
PWM0ON
PWM1
PWM1DIV
第52页 共99页
8.1.2.1 PWM输出波形
WS51F7030
PWMnDUT
维
晟
PWMnDIV+1
W
I
各路PWM独立时:
若PWMnDIV=0时,PWMn输出所选的PWM时钟源波形。
若PWMnDIV不为0,而PWMnDUT=0时,如果对应的PWMnOP或PWMnON为0则输出低电平,否则输出
高电平。
当满足条件PWMnDIV>PWMnDUT>0,PWMnOP或PWMnON为0时,PWMn波形如下图所示。
图8.1.2-2 各路PWM独立时的波形图
S
E
第53页 共99页
前
海
输出互补PWM时(以为PWM0和PWM1为例):
PWM0/1原始参考波形图同上图;
在PWM0OP和PWM0ON不变的情况下,PWM0OM为1时,PWM0输出PWM0OM为0时PWM1的波形,
PWM1输出PWM0OM为0时PWM0的波形。即PWM0OM的作用相当于将PWM0和PWM1的波形互换。
图8.1.2-3 插入死区时间的PWM0/1互补波形配置示意图
PWM0DTSPWM0DTS
PWM0/1原始参考波形
PWM0OM = 0
PWM0OP = 0
PWM0ON = 0
PWM0
PWM1
PWM0OM = 0
PWM0OP = 1
PWM0ON = 1
PWM0
PWM1
PWM0OM = 1
PWM0OP = 0
PWM0ON = 0
PWM0
PWM1
PWM0OM = 1
PWM0OP = 0
PWM0ON = 0
PWM0
PWM1
8.1.2.2 PWM中断
WS51F7030
8.1.3 寄存器描述
8040H
PWMEN
R/W
初始值
位编号
7-6
5
4
3
2
1
0
7
-
-
-
6
-
-
-
W
I
5 4
表8.1.3-1寄存器PWMEN
3
PWM3EN
R/W
0
说明
2
PWM2EN
R/W
0
1
PWM1EN
R/W
0
0
PWM0EN
R/W
0
PWM4EN
R/W
0
PWM5EN
R/W
0
前
海
8042H
R/W
初始值
位编号
7-6
5
4
3
2
1
0
维
晟
位符号
- -
PWM5EN
PWM4EN
PWM3EN
PWM2EN
PWM1EN
PWM0EN
7
-
-
-
位符号
-
PWM5IE
PWM4IE
PWM3IE
PWM2IE
PWM1IE
PWM0IE
-
6
-
-
-
PWM5使能控制位,1有效
PWM4使能控制位,1有效
PWM3使能控制位,1有效
PWM2使能控制位,1有效
PWM1使能控制位,1有效
PWM0使能控制位,1有效
表8.1.3-2寄存器PWMIE
5
PWM5IE
R/W
0
4
PWM4IE
R/W
0
说明
PWM5中断使能控制位,1有效
PWM4中断使能控制位,1有效
PWM3中断使能控制位,1有效
PWM2中断使能控制位,1有效
PWM1中断使能控制位,1有效
PWM0中断使能控制位,1有效
表8.1.3-3寄存器PWMFLG
3
PWM3IE
R/W
0
2
PWM2IE
R/W
0
1
PWM1IE
R/W
0
0
PWM0IE
R/W
0
PWMEN
8044H
PWMFLG
R/W
初始值
位编号
7
-
-
-
位符号
6
-
-
-
5
W0C/R
0
S
E
4
W0C/R
0
3
0
第54页 共99页
PWMn中断通过PWMIE的对应位使能,当PWM计数器计数到等于PWMnDIV时产生的中断。寄存器PWMFLG
包含6路PWM的中断标志位。
2
W0C/R
0
1
W0C/R
0
0
W0C/R
0
PWM5FLG PWM4FLG PWM3FLG PWM2FLG PWM1FLG PWM0FLG
W0C/R
说明
7-6
5
4
3
2
1
0
PWMnCFG
R/W
初始值
7
-
-
PWM5FLG
PWM5中断标志位,1有效,写0清
PWM4FLG
PWM4中断标志位,1有效,写0清
PWM3FLG
PWM3中断标志位,1有效,写0清
PWM2FLG
PWM2中断标志位,1有效,写0清
PWM0FLG
PWM0中断标志位,1有效,写0清
表8.1.3-4寄存器PWMnCFG
5
0
0
4 3
-
-
-
2
-
-
-
WS51F7030
W
I
6
PWM1FLG
PWM1中断标志位,1有效,写0清
S
E
1
PWMnCKS
R/W
0 0
0
PWMnSN
R/W
-
说明
4
R/W
3 2 1 0
PWMnDIV[7:0]
1
4
R/W
1
3
1
2
1
1
1
0
PWMnDIV[15:8]
1 1 1 1 1
第55页 共99页
其中n=0/2/4
寄存器PWM0CFG地址:8050H,用于配置PWM0和PWM1
寄存器PWM2CFG地址:8060H,用于配置PWM2和PWM3
寄存器PWM4CFG地址:8070H,用于配置PWM4和PWM5
位编号
7
6
5
4
位符号
PWMnOP
PWM0/2/4输出极性选择,为1时输出取反
前
海
3-2
1-0
PWMnDIVL
R/W
初始值
PWMnDIVH
R/W
初始值
维
晟
R/W
0
R/W
0
PWMnSN
-
7 6
1
7
1
6
1 1
PWMnOP PWMnON PWMnOM
PWMnON
PWM1/3/5输出极性选择,为1时输出取反
PWMnOM
互补PWM模式选择,为1时PWMn与PWM(n+1)的波形互换后输出。
PWM独立输出使能
0:PWMn和PWM(n+1)组成互补PWM输出
1:PWMn和PWM(n+1)独立输出
-
PWM时钟选择
00:系统时钟
PWMnCKS
01:LRC内部低速时钟
10:HRC内部高速时钟
11:保留
表8.1.3-5寄存器PWMnDIV
5
1
5
1
其中n=0/1/2/3/4/5/6/7
寄存器PWM0DIVL地址:8056H
寄存器PWM0DIVH地址:8057H
寄存器PWM1DIVL地址:805EH
寄存器PWM1DIVH地址:805FH
寄存器PWM2DIVL地址:8066H
寄存器PWM2DIVH地址:8067H
寄存器PWM3DIVL地址:806EH
寄存器PWM3DIVH地址:806FH
寄存器PWM4DIVL地址:8076H
寄存器PWM4DIVH地址:8077H
寄存器PWM5DIVL地址:807EH
寄存器PWM5DIVH地址:807FH
位编号
7-0
7-0
位符号
WS51F7030
W
I
6 5 4
维
晟
7
PWMnDIVL
PWM周期计数寄存器的低8位,PWM周期为PWMDIV+1
PWMnDIVH
PWM周期计数寄存器的高8位,PWM周期为PWMDIV+1
表8.1.3-6寄存器PWMnDUT/PWM(n-1)DTS
3
R/W
0
5
0
4
R/W
0 0 0 0 0 0 0 0
0
3
0
2
0
1
0
0
2 1 0
PWMnDUT[7:0]/PWM(n-1)DTS[7:0] PWMnDUTL
R/W
初始值
前
海
0
7
0
6
PWMnDUTH
R/W
初始值
其中n=0/1/2/3/4/5
寄存器PWM0DUTL地址:8054H
寄存器PWM0DUTH地址:8055H
寄存器PWM1DUTL/PWM0DTS地址:805CH
寄存器PWM1DUTH地址:805DH
寄存器PWM2DUTL地址:8064H
寄存器PWM2DUTH地址:8065H
寄存器PWM3DUTL/PWM2DTS地址:806CH
寄存器PWM3DUTH地址:806DH
寄存器PWM4DUTL地址:8074H
寄存器PWM4DUTH地址:8075H
寄存器PWM5DUTL/PWM4DTS地址:807CH
寄存器PWM5DUTH地址:807DH
位编号
7-0
7-0
位符号 说明
PWM占空比计数寄存器的低8位,PWM占空比为PWMnDUT/(PWMnDIV+1)
PWMnDUTL/
当n=1/3/5时,若PWMnSN=0,则该八位寄存器为PWM(n-1)DTS[7:0],用于
PWM(n-1)DTS
死区时间控制
PWMnDUTH
PWM占空比计数寄存器的高8位,PWM占空比为PWMnDUT/(PWMnDIV+1)
第56页 共99页
S
E
说明
PWMnDUT[15:8]
WS51F7030
8.2 通用串行接口(UART 0)
8.2.1 简介
8.2.2 UART0
前
海
SM00
0
0
维
晟
SM10
0
1
模式
0
1
UART0是一个全双工同步/异步串行数据收发器,可同时发送和接收数据,其接收器有一字节的缓存,接收
完的一个字节数据会被立即送到缓存寄存器,接着可以接收新的数据。在新的一字节数据接收完之前,前一个字
节数据必须被读取,否则会被新数据覆盖。寄存器S0BUF是UART0的发送/接收数据寄存器,在物理上S0BUF实
际是两个寄存器,一个是数据发送寄存器,另一个是数据接收寄存器,写S0BUF会将数据写入发送寄存器并启
动数据发送,而读S0BUF会读取接收寄存器中接收到的一字节数据。
UART0有4种工作模式,如下表所示。
表8.2.2-1 UART0通信工作模式
描述
同步移位模式
8位异步模式
Fsys/12
波特率为2
SMOD
×Fsys/(32∗定时器1/2溢出率),
详见T2CON中RCLK和TCLK
0 2
9位异步模式
当SMOD=0时,波特率为 Fsys/64
当SMOD=1时,波特率为 Fsys/32
波特率为2
SMOD
×Fsys/(32∗定时器1/2溢出率),
详见T2CON中RCLK和TCLK
备注:
1. Fsys即为系统时钟。
2. 以上波特率的前提条件是S0DE=0,当S0DE=1时,波特率由S0DIV值决定。
3. 由于定时器2的时钟是包含不分频 Fsys,所以选择定时器2作为UART0时钟发生器会有更高的波特率。
波特率
1
1 1 3
W
I
9位异步模式
UART0是一个全双工同步/异步串行数据收发器,完全兼容标准8051,但不同于标准8051的是本UART0可
以设置任意波特率。
S
E
第57页 共99页
8.2.2.1 模式0
WS51F7030
Write S0BUF
UART0_TX
UART0_RX
TI0
W
I
D0D1D2
S
E
D3
D2D3
在模式0,UART0同步收发数据。端口UART0_TX输出移位时钟,端口UART0_RX输出或接收数据。传输数
据长度为8位,从最低位开始传输,波特率固定为系统时钟频率的1/12。写数据到寄存器S0BUF会启动UART0
发送数据。如果要接收数据,需设置REN=1并清除RI0标志,当接收到一字节数据时,RI0会置1。
图8.2.2-1 UART0模式0发送数据波形
D4D5D6D7
维
晟
图8.2.2-2 UART0模式0接收数据波形
REN
UART0_TX
前
海
UART0_RX
RI0
D0D1D4D5D6D7
8.2.2.2 模式1
在模式1,UART0为8位异步收发模式。可通过设置RCLK(T2CON[5])和TCLK(T2CON[4])来选择定时器1或定
时器2的溢出信号作为UART0的时钟,此时设置定时器的溢出频率就可以调整UART0的波特率。另外,可通过
SMOD(PCON[7])来选择波特率倍频。
写入数据到寄存器S0BUF会启动UART0发送。第一个传送的位是START位(0),然后是8位数据(低位先
发),最后传送的是STOP位(1)。
在接收状态,UART0通过检测端口UART0_RX的下降沿来同步。传送过程完成后,8位数据存放在寄存器S0BUF,
有效停止位值存放在RB80位。
图8.2.2-3 UART0模式1发送数据波形
Write S0BUF
UART0_TX
TI0
STARTD0D1D2D3D4D5D6D7STOP
图8.2.2-4 UART0模式1接收数据波形
REN
UART0_RX
RI0
STARTD0D1D2D3D4D5D6D7STOP
第58页 共99页
8.2.2.3 模式2
WS51F7030
Write S0BUF
UART0_TX
TI0
W
I
在模式2,UART0为9位异步收发模式。通过设置SMOD(PCON[7])位可选择波特率固定为Fsys/32或Fsys/64。
写入数据到寄存器S0BUF会启动UART0发送。第一个传送的位是START位(0),然后是9位数据(低位先
发),第9位数据是TB80位,最后传送的是STOP位(1)。
在接收状态,UART0通过检测端口UART0_RX的下降沿来同步。传送过程完成后,8位数据存放在寄存器S0BUF,
第9位数据存放在RB80位。
图8.2.2-6 UART0模式2发送数据波形
S
E
D2D3D4STARTD0D1D5D6D7TB80
STOP
维
晟
图8.2.2-6 UART0模式2接收数据波形
REN
UART0_RX
RI0
STARTD0D1D2D3D4D5D6D7RB80STOP
前
海
8.2.2.4 模式3
模式2和模式3的唯一不同的是模式3的波特率可通过定时器1或定时器2来产生,可参考模式1的示意图。
波特率设置可参考模式1介绍,而其他功能描述参考模式2。
8.2.2.5 UART0多机通信
UART0模式2和3中有一个专门适用于多机通信的机制,当SM20位置1,只有接收到第9位数据为1(RB80=1)
的从机才会产生接收中断,利用这个功能可进行多机通信,操作方法如下:
① 所有主机和从机都设置为工作在模式2或模式3,并且将SM20位都置为1。
② 主机首先发送从机地址,并将第9位数据设为1,这样所有的从机都会接收该地址数据并置位RI0。
③ 从机的软件用预先定义的地址和接收的地址数据进行比较,地址相同的从机设置SM20=0。
④ 主机继续传送后面的数据并设置第9位为0,此时其他从机SM20仍然为1不会置位RI0,就只有被寻址
的从机才会接收数据并置位RI0,从而实现多机通讯。
8.2.2.6 定时器波特率分频设置
在标准8051中,UART0的波特率固定为定时器溢出率的32分频。由于WS51F7030系列芯片的主时钟最高
为16MHz(或16MHz的分频),配置比较高的波特率时有较大误差,因此UART0的波特率不再固定为定时器溢
出率的32分频,而是可以由S0DIV设置。
例如:当UART0的波特率固定为定时器溢出率的32分频时,选择定时器2作为UART0的波特率发生器,如
果要配置波特率为115200,计算公式为:1600000032115200=4.34, 由于定时器只能取整数,所以取4(即每4
个系统时钟周期定时器溢出一次),误差率约为8.5%,这么大的误差率会导致通信不正常。由于系统时钟是固定
的,要达到更准确的波特率,只能通过修改分频系数来实现。如果设置定时器5个时钟周期溢出,那么:
160000001152005=27.78。取分频数为28,那么波特率为114285,和115200相比,误差率约为0.8%,一般情
况下不会影响UART0通信。另外,更小的分频数也可以实现更高的波特率配置。
芯片默认的分频系数为32,与标准8051相同。如果要更改分频系数,通过设置S0DE=1来使能,S0DIV的数
第59页 共99页
WS51F7030
值表示不同的分频系数,详见寄存器S0CFG描述。
另外,当S0DE=1时,SMOD位将不起作用。
8.2.3 寄存器描述
表8.2.3-1寄存器S0CON
98H
S0CON
R/W
初始值
位编号
7
6
5
4
3
7
SM00
R/W
0
位符号
SM00
SM10
SM20
REN0
TB80
6
W
I
5 4
S
E
3
TB80
R/W
0
说明
2
RB80
R/W
0
1
TI0
R/W
0
0
RI0
R/W
0
REN0
R/W
0
5 4
R/W
3 2 1 0
S0BUF[7:0]
0
0 0
说明
0 0 0
5
-
-
-
0 0
说明
4 3 2
S0DIV[4:0]
R/W
0 0 0
1 0
第60页 共99页
SM10
R/W
0
SM20
R/W
0
前
海
2
1
0
99H
S0BUF
R/W
初始值
位编号
7-0
9AH
S0CFG
R/W
初始值
位编号
7
维
晟
RB80
TI0
RI0
7
0
位符号
S0BUF
7
S0DE
R/W
0
位符号
S0DE
串口0模式选择位,详见表8.2.2-1
多机通信使能位,1有效
串行接收使能位,1有效
发送的第9位数据
在模式2和3,这个位用于UART0发送数据,对应发送数据的第9位
(例如奇偶校验或多机通信),由软件控制
接收的第9位数据
在模式2和3,这个位用于UART0接收数据,对应接收数据第9位;模式1时该位
为停止位;如果SM20=1,该位为多主机判断位;在模式0这个位没有使用。
发送中断标志,1有效,写0清除
接收中断标志,1有效,写0清除
表8.2.3-2寄存器S0BUF
6
0
发送接收缓冲器
写S0BUF将启动发送所写的数据
读S0BUF将读取已经接收的数据
表8.2.3-3寄存器S0CFG
6
-
-
-
定时器分频配置使能控制位
0:UART0波特率按照原来的配置
1:UART0波特率由S0DIV来配置
定时器分频配置寄存器,仅在S0DE=1时有效
模式0:发送时,须满足S0DIV>=2;接收时,S0DIV>=3
模式1:发送时,须满足S0DIV>=0;接收时,S0DIV>=6
模式2:发送时,须满足S0DIV>=2;接收时,S0DIV>=7
模式3:发送时,须满足S0DIV>=0;接收时,S0DIV>=0
WS51F7030
前
海
第61页 共99页
维
晟
W
I
4-0 S0DIV
S
E
6-5 - -
WS51F7030
8.3 I²C接口(I2C)
8.3.1 简介
8.3.2 I2C总线互联
前
海
如下图所示,I2C总线用2根线在设备间传输数据,分别为SCL(串行时钟线)和SDA(串行数据线)。连接
SDA和SCL的IO端口都是开漏结构,所以总线上必须有上拉电阻。如果I2C接口速度只需要工作在标准/快速模
式下,则可使能内部强上拉电阻(10 KΩ)或外挂10 KΩ的电阻;如果I2C接口需要工作在高速模式,则必须外
挂100 Ω左右的电阻。
图8.3.2-1 I2C总线互连图
VDD
R
1
R
2
维
晟
Device 1
I2C接口支持芯片与外围I2C器件以标准I2C协议进行串行数据传输,其主要特点如下
支持主机或从机模式,可自动切换角色
7位从机地址
支持多主机仲裁
支持广播功能
支持标准/快速/高速模式,速度分别达到100K / 400K /2M bits/s
对系统时钟没有要求,在任何系统时钟I2C接口都可正常通讯
W
I
Device 2
SDA
SCL
S
E
……
1
D7
Device n
8.3.3 I2C通信原理
标准的I2C通信由四部分组成:START信号、从机地址传输、数据传输和STOP信号,数据传输是以START
信号开始,以STOP信号结束。如下图所示,I2C主机发送START信号开启I2C通信,然后主机发送从机地址寻址
从机,接收到从机ACK信号后,开始发送或接收数据,在全部数据传送结束后,由主机发送STOP信号,结束通
信。
图8.3.3-1 I2C通信时序图
SCL
1
STARTSADR[6]
2
SADR[5]
...
...
7
SADR[0]
8
W/R
9
ACK/NAK
2
D6
...
...
8
D0
9
ACK/NAK
......
......
STOP
SDA
备注:
START:如波形所示,SCL为高时SDA由高变低
STOP:如波形所示,SCL为高时SDA由低变高
SADR:I2C的从机地址
W/R:该位为0时为主机写数据传输,该位为1时为主机读数据传输
ACK:SCL为高时SDA为低
第62页 共99页
NAK:SCL为高时SDA为高
WS51F7030
前
海
A1H
I2C接口有3种工作模式:等待模式、从机模式、主机模式。
默认情况下,I2C处于等待模式。
设置STA为1,I2C主动发送START信号,并从等待模式切换到主机模式。作为主机,I2C发送的第一个字节
数据为从机地址,该字节需要在设置STA(I2CCON[3])之前写入到寄存器I2CTXD。如果从机回应NAK,I2C将回
到等待模式并产生中断;如果从机回应ACK,则总线根据第一个字节第8位的读写方向进行数据传输。在从机地
址和数据传输过程中,如果收到NAK回应、出现仲裁丢失、出现总线错误等,I2C将回到等待模式并产生中断。
如果数据传输完成,则设置STP为1,I2C将发送STOP信号结束总线传输。
在等待模式时,如果接受到START信号,则I2C从等待模式切换到从机模式。作为从机,I2C能识别从机地
址、掩码地址和广播地址(0x00),设置I2CADM则可打开地址掩码功能,设置GCE为1则可开启广播地址的识
别。如果地址正确则I2C回应ACK,并通过地址字节的第8位判断数据传输的方向,否则回应NAK,回到等待模
式。在从机地址和数据传输过程中,如果接收到STOP信号、收到NAK回应、出现仲裁丢失或出现总线错误,I2C
将回到等待模式并产生中断。
设置BSHE为1,开启总线暂停功能,此时I2C在地址和数据传输时,如果来不及回应会拉低SCL,从而暂停
总线传输直到软件清除相应标志位(IF_RXADR/IF_RXDAT/IF_TXDAT)。设置BSHE为0,关闭总线暂停功能,此时I2C
必须及时清除对应标志位,否则I2C回应NAK,导致传输出错。
如果没有开启总线暂停功能,则在使用时软件要尽量快速处理,避免I2C来不及清除标志位(IF_RXADR/
IF_RXDAT/IF_TXDAT)时,产生错误的ACK/NAK回应。
备注:
如果I2C工作在复合传输方式(请参考I2C协议),本芯片I2C需要在RESTART前发送一个STOP信号,相
关例程请参考WS51F7030的应用软件库。
8.3.5 寄存器描述
表8.3.5-1寄存器I2CCON
7
I2CE
R/W
1
位符号
I2CE
I2CIE
STAIE
STPIE
STA
STP
I2C模块使能位,1有效
I2C中断使能位,1有效
总线出现START信号,中断使能信号
总线出现STOP信号,中断使能信号
发送START信号
发送STOP信号
I2C时钟分频选择寄存器
00:I2C模块时钟
发布者:admin,转转请注明出处:http://www.yc00.com/news/1719988645a2759579.html
评论列表(0条)