中文

BL6531/BL6536 电能表专用 MCU 芯片
BL6531/6536 用户手册
V1.2.1
版本号
修改日期
修改内容
V0.1
2013-11-25
初稿
Nick
V0.2
2013-12-03
对初稿问题进行修改
Nick
V1.0
2013-12-10
可对外发布版本
Nick
V1.1
2014-02-25
增加 BL6536 相关内容
Nick
V1.2
2014-05-06
1.增加交流电气特性;2.更新 GPIO 端口、LCD 显示驱动、时钟管理等
Austin
V1.2.1
2014-05-07
修订了管脚图,序号等 bug。
Austin
1/158
v1.2
修改人
BL6531/BL6536 电能表专用 MCU 芯片
目录
1.
概述 .................................................................................................................................. 9
1.1 产品概述.................................................................................................................................... 9
1.2 结构框图.................................................................................................................................. 10
1.3 管脚定义.................................................................................................................................. 11
1.4 封装形式................................................................................................................................. 13
2.
CPU 结构 ......................................................................................................................... 15
2.1 R8051XC2 内核概述 ................................................................................................................ 15
2.2 存储空间.................................................................................................................................. 15
2.3 指令集...................................................................................................................................... 16
2.4 CPU 特殊功能寄存器说明 ...................................................................................................... 21
3.
存储单元 ......................................................................................................................... 24
3.1 概述.......................................................................................................................................... 24
3.2 Flash 特性 ................................................................................................................................ 24
3.3 存储器映射 ............................................................................................................................. 24
3.4 FLASH 的操作........................................................................................................................... 25
3.5 FlASH 操作特殊功能寄存器 .................................................................................................... 28
4.
中断系统 ......................................................................................................................... 31
4.1 概述.......................................................................................................................................... 31
4.2 中断列表.................................................................................................................................. 31
4.3 中断优先级 .............................................................................................................................. 32
4.4 特殊功能寄存器 ...................................................................................................................... 32
4.5 中断处理.................................................................................................................................. 38
5.
时钟管理 ......................................................................................................................... 39
5.1 概述.......................................................................................................................................... 39
5.2 晶体振荡器 .............................................................................................................................. 40
5.3 片内 RC 振荡器 ....................................................................................................................... 40
5.4 PLL 振荡器 ............................................................................................................................... 40
5.5 时钟控制寄存器 ...................................................................................................................... 41
6.
GPIO 端口 ....................................................................................................................... 44
6.1 概述.......................................................................................................................................... 44
6.2 GPIO 结构框图......................................................................................................................... 46
6.3 GPIO 配置寄存器..................................................................................................................... 46
7.
定时器............................................................................................................................. 49
2/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
7.1 概述.......................................................................................................................................... 49
7.2 定时器工作模式 ...................................................................................................................... 49
7.3 定时器 0................................................................................................................................... 50
7.4 定时器 1................................................................................................................................... 52
7.5 定时器 2................................................................................................................................... 53
7.6 定时器 3 和定时器 4 ............................................................................................................... 55
7.7 定时器配置寄存器 ................................................................................................................. 55
8.
UART 接口 ....................................................................................................................... 65
8.1 概述.......................................................................................................................................... 65
8.2 UART0 接口 .............................................................................................................................. 65
8.3 UART1 接口 .............................................................................................................................. 68
8.4 UART2 和 UART3 接口 ............................................................................................................. 70
8.5 红外载波调制 .......................................................................................................................... 70
8.6 极性自适应 .............................................................................................................................. 70
8.7 UART 配置寄存器 .................................................................................................................... 70
9.
SPI 接口 ........................................................................................................................... 79
9.1 概述.......................................................................................................................................... 79
9.2 模块框图.................................................................................................................................. 79
9.3 功能描述.................................................................................................................................. 80
9.4 SPI 接口配置寄存器 ................................................................................................................ 83
10.
I2C 接口 .......................................................................................................................... 86
10.1 概述........................................................................................................................................ 86
10.2 结构框图................................................................................................................................ 86
10.3 功能描述................................................................................................................................ 86
10.4 I2C 接口配置寄存器 .............................................................................................................. 92
11.
7816 接口 ........................................................................................................................ 96
11.1 概述........................................................................................................................................ 96
11.2 结构框图................................................................................................................................ 97
11.3 接口时序................................................................................................................................ 97
11.4 工作流程................................................................................................................................ 99
11.5 中断说明.............................................................................................................................. 101
11.6 7816 接口配置寄存器 ......................................................................................................... 101
12.
实时时钟(RTC) ......................................................................................................... 113
12.1 概述...................................................................................................................................... 113
12.2 结构框图.............................................................................................................................. 114
12.3 功能说明.............................................................................................................................. 114
12.4 实时时钟配置寄存器 .......................................................................................................... 115
13.
LCD 显示驱动 ................................................................................................................ 124
13.1 概述...................................................................................................................................... 124
13.2 结构框图.............................................................................................................................. 124
3/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
13.3 模拟驱动.............................................................................................................................. 124
13.4 功能说明.............................................................................................................................. 125
13.5 显示驱动配置寄存器 .......................................................................................................... 126
14.
模数转换器(ADC) ..................................................................................................... 139
14.1 概述...................................................................................................................................... 139
14.2 结构框图.............................................................................................................................. 139
14.3 功能说明.............................................................................................................................. 139
14.4 ADC 配置寄存器 .................................................................................................................. 139
15.
温度传感器 ................................................................................................................... 141
15.1 概述...................................................................................................................................... 141
15.2 温度传感器配置寄存器 ...................................................................................................... 141
16.
电压比较器 ................................................................................................................... 143
16.1 概述...................................................................................................................................... 143
16.2 比较器配置寄存器 .............................................................................................................. 143
17.
看门狗及系统复位........................................................................................................ 147
17.1 概述...................................................................................................................................... 147
17.2 功能说明 .............................................................................................................................. 147
17.3 看门狗及复位配置寄存器 .................................................................................................. 147
18.
低功耗模式 ................................................................................................................... 149
18.1 概述...................................................................................................................................... 149
18.2 功能说明.............................................................................................................................. 149
18.3 掉电模式配置寄存器 .......................................................................................................... 149
19.
JTAG 调试 ...................................................................................................................... 152
19.1 概述...................................................................................................................................... 152
19.2 功能说明.............................................................................................................................. 152
20.
电气特性 ....................................................................................................................... 153
20.1 极限参数.............................................................................................................................. 153
20.2 直流电气特性 ...................................................................................................................... 153
20.3 交流电气特性 ...................................................................................................................... 153
21.
使用上的注意事项........................................................................................................ 158
4/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表目录
表 2- 1 指令集列表符号说明 ................................................................................................ 16
表 2- 2 指令集 ........................................................................................................................ 17
表 3- 1 FLASH 操作控制相关寄存器表 ............................................................................... 28
表 3- 2 MCON 寄存器 ........................................................................................................... 29
表 3- 3 PCON 寄存器............................................................................................................. 29
表 3- 4 PAGESEL 寄存器 ...................................................................................................... 30
表 4- 1 BL6531 中断系统 ...................................................................................................... 31
表 4- 2 中断组优先级控制表 ................................................................................................ 32
表 4- 3 中断优先级表 ............................................................................................................ 32
表 4- 4 中断系统寄存器列表 ................................................................................................ 32
表 4- 5 IEN0 中断使能寄存器 0(A8H) ............................................................................ 33
表 4- 6 IEN1 中断使能寄存器 1(B8H) ............................................................................ 33
表 4- 7 IEN2 中断使能寄存器 2(9AH) ............................................................................ 34
表 4- 8 IEN4 中断使能寄存器 4(D1H) ............................................................................ 35
表 4- 9 中断标志寄存器 IRCON(C0H)............................................................................ 36
表 4- 10 中断标志寄存器 IRCON2(BFH) ....................................................................... 37
表 4- 11 IP0 优先级控制寄存器 0(A9H) ......................................................................... 37
表 4- 12 IP1 优先级控制寄存器 1(B9H) ......................................................................... 38
表 5- 1 时钟控制寄存器列表 ................................................................................................ 41
表 5- 2 时钟设置写保护寄存器 ............................................................................................ 41
表 5- 3 时钟设置寄存器 ........................................................................................................ 41
表 5- 4 时钟选择寄存器 ........................................................................................................ 41
表 5- 5 PLL 分频寄存器 ........................................................................................................ 42
表 5- 6 时钟状态寄存器 ........................................................................................................ 42
表 6- 1 GPIO 控制寄存器列表 .............................................................................................. 46
表 6- 2 GPIO 端口配置寄存器 .............................................................................................. 47
表 6- 3 GPIO 端口寄存器 ...................................................................................................... 47
表 6- 4 GPIO4 中断使能寄存器 ............................................................................................ 48
表 6- 5 GPIO4 中断标志寄存器 ............................................................................................ 48
表 7- 1 定时器控制寄存器列表 ............................................................................................ 55
表 7- 2 定时器 0、定时器 1 控制寄存器(TCON 0x88H) .................................................... 56
表 7- 3 定时器 0、定时器 1 模式寄存器(TMOD 0x89H) ................................................... 56
表 7- 4 定时器 1 计数器高 8 位(TH1) ............................................................................. 57
表 7- 5 定时器 1 计数器低 8 位(8BH,TL1) ..................................................................... 57
表 7- 6 定时器 0 计数器高 8 位(8CH,TH0) .......................................................................... 58
表 7- 7 定时器 0 计数器低 8 位(8AH,TL0) ..................................................................... 58
表 7- 8 定时器 2 控制寄存器(T2CON 0xC8H) .................................................................... 58
表 7- 9 定时器 2 计数器高 8 位(0CDH,TH2) .................................................................. 59
表 7- 10 定时器 2 计数器低 8 位(0CCH,TL2) ................................................................ 59
表 7- 11 定时器 2 比较/捕获功能配置寄存器(0xC1,CCEN) ...................................... 59
表 7- 12 定时器 2 的 CRC 高 8 位寄存器(CBH,CRCH) ................................................... 60
5/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 7- 13 定时器 2 的 CRC 低 8 位寄存器(CAH,CRCL) ................................................... 60
表 7- 14 定时器 2 的 CC1 高 8 位寄存器(C2H,CC1H) ..................................................... 60
表 7- 15 定时器 2 的 CC1 低 8 位寄存器(C3H,CC1L) ..................................................... 61
表 7- 16 定时器 2 的 CC2 高 8 位寄存器(C4H,CC2H) ..................................................... 61
表 7- 17 定时器 2 的 CC2 低 8 位寄存器(C5H,CC2L) ..................................................... 61
表 7- 18 定时器 2 的 CC3 高 8 位寄存器(C6H,CC3H) ..................................................... 61
表 7- 19 定时器 2 的 CC3 低 8 位寄存器(C7H,CC3L) ..................................................... 61
表 7- 20 定时器 3 控制寄存器(T3CON 0x91H) ................................................................... 62
表 7- 21 定时器 3 计数器高 8 位(TH3) ........................................................................... 62
表 7- 22 定时器 3 计数器低 8 位(TL3) ............................................................................ 62
表 7- 23 定时器 4 控制寄存器(T4CON 0x9EH) ................................................................... 63
表 7- 24 定时器 4 计数器高 8 位(TH4) ........................................................................... 63
表 7- 25 定时器 4 计数器低 8 位(9FH,TL4).................................................................... 64
表 8- 1 UART 配置寄存器列表 ............................................................................................. 70
表 8- 2 串口0 控制寄存器(S0CON 98H).............................................................................. 71
表 8- 3 串口0 缓冲寄存器(S0BUF 99H) .............................................................................. 72
表 8- 4 串口1 控制寄存器(S1CON 9BH) ............................................................................. 72
表 8- 5 串口1 缓冲寄存器(S1BUF 9CH).............................................................................. 73
表 8- 6 PControl Rigister(PCON 87H) ................................................................................... 73
表 8- 7 AD Control Rigister(ADCON D8H)........................................................................... 73
表 8- 8 串口0 波特率重载寄存器(S0RELL ,AAH) ........................................................ 73
表 8- 9 串口0 波特率重载寄存器(S0RELH ,BAH) ....................................................... 73
表 8- 10 串口1 波特率重载寄存器(S1RELL ,9DH)........................................................ 74
表 8- 11 串口 1 波特率重载寄存器(S1RELH ,BBH) ..................................................... 74
表 8- 12 串口 2 控制寄存器(S2CON B7H) .......................................................................... 74
表 8- 13 串口2 波特率重载寄存器(S2RELL ,BCH) ...................................................... 75
表 8- 14 串口 2 波特率重载寄存器(S2RELH ,BDH) ..................................................... 75
表 8- 15 串口2 缓冲寄存器(S2BUF BEH) ........................................................................... 75
表 8- 16 串口 3 控制寄存器(S3CON E5H) ........................................................................... 75
表 8- 17 串口3 波特率重载寄存器(S3RELL ,E6H) ....................................................... 76
表 8- 18 串口 3 波特率重载寄存器(S3RELH ,E7H)....................................................... 76
表 8- 19 串口3 缓冲寄存器(S3BUF E8H) ............................................................................ 77
表 8- 20 串口 1 极性控制寄存器(S1POL ABH).................................................................... 77
表 8- 21 串口奇偶校验控制寄存器(SPAR ACH) .................................................................. 77
表 8- 22 串口奇偶校验控制寄存器(SPAREER ADH) .......................................................... 78
表 9- 1 SPI 配置寄存器列表 .................................................................................................. 83
表 9- 2 SPI 控制寄存器SPCON (E2H) ................................................................................. 83
表 9- 3 SPI 状态寄存器SPSTA(E1H) .............................................................................. 84
表 9- 4 SPI 数据寄存器SPDAT(E3H) .............................................................................. 85
表 9- 5 SPI 从机选择寄存器SPSSN (E4H) .................................................................... 85
表 10- 1 I2C 接口配置寄存器 ............................................................................................... 92
表 10- 2 I2C DAT I2C 数据寄存器(DAH) ......................................................................... 92
表 10- 3 I2CADR I2C 地址寄存器(DBH) ..................................................................... 92
表 10- 4 I2CCON I2C 控制寄存器(DCH) ...................................................................... 93
6/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 10- 5 I2CSTA I2C 状态寄存器(DDH) ...................................................................... 94
表 10- 6 I2C2DAT I2C2 数据寄存器(D2H) .................................................................... 94
表 10- 7 I2C2ADR I2C2 地址寄存器(D3H) .................................................................... 95
表 10- 8 I2C2CON I2C2 控制寄存器(D4H) ..................................................................... 95
表 10- 9 I2C2STA I2C2 状态寄存器(D5H) ................................................................. 95
表 11- 1 7816A 寄存器表..................................................................................................... 102
表 11- 2 7816B 寄存器表 ..................................................................................................... 102
表 11- 3 7816 数据发送缓冲寄存器.................................................................................... 102
表 11- 4 7816 数据接收缓冲寄存器.................................................................................... 103
表 11- 5 7816 端口控制寄存器............................................................................................ 103
表 11- 6 7816 时钟分频控制寄存器.................................................................................... 104
表 11- 7 7816ETU 控制寄存器 ............................................................................................ 104
表 11- 8 7816 帧格式控制寄存器 0..................................................................................... 106
表 11- 9 7816 帧格式控制寄存器 1..................................................................................... 107
表 11- 10 7816EGT 配置寄存器 .......................................................................................... 109
表 11- 11 7816 中断使能寄存器 .......................................................................................... 109
表 11- 12 7816 中断指示寄存器.......................................................................................... 110
表 11- 13 7816 状态寄存器.................................................................................................. 112
表 12- 1 实时时钟控制寄存器 ............................................................................................ 115
表 12- 2 秒寄存器 ................................................................................................................ 115
表 12- 3 分寄存器 ................................................................................................................ 115
表 12- 4 小时寄存器 ............................................................................................................ 115
表 12- 5 日寄存器 ................................................................................................................ 116
表 12- 6 星期寄存器 ............................................................................................................ 116
表 12- 7 月寄存器 ................................................................................................................ 116
表 12- 8 年寄存器 ................................................................................................................ 116
表 12- 9 定时器 0 寄存器 .................................................................................................... 117
表 12- 10 定时器 1 寄存器 .................................................................................................. 117
表 12- 11 定时器设置寄存器............................................................................................... 117
表 12- 12 闹钟秒寄存器 ...................................................................................................... 118
表 12- 13 闹钟分钟寄存器 .................................................................................................. 118
表 12- 14 闹钟小时寄存器 .................................................................................................. 119
表 12- 15 中断使能寄存器 .................................................................................................. 119
表 12- 16 实时时钟中断标志寄存器 .................................................................................. 120
表 12- 17 实时时钟设置寄存器 .......................................................................................... 120
表 12- 18 实时时钟β 参数寄存器 ...................................................................................... 121
表 12- 19 实时时钟 T0 参数寄存器 .................................................................................... 121
表 12- 20 实时时钟 S0 参数低 8 位寄存器......................................................................... 122
表 12- 21 实时时钟 S0 参数高 1 位寄存器......................................................................... 122
表 12- 22 温度传感器使能定时器寄存器........................................................................... 122
表 13- 1 显示控制寄存器 .................................................................................................... 126
表 13- 2 显示设置寄存器 .................................................................................................... 126
表 13- 3 显示驱动设置寄存器 ............................................................................................ 127
表 13- 4 显示闪烁控制寄存器 ............................................................................................ 128
7/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 13- 5 显示数据寄存器 .................................................................................................... 128
表 13- 6 4COM 的显示数据寄存器组合 ............................................................................ 129
表 13- 7 6COM 的显示数据寄存器组合 ............................................................................ 131
表 13- 8 8COM 的显示数据寄存器组合 ............................................................................ 133
表 13- 9 LED 的显示数据寄存器组合 ................................................................................ 135
表 14- 1 ADC 控制状态寄存器 ........................................................................................... 139
表 14- 2 ADC 测量结果寄存器 ........................................................................................... 140
表 14- 3 ADC 测量结果寄存器 ........................................................................................... 140
表 15- 1 温度传感器结果高位寄存器 ................................................................................ 141
表 15- 2 温度传感器结果低位寄存器 ................................................................................ 141
表 15- 3 温度传感器控制寄存器 ........................................................................................ 141
表 16- 1 比较器中断使能寄存器 ........................................................................................ 143
表 16- 2 比较器中断标志寄存器 ........................................................................................ 143
表 16- 3 5V 电源比较器阈值配置寄存器........................................................................... 144
表 16- 4 比较器中断控制寄存器 ........................................................................................ 144
表 16- 5 比较器配置寄存器 ................................................................................................ 145
表 16- 6 比较器结果寄存器 ................................................................................................ 146
表 17- 1 看门狗 1 重装载寄存器 ........................................................................................ 147
表 17- 2 复位寄存器 ............................................................................................................ 147
表 18- 1 节电模式配置寄存器 ............................................................................................ 149
表 18- 2 节电模式控制寄存器 ............................................................................................ 150
表 18- 3 节电模式写保护寄存器 ........................................................................................ 150
表 18- 4 唤醒配置寄存器 .................................................................................................... 151
表 18- 5 节电模式时钟配置寄存器 .................................................................................... 151
8/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
1. 概述
1.1 产品概述
BL6531/6536 是一颗高性能 8 位 MCU 芯片,芯片采用增强型的 R8051XC2 内核,内部
集成大容量 FLASH 存储器、LCD 显示驱动、自动温补的高精度 RTC、UART 接口、IIC 接
口、SPI 接口、硬件 7816 接口等。BL6531 和 BL6536 的区别在于 BL6536 的晶体内置。

增强型 R8051XC2 内核,具有 1 振荡周期/指令周期,比传统 12 振荡周期/指令周期的
8051 内核,指令执行更加高效。同时,该内核保留了标准 8051 内核的大部分特性,使
用方便,运行稳定可靠。

集成高频 PLL 电路和低频时钟晶体振荡电路,为系统提供两类工作频率:高频
(14.7456MHZ、7.3728 MHZ、3.6864 MHZ、1.8432 MHZ)和低频(32.768KHZ)
。

集成丰富的存储器资源,包括 96K 的 FLASH 程序存储器、256 字节内部数据寄存器、
4K 字节外部数据寄存器和 32K 字节的 FLASH 外部数据存储器。

具有 59 个 GPIO 接口,分为 8 组,分别为 GPIO0-GPIO7。其中,GPIO4.0-GPIO4.7 可
实现外部输入中断。

具有 19 个中断,支持 4 级中断优先级。

具有 5 个 16 位定时器,分别为 TIMER0- TIMER4。

具有 4 个 UART 接口,分别为 UART0-UART3。所有 UART 接口都具有硬件奇偶校验
的功能,其中,UART0、UART1 支持红外调制输出,UART1 支持通信极性自适应。

具有 1 个 SPI 接口,SPI 通信速率可配置,最大支持 500KHZ,同时也支持光耦通信时
小于 10KHZ 的低速率。

具有 2 个 IIC 接口,IIC 通信速率可配置。

具有 2 个 7816 接口,符合 ISO/IEC 7816 通讯协议。

集成高精度 RTC 和温度传感器,可自动实现温度补偿,其中 BL6536 无需外接晶体。

集成 LCD 驱动,最大可支持 4COM*40SEG、6COM*30SEG、8COM*28SEG。

集成 1 个 4 通道的 12 位 ADC,可实现电池电压检测。

集成 3 个电源电压比较器,可实现掉电检测。

集成的 2 个硬件看门狗电路,其中 1 个看门狗上电自动打开,默认刷新时间为 1.8s,不
能关闭。

支持 SLEEP 和 STOP 两种低功耗模式,SLEEP 模式下,芯片功耗可以降低到 10uA,
STOP 模式,芯片功耗可降低到 6uA。

芯片的工作电压范围为 2.2V-5.5V。

芯片可通过 JTAG 模块实现在线调试和在线编程,支持断点调试。
9/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
1.2 结构框图
Digital Module
PMU
Analog Module
RMU
POR
PWR_DET
PDR
PMU_
BAT_DET
ANA
MLDO
LPLDO
CMU_ANA
CMU
SPI
IIC
1K NVR
Flash
8051
3840B
XRAM
RTC
LCDC
Memory BUS
MEMC
128K
Flash
LCD_DVR
WDT
TIMER0,1,2
,3,4
UART0,1,2,3
TSensor
GPIO
7816SCI0,1
IFRD
图 1-1 系统框图
10/158
v1.2
XT_OSC RC_OSC
SFR BUS
OCDS
256B
IRAM
TSensor_
ADC
PLL
BL6531/BL6536 电能表专用 MCU 芯片
GPIO1.4/7816_CLKA
GPIO1.5/7816_OA
GPIO3.3/SEG27
GPIO3.2/SEG26
GPIO3.1/SEG25
GPIO3.0/SEG24
SEG23
SEG22
SEG21
GPIO7.7/SEG20
GPIO7.6/SEG19
GPIO7.5/SEG18
GPIO7.4/SEG17
GPIO7.3/SEG16
GPIO7.2/SEG15
GPIO7.1/SEG14
GPIO7.0/SEG13
GPIO0.4/SCL0
GPIO0.5/SDA0
GPIO0.6/RXD3/SCL1
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
1.3 管脚定义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BL6531/6
GPIO0.7/TXD3/SDA1
GPIO4.1/SEG33
RSTB
JTAG
GPIO0.3/JTAG_TDO
GPIO0.2/JTAG_TMS
GPIO0.1/JTAG_TDI
GPIO0.0/JTAG_TCK
GPIO5.7/CMP1/ADC0
GPIO1.3/SPSSN
GPIO1.2/MOSI
GPIO1.1/MISO
GPIO1.0/SCK
GPIO2.7/TXD2
GPIO2.6/RXD2
GPIO5.1/T0/ADC1
GPIO3.4/SEG28/COM7
GPIO3.5/SEG29/COM6
GPIO3.6/SEG30/COM5
GPIO5.3/T2/ADC3
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
SEG12
SEG11
SEG10
SEG9
SEG8
GPIO6.7/SEG7
GPIO6.6/SEG6
GPIO6.5/SEG5
GPIO6.4/SEG4
GPIO6.3/SEG3
GPIO6.2/SEG2
GPIO6.2/SEG1
GPIO6.0/SEG0
COM0
COM1
COM2
COM3
GPIO4.0/SEG32
GPIO3.7/SEG31/COM4
GPIO4.2/SEG34
GPIO1.7/7816_CLKB
GPIO2.0/7816_OB
LPLDO18
TEST
VDD
GND
GPIO2.2/RXD0
GPIO2.3/TXD0
GPIO2.4/RXD1
GPIO2.5/TXD1
GPIO4.7/SEG39
GPIO4.6/SEG38
CPLL
OSCI
OSCO
GPIO4.5/SEG37
GPIO4.4/SEG36
GPIO4.3/SEG35
GPIO5.6/CMP0/ADC2
GPIO5.0/RTC1S
图 1-2 管脚图
管脚
管脚名
I/O
功能描述
1
GPIO1.7/7816_CLKB
IO
GPIO1.7,可复用为7816_B的时钟输出和 PORT1.7
2
GPIO2.0/7816_OB
IO
GPIO2.0,可复用为7816的数据输入输出口和PORT2.0
3
LPLDO18
IO
低功耗LDO测试输出
4
TEST
I
测试输入,内置70k下拉电阻,正常使用时接为低
5
VDD
IO
5V电源
6
GND
IO
地
7
GPIO2.2\RXD0
IO
GPIO2.2,可复用为UART0输入和PORT2.2
8
GPIO2.3\TXD0
IO
GPIO2.3,可复用为UART0输出和PORT2.3
9
GPIO2.4\RXD1
IO
GPIO2.4,可复用为UART1输入和PORT2.4
10
GPIO2.5\TXD1
IO
GPIO2.5,可复用为UART1输出和PORT2.5
11
GPIO4.7\SEG39
IO
GPIO4.7,可复用为SEG39
12
GPIO4.6\SEG38
IO
GPIO4.6,可复用为SEG38
13
CPLL
IO
内置PLL低通滤波电容,外接1nF电容
14
OSCI
I
32.768晶振的输入脚(BL6536此脚为空脚)
11/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
15
OSCO
O
32.768晶振的输出脚(BL6536此脚为空脚)
16
GPIO4.5\SEG37
IO
GPIO4.5,可复用为SEG37
17
GPIO4.4\SEG36
IO
GPIO4.4,可复用为SEG36
18
GPIO4.3\SEG35
IO
GPIO4.3,可复用为SEG35
19
GPIO5.6\CMP0\ADC2
IO
GPIO5.6,可复用为内置CMP0、ADC2和PORT3.6
20
GPIO5.0\RTC1S
IO
GPIO5.0,可复用为RTC的秒脉冲输出和PORT3.0
21
SEG12
O
SEG12
22
SEG11
O
SEG11
23
SEG10
O
SEG10
24
SEG9
O
SEG9
25
SEG8
O
SEG8
26
GPIO6.7\SEG7
IO
GPIO6.7可复用为SEG7
27
GPIO6.6\SEG6
IO
GPIO6.6可复用为SEG6
28
GPIO6.5\SEG5
IO
GPIO6.5可复用为SEG5
29
GPIO6.4\SEG4
IO
GPIO6.4可复用为SEG4
30
GPIO6.3\SEG3
IO
GPIO6.3可复用为SEG3
31
GPIO6.2\SEG2
IO
GPIO6.2可复用为SEG2
32
GPIO6.1\SEG1
IO
GPIO6.1可复用为SEG1
33
GPIO6.0\SEG0
IO
GPIO6.0可复用为SEG0
34
COM0
O
COM0
35
COM1
O
COM1
36
COM2
O
COM2
37
COM3
O
COM3
38
GPIO4.0\SEG32
IO
GPIO4.0,可复用为SEG32
39
GPIO3.7\SEG31\COM4
IO
GPIO3.7,可复用为SEG31和COM4
40
GPIO4.2\SEG34
IO
GPIO4.2,可复用为SEG34
41
GPIO5.3\T2\ADC3
IO
GPIO5.3,可复用为Timer2输入、INT1的输入、ADC3和
PORT3.3
42
GPIO3.6\SEG30\COM5
IO
GPIO3.6,可复用为SEG30和COM5
43
GPIO3.5\SEG29\COM6
IO
GPIO3.5,可复用为SEG29和COM6
44
GPIO3.4\SEG28\COM7
IO
GPIO3.4,可复用为SEG28和COM7
45
GPIO5.1\T0\ADC1
IO
GPIO5.1,可复用为Timer0输入、ADC1和PORT3.1
46
GPIO2.6\RXD2
IO
GPIO2.6,可复用为UART2输入和PORT2.6
47
GPIO2.7\TXD2
IO
GPIO2.7,可复用为UART2输出和PORT2.7
48
GPIO1.0\SCK
IO
GPIO1.0,可复用为SPI时钟输出和PORT1.0
49
GPIO1.1\MISO
IO
GPIO1.1,可复用为SPI数据输入PORT1.1
50
GPIO1.2\MOSI
IO
GPIO1.2,可复用为SPI数据输出PORT1.2
12/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
51
GPIO1.3\SPSSN
IO
GPIO1.3,可复用为SPI片选信号PORT1.3
52
GPIO5.7\CMP1\ADC0
IO
GPIO5.7,可复用为CMP1、ADC0和PORT3.7
53
GPIO0.0\TCK
IO
GPIO0.0,可复用为JTAG输入时钟和PORT0.0
54
GPIO0.1\TDI
IO
GPIO0.1,可复用为JTAG输入数据和PORT0.1
55
GPIO0.2\TMS
IO
GPIO0.2,可复用为JTAG输入信号和PORT0.2
56
GPIO0.3\TDO
IO
GPIO0.3,可复用为JTAG输出数据和PORT0.3
57
JTAG
I
JTAG控制信号,为高时有效
58
RSTB
I
外部RESET输入信号,为低时有效
59
GPIO4.1\SEG33
IO
GPIO4.1,可复用为SEG33
60
GPIO0.7\SDA1\TXD3
IO
GPIO0.7, 可复用 为 I2C1 数 据 信号 、 UART3 的输 出 和
PORT0.7
61
GPIO0.6\SCL1\RXD3
IO
GPIO0.6, 可复用 为 I2C1 时 钟 信号 、 UART3 的输 入 和
PORT0.6
62
GPIO0.5\SDA0
IO
GPIO0.5,可复用为I2C0数据信号和PORT0.5
63
GPIO0.4\SCL0
IO
GPIO0.4,可复用为I2C0时钟信号和PORT0.4
64
GPIO7.0\SEG13
IO
GPIO7.0可复用为SEG13
65
GPIO7.1\SEG14
IO
GPIO7.1可复用为SEG14
66
GPIO7.2\SEG15
IO
GPIO7.2可复用为SEG15
67
GPIO7.3\SEG16
IO
GPIO7.3可复用为SEG16
68
GPIO7.4\SEG17
IO
GPIO7.4可复用为SEG17
69
GPIO7.5\SEG18
IO
GPIO7.5可复用为SEG18
70
GPIO7.6\SEG19
IO
GPIO7.6可复用为SEG19
71
GPIO7.7\SEG20
IO
GPIO7.7可复用为SEG20
72
SEG 21
O
SEG21
73
SEG 22
O
SEG22
74
SEG 23
O
SEG23
75
GPIO3.0\SEG24
IO
GPIO3.0可复用为SEG24
76
GPIO3.1\SEG25
IO
GPIO3.1可复用为SEG25
77
GPIO3.2\SEG26
IO
GPIO3.2可复用为SEG26
78
GPIO3.3\SEG27
IO
GPIO3.3可复用为SEG27
79
GPIO1.5\7816_OA
IO
GPIO1.5可复用为7816_A数据信号和PORT1.5
80
GPIO1.4\7816_CLKA
IO
GPIO1.4可复用为7816_A7816时钟信号和PORT1.4
1.4 封装形式
BL6531/BL6536 采用 LQFP80 封装,有两种封装形式:外置晶振和内置晶振。其中内置
晶振封装将 32.768KHZ 晶体封装到芯片内部,产品型号为 BL6536;外置晶振封装需要外接
32.768KHZ 晶体振荡器,产品型号为 BL6531。
13/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图 1-3 封装图
14/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
2. CPU 结构
2.1 R8051XC2 内核概述
R8051XC2 内核使用 ASM51 指令集,有两条总线:Memory 总线和 SFR 总线。Memory
总线用于在片内扩展程序和数据存储器,如扩展片内 ROM、Flash、XRAM 等。SFR(Special
Function Register) 总线用于和片内的外设寄存器接口,除了工作寄存器 R0~R7、程序计数
器(PC)和指令寄存器(IR)外,所有控制、配置和状态寄存器都映射到 SFR 空间,R8051XC2
可通过直接寻址的方式访问这些寄存器,控制系统工作。支持在线调试功能。
ExternalMemory
interfacce
R8051XC2_CPU
OCDS
(JTAG)
Timer0 input
Timer0
UART0
UART0
interface
Timer1 input
Timer1
UART1
UART1
interface
Timer2 input
Timer2
EXTINT
External
interrupt
inputs
I2C interface
I2C
PMURSTCTRL
WAKEUPCTRL
SPI interface
SPI_MS
ISR
SYNCNEG
SFRMUX
On-chip memory/ISR
interfacce
OCDS
interfacce
图 2-1 R8051XC2 结构框图
2.2 存储空间
存储空间从逻辑上分为三个地址空间:程序存储,寻址空间 00000H~1FFFFH;内部数
据存储,寻址空间 00H~FFH;外部数据存储,寻址空间 00000H~1FFFFH。如图 2-2 所示。
15/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
程序存储
1FFFFH
外部数据存储
1FFFFH
内部数据存储
FFH
High 128B
SFR
80H
7FH
Low 128B
00000H
00000H
00H
图 2-2 存储空间图
程序存储、内部数据存储和外部数据存储是分开的,分别有自己的寻址系统、控制信号
和功能。程序存储用来存放程序和一些常量,用 MOVC 指令访问;数据存储用来存放程序
运行时需要的变量,内部数据存储用 MOV 指令访问,外部数据存储用 MOVX 指令访问。
2.3 指令集
指令集和标准工业 8051 指令集兼容,这种兼容性表现在指令的操作码、功能以及指令
运行对标志位的影响相同。表 2-1 定义了表 2-2 中用到的符号,表 2-2 分类列出了指令集、
字节数、机器周期等。
表 2- 1 指令集列表符号说明
符号
功能
A
累加器
(A)
累加器内容
Rn
工作寄存器 R0-R7
(Rn)
工作寄存器的内容
Ri
i=0,1,数据指针 R0 或 R1
(Ri)
R0 或 R1 的内容
((Ri))
R0 或 R1 的指出的单元内容
@Ri
R0 或者 R1 指针指向的内部寄存器(除了
MOVX 指令)
(X)
某一寄存器的内容
X
某一寄存器
((X))
某一寄存器指出的单元内容
direct
直接地址单元
(direct)
直接地址指出的单元内容
rel
相对偏移量,带符号的(2 的补码)8 位偏移
字节
16/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
bit
位地址
#data
8 位立即数
#data 16
16 位立即数
addr 16
16 位绝对地址
addr 11
页面地址

