CSU8RF3422 [CHIPSEA]
12-bit ADC 8 - bit RISC FLASH FLASH MCU;型号: | CSU8RF3422 |
厂家: | Core Technology (Shenzhen) Co., Ltd. |
描述: | 12-bit ADC 8 - bit RISC FLASH FLASH MCU |
文件: | 总131页 (文件大小:2722K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
CSU8RF3421/CSU8RF3422/CSU8RF3423 用户手册
带12-bit ADC 的8 位RISC FLASH MCU
REV 1.2
通讯地址:深圳市南山区蛇口南海大道1079号花园城数码大厦A座9楼
邮政编码:518067
公司电话:+(86 755)86169257
真:+(86 755)86169057
传
公司网站:www.chipsea.com
微 信 号:芯海科技
微信二维码:
Rev.1.2
第1 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
版本历史
历史版本.
修改内容
版本日期
2013-03-04
2013-06-17
2013-09-12
REV 1.0 初始版本
REV 1.1 修改第8页引脚说明
REV 1.2 1.增加SSOP20封装尺寸图
2.修改内部16MHz常温精度及温度特
性
Rev.1.2
第2 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
目 录
版本历史................................................................................................................................................................. 2
目 录...................................................................................................................................................................... 3
1 产品概述......................................................................................................................................................... 6
1.1 功能描述................................................................................................................................................. 6
1.2 主要特性................................................................................................................................................. 6
1.3
PIN 配置.................................................................................................................................................. 7
2 标准功能......................................................................................................................................................... 9
2.1
CPU 核..................................................................................................................................................... 9
存储器........................................................................................................................................... 11
状态寄存器................................................................................................................................... 14
SFR ................................................................................................................................................ 15
2.1.1
2.1.2
2.1.3
2.2 时钟系统............................................................................................................................................... 17
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.2.9
概述............................................................................................................................................... 17
时钟框图....................................................................................................................................... 17
寄存器........................................................................................................................................... 18
内部高速RC 时钟........................................................................................................................ 18
内部低速wdt 时钟........................................................................................................................ 18
外部高速晶振时钟....................................................................................................................... 19
外部低速晶振时钟....................................................................................................................... 19
外部RC 振荡器............................................................................................................................ 19
外部时钟源................................................................................................................................... 19
2.3 复位系统............................................................................................................................................... 20
2.3.1
2.3.2
2.3.3
2.3.4
上电复位....................................................................................................................................... 21
看门狗复位................................................................................................................................... 21
掉电复位....................................................................................................................................... 21
外部硬件复位............................................................................................................................... 22
2.4 中断....................................................................................................................................................... 23
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.4.7
2.4.8
2.4.9
中断使能寄存器........................................................................................................................... 25
中断标志寄存器........................................................................................................................... 27
外部中断0 .................................................................................................................................... 29
外部中断1 .................................................................................................................................... 29
AD 中断溢出................................................................................................................................. 31
定时器0 溢出中断........................................................................................................................ 31
定时/计数器2 溢出中断.............................................................................................................. 31
定时/计数器3 溢出中断.............................................................................................................. 31
定时/计数器4 溢出中断.............................................................................................................. 31
2.4.10 比较器0 中断................................................................................................................................ 31
2.4.11 比较器1 中断................................................................................................................................ 31
2.4.12 比较器2 中断................................................................................................................................ 31
2.4.13 比较器3 中断................................................................................................................................ 31
2.4.14
2.4.15
2.4.16
2.4.17
SPI 中断......................................................................................................................................... 31
UART 发送中断............................................................................................................................ 31
UART 接收中断............................................................................................................................ 31
PUSH 和POP 处理....................................................................................................................... 31
2.5 定时器0 ................................................................................................................................................ 33
2.6 I/O PORT............................................................................................................................................... 35
Rev.1.2
第3 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.6.1
2.6.2
2.6.3
2.6.4
PT1 口............................................................................................................................................ 35
PT2 口............................................................................................................................................ 38
PT3 口............................................................................................................................................ 39
PT5 口............................................................................................................................................ 40
3 增强功能....................................................................................................................................................... 42
3.1 HALT 和SLEEP 模式.............................................................................................................................. 42
3.2 看门狗(WDT) ....................................................................................................................................... 44
3.3 定时/计数器2 ....................................................................................................................................... 46
3.3.1
3.3.2
3.3.3
寄存器描述................................................................................................................................... 46
蜂鸣器........................................................................................................................................... 48
PWM.............................................................................................................................................. 48
3.4 定时/计数器3 ....................................................................................................................................... 49
3.4.1
3.4.2
3.4.3
寄存器描述................................................................................................................................... 49
蜂鸣器........................................................................................................................................... 51
PWM.............................................................................................................................................. 51
3.5 定时/计数器4 ....................................................................................................................................... 52
3.5.1
3.5.2
3.5.3
3.5.4
寄存器描述................................................................................................................................... 52
蜂鸣器........................................................................................................................................... 56
PWM 普通模式............................................................................................................................. 56
PWM 扩展模式............................................................................................................................. 56
3.6 串行通信接口....................................................................................................................................... 60
3.6.1
3.6.2
3.6.3
工作方式....................................................................................................................................... 60
寄存器说明................................................................................................................................... 61
波特率........................................................................................................................................... 62
SPI 接口................................................................................................................................................. 63
SPI 接口介绍................................................................................................................................. 63
SPI 寄存器说明............................................................................................................................. 66
SPI 操作说明:............................................................................................................................. 68
3.7
3.7.1
3.7.2
3.7.3
3.8 模数转换器(ADC)........................................................................................................................... 70
3.8.1
3.8.2
3.8.3
3.8.4
3.8.5
3.8.6
寄存器描述................................................................................................................................... 70
转换时间....................................................................................................................................... 74
使用内部参考电压1.40V 的校准方法....................................................................................... 76
AD 失调电压校正......................................................................................................................... 77
数字比较器................................................................................................................................... 78
内部测量VDD 的电压................................................................................................................. 79
3.9 比较器和运算放大器........................................................................................................................... 81
3.9.1
3.9.2
3.9.3
3.9.4
3.9.5
3.9.6
比较器0/运算放大器................................................................................................................... 81
比较器1 ........................................................................................................................................ 85
比较器2 ........................................................................................................................................ 89
比较器3 ........................................................................................................................................ 93
比较器参考电压........................................................................................................................... 96
比较器中断................................................................................................................................... 96
数据E2PROM .................................................................................................................................. 97
烧录模块........................................................................................................................................... 98
代码选项........................................................................................................................................... 99
3.10
3.11
3.12
4
MCU 指令集............................................................................................................................................... 100
5 电气特性..................................................................................................................................................... 116
5.1 极限值................................................................................................................................................. 116
5.2 直流特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)............................................ 116
Rev.1.2
第4 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
5.3
ADC 特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)........................................... 118
5.4 比较器的直流特性............................................................................................................................. 119
5.5
5.6
5.7
5.8
5.9
RC 时钟频率特性............................................................................................................................... 120
WDT 时钟频率特性........................................................................................................................... 120
ERC 频率特性..................................................................................................................................... 120
2.0V 掉电复位温度特性..................................................................................................................... 121
2.4V 低电压复位温度特性................................................................................................................. 122
5.10 1.4V 内部参考电压温度特性............................................................................................................. 122
6 封装图......................................................................................................................................................... 123
6.1
6.2
6.3
6.4
6.5
6.6
6.7
SSOP-20PIN ......................................................................................................................................... 123
SOP-20PIN ........................................................................................................................................... 124
DIP-20PIN ............................................................................................................................................ 125
SOP-24PIN ........................................................................................................................................... 126
PDIP-24PIN.......................................................................................................................................... 127
SOP-28PIN ........................................................................................................................................... 128
SKY-28PIN........................................................................................................................................... 129
7 单片机产品命名规则................................................................................................................................. 130
7.1 产品型号说明..................................................................................................................................... 130
7.2 命名举例说明..................................................................................................................................... 131
7.3 产品印字说明..................................................................................................................................... 131
Rev.1.2
第5 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
1 产品概述
1.1 功能描述
CSU8RF3421/CSU8RF3422/CSU8RF3423是一个带12-bit ADC的8位CMOS单芯片FLASH MCU,内置
4K×16位FLASH程序存储器。
1.2 主要特性
高性能的RISC CPU
3.6V电压检测
8位单片机MCU
9个开漏输出口(P1.1、P5.0~P5.7)
内置4K×16位程序存储器
232字节数据存储器(SRAM)
96字节的E2PROM,用于数据存储
只有43条单字指令
专用微控制器的特性
上电复位(POR)
上电复位和硬件复位延迟定时器(40ms)
内带低电压复位(LVR)
定时器0
8级PC存储堆栈
— 8位可编程预分频的8位的定时计数器
定时/计数器2
8级PUSH和POP堆栈
— 8位可编程预分频的8位的分频器
定时/计数器3
— 8位可编程预分频的8位的分频器
定时/计数器4
— 16位可编程预分频的16位的分频器
扩展型看门狗定时器(32K WDT)
— 可编程的时间范围
振荡器
内带16MHz振荡器,精度为±1%@5V, 25ºC
外部32768Hz晶振(RTC)
4MHz~16MHz晶振
ERC 8M@5V DC
外设特性
CMOS技术
25位双向I/O口,1位输入口
工作电压范围
— VDD 2.3V~5.5V
工作温度范围
— -40~85ºC
SPI 通信(支持master 和slave)
1 路UART
3路蜂鸣器输出,3路PWM输出
12个内部中断,2个外部中断
8个具有唤醒功能的输入口
高耐久性的E2PROM:
读写次数:至少100,000次
保持时间:至少10年
低功耗特性
MCU工作电流
— 正常模式1mA@4MHz(工作电压3V)
— 正常模式10uA@32KHz(工作电压3V)
— 休眠模式下的电流小于1μA
封装
8路12-bitADC
SSOP20/SOP20/DIP20
SOP24/PDIP24
SOP28/SKY28
— 内部 1.4V、VDD、外部输入三种参考电压
选择
— 带数字比较器
应用范围
电磁炉
小家电
一个内置模拟比较器或运算放大器和三个内
置模拟比较器
低电压检测(LVD)引脚,内部提供 2.4V、
PWM/
Buzzer
比较器
/运放
ADC
(Ch*Bit)
5*12
型号
ROM RAM 堆栈定时器
SPI UART
IO Wake-up
封装
SSOP20/SOP20/DIP20
SOP24/PDIP24
CSU8RF3421 4K*16 232 8
CSU8RF3422 4K*16 232 8
CSU8RF3423 4K*16 232 8
4
4
4
2
3
3
1
1
1
1
1
1
3/1 18
4/1 22
4/1 26
8
8
8
7*12
SOP28/SKY28
8*12
Rev.1.2
第6 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
1.3 PIN 配置
28
27
VSS
1
2
3
4
5
6
7
VDD
P1.1/T3/INT1/XIN/
P1.0/T2/INT0
P3.7/AIN7/C3P
P3.6/AIN6/C3N
P3.5/AIN5/C3
P3.4/AIN4/C2P
P3.3/AIN3/C2N
P3.2/AIN2/C2
P3.1/AIN1
PCL
P1.2/T4/
INT1/XOUT/PDA
26
25
VSS
1
2
3
4
5
6
7
24
23
22
VDD
P1.1/T3/INT1/XIN/
P1.3/INT1/RST
P1.0/T2/INT0
P3.6/AIN6/C3N
P3.5/AIN5/C3
P3.4/AIN4/C2P
P3.3/AIN3/C2N
P3.2/AIN2/C2
P3.1/AIN1
PCL
P1.2/T4/
INT1/XOUT/PDA
VSS
1
2
3
4
5
6
7
VDD
20
19
P1.4/INT1/SS
P1.5/INT1/SCK/RI
P1.6/INT1/MISO/TI
24
23
22
P1.1/T3/INT1/XIN/
P1.0/T2/INT0
P3.6/AIN6/C3N
P3.3/AIN3/C2N
P3.2/AIN2/C2
P3.1/AIN1
P1.3/INT1/RST
21
20
19
PCL
P1.2/T4/
INT1/XOUT/PDA
18
P1.4/INT1/SS
P1.5/INT1/SCK/RI
P1.6/INT1/MISO/TI
P1.3/INT1/RST
21
20
19
17
16
P1.7/INT1/MOSI
P2.6/PWM4/BZ4
P2.7
8
P1.4/INT1/SS
P1.5/INT1/SCK/RI
P1.6/INT1/MISO/TI
9
18
15
14
13
12
11
10
P3.0/AIN0/VREF
P1.7/INT1/MOSI
P2.6/PWM4/BZ4
P5.6/C1N
8
17
16
P3.0/AIN0/VREF
P5.1/PWM3/BZ3
P5.7/C1P
11
12
13
14
P5.0/PWM2/BZ2
P3.0/AIN0/VREF
P5.0/PWM2/BZ2
18
9
P1.7/INT1/MOSI
P2.6/PWM4/BZ4
P5.4/C0P
8
P5.6/C1N
P5.5/C1
P5.4/C0P
10
15
P5.1/PWM3/BZ3
P5.2/C0
17
16
P5.2/C0
9
11
12
P5.4/C0P
P5.3/C0N
P5.1/PWM3/BZ3
P5.2/C0
14
13
10
P5.3/C0N
P5.3/C0N
15
图1
20/24/28-pin 配置图
图2
引脚说明表
管脚名称
输入/
输出
P
管脚 描述
序号
VSS
1
2
地
P1.1 /T3/INT1/
XIN/PCL
I/O
IO,具有开漏输出功能;定时/计数器3 外部输入;外部中断1
输入,具有唤醒功能;外置晶振输入;烧录时钟线
IO;定时/计数器4 外部输入;外部中断1 输入,具有唤醒功
能;外置晶振输出;烧录数据线
P1.2/T4/INT1/
XOUT/PDA
I/O
3
I
4
5
6
普通输入口;外部中断1 输入,具有唤醒功能;复位输入
RST
SS
P1.3/INT1/
P1.4/INT1/
I/O
I/O
IO;外部中断1 输入,具有唤醒功能;SPI 从模式选择输入;
P1.5/INT1/SCK/RI
IO;外部中断1 输入,具有唤醒功能;SPI 模式的同步串口时
钟的输入/输出口;UART 模式的接收端;
IO;外部中断1 输入,具有唤醒功能;SPI 模式的主模式数据
输入口或从模式数据输出;UART 模式的发送端;
IO;外部中断1 输入,具有唤醒功能;SPI 模式的主模式数据
输出口或从模式数据输入;
P1.6/INT1/MISO/TI I/O
7
8
P1.7/INT1/MOSI
I/O
P2.6/PWM4/BZ4
P2.7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
9
IO;PWM4 输出;蜂鸣器4 输出;
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
IO;
P5.7/C1P
IO,具有开漏输出功能;比较器1 的输入端
IO,具有开漏输出功能;比较器1 的输入端
IO,具有开漏输出功能;比较器1 的输出端
IO,具有开漏输出功能;比较器0 的输入端/运放的正端输入;
IO,具有开漏输出功能;比较器0 的输入端/运放的负端输入;
IO,具有开漏输出功能;比较器0 的输出端/运放的输出;
IO,具有开漏输出功能;PWM3 输出;蜂鸣器3 输出;
IO,具有开漏输出功能;PWM3 输出;蜂鸣器3 输出;
IO;ADC 输入0;ADC 参考电压输入;
P5.6/C1N
P5.5/C1
P5.4/C0P
P5.3/C0N
P5.2/C0
P5.1 /PWM3/BZ3
P5.0 /PWM2/BZ2
P3.0/AIN0/VREF
P3.1/AIN1
IO;ADC 输入1;
P3.2/AIN2/C2
P3.3/AIN3/C2N
P3.4/AIN4/C2P
P3.5/AIN5/C3
IO;ADC 输入2;比较器2 的输出端;
IO;ADC 输入3;比较器2 的输入端;
IO;ADC 输入4;比较器2 的输入端;
IO;ADC 输入5;比较器3 的输出端;
Rev.1.2
第7 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
P3.6/AIN6/C3N
P3.7/AIN7/C3P
P1.0/T2/INT0
I/O
I/O
I/O
25
26
27
IO;ADC 输入6;比较器3 的输入端;
IO;ADC 输入7;比较器3 的输入端;
IO;定时/计数器2 外部输入;外部中断0 输入,具有唤醒功
能;
电源
VDD
P
28
Rev.1.2
第8 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2 标准功能
2.1 CPU 核
Program Bus
(12 bits)
FLASH
Program
Counter
SRAM
Data memory
232 bytes
Program Memory
4K*16bits
Program Data
Adderss
Mux
Stack Register
8 Level
(16 bits)
Instruction
Register
Data
Mux
FSR
Instruction
Decoder
Work
Register
Contorl information
ALU
Status
Register
图3
CSU8RF3421/CSU8RF3422/CSU8RF3423 CPU 核的功能模块图
椐CPU核的功能模块图,它主要包含7个主要寄存器及2个存储器单元。
Rev.1.2
第9 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表1 MCU架构说明
模块名称
描述
程序计数器
此寄存器在CPU 的工作周期间起到很重要的作用,它记录CPU 每个周期处理程
序存储器中指令的指针。在一个CPU 周期中,程序计数器将程序存储器地址
(12bits),指令指针推送到程序存储器,然后自动加1 以进行下一次周期。
堆栈寄存器是用来记录程序返回的指令指针。当程序调用函数,程序计数器会将
指令指针推送到堆栈寄存器。在函数执行结束之后,堆栈寄存器会将指令指针送
回到程序计数器以继续原来的程序处理。
堆栈寄存器
指令寄存器
程序计数器将指令指针(程序存储器地址)推送到程序存储器,程序存储器将程
序存储器的数据(16bits)推送到指令寄存器。
CSU8RF3421/ CSU8RF3422/ CSU8RF3423 的指令是16bits,包括3 种信息:
直接地址,立即数及控制信息。
直接地址(8bits):数据存储器的地址。CPU 能利用此地址来对数据存储器
进行操作。
立即数(8bits):CPU 通过ALU 利用此数据对工作寄存器进行操作。
控制信息:它记录着ALU 的操作信息。
指令译码器
指令寄存器将控制信息推送到指令译码器以进行译码,然后译码器将译码后的信
息发送到相关的寄存器。
算术逻辑单元
算术逻辑单元不仅能完成8 位二进制的加,减,加1,减1 等算术计算,还能对8
位变量进行逻辑的与,或,异或,循环移位,求补,清零等逻辑运算。
工作寄存器是用来缓存数据存储器中某些存储地址的数据。
当CPU 利用ALU 处理寄存器数据时,如下的状态会随着如下顺序变化:PD,
TO,DC,C 及Z。
工作寄存器
状态寄存器
文件选择寄存器
程序存储器
在CSU8RF3421/ CSU8RF3422/ CSU8RF3423 的指令集中,FSR 是用于间接数据
处理(即实现间接寻址)。用户可以利用FSR 来存放数据存储器中的某个寄存器
地址,然后通过IND 寄存器对这个寄存器进行处理。
CSU8RF3421/ CSU8RF3422/ CSU8RF3423 内带4K×16 位的FLASH 作为程序存
储器。由于指令的操作码(OPCODE)是16bits,用户最多只能编程4K 的指令。
程序存储器的地址总线是12bits,数据总线是16bits。
数据存储器
CSU8RF3421/ CSU8RF3422/ CSU8RF3423 内带232bytes 的SRAM 作为数据存储
器。此数据存储器的地址总线是8bits,数据总线是8bits。
Rev.1.2
第10 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.1.1 存储器
(1)程序存储器
程序存储器主要用于指令的存储,该程序存储器是4K*16bit 的程序FLASH,对于程序员来说,该
存储器只读,不可以写入。系统的reset 地址为0x000,中断入口地址为0x004,需要注意的一点就是
所有的中断共用同一个中断入口地址。数据E2PROM 的地址范围为0x1000~0x102F。
0x000
Reset Vector
Program Counter
0x004
Interrupt Vector
Stack Level1
Stack Level2
Stack Level3
Stack Level4
Stack Level5
Stack Level6
Stack Level7
Stack Level8
0xFFF
0x1000
数据
E2PROM
0x102E
0x102F
内部参考电压
1.40V校准系数
图4
程序存储器
Rev.1.2
第11 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
(2)数据存储器
数据存储器主要用于程序运行过程中,全局以及中间变量的存储。该存储器分为三个部分。地址
的00H 至07H 是系统特殊功能寄存器,例如间接地址,间接地址指针,状态寄存器,工作寄存器,中
断标志位,中断控制寄存器。地址的08H 至7FH 外设特殊功能寄存器,例如IO 端口,定时器,系统
特殊功能寄存器和外设特殊功能寄存器是用寄存器实现,而通用数据存储器是RAM 实现,可以读出也
可以写入。
表2 数据存储器地址分配
数据存储器
起始地址
0x00
0x08
结束地址
0x07
0x7F
系统特殊功能寄存器
外设特殊功能寄存器
通用数据存储器
0x80
0x167
Bank 选择寄存器(地址为08h)
R/W-0
IRP0
Bit7
R/W-0
IRP1
Bit6
U-0
U-0
U-0
U-0
U-0
U-0
特性
BSR
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 7 IRP0:IND0间接页寻址位
1 = 间接寻址IND0时,访问后256byte地址
0 = 间接寻址IND0时,访问前256byte地址
Bit 6 IRP1:IND1间接页寻址位
1 = 间接寻址IND1时,访问后256byte地址
0 = 间接寻址IND1时,访问前256byte地址
Rev.1.2
第12 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
通过IND0 以及FSR0 这两个寄存器可以对数据存储器以及特殊功能寄存器进行间接访问。当从间
接地址寄存器(IND0)读入数据时,MCU 实际上是以FSR0 中的值作为地址去访问数据存储器得到
数据。当向间接寄存器(IND0)写入数据时,MCU 实际上是以FSR0 中的值作为地址去访问数据存
储器将值存入该地址。其访问方式见。
Data Memory
FSR0
00H
IND0
80H
80H
97H
97H
167H
图5 间接地址访问
Rev.1.2
第13 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.1.2 状态寄存器
状态寄存器包含ALU的算术状态及复位状态。状态寄存器类似于其它寄存器,可以作为任何指令
的目标寄存器。如果状态寄存器是某条指令的目标寄存器,而且影响到Z,DC或C位,那么对这三个
位的写是不使能。这些位是由器件逻辑进行置位或清零。TO及PD位是不可写的。
状态寄存器(地址为04h)
特性
R-0
R-0
U-0
R-0
PD
R-0
TO
R/W-0
DC
R/W-0
C
R/W-0
Z
STATUS
LVD36
Bit7
LVD24
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 7 LVD36:3.6V LVD工作电压标志位,只有当代码选项LVD_SEL为2’b01和2’b10有效
1:表明芯片工作电压低于3.6V
0:表明芯片工作电压高于3.6V
Bit 6 LVD24:2.4V LVD工作电压标志位,只有当代码选项LVD_SEL为2’b01有效
1:表明芯片工作电压低于2.4V
0:表明芯片工作电压高于2.4V
Bit 4
Bit 3
Bit 2
PD:掉电标志位。通过对此位写0清零,sleep后置此位
1:执行SLEEP指令后
0:上电复位后或硬件复位或CLRWDT指令之后
TO:看门狗定时溢出标志。通过对此位写0清零,看门狗定时溢出设置此位
1:看门狗定时溢出发生
0:上电复位后或硬件复位或CLRWDT指令后或SLEEP指令后
DC:半字节进位标志/借位标志
用于借位时,极性相反
1:结果的第4位出现进位溢出
0:结果的第4位不出现进位溢出
Bit 1 C: 进位标志/借位标志
用于借位时,极性相反
1:结果的最高位(MSB)出现进位溢出
0:结果的最高位(MSB)不出现进位溢出
Z:零标志
Bit 0
1:算术或逻辑操作是结果为0
0:算术或逻辑操作是结果不为0
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值 ‘1’= 位已设置
‘0’= 位已清零
X = 不确定位
Rev.1.2
第14 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.1.3 SFR
特殊功能寄存器(SFR)包含系统专用寄存器和辅助专用寄存器。
系统专用寄存器用于完成CPU 核的功能,由间接地址,间接地址指针,状态寄存器,工作寄存
器,中断标志及中断控制寄存器。
辅助专用寄存器是为辅助功能而设计,比如I/O 口,定时器,信号的条件控制寄存器。
表3 寄存器列表
地
址
上电复位
值
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
IND0
00h
01h
02h
03h
04h
05h
06h
07h
08h
0Ah
0Bh
0Ch
0Dh
0Eh
0Fh
10h
11h
16h
17h
18h
19h
1ah
1bh
1ch
1dh
1eh
20h
21h
22h
23h
24h
25h
26h
28h
29h
2ah
2bh
30h
31h
32h
33h
38h
3ch
3dh
以FSR0 中内容作为地址的数据存储器中的数据
以FSR1 中内容作为地址的数据存储器中的数据
间接数据存储器的地址指针0
xxxxxxxx
xxxxxxxx
00000000
00000000
xxu00000
00000000
u0u00u00
00u00u00
00uuuuuu
uuu00000
00000000
00000000
0uu0u000
11111111
0000u100
11111111
00000000
0010uuu0
00000100
11111111
00000000
00000000
00000100
11111111
00000000
00000000
xxxxxxxx
0000u000
00000000
00000000
xxuuuuuu
00uuuuuu
00uuuuuu
xxxxxxxx
00000000
00000000
00000000
xxxxxxxx
00000000
00000000
00000000
uuuuu000
uu00uuuu
uu00uuuu
IND1
FSR0
FSR1
STATUS
WORK
INTF
间接数据存储器的地址指针1
LVD36
LVD24
PD
TO
DC
C
Z
工作寄存器
TM2IF
TM2IE
IRP1
TM0IF SRADIF
TM0IE SRADIE
E1IF
E1IE
E0IF
E0IE
INTE
GIE
BSR
IRP0
EADRH
EADRL
EDATH
WDTCON
WDTIN
TM0CON
TM0IN
TM0CNT
MCK
PAR[12:8]
T0RSTB
PAR[7:0]
EDATH[7:0]
WDT_DLY
WDTEN
T0EN
WTS[2:0]
WDTIN[7:0]
T0RATE[2:0]
T0SEL[1:0]
TM0IN[7:0]
TM0CNT[7:0]
CST
CST_IN CST_WDT EO_SLP
T2RATE[2:0]
CLKSEL
T2CKS T2RSTB T2OUT PWM2OUT
TM2CON
TM2IN
TM2CNT
TM2R
T2EN
TM2IN[7:0]
TM2CNT[7:0]
TM2R[7:0]
TM3CON
TM3IN
TM3CNT
TM3R
T3EN
T3RATE[2:0]
T3CKS T3RSTB T3OUT PWM3OUT
TM3IN[7:0]
TM3CNT[7:0]
TM3R[7:0]
PT1[7:0]
PT1
PT1EN
PT1PU
PT1CON0
PT2
PT1EN[7:4]
PT1EN[2:0]
E0M[1:0]
PT1PU[7:0]
PT11OD
PT2[7:6]
PT1W1[3:0]
E1M
PT2EN
PT2PU
PT3
PT2EN[7:6]
PT2PU[7:6]
PT3[7:0]
PT3EN[7:0]
PT3PU[7:0]
PT3CON[7:0]
PT5[7:0]
PT3EN
PT3PU
PT3CON
PT5
PT5EN
PT5PU
PT5CON
PT1CON1
INTF2
PT5EN[7:0]
PT5PU[7:0]
PT5OD[7:0]
PT1W2[2:0]
TM4IF
TM4IE
TM3IF
TM3IE
INTE2
Rev.1.2
第15 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
INTF3
3eh
3fh
CMP0IF
CMP0IE
T4EN
CMP1IF CMP2IF CMP3IF
CMP1IE CMP2IE CMP3IE
T4RATE[2:0]
SPIIF
SPIIE
URTIF
URTIE
URRIF
URRIE
0000u000
0000u000
00000100
11111111
11111111
00000000
00000000
00000000
00000000
000000uu
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
uu00uu00
00000000
0000uuuu
00000000
uuuu0000
00000000
uuuu0000
00000uu0
00000uu0
00000uu0
00000uu0
0000000u
000uuuuu
00000011
00000000
000000uu
0uuuuuu0
INTE3
TM4CON
TM4INL
40h
41h
42h
43h
44h
45h
46h
47h
48h
49h
4ah
4bh
4ch
4dh
4eh
4fh
T4CKS T4RSTB T4OUT PWM4OUT
TM4IN[7:0]
TM4INH
TM4IN[15:8]
TM4CNT[7:0]
TM4CNTL
TM4CNTH
TM4RL
TM4CNT[15:8]
TM4R[7:0]
TM4RH
TM4R[15:8]
PWM4C0
PWM4C1
PWM4DY
PWM4CAPL
PWM4CAPH
PWM4ETL
PWM4ETH
PWM4OVL
PWM4OVH
SRADCON0
SRADCON1
SRADCON2
SRADL
PWM4SEL
PWM4M ENPWM4 PWM4S ENCAPT
INV
ENF
ESTEP[1:0]
ENE
SYNE
SUBE
SYNF
SUBF
PWM4DY[7:0]
PWM4CAP[7:0]
PWM4CAP[15:8]
PWM4ET[7:0]
PWM4ET[15:8]
PWM4OV[7:0]
PWM4OV[15:8]
50h
51h
52h
54h
55h
56h
57h
6ah
6bh
6ch
6dh
70h
71h
72h
73h
SRADACKS[1:0]
SRADS OFTEN CALIF
CHS[3:0]
SRADCKS[1:0]
VREFS[1:0]
SRADEN
ENOV
OFFEX
SRAD[7:0]
SRADH
SRAD[11:8]
SROFT[11:8]
SROFTL
SROFT[7:0]
SROFTH
CMPCON0
CMPCON1
CMPCON2
CMPCON3
SPICFG
CMP0EN
CMP1EN
CMP2EN
CMP3EN
SPIEN
COS0[3:0]
COS1[3:0]
COS2[3:0]
COS3[2:0]
CMPOUT0
CMPOUT1
CMPOUT2
CMPOUT3
SPIRST
MSTEN CKPHA
WCOL MODCOL
CKPOL MULMSTWIREMOD SPIBSY
SPICN
SLVSEL
SPICKR
SCR[7:0]
SPIDAT
SPIDAT[7:0]
77h SCON1
SM0
SMOD
SM1
SM2
REN
TB8
RB8
78h SCON2
79h SBUF
UARTEN
METCH
7eh
T4SEL
T3SEL
T2SEL
uuuu000u
注:进行读操作时,无效位读出为0
特性(Property):
R = 可读位
-n = 上电复位后的值 ‘1’= 位已设置
W = 可写位
U = 无效位
‘0’= 位已清零
X = 不确定位
Rev.1.2
第16 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.2 时钟系统
2.2.1 概述
芯片的时钟系统包括内置16MHz 的RC 振荡时钟(IHRC)、外置高速晶振、内置低速32KHz 的
WDT 时钟、外置低速的晶振时钟、外部RC 时钟、外部时钟源。除去WDT 时钟外,以上时钟都可以
做为系统时钟源Fosc。Fcpu 是CPU 时钟频率。
普通模式(高速时钟):Fcpu=Fosc/N,N=4、8、16、32
低速模式(低速时钟):Fcpu=Fosc/N,N=4、8、16、32
2.2.2 时钟框图
CLK_SEL
ERC
代码选项
XTAL_PIN[1:0]
XTAL1
32768Hz
22pF
22pF
ECK
XIN
VSS
VSS
代码选项
CLKDIV[:0]
XTAL2
4~16MHz
CPUCLK
MCK
MCK/4~MCK/32
MUX
XOUT
ICK
内置16MHz
晶振电路
图6
CSU8RF3421/CSU8RF3422/CSU8RF3423 振荡器状态框图A
CLK_SEL
VDD
ERC
代码选项
XTAL_PIN[1:0]
XTAL1
32768Hz
ECK
XIN
VSS
代码选项
CLKDIV[1:0]
XTAL2
4~16MHz
CPUCLK
MCK
MCK/4~MCK/32
MUX
XOUT
ICK
内置16MHz
晶振电路
图7
CSU8RF3421/CSU8RF3422/CSU8RF3423 振荡器状态框图B
Rev.1.2
第17 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.2.3 寄存器
表4 CSU8RF3421/CSU8RF3422/CSU8RF3423 时钟系统寄存器列表
上电复位
值
地址 名称
Bit7
Bits6
Bit5
Bits4
Bit3
Bits2
Bit1
Bit0
16H MCK CST CST_IN CST_WDT EO_SLP
CLKSEL
0010uuu0
表5 MCK 寄存器各位功能表
功能
位地址
标识符
外部晶振启动开关
1:外部晶振关闭
7
CST
0:外部晶振打开
内部晶振启动开关
1:内部晶振关闭
0:内部晶振打开
内部WDT 晶振启动开关
1:内部WDT 晶振关闭
0:内部WDT 晶振打开
外部低速晶振控制位
6
5
CST_IN
CST_WDT
1:如果选择的是外部低速晶振(32768Hz),在sleep 模式下不关闭
外部晶振
4
0
EO_SLP
CLKSEL
0:sleep 模式下关闭外部晶振
时钟源选择位
CLK_SEL
CPU 时钟
0
1
内部晶振系统时钟
外部晶振系统时钟
对MCK 寄存器进行写操作时,建议使用bcf 或bsf 指令。
注意:把CPU 时钟由内部晶振切换到外部晶振,并把内部晶振关闭时应按照以下顺序执行
bcf mck,7
call delay
bsf mck,0
nop
;打开外部晶振
;低速32768Hz推荐延迟2S;高速16MHz推荐延迟15mS
;切换到外部晶振
nop
bsf mck,6
…
;关闭内部晶振
2.2.4 内部高速RC 时钟
内部高速RC 时钟(16MHz),通过寄存器CST_IN 使能开关。当使用内部高速RC 时钟做为系统
的主时钟时,外部晶振引脚PT1.1、PT1.2 可以通过代码选项配置做为普通的GPIO 口。
2.2.5 内部低速wdt 时钟
内部低速wdt 时钟(32kHz),通过寄存器CST_WDT 使能开关。内部wdt 时钟不能做为系统主时
钟,只能做为WDT 使用和定时器0 使用。
Rev.1.2
第18 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.2.6 外部高速晶振时钟
外部高速晶振时钟,通过代码选项配置为外部高速时钟,同时通过寄存器CST 使能开关。此时,
PT1.1、PT1.2 口做为晶振引脚。
2.2.7 外部低速晶振时钟
外部低速晶振时钟,通过代码选项配置为外部低速时钟,同时通过寄存器CST 使能开关。此时,
PT1.1、PT1.2 口做为晶振引脚。
2.2.8 外部RC 振荡器
外部RC 振荡器,通过代码选项配置为外部RC 振荡器,同时通过寄存器CST 使能开关。此时,
PT1.1 口做为RC 输入引脚,PT1.2 做为普通的GPIO 口。外置RC 振荡器的频率最高可以到8MHz,最
低可以到几KHz,甚至更低。
2.2.9 外部时钟源
外部时钟源,通过代码选项配置为外部高速时钟或外部低速时钟或外部RC 振荡器,同时通过寄存
器CST 使能开关。外部时钟源通过PT1.1 口灌入时钟。当外部时钟源频率较快时,代码选项建议选择
外部高速时钟或外部RC 时钟;当外部时钟源频率较低时(与外部低速时钟频率相当),代码选项可以
选择外部低速时钟或外部RC 时钟。
Rev.1.2
第19 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.3 复位系统
CSU8RF3421/CSU8RF3422/CSU8RF3423 有以下方式复位:
1)上电复位
RST
2)
3)
硬件复位(正常操作)
RST
硬件复位(从Sleep 模式)
4)WDT 复位(正常操作)
5)WDT 复位(从Sleep 模式)
6)低电压复位(LVR)
上述任意一种复位发生时,所有系统寄存器恢复默认状态(WDT 复位TO、PD 标志位除外),程序停
止运行,同时程序计数器PC 清零。复位结束后,系统从向量000H 重新开始。各种复位情况下的
TO,PD 标志位如下表所示。
表6 复位信号和状态寄存器关系
TO
0
PD
0
条件
上电复位
0
0
RST
RST
硬件复位(正常操作)
0
0
硬件复位(从Sleep 模式)
1
1
0
WDT 复位(正常操作)
WDT 复位(从Sleep 模式)
低电压复位
不变
不变
0
下图给出了复位电路原理图。
POR
DRT
RST
LVR(2.0v)
LVR(2.4v)
To CPU
WDT Reset
图8
复位电路原理图
Rev.1.2
第20 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
任何一种复位情况都需要一定的响应时间,系统提供完善的复位流程以保证复位动作的顺利进行。对
于不同类型的振荡器起振的时间不同,所以完成复位的时间也有所不同。RC 振荡器起振时间最短,外
置低速晶振起振时间最长。所以在有外部晶振电路应用的情况下,用户应在上电复位后,预留一定的
时间再从内部RC 时钟切换到外部晶振电路。用户在终端使用过程中,应注意考虑主机对上电复位的要
求。
VPOR
VLVR
VDD
Internal
reset
tWVS
图9
上电复位电路示例及上电过程
参数
VPOR
VLVR
最小值
典型值
2.0V
2.0V
最大值
2.2V
2.2V
1.8V
1.8V
32ms
tWVS
40ms
48ms
(测试条件:VDD=5V,
T=25℃)
VPOR:上电复位
VLVR:低电压复位
tWVS: 等待电压稳定时间
2.3.1 上电复位
系统上电呈现逐渐上升的曲线形式,需要一定时间才能达到正常的工作电压(对于不同的指令周期所
需工作电压是不同的,指令周期越快相应所需的工作电压就越高,见5.2 直流特性)。要求用户系统的
上电速度要大于0.15V/mS,尤其是要注意指令周期是4MHz 时,因为他要求的工作电压最高。
2.3.2 看门狗复位
看门狗复位是一种系统的保护设置。在正常状态下,程序将看门狗定时器清零。如出错,系统处于未
知状态,此时利用看门狗复位。看门狗复位后,系统重新进入正常状态。
2.3.3 掉电复位
掉电复位针对外部引起的系统电压跌落情况,例如受到干扰或者负载变化。系统掉电可能会引起系统
工作状态不正常或者程序执行错误。
Rev.1.2
第21 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
图10 系统掉电复位示意图
电压跌落可能会进入系统死区。进入系统死区,即电源电压不能满足系统的最小工作电压要求。系统
掉电复位示意图如上图所示。芯片的掉电复位点在2.0V,芯片的低电压复位点可以通过代码选项设置
成2.4V 或者不设置低电压复位点。
为避免进入系统死区,建议利用低电压复位(LVR)功能,尤其是指令周期是高速应用的情况。
不同指令周期的系统出错区域不同,取决于指令周期工作电压范围,见5.2。掉电复位性能的改善可以
通过如下几点实现:
1) 低电压复位(LVR)
2) 看门狗复位
3) 降低系统指令周期
4) 采用外部复位电路(稳压二极管复位电路;电压偏移复位电路;外部IC 复位)
2.3.4 外部硬件复位
外部复位由代码选项RESET_PIN 控制,见3.12。通过设置该代码选项,可使能外部硬件复位功能。外
部硬件复位引脚为施密特触发结构,低电平有效。硬件复位引脚为高电平时,系统正常工作;硬件复
位引脚为低电平时,系统复位。
在芯片代码选项使能外部硬件复位功能后,需要注意的是:在系统上电完成后,外部复位需要输入高
电平,否则,系统会一直复位,直到外部硬件复位结束。
外部硬件复位可以在上电过程中使用系统复位。良好的外部复位电路可以保护系统避免进入系统死
区。
Rev.1.2
第22 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.4 中断
CSU8RF3421/ CSU8RF3422/ CSU8RF3423 有14 个中断源,只有1 个中断入口地址004H。与中断
相关的SFR:中断使能控制寄存器INTE、INTE2、INTE3 和中断标志位寄存器INTF、INTF2、
INTF3。这14 个中断源都各自有一个中断使能,和一个总使能位GIE,并且它们的标志位硬件置位,
软件清0。标志位在没有打开中断使能时,状态改变时也会置1
当响应中断时,会把当前的PC 值入栈保护,并把PC 置为004H,同时把总使能位GIE 清0。执行
完中断服务程序,并用RETFIE 返回到之前的主程序,并把GIE 置1。
所有的中断都可以唤醒sleep 睡眠模式和halt 停止模式。
Rev.1.2
第23 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
URRIF
URRIF
URTIF
URTIF
SPIIF
SPIIE
CMP0IF
CMP0IE
CMP1IF
CMP1IE
CMP2IF
CMP2IE
CMP3IF
CMP3IE
E0IF
E0IE
E1IF
E1IE
Interrup to CPU
ADIF
ADIE
TM0IF
TM0IE
TM2IF
TM2IE
TM3IF
TM3IE
TM4IF
TM4IE
GIE
图11 中断逻辑
Rev.1.2
第24 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.4.1 中断使能寄存器
INTE 寄存器(地址为07h)
R/W-0
GIE
Bit7
R/W-0
TM2IE
Bit6
U-0
R/W-0
TM0IE
Bit4
R/W-0
SRADIE
Bit3
U-0
R/W-0
E1IE
Bit1
R/W-0
E0IE
Bit0
特性
INTE
Bit5
Bit2
Bit 7 GIE:全局中断使能标志
1 = 使能所有非屏蔽中断
0 = 不使能所有中断
Bit 6 TM2IE:8-Bit 定时/计数器2 中断使能标志
1 = 使能定时/计数器2 中断
0 = 不使能定时/计数器2 中断
Bit 4 TM0IE:8-Bit 定时0 器中断使能标志
1 = 使能定时器0 中断
0 = 不使能定时器0 中断
Bit 3 SRADIE:AD 中断使能标志
1 = 使能AD 中断
0 = 不使能AD 中断
Bit 1 E1IE:外部中断1 使能标志
1 =使能外部中断1
0 = 不使能外部中断1
Bit 0 E0IE:外部中断0 使能标志
1 = 使能外部中断0
0 = 不使能外部中断0
INTE2 寄存器(地址为3dh)
U-0
U-0
U-0
TM4IE
Bit5
R/W-0
TM3IE
Bit4
U-0
U-0
U-0
U-0
特性
INTE2
Bit7
Bit6
Bit3
Bit2
Bit1
Bit0
Bit 5 TM4IE:16-Bit 定时/计数器4 中断使能标志
1 = 使能定时/计数器4 中断
0 = 不使能定时/计数器4 中断
Bit 4 TM3IE:8-Bit 定时/计数器3 中断使能标志
1 = 使能定时/计数器3 中断
0 = 不使能定时/计数器3 中断
INTE3 寄存器(地址为3fh)
R/W-0
CMP0IF
Bit7
R/W-0
CMP1IF
Bit6
R/W-0
CMP2IF
Bit5
R/W-0
CMP3IF
Bit4
U-0
R/W-0
SPIIF
Bit2
R/W-0
URTIF
Bit1
R/W-0
URRIF
Bit0
特性
INTE3
Bit3
Bit 7 CMP0IE:比较器0 中断使能标志
1 = 使能比较器0 中断
0 = 不使能比较器0 中断
Bit 6 CMP1IE:比较器1 中断使能标志
1 = 使能比较器1 中断
0 = 不使能比较器1 中断
Bit 5 CMP2IE:比较器2 中断使能标志
1 = 使能比较器2 中断
0 = 不使能比较器2 中断
Rev.1.2
第25 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
Bit 4 CMP3IE:比较器3 中断使能标志
1 = 使能比较器3 中断
0 = 不使能比较器3 中断
Bit 2 SPIIE:SPI 中断使能标志
1 = 使能SPI 中断
0 = 不使能SPI 中断
Bit 1 URTIE:UART 发送中断使能标志
1 = 使能UART 发送中断
0 = 不使能UART 发送中断
Bit 0 URRIE:UART 接收中断使能标志
1 = 使能UART 接收中断
0 = 不使能UART 接收中断
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值 ‘1’= 位已设置
‘0’= 位已清零
X = 不确定位
Rev.1.2
第26 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.4.2 中断标志寄存器
中断标志位都是硬件置1,软件清0。中断标志位,就算其中断使能不为1 时,也可能硬件置位。
INTF 寄存器(地址为06h)
U-0
R/W-0
TM2IF
Bit6
U-0
R/W -0
TM0IF
Bit4
R/W -0
SRADIF
Bit3
U-0
R/W -0
E1IF
Bit1
R/W -0
E0IF
Bit0
特性
INTF
Bit7
Bit5
Bit2
Bit 6 TM2IF:8-Bit 定时/计数器2 中断标志,软件清零,硬件置高
1 = 发生定时中断,必须软件清0
0 = 没发生定时中断
Bit 4 TM0IF:8-Bit 定时器0 中断标志,软件清零,硬件置高
1 = 发生定时中断,必须软件清0
0 = 没发生定时中断
Bit 3 SRADIF:AD 中断中断标志,软件清零,硬件置高
1 = 发生AD 中断,必须软件清0
0 = 没发生AD 中断
Bit 1 E1IF:外部中断1 中断标志,软件清零,硬件置高
1 =外部中断1 发生中断,必须软件清0
0 =外部中断1 没发生中断
Bit 0 E0IF:外部中断0 中断标志,软件清零,硬件置高
1 = 外部中断0 发生中断,必须软件清0
0 =外部中断0 没发生中断
INTF2 寄存器(地址为3ch)
U-0
U-0
R/W -0
TM4IF
Bit5
R/W -0
TM3IF
Bit4
U-0
U-0
U-0
U-0
特性
INTF2
Bit7
Bit6
Bit3
Bit2
Bit1
Bit0
Bit 5 TM4IF:16-Bit 定时/计数器4 中断标志,软件清零,硬件置高
1 = 发生定时中断,必须软件清0
0 = 没发生定时中断
Bit 4 TM3IF:8-Bit 定时/计数器3 中断标志,软件清零,硬件置高
1 = 发生定时中断,必须软件清0
0 = 没发生定时中断
INTF3 寄存器(地址为3eh)
R/W -0
CMP0IF
Bit7
R/W -0
CMP1IF
Bit6
R/W -0
CMP2IF
Bit5
R/W -0
CMP3IF
Bit4
U-0
R/W -0
SPIIF
Bit2
R/W -0
URTIF
Bit1
R/W -0
URRIF
Bit0
特性
INTF2
Bit3
Bit 7 CMP0IF:比较器0 中断标志,软件清零,硬件置高
1 = 发生比较器0 中断,必须软件清0
0 = 没发生比较器0 中断
Bit 6 CMP1IF:比较器1 中断标志,软件清零,硬件置高
1 = 发生比较器1 中断,必须软件清0
0 = 没发生比较器1 中断
Bit 5 CMP2IF:比较器2 中断标志,软件清零,硬件置高
1 = 发生比较器2 中断,必须软件清0
0 = 没发生比较器2 中断
Bit 4 CMP3IF:比较器3 中断标志,软件清零,硬件置高
1 = 发生比较器3 中断,必须软件清0
Rev.1.2
第27 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
0 = 没发生比较器3 中断
Bit 2 SPIIF:SPI 中断标志,软件清零,硬件置高
1 = 发生SPI 中断,必须软件清0
0 = 没发生SPI 中断
Bit 1 URTIF:UART 发送中断标志,软件清零,硬件置高
1 = 发生UART 发送中断,必须软件清0
0 = 没发生UART 发送中断
Bit 0 URRIF:UART 接收中断标志,软件清零,硬件置高
1 = 发生UART 接收中断,必须软件清0
0 = 没发生UART 接收中断
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值 ‘1’= 位已设置
‘0’= 位已清零
X = 不确定位
Rev.1.2
第28 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.4.3 外部中断0
PT1.0 为外部中断0 的输入端。触发方式由PT1CON0 寄存器中的E0M[1:0]寄存器决定。INTE 寄
存器中的E0IE 为外部中断0 的使能位,INTF 寄存器中的E0IF 为中断标志位,硬件置1,软件清0。
可唤醒sleep 或halt 模式。不管E0IE 是否使能,只要PT1.0 被触发,中断标志位E0IF 就会置1。
PT1CON0 寄存器(地址为23h)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-0
E1M
Bit2
R/W-0
R/W-0
Bit0
特性
PT1CON0
E0M[1:0]
Bit7
Bit6
Bit1
Bit 2 E1M:外部中断1 触发模式
1 = 外部中断1 为下降沿触发
0 = 外部中断1 在状态改变时触发
Bit 1-0 E0M[1:0]:外部中断0 触发模式
11 = 外部中断0 在状态改变时触发
10 = 外部中断0 在状态改变时触发
01 = 外部中断0 为上升沿触发
00 = 外部中断0 为下降沿触发
2.4.4 外部中断1
PT1.1、PT1.2、PT1.3、PT1.4、PT1.5、PT1.6 和PT1.7 都可作为外部中断1 的输入端。触发方式由
PT1CON0 寄存器中的E1M 寄存器决定。INTE 寄存器中的E1IE 为外部中断1 的使能位,INTF 寄存器
中的E1IF 为中断标志位,硬件置1,软件清0。不管E1IE 是否使能,只要外部中断1 被触发,中断标
志位E1IF 就会置1。
PT1CON0 寄存器(地址为23h)
R/W-0
R/W-0
R/W-0
R/W-0
Bit4
R/W-0
Bit3
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT1CON0
PT1W[3:0]
Bit7
Bit6
Bit5
Bit 6
Bit 5
Bit 4
Bit 3
PT1W[3]:PT1.5 外部中断1 使能
0 = 禁止PT1.5 外部中断1
1 = 使能PT1.5 外部中断1
PT1W[2]:PT1.4 外部中断1 使能
0 = 禁止PT1.4 外部中断1
1 = 使能PT1.4 外部中断1
PT1W[1]:PT1.3 外部中断1 使能
0 = 禁止PT1.3 外部中断1
1 = 使能PT1.3 外部中断1
PT1W[0]:PT1.1 外部中断1 使能
0 = 禁止PT1.1 外部中断1
1 = 使能PT1.1 外部中断1
Rev.1.2
第29 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
U-0
U-0
U-0
U-0
U-0
R/W-0
Bit2
R/W-0
PT1W2[2:0]
Bit1
R/W-0
Bit0
特性
PT1CON1
Bit7
Bit6
Bit5
Bit4
Bit3
Bit 2
Bit 1
Bit 0
PT1W2[2]:PT1.7 外部中断1 使能
0 = 禁止PT1.7 外部中断1
1 = 使能PT1.7 外部中断1
PT1W2[1]:PT1.6 外部中断1 使能
0 = 禁止PT1.6 外部中断1
1 = 使能PT1.6 外部中断1
PT1W2[0]:PT1.2 外部中断1 使能
0 = 禁止PT1.2 外部中断1
1 = 使能PT1.2 外部中断1
特性(Property):
R = 可读位
-n = 上电复位后的值 ‘1’= 位已设置
W = 可写位
U = 无效位
‘0’= 位已清零
X = 不确定位
Rev.1.2
第30 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.4.5 AD 中断溢出
INTE 寄存器中的SRADIE 为ADC 中断的使能位,INTF 寄存器中的SRADIF 为中断标志位,软件
清0。当ADC 转换完成时,不管SRADIE 是否使能,SRADIF 都会硬件置1。
2.4.6 定时器0 溢出中断
INTE 寄存器中的TM0IE 为定时器0 中断的使能位,INTF 寄存器中的TM0IF 为中断标志位,软件
清0。当定时器0 溢出时,不管TM0IE 是否使能,TM0IF 都会硬件置1。
2.4.7 定时/计数器2 溢出中断
INTE 寄存器中的TM2IE 为定时/计数器2 中断的使能位,INTF 寄存器中的TM2IF 为中断标志
位,软件清0。当定时/计数器2 溢出时,不管TM2IE 是否使能,TM2IF 都会硬件置1。
2.4.8 定时/计数器3 溢出中断
INTE2 寄存器中的TM3IE 为定时/计数器3 中断的使能位,INTF2 寄存器中的TM3IF 为中断标志
位,软件清0。当定时/计数器3 溢出时,不管TM3IE 是否使能,TM3IF 都会硬件置1。
2.4.9 定时/计数器4 溢出中断
INTE2 寄存器中的TM4IE 为定时/计数器3 中断的使能位,INTF2 寄存器中的TM4IF 为中断标志
位,软件清0。当定时/计数器4 溢出时,不管TM4IE 是否使能,TM4IF 都会硬件置1。
2.4.10 比较器0 中断
INTE3 寄存器中的CMP0IE 为比较器中断的使能位,INTF3 寄存器中的CMP0IF 为中断标志位,
软件清0。当比较器0 结果改变时,不管CMP0IE 是否使能,CMP0IF 都会硬件置1。
2.4.11 比较器1 中断
INTE3 寄存器中的CMP1IE 为比较器中断的使能位,INTF3 寄存器中的CMP1IF 为中断标志位,
软件清0。当比较器1 结果改变时,不管CMP1IE 是否使能,CMP1IF 都会硬件置1。
2.4.12 比较器2 中断
INTE3 寄存器中的CMP2IE 为比较器中断的使能位,INTF3 寄存器中的CMP2IF 为中断标志位,
软件清0。当比较器2 结果改变时,不管CMP2IE 是否使能,CMP2IF 都会硬件置1。
2.4.13 比较器3 中断
INTE3 寄存器中的CMP3IE 为比较器中断的使能位,INTF3 寄存器中的CMP3IF 为中断标志位,
软件清0。当比较器3 结果改变时,不管CMP3IE 是否使能,CMP3IF 都会硬件置1。
2.4.14 SPI 中断
INTE3 寄存器中的SPIIE 为SPI 中断的使能位,INTF3 寄存器中的SPIIF 为中断标志位,软件清
0。当SPI 完成一个字节数据发送或接收时,不管SPIIE 是否使能,SPIIF 都会硬件置1。
2.4.15 UART 发送中断
INTE3 寄存器中的URTIE 为UART 发送中断的使能位,INTF3 寄存器中的URTIF 为中断标志位,
软件清0。当UART 完成一个字节数据发送时,不管URTIE 是否使能,URTIF 都会硬件置1。
2.4.16 UART 接收中断
INTE3 寄存器中的URRIE 为UART 接收中断的使能位,INTF3 寄存器中的URRIF 为中断标志
位,软件清0。当UART 完成一个字节数据接收时,不管URRIE 是否使能,URRIF 都会硬件置1。
2.4.17 PUSH 和POP 处理
Rev.1.2
第31 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
CSU8RF3421/ CSU8RF3422/ CSU8RF3423 有8 级的PUSH 和POP 堆栈。有中断请求被响应后,程
序跳转到004h 执行子程序。响应中断之前必须保存WORK 和STATUS 中的的标志位(只保存C,
DC,Z)。芯片提供PUSH 和POP 指令进行入栈保存和出栈恢复,从而避免中断结束后程序运行错误。
子程序中也可以使用PUSH 和POP 指令对WORK 和STATUS(C,DC,Z)进行保存和恢复。
…
org 004H
goto int_server
…
int_server:
push
btfsc intf,e0if ;判断外部中断0标志
goto ex0_int
btfsc intf,e1if ;判断外部中断1标志
goto ex1_int
btfsc intf,tm0if ;判断定时器0中断标志
goto tm0_int
btfsc intf,tm2if ;判断定时/计数器2中断标志
goto tm2_int
btfsc intf,tm3if ;判断定时/计数器3中断标志
goto tm3_int
…
ex0_int:
bcf intf, e1if
…
;清除e1if
pop
retfie
…
Rev.1.2
第32 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.5 定时器0
TM0IN[7:0]
CLKDIV[1:0]
T0SEL[1:0]
T0RATE[2:0]
超时溢出
T0EN
EN
OUT
MCK
CPUCLK
MCK/4~MCK/32
MCK
RTC
8 Bits Counter
CLK
CKT0
TM0CLK
MUX
CKT0~CKT0/128
32KHz WDTCLK
图12 定时器0 功能框图
定时器0 模块的输入为MCK 或者CPUCLK。在定时器0 模块集成了一个分频器,分频的时钟
TM0CLK 作为8 bits 计数器的输入时钟。当用户设置了定时器0 模块的使能标志,8 bits 计数器将启
动,将会从000H 递增到TM0IN。用户需要设置TM0IN(定时器0 模块中断信号选择器)以选择定时
超时中断信号。当定时超时发生时,中断标志位会自设置,程序计数器会跳转到004H 以执行中断服务
程序。
表7 定时器0 寄存器列表
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
地址 名称
上电复位
值
06H
07H
0FH
10H
11H
INTF
INTE
TM0CON T0EN
TM0IN
TM0IF
TM0IE
T0RATE[2:0]
u0u00u00
00u00u00
0000u100
11111111
00000000
GIE
T0RSTB
T0SEL[1:0]
TM0IN[7:0]
TM0CNT[7:0]
TM0CNT
Rev.1.2
第33 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表8 TM0CON 寄存器各位功能表
位地址
标识符
功能
定时器0 使能位
1:使能定时器0
0:禁止定时器0
定时器0 时钟选择
7
T0EN
T0RATE [2:0]
000
TM0CLK
CKT0
001
010
011
100
101
110
111
CKT0 /2
CKT0 /4
CKT0 /8
CKT0 /16
CKT0 /32
CKT0 /64
CKT0 /128
6:4
T0RATE[2:0]
定时器0 复位
1:禁止定时器0 复位
0:使能定时器0 复位
2
T0RSTB
当将该位为0 时,定时器0 复位后,T0RSTB 会自动置1
时钟源选择
T0SEL[1:0]
定时器0 时钟源
00
01
10
CPUCLK
MCK
1:0
T0SEL[1:0]
外部32768Hz 晶振时钟,
仅当外部接32768Hz 晶振,且晶振打开时有效
内部32K WDT 时钟,
仅当内部WDT 晶振打开时有效
11
表9 TM0IN 寄存器各位功能表
位地址
标识符
功能
7 :0
TM0IN[7:0]
定时器0 溢出值(溢出值:1~255)
表10 TM0CNT 寄存器各位功能表
位地址
7 :0
操作:
标识符
功能
TM0CNT[7:0]
定时器0 计数寄存器,只读
1) 设置TM0CLK,为定时器0 模块选择输入。
2) 设置TM0IN,选择定时器0 溢出值。(溢出值:1~255)
3) 设置寄存器标志位:TM0IE 与GIE,使能定时器0 中断。
4) 清零寄存器标志位:T0RSTB,复位定时器0 模块的计数器。
5) 设置寄存器标志位:TM0EN,使能定时器0 模块的8 bits 计数器。
6) 当定时超时发生时,程序计数器会跳转到004H。
定时器0 溢出时间计算方法:
定时器0 溢出时间=(TM0IN+1)/TM0CLK.
Rev.1.2
第34 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.6 I/O PORT
表11 I/O 口寄存器表
地
上电复位
值
名称
址
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
20h PT1
21h PT1EN
22h PT1PU
23h PT1CON0 PT11OD
24h PT2
25h PT2EN
26h PT2PU
28h PT3
29h PT3EN
2ah PT3PU
2bh PT3CON
30h PT5
31h PT5EN
32h PT5PU
33h PT5CON
38h PT1CON1
PT1[7:0]
xxxxxxxx
0000u000
00000000
00000000
xxuuuuuu
00uuuuuu
00uuuuuu
xxxxxxxx
00000000
00000000
00000000
xxxxxxxx
00000000
00000000
00000000
uuuuu000
PT1EN[7:4]
PT1EN[2:0]
PT1PU[7:0]
PT1W1[3:0]
E1M
E0M[1:0]
PT2[7:6]
PT2EN[7:6]
PT2PU[7:6]
PT3[7:0]
PT3EN[7:0]
PT3PU[7:0]
PT3CON[7:0]
PT5[7:0]
PT5EN[7:0]
PT5PU[7:0]
PT5OD[7:0]
PT1W2[2:0]
微控制器中的通用I/O 口(GPIO)用于通用的输入与输出功能。用户可以通过GPIO 接收数据信
号或将数据传送给其它的数字设备。CSU8RF3421/CSU8RF3422/CSU8RF3423 的部分GPIO 可以被定义
为其它的特殊功能。在本节,只说明GPIO 的通用I/O 口功能,特殊功能将会在接下来的章节中说明。
2.6.1 PT1 口
PT1 寄存器(地址为20h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-X
PT1[7:0]
Bit3
R/W-X
R/W-X
Bit2
R/W-X
Bit1
R/W-X
Bit0
特性
PT1
Bit7
Bit6
Bit4
Bit 7-0 PT1[7:0]:GPIO1 口数据标志
PT1[7] = GPIO1 bit 7 数据标志位
PT1[6] = GPIO1 bit 6 数据标志位
PT1[5] = GPIO1 bit 5 数据标志位
PT1[4] = GPIO1 bit 4 数据标志位
PT1[3] = GPIO1 bit 3 数据标志位
PT1[2] = GPIO1 bit 2 数据标志位
PT1[1] = GPIO1 bit 1 数据标志位
PT1[0] = GPIO1 bit 0 数据标志位
Rev.1.2
第35 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
PT1EN 寄存器(地址为21h)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
Bit4
U-0
Bit3
R/W-0
Bit2
R/W-0
PT1EN[2:0]
Bit1
R/W-0
Bit0
特性
PT1EN
PT1EN[7:4]
Bit7
Bit6
Bit 7-0 PT1EN[7:0]:GPIO1 口输入/输出控制标志
PT1EN[7] = GPIO1 bit 7 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[6] = GPIO1 bit 6 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[5] = GPIO1 bit 5 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[4] = GPIO1 bit 4 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[2] = GPIO1 bit 2 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[1] = GPIO1 bit 1 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[0] = GPIO1 bit 0 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1PU 寄存器(地址为22h)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
PT1PU[7:0]
Bit3
R/W-0
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT1PU
Bit7
Bit6
Bit4
Bit 7-0 PT1PU[7:0]:GPIO1 口上拉电阻使能标志
PT1PU[7] = GPIO1 bit 7 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[6] = GPIO1 bit 6 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[5] = GPIO1 bit 5 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[4] = GPIO1 bit 4 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[3] = GPIO1 bit 3 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[2] = GPIO1 bit 2 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[1] = GPIO1 bit 1 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT1PU[0] = GPIO1 bit 0 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值‘1’= 位已设置 ‘0’= 位已清零
X = 不确定位
Rev.1.2
第36 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
PT1CON0 寄存器(地址为23h)
R/W-0
PT11OD
Bit7
R/W-0
R/W-0
R/W-0
Bit4
R/W-0
Bit3
R/W-0
E1M
Bit2
R/W-0
R/W-0
Bit0
特性
PT1CON0
PT1W[3:0]
E0M[1:0]
Bit6
Bit5
Bit1
Bit 7 PT11OD:PT1.1 漏极开路使能位
0 = 禁止PT1.1 漏极开路
1 = 使能PT1.1 漏极开路
Bit 6
Bit 5
Bit 4
Bit 3
PT1W[3]:PT1.5 外部中断1 使能
0 = 禁止PT1.5 外部中断1
1 = 使能PT1.5 外部中断1
PT1W[2]:PT1.4 外部中断1 使能
0 = 禁止PT1.4 外部中断1
1 = 使能PT1.4 外部中断1
PT1W[1]:PT1.3 外部中断1 使能
0 = 禁止PT1.3 外部中断1
1 = 使能PT1.3 外部中断1
PT1W[0]:PT1.1 外部中断1 使能
0 = 禁止PT1.1 外部中断1
1 = 使能PT1.1 外部中断1
Bit 2 E1M:外部中断1 触发模式
1 = 外部中断1 为下降沿触发
0 = 外部中断1 在状态改变时触发
Bit 1-0 E0M[1:0]:外部中断0 触发模式
11 = 外部中断0 在状态改变时触发
10 = 外部中断0 在状态改变时触发
01 = 外部中断0 为上升沿触发
00 = 外部中断0 为下降沿触发
PT1CON1 寄存器(地址为38h)
U-0
U-0
U-0
U-0
U-0
R/W-0
Bit2
R/W-0
PT1W2[2:0]
Bit1
R/W-0
Bit0
特性
PT1CON1
Bit7
Bit6
Bit5
Bit4
Bit3
Bit 2
Bit 1
Bit 0
PT1W2[2]:PT1.7 外部中断1 使能
0 = 禁止PT1.7 外部中断1
1 = 使能PT1.7 外部中断1
PT1W2[1]:PT1.6 外部中断1 使能
0 = 禁止PT1.6 外部中断1
1 = 使能PT1.6 外部中断1
PT1W2[0]:PT1.2 外部中断1 使能
0 = 禁止PT1.2 外部中断1
1 = 使能PT1.2 外部中断1
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值‘1’= 位已设置 ‘0’= 位已清零
X = 不确定位
Rev.1.2
第37 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.6.2 PT2 口
PT2 寄存器(地址为24h)
R/W-X
R/W-X
U-0
U-0
U-0
U-0
U-0
U-0
特性
PT2
PT2[7:6]
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 7-6 PT2[7:6]:GPIO2 口数据标志位
PT2[7] = GPIO2 bit 7 的数据标志位
PT2[6] = GPIO2 bit 6 的数据标志位
PT2EN 寄存器(地址为25h)
R/W-X
R/W-X
U-0
U-0
U-0
U-0
U-0
U-0
特性
PT2EN
PT2EN[7:6]
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 7-6 PT2EN[7:6]:GPIO 2 口输入/输出控制标志
PT2EN[7] = GPIO2 bit 7 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT2EN[6] = GPIO2 bit 6 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT2PU 寄存器(地址为26h)
R/W-0
R/W-0
U-0
U-0
U-0
U-0
U-0
U-0
特性
PT2PU
PT2PU[7:6]
Bit6
Bit7
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 7-6 PT2PU[7:6]:GPIO2 口上拉电阻使能标志
PT2PU[7] = GPIO2 bit 7 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT2PU[6] = GPIO2 bit 6 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值‘1’= 位已设置 ‘0’= 位已清零
X = 不确定位
Rev.1.2
第38 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.6.3 PT3 口
PT3 寄存器(地址为28h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-X
R/W-X
Bit3
R/W-X
Bit2
R/W-X
Bit1
R/W-X
Bit0
特性
PT3
PT3[7:0]
Bit7
Bit6
Bit4
Bit7-0 PT3[7:0]:GPIO3 口数据标志位
PT3[7] = GPIO3 bit 7 的数据标志位
PT3[6] = GPIO3 bit 6 的数据标志位
PT3[5] = GPIO3 bit 5 的数据标志位
PT3[4] = GPIO3 bit 4 的数据标志位
PT3[3] = GPIO3 bit 3 的数据标志位
PT3[2] = GPIO3 bit 2 的数据标志位
PT3[1] = GPIO3 bit 1 的数据标志位
PT3[0] = GPIO3 bit 0 的数据标志位
PT3EN 寄存器(地址为29h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-0
Bit4
R/W-0
PT3EN[7:0]
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT3EN
Bit7
Bit6
Bit3
Bit 7-0 PT3EN[7:0]:GPIO 3 口输入/输出控制标志
PT3EN[7] = GPIO3 bit 7 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[6] = GPIO3 bit 6 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[5] = GPIO3 bit 5 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[4] = GPIO3 bit 4 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[3] = GPIO3 bit 3 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[2] = GPIO3 bit 2 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[1] = GPIO3 bit 1 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3EN[0] = GPIO3 bit 0 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT3PU 寄存器(地址为2ah)
R/W-X
R/W-X
R/W-X
Bit5
R/W-0
R/W-0
Bit3
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT3PU
PT3PU[7:0]
Bit7
Bit6
Bit4
Bit 7-0 PT3PU[7:0]:GPIO3 口上拉电阻使能标志
PT3PU[7] = GPIO3 bit 7 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[6] = GPIO3 bit 6 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[5] = GPIO3 bit 5 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[4] = GPIO3 bit 4 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[3] = GPIO3 bit 3 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[2] = GPIO3 bit 2 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[1] = GPIO3 bit 1 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3PU[0] = GPIO3 bit 0 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT3CON 寄存器(地址为2bh)
R/W-X
R/W-X
R/W-X
Bit5
R/W-0
R/W-0
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT3CON
PT3CON[7:0]
Bit3
Bit7
Bit6
Bit4
Rev.1.2
第39 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
Bit7-0 PT3CON[7:0]:GPIO3 口模拟/数字端口使能标志
PT3CON[7] = GPIO3bit 7 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[6] = GPIO3bit 6 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[5] = GPIO3bit 5 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[4] = GPIO3bit 4 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[3] = GPIO3bit 3 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[2] = GPIO3bit 2 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[1] = GPIO3bit 1 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
PT3CON[0] = GPIO3bit 0 的I/O 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
2.6.4 PT5 口
PT5 寄存器(地址为30h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-X
R/W-X
Bit3
R/W-X
Bit2
R/W-X
Bit1
R/W-X
Bit0
特性
PT5
PT5[7:0]
Bit7
Bit6
Bit4
Bit 7-0 PT5[7:0]:GPIO5 口数据标志位
PT5[7] = GPIO5 bit 7 的数据标志位
PT5[6] = GPIO5 bit 6 的数据标志位
PT5[5] = GPIO5 bit 5 的数据标志位
PT5[4] = GPIO5 bit 4 的数据标志位
PT5[3] = GPIO5 bit 3 的数据标志位
PT5[2] = GPIO5 bit 2 的数据标志位
PT5[1] = GPIO5 bit 1 的数据标志位
PT5[0] = GPIO5 bit 0 的数据标志位
PT5EN 寄存器(地址为31h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-0
Bit4
R/W-0
PT5EN[7:0]
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT5EN
Bit7
Bit6
Bit3
Bit 7-0 PT5EN[7:0]:GPIO5 口输入/输出控制标志
PT5EN[7] = GPIO5 bit 4 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[6] = GPIO5 bit 3 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[5] = GPIO5 bit 2 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[4] = GPIO5 bit 4 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[3] = GPIO5 bit 3 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[2] = GPIO5 bit 2 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[1] = GPIO5 bit 1 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5EN[0] = GPIO5 bit 0 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT5PU 寄存器(地址为32h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-0
R/W-0
Bit3
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT5PU
PT5PU[7:0]
Bit7
Bit6
Bit4
Bit 7-0 PT5PU[7:0]:GPIO5 口上拉电阻使能标志
PT5PU[7] = GPIO5 bit 7 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[6] = GPIO5 bit 6 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[5] = GPIO5 bit 5 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[4] = GPIO5 bit 4 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
Rev.1.2
第40 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
PT5PU[3] = GPIO5 bit 3 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[2] = GPIO5 bit 2 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[1] = GPIO5 bit 1 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[0] = GPIO5 bit 0 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5CON 寄存器(地址为33h)
R/W-X
R/W-X
R/W-X
Bit5
R/W-0
R/W-0
Bit3
R/W-0
Bit2
R/W-0
Bit1
R/W-0
Bit0
特性
PT5CON
PT5OD[7:0]
Bit7
Bit6
Bit4
Bit 7-0 PT5CON[7:0]:GPIO5 口控制标志
PT5CON[7] = GPIO5 bit 7 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[6] = GPIO5 bit 6 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[5] = GPIO5 bit 5 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[4] = GPIO5 bit 4 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[3] = GPIO5 bit 3 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[2] = GPIO5 bit 2 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[1] = GPIO5 bit 1 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON[0] = GPIO5 bit 0 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值‘1’= 位已设置 ‘0’= 位已清零
X = 不确定位
Rev.1.2
第41 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3 增强功能
3.1 Halt 和Sleep 模式
CSU8RF3421/CSU8RF3422/CSU8RF3423 支持低功耗工作模式。为了使其处于待机状态,可以让
CPU 停止工作使CSU8RF3421/CSU8RF3422/CSU8RF3423 进行停止或睡眠模式,减低功耗。这两种模
式描述如下:
停止模式
CPU 执行停止指令后,程序计数器停止计数直到出现中断指令。为了避免由中断返回(Interrupt
Return)引起的程序错误,建议在停止指令之后加一NOP 指令以保证程序返回时能正常运行。
睡眠模式
CPU 执行睡眠指令后,所有的振荡器停止工作(EO_SLP 为0 时)直到出现一个外部中断指令复位
CPU。为了避免由中断返回(Interrupt Return)引起的程序错误,建议停止指令之后加一NOP 指令以
保证程序的正常运行。在睡眠模式下的功耗大约有1uA。
为了保证CPU 在睡眠模式下的功耗最小,在执行睡眠指令之前,需要把IO 口的上拉电阻断开,
并且保证所有的输入口是接到VDD 或VSS 电平。
注:
芯片如果处于sleep 状态,这时候降低电压,配置2.4V 低电压复位不会起作用,低于2.0V 掉电复位
点才会复位。如果sleep 唤醒后,此时还处于低电压复位点以下,则会立即复位。
Rev.1.2
第42 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
Halt 示范程序:
…
movlw 01h
movwf pt1up ;断开pt1 除bit0(pt1[0])外的其他接口的上拉电阻
movlw feh
movwf pt1en ;pt1口除bit0(pt1[0])做输入口外,其他接口作为输出口(pt1.3除外)
clrf pt1
;将pt1[4:1]输出为低
;断开pt2上拉电阻
;pt2 口用作输入口
;将pt2 输出为低
clrf pt2up
clrf pt2en
clrf pt2
clrf pt3up
clrf pt3en
;断开pt3上拉电阻
;pt3 口用作输入口
clrf pt3con ;pt3 口用作数字口
clrf pt3
clrf pt5up
clrf pt5en
clrf pt5
clrf intf
movlw 81h
movwf inte
halt
;将pt3 输出为低
;断开pt5上拉电阻
;pt5 口用作输入口
;将pt5 输出为低
;清除中断标志位
;使能外部中断0
;进入停止模式
nop
…
;保证CPU 重启后程序能正常工作
Sleep 示范程序:
…
movlw 01h
movwf pt1up ;断开pt1 除bit0(pt1[0])外的其他接口的上拉电阻
movlw feh
movwf pt1en ;pt1口除bit0(pt1[0])做输入口外,其他接口作为输出口(pt1.3除外)
clrf pt1
;将pt1[4:1]输出为低
;断开pt2上拉电阻
;pt2 口用作输入口
;将pt2 输出为低
clrf pt2up
clrf pt2en
clrf pt2
clrf pt3up
clrf pt3en
;断开pt3上拉电阻
;pt3 口用作输入口
clrf pt3con ;pt3 口用作数字口
clrf pt3
clrf pt5up
clrf pt5en
clrf pt5
clrf intf
movlw 81h
movwf inte
sleep
;将pt3 输出为低
;断开pt5上拉电阻
;pt5 口用作输入口
;将pt5 输出为低
;清除中断标志位
;使能外部中断0
;进入睡眠模式
nop
;保证CPU 重启后程序能正常工作
Rev.1.2
第43 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.2 看门狗(WDT)
WDTIN
WDT_RST
Compare
WDTOEN
WDTEN
WDTOUT
Watch Dog
Timer
8Bits Counter
MUX
8Bits Counter
Ocsillator
WDTS
图13 看门狗定时器功能框图
看门狗定时器(WDT)用于防止程序由于某些不确定因素而失去控制。当WDT 启动时,WDT 计
时超时后将使CPU 复位。在运行的程序一般在WDT 复位CPU 之前先复位WDT。当出现某些故障
时,程序会被WDT 复位到正常状态下,但程序不会复位WDT。
当用户把CST_WDT 清0 时,则内部的看门狗定时器振荡器(32KHz)将会启动,产生的时钟被
送到“8 bits 计数器1”。当用户置位WDTEN 时,“8 bits 计数器1”开始计数,“8 bits 计数器1”的
输出是内部信号WDTA[7:0],被发送到一个受寄存器标志位WDTS[2:0]控制的多路选择器,选择器的
输出作为“8 bits 计数器2”的时钟输入。当“8 bits 计数器2”计数值与WDTIN 数值相等时溢出,溢
出时它会发送WDTOUT 信号复位CPU 及置位TO 标志位。用户可以使用指令CLRWDT 复位WDT。
表12 看门狗定时器寄存器表
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
地址 名称
上电复位
值
04H
0DH WDTCON WDTEN
0EH WDTIN
STATUS
TO
00u00000
0uu0u000
11111111
WDT_DLY
WDTS[2:0]
WDTIN[7:0]
WDTCON 寄存器(0DH)
位地址
标识符
WDTEN
保留
功能
7
6:5
看门狗使能位,高电平有效
保留
看门狗复位延时使能位
0:看门狗复位不延时
1 :看门狗复位后延时8ms
保留
4
3
WDT_DLY
保留
WDT 计数时钟选择
WDTS [2:0]
000
001
010
WDT 计数时钟
WDTCLK /256
WDTCLK /128
WDTCLK /64
2:0
WDTS[2:0]
Rev.1.2
第44 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
011
100
101
110
111
WDTCLK /32
WDTCLK /16
WDTCLK /8
WDTCLK /4
WDTCLK /2
注:WDT_DLY 延时8ms 时系统一直处于看门狗复位状态,8ms 后解除;且8ms 为使用内部16M 晶振
16 M
时的计时时间,若系统时钟使用其他时钟,则计时时间为
ms,其中f 为系统使用的时钟频
* 8
f
率,如选择外部1M 时钟时,则计时时间为128ms。
操作:
1.设置WDTS[3:0],选择WDT 时钟频率。
2.设置WDTIN,选择不同的溢出时间值
2.置位寄存器标志位:WDTEN,使能WDT。
3.把CST_WDT 清0,打开WDT 的晶振。
4.在程序中执行CLRWDT 指令复位WDT。
WDT 溢出时间计算公式:
2(8 WDTS [2:0])
溢出时间
*(WDTIN [7 : 0] 1)
32 k
WDTS[2:0]范围为0~7,WDTIN[7:0]范围为0~255。
WDTS[2:0]
计数器时钟
WDTA [0]
WDTA [1]
WDTA [2]
WDTA [3]
WDTA [4]
WDTA [5]
WDTA [6]
WDTA [7]
时间(当WDTIN==FFH)
000
001
010
011
100
101
110
111
2048ms
1024ms
512ms
256ms
128ms
64ms
32ms
16ms
Rev.1.2
第45 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.3 定时/计数器2
PWM2OUT
TM2R[7:0]
PT5.0 IO电路
PT5.0
CLKDIV[1:0]
T2SEL
TM2IN[7:0]
PWM
Compare
MUX
T2RATE[2:0]
T2CKS
MUX
CPUCLK
MCK
T2EN
MCK/4~MCK/32
BZ
CKT2
MUX
CKT2~CKT2/128
8 Bits
Counter
DIV2
T2OUT
超时溢出
MCK
两个MCK时钟采
样PT1.0
TM2LCK
PT1.0
图14 定时/计数器2 模块的功能框图
定时/计数器2 模块的输入是TM2CLK。当用户设置了定时/计数器2 模块的使能标志,8 bits 计数
器将启动,从00h 递增到TM2IN。用户需要设置TM2IN(定时器模块中断信号选择器)以选择定时超
时中断信号。当定时超时发生时,BZ 输出信号发生跳变。
主要功能:
1)8 位可编程定时器;
2)外部事件计数;
3)蜂鸣器输出;
4)PWM2 输出;
3.3.1 寄存器描述
表13 定时器寄存器列表
地
址
上电复位
值
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
06h INTF
07h INTE
TM2IF
TM2IE
u0u00u00
00u00u00
00000100
11111111
00000000
00000000
00000000
GIE
T2EN
PWM2OUT
17h TM2CON
18h TM2IN
19h TM2CNT
1ah TM2R
7eh METCH
T2RATE[2:0]
T2CKS T2RSTB T2OUT
TM2IN[7:0]
TM2CNT[7:0]
TM2R[7:0]
T2SEL
Rev.1.2
第46 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表14 TM2CON 寄存器各位功能表
位地址
标识符
功能
定时/计数器2 使能位
1:使能定时器2
0:禁止定时器2
定时/计数器1 时钟选择
7
T2EN
T2RATE [2:0]
TM2CLK
CKT2
000
001
010
011
100
101
110
111
CKT2 /2
CKT2 /4
CKT2 /8
CKT2 /16
CKT2 /32
CKT2 /64
CKT2 /128
6:4
T2RATE[2:0]
定时/计数器2 时钟源选择位
1:PT1.0 作为时钟
0:CPUCLK 的分频时钟
3
2
1
0
T2CKS
定时/计数器2 复位
1:禁止定时/计数器2 复位
0:使能定时/计数器2 复位
当将该位为0 时,定时器2 复位后,T2RSTB 会自动置1
PT5.0 口输出控制
T2RSTB
T2OUT
T2OUT PWM2OUT
PT5.0 输出控制,仅当PT5.0 配置
为输出有效
0
0
1
1
0
1
0
1
IO 输出
PWM2 输出
蜂鸣器输出
PWM2 输出
PWM2OUT
表15 TM2IN 寄存器各位功能表
位地址
标识符
功能
7 :0
TM2IN[7:0]
定时/计数器溢出值
表16 TM2CNT 寄存器各位功能表
位地址
标识符
功能
7 :0
TM2CNT[7:0]
定时/计数器2 计数寄存器,只读
表17 TM2R 寄存器各位功能表
位地址
标识符
功能
7 :0
TM2R[7:0]
定时/计数器2 的PWM 高电平占空比控制寄存器
表18 METCH 寄存器各位功能表
位地址
标识符
功能
1
T2SEL
定时器2 时钟选择
0:CPUCLK , 1:MCK
操作:
Rev.1.2
第47 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
1) 设置TM2CLK,为定时器模块选择输入。
2) 设置TM2IN,选择定时器溢出值。
3) 设置寄存器标志位:TM2IE 与GIE,使能定时器中断。
4) 清零寄存器标志位:T2RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T2EN,使能定时器模块的8 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出;程序计数器会跳
转到004H。
定时器2 溢出时间计算方法:
定时器2 溢出时间=(TM2IN+1)/TM2CLK. (TM2IN 不为0)
3.3.2 蜂鸣器
操作:
1) 把PT5.0 配置为输出口。
2) 设置TM2CLK,为定时器模块选择输入。
3) 设置TM2IN,选择定时器溢出值。
4) 清零寄存器标志位:T2RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T2EN,使能定时器模块的8 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出。
蜂鸣器周期计算方法:
蜂鸣器周期=(TM2IN+1)*2/TM2CLK. (TM2IN 不为0)
3.3.3 PWM
操作:
1) 把PT5.0 配置为输出口。
2) 设置TM2CLK,为定时/计数器2 模块选择输入。
3) 设置TM2IN 来配置PWM2 的周期。
4) 设置TM2R 来配置PWM2 的高电平的的脉宽。
5) 使能PWM2OUT 输出,配置PT5.0 为输出端口,之后把T2EN 置1 启动定时器。
6) PWM 从PT5.0 输出。
周期为TM2IN+1,高电平脉宽为TM2R。如TM2IN=0x0F,TM2R=0x03 的PWM2 波形输出如下:
...
...
0 1 2 3
15 0 1
2
3
1
15 0
TM2CLK
T2EN
PWM2OUT
Rev.1.2
第48 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.4 定时/计数器3
PWM3OUT
TM3R[7:0]
PT5.1 IO电路
PT5.1
CLKDIV[1:0]
T3SEL
TM3IN[7:0]
PWM
Compare
MUX
T3RATE[2:0]
T3CKS
MUX
CPUCLK
MCK
T3EN
MCK/4~MCK/32
BZ
CKT3
MUX
CKT3~CKT3/128
8 Bits
Counter
DIV2
T3OUT
超时溢出
MCK
两个MCK时钟采
样PT1.1
TM3LCK
PT1.1
图15 定时/计数器3 模块的功能框图
定时/计数器3 模块的输入是TM3CLK。当用户设置了定时/计数器3 模块的使能标志,8 bits 计数
器将启动,从00h 递增到TM3IN。用户需要设置TM3IN(定时器模块中断信号选择器)以选择定时超
时中断信号。当定时超时发生时,BZ 输出信号发生跳变。
主要功能:
1)8 位可编程定时器;
2)外部事件计数;
3)蜂鸣器输出;
4)PWM 输出;
3.4.1 寄存器描述
表19 定时器寄存器列表
地
址
上电复位
值
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
3ch INTF2
TM3IF
TM3IE
uuu0uuuu
uuu0uuuu
00000100
11111111
00000000
00000000
00000000
3dh INTE2
1bh TM3CON
1ch TM3IN
1dh TM3CNT
1eh TM3R
PWM3OUT
T3EN
T3RATE[2:0]
T3CKS T3RSTB T3OUT
TM3IN[7:0]
TM3CNT[7:0]
TM3R[7:0]
7eh METCH
T3SEL
Rev.1.2
第49 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表20 TM3CON 寄存器各位功能表
位地址 标识符
功能
定时/计数器3 使能位
1:使能定时器3
7
T3EN
0:禁止定时器3
定时/计数器3 时钟选择
T3RATE [2:0]
TM3CLK
000
001
010
011
100
101
110
111
CKT3
CKT3 /2
CKT3 /4
CKT3 /8
CKT3 /16
CKT3 /32
CKT3 /64
CKT3 /128
6:4
T3RATE[2:0]
定时/计数器3 时钟源选择位
1:PT1.1 作为时钟
0:CPUCLK 的分频时钟
3
2
1
0
T3CKS
定时/计数器3 复位
1:禁止定时/计数器3 复位
0:使能定时/计数器3 复位
当将该位为0 时,定时器3 复位后,T3RSBT 会自动置1
PT5.1 口输出控制
T3RSTB
T3OUT
T3OUT
PWM3OUT
PT5.1 输出控制,仅当PT5.1 配置为输出有
效
0
0
1
1
0
1
0
1
IO 输出
PWM3 输出
蜂鸣器输出
PWM3 输出
PWM3OUT
表21 TM3IN 寄存器各位功能表
位地址
标识符
功能
7 :0
TM3IN[7:0]
定时/计数器溢出值
表22 TM3CNT 寄存器各位功能表
位地址
标识符
功能
7 :0
TM3CNT[7:0]
定时/计数器3 计数寄存器,只读
表23 TM3R 寄存器各位功能表
位地址
标识符
功能
7 :0
TM3R[7:0]
定时/计数器3 的PWM 高电平占空比控制寄存器
表24 METCH 寄存器各位功能表
位地址
标识符
功能
2
T3SEL
定时器3 时钟选择
0:CPUCLK , 1:MCK
操作:
Rev.1.2
第50 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
1) 设置TM3CLK,为定时器模块选择输入。
2) 设置TM3IN,选择定时器溢出值。
3) 设置寄存器标志位:TM3IE 与GIE,使能定时器中断。
4) 清零寄存器标志位:T3RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T3EN,使能定时器模块的8 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出;程序计数器会跳转到004H。
定时器3 溢出时间计算方法:
定时器3 溢出时间=(TM3IN+1)/TM3CLK. (TM3IN 不为0)
3.4.2 蜂鸣器
操作:
1) 把PT5.1 配置为输出口。
2) 设置TM3CLK,为定时器模块选择输入。
3) 设置TM3IN,选择定时器溢出值。
4) 清零寄存器标志位:T3RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T3EN,使能定时器模块的8 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出
蜂鸣器周期计算方法:
蜂鸣器周期=(TM3IN+1)*2/TM3CLK. (TM3IN 不为0)
3.4.3 PWM
操作:
1) 把PT5.1 配置为输出口。
2) 设置TM3CLK,为定时/计数器3 模块选择输入。
3) 设置TM3IN 来配置PWM3 的周期。
4) 设置TM3R 来配置PWM3 的高电平的的脉宽。
5) 使能PWM3OUT 输出,配置PT5.1 为输出端口,之后把T3EN 置1 启动定时器。
6) PWM3 从PT5.1 输出。
周期为TM3IN+1,高电平脉宽为TM3R。如TM3IN=0x0F,TM3R=0x03 的PWM3 波形输出如下:
...
...
0 1 2 3
15 0 1
2
3
1
15 0
TM3CLK
T3EN
PWM3OUT
Rev.1.2
第51 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.5 定时/计数器4
PWM4OUT
TM4R[15:0]
PT2.6 IO电路
PT2.6
CLKDIV[1:0]
T4SEL
TM4IN[15:0]
PWM
Compare
MUX
T4RATE[2:0]
T4CKS
MUX
CPUCLK
MCK
T4EN
MCK/4~MCK/32
BZ
CKT4
MUX
CKT4~CKT4/128
16 Bits
Counter
DIV2
T4OUT
超时溢出
MCK
两个MCK时钟采
样PT1.2
TM4LCK
PT1.2
图16 定时/计数器4 模块的功能框图
定时/计数器4 模块的输入是MCK 或者CPUCLK。当用户设置了定时/计数器4 模块的使能标志,
16 bits 计数器将启动,从00h 递增到TM4IN。用户需要设置TM4IN(定时器模块中断信号选择器)以
选择定时超时中断信号。当定时超时发生时,BZ 输出信号发生跳变。
主要功能:
1)16 位可编程定时器;
2)外部事件计数;
3)蜂鸣器输出;
4)PWM 输出;
3.5.1 寄存器描述
表25 定时器寄存器列表
地
址
上电复
位值
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
3ch INTF2
3dh INTE2
TM4IF
TM4IE
uu00uuuu
uu00uuuu
40h TM4CON
41h TM4INL
42h TM4INH
43h TM4CNTL
44h TM4CNTH
45h TM4RL
46h TM4RH
7eh METCH
47h PWM4C0
48h PWM4C1
49h PWM4DY
4ah PWM4CAPL PWM4CAP[7:0]
4bh PWM4CAPH PWM4CAP[15:8]
4ch PWM4ETL PWM4ET[7:0]
4dh PWM4ETH PWM4ET[15:8]
4eh PWM4OVL PWM4OV[7:0]
4fh PWM4OVH PWM4OV[15:8]
T4EN
T4RATE[2:0]
T4CKS T4RSTB T4OUT PWM4OUT 00000100
TM4IN[7:0]
TM4IN[15:8]
11111111
11111111
00000000
00000000
00000000
00000000
00000000
000000uu
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
TM4CNT[7:0]
TM4CNT[15:8]
TM4R[7:0]
TM4R[15:8]
T4SEL
PWM4SEL PWM4M ENPWM4 PWM4S ENCAPT INV
ESTEP[1:0]
PWM4DY[7:0]
ENE
SYNE
SUBE
ENF
SYNF
SUBF
Rev.1.2
第52 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表26 TM4CON 寄存器各位功能表
位地址 标识符
功能
定时/计数器4 使能位
1:使能定时器4
7
T4EN
0:禁止定时器4
定时/计数器4 时钟选择
T4RATE [2:0]
TM4CLK
000
001
010
011
100
101
110
111
CKT4
CKT4 /2
CKT4 /4
CKT4 /8
CKT4 /16
CKT4 /32
CKT4 /64
CKT4 /128
6:4
T4RATE[2:0]
定时/计数器4 时钟源选择位
1:PT1.2 作为时钟
0:CPUCLK 的分频时钟
3
2
1
0
T4CKS
定时/计数器4 复位
1:禁止定时/计数器4 复位
0:使能定时/计数器4 复位
当将该位为0 时,定时器4 复位后,T4RSBT 会自动置1
PT2.6 口输出控制
T4RSTB
T4OUT
T4OUT
PWM4OUT
PT2.6 输出控制,仅当PT2.6 配置为输出有
效
0
0
1
1
0
1
0
1
IO 输出
PWM4 输出
蜂鸣器输出
PWM4 输出
PWM4OUT
表27 TM4IN 寄存器各位功能表
位地址
标识符
功能
15:0
TM4IN[15:0]
定时/计数器溢出值
表28 TM4CNT 寄存器各位功能表
位地址
标识符
功能
15:0
TM4CNT[15:0]
定时/计数器4 计数寄存器,只读
表29 TM4R 寄存器各位功能表
位地址
标识符
功能
15:0
TM4R[15:0]
定时/计数器4 的PWM 高电平占空比控制寄存器
表30 METCH 寄存器各位功能表
位地址
标识符
功能
定时器4 时钟选择
0:CPUCLK
1:MCK
3
T4SEL
Rev.1.2
第53 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表31 PWM4C0 寄存器各位功能表
位地址
标识符
功能
PWM4 工作模式选择位
PWM4SEL
7
0:普通模式
1:扩展模式
PWM4 扩展模式下的工作方式选择位
0:由ENPWM4 控制PWM4 输出
1:由比较器3 输出的下降沿同步PWM4 输出
PWM4 扩展模式下的使能输出
0:PWM4 停止输出
PWM4M
6
5
1:PWM4 使能输出
说明:
ENPWM4
当PWM4M=0 时,当将ENPWM4 置1 时,PWM4 输出一个周期,完
成后将ENPWM4 清0。
当PWM4M=1 时,当将ENPWM4 置1 不会自动清0,比较器3 输出
下降沿时输出PWM4,当比较器1 输出下降沿时停止PWM4 输出,同
时将ENPWM4 清零。
PWM4 输出波形选择
在扩展模式下当PWM4M 为1,由比较器3 的下降沿触发PWM4 输出
0:周期性输出
PWM4S
4
1:只输出一个周期
比较器3 下降沿(PWM4 同步信号)捕捉使能位
0:禁止捕捉功能
1:使能PWM4 同步信号的捕捉功能
PWM4 输出
ENCAPT
INV
3
2
0:正常的PWM4 输出
1:PWM4 的输出取反
表32 PWM4C1 寄存器各位功能表
位地址
标识符
功能
减去的步长选择
ESTEP
00
减去的步长
1
2
3
4
01
ESTEP[1:0]
7:6
10
11
当比较器2 的输出的下降沿触发时,TM4R 会减去相应步长,即改变
PWM4 的占空比。减到PWM4OV 的值为止时不能再减。
比较器1 触发屏蔽位
5
4
3
ENE
1:不屏蔽比较器1 的触发信号
0:屏蔽比较器1 的触发信号
比较器3 触发屏蔽位
1:不屏蔽比较器3 的触发信号
0:屏蔽比较器3 的触发信号
比较器2 触发屏蔽位
SYNE
SUBE
1:不屏蔽比较器2 的触发信号
0:屏蔽比较器2 的触发信号
Rev.1.2
第54 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器1 下降沿触发标志位
0:没有比较器1 下降沿触发
1:有比较器1 下降沿触发
软件清0
比较器3 下降沿触发标志位
0:没有比较器3 下降沿触发
1:有比较器3 下降沿触发
软件清0
比较器2 下降沿触发标志位
0:没有比较器2 下降沿触发
1:有比较器2 下降沿触发
软件清0
2
1
0
ENF
SYNF
SUBF
表33 PWM4 同步信号时滞寄存器
位地址
标识符
PWM4DY[7:0]
功能
7:0
PWM4 同步输出延迟时间控制
同步信号触发时滞T*PWM4DY,T 为PWM4 的时钟周期。
注:在延迟的这段时间里,要保证下一个PWM4 的同步信号没有到来。如果在延迟这段时间里再次有
同步信号过来,那么PWM4 的输出需要重新延迟T*PWM4DY 时间。
表34 PWM4 捕捉寄存器
位地址
标识符
功能
15:0
PWM4CAP[15:0] PWM4 同步信号的捕捉功能
这个寄存器为只读寄存器。
当开启PWM4 同步信号的捕捉功能,两次同步信号的时间间隔为T*(PWM4CAP+1)。T 为PWM4 的时
钟周期。
表35 PWM4 同步信号屏蔽寄存器
位地址
标识符
功能
15:0
PWM4ET[15:0]
PWM4 同步信号的捕捉功能
比较器3 触发的PWM 输出固有延迟2 个时钟周期。
第一个触发PWM 输出的同步信号到后续的同步信号的时间间隔小于或等于T*PWM4ET 时,屏蔽后续
的同步信号,直到时间间隔大于T*PWM4ET 时才解除对后续同步信号的屏蔽。T 为PWM4 的时钟周
期;其中PWM4ET 为0 时则不屏蔽同步信号。
Rev.1.2
第55 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
表36 PWM4 最小值寄存器
位地址
标识符
功能
15:0
PWM4OV[15:0] 允许PWM4 占空比减小到的最小值。
定时器4 溢出时间计算方法:
定时器4 溢出时间=(TM4IN+1)/TM4CLK. (TM4IN 不为0)
3.5.2 蜂鸣器
操作:
1) 设置TM4CLK,为定时器模块选择输入。
2) 设置TM4IN,选择定时器溢出值。
3) 设置寄存器标志位:TM4IE 与GIE,使能定时器中断。
4) 清零寄存器标志位:T4RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T4EN,使能定时器模块的16 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出;寄存器标志位TM4IF 会自复
位,程序计数器会复位为04h。
蜂鸣器周期计算方法:
蜂鸣器周期=(TM4IN+1)*2/TM4CLK. (TM4IN 不为0)
3.5.3 PWM 普通模式
操作:
1) 设置TM4CLK,为定时/计数器4 模块选择输入。
2) 设置TM4IN 来配置PWM4 的周期。
3) 设置TM4R 来配置PWM4 的高电平的的脉宽。
4) 使能PWM4OUT 输出,配置PT2.6 为输出端口,之后把T4EN 置1 启动定时器。
5) PWM4 从PT2.6 输出。
周期为TM4IN+1,高电平脉宽为TM4R。如TM4IN=0x0F,TM4R=0x03 的PWM4 波形输出如下:
...
...
0
1
2
3
15
0
1
2
3
1
15
0
TM4CL
K
T4EN
PWM4
OUT
3.5.4 PWM 扩展模式
Rev.1.2
第56 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
CMP1OUT
CMP3OUT
CMP2OUT
ENF
EN
E
PWM4DY
DELAY
SYN
F
SYNE
PWM4OUT
SUB
F
PWM4OUT
CONTROL
SUB ESTEP
SUB
E
PWM4E
T
PWM4
S
ENPWM
DETECT
PWM4M
4
ENCAP
T
16 Bits
Counter
PWM4CA
P
图17 PWM4 模块功能框图
由比较器3 同步的PWM 输出
ENPWM4=1,PWM4M=1,PWM4S=1,INV=0
周期为TM4IN+1,高电平脉宽为TM4R。如TM4IN=0x0F,TM4R=0x03 的PWM4 波形输出如下:
...
...
...
0 1 2 3
15
...
3 0
1
2 3
0 1 2
1 2
0
3
TM4CLK
T4EN
CMP_OUT3
回到默认电
平
PWM4OUT
3个定时器
时钟周期延
迟
3个定时器
时钟周期延
迟
TM4R宽度
TM4R宽度
PWM输出周
期
ENPWM4=1,PWM4M=1,PWM4S=1,INV=1
周期为TM4IN+1,高电平脉宽为TM4R。如TM4IN=0x0F,TM4R=0x03 的PWM4 波形输出如下:
Rev.1.2
第57 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
...
...
...
0 1 2 3
15
...
3 0
1
2 3
0 1 2
1 2
0
3
TM4CLK
T4EN
CMP_OUT3
PWM4OUT
回到默认电平
3个定时器
时钟周期延
迟
3个定时器
时钟周期延
迟
TM4R宽度
TM4R宽度
PWM输出周
期
由ENPWM4 控制的PWM 输出
PWM4M=0,INV=0
周期为TM4IN+1,高电平脉宽为TM4R。如TM4IN=0x0F,TM4R=0x03 的PWM4 波形输出如下:
...
...
...
...
3
15
...
0
1 2
0
1 2 3
15
TM4CLK
T4EN
ENPWM4
PWM4OUT
TM4R宽度
TM4R宽度
PWM输出周
期
PWM输出周
期
由ENPWM4 控制的PWM 输出
PWM4M=0,INV=1
周期为TM4IN+1,高电平脉宽为TM4R。如TM4IN=0x0F,TM4R=0x03 的PWM4 波形输出如下:
Rev.1.2
第58 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
...
...
...
...
3
15
...
0
1 2
0
1 2 3
15
TM4CLK
T4EN
ENPWM4
PWM4OUT
TM4R宽度
TM4R宽度
PWM输出周
期
PWM输出周
期
Rev.1.2
第59 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.6 串行通信接口
CSU8RF3421/CSU8RF3422/CSU8RF3423 主要提供一个可编程全双工串行通信接口。该接口能同时
进行数据的发送和接受,也可以作为一个同步移位寄存器使用。工作模式同通用8051
3.6.1 工作方式
主要提供四种工作模式:
表37 串口通信工作模式
SM0
SM1
模式
类型
同步
异步
波特率
fcpuclk/6
帧长度
8bits
10bits
起始位
停止位
第9 位
无
0
0
0
1
0
1
无
无
1
1
定时器4 的溢出率/16 或者32
无
SMOD
波特率
fcpuclk/16
fcpuclk/32
1
1
0
1
2
3
11bits
11bits
1
1
1
1
0,1
0,1
异步
异步
0
1
定时器4 的溢出率/16 或者32
模式0:
Ttx0_a
写入SBUF
Ttx0_b
移位时钟
RXD
TXD
TI
D0
D1
D2
D3
D4
D5
D6
D7
图18
UART 模式0 发送数据波形
Trx0_a
写入SCON
Trx0_c
移位时钟
RXD
TXD
RI
D0
D1
D2
D3
D4
D5
D6
D7
Trx0_b
图19
UART 模式0 接收数据波形
模式1:
Rev.1.2
第60 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
Ttx1_a
写入SBUF
移位时钟
TXD
TI
D0
D1
D2
D3
D4
D5
D6
D7
停止位
开始位
Ttx1_b
图20
UART 模式1 发送数据波形
移位时钟
RXD
RI
D0
D1
D2
D3
D4
D5
D6
D7
停止位
开始位
Trx1_a
图21
UART 模式1 接收数据波形
方式2:
Ttx2_a
写入SBUF
移位时钟
TXD
TI
开始位
D0
D1
D2
D3
D4
D5
D6
D7
TB8
停止位
Ttx2_b
图22
UART 模式2 发送数据波形
移位时钟
RXD
RI
开始位
D0
D1
D2
D3
D4
D5
D6
D7
RB8
停止位
Trx2_a
图23
UART 模式2 接收数据波形
方式3:
模式3 的操作、数据结构同模式2,它们的不同在于波特率的生成。模式3 的数据传输时序同模式
2 相同,只是移位时钟的时钟源不同。进入模式3 状态,需将SCON1 寄存器的SM0 标志位置1,同时
将SM1 标志位置1。
3.6.2 寄存器说明
Rev.1.2
第61 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
地
址
上电复位
值
Bit7
Bits6
SM1
Bit5
Bits4
REN
Bit3
TB8
Bits2
RB8
Bit1
Bit0
名称
3Eh
3Fh
77h SCON1
78h SCON2
INTF3
INTE3
URTIF
URTIE
URRIF
URRIE
00000000
SM0
SMOD
SM2
000000uu
0uuuuuu0
00000000
UARTEN
79h
SBUF
位地址
标识符
功能
串口通信工作方式选择寄存器
参见表40
保留
7:6
5
SM0、SM1
SM2
接收控制选择
1:允许接收
4
REN
0:禁止接收
3
2
TB8
RB8
发送数据第9 位
接收数据第9 位
位地址
标识符
功能
波特率选择寄存器
参见表40
7
SMOD
UART 模块使能
0:不使能UART 模块
1:使能UART 模块
0
UARTEN
UART 模块使能优先级比SPI 模块使能低,当SPIEN=1 时,PT1.4,
PT1.5,PT1.6,PT1.7 作为通信口,当SPIEN=0 和UARTEN=1,
PT1.5,PT1.6 作为通信口;当SPIEN=0 和UARTEN=0,PT1.4,
PT1.5,PT1.6,PT1.7 作为IO 口。
3.6.3 波特率
波特率
(K)
Fsys=16MHz(SMOD=0)
实际波特率
(K)
1.2005
2.3981
4.807
9.6154
19.2308
38.4615
50
偏差(%)
时钟
选择
定时器配置值
(TM4IN)
0340
定时器预分频
(T4RATE)
000
1.2
2.4
4.8
0.042
-0.08
0.16
0.16
0.16
0.16
-2.35
-2.1
MCK
MCK
MCK
MCK
MCK
MCK
MCK
MCK
MCK
MCK
01A0
00CF
0067
0033
0019
0013
0011
0009
000
000
000
000
000
000
000
000
9.6
19.2
38.4
51.2
57.6
102.4
115.2
58.824
100
111.11
-2.35
-3.55
0008
000
Rev.1.2
第62 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.7 SPI 接口
3.7.1 SPI 接口介绍
CSU8RF3421/CSU8RF3422/CSU8RF3423 支持SPI 接口,包括master 模式和slave 模式。
SPI 接口允许MCU 与其他SPI 接口设备进行全双工、同步、串行通信,它有两种模式:主模式和
SS
从模式。SPI 通信一般使用4 线通信,即SCK,MOSI,MISO, 这4 根信号线,有时为了节省一个
接口,也使用3 线通信,即只包括SCK,MOSI,MISO 这3 根信号线。两个SPI 设备通信时,一个作
SS
主机,一个作从机,SPI 接口间通信均由主机发起,主机发送时钟(SCK)和从机选择信号( )控
制数据交换,主机和从机可同时发送和接收数据。
SPI 接口信号描述
MOSI:主机输出,从机输入
当SPI 做为主机时该信号为主机数据输出,做为从机时为从机数据输入
MISO:主机输入,从机输出
当SPI 做为主机时该信号为主机数据输入,做为从机时为从机数据输出
SCK:串行时钟
当SPI 做为主机时该信号为串行时钟输出,做为从机时为串行时钟输入
SS
:从机选择
当SPI 做为主机时该信号为从机选择输出,做为从机时为从机选择输入
SPI 串行时钟支持4 种方式,即两种相位和两种极性组合
相位:0 表示在SCK 奇数边沿(1,3,5,7……)采样数据,1 表示在SCK 偶数边沿(2,4,6,8……)采样
数据
极性:0 表示SCK 在总线空闲时总是低电平,1 表示SCK 在总线空闲时为高电平
Rev.1.2
第63 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.7.1.1 SPI 连接方式
SCK
SCK
MOSI
MISO
SS
MOSI
MISO
SS
MASTER
SLAVE
4线 线 线
SCK
SCK
MOSI
MISO
MOSI
MISO
MASTER
SLAVE
3线 线 线
SCK
MOSI
MISO
SS
SCK
MOSI
MISO
SS
MASTER
SLAVE
GPIO
SCK
MOSI
MISO
SS
SLAVE
4线 线 线 线 线 线 线 线 线 线 线 线 线
SCK
SCK
MOSI
MISO
SS
MOSI
MASTER1
MASTER2
MISO
SS
线 线 线 线 线
Rev.1.2
第64 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.7.1.2 SPI 时序图
(1)CKPHA=0,CKPOL=0
CKPHA=0,CKPOL=0
奇数边沿
采样数据
SS
SCK
MSB LSB
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MOSI
XX
XX
XX
MISO
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
SCK
2
(2)CKPHA=0,CKPOL=1
CKPHA=0,CKPOL=1
奇数边沿
采样数据
SS
SCK
MSB LSB
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MOSI
XX
XX
XX
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MISO
SCK
2
(3)CKPHA=1,CKPOL=0
CKPHA=1,CKPOL=0
偶数边沿
采样数据
SS
SCK
MSB LSB
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MOSI
XX
XX
XX
MISO
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
SCK
2
(4)CKPHA=0,CKPOL=1
Rev.1.2
第65 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
CKPHA=1,CKPOL=1
偶数边沿
采样数据
SS
SCK
MSB LSB
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MOSI
XX
XX
XX
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MISO
SCK
2
3.7.2 SPI 寄存器说明
表38 SPI 寄存器列表
地
上电复位
值
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
址
3eh
3fh
70h
71h
72h
73h
INTF3
SPIIF
SPIIE
0000u000
0000u000
0000000u
000uuuuu
00000011
00000000
INTE3
SPICFG
SPICN
SPIEN
MSTEN CKPHA
WCOL MODCOL
CKPOL MULMST WIREMOD
SPIRST
SPIBSY
SLVSEL
SPICKR
SPIDAT
SCR[7:0]
SPIDAT[7:0]
INTF3 寄存器(地址为3eh)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-0
SPIIF
Bit2
U-0
U-0
特性
INTF3
Bit7
Bit6
Bit1
Bit0
Bit 2 SPIIF:SPI 中断标志位
1 =发生SPI 中断,必须软件清0
0 = 没发生SPI 中断
INTE3 寄存器(地址为3fh)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-0
SPIIE
Bit2
U-0
U-0
特性
INTE3
Bit7
Bit6
Bit1
Bit0
Bit 2 SPIIE:SPI 中断使能
1 = 使能SPI 中断
0 = 关闭SPI 中断
SPICFG 寄存器(地址为70h)
R-0
SPIEN
R/W-0
MSTEN
Bit6
R/W-0
CKPHA
Bit5
R/W-0
CKPOL
Bit4
R -0
R -1
R -1
SPIBSY
Bit1
R -1
SPIRST
Bit0
特性
SPICFG
MULMST WIREMOD
Bit7
Bit3
Bit2
Bit 7 SPIEN:SPI 使能
1 = SPI 使能
0 = SPI 关闭
Rev.1.2
第66 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
SPI 模块使能优先级比UART 模块使能高,当SPIEN=1 时,PT1.4,PT1.5,PT1.6,PT1.7 作为通信
口,当SPIEN=0 和UARTEN=1,PT1.5,PT1.6 作为通信口;当SPIEN=0 和UARTEN=0,PT1.4,
PT1.5,PT1.6,PT1.7 作为IO 口。
Bit 6 MSTEN:模式选择
1 = 主模式
0 = 从模式
多主机模式下当SLVSEL(SPICN[7])为1 时,MSTEN 自动清零
Bit 5 CKPHA:SPI 时钟相位控制
1 =在SCK 偶数边沿采样数据
0 =在SCK 奇数边沿采样数据
Bit 4 CKPOL:SPI 时钟极性控制
1 = 时钟SCK 在总线空闲时是高电平
0 =时钟SCK 在总线空闲时是低电平
Bit 3
MULMST:多主机模式使能
1 =使能多主机模式
0 =禁止多主机模式
多主机模式时必须选择4 线通信,即WIREMOD 必须为0
Bit 2 WIREMOD:3 线或4 线SPI 通信选择
0 = SPI 为4 线通信模式,即包括SCK,MOSI,MISO,
1 = SPI 为3 线通信模式,即包括SCK,MOSI,MISO
Bit 1 SPIBSY:SPI 总线通信指示
SS
1 = 指示SPI 总线正在使用
0 = 指示SPI 总线闲置
Bit0
SPIRST:SPI 总线复位
1 = 使能SPI 复位
0 = 禁止SPI 复位
写1 时复位SPI 计数寄存器,停止当前通信。复位完成后该位自动清零
SPICN 寄存器(地址为71h)
U-0
SLVSEL
R/W-0
WCOL
Bit6
R/W-0
MODCOL
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-1
RESERVE
Bit2
R -1
Bit1
R/W-0
Bit0
特性
SPICN
Bit7
Bit 7 SLVSEL:从模式标志(只读)
SS
1 =
输入为0,从模式下SPI 被选中
SS
0 =
输入为1,从模式下SPI 未被选中
Bit 6 WCOL:写冲突标志(软件清0)
1 = 当仍有数据在发送时试图向发送数据寄存器中写数据,将会产生写冲突
0 = 没有写冲突
Bit 5 MODCOL:模式失效标志(软件清0)
SS
1 =多主模式时产生了主模式冲突( 为低,MSTEN=1)
0 = 多主模式时未产生主模式冲突
SS
多主机模式下,当SPI 为主模式,若此时 输入低电平,SLVSEL 位将置1,这时将会产
生模式失效,MSTEN 将自动清0,SPI 变为从机,开始接收数据。接收数据完成时,MSTEN
不会自动置1,需软件置1
Bit 4:0 RESERVE
SPICKR 寄存器(地址为72h)
Rev.1.2
第67 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
R/W-0
SCR [7:0]
特性
SPICKR
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 7:0 SCR [7:0]:SPI 时钟速率
SCR 决定了SPI 通信中SCK 的时钟频率。
CPUCLK
fsck
SCR [7 : 0] 1
其中,3<=SCR[7:0]<=255
SPIDAT 寄存器(地址为73h)
特性
R/W-0
SPIDAT [7:0]
Bit4 Bit3
SPIDAT
Bit7
Bit6
Bit5
Bit2
Bit1
Bit0
Bit 7:0 SPIDAT [7:0]:SPI 发送和接收的数据
3.7.3 SPI 操作说明:
1、主模式
1) 设置SPICKR,指定SPI 时钟速率。
2) 设置SPICFG,对SPI 进行配置:选择主模式,相位,极性,选择3 线或者4 线模式。
3) 使能SPI 中断:SPIIE 与GIE。
4) 使能SPI;
5) 向SPI 数据寄存器SPIDAT 中写入数据,SPI 模块就会自动开始发送和接收数据,发送或接收
完成时将产生中断。响应中断并清中断标志位,若需要接收数据则读取SPIDAT 寄存器中的
数据,如果SPIDAT 中的数据没有及时读取,将会被主机写入的数据覆盖;读数完成后继续
写入数据,开始下一个数据传输。
如果SPI 正在进行数据传输,此时向数据寄存器写入数据会产生写冲突,WCOL 位置1,
因此在写入数据后最好检查一下写冲突位,如果产生写冲突,则表示该数据未能发送出去,
软件清写冲突位WCOL,等待此次通信完成后再重新写入。
6) 所有数据全部传输完成时,取消对从机的选择,关闭中断使能和SPI 使能。
主机收发数据程序示例:
MOVLW 08H
MOVWF SPICKR ;SPI通信波特率设置
MOVLW 50H
MOVWF SPICFG
;SPI设置,主模式,相位为0,极性为1,不使能多主模式,4线模式
INTF3,2 ;清SPI中断标志位
INTE3,2 ;使能SPI中断
BCF
BSF
BSF
BSF
INTE,GIE ;打开中断总使能
SPICFG,7 ;使能SPI
MOVLW a5h
MOVWF SPIDAT
……
;发送数据a5h,开始一次通信
;SPI中断处理
;SPI接收数据处理
MOVFW SPIDAT
2、从模式
1) 设置SPICFG,对SPI 进行配置:选择从模式,相位,极性,选择3 线或者4 线模式。
2) 使能SPI 中断:SPIIE 与GIE。
Rev.1.2
第68 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3) 使能SPI。
4) 若有数据要发送,则写入数据到SPIDAT 寄存器,检查WCOL,即写冲突位,如果产生写冲
突,则写入数据无效,需等下次通信重新发送,清WCOL,等待下次通信;若没有写冲突,
则发送成功。若没有数据需要发送,则等待SPI 接收中断,产生SPI 接收中断时读取数据寄存
器数据,接收数据。若还有数据要发送时,将数据写入SPIDAT 寄存器中,继续以上操作,
直到数据传输完成。若SLVSEL 位为1 则表示从机被选中,可以开始与主机通信。
5) 数据传输完成时,主机将取消对从机的选择,关闭SPI 中断使能和SPI 使能。
从机收发数据程序示例:
MOVLW 10H
MOVWF SPICFG
;SPI设置,从模式,相位为0,极性为1,不使能多主模式,4线模式
INTF3,2 ;清SPI中断标志位
INTE3,2 ;使能SPI中断
BCF
BSF
BSF
BSF
INTE,GIE ;打开中断总使能
SPICFG,7 ;使能SPI
MOVLW a5h
MOVWF SPIDAT
;将a5h写入数据寄存器,等待主机开始一次通信(若无数据发送则可不
写数据到SPIDAT,直接等待SPI中断)
;SPI中断处理
……
MOVFW SPIDAT
;SPI接收数据处理
3、多主机模式
1) 设置SPICKR,指定SPI 时钟速率。
2) 设置SPICFG,对SPI 进行配置:使能多主模式,相位,极性,选择4 线模式。
3) 使能SPI 中断:SPIIE 与GIE。
4) 使能SPI,使能主模式;
5) 向SPI 数据寄存器SPIDAT 中写入数据,SPI 模块就会自动开始发送和接收数据,发送或接收
完成时将产生中断。响应中断并清中断标志位,若需要接收数据则读取SPIDAT 寄存器中的
数据,如果SPIDAT 中的数据没有及时读取,将会被主机写入的数据覆盖;读数完成后继续
写入数据,开始下一个数据传输。
向SPI 数据寄存器写入数据后,检查模式失效位MODCOL,如果该位为1,则表示产生了模
式失效,此时SPI 为从模式,再检查写冲突标志位,若产生写冲突,则数据未发送出去;若没有
产生写冲突,则数据在从模式下发送出去了。若没有产生模式失效,则表示数据在主模式下发送
出去了。
6) 所有数据全部传输完成时,取消对从机的选择,关闭中断使能和SPI 使能。
在一次通信中,配置好SPI 相位,极性,时钟速率等后就不能改变。且主机与从机的相关配置要相
SS
同。若要与多个从机进行通信,可使用IO 口模拟 信号(即对IO 进行拉低拉高操作,选择从机时拉
SS
SS
低,取消选择时拉高)。多主机模式时, 口(PT1.4)上需要接上拉电阻,在空闲时 能自动回到
高电平。
Rev.1.2
第69 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.8 模数转换器(ADC)
CSU8RF3421/CSU8RF3422/CSU8RF3423 模数转换模块共用8 条外部通道(AIN0~AIN7)和4 条
特殊通道(内部1/8VDD;内部参考电压;GND; 运算放大器的输出C0 作为AD 的输入),可以将模拟信
号转换成12 位数字信号。进行AD 转换时,首先要选择输入通道(AIN0~AIN7),然后把SRADEN 置1
使能ADC,之后把SRADS 置1,启动AD 转换。转换结束后,系统自动将SRADS 清0,并将转换结
果存入寄存器SRADL 和SRADH 中。
AIN0/P3.0
AIN1/P3.1
AIN2/P3.2
AIN3/P3.3
AIN4/P3.4
12-bit
线
AIN5/P3.5
线 线 线 线 线
线
线
线
ADC
AIN6/P3.6
AIN7/P3.7
线 线 1/8 VDD
线 线 线 线 线
线
线 线
线 线 线 线 线
线 线 C0
图24 模数转换器ADC 功能框图
表39 ADC 寄存器列表
3.8.1 寄存器描述
上电复位
值
地址
名称
Bit7
GIE
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
06h INTF
07h INTE
ADIF
ADIE
u0u00u00
00u00u00
SRADCON0
50h
51h
52h
SRADACKS[1:0]
SRADS OFTEN CALIF ENOV OFFEX
SRADCKS[1:0] uu00uu00
SRADCON1 SRADEN
SRADCON2
VREFS[1:0]
00000000
0000uuuu
00000000
uuuu0000
CHS[3:0]
54h SRADL
55h SRADH
SRAD[7:0]
SRAD[11:8]
Rev.1.2
第70 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
56h SROFTL
57h SROFTH
SROFT[7:0]
00000000
uuuu0000
SROFT[11:8]
表40 SRADCON0 寄存器各位功能表
位地址
标识符
功能
ADC 输入信号获取时间
SRADACKS[1:0]
ADC 输入信号获取时间
16 个ADC 时钟
8 个ADC 时钟
4 个ADC 时钟
2 个ADC 时钟
00
01
10
11
5:4
SRADACKS[1:0]
不同的外部信号输入阻抗对应要求不同的信号获取时间。外部信号输
入阻抗越大要求的获取时间越长。对应外部信号10K 的输入阻抗,为
了保证AD 精度,要使ADC 输入信号的获取时间大于或等于4us。
ADC 时钟
SRADCKS[1:0]
ADC 采样时钟
CPUCLK
CPUCLK/2
CPUCLK/4
CPUCLK/8
00
01
10
11
1:0
SRADCKS[1:0]
表41 SRADCON1 寄存器各位功能表
位地址
标识符
功能
ADC 使能位
7
SRADEN
1:使能
0:禁止
ADC 启动位/状态控制位
1:开始,转换过程中
0:停止,转换结束
6
SRADS
当置位后,启动ADC 转换,转换完成会自动清0
转换结果选择控制位
5
4
3
2
OFTEN
CALIF
ENOV
OFFEX
1:转换结果放在SROFT 寄存器中
0:转换结果放在SRAD 寄存器中
校正控制位(OFTEN 为0 时有效)
1:使能校正,即AD 转换的结果是减去了SROFT 失调电压值
0:禁止校正,即AD 转换结果是没有减去SROFT 失调电压值
使能比较器溢出模式(CALIF 为1 时有效)
1:使能,上溢或下溢直接是减去后的结果
0:禁止,下溢为000h,上溢为fffh
OFFSET 交换
1:比较器两端信号交换
0:比较器两端信号不交换(正端为信号,负端为参考电压)
ADC 参考电源选择
VREFS[1:0]
AD 参考电压
00
01
10
11
VDD
1:0
VREFS[1:0]
PT3.0 外部参考电源输入
内部参考电压1.4V
内部参考电压1.4V,PT3.0 可外
Rev.1.2
第71 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
接电容作为内置参考电压滤波使
用,以提高精度。
表42 SRADCON2 寄存器各位功能表
位地址
标识符
功能
ADC 输入通道选择位
CHS[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
输入通道
AIN0 输入
AIN1 输入
AIN2 输入
AIN3 输入
AIN4 输入
AIN5 输入
AIN6 输入
AIN7 输入
7:4
CHS[3:0]
内部1/8VDD
内部参考电压
内部接地
运算放大器的输出C0 作为AD
的输入(内部需要做滤波处理)
内短
其它
表43 SRADL 寄存器各位功能表
位地址
标识符
功能
7:0
SRAD[7:0]
ADC 数据的低8 位,只可读
表44 SRADH 寄存器各位功能表
位地址
标识符
功能
3:0
SRAD[11:8]
ADC 数据的高4 位,只可读
表45 SROFTL 寄存器各位功能表
位地址
标识符
功能
7:0
SROFT[7:0]
校正值数据的低8 位
表46 SROFTH 寄存器各位功能表
位地址
标识符
功能
3:0
SROFT[11:8]
校正值数据的高4 位
表47 输入电压和SRAD 输出数据的关系
SRAD[11:0]
输入电压
11
0
0
10
0
0
9
0
0
8
0
0
7
0
0
6
0
0
5
0
0
4
0
0
3
0
0
2
0
0
1
0
0
0
0
1
0/4096*VREF
1/4096*VREF
…
…
Rev.1.2
第72 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
4094/4096*VREF
4095/4096*VREF
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
Rev.1.2
第73 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.8.2 转换时间
12 位AD 转换时间=(1/ADC 时钟频率)× (12+ADC输入信号获取时间+CALIF)
表48 转换时间说明表(1)
CLKDIV
(2)
CALIF
SRADCKS SRADACKS
AD转换时间(3)
00
1/ ( (16MHz / 4) / 2) × (12 + 0 + 16) = 14us
1/ ( (16MHz / 4) / 2) × (12 + 0 + 8) = 10us
1/ ( (16MHz / 4) / 4) × (12 + 0 + 16) = 28us
1/ ( (16MHz / 4) / 4) × (12 + 0 + 8) = 20us
1/ ( (16MHz / 4) / 4) × (12 + 0 + 4) = 16us
1/ ( (16MHz / 4) / 8) × (12 + 0 + 16) = 56us
1/ ( (16MHz / 4) / 8) × (12 + 0 + 8) = 40us
1/ ( (16MHz / 4) / 8) × (12 + 0 + 4) = 32us
1/ ( (16MHz / 4) / 8) × (12 + 0 + 2) = 28us
1/ ( (16MHz / 4) / 2) × (12 + 1 + 16) = 14.5us
1/ ( (16MHz / 4) / 2) × (12 + 1 + 8) = 10.5us
1/ ( (16MHz / 4) / 4) × (12 + 1 + 16) = 29us
1/ ( (16MHz / 4) / 4) × (12 + 1 + 8) = 21us
1/ ( (16MHz / 4) / 4) × (12 + 1 + 4) = 17us
1/ ( (16MHz / 4) / 8) × (12 + 1 + 16) = 58us
1/ ( (16MHz / 4) / 8) × (12 + 1 + 8) = 42us
1/ ( (16MHz / 4) / 8) × (12 + 1 + 4) = 34us
1/ ( (16MHz / 4) / 8) × (12 + 1 + 2) = 30us
1/ ( (16MHz / 8) / 1) × (12 + 0 + 16) = 14us
1/ ( (16MHz / 8) / 1) × (12 + 0 + 8) = 10us
1/ ( (16MHz / 8) / 2) × (12 + 0 + 16) = 28us
1/ ( (16MHz / 8) / 2) × (12 + 0 + 8) = 20us
1/ ( (16MHz / 8) / 2) × (12 + 0 + 4) = 16us
1/ ( (16MHz / 8) / 4) × (12 + 0 + 16) = 56us
1/ ( (16MHz / 8) / 4) × (12 + 0 + 8) = 40us
1/ ( (16MHz / 8) / 4) × (12 + 0 + 4) = 32us
1/ ( (16MHz / 8) / 4) × (12 + 0 + 2) = 24us
1/ ( (16MHz / 8) / 8) × (12 + 0 + 16) = 112us
1/ ( (16MHz / 8) / 8) × (12 + 0 + 8) = 80us
1/ ( (16MHz / 8) / 8) × (12 + 0 + 4) = 64us
1/ ( (16MHz / 8) / 8) × (12 + 0 + 2) = 56us
1/ ( (16MHz / 8) / 1) × (12 + 1 + 16) = 14.5us
1/ ( (16MHz / 8) / 1) × (12 + 1 + 8) = 10.5us
1/ ( (16MHz / 8) / 2) × (12 + 1 + 16) = 29us
1/ ( (16MHz / 8) / 2) × (12 + 1 + 8) = 21us
1/ ( (16MHz / 8) / 2) × (12 + 1 + 4) = 17us
1/ ( (16MHz / 8) / 4) × (12 + 1 + 16) = 58us
1/ ( (16MHz / 8) / 4) × (12 + 1 + 8) = 42us
1/ ( (16MHz / 8) / 4) × (12 + 1 + 4) = 34us
1/ ( (16MHz / 8) / 4) × (12 + 1 + 2) = 30us
01
01
00
10
01
10
00
01
10
11
00
01
00
01
10
00
01
10
11
00
01
00
01
10
00
01
10
11
00
01
10
11
00
01
00
01
10
00
01
10
11
0
11
指令周
期=4 个
时钟周
期
01
10
1
0
1
11
00
01
10
11
指令周
期=8 个
时钟周
期
00
01
10
Rev.1.2
第74 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
00
01
10
11
00
01
10
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
1/ ( (16MHz / 8) / 8) × (12 + 1 + 16) = 116us
1/ ( (16MHz / 8) / 8) × (12 + 1 + 8) = 84us
1/ ( (16MHz / 8) / 8) × (12 + 1 + 4) = 68us
1/ ( (16MHz / 8) / 8) × (12 + 1 + 2) = 60us
1/ ( (16MHz / 16) / 1) × (12 + 0 + 16) = 28us
1/ ( (16MHz / 16) / 1) × (12 + 0 + 8) = 20us
1/ ( (16MHz / 16) / 1) × (12 + 0 + 4) = 16us
1/ ( (16MHz / 16) / 2) × (12 + 0 + 16) = 56us
1/ ( (16MHz / 16) / 2) × (12 + 0 + 8) = 40us
1/ ( (16MHz / 16) / 2) × (12 + 0 + 4) = 32us
1/ ( (16MHz / 16) / 2) × (12 + 0 + 2) = 28us
1/ ( (16MHz / 16) / 4) × (12 + 0 + 16) = 112us
1/ ( (16MHz / 16) / 4) × (12 + 0 + 8) = 80us
1/ ( (16MHz / 16) / 4) × (12 + 0 + 4) = 64us
1/ ( (16MHz / 16) / 4) × (12 + 0 + 2) = 48us
1/ ( (16MHz / 16) / 8) × (12 + 0 + 16) = 224us
1/ ( (16MHz / 16) / 8) × (12 + 0 + 8) = 160us
1/ ( (16MHz / 16) / 8) × (12 + 0 + 4) = 128us
1/ ( (16MHz / 16) / 8) × (12 + 0 + 2) = 112us
1/ ( (16MHz / 16) / 1) × (12 + 1 + 16) = 29us
1/ ( (16MHz / 16) / 1) × (12 + 1 + 8) = 21us
1/ ( (16MHz / 16) / 1) × (12 + 1 + 4) = 17us
1/ ( (16MHz / 16) / 2) × (12 + 1 + 16) = 58us
1/ ( (16MHz / 16) / 2) × (12 + 1 + 8) = 42us
1/ ( (16MHz / 16) / 2) × (12 + 1 + 4) = 34us
1/ ( (16MHz / 16) / 2) × (12 + 1 + 2) = 15us
1/ ( (16MHz / 16) / 4) × (12 + 1 + 16) = 116us
1/ ( (16MHz / 16) / 4) × (12 + 1 + 8) = 84us
1/ ( (16MHz / 16) / 4) × (12 + 1 + 4) = 68us
1/ ( (16MHz / 16) / 4) × (12 + 1 + 2) = 60us
1/ ( (16MHz / 16) / 8) × (12 + 1 + 16) = 232us
1/ ( (16MHz / 16) / 8) × (12 + 1 + 8) = 168us
1/ ( (16MHz / 16) / 8) × (12 + 1 + 4) = 136us
1/ ( (16MHz / 16) / 8) × (12 + 1 + 2) = 120us
1/ ( (16MHz / 32) / 1) × (12 + 0 + 16) = 56us
1/ ( (16MHz / 32) / 1) × (12 + 0 + 8) = 40us
1/ ( (16MHz / 32) / 1) × (12 + 0 + 4) = 32us
1/ ( (16MHz / 32) / 1) × (12 + 0 + 2) = 28us
1/ ( (16MHz / 32) / 2) × (12 + 0 + 16) = 112us
1/ ( (16MHz / 32) / 2) × (12 + 0 + 8) = 80us
1/ ( (16MHz / 32) / 2) × (12 + 0 + 4) = 64us
1/ ( (16MHz / 32) / 2) × (12 + 0 + 2) = 56us
1/ ( (16MHz / 32) / 4) × (12 + 0 + 16) = 224us
1/ ( (16MHz / 32) / 4) × (12 + 0 + 8) = 160us
1/ ( (16MHz / 32) / 4) × (12 + 0 + 4) = 128us
1/ ( (16MHz / 32) / 4) × (12 + 0 + 2) = 96us
1/ ( (16MHz / 32) / 8) × (12 + 0 + 16) = 448us
1/ ( (16MHz / 32) / 8) × (12 + 0 + 8) = 320us
1/ ( (16MHz / 32) / 8) × (12 + 0 + 4) = 256us
11
00
01
0
1
0
10
11
00
01
指令周
期=16
个时钟
周期
10
11
00
01
指令周
期=32
个时钟
周期
10
11
Rev.1.2
第75 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
1/ ( (16MHz / 32) / 8) × (12 + 0 + 2) = 224us
1/ ( (16MHz / 32) / 1) × (12 + 1 + 16) = 58us
1/ ( (16MHz / 32) / 1) × (12 + 1 + 8) = 42us
1/ ( (16MHz / 32) / 1) × (12 + 1 + 4) = 34us
1/ ( (16MHz / 32) / 1) × (12 + 1 + 2) = 30us
1/ ( (16MHz / 32) / 2) × (12 + 1 + 16) = 116us
1/ ( (16MHz / 32) / 2) × (12 + 1 + 8) = 84us
1/ ( (16MHz / 32) / 2) × (12 + 1 + 4) = 68us
1/ ( (16MHz / 32) / 2) × (12 + 1 + 2) = 60us
1/ ( (16MHz / 32) / 4) × (12 + 1 + 16) = 232us
1/ ( (16MHz / 32) / 4) × (12 + 1 + 8) = 168us
1/ ( (16MHz / 32) / 4) × (12 + 1 + 4) = 136us
1/ ( (16MHz / 32) / 4) × (12 + 1 + 2) = 120us
1/ ( (16MHz / 32) / 8) × (12 + 1 + 16) = 464us
1/ ( (16MHz / 32) / 8) × (12 + 1 + 8) = 336us
1/ ( (16MHz / 32) / 8) × (12 + 1 + 4) = 272us
1/ ( (16MHz / 32) / 8) × (12 + 1 + 2) = 240us
00
01
10
11
1
(1) fosc=16MHz
(2) 代码选项
(3) AD 转换时间随fosc 频率的改变而改变。
3.8.3 使用内部参考电压1.40V 的校准方法
内部1.4V作参考时,由于1.4V本身的浮动范围在1.3-1.45V之间,所以需要对1.4V的参考进行
校正。在烧录芯片的时候,已经在E2PROM的102FH(不同型号MCU的位置有差别,注意参考用户手册)
的地址里烧录了1.4V的校正值,所以在上电的时候,需要把这个校正值读出来,在采到AD后,把这个校
正值与采到的AD值相乘然后除以8000H,得到的最后结果才是实际AD值。
如果有多个通道在使用时,当检测其中任一通道时,其它模拟口要设置为数字口。
movlf macro d1,f1
movlw d1
movwf f1
endm
movff macro f1,f2
movfw f1
movwf f2
endm
;************************************************************************
E2PROM_ROUT:
movlf
movlf
;上电先从EEPROM的102fH中读出1.4V参考的校准值
;要读的EEPORM地址放入EADRL EADRH中
2fH,eadrl
10H,eadrh
movp
movwf
M_D_TEMP12 ;低位W中的数据放在M_D_TEMP12中
edath,M_D_TEMP11 ;高位EDATH的数据放在M_D_TEMP11中
movff
return
AD_init:
;CPUCLK = 16/4 =4MHZ
movlw 00000001B
movwf SRADCON0
;B1:B0 01
;B5 B4 = 0 0
;B[5] 0
ADC CLOCK = CPUCLK/2=2M
ADC输入信号获取时间 16个ADC时钟
结果放在SRAD中
movlw 00000010B
movwf SRADCON1
;B[1:0] 10
内部参考电压1.4V
Rev.1.2
第76 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
movlw 00000000B
movwf SRADCON2
movlw 00000000B
movwf SRADL
movwf SRADH
return
;00H
AIN0输入
;[ADL7:0]
;[ADH11:8]
ADC数据的低8位
ADC数据的高4位
…
ADC_CONVERT:
movlf 00001000B
movwf PT3CON
movlf 30h,SRADCON2
;把其它的模拟口设为数字口,打开当前的模拟口
;转换第3通道的信号
bsf SRADCON1,ADEN
call delay40US
bsf
nop
SRADCON1,SRADS
btfsc SRADCON1,SRADS
goto $-1
movfw SRADL
movwf AD3_VALU_l,1
movfw SRADH
movwf AD3_VALU_h,1
movff AD3_VALU_h,M_D_TEMP3 ;采到的AD值作为被乘数
movff AD3_VALU_l,M_D_TEMP4
movff M_D_TEMP11,M_D_TEMP9
movff M_D_TEMP12,M_D_TEMP10 ;EEPROM里014AH读出的值为乘数
;调用乘法运算
call F_Mul2_2
movlf 80H,M_D_TEMP9
movlf 00H,M_D_TEMP10
;AD值与校准系数得到的积作被除数/8000H
;调用除法运算
;把除法结果重新放在AD保存寄存器里
call
F_Div4_2
movff M_D_TEMP3,AD3_VALU_h
movff M_D_TEMP4,AD3_VALU_l
…
3.8.4 AD 失调电压校正
不同芯片由于离散性的原因,AD 的失调电压可能有正有负。
校正失调电压的方法:
在AD 转换过程中通过不断变换SRADCON1 寄存器中的OFFEX 的值。如第一次AD 转换OFFEX
置0,第二次AD 转换OFFEX 置1,然后将第一次和第二次测试的AD 值求平均值。两次转换得到的
平均值就是去掉失调电压的正确结果。
Rev.1.2
第77 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
…
clrf sradcon1
movlw 20h
;VDD为参考电压,often=0,calif=0;enov=0,offex=0,vrefs=00
movwf sradcon2
bsf sradcon1,7
call delay_10us
…
;chs[3:0]=0010,选择通道2
;使能ADC模块
bsf sradcon1,6
;srads=1,开始转换
btfsc sradcon1,6 ;检测转换是否完成
goto $-1
movlw sradl
movwf adtmp1_l
movlw sradh
movwf adtmph_l
…
bsf sradcon1,2
bsf sradcon1,6
;offex=1
;srads=1,开始转换
btfsc sradcon1,6 ;检测转换是否完成
goto $-1
movlw sradl
movwf adtmp1_2
movlw sradh
movwf adtmph_2
aver adtmph_1,adtmpl_1,adtmph_2,adtmpl_2 ;求两次AD值平均值,并保存在
;adtmph_1,adtmpl_1
…
3.8.5 数字比较器
ADC 模块可作为一个数字比较器。被测信号的输入频率应小于转换频率的1/2。比较器的速率是和AD
转换频率相关的。
操作:
1)通过ADC 通道选择控制位chs[3:0]选择比较器负端的信号输入,之后把OFTEN 置1,CALIF 清
0,ENOV 置0,把SRADEN 置1 使能ADC,SRADS 置1 启动转换,转换完成可把转换结果写入
SROFT 寄存器。
也可以直接把负端信号的AD 值直接写到SROFT 寄存器中,即人为指定负端电压值。
2)通过ADC 通道选择控制位chs[3:0]选择比较器正端的信号输入,之后把OFTEN 置0,CALIF 清
1,ENOV 置1,把SRADEN 置1 使能ADC,SRADS 置1 启动转换。
3)AD 数据的最高位SRAD[11]则是比较器的结果,为0 时表示正端电压大于负端电压,为1 时表示
正端电压小于负端电压。SRAD[11:0]为差值,带符号位的补码。
比较通道0 和通道1 的电压值,通道0 接比较器正端,通道1 接比较器负端。
Rev.1.2
第78 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
…
clrf sradcon1
bsf sradcon1,5
movlw 00h
;VDD为参考电压,often=0,calif=0;enov=0,offex=0,vrefs=00
;often=1,结果保存在sroft寄存器中
movwf sradcon2
bsf sradcon1,7
call delay_10us
bsf sradcon1,6
;chs[3:0]=0000,选择通道0 作为比较器负端
;使能ADC模块
;srads=1,开始转换
btfsc sradcon1,6 ;检测转换是否完成
goto $-1
…
movlw 10h
movwf sradcon2
bcf sradcon1,5
bsf sradcon1,4
bsf sradcon1,3
bsf sradcon1,6
;chs[3:0]=0001,选择通道1 作为比较器正端
;often=0
;calif=1
;enov=1
;srads=1,开始转换
btfsc sradcon1,6 ;检测转换是否完成
goto $-1
btfsc sradh,3
goto le_cmp
goto gt_cmp
…
;正端电压小于负端电压
;正端大于等于负端电压
比较1V 电压和通道1 的电压,通道1 接比较器正端,1V 接比较器负端,假设采用5V 的VDD 作为参
考电压,那么1V 的AD 值为0x333。
…
clrf sradcon1
movlw 10h
;VDD为参考电压,often=0,calif=0;enov=0,offex=0,vrefs=00
movwf sradcon2
bsf sradcon1,4
bsf sradcon1,3
movlw 03h
;chs[3:0]=0001,选择通道1 作为比较器正端
;calif=1
;enov=1
movwf srofth
movlw 33h
movwf sroftl
bsf sradcon1,7
call delay_10us
bsf sradcon1,6
;sroft寄存器存入333h,即1V作为比较器负端
;使能ADC模块
;srads=1,开始转换
btfsc sradcon1,6 ;检测转换是否完成
goto $-1
btfsc sradh,3
goto le_cmp
goto gt_cmp
…
;正端电压小于负端电压
;正端大于等于负端电压
3.8.6 内部测量VDD 的电压
Rev.1.2
第79 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
用户可以通过使用内部参考电压或者外部参考电压输入(外部参考电压固定且不随 VDD 电压变
化)两种方法来测试芯片内部VDD 的电压。
使用外部参考电压,使用条件较多,需额外提供参考源。
使用内部参考电压不需要额外的硬件条件。但是,使用内部参考电压会由于本身内部参考电压值
的不准而影响精度。可以通过内部参考电压校正来提高测试的精度。
外接3V 作为参考电压,测VDD 电压。选择通道8,测出1/8VDD 的AD 值,之后乘以8 得出VDD 的
AD 值,再乘以参考电压则为VDD 电压。
…
clrf sradcon1
bsf sradcon1,0
movlw 80h
;often=0,calif=0;enov=0,offex=0,vrefs=00
;vrefs=01,选择外部参考电压,接3V
movwf sradcon2
bsf sradcon1,7
call delay_10us
bsf sradcon1,6
;chs[3:0]=0101,选择通道8 ,1/8VDD
;使能ADC模块
;srads=1,开始转换
btfsc sradcon1,6 ;检测转换是否完成
goto $-1
movlw sradl
movwf adtmp1
movlw sradh
movwf adtmph
bcf status,c
rlf adtmp1
rlf adtmph
rlf adtmp1
rlf adtmph
rlf adtmp1
rlf adtmph
…
;AD值乘以2
;AD值乘以4
;AD值乘以8,小数点在adtmph的bit3和bit4之间
Rev.1.2
第80 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.9 比较器和运算放大器
3.9.1 比较器0/运算放大器
CSU8RF3421/CSU8RF3422/CSU8RF3423 有一个模拟比较器/运算放大器,带两个模拟输入端C0P
和C0N,也可以使用内部参考电压VREF/2 作为比较器的一个输入,C0 脚可做为比较器/运算放大器的
输出。
如果在输入输出之间外间一个反馈电阻,则比较器可做运算放大器使用。做运算放大器使用时,
需配置CMPCON0 寄存器的COS0[2:0]位为3’b100。
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2 Bit1
Bit0
地 名称
址
上电复位值
INTF3
CMP0IF
CMP0IE
CMP0EN
3eh
3fh
6ah
0000uuuu
0000uuuu
00000uu0
INTE3
CMPCON0
COS0[3:0]
CMPOUT0
标识符
功能
比较器/运算放大器使能位
1:使能
CMP0EN
0:禁止
比较器/运算放大器选择
COS0[3:0]
0000
功能描述
比较器/运算放大器未使用,PT5.2、PT5.3、
PT5.4 做为普通IO
0010
0100
0110
1000
1010
1100
1110
用作比较器,PT5.3 接比较器负端,PT5.4 接比
较器正端,PT5.2 做为普通IO
用作比较器,PT5.3 接比较器正端,PT5.4 接比
较器负端,PT5.2 做为普通IO
用作比较器,PT5.3 接比较器正端,VREF/2 接
比较器负端,PT5.4、PT5.2 做为普通IO
用作运算放大器,PT5.2 做为运算放大器输出
口,PT5.4 接运放正端,PT5.3 接运放负端,
用作比较器,PT5.3 接比较器负端,PT5.4 接比
较器正端,PT5.2 做为比较器输出
用作比较器,PT5.3 接比较器正端,PT5.4 接比
较器负端,PT5.2 做为比较器输出
用作比较器,PT5.3 接比较器正端,VREF/2 接
比较器负端,PT5.2 做为比较器输出,PT5.4 做
为普通IO
COS0[3:0]
0001
1001
用作运算放大器,PT5.2 做为运算放大器输出
口,接运放正端接地,PT5.3 接运放负端,
PT5.4 做为IO
用作运算放大器,PT5.2 做为运算放大器输出
口,接运放正端接VDD/2,PT5.3 接运放负
端,PT5.4 做为IO
0011
1011
用作比较器,PT5.4 接比较器负端,比较器正
端接2VDD/5,PT5.2,PT5.3 做为普通IO
用作比较器,PT5.4 接比较器负端,比较器正
端接2VDD/5,PT5.2 做为比较器输出,PT5.3
做为普通IO
0101
用作比较器,PT5.4 接比较器负端,比较器正
Rev.1.2
第81 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
端接VDD/2,PT5.2,PT5.3 做为普通IO
用作比较器,PT5.4 接比较器负端,比较器正
端接VDD/2,PT5.2 做为比较器输出,PT5.3 做
为普通IO
1101
0111
1111
用作比较器,PT5.3 接比较器负端,比较器正
端接VDD/2,PT5.2,PT5.4 做为普通IO
用作比较器,PT5.3 接比较器负端,比较器正
端接VDD/2,PT5.2 做为比较器输出,PT5.4 做
为普通IO
CMP0OUT
比较器的比较结果
表49 比较器/运算放大器的寄存器各位功能表
PT5.2
COS0[3]
COS0[2]
COS0[1]
COS0[0]
cmp0en
pt5en[2]
pt5od[2]
x(GPIO)
Z
Ao
Z
Z
0
0
1
1
1
1
1
1
x
0
0
0
0
0
0
x
0
0
1
1
1
1
x
0
0
0
0
0
0
x
0
1
x
x
0
1
x
x
x
0
x
1
1
x
x
x
x
x
x
1
C0(1)
C0
Z
Z
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
x
x
0
1
1
0
x
1
1
0
x
x
x
1
C0(1)
C0
Z
Z
0
C0(1)
C0
Z
Z
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x
x
0
1
1
x
x
0
1
1
x
x
0
1
1
x
x
0
1
1
1
0
x
1
1
1
0
x
1
1
1
0
x
1
1
1
0
x
1
1
1
0
x
x
x
1
0
x
x
x
1
0
x
x
x
1
0
x
x
x
1
0
0
C0(1)
C0
Z
Z
0
C0(1)
C0
Z
Z
0
C0(1)
C0
注:(1)此处的比较器输出是开漏输出,需要外部上拉电阻。
Ao 表示运算放大器模拟输出;C0 表示比较器输出;Z 表示高阻
下图为各种情况下比较器及运算放大器的使用示意图
Rev.1.2
第82 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
运算放大器
COS0=4'B0000
D
PT5.3/C0N
COS0=4'B1000
A
PT5.3/C0N
PT5.4/C0P
PT5.2/C0
-
-
OFF
CMP0OUT
D
D
A
A
PT5.4/C0P
PT5.2/C0
+
+
比较器
比较器
COS0=4'B0010
A
PT5.3/C0N
COS0=4'B1010
A
PT5.3/C0N
-
-
OFF
CMP0OUT
A
A
PT5.4/C0P
PT5.4/C0P
+
+
D
A
PT5.2/C0
PT5.2/C0
比较器
比较器
COS0=4'B0100
COS0=4'B1100
A
A
PT5.4/C0P
PT5.4/C0P
-
-
OFF
CMP0OUT
A
A
PT5.3/C0N
PT5.3/C0N
+
+
A
D
PT5.2/C0
PT5.2/C0
比较器
比较器
VREF/2
VREF/2
COS0=4'B0110
COS0=4'B1110
D
D
PT5.4/C0P
PT5.4/C0P
-
-
OFF
CMP0OUT
A
A
PT5.3/C0N
PT5.3/C0N
+
+
A
D
PT5.2/C0
PT5.2/C0
Rev.1.2
第83 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
运算放大器
运算放大器
COS0=4'B1001
A
COS0=4'B0001
A
-
PT5.3/C0N
PT5.3/C0N
PT5.4/C0P
PT5.2/C0
-
CMP0OUT
CMP0OUT
D
A
D
+
PT5.4/C0P
+
VDD/2
地
A
PT5.2/C0
比较器
比较器
COS0=4'B0011
COS0=4'B1011
A
A
PT5.4/C0P
PT5.4/C0P
-
-
CMP0OUT
OFF
D
D
A
PT5.3/C0N
PT5.3/C0N
PT5.2/C0
+
+
2VDD/5
2VDD/5
D
PT5.2/C0
比较器
比较器
COS0=4'B0101
COS0=4'B1101
A
PT5.4/C0P
A
PT5.4/C0P
-
-
CMP0OUT
OFF
D
D
A
PT5.3/C0N
+
PT5.3/C0N
PT5.2/C0
+
VDD/2
VDD/2
D
PT5.2/C0
比较器
比较器
COS0=4'B1111
A
PT5.3/C0N
COS0=4'B0111
A
-
PT5.3/C0N
-
CMP0OUT
OFF
D
A
D
PT5.4/C0P
PT5.2/C0
+
PT5.4/C0P
+
VDD/2
VDD/2
D
PT5.2/C0
Rev.1.2
第84 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.9.2 比较器1
CSU8RF3421/CSU8RF3422/CSU8RF3423 有一个模拟比较器1,带两个模拟输入端C1P 和C1N,
也可以使用内部参考电压VREF/2 作为比较器的一个输入,C1 脚可做为比较器的输出。
Bit7
Bit6
Bit5
Bit4
Bit3 Bit2 Bit1
Bit0
地 名称
址
上电复位
值
INTF3
CMP1IF
CMP1IE
3eh
3fh
6bh
0000uuuu
0000uuuu
0000uu0
INTE3
CMPCON1
CMP1EN
COS1[3:0]
CMPOUT1
标识符
功能
比较器/运算放大器使能位
1:使能
CMP1EN
0:禁止
比较器/运算放大器选择
COS1[3:0]
0000
功能描述
比较器未使用,PT5.5、PT5.6、PT5.7 做为普通
IO
0010
0100
0110
1000
1010
1100
1110
用作比较器,PT5.6 接比较器负端,PT5.7 接比
较器正端,PT5.5 做为普通IO
用作比较器,PT5.6 接比较器正端,PT5.7 接比
较器负端,PT5.5 做为普通IO
用作比较器,PT5.6 接比较器正端,VREF/2 接
比较器负端,PT5.7、PT5.5 做为普通IO
比较器未使用,PT5.5、PT5.6、PT5.7 做为普通
IO(保留)
用作比较器,PT5.6 接比较器负端,PT5.7 接比
较器正端,PT5.5 做为比较器输出
用作比较器,PT5.6 接比较器正端,PT5.7 接比
较器负端,PT5.5 做为比较器输出
用作比较器,PT5.6 接比较器正端,VREF/2 接
比较器负端,PT5.5 做为比较器输出,PT5.7 做
为普通IO
COS1[3:0]
0001
1001
用作比较器,PT5.7 接比较器正端,比较器负
端接2VDD/5,PT5.5,PT5.6 做为普通IO
用作比较器,PT5.7 接比较器正端,比较器负
端接2VDD/5,PT5.5 做为比较器输出, PT5.6 做
为普通IO
0011
1011
用作比较器,PT5.7 接比较器负端,比较器正
端接2VDD/5,PT5.5,PT5.6 做为普通IO
用作比较器,PT5.7 接比较器负端,比较器正
端接2VDD/5,PT5.5 做为比较器输出, PT5.6 做
为普通IO
0101
1101
用作比较器,PT5.7 接比较器负端,比较器正
端接VDD/2,PT5.5,PT5.6 做为普通IO
用作比较器,PT5.7 接比较器负端,比较器正
端接VDD/2,PT5.5 做为比较器输出, PT5.6 做
为普通IO
0111
用作比较器,PT5.6 接比较器负端,比较器正
端接VDD/2,PT5.5,PT5.7 做为普通IO
Rev.1.2
第85 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
1111
用作比较器,PT5.6 接比较器负端,比较器正
端接VDD/2,PT5.5 做为比较器输出, PT5.6 做
为普通IO
CMP1OUT
比较器的比较结果
表50 比较器1 的寄存器各位功能表
PT5.5
COS1[3]
COS1[2]
COS1[1]
COS1[0]
Cmp1en
pt5en[5]
pt5od[5]
x(GPIO)
x(GPIO)
Z
Z
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
x
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
x
x
x
0
1
1
x
x
0
1
1
x
x
0
1
x
x
0
x
1
1
1
0
x
1
1
1
0
x
1
1
x
x
x
x
x
1
0
x
x
x
1
0
x
x
x
1
0
C1(1)
C1
Z
Z
0
C1(1)
C1
Z
Z
0
C1(1)
C1
Z
Z
0
C1(1)
C1
Z
Z
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
x
x
0
1
1
x
x
0
1
1
0
x
1
1
1
0
x
1
1
0
x
x
x
1
0
x
x
x
1
0
C1(1)
C1
Z
Z
0
C1(1)
C1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
x
x
0
1
1
1
0
x
1
1
1
0
x
x
x
1
0
注:(1)此处的比较器输出是开漏输出,需要外部上拉电阻。
C1 表示比较器输出;Z 表示高阻
下图为各种情况下比较器及运算放大器的使用示意图
Rev.1.2
第86 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
比较器
COS1=4'B1000
D
COS1=4'B0000
D
PT5.6/C1N
PT5.7/C1P
PT5.5/C1
-
PT5.6/C1N
-
OFF
OFF
D
D
D
+
PT5.7/C1P
+
D
PT5.5/C1
比较器
比较器
COS1=4'B0010
A
PT5.6/C1N
COS1=4'B1010
A
PT5.6/C1N
-
-
OFF
CMP1OUT
A
A
PT5.7/C1P
PT5.7/C1P
+
+
D
A
PT5.5/C1
PT5.5/C1
比较器
比较器
COS1=4'B0100
COS1=4'B1100
A
A
PT5.7/C1P
PT5.7/C1P
-
-
OFF
CMP1OUT
A
A
PT5.6/C1N
PT5.6/C1N
+
+
A
D
PT5.5/C1
PT5.5/C1
比较器
比较器
VREF/2
VREF/2
COS1=4'B0110
COS1=4'B1110
D
D
PT5.7/C1P
PT5.7/C1P
-
-
OFF
CMP1OUT
A
A
PT5.6/C1N
PT5.6/C1N
+
+
A
D
PT5.5/C1
PT5.5/C1
Rev.1.2
第87 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
比较器
2VDD/5
2VDD/5
COS1=4'B1001
COS1=4'B0001
D
PT5.6/C1N
D
-
PT5.6/C1N
PT5.7/C1P
PT5.5/C1
-
CMP1OUT
OFF
A
A
A
D
+
PT5.7/C1P
PT5.5/C1
+
比较器
比较器
COS1=4'B0011
A
PT5.7/C1P
COS1=4'B1011
A
PT5.7/C1P
-
-
CMP1OUT
OFF
D
D
D
A
PT5.6/C1N
PT5.5/C1
PT5.6/C1N
PT5.5/C1
+
+
2VDD/5
2VDD/5
比较器
比较器
COS1=4'B0101
A
PT5.7/C1P
COS1=4'B1101
A
PT5.7/C1P
-
-
CMP1OUT
OFF
D
D
D
A
PT5.6/C1N
PT5.5/C1
+
PT5.6/C1N
PT5.5/C1
+
VDD/2
VDD/2
比较器
比较器
COS1=4'B1111
A
PT5.6/C1N
COS1=4'B0111
A
PT5.6/C1N
-
-
CMP1OUT
OFF
D
A
D
D
PT5.7/C1P
PT5.5/C1
+
PT5.7/C1P
PT5.5/C1
+
VDD/2
VDD/2
Rev.1.2
第88 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.9.3 比较器2
CSU8RF3421/CSU8RF3422/CSU8RF3423 有一个模拟比较器2,带两个模拟输入端C2P 和C2N,
也可以使用内部参考电压VREF/2 作为比较器的一个输入,C2 脚可做为比较器的输出。
Bit7
Bit6
Bit5
Bit4
Bit3 Bit2 Bit1
Bit0
地 名称
址
上电复位
值
INTF3
CMP2IF
CMP2IE
3eh
3fh
6ch
0000uuuu
0000uuuu
00000uu0
INTE3
CMPCON2
CMP2EN
COS2[3:0]
CMPOUT2
标识符
功能
比较器/运算放大器使能位
1:使能
CMP2EN
0:禁止
比较器/运算放大器选择
COS2[3:0]
0000
功能描述
比较器未使用,PT3.2、PT3.3、PT3.4 做为普通
IO 或模拟AD 输入口
0010
0100
0110
用作比较器,PT3.3 接比较器负端,PT3.4 接比
较器正端,PT3.2 做为普通IO 或模拟AD 输入
口
用作比较器,PT3.3 接比较器正端,PT3.4 接比
较器负端,PT3.2 做为普通IO 或模拟AD 输入
口
用作比较器,PT3.3 接比较器正端,VREF/2 接
比较器负端,PT3.4、PT3.2 做为普通IO 或模拟
AD 输入口
1000
1010
1100
1110
比较器未使用,PT3.2、PT3.3、PT3.4 做为普通
IO 或模拟AD 输入口(保留)
用作比较器,PT3.3 接比较器负端,PT3.4 接比
较器正端,PT3.2 做为比较器输出
用作比较器,PT3.3 接比较器正端,PT3.4 接比
较器负端,PT3.2 做为比较器输出
用作比较器,PT3.3 接比较器正端,VREF/2 接
比较器负端,PT3.2 做为比较器输出,PT3.4 做
为普通IO 或模拟AD 输入口
COS2[3:0]
0001
1001
0011
1011
0101
用作比较器,PT3.4 接比较器正端,比较器负
端接2VDD/5,PT3.2,PT3.3 做为普通IO 或模
拟AD 输入口
用作比较器,PT3.4 接比较器正端,比较器负
端接2VDD/5,PT3.2 做为比较器输出,PT3.3
做为普通IO 或模拟AD 输入口
用作比较器,PT3.4 接比较器负端,比较器正
端接2VDD/5,PT3.2,PT3.3 做为普通IO 或模
拟AD 输入口
用作比较器,PT3.4 接比较器负端,比较器正
端接2VDD/5,PT3.2 做为比较器输出,PT3.3
做为普通IO 或模拟AD 输入口
用作比较器,PT3.4 接比较器负端,比较器正
端接VDD/2,PT3.2,PT3.3 做为普通IO 或模
Rev.1.2
第89 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
拟AD 输入口
1101
用作比较器,PT3.4 接比较器负端,比较器正
端接VDD/2,,PT3.2 做为比较器输出,PT3.3
做为普通IO 或模拟AD 输入口
0111
用作比较器,PT3.3 接比较器负端,比较器正
端接VDD/2,PT3.2,PT3.4 做为普通IO 或模
拟AD 输入口
1111
用作比较器,PT3.3 接比较器负端,比较器正
端接VDD/2,PT3.2 做为比较器输出,PT3.4 做
为普通IO 或模拟AD 输入口
CMP2OUT
比较器的比较结果
表51 比较器2 的寄存器各位功能表
PT3.2
COS2[3]
COS2[2]
COS2[1]
COS2[0]
Cmp2en
Pt3en[2]
x(GPIO)
x(GPIO)
Z
Z
0
C2
Z
Z
0
C2
Z
Z
0
C2
Z
Z
0
C2
Z
Z
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
x
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
x
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
x
x
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
x
1
1
0
x
1
1
0
x
1
1
0
x
1
1
0
x
1
1
0
x
1
1
0
C2
Z
Z
0
C2
注:C2 表示比较器输出;Z 表示高阻
下图为各种情况下比较器及运算放大器的使用示意图
Rev.1.2
第90 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
比较器
COS2=4'B1000
D/A
COS2=4'B0000
D/A
PT3.3/C2N
PT3.3/C2N
-
-
OFF
OFF
D/A
D/A
D/A
PT3.4/C2P
PT3.2/C2
+
PT3.4/C2P
PT3.2/C2
+
D/A
比较器
比较器
COS2=4'B0010
A
COS2=4'B1010
A
PT3.3/C2N
-
-
PT3.3/C2N
OFF
CMP2OUT
A
A
A
PT3.4/C2P
PT3.2/C2
+
+
PT3.4/C2P
PT3.2/C2
D/A
比较器
比较器
COS2=4'B0100
COS2=4'B1100
A
A
PT3.4/C2P
PT3.4/C2P
-
-
OFF
CMP2OUT
A
A
A
PT3.3/C2N
PT3.3/C2N
PT3.2/C2
+
+
D/A
PT3.2/C2
比较器
比较器
VREF/2
VREF/2
COS2=4'B0110
D/A
PT3.4/C2P
COS2=4'B1110
D/A
PT3.4/C2P
-
-
OFF
CMP2OUT
A
A
A
PT3.3/C2N
PT3.2/C2
PT3.3/C2N
+
+
D/A
PT3.2/C2
Rev.1.2
第91 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
比较器
2VDD/5
2VDD/5
COS2=4'B1001
COS2=4'B0001
D/A
PT3.3/C2N
D/A
-
PT3.3/C2N
PT3.4/C2P
PT3.2/C2
-
CMP2OUT
OFF
A
A
A
+
PT3.4/C2P
PT3.2/C2
+
D/A
比较器
比较器
COS2=4'B0011
A
PT3.4/C2P
COS2=4'B1011
A
PT3.4/C2P
-
-
CMP2OUT
OFF
D/A
D/A
D/A
A
PT3.3/C2N
PT3.2/C2
PT3.3/C2N
PT3.2/C2
+
+
2VDD/5
2VDD/5
比较器
比较器
COS2=4'B0101
A
PT3.4/C2P
COS2=4'B1101
A
PT3.4/C2P
-
-
CMP2OUT
OFF
D/A
D/A
D/A
A
PT3.3/C2N
PT3.2/C2
+
PT3.3/C2N
PT3.2/C2
+
VDD/2
VDD/2
比较器
比较器
COS2=4'B1111
A
PT3.3/C2N
COS2=4'B0111
A
PT3.3/C2N
-
-
CMP2OUT
OFF
D/A
A
D/A
D/A
PT3.4/C2P
PT3.2/C2
+
PT3.4/C2P
PT3.2/C2
+
VDD/2
VDD/2
Rev.1.2
第92 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.9.4 比较器3
CSU8RF3421/CSU8RF3422/CSU8RF3423 有一个模拟比较器3,带两个模拟输入端C3P 和C3N,
也可以使用内部参考电压VREF/2 作为比较器的一个输入,C3 脚可做为比较器的输出。
Bit7
Bit6
Bit5
Bit4
Bit3 Bit2 Bit1
Bit0
地 名称
址
上电复位
值
INTF3
CMP3IF
CMP3IE
3eh
3fh
6dh
0000uuuu
0000uuuu
00000uu0
INTE3
CMPCON3
CMP3EN
COS3[3:0]
CMPOUT3
标识符
功能
比较器/运算放大器使能位
1:使能
CMP3EN
0:禁止
比较器/运算放大器选择
COS3[3:0]
0000
功能描述
比较器未使用,PT3.5、PT3.6、PT3.7 做为普通
IO 或模拟AD 输入口
0010
0100
0110
用作比较器,PT3.6 接比较器负端,PT3.7 接比
较器正端,PT3.5 做为普通IO 或模拟AD 输入
口
用作比较器,PT3.6 接比较器正端,PT3.7 接比
较器负端,PT3.5 做为普通IO 或模拟AD 输入
口
用作比较器,PT3.6 接比较器正端,VREF/2 接
比较器负端,PT3.7、PT3.5 做为普通IO 或模拟
AD 输入口
1000
1010
1100
1110
比较器未使用,PT3.5、PT3.6、PT3.7 做为普通
IO 或模拟AD 输入口(保留)
用作比较器,PT3.6 接比较器负端,PT3.7 接比
较器正端,PT3.5 做为比较器输出
用作比较器,PT3.6 接比较器正端,PT3.7 接比
较器负端,PT3.5 做为比较器输出
用作比较器,PT3.6 接比较器正端,VREF/2 接
比较器负端,PT3.5 做为比较器输出,PT3.7 做
为普通IO 或模拟AD 输入口
COS3[3:0]
0001
1001
0011
1011
0101
用作比较器,PT3.7 接比较器正端,比较器负
端接2VDD/5,PT3.5,PT3.6 做为普通IO 或模
拟AD 输入口
用作比较器,PT3.7 接比较器正端,比较器负
端接2VDD/5,PT3.5 做为比较器输出,PT3.6
做为普通IO 或模拟AD 输入口
用作比较器,PT3.7 接比较器负端,比较器正
端接2VDD/5,PT3.5,PT3.6 做为普通IO 或模
拟AD 输入口
用作比较器,PT3.7 接比较器负端,比较器正
端接2VDD/5,PT3.5 做为比较器输出,PT3.6
做为普通IO 或模拟AD 输入口
用作比较器,PT3.7 接比较器负端,比较器正
端接VDD/2,PT3.5,PT3.6 做为普通IO 或模
Rev.1.2
第93 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
拟AD 输入口
1101
用作比较器,PT3.7 接比较器负端,比较器正
端接VDD/2,PT3.5 做为比较器输出,PT3.6 做
为普通IO 或模拟AD 输入口
0111
用作比较器,PT3.6 接比较器负端,比较器正
端接VDD/2,PT3.5,PT3.7 做为PT3.6 做为普
通IO 或模拟AD 输入口
1111
用作比较器,PT3.6 接比较器负端,比较器正
端接VDD/2,PT3.5 做为比较器输出,PT3.7 做
为普通IO 或模拟AD 输入口
CMP3OUT
比较器的比较结果
表52 比较器3 的寄存器各位功能表
PT3.5
COS3[3]
COS3[2]
COS3[1]
COS3[0]
Cmp3en
Pt3en[5]
x(GPIO)
x(GPIO)
Z
Z
0
C3
Z
Z
0
C3
Z
Z
0
C3
Z
Z
0
C3
Z
Z
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
x
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
x
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
x
x
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
1
x
x
0
x
1
1
0
x
1
1
0
x
1
1
0
x
1
1
0
x
1
1
0
x
1
1
0
C3
Z
Z
0
C3
注:(1)此处的比较器输出是开漏输出,需要外部上拉电阻。
C3 表示比较器输出;Z 表示高阻
下图为各种情况下比较器及运算放大器的使用示意图
Rev.1.2
第94 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
比较器
COS3=4'B1000
D/A
COS3=4'B0000
D/A
-
PT3.6/C3N
PT3.6/C3N
PT3.7/C3P
PT3.5/C3
-
OFF
OFF
D/A
D/A
D/A
D/A
+
PT3.7/C3P
PT3.5/C3
+
比较器
比较器
COS3=4'B0010
A
PT3.6/C3N
COS3=4'B1010
A
PT3.6/C3N
-
-
OFF
CMP3OUT
A
A
A
PT3.7/C3P
PT3.5/C3
PT3.7/C3P
PT3.5/C3
+
+
D/A
比较器
比较器
COS3=4'B0100
COS3=4'B1100
A
A
PT3.7/C3P
PT3.7/C3P
-
-
OFF
CMP3OUT
A
A
PT3.6/C3N
PT3.6/C3N
+
+
A
D/A
PT3.5/C3
PT3.5/C3
比较器
比较器
VREF/2
VREF/2
COS3=4'B0110
D/A
COS3=4'B1110
D/A
PT3.7/C3P
PT3.7/C3P
-
-
OFF
CMP3OUT
A
A
PT3.6/C3N
PT3.6/C3N
+
+
A
D/A
PT3.5/C3
PT3.5/C3
Rev.1.2
第95 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
比较器
比较器
2VDD/5
2VDD/5
COS3=4'B1001
COS3=4'B0001
D/A
PT3.6/C3N
D/A
-
PT3.6/C3N
PT3.7/C3P
PT3.5/C3
-
CMP3OUT
OFF
A
A
A
+
PT3.7/C3P
PT3.5/C3
+
D/A
比较器
比较器
COS3=4'B0011
A
PT3.7/C3P
COS3=4'B1011
A
PT3.7/C3P
-
-
CMP3OUT
OFF
D/A
A
D/A
A
PT3.6/C3N
PT3.5/C3
PT3.6/C3N
PT3.5/C3
+
+
2VDD/5
2VDD/5
比较器
比较器
COS3=4'B0101
A
PT3.7/C3P
COS3=4'B1101
A
PT3.7/C3P
-
-
CMP3OUT
OFF
D/A
D/A
D/A
A
PT3.6/C3N
PT3.5/C3
+
PT3.6/C3N
PT3.5/C3
+
VDD/2
VDD/2
比较器
比较器
COS3=4'B1111
A
PT3.6/C3N
COS3=4'B0111
A
PT3.6/C3N
-
-
CMP3OUT
OFF
D/A
A
D/A
D/A
PT3.7/C3P
PT3.5/C3
+
PT3.7/C3P
PT3.5/C3
+
VDD/2
VDD/2
3.9.5 比较器参考电压
用户可以使用内部参考电压VERF 作为比较器的一个输入,参考电压值可以为VDD、内部1.4v
参考电压和P3.0 输入的外部参考电压,通过SRADCON2 寄存器的VREFS[1:0]位进行选择。
3.9.6 比较器中断
1、必须是比较器使能的情况下,比较器中断使能才能有效。
2、在比较器使能的情况下,比较器输出端的状态变化都会使比较器结果变化标志位置1。如果将比较
器中断使能,比较器输出端的状态变化会使芯片进入中断,同时置标志位。
Rev.1.2
第96 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.10 数据E2PROM
CSU8RF3421/CSU8RF3422/CSU8RF3423 具有96 bytes 的E2PROM,和用户程序存储器共同编址,
具有掉电不丢失数据的特性。数据E2PROM 的地址范围为1000H~102FH。
数据E2PROM 地址为102FH 的位置烧录时存放着内部参考电压1.40V 的校准系数,若不需要用到
内部参考电压1.40V 时,102FH 可用作数据E2PROM。
表53 数据E2PROM 寄存器列表
地
址
上电复位
值
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
WORK
05h
工作寄存器
00000000
uuu00000
00000000
00000000
0Ah EADRH
0Bh EADRL
0Ch EDATH
PAR[12:8]
PAR[7:0]
EDATH[7:0]
EADRH/EADRL 提供写或者读操作的数据地址;
EDATH/WORK 提供写或读操作所用的数据。
E2PROM 的读或写操作都是基于一个字(16 bits)的。
执行写操作时,在地址和数据寄存器输入相应的值,之后执行TBLP 指令(指令后面参数固定为0,如
tblp 0),便可在相应的E2PROM 地址写入相应的数据。写操作要求指令周期为1MHz~4MHz,或代码
选项选32 个时钟周期且指令周期200KHz~800KHz。执行一次写操作大概需要3ms 的时间。执行
TBLP 指令的时候,应关闭所有中断和WDT。
执行读操作时,在地址寄存器输入相应的值,之后执行MOVP 指令,便可在相应的E2PROM 地址的数
据读入到EDATH/WORK 寄存器中。执行一次读操作大概需要3 个指令周期。
movlw 10H
movwf EADRH ;给高字节地址赋值
movlw 00H
movwf EADRL ;给低字节地址赋值
movlw aaH
movwf EDATH ;给高字节数据赋值
movlw 55H
tblp 0
nop
;给低字节数据赋值
;执行写操作
…
movp
nop
;执行读操作
Rev.1.2
第97 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.11 烧录模块
烧写器的接口:
Application PCB
VS
VDD
VSS
PDA
PCL
To application circuit
Isolation circuit
图25 烧写器接口图
表54 烧录接口说明
端口名称
VDD
VSS
说明
输入
输入
PDA
PCL
PT1[2] 输入/输出
PT1[1] 输入
VS
PT3[0] AD 校正信号线
程序中若使用AD 校正功能,则烧录时需连接此线,若无使用1.4V 校正功
能,则可以不连接,若连接,对烧录亦无影响。
(上述描述仅针对离线烧录器,使用仿真器烧录时无论是否使用AD 校正功
能,均不需要连接)
Rev.1.2
第98 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3.12 代码选项
标识符
功能
省功耗使能选择控制
开启省功耗模式
禁止省功耗模式
代码选项CLKDIV
任意一个选项
省功耗模式 内部晶振频率 指令周期
16MHz
250ns/500ns/
1us/2us
禁止
IRC_SEL
16MHz
8MHz
4MHz
2MHz
250ns
500ns
1us
指令周期=4 个时钟周期
指令周期=8 个时钟周期
指令周期=16 个时钟周期
指令周期=32 个时钟周期
开启
开启
开启
开启
2us
注:开启省功耗模式,主要是改变内部晶振频率。指令周期的时钟周期都是以
16MHz 为基础计算的。
指令周期选择
指令周期
指令周期=4 个时钟周期
指令周期=8 个时钟周期
CLKDIV
指令周期=16 个时钟周期
指令周期=32 个时钟周期
LVD 配置
功能
2.0V 上电/掉电复位,低电压检测关闭。
2.0V 上电/掉电复位;
LVD_SEL
STATUS 的LVD24 作为2.4V 的低电压检测器;
STATUS 的LVD36 作为3.6V 的低电压检测器
2.4V 上电/掉电复位。
STATUS 的LVD36 作为3.6V 的低电压检测器;
保留
复位引脚选择
PT1.3 作为复位引脚
RESET_PIN
PT1.3 作为普通输入口
晶振引脚选择
晶振引脚
PT1.1 和PT1.2 作为普通IO 口
PT1.1 作为外部RC 时钟输入;或者
PT1.1 通过外部时钟源直接灌入时钟;
PT1.2 还是普通IO 口;
XTAL_PIN
PT1.1 和PT1.2 接外部晶振为32768Hz
PT1.1 和PT1.2 接外部晶振
4M~16MHz;还可通过PT1.1 灌时钟,
PT1.2 悬空
Rev.1.2
第99 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
4 MCU 指令集
表55 表MCU 指令集
指令
操作
[W]←[W]+k
指令周期
1
2
1
1
1
1
1
标志位
C,DC,Z
~
C,DC,Z
C,DC,Z
Z
Z
~
ADDLW k
ADDPCW
ADDWF f,d
ADDWFC f,d
ANDLW k
ANDWF f,d
BCF f,b
[PC] ←[PC]+1+[W]
[Destination] ←[f]+[W]
[Destination] ←[f]+[W]+C
[W]←[W] AND k
[Destination] ← [W] AND [f]
[f<b>]←0
BSF f,b
[f<b>]←1
1
~
BTFSC f,b
BTFSS f,b
CALL k
Jump if[f<b>]=0
Jump if[f<b>]=1
Push PC+1 and Goto K
[f]←0
1/2
1/2
2
~
~
~
Z
CLRF f
1
CLRWDT
COMF f,d
DAW
DECF f,d
DECFSZ f,d
GOTO k
Clear watch dog timer
[f]←NOT([f])
Decimal Adjust W
[Destination] ←[f] -1
[Destination] ←[f] -1,jump if the result is zero
PC←k
1
1
1
1
1/2
2
~
Z
C,DC
Z
~
~
HALT
CPU Stop
1
~
INCF f,d
INCFSZ f,d
IORLW k
IORWF f,d
MOVFW f
MOVLW k
MOVP
[Destination] ←[f]+1
[Destination] ←[f]+1,jump if the result is zero
[W]←[W] OR k
[Destination] ← [W] OR [f]
[W]←[f]
1
1/2
1
1
1
Z
~
Z
Z
~
~
~
[W]←k
Read eprom
1
3
MOVWF f
NOP
[f]←[W]
No operation
1
1
~
~
POP
PUSH
RETFIE
RETLW k
RETURN
RLF f,d
RRF f,d
SLEEP
Pop W and Status
Push W and Status
Pop PC and GIE =1
RETURN and W=k
POP PC
[Destination<n+1>] ←[f<n>]
[Destination<n-1>] ←[f<n>]
STOP OSC
2
2
2
2
2
1
1
1
~
~
~
~
~
C,Z
C,Z
PD
SUBLW k
SUBWF f,d
SUBWFC f,d
SWAPF f,d
TBLP k
XORLW k
XORWF f,d
参数说明:
[W] ← k – [W]
1
1
1
1
-
1
1
C,DC,Z
C,DC,Z
C,DC,Z
~
~
Z
Z
[Destinnation] ← [f]– [W]
[Destinnation] ← [f]– [W]-1+C
swap f
Write e2prom
[W]←[W] XOR k
[Destination] ← [W] XOR [f]
f: 数据存储器地址(00H ~167H)
W: 工作寄存器
k: 立即数
Rev.1.2
第100 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
d: 目标地址选择: d=0 结果保存在工作寄存器, d=1: 结果保存在数据存储器f 单
元
b: 位选择(0~7)
[f]: f 地址的内容
PC: 程序计数器
C: 进位标志
DC: 半加进位标志
Z: 结果为零标志
PD: 睡眠标志位
TO: 看门狗溢出标志
WDT: 看门狗计数器
表56 MCU 指令集描述
1
ADDLW
加立即数到工作寄存器
ADDLW K
(0<=K<=FFH)
指令格式
操作
(W)<—(W)+K
标志位
描述
C,DC,Z
工作寄存器的内容加上立即数K 结果保存到工作寄存器中
1
周期
例子
ADDLW 08H
在指令执行之前:
W=08H
在指令执行之后:
W=10H
2
ADDPCW
将W 的内容加到PC 中
ADDPCW
指令格式
操作
(PC)<—(PC)+1+(W)
当(W)<=7FH
(PC)<—(PC)+1+(W)-100H 其余
没有
标志位
描述
将地址PC+1+W 加载到PC 中
2
周期
例子1
ADDPCW
在指令执行之前:
W=7FH ,PC=0212H
指令执行之后:
PC=0292H
例子2
ADDPCW
在指令执行之前:
W=80H ,PC=0212H
指令执行之后:
PC=0193H
例子3
ADDPCW
在指令执行之前:
W=FEH ,PC=0212H
指令执行之后:
PC=0211H
Rev.1.2
第101 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3
ADDWF
加工作寄存器到f
ADDWF f,d 0<=f<=167H d=0,1
[目标地址]<—(f)+(W)
指令格式
操作
标志位
描述
C,CD,Z
将f 的内容和工作寄存器的内容加到一起。
如果d 是0,结果保存到工作寄存器中。
如果d 是1,结果保存到f 中。
1
周期
例子1
ADDWF f 0
指令执行之前:
f=C2H W=17H
在指令执行之后
f=C2H W=D9H
指令执行之前
f=C2H W=17H
指令执行之后
f=D9H W=17H
例子2
ADDWF f 1
4
ADDWFC
将W f 和进位位相加
指令格式
操作
ADDWFC f,d 0<=f<=167H d=0,1
(目标地址)<—(f)+(W)+C
C,DC,Z
将工作寄存器的内容和f 的内容以及进位位相加
当d 为0 时结果保存到工作寄存器
当d 为1 时结果保存到f 中
1
标志位
描述
周期
例子
ADDWFC f,1
指令执行之前
C=1 f=02H W=4DH
指令执行之后
C=0 f=50H W=4DH
5
ANDLW
工作寄存器与立即数相与
ANDLW K 0<=K<=FFH
(W)<—(W) AND K
Z
指令格式
操作
标志位
描述
将工作寄存器的内容与8bit 的立即数相与,结果保存到工作寄存器中。
1
周期
例子
ANDLW 5FH
在指令执行之前
W=A3H
在指令执行之后
W=03H
Rev.1.2
第102 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6
ANDWF
将工作寄存器和f 的内容相与
指令格式
操作
ANDWF f,d 0<=f<=167H d=0,1
(目标地址)<—(W) AND (f)
Z
标志位
描述
将工作寄存器的内容和f 的内容相与
如果d 为0 结果保存到工作寄存器中
如果d 为1 结果保存到f 中
1
周期
例子1
ANDWF f,0
在指令执行之前
W=0FH f=88H
在指令执行之后
W=08H f=88H
在指令执行之前
W=0FH f=88H
在指令执行之后
W=0FH f=08H
例子2
ANDWF f,1
7
BCF
清除f 的某一位
指令格式
操作
BCF f,b 0<=f<=167H 0<=b<=7
(f[b])<—0
无
标志位
描述
F 的第b 位置为0
1
周期
例子
BCF FLAG 2
指令执行之前:
FLAG=8DH
指令执行之后:
FLAG=89H
8
BSF
F 的b 位置1
指令格式
操作
BSF f,b 0<=f<=167H 0<=b<=7
(f[b])<—1
无
标志位
描述
将f 的b 位置1
1
周期
例子
BSF FLAG 2
在指令执行之前
FLAG=89H
在指令执行之后
FLAG=8DH
Rev.1.2
第103 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
9
BTFSC
如果bit 测试为0 则跳转
指令格式
操作
BTFSC f,b 0<=f<=167H 0<=b<=7
Skip if (f[b])=0
标志位
描述
无
如果f 的bit 位是0,下一条取到的指令将被丢到,然后执行一条空指令组成
一个两周期的指令。
周期
无跳转则为1 个指令周期,否则2 个指令周期
例子
NODE BTFSC FLAG 2
OP1:
OP2:
在程序执行以前
PC=address(NODE)
指令执行之后
If(FLAG[2])=0
PC=address(OP2)
If(FLAG[2])=1
PC=address(OP1)
10
BTFSS
如果bit 测试为1,则跳转
指令格式
操作
BTFSS f,b 0<=f<=167H 0<=b<=7
Skip if (f[b])=1
标志位
描述
无
如果f 的bit 位是1,下一条取到的指令将被丢到,然后执行一条空指令组成
一个两周期的指令。
周期
无跳转则为1 个指令周期,否则2 个指令周期
例子
NODE BTFSS FLAG 2
OP1:
OP2:
在程序执行以前
PC=address(NODE)
指令执行之后
If(FLAG[2])=0
PC=address(OP1)
If(FLAG[2])=1
PC=address(OP2)
11
CALL
子程序调用
CALL K 0<=K<=FFFH
指令格式
操作
(top stack)<—PC+1
PC<—K
无
标志位
描述
子程序调用,先将PC+1 压入堆栈,然后把立即数地址下载到PC 中。
2
周期
Rev.1.2
第104 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
12
CLRF
清除f
CLRF f 0<=f<=167H
指令格式
操作
(f)<—0
Z
标志位
描述
将f 的内容清零
1
周期
例子
CLRF WORK
在指令执行之前
WORK=5AH
在指令执行之后
WORK=00H
*注。当clrf 清除status 寄存器时,标志位Z 不会置高
13
CLRWDT
清除看门狗定时器
CLRWDT
指令格式
操作
看门狗计数器清零
标志位
描述
无
清除看门狗定时器
1
周期
例子
CLRWDT
指令执行之后
WDT=0
14
COMF
f 取反
指令格式
操作
COMF f,d 0<=f<=167H d=0,1
(目的地址)<—NOT(f)
Z
标志位
描述
将f 的内容取反,
当d 为0 时,结果保存到工作寄存器中,
当d 为1 时,结果保存到f 中。
1
周期
例子
COMF f,0
在指令执行之前
W=88H,f=23H
在指令执行之后
W=DCH,f=23H
在指令执行之前
W=88H,f=23H
例子2
COMF f,1
在指令执行之后
W=88H,f=DCH
Rev.1.2
第105 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
15
DAW
十进制调整W 寄存器
DAW
指令格式
操作
十进制调整W 寄存器
C,DC
标志位
描述
一般与加法一起使用。
如果低半字节的值大于9 或DC 为1 时,低半字节加6;
如果高半字节的值大于9 或C 为1 时,高半字节加6
1
周期
例子
在DAW 指令执行之前
W=25H+39H =64=5EH
在指令执行之后
若W=25H;
ADDLW 39H
DAW
W=(64)BCD
25H
+ 39H
----------
5EH
+ 06H
----------
64H
16
DECF
f 减1
指令格式
操作
DECF f,d 0<=f<=167H d=0,1
(目的地址)<—(f)-1
Z
标志位
描述
F 的内容减1
当d 为0 时,结果保存到工作寄存器中
当d 为1 时,结果保存到f 中。
1
周期
例子
DECF f,0
在指令执行之前
W=88H f=23H
在指令执行之后
W=22H f=23H
在指令执行之前
W=88H f=23H
在指令执行之后
W=88H f=22H
例子2
DECF f,1
Rev.1.2
第106 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
17
DECFSZ
f 减1 如果为0 则跳转
指令格式
操作
DECFSZ f,d 0<=f<=167H d=0,1
(目的地址)<—(f)-1,如果结果为0 跳转
无
标志位
描述
f 的内容减1。
如果d 为0,结果保存到工作寄存器中。
如果d 为1,结果保存到f 中
如果结果为0,下一条已经取到的指令将被丢掉,然后插入一条NOP 指令组
成一个两个周期的指令。
周期
无跳转则为1 个指令周期,否则2 个指令周期
例子
Node DECFSZ FLAG,1
OP1:
OP2:
在指令执行之前
PC=address(Node)
在指令执行之后
(FLAFG)=(FLAG)-1
If(FLAG)=0
PC=address(OP2)
If(FLAG)!=0
PC=address(OP1)
18
GOTO
无条件跳转
GOTO K 0<=K<=FFFH
指令格式
操作
PC<—K
无
标志位
描述
立即地址载入PC
2
周期
19
HALT
停止CPU 时钟
HALT
指令格式
操作
CPU 停止
无
标志位
描述
CPU 时钟停止,晶振仍然工作,CPU 能够通过内部或者外部中断重启。
1
周期
Rev.1.2
第107 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
20
INCF
f 加1
指令格式
操作
INCF f,d 0<=f<=167H d=0,1
(目的地址)<—(f)+1
Z
标志位
描述
f 加1
如果d 为0,结果保存到工作寄存器中
如果d 为1,结果保存到f 中。
1
周期
例子
INCF f,0
在指令执行之前
W=88H f=23H
在指令执行之后
W=24H f=23H
在指令执行之前
W=88H f=23H
在指令执行之后
W=88H f=24H
例子2
INCF f,1
21
INCFSZ
f 加1,如果结果为0 跳转
指令格式
操作
INCFSZ f,d 0<=f<=167H d=0,1
(目的地址)<—(f)+1 如果结果为0 就跳转
无
标志位
描述
f 的内容加1。
如果d 为0,结果保存到工作寄存器中。
如果d 为1,结果保存到f 中
如果结果为0,下一条已经取到的指令将被丢掉,然后插入一条NOP 指令
组成一个两个周期的指令。
周期
无跳转则为1 个指令周期,否则2 个指令周期
例子
Node INCFSZ FLAG,1
OP1:
OP2:
在指令执行之前
PC=address(Node)
在指令执行之后
(FLAFG)=(FLAG)+1
If(FLAG)=0
PC=address(OP2)
If(FLAG)!=0
PC=address(OP1)
22
IORLW
工作寄存器与立即数或
IORLW K 0<=K<=FFH
(W)<—(W)|K
指令格式
操作
Z
标志位
描述
立即数与工作寄存器的内容或。结果保存到工作寄存器中。
1
周期
例子
IORLW 85H
在指令执行之前
W=69H
在指令执行之后
W=EDH
Rev.1.2
第108 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
23
IORWF
f 与工作寄存器或
指令格式
操作
IORWF f,d 0<=f<=167H d=0,1
(目的地址)<—(W)|(f)
Z
标志位
描述
f 和工作寄存器或
当d 为0 时,结果保存到工作寄存器中
当d 为1 时,结果保存到f 中
1
周期
例子
IORWF f,1
在指令执行前
W=88H f=23H
在指令执行后
W=88H f=ABH
24
MOVFW
传送到工作寄存器
MOVFW f 0<=f<=167H
指令格式
操作
(W)<—(f)
无
标志位
描述
将数据从f 传送到工作寄存器
1
周期
例子
MOVFW f
在指令执行之前
W=88H f=23H
在指令执行之后
W=23H f=23H
25
MOVLW
将立即数传送到工作寄存器中
MOVLW K 0<=K<=FFH
指令格式
操作
(W)<—K
无
标志位
描述
将8bit 的立即数传送到工作寄存器中
1
周期
例子
MOVLW 23H
在指令执行之前
W=88H
在指令执行之后
W=23H
26
MOVP
读EPROM 数据
Rev.1.2
第109 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
MOVP
指令格式
操作
把EPROM 数据读到EDATH/WORK 中
无
标志位
描述
把地址为EADRH/EADRL 的EPROM 数据读到EDATH/WORK 中
2
周期
例子
MOVP
在指令执行之前
EADRH=04H,EADRL=00H
地址为0400H 的EPROM 数据位1234H
在指令执行之后
EDATH=12H,W=34H
27
MOVWF
将工作寄存器的值传送到f 中
MOVWF f 0<=f<=167H
指令格式
操作
(f)<—(W)
无
标志位
描述
将工作寄存器的值传送到f 中
1
周期
例子
MOVWF f
在指令执行之前
W=88H f=23H
在指令执行之后
W=88H f=88H
28
NOP
无操作
NOP
无操作
无
指令格式
操作
标志位
描述
无操作
1
周期
29
PUSH
把work 和status 寄存器入栈保护
PUSH
指令格式
操作
(top stack)<—work/status
无
标志位
描述
把work 和status 寄存器的值做入栈处理,支持8 级堆栈,不同于PC 堆栈;
其中状态寄存器不包括LVD36,LVD24,PD 和TO。
2
周期
30
POP
把work 和status 寄存器出栈处理
POP
(Top Stack)=>work/status
指令格式
操作
Rev.1.2
第110 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
Pop Stack
无
标志位
描述
把当前栈顶的值做出栈处理,分别更新work 和status 寄存器,支持8 级堆
栈,不同于PC 堆栈;其中状态寄存器不包括LVD36,LVD24,PD 和
TO。
2
周期
31
RETFIE
从中断返回
RETFIE
(Top Stack)=>PC
Pop Stack
1=>GIE
指令格式
操作
标志位
描述
无
PC 从堆栈顶部得到,然后出栈,设置全局中断使能位为1
2
周期
32
RETLW
返回,并将立即数送到工作寄存器中
RETLW K 0<=K<=FFH
指令格式
操作
(W)<—K
(Top Stack)=>PC
Pop Stack
无
标志位
描述
将8bit 的立即数送到工作寄存器中,PC 值从栈顶得到,然后出栈
2
周期
33
RETURN
从子程序返回
RETURN
(Top Stack)=>PC
Pop Stack
无
指令格式
操作
标志位
描述
PC 值从栈顶得到,然后出栈
2
周期
Rev.1.2
第111 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
34
RLF
带进位左移
指令格式
操作
RLF f,d 0<=f<=167H d=0,1
(目标地址[n+1])<—(f[n])
(目标地址[0])<—C
C<—(f[7])
标志位
描述
C,Z
F 带进位位左移一位
如果d 为0,结果保存到工作寄存器
如果d 为1,结果保存到f 中
1
周期
例子
RLF f,1
在指令执行之前
C=0 W=88H f=E6H
在指令执行之后
C=1 W=88H f=CCH
35
RRF
带进位右移
指令格式
操作
RRF f,d 0<=f<=167H d=0,1
(目标地址[n-1])<—(f[n])
(目标地址[7])<—C
C<—(f[7])
C
标志位
描述
F 带进位位右移一位
如果d 为0,结果保存到工作寄存器
如果d 为1,结果保存到f 中
1
周期
例子
RRF f,0
在指令执行之前
C=0 W=88H f=95H
在指令执行之后
C=1 W=4AH f=95H
36
SLEEP
晶振停止
SLEEP
指令格式
操作
CPU 晶振停止
PD
标志位
描述
CPU 晶振停止。CPU 通过外部中断源重启
1
周期
Rev.1.2
第112 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
37
SUBLW
立即数减工作寄存器的值
SUBLW K 0<=K<=FFH
指令格式
操作
(W)<—K-(W)
标志位
描述
C,DC,Z
8bit 的立即数减去工作寄存器的值,结果保存到工作寄存器中
1
周期
例子
SUBLW 02H
在指令执行之前
W=01H
在指令执行之后
W=01H C=1(代表没有借位) Z=0(代表结果非零)
在指令执行之前
例子2
SUBLW 02H
W=02H
在指令执行之后
W=00H C=1(代表没有借位) Z=1(代表结果为零)
在指令执行之前
例子2
SUBLW 02H
W=03H
在指令执行之后
W=FFH C=0(代表有借位) Z=0(代表结果非零)
38
SUBWF
f 的值减工作寄存器的值
SUBWF f,d 0<=f<=167H d=0,1
(目标地址)<—(f)-(W)
C,DC,Z
f 的值减去工作寄存器的值。
如果d 为0,结果保存到工作寄存器
如果d 为1,结果保存到f 中
1
指令格式
操作
标志位
描述
周期
例子
SUBWF f,1
在指令执行之前
f=33H W=01H
在指令执行之后
f=32H C=1 Z=0
在指令执行之前
f=01H W=01H
在指令执行之后
f=00H C=1 Z=1
在指令执行之前
f=04H W=05H
在指令执行之后
f=FFH C=0 Z=0
例子2
SUBWF f,1
例子3
SUBWF f,1
Rev.1.2
第113 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
39
SUBWFC
带借位的减法
指令格式
操作
SUBWFC f,d 0<=f<=167H d=0,1
(目标地址)<—(f)-(W)-1+C
C,DC,Z
f 的值减去工作寄存器的值
如果d 为0,结果保存到工作寄存器
如果d 为1,结果保存到f 中
1
标志位
描述
周期
例子
SUBWFC f,1
在指令执行之前
W=01H f=33H C=1
在指令执行之后
f=32H C=1 Z=0
在指令执行之前
W=01H f=02H C=0
在指令执行之后
f=00H C=1 Z=1
在指令执行之前
W=05H f=04H C=0
在指令执行之后
f=FEH C=0 Z=0
例子2
SUBWFC f,1
例子3
SUBWFC f,1
40
SWAPF
交换寄存器的值
指令格式
操作
SWAPF f,d 0<=f<=167H d=0,1
(des[3:0])<—f[7:4]
(des[7:4])<—f[3:0]
无
标志位
描述
把f 寄存器的高4 位数据给目标寄存器的低4 位;
把f 寄存器的低位数据给目标寄存器的高4 位
d 为1 时,f 寄存器为目标寄存器;否则,w 寄存器为目标寄存器
1
周期
例子
SWAPF f,1
在指令执行之前
f=ACH
在指令执行之后
f=CAH
41
TBLP
写EPROM
指令格式
操作
TBLP k (k 取0)
写EPROM
无
标志位
描述
把EDATH/WORK 的数据写到地址为EADRH/EADRL 的E2PROM 里
约为3ms 时间
在指令执行之前
周期
例子
TBLP 0
EDATH=BAH,W=ACH,EADRH=10H,EADRL=00H
在指令执行之后
把BAACH 写到地址为1000H 的E2PROM 里
42
XORLW
工作寄存器的值与立即数异或
Rev.1.2
第114 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
XORLW K 0<=K<=FFH
指令格式
操作
(W)<—(W)^K
Z
标志位
描述
8bit 的立即数与工作寄存器的值异或,结果保存在工作寄存器中
1
周期
例子
XORLW 5FH
在指令执行之前
W=ACH
在指令执行之后
W=F3H
43
XORWF
f 的值与工作寄存器的值异或
XORWF f,d 0<=f<=167H d=0,1
(目标地址)<—(W)^(f)
Z
指令格式
操作
标志位
描述
F 的值与工作寄存器的值异或,
当d 为0 时,结果保存到工作寄存器中
当d 为1 时,结果保存到f 中
1
周期
例子
XORWF f,1
在指令执行之前
W=ACH f=5FH
在指令执行之后
f=F3H
Rev.1.2
第115 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
5 电气特性
5.1 极限值
参数
范围
-0.3~6.0
-0.3~VDD+0.3
-40~+125
单位
V
V
电源VDD
引脚输入电压
工作温度
ºC
-55~+150
ºC
存贮温度
焊接温度,时间
220ºC,10 秒
5.2 直流特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)
符号
参数
测试条件
25 ºC
-40 ºC ~+85 ºC
最小值 典型值 最大值 单位
2.3
2.5
5
5
5.5
5.5
V
V
VDD
工作电压
外部晶振频
率
FXT
16
16
50
4
MHz
MHz
KHz
MHz
V/ms
25 ºC,代码选项 XTAL_PIN 选
ERC
25 ºC,代码选项 XTAL_PIN 选外
部低速晶振
外部灌入时
钟
EXT_CK
25 ºC,代码选项 XTAL_PIN 选外
部高速晶振
系统电源电
压上升速率
Vpor
Tcpu
0.15
VDD:2.3V~5.5V
VDD:2.4V~5.5V
VDD:3.6V~5.5V
2000
500
250
指令周期
ns
V
数字输入高
电平
0.75VDD
PT1,PT2,PT3,PT5
VIH
VIL
复位输入高
电平
0.8VDD
数字输入低
电平
0.3VDD
0.2VDD
PT1,PT2,PT3,PT5
V
复位输入低
电平
IPU
上拉电流
高电平输出
电流
PT1, PT2,PT3,PT5;Vin = 0;
VOH=0.9VDD;VDD=5V
VOH=0.9VDD;VDD=3V
VOL=0.1VDD;VDD=5V
54
14
6
18
8
uA
mA
mA
mA
mA
IOH
低电平输出
电流
IOL
VOL=0.1VDD;VDD=3V
2.0V 上电/掉电复位点;25 度
2.0V 上电/掉电复位点;-40~85 度
2.4V 上电/掉电复位点;25 度
2.4V 上电/掉电复位点;-40~85 度
3.6V 报低电压点;25 度
1.9
1.8
2.3
2.0
3.3
2.0
2.0
2.4
2.4
3.6
3.6
16.0
2.3
2.5
2.7
3.0
4.2
复位电压/低
电压检测电
压
LVD
IRC
V
3.6V 报低电压点;-40~85 度
3.0
15.74
4.5
15.97
内置 RC 时 25℃,5V
MHz
Rev.1.2
第116 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
钟
-40℃~85℃, 2.3V~5.5V
25℃,5V
-40℃~85℃, 2.3V~5.5V
15.4
30.5
30
16.0
32
32
16.1
32.5
35
KHz
KHz
内置看门狗
时钟
WDT
中断触发脉
宽
Tint0,1
25℃,5V
Tcpu
ns
VDD=3V, 关掉WDT
VDD=3V, 打开WDT
VDD=5V, 关掉WDT
VDD=5V, 打开WDT
0.6
2.4
0.7
3.2
uA
uA
uA
uA
sleep 模式电
流
IDD1
内部振荡器关闭
(fcpu=fosc/4)
fosc = 32768Hz,3V
内部振荡器关闭
10
uA
uA
16.5
(fcpu=fosc/4)
fosc = 32768Hz,5V
内 部 晶 振 模 式 , F=16MHz ,
VDD=3V,fcpu=fosc/4
内 部 晶 振 模 式 , F=16MHz ,
VDD=3V,fcpu=fosc/8
内 部 晶 振 模 式 , F=16MHz ,
VDD=3V,fcpu=fosc/16
内 部 晶 振 模 式 , F=16MHz ,
VDD=3V,fcpu=fosc/32
内 部 晶 振 模 式 , F=16MHz ,
VDD=5V,fcpu=fosc/4
内 部 晶 振 模 式 , F=16MHz ,
VDD=5V,fcpu=fosc/8
内 部 晶 振 模 式 , F=16MHz ,
VDD=5V,fcpu=fosc/16
内 部 晶 振 模 式 , F=16MHz ,
VDD=5V,fcpu=fosc/32
3.0
1.8
mA
mA
mA
mA
mA
mA
mA
mA
工作电流
1.2
0.9
5.0
3.0
2.0
1.5
IDD2
ERC 模式,VDD=5V,fcpu=fosc/4
R=1KΩ
F=8.4MHZ
F=3.7MHZ
F=530KHZ
F=60KHZ
F=8.3MHZ
F=3.3MHZ
F=350KHZ
F=50KHZ
6.27
1.94
0.35
0.15
6.59
1.82
0.34
0.11
R=10KΩ
R=100KΩ
R=1MΩ
R=1KΩ
C=47P
R=10KΩ
R=100KΩ
R=1MΩ
C=100P
IDD3
工作电流
mA
ERC 模式,VDD=3V,fcpu=fosc/4
F=7.4MHZ
F=2.7MHZ
F=300KHZ
F=40KHZ
F=7.3MHZ
F=1.6MHZ
F=210KHZ
F=30KHZ
R=1KΩ
2.4
0.82
0.15
0.05
3.13
0.7
R=10KΩ
R=100KΩ
R=1MΩ
R=1KΩ
C=47P
R=10KΩ
R=100KΩ
R=1MΩ
C=100P
0.14
0.05
Rev.1.2
第117 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
5.3 ADC 特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)
符号
参数
测试条件
25 ºC
-40 ºC ~+85 ºC
最小值 典型值 最大值 单位
2.3
2.5
5
5
5.5
5.5
V
V
ADC 工作电
压范围
VDD
模拟输入范
围
AIN0~ AIN5
input voltage
VREF 受寄存器VREFS[1:0]控制
0
0
VREF
VDD
V
V
外部参考电
压输入范围
Vref
input range
VREFS[1:0]=01
VDD=5V(VDD 作为参考电压)
VDD=3V(VDD 作为参考电压)
注意模拟信号的输出阻抗对于
ADC 转换周期的限制,典型值
10uS 要求输出阻抗不超过10K
SRADACKS[1:0]=01;
0.45
0.4
mA
mA
ADC current
consumption
ADC 功耗
ADC
Conversion
Cycle Time
ADC 转换周
期
10
uS
INL
积分非线性
无失码
±4
11
±8
12
11
9
LSB
Bits
Bits
Bits
V
SRADCKS[1:0]=01;
VREFS[1:0]=01,外部参考电压
VREFS[1:0]=00,VDD 做为参考电
压
10
9
No missing
code
10
VREFS[1:0]=10,内部参考电压
7
8
内部参考电
压
IVREF
1.40
内部参考电
压温漂
IVREF temp
drift
50
6
ppm
mV
ADC 失调电
压
Offset
Rev.1.2
第118 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
5.4 比较器的直流特性
符号
参数
测试条件
25 ºC
-40 ºC ~+85 ºC
最小值 典型值 最大值
单位
V
V
2.3
2.5
5
5
5.5
5.5
VDD
工作电压
比较器/运算放大器
的失调电压
Comp Vos
±1
±3
mV
比较器/运算放大器
的失调电压温漂
Comp Vos
drift
5*
uV
Comp IVR 比较器输入电压范围 VDD=5V,GND=0V
0
0
5
0.3
5
V
V
比较器/运算放大器
输出电压范围
VDD=5V ,GND=0V ,
Rload=10KΩ
COMP OVS
4.7
V
Icomp
Iopa
比较器工作电流
运算放大器工作电流
运算放大器大信号增
益
150
350
uA
uA
Large signal
voltage gain
Rload=2KΩ
40*
60*
60*
V/mV
dB
比较器/运算放大器
电源电压抑制比
比较器/运算放大器
共模抑制比
PSRR
CMRR
dB
比较器/运算放大器
工作电压范围
Comp/opa
vdd range
Comp
Reponse
CMP LSB
2.3V
5.5
5
V
11
比较器响应时间
uS
mV
V
比较器最小分辨率
比较器、运算放大器
共模电压输入范围
1
Comp VCM
0
Isource(v+=1,v-=0,
VDD=5V,CO=2V)
Isink (v+=0 ,v-=1 ,
*
mA
mA
20
*
20
OPA output
current
运算放大器输出电流 VDD=5V,CO=2V)
Isink (v+=0 ,v-=1 ,
*
VDD=5V
,
mA
3
CO=200mV)
VDD=5V,Vopp=5V
VDD=5V,Vopp=4V
VDD=5V,Vopp=3V
VDD=2.3,Vopp=2.3V
VDD=2.3V,Vopp=1V
60*
80*
95*
55*
75*
dB
dB
dB
dB
dB
运放的谐波失真
Vsin=10KHz
OPA THD
Max CAP
允许直接接到运算放
大器输出端的最大到
地的负载电容
100
pF
(1) 响应时间测量是在比较器一端接(VDD-1.5)/2,另外一端从VSS 跳变到VDD-1.5。
* 表示理论设计值,未经过实际测试。
Rev.1.2
第119 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
5.5 RC 时钟频率特性
下图位实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
16MHz IRC时钟频率随电压和温度变化曲线
16.4
16.2
16
5.5V
5.0V
4.5V
4.0V
3.5V
3.0V
2.5V
15.8
15.6
15.4
15.2
-35
-20
0
20
40
60
85
温度(度)
图26 RC 时钟频率的电压和温度特性
5.6 WDT 时钟频率特性
下图位实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
WDT时钟频率随电压和温度变化曲线
36
34
32
30
28
5.0V
3.0V
-35
-20
0
20
40
60
85
温度(度)
图27 WDT 频率的电压和温度特性
5.7 ERC 频率特性
下表是实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
表57 不同阻容的ERC 频率
电流(uA)
电容(pF)
电阻(Kohm) 电压(V)
晶振频率(kHz)
Fcpu=Fosc/2
6271
2405
1939
822
5
9050
8159
3946
2422
580
1
10
100
1000
3
5
47
3
5
348
3
326
149
5
72
146
Rev.1.2
第120 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
3
5
3
5
3
5
3
5
3
5
3
5
3
41
9
47
123
61
10000
1
5
9174
8395
3749
2139
492
288
66
5796
3131
1823
704
342
143
110
48
10
100
100
1000
10000
38
8.6
4.7
112
52
下图是实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
ERC晶振频率(47pF&1kΩ)温度特性曲线
10
8
6
5V
3V
4
2
0
-35
-20
0
20
40
60
85
温度
图28 ERC@(47pF&1kΩ)温度特性
ERC晶振频率(47pF&1kΩ)电压特性曲线
10
8
6
1
4
2
0
2.5
3
3.5
4
4.5
5
5.5
6
VDD(V)
5.8 2.0V 掉电复位温度特性
下图位实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
Rev.1.2
第121 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
2.0V掉电复位电压随温度变化曲线
2.1
2
1.9
1.8
1.7
2.0V
-35
-20
0
20
40
60
85
温度
图29 2.0V 掉电复位温度特性
5.9 2.4V 低电压复位温度特性
下图位实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
2.4V低电压复位随温度变化曲线
2.5
2.4
2.3
2.2
2.1
2
2.4V
-35
-20
0
20
40
60
85
温度(度)
图30 2.4V 低电压复位温度特性
5.10 1.4V 内部参考电压温度特性
下图位实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
内部参考电压温度特性
1.38
1.375
1.37
IVREF
1.365
1.36
-35
-20
0
20
40
60
85
温度(度)
图31 内置参考电压温度特性
Rev.1.2
第122 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6 封装图
6.1 SSOP-20pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
b
C
D
E
1.30
0.10
0.23
0.21
8.45
3.70
1.40
-
-
-
8.65
3.90
1.50
0.25
0.33
0.26
8.85
4.10
e
α
0.635BSC
-
0°
8°
H
5.80
6.00
6.20
L
0.50
-
0.80
Rev.1.2
第123 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6.2 SOP-20pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
b
C
D
E
2.25
0.10
0.35
0.26
12.60
7.30
2.30
-
-
-
2.35
0.30
0.44
0.31
13.00
7.70
12.80
7.50
1.27BSC
-
e
α
0°
8°
H
10.10
10.30
10.50
L
0.70
-
1.00
Rev.1.2
第124 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6.3 DIP-20pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
b
3.60
0.51
0.44
3.80
-
-
4.00
-
0.53
B1
c
D
E1
e
eA
eB
eC
1.52BSC
0.25
26.03
6.35
-
26.23
6.55
2.54BSC
7.62BSC
-
0.31
26.43
6.75
7.62
0
9.30
0.84
-
L
3.00
-
-
Rev.1.2
第125 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6.4 SOP-24pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
b
C
D
E
e
α
β
H
-
-
2.70
0.30
0.48
0.31
15.6
7.70
0.10
0.39
0.25
15.2
7.30
0.20
-
-
15.4
7.50
1.27BSC
-
0°
-
10.1
0.70
8°
-
10.5
1.00
45°
10.3
L
0.85
Rev.1.2
第126 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6.5 PDIP-24pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
A2
B
B1
C
3.60
0.30
3.30
0.44
3.80
-
3.50
4.00
-
3.70
0.53
-
1.52BSC
-
22.90
6.60
0.25
22.70
6.40
0.31
23.10
6.80
D
E
E1
e
θ
7.62BSC
1.778BSC
-
0°
8°
L
3.00
-
-
Rev.1.2
第127 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6.6 SOP-28pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
b
C
D
E
e
θ
H
-
-
-
-
-
2.65
0.30
0.48
0.31
18.20
7.70
0.10
0.39
0.25
17.80
7.30
18.00
7.50
1.27BSC
-
0°
10.10
0.70
8°
10.50
1.00
10.30
L
-
Rev.1.2
第128 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
6.7 SKY-28pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
A2
B
B1
C
3.50
0.42
3.08
0.44
3.70
-
3.28
3.90
-
3.48
0.53
-
1.52BSC
-
35.30
7.30
0.25
35.10
7.10
0.31
26.43
7.50
D
E
E1
e
θ
7.87BSC
2.54BSC
-
0
8
-
L
3.00
-
Rev.1.2
第129 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
7 单片机产品命名规则
7.1 产品型号说明
CS
U
X
X
X
X
XXX
X
XX
X
E
封装
材料
E=PB Free封装
温度
范围
N=0~70℃
C=-40~85℃
I=-40~105℃
M=-40~125℃
封装
类型
见下表
空白=第1版
A=第2版
B=第3版
版本
产品
定位
型号
1=高精度ADC类
2=IO类
3=ADC类
功能
分类
4=LCD类
5=ADC+LCD类
7=Energy类
F=Flash
E=EEPROM
P=OTP
ROM
类型
MCU
内核
R=RISC
D=8051核
MCU
位数
8=8位
16=16位
32=32位
产品
分类
U=MCU
公司
名称
Chipsea
标示符
BD
DI
封装类型
Bonding
DIP
SD
SDIP
SO
SOP
SS
TS
QF
SSOP
TSSOP
QFP
LQ
TQ
QN
LQFP
TQFP
QFN
Rev.1.2
第130 页,共131 页
CSU8RF3421/CSU8RF3422/CSU8RF3423
7.2 命名举例说明
ROM
类型
功能
分类
产品定
位型号
芯片
版本
封装
形式
工作温度
围
名称
内核
封装材料
范
8 位 Risc
MCU
CSU8RF3423-SO-CE
Flash
ADC
423
SOP
-40~85 ºC
第1 版
无铅封装(PB-Free 封装)
7.3 产品印字说明
CHIPSEA
产品型号
XXXXX
A
C
B
芯片正面印字一般有3 行:
第一行为公司名称,为CHIPSEA。
第二行为产品型号。对于一些小尺寸封装,会对产品型号进行缩减。
第三行为日期码。从左端起算,前两位为公历年号后两位;第三第四位为本年度日历周数,不足
两位时左端补0;最后一位为产品随机号。
例如,CSU8RF3423的印字如下:
CHIPSEA
RF3423-SO
1320A
A
C
B
注:对于些小尺寸封装”-SO”会缩减为”S”,”-DI”会缩减为”D”,如CSU8RF3112-SO-CE 的产品型
号印字为RF3112S。
Rev.1.2
第131 页,共131 页
相关型号:
©2020 ICPDF网 联系我们和版权申明