CSU8RP3218 [CHIPSEA]
12-bit ADC 8 - bit RISC OTP MCU;型号: | CSU8RP3218 |
厂家: | Core Technology (Shenzhen) Co., Ltd. |
描述: | 12-bit ADC 8 - bit RISC OTP MCU |
文件: | 总130页 (文件大小:3261K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
CSU8RP3218 用户手册
带12-bit ADC 的8 位RISC OTP MCU
REV 1.5
通讯地址:深圳市南山区蛇口南海大道1079号花园城数码大厦A座9楼
邮政编码:518067
公司电话:+(86 755)86169257
传
真:+(86 755)86169057
公司网站:www.chipsea.com
微 信 号:芯海科技
微信二维码:
CSU8RP3218
版本历史
历史版本.
REV 1.0
REV 1.1
REV 1.2
修改内容
版本日期
初始版本
修订P17、71、77、94笔误
2015-6-23
2015-9-16
2015-11-3
1、时钟系统增加ERC频率微调控制寄存
器和输出使能控制寄存器(P18)
2、增加PT3.2外部参考电压输入控制
(P66)
3、增加PT3.0内部参考电压输出控制
(P66)
4、增加PT1.3可配置为开漏输出(P33)
5、删除ADC内部通道11,即输入信号接
GND(P65)。
6、代码选项增加超低功耗使能位(P79)
7、增加32MHz IRC时钟(P99)
1、在产品概述中增加32MHz振荡器精度
描述(P6)
REV 1.3
REV 1.4
2015-11-20
2016-02-23
1、修订P79有关SRADCON1 寄存器的描
述
2、修订P81 有关METCH 寄存器的描述
1、删除PT1.3开漏输出
REV 1.5
2017-3-14
REV1.5
第2 页,共130 页
CSU8RP3218
目 录
版本历史................................................................................................................................................................. 2
目 录...................................................................................................................................................................... 3
1 产品概述......................................................................................................................................................... 6
1.1 功能描述................................................................................................................................................. 6
1.2 主要特性................................................................................................................................................. 6
1.3
PIN 配置.................................................................................................................................................. 7
2 标准功能......................................................................................................................................................... 9
2.1
CPU 核..................................................................................................................................................... 9
存储器........................................................................................................................................... 11
状态寄存器................................................................................................................................... 13
SFR ................................................................................................................................................ 15
2.1.1
2.1.2
2.1.3
2.2 时钟系统............................................................................................................................................... 17
2.2.1
2.2.2
2.2.3
概述............................................................................................................................................... 17
时钟框图....................................................................................................................................... 17
寄存器........................................................................................................................................... 19
2.3 复位系统............................................................................................................................................... 21
2.3.1
2.3.2
2.3.3
2.3.4
上电复位....................................................................................................................................... 23
看门狗复位................................................................................................................................... 23
掉电复位....................................................................................................................................... 23
外部硬件复位............................................................................................................................... 25
2.4 中断....................................................................................................................................................... 26
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
中断使能寄存器........................................................................................................................... 27
中断标志寄存器........................................................................................................................... 29
外部中断0 .................................................................................................................................... 31
外部中断1 .................................................................................................................................... 31
AD 中断溢出................................................................................................................................. 34
定时器0 溢出中断........................................................................................................................ 34
定时/计数器2 溢出中断............................................................................................................... 34
定时/计数器3 溢出中断............................................................................................................... 34
定时/计数器4 溢出中断............................................................................................................... 34
2.4.10 比较器中断................................................................................................................................... 34
2.4.11 串口接收中断............................................................................................................................... 34
2.4.12 串口发送中断............................................................................................................................... 34
2.4.13 PUSH 和POP 处理....................................................................................................................... 34
2.5 定时器0 ................................................................................................................................................ 36
2.6
I/O PORT............................................................................................................................................... 38
PT1 口............................................................................................................................................ 38
PT3 口............................................................................................................................................ 41
PT5 口............................................................................................................................................ 43
PT3.0 口输入控制......................................................................................................................... 44
2.6.1
2.6.2
2.6.3
2.6.4
3 增强功能....................................................................................................................................................... 46
3.1 HALT 和SLEEP 模式.............................................................................................................................. 46
3.2 看门狗(WDT)........................................................................................................................................ 49
3.3 定时/计数器2....................................................................................................................................... 51
3.3.1
寄存器描述................................................................................................................................... 51
REV1.5
第3 页,共130 页
CSU8RP3218
3.3.2
3.3.3
3.3.4
输出配置....................................................................................................................................... 56
蜂鸣器........................................................................................................................................... 56
PWM.............................................................................................................................................. 57
3.4 定时/计数器3....................................................................................................................................... 58
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
寄存器描述................................................................................................................................... 58
输出配置....................................................................................................................................... 61
蜂鸣器........................................................................................................................................... 62
PWM.............................................................................................................................................. 62
互补式PWM 输出........................................................................................................................ 63
3.5 定时/计数器4....................................................................................................................................... 65
3.5.1
3.5.2
3.5.3
3.5.4
寄存器描述................................................................................................................................... 65
输出配置....................................................................................................................................... 70
蜂鸣器........................................................................................................................................... 70
PWM.............................................................................................................................................. 71
3.6 串行通信接口....................................................................................................................................... 72
3.6.1
3.6.2
3.6.3
工作方式....................................................................................................................................... 72
寄存器说明................................................................................................................................... 74
波特率........................................................................................................................................... 76
3.7 模数转换器(ADC)........................................................................................................................... 77
3.7.1
3.7.2
3.7.3
3.7.4
3.7.5
寄存器描述................................................................................................................................... 77
转换时间....................................................................................................................................... 80
AD 失调电压校正......................................................................................................................... 82
数字比较器................................................................................................................................... 83
内部测量VDD 的电压................................................................................................................. 85
3.8 比较器................................................................................................................................................... 87
3.9
4*5 LCD ................................................................................................................................................ 88
数据查表........................................................................................................................................... 90
移动电源选项和输出电流配置....................................................................................................... 90
烧录模块........................................................................................................................................... 93
输入逻辑电平电压配置................................................................................................................... 94
代码选项........................................................................................................................................... 96
3.10
3.11
3.12
3.13
3.14
4
MCU 指令集................................................................................................................................................. 98
5 电气特性..................................................................................................................................................... 115
5.1 极限值................................................................................................................................................. 115
5.2 直流特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)............................................ 115
5.3
5.4
5.5
5.6
5.7
5.8
5.9
ADC 特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)........................................... 118
32MHZ IRC 时钟频率特性................................................................................................................. 119
16MHZ IRC 时钟频率特性................................................................................................................. 119
8MHZ IRC 时钟频率特性................................................................................................................... 120
4MHZ IRC 时钟频率特性................................................................................................................... 120
2MHZ IRC 时钟频率特性................................................................................................................... 120
32KHZ WDT 时钟频率特性............................................................................................................... 121
5.10 ERC 频率的电压和温度特性(R=68KΩ,C=0.1UF) ........................................................................... 121
5.11 2.0V 掉电复位温度特性..................................................................................................................... 122
5.12 2.4V 低电压复位温度特性................................................................................................................. 122
5.13 3.6V 低电压复位温度特性................................................................................................................. 123
5.14 1.4V 内部参考电压的电压和温度特性............................................................................................. 123
5.15 2.0V 内部参考电压的电压和温度特性............................................................................................. 124
5.16 3.0V 内部参考电压的电压和温度特性............................................................................................. 124
5.17 4.0V 内部参考电压的电压和温度特性............................................................................................. 124
REV1.5
第4 页,共130 页
CSU8RP3218
6 封装图......................................................................................................................................................... 126
6.1
6.2
SSOP-20PIN ......................................................................................................................................... 126
TSSOP-20PIN....................................................................................................................................... 127
7 单片机产品命名规则................................................................................................................................. 128
7.1 产品型号说明..................................................................................................................................... 128
7.2 命名举例说明..................................................................................................................................... 129
7.3 产品印字说明..................................................................................................................................... 129
REV1.5
第5 页,共130 页
CSU8RP3218
1 产品概述
1.1 功能描述
CSU8RP3218是一个带12-bit ADC的8位CMOS单芯片RISC MCU,内置2K×16位OTP程序存储器。
1.2 主要特性
高性能的RISC CPU
配置为IOH/IOL=31/35mA@5V
输入逻辑电平电压可配置
8位单片机MCU
内置2K×16位程序存储器OTP(支持1K16两
次烧录配置)
PT3.0 逻辑输入电平增加 0.7V 和 VDD-0.7V
两档,且滤波时间可选0us/5us/10us/15us
128字节数据存储器(SRAM)
只有42条单字指令
8级PC存储堆栈
8级PUSH和POP堆栈
振荡器
移动电源选项(PT1.3 下拉500K, PT3.1 下拉
1K,PT1.5、PT1.6 和PT1.7 限流,SFR 控制,
默认不开启;PT3.6 下拉 10K,SFR 配置,
默认开启);PT3.4 下拉10K,默认开启
4*5 LCD 驱动,1/4duty,1/2bias
专用微控制器的特性
内带32/16/8/4/2MHz振荡器,32MHz精度±
5%@3V,其他振荡器的精度为±1%@5V
外部32768Hz 晶振(RTC)或
2MHz~16MHz 晶振或ERC 6.8M@5V,68KΩ
外设特性
上电复位(POR)
上电复位和硬件复位延迟定时器(98ms)
内带低电压复位(LVR)
可编程预分频的8位定时器0
可编程预分频的12位定时/计数器2
可编程预分频的12位定时/计数器3
可编程预分频的12位定时/计数器4
扩展型看门狗定时器(32K WDT)
CMOS技术
17位双向I/O口,1位输入口
3路蜂鸣器输出,3路PWM输出
1路互补PWM
1 路 UART(可选择 PT1.1,PT1.2,PT3.3 或
PT3.4输出)
7个内部中断,2个外部中断
9个具有唤醒功能的输入口
9 路12-bitADC
电压工作范围
— 2.2V~5.5V@fcpu=1MHz(指令周期)
— 3.6V~5.5V@fcpu=4MHz(指令周期)
工作温度范围
— -40~85 ºC(工业级)
低功耗特性
— 内部 1.4V/2.0V/3.0V/4.0V、VDD、外部
输入6 种参考电压选择
— 带数字比较器
内部参考电压1.4V/2V/3V/4V,精度±1%
低电压检测(LVD)引脚,内部提供 2.4V、
3.6V电压比较,低电压复位滤波时间可配
一个模拟比较器
5 个开漏输出口 PT1.1、PT5.1、PT5.0、
PT3.5、PT3.6
MCU工作电流
— 正常模式0.85mA@4MHz,3V
— 正常模式8uA@32KHz,3V
— 休眠模式下的电流小于1μA
封装
SSOP20/TSSOP20
应用范围
PT1.4,PT3.5和PT3.6输出电流可独立配置
为IOH/IOL=54/57mA@5V
移动电源
PT1.4/PT1.5/PT1.6/PT1.7 输出电流可独立
REV1.5
第6 页,共130 页
CSU8RP3218
1.3 PIN 配置
VSS
1
2
3
4
5
6
7
VDD
20
19
PT1.1/INT1/XIN/RI/TI/SEG0
PT3.0/AIN0/VREF/INT0/T2
PT3.1/AIN1/C0P/INT1/T3
PT3.2/AIN2/C0N/VREF
PT3.3/AIN3/CO/RI/TI
PT1.2/INT1/XOUT/RI/TI/SEG1
PT1.3/INT1/RST/VPP
18
17
16
PT1.4/INT1/PWM2/BZ2/T4/COM0/PDA
15
14
PT3.4/AIN4/RI/TI
PT1.5/INT1/PWM3/BZ3/COM1/PCL
PT1.6/INT1/PWM4/BZ4/COM2
PT1.7/INT1/COM3
PT3.5/AIN5/PWM3/PWM3L
PT3.6/AIN6/PWM4/PWM3H
PT3.7/AIN7
8
13
12
11
PT5.2/SEG4
9
10
PT5.0/AIN8/PWM2/SEG2
PT5.1/SEG3
表1 引脚说明表
管脚名称
输入/ 管脚
输出 序号
描述
VSS
P
I/O
1
2
地
PT1.1 / INT1/XIN/RI/TI/SEG0
IO,具有开漏输出功能;外部中断1 输入,具有唤醒
功能;外置晶振输入;UART 接收口;UART 发送
口;SEG0 输出
PT1.2/INT1/XOUT/RI/TI/SEG1 I/O
I
3
4
5
IO;外部中断1 输入,具有唤醒功能;外置晶振输
出;UART 接收口;UART 发送口;SEG1 输出
I;外部中断1 输入,具有唤醒功能;复位输入;烧录
电压
PT1.3/INT1/
/VPP
RST
PT1.4/INT1/PWM2/BZ2 /T4
/COM0/ PDA
I/O
IO;外部中断1 输入,具有唤醒功能;PWM2 输出;
蜂鸣器2 输出;定时/计数器4 外部输入;COM0 输
出;烧录数据线;
PT1.5/INT1/PWM3/BZ3
/COM1/ PCL
I/O
I/O
6
7
IO;外部中断1 输入,具有唤醒功能;PWM3 输出;
蜂鸣器3 输出;COM1 输出;烧录时钟线;
IO;外部中断1 输入,具有唤醒功能;PWM4 输出;
蜂鸣器4 输出;COM2 输出;
PT1.6/INT1/PWM4/BZ4
/COM2
PT1.7/INT1 /COM3
PT5.2/SEG4
I/O
I/O
I/O
I/O
8
9
IO;外部中断1 输入,具有唤醒功能;COM3 输出
IO;SEG4 输出
PT5.1/SEG3
10
11
IO,具有开漏输出功能;SEG3 输出
IO,具有开漏输出功能;AD 输入8;PMW2 输出;
SEG2 输出
PT5.0/ AIN8/PWM2/SEG2
PT3.7/ AIN7
I/O
I/O
12
13
IO;ADC 输入7
PT3.6/ AIN6/PWM4/PWM3H
IO(默认开下拉) ,具有开漏输出功能;ADC 输入6;
PWM4 输出;PWM3H 输出
PT3.5/ AIN5/PWM3/PWM3L
PT3.4/ AIN4/RI/TI
I/O
I/O
14
15
IO,具有开漏输出功能;ADC 输入5 ;PWM3 输
出;PWM3L 输出
IO(默认开下拉);ADC 输入4;UART 接收口;
UART 发送口;
REV1.5
第7 页,共130 页
CSU8RP3218
PT3.3/ AIN3/CO/RI/TI
PT3.2/ AIN2/C0N/VREF
PT3.1/AIN1/C0P/ INT1/T3
I/O
I/O
I/O
I/O
16
17
18
19
IO;ADC 输入3 ;比较器输出;UART 接收口;
UART 发送口;
IO;ADC 输入2 ;比较器负端输入;ADC 参考电压
输入
IO;ADC 输入1;比较器正端输入;INT1 输入,具
有唤醒功能;定时/计数器3 外部输入
IO;ADC 输入0;ADC 参考电压输入/内部参考电压
输出;NT0 输入,具有唤醒功能;定时/计数器2 外
部输入
PT3.0/AIN0/VREF
/C0P/INT0/T2
VDD
P
20
电源
REV1.5
第8 页,共130 页
CSU8RP3218
2 标准功能
2.1 CPU 核
Program Bus
(11 bits)
OTP
Program
Counter
SRAM
Data memory
128 bytes
Program Memory
2K*16bits
Program Data
(16 bits)
Address
Mux
Stack Register
8 Level
Instruction
Register
Data
Mux
FSR
Instruction
Decoder
Work
Register
Control information
ALU
Status
Register
图1
CSU8RP3218 CPU 核的功能模块图
从CPU核的功能模块图中,可以看到它主要包含7个主要寄存器及2个存储器单元。
REV1.5
第9 页,共130 页
CSU8RP3218
表2 MCU架构说明
模块名称
描述
程序计数器
此寄存器在CPU 的工作周期间起到很重要的作用,它记录CPU 每个周期处理程
序存储器中指令的指针。在一个CPU 周期中,程序计数器将程序存储器地址
(11bits),指令指针推送到程序存储器,然后自动加1 以进行下一次周期。
堆栈寄存器是用来记录程序返回的指令指针。当程序调用函数,程序计数器会将
指令指针推送到堆栈寄存器。在函数执行结束之后,堆栈寄存器会将指令指针送
回到程序计数器以继续原来的程序处理。
栈寄存器
指令寄存器
程序计数器将指令指针(程序存储器地址)推送到程序存储器,程序存储器将程
序存储器的数据(16bits)及指令推送到指令寄存器。
CSU8RP3218 的指令是16bits,包括3 种信息:直接地址,立即数及控制信
息。
CPU 能将立即数推送到工作寄存器,或者进行某些处理后,根据控制信息,
将立即数存储到直接地址所指向的数据存储器寄存器中。
直接地址(8bits)
数据存储器的地址。CPU 能利用此地址来对数据存储器进行操作。
直接数据(8bits)
CPU 通过ALU 利用此数据对工作寄存器进行操作。
控制信息
它记录着ALU 的操作信息。
指令译码器
指令寄存器将控制信息推送到指令译码器以进行译码,然后译码器将译码后的信
息发送到相关的寄存器。
算术逻辑单元
算术逻辑单元不仅能完成8 位二进制的加,减,加1,减1 等算术计算,还能对8
位变量进行逻辑的与,或,异或,循环移位,求补,清零等逻辑运算。
工作寄存器是用来缓存数据存储器中某些存储地址的数据。
当CPU 利用ALU 处理寄存器数据时,如下的状态会随着如下顺序变化:PD,
TO,DC,C 及Z。
工作寄存器
状态寄存器
文件选择寄存器
程序存储器
在CSU8RP3218 的指令集中,FSR 是用于间接数据处理(即实现间接寻址)。用
户可以利用FSR 来存放数据存储器中的某个寄存器地址,然后通过IND 寄存器对
这个寄存器进行处理。
CSU8RP3218 内带2K×16 位的OTP 作为程序存储器。由于指令的操作码
(OPCODE)是16bits,用户最多只能编程2K 的指令。程序存储器的地址总线是
11bits,数据总线是16bits。
数据存储器
CSU8RP3218 内带128 bytes 的SRAM 作为数据存储器。此数据存储器的地址总
线是7bits,数据总线是8bits。
REV1.5
第10 页,共130 页
CSU8RP3218
2.1.1 存储器
(1)程序存储器
程序存储器主要用于指令的存储,在CSU8RP3218 中,该程序存储器是2K*16bit 的程序OTP,对
于程序员来说,该存储器只读,不可以写入。系统的reset 地址为000H,中断入口地址为004H,需要
注意的一点就是所有的中断共用同一个中断入口地址。
0x000
0x004
Reset Vector
Program Counter
Interrupt Vector
Stack Level1
Stack Level2
Stack Level3
Stack Level4
Stack Level5
Stack Level6
Stack Level7
Stack Level8
0x7FF
图2
程序存储器
REV1.5
第11 页,共130 页
CSU8RP3218
(2)数据存储器
数据存储器主要用于程序运行过程中,全局以及中间变量的存储。该存储器分为三个部分。地址
的00H 至07H 是系统特殊功能寄存器,例如间接地址,间接地址指针,状态寄存器,工作寄存器,中
断标志位,中断控制寄存器。地址的08H 至7FH 外设特殊功能寄存器,例如IO 端口,定时器,系统
特殊功能寄存器和外设特殊功能寄存器是用寄存器实现,而通用数据存储器是RAM 实现,可以读出也
可以写入。
表3 数据存储器地址分配
数据存储器
起始地址
00H
08H
结束地址
07H
7FH
系统特殊功能寄存器
外设特殊功能寄存器
通用数据存储器
80H
FFH
通过IND0 以及FSR0 这两个寄存器可以对数据存储器以及特殊功能寄存器进行间接访问。当从间
接地址寄存器(IND0)读入数据时,MCU 实际上是以FSR0 中的值作为地址去访问数据存储器得到
数据。当向间接寄存器(IND0)写入数据时,MCU 实际上是以FSR0 中的值作为地址去访问数据存
储器将值存入该地址。其访问方式见。
Data Memory
FSR0
00H
IND0
80H
80H
97H
97H
FFH
图3
间接地址访问
REV1.5
第12 页,共130 页
CSU8RP3218
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 = 可读位
-n = 上电复位后的值 ‘1’= 位已设置
W = 可写位
U = 无效位
‘0’= 位已清零
X = 不确定位
REV1.5
第13 页,共130 页
CSU8RP3218
REV1.5
第14 页,共130 页
CSU8RP3218
2.1.3 SFR
特殊功能寄存器(SFR)包含系统专用寄存器和辅助专用寄存器。
系统专用寄存器用于完成 CPU 核的功能,由间接地址,间接地址指针,状态寄存器,工作寄存器,
中断标志及中断控制寄存器。
辅助专用寄存器是为辅助功能而设计,比如I/O 口,定时器,信号的条件控制寄存器。
表4 寄存器列表
地
址
上电复位
值
名称
IND0
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
C
Bit0
Z
00h
02h
以FSR0 中内容作为地址的数据存储器中的数据
间接数据存储器的地址指针0
LVD24
xxxxxxxx
00000000
xxu00000
00000000
FSR0
04h STATUS LVD36
WORK
PD
TO
DC
05h
工作寄存器
TM0IF SRADIF
TM0IE SRADIE
06h INTF
07h INTE
0Ah EADRH
0Bh EADRL
0Ch EDATH
TM2IF
TM2IE
E1IF
E1IE
E0IF u0u00u00
E0IE 00u00u00
uuuuu000
GIE
EADR[10:8]
EADR[7:0]
EDATH[7:0]
00000000
00000000
0Dh WDTCON WDTEN
0Eh WDTIN
WTS[2:0]
T0SEL[1:0]
0uuuu000
11111111
0000u100
11111111
00000000
WDTIN[7:0]
0Fh TM0CON
10h TM0IN
11h TM0CNT
T0EN
T0RATE[2:0]
T0RSTB
TM0IN[7:0]
TM0CNT[7:0]
CST_W
DT
16h MCK
CST
CST_IN
EO_SLP
CLKSEL 1010uuu0
PWM2OUT
17h TM2CON
18h TM2IN
19h TM2CNT
1ah TM2R
1bh TM3CON
1ch TM3IN
1dh TM3CNT
1eh TM3R
20h PT1
21h PT1EN
22h PT1PU
23h PT1CON PT11OD
28h PT3
T2EN
T2RATE[2:0]
T2CKS T2RSTB T2OUT
TM2IN[7:0]
TM2CNT[7:0]
TM2R[7:0]
00000100
11111111
00000000
00000000
00000100
11111111
00000000
00000000
xxxxxxxu
0000000u
0000000u
00000000
xxxxxxxx
00000000
00000000
00000000
u00uuuuu
PWM3OUT
T3EN
T3RATE[2:0]
T3CKS T3RSTB T3OUT
TM3IN[7:0]
TM3CNT[7:0]
TM3R[7:0]
PT1[7:1]
PT1EN[7:1]
PT1PU[7:1]
PT1W[3:0]
E1M
E0M[1:0]
PT3[7:0]
PT3EN[7:0]
PT3PU[7:0]
29h PT3EN
2ah PT3PU
2bh PT3CON
2ch PT3OD
PT3CON[7:0]
PT36OD PT35OD
TM3CON2
DT3CK[1:0]
DT3CNT[2:0]
2dh
DT3_EN P3H_OEN P3L_OEN 00000000
PWM4PO PWM3PO PWM2PO 00uuu000
2eh TMCON P3HINV P3LINV
2fh TMCON2
30h PT5
31h PT5EN
32h PT5PU
T4SEL[1:0]
T3SEL[1:0]
T2SEL[1:0]
PT5[2:0]
uu000000
uuuuuxxx
uuuuu000
uuuuu000
PT5EN[2:0]
PT5PU[2:0]
33h PT5CON
38h PT1CON1
PT51OD PT50OD PT5CON0 uuuuu000
PT1W2[3:0] uuuu0000
REV1.5
第15 页,共130 页
CSU8RP3218
39h EX0CFG
3ch INTF2
3dh INTE2
3eh INTF3
3fh INTE3
40h TM4CON
41h TM4IN
42h TM4CNT
43h TM4R
44h TM2INH
PWMRL[1:0]
POLSEL
TM4IF TM3IF
TM4IE TM3IE
EX0FILT[1:0]
000uuu00
uu00uuuu
uu00uuuu
CMPIF
CMPIE
T4EN
URTIF
URTIE
URRIF 0uuuuu00
URRIE 0uuuuu00
PWM4OUT
T4RATE[2:0]
T4CKS T4RSTB T4OUT
00000100
11111111
00000000
00000000
uuuu1111
uuuu0000
uuuu0000
uuuu1111
uuuu0000
uuuu0000
uuuu1111
uuuu0000
uuuu0000
uu00uu00
00000000
0000uu00
00000000
uuuu0000
00000000
uuuu0000
10000000
0uuu0000
uuu00000
xuuu1000
00000000
TM4IN[7:0]
TM4CNT[7:0]
TM4R[7:0]
TM2IN[11:8]
TM2CNT[11:8]
TM2R[11:8]
TM3IN[11:8]
TM3CNT[11:8]
TM3R[11:8]
TM4IN[11:8]
TM4CNT[11:8]
TM4R[11:8]
TM2CNTH
45h
46h TM2RH
47h TM3INH
TM3CNTH
48h
49h TM3RH
4ah TM4INH
TM4CNTH
4bh
4ch TM4RH
SRADCON0
50h
51h
52h
SRADACKS[1:0]
SRADCKS[1:0]
VREFS[1:0]
REF_SEL[1:0]
SRADCON1
SRADCON2
SRADEN SRADS OFTEN CALIF
CHS[3:0]
ENOV
OFFEX
54h SRADL
55h SRADH
56h SROFTL
57h SROFTH
59h TRIM_EX
SRAD[7:0]
SRAD[11:8]
SROFT[7:0]
SROFT[11:8]
TRIM_EX[7:0]
LCDCOM VLCD_SEL
5bh
5ch
5eh
COM[3:0]
SEG[4:0]
LVD_TRIM[3:0]
LCDSEG
LVDCON
LVD36
5fh METCH
6ah CMPCON CMPEN
77h SCON1
78h SCON2
79h SBUF
7ah CURCON
7bh SYSCFG0
7ch SYSCFG1 PDP13
METCH[7:0]
CMP_OEN CMPOUT 0uuuuu0x
000000uu
PINCTL[2:0]
SM0
SM1
SM2
REN
TB8
RB8
UARTEN
SMOD
URCLK [1:0]
000u0000
00000000
0000u00u
00000000
00110000
SBUF[7:0]
P36CUR
P35CUR
P14CUR[1:0]
CURP17[1:0]
VTHSEL RST20_SEL
VTHP30[1:0]
P30REFEN LFILT_EN
CURP16[1:0]
LFILT_S[1:0]
CURP15[1:0]
PDP31
PDP34 PDP36
注:进行读操作时,无效位读出为0
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值 ‘1’= 位已设置
‘0’= 位已清零
X = 不确定位
REV1.5
第16 页,共130 页
CSU8RP3218
2.2 时钟系统
2.2.1 概述
芯片的时钟系统包括内置16/8/4/2MHz 的RC 振荡时钟(IHRC)、外置高速晶振、内置低速
32KHz 的WDT 时钟、外置低速的晶振时钟、外部RC 时钟、外部时钟源。除去WDT 时钟外,以上时
钟都可以做为系统时钟源Fosc。Fcpu 是CPU 时钟频率。
普通模式(高速时钟):Fcpu=Fosc/N,N=4、8、16、32
2.2.2 时钟框图
CLKSEL
ERC
代码选项
XTAL_PIN[1:0]
XTAL1
32768Hz
ECK
XIN
VSS
VSS
代码选项
CLKDIV[1:0]
XTAL2
2~16MHz
CPUCLK
MCK
MCK/4~MCK/32
XOUT
MUX
内置WDT
晶振
ICK
内置
晶振电路
图4
CSU8RP3218 振荡器状态框图A
CLKSEL
ERC
VDD
代码选项
XTAL_PIN[1:0]
XTAL1
32768Hz
ECK
XIN
VSS
代码选项
CLKDIV[1:0]
XTAL2
4~16MHz
MCK
CPUCLK
MCK/4~MCK/32
XOUT
MUX
内置WDT
晶振
内置
ICK
晶振电路
图5
CSU8RP3218 振荡器状态框图B
REV1.5
第17 页,共130 页
CSU8RP3218
REV1.5
第18 页,共130 页
CSU8RP3218
2.2.3 寄存器
表5 CSU8RP3218 时钟系统寄存器列表
地
上电复位
值
Bit7
Bits6
Bit5
Bits4
Bit3 Bits2
Bit1
Bit0
名称
址
CST_WDT
EO_SLP
16h
MCK
CST CST_IN
CLKSEL
1010uuu0
10000000
00000000
59h TRIM_EX
5fh
TRIM_EX[7:0]
METCH[3:2]
METCH
表6 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 模式下关闭外部晶振
时钟源选择位
0:内部晶振系统时钟
1:外部晶振系统时钟
对MCK 寄存器进行写操作时,建议使用bcf 或bsf 指令。
REV1.5
第19 页,共130 页
CSU8RP3218
表7 TRIM_EX 寄存器各位功能表
位地址
标识符
功能
ERC 频率微调控制寄存器
ERC 的频率主要由外接电阻大小决定,外接电容大小影响很小,外接
电阻对ERC 进行频率粗调,而TRIM_EX[7:0]寄存器对ERC 频率进行
微调。
7:0
TRIM_EX[7:0]
下图为实际芯片的TRIM_EX[7:0]寄存器对应的ERC 频率测试数据,不同芯片会略微有所差异,仅供
参考。其中ERC 电阻R=68K,电容C=0.1uF ,TRIM_EX 寄存器从0 步进到253,每步的频率调整范
围为+128.9KHz ~ -56 KHz。
ERC频率(MHz)
9.5
9
8.5
8
7.5
7
6.5
6
ERC频率(MHz)
5.5
5
图6
ERC 频率随TRIM_EX 寄存器的变化
表8 METCH 寄存器各位功能表
位地址
标识符
功能
ERC 时钟输出使能位
0:禁止ERC 时钟输出
1:使能ERC 时钟通过PT1.5 口输出
ERC 频率微调控制使能
3
METCH[3]
2
METCH[2]
1:使能寄存器TRIM_EX 的值来微调ERC 频率
0:禁止ERC 频率微调控制
REV1.5
第20 页,共130 页
CSU8RP3218
2.3 复位系统
CSU8RP3218 有以下方式复位:
1)上电复位
2)
3)
硬件复位(正常操作)
RST
RST
硬件复位(从Sleep 模式)
4)WDT 复位(正常操作)
5)WDT 复位(从Sleep 模式)
6)低电压复位(LVR)
上述任意一种复位发生时,所有系统寄存器恢复默认状态(WDT 复位TO、PD 标志位除外),程序停
止运行,同时程序计数器 PC 清零。复位结束后,系统从向量 000H 重新开始。各种复位情况下的 TO,
PD 标志位如下表所示。
表9 复位信号和状态寄存器关系
TO
0
PD
0
条件
上电复位
0
0
硬件复位(正常操作)
RST
RST
0
0
硬件复位(从Sleep 模式)
1
1
0
WDT 复位(正常操作)
WDT 复位(从Sleep 模式)
低电压复位
不变
不变
0
下图给出了复位电路原理图。
REV1.5
第21 页,共130 页
CSU8RP3218
POR
RST
DRT
LVR(1.6v)
LVR(2.0v)
Mux
RST20_SEL
To CPU
代码选项选择
LVR(2.4v)
LVR(3.6v)
WDT Reset
图7
复位电路原理图
REV1.5
第22 页,共130 页
CSU8RP3218
任何一种复位情况都需要一定的响应时间,系统提供完善的复位流程以保证复位动作的顺利进行。对
于不同类型的振荡器起振的时间不同,所以完成复位的时间也有所不同。RC 振荡器起振时间最短,外
置低速晶振起振时间最长。所以在有外部晶振电路应用的情况下,用户应在上电复位后,预留一定的
时间再从内部RC 时钟切换到外部晶振电路。用户在终端使用过程中,应注意考虑主机对上电复位的要
求。
VPOR
VLVR
VDD
Internal
reset
tWVS
图8 上电复位电路示例及上电过程
参数
VPOR
最小值
1.8V
典型值
2.0V
最大值
2.2V
VLVR
1.8V
2.0V
2.2V
tWVS
78.4ms
98ms
117.6ms
(测试条件:VDD=5V,T=25℃)
VPOR:上电复位
VLVR:低电压复位
tWVS: 等待电压稳定时间
2.3.1 上电复位
系统上电呈现逐渐上升的曲线形式,需要一定时间才能达到正常的工作电压(对于不同的指令周期所
需工作电压是不同的,指令周期越快相应所需的工作电压就越高,见5.2 直流特性)。要求用户系统的
上电速度要大于0.07V/mS,尤其是要注意指令周期是4MHz 时,因为他要求的工作电压最高。
2.3.2 看门狗复位
看门狗复位是一种系统的保护设置。在正常状态下,程序将看门狗定时器清零。如出错,系统处于未
知状态,此时利用看门狗复位。看门狗复位后,系统重新进入正常状态。
2.3.3 掉电复位
SYSCFG0 寄存器(地址为7bh)
REV1.5
第23 页,共130 页
CSU8RP3218
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-0
LFILT_E
N
Bit2
R/W-0
LFILT_S[1:0]
Bit1 Bit0
R/W-0
特性
SYSCFG0
RST20_SEL
Bit6
Bit7
位地址
标识符
RST20_SEL
功能
掉电电压选择(仅当LVD_SEL[1:0]为2’b00 或2’b01 时有效)
0:2.0V 掉电
6
1:1.6V 掉电
LVD 复位滤波使能位
2
LFILT_EN
0:禁止LVD 复位滤波
1:使能LVD 复位滤波
LVD 复位滤波时间选择(仅在LVD 复位滤波使能位打开,且
LVD_SEL[1:0]配置为2’b10 或2’b11 时有效)
LFILT_S[1:0]
LVD 复位滤波时间
LVD 复位滤波时间
(16MHz 内部高速晶振) (32768Hz 外部低速晶振)
00
01
10
11
12us
25us
50us
100us
750us
1.5ms
3ms
1:0
LFILT_S[1:0]
6ms
以上时间为使用内部高速16MHz 晶振时的值,使用其他频率的内部晶
振时,以此类推。
LVDCON 寄存器(地址为5Eh)
R/W-0
LVDCON LVD36
Bit7
R/W-0
R/W-0
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-0
R/W-0
R/W-0
Bit0
特性
LVDTRIM[3:0]
Bit1
Bit6
Bit2
位地址
标识符
功能
3.6V LVD工作电压标志,只有当代码选项LVD_SEL为2’b01和2’b10
有效
7
LVD36
1:系统工作电压低于3.6V,说明低电压检测器已处于监控状态
0:系统工作电压超过3.6V,低电压检测器没有工作
低电压检测3.6V TRIMMING 值,TRIMMING 值增大,LVD36 电压增
大,默认值4’b1000
3:0
LVDTRIM[3:0]
掉电复位针对外部引起的系统电压跌落情况,例如受到干扰或者负载变化。系统掉电可能会引起系统
工作状态不正常或者程序执行错误。
REV1.5
第24 页,共130 页
CSU8RP3218
图9
系统掉电复位示意图
电压跌落可能会进入系统死区。进入系统死区,即电源电压不能满足系统的最小工作电压要求。系统
掉电复位示意图如上图所示。芯片的掉电复位点在2.0V,芯片的低电压复位点可以通过代码选项设置
成2.7V 或者3.6V 或者不设置低电压复位点。
为避免进入系统死区,建议利用低电压复位(LVR)功能,尤其是指令周期是高速应用的情况。
不同指令周期的系统出错区域不同,取决于指令周期工作电压范围,见 5.2。如果指令周期是 4MHz 时,
建议使用3.6V 低电压复位。如果指令周期是2Mhz 时,建议使用2.7V 低电压复位。如果指令周期是
1MHz 或者500KHz 时,可以不打开低电压复位,此时只有2.0V 掉电复位。2.4V 和3.6V 低电压复位可
进行滤波,小于配置的滤波时间的低电压脉冲会被过滤掉。
掉电复位性能的改善可以通过如下几点实现:
1) 低电压复位(LVR)
2) 看门狗复位
3) 降低系统指令周期
4) 采用外部复位电路(稳压二极管复位电路;电压偏移复位电路;外部IC 复位)
2.3.4 外部硬件复位
外部复位由代码选项RESET_PIN 控制。通过设置该代码选项,可使能外部硬件复位功能。外部硬件复
位引脚为施密特触发结构,低电平有效。硬件复位引脚为高电平时,系统正常工作;硬件复位引脚为
低电平时,系统复位。
在芯片代码选项使能外部硬件复位功能后,需要注意的是:在系统上电完成后,外部复位需要输入高
电平,否则,系统会一直复位,直到外部硬件复位结束。
外部硬件复位可以在上电过程中使用系统复位。良好的外部复位电路可以保护系统避免进入系统死区。
REV1.5
第25 页,共130 页
CSU8RP3218
2.4 中断
CSU8RP3218 有10 个中断源,只有1 个中断入口地址004H。与中断相关的SFR:中断使能控制寄
存器INTE 和中断标志位寄存器INTF。这10 个中断源都各自有一个中断使能,和一个总使能位GIE,
并且它们的标志位硬件置位,软件清0。
当响应中断时,会把当前的PC 值入栈保护,并把PC 置为004H,同时把总使能位GIE 清0。执行
完中断服务程序,并用RETFIE 返回到之前的主程序,并把GIE 置1。
所有的中断都可以唤醒sleep 睡眠模式和halt 停止模式。
CMPIF
CMPIE
URRIF
URRIE
URTIF
URTIE
E0IF
E0IE
E1IF
Interrup to CPU
E1IE
ADIF
ADIE
TM0IF
TM0IE
TM2IF
TM2IE
TM3IF
TM3IE
TM4IF
TM4IE
GIE
图10 中断逻辑
REV1.5
第26 页,共130 页
CSU8RP3218
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:12-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
R/W-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:12-Bit 定时/计数器4 中断使能标志
1 = 使能定时/计数器4 中断
0 = 不使能定时/计数器4 中断
Bit 4 TM3IE:12-Bit 定时/计数器3 中断使能标志
1 = 使能定时/计数器3 中断
0 = 不使能定时/计数器3 中断
INTE3 寄存器(地址为3fh)
R/W-0
CMPIE
Bit7
R/W-0
R/W-0
Bit5
R/W-0
Bit4
U-0
R/W-0
Bit2
R/W-0
URTIE
Bit1
R/W-0
URRIE
Bit0
特性
INTE3
Bit6
Bit3
REV1.5
第27 页,共130 页
CSU8RP3218
Bit7
Bit1
Bit0
CMPIE:比较器中断使能
1:使能比较器中断
0:禁止比较器中断
URTIE:UART 的发送中断使能
1:使能UART 的发送中断
0:禁止UART 的发送中断
URRIE:UART 的接收的中断使能
1:使能UART 的接收中断
0:禁止UART 的接收中断
REV1.5
第28 页,共130 页
CSU8RP3218
2.4.2 中断标志寄存器
中断标志位都是硬件置 1,软件清0。某一个中断标志位在其对应的中断使能位没有置 1 的情况下,
也有可能硬件置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:12-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:12-Bit 定时/计数器4 中断标志,软件清零,硬件置高
1 = 发生定时中断,必须软件清0
0 = 没发生定时中断
Bit 4 TM3IF:12-Bit 定时/计数器3 中断标志,软件清零,硬件置高
1 = 发生定时中断,必须软件清0
0 = 没发生定时中断
INTF3 寄存器(地址为3eh)
R/W-0
CMPIF
Bit7
R/W-0
R/W-0
Bit5
R/W-0
Bit4
U-0
R/W-0
Bit2
R/W-0
URTIF
Bit1
R/W-0
URRIF
Bit0
特性
INTF3
Bit6
Bit3
Bit 7 CMPIF:比较器中断标志
1 = 发生比较器中断,必须软件清0
REV1.5
第29 页,共130 页
CSU8RP3218
0 = 没有发生比较器中断
Bit 1 URTIF:串口通信发送中断标志
1 = 发生串口发送中断,必须软件清0
0 = 没有发生串口发送中断
Bit 0 URRIF:串口通信接收中断标志
1 = 发生串口接收中断,必须软件清0
0 = 没有发生串口接收中断
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值 ‘1’= 位已设置
‘0’= 位已清零
X = 不确定位
REV1.5
第30 页,共130 页
CSU8RP3218
2.4.3 外部中断0
PT3.0 为外部中断0 的输入端。触发方式由PT1CON 寄存器中的E0M[1:0]寄存器决定。INTE 寄存
器中的E0IE 为外部中断0 的使能位,INTF 寄存器中的E0IF 为中断标志位,硬件置1,软件清0。可
唤醒sleep 或halt 模式。只要PT3.0 被触发,中断标志位E0IF 就会置1。
PT1CON 寄存器(地址为23h)
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
E1M
Bit2
R/W-0
R/W-0
特性
PT1CON
E0M[1:0]
Bit7
Bit6
Bit5
Bit4
Bit3
Bit1
Bit0
Bit 2 E1M:外部中断1 触发模式
1 = 外部中断1 为下降沿触发
0 = 外部中断1 在状态改变时触发
Bit 1-0 E0M[1:0]:外部中断0 触发模式
11 = 外部中断0 在状态改变时触发
10 = 外部中断0 在状态改变时触发
01 = 外部中断0 为上升沿触发
00 = 外部中断0 为下降沿触发
EX0CFG 寄存器(地址为39h)
R/W-0
R/W-0
R/W-0
POLSEL
Bit5
U-0
U-0
Bit3
U-0
R/W-0
EX0FILT[1:0]
Bit1 Bit0
R/W-0
特性
EX0CFG
PWMRL[1:0]
Bit7
Bit6
Bit4
Bit2
Bit 7-6 PWMRL[1:0]:外部中断0 触发模式
00 = 外部中断0 不受PWM2、PWM3、PWM4 影响
01 =外部中断0 受PWM2 影响,外部中断0 只有在PWM2 输出为特定极性时有效
10 =外部中断0 受PWM3 影响,外部中断0 只有在PWM3 输出为特定极性时有效
11 =外部中断0 受PWM4 影响,外部中断0 只有在PWM4 输出为特定极性时有效
Bit 5 POLSEL:外部中断0 触发极性选择,仅在PWMRL[1:0]不为00 时有效
0 = PWM 输出为高时外部中断0 才有效,PWM 输出为低时,外部中断0 被屏蔽
1 = PWM 输出为低时外部中断0 才有效,PWM 输出为高时,外部中断0 被屏蔽
Bit 1-0 EX0FILT[1:0]:外部中断0 滤波时间选择(只有PWMRL 没有配置为00 滤波才起作用)
00 = 滤波时间为0us
01 = 滤波时间为5us
10 = 滤波时间为10us
11 = 滤波时间为15us
2.4.4 外部中断1
REV1.5
第31 页,共130 页
CSU8RP3218
PT1.1、PT1.2、PT1.3、PT1.4、PT1.5、PT1.6、PT1.7 和PT3.1 都可作为外部中断1 的输入端。触
发方式由PT1CON 寄存器中的E1M 寄存器决定。INTE 寄存器中的E1IE 为外部中断1 的使能位,
INTF 寄存器中的E1IF 为中断标志位,硬件置1,软件清0。只要对应PT 口作为外部中断输入端,且
外部中断1 被触发,中断标志位E1IF 就会置1。
PT1CON 寄存器(地址为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
特性
PT1CON
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
PT1CON1 寄存器(地址为38h)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
Bit4
R/W-0
Bit3
R/W-0
R/W-0
R/W-0
Bit0
特性
PT1CON1
PT1W2[3:0]
Bit1
Bit7
Bit6
Bit2
Bit 3
Bit 2
Bit 1
Bit 0
PT1W2[3]:PT3.1 外部中断1 使能
0 = 禁止PT3.1 外部中断1
1 = 使能PT3.1 外部中断1
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
REV1.5
第32 页,共130 页
CSU8RP3218
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值 ‘1’= 位已设置
‘0’= 位已清零
X = 不确定位
REV1.5
第33 页,共130 页
CSU8RP3218
2.4.5 AD 中断溢出
INTE 寄存器中的SRADIE 为ADC 中断的使能位,INTF 寄存器中的SRADIF 为中断标志位,软件
清0。当ADC 转换完成时,SRADIF 就会硬件置1。
2.4.6 定时器0 溢出中断
INTE 寄存器中的TM0IE 为定时器0 中断的使能位,INTF 寄存器中的TM0IF 为中断标志位,软件
清0。当定时器0 溢出时,TM0IF 就会硬件置1。
2.4.7 定时/计数器2 溢出中断
INTE 寄存器中的 TM2IE 为定时/计数器 2 中断的使能位,INTF 寄存器中的 TM2IF 为中断标志位,
软件清0。当定时/计数器2 溢出时,TM2IF 就会硬件置1。
2.4.8 定时/计数器3 溢出中断
INTE2 寄存器中的TM3IE 为定时/计数器3 中断的使能位,INTF2 寄存器中的TM3IF 为中断标志
位,软件清0。当定时/计数器3 溢出时,TM3IF 就会硬件置1。
2.4.9 定时/计数器4 溢出中断
INTE2 寄存器中的TM4IE 为定时/计数器4 中断的使能位,INTF2 寄存器中的TM4IF 为中断标志
位,软件清0。当定时/计数器4 溢出时,TM4IF 就会硬件置1。
2.4.10 比较器中断
INTE3 寄存器中的CMPIE 为比较器中断的使能位,INTF3 寄存器中的CMPIF 为中断标志位,软
件清0。当比较器结果翻转时,CMPIF 就会硬件置1。
2.4.11 串口接收中断
INTE3 寄存器中的URRIE 为串口接收中断的使能位,INTF3 寄存器中的URRIF 为中断标志位,软
件清0。当串口完成一次接收事件时,URRIF 就会硬件置1。若关闭串口模块使能位,则不会产生中
断标志位。
2.4.12 串口发送中断
INTE3 寄存器中的URTIE 为串口发送中断的使能位,INTF3 寄存器中的URTIF 为中断标志位,软
件清0。当串口完成一次发送事件时,URTIF 就会硬件置1。若关闭串口模块使能位,则不会产生中
断标志位。
2.4.13 PUSH 和POP 处理
REV1.5
第34 页,共130 页
CSU8RP3218
CSU8RP3218 有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 intf2,tm3if ;判断定时/计数器3中断标志
goto tm3_int
„
REV1.5
第35 页,共130 页
CSU8RP3218
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
32768Hz WDTCLK
图11 定时器0 功能框图
定时器0 模块的输入为CPUCLK。在定时器0 模块集成了一个分频器,分频的时钟TM0CLK 作为
8 bits 计数器的输入时钟。当用户设置了定时器0 模块的使能标志,8 bits 计数器将启动,将会从000H
递增到TM0IN。用户需要设置TM0IN(定时器0 模块中断信号选择器)以选择定时超时中断信号。当
定时超时发生时,中断标志位会自设置,程序计数器会跳转到004H 以执行中断服务程序。
表10 定时器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
表11 TM0CON 寄存器各位功能表
位地址
标识符
功能
定时器0 使能位
1:使能定时器0
0:禁止定时器0
定时器0 时钟分频选择
7
T0EN
T0RATE [2:0]
TM0CLK
CKT0
000
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]
REV1.5
第36 页,共130 页
CSU8RP3218
定时器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 晶振,且晶振打开时有效
内部32768 WDT 时钟,
仅当内部WDT 晶振打开时有效
11
表12 TM0IN 寄存器各位功能表
位地址
标识符
功能
TM0IN[7:0]
7 :0
定时器0 溢出值(溢出值:1~255)
表13 TM0CNT 寄存器各位功能表
位地址
标识符
功能
TM0CNT[7:0]
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.
REV1.5
第37 页,共130 页
CSU8RP3218
2.6 I/O PORT
表14 I/O 口寄存器表
地
上电复位
值
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
名称
址
20h PT1
21h PT1EN
22h PT1PU
23h PT1CON PT11OD
28h PT3
29h PT3EN
PT1[7:1]
PT1EN[7:1]
PT1PU[7:1]
xxxxxxxu
0000000u
0000000u
00000000
uuuxxxxx
uuu00000
uuu00000
uuu00000
u00uuuuu
uuuuuxxx
uuuuu000
uuuuu000
PT1W[3:0]
E1M
E0M[1:0]
PT3[7:0]
PT3EN[7:0]
PT3PU[7:0]
PT3CON[7:0]
2ah PT3PU
2bh PT3CON
2ch PT3OD
30h PT5
31h PT5EN
32h PT5PU
PT36OD PT35OD
PT5[2:0]
PT5EN[2:0]
PT5PU[2:0]
33h PT5CON
38h PT1CON1
PT51OD PT50OD PT5CON0uuuuu000
PT1W2[3:0] uuuuu000
微控制器中的通用I/O 口(GPIO)用于通用的输入与输出功能。用户可以通过GPIO 接收数据信号
或将数据传送给其它的数字设备。CSU8RP3218 的部分GPIO 可以被定义为其它的特殊功能。在本节,
只说明GPIO 的通用I/O 口功能,特殊功能将会在接下来的章节中说明。
2.6.1 PT1 口
PT1 寄存器(地址为20h)
R/W-X
R/W-X
R/W-X R/W-X
PT1[7:1]
R/W-X
Bit3
R/W-X
Bit2
R/W-X
Bit1
U-0
Bit0
特性
PT1
Bit7
Bit6
Bit5
Bit4
Bit 7-1 PT1[7:1]: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 数据标志位
PT1EN 寄存器(地址为21h)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
PT1EN[7:1]
Bit4
R-0
R/W-0
Bit2
R/W-0
Bit1
U-0
Bit0
特性
PT1EN
Bit7
Bit6
Bit3
Bit 7-1 PT1EN[7:1]:GPIO1 口输入/输出控制标志
PT1EN[7] = GPIO1 bit 7 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[6] = GPIO1 bit 6 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
REV1.5
第38 页,共130 页
CSU8RP3218
PT1EN[5] = GPIO1 bit 5 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[4] = GPIO1 bit 4 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[3] = GPIO1 bit 3 的I/O 控制标志位;0 = 定义为输入口,只能为输入口,只读
PT1EN[2] = GPIO1 bit 2 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1EN[1] = GPIO1 bit 1 的I/O 控制标志位;0 = 定义为输入口,1 = 定义为输出口
PT1PU 寄存器(地址为22h)
R/W-0
R/W-0
R/W-0
Bit5
R/W-0
PT1PU[7:1]
Bit4
R/W-0
Bit3
R/W-0
Bit2
R/W-0
Bit1
U-0
Bit0
特性
PT1PU
Bit7
Bit6
Bit 7-1 PT1PU[7:1]: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 = 使用上拉电阻
PT1CON 寄存器(地址为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
特性
PT1CON
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 为下降沿触发
REV1.5
第39 页,共130 页
CSU8RP3218
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
R/W-0
Bit3
R/W-0
PT1W2[3:0]
Bit2 Bit1
R/W-0
R/W-0
Bit0
特性
PT1CON1
Bit7
Bit6
Bit5
Bit4
Bit 3
Bit 2
Bit 1
Bit 0
PT1W2[3]:PT3.1 外部中断1 使能
0 = 禁止PT3.1 外部中断1
1 = 使能PT3.1 外部中断1
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 = 不确定位
REV1.5
第40 页,共130 页
CSU8RP3218
2.6.2 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
Bit 7-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-0
R/W-0
R/W-0
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-0
R/W-0
R/W-0
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 = 使用上拉电阻
REV1.5
第41 页,共130 页
CSU8RP3218
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 = 使用上拉电阻
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值‘1’= 位已设置 ‘0’= 位已清零
X = 不确定位
REV1.5
第42 页,共130 页
CSU8RP3218
PT3CON 寄存器(地址为2bh)
R/W-0
R/W-0
R/W-0
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
Bit 7-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 = 定义为模拟口
PT3OD 寄存器(地址为2ch)
U-0
R/W-0
PT36OD PT35OD
R/W-0
U-0
U-0
U-0
U-0
U-0
特性
PT3OD
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Bit 6 PT36OD:GPIO3 bit 6 口开漏控制标志位
0 = 禁止开漏输出,1 = 使能开漏输出
Bit 5 PT35OD:GPIO3 bit 5 口开漏控制标志位
0 = 禁止开漏输出,1 = 使能开漏输出
2.6.3 PT5 口
PT5 寄存器(地址为30h)
U-0
U-0
U-0
U-0
U-0
R/W-X
Bit2
R/W-X
PT5[2:0]
Bit1
R/W-X
Bit0
特性
PT5
Bit7
Bit6
Bit5
Bit4
Bit3
Bit 2-0 PT5[2:0]:GPIO5 口数据标志位
PT5[2] = GPIO5 bit 2 的数据标志位
PT5[1] = GPIO5 bit 1 的数据标志位
PT5[0] = GPIO5 bit 0 的数据标志位
PT5EN 寄存器(地址为31h)
U-0
U-0
U-0
U-0
U-0
R/W-0
Bit2
R/W-0
PT5EN[2:0]
Bit1
R/W-0
Bit0
特性
PT5EN
Bit7
Bit6
Bit5
Bit4
Bit3
REV1.5
第43 页,共130 页
CSU8RP3218
Bit 2-0 PT5EN[2:0]:GPIO5 口输入/输出控制标志
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)
U-0
U-0
U-0
U-0
U-0
R/W-0
Bit2
R/W-0
PT5PU[2:0]
Bit1
R/W-0
Bit0
特性
PT5PU
Bit7
Bit6
Bit5
Bit4
Bit3
Bit 2-0 PT5PU[2:0]:GPIO5 口上拉电阻使能标志
PT5PU[2] = GPIO5 bit 2 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[1] = GPIO5 bit 1 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5PU[0] = GPIO5 bit 0 控制标志位;0 = 断开上拉电阻,1 = 使用上拉电阻
PT5CON 寄存器(地址为33h)
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
特性
PT5CON
PT51OD PT50OD PT5CON0
Bit2 Bit1 Bit0
Bit7
Bit6
Bit5
Bit4
Bit3
Bit 1-0 PT5CON[1:0]:GPIO5 口控制标志
PT51OD = GPIO5 bit 1 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT50OD = GPIO5 bit 0 控制标志位;0 = 禁止开漏输出,1 = 使能开漏输出
PT5CON0 = GPIO5 bit 0 控制标志位;0 = 定义为数字口,1 = 定义为模拟口
特性(Property):
R = 可读位
W = 可写位
U = 无效位
-n = 上电复位后的值‘1’= 位已设置 ‘0’= 位已清零
X = 不确定位
2.6.4 PT3.0 口输入控制
EX0CFG 寄存器(地址为39h)
R/W-0
R/W-0
R/W-0
POLSEL
Bit5
U-0
U-0
U-0
R/W-0
EX0FILT[1:0]
Bit1 Bit0
R/W-0
特性
EX0CFG
PWMRL[1:0]
Bit7
Bit6
Bit4
Bit3
Bit2
Bit 7-6 PWMRL[1:0]:外部中断0 触发模式
00 = 外部中断0 不受PWM2、PWM3、PWM4 影响
01 =外部中断0 受PWM2 影响,外部中断0 只有在PWM2 输出为特定极性时有效
10 =外部中断0 受PWM3 影响,外部中断0 只有在PWM3 输出为特定极性时有效
11 =外部中断0 受PWM4 影响,外部中断0 只有在PWM4 输出为特定极性时有效
REV1.5
第44 页,共130 页
CSU8RP3218
Bit 5 POLSEL:外部中断0 触发极性选择,仅在PWMRL[1:0]不为00 时有效
0 = PWM 输出为高时外部中断0 才有效,PWM 输出为低时,外部中断0 被屏蔽
1 = PWM 输出为低时外部中断0 才有效,PWM 输出为高时,外部中断0 被屏蔽
Bit 1-0 EX0FILT[1:0]:外部中断0 滤波时间选择(只有PWMRL 没有配置为00 滤波才起作用)
00 = 滤波时间为0us
01 = 滤波时间为5us
10 = 滤波时间为10us
11 = 滤波时间为15us
REV1.5
第45 页,共130 页
CSU8RP3218
3 增强功能
3.1 Halt 和Sleep 模式
CSU8RP3218 支持低功耗工作模式。为了使CSU8RP3218 处于待机状态,可以让CPU 停止工作使
CSU8RP3218 进行停止或睡眠模式,减低功耗。这两种模式描述如下:
停止模式
CPU 执行停止指令后,程序计数器停止计数直到出现中断指令。为了避免由中断返回(Interrupt
Return)引起的程序错误,建议在停止指令之后加一NOP 指令以保证程序返回时能正常运行。
停止模式下可以唤醒的方式有:
1) 外部中断0
2) 外部中断1
3) 定时器0 溢出中断
4) 定时器2 溢出中断
5) 定时器3 溢出中断
6) 定时器4 溢出中断
7) 比较强中断
8) SDAD 中断溢出
9) UART 发送中断
10) UART 接收中断
睡眠模式
CPU 执行睡眠指令后,外部高速晶振和内部高速振荡器停止工作直到出现一个外部中断指令复位
CPU。为了避免由中断返回(Interrupt Return)引起的程序错误,建议停止指令之后加一NOP 指令以
保证程序的正常运行。在睡眠模式下的功耗大约有1uA。
为了保证CPU 在睡眠模式下的功耗最小,在执行睡眠指令之前,需要把IO 口的上拉电阻断开,
并且保证所有的输入口是接到VDD 或VSS 电平。
睡眠模式下可以唤醒的方式有:
1) 外部中断0
2) 外部中断1
3) 定时器溢出中断
当使用定时器中断唤醒,如果定时器时钟源选择外部32KHz 时钟,需要打开外部晶振,将
EO_SLP 置为1,并将定时器的使能和中断使能标志打开。
如果定时器时钟源选择WDT 时钟,需要将WDT 时钟打开,并将定时器的使能和中断使能标志打
开。
REV1.5
第46 页,共130 页
CSU8RP3218
注:
芯片如果处于sleep 状态,这时候降低电压,配置2.4V 和3.6V 低电压复位不会起作用,低于2.0V
REV1.5
第47 页,共130 页
CSU8RP3218
Halt 示范程序:
„
movlw 01h
movwf pt1up ;断开pt1 除bit0(pt1[0])外的其他接口的上拉电阻
movlw feh
movwf pt1en ;pt1口除bit0(pt1[0])做输入口外,其他接口作为输出口(pt1.3除外)
clrf pt1
;将pt1[4:1]输出为低
;断开pt3上拉电阻
;pt3 口用作输入口
clrf pt3up
clrf pt3en
clrf pt3con ;pt3 口用作数字口
clrf pt3
;将pt3 输出为低
;断开pt5上拉电阻
;pt5 口用作输入口
;将pt5 输出为低
;清除中断标志位
clrf pt5up
clrf pt5en
clrf pt5
clrf intf
Sleep 示范程序:
„
movlw 01h
movwf pt1up ;断开pt1 除bit0(pt1[0])外的其他接口的上拉电阻
movlw feh
movwf pt1en ;pt1口除bit0(pt1[0])做输入口外,其他接口作为输出口(pt1.3除外)
clrf pt1
;将pt1[4:1]输出为低
;断开pt3上拉电阻
;pt3 口用作输入口
clrf pt3up
clrf pt3en
clrf pt3con ;pt3 口用作数字口
clrf pt3
;将pt3 输出为低
;断开pt5上拉电阻
;pt5 口用作输入口
;将pt5 输出为低
;清除中断标志位
clrf pt5up
clrf pt5en
clrf pt5
clrf intf
movlw 81h
REV1.5
第48 页,共130 页
CSU8RP3218
3.2 看门狗(WDT)
WDTIN
WDT_RST
Compare
WDTOEN
WDTEN
WDTOUT
Watch Dog
Timer
8Bits Counter
MUX
8Bits Counter
Ocsillator
WDTS
图12 看门狗定时器功能框图
看门狗定时器(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。
表15 看门狗定时器寄存器表
Bit7
Bit6
Bit5
Bit4
Bit3
TO
Bit2
Bit1
Bit0
地址 名称
上电复位
值
04H
STATUS
xxu00000
0uuuu000
11111111
WDTEN
0DH WDTCON
WDTS[2:0]
0Eh
WDTIN
WDT_IN[7:0]
操作:
1.设置WDTS[3:0],选择WDT 时钟频率。
2.设置WDTIN,选择不同的溢出时间值
2.置位寄存器标志位:WDTEN,使能WDT。
3.把CST_WDT 清0,打开WDT 的晶振。
REV1.5
第49 页,共130 页
CSU8RP3218
4.在程序中执行CLRWDT 指令复位WDT。
WDT 溢出时间计算公式:
2(8W DTS[2:0])
溢出时间
*(WDTIN[7 : 0] 1)
32k
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
REV1.5
第50 页,共130 页
CSU8RP3218
3.3 定时/计数器2
T2SEL[1:0]
CPUCLK
PWM2OUT,
T2OUT
MCK
TM2R[11:0]
IO电路
MCK/4~MCK/32
MCK
ECK
MUX
PT1.4
PT5.0
CLKDIV[1:0]
TM2IN[11:0]
PWM
TM2_CLK_R
Compare
MUX
T2CKS
MUX
T2EN
BZ
T2RATE[2:0]
CKT2~CKT2/128
12 Bits
Counter
DIV2
PWM2PO
超时溢出
两个MCK时钟采
样PT3.0
TM2CLK
PT3.0
图13 定时/计数器2 模块的功能框图
定时/计数器2 模块的输入是TM2CLK。当用户设置了定时/计数器2 模块的使能标志,12 bits 计数
器将启动,从00h 递增到TM2IN。用户需要设置TM2IN(定时器模块中断信号选择器)以选择定时超
时中断信号。当定时超时发生时,BZ 输出信号发生跳变。
主要功能:
1)12 位可编程定时器;
2)外部事件计数;
3)蜂鸣器输出;
4)PWM2 输出;
3.3.1 寄存器描述
表16 定时器寄存器列表
地
址
上电复位
值
Bit7
GIE
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
名称
06h INTF
07h INTE
17h TM2CON T2EN
18h TM2IN
19h TM2CNT
1ah TM2R
44h TM2INH
45hTM2CNTH
46h TM2RH
TM2IF
TM2IE
u0u00u00
00u00u00
00000100
11111111
00000000
00000000
uuuu1111
uuuu0000
uuuu0000
PWM2OUT
T2RATE[2:0]
T2CKS T2RSTB T2OUT
TM2IN[7:0]
TM2CNT[7:0]
TM2R[7:0]
TM2IN[11:8]
TM2CNT[11:8]
TM2R[11:8]
2eh TMCON
2fh TMCON2
PWM2PO00000000
T2SEL[1:0] uu000000
REV1.5
第51 页,共130 页
CSU8RP3218
REV1.5
第52 页,共130 页
CSU8RP3218
表17 TM2CON 寄存器各位功能表
位地址
标识符
功能
定时/计数器2 使能位
1:使能定时器2
7
T2EN
0:禁止定时器2
定时/计数器2 时钟分频选择选择
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]
CKT2 时钟源选择见TMCON2 寄存器的T2SEL 位
定时/计数器2 时钟源选择位
1:PT3.0 作为时钟
0:CKT2 的分频时钟(TM2CLK)
定时/计数器2 复位
1:禁止定时/计数器2 复位
0:使能定时/计数器2 复位
当将该位为0 时,定时器2 复位后,T2RSTB 会自动置1
PT1.4 口输出控制
3
2
1
T2CKS
T2RSTB
T2OUT
PWM2PO PWM2OUT T2OUT
PT1.4 输出控制,仅当PT1.4 配
置为输出有效
IO 输出
蜂鸣器输出
PWM2 输出
PWM2 输出
IO 输出
0
0
0
0
1
0
0
1
1
x
0
1
0
1
x
0
PWM2OUT
表18 TM2IN 寄存器各位功能表
位地址
标识符
功能
TM2IN[7:0]
7 :0
定时/计数器溢出值
表19 TM2CNT 寄存器各位功能表
位地址
标识符
功能
TM2CNT[7:0]
7 :0
定时/计数器2 计数寄存器,只读
表20 TM2R 寄存器各位功能表
位地址
标识符
功能
TM2R[7:0]
7 :0
定时/计数器2 的PWM 高电平占空比控制寄存器
REV1.5
第53 页,共130 页
CSU8RP3218
表21 TM2INH 寄存器各位功能表
位地址
标识符
功能
TM2INH[11:8]
3 :0
定时/计数器溢出值高4 位
表22 TM2CNTH 寄存器各位功能表
位地址
标识符
功能
TM2CNTH[11:8]
3 :0
定时/计数器2 计数寄存器高4 位,只读
表23 TM2RH 寄存器各位功能表
位地址
标识符
功能
TM2RH[11:8]
3 :0
定时/计数器2 的PWM 高电平占空比控制寄存器高4 位
表24 TMCON 寄存器各位功能表
位地址
标识符
功能
PWM2 输出脚选择
0:PT5.0 作为普通IO 口,PT1.4 则由PWM2OUT,T2OUT 决定
1:PT5.0 作为PWM2 输出口,PT1.4 口作为普通IO 口
PT5.0 输出控制
PWM2PO PWM2OUT T2OUT
PT5.0 输出控制,仅当PT5.0 配
置为输出有效
IO 输出
IO 输出
PWM2 输出
0
PWM2PO
1
1
1
1
0
0
0
1
1
x
0
1
0
1
x
PWM2 输出
IO 输出
表25 TMCON2 寄存器各位功能表
位地址
标识符
功能
CKT2 时钟源选择
T2SEL[1:0]
CKT2 时钟源
CPUCLK
MCK
00
01
1x
T2SEL[1:0]
1:0
ECK
(可为外部高速晶振时钟,外部低速晶振时钟或
ERC 时钟)
REV1.5
第54 页,共130 页
CSU8RP3218
REV1.5
第55 页,共130 页
CSU8RP3218
操作:
1) 设置TM2CLK,为定时器模块选择输入。
2) 设置TM2IN,选择定时器溢出值。
3) 设置寄存器标志位:TM2IE 与GIE,使能定时器中断。
4) 清零寄存器标志位:T2RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T2EN,使能定时器模块的12 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出;程序计数器会跳转到 004H。
定时器2 溢出时间计算方法:
定时器2 溢出时间=(TM2IN+1)/TM2CLK. (TM2IN 不为0)
3.3.2 输出配置
PT1.4 口功能配置描述:
条件
PT1.4 口功能
PT1EN[4]
0
PWM2OUT
X(1)
T2OUT
X
PWM2PO
X
PT1.4 做输入口
1
1
1
1
0
X
0
0
X
1
X
1
0
PT1.4 做普通IO 输出口
PT1.4 做普通IO 输出口
PT1.4 蜂鸣器2 输出口
PT1.4 做PWM2 输出口
1
X
0
PT5.0 口功能配置描述:
条件
PT5.0 口功能
PT5EN[0]
PWM2OUT
T2OUT
PWM2PO
0
1
1
1
1
X(1)
0
X
0
X
1
X
X
X
0
1
1
PT5.0 做输入口
PT5.0 做普通IO 输出口
PT5.0 做普通IO 输出口
PT5.0 蜂鸣器2 输出口
PT5.0 做PWM2 输出口
X
0
1
注1:X 表示逻辑电平0 或1 两种情况
3.3.3 蜂鸣器
操作:
1) 把PT1.4 配置为输出口。
2) 设置TM2CLK,为定时器模块选择输入。
3) 设置TM2IN,选择定时器溢出值。
4) 清零寄存器标志位:T2RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T2EN,使能定时器模块的12 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出。
蜂鸣器周期计算方法:
蜂鸣器周期=(TM2IN+1)*2/TM2CLK. (TM2IN 不为0)
REV1.5
第56 页,共130 页
CSU8RP3218
3.3.4 PWM
操作:
1) 把PT1.4 配置为输出口。
2) 设置TM2CLK,为定时/计数器2 模块选择输入。
3) 设置TM2IN 来配置PWM2 的周期。
4) 设置TM2R 来配置PWM2 的高电平的的脉宽。
5) 使能PWM2OUT 输出,配置PT1.4 为输出端口,之后把T2EN 置1 启动定时器。
6) PWM 从PT1.4 输出。
周期为TM2IN+1,高电平脉宽为TM2R。如TM2IN=0x0F,TM2R=0x03 的PWM2 波形输出如下:
...
...
0
1
2
3
15
0
1
2
3
1
15
0
TM2CLK
T2EN
PWM2OUT
REV1.5
第57 页,共130 页
CSU8RP3218
3.4 定时/计数器3
T3SEL[1:0]
CPUCLK
PWM3OUT,
T3OUT
MCK
TM3R[11:0]
IO电路
MCK/4~MCK/32
MCK
ECK
MUX
PT1.5
PT3.5
CLKDIV[1:0]
TM3IN[11:0]
PWM
TM3_CLK_R
Compare
MUX
T3CKS
MUX
T3EN
BZ
T3RATE[2:0]
CKT3~CKT3/128
12 Bits
Counter
DIV2
PWM3PO
超时溢出
两个MCK时钟采
样PT3.1
TM3CLK
PT3.1
图14 定时/计数器3 模块的功能框图
定时/计数器3 模块的输入是TM3CLK。当用户设置了定时/计数器3 模块的使能标志,12bits 计数
器将启动,从00h 递增到TM3IN。用户需要设置TM3IN(定时器模块中断信号选择器)以选择定时超
时中断信号。当定时超时发生时,BZ 输出信号发生跳变。
主要功能:
1)12 位可编程定时器;
2)外部事件计数;
3)蜂鸣器输出;
4)PWM 输出;
3.4.1 寄存器描述
表26 定时器寄存器列表
地
址
上电复位
值
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
名称
3ch INTF2
3dh INTE2
1bhTM3CON T3EN
1ch TM3IN
1dhTM3CNT
1eh TM3R
47h TM3INH
48hTM3CNTH
49h TM3RH
TM3IF
TM3IE
uuu0uuuu
uuu0uuuu
00000100
11111111
00000000
00000000
uuuu1111
uuuu0000
uuuu0000
00000000
00000000
uu000000
PWM3OUT
T3RATE[2:0]
T3CKS T3RSTB T3OUT
TM3IN[7:0]
TM3CNT[7:0]
TM3R[7:0]
TM3IN[11:8]
TM3CNT[11:8]
TM3R[11:8]
PWM3PO
2ehTMCON P3HINV P3LINV
TM3CON2
2dh
2fh TMCON2
DT3CK[1:0]
DT3CNT[2:0]
P3H_OEN P3L_OEN
DT3_EN
T3SEL[1:0]
REV1.5
第58 页,共130 页
CSU8RP3218
表27 TM3CON 寄存器各位功能表
位地址
标识符
功能
定时/计数器3 使能位
1:使能定时器3
7
T3EN
0:禁止定时器3
定时/计数器3 时钟分频选择选择
T3RATE [2:0]
TM3CLK
CKT3
000
001
010
011
100
101
110
111
CKT3/2
CKT3/4
CKT3/8
CKT3/16
CKT3/32
CKT3/64
CKT3/128
6:4
T3RATE[2:0]
CKT3 时钟源选择见TMCON2 寄存器的T3SEL 位
定时/计数器3 时钟源选择位
1:PT3.1 作为时钟
0:CKT3 的分频时钟(TM3CLK)
定时/计数器3 复位
1:禁止定时/计数器3 复位
0:使能定时/计数器3 复位
当将该位为0 时,定时器3 复位后,T3RSBT 会自动置1
PT1.5 口输出控制
3
2
1
T3CKS
T3RSTB
T3OUT
PWM3PO PWM3OUT T3OUT
PT1.5 输出控制,仅当PT1.5 配
置为输出有效,同时未使能互补
PWM 输出
0
0
0
0
1
0
0
1
1
x
0
1
0
1
x
IO 输出
蜂鸣器输出
0
PWM3OUT
PWM3 输出
PWM3 输出
IO 输出
表28 TM3IN 寄存器各位功能表
位地址
标识符
功能
TM3IN[7:0]
7 :0
定时/计数器溢出值
表29 TM3CNT 寄存器各位功能表
位地址
标识符
功能
TM3CNT[7:0]
7 :0
定时/计数器3 计数寄存器,只读
表30 TM3R 寄存器各位功能表
REV1.5
第59 页,共130 页
CSU8RP3218
位地址
标识符
功能
TM3R[7:0]
7 :0
定时/计数器3 的PWM 高电平占空比控制寄存器
表31 TM3INH 寄存器各位功能表
位地址
标识符
功能
TM3INH[11:8]
3 :0
定时/计数器溢出值高4 位
表32 TM3CNTH 寄存器各位功能表
位地址
标识符
功能
TM3CNTH[11:8]
3 :0
定时/计数器3 计数寄存器高4 位,只读
表33 TM3RH 寄存器各位功能表
位地址
标识符
功能
TM3RH[11:8]
3 :0
定时/计数器3 的PWM 高电平占空比控制寄存器高4 位
表34 TM3CON2 寄存器各位功能表
位地址
标识符
功能
定时器3 死区时间时钟选择
DT3CK[1:0] DT3_CLK
00
01
10
11
MCK
7:6
DT3CK[1:0]
MCK/2
MCK/4
MCK/8
死区时间选择
死区时间=DT3CNT[2:0]*DT3_CLK
死区发生器3 使能位
0:不使能死区发生器3
1:使能死区发生器3
5:3
2
DT3CNT[2:0]
DT3_EN
互补PWM3H 输出使能
0:PWM3H 不输出
1:PWM3H 从PT3.6 输出
互补PWM3L 输出使能
0:PWM3L 不输出
1
0
P3H_OEN
P3L_OEN
1:PWM3L 从PT3.5 输出
表35 TMCON 寄存器各位功能表
位地址
标识符
功能
7
P3HINV
互补PWM3H 取反控制位
REV1.5
第60 页,共130 页
CSU8RP3218
0:PWM3H 不取反
1:PWM3H 取反输出
互补PWM3L 取反控制位
0:PWM3L 不取反
1:PWM3L 取反输出
PWM3 输出脚选择
6
1
P3LINV
0:PT1.5 做为PWM3 输出口,PT1.5 则由PWM3OUT,T3OUT 决定
1:PT3.5 做为PWM3 输出口
PT3.5 输出控制
PWM3PO PWM3OUT T3OUT
PT3.5 输出控制,仅当PT3.5 配
置为输出有效
IO 输出
IO 输出
PWM3 输出
PWM3PO
1
1
1
1
0
0
0
1
1
x
0
1
0
1
x
PWM3 输出
IO 输出
表36 TMCON2 寄存器各位功能表
位地址
标识符
功能
CKT3 时钟源选择
T3SEL[1:0]
CKT3 时钟源
CPUCLK
MCK
00
01
1x
T3SEL[1:0]
3:2
ECK
(可为外部高速晶振时钟,外部低速晶振时钟或
ERC 时钟)
操作:
1) 设置TM3CLK,为定时器模块选择输入。
2) 设置TM3IN,选择定时器溢出值。
3) 设置寄存器标志位:TM3IE 与GIE,使能定时器中断。
4) 清零寄存器标志位:T3RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T3EN,使能定时器模块的12 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出;程序计数器会跳转到 004H。
定时器3 溢出时间计算方法:
定时器3 溢出时间=(TM3IN+1)/TM3CLK. (TM3IN 不为0)
3.4.2 输出配置
REV1.5
第61 页,共130 页
CSU8RP3218
PT1.5 口功能配置描述:
条件
PWM3OUT
PT1.5 口功能
PT1EN[5]
P3L_OEN
T3OUT
PWM3PO
0
1
1
1
1
X
X
X
X
X
X
0
X
0
1
X
0
X
1
X
X
X
1
0
0
PT1.5 做输入口
PT1.5 做普通IO 输出口
PT1.5 做普通IO 输出口
PT1.5 蜂鸣器3 输出口
PT1.5 做PWM3 输出口
PT3.5 口功能配置描述:
条件
PWM3OUT
X
PT3.5 口功能
PT3EN[5]
0
P3L_OEN
X
T3OUT
X
PWM3PO
X
PT3.5 做输入口
1
1
0
0
X
PT3.5 做互补PWM 的PWM3L
输出
1
1
1
1
0
0
0
0
0
X
0
0
X
1
X
0
1
PT3.5 做普通IO 输出口
PT3.5 做普通IO 输出口
PT3.5 蜂鸣器3 输出口
PT3.5 做PWM3 输出口
1
X
1
注1:X 表示逻辑电平0 或1 两种情况
3.4.3 蜂鸣器
操作:
1) 把PT1.5 配置为输出口。
2) 设置TM3CLK,为定时器模块选择输入。
3) 设置TM3IN,选择定时器溢出值。
4) 清零寄存器标志位:T3RSTB,复位定时器模块的计数器。
5) 设置寄存器标志位:T3EN,使能定时器模块的12 bits 计数器。
6) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出
蜂鸣器周期计算方法:
蜂鸣器周期=(TM3IN+1)*2/TM3CLK. (TM3IN 不为0)
3.4.4 PWM
操作:
1) 把PT1.5 配置为输出口。
2) 设置TM3CLK,为定时/计数器3 模块选择输入。
3) 设置TM3IN 来配置PWM3 的周期。
4) 设置TM3R 来配置PWM3 的高电平的的脉宽。
5) 使能PWM3OUT 输出,配置PT1.5 为输出端口,之后把T3EN 置1 启动定时器。
6) PWM3 从PT1.5 输出。
REV1.5
第62 页,共130 页
CSU8RP3218
周期为TM3IN+1,高电平脉宽为TM3R。如TM3IN=0x0F,TM3R=0x03 的PWM3 波形输出如下:
...
...
0
1
2
3
15
0
1
2
3
1
15
0
TM3CLK
T3EN
PWM3OUT
3.4.5 互补式PWM 输出
CSU8RP3218 提供源于定时器3 的一对互补式输出,可用作PWM 驱动信号。对于PMOS 管上侧
驱动,PWM 输出为低电平有效,而对于NMOS 管下侧驱动,PWM 输出为高电平有效。当这对互补式
输出同时用于驱动PMOS 和NMOS 时,死区时间发生器插入一死区时间以防止直流电流过大,该死区
时间可通过TM3CON2 寄存器的DT3CK[1:0]和DT3CNT[2:0]位来定义。在每个死区时间发生器输入信
号的上升沿时插入一个死区时间。通过死区插入电路,输出信号最终发送至外部功率晶体管。
A
B
C
D
PWM3H
PWM3OUT
MCK
驱动上侧PMOS管,
低电平有效
死区时间
发生器
E
PWM3L
驱动下侧NMOS管,
高电平有效
分频DT_CLK
DT3CK[1:0]
DT3CNT[2:0] DT3_EN
图15 互补式PWM 输出方框图
互补式PWM 输出波形
REV1.5
第63 页,共130 页
CSU8RP3218
PWM3OUT
A
B
C
D
死区时间
死区时间
死区时间
死区时间
死区时间
E
PWM 输出取反后的互补PWM 输出
PWM3OUT
A
B
C
死区时间
死区时间
死区时间
死区时间
D
E
死区时间
死区时间
REV1.5
第64 页,共130 页
CSU8RP3218
3.5 定时/计数器4
T4SEL[1:0]
CPUCLK
PWM4OUT,
IO电路 T4OUT
MCK
TM4R[11:0]
MCK/4~MCK/32
MCK
ECK
MUX
PT1.6
CLKDIV[1:0]
TM4IN[11:0]
PWM
MUX
TM4_CLK_R
Compare
T4CKS
MUX
T4EN
PT3.6
BZ
T4RATE[3:0]
CKT4~CKT4/128
12 Bits
Counter
DIV2
PWM4PO
超时溢出
两个MCK时钟采
样PT1.4
TM4CLK
PT1.4
图16 定时/计数器2 模块的功能框图
定时/计数器4 模块的输入是TM4CLK。当用户设置了定时/计数器4 模块的使能标志,12 bits 计数
器将启动,从00h 递增到TM4IN。用户需要设置TM4IN(定时器模块中断信号选择器)以选择定时超
时中断信号。当定时超时发生时,BZ 输出信号发生跳变。
主要功能:
1)12 位可编程定时器;
2)外部事件计数;
3)蜂鸣器输出;
4)PWM4 输出;
3.5.1 寄存器描述
表37 定时器寄存器列表
地
址
上电复位
值
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
名称
3ch INTF2
3dh INTE2
40h TM4CON T4EN
41h TM4IN
42h TM4CNT
43h TM4R
4ah TM4INH
4bhTM4CNTH
4ch TM4RH
TM4IF
TM4IE
T4RATE[2:0]
uu00uuuu
uu00uuuu
00000100
11111111
00000000
00000000
uuuu1111
uuuu0000
uuuu0000
00000000
uu000000
PWM4OUT
T4CKS T4RSTB T4OUT
TM4IN[7:0]
TM4CNT[7:0]
TM4R[7:0]
TM4IN[11:8]
TM4CNT[11:8]
TM4R[11:8]
2eh TMCON
2fh TMCON2
PWM4PO
T4SEL[1:0]
REV1.5
第65 页,共130 页
CSU8RP3218
REV1.5
第66 页,共130 页
CSU8RP3218
表38 TM4CON 寄存器各位功能表
位地址
标识符
功能
定时/计数器4 使能位
1:使能定时器4
7
T4EN
0:禁止定时器4
定时/计数器4 时钟分频选择选择
T4RATE [2:0]
TM4CLK
CKT4
000
001
010
011
100
101
110
111
CKT4/2
CKT4/4
CKT4/8
CKT4/16
CKT4/32
CKT4/64
CKT4/128
6:4
T4RATE[2:0]
CKT4 时钟源选择见TMCON2 寄存器的T4SEL 位
定时/计数器4 时钟源选择位
1:PT1.4 作为时钟
0:CKT4 的分频时钟(TM4CLK)
定时/计数器4 复位
1:禁止定时/计数器4 复位
0:使能定时/计数器4 复位
当将该位为0 时,定时器4 复位后,T4RSTB 会自动置1
PT1.6 口输出控制
3
2
1
T4CKS
T4RSTB
T4OUT
PWM4PO PWM4OUT T4OUT
PT1.6 输出控制,仅当PT1.6 配
置为输出有效,同时未使能互补
PWM 输出
0
0
0
0
1
0
0
1
1
x
0
1
0
1
x
IO 输出
蜂鸣器输出
0
PWM4OUT
PWM4 输出
PWM4 输出
IO 输出
表39 TM4IN 寄存器各位功能表
位地址
标识符
功能
TM4IN[7:0]
7 :0
定时/计数器溢出值
表40 TM4CNT 寄存器各位功能表
位地址
标识符
功能
TM4CNT[7:0]
7 :0
定时/计数器4 计数寄存器,只读
表41 TM4R 寄存器各位功能表
位地址
标识符
功能
REV1.5
第67 页,共130 页
CSU8RP3218
7 :0
TM4R[7:0]
定时/计数器4 的PWM 高电平占空比控制寄存器
表42 TM4INH 寄存器各位功能表
位地址
标识符
功能
TM4INH[11:8]
3 :0
定时/计数器溢出值高4 位
表43 TM4CNTH 寄存器各位功能表
位地址
标识符
功能
TM4CNTH[11:8]
3 :0
定时/计数器4 计数寄存器高4 位,只读
表44 TM4RH 寄存器各位功能表
位地址
标识符
功能
TM4RH[11:8]
3 :0
定时/计数器4 的PWM 高电平占空比控制寄存器高4 位
表45 TMCON 寄存器各位功能表
位地址
标识符
功能
PWM4 输出脚选择
0:PT1.6 作为PWM4 输出口,PT1.6 则由PWM4OUT,T4OUT 决定
1:PT3.6 作为PWM4 输出口,PT1.6 作为普通IO 口
PT3.6 输出控制
PWM4PO PWM4OUT T4OUT
PT3.6 输出控制,仅当PT3.6 配
置为输出有效
IO 输出
IO 输出
PWM4 输出
2
PWM4PO
1
1
1
1
0
0
0
1
1
x
0
1
0
1
x
PWM4 输出
IO 输出
表46 TMCON2 寄存器各位功能表
位地址
标识符
功能
CKT4 时钟源选择
T4SEL[1:0]
CKT4 时钟源
CPUCLK
MCK
00
01
1x
T4SEL[1:0]
5:4
ECK
(可为外部高速晶振时钟,外部低速晶振时钟或
ERC 时钟)
REV1.5
第68 页,共130 页
CSU8RP3218
REV1.5
第69 页,共130 页
CSU8RP3218
操作:
7) 设置TM4CLK,为定时器模块选择输入。
8) 设置TM4IN,选择定时器溢出值。
9) 设置寄存器标志位:TM4IE 与GIE,使能定时器中断。
10) 清零寄存器标志位:T4RSTB,复位定时器模块的计数器。
11) 设置寄存器标志位:T4EN,使能定时器模块的12 bits 计数器。
12) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出;程序计数器会跳转到 004H。
定时器4 溢出时间计算方法:
定时器4 溢出时间=(TM4IN+1)/TM4CLK. (TM4IN 不为0)
3.5.2 输出配置
PT1.6 口功能配置描述:
条件
PWM4OUT
X
PT1.6 口功能
PT1EN[6]
0
P3H_OEN
X
T4OUT
X
PWM4PO
X
PT1.6 做输入口
1
1
1
1
X
X
X
X
0
X
0
0
X
1
X
1
0
PT1.6 做普通IO 输出口
PT1.6 做普通IO 输出口
PT1.6 蜂鸣器4 输出口
PT1.6 做PWM4 输出口
1
X
0
PT3.6 口功能配置描述:
条件
PWM4OUT
PT3.6 口功能
PT3EN[6]
P3H_OEN
T4OUT
PWM4PO
0
X
X
X
X
PT3.6 做输入口
1
1
0
0
X
PT3.6 做互补PWM 的PWM3H
输出
1
1
1
1
0
0
0
0
0
X
0
0
X
1
X
0
1
PT3.6 做普通IO 输出口
PT3.6 做普通IO 输出口
PT3.6 蜂鸣器4 输出口
PT3.6 做PWM4 输出口
1
X
1
注1:X 表示逻辑电平0 或1 两种情况
3.5.3 蜂鸣器
操作:
7) 把PT1.6 配置为输出口。
8) 设置TM4CLK,为定时器模块选择输入。
9) 设置TM4IN,选择定时器溢出值。
10) 清零寄存器标志位:T4RSTB,复位定时器模块的计数器。
11) 设置寄存器标志位:T4EN,使能定时器模块的12 bits 计数器。
12) 当定时超时发生时,BZ 输出信号发生跳变,可作为蜂鸣器输出。
REV1.5
第70 页,共130 页
CSU8RP3218
蜂鸣器周期计算方法:
蜂鸣器周期=(TM4IN+1)*2/TM4CLK. (TM4IN 不为0)
3.5.4 PWM
操作:
7) 把PT1.6 配置为输出口。
8) 设置TM4CLK,为定时/计数器4 模块选择输入。
9) 设置TM4IN 来配置PWM4 的周期。
10) 设置TM4R 来配置PWM4 的高电平的的脉宽。
11) 使能PWM4OUT 输出,配置PT1.6 为输出端口,之后把T4EN 置1 启动定时器。
12) PWM 从PT1.6 输出。
周期为TM4IN+1,高电平脉宽为TM4R。如TM4IN=0x0F,TM4R=0x03 的PWM4 波形输出如下:
...
...
0
1
2
3
15
0
1
2
3
1
15
0
TM4CLK
T4EN
PWM4OUT
REV1.5
第71 页,共130 页
CSU8RP3218
3.6 串行通信接口
CSU8RP3218 主要提供一个可编程全双工串行通信接口。该接口能同时进行数据的发送和接受,
也可以作为一个同步移位寄存器使用。工作模式同通用8051
3.6.1 工作方式
主要提供四种工作模式:
表47 串口通信工作模式
SM0
0
SM1
0
模式
类型
同步
波特率
帧长度
起始位
无
停止位
无
第9 位
无
0
fcpuclk/6
8bits
SMOD
波特率
0
1
0
1
1
1
0
1
1
2
3
10bits
11bits
11bits
1
1
1
1
1
1
异步
异步
异步
定时器0/2/3/4 的溢出率/32
定时器0/2/3/4 的溢出率/16
无
0,1
0,1
SMOD
波特率
0
1
fcpuclk/32
fcpuclk/16
波特率
SMOD
0
1
定时器0/2/3/4 的溢出率/ 32
定时器0/2/3/4 的溢出率/16
模式0:
Ttx0_a
写入SBUF
Ttx0_b
移位时钟
RXD
TXD
TI
D0
D1
D2
D3
D4
D5
D6
D7
图17
UART 模式0 发送数据波形
REV1.5
第72 页,共130 页
CSU8RP3218
Trx0_a
写入SCON
Trx0_c
移位时钟
RXD
TXD
RI
D0
D1
D2
D3
D4
D5
D6
D7
Trx0_b
图18
UART 模式0 接收数据波形
模式1:
Ttx1_a
写入SBUF
移位时钟
TXD
TI
D0
D1
D2
D3
D4
D5
D6
D7
停止位
开始位
Ttx1_b
图19
UART 模式1 发送数据波形
移位时钟
RXD
RI
D0
D1
D2
D3
D4
D5
D6
D7
停止位
开始位
Trx1_a
图20
UART 模式1 接收数据波形
方式2:
REV1.5
第73 页,共130 页
CSU8RP3218
Ttx2_a
写入SBUF
移位时钟
TXD
TI
开始位
D0
D1
D2
D3
D4
D5
D6
D7
TB8
停止位
Ttx2_b
图21
UART 模式2 发送数据波形
移位时钟
RXD
RI
开始位
D0
D1
D2
D3
D4
D5
D6
D7
RB8
停止位
Trx2_a
图22
UART 模式2 接收数据波形
方式3:
模式3 的操作、数据结构同模式2,它们的不同在于波特率的生成。模式3 的数据传输时序同模式
2 相同,只是移位时钟的时钟源不同。进入模式3 状态,需将SCON1 寄存器的SM0 标志位置1,同时
将SM1 标志位置1。
3.6.2 寄存器说明
地址
名称
Bit7
Bits6
SM1
Bit5
Bits4
REN
Bit3
Bits2
RB8
Bit1
Bit0
上电复位值
3Eh
3Fh
77h
78h
79h
INTF3
INTE3
SCON1
SCON2 SMOD
SBUF
URTIF URRIF 00000000
URTIE URRIE
000000uu
SM0
SM2
TB8
UARTEN
URCLK [1:0]
PINCTL[2:0]
000u0000
00000000
SBUF[7:0]
SCON1 寄存器各位功能表
位地址
标识符
SM0、SM1
SM2
功能
串口通信工作方式选择寄存器
参见表40
保留
7:6
5
接收控制选择
1:允许接收
0:禁止接收
4
REN
REV1.5
第74 页,共130 页
CSU8RP3218
3
2
TB8
RB8
发送数据第9 位
接收数据第9 位
SCON2 寄存器各位功能表
位地址
标识符
功能
波特率选择寄存器
7
SMOD
0:定时器0 /2/3/4 的溢出率32
1:定时器0/2/3/4 的溢出率16
UART 时钟选择位
URCLK [1:0]
00
UART 时钟
选择定时器0 溢出作为时钟,
SMOD=1,波特率为溢出率/16,
SMOD=0,波特率为溢出率/32
选择定时器2 溢出作为时钟,
SMOD=1,波特率为溢出率/16,
SMOD=0,波特率为溢出率/32
选择定时器3 溢出作为时钟,
SMOD=1,波特率为溢出率/16,
SMOD=0,波特率为溢出率/32
选择定时器4 溢出作为时钟,
SMOD=1,波特率为溢出率/16,
SMOD=0,波特率为溢出率/32
01
6:5
URCLK[1:0]
10
11
UART 模块使能
0:不使能UART 模块
1:使能UART 模块
3
UARTEN
若关闭UART 模块使能位,则不会产生中断标志位。
PINCTL[2:0]
UART 通信口选择
3’b000
PT1.1、PT1.2 做普通IO 口,PT3.3、PT3.4 做普通
IO 口
3’b001
3’b010
3’b011
3’b100
3’b101
3’b110
3’b111
PT1.1 做UART 通信口,方向由PT1EN[1]决定,
PT1.2 做普通IO 口,PT3.3、PT3.4 做普通IO 口
PT1.2 做UART 通信口,方向由PT1EN[2]决定,
PT1.1 做普通IO 口,PT3.3、PT3.4 做普通IO 口
PT1.1、PT1.2 分别做UART 通信口RI、TI,
PT3.3、PT3.4 做普通IO 口
PT1.1、PT1.2 做普通IO 口,PT3.3、PT3.4 做普通
IO 口
2:0
PINCTL[2:0]
PT3.3 做UART 通信口,方向由PT3EN[3]决定,
PT3.4 做普通IO 口,PT1.1、PT1.2 做普通IO 口
PT3.4 做UART 通信口,方向由PT3EN[4]决定,
PT3.3 做普通IO 口,PT1.1、PT1.2 做普通IO 口
PT3.3、PT3.4 分别做UART 通信口RI、TI,
PT1.1、PT1.2 做普通IO 口
当选择同步通信或者同时需要进行发送和接收时,必须有两个口
配置为通信口,即PINCTL[2:0]必须配置为3’bx11。当PINCTL[2:0]配
置为3’bx01 或3’bx10 时,此时只有一个通信口在使用,此时这个通信
口可以分时复用为RI 和TI,方向有IO 口的方向位控制,例如:当把
PINCTL[2:0]配置为3’b001 时,此时只有PT1.1 是UART 通信口,当
REV1.5
第75 页,共130 页
CSU8RP3218
PT1EN[1]为0 时,PT1 做为RI 口,当PT1EN[1]为1 时,PT1 做为TI
口。
3.6.3 波特率
模式1 和模式3 的波特率公式为:
波特率=(2SMOD/32)*Ftimer/(TMXIN+1)
例如:选择模式1,选用定时器2 溢出率作为UART 时钟,所以波特率为
波特率=(2SMOD/32)*Ftimer/(TM2IN+1)
波特率
(K)
Fsys=TM2CLK=16MHz(SMOD=0)
实际波特率 偏差(%) 定时/计数器2 CKT2 时钟源 定时器预分频 定时器配置值
(K)
时钟源选择 选择
(T2CKS)
(T2RATE)
(TM2IN)
(T2SEL[1:0])
1.2
2.4
4.8
9.6
19.2
1.1999
2.4002
4.7990
9.6038
19.1847
-0.005
0.01
-0.02
0.04
0
0
0
0
0
01
01
01
01
01
000
000
000
000
000
1A0
0D0
068
034
01A
-0.08
注:以上表格数据中的定时器2/3/4 时钟选择16MHz 时的情况。
REV1.5
第76 页,共130 页
CSU8RP3218
3.7 模数转换器(ADC)
CSU8RP3218 模数转换模块共用9 条外部通道(AIN0~AIN8)和2 条特殊通道(AIN9:内部
1/8VDD;AIN10:内部参考电压),可以将模拟信号转换成12 位数字信号。进行AD 转换时,首先要
选择输入通道(AIN0~AIN11),然后把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
数
AIN5/P3.5
12-bit
模数转换器
ADC
据
总
线
AIN6/P3.6
AIN7/P3.7
AIN8/P5.0
AIN9(内部1/
8 VDD)
AIN10(内部
参考电压)
图23 模数转换器ADC 功能框图
表48 ADC 寄存器列表
3.7.1 寄存器描述
上电复位
值
Bit7
GIE
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
地址
名称
06h INTF
07h INTE
50h
ADIF
ADIE
u0u00u00
00u00u00
uu00uu00
SRADCON0
SRADACKS[1:0]
SRADCKS[1:0]
REV1.5
第77 页,共130 页
CSU8RP3218
SRADCON1 SRADEN
SRADCON2
51h
52h
SRADS OFTEN CALIF ENOV OFFEX
VREFS[1:0]
REF_SEL[1:0]
00000000
0000uu00
00000000
uuuu0000
00000000
uuuu0000
00000000
CHS[3:0]
54h SRADL
55h SRADH
56h SROFTL
57h SROFTH
5fh METCH
SRAD[7:0]
SRAD[11:8]
SROFT[11:8]
SROFT[7:0]
REFOEN REFIN
表49 SRADCON0 寄存器各位功能表
位地址
标识符
功能
ADC 输入信号获取时间
SRADACKS[1:0]
ADC 输入信号获取时间
16 个ADC 时钟
8 个ADC 时钟
4 个ADC 时钟
2 个ADC 时钟
00
01
10
11
SRADACKS[1:0]
SRADCKS[1:0]
5:4
ADC 时钟
SRADCKS[1:0]
00
01
10
11
ADC 采样时钟
CPUCLK
CPUCLK/2
CPUCLK/4
CPUCLK/8
1:0
表50 SRADCON1 寄存器各位功能表
位地址
标识符
功能
ADC 使能位
7
SRADEN
1:使能
0:禁止
ADC 启动位/状态控制位
1:开始,转换过程中
0:停止,转换结束
6
SRADS
当置位后,启动ADC 转换,转换完成会自动清0
转换结果选择控制位
5
4
3
OFTEN
CALIF
ENOV
1:转换结果放在SROFT 寄存器中
0:转换结果放在SRAD 寄存器中
校正控制位(OFTEN 为0 时有效)
1:使能校正,即AD 转换的结果是减去了SROFT 失调电压值
0:禁止校正,即AD 转换结果是没有减去SROFT 失调电压值
使能比较器溢出模式(CALIF 为1 时有效)
1:使能,上溢或下溢直接是减去后的结果
0:禁止,下溢为000h,上溢为fffh
OFFSET 交换
2
OFFEX
1:比较器两端信号交换
0:比较器两端信号不交换(正端为信号,负端为参考电压)
ADC 参考电源选择,与REFIN 寄存器位一起作用选择ADC 参考电压
注:不同参考电压切换,建议延迟10uS 再做AD 转换
1:0
VREFS[1:0]
REV1.5
第78 页,共130 页
CSU8RP3218
REFIN
VREFS[1:0]
AD 参考电压
0
0
00
01
VDD
PT3.0 外部参考电源输入
内部参考电压
0
0
10
11
内部参考电压,PT3.0 可外接电
容作为内置参考电压滤波使用,
以提高精度。
1
1
1
1
00
01
10
11
禁止
禁止
PT3.2 外部参考电源输入
禁止
当从其他配置换的PT3.2 做外部参考电源输入时,应先将VREFS[1:0]
配置为10,再将REFIN 置1。
当VREFS[0]为0 且PT3CON[0]为0 时,PT3.0 做数字口
表51 SRADCON2 寄存器各位功能表
位地址
标识符
功能
ADC 输入通道选择位
CHS[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
其它
输入通道
AIN0 输入
AIN1 输入
AIN2 输入
AIN3 输入
AIN4 输入
AIN5 输入
AIN6 输入
AIN7 输入
7:4
CHS[3:0]
AIN8 输入
AIN9 输入,内部1/8VDD
AIN10 输入,内部参考电压
保留
VREFS[1:0]配置为2’b10 或2’b11,则可通过REF_SEL [1:0]选择参考
如下电压,若VREFS[1:0]不是配置为2’b10 或2’b11,则以下位无
效。
内部参考电压选择
REF_SEL [1:0]
00
01
10
11
REF_SEL[1:0]
1:0
内部参考电压
1.4V
2.0V
3.0V
4.0V
表52 SRADL 寄存器各位功能表
位地址
标识符
功能
SRAD[7:0]
7:0
ADC 数据的低8 位,只可读
REV1.5
第79 页,共130 页
CSU8RP3218
表53 SRADH 寄存器各位功能表
位地址
标识符
功能
SRAD[11:8]
3:0
ADC 数据的高4 位,只可读
表54 SROFTL 寄存器各位功能表
位地址
标识符
功能
7:0
SROFT[7:0]
校正值数据的低8 位
表55 SROFTH 寄存器各位功能表
位地址
标识符
功能
SROFT[11:8]
3:0
校正值数据的高4 位
表56 METCH 寄存器各位功能表
位地址
标识符
功能
内部参考电压从PT3.0 输出使能位,输出REF_SEL[1:0]选择的内部参
考电压
5
REFOEN
0:禁止内部参考电压输出
1:使能内部参考电压输出
VREFS[1:0]为01 时,禁止将REFOEN 配置为1。
PT3.2 外部参考电压做SAR_ADC 参考电压,必须将PT3CON[2]置1
做模拟口
4
REFIN
与VREFS[1:0]共同选择外部参考电压,详见VREFS[1:0]寄存器描述
表57 输入电压和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
„
„
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
3.7.2 转换时间
12 位AD 转换时间=(1/ADC 时钟频率)× (12+ADC输入信号获取时间+CALIF)
REV1.5
第80 页,共130 页
CSU8RP3218
表58 转换时间说明表(1)
AD转换时间(3)
CLKDIV
(2)
CALIF
SRADCKS
SRADACKS
00
01
00
01
10
00
01
10
11
00
01
00
01
10
00
01
10
11
00
01
10
00
01
10
11
00
01
10
11
00
01
10
00
01
10
11
00
01
10
11
00
01
10
11
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) / 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) = 48us
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
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) / 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
01
10
11
0
4M 指
令周期
01
10
1
11
01
10
0
11
01
10
2M 指
令周期
1
11
01
10
1M 指
令周期
0
REV1.5
第81 页,共130 页
CSU8RP3218
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
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
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) = 96us
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) / 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
1/ ( (16MHz / 32) / 8) × (12 + 0 + 2) = 192us
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
11
01
10
11
01
10
11
01
10
11
1
0
1
500K
指令周
期
(1) fosc=16MHz
(2) 代码选项
(3) AD 转换时间随fosc 频率的改变而改变。
3.7.3 AD 失调电压校正
REV1.5
第82 页,共130 页
CSU8RP3218
不同芯片由于离散性的原因,AD 的失调电压可能有正有负。
校正失调电压的方法:
在AD 转换过程中通过不断变换SRADCON1 寄存器中的OFFEX 的值。如第一次AD 转换OFFEX
置0,第二次AD 转换OFFEX 置1,然后将第一次和第二次测试的AD 值求平均值。两次转换得到的
平均值就是去掉失调电压的正确结果。
„
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
3.7.4 数字比较器
ADC 模块可作为一个数字比较器。被测信号的输入频率应小于转换频率的1/2。比较器的速率是和AD
转换频率相关的。
操作:
1)通过 ADC 通道选择控制位 chs[3:0]选择比较器负端的信号输入,之后把 OFTEN 置 1,CALIF 清 0,
ENOV 置0,把SRADEN 置1 使能ADC,SRADS 置1 启动转换,转换完成可把转换结果写入
SROFT 寄存器。
也可以直接把负端信号的AD 值直接写到SROFT 寄存器中,即人为指定负端电压值。
REV1.5
第83 页,共130 页
CSU8RP3218
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 接比较器负端。
„
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,开始转换
比较1V 电压和通道1 的电压,通道1 接比较器正端,1V 接比较器负端,假设采用5V 的VDD 作为参
考电压,那么1V 的AD 值为0x333。
REV1.5
第84 页,共130 页
CSU8RP3218
„
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 ;检测转换是否完成
3.7.5 内部测量VDD 的电压
用户可以通过使用内部参考电压或者外部参考电压输入(外部参考电压固定且不随 VDD 电压变
化)两种方法来测试芯片内部VDD 的电压。
使用外部参考电压,使用条件较多,需额外提供参考源。
使用内部参考电压不需要额外的硬件条件。但是,使用内部参考电压会由于本身内部参考电压值
的不准而影响精度。可以通过内部参考电压校正来提高测试的精度。
外接3V 作为参考电压,测VDD 电压。选择通道5,测出1/8VDD 的AD 值,之后乘以8 得出VDD 的
AD 值,再乘以参考电压则为VDD 电压。
REV1.5
第85 页,共130 页
CSU8RP3218
„
clrf sradcon1
bsf sradcon1,0
movlw 50h
;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,选择通道5 ,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
;AD值乘以2
REV1.5
第86 页,共130 页
CSU8RP3218
3.8 比较器
CSU8RP3218 内置一个模拟比较器。由CMPEN 配置模拟比较器的使能位。
模拟比较器,带两个模拟输入端C0P(PT3.1)和C0N(PT3.2),CO(PT3.3)脚可做为比较器
的输出,PT3.1 和PT3.2 必须配置为模拟口。
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
地 名称
址
上电复位
值
3eh
3fh
INTF3
INTE3
CMPIF
CMPIE
CMPEN
0uuuuuuu
0uuuuuuu
CMP_OEN CMPOUT 0uuuuu00
6ah CMPCON
表59 CMPCON 寄存器各位功能表
位地址
标识符
功能
比较器/运算放大器使能位
1:使能
7
CMPEN
0:禁止
PT3.1 和PT3.2 必须通过配置PT3CON 设为模拟口,否则比较器
结果可能不正常
比较器结果输出使能位
1
0
CMP_OEN
CMPOUT
1:使能比较器结果输出,PT3.3 口做比较器输出口
0:禁止比较器0 结果输出,PT3.3 做普通IO 口
比较器的比较结果
REV1.5
第87 页,共130 页
CSU8RP3218
3.9 4*5 LCD
CSU8RP3218 中内置一个4*5 LCD 驱动,1/4duty,1/2bias,但这需要配合软件使用。
表60 LCD 寄存器列表
Bit5 Bit4 Bit3 Bit0
地
址
上电复位
值
名称
Bit7
Bit6
Bit2
Bit1
LCDCOM
LCDSEG
5bh
5ch
VLCD_SEL
COM[3:0]
SEG[4:0]
0uuu0000
uuu00000
表61 LCDCOM 寄存器各位功能表
位地址 标识符
功能
VLCD 电压选择
7
3
2
1
0
VLCD_SEL
0:VLCD 电压为VDD
1:VLCD 电压为3V
COM3 口控制标志位
0 = PT1.7 不做COM3 口
1 = PT1.7 做COM3 口
COM2 口控制标志位
0 = PT1.6 不做COM2 口
1 = PT1.6 做COM2 口
COM1 口控制标志位
0 = PT1.5 不做COM1 口
1 = PT1.5 做COM1 口
COM0 口控制标志位
0 = PT1.4 不做COM0 口
1 = PT1.4 做COM0 口
COM[3]
COM[2]
COM[1]
COM[0]
表62 LCDSEG 寄存器各位功能表
位地址 标识符
功能
SEG4 口控制标志位
0 = PT5.2 不做SEG4 口
1 = PT5.2 做SEG4 口
SEG3 口控制标志位
0 = PT5.1 不做SEG3 口
1 = PT5.1 做SEG3 口
SEG2 口控制标志位
0 = PT5.0 不做SEG2 口
1 = PT5.0 做SEG2 口
SEG1 口控制标志位
0 = PT1.2 不做SEG1 口
1 = PT1.2 做SEG1 口
SEG0 口控制标志位
0 = PT1.1 不做SEG0 口
1 = PT1.1 做SEG0 口
4
3
2
1
0
SEG[4]
SEG [3]
SEG [2]
SEG [1]
SEG [0]
REV1.5
第88 页,共130 页
CSU8RP3218
当使能LCD 时,VLCD_SEL=1 时,在VDD>=3V 的情况下,PT1.4(COM0),PT1.5(COM1),
PT1.6(COM2),PT1.7(COM3),PT1.1(SEG0),PT1.2(SEG1),PT5.0(SEG2),PT5.1(SEG3)和
PT5.2(SEG4)这9 个IO 口输出高电平时,IO 电压为3V;输出低电压时,IO 口电压为0V。另外
PT1.4(COM0),PT1.5(COM1),PT1.6(COM2)和PT1.7(COM3)做输入时电压为1.5V。这就提供了3V
LCD 所需的电压,只需通过程序对这些IO 的控制就可以进行LCD 控制。
当使能LCD 时,VLCD_SEL =0 时, PT1.4(COM0),PT1.5(COM1),PT1.6(COM2),PT1.7(COM3),
PT1.1(SEG0),PT1.2(SEG1),PT5.0(SEG2),PT5.1(SEG3)和PT5.2(SEG4)这9 个IO 口输出高电平时,
IO 电压为VDD;输出低电压时,IO 口电压为0V。另外PT1.4(COM0),PT1.5(COM1),PT1.6(COM2)
和PT1.7(COM3)做输入时电压为VDD/2。只需通过程序对这些IO 的控制就可以进行LCD 控制。
REV1.5
第89 页,共130 页
CSU8RP3218
3.10 数据查表
通过MOVP 指令可以实现对于用户程序存储器内的数据读取,用户程序存储器的地址范围为
000H~7FFH
表63 数据E2PROM 寄存器列表
Bit5 Bit4 Bit3
地
址
上电复位
值
Bit7
Bit6
Bit2
Bit1
Bit0
名称
WORK
05h
00000000
uuuuu000
00000000
00000000
工作寄存器
0Ah EADRH
0Bh EADRL
0Ch EDATH
EADR [10:8]
EADR [7:0]
EDATH[7:0]
EADRH/EADRL 提供读操作的数据地址;
EDATH/WORK 提供读操作所用的数据。
读操作都是基于一个字(16 bits)的。EDATH 寄存器只可读。
执行读操作时,在地址寄存器输入相应的值,之后执行MOVP 指令,便可在相应的OTP 地址的数据读
入到EDATH/WORK 寄存器中。执行一次读操作大概需要3 个指令周期。
movlw 04H
movwf EADRH ;给高字节地址赋值
movlw 00H
movwf EADRL ;给低字节地址赋值
movp
nop
;执行读操作
3.11 移动电源选项和输出电流配置
有6 个IO 口PT1.4、PT1.5、PT1.6、PT1.7、PT3.5 和PT3.6 输出电流大小可进行配置。
PT3.5 和PT3.6 输出电流可以配置IOH/IOL 为20mA/20mA@5V 或54mA/57mA@5V
PT1.4、PT1.5、PT1.6 和PT1.7 输出电流可以配置IOH/IOL 为20mA/20mA@5V 或
31mA/35mA@5V
PT1.6 和PT1.7 拉电流可配置为1.3mA@5V,PT1.5 拉电流可配置为1.3mA@5V 或2.6mA@5V
REV1.5
第90 页,共130 页
CSU8RP3218
PT1.3、PT3.1、PT3.4 和PT3.6 可配置为下拉功能,下拉电阻分别为400KΩ,1KΩ,10KΩ,10K
Ω。
表64 CURCON 寄存器列表
地址 名称
7ah
Bit7
Bit6
Bit5
P14CUR[1:0]
Bit4
Bit3
Bit2
CURP17[1:0]
CURP16[1:0]
Bit1
Bit0 上电复位值
CURCON P36CUR P35CUR
000uu00u
7ch SYSCFG1 PDP13 PDP31 PDP34 PDP36
CURP15[1:0] 00110000
表65 CURCON 寄存器各位功能表
位地址 标识符
功能
PT3.6 输出电流选择
7
6
P36CUR
P35CUR
0:PT3.6 的输出电流IOH/IOL 为20mA/20mA@5V
1:PT3.6 的输出电流IOH/IOL 为54mA/57mA@5V
PT3.5 输出电流选择
0:PT3.5 的输出电流IOH/IOL 为20mA/20mA@5V
1:PT3.5 的输出电流IOH/IOL 为54mA/57mA@5V
P14CUR [1:0]
PT1.4 输出电流配置
00
01
1x
输出电流IOH/IOL 为20mA/20mA@5V
输出电流IOH/IOL 为54mA/57mA@5V
输出电流IOH/IOL 为31mA/35mA@5V
5:4
P14CUR[1:0]
CURP17[1:0]
注:以上配置在com[0]为0 时有效
CURP17[1:0]
00
01
1x
PT1.7 输出电流配置
输出电流IOH/IOL 为20mA/20mA@5V
输出电流IOH/IOL 为1.5mA/20mA@5V
输出电流IOH/IOL 为31mA/35mA@5V
2:1
注:以上配置在com[3]为0 时有效
表66 SYSCFG1 寄存器各位功能表
位地址 标识符
功能
PT1.3 下拉电阻配置
7
6
5
4
PDP13
PDP31
PDP34
PDP36
1:PT1.3 口接500KΩ下拉电阻
0:PT1.3 口不接下拉电阻
PT3.1 下拉电阻配置
1:PT3.1 口接1KΩ下拉电阻
0:PT3.1 口不接下拉电阻
PT3.4 下拉电阻配置(默认打开)
1:PT3.4 口接10KΩ下拉电阻
0:PT3.4 口不接下拉电阻
PT3.6 下拉电阻配置(默认打开)
1:PT3.6 口接10KΩ下拉电阻
0:PT3.6 口不接下拉电阻
REV1.5
第91 页,共130 页
CSU8RP3218
CURP16[1:0]
PT1.6 输出电流配置
00
01
1x
输出电流IOH/IOL 为20mA/20mA@5V
输出电流IOH/IOL 为1.3mA/20mA@5V
输出电流IOH/IOL 为31mA/35mA@5V
CURP16[1:0]
CURP15[1:0]
3:2
注:以上配置在com[2]为0 时有效
CURP15[1:0]
00
01
10
11
PT1.5 输出电流配置
输出电流IOH/IOL 为20mA/20mA@5V
输出电流IOH/IOL 为1.3mA/20mA@5V
输出电流IOH/IOL 为2.6mA/20mA@5V
输出电流IOH/IOL 为31mA/35mA@5V
1:0
注:以上配置在com[1]为0 时有效
REV1.5
第92 页,共130 页
CSU8RP3218
3.12 烧录模块
烧写器的接口:
Application PCB
VPP
VDD
VSS
PDA
PCL
To application circuit
Isolation circuit
图24 烧写器接口图
表67 烧录接口说明
端口名称
VPP
型式
说明
输入
烧录电源
VDD
VSS
输入
电源正端
输入
电源负端
PDA
PCL
输入/输出
输入
PT1[4]端口,数据信号
PT1[5]端口,时钟信号
REV1.5
第93 页,共130 页
CSU8RP3218
3.13 输入逻辑电平电压配置
表68 SYSCFG0 寄存器列表
地
址
上电复位
值
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
名称
P30REFEN
7bh SYSCFG0 VTHSEL
VTHP30[1:0]
00000000
表69 SYSCFG0 寄存器各位功能表
位地址 标识符
功能
输入逻辑电平电压控制信号(PT3.0 除外,PT3.0 由VTHP30[1:0]控制)
VTHSEL
0
输入逻辑电平
最大 单
符号 参数
VIH1
最小值 典型值
0.75VDD
值
位
V
数字输入高电平
V
V
V
0.8VDD
复位输入高电平
数字输入低电平
复位输入低电平
VIL1
0.3VDD
0.2VDD
7
VTHSEL
1
最大 单
符号 参数
VIH2
最小值 典型值
0.5VDD
值
位
V
数字输入高电平
V
V
V
0.5VDD
复位输入高电平
数字输入低电平
复位输入低电平
VIL2
0.2VDD
0.1VDD
PT3.0 口输入逻辑电平电压控制信号
VTHP30[
1:0]
输入逻辑电平
00
单
最大值 位
符号 参数
VIH1
VIL1
最小值
典型值
V
0.75VDD
输入高电平
输入低电平
V
0.3VDD
01
10
单
最大值 位
符号 参数
最小值
典型值
≥0.7
<0.7
VIH
VIL
V
V
输入高电平
输入低电平
VTHP30[1:
0]
5:4
单
最大值 位
V
符号 参数
VIH
最小值
典型值
≥VDD-
0.7
<VDD-
0.7
输入高电平
输入低电平
VIL
V
11
单
最大值 位
V
符号 参数
VIH2
VIL2
最小值
0.5VDD
典型值
输入高电平
输入低电平
V
0.2VDD
当VTHP30[1:0]选择2’b01 或2’b10 时,需将P30REFEN 位置1,否则输入逻
辑电平不为0.7V 或(VDD-0.7)V
内部基准使能位
3
P30REFEN
REV1.5
第94 页,共130 页
CSU8RP3218
0:关闭内部基准
1:打开内部基准
REV1.5
第95 页,共130 页
CSU8RP3218
3.14 代码选项
标识符
功能
程序空间配置
2K 程序空间分2 次烧录,每次只能烧录1K 程序空间
2K 程序空间一次烧录
注1:当选择分两次烧录时,不管是第一次还是第二次烧录,IDE 编译生成的
HEX 文档只烧录前面1K16 程序,所以编译时需确认所用程序指令数小于
1024;
CODE_OP
注2:当选择分两次烧录时,第一次程序烧写在OTP 0x000~0x3FF 地址;第二次
程序烧录在OTP 0x400~0x7FF 地址,程序运行时,地址映射到0x000~0x3FF。
所以编写程序时,不管是第一次还是第二次烧录,PC 范围都是0x000~0x3FF,
不用程序特意去指定到0x400~0x7FF,只需保证所用程序指令数小于1024。
超低功耗模式使能位
禁止超低功耗模式
使能超低功耗模式
LP_EN
注:使能超低功耗模式时,需要求芯片工作电压大于等于3.6V,同时把
LVD_SEL 选择3.6V 低电压复位。
内部晶振选择
内部晶振频率
2MHz
ICK_SEL
4MHz
8MHz
16MHz
32MHz(工作电压要求3.6V 以上)
指令周期选择
指令周期
指令周期=4 个时钟周期
指令周期=8 个时钟周期
CLKDIV
指令周期=16 个时钟周期
指令周期=32 个时钟周期
LVD 配置
功能
VDD 低于2.0V(RST20_SEL=0)或
1.6V(RST20_SEL=1),LVD 复位系统
VDD 低于2.0V(RST20_SEL=0)或
1.6V(RST20_SEL=1),LVD 复位系统;
STATUS 的LVD24 作为2.4V 的低电压检测器;
STATUS 的LVD36 作为3.6V 的低电压检测器。
2.4V 上电/掉电复位;
LVD_SEL
STATUS 的LVD36 作为3.6V 的低电压检测器。
3.6V 上电/掉电复位。
注:RST20_SEL 是SYSCFG0 特殊功能寄存器的bit6。
复位引脚选择
RESET_PIN
XTAL_PIN
PT1.3 作为复位引脚
PT1.3 作为普通输入口
晶振引脚选择
晶振引脚
PT1.1 和PT1.2 作为普通IO 口
REV1.5
第96 页,共130 页
CSU8RP3218
PT1.1 作为外部RC 时钟输入;或者
PT1.1 通过外部时钟源直接灌入时钟;
PT1.2 可以作为普通IO 口
PT1.1 和PT1.2 接外部晶振为32768Hz
PT1.1 和PT1.2 接外部晶振4M~16MHz
代码保密位
SECURITY
使能代码加密
禁止代码加密
REV1.5
第97 页,共130 页
CSU8RP3218
4 MCU 指令集
表70 表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
HALT
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
1
~
Z
C,DC
Z
~
~
~
CPU Stop
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 table list
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
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
[W]←[W] XOR k
[Destination] ← [W] XOR [f]
参数说明:
f: 数据存储器地址(00H ~FFH)
W: 工作寄存器
REV1.5
第98 页,共130 页
CSU8RP3218
k: 立即数
d: 目标地址选择: d=0 结果保存在工作寄存器, d=1: 结果保存在数据存储器f 单
元
b: 位选择(0~7)
[f]: f 地址的内容
PC: 程序计数器
C: 进位标志
DC: 半加进位标志
Z: 结果为零标志
PD: 睡眠标志位
TO: 看门狗溢出标志
WDT: 看门狗计数器
表71 MCU 指令集描述
1
ADDLW
加立即数到工作寄存器
ADDLW K (0<=K<=FFh)
指令格式
6
8
操作
(W)<—(W)+K
标志位
描述
C,DC,Z
工作寄存器的内容加上立即数K 结果保存到工作寄存器中
1
周期
例子
ADDLW 08h
在指令执行之前:
W=08h
在指令执行之后:
W=10h
2
ADDPCW
将W 的内容加到PC 中
ADDPCW
14
指令格式
操作
(PC)<—(PC)+1+(W)
当(W)<7Fh
(PC)<—(PC)+1+(W)-100h 其余
没有
标志位
描述
将地址PC+1+W 加载到PC 中
2
周期
例子1
ADDPCW
在指令执行之前:
W=7Eh ,PC=0212h
指令执行之后:
PC=0291h
例子2
ADDPCW
在指令执行之前:
W=80h ,PC=0212h
指令执行之后:
REV1.5
第99 页,共130 页
CSU8RP3218
PC=0193h
例子3
ADDPCW
在指令执行之前:
W=FEh ,PC=0212h
指令执行之后:
PC=0211h
REV1.5
第100 页,共130 页
CSU8RP3218
3
ADDWF
加工作寄存器到f
ADDWF f,d 0<=f<=FFh d=0,1
指令格式
7
7
操作
[目标地址]<—(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<=7Fh d=0,1
7
7
操作
(目标地址)<—(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
指令格式
6
8
操作
(W)<—(W) AND K
Z
标志位
描述
将工作寄存器的内容与8bit 的立即数相与,结果保存到工作寄存器中。
1
周期
例子
ANDLW 5Fh
在指令执行之前
W=A3h
REV1.5
第101 页,共130 页
CSU8RP3218
在指令执行之后
W=03h
6
ANDWF
将工作寄存器和f 的内容相与
ANDWF f,d 0<=f<=7Fh d=0,1
指令格式
7
7
操作
(目标地址)<—(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<=7Fh 0<=b<=7
BCF b f
4 3 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<=7Fh 0<=b<=7
BSF b f
4 3 7
操作
(f[b])<—1
无
标志位
REV1.5
第102 页,共130 页
CSU8RP3218
描述
将f 的b 位置1
1
周期
例子
BSF FLAG 2
在指令执行之前
FLAG=89h
在指令执行之后
FLAG=8Dh
9
BTFSC
如果bit 测试为0 则跳转
指令格式
BTFSC f,b 0<=f<=7Fh 0<=b<=7
BTFSC b f
4
3 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<=7Fh 0<=b<=7
BTFSS b f
4
3 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
REV1.5
第103 页,共130 页
CSU8RP3218
CALL
子程序调用
CALL K 0<=K<=7FFh
指令格式
3
11
操作
(top stack)<—PC+1
PC<—K
无
标志位
描述
子程序调用,先将PC+1 压入堆栈,然后把立即数地址下载到PC 中。
2
周期
12
CLRF
清除f
CLRF f 0<=f<=7Fh
指令格式
7
7
操作
(f)<—0
Z
标志位
描述
将f 的内容清零
1
周期
例子
CLRF WORK
在指令执行之前
WORK=5Ah
在指令执行之后
WORK=00h
*注。当clrf status 寄存器时,标志位Z 不会置高
13
CLRWDT
清除看门狗定时器
CLRWDT
14
指令格式
操作
看门狗计数器清零
标志位
描述
无
清除看门狗定时器
1
周期
例子
CLRWDT
指令执行之后
WDT=0
14
COMF
f 取反
指令格式
COMF f,d 0<=f<=7Fh d=0,1
7
7
操作
(目的地址)<—NOT(f)
Z
标志位
描述
将f 的内容取反,
REV1.5
第104 页,共130 页
CSU8RP3218
当d 为0 时,结果保存到工作寄存器中,
当d 为1 时,结果保存到f 中。
1
周期
例子
COMF f,0
在指令执行之前
W=88h,f=23h
在指令执行之后
W=DCh,f=23h
在指令执行之前
W=88h,f=23h
在指令执行之后
W=88h,f=DCh
例子2
COMF f,1
REV1.5
第105 页,共130 页
CSU8RP3218
15
DAW
十进制调整W 寄存器
DAW
指令格式
14
操作
十进制调整W 寄存器
C,DC
标志位
描述
一般与加法一起使用。
如果低半字节的值大于9 或DC 为1 时,低半字节加6;
如果高半字节的值大于9 或C 为1 时,高半字节加6
1
周期
例子
在DAW 指令执行之前
W=25+39 =64=5EH
在指令执行之后
W=64H
若W=25h;
ADDLW 39h
DAW
16
DECF
f 减1
指令格式
DECF f,d 0<=f<=7Fh d=0,1
7
7
操作
(目的地址)<—(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
17
DECFSZ
f 减1 如果为0 则跳转
指令格式
DECFSZ f,d 0<=f<=7Fh d=0,1
7
7
操作
(目的地址)<—(f)-1,如果结果为0 跳转
无
标志位
描述
f 的内容减1。
如果d 为0,结果保存到工作寄存器中。
如果d 为1,结果保存到f 中
如果结果为0,下一条已经取到的指令将被丢掉,然后插入一条NOP 指令组
成一个两个周期的指令。
REV1.5
第106 页,共130 页
CSU8RP3218
周期
无跳转则为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<=7FFh
指令格式
3
13
操作
PC<—K
无
标志位
描述
立即地址载入PC
2
周期
19
HALT
停止CPU 时钟
HALT
指令格式
14
操作
CPU 停止
无
标志位
描述
CPU 时钟停止,晶振仍然工作,CPU 能够通过内部或者外部中断重启。
1
周期
20
INCF
f 加1
指令格式
INCF f,d 0<=f<=7Fh d=0,1
7
7
操作
(目的地址)<—(f)+1
Z
标志位
描述
f 加1
如果d 为0,结果保存到工作寄存器中
如果d 为1,结果保存到f 中。
1
周期
例子
INCF f,0
在指令执行之前
W=88h f=23h
在指令执行之后
W=24h f=23h
REV1.5
第107 页,共130 页
CSU8RP3218
例子2
INCF f,1
在指令执行之前
W=88h f=23h
在指令执行之后
W=88h f=24h
21
INCFSZ
f 加1,如果结果为0 跳转
指令格式
INCFSZ f,d 0<=f<=7Fh d=0,1
7
7
操作
(目的地址)<—(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
指令格式
7
7
操作
(W)<—(W)|K
Z
标志位
描述
立即数与工作寄存器的内容或。结果保存到工作寄存器中。
1
周期
例子
IORLW 85H
在指令执行之前
W=69h
在指令执行之后
W=EDh
23
IORWF
f 与工作寄存器或
指令格式
IORWF f,d 0<=f<=7Fh d=0,1
7
7
REV1.5
第108 页,共130 页
CSU8RP3218
操作
(目的地址)<—(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<=7Fh
指令格式
7
7
操作
(W)<—(f)
无
标志位
描述
将数据从f 传送到工作寄存器
1
周期
例子
MOVFW f
在指令执行之前
W=88h f=23h
在指令执行之后
W=23h f=23h
25
MOVLW
将立即数传送到工作寄存器中
MOVLW K 0<=K<=FFh
指令格式
6
8
操作
(W)<—K
无
标志位
描述
将8bit 的立即数传送到工作寄存器中
1
周期
例子
MOVLW 23H
在指令执行之前
W=88h
在指令执行之后
W=23h
26
MOVP
读查表区数据
MOVP
指令格式
14
操作
把OTP 数据读到EDATH/WORK 中
无
标志位
REV1.5
第109 页,共130 页
CSU8RP3218
描述
把地址为EADRH/EADRL 的查表区数据读到EDATH/WORK 中
2
周期
例子
MOVP
在指令执行之前
EADRH=04h,EADRL=00h
地址为0400h 的查表区数据位1234h
在指令执行之后
EDATH=12h,W=34h
27
MOVWF
将工作寄存器的值传送到f 中
MOVWF f 0<=f<=7Fh
指令格式
7
7
操作
(f)<—(W)
无
标志位
描述
将工作寄存器的值传送到f 中
1
周期
例子
MOVWF f
在指令执行之前
W=88h f=23h
在指令执行之后
W=88h f=88h
28
NOP
无操作
NOP
14
指令格式
操作
无操作
无
标志位
描述
无操作
1
周期
29
PUSH
把work 和status 寄存器入栈保护
PUSH
指令格式
14
操作
(top stack)<—work/status
无
标志位
描述
把work 和status 寄存器的值做入栈处理,支持8 级堆栈,不同于PC 堆栈;
其中状态寄存器不包括LVD36,LVD24,PD 和TO。
2
周期
30
POP
把work 和status 寄存器出栈处理
REV1.5
第110 页,共130 页
CSU8RP3218
POP
14
指令格式
操作
(Top Stack)=>work/status
Pop Stack
无
标志位
描述
把当前栈顶的值做出栈处理,分别更新work 和status 寄存器,支持8 级堆
栈,不同于PC 堆栈;其中状态寄存器不包括LVD36,LVD24,PD 和
TO。
2
周期
31
RETFIE
从中断返回
RETFIE
指令格式
14
(Top Stack)=>PC
Pop Stack
1=>GIE
操作
标志位
描述
无
PC 从堆栈顶部得到,然后出栈,设置全局中断使能位为1
2
周期
32
RETLW
返回,并将立即数送到工作寄存器中
RETLW K 0<=K<=FFh
指令格式
6
8
操作
(W)<—K
(Top Stack)=>PC
Pop Stack
无
标志位
描述
将8bit 的立即数送到工作寄存器中,PC 值从栈顶得到,然后出栈
2
周期
33
RETURN
从子程序返回
RETURN
14
指令格式
(Top Stack)=>PC
Pop Stack
无
操作
标志位
描述
PC 值从栈顶得到,然后出栈
2
周期
REV1.5
第111 页,共130 页
CSU8RP3218
34
RLF
带进位左移
指令格式
RLF f,d 0<=f<=7Fh d=0,1
7
7
操作
(目标地址[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<=7Fh d=0,1
7
7
操作
(目标地址[n-1])<—(f[n])
(目标地址[7])<—C
C<—(f[0])
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
14
指令格式
操作
CPU 晶振停止
PD
标志位
描述
CPU 晶振停止。CPU 通过外部中断源重启
1
周期
REV1.5
第112 页,共130 页
CSU8RP3218
37
SUBLW
立即数减工作寄存器的值
SUBLW K 0<=K<=FFh
指令格式
6
8
操作
(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(代表结果非零)
表72 38
SUBWF
f 的值减工作寄存器的值
指令格式
SUBWF f,d 0<=f<=7Fh d=0,1
7
7
操作
(目标地址)<—(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
例子2
SUBWF f,1
在指令执行之后
f=00h C=1 Z=1
在指令执行之前
f=04h W=05h
例子3
SUBWF f,1
在指令执行之后
f=FFh C=0 Z=0
39
SUBWFC
带借位的减法
指令格式
SUBWFC f,d 0<=f<=7Fh d=0,1
REV1.5
第113 页,共130 页
CSU8RP3218
7
7
操作
(目标地址)<—(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<=7Fh d=0,1
7
7
操作
(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
XORLW
工作寄存器的值与立即数异或
XORLW K 0<=K<=FFh
指令格式
6
8
操作
(W)<—(W)^K
Z
标志位
描述
8bit 的立即数与工作寄存器的值异或,结果保存在工作寄存器中
1
周期
例子
XORLW 5Fh
在指令执行之前
W=Ach
REV1.5
第114 页,共130 页
CSU8RP3218
在指令执行之后
W=F3h
42
XORWF
f 的值与工作寄存器的值异或
指令格式
XORWF f,d 0<=f<=7Fh d=0,1
7
7
操作
(目标地址)<—(W)^(f)
Z
标志位
描述
F 的值与工作寄存器的值异或,
当d 为0 时,结果保存到工作寄存器中
当d 为1 时,结果保存到f 中
1
周期
例子
XORWF f,1
在指令执行之前
W=ACh f=5Fh
在指令执行之后
f=F3h
5 电气特性
5.1 极限值
参数
范围
-0.3~6.0
-0.3~VDD+0.3
-40~+85
-55~+150
单位
V
V
ºC
ºC
电源VDD
引脚输入电压
工作温度
存贮温度
焊接温度,时间
220ºC,10 秒
5.2 直流特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)
符号
参数
测试条件
25 ºC
-40 ºC ~+85 ºC
最小值 典型值 最大值 单位
2.2
2.3
5
5
5.5
5.5
V
V
VDD
工作电压
系统电源电
压上升速率
Vpor
Tcpu
0.05
V/ms
ns
VDD:2.3V~5.5V
VDD:3.6V~5.5V
1000
250
指令周期
数字输入高
电平
0.75VDD
PT1,PT3,PT5(除PT3.0 外)
PT1.3
VIH1
(VTH_SEL=0)
V
V
复位输入高
电平
0.8VDD
数字输入低
电平
VIL1
(VTH_SEL=0)
0.3VDD
PT1,PT3,PT5(除PT3.0 外)
REV1.5
第115 页,共130 页
CSU8RP3218
复位输入低
电平
0.2VDD
PT1.3
数字输入高
电平
0.5VDD
0.5VDD
PT1,PT3,PT5(除PT3.0 外)
VIH2
(VTH_SEL=1)
V
复位输入高
电平
PT1.3
数字输入低
电平
0.2VDD
V
PT1,PT3,PT5(除PT3.0 外)
VIL2
(VTH_SEL=1)
复位输入低
电平
0.1VDD
PT1.3
PT3.0
PT3.0
PT3.0
PT3.0
PT3.0
PT3.0
数字输入高
电平
VIH1
(VTHP30=00)
0.75VDD
0.5VDD
V
数字输入高
电平
VIL1
(VTHP30=00)
0.3VDD
0.2VDD
V
V
V
V
V
数字输入高
电平
VIH2
(VTHP30=11)
数字输入高
电平
VIL2
(VTHP30=11)
数字输入高
电平
VIH3
(VTHP30=01)
≥0.7
<0.7
数字输入高
电平
VIL3
(VTHP30=01)
≥
VDD-
0.7
<
VDD-
0.7
数字输入高
电平
VIH4
(VTHP30=10)
PT3.0
PT3.0
V
V
数字输入高
电平
VIL4
(VTHP30=10)
IPU
RPU
上拉电流
上拉电阻
PT1,PT3,PT5;Vin = 0;
PT1,PT3,PT5;VDD=5V
PT1.3;PDP12=1;VDD=5V
PT3.1;PDP12=1;VDD=5V
PT3.4;PDP12=1;VDD=5V
PT3.6;PDP12=1;VDD=5V
50
uA
100
500
1
10
10
19
KΩ
KΩ
KΩ
KΩ
KΩ
mA
RPD
下拉电阻
高电平输出 VOH=0.9VDD;VDD=5V
电
流
( PT1 、
PT3,PT5)
大驱动能力
未使能
IOH1
8
mA
mA
VOH=0.9VDD;VDD=3V
21
低电平输出 VOL=0.1VDD;VDD=5V
电
流
( PT1 、
PT3,PT5)
大驱动能力
未使能
IOL1
IOH2
9
mA
mA
VOL=0.1VDD;VDD=3V
VOH=0.9VDD;VDD=5V
(P14CUR=01,PT35CUR=1,P36CUR
54
高电平输出
REV1.5
第116 页,共130 页
CSU8RP3218
=1)
流
电
(PT1.4,PT3 VOH=0.9VDD;VDD=3V
.5
PT3.6)
和
24
mA
(P14CUR=01,PT35CUR=1,P36CUR
=1)
VOL=0.1VDD;VDD=5V
(P14CUR=01,PT35CUR=1,P36CUR
=1)
VOL=0.1VDD;VDD=3V
(P14CUR=01,PT35CUR=1,P36CUR
=1)
VOL=0.1VDD;VDD=5V
(P14CUR=11,CURP17[1]=1,
CURP16[1]=1, CURP15=11)
VOL=0.1VDD;VDD=3V
(P14CUR=11,CURP17[1]=1,
CURP16[1]=1, CURP15=11)
VOL=0.1VDD;VDD=5V
(P14CUR=11,CURP17[1]=1,
CURP16[1]=1, CURP15=11)
低电平输出
流
57
27
31
14
35
17
1.3
0.5
mA
mA
mA
mA
mA
mA
mA
mA
电
(PT1.4,PT3
IOL2
IOH3
IOL3
.5
和
PT3.6)
高电平输出
流
电
(PT1.4,PT1
.5,PT1.6 和
PT1.7)
低电平输出
流
电
(PT1.5,PT1
VOL=0.1VDD;VDD=3V
(P14CUR=11,CURP17[1]=1,
CURP16[1]=1, CURP15=11)
VOH=0.9VDD;VDD=5V
.6
和
PT1.7)
高电平输出
流
(CURP17=01,
CURP15=01)
CURP16=01,
电
(PT1.5,PT1
IOH4
IOH5
VOH=0.9VDD;VDD=3V
.6
和
(CURP17=01,
CURP16=01,
PT1.7)
CURP15=01)
VOH=0.9VDD;VDD=5V
(CURP15=10)
VOH=0.9VDD;VDD=3V
(CURP15=10)
2.6
1
mA
mA
ns
高电平输出
流
电
(PT1.5)
输出电平上 PT3.5、PT3.6(做大驱动输出口,
升时间 负载为2nf)
输出电平下 PT3.5、PT3.6(做大驱动输出口,
Tr
Tf
30
30
ns
降时间
负载为2nf)
1.6V 上电/掉电复位点;-40~85 度
2.0V 上电/掉电复位点;-40~85 度
2.4V 上电/掉电复位点;-40~85 度
3.6V 上电/掉电复位点;-40~85 度
置 25℃,5V
1.2
1.8
2.0
3.0
-1%
1.6
2.0
2.4
3.6
16
1.9
2.3
3.0
4.5
+1%
复位电压/
低电压检测
电压
LVD
V
内
32MHz RC
时钟
MHz
-5%
-1%
-5%
16
16
16
+5%
+1%
+5%
-40℃~85℃, 3.6V~5.5V
内
置 25℃,5V
16MHz RC
时钟
MHz
MHz
-40℃~85℃, 2.5V~5.5V
IRC
25℃,5V
-40℃~85℃, 2.5V~5.5V
25℃,5V
-1%
-5%
-1%
-5%
-1%
8
8
4
4
2
+1%
+7%
+1%
+7%
+1%
内置 8MHz
RC 时钟
内置 4MHz
RC 时钟
MHz
MHz
-40℃~85℃, 2.5V~5.5V
内置 2MHz 25℃,5V
REV1.5
第117 页,共130 页
CSU8RP3218
RC 时钟
内置看门狗
时钟
-40℃~85℃, 2.5V~5.5V
25℃,5V
-40℃~85℃, 2.5V~5.5V
R=68KΩ,C=0.1uF,25℃,5V
-5%
-10%
-20%
2
+8%
+10%
+20%
32
32
6.8
KHz
KHz
MHz
WDT
FERC
ERC 时钟
中断触发脉
宽
Tint0,1
Tcpu
ns
25℃,5V
0.6
2.8
0.9
3.9
uA
uA
uA
uA
VDD=3V, 关掉WDT
VDD=3V, 打开WDT
VDD=5V, 关掉WDT
VDD=5V, 打开WDT
内部振荡器关闭
(fcpu=fosc/4)
sleep 模式
电流
IDD1
IDD2
8
fosc = 32768Hz,3V
内部振荡器关闭
工作电流
uA
13
(fcpu=fosc/4)
fosc = 32768Hz,5V
内 部 晶 振 模 式 , F=16MHz ,
VDD=3V,fcpu=fosc/4
内 部 晶 振 模 式 , F=16MHz ,
VDD=3V,fcpu=fosc/8
0.84
0.60
内 部 晶 振 模 式 , 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
0.40
0.34
1.50
1.00
0.72
0.60
工作电流
(空闲状态)
IDD3
mA
5.3 ADC 特性(VDD = 5V,TA = 25ºC,如无其他说明则都是此条件)
符号
参数
测试条件
25 ºC
-40 ºC ~+85 ºC
最小值 典型值 最大值 单位
2.2
2.3
5
5
5.5
5.5
V
V
ADC 工作电
压范围
VDD
模拟输入范
围
AIN0~ AIN5
input voltage
0
0
VREF
VDD
V
V
VREF 受寄存器VREFS[1:0]控制
外部参考电
压输入范围
Vref
input range
VREFS[1:0]=01
0.55
0.51
mA
mA
VDD=5V(VDD 作为参考电压)
VDD=3V(VDD 作为参考电压)
ADC current
consumption
ADC 功耗
ADC
Conversion
Cycle Time
ADC 转换周
期
3.5
10
uS
SRADACKS[1:0]=01;
SRADCKS[1:0]=01;
VREFS[1:0]=01,外部参考电压
VREFS[1:0]=00,VDD 做为参考电
INL
LSB
积分非线性
无失码
±3
±5
8
8
9
9
10
10
Bits
Bits
No missing
code
REV1.5
第118 页,共130 页
CSU8RP3218
压
7
8
9
Bits
V
V
V
V
VREFS[1:0]=10,内部参考电压
REF_SEL [1:0]= 00
REF_SEL [1:0]=01
REF_SEL [1:0]=10
REF_SEL [1:0]=11
-1%
-1%
-1%
-1%
1.4
2.0
3.0
4.0
+1%
+1%
+1%
+1%
内部参考电
压
IVREF
内部参考电
压温漂
IVREF temp
drift
50
-4
ppm
mV
ADC 失调电
压
Offset
5.4 32MHz IRC 时钟频率特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
32MHz IRC时钟频率随电压和温度变化曲线
34
33
32
31
30
29
28
85ºC
60ºC
40ºC
20ºC
-20ºC
-35ºC
VDD(V)
图25 32MHz RC 时钟频率的电压和温度特性
5.5 16MHz IRC 时钟频率特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
16MHz IRC时钟频率随电压和温度变化曲线
16.2
15.8
15.4
85ºC
60ºC
40ºC
20ºC
0ºC
-20ºC
-35ºC
VDD(V)
图26 16MHz RC 时钟频率的电压和温度特性
REV1.5
第119 页,共130 页
CSU8RP3218
5.6 8MHz IRC 时钟频率特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
8MHz IRC时钟频率随电压和温度变化曲线
8.4
8.2
8
85ºC
60ºC
40ºC
20ºC
0ºC
7.8
-20ºC
-35ºC
VDD(V)
图27 8MHz RC 时钟频率的电压和温度特性
5.7 4MHz IRC 时钟频率特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
4MHz IRC时钟频率随电压和温度变化曲线
4.25
4.17
4.09
4.01
3.93
3.85
85ºC
60ºC
40ºC
20ºC
0ºC
-20ºC
-35ºC
VDD(V)
图28 4MHz RC 时钟频率的电压和温度特性
5.8 2MHz IRC 时钟频率特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
REV1.5
第120 页,共130 页
CSU8RP3218
2MHz IRC时钟频率随电压和温度变化曲线
85ºC
60ºC
40ºC
20ºC
0ºC
2.12
2.06
2
1.94
-20ºC
-35ºC
VDD(V)
图29 2MHz RC 时钟频率的电压和温度特性
5.9 32KHz WDT 时钟频率特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
WDT时钟频率随电压和温度变化曲线
33.5
33
85ºC
60ºC
40ºC
20ºC
0ºC
32.5
32
31.5
-20ºC
-35ºC
VDD(V)
图30 WDT 频率的电压和温度特性
5.10 ERC 频率的电压和温度特性(R=68KΩ,C=0.1uF)
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
REV1.5
第121 页,共130 页
CSU8RP3218
ERC时钟频率随电压和温度变化曲线
7.1
6.9
6.7
6.5
6.3
85ºC
60ºC
40ºC
20ºC
0ºC
-20ºC
-35ºC
VDD(V)
图31 ERC 频率的电压和温度特性
5.11 2.0V 掉电复位温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
2.0V掉电复位电压随温度变化曲线
2.3
2.2
2.1
2
2.0V
1.9
1.8
-35
-20
0
20
40
60
85
温度(ºC)
图32 2.0V 掉电复位温度特性
5.12 2.4V 低电压复位温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
REV1.5
第122 页,共130 页
CSU8RP3218
2.4V掉电复位电压随温度变化曲线
2.7
2.6
2.5
2.4
2.3
2.4V
-35
-20
0
20
40
60
85
温度(ºC)
图33 2.4 低电压复位温度特性
5.13 3.6V 低电压复位温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
3.6V掉电复位电压随温度变化曲线
3.8
3.7
3.6
3.5
3.6V
-35
-20
0
20
40
60
85
温度(ºC)
图34 3.6V 低电压复位温度特性
5.14 1.4V 内部参考电压的电压和温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
内部参考电压1.4V电压和温度特性
1.41
1.405
1.4
85ºC
60ºC
40ºC
20ºC
0ºC
1.395
1.39
-20ºC
-35ºC
VDD(V)
REV1.5
第123 页,共130 页
CSU8RP3218
图35 内置参考电压1.4V 电压和温度特性
5.15 2.0V 内部参考电压的电压和温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
内部参考电压2.0V电压和温度特性
2.01
2.005
2
85ºC
60ºC
40ºC
20ºC
0ºC
1.995
1.99
-20ºC
-35ºC
VDD(V)
图36 内置参考电压2.0V 电压和温度特性
5.16 3.0V 内部参考电压的电压和温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
内部参考电压3.0V电压和温度特性
3.005
3
85ºC
60ºC
40ºC
20ºC
0ºC
2.995
2.99
2.985
2.98
-20ºC
-35ºC
VDD(V)
图37 内置参考电压3.0V 电压和温度特性
5.17 4.0V 内部参考电压的电压和温度特性
下图为实际芯片的测试数据,不同芯片会略微有所差异,仅供参考。
REV1.5
第124 页,共130 页
CSU8RP3218
内部参考电压4.0V电压和温度特性
4.01
4
85ºC
60ºC
40ºC
20ºC
0ºC
3.99
3.98
3.97
-20ºC
-35ºC
VDD(V)
图38 内置参考电压4.0V 电压和温度特性
REV1.5
第125 页,共130 页
CSU8RP3218
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
REV1.5
第126 页,共130 页
CSU8RP3218
6.2 TSSOP-20pin
MIN
NOR
(mm)
MAX
SYMBOLS
A
A1
b
C
D
E
0.80
0.05
0.19
0.09
6.40
4.30
1.00
-
-
-
1.05
0.15
0.30
0.20
6.60
4.50
6.50
4.40
0.65BSC
-
e
α
0°
8°
H
6.20
6.40
6.60
L
0.45
0.60
0.75
REV1.5
第127 页,共130 页
CSU8RP3218
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
REV1.5
第128 页,共130 页
CSU8RP3218
7.2 命名举例说明
RO
M
类
型
功能
分类
产品定
位型号
芯片
版本
封装
形式
工作温度
围
名称
内核
封装材料
范
8 位 Risc
MCU
CSU8RP3218-SS-CE
OTP ADC
218
第1 版
SSOP
-40~85 ºC 无铅封装(PB-Free 封装)
7.3 产品印字说明
CHIPSEA
产品型号
XXXXX
A
C
B
芯片正面印字一般有3 行:
第一行为公司名称,为CHIPSEA。
第二行为产品型号。对于一些小尺寸封装,会对产品型号进行缩减。
第三行为日期码。从左端起算,前两位为公历年号后两位;第三第四位为本年度日历周数,不足
两位时左端补0;最后一位为产品随机号。
例如, CSU8RP3218的印字如下:
CHIPSEA
RP3218-SS
1520A
A
C
B
注:CSU8RP3218-SS-CE 的产品型号印字为RP3218-SS。
REV1.5
第129 页,共130 页
CSU8RP3218
REV1.5
第130 页,共130 页
相关型号:
©2020 ICPDF网 联系我们和版权申明