数据传送方向
∧
逻辑与
∨
逻辑或
⊕
逻辑异或
√
对标志位产生影响
×
对标志位不产生影响
表 2- 2 指令集
助记符
功能
对标志的影响
P
OV
Ac
CY
字
机
16 进
节
器
制代
数
周
码
期
算术运算指令
ADD A,Rn
A(A)+(Rn)
√
√
√
√
1
28-2F
ADD A,direct
A(A)+(direct)
√
√
√
√
2
25
ADD A,@Ri
A(A)+((Ri))
√
√
√
√
1
26-27
ADD A,#data
A(A)+data
√
√
√
√
2
24
ADDC A,Rn
A(A)+(Rn)+( CY)
√
√
√
√
1
38-3F
ADDC A,direct
A(A)+(direct)+ (CY)
√
√
√
√
2
35
ADDC A,@Ri
A(A)+((Ri)) + (CY)
√
√
√
√
1
36-37
ADDC A,#data
A(A)+data+ (CY)
√
√
√
√
2
34
SUBB A,Rn
A(A)-(Rn)-( CY)
√
√
√
√
1
98-9F
SUBB A,direct
A(A)-(direct)- (CY)
√
√
√
√
2
95
SUBB A,@Ri
A(A)-((Ri)) - (CY)
√
√
√
√
1
96-97
SUBB A,#data
A(A)-data- (CY)
√
√
√
√
2
94
INC A
A(A)+1
√
×
×
×
1
04
INC Rn
RnRn+1
×
×
×
×
1
08-0F
INC direct
directdirect+1
×
×
×
×
2
05
INC @Ri
(Ri) ((Ri)) + 1
×
×
×
×
1
06-07
INC DPTR
DPTR (DPTR)+1
1
A3
DEC A
A(A)-1
√
×
×
×
1
14
DEC Rn
A(Rn)-1
×
×
×
×
2
18-1F
DEC direct
A(direct)-1
×
×
×
×
1
15
17/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
DEC @Ri
A ((Ri)) - 1
×
×
×
×
1
16-17
MUL AB
AB(A).(B)
√
√
×
√
1
A4
DIV AB
AB(A)/(B)
√
√
×
√
1
84
DA A
对 A 进行十进制调整
√
√
√
√
1
D4
ANL A,Rn
A(A)∧(Rn)
√
×
×
×
1
58-5F
ANL A,direct
A(A)∧(direct)
√
×
×
×
2
55
ANL A,@Ri
A(A)∧((Rn))
√
×
×
×
1
56-57
ANL A,#data
A(A)∧data
√
×
×
×
2
54
ANL direct,A
direct(direct) ∧A
×
×
×
×
2
52
ANL direct,#data
direct(direct) ∧data
×
×
×
×
3
53
ORL A,Rn
A(A) ∨(Rn)
√
×
×
×
1
48-4F
ORL A,direct
A(A) ∨(direct)
√
×
×
×
2
45
ORL A,@Ri
A(A) ∨((Ri))
√
×
×
×
1
46-47
ORL A,#data
A(A) ∨data
√
×
×
×
2
44
ORL direct,A
direct(direct) ∨A
×
×
×
×
2
42
ORL direct,#data
direct(direct) ∨data
×
×
×
×
3
43
XRL A,Rn
A(A) ⊕(Rn)
√
×
×
×
1
68-6F
XRL A,direct
A(A) ⊕(direct)
√
×
×
×
2
65
XRL A,@Ri
A(A) ⊕((Ri))
√
×
×
×
1
66-67
XRL A,#data
A(A) ⊕data
√
×
×
×
2
64
XRL direct,A
direct(direct) ⊕A
×
×
×
×
2
62
XRL direct,#data
direct(direct) ⊕data
×
×
×
×
3
63
CLR A
A0
√
×
×
×
1
E4
CPL A
A (A)
×
×
×
×
1
F4
SWAP A
A 半字节交换
×
×
×
×
1
C4
RL A
A 循环左移一位
×
×
×
×
1
23
RLC A
A 带进位循环左移一位
√
×
×
√
1
33
RR A
A 循环右移一位
×
×
×
×
1
03
RRC A
A 带进位循环右移一位
√
×
×
√
1
13
MOV A,Rn
A (Rn)
√
×
×
×
1
E8-EF
MOV A,direct
A(direct)
√
×
×
×
2
E5
MOV A,@Ri
A((Ri))
√
×
×
×
1
E6-E7
MOV A,#data
Adata
√
×
×
×
2
74
MOV Rn,A
Rn(A)
×
×
×
×
1
F8-FF
MOV Rn,direct
Rn (direct)
×
×
×
×
2
A8-A
18/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
F
MOV Rn,#data
Rn data
×
×
×
×
2
78-7F
MOV direct,A
direct(A)
×
×
×
×
2
F5
MOV direct,Rn
direct (Rn)
×
×
×
×
2
88-8F
MOV direct,direct
direct  (direct)
×
×
×
×
3
85
MOV direct,@Ri
direct((Ri))
×
×
×
×
2
86-87
MOV direct,#data
directdata
×
×
×
×
3
75
MOV @Ri,A
((Ri))(A)
×
×
×
×
1
F6-F7
MOV @Ri,direct
(Ri)(direct)
×
×
×
×
2
A6-A7
MOV @Ri,#data
(Ri)data
×
×
×
×
2
76-77
MOV DPTR,#data
DPTRdata
×
×
×
×
3
90
MOVC A,
A((A)+(DPTR))
√
×
×
×
1
93
MOVC A,@A+PC
A((A)+(PC))
√
×
×
×
1
83
MOVX A,@Ri
A((Ri+P2))
√
×
×
×
1
E2-E3
MOVX A,@DPTR
A((DPTR))
√
×
×
×
1
E0
MOVX @Ri,A
((Ri)+P2)A
×
×
×
×
1
F2-F3
MOVX A,@DPTR
A((DPTR))
×
×
×
×
1
F0
PUSH direct
SPSP+1,(SP) (direct)
×
×
×
×
2
C0
POP direct
direct((SP)),SP(SP)-1
×
×
×
×
2
D0
XCH A,Rn
(A)←→(Rn)
√
×
×
×
1
C8-CF
XCH A,direct
(A)←→(direct)
√
×
×
×
2
C5
XCH A,@Ri
(A)←→((Ri))
√
×
×
×
1
C6-C7
XCHD A,@Ri
(A)0~3←→((Ri))0~3
√
×
×
×
1
D6-D7
CLR C
CY0
×
×
×
√
1
C3
CLR bit
bit0
×
×
×
2
C2
SETB C
CY1
×
×
×
1
D3
SETB bit
bit1
×
×
×
2
D2
CPL C
CY  ( C Y )
×
×
×
1
B3
CPL bit
bit (bit)
×
×
×
2
B2
ANL C,bit
CY ( CY)∧(bit)
×
×
×
√
2
82
ANL C,/bit
CY ( CY)∧ (bit)
×
×
×
√
2
B0
ORL C,bit
CY ( CY)∨(bit)
×
×
×
√
2
72
@A+DPTR
19/158
v1.2
√
√
BL6531/BL6536 电能表专用 MCU 芯片
×
×
×
√
2
A0
CY (bit)
×
×
×
√
2
A2
MOV bit,C
bit(CY)
×
×
×
×
2
92
ACALL addr11
PC(PC)+2,SP(SP)+1,
×
×
×
×
2
11-F1
×
×
×
×
3
12
×
×
×
×
1
22
×
×
×
×
2
32
ORL C,/bit
CY ( CY)∨ (bit)
MOV C,bit
(SP)(PC)L,SP(SP)+1,
(SP)(PC)H,PC10~0addr11
LCALL addr16
PC(PC)+2,SP(SP)+1,
(SP)(PC)L,SP(SP)+1,
(SP)(PC)H,PC10~0addr16
RET
(PC)H((SP)), SP(SP)-1,
(PC)L((SP)), SP(SP)-1
RETI
(PC)H((SP)), SP(SP)-1,
(PC)L((SP)), SP(SP)-1,从
中断中返回
AJMP addr11
PC10~0 addr11
×
×
×
×
3
01-E1
LJMP addr16
PC addr16
×
×
×
×
2
02
SJMP rel
PC PC+rel
×
×
×
×
2
80
JC rel
PC PC+2,若 CY=1,则
×
×
×
×
2
40
×
×
×
×
2
50
×
×
×
×
3
20
×
×
×
×
3
30
×
×
×
×
3
10
PCPC+rel
JNC rel
PC PC+2,若 CY=0,则
PCPC+rel
JB bit,rel
PC PC+3,若(bit)=1,则
PCPC+rel
JNB bit,rel
PC PC+3,若(bit)=0,则
PCPC+rel
JBC bit,rel
PC PC+3,若(bit)=1,则
bit0,PC(PC)+rel
JMP @A+DPTR
PC(A)+(DPTR)
×
×
×
×
1
73
JZ rel
PCPC+2,若(A)=0,
×
×
×
×
2
60
×
×
×
×
2
70
×
×
×
×
3
B5
PC PC+3,若(A)不等于 data, ×
×
×
×
3
B4
PC(PC)+rel
JNZ rel
PCPC+2,若(A)不等于 0,
PC(PC)+rel
CJNE A,direct,rel
PC PC+3,若(A)不等于
(direct)
,则 PC(PC)+rel
CJNE A,#d,rel
则 PC(PC)+rel
20/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
CJNE Rn,#d,rel
PC PC+3,若(Rn)不等于 data, ×
×
×
×
3
B8-BF
×
×
×
3
B6-B7
×
×
×
2
D8-D
则 PC(PC)+rel
CJNE @Ri,#d,rel
PC PC+3,若((Ri))不等于 d, ×
则 PC(PC)+rel
DJNZ Rn,rel
PC PC+2, Rn =(Rn)-1, 若
×
F
(Rn)不等于 0,则 PC(PC)+rel
DJNZ direct,rel
PC PC+2, direct =(direct)-1, ×
×
×
×
3
×
×
×
1
D5
若(direct)不等于 0,则
PC(PC)+rel
其他
空操作
NOP
×
1
00
2.4 CPU 特殊功能寄存器说明
2.4.1ACC
累加器是一个最常用的专用寄存器。大部分单操作数指令的操作取自累加器。很多双操
作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加
器 A 或 AB 寄存器中。指令系统中用 A 作为累加器的助记符。
2.4.2 B
在乘除指令中,用到 B 寄存器。乘法指令的两个操作数分别取自 A 和 B,其结果存放
在 AB 寄存器中。除法指令中,被除数取自 A,除数取自 B,商数存放于 A,余数存放于 B。
在其他指令中,B 寄存器可作为 RAM 中的一个单元来使用。
2.4.3 PSW
程序状态字 PSW 是一个 8 位寄存器,它包含了程序状态信息。此寄存器的含义参见下
表:
Program Status
Address:D0H
Word(PSW)
Bit7
6
5
4
3
2
1
Bit0
CY
AC
F0
RS1
RS0
OV
F1
P
0
0
0
0
0
0
0
0
Read
Writ
e
Reset
位
功能描述
PSW.7
CY:进位标志。在执行某些算术和逻辑指令时,可以被硬件或软件复位
或清零。在布尔处理机中它被认为是位累加器,其重要性相当于一般中央
处理机中的累加器 A。
PSW.6
Ac:辅助进位标志。在进行加法或减法操作而产生低 4 位数(十进制的
一个数字)向高 4 位数进位或借位时,Ac 将被置位,否则被清零。Ac 被
用于 DAA 指令的十进制调整。
PSW.5
F0:标志 0。是用户定义的一个状态标记,可用软件置位或清零。
21/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
PSW.4
RS1:工作寄存器区选择控制位 1,和 RS0 一起用以选择工作寄存器区
PSW.3
RS0:工作寄存器区选择控制位 0
PSW.2
RS1
RS0
Bank 选择
0
0
区 0(00H~07H)
0
1
区 1(08H~0FH)
1
0
区 2(10H~17H)
1
1
区 3(18H~1FH)
OV:溢出标志。当加法产生进位,减法产生借位,乘除产生溢出时,置
1。否则为 0。
PSW.1
F1:标志 1,是用户定义的一个状态标记,可用软件置位或清零。
PSW.0
P:奇偶校验。每个指令周期都由硬件来置位或清零,以表示累加器 A 中
1 的位数的奇偶数。若 1 的位数为奇数,则 P 置位,否则清 0。
2.4.4SP
栈指针 SP 是一个 8 位专用寄存器。它指示出堆栈顶部在内部数据存储中的位置。系统
复位后,SP 初始化为 07H,使得堆栈事实上由 08H 单元开始。考虑到 08H~1FH 单元分属
于工作寄存器 1~3,若程序设计要用到这些区,则把 SP 的值改置更大的值。SP 的初值越
小,堆栈深度就越深。堆栈指针的值可由软件改变,因此堆栈在内部数据存储中的位置比较
灵活。
除用软件改变 SP 值外,在执行 PUSH/POP、各种子程序调用、中断响应、子程序返回
(RET)和中断返回(RETI)等指令时,SP 值将自动增加或减少。
2.4.5 DPTR
为加速数据的块搬移操作,R8051XC2 使用双数据指针。标准 8051 的数据指针是一个
16 位专用寄存器,其高位字节寄存器用 DPH 表示,低位字节用 DPL 表示,DPTR 主要用来
存放 16 位地址,当对外部数据存储器空间寻址时,可作为间接寄存器用。
R8051XC2 包括一个同标准 8051 相同的数据指针 DPTR0,它位于 SFR 82H(DPL0)和
83H(DPH0)
,默认情况下,数据指针使用 DPTR0。除此之外,H0802 增加了第二个数据指
针 DPTR1,DPTR1 位于 SFR 84H(DPL1)和 85H(DPH1)。DPS 寄存器(SFR 86H)的 SEL 位用
来选择当前数据指针使用 DPTR0 还是 DPTR1,当 SEL=0,使用 DPTR 的指令的数据指针用
DPL0 和 DPH0 作为数据指针;当 SEL=1,使用 DPTR 的指令的数据指针用 DPL1 和 DPH1。
SEL 是 DPS 的第 0 位,DPS 的其他位无用。
所有和 DPTR 相关的指令使用 DPS 选择的数据指针。SEL 取反将导致数据指针切换,
切换最快的方法是使用 INC DPS 指令,仅需要一条指令,就可使数据指针由源地址指向目
的地址,当进行块数据搬移时,这样做节省了保存源地址和目的地址的代码和时间。当搬移
大批量数据时,使用双数据指针的机制显著地提高了代码的效率。
2.4.6 CKCON
程序和数据存储器的读写延迟控制寄存器。这个寄存器可以设置程序和数据存储器的读
写的延迟时钟数,以便适应不同的存储器。降低程序读取的延迟时间,可以有效的增加程序
执行速度。BL6531 的程序和数据存储器均支持最短的读写延迟。
Clock Control(CKCON)
Bit7
6
Address:8EH
5
4
3
22/158
v1.2
2
1
Bit0
BL6531/BL6536 电能表专用 MCU 芯片
Read
Writ
e
Reset
CKCON
CKCO
CKCON
CKCON
CKCON
CKCON
CKCON
CKCON
.7
N.6
.5
.4
.3
.2
.1
.0
1
1
1
1
1
0
0
0
ckcon register
Wait
Read signals
Write signals width (cycle)
value
width (cycle)
ckcon.7=0
ckcon.7=1
ckcon.
ckcon
ckcon
(cycle
memad
memps
memad
mempsw
memad
mempsw
6
.5
.4
)
dr
rd
dr
r
dr
r
0
0
0
0
1
1
1
1
3
1
0
0
1
1
2
2
2
2
4
2
0
1
0
2
3
3
3
3
5
3
0
1
1
3
4
4
4
4
6
4
1
0
0
4
5
5
5
5
7
5
1
0
1
5
6
6
6
6
8
6
1
1
0
6
7
7
7
7
9
7
1
1
1
7
8
8
8
8
10
8
Wait
Read signals
Write signals width (cycle)
value
width (cycle)
ckcon.3=0
ckcon.3=1
memad
memad
ckcon register
ckcon.
ckcon
ckcon
(cycle
memad
2
.1
.0
)
dr
0
0
0
0
1
1
1
1
3
1
0
0
1
1
2
2
2
2
4
2
0
1
0
2
3
3
3
3
5
3
0
1
1
3
4
4
4
4
6
4
1
0
0
4
5
5
5
5
7
5
1
0
1
5
6
6
6
6
8
6
1
1
0
6
7
7
7
7
9
7
1
1
1
7
8
8
8
8
10
8
memrd
dr
23/158
v1.2
memwr
memwr
dr
BL6531/BL6536 电能表专用 MCU 芯片
3. 存储单元
3.1 概述
BL6531/BL6536内置数据宽度为8位的可编程128K字节Flash存储器和4K字节SRAM。其中,
Flash存储器分为4部分:

程序存储器空间(以下简称为PM):96/64Kbytes

数据存储器空间(以下简称为DM):32K bytes

信息存储空间1(以下简称为Info1):512Bytes

信息存储空间2(以下简称为Info2):512Bytes
SRAM分为2部分:

外部数据存储器空间(以下简称为ExDM):3840Bytes

内部数据存储器空间(以下简称为InDM):256Bytes
3.2 Flash 特性

Flash字节读取时间:40ns

Flash字节写时间:17us(max)

Flash页擦除时间:5ms(max)

Flash主空间全擦除时间:40ms(max)

Flash全擦除时间:45ms(max)

Flash擦除时电流:3mA

PM:96/64Kbytes,192/128pages,可“读/写/擦”

DM:32Kbytes,64pages,可“读/写/擦”

Info 1:512Bytes, 1page, 可“读/写/擦”

Info 2:512Bytes, 1page, 只能“读”

每512字节为1页;

擦写次数:100,000 次

数据保持时间:100年
3.3 存储器映射
3.3.1 FLASH 映射说明
1 ) PM 这 部 分 96/64K Flash 是 用 于 存 储 程 序 , 占 用 Program Memory 地 址 空 间
00000H-17FFFH。分为192页,每页512Bytes。
2) DM 这部分 32K FLASH 作为 MCU 外部数据存储器的一部分,用于存放用户数据,占
用 External Data Memory 地址空间:04000H~0BFFFH,采用 MOVX 指令访问。分为 64 页,
每页 512Bytes。
3)Info 1 这部分 512 字节 FLASH 作为 MCU 外部数据存储器的一部分,用于存放用户参数,
占用 External Data Memory 地址空间:0C000H-0C1FFH。采用 MOVX 指令访问。这部分只
包含一页,为 512 字节。
24/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
其中,第 512 字节(地址为 0C1FFH)的最高位 bit7 为 JTAG 连接模式下的程序加密控
制位,当该位为 0 时,程序加密,通过 JTAG 口读任何 flash 的内容,输出都是 0FFH,同时,
也禁止 JTAG 口写 flash。
第 512 字节(地址为 0C1FFH)的次高位 bit6 为 flash 上电配置使能控制位。当该位为 1
时,flash 上电自动进行配置操作;当该位为 0 时,则上电不进行 flash 的配置。为了提高 flash
工作的可靠性,厂商建议上电配置。即,该位设为 1;
4)Info 2 这部分 512 字节 FLASH 作为 MCU 外部数据存储器的一部分,用于存储芯片版本
信息等内容,占用 External Data Memory 地址空间:0C200H-0C3FFH。采用 MOVX 指令访
问。这部分只包含一页,为 512 字节。这部分内容只能读出,不能写入或擦除。
3.3.2 SRAM 映射说明
1)ExDM 这部分 3840Bytes 用作 MCU 的外部数据存储器,占用 External Data Memory 地
址空间:00000H~00EFFH。
2)InDM 这部分 256Bytes 用作 MCU 内部数据存储器,占用 Internal Data Memory 地址空间:
00H~FFH。
003FF
00200
001FF
00000
Info 2 Flash
Info 1 Flash
1FFFF
1FFFF
18000
17FFF
0C3FF
Info2 DM Flash
0C200
0C1FF
Info1 DM Flash
0C000
0BFFF
High 32K
Bytes Flash
DM Flash
PM Flash
04000
Low
96K/64K
Bytes Flash
031FF
FF
InDM RAM
00
00000
Program Memory
Extended SFR
03000
00EFF
ExDM RAM
00000
Internal
Data Memory
External
Data Memory
FFF High 256 bytes
F00
SRAM
EFF
Low 3840 bytes
000
图 3-1 Program Memory 和 Data Memory 存储器映射
3.4 FLASH 的操作
FLASH的操作分五种情况:全擦除,主空间全擦除,页擦除,写字节,和读字节。
FLASH的操作模式有以下两种:

模式1:JTAG连接模式。
该模式下,通过JTAG口对flash进行擦除/写/读操作;
25/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
注意:通过JTAG口对flash进行写和读操作时,受Info1中地址0C1FFH最高位(bit7)程序加
密位的控制。当该位为0时,程序加密保护,JTAG口不能对flash进行写操作,读数据则只能
得到0FFH。详见“Flash的读写保护”章节。

模式2:非JTAG连接模式。
该模式下,在PM内运行程序时对flash进行擦除/写/读操作;
注意:运行在Flash中的代码,不可以擦除与运行程序地址页面相同的页面或整个Flash。当
擦除/写操作被执行时,MCU的运行被保持冻结状态,直至操作结束flh_ack=1(MCON.2)。
3.4.1 Flash 的全擦除
Flash的全擦除操作擦除PM,DM,info1三部分,即96/64KB+32KB+512Bytes。
全擦除步骤如下:
1)设置寄存器MCON的flh_op[1:0] = 11;
2)执行对PM(00000H~17FFFH),DM(04000H~0BFFFH)或Info1(0C000H~0C1FFH)
三部分中任意地址的一次写操作。
(即以下三项任选一)

PM的写操作:
设置pmw(PCON.4)=1, 使能程序存储器写;
设置DPTR值为任意值(pagesel为默认的01),设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入PM中@DPTR位置;

DM的写操作:
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。
设置DPTR值为04000H~0BFFFH之间的任意值,设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入DM中@DPTR位置;

Info1的写操作:
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。
设置DPTR值为0C000H~0C1FFH之间的任意值,设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入Info1中@DPTR位置;
3)查看flash工作状态指示位flh_ack(MCON.2)或等待相应擦除时间,完成全擦除。
注:在PM中执行flash的全擦除操作会对自身代码全部擦除,所以不建议使用。
3.4.2 Flash 的主空间全擦除
Flash主空间全擦除操作擦除PM,DM两部分,即96/64K+32K Bytes。
主空间全擦除步骤如下:
1)设置寄存器MCON的flh_op[1:0] = 10;
2)执行对PM(00000H~17FFFH)
,DM(04000H~0BFFFH)两部分中任意地址的一次写操
作。
(即以下两项任选一)

PM的写操作:
设置pmw(PCON.4)=1, 使能程序存储器写;
设置DPTR值为任意值(pagesel为默认的01),设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入PM中@DPTR位置;

DM的写操作:
26/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。
设置DPTR值为04000H~0BFFFH之间的任意值,设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入DM中@DPTR位置;
3)查看flash工作状态指示位flh_ack(MCON.2)或等待相应擦除时间,完成擦除。
注:在PM中执行flash的主空间全擦除操作会对自身代码全部擦除,所以不建议使用。
3.4.3 Flash 的页擦除
FLASH的页擦除操作可对PM,DM两部分中的页内容进行擦除。
页擦除每次擦除512字节页空间。
页擦除步骤如下:
1)设置寄存器MCON的flh_op[1:0] = 01;
2)执行对PM(00000H~17FFFH)
,DM(04000H~0BFFFH)两部分中相应页地址范围内的
一次写操作。

PM的写操作:
设置pmw(PCON.4)=1, 使能程序存储器写;
设置pagesel,DPTR的值在需要擦除的页地址范围内,设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入PM中@DPTR位置;

DM的写操作:
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。
设置DPTR的值在需要擦除的页地址范围内,设置累加器A为任意值;
执行MOVX @DPTR, A;将A值写入DM中@DPTR位置;
查看flash工作状态指示位flh_ack(MCON.2)或等待相应擦除时间,完成擦除。
注:运行在PM中的代码执行flash的页擦除操作后,要保证程序还能正常运行。
3.4.5 Flash 的写操作
FLASH的写字节操作可对PM,DM,Info1三部分任意地址进行写操作。
写字节步骤如下:
1)设置寄存器MCON的flh_op[1:0] = 00;
2)执行对PM(00000H~17FFFH),DM(04000H~0BFFFH)或Info1(0C000H~0C1FFH)
中相应地址的写操作:

PM(00000H~17FFFH)的写操作:
设置pmw(PCON.4)=1, 使能程序存储器写;
设置pagesel,DPTR值为需要写入数据的相应PM地址,设置累加器A为要写入的值。
执行MOVX @DPTR, A;将A值写入PM中@DPTR位置;

