带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
BC68F2130/BC68F2140/BC68F2150
版本 : V1.60
日期 : 2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
目 录
特性 ...................................................................................................................................... 5
CPU 特性 ..................................................................................................................................... 5
周边特性 ...................................................................................................................................... 5
RF 发射器特性 ............................................................................................................................ 5
概述 ...................................................................................................................................... 6
方框图 .................................................................................................................................. 7
选型表 .................................................................................................................................. 7
引脚图 .................................................................................................................................. 8
引脚说明 .............................................................................................................................. 9
极限参数 ............................................................................................................................ 12
直流电气特性 .................................................................................................................... 12
交流电气特性 .................................................................................................................... 13
LVD & LVR 电气特性 ...................................................................................................... 14
RF 发射器电气特性 .......................................................................................................... 15
上电复位特性 .................................................................................................................... 16
系统结构 ............................................................................................................................ 16
时序和流水线结构 .................................................................................................................... 16
程序计数器 ................................................................................................................................ 17
堆栈 ............................................................................................................................................ 18
算术逻辑单元 – ALU ................................................................................................................ 18
Flash 程序存储器 .............................................................................................................. 19
结构 ............................................................................................................................................ 19
特殊向量 .................................................................................................................................... 19
查表 ............................................................................................................................................ 19
查表范例 .................................................................................................................................... 20
在线烧录 – ICP .......................................................................................................................... 21
片上调试 – OCDS...................................................................................................................... 21
在应用烧录 – IAP ...................................................................................................................... 22
数据存储器 ........................................................................................................................ 32
结构 ............................................................................................................................................ 32
数据存储器寻址 ........................................................................................................................ 33
通用数据存储器 ........................................................................................................................ 33
特殊功能数据存储器 ................................................................................................................ 33
特殊功能寄存器 ................................................................................................................ 35
间接寻址寄存器 – IAR0, IAR1, IAR2...................................................................................... 35
存储器指针 – MP0, MP1H/MP1L, MP2H/MP2L..................................................................... 35
累加器 – ACC ............................................................................................................................ 36
程序计数器低字节寄存器 – PCL ............................................................................................. 37
查表寄存器 – TBLP, TBHP, TBLH ........................................................................................... 37
状态寄存器 – STATUS .............................................................................................................. 37
Rev. 1.60
2
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
振荡器 ................................................................................................................................ 39
振荡器概述 ................................................................................................................................ 39
系统时钟配置 ............................................................................................................................ 39
外部晶体 / 陶瓷振荡器 – HXT ................................................................................................. 40
内部高速 RC 振荡器 – HIRC ................................................................................................... 40
内部 32kHz 振荡器 – LIRC ...................................................................................................... 40
工作模式和系统时钟 ........................................................................................................ 41
系统时钟 .................................................................................................................................... 41
系统工作模式 ............................................................................................................................ 42
控制寄存器 ................................................................................................................................ 43
工作模式切换 ............................................................................................................................ 46
待机电流的注意事项 ................................................................................................................ 50
唤醒 ............................................................................................................................................ 50
看门狗定时器 .................................................................................................................... 52
看门狗定时器时钟源 ................................................................................................................ 52
看门狗定时器控制寄存器 ........................................................................................................ 52
看门狗定时器操作 .................................................................................................................... 53
复位和初始化 .................................................................................................................... 54
复位功能 .................................................................................................................................... 54
复位初始状态 ............................................................................................................................ 57
输入 / 输出端口 ................................................................................................................. 61
上拉电阻 .................................................................................................................................... 61
PA 口唤醒 .................................................................................................................................. 62
输入 / 输出端口控制寄存器 ..................................................................................................... 62
引脚共用功能 ............................................................................................................................ 63
输入 / 输出引脚结构 ................................................................................................................. 64
编程注意事项 ............................................................................................................................ 65
定时器模块 – TM .............................................................................................................. 66
简介 ............................................................................................................................................ 66
TM 操作 ..................................................................................................................................... 66
TM 时钟源 ................................................................................................................................. 66
TM 中断 ..................................................................................................................................... 66
TM 外部引脚 ............................................................................................................................. 67
TM 输入 / 输出引脚选择 .......................................................................................................... 67
编程注意事项 ............................................................................................................................ 68
简易型 TM – CTM............................................................................................................ 69
简易型 TM 操作 ........................................................................................................................ 69
简易型 TM 寄存器介绍 ............................................................................................................ 69
简易型 TM 工作模式 ................................................................................................................ 73
周期型 TM – PTM ............................................................................................................ 79
周期型 TM 操作 ........................................................................................................................ 79
周期型 TM 寄存器介绍 ............................................................................................................ 79
周期型 TM 工作模式 ................................................................................................................ 83
Rev. 1.60
3
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
RF 发射器 .......................................................................................................................... 91
RF 发射器缩写注意事项 .......................................................................................................... 91
RF 发射器控制寄存器 .............................................................................................................. 91
调制模式和工作模式选择 ........................................................................................................ 98
突发模式下的 TX FIFO 模式 ................................................................................................. 100
RF 通道设置 ............................................................................................................................ 102
软件编程指南 .......................................................................................................................... 104
中断 .................................................................................................................................. 106
中断寄存器 .............................................................................................................................. 106
中断操作 .................................................................................................................................. 110
外部中断 .................................................................................................................................. 111
时基中断 .................................................................................................................................. 111
多功能中断 .............................................................................................................................. 113
RF TX FIFO 长度阈值检测中断 ............................................................................................ 113
RF 突发模式传送完成中断 ................................................................................................... 114
LVD 中断 ................................................................................................................................. 114
TM 中断 ................................................................................................................................... 114
中断唤醒功能 .......................................................................................................................... 114
编程注意事项 .......................................................................................................................... 115
低电压检测 – LVD .......................................................................................................... 115
LVD 寄存器 ............................................................................................................................. 115
LVD 操作 ................................................................................................................................. 116
配置选项 .......................................................................................................................... 116
应用电路 .......................................................................................................................... 117
指令集 .............................................................................................................................. 118
简介 .......................................................................................................................................... 118
指令周期 .................................................................................................................................. 118
数据的传送 .............................................................................................................................. 118
算术运算 .................................................................................................................................. 118
逻辑和移位运算 ...................................................................................................................... 118
分支和控制转换 ...................................................................................................................... 119
位运算 ...................................................................................................................................... 119
查表运算 .................................................................................................................................. 119
其它运算 .................................................................................................................................. 119
指令集概要 ...................................................................................................................... 120
惯例 .......................................................................................................................................... 120
扩展指令集 .............................................................................................................................. 123
指令定义 .......................................................................................................................... 125
扩展指令定义 .......................................................................................................................... 137
封装信息 .......................................................................................................................... 147
16-pin NSOP-EP (150mil) 外形尺寸 ....................................................................................... 148
24-pin SSOP-EP (150mil) 外形尺寸 ....................................................................................... 149
SAW Type 16-pin QFN (4mm×4mm×0.75mm) 外形尺寸...................................................... 150
SAW Type 24-pin QFN (4mm×4mm×0.75mm) 外形尺寸...................................................... 151
Rev. 1.60
4
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
特性
CPU 特性
● 工作电压
♦ fSYS=16MHz:2.0V~3.6V
● VDD=5V,系统时钟为 16MHz 时,指令周期为 0.25μs
● 提供省电和唤醒功能,以降低功耗
● 振荡器类型
♦ RF 外部高速晶振 – HXT
♦ 内部高速 RC – HIRC
♦ 内部低速 32kHz RC – LIRC
● 多种工作模式:正常、低速、空闲、休眠和深度休眠
● 内部集成的振荡器,无需外接元件
● 所有指令都可在 1 到 3 个指令周期内完成
● 查表指令
● 115 条指令
● 多达 8 层堆栈
● 位操作指令
周边特性
●
●
●
●
●
●
●
Flash 程序存储器:2K×16 ~ 8K×16
RAM 数据存储器:256×8
支持在应用烧录功能 – IAP
看门狗定时器功能
多达 14 个双向 I/O 口
2 个与 I/O 口复用的外部中断输入
多个定时器模块用于时间测量、捕捉输入、比较匹配输出、PWM 输出及单脉
冲输出
♦ 1 个 10-bit 简易型 TM – CTM
♦ 1 个 10-bit 周期性 TM – PTM
● 双时基功能,用于产生固定时间的中断信号
● 内建 1.5V LDO
● 低电压复位功能
● 低电压检测功能
● Flash 程序存储器可重复烧录达 100,000 次
● Flash 程序存储器数据可保存 10 年以上
● 封装类型:16-pin NSOP-EP/QFN,24-pin SSOP-EP/QFN
RF 发射器特性
● 带传送相位低噪声的完整超高频 OOK/FSK 发射器
● 支持 315/433/868/915MHz 频带
● 小于 2kHz 分辨率的可编程通道设置
Rev. 1.60
5
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● OOK 符号传送速率 0.5Ksps~25Ksps,FSK 数据传送速率 0.5Kbps~100Kbps
● 输出功率高达 13dBm ( 可软件控制输出功率:0,+10dBm,+13dBm )
● RF 外部晶振:16MHz
概述
该系列 Sub-1GHz RF 发射器单片机提供一个功能齐全的单片机和 RF 发射器功
能,使其灵活地应用于一系列无线输入 / 输出控制如工业控制、消费类产品和
子系统控制器等。
该系列单片机具有一系列功能和特性,其 Flash 存储器可多次编程的特性给用
户提供了较大的方便。存储器方面,除了 Flash 程序存储器,还包含了一个可
用于存储序列号、校准数据等非易失性数据的 RAM 数据存储器。通过使用
Holtek 在线应用编程功能,用户可方便直接地将测量数据存储在 Flash 存储器
中,且方便对应用程序进行更新。
该单片机还带有多个使用灵活的定时器模块,可提供定时功能、脉冲产生功能
及 PWM 产生功能。内部看门狗定时器、低电压复位和低电压检测等内部保护
特性,外加优秀的抗干扰和 ESD 保护性能,确保单片机在恶劣的电磁干扰环境
下可靠地运行。
该单片机提供了丰富的内部和外部高速、低速振荡器功能选项,且内建完整的
系统振荡器,无需外围元器件。其在不同工作模式之间动态切换的能力,为用
户提供了一个优化单片机操作和减少功耗的手段。
集成的 RF 发射器可工作在 315MHz、433MHz、868MHz 和 915MHz 频带。创
建一个完整通用的 RF 发射器系统仅需一个额外的晶振和少量的外部元器件。
该系列单片机还提供了内部功率放大器,可为 50Ω 负载提供高达 +13dBm 的
功率。这样的功率水平可使一个小型的发射器在接近最大传输规限条件下仍可
工作。该系列单片机接收类型有 OOK—On-Off Keying ( 开关键控 ) 和 FSK—
Frequency Shift Keying ( 频移键控 ) 两种。FSK 数据传送速率高达 100Kbps,允
许单片机支持更复杂的控制协议。
外加 I/O 使用灵活和时基功能等其它特性,确保该系列单片机拥有足够能力提
供低成本,高效益的单片机 Sub-1GHz RF 发射器方案应用于无线远程。
Rev. 1.60
6
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
方框图
VDD
LDO
2.0V ~ 3.6V
VDD
Domain
1.5V
V15O
VSS
VSS
IAP
Reset
Circuit
Interrupt
Controller
INT0~
INT1
1.5V
Domain
Level Shift
RAM
256×8
CTM
Stack
8-Level
LVD
PTM
Watchdog
Timer
LVR
I/O
Bus
Pin-Shared
With Port A
ROM
8K×16
HT8 MCU Core
PinShared
Function
Digital Peripherals
MUX
HIRC
VDDRF
VSSRF
EP
PA
RFOUT
VSSRF_PA
VSSRF_PA
RF
Synthesizer
HXT
RF Transmitter
Clock System
: Pin-Shared Node
PB0~PB5
VDDRF
RF Control
LIRC
: Expose Pad
Port B
Driver
VSSRF
Time Bases
OSC2
PA0~PA7
VDDRF
SYSCLK
OSC1
Port A
Driver
: 24 Pin Only
注:该图为设备最大型号的方框图,选型表中提供了设备型号间的功能差异。
选型表
对此系列的芯片而言,大多数的特性参数都是一样的。主要差异在于程序存储
器的容量、I/O 口数目和封装类型。下表列出了各单片机的主要特性。
ROM
RAM
I/O
BC68F2130 2.0V~3.6V 2K×16
256×8
8
2
√
BC68F2140 2.0V~3.6V 4K×16
256×8
14
2
√
BC68F2150 2.0V~3.6V 8K×16
256×8
14
2
√
型号
型号
BC68F2130
BC68F2140
BC68F2150
Rev. 1.60
VDD
集成 RF
频带
315~915MHz
315~915MHz
315~915MHz
类型
OOK/FSK TX
OOK/FSK TX
OOK/FSK TX
7
外部中断 LDO
TM 模块
10-bit CTM×1
10-bit PTM×1
10-bit CTM×1
10-bit PTM×1
10-bit CTM×1
10-bit PTM×1
时基
堆栈
封装
2
2
2
8
8
8
16NSOP-EP/QFN
24SSOP-EP/QFN
24SSOP-EP/QFN
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
引脚图
VSS
PA3/INT0
1
16
VDD
2
15
V15O
PA2/PTP/ICPCK/OCDSCK
3
14
PB4
PA1/PTCK
4
13
PB5
PA0/PTPI/PTPB/ICPDA/OCDSDA
5
12
OSC2
6
11
PA4/INT1
PA5/CTP
OSC1
VSSRF_PA
7
10
VDDRF
8
9
RFOUT
EP
BC68F2130
16 NSOP-EP-A
V15O
VDD
VSS
PA3/INT0
PA2/PTP/ICPCK/OCDSCK
PA1/PTCK
PA0/PTPI/PTPB/ICPDA/OCDSDA
OSC2
1
2
3
4
16 15 14 13
12
11
EP 10
9
5 6 7 8
PB4
PB5
PA4/INT1
PA5/CTP
VDDRF
RFOUT
VSSRF_PA
OSC1
BC68F2130
16 QFN-A
VSS
1
24
VDD
PB3
2
23
V15O
PB2
3
22
PB4
PB1
4
21
PB5
PB0
5
20
PA4/INT1
PA3/INT0
6
PA5/CTP
PA2/PTP/ICPCK/OCDSCK
7
EP 19
18
PA1/PTCK
8
17
PA7/CTCK
PA0/PTPI/PTPB/ICPDA/OCDSDA
9
16
OSC2
10
15
VSSRF
VDDRF
OSC1
11
14
RFOUT
NC
12
13
VSSRF_PA
PA6/CTPB
BC68F2140/BC68F2150
24 SSOP-EP-A
Rev. 1.60
8
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
V15O
VDD
VSS
PB3
PB2
PB1
PB0
PA3/INT0
PA2/PTP/ICPCK/OCDSCK
PA1/PTCK
PA0/PTPI/PTPB/ICPDA/OCDSDA
OSC2
1
2
3
4
5
6
24 23 22 21 20 19
18
17
16
EP
15
14
13
7 8 9 10 11 12
PB4
PB5
PA4/INT1
PA5/CTP
PA6/CTPB
PA7/CTCK
VSSRF
VDDRF
RFOUT
VSSRF_PA
NC
OSC1
BC68F2140
BC68F2150
24 QFN-A
注:1. 若共用脚同时有多种输出,所需引脚共用功能通过引脚共用寄存器中相应的软件控制
位控制。
2. OCDSDA 和 OCDSCK 引脚为 OCDS 专用引脚。
引脚说明
每个引脚的功能如下表所述,而引脚配置的详细内容见规格书其它章节。
BC68F2130
引脚名称
PA0/PTPI/
PTPB/ICPDA/
OCDSDA
PA1/PTCK
PA2/PTP/
ICPCK/
OCDSCK
PA3/INT0
Rev. 1.60
OPT
PAPU
PA0
PAWU
PAS0
PTPI
PAS0
PTPB
PAS0
ICPDA
—
OCDSDA
—
PAPU
PA1
PAWU
PAS0
PTCK
PAS0
PAPU
PA2
PAWU
PAS0
PTP
PAS0
ICPCK
—
OCDSCK
—
PAPU
PA3
PAWU
PAS0
PAS0
INT0
INTEG
INTC0
功能
I/T
O/T
说明
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
ST
—
ST
ST
—
CMOS
CMOS
CMOS
PTM 捕捉输入
PTM 反相输出
ICP 地址 / 数据
OCDS 数据 / 地址
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
ST
—
ST
CMOS
—
ST
ST
CMOS PTM 输出
—
ICP 时钟
—
OCDS 时钟
ST
CMOS
ST
—
9
PTM 时钟输入
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
外部中断 0 输入
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
引脚名称
功能
PA4
PA4/INT1
INT1
PA5
PA5/CTP
PB4~PB5
OSC1
OSC2
RFOUT
VDD
V15O
VSS
VDDRF
VSSRF_PA
EP
CTP
PBn
OSC1
OSC2
RFOUT
VDD
V15O
VSS
VDDRF
VSSRF_
PA
VSS
OPT
PAPU
PAWU
PAS1
PAS1
INTEG
INTC0
PAPU
PAWU
PAS1
PAS1
PBPU
—
—
—
—
—
—
—
I/T
O/T
说明
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
ST
—
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
—
ST
HXT
—
—
PWR
PWR
PWR
PWR
CMOS
CMOS
—
HXT
AN
—
—
—
—
CTM 输出
通用 I/O 口,可通过寄存器设置上拉电阻
RF 振荡器输入
RF 振荡器输出
RF 功率放大器输出
3.3V 正电源
1.5V 内部 LDO 输出
数字负电源
RF 正电源
—
PWR
—
RF 功率放大器负电源
—
PWR
—
裸露焊盘,必须接地
注:I/T:输入类型;
PWR:电源;
AN:模拟信号;
外部中断 1 输入
O/T:输出类型;
ST:施密特触发输入;
HXT:高频晶体振荡器
OPT:通过寄存器选择;
CMOS:CMOS 输出;
BC68F2140/BC68F2150
引脚名称
PA0/PTPI/
PTPB/ICPDA/
OCDSDA
PA1/PTCK
PA2/PTP/
ICPCK/
OCDSCK
Rev. 1.60
OPT
PAPU
PA0
PAWU
PAS0
PTPI
PAS0
PTPB
PAS0
ICPDA
—
OCDSDA
—
PAPU
PA1
PAWU
PAS0
PTCK
PAS0
PAPU
PA2
PAWU
PAS0
PTP
PAS0
ICPCK
—
OCDSCK
—
功能
I/T
O/T
说明
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
ST
—
ST
ST
—
CMOS
CMOS
CMOS
PTM 捕捉输入
PTM 反相输出
ICP 地址 / 数据
OCDS 数据 / 地址
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
ST
—
ST
CMOS
—
ST
ST
CMOS PTM 输出
—
ICP 时钟
—
OCDS 时钟
10
PTM 时钟输入
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
引脚名称
功能
PA3
PA3/INT0
INT0
PA4
PA4/INT1
INT1
PA5
PA5/CTP
CTP
PA6
PA6/CTPB
CTPB
PA7/CTCK
PB0~PB5
OSC1
OSC2
RFOUT
VDD
V15O
VSS
VDDRF
VSSRF
VSSRF_PA
NC
EP
PA7
CTCK
PBn
OSC1
OSC2
RFOUT
VDD
V15O
VSS
VDDRF
VSSRF
VSSRF_
PA
NC
VSS
注:I/T:输入类型;
PWR:电源;
AN:模拟信号;
Rev. 1.60
OPT
PAPU
PAWU
PAS0
PAS0
INTEG
INTC0
PAPU
PAWU
PAS1
PAS1
INTEG
INTC0
PAPU
PAWU
PAS1
PAS1
PAPU
PAWU
PAS1
PAS1
PAPU
PAWU
—
PBPU
—
—
—
—
—
—
—
—
I/T
O/T
说明
ST
CMOS
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
ST
—
ST
CMOS
ST
—
ST
CMOS
—
CMOS CTM 输出
ST
CMOS
—
CMOS CTM 反相输出
通用 I/O 口,可通过寄存器设置上拉电阻
CMOS
和唤醒功能
—
CTM 时钟输入
CMOS 通用 I/O 口,可通过寄存器设置上拉电阻
—
RF 振荡器输入
HXT RF 振荡器输出
AN RF 功率放大器输出
—
3.3V 正电源
—
1.5V 内部 LDO 输出
—
数字负电源
—
RF 正电源
—
RF 负电源
ST
ST
HXT
—
—
PWR
PWR
PWR
PWR
PWR
—
PWR
—
RF 功率放大器负电源
—
—
—
PWR
—
—
未连接
裸露焊盘,必须接地
ST
外部中断 0 输入
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
外部中断 1 输入
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
通用 I/O 口,可通过寄存器设置上拉电阻
和唤醒功能
O/T:输出类型;
ST:施密特触发输入;
HXT:高频晶体振荡器
11
OPT:通过寄存器选择;
CMOS:CMOS 输出;
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
极限参数
电源供应电压 ...........................................................................VSS-0.3V ~ VSS+3.6V
端口输入电压 .......................................................................... VSS-0.3V ~ VDD+0.3V
储存温度 ............................................................................................ -60°C ~ 150°C
工作温度 .............................................................................................. -40°C ~ 85°C
IOH总电流 .......................................................................................................... -80mA
IOL总电流............................................................................................................ 80mA
总功耗 ............................................................................................................. 500mW
ESD HBM ........................................................................................................... ±2kV
ESD MM ........................................................................................................... ±400V
注:这里只强调额定功率,超过极限参数所规定的范围将对芯片造成损害,无
法预期芯片在上述标示范围外的工作状态,而且若长期在标示范围外的条
件下工作,可能影响芯片的可靠性。
该系列单片机为 ESD 感应。人体模式 HBM (Human Body Mode) 基于标准
MIL-STD-883H Method 3015.8。机器模式 MM (Machine Mode) 基于 JEDEC
EIA/JESD22-A115。
直流电气特性
Ta=25°C
符号
参数
VDD
MCU 工作电压 – HXT
( RF 外部晶振 )
MCU 工作电压 – HIRC
MCU 工作电压 – LIRC
V15O
LDO 工作电压
工作电流 – LIRC
(LCMD=1)
IDD
工作电流 – LIRC
(LCMD=0)
工作电流 – HIRC
工作电流 – HXT
Rev. 1.60
VDD
—
测试条件
条件
fSYS=fHXT=16MHz
最小
典型
最大
单位
2.0
—
3.6
V
—
—
3.6
3.6
V
V
1.5
+10%
V
30
50
μA
42
70
μA
0.76
1.50
mA
1.1
1.6
mA
— fSYS=fHIRC=16MHz
2.0
— fSYS=fLIRC=32kHz
2.0
2.0V
—
-10%
~3.6V
无负载,所有外设关闭,
3V fSYS=fLIRC=32kHz,
—
RF TX 电源关闭
无负载,所有外设关闭,
3V fSYS=fLIRC=32kHz,
—
RF TX 电源关闭
无负载 , 所有外设关闭,
3V fSYS=fHIRC=16MHz,
—
RF TX 电源关闭
无负载 , 所有外设关闭,
3V fSYS=fHXT=16MHz,
—
RF TX 电源关闭
12
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
符号
ISTB
参数
待机电流 ( 深度休眠模
式,LDO off)
待机电流 ( 深度休眠模
式,LDO off)
待机电流
( 空闲模式 1,LDO on )
VIL
I/O 口低电平输入电压
VIH
I/O 口高电平输入电压
IOL
IOH
VOL
VOH
RPH
I/O 口灌电流
I/O 口源电流
I/O 口低电平输出电压
I/O 口高电平输出电压
I/O 口上拉电阻
VDD
3V
3V
3V
3V
—
3V
—
3V
3V
3V
3V
3V
测试条件
最小 典型 最大 单位
条件
无负载,所有外设关闭,
μA
—
0.4
1.0
WDT off
无负载,所有外设关闭,
μA
—
1.2
3.0
WDT on
无负载,所有外设关闭,
μA
fSUB on,
—
600
900
fSYS=fHXT=16MHz
—
0
—
0.9
V
—
0
— 0.3VDD
—
2.1
—
3.0
V
—
0.7VDD —
VDD
VOL=0.1VDD
10
20
—
mA
VOH=0.9VDD
-5
-10
—
mA
IOL=10mA
—
—
0.3
V
IOH=-5mA
2.7
—
—
V
—
20
30
60
kΩ
交流电气特性
Ta=25°C,除非另有说明
符号
fSYS
fHIRC
fLIRC
tINT
tTCK
tTPI
参数
系统时钟 – HXT
( RF 外部晶振 )
MCU 系统时钟 – HIRC
系统时钟 – LIRC
VDD
2.0V~3.6V fSYS=fHXT=16MHz
2.0V~3.6V
2.0V~3.6V
3V
3V±0.1V
内部高速 RC 振荡器时钟
2.0V~3.6V
2.0V~3.6V
内部低速 RC 振荡器时钟
3V
外部中断最小脉宽
—
xTM xTCK 输入引脚最
—
小脉宽
PTM PTPI 输入引脚最小
—
脉宽
Rev. 1.60
测试条件
条件
—
16
—
MHz
—
—
-2%
-5%
-7%
-10%
-10%
10
16
32
16
16
16
16
32
—
—
—
+2%
+5%
+7%
+10%
+10%
—
MHz
kHz
—
0.3
—
—
μs
—
0.3
—
—
μs
fSYS=fHIRC=16MHz
fSYS=fLIRC=32kHz
Ta=25°C
Ta=0℃~70℃
Ta=0℃~70℃
Ta=-40℃~85℃
Ta=25°C
—
13
最小 典型 最大 单位
MHz
kHz
μs
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
符号
参数
系统启动时间
( 从 fSYS off 的 HALT 状
态下唤醒 )
tSST
VDD
—
—
—
系统启动时间
( 从 fSYS on 的 HALT 状态
下唤醒 )
—
—
—
系统启动时间
( 低速模式 → 正常模式
或 fH=fHIRC → fHXT)
tRSTD
tSRESET
—
系统启动时间
( WDT 溢出复位 )
系统复位延迟时间
( 上电复位,LVR 硬件复
位,LVRC/WDTC/RSTC
软件复位 )
系统复位延迟时间
( WDT 硬件复位 )
软件复位最小延迟脉宽
测试条件
最小 典型 最大 单位
条件
fSYS=fHXT ~ fHXT / 64
128
—
—
tHXT
fSYS=fHIRC ~ fHIRC / 64
16
—
—
tHIRC
fSYS=fLIRC
2
—
—
tSUB
fSYS=fH ~ fH / 64,
2
—
—
tH
fH=fHXT 或 fHIRC
fSYS=fLIRC
2
—
—
tSUB
fHXT off→on (HXTF=1) 1024 —
—
tHXT
fHIRC off→on
16
—
—
tHIRC
(HIRCF=1)
—
—
0
—
—
tH
—
—
25
50
100
ms
—
—
8.3
16.7
33.3
ms
—
—
45
90
120
μs
LVD & LVR 电气特性
符号
VLVR
参数
低电压复位电压
VLVD
低电压检测电压
IOP
工作电流
tLVDS
LVDO 稳定时间
tLVR
tLVD
Rev. 1.60
产生 LVR 复位的低电压
最短保持时间
产生 LVD 中断的低电压
最短保持时间
Ta=25°C
VDD
测试条件
条件
—
LVR 使能,电压选择 1.9V
—
LVD 使能,电压选择 1.9V
—
—
—
—
—
—
—
3V
—
—
LVD 使能,电压选择 2.0V
LVD 使能,电压选择 2.2V
LVD 使能,电压选择 2.4V
LVD 使能,电压选择 2.8V
LVD 使能,电压选择 2.9V
LVD 使能,电压选择 3.0V
LVD 使能,电压选择 3.3V
LVD 使能,LVR 使能
LVR 使能,LVD off → on
LVR 除能,LVD off → on
最小 典型 最大 单位
Typ.
-0.1
Typ.
-0.1
1.9
1.9
—
—
—
2.0
2.2
2.4
2.8
2.9
3.0
3.3
25
—
—
-5%
Typ.
+0.1
Typ.
+0.1
+5%
V
V
35
15
150
μA
μs
μs
—
—
120
240
480
μs
—
—
60
120
240
μs
14
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
RF 发射器电气特性
符号
参数
VDDRF
ISTBRF
fXTAL
fXTALV
fOP
fFSK
RF 工作电压
RF 暂停电流
RF 工作晶振
RF 工作晶振变化
RF 工作频率
FSK 频率偏差
fSTEP
RF 频率步进
RFSK
PRF
无线数据传输速
率 (FSK)
无线符号传输速
率 (OOK)
输出功率
PRFV
输出功率变化
ROOK
IDDTX 发射器工作电流
Ta=25°C
VDD
—
—
—
—
—
—
—
—
SETX
fLO
RF 频率覆盖范围
Rev. 1.60
最小 典型 最大
单位
2.0
—
—
-20
315
10
—
—
3.0
—
16
—
—
—
—
—
3.6
1
—
+20
915
150
50
100
V
μA
MHz
ppm
MHz
kHz
Hz
—
—
0.5
—
100
Kbps
—
—
0.5
—
25
Ksps
3.0V
2.0V~3.3V
2.5V~3.3V
3.0V
3.0V
3.0V
3.0V
3.0V
3.0V
—
PRF=10dBm (fOP=433MHz)
PRF=10dBm (fOP=433MHz)
PRF=0dBm (fOP=315/433MHz)
PRF=10dBm (fOP=315/433MHz)
PRF=13dBm (fOP=315/433MHz)
PRF=0dBm (fOP=868/915MHz)
PRF=10dBm (fOP=868/915MHz)
PRF=13dBm (fOP=868/915MHz)
0
—
—
—
—
—
—
—
—
10
—
—
12
18
25
13
23
28
13
6
3
—
—
—
—
—
—
—
PRF=10dBm,100kHz 来自载波
—
—
-80
—
PRF=10dBm,1MHz 来自载波
—
—
-100
—
f < 1GHz
47MHz < f < 74MHz
87.5MHz < f < 118MHz
174MHz < f < 230MHz
470MHz < f < 790MHz
二次谐波
三次谐波
二次谐波 ( 其它频率 )
三次谐波 ( 其它频率 )
315MHz 频带
433MHz 频带
868/915MHz 频带
—
—
-36
dBm
dBm
dBm
mA
mA
mA
mA
mA
mA
dBc/
Hz
dBc/
Hz
dBm
—
—
-54
dBm
—
—
—
—
240
410
800
—
—
—
—
—
—
—
-30
-30
-30
-30
340
510
1000
dBm
dBm
dBm
dBm
PNTX 发射器相位噪声
发射器杂散发射
(PRF=10dBm,
fOP=433MHz)
测试条件
条件
—
—
—
—
—
—
fOP=315/433MHz
fOP=868/915MHz
—
—
—
—
—
—
—
—
15
MHz
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
上电复位特性
Ta=25°C
符号
VPOR
RRPOR
tPOR
参数
上电复位电压
上电复位电压速率
VDD 保持为 VPOR 的最小时间
VDD
—
—
—
测试条件
条件
—
—
—
tPOR
RRPOR
最小 典型 最大 单位
—
0.035
1
—
—
—
100
—
—
mV
V/ms
ms
VDD
VPOR
Time
系统结构
内部系统结构是 Holtek 单片机具有良好性能的主要因素。由于采用 RISC 结构,
该系列单片机具有高运算速度和高性能的特点。通过流水线的方式,指令的取
得和执行同时进行,此举使得除了跳转和调用指令需多一个指令周期外,其它
大部分标准指令或扩展指令都能分别在一个或两个指令周期内完成。8 位 ALU
参与指令集中所有的运算,它可完成算术运算、逻辑运算、移位、递增、递减
和分支等功能,而内部的数据路径则是以通过累加器和 ALU 的方式加以简化。
有些寄存器在数据存储器中被实现,且可以直接或间接寻址。简单的寄存器寻
址方式和结构特性,确保了在提供具有较大可靠度和灵活性的 I/O 控制系统时,
仅需要少数的外部器件。使得该系列单片机适用于低成本和大量生产的控制应
用。
时序和流水线结构
主系统时钟由 HXT、HIRC 或 LIRC 振荡器提供,它被细分为 T1~T4 四个内部
产生的非重叠时序。在 T1 时间,程序计数器自动加一并抓取一条新的指令。
剩下的时间 T2~T4 完成译码和执行功能,因此,一个 T1~T4 时钟周期构成一个
指令周期。虽然指令的抓取和执行发生在连续的指令周期,但单片机流水线结
构会保证指令在一个指令周期内被有效执行。除非程序计数器的内容被改变,
如子程序的调用或跳转,在这种情况下指令将需要多一个指令周期的时间去执
行。
如果指令牵涉到分支,例如跳转或调用等指令,则需要两个指令周期才能完成
指令执行。需要一个额外周期的原因是程序先用一个周期取出实际要跳转或调
用的地址,再用另一个周期去实际执行分支动作,因此用户需要特别考虑额外
周期的问题,尤其是在执行时间要求较严格的时候。
Rev. 1.60
16
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
fSYS
(System Clock)
Phase Clock T1
Phase Clock T2
Phase Clock T3
Phase Clock T4
Program Counter
Pipelining
PC
PC+1
PC+2
Fetch Inst. (PC)
Execute Inst. (PC-1)
Fetch Inst. (PC+1)
Execute Inst. (PC)
Fetch Inst. (PC+2)
Execute Inst. (PC+1)
系统时序和流水线
1
MOV A,[12H]
2
CALL DELAY
3
CPL [12H]
4
:
5
:
6 DELAY: NOP
Fetch Inst. 1
Execute Inst. 1
Fetch Inst. 2
Execute Inst. 2
Fetch Inst. 3
Flush Pipeline
Fetch Inst. 6
Execute Inst. 6
Fetch Inst. 7
指令捕捉
程序计数器
在程序执行期间,程序计数器用来指向下一个要执行的指令地址。除了“JMP”
和“CALL”指令需要跳转到一个非连续的程序存储器地址之外,它会在每条
指令执行完成以后自动加一。只有较低的 8 位,即所谓的程序计数器低字节寄
存器 PCL,可以被用户直接读写。
当执行的指令要求跳转到不连续的地址时,如跳转指令、子程序调用、中断或
复位等,单片机通过加载所需要的地址到程序寄存器来控制程序,对于条件跳
转指令,一旦条件符合,在当前指令执行时取得的下一条指令将会被舍弃,而
由一个空指令周期来取代。
单片机型号
BC68F2130
BC68F2140
BC68F2150
程序计数器
程序计数器高字节
PCL 寄存器
PC10~PC8
PCL7~PCL0
PC11~PC8
PCL7~PCL0
PC12~PC8
PCL7~PCL0
程序计数器
程序计数器的低字节,即程序计数器的低字节寄存器 PCL,可以通过程序控制,
且它是可以读取和写入的寄存器。通过直接写入数据到这个寄存器,一个程序
短跳转可直接执行,然而只有低字节的操作是有效的,跳转被限制在存储器的
当前页中,即 256 个存储器地址范围内,当这样一个程序跳转要执行时,会插
入一个空指令周期。程序计数器的低字节可由程序直接进行读取,PCL 的使用
可能引起程序跳转,因此需要额外的指令周期。
Rev. 1.60
17
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
堆栈
堆栈是一个特殊的存储空间,用来存储程序计数器中的内容。该系列单片机有
多层堆栈,堆栈既不是数据部分也不是程序空间部分,而且它既不是可读取也
不是可写入的。当前层由堆栈指针 (SP) 加以指示,同样也是不可读写的。在子
程序调用或中断响应服务时,程序计数器的内容被压入到堆栈中。当子程序或
中断响应结束时,返回指令 (RET 或 RETI) 使程序计数器从堆栈中重新得到它
以前的值。当一个芯片复位后,堆栈指针将指向堆栈顶部。
如果堆栈已满,且有非屏蔽的中断发生,中断请求标志会被置位,但中断响应
将被禁止。当堆栈指针减少 ( 执行 RET 或 RETI ),中断将被响应。这个特性提
供程序设计者简单的方法来预防堆栈溢出。然而即使堆栈已满,CALL 指令仍
然可以被执行,而造成堆栈溢出。使用时应避免堆栈溢出的情况发生,因为这
可能导致不可预期的程序分支指令执行错误。
若堆栈溢出,则首个存入堆栈的程序计数器数据将会丢失。
Program Counter
Top of Stack
Stack Level 1
Stack Level 2
Stack
Pointer
Stack Level 3
Bottom of Stack
Stack Level 8
:
:
:
Program Memory
算术逻辑单元 – ALU
算术逻辑单元是单片机中很重要的部分,执行指令集中的算术和逻辑运算。
ALU 连接到单片机的数据总线,在接收相关的指令码后执行需要的算术与逻辑
操作,并将结果存储在指定的寄存器,当 ALU 计算或操作时,可能导致进位、
借位或其它状态的改变,而相关的状态寄存器会因此更新内容以显示这些改变,
ALU 所提供的功能如下:
● 算术运算:
ADD,ADDM,ADC,ADCM,SUB,SUBM,SBC,SBCM,DAA,
LADD,LADDM,LADC,LADCM,LSUB,LSUBM,LSBC,LSBCM,
LDAA
● 逻辑运算:
AND,OR,XOR,ANDM,ORM,XORM,CPL,CPLA,
LAND,LANDM,LOR,LORM,LXOR,LXORM,LCPL,LCPLA
● 移位运算:
RRA,RR,RRCA,RRC,RLA,RL,RLCA,RLC,
LRR,LRRA,LRRCA,LRRC,LRLA,LRL,LRLCA,LRLC
● 递增和递减:
INCA,INC,DECA,DEC,
LINCA,LINC,LDECA,LDEC
● 分支判断:
JMP,SZ,SZA,SNZ,SIZ,SDZ,SIZA,SDZA,CALL,RET,RETI,
LSNZ,LSZ,LSZA,LSIZ,LSIZA,LSDZ,LSDZA
Rev. 1.60
18
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Flash 程序存储器
程序存储器用来存放用户代码即储存程序。程序存储器为 Flash 类型意味着可
以多次重复编程,方便用户使用同一芯片进行程序的修改。使用适当的单片机
编程工具,此系列单片机提供用户灵活便利的调试方法和项目开发规划及更新。
结构
程序存储器的容量为 2K×16~8K×16 位,程序存储器用程序计数器来寻址,其
中也包含数据、表格和中断入口。数据表格可以设定在程序存储器的任何地址,
由表格指针寄存器来寻址。
单片机型号
BC68F2130
BC68F2140
BC68F2150
000H
004H
容量
2K×16
4K×16
8K×16
BC68F2130 BC68F2140 BC68F2150
Reset
Reset
Reset
Interrupt
Vectors
Interrupt
Vectors
Interrupt
Vectors
nFFH
Look-up
Table
Look-up
Table
Look-up
Table
7FFH
16 bits
01CH
n00H
FFFH
16 bits
1FFFH
16 bits
程序存储器结构
特殊向量
程序存储器内部某些地址保留用做诸如复位和中断入口等特殊用途。地址 000H
是芯片复位后的程序起始地址。在芯片复位之后,程序将跳到这个地址并开始
执行。
查表
程序存储器中的任何地址都可以定义成一个表格,以便储存固定的数据。使用
表格时,表格指针必须先行设定,其方式是将表格的地址放在表格指针寄存器
TBLP 和 TBHP 中。这些寄存器定义表格总的地址。
在设定完表格指针后,若数据存储器 [m] 位于 Sector 0,表格数据可以使用例如
“TABRD [m]”或“TABRDL [m]”指令分别从程序存储器查表读取。如果存
储器 [m] 位于数据存储器其它 Sector,表格数据可以使用例如“LTABRD [m]”
或“LTABRDL [m]”指令分别从程序存储器查表读取。当这些指令执行时,程
序存储器中表格数据低字节,将被传送到用户指定的数据存储器 [m],程序存
储器中表格数据的高字节,则被传送到 TBLH 特殊功能寄存器。
Rev. 1.60
19
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
下图是查表中寻址 / 数据流程:
Program Memory
Address
Last Page or
TBHP Register
TBLP Register
Data
16 bits
Register TBLH
User Selected
Register
High Byte
Low Byte
查表范例
以下范例说明表格指针和表格数据如何被定义和执行。这个例子使用的表格
数据用 ORG 伪指令储存在存储器中。ORG 指令的值“700H”指向的地址是
BC68F2130 2K 程序存储器中最后一页的起始地址。表格指针低字节寄存器的
初始值设为 06H,这可保证从数据表格读取的第一笔数据位于程序存储器地址
706H,即最后一页起始地址后的第六个地址。值得注意的是,假如“TABRD
[m]”指令被使用,则表格指针指向 TBLP 和 TBHP 指定的地址。在这个例子中,
表格数据的高字节等于零,而当“TABRD [m]”指令被执行时,此值将会自动
的被传送到 TBLH 寄存器。
TBLH 寄存器为可读 / 写寄存器,可重复储存,若主程序和中断服务程序都使
用表格读取指令,应该注意它的保护。使用表格读取指令,中断服务程序可能
会改变 TBLH 的值,若随后在主程序中再次使用这个值,则会发生错误,因此
建议避免同时使用表格读取指令。然而在某些情况下,如果同时使用表格读取
指令是不可避免的,则在执行任何主程序的表格读取指令前,中断应该先除能,
另外要注意的是所有与表格相关的指令,都需要两个指令周期去完成操作。
表格读取程序范例
ds .section ‘data’
tempreg1 db?
; temporary register #1
tempreg2 db?
; temporary register #2
code0 .section 'code'
mov a,06h
; initialise low table pointer - note that this address
; is referenced
mov tblp,a
; to the last page or the page that tbhp pointed
mov a,07h
; initialise high table pointer
mov tbhp,a
; it is not necessary to set tbhp if executing tabrdl
:
:
tabrd tempreg1
; transfers value in table referenced by table pointer
; data at program memory address “706H” transferred to
; tempreg1 and TBLH
dec tblp
; reduce value of table pointer by one
tabrd tempreg2
; transfers value in table referenced by table pointer
; data at program memory address “705H” transferred to
; tempreg2 and TBLH
; in this example the data “1AH” is transferred to
; tempreg1 and data “0FH” to tempreg2
; the value “00H” will be transferred to the high byte
; register TBLH
:
:
Rev. 1.60
20
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
org 700h
; sets initial address of last page
dc 00Ah,00Bh,00Ch,00Dh,00Eh,00Fh,01Ah,01Bh
在线烧录 – ICP
Flash 型程序存储器提供用户便利地对同一芯片进行程序的更新和修改。
另外,Holtek 单片机提供 4 线接口的在线烧录方式。用户可将进行过烧录或未
经过烧录的单片机芯片连同电路板一起制成,最后阶段进行程序的更新和程序
的烧录,在无需去除或重新插入芯片的情况下方便地保持程序为最新版。
Holtek 烧录器引脚名称 MCU 在线烧录引脚名称
ICPDA
PA0
ICPCK
PA2
VDD
VDD&VDDRF
VSS
VSS&VSSRF
引脚说明
串行数据 / 地址烧录
时钟烧录
电源 (3V)
地
程序存储器可以通过 4 线的接口在线进行烧录。其中一条用于数据串行下载或
上传、一条用于串行时钟、另外两条用于提供电源。芯片在线烧写的详细使用
说明超出此文档的描述范围,将由专门的参考文献提供。
烧录过程中,用户必须确保 ICPDA 和 ICPCK 这两个引脚没有连接至其它输出
脚。
Writer Connector
Signals
MCU Programming
Pins
Writer_VDD
VDD
VDDRF
ICPDA
PA0
ICPCK
PA2
Writer_VSS
VSS
VSSRF
*
*
To other Circuit
注:* 可能为电阻或电容。若为电阻则其值必须大于 1kΩ,若为电容则其必须小于 1nF。
片上调试 – OCDS
该系列单片机还提供片上调试功能 (OCDS) 用于开发过程中的 MCU 调试。用
户可将 OCDSDA 和 OCDSCK 引脚连接至 Holtek HT-IDE 开发工具。OCDSDA
引脚为 OCDS 数据 / 地址输入 / 输出脚,OCDSCK 引脚为 OCDS 时钟输入脚。
当用户用 OCDS 功能进行调试时,单片机 OCDSDA 和 OCDSCK 引脚上的其它
共用功能无效。由于这两个 OCDS 引脚与 ICP 引脚共用,因此在线烧录时仍用
作 Flash 存储器烧录引脚。关于 OCDS 功能的详细描述,请参考“Holtek e-Link
for 8-bit MCU OCDS 用户手册”文件。
Rev. 1.60
21
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Holtek e-Link 引脚名称
OCDSDA
OCDSCK
VDD
VSS
MCU 芯片引脚名称
OCDSDA
OCDSCK
VDD
VSS
引脚说明
片上调试数据 / 地址输入 / 输出
片上调试时钟输入
电源
地
在应用烧录 – IAP
该系列单片机提供 IAP 功能来对 Flash ROM 进行数据和程序更新。用户可自行
定义 IAP ROM 地址,但是用户在使用 IAP 功能时必须注意几个特点。
BC68F2130 IAP 配置
块擦除 256 个字 / 块
写
4 个字 / 次
读
1 个字 / 次
BC68F2140 IAP 配置
块擦除 256 个字 / 块
写
4 个字 / 次
读
1 个字 / 次
BC68F2150 IAP 配置
块擦除 256 个字 / 块
写
4 个字 / 次
读
1 个字 / 次
IAP 控制寄存器
位于数据存储器 Sector 0 的地址寄存器 FARL/FARH 和数据寄存器 FD0L/FD0H、
FD1L/FD1H、FD2L/FD2H 和 FD3L/FD3H 以及控制寄存器 FC0 和 FC1,都是与
IAP 相关的 Flash 存取寄存器。所有与这些寄存器相关的读写操作可以使用间接
寻址存取方式来执行。
寄存器
名称
FC0
FC1
FARL
FARH
(BC68F2130)
FARH
(BC68F2140)
FARH
(BC68F2150)
FD0L
FD0H
FD1L
FD1H
FD2L
FD2H
FD3L
FD3H
位
7
6
5
4
3
2
1
0
CFWEN FMOD2 FMOD1 FMOD0 FWPEN FWT FRDEN FRD
D7
D6
D5
D4
D3
D2
D1
D0
A7
A6
A5
A4
A3
A2
A1
A0
—
—
—
—
—
A10
A9
A8
—
—
—
—
A11
A10
A9
A8
—
—
—
A12
A11
A10
A9
A8
D7
D15
D7
D15
D7
D15
D7
D15
D6
D14
D6
D14
D6
D14
D6
D14
D5
D13
D5
D13
D5
D13
D5
D13
D4
D12
D4
D12
D4
D12
D4
D12
D3
D11
D3
D11
D3
D11
D3
D11
D2
D10
D2
D10
D2
D10
D2
D10
D1
D9
D1
D9
D1
D9
D1
D9
D0
D8
D0
D8
D0
D8
D0
D8
IAP 寄存器列表
Rev. 1.60
22
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● FC0 寄存器
Bit
Name
R/W
POR
7
6
5
4
3
CFWEN FMOD2 FMOD1 FMOD0 FWPEN
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
2
FWT
R/W
0
1
FRDEN
R/W
0
0
FRD
R/W
0
Bit 7
CFWEN:Flash 存储器擦 / 写使能控制位
0:Flash 存储器擦 / 写功能除能
1:Flash 存储器擦 / 写功能已成功使能
当此位由应用程序清零后,Flash 存储器擦 / 写功能除能。注意,对此位直接写
“1”不会使能擦 / 写功能。此位只是用来指示 Flash 存储器擦 / 写功能状态,即
当此位由硬件置为“1”时,表明 Flash 存储器擦 / 写功能已经成功使能,若为
“0”,该功能除能。
Bit 6~4
FMOD2~FMOD0:模式选择
000:写程序存储器
001:块擦除程序存储器
010:保留位
011:读程序存储器
100:保留位
101:保留位
110:Flash 存储器擦 / 写功能使能模式
111:保留位
Bit 3
FWPEN:Flash 存储器擦 / 写功能使能步骤控制
0:除能
1:使能
当此位置为“1”且 FMOD2~FMOD0 为“110”时,IAP 控制器将执行“Flash
存储器擦 / 写功能使能”步骤。一旦 Flash 存储器擦 / 写功能成功使能,无需再
设置 FWPEN 位。
Bit 2
FWT:Flash ROM 写开始控制位
0:未开始 Flash 存储器写或 Flash 存储器写过程已完成
1:开始 Flash 存储器写过程
此位由软件置“1”,当 Flash 存储器写过程完成,由硬件清零。
Bit 1
FRDEN:Flash 存储器读使能位
0:Flash 存储器读除能
1:Flash 存储器读使能
Bit 0
FRD:Flash 存储器读开始控制位
0:未开始 Flash 存储器读或 Flash 存储器读过程已完成
1:开始 Flash 存储器读过程
此位由软件置“1”,当 Flash 存储器读过程完成,由硬件清零。
注:1. 在同一条指令中 FWT、FRDEN 和 FRD 位不可同时设置为“1”。
2. 确保 fSUB 时钟在执行擦或写动作前已稳定。
3. 当读、擦或写动作成功启动后,CPU 相关操作将停止。
4. 确保读、擦或写动作成功完成后才可执行其它操作。
● FC1 寄存器
Bit
Name
R/W
POR
Bit 7~0
Rev. 1.60
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
3
D3
R/W
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
D7~D0:整个芯片复位控制位
当用户写特定值“55H”到该寄存器,将产生一个复位信号使整个单片机复位。
23
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● FARL 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
A7
R/W
0
6
A6
R/W
0
5
A5
R/W
0
4
A4
R/W
0
3
A3
R/W
0
2
A2
R/W
0
1
A1
R/W
0
0
A0
R/W
0
3
—
—
—
2
A10
R/W
0
1
A9
R/W
0
0
A8
R/W
0
3
A11
R/W
0
2
A10
R/W
0
1
A9
R/W
0
0
A8
R/W
0
3
A11
R/W
0
2
A10
R/W
0
1
A9
R/W
0
0
A8
R/W
0
3
D3
R/W
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
A7~A0:Flash 存储器地址 [7:0]
● FARH 寄存器 – BC68F2130
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
Bit 7~3
未定义,读为“0”
Bit 2~0
A10~A8:Flash 存储器地址 [10:8]
● FARH 寄存器 – BC68F2140
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
Bit 7~4
未定义,读为“0”
Bit 3~0
A11~A8:Flash 存储器地址 [11:8]
● FARH 寄存器 – BC68F2150
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
4
A12
R/W
0
—
—
—
Bit 7~5
未定义,读为“0”
Bit 4~0
A12~A8:Flash 存储器地址 [12:8]
● FD0L 寄存器
Bit
Name
R/W
POR
Bit 7~0
Rev. 1.60
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
D7~D0:第一个 Flash 存储器数据 [7:0]
24
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● FD0H 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D15
R/W
0
6
D14
R/W
0
5
D13
R/W
0
4
D12
R/W
0
3
D11
R/W
0
2
D10
R/W
0
1
D9
R/W
0
0
D8
R/W
0
3
D3
R/W
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
3
D11
R/W
0
2
D10
R/W
0
1
D9
R/W
0
0
D8
R/W
0
3
D3
R/W
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
3
D11
R/W
0
2
D10
R/W
0
1
D9
R/W
0
0
D8
R/W
0
3
D3
R/W
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
D15~D8:第一个 Flash 存储器数据 [15:8]
● FD1L 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
D7~D0:第二个 Flash 存储器数据 [7:0]
● FD1H 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D15
R/W
0
6
D14
R/W
0
5
D13
R/W
0
4
D12
R/W
0
D15~D8:第二个 Flash 存储器数据 [15:8]
● FD2L 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
D7~D0:第三个 Flash 存储器数据 [7:0]
● FD2H 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D15
R/W
0
6
D14
R/W
0
5
D13
R/W
0
4
D12
R/W
0
D15~D8:第三个 Flash 存储器数据 [15:8]
● FD3L 寄存器
Bit
Name
R/W
POR
Bit 7~0
Rev. 1.60
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
D7~D0:第四个 Flash 存储器数据 [7:0]
25
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● FD3H 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D15
R/W
0
6
D14
R/W
0
5
D13
R/W
0
4
D12
R/W
0
3
D11
R/W
0
2
D10
R/W
0
1
D9
R/W
0
0
D8
R/W
0
D15~D8:第四个 Flash 存储器数据 [15:8]
Flash 存储器擦 / 写功能使能步骤
为使用户可以通过 IAP 控制寄存器来更改 Flash 存储器数据,用户必须先使能
Flash 存储器擦 / 写操作,步骤如下:
步骤 1. 写“110”到 FMOD2~FMOD0 位,选择 Flash 存储器擦 / 写功能使能模式。
步骤 2. FWPEN 置为“1”。步骤 1 和步骤 2 可同时执行。
步骤 3. 数据序列 00H、04H、0DH、09H、C3H 和 40H 必须分别写入寄存器
FD1L、FD1H、FD2L、FD2H、FD3L 和 FD3H。
步骤 4. 溢出周期为 300µs 的计数器将进行有效计时,此时要求用户尽快将正确
的数据序列写入 FD1L/FD1H~FD3L/FD3H 寄存器对。计数器时钟来自
fSUB 时钟。
步骤 5. 如果计数器溢出或模式数据不正确,Flash 存储器擦 / 写操作不被使能,
用户必须再次重复以上步骤。FWPEN 位将自动由硬件清零。
步骤 6. 如果计数器溢出前模式数据正确,Flash 存储器擦 / 写操作将使能且
FWPEN 位将自动由硬件清零。CFWEN 位也由硬件置为“1”,表明
Flash 存储器擦 / 写操作成功使能。
步骤 7. 一旦 Flash 存储器擦 / 写操作使能,用户可通过 Flash 控制寄存器更改
Flash ROM 数据。
步骤 8. 用户可以清零 CFWEN 位来除能 Flash 存储器擦 / 写操作。
Rev. 1.60
26
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Is counter
overflow ?
Flash Memory
Erase/Write Function
Enable Procedure
No
Yes
FWPEN=0
Set FMOD [2:0] =110 & FWPEN=1
→ Select FWEN mode & Start Flash write
Hardware activate a counter
Wrtie the following pattern to Flash Data registers
FD1L= 00h , FD1H = 04h
FD2L= 0Dh , FD2H = 09h
FD3L= C3h , FD3H = 40h
Is pattern
correct ?
No
Yes
CFWEN = 1
CFWEN=0
Success
Failed
END
Flash 存储器擦 / 写功能使能步骤
Rev. 1.60
27
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Flash 存储器读 / 写步骤
通过前面的 IAP 步骤成功使能 Flash 存储器擦 / 写功能后,用户必须先擦除相
应的 Flash 存储块,然后再开始 Flash 存储器写操作。对于该系列单片机,块擦
除操作的数量是每块 256 个字,有效的块擦除地址只能由 FARH 寄存器指定,
FARL 寄存器不用来指定块擦除地址。
块擦除
0
1
2
3
4
5
6
7
FARH [2:0]
0000 0000
0000 0001
0000 0010
0000 0011
0000 0100
0000 0101
0000 0110
0000 0111
FARL [7:0]
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
“x”:无关
BC68F2130 块擦除数量和选择
块擦除
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FARH [3:0]
0000 0000
0000 0001
0000 0010
0000 0011
0000 0100
0000 0101
0000 0110
0000 0111
0000 1000
0000 1001
0000 1010
0000 1011
0000 1100
0000 1101
0000 1110
0000 1111
FARL [7:0]
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
“x”:无关
BC68F2140 块擦除数量和选择
Rev. 1.60
28
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
块擦除
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FARH [4:0]
0000 0000
0000 0001
0000 0010
0000 0011
0000 0100
0000 0101
0000 0110
0000 0111
0000 1000
0000 1001
0000 1010
0000 1011
0000 1100
0000 1101
0000 1110
0000 1111
0001 0000
0001 0001
0001 0010
0001 0011
0001 0100
0001 0101
0001 0110
0001 0111
0001 1000
0001 1001
0001 1010
0001 1011
0001 1100
0001 1101
0001 1110
0001 1111
FARL [7:0]
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
“x”:无关
BC68F2150 块擦除数量和选择
Rev. 1.60
29
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Read
Flash Memory
Set FMOD [2:0]=011
& FRDEN=1
Set Flash Address registers
FARH=xxh, FARL=xxh
Set FRD=1
No
FRD=0 ?
Yes
Read data value:
FD0L=xxh, FD0H=xxh
Read Finish ?
No
Yes
Clear FRDEN bit
END
读 Flash 存储器步骤
注:1. 当读动作成功启动后,所有 CPU 相关操作将暂停。
2. FRD 位由高变低所需时间为 3 个指令周期 ( 典型值 )。
Rev. 1.60
30
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Write
Flash Memory
Flash Memory
Erase/Write Function
Enable Procedure
Set Block Erase address: FARH/FARL
Set FMOD [2:0]=001 & FWT=1
→Select “Block Erase mode”
& Initiate write operation
No
FWT=0 ?
Yes
Set FMOD [2:0]=000
→Select “Write Flash Mode”
Set Write starting address: FARH/FARL
Write data to data register:
FD0L/FD0H, FD1L/FD1H,
FD2L/FD2H, FD3L/FD3H,
Set FWT=1
No
FWT=0 ?
Yes
Write Finish ?
No
Yes
Clear CFWEN=0
END
写 Flash 存储器步骤
注:1. 当擦或写动作成功启动后,所有 CPU 相关操作将暂停。
2. FWT 位由高变低所需时间为 2.2ms ( 典型值 )。
3. 当 FARH/FARL 的地址组合并非 4 的倍数时,数据无法正常写入依序的 4 笔地址中。
Rev. 1.60
31
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
数据存储器
数据存储器是内容可更改的 8 位 RAM 内部存储器,用来储存临时数据。
数据存储器分为两种类型,第一种是特殊功能数据存储器。这些寄存器有固定
的地址且与单片机的正确操作密切相关。大多特殊功能寄存器都可在程序控制
下直接读取和写入,但有些被加以保护而不对用户开放。第二种数据存储器是
做一般用途使用,都可在程序控制下进行读取和写入。
当数据存储器使用间接寻址时,切换不同的数据存储器 Sector 可通过设置正确
的存储器指针实现。
结构
数据存储器被分为多个 Sector,都位于 8 位存储器中。每个数据存储器 Sector
分为两类,特殊功能数据存储器和通用数据存储器。
特殊功能数据存储器地址范围为 00H~7FH,而通用数据存储器地址范围为
80H~FFH。
单片机型号
特殊功能数据存储器
分布 Sectors
BC68F2130
BC68F2140
BC68F2150
0, 1
通用数据存储器
容量
Sector:地址
256×8
0:80H~FFH
1:80H~FFH
数据存储器概要
00H
Special Purpose
Data Memory
45H
46H
7FH
80H
General Purpose
Data Memory
FFH
Sector 0
Sector 1
数据存储器结构
Rev. 1.60
32
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
数据存储器寻址
此系列单片机支持扩展指令架构,它并没有可用于数据存储器的存储区指
针。对于数据存储器,使用间接寻址访问方式时所需的 Sector 是通过 MP1H
或 MP2H 寄存器指定,而所选 Sector 的某一数据存储器地址是通过 MP1L 或
MP2L 寄存器指定。
直接寻址可用于所有 Sector,通过扩展指令可以寻址所有可用的数据存储器空
间。当所访问的数据存储器位于除 Sector 0 外的任何数据存储器 Sector 时,
扩展指令可代替间接寻址方式用来访问数据存储器。标准指令和扩展指令的
主要区别在于扩展指令中的数据存储器地址“m”有 9 个有效位,高字节表示
Sector,低字节表示指定的地址。
通用数据存储器
所有的单片机程序需要一个读 / 写的存储区,让临时数据可以被储存和再使用,
该 RAM 区域就是通用数据存储器。这个数据存储区可让使用者进行读取和写
入的操作。使用位操作指令可对个别的位做置位或复位的操作,较大地方便了
用户在数据存储器内进行位操作。
特殊功能数据存储器
数据存储器的这个区域用于存放特殊寄存器,这些寄存器与单片机的正确操作
密切相关,大多数的寄存器可进行读取和写入,只有一些是被写保护而只能读
取的,相关细节的介绍可参见相关特殊功能寄存器的部分。要注意的是,任何
读取指令对存储器中未定义的地址进行读取将返回“00H”。
Rev. 1.60
33
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
00H
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
10H
11H
12H
13H
14H
15H
16H
17H
18H
19H
1AH
1BH
1CH
1DH
1EH
1FH
20H
21H
22H
23H
24H
25H
26H
27H
28H
29H
2AH
2BH
2CH
2DH
2EH
2FH
30H
31H
32H
33H
34H
35H
36H
37H
38H
39H
3AH
3BH
3CH
3DH
3EH
3FH
Sector 0
IAR0
MP0
IAR1
MP1L
MP1H
ACC
PCL
TBLP
TBLH
TBHP
STATUS
Sector 1
40H
41H
42H
43H
44H
45H
46H
47H
48H
49H
4AH
4BH
4CH
4DH
4EH
4FH
50H
51H
52H
53H
54H
55H
56H
57H
58H
59H
5AH
5BH
5CH
5DH
5EH
5FH
60H
61H
62H
63H
64H
65H
66H
67H
68H
69H
6AH
6BH
6CH
6DH
6EH
6FH
70H
71H
72H
73H
74H
75H
76H
77H
78H
79H
7AH
7BH
7CH
7DH
7EH
7FH
IAR2
MP2L
MP2H
RSTFC
INTC0
INTC1
PA
PAC
PAPU
PAWU
PB
PBC
PBPU
INTEG
SCC
HIRCC
HXTC
LVDC
LVRC
WDTC
RSTC
PSCR0
PSCR1
PWRC
RF_PWR
MFI0
MFI1
TB0C
TB1C
PTMAH
PTMAL
PTMC0
PTMC1
PTMDH
PTMDL
PTMRPH
PTMRPL
CTMC0
CTMC1
CTMDL
CTMDH
CTMAL
CTMAH
: Unused, read as 00H
Sector 0
FC0
FC1
FARL
FARH
FD0L
FD0H
FD1L
FD1H
FD2L
FD2H
FD3L
FD3H
Sector 1
PAS0
PAS1
MFI2
RF_OPER
RF_CLK1
RF_CLK2
RF_FIFO_CTRL1
RF_FIFO_CTRL2
RF_FIFO_CTRL3
RF_FIFO_CTRL4
RF_MOD1
RF_MOD2
RF_OPMOD
RF_SX1
RF_SX2
RF_SX3
RF_SX4
RF_CP3
RF_OD1
RF_OD3
RF_VCO1
RF_VCO2
RF_TX2
RF_DFC_CAL
RF_LDO
RF_XO1
RF_XO2
: Reserved, cannot be changed
特殊功能数据存储器结构
Rev. 1.60
34
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
特殊功能寄存器
大部分特殊功能寄存器的细节将在相关功能章节描述,但有几个寄存器需在此
章节单独描述。
间接寻址寄存器 – IAR0, IAR1, IAR2
间接寻址寄存器 IAR0、IAR1 和 IAR2 的地址虽位于数据存储区,但不同于正
常寄存器,它们没有实际的物理地址。与定义实际存储器地址的直接存储器寻
址不同,间接寻址是使用间接寻址寄存器和存储器指针来执行存储器数据操作。
在间接寻址寄存器 IAR0、IAR1 和 IAR2 上的任何动作,将存储器指针 MP0、
MP1L/MP1H 或 MP2L/MP2H 所指定的存储器地址产生对应的读 / 写操作。它们
总是成对出现,IAR0 和 MP0 只可以访问 Sector 0,而 IAR1 和 MP1L/MP1H、
IAR2 和 MP2L/MP2H 可以访问所有 Sector。因为这些间接寻址寄存器不是实际
存在的,直接读取将返回“00H”的结果,而直接写入此寄存器则不做任何操作。
存储器指针 – MP0, MP1H/MP1L, MP2H/MP2L
该 系 列 单 片 机 提 供 五 个 存 储 器 指 针, 即 MP0、MP1L、MP1H、MP2L 和
MP2H。由于这些指针在数据存储器中能像普通的寄存器一般被操作,因此提
供了一个寻址和数据追踪的有效方法。当对间接寻址寄存器进行任何操作时,
单片机指向的实际地址是由存储器指针所指定的地址。MP0、IAR0 仅可用于访
问 Sector 0, 而 MP1L/MP1H 和 IAR1、MP2L/MP2H 和 IAR2 可 根 据 MP1H 或
MP2H 寄存器访问所有的 Sector。直接寻址通过相关的数据存储器寻址指令来
访问所有的数据 Sector。
以下例子说明如何清除一个具有 4 RAM 地址的区块,它们已事先定义成地址
adres1 到 adres4。
间接寻址程序举例 1
data .section ‘data’
adres1 db ?
adres2 db ?
adres3 db ?
adres4 db ?
block db ?
code .section at 0 ‘code’
org 00h
start:
mov a,04h
mov block,a
mov a,offset adres1
mov mp0,a
loop:
clr IAR0
inc mp0
sdz block
jmp loop
continue:
:
Rev. 1.60
; setup size of block
; Accumulator loaded with first RAM address
; setup memory pointer with first RAM address
; clear the data at address defined by MP0
; increase memory pointer
; check if last memory location has been cleared
35
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
间接寻址程序举例 2
data .section ‘data’
adres1 db ?
adres2 db ?
adres3 db ?
adres4 db ?
block db ?
code .section at 0 ‘code’
org 00h
start:
mov a,04h
mov block,a
mov a,01h
mov mp1h,a
mov a,offset adres1
mov mp1l,a
loop:
clr IAR1
inc mp1l
sdz block
jmp loop
continue:
:
; setup size of block
; setup the memory sector
; Accumulator loaded with first RAM address
; setup memory pointer with first RAM address
; clear the data at address defined by MP1L
; increase memory pointer MP1L
; check if last memory location has been cleared
在上面的例子中有一点值得注意,即并没有确定 RAM 地址。
使用扩展指令直接寻址程序举例
data .section ‘data’
temp db ?
code .section at 0 ‘code’
org 00h
start:
lmov a,[m]
lsub a, [m+1]
snz c
jmp continue
lmov a,[m]
mov temp,a
lmov a,[m+1]
lmov [m],a
mov a,temp
lmov [m+1],a
continue:
:
;
;
;
;
;
move [m] data to acc
compare [m] and [m+1] data
[m]>[m+1]?
no
yes, exchange [m] and [m+1] data
注:“m”是位于数据存储器任意 Sector 的某一地址。例如,m=1F0H 表示 Sector 1 中的地
址 0F0H。
累加器 – ACC
对任何单片机来说,累加器是相当重要的,且与 ALU 所完成的运算有密切关
系,所有 ALU 得到的运算结果都会暂时存在 ACC 累加器里。若没有累加器,
ALU 必须在每次进行如加法、减法和移位的运算时,将结果写入到数据存储器,
这样会造成程序编写和时间的负担。另外数据传送也常常牵涉到累加器的临时
储存功能,例如在使用者定义的一个寄存器和另一个寄存器之间传送数据时,
由于两寄存器之间不能直接传送数据,因此必须通过累加器来传送数据。
Rev. 1.60
36
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
程序计数器低字节寄存器 – PCL
为了提供额外的程序控制功能,程序计数器低字节设置在数据存储器的特殊功
能区域内,程序员可对此寄存器进行操作,很容易的直接跳转到其它程序地址。
直接给 PCL 寄存器赋值将导致程序直接跳转到程序存储器的某一地址,然而由
于寄存器只有 8 位长度,因此只允许在本页的程序存储器范围内进行跳转,而
当使用这种运算时,要注意会插入一个空指令周期。
查表寄存器 – TBLP, TBHP, TBLH
这三个特殊功能寄存器对存储在程序存储器中的表格进行操作。TBLP 和 TBHP
为表格指针,指向表格数据存储的地址。它们的值必须在任何表格读取指令执
行前加以设定,由于它们的值可以被如“INC”或“DEC”的指令所改变,这
就提供了一种简单的方法对表格数据进行读取。表格读取数据指令执行之后,
表格数据高字节存储在 TBLH 中。其中要注意的是,表格数据低字节会被传送
到使用者指定的地址。
状态寄存器 – STATUS
这 8 位的状态寄存器由 SC 标志位、CZ 标志位、零标志位 (Z)、进位标志位 (C)、
辅助进位标志位 (AC)、溢出标志位 (OV)、暂停标志位 (PDF) 和看门狗定时器
溢出标志位 (TO) 组成。这些算术 / 逻辑操作和系统运行标志位是用来记录单片
机的运行状态。
除了 PDF 和 TO 标志外,状态寄存器中的位像其它大部分寄存器一样可以被改
变。任何数据写入到状态寄存器将不会改变 TO 或 PDF 标志位。另外,执行不
同的指令后,与状态寄存器有关的运算可能会得到不同的结果。TO 标志位只会
受系统上电、看门狗溢出或执行“CLR WDT”或“HALT”指令影响。PDF 标
志位只会受执行“HALT”或“CLR WDT”指令或系统上电影响。
Z、OV、AC、C、SC 和 CZ 标志位通常反映最近运算的状态。
● C:当加法运算的结果产生进位,或减法运算的结果没有产生借位时,则 C
被置位,否则 C 被清零,同时 C 也会被带进位的移位指令所影响。
● AC:当低半字节加法运算的结果产生进位,或低半字节减法运算的结果没有
产生借位时,AC 被置位,否则 AC 被清零。
● Z:当算术或逻辑运算结果是零时,Z 被置位,否则 Z 被清零。
● OV:当运算结果高两位的进位状态异或结果为 1 时,OV 被置位,否则 OV
被清零。
● PDF:系统上电或执行“CLR WDT”指令会清零 PDF,而执行“HALT”指
令则会置位 PDF。
● TO:系统上电或执行“CLR WDT”或“HALT”指令会清零 TO,而当 WDT
溢出则会置位 TO。
● CZ:不同指令不同标志位的操作结果。详细资料请参考寄存器定义部分。
● SC:当 OV 与当前指令操作结果 MSB 执行“XOR”所得结果。
另外,当进入一个中断程序或执行子程序调用时,状态寄存器不会自动压入到
堆栈保存。假如状态寄存器的内容是重要的且子程序可能改变状态寄存器的话,
则需谨慎的去做正确的储存。
Rev. 1.60
37
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● STATUS 寄存器
Bit
Name
R/W
POR
7
SC
R/W
x
6
CZ
R/W
x
5
TO
R
0
4
PDF
R
0
3
OV
R/W
x
2
Z
R/W
x
1
AC
R/W
x
0
C
R/W
x
“x”:未知
Rev. 1.60
Bit 7
SC:当 OV 与当前指令操作结果 MSB 执行“XOR”所得结果
Bit 6
CZ:不同指令不同标志位的操作结果
对于 SUB/SUBM/LSUB/LSUBM 指令,CZ 等于 Z 标志位。
对于 SBC/SBCM/LSBC/LSBCM 指令,CZ 等于上一个 CZ 标志位与当前零标志
位执行“AND”所得结果。对于其它指令,CZ 标志位无影响。
Bit 5
TO:看门狗溢出标志位
0:系统上电或执行“CLR WDT”或“HALT”指令后
1:看门狗溢出发生
Bit 4
PDF:暂停标志位
0:系统上电或执行“CLR WDT”指令后
1:执行“HALT” 指令
Bit 3
OV:溢出标志位
0:无溢出
1:运算结果高两位的进位状态异或结果为 1
Bit 2
Z:零标志位
0:算术或逻辑运算结果不为 0
1:算术或逻辑运算结果为 0
Bit 1
AC:辅助进位标志位
0:无辅助进位
1:在加法运算中低四位产生了向高四位进位,或减法运算中低四位不发生从
高四位借位
Bit 0
C:进位标志位
0:无进位
1:如果在加法运算中结果产生了进位,或在减法运算中结果不发生借位
C 也受循环移位指令的影响。
38
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
振荡器
不同的振荡器选择可以让使用者在不同的应用需求中实现更大范围的功能。振
荡器的灵活性使得在速度和功耗方面可以达到较佳的优化。振荡器选择和操作
是通过相关的控制寄存器完成的。
振荡器概述
振荡器除了作为系统时钟源,还作为 RF 电路、看门狗定时器和时基中断的时
钟源。外部振荡器需要一些外围器件,而集成的内部振荡器不需要任何外部器
件。它们提供的高速和低速系统振荡器具有较宽的频率范围。所有振荡器选择
通过寄存器选择。较高频率的振荡器提供更高的性能,但要求有更高的功率,
反之亦然。动态切换快慢系统时钟的能力使单片机具有灵活而优化的性能 / 功
耗比,此特性对功耗敏感的应用领域尤为重要。
类型
外部高速晶振
内部高速 RC
内部低速 RC
名称
HXT
HIRC
LIRC
频率
16MHz
16MHz
32kHz
引脚
OSC1/OSC2
—
—
振荡器类型
系统时钟配置
该系列单片机有三个系统振荡器,包括两个高速振荡器和一个低速振荡器。高
速振荡器有外部晶体 / 陶瓷振荡器 HXT 和内部 16MHz 高速振荡器 HIRC,低速
振荡器有内部 32kHz 低速振荡器 LIRC。使用高速或低速振荡器作为系统时钟
的选择是通过设置 SCC 寄存器中的 CKS2~CKS0 位决定的,系统时钟可动态选
择。
高速振荡器的实际时钟源由 SCC 寄存器的 FHS 位选择。低速或高速系统时钟
频率由 SCC 寄存器的 CKS2~CKS0 位决定的。请注意,两个振荡器必须做出选
择,即一个高速和一个低速振荡器。
HXTEN
RF_PDB
fH
XCLKD2
XODIV2
fH/2
HXT
÷2
fH/4
÷2
IDLE0
SLEEP
DEEP SLEEP
HIRC
HIRCEN
High Speed
Oscillators
FHS
fH/8
Prescaler
fSYS
fH/16
fH/32
fH/64
fSUB
Low Speed
Oscillator
CKS2~CKS0
LIRC
IDLE2
SLEEP
DEEP SLEEP
fSUB
fLIRC
系统时钟配置
Rev. 1.60
39
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
外部晶体 / 陶瓷振荡器 – HXT
外部晶体 / 陶瓷振荡器是高频振荡器之一,也为 RF 电路的时钟源。对于晶体振
荡器,只要简单地将晶体连接至 OSC1 和 OSC2,则会产生振荡所需的相移及
反馈,而不需其它外部电容。为保证某些低频率的晶体振荡和陶瓷谐振器的振
荡频率更精准,建议连接两个小容量电容 C1 和 C2 到 VSS,具体数值与客户选
择的晶体 / 陶瓷晶振有关。
为了确保振荡器的稳定性及减少噪声和串扰的影响,晶体振荡器及其相关的电
阻和电容以及它们之间的连线都应尽可能的接近单片机。
C1
Internal
Oscillator
Circuit
OSC1
RP
RF
OSC2
C2
To internal
circuits
Note: 1. RP is normally not required. C1 and C2 are required.
2. The capacitor load is internally integrated and determined
by the RF_XO1 register.
晶体 / 陶瓷振荡器
晶体振荡器 C1 和 C2 值
晶振频率
C1
16MHz
0pF
注:C1 和 C2 数值仅作参考用
C2
0pF
晶体振荡器电容推荐值
内部高速 RC 振荡器 – HIRC
内部 RC 振荡器是一个集成的系统振荡器,不需其它外部器件。内部 RC 振荡
器具有固定的频率 16MHz。芯片在制造时进行调整且内部含有频率补偿电路,
使得振荡频率因电源电压、温度以及芯片制成工艺不同的影响较大程度地降低。
如果选择了该内部时钟,无需额外的外部引脚。
内部 32kHz 振荡器 – LIRC
内部 32kHz 振荡器是低频振荡器。它是一个完全集成 RC 振荡器,它在 5V 电
压下运行的典型频率值为 32kHz 且无需外部元件。芯片在制造时进行调整且内
部含有频率补偿电路,使得振荡器因电源电压、温度及芯片制成工艺不同的影
响较大程度地降低。
Rev. 1.60
40
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
工作模式和系统时钟
现今的应用要求单片机具有较高的性能及尽可能低的功耗,这种矛盾的要求在
便携式电池供电的应用领域尤为明显。高性能所需要的高速时钟将增加功耗,
反之亦然。此系列单片机提供高、低速两种时钟源,它们之间可以动态切换,
用户可通过优化单片机操作来获得较佳性能 / 功耗比。
系统时钟
单片机为 CPU 和外围功能操作提供了多种不同的时钟源。用户使用寄存器编程
可获取多种时钟,进而使系统时钟获取较大的应用性能。
主系统时钟可来自高频时钟源 fH 或低频时钟源 fSUB,通过 SCC 寄存器中的
CKS2~CKS0 位进行选择。高频时钟来自 HXT 或 HIRC 振荡器,可通过 SCC 寄
存器中的 FHS 位选择。通过 HXTEN 和 RF_PDB 位使能 HXT 振荡器,然后通
过 XODIV2 和 XCLKD2 进 行 二 或 四 分 频。RF_PDB、XODIV2 和 XCLKD2 这
三个位的相关描述详见 RF 章节。
低频系统时钟源来自内部时钟 fSUB,若 fSUB 被选择,低频时钟来自 LIRC 振荡器。
其它系统时钟还有高速系统振荡器的分频 fH/2~fH/64。
fH
XCLKD2
XODIV2
HXTEN
RF_PDB
fH/2
HXT
÷2
fH/4
÷2
High Speed
Oscillators
fH/8
IDLE0
SLEEP
DEEP SLEEP
HIRC
HIRCEN
Prescaler
fSYS
fH/16
fH/32
FHS
fH/64
fSUB
Low Speed
Oscillator
CKS2~CKS0
LIRC
IDLE2
SLEEP
DEEP SLEEP
fLIRC
fSUB
fSUB
WDT
fSYS/4
fLIRC
fPSC0
fSYS
LVR
CLKSEL0[1:0]
Prescaler 0
TB0[2:0]
fPSC0_OUT
Prescaler
Time Base 0
TB0_PRE[2:0]
fSUB
fSYS/4
fPSC1
fSYS
CLKSEL1[1:0]
Prescaler 1
Time Base 1
TB1[2:0]
设备时钟配置
注:1. 当系统时钟源 fSYS 由 fH 到 fSUB 转换时,可以通过设置相应的高速振荡器使能控制位选择停止以节
省耗电,或者继续振荡,为外围电路提供 fH~fH/64 频率的时钟源。
2. 当系统进入深度休眠模式时,时基 0 时钟源为 fLIRC,此时钟源的开关取决于看门狗定时器的开关状
态。
Rev. 1.60
41
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
系统工作模式
单片机有 7 种不同的工作模式,每种有它自身的特性,根据应用中不同的性能
和功耗要求可选择不同的工作模式。单片机正常工作有两种模式:正常模式和
低速模式。剩余的 5 种工作模式:深度休眠模式、休眠模式、空闲模式 0、空
闲模式 1 和空闲模式 2 用于单片机 CPU 关闭时以节省耗电。
工作模式
LDO CPU
寄存器设置
PWDN FHIDEN FSIDEN CKS2~CKS0
fSYS
fH
fSUB
fLIRC
On
On
On
(1)
On
On
Off
On
On
On
On
On
On
Off
On
正常模式
On
On
0
x
x
000~110
fH~fH/64
低速模式
On
On
0
x
x
111
fSUB
空闲模式 0
On
Off
0
0
1
000~110
Off
111
On
空间模式 1
On
Off
0
1
1
xxx
On
空闲模式 2
On
Off
0
1
0
休眠模式
On
Off
0
0
深度休眠模式
Off
Off
1
x
On/Off
000~110
On
111
Off
0
xxx
Off
Off
Off
x
xxx
Off
Off
Off
On/Off
(2)
On/Off
(2)
“x”:无关
注:1. 在低速模式中,fH 开启或关闭由相应的振荡器使能位控制。
2. 在休眠或深度休眠模式中,fLIRC 开启或关闭由 WDT 功能使能或除能控制。
正常模式
顾名思义,这是主要的工作模式之一,单片机的所有功能均可在此模式中实
现且系统时钟由一个高速振荡器提供。将 PWRC 寄存器中的 PWDN 位设为低
可开启 1.5V LDO。该模式下单片机正常工作的时钟源来自 HXT 或 HIRC 振荡
器。高速振荡器频率可被分为 1~64 的不等比率,实际的比率由 SCC 寄存器中
的 CKS2~CKS0 位选择。单片机使用高速振荡器分频作为系统时钟可减少工作
电流。
低速模式
此模式的系统时钟虽为较低速时钟源,但单片机仍能正常工作。将寄存器
PWRC 中的 PWDN 位设为低可开启 1.5V LDO。该低速时钟源可来自 fSUB,而
fSUB 可来自 LIRC 振荡器。
休眠模式
执行 HALT 指令后且 SCC 寄存器中的 FHIDEN 和 FSIDEN 位都为低,寄存器
PWRC 中的 PWDN 位为低时,系统进入休眠模式。在休眠模式中,CPU 停止
运行,fSUB 停止为外围功能提供时钟。若看门狗定时器功能使能,fLIRC 继续运行。
空闲模式 0
执行 HALT 指令后且 SCC 寄存器中的 FHIDEN 位为低、FSIDEN 位为高,寄存
器 PWRC 中的 PWDN 位为低时,系统进入空闲模式 0。在空闲模式 0 中,CPU
停止,但低速振荡器会开启以驱动一些外围功能。
Rev. 1.60
42
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
空闲模式 1
执行 HALT 指令后且 SCC 寄存器中的 FHIDEN 和 FSIDEN 位都为高,寄存器
PWRC 中的 PWDN 位为低时,系统进入空闲模式 1。在空闲模式 1 中,CPU 停
止,但高速和低速振荡器都会开启以保持一些外围功能继续工作。
空闲模式 2
执行 HALT 指令后且 SCC 寄存器中的 FHIDEN 位为高、FSIDEN 位为低,寄存
器 PWRC 中的 PWDN 位为低时,系统进入空闲模式 2。在空闲模式 2 中,CPU
停止,但高速振荡器会开启以保持一些外围功能继续工作。
深度休眠模式
执行 HALT 指令后且寄存器 PWRC 中的 PWDN 位为高时,系统进入深度休眠
模式。在深度休眠模式中,CPU 停止,fSUB 停止为外围功能提供时钟。若看门
狗定时器功能使能,fLIRC 继续运行。
控制寄存器
寄存器 SCC、HIRCC、HXTC 和 PWRC 用于控制系统时钟和相应的振荡器配置。
寄存器
名称
SCC
HIRCC
HXTC
PWRC
位
7
CKS2
—
—
PA_WAKE
6
CKS1
—
—
—
5
CKS0
—
—
—
4
3
2
1
0
—
FHS
—
FHIDEN FSIDEN
—
—
—
HIRCF
HIRCEN
—
—
—
HXTF
HXTEN
TB0_WAKE POF33V LCMD IO_ISO_EN PWDN
系统工作模式控制寄存器列表
● SCC 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
CKS2
R/W
0
6
CKS1
R/W
0
5
CKS0
R/W
1
4
—
—
—
3
FHS
R/W
0
2
—
—
—
1
0
FHIDEN FSIDEN
R/W
R/W
0
0
Bit 7~5
CKS2~CKS0:系统时钟选择位
000:fH
001:fH/2
010:fH/4
011:fH/8
100:fH/16
101:fH/32
110:fH/64
111:fSUB
这三位用于选择系统时钟源。除了 fH 或 fSUB 提供的系统时钟源外,也可使用高
频振荡器的分频作为系统时钟。
Bit 4
未定义,读为“0”
Bit 3
FHS:高频时钟选择位
0:HIRC – 内部高频振荡器
1:HXT – 外部晶振
当该位置高时,即选择外部 HXT 振荡器作为系统时钟源,单片机实际时钟
输 入 由 连 接 到 OSC1 和 OSC2 引 脚 的 晶 体 振 荡 器, 以 及 寄 存 器 RF_XO2 中
的 XODIV2 位和寄存器 RF_CLK1 中的 XCLKD2 位共同决定的。例如,如果
43
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
fHXT=16MHz,XODIV2=0,XCLKD2=0,则 fH=16MHz。
Bit 2
未定义,读为“0”
Bit 1
FHIDEN:CPU 关闭时高频振荡器控制位
0:除能
1:使能
此位用来控制在 CPU 执行 HALT 指令关闭后高速振荡器是被激活还是停止。
Bit 0
FSIDEN:CPU 关闭时低频振荡器控制位
0:除能
1:使能
此位用来控制在 CPU 执行 HALT 指令关闭后低速振荡器是被激活还是停止。无
论是 LIRC 被选择作为低速振荡器时钟源还是 WDT 功能使能,LIRC 振荡器都
是由该位与 WDT 功能控制位共同控制的。如果该位被清零,但 WDT 功能使能,
LIRC 振荡器也将使能。
● HIRCC 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
—
—
—
1
HIRCF
R
0
0
HIRCEN
R/W
1
Bit 7~2
未定义,读为“0”
Bit 1
HIRCF:HIRC 振荡器稳定标志位
0:HIRC 不稳定
1:HIRC 稳定
此 位 用 于 表 明 HIRC 振 荡 器 是 否 稳 定。HIRCEN 位 置 高 使 能 HIRC 振 荡 器,
HIRCF 位会先被清零,在 HIRC 稳定后会被置高。
HIRCEN:HIRC 振荡器使能控制位
0:除能
1:使能
Bit 0
● HXTC 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
—
—
—
1
HXTF
R
0
0
HXTEN
R/W
0
Bit 7~2
未定义,读为“0”
Bit 1
HXTF:HXT 振荡器稳定标志位
0:HXT 不稳定
1:HXT 稳定
此 位 用 于 表 明 HXT 振 荡 器 是 否 稳 定。HXTEN 位 置 高 使 能 HXT 振 荡 器 后,
HXTF 位会先被清零,在 HXT 稳定后会被置高。
Bit 0
HXTEN:HXT 振荡器使能控制位
0:除能
1:使能
44
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● PWRC 寄存器
Bit
7
Name PA_WAKE
R/W
R/W
POR
0
6
—
—
—
5
—
—
—
4
3
2
1
0
TB0_WAKE POF33V LCMD IO_ISO_EN PWDN
R/W
R/W
R/W
R/W
R/W
0
1
0
0
0
Bit 7
PA_WAKE:端口 A 使单片机从深度休眠模式中唤醒标志位
0:未发生端口 A 使单片机从深度休眠模式中唤醒
1:发生端口 A 使单片机从深度休眠模式中唤醒
该位表明单片机是否通过端口 A 从深度休眠模式中唤醒。在单片机进入深度休
眠模式前,应正确配置 PAWU 寄存器。
Bit 6~5
未定义,读为“0”
Bit 4
TB0_WAKE:时基 0 使单片机从深度休眠模式中唤醒标志位
0:未发生时基 0 使单片机从深度休眠模式中唤醒
1:发生时基 0 使单片机从深度休眠模式中唤醒
该位表明单片机是否通过时基 0 中断从深度休眠模式中唤醒。在单片机进入深
度休眠模式前,应正确配置 TB0C 寄存器和 TB0F 中断标志位。
Bit 3
POF33V:3V 电源域发生上电复位标志位
0:3V 电源域未发生上电复位
1:3V 电源域发生上电复位
当 3V 电源域发生上电复位时,该位由硬件置高。可通过应用程序或执行“CLR
WDT”指令将此位清零。
Bit 2
LCMD:1.5V LDO 小电流模式选择
0:1.5V LDO 正常模式
1:1.5V LDO 小电流模式
Bit 1
IO_ISO_EN:I/O 隔离模式选择
0:I/O 处于正常工作模式
1:I/O 处于隔离模式 ( I/O 状态保持不变 )
在系统进入深度休眠模式前,该位必须置高来锁存输入 / 输出端口。所以当系
统进入深度休眠模式时,输入 / 输出端口状态保持不变。当单片机从深度休眠
模式中唤醒后,必须通过应用程序将该位清零来将输入 / 输出端口解除锁存。
Bit 0
PWDN:深度休眠模式控制
0:单片机正常工作
1:执行 HALT 指令后,单片机进入深度休眠模式 ( 1.5V LDO 由硬件关闭 )
如果该位置高,且执行 HALT 指令后,单片机进入深度休眠模式,这时 1.5V
LDO 将由硬件关闭。在单片机进入深度休眠模式前,用户应预先通过应用程序
将 1.5V 域系统设定储存到数据存储器,并锁存住 I/O。
有几点注意事项需在此强调:
1. 在单片机进入深度休眠模式之前,需通过应用程序将系统设置预先备份。
2. 当 PWDN=1 且执行 HALT 指令后,单片机将进入深度休眠模式。
3. 当单片机进入深度休眠模式后,数据存储器将保持最新值。
4. 当单片机进入深度休眠模式后,RF_PWR 寄存器的 RF_PDB 位将由硬件自动
清零。
5. 可通过以下情况将单片机从深度休眠模式中唤醒,唤醒后程序将从 0000h 开
始执行。
● PA 口下降沿
● 时基 0 中断
6. 要想通过 PA 口下降沿将单片机从深度休眠模式中唤醒,则在单片机进入深
度休眠模式之前应合理设置 PAWU 寄存器,并且将 PA_WAKE 位置高。
Rev. 1.60
45
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
7. 要想通过 TB0 中断将单片机从深度休眠模式中唤醒,则在单片机进入深度休
眠模式之前应先将 TB0F 中标标志位清零。注意,TB0 中断唤醒功能与该中
断功能是否使能无关。
8. 当单片机进入深度休眠模式时,无论分频器 0 时钟源选择如何设置,TB0 时
钟源将固定来自 fLIRC。在深度休眠模式下,TB0 溢出周期将会是其预设值的
一半。而在非深度休眠模式下,TB0 和 TB1 的第一次溢出周期将会是各自预
设值的一半。
9. 若单片机是通过 TB0 中断从深度休眠模式中唤醒的,总的唤醒时间将是
(tRSTD+(TB0 溢出周期预设值 / 2))。
10. 单片机从深度休眠模式唤醒后,所有寄存器都将被重置。因此需通过应用程
序恢复系统设置。
工作模式切换
单片机可在各个工作模式间自由切换,使得用户可根据所需选择较佳的性能 /
功耗比。用此方式,对单片机工作的性能要求不高的情况下,可使用较低频时
钟以减少工作电流,在便携式应用上延长电池的使用寿命。
简单来说,正常模式和低速模式间的切换仅需设置 SCC 寄存器中的 CKS2~CKS0
位即可实现,而正常模式 / 低速模式与休眠模式 / 空闲模式或深度休眠模式间的
切换经由 HALT 指令实现。当 HALT 指令执行后,单片机是否进入深度休眠模
式、空闲模式或休眠模式由 SCC 寄存器中的 FHIDEN 和 FSIDEN 位以及寄存器
PWRC 中的 PWDN 位决定的。
NORMAL
PWDN=0
LDO on
fSYS=fH~fH/64
fH on
CPU run
fSYS on
fSUB on
SLEEP
PWDN=0
LDO on
HALT instruction executed
CPU stop
FHIDEN=0
FSIDEN=0
fH off
fSUB off
SLOW
PWDN=0
LDO on
fSYS=fSUB
fSUB on
CPU run
fSYS on
fH on/off
DEEP SLEEP
PWDN=1
LDO off
HALT instruction executed
CPU stop
fH off
fSUB off
IDLE2
PWDN=0
LDO on
HALT instruction executed
CPU stop
FHIDEN=1
FSIDEN=0
fH on
fSUB off
Rev. 1.60
46
IDLE0
PWDN=0
LDO on
HALT instruction executed
CPU stop
FHIDEN=0
FSIDEN=1
fH off
fSUB on
IDLE1
PWDN=0
LDO on
HALT instruction executed
CPU stop
FHIDEN=1
FSIDEN=1
fH on
fSUB on
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
正常模式切换到低速模式
系统运行在正常模式时使用高速系统振荡器,因此较为耗电。可通过设置 SCC
寄存器中的 CKS2~CKS0 位为“111”使系统时钟切换至运行在低速模式下。此
时将使用低速系统振荡器以节省耗电。用户可在对性能要求不高的操作中使用
此方法以减少耗电。
低速模式的时钟源来自 LIRC 振荡器,因此要求这些振荡器在所有模式切换动
作发生前稳定下来。
NORMAL Mode
PWDN=0
CKS2~CKS0=111
SLOW Mode
PWDN=0, FHIDEN=0, FSIDEN=0
HALT instruction is executed
SLEEP Mode
PWDN=0, FHIDEN=0, FSIDEN=1
HALT instruction is executed
IDLE0 Mode
PWDN=0, FHIDEN=1, FSIDEN=1
HALT instruction is executed
IDLE1 Mode
PWDN=0, FHIDEN=1, FSIDEN=0
HALT instruction is executed
IDLE2 Mode
PWDN=1
HALT instruction is executed
DEEP SLEEP Mode
Rev. 1.60
47
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
低速模式切换到正常模式
在低速模式时系统时钟来自 fSUB。切换回正常模式时,需设置 CKS2~CKS0 位
为“000”~“110”使系统时钟从 fSUB 切换到 fH~fH/64。
然而,如果在低速模式下 fH 因未使用而关闭,那么从低速模式切换到正常模
式时,它需要一定的时间来重新起振和稳定,可通过检测 HXTC 寄存器中的
HXTF 位或 HIRCC 寄存器中的 HIRCF 位进行判断,所需的高速系统振荡器稳
定时间指定在交流电气特性中。
SLOW Mode
PWDN=0
CKS2~CKS0=000~110
NORMAL Mode
PWDN=0, FHIDEN=0, FSIDEN=0
HALT instruction is executed
SLEEP Mode
PWDN=0, FHIDEN=0, FSIDEN=1
HALT instruction is executed
IDLE0 Mode
PWDN=0, FHIDEN=1, FSIDEN=1
HALT instruction is executed
IDLE1 Mode
PWDN=0, FHIDEN=1, FSIDEN=0
HALT instruction is executed
IDLE2 Mode
PWDN=1
HALT instruction is executed
DEEP SLEEP Mode
进入休眠模式
进入休眠模式的方法仅有一种——应用程序中执行“HALT”指令前需设置
SCC 寄 存 器 中 的 FHIDEN 和 FSIDEN 位 都 为“0”, 且 寄 存 器 PWRC 中 的
PWDN 位为“0”。在这种模式下,除了 WDT 以外的所有时钟和功能都将关闭。
在上述条件下执行该指令后,将发生的情况如下:
● 系统时钟停止运行,应用程序停止在“HALT”指令处。
● 数据存储器中的内容和寄存器将保持当前值。
● 输入 / 输出口将保持当前值。
● 状态寄存器中暂停标志 PDF 将被置起,看门狗溢出标志 TO 将被清除。
● 如果 WDT 功能使能,WDT 将被清零并重新开始计数。如果 WDT 功能除能,
WDT 将被清零并停止计数。
Rev. 1.60
48
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
进入空闲模式 0
进入空闲模式 0 的方法仅有一种——应用程序中执行“HALT”指令前需设置
SCC 寄存器中的 FHIDEN 位为“0”且 FSIDEN 位为“1”,且寄存器 PWRC
中的 PWDN 位为“0”。在上述条件下执行该指令后,将发生的情况如下:
● fH 时钟停止运行,应用程序停止在“HALT”指令处,但 fSUB 时钟将继续运行。
● 数据存储器中的内容和寄存器将保持当前值。
● 输入 / 输出口将保持当前值。
● 状态寄存器中暂停标志 PDF 将被置起,看门狗溢出标志 TO 将被清除。
● 如果 WDT 功能使能,WDT 将被清零并重新开始计数。如果 WDT 功能除能,
WDT 将被清零并停止计数。
进入空闲模式 1
进入空闲模式 1 的方法仅有一种——应用程序中执行“HALT”指令前需设
置 SCC 寄存器中的 FHIDEN 和 FSIDEN 位都为“1”,且寄存器 PWRC 中的
PWDN 位为“0”。在上述条件下执行该指令后,将发生的情况如下:
● fH 和 fSUB 时钟开启,应用程序停止在“HALT”指令处。
● 数据存储器中的内容和寄存器将保持当前值。
● 输入 / 输出口将保持当前值。
● 状态寄存器中暂停标志 PDF 将被置起,看门狗溢出标志 TO 将被清除。
● 如果 WDT 功能使能,WDT 将被清零并重新开始计数。如果 WDT 功能除能,
WDT 将被清零并停止计数。
进入空闲模式 2
进入空闲模式 2 的方法仅有一种——应用程序中执行“HALT”指令前需设置
SCC 寄存器中的 FHIDEN 位为“1”且 FSIDEN 位为“0”,且寄存器 PWRC
中的 PWDN 位为“0”。在上述条件下执行该指令后,将发生的情况如下:
● fH 时钟开启,fSUB 时钟关闭,应用程序停止在“HALT”指令处。
● 数据存储器中的内容和寄存器将保持当前值。
● 输入 / 输出口将保持当前值。
● 状态寄存器中暂停标志 PDF 将被置起,看门狗溢出标志 TO 将被清除。
● 如果 WDT 功能使能,WDT 将被清零并重新开始计数。如果 WDT 功能除能,
WDT 将被清零并停止计数。
进入深度休眠模式
进入深度休眠模式的方法仅有一种——应用程序中执行“HALT”指令前需寄存
器 PWRC 中的 PWDN 位为“1”。 在这种模式下,除了 WDT 以外的所有时钟
和功能都将关闭。在上述条件下执行该指令后,将发生的情况如下:
● 系统时钟停止运行,应用程序停止在“HALT”指令处。
● 数据存储器中的内容和寄存器将保持当前值。建议预先储存重要的 1.5V 域系
统设置到数据存储器中。
● 如果寄存器 PWRC 中的 IO_ISO_EN 位置高,输入 / 输出口将保持当前值。
● 状态寄存器中暂停标志 PDF 将被置起,看门狗溢出标志 TO 将被清除。
Rev. 1.60
49
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● 如果 WDT 功能使能,WDT 将被清零并重新开始计数。如果 WDT 功能除能,
WDT 将被清零并停止计数。
以下流程图显示了单片机进入深度休眠模式后的程序步骤。
Store 1.5V domain
parameters to
Backup Memory
IO_ISO_EN=1
(I/O will be latched and
remain unchanged)
PWDN=1
HALT
MCU enter
DEEP SLEEP Mode
待机电流的注意事项
由于单片机进入深度休眠、休眠或空闲模式的主要原因是将 MCU 的电流降低
到尽可能低,可能到只有几个微安的级别 ( 空闲模式 1 和空闲模式 2 除外 ),所
以如果要将电路的电流进一步降低,电路设计者还应有其它的考虑。应该特别
注意的是单片机的输入 / 输出引脚。所有高阻抗输入脚都必须连接到固定的高
或低电平,因为引脚浮空会造成内部振荡并导致耗电增加。这也应用于有不同
封装的单片机,因为它们可能含有未引出的引脚,这些引脚也必须设为输出或
带有上拉电阻的输入。
另外还需注意单片机设为输出的 I/O 引脚上的负载。应将它们设置在有最小拉
电流的状态或将它们和其它的 CMOS 输入一样接到没有拉电流的外部电路上。
还应注意的是,如果选择 LIRC 振荡器,会导致耗电增加。
在空闲模式 1 和空闲模式 2 中,高速振荡器开启。若外围功能时钟源来自高速
振荡器,额外的待机电流也可能会有几百微安。
唤醒
单片机进入深度休眠模式、休眠模式或空闲模式后,系统时钟将停止以降低功
耗。然而单片机再次唤醒,原来的系统时钟重新起振、稳定且恢复正常工作需
要一定的时间。
● 系统进入休眠或空闲模式之后,可以通过以下几种方式唤醒:
♦ PA 口下降沿
♦ 系统中断
♦ WDT 溢出
Rev. 1.60
50
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● 系统进入深度休眠模式之后,可以通过以下两种方式唤醒:
♦ PA 口下降沿
♦ 时基 0 中断
单片机执行 HALT 指令,PDF 将被置位;系统上电或执行清除看门狗的指令,
PDF 将被清零。看门狗计数器溢出将会置位 TO 标志并唤醒系统,这种复位会
重置程序计数器和堆栈指针,其它标志保持原有状态。
PA 口中的每个引脚都可以通过 PAWU 寄存器使能下降沿唤醒功能。PA 端口使
单片机系统从休眠或空闲模式唤醒后,程序将在“HALT”指令后继续执行。然
而,当 PA 端口使单片机系统从深度休眠模式唤醒后,程序将从 0000h 继续执行。
如果系统是通过中断从休眠或空闲模式唤醒,则有两种可能发生。第一种情况
是:相关中断除能或是中断使能且堆栈已满,则程序会在“HALT”指令之后继
续执行。这种情况下,唤醒系统的中断会等到相关中断使能或有堆栈层可以使
用之后才执行。第二种情况是:相关中断使能且堆栈未满,则中断可以马上执
行。如果系统是通过时基 0 中断从深度休眠模式唤醒,程序将从 0000h 继续执
行。
如果在进入深度休眠、休眠或空闲模式之前中断标志位已经被设置为“1”,则
相关中断的唤醒功能将无效。
以下流程图显示了单片机从深度休眠模式唤醒后的程序步骤。
MCU in DEEP SLEEP Mode
(V15O will be disabled)
Wake-up by PA or TB0
MCU execute program from 0x0000
(Normal Mode)
IO_ISO_EN=0
(I/O will be released)
PA_WAKE==0 &&
TB0_WAKE==0
Y Power On Reset
N
Restore Parameter from
Backup Memory
System_initial_POR
Check & Clear Wake up Flag
Program Execution
Rev. 1.60
51
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
看门狗定时器
看门狗定时器的功能在于防止如电磁的干扰等外部不可控制事件,所造成的程
序不正常动作或跳转到未知的地址。
看门狗定时器时钟源
看门狗定时器时钟源由内部低速 RC 振荡器 LIRC 提供。电压为 5V 时内部振荡
器 LIRC 的频率大约为 32kHz,这个特殊的内部时钟周期随 VDD、温度和制成的
不同而变化。看门狗定时器的时钟源可分频为 28~218 以提供更大的溢出周期,
分频比由 WDTC 寄存器中的 WS2~WS0 位来决定。
看门狗定时器控制寄存器
WDTC 寄存器用于控制看门狗定时器功能的使能 / 除能及选择溢出周期。
● WDTC 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
WE4
R/W
0
6
WE3
R/W
1
5
WE2
R/W
0
4
WE1
R/W
1
3
WE0
R/W
0
2
WS2
R/W
0
1
WS1
R/W
1
0
WS0
R/W
1
Bit 7~3
WE4~WE0:WDT 软件控制
如果配置选项中 WDT 设置为“始终使能”
10101:使能
01010:使能
其它值:单片机复位
如果配置选项中 WDT 设置为“由 WDT 控制寄存器设置”
10101:除能
01010:使能
其它值:单片机复位
通过选择 WDT 配置选项决定 WE4~WE0 位如何设置。
如果由于不利的环境因素使这些位变为除 10101B 和 01010B 的其它值,单片机
将复位。复位动作发生在一段延迟时间 tSRESET 后,且 RSTFC 寄存器的 WRF 位
将置为“1”。
Bit 2~0
WS2~WS0:WDT 溢出周期选择位
000:28/fLIRC
001:210/fLIRC
010:212/fLIRC
011:214/fLIRC
100:215/fLIRC
101:216/fLIRC
110:217/fLIRC
111:218/fLIRC
这三位控制 WDT 时钟源的分频比,从而实现对 WDT 溢出周期的控制。
52
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RSTFC 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
RSTF
R/W
0
2
LVRF
R/W
x
1
LRF
R/W
0
0
WRF
R/W
0
“x”:未知
Bit 7~4
未定义,读为“0”
Bit 3
RSTF:复位控制寄存器软件复位标志位
具体描述见内部复位控制章节。
Bit 2
LVRF:LVR 复位标志位
具体描述见低电压复位章节。
Bit 1
LRF:LVR 控制寄存器软件复位标志位
具体描述见低电压复位章节。
Bit 0
WRF:WDT 控制寄存器软件复位标志位
0:未发生
1:发生
当 WDT 控制寄存器软件复位发生时,此位被置为“1”,且只能通过应用程序
清零。
看门狗定时器操作
当 WDT 溢出时,它产生一个芯片复位的动作。这也就意味着正常工作期间,
用户需在应用程序中看门狗溢出前有策略地清看门狗定时器以防止其产生复
位,可使用清除看门狗指令实现。无论什么原因,程序失常跳转到一个未知的
地址或进入一个死循环,清除指令都不能被正确执行,此种情况下,看门狗将
溢出以使单片机复位。看门狗定时器控制寄存器 WDTC 中的 WE4~WE0 位可提
供看门狗定时器使能 / 除能控制以及单片机复位控制。WDT 功能可由相关的配
置选项以及下表中 WE4~WE0 位共同决定。如果 WE4~WE0 设置为除“01010B”
和“10101B”以外的值时,单片机将在一段延迟时间 tSRESET 后复位。上电后这
些位初始化为“01010B”。
WDT 配置选项
WE4~WE0 位
01010B 或 10101B
WDT 始终使能
其它值
10101B
WDT 控制寄存器控制 01010B
其它值
WDT 功能
使能
单片机复位
除能
使能
单片机复位
看门狗定时器使能 / 除能控制
程序正常运行时,WDT 溢出将导致芯片复位,并置位状态标志位 TO。若系统
处于深度休眠、休眠或空闲模式,当 WDT 发生溢出时,状态寄存器中的 TO
应置位,仅 PC 和堆栈指针复位。有三种方法可以用来清除 WDT 的内容。第一
种是 WDT 复位,即将 WE4~WE0 位设置成除了 01010B 和 10101B 外的任意值;
第二种是通过 WDT 软件清除指令,而第三种是通过“HALT”指令。该系列单
片机只使用一条清看门狗指令“CLR WDT”。因此只要执行“CLR WDT”便
清除 WDT。
当设置分频比为 218 时,溢出周期最大。例如,时钟源为 32kHz LIRC 振荡器,
分频比为 218 时最大溢出周期约 8s,分频比为 28 时最小溢出周期约 8ms。
Rev. 1.60
53
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
WDTC
Register
Reset MCU
WE4~WE0 bits
CLR
“HALT”Instruction
“CLR WDT”Instruction
LIRC
fLIRC
8-stage Divider
fLIRC/28
WDT Prescaler
WS2~WS0
8-to-1 MUX
WDT Time-out
(28/fLIRC ~ 218/fLIRC)
看门狗定时器
复位和初始化
复位功能是任何单片机中基本的部分,使得单片机可以设定一些与外部参数无
关的先置条件。最重要的复位条件是在单片机首次上电以后,经过短暂的延迟,
内部硬件电路使得单片机处于预期的稳定状态并开始执行第一条程序指令。上
电复位以后,在程序执行之前,部分重要的内部寄存器将会被设定为预先设定
的状态。程序计数器就是其中之一,它会被清除为零,使得单片机从最低的程
序存储器地址开始执行程序。
除了上电复位外,另一种复位为低电压复位即 LVR 复位,在电源供应电压低于
LVR 设定值时,系统会产生 LVR 复位。另一种复位为看门狗溢出单片机复位,
不同方式的复位操作会对寄存器产生不同的影响。
复位功能
单片机的几种内部复位方式将在此处做具体介绍。
上电复位
这是最基本且不可避免的复位,发生在单片机上电后。除了保证程序存储器从
开始地址执行,上电复位也使得其它寄存器被设定在预设条件。所有的输入 /
输出端口控制寄存器在上电复位时会保持高电平,以确保上电后所有引脚被设
定为输入状态。
VDD
Power-on Reset
tRSTD
SST Time-out
上电复位时序图
VDD Power On
3/5V POR
Turn on 1.5V LDO
1.5V POR
MCU Execute Program
from Start
Rev. 1.60
54
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
内部复位控制
内部复位控制寄存器 RSTC 用于为单片机在受到环境噪声干扰而异常工作时
提供复位。如果 RSTC 寄存器的值被设置为除 01010101B 或 10101010B 以外
的任何值,单片机会在一段延迟时间 tSRESET 后发生复位。上电后寄存器的值为
01010101B。
RSTC7~RSTC0 位
01010101B
10101010B
其它值
复位功能
无操作
无操作
MCU 复位
内部复位功能控制
● RSTC 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
RSTC7
R/W
0
6
RSTC6
R/W
1
5
RSTC5
R/W
0
4
RSTC4
R/W
1
3
RSTC3
R/W
0
2
RSTC2
R/W
1
1
RSTC1
R/W
0
0
RSTC0
R/W
1
RSTC7~RSTC0:复位功能控制位
01010101:无操作
10101010:无操作
其它值:MCU 复位
如果由于不利的环境因素使这些位发生改变,单片机将复位。复位动作发生在
一段延迟时间 tSRESET 后,且 RSTFC 寄存器的 RSTF 位将置为“1”。
● RSTFC 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
RSTF
R/W
0
2
LVRF
R/W
x
1
LRF
R/W
0
0
WRF
R/W
0
“x”:未知
Bit 7~4
未定义,读为“0”
Bit 3
RSTF:复位控制寄存器软件复位标志位
0:未发生
1:发生
当 RSTC 控制寄存器软件复位发生时,此位被置为“1”,且只能通过应用程序
清零。
Bit 2
LVRF:LVR 复位标志位
具体描述见低电压复位章节。
Bit 1
LRF:LVR 控制寄存器软件复位标志位
具体描述见低电压复位章节。
Bit 0
WRF:WDT 控制寄存器软件复位标志位
具体描述见看门狗定时器控制寄存器章节。
低电压复位 – LVR
单片机具有低电压复位电路,用来监测它的电源电压。当电压低于一个预先定
义的特定电压时,单片机会复位。
LVR 功能的使能 / 除能控制取决于相关的配置选项,且总是使能于特定的电压
Rev. 1.60
55
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
值,VLVR。例如在更换电池的情况下,单片机供应的电压可能会在 0.9V~VLVR
之间,这时 LVR 将会自动复位单片机且 RSTFC 寄存器中的 LVRF 标志位置位。
LVR 包含以下的规格:有效的 LVR 信号,即在 0.9V~VLVR 的低电压状态的时
间,必须超过 LVD/LVR 电气特性中 tLVR 参数的值。如果低电压存在不超过 tLVR
参数的值,则 LVR 将会忽略它且不会执行复位功能。实际 VLVR 参数值固定为
1.9V。若由于受到干扰 LVS7~LVS0 变为其它值时,需经过一段延迟时间 tSRESET
后才响应复位。此时 RSTFC 寄存器的 LRF 位被置位。上电后寄存器的值为
01010101B。正常执行时 LVR 会于深度休眠、休眠或空闲时自动除能关闭。
LVR
tRSTD + tSST
Internal Reset
低电压复位时序图
● LVRC 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
LVS7
R/W
0
6
LVS6
R/W
1
5
LVS5
R/W
0
4
LVS4
R/W
1
3
LVS3
R/W
0
2
LVS2
R/W
1
1
LVS1
R/W
0
0
LVS0
R/W
1
LVS7~LVS0:LVR 电压选择
01010101:1.9V
00110011:1.9V
10011001:1.9V
10101010:1.9V
其它值:MCU 复位—寄存器复位为 POR 值
若低电压情况发生且满足以上定义的低电压复位值,则单片机复位。当低电压
状况保持时间大于 tLVR 后,响应复位。此时复位后的寄存器内容保持不变。
除了以上定义的四个低电压复位值外,其它值也能导致单片机复位。需要经过
一段延迟时间 tSRESET 才响应复位。但此时寄存器内容将复位为 POR 值。
● RSTFC 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
RSTF
R/W
0
2
LVRF
R/W
x
1
LRF
R/W
0
0
WRF
R/W
0
“x”:未知
Rev. 1.60
Bit 7~4
未定义,读为“0”
Bit 3
RSTF:复位控制寄存器软件复位标志位
具体描述见内部复位控制章节。
Bit 2
LVRF:LVR 复位标志位
0:未发生
1:发生
当特定的低电压复位条件发生时,此位被置为“1”,且只能通过应用程序清零。
Bit 1
LRF:LVR 控制寄存器软件复位标志位
0:未发生
1:发生
如果 LVRC 寄存器包含任何非定义的 LVR 电压值,此位被置为“1”,这类似
于软件复位功能,且只能通过应用程序清零。
56
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
WRF:WDT 控制寄存器软件复位标志位
具体描述见看门狗定时器控制寄存器章节。
Bit 0
IAP 复位
通过往 FC1 寄存器写数据 55H 可产生 IAP 复位。
正常运行时看门狗溢出复位
除了看门狗溢出标志位 TO 将被设为“1”之外,正常运行时看门狗溢出复位和
LVR 复位相同。
WDT Time-out
tRSTD
Internal Reset
正常运行时看门狗溢出复位时序图
深度休眠 / 休眠 / 空闲时看门狗溢出复位
深度休眠、休眠或空闲时看门狗溢出复位和其它种类的复位有些不同,除了程
序计数器与堆栈指针将被清 0 及 TO 位被设为 1 外,绝大部份的条件保持不变。
图中 tSST 的详细说明请参考交流电气特性。
WDT Time-out
tSST
Internal Reset
深度休眠 / 休眠 / 空闲时看门狗溢出复位时序图
复位初始状态
不同的复位形式以不同的途径影响复位标志位。这些标志位,即 PDF 和 TO 位
存放在状态寄存器中,由休眠或空闲模式功能或看门狗定时器等几种控制器操
作控制。复位标志位如下所示:
TO
0
u
1
1
PDF
0
u
u
1
复位条件
上电复位
正常模式或低速模式时的 LVR 复位
正常模式或低速模式时的 WDT 溢出复位
深度休眠、空闲或休眠模式时的 WDT 溢出复位
“u”代表不改变
在单片机上电复位之后,各功能单元初始化的情形,列于下表。
项目
程序计数器
中断
看门狗定时器,时基
定时器模块
输入 / 输出口
堆栈指针
Rev. 1.60
复位后情况
清除为零
所有中断被除能
复位后清零,看门狗定时器重新计数
所有定时器模块停止
I/O 口设为输入模式
堆栈指针指向堆栈顶端
57
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
不同的复位形式对单片机内部寄存器的影响是不同的。为保证复位后程序能正
常执行,了解寄存器在特定条件复位后的设置是非常重要的。下表即为不同方
式复位后内部寄存器的状况。
BC68F2140
BC68F2150
IAR0
MP0
IAR1
MP1L
MP1H
ACC
PCL
TBLP
TBLH
BC68F2130
寄存器
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
TBHP
STATUS
IAR2
MP2L
MP2H
RSTFC
INTC0
INTC1
PA
PAC
PAPU
PAWU
PB
PBC
PBPU
INTEG
SCC
HIRCC
Rev. 1.60
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
上电复位
WDT 溢出
( 正常运行 )
WDT 溢出
(HALT)
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
xxxx xxxx
0000 0000
xxxx xxxx
xxxx xxxx
---- -xxx
---- xxxx
---x xxxx
xx00 xxxx
0000 0000
0000 0000
0000 0000
---- 0x00
-000 0000
0000 0000
- - 11 1111
1111 1111
- - 11 1111
1111 1111
--00 0000
0000 0000
--00 0000
0000 0000
--11 ---- - 11 1111
--11 ---- - 11 1111
--00 -----00 0000
---- 0000
001- 0-00
---- --01
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
uuuu uuuu
0000 0000
uuuu uuuu
uuuu uuuu
---- -uuu
---- uuuu
---u uuuu
xx1u uuuu
0000 0000
0000 0000
0000 0000
---- uuuu
-000 0000
0000 0000
- - 11 1111
1111 1111
- - 11 1111
1111 1111
--00 0000
0000 0000
--00 0000
0000 0000
--11 ---- - 11 1111
--11 ---- - 11 1111
--00 -----00 0000
---- 0000
001- 0-00
---- --01
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
0000 0000
uuuu uuuu
uuuu uuuu
---- -uuu
---- uuuu
---u uuuu
uu11 uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
---- uuuu
-uuu uuuu
uuuu uuuu
--uu uuuu
uuuu uuuu
--uu uuuu
uuuu uuuu
--uu uuuu
uuuu uuuu
--uu uuuu
uuuu uuuu
--uu -----uu uuuu
--uu -----uu uuuu
--uu -----uu uuuu
---- uuuu
uuu- u-uu
---- --uu
58
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
BC68F2140
BC68F2150
HXTC
LVDC
LVRC
WDTC
RSTC
PSCR0
PSCR1
PWRC
RF_PWR
MFI0
MFI1
TB0C
TB1C
PTMAH
PTMAL
PTMC0
PTMC1
PTMDH
PTMDL
PTMRPH
PTMRPL
CTMC0
CTMC1
CTMDL
CTMDH
CTMAL
CTMAH
FC0
FC1
FARL
BC68F2130
寄存器
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
FARH
FD0L
FD0H
FD1L
FD1H
FD2L
Rev. 1.60
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
上电复位
WDT 溢出
( 正常运行 )
WDT 溢出
(HALT)
---- --00
--00 -000
0101 0101
0101 0011
0101 0101
---- --00
---- --00
0--0 1000
---- ---0
--00 --00
--00 --00
0000 -000
0--- -000
---- --00
0000 0000
0000 0--0000 0000
---- --00
0000 0000
---- --00
0000 0000
0000 0000
0000 0000
0000 0000
---- --00
0000 0000
---- --00
0000 0000
0000 0000
0000 0000
---- -000
---- 0000
---0 0000
--00 0000
0000 0000
0000 0000
0000 0000
0000 0000
---- --00
--00 -000
0101 0101
0101 0011
0101 0101
---- --00
---- --00
u--u uuuu
---- ---0
--00 --00
--00 --00
0000 -000
0--- -000
---- --00
0000 0000
0000 0--0000 0000
---- --00
0000 0000
---- --00
0000 0000
0000 0000
0000 0000
0000 0000
---- --00
0000 0000
---- --00
0000 0000
0000 0000
0000 0000
---- -000
---- 0000
---0 0000
--00 0000
0000 0000
0000 0000
0000 0000
0000 0000
---- --uu
--uu -uuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
---- --uu
---- --uu
u--u uuuu
---- ---u
--uu --uu
--uu --uu
uuuu -uuu
u--- -uuu
---- --uu
uuuu uuuu
uuuu u--uuuu uuuu
---- --uu
uuuu uuuu
---- --uu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
---- --uu
uuuu uuuu
---- --uu
uuuu uuuu
uuuu uuuu
uuuu uuuu
---- -uuu
---- uuuu
---u uuuu
--uu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
59
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
BC68F2130
BC68F2140
BC68F2150
寄存器
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
FD2H
FD3L
FD3H
MFI2
RF_OPER
RF_CLK1
RF_CLK2
RF_FIFO_CTRL1
RF_FIFO_CTRL2
RF_FIFO_CTRL3
RF_FIFO_CTRL4
RF_MOD1
RF_MOD2
RF_OPMOD
RF_SX1
RF_SX2
RF_SX3
RF_SX4
RF_CP3
RF_OD1
RF_OD3
RF_VCO1
RF_VCO2
RF_TX2
RF_DFC_CAL
RF_LDO
RF_XO1
RF_XO2
PAS0
PAS1
上电复位
WDT 溢出
( 正常运行 )
WDT 溢出
(HALT)
0000 0000
0000 0000
0000 0000
-000 -000
--00 ---0
10-0 ---0
0000 0000
0000 0000
0011 1111
0000 0000
0--- 0001
1001 0000
---- -001
---- -000
-011 0110
0000 1010
1101 0111
- - - - 0 0 11
1100 1010
0000 0100
--01 -100
0001 0000
0-10 0000
1101 -000
00-0 0000
0 0 0 11 0 0 0
10-1 0101
- 0 1 - 0 0 11
0000 0000
---- 0000
--00 0000
0000 0000
0000 0000
0000 0000
-000 -000
--00 ---0
10-0 ---0
0000 0000
0000 0000
0011 1111
0000 0000
0--- 0001
1001 0000
---- -001
---- -000
-011 0110
0000 1010
1101 0111
- - - - 0 0 11
1100 1010
0000 0100
--01 -100
0001 0000
0-10 0000
1101 -000
00-0 0000
0 0 0 11 0 0 0
10-1 0101
- 0 1 - 0 0 11
0000 0000
---- 0000
--00 0000
uuuu uuuu
uuuu uuuu
uuuu uuuu
-uuu -uuu
--uu ---u
uu-u ---u
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
u--- uuuu
uuuu uuuu
---- -uuu
---- -uuu
-uuu uuuu
uuuu uuuu
uuuu uuuu
---- uuuu
uuuu uuuu
uuuu uuuu
--uu -uuu
uuuu uuuu
u-uu uuuu
uuuu -uuu
uu-u uuuu
uuuu uuuu
uu-u uuuu
-uu- uuuu
uuuu uuuu
---- uuuu
--uu uuuu
注:“u”表示不改变
“x”表示未知
“-”表示未定义
Rev. 1.60
60
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
输入 / 输出端口
Holtek 单片机的输入 / 输出口控制具有很大的灵活性。大部分引脚可在用户程
序控制下被设定为输入或输出。所有引脚的上拉电阻设置以及指定引脚的唤醒
设置也都由软件控制,这些特性也使得此类单片机在广泛应用上都能符合开发
的需求。
该系列单片机提供 PA~PB 双向输入 / 输出口。这些寄存器在数据存储器有特定
的地址。所有 I/O 口用于输入输出操作。作为输入操作,输入引脚无锁存功能,
也就是说输入数据必须在执行“MOV A, [m]”,T2 的上升沿准备好,m 为端口
地址。对于输出操作,所有数据都是被锁存的,且保持不变直到输出锁存被重
写。
寄存器
名称
PA
PAC
PAPU
PAWU
PB
PBC
PBPU
位
7
—
—
—
—
—
—
—
6
—
—
—
—
—
—
—
5
4
3
2
1
0
PA5
PA4
PA3
PA2
PA1
PA0
PAC5
PAC4
PAC3
PAC2
PAC1
PAC0
PAPU5 PAPU4 PAPU3 PAPU2 PAPU1 PAPU0
PAWU5 PAWU4 PAWU3 PAWU2 PAWU1 PAWU0
PB5
PB4
—
—
—
—
PBC5
PBC4
—
—
—
—
PBPU5 PBPU4
—
—
—
—
“—”:未定义,读为“0”
I/O 逻辑功能寄存器列表 – BC68F2130
寄存器
名称
PA
PAC
PAPU
PAWU
PB
PBC
PBPU
位
7
6
5
4
3
2
1
0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
PAC7
PAC6
PAC5
PAC4
PAC3
PAC2
PAC1
PAC0
PAPU7 PAPU6 PAPU5 PAPU4 PAPU3 PAPU2 PAPU1 PAPU0
PAWU7 PAWU6 PAWU5 PAWU4 PAWU3 PAWU2 PAWU1 PAWU0
—
—
PB5
PB4
PB3
PB2
PB1
PB0
—
—
PBC5
PBC4
PBC3
PBC2
PBC1
PBC0
—
—
PBPU5 PBPU4 PBPU3 PBPU2 PBPU1 PBPU0
“—”:未定义,读为“0”
I/O 逻辑功能寄存器列表 – BC68F2140/BC68F2150
上拉电阻
许多产品应用在端口处于输入状态时需要外加一个上拉电阻来实现上拉的功
能。为了免去外部上拉电阻,当引脚规划为数字输入时,可由内部连接到一个
上拉电阻。这些上拉电阻可通过相应的上拉控制寄存器 PAPU~PBPU 来设置,
它用一个 PMOS 晶体管来实现上拉电阻功能。
需要注意的是,当 I/O 引脚设为数字输入或 NMOS 输出时,上拉功能才会受
PxPU 控制开启,其它状态下上拉功能不可用。
Rev. 1.60
61
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● PxPU 寄存器
Bit
Name
R/W
POR
7
PxPU7
R/W
0
6
PxPU6
R/W
0
5
PxPU5
R/W
0
4
PxPU4
R/W
0
3
PxPU3
R/W
0
2
PxPU2
R/W
0
1
PxPU1
R/W
0
0
PxPU0
R/W
0
PxPUn:I/O Px 口上拉电阻控制位
0:除能
1:使能
PxPUn 位用于控制上拉电阻功能。这里的 x 可以是端口 A 和 B。但是,每个单片机
的每个 I/O 端口实际有效位可能不同。
PA 口唤醒
当使用暂停指令“HALT”迫使单片机进入深度休眠、休眠或空闲模式,单片机
的系统时钟将会停止以降低功耗,此功能对于电池及低功耗应用很重要。唤醒
单片机有很多种方法,其中之一就是使 PA 口的其中一个引脚从高电平转为低
电平。这个功能特别适合于通过外部开关来唤醒的应用。PA 口的每个引脚可以
通过设置 PAWU 寄存器来单独选择是否具有唤醒功能。
需要注意的是,只有当引脚选作通用输入类型且单片机处于深度休眠、休眠或
空闲模式时,唤醒功能才会受 PAWU 控制开启,其它状态下此唤醒功能不可用。
● PAWU 寄存器
Bit
Name
R/W
POR
7
6
5
4
3
2
1
0
PAWU7 PAWU6 PAWU5 PAWU4 PAWU3 PAWU2 PAWU1 PAWU0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
PAWUn:PA 口引脚唤醒功能控制位
0:除能
1:使能
PAWUn 用来控制端口 A 引脚唤醒功能。但是,每个单片机实际有效位可能不同。
输入 / 输出端口控制寄存器
每一个输入 / 输出口都具有各自的控制寄存器,即 PAC~PBC,用来控制输入 /
输出状态。从而每个 I/O 引脚都可以通过软件控制,动态的设置为 CMOS 输出
或输入。所有的 I/O 端口的引脚都各自对应于 I/O 端口控制的某一位。若 I/O 引
脚要实现输入功能,则对应的控制寄存器的位需要设置为“1”。这时程序指令
可以直接读取输入脚的逻辑状态。若控制寄存器相应的位被设定为“0”,则此
引脚被设置为 CMOS 输出。当引脚设置为输出状态时,程序指令读取的是输出
端口寄存器的内容。注意,如果对输出口做读取动作时,程序读取到的是内部
输出数据锁存器中的状态,而不是输出引脚上实际的逻辑状态。
Rev. 1.60
62
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● PxC 寄存器
Bit
Name
R/W
POR
7
PxC7
R/W
1
6
PxC6
R/W
1
5
PxC5
R/W
1
4
PxC4
R/W
1
3
PxC3
R/W
1
2
PxC2
R/W
1
1
PxC1
R/W
1
0
PxC0
R/W
1
PxCn:I/O Px 口类型选择位
0:输出
1:输入
PxCn 位用于控制引脚类型。这里的 x 可以是端口 A 和 B。但是,每个单片机的每个
I/O 端口实际有效位可能不同。
引脚共用功能
引脚的多功能可以增加单片机应用的灵活性。有限的引脚个数将会限制设计者,
而引脚的多功能将会解决很多此类问题。此外,这些引脚功能可以通过一系列
寄存器进行设定。
引脚共用功能选择寄存器
封装中有限的引脚个数会对某些单片机功能造成影响。然而,引脚功能共用和
引脚功能选择,使得小封装单片机具有更多不同的功能。单片机包含端口“x”
输出功能选择寄存器“n”,记为 PxSn,这些寄存器可以用来选择共用引脚的
特定功能。
要注意的最重要一点是,确保所需的引脚共用功能被正确地选择和取消。对于
大多数引脚共用功能来说,要选择所需的引脚共用功能,首先应通过相应的引
脚共用控制寄存器正确地选择该功能,然后再配置相应的外围功能设置以使能
外围功能。但是,当设置相关引脚共用控制字段时,应特别注意一些与通用
I/O 功能共用相同的引脚共用控制配置的数字输入引脚,例如 INTn、xTCKn、
xTPnI 等。要选择这些引脚功能,除了必要的引脚共用控制和前面提到的外围
功能设置,还必须设置输入 / 输出端口控制寄存器的相应位,将这些引脚设置
为输入。要正确地取消引脚共用功能,首先应除能外围功能,然后再修改相应
的引脚共用控制寄存器以选择其它的共用功能。
位
寄存器
名称
7
6
5
4
3
2
1
0
PAS0
PAS07 PAS06 PAS05 PAS04 PAS03 PAS02 PAS01 PAS00
PAS1 (BC68F2130)
—
—
—
—
PAS13 PAS12 PAS11 PAS10
PAS1 (BC68F2140/
—
—
PAS15 PAS14 PAS13 PAS12 PAS11 PAS10
BC68F2150)
引脚共用功能选择寄存器列表
● PAS0 寄存器
Bit
Name
R/W
POR
Bit 7~6
Rev. 1.60
7
PAS07
R/W
0
6
PAS06
R/W
0
5
PAS05
R/W
0
4
PAS04
R/W
0
3
PAS03
R/W
0
2
PAS02
R/W
0
1
PAS01
R/W
0
0
PAS00
R/W
0
PAS07~PAS06:PA3 引脚共用功能选择
00/01/10/11:PA3/INT0
63
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Bit 5~4
PAS05~PAS04:PA2 引脚共用功能选择
00/10/11:PA2
01:PTP
Bit 3~2
PAS03~PAS02:PA1 引脚共用功能选择
00/01/10/11:PA1/PTCK
Bit 1~0
PAS01~PAS00:PA0 引脚共用功能选择
00/10/11:PA0/PTPI
01:PTPB
● PAS1 寄存器 – BC68F2130
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
Bit 7~4
未定义,读为“0”
Bit 3~2
PAS13~PAS12:PA5 引脚共用功能选择
00/10/11:PA5
01:CTP
Bit 1~0
PAS11~PAS10:PA4 引脚共用功能选择
00/01/10/11:PA4/INT1
3
PAS13
R/W
0
2
PAS12
R/W
0
1
PAS11
R/W
0
0
PAS10
R/W
0
3
PAS13
R/W
0
2
PAS12
R/W
0
1
PAS11
R/W
0
0
PAS10
R/W
0
● PAS1 寄存器 – BC68F2140/BC68F2150
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
PAS15
R/W
0
4
PAS14
R/W
0
Bit 7~6
未定义,读为“0”
Bit 5~4
PAS15~PAS14:PA6 引脚共用功能选择
00/10/11:PA6
01:CTPB
Bit 3~2
PAS13~PAS12:PA5 引脚共用功能选择
00/10/11:PA5
01:CTP
Bit 1~0
PAS11~PAS10:PA4 引脚共用功能选择
00/01/10/11:PA4/INT1
输入 / 输出引脚结构
下图为输入 / 输出引脚逻辑功能的内部结构图。输入 / 输出引脚的准确逻辑结构
图可能与此图不同,这里只是为了方便对 I/O 引脚逻辑功能的理解提供一个参
考。由于存在诸多的引脚共用结构,在此不方便提供所有类型引脚功能结构图。
Rev. 1.60
64
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
VDD
Control Bit
Data Bus
Write Control Register
Chip Reset
Read Control Register
D
Weak
Pull-up
CK Q
S
I/O pin
Data Bit
D
Write Data Register
Q
Pull-high
Register
Select
Q
CK Q
S
Read Data Register
System Wake-up
M
U
X
wake-up Select
PA only
逻辑功能输入 / 输出结构
编程注意事项
在编程中,最先要考虑的是端口的初始化。复位之后,所有的输入 / 输出数据
及端口控制寄存器都将被设为逻辑高。所有输入 / 输出引脚默认为输入状态,
而其电平则取决于其它相连接电路以及是否选择了上拉电阻。如果端口控制寄
存器将某些引脚设定为输出状态,这些输出引脚会有初始高电平输出,除非端
口数据寄存器在程序中被预先设定。设置哪些引脚是输入及哪些引脚是输出,
可通过设置正确的值到对应的端口控制寄存器,或使用指令“SET [m].i”及
“CLR [m].i”来设定端口控制寄存器中个别的位。注意,当使用这些位控制指
令时,系统即将产生一个读 - 修改 - 写的操作。单片机需要先读入整个端口上
的数据,修改个别的位,然后重新把这些数据写入到输出端口。
PA 口的每个引脚都带唤醒功能。单片机处于深度休眠、休眠或空闲模式时,有
很多方法可以唤醒单片机,其中之一就是通过 PA 任一引脚电平从高到低转换
的方式,可以设置 PA 口一个或多个引脚具有唤醒功能。
Rev. 1.60
65
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
定时器模块 – TM
控制和测量时间在任何单片机中都是一个很重要的部分。该系列单片机提供几
个定时器模块 ( 简称 TM ),来实现和时间有关的功能。定时器模块是包括多种
操作的定时单元,提供的操作有:定时 / 事件计数器,捕捉输入,比较匹配输
出,单脉冲输出以及 PWM 输出等功能。每个定时器模块有两个独立中断。每
个 TM 外加的输入输出引脚,扩大了定时器的灵活性,便于用户使用。
这里只介绍各种 TM 的共性,更多详细资料请参考简易型和周期型定时器章节。
简介
该系列单片机包含两个 TM,每个 TM 可被划分为一个特定的类型,即简易型
TM 或和周期型 TM。虽然性质相似,但不同 TM 特性复杂度不同。本章介绍简
易型和周期型 TM 的共性,更多详细资料分别见后面各章。两种类型 TM 的特
性和区别见下表。
TM 功能
定时 / 计数器
捕捉输入
比较匹配输出
PWM 输出
单脉冲输出
PWM 对齐方式
PWM 调节周期 & 占空比
CTM
PTM
√
√
√
—
√
√
√
√
√
—
边沿对齐
边沿对齐
占空比或周期 占空比或周期
TM 功能概要
CTM
10-bit CTM
PTM
10-bit PTM
TM 名称 / 类型参考
TM 操作
不同类型的 TM 提供从简单的定时操作到 PWM 信号产生等多种功能。理解
TM 操作的关键是比较 TM 内独立运行的计数器的值与内部比较器的预置值。
当计数器的值与比较器的预置值相同时,则比较匹配,TM 中断信号产生,清
零计数器并改变 TM 输出引脚的状态。用户选择内部时钟或外部时钟来驱动内
部 TM 计数器。
TM 时钟源
驱动 TM 计数器的时钟源很多。通过设置 xTM 控制寄存器的 xTCK2~xTCK0 位,
选择所需的时钟源,其中 x 代表 C 或 P。时钟源可以选择来自系统时钟 fSYS 的
分频比或内部高速时钟 fH 或 fSUB 时钟源或外部 xTCK 引脚。xTCK 引脚时钟源
用于允许外部信号作为 TM 时钟源或用于事件计数。
TM 中断
简易型和周期型 TM 都有两个内部中断,分别是内部比较器 A 或比较器 P,当
比较匹配发生时产生 TM 中断。当 TM 中断产生时,计数器清零并改变 TM 输
出引脚的状态。
Rev. 1.60
66
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
TM 外部引脚
无论哪种类型的 TM,都有一个 TM 输入引脚 xTCK。xTM 输入引脚 xTCK 作
为 xTM 时钟源输入脚,通过设置 xTMC0 寄存器中的 xTCK2~xTCK0 位进行选
择。外部时钟源可通过该引脚来驱动内部 TM。xTCK 输入引脚可选择上升沿有
效或下降沿有效。PTCK 引脚还可分别用作 PTM 单脉冲模式的外部触发引脚。
另一种 PTM 输入引脚 PTPI 作为捕捉输入脚,其有效边沿有上升沿、下降沿和
双沿,通过设置 PTMC1 寄存器中的 PTIO1~PTIO0 位来选择有效边沿类型。除
了 PTPI 引脚外,PTCK 引脚也可用作 PTM 捕捉输入模式的外部触发引脚。
每个 TM 都有两个输出引脚 xTP 和 xTPB。当 TM 工作在比较匹配输出模式且
比较匹配发生时,这些引脚会由 TM 控制切换到高电平或低电平或翻转。外部
xTP 和 xTPB 输出引脚也被 TM 用来产生 PWM 输出波形。
因 TM 输入和输出引脚与其它功能共用,故在使用 TM 输入和输出功能时需要
先行设置相应的引脚共用功能选择寄存器,具体见引脚共用功能章节描述。
CTM
输入
CTCK
PTM
输出
CTP, CTPB
输入
PTCK, PTPI
输出
PTP, PTPB
TM 外部引脚
TM 输入 / 输出引脚选择
选择作为 TM 输入 / 输出引脚还是其它共用引脚功能是通过设置相关引脚共用
选择寄存器来实现的。每个 TM 输入 / 输出引脚都有对应的引脚共用选择位。
正确设置选择位将相应的引脚用作 TM 输入 / 输出。更多引脚共用功能选择详
见引脚共用功能章节。
CTCK
CTM
CCR output
CTP
CTPB
CTM 功能引脚框图
PTCK
CCR capture input
PTPI
PTM
CCR output
PTP
PTPB
PTM 功能引脚框图
Rev. 1.60
67
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
编程注意事项
TM 计数寄存器和捕捉 / 比较寄存器 CCRA 和 CCRP,含有低字节和高字节结构。
高字节可直接访问,低字节则仅能通过一个内部 8-bit 的缓存器进行访问。值得
注意的是 8-bit 缓存器的存取数据及相关低字节的读写操作仅在其相应的高字节
读取操作执行时发生。
CCRA 和 CCRP 寄存器访问方式如下图所示,读写这些成对的寄存器需通过特
殊的方式。建议使用“MOV”指令按照以下步骤访问 CCRA 和 CCRP 低字节
寄存器,即 xTMAL 和 PTMRPL,否则可能导致无法预期的结果。
xTM Counter Register (Read only)
xTMDL
xTMDH
8-bit Buffer
xTMAL
xTMAH
xTM CCRA Register (Read/Write)
PTMRPL
PTMRPH
PTM CCRP Register (Read/Write)
Data Bus
读写流程如下步骤所示:
● 写数据至 CCRA 或 CCRP
♦ 步骤 1. 写数据至低字节寄存器 xTMAL 或 PTMRPL
– 注意,此时数据仅写入 8-bit 缓存器。
♦ 步骤 2. 写数据至高字节寄存器 xTMAH 或 PTMRPH
– 注意,此时数据直接写入高字节寄存器,同时锁存在 8-bit 缓存器中的数
据写入低字节寄存器。
● 由计数器寄存器和 CCRA 或 CCRP 中读取数据
♦ 步骤 1. 由高字节寄存器 xTMDH、xTMAH 或 PTMRPH 读取数据
– 注意,此时高字节寄存器中的数据直接读取,同时由低字节寄存器读取
的数据锁存至 8-bit 缓存器中。
♦ 步骤 2. 由低字节寄存器 xTMDL、xTMnAL 或 PTMRPL 读取数据
– 注意,此时读取 8-bit 缓存器中的数据。
Rev. 1.60
68
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
简易型 TM – CTM
简易型 TM 包括三种工作模式,即比较匹配输出,定时 / 事件计数器和 PWM
输出模式。简易型 TM 也由一个外部输入脚控制并驱动两个外部输出脚。
CCRP
fSYS/4
fSYS
fH/16
fH/64
fSUB
fSUB
CTCK
000
001
010
011
100
101
110
111
3-bit Comparator P
Comparator P Match
CTMPF Interrupt
CTOC
b7~b9
10-bit Count-up Counter
CTON
CTPAU
Counter Clear
CTCCLR
b0~b9
10-bit Comparator A
Output
Control
0
1
CTM1, CTM0
CTIO1, CTIO0
Comparator A Match
Polarity
Control
Pin
Control
CTPOL
PxSn
CTP
CTPB
CTMAF Interrupt
CTCK2~CTCK0
CCRA
简易型 TM 方框图
简易型 TM 操作
简易型 TM 核心是一个由用户选择的内部或外部时钟源驱动的 10 位向上计数
器,它还包括两个内部比较器即比较器 A 和比较器 P。这两个比较器将计数器
的值与 CCRP 和 CCRA 寄存器中的值进行比较。CCRP 是 3 位的,与计数器的
高 3 位比较;而 CCRA 是 10 位的,与计数器的所有位比较。
通过应用程序改变 10 位计数器值的唯一方法是使 CTON 位发生上升沿跳变清
除计数器。此外,计数器溢出或比较匹配也会自动清除计数器。上述条件发生
时,通常情况下会产生 TM 中断信号。简易型 TM 可工作在不同的模式,可由
包括来自输入脚的不同时钟源驱动,也可以控制两个输出脚。所有工作模式的
设定都是通过设置相关内部寄存器来实现的。
简易型 TM 寄存器介绍
简易型 TM 的所有操作由一系列寄存器控制。包含一对只读寄存器用来存放 10
位计数器的值,一对读 / 写寄存器存放 10 位 CCRA 的值,剩下两个控制寄存器
设置不同的操作和控制模式以及 3 位的 CCRP 值。
位
寄存器
名称
7
6
5
4
CTMC0 CTPAU CTCK2 CTCK1 CTCK0
CTMC1 CTM1 CTM0 CTIO1 CTIO0
CTMDL
D7
D6
D5
D4
CTMDH
—
—
—
—
CTMAL
D7
D6
D5
D4
CTMAH
—
—
—
—
3
CTON
CTOC
D3
—
D3
—
2
1
0
CTRP2 CTRP1 CTRP0
CTPOL CTDPX CTCCLR
D2
D1
D0
—
D9
D8
D2
D1
D0
—
D9
D8
10-bit 简易型 TM 寄存器列表
Rev. 1.60
69
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● CTMC0 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
6
5
4
CTPAU CTCK2 CTCK1 CTCK0
R/W
R/W
R/W
R/W
0
0
0
0
3
CTON
R/W
0
2
CTRP2
R/W
0
1
CTRP1
R/W
0
0
CTRP0
R/W
0
Bit 7
CTPAU:CTM 计数器暂停控制位
0:运行
1:暂停
通过设置此位为高可暂停计数器。此位清零可恢复正常计数器操作。在暂停情
况下 CTM 将保持上电并继续产生功耗。当此位由低到高转换,计数器将保留其
剩余值,当其电平再变为低时从此位开始继续计数。
Bit 6~4
CTCK2~CTCK0:CTM 计数器时钟选择位
000:fSYS/4
001:fSYS
010:fH/16
011:fH/64
100:fSUB
101:fSUB
110:CTCK 上升沿时钟
111:CTCK 下降沿时钟
此三位用于选择 CTM 的时钟源。外部引脚时钟源能被选择在上升沿或下降沿有
效。fSYS 是系统时钟,fH 和 fSUB 是其它的内部时钟源,细节方面请参考振荡器章
节。
Bit 3
CTON:CTM 计数器开 / 关控制位
0:关闭
1:开启
此位控制 CTM 的总开关功能。设置此位为高可使能计数器使其运行,清零此位
则除能 CTM。清零此位将停止计数器并关闭 CTM 减少功耗。当此位经由低到
高转换时,内部计数器将复位清零,当此位由高到低转换时,内部计数器将保
持其剩余值直到此位再次转变为高。
若 CTM 处于比较匹配输出模式或 PWM 输出模式,当 CTON 位经由低到高转换
时, CTM 输出脚将复位至 CTOC 位指定的初始值。
Bit 2~0
CTRP2~CTRP0:CTM CCRP 3-bit 寄存器,与 CTM 计数器 bit 9~bit 7 比较
比较器 P 匹配周期 =
000:1024 个 CTM 时钟
001:128 个 CTM 时钟
010:256 个 CTM 时钟
011:384 个 CTM 时钟
100:512 个 CTM 时钟
101:640 个 CTM 时钟
110:768 个 CTM 时钟
111:896 个 CTM 时钟
此三位设定内部 CCRP 3-bit 寄存器的值,然后与内部计数器的高三位进行比较。
如果 CTCCLR 位设定为 0 时,选中该比较结果清除内部计数器。CTCCLR 位设
为 0,内部计数器在比较器 P 比较匹配发生时被重置;由于 CCRP 只与计数器
高三位比较,比较结果是 128 时钟周期的倍数。CCRP 被清零时,会使得计数
器在最大值溢出。
70
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● CTMC1 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
CTM1
R/W
0
6
CTM0
R/W
0
5
CTIO1
R/W
0
4
CTIO0
R/W
0
3
CTOC
R/W
0
2
1
0
CTPOL CTDPX CTCCLR
R/W
R/W
R/W
0
0
0
Bit 7~6
CTM1~CTM0:CTM 工作模式选择位
00:比较匹配输出模式
01:未定义
10:PWM 输出模式
11:定时 / 计数器模式
这两位设置 CTM 需要的工作模式。为保证操作的可靠性,CTM 应在 CTM1 和
CTM0 位有任何改变前先关掉。在定时 / 计数器模式下,CTM 输出引脚状态未
定义。
Bit 5~4
CTIO1~CTIO0:CTM 外部引脚功能选择位
比较匹配输出模式
00:无变化
01:输出低
10:输出高
11:输出翻转
PWM 输出模式
00:PWM 输出无效状态
01:PWM 输出有效状态
10:PWM 输出
11:未定义
定时 / 计数器模式
未使用
这两位用于确定在达到某些条件时 CTM 输出引脚状态应如何改变。这些位的功
能选择取决于当下 CTM 的运行模式。
在比较匹配输出模式下,CTIO1 和 CTIO0 位决定当比较器 A 比较匹配输出发生
时 CTM 输出脚如何改变状态。当比较器 A 比较匹配输出发生时 CTM 输出脚能
设为切换高、切换低或翻转当前状态。若此两位同时为 0 时,输出将不会改变。
CTM 输出脚的初始值通过 CTOC 位设置取得。注意,由 CTIO1 和 CTIO0 位得
到的输出电平必须与通过 CTOC 位设置的初始值不同,否则当比较匹配发生时,
CTM 输出脚将不会发生变化。在 CTM 输出脚改变状态后,通过 CTON 位由低
到高电平的转换可复位至初始值。
在 PWM 输出模式,CTIO1 和 CTIO0 用于决定比较匹配条件发生时怎样改变
CTM 输出脚的状态。PWM 输出功能通过这两位的变化进行更新。仅在 CTM 关
闭时改变 CTIO1 和 CTIO0 位的值是很有必要的。若在 CTM 运行时改变 CTIO1
和 CTIO0 的值,PWM 输出的值是无法预料的。
Bit 3
CTOC:CTP 输出控制位
比较匹配输出模式
0:初始低
1:初始高
PWM 输出模式
0:低有效
1:高有效
此位为 CTM 输出脚的输出控制位。它取决于 CTM 此时正运行于比较匹配输出
模式还是 PWM 输出模式。若 CTM 处于定时 / 计数器模式,则其不受影响。在
比较匹配输出模式时,比较匹配发生前其决定 CTM 输出脚的逻辑电平值。在
PWM 输出模式时,其决定 PWM 信号是高有效还是低有效。
71
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Bit2
CTPOL:CTP 输出极性控制位
0:同相
1:反相
此位控制 CTM 输出脚的极性。此位为高时 CTM 输出脚反相,为低时 CTM 输
出脚同相。若 CTM 处于定时 / 计数器模式时其不受影响。
Bit 1
CTDPX:CTM PWM 周期 / 占空比控制位
0:CCRP – 周期;CCRA – 占空比
1:CCRP – 占空比;CCRA – 周期
此位决定 CCRA 与 CCRP 寄存器哪个被用于 PWM 波形的周期和占空比控制。
Bit 0
CTCCLR:选择 CTM 计数器清零条件位
0:CTM 比较器 P 匹配
1:CTM 比较器 A 匹配
此位用于选择清除计数器的方法。简易型 TM 包括两个比较器 - 比较器 A 和比
较器 P。这两个比较器每个都可以用于清除内部计数器。CTCCLR 位设为高,
计数器在比较器 A 比较匹配发生时被清除;此位设为低,计数器在比较器 P 比
较匹配发生或计数器溢出时被清除。计数器溢出清除的方法仅在 CCRP 的位都
被清除为 0 时才能生效。CTCCLR 位在 PWM 输出模式时未使用。
● CTMDL 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D7
R
0
6
D6
R
0
5
D5
R
0
4
D4
R
0
3
D3
R
0
2
D2
R
0
1
D1
R
0
0
D0
R
0
2
—
—
—
1
D9
R
0
0
D8
R
0
2
D2
R/W
0
1
D1
R/W
0
D0
R/W
D7~D0:CTM 计数器低字节寄存器 bit 7~bit 0
CTM 10-bit 计数器 bit 7~bit 0
● CTMDH 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
Bit 7~2
未定义,读为“0”
Bit 1~0
D9~D8:CTM 计数器高字节寄存器 bit 1~bit 0
CTM 10-bit 计数器 bit 9~bit 8
● CTMAL 寄存器
Bit
Name
R/W
POR
Bit 7~0
Rev. 1.60
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
3
D3
R/W
0
0
0
D7~D0:CTM CCRA 低字节寄存器 bit 7~bit 0
CTM 10-bit CCRA bit 7~bit 0
72
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● CTMAH 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
Bit 7~2
未定义,读为“0”
Bit 1~0
D9~D8:CTM CCRA 高字节寄存器 bit 1~bit 0
CTM 10-bit CCRA bit 9~bit 8
2
—
—
—
1
D9
R/W
0
0
D8
R/W
0
简易型 TM 工作模式
简易型 TM 有三种工作模式,即比较匹配输出模式,PWM 输出模式或定时 / 计
数器模式。通过设置 CTMC1 寄存器的 CTM1 和 CTM0 位选择任意工作模式。
比较匹配输出模式
要工作在此模式,CTMC1 寄存器中的 CTM1 和 CTM0 位需要设置为“00”。
当工作在该模式,一旦计数器使能并开始计数,有三种方法来清零,分别是:
计数器溢出,比较器 A 比较匹配发生和比较器 P 比较匹配发生。当 CTCCLR
位为低,有两种方法清除计数器。一种是比较器 P 比较匹配发生,另一种是
CCRP 所有位设置为零并使得计数器溢出。此时,比较器 A 和比较器 P 的请求
标志位 CTMAF 和 CTMPF 将分别置起。
如果 CTMC1 寄存器的 CTCCLR 位设置为高,当比较器 A 比较匹配发生时计数
器被清零。此时,即使 CCRP 寄存器的值小于 CCRA 寄存器的值,仅 CTMAF
中断请求标志产生。所以当 CTCCLR 为高时,不产生 CTMPF 中断请求标志。
如果 CCRA 被清零,当计数达到最大值 3FFH 时,计数器溢出,而此时不产生
CTMAF 请求标志。
正如该模式名所言,当比较匹配发生后,CTM 输出脚状态改变。当比较器 A
比较匹配发生后 CTMAF 标志产生时,CTM 输出脚状态改变。比较器 P 比较匹
配发生时产生的 CTMPF 标志不影响 CTM 输出脚。CTM 输出脚状态改变方式
由 CTMC1 寄存器中 CTIO1 和 CTIO0 位决定。当比较器 A 比较匹配发生时,
CTIO1 和 CTIO0 位决定 CTM 输出脚输出高,低或翻转当前状态。在 CTON 位
由低到高电平的变化后,CTM 输出脚初始状态为 CTOC 位所指定的电平。注
意,若 CTIO1 和 CTIO0 位同时为 0 时,引脚输出不变。
Rev. 1.60
73
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter overflow
Counter Value
CCRP > 0
Counter cleared by CCRP value
CCRP=0
0x3FF
CCRP > 0
CTCCLR = 0; CTM [1:0] = 00
Counter
Restart
Resume
CCRP
Pause
CCRA
Stop
Time
CTON
CTPAU
CTPOL
CCRP Int.
Flag CTMPF
CCRA Int.
Flag CTMAF
CTM O/P Pin
Output pin set to
initial Level Low if
CTOC=0
Output not affected by CTMAF
flag. Remains High until reset
by CTON bit
Output Toggle with
CTMAF flag
Here CTIO [1:0] = 11
Toggle Output select
Note CTIO [1:0] = 10 Active
High Output select
Output Inverts
when CTPOL is high
Output Pin
Reset to Initial value
Output controlled by other
pin-shared function
比较匹配输出模式 – CTCCLR=0
注:1. CTCCLR=0 时,比较器 P 匹配将清除计数器。
2. CTM 输出引脚仅由 CTMAF 标志位控制
3. 输出引脚通过 CTON 位上升沿复位为初始值
Rev. 1.60
74
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter Value
CTCCLR = 1; CTM [1:0] = 00
CCRA = 0
Counter overflow
CCRA > 0 Counter cleared by CCRA value
0x3FF
CCRA=0
Resume
CCRA
Pause
Stop
Counter Restart
CCRP
Time
CTON
CTPAU
CTPOL
No CTMAF flag
generated on
CCRA overflow
CCRA Int.
Flag CTMAF
CCRP Int.
Flag CTMPF
CTMPF not
generated
Output does
not change
CTM O/P Pin
Output pin set to
initial Level Low if
CTOC=0
Output not affected by
CTMAF flag. Remains High
until reset by CTON bit
Output Toggle with
CTMAF flag
Here CTIO [1:0] = 11
Toggle Output select
Note CTIO [1:0] = 10
Active High Output select
Output Inverts
when CTPOL is high
Output Pin
Reset to Initial value
Output controlled by other
pin-shared function
比较匹配输出模式 – CTCCLR=1
注:1. CTCCLR=1 时,比较器 A 匹配将清除计数器
2. CTM 输出引脚控制仅由 CTMAF 标志位控制
3. 输出引脚通过 CTON 上升沿复位至初始值
4. 当 CTCCLR=1 时不产生 CTMPF 标志位
Rev. 1.60
75
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
定时 / 计数器模式
要工作在此模式,CTMC1 寄存器中的 CTM1 和 CTM0 位需要设置为“11”。
定时 / 计数器模式与比较输出模式操作方式相同,并产生同样的中断请求标志。
不同的是,在定时 / 计数器模式下 CTM 输出脚未使用。因此,比较匹配输出模
式中的描述和时序图可以帮助理解此功能。该模式中未使用的 CTM 输出脚用
作普通 I/O 脚或其它功能。
PWM 输出模式
要工作在此模式,CTMC1 寄存器中的 CTM1 和 CTM0 位需要设置为“10”。
CTM 的 PWM 功能在马达控制,加热控制,照明控制等方面十分有用。给
CTM 输出脚提供一个频率固定但占空比可调的信号,将产生一个有效值等于
DC 均方根的 AC 方波。
由于 PWM 波形的周期和占空比可控,其波形的选择就较为灵活。在 PWM 输
出模式中,CTCCLR 位不影响 PWM 操作。CCRA 和 CCRP 寄存器决定 PWM
波形,一个用来清除内部计数器并控制 PWM 波形的频率,另一个用来控制占
空比。哪个寄存器控制频率或占空比取决于 CTMC1 寄存器的 CTDPX 位。所
以 PWM 波形频率和占空比由 CCRA 和 CCRP 寄存器共同决定。
当比较器 A 或比较器 P 比较匹配发生时,将产生 CCRA 或 CCRP 中断标志。
CTMC1 寄存器中的 CTOC 位决定 PWM 波形的极性,CTIO1 和 CTIO0 位使能
PWM 输出或将 CTM 输出脚置为逻辑高或逻辑低。CTPOL 位对 PWM 输出波
形的极性取反。
● CTM,PWM 输出模式,边沿对齐模式,CTDPX=0
CCRP
Period
Duty
001b
128
010b
256
011b
384
100b
101b
512
640
CCRA
110b
768
111b
896
000b
1024
若 fSYS=8MHz,CTM 时钟源选择 fSYS/4,CCRP=100b,CCRA=128,
CTM PWM 输出频率 = (fSYS/4) /512=fSYS/2048=3.9063kHz,duty=128 /512=25%。
若由 CCRA 寄存器定义的 Duty 值等于或大于 Period 值,PWM 输出占空比为
100%。
● CTM,PWM 输出模式,边沿对齐模式,CTDPX=1
CCRP
Period
Duty
001b
010b
011b
128
256
384
100b
101b
CCRA
512
640
110b
111b
000b
768
896
1024
PWM 的输出周期由 CCRA 寄存器的值与 CTM 的时钟共同决定,PWM 的占空
比由 CCRP 寄存器的值决定。
Rev. 1.60
76
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter Value
CTDPX = 0; CTM [1:0] = 10
Counter cleared by
CCRP
Counter Reset when
CTON returns high
CCRP
Pause
Resume
Counter Stop if
CTON bit low
CCRA
Time
CTON
CTPAU
CTPOL
CCRA Int.
Flag CTMAF
CCRP Int.
Flag CTMPF
CTM O/P Pin
(CTOC=1)
CTM O/P Pin
(CTOC=0)
PWM resumes
operation
Output controlled by
other pin-shared function
Output Inverts
when CTPOL = 1
PWM Period set by CCRP
PWM Duty Cycle
set by CCRA
PWM 输出模式 – CTDPX=0
注:1. 这里的 CTDPX=0 – 计数器由 CCRP 清除
2. 计数器清除设置 PWM 周期
3. 即使在 CTIO[1:0]=00 或 01 时,内部 PWM 功能继续运行
4. CTCCLR 位对 PWM 操作没有影响
Rev. 1.60
77
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter Value
CTDPX = 1; CTM [1:0] = 10
Counter cleared by
CCRA
Counter Reset when
CTON returns high
CCRA
Pause
Resume
Counter Stop if
CTON bit low
CCRP
Time
CTON
CTPAU
CTPOL
CCRP Int.
Flag CTMPF
CCRA Int.
Flag CTMAF
CTM O/P Pin
(CTOC=1)
CTM O/P Pin
(CTOC=0)
PWM Duty Cycle
set by CCRP
PWM resumes
operation
Output controlled by
other pin-shared function
Output Inverts
when CTPOL = 1
PWM Period set by CCRA
PWM 输出模式 – CTDPX=1
注:1. 这里的 CTDPX=1 – 计数器由 CCRA 清除
2. 计数器清除设置 PWM 周期
3. 即使在 CTIO[1:0]=00 或 01 时,内部 PWM 功能继续运行
4. CTCCLR 位对 PWM 操作无影响
Rev. 1.60
78
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
周期型 TM – PTM
周期型 TM 包括 5 种工作模式,即比较匹配输出、定时 / 事件计数器、捕捉输入、
单脉冲输出和 PWM 输出模式。周期型 TM 由两个外部输入脚控制并驱动两个
外部输出脚。
CCRP
fSYS/4
fSYS
fSYS/16
fSYS/64
fSUB
fSUB
PTCK
000
001
010
011
100
101
110
111
10-bit Comparator P
Comparator P Match
b0~b9
10-bit Count-up Counter
PTON
PTPAU
Counter Clear
0
1
PTCCLR
b0~b9
10-bit Comparator A
PTCK2~PTCK0
PTMPF Interrupt
PTOC
Comparator A Match
PTIO1, PTIO0
Edge
Detector
CCRA
Polarity
Control
Pin
Control
PTM1, PTM0 PTPOL
PTIO1, PTIO0
PAS0
Output
Control
PTP
PTPB
PTMAF Interrupt
PTCAPTS
0
1
Pin
Control
PTPI
PAS0
周期型 TM 方框图
周期型 TM 操作
周期型 TM 是 10 位宽度。周期型 TM 核心是一个由用户选择的内部或外部时钟
源驱动的 10 位向上计数器,它还包括两个内部比较器即比较器 A 和比较器 P。
这两个比较器将计数器的值与 CCRA 和 CCRP 寄存器中的值进行比较。CCRP
和 CCRA 是 10 位的,与计数器的所有位比较。
通过应用程序改变 10 位计数器值的唯一方法是使 PTON 位发生上升沿跳变清
除计数器。此外,计数器溢出或比较匹配也会自动清除计数器。上述条件发生
时,通常情况会产生 PTM 中断信号。周期型 TM 可工作在不同的模式,可由包
括来自输入脚的不同时钟源驱动,也可以控制输出脚。所有工作模式的设定都
是通过设置相关寄存器来实现的。
周期型 TM 寄存器介绍
周期型 TM 的所有操作由一系列寄存器控制。一对只读寄存器用来存放 10 位计
数器的值,两对读 / 写寄存器存放 10 位 CCRA 和 CCRP 的值。剩下两个控制寄
存器用来设置不同的操作和控制模式。
寄存器
名称
PTMC0
PTMC1
PTMDL
PTMDH
PTMAL
PTMAH
PTMRPL
Rev. 1.60
位
7
6
5
4
3
2
1
0
PTPAU PTCK2 PTCK1 PTCK0 PTON
—
—
—
PTM1 PTM0 PTIO1 PTIO0 PTOC PTPOL PTCAPTS PTCCLR
D7
D6
D5
D4
D3
D2
D1
D0
—
—
—
—
—
—
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
—
—
—
—
—
—
D9
D8
PTRP7 PTRP6 PTRP5 PTRP4 PTRP3 PTRP2 PTRP1
PTRP0
79
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
寄存器
名称
PTMRPH
位
7
—
6
—
5
—
4
—
3
—
2
—
1
PTRP9
0
PTRP8
10-bit 周期型 TM 寄存器列表
● PTMC0 寄存器
Bit
Name
R/W
POR
7
6
5
4
PTPAU PTCK2 PTCK1 PTCK0
R/W
R/W
R/W
R/W
0
0
0
0
3
PTON
R/W
0
2
—
—
—
1
—
—
—
0
—
—
—
Bit 7
PTPAU:PTM 计数器暂停控制位
0:运行
1:暂停
通过设置此位为高可使计数器暂停,清零此位恢复正常计数器操作。当处于暂
停条件时,PTM 保持上电状态并继续耗电。当此位由低到高转变时,计数器将
保留其剩余值,直到此位再次改变为低电平,并从此值开始继续计数。
Bit 6~4
PTCK2~PTCK0:选择 PTM 计数时钟位
000:fSYS/4
001:fSYS
010:fH/16
011:fH/64
100:fSUB
101:fSUB
110:PTCK 上升沿
111:PTCK 下降沿
此三位用于选择 PTM 的时钟源。外部引脚时钟源能被选择在上升沿或下降沿有
效。fSYS 是系统时钟,fH 和 fSUB 是其它的内部时钟源,细节方面请参考振荡器章
节。
Bit 3
PTON:PTM 计数器开 / 关控制位
0:关闭
1:开启
此位控制 PTM 的总开关功能。设置此位为高则使能计数器使其运行,清零此位
则除能 PTM。清零此位将停止计数器并关闭 PTM 减少耗电。当此位经由低到
高转变时,内部计数器将复位清零;当此位经由高到低转换时,内部计数器将
保持其剩余值,直到此位再次改变为高电平。
若 PTM 处于比较匹配输出模式、PWM 输出模式或单脉冲输出模式,当 PTON
位经由低到高转换时,PTM 输出脚将复位至 PTOC 位指定的初始值。
Bit 2~0
未定义,读为“0”
● PTMC1 寄存器
Bit
Name
R/W
POR
Bit 7~6
Rev. 1.60
7
PTM1
R/W
0
6
PTM0
R/W
0
5
PTIO1
R/W
0
4
PTIO0
R/W
0
3
PTOC
R/W
0
2
1
0
PTPOL PTCAPTS PTCCLR
R/W
R/W
R/W
0
0
0
PTM1~PTM0:选择 PTM 工作模式位
00:比较匹配输出模式
01:捕捉输入模式
10:PWM 输出模式或单脉冲输出模式
11:定时 / 计数器模式
这两位设置 PTM 需要的工作模式。为了确保操作可靠,PTM 应在 PTM1 和
80
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
PTM0 位有任何改变前先关掉。在定时 / 计数器模式,PTM 输出引脚状态为未
定义。
Rev. 1.60
Bit 5~4
PTIO1~PTIO0:选择 PTM 外部引脚功能位
比较匹配输出模式
00:无变化
01:输出低
10:输出高
11:输出翻转
PWM 输出模式 / 单脉冲输出模式
00:强制无效状态
01:强制有效状态
10:PWM 输出
11:单脉冲输出
捕捉输入模式
00:在 PTPI 或 PTCK 上升沿输入捕捉
01:在 PTPI 或 PTCK 下降沿输入捕捉
10:在 PTPI 或 PTCK 双沿输入捕捉
11:输入捕捉除能
定时 / 计数器模式
未使用
此两位用于决定在一定条件达到时 PTM 输出脚如何改变状态。这两位值的选择
决定 PTM 运行在哪种模式下。
在比较匹配输出模式下,PTIO1 和 PTIO0 位决定当从比较器 A 比较匹配输出发
生时 PTM 输出脚如何改变状态。当从比较器 A 比较匹配输出发生时 PTM 输出
脚能设为切换高、切换低或翻转当前状态。若此两位同时为 0 时,这个输出将
不会改变。PTM 输出脚的初始值通过 PTMC1 寄存器的 PTOC 位设置取得。注意,
由 PTIO1 和 PTIO0 位得到的输出电平必须与通过 PTOC 位设置的初始值不同,
否则当比较匹配发生时,PTM 输出脚将不会发生变化。在 PTM 输出脚改变状
态后,通过 PTON 位由低到高电平的转换复位至初始值。
在 PWM 输出模式,PTIO1 和 PTIO0 用于决定比较匹配条件发生时怎样改变
PTM 输出脚的状态。PWM 输出功能通过这两位的变化进行更新。仅在 PTM 关
闭时改变 PTIO1 和 PTIO0 位的值是很有必要的。若在 PTM 运行时改变 PTIO1
和 PTIO0 的值,PWM 输出的值是无法预料的。
Bit 3
PTOC:PTM PTP 输出控制位
比较匹配输出模式
0:初始低
1:初始高
PWM 输出模式 / 单脉冲输出模式
0:低有效
1:高有效
这是 PTM 输出脚输出控制位。它取决于 PTM 此时正运行于比较匹配输出模式
还是 PWM 输出模式 / 单脉冲输出模式。若 PTM 处于定时 / 计数器模式,则其
不受影响。在比较匹配输出模式时,其决定比较匹配发生前 PTM 输出脚的逻辑
电平值。在 PWM 输出模式时,其决定 PWM 信号是高有效还是低有效。在单
脉冲输出模式时,其决定 PTON 位由低变为高时 PTM 输出脚的逻辑电平。
Bit 2
PTPOL:PTM PTP 输出极性控制位
0:同相
1:反相
此位控制 PTP 输出脚的极性。此位为高时 PTM 输出脚反相,为低时 PTM 输出
脚同相。若 PTM 处于定时 / 计数器模式时其不受影响。
Bit 1
PTCAPTS:选择 PTM 捕捉触发源
0:来自 PTPI 引脚
1:来自 PTCK 引脚
81
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Bit 0
PTCCLR:选择 PTM 计数器清零条件位
0:PTM 比较器 P 匹配
1:PTM 比较器 A 匹配
此位用于选择清除计数器的方法。周期型 PTM 包括两个比较器 -- 比较器 A 和
比较器 P,两者都可以用作清除内部计数器。PTCCLR 位设为高,计数器在比
较器 A 比较匹配发生时被清除;此位设为低,计数器在比较器 P 比较匹配发生
或计数器溢出时被清除。计数器溢出清除的方法仅在 CCRP 被清除为 0 时才能
生效。PTCCLR 位在 PWM 输出模式、单脉冲输出模式或捕捉输入模式时未使
用。
● PTMDL 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D7
R
0
6
D6
R
0
5
D5
R
0
4
D4
R
0
3
D3
R
0
2
D2
R
0
1
D1
R
0
0
D0
R
0
2
—
—
—
1
D9
R
0
0
D8
R
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
2
—
—
—
1
D9
R/W
0
0
D8
R/W
0
D7~D0:PTM 计数器低字节寄存器 bit 7 ~ bit 0
PTM 10-bit 计数器 bit 7 ~ bit 0
● PTMDH 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
Bit 7~2
未定义,读为“0”
Bit 1~0
D9~D8:PTM 计数器高字节寄存器 bit 1 ~ bit 0
PTM 10-bit 计数器 bit 9 ~ bit 8
● PTMAL 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
3
D3
R/W
0
D7~D0:PTM CCRA 低字节寄存器 bit 7 ~ bit 0
PTM 10-bit CCRA bit 7 ~ bit 0
● PTMAH 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
Bit 7~2
未定义,读为“0”
Bit 1~0
D9~D8:PTM CCRA 高字节寄存器 bit 1 ~ bit 0
PTM 10-bit CCRA bit 9 ~ bit 8
82
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● PTMRPL 寄存器
Bit
Name
R/W
POR
Bit 7~0
7
PTRP7
R/W
0
6
PTRP6
R/W
0
5
PTRP5
R/W
0
4
PTRP4
R/W
0
3
PTRP3
R/W
0
2
PTRP2
R/W
0
1
PTRP1
R/W
0
0
PTRP0
R/W
0
1
PTRP9
R/W
0
0
PTRP8
R/W
0
PTRP7~PTRP0:PTM CCRP 低字节寄存器 bit 7 ~ bit 0
PTM 10-bit CCRP bit 7 ~ bit 0
● PTMRPH 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
—
—
—
Bit 7~2
未定义,读为“0”
Bit 1~0
PTRP9~PTRP8:PTM CCRP 高字节寄存器 bit 1 ~ bit 0
PTM 10-bit CCRP bit 9 ~ bit 8
周期型 TM 工作模式
周期型 TM 有五种工作模式,即比较匹配输出模式、PWM 输出模式、单脉
冲输出模式、捕捉输入模式或定时 / 计数器模式。通过设置 PTMC1 寄存器的
PTM1 和 PTM0 位选择任意模式。
比较匹配输出模式
为使 PTM 工作在此模式,PTMC1 寄存器的 PTM1 和 PTM0 位需要设置为“00”。
当工作在该模式,一旦计数器使能并开始计数,有三种方法来清零,分别是:
计数器溢出,比较器 A 比较匹配发生和比较器 P 比较匹配发生。当 PTCCLR
位为低,有两种方法清除计数器。一种是比较器 P 比较匹配发生,另一种是
CCRP 所有位设置为零并使得计数器溢出。此时,比较器 A 和比较器 P 的请求
标志位 PTMAF 和 PTMPF 将分别置起。
如果 PTMC1 寄存器的 PTCCLR 位设置为高,当比较器 A 比较匹配发生时计数
器被清零。此时,即使 CCRP 寄存器的值小于 CCRA 寄存器的值,仅 PTMAF
中断请求标志产生。所以当 PTCCLR 为高时,不会产生 PTMPF 中断请求标志。
在比较匹配输出模式中,CCRA 寄存器值不能设为“0”。
如果 CCRA 被清零,当计数达到最大值 3FFH 时,计数器溢出,而此时不产生
PTMAF 请求标志。
正如该模式名所言,当比较匹配发生后,PTM 输出脚状态改变。当比较器 A 比
较匹配发生后 PTMAF 中断请求标志产生时,PTM 输出脚状态改变。比较器 P
比较匹配发生时产生的 PTMPF 标志不影响 PTM 输出脚。PTM 输出脚状态改变
方式由 PTMC1 寄存器中 PTIO1 和 PTIO0 位决定。当比较器 A 比较匹配发生时,
PTIO1 和 PTIO0 位决定 PTM 输出脚输出高,低或翻转当前状态。在 PTON 位
由低到高电平的变化后,PTM 输出脚初始状态为 PTOC 位所指定的电平。注意,
若 PTIO1 和 PTIO0 位同时为 0 时,引脚输出不变。
Rev. 1.60
83
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter overflow
Counter Value
CCRP > 0
Counter cleared by CCRP value
CCRP=0
0x3FF
CCRP > 0
PTCCLR = 0; PTM [1:0] = 00
Counter
Restart
Resume
CCRP
Pause
CCRA
Stop
Time
PTON
PTPAU
PTPOL
CCRP Int.
Flag PTMPF
CCRA Int.
Flag PTMAF
PTM O/P Pin
Output pin set
to initial Level
Low if PTOC=0
Output not affected by
PTMAF flag. Remains High
until reset by PTON bit
Output Toggle with
PTMAF flag
Here PTIO [1:0] = 11
Toggle Output select
Note PTIO [1:0] = 10
Active High Output select
Output Inverts
when PTPOL is high
Output Pin
Reset to Initial value
Output controlled by other
pin-shared function
比较器匹配输出模式 – PTCCLR=0
注:1. PTCCLR=0,比较器 P 匹配将清除计数器
2. PTM 输出脚仅由 PTMAF 标志位控制
3. 在 PTON 上升沿 PTM 输出脚复位至初始值
Rev. 1.60
84
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter Value
PTCCLR = 1; PTM [1:0] = 00
CCRA = 0
Counter overflow
CCRA > 0 Counter cleared by CCRA value
0x3FF
CCRA=0
Resume
CCRA
Pause
Stop
Counter Restart
CCRP
Time
PTON
PTPAU
PTPOL
No PTMAF flag
generated on
CCRA overflow
CCRA Int.
Flag PTMAF
CCRP Int.
Flag PTMPF
PTMPF not
generated
Output does
not change
PTM O/P Pin
Output pin set
to initial Level
Low if PTOC=0
Output not affected by
PTMAF flag. Remains High
until reset by PTON bit
Output Toggle with
PTMAF flag
Here PTIO [1:0] = 11
Toggle Output select
Note PTIO [1:0] = 10
Active High Output select
Output Inverts
when PTPOL is high
Output Pin
Reset to Initial value
Output controlled by other
pin-shared function
比较器匹配输出模式 – PTCCLR=1
注:1. PTCCLR=1,比较器 A 匹配将清除计数器
2. PTM 输出脚仅由 PTMAF 标志位控制
3. 在 PTON 上升沿 PTM 输出脚复位至初始值
4. 当 PTCCLR=1 时,不会产生 PTMPF 标志
Rev. 1.60
85
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
定时 / 计数器模式
为使 PTM 工作在此模式,PTMC1 寄存器的 PTM1 和 PTM0 位需要设置为“11”。
定时 / 计数器模式与比较输出模式操作方式相同,并产生同样的中断请求标志。
不同的是,在定时 / 计数器模式下 PTM 输出脚未使用。因此,比较匹配输出模
式中的描述和时序图可以适用于此功能。该模式中未使用的 PTM 输出脚可用作
普通 I/O 脚或其它功能。
PWM 输出模式
为使 PTM 工作在此模式,PTMC1 寄存器的 PTM1 和 PTM0 位需要设置为“10”,
且 PTIO1 和 PTIO0 位也需要设置为“10”。PTM 的 PWM 功能在马达控制,
加热控制,照明控制等方面十分有用。给 PTM 输出脚提供一个频率固定但占空
比可调的信号,将产生一个有效值等于 DC 均方根的 AC 方波。
由于 PWM 波形的周期和占空比可调,其波形的选择就较为灵活。在 PWM 输
出模式中,PTCCLR 位对 PWM 周期无影响。CCRP 和 CCRA 寄存器都用于控
制 PWM 方波。CCRP 寄存器通过清除内部计数从而控制 PWM 周期,CCRA 寄
存器设置 PWM 的占空比。PWM 波形的周期和占空比由 CCRP 和 CCRA 寄存
器的值控制。
当比较器 A 或比较器 P 比较匹配发生时,CCRA 和 CCRP 中断标志位分别产
生。PTMC1 寄存器的 PTOC 位选择 PWM 波形的极性,PTIO1 和 PTIO0 位使
能 PWM 输出或强制 PTM 输出脚为高电平或低电平。PTPOL 位用于 PWM 输
出波形的极性反相控制。
● 10-bit PTM,PWM 输出模式,边沿对齐模式
CCRP
Period
Duty
1~1023
1~1023
0
1024
CCRA
若 fSYS=16MHz,PTM 时钟源选择 fSYS/4,CCRP=512 且 CCRA=128,
PTM PWM 输出频率 = (fSYS/4)/512=fSYS/2048=7.8125kHz,Duty=128/512=25%。
若由 CCRA 寄存器定义的 Duty 值等于或大于 Period 值,PWM 输出占空比为
100%。
Rev. 1.60
86
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter Value
PTM [1:0] = 10
Counter cleared by
CCRP
Counter Reset when
PTON returns high
CCRP
Pause
Resume
Counter Stop if
PTON bit low
CCRA
Time
PTON
PTPAU
PTPOL
CCRA Int.
Flag PTMAF
CCRP Int.
Flag PTMPF
PTM O/P Pin
(PTOC=1)
PTM O/P Pin
(PTOC=0)
PWM Duty Cycle
set by CCRA
PWM resumes
operation
Output controlled by other
Output Inverts
pin-shared function
When PTPOL = 1
PWM Period set by CCRP
PWM 输出模式
注:1. 计数器由 CCRP 清除
2. 计数器清除设置 PWM 周期
3. 即使在 PTIO[1:0]=00 或 01 时,内部 PWM 功能继续运行
4. PTCCLR 位对 PWM 操作无影响
Rev. 1.60
87
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
单脉冲输出模式
为使 PTM 工作在此模式,PTMC1 寄存器中的 PTM1 和 PTM0 位需要设置为
“10”,并且相应的 PTIO1 和 PTIO0 需要设置为“11”。正如模式名所言,单
脉冲输出模式,在 PTM 输出脚将产生一个脉冲输出。
通过应用程序控制 PTON 位由低到高的转变来触发脉冲前沿输出。而处于单脉
冲输出模式时,PTON 位可在 PTCK 脚发生有效边沿跳转时自动由低转变为高,
进而开始单脉冲输出。当 PTON 位转变为高电平时,计数器将开始运行,并产
生脉冲前沿。通过应用程序使 PTON 位清零或比较器 A 比较匹配发生时,产生
脉冲后沿。
而比较器 A 比较匹配发生时,会自动清除 PTON 位并产生单脉冲输出边沿跳转。
CCRA 的值通过这种方式控制脉冲宽度。比较器 A 比较匹配发生时,也会产生
PTM 中断。PTON 位在计数器重启时会发生由低到高的转变,此时计数器才复
位至零。在单脉冲输出模式中,CCRP 寄存器和 PTCCLR 位未使用。
S/W Command
SET“PTON”
or
PTCK Pin
Transition
CCRA
Leading Edge
CCRA
Trailing Edge
PTON bit
1
0
PTON bit
0
1
S/W Command
CLR“PTON”
or
CCRA Compare
Match
PTP Output Pin
Pulse Width = CCRA Value
单脉冲产生示意图
Rev. 1.60
88
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Counter Value
PTM [1:0] = 10; PTIO [1:0] = 11
Counter stopped by
CCRA
Counter Reset when
PTON returns high
CCRA
Pause
Counter Stops by
software
Resume
CCRP
Time
PTON
Software
Trigger
Auto. set by
PTCK pin
Cleared by
CCRA match
PTCK pin
Software
Trigger
Software
Trigger
Software
Clear
Software
Trigger
PTCK pin
Trigger
PTPAU
PTPOL
No CCRP Interrupts
generated
CCRP Int.
Flag PTMPF
CCRA Int.
Flag PTMAF
PTM O/P Pin
(PTOC=1)
PTM O/P Pin
(PTOC=0)
Pulse Width
set by CCRA
Output Inverts
when PTPOL=1
单脉冲输出模式
注:1. 通过 CCRA 匹配停止计数器
2. CCRP 未使用
3. 通过 PTCK 脚或设置 PTON 位为高来触发脉冲
4. PTCK 脚有效沿会自动置位 PTON
5. 单脉冲输出模式中,PTIO[1:0] 需置位“11”,且不能更改。
Rev. 1.60
89
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
捕捉输入模式
为使 PTM 工作在此模式,PTMC1 寄存器的 PTM1 和 PTM0 位需要设置为“01”。
此模式使能外部信号捕捉并保存内部计数器当前值,因此被用于诸如脉冲宽度
测量的应用中。通过设置 PTMC1 寄存器的 PTCAPTS 位选择 PTPI 或 PTCK 引
脚上的外部信号。可通过设置 PTMC1 寄存器的 PTIO1 和 PTIO0 位选择有效边
沿类型,即上升沿,下降沿或双沿有效。通过应用程序将 PTON 位由低到高转
变时,计数器启动。
当 PTPI 或 PTCK 引脚出现有效边沿转换时,计数器当前值被锁存到 CCRA 寄
存器,并产生 PTM 中断。无论 PTPI 或 PTCK 引脚发生哪种边沿转换,计数器
将继续工作直到 PTON 位发生下降沿跳变。当 CCRP 比较匹配发生时计数器复
位至零;CCRP 的值通过这种方式控制计数器的最大值。当比较器 P CCRP 比
较匹配发生时,也会产生 PTM 中断。记录 CCRP 溢出中断信号的值可以测量
长脉宽。通过设置 PTIO1 和 PTIO0 位选择 PTPI 或 PTCK 引脚为上升沿,下降
沿或双沿有效。如果 PTIO1 和 PTIO0 位都设置为高,无论 PTPI 或 PTCK 引脚
发生哪种边沿转换都不会产生捕捉操作,但计数器仍会继续运行。PTCCLR,
PTOC 和 PTPOL 位在此模式中未使用。
Counter Value
PTM [1:0] = 01
Counter cleared by
CCRP
Counter
Stop
Counter
Reset
CCRP
YY
Pause
Resume
XX
Time
PTON
PTPAU
Active
edge
Active
edge
Active
edge
PTM Capture pin
PTPI or PTCK
CCRA Int.
Flag PTMAF
CCRP Int.
Flag PTMPF
CCRA
Value
PTIO [1:0]
Value
XX
00 – Rising edge
YY
01 – Falling edge
XX
10 – Both edges
YY
11 – Disable Capture
捕捉输入模式
注:1. PTM[1:0]=01 并通过 PTIO[1:0] 位设置有效边沿
2. PTM 捕捉输入脚的有效边沿将计数器的值转移到 CCRA 中
3. PTCCLR 位未使用
4. 无输出功能 – PTOC 和 PTPOL 位未使用
5. 计数器值由 CCRP 决定,在 CCRP 为“0”时,计数器计数值可达最大
Rev. 1.60
90
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
RF 发射器
RF 发射器是完全集成的发射器,能够使用频移键控 FSK 和开关键控 OOK 两种
调制方式进行数据串流。它有两种工作模式,即突发模式和直接模式。RF 发射
器工作在 315/433/868/915MHz 频段。
RF 发射器缩写注意事项
CP:充电泵
DFC:数字频率中心
FIFO:TX FIFO
MMD:多模分频器
PAD:功率放大驱动器
SX:合成器
TXD:来自 FIFO 或 DTXD 位的数据,取决于 DIR_EN 位
VCO:压控振荡器
XO:外部晶振输出
XCLK:RF 电路主要时钟。通过配置 XO_SEL[2:0],XODIV2 和 XCLKD2 位控
制,通过将 XCLK_EN 位置高来使能。
XCLK_MCU:单片机系统时钟。通过配置 XO_SEL[2:0], XODIV2 和 XCLKD2
位控制,通过将寄存器 HXTC 的 HXTEN 位置高来使能。
RF 发射器控制寄存器
RF 发射器的所有操作都由一系列寄存器控制。这些寄存器控制 RF 所有功能,
包括暂停控制、工作模式选择、时钟分频选择、FIFO 数据配置、调制器控制、
小数 N 分频合成器控制、充电泵 (CP) 控制、多模分频器 (MMD) 控制、压控振
荡器 (VCO) 控制、TX 功率微调、VCO DFC 校准、RF LDO 控制和 RF 外部晶
振输出等。
寄存器名称
位
RF_PWR
7
—
6
—
5
—
4
—
3
—
2
—
1
—
0
RF_PDB
RF_OPER
—
—
FSK_EN
DIR_EN
—
—
—
TX_
STROBE
RF_CLK1
XCLK_EN
XCLKINV
—
XCLKD2
—
—
—
RST_RF
RF_CLK2
DTR7
DTR6
DTR5
DTR4
DTR3
DTR2
DTR1
DTR0
RF_FIFO_
CTRL1
FFDATA7
FFDATA6
RF_FIFO_
CTRL2
FFLEN7
FFLEN6
FFLEN5
FFLEN4
FFLEN3
FFLEN2
FFLEN1
FFLEN0
RF_FIFO_
CTRL3
RST_TX_
FF
FFSA6
FFSA5
FFSA4
FFSA3
FFSA2
FFSA1
FFSA0
RF_FIFO_
CTRL4
DTXD
—
—
—
TXFFLT
FFMG_
EN
FFMG1
FFMG0
RF_MOD1
FDEV7
FDEV6
FDEV5
FDEV4
FDEV3
FDEV2
FDEV1
FDEV0
RF_MOD2
—
—
—
—
—
FDEV10
FDEV9
FDEV8
RF_OPMOD
—
—
—
—
—
ACAL_
EN
TX_EN
SX_EN
RF_SX1
—
DN6
DN5
DN4
DN3
DN2
DN1
DN0
Rev. 1.60
FFDATA5 FFDATA4 FFDATA3 FFDATA2 FFDATA1 FFDATA0
91
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
位
寄存器名称
7
6
5
4
3
2
1
0
RF_SX2
DK7
DK6
DK5
DK4
DK3
DK2
DK1
DK0
RF_SX3
DK15
DK14
DK13
DK12
DK11
DK10
DK9
DK8
RF_SX4
—
—
—
—
DK19
DK18
DK17
DK16
DLY_
SYN0
D4
D3
D2
D1
D0
RF_CP3
DLY_SYN2 DLY_SYN1
RF_OD1
D7
D6
D5
D4
D3
D2
D1
D0
—
—
DLY_
SXPD1
DLY_
SXPD0
—
D2
D1
D0
RF_VCO1
VCO_
SWHB
D6
D5
D4
D3
D2
D1
D0
RF_VCO2
DFCSF
—
VCO_
DFC4
VCO_
DFC3
VCO_
DFC2
VCO_
DFC1
VCO_
DFC0
DFC_OW
CT_PAD3
CT_PAD2
RF_OD3
RF_TX2
RF_DFC_
CAL
CT_
CT_
MMDLDO1 MMDLDO0
CT_PAD1 CT_PAD0
—
CT_
CT_
TXLDO1 TXLDO0
D0
—
D4
D3
D2
D1
D0
RF_LDO
D7
D6
D5
D4
D3
D2
D1
D0
RF_XO1
XSHIFT1
XSHIFT0
—
XO_
TRIM4
XO_
TRIM3
XO_
TRIM2
XO_
TRIM1
XO_
TRIM0
RF_XO2
—
D6
D5
—
XODIV2 XO_SEL2 XO_SEL1 XO_SEL0
RF 发射器控制寄存器列表
大多数 RF 发射器控制寄存器都在此章节描述,但是一些各别寄存器分别在其
它章节中描述。
● RF_PWR 寄存器 – RF 暂停控制寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
—
—
—
1
—
—
—
0
RF_PDB
R/W
0
Bit 7~1
未定义,读为“0”
Bit 0
RF_PDB:RF 暂停控制
0:RF 暂停模式
1:RF 有效模式
该位决定 RF 电路处于有效模式还是暂停模式。当单片机发生上电复位、LVR
复位或正常运行情况下发生 WDT 溢出,又或者通过将 PWRC 寄存器的 PWDN
位置 1 且执行 HALT 指令使单片机进入深度休眠模式时,此位都将被清零。
92
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RF_CLK1 寄存器 – RF 时钟控制寄存器 1
Bit
Name
R/W
POR
7
6
XCLK_EN XCLKINV
R/W
R/W
1
0
5
—
—
—
4
XCLKD2
R/W
0
3
—
—
—
2
—
—
—
1
—
—
—
0
RST_RF
R/W
0
Bit 7
XCLK_EN:时钟自动选通用于 RF 内部数字电路
0:除能
1:使能
写数据到 FIFO 需要先使能 XCLK。XCLK_EN 位应该先清零,才能通过将 RF_
PDB 位清零使 RF 电路进入暂停模式。这能避免 XCLK 时钟发生毛刺,从而保
证不会因为时钟丢失而影响 XCLK 域寄存器。
Bit 6
XCLKINV:XCLK 时钟反相控制
0:XCLK 时钟同相
1:XCLK 时钟反相
Bit 5
未定义,读为“0”
Bit 4
XCLKD2:XCLK 时钟二分频控制
0:XCLK 时钟未二分频
1:XCLK 时钟二分频
建议将此位清零。
Bit 3~1
未定义,读为“0”
Bit 0
RST_RF:RF 复位控制寄存器
0:RF 控制寄存器已完成自动清零
1:RF 控制寄存器复位
当该位置 1 时,除了 RF_PWR 寄存器,其它所有 RF 相关的寄存器都将复位。
这需要一个指令周期来完成自动清零使能动作。不要在两个连续的指令中设置
RST_RF 位为 1。
● RF_CLK2 寄存器 – RF 时钟控制寄存器 2
Bit
Name
R/W
POR
Bit 7~0
7
DTR7
R/W
0
6
DTR6
R/W
0
5
DTR5
R/W
0
4
DTR4
R/W
0
3
DTR3
R/W
0
2
DTR2
R/W
0
1
DTR1
R/W
0
0
DTR0
R/W
0
DTR7~DTR0:RF 数据传输速率设置
RF 数据传输速率 = 100kHz/(DTR[7:0]+1)
注:寄存器 RF_XO2 中的 XO_SEL[2:0] 位和 XODIV2 位应先设置以获得正确的
参考时钟。
● RF_CP3 寄存器 – RF CP 控制寄存器 3
Bit
Name
R/W
POR
Bit 7~5
Rev. 1.60
7
6
5
4
DLY_SYN2 DLY_SYN1 DLY_SYN0 D4
R/W
R/W
R/W
R/W
1
1
0
0
3
D3
R/W
1
2
D2
R/W
0
1
D1
R/W
1
0
D0
R/W
0
DLY_SYN2~DLY_SYN0:合成器延迟就绪时间
000:16μs
001:20μs
010:24μs
011:28μs
100:32μs
101:36μs
93
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
110:40μs
111:100μs
Bit 4~0
D4~D0:保留位
注:建议该寄存器内容应保持为 POR 值。
● RF_OD1 寄存器 – RF MMD 和 OD 控制寄存器 1
Bit
Name
R/W
POR
Bit 7~0
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
0
3
D3
R/W
0
2
D2
R/W
1
1
D1
R/W
0
0
D0
R/W
0
D7~D0:多模分频器和输出分频
该寄存器用来控制 RF 电路的多模分频器和输出分频。需注意的是,针对不同
的 RF 频带应用,该寄存器需写入不同设置值。建议的设置值详见下表。
RF 频带
RF_OD1 设置值
315MHz
08H
433MHz
04H
868/915MHz
00H
● RF_OD3 寄存器 – RF MMD 和 OD 控制寄存器 3
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
4
DLY_SXPD1 DLY_SXPD0
R/W
R/W
0
1
3
—
—
—
2
D2
R/W
1
1
D1
R/W
0
Bit 7~6
未定义,读为“0”
Bit 5~4
DLY_SXPD1~DLY_SXPD0:用于选择 SX_EN 位由 1 切换到 0 延迟时间
00:25μs
01:50μs
10:75μs
11:100μs
Bit 3
未定义,读为“0”
Bit 2~0
D2~D0:保留位
0
D0
R/W
0
注:建议该寄存器内容应保持为 POR 值。
● RF_VCO1 寄存器 – RF VCO 控制寄存器 1
Bit
Name
R/W
POR
Rev. 1.60
7
VCO_SWHB
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
1
3
D3
R/W
0
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
Bit 7
VCO_SWHB:VCO 2.5GHz 频带切换控制
0:其它频带
1:315MHz 频带
该位用来选择 VCO 315MHz 频带。如果该位置 1,则选择 VCO 315MHz。当该
位清 0 时,则选择除了 315MHz 外的其它 VCO 频带。
Bit 6~0
D6~D0:频带控制
94
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
需注意的是,针对不同的 RF 频带应用,该寄存器需写入不同设置值。建议的
设置值详见下表。
RF 频带
RF_VCO1 设置值
315MHz
90H
433MHz
10H
868/915MHz
10H
● RF_VCO2 寄存器 – RF VCO 控制寄存器 2
Bit
7
6
Name DFCSF —
R/W
POR
Bit 7
R
0
—
—
5
VCO_
DFC4
R/W
1
4
VCO_
DFC3
R/W
0
3
VCO_
DFC2
R/W
0
2
VCO_
DFC1
R/W
0
1
VCO_
DFC0
R/W
0
0
DFC_
OW
R/W
0
DFCSF:DFC 选择错误标志位 – 只读位
当 VCO 完成校准,该位的状态会改变。如果校准结果超出 DFC 曲线设计范围,
该位将置高,表明在当前所选择的通道里无 DFC。若 DFC 选择错误,意味着
VCO 不能工作在所需频率或可能存在其它异常。
Bit 6
未定义,读为“0”
Bit 5~1
VCO_DFC4~VCO_DFC0:VCO DFC 曲线 trim 值
00000:最小频率
↓ :
↓
11111:最大频率
这些位用来设置不同频段对应的各种电容阵列值,以增加 VCO 频率覆盖范围。
设置的字段值越大,获得的 VCO 频率越高。这个位字段中的 VCO DFC trim 值
可通过 DFC_OW 位选择手动软件设置或硬件自动校准。
Bit 0
DFC_OW:VCO DFC 曲线 trim 值来源选择
0:VCO DFC 曲线 trim 值取决于自动校准结果
1:VCO DFC 曲线 trim 值取决于手动设置
该位用来选择 VCO DFC 曲线 trim 值来源。当该位设为 0 时,无论 VCO_DFC
字段为何值,VCO DFC 曲线 trim 值来自自动校准结果。但是,当该位置 1 时,
VCO DFC 曲线 trim 值取决于 VCO_DFC 字段而不是自动校准结果。当该位设
为 0 时,若读取 VCO_DFC 字段,所返回的 VCO DFC 曲线 trim 值来自自动校
准结果。
注:建议该寄存器内容应保持为 POR 值。
下面将介绍两个 DFC 校准范例。
● RF 每次上电后,进行 DFC 校准
步骤 1:系统上电复位,默认将 DFC_OW 位和 RF_PDB 位都设为 0
步骤 2 :通过将 ACAL_EN 位置 1 来使能 DFC 自动校准,等待,直至 ACAL_EN
位清零
步骤 3:由于 RF_PDB 位为 0,则 RF 进入暂停模式
步骤 4:将 RF_PDB 位置 1 启动 RF 电路,并保持 DFC_OW 位为 0
步骤 5 :通过将 ACAL_EN 位置 1 来使能 DFC 自动校准,等待,直至 ACAL_EN
位清零
● 仅当系统上电复位后,进行 DFC 校准
步骤 1:系统上电复位,默认将 DFC_OW 位和 RF_PDB 位都设为 0
步骤 2:通过将 RF_PDB 置 1 启动 RF 电路
步骤 3 :通过将 ACAL_EN 位置 1 来使能 DFC 自动校准,等待,直至 ACAL_EN
位清零
步骤 4:将 VCO_DFC[4:0] 备份至 RAM
Rev. 1.60
95
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
步骤 5:通过将 RF_PDB 位设为 0,RF 进入暂停模式
步骤 6:将 RF_PDB 位置 1 启动 RF 电路,并保持 DFC_OW 位为 0
步骤 7:从 RAM 中还原 VCO_DFC[4:0]
步骤 8:将 DFC_OW 位置 1
● RF_TX2 寄存器 – RF TX 控制寄存器 2
Bit
7
6
5
4
CT_
CT_
CT_
CT_
Name
PAD3
PAD2
PAD1
PAD0
3
—
2
CT_
TXLDO1
1
CT_
TXLDO0
R/W
R/W
R/W
R/W
R/W
—
R/W
R/W
POR
1
1
0
1
—
0
0
Bit 7~4
0
D0
R/
W
0
CT_PAD3~CT_PAD0:TX PAD 线性功率控制
CT_PAD[3:0]
输出功率微调
1100
0dBm_L3
1000
0dBm_L2
0100
0dBm_L1
0000
0dBm_L0
1101
10dBm_L3
1001
10dBm_L2
0101
10dBm_L1
0001
10dBm_L0
111x
13dBm_L3
101x
13dBm_L2
011x
13dBm_L1
001x
13dBm_L0
注:1. xdBm_L0~xdBm_L3 用于输出功率微调。
2. 功耗大小:xdBm_L0 > xdBm_L1 > xdBm_L2 > xdBm_L3。
Bit 3
Bit 2~1
未定义,读为“0”
CT_TXLDO1~CT_TXLDO0:XO LDO 电压设置
00:1.35V
01:1.5V
10:1.65V
11:1.8V
Bit 0
D0:保留位
RF Band
Rev. 1.60
CT_TXLDO[1:0]
D0
315MHz
0
1
0
433MHz
0
1
0
868MHz
1
0
0
915MHz
1
0
0
96
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RF_DFC_CAL 寄存器 – RF VCO DFC 校准控制寄存器
Bit
Name
R/W
POR
Bit 7~6
Bit 5
Bit 4~0
7
6
CT_MMDLDO1 CT_MMDLDO0
R/W
R/W
0
0
5
—
—
—
4
3
2
1
0
D4
D3
D2
D1
D0
R/W R/W R/W R/W R/W
0
0
0
0
0
CT_MMDLDO1~CT_MMDLDO0:MMD LDO 电压设置
00:1.35V
01:1.5V
10:1.65V
11:1.8V
未定义,读为“0”
D4~D0:保留位
注:建议该寄存器内容应保持为 POR 值。
● RF_LDO 寄存器 – RF LDO 控制寄存器
Bit
Name
R/W
POR
Bit 7~0
7
D7
R/W
0
6
D6
R/W
0
5
D5
R/W
0
4
D4
R/W
1
3
D3
R/W
1
2
D2
R/W
0
1
D1
R/W
0
0
D0
R/W
0
D7~D0:RF 合成器和 VCO LDO 功能控制
该寄存器用来控制 RF 合成器和 VCO 电路的 LDO 整体功能。需注意的是,针
对不同的 RF 频带应用,该寄存器需写入不同设置值。建议的设置值详见下表。
RF 频带
RF_LDO 设置值
315MHz
68H
433MHz
68H
868/915MHz
64H
● RF_XO1 寄存器 – RF XO 控制寄存器 1
Bit
Rev. 1.60
7
6
5
Name XSHIFT1 XSHIFT0
—
R/W
POR
—
—
R/W
1
R/W
0
4
3
2
1
0
XO_
XO_
XO_
XO_
XO_
TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
R/W
R/W
R/W
R/W
R/W
1
0
1
0
1
Bit 7~6
XSHIFT[1:0]:晶体振荡器内部电容负载粗调整
每阶电容变化 = 4.5pF,XSHIFT 字段值 = 0 ~ 3
总电容负载 ≈ 7 + XSHIFT[1:0] × 4.5 + XO_TRIM[4:0] × 0.2,单位:pF
Bit 5
Bit 4~0
未定义,读为“0”
XO_TRIM[5:0]:晶体振荡器内部电容负载微调整
每阶电容变化 = 0.2pF,XO_TRIM 字段值 = 0 ~ 31
总电容负载 ≈ 7 + XSHIFT[1:0] × 4.5 + XO_TRIM[4:0] × 0.2,单位:pF
97
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RF_XO2 寄存器 – RF XO 控制寄存器 2
Bit
Name
R/W
POR
7
—
—
—
6
D6
R/W
0
5
D5
R/W
1
4
—
—
—
3
2
1
0
XODIV2 XO_SEL2 XO_SEL1 XO_SEL0
R/W
R/W
R/W
R/W
0
0
1
1
Bit 7
未定义,读为“0”
Bit 6~5
D6~D5:建议的设定值概括为下表所示
Bit 4
未定义,读为“0”
Bit 3
XODIV2:XO 输出二分频选择
0:无任何分频
1:二分频
建议将此位清零。
Bit 2~0
XO_SEL2~XO_SEL0:XO 输出选择
000:保留
001:保留
010:保留
011:16MHz
100:保留
101/110/111:保留
应通过 XODIV2 位和 XO_SEL 字段正确选择外部晶振。需注意的是,针对不同
的外部晶振选择和 RF 频带应用,该寄存器需写入不同设置值。建议的设置值详
见下表。
RF 频带
外部晶振选择
315MHz
433MHz
16MHz
0010 0011
0010 x011
868/915MHz
0100 x011
“x”:0 或 1
调制模式和工作模式选择
调制模式
该系列单片机有两种 RF 调制模式,即 FSK 模式和 OOK 模式,可通过 FSK_EN
位选择。
在 OOK 调制模式中,RFOUT 引脚将输出 RF 载波信号,其频率 fC 可通过通道
代码 DN[6:0] 和 DK[19:0] 选择。RF 载波信号的开启和关闭由数据速率及传输
的数据来控制。
在 FSK 调制模式中,RFOUT 引脚将输出 RF 信号,数据“1”的频率为 (fC+fDEV),
而数据“0”的频率为 (fC-fDEV)。RF 载波信号的开启和关闭由数据速率及传输的
数据来控制。
工作模式
该系列单片机有两种 RF 工作模式,即突发模式和直接模式,可通过 DIR_EN
位选择。
在突发模式中,被传送的数据来自 FIFO,且通过状态机控制 RF 模块。用户只
需将数据写入 FIFO,且通过将 TX_STROBE 置高来启动传送,直至传送完成。
这是一个易用模式。
在直接模式中,被传送的数据由寄存器 RF_FIFO_CTRL4 中的 DTXD 位配置。
RF 功能模块中时序的启动和关闭可通过特定的程序序列控制,下文将一一介
绍。该模式拥有较大的灵活性,因此要求用户注意模块控制和被传送的数据。
Rev. 1.60
98
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RF_OPER 寄存器 – RF 工作控制寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
4
FSK_EN DIR_EN
R/W
R/W
0
0
3
—
—
—
2
—
—
—
1
—
—
—
0
TX_STROBE
R/W
0
Bit 7~6
未定义,读为“0”
Bit 5
FSK_EN:RF 输出调制模式选择
0:OOK 模式,PAD 使能通过 TXD 直接控制。
1:FSK 模式,PAD 强制使能,且 TXD 调制 TX 频率。
Bit 4
DIR_EN:RF 输出工作模式选择
0:突发模式 (Burst Mode),可从 FIFO 读取 TX 数据,通过状态机控制 RF。
若 FIFO 传送完成,RF TX 将进入待机模式。
1:直接模式 (Direct Mode),TX 数据来自寄存器 RF_FIFO_CTRL4 的 DTXD
位,可通过 SX_EN 位 ( 第一层使能 ) 和 TX_EN 位 ( 第二层使能 ) 控制 RF
状态。
Bit 3~1
未定义,读为“0”
Bit 0
TX_STROBE:TX Strobe 启动 RF 突发模式数据传输
0:TX 数据包已经发送完毕
1:启动 TX 传送
若该位置高,则自动启动 TX 传送步骤,此时所有寄存器设置都不能被改变。
当一个 TX 数据包发送完毕时,该位将自动清零,此时会产生 BMTCF 中断请求。
若该位恢复为低,用户可启动下一个传送。通过对这个位写入一个 0,可迫使用
户将 TX 传送结束。
● RF_MOD1 寄存器 – RF 调制器控制寄存器 1
Bit
Name
R/W
POR
Bit 7~0
7
6
5
4
3
2
1
0
FDEV7 FDEV6 FDEV5 FDEV4 FDEV3 FDEV2 FDEV1 FDEV0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
1
0
0
1
0
0
0
0
FDEV7~FDEV0:设置 FSK 模式下的频率偏差
这些位将和寄存器 RF_MOD2 的 FDEV10~FDEV9 位一起用来设置 FSK 模式下
的频率偏差。
● RF_MOD2 寄存器 – RF 调制器控制寄存器 2
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
1
0
FDEV10 FDEV9 FDEV8
R/W
R/W
R/W
0
0
1
Bit 7~3
未定义,读为“0”
Bit 2~0
FDEV10~FDEV8:设置 FSK 模式下的频率偏差
这些位将和寄存器 RF_MOD1 的 FDEV7~FDEV0 位一起用来设置 FSK 模式下的
频率偏差。
FDEV[10:0]=DEC2HEX (INT((217-1)/fXTAL)×fD)
例如,若 fXTAL=16MHz,XODIV2=0,fD=50kHz,则 FDEV[10:0]=19AH。
99
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RF_OPMOD 寄存器 – RF 工作模式控制寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
1
0
ACAL_EN TX_EN SX_EN
R/W
R/W
R/W
0
0
0
Bit 7~3
未定义,读为“0”
Bit 2
ACAL_EN:自动校准使能控制
0:除能
1:使能
通过应用程序置位或复位此位来激活或终止自动校准功能。当完成自动校准时,
该位会被硬件自动清零。
Bit 1
TX_EN:发射器控制 ( 仅在直接模式下有效 )
0:除能
1:使能
该位仅用于直接模式,不可用于突发模式。
Bit 0
SX_EN:合成器 PLL 开启控制 ( 仅在直接模式下有效 )
0:除能
1:使能
该位仅用于直接模式,不可用于突发模式。
突发模式下的 TX FIFO 模式
在突发模式中,要传送的数据来自 FIFO,由单片机预先写入。有三种 FIFO 模
式,分别为简易型 FIFO 模式、模块型 FIFO 模式和扩展型 FIFO 模式,可用于
支援不同应用。在突发模式下使用 FIFO,可通过设置寄存器 RF_FIFO_CTRL3
的 RST_TX_FF 位为 1 来复位 FIFO 指针和缓冲器。此后,FIFO 处于像上电复
位时的初始状态。
简易型 FIFO 模式
此 FIFO 模式用于普通应用。数据长度不应超过 128 字节。为了采用简易型
FIFO 模式,单片机必须通过访问寄存器 RF_FIFO_CTRL1 的 FFDATA[7:0] 位将
要传送的数据写入 FIFO。传送到发射器的传输序列须先入先出,且每个字节都
是最高位先出。用户应先确定传输数据包格式,例如前导码和识别码,数据包
编码分别有 FEC ( 前向纠错 ),CRC ( 循环冗余校验 ) 和数据白化等。当 FIFO
被完全写满后,将寄存器 RF_FIFO_CTRL3 的 FFSA[6:0] 位设为 0,并通过设置
寄存器 RF_FIFO_CTRL2 的 FFLEN[7:0] 位配置所需的传输长度 ( 单位:字节 )。
然后通过配置 FSK_EN、DIR_EN 和 TX_STROBE 位来启动传送。完成当前的
传送后,数据将被保存在 FIFO 以等待下一次传送。
模块型 FIFO 模式
模块型 FIFO 模式用于支援多键编码应用。用户应预先将所有按键编码写入
FIFO。当按下按键时,单片机将检测到按键,并通过设置寄存器 RF_FIFO_
CTRL3 的 FFSA[6:0] 位为目标按键码起始地址,然后通过设置寄存器 RF_FIFO_
CTRL2 的 FFLEN[7:0] 位来表明按键码长度,最后通过设置寄存器 RF_OPER 的
TX_STROBE 位来启动传送。最大 FIFO 长度也应限制为 128 字节。
Rev. 1.60
100
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
扩展型 FIFO 模式
扩展型 FIFO 模式用于长度多达 256 字节的大数据包。FIFO 的物理长度为 128
字节。为了在一个数据包里扩展可用的传输长度,则在单片机和 FIFO 之间需
要一个握手机制。
通过设置寄存器 RF_FIFO_CTRL4 的 FFMG[1:0] 位来决定 FIFO 数据长度阈值,
通过将 FFMG_EN 位置 1 使能阈值检测功能以提醒单片机。当收到提示信号时,
单片机应尽可能快地将数据写入 FIFO,以避免 FIFO 数据长度为 0 从而导致传
输终止。
● RF_FIFO_CTRL1 寄存器 – RF FIFO 控制寄存器 1
Bit
Name
R/W
POR
Bit 7~0
7
6
5
4
3
2
1
0
FFDATA7 FFDATA6 FFDATA5 FFDATA4 FFDATA3 FFDATA2 FFDATA1 FFDATA0
W
W
W
W
W
W
W
W
0
0
0
0
0
0
0
0
FFDATA7~FFDATA0:FIFO 数据端口
写数据到该端口,即将数据写入 FIFO。从该端口读取数据,即从 FIFO 顶部读
取数据。
● RF_FIFO_CTRL2 寄存器 – RF FIFO 控制寄存器 2
Bit
Name
R/W
POR
Bit 7~0
7
6
5
4
3
2
1
0
FFLEN7 FFLEN6 FFLEN5 FFLEN4 FFLEN3 FFLEN2 FFLEN1 FFLEN0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
1
1
1
1
1
1
FFLEN7~FFLEN0:TX 数据长度 ( 仅用于突发模式 )
被传送的数据字节数为 FFLEN[7:0]+1。在简易型 FIFO 模式和模块型 FIFO 模式
中,FFLEN[7:0] 应限制在 7Fh。用户设置寄存器时不可大于该值。
● RF_FIFO_CTRL3 寄存器 – RF FIFO 控制寄存器 3
Bit
Name
R/W
POR
7
6
5
4
3
2
1
0
RST_TX_FF FFSA6 FFSA5 FFSA4 FFSA3 FFSA2 FFSA1 FFSA0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Bit 7
RST_TX_FF:复位 TX FIFO
0: TX FIFO 未复位到初始状态或复位动作完成
1: TX FIFO 复位到初始状态
该位置 1 时,TX FIFO 复位到初始状态。复位动作完成后,该位将自动清零。
Bit 6~0
FFSA6~FFSA0:FIFO 发送数据的起始地址 — 仅用于模块型 FIFO 模式
● RF_FIFO_CTRL4 寄存器 – RF FIFO 控制寄存器 4
Bit
Name
R/W
POR
Rev. 1.60
7
DTXD
R/W
0
6
—
—
—
5
—
—
—
4
—
—
—
Bit 7
DTXD:直接模式 TX 数据设置
Bit 6~4
未定义,读为“0”
101
3
2
1
0
TXFFLT FFMG_EN FFMG1 FFMG0
R
R/W
R/W
R/W
0
0
0
1
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Bit 3
TXFFLT:TX FIFO 长度小于 FFMG[1:0] 指定的长度阈值 ( 只读 )
0:TX FIFO 长度大于 FFMG[1:0] 指定的长度阈值
1:TX FIFO 长度低于或等于 FFMG[1:0] 指定的长度阈值
若 FFMG_EN 位为 0,TXFFLT 位将始终保持为 0。若 FFMG_EN 位为 1,TXFFLT
位将表明 TX FIFO 的长度状态。当该位被硬件置高时,表明 TX FIFO 长度低于
或等于 FFMG[1:0] 指定的长度阈值,此时,将产生一个 FFMGF 中断请求。
Bit 2
FFMG_EN:TX FIFO 长度阈值检测功能使能控制
0:除能
1:使能
Bit 1~0
FFMG1~FFMG0:TX FIFO 长度阈值 – 表示 FIFO 中剩余的数据字节数
00:4 个字节
01:8 个字节
10:16 个字节
11:32 个字节
RF 通道设置
RF 通道可通过四个寄存器 RF_SX1 ~ RF_SX4 设置。
● RF_SX1 寄存器 – RF 小数 N 分频合成器控制寄存器 1
Bit
Name
R/W
POR
7
—
—
—
6
DN6
R/W
0
5
DN5
R/W
1
4
DN4
R/W
1
3
DN3
R/W
0
2
DN2
R/W
1
0
DN0
R/W
0
Bit 7
未定义,读为“0”
Bit 6~0
DN6~DN0:被除数的整数部分用于 MMD,支持 32~127
由于 MMD 数据来自 delta-sigma 调制器,DN 支持范围将受影响。实际范围将
为 (32+3) ~ (127-4),即 35~123。
设置初始值,即 XO=16MHz,TX 频带 = 433.92MHz:
例如,若晶振 = XO=16MHz,XODIV2=0,且 RF_OD1=04H;
VCO 频率 = TX 频率 × 4=433.92MHz×4=1735.68MHz;
XO×(DN+DK/220)=16MHz×(DN+DK/220)=VCO 频率 / 2=1735.68MHz/2=867.84MHz;
(DN+DK/220)=54.24,因此 DN[6:0]=36H=54,DK[19:0]=3D70AH=251658。
● RF_SX2 寄存器 – RF 小数 N 分频合成器控制寄存器 2
Bit
7
6
5
4
3
2
Name
DK7
DK6
DK5
DK4
DK3
DK2
R/W
R/W
R/W
R/W
R/W
R/W
R/W
POR
0
0
0
0
1
0
Bit 7~0
Bit 7~0
1
DK1
R/W
1
0
DK0
R/W
0
1
DK9
R/W
1
0
DK8
R/W
1
DK7~DK0:被除数的 20-bit 小数部分的低字节用于 MMD
设置初始值,即 XO=16MHz,且 TX 频带 = 433.92MHz。
● RF_SX3 寄存器 – RF 小数 N 分频合成器控制寄存器 3
Bit
7
6
5
4
3
2
Name
DK15
DK14
DK13
DK12
DK11
DK10
R/W
R/W
R/W
R/W
R/W
R/W
R/W
POR
1
1
0
1
0
1
Rev. 1.60
1
DN1
R/W
1
DK15~DK8:被除数的 20-bit 小数部分的中间字节用于 MMD
设置初始值,即 XO=16MHz,且 TX 频带 = 433.92MHz。
102
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● RF_SX4 寄存器 – RF 小数 N 分频合成器控制寄存器 4
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
DK19
R/W
0
2
DK18
R/W
0
Bit 7~4
未定义,读为“0”
Bit 3~0
DK19~DK16:被除数的 20-bit 小数部分的高字节用于 MMD
设置初始值,即 XO=16MHz,且 TX 频带 = 433.92MHz。
1
DK17
R/W
1
0
DK16
R/W
1
RF 通道设置说明 (VCO 工作频率:1.7GHz~1.9GHz,2.5GHz)
XODIV2 位和寄存器 RF_OD1 必须按照下面两个规则配置:
1. VCO 工作频率是否在规定范围内。
2. DN 和 DK 计算值在寄存器 RF_SX1~RF_SX4 的可用范围内。
当晶振频率 = XO=16MHz 时,以下为五个频率配置范例:
● 315MHz
XODIV2=0,RF_OD1=08H
VCO 频率 = TX 频率 × 8=315MHz×8=2520MHz
XO×(DN+DK/220)=16MHz×(DN+DK/220)=VCO 频率 / 2=2520MHz/2=1260MHz
(DN+DK/220)=78.75,因此 DN[6:0]=4EH=78,DK[19:0]=C0000H=786432
注:当 TX 频率为 315MHz 时,应通过应用程序将 VCO_SWHB 位置高,将
VCO 转换到 2.5GHz 频带。
● 433MHz
XODIV2=0,RF_OD1=04H
VCO 频率 = TX 频率 × 4=433MHz×4=1732MHz
XO×(DN+DK/220)=16MHz×(DN+DK/220)=VCO 频率 / 2=1732MHz/2=866MHz
(DN+DK/220)=54.125,因此 DN[6:0]=36H=54,DK[19:0]=20000H=131072
● 433.92MHz ( 默认设置 )
XODIV2=0,RF_OD1=04H
VCO 频率 = TX 频率 × 4=433.92MHz×4=1735.68MHz
XO×(DN+DK/220)=16MHz×(DN+DK/220)=VCO 频率 / 2=1735.68MHz/2=867.84MHz
(DN+DK/220)=54.24,因此 DN[6:0]=36H=54,DK[19:0]=3D70AH=251658
● 868MHz
XODIV2=0,RF_OD1=00H
VCO 频率 = TX 频率 × 2=868MHz×2=1736MHz
XO×(DN+DK/(220))=16MHz×(DN+DK/(220))=VCO 频率 / 2=1736MHz/2=868MHz
(DN+DK/(220))=54.25,因此 DN[6:0]=36H=54,DK[19:0]=40000H=262144
● 915MHz
XODIV2=0,RF_OD1=00H
VCO 频率 = TX 频率 × 2=915MHz×2=1830MHz
XO×(DN+DK/220)=16MHz×(DN+DK/220)=VCO 频率 / 2=1830MHz/2=915MHz
(DN+DK/220)=57.1875,因此 DN[6:0]=39H=57,DK[19:0]=30000H=196608
Rev. 1.60
103
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
软件编程指南
为了帮助用户实现所需的传送,此章节将介绍突发模式和直接模式下的参考设
置步骤。这两个模式的差异在于被传送数据的产生、RF 模块开启和关闭控制,
更多细节详见下文描述。
突发模式 (Burst Mode)
1. 根据所选的晶体振荡器正确设置 XO_SEL[2:0]、XODIV2 和 XCLKD2 位。
2. 由于 XCLK_EN 位默认为 1,通过将 RF_PDB 位置 1,RF 电路将采用 XCLK
时钟开始工作。
3. 若用户选择 HXT 作为系统时钟,请检查 HXTF 位。若此位为 1,表明单片机
时钟已经准备完毕,单片机可采用 XCLK_MCU 时钟作为它的主要时钟。
4. 设置 RF 相关配置寄存器。
5. 若第一次上电或工作环境变化很大,通过设置寄存器 RF_OPMOD 的 ACAL_
EN 位来启动自动校准进程,轮询该位直至校准结束。读取寄存器 RF_VCO2
的 VCO_DFC[4:0] 位的值,并将其备份到 RAM。当单片机或 RF 电路进入暂
停模式时,该动作可以节省校准时间。通过对该字段写入访问,该数据将被
重新存储到 VCO_DFC[4:0]。然后通过设置寄存器 RF_VCO2 的 DFC_OW 位
为 1,迫使 DFC 选择该曲线。
6. 对 FIFO 写入数据。通过 FFLEN[7:0] 位来设置所需的传输字节长度。通过
DTR[7:0] 位来设置数据传输速率。通过 FDEV[10:0] 位设置 FSK 模式下的频
率偏差。
7. 通过设置 DIR_EN 位为 0 来选择突发模式,设置 FSK_EN 位为 0,则选择
OOK 调制方式,而设置 FSK_EN 位为 1,则选择 FSK 调制方式,设置 TX_
STROBE 位为 1,启动传输。然后 FIFO 的数据将通过 FSK 或 OOK 调制方
式自动转移到 RFOUT 引脚。
8. 轮询 TX_STROBE 位直至该位被硬件清零。当 TX_STROBE 位为 1 时,不允
许对 RF 配置寄存器进行任何写入访问。
9. 若用户想要再发送先前的数据,只需检查 TX_STROBE 位。当该位为低,再
设置为 1 将启动下一次传输。
10. 若 TX_STROBE 位为高,用户想强制终止此次传输,只需将 TX_STROBE
位设为低,而等待至少 1μs 后,状态机将关闭功率放大驱动器。用户可再次
设置 X_STROBE 位来启动新的传输。
11. 通过将 XCLK_EN 设为 0,然后将 RF_PDB 清零即可关闭 RF 电路。
直接模式 (Direct Mode)
1. 根据所选的晶体振荡器正确设置 XO_SEL[2:0]、XODIV2 和 XCLKD2 位。
2. 由于 XCLK_EN 位默认为 1,通过将 RF_PDB 位置 1,RF 电路将采用 XCLK
时钟开始工作。
3. 若用户选择 HXT 作为系统时钟,请检查 HXTF 位。若此位为 1,表明单片机
时钟已经准备完毕,单片机可采用 XCLK_MCU 时钟作为它的主要时钟。
4. 设置 RF 相关配置寄存器。
5. 若第一次上电或工作环境变化很大,通过设置寄存器 RF_OPMOD 的 ACAL_
EN 位来启动自动校准进程,轮询该位直至校准结束。读取寄存器 RF_VCO2
的 VCO_DFC[4:0] 位的值,并将其备份到 RAM。当单片机或 RF 电路进入暂
停模式时,该动作可以节省校准时间。通过对该字段写入访问,该数据将被
重新存储到 VCO_DFC[4:0]。然后通过设置寄存器 RF_VCO2 的 DFC_OW 位
为 1,迫使 DFC 选择该曲线。
Rev. 1.60
104
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
6. 写入要传送的第一个数据位至 DTXD 位。通过 FDEV[10:0] 位来设置 FSK 模
式下的频率偏差。
7. 通过将 DIR_EN 位设为 1 来选择直接模式,设置 FSK_EN 位为 0,则选择
OOK 调制方式,而设置 FSK_EN 位为 1,则选择 FSK 调制方式。
8. 通过将 SX_EN 置位来使能所有合成器模块功能,执行一段延迟时间以等待
合成器稳定。
9. 通过将 TX_EN 置位来使能功率放大器模块功能,然后开始通过 RFOUT 引脚
传输数据。
10. 按照所需数据传输速率持续更新 DTXD 位直至所有数据传送完成。
11. 将 TX_EN 位设为 0,延迟 1μs,然后也将 SX_EN 位为设 0。
12. 将 XCLK_EN 位设为 0,然后将 RF_PDB 位清零来关闭 RF 电路。
注:在直接模式中,当完成数据传送时,为了使 RF 电路进入暂停模式以减少
功耗,用户必须用正确的顺序配置相关位,如步骤 11 和步骤 12 所描述的,
否则会产生不必要的待机电流。
VDD Power On
System_Initial_POR
RF_PDB=1
DIR_EN=1
SX_EN=1
RF Power On Sequence
Delay 10us
SX_EN=0
DIR_EN=0
RF_PDB=0
Registers Initial
N
RF Transmit ?
Y
RF Transmit Process
Enter Deep Sleep or
Sleep Mode
RF 发射器流程
Rev. 1.60
105
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
中断
中断是单片机一个重要功能。当外部事件或内部功能如定时器模块有效,并且
产生中断时,系统会暂时中止当前的程序而转到执行相对应的中断服务程序。
此系列单片机提供多个外部中断和内部中断功能,外部中断由 INT0 和 INT1 引
脚动作产生,而内部中断由各种内部功能,如定时器模块、时基、LVD 和时基
等产生。
中断寄存器
中断控制基本上是在一定单片机条件发生时设置请求标志位,应用程序中中断
使能位的设置是通过位于专用数据存储器中的一系列寄存器控制的。寄存器总
的分为三类。第一类是 INTC0~INTC1 寄存器,用于设置基本的中断;第二类
是 MFI0~MFI2 寄存器,用于设置多功能中断;最后一种有 INTEG 寄存器,用
于设置外部中断边沿触发类型。
寄存器中含有中断控制位和中断请求标志位。中断控制位用于使能或除能各种
中断,中断请求标志位用于存放当前中断请求的状态。它们都按照特定的模式
命名,前面表示中断类型的缩写,紧接着的字母“E”代表使能 / 除能位,“F”
代表请求标志位。
功能
总中断
INTn 脚
时基
多功能
LVD
RF TX FIFO 长度阈值检测
RF 突发模式传送完成
CTM
PTM
使能位
EMI
INTnE
TBnE
MFInE
LVDE
FFMGE
BMTCE
CTMPE
CTMAE
PTMPE
PTMAE
请求标志
—
INTnF
TBnF
MFInF
LVDF
FFMGF
BMTCF
CTMPF
CTMAF
PTMPF
PTMAF
注释
—
n=0 或 1
n=0 或 1
n=0~2
—
—
—
—
—
中断寄存器位命名模式
寄存器
名称
INTEG
INTC0
INTC1
MFI0
MFI1
MFI2
位
7
—
—
MFI2F
—
—
—
6
5
4
3
2
1
0
—
—
—
INT1S1 INT1S0 INT0S1 INT0S0
TB0F INT1F INT0F TB0E INT1E INT0E
EMI
MFI1F MFI0F TB1F MFI2E MFI1E MFI0E TB1E
—
CTMAF CTMPF
—
—
CTMAE CTMPE
—
PTMAF PTMPF
—
—
PTMAE PTMPE
LVDF FFMGF BMTCF
—
LVDE FFMGE BMTCE
中断寄存器列表
Rev. 1.60
106
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● INTEG 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
2
1
0
INT1S1 INT1S0 INT0S1 INT0S0
R/W
R/W
R/W
R/W
0
0
0
0
Bit 7~4
未定义,读为“0”
Bit 3~2
INT1S1~INT1S0:INT1 脚中断边沿控制位
00:除能
01:上升沿
10:下降沿
11:双沿
Bit 1~0
INT0S1~INT0S0:INT0 脚中断边沿控制位
00:除能
01:上升沿
10:下降沿
11:双沿
● INTC0 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
TB0F
R/W
0
5
INT1F
R/W
0
4
INT0F
R/W
0
Bit 7
未定义,读为“0”
Bit 6
TB0F:时基 0 中断请求标志位
0:无请求
1:中断请求
Bit 5
INT1F:INT1 中断请求标志位
0:无请求
1:中断请求
Bit 4
INT0F:INT0 中断请求标志位
0:无请求
1:中断请求
Bit 3
TB0E:时基 0 中断控制位
0:除能
1:使能
Bit 2
INT1E:INT1 中断控制位
0:除能
1:使能
Bit 1
INT0E:INT0 中断控制位
0:除能
1:使能
Bit 0
EMI:总中断控制位
0:除能
1:使能
107
3
TB0E
R/W
0
2
INT1E
R/W
0
1
INT0E
R/W
0
0
EMI
R/W
0
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● INTC1 寄存器
Bit
Name
R/W
POR
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
7
MFI2F
R/W
0
6
MFI1F
R/W
0
5
MFI0F
R/W
0
4
TB1F
R/W
0
3
MFI2E
R/W
0
2
MFI1E
R/W
0
3
—
—
—
2
—
—
—
1
MFI0E
R/W
0
0
TB1E
R/W
0
MFI2F:多功能中断 2 请求标志位
0:无请求
1:中断请求
MFI1F:多功能中断 1 请求标志位
0:无请求
1:中断请求
MFI0F:多功能中断 0 请求标志位
0:无请求
1:中断请求
TB1F:时基 1 中断请求标志位
0:无请求
1:中断请求
MFI2E:多功能中断 2 控制位
0:除能
1:使能
MFI1E:多功能中断 1 控制位
0:除能
1:使能
MFI0E:多功能中断 0 控制位
0:除能
1:使能
TB1E:时基 1 中断控制位
0:除能
1:使能
● MFI0 寄存器
Bit
Name
R/W
POR
6
—
—
—
5
4
CTMAF CTMPF
R/W
R/W
0
0
Bit 7~6
未定义,读为“0”
Bit 5
CTMAF:CTM 比较器 A 匹配中断请求标志位
0:无请求
1:中断请求
CTMPF:CTM 比较器 P 匹配中断请求标志位
0:无请求
1:中断请求
未定义,读为“0”
CTMAE:CTM 比较器 A 匹配中断控制位
0:除能
1:使能
CTMPE:CTM 比较器 P 匹配中断控制位
0:除能
1:使能
Bit 4
Bit 3~2
Bit 1
Bit 0
Rev. 1.60
7
—
—
—
108
1
0
CTMAE CTMPE
R/W
R/W
0
0
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● MFI1 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
4
PTMAF PTMPF
R/W
R/W
0
0
3
—
—
—
Bit 7~6
未定义,读为“0”
Bit 5
PTMAF:PTM 比较器 A 匹配中断请求标志位
0:无请求
1:中断请求
Bit 4
PTMPF:PTM 比较器 P 匹配中断请求标志位
0:无请求
1:中断请求
Bit 3~2
未定义,读为“0”
Bit 1
PTMAE:PTM 比较器 A 匹配中断控制位
0:除能
1:使能
Bit 0
PTMPE:PTM 比较器 P 匹配中断控制位
0:除能
1:使能
2
—
—
—
1
0
PTMAE PTMPE
R/W
R/W
0
0
2
LVDE
R/W
0
1
0
FFMGE BMTCE
R/W
R/W
0
0
● MFI2 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
LVDF
R/W
0
5
4
FFMGF BMTCF
R/W
R/W
0
0
3
—
—
—
Bit 7
未定义,读为“0”
Bit 6
LVDF:LVD 中断请求标志位
0:无请求
1:中断请求
Bit 5
FFMGF:RF TX FIFO 长度阈值检测中断请求标志位
0:无请求
1:中断请求
Bit 4
BMTCF:RF 突发模式传送完成中断请求标志位
0:无请求
1:中断请求
Bit 3
未定义,读为“0”
Bit 2
LVDE:LVD 中断控制位
0:除能
1:使能
Bit 1
FFMGE:RF TX FIFO 长度阈值检测中断控制位
0:除能
1:使能
Bit 0
BMTCE:RF 突发模式传送完成中断控制位
0:除能
1:使能
109
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
中断操作
若中断事件条件产生,如一个 TM 比较器 P 或比较器 A 匹配等等,相关中断请
求标志将置起。中断标志产生后程序是否会跳转至相关中断向量执行是由中断
使能位的条件决定的。若使能位为“1”,程序将跳至相关中断向量中执行;若
使能位为“0”,即使中断请求标志置起中断也不会发生,程序也不会跳转至相
关中断向量执行。若总中断使能位为“0”,所有中断都将除能。
当中断发生时,下条指令的地址将被压入堆栈。相应的中断向量地址加载至 PC
中。系统将从此向量取下条指令。中断向量处通常为“JMP”指令,以跳转到
相应的中断服务程序。中断服务程序必须以“RETI”指令返回至主程序,以继
续执行原来的程序。
各个中断使能位以及相应的请求标志位,以优先级的次序显示在下图。一些中
断源有自己的向量,但是有些中断却共用多功能中断向量。一旦中断子程序被
响应,系统将自动清除 EMI 位,所有其它的中断将被屏蔽,这个方式可以防止
任何进一步的中断嵌套。其它中断请求可能发生在此期间,虽然中断不会立即
响应,但是中断请求标志位会被记录。
如果某个中断服务子程序正在执行时,有另一个中断要求立即响应,那么 EMI
位应在程序进入中断子程序后置位,以允许此中断嵌套。如果堆栈已满,即使
此中断使能,中断请求也不会被响应,直到 SP 减少为止。如果要求立刻动作,
则堆栈必须避免成为储满状态。请求同时发生时,执行优先级如下流程图所示。
所有被置起的中断请求标志都可把单片机从休眠或空闲模式中唤醒,若要防止
唤醒动作发生,在单片机进入休眠或空闲模式前应将相应的标志置起。
Legend
EMI auto disabled in ISR
xxF
Request Flag, no auto reset in ISR
xxF
Request Flag, auto reset in ISR
Interrupt
Name
Request
Flags
Enable
Bits
Master
Enable
Vector
xxE
Enable Bits
INT0 Pin
INT0F
INT0E
EMI
04H
INT1 Pin
INT1F
INT1E
EMI
08H
Interrupt
Name
Request
Flags
Enable
Bits
CTM P
CTMPF
CTMPE
CTM A
CTMAF
CTMAE
Time Base 0
TB0F
TB0E
EMI
0CH
PTM P
PTMPF
PTMPE
Time Base 1
TB1F
TB1E
EMI
10H
PTM A
PTMAF
PTMAE
LVD
LVDF
LVDE
M. Funct. 0
MF0F
MF0E
EMI
14H
RF TX FIFO
FFMGF
FFMGE
RF Burst Mode
BMTCF
BMTCE
M. Funct. 1
MF1F
MF1E
EMI
18H
M. Funct. 2
MF2F
MF2E
EMI
1CH
Interrupts contained within
Multi-Function Interrupts
Priority
High
Low
中断结构
Rev. 1.60
110
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
外部中断
通过 INT0~INT1 引脚上的信号变化可控制外部中断。当触发沿选择位设置好触
发类型,INT0~INT1 引脚的状态发生变化,外部中断请求标志 INT0F~INT1F 被
置位时外部中断请求产生。若要跳转到相应中断向量地址,总中断控制位 EMI
和相应中断使能位 INT0E~INT1E 需先被置位。此外,必须使用 INTEG 寄存器
使能外部中断功能并选择触发沿类型。外部中断引脚和普通 I/O 口共用,如果
相应寄存器中的中断使能位被置位,并且通过引脚共用寄存器选择外部中断脚,
此引脚将被作为外部中断脚使用。此时该引脚必须通过设置控制寄存器,将该
引脚设置为输入口。当中断使能,堆栈未满并且外部中断引脚发生了所选择的
边沿跳转,将调用外部中断向量子程序。当响应外部中断服务子程序时,中断
请求标志位 INT0F~INT1F 会自动复位且 EMI 位会被清零以除能其它中断。注
意,即使此引脚被用作外部中断输入,其上拉电阻仍保持有效。
寄存器 INTEG 被用来选择有效的边沿类型,来触发外部中断。可以选择上升沿
还是下降沿或双沿触发都产生外部中断。注意 INTEG 也可以用来除能外部中断
功能。
时基中断
时基中断提供一个固定周期的中断信号,由各自的定时器功能产生溢出信号控
制。当各自的中断请求标志 TB0F 或 TB1F 被置位时,中断请求发生。当总中
断使能位 EMI 和时基使能位 TB0E 或 TB1E 被置位,允许程序跳转到各自的中
断向量地址。当中断使能,堆栈未满且时基溢出时,将调用它们各自的中断向
量子程序。当响应中断服务子程序时,相应的中断请求标志位 TB0F 或 TB1F
会自动复位且 EMI 位会被清零以除能其它中断。
时基的时钟源 fPSC0 或 fPSC1 来自内部时钟源 fSYS、fSYS/4 或 fSUB。fPSC0 或 fPSC1 输入
时钟首先经过分频器,分频率由程序设置 TB0C 和 TB1C 寄存器相关位获取合
适的分频值以提供更长的时基中断周期。时基中断周期控制时钟 (fPSC0 或 fPSC1)
的时钟源,可通过 PSCR0 或 PSCR1 寄存器的 CLKSEL1[1:0] 和 CLKSEL0[1:0]
位选择。
TB0[2:0]
fSYS
fSYS/4
fSUB
M
U
X
TB0ON
fPSC0
Prescaler 0
fPSC0/28 ~ fPSC0/215
TB0_PRE[2:0]
M fPSC0_OUT M
U
U
X
X
Time Base 0 Interrupt
M
U
X
Time Base 1 Interrupt
CLKSEL0[1:0]
fSYS
fSYS/4
fSUB
M
U
X
fPSC1
CLKSEL1[1:0]
Prescaler 1
fPSC1/28 ~ fPSC1/215
TB1ON
TB1[2:0]
时基中断
Rev. 1.60
111
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
● PSCR0 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
—
—
—
1
0
CLKSEL01 CLKSEL00
R/W
R/W
0
0
Bit 7~2
未定义,读为“0”
Bit 1~0
CLKSEL01~CLKSEL00:分频器 0 时钟源 fPSC0 选择
00:fSYS
01:fSYS/4
1x:fSUB
需要注意的是当单片机进入深度休眠模式时,无论分频器 0 时钟源如何选择,
时基 0 时钟源来自 fLIRC。
● PSCR1 寄存器
Bit
Name
R/W
POR
7
—
—
—
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
—
—
—
1
0
CLKSEL11 CLKSEL10
R/W
R/W
0
0
Bit 7~2
未定义,读为“0”
Bit 1~0
CLKSEL11~CLKSEL10:分频器 1 时钟源 fPSC1 选择
00:fSYS
01:fSYS/4
1x:fSUB
● TB0C 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
6
TB0ON TB0_PRE2
R/W
R/W
0
0
5
TB0_PRE1
R/W
0
4
TB0_PRE0
R/W
0
3
—
—
—
2
1
0
TB02 TB01 TB00
R/W R/W R/W
0
0
0
Bit 7
TB0ON:时基 0 控制位
0:除能
1:使能
Bit 6~4
TB0_PRE2~TB0_PRE0:选择来自 fPSC0_OUT 的时基 0 溢出周期
000:20/fPSC0_OUT
001:21/fPSC0_OUT
010:22/fPSC0_OUT
011:23/fPSC0_OUT
100:24/fPSC0_OUT
101:25/fPSC0_OUT
110:26/fPSC0_OUT
111:27/fPSC0_OUT
在深度休眠模式下,TB0 溢出周期将会是其预设值的一半。而在非深度休眠模
式下,TB0 的第一次溢出周期将会是其预设值的一半。
Bit 3
未定义,读为“0”
112
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Bit 2~0
TB02~TB00:选择来自 fPSC0 的时基 0 溢出周期位
000:28/fPSC0
001:29/fPSC0
010:210/fPSC0
011:211/fPSC0
100:212/fPSC0
101:213/fPSC0
110:214/fPSC0
111:215/fPSC0
● TB1C 寄存器
Bit
Name
R/W
POR
Bit 7
Bit 6~3
Bit 2~0
7
TB1ON
R/W
0
6
—
—
—
5
—
—
—
4
—
—
—
3
—
—
—
2
TB12
R/W
0
1
TB11
R/W
0
0
TB10
R/W
0
TB1ON:时基 1 使能 / 除能控制位
0:除能
1:使能
未定义,读为“0”
TB12~TB10:选择来自 fPSC1 的时基 1 溢出周期位
000:28/fPSC1
001:29/fPSC1
010:210/fPSC1
011:211/fPSC1
100:212/fPSC1
101:213/fPSC1
110:214/fPSC1
111:215/fPSC1
在非深度休眠模式下,TB1 的第一次溢出周期将会是其预设值的一半。
多功能中断
此系列单片机中有多达 4 种多功能中断,与其它中断不同,它没有独立源,但
由其它现有的中断源构成,即 TM 中断、LVD 中断、RF FFMG 长度阈值中断
和 RF 突发模式传送完成中断。
当多功能中断中任何一种中断请求标志 MFInF 被置位,多功能中断请求产生。
当中断使能,堆栈未满,包括在多功能中断中的任意一个中断发生时,将调用
多功能中断向量中的一个子程序。当响应中断服务子程序时,相关的多功能请
求标志位会自动复位且 EMI 位会自动清零以除能其它中断。
但必须注意的是,在中断响应时,虽然多功能中断标志会自动复位,但多功能
中断源的请求标志位,即 TM 中断、LVD 中断、RF FFMG 长度阈值中断和 RF
突发模式传送完成中断的请求标志位不会自动复位,必须由应用程序清零。
RF TX FIFO 长度阈值检测中断
RF TX FIFO 长度阈值检测中断属于多功能中断。当 TX FIFO 长度小于阈值长
度时,TX FIFO 长度阈值检测中断请求标志位 FFMGF 被置位,TX FIFO 长度
阈值检测中断请求产生。若要程序跳转到相应中断向量地址,总中断控制位
EMI、TX FIFO 长度阈值检测中断使能位 FFMGE 和相应多功能中断使能位需
先被置位。当中断使能,堆栈未满且前面提到的条件发生时,可跳转至相关多
功能中断向量子程序中执行。当中断响应,EMI 将被自动清零以除能其它中断,
多功能中断请求标志也可自动清除,但 FFMGF 标志需在应用程序中手动清除。
Rev. 1.60
113
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
RF 突发模式传送完成中断
RF 突发模式传送完成中断属于多功能中断。当突发模式下的 TX 数据包已经完
全发送出去时,RF 突发模式传送完成中断请求标志位 BMTCF 被置位,RF 突
发模式传送完成中断请求产生。若要程序跳转到相应中断向量地址,总中断控
制位 EMI、RF 突发模式传送完成中断使能位 BMTCE 和相应多功能中断使能位
需先被置位。当中断使能,堆栈未满且前面提到的条件发生时,可跳转至相关
多功能中断向量子程序中执行。当中断响应,EMI 将被自动清零以除能其它中
断,多功能中断请求标志也可自动清除,但 BMTCF 标志需在应用程序中手动
清除。
LVD 中断
LVD 中断属于多功能中断。当低电压检测功能检测到一个低电压时,LVD 中断
请求标志 LVDF 被置位,LVD 中断请求产生。若要程序跳转到相应中断向量地
址,总中断控制位 EMI、低电压中断使能位 LVDE 和相应多功能中断使能位需
先被置位。当中断使能,堆栈未满且低电压条件发生时,可跳转至相关多功能
中断向量子程序中执行。当 LVD 中断响应,EMI 将被自动清零以除能其它中断,
多功能中断请求标志也可自动清除,但 LVDF 标志需在应用程序中手动清除。
TM 中断
简易型和周期型 TM 各有两个中断,分别来自比较器 P 和比较器 A 匹配,都
属于多功能中断。所有类型的 TM 都有两个中断请求标志位及两个使能位。当
TM 比较器 P 或比较器 A 匹配情况发生时,相应 TM 中断请求标志被置位,TM
中断请求产生。
若要程序跳转到相应中断向量地址,总中断控制位 EMI、相应 TM 中断使能位
和相关多功能中断使能位 MFInE 需先被置位。当中断使能,堆栈未满且 TM 比
较器匹配情况发生时,可跳转至相关多功能中断向量子程序中执行。当 TM 中
断响应,EMI 将被自动清零以除能其它中断,相关 MFInF 标志也可自动清除,
但 TM 中断请求标志需在应用程序中手动清除。
中断唤醒功能
每个中断都具有将处于休眠或空闲模式的单片机唤醒的能力。当中断请求标志
由低到高转换时唤醒动作产生,其与中断是否使能无关。因此,尽管单片机处
于休眠或空闲模式且系统振荡器停止工作,如有外部中断脚上产生外部边沿跳
变、低电压都可能导致其相应的中断标志被置位,由此产生中断。
当系统进入深度休眠模式时,时基 0 中断能够唤醒单片机,在深度休眠模式下
时基 0 时钟源来自 fLIRC。
因此必须注意避免伪唤醒情况的发生。若中断唤醒功能被除能,单片机进入深
度休眠、休眠或空闲模式前相应中断请求标志应被置起。中断唤醒功能不受中
断使能位的影响。
Rev. 1.60
114
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
编程注意事项
通过禁止相关中断使能位,可以屏蔽中断请求,然而,一旦中断请求标志位被
设定,它们会被保留在中断控制寄存器内,直到相应的中断服务子程序执行或
请求标志位被应用程序清除。
多功能中断中所含中断相应程序执行时,多功能中断请求标志 MFInF 可以自动
清零,但各自的请求标志需在应用程序中手动清除。
建议在中断服务子程序中不要使用“CALL 子程序”指令。中断通常发生在不
可预料的情况或是需要立刻执行的某些应用。假如只剩下一层堆栈且没有控制
好中断,当“CALL 子程序”在中断服务子程序中执行时,将破坏原来的控制
序列。
所有中断在休眠或空闲模式下都具有唤醒功能,时基 0 中断在深度休眠模式下
具有唤醒功能,当中断请求标志发生由低到高的转变时都可产生唤醒功能。若
要避免相应中断产生唤醒动作,在单片机进入深度休眠、休眠或空闲模式前需
先将相应请求标志置为高。
当进入中断服务程序,系统仅将程序计数器的内容压入堆栈,如果中断服务程
序会改变状态寄存器或其它的寄存器的内容而破坏控制流程,应事先将这些数
据保存起来。
若从中断子程序中返回可执行 RET 或 RETI 指令。除了能返回至主程序外,
RETI 指令还能自动设置 EMI 位为高,允许进一步中断。RET 指令只能返回至
主程序,清除 EMI 位,除能进一步中断。
低电压检测 – LVD
该系列单片机具有低电压检测功能,即 LVD。该功能用于监测电源电压 VDD,
若电源电压低于一定值可提供一个警告信号。此功能在电池类产品中非常有用,
在电池电压较低时产生警告信号。低电压检测也可产生中断信号。
LVD 寄存器
低电压检测功能由 LVDC 寄存器控制。VLVD2~VLVD0 位用于选择 8 个固定电
压中的一个参考点。LVDO 位被置位时低电压情况发生,若 LVDO 位为低表明
VDD 电压工作在当前所设置低电压水平值之上。ENLVD 位用于控制低电压检测
功能的开启 / 关闭,设置此位为高使能此功能,反之,关闭内部低电压检测电路。
低电压检测会有一定的功耗,在不使用时可考虑关闭此功能,此举在功耗要求
严格的电池供电应用中值得考虑。
● LVDC 寄存器
Bit
Name
R/W
POR
Rev. 1.60
7
—
—
—
6
—
—
—
5
LVDO
R
0
Bit 7~6
未定义,读为“0”
Bit 5
LVDO:LVD 输出标志位
0:未检测到低电压
1:检测到低电压
Bit 4
ENLVD:低电压检测控制位
0:除能
1:使能
115
4
ENLVD
R/W
0
3
—
—
—
2
1
0
VLVD2 VLVD1 VLVD0
R/W
R/W
R/W
0
0
0
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Bit 3
未定义,读为“0”
Bit 2~0
VLVD2~VLVD0:选择 LVD 电压位
000:1.9V
001:2.0V
010:2.2V
011:2.4V
100:2.8V
101:2.9V
110:3.0V
111:3.3V
LVD 操作
通过比较电源电压 VDD 与存储在 LVDC 寄存器中的预置电压值的结果,低电压
检测功能工作。其设置的范围为 1.9V~3.3V。当电源电压 VDD 低于预置电压值
时,LVDO 位被置为高,表明低电压产生。若 ENLVD 位为高,当单片机处于
空闲模式时低电压检测器保持有效状态。低电压检测器使能后,读取 LVDO 位
前,电路稳定需要一定的延时 tLVDS。注意,VDD 电压可能上升或下降比较缓慢,
在 VLVD 电压值附近时,LVDO 位可能有多种变化。
VDD
VLVD
ENLVD
LVDO
tLVDS
LVD 操作
低电压检测器也有自己的中断功能,也是属于多功能中断的一种,它是除了轮
询 LVDO 位之外的另一种检测低电压的方法。中断条件产生置位 LVDO 并延时
tLVD 后,中断产生。此种情况下,若 VDD 降至小于 LVD 预置电压值时,中断请
求标志位 LVDF 将被置位,中断产生,单片机将从空闲模式中被唤醒。若不要
求低电压检测的唤醒功能使能,在单片机进入休眠或空闲模式前应将 LVDF 标
志置为高。
配置选项
配置选项在烧写程序时写入芯片。通过 HT-IDE 的软件开发环境,使用者在开
发过程中可以选择配置选项。当配置选项烧入单片机后,无法再通过应用程序
修改。所有位必须按系统的需要定义,具体内容可参考下表:
序号
选项
看门狗定时器选项
看门狗定时器选项
1
1. 始终使能
2. 由寄存器 WDTC 控制
LVR 选项
LVR 功能
2
1. 除能
2. 使能
Rev. 1.60
116
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
应用电路
0Ω
VDD
VSSRF_PA
VDD VSSRF
VDDRF EP
VDD
VSS
Output LED
VDD
Key Input
RF Matching Circuit
Antenna
BC68F21x0
PB0 RFOUT
PA0
PA1
PA2
PA3 OSC1
V15O OSC2
Rev. 1.60
117
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
指令集
简介
任何单片机成功运作的核心在于它的指令集,此指令集为一组程序指令码,用
来指导单片机如何去执行指定的工作。在 Holtek 单片机中,提供了丰富且灵活
的指令,共超过六十条,程序设计者可以事半功倍地实现他们的应用。
为了更加容易理解各种各样的指令码,接下来按功能分组介绍它们。
指令周期
大部分的操作均只需要一个指令周期来执行。分支、调用或查表则需要两个指
令周期。一个指令周期相当于四个系统时钟周期,因此如果在 8MHz 的系统
时钟振荡器下,大部分的操作将在 0.5μs 中执行完成,而分支或调用操作则将
在 1μs 中执行完成。虽然需要两个指令周期的指令通常指的是 JMP、CALL、
RET、RETI 和查表指令,但如果牵涉到程序计数器低字节寄存器 PCL 也将多
花费一个周期去加以执行。即指令改变 PCL 的内容进而导致直接跳转至新地址
时,需要多一个周期去执行,例如“CLR PCL”或“MOV PCL,A”指令。对
于跳转指令必须注意的是,如果比较的结果牵涉到跳转动作将多花费一个周期,
如果没有则需一个周期即可。
数据的传送
单片机程序中数据传送是使用最为频繁的操作之一,使用几种 MOV 的指令,
数据不但可以从寄存器转移至累加器 ( 反之亦然 ),而且能够直接移动立即数到
累加器。数据传送最重要的应用之一是从输入端口接收数据或传送数据到输出
端口。
算术运算
算术运算和数据处理是大部分单片机应用所必需具备的能力,在 Holtek 单片机
内部的指令集中,可直接实现加与减的运算。当加法的结果超出 255 或减法的
结果少于 0 时,要注意正确的处理进位和借位的问题。INC、INCA、DEC 和
DECA 指令提供了对一个指定地址的值加一或减一的功能。
逻辑和移位运算
标准逻辑运算例如 AND、OR、XOR 和 CPL 全都包含在 Holtek 单片机内部的
指令集中。大多数牵涉到数据运算的指令,数据的传送必须通过累加器。在所
有逻辑数据运算中,如果运算结果为零,则零标志位将被置位,另外逻辑数据
运用形式还有移位指令,例如 RR、RL、RRC 和 RLC 提供了向左或向右移动一
位的方法。不同的移位指令可满足不同的应用需要。移位指令常用于串行端口
的程序应用,数据可从内部寄存器转移至进位标志位,而此位则可被检验,移
位运算还可应用在乘法与除法的运算组成中。
Rev. 1.60
118
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
分支和控制转换
程序分支是采取使用 JMP 指令跳转至指定地址或使用 CALL 指令调用子程序的
形式,两者之不同在于当子程序被执行完毕后,程序必须马上返回原来的地址。
这个动作是由放置在子程序里的返回指令 RET 来实现,它可使程序跳回 CALL
指令之后的地址。在 JMP 指令中,程序则只是跳到一个指定的地址而已,并不
需如 CALL 指令般跳回。一个非常有用的分支指令是条件跳转,跳转条件是由
数据存储器或指定位来加以决定。遵循跳转条件,程序将继续执行下一条指令
或略过且跳转至接下来的指令。这些分支指令是程序走向的关键,跳转条件可
能是外部开关输入,或是内部数据位的值。
位运算
提供数据存储器中单个位的运算指令是 Holtek 单片机的特性之一。这特性对于
输出端口位的设置尤其有用,其中个别的位或端口的引脚可以使用“SET [m].i”
或“CLR [m].i”指令来设定其为高位或低位。如果没有这特性,程序设计师必
须先读入输出口的 8 位数据,处理这些数据,然后再输出正确的新数据。这种
读入 - 修改 - 写出的过程现在则被位运算指令所取代。
查表运算
数据的储存通常由寄存器完成,然而当处理大量固定的数据时,它的存储量常
常造成对个别存储器的不便。为了改善此问题,Holtek 单片机允许在程序存储
器中建立一个表格作为数据可直接存储的区域,只需要一组简易的指令即可对
数据进行查表。
其它运算
除了上述功能指令外,其它指令还包括用于省电的“HALT”指令和使程序在极
端电压或电磁环境下仍能正常工作的看门狗定时器控制指令。这些指令的使用
则请查阅相关的章节。
Rev. 1.60
119
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
指令集概要
当要操作的数据存储器位于数据存储器 Sector 0 时,下表说明了与数据存储器
存取有关的指令。
惯例
x:立即数
m:数据存储器地址
A:累加器
i:第 0~7 位
addr:程序存储器地址
助记符
说明
指令
周期
影响标志位
1
Z, C, AC, OV, SC
算术运算
ADD
A,[m] ACC 与数据存储器相加,结果放入 ACC
ADDM A,[m] ACC 与数据存储器相加,结果放入数据存储器
ADD
ADC
A, x ACC 与立即数相加,结果放入 ACC
A,[m] ACC 与数据存储器、进位标志相加,结果放入 ACC
ADCM A,[m] ACC 与数据存储器、进位标志相加,结果放入数据存储器
SUB
A, x ACC 与立即数相减,结果放入 ACC
SUB
A,[m] ACC 与数据存储器相减,结果放入 ACC
SUBM
A,[m] ACC 与数据存储器相减,结果放入数据存储器
SBC
A, x ACC 与立即数、进位标志相减,结果放入 ACC
1
注
Z, C, AC, OV, SC
1
Z, C, AC, OV, SC
1
Z, C, AC, OV, SC
1注
Z, C, AC, OV, SC
1
Z, C, AC, OV, SC, CZ
1
Z, C, AC, OV, SC, CZ
1注
Z, C, AC, OV, SC, CZ
1
Z, C, AC, OV, SC, CZ
1
Z, C, AC, OV, SC, CZ
SBC
A,[m] ACC 与数据存储器、进位标志相减,结果放入 ACC
SBCM
A,[m] ACC 与数据存储器、进位标志相减,结果放入数据存储器
1注
Z, C, AC, OV, SC, CZ
将加法运算中放入 ACC 的值调整为十进制数,并将结果放
入数据存储器
1注
C
DAA
[m]
逻辑运算
AND
A,[m] ACC 与数据存储器做“与”运算,结果放入 ACC
1
Z
OR
A,[m] ACC 与数据存储器做“或”运算,结果放入 ACC
1
Z
XOR
A,[m] ACC 与数据存储器做“异或”运算,结果放入 ACC
1
Z
ANDM A,[m] ACC 与数据存储器做“与”运算,结果放入数据存储器
1注
Z
ORM
1
注
Z
1注
Z
A,[m] ACC 与数据存储器做“或”运算,结果放入数据存储器
XORM A,[m] ACC 与数据存储器做“异或”运算,结果放入数据存储器
AND
A, x ACC 与立即数做“与”运算,结果放入 ACC
1
Z
OR
A, x ACC 与立即数做“或”运算,结果放入 ACC
1
Z
XOR
A, x ACC 与立即数做“异或”运算,结果放入 ACC
1
Z
CPL
[m] 对数据存储器取反,结果放入数据存储器
CPLA
[m] 对数据存储器取反,结果放入 ACC
1
注
Z
1
Z
递增和递减
INCA
[m] 递增数据存储器,结果放入 ACC
INC
[m] 递增数据存储器,结果放入数据存储器
DECA
[m] 递减数据存储器,结果放入 ACC
DEC
[m] 递减数据存储器,结果放入数据存储器
Rev. 1.60
120
1
Z
1注
Z
1
Z
1注
Z
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
助记符
说明
指令
周期
影响标志位
移位
RRA
[m] 数据存储器右移一位,结果放入 ACC
RR
[m] 数据存储器右移一位,结果放入数据存储器
RRCA
[m] 带进位将数据存储器右移一位,结果放入 ACC
RRC
[m] 带进位将数据存储器右移一位,结果放入数据存储器
RLA
[m] 数据存储器左移一位,结果放入 ACC
RL
[m] 数据存储器左移一位,结果放入数据存储器
RLCA
[m] 带进位将数据存储器左移一位,结果放入 ACC
RLC
[m] 带进位将数据存储器左移一位,结果放入数据存储器
1
无
1注
无
1
C
1注
C
1
无
1注
无
1
C
1
注
C
数据传送
MOV
A,[m] 将数据存储器送至 ACC
MOV
[m],A 将 ACC 送至数据存储器
MOV
1
1
注
无
无
A, x 将立即数送至 ACC
1
无
CLR
[m].i 清除数据存储器的位
1注
无
SET
[m].i 置位数据存储器的位
1注
无
位运算
转移
JMP
2
无
SZ
addr 无条件跳转
[m] 如果数据存储器为零,则跳过下一条指令
1注
无
SZA
[m] 数据存储器送至 ACC,如果内容为零,则跳过下一条指令
1
注
无
SNZ
[m] 如果数据存储器不为零,则跳过下一条指令
1注
无
注
无
SZ
[m].i 如果数据存储器的第 i 位为零,则跳过下一条指令
1
SNZ
[m].i 如果数据存储器的第 i 位不为零,则跳过下一条指令
1注
无
SIZ
[m] 递增数据存储器,如果结果为零,则跳过下一条指令
1注
无
SDZ
[m] 递减数据存储器,如果结果为零,则跳过下一条指令
1
注
无
SIZA
递增数据存储器,将结果放入 ACC,如果结果为零,则跳
[m]
过下一条指令
1注
无
SDZA
[m]
递减数据存储器,将结果放入 ACC,如果结果为零,则跳
过下一条指令
1注
无
2
无
2
无
2
无
2
无
2注
无
2
注
无
读表指针 TBLP 自加,读取特定页的 ROM 内容,并送至
[m]
数据存储器和 TBLH
2注
无
读表指针 TBLP 自加,读取最后页的 ROM 内容,并送至
数据存储器和 TBLH
2注
无
CALL
addr 子程序调用
RET
RET
从子程序返回
A, x 从子程序返回,并将立即数放入 ACC
RETI
从中断返回
查表
TABRD
[m] 读取特定页的 ROM 内容,并送至数据存储器和 TBLH
TABRDL [m] 读取最后页的 ROM 内容,并送至数据存储器和 TBLH
ITABRD
ITABRDL [m]
其它指令
NOP
1
无
CLR
[m] 清除数据存储器
1注
无
SET
[m] 置位数据存储器
1注
无
CLR
WDT 清除看门狗定时器
1
TO, PDF
Rev. 1.60
空指令
121
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
助记符
说明
SWAP
[m] 交换数据存储器的高低字节,结果放入数据存储器
SWAPA
[m] 交换数据存储器的高低字节,结果放入 ACC
HALT
进入暂停模式
指令
周期
影响标志位
1注
无
1
无
1
TO, PDF
注:1. 对跳转指令而言,如果比较的结果牵涉到跳转即需 2 个周期,如果没有发生跳转,则只需一个周期。
2. 任何指令若要改变 PCL 的内容将需要 2 个周期来执行。
Rev. 1.60
122
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
扩展指令集
扩展指令用来提供更大范围的数据存储器寻址。当被存取的数据存储器位于
Sector 0 之外的任何数据存储器 Sector,扩展指令可直接存取数据存储器而无需
使用间接寻址,此举不仅可节省 Flash 存储器空间的使用,同时可提高 CPU 执
行效率。
助记符
说明
指令
周期
影响标志位
2
Z, C, AC, OV, SC
算术运算
LADD
A,[m] ACC 与数据存储器相加,结果放入 ACC
LADDM
A,[m] ACC 与数据存储器相加,结果放入数据存储器
LADC
A,[m] ACC 与数据存储器、进位标志相加,结果放入 ACC
LADCM
A,[m] ACC 与数据存储器、进位标志相加,结果放入数据存储器
LSUB
A,[m] ACC 与数据存储器相减,结果放入 ACC
LSUBM
A,[m] ACC 与数据存储器相减,结果放入数据存储器
LSBC
A,[m] ACC 与数据存储器、进位标志相减,结果放入 ACC
LSBCM
A,[m] ACC 与数据存储器、进位标志相减,结果放入数据存储器
LDAA
[m]
将加法运算中放入 ACC 的值调整为十进制数,并将结果
放入数据存储器
2
注
2
2
注
Z, C, AC, OV, SC
Z, C, AC, OV, SC
Z, C, AC, OV, SC
2
Z, C, AC, OV, SC, CZ
2注
Z, C, AC, OV, SC, CZ
2
Z, C, AC, OV, SC, CZ
2注
Z, C, AC, OV, SC, CZ
2注
C
逻辑运算
LAND
A,[m] ACC 与数据存储器做“与”运算,结果放入 ACC
2
Z
LOR
A,[m] ACC 与数据存储器做“或”运算,结果放入 ACC
2
Z
LXOR
A,[m] ACC 与数据存储器做“异或”运算,结果放入 ACC
2
Z
LANDM
A,[m] ACC 与数据存储器做“与”运算,结果放入数据存储器
2注
Z
LORM
A,[m] ACC 与数据存储器做“或”运算,结果放入数据存储器
2
注
Z
LXORM
A,[m] ACC 与数据存储器做“异或”运算,结果放入数据存储器
2注
Z
2注
Z
LCPL
[m] 对数据存储器取反,结果放入数据存储器
LCPLA
[m] 对数据存储器取反,结果放入 ACC
2
Z
LINCA
[m] 递增数据存储器,结果放入 ACC
2
Z
LINC
[m] 递增数据存储器,结果放入数据存储器
LDECA
[m] 递减数据存储器,结果放入 ACC
LDEC
[m] 递减数据存储器,结果放入数据存储器
递增和递减
2
注
2
2
注
Z
Z
Z
移位
LRRA
[m] 数据存储器右移一位,结果放入 ACC
LRR
[m] 数据存储器右移一位,结果放入数据存储器
LRRCA
[m] 带进位将数据存储器右移一位,结果放入 ACC
LRRC
[m] 带进位将数据存储器右移一位,结果放入数据存储器
LRLA
[m] 数据存储器左移一位,结果放入 ACC
LRL
[m] 数据存储器左移一位,结果放入数据存储器
LRLCA
[m] 带进位将数据存储器左移一位,结果放入 ACC
LRLC
[m] 带进位将数据存储器左移一位,结果放入数据存储器
2
2
注
2
2
注
无
无
C
C
2
无
2注
无
2
C
2注
C
数据传送
LMOV
A,[m] 将数据存储器送至 ACC
2
无
LMOV
[m],A 将 ACC 送至数据存储器
2注
无
Rev. 1.60
123
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
助记符
说明
指令
周期
影响标志位
位运算
LCLR
[m].i 清除数据存储器的位
2注
无
LSET
[m].i 置位数据存储器的位
2注
无
转移
LSZ
[m] 如果数据存储器为零,则跳过下一条指令
2注
无
LSZA
[m] 数据存储器送至 ACC,如果内容为零,则跳过下一条指令
2
注
无
LSNZ
[m] 如果数据存储器不为零,则跳过下一条指令
2注
无
LSZ
[m].i 如果数据存储器的第 i 位为零,则跳过下一条指令
2注
无
LSNZ
[m].i 如果数据存储器的第 i 位不为零,则跳过下一条指令
2
注
无
LSIZ
[m] 递增数据存储器,如果结果为零,则跳过下一条指令
2注
无
LSDZ
[m] 递减数据存储器,如果结果为零,则跳过下一条指令
2
注
无
LSIZA
递增数据存储器,将结果放入 ACC,如果结果为零,则跳
[m]
过下一条指令
2注
无
LSDZA
[m]
递减数据存储器,将结果放入 ACC,如果结果为零,则跳
过下一条指令
2注
无
查表
LTABRD
[m] 读取特定页的 ROM 内容,并送至数据存储器和 TBLH
3注
无
LTABRDL
[m] 读取最后页的 ROM 内容,并送至数据存储器和 TBLH
3注
无
LITABRD
读表指针 TBLP 自加,读取特定页的 ROM 内容,并送至
[m]
数据存储器和 TBLH
3注
无
读表指针 TBLP 自加,读取最后页的 ROM 内容,并送至
数据存储器和 TBLH
3注
无
LITABRDL [m]
其它指令
LCLR
[m] 清除数据存储器
2注
无
LSET
[m] 置位数据存储器
2注
无
LSWAP
[m] 交换数据存储器的高低字节,结果放入数据存储器
2
无
LSWAPA
[m] 交换数据存储器的高低字节,结果放入 ACC
注
2
无
注:1. 对扩展跳转指令而言,如果比较的结果牵涉到跳转即需 3 个周期,如果没有发生跳转,则只需两
个周期。
2. 任何扩展指令若要改变 PCL 的内容将需要 3 个周期来执行。
Rev. 1.60
124
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
指令定义
ADC A, [m]
指令说明
功能表示
影响标志位
ADCM A, [m]
指令说明
功能表示
影响标志位
ADD A, [m]
指令说明
Add ACC to Data Memory with Carry
将指定的数据存储器、累加器内容和进位标志位相加,
结果存放到指定的数据存储器。
[m] ←ACC + [m] + C
OV、Z、AC、C、SC
功能表示
影响标志位
Add Data Memory to ACC
将指定的数据存储器和累加器内容相加,
结果存放到累加器。
ACC ← ACC + [m]
OV、Z、AC、C、SC
ADD A, x
指令说明
功能表示
影响标志位
Add immediate data to ACC
将累加器和立即数相加,结果存放到累加器。
ACC ← ACC + x
OV、Z、AC、C、SC
ADDM A, [m]
指令说明
Add ACC to Data Memory
将指定的数据存储器和累加器内容相加,
结果存放到指定的数据存储器。
[m] ←ACC + [m]
OV、Z、AC、C、SC
功能表示
影响标志位
AND A, [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Add Data Memory to ACC with Carry
将指定的数据存储器、累加器内容以及进位标志相加,
结果存放到累加器。
ACC ← ACC + [m] + C
OV、Z、AC、C、SC
Logical AND Data Memory to ACC
将累加器中的数据和指定数据存储器内容做逻辑与,
结果存放到累加器。
ACC ← ACC“AND”[m]
Z
125
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
AND A, x
指令说明
功能表示
影响标志位
Logical AND immediate data to ACC
将累加器中的数据和立即数做逻辑与,结果存放到累加器。
ACC ← ACC“AND”x
Z
ANDM A, [m]
指令说明
Logical AND ACC to Data Memory
将指定数据存储器内容和累加器中的数据做逻辑与,
结果存放到数据存储器。
[m] ← ACC“AND”[m]
Z
功能表示
影响标志位
CALL addr
指令说明
影响标志位
Subroutine call
无条件地调用指定地址的子程序,此时程序计数器先加 1
获得下一个要执行的指令地址并压入堆栈,接着载入指定
地址并从新地址继续执行程序,由于此指令需要额外的运
算,所以为一个 2 周期的指令。
Stack ← Program Counter + 1
Program Counter ← addr
无
CLR [m]
指令说明
功能表示
影响标志位
Clear Data Memory
将指定数据存储器的内容清零。
[m] ← 00H
无
CLR [m].i
指令说明
功能表示
影响标志位
Clear bit of Data Memory
将指定数据存储器的第 i 位内容清零。
[m].i ← 0
无
CLR WDT
指令说明
Clear Watchdog Timer
WDT 计数器、暂停标志位 PDF 和看门狗溢出标志位 TO
清零。
WDT cleared
TO & PDF ← 0
TO、PDF
功能表示
功能表示
影响标志位
Rev. 1.60
126
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
CPL [m]
指令说明
功能表示
影响标志位
CPLA [m]
指令说明
功能表示
影响标志位
DAA [m]
指令说明
Complement Data Memory with result in ACC
将指定数据存储器中的每一位取逻辑反,相当于从 1 变 0
或 0 变 1,而结果被储存回累加器且数据存储器中的内容
不变。
ACC←[m]
Z
影响标志位
Decimal-Adjust ACC for addition with result in Data Memory
将累加器中的内容转换为 BCD ( 二进制转成十进制 ) 码。
如果低四位的值大于“9”或 AC=1,那么 BCD 调整就执
行对原值加“6”,否则原值保持不变;如果高四位的值大
于“9”或 C=1,那么 BCD 调整就执行对原值加“6”。
BCD 转换实质上是根据累加器和标志位执行 00H,06H,
60H 或 66H 的加法运算,结果存放到数据存储器。只有进
位标志位 C 受影响,用来指示原始 BCD 的和是否大于
100,并可以进行双精度十进制数的加法运算。
[m] ← ACC + 00H 或
[m] ← ACC + 06H 或
[m] ← ACC + 60H 或
[m] ← ACC + 66H
C
DEC [m]
指令说明
功能表示
影响标志位
Decrement Data Memory
将指定数据存储器内容减 1。
[m] ← [m] – 1
Z
DECA [m]
指令说明
Decrement Data Memory with result in ACC
将指定数据存储器的内容减 1,把结果存放回累加器
并保持指定数据存储器的内容不变。
ACC ← [m] – 1
Z
功能表示
功能表示
影响标志位
Rev. 1.60
Complement Data Memory
将指定数据存储器中的每一位取逻辑反,
相当于从 1 变 0 或 0 变 1。
[m] ← [m]
Z
127
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
HALT
指令说明
影响标志位
Enter power down mode
此指令终止程序执行并关掉系统时钟,RAM 和寄存器的内
容保持原状态,WDT 计数器和分频器被清“0”,暂停标
志位 PDF 被置位 1,WDT 溢出标志位 TO 被清 0。
TO ← 0
PDF ← 1
TO、PDF
INC [m]
指令说明
功能表示
影响标志位
Increment Data Memory
将指定数据存储器的内容加 1。
[m] ← [m] + 1
Z
INCA [m]
指令说明
Increment Data Memory with result in ACC
将指定数据存储器的内容加 1,结果存放回累加器并保持
指定的数据存储器内容不变。
ACC ← [m] + 1
Z
功能表示
功能表示
影响标志位
JMP addr
指令说明
Rev. 1.60
功能表示
影响标志位
Jump unconditionally
程序计数器的内容无条件地由被指定的地址取代,
程序由新的地址继续执行。当新的地址被加载时,
必须插入一个空指令周期,所以此指令为 2 个周期的指令。
Program Counter ← addr
无
MOV A, [m]
指令说明
功能表示
影响标志位
Move Data Memory to ACC
将指定数据存储器的内容复制到累加器。
ACC← [m]
无
MOV A, x
指令说明
功能表示
影响标志位
Move immediate data to ACC
将 8 位立即数载入累加器。
ACC ← x
无
128
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
MOV [m], A
指令说明
功能表示
影响标志位
Move ACC to Data Memory
将累加器的内容复制到指定的数据存储器。
[m] ← ACC
无
NOP
指令说明
功能表示
影响标志位
No operation
空操作,接下来顺序执行下一条指令。
无操作
无
OR A, [m]
指令说明
功能表示
影响标志位
Logical OR Data Memory to ACC
将累加器中的数据和指定的数据存储器内容逻辑或,
结果存放到累加器。
ACC ← ACC“OR”[m]
Z
OR A, x
指令说明
功能表示
影响标志位
Logical OR immediate data to ACC
将累加器中的数据和立即数逻辑或,结果存放到累加器。
ACC ← ACC“OR”x
Z
ORM A, [m]
指令说明
Logical OR ACC to Data Memory
将存在指定数据存储器中的数据和累加器逻辑或,
结果放到数据存储器。
[m] ← ACC“OR”[m]
Z
功能表示
影响标志位
RET
指令说明
功能表示
影响标志位
RET A, x
指令说明
功能表示
影响标志位
Rev. 1.60
Return from subroutine
将堆栈寄存器中的程序计数器值恢复,
程序由取回的地址继续执行。
Program Counter←Stack
无
Return from subroutine and load immediate data to ACC
将堆栈寄存器中的程序计数器值恢复且累加器载入指定的
立即数,程序由取回的地址继续执行。
Program Counter ← Stack
ACC←x
无
129
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
RETI
指令说明
功能表示
影响标志位
无
RL [m]
指令说明
功能表示
Rotate Data Memory left
将指定数据存储器的内容左移 1 位,且第 7 位移到第 0 位。
[m].(i+1) ← [m].i (i=0~6)
[m].0 ← [m].7
无
影响标志位
RLA [m]
指令说明
功能表示
Rotate Data Memory left with result in ACC
将指定数据存储器的内容左移 1 位,且第 7 位移到第 0 位,
结果送到累加器,而指定数据存储器的内容保持不变。
ACC.(i+1) ← [m].i (i=0~6)
ACC.0 ←[m].7
影响标志位
无
RLC [m]
指令说明
Rotate Data Memory Left through Carry
将指定数据存储器的内容连同进位标志左移 1 位,
第 7 位取代进位标志且原本的进位标志移到第 0 位。
[m].(i+1) ← [m].i (i=0~6)
[m].0 ← C
C ← [m].7
C
功能表示
影响标志位
RLC A [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Return from interrupt
将堆栈寄存器中的程序计数器值恢复且中断功能通过设置
EMI 位重新使能。EMI 是控制中断使能的主控制位。如果
在执行 RETI 指令之前还有中断未被响应,则这个中断将
在返回主程序之前被响应。
Program Counter ←Stack
EMI ← 1
Rotate Data Memory left through Carry with result in ACC
将指定数据存储器的内容连同进位标志左移 1 位,第 7 位
取代进位标志且原本的进位标志移到第 0 位,移位结果送
回累加器,但是指定数据寄存器的内容保持不变。
ACC.(i+1) ← [m].i (i=0~6)
ACC.0 ← C
C ← [m].7
C
130
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
RR [m]
指令说明
功能表示
影响标志位
RRA [m]
指令说明
功能表示
影响标志位
RRC [m]
指令说明
功能表示
影响标志位
RRCA [m]
指令说明
功能表示
影响标志位
SBC A, [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Rotate Data Memory right
将指定数据存储器的内容循环右移 1 位且第 0 位移到
第 7 位。
[m].i ← [m].(i+1) (i=0~6)
[m].7 ← [m].0
无
Rotate Data Memory right with result in ACC
将指定数据存储器的内容循环右移 1 位,第 0 位移到
第 7 位,移位结果存放到累加器,而指定数据存储器的内
容保持不变。
ACC.i ← [m].(i+1) (i=0~6)
ACC.7 ← [m].0
无
Rotate Data Memory right through Carry
将指定数据存储器的内容连同进位标志右移 1 位,
第 0 位取代进位标志且原本的进位标志移到第 7 位。
[m].i ← [m].(i+1) (i=0~6)
[m].7← C
C ← [m].0
C
Rotate Data Memory right through Carry with result in ACC
将指定数据存储器的内容连同进位标志右移 1 位,第 0 位
取代进位标志且原本的进位标志移到第 7 位,移位结果送
回累加器,但是指定数据寄存器的内容保持不变。
ACC.i ← [m].(i+1) (i=0~6)
ACC.7 ← C
C ← [m].0
C
Subtract Data Memory from ACC with Carry
将累加器减去指定数据存储器的内容以及进位标志的反,
结果存放到累加器。如果结果为负,C 标志位清除为 0,
反之结果为正或 0,C 标志位设置为 1。
ACC ← ACC – [m] – C
OV、Z、AC、C、SC、CZ
131
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
SBC A, x
指令说明
功能表示
影响标志位
SBCM A, [m]
指令说明
功能表示
影响标志位
SDZ [m]
指令说明
功能表示
影响标志位
SDZA [m]
指令说明
Rev. 1.60
Subtract immediate data from ACC with Carry
将累加器减去立即数以及进位标志的反,结果存放到累加
器。如果结果为负,C 标志位清除为 0,反之结果为正或 0,
C 标志位设置为 1。
ACC ← ACC – [m] – C
OV、Z、AC、C、SC、CZ
Subtract Data Memory from ACC with Carry and result in Data
Memory
将累加器减去指定数据存储器的内容以及进位标志的反,
结果存放到数据存储器。如果结果为负,C 标志位清除为 0,
反之结果为正或 0,C 标志位设置为 1。
[m] ← ACC – [m] – C
OV、Z、AC、C、SC、CZ
Skip if Decrement Data Memory is 0
将指定的数据存储器的内容减 1,判断是否为 0,若为 0 则
跳过下一条指令,由于取得下一个指令时会要求插入一个
空指令周期,所以此指令为 2 个周期的指令。如果结果不
为 0,则程序继续执行下一条指令。
[m] ← [m] – 1,如果 [m]=0 跳过下一条指令执行
无
Skip if decrement Data Memory is zero with result in ACC
功能表示
影响标志位
将指定数据存储器内容减 1,判断是否为 0,如果为 0 则跳
过下一条指令,此结果将存放到累加器,但指定数据存储
器内容不变。由于取得下一个指令时会要求插入一个空指
令周期,所以此指令为 2 个周期的指令。如果结果不为 0,
则程序继续执行下一条指令。
ACC ← [m] – 1,如果 ACC=0 跳过下一条指令执行
无
SET [m]
指令说明
功能表示
影响标志位
Set Data Memory
将指定数据存储器的每一位设置为 1。
[m] ← FFH
无
132
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
SET [m].i
指令说明
功能表示
影响标志位
Set bit of Data Memory
将指定数据存储器的第 i 位置位为 1。
[m].i ← 1
无
SIZ [m]
指令说明
Skip if increment Data Memory is 0
将指定的数据存储器的内容加 1,判断是否为 0,若为 0 则
跳过下一条指令。由于取得下一个指令时会要求插入一个
空指令周期,所以此指令为 2 个周期的指令。如果结果不
为 0,则程序继续执行下一条指令。
[m] ←[m] + 1,如果 [m]=0 跳过下一条指令执行
无
功能表示
影响标志位
SIZA [m]
指令说明
功能表示
影响标志位
SNZ [m].i
指令说明
功能表示
影响标志位
SNZ [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Skip if increment Data Memory is zero with result in ACC
将指定数据存储器的内容加 1,判断是否为 0,如果为 0 则
跳过下一条指令,此结果会被存放到累加器,但是指定数
据存储器的内容不变。由于取得下一个指令时会要求插入
一个空指令周期,所以此指令为 2 个周期的指令。如果结
果不为 0,则程序继续执行下一条指令。
ACC ←[m] + 1,如果 ACC=0 跳过下一条指令执行
无
Skip if bit i of Data Memory is not 0
判断指定数据存储器的第 i 位,若不为 0,则程序跳过下一
条指令执行。由于取得下一个指令时会要求插入一个空指
令周期,所以此指令为 2 个周期的指令。如果结果为 0,
则程序继续执行下一条指令。
如果 [m].i≠0,跳过下一条指令执行
无
Skip if Data Memory is not 0
指定数据存储器的内容会先被读出,后又被重新写入指定
数据存储器内。判断指定存储器,若不为 0,则程序跳过
下一条指令执行。由于取得下一个指令时会要求插入一个
空指令周期,所以此指令为 2 个周期的指令。如果结果为 0,
则程序继续执行下一条指令。
如果 [m]≠0,跳过下一条指令执行
无
133
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
SUB A, [m]
指令说明
功能表示
影响标志位
SUBM A, [m]
指令说明
功能表示
影响标志位
SUB A, x
指令说明
Subtract Data Memory from ACC with result in Data Memory
将累加器的内容减去指定数据存储器的数据,结果存放到
指定的数据存储器。如果结果为负,C 标志位清除为 0,
反之结果为正或 0,C 标志位设置为 1。
[m] ← ACC – [m]
OV、Z、AC、C、SC、CZ
功能表示
影响标志位
Subtract immediate Data from ACC
将累加器的内容减去立即数,结果存放到累加器。如果结
果为负,C 标志位清除为 0,反之结果为正或 0,C 标志位
设置为 1。
ACC ← ACC – x
OV、Z、AC、C、SC、CZ
SWAP [m]
指令说明
功能表示
影响标志位
Swap nibbles of Data Memory
将指定数据存储器的低 4 位和高 4 位互相交换。
[m].3~[m].0 ↔ [m].7~[m].4
无
SWAPA [m]
指令说明
Swap nibbles of Data Memory with result in ACC
将指定数据存储器的低 4 位与高 4 位互相交换,再将结果
存放到累加器且指定数据寄存器的数据保持不变。
ACC.3~ACC.0 ← [m].7~[m].4
ACC.7~ACC.4 ← [m].3~[m].0
无
功能表示
影响标志位
Rev. 1.60
Subtract Data Memory from ACC
将累加器的内容减去指定的数据存储器的数据,把结果存
放到累加器。如果结果为负,C 标志位清除为 0,反之结果
为正或 0,C 标志位设置为 1。
ACC ← ACC – [m]
OV、Z、AC、C、SC、CZ
134
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
SZ [m]
指令说明
功能表示
影响标志位
SZA [m]
指令说明
功能表示
影响标志位
SZ [m].i
指令说明
功能表示
影响标志位
TABRD [m]
指令说明
功能表示
影响标志位
TABRDL [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Skip if Data Memory is 0
指定数据存储器的内容会先被读出,后又被重新写入指定
数据存储器内。判断指定数据存储器的内容是否为 0,若
为 0,则程序跳过下一条指令执行。由于取得下一个指令
时会要求插入一个空指令周期,所以此指令为 2 个周期的
指令。如果结果不为 0,则程序继续执行下一条指令。
如果 [m]=0,跳过下一条指令执行
无
Skip if Data Memory is 0 with data movement to ACC
将指定数据存储器内容复制到累加器,并判断指定数据存
储器的内容是否为 0,若为 0 则跳过下一条指令。由于取
得下一个指令时会要求插入一个空指令周期,所以此指令
为 2 个周期的指令。如果结果不为 0,则程序继续执行下
一条指令。
ACC ←[m],如果 [m]=0,跳过下一条指令执行
无
Skip if bit i of Data Memory is 0
判断指定数据存储器的第 i 位是否为 0,若为 0,则跳过下
一条指令。由于取得下一个指令时会要求插入一个空指令
周期,所以此指令为 2 个周期的指令。如果结果不为 0,
则程序继续执行下一条指令。
如果 [m].i=0,跳过下一条指令执行
无
Read table (specific page) to TBLH and Data Memory
将表格指针对 TBHP 和 TBLP 所指的程序代码低字节 ( 指
定页 ) 移至指定数据存储器且将高字节移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
Read table (last page) to TBLH and Data Memory
将表格指针 TBLP 所指的程序代码低字节 ( 最后一页 )
移至指定数据存储器且将高字节移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
135
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
ITABRD [m]
指令说明
功能表示
影响标志位
ITABRDL [m]
指令说明
功能表示
影响标志位
XOR A, [m]
指令说明
功能表示
影响标志位
XORM A, [m]
指令说明
Rev. 1.60
Increment table pointer low byte first and read table (specific
page) to TBLH and data memory
自加表格指针低字节 TBLP,将表格指针对 TBHP 和 TBLP
所指的程序代码低字节 ( 指定页 ) 移至指定的数据存储器且
将高字节移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
Increment table pointer low byte first and read table (last page)
to TBLH and data memory
自加表格指针低字节 TBLP,将表格指针 TBLP 所指的程序
代码低字节 ( 最后一页 ) 移至指定的数据存储器且将高字节
移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
Logical XOR Data Memory to ACC
将累加器的数据和指定的数据存储器内容逻辑异或,
结果存放到累加器。
ACC ← ACC“XOR”[m]
Z
功能表示
影响标志位
Logical XOR ACC to Data Memory
将累加器的数据和指定的数据存储器内容逻辑异或,
结果放到数据存储器。
[m] ← ACC“XOR”[m]
Z
XOR A, x
指令说明
功能表示
影响标志位
Logical XOR immediate data to ACC
将累加器的数据与立即数逻辑异或,结果存放到累加器。
ACC ← ACC“XOR”x
Z
136
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
扩展指令定义
扩展指令被用来直接存取存储在任何数据存储器 Sector 中的数据。
LADC A, [m]
Add Data Memory to ACC with Carry
指令说明
将指定的数据存储器、累加器内容以及进位标志相加,
结果存放到累加器。
功能表示
ACC ← ACC + [m] + C
影响标志位
OV、Z、AC、C、SC
LADCM A, [m]
指令说明
功能表示
影响标志位
LADD A, [m]
指令说明
功能表示
影响标志位
LADDM A, [m]
指令说明
功能表示
影响标志位
LAND A, [m]
指令说明
功能表示
影响标志位
LANDM A, [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Add ACC to Data Memory with Carry
将指定的数据存储器、累加器内容和进位标志位相加,
结果存放到指定的数据存储器。
[m] ←ACC + [m] + C
OV、Z、AC、C、SC
Add Data Memory to ACC
将将指定的数据存储器和累加器内容相加,
结果存放到累加器。
ACC ← ACC + [m]
OV、Z、AC、C、SC
Add ACC to Data Memory
将指定的数据存储器和累加器内容相加,
结果存放到指定的数据存储器。
[m] ←ACC + [m]
OV、Z、AC、C、SC
Logical AND Data Memory to ACC
将累加器中的数据和指定数据存储器内容做逻辑与,
结果存放到累加器。
ACC ← ACC“AND”[m]
Z
Logical AND ACC to Data Memory
将指定数据存储器内容和累加器中的数据做逻辑与,
结果存放到数据存储器。
[m] ← ACC“AND”[m]
Z
137
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LCLR [m]
指令说明
功能表示
影响标志位
Clear Data Memory
将指定数据存储器的内容清零。
[m] ← 00H
无
LCLR [m].i
指令说明
功能表示
影响标志位
Clear bit of Data Memory
将指定数据存储器的第 i 位内容清零。
[m].i ← 0
无
LCPL [m]
指令说明
Complement Data Memory
将指定数据存储器中的每一位取逻辑反,
相当于从 1 变 0 或 0 变 1。
[m] ← [m]
Z
功能表示
影响标志位
LCPLA [m]
指令说明
功能表示
影响标志位
LDAA [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Complement Data Memory with result in ACC
将指定数据存储器中的每一位取逻辑反,相当于从 1 变 0
或 0 变 1,结果被存放回累加器且数据寄存器的内容保持
不变。
ACC←[m]
Z
Decimal-Adjust ACC for addition with result in Data Memory
将累加器中的内容转换为 BCD ( 二进制转成十进制 ) 码。
如果低四位的值大于“9”或 AC=1,那么 BCD 调整就执
行对低四位加“6”,否则低四位保持不变;如果高四位的
值大于“9”或 C=1,那么 BCD 调整就执行对高四位加“6”。
BCD 转换实质上是根据累加器和标志位执行 00H,06H,
60H 或 66H 的加法运算,结果存放到数据存储器。只有进
位标志位 C 受影响,用来指示原始 BCD 的和是否大于
100,并可以进行双精度十进制数的加法运算。
[m] ← ACC + 00H 或
[m] ← ACC + 06H 或
[m] ← ACC + 60H 或
[m] ← ACC + 66H
C
138
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LDEC [m]
指令说明
功能表示
影响标志位
Decrement Data Memory
将指定数据存储器的内容减 1。
[m] ← [m] – 1
Z
LDECA [m]
指令说明
功能表示
影响标志位
Decrement Data Memory with result in ACC
将指定数据存储器的内容减 1,把结果存放回累加器并保
持指定数据存储器的内容不变。
ACC ← [m] – 1
Z
LINC [m]
指令说明
功能表示
影响标志位
Increment Data Memory
将指定数据存储器的内容加 1。
[m] ← [m] + 1
Z
LINCA [m]
指令说明
功能表示
影响标志位
Increment Data Memory with result in ACC
将指定数据存储器的内容加 1,结果存放回累加器并保持
指定的数据存储器内容不变。
ACC ← [m] + 1
Z
LMOV A, [m]
指令说明
功能表示
影响标志位
Move Data Memory to ACC
将指定数据存储器的内容复制到累加器中。
ACC← [m]
无
LMOV [m], A
指令说明
功能表示
影响标志位
Move ACC to Data Memory
将累加器的内容复制到指定数据存储器。
[m] ← ACC
无
LOR A, [m]
指令说明
Logical OR Data Memory to ACC
将累加器中的数据和指定的数据存储器内容逻辑或,
结果存放到累加器。
ACC ← ACC“OR”[m]
Z
功能表示
影响标志位
Rev. 1.60
139
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LORM A, [m]
指令说明
功能表示
影响标志位
LRL [m]
指令说明
功能表示
影响标志位
LRLA [m]
指令说明
功能表示
Rotate Data Memory left
将指定数据存储器的内容左移 1 位,且第 7 位移到第 0 位。
[m].(i+1) ← [m].i (i=0~6)
[m].0 ← [m].7
无
Rotate Data Memory left with result in ACC
将指定数据存储器的内容左移 1 位,且第 7 位移到第 0 位,
结果送到累加器,而指定数据存储器的内容保持不变。
ACC.(i+1) ← [m].i (i=0~6)
ACC.0 ←[m].7
影响标志位
无
LRLC [m]
指令说明
Rotate Data Memory Left through Carry
将指定数据存储器的内容连同进位标志左移 1 位,
第 7 位取代进位标志且原本的进位标志移到第 0 位。
[m].(i+1) ← [m].i (i=0~6)
[m].0 ← C
C ← [m].7
C
功能表示
影响标志位
LRLC A [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Logical OR ACC to Data Memory
将存在指定数据存储器中的数据和累加器逻辑或,
结果放到数据存储器。
[m] ← ACC“OR”[m]
Z
Rotate Data Memory left through Carry with result in ACC
将指定数据存储器的内容连同进位标志左移 1 位,第 7 位
取代进位标志且原本的进位标志移到第 0 位,移位结果送
回累加器,但是指定数据寄存器的内容保持不变。
ACC.(i+1) ← [m].i (i=0~6)
ACC.0 ← C
C ← [m].7
C
140
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LRR [m]
指令说明
功能表示
影响标志位
LRRA [m]
指令说明
功能表示
影响标志位
LRRC [m]
指令说明
功能表示
影响标志位
LRRCA [m]
指令说明
功能表示
影响标志位
LSBC A, [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Rotate Data Memory right
将指定数据存储器的内容循环右移 1 位且第 0 位移到
第 7 位。
[m].i ← [m].(i+1) (i=0~6)
[m].7 ← [m].0
无
Rotate Data Memory right with result in ACC
将指定数据存储器的内容循环右移 1 位,第 0 位移到
第 7 位,移位结果存放到累加器,而指定数据存储器的内
容保持不变。
ACC.i ← [m].(i+1) (i=0~6)
ACC.7 ← [m].0
无
Rotate Data Memory right through Carry
将指定数据存储器的内容连同进位标志右移 1 位,
第 0 位取代进位标志且原本的进位标志移到第 7 位。
[m].i ← [m].(i+1) (i=0~6)
[m].7← C
C ← [m].0
C
Rotate Data Memory right through Carry with result in ACC
将指定数据存储器的内容连同进位标志右移 1 位,第 0 位
取代进位标志且原本的进位标志移到第 7 位,移位结果送
回累加器,但是指定数据寄存器的内容保持不变。
ACC.i ← [m].(i+1) (i=0~6)
ACC.7 ← C
C ← [m].0
C
Subtract Data Memory from ACC with Carry
将累加器减去指定数据存储器的内容以及进位标志的反,
结果存放到累加器。如果结果为负,C 标志位清除为 0,
反之结果为正或 0,C 标志位设置为 1。
ACC ← ACC – [m] – C
OV、Z、AC、C、SC、CZ
141
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LSBCM A, [m]
指令说明
功能表示
影响标志位
LSDZ [m]
指令说明
功能表示
影响标志位
LSDZA [m]
指令说明
Rev. 1.60
Subtract Data Memory from ACC with Carry and result in Data
Memory
将累加器减去指定数据存储器的内容以及进位标志的反,
结果存放到数据存储器。如果结果为负,C 标志位清除为 0,
反之结果为正或 0,C 标志位设置为 1。
[m] ← ACC – [m] – C
OV、Z、AC、C、SC、CZ
Skip if Decrement Data Memory is 0
将指定的数据存储器的内容减 1,判断是否为 0,若为 0 则
跳过下一条指令,由于取得下一个指令时会要求插入一个
空指令周期,所以此指令为 3 个周期的指令。如果结果不
为 0,则程序继续执行下一条指令。
[m] ← [m] – 1,如果 [m]=0 跳过下一条指令执行
无
功能表示
影响标志位
Skip if decrement Data Memory is zero with result in ACC
将指定数据存储器内容减 1,判断是否为 0,如果为 0 则跳
过下一条指令,此结果将存放到累加器,但指定数据存储
器内容不变。由于取得下一个指令时会要求插入一个空指
令周期,所以此指令为 3 个周期的指令。如果结果不为 0,
则程序继续执行下一条指令。
ACC ← [m] – 1,如果 ACC=0 跳过下一条指令执行
无
LSET [m]
指令说明
功能表示
影响标志位
Set Data Memory
将指定数据存储器的每一个位置位为 1。
[m] ← FFH
无
LSET [m].i
指令说明
功能表示
影响标志位
Set bit of Data Memory
将指定数据存储器的第 i 位置位为 1。
[m].i ← 1
无
142
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LSIZ [m]
指令说明
功能表示
影响标志位
LSIZA [m]
指令说明
功能表示
影响标志位
LSNZ [m].i
指令说明
功能表示
影响标志位
LSNZ [m]
指令说明
功能表示
影响标志位
LSUB A, [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Skip if increment Data Memory is 0
将指定的数据存储器的内容加 1,判断是否为 0,若为 0 则
跳过下一条指令。由于取得下一个指令时会要求插入一个
空指令周期,所以此指令为 3 个周期的指令。如果结果不
为 0,则程序继续执行下一条指令。
[m] ←[m] + 1,如果 [m]=0 跳过下一条指令执行
无
Skip if increment Data Memory is zero with result in ACC
将指定数据存储器的内容加 1,判断是否为 0,如果为 0 则
跳过下一条指令,此结果会被存放到累加器,但是指定数
据存储器的内容不变。由于取得下一个指令时会要求插入
一个空指令周期,所以此指令为 3 个周期的指令。如果结
果不为 0,则程序继续执行下一条指令。
ACC ←[m] + 1,如果 ACC=0 跳过下一条指令执行
无
Skip if bit i of Data Memory is not 0
判断指定数据存储器的第 i 位,若不为 0,则程序跳过下
一条指令执行。由于取得下一个指令时会要求插入一个空
指令周期,所以此指令为 3 个周期的指令。如果结果为 0,
则程序继续执行下一条指令。
如果 [m].i≠0,跳过下一条指令执行
无
Skip if Data Memory is not 0
指定数据存储器的内容会先被读出,后又被重新写入指定
数据存储器内。判断指定数据存储器,若不为 0,则程序
跳过下一条指令执行。由于取得下一个指令时会要求插入
一个空指令周期,所以此指令为 3 个周期的指令。如果结
果为 0,则程序继续执行下一条指令。
如果 [m]≠0,跳过下一条指令执行
无
Subtract Data Memory from ACC
将累加器的内容减去指定的数据存储器的数据,把结果存
放到累加器。如果结果为负,C 标志位清除为 0,反之结果
为正或 0,C 标志位设置为 1。
ACC ← ACC – [m]
OV、Z、AC、C、SC、CZ
143
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LSUBM A, [m]
指令说明
功能表示
影响标志位
Subtract Data Memory from ACC with result in Data Memory
将累加器的内容减去指定数据存储器的数据,结果存放到
指定的数据存储器。如果结果为负,C 标志位清除为 0,
反之结果为正或 0,C 标志位设置为 1。
[m] ← ACC – [m]
OV、Z、AC、C、SC、CZ
LSWAP [m]
指令说明
功能表示
影响标志位
Swap nibbles of Data Memory
将指定数据存储器的低 4 位和高 4 位互相交换。
[m].3~[m].0 ↔ [m].7~[m].4
无
LSWAPA [m]
指令说明
Swap nibbles of Data Memory with result in ACC
将指定数据存储器的低 4 位和高 4 位互相交换,再将结果
存放到累加器且指定数据寄存器的数据保持不变。
ACC.3~ACC.0 ← [m].7~[m].4
ACC.7~ACC.4 ← [m].3~[m].0
无
功能表示
影响标志位
LSZ [m]
指令说明
功能表示
影响标志位
LSZA [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Skip if Data Memory is 0
指定数据存储器的内容会先被读出,后又被重新写入指定
数据存储器内。判断指定数据存储器的内容是否为 0,若
为 0,则程序跳过下一条指令执行。由于取得下一个指令
时会要求插入一个空指令周期,所以此指令为 3 个周期的
指令。如果结果不为 0,则程序继续执行下一条指令。
如果 [m]=0,跳过下一条指令执行
无
Skip if Data Memory is 0 with data movement to ACC
将指定数据存储器内容复制到累加器,并判断指定数据存
储器的内容是否为 0,若为 0 则跳过下一条指令。由于取
得下一个指令时会要求插入一个空指令周期,所以此指令
为 3 个周期的指令。如果结果不为 0,则程序继续执行下
一条指令。
ACC ← [m],如果 [m]=0,跳过下一条指令执行
无
144
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LSZ [m].i
指令说明
功能表示
影响标志位
LTABRD [m]
指令说明
功能表示
影响标志位
LTABRDL [m]
指令说明
功能表示
影响标志位
LITABRD [m]
指令说明
功能表示
影响标志位
LITABRDL [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Skip if bit i of Data Memory is 0
判断指定数据存储器的第 i 位是否为 0,若为 0,则跳过下
一条指令。由于取得下一个指令时会要求插入一个空指令
周期,所以此指令为 3 个周期的指令。如果结果不为 0,
则程序继续执行下一条指令。
如果 [m].i=0,跳过下一条指令执行
无
Move the ROM code (specific page) to TBLH and data memory
将表格指针对 TBHP 和 TBLP 所指的程序代码低字节 ( 指
定页 ) 移至指定数据存储器且将高字节移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
Read table (last page) to TBLH and Data Memory
将表格指针 TBLP 所指的程序代码低字节 ( 最后一页 )
移至指定数据存储器且将高字节移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
Increment table pointer low byte first and read table (specific
page) to TBLH and data memory
自加表格指针低字节 TBLP,将表格指针对 TBHP 和 TBLP
所指的程序代码低字节 ( 指定页 ) 移至指定的数据存储器
且将高字节移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
Increment table pointer low byte first and read table (last page)
to TBLH and data memory
自加表格指针低字节 TBLP,将表格指针 TBLP 所指的程序
代码低字节 ( 最后一页 ) 移至指定的数据存储器且将高字节
移至 TBLH。
[m] ← 程序代码 ( 低字节 )
TBLH ← 程序代码 ( 高字节 )
无
145
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
LXOR A, [m]
指令说明
功能表示
影响标志位
LXORM A, [m]
指令说明
功能表示
影响标志位
Rev. 1.60
Logical XOR Data Memory to ACC
将累加器的数据和指定的数据存储器内容逻辑异或,
结果存放到累加器。
ACC ← ACC“XOR”[m]
Z
Logical XOR ACC to Data Memory
将累加器的数据和指定的数据存储器内容逻辑异或,
结果放到数据存储器。
[m] ← ACC“XOR”[m]
Z
146
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
封装信息
请注意,这里提供的封装信息仅作为参考。由于这个信息经常更新,提醒用户
咨询 Holtek 网站以获取最新版本的封装信息。
封装信息的相关内容如下所示,点击可链接至 Holtek 网站相关信息页面。
● 封装信息 ( 包括外形尺寸、包装带和卷轴规格 )
● 封装材料信息
● 纸箱信息
Rev. 1.60
147
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
16-pin NSOP-EP (150mil) 外形尺寸
D1
1
E2
16
9
THERMAL VARIATIONS ONLY
符号
A
B
C
C’
D
D1
E
E2
F
G
H
α
符号
A
B
C
C’
D
D1
E
E2
F
G
H
α
8
最小值
—
—
0.012
—
—
0.152
—
0.066
0.004
0.016
0.004
0°
尺寸 ( 单位:inch)
正常值
0.236 BSC
0.154 BSC
—
0.390 BSC
—
—
0.050 BSC
—
—
—
—
—
最大值
—
—
0.020
—
0.069
0.186
—
0.101
0.010
0.050
0.010
8°
最小值
—
—
0.31
—
—
3.86
—
1.68
0.10
0.40
0.10
0°
尺寸 ( 单位:mm)
正常值
6.00 BSC
3.90 BSC
—
9.90 BSC
—
—
1.27 BSC
—
—
—
—
—
最大值
—
—
0.51
—
1.75
4.72
—
2.56
0.25
1.27
0.25
8°
注:针对此封装类型,请参考此处提供的封装信息,Holtek 网站不会对此再做更新。
Rev. 1.60
148
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
24-pin SSOP-EP (150mil) 外形尺寸
D1
1
12
E2
24
13
THERMALLY ENHANCED VERIATIONS ONLY
符号
A
B
C
C’
D
D1
E
E2
F
G
H
α
符号
A
B
C
C’
D
D1
E
E2
F
G
H
α
Rev. 1.60
最小值
—
—
0.008
—
—
—
—
—
0.004
0.016
0.004
0°
尺寸 ( 单位:inch)
正常值
0.236 BSC
0.154 BSC
—
0.341 BSC
—
0.140
0.025 BSC
0.096
—
—
—
—
最大值
—
—
0.012
—
0.069
—
—
—
0.010
0.050
0.010
8°
最小值
—
—
0.20
—
—
—
—
—
0.10
0.41
0.10
0°
尺寸 ( 单位:mm)
正常值
6.00 BSC
3.90 BSC
—
8.66 BSC
—
3.56
0.635 BSC
2.44
—
—
—
—
最大值
—
—
0.30
—
1.75
—
—
—
0.25
1.27
0.25
8°
149
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
SAW Type 16-pin QFN (4mm×4mm×0.75mm) 外形尺寸
符号
A
A1
A3
b
D
E
e
D2
E2
L
K
符号
A
A1
A3
b
D
E
e
D2
E2
L
K
Rev. 1.60
最小值
0.028
0.000
—
0.010
—
—
—
0.079
0.079
0.014
0.008
尺寸 ( 单位:inch)
正常值
0.030
0.001
0.008 BSC
0.012
0.157 BSC
0.157 BSC
0.026 BSC
0.083
0.083
0.016
—
最大值
0.031
0.002
—
0.014
—
—
—
0.085
0.085
0.018
—
最小值
0.70
0.00
—
0.25
—
—
—
2.00
2.00
0.35
0.20
尺寸 ( 单位:mm)
正常值
0.75
0.02
0.203 BSC
0.30
4.00 BSC
4.00 BSC
0.65 BSC
2.10
2.10
0.40
—
最大值
0.80
0.05
—
0.35
—
—
—
2.15
2.15
0.45
—
150
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
SAW Type 24-pin QFN (4mm×4mm×0.75mm) 外形尺寸
符号
A
A1
A3
b
D
E
e
D2
E2
L
符号
A
A1
A3
b
D
E
e
D2
E2
L
Rev. 1.60
最小值
0.028
0.000
—
0.007
—
—
—
0.104
0.104
0.014
尺寸 ( 单位:inch)
正常值
0.030
0.001
0.008 BSC
0.010
0.157 BSC
0.157 BSC
0.020 BSC
0.106
0.106
0.016
最大值
0.031
0.002
—
0.012
—
—
—
0.108
0.108
0.018
最小值
0.70
0.00
—
0.18
—
—
—
2.65
2.65
0.35
尺寸 ( 单位:mm)
正常值
0.75
0.02
0.203 BSC
0.25
4.00 BSC
4.00 BSC
0.50 BSC
2.70
2.70
0.40
最大值
0.80
0.05
—
0.30
—
—
—
2.75
2.75
0.45
151
2022-08-02
BC68F2130/BC68F2140/BC68F2150
带 OCDS 的 Sub-1GHz RF 发射器 Flash 单片机
Copyright© 2022 by HOLTEK SEMICONDUCTOR INC. All Rights Reserved.
本文件出版时 HOLTEK 已针对所载信息为合理注意,但不保证信息准确无误。文中提到的信息仅
是提供作为参考,且可能被更新取代。HOLTEK 不担保任何明示、默示或法定的,包括但不限于
适合商品化、令人满意的质量、规格、特性、功能与特定用途、不侵害第三方权利等保证责任。
HOLTEK 就文中提到的信息及该信息之应用,不承担任何法律责任。此外,HOLTEK 并不推荐
将 HOLTEK 的产品使用在会由于故障或其他原因而可能会对人身安全造成危害的地方。HOLTEK
特此声明,不授权将产品使用于救生、维生或安全关键零部件。在救生 / 维生或安全应用中使用
HOLTEK 产品的风险完全由买方承担,如因该等使用导致 HOLTEK 遭受损害、索赔、诉讼或产生
费用,买方同意出面进行辩护、赔偿并使 HOLTEK 免受损害。HOLTEK ( 及其授权方,如适用 )
拥有本文件所提供信息 ( 包括但不限于内容、数据、示例、材料、图形、商标 ) 的知识产权,且
该信息受著作权法和其他知识产权法的保护。HOLTEK 在此并未明示或暗示授予任何知识产权。
HOLTEK 拥有不事先通知而修改本文件所载信息的权利。如欲取得最新的信息,请与我们联系。
Rev. 1.60
152
2022-08-02