0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
STC8A4K60S2A12-28I-LQFP48

STC8A4K60S2A12-28I-LQFP48

  • 厂商:

    STC(宏晶科技)

  • 封装:

    LQFP48_7X7MM

  • 描述:

    CPU内核:51系列;CPU最大主频:-;程序存储容量:128KB;程序存储器类型:FLASH;RAM总容量:4KB;GPIO端口数量:-;

  • 数据手册
  • 价格&库存
STC8A4K60S2A12-28I-LQFP48 数据手册
STC micro TM 宏 晶 科 技 江苏国芯科技有限公司 STC8 系列单片机 技术参考手册 技术支持网站:www.STCMCUDATA.com / www.STCMCU.com 资料更新日期:2018/5/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 2.10 2.11 3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.1.10 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 概述.......................................................................................................................................... 1 特性及价格.............................................................................................................................. 3 STC8A8K64S4A12 系列特性及价格 ..................................................................................... 3 STC8A4K64S2A12 系列特性及价格 ..................................................................................... 5 STC8F2K64S4 系列特性及价格 ............................................................................................ 7 STC8F2K64S2 系列特性及价格 ............................................................................................ 9 STC8F1K08S2 系列特性及价格 ...........................................................................................11 STC8C1K08S2A10 系列提前通告 ....................................................................................... 13 STC8P1K08S2A10 系列提前通告........................................................................................ 14 STC8P1K16S2A10 系列提前通告........................................................................................ 15 STC8P2K32S4A12 系列提前通告........................................................................................ 16 STC8H04A10 系列提前通告 ................................................................................................ 17 STC8H04 系列提前通告....................................................................................................... 18 管脚及说明............................................................................................................................ 19 管脚图.................................................................................................................................... 19 STC8A8K64S4A12 系列管脚图........................................................................................... 19 STC8A4K64S2A12 系列管脚图........................................................................................... 23 STC8F2K64S4 系列管脚图 .................................................................................................. 27 STC8F2K64S2 系列管脚图 .................................................................................................. 30 STC8F1K08S2 系列管脚图 .................................................................................................. 34 STC8C1K08S2A10 系列管脚图 ........................................................................................... 35 GX8S003 系列管脚图 ........................................................................................................... 36 STC8P1K08S2A10 系列管脚图............................................................................................ 37 STC8P1K16S2A10 系列管脚图............................................................................................ 38 STC8P2K32S4A12 系列管脚图............................................................................................ 39 管脚说明................................................................................................................................ 40 STC8A8K64S4A12 系列管脚说明....................................................................................... 40 STC8A4K64S2A12 系列管脚说明....................................................................................... 47 STC8F2K64S4 系列管脚说明 .............................................................................................. 54 STC8F2K64S2 系列管脚说明 .............................................................................................. 58 功能脚切换 ............................................................................................................................ 62 功能脚切换相关寄存器 ........................................................................................................ 62 范例程序................................................................................................................................ 65 串口 1 切换............................................................................................................................ 65 串口 2 切换............................................................................................................................ 66 串口 3 切换............................................................................................................................ 66 串口 4 切换............................................................................................................................ 67 SPI切换 .................................................................................................................................. 67 PWM切换 .............................................................................................................................. 68 PCA/CCP/PWM切换............................................................................................................. 70 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -i- STC8 系列技术手册 3.4.8 3.4.9 3.4.10 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 5 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 6 6.1 6.2 6.3 6.4 6.5 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.6.6 6.6.7 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 I2C切换.................................................................................................................................. 71 比较器输出切换 .................................................................................................................... 71 主时钟输出切换 .................................................................................................................... 72 封装尺寸图............................................................................................................................ 74 LQFP64S封装尺寸图(12mm*12mm).............................................................................. 74 LQFP64L封装尺寸图(16mm*16mm).............................................................................. 75 LQFP48 封装尺寸图(9mm*9mm) ................................................................................... 76 LQFP44 封装尺寸图(12mm*12mm) ............................................................................... 79 LQFP32 封装尺寸图(9mm*9mm) ................................................................................... 82 QFN32 封装尺寸图(4mm*4mm)..................................................................................... 83 PDIP40 封装尺寸图 .............................................................................................................. 84 TSSOP20 封装尺寸图 ........................................................................................................... 85 SOP16 封装尺寸图................................................................................................................ 86 STC8 系列单片机命名规则.................................................................................................. 87 ISP下载及典型应用线路图.................................................................................................. 88 STC8F系列ISP下载应用线路图........................................................................................... 88 使用RS-232 转换器下载....................................................................................................... 88 使用PL2303-SA下载 ............................................................................................................. 89 使用PL2303-GL下载............................................................................................................. 90 使用U8-Mini工具下载 .......................................................................................................... 91 使用U8W工具下载 ............................................................................................................... 92 USB直接ISP下载 .................................................................................................................. 93 STC8A系列ISP下载应用线路图 .......................................................................................... 94 使用RS-232 转换下载(使用高精度ADC)....................................................................... 94 使用RS-232 转换下载(ADC一般应用)........................................................................... 95 使用PL2303-SA下载 ............................................................................................................. 96 使用PL2303-GL下载............................................................................................................. 97 使用U8-Mini工具下载 .......................................................................................................... 98 使用U8W工具下载 ............................................................................................................... 99 USB直接ISP下载 ................................................................................................................ 100 时钟、复位与电源管理...................................................................................................... 101 系统时钟控制 ...................................................................................................................... 101 STC8 系列内部IRC频率调整 ............................................................................................. 104 STC15 系列内部IRC频率调整 ........................................................................................... 106 系统复位.............................................................................................................................. 108 系统电源管理 .......................................................................................................................110 范例程序...............................................................................................................................111 选择系统时钟源 ...................................................................................................................111 主时钟分频输出 ...................................................................................................................112 看门狗定时器应用 ...............................................................................................................113 软复位实现自定义下载 .......................................................................................................114 低压检测...............................................................................................................................115 省电模式...............................................................................................................................116 使用INT0/INT1/INT2/INT3/INT4 中断唤醒MCU .............................................................117 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - ii - STC8 系列技术手册 6.6.8 6.6.9 6.6.10 6.6.11 6.6.12 6.6.13 7 7.1 7.2 7.2.1 7.2.2 7.2.3 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 8 8.1 8.2 8.3 8.4 8.5 9 9.1 9.2 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.4 9.4.1 9.4.2 9.5 9.5.1 9.5.2 10 11 11.1 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 使用T0/T1/T2/T3/T4 中断唤醒MCU ..................................................................................119 使用RxD/RxD2/RxD3/RxD4 中断唤醒MCU..................................................................... 123 使用LVD中断唤醒MCU ..................................................................................................... 125 使用CCP0/CCP1/CCP2/CCP3 中断唤醒MCU................................................................... 126 CMP中断唤醒MCU ............................................................................................................ 129 使用LVD功能检测工作电压(电池电压) ...................................................................... 130 存储器.................................................................................................................................. 134 程序存储器 .......................................................................................................................... 134 数据存储器 .......................................................................................................................... 135 内部RAM............................................................................................................................. 135 内部扩展RAM..................................................................................................................... 136 外部扩展RAM..................................................................................................................... 137 存储器中的特殊参数 .......................................................................................................... 139 读取Bandgap电压值 (从ROM中读取) .............................................................................. 140 读取Bandgap电压值 (从RAM中读取) .............................................................................. 142 读取全球唯一ID号 (从ROM中读取) ................................................................................ 144 读取全球唯一ID号 (从RAM中读取) ................................................................................ 147 读取 32K掉电唤醒定时器的频率 (从ROM中读取)......................................................... 149 读取 32K掉电唤醒定时器的频率 (从RAM中读取)......................................................... 151 手动设置内部IRC频率 (从ROM中读取).......................................................................... 153 手动设置内部IRC频率 (从RAM中读取).......................................................................... 154 特殊功能寄存器.................................................................................................................. 156 STC8A8K64S4A12 系列..................................................................................................... 156 STC8A4K64S2A12 系列..................................................................................................... 157 STC8F2K64S4 系列 ............................................................................................................ 158 STC8F2K64S2 系列 ............................................................................................................ 159 特殊功能寄存器列表 .......................................................................................................... 160 I/O口 .................................................................................................................................... 165 I/O口相关寄存器................................................................................................................. 165 配置I/O口............................................................................................................................. 169 I/O的结构图......................................................................................................................... 170 准双向口(弱上拉) .......................................................................................................... 170 推挽输出.............................................................................................................................. 170 高阻输入.............................................................................................................................. 170 开漏输出.............................................................................................................................. 171 特殊I/O口说明..................................................................................................................... 172 P2.0/RSTCV......................................................................................................................... 172 PWM相关I/O口 ................................................................................................................... 172 范例程序.............................................................................................................................. 173 端口模式设置 ...................................................................................................................... 173 双向口读写操作 .................................................................................................................. 174 指令系统.............................................................................................................................. 176 中断系统.............................................................................................................................. 180 STC8 系列中断源................................................................................................................ 180 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - iii - STC8 系列技术手册 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.3 11.4 11.4.1 11.4.2 11.4.3 11.5 11.5.1 11.5.2 11.5.3 11.5.4 11.5.5 11.5.6 11.5.7 11.5.8 11.5.9 11.5.10 11.5.11 11.5.12 11.5.13 11.5.14 11.5.15 11.5.16 11.5.17 11.5.18 11.5.19 11.5.20 11.5.21 11.5.22 11.5.23 12 12.1 12.2 12.3 12.4 12.5 12.6 12.6.1 12.6.2 12.6.3 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 STC8A8K64S4A12 系列中断源......................................................................................... 181 STC8A4K64S2A12 系列中断源......................................................................................... 181 STC8F2K64S4 系列中断源 ................................................................................................ 181 STC8F2K64S2 系列中断源 ................................................................................................ 182 STC8 中断结构图................................................................................................................ 183 STC8 系列中断列表............................................................................................................ 184 中断相关寄存器 .................................................................................................................. 187 中断使能寄存器(中断允许位) ...................................................................................... 188 中断请求寄存器(中断标志位) ...................................................................................... 191 中断优先级寄存器 .............................................................................................................. 194 范例程序.............................................................................................................................. 197 INT0 中断(上升沿和下降沿) ........................................................................................ 197 INT0 中断(下降沿) ........................................................................................................ 198 INT1 中断(上升沿和下降沿) ........................................................................................ 198 INT1 中断(下降沿) ........................................................................................................ 199 INT2 中断(下降沿) ........................................................................................................ 200 INT3 中断(下降沿) ........................................................................................................ 201 INT4 中断(下降沿) ........................................................................................................ 202 定时器 0 中断 ...................................................................................................................... 203 定时器 1 中断 ...................................................................................................................... 204 定时器 2 中断 ...................................................................................................................... 205 定时器 3 中断 ...................................................................................................................... 206 定时器 4 中断 ...................................................................................................................... 207 UART1 中断 ........................................................................................................................ 208 UART2 中断 ........................................................................................................................ 210 UART3 中断 ........................................................................................................................ 212 UART4 中断 ........................................................................................................................ 213 ADC中断 ............................................................................................................................. 215 LVD中断 .............................................................................................................................. 216 PCA中断 .............................................................................................................................. 217 SPI中断 ................................................................................................................................ 219 CMP中断 ............................................................................................................................. 220 PWM中断 ............................................................................................................................ 221 I2C中断................................................................................................................................ 224 定时器/计数器..................................................................................................................... 227 定时器的相关寄存器 .......................................................................................................... 227 定时器 0/1............................................................................................................................ 229 定时器 2............................................................................................................................... 232 定时器 3/4............................................................................................................................ 233 掉电唤醒定时器 .................................................................................................................. 235 范例程序.............................................................................................................................. 236 定时器 0(模式 0-16 位自动重载) ............................................................................... 236 定时器 0(模式 1-16 位不自动重载) ........................................................................... 237 定时器 0(模式 2-8 位自动重载) ................................................................................. 238 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - iv - STC8 系列技术手册 12.6.4 12.6.5 12.6.6 12.6.7 12.6.8 12.6.9 12.6.10 12.6.11 12.6.12 12.6.13 12.6.14 12.6.15 12.6.16 12.6.17 12.6.18 12.6.19 12.6.20 12.6.21 12.6.22 12.6.23 12.6.24 12.6.25 12.6.26 12.6.27 12.6.28 12.6.29 12.6.30 13 13.1 13.2 13.2.1 13.2.2 13.2.3 13.2.4 13.2.5 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.5 13.5.1 13.5.2 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 定时器 0(模式 3-16 位自动重载不可屏蔽中断) ....................................................... 239 定时器 0(外部计数-扩展T0 为外部下降沿中断)...................................................... 240 定时器 0(测量脉宽-INT0 高电平宽度)...................................................................... 241 定时器 0(时钟分频输出) ............................................................................................... 242 定时器 1(模式 0-16 位自动重载) ............................................................................... 242 定时器 1(模式 1-16 位不自动重载) ........................................................................... 243 定时器 1(模式 2-8 位自动重载) ................................................................................. 244 定时器 1(外部计数-扩展T1 为外部下降沿中断)...................................................... 245 定时器 1(测量脉宽-INT1 高电平宽度)...................................................................... 246 定时器 1(时钟分频输出) ............................................................................................... 248 定时器 1(模式 0)做串口 1 波特率发生器 .................................................................... 248 定时器 1(模式 2)做串口 1 波特率发生器 .................................................................... 251 定时器 2(16 位自动重载) .............................................................................................. 254 定时器 2(外部计数-扩展T2 为外部下降沿中断)...................................................... 255 定时器 2(时钟分频输出) ............................................................................................... 257 定时器 2 做串口 1 波特率发生器 ...................................................................................... 257 定时器 2 做串口 2 波特率发生器 ...................................................................................... 260 定时器 2 做串口 3 波特率发生器 ...................................................................................... 263 定时器 2 做串口 4 波特率发生器 ...................................................................................... 266 定时器 3(16 位自动重载) .............................................................................................. 269 定时器 3(外部计数-扩展T3 为外部下降沿中断)...................................................... 271 定时器 3(时钟分频输出) ............................................................................................... 272 定时器 3 做串口 3 波特率发生器 ...................................................................................... 273 定时器 4(16 位自动重载) .............................................................................................. 276 定时器 4(外部计数-扩展T4 为外部下降沿中断)...................................................... 277 定时器 4(时钟分频输出) ............................................................................................... 278 定时器 4 做串口 4 波特率发生器 ...................................................................................... 279 串口通信.............................................................................................................................. 283 串口相关寄存器 .................................................................................................................. 283 串口 1................................................................................................................................... 284 串口 1 模式 0 ....................................................................................................................... 285 串口 1 模式 1 ....................................................................................................................... 286 串口 1 模式 2 ....................................................................................................................... 289 串口 1 模式 3 ....................................................................................................................... 289 自动地址识别 ...................................................................................................................... 290 串口 2................................................................................................................................... 292 串口 2 模式 0 ....................................................................................................................... 292 串口 2 模式 1 ....................................................................................................................... 293 串口 3................................................................................................................................... 295 串口 3 模式 0 ....................................................................................................................... 295 串口 3 模式 1 ....................................................................................................................... 296 串口 4................................................................................................................................... 298 串口 4 模式 0 ....................................................................................................................... 298 串口 4 模式 1 ....................................................................................................................... 299 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -v- STC8 系列技术手册 13.6 13.7 13.7.1 13.7.2 13.7.3 13.7.4 13.7.5 13.7.6 13.7.7 13.7.8 14 14.1 14.2 14.3 14.3.1 14.3.2 14.3.3 14.3.4 15 15.1 15.2 15.3 15.3.1 15.3.2 16 16.1 16.2 16.2.1 16.2.2 16.3 16.3.1 16.3.2 16.3.3 16.3.4 17 17.1 17.2 17.2.1 17.2.2 17.2.3 17.2.4 17.3 17.3.1 17.3.2 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 串口注意事项 ...................................................................................................................... 301 范例程序.............................................................................................................................. 302 串口 1 使用定时器 2 做波特率发生器 .............................................................................. 302 串口 1 使用定时器 1(模式 0)做波特率发生器 ............................................................ 304 串口 1 使用定时器 1(模式 2)做波特率发生器 ............................................................ 307 串口 2 使用定时器 2 做波特率发生器 .............................................................................. 310 串口 3 使用定时器 2 做波特率发生器 .............................................................................. 313 串口 3 使用定时器 3 做波特率发生器 .............................................................................. 316 串口 4 使用定时器 2 做波特率发生器 .............................................................................. 319 串口 4 使用定时器 4 做波特率发生器 .............................................................................. 322 比较器,掉电检测,内部固定比较电压 .......................................................................... 326 比较器内部结构图 .............................................................................................................. 326 比较器相关的寄存器 .......................................................................................................... 327 范例程序.............................................................................................................................. 329 比较器的使用(中断方式) .............................................................................................. 329 比较器的使用(查询方式) .............................................................................................. 330 比较器作外部掉电检测 ...................................................................................................... 332 比较器检测工作电压(电池电压) .................................................................................. 334 IAP/EEPROM .................................................................................................................... 338 EEPROM相关的寄存器...................................................................................................... 338 关于EEPROM编程和擦除等待时间的重要说明 .............................................................. 340 范例程序.............................................................................................................................. 341 EEPROM基本操作.............................................................................................................. 341 使用串口送出EEPROM数据.............................................................................................. 344 ADC模数转换 ..................................................................................................................... 348 ADC相关的寄存器.............................................................................................................. 348 ADC典型应用线路图.......................................................................................................... 350 高精度ADC应用.................................................................................................................. 350 ADC一般应用(对ADC精度要求不高的应用) ............................................................. 351 范例程序.............................................................................................................................. 352 ADC基本操作(查询方式).............................................................................................. 352 ADC基本操作(中断方式).............................................................................................. 353 格式化ADC转换结果.......................................................................................................... 354 利用ADC第 16 通道测量外部电压或电池电压................................................................ 356 PCA/CCP/PWM应用 ......................................................................................................... 359 PCA相关的寄存器 .............................................................................................................. 359 PCA工作模式 ...................................................................................................................... 363 捕获模式.............................................................................................................................. 363 软件定时器模式 .................................................................................................................. 363 高速脉冲输出模式 .............................................................................................................. 364 PWM脉宽调制模式 ............................................................................................................ 364 范例程序.............................................................................................................................. 368 PCA输出PWM(6/7/8/10 位) .......................................................................................... 368 PCA捕获测量脉冲宽度 ...................................................................................................... 370 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - vi - STC8 系列技术手册 17.3.3 17.3.4 17.3.5 18 18.1 18.2 18.2.1 18.2.2 18.2.3 19 19.1 19.2 19.2.1 19.2.2 19.2.3 19.3 19.4 19.5 19.5.1 19.5.2 19.5.3 19.5.4 19.5.5 19.5.6 20 20.1 20.2 20.3 20.4 20.4.1 20.4.2 20.4.3 20.4.4 20.4.5 20.4.6 21 21.1 21.1.1 21.1.2 附录A A.1 A.2 A.3 A.4 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 PCA实现 16 位软件定时 .................................................................................................... 373 PCA输出高速脉冲 .............................................................................................................. 375 PCA扩展外部中断 .............................................................................................................. 378 增强型PWM........................................................................................................................ 381 PWM相关的寄存器 ............................................................................................................ 381 范例程序.............................................................................................................................. 387 输出任意周期和任意占空比的波形 .................................................................................. 387 两路PWM实现互补对称带死区控制的波形..................................................................... 389 PWM实现渐变灯(呼吸灯)............................................................................................. 393 同步串行外设接口SPI........................................................................................................ 398 SPI相关的寄存器 ................................................................................................................ 398 SPI通信方式 ........................................................................................................................ 400 单主单从.............................................................................................................................. 400 互为主从.............................................................................................................................. 400 单主多从.............................................................................................................................. 401 配置SPI ................................................................................................................................ 402 数据模式.............................................................................................................................. 404 范例程序.............................................................................................................................. 405 SPI单主单从系统主机程序(中断方式) ........................................................................ 405 SPI单主单从系统从机程序(中断方式) ........................................................................ 406 SPI单主单从系统主机程序(查询方式) ........................................................................ 407 SPI单主单从系统从机程序(查询方式) ........................................................................ 409 SPI互为主从系统程序(中断方式) ................................................................................ 410 SPI互为主从系统程序(查询方式) ................................................................................ 412 I2C总线 ................................................................................................................................ 414 I2C相关的寄存器................................................................................................................. 414 I2C主机模式......................................................................................................................... 415 I2C从机模式......................................................................................................................... 419 范例程序.............................................................................................................................. 422 I2C主机模式访问AT24C256(中断方式) ....................................................................... 422 I2C主机模式访问AT24C256(查询方式) ....................................................................... 427 I2C主机模式访问PCF8563.................................................................................................. 432 I2C从机模式(中断方式)................................................................................................. 436 I2C从机模式(查询方式)................................................................................................. 440 测试I2C从机模式代码的主机代码..................................................................................... 443 增强型双数据指针.............................................................................................................. 448 范例程序.............................................................................................................................. 450 示例代码 1 ........................................................................................................................... 450 示例代码 2 ........................................................................................................................... 450 应用注意事项...................................................................................................................... 452 关于使用CLR指令关闭EA的重要说明 ............................................................................ 452 关于EEPROM编程和擦除等待时间的重要说明 ............................................................ 453 STC8F2K64S4 系列应用注意事项 ................................................................................... 455 STC8F2K64S2 系列应用注意事项 ................................................................................... 458 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - vii - STC8 系列技术手册 A.5 A.6 A.7 附录B 附录C 附录D 附录E 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 STC8A8K64S4A12 系列应用注意事项 ............................................................................ 460 STC8A4K64S2A12 系列应用注意事项 ............................................................................ 464 使用外部晶振对STC8 系列进行仿真的注意事项 ........................................................... 465 STC仿真器使用指南 .......................................................................................................... 466 STC-USB驱动程序安装说明 ............................................................................................. 471 电气特性.............................................................................................................................. 516 更新记录.............................................................................................................................. 518 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - viii - 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 STC8F1K08S2 系列特性及价格  选型价格(不需要外部复位) 比较器(可当 路 ,可作外部掉电检测) 1 A/D ( 路 可当 路 使用) ADC 8 PWM 8 D/A 掉电唤醒专用定时器 年新品供货信息 2018 直接下载 USB 本身就可在线仿真 支持 SOP8 SOP16 TSSOP20 支持 RS485 下载 可设置下次更新程序需口令 可对外输出时钟及复位 程序加密后传输(防拦截) 内部高精准时钟( 24MHz 可调) 内部高可靠复位(可选复位门槛电压) 看门狗 复位定时器 内部低压检测中断并可掉电唤醒 路高速 15 (可当外部中断并可掉电唤醒) PCA/CCP/PWM 位增强型 PWM (带死区控制) 15 位高级 定时器 互补对称死区 16 PWM 定时器 计/数器( T0-T4 外部管脚也可掉电唤醒) I2 C 2.0-5.5 8K 1.2K 2 SPI 串口并可掉电唤醒 STC8F1K08 口最多数量 I/O 万次 字节 EEPROM 10 强大的双 DPTR 可增可减 大容量扩展 字节 SRAM 万次 字节 10 程序存储器 Flash 工作电压( ) V 单片机型号 STC8F1K08S2 2.0-5.5 8K 1.2K 2 封装 3K 18 2 有 有 3 - - - 有 有 有 有 4级 有 是 有 是 是 是 是 ¥1.15 ¥1.1 - 3K 1 有 有 3 - - - 有 - 有 有 4级 有 是 有 是 是 是 是 - ? 6 - 5 月 送 样  内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  14 个中断源,4 级中断优先级  支持在线仿真  工作电压  2.0V~5.5V  内建 LDO  工作温度  -40℃~85℃  Flash 存储器  最大 11K 字节 FLASH 空间,用于存储用户代码  512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新应用程序,无需专用编程器  支持单芯片仿真,无需专用仿真器,理论断点个数无限制  SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  1024 字节内部扩展 RAM(内部 XDATA)  时钟控制  内部 24MHz 高精度 IRC(ISP 编程时可进行上下调整)  误差±0.3%(常温下 25℃)  -1.8%~+0.8%温漂(全温度范围,-40℃~85℃)  -1.0%~+0.5%温漂(温度范围,-20℃~65℃)  内部 32KHz 低速 IRC(误差较大)  注意:此型号不可使用外部晶振作为系统时钟源 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 11 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190  复位  硬件复位  上电复位  复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.2V、2.4V、2.7V、3.0V  软件复位  软件方式写复位触发寄存器  中断  提供 14 个中断源:INT0、INT1、INT2、INT3、INT4、定时器 0、定时器 1、定时器 2、串口 1、串口 2、 LVD 低压检测、SPI、I2C、比较器  提供 4 级中断优先级  数字外设  3 个 16 位定时器:定时器 0、定时器 1、定时器 2,其中定时器 0 的模式 3 具有 NMI(不可屏蔽中断)功 能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式  2 个高速串口:串口 1、串口 2,波特率时钟源最快可为 FOSC/4  SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式  模拟外设  比较器  GPIO  最多可达 18 个 GPIO: P1.0~P1.7、P3.0~P3.7、P5.4~P5.5  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  封装  TSSOP20、SOP16、SOP8 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 12 - 年新品供货信息 2018 直接下载 USB 本身就可在线仿真 支持 SOP16 TSSOP20 支持 RS485 下载 可设置下次更新程序需口令 可对外输出时钟及复位 程序加密后传输(防拦截) 看门狗 复位定时器 内部高精准时钟( 35/20MHz 可调) 内部高可靠复位(可选复位门槛电压) ,可作外部掉电检测) A/D 内部低压检测中断并可掉电唤醒 比较器(可当 路 1 路高速 ADC 15 掉电唤醒专用定时器 (可当外部中断并可掉电唤醒) PCA/CCP/PWM 位增强型 PWM (带死区控制) 15 I2 C 位高级 PWM 定时器 互补对称死区 16 定时器 计/数器( T0-T4 外部管脚也可掉电唤醒) SPI 串口并可掉电唤醒 口最多数量 I/O SRAM字节 万次 字节 10 万次 字节 EEPROM 10 强大的双 DPTR 可增可减 大容量扩展 程序存储器 Flash 工作电压( ) V 单片机型号 - 13 - 传真: 0513-5501 2926/2956/2947 总机: 0513-5501 2928/2929/2966 江苏国芯科技有限公司 封装 6 月 送 样 是 是 是 是 有 是 有 4级 有 有 有 10 位 有 3 3 有 有 2 4K 18 STC8C1K08S2A10 1.7-5.5 8K 1.2K 2 研发顾问: 13922805190 技术支持: 13922829991 官方网站: www.STCMCUDATA.com / www.STCMCU.com STC8 系列技术手册 2.6 STC8C1K08S2A10 系列提前通告  选型价格(不需要外部晶振、不需要外部复位) 年新品供货信息 2018 直接下载 USB 本身就可在线仿真 支持 SOP16 TSSOP20 支持 RS485 下载 可设置下次更新程序需口令 可对外输出时钟及复位 程序加密后传输(防拦截) 看门狗 复位定时器 内部高精准时钟( 35/20MHz 可调) 内部高可靠复位(可选复位门槛电压) ,可作外部掉电检测) A/D 内部低压检测中断并可掉电唤醒 比较器(可当 路 1 路 9 高速 ADC 掉电唤醒专用定时器 (可当外部中断并可掉电唤醒) PCA/CCP/PWM 位增强型 PWM (带死区控制) 15 I2 C 位高级 PWM 定时器 互补对称死区 16 定时器 计/数器( T0-T4 外部管脚也可掉电唤醒) SPI 串口并可掉电唤醒 口最多数量 I/O SRAM字节 万次 字节 10 万次 字节 EEPROM 10 强大的双 DPTR 可增可减 大容量扩展 程序存储器 Flash 工作电压( ) V 单片机型号 - 14 - 传真: 0513-5501 2926/2956/2947 总机: 0513-5501 2928/2929/2966 江苏国芯科技有限公司 封装 8 月 送 样 是 是 是 是 有 是 有 4级 有 有 有 10 位 有 3 4组 有 有 2 4K 17 STC8P1K08S2A10 1.7-5.5 8K 1.2K 2 研发顾问: 13922805190 技术支持: 13922829991 官方网站: www.STCMCUDATA.com / www.STCMCU.com STC8 系列技术手册 2.7 STC8P1K08S2A10 系列提前通告  选型价格(不需要外部晶振、不需要外部复位) 年新品供货信息 2018 直接下载 USB 本身就可在线仿真 支持 LQFP32 支持 RS485 下载 可设置下次更新程序需口令 可对外输出时钟及复位 程序加密后传输(防拦截) 看门狗 复位定时器 内部高精准时钟( 35/20MHz 可调) 内部高可靠复位(可选复位门槛电压) ,可作外部掉电检测) A/D 内部低压检测中断并可掉电唤醒 比较器(可当 路 1 路高速 ADC 12 掉电唤醒专用定时器 (可当外部中断并可掉电唤醒) PCA/CCP/PWM 位增强型 PWM (带死区控制) 15 I2 C 位高级 PWM 定时器 互补对称死区 16 定时器 计/数器( T0-T4 外部管脚也可掉电唤醒) SPI 串口并可掉电唤醒 口最多数量 I/O SRAM字节 万次 字节 10 万次 字节 EEPROM 10 强大的双 DPTR 可增可减 大容量扩展 程序存储器 Flash 工作电压( ) V 单片机型号 - 15 - 传真: 0513-5501 2926/2956/2947 总机: 0513-5501 2928/2929/2966 江苏国芯科技有限公司 封装 8 月 送 样 是 是 是 是 有 是 有 4级 有 有 有 10 位 有 5 4组 有 有 2 STC8P1K16S2A10 1.7-5.5 16K 1.2K 2 12K 29 研发顾问: 13922805190 技术支持: 13922829991 官方网站: www.STCMCUDATA.com / www.STCMCU.com STC8 系列技术手册 2.8 STC8P1K16S2A10 系列提前通告  选型价格(不需要外部晶振、不需要外部复位) 年新品供货信息 2018 直接下载 USB 本身就可在线仿真 支持 LQFP48 支持 RS485 下载 可设置下次更新程序需口令 可对外输出时钟及复位 程序加密后传输(防拦截) 看门狗 复位定时器 内部高精准时钟( 35/20MHz 可调) 内部高可靠复位(可选复位门槛电压) ,可作外部掉电检测) A/D 内部低压检测中断并可掉电唤醒 比较器(可当 路 1 路高速 ADC 15 掉电唤醒专用定时器 (可当外部中断并可掉电唤醒) PCA/CCP/PWM 位增强型 PWM (带死区控制) 15 I2 C 位高级 PWM 定时器 互补对称死区 16 定时器 计/数器( T0-T4 外部管脚也可掉电唤醒) SPI 串口并可掉电唤醒 口最多数量 I/O SRAM字节 万次 字节 10 万次 字节 EEPROM 10 强大的双 DPTR 可增可减 大容量扩展 程序存储器 Flash 工作电压( ) V 单片机型号 - 16 - 传真: 0513-5501 2926/2956/2947 总机: 0513-5501 2928/2929/2966 江苏国芯科技有限公司 封装 8 月 送 样 是 是 是 是 有 是 有 4级 有 有 有 12 位 有 5 4组 有 有 4 STC8P2K32S4A12 1.7-5.5 32K 2.2K 2 32K 45 研发顾问: 13922805190 技术支持: 13922829991 官方网站: www.STCMCUDATA.com / www.STCMCU.com STC8 系列技术手册 2.9 STC8P2K32S4A12 系列提前通告  选型价格(不需要外部晶振、不需要外部复位) 封装 年新品供货信息 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 单片机型号 - 17 - 传真: 0513-5501 2926/2956/2947 总机: 0513-5501 2928/2929/2966 江苏国芯科技有限公司 7 月 送 样 是 ¥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.10 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 单片机型号 - 18 - 传真: 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.11 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 - 19 - 官方网站: 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 - 20 - 官方网站: 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 - 21 - 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 - 22 - 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 - 23 - 官方网站: 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 - 24 - 官方网站: 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 - 25 - 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 - 26 - 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 - 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 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 - 28 - 官方网站: 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 - 29 - 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 RxD_4/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 - 30 - 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 - 31 - 官方网站: 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 - 32 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 江苏国芯科技有限公司 1 2 3 4 5 6 7 8 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 总机: 0513-5501 2928/2929/2966 16 15 14 13 12 11 10 9 技术支持: 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 传真: 0513-5501 2926/2956/2947 - 33 - STC8 系列技术手册 3.1.5 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 STC8F1K08S2 系列管脚图 1 2 3 4 5 6 7 8 MCLKO/RST/P5.4 Vcc P5.5 Gnd 1 2 3 4 江苏国芯科技有限公司 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 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 SOP8 TxD2/P1.1 RxD2/P1.0 MCLKO_2/RxD_3/P1.6 TxD_3/P1.7 MCLKO/RST/P5.4 Vcc P5.5 Gnd 20 19 18 17 16 15 14 13 12 11 SOP16 注意:P1.0和P1.1 两个管脚的排列与 STC8F2K系列不一样 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/RxD_3/P1.6 TxD_3/P1.7 MCLKO/RST/P5.4 Vcc P5.5 Gnd 8 7 6 5 总机: 0513-5501 2928/2929/2966 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 - 34 - STC8 系列技术手册 3.1.6 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 STC8C1K08S2A10 系列管脚图 TxD2/CCP0/ADC1/P1.1 RxD2/CCP1/ADC0/P1.0 MCLKO_2/RxD_3/ADC6/P1.6 TxD_3/ADC7/P1.7 I2CSDA_2/MCLKO/RST/P5.4 Vcc/ADC_AVcc I2CSCL_2/P5.5 Gnd/ADC_AGnd 1 2 3 4 5 6 7 8 江苏国芯科技有限公司 SOP16 1 2 3 4 5 6 7 8 9 10 TSSOP20/SOP20 ECI/SS/ADC2/P1.2 MOSI/ADC3/P1.3 I2CSDA/MISO/ADC4/P1.4 I2CSCL/SCLK/ADC5/P1.5 MCLKO_2/RxD_3/ADC6/P1.6 TxD_3/ADC7/P1.7 I2CSDA_2/MCLKO/RST/P5.4 Vcc/ADC_AVcc I2CSCL_2/P5.5 Gnd/ADC_AGnd 20 19 18 17 16 15 14 13 12 11 P1.1/ADC1/TxD2/CCP0 P1.0/ADC0/RxD2/CCP1 P3.7/INT3/TxD_2/CCP2_2/CCP2/CMP+ P3.6/ADC14/INT2/RxD_2/CCP1_2/CMPP3.5/ADC13/T1/T0CLKO/CCP0_2 P3.4/ADC12/T0/T1CLKO/ECI_2/CMPO P3.3/ADC11/INT1/SCLK_2 P3.2/ADC10/INT0/MISO_2 P3.1/ADC9/TxD/T2/MOSI_2 P3.0/ADC8/RxD/T2CLKO/INT4/SS_2 16 15 14 13 12 11 10 9 P3.7/INT3/TxD_2/CCP2/CCP2_2CMP+ P3.6/ADC14/INT2/RxD_2/CCP1_2/CMPP3.5/ADC13/T1/T0CLKO/CCP0_2 P3.4/ADC12/T0/T1CLKO/ECI_2/CMPO P3.3/ADC11/INT1/SCLK_2 P3.2/ADC10/INT0/MISO_2 P3.1/ADC9/TxD/T2/MOSI_2 P3.0/ADC8/RxD/T2CLKO/INT4/SS_2 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 35 - STC8 系列技术手册 3.1.7 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 GX8S003 系列管脚图 客户需求的特殊管脚封装 江苏国芯科技有限公司 1 2 3 4 5 6 7 8 9 10 TSSOP20/SOP20 BEEP/PWM7/CCP1_3/ADC3/P1.3 CMP-/TxD/ADC4/P1.4 CMP+/RxD/ADC5/P1.5 ECI/RST/P5.4 RxD_3/INT2/XTALI/ADC6/P1.6 TxD_3/INT3/XTALO/ADC7/P1.7 Gnd ICPSDA/I2CSDA_2/TxD_2/P5.5 Vcc SPI_SS/PWM5_2/CCP2_3/T2CLKO/ADC8/P3.0 20 19 18 17 16 15 14 13 12 11 总机: 0513-5501 2928/2929/2966 P1.2/ADC2/PWM6/CCP0_3/TxD2/ADC_ETR P1.1/ADC1/PWM5/CCP2_2/RxD2 P1.0/ADC0/RxD_2/I2CSCL_2/ICPSCL/INT4 P3.7/SPI_MISO/PWM4/CCP1_2 P3.6/ADC14/SPI_MOSI/PWM3/CCP0_2 P3.5/ADC13/T1/T0CLKO/SPI_SCLK/PWM2/CCP2 P3.4/ADC12/T0/T1CLKO/PWM1/CCP1/MCLKO/CMPO P3.3/ADC11/PWM0/CCP0/INT1 P3.2/ADC10/I2CSCL/ADC_ETR_2/INT0 P3.1/ADC9/T2/I2CSDA/PWMFLT/PWM1_2 传真: 0513-5501 2926/2956/2947 - 36 - STC8 系列技术手册 3.1.8 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 STC8P1K08S2A10 系列管脚图 江苏国芯科技有限公司 1 2 3 4 5 6 7 8 9 10 TSSOP20 T2/SS/PWM2P/P1.2 T2CLKO/MOSI/PWM2N/P1.3 I2CSDA/MISO/PWM3P/P1.4 I2CSCL/SCLK/PWM3N/P1.5 MCLKO_2/XTALO/RxD_3/PWM4P/P1.6 XTALI/TxD_3/PWM5_2/PWM4N/P1.7 MCLKO/PWM6_2/RST/P5.4 Vcc/ADC_AVcc ADC_Vref+ Gnd/ADC_AGnd/ADC_Vref- 20 19 18 17 16 15 14 13 12 11 P1.1/ADC1/TxD2/PWM1N P1.0/ADC0/RxD2/PWM1P P3.7/INT3/TxD_2/CMP+ P3.6/ADC14/INT2/RxD_2/CMPP3.5/ADC13/T1/T0CLKO/SS_4/PWMFLT P3.4/ADC12/T0/T1CLKO/MOSI_4/CMPO/PWM4P_2/PWM8_2 P3.3/ADC11/INT1/MISO_4/I2CSDA_4/PWM4N_2/PWM7_2 P3.2/ADC10/INT0/SCLK_4/I2CSCL_4/PWMETI/PWMETI2 P3.1/ADC9/TxD P3.0/ADC8/RxD/INT4 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 37 - STC8 系列技术手册 技术支持: 13922829991 研发顾问: 13922805190 STC8P1K16S2A10 系列管脚图 24 23 22 21 20 19 18 17 P2.3/MOSI_2/PWM2N_2/PWM8 P2.2/SS_2/PWM2P_2/PWM7 P2.1/PWM1N_2/PWM6 P2.0/PWM1P_2/PWM5 P3.7/INT3/TxD_2/CMP+ P3.6/INT2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4/PWMFLT P3.4/T0/T1CLKO/MOSI_4/PWM4P_4/PWM8_2/CMPO 3.1.9 官方网站: www.STCMCUDATA.com / www.STCMCU.com LQFP32 QFN32 1 2 3 4 5 6 7 8 25 26 27 28 29 30 31 32 16 15 14 13 12 11 10 9 P3.3/INT1/MISO_4/I2CSDA_4/PWM4N_4/PWM7_2 P3.2/INT0/SCLK_4/I2CSCL_4/PWMETI/PWMETI2 P3.1/TxD P3.0/RxD/INT4 Gnd/ADC_AGnd/ADC_VrefADC_Vref+ Vcc/ADC_AVcc P5.4/RST/MCLKO/PWM6_2 RxD2/PWM1P/ADC0/P1.0 TxD2/PWM1N/ADC1/P1.1 T2/SS/PWM2P/ADC2/P1.2 T2CLKO/MOSI/PWM2N/ADC3/P1.3 I2CSDA/MISO/PWM3P/ADC4/P1.4 I2CSCL/SCLK/PWM3N/ADC5/P1.5 XTALO/MCLKO_2/RxD_3/PWM4P/ADC6/P1.6 XTALI/TxD_3/PWM5_2/PWM4N/ADC7/P1.7 PWM3P_2/I2CSDA_2/MISO_2/P2.4 PWM3N_2/I2CSCL_2/SCLK_2/P2.5 PWM4P_2/P2.6 PWM4N_2/P2.7 T3/RxD3/PWM5_3/ADC8/P0.0 T3CLKO/TxD3/PWM6_3/ADC9/P0.1 T4/RxD4/PWM7_3/ADC10/P0.2 T4CLKO/TxD4PWM8_3//ADC11/P0.3 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 38 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 36 35 34 33 32 31 30 29 28 27 26 25 P2.3/A11/PWM2N_2/PWM8/MOSI_2 P2.2/A10/PWM2P_2/PWM7/SS_2 P2.1/A9/PWM1N_2/PWM6 P2.0/A8/PWM1P_2/PWM5 P4.4/RD/TxD_4 P4.3/RxD_4/SCLK_3 P4.2/WR P4.1/MISO_3/CMPO_2/PWMETI_2 P3.7/INT3/TxD_2/CMP+ P3.6/INT2/RxD_2/CMPP3.5/T1/T0CLKO/SS_4/PWMFLT P5.1/RxD3_2 3.1.10 STC8P2K32S4A12 系列管脚图 LQFP48 QFN48 1 2 3 4 5 6 7 8 9 10 11 12 37 38 39 40 41 42 43 44 45 46 47 48 24 23 22 21 20 19 18 17 16 15 14 13 P5.0/RxD3_2 P3.4/T0/T1CLKO/MOSI_4/PWM4P_4/PWM8_2/CMPO P3.3/INT1/MISO_4/I2CSDA_4/PWM4N_4/PWM7_2 P3.2/INT0/SCLK_4/I2CSCL_4/PWMETI/PWMETI2 P3.1/TxD P3.0/RxD/INT4 P4.0/MOSI_3 Gnd/ADC_AGnd/ADC_VrefADC_Vref+ Vcc/ADC_AVcc P5.4/RST/MCLKO/PWM6_2/SS_3 P1.7/ADC7/PWM4N/PWM5_2/TxD_3/XTALI TxD4_2/P5.3 T3CLKO/AD5/ADC13/P0.5 PWMETI2_2/T4/AD6/ADC14/P0.6 T4CLKO/AD7/P0.7 RxD2/PWM1P/ADC0/P1.0 TxD2/PWM1N/ADC1/P1.1 TxD2_2/P4.7 T2/SS/PWM2P/ADC2/P1.2 T2CLKO/MOSI/PWM2N/ADC3/P1.3 I2CSDA/MISO/PWM3P/ADC4/P1.4 I2CSCL/SCLK/PWM3N/ADC5/P1.5 MCLKO_2/XTALO/RxD_3/PWM4P/ADC6/P1.6 MISO_2/I2CSDA_2/PWM3P_2/A12/P2.4 SCLK_2/I2CSCL_2/PWM3N_2/A13/P2.5 PWM4P_2/A14/P2.6 PWM4N_2/A15/P2.7 ALE/P4.5 RxD2_2/P4.6 PWM5_3/RxD3/AD0/ADC8/P0.0 PWM6_3/TxD3/AD1/ADC9/P0.1 PWM7_3/RxD4/AD2/ADC10/P0.2 PWM8_3/TxD4/AD3/ADC11/P0.3 T3/AD4/ADC12/P0.4 RxD4_2/P5.2 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 39 - 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 - 40 - 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 - 41 - 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 - 42 - 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 输出脚 RSTSV - 端口的初始电平可 ISP 下载时配置 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 - 43 - 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 - 44 - 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 - 45 - 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 - 46 - 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 - 47 - 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 - 48 - 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 - 49 - 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 输出脚 RSTSV - 端口的初始电平可 ISP 下载时配置 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 - 50 - 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 - 51 - 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 - 52 - 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 - 53 - 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 - 54 - 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 - 55 - 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 地址总线 RSTSV - 端口的初始电平可 ISP 下载时配置 P4.2 I/O 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 口 标准 IO 口 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 56 - 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 - 57 - 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 - 58 - 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 - 59 - 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 地址总线 RSTSV - 端口的初始电平可 ISP 下载时配置 P4.2 I/O 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 口 标准 IO 口 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 60 - 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 - 61 - 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 - 62 - 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 - 63 - 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 - 64 - 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 - 65 - 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 - 66 - 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 - 67 - 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 - 68 - 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 - 69 - 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 - 70 - 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 - 71 - 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 - 72 - 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 - 73 - 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 - 74 - 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 - 75 - 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 - 76 - 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 - 77 - 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 - 78 - 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 - 79 - 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 - 80 - 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 - 81 - 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 - 82 - 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 - 83 - 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° - 84 - 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 - 85 - 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 - 86 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 4.10 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 - 87 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 5 ISP下载及典型应用线路图 5.1 STC8F系列ISP下载应用线路图 5.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; 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++]); 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 275 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 rptr &= 0x0f; } } } 12.6.27 定时器 4(16 位自动重载) 汇编代码 ;测试工作频率为 11.0592MHz T4L T4H T4T3M IE2 ET4 AUXINTIF T4IF DATA DATA DATA DATA EQU DATA EQU 0D3H 0D2H 0D1H 0AFH 40H 0EFH 04H ORG LJMP ORG LJMP 0000H MAIN 00A3H TM4ISR ORG 0100H CPL ANL RETI P1.0 AUXINTIF,#NOT T4IF MOV SP,#3FH MOV MOV MOV MOV SETB T4L,#66H T4H,#0FCH T4T3M,#80H IE2,#ET4 EA JMP $ TM4ISR: ;测试端口 ;清中断标志 MAIN: ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END C 语言代码 #include "reg51.h" #include "intrins.h" //测试工作频率为 11.0592MHz sfr sfr sfr sfr #define sfr #define T4L T4H T4T3M IE2 ET4 AUXINTIF T4IF 江苏国芯科技有限公司 = = = = = 0xd3; 0xd2; 0xd1; 0xaf; 0x40 0xef; 0x04 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 276 - STC8 系列技术手册 sbit 官方网站: www.STCMCUDATA.com / www.STCMCU.com P10 = 技术支持: 13922829991 研发顾问: 13922805190 P1^0; void TM4_Isr() interrupt 20 { P10 = !P10; AUXINTIF &= ~T4IF; } //测试端口 //清中断标志 void main() { T4L = 0x66; T4H = 0xfc; T4T3M = 0x80; IE2 = ET4; EA = 1; //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 12.6.28 定时器 4(外部计数-扩展T4 为外部下降沿中断) 汇编代码 ;测试工作频率为 11.0592MHz T4L T4H T4T3M IE2 ET4 AUXINTIF T4IF DATA DATA DATA DATA EQU DATA EQU 0D3H 0D2H 0D1H 0AFH 40H 0EFH 04H ORG LJMP ORG LJMP 0000H MAIN 00A3H TM4ISR ORG 0100H CPL ANL RETI P1.0 AUXINTIF,#NOT T4IF MOV SP,#3FH MOV MOV MOV MOV SETB T4L,#0FFH T4H,#0FFH T4T3M,#0C0H IE2,#ET4 EA JMP $ TM4ISR: ;测试端口 ;清中断标志 MAIN: ;设置外部计数模式并启动定时器 ;使能定时器中断 END 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 277 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 C 语言代码 #include "reg51.h" #include "intrins.h" //测试工作频率为 11.0592MHz sfr sfr sfr sfr #define sfr #define T4L T4H T4T3M IE2 ET4 AUXINTIF T4IF = = = = sbit P10 = = 0xd3; 0xd2; 0xd1; 0xaf; 0x40 0xef; 0x04 P1^0; void TM4_Isr() interrupt 20 { P10 = !P10; AUXINTIF &= ~T4IF; } //测试端口 //清中断标志 void main() { T4L = 0xff; T4H = 0xff; T4T3M = 0xc0; IE2 = ET4; EA = 1; //设置外部计数模式并启动定时器 //使能定时器中断 while (1); } 12.6.29 定时器 4(时钟分频输出) 汇编代码 ;测试工作频率为 11.0592MHz T4L T4H T4T3M DATA DATA DATA 0D3H 0D2H 0D1H ORG LJMP 0000H MAIN ORG 0100H MOV SP,#3FH MOV MOV MOV T4L,#66H T4H,#0FCH T4T3M,#90H JMP $ MAIN: ;65536-11.0592M/12/1000 ;使能时钟输出并启动定时器 END 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 278 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 C 语言代码 #include "reg51.h" #include "intrins.h" //测试工作频率为 11.0592MHz sfr sfr sfr T4L T4H T4T3M = = = 0xd3; 0xd2; 0xd1; void main() { T4L = 0x66; T4H = 0xfc; T4T3M = 0x90; //65536-11.0592M/12/1000 //使能时钟输出并启动定时器 while (1); } 12.6.30 定时器 4 做串口 4 波特率发生器 汇编代码 T4T3M T4H T4L S4CON S4BUF IE2 DATA DATA DATA DATA DATA DATA 0D1H 0D2H 0D3H 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 JNB ANL MOV ANL ADD MOV ACC.0,UART4ISR_EXIT S4CON,#NOT 01H A,WPTR A,#0FH A,#BUFFER R0,A ;16 bytes UART4_ISR: CHKRI: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 279 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com MOV INC UART4ISR_EXIT: POP POP RETI 技术支持: 13922829991 研发顾问: 13922805190 @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 JZ LCALL INC JMP SEND4END: RET A A,@A+DPTR SEND4END UART4_SEND DPTR UART4_SENDSTR 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: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 280 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 END C 语言代码 #include "reg51.h" #include "intrins.h" #define #define FOSC BRT sfr sfr sfr sfr sfr sfr T4T3M T4H T4L S4CON S4BUF IE2 bit char char char busy; wptr; rptr; buffer[16]; 11059200UL (65536 - FOSC / 115200 / 4) = = = = = = 0xd1; 0xd2; 0xd3; 0x84; 0x85; 0xaf; void Uart4Isr() interrupt 18 { 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) { 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 281 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 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 - 282 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13 串口通信 STC8 系列单片机具有 4 个全双工异步串行通信接口(串口 1、串口 2、串口 3 和串口 4)。每个串行 口由 2 个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口 的数据缓冲器由 2 个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。 STC8 系列单片机的串口 1 有 4 种工作方式,其中两种方式的波特率是可变的,另两种是固定的, 以供不同应用场合选用。串口 2/串口 3/串口 4 都只有两种工作方式,这两种方式的波特率都是可变的。 用户可用软件设置不同的波特率和选择不同的工作方式。主机可通过查询或中断方式对接收/发送进行 程序处理,使用十分灵活。 串口 1、串口 2、串口 3、串口 4 的通讯口均可以通过功能管脚的切换功能切换到多组端口,从而 可以将一个通讯口分时复用为多个通讯口。 13.1 串口相关寄存器 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 SM0/FE SM1 SM2 REN TB8 RB8 TI RI SCON 串口 1 控制寄存器 98H SBUF 串口 1 数据寄存器 99H S2CON 串口 2 控制寄存器 9AH S2BUF 串口 2 数据寄存器 9BH S3CON 串口 3 控制寄存器 ACH S3BUF 串口 3 数据寄存器 ADH S4CON 串口 4 控制寄存器 84H S4BUF 串口 4 数据寄存器 85H PCON 电源控制寄存器 87H SMOD SMOD0 LVDF POF GF1 AUXR 辅助寄存器 1 8EH T0x12 T1x12 UART_M0x6 T2R T2_C/T AUXR2 辅助寄存器 2 97H - - - TXLNRX - SADDR 串口 1 从机地址寄存器 A9H 0000,0000 SADEN 串口 1 从机地址屏蔽寄存器 B9H 0000,0000 江苏国芯科技有限公司 0000,0000 0000,0000 S2SM0 - S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI 0100,0000 0000,0000 S3SM0 S3ST3 S3SM2 S3REN S3TB8 S3RB8 S3TI S3RI 0000,0000 0000,0000 S4SM0 S4ST4 S4SM2 S4REN S4TB8 S4RB8 S4TI S4RI 0000,0000 0000,0000 总机: 0513-5501 2928/2929/2966 GF0 PD T2x12 EXTRAM - IDL 0011,0000 S1ST2 0000,0001 - xxxn,xxxx - 传真: 0513-5501 2926/2956/2947 - 283 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13.2 串口 1 串口 1 控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 SCON 98H SM0/FE SM1 SM2 REN TB8 RB8 TI RI SM0/FE:当PCON寄存器中的SMOD0位为1时,该位为帧错误检测标志位。当UART在接收过程中检测 到一个无效停止位时,通过UART接收器将该位置1,必须由软件清零。当PCON寄存器中的SMOD0 位为0时,该位和SM1一起指定串口1的通信工作模式,如下表所示: SM0 SM1 串口1工作模式 功能说明 0 0 模式0 同步移位串行方式 0 1 模式1 可变波特率8位数据方式 1 0 模式2 固定波特率9位数据方式 1 1 模式3 可变波特率9位数据方式 SM2:允许模式 2 或模式 3 多机通信控制位。当串口 1 使用模式 2 或模式 3 时,如果 SM2 位为 1 且 REN 位为 1,则接收机处于地址帧筛选状态。此时可以利用接收到的第 9 位(即 RB8)来筛选地址帧, 若 RB8=1,说明该帧是地址帧,地址信息可以进入 SBUF,并使 RI 为 1,进而在中断服务程序 中再进行地址号比较;若 RB8=0,说明该帧不是地址帧,应丢掉且保持 RI=0。在模式 2 或模式 3 中,如果 SM2 位为 0 且 REN 位为 1,接收收机处于地址帧筛选被禁止状态,不论收到的 RB8 为 0 或 1,均可使接收到的信息进入 SBUF,并使 RI=1,此时 RB8 通常为校验位。模式 1 和模 式 0 为非多机通信方式,在这两种方式时,SM2 应设置为 0。 REN:允许/禁止串口接收控制位 0:禁止串口接收数据 1:允许串口接收数据 TB8:当串口 1 使用模式 2 或模式 3 时,TB8 为要发送的第 9 位数据,按需要由软件置位或清 0。在模 式 0 和模式 1 中,该位不用。 RB8:当串口 1 使用模式 2 或模式 3 时,RB8 为接收到的第 9 位数据,一般用作校验位或者地址帧/数 据帧标志位。在模式 0 和模式 1 中,该位不用。 TI:串口 1 发送中断请求标志位。在模式 0 中,当串口发送数据第 8 位结束时,由硬件自动将 TI 置 1, 向主机请求中断,响应中断后 TI 必须用软件清零。在其他模式中,则在停止位开始发送时由硬 件自动将 TI 置 1,向 CPU 发请求中断,响应中断后 TI 必须用软件清零。 RI:串口 1 接收中断请求标志位。在模式 0 中,当串口接收第 8 位数据结束时,由硬件自动将 RI 置 1, 向主机请求中断,响应中断后 RI 必须用软件清零。在其他模式中,串行接收到停止位的中间时 刻由硬件自动将 RI 置 1,向 CPU 发中断申请,响应中断后 RI 必须由软件清零。 串口 1 数据寄存器 符号 地址 SBUF 99H B7 B6 B5 B4 B3 B2 B1 B0 SBUF:串口 1 数据接收/发送缓冲区。SBUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分别 对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 SBUF 进行读操作,实际是读取串口接收缓冲区,对 SBUF 进行写操作则是触发串口开始发送数据。 电源管理寄存器 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 284 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PCON 87H SMOD SMOD0 LVDF POF GF1 GF0 PD IDL SMOD:串口 1 波特率控制位 0:串口 1 的各个模式的波特率都不加倍 1:串口 1 模式 1、模式 2、模式 3 的波特率加倍 SMOD0:帧错误检测控制位 0:无帧错检测功能 1:使能帧错误检测功能。此时 SCON 的 SM0/FE 为 FE 功能,即为帧错误检测标志位。 辅助寄存器 1 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 AUXR 8EH T0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 EXTRAM S1ST2 UART_M0x6:串口 1 模式 0 的通讯速度控制 0:串口 1 模式 0 的波特率不加倍,固定为 Fosc/12 1:串口 1 模式 0 的波特率 6 倍速,即固定为 Fosc/12*6 = Fosc/2 S1ST2:串口 1 波特率发射器选择位 0:选择定时器 1 作为波特率发射器 1:选择定时器 2 作为波特率发射器 辅助寄存器 2 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 AUXR2 97H - - - TXLNRX - - - - TXLNRX:串口 1 中继广播方式控制位 0:串口 1 为正常模式 1:串口 1 为中继广播方式。即将 RxD 端口输入的电平状态实时输出在 TxD 外部管脚上,TxD 外 部管脚可以对 RxD 管脚的输入信号进行实时整形放大输出。 13.2.1 串口 1 模式 0 当串口 1 选择工作模式为模式 0 时,串行通信接口工作在同步移位寄存器模式,当串行口模式 0 的通信速度设置位 UART_M0x6 为 0 时,其波特率固定为系统时钟时钟的 12 分频(SYSclk/12);当设 置 UART_M0x6 为 1 时,其波特率固定为系统时钟频率的 2 分频(SYSclk/2)。RxD 为串行通讯的数据 口,TxD 为同步移位脉冲输出脚,发送、接收的是 8 位数据,低位在先。 模式 0 的发送过程:当主机执行将数据写入发送缓冲器 SBUF 指令时启动发送,串行口即将 8 位数 据以 SYSclk/12 或 SYSclk/2(由 UART_M0x6 确定是 12 分频还是 2 分频)的波特率从 RxD 管脚输出(从 低位到高位),发送完中断标志 TI 置 1,TxD 管脚输出同步移位脉冲信号。当写信号有效后,相隔一个 时钟,发送控制端 SEND 有效(高电平),允许 RxD 发送数据,同时允许 TxD 输出同步移位脉冲。一帧 (8 位)数据发送完毕时,各控制端均恢复原状态,只有 TI 保持高电平,呈中断申请状态。在再次发送数 据前,必须用软件将 TI 清 0。 模式 0 的接收过程:首先将接收中断请求标志 RI 清零并置位允许接收控制位 REN 时启动模式 0 接收过程。启动接收过程后,RxD 为串行数据输入端,TxD 为同步脉冲输出端。串行接收的波特率为 SYSclk/12 或 SYSclk/2(由 UART_M0x6 确定是 12 分频还是 2 分频)。当接收完成一帧数据(8 位)后, 控制信号复位,中断标志 RI 被置 1,呈中断申请状态。当再次接收时,必须通过软件将 RI 清 0 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 285 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 写SBUF TxD RxD D0 D1 D2 D3 D4 D5 D6 D7 D6 D7 TI RI 发送数据(串口1模式0) 写SCON REN=1, RI=0 TxD RxD D0 D1 D2 D3 D4 D5 TI RI 接收数据(串口1模式0) 工作于模式 0 时,必须清 0 多机通信控制位 SM2,使之不影响 TB8 位和 RB8 位。由于波特率固定 为 SYSclk/12 或 SYSclk/2,无需定时器提供,直接由单片机的时钟作为同步移位脉冲。 串口 1 模式 0 的波特率计算公式如下表所示(SYSclk 为系统工作频率): UART_M0x6 波特率计算公式 0 波特率 = 1 波特率 = 13.2.2 SYSclk 12 SYSclk 2 串口 1 模式 1 当软件设置 SCON 的 SM0、SM1 为“01”时,串行口 1 则以模式 1 进行工作。此模式为 8 位 UART 格式,一帧信息为 10 位:1 位起始位,8 位数据位(低位在先)和 1 位停止位。波特率可变,即可根据 需要进行设置波特率。TxD 为数据发送口,RxD 为数据接收口,串行口全双工接受/发送。 模式 1 的发送过程:串行通信模式发送时,数据由串行发送端 TxD 输出。当主机执行一条写 SBUF 的指令就启动串行通信的发送,写“SBUF”信号还把“1”装入发送移位寄存器的第 9 位,并通知 TX 控制单元开始发送。移位寄存器将数据不断右移送 TxD 端口发送,在数据的左边不断移入“0”作补充。 当数据的最高位移到移位寄存器的输出位置,紧跟其后的是第 9 位“1”,在它的左边各位全为“0”,这 个状态条件,使 TX 控制单元作最后一次移位输出,然后使允许发送信号“SEND”失效,完成一帧信 息的发送,并置位中断请求位 TI,即 TI=1,向主机请求中断处理。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 286 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 模式 1 的接收过程:当软件置位接收允许标志位 REN,即 REN=1 时,接收器便对 RxD 端口的信 号进行检测,当检测到 RxD 端口发送从“1”→“0”的下降沿跳变时就启动接收器准备接收数据,并 立即复位波特率发生器的接收计数器,将 1FFH 装入移位寄存器。接收的数据从接收移位寄存器的右边 移入,已装入的 1FFH 向左边移出,当起始位"0"移到移位寄存器的最左边时,使 RX 控制器作最后一次 移位,完成一帧的接收。若同时满足以下两个条件: ·RI=0; ·SM2=0 或接收到的停止位为 1。 则接收到的数据有效,实现装载入 SBUF,停止位进入 RB8,RI 标志位被置 1,向主机请求中断, 若上述两条件不能同时满足,则接收到的数据作废并丢失,无论条件满足与否,接收器重又检测 RxD 端口上的"1"→"0"的跳变,继续下一帧的接收。接收有效,在响应中断后,RI 标志位必须由软件清 0。 通常情况下,串行通信工作于模式 1 时,SM2 设置为"0"。 写SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 Stop TI 发送数据(串口1模式1) 写SCON RxD REN=1, RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop RI 接收数据(串口1模式1) 串口 1 的波特率是可变的,其波特率可由定时器 1 或者定时器 2 产生。当定时器采用 1T 模式时(12 倍速),相应的波特率的速度也会相应提高 12 倍。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 287 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 串口 1 模式 1 的波特率计算公式如下表所示:(SYSclk 为系统工作频率) 选择定时器 定时器速 波特率计算公式 度 1T 定时器2重载值 = 65536 - 12T 定时器2重载值 = 65536 - 1T 定时器1重载值 = 65536 - 12T 定时器1重载值 = 65536 - 1T 定时器1重载值 = 256 - 12T 定时器1重载值 = 256 - SYSclk 4×波特率 定时器2 SYSclk 12×4×波特率 SYSclk 4×波特率 定时器1模式0 SYSclk 12×4×波特率 2SMOD×SYSclk 32×波特率 定时器1模式2 2SMOD×SYSclk 12×32×波特率 下面为常用频率与常用波特率所对应定时器的重载值 频率 (MHz) 11.0592 18.432 22.1184 定时器 2 波特率 定时器 1 模式 0 1T 模式 12T 模式 1T 模式 12T 模式 115200 FFE8H FFFEH FFE8H 57600 FFD0H FFFCH 38400 FFB8H 19200 定时器 1 模式 2 SMOD=1 SMOD=0 1T 模式 12T 模式 1T 模式 12T 模式 FFFEH FAH - FDH - FFD0H FFFCH F4H FFH FAH - FFFAH FFB8H FFFAH EEH - F7H - FF70H FFF4H FF70H FFF4H DCH FDH EEH - 9600 FEE0H FFE8H FEE0H FFE8H B8H FAH DCH FDH 115200 FFD8H - FFD8H - F6H - FBH - 57600 FFB0H - FFB0H - ECH - F6H - 38400 FF88H FFF6H FF88H FFF6H E2H - F1H - 19200 FF10H FFECH FF10H FFECH C4H FBH E2H - 9600 FE20H FFD8H FE20H FFD8H 88H F6H C4H FBH 115200 FFD0H FFFCH FFD0H FFFCH F4H FFH FAH - 57600 FFA0H FFF8H FFA0H FFF8H E8H FEH F4H FFH 38400 FF70H FFF4H FF70H FFF4H DCH FDH EEH - 19200 FEE0H FFE8H FEE0H FFE8H B8H FAH DCH FDH 9600 FDC0H FFD0H FDC0H FFD0H 70H F4H B8H FAH 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 288 - STC8 系列技术手册 13.2.3 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 串口 1 模式 2 当 SM0、SM1 两位为 10 时,串行口 1 工作在模式 2。串行口 1 工作模式 2 为 9 位数据异步通信 UART 模式,其一帧的信息由 11 位组成:1 位起始位,8 位数据位(低位在先),1 位可编程位(第 9 位数据)和 1 位停止位。发送时可编程位(第 9 位数据)由 SCON 中的 TB8 提供,可软件设置为 1 或 0,或者可将 PSW 中的奇/偶校验位 P 值装入 TB8(TB8 既可作为多机通信中的地址数据标志位,又可 作为数据的奇偶校验位) 。接收时第 9 位数据装入 SCON 的 RB8。TxD 为发送端口,RxD 为接收端口, 以全双工模式进行接收/发送。 模式 2 的波特率固定为系统时钟的 64 分频或 32 分频(取决于 PCON 中 SMOD 的值) 串口 1 模式 2 的波特率计算公式如下表所示(SYSclk 为系统工作频率): SMOD 波特率计算公式 0 波特率 = 1 波特率 = SYSclk 64 SYSclk 32 模式 2 和模式 1 相比,除波特率发生源略有不同,发送时由 TB8 提供给移位寄存器第 9 数据位不 同外,其余功能结构均基本相同,其接收/发送操作过程及时序也基本相同。 当接收器接收完一帧信息后必须同时满足下列条件: ·RI=0 ·SM2=0 或者 SM2=1 且接收到的第 9 数据位 RB8=1。 当上述两条件同时满足时,才将接收到的移位寄存器的数据装入 SBUF 和 RB8 中,RI 标志位被置 1,并向主机请求中断处理。如果上述条件有一个不满足,则刚接收到移位寄存器中的数据无效而丢失, 也不置位 RI。无论上述条件满足与否,接收器又重新开始检测 RxD 输入端口的跳变信息,接收下一帧 的输入信息。在模式 2 中,接收到的停止位与 SBUF、RB8 和 RI 无关。 通过软件对 SCON 中的 SM2、TB8 的设置以及通信 Ð 议的约定,为多机通信提供了方便。 写SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop D6 D7 RB8 Stop TI 发送数据(串口1模式2) 写SCON RxD REN=1,RI=0 Start D0 D1 D2 D3 D4 D5 RI 接收数据(串口1模式2) 13.2.4 串口 1 模式 3 当 SM0、SM1 两位为 11 时,串行口 1 工作在模式 3。串行通信模式 3 为 9 位数据异步通信 UART 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 289 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 模式,其一帧的信息由 11 位组成:1 位起始位,8 位数据位(低位在先),1 位可编程位(第 9 位数据) 和 1 位停止位。发送时可编程位(第 9 位数据)由 SCON 中的 TB8 提供,可软件设置为 1 或 0,或者 可将 PSW 中的奇/偶校验位 P 值装入 TB8(TB8 既可作为多机通信中的地址数据标志位,又可作为数据 的奇偶校验位)。接收时第 9 位数据装入 SCON 的 RB8。TxD 为发送端口,RxD 为接收端口,以全双工 模式进行接收/发送。 模式 3 和模式 1 相比,除发送时由 TB8 提供给移位寄存器第 9 数据位不同外,其余功能结构均基 本相同,其接收‘发送操作过程及时序也基本相同。 当接收器接收完一帧信息后必须同时满足下列条件: ·RI=0 ·SM2=0 或者 SM2=1 且接收到的第 9 数据位 RB8=1。 当上述两条件同时满足时,才将接收到的移位寄存器的数据装入 SBUF 和 RB8 中,RI 标志位被置 1,并向主机请求中断处理。如果上述条件有一个不满足,则刚接收到移位寄存器中的数据无效而丢失, 也不置位 RI。无论上述条件满足与否,接收器又重新开始检测 RxD 输入端口的跳变信息,接收下一帧 的输入信息。在模式 3 中,接收到的停止位与 SBUF、RB8 和 RI 无关。 通过软件对 SCON 中的 SM2、TB8 的设置以及通信协议的约定,为多机通信提供了方便。 写SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop D6 D7 RB8 Stop TI 发送数据(串口1模式3) 写SCON RxD REN=1,RI=0 Start D0 D1 D2 D3 D4 D5 RI 接收数据(串口1模式3) 串口 1 模式 3 的波特率计算公式与模式 1 是完全相同的。请参考模式 1 的波特率计算公式。 13.2.5 自动地址识别 串口 1 从机地址控制寄存器 符号 地址 SADDR A9H SADEN B9H B7 B6 B5 B4 B3 B2 B1 B0 SADDR:从机地址寄存器 SADEN:从机地址屏蔽位寄存器 自动地址识别功能典型应用在多机通讯领域,其主要原理是从机系统通过硬件比较功能来识别来自 于主机串口数据流中的地址信息,通过寄存器 SADDR 和 SADEN 设置的本机的从机地址,硬件自动对 从机地址进行过滤,当来自于主机的从机地址信息与本机所设置的从机地址相匹配时,硬件产生串口中 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 290 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 断;否则硬件自动丢弃串口数据,而不产生中断。当众多处于空闲模式的从机链接在一起时,只有从机 地址相匹配的从机才会从空闲模式唤醒,从而可以大大降低从机 MCU 的功耗,即使从机处于正常工作 状态也可避免不停地进入串口中断而降低系统执行效率。 要使用串口的自动地址识别功能,首先需要将参与通讯的 MCU 的串口通讯模式设置为模式 2 或者 模式 3(通常都选择波特率可变的模式 3,因为模式 2 的波特率是固定的,不便于调节),并开启从机的 SCON 的 SM2 位。对于串口模式 2 或者模式 3 的 9 位数据位中,第 9 位数据(存放在 RB8 中)为地址 /数据的标志位,当第 9 位数据为 1 时,表示前面的 8 位数据(存放在 SBUF 中)为地址信息。当 SM2 被设置为 1 时,从机 MCU 会自动过滤掉非地址数据(第 9 位为 0 的数据),而对 SBUF 中的地址数据 (第 9 位为 1 的数据)自动与 SADDR 和 SADEN 所设置的本机地址进行比较,若地址相匹配,则会将 RI 置“1”,并产生中断,否则不予处理本次接收的串口数据。 从机地址的设置是通过 SADDR 和 SADEN 两个寄存器进行设置的。SADDR 为从机地址寄存器, 里面存放本机的从机地址。SADEN 为从机地址屏蔽位寄存器,用于设置地址信息中的忽略位,设置方 法如下: 例如 11001010 SADDR = SADEN = 10000001 则匹配地址为 1xxxxxx0 即,只要主机送出的地址数据中的 bit0 为 0 且 bit7 为 1 就可以和本机地址相匹配 再例如 11001010 SADDR = 00001111 SADEN = 则匹配地址为 xxxx1010 即,只要主机送出的地址数据中的低 4 位为 1010 就可以和本机地址相匹配,而高 4 为被忽略,可 以为任意值。 主机可以使用广播地址(FFH)同时选中所有的从机来进行通讯。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 291 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13.3 串口 2 串口 2 控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 S2CON 9AH S2SM0 - S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI S2SM0:指定串口2的通信工作模式,如下表所示: S2SM0 串口2工作模式 功能说明 0 模式0 可变波特率8位数据方式 1 模式1 可变波特率9位数据方式 S2SM2:允许串口 2 在模式 1 时允许多机通信控制位。在模式 1 时,如果 S2SM2 位为 1 且 S2REN 位为 1,则接收机处于地址帧筛选状态。此时可以利用接收到的第 9 位(即 S2RB8)来筛选地址帧: 若 S2RB8=1,说明该帧是地址帧,地址信息可以进入 S2BUF,并使 S2RI 为 1,进而在中断服务 程序中再进行地址号比较;若 S2RB8=0,说明该帧不是地址帧,应丢掉且保持 S2RI=0。在模式 1 中,如果 S2SM2 位为 0 且 S2REN 位为 1,接收收机处于地址帧筛选被禁止状态。不论收到的 S2RB8 为 0 或 1,均可使接收到的信息进入 S2BUF,并使 S2RI=1,此时 S2RB8 通常为校验位。 模式 0 为非多机通信方式,在这种方式时,要设置 S2SM2 应为 0。 S2REN:允许/禁止串口接收控制位 0:禁止串口接收数据 1:允许串口接收数据 S2TB8:当串口 2 使用模式 1 时,S2TB8 为要发送的第 9 位数据,一般用作校验位或者地址帧/数据帧 标志位,按需要由软件置位或清 0。在模式 0 中,该位不用。 S2RB8:当串口 2 使用模式 1 时,S2RB8 为接收到的第 9 位数据,一般用作校验位或者地址帧/数据帧 标志位。在模式 0 中,该位不用。 S2TI:串口 2 发送中断请求标志位。在停止位开始发送时由硬件自动将 S2TI 置 1,向 CPU 发请求中断, 响应中断后 S2TI 必须用软件清零。 S2RI:串口 2 接收中断请求标志位。串行接收到停止位的中间时刻由硬件自动将 S2RI 置 1,向 CPU 发 中断申请,响应中断后 S2RI 必须由软件清零。 串口 2 数据寄存器 符号 地址 S2BUF 9BH B7 B6 B5 B4 B3 B2 B1 B0 S2BUF:串口 1 数据接收/发送缓冲区。S2BUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分 别对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 S2BUF 进行读操作,实际是读取串口接收缓冲区,对 S2BUF 进行写操作则是触发串口开始发送 数据。 13.3.1 串口 2 模式 0 串行口 2 的模式 0 为 8 位数据位可变波特率 UART 工作模式。此模式一帧信息为 10 位:1 位起始 位,8 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD2 为数据 发送口,RxD2 为数据接收口,串行口全双工接受/发送。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 292 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 写S2BUF TxD2 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S2TI 发送数据(串口2模式0) 写S2CON S2REN=1, S2RI=0 RxD2 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S2RI 接收数据(串口2模式0) 串口 2 的波特率是可变的,其波特率由定时器 2 产生。当定时器采用 1T 模式时(12 倍速),相应 的波特率的速度也会相应提高 12 倍。 串口 2 模式 0 的波特率计算公式如下表所示:(SYSclk 为系统工作频率) 选择定时器 定时器速度 波特率计算公式 1T 定时器2重载值 = 65536 - 12T 定时器2重载值 = 65536 - SYSclk 4×波特率 定时器2 13.3.2 SYSclk 12×4×波特率 串口 2 模式 1 串行口 2 的模式 1 为 9 位数据位可变波特率 UART 工作模式。此模式一帧信息为 11 位:1 位起始 位,9 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD2 为数据 发送口,RxD2 为数据接收口,串行口全双工接受/发送。 写S2BUF TxD2 Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop D6 D7 RB8 Stop S2TI 发送数据(串口2模式1) 写S2CON RxD2 S2REN=1,S2RI=0 Start D0 D1 D2 D3 D4 D5 S2RI 接收数据(串口2模式1) 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 293 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 串口 2 模式 1 的波特率计算公式与模式 0 是完全相同的。请参考模式 0 的波特率计算公式。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 294 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13.4 串口 3 串口 3 控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 S3CON ACH S3SM0 S3ST3 S3SM2 S3REN S3TB8 S3RB8 S3TI S3RI S3SM0:指定串口3的通信工作模式,如下表所示: S3SM0 串口3工作模式 功能说明 0 模式0 可变波特率8位数据方式 1 模式1 可变波特率9位数据方式 S3ST3:选择串口 3 的波特率发生器 0:选择定时器 2 为串口 3 的波特率发生器 1:选择定时器 3 为串口 3 的波特率发生器 S3SM2:允许串口 3 在模式 1 时允许多机通信控制位。在模式 1 时,如果 S3SM2 位为 1 且 S3REN 位为 1,则接收机处于地址帧筛选状态。此时可以利用接收到的第 9 位(即 S3RB8)来筛选地址帧: 若 S3RB8=1,说明该帧是地址帧,地址信息可以进入 S3BUF,并使 S3RI 为 1,进而在中断服务 程序中再进行地址号比较;若 S3RB8=0,说明该帧不是地址帧,应丢掉且保持 S3RI=0。在模式 1 中,如果 S3SM2 位为 0 且 S3REN 位为 1,接收收机处于地址帧筛选被禁止状态。不论收到的 S3RB8 为 0 或 1,均可使接收到的信息进入 S3BUF,并使 S3RI=1,此时 S3RB8 通常为校验位。 模式 0 为非多机通信方式,在这种方式时,要设置 S3SM2 应为 0。 S3REN:允许/禁止串口接收控制位 0:禁止串口接收数据 1:允许串口接收数据 S3TB8:当串口 3 使用模式 1 时,S3TB8 为要发送的第 9 位数据,一般用作校验位或者地址帧/数据帧 标志位,按需要由软件置位或清 0。在模式 0 中,该位不用。 S3RB8:当串口 3 使用模式 1 时,S3RB8 为接收到的第 9 位数据,一般用作校验位或者地址帧/数据帧 标志位。在模式 0 中,该位不用。 S3TI:串口 3 发送中断请求标志位。在停止位开始发送时由硬件自动将 S3TI 置 1,向 CPU 发请求中断, 响应中断后 S3TI 必须用软件清零。 S3RI:串口 3 接收中断请求标志位。串行接收到停止位的中间时刻由硬件自动将 S3RI 置 1,向 CPU 发 中断申请,响应中断后 S3RI 必须由软件清零。 串口 3 数据寄存器 符号 地址 S3BUF ADH B7 B6 B5 B4 B3 B2 B1 B0 S3BUF:串口 1 数据接收/发送缓冲区。S3BUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分 别对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 S3BUF 进行读操作,实际是读取串口接收缓冲区,对 S3BUF 进行写操作则是触发串口开始发送 数据。 13.4.1 串口 3 模式 0 串行口 3 的模式 0 为 8 位数据位可变波特率 UART 工作模式。此模式一帧信息为 10 位:1 位起始 位,8 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD3 为数据 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 295 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 发送口,RxD3 为数据接收口,串行口全双工接受/发送。 写S3BUF TxD3 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S3TI 发送数据(串口3模式0) 写S3CON RxD3 S3REN=1, S3RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S3RI 接收数据(串口3模式0) 串口 3 的波特率是可变的,其波特率可由定时器 2 或定时器 3 产生。当定时器采用 1T 模式时(12 倍速),相应的波特率的速度也会相应提高 12 倍。 串口 3 模式 0 的波特率计算公式如下表所示:(SYSclk 为系统工作频率) 选择定时器 定时器速度 波特率计算公式 1T 定时器2重载值 = 65536 - 12T 定时器2重载值 = 65536 - 1T 定时器3重载值 = 65536 - 12T 定时器3重载值 = 65536 - SYSclk 4×波特率 定时器2 SYSclk 12×4×波特率 SYSclk 4×波特率 定时器3 13.4.2 SYSclk 12×4×波特率 串口 3 模式 1 串行口 3 的模式 1 为 9 位数据位可变波特率 UART 工作模式。此模式一帧信息为 11 位:1 位起始 位,9 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD3 为数据 发送口,RxD3 为数据接收口,串行口全双工接受/发送。 写S3BUF TxD3 Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop S3TI 发送数据(串口3模式1) 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 296 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 写S3CON RxD3 技术支持: 13922829991 研发顾问: 13922805190 S3REN=1,S3RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 RB8 Stop S3RI 接收数据(串口3模式1) 串口 3 模式 1 的波特率计算公式与模式 0 是完全相同的。请参考模式 0 的波特率计算公式。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 297 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13.5 串口 4 串口 4 控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 S4CON 84H S4SM0 S4ST4 S4SM2 S4REN S4TB8 S4RB8 S4TI S4RI S4SM0:指定串口4的通信工作模式,如下表所示: S4SM0 串口4工作模式 功能说明 0 模式0 可变波特率8位数据方式 1 模式1 可变波特率9位数据方式 S4ST4:选择串口 4 的波特率发生器 0:选择定时器 2 为串口 4 的波特率发生器 1:选择定时器 4 为串口 4 的波特率发生器 S4SM2:允许串口 4 在模式 1 时允许多机通信控制位。在模式 1 时,如果 S4SM2 位为 1 且 S4REN 位为 1,则接收机处于地址帧筛选状态。此时可以利用接收到的第 9 位(即 S4RB8)来筛选地址帧: 若 S4RB8=1,说明该帧是地址帧,地址信息可以进入 S4BUF,并使 S4RI 为 1,进而在中断服务 程序中再进行地址号比较;若 S4RB8=0,说明该帧不是地址帧,应丢掉且保持 S4RI=0。在模式 1 中,如果 S4SM2 位为 0 且 S4REN 位为 1,接收收机处于地址帧筛选被禁止状态。不论收到的 S4RB8 为 0 或 1,均可使接收到的信息进入 S4BUF,并使 S4RI=1,此时 S4RB8 通常为校验位。 模式 0 为非多机通信方式,在这种方式时,要设置 S4SM2 应为 0。 S4REN:允许/禁止串口接收控制位 0:禁止串口接收数据 1:允许串口接收数据 S4TB8:当串口 4 使用模式 1 时,S4TB8 为要发送的第 9 位数据,一般用作校验位或者地址帧/数据帧 标志位,按需要由软件置位或清 0。在模式 0 中,该位不用。 S4RB8:当串口 4 使用模式 1 时,S4RB8 为接收到的第 9 位数据,一般用作校验位或者地址帧/数据帧 标志位。在模式 0 中,该位不用。 S4TI:串口 4 发送中断请求标志位。在停止位开始发送时由硬件自动将 S4TI 置 1,向 CPU 发请求中断, 响应中断后 S4TI 必须用软件清零。 S4RI:串口 4 接收中断请求标志位。串行接收到停止位的中间时刻由硬件自动将 S4RI 置 1,向 CPU 发 中断申请,响应中断后 S4RI 必须由软件清零。 串口 4 数据寄存器 符号 地址 S4BUF 85H B7 B6 B5 B4 B3 B2 B1 B0 S4BUF:串口 1 数据接收/发送缓冲区。S4BUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分 别对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 S4BUF 进行读操作,实际是读取串口接收缓冲区,对 S4BUF 进行写操作则是触发串口开始发送 数据。 13.5.1 串口 4 模式 0 串行口 4 的模式 0 为 8 位数据位可变波特率 UART 工作模式。此模式一帧信息为 10 位:1 位起始 位,8 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD4 为数据 发送口,RxD4 为数据接收口,串行口全双工接受/发送。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 298 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 写S4BUF TxD4 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S4TI 发送数据(串口4模式0) 写S4CON RxD4 S4REN=1, S4RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S4RI 接收数据(串口4模式0) 串口 4 的波特率是可变的,其波特率可由定时器 2 或定时器 4 产生。当定时器采用 1T 模式时(12 倍速),相应的波特率的速度也会相应提高 12 倍。 串口 4 模式 0 的波特率计算公式如下表所示:(SYSclk 为系统工作频率) 选择定时器 定时器速度 波特率计算公式 1T 定时器2重载值 = 65536 - 12T 定时器2重载值 = 65536 - 1T 定时器4重载值 = 65536 - 12T 定时器4重载值 = 65536 - SYSclk 4×波特率 定时器2 SYSclk 12×4×波特率 SYSclk 4×波特率 定时器4 13.5.2 SYSclk 12×4×波特率 串口 4 模式 1 串行口 4 的模式 1 为 9 位数据位可变波特率 UART 工作模式。此模式一帧信息为 11 位:1 位起始 位,9 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD4 为数据 发送口,RxD4 为数据接收口,串行口全双工接受/发送。 写S4BUF TxD4 Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop S4TI 发送数据(串口4模式1) 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 299 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 写S4CON RxD4 技术支持: 13922829991 研发顾问: 13922805190 S4REN=1,S4RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 RB8 Stop S4RI 接收数据(串口4模式1) 串口 4 模式 1 的波特率计算公式与模式 0 是完全相同的。请参考模式 0 的波特率计算公式。 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 300 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13.6 串口注意事项 关于串口中断请求有如下问题需要注意:(串口 1、串口 2、串口 3、串口 4 均类似,下面以串口 1 为例进行说明) 8 位数据模式时,发送完成整个停止位后产生 TI 中断请求,如下图所示: 写SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 Stop TI 发送数据(8位数据) 8 位数据模式时,接收完成一半个停止位后产生 RI 中断请求,如下图所示: 写SCON RxD REN=1, RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop RI 接收数据(8位数据) 9 位数据模式时,发送完成整个第 9 位数据位后产生 TI 中断请求,如下图所示: 写SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop TI 发送数据(9位数据) 9 位数据模式时,接收完成一半个第 9 位数据位后产生 RI 中断请求,如下图所示: 写SCON RxD REN=1,RI=0 Start D0 D1 D2 D3 D4 D5 D6 D7 RB8 Stop RI 接收数据(9位数据) 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 301 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 13.7 范例程序 13.7.1 串口 1 使用定时器 2 做波特率发生器 汇编代码 AUXR T2H T2L DATA DATA DATA 8EH 0D6H 0D7H BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H ORG LJMP ORG LJMP 0000H MAIN 0023H UART_ISR ORG 0100H PUSH PUSH MOV ACC PSW PSW,#08H JNB CLR CLR TI,CHKRI TI BUSY JNB CLR MOV ANL ADD MOV MOV INC RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR POP POP RETI PSW ACC MOV MOV MOV MOV CLR MOV MOV RET SCON,#50H T2L,#0E8H T2H,#0FFH AUXR,#15H BUSY WPTR,#00H RPTR,#00H JB SETB MOV RET BUSY,$ BUSY SBUF,A ;16 bytes UART_ISR: CHKRI: UARTISR_EXIT: UART_INIT: ;65536-11059200/115200/4=0FFE8H UART_SEND: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 302 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com UART_SENDSTR: CLR MOVC JZ LCALL INC JMP SENDEND: RET 技术支持: 13922829991 研发顾问: 13922805190 A A,@A+DPTR SENDEND UART_SEND DPTR UART_SENDSTR MAIN: MOV SP,#3FH LCALL SETB SETB UART_INIT ES EA MOV LCALL DPTR,#STRING UART_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 UART_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 AUXR T2H T2L bit char char char busy; wptr; rptr; buffer[16]; 11059200UL (65536 - FOSC / 115200 / 4) = = = 0x8e; 0xd6; 0xd7; void UartIsr() interrupt 4 { if (TI) 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 303 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; wptr &= 0x0f; } } void UartInit() { SCON = 0x50; T2L = BRT; T2H = BRT >> 8; AUXR = 0x15; wptr = 0x00; rptr = 0x00; busy = 0; } void UartSend(char dat) { while (busy); busy = 1; SBUF = dat; } void UartSendStr(char *p) { while (*p) { UartSend(*p++); } } void main() { UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 13.7.2 串口 1 使用定时器 1(模式 0)做波特率发生器 汇编代码 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 304 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com AUXR DATA 8EH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H ORG LJMP ORG LJMP 0000H MAIN 0023H UART_ISR ORG 0100H PUSH PUSH MOV ACC PSW PSW,#08H JNB CLR CLR TI,CHKRI TI BUSY JNB CLR MOV ANL ADD MOV MOV INC RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR POP POP RETI PSW ACC MOV MOV MOV MOV SETB MOV CLR MOV MOV RET SCON,#50H TMOD,#00H TL1,#0E8H TH1,#0FFH TR1 AUXR,#40H BUSY WPTR,#00H RPTR,#00H JB SETB MOV RET BUSY,$ BUSY SBUF,A 技术支持: 13922829991 研发顾问: 13922805190 ;16 bytes UART_ISR: CHKRI: UARTISR_EXIT: UART_INIT: ;65536-11059200/115200/4=0FFE8H UART_SEND: UART_SENDSTR: CLR MOVC JZ LCALL 江苏国芯科技有限公司 A A,@A+DPTR SENDEND UART_SEND 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 305 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com INC JMP 技术支持: 13922829991 研发顾问: 13922805190 DPTR UART_SENDSTR SENDEND: RET MAIN: MOV SP,#3FH LCALL SETB SETB UART_INIT ES EA MOV LCALL DPTR,#STRING UART_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 UART_SEND RPTR LOOP DB 'Uart Test !',0DH,0AH,00H LOOP: STRING: END C 语言代码 #include "reg51.h" #include "intrins.h" #define #define FOSC BRT sfr AUXR bit char char char busy; wptr; rptr; buffer[16]; 11059200UL (65536 - FOSC / 115200 / 4) = 0x8e; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 306 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 wptr &= 0x0f; } } void UartInit() { SCON = 0x50; TMOD = 0x00; TL1 = BRT; TH1 = BRT >> 8; TR1 = 1; AUXR = 0x40; wptr = 0x00; rptr = 0x00; busy = 0; } void UartSend(char dat) { while (busy); busy = 1; SBUF = dat; } void UartSendStr(char *p) { while (*p) { UartSend(*p++); } } void main() { UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 13.7.3 串口 1 使用定时器 1(模式 2)做波特率发生器 汇编代码 AUXR DATA 8EH 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 - 307 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com ORG LJMP ORG LJMP 0000H MAIN 0023H UART_ISR ORG 0100H PUSH PUSH MOV ACC PSW PSW,#08H JNB CLR CLR TI,CHKRI TI BUSY JNB CLR MOV ANL ADD MOV MOV INC RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR POP POP RETI PSW ACC MOV MOV MOV MOV SETB MOV CLR MOV MOV RET SCON,#50H TMOD,#20H TL1,#0FDH TH1,#0FDH TR1 AUXR,#40H BUSY WPTR,#00H RPTR,#00H JB SETB MOV RET BUSY,$ BUSY SBUF,A 技术支持: 13922829991 研发顾问: 13922805190 UART_ISR: CHKRI: UARTISR_EXIT: UART_INIT: ;256-11059200/115200/32=0FDH UART_SEND: UART_SENDSTR: CLR MOVC JZ LCALL INC JMP SENDEND: RET A A,@A+DPTR SENDEND UART_SEND DPTR UART_SENDSTR MAIN: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 308 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com MOV SP,#3FH LCALL SETB SETB UART_INIT ES EA MOV LCALL DPTR,#STRING UART_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 UART_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 AUXR bit char char char busy; wptr; rptr; buffer[16]; 11059200UL (256 - FOSC / 115200 / 32) = 0x8e; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; wptr &= 0x0f; } } void UartInit() { 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 309 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 SCON = 0x50; TMOD = 0x20; TL1 = BRT; TH1 = BRT; TR1 = 1; AUXR = 0x40; wptr = 0x00; rptr = 0x00; busy = 0; } void UartSend(char dat) { while (busy); busy = 1; SBUF = dat; } void UartSendStr(char *p) { while (*p) { UartSend(*p++); } } void main() { UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 13.7.4 串口 2 使用定时器 2 做波特率发生器 汇编代码 AUXR T2H T2L S2CON S2BUF IE2 DATA DATA DATA DATA DATA DATA 8EH 0D6H 0D7H 9AH 9BH 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 - 310 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com ORG LJMP ORG LJMP 0000H MAIN 0043H UART2_ISR ORG 0100H PUSH PUSH MOV ACC PSW PSW,#08H MOV JNB ANL CLR A,S2CON ACC.1,CHKRI S2CON,#NOT 02H BUSY 技术支持: 13922829991 研发顾问: 13922805190 UART2_ISR: CHKRI: JNB ANL MOV ANL ADD MOV MOV INC UART2ISR_EXIT: POP POP RETI ACC.0,UART2ISR_EXIT S2CON,#NOT 01H A,WPTR A,#0FH A,#BUFFER R0,A @R0,S2BUF WPTR PSW ACC UART2_INIT: MOV MOV MOV MOV CLR MOV MOV RET S2CON,#50H T2L,#0E8H T2H,#0FFH AUXR,#14H BUSY WPTR,#00H RPTR,#00H JB SETB MOV RET BUSY,$ BUSY S2BUF,A ;65536-11059200/115200/4=0FFE8H UART2_SEND: UART2_SENDSTR: CLR MOVC JZ LCALL INC JMP SEND2END: RET A A,@A+DPTR SEND2END UART2_SEND DPTR UART2_SENDSTR MAIN: MOV 江苏国芯科技有限公司 SP,#3FH 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 311 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com LCALL MOV SETB UART2_INIT IE2,#01H EA MOV LCALL DPTR,#STRING UART2_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 UART2_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 S2CON S2BUF IE2 bit char char char busy; wptr; rptr; buffer[16]; 11059200UL (65536 - FOSC / 115200 / 4) = = = = = = 0x8e; 0xd6; 0xd7; 0x9a; 0x9b; 0xaf; void Uart2Isr() interrupt 8 { if (S2CON & 0x02) { S2CON &= ~0x02; busy = 0; } if (S2CON & 0x01) { S2CON &= ~0x01; buffer[wptr++] = S2BUF; wptr &= 0x0f; } } 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 312 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 void Uart2Init() { S2CON = 0x50; T2L = BRT; T2H = BRT >> 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; } } } 13.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 - 313 - 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 - 314 - 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 { 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 - 315 - 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; } } } 13.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 - 316 - 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 - 317 - 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 { if (S3CON & 0x02) { S3CON &= ~0x02; busy = 0; } if (S3CON & 0x01) 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 318 - 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; } } } 13.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 - 319 - 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 - 320 - 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 { if (S4CON & 0x02) { S4CON &= ~0x02; busy = 0; } 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 321 - 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; } } } 13.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 - 322 - 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 - 323 - 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 { 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 324 - 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 - 325 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 14 比较器,掉电检测,内部固定比较电压 STC8 系列单片机内部集成了一个比较器。比较器的正极可以是 P3.7 端口或者 ADC 的模拟输入通 道,而负极可以 P3.6 端口或者是内部 BandGap 经过 OP 后的 REFV 电压(内部固定比较电压) 。 比较器内部有可程序控制的两级滤波:模拟滤波和数字滤波。模拟滤波可以过滤掉比较输入信号中 的毛刺信号,数字滤波可以等待输入信号更加稳定后再进行比较。比较结果可直接通过读取内部寄存器 位获得,也可将比较器结果正向或反向输出到外部端口。将比较结果输出到外部端口可用作外部事件的 触发信号和反馈信号,可扩大比较的应用范围。 14.1 比较器内部结构图 P3.7 0 ADCIN 1 0.1us PIS REFV (内部1.344V) P3.6 CMPRES 模拟滤波 0 LCC 1 0 DISFLT 数字滤波 延时LCDTY个 CPU 时钟 CMPO E PIE 1 0 P3.4 1 P4.1 CMPO_S CMPIF NIS NIE 比较器内部结构 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 326 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 14.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 时产生中断请求。 NIE:比较器下降沿中断使能位。 0:禁止比较器下降沿中断。 1:使能比较器下降沿中断。使能比较器的比较结果由 1 变成 0 时产生中断请求。 PIS:比较器的正极选择位 0:选择外部端口 P3.7 为比较器正极输入源。 1:通过 ADC_CONTR 中的 ADC_CHS 位选择 ADC 的模拟输入端作为比较器正极输入源。 NIS:比较器的负极选择位 0:选择内部 BandGap 经过 OP 后的电压 REFV 作为比较器负极输入源(REFV 的电压值为 1.344V, 由于制造误差,实际电压值可能在 1.34V~1.35V 之间)。 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:模拟滤波功能控制 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 327 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 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 - 328 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 14.3 范例程序 14.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.7 为 CMP+输入脚 ;ADC 输入脚为 CMP+输入教 ;内部参考电压为 CMP-输入脚 ;P3.6 为 CMP-输入脚 ;禁止比较器输出 ;使能比较器输出 ;使能比较器模块 END 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 329 - 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 { 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.7 为 CMP+输入脚 //ADC 输入脚为 CMP+输入教 //内部参考电压为 CMP-输入脚 //P3.6 为 CMP-输入脚 //禁止比较器输出 //使能比较器输出 //使能比较器模块 EA = 1; while (1); } 14.3.2 比较器的使用(查询方式) 汇编代码 CMPCR1 CMPCR2 DATA DATA 江苏国芯科技有限公司 0E6H 0E7H 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 330 - 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.7 为 CMP+输入脚 ;ADC 输入脚为 CMP+输入教 ;内部参考电压为 CMP-输入脚 ;P3.6 为 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 - 331 - STC8 系列技术手册 // // // // // // 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 //使能比较器上升沿中断 //禁止比较器下降沿中断 //使能比较器下降沿中断 //P3.7 为 CMP+输入脚 //ADC 输入脚为 CMP+输入教 //内部参考电压为 CMP-输入脚 //P3.6 为 CMP-输入脚 //禁止比较器输出 //使能比较器输出 //使能比较器模块 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; } //读取比较器比较结果 } 14.3.3 比较器作外部掉电检测 Vcc 7805 Vin 470u 104 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 CMP+ / P3.7 CMP- / 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 R1 100K以上 R2 ? STC8A8K64S4A12 上图中电阻 R1 和 R2 对稳压块 7805 的前端电压进行分压,分压后的电压作为比较器 CMP+的外部 输入与内部参考电压(约 1.344V 附近)进行比较。 一般当交流电在 220V 时,稳压块 7805 前端的直流电压为 11V,但当交流电压降到 160V 时,稳压 块 7805 前端的直留电压为 8.5V。当稳压块 7805 前端的直留电压低于或等于 8.5V 时,该前端输入的直 留电压被电阻 R1 和 R2 分压到比较器正极输入端 CMP+,CMP+端输入电压低于内部参考电压,此时可 产生比较器中断,这样在掉电检测时就有充足的时间将数据保存到 EEPROM 中。当稳压块 7805 前端的 直留电压高高于 8.5V 时, 该前端输入的直流电压被电阻 R1 和 R2 分压到比较器正极输入端 CMP+, CMP+ 端输入电压高于内部参考电压,此时 CPU 可继续正常工作。 内部参考电压即为内部 BandGap 经过 OP 后的电压 REFV,REFV 的电压值约在 1.344V 附近,由 于制造误差,实际电压值可能在 1.34V~1.35V 之间。具体的数值要通过读取内部参考电压在内部 RAM 区或者 ROM 区所占用的地址的值获得。对于 STC8 系列,内部参考电压值在 RAM 和 ROM 中的存储 地址如下表所示: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 332 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 单片机型号 技术支持: 13922829991 研发顾问: 13922805190 RAM 中存储的地址 ROM 中存储的地址 (高字节在前) (高字节在前) 0EFH-0F0H 3FF7H-3FF8H 0EFH-0F0H 7FF7H-7FF8H 0EFH-0F0H EFF7H-EFF8H 0EFH-0F0H FDF7H-FDF8H STC8A8K16S4A12/STC8A4K16S4A12 STC8F2K16S4/STC8F2K16S2 STC8A8K32S4A12/STC8A4K32S4A12 STC8F2K32S4/STC8F2K32S2 STC8A8K60S4A12/STC8A4K60S4A12 STC8F2K60S4/STC8F2K60S2 STC8A8K64S4A12/STC8A4K64S4A12 STC8F2K64S4/STC8F2K64S2 注:若需要从 ROM 中读取参考电压值,则需要在进行 ISP 下载时勾选下列选项 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 333 - STC8 系列技术手册 14.3.4 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 比较器检测工作电压(电池电压) 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 CMP+/P3.7 CMP-/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 R0 100K R6 36.5K (约5.0V) R5 42.2K (约4.5V) R4 49.9K (约4.0V) R3 61.9K (约3.5V) R2 80.6K (约3.0V) R1 115K (约2.5V) STC8A8K64S4A12 C? 系统时钟10MHz 103(0.01uF) 上图中,利用电阻分压的原理可以近似的测量出 MCU 的工作电压(选通的通道,MCU 的 IO 口输 出低电平,端口电压值接近 GND,未选通的通道,MCU 的 IO 口输出开漏模式的高,不影响其他通道)。 比较器的负端选择内部参考电压(约 1.344V),正端选择通过电阻分压后输入到 CMP+管脚的电压 值。 初始化时 P2.5~P2.0 口均设置为开漏模式,并输出高。首先 P2.0 口输出低电平,此时若 VCC 电压 低于 2.5V 则比较器的比较值为 0,反之若 VCC 电压高于 2.5V 则比较器的比较值为 1; 若确定 VCC 高于 2.5V,则将 P2.0 口输出高,P2.1 口输出低电平,此时若 VCC 电压低于 3.0V 则 比较器的比较值为 0,反之若 VCC 电压高于 3.0V 则比较器的比较值为 1; 若确定 VCC 高于 3.0V,则将 P2.1 口输出高,P2.2 口输出低电平,此时若 VCC 电压低于 3.5V 则 比较器的比较值为 0,反之若 VCC 电压高于 3.5V 则比较器的比较值为 1; 若确定 VCC 高于 3.5V,则将 P2.2 口输出高,P2.3 口输出低电平,此时若 VCC 电压低于 4.0V 则 比较器的比较值为 0,反之若 VCC 电压高于 4.0V 则比较器的比较值为 1; 若确定 VCC 高于 4.0V,则将 P2.3 口输出高,P2.4 口输出低电平,此时若 VCC 电压低于 4.5V 则 比较器的比较值为 0,反之若 VCC 电压高于 4.5V 则比较器的比较值为 1; 若确定 VCC 高于 4.5V,则将 P2.4 口输出高,P2.5 口输出低电平,此时若 VCC 电压低于 5.0V 则 比较器的比较值为 0,反之若 VCC 电压高于 5.0V 则比较器的比较值为 1。 汇编代码 CMPCR1 CMPCR2 P2M0 DATA DATA DATA 江苏国芯科技有限公司 0E6H 0E7H 96H 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 334 - STC8 系列技术手册 P2M1 官方网站: www.STCMCUDATA.com / www.STCMCU.com DATA 95H ORG LJMP 0000H MAIN ORG 0100H MOV SP,#3FH MOV MOV MOV MOV MOV ANL ANL ANL ORL P2M0,#00111111B P2M1,#00111111B P2,#0FFH CMPCR2,#10H CMPCR1,#00H CMPCR1,#NOT 08H CMPCR1,#NOT 04H CMPCR1,#NOT 02H CMPCR1,#80H MOV MOV CALL MOV JNB MOV MOV CALL MOV JNB MOV MOV CALL MOV JNB MOV MOV CALL MOV JNB MOV MOV CALL MOV JNB MOV MOV CALL MOV JNB MOV R0,#00000000B P2,#11111110B DELAY A,CMPCR1 ACC.0,SKIP R0,#00000001B P2,#11111101B DELAY A,CMPCR1 ACC.0,SKIP R0,#00000011B P2,#11111011B DELAY A,CMPCR1 ACC.0,SKIP R0,#00000111B P2,#11110111B DELAY A,CMPCR1 ACC.0,SKIP R0,#00001111B P2,#11101111B DELAY A,CMPCR1 ACC.0,SKIP R0,#00011111B P2,#11011111B DELAY A,CMPCR1 ACC.0,SKIP R0,#00111111B MOV MOV CPL MOV JMP P2,#11111111B A,R0 A P0,A LOOP MOV R0,#20 技术支持: 13922829991 研发顾问: 13922805190 MAIN: ;P2.5~P2.0 初始化为开漏模式 ;比较器结果经过 16 个去抖时钟后输出 ;P3.7 为 CMP+输入脚 ;内部参考电压为 CMP-输入脚 ;禁止比较器输出 ;使能比较器模块 LOOP: ;电压2.5V ;P2.1 输出 0 ;电压>3.0V P2.2 输出 0 ;电压>3.5V ;P2.3 输出 0 ;电压>4.0V ;P2.4 输出 0 ;电压>4.5V ;P2.5 输出 0 ;电压>5.0V SKIP: ;P0.5~P0.0 口显示电压 DELAY: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 335 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com DJNZ RET 技术支持: 13922829991 研发顾问: 13922805190 R0,$ END C 语言代码 #include "reg51.h" #include "intrins.h" sfr sfr CMPCR1 CMPCR2 = = 0xe6; 0xe7; sfr sfr P2M0 P2M1 = = 0x96; 0x95; void delay () { char i; for (i=0; i3.0V P2 = 0xfb; //P2.2 输出 0 delay(); if (!(CMPCR1 & 0x01)) goto ShowVol; v = 0x07; //电压>3.5V P2 = 0xf7; //P2.3 输出 0 delay(); if (!(CMPCR1 & 0x01)) goto ShowVol; v = 0x0f; //电压>4.0V P2 = 0xef; //P2.4 输出 0 delay(); 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 336 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 if (!(CMPCR1 & 0x01)) goto ShowVol; v = 0x1f; //电压>4.5V P2 = 0xdf; //P2.5 输出 0 delay(); if (!(CMPCR1 & 0x01)) goto ShowVol; v = 0x3f; //电压>5.0V ShowVol: P2 = 0xff; P0 = ~v; } } 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 337 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 15 IAP/EEPROM STC8 系列单片机内部集成了大容量的 EEPROM 。利用 ISP/IAP 技术可将内部 Data Flash 当 EEPROM,擦写次数在 10 万次以上。EEPROM 可分为若干个扇区,每个扇区包含 512 字节。使用时, 建议同一次修改的数据放在同一个扇区,不是同一次修改的数据放在不同的扇区,不一定要用满。数据 存储器的擦除操作是按扇区进行的。 EEPROM 可用于保存一些需要在应用过程中修改并且掉电不丢失的参数数据。在用户程序中,可 以对 EEPROM 进行字节读/字节编程/扇区擦除操作。在工作电压偏低时,建议不要进行 EEPROM 操作, 以免发送数据丢失的情况。 15.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 - 338 - 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 - 339 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 15.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 - 340 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 15.3 范例程序 15.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 - 341 - 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 - 342 - 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 - 343 - STC8 系列技术手册 15.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 - 344 - 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 - 345 - 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 - 346 - 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 - 347 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 16 ADC模数转换 STC8 系列单片机内部集成了一个 12 位 15 通道的高速 A/D 转换器(注:第 16 通道只能用于检测 内部 REFV 参考电压,REFV 的电压值为 1.344V,由于制造误差,实际电压值可能在 1.34V~1.35V 之 间)。ADC 的时钟频率为系统频率 2 分频再经过用户设置的分频系数进行再次分频(ADC 的时钟频率 范围为 SYSclk/2/1~SYSclk/2/16)。每固定 16 个 ADC 时钟可完成一次 A/D 转换。ADC 的速度最快可 达 800K(即每秒可进行 80 万次模数转换) ADC 转换结果的数据格式有两种:左对齐和右对齐。可方便用户程序进行读取和引用。 16.1 ADC相关的寄存器 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 BCH ADC_POWER ADC_START ADC_FLAG B4 B3 B1 B0 ADC_CONTR ADC 控制寄存器 ADC_RES ADC 转换结果高位寄存器 BDH 0000,0000 ADC_RESL ADC 转换结果低位寄存器 BEH 0000,0000 ADCCFG ADC 配置寄存器 DEH - - RESFMT - B2 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 测试内部 1.344V 的 REFV 电压 ADC 配置寄存器 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 348 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 符号 地址 B7 B6 B5 B4 ADCCFG DEH - - RESFMT - B3 B2 研发顾问: 13922805190 B1 B0 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 0 0 0 自动填0 12位转换结果 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 - 349 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 16.2 ADC典型应用线路图 16.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 - 350 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 16.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 - 351 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 16.3 范例程序 16.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 - 352 - 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 结果 } } 16.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 - 353 - 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 { 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); } 16.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 - 354 - 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 - 355 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 } 利用ADC第 16 通道测量外部电压或电池电压 16.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 - 356 - 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 *BGV; bit busy; 技术支持: 13922829991 研发顾问: 13922805190 //内部 Bandgap 电压值存放在 idata 中 //idata 的 EFH 地址存放高字节 //idata 的 F0H 地址存放低字节 //电压单位为毫伏(mV) void UartIsr() interrupt 4 { 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 - 357 - 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 - 358 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 17 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计数器结构图 17.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 - 359 - 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 - 360 - 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 - 361 - 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 - 362 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 17.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 为高速脉冲输出 17.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模块捕获模式 17.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 - 363 - 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模块软件定时器模式 17.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模块高速脉冲输出模式 17.2.4 17.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 - 364 - 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模式 17.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 - 365 - STC8 系列技术手册 17.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模式 17.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 - 366 - 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模式 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 367 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 17.3 范例程序 17.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 MOV SP,#3FH MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV 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 MAIN: 江苏国芯科技有限公司 ;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 工作模式 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 368 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com MOV MOV MOV SETB PCA_PWM3,#0C0H CCAP3L,#20H CCAP3H,#20H CR JMP $ 技术支持: 13922829991 研发顾问: 13922805190 ;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 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 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; 江苏国芯科技有限公司 = = = = = = = = = = = = = = = = = = = = = = = = = = 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; //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 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 369 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 //PWM 占空比为 87.5%[(100H-20H)/100H] CCAP2L = 0x20; CCAP2H = 0x20; CCAPM3 = 0x42; PCA_PWM3 = 0xc0; CCAP3L = 0x20; CCAP3H = 0x20; CR = 1; //PCA 模块 3 为 PWM 工作模式 //PCA 模块 3 输出 10 位 PWM //PWM 占空比为 96.875%[(400H-20H)/400H] //启动 PCA 计时器 while (1); } 17.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 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 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 ACC PSW CF,CHECKCCF0 ;3 bytes ;3 bytes ;3 bytes, (COUNT1-COUNT0) PCAISR: 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 370 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 ;清中断标志 ; PCA 计时溢出次数+1 CLR INC 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 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 $ CHECKCCF0: ;备份上一次的捕获值 ;保存本次的捕获值 ;计算两次的捕获差值 ;LENGTH 保存的即为捕获的脉冲宽度 ISREXIT: MAIN: ; ; ;用户变量初始化 ;PCA 时钟为系统时钟,使能 PCA 计时中断 ;PCA 模块 0 为 16 位捕获模式(下降沿捕获) ;PCA 模块 0 为 16 位捕获模式(上升沿捕获) ;PCA 模块 0 为 16 位捕获模式(边沿捕获) ;启动 PCA 计时器 END C 语言代码 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 371 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 #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 cnt; count0; count1; length; = = = = = = = = = = = = = = = = = = = = = = = = = = 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; //存储 PCA 计时溢出次数 //记录上一次的捕获值 //记录本次的捕获值 //存储信号的时间长度 void PCA_Isr() interrupt 7 { if (CF) { 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; 江苏国芯科技有限公司 //用户变量初始化 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 372 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 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; 技术支持: 13922829991 研发顾问: 13922805190 //PCA 时钟为系统时钟,使能 PCA 计时中断 //PCA 模块 0 为 16 位捕获模式(下降沿捕获) //PCA 模块 0 为 16 位捕获模式(下降沿捕获) //PCA 模块 0 为 16 位捕获模式(下降沿捕获) //启动 PCA 计时器 while (1); } 17.3.3 PCA实现 16 位软件定时 汇编代码 ;测试工作频率为 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 T50HZ EQU 2400H ORG LJMP ORG LJMP 0000H MAIN 003BH PCAISR ORG 0100H 江苏国芯科技有限公司 ;11059200/12/2/50 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 373 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 PCAISR: 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 $ ;测试端口,闪烁频率为 50Hz MAIN: ;PCA 时钟为系统时钟/12 ;PCA 模块 0 为 16 位定时器模式 ;启动 PCA 计时器 END C 语言代码 #include "reg51.h" #include "intrins.h" //测试工作频率为 11.0592MHz #define T50HZ sfr sbit sbit sbit sbit sbit sbit 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 江苏国芯科技有限公司 (11059200L / 12 / 2 / 50) = = = = = = = = = = = = = = = = = = 0xd8; CCON^7; CCON^6; CCON^3; CCON^2; CCON^1; CCON^0; 0xd9; 0xe9; 0xf9; 0xda; 0xea; 0xfa; 0xf2; 0xdb; 0xeb; 0xfb; 0xf3; 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 374 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com sfr sfr sfr sfr sfr sfr sfr sfr CCAPM2 CCAP2L CCAP2H PCA_PWM2 CCAPM3 CCAP3L CCAP3H PCA_PWM3 = = = = = = = = 0xdc; 0xec; 0xfc; 0xf4; 0xdd; 0xed; 0xfd; 0xf5; sbit P10 = P1^0; unsigned int 技术支持: 13922829991 研发顾问: 13922805190 value; void PCA_Isr() interrupt 7 { 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); } 17.3.4 PCA输出高速脉冲 汇编代码 ;测试工作频率为 11.0592MHz CCON CF CR CCF3 CCF2 CCF1 CCF0 CMOD CL CH CCAPM0 CCAP0L CCAP0H DATA BIT BIT BIT BIT BIT BIT 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 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 375 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com PCA_PWM0 CCAPM1 CCAP1L CCAP1H PCA_PWM1 CCAPM2 CCAP2L CCAP2H PCA_PWM2 CCAPM3 CCAP3L CCAP3H PCA_PWM3 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 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 MOV MOV MOV MOV MOV MOV SETB SETB CCON,#00H CMOD,#08H CL,#00H CH,#0H CCAPM0,#4DH CCAP0L,#LOW T38K4HZ CCAP0H,#HIGH T38K4HZ CR EA JMP $ 技术支持: 13922829991 研发顾问: 13922805190 ;11059200/2/38400 PCAISR: MAIN: ;PCA 时钟为系统时钟 ;PCA 模块 0 为 16 位定时器模式并使能脉冲输出 ;启动 PCA 计时器 END C 语言代码 #include "reg51.h" #include "intrins.h" //测试工作频率为 11.0592MHz 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 376 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com #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 技术支持: 13922829991 研发顾问: 13922805190 (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 { CCF0 = 0; CCAP0L = value; CCAP0H = value >> 8; value += T38K4HZ; } 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; //PCA 时钟为系统时钟 //PCA 模块 0 为 16 位定时器模式并使能脉冲输出 //启动 PCA 计时器 while (1); } 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 377 - STC8 系列技术手册 17.3.5 官方网站: 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 ORG LJMP ORG LJMP 0000H MAIN 003BH PCAISR ORG 0100H CLR CPL RETI CCF0 P1.0 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 PCAISR: MAIN: ; ; 江苏国芯科技有限公司 ;PCA 时钟为系统时钟 ;扩展外部端口 CCP0 为下降沿中断口 ;扩展外部端口 CCP0 为上升沿中断口 ;扩展外部端口 CCP0 为边沿中断口 ;启动 PCA 计时器 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 378 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com JMP 技术支持: 13922829991 研发顾问: 13922805190 $ 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 { 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 计时器 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 379 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 while (1); } 江苏国芯科技有限公司 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 380 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 18 增强型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 转换事件。 18.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 - 381 - 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 - 382 - 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 - 383 - 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 - 384 - 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 - 385 - 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 - 386 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 18.2 范例程序 18.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 - 387 - 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 - 388 - 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); } 18.2.2 两路PWM实现互补对称带死区控制的波形 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 江苏国芯科技有限公司 0BAH 总机: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 389 - 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 - 390 - 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 - 391 - 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 - 392 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 } 18.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 - 393 - 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 - 394 - 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 - 395 - 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 { 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 - 396 - STC8 系列技术手册 官方网站: www.STCMCUDATA.com / www.STCMCU.com 技术支持: 13922829991 研发顾问: 13922805190 val--; if (val
STC8A4K60S2A12-28I-LQFP48 价格&库存

很抱歉,暂时无法提供与“STC8A4K60S2A12-28I-LQFP48”相匹配的价格&库存,您可以联系我们找货

免费人工找货