DM(04000H~0BFFFH)的写操作:
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。
设置DPTR值为需要写入数据的相应DM地址,设置累加器A为要写入的值;
执行MOVX @DPTR, A;将A值写入DM中@DPTR位置;

Info1(0C000H~0C1FFH)的写操作:
27/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。
设置DPTR值为需要写入数据的相应Info1地址,设置累加器A为要写入的值;
执行MOVX @DPTR, A;将A值写入Info1中@DPTR位置;
3)查看flash工作状态指示位flh_ack(MCON.2)或等待相应写操作时间,完成写操作。
注:
运行在PM中的代码执行flash的写字节操作后,要保证程序还能正常运行。
在JTAG连接模式下,若Info1中加密控制位(0C1FF地址的bit7)为0,则读写保护,此时用
户不能通过JTAG口对flash进行写字节操作。
3.4.6 Flash 的读操作
FLASH的读操作可对所有flash内容进行读,即:PM,DM,Info1,Info2四部分任意地址均
可进行读操作。
对PM(00000H~17FFFH),DM(04000H~0BFFFH),Info1(0C000H~0C1FFH)或Info 2
(0C200H~0C3FFH)中相应地址的读操作过程分别如下:

PM(00000H~17FFFH)的读操作:
设置pmw(PCON.4)=1, 使能程序存储器写;
设置pagesel,DPTR值为需要读出数据的相应PM地址;
执行MOVX A,@DPTR;将PM中@DPTR位置的值读出并写入累加器A;

DM(04000H~0BFFFH), Info1(0C000H~0C1FFH)或Info 2(0C200H~0C3FFH)的读操作:
设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写;
设置DPTR值为需要读出数据的相应DM/info1/info2地址;
执行MOVX A,@DPTR;将DM/Info1/Info2中@DPTR位置的值读出并写入累加器A;
注:在JTAG连接模式下,若Info1中加密控制位(0C1FF地址的bit7)为0,则读写保护,此
时用户通过JTAG口对flash进行读操作,只能读出0FF值。
3.4.7 Flash 的读写保护
FLASH的Info1部分最后一个字节(地址为0C1FFH)的最高位bit7为程序加密控制位,该位
写0后,flash便处于读写保护状态,此时通过JTAG口对flash不能进行写操作,JTAG口也不
能读出flash中的数据(读操作,只能读出0FFH值)。只能进行擦除操作。
3.5 FlASH 操作特殊功能寄存器
表 3- 1FLASH 操作控制相关寄存器表
地址
名称
复位值
功能描述
0x8F
MCON
0x00
Flash 控制寄存器
0x87
PCON
0x08
程序控制寄存器
0x94
PAGESEL
0x01
程序存储器块选择
28/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 3- 2MCON 寄存器
MCON
Memory Control Register; Addr: 0x8F;
Bit
7
6
5
4
3
2
1
0
Read
-
-
-
-
-
flh_ack
flh_op1
flh_op0
Write
-
-
-
-
-
X
Reset
0
0
0
0
0
0
0
0
位
功能描述
[7:3]
内部保留控制位
flh_ack
Flash 工作状态指示位(该位只能读,不能写)
0:flash 忙
1:flash 空闲
Flash 操作控制寄存器
flh_op[1:0]
flh_op1
flh_op0
功能
0
0
写操作,可以写 PM,DM,info1;
0
1
页擦除操作,可以擦除 PM,DM 中的页;
1
0
主空间全擦除操作,包括:PM,DM;
1
1
全擦除操作,包括:PM,DM,info1;
此控制位在本次操作完成后会自动恢复到 00;
表 3- 3PCON 寄存器
PCON
Power Control Register; Addr: 0x87;
Bit
7
6
5
4
3
2
1
0
Read
-
-
-
pmw
-
-
-
-
Write
-
-
-
-
-
-
-
29/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Reset
0
0
0
0
位
功能描述
pmw
程序存储器 PM 写允许控制
1
0
0
0
1:使能程序存储器空间写;禁止外部数据存储器写;
即:执行 MOVX 指令,均为对程序存储器进行操作,而非外部数据存储器。
0:禁止程序存储器空间写;使能外部数据存储器写;
即:执行 MOVX 指令,均为对外部数据存储器进行操作,而非程序存储器。
表 3- 4 PAGESEL 寄存器
PAGESEL
Program Memory Page Select; Addr: 0x94;
Bit
7
6
5
4
3
2
1
0
Read
-
-
-
-
-
-
Pagesel1
Pagesel0
Write
-
-
-
-
-
-
Reset
0
0
0
0
0
0
0
1
位
功能描述
pagesel[1:0]
程序存储器块选择
Pagesel[1:0] = memaddr[16:15]
30/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
4. 中断系统
4.1 概述
中断系统支持 19 个中断,
其中 5 个通用中断:
定时器 T0、
T1、
T2 中断以及串行口 UART0、
UART1。
另外 14 个中断,利用 R8051XC2 的扩展中断,分别是:

Wakeup 中断

INT1 中断

SPI 或者 GPIO 中断

com0(timer2 的比较器 0)中断

com1(timer2 的比较器 1)中断

定时器 3(timer3)中断

定时器 4(timer4)中断

I2C 中断

PMU 中断

RTC 中断

UART2 中断

UART3 中断

7816A 中断

7816B 中断
4.2 中断列表
表 4- 1 BL6531 中断系统
BL6531 中断
中断向量
中断使能(IEN0.7=1)
中断标志位
wakeup
0003H
IEN0.0
TCON.1
timer0
000BH
IEN0.1
TCON.5
int1
0013H
IEN0.2
TCON.3
timer1
001BH
IEN0.3
TCON.7
uart0
0023H
IEN0.4
S0CON.0 S0CON.1
timer2
002BH
IEN0.5
IRCON.6 IRCON.7
IEN1.7(RELOAD)
I2C
0043H
IEN1.0
I2CCON.3
SPI/GPIO
004BH
IEN1.1
SPSTA GPIOXIP
com0
0053H
IEN1.2
IRCON.2
com1
005BH
IEN1.3
IRCON.3
timer3
0063H
IEN1.4
T3CON.1
timer4
006BH
IEN1.5
T4CON.1
31/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
uart1
0083H
IEN2.0
S1CON.0 S1CON.1
PMU
008BH
IEN2.1
PMINTFLAG
RTC
0093H
IEN2.2
RTCIF
uart2
009BH
IEN2.3
S2CON.0 S2CON.1
uart3
00A3H
IEN2.4
S3CON.0 S3CON.1
m7816a
00ABH
IEN2.5
INTFLG
m7816b
00EBH
IEN4.5
INTFLGB
4.3 中断优先级
可设定 4 个中断优先级,可对各个中断组的优先级进行调整,不支持对单个中断源的优
先级进行调整。一共有 6 个中断组,优先级的调整通过寄存器 IP0,IP1 来设置。
表 4- 2 中断组优先级控制表
组
组成员(从左至右,组内优先级从高到低)
组优先级控制位
Group 0
External Interrupt 0, Serial 1 Interrupt, I2C
IP1.0, IP0.0
Group 1
Timer 0 Interrupt, SPI
IP1.1, IP0.1
Group 2
External Interrupt 1, PMU
IP1.2, IP0.2
Group 3
Timer 1 Interrupt, EMU
IP1.3, IP0.3
Group 4
Serial 0 Interrupt, RTC
IP1.4, IP0.4
Group 5
Timer 2 Interrupt, 7816SCI, KBI
IP1.5, IP0.5
四个中断优先级的设置如下表所示:
表 4- 3 中断优先级表
级别
优先级
IP1.X
IP0.X
Level 0
Lowest
0
0
Level 1
0
1
Level 2
1
0
1
1
Level 3
Highest
4.4 特殊功能寄存器
表 4- 4 中断系统寄存器列表
地址
名称
复位值
功能描述
0XA8
IEN0
0X00
中断使能寄存器 0
0XB8
IEN1
0X00
中断使能寄存器 1
0X9A
IEN2
0X00
中断使能寄存器 2
0XD1
IEN4
0X00
中断使能寄存器 4
0XB8
IP
0X00
中断优先级寄存器
0XA9
IP0
0X00
中断优先级寄存器 0
0XB9
IP1
0X00
中断优先级寄存器 1
0XC0
IRCON
0X00
中断标志寄存器
32/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
0XBF
IRCON2
中断标志寄存器 2
0X00
4.4.1 中断使能寄存器
表 4- 5IEN0 中断使能寄存器 0(A8H)
Interrupt
Enable
Register
Address: A8H
0(IEN0)
Read
BIT7
6
5
4
3
2
1
BIT0
EAL
WDT
ET2
ES0
ET1
EX1
ET0
EX0
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
EAL
全体中断使能位:
0:关闭所有中断;
1:全体中断使能,若要打开某一个中断,还需要打开它对应的中断使能位;
WDT
Watchdog Timer 刷新标志:
为防止 WDT 意外刷新,该位必须在 SWDT(IEN1.6)使能前置 1,并且 WDT
和 SWDT 置 1 在两个连续的周期内完成,下一条指令执行后,该位硬件清零;
ET2
定时器 2 中断使能:
0:定时器 2 中断关闭;
1:并且 EAL=1,定时器 2 中断使能;
ES0
串口 0 中断使能:
0:串口 0 中断关闭;
1:并且 EAL=1,串口 0 中断使能;
ET1
定时器 1 溢出中断使能:
0:定时器 1 溢出中断关闭;
1:并且 EAL=1,定时器 1 溢出中断使能;
EX1
外部中断 1 使能:
0:外部中断 1 关闭;
1:并且 EAL=1,外部中断 1 使能;
ET0
定时器 0 溢出中断使能:
0:定时器 0 溢出中断关闭;
1:并且 EAL=1,定时器 0 溢出中断使能;
EX0
外部中断 0 使能:
0:外部中断 0 关闭;
1:并且 EAL=1,外部中断 0 使能;
表 4- 6IEN1 中断使能寄存器 1(B8H)
Interrupt Enable Register
Address: B8H
33/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
1(IEN1)
Read
BIT7
6
5
4
3
2
1
BIT0
EXEN2
SWDT
TIMER4
TIMER3
COM1
COM0
SPI/GPIO
I2C/EMU
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
EXEN2
定时器 2 外部重载中断使能位:
0:定时器 2 外部重载中断关闭;
1:并且 EAL=1,定时器 2 外部重载中断使能;
SWDT
Watchdog timer 开启/刷新标志:
WDT 位(IEN0.6)先置 1,接着 SWDT 位置 1,Watchdog timer 执行刷新。该
位由硬件立即清零;
TIMER4
定时器 4 中断使能:
0:定时器 4 中断关闭;
1:并且 EAL=1,定时器 4 中断使能;
TIMER3
定时器 3 中断使能:
0:定时器 3 中断关闭;
1:并且 EAL=1,定时器 3 中断使能;
COM1
COM1(Timer2 的比较器 1)中断使能:
0:COM1 中断关闭;
1:并且 EAL=1,COM1 中断使能;
COM0
COM0(Timer2 的比较器 0)中断使能:
0:COM0 中断关闭;
1:并且 EAL=1,COM0 中断使能;
SPI/GPIO
SPI/GPIO 中断使能:
0:SPI/GPIO 中断关闭;
1:并且 EAL=1,SPI/GPIO 中断使能(GPIO 中断使能还需配置寄存器
GPIOXIE)
;
I2C/EMU
I2C/EMU 中断使能:
0:I2C/EMU 中断关闭;
1:并且 EAL=1,I2C/EMU 中断使能;
表 4- 7IEN2 中断使能寄存器 2(9AH)
Interrupt
Enable
Register
Address: 9AH
2(IEN2)
BIT7
6
5
4
34/158
v1.2
3
2
1
BIT0
BL6531/BL6536 电能表专用 MCU 芯片
Read
-
-
M7816A
UART3
UART2
RTC
PMU
ES1
-
-
0
0
0
0
0
0
Write
Reset
位
功能描述
M7816A
M7816A 中断使能:
0:M7816A 中断关闭;
1:并且 EAL=1,M7816A 中断使能(M7816A 中断使能还需配置寄存器
INTEN)
;
UART3 中断使能:
UART3
0:UART3 中断关闭;
1:并且 EAL=1,UART3 中断使能;
UART2 中断使能:
UART2
0:UART2 中断关闭;
1:并且 EAL=1,UART2 中断使能;
RTC 中断使能:
RTC
0:RTC 中断关闭;
1:并且 EAL=1,RTC 中断使能(RTC 中断使能还需配置寄存器 RTCIE)
;
PMU 中断使能:
PMU
0:PMU 中断关闭;
1:并且 EAL=1,PMU 中断使能(PMU 中断使能还需配置寄存器 PMINTEN)
;
串口 1 中断使能:
ES1
0:串口 1 中断关闭;
1:并且 EAL=1,串口 1 中断使能;
;
表 4- 8IEN4 中断使能寄存器 4(D1H)
Interrupt
Enable
Register
Address: D1H
4(IEN4)
Read
BIT7
6
5
4
3
2
1
BIT0
-
-
M7816B
-
-
-
-
-
-
-
0
-
-
-
-
-
Write
Reset
位
功能描述
M7816B
M7816B 中断使能:
0:M7816B 中断关闭;
1:并且 EAL=1,M7816B 中断使能(M7816B 中断使能还需配置寄存器
35/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
INTENB)
;
4.4.2 中断标志寄存器
表 4- 9 中断标志寄存器 IRCON(C0H)
IRCON
Read
Address: C0H
BIT7
6
5
4
3
2
1
BIT0
EXF2
TF2
TIMER4
TIMER3
COM1
COM0
SPI/GPIO
I2C/EMU
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
EXF2
定时器 2 重载中断标志位:
0:表示未发生定时器 2 重载中断;
1:表示已发生定时器 2 重载中断(写 0 清零)
;
TF2
定时器 2 溢出中断标志位:
0:表示未发生定时器 2 溢出中断;
1:表示已发生定时器 2 溢出中断(写 0 清零)
;
读此寄存器中断标志自动清零;
TIMER4
定时器 4 中断标志位:
0:表示未发生定时器 4 溢出中断;
1:表示已发生定时器 4 溢出中断(写 0 清零)
;
读此寄存器中断标志自动清零;
TIMER3
定时器 3 中断标志位:
0:表示未发生定时器 3 中断;
1:表示已发生定时器 3 中断(写 0 清零)
;
读此寄存器中断标志自动清零;
COM1
COM1(Timer2 的比较器 1)中断标志位:
0:表示未发生 COM1 中断;
1:表示已发生 COM1 中断(写 0 清零)
;
读此寄存器中断标志自动清零;
COM0
COM0(Timer2 的比较器 0)中断标志位:
0:表示未发生 COM0 中断;
1:表示已发生 COM0 中断(写 0 清零)
;
读此寄存器中断标志自动清零;
SPI/GPIO
SPI/GPIO 中断标志位:
0:表示未发生 SPI 或 GPIO 中断;
1:表示已发生 SPI 或 GPIO 中断,需查询 GPIOXIP(31E4H)确定具体的
中断类型;
读此寄存器中断标志自动清零;
36/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
I2C/EMU 中断标志位:
I2C/EMU
0:表示未发生 I2C/EMU 中断;
1:表示已发生 I2C/EMU 中断(写 0 清零);
读此寄存器中断标志自动清零;
表 4- 10 中断标志寄存器 IRCON2(BFH)
IRCON2
Read
Address: BFH
BIT7
6
5
4
3
2
1
BIT0
-
-
-
M7816A
UART3
UART2
RTC
PMU
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
M7816A
M7816A 总中断标志位:
0:表示未发生 M7816A 中断;
1:表示已发生 M7816A 中断,需查询 INTFLG(3059H)确定具体的中断类
型;
读此寄存器中断标志自动清零;
UART3
UART3 总中断标志位:
0:表示未发生 UART3 中断;
1:表示已发生 UART3 中断,需查询 S3CON(E5H)确定具体的中断类型;
读此寄存器中断标志自动清零;
UART2
UART2 总中断标志位:
0:表示未发生 UART2 中断;
1:表示已发生 UART2 中断,需查询 S2CON(B7H)确定具体的中断类型;
读此寄存器中断标志自动清零;
RTC
RTC 总中断标志位:
0:表示未发生 RTC 中断;
1:表示已发生 RTC 中断,需查询 RTCIF(300FH)确定具体的中断类型;
读此寄存器中断标志自动清零;
PMU
PMU 总中断标志位:
0:表示未发生 PMU 中断;
1:表示已发生 PMU 中断,需查询 PMINTFLG(3085H)确定具体的中断类
型;
读此寄存器中断标志自动清零;
4.4.3 中断优先级寄存器
表 4- 11 IP0 优先级控制寄存器 0(A9H)
Interrupt
Priority
Control
Address: A9H
37/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Register 0 (IP0)
Read
BIT7
6
5
4
3
2
1
BIT0
-
WDTS
IP0.5
IP0.4
IP0.3
IP0.2
IP0.1
IP0.0
-
0
0
0
0
0
0
0
Write
Reset
表 4- 12 IP1 优先级控制寄存器 1(B9H)
Interrupt
Priority
Control
Address: B9H
Register 1(IP1)
Read
BIT7
6
5
4
3
2
1
BIT0
-
-
IP0.5
IP0.4
IP0.3
IP0.2
IP0.1
IP0.0
-
-
0
0
0
0
0
0
Write
Reset
4.5 中断处理
中断系统遵循以下两条基本规则:
1.低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源
所中断;
2.一种中断源不管是高优先级或低优先级,一旦得到响应,与它同级的中断源不能再
中断它。
当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。其优先
级排列见表 3-3-2 中同级中断优先顺序。
RTC 中断、EMU 中断、PMU 中断等都包含了若干个中断源。以 RTC 中断为例,RTC
中断标志寄存器包含:闹钟中断、秒定时中断、定时器 2 中断、定时器 1 中断、日中断、小
时中断、分钟中断、秒中断 8 个中断标志。用户可以在 ISR 中通过软件查询的方式判断 RTC
中断源,并在 ISR 中在清除相应的中断标志。
38/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
5. 时钟管理
5.1 概述
如下图所示,芯片的时钟源有三个时钟源,RC 振荡器时钟(120KHz+/-10%),低频 32K
晶体振荡器时钟及高频 PLL 时钟。上电复位后使用 RC 振荡器时钟开始工作,MCU 主时钟
根据配置可选择低频晶体振荡器时钟或者高频 PLL 时钟,高频 PLL 时钟输出分频可选择多
种频率。
1nF
32KHz
Crystal
oscillator
PLL
32KHz x 450
Divider
/1/2/4/8
14.7MHz
7.4MHz
3.7MHz
1.8MHz
32KHz
RC oscillator
120KHz+/-10%
120KHz
图 5-1 时钟源
39/158
v1.2
digital
core
BL6531/BL6536 电能表专用 MCU 芯片
AVDD
125ms
PORB
VDDD
PLL_LOOP
2ms
14.7MHz
PLL clock
for digital
14.7MHz/7.4MHz/3.7MHz/1.8MHz
<40us
Internal
RC oscillator
120KHz
~20ms
crystal
oscillator
32KHz
图 5-2 上电时钟稳定顺序
5.2 晶体振荡器
晶体振荡器通过外接 32768Hz 晶体提供稳定的 32kHz 振荡源,它不可关断,功耗极
低,主要用来给实时时钟(RTC)模块和 PLL 提供输入时钟。BL6531 使用外部晶体时不需要
负载电容。上电控制中采用了 125ms 的快速起振模式,125ms 后数字电路工作,将主时钟由
内部振荡器切换到晶振输出时钟或者 PLL 时钟输出。
晶振时钟输出启动时间在 20ms 以内,考虑晶振输出初期噪声较大,增加起振时间。
典型电流:1.3uA
起振时间:125ms
5.3 片内 RC 振荡器
芯片内包含一个内部低频 RC 振荡器,标称频率是 120kHz。系统复位后默认选择其为
系统时钟。在正常工作模式下,RC 振荡器一直有效。在节电模式下(SLEEP/STOP)可通过
节电控制寄存器的配置来决定是否关闭 RC 振荡器。
此振荡器起振稳定时间在 40us 以内。
典型电流:750nA
5.4 PLL 振荡器
系统里存在 1 个 PLL,PLL 的输入是低频 32.768kHz 晶体振荡器信号,经过倍频后输
出 32.768*450=14.7456MHz 的时钟信号。PLL 输入时钟固定,不可调节。输出可调节,
根据寄存器设置可分频为 14.7456MHZ、7.3728MHZ、3.6864MHZ、1.8432MZH。PLL 可以通过
软件控制使能与禁止工作。
PLL 环路使用 1.8V 电源,内置 LDO 模块,可在 2.2V-5.5V 电源范围内稳定工作。PLL
40/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
需要外置 1nF 的环路电容。PLL 环路锁定时间在 2ms 以内,电路设计中,PLL 环路将在启动
125ms 后,再提供数字部分时钟。
典型电流:150uA
RMS jitter: 450ps ([email protected], 电源为 2.2V-5V)
PLL 锁定时间:2ms
5.5 时钟控制寄存器
表 5- 1 时钟控制寄存器列表
地址
名称
复位值
功能描述
0x3070
CKCFGWP
0x56
时钟设置写保护寄存器
0x3071
CKCONREG
0x00
时钟设置寄存器
0x3072
CLKSELREG
0x00
时钟选择寄存器
0x3073
PLLODIVREG
0x03
PLL分频寄存器
0x3075
CLKSTATUS
0x00
时钟状态寄存器
表 5- 2 时钟设置写保护寄存器
CKCFGWP
Address: 3070H
Bit7
6
5
4
3
2
1
Bit0
0
1
0
1
0
1
1
0
2
1
Bit0
Read
Write
Reset
位
功能描述
CKCFGWP [7:0]
0x56:关闭写保护
0xA9:打开写保护
其他: 关闭写保护
表 5- 3 时钟设置寄存器
CKCONREG
Address: 3071H
Bit7
Read
6
-
5
-
4
3
-
-
-
-
-
Write
Reset
0
0
位
CKCONREG[1]
0
0
0
功能描述
1:PLL 时钟工作
0:PLL 不工作
表 5- 4 时钟选择寄存器
41/158
v1.2
0
1
0
BL6531/BL6536 电能表专用 MCU 芯片
CLKSELREG
Address: 3072H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
位
功能描述
CLKSELREG [1]
lpclk 选择
0:内部 RC 振荡器(默认)
1:晶体振荡器
CLKSELREG [0]
cpuclk 选择
0:lpclk(默认)
1:pll 时钟
表 5- 5PLL 分频寄存器
PLLODIVREG
Address: 3073H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
1
1
Read
Write
Reset
位
功能描述
PLLODIVREG [1:0]
PLL 输出分频
00:1/8 分频
01:1/4 分频
10:1/2 分频
11:1 分频
表 5- 6 时钟状态寄存器
CKSTATUS
Address: 3075H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
位
功能描述
42/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
CKSTATUS [1]
1:晶体振荡器正常
0:晶体振荡器不正常
CKSTATUS [0]
1:PLL 振荡器正常
0:PLL 振荡器不正常
43/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
6. GPIO 端口
6.1 概述
芯片内共有 GPIO 59 个,分为 8 组,分别为 GPIO0-GPIO7,其中,GPIO16、GPIO21、
GPIO52 不能使用。
I/O 端口的主要功能特性:
1.
所有端口引脚都耐 5V 电压
2.
所有端口可配置为数字输入/输出、模拟输入/输出,除开漏可选结构端口外,都可设置
上拉。
3.
所有端口数字输入有施密特特性。
4.
GPIO1.5/2.0 端口可配置为 20K 强上拉,GPIO2.6/2.7/3.4/3.5/5.1 可设置开漏输出。
5.
GPIO_LED 类型端口驱动能力为 15mA,其余类型驱动能力为 5mA,拉电流灌电流基
本一致。
41 脚使用 timer 2 外部输入功能时,内部带有数字滤波器。
6.
表 6-1 GPIO 类型列表
PIN
No.
PIN Name
PIN Type
PIN
No.
PIN Name
PIN Type
1
GPIO1.7/7816_CLKB
GPIO
47
GPIO2.7/TXD2
GPIO_ODR
2
GPIO2.0/7816_OB
GPIO_20KPUP
48
GPIO1.0/SCK
GPIO
7
GPIO2.2/RXD0
GPIO
49
GPIO1.1/MISO
GPIO
8
GPIO2.3/TXD0
GPIO
50
GPIO1.2/MOSI
GPIO
9
GPIO2.4/RXD1
GPIO
51
GPIO1.3/SPSSN
GPIO
10
GPIO2.5/TXD1
GPIO_500KPUP
52
GPIO5.7/CMP1/ADC
0
GPIO
11
GPIO4.7/SEG39
GPIO_500K_LE
D
53
GPIO0.0/JTAG_TCK
GPIO
12
GPIO4.6/SEG38
GPIO_500KPUP
54
GPIO0.1/JTAG_TDI
GPIO
16
GPIO4.5/SEG37
GPIO_500KPUP
55
GPIO0.2/JTAG_TMS
GPIO
17
GPIO4.4/SEG36
GPIO_500KPUP
56
GPIO0.3/JTAG_TDO
GPIO
18
GPIO4.3/SEG35
GPIO
59
GPIO4.1/SEG33
GPIO_500KPU
P
19
GPIO5.6/CMP0/ADC2
GPIO
60
GPIO0.7/TXD3/SDA
1
GPIO
20
GPIO5.0/RTC1S
GPIO
61
GPIO0.6/RXD3/SCL
1
GPIO
26
GPIO6.7/SEG7
GPIO_LED
62
GPIO0.5/SDA0
GPIO
27
GPIO6.6/SEG6
GPIO_LED
63
GPIO0.4/SCL0
GPIO
28
GPIO6.5/SEG5
GPIO_LED
64
GPIO7.0/SEG13
GPIO
44/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
29
GPIO6.4/SEG4
GPIO_LED
65
GPIO7.1/SEG14
GPIO
30
GPIO6.3/SEG3
GPIO_LED
66
GPIO7.2/SEG15
GPIO
31
GPIO6.2/SEG2
GPIO_LED
67
GPIO7.3/SEG16
GPIO
32
GPIO6.1/SEG1
GPIO_LED
68
GPIO7.4/SEG17
GPIO
33
GPIO6.0/SEG0
GPIO_LED
69
GPIO7.5/SEG18
GPIO
38
GPIO4.0/SEG32
GPIO_500KPUP
70
GPIO7.6/SEG19
GPIO
39
GPIO3.7/SEG31/COM
4
GPIO
71
GPIO7.7/SEG20
GPIO
40
GPIO4.2/SEG34
GPIO_500KPUP
75
GPIO3.0/SEG24
GPIO
41
GPIO5.3/T2/ADC3
GPIO
76
GPIO3.1/SEG25
GPIO
42
GPIO3.6/SEG30/COM
5
GPIO
77
GPIO3.2/SEG26
GPIO
43
GPIO3.5/SEG29/COM
6
GPIO_ODR
78
GPIO3.3/SEG27
GPIO
44
GPIO3.4/SEG28/COM
7
GPIO_ODR
79
GPIO1.5/7816_OA GPIO_20KPUP
45
GPIO5.1/T0/ADC1
GPIO_ODR
80
GPIO1.4/7816_CLK
A
46
GPIO2.6/RXD2
GPIO_ODR
GPIO
*GPIO 类型功能: 模拟输入,数字输入,数字输出,70K 上拉电阻。
*GPIO_500KPUP 类型功能:模拟输入,数字输入,数字输出,500K 上拉电阻。
*GPIO_20KPUP 类型功能:模拟输入,数字输入,数字输出,70K 或 20K 上拉可选。
*GPIO_LED 类型功能:模拟输入,数字输入,大驱动数字输出,70K 上拉电阻。
*GPIO_ODR 类型功能:模拟输入,数字输入,数字输出可选为开漏模式。
45/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
6.2 GPIO 结构框图
GPIO PAD BLOCK DIAGRAM
PUEN
ANAENB
OUTEN
PAD
ANAEN:
OUTEN:
INEN:
PUEN:
AEN2:
AEN1:
DOUT:
DIN:
ANA2:
ANA1:
ANAEN
DOUT
ctr[5]
ctr[4]
ctr[3]
ctr[2]
ctr[1]
ctr[0]
_do
_di
ain2
ain1
ANAEN
AEN1
ANA1
AEN2
ANA2
ANAENB
DIN
INEN
图 6-1 GPIO 端口结构图
6.3 GPIO 配置寄存器
每个 GPIO 端口都有一个配置寄存器,每组 GPIO 有一个 GPIO 寄存器。其中 GPIO4 可
用作外部中断,有中断使能寄存器及中断标志寄存器。相应的寄存器地址为:
表 6- 1 GPIO 控制寄存器列表
GPIO 名
配置寄存器
IO 中断使能
IO 中断标志
IO 端口
地址
寄存器地址
寄存器地址
寄存器地址
GPIO0.0~GPIO0.7
3180h~3187h
31f0h
GPIO1.0~GPIO1.7
3188h~318fh
31f1h
GPIO2.0~GPIO2.7
3190h~3197h
31f2h
GPIO3.0~GPIO3.7
3198h~319fh
31f3h
GPIO4.0~GPIO4.7
31a0h~31a7h
GPIO5.0~GPIO5.7
31a8h~31afh
31f5h
GPIO6.0~GPIO6.7
31b0h~31b7h
31f6h
31d4h
46/158
v1.2
31e4h
31f4h
BL6531/BL6536 电能表专用 MCU 芯片
GPIO7.0~GPIO7.7
31b8h~31bfh
31f7h
表 6- 2 GPIO 端口配置寄存器
名称
GPIOX.X 端口配置寄存器 GPIOXXCFG
地址
位
Bit7
Bit6
位名
位权限
U-0
U-0
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
ANADIGB
OUTEN
INEN
PULLEN
FUNSEL1
FUNSEL0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
Bit5 GPIOXX.ANADIGB:GPIOX.X 端口模拟/数字选择控制位
1 = GPIOX.X 选择模拟端口功能,数字输出禁止,数字输入 BUF 关断,输入上拉关断
0 = GPIOX.X 选择数字端口功能,模拟通道关断
Bit4 GPIOXX.OUTEN:GPIOX.X 输出使能
1 = GPIOX.X 端口输出使能
0 = GPIOX.X 端口输出禁止
注:对此位的控制仅在 GPIOXXANADIGB=0 时有效。
Bit3 GPIOXX.INEN:GPIOX.X 输入使能
1 = GPIOX.X 端口输入使能
0 = GPIOX.X 端口输入禁止
注:对此位的控制仅在 GPIOXXANADIGB=0 时有效。
Bit2 GPIOXX.PUEN:GPIOX.X 输入上拉电阻使能控制
1 = GPIOX.X 输入上拉电阻有效
0 = GPIOX.X 输入上拉电阻无效
Bit7-6 未使用
Bit[1:0] GPIOXX.FUNSEL[1:0]:GPIOX.X 端口信号选择控制位
当 GPIOXXANADIGB=0,即端口选择数字功能时
00 = 数字 I/O 功能 0 (特殊功能)
01 = 数字 I/O 功能 1 (GPIO)
10 = 数字 I/O 功能 2 (PORT)
11 = 数字 I/O 功能 3 (测试引脚)
注:若对应编码的数字 I/O 功能没有定义,则芯片默认将该功能设为特殊功能。
当 GPIOXX.ANADIG=1,即端口选择模拟功能时
00 = 模拟 I/O 功能 0 (LCD 显示输出)
01 = 模拟 I/O 功能 1 (ADC/比较器 模拟通道)
表 6- 3 GPIO 端口寄存器
名称
GPIOX 端口寄存器 GPIOX
地址
位
Bit7
Bit6
Bit5
Bit4
47/158
v1.2
Bit3
Bit2
Bit1
Bit0
BL6531/BL6536 电能表专用 MCU 芯片
位名
GPIOX7
GPIOX6
GPIOX5
GPIOX4
GPIOX3
GPIOX2
GPIOX1
GPIOX0
位权限
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
Bit7-0 GPIO07~GPIO00:GPIO0.7~GPIO0.0 端口位。写相应 bit 位相应端口输出相应电平。
当端口设置为输出时,读端口读取寄存器信息;当端口设置为输入时,读端口读取引脚状态。
1 = 端口输出 1 电平
0 = 端口输出 0 电平
表 6- 4 GPIO4 中断使能寄存器
名称
GPIO4 中断使能寄存器 GPIO4IE
地址
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位名
GPIO47IE
GPIO46IE
GPIO45IE
GPIO44IE
GPIO43IE
GPIO42IE
GPIO41IE
GPIO40IE
位权限
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
Bit7-0 GPIO47.IE~GPIO40.IE:GPIO4.7~GPIO4.0 中断使能控制位
1 = GPIO4.7~GPIO4.0 中断使能
0 = GPIO4.7~GPIO4.0 中断禁止,中断禁止不影响中断标志位的产生。
表 6- 5 GPIO4 中断标志寄存器
名称
GPIO4 中断标志寄存器 GPIO4IP
地址
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位名
GPIO47IP
GPIO46IP
GPIO45IP
GPIO44IP
GPIO43IP
GPIO42IP
GPIO41IP
GPIO40IP
位权限
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
Bit7-0 GPIO47IF~GPIO40IF:GPIO4.7~GPIO4.0 中断标志位,写 0 清零
1 = GPIO4.7~GPIO4.0 中断有效,有电平变化产生,中断使能位不影响该标志的产生。
0 = 写 0 清 GPIO4.7~GPIO4.0 中断标志
48/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
7. 定时器
7.1 概述

