中文

BL21P01
8Bit CMOS OTP MCU
器件特性
RISC CPU:
仅需 35 条指令
中断源:
大部分指令仅需一个时钟周期
存储器
1K x14 OTP ROM
1 个外部中断
RA0、RA1、RA3~RA5 输入电平变化中断
48 Byte RAM
4 级堆栈
时钟系统
内置振荡:
1 个比较器中断
定时器:
8-bit 定时/计数器 T0
2 个定时器中断
8-bit 自动重装定时/计数器 T1
内置比较器
低电压复位: 2.1V/3.6V
工作模式:
Max: 4MHz ±2%.(3.3~5.5V)
Max: 2MHz±2%.(2.4~3.3V)
RC 振荡:
外部晶体振荡:
IO 引脚配置
输入输出双向 IO 口: RA RC
单向输入引脚 RA3
正常模式 : IDD = 2.0mA(max) @5V
休眠模式: Isb = 1.0uA(typical) @5V
带独立振荡器的看门狗定时器
工作电压:2.0V~5.5V
ESD:HBM 3000V
EFT:4000V
可编程的弱上拉
RA 电平变化中断
概述
BL21P01 单片机是 8 位具有高性能精简指令集的单片机,应用相当广泛。单片机具有低功耗、
I/O 灵活、定时器功能、振荡类型可选、休眠和唤醒功能、看门狗和低电压复位等丰富的功能
选项,其内部集成了系统振荡器 IRC,不需要增加外部元器件,可以广泛适用于各种应用,例
如工业控制、消费类产品、家用电器子系统控制等。
器件列表
Device
BL21P01
BL21P01
BL21P01
ROM
(Word)
1024
1024
1024
RAM
Stack
I/O
INT
48
48
48
4
4
4
12/11
6/5
4/3
1
1
1
Timer
8/16-bit
2/0
2/0
2/0
ADC
-
PWM CMP
1
1
1
1
1
1
Footprint
SOP14/DIP14
SOP8/TSSOP8/DIP18
SOT23-6
BL21P01
封装说明
T0CKI/RC3
RC4
RC5
VDD
RA5/OSC1
RA4/OSC2
1
2
3
4
5
6
7
RA3/MCLR/VPP
14
RC2/CINRC1/CIN+
RC0/COUT
VSS
RA2/T0CKI/INT/COUT
RA1/CIN-/BZ
RA0/CIN+/BZ/PWM
13
12
11
10
9
8
BL21P01 SOP14/DIP14
VDD
RA5/OSC1
RA4/OSC2
RA3/MCLR/VPP
1
2
3
4
8
7
6
5
VSS
RA2/T0CKI/INT/COUT
RA1/CIN-/BZ
RA0/CIN+/BZ/PWM
BL21P01 SOP8/TSSOP8/DIP8
RC2
VSS
RA0/BZ/PWM
1
2
3
6
5
4
RC3/T0CKI
VDD
RA3/MCLR/VPP
BL21P01 SOT23-6
注: SOP14 封装, 比较器端口及 T0 外部时钟输入引脚可通过寄存器配置与 RA 口复用或与 RC 口复用。
Shanghai Belling Corp., Ltd.
Rev. 1.5
2 / 32
BL21P01
引脚说明
名称
功能 输入类型 输出类型 说明
RA0/CIN+/BZ/PWM
RA0
CMOS
具有可编程上拉和电平变化中断功能的 PORTA I/O
—
比较器同相输入
CMOS
CMOS
蜂鸣器输出引脚
PWM 输出引脚
CMOS
具有可编程上拉和电平变化中断功能的 PORTA I/O
—
CMOS
比较器反相输入
蜂鸣器反相输出
CMOS
具有可编程上拉和电平变化中断功能的 PORTA I/O
T0CKI ST
—
Timer0 的时钟输入
INT
—
外部中断
COUT —
CMOS
比较器的输出
RA3
TTL
CIN+ AN
BZ PWMRA1/CIN-/nBZ
RA1
TTL
CIN- AN
nBZ RA2/T0CKI/INT/COUT
RA2
ST
ST
—
具有电平变化中断功能的PORTA 输入
MCLR ST
—
带内部上拉的主复位
VPP
HV
—
编程电压
RA4
TTL
CMOS
具有可编程上拉和电平变化中断功能的 PORTA I/O
OSC2 —
XTAL
晶振 / 谐振器
RA5
CMOS
具有可编程上拉和电平变化中断功能的 PORTA I/O
OSC1 XTAL
—
晶振 / 谐振器
RC0//COUT
RC0
TTL
CMOS
PORTC I/O
RC1/CIN+
RC1
TTL
CMOS
PORTC I/O
RC2/CIN-
RC2
TTL
CMOS
PORTC I/O
RC3/T0CKI
RC3
TTL
CMOS
PORTC I/O
RC4
RC4
TTL
CMOS
PORTC I/O
RC5
RC5
TTL
CMOS
PORTC I/O
VDD
VDD
电源
—
正电源
Vss
VSS
电源
—
参考地
RA3/MCLR/VPP
RA4/OSC2
RA5/OSC1
Shanghai Belling Corp., Ltd.
TTL
TTL
Rev. 1.5
3 / 32
BL21P01
系统结构
系统框图
Analog:
Digital:
por
bor
Rst ctrl
osc
Clk ctrl
Compa
rator
Else
Sfr
Ctrl
PAD
GPIO
ctrl
Mem
Ctrl
RISC
SRAM
48bytes
timer0
timer1
wdt
sfr bus
OTP
1k*14bits
Test Interface
mem bus
CPU 特性
指令周期:
MCU 内核采用优化的时钟结构,每个指令周期仅为 1 个时钟周期,是 PIC16C6X 内核的 4 倍。
哈佛结构:
器件采用哈佛架构,具有独立的程序存储器和数据存储器,并可通过独自的总线进行存取。取
指操作可在单个指令周期内完成,在访问程序存储器的同时,可通过独立的总线对数据进行读
写操作。独立的总线结构使得执行一条指令的同时,可以取下一条指令。
指令流水:
指令流水线有两级流水线,可以使取指操作和指令执行重叠进行。取指花费一个 TCY 时间,而
该指令在下一个 TCY 时间内执行。由于当前指令的取指操作和前一条指令的执行是重叠的,所
以在每一个 TCY 内,进行一条指令的取指和另一条指令的执行。
单周期指令:
程序存储器总线是 14 位宽,因此能在 1 个机器周期内完成整条指令的取指操作。指令中包含
了所需的所有信息,并能在单周期内执行完毕。如果指令的执行结果要修改程序指针 PC,那么
完成指令可能需要 2 个周期(有一个周期的延迟),因为此时流水线会作废 1 条指令并重新取
指令。
Shanghai Belling Corp., Ltd.
Rev. 1.5
4 / 32
BL21P01
存储器
MCU 内核采用 14-bit 的指令总线和 8-bit 的数据总线分开的哈佛结构。
程序存储器
器件具有一个 13-bit 的 PC,能够寻址 8 x14 的程序存储空间,器件的前 1 x14 是物理
实现的,访问超出上述存储单元,将回到前 1 x14 的空间内。 复位向量位于 0000H,中断向量
位于 0004H。
程序存储器映射和堆栈
PC<12:0>
CALL,RETURN
RETFIE,RETLW
第一层堆栈
第二层堆栈
第三层堆栈
第四层堆栈
复位向量
0000H
中断向量
0004H
片上存储区域
PCL 和 PCLATH
程序计数器(PC)为 13 位宽。其低 8 位来自可读写的 PCL 寄存器,高 5 位(PC<12:8>)来自
PCLATH,不能直接读写。只要发生复位,PC 就将被清零。下图显示了装入 PC 值的两种情形。
Shanghai Belling Corp., Ltd.
Rev. 1.5
5 / 32
BL21P01
不同情形下 PC 值的装入
堆栈
器件具有 4 级硬件堆栈,堆栈区是一块独立的存储区域,既不存在于 ROM 也不存在于 RAM 区,
不能通过指令对其读写。当执行 CALL 指令或指令中断程序时,PC 值被压入栈,当执行 RETURN、
RETFIE 及 RETLW 子程序和中断返回指令时,被压入的 PC 值从栈中弹出。
器件在逻辑上没有控制堆栈溢出的功能,当堆栈占满后,执行下一条 CALL 指令会导致第一次执
行 CALL 操作时存储于栈的值被覆盖。
Shanghai Belling Corp., Ltd.
Rev. 1.5
6 / 32
BL21P01
数据存储器
数据存储器由通用寄存器和特殊功能寄存器构成。特殊功能寄存器位于每个存储区的前 32 个单
元中。 40h - 7Fh 寄存器单元是通用寄存器,以静态 RAM 的形式实现,其他地均未实现。
STATUS 寄存器的 RP<1:0>位是存储区选择位,在 BL21P01 中 RP0 与 RP1 及 IRP 位保留且始终为
0.
00h
INDF
80h
INDF
01h
TMR0
81h
OPTION
02h
PCL
82h
PCL
03h
STATUS
83h
STATUS
04h
FSR
84h
FSR
05h
PORTA
85h
TRISA
06h
07h
86h
PORTC
87h
08h
88h
09h
89h
TRISC
0Ah
PCLATH
8Ah
PCLATH
0Bh
INTCON
8Bh
INTCON
0Ch
PIR1
8Ch
PIE1
0Dh
8Dh
0Eh
8Eh
0Fh
8Fh
10h
PCON
90h
11h
TMR1
91h
12h
T1CON
92h
PR
13h
93h
PWMCON
14h
94h
15h
95h
WPUA
16h
96h
IOCA
17h
97h
WPUC
18h
98h
19h
1Ah
99h
CMCON
9Ah
1Bh
9Bh
1Ch
9Ch
1Dh
9Dh
1Eh
9Eh
1Fh
9Fh
20h
A0h
RAM
Memory
Space
4Fh
50h
7Fh
FFh
Bank 0
Shanghai Belling Corp., Ltd.
Bank 1
Rev. 1.5
7 / 32
BL21P01
通用寄存器
器件的寄存器文件组织为 48 x 8,通过文件选择寄存器可以直接或间接访问每个寄存器。
间接寻址
器件支持直接寻址和间接寻址。在直接寻址模式,STATUS 寄存器中的 PR<1:0>位(BL21P01 中为
00 或 1x 指向 Bank0,01 指向 Bank1)和指令中的 7 位操作数组成 9 位的地址。使用 INDF 寄存
器可进行间接寻址。任何使用 CONFIG 寄存器的指令,实际上是对文件选择寄存器(FSR)所指
向的数据进行存取。通过将 8 位的 FSR 寄存器与 STATUS 寄存器的 IRP 位(器件中始终为 0)进行
组合可得到一个有效的 9 位地址.
直接寻址与间接寻址
Shanghai Belling Corp., Ltd.
Rev. 1.5
8 / 32
BL21P01
特殊功能寄存器
特殊功能寄存器为 CPU 和外设模块用来对器件所需操作进行控制的寄存器。这些寄存器以静态
RAM 存储,分为内核和外设。 本节介绍内核相关的寄存器,与外设相关的特殊寄存器将在相应
的外设功能模块中介绍。
x- 未知 ,u- 不变, R-可读, W-可写 , 0 -上电默认为 0, 1-上电默认为 1
INDF 寄存器-INDF
与 FSR 寄存器配合所使用,来进行间接寻址。
状态寄存器-STATUS
Bit
Name
R/W
7
IRP
R -0
6-5
RP1~RP0 R/W-0
4
TO
R-1
3
PD
R-1
2
Z
R/W-x
1
DC
R/W-x
0
C
R/W-x
选项寄存器-OPTION
Bit
Name
R/W
7
WDTE
R/W-0
6
INTEDG R/W-1
5
T0CS
R/W-1
4
T0SE
R/W-1
3
PSA
R/W-1
2-0
PS2-PS0
R/W-1
中断控制寄存器-INTCON
Bit
Name
R/W
7
GIE
R/W-0
6
PEIE
R/W-0
Shanghai Belling Corp., Ltd.
功能描述
0 = Bank 0 和 1(用于间接寻址)
00= Bank 0
01= Bank 1
1x =Bank 0
1 = 上电复位、执行 CLRWDT 或 SLEEP 指令之后
0 = 产生了 WDT 超时
1 = 在上电或执行 CLRWDT 指令之后
0 = 执行 SLEEP 指令
1 = 算术运算或逻辑运算的结果为 0
0 = 算术运算或逻辑运算的结果不为零
1 = 结果的第 4 个低位发生了进位
0 = 结果的第 4 个低位未发生进位
1 = 结果最高位发生了进位
0 = 结果最高位未发生进位
功能
1 = 看门狗复位使能
0 = 看门狗复位禁止
1 = INT 引脚的上升沿触发中断
0 = INT 引脚的下降沿触发中断
1 = T0CKI 引脚上的电平跳变
0 = 内部指令周期时钟
1 = T0CKI 引脚信号从高至低跳变时,递增计数
0 = T0CKI 引脚信号从低至高跳变时,递增计数
1 = 预分频器分配给 WDT
0 = 预分频器分配给 Timer0 模块
Timer0 分频比
WDT 分频比
000 = 1/2
000 = 1/1
001 = 1/4
001 = 1/2
010 = 1/8
010 = 1/4
011 = 1/16
011 = 1/8
100 = 1/32
100 = 1/16
101 = 1/64
101 = 1/32
110 = 1/128
110 = 1/64
111 = 1/256
111 = 1/128
功能描述
1 = 允许所有未屏蔽中断
0 = 禁止所有中断
1 = 允许所有未被屏蔽的外设中断
Rev. 1.5
9 / 32
BL21P01
5
T0IE
R/W-0
4
INTE
R/W-0
3
RAIE
R/W-0
2
T0IF
R/W-0
1
INTF
R/W-0
0
RAIF
R/W-x
外设中断允许寄存器- PIE1
Bit
Name
R/W
7
-U-0
6
-U-0
5
-U-0
4
-U-0
3
CIE
R/W-0
2
1
-U-0
TMR1IE R/W-0
0
--
U-0
外设中断请求寄存器- PIR1
Bit
Name
R/W
7
-U-0
6
-U-0
5
-U-0
4
-U-0
3
CIF
R/W-0
2
1
-U-0
TMR1IF R/W-0
0
-U-0
电源控制寄存器-PCON
Bit
Name
R/W
7
-U-0
6
-U-0
5
-U-0
4
-U-0
3
-U-0
2
-U-0
1
POR
R/W-0
0
BOR
Shanghai Belling Corp., Ltd.
R/W-x
0 = 禁止所有外设中断
1 = 允许 Timer0 中断
0 = 禁止 Timer0 中断
1 = 允许 INT 外部中断
0 = 禁止 INT 外部中断
1 = 允许 RA 电平变化中断
0 = 禁止 RA 电平变化中断
1 = TMR0 寄存器溢出(必须用软件清零)
0 = TMR0 寄存器未溢出
1 = INT 外部中断发生(必须用软件清零)
0 = INT 外部中断没有发生
1= 至少有一个 RA 口引脚状态发生变化(必须用软件清零)
0 = RA 口引脚状态均未发生变化
功能描述
未实现
未实现
未实现
未实现
1 = 允许比较器中断
0 = 禁止比较器中断
未实现
1 = 允许 Timer1 溢出中断
0 = 禁止 Timer1 溢出中断
未实现
功能描述
未实现
未实现
未实现
未实现
1 = 比较器输出已改变
0 = 比较器输出未改变
未实现
1 = Timer1 寄存器溢出
0 = Timer1 未发生溢出
未实现
功能描述
未实现
未实现
未实现
未实现
未实现
未实现
1 = 未发生上电复位
0 = 发生了上电复位(必须用软件置 1)
1 = 未发生欠压复位
0 = 发生了欠压复位(必须用软件置 1)
Rev. 1.5
10 / 32
BL21P01
特殊功能寄存器汇总
地址 名称
Bank 0
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
INDF
TMR0
PCL
STATUS
FSR
PORTA
PORTC
PCLATH
INTCON
PIR1
TMR1
T1CON
CMCON
-
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
BOR/POR
Timer 0 Register
Program counter Least Significant Byte
IRP
RP1
RP0
TO
PD
Indirect data memory address pointer
RA5
RA4
RA3
Z
DC
C
RA2
RA1
RA0
0000 0000
0000 0000
0000 0000
0001 1000
0000 0000
0000 x000
-
RC3
RC2
RC1
RC0
0000 0000
Write buffer upper 7 bits of PC
GIE
PEIE T0IE
INTE
-
RAIE
-
T0IF
CIF
INTF
RAIF
TMR1IF -
0000 0000
0000 0000
0000 0000
TMR1CS TOUTPS3 TOUTPS2
TOUTPS1
TOUTPS0
TMR1ON
T1CKPS1
T1CKPS0
0000 0000
0000 0000
CON
CPOL
PNS1
PNS0
nBZE
BZE
0000 0000
-
RC5
COUT COE
RC4
注: x- 未知 ,u- 不变
Shanghai Belling Corp., Ltd.
Rev. 1.5
11 / 32
BL21P01
地址 名称
Bank 1
80h
81h
82h
83h
84h
85h
86h
87h
88h
89h
8Ah
8Bh
8Ch
8Dh
8Eh
8Fh
90h
91h
92h
93h
94h
95h
96h
97h
98h
99h
9Ah
9Bh
9Ch
9Dh
9Eh
9Fh
INDF
OPTION
PCL
STATUS
FSR
TRISA
TRISC
PCLATH
INTCON
PIE1
PCON
PR
PWMCON
WPUA
IOCA
WPUC
-
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
BOR/POR
WDTE INTEDG T0CS
T0SE
PSA
PS2
PS1
PS0
Program counter Least Significant Byte
IRP
RP1
RP0
TO
PD
Z
DC
C
Indirect data memory address pointer
TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0
0000 0000
0111 1111
0000 0000
0001 1000
0000 0000
0011 1111
-
0011 1111
-
TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0
Write buffer upper 7 bits of PC
GIE
PEIE
T0IE
INTE
-
RAIE
-
T0IF
CIE
INTF
RAIF
TMR1IE -
0000 0000
0000 0000
0000 0000
-
-
-
POR
BOR
0000 0000
FS0
1111 1111
PWMON 0000 0000
-
-
-
-
-
-
-
FS2
FS1
-
-
WPUA5 WPUA4 WPUA2 WPUA1 WPUA0 0000 0000
IOCA5 IOCA4 IOCA3 IOCA1 IOCA0 0000 0000
WPUC5 WPUC4 WPUC3 WPUC2 WPUC1 WPUC0 0000 0000
-
注: x- 未知 ,u- 不变
Shanghai Belling Corp., Ltd.
Rev. 1.5
12 / 32
BL21P01
振荡器
器件有 3 种时钟模式,用户可通过 OPBIT 来配置时钟选项:
OSC 模式:
外接晶振/陶瓷振荡器,连接方法如下图示。晶振频率为 400KHz-8MHz,电容的选择根据晶振频
率的不同而不同,下表为参考值。
晶体振荡器 C1 和 C2 值
晶体频率
C1
C2
2MHz
15
15
4MHz
15
15
内部振荡模式:
在此模式下外部无需任何器件,XIN/XOUT 可作为普通的输入输出口。
Shanghai Belling Corp., Ltd.
Rev. 1.5
13 / 32
BL21P01
复位
器件有 4 种复位模式:
上电复位(POR)
外部电平复位
看门狗(WDT)复位
低电压欠压复位(BOR)
复位相关寄存器
03h STATUS IRP
RP1
83h
8Eh PCON
注:蓝色为模块相关的寄存器位
RP0
TO
PD
Z
DC
C
-
-
-
-
POR
BOR
上电复位
上电复位 STATUS 寄存器 TO 位置 1,PD 位置 1; PCON 寄存器 POR 位置 1.
外部电平复位
正常工作期间外部电平复位,不过改变 STATUS 及 PCON 相关的位;休眠期间外部电平复位将会
置位 STATUS 的 TO 位,清 0 PD 位。
看门狗复位
WDT 复位, STATUS 寄存器 TO 位清零。
低电压欠压复位
若产生复位, PCON 寄存器 BOR 位将被置 1.
复位状态汇总
POR
0
u
u
u
u
BOR
x
0
u
u
u
Shanghai Belling Corp., Ltd.
TO
1
1
0
0
u
PD
1
1
u
0
u
条件
上电复位
欠压复位
WDT 复位
WDT 唤醒
正常期间的 MCLR 复位
Rev. 1.5
14 / 32
BL21P01
寄存器各种情形复位状态
地址
寄存器
POR/BOR
MCLR/WDT
复位
中断/WDT
从休眠中唤醒
-
W
00000000
uuuuuuuu
uuuu uuuu
-
SP
000
uuu
uuu
00h/80h
CONFIG
0000000
uuuuuuuu
uuuu uuuu
01h
TMR0
00000000
uuuuuuuu
uuuu uuuu
02h/82h
PCL
00000000
00000000
PC+1
03h/83h
STATUS
00011000
000qquuu
uuuu quuu
04h/84h
FSR
00000000
uuuuuuuu
uuuu uuuu
05h
PORTA
0000x000
uuuuuuuu
00uu uuuu
07h
PORTC
00000000
00uuuuuu
00uu uuuu
0Ah/8Ah PCLATH
00000000
00000000
000u uuuu
0Bh/8Bh INTCON
00000000
00000000
uuuu uuuu
0Ch
PIR1
00000000
00000000
0000 0uu0
11h
TMR1
00000000
00000000
uuuu uuuu
12h
1Ah
T1CON
CMCON
00000000
00000000
00000000
00000000
uuuu uuuu
uuuu uuuu
81h
OPTION
01111111
01111111
uuuu uuuu
85h
TRISA
00111111
00111111
00uu uuuu
87h
TRISC
00111111
00111111
00uu uuuu
8Ch
PIE1
00000000
00000000
0000 0uu0
8Eh
PCON
00000000
00000000
0000 00uu
92h
PR
11111111
11111111
uuuu uuuu
93h
PWMCON
00000000
00000000
0000 0uuu
95h
WPUA
00000000
00000000
00uu 0uuu
96h
IOCA
00000000
00000000
00uu u0uu
97h
WPUC
00000000
00000000
00uu uuuu
注:u-不改变, q-取决于具体条件所对应的 STATUS 位
Shanghai Belling Corp., Ltd.
Rev. 1.5
15 / 32
BL21P01
休眠模式
当执行 SLEEP 指令后,器件进入休眠模式。
若使能看门狗定时器:
WDT 将被清零并保持运行。
状态寄存器中的 PD 位被清零。
TO 位被置 1。
关闭振荡器驱动器。
I/O 端口保持执行 SLEEP 指令之前的状态(驱动为高电平、低电平或高阻态)。
为使这种模式下的电流消耗降至最低,所有 I/O 引脚都应保持为 VDD 或 VSS,以确保没有外部
电路从 I/O 引脚消耗电流。为了避免输入引脚悬空而引入开关电流,应在外部将高阻输入的
I/O 引脚拉为高电平或低电平。为使电流消耗降至最低,T0CKI 输入也应保持为 VDD 或 VSS。
还应考虑 PORTA 片上上拉的影响。MCLR 引脚必须处于逻辑高电平。
从休眠状态唤醒:
MCLR 外部引脚唤醒:将导致器件复位,PD 位被置 1。
WDT 唤醒: 程序将继续执行,TO 被清零。
外设中断唤醒:外部 INT 中断, RA 端口电平变化中断
使用外部中断唤醒:
当禁止全局中断(GIE 被清零)时,并且有任一中断源的中断允许位和中断标志位都置 1,将
会发生下列事件之一:
如果在执行 SLEEP 指令之前产生了中断,那么 SLEEP 指令将被作为一条 NOP 指令执行。因此,
WDT 及其预分频器和后分频器(如果使能)将不会被清零,并且 TO 位将不会被置 1,同时 PD
位也不会被清零。
如果在执行 SLEEP 指令期间或之后产生了中断,那么器件将被立即从休眠状态唤醒。执行了
SLEEP 指令,因此, WDT 及其预分频器和后分频器(如果使能)将被清零,并且 TO 位将被置
1,同时 PD 位也将被清零。
休眠模式相关寄存器
03h/83h STATUS IRP
RP1
RP0
TO
PD
Z
DC
C
注:蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
16 / 32
BL21P01
看门狗定时器(WDT)
WDT 器件内部独立的振荡器,即便是 SLEEP 模式下主系统时钟停止振荡,WDT 仍在运行。在正常
模式下,WDT 溢出会导致看门狗溢出并产生 WDT 复位在 SLEEP 模式下, 看门狗溢出将器件从
SLEEP 模式下唤醒,执行正常的操作模式。 看门狗定时器,可通过 OPTION 寄存器的 WDTE 位来
开启或关闭。
WDT 超时溢出周期的标称值为 18 ms(无预分频器)。如果需要更长的超时溢出周期,可通过
写入 OPTION 寄存器将分频比最高可达 1:128 的预分频器分配给用软件控制的 WDT。因此,可
实现最长 2.3 秒的超时溢出周期。如果将预分频器分配给 WDT,CLRWDT 和 SLEEP 指令会清零
WDT 和预分频器,并防止其超时以及产生器件复位。一旦看门狗定时器超时,STATUS 寄存器中
的 TO 位就会被清零。
WDT 相关寄存器
03h/83h STATUS IRP
81h
OPTION WDTE
RP1
RP0
INTEDG T0CS
TO
T0SE
PD
PSA
Z
PS2
DC
PS1
C
PS0
注:灰色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
17 / 32
BL21P01
系统中断
外部中断
RA 口电平变化中断
Timer 0 和 Timer 2 溢出中断
比较器中断
中断相关寄存器
0Bh/8Bh INTCON GIE
0Ch
PIR1
8Ch
PIE1
-
PEIE
-
T0IE
-
INTE
-
RAIE
-
T0IF
CIF
CIE
INTF
RAIF
TMR2IF TMR2IE -
注:蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
18 / 32
BL21P01
输入/输出口
器件最多可有 12 个可用的通用 I/O 引脚.根据外设的使能情况,部分引脚不能应用于 I/O。
RA 口及操作相关寄的存器
RA 端口上具有以下功能:
I/O, 独立可配置上拉电阻。
端口电平变化中断
RA-数据寄存器
Bit
Name
7
6
5
RA5
R/W
U-0
U-0
R/W-0
4
RA4
R/W-0
3
RA3
R-x
2
RA2
R/W-0
1
RA1
R/W-0
0
RA0
R/W-0
功能描述
未定义
未定义
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
注: RA3 作为 IO 口时,仅有输入功能
TRISA-端口方向寄存器
Bit
Name
R/W
7
U-0
6
U-0
5
TRISA5
R/W-1
4
TRISA4
R/W-1
3
TRISA3
R-1
2
TRISA2
R/W-1
1
TRISA1
R/W-1
0
TRISA0
R/W-1
Shanghai Belling Corp., Ltd.
功能描述
未定义
未定义
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
作为 IO 时,仅有不带上拉的输入功能。
只读, 读出值总为 1.
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
Rev. 1.5
19 / 32
BL21P01
WPUA-上拉寄存器
Bit
Name
7
-
R/W
U-0
功能描述
未定义
6
-
U-0
未定义
5
WPUA5
R/W-1
4
WPUA4
R/W-1
3
2
WPUA2
U-0
R/W-1
1
WPUA1
R/W-1
0
WPUA0
R/W-1
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
未定义
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
IOCA-电平变化中断寄存器
Bit
Name
R/W
7
U-0
6
U-0
5
IOCA5
R/W-0
4
IOCA4
R/W-0
3
IOCA3
R/W-0
2
1
IOCA1
R -0
R/W-0
0
IOCA0
R/W-0
与端口 RA 操作相关的寄存器
05h
PORTA 85h
TRISA
0Bh/8Bh INTCON GIE
PEIE
95h
WPUA 96h
IOCA
-
功能描述
未定义
未定义
1 = 允许电平变化中断
0 = 禁止电平变化中断
1 = 允许电平变化中断
0 = 禁止电平变化中断
1 = 允许电平变化中断
0 = 禁止电平变化中断
未定义
1 = 允许电平变化中断
0 = 禁止电平变化中断
1 = 允许电平变化中断
0 = 禁止电平变化中断
RA5
TRISA5
T0IE
WPUA5
IOCA5
RA4
TRISA4
INTE
WPUA4
IOCA4
RA3
TRISA3
RAIE
IOCA3
RA2
TRISA2
T0IF
WPUA2
RA1
TRISA1
INTF
WPUA1
IOCA1
RA0
TRISA0
RAIF
WPUA0
IOCA0
注: 蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
20 / 32
BL21P01
RC 口及端口操作寄存器
RC-端口数据寄存器
Bit
Name
R/W
7
U-0
6
U-0
5
RC5
R/W-x
4
RC4
R/W-x
3
RC3
R/W-x
2
RC2
R/W-x
1
RC1
R/W-x
0
RC0
R/W-x
TRISC-端口方向寄存器
Bit
Name
R/W
7
U-0
6
U-0
5
TRISC5
R/W-1
4
TRISC4
R/W-1
3
TRISC3
R/W-1
2
TRISC2
R/W-1
1
TRISC1
R/W-1
0
TRISC0
R/W-1
Shanghai Belling Corp., Ltd.
功能描述
未定义
未定义
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
1 = 端口引脚大于 VIH
0 = 端口引脚小于 VIL
功能描述
未定义
未定义
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
1 = 引脚配置为输入(三态)
0 = 引脚配置为输出
Rev. 1.5
21 / 32
BL21P01
WPUC-端口上拉寄存器
Bit
Name
R/W
7
-U-0
6
U-0
5
WPUC5
R/W-1
4
WPUC4
R/W-1
3
WPUC3
R/W-1
2
WPUC2
R/W-1
1
WPUC1
R/W-1
0
WPUC0
R/W-1
与端口 RC 相关的寄存器
07h PORTC 87h TRISC
97h WPUC
-
功能描述
未实现
未实现
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
1 = 上拉使能
0 = 上拉禁止
RC5
RC4
RC3
RC2
RC1
RC0
TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0
WPUC5 WPUC4 WPUC3 WPUC2 WPUC1 WPUC0
注: 蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
22 / 32
BL21P01
8 位定时/计数器 -Timer0
Timer0 模块是 8 位定时/计数器,具有以下特性:
8 位定时器/计数器 (TMR0)
8 位预分频器(与看门狗定时器共用)
可编程的内部或外部时钟源
可编程的外部时钟边沿选择
溢出中断
8 位定时器模式
作为定时器使用时,Timer0 模块将在每个指令周期递增(无预分频器)。 将选项寄存器的 T0CS
选择定时器模式。 如果对 TMR0 执行写操作,则紧跟写操作之后的两个指令周期内 TMR0 禁止递
增。
8 位计数器模式
作为计数器使用时,Timer0 模块将在 T0CKI 引脚的每个上升或下降沿递增。递增边沿由选项寄
存器的 T0SE 位决定。将选项寄存器的 T0CS 位设置为 1 选择计数器模式。
可编程的预分频器
可编程的预分频器可供 Timer0 或看门狗定时器(WDT)使用,但不能同时使用。 预分频器的分配
由选项寄存器的 PSA 位控制。要将预分频器分配给 Timer0, 必须将 PSA 位清零。
Timer0 模块有范围从 1/2 到 1/256 的 8 个与分频比的选项,由选项寄存器 REG_OPTION 的
PS<2:0>位控制,若要实现的 1:1 的预分频比,需将预分频分配给 WDT 使用。
预分频器是不可读写的。当预分频器被分配给 Timer0 模块时,所有写入 TMR0 寄存器的指令都
会将预分频器清零。 将预分频器分配给 WDT 时,CLRWDT 指令会同时将预分频器和 WDT 清零。
TIMER0 中断
TMR0 寄存器从 FFH 溢出到 00H 时,Timer0 将产生中断。 每次 TMR0 寄存器溢出时都会将 INTCON
寄存器的 T0IF 中断标志位置 1,与是否允许了 Timer0 中断无关。T0IF 位必须用软件清零。
与 Timer 0 相关的寄存器
01h
TMR0
0Bh/8Bh INTCON
8Eh
PCON
1Ah
CMCON
81h
OPTION
Timer 0 Register
GIE
PEIE
CON
COUT
WDTE INTEDG
T0IE
COE
T0CS
INTE
CPOL
T0SE
RAIE
PINS1
PSA
T0IF
PINS0
PS2
INTF
POR
nBZE
PS1
RAIF
BOR
BZE
PS0
注: 蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
23 / 32
BL21P01
8 位定时/计数器 -Timer1
Timer1 模块是 8 位定时/计数器,具有以下特性:
8 位 Reload 定时器/计数器寄存器
可选的内部或外部时钟源
预分频器(1/1, 1/4 , 1/16)
后分频器(1:1, 1:2, 1:3, …1:16)
溢出时产生中断
可编程的蜂鸣器输出
Timer1 工作原理
Timer1 模块是带有预分频器和后分频器的 8 位定时/计数器,模块定时/计数器器 TMR1 只读寄
存器,上电或复位后其值为 00h,当 Timer1 启动后 TMR1 从 00H 开始计数,直到计数值和 RP 寄
存器的值相匹配后,TMR1 值复位到 00h,并产生一个溢出信后给后分频器,经分频后置位 T1IF,
若中断允许则可产生 Timer1 中断。与内部时钟源配合使用时该模块为定时器, CLK 可通过预
分频器进行 1:1,1:4 或 1:16 的分频。
蜂鸣器输出:
若蜂鸣器输出使能位 BZE 置 1,Timer1 计满溢出频率经 2 分频后从 BZ 口输出。
若 BZE=1,nBZE 置 1,则 BZ 经反向后通过 nBZ 输出。
Timer 1 控制寄存器-T1CON
Bit
7
Name
-
6:3
TOUTPS<6:3> R/W-0
2
TMR1ON
1:0
T1CKPS<1:0> R/W-0
功能描述
未定义
R/W
U-0
0000 = 1:1 后分频
0001 = 1:2 后分频
0010= 1:3 后分频
…
1110 = 1:15 后分频
1111 = 1:16 后分频
1 = Timer 1 使能
0 = Timer 1 关闭
00 = 1:1 预分频
01 = 1:4 预分频
1x = 1:16 预分频
R/W-0
与 Timer 1 相关的寄存器
0Bh/8Bh INTCON
0Ch
PIR1
8Ch
PIE1
11h
TMR1
12h
T1CON
92h
PR
1Ah
CMCON
GIE
-
PEIE
-
-
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR1ON T1CKPS1 T1CKPS0
CON
COUT
T0IE
-
COE
INTE
-
CPOL
RAIE
-
PINS1
T0IF
CIF
CIE
PINS0
INTF
RAIF
TMR1IF TMR1IE -
nBZE
BZE
注: 蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
24 / 32
BL21P01
PWM
PWMOUT 控制引脚输出 PWM 波形。FSx 标志位控制 PWM 输出的阶数(256 、64、32 和 16)。8
位计数器 TMR1 计数过程中不断与 PR 相比较,当 TMR1 计数到两者相等时,PWM 输出低电平,
TMR1 继续向上计数,直至计满设置的计数量程。当 TMR1 再次从零开始计数时,PWM 被强制输
出高电平。PWM 输出占空比 = PR/计数量程(计数量程 = 256、64、32 或 16)。 参考寄存器
保持输入 00H 可使 PWM 的输出长时间维持在低电平,通过修改 PR 可改变 PWM 输出占空比。
PWM 控制寄存器-PWMCON
Bit
7:4
Name
-
R/W
U-0
功能描述
未定义
3:1
FS2:FS0
R/W-0
0
PWMON
R/W-0
0xx = 计数量程 00~FF
100 = 计数量程 00~7F
101 = 计数量程 00~3F
110 = 计数量程 00~1F
111 = 计数量程 00~0F
0 = 关闭 PWM 输出
1 = 使能 PWM 输出
PWM 输出阶数及占空比
FS2
0
1
1
1
1
FS1
x
0
0
1
1
PWM 占空比范围
0/256 – 255/256
0/256 - 127/256
0/64 - 63/64
0/32 - 31/32
0/16 – 15/16
FS0
x
0
1
0
1
TMR1 有效值
00-FF
00-7F
00-3F
00-1F
00-0F
PR 有效值
00-FF
00-7F
00-3F
00-1F
00-0F
注释
与 PWM 相关的寄存器
11h
12h
92h
93h
TMR1
T1CON
PR
PWMCON -
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR1ON T1CKPS1 T1CKPS0
-
-
-
FS2
FS1
FS0
PWMON
注: 蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
25 / 32
BL21P01
比较器
比较器具有以下特性:
比较结果输出及极性可选
比较器中断
比较器控制寄存器- CMCON
Bit
7
Name
CON
R/W
U-0
6
COUT
R-0
5
COE
R/W-0
4
CPOL
R/W-0
3
PNS1
R/W-0
2
PNS0
R/W-0
1
nBZE
R/W-0
0
BZE
R/W-0
功能描述
1= 比较器使能
0= 比较器禁止
CPOL=1
CPOL=0
CVIN+>CVIN-, COUT=0
CVIN+>CVIN-, COUT=1
CVIN+<CVIN-, COUT=1
CVIN+<CVIN-, COUT=0
1= COUT 出现在 COUT 引脚上
0= COUT 仅在内部有效
1 = COUT 逻辑相反
0 = COUT 逻辑不相反
1 = CIN+ CIN- Cout 与 RC 口复用
0 = CIN+ CIN- Cout 与 RA 口复用
1 = T0CKI 与 RC3 引脚复用
0 = T0CKI 与 RA2 复用.
1 = 若 BZE 使能,蜂鸣器反向输出。
0 = 非蜂鸣反向输出.
1 = 使能蜂鸣器输出
0 = 禁止蜂鸣器输出
注:
1.当比较器使能时,需要通过 TRISA 将 RA0 RA1 设为输入,此时 RA0 RA1 为模拟输入口.
与比较器相关的寄存器
0Bh/8Bh
0Ch
8Ch
1Ah
INTCON GIE
PIR1
PIE1
CMCON CON
PEIE
T0IE
INTE
RAIE
T0IF
INTF
RAIF
-
-
-
-
CIF
TMR1IF
-
-
-
-
-
CIE
TMR1IE
-
COUT
COE
CPOL
PINS1
PINS0
nBZE
BZE
注: 蓝色为模块相关的寄存器位
Shanghai Belling Corp., Ltd.
Rev. 1.5
26 / 32
BL21P01
配置位
通过对配置编程(读为 0)或不编程(读为 1)来选择不同的器件配置, 如配置寄存器所示。
这些位映射到程序存储单元的 2007H 中。
配置字寄存器-CONFIGURATION
Bit
13
12
Name
-XCTYPE
11
PWRON-TM
10
IOSCFS
9:7
BOREN<2:0>
6
CP
5
MCLRE
4
3
---
2:0
FOSC<2:0>
Shanghai Belling Corp., Ltd.
描述
保留。
外部晶振类型选择
1 = Type1
0 = Type0
POR/BOR 延时器
1 = 延时 72ms
0 = 延时 5ms
内部时钟选择位
1 = 4MHz
0 = 2MHz
欠压复位选择位
1xx = 禁止 BOR
011 = 使能 BOR=2.1V
010 = 正常工作时使能 BOR=2.1V,休眠禁止 BOR
001 = 使能 BOR=3.6V
000 = 正常工作时使能 BOR=3.6V, 休眠时禁止 BOR
1 = 禁止程序存储器代码保护
0 = 使能程序存储器代码保护
1 = MCLR 引脚为 MCLR
0 = MCLR 引脚为数字输入,MCLR 内部连接到 VDD
保留。
保留。
0xx = 振荡选项为外部晶振
1xx = 振荡选项为内部 RC
Rev. 1.5
27 / 32
BL21P01
电气参数
极限值
参 数
电源电压
输入电压
输出电压
正常电压引 灌电流
脚
总灌电流
拉电流
总拉电流
总功率消耗
储存温度
符号
VDD
VI
Vo
IOH
ΣIOH
IOL
ΣIOL
PT
TSTG
极限值
-0.3 ~ +6.5
-0.3~VDD+0.3
-0.3 ~ VDD+0.3
-6
20
600
-65 ~ +150
单位
V
V
V
mA
mA
mA
mA
mW
备 注
相对于 VSS,任何引脚电压
每个 I/O
所有 I/O
每个 I/O
所有 I/O
端口最大的灌电流
汇总灌电流
端口最大拉电流
汇总拉电流
℃
推荐操作参数
参数
工作电压
符号
VDD
工作频率
FSYS
工作温度
TOPR
测试条件
最小值
2.0
3.92
1.96
-40
VDD = 3.3V ~ 5.5V
VDD = 2.4V ~ 3.3V
VDD = 2.4V ~ 5.5V
典型值
-
4
2
-
最大值
5.5
4.08
2.04
85
单位
V
MHz
MHz
℃
直流特性
符号
特性
静态电流
输入低电压
输入高电压
最小值
2.0
3.3
0.7VDD
典型值
1.0
-
最大值
5.5
5.5
0.6
2
2.0
0.4VDD
-
单位
V
V
mA
mA
uA
V
V
Vdd
工作电压
Idd
工作电流
Isb
VIL
VIH
IIL
输入漏电流
50
56
60
uA
Rup
输入上拉电阻
80
94
100
KΩ
VOL
VOH
输出低电压
输出高电压
VDD-0.5 -
0.25
-
V
V
Shanghai Belling Corp., Ltd.
Rev. 1.5
条件
Fsys =2MHz
Fsys =4MHz
VDD =3V, IRC @2MHz
VDD =5V, IRC @4MHz
VDD =5V
VDD =5V. Vin=0,
内部上拉电阻使能
VDD =5V. Vin=0,
内部上拉电阻使能
VDD =5V. ILoad=10mA
VDD =5V. ILoad=6mA
28 / 32
BL21P01
交流特性
符号
特性
Fosc
外部振荡频率
TCY
指令周期
FIRC
内部振荡频率
TMCL
复位脉冲宽度
2
TCY
TWDT
WDT 超时周期
18
ms
Shanghai Belling Corp., Ltd.
最小值
典型值
最大值
0.455
4
0.455
2
单位
MHz
1
条件
VDD = 3.3V ~ 5.5V
VDD = 2.0~5.5V
Tosc
3.92
4
4.08
1.96
2
2.04
Rev. 1.5
MHz
VDD = 3.3~5.5V
VDD = 2.0~5.5V
29 / 32
BL21P01
指令集
针对字节的文件寄存器操作指令
Mnemonic,
operands
ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
INCF
INCFSZ
IORWF
MOVF
MOVWF
Opcode
Status
f,d
Add W and F
00 0111 DFFF FFFF
C,DC,Z
1
d
Add W and (FSR)
00 0111 D000 0000
C,DC,Z
2
f,d
AND W and F
00 0101 DFFF FFFF
Z
1
d
AND W and (FSR)
00 0101 D000 0000
Z
2
f
Clear f
00 0001 1FFF FFFF
Z
1
Clear (FSR)
00 0001 1000 0000
Z
2
-
Clear W
00 0001 0000 0011
Z
1
f,d
Complement f
00 1001 DFFF FFFF
Z
1
d
Complement (FSR)
00 1001 D000 0000
Z
2
f,d
Decrement f
00 0011 DFFF FFFF
Z
1
d
Decrement (FSR)
00 0011 D000 0000
Z
2
f,d
Decrement f, Skip if 0
00 1011 DFFF FFFF
-
1
d
Decrement (FSR), Skip if 0
00 1011 D000 0000
-
2
f,d,
Increment f
00 1010 DFFF FFFF
Z
1
d,
Increment (FSR)
00 1010 D000 0000
Z
2
f,d
Increment f, Skip if 0
00 1111 DFFF FFFF
-
1
d
Increment (FSR), Skip if 0
00 1111 D000 0000
-
2
f,d
Inclusive OR W with f
00 0100 DFFF FFFF
Z
1
d
Inclusive OR W with (FSR)
00 0100 D000 0000
Z
2
f,d
Move f
00 1000 DFFF FFFF
Z
1
d
Move (FSR)
00 1000 D000 0000
Z
1
f
Move W to f
00 0000 1FFF FFFF
-
1
Move W to (FSR)
00 0000 1000 0000
-
2
No Operation
00 0000 0XX0 0000
-
1
f,d
Rotate Left f through Carry
00 1101 DFFF FFFF
C
1
d
Rotate Left (FSR) through Carry
00 1101 D000 0000
C
2
f,d
Rotate Right f through Carry
00 1100 DFFF FFFF
C
1
d
Rotate Right (FSR) through Carry
00 1100 D000 0000
C
2
f,d
Subtract W form f
00 0010 DFFF FFFF
C, DC, Z
1
d
Subtract W form (FSR)
00 0010 D000 0000
C, DC, Z
2
f,d
Swap nibbles in f
00 1110 DFFF FFFF
-
1
d
Swap nibbles in (FSR)
00 1110 D000 0000
-
2
f,d
Exclusive OR W with f
00 0110 DFFF FFFF
Z
1
d
Exclusive OR W with (FSR)
00 0110 D000 0000
Z
2
NOP
RLF
RRF
SUBWF
SWAPF
XORWF
Cycles
Description
Shanghai Belling Corp., Ltd.
Rev. 1.5
30 / 32
BL21P01
针对位的文件寄存器操作指令
Mnemonic, operands Description
Opcode
Status
Cycles
f,b
BCF b
Bit Clear f
01 00BB BFFF FFFF
-
1
Bit Clear (FSR)
01 00BB B000 0000
-
2
f,b
BSF b
Bit set f
01 01BB BFFF FFFF
-
1
Bit set f
01 01BB B000 0000
-
2
f,b
BTFSC b
Bit Clear f, Skip if Clear
01 10BB BFFF FFFF
-
1
Bit Clear f, Skip if Clear
01 10BB B000 0000
-
2
f,b
BTFSS b
Bit Set f, Skip if Set
01 11BB BFFF FFFF
-
1
Bit Set f, Skip if Set
01 11BB B000 0000
-
2
Mnemonic, operands Description
Opcode
Status
Cycles
ADDLW
imm
Add literal and W
11 111X IIII IIII
C, DC, Z
1
ANDLW
imm
AND literal with W
11 1001 IIII IIII
Z
1
CALL
imm
Call subroutine
10 0III IIII IIII
-
2
CLRWDT
-
Clear Watchdog Timer
00 0000 0110 0100
TO, PD
1
GOTO
imm
Go to address
10 1III IIII IIII
-
2
IORLW
imm
Inclusive OR literal with W
11 1000 IIII IIII
Z
1
MOVLW
imm
Move literal to W
11 00XX IIII IIII
-
1
RETFIE
-
Return from Interrupt
00 0000 0000 1001
-
2
RETLW
imm
Return with literal in W
11 01XX IIII IIII
-
2
RETURN
-
Return from Subroutine
00 0000 0000 1000
-
2
SLEEP
-
Go into standby mode
00 0000 0110 0011
TO, PD
-
SUBLW
imm
Subtract W from literal
11 110X IIII IIII
C, DC, Z
1
XORLW
imm
Exclusive OR literal with W
11 1010 IIII IIII
Z
1
立即数和控制操作指令
Shanghai Belling Corp., Ltd.
Rev. 1.5
31 / 32
BL21P01
上海贝岭股份有限公司
http://www.belling.com.cn Email: [email protected]
公司总部/华东办事处
上海市宜山路 810 号,邮编:200233
电话:(021)2426-1000,传真:(021)6485-2222
华北办事处
北京市西城区新华里 16 号院(锦官苑小区)10 号楼 1 单元 1505 室,邮编:100044
电话: (010)6417-9374, 传真:(010)8835-9236
华南办事处
深圳市福田中心区民田路新华保险大厦 1510 室,邮编:518026
电话:(0755)3333-6777,,传真:(0755)3333-6788
出口部
上海市宜山路 810 号,邮编:200233
电话:(021)6495-8137,传真:(021)6485-2222
Shanghai Belling Corp., Ltd.
Rev. 1.5
32 / 32