STC micro
TM
宏 晶 科 技
江苏国芯科技有限公司
STC8 系列单片机
技术参考手册
技术支持网站:www.STCMCUDATA.com / www.STCMCU.com
资料更新日期:2017/11/7
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
目录
1
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.3
3.3.1
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.4.7
3.4.8
3.4.9
3.4.10
4
4.1
4.2
概述.......................................................................................................................................... 1
特性及价格.............................................................................................................................. 3
STC8A8K64S4A12 系列特性及价格 ..................................................................................... 3
STC8A4K64S2A12 系列特性及价格 ..................................................................................... 5
STC8F2K64S4 系列特性及价格 ............................................................................................ 7
STC8F2K64S2 系列特性及价格 ............................................................................................ 9
STC8H1K64S2A10 系列提前通告........................................................................................11
STC8H1K08S2A10 系列提前通告....................................................................................... 12
STC8H1K08S2 系列提前通告.............................................................................................. 13
STC8H04A10 系列提前通告 ................................................................................................ 14
STC8H04 系列提前通告....................................................................................................... 15
管脚及说明............................................................................................................................ 16
管脚图.................................................................................................................................... 16
STC8A8K64S4A12 系列管脚图........................................................................................... 16
STC8A4K64S2A12 系列管脚图........................................................................................... 20
STC8F2K64S4 系列管脚图 .................................................................................................. 24
STC8F2K64S2 系列管脚图 .................................................................................................. 27
STC8H1K08S2A10 系列管脚图........................................................................................... 30
STC8H1K08S2 系列管脚图.................................................................................................. 31
管脚说明................................................................................................................................ 32
STC8A8K64S4A12 系列管脚说明....................................................................................... 32
STC8A4K64S2A12 系列管脚说明....................................................................................... 39
STC8F2K64S4 系列管脚说明 .............................................................................................. 46
STC8F2K64S2 系列管脚说明 .............................................................................................. 50
功能脚切换 ............................................................................................................................ 54
功能脚切换相关寄存器 ........................................................................................................ 54
范例程序................................................................................................................................ 57
串口 1 切换............................................................................................................................ 57
串口 2 切换............................................................................................................................ 58
串口 3 切换............................................................................................................................ 58
串口 4 切换............................................................................................................................ 59
SPI 切换 ................................................................................................................................. 59
PWM 切换 ............................................................................................................................. 60
PCA/CCP/PWM 切换............................................................................................................ 62
I2C切换.................................................................................................................................. 63
比较器输出切换 .................................................................................................................... 63
主时钟输出切换 .................................................................................................................... 64
封装尺寸图............................................................................................................................ 66
LQFP64S 封装尺寸图(12mm*12mm)............................................................................. 66
LQFP64L 封装尺寸图(16mm*16mm)............................................................................. 67
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-i-
STC8 系列技术手册
4.3
4.4
4.5
4.6
4.7
4.8
4.9
5
5.1
5.2
6
6.1
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
7
7.1
7.2
7.3
7.4
7.4.1
7.4.2
7.4.3
7.4.4
7.4.5
7.4.6
8
8.1
8.2
8.2.1
8.2.2
8.2.3
8.3
8.3.1
8.3.2
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
LQFP48 封装尺寸图(9mm*9mm) ................................................................................... 68
LQFP44 封装尺寸图(12mm*12mm) ............................................................................... 71
LQFP32 封装尺寸图(9mm*9mm) ................................................................................... 74
QFN32 封装尺寸图(4mm*4mm)..................................................................................... 75
PDIP40 封装尺寸图 .............................................................................................................. 76
TSSOP20 封装尺寸图 ........................................................................................................... 77
SOP16 封装尺寸图................................................................................................................ 78
STC8 系列单片机选型价格一览表 ..................................................................................... 79
STC8 系列单片机封装价格一览表...................................................................................... 80
STC8 系列单片机命名规则.................................................................................................. 81
ISP 下载及典型应用线路图................................................................................................. 82
STC8F 系列 ISP 下载应用线路图........................................................................................ 82
使用 RS-232 转换器下载...................................................................................................... 82
使用 PL2303-SA 下载 ........................................................................................................... 83
使用 U8-Mini 工具下载 ........................................................................................................ 84
使用 U8W 工具下载 ............................................................................................................. 85
USB 直接 ISP 下载 ............................................................................................................... 86
STC8A 系列 ISP 下载应用线路图 ....................................................................................... 87
使用 RS-232 转换下载(使用高精度 ADC)..................................................................... 87
使用 RS-232 转换下载(ADC 一般应用)......................................................................... 88
使用 PL2303 下载 ................................................................................................................. 89
使用 U8-Mini 工具下载 ........................................................................................................ 90
使用 U8W 工具下载 ............................................................................................................. 91
USB 直接 ISP 下载 ............................................................................................................... 92
时钟、复位与电源管理........................................................................................................ 93
系统时钟控制 ........................................................................................................................ 93
系统复位................................................................................................................................ 95
系统电源管理 ........................................................................................................................ 97
范例程序................................................................................................................................ 97
选择系统时钟源 .................................................................................................................... 97
主时钟分频输出 .................................................................................................................... 99
看门狗定时器应用 .............................................................................................................. 100
软复位实现自定义下载 ...................................................................................................... 101
低压检测.............................................................................................................................. 102
省电模式.............................................................................................................................. 103
存储器.................................................................................................................................. 105
程序存储器 .......................................................................................................................... 105
数据存储器 .......................................................................................................................... 105
内部 RAM............................................................................................................................ 106
内部扩展 RAM.................................................................................................................... 107
外部扩展 RAM.................................................................................................................... 108
存储器中的特殊参数 .......................................................................................................... 109
读取 Bandgap 电压值.......................................................................................................... 109
读取全球唯一 ID 号.............................................................................................................111
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- ii -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
8.3.3
8.3.4
读取 32K 掉电唤醒定时器的频率 ......................................................................................113
手动设置 22.1184MHz 和 24MHz 内部 IRC 频率 .............................................................115
9
特殊功能寄存器...................................................................................................................117
9.1
STC8A8K64S4A12 系列......................................................................................................117
9.2
STC8A4K64S2A12 系列......................................................................................................118
9.3
STC8F2K64S4 系列 .............................................................................................................119
9.4
STC8F2K64S2 系列 ............................................................................................................ 120
9.5
特殊功能寄存器列表 .......................................................................................................... 121
10
I/O 口 ................................................................................................................................... 126
10.1
I/O 口相关寄存器................................................................................................................ 126
10.2
配置 I/O 口........................................................................................................................... 129
10.3
I/O 的结构图........................................................................................................................ 131
10.3.1 准双向口(弱上拉) .......................................................................................................... 131
10.3.2 推挽输出.............................................................................................................................. 131
10.3.3 高阻输入.............................................................................................................................. 131
10.3.4 开漏输出.............................................................................................................................. 132
范例程序.............................................................................................................................. 132
10.4
10.4.1 端口模式设置 ...................................................................................................................... 132
10.4.2 双向口读写操作 .................................................................................................................. 133
11
指令系统.............................................................................................................................. 135
12
中断系统.............................................................................................................................. 139
12.1
STC8 系列中断源................................................................................................................ 139
12.1.1 STC8A8K64S4A12 系列中断源......................................................................................... 140
12.1.2 STC8A4K64S2A12 系列中断源......................................................................................... 140
12.1.3 STC8F2K64S4 系列中断源 ................................................................................................ 140
12.1.4 STC8F2K64S2 系列中断源 ................................................................................................ 141
12.2
STC8 中断结构图................................................................................................................ 142
12.3
STC8 系列中断列表............................................................................................................ 143
12.4
中断相关寄存器 .................................................................................................................. 145
12.4.1 中断使能寄存器(中断允许位) ...................................................................................... 146
12.4.2 中断请求寄存器(中断标志位) ...................................................................................... 150
12.4.3 中断优先级寄存器 .............................................................................................................. 152
12.5
范例程序.............................................................................................................................. 154
12.5.1 INT0 中断(上升沿和下降沿) ........................................................................................ 154
12.5.2 INT0 中断(下降沿) ........................................................................................................ 155
12.5.3 INT1 中断(上升沿和下降沿) ........................................................................................ 156
12.5.4 INT1 中断(下降沿) ........................................................................................................ 157
12.5.5 INT2 中断(下降沿) ........................................................................................................ 158
12.5.6 INT3 中断(下降沿) ........................................................................................................ 159
12.5.7 INT4 中断(下降沿) ........................................................................................................ 160
12.5.8 定时器 0 中断 ...................................................................................................................... 161
12.5.9 定时器 1 中断 ...................................................................................................................... 162
12.5.10 定时器 2 中断 ...................................................................................................................... 163
12.5.11 定时器 3 中断 ...................................................................................................................... 164
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- iii -
STC8 系列技术手册
12.5.12
12.5.13
12.5.14
12.5.15
12.5.16
12.5.17
12.5.18
12.5.19
12.5.20
12.5.21
12.5.22
12.5.23
13
13.1
13.2
13.3
13.4
13.5
13.6
13.6.1
13.6.2
13.6.3
13.6.4
13.6.5
13.6.6
13.6.7
13.6.8
13.6.9
13.6.10
13.6.11
13.6.12
13.6.13
13.6.14
13.6.15
13.6.16
13.6.17
13.6.18
13.6.19
13.6.20
13.6.21
13.6.22
13.6.23
13.6.24
13.6.25
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
定时器 4 中断 ...................................................................................................................... 165
UART1 中断 ........................................................................................................................ 166
UART2 中断 ........................................................................................................................ 168
UART3 中断 ........................................................................................................................ 169
UART4 中断 ........................................................................................................................ 171
ADC 中断 ............................................................................................................................ 173
LVD 中断 ............................................................................................................................. 174
PCA 中断 ............................................................................................................................. 175
SPI 中断 ............................................................................................................................... 177
CMP 中断 ............................................................................................................................ 178
PWM 中断 ........................................................................................................................... 179
I2C中断................................................................................................................................ 182
定时器/计数器..................................................................................................................... 185
定时器的相关寄存器 .......................................................................................................... 185
定时器 0/1............................................................................................................................ 186
定时器 2............................................................................................................................... 188
定时器 3/4............................................................................................................................ 189
掉电唤醒定时器 .................................................................................................................. 190
范例程序.............................................................................................................................. 191
定时器 0(模式 0-16 位自动重载) ............................................................................... 191
定时器 0(模式 1-16 位不自动重载) ........................................................................... 192
定时器 0(模式 2-8 位自动重载) ................................................................................. 193
定时器 0(模式 3-16 位自动重载不可屏蔽中断) ....................................................... 194
定时器 0(外部计数-扩展 T0 为外部下降沿中断)..................................................... 195
定时器 0(测量脉宽-INT0 高电平宽度)...................................................................... 196
定时器 0(时钟分频输出) ............................................................................................... 197
定时器 1(模式 0-16 位自动重载) ............................................................................... 198
定时器 1(模式 1-16 位不自动重载) ........................................................................... 199
定时器 1(模式 2-8 位自动重载) ................................................................................. 200
定时器 1(外部计数-扩展 T1 为外部下降沿中断)..................................................... 201
定时器 1(测量脉宽-INT1 高电平宽度)...................................................................... 202
定时器 1(时钟分频输出) ............................................................................................... 203
定时器 1(模式 0)做串口 1 波特率发生器 .................................................................... 203
定时器 1(模式 2)做串口 1 波特率发生器 .................................................................... 206
定时器 2(16 位自动重载) .............................................................................................. 209
定时器 2(外部计数-扩展 T2 为外部下降沿中断)..................................................... 210
定时器 2(时钟分频输出) ............................................................................................... 212
定时器 2 做串口 1 波特率发生器 ...................................................................................... 213
定时器 2 做串口 2 波特率发生器 ...................................................................................... 215
定时器 2 做串口 3 波特率发生器 ...................................................................................... 218
定时器 2 做串口 4 波特率发生器 ...................................................................................... 221
定时器 3(16 位自动重载) .............................................................................................. 225
定时器 3(外部计数-扩展 T3 为外部下降沿中断)..................................................... 226
定时器 3(时钟分频输出) ............................................................................................... 227
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- iv -
STC8 系列技术手册
13.6.26
13.6.27
13.6.28
13.6.29
13.6.30
14
14.1
14.2
14.2.1
14.2.2
14.2.3
14.2.4
14.2.5
14.3
14.3.1
14.3.2
14.4
14.4.1
14.4.2
14.5
14.5.1
14.5.2
14.6
14.7
14.7.1
14.7.2
14.7.3
14.7.4
14.7.5
14.7.6
14.7.7
14.7.8
15
15.1
15.2
15.3
15.3.1
15.3.2
16
16.1
16.2
16.3
16.3.1
16.3.2
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
定时器 3 做串口 3 波特率发生器 ...................................................................................... 228
定时器 4(16 位自动重载) .............................................................................................. 231
定时器 4(外部计数-扩展 T4 为外部下降沿中断)..................................................... 232
定时器 4(时钟分频输出) ............................................................................................... 233
定时器 4 做串口 4 波特率发生器 ...................................................................................... 234
串口通信.............................................................................................................................. 238
串口相关寄存器 .................................................................................................................. 238
串口 1................................................................................................................................... 238
串口 1 模式 0 ....................................................................................................................... 240
串口 1 模式 1 ....................................................................................................................... 241
串口 1 模式 2 ....................................................................................................................... 244
串口 1 模式 3 ....................................................................................................................... 244
自动地址识别 ...................................................................................................................... 245
串口 2................................................................................................................................... 246
串口 2 模式 0 ....................................................................................................................... 247
串口 2 模式 1 ....................................................................................................................... 248
串口 3................................................................................................................................... 248
串口 3 模式 0 ....................................................................................................................... 249
串口 3 模式 1 ....................................................................................................................... 250
串口 4................................................................................................................................... 250
串口 4 模式 0 ....................................................................................................................... 251
串口 4 模式 1 ....................................................................................................................... 252
串口注意事项 ...................................................................................................................... 253
范例程序.............................................................................................................................. 254
串口 1 使用定时器 2 做波特率发生器 .............................................................................. 254
串口 1 使用定时器 1(模式 0)做波特率发生器 ............................................................ 256
串口 1 使用定时器 1(模式 2)做波特率发生器 ............................................................ 259
串口 2 使用定时器 2 做波特率发生器 .............................................................................. 262
串口 3 使用定时器 2 做波特率发生器 .............................................................................. 265
串口 3 使用定时器 3 做波特率发生器 .............................................................................. 268
串口 4 使用定时器 2 做波特率发生器 .............................................................................. 271
串口 4 使用定时器 4 做波特率发生器 .............................................................................. 274
比较器,掉电检测,内部固定比较电压 .......................................................................... 278
比较器内部结构图 .............................................................................................................. 278
比较器相关的寄存器 .......................................................................................................... 278
范例程序.............................................................................................................................. 280
比较器的使用(中断方式) .............................................................................................. 280
比较器的使用(查询方式) .............................................................................................. 281
IAP/EEPROM .................................................................................................................... 284
EEPROM 相关的寄存器..................................................................................................... 284
关于 EEPROM 编程和擦除等待时间的重要说明 ............................................................ 286
范例程序.............................................................................................................................. 287
EEPROM 基本操作............................................................................................................. 287
使用串口送出 EEPROM 数据............................................................................................ 290
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-v-
STC8 系列技术手册
17
17.1
17.2
17.2.1
17.2.2
17.3
17.3.1
17.3.2
17.3.3
17.3.4
18
18.1
18.2
18.2.1
18.2.2
18.2.3
18.2.4
18.3
18.3.1
18.3.2
18.3.3
18.3.4
18.3.5
19
19.1
19.2
19.2.1
19.2.2
19.2.3
20
20.1
20.2
20.2.1
20.2.2
20.2.3
20.3
20.4
20.5
20.5.1
20.5.2
20.5.3
20.5.4
20.5.5
20.5.6
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
ADC 模数转换 .................................................................................................................... 294
ADC 相关的寄存器............................................................................................................. 294
ADC 典型应用线路图......................................................................................................... 296
高精度 ADC 应用................................................................................................................ 296
ADC 一般应用(对 ADC 精度要求不高的应用) .......................................................... 297
范例程序.............................................................................................................................. 298
ADC 基本操作(查询方式)............................................................................................. 298
ADC 基本操作(中断方式)............................................................................................. 299
格式化 ADC 转换结果........................................................................................................ 300
利用 ADC 第 16 通道测量外部电压或电池电压.............................................................. 302
PCA/CCP/PWM 应用 ........................................................................................................ 305
PCA 相关的寄存器 ............................................................................................................. 305
PCA 工作模式 ..................................................................................................................... 309
捕获模式.............................................................................................................................. 309
软件定时器模式 .................................................................................................................. 309
高速脉冲输出模式 .............................................................................................................. 310
PWM 脉宽调制模式 ........................................................................................................... 310
范例程序.............................................................................................................................. 313
PCA 输出 PWM(6/7/8/10 位) ........................................................................................ 313
PCA 捕获测量脉冲宽度 ..................................................................................................... 315
PCA 实现 16 位软件定时 ................................................................................................... 318
PCA 输出高速脉冲 ............................................................................................................. 321
PCA 扩展外部中断 ............................................................................................................. 323
增强型 PWM....................................................................................................................... 326
PWM 相关的寄存器 ........................................................................................................... 326
范例程序.............................................................................................................................. 332
输出任意周期和任意占空比的波形 .................................................................................. 332
两路 PWM 实现互补对称带死区控制的波形................................................................... 334
PWM 实现渐变灯(呼吸灯)............................................................................................ 338
同步串行外设接口 SPI....................................................................................................... 343
SPI 相关的寄存器 ............................................................................................................... 343
SPI 通信方式 ....................................................................................................................... 344
单主单从.............................................................................................................................. 344
互为主从.............................................................................................................................. 345
单主多从.............................................................................................................................. 345
配置 SPI ............................................................................................................................... 346
数据模式.............................................................................................................................. 347
范例程序.............................................................................................................................. 348
SPI 单主单从系统主机程序(中断方式) ....................................................................... 348
SPI 单主单从系统从机程序(中断方式) ....................................................................... 350
SPI 单主单从系统主机程序(查询方式) ....................................................................... 351
SPI 单主单从系统从机程序(查询方式) ....................................................................... 352
SPI 互为主从系统程序(中断方式) ............................................................................... 353
SPI 互为主从系统程序(查询方式) ............................................................................... 355
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- vi -
STC8 系列技术手册
21
21.1
21.2
21.3
21.4
21.4.1
21.4.2
21.4.3
21.4.4
21.4.5
21.4.6
22
22.1
22.1.1
22.1.2
附录 A
A.1
A.2
A.3
A.4
A.5
II.
III.
IV.
V.
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
I2C总线 ................................................................................................................................ 358
I2C相关的寄存器................................................................................................................. 358
I2C主机模式......................................................................................................................... 358
I2C从机模式......................................................................................................................... 361
范例程序.............................................................................................................................. 363
I2C主机模式访问AT24C256(中断方式) ....................................................................... 363
I2C主机模式访问AT24C256(查询方式) ....................................................................... 369
I2C主机模式访问PCF8563.................................................................................................. 373
I2C从机模式(中断方式)................................................................................................. 378
I2C从机模式(查询方式)................................................................................................. 381
测试I2C从机模式代码的主机代码..................................................................................... 385
增强型双数据指针.............................................................................................................. 390
范例程序.............................................................................................................................. 392
示例代码 1 ........................................................................................................................... 392
示例代码 2 ........................................................................................................................... 392
应用注意事项...................................................................................................................... 394
关于 EEPROM 编程和擦除等待时间的重要说明 .......................................................... 394
STC8F2K64S4 系列应用注意事项 ................................................................................... 395
STC8F2K64S2 系列应用注意事项 ................................................................................... 397
STC8A8K64S4A12 系列应用注意事项 ............................................................................ 398
STC8A4K64S2A12 系列应用注意事项 ............................................................................ 401
STC 仿真器使用指南 ......................................................................................................... 402
STC-USB 驱动程序安装说明 ............................................................................................ 407
电气特性.............................................................................................................................. 452
更新记录.............................................................................................................................. 454
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- vii -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
1 概述
STC8 系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为
目标的 8051 单片机,在相同的工作频率下,STC8 系列单片机比传统的 8051 约快 12 倍(速度快 11.2~13.2
倍),依次按顺序执行完全部的 111 条指令,STC8 系列单片机仅需 147 个时钟,而传统 8051 则需要
1944 个时钟。STC8 系列单片机是 STC 生产的单时钟/机器周期(1T)的单片机,是宽电压/高速/高可靠/
低功耗/强抗静电/较强抗干扰的新一代 8051 单片机,超级加密。指令代码完全兼容传统 8051。
MCU 内部集成高精度 R/C 时钟(±0.3%,常温下+25℃),-1.8%~+0.8%温飘(-40℃~+85℃) ,-1.0%~
+0.5%温飘(-20℃~+65℃)。ISP 编程时 5MHz~30MHz 宽范围可设置,可彻底省掉外部昂贵的晶振和外
部复位电路(内部已集成高可靠复位电路,ISP 编程时 4 级复位门槛电压可选)。
MCU 内部有 3 个可选时钟源:内部 24MHz 高精度 IRC 时钟(可适当调高或调低)、内部 32KHz
的低速 IRC、外部 4M~33M 晶振或外部时钟信号。用户代码中可自由选择时钟源,时钟源选定后可再
经过 8-bit 的分频器分频后再将时钟信号提供给 CPU 和各个外设(如定时器、串口、SPI 等)。
MCU 提供两种低功耗模式:IDLE 模式和 STOP 模式。IDLE 模式下,MCU 停止给 CPU 提供时钟,
CPU 无时钟,CPU 停止执行指令,但所有的外设仍处于工作状态,此时功耗约为 1.3mA(6MHz 工作
频率)。STOP 模式即为主时钟停振模式,即传统的掉电模式/停电模式/停机模式,此时 CPU 和全部外
设都停止工作,功耗可降低到 0.1uA 以下。IDLE 模式可以由外部中断(INT0/INT1/INT2/INT3/INT4)、
定时器中断(定时器 0/定时器 1/定时器 2/定时器 3/定时器 4)、串口中断(串口 1/串口 2/串口 3/串口 4)、
PCA/CCP/PWM 中断、增强型 PWM、增强型 PWM 异常检测、ADC 模数转换中断、LVD 低压检测、
SPI 中断、I2C 中断、比较器中断唤醒。
STOP 模式可以由 INT0/INT1 端口上升沿/下降沿、INT2/INT3/INT4
端口下降沿、T0/T1/T2/T3/T4 端口下降沿、RxD/RxD_2/RxD_3/RxD_4 端口下降沿、RxD2/RxD2_2 端口
下 降 沿 、 RxD2/RxD2_2 端 口 下 降 沿 、 RxD3/RxD3_2 端 口 下 降 沿 、 RxD4/RxD4_2 端 口 下 降 沿 、
CCP0/CCP0_2/CCP0_3/CCP0_4 端 口 下 降 沿 、 CCP1/CCP1_2/CCP1_3/CCP1_4 端 口 下 降 沿 、
CCP2/CCP2_2/CCP2_3/CCP2_4 端口下降沿、CCP3/CCP3_2/CCP3_3/CCP3_4 端口下降沿、LVD 低压检
测以及掉电唤醒定时器(进入掉电模式前需要先使能掉电唤醒定时器)唤醒。
MCU 提供了丰富的数字外设(4 个串口、5 个定时器、4 组 PCA、8 组增强型 PWM 以及 I2C、SPI)
接口与模拟外设(速度高达 800K 即每秒 80 万次采样的 12 位*15 路超高速 ADC、比较器),可满足广
大用户的设计需求。
数字功能可使用程序在多个管脚之间进行切换。串口 1 可以组为单位([TxD/RxD]为一组)在
[P3.0/P3.1]、[P3.6/P3.7]、[P1.6/P1.7]、[P4.3/P4.4]这 4 组之间进行任意切换;串口 2 可以组为单位
([TxD2/RxD2]为一组)在[P1.0/P1.1]、[P4.0/P4.2]这 2 组之间进行任意切换;串口 3 可以组为单位
([TxD3/RxD3]为一组)在[P0.0/P0.1]、[P5.0/P5.1]这 2 组之间进行任意切换;串口 4 可以组为单位
([TxD4/RxD4]为一组)在[P0.2/P0.3]、[P5.2/P5.3]这 2 组之间进行任意切换;PCA 可以组为单位
( [ECI/CCP0/CCP1/CCP2/CCP3] 为 一 组 ) 在 [P1.2/P1.7/P1.6/P1.5/P1.4] 、 [P2.2/P2.3/P2.4/P2.5/P2.6] 、
[P7.4/P7.0/P7.1/P7.2/P7.3]、[P3.5/P3.3/P3.2/P3.1/P3.0]这 4 组之间进行任意切换;SPI 可以组为单位
([SS/MOSI/MISO/SCLK]为一组)在[P1.2/P1.3/P1.4/P1.5]、[P2.2/P2.3/P2.4/P2.5]、[P7.4/P7.5/P7.6/P7.7]、
[P3.5/P3.4/P3.3/P3.2]这 4 组之间进行任意切换;I2C 可以组为单位([SCL/SDA]为一组)在[P1.5/P1.4]、
[P2.5/P2.4]、[P7.7/P7.6]、[P3.2/P3.3]这 4 组之间进行任意切换;增强型 PWM 的每一路均可各自独立地
在 3 个端口之间任意切换(详细切换介绍请参考第 3.3 章的功能脚切换)。
STC8 系列单片机内部集成了增强型的双数据指针。通过程序控制,可实现数据指针自动递增或递
减功能以及两组数据指针的自动切换功能。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-1-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
产品线
UART
定时器
ADC
STC8A8K64S4A12
●
●
●
STC8A4K64S2A12
●
●
●
STC8F2K64S4
●
STC8F2K64S2
增强型
高级
PWM
PWM
技术支持: 13922829991
研发顾问: 13922805190
PCA
比较器
SPI
I2C
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
STC8H1K64S2A10
●
●
●
●
●
●
●
STC8H1K08S2A10
●
●
●
●
●
●
●
STC8H1K08S2
●
●
●
●
●
STC8H04A10
●
●
●
●
●
STC8H04
●
●
●
●
●
江苏国芯科技有限公司
●
总机: 0513-5501 2928/2929/2966
RTC
备注
传真: 0513-5501 2926/2956/2947
-2-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
2 特性及价格
2.1 STC8A8K64S4A12 系列特性及价格
选型价格(不需要外部晶振、不需要外部复位,12 位 ADC,15 通道)
年新品供货信息
2017
STC8A8K16S4A12 2.0-5.5 16K 8K
2 48K 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.4
¥3.2
¥3.2
STC8A8K32S4A12 2.0-5.5 32K 8K
2 32K 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.6
¥3.3
¥3.3
STC8A8K60S4A12 2.0-5.5 60K 8K
2
4K 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.8
¥3.4
¥3.4
STC8A8K64S4A12 2.0-5.5 64K 8K
2
IAP 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.8
¥3.4
¥3.4
PDIP40
LQFP44
LQFP48
QFN48
LQFP64S
QFN64
直接下载
USB
本身就可在线仿真
支持
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部低压检测中断并可掉电唤醒
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
比较器(可当 路
,可作外部掉电检测)
1
A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
位高级
定时器 互补对称死区
16
PWM
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
I2 C
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
字节
SRAM
万次 字节
10
工作电压( )
V
单片机型号
程序存储器
Flash
封装
各个版本芯片的使用注意事项请参考“附录 A、应用注意事项”
内核
超高速 8051 内核(1T),比传统 8051 约快 12 倍以上
指令代码完全兼容传统 8051
22 个中断源,4 级中断优先级
支持在线仿真
工作电压
2.0V~5.5V
内建 LDO
工作温度
-40℃~85℃
Flash 存储器
最大 64K 字节 FLASH 空间,用于存储用户代码
支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上
支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器
支持单芯片仿真,无需专用仿真器,理论断点个数无限制
SRAM
128 字节内部直接访问 RAM(DATA)
128 字节内部间接访问 RAM(IDATA)
8192 字节内部扩展 RAM(内部 XDATA)
外部最大可扩展 64K 字节 RAM(外部 XDATA)
时钟控制
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-3-
大
量
供
货
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
内部 24MHz 高精度 IRC(ISP 编程时可进行上下调整)
误差±0.3%(常温下 25℃)
-1.8%~+0.8%温漂(全温度范围,-40℃~85℃)
-1.0%~+0.5%温漂(温度范围,-20℃~65℃)
内部 32KHz 低速 IRC(误差较大)
外部晶振(4MHz~33MHz)和外部时钟
用户可自由选择上面的 3 种时钟源
复位
硬件复位
上电复位
复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚
看门狗溢出复位
低压检测复位,提供 4 级低压检测电压:2.2V、2.4V、2.7V、3.0V
软件复位
软件方式写复位触发寄存器
中断
提供 22 个中断源:INT0、INT1、INT2、INT3、INT4、定时器 0、定时器 1、定时器 2、定时器 3、定时器
4、串口 1、串口 2、串口 3、串口 4、ADC 模数转换、LVD 低压检测、SPI、I2C、比较器、PCA/CCP/PWM、
增强型 PWM、增强型 PWM 异常检测
提供 4 级中断优先级
数字外设
5 个 16 位定时器:定时器 0、定时器 1、定时器 2、定时器 3、定时器 4,其中定时器 0 的模式 3 具有 NMI
(不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式
4 个高速串口:串口 1、串口 2、串口 3、串口 4,波特率时钟源最快可为 FOSC/4
4 组 16 位 PCA 模块:CCP0、CCP1、CCP2、CCP3,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM
输出
8 组 15 位增强型 PWM,可实现带死区的控制信号,并支持外部异常检测功能,另外还有 4 组传统的
PCA/CCP/PWM 可作 PWM
SPI:支持主机模式和从机模式以及主机/从机自动切换
I2C:支持主机模式和从机模式
模拟外设
超高速 ADC,支持 12 位精度 15 通道的模数转换,速度最快可达 800K(即每秒可进行 80 万次模数转换)
比较器,一组比较器附近
GPIO
最多可达 59 个 GPIO:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7、P4.0~P4.4、P5.0~P5.5、P6.0~P6.7、
P7.0~P7.7
所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式
封装
LQFP64S、LQFP48、LQFP44、PDIP40(暂未生产)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-4-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
2.2 STC8A4K64S2A12 系列特性及价格
选型价格(不需要外部晶振、不需要外部复位,12 位 ADC,15 通道)
年新品供货信息
2017
STC8A4K16S2A12 2.0-5.5 16K 4K
2 48K 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.1
¥2.9
¥2.9
STC8A4K32S2A12 2.0-5.5 32K 4K
2 32K 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.3
¥3.0
¥3.0
STC8A4K60S2A12 2.0-5.5 60K 4K
2
4K 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.6
¥3.2
¥3.2
STC8A4K64S2A12 2.0-5.5 64K 4K
2
IAP 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.6
¥3.2
¥3.2
PDIP40
LQFP44
LQFP48
QFN48
LQFP64S
QFN64
直接下载
USB
本身就可在线仿真
支持
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部低压检测中断并可掉电唤醒
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
比较器(可当 路
,可作外部掉电检测)
1
A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
位高级
定时器 互补对称死区
16
PWM
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
I2 C
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
字节
SRAM
万次 字节
10
工作电压( )
V
单片机型号
程序存储器
Flash
封装
各个版本芯片的使用注意事项请参考“附录 A、应用注意事项”
内核
超高速 8051 内核(1T),比传统 8051 约快 12 倍以上
指令代码完全兼容传统 8051
20 个中断源,4 级中断优先级
支持在线仿真
工作电压
2.0V~5.5V
内建 LDO
工作温度
-40℃~85℃
Flash 存储器
最大 64K 字节 FLASH 空间,用于存储用户代码
支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上
支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器
支持单芯片仿真,无需专用仿真器,理论断点个数无限制
SRAM
128 字节内部直接访问 RAM(DATA)
128 字节内部间接访问 RAM(IDATA)
4096 字节内部扩展 RAM(内部 XDATA)
外部最大可扩展 64K 字节 RAM(外部 XDATA)
时钟控制
内部 24MHz 高精度 IRC(ISP 编程时可进行上下调整)
误差±0.3%(常温下 25℃)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-5-
大
量
供
货
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
-1.8%~+0.8%温漂(全温度范围,-40℃~85℃)
-1.0%~+0.5%温漂(温度范围,-20℃~65℃)
内部 32KHz 低速 IRC(误差较大)
外部晶振(4MHz~33MHz)和外部时钟
用户可自由选择上面的 3 种时钟源
复位
硬件复位
上电复位
复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚
看门狗溢出复位
低压检测复位,提供 4 级低压检测电压:2.2V、2.4V、2.7V、3.0V
软件复位
软件方式写复位触发寄存器
中断
提供 20 个中断源:INT0、INT1、INT2、INT3、INT4、定时器 0、定时器 1、定时器 2、定时器 3、定时器
4、串口 1、串口 2、ADC 模数转换、LVD 低压检测、SPI、I2C、比较器、PCA/CCP/PWM、增强型 PWM、
增强型 PWM 异常检测
提供 4 级中断优先级
数字外设
5 个 16 位定时器:定时器 0、定时器 1、定时器 2、定时器 3、定时器 4,其中定时器 0 的模式 3 具有 NMI
(不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式
2 个高速串口:串口 1、串口 2,波特率时钟源最快可为 FOSC/4
4 组 16 位 PCA 模块:CCP0、CCP1、CCP2、CCP3,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM
输出
8 组 15 位增强型 PWM,可实现带死区的控制信号,并支持外部异常检测功能,另外还有 4 组传统的
PCA/CCP/PWM 可作 PWM
SPI:支持主机模式和从机模式以及主机/从机自动切换
I2C:支持主机模式和从机模式
模拟外设
超高速 ADC,支持 12 位精度 15 通道的模数转换,速度最快可达 800K(即每秒可进行 80 万次模数转换)
比较器,一组比较器附近
GPIO
最多可达 59 个 GPIO:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7、P4.0~P4.4、P5.0~P5.5、P6.0~P6.7、
P7.0~P7.7
所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式
封装
LQFP64S、LQFP48、LQFP44、PDIP40(暂未生产)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-6-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
2.3 STC8F2K64S4 系列特性及价格
选型价格(不需要外部晶振、不需要外部复位)
年新品供货信息
2017
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥2.7 ¥2.6
STC8F2K32S4 2.0-5.5 32K 2K
2 32K 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥2.8 ¥2.7
STC8F2K60S4 2.0-5.5 60K 2K
2
4K 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥2.9 ¥2.8
STC8F2K64S4 2.0-5.5 64K 2K
2
IAP 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥2.9 ¥2.8
SOP8
有
PDIP40
4
SOP16
2 48K 42
TSSOP20
LQFP32
LQFP44
STC8F2K16S4 2.0-5.5 16K 2K
QFN32
直接下载
USB
本身就可在线仿真
支持
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1 A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
I2 C
位高级 PWM
定时器 互补对称死区
16
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
SRAM字节
万次 字节
10
工作电压( )
V
单片机型号
程序存储器
Flash
封装
开
始
供
货
各个版本芯片的使用注意事项请参考“附录 A、应用注意事项”
内核
超高速 8051 内核(1T),比传统 8051 约快 12 倍以上
指令代码完全兼容传统 8051
18 个中断源,4 级中断优先级
支持在线仿真
工作电压
2.0V~5.5V
内建 LDO
工作温度
-40℃~85℃
Flash 存储器
最大 64K 字节 FLASH 空间,用于存储用户代码
支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上
支持在系统编程方式(ISP)更新应用程序,无需专用编程器
支持单芯片仿真,无需专用仿真器,理论断点个数无限制
SRAM
128 字节内部直接访问 RAM(DATA)
128 字节内部间接访问 RAM(IDATA)
2048 字节内部扩展 RAM(内部 XDATA)
外部最大可扩展 64K 字节 RAM(外部 XDATA)
时钟控制
内部 24MHz 高精度 IRC(ISP 编程时可进行上下调整)
误差±0.3%(常温下 25℃)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-7-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
-1.8%~+0.8%温漂(全温度范围,-40℃~85℃)
-1.0%~+0.5%温漂(温度范围,-20℃~65℃)
内部 32KHz 低速 IRC(误差较大)
外部晶振(4MHz~33MHz)和外部时钟输入
用户可自由选择上面的 3 种时钟源
复位
硬件复位
上电复位
复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚
看门狗溢出复位
低压检测复位,提供 4 级低压检测电压:2.2V、2.4V、2.7V、3.0V
软件复位
软件方式写复位触发寄存器
中断
提供 18 个中断源:INT0、INT1、INT2、INT3、INT4、定时器 0、定时器 1、定时器 2、定时器 3、定时器
4、串口 1、串口 2、串口 3、串口 4、LVD 低压检测、PCA/CCP/PWM、SPI、I2C、比较器
提供 4 级中断优先级
数字外设
5 个 16 位定时器:定时器 0、定时器 1、定时器 2、定时器 3、定时器 4,其中定时器 0 的模式 3 具有 NMI
(不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式
4 个高速串口:串口 1、串口 2、串口 3、串口 4,波特率时钟源最快可为 FOSC/4
4 组 16 位 PCA 模块:CCP0、CCP1、CCP2、CCP3,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM
输出(A 版和 B 版有此功能,C 版芯片无此功能)
SPI:支持主机模式和从机模式以及主机/从机自动切换
I2C:支持主机模式和从机模式
模拟外设
比较器
GPIO
最多可达 42 个 GPIO:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7、P4.0~P4.7、P5.4~P5.5
所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式
封装
LQFP44、LQFP32、PDIP40
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-8-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
2.4 STC8F2K64S2 系列特性及价格
选型价格(不需要外部晶振、不需要外部复位)
年新品供货信息
2017
2
4K 18
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
STC8F2K16S2 2.0-5.5 16K 2K
2
4K 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥1.8 ¥1.6 1.65 ¥1.4 1.35
STC8F2K32S2 2.0-5.5 32K 2K
2 32K 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 1.99 ¥1.8 1.85
STC8F2K60S2 2.0-5.5 60K 2K
2
4K 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥2.2 ¥2.0
STC8F2K64S2 2.0-5.5 64K 2K
2
IAP 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是 ¥2.2 ¥2.0
SOP8
STC8F2K08S2 2.0-5.5 8K 2K
PDIP40
SOP16
TSSOP20
LQFP32
LQFP44
QFN32
直接下载
USB
本身就可在线仿真
支持
程序加密后传输(防拦截)
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
看门狗 复位定时器
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1 A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
I2 C
位高级 PWM
定时器 互补对称死区
16
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
SRAM字节
万次 字节
10
工作电压( )
V
单片机型号
程序存储器
Flash
封装
¥1.2 1.15
大
量
供
货
各个版本芯片的使用注意事项请参考“附录 A、应用注意事项”
内核
超高速 8051 内核(1T),比传统 8051 约快 12 倍以上
指令代码完全兼容传统 8051
16 个中断源,4 级中断优先级
支持在线仿真
工作电压
2.0V~5.5V
内建 LDO
工作温度
-40℃~85℃
Flash 存储器
最大 64K 字节 FLASH 空间,用于存储用户代码
支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上
支持在系统编程方式(ISP)更新应用程序,无需专用编程器
支持单芯片仿真,无需专用仿真器,理论断点个数无限制
SRAM
128 字节内部直接访问 RAM(DATA)
128 字节内部间接访问 RAM(IDATA)
2048 字节内部扩展 RAM(内部 XDATA)
外部最大可扩展 64K 字节 RAM(外部 XDATA)
时钟控制
内部 24MHz 高精度 IRC(ISP 编程时可进行上下调整)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
-9-
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
误差±0.3%(常温下 25℃)
-1.8%~+0.8%温漂(全温度范围,-40℃~85℃)
-1.0%~+0.5%温漂(温度范围,-20℃~65℃)
内部 32KHz 低速 IRC(误差较大)
外部晶振(4MHz~33MHz)和外部时钟输入
用户可自由选择上面的 3 种时钟源
复位
硬件复位
上电复位
复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚
看门狗溢出复位
低压检测复位,提供 4 级低压检测电压:2.2V、2.4V、2.7V、3.0V
软件复位
软件方式写复位触发寄存器
中断
提供 16 个中断源:INT0、INT1、INT2、INT3、INT4、定时器 0、定时器 1、定时器 2、定时器 3、定时器
4、串口 1、串口 2、LVD 低压检测、SPI、I2C、比较器
提供 4 级中断优先级
数字外设
5 个 16 位定时器:定时器 0、定时器 1、定时器 2、定时器 3、定时器 4,其中定时器 0 的模式 3 具有 NMI
(不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式
2 个高速串口:串口 1、串口 2,波特率时钟源最快可为 FOSC/4
SPI:支持主机模式和从机模式以及主机/从机自动切换
I2C:支持主机模式和从机模式
模拟外设
比较器
GPIO
最多可达 42 个 GPIO:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7、P4.0~P4.7、P5.4~P5.5
所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式
封装
LQFP44、LQFP32、PDIP40、TSSOP20、SOP16
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 10 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
2.5 STC8H1K64S2A10 系列提前通告
选型价格(不需要外部晶振、不需要外部复位)
LQFP32
LQFP48
STC8H1K64S2A10 1.7-5.5 64K 1K
2
IAP 45
2
有
有
4
4
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是 ¥2.3 ¥2.1
STC8H1K32S2A10 1.7-5.5 32K 1K
2
1K 45
2
有
有
4
4
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是 ¥1.9 ¥1.6
STC8H1K16S2A10 1.7-5.5 16K 1K
2
9K 45
2
有
有
4
4
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是 ¥1.7 ¥1.4
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
年新品供货信息
2018
直接下载
USB
本身就可在线仿真
支持
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1 A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
I2 C
位高级 PWM
定时器 互补对称死区
16
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
SRAM字节
万次 字节
10
工作电压( )
V
单片机型号
程序存储器
Flash
封装
1
月
送
样
- 11 -
年新品供货信息
2018
直接下载
USB
本身就可在线仿真
支持
SOP16
TSSOP20
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1 A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
I2 C
位高级 PWM
定时器 互补对称死区
16
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
SPI
串口并可掉电唤醒
口最多数量
I/O
SRAM字节
万次 字节
10
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
程序存储器
Flash
工作电压( )
V
单片机型号
- 12 -
传真: 0513-5501 2926/2956/2947
总机: 0513-5501 2928/2929/2966
江苏国芯科技有限公司
封装
1
月
送
样
是 ¥1.1 1.05
是
是
是
有
是
有 4级 有
有
有 10 位 有
4
3
有
有
2
3K 17
2
STC8H1K08S2A10 1.7-5.5 8K 1K
研发顾问: 13922805190
技术支持: 13922829991
官方网站: www.STCMCUDATA.com / www.STCMCU.com
STC8 系列技术手册
2.6 STC8H1K08S2A10 系列提前通告
选型价格(不需要外部晶振、不需要外部复位)
STC8H1K08S2 系列提前通告
2.7
年新品供货信息
2018
直接下载
USB
本身就可在线仿真
支持
SOP16
TSSOP20
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1
A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
I2 C
位高级 PWM
定时器 互补对称死区
16
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
字节
SRAM
万次 字节
10
程序存储器
Flash
工作电压( )
V
单片机型号
- 13 -
传真: 0513-5501 2926/2956/2947
总机: 0513-5501 2928/2929/2966
江苏国芯科技有限公司
封装
1
月
送
样
是 0.95 0.90
是
是
是
有
是
有 4级 有
有
有
有
3
有
有
2
3K 18
2
STC8H1K08S2 1.7-5.5 8K 1K
研发顾问: 13922805190
技术支持: 13922829991
官方网站: www.STCMCUDATA.com / www.STCMCU.com
STC8 系列技术手册
选型价格(不需要外部晶振、不需要外部复位)
封装
年新品供货信息
2018
直接下载
USB
本身就可在线仿真
支持
SOP8
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
看门狗 复位定时器
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1
A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
位高级
定时器 互补对称死区
16
PWM
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
I2 C
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
字节
SRAM
万次 字节
10
程序存储器
Flash
工作电压( )
V
单片机型号
- 14 -
传真: 0513-5501 2926/2956/2947
总机: 0513-5501 2928/2929/2966
江苏国芯科技有限公司
1
月
送
样
是 ¥0.7
是
是
是
有
是
有 4级 有
有
有 10 位 有
3
有
有
1
6
3K
1
1.7-5.5 4K 256
STC8H04A10
研发顾问: 13922805190
技术支持: 13922829991
官方网站: www.STCMCUDATA.com / www.STCMCU.com
STC8 系列技术手册
2.8 STC8H04A10 系列提前通告
选型价格(不需要外部晶振、不需要外部复位)
封装
年新品供货信息
2018
直接下载
USB
本身就可在线仿真
支持
SOP8
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
看门狗 复位定时器
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1
A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
位高级
定时器 互补对称死区
16
PWM
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
I2 C
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
字节
SRAM
万次 字节
10
程序存储器
Flash
工作电压( )
V
单片机型号
- 15 -
传真: 0513-5501 2926/2956/2947
总机: 0513-5501 2928/2929/2966
江苏国芯科技有限公司
1
月
送
样
是 ¥0.6
是
是
是
有
是
有 4级 有
有
有
有
3
有
有
1
6
3K
1
1.7-5.5 4K 256
STC8H04
研发顾问: 13922805190
技术支持: 13922829991
官方网站: www.STCMCUDATA.com / www.STCMCU.com
STC8 系列技术手册
2.9 STC8H04 系列提前通告
选型价格(不需要外部晶振、不需要外部复位)
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
3 管脚及说明
3.1 管脚图
STC8A8K64S4A12 系列管脚图
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P4.2/RD_3/TxD2_2
P2.0/A8/PWM0/RSTSV
P7.3/CCP3_3
P7.2/CCP2_3
P7.1/CCP1_3
P7.0/CCP0_3
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP5.1/TxD3_2
P5.0/RxD3_2
3.1.1
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
STC8A8K64S4A12
LQFP64
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
P3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P6.7/PWM7_3
P6.6/PWM6_3
P6.5/PWM5_3
P6.4/PWM4_3
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
ADC_AVcc
CAN_Rx_2/RxD4_2/P5.2
CAN_Tx_2/TxD4_2/P5.3
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
PWM0_3/P6.0
PWM1_3/P6.1
PWM2_3/P6.2
PWM3_3/P6.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CCP3_2/PWM6/A14/P2.6
PWM7/A15/P2.7
RxD3/ADC8/AD0/P0.0
TxD3/ADC9/AD1/P0.1
CAN_Rx/RxD4/ADC10/AD2/P0.2
ECI_3/SS_3/P7.4
MOSI_3/P7.5
I2CSDA_3/MISO_3/P7.6
I2CSCL_3/SCLK_3/P7.7
RxD_4/WR/P4.3
CAN_Tx/TxD4/ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
RxD2/PWM0_2/ADC0/P1.0
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 16 -
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
36
35
34
33
32
31
30
29
28
27
26
25
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P4.2/RD_3/TxD2_2
P2.0/A8/PWM0/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP5.1/TxD3_2
P5.0/RxD3_2
STC8 系列技术手册
STC8A8K64S4A12
LQFP48
1
2
3
4
5
6
7
8
9
10
11
12
37
38
39
40
41
42
43
44
45
46
47
48
CAN_Rx_2/RxD4_2/P5.2
CAN_Tx_2/TxD4_2/P5.3
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
CCP3_2/PWM6/A14/P2.6
PWM7/A15/P2.7
RxD3/ADC8/AD0/P0.0
TxD3/ADC9/AD1/P0.1
CAN_Rx/RxD4/ADC10/AD2/P0.2
RxD_4/WR/P4.3
CAN_Tx/TxD4/ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
RxD2/PWM0_2/ADC0/P1.0
24
23
22
21
20
19
18
17
16
15
14
13
P3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
ADC_AVcc
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 17 -
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
33
32
31
30
29
28
27
26
25
24
23
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P4.2/RD_3/TxD2_2
P2.0/A8/PWM0/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
STC8 系列技术手册
34
35
36
37
38
39
40
41
42
43
44
STC8A8K64S4A12
LQFP44
22
21
20
19
18
17
16
15
14
13
12
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
ADC_AVcc
RxD2/PWM0_2/ADC0/P1.0
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
1
2
3
4
5
6
7
8
9
10
11
CCP3_2/PWM6/A14/P2.6
PWM7/A15/P2.7
RxD3/ADC8/AD0/P0.0
TxD3/ADC9/AD1/P0.1
CAN_Rx/RxD4/ADC10/AD2/P0.2
RxD_4/WR/P4.3
CAN_Tx/TxD4/ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
正看芯片丝印左下方小圆点处为第一脚
STC
第一脚
STC
第一脚
STC
第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 18 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
江苏国芯科技有限公司
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
STC8A8K64S4A12
PDIP40
CAN_Tx/TxD4/ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
RxD2/PWM0_2/ADC0/P1.0
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
ADC_AVcc
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
总机: 0513-5501 2928/2929/2966
技术支持: 13922829991
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
研发顾问: 13922805190
P0.2/AD2/ADC10/RxD4/CAN_Rx
P0.1/AD1/ADC9/TxD3
P0.0/AD0/ADC8/RxD3
P2.7/A15/PWM7
P2.6/A14/PWM6/CCP3_2
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P2.0/A8/PWM0/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
传真: 0513-5501 2926/2956/2947
- 19 -
STC8 系列技术手册
技术支持: 13922829991
研发顾问: 13922805190
STC8A4K64S2A12 系列管脚图
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P4.2/RD_3/TxD2_2
P2.0/A8/PWM0/RSTSV
P7.3/CCP3_3
P7.2/CCP2_3
P7.1/CCP1_3
P7.0/CCP0_3
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP5.1
P5.0
3.1.2
官方网站: www.STCMCUDATA.com / www.STCMCU.com
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
STC8A4K64S2A12
LQFP64
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
P3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P6.7/PWM7_3
P6.6/PWM6_3
P6.5/PWM5_3
P6.4/PWM4_3
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
ADC_AVcc
P5.2
P5.3
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
PWM0_3/P6.0
PWM1_3/P6.1
PWM2_3/P6.2
PWM3_3/P6.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CCP3_2/PWM6/A14/P2.6
PWM7/A15/P2.7
ADC8/AD0/P0.0
ADC9/AD1/P0.1
ADC10/AD2/P0.2
ECI_3/SS_3/P7.4
MOSI_3/P7.5
I2CSDA_3/MISO_3/P7.6
I2CSCL_3/SCLK_3/P7.7
RxD_4/WR/P4.3
ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
RxD2/PWM0_2/ADC0/P1.0
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 20 -
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
36
35
34
33
32
31
30
29
28
27
26
25
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P4.2/RD_3/TxD2_2
P2.0/A8/PWM0/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP5.1
P5.0
STC8 系列技术手册
37
38
39
40
41
42
43
44
45
46
47
48
STC8A4K64S2A12
LQFP48
24
23
22
21
20
19
18
17
16
15
14
13
P3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
ADC_AVcc
P5.2
P5.3
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
1
2
3
4
5
6
7
8
9
10
11
12
CCP3_2/PWM6/A14/P2.6
PWM7/A15/P2.7
ADC8/AD0/P0.0
ADC9/AD1/P0.1
ADC10/AD2/P0.2
RxD_4/WR/P4.3
ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
RxD2/PWM0_2/ADC0/P1.0
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 21 -
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
33
32
31
30
29
28
27
26
25
24
23
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P4.2/RD_3/TxD2_2
P2.0/A8/PWM0/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
STC8 系列技术手册
34
35
36
37
38
39
40
41
42
43
44
STC8A4K64S2A12
LQFP44
22
21
20
19
18
17
16
15
14
13
12
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
ADC_AVcc
RxD2/PWM0_2/ADC0/P1.0
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
1
2
3
4
5
6
7
8
9
10
11
CCP3_2/PWM6/A14/P2.6
PWM7/A15/P2.7
ADC8/AD0/P0.0
ADC9/AD1/P0.1
ADC10/AD2/P0.2
RxD_4/WR/P4.3
ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 22 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
江苏国芯科技有限公司
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
STC8A4K64S2A12
PDIP40
ADC11/AD3/P0.3
T3/ADC12/AD4/P0.4
T3CLKO/ADC13/AD5/P0.5
T4/ADC14/AD6/P0.6
T4CLKO/ADC15/AD7/P0.7
RxD2/PWM0_2/ADC0/P1.0
TxD2/PWM1_2/ADC1/P1.1
ECI/T2/SS/PWM2_2/ADC2/P1.2
T2CLKO/MOSI/PWM3_2/ADC3/P1.3
CCP3/I2CSDA/MISO/PWM4_2/ADC4/P1.4
CCP2/I2CSCL/SCLK/PWM5_2/ADC5/P1.5
XTALO/CCP1/MCLKO_2/PWM6_2/RxD_3/ADC6/P1.6
XTALI/CCP0/PWM7_2/TxD_3/ADC7/P1.7
ADC_AGnd
AVref
ADC_AVcc
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
总机: 0513-5501 2928/2929/2966
技术支持: 13922829991
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
研发顾问: 13922805190
P0.2/AD2/ADC10
P0.1/AD1/ADC9
P0.0/AD0/ADC8
P2.7/A15/PWM7
P2.6/A14/PWM6/CCP3_2
P2.5/A13/PWM5/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/PWM4/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/PWM3/MOSI_2/CCP0_2
P2.2/A10/PWM2/SS_2/ECI_2
P2.1/A9/PWM1
P2.0/A8/PWM0/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4/PWMFLT
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
传真: 0513-5501 2926/2956/2947
- 23 -
STC8 系列技术手册
技术支持: 13922829991
研发顾问: 13922805190
STC8F2K64S4 系列管脚图
33
32
31
30
29
28
27
26
25
24
23
P2.5/A13/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/MOSI_2/CCP0_2
P2.2/A10/SS_2/ECI_2
P2.1/A9
P4.2/RD_3/TxD2_2
P2.0/A8/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4
3.1.3
官方网站: www.STCMCUDATA.com / www.STCMCU.com
34
35
36
37
38
39
40
41
42
43
44
STC8F2K64S4
LQFP44
22
21
20
19
18
17
16
15
14
13
12
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
P4.7
RxD2/P1.0
TxD2/P1.1
ECI/T2/SS/P1.2
T2CLKO/MOSI/P1.3
CCP3/I2CSDA/MISO/P1.4
TxD_4/RD/P4.4
CCP2/I2CSCL/SCLK/P1.5
XTALO/CCP1/MCLKO_2/RxD_3/P1.6
XTALI/CCP0/TxD_3/P1.7
P4.5
P4.6
1
2
3
4
5
6
7
8
9
10
11
CCP3_2/A14/P2.6
A15/P2.7
RxD3/AD0/P0.0
TxD3/AD1/P0.1
RxD4/AD2/P0.2
RxD_4/WR/P4.3
TxD4/AD3/P0.3
T3/AD4/P0.4
T3CLKO/AD5/P0.5
T4/AD6/P0.6
T4CLKO/AD7/P0.7
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 24 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
江苏国芯科技有限公司
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
STC8F2K64S4
PDIP40
TxD4/AD3/P0.3
T3/AD4/P0.4
T3CLKO/AD5/P0.5
T4/AD6/P0.6
T4CLKO/AD7/P0.7
RxD2/P1.0
TxD2/P1.1
ECI/T2/SS/P1.2
T2CLKO/MOSI/P1.3
CCP3/I2CSDA/MISO/P1.4
CCP2/I2CSCL/SCLK/P1.5
XTALO/CCP1/MCLKO_2/RxD_3/P1.6
XTALI/CCP0/TxD_3/P1.7
P4.5
P4.6
P4.7
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
总机: 0513-5501 2928/2929/2966
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
技术支持: 13922829991
研发顾问: 13922805190
P0.2/AD2/RxD4
P0.1/AD1/TxD3
P0.0/AD0/RxD3
P2.7/A15
P2.6/A14/CCP3_2
P2.5/A13/SCLK_2/CCP2_2/I2CSCL_2
P2.4/A12/MISO_2/CCP1_2/I2CSDA_2
P2.3/A11/MOSI_2/CCP0_2
P2.2/A10/SS_2/ECI_2
P2.1/A9
P2.0/A8/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
传真: 0513-5501 2926/2956/2947
- 25 -
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
24
23
22
21
20
19
18
17
P2.3/MOSI_2/CCP0_2
P2.2/SS_2/ECI_2
P2.1
P2.0/RSTSV
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/ECI_4/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
STC8 系列技术手册
25
26
27
28
29
30
31
32
STC8F2K64S4
LQFP32
QFN32
1
2
3
4
5
6
7
8
I2CSDA_2/MISO_2/CCP1_2/P2.4
I2CSCL_2/SCLK_2/CCP2_2/P2.5
CCP3_2/P2.6
P2.7
RxD3/P0.0
TxD3/P0.1
RxD4/P0.2
TxD4/P0.3
16
15
14
13
12
11
10
9
P3.3/INT1/CCP0_4/MISO_4/I2CSDA_4
P3.2/INT0/CCP1_4/SCLK_4/I2CSCL_4
P3.1/TxD/CCP2_4
P3.0/RxD/CCP3_4/INT4
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
STC
RxD2/P1.0
TxD2/P1.1
ECI/T2/SS/P1.2
T2CLKO/MOSI/P1.3
CCP3/I2CSDA/MISO/P1.4
CCP2/I2CSCL/SCLK/P1.5
XTALO/CCP1/MCLKO_2/RxD_3/P1.6
XTALI/CCP0/TxD_3/P1.7
第一脚
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
STC
第一脚
STC
第一脚
传真: 0513-5501 2926/2956/2947
- 26 -
STC8 系列技术手册
技术支持: 13922829991
研发顾问: 13922805190
STC8F2K64S2 系列管脚图
33
32
31
30
29
28
27
26
25
24
23
P2.5/A13/SCLK_2/I2CSCL_2
P2.4/A12/MISO_2/I2CSDA_2
P2.3/A11/MOSI_2
P2.2/A10/SS_2
P2.1/A9
P4.2/RD_3/TxD2_2
P2.0/A8/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
3.1.4
官方网站: www.STCMCUDATA.com / www.STCMCU.com
34
35
36
37
38
39
40
41
42
43
44
STC8F2K64S2
LQFP44
22
21
20
19
18
17
16
15
14
13
12
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
P4.0/WR_3/RxD2_2
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
P4.7
RxD2/P1.0
TxD2/P1.1
T2/SS/P1.2
T2CLKO/MOSI/P1.3
I2CSDA/MISO/P1.4
TxD_4/RD/P4.4
I2CSCL/SCLK/P1.5
XTALO/MCLKO_2/RxD_3/P1.6
XTALI/TxD_3/P1.7
P4.5
P4.6
1
2
3
4
5
6
7
8
9
10
11
A14/P2.6
A15/P2.7
AD0/P0.0
AD1/P0.1
AD2/P0.2
WR/P4.3
AD3/P0.3
T3/AD4/P0.4
T3CLKO/AD5/P0.5
T4/AD6/P0.6
T4CLKO/AD7/P0.7
STC
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
第一脚
传真: 0513-5501 2926/2956/2947
- 27 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
江苏国芯科技有限公司
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
STC8F2K64S2
PDIP40
AD3/P0.3
T3/AD4/P0.4
T3CLKO/AD5/P0.5
T4/AD6/P0.6
T4CLKO/AD7/P0.7
RxD2/P1.0
TxD2/P1.1
T2/SS/P1.2
T2CLKO/MOSI/P1.3
I2CSDA/MISO/P1.4
I2CSCL/SCLK/P1.5
XTALO/MCLKO_2/RxD_3/P1.6
XTALI/TxD_3/P1.7
P4.5
P4.6
P4.7
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
总机: 0513-5501 2928/2929/2966
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
技术支持: 13922829991
研发顾问: 13922805190
P0.2/AD2
P0.1/AD1
P0.0/AD0
P2.7/A15
P2.6/A14
P2.5/A13/SCLK_2/I2CSCL_2
P2.4/A12/MISO_2/I2CSDA_2
P2.3/A11/MOSI_2
P2.2/A10/SS_2
P2.1/A9
P2.0/A8/RSTSV
P4.1/ALE/CMPO_2
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
传真: 0513-5501 2926/2956/2947
- 28 -
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
24
23
22
21
20
19
18
17
P2.3/MOSI_2
P2.2/SS_2
P2.1
P2.0/RSTSV
P3.7/INT3/RD_2/TxD_2/CMP+
P3.6/INT2/WR_2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
STC8 系列技术手册
25
26
27
28
29
30
31
32
STC8F2K64S2
LQFP32
QFN32
1
2
3
4
5
6
7
8
I2CSDA_2/MISO_2/P2.4
I2CSCL_2/SCLK_2/P2.5
P2.6
P2.7
P0.0
P0.1
P0.2
P0.3
16
15
14
13
12
11
10
9
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
Gnd
P5.5
Vcc
P5.4/RST/MCLKO
STC
RxD2/P1.0
TxD2/P1.1
T2/SS/P1.2
T2CLKO/MOSI/P1.3
I2CSDA/MISO/P1.4
I2CSCL/SCLK/P1.5
XTALO/MCLKO_2/RxD_3/P1.6
XTALI/TxD_3/P1.7
第一脚
STC
第一脚
STC
正看芯片丝印左下方小圆点处为第一脚
第一脚
正看芯片丝印最下面一行最后一个字母为芯片版本号
江苏国芯科技有限公司
1
2
3
4
5
6
7
8
9
10
STC8F2K64S2
TSSOP20/SOP20
T2/SS/P1.2
T2CLKO/MOSI/P1.3
I2CSDA/MISO/P1.4
I2CSCL/SCLK/P1.5
MCLKO_2/XTALO/RxD_3/P1.6
XTALI/TxD_3/P1.7
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
总机: 0513-5501 2928/2929/2966
20
19
18
17
16
15
14
13
12
11
P1.1/TxD2
P1.0 /RxD2
P3.7/CMP+/INT3/TxD_2
P3.6/INT2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
传真: 0513-5501 2926/2956/2947
- 29 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
3.1.5
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
STC8F2K64S2
SOP16
RxD2/P1.0
TxD2/P1.1
MCLKO_2/XTALO/RxD_3/P1.6
XTALI/TxD_3/P1.7
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
技术支持: 13922829991
研发顾问: 13922805190
P3.7/CMP+/INT3/TxD_2
P3.6/INT2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
STC8H1K08S2A10 系列管脚图
1
2
3
4
5
6
7
8
9 ADC参考源
10
20
19
18
17
16
15
14
13
12
11
P1.1/ADC1/PWM0N/TxD2
P1.0/ADC0/PWM0P/RxD2
P3.7/CMP+/INT3/TxD_2
P3.6/ADC14/INT2/RxD_2/CMPP3.5/ADC13/T1/T0CLKO/SS_4/PWMFLT
P3.4/ADC12/PWM3P_2/T0/T1CLKO/MOSI_4/CMPO
P3.3/ADC11/PWM3N_2/INT1/MISO_4/I2CSDA_4
P3.2/ADC10/INT0/SCLK_4/I2CSCL_4
P3.1/ADC9/TxD/D+
P3.0/ADC8/RxD/D-/INT4
RxD2/PWM0P/ADC0/P1.0
TxD2/PWM0N/ADC1/P1.1
MCLKO_2/XTALO/RxD_3/PWM3P/P1.6
XTALI/TxD_3/PWM3N/P1.7
MCLKO/RST/P5.4
Vcc/ADC_AVcc
ADC_Vref
Gnd/ADC_AGnd
1
2
3
4
5
6
7 ADC参考源
8
16
15
14
13
12
11
10
9
P3.7/CMP+/INT3/TxD_2
P3.6/ADC14/INT2/RxD_2/CMPP3.5/ADC13/T1/T0CLKO/SS_4/PWMFLT
P3.4/ADC12/PWM3P_2/T0/T1CLKO/MOSI_4/CMPO
P3.3/ADC11/PWM3N_2/INT1/MISO_4/I2CSDA_4
P3.2/ADC10/INT0/SCLK_4/I2CSCL_4
P3.1/ADC9/TxD/D+
P3.0/ADC8/RxD/D-/INT4
SOP16
江苏国芯科技有限公司
TSSOP20/SOP20
T2/SS/PWM1P/P1.2
T2CLKO/MOSI/PWM1N/P1.3
I2CSDA/MISO/PWM2P/P1.4
I2CSCL/SCLK/PWM2N/P1.5
MCLKO_2/XTALO/RxD_3/PWM3P/P1.6
XTALI/TxD_3/PWM3N/P1.7
MCLKO/RST/P5.4
Vcc/ADC_AVcc
ADC_Vref
Gnd/ADC_AGnd
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 30 -
STC8 系列技术手册
3.1.6
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
STC8H1K08S2 系列管脚图
RxD2/P1.0
TxD2/P1.1
MCLKO_2/XTALO/RxD_3/P1.6
XTALI/TxD_3/P1.7
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
1
2
3
4
5
6
7
8
江苏国芯科技有限公司
20
19
18
17
16
15
14
13
12
11
P1.1/TxD2
P1.0 /RxD2
P3.7/INT3/TxD_2/CMP+
P3.6/INT2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
SOP16
1
2
3
4
5
6
7
8
9
10
TSSOP20/SOP20
T2/SS/P1.2
T2CLKO/MOSI/P1.3
I2CSDA/MISO/P1.4
I2CSCL/SCLK/P1.5
MCLKO_2/XTALO/RxD_3/P1.6
XTALI/TxD_3/P1.7
MCLKO/RST/P5.4
Vcc
P5.5
Gnd
16
15
14
13
12
11
10
9
P3.7/INT3/TxD_2/CMP+
P3.6/INT2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4
P3.4/T0/T1CLKO/MOSI_4/CMPO
P3.3/INT1/MISO_4/I2CSDA_4
P3.2/INT0/SCLK_4/I2CSCL_4
P3.1/TxD
P3.0/RxD/INT4
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 31 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
3.2 管脚说明
3.2.1
STC8A8K64S4A12 系列管脚说明
编号
LQFP64S
LQFP48
1
1
2
2
3
4
5
3
4
5
6
7
8
9
江苏国芯科技有限公司
LQFP44
2
3
4
名称
类
型
P5.2
I/O
RxD4_2
I
P5.3
I/O
TxD4_2
O
P1.1
I/O
ADC1
I
ADC 模拟输入通道 1
PWM1_2
O
增强 PWM 通道 1 输出脚
TxD2
O
串口 2 的发送脚
P1.2
I/O
ADC2
I
ADC 模拟输入通道 2
PWM2_2
O
增强 PWM 通道 2 输出脚
SS
I/O
T2
I
定时器 2 外部时钟输入
ECI
I
PCA 的外部脉冲输入
P1.3
I/O
ADC3
I
ADC 模拟输入通道 3
PWM3_2
O
增强 PWM 通道 3 输出脚
MOSI
I/O
SPI 主机输出从机输入
T2CLKO
O
定时器 2 时钟分频输出
P6.0
I/O
标准 IO 口
PWM0_3
O
P6.1
I/O
PWM1_3
O
P6.2
I/O
PWM2_3
O
P6.3
I/O
PWM3_3
O
PDIP40
7
8
9
总机: 0513-5501 2928/2929/2966
说明
标准 IO 口
串口 4 的接收脚
标准 IO 口
串口 4 的发送脚
标准 IO 口
标准 IO 口
SPI 从机选择
标准 IO 口
增强 PWM 通道 0 输出脚
标准 IO 口
增强 PWM 通道 1 输出脚
标准 IO 口
增强 PWM 通道 2 输出脚
标准 IO 口
增强 PWM 通道 3 输出脚
传真: 0513-5501 2926/2956/2947
- 32 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
10
11
12
13
14
LQFP48
6
7
8
9
10
LQFP44
5
8
9
名称
类型
说明
P1.4
I/O
ADC4
I
ADC 模拟输入通道 4
10
PWM4_2
O
增强 PWM 通道 4 输出脚
MISO
I/O
SPI 主机输入从机输出
SDA
I/O
I2C 接口的数据线
CCP3
I/O
PCA 的捕获输入和脉冲输出
P4.4
I/O
标准 IO 口
RD
O
外部总线的读信号线
TxD_4
O
串口 1 的发送脚
P1.5
I/O
ADC5
I
ADC 模拟输入通道 5
11
PWM5_2
O
增强 PWM 通道 5 输出脚
SCLK
I/O
SPI 的时钟脚
SCL
I/O
I2C 的时钟线
CCP2
I/O
PCA 的捕获输入和脉冲输出
P1.6
I/O
标准 IO 口
ADC6
I
ADC 模拟输入通道 6
RxD_3
I
串口 1 的接收脚
12
PWM6_2
O
增强 PWM 通道 6 输出脚
MCLKO_2
O
主时钟分频输出
CCP1
I/O
XTALO
O
P1.7
I/O
ADC7
I
ADC 模拟输入通道 7
13
TxD_3
O
串口 1 的发送脚
PWM7_2
O
增强 PWM 通道 7 输出脚
CCP0
I/O
PCA 的捕获输入和脉冲输出
XTALI
I
外部晶振/外部时钟的输入脚
标准 IO 口
标准 IO 口
PCA 的捕获输入和脉冲输出
外部晶振的输出脚
标准 IO 口
15
11
10
14
ADC_AGnd
GND
16
12
11
15
AVref
I
17
13
12
16
ADC_AVcc
VCC
P5.4
I/O
标准 IO 口
RST
I
复位引脚
MCLKO
O
主时钟分频输出
18
14
13
17
19
15
14
18
Vcc
VCC
20
16
15
19
P5.5
I/O
21
17
16
20
Gnd
GND
江苏国芯科技有限公司
研发顾问: 13922805190
PDIP40
6
7
技术支持: 13922829991
总机: 0513-5501 2928/2929/2966
ADC 地线
ADC 的参考电压脚
ADC 电源脚
电源脚
标准 IO 口
地线
传真: 0513-5501 2926/2956/2947
- 33 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
22
LQFP48
18
LQFP44
17
24
25
26
28
29
30
31
19
20
21
22
23
江苏国芯科技有限公司
18
19
20
21
22
研发顾问: 13922805190
名称
类型
说明
P4.0
I/O
WR_3
O
外部总线的写信号线
RxD2_2
I
串口 2 的接收脚
P6.4
I/O
PWM4_3
O
P6.5
I/O
PWM5_3
O
P6.6
I/O
PWM6_3
O
P6.7
I/O
PWM7_3
O
P3.0
I/O
RxD
I
CCP3_4
I/O
INT4
I
外部中断 4
P3.1
I/O
标准 IO 口
TxD
O
CCP2_4
I/O
PCA 的捕获输入和脉冲输出
P3.2
I/O
标准 IO 口
INT0
I
外部中断 0
CCP1_4
I/O
PCA 的捕获输入和脉冲输出
SCLK_4
I/O
SPI 的时钟脚
SCL_4
I/O
I2C 的时钟线
P3.3
I/O
标准 IO 口
INT1
I
外部中断 1
CCP0_4
I/O
PCA 的捕获输入和脉冲输出
MISO_4
I/O
SPI 主机输入从机输出
SDA_4
I/O
I2C 接口的数据线
P3.4
I/O
标准 IO 口
T0
I
定时器 0 外部时钟输入
T1CLKO
O
定时器 1 时钟分频输出
MOSI_4
I/O
SPI 主机输出从机输入
CMPO
O
PDIP40
23
27
技术支持: 13922829991
21
22
23
24
25
总机: 0513-5501 2928/2929/2966
标准 IO 口
标准 IO 口
增强 PWM 通道 4 输出脚
标准 IO 口
增强 PWM 通道 5 输出脚
标准 IO 口
增强 PWM 通道 6 输出脚
标准 IO 口
增强 PWM 通道 7 输出脚
标准 IO 口
串口 1 的接收脚
PCA 的捕获输入和脉冲输出
串口 1 的发送脚
比较器输出
传真: 0513-5501 2926/2956/2947
- 34 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
32
LQFP48
24
33
25
34
26
35
36
37
27
28
29
LQFP44
23
24
25
26
26
27
28
29
39
40
41
43
30
31
江苏国芯科技有限公司
27
28
研发顾问: 13922805190
名称
类型
说明
P3.5
I/O
T1
I
定时器 1 外部时钟输入
T0CLKO
O
定时器 0 时钟分频输出
ECI_4
I
PCA 的外部脉冲输入
SS_4
I
SPI 的从机选择脚(主机为输出)
PWMFLT
I
增强 PWM 的外部异常检测脚
P5.0
I/O
RxD3_2
I
P5.1
I/O
TxD3_2
O
P3.6
I/O
标准 IO 口
INT2
I
外部中断 2
WR_2
O
外部总线的写信号线
RxD_2
I
串口 1 的接收脚
CMP-
I
比较器负极输入
P3.7
I/O
标准 IO 口
INT3
I
外部中断 3
RD_2
O
外部总线的读信号线
TxD_2
O
串口 1 的发送脚
CMP+
I
比较器正极输入
P4.1
I/O
ALE
O
地址锁存信号
CMPO_2
O
比较器输出
P7.0
I/O
标准 IO 口
CCP0_3
I/O
PCA 的捕获输入和脉冲输出
P7.1
I/O
标准 IO 口
CCP1_3
I/O
PCA 的捕获输入和脉冲输出
P7.2
I/O
标准 IO 口
CCP2_3
I/O
PCA 的捕获输入和脉冲输出
P7.3
I/O
标准 IO 口
CCP3_3
I/O
PCA 的捕获输入和脉冲输出
P2.0
I/O
标准 IO 口
A8
I
地址总线
PWM0
O
增强 PWM 通道 0 输出脚
P4.2
I/O
RD_3
O
外部总线的读信号线
TxD2_2
O
串口 2 的发送脚
PDIP40
38
42
技术支持: 13922829991
30
总机: 0513-5501 2928/2929/2966
标准 IO 口
标准 IO 口
串口 3 的接收脚
标准 IO 口
串口 3 的发送脚
标准 IO 口
标准 IO 口
传真: 0513-5501 2926/2956/2947
- 35 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
44
45
46
47
48
49
50
51
LQFP48
32
33
34
35
36
37
38
39
江苏国芯科技有限公司
LQFP44
29
30
31
32
33
34
35
36
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P2.1
I/O
标准 IO 口
A9
I
地址总线
PWM1
O
增强 PWM 通道 1 输出脚
P2.2
I/O
标准 IO 口
A10
I
地址总线
PWM2
O
增强 PWM 通道 2 输出脚
SS_2
I
SPI 的从机选择脚(主机为输出)
ECI_2
I
PCA 的外部脉冲输入
P2.3
I/O
标准 IO 口
A11
I
地址总线
PWM3
O
增强 PWM 通道 3 输出脚
MOSI_2
I/O
SPI 主机输出从机输入
CCP0_2
I/O
PCA 的捕获输入和脉冲输出
P2.4
I/O
标准 IO 口
A12
I
地址总线
PWM4
O
增强 PWM 通道 4 输出脚
MISO_2
I/O
SPI 主机输入从机输出
SDA_2
I/O
I2C 接口的数据线
CCP1_2
I/O
PCA 的捕获输入和脉冲输出
P2.5
I/O
标准 IO 口
A13
I
地址总线
PWM5
O
增强 PWM 通道 5 输出脚
SCLK_2
I/O
SPI 的时钟脚
SCL_2
I/O
I2C 的时钟线
CCP2_2
I/O
PCA 的捕获输入和脉冲输出
P2.6
I/O
标准 IO 口
A14
I
地址总线
PWM6
O
增强 PWM 通道 6 输出脚
CCP3_2
I/O
PCA 的捕获输入和脉冲输出
P2.7
I/O
标准 IO 口
A15
I
地址总线
PWM7
O
增强 PWM 通道 7 输出脚
P0.0
I/O
标准 IO 口
AD0
I
地址总线
ADC8
I
ADC 模拟输入通道 8
RxD3
I
串口 3 的接收脚
PDIP40
31
32
33
34
35
36
37
38
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 36 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
52
53
LQFP48
40
41
LQFP44
37
38
39
40
55
56
57
59
60
42
43
44
江苏国芯科技有限公司
39
40
41
研发顾问: 13922805190
名称
类型
说明
P0.1
I/O
标准 IO 口
AD1
I
地址总线
ADC9
I
ADC 模拟输入通道 9
TxD3
O
串口 3 的发送脚
P0.2
I/O
标准 IO 口
AD2
I
地址总线
ADC10
I
ADC 模拟输入通道 10
RxD4
I
串口 4 的接收脚
P7.4
I/O
SS_3
I
SPI 的从机选择脚(主机为输出)
ECI_3
I
PCA 的外部脉冲输入
P7.5
I/O
标准 IO 口
MOSI_3
I/O
SPI 主机输出从机输入
P7.6
I/O
标准 IO 口
MISO_3
I/O
SPI 主机输入从机输出
SDA_3
I/O
I2C 接口的数据线
P7.7
I/O
标准 IO 口
SCLK_3
I/O
SPI 的时钟脚
SCL_3
I/O
I2C 的时钟线
P4.3
I/O
标准 IO 口
WR
O
外部总线的写信号线
RxD_4
I
串口 1 的接收脚
P0.3
I/O
标准 IO 口
AD3
I
地址总线
ADC11
I
ADC 模拟输入通道 11
TxD4
O
串口 4 的发送脚
P0.4
I/O
标准 IO 口
AD4
I
地址总线
ADC12
I
ADC 模拟输入通道 12
T3
I
定时器 3 外部时钟输入
PDIP40
54
58
技术支持: 13922829991
1
2
总机: 0513-5501 2928/2929/2966
标准 IO 口
传真: 0513-5501 2926/2956/2947
- 37 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
61
62
63
64
LQFP48
45
46
47
48
江苏国芯科技有限公司
LQFP44
42
43
44
1
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P0.5
I/O
标准 IO 口
AD5
I
地址总线
ADC13
I
ADC 模拟输入通道 13
T3CLKO
O
定时器 3 时钟分频输出
P0.6
I/O
标准 IO 口
AD6
I
地址总线
ADC14
I
ADC 模拟输入通道 14
T4
I
定时器 4 外部时钟输入
P0.7
I/O
标准 IO 口
AD7
I
地址总线
T4CLKO
O
定时器 4 时钟分频输出
P1.0
I/O
标准 IO 口
ADC0
I
ADC 模拟输入通道 0
PWM0_2
O
增强 PWM 通道 0 输出脚
RxD2
I
串口 2 的接收脚
PDIP40
3
4
5
6
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 38 -
STC8 系列技术手册
3.2.2
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
STC8A4K64S2A12 系列管脚说明
编号
类
型
1
1
P5.2
I/O
标准 IO 口
2
2
P5.3
I/O
标准 IO 口
P1.1
I/O
标准 IO 口
ADC1
I
ADC 模拟输入通道 1
PWM1_2
O
增强 PWM 通道 1 输出脚
TxD2
O
串口 2 的发送脚
P1.2
I/O
ADC2
I
ADC 模拟输入通道 2
PWM2_2
O
增强 PWM 通道 2 输出脚
SS
I/O
T2
I
定时器 2 外部时钟输入
ECI
I
PCA 的外部脉冲输入
P1.3
I/O
ADC3
I
ADC 模拟输入通道 3
PWM3_2
O
增强 PWM 通道 3 输出脚
MOSI
I/O
SPI 主机输出从机输入
T2CLKO
O
定时器 2 时钟分频输出
P6.0
I/O
标准 IO 口
PWM0_3
O
P6.1
I/O
PWM1_3
O
P6.2
I/O
PWM2_3
O
P6.3
I/O
PWM3_3
O
4
5
4
5
6
7
8
9
江苏国芯科技有限公司
2
3
4
PDIP40
说明
LQFP48
3
LQFP44
名称
LQFP64S
3
研发顾问: 13922805190
7
8
9
总机: 0513-5501 2928/2929/2966
标准 IO 口
SPI 从机选择
标准 IO 口
增强 PWM 通道 0 输出脚
标准 IO 口
增强 PWM 通道 1 输出脚
标准 IO 口
增强 PWM 通道 2 输出脚
标准 IO 口
增强 PWM 通道 3 输出脚
传真: 0513-5501 2926/2956/2947
- 39 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
10
11
12
13
14
LQFP48
6
7
8
9
10
LQFP44
5
8
9
名称
类型
说明
P1.4
I/O
ADC4
I
ADC 模拟输入通道 4
10
PWM4_2
O
增强 PWM 通道 4 输出脚
MISO
I/O
SPI 主机输入从机输出
SDA
I/O
I2C 接口的数据线
CCP3
I/O
PCA 的捕获输入和脉冲输出
P4.4
I/O
标准 IO 口
RD
O
外部总线的读信号线
TxD_4
O
串口 1 的发送脚
P1.5
I/O
ADC5
I
ADC 模拟输入通道 5
11
PWM5_2
O
增强 PWM 通道 5 输出脚
SCLK
I/O
SPI 的时钟脚
SCL
I/O
I2C 的时钟线
CCP2
I/O
PCA 的捕获输入和脉冲输出
P1.6
I/O
标准 IO 口
ADC6
I
ADC 模拟输入通道 6
RxD_3
I
串口 1 的接收脚
12
PWM6_2
O
增强 PWM 通道 6 输出脚
MCLKO_2
O
主时钟分频输出
CCP1
I/O
XTALO
O
P1.7
I/O
ADC7
I
ADC 模拟输入通道 7
13
TxD_3
O
串口 1 的发送脚
PWM7_2
O
增强 PWM 通道 7 输出脚
CCP0
I/O
PCA 的捕获输入和脉冲输出
XTALI
I
外部晶振/外部时钟的输入脚
标准 IO 口
标准 IO 口
PCA 的捕获输入和脉冲输出
外部晶振的输出脚
标准 IO 口
15
11
10
14
ADC_AGnd
GND
16
12
11
15
AVref
I
17
13
12
16
ADC_AVcc
VCC
P5.4
I/O
标准 IO 口
RST
I
复位引脚
MCLKO
O
主时钟分频输出
18
14
13
17
19
15
14
18
Vcc
VCC
20
16
15
19
P5.5
I/O
21
17
16
20
Gnd
GND
江苏国芯科技有限公司
研发顾问: 13922805190
PDIP40
6
7
技术支持: 13922829991
总机: 0513-5501 2928/2929/2966
ADC 地线
ADC 的参考电压脚
ADC 电源脚
电源脚
标准 IO 口
地线
传真: 0513-5501 2926/2956/2947
- 40 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
22
LQFP48
18
LQFP44
17
24
25
26
28
29
30
31
19
20
21
22
23
江苏国芯科技有限公司
18
19
20
21
22
研发顾问: 13922805190
名称
类型
说明
P4.0
I/O
WR_3
O
外部总线的写信号线
RxD2_2
I
串口 2 的接收脚
P6.4
I/O
PWM4_3
O
P6.5
I/O
PWM5_3
O
P6.6
I/O
PWM6_3
O
P6.7
I/O
PWM7_3
O
P3.0
I/O
RxD
I
CCP3_4
I/O
INT4
I
外部中断 4
P3.1
I/O
标准 IO 口
TxD
O
CCP2_4
I/O
PCA 的捕获输入和脉冲输出
P3.2
I/O
标准 IO 口
INT0
I
外部中断 0
CCP1_4
I/O
PCA 的捕获输入和脉冲输出
SCLK_4
I/O
SPI 的时钟脚
SCL_4
I/O
I2C 的时钟线
P3.3
I/O
标准 IO 口
INT1
I
外部中断 1
CCP0_4
I/O
PCA 的捕获输入和脉冲输出
MISO_4
I/O
SPI 主机输入从机输出
SDA_4
I/O
I2C 接口的数据线
P3.4
I/O
标准 IO 口
T0
I
定时器 0 外部时钟输入
T1CLKO
O
定时器 1 时钟分频输出
MOSI_4
I/O
SPI 主机输出从机输入
CMPO
O
PDIP40
23
27
技术支持: 13922829991
21
22
23
24
25
总机: 0513-5501 2928/2929/2966
标准 IO 口
标准 IO 口
增强 PWM 通道 4 输出脚
标准 IO 口
增强 PWM 通道 5 输出脚
标准 IO 口
增强 PWM 通道 6 输出脚
标准 IO 口
增强 PWM 通道 7 输出脚
标准 IO 口
串口 1 的接收脚
PCA 的捕获输入和脉冲输出
串口 1 的发送脚
比较器输出
传真: 0513-5501 2926/2956/2947
- 41 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
32
LQFP48
24
LQFP44
23
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P3.5
I/O
T1
I
定时器 1 外部时钟输入
T0CLKO
O
定时器 0 时钟分频输出
ECI_4
I
PCA 的外部脉冲输入
SS_4
I
SPI 的从机选择脚(主机为输出)
PWMFLT
I
增强 PWM 的外部异常检测脚
PDIP40
26
标准 IO 口
33
25
P5.0
I/O
标准 IO 口
34
26
P5.1
I/O
标准 IO 口
P3.6
I/O
标准 IO 口
INT2
I
外部中断 2
WR_2
O
外部总线的写信号线
RxD_2
I
串口 1 的接收脚
CMP-
I
比较器负极输入
P3.7
I/O
标准 IO 口
INT3
I
外部中断 3
RD_2
O
外部总线的读信号线
TxD_2
O
串口 1 的发送脚
CMP+
I
比较器正极输入
P4.1
I/O
ALE
O
地址锁存信号
CMPO_2
O
比较器输出
P7.0
I/O
标准 IO 口
CCP0_3
I/O
PCA 的捕获输入和脉冲输出
P7.1
I/O
标准 IO 口
CCP1_3
I/O
PCA 的捕获输入和脉冲输出
P7.2
I/O
标准 IO 口
CCP2_3
I/O
PCA 的捕获输入和脉冲输出
P7.3
I/O
标准 IO 口
CCP3_3
I/O
PCA 的捕获输入和脉冲输出
P2.0
I/O
标准 IO 口
A8
I
地址总线
PWM0
O
增强 PWM 通道 0 输出脚
P4.2
I/O
RD_3
O
外部总线的读信号线
TxD2_2
O
串口 2 的发送脚
35
36
37
27
28
29
24
25
26
27
28
29
38
39
40
41
42
43
30
31
江苏国芯科技有限公司
27
28
30
总机: 0513-5501 2928/2929/2966
标准 IO 口
标准 IO 口
传真: 0513-5501 2926/2956/2947
- 42 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
44
45
46
47
48
49
50
51
LQFP48
32
33
34
35
36
37
38
39
江苏国芯科技有限公司
LQFP44
29
30
31
32
33
34
35
36
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P2.1
I/O
标准 IO 口
A9
I
地址总线
PWM1
O
增强 PWM 通道 1 输出脚
P2.2
I/O
标准 IO 口
A10
I
地址总线
PWM2
O
增强 PWM 通道 2 输出脚
SS_2
I
SPI 的从机选择脚(主机为输出)
ECI_2
I
PCA 的外部脉冲输入
P2.3
I/O
标准 IO 口
A11
I
地址总线
PWM3
O
增强 PWM 通道 3 输出脚
MOSI_2
I/O
SPI 主机输出从机输入
CCP0_2
I/O
PCA 的捕获输入和脉冲输出
P2.4
I/O
标准 IO 口
A12
I
地址总线
PWM4
O
增强 PWM 通道 4 输出脚
MISO_2
I/O
SPI 主机输入从机输出
SDA_2
I/O
I2C 接口的数据线
CCP1_2
I/O
PCA 的捕获输入和脉冲输出
P2.5
I/O
标准 IO 口
A13
I
地址总线
PWM5
O
增强 PWM 通道 5 输出脚
SCLK_2
I/O
SPI 的时钟脚
SCL_2
I/O
I2C 的时钟线
CCP2_2
I/O
PCA 的捕获输入和脉冲输出
P2.6
I/O
标准 IO 口
A14
I
地址总线
PWM6
O
增强 PWM 通道 6 输出脚
CCP3_2
I/O
PCA 的捕获输入和脉冲输出
P2.7
I/O
标准 IO 口
A15
I
地址总线
PWM7
O
增强 PWM 通道 7 输出脚
P0.0
I/O
标准 IO 口
AD0
I
地址总线
ADC8
I
ADC 模拟输入通道 8
PDIP40
31
32
33
34
35
36
37
38
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 43 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
52
53
LQFP48
40
41
LQFP44
37
38
39
40
55
56
57
59
60
42
43
44
江苏国芯科技有限公司
39
40
41
研发顾问: 13922805190
名称
类型
说明
P0.1
I/O
标准 IO 口
AD1
I
地址总线
ADC9
I
ADC 模拟输入通道 9
P0.2
I/O
标准 IO 口
AD2
I
地址总线
ADC10
I
ADC 模拟输入通道 10
P7.4
I/O
SS_3
I
SPI 的从机选择脚(主机为输出)
ECI_3
I
PCA 的外部脉冲输入
P7.5
I/O
标准 IO 口
MOSI_3
I/O
SPI 主机输出从机输入
P7.6
I/O
标准 IO 口
MISO_3
I/O
SPI 主机输入从机输出
SDA_3
I/O
I2C 接口的数据线
P7.7
I/O
标准 IO 口
SCLK_3
I/O
SPI 的时钟脚
SCL_3
I/O
I2C 的时钟线
P4.3
I/O
标准 IO 口
WR
O
外部总线的写信号线
RxD_4
I
串口 1 的接收脚
P0.3
I/O
标准 IO 口
AD3
I
地址总线
ADC11
I
ADC 模拟输入通道 11
P0.4
I/O
标准 IO 口
AD4
I
地址总线
ADC12
I
ADC 模拟输入通道 12
T3
I
定时器 3 外部时钟输入
PDIP40
54
58
技术支持: 13922829991
1
2
总机: 0513-5501 2928/2929/2966
标准 IO 口
传真: 0513-5501 2926/2956/2947
- 44 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP64S
61
62
63
64
LQFP48
45
46
47
48
江苏国芯科技有限公司
LQFP44
42
43
44
1
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P0.5
I/O
标准 IO 口
AD5
I
地址总线
ADC13
I
ADC 模拟输入通道 13
T3CLKO
O
定时器 3 时钟分频输出
P0.6
I/O
标准 IO 口
AD6
I
地址总线
ADC14
I
ADC 模拟输入通道 14
T4
I
定时器 4 外部时钟输入
P0.7
I/O
标准 IO 口
AD7
I
地址总线
T4CLKO
O
定时器 4 时钟分频输出
P1.0
I/O
标准 IO 口
ADC0
I
ADC 模拟输入通道 0
PWM0_2
O
增强 PWM 通道 0 输出脚
RxD2
I
串口 2 的接收脚
PDIP40
3
4
5
6
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 45 -
STC8 系列技术手册
3.2.3
官方网站: www.STCMCUDATA.com / www.STCMCU.com
LQFP44
PDIP40
LQFP32
2
7
2
4
5
8
9
10
3
4
5
6
7
8
9
11
12
13
6
7
8
名称
类型
说明
P1.1
I/O
TxD2
O
P1.2
I/O
SS
I
SPI 的从机选择脚(主机为输出)
T2
I
定时器 2 外部时钟输入
P1.3
I/O
标准 IO 口
MOSI
I/O
SPI 主机输出从机输入
T2CLKO
O
定时器 2 时钟分频输出
P1.4
I/O
标准 IO 口
MISO
I/O
SPI 主机输入从机输出
SDA
I/O
I2C 接口的数据线
P4.4
I/O
标准 IO 口
RD
O
外部总线的读信号线
TxD_4
O
串口 1 的发送脚
P1.5
I/O
标准 IO 口
SCLK
I/O
SPI 的时钟脚
SCL
I/O
I2C 的时钟线
P1.6
I/O
标准 IO 口
RxD_3
I
串口 1 的接收脚
XTALO
O
外部晶振的输出脚
MCLKO_2
O
主时钟分频输出
P1.7
I/O
TxD_3
O
串口 1 的发送脚
XTALI
I
外部晶振/外部时钟的输入脚
标准 IO 口
串口 2 的发送脚
标准 IO 口
标准 IO 口
10
14
P4.5
I/O
标准 IO 口
11
15
P4.6
I/O
标准 IO 口
12
16
P4.7
I/O
标准 IO 口
P5.4
I/O
标准 IO 口
13
17
RST
I
复位引脚
MCLKO
O
主时钟分频输出
Vcc
VCC
14
研发顾问: 13922805190
STC8F2K64S4 系列管脚说明
编号
3
技术支持: 13922829991
18
江苏国芯科技有限公司
9
10
总机: 0513-5501 2928/2929/2966
电源脚
传真: 0513-5501 2926/2956/2947
- 46 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
类型
11
P5.5
I/O
12
Gnd
GND
P4.0
I/O
WR_3
O
外部总线的写信号线
RxD2_2
I
串口 2 的接收脚
P3.0
I/O
RxD
I
串口 1 的接收脚
INT4
I
外部中断 4
P3.1
I/O
标准 IO 口
TxD
O
P3.2
I/O
标准 IO 口
INT0
I
外部中断 0
SCL_4
I/O
I2C 的时钟线
SCLK_4
I/O
SPI 的时钟脚
P3.3
I/O
标准 IO 口
INT1
I
外部中断 1
SDA_4
I/O
I2C 接口的数据线
MISO_4
I/O
SPI 主机输入从机输出
P3.4
I/O
标准 IO 口
T0
I
定时器 0 外部时钟输入
T1CLKO
O
定时器 1 时钟分频输出
MOSI_4
I/O
SPI 主机输出从机输入
CMPO
O
比较器输出
P3.5
I/O
标准 IO 口
T1
I
定时器 1 外部时钟输入
T0CLKO
O
定时器 0 时钟分频输出
SS_4
I
SPI 的从机选择脚(主机为输出)
P3.6
I/O
标准 IO 口
INT2
I
外部中断 2
WR_2
O
外部总线的写信号线
RxD_2
I
串口 1 的接收脚
CMP-
I
比较器负极输入
PDIP40
LQFP32
15
19
16
20
17
19
20
21
22
23
24
21
22
23
24
25
26
27
江苏国芯科技有限公司
研发顾问: 13922805190
名称
LQFP44
18
技术支持: 13922829991
13
14
15
16
17
18
19
说明
标准 IO 口
地线
标准 IO 口
标准 IO 口
串口 1 的发送脚
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 47 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP44
25
26
27
PDIP40
28
LQFP32
20
29
30
21
28
29
30
31
32
33
31
32
33
34
35
22
23
24
25
26
34
36
27
35
37
28
江苏国芯科技有限公司
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P3.7
I/O
标准 IO 口
INT3
I
外部中断 3
RD_2
O
外部总线的读信号线
TxD_2
O
串口 1 的发送脚
CMP+
I
比较器正极输入
P4.1
I/O
ALE
O
地址锁存信号
CMPO_2
O
比较器输出
P2.0
I/O
标准 IO 口
A8
I
地址总线
P4.2
I/O
标准 IO 口
RD_3
O
外部总线的读信号线
TxD2_2
O
串口 2 的发送脚
P2.1
I/O
标准 IO 口
A9
I
地址总线
P2.2
I/O
标准 IO 口
A10
I
地址总线
SS_2
I
SPI 的从机选择脚(主机为输出)
P2.3
I/O
标准 IO 口
A11
I
地址总线
MOSI_2
I/O
SPI 主机输出从机输入
P2.4
I/O
标准 IO 口
A12
I
地址总线
MISO_2
I/O
SPI 主机输入从机输出
SDA_2
I/O
I2C 接口的数据线
P2.5
I/O
标准 IO 口
A13
I
地址总线
SCLK_2
I/O
SPI 的时钟脚
SCL_2
I/O
I2C 的时钟线
P2.6
I/O
标准 IO 口
A14
I
地址总线
P2.7
I/O
标准 IO 口
A15
I
地址总线
标准 IO 口
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 48 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP44
36
37
38
PDIP40
38
39
40
LQFP32
29
30
31
39
40
41
42
43
44
1
1
32
2
3
4
5
6
江苏国芯科技有限公司
1
技术支持: 13922829991
名称
类型
P0.0
I/O
标准 IO 口
AD0
I
地址总线
RxD3
I
串口 3 的接收脚
P0.1
I/O
标准 IO 口
AD1
I
地址总线
TxD3
O
串口 3 的发送脚
P0.2
I/O
标准 IO 口
AD2
I
地址总线
RxD4
I
串口 4 的接收脚
P4.3
I/O
WR
O
外部总线的写信号线
RxD_4
I
串口 1 的接收脚
P0.3
I/O
标准 IO 口
AD3
I
地址总线
TxD4
O
串口 4 的发送脚
P0.4
I/O
标准 IO 口
AD4
I
地址总线
T3
I
定时器 3 外部时钟输入
P0.5
I/O
标准 IO 口
AD5
I
地址总线
T3CLKO
O
定时器 3 时钟分频输出
P0.6
I/O
标准 IO 口
AD6
I
地址总线
T4
I
定时器 4 外部时钟输入
P0.7
I/O
标准 IO 口
AD7
I
地址总线
T4CLKO
O
定时器 4 时钟分频输出
P1.0
I/O
RxD2
I
研发顾问: 13922805190
说明
标准 IO 口
标准 IO 口
串口 2 的接收脚
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 49 -
STC8 系列技术手册
3.2.4
官方网站: www.STCMCUDATA.com / www.STCMCU.com
LQFP44
PDIP40
LQFP32
2
7
2
4
5
8
9
10
3
4
5
6
7
8
9
11
12
13
6
7
8
名称
类型
说明
P1.1
I/O
TxD2
O
P1.2
I/O
SS
I
SPI 的从机选择脚(主机为输出)
T2
I
定时器 2 外部时钟输入
P1.3
I/O
标准 IO 口
MOSI
I/O
SPI 主机输出从机输入
T2CLKO
O
定时器 2 时钟分频输出
P1.4
I/O
标准 IO 口
MISO
I/O
SPI 主机输入从机输出
SDA
I/O
I2C 接口的数据线
P4.4
I/O
标准 IO 口
RD
O
外部总线的读信号线
TxD_4
O
串口 1 的发送脚
P1.5
I/O
标准 IO 口
SCLK
I/O
SPI 的时钟脚
SCL
I/O
I2C 的时钟线
P1.6
I/O
标准 IO 口
RxD_3
I
串口 1 的接收脚
XTALO
O
外部晶振的输出脚
MCLKO_2
O
主时钟分频输出
P1.7
I/O
TxD_3
O
串口 1 的发送脚
XTALI
I
外部晶振/外部时钟的输入脚
标准 IO 口
串口 2 的发送脚
标准 IO 口
标准 IO 口
10
14
P4.5
I/O
标准 IO 口
11
15
P4.6
I/O
标准 IO 口
12
16
P4.7
I/O
标准 IO 口
P5.4
I/O
标准 IO 口
13
17
RST
I
复位引脚
MCLKO
O
主时钟分频输出
Vcc
VCC
14
研发顾问: 13922805190
STC8F2K64S2 系列管脚说明
编号
3
技术支持: 13922829991
18
江苏国芯科技有限公司
9
10
总机: 0513-5501 2928/2929/2966
电源脚
传真: 0513-5501 2926/2956/2947
- 50 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
类型
11
P5.5
I/O
12
Gnd
GND
P4.0
I/O
WR_3
O
外部总线的写信号线
RxD2_2
I
串口 2 的接收脚
P3.0
I/O
RxD
I
串口 1 的接收脚
INT4
I
外部中断 4
P3.1
I/O
标准 IO 口
TxD
O
P3.2
I/O
标准 IO 口
INT0
I
外部中断 0
SCL_4
I/O
I2C 的时钟线
SCLK_4
I/O
SPI 的时钟脚
P3.3
I/O
标准 IO 口
INT1
I
外部中断 1
SDA_4
I/O
I2C 接口的数据线
MISO_4
I/O
SPI 主机输入从机输出
P3.4
I/O
标准 IO 口
T0
I
定时器 0 外部时钟输入
T1CLKO
O
定时器 1 时钟分频输出
MOSI_4
I/O
SPI 主机输出从机输入
CMPO
O
比较器输出
P3.5
I/O
标准 IO 口
T1
I
定时器 1 外部时钟输入
T0CLKO
O
定时器 0 时钟分频输出
SS_4
I
SPI 的从机选择脚(主机为输出)
P3.6
I/O
标准 IO 口
INT2
I
外部中断 2
WR_2
O
外部总线的写信号线
RxD_2
I
串口 1 的接收脚
CMP-
I
比较器负极输入
PDIP40
LQFP32
15
19
16
20
17
19
20
21
22
23
24
21
22
23
24
25
26
27
江苏国芯科技有限公司
研发顾问: 13922805190
名称
LQFP44
18
技术支持: 13922829991
13
14
15
16
17
18
19
说明
标准 IO 口
地线
标准 IO 口
标准 IO 口
串口 1 的发送脚
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 51 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP44
25
26
27
PDIP40
28
LQFP32
20
29
30
21
28
29
30
31
32
33
31
32
33
34
35
22
23
24
25
26
34
36
27
35
37
28
江苏国芯科技有限公司
技术支持: 13922829991
研发顾问: 13922805190
名称
类型
说明
P3.7
I/O
标准 IO 口
INT3
I
外部中断 3
RD_2
O
外部总线的读信号线
TxD_2
O
串口 1 的发送脚
CMP+
I
比较器正极输入
P4.1
I/O
ALE
O
地址锁存信号
CMPO_2
O
比较器输出
P2.0
I/O
标准 IO 口
A8
I
地址总线
P4.2
I/O
标准 IO 口
RD_3
O
外部总线的读信号线
TxD2_2
O
串口 2 的发送脚
P2.1
I/O
标准 IO 口
A9
I
地址总线
P2.2
I/O
标准 IO 口
A10
I
地址总线
SS_2
I
SPI 的从机选择脚(主机为输出)
P2.3
I/O
标准 IO 口
A11
I
地址总线
MOSI_2
I/O
SPI 主机输出从机输入
P2.4
I/O
标准 IO 口
A12
I
地址总线
MISO_2
I/O
SPI 主机输入从机输出
SDA_2
I/O
I2C 接口的数据线
P2.5
I/O
标准 IO 口
A13
I
地址总线
SCLK_2
I/O
SPI 的时钟脚
SCL_2
I/O
I2C 的时钟线
P2.6
I/O
标准 IO 口
A14
I
地址总线
P2.7
I/O
标准 IO 口
A15
I
地址总线
标准 IO 口
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 52 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
编号
LQFP44
PDIP40
LQFP32
36
38
29
37
39
30
38
40
31
39
40
41
42
43
44
1
1
32
2
3
4
5
6
江苏国芯科技有限公司
1
技术支持: 13922829991
名称
类型
P0.0
I/O
标准 IO 口
AD0
I
地址总线
P0.1
I/O
标准 IO 口
AD1
I
地址总线
P0.2
I/O
标准 IO 口
AD2
I
地址总线
P4.3
I/O
标准 IO 口
WR
O
P0.3
I/O
标准 IO 口
AD3
I
地址总线
P0.4
I/O
标准 IO 口
AD4
I
地址总线
T3
I
定时器 3 外部时钟输入
P0.5
I/O
标准 IO 口
AD5
I
地址总线
T3CLKO
O
定时器 3 时钟分频输出
P0.6
I/O
标准 IO 口
AD6
I
地址总线
T4
I
定时器 4 外部时钟输入
P0.7
I/O
标准 IO 口
AD7
I
地址总线
T4CLKO
O
定时器 4 时钟分频输出
P1.0
I/O
RxD2
I
研发顾问: 13922805190
说明
外部总线的写信号线
标准 IO 口
串口 2 的接收脚
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 53 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
3.3 功能脚切换
STC8 系列单片机的特殊外设串口 1、串口 2、串口 3、串口 4、SPI、PCA、PWM、I2C 以及总线控
制脚可以在多个 I/O 直接进行切换,以实现一个外设当作多个设备进行分时复用。
3.3.1
功能脚切换相关寄存器
位地址与符号
符号
描述
地址
复位值
B7
B6
BUS_SPEED
总线速度控制寄存器
A1H
RW_S[1:0]
P_SW1
外设端口切换寄存器 1
A2H
S1_S[1:0]
P_SW2
外设端口切换寄存器 2
BAH
符号
描述
地址
EAXFR
B5
B4
B3
CCP_S[1:0]
CAN_S
B2
CMPO_S
B0
SPEED[1:0]
00xx,xx00
0
-
nn00,000x
S4_S
S3_S
S2_S
0x00,0000
B2
B1
SPI_S[1:0]
I2C_S[1:0]
B1
位地址与符号
复位值
B7
B6
B5
B4
B3
B0
PWM0CR
PWM0 控制寄存器
FF04H
ENC0O
C0INI
-
C0_S[1:0]
EC0I
EC0T2SI EC0T1SI 00x0,0000
PWM1CR
PWM1 控制寄存器
FF14H
ENC1O
C1INI
-
C1_S[1:0]
EC1I
EC1T2SI EC1T1SI 00x0,0000
PWM2CR
PWM2 控制寄存器
FF24H
ENC2O
C2INI
-
C2_S[1:0]
EC2I
EC2T2SI EC2T1SI 00x0,0000
PWM3CR
PWM3 控制寄存器
FF34H
ENC3O
C3INI
-
C3_S[1:0]
EC3I
EC3T2SI EC3T1SI 00x0,0000
PWM4CR
PWM4 控制寄存器
FF44H
ENC4O
C4INI
-
C4_S[1:0]
EC4I
EC4T2SI EC4T1SI 00x0,0000
PWM5CR
PWM5 控制寄存器
FF54H
ENC5O
C5INI
-
C5_S[1:0]
EC5I
EC5T2SI EC5T1SI 00x0,0000
PWM6CR
PWM6 控制寄存器
FF64H
ENC6O
C6INI
-
C6_S[1:0]
EC6I
EC6T2SI EC6T1SI 00x0,0000
PWM7CR
PWM7 控制寄存器
FF74H
ENC7O
C7INI
-
C7_S[1:0]
EC7I
EC7T2SI EC7T1SI 00x0,0000
CKSEL
时钟选择寄存器
FE00H
MCLKODIV[3:0]
MCLKO_S
-
MCKSEL[1:0]
B2
B1
0000,0000
总线速度控制寄存器
符号
地址
BUS_SPEED
A1H
B7
B6
B5
B4
B3
RW_S[1:0]
B0
SPEED[1:0]
RW_S[1:0]:外部总线 RD/WR 控制线选择位
RW_S[1:0]
RD
WR
00
P4.4
P4.3
01
P3.7
P3.6
10
P4.2
P4.0
11
保留
外设端口切换控制寄存器 1
符号
地址
P_SW1
A2H
B7
B6
S1_S[1:0]
B5
B4
CCP_S[1:0]
B3
SPI_S[1:0]
B2
B1
B0
0
-
S1_S[1:0]:串口 1 功能脚选择位
S1_S[1:0]
RxD
TxD
00
P3.0
P3.1
01
P3.6
P3.7
10
P1.6
P1.7
11
P4.3
P4.4
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 54 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
CCP_S[1:0]:PCA 功能脚选择位
CCP_S[1:0]
ECI
CCP0
CCP1
CCP2
CCP3
00
P1.2
P1.7
P1.6
P1.5
P1.4
01
P2.2
P2.3
P2.4
P2.5
P2.6
10
P7.4
P7.0
P7.1
P7.2
P7.3
11
P3.5
P3.3
P3.2
P3.1
P3.0
SPI_S[1:0]:SPI 功能脚选择位
SPI_S[1:0]
SS
MOSI
MISO
SCLK
00
P1.2
P1.3
P1.4
P1.5
01
P2.2
P2.3
P2.4
P2.5
10
P7.4
P7.5
P7.6
P7.7
11
P3.5
P3.4
P3.3
P3.2
外设端口切换控制寄存器 2
符号
P_SW2
地址
B7
B6
BAH
EAXFR
CAN_S
B5
B4
I2C_S[1:0]
B3
B2
B1
B0
CMPO_S
S4_S
S3_S
S2_S
B3
B2
B1
B0
MCLKO_S
-
2
I2C_S[1:0]:I C 功能脚选择位
I2C_S[1:0]
SCL
SDA
00
P1.5
P1.4
01
P2.5
P2.4
10
P7.7
P7.6
11
P3.2
P3.3
CMPO_S:比较器输出脚选择位
CMPO_S
CMPO
0
P3.4
1
P4.1
S4_S:串口 4 功能脚选择位
S4_S
RxD4
TxD4
0
P0.2
P0.3
1
P5.2
P5.3
S3_S:串口 3 功能脚选择位
S3_S
RxD3
TxD3
0
P0.0
P0.1
1
P5.0
P5.1
S2_S:串口 2 功能脚选择位
S2_S
RxD2
TxD2
0
P1.0
P1.1
1
P4.0
P4.2
时钟选择寄存器
符号
地址
CKSEL
FE00H
江苏国芯科技有限公司
B7
B6
B5
B4
MCLKODIV[3:0]
总机: 0513-5501 2928/2929/2966
MCKSEL[1:0]
传真: 0513-5501 2926/2956/2947
- 55 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
MCLKO_S:主时钟输出脚选择位
MCLKO_S
MCLKO
0
P5.4
1
P1.6
增强型 PWM 控制寄存器
符号
地址
B7
B6
B5
PWM0CR
FF04H
ENC0O
C0INI
-
PWM1CR
FF14H
ENC1O
C1INI
PWM2CR
FF24H
ENC2O
PWM3CR
FF34H
PWM4CR
B4
B3
B2
B1
B0
C0_S[1:0]
EC0I
EC0T2SI
EC0T1SI
-
C1_S[1:0]
EC1I
EC1T2SI
EC1T1SI
C2INI
-
C2_S[1:0]
EC2I
EC2T2SI
EC2T1SI
ENC3O
C3INI
-
C3_S[1:0]
EC3I
EC3T2SI
EC3T1SI
FF44H
ENC4O
C4INI
-
C4_S[1:0]
EC4I
EC4T2SI
EC4T1SI
PWM5CR
FF54H
ENC5O
C5INI
-
C5_S[1:0]
EC5I
EC5T2SI
EC5T1SI
PWM6CR
FF64H
ENC6O
C6INI
-
C6_S[1:0]
EC6I
EC6T2SI
EC6T1SI
PWM7CR
FF74H
ENC7O
C7INI
-
C7_S[1:0]
EC7I
EC7T2SI
EC7T1SI
C0_S[1:0]:增强型 PWM 通道 0 输出脚选择位
C0_S[1:0]
PWM0
00
P2.0
01
P1.0
10
P6.0
11
保留
C1_S[1:0]:增强型 PWM 通道 1 输出脚选择位
C1_S[1:0]
PWM1
00
P2.1
01
P1.1
10
P6.1
11
保留
C2_S[1:0]:增强型 PWM 通道 2 输出脚选择位
C2_S[1:0]
PWM2
00
P2.2
01
P1.2
10
P6.2
11
保留
C3_S[1:0]:增强型 PWM 通道 3 输出脚选择位
C3_S[1:0]
PWM3
00
P2.3
01
P1.3
10
P6.3
11
保留
C4_S[1:0]:增强型 PWM 通道 4 输出脚选择位
C4_S[1:0]
PWM4
00
P2.4
01
P1.4
10
P6.4
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 56 -
STC8 系列技术手册
11
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
保留
C5_S[1:0]:增强型 PWM 通道 5 输出脚选择位
C5_S[1:0]
PWM5
00
P2.5
01
P1.5
10
P6.5
11
保留
C6_S[1:0]:增强型 PWM 通道 6 输出脚选择位
C6_S[1:0]
PWM6
00
P2.6
01
P1.6
10
P6.6
11
保留
C7_S[1:0]:增强型 PWM 通道 7 输出脚选择位
C7_S[1:0]
PWM7
00
P2.7
01
P1.7
10
P6.7
11
保留
3.4 范例程序
串口 1 切换
3.4.1
汇编代码
P_SW1
DATA
0A2H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
MOV
MOV
P_SW1,#00H
P_SW1,#40H
P_SW1,#80H
P_SW1,#0C0H
SJMP
$
MAIN:
;
;
;
;RXD/P3.0, TXD/P3.1
;RXD_2/P3.6, TXD_2/P3.7
;RXD_3/P1.6, TXD_3/P1.7
;RXD_4/P4.3, TXD_4/P4.4
END
C 语言代码
#include "reg51.h"
sfr P_SW1 = 0xa2;
void main()
{
P_SW1 = 0x00;
江苏国芯科技有限公司
//RXD/P3.0, TXD/P3.1
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 57 -
STC8 系列技术手册
//
//
//
官方网站: www.STCMCUDATA.com / www.STCMCU.com
P_SW1 = 0x40;
P_SW1 = 0x80;
P_SW1 = 0xc0;
技术支持: 13922829991
研发顾问: 13922805190
//RXD_2/P3.6, TXD_2/P3.7
//RXD_3/P1.6, TXD_3/P1.7
//RXD_4/P4.3, TXD_4/P4.4
while (1);
}
串口 2 切换
3.4.2
汇编代码
P_SW2
DATA
0BAH
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
P_SW2,#00H
P_SW2,#01H
SJMP
$
MAIN:
;
;RXD2/P1.0, TXD2/P1.1
;RXD2_2/P4.0, TXD2_2/P4.2
END
C 语言代码
#include "reg51.h"
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x00;
//
P_SW2 = 0x01;
//RXD2/P1.0, TXD2/P1.1
//RXD2_2/P4.0, TXD2_2/P4.2
while (1);
}
串口 3 切换
3.4.3
汇编代码
P_SW2
DATA
0BAH
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
P_SW2,#00H
P_SW2,#02H
SJMP
$
MAIN:
;
江苏国芯科技有限公司
;RXD3/P0.0, TXD3/P0.1
;RXD3_2/P5.0, TXD3_2/P5.1
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 58 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
END
C 语言代码
#include "reg51.h"
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x00;
//
P_SW2 = 0x02;
// RXD3/P0.0, TXD3/P0.1
// RXD3_2/P5.0, TXD3_2/P5.1
while (1);
}
串口 4 切换
3.4.4
汇编代码
P_SW2
DATA
0BAH
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
P_SW2,#00H
P_SW2,#04H
SJMP
$
MAIN:
;
;RXD4/P0.2, TXD4/P0.3
;RXD4_2/P5.2, TXD4_2/P5.3
END
C 语言代码
#include "reg51.h"
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x00;
//
P_SW2 = 0x04;
//RXD4/P0.2, TXD4/P0.3
//RXD4_2/P5.2, TXD4_2/P5.3
while (1);
}
3.4.5
SPI切换
汇编代码
P_SW1
DATA
0A2H
ORG
0000H
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 59 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
LJMP
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
MOV
MOV
P_SW1,#00H
P_SW1,#04H
P_SW1,#08H
P_SW1,#0CH
SJMP
$
技术支持: 13922829991
研发顾问: 13922805190
MAIN:
;
;
;
;SS/P1.2, MOSI/P1.3, MISO/P1.4, SCLK/P1.5
;SS_2/P2.2, MOSI_2/P2.3, MISO_2/P2.4, SCLK_2/P2.5
;SS_3/P7.4, MOSI_3/P7.5, MISO_3/P7.6, SCLK_3/P7.7
;SS_4/P3.5, MOSI_4/P3.4, MISO_4/P3.3, SCLK_4/P3.2
END
C 语言代码
#include "reg51.h"
sfr P_SW1 = 0xa2;
void main()
{
P_SW1 = 0x00;
//
P_SW1 = 0x04;
//
P_SW1 = 0x08;
//
P_SW1 = 0x0c;
//SS/P1.2, MOSI/P1.3, MISO/P1.4, SCLK/P1.5
//SS_2/P2.2, MOSI_2/P2.3, MISO_2/P2.4, SCLK_2/P2.5
//SS_3/P7.4, MOSI_3/P7.5, MISO_3/P7.6, SCLK_3/P7.7
//SS_4/P3.5, MOSI_4/P3.4, MISO_4/P3.3, SCLK_4/P3.2
while (1);
}
3.4.6
PWM切换
汇编代码
P_SW2
PWM0CR
PWM1CR
PWM2CR
PWM3CR
PWM4CR
PWM5CR
PWM6CR
PWM7CR
DATA
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
0BAH
0FF04H
0FF14H
0FF24H
0FF34H
0FF44H
0FF54H
0FF64H
0FF74H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
MOV
MOV
MOV
MOVX
MOV
P_SW2,#80H
A,#00H
A,#08H
A,#10H
DPTR,#PWM0CR
@DPTR,A
A,#00H
MAIN:
;
;
江苏国芯科技有限公司
;PWM0/P2.0
;PWM0_2/P1.0
;PWM0_3/P6.0
;PWM1/P2.1
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 60 -
STC8 系列技术手册
;
;
;
;
;
;
;
;
;
;
;
;
;
;
官方网站: www.STCMCUDATA.com / www.STCMCU.com
MOV
MOV
MOV
MOVX
MOV
MOV
MOV
MOV
MOVX
MOV
MOV
MOV
MOV
MOVX
MOV
MOV
MOV
MOV
MOVX
MOV
MOV
MOV
MOV
MOVX
MOV
MOV
MOV
MOV
MOVX
MOV
MOV
MOV
MOV
MOVX
MOV
A,#08H
A,#10H
DPTR,#PWM1CR
@DPTR,A
A,#00H
A,#08H
A,#10H
DPTR,#PWM2CR
@DPTR,A
A,#00H
A,#08H
A,#10H
DPTR,#PWM3CR
@DPTR,A
A,#00H
A,#08H
A,#10H
DPTR,#PWM4CR
@DPTR,A
A,#00H
A,#08H
A,#10H
DPTR,#PWM5CR
@DPTR,A
A,#00H
A,#08H
A,#10H
DPTR,#PWM6CR
@DPTR,A
A,#00H
A,#08H
A,#10H
DPTR,#PWM7CR
@DPTR,A
P_SW2,#00H
SJMP
$
技术支持: 13922829991
研发顾问: 13922805190
;PWM1_2/P1.1
;PWM1_3/P6.1
;PWM2/P2.2
;PWM2_2/P1.2
;PWM2_3/P6.2
;PWM3/P2.3
;PWM3_2/P1.3
;PWM3_3/P6.3
;PWM4/P2.4
;PWM4_2/P1.4
;PWM4_3/P6.4
;PWM5/P2.5
;PWM5_2/P1.5
;PWM5_3/P6.5
;PWM6/P2.6
;PWM6_2/P1.6
;PWM6_3/P6.6
;PWM7/P2.7
;PWM7_2/P1.7
;PWM7_3/P6.7
END
C 语言代码
#include "reg51.h"
#define PWM0CR
#define PWM1CR
#define PWM2CR
#define PWM3CR
#define PWM4CR
#define PWM5CR
#define PWM6CR
#define PWM7CR
(*(unsigned char volatile xdata *)0xff04)
(*(unsigned char volatile xdata *)0xff14)
(*(unsigned char volatile xdata *)0xff24)
(*(unsigned char volatile xdata *)0xff34)
(*(unsigned char volatile xdata *)0xff44)
(*(unsigned char volatile xdata *)0xff54)
(*(unsigned char volatile xdata *)0xff64)
(*(unsigned char volatile xdata *)0xff74)
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x80;
PWM0CR = 0x00;
江苏国芯科技有限公司
//PWM0/P2.0
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 61 -
STC8 系列技术手册
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
官方网站: www.STCMCUDATA.com / www.STCMCU.com
PWM0CR = 0x08;
PWM0CR = 0x10;
PWM1CR = 0x00;
PWM1CR = 0x08;
PWM1CR = 0x10;
PWM2CR = 0x00;
PWM2CR = 0x08;
PWM2CR = 0x10;
PWM3CR = 0x00;
PWM3CR = 0x08;
PWM3CR = 0x10;
PWM4CR = 0x00;
PWM4CR = 0x08;
PWM4CR = 0x10;
PWM5CR = 0x00;
PWM5CR = 0x08;
PWM5CR = 0x10;
PWM6CR = 0x00;
PWM6CR = 0x08;
PWM6CR = 0x10;
PWM7CR = 0x00;
PWM7CR = 0x08;
PWM7CR = 0x10;
P_SW2 = 0x00;
技术支持: 13922829991
研发顾问: 13922805190
//PWM0_2/P1.0
//PWM0_3/P6.0
//PWM1/P2.1
//PWM1_2/P1.1
//PWM1_3/P6.1
//PWM2/P2.2
//PWM2_2/P1.2
//PWM2_3/P6.2
//PWM3/P2.3
//PWM3_2/P1.3
//PWM3_3/P6.3
//PWM4/P2.4
//PWM4_2/P1.4
//PWM4_3/P6.4
//PWM5/P2.5
//PWM5_2/P1.5
//PWM5_3/P6.5
//PWM6/P2.6
//PWM6_2/P1.6
//PWM6_3/P6.6
//PWM7/P2.7
//PWM7_2/P1.7
//PWM7_3/P6.7
while (1);
}
3.4.7
PCA/CCP/PWM切换
汇编代码
P_SW1
DATA
0A2H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
MOV
MOV
P_SW1,#00H
P_SW1,#10H
P_SW1,#20H
P_SW1,#30H
SJMP
$
MAIN:
;
;
;
;ECI/P1.2, CCP0/P1.7, CCP1/P1.6, CCP2/P1.5,CCP3/P1.4
;ECI_2/P2.2, CCP0_2/P2.3, CCP1_2/P2.4, CCP2_2/P2.5,CCP3_2/P2.6
;ECI_3/P7.4, CCP0_3/P7.0, CCP1_3/P7.1, CCP2_3/P7.2,CCP3_3/P7.3
;ECI_4/P3.5, CCP0_4/P3.3, CCP1_4/P3.2, CCP2_4/P3.1,CCP3_4/P3.0
END
C 语言代码
#include "reg51.h"
sfr P_SW1 = 0xa2;
void main()
{
P_SW1 = 0x00;
江苏国芯科技有限公司
//ECI/P1.2, CCP0/P1.7, CCP1/P1.6, CCP2/P1.5,CCP3/P1.4
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 62 -
STC8 系列技术手册
//
//
//
官方网站: www.STCMCUDATA.com / www.STCMCU.com
P_SW1 = 0x10;
P_SW1 = 0x20;
P_SW1 = 0x30;
技术支持: 13922829991
研发顾问: 13922805190
//ECI_2/P2.2, CCP0_2/P2.3, CCP1_2/P2.4, CCP2_2/P2.5,CCP3_2/P2.6
//ECI_3/P7.4, CCP0_3/P7.0, CCP1_3/P7.1, CCP2_3/P7.2,CCP3_3/P7.3
//ECI_4/P3.5, CCP0_4/P3.3, CCP1_4/P3.2, CCP2_4/P3.1,CCP3_4/P3.0
while (1);
}
3.4.8
I2C切换
汇编代码
P_SW2
DATA
0BAH
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
MOV
MOV
P_SW2,#00H
P_SW2,#10H
P_SW2,#20H
P_SW2,#30H
SJMP
$
MAIN:
;
;
;
;SCL/P1.5, SDA/P1.4
;SCL_2/P2.5, SDA_2/P2.4
;SCL_3/P7.7, SDA_3/P7.6
;SCL_4/P3.2, SDA_4/P3.3
END
C 语言代码
#include "reg51.h"
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x00;
//
P_SW2 = 0x10;
//
P_SW2 = 0x20;
//
P_SW2 = 0x30;
//SCL/P1.5, SDA/P1.4
//SCL_2/P2.5, SDA_2/P2.4
//SCL_3/P7.7, SDA_3/P7.6
//SCL_4/P3.2, SDA_4/P3.3
while (1);
}
比较器输出切换
3.4.9
汇编代码
P_SW2
DATA
0BAH
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MAIN:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 63 -
STC8 系列技术手册
;
官方网站: www.STCMCUDATA.com / www.STCMCU.com
MOV
MOV
P_SW2,#00H
P_SW2,#08H
SJMP
$
技术支持: 13922829991
研发顾问: 13922805190
;CMPO/P3.4
;CMPO_2/P4.1
END
C 语言代码
#include "reg51.h"
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x00;
//
P_SW2 = 0x08;
//CMPO/P3.4
//CMPO_2/P4.1
while (1);
}
3.4.10 主时钟输出切换
汇编代码
P_SW2
CKSEL
DATA
EQU
0BAH
0FE00H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP, #3FH
MOV
MOV
MOV
MOV
MOV
MOVX
MOV
P_SW2,#80H
A,#40H
A,#48H
A,#0E8H
DPTR,#CKSEL
@DPTR,A
P_SW2,#00H
SJMP
$
MAIN:
;
;
;IRC24M/4 output via MCLKO/P5.4
;IRC24M/4 output via MCLKO_2/P1.6
;IRC24M/128 output via MCLKO_2/P1.6
END
C 语言代码
#include "reg51.h"
#define CKSEL
(*(unsigned char volatile xdata *)0xfe00)
sfr P_SW2 = 0xba;
void main()
{
P_SW2 = 0x80;
CKSEL = 0x40;
江苏国芯科技有限公司
//IRC24M/4 output via MCLKO/P5.4
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 64 -
STC8 系列技术手册
//
//
官方网站: www.STCMCUDATA.com / www.STCMCU.com
CKSEL = 0x48;
CKSEL = 0xe8;
P_SW2 = 0x00;
技术支持: 13922829991
研发顾问: 13922805190
//IRC24M/4 output via MCLKO_2/P1.6
//IRC24M/128 output via MCLKO_2/P1.6
while (1);
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 65 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4 封装尺寸图
4.1 LQFP64S封装尺寸图(12mm*12mm)
A
D (12mm)
A2
D1 (10mm)
48
A3
33
49
32
E1 (10mm)
E (12mm)
TOP E-MARK 2-Φ1.8±0.1 DEPTH 0.1±0.05
BTM E-MARK 2-Φ1.8±0.1 DEPTH 0.1±0.05
INDEX Φ1.2±0.1 DEPTH 0.2±0.1
64
17
1
正看芯片丝印左下方小圆点处为第一脚
SYMBOL
A
A1
A2
A3
b
b1
c
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
S
?
?1
?2
?3
江苏国芯科技有限公司
16
e (0.5mm)
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.18
0.17
0.20
0.13
0.12
0.127
11.80
12.00
9.90
10.00
11.80
12.00
9.90
10.00
0.50BSC
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
0.20
0°
3.5°
0°
11°
12°
11°
12°
A1
b
R1
MAX
1.60
0.15
1.45
0.69
0.27
0.23
0.18
0.134
12.20
10.10
12.20
10.10
R2
总机: 0513-5501 2928/2929/2966
?3
?
L2
L1
L
S
b
0.75
0.20
7°
13°
13°
?2
?1
b1
c
c1
(A-A的截面图)
传真: 0513-5501 2926/2956/2947
- 66 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.2 LQFP64L封装尺寸图(16mm*16mm)
STC8 系列暂无此封装
A
D (16mm)
A2
D1 (14mm)
48
A3
33
49
32
E1 (14mm)
E (16mm)
TOP E-MARK 2-Φ1.8±0.1 DEPTH 0.1±0.05
BTM E-MARK 2-Φ1.8±0.1 DEPTH 0.1±0.05
INDEX Φ1.2±0.1 DEPTH 0.2±0.1
64
17
1
正看芯片丝印左下方小圆点处为第一脚
SYMBOL
A
A1
A2
A3
b
b1
c
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
S
?
?1
?2
?3
江苏国芯科技有限公司
16
e (0.8mm)
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.31
0.30
0.35
0.13
0.12
0.127
15.80
16.00
13.90
14.00
15.80
16.00
13.90
14.00
0.70
0.80
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
0.20
0°
3.5°
0°
11°
12°
11°
12°
A1
b
R1
MAX
1.60
0.15
1.45
0.69
0.44
0.40
0.18
0.134
16.20
14.10
16.20
14.10
0.90
0.75
0.20
7°
13°
13°
总机: 0513-5501 2928/2929/2966
?2
?1
R2
?
L2
?3
L1
L
S
b
b1
c
c1
(A-A的截面图)
传真: 0513-5501 2926/2956/2947
- 67 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.3 LQFP48 封装尺寸图(9mm*9mm)
D (9mm)
D1 (7mm)
25
37
24
48
13
E1 (7mm)
E (9mm)
36
1
12
SYMBOL
A
A1
A2
A3
b
b1
c
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
S
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.18
0.30
0.35
0.13
0.12
0.127
8.80
9.00
6.90
7.00
8.80
9.00
6.90
7.00
0.45
0.50
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
0.20
-
MAX
1.60
0.15
1.45
0.69
0.27
0.40
0.18
0.134
9.20
7.10
9.20
7.10
0.55
0.75
0.20
-
正看芯片丝印左下方小圆点处为第一脚
e (0.5mm)
b
A
A2
A3
R1
A1
R2
L2
L
b
b1
c
L1
c1
(A-A的截面图)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 68 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
D (9mm)
D1 (7mm)
25
37
24
48
13
E1 (7mm)
E (9mm)
36
1
12
SYMBOL
A
A1
A2
A3
b
b1
c
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
S
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.18
0.30
0.35
0.13
0.12
0.127
8.80
9.00
6.90
7.00
8.80
9.00
6.90
7.00
0.45
0.50
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
0.20
-
MAX
1.60
0.15
1.45
0.69
0.27
0.40
0.18
0.134
9.20
7.10
9.20
7.10
0.55
0.75
0.20
-
正看芯片丝印左下方小圆点处为第一脚
b
R1
A2
A3
R2
A1
A
e (0.5mm)
L2
L
b
b1
c
L1
c1
(A-A的截面图)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 69 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
D (9mm)
D1 (7mm)
25
37
24
48
13
E1 (7mm)
E (9mm)
36
1
12
SYMBOL
A
A1
A2
A3
b
b1
c
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
S
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.18
0.30
0.35
0.13
0.12
0.127
8.80
9.00
6.90
7.00
8.80
9.00
6.90
7.00
0.45
0.50
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
0.20
-
MAX
1.60
0.15
1.45
0.69
0.27
0.40
0.18
0.134
9.20
7.10
9.20
7.10
0.55
0.75
0.20
-
正看芯片丝印左下方小圆点处为第一脚
b
A3
R1
R2
A1
A
A2
e (0.5mm)
L2
L
b
b1
c
L1
c1
(A-A的截面图)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 70 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.4 LQFP44 封装尺寸图(12mm*12mm)
D (12mm)
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.25
0.30
0.09
11.80
12.00
9.90
10.00
11.80
12.00
9.90
10.00
0.70
0.80
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
-
D1 (10mm)
23
34
22
44
12
E1 (10mm)
E (12mm)
33
1
SYMBOL
A
A1
A2
A3
b
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
MAX
1.60
0.15
1.45
0.69
0.35
0.16
12.20
10.10
12.20
10.10
0.90
0.75
0.20
11
正看芯片丝印左下方小圆点处为第一脚
e (0.80mm)
R1
b(0.30mm)
L2
A1
A
A2
A3
c1
R2
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
?
L
L1
传真: 0513-5501 2926/2956/2947
- 71 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
D (12mm)
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.25
0.30
0.09
11.80
12.00
9.90
10.00
11.80
12.00
9.90
10.00
0.70
0.80
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
-
D1 (10mm)
23
34
22
44
12
E1 (10mm)
E (12mm)
33
1
SYMBOL
A
A1
A2
A3
b
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
MAX
1.60
0.15
1.45
0.69
0.35
0.16
12.20
10.10
12.20
10.10
0.90
0.75
0.20
11
正看芯片丝印左下方小圆点处为第一脚
e (0.80mm)
R1
b(0.30mm)
L2
A1
A
A2
A3
c1
R2
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
?
L
L1
传真: 0513-5501 2926/2956/2947
- 72 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
D (12mm)
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
1.35
1.40
0.59
0.64
0.25
0.30
0.09
11.80
12.00
9.90
10.00
11.80
12.00
9.90
10.00
0.70
0.80
0.45
0.60
1.00REF
0.25BSC
0.08
0.08
-
D1 (10mm)
23
34
22
44
12
E1 (10mm)
E (12mm)
33
1
SYMBOL
A
A1
A2
A3
b
c1
D
D1
E
E1
e
L
L1
L2
R1
R2
MAX
1.60
0.15
1.45
0.69
0.35
0.16
12.20
10.10
12.20
10.10
0.90
0.75
0.20
11
正看芯片丝印左下方小圆点处为第一脚
e (0.80mm)
R1
b(0.30mm)
A
A2
A3
c1
R2
A1
L2
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
?
L
L1
传真: 0513-5501 2926/2956/2947
- 73 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.5 LQFP32 封装尺寸图(9mm*9mm)
D (9mm)
D1 (7mm)
17
25
16
32
9
SYMBOL
A
A1
A2
A3
b
b1
c
D
D1
E
E1
e
L
L
L1
R
R1
E1 (7mm)
E (9mm)
24
1
8
e (0.80mm) b(0.30mm)
?
一般尺寸
测量单位:毫米/mm
MIN
TYP
1.45
1.55
0.01
1.35
1.40
0.254
0.30
0.35
0.31
0.37
0.127
8.80
9.00
6.90
7.00
8.80
9.00
6.90
7.00
0.70
0.80
0.43
1.00REF
0.25BSC
0.1
0.1
0°
-
MAX
1.65
0.21
1.45
0.40
0.43
9.20
7.10
9.20
7.10
0.90
0.71
0.25
10°
正看芯片丝印左下方小圆点处为第一脚
(A-A的截面图)
R1
R
A3
A2
b1
b
?
L
A1
A
c
L1
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 74 -
STC8 系列技术手册
4.6
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
QFN32 封装尺寸图(4mm*4mm)
D (4mm)
32
19
1
SYMBOL
A
A1
A2
A3
b
D
E
D2
E2
e
L
K
R
C1
18
E (4mm)
PIN 1
8
17
9
16
K
27
C2
32
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.70
0.75
0
0.02
0.50
0.55
0.20REF
0.15
0.20
3.90
4.00
3.90
4.00
2.60
2.70
2.60
2.70
0.30
0.40
0.35
0.40
0.25REF
0.09
0.16
0.16
MAX
0.80
0.05
0.60
0.25
4.10
4.10
2.80
2.80
0.50
0.45
-
L
e(0.4mm)
1
E2
R
b(0.20mm)
江苏国芯科技有限公司
12
C1
A3
7
17
A1
A
D2
C2
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 75 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.7 PDIP40 封装尺寸图
D (2060mil)
1
20
A1
L
A
A2
C
E (600mil)
E1 (545mil)
21
e? (650mil)
?°
40
e (100mil)
b
b1
SYMBOL
A
A1
A2
b
b1
C
D
E
E1
e?
L
?
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
一般尺寸
测量单位:米尔/mil
MIN
TYP
15
150
155
45
15
8
2025
2060
600 BSC
540
545
630
650
120
130
0°
7°
MAX
190
20
160
67
21
15
2070
传真: 0513-5501 2926/2956/2947
550
690
140
15°
- 76 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.8 TSSOP20 封装尺寸图
D (6.5mm)
11
SYMBOL
A
A1
A2
A3
b
D
E
E1
e
L
L1
L2
R1
R2
E1 (4.4mm)
E (6.5mm)
20
1
10
e (0.65mm)
MAX
1.20
0.15
1.05
0.54
0.28
6.60
6.60
4.50
0.75
-
R1
A3
R
b(0.24mm)
A1
A
A2
一般尺寸
测量单位:毫米/mm
MIN
TYP
0.05
0.90
1.00
0.34
0.44
0.20
0.24
6.40
6.50
6.20
6.50
4.30
4.40
0.65BSC
0.45
0.60
1.00REF
0.25BSC
0.09
0.09
-
L2
?
L
L1
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 77 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
4.9 SOP16 封装尺寸图
16
9
1
8
e (1.27mm)
MAX
1.75
0.25
1.65
0.75
0.45
10.00
6.20
4.00
0.80
-
R1
A3
R
b(0.40mm)
A1
A
A2
一般尺寸
测量单位:毫米/mm
MIN
TYP
1.35
1.60
0.10
0.15
1.25
1.45
0.55
0.65
0.35
0.40
9.80
9.90
5.80
6.00
3.80
3.90
1.27BSC
0.45
0.60
1.04REF
0.25BSC
0.07
0.07
-
SYMBOL
A
A1
A2
A3
b
D
E
E1
e
L
L1
L2
R1
R2
E1 (3.9mm)
E (6.0mm)
D (9.9mm)
L2
?
L
L1
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 78 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
5 STC8 系列单片机选型价格一览表
年新品供货信息
2017
2.0-5.5 8K 2K
2
4K 18
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥1.2 1.15
STC8F2K16S2
2.0-5.5 16K 2K
2
4K 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥1.8 ¥1.6 1.65 ¥1.4 1.35
STC8F2K32S2
2.0-5.5 32K 2K
2 32K 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
1.99 ¥1.8 1.85
STC8F2K60S2
2.0-5.5 60K 2K
2
4K 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥2.2 ¥2.0
STC8F2K64S2
2.0-5.5 64K 2K
2
IAP 42
2
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥2.2 ¥2.0
STC8F2K16S4
2.0-5.5 16K 2K
2 48K 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥2.7 ¥2.6
STC8F2K32S4
2.0-5.5 32K 2K
2 32K 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥2.8 ¥2.7
STC8F2K60S4
2.0-5.5 60K 2K
2
4K 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥2.9 ¥2.8
STC8F2K64S4
2.0-5.5 64K 2K
2
IAP 42
4
有
有
5
-
-
-
有
-
有
有
有 4级 有
是
有
是
是
是
是
¥2.9 ¥2.8
STC8A4K16S2A12 2.0-5.5 16K 4K
2 48K 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.1
¥2.9
¥2.9
STC8A4K32S2A12 2.0-5.5 32K 4K
2 32K 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.3
¥3.0
¥3.0
STC8A4K60S2A12 2.0-5.5 60K 4K
2
4K 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.6
¥3.2
¥3.2
STC8A4K64S2A12 2.0-5.5 64K 4K
2
IAP 59
2
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.6
¥3.2
¥3.2
STC8A8K16S4A12 2.0-5.5 16K 8K
2 48K 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.4
¥3.2
¥3.2
STC8A8K32S4A12 2.0-5.5 32K 8K
2 32K 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.6
¥3.3
¥3.3
STC8A8K60S4A12 2.0-5.5 60K 8K
2
4K 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.8
¥3.4
¥3.4
STC8A8K64S4A12 2.0-5.5 64K 8K
2
IAP 59
4
有
有
5
-
8
4
有 12 位 有
有
有 4级 有
是
有
是
是
是
是 ¥3.8
¥3.4
¥3.4
STC8H1K64S2A10 1.7-5.5 64K 1K
2
IAP 45
2
有
有
4
4
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是
¥2.3
¥2.1
STC8H1K32S2A10 1.7-5.5 32K 1K
2
1K 45
2
有
有
4
4
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是
¥1.9
¥1.6
STC8H1K16S2A10 1.7-5.5 16K 1K
2
9K 45
2
有
有
4
4
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是
¥1.7
¥1.4
有
有 4级 有
是
有
是
是
是
是
¥1.1 1.05
0.95 ¥0.9
SOP8
STC8F2K08S2
大
量
供
货
大
量
供
货
大
量
供
货
大
量
供
货
1
月
送
样
STC8H1K08S2A10 1.7-5.5 8K 1K
2
3K 17
2
有
有
3
4
-
-
有 10 位 有
STC8H1K08S2 1.7-5.5 8K 1K
2
3K 18
2
有
有
3
-
-
-
有
有
有
有 4级 有
是
有
是
是
是
是
STC8H04A10
1.7-5.5 4K 256
1
3K
6
1
有
有
3
-
-
-
有 10 位 有
有
有 4级 有
是
有
是
是
是
是
¥0.7
STC8H04
1.7-5.5 4K 256
1
3K
6
1
有
有
3
-
-
-
有
有
有 4级 有
是
有
是
是
是
是
¥0.6
有
各个版本芯片的使用注意事项请参考“附录 A、应用注意事项”
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
PDIP40
SOP16
TSSOP20
QFN32
LQFP32
LQFP44
QFN48
LQFP48
LQFP64S
QFN64
直接下载
USB
本身就可在线仿真
支持
支持 RS485
下载
可设置下次更新程序需口令
可对外输出时钟及复位
程序加密后传输(防拦截)
看门狗 复位定时器
内部高精准时钟( 24MHz
可调)
内部高可靠复位(可选复位门槛电压)
内部低压检测中断并可掉电唤醒
比较器(可当 路
,可作外部掉电检测)
1
A/D
( 路
可当 路
使用)
ADC
8 PWM
8 D/A
掉电唤醒专用定时器
路高速
15
(可当外部中断并可掉电唤醒)
PCA/CCP/PWM
位增强型 PWM
(带死区控制)
15
I2 C
位高级 PWM
定时器 互补对称死区
16
定时器 计/数器( T0-T4
外部管脚也可掉电唤醒)
SPI
串口并可掉电唤醒
口最多数量
I/O
万次 字节
EEPROM 10
强大的双 DPTR
可增可减
大容量扩展
SRAM字节
万次 字节
10
工作电压( )
V
单片机型号
程序存储器
Flash
封装
- 79 -
1
月
送
样
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
5.1 STC8 系列单片机封装价格一览表
部分封装价格(人民币 ¥)
QFN64
LQFP48
QFN48
年新品供货信息
2017
LQFP64S
LQFP44
单片机型号
LQFP32
QFN32
TSSOP20
SOP16
SOP8
DFN8
LQFP64S
QFN64 LQFP48 QFN48 LQFP44
LQFP32 QFN32
STC8F2K08S2
STC8F2K16S2
¥1.8
¥1.6
¥1.65
STC8F2K32S2
1.99
¥1.8
¥1.85
STC8F2K60S2
¥2.2
¥2.0
STC8F2K64S2
¥2.2
¥2.0
STC8F2K16S4
¥2.7
¥2.6
STC8F2K32S4
¥2.8
¥2.7
STC8F2K60S4
¥2.9
¥2.8
STC8F2K64S4
¥2.9
¥2.8
STC8A4K16S2A12
¥3.1
¥2.9
¥2.9
STC8A4K32S2A12
¥3.3
¥3.0
¥3.0
STC8A4K60S2A12
¥3.6
¥3.2
¥3.2
STC8A4K64S2A12
¥3.6
¥3.2
¥3.2
STC8A8K16S4A12
¥3.4
¥3.2
¥3.2
STC8A8K32S4A12
¥3.6
¥3.3
¥3.3
STC8A8K60S4A12
¥3.8
¥3.4
¥3.4
STC8A8K64S4A12
¥3.8
¥3.4
¥3.4
TSSOP20 SOP16 SOP8 PDIP40
¥1.2
¥1.15
¥1.4
¥1.35
大
量
供
货
大
量
供
货
大
量
供
货
大
量
供
货
STC8H1K32S2
¥2.3
¥2.1
STC8H1K32S2
¥1.9
¥1.6
STC8H1K16S2
¥1.7
¥1.4
1
月
送
样
STC8H1K08S2A10
¥1.1
¥1.05
STC8H1K08S2
¥0.95
¥0.9
STC8H04A10
¥0.7
STC8H04
¥0.6
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
1
月
送
样
- 80 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
5.2 STC8 系列单片机命名规则
STC
8x
xK
64
Sx
Ax
ADC精度
A12:12位ADC
A10:10位ADC
独立串口个数
S4:4个独立串口
S2:2个独立串口
S :1个独立串口
程序空间大小
64:64K字节
32:32K字节
16:16K字节
SRAM空间大小
8K:8K字节
2K:2K字节
子系列
8F:STC8F系列(没有AVcc、AGnd、AVref管脚)
8A:STC8A系列(有AVcc、AGnd、AVref管脚)
8H:STC8H系列
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 81 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
6 ISP下载及典型应用线路图
6.1 STC8F系列ISP下载应用线路图
6.1.1
使用RS-232 转换器下载
系统电源
(可从USB取电)
Vin
Power On
Vcc
47u
C?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
P0.3
P0.4
P0.5
P0.6
P0.7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P4.5
P4.6
P4.7
P5.4
Vcc
P5.5
Gnd
P0.2
P0.1
P0.0
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P4.1
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
Vcc
SP3232/
SP232/
MAX3232/
MAX232
0.1u
0.1u
0.1u
0.1u
1
2
3
4
5
6
7
8
C1+
VCC
V+
GND
C1T1OUT
C2+
R1IN
C2R1OUT
VT1IN
T2OUT
T2IN
R2IN
R2OUT
16 10u
15
14
13
12
11
10
9
0.1u
1
6
2
7
3
8
4
9
5
300R
STC8F2K64S4
1N5819
47u钽电容(封装3528)参考价 8;
AUXR = 0x14;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void Uart2Send(char dat)
{
while (busy);
busy = 1;
S2BUF = dat;
}
void Uart2SendStr(char *p)
{
while (*p)
{
Uart2Send(*p++);
}
}
void main()
{
Uart2Init();
IE2 = 0x01;
EA = 1;
Uart2SendStr(“Uart Test !\r\n”);
while (1)
{
if (rptr != wptr)
{
Uart2Send(buffer[rptr++]);
rptr &= 0x0f;
}
}
}
14.7.5
串口 3 使用定时器 2 做波特率发生器
汇编代码
AUXR
T2H
T2L
S3CON
S3BUF
IE2
DATA
DATA
DATA
DATA
DATA
DATA
8EH
0D6H
0D7H
0ACH
0ADH
0AFH
BUSY
WPTR
RPTR
BUFFER
BIT
DATA
DATA
DATA
20H.0
21H
22H
23H
江苏国芯科技有限公司
;16 bytes
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 265 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
ORG
LJMP
ORG
LJMP
0000H
MAIN
008BH
UART3_ISR
ORG
0100H
PUSH
PUSH
MOV
ACC
PSW
PSW,#08H
MOV
JNB
ANL
CLR
A,S3CON
ACC.1,CHKRI
S3CON,#NOT 02H
BUSY
技术支持: 13922829991
研发顾问: 13922805190
UART3_ISR:
CHKRI:
JNB
ANL
MOV
ANL
ADD
MOV
MOV
INC
UART3ISR_EXIT:
POP
POP
RETI
ACC.0,UART3ISR_EXIT
S3CON,#NOT 01H
A,WPTR
A,#0FH
A,#BUFFER
R0,A
@R0,S3BUF
WPTR
PSW
ACC
UART3_INIT:
MOV
MOV
MOV
MOV
CLR
MOV
MOV
RET
S3CON,#10H
T2L,#0E8H
T2H,#0FFH
AUXR,#14H
BUSY
WPTR,#00H
RPTR,#00H
JB
SETB
MOV
RET
BUSY,$
BUSY
S3BUF,A
;65536-11059200/115200/4=0FFE8H
UART3_SEND:
UART3_SENDSTR:
CLR
MOVC
JZ
LCALL
INC
JMP
SEND3END:
RET
A
A,@A+DPTR
SEND3END
UART3_SEND
DPTR
UART3_SENDSTR
MAIN:
MOV
江苏国芯科技有限公司
SP,#3FH
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 266 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
LCALL
MOV
SETB
UART3_INIT
IE2,#08H
EA
MOV
LCALL
DPTR,#STRING
UART3_SENDSTR
MOV
XRL
ANL
JZ
MOV
ANL
ADD
MOV
MOV
LCALL
INC
JMP
A,RPTR
A,WPTR
A,#0FH
LOOP
A,RPTR
A,#0FH
A,#BUFFER
R0,A
A,@R0
UART3_SEND
RPTR
LOOP
DB
'Uart Test !',0DH,0AH,00H
技术支持: 13922829991
研发顾问: 13922805190
LOOP:
STRING:
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
#define
#define
FOSC
BRT
sfr
sfr
sfr
sfr
sfr
sfr
AUXR
T2H
T2L
S3CON
S3BUF
IE2
bit
char
char
char
busy;
wptr;
rptr;
buffer[16];
11059200UL
(65536 - FOSC / 115200 / 4)
=
=
=
=
=
=
0x8e;
0xd6;
0xd7;
0xac;
0xad;
0xaf;
void Uart3Isr() interrupt 17 using 1
{
if (S3CON & 0x02)
{
S3CON &= ~0x02;
busy = 0;
}
if (S3CON & 0x01)
{
S3CON &= ~0x01;
buffer[wptr++] = S3BUF;
wptr &= 0x0f;
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 267 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
}
void Uart3Init()
{
S3CON = 0x10;
T2L = BRT;
T2H = BRT >> 8;
AUXR = 0x14;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void Uart3Send(char dat)
{
while (busy);
busy = 1;
S3BUF = dat;
}
void Uart3SendStr(char *p)
{
while (*p)
{
Uart3Send(*p++);
}
}
void main()
{
Uart3Init();
IE2 = 0x08;
EA = 1;
Uart3SendStr(“Uart Test !\r\n”);
while (1)
{
if (rptr != wptr)
{
Uart3Send(buffer[rptr++]);
rptr &= 0x0f;
}
}
}
14.7.6
串口 3 使用定时器 3 做波特率发生器
汇编代码
T4T3M
T4H
T4L
T3H
T3L
S3CON
S3BUF
IE2
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
0D1H
0D2H
0D3H
0D4H
0D5H
0ACH
0ADH
0AFH
BUSY
BIT
20H.0
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 268 -
STC8 系列技术手册
WPTR
RPTR
BUFFER
官方网站: www.STCMCUDATA.com / www.STCMCU.com
DATA
DATA
DATA
21H
22H
23H
ORG
LJMP
ORG
LJMP
0000H
MAIN
008BH
UART3_ISR
ORG
0100H
PUSH
PUSH
MOV
ACC
PSW
PSW,#08H
MOV
JNB
ANL
CLR
A,S3CON
ACC.1,CHKRI
S3CON,#NOT 02H
BUSY
技术支持: 13922829991
研发顾问: 13922805190
;16 bytes
UART3_ISR:
CHKRI:
JNB
ANL
MOV
ANL
ADD
MOV
MOV
INC
UART3ISR_EXIT:
POP
POP
RETI
ACC.0,UART3ISR_EXIT
S3CON,#NOT 01H
A,WPTR
A,#0FH
A,#BUFFER
R0,A
@R0,S3BUF
WPTR
PSW
ACC
UART3_INIT:
MOV
MOV
MOV
MOV
CLR
MOV
MOV
RET
S3CON,#50H
T3L,#0E8H
T3H,#0FFH
T4T3M,#0AH
BUSY
WPTR,#00H
RPTR,#00H
JB
SETB
MOV
RET
BUSY,$
BUSY
S3BUF,A
;65536-11059200/115200/4=0FFE8H
UART3_SEND:
UART3_SENDSTR:
CLR
MOVC
JZ
LCALL
INC
JMP
SEND3END:
RET
江苏国芯科技有限公司
A
A,@A+DPTR
SEND3END
UART3_SEND
DPTR
UART3_SENDSTR
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 269 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
MAIN:
MOV
SP,#3FH
LCALL
MOV
SETB
UART3_INIT
IE2,#08H
EA
MOV
LCALL
DPTR,#STRING
UART3_SENDSTR
MOV
XRL
ANL
JZ
MOV
ANL
ADD
MOV
MOV
LCALL
INC
JMP
A,RPTR
A,WPTR
A,#0FH
LOOP
A,RPTR
A,#0FH
A,#BUFFER
R0,A
A,@R0
UART3_SEND
RPTR
LOOP
DB
'Uart Test !',0DH,0AH,00H
LOOP:
STRING:
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
#define
#define
FOSC
BRT
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
T4T3M
T4H
T4L
T3H
T3L
S3CON
S3BUF
IE2
bit
char
char
char
busy;
wptr;
rptr;
buffer[16];
11059200UL
(65536 - FOSC / 115200 / 4)
=
=
=
=
=
=
=
=
0xd1;
0xd2;
0xd3;
0xd4;
0xd5;
0xac;
0xad;
0xaf;
void Uart3Isr() interrupt 17 using 1
{
if (S3CON & 0x02)
{
S3CON &= ~0x02;
busy = 0;
}
if (S3CON & 0x01)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 270 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
{
S3CON &= ~0x01;
buffer[wptr++] = S3BUF;
wptr &= 0x0f;
}
}
void Uart3Init()
{
S3CON = 0x50;
T3L = BRT;
T3H = BRT >> 8;
T4T3M = 0x0a;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void Uart3Send(char dat)
{
while (busy);
busy = 1;
S3BUF = dat;
}
void Uart3SendStr(char *p)
{
while (*p)
{
Uart3Send(*p++);
}
}
void main()
{
Uart3Init();
IE2 = 0x08;
EA = 1;
Uart3SendStr(“Uart Test !\r\n”);
while (1)
{
if (rptr != wptr)
{
Uart3Send(buffer[rptr++]);
rptr &= 0x0f;
}
}
}
14.7.7
串口 4 使用定时器 2 做波特率发生器
汇编代码
AUXR
T2H
T2L
S4CON
S4BUF
DATA
DATA
DATA
DATA
DATA
江苏国芯科技有限公司
8EH
0D6H
0D7H
84H
085H
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 271 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
IE2
DATA
0AFH
BUSY
WPTR
RPTR
BUFFER
BIT
DATA
DATA
DATA
20H.0
21H
22H
23H
ORG
LJMP
ORG
LJMP
0000H
MAIN
0093H
UART4_ISR
ORG
0100H
PUSH
PUSH
MOV
ACC
PSW
PSW,#08H
MOV
JNB
ANL
CLR
A,S4CON
ACC.1,CHKRI
S4CON,#NOT 02H
BUSY
技术支持: 13922829991
研发顾问: 13922805190
;16 bytes
UART4_ISR:
CHKRI:
JNB
ANL
MOV
ANL
ADD
MOV
MOV
INC
UART4ISR_EXIT:
POP
POP
RETI
ACC.0,UART4ISR_EXIT
S4CON,#NOT 01H
A,WPTR
A,#0FH
A,#BUFFER
R0,A
@R0,S4BUF
WPTR
PSW
ACC
UART4_INIT:
MOV
MOV
MOV
MOV
CLR
MOV
MOV
RET
S4CON,#10H
T2L,#0E8H
T2H,#0FFH
AUXR,#14H
BUSY
WPTR,#00H
RPTR,#00H
JB
SETB
MOV
RET
BUSY,$
BUSY
S4BUF,A
;65536-11059200/115200/4=0FFE8H
UART4_SEND:
UART4_SENDSTR:
CLR
MOVC
JZ
LCALL
INC
江苏国芯科技有限公司
A
A,@A+DPTR
SEND4END
UART4_SEND
DPTR
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 272 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
JMP
技术支持: 13922829991
研发顾问: 13922805190
UART4_SENDSTR
SEND4END:
RET
MAIN:
MOV
SP,#3FH
LCALL
MOV
SETB
UART4_INIT
IE2,#10H
EA
MOV
LCALL
DPTR,#STRING
UART4_SENDSTR
MOV
XRL
ANL
JZ
MOV
ANL
ADD
MOV
MOV
LCALL
INC
JMP
A,RPTR
A,WPTR
A,#0FH
LOOP
A,RPTR
A,#0FH
A,#BUFFER
R0,A
A,@R0
UART4_SEND
RPTR
LOOP
DB
'Uart Test !',0DH,0AH,00H
LOOP:
STRING:
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
#define
#define
FOSC
BRT
sfr
sfr
sfr
sfr
sfr
sfr
AUXR
T2H
T2L
S4CON
S4BUF
IE2
bit
char
char
char
busy;
wptr;
rptr;
buffer[16];
11059200UL
(65536 - FOSC / 115200 / 4)
=
=
=
=
=
=
0x8e;
0xd6;
0xd7;
0x84;
0x85;
0xaf;
void Uart4Isr() interrupt 18 using 1
{
if (S4CON & 0x02)
{
S4CON &= ~0x02;
busy = 0;
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 273 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
if (S4CON & 0x01)
{
S4CON &= ~0x01;
buffer[wptr++] = S4BUF;
wptr &= 0x0f;
}
}
void Uart4Init()
{
S4CON = 0x10;
T2L = BRT;
T2H = BRT >> 8;
AUXR = 0x14;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void Uart4Send(char dat)
{
while (busy);
busy = 1;
S4BUF = dat;
}
void Uart4SendStr(char *p)
{
while (*p)
{
Uart4Send(*p++);
}
}
void main()
{
Uart4Init();
IE2 = 0x10;
EA = 1;
Uart4SendStr(“Uart Test !\r\n”);
while (1)
{
if (rptr != wptr)
{
Uart4Send(buffer[rptr++]);
rptr &= 0x0f;
}
}
}
14.7.8
串口 4 使用定时器 4 做波特率发生器
汇编代码
T4T3M
T4H
T4L
T3H
DATA
DATA
DATA
DATA
江苏国芯科技有限公司
0D1H
0D2H
0D3H
0D4H
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 274 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
T3L
S4CON
S4BUF
IE2
DATA
DATA
DATA
DATA
0D5H
84H
085H
0AFH
BUSY
WPTR
RPTR
BUFFER
BIT
DATA
DATA
DATA
20H.0
21H
22H
23H
ORG
LJMP
ORG
LJMP
0000H
MAIN
0093H
UART4_ISR
ORG
0100H
PUSH
PUSH
MOV
ACC
PSW
PSW,#08H
MOV
JNB
ANL
CLR
A,S4CON
ACC.1,CHKRI
S4CON,#NOT 02H
BUSY
技术支持: 13922829991
研发顾问: 13922805190
;16 bytes
UART4_ISR:
CHKRI:
JNB
ANL
MOV
ANL
ADD
MOV
MOV
INC
UART4ISR_EXIT:
POP
POP
RETI
ACC.0,UART4ISR_EXIT
S4CON,#NOT 01H
A,WPTR
A,#0FH
A,#BUFFER
R0,A
@R0,S4BUF
WPTR
PSW
ACC
UART4_INIT:
MOV
MOV
MOV
MOV
CLR
MOV
MOV
RET
S4CON,#50H
T4L,#0E8H
T4H,#0FFH
T4T3M,#0A0H
BUSY
WPTR,#00H
RPTR,#00H
JB
SETB
MOV
RET
BUSY,$
BUSY
S4BUF,A
;65536-11059200/115200/4=0FFE8H
UART4_SEND:
UART4_SENDSTR:
CLR
MOVC
江苏国芯科技有限公司
A
A,@A+DPTR
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 275 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
JZ
LCALL
INC
JMP
技术支持: 13922829991
研发顾问: 13922805190
SEND4END
UART4_SEND
DPTR
UART4_SENDSTR
SEND4END:
RET
MAIN:
MOV
SP,#3FH
LCALL
MOV
SETB
UART4_INIT
IE2,#10H
EA
MOV
LCALL
DPTR,#STRING
UART4_SENDSTR
MOV
XRL
ANL
JZ
MOV
ANL
ADD
MOV
MOV
LCALL
INC
JMP
A,RPTR
A,WPTR
A,#0FH
LOOP
A,RPTR
A,#0FH
A,#BUFFER
R0,A
A,@R0
UART4_SEND
RPTR
LOOP
DB
'Uart Test !',0DH,0AH,00H
LOOP:
STRING:
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
#define
#define
FOSC
BRT
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
T4T3M
T4H
T4L
T3H
T3L
S4CON
S4BUF
IE2
bit
char
char
char
busy;
wptr;
rptr;
buffer[16];
11059200UL
(65536 - FOSC / 115200 / 4)
=
=
=
=
=
=
=
=
0xd1;
0xd2;
0xd3;
0xd4;
0xd5;
0x84;
0x85;
0xaf;
void Uart4Isr() interrupt 18 using 1
{
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 276 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
if (S4CON & 0x02)
{
S4CON &= ~0x02;
busy = 0;
}
if (S4CON & 0x01)
{
S4CON &= ~0x01;
buffer[wptr++] = S4BUF;
wptr &= 0x0f;
}
}
void Uart4Init()
{
S4CON = 0x50;
T4L = BRT;
T4H = BRT >> 8;
T4T3M = 0xa0;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void Uart4Send(char dat)
{
while (busy);
busy = 1;
S4BUF = dat;
}
void Uart4SendStr(char *p)
{
while (*p)
{
Uart4Send(*p++);
}
}
void main()
{
Uart4Init();
IE2 = 0x10;
EA = 1;
Uart4SendStr(“Uart Test !\r\n”);
while (1)
{
if (rptr != wptr)
{
Uart4Send(buffer[rptr++]);
rptr &= 0x0f;
}
}
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 277 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
15 比较器,掉电检测,内部固定比较电压
STC8 系列单片机内部集成了一个比较器。比较器的正极可以是 P3.7 端口或者 ADC 的模拟输入通
道,而负极可以 P3.6 端口或者是内部 BandGap 经过 OP 后的 REFV 电压(内部固定比较电压)
。
比较器内部有可程序控制的两级滤波:模拟滤波和数字滤波。模拟滤波可以过滤掉比较输入信号中
的毛刺信号,数字滤波可以等待输入信号更加稳定后再进行比较。比较结果可直接通过读取内部寄存器
位获得,也可将比较器结果正向或反向输出到外部端口。将比较结果输出到外部端口可用作外部事件的
触发信号和反馈信号,可扩大比较的应用范围。
P3.7
0
ADCIN
1
0.1us
PIS
REFV
( 内? ? ? ? 较电压)
P3.6
CMPRES
模拟滤波
0
LCC
1
数字滤波
DISFLT
0
延时LCDTY个
CPU 时钟
CMPO
E
PIE
0
P3.4
1
P4.1
CMPO_S
1
CMPIF
NIS
NIE
比较器内部结构
15.1 比较器内部结构图
15.2 比较器相关的寄存器
位地址与符号
符号
描述
地址
复位值
B7
B6
B5
B4
B3
B2
PIE
NIE
PIS
NIS
CMPCR1
比较器控制寄存器 1
E6H
CMPEN
CMPIF
CMPCR2
比较器控制寄存器 2
E7H
INVCMPO
DISFLT
B1
B0
CMPOE CMPRES 0000,0000
LCDTY[5:0]
0000,0000
比较器控制寄存器 1
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
CMPCR1
E6H
CMPEN
CMPIF
PIE
NIE
PIS
NIS
CMPOE
CMPRES
CMPEN:比较器模块使能位
0:关闭比较功能
1:使能比较功能
CMPIF:比较器中断标志位。当 PIE 或 NIE 被使能后,若产生相应的中断信号,硬件自动将 CMPIF 置
1,并向 CPU 提出中断请求。此标志位必须用户软件清零。
(注意:没有使能比较器中断时,硬件不会设置此中断标志,即使用查询方式访问比较器时,不
能查询此中断标志)
PIE:比较器上升沿中断使能位。
0:禁止比较器上升沿中断。
1:使能比较器上升沿中断。使能比较器的比较结果由 0 变成 1 时产生中断请求。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 278 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
NIE:比较器下降沿中断使能位。
0:禁止比较器下降沿中断。
1:使能比较器下降沿中断。使能比较器的比较结果由 1 变成 0 时产生中断请求。
PIS:比较器的正极选择位
0:选择外部端口 P3.7 为比较器正极输入源。
1:通过 ADC_CONTR 中的 ADC_CHS 位选择 ADC 的模拟输入端作为比较器正极输入源。
NIS:比较器的负极选择位
0:选择内部 BandGap 经过 OP 后的电压 REFV 作为比较器负极输入源。
1:选择外部端口 P3.6 为比较器负极输入源。
CMPOE:比较器结果输出控制位
0:禁止比较器结果输出
1:使能比较器结果输出。比较器结果输出到 P3.4 或者 P4.1(由 P_SW2 中的 CMPO_S 进行设定)
CMPRES:比较器的比较结果。此位为只读。
0:表示 CMP+的电平低于 CMP-的电平
1:表示 CMP+的电平高于 CMP-的电平
CMPRES 是经过数字滤波后的输出信号,而不是比较器的直接输出结果。
比较器控制寄存器 2
符号
地址
B7
B6
CMPCR2
E7H
INVCMPO
DISFLT
B5
B4
B3
B2
B1
B0
LCDTY[5:0]
INVCMPO:比较器结果输出控制
0:比较器结果正向输出。若 CMPRES 为 0,则 P3.4/P4.1 输出低电平,反之输出高电平。
1:比较器结果反向输出。若 CMPRES 为 0,则 P3.4/P4.1 输出高电平,反之输出低电平。
DISFLT:模拟滤波功能控制
0:使能 0.1us 模拟滤波功能
1:关闭 0.1us 模拟滤波功能,可略微提高比较器的比较速度。
LCDTY[5:0]:数字滤波功能控制
数字滤波功能即为数字信号去抖动功能。当比较结果发生上升沿或者下降沿变化时,比较器侦测变
化后的信号必须维持 LCDTY 所设置的 CPU 时钟数不发生变化,才认为数据变化是有效的;否
则将视同信号无变化。
若 LCDTY 设置为 0 时表示关闭数字滤波功能。
比较器输出
CMPRES
LCDTY[5:0]
个CPU时钟
比较器输出
CMPRES
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 279 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
15.3 范例程序
15.3.1
比较器的使用(中断方式)
汇编代码
CMPCR1
CMPCR2
DATA
DATA
0E6H
0E7H
ORG
LJMP
ORG
LJMP
0000H
MAIN
00ABH
CMPISR
ORG
0100H
PUSH
ANL
MOV
JB
ACC
CMPCR1,#NOT 40H
A,CMPCR1
ACC.0,RSING
CPL
POP
RETI
P1.0
ACC
;下降沿中断测试端口
CPL
POP
RETI
P1.1
ACC
;上升沿中断测试端口
MOV
SP,#3FH
MOV
ANL
ORL
ANL
ORL
ANL
ORL
MOV
ORL
ANL
ORL
ANL
ORL
ANL
ORL
ANL
ORL
ANL
ORL
ORL
SETB
CMPCR2,#00H
CMPCR2,#NOT 80H
CMPCR2,#80H
CMPCR2,#NOT 40H
CMPCR2,#40H
CMPCR2,#NOT 3FH
CMPCR2,#10H
CMPCR1,#00H
CMPCR1,#30H
CMPCR1,#NOT 20H
CMPCR1,#20H
CMPCR1,#NOT 10H
CMPCR1,#10H
CMPCR1,#NOT 08H
CMPCR1,#08H
CMPCR1,#NOT 04H
CMPCR1,#04H
CMPCR1,#NOT 02H
CMPCR1,#02H
CMPCR1,#80H
EA
JMP
$
CMPISR:
;清中断标志
FALLING:
RSING:
MAIN:
;
;
;
;
;
;
;
;
;
;
;比较器正向输出
;比较器反向输出
;禁止 0.1us 滤波
;使能 0.1us 滤波
;比较器结果直接输出
;比较器结果经过 16 个去抖时钟后输出
;使能比较器边沿中断
;禁止比较器上升沿中断
;使能比较器上升沿中断
;禁止比较器下降沿中断
;使能比较器下降沿中断
;P3.6 为 CMP+输入脚
;ADC 输入脚为 CMP+输入教
;内部参考电压为 CMP-输入脚
;P3.7 为 CMP-输入脚
;禁止比较器输出
;使能比较器输出
;使能比较器模块
END
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 280 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
C 语言代码
#include "reg51.h"
#include "intrins.h"
sfr
sfr
CMPCR1
CMPCR2
=
=
0xe6;
0xe7;
sbit
sbit
P10
P11
=
=
P1^0;
P1^1;
void CMP_Isr() interrupt 21 using 1
{
CMPCR1 &= ~0x40;
if (CMPCR1 & 0x01)
{
P10 = !P10;
}
else
{
P11 = !P11;
}
}
void main()
{
CMPCR2 = 0x00;
CMPCR2 &= ~0x80;
//
CMPCR2 |= 0x80;
CMPCR2 &= ~0x40;
//
CMPCR2 |= 0x40;
//
CMPCR2 &= ~0x3f;
CMPCR2 |= 0x10;
CMPCR1 = 0x00;
CMPCR1 |= 0x30;
//
CMPCR1 &= ~0x20;
//
CMPCR1 |= 0x20;
//
CMPCR1 &= ~0x10;
//
CMPCR1 |= 0x10;
CMPCR1 &= ~0x08;
//
CMPCR1 |= 0x08;
//
CMPCR1 &= ~0x04;
CMPCR1 |= 0x04;
//
CMPCR1 &= ~0x02;
CMPCR1 |= 0x02;
CMPCR1 |= 0x80;
//清中断标志
//下降沿中断测试端口
//上升沿中断测试端口
//比较器正向输出
//比较器反向输出
//禁止 0.1us 滤波
//使能 0.1us 滤波
//比较器结果直接输出
//比较器结果经过 16 个去抖时钟后输出
//使能比较器边沿中断
//禁止比较器上升沿中断
//使能比较器上升沿中断
//禁止比较器下降沿中断
//使能比较器下降沿中断
//P3.6 为 CMP+输入脚
//ADC 输入脚为 CMP+输入教
//内部参考电压为 CMP-输入脚
//P3.7 为 CMP-输入脚
//禁止比较器输出
//使能比较器输出
//使能比较器模块
EA = 1;
while (1);
}
15.3.2
比较器的使用(查询方式)
汇编代码
CMPCR1
CMPCR2
DATA
DATA
江苏国芯科技有限公司
0E6H
0E7H
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 281 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP,#3FH
MOV
ANL
ORL
ANL
ORL
ANL
ORL
MOV
ORL
ANL
ORL
ANL
ORL
ANL
ORL
ANL
ORL
ANL
ORL
ORL
CMPCR2,#00H
CMPCR2,#NOT 80H
CMPCR2,#80H
CMPCR2,#NOT 40H
CMPCR2,#40H
CMPCR2,#NOT 3FH
CMPCR2,#10H
CMPCR1,#00H
CMPCR1,#30H
CMPCR1,#NOT 20H
CMPCR1,#20H
CMPCR1,#NOT 10H
CMPCR1,#10H
CMPCR1,#NOT 08H
CMPCR1,#08H
CMPCR1,#NOT 04H
CMPCR1,#04H
CMPCR1,#NOT 02H
CMPCR1,#02H
CMPCR1,#80H
MOV
MOV
MOV
JMP
A,CMPCR1
C,ACC.0
P1.0,C
LOOP
技术支持: 13922829991
研发顾问: 13922805190
MAIN:
;
;
;
;
;
;
;
;
;
;
;比较器正向输出
;比较器反向输出
;禁止 0.1us 滤波
;使能 0.1us 滤波
;比较器结果直接输出
;比较器结果经过 16 个去抖时钟后输出
;使能比较器边沿中断
;禁止比较器上升沿中断
;使能比较器上升沿中断
;禁止比较器下降沿中断
;使能比较器下降沿中断
;P3.6 为 CMP+输入脚
;ADC 输入脚为 CMP+输入教
;内部参考电压为 CMP-输入脚
;P3.7 为 CMP-输入脚
;禁止比较器输出
;使能比较器输出
;使能比较器模块
LOOP:
;读取比较器比较结果
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
sfr
sfr
CMPCR1
CMPCR2
=
=
0xe6;
0xe7;
sbit
sbit
P10
P11
=
=
P1^0;
P1^1;
void main()
{
CMPCR2 = 0x00;
CMPCR2 &= ~0x80;
//
CMPCR2 |= 0x80;
CMPCR2 &= ~0x40;
//
CMPCR2 |= 0x40;
//
CMPCR2 &= ~0x3f;
CMPCR2 |= 0x10;
CMPCR1 = 0x00;
CMPCR1 |= 0x30;
CMPCR1 &= ~0x20;
//
江苏国芯科技有限公司
//比较器正向输出
//比较器反向输出
//禁止 0.1us 滤波
//使能 0.1us 滤波
//比较器结果直接输出
//比较器结果经过 16 个去抖时钟后输出
//使能比较器边沿中断
//禁止比较器上升沿中断
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 282 -
STC8 系列技术手册
//
//
//
//
//
//
官方网站: www.STCMCUDATA.com / www.STCMCU.com
CMPCR1 |= 0x20;
CMPCR1 &= ~0x10;
CMPCR1 |= 0x10;
CMPCR1 &= ~0x08;
CMPCR1 |= 0x08;
CMPCR1 &= ~0x04;
CMPCR1 |= 0x04;
CMPCR1 &= ~0x02;
CMPCR1 |= 0x02;
CMPCR1 |= 0x80;
while (1)
{
P10 = CMPCR1 & 0x01;
}
技术支持: 13922829991
研发顾问: 13922805190
//使能比较器上升沿中断
//禁止比较器下降沿中断
//使能比较器下降沿中断
//P3.6 为 CMP+输入脚
//ADC 输入脚为 CMP+输入教
//内部参考电压为 CMP-输入脚
//P3.7 为 CMP-输入脚
//禁止比较器输出
//使能比较器输出
//使能比较器模块
//读取比较器比较结果
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 283 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
16 IAP/EEPROM
STC8 系列单片机内部集成了大容量的 EEPROM 。利用 ISP/IAP 技术可将内部 Data Flash 当
EEPROM,擦写次数在 10 万次以上。EEPROM 可分为若干个扇区,每个扇区包含 512 字节。使用时,
建议同一次修改的数据放在同一个扇区,不是同一次修改的数据放在不同的扇区,不一定要用满。数据
存储器的擦除操作是按扇区进行的。
EEPROM 可用于保存一些需要在应用过程中修改并且掉电不丢失的参数数据。在用户程序中,可
以对 EEPROM 进行字节读/字节编程/扇区擦除操作。在工作电压偏低时,建议不要进行 EEPROM 操作,
以免发送数据丢失的情况。
16.1 EEPROM相关的寄存器
位地址与符号
符号
描述
地址
复位值
B7
B6
B5
B4
B3
B2
B1
B0
IAP_DATA
IAP 数据寄存器
C2H
1111,1111
IAP_ADDRH
IAP 高地址寄存器
C3H
0000,0000
IAP_ADDRL
IAP 低地址寄存器
C4H
0000,0000
IAP_CMD
IAP 命令寄存器
C5H
IAP_TRIG
IAP 触发寄存器
C6H
IAP_CONTR
IAP 控制寄存器
C7H
-
-
-
-
-
-
CMD[1:0]
xxxx,xx00
0000,0000
IAPEN
SWBS
SWRST
-
CMD_FAIL
IAP_WT[2:0]
0000,x000
EEPROM 数据寄存器(IAP_DATA)
符号
地址
IAP_DATA
C2H
B7
B6
B5
B4
B3
B2
B1
B0
在进行 EEPROM 的读操作时,命令执行完成后读出的 EEPROM 数据保存在 IAP_DATA 寄存器中。
在进行 EEPROM 的写操作时,在执行写命令前,必须将待写入的数据存放在 IAP_DATA 寄存器中,再
发送写命令。擦除 EEPROM 命令与 IAP_DATA 寄存器无关。
EEPROM 地址寄存器
符号
地址
IAP_ADDRH
C3H
IAP_ADDRL
C4H
B7
B6
B5
B4
B3
B2
B1
B0
EEPROM 进行读、写、擦除操作的目标地址寄存器。IAP_ADDRH 保存地址的高字节,IAP_ADDRL
保存地址的低字节
EEPROM 命令寄存器(IAP_CMD)
符号
地址
B7
B6
B5
B4
B3
B2
IAP_CMD
C5H
-
-
-
-
-
-
B1
B0
CMD[1:0]
CMD[1:0]:发送EEPROM操作命令
00:空操作
01:读 EEPROM 命令。读取目标地址所在的 1 字节。
10:写 EEPROM 命令。写目标地址所在的 1 字节。
11:擦除 EEPROM。擦除目标地址所在的 1 页(1 扇区/512 字节)。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 284 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
EEPROM 触发寄存器
符号
地址
IAP_TRIG
C6H
B7
B6
B5
B4
B3
B2
B1
B0
设置完成 EEPROM 读、写、擦除的命令寄存器、地址寄存器、数据寄存器以及控制寄存器后,需
要向触发寄存器 IAP_TRIG 依次写入 5AH、A5H(顺序不能交换)两个触发命令来触发相应的读、写、
擦除操作。操作完成后,EEPROM 地址寄存器 IAP_ADDRH、IAP_ADDRL 和 EEPROM 命令寄存器
IAP_CMD 的 内 容 不 变。 如 果 接 下来 要 对 下 一个 地 址 的 数据 进 行 操 作, 需 手 动 更新 地 址 寄 存 器
IAP_ADDRH 和寄存器 IAP_ADDRL 的值。
注意:每次 EEPROM 操作时,都要对 IAP_TRIG 先写入 5AH,再写入 A5H,相应的命令才会生效。
写完触发命令后,CPU 会处于 IDLE 等待状态,直到相应的 IAP 操作执行完成后 CPU 才会从 IDLE 状
态返回正常状态继续执行 CPU 指令。
EEPROM 控制寄存器
符号
地址
B7
B6
B5
B4
B3
IAP_CONTR
C7H
IAPEN
SWBS
SWRST
CMD_FAIL
-
B2
B1
B0
IAP_WT[2:0]
IAPEN:EEPROM操作使能控制位
0:禁止 EEPROM 操作
1:使能 EEPROM 操作
SWBS:软件复位选择控制位,(需要与SWRST配合使用)
0:软件复位后从用户代码开始执行程序
1:软件复位后从系统 ISP 监控代码区开始执行程序
SWRST:软件复位控制位
0:无动作
1:产生软件复位
CMD_FAIL:EEPROM操作失败状态位,需要软件清零
0:EEPROM 操作正确
1:EEPROM 操作失败
IAP_WT[2:0]:设置EEPROM操作的等待时间
IAP_WT[2:0]
读字节
(2 个时钟)
写字节
(约 7us)
擦除扇区
(约 5ms)
时钟频率
1
1
1
2 个时钟
7 个时钟
5000 个时钟
1MHz
1
1
0
2 个时钟
14 个时钟
10000 个时钟
2MHz
1
0
1
2 个时钟
21 个时钟
15000 个时钟
3MHz
1
0
0
2 个时钟
42 个时钟
30000 个时钟
6MHz
0
1
1
2 个时钟
84 个时钟
60000 个时钟
12MHz
0
1
0
2 个时钟
140 个时钟
100000 个时钟
20MHz
0
0
1
2 个时钟
168 个时钟
120000 个时钟
24MHz
0
0
0
2 个时钟
301 个时钟
215000 个时钟
30MHz
此时 MCU 系统不给 CPU 供应时钟,CPU 没有时钟,所以无法工作,也就是说,针对 EEPROM 操
作所需要的等待时间是硬件自动完成的,用户不需要加额外的软件延时。但 MCU 给串口、定时器、SPI、
I2C 等外设供应时钟,故除 CPU 无法执行指令外,其他外设仍然继续工作。
EEPROM 的读操作其实可不用 IAP 读方式,可用 MOVC 指令进行读取,CPU 就可继续执行指令,
不用等待两个时钟。(汇编、C 如何读待后续介绍)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 285 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
16.2 关于EEPROM编程和擦除等待时间的重要说明
表一(STC8A 系列和 STC8F 系列 EEPROM 操作时间需求)
EEPROM 操作
最短时间
最长时间
编程
6us
7.5us
擦除
4ms
6ms
表二(STC8A 系列和 STC8F 系列 EEPROM 操作相应等待参数的时间等待周期)
IAP_WT[2:0]
编程等待时钟数
擦除等待时钟数
适合的频率
1
1
1
7 个时钟
5000 个时钟
1MHz
1
1
0
14 个时钟
10000 个时钟
2MHz
1
0
1
21 个时钟
15000 个时钟
3MHz
1
0
0
42 个时钟
30000 个时钟
6MHz
0
1
1
84 个时钟
60000 个时钟
12MHz
0
1
0
140 个时钟
100000 个时钟
20MHz
0
0
1
168 个时钟
120000 个时钟
24MHz
0
0
0
301 个时钟
215000 个时钟
30MHz
STC8A 系列和 STC8F 系列 MCU 的内部 EEPROM 的编程和擦除等待时间必须达到表一中的要求,
等待时间不可过短,也不可过长。
编程的等待时间必须在 6us~7.5us 之间,编程等待时间过小(小于最短时间 6us)
,则被编程的目
标存储单元内部的数据可能不可靠(数据的保存期限可能达不到 25 年);若等待时间过长(大于最长时
间 7.5us 的 1.5 倍,即大于 11.25us)
,也可能由于有数据干扰而导致写入的数据不正确。在确保编程的
等待时间要求,并在编程完成后进行数据读出对比校验,若校验正确,数据便编程正确了。
擦除的等待时间必须在 4ms~6ms 之间,擦除等待时间过小(小于最短时间 4ms),则被擦除的目
标存储扇区可能没有被擦除干净;若等待时间过长(大于最长时间 6ms 的 1.5 倍,即大于 9ms),则会
缩短 EEPROM 的使用寿命,即原本 10 万次的擦除寿命可能会缩短为 5 万次。
编程与擦除的等待时间请严格按照表二所给的推荐频率进行合适的选择,假如工作频率为 12MHz,
请按照表二推荐将等待参数设置为 011B,若 CPU 实际的工作频率并不在表二所推荐的频率之列,则需
要根据实际的频率以及表二中实际的等待时钟数进行计算,找出满足表一时间需求的等待时间参数。
例如:工作频率为 4MHz,若选择等待参数为 101B,则编程时间为 21/4MHz = 5.25us,擦除时间为
15000/4MHz = 3.75ms,时间明显不够,所以应该选择等待参数为 100B,则编程时间为 42/4MHz = 10.5us,
擦除时间为 30000/4MHz = 7.5ms,时间均在最短时间和最长时间的 1.5 倍之间。
注意:EEPROM 等待操作的时钟是指对主时钟进行分频后的系统时钟,即 CPU 实际的工作时钟。
若单片机使用的是内部高精度 IRC,则 EEPROM 等待操作的时钟为使用 ISP 下载软件下载时经过调节
后的频率;若单片机使用的外部晶振,则 EEPROM 等待操作的时钟为外部晶振频率经过 CLKDIV 寄存
器分频后的时钟(例如:若单片机使用外部晶振,且外部晶振的频率为 24MHz,CLKDIV 寄存器的值
设置为 4,则 EEPROM 等待操作的时钟频率为 24MHz/4 = 6MHz,此时等待参数应选择 100B,而不能
选择 001B)
。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 286 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
16.3 范例程序
16.3.1
EEPROM基本操作
汇编代码
;测试工作频率为 11.0592MHz
IAP_DATA
IAP_ADDRH
IAP_ADDRL
IAP_CMD
IAP_TRIG
IAP_CONTR
DATA
DATA
DATA
DATA
DATA
DATA
0C2H
0C3H
0C4H
0C5H
0C6H
0C7H
WT_30M
WT_24M
WT_20M
WT_12M
WT_6M
WT_3M
WT_2M
WT_1M
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
80H
81H
82H
83H
84H
85H
86H
87H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
MOV
MOV
MOV
MOV
RET
IAP_CONTR,#0
IAP_CMD,#0
IAP_TRIG,#0
IAP_ADDRH,#80H
IAP_ADDRL,#0
;关闭 IAP 功能
;清除命令寄存器
;清除触发寄存器
;将地址设置到非 IAP 区域
MOV
MOV
MOV
MOV
MOV
MOV
NOP
MOV
LCALL
RET
IAP_CONTR,#WT_12M
IAP_CMD,#1
IAP_ADDRL,DPL
IAP_ADDRH,DPH
IAP_TRIG,#5AH
IAP_TRIG,#0A5H
;使能 IAP
;设置 IAP 读命令
;设置 IAP 低地址
;设置 IAP 高地址
;写触发命令(0x5a)
;写触发命令(0xa5)
A,IAP_DATA
IAP_IDLE
;读取 IAP 数据
;关闭 IAP 功能
IAP_CONTR,#WT_12M
IAP_CMD,#2
IAP_ADDRL,DPL
IAP_ADDRH,DPH
IAP_DATA,A
IAP_TRIG,#5AH
IAP_TRIG,#0A5H
;使能 IAP
;设置 IAP 写命令
;设置 IAP 低地址
;设置 IAP 高地址
;写 IAP 数据
;写触发命令(0x5a)
;写触发命令(0xa5)
IAP_IDLE
;关闭 IAP 功能
IAP_IDLE:
IAP_READ:
IAP_PROGRAM:
MOV
MOV
MOV
MOV
MOV
MOV
MOV
NOP
LCALL
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 287 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
RET
IAP_ERASE:
MOV
MOV
MOV
MOV
MOV
MOV
NOP
LCALL
RET
IAP_CONTR,#WT_12M
IAP_CMD,#3
IAP_ADDRL,DPL
IAP_ADDRH,DPH
IAP_TRIG,#5AH
IAP_TRIG,#0A5H
;使能 IAP
;设置 IAP 擦除命令
;设置 IAP 低地址
;设置 IAP 高地址
;写触发命令(0x5a)
;写触发命令(0xa5)
IAP_IDLE
;关闭 IAP 功能
MAIN:
MOV
SP,#3FH
MOV
LCALL
MOV
LCALL
MOV
MOV
MOV
LCALL
MOV
LCALL
MOV
DPTR,#0400H
IAP_ERASE
DPTR,#0400H
IAP_READ
P0,A
DPTR,#0400H
A,#12H
IAP_PROGRAM
DPTR,#0400H
IAP_READ
P1,A
SJMP
$
;P0=0FFH
;P1=12H
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sfr
sfr
sfr
sfr
sfr
IAP_DATA
IAP_ADDRH
IAP_ADDRL
IAP_CMD
IAP_TRIG
IAP_CONTR
#define
#define
#define
#define
#define
#define
#define
#define
WT_30M
WT_24M
WT_20M
WT_12M
WT_6M
WT_3M
WT_2M
WT_1M
=
=
=
=
=
=
void IapIdle()
{
IAP_CONTR = 0;
IAP_CMD = 0;
江苏国芯科技有限公司
0xC2;
0xC3;
0xC4;
0xC5;
0xC6;
0xC7;
0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
//关闭 IAP 功能
//清除命令寄存器
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 288 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
IAP_TRIG = 0;
IAP_ADDRH = 0x80;
IAP_ADDRL = 0;
技术支持: 13922829991
研发顾问: 13922805190
//清除触发寄存器
//将地址设置到非 IAP 区域
}
char IapRead(int addr)
{
char dat;
IAP_CONTR = WT_12M;
IAP_CMD = 1;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
dat = IAP_DATA;
IapIdle();
//使能 IAP
//设置 IAP 读命令
//设置 IAP 低地址
//设置 IAP 高地址
//写触发命令(0x5a)
//写触发命令(0xa5)
//读 IAP 数据
//关闭 IAP 功能
return dat;
}
void IapProgram(int addr, char dat)
{
IAP_CONTR = WT_12M;
IAP_CMD = 2;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_DATA = dat;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
IapIdle();
}
void IapErase(int addr)
{
IAP_CONTR = WT_12M;
IAP_CMD = 3;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
IapIdle();
}
void main()
{
IapErase(0x0400);
P0 = IapRead(0x0400);
IapProgram(0x0400, 0x12);
P1 = IapRead(0x0400);
//使能 IAP
//设置 IAP 写命令
//设置 IAP 低地址
//设置 IAP 高地址
//写 IAP 数据
//写触发命令(0x5a)
//写触发命令(0xa5)
//关闭 IAP 功能
//使能 IAP
//设置 IAP 擦除命令
//设置 IAP 低地址
//设置 IAP 高地址
//写触发命令(0x5a)
//写触发命令(0xa5)
//
//关闭 IAP 功能
//P0=0xff
//P1=0x12
while (1);
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 289 -
STC8 系列技术手册
16.3.2
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
使用串口送出EEPROM数据
汇编代码
AUXR
T2H
T2L
DATA
DATA
DATA
8EH
0D6H
0D7H
IAP_DATA
IAP_ADDRH
IAP_ADDRL
IAP_CMD
IAP_TRIG
IAP_CONTR
DATA
DATA
DATA
DATA
DATA
DATA
0C2H
0C3H
0C4H
0C5H
0C6H
0C7H
WT_30M
WT_24M
WT_20M
WT_12M
WT_6M
WT_3M
WT_2M
WT_1M
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
80H
81H
82H
83H
84H
85H
86H
87H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
MOV
MOV
MOV
RET
SCON,#5AH
T2L,#0E8H
T2H,#0FFH
AUXR,#15H
JNB
CLR
MOV
RET
TI,$
TI
SBUF,A
MOV
MOV
MOV
MOV
MOV
RET
IAP_CONTR,#0
IAP_CMD,#0
IAP_TRIG,#0
IAP_ADDRH,#80H
IAP_ADDRL,#0
;关闭 IAP 功能
;清除命令寄存器
;清除触发寄存器
;将地址设置到非 IAP 区域
MOV
MOV
MOV
MOV
MOV
MOV
NOP
MOV
IAP_CONTR,#WT_12M
IAP_CMD,#1
IAP_ADDRL,DPL
IAP_ADDRH,DPH
IAP_TRIG,#5AH
IAP_TRIG,#0A5H
;使能 IAP
;设置 IAP 读命令
;设置 IAP 低地址
;设置 IAP 高地址
;写触发命令(0x5a)
;写触发命令(0xa5)
A,IAP_DATA
;读取 IAP 数据
UART_INIT:
;65536-11059200/115200/4=0FFE8H
UART_SEND:
IAP_IDLE:
IAP_READ:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 290 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
LCALL
RET
IAP_IDLE
;关闭 IAP 功能
MOV
MOV
MOV
MOV
MOV
MOV
MOV
NOP
LCALL
RET
IAP_CONTR,#WT_12M
IAP_CMD,#2
IAP_ADDRL,DPL
IAP_ADDRH,DPH
IAP_DATA,A
IAP_TRIG,#5AH
IAP_TRIG,#0A5H
;使能 IAP
;设置 IAP 写命令
;设置 IAP 低地址
;设置 IAP 高地址
;写 IAP 数据
;写触发命令(0x5a)
;写触发命令(0xa5)
IAP_IDLE
;关闭 IAP 功能
IAP_CONTR,#WT_12M
IAP_CMD,#3
IAP_ADDRL,DPL
IAP_ADDRH,DPH
IAP_TRIG,#5AH
IAP_TRIG,#0A5H
;使能 IAP
;设置 IAP 擦除命令
;设置 IAP 低地址
;设置 IAP 高地址
;写触发命令(0x5a)
;写触发命令(0xa5)
IAP_IDLE
;关闭 IAP 功能
研发顾问: 13922805190
IAP_PROGRAM:
IAP_ERASE:
MOV
MOV
MOV
MOV
MOV
MOV
NOP
LCALL
RET
MAIN:
MOV
SP,#3FH
LCALL
MOV
LCALL
MOV
LCALL
LCALL
MOV
MOV
LCALL
MOV
LCALL
LCALL
UART_INIT
DPTR,#0400H
IAP_ERASE
DPTR,#0400H
IAP_READ
UART_SEND
DPTR,#0400H
A,#12H
IAP_PROGRAM
DPTR,#0400H
IAP_READ
UART_SEND
SJMP
$
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
#define
#define
FOSC
BRT
sfr
sfr
sfr
AUXR
T2H
T2L
=
=
=
0x8e;
0xd6;
0xd7;
sfr
IAP_DATA
=
0xC2;
江苏国芯科技有限公司
11059200UL
(65536 - FOSC / 115200 / 4)
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 291 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
sfr
sfr
sfr
sfr
sfr
IAP_ADDRH
IAP_ADDRL
IAP_CMD
IAP_TRIG
IAP_CONTR
#define
#define
#define
#define
#define
#define
#define
#define
WT_30M
WT_24M
WT_20M
WT_12M
WT_6M
WT_3M
WT_2M
WT_1M
=
=
=
=
=
技术支持: 13922829991
研发顾问: 13922805190
0xC3;
0xC4;
0xC5;
0xC6;
0xC7;
0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
void UartInit()
{
SCON = 0x5a;
T2L = BRT;
T2H = BRT >> 8;
AUXR = 0x15;
}
void UartSend(char dat)
{
while (!TI);
TI = 0;
SBUF = dat;
}
void IapIdle()
{
IAP_CONTR = 0;
IAP_CMD = 0;
IAP_TRIG = 0;
IAP_ADDRH = 0x80;
IAP_ADDRL = 0;
}
//关闭 IAP 功能
//清除命令寄存器
//清除触发寄存器
//将地址设置到非 IAP 区域
char IapRead(int addr)
{
char dat;
IAP_CONTR = WT_12M;
IAP_CMD = 1;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
dat = IAP_DATA;
IapIdle();
//使能 IAP
//设置 IAP 读命令
//设置 IAP 低地址
//设置 IAP 高地址
//写触发命令(0x5a)
//写触发命令(0xa5)
//读 IAP 数据
//关闭 IAP 功能
return dat;
}
void IapProgram(int addr, char dat)
{
IAP_CONTR = WT_12M;
江苏国芯科技有限公司
//使能 IAP
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 292 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
IAP_CMD = 2;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_DATA = dat;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
IapIdle();
技术支持: 13922829991
研发顾问: 13922805190
//设置 IAP 写命令
//设置 IAP 低地址
//设置 IAP 高地址
//写 IAP 数据
//写触发命令(0x5a)
//写触发命令(0xa5)
//关闭 IAP 功能
}
void IapErase(int addr)
{
IAP_CONTR = WT_12M;
IAP_CMD = 3;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
IapIdle();
}
//使能 IAP
//设置 IAP 擦除命令
//设置 IAP 低地址
//设置 IAP 高地址
//写触发命令(0x5a)
//写触发命令(0xa5)
//
//关闭 IAP 功能
void main()
{
UartInit();
IapErase(0x0400);
UartSend(IapRead(0x0400));
IapProgram(0x0400, 0x12);
UartSend(IapRead(0x0400));
while (1);
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 293 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
17 ADC模数转换
STC8 系列单片机内部集成了一个 12 位 15 通道的高速 A/D 转换器(注:第 16 通道只能用于检测
内部参考电压)。ADC 的时钟频率为系统频率 2 分频再经过用户设置的分频系数进行再次分频(ADC
的时钟频率范围为 SYSclk/2/1~SYSclk/2/16)。每固定 16 个 ADC 时钟可完成一次 A/D 转换。ADC 的
速度最快可达 800K(即每秒可进行 80 万次模数转换)
ADC 转换结果的数据格式有两种:左对齐和右对齐。可方便用户程序进行读取和引用。
17.1 ADC相关的寄存器
位地址与符号
符号
描述
地址
复位值
B7
B6
B5
B4
BCH ADC_POWER ADC_START ADC_FLAG
B3
B1
B0
ADC_CONTR
ADC 控制寄存器
ADC_RES
ADC 转换结果高位寄存器
BDH
0000,0000
ADC_RESL
ADC 转换结果低位寄存器
BEH
0000,0000
ADCCFG
ADC 配置寄存器
DEH
-
-
-
B2
RESFMT
ADC_CHS[3:0]
-
000x,0000
SPEED[3:0]
xx0x,0000
ADC 控制寄存器
符号
地址
B7
B6
B5
B4
ADC_CONTR
BCH
ADC_POWER
ADC_START
ADC_FLAG
-
B3
B2
B1
B0
ADC_CHS[3:0]
ADC_POWER:ADC 电源控制位
0:关闭 ADC 电源
1:打开 ADC 电源。
建议进入空闲模式和掉电模式前将 ADC 电源关闭,以降低功耗
ADC_START:ADC 转换启动控制位。写入 1 后开始 ADC 转换,转换完成后硬件自动将此位清零。
0:无影响。即使 ADC 已经开始转换工作,写 0 也不会停止 A/D 转换。
1:开始 ADC 转换,转换完成后硬件自动将此位清零。
ADC_FLAG:ADC 转换结束标志位。当 ADC 完成一次转换后,硬件会自动将此位置 1,并向 CPU 提
出中断请求。此标准为必须软件清零。
ADC_CHS[3:0]:ADC 模拟通道选择位
ADC_CHS[3:0]
ADC 通道
ADC_CHS[3:0]
ADC 通道
0000
P1.0
1000
P0.0
0001
P1.1
1001
P0.1
0010
P1.2
1010
P0.2
0011
P1.3
1011
P0.3
0100
P1.4
1100
P0.4
0101
P1.5
1101
P0.5
0110
P1.6
1110
P0.6
0111
P1.7
1111
-
ADC 配置寄存器
符号
地址
江苏国芯科技有限公司
B7
B6
B5
总机: 0513-5501 2928/2929/2966
B4
B3
B2
B1
传真: 0513-5501 2926/2956/2947
B0
- 294 -
STC8 系列技术手册
ADCCFG
官方网站: www.STCMCUDATA.com / www.STCMCU.com
DEH
-
-
RESFMT
技术支持: 13922829991
-
研发顾问: 13922805190
SPEED[3:0]
RESFMT:ADC 转换结果格式控制位
0:转换结果左对齐。ADC_RES 保存结果的高 8 位,ADC_RESL 保存结果的低 4 位。格式如下:
ADC_RES
ADC_RESL
D11 D10 D9 D8 D7 D6 D5 D4
D3 D2 D1 D0
0
12位转换结果
0
0
0
自动填0
RESFMT=0
1:转换结果右对齐。ADC_RES 保存结果的高 4 位,ADC_RESL 保存结果的低 8 位。格式如下:
ADC_RES
0
0
0
ADC_RESL
0 D11 D10 D9 D8
自动填0
D7 D6 D5 D4 D3 D2 D1 D0
12位转换结果
RESFMT=1
SPEED[3:0]:ADC 时钟控制(FADC=SYSclk/2/16/SPEED)
SPEED[3:0]
ADC 转换时间
(CPU 时钟数)
SPEED[3:0]
ADC 转换时间
(CPU 时钟数)
0000
32
1000
288
0001
64
1001
320
0010
96
1010
352
0011
128
1011
384
0100
160
1100
416
0101
192
1101
448
0110
224
1110
480
0111
256
1111
512
ADC 转换结果寄存器
符号
地址
ADC_RES
BDH
ADC_RESL
BEH
B7
B6
B5
B4
B3
B2
B1
B0
当 A/D 转换完成后,12 为的转换结果会自动保存到 ADC_RES 和 ADC_RESL 中。保存结果的数据
格式请参考 ADC_CFG 寄存器中的 RESFMT 设置。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 295 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
17.2 ADC典型应用线路图
17.2.1 高精度ADC应用
CD431/TL431(2.5V基准源)
511R
0.1u
外部模拟
信号输入
系统电源
(可从USB取电)
103
0.1u
22u
10uH
Vin
AVcc
Power On
Vcc
47u
0R
模拟地
0R
系统地
P0.3
P0.4
P0.5
P0.6
P0.7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AGnd
AVref
AVcc
P5.4
Vcc
P5.5
Gnd
P0.2
P0.1
P0.0
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P4.1
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
STC8A8K64S4A12
数字地
C?
江苏国芯科技有限公司
C?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
系统时钟10MHz
103(0.01uF)
传真: 0513-5501 2926/2956/2947
- 296 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
17.2.2 ADC一般应用(对ADC精度要求不高的应用)
外部模拟
信号输入
系统电源
(可从USB取电)
103
Vin
Power On
Vcc
47u
C?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
P0.3
P0.4
P0.5
P0.6
P0.7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AGnd
AVref
AVcc
P5.4
Vcc
P5.5
Gnd
P0.2
P0.1
P0.0
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P4.1
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
STC8A8K64S4A12
系统时钟10MHz
103(0.01uF)
传真: 0513-5501 2926/2956/2947
- 297 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
17.3 范例程序
17.3.1
ADC基本操作(查询方式)
汇编代码
;测试工作频率为 11.0592MHz
ADC_CONTR
ADC_RES
ADC_RESL
ADCCFG
DATA
DATA
DATA
DATA
0BCH
0BDH
0BEH
0DEH
P1M0
P1M1
DATA
DATA
092H
091H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP,#3FH
MOV
MOV
MOV
MOV
P1M0,#00H
P1M1,#01H
ADCCFG,#0FH
ADC_CONTR,#80H
;设置 P1.0 为 ADC 口
ORL
NOP
NOP
MOV
JNB
ANL
MOV
ADC_CONTR,#40H
;启动 AD 转换
A,ADC_CONTR
ACC.5,$-2
ADC_CONTR,#NOT 20H
P2,ADC_RES
;查询 ADC 完成标志
SJMP
LOOP
MAIN:
;设置 ADC 时钟为系统时钟/2/16/16
;使能 ADC 模块
LOOP:
;清完成标志
;读取 ADC 结果
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sfr
sfr
sfr
ADC_CONTR
ADC_RES
ADC_RESL
ADCCFG
=
=
=
=
0xbc;
0xbd;
0xbe;
0xde;
sfr
sfr
P1M0
P1M1
=
=
0x92;
0x91;
void main()
{
P1M0 = 0x00;
江苏国芯科技有限公司
//设置 P1.0 为 ADC 口
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 298 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
P1M1 = 0x01;
ADCCFG = 0x0f;
ADC_CONTR = 0x80;
技术支持: 13922829991
研发顾问: 13922805190
//设置 ADC 时钟为系统时钟/2/16/16
//使能 ADC 模块
while (1)
{
ADC_CONTR |= 0x40;
//启动 AD 转换
_nop_();
_nop_();
while (!(ADC_CONTR & 0x20)); //查询 ADC 完成标志
ADC_CONTR &= ~0x20;
//清完成标志
P2 = ADC_RES;
//读取 ADC 结果
}
}
17.3.2
ADC基本操作(中断方式)
汇编代码
;测试工作频率为 11.0592MHz
ADC_CONTR
ADC_RES
ADC_RESL
ADCCFG
DATA
DATA
DATA
DATA
0BCH
0BDH
0BEH
0DEH
EADC
BIT
IE.5
P1M0
P1M1
DATA
DATA
092H
091H
ORG
LJMP
ORG
LJMP
0000H
MAIN
002BH
ADCISR
ORG
0100H
ANL
MOV
ORL
RETI
ADC_CONTR,#NOT 20H
P2,ADC_RES
ADC_CONTR,#40H
MOV
SP,#3FH
MOV
MOV
MOV
MOV
SETB
SETB
ORL
P1M0,#00H
P1M1,#01H
ADCCFG,#0FH
ADC_CONTR,#80H
EADC
EA
ADC_CONTR,#40H
SJMP
$
ADCISR:
;清完成标志
;读取 ADC 结果
;继续 AD 转换
MAIN:
;设置 P1.0 为 ADC 口
;设置 ADC 时钟为系统时钟/2/16/16
;使能 ADC 模块
;使能 ADC 中断
;启动 AD 转换
END
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 299 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sfr
sfr
sfr
ADC_CONTR
ADC_RES
ADC_RESL
ADCCFG
=
=
=
=
0xbc;
0xbd;
0xbe;
0xde;
sbit
EADC
=
IE^5;
sfr
sfr
P1M0
P1M1
=
=
0x92;
0x91;
void ADC_Isr() interrupt 5 using 1
{
ADC_CONTR &= ~0x20;
P2 = ADC_RES;
ADC_CONTR |= 0x40;
}
//清中断标志
//读取 ADC 结果
//继续 AD 转换
void main()
{
P1M0 = 0x00;
P1M1 = 0x01;
ADCCFG = 0x0f;
ADC_CONTR = 0x80;
EADC = 1;
EA = 1;
ADC_CONTR |= 0x40;
//设置 P1.0 为 ADC 口
//设置 ADC 时钟为系统时钟/2/16/16
//使能 ADC 模块
//使能 ADC 中断
//启动 AD 转换
while (1);
}
17.3.3
格式化ADC转换结果
汇编代码
;测试工作频率为 11.0592MHz
ADC_CONTR
ADC_RES
ADC_RESL
ADCCFG
DATA
DATA
DATA
DATA
0BCH
0BDH
0BEH
0DEH
P1M0
P1M1
DATA
DATA
092H
091H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
SP,#3FH
MOV
P1M0,#00H
MAIN:
江苏国芯科技有限公司
;设置 P1.0 为 ADC 口
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 300 -
STC8 系列技术手册
;
;
;
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
MOV
MOV
MOV
P1M1,#01H
ADCCFG,#0FH
ADC_CONTR,#80H
;设置 ADC 时钟为系统时钟/2/16/16
;使能 ADC 模块
ORL
NOP
NOP
MOV
JNB
ANL
ADC_CONTR,#40H
;启动 AD 转换
A,ADC_CONTR
ACC.5,$-2
ADC_CONTR,#NOT 20H
;查询 ADC 完成标志
;清完成标志
MOV
MOV
MOV
ADCCFG,#00H
A,ADC_RES
B,ADC_RESL
;设置结果左对齐
;A 存储 ADC 的 12 位结果的高 8 位
;B[7:4]存储 ADC 的 12 位结果的低 4 位,B[3:0]为 0
MOV
MOV
MOV
ADCCFG,#20H
A,ADC_RES
B,ADC_RESL
;设置结果右对齐
;A[3:0]存储 ADC 的 12 位结果的高 4 位,A[7:4]为 0
;B 存储 ADC 的 12 位结果的低 8 位
SJMP
$
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sfr
sfr
sfr
ADC_CONTR
ADC_RES
ADC_RESL
ADCCFG
=
=
=
=
0xbc;
0xbd;
0xbe;
0xde;
sfr
sfr
P1M0
P1M1
=
=
0x92;
0x91;
void main()
{
P1M0 = 0x00;
P1M1 = 0x01;
ADCCFG = 0x0f;
ADC_CONTR = 0x80;
ADC_CONTR |= 0x40;
_nop_();
_nop_();
while (!(ADC_CONTR & 0x20));
ADC_CONTR &= ~0x20;
//
//
//
//设置 P1.0 为 ADC 口
//设置 ADC 时钟为系统时钟/2/16/16
//使能 ADC 模块
//启动 AD 转换
//查询 ADC 完成标志
//清完成标志
ADCCFG = 0x00;
ACC = ADC_RES;
B = ADC_RESL;
//设置结果左对齐
//A 存储 ADC 的 12 位结果的高 8 位
//B[7:4]存储 ADC 的 12 位结果的低 4 位,B[3:0]为 0
ADCCFG = 0x20;
ACC = ADC_RES;
B = ADC_RESL;
//设置结果右对齐
//A[3:0]存储 ADC 的 12 位结果的高 4 位,A[7:4]为 0
//B 存储 ADC 的 12 位结果的低 8 位
while (1);
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 301 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
}
利用ADC第 16 通道测量外部电压或电池电压
17.3.4
STC8 系列 ADC 的第 16 通道是用来测试内部 BandGap 参考电压的,由于内部 BandGap 参考电压
很稳定,约为 1.35V,且不会随芯片的工作电压的改变而变化,所以可以通过测量内部 BandGap 参考电
压,然后通过 ADC 的值便可反推出外部电压或外部电池电压。
下图为参考线路图:
外部供电
或电池供电
Vin
Power On
Vcc
47u
103
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
P0.3
P0.4
P0.5
P0.6
P0.7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AGnd
AVref
AVcc
P5.4
Vcc
P5.5
Gnd
P0.2
P0.1
P0.0
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P4.1
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
STC8A8K64S4A12
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
#define
#define
FOSC
BRT
11059200UL
(65536 - FOSC / 115200 / 4)
sfr
AUXR
=
0x8e;
sfr
ADC_CONTR
=
0xbc;
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 302 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
sfr
sfr
sfr
ADC_RES
ADC_RESL
ADCCFG
=
=
=
0xbd;
0xbe;
0xde;
sfr
sfr
P1M0
P1M1
=
=
0x92;
0x91;
int
idata BGV
_at_ 0xef;
bit
busy;
技术支持: 13922829991
研发顾问: 13922805190
//内部 Bandgap 电压值存放在 idata 中
//idata 的 EFH 地址存放高字节
//idata 的 F0H 地址存放高字节
//电压单位为毫伏(mV)
void UartIsr() interrupt 4 using 1
{
if (TI)
{
TI = 0;
busy = 0;
}
if (RI)
{
RI = 0;
}
}
void UartInit()
{
SCON = 0x50;
TMOD = 0x00;
TL1 = BRT;
TH1 = BRT >> 8;
TR1 = 1;
AUXR = 0x40;
busy = 0;
}
void UartSend(char dat)
{
while (busy);
busy = 1;
SBUF = dat;
}
void ADCInit()
{
ADCCFG = 0x2f;
ADC_CONTR = 0x8f;
}
int
{
//设置 ADC 时钟为系统时钟/2/16/16
//使能 ADC 模块,并选择第 16 通道
ADCRead()
int res;
ADC_CONTR |= 0x40;
_nop_();
_nop_();
while (!(ADC_CONTR & 0x20));
ADC_CONTR &= ~0x20;
江苏国芯科技有限公司
//启动 AD 转换
//查询 ADC 完成标志
//清完成标志
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 303 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
res = (ADC_RES = 3;
vcc = (int)(4095L * BGV / res);
UartSend(vcc >> 8);
UartSend(vcc);
//前两个数据丢弃
//读取 8 次数据
//取平均值
//计算 VREF 管脚电压,即电池电压
//注意,此电压的单位为毫伏(mV)
//输出电压值到串口
while (1);
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 304 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
18 PCA/CCP/PWM应用
STC8 系列单片机内部集成了 4 组可编程计数器阵列(PCA/CCP/PWM)模块,可用于软件定时器、
外部脉冲捕获、高速脉冲输出和 PWM 脉宽调制输出。
PCA 内部含有一个特殊的 16 位计数器,4 组 PCA 模块均与之相连接。PCA 计数器的结构图如下:
PCA模块0
PCA模块1
SYSclk/12
000
PCA模块2
SYSclk/2
001
PCA模块3
T0溢出
010
外部ECI
011
SYSclk
100
SYSclk/4
101
SYSclk/6
110
SYSclk/8
111
CH CL
PCA中断
16位计数器
进入IDLE模式
CCON CF CR -
- CF3 CF2 CF1 CF0
CMOD
-
CIDL
-
-
CPS[2:0]
ECF
PCA计数器结构图
18.1 PCA相关的寄存器
位地址与符号
符号
描述
地址
复位值
B7
B6
B5
B4
B3
B2
B1
B0
CCF3
CCF2
CCF1
CCF0
00xx,0000
ECF
0xxx,0000
CCON
PCA 控制寄存器
D8H
CF
CR
-
-
CMOD
PCA 模式寄存器
D9H
CIDL
-
-
-
CCAPM0
PCA 模块 0 模式控制寄存器
DAH
-
ECOM0
CCAPP0
CCAPN0
MAT0
TOG0
PWM0
ECCF0 x000,0000
CCAPM1
PCA 模块 1 模式控制寄存器
DBH
-
ECOM1
CCAPP1
CCAPN1
MAT1
TOG1
PWM1
ECCF1 x000,0000
CCAPM2
PCA 模块 2 模式控制寄存器
DCH
-
ECOM2
CCAPP2
CCAPN2
MAT2
TOG2
PWM2
ECCF2 x000,0000
CCAPM3
PCA 模块 3 模式控制寄存器
DDH
-
ECOM3
CCAPP3
CCAPN3
MAT3
TOG3
PWM3
ECCF3 x000,0000
CL
PCA 计数器低字节
E9H
0000,0000
CCAP0L
PCA 模块 0 低字节
EAH
0000,0000
CCAP1L
PCA 模块 1 低字节
EBH
0000,0000
CCAP2L
PCA 模块 2 低字节
ECH
0000,0000
CCAP3L
PCA 模块 3 低字节
EDH
0000,0000
PCA_PWM0
PCA0 的 PWM 模式寄存器
F2H
EBS0[1:0]
XCCAP0H[1:0]
XCCAP0L[1:0]
EPC0H
EPC0L 0000,0000
PCA_PWM1
PCA1 的 PWM 模式寄存器
F3H
EBS1[1:0]
XCCAP1H[1:0]
XCCAP1L[1:0]
EPC1H
EPC1L 0000,0000
PCA_PWM2
PCA2 的 PWM 模式寄存器
F4H
EBS2[1:0]
XCCAP2H[1:0]
XCCAP2L[1:0]
EPC2H
EPC2L 0000,0000
PCA_PWM3
PCA3 的 PWM 模式寄存器
F5H
EBS3[1:0]
XCCAP3H[1:0]
XCCAP3L[1:0]
EPC3H
EPC3L 0000,0000
CH
PCA 计数器高字节
F9H
0000,0000
CCAP0H
PCA 模块 0 高字节
FAH
0000,0000
CCAP1H
PCA 模块 1 高字节
FBH
0000,0000
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
CPS[2:0]
传真: 0513-5501 2926/2956/2947
- 305 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
CCAP2H
PCA 模块 2 高字节
FCH
0000,0000
CCAP3H
PCA 模块 3 高字节
FDH
0000,0000
PCA 控制寄存器
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
CCON
D8H
CF
CR
-
-
CCF3
CCF2
CCF1
CCF0
CF:PCA 计数器溢出中断标志。当 PCA 的 16 位计数器计数发生溢出时,硬件自动将此位置 1,并向
CPU 提出中断请求。此标志位需要软件清零。
CR:PCA 计数器允许控制位。
0:停止 PCA 计数
1:启动 PCA 计数
CCFn(n=0,1,2,3):PCA 模块中断标志。当 PCA 模块发生匹配或者捕获时,硬件自动将此位置 1,并
向 CPU 提出中断请求。此标志位需要软件清零。
PCA 模式寄存器
符号
地址
B7
B6
B5
B4
CMOD
D9H
CIDL
-
-
-
B5
B4
B3
B2
B1
CPS[2:0]
B0
ECF
CIDL:空闲模式下是否停止 PCA 计数。
0:空闲模式下 PCA 继续计数
1:空闲模式下 PCA 停止计数
CPS[2:0]:PCA 计数脉冲源选择位
CPS[2:0]
PCA 的输入时钟源
000
系统时钟/12
001
系统时钟/2
010
定时器 0 的溢出脉冲
011
ECI 脚的外部输入时钟
100
系统时钟
101
系统时钟/4
110
系统时钟/6
111
系统时钟 8
ECF:PCA 计数器溢出中断允许位。
0:禁止 PCA 计数器溢出中断
1:使能 PCA 计数器溢出中断
PCA 计数器寄存器
符号
地址
CL
E9H
CH
F9H
B7
B6
B3
B2
B1
B0
由 CL 和 CH 两个字节组合成一个 16 位计数器,CL 为低 8 位计数器,CH 为高 8 位计数器。每个 PCA
时钟 16 位计数器自动加 1。
PCA 模块模式控制寄存器
符号
地址
江苏国芯科技有限公司
B7
B6
B5
总机: 0513-5501 2928/2929/2966
B4
B3
B2
B1
传真: 0513-5501 2926/2956/2947
B0
- 306 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
CCAPM0
DAH
-
ECOM0
CCAPP0
CCAPN0
MAT0
TOG0
PWM0
ECCF0
CCAPM1
DBH
-
ECOM1
CCAPP1
CCAPN1
MAT1
TOG1
PWM1
ECCF1
CCAPM2
DCH
-
ECOM2
CCAPP2
CCAPN2
MAT2
TOG2
PWM2
ECCF2
CCAPM3
DDH
-
ECOM3
CCAPP3
CCAPN3
MAT3
TOG3
PWM3
ECCF3
B5
B4
B3
B2
B1
B0
ECOMn:允许 PCA 模块 n 的比较功能
CCAPPn:允许 PCA 模块 n 进行上升沿捕获
CCAPNn:允许 PCA 模块 n 进行下降沿捕获
MATn:允许 PCA 模块 n 的匹配功能
TOGn:允许 PCA 模块 n 的高速脉冲输出功能
PWMn:允许 PCA 模块 n 的脉宽调制输出功能
ECCFn:允许 PCA 模块 n 的匹配/捕获中断
PCA 模块模式捕获值/比较值寄存器
符号
地址
CCAP0L
EAH
CCAP1L
EBH
CCAP2L
ECH
CCAP3L
EDH
CCAP0H
FAH
CCAP1H
FBH
CCAP2H
FCH
CCAP3H
FDH
B7
B6
当 PCA 模块捕获功能使能时,CCAPnL 和 CCAPnH 用于保存发生捕获时的 PCA 的计数值(CL 和 CH);
当 PCA 模块比较功能使能时,PCA 控制器会将当前 CL 和 CH 中的计数值与保存在 CCAPnL 和
CCAPnH 中的值进行比较,并给出比较结果;当 PCA 模块匹配功能使能时,PCA 控制器会将当前
CL 和 CH 中的计数值与保存在 CCAPnL 和 CCAPnH 中的值进行比较,看是否匹配(相等),并给
出匹配结果。
PCA 模块 PWM 模式控制寄存器
B7
B6
B5
B4
B1
B0
XCCAP0L[1:0]
EPC0H
EPC0L
XCCAP1H[1:0]
XCCAP1L[1:0]
EPC1H
EPC1L
EBS2[1:0]
XCCAP2H[1:0]
XCCAP2L[1:0]
EPC2H
EPC2L
EBS3[1:0]
XCCAP3H[1:0]
XCCAP3L[1:0]
EPC3H
EPC3L
符号
地址
PCA_PWM0
F2H
EBS0[1:0]
XCCAP0H[1:0]
PCA_PWM1
F3H
EBS1[1:0]
PCA_PWM2
F4H
PCA_PWM3
F5H
B3
B2
EBSn[1:0]:PCA 模块 n 的 PWM 位数控制
EBSn[1:0]
PWM 位数
重载值
比较值
00
8 位 PWM
{EPCnH, CCAPnH[7:0]}
{EPCnL, CCAPnL[7:0]}
01
7 位 PWM
{EPCnH, CCAPnH[6:0]}
{EPCnL, CCAPnL[6:0]}
10
6 位 PWM
{EPCnH, CCAPnH[5:0]}
{EPCnL, CCAPnL[5:0]}
11
10 位 PWM
{EPCnH, XCCAPnH[1:0], CCAPnH[7:0]}
{EPCnL, XCCAPnL[1:0], CCAPnL[7:0]}
XCCAPnH[1:0]:10 位 PWM 的第 9 位和第 10 位的重载值
XCCAPnL[1:0]:10 位 PWM 的第 9 位和第 10 位的比较值
EPCnH:PWM 模式下,重载值的最高位(8 为 PWM 的第 9 位,7 位 PWM 的第 8 位,6 位 PWM 的第
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 307 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
7 位,10 位 PWM 的第 11 位)
EPCnL:PWM 模式下,比较值的最高位(8 为 PWM 的第 9 位,7 位 PWM 的第 8 位,6 位 PWM 的第
7 位,10 位 PWM 的第 11 位)
注意:在更新 10 位 PWM 的重载值时,必须先写高两位 XCCAPnH[1:0],再写低 8 位 CCAPnH[7:0]。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 308 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
18.2 PCA工作模式
STC8 系列单片机共有 4 组 PCA 模块,每组模块都可独立设置工作模式。模式设置如下所示:
CCAPMn
模块功能
-
ECOMn
CAPPn
CAPNn
MATn
TOGn
PWMn
ECCFn
-
0
0
0
0
0
0
0
无操作
-
1
0
0
0
0
1
0
6/7/8/10 位 PWM 模式,无中断
-
1
1
0
0
0
1
1
6/7/8/10 位 PWM 模式,产生上升沿中断
-
1
0
1
0
0
1
1
6/7/8/10 位 PWM 模式,产生下降沿中断
-
1
1
1
0
0
1
1
6/7/8/10 位 PWM 模式,产生边沿中断
-
0
1
0
0
0
0
x
16 位上升沿捕获
-
0
0
1
0
0
0
x
16 位下降沿捕获
-
0
1
1
0
0
0
x
16 位边沿捕获
-
1
0
0
1
0
0
x
16 位软件定时器
-
1
0
0
1
1
0
x
16 为高速脉冲输出
18.2.1
捕获模式
要使一个 PCA 模块工作在捕获模式,寄存器 CCAPMn 中的 CAPNn 和 CAPPn 至少有一位必须置 1
(也可两位都置 1)。PCA 模块工作于捕获模式时,对模块的外部 CCP0/CCP1/CCP2/CCP3 管脚的输入
跳变进行采样。当采样到有效跳变时,PCA 控制器立即将 PCA 计数器 CH 和 CL 中的计数值装载到模
块的捕获寄存器中 CCAPnL 和 CCAPnH,同时将 CCON 寄存器中相应的 CCFn 置 1。若 CCAPMn 中的
ECCFn 位被设置为 1,将产生中断。由于所有 PCA 模块的中断入口地址是共享的,所以在中断服务程
序中需要判断是哪一个模块产生了中断,并注意中断标志位需要软件清零。
PCA 模块工作于捕获模式的结构图如下图所示:
CCON CF CR
CH
-
- CF3 CF2 CF1 CF0
CL
PCA中断
CCAPnH CCAPnL
CCP0
CCP1
CCP2
CCP3
CCAPMn
-
ECOMn
0
0
CAPPn
CAPNn MATn TOGn PWMn
0
0
ECCFn
0
PCA模块捕获模式
18.2.2
软件定时器模式
通过置位 CCAPMn 寄存器的 ECOM 和 MAT 位,可使 PCA 模块用作软件定时器。PCA 计数器值
CL 和 CH 与模块捕获寄存器的值 CCAPnL 和 CCAPnH 相比较,当两者相等时,CCON 中的 CCFn 会被
置 1,若 CCAPMn 中的 ECCFn 被设置为 1 时将产生中断。CCFn 标志位需要软件清零。
PCA 模块工作于软件定时器模式的结构图如下图所示:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 309 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
先写
CCAPnL
后写
CCAPnH
0
CCON CF CR
1
CH
使能
-
研发顾问: 13922805190
- CF3 CF2 CF1 CF0
CL
匹配
16位比较器
PCA中断
CCAPnH CCAPnL
ECOMn=0,停止比较
ECOMn=1,恢复比较
CCAPMn
-
技术支持: 13922829991
ECOMn
CAPPn
0
0
CAPNn MATn TOGn PWMn
0
1
0
ECCFn
0
PCA模块软件定时器模式
18.2.3
高速脉冲输出模式
当 PCA 计数器的计数值与模块捕获寄存器的值相匹配时,PCA 模块的 CCPn 输出将发生翻转转。要
激活高速脉冲输出模式,CCAPMn 寄存器的 TOGn、MATn 和 ECOMn 位必须都置 1。
PCA 模块工作于高速脉冲输出模式的结构图如下图所示:
先写
CCAPnL
后写
CCAPnH
0
CCON CF CR -
1
CH
使能
ECOMn=0,停止比较
ECOMn=1,恢复比较
CCAPMn
-
ECOMn
0
- CF3 CF2 CF1 CF0
CL
PCA中断
匹配
16位比较器
CCPn
CCAPnH CCAPnL
CAPPn
0
CAPNn MATn TOGn PWMn
0
1
1
ECCFn
0
PCA模块高速脉冲输出模式
18.2.4
18.2.4.1
PWM脉宽调制模式
8 位PWM模式
脉宽调制是使用程序来控制波形的占空比、周期、相位波形的一种技术,在三相电机驱动、D/A 转
换等场合有广泛的应用。STC8 系列单片机的 PCA 模块可以通过设定各自的 PCA_PWMn 寄存器使其工
作于 8 位 PWM 或 7 位 PWM 或 6 位 PWM 或 10 位 PWM 模式。要使能 PCA 模块的 PWM 功能,模块
寄存器 CCAPMn 的 PWMn 和 ECOMn 位必须置 1。
PCA_PWMn 寄存器中的 EBSn[1:0]设置为 00 时,PCA 模块 n 工作于 8 位 PWM 模式,此时将
{0,CL[7:0]}与捕获寄存器{EPCnL,CCAPnL[7:0]}进行比较。当 PCA 模块工作于 8 位 PWM 模式时,由
于所有模块共用一个 PCA 计数器,所有它们的输出频率相同。各个模块的输出占空比使用寄存器
{EPCnL,CCAPnL[7:0]}进行设置。当{0,CL[7:0]}的值小于{EPCnL,CCAPnL[7:0]}时,输出为低电平;当
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 310 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
{0,CL[7:0]}的值等于或大于{EPCnL,CCAPnL[7:0]}时,输出为高电平。当 CL[7:0]的值由 FF 变为 00 溢
出时,{EPCnH,CCAPnH[7:0]}的内容重新装载到{EPCnL,CCAPnL[7:0]}中。这样就可实现无干扰地更新
PWM。
PCA 模块工作于 8 位 PWM 模式的结构图如下图所示:
重载
EPCnH
CCAPnH[7:0]
EPCnL
CCAPnL[7:0]
输出0
{0,CL[7:0]}小于
{EPCnL,CCAPnL[7:0]}
使能
CCPn
9位比较器
{0,CL[7:0]}大于等于
{EPCnL,CCAPnL[7:0]}
0
CL[7:0]
输出1
CL溢出
-
ECOMn
CAPPn
0
1
0
CAPNn MATn TOGn PWMn
0
0
ECCFn
CCAPMn
0
PCA模块8位PWM模式
18.2.4.2
7 位PWM模式
PCA_PWMn 寄存器中的 EBSn[1:0]设置为 01 时,PCA 模块 n 工作于 7 位 PWM 模式,此时将
{0,CL[6:0]}与捕获寄存器{EPCnL,CCAPnL[6:0]}进行比较。当 PCA 模块工作于 7 位 PWM 模式时,由
于所有模块共用一个 PCA 计数器,所有它们的输出频率相同。各个模块的输出占空比使用寄存器
{EPCnL,CCAPnL[6:0]}进行设置。当{0,CL[6:0]}的值小于{EPCnL,CCAPnL[6:0]}时,输出为低电平;当
{0,CL[6:0]}的值等于或大于{EPCnL,CCAPnL[6:0]}时,输出为高电平。当 CL[6:0]的值由 7F 变为 00 溢
出时,{EPCnH,CCAPnH[6:0]}的内容重新装载到{EPCnL,CCAPnL[6:0]}中。这样就可实现无干扰地更新
PWM。
PCA 模块工作于 7 位 PWM 模式的结构图如下图所示:
EPCnH
重载
CCAPnH[6:0]
输出0
EPCnL
CCAPnL[6:0]
{0,CL[6:0]}小于
{EPCnL,CCAPnL[6:0]}
使能
CCPn
8位比较器
{0,CL[6:0]}大于等于
{EPCnL,CCAPnL[6:0]}
0
CL[6:0]
输出1
CL溢出
-
ECOMn
CAPPn
0
1
0
CAPNn MATn TOGn PWMn
0
0
ECCFn
CCAPMn
0
PCA模块7位PWM模式
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 311 -
STC8 系列技术手册
18.2.4.3
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
6 位PWM模式
PCA_PWMn 寄存器中的 EBSn[1:0]设置为 10 时,PCA 模块 n 工作于 6 位 PWM 模式,此时将
{0,CL[5:0]}与捕获寄存器{EPCnL,CCAPnL[5:0]}进行比较。当 PCA 模块工作于 6 位 PWM 模式时,由
于所有模块共用一个 PCA 计数器,所有它们的输出频率相同。各个模块的输出占空比使用寄存器
{EPCnL,CCAPnL[5:0]}进行设置。当{0,CL[5:0]}的值小于{EPCnL,CCAPnL[5:0]}时,输出为低电平;当
{0,CL[5:0]}的值等于或大于{EPCnL,CCAPnL[5:0]}时,输出为高电平。当 CL[5:0]的值由 3F 变为 00 溢
出时,{EPCnH,CCAPnH[5:0]}的内容重新装载到{EPCnL,CCAPnL[5:0]}中。这样就可实现无干扰地更新
PWM。
PCA 模块工作于 6 位 PWM 模式的结构图如下图所示:
重载
EPCnH
CCAPnH[5:0]
EPCnL
CCAPnL[5:0]
输出0
{0,CL[5:0]}小于
{EPCnL,CCAPnL[5:0]}
使能
CCPn
7位比较器
{0,CL[5:0]}大于等于
{EPCnL,CCAPnL[5:0]}
0
CL[5:0]
输出1
CL溢出
-
ECOMn
CAPPn
0
1
0
CAPNn MATn TOGn PWMn
0
0
ECCFn
CCAPMn
0
PCA模块6位PWM模式
18.2.4.4
10 位PWM模式
PCA_PWMn 寄存器中的 EBSn[1:0]设置为 11 时,PCA 模块 n 工作于 10 位 PWM 模式,此时将
{CH[1:0],CL[7:0]}与捕获寄存器{EPCnL,XCCAPnL[1:0],CCAPnL[7:0]}进行比较。当 PCA 模块工作于 10
位 PWM 模式时,由于所有模块共用一个 PCA 计数器,所有它们的输出频率相同。各个模块的输出占
空 比 使 用 寄 存 器 {EPCnL,XCCAPnL[1:0],CCAPnL[7:0]} 进 行 设 置 。 当 {CH[1:0],CL[7:0]} 的 值 小 于
{EPCnL,XCCAPnL[1:0],CCAPnL[7:0]} 时 , 输 出 为 低 电 平 ; 当 {CH[1:0],CL[7:0]} 的 值 等 于 或 大 于
{EPCnL,XCCAPnL[1:0],CCAPnL[7:0]}时,输出为高电平。当{CH[1:0],CL[7:0]}的值由 3FF 变为 00 溢出
时,{EPCnH,XCCAPnH[1:0],CCAPnH[7:0]}的内容重新装载到{EPCnL,XCCAPnL[1:0],CCAPnL[7:0]}中。
这样就可实现无干扰地更新 PWM。
PCA 模块工作于 10 位 PWM 模式的结构图如下图所示:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 312 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
EPCnH XCCAPnH[1:0] CCAPnH[7:0]
重载
输出0
EPCnL XCCAPnL[1:0] CCAPnL[7:0]
{0,CH[1:0],CL[7:0]}小于
{EPCnL,XCCAPnL[1:0],CCAPnL[7:0]}
使能
CCPn
11位比较器
{0,CH[1:0],CL[7:0]}大于等于
{EPCnL,XCCAPnL[1:0],CCAPnL[7:0]}
0
CH[1:0]
CL[7:0]
输出1
CL溢出
-
ECOMn
CAPPn
0
1
0
CAPNn MATn TOGn PWMn
0
0
ECCFn
CCAPMn
0
PCA模块10位PWM模式
18.3 范例程序
18.3.1
PCA输出PWM(6/7/8/10 位)
汇编代码
;测试工作频率为 11.0592MHz
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
DATA
BIT
BIT
BIT
BIT
BIT
BIT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
0D8H
CCON.7
CCON.6
CCON.3
CCON.2
CCON.1
CCON.0
0D9H
0E9H
0F9H
0DAH
0EAH
0FAH
0F2H
0DBH
0EBH
0FBH
0F3H
0DCH
0ECH
0FCH
0F4H
0DDH
0EDH
0FDH
0F5H
ORG
LJMP
0000H
MAIN
ORG
0100H
MAIN:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 313 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
MOV
SP,#3FH
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
SETB
CCON,#00H
CMOD,#08H
CL,#00H
CH,#0H
CCAPM0,#42H
PCA_PWM0,#80H
CCAP0L,#20H
CCAP0H,#20H
CCAPM1,#42H
PCA_PWM1,#40H
CCAP1L,#20H
CCAP1H,#20H
CCAPM2,#42H
PCA_PWM2,#00H
CCAP2L,#20H
CCAP2H,#20H
CCAPM3,#42H
PCA_PWM3,#0C0H
CCAP3L,#20H
CCAP3H,#20H
CR
JMP
$
技术支持: 13922829991
研发顾问: 13922805190
;PCA 时钟为系统时钟
;PCA 模块 0 为 PWM 工作模式
;PCA 模块 0 输出 6 位 PWM
;PWM 占空比为 50%[(40H-20H)/40H]
;PCA 模块 1 为 PWM 工作模式
;PCA 模块 1 输出 7 位 PWM
;PWM 占空比为 75%[(80H-20H)/80H]
;PCA 模块 2 为 PWM 工作模式
;PCA 模块 2 输出 8 位 PWM
;PWM 占空比为 87.5%[(100H-20H)/100H]
;PCA 模块 3 为 PWM 工作模式
;PCA 模块 3 输出 10 位 PWM
;PWM 占空比为 96.875%[(400H-20H)/400H]
;启动 PCA 计时器
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sbit
sbit
sbit
sbit
sbit
sbit
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
江苏国芯科技有限公司
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0xd8;
CCON^7;
CCON^6;
CCON^3;
CCON^2;
CCON^1;
CCON^0;
0xd9;
0xe9;
0xf9;
0xda;
0xea;
0xfa;
0xf2;
0xdb;
0xeb;
0xfb;
0xf3;
0xdc;
0xec;
0xfc;
0xf4;
0xdd;
0xed;
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 314 -
STC8 系列技术手册
sfr
sfr
官方网站: www.STCMCUDATA.com / www.STCMCU.com
CCAP3H
PCA_PWM3
=
=
技术支持: 13922829991
研发顾问: 13922805190
0xfd;
0xf5;
void main()
{
CCON = 0x00;
CMOD = 0x08;
CL = 0x00;
CH = 0x00;
CCAPM0 = 0x42;
PCA_PWM0 = 0x80;
CCAP0L = 0x20;
CCAP0H = 0x20;
CCAPM1 = 0x42;
PCA_PWM1 = 0x40;
CCAP1L = 0x20;
CCAP1H = 0x20;
CCAPM2 = 0x42;
PCA_PWM2 = 0x00;
CCAP2L = 0x20;
CCAP2H = 0x20;
CCAPM3 = 0x42;
PCA_PWM3 = 0xc0;
CCAP3L = 0x20;
CCAP3H = 0x20;
CR = 1;
//PCA 时钟为系统时钟
//PCA 模块 0 为 PWM 工作模式
//PCA 模块 0 输出 6 位 PWM
//PWM 占空比为 50%[(40H-20H)/40H]
//PCA 模块 1 为 PWM 工作模式
//PCA 模块 1 输出 7 位 PWM
//PWM 占空比为 75%[(80H-20H)/80H]
//PCA 模块 2 为 PWM 工作模式
//PCA 模块 2 输出 8 位 PWM
//PWM 占空比为 87.5%[(100H-20H)/100H]
//PCA 模块 3 为 PWM 工作模式
//PCA 模块 3 输出 10 位 PWM
//PWM 占空比为 96.875%[(400H-20H)/400H]
//启动 PCA 计时器
while (1);
}
18.3.2
PCA捕获测量脉冲宽度
汇编代码
;测试工作频率为 11.0592MHz
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
DATA
BIT
BIT
BIT
BIT
BIT
BIT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
江苏国芯科技有限公司
0D8H
CCON.7
CCON.6
CCON.3
CCON.2
CCON.1
CCON.0
0D9H
0E9H
0F9H
0DAH
0EAH
0FAH
0F2H
0DBH
0EBH
0FBH
0F3H
0DCH
0ECH
0FCH
0F4H
0DDH
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 315 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
CCAP3L
CCAP3H
PCA_PWM3
DATA
DATA
DATA
0EDH
0FDH
0F5H
CNT
COUNT0
COUNT1
LENGTH
DATA
DATA
DATA
DATA
20H
21H
24H
27H
ORG
LJMP
ORG
LJMP
0000H
MAIN
003BH
PCAISR
ORG
0100H
PUSH
PUSH
JNB
CLR
INC
ACC
PSW
CF,CHECKCCF0
CF
CNT
JNB
CLR
MOV
MOV
MOV
MOV
MOV
MOV
CLR
MOV
SUBB
MOV
MOV
SUBB
MOV
MOV
SUBB
MOV
CCF0,ISREXIT
CCF0
COUNT0,COUNT1
COUNT0+1,COUNT1+1
COUNT0+2,COUNT1+2
COUNT1,CNT
COUNT1+1,CCAP0H
COUNT1+2,CCAP0L
C
A,COUNT1+2
A,COUNT0+2
LENGTH+2,A
A,COUNT1+1
A,COUNT0+1
LENGTH+1,A
A,COUNT1
A,COUNT0
LENGTH,A
POP
POP
RETI
PSW
ACC
MOV
SP,#3FH
CLR
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
A
CNT,A
COUNT0,A
COUNT0+1,A
COUNT0+2,A
COUNT1,A
COUNT1+1,A
COUNT1+2,A
LENGTH,A
LENGTH+1,A
LENGTH+2,A
技术支持: 13922829991
研发顾问: 13922805190
;3 bytes
;3 bytes
;3 bytes, (COUNT1-COUNT0)
PCAISR:
;清中断标志
; PCA 计时溢出次数+1
CHECKCCF0:
;备份上一次的捕获值
;保存本次的捕获值
;计算两次的捕获差值
;LENGTH 保存的即为捕获的脉冲宽度
ISREXIT:
MAIN:
江苏国芯科技有限公司
;用户变量初始化
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 316 -
STC8 系列技术手册
;
;
官方网站: www.STCMCUDATA.com / www.STCMCU.com
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
SETB
SETB
CCON,#00H
CMOD,#09H
CL,#00H
CH,#0H
CCAPM0,#11H
CCAPM0,#21H
CCAPM0,#31H
CCAP0L,#00H
CCAP0H,#00H
CR
EA
JMP
$
技术支持: 13922829991
研发顾问: 13922805190
;PCA 时钟为系统时钟,使能 PCA 计时中断
;PCA 模块 0 为 16 位捕获模式(下降沿捕获)
;PCA 模块 0 为 16 位捕获模式(上升沿捕获)
;PCA 模块 0 为 16 位捕获模式(边沿捕获)
;启动 PCA 计时器
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sbit
sbit
sbit
sbit
sbit
sbit
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
unsigned char
unsigned long
unsigned long
unsigned long
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0xd8;
CCON^7;
CCON^6;
CCON^3;
CCON^2;
CCON^1;
CCON^0;
0xd9;
0xe9;
0xf9;
0xda;
0xea;
0xfa;
0xf2;
0xdb;
0xeb;
0xfb;
0xf3;
0xdc;
0xec;
0xfc;
0xf4;
0xdd;
0xed;
0xfd;
0xf5;
cnt;
count0;
count1;
length;
//存储 PCA 计时溢出次数
//记录上一次的捕获值
//记录本次的捕获值
//存储信号的时间长度
void PCA_Isr() interrupt 7 using 1
{
if (CF)
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 317 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
{
CF = 0;
cnt++;
//PCA 计时溢出次数+1
}
if (CCF0)
{
CCF0 = 0;
count0 = count1;
//备份上一次的捕获值
((unsigned char *)&count1)[3] = CCAP0L;
((unsigned char *)&count1)[2] = CCAP0H;
((unsigned char *)&count1)[1] = cnt;
((unsigned char *)&count1)[0] = 0;
length = count1 - count0;
//length 保存的即为捕获的脉冲宽度
}
}
void main()
{
cnt = 0;
count0 = 0;
count1 = 0;
length = 0;
CCON = 0x00;
CMOD = 0x09;
CL = 0x00;
CH = 0x00;
CCAPM0 = 0x11;
CCAPM0 = 0x21;
CCAPM0 = 0x31;
CCAP0L = 0x00;
CCAP0H = 0x00;
CR = 1;
EA = 1;
//用户变量初始化
//PCA 时钟为系统时钟,使能 PCA 计时中断
//PCA 模块 0 为 16 位捕获模式(下降沿捕获)
//PCA 模块 0 为 16 位捕获模式(下降沿捕获)
//PCA 模块 0 为 16 位捕获模式(下降沿捕获)
//启动 PCA 计时器
while (1);
}
18.3.3
PCA实现 16 位软件定时
汇编代码
;测试工作频率为 11.0592MHz
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
DATA
BIT
BIT
BIT
BIT
BIT
BIT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
江苏国芯科技有限公司
0D8H
CCON.7
CCON.6
CCON.3
CCON.2
CCON.1
CCON.0
0D9H
0E9H
0F9H
0DAH
0EAH
0FAH
0F2H
0DBH
0EBH
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 318 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
0FBH
0F3H
0DCH
0ECH
0FCH
0F4H
0DDH
0EDH
0FDH
0F5H
T50HZ
EQU
2400H
ORG
LJMP
ORG
LJMP
0000H
MAIN
003BH
PCAISR
ORG
0100H
PUSH
PUSH
CLR
MOV
ADD
MOV
MOV
ADDC
MOV
CPL
POP
POP
RETI
ACC
PSW
CCF0
A,CCAP0L
A,#LOW T50HZ
CCAP0L,A
A,CCAP0H
A,#HIGH T50HZ
CCAP0H,A
P1.0
PSW
ACC
MOV
SP,#3FH
MOV
MOV
MOV
MOV
MOV
MOV
MOV
SETB
SETB
CCON,#00H
CMOD,#00H
CL,#00H
CH,#0H
CCAPM0,#49H
CCAP0L,#LOW T50HZ
CCAP0H,#HIGH T50HZ
CR
EA
JMP
$
技术支持: 13922829991
研发顾问: 13922805190
;11059200/12/2/50
PCAISR:
;测试端口,闪烁频率为 50Hz
MAIN:
;PCA 时钟为系统时钟/12
;PCA 模块 0 为 16 位定时器模式
;启动 PCA 计时器
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
#define
T50HZ
江苏国芯科技有限公司
(11059200L / 12 / 2 / 50)
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 319 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
sfr
sbit
sbit
sbit
sbit
sbit
sbit
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0xd8;
CCON^7;
CCON^6;
CCON^3;
CCON^2;
CCON^1;
CCON^0;
0xd9;
0xe9;
0xf9;
0xda;
0xea;
0xfa;
0xf2;
0xdb;
0xeb;
0xfb;
0xf3;
0xdc;
0xec;
0xfc;
0xf4;
0xdd;
0xed;
0xfd;
0xf5;
sbit
P10
=
P1^0;
unsigned int
技术支持: 13922829991
研发顾问: 13922805190
value;
void PCA_Isr() interrupt 7 using 1
{
CCF0 = 0;
CCAP0L = value;
CCAP0H = value >> 8;
value += T50HZ;
P10 = !P10;
//测试端口
}
void main()
{
CCON = 0x00;
CMOD = 0x00;
CL = 0x00;
CH = 0x00;
CCAPM0 = 0x49;
value = T50HZ;
CCAP0L = value;
CCAP0H = value >> 8;
value += T50HZ;
CR = 1;
EA = 1;
//PCA 时钟为系统时钟/12
//PCA 模块 0 为 16 位定时器模式
//启动 PCA 计时器
while (1);
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 320 -
STC8 系列技术手册
18.3.4
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
PCA输出高速脉冲
汇编代码
;测试工作频率为 11.0592MHz
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
DATA
BIT
BIT
BIT
BIT
BIT
BIT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
0D8H
CCON.7
CCON.6
CCON.3
CCON.2
CCON.1
CCON.0
0D9H
0E9H
0F9H
0DAH
0EAH
0FAH
0F2H
0DBH
0EBH
0FBH
0F3H
0DCH
0ECH
0FCH
0F4H
0DDH
0EDH
0FDH
0F5H
T38K4HZ
EQU
90H
ORG
LJMP
ORG
LJMP
0000H
MAIN
003BH
PCAISR
ORG
0100H
PUSH
PUSH
CLR
MOV
ADD
MOV
MOV
ADDC
MOV
POP
POP
RETI
ACC
PSW
CCF0
A,CCAP0L
A,#LOW T38K4HZ
CCAP0L,A
A,CCAP0H
A,#HIGH T38K4HZ
CCAP0H,A
PSW
ACC
MOV
SP,#3FH
MOV
CCON,#00H
;11059200/2/38400
PCAISR:
MAIN:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 321 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
MOV
MOV
MOV
MOV
MOV
MOV
SETB
SETB
CMOD,#08H
CL,#00H
CH,#0H
CCAPM0,#4DH
CCAP0L,#LOW T38K4HZ
CCAP0H,#HIGH T38K4HZ
CR
EA
JMP
$
技术支持: 13922829991
研发顾问: 13922805190
;PCA 时钟为系统时钟
;PCA 模块 0 为 16 位定时器模式并使能脉冲输出
;启动 PCA 计时器
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
#define
T38K4HZ
sfr
sbit
sbit
sbit
sbit
sbit
sbit
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
unsigned int
(11059200L / 2 / 38400)
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0xd8;
CCON^7;
CCON^6;
CCON^3;
CCON^2;
CCON^1;
CCON^0;
0xd9;
0xe9;
0xf9;
0xda;
0xea;
0xfa;
0xf2;
0xdb;
0xeb;
0xfb;
0xf3;
0xdc;
0xec;
0xfc;
0xf4;
0xdd;
0xed;
0xfd;
0xf5;
value;
void PCA_Isr() interrupt 7 using 1
{
CCF0 = 0;
CCAP0L = value;
CCAP0H = value >> 8;
value += T38K4HZ;
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 322 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
void main()
{
CCON = 0x00;
CMOD = 0x08;
CL = 0x00;
CH = 0x00;
CCAPM0 = 0x4d;
value = T38K4HZ;
CCAP0L = value;
CCAP0H = value >> 8;
value += T38K4HZ;
CR = 1;
EA = 1;
技术支持: 13922829991
研发顾问: 13922805190
//PCA 时钟为系统时钟
//PCA 模块 0 为 16 位定时器模式并使能脉冲输出
//启动 PCA 计时器
while (1);
}
18.3.5
PCA扩展外部中断
汇编代码
;测试工作频率为 11.0592MHz
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
DATA
BIT
BIT
BIT
BIT
BIT
BIT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
0D8H
CCON.7
CCON.6
CCON.3
CCON.2
CCON.1
CCON.0
0D9H
0E9H
0F9H
0DAH
0EAH
0FAH
0F2H
0DBH
0EBH
0FBH
0F3H
0DCH
0ECH
0FCH
0F4H
0DDH
0EDH
0FDH
0F5H
ORG
LJMP
ORG
LJMP
0000H
MAIN
003BH
PCAISR
ORG
0100H
CLR
CPL
CCF0
P1.0
PCAISR:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 323 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
RETI
MAIN:
;
;
MOV
SP,#3FH
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
SETB
SETB
CCON,#00H
CMOD,#08H
CL,#00H
CH,#0H
CCAPM0,#11H
CCAPM0,#21H
CCAPM0,#31H
CCAP0L,#0
CCAP0H,#0
CR
EA
JMP
$
;PCA 时钟为系统时钟
;扩展外部端口 CCP0 为下降沿中断口
;扩展外部端口 CCP0 为上升沿中断口
;扩展外部端口 CCP0 为边沿中断口
;启动 PCA 计时器
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sbit
sbit
sbit
sbit
sbit
sbit
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
sfr
CCON
CF
CR
CCF3
CCF2
CCF1
CCF0
CMOD
CL
CH
CCAPM0
CCAP0L
CCAP0H
PCA_PWM0
CCAPM1
CCAP1L
CCAP1H
PCA_PWM1
CCAPM2
CCAP2L
CCAP2H
PCA_PWM2
CCAPM3
CCAP3L
CCAP3H
PCA_PWM3
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0xd8;
CCON^7;
CCON^6;
CCON^3;
CCON^2;
CCON^1;
CCON^0;
0xd9;
0xe9;
0xf9;
0xda;
0xea;
0xfa;
0xf2;
0xdb;
0xeb;
0xfb;
0xf3;
0xdc;
0xec;
0xfc;
0xf4;
0xdd;
0xed;
0xfd;
0xf5;
sbit
P10
=
P1^0;
void PCA_Isr() interrupt 7 using 1
{
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 324 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
CCF0 = 0;
P10 = !P10;
}
void main()
{
CCON = 0x00;
CMOD = 0x08;
CL = 0x00;
CH = 0x00;
CCAPM0 = 0x11;
//
CCAPM0 = 0x21;
//
CCAPM0 = 0x31;
CCAP0L = 0;
CCAP0H = 0;
CR = 1;
EA = 1;
//PCA 时钟为系统时钟
//扩展外部端口 CCP0 为下降沿中断口
//扩展外部端口 CCP0 为上升沿中断口
//扩展外部端口 CCP0 为边沿中断口
//启动 PCA 计时器
while (1);
}
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 325 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
19 增强型PWM
STC8 系列单片机集成了一组(各自独立 8 路)增强型的 PWM 波形发生器。PWM 波形发生器内
部有一个 15 位的 PWM 计数器供 8 路 PWM 使用,用户可以设置每路 PWM 的初始电平。另外,PWM
波形发生器为每路 PWM 又设计了两个用于控制波形翻转的计数器 T1/T2,可以非常灵活的每路 PWM
的高低电平宽度,从而达到对 PWM 的占空比以及 PWM 的输出延迟进行控制的目的。由于 8 路 PWM
是各自独立的,且每路 PWM 的初始状态可以进行设定,所以用户可以将其中的任意两路配合起来使用,
即可实现互补对称输出以及死区控制等特殊应用。
增强型的 PWM 波形发生器还设计了对外部异常事件(包括外部端口 P3.5 电平异常、比较器比较
结果异常)进行监控的功能,可用于紧急关闭 PWM 输出。PWM 波形发生器还可与 ADC 相关联,设
置 PWM 周期的任一时间点触发 ADC 转换事件。
19.1 PWM相关的寄存器
位地址与符号
符号
描述
地址
复位值
B7
B6
B5
B4
B3
B2
B1
B0
PWMCFG
增强型 PWM 配置寄存器
F1H
CBIF
ETADC
-
-
-
-
-
-
00xx,xxxx
PWMIF
增强型 PWM 中断标志寄存器
F6H
C7IF
C6IF
C5IF
C4IF
C3IF
C2IF
C1IF
C0IF
0000,0000
PWMFDCR
PWM 异常检测控制寄存器
F7H
INVCMP
INVIO
ENFD
FLTFLIO
EFDI
FDCMP
FDIO
FDIF
0000,0000
PWMCR
PWM 控制寄存器
FEH
ENPWM
ECBI
-
-
-
-
-
-
00xx,xxxx
符号
描述
地址
B3
B2
B1
位地址与符号
复位值
B7
B6
B5
PWMCH
PWM 计数器高字节
FFF0H
PWMCL
PWM 计数器低字节
FFF1H
PWMCKS
PWM 时钟选择
FFF2H
-
TADCPH
触发 ADC 计数值高字节
FFF3H
-
TADCPL
触发 ADC 计数值低字节
FFF4H
PWM0T1H
PWM0T1 计数值高字节
FF00H
PWM0T1L
PWM0T1 计数值低节
FF01H
PWM0T2H
PWM0T2 数值高字节
FF02H
PWM0T2L
PWM0T2 数值低节
FF03H
PWM0CR
PWM0 控制寄存器
FF04H
ENC0O
C0INI
-
PWM0HLD
PWM0 电平保持控制寄存器
FF05H
-
-
-
PWM1T1H
PWM1T1 计数值高字节
FF10H
-
PWM1T1L
PWM1T1 计数值低节
FF11H
PWM1T2H
PWM1T2 数值高字节
FF12H
PWM1T2L
PWM1T2 数值低节
FF13H
PWM1CR
PWM1 控制寄存器
FF14H
ENC1O
C1INI
-
PWM1HLD
PWM1 电平保持控制寄存器
FF15H
-
-
-
PWM2T1H
PWM2T1 计数值高字节
FF20H
-
PWM2T1L
PWM2T1 计数值低节
FF21H
PWM2T2H
PWM2T2 数值高字节
FF22H
江苏国芯科技有限公司
B4
B0
-
x000,0000
0000,0000
-
-
SELT2
PWM_PS[3:0]
xxx0,0000
x000,0000
0000,0000
-
x000,0000
0000,0000
-
x000,0000
0000,0000
C0_S[1:0]
-
EC0I
-
-
EC0T2SI EC0T1SI 00x0,0000
HC0H
HC0L
xxxx,xx00
x000,0000
0000,0000
-
x000,0000
0000,0000
C1_S[1:0]
-
EC1I
-
-
EC1T2SI EC1T1SI 00x0,0000
HC1H
HC1L
xxxx,xx00
x000,0000
0000,0000
-
总机: 0513-5501 2928/2929/2966
x000,0000
传真: 0513-5501 2926/2956/2947
- 326 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
PWM2T2L
PWM2T2 数值低节
FF23H
PWM2CR
PWM2 控制寄存器
FF24H
ENC2O
C2INI
-
PWM2HLD
PWM2 电平保持控制寄存器
FF25H
-
-
-
PWM3T1H
PWM3T1 计数值高字节
FF30H
-
PWM3T1L
PWM3T1 计数值低节
FF31H
PWM3T2H
PWM3T2 数值高字节
FF32H
PWM3T2L
PWM3T2 数值低节
FF33H
PWM3CR
PWM3 控制寄存器
FF34H
ENC3O
C3INI
-
PWM3HLD
PWM3 电平保持控制寄存器
FF35H
-
-
-
PWM4T1H
PWM4T1 计数值高字节
FF40H
-
PWM4T1L
PWM4T1 计数值低节
FF41H
PWM4T2H
PWM4T2 数值高字节
FF42H
PWM4T2L
PWM4T2 数值低节
FF43H
PWM4CR
PWM4 控制寄存器
FF44H
ENC4O
C4INI
-
PWM4HLD
PWM4 电平保持控制寄存器
FF45H
-
-
-
PWM5T1H
PWM5T1 计数值高字节
FF50H
-
PWM5T1L
PWM5T1 计数值低节
FF51H
PWM5T2H
PWM5T2 数值高字节
FF52H
PWM5T2L
PWM5T2 数值低节
FF53H
PWM5CR
PWM5 控制寄存器
FF54H
ENC5O
C5INI
-
PWM5HLD
PWM5 电平保持控制寄存器
FF55H
-
-
-
PWM6T1H
PWM6T1 计数值高字节
FF60H
-
PWM6T1L
PWM6T1 计数值低节
FF61H
PWM6T2H
PWM6T2 数值高字节
FF62H
PWM6T2L
PWM6T2 数值低节
FF63H
PWM6CR
PWM6 控制寄存器
FF64H
ENC6O
C6INI
-
PWM6HLD
PWM6 电平保持控制寄存器
FF65H
-
-
-
PWM7T1H
PWM7T1 计数值高字节
FF70H
-
PWM7T1L
PWM7T1 计数值低节
FF71H
PWM7T2H
PWM7T2 数值高字节
FF72H
PWM7T2L
PWM7T2 数值低节
FF73H
PWM7CR
PWM7 控制寄存器
FF74H
ENC7O
C7INI
-
PWM7HLD
PWM7 电平保持控制寄存器
FF75H
-
-
-
技术支持: 13922829991
研发顾问: 13922805190
0000,0000
C2_S[1:0]
-
EC2I
-
-
EC2T2SI EC2T1SI 00x0,0000
HC2H
HC2L
xxxx,xx00
x000,0000
0000,0000
-
x000,0000
0000,0000
C3_S[1:0]
-
EC3I
-
-
EC3T2SI EC3T1SI 00x0,0000
HC3H
HC3L
xxxx,xx00
x000,0000
0000,0000
-
x000,0000
0000,0000
C4_S[1:0]
-
EC4I
-
-
EC4T2SI EC4T1SI 00x0,0000
HC4H
HC4L
xxxx,xx00
x000,0000
0000,0000
-
x000,0000
0000,0000
C5_S[1:0]
-
EC5I
-
-
EC5T2SI EC5T1SI 00x0,0000
HC5H
HC5L
xxxx,xx00
x000,0000
0000,0000
-
x000,0000
0000,0000
C6_S[1:0]
-
EC6I
-
-
EC6T2SI EC6T1SI 00x0,0000
HC6H
HC6L
xxxx,xx00
x000,0000
0000,0000
-
x000,0000
0000,0000
C7_S[1:0]
-
EC7I
-
-
EC7T2SI EC7T1SI 00x0,0000
HC7H
HC7L
xxxx,xx00
PWM 配置寄存器
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
PWMCFG
F1H
CBIF
ETADC
-
-
-
-
-
-
CBIF:PWM 计数器归零中断标志位。
当 15 位的 PWM 计数器记满溢出归零时,硬件自动将此位置 1,并向 CPU 提出中断请求,此标志
位需要软件清零。
ETADC:PWM 是否与 ADC 关联
0:PWM 与 ADC 不关联
允许在 PWM 周期中某个时间点触发 A/D 转换。使用 TADCPH 和 TADCPL
1:PWM 与 ADC 相关联。
进行设置。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 327 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
PWM 中断标志寄存器
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
PWMIF
F6H
C7IF
C6IF
C5IF
C4IF
C3IF
C2IF
C1IF
C0IF
CnIF:第 n 通道 PWM 的中断标志位。
可设置在各路 PWM 的翻转点 1 和翻转点 2。当所设置的翻转点发生翻转事件时,硬件自动将此位
置 1,并向 CPU 提出中断请求,此标志位需要软件清零。
PWM 异常检测控制寄存器
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
PWMFDCR
F7H
INVCMP
INVIO
ENFD
FLTFLIO
EFDI
FDCMP
FDIO
FDIF
INVCMP:比较器器结果异常信号处理
0:比较器器结果由低变高为异常信号
1:比较器器结果由高变低为异常信号
INVIO:外部端口 P3.5 异常信号处理
0:外部端口 P3.5 信号由低变高为异常信号
1:外部端口 P3.5 信号由高变低为异常信号
ENFD:PWM 外部异常检测控制位
0:关闭 PWM 外部异常检测功能
1:使能 PWM 外部异常检测功能
FLTFLIO:发生 PWM 外部异常时对 PWM 输出口控制位
0:发生 WM 外部异常时,PWM 的输出口不作任何改变
(注:只有 ENCnO=1 所对
1:发生 WM 外部异常时,PWM 的输出口立即被设置为高阻输入模式。
应的端口才会被强制悬空)
EFDI:PWM 异常检测中断使能位
0:关闭 PWM 异常检测中断(FDIF 依然会被硬件置位)
1:使能 PWM 异常检测中断
FDCMP:比较器输出异常检测使能位
0:比较器与 PWM 无关
1:设定 PWM 异常检测源为比较器输出(异常类型有 INVCMP 设定)
FDIO:P3.5 口电平异常检测使能位
0:P3.5 口电平与 PWM 无关
1:设定 PWM 异常检测源为 P3.5 口(异常类型有 INVIO 设定)
FDIF:PWM 异常检测中断标志位
当发生 PWM 异常(比较器的输出由低变高或者 P3.5 的电平由低变高)时,硬件自动将此位置 1。
当 EFDI==1 时,程序会跳转到相应中断入口执行中断服务程序。需要软件清零。
PWM 控制寄存器
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
PWMCR
FEH
ENPWM
ECBI
-
-
-
-
-
-
ENPWM:使能增强型 PWM 波形发生器
0:关闭 PWM 波形发生器
1:使能 PWM 波形发生器,PWM 计数器开始计数
关于 ENPWM 控制位的重要说明:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 328 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
ENPWM 一旦被使能后,内部的 PWM 计数器会立即开始计数,并与 T1/T2 两个翻转点的值进
行比较。所以 ENPWM 必须在其他所有的 PWM 设置(包括 T1/T2 翻转点的设置、初始电平
的设置、PWM 异常检测的设置以及 PWM 中断设置)都完成后,最后才能使能 ENPWM 位。
也是 PWM 计数器开始计数的控制位。
在 PWM
ENPWM 控制位既是整个 PWM 模块的的使能位,
计数器计数的过程中,ENPWM 控制位被关闭时,PWM 计数会立即停止,当再次使能 ENPWM
控制位时,PWM 的计数会从 0 开始重新计数,而不会记忆 PWM 停止计数前的计数值
ECBI:PWM 计数器归零中断使能位
0:关闭 PWM 计数器归零中断(CBIF 依然会被硬件置位)
1:使能 PWM 计数器归零中断
PWM 计数器寄存器
符号
地址
B7
PWMCH
FFF0H
-
PWMCL
FFF1H
B6
B5
B4
B3
B2
B1
B0
PWM 计数器位一个 15 位的寄存器,可设定 1~32767 之间的任意值作为 PWM 的周期。PWM 波形发生
器内部的计数器从 0 开始计数,每个 PWM 时钟周期递增 1,当内部计数器的计数值达到[PWMCH,
PWMCL]所设定的 PWM 周期时,PWM 波形发生器内部的计数器将会从 0 重新开始开始计数,硬
件会自动将 PWM 归零中断中断标志位 CBIF 置 1,若 ECBI=1,程序将跳转到相应中断入口执行中
断服务程序。
PWM 时钟选择寄存器
符号
地址
B7
B6
B5
B4
PWMCKS
FFF2H
-
-
-
SELT2
B3
B2
B1
B0
PWM_PS[3:0]
SELT2:PWM 时钟源选择
0:PWM 时钟源为系统时钟经分频器分频之后的时钟
1:PWM 时钟源为定时器 2 的溢出脉冲
PWM_PS[3:0]:系统时钟预分频参数
SELT2
PWM_PS[3:0]
PWM 输入时钟源频率
1
xxxx
定时器 2 的溢出脉冲
0
0000
SYSclk/1
0
0001
SYSclk/2
0
0010
SYSclk/3
…
…
…
0
x
SYSclk/(x+1)
…
…
…
0
1111
SYSclk/16
PWM 触发 ADC 计数器寄存器
符号
地址
B7
TADCPH
FFF3H
-
TADCPL
FFF4H
B6
B5
B4
B3
B2
B1
B0
在 ETADC=1 且 ADC_POWER=1 时,{TADCPH,TADCPL}组成一个 15 位的寄存器。在 PWM 的计数周
期中,当 PWM 的内部计数值与{TADCPH,TADCPL}的值相等时,硬件自动触发 A/D 转换。
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 329 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
PWM 翻转点设置计数值寄存器
符号
地址
B7
PWM0T1H
FF00H
-
PWM0T1L
FF01H
PWM0T2H
FF02H
PWM0T2L
FF03H
PWM1T1H
FF10H
PWM1T1L
FF11H
PWM1T2H
FF12H
PWM1T2L
FF13H
PWM2T1H
FF20H
PWM2T1L
FF21H
PWM2T2H
FF22H
PWM2T2L
FF23H
PWM3T1H
FF30H
PWM3T1L
FF31H
PWM3T2H
FF32H
PWM3T2L
FF33H
PWM4T1H
FF40H
PWM4T1L
FF41H
PWM4T2H
FF42H
PWM4T2L
FF43H
PWM5T1H
FF50H
PWM5T1L
FF51H
PWM5T2H
FF52H
PWM5T2L
FF53H
PWM6T1H
FF60H
PWM6T1L
FF61H
PWM6T2H
FF62H
PWM6T2L
FF63H
PWM7T1H
FF70H
PWM7T1L
FF71H
PWM7T2H
FF72H
PWM7T2L
FF73H
B6
B5
B4
B3
B2
B1
B0
-
PWM 每个通道的{PWMnT1H, PWMnT1L}和{PWMnT2H, PWMnT2L}分别组合成两个 15 位的寄存器,
用于控制各路 PWM 每个周期中输出 PWM 波形的两个翻转点。在 PWM 的计数周期中,当 PWM
的内部计数值与所设置的第 1 个翻转点的值{PWMnT1H, PWMnT1L}相等时,PWM 的输出波形会
自动翻转为低电平;当 PWM 的内部计数值与所设置的第 2 个翻转点的值{PWMnT2H, PWMnT2L}
相等时,PWM 的输出波形会自动翻转为高电平。
注意:当{PWMnT1H, PWMnT1L}与{PWMnT2H, PWMnT2L}的值设置相等时,第 2 组翻转点的匹配将
被忽略,即只会翻转为低电平。
PWM 通道控制寄存器
符号
地址
江苏国芯科技有限公司
B7
B6
B5
总机: 0513-5501 2928/2929/2966
B4
B3
B2
B1
传真: 0513-5501 2926/2956/2947
B0
- 330 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
PWM0CR
FF04H
ENC0O
C0INI
-
C0_S[1:0]
EC0I
EC0T2SI
EC0T1SI
PWM1CR
FF14H
ENC1O
C1INI
-
C1_S[1:0]
EC1I
EC1T2SI
EC1T1SI
PWM2CR
FF24H
ENC2O
C2INI
-
C2_S[1:0]
EC2I
EC2T2SI
EC2T1SI
PWM3CR
FF34H
ENC3O
C3INI
-
C3_S[1:0]
EC3I
EC3T2SI
EC3T1SI
PWM4CR
FF44H
ENC4O
C4INI
-
C4_S[1:0]
EC4I
EC4T2SI
EC4T1SI
PWM5CR
FF54H
ENC5O
C5INI
-
C5_S[1:0]
EC5I
EC5T2SI
EC5T1SI
PWM6CR
FF64H
ENC6O
C6INI
-
C6_S[1:0]
EC6I
EC6T2SI
EC6T1SI
PWM7CR
FF74H
ENC7O
C7INI
-
C7_S[1:0]
EC7I
EC7T2SI
EC7T1SI
ENCnO:PWM 输出使能位
0:相应 PWM 通道的端口为 GPIO
1:相应 PWM 通道的端口为 PWM 输出口,受 PWM 波形发生器控制
CnINI:设置 PWM 输出端口的初始电平
0:第 n 通道的 PWM 初始电平为低电平
1:第 n 通道的 PWM 初始电平为高电平
Cn_S[1:0]:PWM 输出功能脚切换选择,请参考功能脚切换章节。
ECnI:第 n 通道的 PWM 中断使能控制位
0:关闭第 n 通道的 PWM 中断
1:使能第 n 通道的 PWM 中断
ECnT2SI:第 n 通道的 PWM 在第 2 个翻转点中断使能控制位
0:关闭第 n 通道的 PWM 在第 2 个翻转点中断
1:使能第 n 通道的 PWM 在第 2 个翻转点中断
ECnT1SI:第 n 通道的 PWM 在第 1 个翻转点中断使能控制位
0:关闭第 n 通道的 PWM 在第 1 个翻转点中断
1:使能第 n 通道的 PWM 在第 1 个翻转点中断
PWM 通道电平保持控制寄存器
符号
地址
B7
B6
B5
B4
B3
B2
B1
B0
PWM0HLD
FF05H
-
-
-
-
-
-
HC0H
HC0L
PWM1HLD
FF15H
-
-
-
-
-
-
HC1H
HC1L
PWM2HLD
FF25H
-
-
-
-
-
-
HC2H
HC2L
PWM3HLD
FF35H
-
-
-
-
-
-
HC3H
HC3L
PWM4HLD
FF45H
-
-
-
-
-
-
HC4H
HC4L
PWM5HLD
FF55H
-
-
-
-
-
-
HC5H
HC5L
PWM6HLD
FF65H
-
-
-
-
-
-
HC6H
HC6L
PWM7HLD
FF75H
-
-
-
-
-
-
HC7H
HC7L
HCnH:第 n 通道 PWM 强制输出高电平控制位
0:第 n 通道 PWM 正常输出
1:第 n 通道 PWM 强制输出高电平
HCnL:第 n 通道 PWM 强制输出低电平控制位
0:第 n 通道 PWM 正常输出
1:第 n 通道 PWM 强制输出低电平
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 331 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
19.2 范例程序
19.2.1
输出任意周期和任意占空比的波形
汇编代码
;测试工作频率为 11.0592MHz
P_SW2
DATA
0BAH
PWMCFG
PWMIF
PWMFDCR
PWMCR
PWMCH
PWMCL
PWMCKS
TADCPH
TADCPL
PWM0T1H
PWM0T1L
PWM0T2H
PWM0T2L
PWM0CR
PWM0HLD
PWM1T1H
PWM1T1L
PWM1T2H
PWM1T2L
PWM1CR
PWM1HLD
PWM2T1H
PWM2T1L
PWM2T2H
PWM2T2L
PWM2CR
PWM2HLD
PWM3T1H
PWM3T1L
PWM3T2H
PWM3T2L
PWM3CR
PWM3HLD
PWM4T1H
PWM4T1L
PWM4T2H
PWM4T2L
PWM4CR
PWM4HLD
PWM5T1H
PWM5T1L
PWM5T2H
PWM5T2L
PWM5CR
PWM5HLD
PWM6T1H
PWM6T1L
PWM6T2H
PWM6T2L
DATA
DATA
DATA
DATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
0F1H
0F6H
0F7H
0FEH
0FFF0H
0FFF1H
0FFF2H
0FFF3H
0FFF4H
0FF00H
0FF01H
0FF02H
0FF03H
0FF04H
0FF05H
0FF10H
0FF11H
0FF12H
0FF13H
0FF14H
0FF15H
0FF20H
0FF21H
0FF22H
0FF23H
0FF24H
0FF25H
0FF30H
0FF31H
0FF32H
0FF33H
0FF34H
0FF35H
0FF40H
0FF41H
0FF42H
0FF43H
0FF44H
0FF45H
0FF50H
0FF51H
0FF52H
0FF53H
0FF54H
0FF55H
0FF60H
0FF61H
0FF62H
0FF63H
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 332 -
STC8 系列技术手册
PWM6CR
PWM6HLD
PWM7T1H
PWM7T1L
PWM7T2H
PWM7T2L
PWM7CR
PWM7HLD
官方网站: www.STCMCUDATA.com / www.STCMCU.com
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
0FF64H
0FF65H
0FF70H
0FF71H
0FF72H
0FF73H
0FF74H
0FF75H
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
CLR
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
P_SW2,#80H
A
DPTR,#PWMCKS
@DPTR,A
A,#10H
DPTR,#PWMCH
@DPTR,A
A,#00H
DPTR,#PWMCL
@DPTR,A
A,#01H
DPTR,#PWM0T1H
@DPTR,A
A,#00H
DPTR,#PWM0T1L
@DPTR,A
A,#05H
DPTR,#PWM0T2H
@DPTR,A
A,#00H
DPTR,#PWM0T2L
@DPTR,A
A,#80H
DPTR,#PWM0CR
@DPTR,A
P_SW2,#00H
MOV
PWMCR,#080H
JMP
$
技术支持: 13922829991
研发顾问: 13922805190
MAIN:
;PWM 时钟为系统时钟
;设置 PWM 周期为 1000H 个 PWM 时钟
;在计数值为 100H 地方输出低电平
;在计数值为 500H 地方输出高电平
;使能 PWM0 输出
;启动 PWM 模块
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
sfr
sfr
sfr
sfr
sfr
P_SW2
PWMCFG
PWMIF
PWMFDCR
PWMCR
江苏国芯科技有限公司
=
=
=
=
=
0xba;
0xf1;
0xf6;
0xf7;
0xfe;
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 333 -
STC8 系列技术手册
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
官方网站: www.STCMCUDATA.com / www.STCMCU.com
PWMC
PWMCKS
TADCP
PWM0T1
PWM0T2
PWM0CR
PWM0HLD
PWM1T1
PWM1T2
PWM1CR
PWM1HLD
PWM2T1
PWM2T2
PWM2CR
PWM2HLD
PWM3T1
PWM3T2
PWM3CR
PWM3HLD
PWM4T1
PWM4T2
PWM4CR
PWM4HLD
PWM5T1
PWM5T2
PWM5CR
PWM5HLD
PWM6T1
PWM6T2
PWM6CR
PWM6HLD
PWM7T1
PWM7T2
PWM7CR
PWM7HLD
技术支持: 13922829991
研发顾问: 13922805190
(*(unsigned int volatile xdata *)0xfff0)
(*(unsigned char volatile xdata *)0xfff2)
(*(unsigned int volatile xdata *)0xfff3)
(*(unsigned int volatile xdata *)0xff00)
(*(unsigned int volatile xdata *)0xff02)
(*(unsigned char volatile xdata *)0xff04)
(*(unsigned char volatile xdata *)0xff05)
(*(unsigned int volatile xdata *)0xff10)
(*(unsigned int volatile xdata *)0xff12)
(*(unsigned char volatile xdata *)0xff14)
(*(unsigned char volatile xdata *)0xff15)
(*(unsigned int volatile xdata *)0xff20)
(*(unsigned int volatile xdata *)0xff22)
(*(unsigned char volatile xdata *)0xff24)
(*(unsigned char volatile xdata *)0xff25)
(*(unsigned int volatile xdata *)0xff30)
(*(unsigned int volatile xdata *)0xff32)
(*(unsigned char volatile xdata *)0xff34)
(*(unsigned char volatile xdata *)0xff35)
(*(unsigned int volatile xdata *)0xff40)
(*(unsigned int volatile xdata *)0xff42)
(*(unsigned char volatile xdata *)0xff44)
(*(unsigned char volatile xdata *)0xff45)
(*(unsigned int volatile xdata *)0xff50)
(*(unsigned int volatile xdata *)0xff52)
(*(unsigned char volatile xdata *)0xff54)
(*(unsigned char volatile xdata *)0xff55)
(*(unsigned int volatile xdata *)0xff60)
(*(unsigned int volatile xdata *)0xff62)
(*(unsigned char volatile xdata *)0xff64)
(*(unsigned char volatile xdata *)0xff65)
(*(unsigned int volatile xdata *)0xff70)
(*(unsigned int volatile xdata *)0xff72)
(*(unsigned char volatile xdata *)0xff74)
(*(unsigned char volatile xdata *)0xff75)
void main()
{
P_SW2 = 0x80;
PWMCKS = 0x00;
PWMC = 0x1000;
PWM0T1= 0x0100;
PWM0T2= 0x0500;
PWM0CR= 0x80;
P_SW2 = 0x00;
// PWM 时钟为系统时钟
//设置 PWM 周期为 1000H 个 PWM 时钟
//在计数值为 100H 地方输出低电平
//在计数值为 500H 地方输出高电平
//使能 PWM0 输出
//启动 PWM 模块
PWMCR = 0x80;
while (1);
}
19.2.2
两路PWM实现互补对称带死区控制的波形
汇编代码
;测试工作频率为 11.0592MHz
P_SW2
DATA
江苏国芯科技有限公司
0BAH
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 334 -
STC8 系列技术手册
PWMCFG
PWMIF
PWMFDCR
PWMCR
PWMCH
PWMCL
PWMCKS
TADCPH
TADCPL
PWM0T1H
PWM0T1L
PWM0T2H
PWM0T2L
PWM0CR
PWM0HLD
PWM1T1H
PWM1T1L
PWM1T2H
PWM1T2L
PWM1CR
PWM1HLD
PWM2T1H
PWM2T1L
PWM2T2H
PWM2T2L
PWM2CR
PWM2HLD
PWM3T1H
PWM3T1L
PWM3T2H
PWM3T2L
PWM3CR
PWM3HLD
PWM4T1H
PWM4T1L
PWM4T2H
PWM4T2L
PWM4CR
PWM4HLD
PWM5T1H
PWM5T1L
PWM5T2H
PWM5T2L
PWM5CR
PWM5HLD
PWM6T1H
PWM6T1L
PWM6T2H
PWM6T2L
PWM6CR
PWM6HLD
PWM7T1H
PWM7T1L
PWM7T2H
PWM7T2L
PWM7CR
PWM7HLD
官方网站: www.STCMCUDATA.com / www.STCMCU.com
DATA
DATA
DATA
DATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
江苏国芯科技有限公司
技术支持: 13922829991
研发顾问: 13922805190
0F1H
0F6H
0F7H
0FEH
0FFF0H
0FFF1H
0FFF2H
0FFF3H
0FFF4H
0FF00H
0FF01H
0FF02H
0FF03H
0FF04H
0FF05H
0FF10H
0FF11H
0FF12H
0FF13H
0FF14H
0FF15H
0FF20H
0FF21H
0FF22H
0FF23H
0FF24H
0FF25H
0FF30H
0FF31H
0FF32H
0FF33H
0FF34H
0FF35H
0FF40H
0FF41H
0FF42H
0FF43H
0FF44H
0FF45H
0FF50H
0FF51H
0FF52H
0FF53H
0FF54H
0FF55H
0FF60H
0FF61H
0FF62H
0FF63H
0FF64H
0FF65H
0FF70H
0FF71H
0FF72H
0FF73H
0FF74H
0FF75H
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 335 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
ORG
LJMP
0000H
MAIN
ORG
0100H
MOV
CLR
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
P_SW2,#80H
A
DPTR,#PWMCKS
@DPTR,A
A,#08H
DPTR,#PWMCH
@DPTR,A
A,#00H
DPTR,#PWMCL
@DPTR,A
A,#01H
DPTR,#PWM0T1H
@DPTR,A
A,#00H
DPTR,#PWM0T1L
@DPTR,A
A,#07H
DPTR,#PWM0T2H
@DPTR,A
A,#00H
DPTR,#PWM0T2L
@DPTR,A
A,#00H
DPTR,#PWM1T2H
@DPTR,A
A,#80H
DPTR,#PWM1T2L
@DPTR,A
A,#07H
DPTR,#PWM1T1H
@DPTR,A
A,#80H
DPTR,#PWM1T1L
@DPTR,A
A,#080H
DPTR,#PWM0CR
@DPTR,A
A,#80H
DPTR,#PWM1CR
@DPTR,A
P_SW2,#00H
MOV
PWMCR,#080H
JMP
$
技术支持: 13922829991
研发顾问: 13922805190
MAIN:
;PWM 时钟为系统时钟
;设置 PWM 周期为 0800H 个 PWM 时钟
;PWM0 在计数值为 0100H 地方输出低电平
;PWM0 在计数值为 0700H 地方输出高电平
;PWM1 在计数值为 0080H 地方输出高电平
;PWM1 在计数值为 0780H 地方输出低电平
;使能 PWM0 输出
;使能 PWM1 输出
;启动 PWM 模块
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 336 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
sfr
sfr
sfr
sfr
sfr
P_SW2
PWMCFG
PWMIF
PWMFDCR
PWMCR
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
PWMC
PWMCKS
TADCP
PWM0T1
PWM0T2
PWM0CR
PWM0HLD
PWM1T1
PWM1T2
PWM1CR
PWM1HLD
PWM2T1
PWM2T2
PWM2CR
PWM2HLD
PWM3T1
PWM3T2
PWM3CR
PWM3HLD
PWM4T1
PWM4T2
PWM4CR
PWM4HLD
PWM5T1
PWM5T2
PWM5CR
PWM5HLD
PWM6T1
PWM6T2
PWM6CR
PWM6HLD
PWM7T1
PWM7T2
PWM7CR
PWM7HLD
void main()
{
P_SW2 = 0x80;
PWMCKS = 0x00;
PWMC = 0x0800;
PWM0T1= 0x0100;
PWM0T2= 0x0700;
PWM1T2= 0x0080;
PWM1T1= 0x0780;
PWM0CR= 0x80;
PWM1CR= 0x80;
P_SW2 = 0x00;
PWMCR = 0x80;
=
=
=
=
=
技术支持: 13922829991
研发顾问: 13922805190
0xba;
0xf1;
0xf6;
0xf7;
0xfe;
(*(unsigned int volatile xdata *)0xfff0)
(*(unsigned char volatile xdata *)0xfff2)
(*(unsigned int volatile xdata *)0xfff3)
(*(unsigned int volatile xdata *)0xff00)
(*(unsigned int volatile xdata *)0xff02)
(*(unsigned char volatile xdata *)0xff04)
(*(unsigned char volatile xdata *)0xff05)
(*(unsigned int volatile xdata *)0xff10)
(*(unsigned int volatile xdata *)0xff12)
(*(unsigned char volatile xdata *)0xff14)
(*(unsigned char volatile xdata *)0xff15)
(*(unsigned int volatile xdata *)0xff20)
(*(unsigned int volatile xdata *)0xff22)
(*(unsigned char volatile xdata *)0xff24)
(*(unsigned char volatile xdata *)0xff25)
(*(unsigned int volatile xdata *)0xff30)
(*(unsigned int volatile xdata *)0xff32)
(*(unsigned char volatile xdata *)0xff34)
(*(unsigned char volatile xdata *)0xff35)
(*(unsigned int volatile xdata *)0xff40)
(*(unsigned int volatile xdata *)0xff42)
(*(unsigned char volatile xdata *)0xff44)
(*(unsigned char volatile xdata *)0xff45)
(*(unsigned int volatile xdata *)0xff50)
(*(unsigned int volatile xdata *)0xff52)
(*(unsigned char volatile xdata *)0xff54)
(*(unsigned char volatile xdata *)0xff55)
(*(unsigned int volatile xdata *)0xff60)
(*(unsigned int volatile xdata *)0xff62)
(*(unsigned char volatile xdata *)0xff64)
(*(unsigned char volatile xdata *)0xff65)
(*(unsigned int volatile xdata *)0xff70)
(*(unsigned int volatile xdata *)0xff72)
(*(unsigned char volatile xdata *)0xff74)
(*(unsigned char volatile xdata *)0xff75)
// PWM 时钟为系统时钟
//设置 PWM 周期为 0800H 个 PWM 时钟
//PWM0 在计数值为 100H 地方输出低电平
//PWM0 在计数值为 700H 地方输出高电平
//PWM1 在计数值为 0080H 地方输出高电平
//PWM1 在计数值为 0780H 地方输出低电平
//使能 PWM0 输出
//使能 PWM1 输出
//启动 PWM 模块
while (1);
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 337 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
}
19.2.3
PWM实现渐变灯(呼吸灯)
汇编代码
;测试工作频率为 11.0592MHz
CYCLE
EQU
1000H
P_SW2
DATA
0BAH
PWMCFG
PWMIF
PWMFDCR
PWMCR
PWMCH
PWMCL
PWMCKS
TADCPH
TADCPL
PWM0T1H
PWM0T1L
PWM0T2H
PWM0T2L
PWM0CR
PWM0HLD
PWM1T1H
PWM1T1L
PWM1T2H
PWM1T2L
PWM1CR
PWM1HLD
PWM2T1H
PWM2T1L
PWM2T2H
PWM2T2L
PWM2CR
PWM2HLD
PWM3T1H
PWM3T1L
PWM3T2H
PWM3T2L
PWM3CR
PWM3HLD
PWM4T1H
PWM4T1L
PWM4T2H
PWM4T2L
PWM4CR
PWM4HLD
PWM5T1H
PWM5T1L
PWM5T2H
PWM5T2L
PWM5CR
PWM5HLD
PWM6T1H
PWM6T1L
DATA
DATA
DATA
DATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
0F1H
0F6H
0F7H
0FEH
0FFF0H
0FFF1H
0FFF2H
0FFF3H
0FFF4H
0FF00H
0FF01H
0FF02H
0FF03H
0FF04H
0FF05H
0FF10H
0FF11H
0FF12H
0FF13H
0FF14H
0FF15H
0FF20H
0FF21H
0FF22H
0FF23H
0FF24H
0FF25H
0FF30H
0FF31H
0FF32H
0FF33H
0FF34H
0FF35H
0FF40H
0FF41H
0FF42H
0FF43H
0FF44H
0FF45H
0FF50H
0FF51H
0FF52H
0FF53H
0FF54H
0FF55H
0FF60H
0FF61H
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 338 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
PWM6T2H
PWM6T2L
PWM6CR
PWM6HLD
PWM7T1H
PWM7T1L
PWM7T2H
PWM7T2L
PWM7CR
PWM7HLD
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
XDATA
0FF62H
0FF63H
0FF64H
0FF65H
0FF70H
0FF71H
0FF72H
0FF73H
0FF74H
0FF75H
DIR
VALL
VALH
BIT
DATA
DATA
20H.0
21H
22H
ORG
LJMP
ORG
LJMP
0000H
MAIN
00B3H
PWMISR
ORG
0100H
PUSH
PUSH
PUSH
PUSH
PUSH
ACC
PSW
DPL
DPH
P_SW2
MOV
MOV
JNB
ANL
JNB
P_SW2,#80H
A,PWMCFG
ACC.7,ISREXIT
PWMCFG,#NOT 80H
DIR,PWMDN
MOV
ADD
MOV
MOV
ADDC
MOV
CJNE
MOV
CJNE
CLR
JMP
A,VALL
A,#1
VALL,A
A,VALH
A,#0
VALH,A
A,#HIGH CYCLE,SETPWM
A,VALL
A,#LOW CYCLE,SETPWM
DIR
SETPWM
MOV
ADD
MOV
MOV
ADDC
MOV
JNZ
MOV
CJNE
SETB
A,VALL
A,#0FFH
VALL,A
A,VALH
A,#0FFH
VALH,A
SETPWM
A,VALL
A,#1,SETPWM
DIR
MOV
MOV
A,VALH
DPTR,#PWM0T2H
技术支持: 13922829991
研发顾问: 13922805190
PWMISR:
;清中断标志
PWMUP:
PWMDN:
SETPWM:
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 339 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
MOVX
MOV
MOV
MOVX
@DPTR,A
A,VALL
DPTR,#PWM0T2L
@DPTR,A
POP
POP
POP
POP
POP
RETI
P_SW2
DPH
DPL
PSW
ACC
MOV
SP,#3FH
SETB
MOV
MOV
DIR
VALH,#00H
VALL,#01H
MOV
CLR
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
MOV
MOVX
MOV
P_SW2,#80H
A
DPTR,#PWMCKS
@DPTR,A
A,#HIGH CYCLE
DPTR,#PWMCH
@DPTR,A
A,#LOW CYCLE
DPTR,#PWMCL
@DPTR,A
A,#00H
DPTR,#PWM0T1H
@DPTR,A
A,#00H
DPTR,#PWM0T1L
@DPTR,A
A,VALH
DPTR,#PWM0T2H
@DPTR,A
A,VALL
DPTR,#PWM0T2L
@DPTR,A
A,#80H
DPTR,#PWM0CR
@DPTR,A
P_SW2,#00H
MOV
SETB
JMP
PWMCR,#0C0H
EA
$
技术支持: 13922829991
研发顾问: 13922805190
ISREXIT:
MAIN:
;PWM 时钟为系统时钟
;设置 PWM 周期
;使能 PWM0 输出
;启动 PWM 模块并使能 PWM 中断
END
C 语言代码
#include "reg51.h"
#include "intrins.h"
//测试工作频率为 11.0592MHz
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 340 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
#define
CYCLE
sfr
sfr
sfr
sfr
sfr
P_SW2
PWMCFG
PWMIF
PWMFDCR
PWMCR
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
PWMC
PWMCKS
TADCP
PWM0T1
PWM0T2
PWM0CR
PWM0HLD
PWM1T1
PWM1T2
PWM1CR
PWM1HLD
PWM2T1
PWM2T2
PWM2CR
PWM2HLD
PWM3T1
PWM3T2
PWM3CR
PWM3HLD
PWM4T1
PWM4T2
PWM4CR
PWM4HLD
PWM5T1
PWM5T2
PWM5CR
PWM5HLD
PWM6T1
PWM6T2
PWM6CR
PWM6HLD
PWM7T1
PWM7T2
PWM7CR
PWM7HLD
技术支持: 13922829991
研发顾问: 13922805190
0x1000
=
=
=
=
=
0xba;
0xf1;
0xf6;
0xf7;
0xfe;
(*(unsigned int volatile xdata *)0xfff0)
(*(unsigned char volatile xdata *)0xfff2)
(*(unsigned int volatile xdata *)0xfff3)
(*(unsigned int volatile xdata *)0xff00)
(*(unsigned int volatile xdata *)0xff02)
(*(unsigned char volatile xdata *)0xff04)
(*(unsigned char volatile xdata *)0xff05)
(*(unsigned int volatile xdata *)0xff10)
(*(unsigned int volatile xdata *)0xff12)
(*(unsigned char volatile xdata *)0xff14)
(*(unsigned char volatile xdata *)0xff15)
(*(unsigned int volatile xdata *)0xff20)
(*(unsigned int volatile xdata *)0xff22)
(*(unsigned char volatile xdata *)0xff24)
(*(unsigned char volatile xdata *)0xff25)
(*(unsigned int volatile xdata *)0xff30)
(*(unsigned int volatile xdata *)0xff32)
(*(unsigned char volatile xdata *)0xff34)
(*(unsigned char volatile xdata *)0xff35)
(*(unsigned int volatile xdata *)0xff40)
(*(unsigned int volatile xdata *)0xff42)
(*(unsigned char volatile xdata *)0xff44)
(*(unsigned char volatile xdata *)0xff45)
(*(unsigned int volatile xdata *)0xff50)
(*(unsigned int volatile xdata *)0xff52)
(*(unsigned char volatile xdata *)0xff54)
(*(unsigned char volatile xdata *)0xff55)
(*(unsigned int volatile xdata *)0xff60)
(*(unsigned int volatile xdata *)0xff62)
(*(unsigned char volatile xdata *)0xff64)
(*(unsigned char volatile xdata *)0xff65)
(*(unsigned int volatile xdata *)0xff70)
(*(unsigned int volatile xdata *)0xff72)
(*(unsigned char volatile xdata *)0xff74)
(*(unsigned char volatile xdata *)0xff75)
void PWM_Isr() interrupt 22 using 1
{
static bit dir = 1;
static int val = 0;
if (PWMCFG & 0x80)
{
PWMCFG &= ~0x80;
//清中断标志
if (dir)
{
val++;
if (val >= CYCLE) dir = 0;
}
else
{
江苏国芯科技有限公司
总机: 0513-5501 2928/2929/2966
传真: 0513-5501 2926/2956/2947
- 341 -
STC8 系列技术手册
官方网站: www.STCMCUDATA.com / www.STCMCU.com
技术支持: 13922829991
研发顾问: 13922805190
val--;
if (val