BL6531/BL6536有5个16位可编程的定时器/计数器:定时器T0、定时器T1、定时器T2、
定时器T3、定时器T4。

每一个定时器/计数器都既可用作定时器方式,又可用作计数器方式。

每一个定时器/计数器都有两个独立的8位寄存器组成。Timer0:TL0和TH0;Timer1:
TL1和TH1;Timer2:TL2和TH2;Timer3:TL3和TH3 Time4:TL4和TH4。
7.2 定时器工作模式
定时器0和定时器1都有4种工作模式,由TMODE和TCON控制。这四种工作模式是:

模式0:13位定时器/计数器

模式1:16位定时器/计数器

模式2:自动装入时间常数的8位定时器/计数器

模式3:1个8Bit计数器和1个8Bit定时器或1个8bit定时器和1个8bit定时器(Timer1在该模
式下关闭)
7.2.1 模式 0/1
当 Timer0 作为 13 位定时器/计数器的时候,TL0 的低 3 位可以被忽略,不会发生变化。
图 7-1 模式 0/1 示意图
49/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
7.2.2 模式 2
图 7-2 模式 2 示意图
7.2.3 模式 3
Timer1在该模式下关闭。
图 7-3 模式 3 示意图
注:图中的Fosc专指系统时钟,不是晶振时钟
7.3 定时器 0
在定时器模式中,定时器0每12个时钟周期加1,就是说,在每12个周期的时钟信号之后,
它的计数会加1。 在计数器模式中,定时器0会检测T0 pin的信号,每个下降沿计数器加1。
50/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
计数器识别一个下降沿需要2个时钟周期,所以最大的输入计数频率是系统时钟的1/2。虽然
对时钟的占空比没有限制,但是为了确保能够识别到0或1的状态,输入信号应该至少保持1
个系统时钟周期的稳定状态。
1, 模式0
设置寄存器“TMOD”的标志位TMOD[1:0]=00可进入该模式。
在模式0,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数
器,寄存器中记录的是“T0”管脚的下降沿个数。清除标志位TMOD.2可选择为定时器,反之
选择为计数器。
定时器/计数器被分为两个8位寄存器,低字节和高字节;低字节又被分为两部分:低5
位和高3位(只有低5位是计数器的一部分)。这就使定时器/计数器成为一个13位的计数器,
每12个时钟周期加1,或者是外部输入信号“T0”的值由1变为0时加1。当定时器/计数器0溢出
时,“TF0”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。 定时器/
计数器可被软件/硬件控制。标志位“TR0”可以控制定时器的停止(清0)和运行(置1)。如
果“TMOD.3”被使能,“INT0”管脚的电平可以控制计数器的停止(低电平)和运行(高电平)。
模式0下作定时器用时,其定时时间计算公式为:Td=(2^13-X)×12×Tcp
2, 模式1
设置寄存器“TMOD”的标志位TMOD[1:0]=01可进入该模式。 模式1与模式0的唯一区别
就是低字节寄存器不再被分为低5位和高3位两部分,整个低字节都用于计数器。在模式1中,
定时器/计数器0是一个16位的计数器。
在模式1下作定时器用时,其定时时间计算公式为:Td=(2^16-X)×12×Tcp
3, 模式2
设置寄存器“TMOD”的标志位TMOD[1:0]=10可进入该模式。
在模式2,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数
器,寄存器中记录的是“T0”管脚的下降沿个数。清除标志位TMOD.2可选择为定时器,反之
选择为计数器。
在模式2,只有低字节(“TL0”)会每12个时钟周期加1,或者是外部输入信号“T0”的值
由1变为0时加1;并且定时器/计数器是一个8位的重载定时器/计数器。当定时器/计数器0溢
出时,“TF0”置位,同时产生定时器溢出中断,程序进入中断后,该位被自动清零。当溢出
发生时,新的值将会从高字节(“TH0”)到低字节(“TL0”)中抓取。
定时器/计数器可被软件或者硬件控制。标志位“TR0”可以控制定时器的停止(清0)和
运行(置1)
。如果“TMOD.3”被使能,“INT0”管脚的电平可以控制计数器的停止(低电平)
和运行(高电平)
。
在模式2下作定时器用时,其定时时间计算公式为:
Td=(2^8-X)×12×Tcp
4,模式3
设置寄存器“TMOD”的标志位TMOD[1:0]=11可进入该模式。
在模式3,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数
器,寄存器中记录的是“T0”管脚的下降沿个数。清除标志位可选择为定时器,反之选择为计
51/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
数器。
在模式3,低字节(“TL0”)会每12个时钟周期加1,或者是外部输入信号“T0”的值由1
变为0时加1。高字节(“TH0”)会每12个时钟周期加1。当定时器/计数器低字节0溢出时,“TF0”
置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。当定时器/计数器的
高字节溢出时,“TF1”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。
在模式3,定时器/计数器的低字节受“TR0”控制。高字节受“TR1”控制,当“TR1”置位时,
开始计数。
7.4 定时器 1
在定时器模式中,定时器1每12个时钟周期加1,就是说,在每12个周期的时钟信号之后,
它的计数会加1。 在计数器模式中,定时器0在检测到管脚“T1”有下降沿时加1。因为它识别
一个下降沿需要2个时钟周期,所以最大的输入计数频率是系统晶振频率的1/2。虽然对时钟
的占空比没有限制,但是为了确保能够识别到0或1的状态,输入信号应该至少保持1个系统
时钟周期的稳定状态。
1.
模式0
设置寄存器“TMOD”的标志位TMOD[5:4]=00可进入该模式。
在模式0,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数
器,寄存器中记录的是“T1”管脚的下降沿个数。清除标志位TMOD.6可选择为定时器,反之
选择为计数器。
定时器/计数器1被分为两个8位寄存器,低字节和高字节;低字节又被分为两部分:低5
位和高3位(只有低5位是计数器的一部分)。这就使定时器/计数器1成为一个13位的计数器,
每12个时钟周期加1,或者是外部输入信号“T1”的值由1变为0时加1。当定时器/计数器1溢出
时,“TF1”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。 定时器/
计数器可被软件或者硬件控制。标志位“TR1”可以控制定时器的停止(清0)和运行(置1)。
如果“TMOD.7”被置位,“INT1”管脚的电平可以控制计数器的停止(低电平)和运行(高电
平)。
2.
模式1
设置寄存器“TMOD”的标志位TMOD[5:4]=01可进入该模式。 模式1与模式0的唯一区
别就是低字节寄存器不再被分为低5位和高3位两部分,整个低字节都用于计数器。在模式1
中,定时器/计数器1是一个16位的计数器。
3.
模式2
设置寄存器“TMOD”的标志位TMOD[5:4]=10可进入该模式。
在模式2,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数
器,寄存器中记录的是“T1”管脚的下降沿个数。清除标志位TMOD.6可选择为定时器,反之
选择为计数器。 在模式2,只有低字节(“TL1”)会每12个时钟周期加1,或者是外部输入
信号“T1”的值由1变为0时加1。并且定时器/计数器是一个8位的重载定时器/计数器。当低字
节溢出时,“TF1”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。当
溢出发生时,新的值将会从高字节(“TH1”)到低字节(“TL1”)中抓取。
定时器/计数器可被软件或者硬件控制。标志位“TR1”可以控制定时器的停止(清0)和
运行(置1)。如果“TMOD.7”被置位,“INT1”管脚的电平可以控制计数器的停止(低电平)
52/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
和运行(高电平)。
4.
模式3
设置寄存器“TMOD”的标志位TMOD [5:4]=11可进入该模式。 在这种模式下,定时器/
计数器1被关闭(只有定时器/计数器0可在模式3下操作)。
7.5 定时器 2
Timer2是一个16bit的定时器/计数器,包含CCU(Compare and Capture Unit)单元,可以实
现比较/捕获功能。通过配置寄存器CCEN来设置不同的比较/捕获模式。使用该功能时需要
在PECFG内将PE[3:0]配置为相应的CC功能管脚。
图 7-4 Timer2 模块结构图
7.5.1 定时器/计数器功能
a)
定时器模式
设置寄存器T2CON的标志位T2I0=1和T2I1=0进入该模式。定时器2有两个频率的时钟可
以选择,当标志位T2PS=0时,每12个时钟周期计数器加1;当标志位T2PS=1时,每24个时
钟周期计数器加1。
b)
计数器模式
设置寄存器T2CON的标志位T2I0=0和T2I1=1进入该模式。该模式中,定时器2对T2 pin
的下降沿计数。最大计数率为时钟频率的1/2。
c)
门控定时器模式
设置寄存器T2CON的标志位T2I0=1和T2I1=1进入该模式。该模式中有两个频率的时钟
可以选择,每12或者24个时钟周期计数器加1;同时受外部信号T2的控制。当T2=0时,Timer2
停止。
d)
重新载入
当Timer2溢出时,TH2/TL2自动从CRC寄存器中载入16位数据。
7.5.2 比较器功能
CCU单元由四组寄存器组成:crc、cc1、cc2、cc3,每组寄存器都可以配置成比较器模
式。在比较器模式中,每组寄存器的值与Timer2的TH2&TL2值比较,比较的结果通过PE端
口的低四位PE[0:3](依次为PE.0/PE.1/PE.2/PE.3)输出(需要在PECFG内将PE[0:3]配置为相
应的CC功能管脚)。有两种比较模式,可以通过寄存器T2CON的标志位T2CM选择。
a)
比较模式 0
设 置 寄 存 器 T2CON 的 标 志 位 T2CM=0 进 入 该 模 式 。 当 Timer2 的 值 和 比 较 寄 存 器
crc/cc1/cc2/cc3的值相同时,比较输出由低电平转为高电平;当Timer2溢出时,比较输出又
53/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
由高电平转为低电平。其中当Timer2的值和比较寄存器crc/cc1/cc2/cc3的值相同时, 还会触发
中断请求, 中断标志IEX3/ IEX4/ IEX5/ IEX6位(寄存器IRCON里)会置1。
图 7-5 比较模式 0 示意图
b)
比较模式 1
设置寄存器T2CON的标志位T2CM=1进入该模式。该模式下,寄存器位PE.0/ PE.1/
PE.2/PE.3可被软件赋值(需要在PECFG内将PE[0:3]配置为相应的CC功能管脚),当Timer2
的值和比较寄存器crc/cc1/cc2/cc3的值相同时,寄存器位PE.0/ PE.1/ PE.2/PE.3的值被传送到
外部接口,并且还会触发中断请求,中断标志位IEX3/ IEX4/ IEX5/ IEX6位(寄存器IRCON里)
会置1。该模式下,timer2的溢出不会改变比较器的外部输出信号。
图 7-6 比较模式 1 示意图
54/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
7.5.3 捕获器功能
CCU单元的四组寄存器crc、cc1、cc2、cc3都可以配置成捕获器模式。在该模式中,当
有外部信号(mode0)或软件写操作(mode1)时,Timer2的值将被保存到CCU寄存器中。
a)
捕获模式 0
以下条件满足时,执行一次捕获操作(需要在PECFG内将PE[0:3]配置为相应的CC功能
管脚): 输入信号cc1有上升沿(Timer2的值被捕获到寄存器CCL1/CCH1中) 输入信号cc2
有上升沿(Timer2的值被捕获到寄存器CCL2/CCH2中) 输入信号cc3有上升沿(Timer2的
值被捕获到寄存器CCL3/CCH3中) 输入信号cc0有上升/下降沿(Timer2的值被捕获到寄存
器CRCL/CRCH中)。该模式下,不会产生中断请求。
b)
捕获模式 1
当向任意一组CCU寄存器的低字节中写入任意值时,Timer2的值将被捕获到对应的
CCU寄存器中。该模式下,不会产生中断请求。
7.6 定时器 3 和定时器 4
定时器 3 和定时器 4 工作模式与定时器 1 相同,分别由寄存器 T3CON 和 T4CON 控制。
7.7 定时器配置寄存器
表 7- 1 定时器控制寄存器列表
地址
名称
复位值
功能描述
0x88
TCON
0x00
定时器控制寄存器
0x89
TMOD
0x00
定时器方式寄存器
0x8A
TL0
0x00
定时器0计数器低8位
0x8B
TL1
0x00
定时器1计数器低8位
0x8C
TH0
0x00
定时器0计数器高8位
0x8D
TH1
0x00
定时器1计数器高8位
0xCC
TL2
0x00
定时器/计数器2低8位
0xCD
TH2
0x00
定时器/计数器2高8位
0xC8
T2CON
0x00
定时器2控制寄存器
0xCA
CRCL
0x00
自动装载寄存器低8位 增加(T2)
0xCB
CRCH
0x00
自动装载寄存器高8位 增加(T2)
0xC1
CCEN
0x00
定时器2比较/捕获功能配置寄存器
0xC2
CCL1
0x00
比较/捕获寄存器1低8位
0xC3
CCH1
0x00
比较/捕获寄存器1高8位
0xC4
CCL2
0x00
比较/捕获寄存器2低8位
0xC5
CCH2
0x00
比较/捕获寄存器2高8位
0xC6
CCL3
0x00
比较/捕获寄存器3低8位
0xC7
CCH3
0x00
比较/捕获寄存器3高8位
0x91
T3CON
0x00
定时器3控制寄存器
0x96
TL3
0x00
定时器3计数器低8位
0x97
TH3
0x00
定时器3计数器高8位
55/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
0x9E
T4CON
0x00
定时器4控制寄存器
0x9F
TL4
0x00
定时器4计数器低8位
0xA7
TH4
0x00
定时器4计数器高8位
表 7- 2 定时器 0、定时器 1 控制寄存器(TCON 0x88H)
TCON
Read
Address: 88H
Bit7
6
5
4
3
2
1
Bit0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
TF1
定时器 1 溢出中断标志当定时器 1 溢出时,由硬件置位。当进入中
断处理程序后,由硬件自动清除;也可以由软件清除。
TR1
定时器 1 运行控制位清除该位,定时器 1 将停止运行
TF0
定时器 0 溢出中断标志当定时器 0 溢出时,由硬件置位。当进入中
断处理程序后,由硬件自动清除;也可以由软件清除。
TR0
定时器 0 运行控制位清除该位,定时器 0 将停止运行
IE1
外部中断 1 标志当外部中断 int1 产生时(电平触发或沿触发)
,由
硬件置位。当进入中断处理程序后,由硬件清除。
外部中断 1 类型控制位 TCON.2=1:外部中断 1 由输入引脚的下降
IT1
沿触发; TCON.2=0:外部中断 1 由输入引脚的低电平触发;
外部中断 0 请求表志当外部中断 int0 产生时(电平触发或沿触发),
IE0
由硬件置位。当进入中断处理程序后,由硬件清除。
外部中断 0 类型控制位 TCON.0=1:外部中断 0 由输入引脚的下降
IT0
沿触发; TCON.0=0:外部中断 0 由输入引脚的低电平触发;
表 7- 3 定时器 0、定时器 1 模式寄存器(TMOD 0x89H)
T0&T1
Mode
register
Address: 89H
Bit7
6
5
4
3
2
1
Bit0
GATE
XT/C
M1
M0
GATE
XC/ T
M1
M0
0
0
0
0
0
0
0
0
(TMOD)
Read
Write
Reset
位
功能描述
TMOD.7
定时器 1 门控位 GATE=1:只有在“int1”引脚为高电平和“tr1”=1
时,定时器 1 才在“t1”引脚的下降沿计数; GATE=0:只要“tr1”=1
56/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
时,定时器 1 就在“t1”引脚的下降沿计数;
定时器 1 方式选择位
TMOD.6
C/ T =1:计数器方式
C/ T =0:定时器方式
定时器 1 模式控制位
TMOD.5
参照 TMOD[1:0]的表格所示
TMOD.4
定时器 0 门控位 GATE=1:只有在“int0”引脚为高电平和“tr0”=1
TMOD.3
时,定时器 0 才在“t0”引脚的下降沿计数; GATE=0:只要“tr0”=1
时,定时器 0 就在“t0”引脚的下降沿计数;
定时器 0 方式选择位
TMOD.2
C/ T =1:计数器方式
C/ T =0:定时器方式
定时器 0 模式控制位
TMOD[1:0]
M0
M1
方
说明
式
0
0
13 位计数器/定时器,TL0(TL1)中的
0
低 5 位和 TH0(TH1)中的高 8 位
0
1
1
16 位计数器/定时器
1
0
2
8 位计数器/定时器,具有自动再装载
功能,装入在 TL0(TL1)溢出时发
生,装入的值由 TH0(TH1)提供。
1
1
定时器 1 停止操作,定时器 0 分成两
3
个 8 位的独立计数器:TL0 使用控制
位 tr0,溢出时将 tf0 置位;TH0 使用控
制位 tr1,溢出时将 tr1 置位
表 7- 4 定时器 1 计数器高 8 位(TH1)
TH1
Address: 8DH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 5 定时器 1 计数器低 8 位(8BH,TL1)
TL1
Address: 8BH
57/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 6 定时器 0 计数器高 8 位(8CH,TH0)
TH0
Address: 8CH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 7 定时器 0 计数器低 8 位(8AH,TL0)
TL0
Address: 8AH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 8 定时器 2 控制寄存器(T2CON 0xC8H)
T2 control register (T2CON)
Read:
Address: C8H
Bit7
6
5
4
3
2
1
Bit0
T2PS
I3FR
I2FR
T2R1
T2R0
T2CM
T2I1
T2I0
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
T2PS
时钟选择位 0 – 定时器 2 的时钟选择为系统时钟的 1/12; 1 – 定时器
2 的时钟选择为系统时钟的 1/24;
I3FR
INT3 和 Timer2 比较捕获信号触发方式选择:0 – 下降沿;1 – 上升
沿
I2FR
INT2 触发方式选择:0 – 下降沿;1 – 上升沿
T2R1,T2R0
0X – reload disabled
10 – Mode 0
11 – Mode 1
T2CM
定时器 2 比较模式选择 0 – 模式 0 1 – 模式 1
58/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
定时器 2 输入选择位
T2I1,T2I0
T2I1
T2I0
T2 工作模式
0
0
定时器 2 终止工作
0
1
定时器模式:输入时钟为 fsys/12 或
fsys/24
1
计数器模式:定时器 2 的计数由引脚“T2”的
0
下降沿驱动
1
定时器 T2 Pin 控制模式:输入时钟由引脚“T2”
1
控制使能或禁止,为 fsys/12 或
fsys/24
表 7- 9 定时器 2 计数器高 8 位(0CDH,TH2)
TH2
Address: CDH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 10 定时器 2 计数器低 8 位(0CCH,TL2)
TL2
Address: CCH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 11 定时器 2 比较/捕获功能配置寄存器(0xC1,CCEN)
CCEN
Address: C1H
Bit7
6
5
4
3
2
1
Bit0
Read:
COCAH
COCA
COCA
COCA
COCAH
COCA
COCA
COCAL
Write
3
L3
H2
L2
1
L1
H0
0
Reset
0
0
0
0
0
0
0
0
位
功能描述
类型
COCAH3
设置第 3 组寄存器 CCL3/CCH3 的比较/捕获模式
R/W
COCAL3
COCAH3
COCAL3
描述
0
0
关闭比较/捕获功能
59/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
0
1
由 CC0 引脚的上升沿触发捕获
1
0
打开比较功能
1
1
向 CCL3 写操作以触发捕获
COCAH2
设置第 2 组寄存器 CCL2/CCH2 的比较/捕获模式
COCAL2
COCAH2
COCAL2
描述
0
0
关闭比较/捕获功能
0
1
由 CC1 引脚的上升沿触发捕获
1
0
打开比较功能
1
1
向 CCL2 写操作以触发捕获
R/W
COCAH1
设置第 1 组寄存器 CCL1/CCH1 的比较/捕获模式
COCAL1
COCAH1
COCAL1
描述
0
0
关闭比较/捕获功能
0
1
由 CC2 引脚的上升沿触发捕获
1
0
打开比较功能
1
1
向 CCL1 写操作以触发捕获
R/W
COCAH0
设置第 0 组寄存器 CRCH0/CRCL0 的比较/捕获模式
COCAL0
COCAH0
COCAL0
描述
0
0
关闭比较/捕获功能
0
1
由 CC3 引脚的上升沿触发捕获
1
0
打开比较功能
1
1
向 CRCL3 写操作以触发捕获
R/W
表 7- 12 定时器 2 的 CRC 高 8 位寄存器(CBH,CRCH)
CRCH
Address: CBH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 13 定时器 2 的 CRC 低 8 位寄存器(CAH,CRCL)
CRCL
Address: CAH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 14 定时器 2 的 CC1 高 8 位寄存器(C2H,CC1H)
CC1H
Address: C2H
60/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 15 定时器 2 的 CC1 低 8 位寄存器(C3H,CC1L)
CC1L
Address: C3H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 16 定时器 2 的 CC2 高 8 位寄存器(C4H,CC2H)
CC2H
Address: C4H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 17 定时器 2 的 CC2 低 8 位寄存器(C5H,CC2L)
CC2L
Address: C5H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 18 定时器 2 的 CC3 高 8 位寄存器(C6H,CC3H)
CC3H
Address: C6H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 19 定时器 2 的 CC3 低 8 位寄存器(C7H,CC3L)
CC3L
Address: C7H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
61/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 7- 20 定时器 3 控制寄存器(T3CON 0x91H)
T3CON
Address: 91H
Bit7
6
5
4
3
2
1
Bit0
Read
T3CON.
T3CON.
T3CON.
T3CON.
T3CON.
T3CON.
T3CON.
T3CON.
Writ
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
e
Rese
t
位
功能描述
T3CON.7
定时器 3 门控位 GATE=1。
T3CON.6
定时器 3 方式选择位
C/ T =1:计数器方式
C/ T =0:定时器方式
定时器 3 模式控制位
T3CON.5
T3CON.4
M0
M1
方
说明
式
0
0
0
13 位计数器/定时器,TL3 中的低 5
位和 TH3 中的高 8 位
0
1
1
16 位计数器/定时器
1
0
2
8 位计数器/定时器,具有自动再装载
功能,装入在 TL3 溢出时发生,装入
的值由 TH3 提供。
1
1
3
定时器 3 分成两个 8 位的独立计数器.
T3CON.3
TH3 溢出标志位
T3CON.2
TH3 工作使能
T3CON.1
定时器 3 溢出标志位
T3CON.0
定时器 3 工作使能
表 7- 21 定时器 3 计数器高 8 位(TH3)
TH3
Address: 97H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 22 定时器 3 计数器低 8 位(TL3)
62/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
TL3
Address: 96H
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 23 定时器 4 控制寄存器(T4CON 0x9EH)
T4CON
Address: 9EH
Bit7
6
5
4
3
2
1
Bit0
Read
T4CON.
T4CON.
T4CON.
T4CON.
T4CON.
T4CON.
T4CON.
T4CON.
Writ
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
e
Rese
t
位
功能描述
T4CON.7
定时器 4 门控位 GATE=1。
T4CON.6
定时器 4 方式选择位
C/ T =1:计数器方式
C/ T =0:定时器方式
T4CON.5
T4CON.4
定时器 3 模式控制位
M0
M1
方
说明
式
0
0
0
13 位计数器/定时器,TL4 中的低 5
位和 TH4 中的高 8 位
0
1
1
16 位计数器/定时器
1
0
2
8 位计数器/定时器,具有自动再装载
功能,装入在 TL4 溢出时发生,装入
的值由 TH4 提供。
1
1
3
定时器 4 分成两个 8 位的独立计数器.
T4CON.3
TH4 溢出标志位
T4CON.2
TH4 工作使能
T4CON.1
定时器 4 溢出标志位
T4CON.0
定时器 4 工作使能
表 7- 24 定时器 4 计数器高 8 位(TH4)
TH3
Address: A7H
63/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
表 7- 25 定时器 4 计数器低 8 位(9FH,TL4)
TL3
Address: 9FH
Bit7
6
5
4
3
2
1
Bit0
Read:
x
x
x
x
x
x
x
x
Write
x
x
x
x
x
x
x
x
Reset
0
0
0
0
0
0
0
0
64/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
8. UART 接口
8.1 概述
BL6531/BL6536 支持四个可编程的全双工 UART 接口:UART0、UART1、UART2 和
UART3。主要由两个独立的串行数据缓冲寄存器 SBUF(一个发送缓冲寄存器,一个接收缓
冲寄存器)和发送控制器、接收控制器、输入移位寄存器及若干控制门电路组成。

每一个 UART 都支持全双工的异步串行通信,
通信波特率软件可设置,最大支持 115200。

每一个 UART 都支持 8 位数据或者 9 位数据通信,同时支持硬件奇偶校验。

UART0 和 UART1 支持红外调制功能,输出载波频率为 38KHZ。

UART1支持通信极性的自适应,通过判断起始位的电平变化,判断通信的极性,自动
适应该极性的通信。

UART2通信接口为Open Drien 接口,实现通信
8.2 UART0 接口
串口 0 提供一个灵活的全双工异步通信的接收器/发送器,支持三种异步工作方式:

方式 1:通过 TXD 发送或通过 RXD 接收 8 个数据位,波特率是可变的。

方式 2:通过 TXD 发送或通过 RXD 接收 9 个数据位,波特率可编程为振荡器频率
的 1/32 或 1/64。

方式 3:通过 TXD 发送或通过 RXD 接收 9 个数据位,波特率是可变的。
8.2.1 模块框图
图 8-1 UART0 接口模块框图
8.2.2 波特率
在串口 0 的方式 2 时,波特率有两种选择:当 PCON.7(即 SMOD 位)=1 时,波特率为
振荡器频率的 1/32;当 PCON.7(即 SMOD 位)=0 时,波特率为振荡器频率的 1/64。 在串
口 0 的模式 1、模式 3 时,波特率是可变的。
当 BD(ADCON.7)=1 时,波特率由波特率生成器和 SMOD 位的值确定:
65/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
其中 SMOD 是 SFR PCON.7 的值;S0REL 是 10bit 无符号数,寄存器 S0RELH 和
S0RELL 的值;fcpu 是系统时钟。
当 BD(ADCON.7)=0 时,波特率由定时器 1/定时器 2 的溢出速率和 SMOD 位的
值确定:
图 8-2 UART0 波特率
8.2.3 工作模式 1
模式 1 是一种标准的异步通信方式,每帧包含 10 位数据信息:1 位起始位(0)
,8 位
数据位(低位在 前)
,1 位停止位(1)。在这种方式中,TXD 引脚为数据发送端,RXD 引
脚为数据接收端,其波形如下图 所示:
66/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图 8-3 模式1 时串行口数据信息
在模式 1 中,可以用中断方式进行数据通信。当一帧中最后一个数据发送完时,发送
中断标志 TI 置 “1”
;同时,接收完最后一个数据位时,接收中断标志 RI 置“1”
。
8.2.4 工作模式 2
模式 2 的波特率固定为系统时钟的 1/32 或 1/64(取决于 pcon 寄存器的位 smod)
。
模式 2 是使用第 9 位数据的通信方式,每帧包含 11 位数据信息:1 位起始位(0)
,
8 位数据位(低位 在前)
,1 位可编程的第 9 位数据位,1 位停止位(1)。TXD 引脚为
数据发送端,RXD 引脚为数据接收端, 其波形如下图所示:
图 8-4 模式2 时串行口数据信息
在数据发送时,串行口控制寄存器中的 TB8_0 作为第 9 位数据同时发送,发送完毕
TB8_0 被清除。 RXD0 引脚为数据输入端,当 RXD0 引脚的下降沿出现,开始接收。接
收完成后,数据存放在 S0BUF 寄存器,第 9 位数据存放在寄存器 S0CON 的 RB8_0 位。
数据收发时,第 9 位数据可作为奇/偶校验或数据/地址标志位使用。
8.2.5 工作模式 3
模式 3 的数据传送方式和模式 2 相同,只是在波特率选择上不同。按照模式 3 进行
数据传送时允许奇 偶校验。数据收发时,第 9 位数据可作为奇/偶校验或数据/地址标志位
使用。
67/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图8-5 模式 3 时串行口数据信息
8.2.6 多处理器通信
模式 2 和模式 3 中每字节接收 9 位数据的特性,可以实现多机通信的特殊功能。
当 S0CON 的位 SM2_0 置 1 时,只有接受到的第 9 位数据(S0CON 的 RB8_0)
为 1 时,才会产生接 收中断,否则不会有接收中断产生。
当主机要发送一批数据给几个从机之一时,首先发送一帧表明从机地址的地址字节信
息,且在地址信 息中第 9 位为 1。从机的 SM2_0 都设定为 1,因此所有从机被中断而接
收地址信息。当某从机的地址与所 接收到的地址一致时,表明该从机被寻址,将其 SM2_0
清零,准备接收将传送的数据字节。此后主机发 送数据且保证第 9 位一直为 0,这样已被
寻址的从机可接收数据,未被寻址的从机忽略之后所传送的数据 字节。
8.3 UART1 接口
8.3.1 模块框图
图 8-6 UART1 模块框图
8.3.2 波特率
串口 1 在工作模式 1 和工作模式 2 中,波特率是可变的,采用内部波特率生成器,波特
68/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
率计算公式为:
其中 S1REL 是 10bit 无符号数,寄存器 S1RELH 和 S1RELL 的值;fcpu 是系统时钟。
8.3.3 工作模式 1
模式 1 是一种异步通信方式,每帧包含 9 位数据信息,波特率可变。波特率生成器
“S1RELH
S1RELL”用于同步输入和输出传输。串口 1 的波特率不受寄存器“pcon”的
“smod”位作用。TXD1 引脚为数据输出端,当向寄存器“S1BUF”中写入数据后,传输
开始。输出数据每帧包含 11 位数据信息:1 位起始位(0)
,8 位数据位(低位在前)
,1 位
可编程的第 9 位数据位(来自寄存器“S1CON” 的“tb81”位 )
,1 位停止位(1)
。RXD1
引脚为数据输入端,当 RXD1 引脚的下降沿出现,开始接收。寄存器“S1BUF”完成接收
后, 输入数据才可继续,第 9 位数据存放在寄存器“S1CON”的“rb81”位。在接收期间,
寄存器“S1BUF” “rb81”保持不变,直到接收完成。数据收发时,第 9 位数据可作为奇
/偶校验或数据/地址标志位使用。
图 8-7 UART1 工作模式 1 时数据信息
8.3.4 工作模式 2
模式 2 是一种异步通信方式,每帧包含 8 位数据信息,波特率可变。波特率生成器
“S1RELH
S1RELL”用于同步输入和输出传输。波特率不受寄存器“PCON”的“smod”
位作用。TXD1 引脚为数据输出端,当向寄存器“S1BUF”中写入数据后,传输开始。输
出数据每帧包含 10 位数据信息:1 位起始位(0)
,8 位数据位(低位在前)
,1 位停止位。
RXD1 引脚为数据输入端,当 RXD1 引脚的下降沿出现,开始接收。寄存器“S1BUF”完
成接收后, 输入数据才可继续。在接收期间,寄存器“S1BUF”
“rb81”保持不变,直到接
收完成。
69/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图 8-8 UART1 工作模式 2 时数据信息
8.3.5 多处理器通信
模式 1 中每字节接收 9 位数据的特性,可以实现多机通信的特殊功能。
若寄存器 S1CON 中的位”sm21”被置 1,接收中断只会在接收到的第 9 个字节是 1
的时候产生。否则, 在接收的时候没有中断产生。
为了利用这个特性实现多处理器通讯,需要将从处理器的”sm21”位设置为 1。主处理
器传输从机地址, 同时将第 9 位置 1,这样在所有的从机中触发接收中断。从处理器软件
程序比较接收到的字节与自己的网 络地址是否一致。如果一致,则清除”sm21”标志位,并
且接收从主机传送过来的其他信息中,第 9 位一直 保持为 0;其他的从机保持标志
位”sm21”为 1,以忽略该主机传送过来的其他信息。
8.4 UART2 和 UART3 接口
UART2 和 UART3 具有和 UART1 同样的串口通信功能。同样具有模式 1 和模式 2 两种
工作模式,并且具有和 UART 1 同样的多处理器通信功能。
8.5 红外载波调制
UART0 和 UART1 红外载波调制发送功能。由寄存器 IFRDCTL 控制,Bit0 设置为 1 时,
UART0 发送调制 38KHZ 载波,Bit1 设置为 1 时,UART1 发送调制 38KHZ 载波。
8.6 极性自适应
UART1 具有极性自适应功能,当寄存器 S1POL 的 Bit0 设置为 1 时,根据通信是起始
位的电平变换自动判断通信极性,当起始位从高电平变为低电平,判断为正极性 Bit2 位置 0,
当起始位从低电平变为高电平时,判断为负极性 Bit2 位置 1。当 S1POL 的 Bit0 为 0 时,可
以手动配置通信极性,当 Bit1 为 0 时,设置为正极性,当 Bit1 为 1 时,设置为负极性。当
自动识别为负极性或者手动配置为负极性时,数据通信时,硬件自动将数据进行转换。
8.7 UART 配置寄存器
表 8- 1UART 配置寄存器列表
地址
名称
复位值
0x98
S0CON
0x00
UART 0 控制寄存器
70/158
v1.2
功能描述
BL6531/BL6536 电能表专用 MCU 芯片
0x99
S0BUF
0x00
UART 0 数据缓冲寄存器
0x9b
S1CON
0x00
UART 1 控制寄存器
0x9c
S1BUF
0x00
UART 1 数据缓冲寄存器
0x87
PCON
0x08
UART 0 波特率控制位
0xD8
ADCON
0x00
UART0 波特率控制位
0xBA
S0RELH
0x03
UART0 波特率发生器的重载值
0xAA
S0RELL
0xd9
0xBB
S1RELH
0x03
0x9D
S1RELL
0x00
0xB7
S2CON
0x00
UART2 控制寄存器
0xBC
S2RELH
0x03
UART2 波特率发生器的重载值
0xBD
S2RELL
0x00
0xBE
S2BUF
0x00
UART2 数据缓冲寄存器
0xE5
S3CON
0x00
UART3 控制寄存器
0xE6
S3RELH
0x03
UART3 波特率发生器的重载值
0xE7
S3RELL
0x00
0xE8
S3BUF
0x00
UART3 数据缓冲寄存器
0xAB
S1POL
0x03
UART1 极性控制寄存器
0xAC
SPAR
0x00
奇偶校验控制寄存器
0xAD
SPARERR
0x00
奇偶校验错误指示寄存器
0x306F
IFRDCTL
0x00
红外调制输出控制寄存器
UART1 波特率发生器的重载值
表 8- 2 串口0 控制寄存器(S0CON 98H)
S0CON
Read
Address: 98H
Bit7
6
5
4
3
2
1
Bit0
SM0_0
SM1_0
SM2_0
REN0_0
TB8_0
RB8_0
TI0
RI0
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
串行工作方式选择位:选择串行的三种工作方式之一
SCON0.7
SCON0.6
SM0_0
SM1_0
模式
描述
波特率
0
1
模式 1 8 位串口 可变,详细内容参考波特率产生方式
1
0
模式 2 9 位串口 可编程为系统频率的 1/32 或 1/64
1
1
模式 3 9 位串口 可变,详细内容参考波特率产生方式
SCON0.5
多机交互使能位
SCON0.4
允许接收位
由软件置位/复位;REN_0 置位时允许接收。
SCON0.3
发送数据位 8
由软件置位/复位;方式 2、3 中是被发出去的第 9 数据位。
71/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
SCON0.2
接收数据位 8
方式 2、3 中是收到的第 9 数据位;方式 1 中若 SM2_0=0,则为收到的停止
SCON0.1
位
发送中断标志
方式 0 中,在发送的第 8 位刚结束时由硬件置位;其他方式时,在开始发送
停 止位时由硬件置位;必须由软件复位。
接收中断标志
方式 0 中,在接收的第 8 位刚结束时由硬件置位;其他方式时,在接收停止
SCON0.0
位 的中间时刻由硬件置位;必须由软件复位。
表 8- 3 串口0 缓冲寄存器(S0BUF 99H)
S1CON
Address: 99H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器 S0BUF 写操作,则 UART0 将开始向外发送缓存数据;对寄存器 S0BUF 读操
作,则 UART0 将从串行接收缓存中读取数据
表 8- 4 串口1 控制寄存器(S1CON 9BH)
S1CON
Read
Address: 9BH
Bit7
6
5
4
3
2
1
Bit0
SM
X
SM2_1
REN_1
TB8_1
RB8_1
TI1
RI1
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
SM
串口 1 模式选择
sm = 0: 模式 1
SM2_1
多机通讯允许位
REN_1
允许接收位
由软件置位/复位;REN_1 置位时允许接收。
TB8_1
发送数据位 8
由软件置位/复位; 在模式 1 中,是被发送
sm = 1: 模式 2
出去的第 9 数据位;
接收数据位 8
RB8_1
在模式 1 中,是收到的第 9 数据位; 在模式 2 中,
若 sm2_1 =0,则为收到的停止位;
72/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
TI_1
发送中断标志
方式 1 或 2 中,在开始发送停止位时由硬件置位;必须由软件复位。
RI_1
接收中断标志
方式 1 或 2 中,在接收停止位的中间时刻由硬件置位;必须由软件复位。
表 8- 5 串口1 缓冲寄存器(S1BUF 9CH)
S1CON
Address: 99H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器 S1BUF 写操作,则 UART1 将开始向外发送缓存数据;对寄存器 S1BUF 读操
作,则 UART1 将从串行接收缓存中读取数据。
表 8- 6 PControl Rigister(PCON 87H)
PCON
Read
Address: 87H
Bit7
6
5
SMOD
DP_SEL
0
0
4
3
2
1
Bit0
0
0
0
0
PWM
Write
Reset
0
0
SMOD:串口 0 波特率控制位。SMOD=0,波特率不受该位影响;SMOD=1,波特率
加倍。
表 8- 7 AD Control Rigister(ADCON D8H)
ADCON
Address: D8H
Bit7
Read
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
Bd
Write
Reset
0
该寄存器的 Bd 位控制串口 0 的波特率生成方式,详细内容参见波特率生成方式。
表 8- 8 串口0 波特率重载寄存器(S0RELL ,AAH)
S0RELL
Address: AAH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
表 8- 9 串口0 波特率重载寄存器(S0RELH ,BAH)
73/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
S0RELH
Address: BAH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器S0RELL 和S0RELH 写操作,通过配置寄存器改变UART0 的通讯波特率。
表 8- 10 串口1 波特率重载寄存器(S1RELL ,9DH)
S1RELL
Address: 9DH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
表 8- 11 串口 1 波特率重载寄存器(S1RELH ,BBH)
S1RELH
Address: BBH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器S1RELL 和S1RELH 写操作,通过配置寄存器改变UART1 的通讯波特率。
表 8- 12 串口 2 控制寄存器(S2CON B7H)
S2CON
Read
Address: B7H
Bit7
6
5
4
3
2
1
Bit0
SM_2
X
SM2_2
REN_2
TB8_2
RB8_2
TI2
RI2
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
SM_2
串口 2 模式选择
Sm_2 = 0: 模式 1
SM2_2
多机通讯允许位
sm _2= 1: 模式 2
74/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
REN_2
允许接收位
由软件置位/复位;REN_2 置位时允许接收。
TB8_2
发送数据位 8
由软件置位/复位; 在模式 1 中,是被发送
出去的第 9 数据位;
接收数据位 8
在模式 1 中,是收到的第 9 数据位; 在模式 2 中,若 sm2_2=0,则为收到的
停止位;
RB8_2
TI_2
发送中断标志
方式 1 或 2 中,在开始发送停止位时由硬件置位;必须由软件复位。
RI_2
接收中断标志
方式 1 或 2 中,在接收停止位的中间时刻由硬件置位;必须由软件复位。
表 8- 13 串口2 波特率重载寄存器(S2RELL ,BCH)
S2RELL
Address: BCH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
表 8- 14 串口 2 波特率重载寄存器(S2RELH ,BDH)
S2RELH
Address: BDH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器S2RELL 和S2RELH 写操作,通过配置寄存器改变UART2 的通讯波特率。
表 8- 15 串口2 缓冲寄存器(S2BUF BEH)
S2BUF
Address: BEH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器 S2BUF 写操作,则 UART2 将开始向外发送缓存数据;对寄存器 S2BUF 读操
作,则 UART2 将从串行接收缓存中读取数据。
表 8- 16 串口 3 控制寄存器(S3CON E5H)
75/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
S3CON
Read
Address: E5H
Bit7
6
5
4
3
2
1
Bit0
SM_3
X
SM2_3
REN_3
TB8_3
RB8_3
TI3
RI3
0
0
0
0
0
0
0
0
Write
Reset
位
功能描述
SM_3
串口 3 模式选择
Sm_3 = 0: 模式 1
SM2_3
多机通讯允许位
REN_3
允许接收位
由软件置位/复位;REN_3 置位时允许接收。
TB8_3
发送数据位 8
由软件置位/复位; 在模式 1 中,是被发送
sm _3= 1: 模式 2
出去的第 9 数据位;
接收数据位 8
在模式 1 中,是收到的第 9 数据位; 在模式 2 中,若 sm2_3=0,则为收到的
停止位;
RB8_3
TI_3
发送中断标志
方式 1 或 2 中,在开始发送停止位时由硬件置位;必须由软件复位。
RI_3
接收中断标志
方式 1 或 2 中,在接收停止位的中间时刻由硬件置位;必须由软件复位。
表 8- 17 串口3 波特率重载寄存器(S3RELL ,E6H)
S3RELL
Address: E6H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
表 8- 18 串口 3 波特率重载寄存器(S3RELH ,E7H)
S3RELH
Address: E7H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器S3RELL 和S3RELH 写操作,通过配置寄存器改变UART3 的通讯波特率。
76/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 8- 19 串口3 缓冲寄存器(S3BUF E8H)
S3BUF
Address: E8H
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
对寄存器 S3BUF 写操作,则 UART3 将开始向外发送缓存数据;对寄存器 S3BUF 读操
作,则 UART3 将从串行接收缓存中读取数据。
表 8- 20 串口 1 极性控制寄存器(S1POL ABH)
S1POL
Address: ABH
Bit7
6
5
4
3
Read
2
1
Bit0
S1POL.2
S1POL.1
S1POL.0
0
0
0
Write
Reset
0
0
0
0
0
位
功能描述
串口 1 当前使用的极性指示
S1POL.2
S1POL.2 = 0: 正极性
S1POL.2 = 1: 负极性
S1POL.1
手动设置串口 1 极性
S1POL.1 = 0: 正极性
S1POL.1 = 1: 负极性
串口 1 极性自动/手动控制
S1POL.0
S1POL.0 = 0: 手动控制
S1POL.0 = 1: 自动控制
表 8- 21 串口奇偶校验控制寄存器(SPAR ACH)
SPAR
Read
Address: ACH
Bit7
6
5
4
3
2
1
Bit0
SPAR.7
SPAR.6
SPAR.5
SPAR.4
SPAR.3
SPAR.2
SPAR.1
SPAR.0
0
0
0
0
0
0
0
0
Write
Reset
位
SPAR.7
SPAR.6
功能描述
串口 3 奇偶校验控制
00:不校验;
01:奇校验;
10:偶校验;
11:always“1”
77/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
SPAR.5
SPAR4
串口 2 奇偶校验控制
00:不校验;
01:奇校验;
10:偶校验;
11:always“1”
SPAR.3
SPAR.2
串口 1 奇偶校验控制
00:不校验;
01:奇校验;
10:偶校验;
SPAR.1
SPAR.0
11:always“1”
串口 0 奇偶校验控制
00:不校验;
01:奇校验;
10:偶校验;
11:always“1”
表 8- 22 串口奇偶校验控制寄存器(SPAREER ADH)
SPAREER
Address: ADH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
0
Read
Write
Reset
位
SPAREER.3
串口 3 奇偶校验错误指示
功能
描述
0:接收无奇偶校验错误;
1:接收有奇偶校验错误;
硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0
SPAREER.2
串口 2 奇偶校验错误指示
0:接收无奇偶校验错误;
1:接收有奇偶校验错误;
硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0
SPAREER.1
串口 1 奇偶校验错误指示
0:接收无奇偶校验错误;
1:接收有奇偶校验错误;
硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0
SPAREER.0
串口 0 奇偶校验错误指示
0:接收无奇偶校验错误;
1:接收有奇偶校验错误;
硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0
78/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
9. SPI 接口
9.1 概述
芯片包含一个 SPI 接口,可以实现在 MCU 和外围设备(包含外部 MCU)之间的全双
工同步串行通讯。SPI 模块可以编程实现以主模式或从模式工作,同时包含下列特征:

全双工模式,三线同步传输

主机和从机模式

通信速率可设置,最高可设置为 fclk/32,最低为 fclk/4096

极性和相位可编程的串行时钟

具有写冲突处理机制

8 位数据传输,高字节在前,低字节在后

8 位从机选择接口,控制外部从机
9.2 模块框图
图9-1 SPI 功能框图
79/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
9.3 功能描述
串行外设接口(SPI)允许芯片与其他设备以半/全双工、同步、串行方式通信。此接口
可以被配置成主 模式,并为从设备提供通信时钟(SCK)。
9.3.1 TR 接口传输格式
下图显示了数据传输的主要格式。根据 SPI_MS 模块的设置,数据的每一位在主时钟
(
“scko”
)上升沿(
“cpol”=’0’)或下降沿(“ cpol”=’1’)被传送。数据在主时钟(
“scko”
)
的下降沿(
“cpol”=’0’) 或上升沿(“cpol”=’1’)被接收。这适用于主模式或从模式的传
输器/接收器,前提是“scko”是传输过程 中的主时钟。如果“cpha”被置位,第一位(MSB)
将在“scko”的第一个动态沿时通过“mosio”/“misoo” 被发送。如果“cpha”被清零,
第一位(MSB)将在“scko”的第一个动态沿之前半个周期被发送。
除此之外,输入数据(主模式是“misoi”,从模式是“mosii”)在每一位传输一半时被
取样,在这个 时钟周期的相反的电平上,数据被移位到输出信号“mosio”上。
图 9-2 SPI_MS 数据传输格式
9.3.2 主机模式传输格式
SPI_MS 默认为主机模式。
在主机模式中,SPI_MS 等待程序向寄存器“spdat”中写入数据。如果向“spdat”的
写入动作完成, 传输就开始。在时钟“scko”的发送沿,数据被移位到输出引脚“mosio”
上。同时,从从机传送过来的 另一字节的数据被移位到主机的输入引脚“misoi”上。
80/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图 9-3 主机模式数据传输格式(cpha=0, cpol=0)
图 9-4 主机模式数据传输格式(cpha=0, cpol=1)
81/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图9-5 主机模式数据传输格式(cpha=1, cpol=0)
图9-6 主机模式数据传输格式(cpha=1, cpol=1)
9.3.3 从机模式传输格式
首先,需要写寄存器“spcon”中的“mstr”=0,以配置 SPI_MS 进入从机模式。另外
配置“spen”=1 以打开 SPI_MS 模块使能。
82/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
图 9-7 从模式数据传输格式
在从机模式中,SPI_MS 等待输入信号“ssn”的低电平,当抓到“ssn”的下降沿,传
输开始,直到传输完成,
“ssn”都需要保持低电平状态。寄存器“SPCON”中“cpha”的状
态决定传输的开始位置,当“cpha” 被清零,从机必须在 “scki”信号的第一个下降沿之
前开始传输;当“cpha”被置位,从机会把“scki” 信号的第一个下降沿做为传输的开始标
志。
9.3.4 中断功能
SPI_MS 提供 SPI 中断输出信号“intspi”,有两种状态可以产生中断请求。
名称
SPI_MS 中断标志描述
“spif”
当传输完成,该标志位被硬件置位
“modf”
当“ssn”的状态与主从模式设置有冲突
9.4 SPI 接口配置寄存器
表 9- 1 SPI 配置寄存器列表
地址
名称
复位值
字节长度
功能描述
E2H
SPCON
14H
1
SPI 控制寄存器
E1H
SPSTA
00H
1
SPI 状态寄存器
E3H
SPDAT
00H
1
SPI 数据寄存器
E4H
SPSSN
FFH
1
SPI 从机选择寄存器
表 9- 2 SPI 控制寄存器SPCON (E2H)
SPCON
Address: E2H
Bit
Read:
6
5
4
7
2
1
Bit
0
83/158
v1.2
3
BL6531/BL6536 电能表专用 MCU 芯片
Write:
Spr2
Reset:
Spen
0
Ssdis
0
Mstr
0
Cpol
0
Cpha
0
位
Spr1
0
Spr0
0
0
功能描述
SPI 时钟速率控制位
主模式时,SPI 时钟速率由“spr2”
“spr1”
“spr0”控制
Spr2
SPI 使能位
0:关闭 spi 模块;
1:打开 spi 模块;
Spen
SS 控制位
0:在主/从模式中打开“ssn”输入;
Ssdis
1:在主/从模式中关闭“ssn”输入,该情况下不会产生“modf”中断请 求;
在从机模式中,若“cpha”=0,则该位无效;
SPI 模式选择位
0:从机模式
1:主机模式
时钟极性
0:
“sck”在空闲状态时被设置为低电平;
Mstr
Cpol
1:
“sck”在空闲状态时被设置为高电平;
时钟相位
0:表示高位(MSB)将在“scko”的第一个动态沿之前半个周期被发送;
Cpha
1:表示高位(MSB)将在“scko”的第一个动态沿通过“mosio”/“misoo”
被发送;
SPI 时钟速率控制位
主模式时,SPI 时钟速率由“spr2”
“spr1”
“spr0”控制
Spr1
Spr0
spr2
0
spr1
0
spr0
0
SPI 时钟速率
0
0
1
Fsys/64
0
1
0
Fsys/128
0
1
1
Fsys/512
1
0
0
Fsys/1024
1
0
1
Fsys/2048
1
1
0
1
1
1
Fsys/4096
不产生主时钟
Fsys/32
表 9- 3 SPI 状态寄存器SPSTA(E1H)
SPSTA
Address: E1H
Bit7
6
5
4
3
2
1
Bit0
Read:
Write:
Spif
wcol
Sserr
modf
84/158
v1.2
X
X
X
X
BL6531/BL6536 电能表专用 MCU 芯片
Reset: 0
0
0
0
0
0
0
0
位
功能描述
Spif
数据传输完成标志位
当传输完成时由硬件置位;传输过程中由硬件复位,也可通过读寄存器
“spsta”
“spdat”来复位;
写冲突标志位
wcol
当写“spdat”冲突时由硬件置位;当传输完成无冲突发生时由硬件复位, 也
可通过访问寄存器“spsta”
“spdat”复位;
同步从机错误标志位
Sserr
在接收完成前当“ssn”输入有效时,被硬件置位;关闭 SPI 模块可清除该 位
(设置 spen=0)
;
模式故障标志位
modf
当“ssn”引脚状态与设置的模式有冲突时,硬件自动置位;当“ssn”引 脚
恢复合适的电平状态时,硬件自动复位;也可以由软件读“spsta”寄存 器来
复位;
表 9- 4 SPI 数据寄存器SPDAT(E3H)
SPDAT
Address:
Bit7
E3H
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
Read:
Write:
Reset: 0
表 9- 5 SPI 从机选择寄存器SPSSN (E4H)
SPSSN
Address:
Bit7
E4H
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
Read:
Write:
Reset: 0
SPSSN 是一个可读/写寄存器,它的每一位都可用来选择一个独立的外部 SPI 从机设备。
85/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
10. I2C 接口
10.1 概述
BL6531/BL6536 包含两个 I2C 总线接口。I2C 接口提供一个符合 Philips I2C 总线规
范的串行接口,用两根线实现设备与总线之间的数据传输,通过状态寄存器(
“I2C STA”
)
反映了 I2C 总线控制器的实时状态。
10.2 结构框图
图
10-1 I2C 模块结构框图
10.3 功能描述
I2C 用两根线实现设备与总线之间的数据传输:
“scl”
(串行时钟线)和“sda”
(串行
数据线)
。每一个与总线相连的设备都有一个可软件定义的唯一地址。I2C 是一个真正的
多主机总线,它包含冲突侦测和仲 裁机制,以防止两个以上主机同时开始数据传输时的
数据丢失。
10.3.1 操作模式
I2C 数据传输是以 8-bit 进行双向数据传输,它可以下边四种模式工作:
 主机发送模式:串行数据通过“sdao”输出,串行时钟通过“sclo”输出
 主机接收模式:串行数据通过“sdai”输入,串行时钟通过“sclo”输出
 从机接收模式:串行数据通过“sdai”输入,串行时钟通过“scli”输入
86/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
 从机发送模式:串行数据通过“sdao”输出,串行时钟通过“scli”输入
10.3.2 串行时钟
当 I2C 处于主机模式时,可编程的时钟发生器提供“scl”时钟;当 I2C 处于从机
模式时,时钟发生器 被关闭,接收来自主机的时钟。时钟发生器的输出频率可以由寄存
器“i2ccon”中的 位“cr0”
、
“cr1”
、“cr2” 控制。
10.3.3 I2C 模式状态
I2C 主机发送模式状态描述如下:
I2C 主机接收模式状态描述如下:
87/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
I2C 从机接收模式状态描述如下:
88/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
89/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
90/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
I2C 从机发送模式状态描述如下:
91/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
I2C 复合状态描述如下:
10.4 I2C 接口配置寄存器
表 10- 1 I2C 接口配置寄存器
地址
名称
复位值
字节长度
功能描述
DAH
I2C DAT
00H
1
I2C 数据寄存器
DBH
I2CADR
00H
1
I2C 地址寄存器
DCH
I2CCON
00H
1
I2C 控制寄存器
DDH
I2C STA
F8H
1
I2C 状态寄存器
D2H
I2C2 DAT
00H
1
I2C2 数据寄存器
D3H
I2C2ADR
00H
1
I2C2 地址寄存器
D4H
I2C2CON
00H
1
I2C2 控制寄存器
D5H
I2C2 STA
F8H
1
I2C2 状态寄存器
表 10- 2 I2C DAT I2C 数据寄存器(DAH)
I2CDAT
Address: DAH
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
Read:
Write:
Reset: 0
寄存器“i2cdat”包含一个字节的数据,是将要被传送到总线上的数据,或者是刚从
总线上接收到的数据。当 I2C 中断发生时,MCU 需要及时从它读取数据,以免数据丢失。
表 10- 3 I2CADR I2C 地址寄存器(DBH)
I2CADR
Address: DBH
92/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Bit7
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
Read:
Write:
Reset: 0
I2C 从机地址寄存器
表 10- 4I2CCON
I2CCON
Read:
I2C 控制寄存器(DCH)
Address: DCH
Bit7
6
5
4
3
2
1
Bit0
CR2
ENS1
STA
STO
SI
AA
CR1
CR0
0
0
0
0
0
0
0
Write:
Reset: 0
位
CR2
ENS1
STA
功能描述
Clock rate bit 2
I2C 使能位
1:打开 IIC 模块;
0:关闭 IIC 模块;
开始标志位
1:检查 IIC 总线的状态,如果空闲则生成开始信号;
0:不会生成开始信号;
STO
停止标志位
1:当处于主机模式,则向总线传输停止信号
0:不向总线传输停止信号;
中断标志位
SI
当进入 25 种 IIC 状态之一时,
“si”
由硬件置位,
唯一不置位的状态是
“F8h”
;
写”0”
清 0,写”1”无影响。
生成应答标志位
AA
1:应答在以下情况下被返回:接收到自身作为从机的地址;gc 被置位的 情
况下接收到地址呼叫;
主机接收模式下一个字节接收完成;
从机接收模 式下
一个字节接收完成;
0:非应答在以下情况下被返回:主机接收模式下一个字节接收完成;从 机
接收模式下一个字节接收完成;
CR1
Clock rate bit 1
CR0
Clock rate bit 0
寄存器“i2ccon”包含 I2C 模块的使能位“ens1”,时钟频率控制位(“cr0”,
“cr1”
,
“cr2”
)
,
“开 始”和“停止”信号的发送位,控制 ACK 信号的标志位“aa”
,和中断标
志位“si”
。其中时钟频率的选择见下图:
93/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 10- 5 I2CSTA
I2CSTA
Bit7
I2C 状态寄存器(DDH)
6
Address: DDH
5
4
3
2
1
Bit0
0
0
0
0
0
0
Read:
Write:
Reset: 0
0
寄存器“i2csta”反映 I2C 模块的实时状态。这个寄存器的低三位始终为 0。总共
有 26 种可能的状态。当进入 25 种状态的其中一种时,都会产生中断;唯一一种不产生
中断的情况是状态 F8h。
位
i2csta.7
i2csta.6
功能描述
I2C 状态码
I2C Status Code
i2csta.5
i2csta.4
i2csta.3
i2csta.2
i2csta.1
忽略,始终读为“0”
Not implemented, read as 0
i2csta.0
表 10- 6 I2C2DAT I2C2 数据寄存器(D2H)
I2C2DAT
Bit7
6
Address: D2H
5
4
3
2
1
Bit0
0
0
0
0
0
0
Read:
Write:
Reset: 0
0
94/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 10- 7 I2C2ADR I2C2 地址寄存器(D3H)
I2C2ADR
Bit7
Address: D3H
6
5
4
3
2
1
Bit0
0
0
0
0
0
0
0
Read:
Write:
Reset: 0
表 10- 8 I2C2CON I2C2 控制寄存器(D4H)
I2C2CON
Read:
Address: D4H
Bit7
6
5
4
3
2
1
Bit0
CR2
ENS1
STA
STO
SI
AA
CR1
CR0
0
0
0
0
0
0
0
Write:
Reset: 0
表 10- 9 I2C2STA
I2C2STA
Bit7
I2C2 状态寄存器(D5H)
6
Address: D5H
5
4
3
2
1
Bit0
0
0
0
0
0
0
Read:
Write:
Reset: 0
0
95/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
11. 7816 接口
11.1 概述
BL6531/BL6536 中,带有两个完全独立的 7816 模块:7816A 和 7816B。两模块在功能
上完全一致,有自己独立的 IO 接口和寄存器设置(寄存器内容设置完全一样)。如无特别
说明,本章简称的“7816”均包含 7816A 和 7816B。
7816 模块实现 ISO/IEC 7816 通讯协议。模块工作于 Master 模式,MCU 可利用此模块
实现与外部带 7816 接口器件的通信。
模块特点:

两个独立7816模块:7816A和7816B,两模块各自有一数据IO口,一时钟输出端口,输
出频率在1MHz~5MHz 之间可设。

通信协议符合7816 协议规范,支持多种分频比。

位传输方向可设,支持先高位后低位(负逻辑)和先低位后高位(正逻辑)两种传输方式。

错误反馈信号宽度可设为1,1.5或2个ETU。

发送数据支持传输错误重发机制,重发次数可设0~3次,3次重发仍然无效则产生相应出
错中断。

支持EGT(Extra Guard Time)可设0~255ETU。

具有数据接收完成/数据接收错误中断,并提示相应错误类型。

发送中断产生条件可配置为缓冲区空或移位寄存器空(7816 在完成数据发送和重发后
再产生中断)

接收数据时,只有检测到起始位下降沿且起始位有效时才启动移位接收器。

支持侦听模式,即只接收数据,不回发任何出错标志。

在7816协议规范的范围内改善7816的接口设计,以实现更好的性能和兼容性。

时钟、数据皆可关断,接收发送功能也可禁止和使能;无数据传输时可关闭工作时钟节
省功耗。
96/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
11.2 结构框图
VDD
Tx flag
上拉
控制
数据发送缓冲寄存器
IO
数据发送移位寄存器
时钟
预分频
内部
分频
数据接收移位寄存器
Rx flag
数据接收缓冲寄存器
“1”
“0”
MUX
CLK OUT
图 11-1 7816 结构框图
上图是7816模块的结构示意图,内部数据收发通道独立,在端口进行输入输出通道的合
并复用。
7816 IO口默认为输入状态。7816在发送数据或者发送错误反馈信号时,IO端口为输出
状态,其他情况下,均为输入状态。7816 IO口可设为强上拉,弱上拉,和不上拉三种状态。
根据寄存器“iopuctrl”设置,7816 IO口的上拉状态可以配置成硬件自动控制,也可配
置为用户手动控制。

iopuctrl=0(默认)
,手动控制IO口上拉状态;
此时,IO的上拉状态受寄存器{hpuen,lpuen}控制:
00:不上拉;
01:弱上拉;
(上拉电阻70K)
1x:强上拉;
(上拉电阻10K)
注:当IO口既不发送数据也不接收数据时,则上拉控制为{hpuen,1’b1}。

iopuctrl=1,自动控制IO口上拉状态;
此时,当IO发送数据或者错误反馈信号时,IO不上拉;其余情况,均弱上拉;
11.3 接口时序
按照 7816 协议标准,7816 基本接口时序如下:
97/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
start
无校验错
1
start
有校验错
1
Byte i
2
parity Guard time
3
4
5
6
7
8
9
Byte i
2
10
parity
3
4
5
6
7
8
9
start
1
Byte i+1
2
error signal
10
3
start
1
4
Byte i
2
3
4
guard time
after error
图 11-2 7816 基本时序
一帧数据由1个起始位,8个数据位,1个校验位和最小guard time(1etu或2etu,也可称
之为停止位)组成,因而,发送单字节数据长度最小为11etu或12etu。
guard time为帧和帧之间保护间隔,最小可以设为1etu或2etu(由寄存器gt设置)
。
接收时,第 10.5 个 etu 接收电路校验接收数据。若校验正确,则接收成功,相应标志
位 riflg 置位,并产生可能的 rxov_iflg 标志位。若校验错误,根据寄存器设置,可以不回发
错误反馈信号,相应接收错误标志位置位,接收结束,也可以在第 10.5etu 拉低 IO,回发错
误反馈信号(error signal)
,等待对方重发。error signal 时间宽度可以设置为 1 个 etu,1.5 个
etu 或者最长 2 个 etu。
发送时,在第11个etu未采样到error signal,则说明发送数据正确,数据发送完成,相应
tiflg置位。
发送时,若在第11个etu采样到error signal,则说明发送数据错误,可以根据设置,等待
1etu,2etu或者3etu(guard time after error)后重发数据;若重发次数已满足设置,则相应发
送错误标志txparerr_iflg置位。
98/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
11.4 工作流程
11.4.1 数据接收流程
接收流程
接收start位
接收8bit数据
回发错误信号
并设置“等待
重发”状态
接收
奇偶校验位
N
奇偶校验
正确
N
gt=1或
重复接收次数
溢出
Y
Y
接收错误
中断
接收停止位
(1bit or 2bit)
停止位
正确
N
Y
接收完成
中断
帧格式错误
中断
图 11-3 7816 接收流程
进入数据接收流程的条件是:必须先使能7816接收功能(寄存器rxen=1)且当前不在发
送数据。
7816 收到数据后,会根据寄存器设置(dirconv)做正/反向译码并根据parctrl[1:0]
寄存器检查校验位是否正确,只有通过校验的数据才会被从移位寄存器装入接收缓存寄存器
(rxbuf)
。当停止位也接收正确时,产生接收成功中断标志(riflg置位),若停止位接收不
正确,则产生帧格式错误标志(寄存器rxframeerr_iflg置位)
,接收完成。由于只有一级缓
存,MCU 应及时响应中断并读取接收缓冲寄存器内的数据,否则在连续接收时,旧数据会
被新数据覆盖并产生溢出中断(寄存器rxoverr_iflg置位)
。
7816接收数据后,若校验失败,硬件根据配置进行自动回发错误反馈信号,请求对方重
发数据,重发一定次数后仍不正确时产生错误中断。具体为:
当“寄存器gt=1”,或者“当前重复接收次数=寄存器reptime_rx设置值 且 寄存器
send_err_en=0”时,不回发错误反馈信号,不等待对方重发,接收结束,rxparerr_iflg
置位;
当“寄存器gt=0”,并且“当前重复接收次数=寄存器reptime_rx设置值 且 寄存器
send_err_en=1”时,回发错误反馈信号,不等待对方重发,接收结束,rxparerr_iflg置位;
当“寄存器gt=0”
,并且“当前重复接收次数≠寄存器reptime_rx设置值”时,回发错误反
馈信号,等待对方重发;
99/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
11.4.2 数据发送流程
发送流程
发送请求
Y
BGT
or
EGT
N
Wait
发送start
发送8bit数据
Wait
(Error信号后
的guard time)
发送
奇偶校验位
N
收到
错误信号
Y
N
重发次数
溢出
Y
发送Guard bit
(1bit or 2bit)
发送完成
中断
发送错误
中断
图 11-4 7816 发送流程
进入数据发送流程的条件是:发送使能(寄存器txen=1)
,MCU向“数据发送缓冲寄存
器txbuf”写入要发送的数据,则在IO口空闲条件下进入数据发送流程。
MCU可以在发送过程中(txbuf中数据移入发送移位寄存器之后)向txbuf 写入数据,硬
件会在前一帧数据成功发送后继续发送下一帧。要注意的是,由于BL6531的7816只有一级
缓存,MCU两次写txbuf的间隔不能太短,必须在txbuf中数据移入发送移位寄存器之后再写
入后一帧数据,否则,会把前面的数据冲掉。MCU可以监视txbuffree_iflg信号,txbuffree_iflg
为1表示发送缓存寄存器空,数据已经进入移位寄存器发送,可以向txbuf写入下一帧数据。
每帧数据发送后,
当“寄存器gt=1”
,不检测错误反馈信号,不重发数据,置位tiflg,发送完成;
当“寄存器gt=0”
,且“无错误反馈信号”时,置位tiflg,发送完成;
当“寄存器gt=0”
,
“收到错误反馈信号”且“当前发次数=寄存器reptime_tx设置值”时,置
位txparerr_iflg,发送失败,不再重发数据;
当“寄存器gt=0”
,
“收到错误反馈信号”且“当前发次数≠寄存器reptime_tx设置值”时,重
发数据;
100/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
11.5 中断说明
7816 所有中断源见 intflg 中断指示寄存器,每个中断有相应的中断使能控制,见 inten
寄存器。当 intflg 中出现中断指示,且 inten 中相应中断使能时,便产生 7816 中断。
11.5.1 接收中断
和接收数据相关的中断有 4 个,为 intflg 寄存器中的:rxparerr_iflg, rxframeerr_iflg,
rxoverr_iflg, riflg。
接收时,中断的几种可能性如下:
Case
riflg
Rxov
中断情况描述
Rxparerr
Rxframeerr
_iflg
_iflg
1
1
0
0
0
有奇偶错误,数据不存入 rxbuf;
2
0
1
0
0
无奇偶错误,数据存入 rxbuf;
_iflg
rxbuf 无益出;
停止位(最小 guard time)有错误。
0
3
1
0
无奇偶错误,数据存入 rxbuf;
1
Rxbuf 有益出;
停止位(最小 guard time)有错误。
0
4
0
1
无奇偶错误,数据存入 rxbuf;
0
rxbuf 无益出;
停止位(最小 guard time)无错误。
0
5
0
1
无奇偶错误,数据存入 rxbuf;
1
Rxbuf 有益出;
停止位(最小 guard time)无错误。
11.5.2 发送中断
和发送数据相关的中断有 3 个,为 intflg 寄存器中的:txbuffree_iflg, txparerr_iflg, tiflg。
发送数据时,中断的几种可能性如下:
Case
1
txbuffree
txparerr
_iflg
_iflg
1
X
tiflg
中断情况描述
X
发送数据缓冲寄存器 txbuf 为空。
上电 reset 后,txbuffree_iflg 为 1。
2
X
1
0
有奇偶校验错误,发送不成功。
3
X
0
1
无奇偶校验错误,发送成功。
11.6 7816 接口配置寄存器
7816A 和 7816B 的寄存器设置如表 12-1 和 12-2 所示。A 和 B 寄存器内容完全一致,只
是地址不同。因此在后续的具体寄存器内容介绍中,不区分 7816A 还是 7816B。
101/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
表 11- 1 7816A 寄存器表
地址
名称
复位值
功能描述
3051h
txbuf
00H
发送数据缓冲寄存器
3050h
rxbuf
00H
接收数据缓冲寄存器
3052h
ctrl
00H
7816 端口控制寄存器
3053h
clkprediv
00H
7816 时钟分频控制寄存器
3054h
etuctrl
11H
ETU(Elementary Time Unit)控制寄存器
3055h
framectrl0
00H
帧格式控制寄存器 0
3056h
framectrl1
00H
帧格式控制寄存器 1
3057h
egt
00H
EGT(Extra Guard Time)配置寄存器
3058h
inten
00H
7816 各中断使能寄存器
3059h
intflg
04H
7816 各中断指示寄存器
305ah
status
00H
状态寄存器
表 11- 2 7816B 寄存器表
地址
名称
复位值
功能描述
3061h
txbuf
00H
发送数据缓冲寄存器
3060h
rxbuf
00H
接收数据缓冲寄存器
3062h
ctrl
00H
7816 端口控制寄存器
3063h
clkprediv
00H
7816 时钟分频控制寄存器
3064h
etuctrl
11H
ETU(Elementary Time Unit)控制寄存器
3065h
framectrl0
00H
帧格式控制寄存器 0
3066h
framectrl1
00H
帧格式控制寄存器 1
3067h
egt
00H
EGT(Extra Guard Time)配置寄存器
3068h
inten
00H
7816 各中断使能寄存器
3069h
intflg
04H
7816 各中断指示寄存器
306ah
status
00H
状态寄存器
表 11- 3 7816 数据发送缓冲寄存器
txbuf
数据发送缓冲寄存器
Addr
0x3051(7816A)/0x3061(7816B)
Bit
7
6
5
4
Read
0
0
0
0
0
102/158
v1.2
2
1
0
0
0
0
tx_data[7:0]
Write
Reset
3
BL6531/BL6536 电能表专用 MCU 芯片
位
功能描述
tx_data[7:0]
7816 要发送的数据
表 11- 4 7816 数据接收缓冲寄存器
rxbuf
数据接收缓冲寄存器
Addr
0x3050(7816A)/0x3060(7816B)
Bit
7
6
5
4
3
2
1
0
rx_data[7:0]
Read
Write
-
-
-
-
-
-
-
-
Reset
0
0
0
0
0
0
0
0
位
功能描述
rx_data[7:0]
7816 接收到的数据
表 11- 5 7816 端口控制寄存器
Ctrl
端口控制寄存器
Addr
0x3052(7816A)/0x3062(7816B)
Bit
7
Read
txen
Write
Reset
6
0
rxen
0
位
功能描述
txen
发送使能控制
5
4
3
clkouten
clkstopval
iopuctrl
0
0
0
2
hpuen
0
0:发送禁止;
1:发送使能;
rxen
接收使能控制
0:接收禁止;
1:接收使能;
Clkouten
7816 时钟输出使能
0:时钟输出禁止;
1:时钟输出使能,端口上有 7816 时钟信号输出;
Clkstopval
7816 时钟输出禁止时,clk 输出端口电平控制。
0:时钟输出禁止时,clk 输出信号为低电平;
1:时钟输出禁止时,clk 输出信号为高电平;
Iopuctrl
数据 IO 口上拉控制配置
0:数据 IO 口上拉由寄存器{hpuen,lpuen}控制;
103/158
v1.2
1
0
-
lpuen
0
0
BL6531/BL6536 电能表专用 MCU 芯片
Hpuen
Lpuen
说明
0
0
不上拉
0
1
弱上拉
1
x
强上拉
注:当 IO 口既不发送数据也不接收数据时,则上拉控制为{hpuen,1’b1}。
1:数据 IO 口上拉由硬件自动控制,
当 IO 发送数据或者错误反馈信号时,IO 不上拉,其余情况,均为弱上拉。
数据 IO 口强上拉使能控制
Hpuen
0:强上拉禁止;
1:强上拉使能;
数据 IO 口弱上拉使能控制
Lpuen
0:弱上拉禁止;
1:弱上拉使能;
表 11- 6 7816 时钟分频控制寄存器
Clkprediv
7816 时钟分频控制寄存器
Addr
0x3053(7816A)/0x3063(7816B)
Bit
7
6
5
4
3
2
1
0
Read
-
-
-
-
Clkprediv3
Clkprediv2
Clkprediv1
Clkprediv0
Write
-
-
-
-
Reset
0
0
0
0
0
0
0
0
位
功能描述
Clkprediv
7816 工作时钟分频控制
[3:0]
7816 工作时钟 = sysclk / (1+ clkprediv)
其中 sysclk 为系统主时钟,系统主时钟根据寄存器{osc_sel, pll_sel[1:0]}的设置而
有所不同:
Osc_sel
Pll_sel[1]
Pll_sel[0]
sysclk
1
x
x
32.768KHz
0
0
0
1.8432MHz
0
0
1
3.6864MHz
0
1
0
7.3728MHz
0
1
1
14.7456MHz
注:7816 协议规定的工作时钟范围是 1~5MHz。
表 11- 7 7816ETU 控制寄存器
etuctrl
ETU(Elementary Time Unit)控制寄存器
Addr
0x3054(7816A)/0x3064(7816B)
104/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Bit
7
Read
F3
Write
Reset
6
5
F2
0
4
3
F1
0
F0
0
1
2
1
D3
D2
0
0
D1
0
0
位
功能描述
F[3:0]
7816 时钟频率转换系数(clock rate conversion integer) Fi 的控制
D0
1
定义同 7816 协议(Fmax 为支持的最大时钟频率)
:
F[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
Fi
372
372
558
744
1116
1488
1860
-
Fmax(MHz)
4
5
6
8
12
16
20
-
F[3:0]
1000
1001
1010
1011
1100
1101
1110
1111
Fi
-
512
768
1024
1536
2048
-
-
Fmax(MHz)
-
5
7.5
10
15
20
-
-
7816 波特率调整系数(baud rate adjustment integer)Di的控制
D[3:0]
定义同7816协议:
F[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
Di
-
1
2
4
8
16
32
64
F[3:0]
1000
1001
1010
1011
1100
1101
1110
1111
Di
12
20
-
-
-
-
-
-
Fi和Di共同控制7816波特率的产生:
7816波特率 = 7816工作时钟频率 / (Fi/Di)
以系统主频为14.7456MHz为例,假设clkprediv[3:0]设为0011,则
7816工作时钟频率为:14.7456MHz/(1+3)=3.6864MHz
7816常用波特率可根据F,D设置如下:
Fi
372
558
Di
Fi/Di
Baud rate
1
372
2
186
4
Fi
9909.68 512
Fi/Di
Baud rate
1
512
7200.00
19819.35
2
256
14400.00
93
39638.71
4
128
28800.00
8
46
80139.13
8
64
57600.00
12
31
118916.10
16
32
115200.00
1
558
6606.45
12
42
87771.43
2
279
13212.90 768
1
768
4800.00
4
139
26520.86
2
384
9600.00
105/158
v1.2
Di
BL6531/BL6536 电能表专用 MCU 芯片
744
1116
1488
1860
8
69
53426.09
4
192
19200.00
16
34
108423.50
8
96
38400.00
12
46
80139.13
16
48
76800.00
1
744
4954.84
12
64
57600.00
2
372
9909.68
20
38
97010.53
4
186
19819.35 1024
1
1024
3600
8
93
39638.71
2
512
7200
16
46
80139.13
4
256
14400
12
62
59458.06
8
128
28800
20
37
99632.43
16
64
57600
1
1116
3303.23
32
32
115200
2
558
6606.45
12
85
43369.41
4
279
13212.90
20
51
72282.35
8
139
26520.86 1536
1
1536
2400.00
16
69
53426.09
2
768
4800.00
32
34
108423.50
4
384
9600.00
12
93
39638.71
8
192
19200.00
20
55
67025.45
16
96
38400.00
1
1488
2477.42
32
48
76800.00
2
744
4954.84
12
128
28800.00
4
372
9909.68
20
76
48505.26
8
186
19819.35 2048
1
2048
1800.00
16
93
39638.71
2
1024
3600.00
32
46
80139.13
4
512
7200.00
12
124
29729.03
8
256
14400.00
20
74
49816.22
16
128
28800.00
1
1860
1981.94
32
64
57600.00
2
930
3963.87
64
32
115200.00
4
465
7927.74
12
170
21684.71
8
232
15889.66
20
102
36141.18
16
116
31779.31
32
58
63558.62
12
155
23783.23
20
93
39638.71
表 11- 8 7816 帧格式控制寄存器 0
Framectrl0
帧格式控制寄存器 0
106/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Addr
0x3055(7816A)/0x3065(7816B)
Bit
7
Read
6
gt
Write
5
4
3
2
Errsw1
Errsw0
Parctrl1
Parctrl0
0
0
0
0
bgten
Reset
0
0
位
功能描述
gt
帧和帧最小间隔保护时间(guard time)控制
1
0
-
-
-
-
0
0
0:帧间隔保护时间最小为 2etu;
1:帧间隔保护时间最小为 1etu;
注:若 gt=1,则
发送数据时,不检测错误反馈信号,不重发数据;
接收数据时,无论校验是否正确,都不回发错误反馈信号,不等待重复接收。
bgten
BGT(Block Guard Time)使能控制
0:BGT 禁止,接收帧至发送帧之间不插入等待时间以满足 BGT 要求;
1:BGT 使能,接收转发送之间插入等待时间(22etu – 帧数据时间),以满足
BGT 要求;
BGT 是接收帧起始至发送帧起始之间需要的最小时间,BGT=22etu。
Errsw[1:0]
Parctrl[1:0]
错误反馈信号宽度选择
Errsw1
Errsw0
错误反馈信号宽度
0
0
1 etu
0
1
1.5 etu
1
x
2 etu
奇偶校验类型选择
Parctrl1
Parctrl0
校验选择
0
0
偶校验
0
1
奇校验
1
0
校验位为 1
1
1
不校验检查(发送时,校验位仍用偶校验值)
发送数据时,根据该寄存器值配置发送数据帧中的校验位;
接收数据时,根据该寄存器值检测接收帧中数据校验位是否正确;
表 11- 9 7816 帧格式控制寄存器 1
Framectrl1
帧格式控制寄存器 1
Addr
0x3056(7816A)/0x3066(7816B)
Bit
7
6
5
4
3
2
1
Read
Dirconv
Gtafter
Gtafter
reptime
reptime
reptime
reptime
107/158
v1.2
0
Send_
BL6531/BL6536 电能表专用 MCU 芯片
Err1
Write
Reset
0
0
Err0
0
_tx1
_tx0
0
位
功能描述
Dirconv
传输顺序、编码方式选择位
0
_rx1
0
_rx0
0
Err_en
0
0:正向编码,先收发 LSB,收发数据+校验位正逻辑电平
1:反向编码,先收发MSB,收发数据+校验位反逻辑电平
Gtaftererr[1:0]
检测到错误反馈信号到开始重发数据之间的时间间隔控制
(guard time after error signal detection)
Reptime_tx[1:0]
Gtaftererr1 Gtaftererr0
间隔时间
0
0
2etu
0
1
1etu
1
0
2etu
1
1
3etu
重复发送数据次数设置
Reptime_tx1
Reptime_tx0
最多重发次数
0
0
不重发
0
1
重发 1 次
1
0
重发 2 次
1
1
重发 3 次
发送数据后,若接收到错误反馈信号,则根据该寄存器控制重发次数:

若不重发(reptime_tx=00)
,则产生发送错误中断,发送结束;

若重发,在最后一次重发(重发次数=reptime_tx)后,根据是否
有错误反馈信号,进行中断,并发送结束;中间过程中,不产生
发送错误中断;
注:当 gt=1 时,无论 reptime_tx[1:0]和 reptime_rx[1:0]被设为何值,7816
作为接收数据方,不回发错误反馈信号,作为发送数据方也不检测是否
有回发的错误反馈信号,不重发数据;
Reptime_rx[1:0]
重复接收次数设置
Reptime_rx1
Reptime_rx0
最多重复接收次数
0
0
不重复接收数据
0
1
重复接收 1 次
1
0
重复接收 2 次
1
1
重复接收 3 次
接收数据后,若检测到奇偶校验错误,则根据该寄存器及 send_err_en 决
定:是否回发错误反馈信号,等待重复接收数据。
108/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片

若不重复接收(reptime_rx=00)
,则根据 send_err_en 决定是否回
发错误反馈信号,同时,rxparerr_iflg 置 1,接收结束;

若重复接收,在最后一次重复接收(重复接收次数=reptime_rx)
后,若仍校验错误,则根据 send_err_en 决定是否回发错误反馈信
号,同时,rxparerr_iflg 置 1,接收结束;中间过程中,回发错误
反馈信号,并等待重发,不置位接收中断。
注:当 gt=1 时,无论 reptime_tx[1:0]和 reptime_rx[1:0]被设为何值,7816
作为接收数据方,不回发错误反馈信号,作为发送数据方也不检测是否
有回发的错误反馈信号,不重发数据;
Send_err_en
回发错误反馈信号使能控制
Gt=0,reptime_rx=00 或者当前重复接收次数=reptime_rx(即最后一次重
复接收)时,检测到奇偶校验错误,则根据该控制信号控制是否回发错
误反馈信号:
0:回发错误反馈信号禁止,rxparerr_iflg 置 1,接收结束;
1:回发错误反馈信号使能,rxparerr_iflg 置 1,接收结束;
注:当 reptime_rx 设置为 0,即不重复接收数据时,也根据 send_err_en
控制是否回发错误反馈信号。
表 11- 10 7816EGT 配置寄存器
egt
EGT(Extra Guard Time)配置寄存器
Addr
0x3057(7816A)/0x3067(7816B)
Bit
7
6
5
4
3
Read
1
0
0
0
0
Egt[7:0]
Write
Reset
2
0
0
0
0
0
位
功能描述
egt[7:0]
发送时,插入的 egt(Extra Guard Time)时间控制(单位:etu)
;
如:egt=5,gt=0,则 guard time = 5+2 = 7 etu;
表 11- 11 7816 中断使能寄存器
inten
中断使能寄存器
Addr
0x3058(7816A)/0x3068(7816B)
Bit
7
6
5
4
3
Read
-
Txparerr
Rxparerr
Rxframe
Rxoverr
Txbuf
Write
-
_ien
_ien
Err_ien
_ien
Free_ien
Reset
0
0
0
0
0
109/158
v1.2
2
0
1
0
tien
0
Rien
0
BL6531/BL6536 电能表专用 MCU 芯片
位
功能描述
Txparerr_ien
发送数据奇偶校验错误中断使能控制
0:中断禁止;
1:中断使能;
Rxparerr_ien
接收数据奇偶校验错误中断使能控制
0:中断禁止;
1:中断使能;
Rxframeerr_ien
接收帧格式错误中断使能控制
0:中断禁止;
1:中断使能;
Rxoverr_ien
接收数据缓冲寄存器溢出中断使能控制;
0:中断禁止;
1:中断使能;
Txbuffree_ien
发送数据缓冲器空闲中断使能控制;
0:中断禁止;
1:中断使能;
发送数据成功中断使能控制
Tien
0:中断禁止;
1:中断使能;
接收数据成功中断使能控制
Rien
0:中断禁止;
1:中断使能;
表 11- 12 7816 中断指示寄存器
intflg
中断指示寄存器
Addr
0x3059(7816A)/0x3069(7816B)
Bit
7
6
5
4
3
Read
-
Txparerr
Rxparerr
Rxframe
Rxoverr
Txbuf
Write
-
_iflg
_iflg
Err_iflg
_iflg
Free_iflg
Reset
0
0
0
0
0
位
功能描述
txparerr_iflg
发送数据奇偶校验错误指示
0:发送奇偶校验正确;
1:发送奇偶校验错误;
硬件置 1,软件清 0;
110/158
v1.2
2
1
1
0
tiflg
0
riflg
0
BL6531/BL6536 电能表专用 MCU 芯片
注:若有重发,则只有当重发次数=reptime_tx 时,才会置位指示位。中
间过程中,指示位不置位。
rxparerr_iflg
接收数据奇偶校验错误指示
0:接收数据奇偶校验正确;
1:接收数据奇偶校验错误;
硬件置 1,软件清 0;
注:若有重复接收,则只有当重复接收次数=reptime_rx 时,才会置位指
示位。中间过程中,指示位不置位。
rxframeerr_iflg 接收数据帧结构错误指示
0:帧结构正确;
1:帧结构错误;
接收数据帧结构错误主要是指校验位后最小 guard time(1etu 或者 2etu)
时间内没有为高电平。
硬件置 1,软件清 0;
rxoverr_iflg
接收数据缓冲寄存器溢出指示:
0:接收数据缓冲寄存器无溢出;
1:接收数据缓冲寄存器溢出;
rxbuf 中前一帧数据未读出,新的数据又接收到并写入 rxbuf,将原有数据
覆盖,称为接收数据缓冲寄存器溢出。
硬件置 1,软件清 0;
txbuffree_iflg
发送数据缓冲寄存器 txbuf 空闲指示:
0:发送数据缓冲寄存器忙,即有数据写入 txbuf,且还未移入移位寄存器。
1:发送数据缓冲寄存器空闲,即还未写 txbuf,或者 txbuf 中数据移入了
发送移位寄存器,此时,可往 txbuf 中再写入数据。
硬件置 1,写数据至 txbuf 使之清 0;
(软件置 1 或清 0 也可,但不建议使用)
上电 reset 后,txbuffree_iflg 为 1。
tiflg
发送数据成功指示;
0:发送数据未成功;
1:发送数据成功;
硬件置 1,软件清 0;
(这里成功发送,表示没有 txparerr_iflg)
111/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
接收数据成功指示;
riflg
0:接收数据未成功;
1:接收数据成功;
硬件置 1,软件清 0;
( 这 里 成 功 接 收 , 表 示 没 有 rxparerr_iflg 和 rxframeerr_iflg , 但 有
rxoverr_iflg 是可能的)
表 11- 13 7816 状态寄存器
status
状态寄存器
Addr
0x305A(7816A)/0x306A(7816B)
Bit
7
6
5
4
3
2
1
0
Read
-
-
-
-
-
Waitrpt
txbusy
rxbusy
Write
-
-
-
-
-
-
-
-
Reset
0
0
0
0
0
0
0
0
位
功能描述
Waitrpt
等待对方重发状态指示
0:非等待对方重发数据状态;
1:等待对方重发数据状态;
若重复接收次数还没有满足 reptime_rx 设定值,则在回发错误反馈信号后,
置位 waitrpt;
在 start 信号中间或者转入发送数据过程时清 0;
Txbusy
数据发送路径忙闲状态指示
0:数据发送路径空闲;
1:数据发送忙;
开始发送 start 位时置 1
发送完停止位,即发送完成清 0;
Rxbusy
接收数据路径忙闲状态指示
0:数据接收路径空闲;
1:数据接收路径忙;
接收 start 位中间置 1;
接收数据结束时,清 0;
注:若等待对方重发,则该过程也属于 rxbusy 状态;若不等接收而直接进
入发送状态,则 rxbusy 也清 0;
112/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
12. 实时时钟(RTC)
12.1 概述
RTC 单元提供实时时钟、日历等功能,具有自动闰年闰月调整,支持闹钟功能、周期
性中断以及计时中断功能。
RTC 在各种工作模式下都不会被关闭,在低功耗下仍然正常运行。
RTC 所有的输出寄存器(时间和万年历)
、RTC 时钟校正寄存器只在上电和掉电时被复
位,以保持 RTC 的准确性。
主要特点:

使用32.768KHz的晶振。

输出寄存器有秒/分/小时/日/星期/月/年寄存器。

具有自动闰年闰月调整功能,计时范围100年。

两个独立的8位可编程定时器,可级联。

5个周期性中断功能(秒/分/小时/日/月)。

2个定时器周期性中断功能。

1个闹钟中断功能。

可输出未校正和校正后的1秒信号。

具有时钟校正功能,可达到高精度、均匀的校正。
113/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
12.2 结构框图
tpr
cal_val
rtc_cal
fcnt
sfr_bus
fout
irq
fcnt
fosc
rtc_timcnt
sfr_bus
fdiv
rtc_timbas
图 12-1 实时时钟框图
12.3 功能说明
1. 时钟校正
芯片内的温度传感器每隔一段时间测出当前温度值送过来,RTC 根据所用晶振的温度
特性曲线(St=β (T-T0)²+S0),算出当前温度所对应的补偿值,调整计时电路。
2. 时间和万年历
RTC 提供秒、分、时、日、星期、月、年等时间寄存器。
通过 RTC 的时间寄存器,可以得到自动闰年校正的万年历功能,其范围从 2000 年 1 月
1 日到 2099 年 12 月 31 日。
3. 时标输出
RTC 有一个时标输出端,可选择输出秒时标、分时标、小时时标、日时标、定时器 0
时标、定时器 1 时标、闹钟时标。
4. 定时器
RTC 模块里有两个 8 位定时器 TMR0 和 TMR1,可分别使能和禁止,可选择多个时钟
源,可将 TMR0 的输出级联到 TMR1 的输入。
5. 中断
RTC 一共提供 8 种中断源:秒中断、分中断、小时中断、日中断、月中断、定时器 0
中断、定时器 1 中断、闹钟中断,共用 CPU 的 IRQ_RTC 中断向量。RTC 的 8 种中断源由
RTCIE 寄存器控制其使能,中断标志在 RTCIF 寄存器中。中断标志采用写 0 清 0 的方式。
114/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
12.4 实时时钟配置寄存器
表 12- 1 实时时钟控制寄存器
名称
实时时钟控制寄存器 RTCCTL
地址
3000H
位
Bit7
6
5
4
3
2
1
Bit0
RTCCTL[7
RTCCTL
RTCCTL
RTCCTL
RTCCTL
RTCCTL
RTCCTL
RTCCTL
]
[6]
[5]
[4]
[3]
[2]
[1]
[0]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
RTCCTL[7:0]:
写入 55H 后使能 RTC 和使能温度补偿,读出值为 55H
写入 5AH 后使能 RTC 和不使能温度补偿,读出值为 5AH
复位后不使能 RTC 和不使能温度补偿,读出值为 00H
写入别的值无效
表 12- 2 秒寄存器
名称
秒寄存器 RTCSEC
地址
3001H
位
位名
Bit7
--
6
--
5
4
3
2
1
Bit0
RTCSEC
RTCSEC
RTCSEC
RTCSEC
RTCSEC
RTCSEC
[5]
[4]
[3]
[2]
[1]
[0]
位权限
R
R
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
RTCSEC[5:0]为二进制无符号整数,范围为 0~59。写入 0~59 以外的值无效
表 12- 3 分寄存器
名称
分钟寄存器 RTCMIN
地址
3002H
位
位名
Bit7
--
6
--
5
4
3
2
1
Bit0
RTCMIN
RTCMIN
RTCMIN
RTCMIN
RTCMIN
RTCMIN
[5]
[4]
[3]
[2]
[1]
[0]
位权限
R
R
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
RTCMIN[5:0]为二进制无符号整数,范围为 0~59。写入 0~59 以外的值无效
表 12- 4 小时寄存器
名称
小时寄存器 RTCHR
地址
3003H
115/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
位
位名
Bit7
--
6
--
5
--
4
3
2
1
Bit0
RTCHR
RTCHR
RTCHR
RTCHR
RTCHR[
[4]
[3]
[2]
[1]
0]
位权限
R
R
R
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
RTCHR[4:0]为二进制无符号整数,范围为 0~23。写入 0~23 以外的值无效
表 12- 5 日寄存器
名称
日寄存器 RTCDAY
地址
3004H
位
位名
Bit7
--
6
--
5
--
4
3
2
1
Bit0
RTCDAY
RTCDAY
RTCDAY
RTCDAY
RTCDAY
[4]
[3]
[2]
[1]
[0]
位权限
R
R
R
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
1
RTCDAY[4:0]为二进制无符号整数,范围为 1~28/29/30/31。写入与年、月不匹配的值无效
表 12- 6 星期寄存器
名称
星期寄存器 RTCDOW
地址
3005H
位
位名
Bit7
--
6
--
5
--
4
--
3
--
2
1
Bit0
RTCDOW
RTCDOW
RTCDOW
[2]
[1]
[0]
位权限
R
R
R
R
R
RW
RW
RW
复位值
0
0
0
0
0
1
1
0
RTCDOW[2:0]为二进制无符号整数,范围为 1~7。写入 1~7 以外的值无效
表 12- 7 月寄存器
名称
月寄存器 RTCMTH
地址
3006H
位
位名
Bit7
--
6
--
5
--
4
--
3
2
1
Bit0
RTCMTH
RTCMTH
RTCMTH
RTCMTH
[3]
[2]
[1]
[0]
位权限
R
R
R
R
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
1
RTCDAY[3:0]为二进制无符号整数,范围为 1~12。写入 1~12 以外的值无效
表 12- 8 年寄存器
116/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
名称
年寄存器 RTCYR
地址
3007H
位
位名
Bit7
--
6
5
4
3
2
1
Bit0
RTCYR
RTCYR
RTCYR
RTCYR
RTCYR
RTCYR
RTCYR[
[6]
[5]
[4]
[3]
[2]
[1]
0]
位权限
R
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
RTCYR[6:0]为二进制无符号整数,范围为 0~99。写入 0~99 以外的值无效
表 12- 9 定时器 0 寄存器
名称
定时器 0 寄存器 RTCTMR0
地址
3008H
位
Bit7
6
5
4
3
2
1
Bit0
RTCTMR0[
RTCTMR
RTCTMR
RTCTMR
RTCTMR
RTCTMR
RTCTMR
RTCTMR
7]
0[6]
0[5]
0[4]
0[3]
0[2]
0[1]
0[0]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
RTCTMR0[7:0]为二进制无符号整数,当设定值为 N 时,计时周期为(N+1)*计时分辨率
表 12- 10 定时器 1 寄存器
名称
定时器 1 寄存器 RTCTMR1
地址
3009H
位
Bit7
6
5
4
3
2
1
Bit0
RTCTMR1[
RTCTMR
RTCTMR
RTCTMR
RTCTMR
RTCTMR
RTCTMR
RTCTMR
7]
1[6]
1[5]
1[4]
1[3]
1[2]
1[1]
1[0]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
RTCTMR1[7:0]为二进制无符号整数,当设定值为 N 时,计时周期为(N+1)*计时分辨率
表 12- 11 定时器设置寄存器
名称
定时器设置寄存器 RTCTMRSET
地址
300AH
位
Bit7
6
5
4
3
2
1
Bit0
TMR1_SET
TMR1_S
TMR1_S
TMR1_E
TMR0_S
TMR0_S
TMR0_S
TMR0_E
[2]
ET[1]
ET[0]
N
ET[2]
ET[1]
ET[0]
N
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
117/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
位
功能描述
TMR0_EN
0=不使能定时器 0
1=使能定时器 0
000=定时器 0 计时分辨率为 1/64 秒
TMR0_SET[2:0]
001=定时器 0 计时分辨率为 1/16 秒
010=定时器 0 计时分辨率为 1/4 秒
011=定时器 0 计时分辨率为秒
100=定时器 0 计时分辨率为分钟
101/110/111=定时器 0 计时分辨率为小时
TMR1_EN
0=不使能定时器 1
1=使能定时器 1
000=定时器 1 计时分辨率为 1/64 秒
TMR1_SET[2:0]
001=定时器 1 计时分辨率为 1/16 秒
010=定时器 1 计时分辨率为 1/4 秒
011=定时器 1 计时分辨率为秒
100=定时器 1 计时分辨率为分钟
101=定时器 1 计时分辨率为小时
110/111=定时器 1 计时分辨率为定时器 0 的计时周期(用于级
联)
表 12- 12 闹钟秒寄存器
名称
闹钟秒寄存器 RTCALMSEC
地址
300BH
位
位名
Bit7
--
6
--
5
4
3
2
1
Bit0
RTCALM
RTCALM
RTCALM
RTCALM
RTCALM
RTCALM
SEC [5]
SEC [4]
SEC [3]
SEC [2]
SEC [1]
SEC[0]
位权限
R
R
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
RTCALMSEC[5:0]为二进制无符号整数,范围为 0~59
表 12- 13 闹钟分钟寄存器
名称
闹钟分钟寄存器 RTCALMMIN
地址
300CH
位
位名
位权限
Bit7
-R
6
-R
5
4
3
2
1
Bit0
RTCALM
RTCALM
RTCALM
RTCALM
RTCALM
RTCALM
MIN [5]
MIN [4]
MIN [3]
MIN [2]
MIN [1]
MIN[0]
RW
RW
RW
RW
RW
RW
118/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
复位值
0
0
0
0
0
0
0
0
RTCALMMIN[5:0]为二进制无符号整数,范围为 0~59
表 12- 14 闹钟小时寄存器
名称
闹钟小时寄存器 RTCALMHR
地址
300DH
位
Bit7
位名
--
6
5
--
--
4
3
2
1
Bit0
RTCALM
RTCALM
RTCALM
RTCALM
RTCALM
HR [4]
HR [3]
HR [2]
HR [1]
HR[0]
位权限
R
R
R
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
RTCALMHR[4:0]为二进制无符号整数,范围为 0~23
表 12- 15 中断使能寄存器
名称
中断使能寄存器 RTCIE
地址
300EH
位
Bit7
6
5
4
3
2
1
Bit0
位名
ALMIE
TMR1IE
TMR0IE
MTHIE
DAYIE
HRIE
MINIE
SECIE
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位
SECIE
功能描述
0=不使能秒中断
1=使能秒中断
MINIE
0=不使能分钟中断
1=使能分钟中断
HRIE
0=不使能小时中断
1=使能小时中断
DAYIE
0=不使能日中断
1=使能日中断
MTHIE
0=不使能月中断
1=使能月中断
TMR0IE
0=不使能定时器 0 中断
1=使能定时器 0 中断
TMR0IE
0=不使能定时器 1 中断
1=使能定时器 1 中断
119/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
ALMIE
0=不使能闹钟中断
1=使能闹钟中断
表 12- 16 实时时钟中断标志寄存器
名称
中断标志寄存器 RTCIF
地址
300FH
位
Bit7
6
5
4
3
2
1
Bit0
位名
ALMIF
TMR1IF
TMR0IF
MTHIF
DAYIF
HRIF
MINIF
SECIF
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位
功能描述
SECIF
0=秒中断没有产生
1=秒中断产生,写 0 清零
MINIF
0=分钟中断没有产生
1=分钟中断产生,写 0 清零
HRIF
0=小时中断没有产生
1=小时中断产生,写 0 清零
DAYIF
0=日中断没有产生
1=日中断产生,写 0 清零
MTHIF
0=月中断没有产生
1=使能月中断,写 0 清零
0=定时器 0 中断没有产生
TMR0IF
1=定时器 0 中断产生,写 0 清零
0=定时器 1 中断没有产生
TMR0IF
1=定时器 1 中断产生,写 0 清零
ALMIF
0=闹钟中断没有产生
1=闹钟中断产生,写 0 清零
表 12- 17 实时时钟设置寄存器
名称
实时时钟设置寄存器 RTCSET
地址
3010H
位
位名
位权限
Bit7
TOLS
RW
6
-R
5
-R
4
-R
120/158
v1.2
3
2
1
TOS0[2
TOS0[1
TOS0[0
]
]
]
RW
RW
RW
Bit0
RTCCR
RW
BL6531/BL6536 电能表专用 MCU 芯片
复位值
0
0
0
0
位
0
0
0
0
功能描述
RTCCR
时间寄存器读取控制位,应设为 0
TOS0[2:0]
时钟输出设置位
001=经调校后准确的 1s 时标,周期 1s,占空比为 50%的方波
010=经调校后的分钟时标,周期 1 分钟,脉冲宽度为 1s
011=经调校后的小时时标,周期 1 小时,脉冲宽度为 1s
100=经调校后的日时标,周期 1 天,脉冲宽度为 1s
101=经调校后的定时器 0 时标,周期为定时器 0 的计时周期,
脉冲宽度为 1/64s
110=经调校后的定时器 1 时标,周期为定时器 1 的计时周期,
脉冲宽度为 1/64s
111=经调校后的闹钟时标,周期为闹钟的中断周期,脉冲宽度
为 1s
时钟输出极性控制位
TOLS
0=时钟输出为高电平脉冲
1=时钟输出为低电平脉冲
表 12- 18 实时时钟β 参数寄存器
名称
β 参数寄存器 RTCCALBET
地址
3011H
位
Bit7
6
5
4
3
2
1
Bit0
CALBET[7
CALBET
CALBET
CALBET
CALBET
CALBET
CALBET
CALBET
]
[6]
[5]
[4]
[3]
[2]
[1]
[0]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
CALBET[7:0]:温度特性曲线(St=β (T-T0)²+S0)的β 参数
把β 参数值转换成二进制小数后,将小数点后第 5 位到第 12 位存进此寄存器(因为β
参数的取值范围在-0.03 至-0.05,小数点后前 4 位都是 0)
表 12- 19 实时时钟 T0 参数寄存器
名称
T0 参数寄存器 RTCCALT0
地址
3012H
121/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
位
位名
Bit7
6
5
4
3
2
1
Bit0
CALT0[7]
CALT0[
CALT0[
CALT0[
CALT0[
CALT0[
CALT0[
CALT0[
6]
5]
4]
3]
2]
1]
0]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
CALT0[7:0]:温度特性曲线的 T0 参数
把 T0 参数值转换成二进制小数,整数部分为 5 位,小数点后保留 3 位(因为 T0 参数
的取值范围在 20~30℃)
,存进此寄存器
表 12- 20 实时时钟 S0 参数低 8 位寄存器
名称
S0 参数低 8 位寄存器 RTCCALS0L
地址
3013H
位
Bit7
6
5
4
3
2
1
Bit0
CALS0L[7
CALS0L
CALS0L
CALS0L
CALS0L
CALS0L
CALS0L
CALS0L
]
[6]
[5]
[4]
[3]
[2]
[1]
[0]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
CALS0L[7:0]:温度特性曲线的 S0 参数低 8 位
把 S0 参数的绝对值转换成二进制小数,整数部分为 6 位,小数点后保留 2 位(因为 S0
参数的取值范围在-50~50ppm)
,存进此寄存器
表 12- 21 实时时钟 S0 参数高 1 位寄存器
名称
S0 参数高 1 位寄存器 RTCCALS0H
地址
3014H
位
Bit7
位名
--
6
--
5
--
4
--
3
--
2
--
1
--
Bit0
CALS0H
[0]
位权限
R
R
R
R
R
R
R
RW
复位值
0
0
0
0
0
0
0
0
CALS0H[0]:温度特性曲线的 S0 参数高 1 位
S0 参数的符号位。0=正值;1=负值
表 12- 22 温度传感器使能定时器寄存器
名称
温度传感器使能定时器寄存器 RTCSTMR
地址
301AH
位
Bit7
6
5
4
122/158
v1.2
3
2
1
Bit0
BL6531/BL6536 电能表专用 MCU 芯片
位名
--
--
--
STMR[4
STMR[3
STMR[2
STMR[1
STMR[0
]
]
]
]
]
位权限
R
R
R
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
STMR[4:0]:温度传感器使能定时器
二进制无符号整数,当设定值为 N 时,定时使能周期为(N+1)分钟,高电平脉冲宽度为
1s
123/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
13. LCD 显示驱动
13.1 概述
LCD Controller 模块接收 CPU 送过来的数据,存储在显示数据寄存器里,并将显示数
据按一定规律组合以驱动 LCD 显示屏,实现期望信息的显示。
主要特点:

SEG和COM可编程配置,支持4COM*40SEG、6COM*30SEG、8COM*28SEG。

可配置占空比,支持1/4, 1/6, 1/8 duty。

可配置偏置电压,支持1/3, 1/4 bias voltage。

可配置刷新率和对比度。

支持闪烁功能,点亮、熄灭时间可配置。

支持全亮、全灭功能。

支持Type A和Type B两种LCD驱动波形。

多种低功耗模式。典型电流6uA。
13.2 结构框图
Digital Part
Segment
Decoder
SFR_Bus
LCDC
Register
Common
Decoder
Analog Part
VLCD
COM[3:0]
VLCD1
Voltage
Multiplexer
Timing
VLCD2
Switch
SEG[39:0]
VLCD3
图 13-1 显示控制结构框图
13.3 模拟驱动
LCD 驱动模拟部分要求输出 5 段电压,这 5 段电压可调,使得 LCD 灰度可调。
124/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
vdd
bias=0
VLCDH
VO4
VO4
A0
+
/
V3
VO3
A0
+
VO3
bias=1
VO4
V4
VO3
V3
VO2
V2
VO1
V1
VO0
V0
V2
VO2
A0
+
VO1
VO1
bias
V1
A0
+
VO0
A0
+
vbias<2:0>
VO0
V0
VLCDL
pd_vref
图 13-2 LCD 驱动电路图
控制信号 vbias<2:0>用来调整串联的电阻,使得 VLCDH 和 VLCDL 之间压差产生变化。
具体调整如下表。
vbias<2:0>
LCD 偏置
电阻
VLCDH-VLCDL 电压(v)
5.5
5
4.5
3.3
2.5
000
51%
5.5
5
4.5
3.3
2.5
001
58%
4.84
4.40
3.96
2.90
2.20
010
65%
4.32
3.92
3.53
2.59
1.96
011
72%
3.90
3.54
3.19
2.34
1.77
100
79%
3.55
3.23
2.91
2.13
1.61
101
86%
3.26
2.97
2.67
1.96
1.48
110
93%
3.02
2.74
2.47
1.81
1.37
111
100%
2.81
2.55
2.30
1.68
1.28
13.4 功能说明
CPU 通过 memory bus 将显示数据和控制信号写入到 LCDC 的寄存器里。Segment
Decoder 从显示数据寄存器中选取与 LCD 的段电极或列极(SEG)相对应的值。Common
Decoder 根据不同的 duty cycle 送出相应的选通波形给 LCD 的公共极或行极(COM)
。Timing
125/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
子模块产生刷新时钟和快速充电时钟。
Voltage Multiplexer 根据设置产生不同的偏置电压。Switch 决定将哪个驱动电压送到各
个 SEG 和 COM 上。
LCDC 模块关闭后,其寄存器仍然可以读写,所有 switch 都置于关闭状态,进入超低功
耗状态。
13.5 显示驱动配置寄存器
表 13- 1 显示控制寄存器
名称
显示控制寄存器 LCDCTRL
地址
3020H
位
Bit7
位名
CLKS[2]
6
5
4
CLKS[1]
CLKS[0]
FLKE
3
2
1
Bit0
TC
TMC
DMC[1]
DMC[0]
N
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位
功能描述
显示模式控制位
DMC[1:0]
01=启动 LCD 显示模式
10=启动 LED 显示模式
其他值=关闭显示
测试模式控制位
TMC
0=正常模式
1=测试模式
闪烁使能位
FLKEN
0=不使能显示闪烁
1=使能显示闪烁,LCDFLK 寄存器有效,闪烁频率由 LCDFLK 寄
存器设置决定
显示频率控制位
CLKS[2:0]
000=帧频为 32Hz
001=帧频为 48Hz
010=帧频为 64Hz
011=帧频为 80Hz
100=帧频为 96Hz
其他值=帧频为 32Hz
表 13- 2 显示设置寄存器
名称
显示设置寄存器 LCDSET
地址
3021H
位
位名
Bit7
6
LEDSEG
LEDDIG
P
P
5
WFS
4
FC
126/158
v1.2
3
LC
2
BIAS
1
DUTY[1]
Bit0
DUTY[0]
BL6531/BL6536 电能表专用 MCU 芯片
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位
功能描述
公共端选择位
DUTY[1:0]
00= 1/4duty,COM[3:0]
01=1/6duty,COM[5:0]
10/11=1/8duty,COM[7:0]
偏置类型控制位
BIAS
0= 1/3bias
1= 1/4bias
大电流驱动使能位
LC
0=不使能大电流驱动,低功耗模式
1=使能大电流驱动
快速驱动使能位,此位仅在 LC=0(即选择低功耗模式)时有效
FC
0=不使能快速驱动
1=使能快速驱动,脉冲宽度由 LCDDRV 寄存器的 FCS 位决定
波形类型选择位
WFS
0= A 类波形(在每一公共端内改变相位)
1= B 类波形(在每一帧边界改变相位)
LED 显示 DIG 端有效电平选择位
LEDDIGP
0= DIG 端有效电平为高
1= DIG 端有效电平为低
LED 显示 SEG 端有效电平选择位
LEDSEGP
0= SEG 端有效电平为高
1= SEG 端有效电平为低
表 13- 3 显示驱动设置寄存器
名称
显示驱动设置寄存器 LCDDRV
地址
3022H
位
位名
Bit7
6
5
4
3
2
1
Bit0
FCS[3]
FCS[2]
FCS[1]
FCS[0]
--
VBIAS[2
VBIAS[1]
VBIAS[0]
]
位权限
RW
RW
RW
RW
R
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位
功能描述
127/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
显示灰度设置位
VBIAS [2:0]
000=51%亮度,L1 级
001=58%亮度,L2 级
010=65%亮度,L3 级
011=72%亮度,L4 级
100=79%亮度,L5 级
101=86%亮度,L6 级
110=93%亮度,L7 级
111=100%亮度,L8 级
快速驱动脉宽设置位
FCS[3:0]
为二进制无符号整数,设置为 N 时,脉宽为(N+1)*8*1/32768s
表 13- 4 显示闪烁控制寄存器
名称
显示闪烁控制寄存器 LCDFLK
地址
3023H
位
Bit7
6
5
4
3
2
1
TOFF[3
TOFF[2
TOFF[1
TOFF[0
TON[3]
TON[2]
TON[1]
TON[0]
]
]
]
]
位权限
RW
RW
RW
RW
RW
RW
RW
RW
复位值
0
0
0
0
0
0
0
0
位名
位
Bit0
功能描述
点亮时间设置位
TON [2:0]
为二进制无符号整数,设置为 N 时,点亮时间为(N+1)*8192/32768s
熄灭时间设置位
TOFF[3:0]
为二进制无符号整数,设置为 N 时,熄灭时间为(N+1)*8192/32768s
表 13- 5 显示数据寄存器
地址
名称
说明
3024H
LCDDAT0
显示数据寄存器 0
3025H
LCDDAT1
显示数据寄存器 1
3026H
LCDDAT2
显示数据寄存器 2
3027H
LCDDAT3
显示数据寄存器 3
3028H
LCDDAT4
显示数据寄存器 4
3029H
LCDDAT5
显示数据寄存器 5
302AH
LCDDAT6
显示数据寄存器 6
302BH
LCDDAT7
显示数据寄存器 7
302CH
LCDDAT8
显示数据寄存器 8
128/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
302DH
LCDDAT9
显示数据寄存器 9
302EH
LCDDAT10
显示数据寄存器 10
302FH
LCDDAT11
显示数据寄存器 11
3030H
LCDDAT12
显示数据寄存器 12
3031H
LCDDAT13
显示数据寄存器 13
3032H
LCDDAT14
显示数据寄存器 14
3033H
LCDDAT15
显示数据寄存器 15
3034H
LCDDAT16
显示数据寄存器 16
3035H
LCDDAT17
显示数据寄存器 17
3036H
LCDDAT18
显示数据寄存器 18
3037H
LCDDAT19
显示数据寄存器 19
3038H
LCDDAT20
显示数据寄存器 20
3039H
LCDDAT21
显示数据寄存器 21
303AH
LCDDAT22
显示数据寄存器 22
303BH
LCDDAT23
显示数据寄存器 23
303CH
LCDDAT24
显示数据寄存器 24
303DH
LCDDAT25
显示数据寄存器 25
303EH
LCDDAT26
显示数据寄存器 26
303FH
LCDDAT27
显示数据寄存器 27
LCD 模块内有 28 个 8bit 的显示数据寄存器,均为可读可写,复位值为 0。
表 13- 6 4COM 的显示数据寄存器组合
COM0
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
0[7]
0[6]
0[5]
0[4]
0[3]
0[2]
0[1]
0[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
1[7]
1[6]
1[5]
1[4]
1[3]
1[2]
1[1]
1[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
2[7]
2[6]
2[5]
2[4]
2[3]
2[2]
2[1]
2[0]
SEG31
SEG30
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
3[7]
3[6]
3[5]
3[4]
3[3]
3[2]
3[1]
3[0]
SEG39
SEG38
SEG37
SEG36
SEG35
SEG34
SEG33
SEG32
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
4[7]
4[6]
4[5]
4[4]
4[3]
4[2]
4[1]
4[0]
129/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
COM1
COM2
COM3
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
5[7]
5[6]
5[5]
5[4]
5[3]
5[2]
5[1]
5[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
6[7]
6[6]
6[5]
6[4]
6[3]
6[2]
6[1]
6[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
7[7]
7[6]
7[5]
7[4]
7[3]
7[2]
7[1]
7[0]
SEG31
SEG30
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
8[7]
8[6]
8[5]
8[4]
8[3]
8[2]
8[1]
8[0]
SEG39
SEG38
SEG37
SEG36
SEG35
SEG34
SEG33
SEG32
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
9[7]
9[6]
9[5]
9[4]
9[3]
9[2]
9[1]
9[0]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
10[7]
10[6]
10[5]
10[4]
10[3]
10[2]
10[1]
10[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
11[7]
11[6]
11[5]
11[4]
11[3]
11[2]
11[1]
11[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
12[7]
12[6]
12[5]
12[4]
12[3]
12[2]
12[1]
12[0]
SEG31
SEG30
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
13[7]
13[6]
13[5]
13[4]
13[3]
13[2]
13[1]
13[0]
SEG39
SEG38
SEG37
SEG36
SEG35
SEG34
SEG33
SEG32
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
14[7]
14[6]
14[5]
14[4]
14[3]
14[2]
14[1]
14[0]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
15[7]
15[6]
15[5]
15[4]
15[3]
15[2]
15[1]
15[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
16[7]
16[6]
16[5]
16[4]
16[3]
16[2]
16[1]
16[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
130/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
17[7]
17[6]
17[5]
17[4]
17[3]
17[2]
17[1]
17[0]
SEG31
SEG30
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
18[7]
18[6]
18[5]
18[4]
18[3]
18[2]
18[1]
18[0]
SEG39
SEG38
SEG37
SEG36
SEG35
SEG34
SEG33
SEG32
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
19[7]
19[6]
19[5]
19[4]
19[3]
19[2]
19[1]
19[0]
表 13- 7 6COM 的显示数据寄存器组合
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
0[7]
0[6]
0[5]
0[4]
0[3]
0[2]
0[1]
0[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
1[7]
1[6]
1[5]
1[4]
1[3]
1[2]
1[1]
1[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
2[7]
2[6]
2[5]
2[4]
2[3]
2[2]
2[1]
2[0]
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
3[5]
3[4]
3[3]
3[2]
3[1]
3[0]
COM0
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
4[7]
4[6]
4[5]
4[4]
4[3]
4[2]
4[1]
4[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
5[7]
5[6]
5[5]
5[4]
5[3]
5[2]
5[1]
5[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
6[7]
6[6]
6[5]
6[4]
6[3]
6[2]
6[1]
6[0]
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
7[5]
7[4]
7[3]
7[2]
7[1]
7[0]
COM1
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
8[7]
8[6]
8[5]
8[4]
8[3]
8[2]
8[1]
8[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
COM2
131/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
9[7]
9[6]
9[5]
9[4]
9[3]
9[2]
9[1]
9[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
10[7]
10[6]
10[5]
10[4]
10[3]
10[2]
10[1]
10[0]
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
11[5]
11[4]
11[3]
11[2]
11[1]
11[0]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
12[7]
12[6]
12[5]
12[4]
12[3]
12[2]
12[1]
12[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
13[7]
13[6]
13[5]
13[4]
13[3]
13[2]
13[1]
13[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
14[7]
14[6]
14[5]
14[4]
14[3]
14[2]
14[1]
14[0]
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
15[5]
15[4]
15[3]
15[2]
15[1]
15[0]
COM3
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
16[7]
16[6]
16[5]
16[4]
16[3]
16[2]
16[1]
16[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
17[7]
17[6]
17[5]
17[4]
17[3]
17[2]
17[1]
17[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
18[7]
18[6]
18[5]
18[4]
18[3]
18[2]
18[1]
18[0]
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
19[5]
19[4]
19[3]
19[2]
19[1]
19[0]
COM4
COM5
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
20[7]
20[6]
20[5]
20[4]
20[3]
20[2]
20[1]
20[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
132/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
21[7]
21[6]
21[5]
21[4]
21[3]
21[2]
21[1]
21[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
22[7]
22[6]
22[5]
22[4]
22[3]
22[2]
22[1]
22[0]
SEG29
SEG28
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
23[5]
23[4]
23[3]
23[2]
23[1]
23[0]
表 13- 8 8COM 的显示数据寄存器组合
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
0[7]
0[6]
0[5]
0[4]
0[3]
0[2]
0[1]
0[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
1[7]
1[6]
1[5]
1[4]
1[3]
1[2]
1[1]
1[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
2[7]
2[6]
2[5]
2[4]
2[3]
2[2]
2[1]
2[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
3[3]
3[2]
3[1]
3[0]
COM0
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
4[3]
4[2]
4[1]
4[0]
3[7]
3[6]
3[5]
3[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
5[3]
5[2]
5[1]
5[0]
4[7]
4[6]
4[5]
4[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
6[3]
6[2]
6[1]
6[0]
5[7]
5[6]
5[5]
5[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
6[7]
6[6]
6[5]
6[4]
COM1
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
7[7]
7[6]
7[5]
7[4]
7[3]
7[2]
7[1]
7[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
COM2
133/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
8[7]
8[6]
8[5]
8[4]
8[3]
8[2]
8[1]
8[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
9[7]
9[6]
9[5]
9[4]
9[3]
9[2]
9[1]
9[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
10[3]
10[2]
10[1]
10[0]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
11[3]
11[2]
11[1]
11[0]
10[7]
10[6]
10[5]
10[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
12[3]
12[2]
12[1]
12[0]
11[7]
11[6]
11[5]
11[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
13[3]
13[2]
13[1]
13[0]
12[7]
12[6]
12[5]
12[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
13[7]
13[6]
13[5]
13[4]
COM3
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
14[7]
14[6]
14[5]
14[4]
14[3]
14[2]
14[1]
14[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
15[7]
15[6]
15[5]
15[4]
15[3]
15[2]
15[1]
15[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
16[7]
16[6]
16[5]
16[4]
16[3]
16[2]
16[1]
16[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
17[3]
17[2]
17[1]
17[0]
COM4
COM5
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
18[3]
18[2]
18[1]
18[0]
17[7]
17[6]
17[5]
17[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
134/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
19[3]
19[2]
19[1]
19[0]
18[7]
18[6]
18[5]
18[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
20[3]
20[2]
20[1]
20[0]
19[7]
19[6]
19[5]
19[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
20[7]
20[6]
20[5]
20[4]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
21[7]
21[6]
21[5]
21[4]
21[3]
21[2]
21[1]
21[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
22[7]
22[6]
22[5]
22[4]
22[3]
22[2]
22[1]
22[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
23[7]
23[6]
23[5]
23[4]
23[3]
23[2]
23[1]
23[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
24[3]
24[2]
24[1]
24[0]
COM6
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
25[3]
25[2]
25[1]
25[0]
24[7]
24[6]
24[5]
24[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
26[3]
26[2]
26[1]
26[0]
25[7]
25[6]
25[5]
25[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
27[3]
27[2]
27[1]
27[0]
26[7]
26[6]
26[5]
26[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
27[7]
27[6]
27[5]
27[4]
COM7
表 13- 9 LED 的显示数据寄存器组合
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
0[7]
0[6]
0[5]
0[4]
0[3]
0[2]
0[1]
0[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
COM0
135/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
1[7]
1[6]
1[5]
1[4]
1[3]
1[2]
1[1]
1[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
2[7]
2[6]
2[5]
2[4]
2[3]
2[2]
2[1]
2[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
3[3]
3[2]
3[1]
3[0]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
4[3]
4[2]
4[1]
4[0]
3[7]
3[6]
3[5]
3[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
5[3]
5[2]
5[1]
5[0]
4[7]
4[6]
4[5]
4[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
6[3]
6[2]
6[1]
6[0]
5[7]
5[6]
5[5]
5[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
6[7]
6[6]
6[5]
6[4]
COM1
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
7[7]
7[6]
7[5]
7[4]
7[3]
7[2]
7[1]
7[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
8[7]
8[6]
8[5]
8[4]
8[3]
8[2]
8[1]
8[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
9[7]
9[6]
9[5]
9[4]
9[3]
9[2]
9[1]
9[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
10[3]
10[2]
10[1]
10[0]
COM2
COM3
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
11[3]
11[2]
11[1]
11[0]
10[7]
10[6]
10[5]
10[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
136/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
12[3]
12[2]
12[1]
12[0]
11[7]
11[6]
11[5]
11[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
13[3]
13[2]
13[1]
13[0]
12[7]
12[6]
12[5]
12[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
13[7]
13[6]
13[5]
13[4]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
14[7]
14[6]
14[5]
14[4]
14[3]
14[2]
14[1]
14[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
15[7]
15[6]
15[5]
15[4]
15[3]
15[2]
15[1]
15[0]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
16[7]
16[6]
16[5]
16[4]
16[3]
16[2]
16[1]
16[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
17[3]
17[2]
17[1]
17[0]
COM4
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
18[3]
18[2]
18[1]
18[0]
17[7]
17[6]
17[5]
17[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
19[3]
19[2]
19[1]
19[0]
18[7]
18[6]
18[5]
18[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
20[3]
20[2]
20[1]
20[0]
19[7]
19[6]
19[5]
19[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
20[7]
20[6]
20[5]
20[4]
COM5
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
21[7]
21[6]
21[5]
21[4]
21[3]
21[2]
21[1]
21[0]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
22[7]
22[6]
22[5]
22[4]
22[3]
22[2]
22[1]
22[0]
COM6
137/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
23[7]
23[6]
23[5]
23[4]
23[3]
23[2]
23[1]
23[0]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
24[3]
24[2]
24[1]
24[0]
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
25[3]
25[2]
25[1]
25[0]
24[7]
24[6]
24[5]
24[4]
SEG15
SEG14
SEG13
SEG12
SEG11
SEG10
SEG9
SEG8
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
26[3]
26[2]
26[1]
26[0]
25[7]
25[6]
25[5]
25[4]
SEG23
SEG22
SEG21
SEG20
SEG19
SEG18
SEG17
SEG16
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
LCDDAT
27[3]
27[2]
27[1]
27[0]
26[7]
26[6]
26[5]
26[4]
SEG27
SEG26
SEG25
SEG24
LCDDAT
LCDDAT
LCDDAT
LCDDAT
27[7]
27[6]
27[5]
27[4]
COM7
138/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
14. 模数转换器(ADC)
14.1 概述
BL6531/BL6536 具有一个 4 通道的 12 位的逐次逼近型模数转换器,四个通道都可以独
立输入模拟信号,但是每次转换只能使用一个通道。

ADC采用32.768K作为时钟输入,完成一次转换需13个时钟周期。

内置1.14V参考电压, 参考电压误差≤2%。

通道0采用内部电阻分压,分压比为19:60,通道1、通道2和通道3无分压。

ADC功耗45uA。

可配置转换完毕产生中断。
14.2 结构框图
图 14-1 ADC 模块结构框图
14.3 功能说明
MCU 通过配置 ADCCFG 寄存器,启动 ADC 转换,转换完成后,更新 ADC 结果寄存
器,并将 ADCCFG 寄存器启动位清零,并关闭 ADC, 转换结束位置位,同时,根据配置产
生 ADC 转换完成中断。
通道 0 转换时,电压值=(ADC 结果寄存器值/4096)*(19/60) * 1.14V;
其他通道转换时,电压值=(ADC 结果寄存器值/4096)* 1.14V;
使用通道 0 时,转换完成后输入通道自动关闭,内部分压电路不耗电。
14.4 ADC 配置寄存器
表 14- 1 ADC 控制状态寄存器
139/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
名称
ADC 控制、状态寄存器(ADCCFG)
地址
308BH
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
位名
ADCSTART
位权限
R/W
R/W
R/W
复位值
0
0
0
Bit1
-
-
-
-
-
R/W
R/W
R/W
R/W
R
0
0
0
0
0
-
Bit0
ADC-DONE
表 14- 2 ADC 测量结果寄存器
名称
ADC 测量结果寄存器(ADCVALUEH)
地址
308CH
位
Bit7
Bit6
Bit5
Bit4
-
-
-
-
位名
Bit3
Bit2
Bit1
Bit0
AD[11]
AD[10]
AD[9]
AD[8]
位权限
R/W
R/W
R/W
R/W
R
R
R
R
复位值
0
0
0
0
0
0
0
0
表 14- 3 ADC 测量结果寄存器
名称
ADC 测量结果寄存器(ADCVALUEL)
地址
308DH
位
Bit7
位名
AD[7]
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
AD[6]
AD[5]
AD[4]
AD[3]
AD[2]
AD[1]
AD[0]
位权限
R
R
R
R
R
R
R
R
复位值
0
0
0
0
0
0
0
0
表 14-4 ADC 通道选择寄存器
名称
ADC 通道选择寄存器(ADCIN_SEL)
地址
308DH
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
-
-
-
-
-
-
SEL1
SEL0
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位名
ADC 通道选择,00: 通道 0;01:通道 1;10:通道 2;11:通道 3
140/158
v1.2
Bit1
Bit0
BL6531/BL6536 电能表专用 MCU 芯片
15. 温度传感器
15.1 概述
BL6531/BL6536 内部集成一个温度传感器,可对芯片工作的环境温度进行测量,用来
对 RTC 进行实时温度补偿。温度传感器的主要特点有:

测量范围:-45℃-85℃

测量精度:±0.3℃

模块功耗:<60uA

温度传感器测量值为16位补码,最高位为符号位,计算公式为:
最高位为0时,温度值 = 温度传感器结果寄存器值/128;
最高位为1时,温度值 = -(65536-温度传感器结果寄存器值)/128;
15.2 温度传感器配置寄存器
表 15- 1 温度传感器结果高位寄存器
名称
温度传感器结果高位寄存器(SENSOR_VALUE_H)
地址
3076H
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位名
位权限
R
R
R
R
R
R
R
R
复位值
0
0
0
0
0
0
0
0
SENSOR_VALUE_H [7:0] : 温度传感器结果高 8 位
表 15- 2 温度传感器结果低位寄存器
名称
温度传感器结果低位寄存器(SENSOR_VALUE_L)
地址
3077H
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位名
位权限
R
R
R
R
R
R
R
R
复位值
0
0
0
0
0
0
0
0
SENSOR_VALUE_L[7:0] : 温度传感器结果低 8 位
表 15- 3 温度传感器控制寄存器
名称
温度传感器控制寄存器(SENSOR_CTRL)
地址
307EH
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位名
Bit0,1:温度测量使能;0:温度测量关闭
141/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Bit7,1:温度传感器配置使能;0:温度传感器配置禁止
142/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
16. 电压比较器
16.1 概述
BL6531/BL6536 包含三个比较器,分别为 15V 电源比较器、5V 上电比较器和 5V 掉电
比较器。其中 15 电源比较器采用外部管脚输入,有两个输入通道可选择,与 1.25V 的基准
电压进行比较。5V 上电和 5V 掉电比较器采用内部电源电压作为比较器输入,比较电压阈
值可设置。根据配置比较器结果变化可以输出中断,当 MCU 处于低功耗模式时,比较器结
果变化可以唤醒 MCU 正常工作。同时,根据配置可选择对比较器结果输出进行 2ms 的数字
滤波。
16.2 比较器配置寄存器
表 16- 1 比较器中断使能寄存器
名称
比较器中断使能寄存器(PMINTEN)
地址
3084H
位
Bit7
位名
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
-
-
PMINTEN.3
PMINTEN.2
PMINTEN.1
PMINTEN.0
-
-
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位
功能描述
PMINTEN.3
1: 允许 ADC 电平变化中断
0:禁止 ADC 电平变化中断
PMINTEN.2
1: 允许 15V 电源比较器输出变化中断
0:禁止 15V 电源比较器输出变化中断
PMINTEN.1
1: 允许 5V 上电比较器输出变化中断
0:禁止 5V 上电比较器变化中断
PMINTEN.0
1: 允许 5V 掉电比较器变化中断
0:禁止 5V 掉电比较器变化中断
表 16- 2 比较器中断标志寄存器
名称
比较器中断标志寄存器(PMINTFLAG)
地址
3085H
位
Bit7
Bit6
-
-
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位名
位
Bit5
Bit4
-
-
Bit3
功能描述
143/158
v1.2
Bit2
Bit1
Bit0
BL6531/BL6536 电能表专用 MCU 芯片
PMINTFLAG.3
1: ADC 电平变化中断标志位
PMINTFLAG.2
1: 15V 电源比较器输出变化中断标志位
PMINTFLAG.1
1: 5V 上电比较器输出变化中断标志位
PMINTFLAG.0
1: 5V 掉电比较器变化中断标志位
表 16- 3 5V 电源比较器阈值配置寄存器
名称
5V 比较器阈值配置寄存器(CMP5VCFG)
地址
3087H
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位名
位
功能描述
CMP5VCFG[7:4]
CMP5VCFG[3:0]
5V 上电比较器比较阈值
0: 2.4V
1: 2.6V
2: 2.8V
3: 3.0V
4: 3.2V
5: 3.4V
6: 3.6V
7: 3.8V
8: 4.0V
9: 4.2V
10: 4.4V
11: 4.6V
12: 4.8V
13: 5.0V
5V 掉电比较器比较阈值
0: 2.4V
1: 2.6V
2: 2.8V
3: 3.0V
4: 3.2V
5: 3.4V
6: 3.6V
7: 3.8V
8: 4.0V
9: 4.2V
10: 4.4V
11: 4.6V
12: 4.8V
13: 5.0V
表 16- 4 比较器中断控制寄存器
名称
比较器中断使能寄存器(CMPEVENTCFG)
地址
3088H
位
Bit7
Bit6
-
-
位权限
R/W
复位值
0
位名
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
144/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
位
功能描述
CMPEVENTCFG[5:4]
15v 电源下电比较器脉冲控制
00:不产生比较器变化脉冲
01:下降沿产生中断脉冲
10:上升沿产生中断脉冲
11:电平变化产生中断脉冲
CMPEVENTCFG[3:2]
5v 电源上电比较器脉冲控制
00:不产生比较器变化脉冲
01:下降沿产生中断脉冲
10:上升沿产生中断脉冲
11:电平变化产生中断脉冲
CMPEVENTCFG[1:0]
5v 电源下电比较器脉冲控制
00:不产生比较器变化脉冲
01:下降沿产生中断脉冲
10:上升沿产生中断脉冲
11:电平变化产生中断脉冲
表 16- 5 比较器配置寄存器
名称
比较器配置寄存器(CMPCFG)
地址
3089H
位
Bit7
Bit6
Bit5
Bit4
-
CMPCFG.6
CMPCFG.5
CMPCFG.4
位权限
R/W
R/W
R/W
复位值
0
0
0
位名
位
CMPCFG.6
Bit3
Bit2
Bit1
Bit0
-
CMPCFG.2
CMPCFG.1
CMPCFG.0
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
功能描述
1: 15V 电源比较器滤波开启
0:15V 电源比较器滤波关闭
CMPCFG.5
1: 5V 上电比较器滤波开启
0:5V 上电比较器滤波关闭
CMPCFG.4
1: 5V 掉电比较器滤波开启
0:5V 掉电比较器滤波关闭
CMPCFG.2
1: 关闭 15V 电源比较器
0:打开 15V 电源比较器
CMPCFG.1
1: 关闭 5V 上电和掉电比较器
0:打开 5V 上电和掉电比较器
145/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
CMPCFG.0
15V 比较器输入通道选择
0:CMP1 通道,1:CMP0 通道
表 16- 6 比较器结果寄存器
名称
比较器结果寄存器
地址
308AH
位
Bit7
Bit6
-
-
R/W
R/W
位名
位权限
复位值
0
0
位
Bit5
Bit4
-
R/W
0
Bit3
-
R/W
0
R/W
0
功能描述
HVDDPD
15V 电源比较器输出结果
VDDPU
5V 上电比较器输出结果
VDDPD
5V 掉电比较器输出结果
146/158
v1.2
Bit2
Bit1
Bit0
HVDDPD
VDDPU
VDDPD
R
R
R
0
0
0
BL6531/BL6536 电能表专用 MCU 芯片
17. 看门狗及系统复位
17.1 概述
BL6531/BL6536 具有两个硬件看门狗 WDT0 和 WDT1,其中,WDT0 上电后自动打开,
不能关闭,溢出值典型情况下为 1.8s,WDT1 可配置 IEN1 的 SWDT 位打开,溢出值可设置。
当 MCU 进入低功耗模式后,看门狗停止工作,唤醒后看门狗继续工作。同时,MCU 包括
多种复位源,保证实现可靠复位:

外部复位引脚复位

上电、掉电复位

看门狗复位

STOP模式唤醒复位

软件复位
17.2 功能说明
看门狗需要定时进行清零操作,如果到达溢出时间而没有进行清零,会导致 MCU 复位。
WDT0 的溢出时间典型值为 1.8s,WDT1 的溢出时间可以配置。看门狗清零命令需要先对
IEN0 的 WDT 位置位,然后再对 IEN1 的 SWDT 位置位,并且两个操作指令必须连续不能
打断,清零命令对两个看门狗同时进行清零。
单独对 IEN1 的 SWDT 位置位,可以使能 WDT1 工作。
对复位寄存器 SRST(F7H)连续两次设置为 0x01 可以将 MCU 软件复位。
17.3 看门狗及复位配置寄存器
表 17- 1 看门狗 1 重装载寄存器
名称
看门狗 1 重装载寄存器(WDTREL)
地址
86H
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位名
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位
WDTREL.7
功能描述
1: WDT1 时钟为系统时钟/16
0: WDT1 时钟为系统时钟
WDTREL[6:0]
WDT1 重装载值
表 17- 2 复位寄存器
147/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
名称
复位寄存器(SRST)
地址
F7H
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位名
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
148/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
18. 低功耗模式
18.1 概述
BL6531/ BL6536 具有两种低功耗模式,SLEEP 模式和 STOP 模式。MCU 可以通过配置
寄存器进入低功耗模式,进入低功耗模式后 MCU 停止工作,内部 PLL 电路、存储器管理、
SRAM、Flash、UART、Timer、7816 接口、SPI 接口、I2C 接口、SFR、红外接口等数字电
路关闭。同时 RTC 模块正常工作,并且可过配置唤醒源进行 MCU 唤醒。BL6531 在 SLEEP
模式下功耗可降低到 10uA,在 SLEEP 模式下 LCD 显示时功耗可降低到 20uA,在 STOP 模
式下功耗可降低为 6uA。
18.2 功能说明
18.2.1 SLEEP 模式
节电模式控制寄存器写入“0x69”后进入 SLEEP 模式,先关闭 PLL 电路,然后复位看
门狗,根据配置关闭 RC 振荡器时钟、LCD 驱动时钟、GPIO 除唤醒管脚外时钟,最后关闭
MCU 时钟,进入休眠。
进入 SLEEP 模式后,如果接收到有效的唤醒信号,复位节电模式寄存器,自动关闭 PLL
时钟,开启低频 32.768KHZ 时钟,MCU 正常运行,如果用户需要使用 PLL 时钟作为主时
钟需要重新配置 PLL 寄存器。
18.2.1 STOP 模式
节电模式控制寄存器写入“0x96”后进入 STOP 模式,先关闭 PLL 电路,然后复位看
门狗,根据配置关闭 RC 振荡器时钟、LCD 驱动时钟、GPIO 除唤醒管脚外时钟,最后关闭
MCU 时钟,进入休眠。
进入 STOP 模式后,如果接收到有效的唤醒信号,复位节电模式寄存器,同时产生复位
信号,MCU 复位后恢复正常运行。
18.2.3 唤醒源
MCU 有多种唤醒源,包括:

IO电平变化唤醒

RTC唤醒

比较器输出变化唤醒
MCU 从低功耗模式唤醒时,不进入相应的中断向量,不会执行中断服务程序,唤醒后
正常工作时,正常执行中断服务程序。
18.3 掉电模式配置寄存器
表 18- 1 节电模式配置寄存器
名称
节电模式配置寄存器(PMMODEREG)
地址
3080H
149/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
位
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位名
位
功能描述
PMMODEREG[7:0]
0x69:SLEEP 模式
0x96:STOP 模式
0x00:正常模式
其他:正常模式
需要打开节电模式保护寄存器后才能设置,设置后立即进入节电模式,MCU 停止运行,
唤醒后硬件自动清零。
表 18- 2 节电模式控制寄存器
名称
节电模式控制寄存器(PMCONREG)
地址
3081H
位
Bit7
位名
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
-
-
-
-
PMCONREG.1
-
-
-
位权限
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
0
0
0
位
功能描述
PMCONREG.1
1:STOP/SLEEP 模式下关闭内部 RC 振荡器
0:开启内部 RC 振荡器
需要打开节电模式保护寄存器后才能设置。
表 18- 3 节电模式写保护寄存器
名称
节电模式写保护寄存器(PMSPWP)
地址
3082H
位
位名
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
-
-
-
-
-
-
位权限
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
位
PMSPWP.1
功能描述
1:PMMODEREG 写保护打开
0:PMMODEREG 写保护关闭
PMSPWP.0
1:PMCONREG 写保护打开
0:PMCONREG 写保护关闭
150/158
v1.2
Bit1
Bit0
PMSPWP.1
PMSPWP.0
R/W
R/W
R/W
0
0
0
BL6531/BL6536 电能表专用 MCU 芯片
表 18- 4 唤醒配置寄存器
名称
唤醒配置寄存器(PMWAKEEN)
地址
3082H
位
Bit7
Bit6
-
-
位权限
R/W
R/W
复位值
0
0
位名
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
-
PMWAKEEN.4
PMWAKEEN.3
PMWAKEEN.2
PMWAKEEN.1
PMWAKEEN.0
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
位
功能描述
PMWAKEEN.4
1:允许 IO 电平变化唤醒
0:禁止 IO 电平变化唤醒
PMWAKEEN.3
1:允许定时唤醒
0:禁止定时唤醒
PMWAKEEN.2
1:允许 15V 电源比较器输出变化唤醒
0:禁止 15V 电源比较器输出变化唤醒
PMWAKEEN.1
1:允许 5V 上电比较器输出变化唤醒
0:禁止 5V 上电比较器输出变化唤醒
PMWAKEEN.0
1:允许 5V 掉电比较器输出变化唤醒
0:禁止 5V 掉电比较器输出变化唤醒
表 18- 5 节电模式时钟配置寄存器
名称
节电模式时钟配置寄存器(PMPDCFG)
地址
3086H
位
位名
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
-
-
-
-
-
-
位权限
R/W
R/W
R/W
R/W
R/W
复位值
0
0
0
0
0
位
PMPDCFG.1
功能描述
1:关闭 GPIO 时钟
0:开启 GPIO 时钟
PMPDCFG.0
1:关闭 LCD 时钟
0:开启 LCD 时钟
151/158
v1.2
Bit1
Bit0
PMPDCFG.1
PMPDCFG.0
R/W
R/W
R/W
0
0
0
BL6531/BL6536 电能表专用 MCU 芯片
19. JTAG 调试
19.1 概述
BL6531/ BL6536 支持 IEEE1149.1 标准的 JTAG 接口,用户可以通过引脚 TCK、TDI、
TDO、TMS 实现在线编程和在线调试。BL6531/ BL6536 支持单步调试,同时可支持最多
2 个断点调试。
19.2 功能说明
BL6531/ BL6536 通过将 JTAG 管脚接高电平进入 JTAG 调试模式,TCK、TDI、TDO、
TMS 引脚自动配置为 JTAG 调试模式,当 JTAG 悬空或者接低电平时,TCK、TDI、TDO、
TMS 管脚可用作普通 GPIO 口。同时,在 JTAG 调试模式,PLL 时钟默认自动运行,不
能关闭,看门狗停止运行。
152/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
20. 电气特性
20.1 极限参数

直流供电电压:
2.2V to 5.5V

数字输入/输出电压:
DGND-0.3V to VDD +0.3V

模拟输入电压:
AGND-0.3V to VDD +0.3V

工作环境温度:
-40°C to 85°C

存储温度:
–55°C to 125°C
20.2 直流电气特性
(VDD = 2.2 – 5.5V, DGND = 0V,TA = 25°C, 除非另有说明)
参数
符号
最小值
典型值
最大值
单位
工作电压
VDD
2.2
5.0
5.5
V
工作电流 1
IOP1
-
3.5
5
mA
工作电流 2
IOP2
-
2
3.5
mA
ISLEEP
-
10
12.5
uA
ISTOP
-
功能模块正常运行
显示关闭,TEMP_SENSOR
6
8
uA
显示关闭,TEMP_SENSOR
关闭,RC 振荡器关闭
MCU 进入 SLEEP 模式,
LCD
IWAKE
20
25
uA
显示打开,TEMP_SENSOR
关闭,RC 振荡器关闭
看门狗工作电流
1
比较器工作电流
uA
2
uA
输入低电压
VIL
GND
-
0.3 X VDD
V
GPIO 端口
输入高电压
VIH
0.7 X VDD
-
VDD
V
GPIO 端口
输出高电压
VOH
VDD – 0.5
-
-
V
GPIO 端口
输出低电压
VOL
-
-
GND + 0.5
V
GPIO 端口
上拉电阻 1
RPH1
-
20
-
k
上拉电阻 2
RPH2
-
70
-
k
上拉电阻 3
RPH3
-
500
-
k
20.3 交流电气特性
153/158
v1.2
Fclk=3.6864MHZ,MCU 各个
MCU 进入 STOP 模式,LCD
待机电流
(掉电模式 SLEEP+LCD)
个功能模块正常运行
关闭,RC 振荡器关闭
待机电流
(掉电模式: STOP)
Fclk=14.7456MHZ,MCU 各
MCU 进入 SLEEP 模式,
LCD
待机电流
(掉电模式:SLEEP)
条件
7816_OA,7816_OB
除 GPIO4 外,其他 GPIO 接
口
GPIO4
BL6531/BL6536 电能表专用 MCU 芯片
20.3.1 I2C 交流电气特性
(VDD = 2.2~5.5V,Ta = -40°C to 85°C,unless otherwise specified)
Parameter
Symbol
Standard-Mode
Fast-Mode
Unit
Min
Max
Min
Max
fSCL
-
100
-
400
kHz
tHD:STA
4.0
-
0.6
-
μs
tLOW
4.7
-
1.3
-
μs
tHIGH
4.0
-
0.6
-
μs
SCL setup time
(restart condition)
tSU:STA
4.7
-
0.6
-
μs
SDA hold time
tHD:DAT
5.0
-
0
-
μs
SDA setup time
tSU:DAT
0.25
-
0.1
-
μs
SDA setup time
(stop condition)
tSU:STO
4.0
-
0.6
-
μs
tBUF
4.7
-
1.3
-
μs
SCL frequency
SCL hold time
(start/restart condition)
SCL “L” level time
SCL “H” level time
Bus free time
20.3.2 SPI 交流电气特性
(VDD = 2.2~5.5V,Ta = -40°C to 85°C,100pf load on all SPI.)
Num1
Parameter2
Symbol
Min
Max
Unit
SCK frequency
fSCK
-
fsys/32
Hz
1
Cycle time
tSCK
32
-
tsys
2
Enable lead time
master
slave
tLEAD
1/2
1/2
-
tSCK
tSCK
3
Enable lag time
master
slave
tLAG
1/2
1/2
-
tSCK
tSCK
4
SCK high time
tSCKH
½tSCK-25
-
ns
5
SCK low time
tSCKL
½tSCK-25
-
ns
154/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
6
Data setup time
(inputs)
tSI
30
-
ns
7
Data hold time
(inputs)
tHI
30
-
ns
8
Access time, slave3
tA
0
40
ns
tDis
-
40
ns
4
9
Disable time, slave
10
Data setup time
(outputs)
tSO
25
-
ns
11
Data hold time
(outputs)
tHO
-10
-
ns
NOTEs:
1, refer to Figure A~D
2,All timing assumes slew rate control disabled and high drive strength enabled for SPI output
pins.
3, Time to data active from high-impedance state.
4, Hold time to high-impedance state.
Figure A. SPI Master Timing (CPHA = 0)
NOTES:
1. SS output mode.
2. bit order is MSB,bit6, …bit1, LSB.
155/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Figure B. SPI Master Timing (CPHA = 1)
Figure C. SPI Slave Timing (CPHA = 0)
156/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
Figure D. SPI Slave Timing (CPHA = 1)
157/158
v1.2
BL6531/BL6536 电能表专用 MCU 芯片
21. 使用上的注意事项

BL6536 内置晶体,请不要使其受到过度冲击和振动。

芯片内部具有静电防护电路,若加上过大静电,IC 会受到损伤,因此,请使
用导电性周转箱及搬运容器。

焊接时请确认焊接温度不要超过 260 度。
158/158
v1.2