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

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
STC8G2K64S4-36I-LQFP32

STC8G2K64S4-36I-LQFP32

  • 厂商:

    STC(宏晶科技)

  • 封装:

    LQFP32_7X7MM

  • 描述:

    LQFP32 256B 1.9~5.5V 8051 36MHz

  • 数据手册
  • 价格&库存
STC8G2K64S4-36I-LQFP32 数据手册
STC micro TM 宏 晶 科 技 深圳国芯人工智能有限公司 STC8G 系列单片机 技术参考手册 技术支持网站:www.STCMCUDATA.com 资料更新日期:2021/9/26 STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 目录 1 2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.5.2 2.5.3 2.6 2.6.1 2.6.2 2.6.3 2.7 2.7.1 2.7.2 3 3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 概述 .......................................................................................................................................... 1 特性、价格及管脚 .................................................................................................................. 2 STC8G1K08-38I-TSSOP20/QFN20/SOP16 系列................................................................... 2 特性及价格 .............................................................................................................................. 2 管脚图,最小系统 .................................................................................................................. 5 管脚说明 .................................................................................................................................. 9 STC8G1K08-36I-SOP8/DFN8 系列...................................................................................... 12 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) .................................. 12 管脚图,最小系统 ................................................................................................................ 15 管脚说明 ................................................................................................................................ 16 STC8G1K08A-36I-SOP8/DFN8/DIP8 系列 ......................................................................... 17 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) .................................. 17 管脚图,最小系统 ................................................................................................................ 20 管脚说明 ................................................................................................................................ 21 STC8G2K64S4-36I-LQFP48/QFN48/LQFP32/QFN32 系列 ............................................... 23 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) .................................. 23 管脚图,最小系统 ................................................................................................................ 26 管脚说明 ................................................................................................................................ 30 STC8G2K64S2-36I-LQFP48/QFN48 系列 ........................................................................... 36 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) .................................. 36 管脚图,最小系统 ................................................................................................................ 39 管脚说明 ................................................................................................................................ 41 STC8G1K08T-36I-TSSOP20(触摸按键/LED 系列) ....................................................... 47 特性及价格 ............................................................................................................................ 47 管脚图,最小系统 ................................................................................................................ 50 管脚说明 ................................................................................................................................ 51 STC15H 系列(传统 STC15 系列提升性能特殊型号) .................................................... 55 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) .................................. 55 管脚图,最小系统 ................................................................................................................ 56 功能脚切换 ............................................................................................................................ 59 功能脚切换相关寄存器 ........................................................................................................ 59 外设端口切换控制寄存器 1(P_SW1),串口 1、CCP、SPI 切换 .................................. 59 外设端口切换控制寄存器 2(P_SW2),串口 2/3/4、I2C、比较器输出切换 ................ 60 时钟选择寄存器(MCLKOCR) ........................................................................................ 61 范例程序 ................................................................................................................................ 62 串口 1 切换 ............................................................................................................................ 62 串口 2 切换 ............................................................................................................................ 63 串口 3 切换 ............................................................................................................................ 65 串口 4 切换 ............................................................................................................................ 66 SPI 切换 ................................................................................................................................. 68 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -i- STC8G 系列技术手册 3.2.6 3.2.7 3.2.8 3.2.9 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 5 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 6 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PCA/CCP/PWM 切换 ............................................................................................................ 69 I2C 切换 ................................................................................................................................. 71 比较器输出切换 .................................................................................................................... 73 主时钟输出切换 .................................................................................................................... 74 封装尺寸图 ............................................................................................................................ 77 SOP8 封装尺寸图 .................................................................................................................. 77 DFN8 封装尺寸图(3mm*3mm) ....................................................................................... 78 SOP16 封装尺寸图 ................................................................................................................ 79 TSSOP20 封装尺寸图 ........................................................................................................... 80 QFN20 封装尺寸图(3mm*3mm) ..................................................................................... 81 LQFP32 封装尺寸图(9mm*9mm) ................................................................................... 82 QFN32 封装尺寸图(4mm*4mm) ..................................................................................... 83 LQFP48 封装尺寸图(9mm*9mm) ................................................................................... 84 QFN48 封装尺寸图(6mm*6mm) ..................................................................................... 85 LQFP64S 封装尺寸图(12mm*12mm) ............................................................................. 86 QFN64 封装尺寸图(8mm*8mm) ..................................................................................... 87 STC8G 系列单片机命名规则 ............................................................................................... 88 ISP 下载及典型应用线路图 ................................................................................................. 89 STC8G 系列 ISP 下载应用线路图 ....................................................................................... 89 使用 RS-232 转换器下载(无独立 VREF 脚),也可支持仿真 ........................................ 89 使用 RS-232 转换器下载(有独立 VREF 脚、一般精度 ADC),也可支持仿真 ........... 90 使用 RS-232 转换器下载(有独立 VREF 脚、高精度 ADC),也可支持仿真 ............... 91 使用 PL2303-GL 下载,也可支持仿真 ............................................................................... 92 使用通用 USB 转串口工具下载,支持 ISP 在线下载,也可支持仿真 ........................... 93 使用 U8-Mini 工具下载,支持 ISP 在线和脱机下载,也可支持仿真 ............................. 94 使用 U8W 工具下载,支持 ISP 在线和脱机下载,也可支持仿真 .................................. 95 模拟 USB 直接 ISP 下载,仅支持 ISP 下载,不支持仿真 ............................................... 97 单片机电源控制参考电路 .................................................................................................... 99 时钟、复位、省电模式与系统电源管理 ...........................................................................100 系统时钟控制 .......................................................................................................................100 系统时钟选择寄存器(CKSEL) ......................................................................................100 时钟分频寄存器(CLKDIV) ............................................................................................101 内部高速高精度 IRC 控制寄存器(HIRCCR) ................................................................101 外部振荡器控制寄存器(XOSCCR) ...............................................................................101 内部 32KHz 低速 IRC 控制寄存器(IRC32KCR) ..........................................................102 主时钟输出控制寄存器(MCLKOCR) ...........................................................................102 STC8G 系列内部 IRC 频率调整 .........................................................................................103 IRC 频段选择寄存器(IRCBAND)..................................................................................103 内部 IRC 频率调整寄存器(IRTRIM) .............................................................................103 内部 IRC 频率微调寄存器(LIRTRIM) ..........................................................................104 时钟分频寄存器(CLKDIV) ............................................................................................104 分频出 3MHz 用户工作频率,并用户动态改变频率追频示例 .......................................105 系统复位 ...............................................................................................................................108 看门狗复位(WDT_CONTR) ..........................................................................................109 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - ii - STC8G 系列技术手册 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.4 6.4.1 6.4.2 6.5 6.5.1 6.6 6.6.1 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.7.10 6.7.11 6.7.12 6.7.13 6.7.14 6.7.15 7 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 软件复位(IAP_CONTR) ................................................................................................. 111 低压复位(RSTCFG) ........................................................................................................ 112 低电平上电复位参考电路(一般不需要) ....................................................................... 113 低电平按键手动复位参考电路 ........................................................................................... 113 传统 8051 高电平上电复位参考电路 ................................................................................. 114 外部晶振及外部时钟电路 ................................................................................................... 115 外部晶振输入电路 ............................................................................................................... 115 外部时钟输入电路(P1.6 不可用作普通 I/O) ................................................................. 115 时钟停振/省电模式与系统电源管理 .................................................................................. 115 电源控制寄存器(PCON) ................................................................................................ 115 掉电唤醒定时器 ................................................................................................................... 117 掉电唤醒定时器计数寄存器(WKTCL,WKTCH) ...................................................... 117 范例程序 ............................................................................................................................... 118 选择系统时钟源 ................................................................................................................... 118 主时钟分频输出 ...................................................................................................................120 看门狗定时器应用 ...............................................................................................................122 软复位实现自定义下载 .......................................................................................................124 低压检测 ...............................................................................................................................126 省电模式 ...............................................................................................................................128 使用 INT0/INT1/INT2/INT3/INT4 管脚中断唤醒省电模式..............................................130 使用 T0/T1/T2/T3/T4 管脚中断唤醒 MCU 省电模式........................................................133 使用 RxD/RxD2/RxD3/RxD4 管脚中断唤醒 MCU 省电模式 ...........................................138 使用 I2C 的 SDA 脚唤醒 MCU 省电模式 ..........................................................................141 使用掉电唤醒定时器唤醒省电模式 ...................................................................................144 LVD 中断唤醒省电模式,建议配合使用掉电唤醒定时器...............................................146 使用 CCP0/CCP1/CCP2 管脚中断唤醒 MCU 省电模式 ...................................................148 比较器中断唤醒省电模式,建议配合使用掉电唤醒定时器 ...........................................151 使用 LVD 功能检测工作电压(电池电压) .....................................................................154 存储器 ...................................................................................................................................159 程序存储器 ...........................................................................................................................159 数据存储器 ...........................................................................................................................161 内部 RAM .............................................................................................................................161 程序状态寄存器(PSW) ...................................................................................................162 内部扩展 RAM,XRAM,XDATA ....................................................................................162 辅助寄存器(AUXR) ........................................................................................................163 外部扩展 RAM,XRAM,XDATA ....................................................................................164 总线速度控制寄存器(BUS_SPEED) .............................................................................164 8051 中可位寻址的数据存储器 ..........................................................................................165 存储器中的特殊参数,在 ISP 下载时可烧录进程序 FLASH ..........................................167 读取内部 1.19V 参考信号源值 (从 Flash 程序存储器(ROM)中读取) ......................169 读取内部 1.19V 参考信号源值 (从 RAM 中读取)............................................................172 读取全球唯一 ID 号 (从 Flash 程序存储器(ROM)中读取) ........................................175 读取全球唯一 ID 号 (从 RAM 中读取) .............................................................................178 读取 32K 掉电唤醒定时器的频率 (从 Flash 程序存储器(ROM)中读取) .................182 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - iii - STC8G 系列技术手册 7.3.6 7.3.7 7.3.8 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 9 9.1 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 9.1.7 9.2 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.3.6 9.3.7 9.3.8 9.4 9.4.1 9.4.2 9.5 9.6 9.7 9.8 9.9 9.10 9.11 10 11 11.1 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 读取 32K 掉电唤醒定时器的频率 (从 RAM 中读取) .......................................................185 用户自定义内部 IRC 频率 (从 Flash 程序存储器(ROM)中读取) .............................188 用户自定义内部 IRC 频率 (从 RAM 中读取) ...................................................................193 特殊功能寄存器 ...................................................................................................................196 STC8G1K08 系列 .................................................................................................................196 STC8G1K08-8Pin 系列 ........................................................................................................197 STC8G1K08A 系列 ..............................................................................................................198 STC8G2K64S4 系列 .............................................................................................................199 STC8G2K64S2 系列 .............................................................................................................202 STC8G1K08T 系列 ..............................................................................................................205 STC15H2K64S4 系列 ...........................................................................................................207 特殊功能寄存器列表 ...........................................................................................................210 I/O 口 ....................................................................................................................................224 I/O 口相关寄存器 .................................................................................................................224 端口数据寄存器(Px) .......................................................................................................225 端口模式配置寄存器(PxM0,PxM1) ............................................................................226 端口上拉电阻控制寄存器(PxPU) ..................................................................................226 端口施密特触发控制寄存器(PxNCS) ...........................................................................226 端口电平转换速度控制寄存器(PxSR) ..........................................................................227 端口驱动电流控制寄存器(PxDR) .................................................................................227 端口数字信号输入使能控制寄存器(PxIE) ...................................................................227 配置 I/O 口............................................................................................................................229 I/O 的结构图.........................................................................................................................231 准双向口(弱上拉) ...........................................................................................................231 推挽输出 ...............................................................................................................................231 高阻输入 ...............................................................................................................................232 开漏输出 ...............................................................................................................................232 新增 4.1K 上拉电阻 .............................................................................................................233 如何设置 I/O 口对外输出速度 ............................................................................................233 如何设置 I/O 口电流驱动能力 ............................................................................................234 如何降低 I/O 口对外辐射 ....................................................................................................234 范例程序 ...............................................................................................................................235 端口模式设置 .......................................................................................................................235 双向口读写操作 ...................................................................................................................236 一种典型三极管控制电路 ...................................................................................................239 典型发光二极管控制电路 ...................................................................................................239 混合电压供电系统 3V/5V 器件 I/O 口互连 .......................................................................240 如何让 I/O 口上电复位时为低电平 ....................................................................................241 利用 74HC595 驱动 8 个数码管(串行扩展,3 根线)的线路图 ...........................................242 I/O 口直接驱动 LED 数码管应用线路图 ...........................................................................243 用 STC 系列 MCU 的 I/O 口直接驱动段码 LCD ..............................................................244 指令系统 ...............................................................................................................................263 中断系统 ...............................................................................................................................267 STC8G 系列中断源 ..............................................................................................................267 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - iv - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 STC8G 中断结构图 ..............................................................................................................269 STC8G 系列中断列表 ..........................................................................................................270 中断相关寄存器 ...................................................................................................................273 中断使能寄存器(中断允许位) .......................................................................................275 中断请求寄存器(中断标志位) .......................................................................................280 中断优先级寄存器 ...............................................................................................................283 范例程序 ...............................................................................................................................287 INT0 中断(上升沿和下降沿),可同时支持上升沿和下降沿 ........................................287 INT0 中断(下降沿) .........................................................................................................289 INT1 中断(上升沿和下降沿),可同时支持上升沿和下降沿 ........................................290 INT1 中断(下降沿) .........................................................................................................292 INT2 中断(下降沿),只支持下降沿中断........................................................................294 INT3 中断(下降沿),只支持下降沿中断........................................................................296 INT4 中断(下降沿),只支持下降沿中断........................................................................298 定时器 0 中断 .......................................................................................................................300 定时器 1 中断 .......................................................................................................................301 定时器 2 中断 .......................................................................................................................303 定时器 3 中断 .......................................................................................................................305 定时器 4 中断 .......................................................................................................................308 UART1 中断 .........................................................................................................................310 UART2 中断 .........................................................................................................................312 UART3 中断 .........................................................................................................................315 UART4 中断 .........................................................................................................................317 ADC 中断 .............................................................................................................................320 LVD 中断 ..............................................................................................................................322 PCA 中断 ..............................................................................................................................324 SPI 中断 ................................................................................................................................327 比较器中断 ...........................................................................................................................329 PWM 中断 ............................................................................................................................331 I2C 中断 ................................................................................................................................333 12 定时器/计数器 ......................................................................................................................337 12.1 定时器的相关寄存器 ...........................................................................................................337 12.2 定时器 0/1 .............................................................................................................................339 12.2.1 定时器 0/1 控制寄存器(TCON) .....................................................................................339 12.2.2 定时器 0/1 模式寄存器(TMOD) ....................................................................................339 12.2.3 定时器 0 模式 0(16 位自动重装载模式) .......................................................................340 12.2.4 定时器 0 模式 1(16 位不可重装载模式) .......................................................................341 12.2.5 定时器 0 模式 2(8 位自动重装载模式) .........................................................................342 12.2.6 定时器 0 模式 3(不可屏蔽中断 16 位自动重装载,实时操作系统节拍器)...............342 12.2.7 定时器 1 模式 0(16 位自动重装载模式) .......................................................................343 12.2.8 定时器 1 模式 1(16 位不可重装载模式) .......................................................................344 12.2.9 定时器 1 模式 2(8 位自动重装载模式) .........................................................................345 12.2.10 定时器 0 计数寄存器(TL0,TH0) .................................................................................345 12.2.11 定时器 1 计数寄存器(TL1,TH1) .................................................................................345 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 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -v- STC8G 系列技术手册 12.2.12 12.2.13 12.2.14 12.2.15 12.3 12.3.1 12.3.2 12.3.3 12.3.4 12.3.5 12.3.6 12.4 12.4.1 12.4.2 12.4.3 12.4.4 12.4.5 12.4.6 12.4.7 12.4.8 12.4.9 12.5 12.5.1 12.5.2 12.5.3 12.5.4 12.5.5 12.5.6 12.5.7 12.5.8 12.5.9 12.5.10 12.5.11 12.5.12 12.5.13 12.5.14 12.5.15 12.5.16 12.5.17 12.5.18 12.5.19 12.5.20 12.5.21 12.5.22 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 辅助寄存器 1(AUXR) .....................................................................................................345 中断与时钟输出控制寄存器(INTCLKO) ......................................................................346 定时器 0 定时计算公式 .......................................................................................................346 定时器 1 定时计算公式 .......................................................................................................347 定时器 2(24 位定时器,8 位预分频+16 位定时) .........................................................348 辅助寄存器 1(AUXR) .....................................................................................................348 中断与时钟输出控制寄存器(INTCLKO) ......................................................................348 定时器 2 计数寄存器(T2L,T2H) .................................................................................348 定时器 2 的 8 位预分频寄存器(TM2PS) .......................................................................348 定时器 2 工作模式 ...............................................................................................................349 定时器 2 计算公式 ...............................................................................................................349 定时器 3/4(24 位定时器,8 位预分频+16 位定时) ......................................................350 定时器 4/3 控制寄存器(T4T3M)....................................................................................350 定时器 3 计数寄存器(T3L,T3H) .................................................................................350 定时器 4 计数寄存器(T4L,T4H) .................................................................................350 定时器 3 的 8 位预分频寄存器(TM3PS) .......................................................................351 定时器 4 的 8 位预分频寄存器(TM4PS) .......................................................................351 定时器 3 工作模式 ...............................................................................................................351 定时器 4 工作模式 ...............................................................................................................353 定时器 3 计算公式 ...............................................................................................................353 定时器 4 计算公式 ...............................................................................................................354 范例程序 ...............................................................................................................................355 定时器 0(模式 0-16 位自动重载),用作定时 ..............................................................355 定时器 0(模式 1-16 位不自动重载) ,用作定时 ..........................................................356 定时器 0(模式 2-8 位自动重载),用作定时 ................................................................358 定时器 0(模式 3-16 位自动重载不可屏蔽中断) ,用作定时 ......................................360 定时器 0(外部计数-扩展 T0 为外部下降沿中断) ......................................................362 定时器 0(测量脉宽-INT0 高电平宽度).......................................................................364 定时器 0(模式 0),时钟分频输出 ...................................................................................366 定时器 1(模式 0-16 位自动重载),用作定时 ..............................................................368 定时器 1(模式 1-16 位不自动重载) ,用作定时 ..........................................................370 定时器 1(模式 2-8 位自动重载),用作定时 ................................................................371 定时器 1(外部计数-扩展 T1 为外部下降沿中断) ......................................................373 定时器 1(测量脉宽-INT1 高电平宽度).......................................................................375 定时器 1(模式 0),时钟分频输出 ...................................................................................377 定时器 1(模式 0)做串口 1 波特率发生器 .....................................................................379 定时器 1(模式 2)做串口 1 波特率发生器 .....................................................................383 定时器 2(16 位自动重载),用作定时 .............................................................................387 定时器 2(外部计数-扩展 T2 为外部下降沿中断) ......................................................389 定时器 2,时钟分频输出 ....................................................................................................391 定时器 2 做串口 1 波特率发生器 .......................................................................................393 定时器 2 做串口 2 波特率发生器 .......................................................................................396 定时器 2 做串口 3 波特率发生器 .......................................................................................400 定时器 2 做串口 4 波特率发生器 .......................................................................................404 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - vi - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 定时器 3(16 位自动重载),用作定时 .............................................................................408 定时器 3(外部计数-扩展 T3 为外部下降沿中断) ...................................................... 411 定时器 3,时钟分频输出 ....................................................................................................413 定时器 3 做串口 3 波特率发生器 .......................................................................................415 定时器 4(16 位自动重载),用作定时 .............................................................................419 定时器 4(外部计数-扩展 T4 为外部下降沿中断) ......................................................422 定时器 4,时钟分频输出 ....................................................................................................424 定时器 4 做串口 4 波特率发生器 .......................................................................................426 13 串口通信 ...............................................................................................................................431 13.1 串口相关寄存器 ...................................................................................................................431 13.2 串口 1 ....................................................................................................................................432 13.2.1 串口 1 控制寄存器(SCON) ............................................................................................432 13.2.2 串口 1 数据寄存器(SBUF) .............................................................................................432 13.2.3 电源管理寄存器(PCON) ................................................................................................433 13.2.4 辅助寄存器 1(AUXR) .....................................................................................................433 13.2.5 串口 1 模式 0,模式 0 波特率计算公式 ............................................................................433 13.2.6 串口 1 模式 1,模式 1 波特率计算公式 ............................................................................434 13.2.7 串口 1 模式 2,模式 2 波特率计算公式 ............................................................................437 13.2.8 串口 1 模式 3,模式 3 波特率计算公式 ............................................................................437 13.2.9 自动地址识别 .......................................................................................................................438 13.2.10 串口 1 从机地址控制寄存器(SADDR,SADEN) ........................................................438 13.3 串口 2 ....................................................................................................................................440 13.3.1 串口 2 控制寄存器(S2CON) ..........................................................................................440 13.3.2 串口 2 数据寄存器(S2BUF) ...........................................................................................440 13.3.3 串口 2 模式 0,模式 0 波特率计算公式 ............................................................................440 13.3.4 串口 2 模式 1,模式 1 波特率计算公式 ............................................................................441 13.4 串口 3 ....................................................................................................................................443 13.4.1 串口 3 控制寄存器(S3CON) ..........................................................................................443 13.4.2 串口 3 数据寄存器(S3BUF) ...........................................................................................443 13.4.3 串口 3 模式 0,模式 0 波特率计算公式 ............................................................................443 13.4.4 串口 3 模式 1,模式 1 波特率计算公式 ............................................................................444 13.5 串口 4 ....................................................................................................................................446 13.5.1 串口 4 控制寄存器(S4CON) ..........................................................................................446 13.5.2 串口 4 数据寄存器(S4BUF) ...........................................................................................446 13.5.3 串口 4 模式 0,模式 0 波特率计算公式 ............................................................................446 13.5.4 串口 4 模式 1,模式 1 波特率计算公式 ............................................................................447 13.6 串口注意事项 .......................................................................................................................449 13.7 范例程序 ...............................................................................................................................450 13.7.1 串口 1 使用定时器 2 做波特率发生器 ...............................................................................450 13.7.2 串口 1 使用定时器 1(模式 0)做波特率发生器 .............................................................453 13.7.3 串口 1 使用定时器 1(模式 2)做波特率发生器 .............................................................457 13.7.4 串口 2 使用定时器 2 做波特率发生器 ...............................................................................461 13.7.5 串口 3 使用定时器 2 做波特率发生器 ...............................................................................465 13.7.6 串口 3 使用定时器 3 做波特率发生器 ...............................................................................469 12.5.23 12.5.24 12.5.25 12.5.26 12.5.27 12.5.28 12.5.29 12.5.30 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - vii - STC8G 系列技术手册 13.7.7 13.7.8 13.7.9 13.7.10 14 14.1 14.2 14.2.1 14.2.2 14.3 14.3.1 14.3.2 14.3.3 14.3.4 14.3.5 15 15.1 15.2 15.2.1 15.2.2 15.2.3 15.2.4 15.2.5 15.2.6 15.3 15.4 15.4.1 15.4.2 15.4.3 16 16.1 16.1.1 16.1.2 16.1.3 16.1.4 16.2 16.2.1 16.2.2 16.2.3 16.2.4 16.3 16.4 16.5 16.5.1 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 串口 4 使用定时器 2 做波特率发生器 ...............................................................................473 串口 4 使用定时器 4 做波特率发生器 ...............................................................................477 串口多机通讯 .......................................................................................................................482 串口转 LIN 总线 ..................................................................................................................483 比较器,掉电检测,内部 1.19V 参考信号源 ...................................................................492 比较器内部结构图 ...............................................................................................................492 比较器相关的寄存器 ...........................................................................................................493 比较器控制寄存器 1(CMPCR1) ....................................................................................493 比较器控制寄存器 2(CMPCR2) ....................................................................................494 范例程序 ...............................................................................................................................495 比较器的使用(中断方式) ...............................................................................................495 比较器的使用(查询方式) ...............................................................................................497 比较器的多路复用应用(比较器+ADC 输入通道)........................................................500 比较器作外部掉电检测(掉电过程中应及时保存用户数据到 EEPROM 中) .............502 比较器检测工作电压(电池电压) ...................................................................................503 IAP/EEPROM/DATA-FLASH ...........................................................................................508 EEPROM 操作时间 ..............................................................................................................508 EEPROM 相关的寄存器 ......................................................................................................508 EEPROM 数据寄存器(IAP_DATA) ...............................................................................508 EEPROM 地址寄存器(IAP_ADDR) ..............................................................................509 EEPROM 命令寄存器(IAP_CMD) ................................................................................509 EEPROM 触发寄存器(IAP_TRIG) ................................................................................509 EEPROM 控制寄存器(IAP_CONTR) ............................................................................509 EEPROM 等待时间控制寄存器(IAP_TPS) ...................................................................510 EEPROM 大小及地址 .......................................................................................................... 511 范例程序 ...............................................................................................................................515 EEPROM 基本操作 ..............................................................................................................515 使用 MOVC 读取 EEPROM ................................................................................................518 使用串口送出 EEPROM 数据 .............................................................................................522 ADC 模数转换,内部 1.19V 参考信号源 .........................................................................527 ADC 相关的寄存器..............................................................................................................527 ADC 控制寄存器(ADC_CONTR),PWM 触发 ADC 控制 ...........................................527 ADC 配置寄存器(ADCCFG) .........................................................................................530 ADC 转换结果寄存器(ADC_RES,ADC_RESL) ........................................................531 ADC 时序控制寄存器..........................................................................................................532 ADC 相关计算公式..............................................................................................................533 ADC 速度计算公式..............................................................................................................533 ADC 转换结果计算公式......................................................................................................533 反推 ADC 输入电压计算公式 .............................................................................................534 反推工作电压计算公式 .......................................................................................................535 10 位 ADC 静态特性............................................................................................................535 12 位 ADC 静态特性............................................................................................................535 ADC 应用参考线路图..........................................................................................................536 无独立 VREF 脚参考线路图 ...............................................................................................536 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - viii - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 有独立 VREF 脚、一般精度 ADC 参考线路图.................................................................537 有独立 VREF 脚、高精度 ADC 参考线路图.....................................................................538 范例程序 ...............................................................................................................................539 ADC 基本操作(查询方式) ..............................................................................................539 ADC 基本操作(中断方式) ..............................................................................................541 格式化 ADC 转换结果.........................................................................................................543 利用 ADC 第 15 通道测量外部电压或电池电压 ...............................................................546 ADC 做电容感应触摸按键 ..................................................................................................549 ADC 作按键扫描应用线路图 ..............................................................................................561 检测负电压参考线路图 .......................................................................................................563 常用加法电路在 ADC 中的应用 .........................................................................................564 17 PCA/CCP/PWM 应用 .........................................................................................................565 17.1 PCA 相关的寄存器 ..............................................................................................................565 17.1.1 PCA 控制寄存器(CCON) ...............................................................................................566 17.1.2 PCA 模式寄存器(CMOD) ..............................................................................................566 17.1.3 PCA 计数器寄存器(CL,CH) ........................................................................................566 17.1.4 PCA 模块模式控制寄存器(CCAPMn) ..........................................................................567 17.1.5 PCA 模块模式捕获值/比较值寄存器(CCAPnL,CCAPnH) .......................................567 17.1.6 PCA 模块 PWM 模式控制寄存器(PCA_PWMn)..........................................................567 17.2 PCA 工作模式 ......................................................................................................................569 17.2.1 捕获模式 ...............................................................................................................................569 17.2.2 软件定时器模式 ...................................................................................................................569 17.2.3 高速脉冲输出模式 ...............................................................................................................570 17.2.4 PWM 脉宽调制模式及频率计算公式.................................................................................570 17.3 利用 CCP/PCA/PWM 模块实现 8~16 位 DAC 的参考线路图 ..........................................574 17.4 范例程序 ...............................................................................................................................575 17.4.1 PCA 输出 PWM(6/7/8/10 位) .........................................................................................575 17.4.2 PCA 捕获测量脉冲宽度 ......................................................................................................578 17.4.3 PCA 实现 16 位软件定时 ....................................................................................................582 17.4.4 PCA 实现 16 位软件定时(ECI 外部时钟模式) .............................................................585 17.4.5 PCA 输出高速脉冲 ..............................................................................................................588 17.4.6 PCA 扩展外部中断 ..............................................................................................................591 18 精度可达 15 位的增强型 PWM(最多可输出 45 路各自独立的 PWM) .....................595 18.1 PWM 相关的寄存器 ............................................................................................................596 18.1.1 增强型 PWM 全局配置寄存器(PWMSET) ...................................................................603 18.1.2 增强型 PWM 配置寄存器(PWMCFGn) ........................................................................604 18.1.3 PWM 中断标志寄存器(PWMnIF) .................................................................................605 18.1.4 PWM 异常检测控制寄存器(PWMnFDCR) ...................................................................605 18.1.5 PWM 计数器寄存器(PWMnCH,PWMnCL) ...............................................................606 18.1.6 PWM 时钟选择寄存器(PWMnCKS),输出频率计算公式 ...........................................607 18.1.7 PWM 触发 ADC 计数器寄存器(PWMnTADC) ............................................................607 18.1.8 PWM 电平输出设置计数值寄存器(PWMnT1,PWMnT2) .........................................608 18.1.9 PWM 通道控制寄存器(PWMnCR) ................................................................................612 18.1.10 PWM 通道电平保持控制寄存器(PWMnHLD) .............................................................614 16.5.2 16.5.3 16.6 16.6.1 16.6.2 16.6.3 16.6.4 16.6.5 16.6.6 16.6.7 16.6.8 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - ix - STC8G 系列技术手册 18.2 18.2.1 18.2.2 18.2.3 18.2.4 18.2.5 18.2.6 为例) 18.2.7 19 19.1 19.1.1 19.1.2 19.1.3 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.2.1 20.2.2 20.2.3 20.2.4 20.3 20.3.1 20.3.2 20.3.3 20.3.4 20.4 20.4.1 20.4.2 20.4.3 20.4.4 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 范例程序 ...............................................................................................................................616 输出任意周期和任意占空比的波形 ...................................................................................616 两路 PWM 实现互补对称带死区控制的波形 ....................................................................618 PWM 实现渐变灯(呼吸灯).............................................................................................622 使用 PWM 触发 ADC 转换 .................................................................................................626 产生 3 路相位差 120 度的互补带死区的 PWM 波形 ........................................................631 输出占空比为 100%(固定输出高)和 0%(固定输出低)的 PWM 波形的方法(以 PWM00 633 增强型 PWM-频率可调-脉冲计数 ......................................................................................634 同步串行外设接口 SPI ........................................................................................................638 SPI 相关的寄存器 ................................................................................................................638 SPI 状态寄存器(SPSTAT)...............................................................................................638 SPI 控制寄存器(SPCTL),SPI 速度控制........................................................................638 SPI 数据寄存器(SPDAT) ................................................................................................639 SPI 通信方式 ........................................................................................................................640 单主单从 ...............................................................................................................................640 互为主从 ...............................................................................................................................640 单主多从 ...............................................................................................................................641 配置 SPI ................................................................................................................................642 数据模式 ...............................................................................................................................644 范例程序 ...............................................................................................................................645 SPI 单主单从系统主机程序(中断方式) ........................................................................645 SPI 单主单从系统从机程序(中断方式) ........................................................................647 SPI 单主单从系统主机程序(查询方式) ........................................................................649 SPI 单主单从系统从机程序(查询方式) ........................................................................651 SPI 互为主从系统程序(中断方式) ................................................................................654 SPI 互为主从系统程序(查询方式) ................................................................................656 I2C 总线 ................................................................................................................................660 I2C 相关的寄存器 .................................................................................................................660 I2C 主机模式.........................................................................................................................661 I2C 配置寄存器(I2CCFG),总线速度控制 ....................................................................661 I2C 主机控制寄存器(I2CMSCR) ...................................................................................662 I2C 主机辅助控制寄存器(I2CMSAUX) ........................................................................663 I2C 主机状态寄存器(I2CMSST) ....................................................................................663 I2C 从机模式.........................................................................................................................665 I2C 从机控制寄存器(I2CSLCR) ....................................................................................665 I2C 从机状态寄存器(I2CSLST) .....................................................................................665 I2C 从机地址寄存器(I2CSLADR) .................................................................................667 I2C 数据寄存器(I2CTXD,I2CRXD)............................................................................668 范例程序 ...............................................................................................................................669 I2C 主机模式访问 AT24C256(中断方式) ......................................................................669 I2C 主机模式访问 AT24C256(查询方式) ......................................................................675 I2C 主机模式访问 PCF8563.................................................................................................681 I2C 从机模式(中断方式) .................................................................................................686 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -x- STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 I2C 从机模式(查询方式) .................................................................................................691 测试 I2C 从机模式代码的主机代码 ....................................................................................695 21 触摸按键控制器,先工程样片,可少量送样 ...................................................................702 21.1 触摸按键控制器内部框架图 ...............................................................................................703 21.2 低功耗触摸唤醒 ...................................................................................................................704 21.3 仅做触摸按键功能时的操作步骤 .......................................................................................704 21.4 低功耗触摸按键唤醒功能的操作步骤 ...............................................................................704 21.5 触摸按键相关的寄存器 .......................................................................................................705 21.5.1 触摸按键使能寄存器(TSCHENn)) ................................................................................706 21.5.2 触摸按键配置寄存器(TSCFGn) .....................................................................................706 21.5.3 触摸按键低电模式唤醒时间控制寄存器(TSWUTC) ...................................................707 21.5.4 触摸按键控制寄存器(TSCTRL) ....................................................................................707 21.5.5 触摸按键状态寄存器 1(TSSTA1) ..................................................................................708 21.5.6 触摸按键状态寄存器 2(TSSTA2) ..................................................................................709 21.5.7 触摸按键时间控制寄存器(TSRT)..................................................................................710 21.5.8 触摸按键数据寄存器(TSDAT) .......................................................................................710 21.5.9 触摸按键门槛值寄存器(TSTH) .....................................................................................710 21.6 基本参考电路图以及注意事项 ........................................................................................... 711 22 LED 驱动器 ..........................................................................................................................712 22.1 LED 驱动器内部框架图 ......................................................................................................713 22.2 LED 驱动相关的寄存器 ......................................................................................................713 22.2.1 COM 使能寄存器(COMEN)...........................................................................................714 22.2.2 SEG 使能寄存器(SEGEN) ..............................................................................................714 22.2.3 LED 控制寄存器(LEDCTRL) ........................................................................................714 22.2.4 LED 时钟分频寄存器(LEDCKS) ...................................................................................715 22.2.5 LED 共阳模式数据寄存器(COMn_DA)........................................................................716 22.2.6 LED 共阴模式数据寄存器(COMn_DC) ........................................................................716 22.3 LED 共阴模式(LEDMODE = 00)...................................................................................717 22.4 LED 共阳模式(LEDMODE = 01)...................................................................................718 22.5 LED 共阴/共阳模式(LEDMODE = 10) .........................................................................719 22.6 触摸按键与 LED 分时复用 I/O ...........................................................................................720 22.7 共阴模式参考电路图 ...........................................................................................................722 22.8 共阳模式参考电路图 ...........................................................................................................722 22.9 共阴/共阳模式参考电路图 ..................................................................................................723 22.10 范例程序 ...............................................................................................................................724 22.10.1 共阴/共阳模式驱动 16 个 7 段数码管 ................................................................................724 23 增强型双数据指针 ...............................................................................................................727 23.1 相关的特殊功能寄存器 .......................................................................................................727 23.1.1 第 1 组 16 位数据指针寄存器(DPTR0) .........................................................................727 23.1.2 第 2 组 16 位数据指针寄存器(DPTR1) .........................................................................727 23.1.3 数据指针控制寄存器(DPS) ............................................................................................727 23.1.4 数据指针控制寄存器(TA) ..............................................................................................728 23.2 范例程序 ...............................................................................................................................730 23.2.1 示例代码 1 ............................................................................................................................730 20.4.5 20.4.6 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - xi - STC8G 系列技术手册 23.2.2 24 24.1 24.1.1 24.1.2 24.1.3 24.1.4 24.2 24.3 附录 A 附录 B 附录 C 附录 D 附录 E 附录 F 附录 G G.1 G.2 G.3 G.3.1 G.3.2 G.3.3 G.3.4 G.3.5 G.3.6 G.3.7 G.3.8 G.3.9 G.3.10 G.4 G.4.1 G.4.2 G.4.3 G.4.4 G.4.5 G.5 G.5.1 G.5.2 附录 H 附录 I 附录 J 附录 K 附录 L 附录 M 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 示例代码 2 ............................................................................................................................731 MDU16 硬件 16 位乘除法器 ..............................................................................................733 相关的特殊功能寄存器 .......................................................................................................733 操作数 1 数据寄存器(MD0~MD3) ..............................................................................733 操作数 2 数据寄存器(MD4~MD5) ..............................................................................734 MDU 模式控制寄存器(ARCON),运算所需时钟数 .....................................................734 MDU 操作控制寄存器(OPCON) ...................................................................................735 关于 MDU16 的网友应用杂谈(提供思路,仅供参考) ................................................736 范例程序 ...............................................................................................................................738 编译器(汇编器)/仿真器/头文件使用指南 .....................................................................740 如何测试 I/O 口 ...................................................................................................................749 如何让传统的 8051 单片机学习板可仿真 .........................................................................750 STC-USB 驱动程序安装说明 .............................................................................................752 USB 下载步骤演示 ..............................................................................................................815 RS485 自动控制或 I/O 口控制线路图 ...............................................................................819 STC 工具使用说明书 ..........................................................................................................820 概述 .......................................................................................................................................820 系统可编程(ISP)流程说明 .............................................................................................820 USB 型联机/脱机下载工具 U8W/U8W-Mini .....................................................................821 安装 U8W/U8W-Mini 驱动程序 ..........................................................................................823 U8W 的功能介绍 .................................................................................................................826 U8W 的在线联机下载使用说明 .........................................................................................827 U8W 的脱机下载使用说明 .................................................................................................830 U8W-Mini 的功能介绍 ........................................................................................................838 U8W-Mini 的在线联机下载使用说明.................................................................................839 U8W-Mini 的脱机下载使用说明.........................................................................................840 制作/更新 U8W/U8W-Mini..................................................................................................846 U8W/U8W-Mini 设置直通模式(可用于仿真) ...............................................................848 U8W/U8W-Mini 的参考电路 ...............................................................................................848 STC 通用 USB 转串口工具 .................................................................................................850 STC 通用 USB 转串口工具外观图 .....................................................................................850 STC 通用 USB 转串口工具布局图 .....................................................................................851 STC 通用 USB 转串口工具驱动安装 .................................................................................852 使用 STC 通用 USB 转串口工具下载程序到 MCU ..........................................................853 使用 STC 通用 USB 转串口工具仿真用户代码 ................................................................855 应用线路图 ...........................................................................................................................862 U8W 工具应用参考线路图 .................................................................................................862 STC 通用 USB 转串口工具应用参考线路图 .....................................................................862 U8W 下载工具中 RS485 部分线路图 ................................................................................864 运行用户程序时收到用户命令后自动启动 ISP 下载(不停电) ........................................865 使用 STC 的 IAP 系列单片机开发自己的 ISP 程序 ........................................................867 用户程序复位到系统区进行 ISP 下载的方法(不停电) ...............................................879 使用第三方 MCU 对 STC8G 系列单片机进行 ISP 下载范例程序 ................................885 使用第三方应用程序调用 STC 发布项目程序对单片机进行 ISP 下载 .........................893 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - xii - STC8G 系列技术手册 附录 N 附录 O 附录 P P.1 P.2 P.3 P.4 P.5 附录 Q Q.1 Q.2 Q.3 Q.4 附录 R 附录 S 附录 T 附录 U 附录 V 附录 W 附录 X 附录 Y 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 在 Keil 中建立多文件项目的方法 ......................................................................................897 关于中断号大于 31 在 Keil 中编译出错的处理 ................................................................901 电气特性 ............................................................................................................................... 911 绝对最大额定值 ................................................................................................................... 911 直流特性(3.3V) ...............................................................................................................912 直流特性(5.0V) ...............................................................................................................914 内部 IRC 温漂特性(参考温度 25℃)..............................................................................915 低压复位门槛电压(测试温度 25℃) ..............................................................................915 应用注意事项 .......................................................................................................................916 STC8G1K08A 系列 ..............................................................................................................916 STC8G2K64S4/S2 系列 .......................................................................................................916 STC8G1K08 系列 .................................................................................................................917 STC8G1K08T 系列 ..............................................................................................................917 触摸按键的 PCB 设计指导 .................................................................................................918 QFN/DFN 封装元器件焊接方法 ........................................................................................920 关于回流焊前是否要烘烤 ...................................................................................................923 STC8G 系列单片机取代 STC15 系列的注意事项 ...........................................................924 STC8G 系列单片机取代 STC8A/8F 系列的注意事项 .....................................................926 STC15H 系列单片机取代 STC15F/L/W 系列的注意事项 ..............................................927 更新记录 ...............................................................................................................................929 STC8 系列命名花絮 ............................................................................................................937 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - xiii - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 1 概述 STC8G 系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为 目标的 8051 单片机,在相同的工作频率下,STC8G 系列单片机比传统的 8051 约快 12 倍 (速度快 11.2~13.2 倍),依次按顺序执行完全部的 111 条指令,STC8G 系列单片机仅需 147 个时钟,而传统 8051 则需要 1944 个时钟。STC8G 系列单片机是 STC 生产的单时钟/机器周期(1T)的单片机,是宽电压/高速/高可靠/ 低功耗/强抗静电/较强抗干扰的新一代 8051 单片机,超级加密。指令代码完全兼容传统 8051。 MCU 内部集成高精度 R/C 时钟(±0.3%,常温下+25℃),-1.38%~+1.42%温飘(-40℃~+85℃) , -0.88%~+1.05%温飘(-20℃~+65℃)。ISP 编程时 4MHz~35MHz 宽范围可设置(注意:温度范围为-40℃ ~+85℃时,最高频率须控制在 35MHz 以下),可彻底省掉外部昂贵的晶振和外部复位电路(内部已集成高 可靠复位电路,ISP 编程时 4 级复位门槛电压可选)。 MCU 内部有 3 个可选时钟源:内部高精度 IRC 时钟(ISP 下载时可进行调节)、内部 32KHz 的低 速 IRC、外部 4M~33M 晶振或外部时钟信号。用户代码中可自由选择时钟源,时钟源选定后可再经过 8-bit 的分频器分频后再将时钟信号提供给 CPU 和各个外设(如定时器、串口、SPI 等)。 MCU 提供两种低功耗模式:IDLE 模式和 STOP 模式。IDLE 模式下,MCU 停止给 CPU 提供时钟, CPU 无时钟,CPU 停止执行指令,但所有的外设仍处于工作状态,此时功耗约为 1.0mA(6MHz 工作频 率)。STOP 模式即为主时钟停振模式,即传统的掉电模式/停电模式/停机模式,此时 CPU 和全部外设 都停止工作,功耗可降低到 0.6uA@Vcc=5.0V,0.4uA@Vcc=3.3V。 掉电模式可以使用 INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、T1(P3.5)、 T2(P1.2) 、 T3(P0.4) 、 T4(P0.6) 、 RXD(P3.0/P3.6/P1.6/P4.3) 、 RXD2(P1.0/P4.6) 、 RXD3(P0.0/P5.0) 、 RXD4(P0.2/P5.2)、CCP0(P1.1/P3.5/P2.5)、CCP1(P1.0/P3.6/P2.6)、CCP2(P3.7/P2.7)、I2C_SDA(P1.4/P2.4/P3.3) 以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。 MCU 提供了丰富的数字外设(串口、定时器、PCA、PWM 以及 I2C、SPI)接口与模拟外设(超高 速 ADC、比较器),可满足广大用户的设计需求。 STC8G 系列单片机内部集成了增强型的双数据指针。通过程序控制,可实现数据指针自动递增或递 减功能以及两组数据指针的自动切换功能。 增强型 PWM 产品线 I/O UART 定时器 ADC STC8G1K08 系列 18 2 3 15CH*10B STC8G1K08-8Pin 系列 6 1 2 STC8G1K08A 系列 6 1 2 6CH*10B STC8G2K64S4 系列 45 4 5 15CH*10B ● ● STC8G2K64S2 系列 45 2 5 15CH*10B ● STC8G1K08T 系列 16 1 3 15CH*10B STC15H2K64S4 系列 42 4 5 15CH*10B 深圳国芯人工智能有限公司 PCA CMP SPI I2C ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 国内分销商电话: 0513-5501 2928/2929/2966 MDU16 LED 触摸 按键 ● ● ● 传真: 0513-5501 2926/2956/2947 -1- STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2 特性、价格及管脚 2.1 STC8G1K08-38I-TSSOP20/QFN20/SOP16 系列 2.1.1  特性及价格 选型价格(不需要外部晶振、不需要外部复位,10 位 ADC,15 通道) 15 内 部 高 精 准 时 钟 ( SOP16 ( 不 建 议 使 用 ) DIP16 SOP20 ( 不 建 议 使 用 ) DIP20 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 QFN20 (3mm*3mm) 可 设 置 下 次 更 新 程 序 需 口 令 TSSOP20 D/A 程 序 加 密 后 传 输 ( 防 拦 截 ) 主 力 产 品 供 货 信 息 价 格 及 封 装 USB 3 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 36MHz PCA A/D 看 门 狗 复 位 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) RS485 1 掉 电 唤 醒 专 用 定 时 器 比 路 较 高 器 速 ( 内 可 部 当 低 压 ( 路 检 路 测 中 , 断 可 并 可 作 可 当 外 掉 部 电 路 掉 唤 电 醒 检 使 测 用 ) ) ADC 3 PCA/CCP/PWM ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) PWM PWM I2 C 有 T0-T2 2 15 16 / 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 SPI I/O SRAM 字 字 节 节 字 节 强 大 的 双 EEPROM 10 , 内 部 大 容 量 扩 展 DPTR 10 8051 RAM 万 次 , 内 部 传 统 xdata Flash ) idata 工 作 电 压 ( V 单 片 机 型 号 程 序 存 储 器 定 支 时 持 器 计 位 位 上 数 高 增 升 器 级 强 沿 中 ( 型 断 、 下 定 外 时 满 降 部 器 足 沿 中 管 舞 脚 互 台 断 补 以 也 灯 可 对 光 及 掉 称 要 边 电 死 求 沿 中 唤 区 断 醒 ) ( 不 建 议 使 用 ) 10 STC8G1K04 1.9-5.5 4K 256 1K 2 8K 18 有 3 - - 3 有 有 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 √ 位 √ √ √ √ √ √ 10 STC8G1K08 1.9-5.5 8K 256 1K 2 4K 18 2 有 有 3 - - 3 有 位 STC8G1K12 1.9-5.5 12K 256 1K 2 IAP 18 2 有 有 3 - - 3 有 现 货 √ √ √ 10 有 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 - - 位 √ √ √ 10 STC8G1K17 1.9-5.5 17K 256 1K 2 IAP 18 2 有 有 3 - - 3 有 √ √ 位 注:以上的单价为 10K 及以上订货量的价格,量小则每片需增加 0.1 元人民币。当订货的总额达到或高于 3000 元时, 可免运费发货,否则需要由客户承担运费。零售 10 片起售。    内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  16 个中断源,4 级中断优先级  支持在线仿真 工作电压  1.9V~5.5V  内建 LDO 工作温度   -40℃~85℃(超温度范围应用请参考电器特性章节说明) Flash 存储器  最大 17K 字节 FLASH 程序存储器(ROM),用于存储用户代码  支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -2- STC8G 系列技术手册    官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 支持单芯片仿真,无需专用仿真器,理论断点个数无限制 SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  1024 字节内部扩展 RAM(内部 XDATA) 时钟控制  内部高精度 IRC(4MHz~36MHz,ISP 编程时可进行上下调整,还可以用户软件分频到较低的频率工作, 如 100KHz)  误差±0.3%(常温下 25℃)  -1.38%~+1.42%温漂(全温度范围,-40℃~85℃)  -0.88%~+1.05%温漂(温度范围,-20℃~65℃)  内部 32KHz 低速 IRC(误差较大)  外部晶振(4MHz~36MHz)和外部时钟 用户可自由选择上面的 3 种时钟源  复位  硬件复位  上电复位,实测电压值为 1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从 0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。  复位脚复位,出厂时 P5.4 默认为 I/O 口,ISP 下载时可将 P5.4 管脚设置为复位脚(注意:当设置 P5.4 管脚为复位脚时,复位电平为低电平)  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.0V(实测为 1.90V~2.04V)、2.4V(实测为 2.30V~2.50V)、 2.7V(实测为 2.61V~2.82V)、3.0V(实测为 2.90V~3.13V)。 每级低压检测电压都是由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向 下掉到低压检测的下限门槛电压时,低压检测生效;当电压从 0V 上升到低压检测的上限门槛电压 时,低压检测生效。  软件复位   软件方式写复位触发寄存器 中断  提供 16 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器 0、定时器 1、定时 器 2、串口 1、串口 2、ADC 模数转换、LVD 低压检测、SPI、I2C、比较器、PCA/CCP/PWM  提供 4 级中断优先级  时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、T2(P1.2)、RXD(P3.0/P3.6/P1.6)、RXD2(P1.0)、CCP0(P1.1/P3.5)、CCP1(P1.0/P3.6)、CCP2(P3.7)、 I2C_SDA(P1.4/P3.3)以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。  数字外设  3 个 16 位定时器:定时器 0、定时器 1、定时器 2,其中定时器 0 的模式 3 具有 NMI(不可屏蔽中断)功  2 个高速串口:串口 1、串口 2,波特率时钟源最快可为 FOSC/4  3 组 16 位 CCP/PCA/PWM 模块:CCP0、CCP1、CCP2,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM 能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -3- STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 输出   SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式 模拟外设  超高速 ADC,支持 10 位精度 15 通道(通道 0~通道 14)的模数转换,速度最快能达到 500K(每秒进行 50 万次 ADC 转换)  ADC 的通道 15 用于测试内部 1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为 1.19V)  比较器,一组比较器(比较器的正端可选择 CMP+端口和所有的 ADC 输入端口,所以比较器可当作多路 比较器进行分时复用)   DAC:3 路 PCA/CCP/PWM 可当 3 路 DAC 使用 GPIO  最多可达 18 个 GPIO:P1.0~P1.7、P3.0~P3.7、P5.4~P5.5  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使用 I/O 口时必须先设置 I/O 口模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻  封装  TSSOP20、QFN20(3mm*3mm)、SOP20、DIP20、SOP16、DIP16 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -4- STC8G 系列技术手册 2.1.2 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) 1 2 3 4 5 6 7 8 9 10 TSSOP20 T2/ECI/SS/ADC2/P1.2 T2CLKO/MOSI/ADC3/P1.3 I2CSDA/MISO/ADC4/P1.4 I2CSCL/SCLK/ADC5/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/P1.6 XTALI/TxD_3/ADC7/P1.7 MCU-VCC MCLKO/RST/P5.4 Vcc/AVcc/ADC_VRef+ P5.5 22u 0.1u Gnd/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/SS_4 P3.4/ADC12/T0/T1CLKO/ECI_2/CMPO/MOSI_4 P3.3/ADC11/INT1/MISO_4/I2CSDA_4 P3.2/ADC10/INT0/SCLK_4/I2CSCL_4 P3.1/ADC9/TxD P3.0/ADC8/RxD/INT4 注意: 1、若不需要进行USB下载,芯片复位时P3.0/P3.1/P3.2 不可同时为低电平 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -5- STC8G 系列技术手册 官方网站: www.STCMCUDATA.com RxD2/CCP1/ADC0/P1.0 TxD2/CCP0/ADC1/P1.1 XTALO/MCLKO_2/RxD_3/ADC6/P1.6 XTALI/TxD_3/ADC7/P1.7 MCU-VCC MCLKO/RST/P5.4 Vcc/AVcc/ADC_VRef+ P5.5 22u 0.1u Gnd/AGnd CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) 1 2 3 4 5 6 7 8 SOP16 技术支持: 13922829991 16 15 14 13 12 11 10 9 选型顾问: 13922805190 P3.7/INT3/TxD_2/CCP2/CCP2_2CMP+ P3.6/ADC14/INT2/RxD_2/CCP1_2/CMPP3.5/ADC13/T1/T0CLKO/CCP0_2/SS_4 P3.4/ADC12/T0/T1CLKO/ECI_2/CMPO/MOSI_4 P3.3/ADC11/INT1/MISO_4/I2CSDA_4 P3.2/ADC10/INT0/SCLK_4/I2CSCL_4 P3.1/ADC9/TxD P3.0/ADC8/RxD/INT4 注意: 1、若不需要进行USB下载,芯片复位时P3.0/P3.1/P3.2 不可同时为低电平 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致I SP下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -6- 官方网站: www.STCMCUDATA.com 选型顾问: 13922805190 注意: 1、若不需要进行USB下载,芯片复位时 P3.0/P3.1/P3.2不可同时为低电平 15 14 13 12 11 CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) 技术支持: 13922829991 P3.7/INT3/TxD_2/CCP2/CCP2_2/CMP+ P3.6/ADC14/INT2/RxD_2/CCP1_2/CMPP3.5/ADC13/T1/T0CLKO/CCP0_2/SS_4 P3.4/ADC12/T0/T1CLKO/ECI_2/MOSI_4/CMPO P3.3/ADC11/INT1/MISO_4/I2CSDA_4 STC8G 系列技术手册 16 17 18 19 20 QFN20 10 9 8 7 6 P3.2/ADC10/INT0/SCLK_4/I2CSCL_4 P3.1/ADC9/TxD P3.0/ADC8/RxD/INT4 Gnd/AGnd P5.5 1 2 3 4 5 CCP1/RxD2/ADC0/P1.0 I2CSDA/MISO/ADC4/P1.4 T2CLKO/MOSI/ADC3/P1.3 T2/ECI/SS/ADC2/P1.2 CCP0/TxD2/ADC1/P1.1 I2CSCL/SCLK/ADC5/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/P1.6 XTALI/TxD_3/ADC7/P1.7 MCLKO/RST/P5.4 Vcc/AVcc/ADC_VRef+ MCU-VCC 22u 0.1u 典型下载线路见下一页 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -7- STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 注意: 1、除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在 使用 I/O 口时必须先设置 I/O 口模式 2、所有的 I/O 口均可以设置为准双向口模式、强推挽输出模式、开漏输出模式或 者高阻输入模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻 3、当使能 P5.4 口为复位脚时,复位电平为低电平 4、对于 STC8G1K08 系列 B 版芯片,P5.4 作 I/O 口使用时,电流不要超过 50mA, 也不要有强的冲击 5、STC8G1K08 系列芯片所支持的 USB 下载为 I/O 口软件模拟的 USB 通信,不可 避免的受各种软硬件因素的影响,尤其是电脑端的不同软件和硬件版本的影响, 导致有一定比例的芯片无法进行 USB 下载(实测约有 0.2%无法 USB 下载)。 建议批量生产还是使用普通的串口下载或 USB 转串口下载。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 -8- STC8G 系列技术手册 2.1.3 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚说明 编号 TSSOP20 SOP16 名称 类型 说明 P1.2 I/O ADC2 I SS I/O T2 I 定时器 2 外部时钟输入 ECI I PCA 的外部脉冲输入 P1.3 I/O ADC3 I ADC 模拟输入通道 3 T2CLKO O 定时器 2 时钟分频输出 MOSI I/O SPI 主机输出从机输入 P1.4 I/O 标准 I/O 口 ADC4 I ADC 模拟输入通道 4 MISO I/O SPI 主机输入从机输出 SDA I/O I2C 接口的数据线 P1.5 I/O 标准 I/O 口 ADC5 I SCLK I/O SPI 的时钟脚 SCL I/O I2C 的时钟线 P1.6 I/O 标准 I/O 口 ADC6 I ADC 模拟输入通道 6 RxD_3 I 串口 1 的接收脚 MCLKO_2 O 主时钟分频输出 XTALO O 外部晶振脚 P1.7 I/O 标准 I/O 口 ADC7 I ADC 模拟输入通道 7 TxD_3 O 串口 1 的发送脚 XTALI I 外部晶振脚 P5.4 I/O 标准 I/O 口 RST I 复位引脚 MCLKO O 主时钟分频输出 Vcc Vcc 电源脚 AVcc Vcc ADC 电源 ADC_VRef+ I P5.5 I/O 标准 I/O 口 Gnd Gnd 地线 AGnd Gnd ADC 地线 QFN20 DIP20 1 2 3 4 5 6 7 8 DIP16 19 18 17 1 2 3 4 5 3 4 5 6 9 6 7 10 7 8 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 标准 I/O 口 ADC 模拟输入通道 2 SPI 从机选择 标准 I/O 口 ADC 模拟输入通道 5 ADC 外部参考电压源输入脚,要 求不高时可直接接 MCU 的 VCC 传真: 0513-5501 2926/2956/2947 -9- STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 编号 TSSOP20 技术支持: 13922829991 名称 类型 P3.0 I/O RxD I 串口 1 的接收脚 ADC8 I ADC 模拟输入通道 8 INT4 I 外部中断 4 P3.1 I/O 标准 I/O 口 TxD O 串口 1 的发送脚 ADC9 I ADC 模拟输入通道 9 P3.2 I/O 标准 I/O 口 INT0 I 外部中断 0 ADC10 I ADC 模拟输入通道 10 SCL_4 I/O I2C 的时钟线 SCLK_4 I/O SPI 的时钟脚 P3.3 I/O 标准 I/O 口 INT1 I 外部中断 1 ADC11 I ADC 模拟输入通道 11 SDA_4 I/O I2C 的数据线 MISO_4 I/O SPI 主机输入从机输出 P3.4 I/O 标准 I/O 口 T0 I 定时器 0 外部时钟输入 T1CLKO O 定时器 1 时钟分频输出 ADC12 I ADC 模拟输入通道 12 ECI_2 I PCA 的外部脉冲输入 CMPO O 比较器输出 MOSI_4 I/O SPI 主机输出从机输入 P3.5 I/O 标准 I/O 口 T1 I 定时器 1 外部时钟输入 T0CLKO O 定时器 0 时钟分频输出 ADC13 I ADC 模拟输入通道 13 CCP0_2 I/O SS_4 I P3.6 I/O 标准 I/O 口 INT2 I 外部中断 2 RxD_2 I 串口 1 的接收脚 ADC14 I ADC 模拟输入通道 14 CCP1_2 I/O CMP- I 选型顾问: 13922805190 说明 SOP16 QFN20 DIP20 11 12 13 14 15 16 17 DIP16 8 9 10 11 12 13 14 9 10 11 12 13 14 15 深圳国芯人工智能有限公司 标准 I/O 口 PCA 的捕获输入、脉冲输出和 PWM 输出 SPI 的从机选择脚(主机为输出) PCA 的捕获输入、脉冲输出和 PWM 输出 比较器负极输入 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 10 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 编号 TSSOP20 技术支持: 13922829991 选型顾问: 13922805190 名称 类型 说明 P3.7 I/O 标准 I/O 口 INT3 I 外部中断 3 TxD_2 O 串口 1 的发送脚 CCP2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP2_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CMP+ I P1.0 I/O RxD2 I 串口 2 的接收脚 ADC0 I ADC 模拟输入通道 0 CCP1 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P1.1 I/O 标准 I/O 口 TxD2 O 串口 2 的发送脚 ADC1 I ADC 模拟输入通道 1 CCP0 I/O SOP16 QFN20 DIP20 18 19 20 DIP16 15 16 20 深圳国芯人工智能有限公司 16 1 2 比较器正极输入 标准 I/O 口 PCA 的捕获输入、脉冲输出和 PWM 输出 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 11 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2.2 STC8G1K08-36I-SOP8/DFN8 系列 2.2.1  特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) 选型价格(不需要外部晶振、不需要外部复位) 15 1 ADC 8 内 部 高 精 准 时 钟 ( - - - 有 - 有 有 4级 有 是 有 是 是 是 是 STC8G1K12 1.9-5.5 12K 256 1K 2 IAP 6 1 有 有 有 2 - - - 有 - 有 有 4级 有 是 有 是 是 是 是 STC8G1K17 1.9-5.5 17K 256 1K 2 IAP 6 1 有 有 有 2 - - - 有 - 有 有 4级 有 是 有 是 是 - - 36MHz 2 8 D/A 位 乘 除 法 器 PWM 有 4K 16 有 字 字 节 节 字 节 DPTR 有 SRAM 1 10 6 万 次 8051 RAM 2 V STC8G1K08 1.9-5.5 8K 256 1K ) SOP8 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 价 格 及 封 装 DFN8 可 设 置 下 次 更 新 程 序 需 口 令 USB 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 程 序 加 密 后 传 输 ( 防 拦 截 ) RS485 A/D PWM T0-T1 PWM PCA/CCP/PWM / 15 16 ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) 看 门 狗 复 位 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) I2 C 硬 件 掉 电 唤 醒 专 用 定 时 器 比 路 较 高 器 速 ( 内 可 部 当 低 ( 压 路 检 路 测 中 , 断 可 并 可 作 可 当 外 掉 部 电 路 掉 唤 电 醒 检 使 测 用 ) ) SPI 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 MDU16 强 大 的 双 I/O , 内 部 大 容 量 扩 展 EEPROM 10 , 内 部 传 统 xdata Flash idata 单 片 机 型 号 工 作 电 压 ( 程 序 存 储 器 定 支 时 持 器 计 位 位 上 数 高 增 升 器 级 强 沿 中 ( 型 断 、 下 定 外 时 满 降 部 器 足 沿 中 管 舞 脚 互 台 断 也 补 灯 以 可 对 光 及 掉 称 要 边 电 死 求 沿 中 唤 区 断 醒 ) 主 力 产 品 供 货 信 息 √ √ 现 货 √ √ 注:以上的单价为 10K 及以上订货量的价格,量小则每片需增加 0.1 元人民币。当订货的总额达到或高于 3000 元时, 可免运费发货,否则需要由客户承担运费。零售 10 片起售。    内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  11 个中断源,4 级中断优先级  支持在线仿真 工作电压  1.9V~5.5V  内建 LDO 工作温度     -40℃~85℃(超温度范围应用请参考电器特性章节说明) Flash 存储器  最大 17K 字节 FLASH 程序存储器(ROM),用于存储用户代码  支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器  支持单芯片仿真,无需专用仿真器,理论断点个数无限制 SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  1024 字节内部扩展 RAM(内部 XDATA) 时钟控制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 12 - STC8G 系列技术手册  官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 内部高精度 IRC(4MHz~38MHz,ISP 编程时可进行上下调整,还可以用户软件分频到较低的频率工作, 如 100KHz)    误差±0.3%(常温下 25℃)  -1.38%~+1.42%温漂(全温度范围,-40℃~85℃)  -0.88%~+1.05%温漂(温度范围,-20℃~65℃) 内部 32KHz 低速 IRC(误差较大) 复位  硬件复位  上电复位,实测电压值为 1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从 0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。  复位脚复位,出厂时 P5.4 默认为 I/O 口,ISP 下载时可将 P5.4 管脚设置为复位脚(注意:当设置 P5.4 管脚为复位脚时,复位电平为低电平)  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.0V(实测为 1.90V~2.04V)、2.4V(实测为 2.30V~2.50V)、 2.7V(实测为 2.61V~2.82V)、3.0V(实测为 2.90V~3.13V)。 每级低压检测电压都是由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向 下掉到低压检测的下限门槛电压时,低压检测生效;当电压从 0V 上升到低压检测的上限门槛电压 时,低压检测生效。  软件复位   软件方式写复位触发寄存器 中断  提供 11 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器 0、定时器 1、串口 1、LVD 低压检测、SPI、I2C  提供 4 级中断优先级  时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、RXD(P3.0/P3.2/P5.4)、I2C_SDA(P3.3/P5.5)以及低压检测中断、掉电唤醒定时器唤醒。  数字外设  2 个 16 位定时器:定时器 0、定时器 1、其中定时器 0 的模式 3 具有 NMI(不可屏蔽中断)功能,定时器  1 个高速串口:串口 1,波特率时钟源最快可为 FOSC/4  SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式  MDU16:硬件 16 位乘除法器(支持 32 位除以 16 位、16 位除以 16 位、16 位乘 16 位、数据移位以及数 0 和定时器 1 的模式 0 为 16 位自动重载模式 据规格化等运算)  GPIO  最多可达 6 个 GPIO:P3.0~P3.3、P5.4~P5.5  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使用 I/O 口时必须先设置 I/O 口模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻  封装 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 13 - STC8G 系列技术手册  官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 SOP8,DFN8(3mm*3mm) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 14 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 2.2.2 MCLKO/RST/SCL_2/MOSI/RxD_3/T1CLKO/T0/INT2/P5.4 Vcc 22u 0.1u SDA_2/SS/TxD_3/T0CLKO/T1/INT3/P5.5 Gnd MCU-VCC 1 8 SOP8/ 2 7 DFN8 3 6 4 (3mm*3mm) 5 P3.3/TxD_2/INT1/MISO/SDA P3.2/RxD_2/INT0/SCLK/SCL P3.1/TxD P3.0/RxD/INT4 注意: 1、若不需要进行USB下载,芯片复位时P3.0/P3.1/P3.2 不可同时为低电平 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 15 - STC8G 系列技术手册 2.2.3 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚说明 名称 类型 说明 P5.4 I/O RST I 复位引脚 MCLKO O 主时钟分频输出 INT2 I 外部中断 2 T0 I 定时器 0 外部时钟输入 T1CLKO O 定时器 1 时钟分频输出 RxD_3 I 串口 1 的接收脚 MOSI I/O SPI 主机输出从机输入 SCL_2 I/O I2C 的时钟线 Vcc Vcc 电源脚 P5.5 I/O 标准 I/O 口 INT3 I 外部中断 3 T1 I 定时器 1 外部时钟输入 T0CLKO O 定时器 0 时钟分频输出 TxD_3 O 串口 1 的发送脚 SS I SPI 的从机选择脚(主机为输出) SDA_2 I/O I2C 的数据线 Gnd Gnd 地线 P3.0 I/O 标准 I/O 口 RxD I 串口 1 的接收脚 INT4 I 外部中断 4 P3.1 I/O 标准 I/O 口 TxD O P3.2 I/O 标准 I/O 口 INT0 I 外部中断 0 SCLK I/O SPI 的时钟脚 SCL I/O I2C 的时钟线 RxD_2 I P3.3 I/O 标准 I/O 口 INT1 I 外部中断 1 MISO I/O SPI 主机输入从机输出 SDA I/O I2C 的数据线 TxD_2 O SOP8 1 2 3 4 5 6 7 8 深圳国芯人工智能有限公司 标准 I/O 口 串口 1 的发送脚 串口 1 的接收脚 串口 1 的发送脚 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 16 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2.3 STC8G1K08A-36I-SOP8/DFN8/DIP8 系列 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) 2.3.1  选型价格(不需要外部晶振、不需要外部复位,10 位 ADC,6 通道) 6 路 高 速 ( 内 部 高 精 准 时 钟 ( 3 有 10 位 有 有 4级 有 是 有 是 是 是 是 STC8G1K12A 1.9-5.5 12K 256 1K 2 IAP 6 1 有 有 有 2 - - 3 有 10 位 有 有 4级 有 是 有 是 是 是 是 STC8G1K17A 1.9-5.5 17K 256 1K 2 IAP 6 1 有 有 有 2 - - 3 有 10 位 有 有 4级 有 是 有 是 是 - - 可 当 8 路 D/A 使 用 ) 36MHz - 位 乘 除 法 器 PWM - I2 C 2 SPI 有 4K 16 有 SRAM 有 字 字 节 节 字 节 DPTR 1 10 6 万 次 8051 RAM 2 V STC8G1K08A 1.9-5.5 8K 256 1K ) DFN8 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 价 格 及 封 装 主 力 产 品 供 货 信 ( 息 不 建 议 使 用 ) DIP8 可 设 置 下 次 更 新 程 序 需 口 令 SOP8 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 程 序 加 密 后 传 输 ( 防 拦 截 ) USB 看 门 狗 复 位 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) RS485 A/D 路 比 较 器 ( 内 可 部 当 低 压 路 检 测 中 , 断 可 并 作 可 外 掉 部 电 掉 唤 电 醒 检 测 ) 1 掉 电 唤 醒 专 用 定 时 器 ADC 8 PCA/CCP/PWM ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) PWM PWM T0-T1 硬 件 15 16 / 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 MDU16 强 大 的 双 I/O , 内 部 大 容 量 扩 展 EEPROM 10 单 片 机 型 号 , 内 部 传 统 xdata Flash idata 工 作 电 压 ( 程 序 存 储 器 定 支 时 持 器 计 位 位 上 数 高 增 升 器 级 强 沿 中 ( 型 断 、 下 定 外 时 满 降 部 器 足 沿 中 管 舞 脚 互 台 断 也 补 灯 以 可 对 光 及 掉 称 要 边 电 死 求 沿 中 唤 区 断 醒 ) √ √ √ 现 货 √ √ √ 注:以上的单价为 10K 及以上订货量的价格,量小则每片需增加 0.1 元人民币。当订货的总额达到或高于 3000 元时, 可免运费发货,否则需要由客户承担运费。零售 10 片起售。    内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  13 个中断源,4 级中断优先级  支持在线仿真 工作电压  1.9V~5.5V  内建 LDO 工作温度     -40℃~85℃(超温度范围应用请参考电器特性章节说明) Flash 存储器  最大 17K 字节 FLASH 程序存储器(ROM),用于存储用户代码  支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器  支持单芯片仿真,无需专用仿真器,理论断点个数无限制 SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  1024 字节内部扩展 RAM(内部 XDATA) 时钟控制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 17 - STC8G 系列技术手册  官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 内部高精度 IRC(4MHz~38MHz,ISP 编程时可进行上下调整,还可以用户软件分频到较低的频率工作, 如 100KHz)    误差±0.3%(常温下 25℃)  -1.38%~+1.42%温漂(全温度范围,-40℃~85℃)  -0.88%~+1.05%温漂(温度范围,-20℃~65℃) 内部 32KHz 低速 IRC(误差较大) 复位  硬件复位  上电复位,实测电压值为 1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从 0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。  复位脚复位,出厂时 P5.4 默认为 I/O 口,ISP 下载时可将 P5.4 管脚设置为复位脚(注意:当设置 P5.4 管脚为复位脚时,复位电平为低电平)  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.0V(实测为 1.90V~2.04V)、2.4V(实测为 2.30V~2.50V)、 2.7V(实测为 2.61V~2.82V)、3.0V(实测为 2.90V~3.13V)。 每级低压检测电压都是由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向 下掉到低压检测的下限门槛电压时,低压检测生效;当电压从 0V 上升到低压检测的上限门槛电压 时,低压检测生效。  软件复位   软件方式写复位触发寄存器 中断  提供 13 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器 0、定时器 1、串口 1、ADC 模数转换、LVD 低压检测、SPI、I2C、PCA/CCP/PWM  提供 4 级中断优先级  时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、RXD(P3.0/P3.2/P1.6/P5.4)、CCP0(P3.2/P3.1)、CCP1(P3.3)、CCP2(P5.4/P5.5)、I2C_SDA(P3.3/P5.5) 以及低压检测中断、掉电唤醒定时器唤醒。  数字外设  2 个 16 位定时器:定时器 0、定时器 1、其中定时器 0 的模式 3 具有 NMI(不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式  1 个高速串口:串口 1,波特率时钟源最快可为 FOSC/4  3 组 16 位 CCP/PCA/PWM 模块:CCP0、CCP1、CCP2,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM 输出  SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式  MDU16:硬件 16 位乘除法器(支持 32 位除以 16 位、16 位除以 16 位、16 位乘 16 位、数据移位以及数 据规格化等运算)  模拟外设  超高速 ADC,支持 10 位精度 6 通道(通道 0~通道 5)的模数转换,速度最快能达到 500K(每秒进行 50 万次 ADC 转换)  ADC 的通道 15 用于测试内部 1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为 1.19V) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 18 - STC8G 系列技术手册   官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 DAC:3 路 PCA/CCP/PWM 可当 3 路 DAC 使用 GPIO  最多可达 6 个 GPIO:P3.0~P3.3、P5.4~P5.5  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使用 I/O 口时必须先设置 I/O 口模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻  封装  SOP8,DFN8(3mm*3mm),DIP8 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 19 - STC8G 系列技术手册 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 2.3.2 MCU-VCC 官方网站: www.STCMCUDATA.com CCP2_2/CCP2/MCLKO/RST/SCL_2/MOSI/RxD_3/T1CLKO/T0/INT2/ADC4/P5.4 Vcc/AVcc 0.1u ECI_2/ECI/CCP2_3/SDA_2/SS/TxD_3/T0CLKO/T1/INT3/ADC5/P5.5 Gnd/AGnd 22u 1 2 3 4 SOP8/ DFN8/ DIP8 8 7 6 5 P3.3/ADC3/TxD_2/INT1/MISO/SDA/CCP1/CCP1_2/CCP1_3 P3.2/ADC2/RxD_2/INT0/SCLK/SCL/CCP0/CCP0_3 P3.1/ADC1/TxD/CCP0_2/ECI_3 P3.0/ADC0/RxD/INT4 CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) 注意: 1、若不需要进行USB下载,芯片复位时P3.0/P3.1/P3.2 不可同时为低电平 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 20 - STC8G 系列技术手册 2.3.3 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚说明 编号 SOP8 名称 类型 说明 P5.4 I/O RST I 复位引脚 MCLKO O 主时钟分频输出 INT2 I 外部中断 2 T0 I 定时器 0 外部时钟输入 T1CLKO O 定时器 1 时钟分频输出 RxD_3 I 串口 1 的接收脚 MOSI I/O SPI 主机输出从机输入 SCL_2 I/O I2C 的时钟线 ADC4 I CCP2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP2_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 Vcc Vcc 电源脚 AVcc Vcc ADC 电源脚 P5.5 I/O 标准 I/O 口 INT3 I 外部中断 3 T1 I 定时器 1 外部时钟输入 T0CLKO O 定时器 0 时钟分频输出 TxD_3 O 串口 1 的发送脚 SS I SPI 的从机选择脚(主机为输出) SDA_2 I/O ADC5 I ADC 模拟输入通道 5 ECI I PCA 的外部脉冲输入 ECI_2 I PCA 的外部脉冲输入 CCP2_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 Gnd Gnd 地线 AGnd Gnd ADC 地线 P3.0 I/O 标准 I/O 口 RxD I 串口 1 的接收脚 INT4 I 外部中断 4 ADC0 I ADC 模拟输入通道 0 P3.1 I/O TxD O 串口 1 的发送脚 ADC1 I ADC 模拟输入通道 1 ECI_3 I PCA 的外部脉冲输入 CCP0_2 I/O DFN8 DIP8 1 2 3 4 5 6 深圳国芯人工智能有限公司 标准 I/O 口 ADC 模拟输入通道 4 I2C 的数据线 标准 I/O 口 PCA 的捕获输入、脉冲输出和 PWM 输出 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 21 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 编号 SOP8 名称 类型 说明 P3.2 I/O 标准 I/O 口 INT0 I 外部中断 0 SCLK I/O SPI 的时钟脚 SCL I/O I2C 的时钟线 RxD_2 I 串口 1 的接收脚 ADC2 I ADC 模拟输入通道 2 CCP0 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP0_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P3.3 I/O 标准 I/O 口 INT1 I 外部中断 1 MISO I/O SPI 主机输入从机输出 SDA I/O I2C 的数据线 TxD_2 O 串口 1 的发送脚 ADC3 I ADC 模拟输入通道 3 CCP1 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP1_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP1_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 DFN8 DIP8 7 8 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 22 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2.4 STC8G2K64S4-36I-LQFP48/QFN48/LQFP32/QFN32 系列 2.4.1  特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) 选型价格(不需要外部晶振、不需要外部复位,10 位 ADC,15 通道) 15 1 内 部 高 精 准 时 钟 ( 4 有 5 - 45 3 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 LQFP32 2 32K 45 QFN32 有 D/A 有 主 力 产 品 供 货 信 息 √ √ √ 10 STC8G2K32S4 1.9-5.5 32K 256 2K LQFP48 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 价 格 及 封 装 QFN48 可 设 置 下 次 更 新 程 序 需 口 令 USB 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 程 序 加 密 后 传 输 ( 防 拦 截 ) RS485 看 门 狗 复 位 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) 36MHz PWM A/D 掉 电 唤 醒 专 用 定 时 器 比 路 较 高 器 速 ( 内 可 部 当 低 压 ( 全 路 检 测 部 中 , 断 可 并 可 均 作 掉 可 外 电 当 部 掉 唤 电 醒 检 使 测 用 ) ) ADC PCA/CCP/PWM ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) PWM PWM I2 C 有 T0-T4 16 有 位 乘 除 法 器 15 16 / 硬 件 SPI 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 MDU16 I/O SRAM 字 字 节 节 字 节 强 大 的 双 EEPROM 10 , 内 部 大 容 量 扩 展 DPTR 10 万 次 8051 RAM ) , 内 部 传 统 xdata Flash V 单 片 机 型 号 idata 工 作 电 压 ( 程 序 存 储 器 定 支 时 持 器 计 位 位 上 数 高 增 升 器 级 强 沿 中 ( 型 断 、 下 定 外 时 满 降 部 器 足 沿 中 管 舞 脚 互 台 断 也 补 灯 以 可 对 光 及 掉 称 要 边 电 死 求 沿 中 唤 区 断 醒 ) 位 √ √ √ 10 STC8G2K48S4 1.9-5.5 48K 256 2K 2 16K 45 4 有 有 有 5 - 45 3 有 位 √ √ √ 10 STC8G2K60S4 1.9-5.5 60K 256 2K 2 4K 45 4 有 有 有 5 - 45 3 有 有 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 位 √ √ √ √ 10 STC8G2K64S4 1.9-5.5 64K 256 2K 2 IAP 45 4 有 有 有 5 - 45 3 有 位 注:以上的单价为 10K 及以上订货量的价格,量小则每片需增加 0.1 元人民币。当订货的总额达到或高于 3000 元时, 可免运费发货,否则需要由客户承担运费。零售 10 片起售。 如需要选择 48 管脚的芯片,建议选 LQFP48 封装,QFN48 需要提前订货    内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  29 个中断源,4 级中断优先级  支持在线仿真 工作电压  1.9V~5.5V  内建 LDO 工作温度   -40℃~85℃(超温度范围应用请参考电器特性章节说明) Flash 存储器  最大 64K 字节 FLASH 程序存储器(ROM),用于存储用户代码  支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器  支持单芯片仿真,无需专用仿真器,理论断点个数无限制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 23 - 现 货 STC8G 系列技术手册   官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  2048 字节内部扩展 RAM(内部 XDATA) 时钟控制  内部高精度 IRC(4MHz~38MHz,ISP 编程时可进行上下调整,还可以用户软件分频到较低的频率工作, 如 100KHz)   误差±0.3%(常温下 25℃)  -1.38%~+1.42%温漂(全温度范围,-40℃~85℃)  -0.88%~+1.05%温漂(温度范围,-20℃~65℃)  内部 32KHz 低速 IRC(误差较大)  外部晶振(4MHz~38MHz)和外部时钟 复位  硬件复位  上电复位,实测电压值为 1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从 0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。  复位脚复位,出厂时 P5.4 默认为 I/O 口,ISP 下载时可将 P5.4 管脚设置为复位脚(注意:当设置 P5.4 管脚为复位脚时,复位电平为低电平)  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.0V(实测为 1.90V~2.04V)、2.4V(实测为 2.30V~2.50V)、 2.7V(实测为 2.61V~2.82V)、3.0V(实测为 2.90V~3.13V)。 每级低压检测电压都是由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向 下掉到低压检测的下限门槛电压时,低压检测生效;当电压从 0V 上升到低压检测的上限门槛电压 时,低压检测生效。  软件复位   软件方式写复位触发寄存器 中断  提供 29 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器 0、定时器 1、定时 器 2、定时器 3、定时器 4、串口 1、串口 2、串口 3、串口 4、ADC 模数转换、LVD 低压检测、SPI、I2C、 比较器、PCA/CCP/PWM、增强型 PWM0、增强型 PWM1、增强型 PWM2、增强型 PWM3、增强型 PWM4、 增强型 PWM5、增强型 PWM0 异常检测、增强型 PWM2 异常检测、增强型 PWM4 异常检测。  提供 4 级中断优先级  时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、T2(P1.2)、T3(P0.4)、T4(P0.6)、RXD(P3.0/P3.6/P1.6/P4.3)、RXD2(P1.0/P4.6)、RXD3(P0.0/P5.0)、 RXD4(P0.2/P5.2)、CCP0(P1.1/P3.5/P2.5)、CCP1(P1.0/P3.6/P2.6)、CCP2(P3.7/P2.7)、I2C_SDA(P1.4/P2.4/P3.3) 以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。  数字外设  5 个 16 位定时器:定时器 0、定时器 1、定时器 2、定时器 3、定时器 4,其中定时器 0 的模式 3 具有 NMI (不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式  4 个高速串口:串口 1、串口 2、串口 3、串口 4,波特率时钟源最快可为 FOSC/4  3 组 16 位 CCP/PCA/PWM 模块:CCP0、CCP1、CCP2,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 24 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 输出  45 组 15 位增强型 PWM,可实现带死区的控制信号,并支持外部异常检测功能(另外还有 3 组传统的  SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式  MDU16:硬件 16 位乘除法器(支持 32 位除以 16 位、16 位除以 16 位、16 位乘 16 位、数据移位以及数 PCA/CCP/PWM 可作 PWM) 据规格化等运算)  模拟外设  超高速 ADC,支持 10 位精度 15 通道(通道 0~通道 14)的模数转换,速度最快能达到 500K(每秒进行 50 万次 ADC 转换)  ADC 的通道 15 用于测试内部 1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为 1.19V)  比较器,一组比较器(比较器的正端可选择 CMP+端口和所有的 ADC 输入端口,所以比较器可当作多路  DAC:3 路 PCA/CCP/PWM 可当 3 路 DAC 使用,45 路增强型 PWM 可当 45 路 DAC 使用 比较器进行分时复用)  GPIO  最多可达 45 个 GPIO:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7、P4.0~P4.7、P5.0~P5.4  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使用 I/O 口时必须先设置 I/O 口模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻  封装  LQFP48、QFN48、LQFP32(暂未生产) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 25 - STC8G 系列技术手册 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P4.4/PWM44/RD/TxD_4 P4.3/PWM43/RxD_4/SCLK_3 P4.2/PWM42/WR P4.1/PWM41/MISO_3/CMPO_2 P3.7/PWM37/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/PWM36/INT2/RxD_2/CMP-/CCP1_2 P3.5/PWM35/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P5.1/PWM51/TxD3_2 2.4.2 官方网站: www.STCMCUDATA.com 36 35 34 33 32 31 30 29 28 27 26 25 注意: 1、ADC的外部参考电源管脚ADC_VRef+, 一定不能浮空,必须接外部参考电 源或者直接连到Vcc 2、若不需要进行USB下载,芯片复位时 P3.0/P3.1/P3.2不可同时为低电平 37 38 39 40 41 42 43 44 45 46 47 48 LQFP48 QFN48 24 23 22 21 20 19 18 17 16 15 14 13 P5.0/PWM50/RxD3_2 P3.4/PWM34/T0/T1CLKO/ECI_2/MOSI_4/CMPO P3.3/PWM33/INT1/MISO_4/I2CSDA_4 P3.2/PWM32/INT0/SCLK_4/I2CSCL_4 P3.1/PWM31/TxD P3.0/PWM30/RxD/INT4 P4.0/PWM40/MOSI_3 Gnd/AGnd MCU-VCC ADC_VRef+ Vcc/AVcc P5.4/PWM54/RST/MCLKO/SS_3 22u 0.1u P1.7/PWM17/ADC7/TxD_3/XTALI CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) TxD4_2/PWM53/P5.3 T3CLKO/AD5/ADC13/PWM05/P0.5 PWMFLT2/T4/AD6/ADC14/PWM06/P0.6 PWMFLT3/T4CLKO/AD7/PWM07/P0.7 RxD2/CCP1/ADC0/PWM10/P1.0 TxD2/CCP0/ADC1/PWM11/P1.1 TxD2_2/PWM47/P4.7 T2/SS/ECI/ADC2/PWM12/P1.2 T2CLKO/MOSI/ADC3/PWM13/P1.3 I2CSDA/MISO/ADC4/PWM14/P1.4 I2CSCL/SCLK/ADC5/PWM15/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/PWM16/P1.6 1 2 3 4 5 6 7 8 9 10 11 12 MISO_2/I2CSDA_2/ECI_3/A12/PWM24/P2.4 SCLK_2/I2CSCL_2/CCP0_3/A13/PWM25/P2.5 CCP1_3/A14/PWM26/P2.6 CCP2_3/A15/PWM27/P2.7 ALE/PWM45/P4.5 RxD2_2/PWM46/P4.6 RxD3/AD0/ADC8/PWM00/P0.0 TxD3/AD1/ADC9/PWM01/P0.1 RxD4/AD2/ADC10/PWM02/P0.2 TxD4/AD3/ADC11/PWM03/P0.3 T3/AD4/ADC12/PWM04/P0.4 RxD4_2/PWM52/P5.2 典型下载线路见下一页 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 26 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 27 - 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P3.7/PWM37/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/PWM36/INT2/RxD_2/CMP-/CCP1_2 P3.5/PWM35/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P3.4/PWM34/T0/T1CLKO/ECI_2/MOSI_4/CMPO STC8G 系列技术手册 选型顾问: 13922805190 24 23 22 21 20 19 18 17 注意: 1、ADC的外部参考电源管脚ADC_VRef+, 一定不能浮空,必须接外部参考电 源或者直接连到Vcc 2、若不需要进行USB下载,芯片复位时 P3.0/P3.1/P3.2不可同时为低电平 25 26 27 28 29 30 31 32 LQFP32 QFN32 16 15 14 13 12 11 10 9 CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) P3.3/PWM33/INT1/MISO_4/I2CSDA_4 P3.2/PWM32/INT0/SCLK_4/I2CSCL_4 P3.1/PWM31/TxD P3.0/PWM30/RxD/INT4 Gnd/AGnd MCU-VCC ADC_VRef+ Vcc/AVcc P5.4/PWM54/RST/MCLKO/SS_3 22u 0.1u RxD2/CCP1/ADC0/PWM10/P1.0 TxD2/CCP0/ADC1/PWM11/P1.1 T2/SS/ECI/ADC2/PWM12/P1.2 T2CLKO/MOSI/ADC3/PWM13/P1.3 I2CSDA/MISO/ADC4/PWM14/P1.4 I2CSCL/SCLK/ADC5/PWM15/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/PWM16/P1.6 XTALI/TxD_3/ADC7/PWM17/P1.7 1 2 3 4 5 6 7 8 MISO_2/I2CSDA_2/ECI_3/A12/PWM24/P2.4 SCLK_2/I2CSCL_2/CCP0_3/A13/PWM25/P2.5 CCP1_3/A14/PWM26/P2.6 CCP2_3/A15/PWM27/P2.7 RxD3/AD0/ADC8/PWM00/P0.0 TxD3/AD1/ADC9/PWM01/P0.1 RxD4/AD2/ADC10/PWM02/P0.2 TxD4/AD3/ADC11/PWM03/P0.3 典型下载线路见下一页 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 28 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PDIP40 RxD3/AD0/ADC8/PWM00/P0.0 TxD3/AD1/ADC9/PWM01/P0.1 RxD4/AD2/ADC10/PWM02/P0.2 TxD4/AD3/ADC11/PWM03/P0.3 T3/AD4/ADC12/PWM04/P0.4 T3CLKO/AD5/ADC13/PWM05/P0.5 PWMFLT2/T4/AD6/ADC14/PWM06/P0.6 PWMFLT3/T4CLKO/AD7/PWM07/P0.7 RxD2/CCP1/ADC0/PWM10/P1.0 TxD2/CCP0/ADC1/PWM11/P1.1 T2/SS/ECI/ADC2/PWM12/P1.2 T2CLKO/MOSI/ADC3/PWM13/P1.3 I2CSDA/MISO/ADC4/PWM14/P1.4 I2CSCL/SCLK/ADC5/PWM15/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/PWM16/P1.6 XTALI/TxD_3/ADC7/PWM17/P1.7 SS_3/MCLKO/RST/PWM54/P5.4 Vcc/AVcc ADC_VRef+ Gnd/AGnd 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P4.5/PWM45/ALE P2.7/PWM27/A15/CCP2_3 P2.6/PWM26/A14/CCP1_3 P2.5/PWM25/A13/CCP0_3/I2CSCL_2/SCLK_2 P2.4/PWM24/A12/ECI_3/I2CSDA_2/MISO_2 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P4.4/PWM44/RD/TxD_4 P4.2/PWM42/WR P4.1/PWM41/MISO_3/CMPO_2 P3.7/PWM37/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/PWM36/INT2/RxD_2/CMP-/CCP1_2 P3.5/PWM35/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P3.4/PWM34/T0/T1CLKO/ECI_2/MOSI_4/CMPO P3.3/PWM33/INT1/MISO_4/I2CSDA_4 P3.2/PWM32/INT0/SCLK_4/I2CSCL_4 P3.1/PWM31/TxD P3.0/PWM30/RxD/INT4 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 29 - STC8G 系列技术手册 2.4.3 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚说明 编号 名称 类型 说明 P5.3 I/O PWM53 O 增强 PWM 输出脚 TxD4_2 O 串口 4 的发送脚 P0.5 I/O PWM05 O 增强 PWM 输出脚 AD5 I 地址总线 ADC13 I ADC 模拟输入通道 13 T3CLKO O 定时器 3 时钟分频输出 P0.6 I/O PWM06 O 增强 PWM 输出脚 AD6 I 地址总线 ADC14 I ADC 模拟输入通道 14 T4 I 定时器 4 外部时钟输入 PWMFLT2 I 增强 PWM 的外部异常检测脚 P0.7 I/O PWM07 O 增强 PWM 输出脚 AD7 I 地址总线 T4CLKO O 定时器 4 时钟分频输出 PWMFLT3 I 增强 PWM 的外部异常检测脚 P1.0 I/O PWM10 O 增强 PWM 输出脚 ADC0 I ADC 模拟输入通道 0 CCP1 I/O RxD2 I P1.1 I/O PWM11 O 增强 PWM 输出脚 ADC1 I ADC 模拟输入通道 1 CCP0 I/O TxD2 O P4.7 I/O PWM47 O 增强 PWM 输出脚 TxD2_2 O 串口 2 的发送脚 P1.2 I/O PWM12 O 增强 PWM 输出脚 ADC2 I ADC 模拟输入通道 2 ECI I PCA 的外部脉冲输入 SS I SPI 的从机选择脚(主机为输出) T2 I 定时器 2 外部时钟输入 LQFP48 1 2 3 4 5 6 7 8 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 PCA 的捕获输入、脉冲输出和 PWM 输出 串口 2 的接收脚 标准 IO 口 PCA 的捕获输入、脉冲输出和 PWM 输出 串口 2 的发送脚 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 30 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P1.3 I/O PWM13 O 增强 PWM 输出脚 ADC3 I ADC 模拟输入通道 3 MOSI I/O SPI 主机输出从机输入 T2CLKO O 定时器 2 时钟分频输出 P1.4 I/O PWM14 O 增强 PWM 输出脚 ADC4 I ADC 模拟输入通道 4 MISO I/O SPI 主机输入从机输出 SDA I/O I2C 接口的数据线 P1.5 I/O 标准 IO 口 PWM15 O 增强 PWM 输出脚 ADC5 I ADC 模拟输入通道 5 SCLK I/O SPI 的时钟脚 SCL I/O I2C 的时钟线 P1.6 I/O 标准 IO 口 PWM16 O 增强 PWM 输出脚 ADC6 I ADC 模拟输入通道 6 RxD_3 I 串口 1 的接收脚 MCLKO_2 O 主时钟分频输出 XTALO O 外部晶振的输出脚 P1.7 I/O PWM17 O 增强 PWM 输出脚 ADC7 I ADC 模拟输入通道 7 TxD_3 O 串口 1 的发送脚 XTALI I 外部晶振/外部时钟的输入脚 P5.4 I/O PWM54 O 增强 PWM 输出脚 RST I 复位引脚 MCLKO O 主时钟分频输出 SS_3 I SPI 的从机选择脚(主机为输出) Vcc Vcc 电源脚 AVcc Vcc ADC 电源脚 ADC_VRef+ I Gnd Gnd 地线 AGnd Gnd ADC 地线 选型顾问: 13922805190 说明 LQFP48 9 10 11 12 13 14 15 16 17 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 ADC 外部参考电压源输入脚,要求不高时可直接接 MCU 的 VCC 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 31 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P4.0 I/O PWM40 O MOSI_3 I/O SPI 主机输出从机输入 P3.0 I/O 标准 IO 口 PWM30 O 增强 PWM 输出脚 RxD I 串口 1 的接收脚 INT4 I 外部中断 4 P3.1 I/O 标准 IO 口 PWM31 O 增强 PWM 输出脚 TxD O 串口 1 的发送脚 P3.2 I/O PWM32 O 增强 PWM 输出脚 INT0 I 外部中断 0 SCLK_4 I/O SPI 的时钟脚 SCL_4 I/O I2C 的时钟线 P3.3 I/O 标准 IO 口 PWM33 O 增强 PWM 输出脚 INT1 I 外部中断 1 MISO_4 I/O SPI 主机输入从机输出 SDA_4 I/O I2C 接口的数据线 P3.4 I/O 标准 IO 口 PWM34 O 增强 PWM 输出脚 T0 I 定时器 0 外部时钟输入 T1CLKO O 定时器 1 时钟分频输出 ECI_2 I PCA 的外部脉冲输入 MOSI_4 I/O SPI 主机输出从机输入 CMPO O 比较器输出 P5.0 I/O 标准 IO 口 PWM50 O 增强 PWM 输出脚 RxD3_2 I 串口 3 的接收脚 P5.1 I/O PWM52 O 增强 PWM 输出脚 TxD3_2 O 串口 3 的发送脚 选型顾问: 13922805190 说明 LQFP48 18 19 20 21 22 23 24 25 深圳国芯人工智能有限公司 标准 IO 口 增强 PWM 输出脚 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 32 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P3.5 I/O PWM35 O 增强 PWM 输出脚 T1 I 定时器 1 外部时钟输入 T0CLKO O 定时器 0 时钟分频输出 SS_4 I SPI 的从机选择脚(主机为输出) CCP0_2 I/O PWMFLT I P3.6 I/O PWM36 O 增强 PWM 输出脚 INT2 I 外部中断 2 RxD_2 I 串口 1 的接收脚 CMP- I 比较器负极输入 CCP1_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P3.7 I/O 标准 IO 口 PWM37 O 增强 PWM 输出脚 INT3 I 外部中断 3 TxD_2 O 串口 1 的发送脚 CMP+ I 比较器正极输入 CCP2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP2_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P4.1 I/O 标准 IO 口 PWM41 O MISO_3 I/O CMPO_2 O 比较器输出 P4.2 I/O 标准 IO 口 PWM42 O 增强 PWM 输出脚 WR O 外部总线的写信号线 P4.3 I/O PWM43 O 增强 PWM 输出脚 RxD_4 I 串口 1 的接收脚 SCLK_3 I/O SPI 的时钟脚 P4.4 I/O 标准 IO 口 PWM44 O 增强 PWM 输出脚 RD O 外部总线的读信号线 TxD_4 O 串口 1 的发送脚 P2.0 I/O PWM20 O 增强 PWM 输出脚 A8 I 地址总线 选型顾问: 13922805190 说明 LQFP48 26 27 28 29 30 31 32 33 深圳国芯人工智能有限公司 标准 IO 口 PCA 的捕获输入、脉冲输出和 PWM 输出 增强 PWM 的外部异常检测脚 标准 IO 口 增强 PWM 输出脚 SPI 主机输入从机输出 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 33 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P2.1 I/O PWM21 O 增强 PWM 输出脚 A9 I 地址总线 P2.2 I/O 标准 IO 口 PWM22 O 增强 PWM 输出脚 A10 I 地址总线 SS_2 I SPI 的从机选择脚(主机为输出) P2.3 I/O PWM23 O 增强 PWM 输出脚 A11 I 地址总线 MOSI_2 I/O SPI 主机输出从机输入 CCP0_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P2.4 I/O 标准 IO 口 PWM24 O 增强 PWM 输出脚 A12 I 地址总线 ECI_3 I PCA 的外部脉冲输入 SDA_2 I/O I2C 接口的数据线 MISO_2 I/O SPI 主机输入从机输出 P2.5 I/O 标准 IO 口 PWM25 O 增强 PWM 输出脚 A13 I 地址总线 CCP0_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 SCL_2 I/O I2C 的时钟线 SCLK_2 I/O SPI 的时钟脚 P2.6 I/O 标准 IO 口 PWM26 O 增强 PWM 输出脚 A14 I 地址总线 CCP1_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P2.7 I/O 标准 IO 口 PWM27 O 增强 PWM 输出脚 A15 I 地址总线 CCP2_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P4.5 I/O 标准 IO 口 PWM45 O 增强 PWM 输出脚 ALE O 地址锁存信号 选型顾问: 13922805190 说明 LQFP48 34 35 36 37 38 39 40 41 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 34 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P4.6 I/O PWM46 O 增强 PWM 输出脚 RxD2_2 I 串口 2 的接收脚 P0.0 I/O PWM00 O 增强 PWM 输出脚 ADC8 I ADC 模拟输入通道 8 AD0 I 地址总线 RxD3 I 串口 3 的接收脚 P0.1 I/O PWM01 O 增强 PWM 输出脚 ADC9 I ADC 模拟输入通道 9 AD1 I 地址总线 TxD3 O 串口 3 的发送脚 P0.2 I/O PWM02 O 增强 PWM 输出脚 ADC10 I ADC 模拟输入通道 10 AD2 I 地址总线 RxD4 I 串口 4 的接收脚 P0.3 I/O PWM03 O 增强 PWM 输出脚 ADC11 I ADC 模拟输入通道 11 AD3 I 地址总线 TxD4 O 串口 4 的发送脚 P0.4 I/O PWM04 O 增强 PWM 输出脚 ADC12 I ADC 模拟输入通道 12 AD4 I 地址总线 T3 I 定时器 3 外部时钟输入 P5.2 I/O PWM52 O 增强 PWM 输出脚 RxD4_2 I 串口 4 的接收脚 选型顾问: 13922805190 说明 LQFP48 42 43 44 45 46 47 48 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 35 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2.5 STC8G2K64S2-36I-LQFP48/QFN48 系列 注意:STC8G2K64S2 系列只有 P2 口才有增强型 PWM,其他口没有 2.5.1  特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) 选型价格(不需要外部晶振、不需要外部复位,10 位 ADC,15 通道) 1 程 序 加 密 后 传 输 ( 防 拦 截 ) 可 设 置 下 次 更 新 程 序 需 口 令 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 有 有 有 4级 有 是 有 是 是 是 是 36MHz 有 D/A 有 2 48K 45 2 有 5 - 8 3 有 主 力 产 品 供 货 信 息 √ √ 10 STC8G2K16S2 1.9-5.5 16K 256 2K 价 格 及 封 装 LQFP48 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 USB 看 门 狗 复 位 定 时 器 内 部 高 精 准 时 钟 ( RS485 A/D ADC PWM 掉 电 唤 醒 专 用 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) QFN48 比 较 路 器 高 ( 内 速 可 部 当 低 压 路 检 ( 测 中 , 断 可 并 可 作 可 当 外 掉 部 电 掉 唤 使 电 醒 用 检 ) 测 ) 15 PCA/CCP/PWM ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) PWM PWM I2 C 有 T0-T4 16 有 位 乘 除 法 器 15 16 / 硬 件 SPI 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 MDU16 I/O SRAM 字 字 节 节 字 节 强 大 的 双 EEPROM 10 , 内 部 大 容 量 扩 展 DPTR 10 万 次 8051 RAM ) , 内 部 传 统 xdata Flash V 单 片 机 型 号 idata 工 作 电 压 ( 程 序 存 储 器 定 支 时 持 器 计 位 位 上 数 高 增 升 器 级 强 沿 中 ( 型 断 、 下 定 外 时 满 降 部 器 足 沿 中 管 舞 脚 互 台 断 也 补 灯 以 可 对 光 及 掉 称 要 边 电 死 求 沿 中 唤 区 断 醒 ) 位 √ √ 10 STC8G2K32S2 1.9-5.5 32K 256 2K 2 32K 45 2 有 有 有 5 - 8 3 有 位 10 STC8G2K48S2 1.9-5.5 48K 256 2K 2 16K 45 2 有 有 有 5 - 8 3 有 位 √ √ 现 货 10 STC8G2K60S2 1.9-5.5 60K 256 2K 2 4K 45 2 有 有 有 5 - 8 3 有 位 10 STC8G2K64S2 1.9-5.5 64K 256 2K 2 IAP 45 2 有 有 有 5 - 8 3 有 位 注:以上的单价为 10K 及以上订货量的价格,量小则每片需增加 0.1 元人民币。当订货的总额达到或高于 3000 元时, 可免运费发货,否则需要由客户承担运费。零售 10 片起售。    内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  27 个中断源,4 级中断优先级  支持在线仿真 工作电压  1.9V~5.5V  内建 LDO 工作温度   -40℃~85℃(超温度范围应用请参考电器特性章节说明) Flash 存储器  最大 64K 字节 FLASH 程序存储器(ROM),用于存储用户代码 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 36 - STC8G 系列技术手册   官方网站: www.STCMCUDATA.com 技术支持: 13922829991  支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器  支持单芯片仿真,无需专用仿真器,理论断点个数无限制 选型顾问: 13922805190 SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  2048 字节内部扩展 RAM(内部 XDATA) 时钟控制  内部高精度 IRC(4MHz~38MHz,ISP 编程时可进行上下调整,还可以用户软件分频到较低的频率工作, 如 100KHz)   误差±0.3%(常温下 25℃)  -1.38%~+1.42%温漂(全温度范围,-40℃~85℃)  -0.88%~+1.05%温漂(温度范围,-20℃~65℃)  内部 32KHz 低速 IRC(误差较大)  外部晶振(4MHz~38MHz)和外部时钟 复位  硬件复位  上电复位,实测电压值为 1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从 0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。  复位脚复位,出厂时 P5.4 默认为 I/O 口,ISP 下载时可将 P5.4 管脚设置为复位脚(注意:当设置 P5.4 管脚为复位脚时,复位电平为低电平)  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.0V(实测为 1.90V~2.04V)、2.4V(实测为 2.30V~2.50V)、 2.7V(实测为 2.61V~2.82V)、3.0V(实测为 2.90V~3.13V)。 每级低压检测电压都是由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向 下掉到低压检测的下限门槛电压时,低压检测生效;当电压从 0V 上升到低压检测的上限门槛电压 时,低压检测生效。  软件复位   软件方式写复位触发寄存器 中断  提供 27 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器 0、定时器 1、定时 器 2、定时器 3、定时器 4、串口 1、串口 2、ADC 模数转换、LVD 低压检测、SPI、I2C、比较器、PCA/CCP/PWM、 增强型 PWM0、增强型 PWM1、增强型 PWM2、增强型 PWM3、增强型 PWM4、增强型 PWM5、增强型 PWM0 异常检测、增强型 PWM2 异常检测、增强型 PWM4 异常检测。  提供 4 级中断优先级  时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、T2(P1.2)、T3(P0.4)、T4(P0.6)、RXD(P3.0/P3.6/P1.6/P4.3)、RXD2(P1.0/P4.6)、CCP0(P1.1/P3.5/P2.5)、 CCP1(P1.0/P3.6/P2.6)、CCP2(P3.7/P2.7)、I2C_SDA(P1.4/P2.4/P3.3)以及比较器中断、低压检测中断、掉电 唤醒定时器唤醒。  数字外设 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 37 - STC8G 系列技术手册  官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 5 个 16 位定时器:定时器 0、定时器 1、定时器 2、定时器 3、定时器 4,其中定时器 0 的模式 3 具有 NMI (不可屏蔽中断)功能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式  2 个高速串口:串口 1、串口 2,波特率时钟源最快可为 FOSC/4  3 组 16 位 CCP/PCA/PWM 模块:CCP0、CCP1、CCP2,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM 输出  8 组 15 位增强型 PWM,可实现带死区的控制信号,并支持外部异常检测功能(另外还有 3 组传统的 PCA/CCP/PWM 可作 PWM)  SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式  MDU16:硬件 16 位乘除法器(支持 32 位除以 16 位、16 位除以 16 位、16 位乘 16 位、数据移位以及数 据规格化等运算)  模拟外设  超高速 ADC,支持 10 位精度 15 通道(通道 0~通道 14)的模数转换,速度最快能达到 500K(每秒进行 50 万次 ADC 转换)  ADC 的通道 15 用于测试内部 1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为 1.19V)  比较器,一组比较器(比较器的正端可选择 CMP+端口和所有的 ADC 输入端口,所以比较器可当作多路 比较器进行分时复用)   DAC:3 路 PCA/CCP/PWM 可当 3 路 DAC 使用,45 路增强型 PWM 可当 45 路 DAC 使用 GPIO  最多可达 45 个 GPIO:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7、P4.0~P4.7、P5.0~P5.4  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使用 I/O 口时必须先设置 I/O 口模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻  封装  LQFP48、QFN48 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 38 - STC8G 系列技术手册 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P4.4/RD/TxD_4 P4.3/RxD_4/SCLK_3 P4.2/WR P4.1/MISO_3/CMPO_2 P3.7/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/INT2/RxD_2/CMP-/CCP1_2 P3.5/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P5.1 2.5.2 官方网站: www.STCMCUDATA.com 36 35 34 33 32 31 30 29 28 27 26 25 注意: 1、ADC的外部参考电源管脚ADC_VRef+, 一定不能浮空,必须接外部参考电 源或者直接连到Vcc 2、若不需要进行USB下载,芯片复位时 P3.0/P3.1/P3.2不可同时为低电平 37 38 39 40 41 42 43 44 45 46 47 48 LQFP48 QFN48 24 23 22 21 20 19 18 17 16 15 14 13 P5.0 P3.4/T0/T1CLKO/ECI_2/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/MOSI_3 Gnd/AGnd MCU-VCC ADC_Vref+ Vcc/AVcc P5.4/RST/MCLKO/SS_3 22u 0.1u P1.7/ADC7/TxD_3/XTALI CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) P5.3 T3CLKO/AD5/ADC13/P0.5 PWMFLT2/T4/AD6/ADC14/P0.6 PWMFLT3/T4CLKO/AD7/P0.7 RxD2/CCP1/ADC0/P1.0 TxD2/CCP0/ADC1/P1.1 TxD2_2/P4.7 T2/SS/ECI/ADC2/P1.2 T2CLKO/MOSI/ADC3/P1.3 I2CSDA/MISO/ADC4/P1.4 I2CSCL/SCLK/ADC5/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/P1.6 1 2 3 4 5 6 7 8 9 10 11 12 MISO_2/I2CSDA_2/ECI_3/A12/PWM24/P2.4 SCLK_2/I2CSCL_2/CCP0_3/A13/PWM25/P2.5 CCP1_3/A14/PWM26/P2.6 CCP2_3/A15/PWM27/P2.7 ALE/P4.5 RxD2_2/P4.6 AD0/ADC8/P0.0 AD1/ADC9/P0.1 AD2/ADC10/P0.2 AD3/ADC11/P0.3 T3/AD4/ADC12/P0.4 P5.2 典型下载线路见下一页 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 39 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PDIP40 AD0/ADC8/P0.0 AD1/ADC9/P0.1 AD2/ADC10/P0.2 AD3/ADC11/P0.3 T3/AD4/ADC12/P0.4 T3CLKO/AD5/ADC13/P0.5 PWMFLT2/T4/AD6/ADC14/P0.6 PWMFLT3/T4CLKO/AD7/P0.7 RxD2/CCP1/ADC0/P1.0 TxD2/CCP0/ADC1/P1.1 T2/SS/ECI/ADC2/P1.2 T2CLKO/MOSI/ADC3/P1.3 I2CSDA/MISO/ADC4/P1.4 I2CSCL/SCLK/ADC5/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/P1.6 XTALI/TxD_3/ADC7/P1.7 SS_3/MCLKO/RST/P5.4 Vcc/AVcc ADC_VRef+ Gnd/AGnd 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P4.5/ALE P2.7/PWM27/A15/CCP2_3 P2.6/PWM26/A14/CCP1_3 P2.5/PWM25/A13/CCP0_3/I2CSCL_2/SCLK_2 P2.4/PWM24/A12/ECI_3/I2CSDA_2/MISO_2 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P4.4/RD/TxD_4 P4.2/WR P4.1/MISO_3/CMPO_2 P3.7/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/INT2/RxD_2/CMP-/CCP1_2 P3.5/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P3.4/T0/T1CLKO/ECI_2/MOSI_4/CMPO P3.3/INT1/MISO_4/I2CSDA_4 P3.2/INT0/SCLK_4/I2CSCL_4 P3.1/TxD P3.0/RxD/INT4 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 40 - STC8G 系列技术手册 2.5.3 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚说明 编号 名称 类型 说明 P5.3 I/O PWM53 O P0.5 I/O PWM05 O 增强 PWM 输出脚 AD5 I 地址总线 ADC13 I ADC 模拟输入通道 13 T3CLKO O 定时器 3 时钟分频输出 P0.6 I/O PWM06 O 增强 PWM 输出脚 AD6 I 地址总线 ADC14 I ADC 模拟输入通道 14 T4 I 定时器 4 外部时钟输入 PWMFLT2 I 增强 PWM 的外部异常检测脚 P0.7 I/O PWM07 O 增强 PWM 输出脚 AD7 I 地址总线 T4CLKO O 定时器 4 时钟分频输出 PWMFLT3 I 增强 PWM 的外部异常检测脚 P1.0 I/O PWM10 O 增强 PWM 输出脚 ADC0 I ADC 模拟输入通道 0 CCP1 I/O RxD2 I P1.1 I/O PWM11 O 增强 PWM 输出脚 ADC1 I ADC 模拟输入通道 1 CCP0 I/O TxD2 O P4.7 I/O PWM47 O 增强 PWM 输出脚 TxD2_2 O 串口 2 的发送脚 P1.2 I/O PWM12 O 增强 PWM 输出脚 ADC2 I ADC 模拟输入通道 2 ECI I PCA 的外部脉冲输入 SS I SPI 的从机选择脚(主机为输出) T2 I 定时器 2 外部时钟输入 LQFP48 1 2 3 4 5 6 7 8 深圳国芯人工智能有限公司 标准 IO 口 增强 PWM 输出脚 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 PCA 的捕获输入、脉冲输出和 PWM 输出 串口 2 的接收脚 标准 IO 口 PCA 的捕获输入、脉冲输出和 PWM 输出 串口 2 的发送脚 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 41 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 编号 技术支持: 13922829991 名称 类型 P1.3 I/O PWM13 O 增强 PWM 输出脚 ADC3 I ADC 模拟输入通道 3 MOSI I/O SPI 主机输出从机输入 T2CLKO O 定时器 2 时钟分频输出 P1.4 I/O PWM14 O 增强 PWM 输出脚 ADC4 I ADC 模拟输入通道 4 MISO I/O SPI 主机输入从机输出 SDA I/O I2C 接口的数据线 P1.5 I/O 标准 IO 口 PWM15 O 增强 PWM 输出脚 ADC5 I ADC 模拟输入通道 5 SCLK I/O SPI 的时钟脚 SCL I/O I2C 的时钟线 P1.6 I/O 标准 IO 口 PWM16 O 增强 PWM 输出脚 ADC6 I ADC 模拟输入通道 6 RxD_3 I 串口 1 的接收脚 MCLKO_2 O 主时钟分频输出 XTALO O 外部晶振的输出脚 P1.7 I/O PWM17 O 增强 PWM 输出脚 ADC7 I ADC 模拟输入通道 7 TxD_3 O 串口 1 的发送脚 XTALI I 外部晶振/外部时钟的输入脚 P5.4 I/O PWM54 O 增强 PWM 输出脚 RST I 复位引脚 MCLKO O 主时钟分频输出 SS_3 I SPI 的从机选择脚(主机为输出) Vcc Vcc 电源脚 AVcc Vcc ADC 电源脚 ADC_Vref+ I Gnd Gnd 地线 AGnd Gnd ADC 地线 选型顾问: 13922805190 说明 LQFP48 9 10 11 12 13 14 15 16 17 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 标准 IO 口 标准 IO 口 ADC 外部参考电压源输入脚,要求不高时可直接接 MCU 的 VCC 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 42 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P4.0 I/O PWM40 O MOSI_3 I/O SPI 主机输出从机输入 P3.0 I/O 标准 IO 口 PWM30 O 增强 PWM 输出脚 RxD I 串口 1 的接收脚 INT4 I 外部中断 4 P3.1 I/O 标准 IO 口 PWM31 O 增强 PWM 输出脚 TxD O 串口 1 的发送脚 P3.2 I/O PWM32 O 增强 PWM 输出脚 INT0 I 外部中断 0 SCLK_4 I/O SPI 的时钟脚 SCL_4 I/O I2C 的时钟线 P3.3 I/O 标准 IO 口 PWM33 O 增强 PWM 输出脚 INT1 I 外部中断 1 MISO_4 I/O SPI 主机输入从机输出 SDA_4 I/O I2C 接口的数据线 P3.4 I/O 标准 IO 口 PWM34 O 增强 PWM 输出脚 T0 I 定时器 0 外部时钟输入 T1CLKO O 定时器 1 时钟分频输出 ECI_2 I PCA 的外部脉冲输入 MOSI_4 I/O SPI 主机输出从机输入 CMPO O 比较器输出 P5.0 I/O 标准 IO 口 PWM50 O 增强 PWM 输出脚 RxD3_2 I 串口 3 的接收脚 P5.1 I/O PWM52 O 选型顾问: 13922805190 说明 LQFP48 18 19 20 21 22 23 24 25 深圳国芯人工智能有限公司 标准 IO 口 增强 PWM 输出脚 标准 IO 口 标准 IO 口 增强 PWM 输出脚 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 43 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P3.5 I/O PWM35 O 增强 PWM 输出脚 T1 I 定时器 1 外部时钟输入 T0CLKO O 定时器 0 时钟分频输出 SS_4 I SPI 的从机选择脚(主机为输出) CCP0_2 I/O PWMFLT I P3.6 I/O PWM36 O 增强 PWM 输出脚 INT2 I 外部中断 2 RxD_2 I 串口 1 的接收脚 CMP- I 比较器负极输入 CCP1_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P3.7 I/O 标准 IO 口 PWM37 O 增强 PWM 输出脚 INT3 I 外部中断 3 TxD_2 O 串口 1 的发送脚 CMP+ I 比较器正极输入 CCP2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP2_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P4.1 I/O 标准 IO 口 PWM41 O MISO_3 I/O CMPO_2 O 比较器输出 P4.2 I/O 标准 IO 口 PWM42 O 增强 PWM 输出脚 WR O 外部总线的写信号线 P4.3 I/O PWM43 O 增强 PWM 输出脚 RxD_4 I 串口 1 的接收脚 SCLK_3 I/O SPI 的时钟脚 P4.4 I/O 标准 IO 口 PWM44 O 增强 PWM 输出脚 RD O 外部总线的读信号线 TxD_4 O 串口 1 的发送脚 P2.0 I/O PWM20 O 增强 PWM 输出脚 A8 I 地址总线 选型顾问: 13922805190 说明 LQFP48 26 27 28 29 30 31 32 33 深圳国芯人工智能有限公司 标准 IO 口 PCA 的捕获输入、脉冲输出和 PWM 输出 增强 PWM 的外部异常检测脚 标准 IO 口 增强 PWM 输出脚 SPI 主机输入从机输出 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 44 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P2.1 I/O PWM21 O 增强 PWM 输出脚 A9 I 地址总线 P2.2 I/O 标准 IO 口 PWM22 O 增强 PWM 输出脚 A10 I 地址总线 SS_2 I SPI 的从机选择脚(主机为输出) P2.3 I/O PWM23 O 增强 PWM 输出脚 A11 I 地址总线 MOSI_2 I/O SPI 主机输出从机输入 CCP0_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P2.4 I/O 标准 IO 口 PWM24 O 增强 PWM 输出脚 A12 I 地址总线 ECI_3 I PCA 的外部脉冲输入 SDA_2 I/O I2C 接口的数据线 MISO_2 I/O SPI 主机输入从机输出 P2.5 I/O 标准 IO 口 PWM25 O 增强 PWM 输出脚 A13 I 地址总线 CCP0_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 SCL_2 I/O I2C 的时钟线 SCLK_2 I/O SPI 的时钟脚 P2.6 I/O 标准 IO 口 PWM26 O 增强 PWM 输出脚 A14 I 地址总线 CCP1_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P2.7 I/O 标准 IO 口 PWM27 O 增强 PWM 输出脚 A15 I 地址总线 CCP2_3 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 P4.5 I/O 标准 IO 口 PWM45 O 增强 PWM 输出脚 ALE O 地址锁存信号 选型顾问: 13922805190 说明 LQFP48 34 35 36 37 38 39 40 41 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 45 - STC8G 系列技术手册 编号 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P4.6 I/O PWM46 O 增强 PWM 输出脚 RxD2_2 I 串口 2 的接收脚 P0.0 I/O PWM00 O 增强 PWM 输出脚 ADC8 I ADC 模拟输入通道 8 AD0 I 地址总线 P0.1 I/O 标准 IO 口 PWM01 O 增强 PWM 输出脚 ADC9 I ADC 模拟输入通道 9 AD1 I 地址总线 P0.2 I/O 标准 IO 口 PWM02 O 增强 PWM 输出脚 ADC10 I ADC 模拟输入通道 10 AD2 I 地址总线 P0.3 I/O 标准 IO 口 PWM03 O 增强 PWM 输出脚 ADC11 I ADC 模拟输入通道 11 AD3 I 地址总线 P0.4 I/O 标准 IO 口 PWM04 O 增强 PWM 输出脚 ADC12 I ADC 模拟输入通道 12 AD4 I 地址总线 T3 I 定时器 3 外部时钟输入 P5.2 I/O PWM52 O 选型顾问: 13922805190 说明 LQFP48 42 43 44 45 46 47 48 深圳国芯人工智能有限公司 标准 IO 口 标准 IO 口 标准 IO 口 增强 PWM 输出脚 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 46 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2.6 STC8G1K08T-36I-TSSOP20(触摸按键/LED 系列) 2.6.1  特性及价格 选型价格(不需要外部晶振、不需要外部复位,10 位 ADC,15 通道) 2 4K 16 有 3 有 是 是 有 有 4级 有 是 是 √ 10 2 IAP 16 1 有 有 有 有 3 3 有 年 新 品 供 货 信 息 √ 有 位 STC8G1K17T 1.9-5.5 17K 256 1K 2020 是 10 STC8G1K08T 1.9-5.5 8K 256 1K SOP16 有 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 价 格 及 封 装 TSSOP20 D/A 可 设 置 下 次 更 新 程 序 需 口 令 QFN20 (3mm*3mm) 3 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 程 序 加 密 后 传 输 ( 防 拦 截 ) USB 内 部 高 精 准 时 钟 ( 36MHz PCA A/D 看 门 狗 复 位 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) RS485 1 3 ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) 掉 电 唤 醒 专 用 定 时 器 比 路 较 高 器 速 ( 内 可 部 当 低 压 ( 路 检 路 测 中 , 断 可 并 可 作 可 当 外 掉 部 电 路 掉 唤 电 醒 检 使 测 用 ) ) ADC 3 有 支 持 上 升 沿 中 断 、 下 降 沿 中 断 以 及 边 沿 中 断 15 有 LED 有 T0-T2 1 触 摸 按 驱 外 键 动 部 管 脚 也 可 掉 电 唤 醒 ) PCA/CCP/PWM / I2 C 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 SPI I/O SRAM 字 字 节 节 字 节 强 大 的 双 EEPROM 10 , 内 部 大 容 量 扩 展 DPTR 8051 RAM 万 次 idata 10 ) , 内 部 传 统 xdata Flash V 单 片 机 型 号 工 作 电 压 ( 程 序 存 储 器 定 时 器 计 数 器 ( 有 有 有 4级 有 是 有 是 是 - 送 样 中 - 位 注:以上的单价为 10K 及以上订货量的价格,量小则每片需增加 0.1 元人民币。当订货的总额达到或高于 3000 元时, 可免运费发货,否则需要由客户承担运费。零售 10 片起售。    内核  超高速 8051 内核(1T),比传统 8051 约快 12 倍以上  指令代码完全兼容传统 8051  16 个中断源,4 级中断优先级  支持在线仿真 工作电压  1.9V~5.5V  内建 LDO 工作温度     -40℃~85℃(超温度范围应用请参考电器特性章节说明) Flash 存储器  最大 17K 字节 FLASH 程序存储器(ROM),用于存储用户代码  支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达 10 万次以上  支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器  支持单芯片仿真,无需专用仿真器,理论断点个数无限制 SRAM  128 字节内部直接访问 RAM(DATA)  128 字节内部间接访问 RAM(IDATA)  1024 字节内部扩展 RAM(内部 XDATA) 时钟控制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 47 - STC8G 系列技术手册  官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 内部高精度 IRC(4MHz~38MHz,ISP 编程时可进行上下调整,还可以用户软件分频到较低的频率工作, 如 100KHz)  误差±0.3%(常温下 25℃)  -1.38%~+1.42%温漂(全温度范围,-40℃~85℃)  -0.88%~+1.05%温漂(温度范围,-20℃~65℃)  内部 32KHz 低速 IRC(误差较大)  外部晶振(4MHz~38MHz)和外部时钟 用户可自由选择上面的 3 种时钟源  复位  硬件复位  上电复位,实测电压值为 1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从 0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。  复位脚复位,出厂时 P5.4 默认为 I/O 口,ISP 下载时可将 P5.4 管脚设置为复位脚(注意:当设置 P5.4 管脚为复位脚时,复位电平为低电平)  看门狗溢出复位  低压检测复位,提供 4 级低压检测电压:2.0V(实测为 1.90V~2.04V)、2.4V(实测为 2.30V~2.50V)、 2.7V(实测为 2.61V~2.82V)、3.0V(实测为 2.90V~3.13V)。 每级低压检测电压都是由一个上限电压和一个下限电压组成的电压范围,当工作电压从 5V/3.3V 向 下掉到低压检测的下限门槛电压时,低压检测生效;当电压从 0V 上升到低压检测的上限门槛电压 时,低压检测生效。  软件复位   软件方式写复位触发寄存器 中断  提供 16 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器 0、定时器 1、定时 器 2、串口 1、ADC 模数转换、LVD 低压检测、SPI、I2C、比较器、PCA/CCP/PWM、触摸按键  提供 4 级中断优先级  时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、T2(P1.2)、RXD(P3.0/P3.6/P1.6)、RXD2(P1.0)、CCP0(P1.1/P3.5)、CCP1(P1.0/P3.6)、CCP2(P3.7)、 I2C_SDA(P1.4/ P3.3)以及比较器中断、低压检测中断、掉电唤醒定时器。  数字外设  3 个 16 位定时器:定时器 0、定时器 1、定时器 2,其中定时器 0 的模式 3 具有 NMI(不可屏蔽中断)功 能,定时器 0 和定时器 1 的模式 0 为 16 位自动重载模式  1 个高速串口:串口 1,波特率时钟源最快可为 FOSC/4  3 组 16 位 CCP/PCA/PWM 模块:CCP0、CCP1、CCP2,可用于捕获、高速脉冲输出,及 6/7/8/10 位的 PWM 输出   SPI:支持主机模式和从机模式以及主机/从机自动切换  I2C:支持主机模式和从机模式 模拟外设  超高速 ADC,支持 10 位精度 15 通道(通道 0~通道 14)的模数转换,速度最快能达到 500K(每秒进行 50 万次 ADC 转换)  ADC 的通道 15 用于测试内部 1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为 1.19V) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 48 - STC8G 系列技术手册  官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 比较器,一组比较器(比较器的正端可选择 CMP+端口和所有的 ADC 输入端口,所以比较器可当作多路 比较器进行分时复用)  触摸按键:最多支持 16 个触摸按键;每个触摸按键能够独立使能;内部参考电压 4 级可调;灵活的充放 电时间设置以及内部工作频率设置;支持低功耗触摸唤醒  LED 驱动:最多可驱动 128(8*8*2)个 LED;可支持共阴模式、共阳模式以及共阴/共阳模式;支持 8 级灰度调节(亮度调节)   DAC:3 路 PCA/CCP/PWM 可当 3 路 DAC 使用 GPIO  最多可达 16 个 GPIO:P1.0~P1.1、P1.3~P1.7、P3.0~P3.7、P5.4  所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式  除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使用 I/O 口时必须先设置 I/O 口模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻  封装  TSSOP20、QFN20(3mm*3mm) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 49 - STC8G 系列技术手册 2.6.2 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 1 2 3 4 5 6 7 8 9 10 TSSOP20 COM4/TK4/CCP1_3/X32O/I2CSDA/MISO/ADC4/P1.4 COM5/TK5/CCP2_3/X32I/I2CSCL/SCLK/ADC5/P1.5 COM6/TK6/XTALO/MCLKO_2/RxD_3/ADC6/P1.6 COM7/TK7/XTALI/TxD_3/ADC7/P1.7 COM3/TK3/CCP0_3/ECI/T2CLKO/MOSI/ADC3/P1.3 TK_Cap COM2/TK2/ECI_3/T2/SS/MCLKO/RST/ADC2/P5.4 MCU-VCC Vcc/AVcc ADC_VRef+ 22u 0.1u 0.01u Gnd/AGnd 20 19 18 17 16 15 14 13 12 11 P1.1/ADC1/CCP0/TK1/COM1 P1.0/ADC0/CCP1/TK0/COM0 P3.7/INT3/TxD_2/CCP2_2/CCP2/CMP+/TK15/SEG7 P3.6/ADC14/INT2/RxD_2/CCP1_2/CMP-/TK14/SEG6 P3.5/ADC13/T1/T0CLKO/CCP0_2/SS_4/TK13/SEG5 P3.4/ADC12/T0/T1CLKO/ECI_2/CMPO/MOSI_4/TK12/SEG4 P3.3/ADC11/INT1/MISO_4/I2CSDA_4/TK11/SEG3 P3.2/ADC10/INT0/SCLK_4/I2CSCL_4/TK10/SEG2 P3.1/ADC9/TxD/TK9/SEG1 P3.0/ADC8/RxD/INT4/TK8/SEG0 注意: 1、ADC的外部参考电源管脚ADC_VRef+,一定不能浮空, 必须接外部参考电源或者直接连到Vcc 2、若不需要进行USB下载,芯片复位时P3.0/P3.1/P3.2 不可同时为低电平 CCP是英文单词的缩写 Capture(捕获) Compare(比较) PWM(脉宽调制) Vcc P3.0 P3.1 Gnd 连接 电脑/PC 通用USB转串口工具 (人民币30元) ISP下载步骤: 1、按照如图所示的连接方式将通用USB转串口工具和目标芯片连接 2、按下电源按钮,确定目标芯片处于停电状态(上电指示灯为灭的状态)。 注意:工具第一次上电时是不对外供电的,因此若是第一次上电使用此工具,可跳过此步。 3、点击STC-ISP下载软件中的“下载/编程”按钮 4、再次按下电源按钮,给目标芯片上电(上电指示灯为亮的状态) 5、开始ISP下载 注意:目前有发现使用USB线供电进行ISP下载时,由于USB线太细,在USB线上的压降过大,导致ISP 下载时供电不足,所以请在使用USB线供电进行ISP下载时,务必使用USB加强线。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 50 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 管脚说明 2.6.3 编号 TSSOP20 名称 类型 说明 P1.4 I/O ADC4 I ADC 模拟输入通道 4 MISO I/O SPI 主机输入从机输出 SDA I/O I2C 接口的数据线 X32O O CCP1_3 I/O TK4 I 触摸按键 COM4 O LED 驱动 P1.5 I/O ADC5 I SCLK I/O SPI 的时钟脚 SCL I/O I2C 的时钟线 X32I I CCP2_3 I/O TK5 I 触摸按键 COM5 O LED 驱动 P1.6 I/O ADC6 I ADC 模拟输入通道 6 RxD_3 I 串口 1 的接收脚 MCLKO_2 O 主时钟分频输出 XTALO O 外部晶振脚 TK6 I 触摸按键 COM6 O LED 驱动 P1.7 I/O ADC7 I ADC 模拟输入通道 7 TxD_3 O 串口 1 的发送脚 XTALI I 外部晶振脚 TK7 I 触摸按键 COM7 O LED 驱动 QFN20 1 2 3 4 深圳国芯人工智能有限公司 标准 I/O 口 外部晶振脚 PCA 的捕获输入、脉冲输出和 PWM 输出 标准 I/O 口 ADC 模拟输入通道 5 外部晶振脚 PCA 的捕获输入、脉冲输出和 PWM 输出 标准 I/O 口 标准 I/O 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 51 - STC8G 系列技术手册 编号 TSSOP20 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P1.3 I/O ADC3 I ADC 模拟输入通道 3 T2CLKO O 定时器 2 时钟分频输出 MOSI I/O SPI 主机输出从机输入 ECI I PCA 的外部脉冲输入 CCP0_3 I/O TK3 I 触摸按键 COM3 O LED 驱动 TK_Cap I 触摸按键外接电容 P5.4 I/O ADC2 I ADC 模拟输入通道 2 RST I 复位引脚 MCLKO O 主时钟分频输出 SS I/O T2 I 定时器 2 外部时钟输入 ECI_3 I PCA 的外部脉冲输入 TK2 I 触摸按键 COM2 O LED 驱动 Vcc Vcc 电源脚 AVcc Vcc ADC 电源 ADC_VRef+ I Gnd Gnd 地线 AGnd Gnd ADC 地线 P3.0 I/O 标准 I/O 口 RxD I 串口 1 的接收脚 ADC8 I ADC 模拟输入通道 8 INT4 I 外部中断 4 TK8 I 触摸按键 SEG0 O LED 驱动 P3.1 I/O TxD O 串口 1 的发送脚 ADC9 I ADC 模拟输入通道 9 TK9 I 触摸按键 SEG1 O LED 驱动 选型顾问: 13922805190 说明 QFN20 5 6 7 8 9 10 11 12 深圳国芯人工智能有限公司 标准 I/O 口 PCA 的捕获输入、脉冲输出和 PWM 输出 标准 I/O 口 SPI 从机选择 ADC 外部参考电压源输入脚,要求不高时可直接接 MCU 的 VCC 标准 I/O 口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 52 - STC8G 系列技术手册 编号 TSSOP20 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 名称 类型 P3.2 I/O 标准 I/O 口 INT0 I 外部中断 0 ADC10 I ADC 模拟输入通道 10 SCLK_4 I/O SPI 的时钟脚 SCL_4 I/O I2C 的时钟线 TK10 I 触摸按键 SEG2 O LED 驱动 P3.3 I/O 标准 I/O 口 INT1 I 外部中断 1 ADC11 I ADC 模拟输入通道 11 MISO_4 I/O SPI 主机输入从机输出 SDA_4 I/O I2C 的数据线 TK11 I 触摸按键 SEG3 O LED 驱动 P3.4 I/O T0 I 定时器 0 外部时钟输入 T1CLKO O 定时器 1 时钟分频输出 ADC12 I ADC 模拟输入通道 12 ECI_2 I PCA 的外部脉冲输入 CMPO O 比较器输出 MOSI_4 I/O TK12 I 触摸按键 SEG4 O LED 驱动 P3.5 I/O T1 I 定时器 1 外部时钟输入 T0CLKO O 定时器 0 时钟分频输出 ADC13 I ADC 模拟输入通道 13 CCP0_2 I/O SS_4 I SPI 的从机选择脚(主机为输出) TK13 I 触摸按键 SEG5 O LED 驱动 P3.6 I/O 标准 I/O 口 INT2 I 外部中断 2 RxD_2 I 串口 1 的接收脚 ADC14 I ADC 模拟输入通道 14 CCP1_2 I/O CMP- I 比较器负极输入 TK14 I 触摸按键 SEG6 O LED 驱动 选型顾问: 13922805190 说明 QFN20 13 14 15 16 17 深圳国芯人工智能有限公司 标准 I/O 口 SPI 主机输出从机输入 标准 I/O 口 PCA 的捕获输入、脉冲输出和 PWM 输出 PCA 的捕获输入、脉冲输出和 PWM 输出 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 53 - STC8G 系列技术手册 编号 TSSOP20 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 名称 类型 说明 P3.7 I/O 标准 I/O 口 INT3 I 外部中断 3 TxD_2 O 串口 1 的发送脚 CCP2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CCP2_2 I/O PCA 的捕获输入、脉冲输出和 PWM 输出 CMP+ I 比较器正极输入 TK15 I 触摸按键 SEG7 O LED 驱动 P1.0 I/O ADC0 I CCP1 I/O TK0 I 触摸按键 COM0 O LED 驱动 P1.1 I/O ADC1 I CCP0 I/O TK1 I 触摸按键 COM1 O LED 驱动 QFN20 18 19 20 深圳国芯人工智能有限公司 标准 I/O 口 ADC 模拟输入通道 0 PCA 的捕获输入、脉冲输出和 PWM 输出 标准 I/O 口 ADC 模拟输入通道 1 PCA 的捕获输入、脉冲输出和 PWM 输出 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 54 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 2.7 STC15H 系列(传统 STC15 系列提升性能特殊型号) 2.7.1 特性及价格(有 16 位硬件乘除法器 MDU16,准 16 位单片机) 15 是 是 是 2 16K 42 4 有 5 - 42 3 有 有 有 有 4级 有 是 是 位 √ √ √ 10 STC15H2K64S4 1.9-5.5 64K 256 2K 2 IAP 42 4 有 有 有 5 - 42 3 有 有 有 有 4级 有 是 有 是 是 是 是 位 注意:由于传统 STC15F2K 系列的芯片的性能需要提升,外加目前晶圆供货紧张,所以使用 STC8G2K64S4 系列的 晶圆生产上面的特殊型号,如需购买以上特殊型号,请提前订货 深圳国芯人工智能有限公司 主 力 产 品 供 货 信 息 √ √ √ 10 STC15H2K48S4 1.9-5.5 48K 256 2K PDIP40 有 支 持 支 软 本 持 件 身 就 可 在 线 下 直 仿 载 接 真 下 载 LQFP32 可 设 置 下 次 更 新 程 序 需 口 令 LQFP44 程 序 加 密 后 传 输 ( 防 拦 截 ) 价 格 及 封 装 LQFP48 D/A 可 对 外 输 出 时 钟 以 及 下 复 可 位 调 ) 追 频 USB 内 部 高 精 准 时 钟 ( 36MHz PWM A/D 看 门 狗 复 位 定 时 器 内 部 高 可 靠 复 位 ( 可 选 复 位 门 槛 电 压 ) RS485 1 掉 电 唤 醒 专 用 定 时 器 比 路 较 高 器 速 ( 内 可 部 当 低 压 ( 全 路 检 测 部 中 , 断 可 并 可 均 作 掉 可 外 电 当 部 掉 唤 电 醒 检 使 测 用 ) ) ADC PCA/CCP/PWM ( 可 当 外 部 中 断 并 可 掉 电 唤 醒 ) PWM PWM I2 C 有 T0-T4 16 有 位 乘 除 法 器 15 16 / 硬 件 SPI 口 最 万 多 可 次 数 量 增 可 字 减 节 串 口 并 可 掉 电 唤 醒 MDU16 I/O SRAM 字 字 节 节 字 节 强 大 的 双 EEPROM 10 , 内 部 大 容 量 扩 展 DPTR 10 8051 RAM 万 次 , 内 部 传 统 xdata Flash ) idata V 单 片 机 型 号 工 作 电 压 ( 程 序 存 储 器 定 支 时 持 器 计 位 位 上 数 高 增 升 器 级 强 沿 中 ( 型 断 、 下 定 外 时 满 降 部 器 足 沿 中 管 舞 脚 互 台 断 也 补 灯 以 可 对 光 及 掉 称 要 边 电 死 求 沿 中 唤 区 断 醒 ) 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 55 - 现 货 STC8G 系列技术手册 技术支持: 13922829991 选型顾问: 13922805190 管脚图,最小系统 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P4.4/PWM44/RD/TxD_4 P4.3/PWM43/RxD_4/SCLK_3 P4.2/PWM42/WR P4.1/PWM41/MISO_3/CMPO_2 P3.7/PWM37/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/PWM36/INT2/RxD_2/CMP-/CCP1_2 P3.5/PWM35/T1/T0CLKO/SS_4/CCP0_2/PWMFLT 2.7.2 官方网站: www.STCMCUDATA.com 33 32 31 30 29 28 27 26 25 24 23 注意:若不需要进行USB下载,芯片复位 时P3.0/P3.1/P3.2不可同时为低电平 STC15H2K64S4 LQFP44 1 2 3 4 5 6 7 8 9 10 11 34 35 36 37 38 39 40 41 42 43 44 22 21 20 19 18 17 16 15 14 13 12 P3.4/PWM34/T0/T1CLKO/ECI_2/MOSI_4/CMPO P3.3/PWM33/INT1/MISO_4/I2CSDA_4 P3.2/PWM32/INT0/SCLK_4/I2CSCL_4 P3.1/PWM31/TxD P3.0/PWM30/RxD/INT4 P4.0/PWM40/MOSI_3 Gnd/AGnd MCU-VCC P5.2/PWM52/RxD4_2 Vcc/Avcc/ADC_VRef+ P5.4/PWM54/RST/MCLKO/SS_3 22u 0.1u P1.7/PWM17/ADC7/TxD_3/XTALI T3CLKO/AD5/ADC13/PWM05/P0.5 PWMFLT2/T4/AD6/ADC14/PWM06/P0.6 PWMFLT3/T4CLKO/AD7/PWM07/P0.7 RxD2/CCP1/ADC0/PWM10/P1.0 TxD2/CCP0/ADC1/PWM11/P1.1 TxD2_2/PWM47/P4.7 T2/SS/ECI/ADC2/PWM12/P1.2 T2CLKO/MOSI/ADC3/PWM13/P1.3 I2CSDA/MISO/ADC4/PWM14/P1.4 I2CSCL/SCLK/ADC5/PWM15/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/PWM16/P1.6 MISO_2/I2CSDA_2/ECI_3/A12/PWM24/P2.4 SCLK_2/I2CSCL_2/CCP0_3/A13/PWM25/P2.5 CCP1_3/A14/PWM26/P2.6 CCP2_3/A15/PWM27/P2.7 ALE/PWM45/P4.5 RxD2_2/PWM46/P4.6 RxD3/AD0/ADC8/PWM00/P0.0 TxD3/AD1/ADC9/PWM01/P0.1 RxD4/AD2/ADC10/PWM02/P0.2 TxD4/AD3/ADC11/PWM03/P0.3 T3/AD4/ADC12/PWM04/P0.4 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 56 - STC8G 系列技术手册 注意:若不需要进行 USB下载,芯片复位 时,P3.0/P3.1/P3.2 不可同时为低电平 官方网站: www.STCMCUDATA.com PDIP40 深圳国芯人工智能有限公司 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 STC15H2K64S4 RxD3/AD0/ADC8/PWM00/P0.0 TxD3/AD1/ADC9/PWM01/P0.1 RxD4/AD2/ADC10/PWM02/P0.2 TxD4/AD3/ADC11/PWM03/P0.3 T3/AD4/ADC12/PWM04/P0.4 T3CLKO/AD5/ADC13/PWM05/P0.5 PWMFLT2/T4/AD6/ADC14/PWM06/P0.6 PWMFLT3/T4CLKO/AD7/PWM07/P0.7 RxD2/CCP1/ADC0/PWM10/P1.0 TxD2/CCP0/ADC1/PWM11/P1.1 T2/SS/ECI/ADC2/PWM12/P1.2 T2CLKO/MOSI/ADC3/PWM13/P1.3 I2CSDA/MISO/ADC4/PWM14/P1.4 I2CSCL/SCLK/ADC5/PWM15/P1.5 MCU-VCC XTALO/MCLKO_2/RxD_3/ADC6/PWM16/P1.6 XTALI/TxD_3/ADC7/PWM17/P1.7 SS_3/MCLKO/RST/PWM54/P5.4 22u 0.1u Vcc/Avcc/ADC_Vref+ RxD4_2/PWM52/P5.2 Gnd/AGnd 技术支持: 13922829991 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 国内分销商电话: 0513-5501 2928/2929/2966 选型顾问: 13922805190 P4.5/PWM45/ALE P2.7/PWM27/A15/CCP2_3 P2.6/PWM26/A14/CCP1_3 P2.5/PWM25/A13/CCP0_3/I2CSCL_2/SCLK_2 P2.4/PWM24/A12/ECI_3/I2CSDA_2/MISO_2 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P4.4/PWM44/RD/TxD_4 P4.2/PWM42/WR P4.1/PWM41/MISO_3/CMPO_2 P3.7/PWM37/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/PWM36/INT2/RxD_2/CMP-/CCP1_2 P3.5/PWM35/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P3.4/PWM34/T0/T1CLKO/ECI_2/MOSI_4/CMPO P3.3/PWM33/INT1/MISO_4/I2CSDA_4 P3.2/PWM32/INT0/SCLK_4/I2CSCL_4 P3.1/PWM31/TxD P3.0/PWM30/RxD/INT4 传真: 0513-5501 2926/2956/2947 - 57 - 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 注意若不需要进行USB下载,芯片复位时 P3.0/P3.1/P3.2不可同时为低电平 24 23 22 21 20 19 18 17 P2.3/PWM23/A11/MOSI_2 P2.2/PWM22/A10/SS_2 P2.1/PWM21/A9 P2.0/PWM20/A8 P3.7/PWM37/INT3/TxD_2/CMP+/CCP2_2/CCP2 P3.6/PWM36/INT2/RxD_2/CMP-/CCP1_2 P3.5/PWM35/T1/T0CLKO/SS_4/CCP0_2/PWMFLT P3.4/PWM34/T0/T1CLKO/ECI_2/MOSI_4/CMPO STC8G 系列技术手册 1 2 3 4 5 6 7 8 25 16 26 15 27 14 28 STC15H2K64S4 13 LQFP32 29 12 30 11 31 10 32 9 P3.3/PWM33/INT1/MISO_4/I2CSDA_4 P3.2/PWM32/INT0/SCLK_4/I2CSCL_4 P3.1/PWM31/TxD P3.0/PWM30/RxD/INT4 Gnd/AGnd P5.2/PWM52/RxD4_2 Vcc/Avcc/ADC_VRef+ P5.4/PWM54/RST/MCLKO/SS_3 22u MCU-VCC 0.1u RxD2/CCP1/ADC0/PWM10/P1.0 TxD2/CCP0/ADC1/PWM11/P1.1 T2/SS/ECI/ADC2/PWM12/P1.2 T2CLKO/MOSI/ADC3/PWM13/P1.3 I2CSDA/MISO/ADC4/PWM14/P1.4 I2CSCL/SCLK/ADC5/PWM15/P1.5 XTALO/MCLKO_2/RxD_3/ADC6/PWM16/P1.6 XTALI/TxD_3/ADC7/PWM17/P1.7 MISO_2/I2CSDA_2/ECI_3/A12/PWM24/P2.4 SCLK_2/I2CSCL_2/CCP0_3/A13/PWM25/P2.5 CCP1_3/A14/PWM26/P2.6 CCP2_3/A15/PWM27/P2.7 RxD3/AD0/ADC8/PWM00/P0.0 TxD3/AD1/ADC9/PWM01/P0.1 RxD4/AD2/ADC10/PWM02/P0.2 TxD4/AD3/ADC11/PWM03/P0.3 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 58 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 3 功能脚切换 STC8G 系列单片机的特殊外设串口、SPI、PCA、I2C 以及总线控制脚可以在多个 I/O 直接进行切换, 以实现一个外设当作多个设备进行分时复用。 3.1 功能脚切换相关寄存器 位地址与符号 符号 描述 地址 复位值 B7 P_SW1 外设端口切换寄存器 1 A2H P_SW2 外设端口切换寄存器 2 BAH 符号 描述 地址 B6 B5 S1_S[1:0] B4 B3 CCP_S[1:0] EAXFR - B2 B1 B0 0 - nn00,000x S4_S S3_S S2_S 0x00,0000 B2 B1 SPI_S[1:0] I2C_S[1:0] CMPO_S 位地址与符号 复位值 B7 MCLKOCR 3.1.1 主时钟输出控制寄存器 FE05H B6 B5 B4 B3 B0 MCLKODIV[6:0] MCLKO_S 0000,0000 外设端口切换控制寄存器 1(P_SW1) ,串口 1、CCP、SPI 切换 符号 地址 P_SW1 A2H B7 B6 B5 S1_S[1:0] B4 CCP_S[1:0] B3 B2 SPI_S[1:0] 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 S1_S[1:0]:串口 1 功能脚选择位(STC8G1K08-8Pin 系列、STC8G1K08A 系列) S1_S[1:0] RxD TxD 00 P3.0 P3.1 01 P3.2 P3.3 10 P5.4 P5.5 11 - - CCP_S[1:0]:PCA 功能脚选择位 CCP_S[1:0] ECI CCP0 CCP1 CCP2 00 P1.2 P1.1 P1.0 P3.7 01 P3.4 P3.5 P3.6 P3.7 10 P2.4 P2.5 P2.6 P2.7 11 - - - - CCP_S[1:0]:PCA 功能脚选择位(STC8G1K08A 系列) CCP_S[1:0] ECI CCP0 CCP1 CCP2 00 P5.5 P3.2 P3.3 P5.4 01 P5.5 P3.1 P3.3 P5.4 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 59 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 10 P3.1 P3.2 P3.3 P5.5 11 - - - - 选型顾问: 13922805190 CCP_S[1:0]:PCA 功能脚选择位(STC8G1K08T 系列) CCP_S[1:0] ECI CCP0 CCP1 CCP2 00 P1.3 P1.1 P1.0 P3.7 01 P3.4 P3.5 P3.6 P3.7 10 P5.4 P1.3 P1.4 P1.5 11 - - - - 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 P5.4 P4.0 P4.1 P4.3 11 P3.5 P3.4 P3.3 P3.2 SPI_S[1:0]:SPI 功能脚选择位(STC8G1K08-8Pin 系列、STC8G1K08A 系列) SPI_S[1:0] SS MOSI MISO SCLK 00 P5.5 P5.4 P3.3 P3.2 01 - - - - 10 - - - - 11 - - - - 3.1.2 外设端口切换控制寄存器 2(P_SW2),串口 2/3/4、I2C、 比较器输出切换 符号 地址 B7 B6 P_SW2 BAH EAXFR - B5 B4 I2C_S[1:0] B3 CMPO_S B2 S4_S B1 S3_S B0 S2_S EAXFR:扩展 RAM 区特殊功能寄存器(XFR)访问控制寄存器 0:禁止访问 XFR 1:使能访问 XFR。 当需要访问 XFR 时,必须先将 EAXFR 置 1,才能对 XFR 进行正常的读写 I2C_S[1:0]:I2C 功能脚选择位 I2C_S[1:0] SCL SDA 00 P1.5 P1.4 01 P2.5 P2.4 10 P7.7 P7.6 P3.2 P3.3 11 I2C_S[1:0]:I C 功能脚选择位(STC8G1K08-8Pin 系列、STC8G1K08A 系列) 2 I2C_S[1:0] SCL SDA 00 P3.2 P3.3 01 P5.4 P5.5 10 - - 11 - - CMPO_S:比较器输出脚选择位 CMPO_S CMPO 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 60 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 0 P3.4 1 P4.1 技术支持: 13922829991 选型顾问: 13922805190 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.6 P4.7 3.1.3 时钟选择寄存器(MCLKOCR) 符号 地址 B7 MCLKOCR FE05H MCLKO_S B6 B5 B4 B3 B2 B1 B0 MCLKODIV[6:0] MCLKO_S:主时钟输出脚选择位 MCLKO_S MCLKO 0 P5.4 1 P1.6 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 61 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 3.2 范例程序 串口 1 切换 3.2.1 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW1 = 0xa2; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // // // P_SW1 = 0x00; P_SW1 = 0x40; P_SW1 = 0x80; P_SW1 = 0xc0; //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 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW1 DATA 0A2H P0M1 P0M0 DATA DATA 093H 094H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 62 - STC8G 系列技术手册 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV P_SW1,#00H P_SW1,#40H P_SW1,#80H P_SW1,#0C0H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 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 3.2.2 串口 2 切换 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW2 = 0xba; sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 63 - STC8G 系列技术手册 sfr sfr sfr sfr P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com = = = = 技术支持: 13922829991 选型顾问: 13922805190 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // P_SW2 = 0x00; P_SW2 = 0x01; //RXD2/P1.0, TXD2/P1.1 //RXD2_2/P4.6, TXD2_2/P4.7 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 64 - STC8G 系列技术手册 ; 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV P_SW2,#00H P_SW2,#01H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;RXD2/P1.0, TXD2/P1.1 ;RXD2_2/P4.0, TXD2_2/P4.2 END 3.2.3 串口 3 切换 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW2 = 0xba; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // P_SW2 = 0x00; P_SW2 = 0x02; //RXD3/P0.0, TXD3/P0.1 //RXD3_2/P5.0, TXD3_2/P5.1 while (1); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 65 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV P_SW2,#00H P_SW2,#02H SJMP $ MAIN: ; ;RXD3/P0.0, TXD3/P0.1 ;RXD3_2/P5.0, TXD3_2/P5.1 END 3.2.4 串口 4 切换 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW2 = 0xba; sfr sfr P0M1 P0M0 = = 0x93; 0x94; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 66 - STC8G 系列技术手册 sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com = = = = = = = = = = 技术支持: 13922829991 选型顾问: 13922805190 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // P_SW2 = 0x00; P_SW2 = 0x04; //RXD4/P0.2, TXD4/P0.3 //RXD4_2/P5.2, TXD4_2/P5.3 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 67 - STC8G 系列技术手册 ; 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV P_SW2,#00H P_SW2,#04H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;RXD4/P0.2, TXD4/P0.3 ;RXD4_2/P5.2, TXD4_2/P5.3 END 3.2.5 SPI 切换 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW1 = 0xa2; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; P_SW1 = 0x00; 深圳国芯人工智能有限公司 //SS/P1.2, MOSI/P1.3, MISO/P1.4, SCLK/P1.5 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 68 - STC8G 系列技术手册 // // // 官方网站: www.STCMCUDATA.com P_SW1 = 0x04; P_SW1 = 0x08; P_SW1 = 0x0c; 技术支持: 13922829991 选型顾问: 13922805190 //SS_2/P2.2, MOSI_2/P2.3, MISO_2/P2.4, SCLK_2/P2.5 //SS_3/P5.4, MOSI_3/P4.0, MISO_3/P4.1, SCLK_3/P4.3 //SS_4/P3.5, MOSI_4/P3.4, MISO_4/P3.3, SCLK_4/P3.2 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW1 DATA 0A2H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV P_SW1,#00H P_SW1,#04H P_SW1,#08H P_SW1,#0CH SJMP $ 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/P5.4, MOSI_3/P4.0, MISO_3/P4.1, SCLK_3/P4.3 ;SS_4/P3.5, MOSI_4/P3.4, MISO_4/P3.3, SCLK_4/P3.2 END 3.2.6 PCA/CCP/PWM 切换 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 69 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW1 = 0xa2; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // // P_SW1 = 0x00; P_SW1 = 0x10; P_SW1 = 0x20; //ECI/P1.2, CCP0/P1.1, CCP1/P1.0, CCP2/P3.7 //ECI_2/P3.4, CCP0_2/P3.5, CCP1_2/P3.6, CCP2_2/P3.7 //ECI_3/P2.4, CCP0_3/P2.5, CCP1_3/P2.6, CCP2_3/P2.7 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW1 DATA 0A2H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 70 - STC8G 系列技术手册 P5M0 官方网站: www.STCMCUDATA.com DATA 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV P_SW1,#00H P_SW1,#10H P_SW1,#20H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 MAIN: ; ; ;ECI/P1.2, CCP0/P1.1, CCP1/P1.0, CCP2/P3.7 ;ECI_2/P3.4, CCP0_2/P3.5, CCP1_2/P3.6, CCP2_2/P3.7 ;ECI_3/P2.4, CCP0_3/P2.5, CCP1_3/P2.6, CCP2_3/P2.7 END 3.2.7 I2C 切换 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW2 = 0xba; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 71 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // // // 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); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV P_SW2,#00H P_SW2,#10H P_SW2,#20H MAIN: ; ; 深圳国芯人工智能有限公司 ;SCL/P1.5, SDA/P1.4 ;SCL_2/P2.5, SDA_2/P2.4 ;SCL_3/P7.7, SDA_3/P7.6 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 72 - STC8G 系列技术手册 ; 官方网站: www.STCMCUDATA.com MOV P_SW2,#30H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;SCL_4/P3.2, SDA_4/P3.3 END 比较器输出切换 3.2.8 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" sfr P_SW2 = 0xba; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // P_SW2 = 0x00; P_SW2 = 0x08; //CMPO/P3.4 //CMPO_2/P4.1 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH P0M1 DATA 093H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 73 - STC8G 系列技术手册 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV P_SW2,#00H P_SW2,#08H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 MAIN: ; ;CMPO/P3.4 ;CMPO_2/P4.1 END 3.2.9 主时钟输出切换 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #define CLKOCR (*(unsigned char volatile xdata *)0xfe00) sfr P_SW2 = 0xba; sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 74 - STC8G 系列技术手册 sfr sfr sfr sfr sfr P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com = = = = = 技术支持: 13922829991 选型顾问: 13922805190 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // P_SW2 = 0x80; CLKOCR = 0x04; CLKOCR = 0x84; P_SW2 = 0x00; //HIRC/4 output via MCLKO/P5.4 //HIRC/4 output via MCLKO_2/P1.6 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH CLKOCR EQU 0FE05H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 75 - STC8G 系列技术手册 ; 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV MOVX MOV P_SW2,#80H A,#04H A,#84H DPTR,#CLKOCR @DPTR,A P_SW2,#00H SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;HIRC/4 output via MCLKO/P5.4 ;HIRC/4 output via MCLKO_2/P1.6 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 76 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4 封装尺寸图 4.1 SOP8 封装尺寸图 8 5 1 4 MAX 1.75 0.25 1.65 0.75 0.45 5.00 6.20 4.00 0.80 - A3 R1 R A1 A e (1.27mm) A2 一般尺寸 测量单位:毫米/mm MIN TYP 1.35 1.60 0.10 0.15 1.25 1.45 0.55 0.65 0.35 0.40 4.80 4.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 (4.9mm) L2 b(0.40mm) ? L L1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 77 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.2 DFN8 封装尺寸图(3mm*3mm) E (3mm) D (3mm) 1 8 PIN 1 4 5 L(0.4mm) K D2 4 MAX 0.80 0.05 0.60 0.225 3.11 3.11 1.75 2.45 0.55 0.419 - A3 A1 A R b(0.2mm) E2 e(0.5mm) 1 SYMBOL A A1 A2 A3 b D E D2 E2 e L K R 一般尺寸 测量单位:毫米/mm MIN TYP 0.70 0.75 0 0.02 0.50 0.55 0.203REF 0.175 0.20 2.89 3.00 2.89 3.00 1.65 1.70 2.35 2.40 0.45 0.50 0.381 0.40 0.275REF 0.125 - STC 现有 DFN8 封装芯片的背面金属片(衬底) ,在芯片内部并未接地,在用户的 PCB 板上可以接地, 也可以不接地,不会对芯片性能造成影响 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 78 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.3 SOP16 封装尺寸图 16 9 1 8 MAX 1.75 0.25 1.65 0.75 0.45 10.00 6.20 4.00 0.80 - A3 R1 R A1 A e (1.27mm) 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 b(0.40mm) L1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 79 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.4 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 MAX 1.20 0.15 1.05 0.54 0.28 6.60 6.60 4.50 0.75 - A3 R1 R A1 A e (0.65mm) 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 b(0.24mm) L1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 80 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.5 QFN20 封装尺寸图(3mm*3mm) D (3mm) 20 16 1 SYMBOL A A1 A2 A3 b D E D2 E2 e L K R C1 C2 E (3mm) 15 PIN 1 5 11 6 10 K 18 一般尺寸 测量单位:毫米/mm MIN TYP 0.70 0.75 0 0.02 0.50 0.55 0.20REF 0.15 0.20 2.90 3.00 2.90 3.00 1.40 1.50 1.40 1.50 0.30 0.40 0.35 0.40 0.35REF 0.085 0.07 0.07 MAX 0.80 0.05 0.60 0.25 3.10 3.10 1.60 1.60 0.50 0.45 - 20 L E2 D2 R 4 11 C1 C2 A3 b(0.20mm) A1 A e(0.4mm) 1 STC 现有 QFN20 封装芯片的背面金属片(衬底) ,在芯片内部并未接地,在用户的 PCB 板上可以接地, 也可以不接地,不会对芯片性能造成影响 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 81 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.6 LQFP32 封装尺寸图(9mm*9mm) D (9mm) D1 (7mm) 24 17 16 32 9 E (9mm) E1 (7mm) 25 SYMBOL A A1 A2 A3 b1 b c D D1 E E1 e L L L1 R R1 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 A c A1 b1 ? L b L1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 82 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.7 QFN32 封装尺寸图(4mm*4mm) D (4mm) 32 19 1 SYMBOL A A1 A2 A3 b D E D2 E2 e L K R C1 C2 18 E (4mm) PIN 1 8 17 9 16 K 27 一般尺寸 测量单位:毫米/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 - 32 L e(0.4mm) 1 E2 R 17 b(0.20mm) 12 C1 A3 7 A1 A D2 C2 STC 现有 QFN32 封装芯片的背面金属片(衬底) ,在芯片内部并未接地,在用户的 PCB 板上可以接地, 也可以不接地,不会对芯片性能造成影响 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 83 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.8 LQFP48 封装尺寸图(9mm*9mm) D (9mm) D1 (7mm) 25 37 24 48 13 E1 (7mm) E (9mm) 36 1 12 MAX 1.60 0.15 1.45 0.69 0.27 0.23 0.18 0.134 9.20 7.10 9.20 7.10 0.55 0.75 0.20 - b R1 A3 R2 A1 A2 A e (0.5mm) 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.17 0.20 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 - L2 L b b1 c L1 c1 (A-A的截面图) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 84 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.9 QFN48 封装尺寸图(6mm*6mm) D (6mm) 48 37 1 36 E (6mm) PIN 1 12 25 13 SYMBOL A A1 A3 b D E D2 E2 e L K R 一般尺寸 测量单位:毫米/mm MIN TYP 0.70 0.75 0.00 0.02 0.20REF 0.15 0.20 5.90 6.00 5.90 6.00 3.95 4.05 3.95 4.05 0.35 0.40 0.35 0.40 0.20 0.09 - MAX 0.80 0.05 0.25 6.10 6.10 4.15 4.15 0.45 0.45 - 24 K 39 48 A3 1 35 A1 A L E2 e(0.4mm) R D2 25 12 24 b(0.20mm) 13 STC 现有 QFN48 封装芯片的背面金属片(衬底) ,在芯片内部并未接地,在用户的 PCB 板上可以接地, 也可以不接地,不会对芯片性能造成影响 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 85 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.10 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 16 e (0.5mm) SYMBOL A A1 A2 A3 b b1 c c1 D D1 E E1 e L L1 L2 R1 R2 S ? ?1 ?2 ?3 深圳国芯人工智能有限公司 一般尺寸 测量单位:毫米/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 ?2 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 ?1 R2 ?3 ? L2 L1 L S b 0.75 b1 0.20 7° 13° 13° c c1 国内分销商电话: 0513-5501 2928/2929/2966 (A-A的截面图) 传真: 0513-5501 2926/2956/2947 - 86 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.11 QFN64 封装尺寸图(8mm*8mm) D (8mm) 64 49 1 48 E (8mm) PIN 1 16 SYMBOL A A1 A2 A3 b D E D2 E2 e L K R 一般尺寸 测量单位:毫米/mm MIN TYP 0.70 0.75 0.00 0.02 0.50 0.55 0.20REF 0.15 0.20 7.90 8.00 7.90 8.00 5.90 6.00 5.90 6.00 0.30 0.40 0.30 0.40 0.40 0.09 - MAX 0.80 0.05 0.60 0.25 8.10 8.10 6.10 6.10 0.50 0.50 - 33 17 K 51 A3 A1 A 32 64 L 1 47 R e(0.4mm) E2 D2 33 16 32 b(0.20mm) 17 STC 现有 QFN64 封装芯片的背面金属片(衬底) ,在芯片内部并未接地,在用户的 PCB 板上可以接地, 也可以不接地,不会对芯片性能造成影响 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 87 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 4.12 STC8G 系列单片机命名规则 STC 8x xK 08 程序空间大小 12:12K字节 08:8K字节 SRAM空间大小 1K:1K字节 子系列 8G:STC8G系列 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 88 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 5 ISP 下载及典型应用线路图 5.1 STC8G 系列 ISP 下载应用线路图 使用 RS-232 转换器下载(无独立 VREF 脚),也可支持仿真 5.1.1 Vcc Vcc SP3232/ SP232/ MAX3232/ MAX232 0.1u 系统电源 (可从USB取电) Vin Power On Vcc 47u C? 1 2 3 4 5 6 7 8 9 10 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P5.4 VCC P5.5 GND P1.1 P1.0 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 20 19 18 17 16 15 14 13 12 11 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 100欧 STC8G1K08 1N5819 47u钽电容(封装3528)参考价> 8); UartSend(*F32K); //读取 32K 频率的高字节 //读取 32K 频率的低字节 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz AUXR F32K DATA EQU 8EH 01FF5H BUSY BIT 20H.0 P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0023H UART_ISR 深圳国芯人工智能有限公司 ; STC8G1K08 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 183 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ORG 0100H JNB CLR CLR TI,CHKRI TI BUSY 技术支持: 13922829991 选型顾问: 13922805190 UART_ISR: CHKRI: JNB CLR UARTISR_EXIT: RETI RI,UARTISR_EXIT RI UART_INIT: MOV MOV MOV MOV SETB MOV CLR RET SCON,#50H TMOD,#00H TL1,#0E8H TH1,#0FFH TR1 AUXR,#40H BUSY JB SETB MOV RET BUSY,$ BUSY SBUF,A MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H LCALL SETB SETB UART_INIT ES EA MOV CLR MOVC LCALL INC CLR MOVC LCALL DPTR,#F32K A A,@A+DPTR UART_SEND DPTR A A,@A+DPTR UART_SEND JMP LOOP ;65536-11059200/115200/4=0FFE8H UART_SEND: MAIN: ;读取 32K 频率的高字节 ;读取 32K 频率的低字节 LOOP: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 184 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 END 7.3.6 读取 32K 掉电唤醒定时器的频率 (从 RAM 中读取) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr AUXR = 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit int busy; *F32K; 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; } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 185 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 void UartSend(char dat) { while (busy); busy = 1; SBUF = dat; } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; F32K = (int idata *)0xf8; UartInit(); ES = 1; EA = 1; //读取 32K 频率的高字节 //读取 32K 频率的低字节 UartSend(*F32K >> 8); UartSend(*F32K); while (1); } 汇编代码 ;测试工作频率为 11.0592MHz AUXR F32K DATA DATA 8EH 0F8H BUSY BIT 20H.0 P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0023H UART_ISR 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 186 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ORG 0100H JNB CLR CLR TI,CHKRI TI BUSY 技术支持: 13922829991 选型顾问: 13922805190 UART_ISR: CHKRI: JNB CLR UARTISR_EXIT: RETI RI,UARTISR_EXIT RI UART_INIT: MOV MOV MOV MOV SETB MOV CLR RET SCON,#50H TMOD,#00H TL1,#0E8H TH1,#0FFH TR1 AUXR,#40H BUSY JB SETB MOV RET BUSY,$ BUSY SBUF,A MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H LCALL SETB SETB UART_INIT ES EA MOV MOV LCALL INC MOV LCALL R0,#F32K A,@R0 UART_SEND R0 A,@R0 UART_SEND JMP LOOP ;65536-11059200/115200/4=0FFE8H UART_SEND: MAIN: ;读取 32K 频率的高字节 ;读取 32K 频率的低字节 LOOP: END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 187 - STC8G 系列技术手册 7.3.7 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 用户自定义内部 IRC 频率 (从 Flash 程序存储器(ROM)中 读取) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define CKSEL CLKDIV (*(unsigned char volatile xdata *)0xfe00) (*(unsigned char volatile xdata *)0xfe01) //下表为 STC8G1K08 的参数列表 #define ID_ROMADDR #define VREF_ROMADDR #define F32K_ROMADDR #define T22M_ROMADDR #define T24M_ROMADDR #define T20M_ROMADDR #define T27M_ROMADDR #define T30M_ROMADDR #define T33M_ROMADDR #define T35M_ROMADDR #define T36M_ROMADDR #define VRT20M_ROMADDR #define VRT35M_ROMADDR ((unsigned char code *)0x1ff9) (*(unsigned int code *)0x1ff7) (*(unsigned int code *)0x1ff5) (*(unsigned char code *)0x1ff4) (*(unsigned char code *)0x1ff3) (*(unsigned char code *)0x1ff2) (*(unsigned char code *)0x1ff1) (*(unsigned char code *)0x1ff0) (*(unsigned char code *)0x1fef) (*(unsigned char code *)0x1fee) (*(unsigned char code *)0x1fed) (*(unsigned char code *)0x1fea) (*(unsigned char code *)0x1fe9) sfr sfr sfr sfr P_SW2 IRCBAND IRTRIM VRTRIM = = = = 0xba; 0x9d; 0x9f; 0xa6; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; //22.1184MHz //24MHz //20MHz //27MHz //30MHz //33.1776MHz //35MHz //36.864MHz //VRTRIM_20M //VRTRIM_35M void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 188 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // // // // // // // //选择 20MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T20M_ROMADDR; VRTRIM = VRT20M_ROMADDR; IRCBAND = 0x00; CLKDIV = 0x00; // // // // // // // //选择 22.1184MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T22M_ROMADDR; VRTRIM = VRT20M_ROMADDR; IRCBAND = 0x00; CLKDIV = 0x00; //选择 24MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T24M_ROMADDR; VRTRIM = VRT20M_ROMADDR; IRCBAND = 0x00; CLKDIV = 0x00; // // // // // // // //选择 27MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T27M_ROMADDR; VRTRIM = VRT35M_ROMADDR; IRCBAND = 0x01; CLKDIV = 0x00; // // // // // // // //选择 30MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T30M_ROMADDR; VRTRIM = VRT35M_ROMADDR; IRCBAND = 0x01; CLKDIV = 0x00; // // // // // // // //选择 33.1776MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T33M_ROMADDR; VRTRIM = VRT35M_ROMADDR; IRCBAND = 0x01; CLKDIV = 0x00; // // // // //选择 35MHz P_SW2 = 0x80; CLKDIV = 0x04; IRTRIM = T35M_ROMADDR; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 189 - STC8G 系列技术手册 // // // 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 VRTRIM = VRT35M_ROMADDR; IRCBAND = 0x01; CLKDIV = 0x00; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz ;下表为 STC8G1K08 的参数列表 ID_ROMADDR EQU VREF_ROMADDR EQU F32K_ROMADDR EQU T22M_ROMADDR EQU T24M_ROMADDR EQU T20M_ROMADDR EQU T27M_ROMADDR EQU T30M_ROMADDR EQU T33M_ROMADDR EQU T35M_ROMADDR EQU T36M_ROMADDR EQU VRT20M_ROMADDR EQU VRT35M_ROMADDR EQU 01FF9H 01FF7H 01FF5H 01FF4H 01FF3H 01FF2H 01FF1H 01FF0H 01FEFH 01FEEH 01FEDH 01FEAH 01FE9H P_SW2 CKSEL CLKDIV DATA EQU EQU 0BAH 0FE00H 0FE01H IRCBAND IRTRIM VRTRIM DATA DATA DATA 09DH 09FH 0A6H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H //22.1184MHz //24MHz //20MHz //27MHz //30MHz //33.1776MHz //35MHz //36.864MHz //VRTRIM_20M //VRTRIM_35M MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 190 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;选择 20MHz MOV MOV MOV MOV CLR MOVC MOV MOV CLR MOVC MOV MOV MOV MOV MOV P_SW2,#80H A,#4 DPTR,#CLKDIV DPTR,#T20M_ROMADDR A A,@A+DPTR IRTRIM,A DPTR,#VRT20M_ROMADDR A A,@A+DPTR VRTRIM,A IRCBAND,#00H A,#0 DPTR,#CLKDIV P_SW2,#00H ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;选择 22.1184MHz MOV P_SW2,#80H MOV A,#4 MOV DPTR,#CLKDIV MOV DPTR,#T22M_ROMADDR CLR A MOVC A,@A+DPTR MOV IRTRIM,A MOV DPTR,#VRT20M_ROMADDR CLR A MOVC A,@A+DPTR MOV VRTRIM,A MOV IRCBAND,#00H MOV A,#0 MOV DPTR,#CLKDIV MOV P_SW2,#00H ;选择 24MHz MOV MOV MOV MOV CLR MOVC MOV MOV CLR MOVC MOV MOV MOV MOV MOV ; 技术支持: 13922829991 选型顾问: 13922805190 P_SW2,#80H A,#4 DPTR,#CLKDIV DPTR,#T24M_ROMADDR A A,@A+DPTR IRTRIM,A DPTR,#VRT20M_ROMADDR A A,@A+DPTR VRTRIM,A IRCBAND,#00H A,#0 DPTR,#CLKDIV P_SW2,#00H ;选择 27MHz 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 191 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; MOV MOV MOV MOV CLR MOVC MOV MOV CLR MOVC MOV MOV MOV MOV MOV P_SW2,#80H A,#4 DPTR,#CLKDIV DPTR,#T27M_ROMADDR A A,@A+DPTR IRTRIM,A DPTR,#VRT35M_ROMADDR A A,@A+DPTR VRTRIM,A IRCBAND,#01H A,#0 DPTR,#CLKDIV P_SW2,#00H ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;选择 30MHz MOV MOV MOV MOV CLR MOVC MOV MOV CLR MOVC MOV MOV MOV MOV MOV P_SW2,#80H A,#4 DPTR,#CLKDIV DPTR,#T30M_ROMADDR A A,@A+DPTR IRTRIM,A DPTR,#VRT35M_ROMADDR A A,@A+DPTR VRTRIM,A IRCBAND,#01H A,#0 DPTR,#CLKDIV P_SW2,#00H ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;选择 33.1776MHz MOV P_SW2,#80H MOV A,#4 MOV DPTR,#CLKDIV MOV DPTR,#T33M_ROMADDR CLR A MOVC A,@A+DPTR MOV IRTRIM,A MOV DPTR,#VRT35M_ROMADDR CLR A MOVC A,@A+DPTR MOV VRTRIM,A MOV IRCBAND,#01H MOV A,#0 MOV DPTR,#CLKDIV MOV P_SW2,#00H ; ; ; ; ; ; ; ; ; ;选择 35MHz MOV MOV MOV MOV CLR MOVC MOV MOV 深圳国芯人工智能有限公司 技术支持: 13922829991 选型顾问: 13922805190 P_SW2,#80H A,#4 DPTR,#CLKDIV DPTR,#T35M_ROMADDR A A,@A+DPTR IRTRIM,A DPTR,#VRT35M_ROMADDR 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 192 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ; ; ; ; ; ; ; CLR MOVC MOV MOV MOV MOV MOV ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;选择 36.864MHz MOV P_SW2,#80H MOV A,#4 MOV DPTR,#CLKDIV MOV DPTR,#T36M_ROMADDR CLR A MOVC A,@A+DPTR MOV IRTRIM,A MOV DPTR,#VRT35M_ROMADDR CLR A MOVC A,@A+DPTR MOV VRTRIM,A MOV IRCBAND,#01H MOV A,#0 MOV DPTR,#CLKDIV MOV P_SW2,#00H 技术支持: 13922829991 选型顾问: 13922805190 A A,@A+DPTR VRTRIM,A IRCBAND,#01H A,#0 DPTR,#CLKDIV P_SW2,#00H JMP $ END 7.3.8 用户自定义内部 IRC 频率 (从 RAM 中读取) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define CLKDIV (*(unsigned char volatile xdata *)0xfe01) sfr sfr P_SW2 IRTRIM = = 0xba; 0x9f; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 193 - STC8G 系列技术手册 char char 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 *IRC22M; *IRC24M; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // IRC22M = (char idata *)0xfa; IRC24M = (char idata *) 0xfb; IRTRIM = *IRC22M; IRTRIM = *IRC24M; P_SW2 = 0x80; CLKDIV = 0; P_SW2 = 0x00; //装载 22.1184MHz 的 IRC 参数 //装载 24MHz 的 IRC 参数 //主时钟不预分频 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 CLKDIV DATA EQU 0BAH 0FE01H IRTRIM DATA 09FH IRC22M IRC24M DATA DATA 0FAH 0FBH P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 194 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 MAIN: ; ; MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV R0,#IRC22M IRTRIM,@R0 R0,#IRC24M IRTRIM,@R0 MOV MOV MOV MOVX MOV P_SW2,#80H A,#0 DPTR,#CLKDIV @DPTR,A P_SW2,#00H JMP $ ;装载 22.1184MHz 的 IRC 参数 ;装载 24MHz 的 IRC 参数 ;主时钟不预分频 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 195 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8 特殊功能寄存器 8.1 STC8G1K08 系列 0/8 F8H F0H 1/9 2/A 3/B 4/C CH CCAP0H CCAP1H CCAP2H PCA_PWM0 PCA_PWM1 PCA_PWM2 CCAP0L CCAP1L CCAP2L DPS DPL1 CCAPM1 CCAPM2 B E8H CL E0H ACC D8H CCON D0H PSW C8H P5 C0H CMOD CCAPM0 P5M1 P5M0 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 A8H IE SADDR WKTCL A0H IAP_ADDRH 5/D 6/E 7/F RSTCFG IAP_TPS AUXINTIF DPH1 CMPCR1 CMPCR2 ADCCFG T2H T2L SPSTAT SPCTL SPDAT IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR ADC_CONTR ADC_RES ADC_RESL IP2 IP2H IPH TA IE2 IRCBAND LIRTRIM IRTRIM TH1 AUXR INTCLKO WKTCH P_SW1 98H SCON SBUF S2CON 90H P1 P1M1 P1M0 88H TCON TMOD TL0 TL1 SP DPL DPH 80H S2BUF TH0 PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 0/8 FEA8H 1/9 2/A 3/B 4/C 5/D 6/E 7/F I2CSLCR I2CSLST I2CSLADR I2CTxD I2CRxD ADCTIM FEA0H TM2PS FE88H I2CMSAUX FE80H I2CCFG I2CMSCR I2CMSST FE30H P1IE P3IE FE28H P1DR P3DR P5DR FE20H P1SR P3SR P5SR FE18H P1NCS P3NCS P5NCS FE10H P1PU P3PU P5PU FE00H CKSEL 深圳国芯人工智能有限公司 CLKDIV HIRCCR XOSCCR IRC32KCR 国内分销商电话: 0513-5501 2928/2929/2966 MCLKOCR IRCDB 传真: 0513-5501 2926/2956/2947 - 196 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.2 STC8G1K08-8Pin 系列 0/8 1/9 2/A 3/B 4/C 5/D 6/E F8H F0H RSTCFG B IAP_TPS E8H E0H 7/F AUXINTIF ACC DPS DPL1 DPH1 D8H D0H PSW C8H P5 C0H P5M1 P5M0 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 A8H IE SADDR WKTCL A0H 98H IAP_ADDRH IAP_ADDRL SPSTAT SPCTL SPDAT IAP_CMD IAP_TRIG IAP_CONTR IP2 IP2H IPH TA IE2 IRCBAND LIRTRIM IRTRIM TH1 AUXR INTCLKO WKTCH P_SW1 SCON SBUF TCON TMOD TL0 TL1 SP DPL DPH 90H 88H 80H TH0 PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 FCF0H 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F MD3 MD2 MD1 MD0 MD5 MD4 ARCON OPCON I2CMSCR I2CMSST I2CSLCR I2CSLST I2CSLADR I2CTxD I2CRxD FE88H I2CMSAUX FE80H I2CCFG FE28H P3DR P5DR FE20H P3SR P5SR FE18H P3NCS P5NCS FE10H P3PU P5PU FE00H CKSEL 深圳国芯人工智能有限公司 CLKDIV HIRCCR IRC32KCR 国内分销商电话: 0513-5501 2928/2929/2966 MCLKOCR IRCDB 传真: 0513-5501 2926/2956/2947 - 197 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.3 STC8G1K08A 系列 0/8 F8H F0H 1/9 2/A 3/B 4/C CH CCAP0H CCAP1H CCAP2H PCA_PWM0 PCA_PWM1 PCA_PWM2 CCAP0L CCAP1L CCAP2L DPS DPL1 CCAPM1 CCAPM2 B E8H CL E0H ACC D8H CCON D0H PSW C8H P5 C0H CMOD CCAPM0 P5M1 P5M0 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 A8H IE SADDR WKTCL A0H 98H IAP_ADDRH 5/D 6/E 7/F RSTCFG IAP_TPS AUXINTIF DPH1 ADCCFG SPSTAT SPCTL SPDAT IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR ADC_CONTR ADC_RES ADC_RESL IP2 IP2H IPH TA IE2 IRCBAND LIRTRIM IRTRIM TH1 AUXR INTCLKO WKTCH P_SW1 SCON SBUF TCON TMOD TL0 TL1 SP DPL DPH 90H 88H 80H TH0 PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F FCF0H MD3 MD2 MD1 MD0 MD5 MD4 ARCON OPCON FEA8H ADCTIM I2CMSCR I2CMSST I2CSLCR I2CSLST I2CSLADR I2CTxD I2CRxD FE88H I2CMSAUX FE80H I2CCFG FE30H P3IE P5IE FE28H P3DR P5DR FE20H P3SR P5SR FE18H P3NCS P5NCS FE10H P3PU P5PU FE00H CKSEL 深圳国芯人工智能有限公司 CLKDIV HIRCCR IRC32KCR 国内分销商电话: 0513-5501 2928/2929/2966 MCLKOCR IRCDB 传真: 0513-5501 2926/2956/2947 - 198 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.4 STC8G2K64S4 系列 0/8 1/9 2/A 3/B 4/C CH CCAP0H CCAP1H CCAP2H PWMSET PCA_PWM0 PCA_PWM1 PCA_PWM2 CL CCAP0L CCAP1L CCAP2L DPS DPL1 F8H F0H B E8H 5/D 6/E 7/F PWMCFG45 RSTCFG PWMCFG01 PWMCFG23 IP3H AUXINTIF CMPCR1 CMPCR2 ADCCFG IP3 TL3 T2H T2L SPSTAT SPCTL SPDAT IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR ADC_CONTR ADC_RES ADC_RESL IAP_TPS E0H ACC D8H CCON CMOD CCAPM0 CCAPM1 CCAPM2 D0H PSW T4T3M TH4 TL4 TH3 C8H P5 P5M1 P5M0 C0H P4 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 P4M1 P4M0 IP2 IP2H IPH A8H IE SADDR WKTCL WKTCH S3CON S3BUF TA IE2 A0H P2 BUS_SPEED P_SW1 98H SCON SBUF S2CON S2BUF IRCBAND LIRTRIM IRTRIM 90H P1 P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 88H TCON TMOD TL0 TL1 TH0 TH1 AUXR 80H P0 SP DPL DPH S4CON S4BUF IAP_ADDRH DPH1 INTCLKO PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F MD3 MD2 MD1 MD0 MD5 MD4 ARCON OPCON FFE8H PWM27T1H PWM27T1L PWM27T2H PWM27T2L PWM27CR PWM27HLD FFE0H PWM26T1H PWM26T1L PWM26T2H PWM26T2L PWM26CR PWM26HLD FFD8H PWM25T1H PWM25T1L PWM25T2H PWM25T2L PWM25CR PWM25HLD FFD0H PWM24T1H PWM24T1L PWM24T2H PWM24T2L PWM24CR PWM24HLD FFC8H PWM23T1H PWM23T1L PWM23T2H PWM23T2L PWM31CR PWM23HLD FFC0H PWM22T1H PWM22T1L PWM22T2H PWM22T2L PWM22CR PWM22HLD FFB8H PWM21T1H PWM21T1L PWM21T2H PWM21T2L PWM21CR PWM21HLD FFB0H PWM20T1H PWM20T1L PWM20T2H PWM20T2L PWM20CR PWM20HLD PWM2CL PWM2CKS PWM2TADCH PWM2TADCL PWM2IF FF98H PWM17T1H PWM17T1L PWM17T2H PWM17T2L PWM17CR PWM17HLD FF90H PWM16T1H PWM16T1L PWM16T2H PWM16T2L PWM16CR PWM16HLD FF88H PWM15T1H PWM15T1L PWM15T2H PWM15T2L PWM15CR PWM15HLD FF80H PWM14T1H PWM14T1L PWM14T2H PWM14T2L PWM14CR PWM14HLD FF78H PWM13T1H PWM13T1L PWM13T2H PWM13T2L PWM31CR PWM13HLD FF70H PWM12T1H PWM12T1L PWM12T2H PWM12T2L PWM12CR PWM12HLD FF68H PWM11T1H PWM11T1L PWM11T2H PWM11T2L PWM11CR PWM11HLD FF60H PWM10T1H PWM10T1L PWM10T2H PWM10T2L PWM10CR PWM10HLD PWM1CL PWM1CKS FCF0H FFA0H FF50H PWM2CH PWM1CH 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 PWM1IF PWM2FDCR PWM1FDCR 传真: 0513-5501 2926/2956/2947 - 199 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 FF48H PWM07T1H PWM07T1L PWM07T2H PWM07T2L PWM07CR PWM07HLD FF40H PWM06T1H PWM06T1L PWM06T2H PWM06T2L PWM06CR PWM06HLD FF38H PWM05T1H PWM05T1L PWM05T2H PWM05T2L PWM05CR PWM05HLD FF30H PWM04T1H PWM04T1L PWM04T2H PWM04T2L PWM04CR PWM04HLD FF28H PWM03T1H PWM03T1L PWM03T2H PWM03T2L PWM31CR PWM03HLD FF20H PWM02T1H PWM02T1L PWM02T2H PWM02T2L PWM02CR PWM02HLD FF18H PWM01T1H PWM01T1L PWM01T2H PWM01T2L PWM01CR PWM01HLD FF10H PWM00T1H PWM00T1L PWM00T2H PWM00T2L PWM00CR PWM00HLD PWM0CL PWM0CKS PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR TM2PS TM3PS TM4PS I2CMSST I2CSLCR I2CSLST I2CSLADR I2CTxD FF00H PWM0CH FEA8H ADCTIM FEA0H FE88H I2CMSAUX FE80H I2CCFG I2CMSCR FE30H P0IE P1IE FE28H P0DR P1DR P2DR P3DR P4DR P5DR FE20H P0SR P1SR P2SR P3SR P4SR P5SR FE18H P0NCS P1NCS P2NCS P3NCS P4NCS P5NCS FE10H P0PU P1PU P2PU P3PU P4PU P5PU FE00H CKSEL CLKDIV HIRCCR XOSCCR IRC32KCR MCLKOCR FCE8H PWM57T1H PWM57T1L PWM57T2H PWM57T2L PWM57CR PWM57HLD FCE0H PWM56T1H PWM56T1L PWM56T2H PWM56T2L PWM56CR PWM56HLD FCD8H PWM55T1H PWM55T1L PWM55T2H PWM55T2L PWM55CR PWM55HLD FCD0H PWM54T1H PWM54T1L PWM54T2H PWM54T2L PWM54CR PWM54HLD FCC8H PWM53T1H PWM53T1L PWM53T2H PWM53T2L PWM31CR PWM53HLD FCC0H PWM52T1H PWM52T1L PWM52T2H PWM52T2L PWM52CR PWM52HLD FCB8H PWM51T1H PWM51T1L PWM51T2H PWM51T2L PWM51CR PWM51HLD FCB0H PWM50T1H PWM50T1L PWM50T2H PWM50T2L PWM50CR PWM50HLD PWM5CL PWM5CKS FC98H PWM47T1H PWM47T1L PWM47T2H PWM47T2L PWM47CR PWM47HLD FC90H PWM46T1H PWM46T1L PWM46T2H PWM46T2L PWM46CR PWM46HLD FC88H PWM45T1H PWM45T1L PWM45T2H PWM45T2L PWM45CR PWM45HLD FC80H PWM44T1H PWM44T1L PWM44T2H PWM44T2L PWM44CR PWM44HLD FC78H PWM43T1H PWM43T1L PWM43T2H PWM43T2L PWM31CR PWM43HLD FC70H PWM42T1H PWM42T1L PWM42T2H PWM42T2L PWM42CR PWM42HLD FC68H PWM41T1H PWM41T1L PWM41T2H PWM41T2L PWM41CR PWM41HLD FC60H PWM40T1H PWM40T1L PWM40T2H PWM40T2L PWM40CR PWM40HLD PWM4CL PWM4CKS PWM4TADCH PWM4TADCL PWM4IF FC48H PWM37T1H PWM37T1L PWM37T2H PWM37T2L PWM37CR PWM37HLD FC40H PWM36T1H PWM36T1L PWM36T2H PWM36T2L PWM36CR PWM36HLD FC38H PWM35T1H PWM35T1L PWM35T2H PWM35T2L PWM35CR PWM35HLD FC30H PWM34T1H PWM34T1L PWM34T2H PWM34T2L PWM34CR PWM34HLD FC28H PWM33T1H PWM33T1L PWM33T2H PWM33T2L PWM31CR PWM33HLD FC20H PWM32T1H PWM32T1L PWM32T2H PWM32T2L PWM32CR PWM32HLD FC18H PWM31T1H PWM31T1L PWM31T2H PWM31T2L PWM31CR PWM31HLD FCA0H FC50H PWM5CH PWM4CH 深圳国芯人工智能有限公司 PWM5IF 国内分销商电话: 0513-5501 2928/2929/2966 I2CRxD IRCDB PWM5FDCR PWM4FDCR 传真: 0513-5501 2926/2956/2947 - 200 - STC8G 系列技术手册 FC10H PWM30T1H FC00H PWM3CH 官方网站: www.STCMCUDATA.com PWM30T1L PWM30T2H PWM3CL PWM3CKS 深圳国芯人工智能有限公司 PWM30T2L 技术支持: 13922829991 PWM30CR 国内分销商电话: 0513-5501 2928/2929/2966 选型顾问: 13922805190 PWM30HLD PWM3IF PWM3FDCR 传真: 0513-5501 2926/2956/2947 - 201 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.5 STC8G2K64S2 系列 0/8 1/9 2/A 3/B 4/C CH CCAP0H CCAP1H CCAP2H PWMSET PCA_PWM0 PCA_PWM1 PCA_PWM2 CL CCAP0L CCAP1L CCAP2L DPS DPL1 F8H F0H B E8H 5/D 6/E 7/F PWMCFG45 RSTCFG PWMCFG01 PWMCFG23 IP3H AUXINTIF CMPCR1 CMPCR2 ADCCFG IP3 TL3 T2H T2L SPSTAT SPCTL SPDAT IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR ADC_CONTR ADC_RES ADC_RESL P4M0 IP2 IP2H IPH TA IE2 IRCBAND LIRTRIM IRTRIM IAP_TPS E0H ACC D8H CCON CMOD CCAPM0 CCAPM1 CCAPM2 D0H PSW T4T3M TH4 TL4 TH3 C8H P5 P5M1 P5M0 C0H P4 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 P4M1 A8H IE SADDR WKTCL WKTCH A0H P2 BUS_SPEED P_SW1 98H SCON SBUF S2CON S2BUF 90H P1 P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 88H TCON TMOD TL0 TL1 TH0 TH1 AUXR 80H P0 SP DPL DPH IAP_ADDRH DPH1 INTCLKO PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F MD3 MD2 MD1 MD0 MD5 MD4 ARCON OPCON FFE8H PWM27T1H PWM27T1L PWM27T2H PWM27T2L PWM27CR PWM27HLD FFE0H PWM26T1H PWM26T1L PWM26T2H PWM26T2L PWM26CR PWM26HLD FFD8H PWM25T1H PWM25T1L PWM25T2H PWM25T2L PWM25CR PWM25HLD FFD0H PWM24T1H PWM24T1L PWM24T2H PWM24T2L PWM24CR PWM24HLD FFC8H PWM23T1H PWM23T1L PWM23T2H PWM23T2L PWM31CR PWM23HLD FFC0H PWM22T1H PWM22T1L PWM22T2H PWM22T2L PWM22CR PWM22HLD FFB8H PWM21T1H PWM21T1L PWM21T2H PWM21T2L PWM21CR PWM21HLD FFB0H PWM20T1H PWM20T1L PWM20T2H PWM20T2L PWM20CR PWM20HLD PWM2CL PWM2CKS PWM2TADCH PWM2TADCL PWM2IF FF98H PWM17T1H PWM17T1L PWM17T2H PWM17T2L PWM17CR PWM17HLD FF90H PWM16T1H PWM16T1L PWM16T2H PWM16T2L PWM16CR PWM16HLD FF88H PWM15T1H PWM15T1L PWM15T2H PWM15T2L PWM15CR PWM15HLD FF80H PWM14T1H PWM14T1L PWM14T2H PWM14T2L PWM14CR PWM14HLD FF78H PWM13T1H PWM13T1L PWM13T2H PWM13T2L PWM31CR PWM13HLD FF70H PWM12T1H PWM12T1L PWM12T2H PWM12T2L PWM12CR PWM12HLD FF68H PWM11T1H PWM11T1L PWM11T2H PWM11T2L PWM11CR PWM11HLD FF60H PWM10T1H PWM10T1L PWM10T2H PWM10T2L PWM10CR PWM10HLD PWM1CL PWM1CKS FCF0H FFA0H FF50H PWM2CH PWM1CH 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 PWM1IF PWM2FDCR PWM1FDCR 传真: 0513-5501 2926/2956/2947 - 202 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 FF48H PWM07T1H PWM07T1L PWM07T2H PWM07T2L PWM07CR PWM07HLD FF40H PWM06T1H PWM06T1L PWM06T2H PWM06T2L PWM06CR PWM06HLD FF38H PWM05T1H PWM05T1L PWM05T2H PWM05T2L PWM05CR PWM05HLD FF30H PWM04T1H PWM04T1L PWM04T2H PWM04T2L PWM04CR PWM04HLD FF28H PWM03T1H PWM03T1L PWM03T2H PWM03T2L PWM31CR PWM03HLD FF20H PWM02T1H PWM02T1L PWM02T2H PWM02T2L PWM02CR PWM02HLD FF18H PWM01T1H PWM01T1L PWM01T2H PWM01T2L PWM01CR PWM01HLD FF10H PWM00T1H PWM00T1L PWM00T2H PWM00T2L PWM00CR PWM00HLD PWM0CL PWM0CKS PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR TM2PS TM3PS TM4PS I2CMSST I2CSLCR I2CSLST I2CSLADR I2CTxD FF00H PWM0CH FEA8H ADCTIM FEA0H FE88H I2CMSAUX FE80H I2CCFG I2CMSCR FE30H P0IE P1IE FE28H P0DR P1DR P2DR P3DR P4DR P5DR FE20H P0SR P1SR P2SR P3SR P4SR P5SR FE18H P0NCS P1NCS P2NCS P3NCS P4NCS P5NCS FE10H P0PU P1PU P2PU P3PU P4PU P5PU FE00H CKSEL CLKDIV HIRCCR XOSCCR IRC32KCR MCLKOCR FCE8H PWM57T1H PWM57T1L PWM57T2H PWM57T2L PWM57CR PWM57HLD FCE0H PWM56T1H PWM56T1L PWM56T2H PWM56T2L PWM56CR PWM56HLD FCD8H PWM55T1H PWM55T1L PWM55T2H PWM55T2L PWM55CR PWM55HLD FCD0H PWM54T1H PWM54T1L PWM54T2H PWM54T2L PWM54CR PWM54HLD FCC8H PWM53T1H PWM53T1L PWM53T2H PWM53T2L PWM31CR PWM53HLD FCC0H PWM52T1H PWM52T1L PWM52T2H PWM52T2L PWM52CR PWM52HLD FCB8H PWM51T1H PWM51T1L PWM51T2H PWM51T2L PWM51CR PWM51HLD FCB0H PWM50T1H PWM50T1L PWM50T2H PWM50T2L PWM50CR PWM50HLD PWM5CL PWM5CKS FC98H PWM47T1H PWM47T1L PWM47T2H PWM47T2L PWM47CR PWM47HLD FC90H PWM46T1H PWM46T1L PWM46T2H PWM46T2L PWM46CR PWM46HLD FC88H PWM45T1H PWM45T1L PWM45T2H PWM45T2L PWM45CR PWM45HLD FC80H PWM44T1H PWM44T1L PWM44T2H PWM44T2L PWM44CR PWM44HLD FC78H PWM43T1H PWM43T1L PWM43T2H PWM43T2L PWM31CR PWM43HLD FC70H PWM42T1H PWM42T1L PWM42T2H PWM42T2L PWM42CR PWM42HLD FC68H PWM41T1H PWM41T1L PWM41T2H PWM41T2L PWM41CR PWM41HLD FC60H PWM40T1H PWM40T1L PWM40T2H PWM40T2L PWM40CR PWM40HLD PWM4CL PWM4CKS PWM4TADCH PWM4TADCL PWM4IF FC48H PWM37T1H PWM37T1L PWM37T2H PWM37T2L PWM37CR PWM37HLD FC40H PWM36T1H PWM36T1L PWM36T2H PWM36T2L PWM36CR PWM36HLD FC38H PWM35T1H PWM35T1L PWM35T2H PWM35T2L PWM35CR PWM35HLD FC30H PWM34T1H PWM34T1L PWM34T2H PWM34T2L PWM34CR PWM34HLD FC28H PWM33T1H PWM33T1L PWM33T2H PWM33T2L PWM31CR PWM33HLD FC20H PWM32T1H PWM32T1L PWM32T2H PWM32T2L PWM32CR PWM32HLD FC18H PWM31T1H PWM31T1L PWM31T2H PWM31T2L PWM31CR PWM31HLD FCA0H FC50H PWM5CH PWM4CH 深圳国芯人工智能有限公司 PWM5IF 国内分销商电话: 0513-5501 2928/2929/2966 I2CRxD IRCDB PWM5FDCR PWM4FDCR 传真: 0513-5501 2926/2956/2947 - 203 - STC8G 系列技术手册 FC10H PWM30T1H FC00H PWM3CH 官方网站: www.STCMCUDATA.com PWM30T1L PWM30T2H PWM3CL PWM3CKS 深圳国芯人工智能有限公司 PWM30T2L 技术支持: 13922829991 PWM30CR 国内分销商电话: 0513-5501 2928/2929/2966 选型顾问: 13922805190 PWM30HLD PWM3IF PWM3FDCR 传真: 0513-5501 2926/2956/2947 - 204 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.6 STC8G1K08T 系列 0/8 F8H F0H 1/9 2/A 3/B 4/C CH CCAP0H CCAP1H CCAP2H PCA_PWM0 PCA_PWM1 PCA_PWM2 CCAP0L CCAP1L CCAP2L DPS DPL1 CCAPM1 CCAPM2 B E8H CL E0H ACC D8H CCON D0H PSW C8H P5 C0H CMOD CCAPM0 P5M1 P5M0 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 A8H IE SADDR WKTCL A0H IAP_ADDRH 5/D 6/E 7/F RSTCFG IAP_TPS AUXINTIF DPH1 CMPCR1 CMPCR2 ADCCFG T2H T2L SPSTAT SPCTL SPDAT IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR ADC_CONTR ADC_RES ADC_RESL IP2 IP2H IPH TA IE2 IRCBAND LIRTRIM IRTRIM TH1 AUXR INTCLKO WKTCH P_SW1 98H SCON SBUF 90H P1 P1M1 P1M0 88H TCON TMOD TL0 TL1 SP DPL DPH 80H TH0 PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 0/8 FEA8H 1/9 2/A 3/B 4/C 5/D 6/E 7/F I2CSLCR I2CSLST I2CSLADR I2CTxD I2CRxD ADCTIM FEA0H TM2PS FE88H I2CMSAUX FE80H I2CCFG I2CMSCR I2CMSST FE30H P1IE P3IE FE28H P1DR P3DR P5DR FE20H P1SR P3SR P5SR FE18H P1NCS P3NCS P5NCS FE10H P1PU P3PU P5PU FE00H CKSEL CLKDIV HIRCCR XOSCCR IRC32KCR MCLKOCR IRCDB FB68H TSTH12H TSTH12L TSTH13H TSTH13L TSTH14H TSTH14L TSTH15H TSTH15L FB60H TSTH08H TSTH08L TSTH09H TSTH09L TSTH10H TSTH10L TSTH11H TSTH11L FB58H TSTH04H TSTH04L TSTH05H TSTH05L TSTH06H TSTH06L TSTH07H TSTH07L FB50H TSTH00H TSTH00L TSTH01H TSTH01L TSTH02H TSTH02L TSTH03H TSTH03L FB48H TSRT TSDATH TSDATL FB40H TSCHEN1 TSCHEN2 TSCFG1 TSCFG2 TSWUTC TSCTRL TSSTA1 TSSTA2 FB28H COM0_DC_H COM1_DC_H COM2_DC_H COM3_DC_H COM4_DC_H COM5_DC_H COM6_DC_H COM7_DC_H FB20H COM0_DC_L COM1_DC_L COM2_DC_L COM3_DC_L COM4_DC_L COM5_DC_L COM6_DC_L COM7_DC_L FB18H COM0_DA_H COM1_DA_H COM2_DA_H COM3DA_H COM4_DA_H COM5_DA_H COM6_DA_H COM7_DA_H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 205 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com FB10H COM0_DA_L COM1_DA_L FB00H COMEN 深圳国芯人工智能有限公司 SEGENL 技术支持: 13922829991 COM2_DA_L COM3DA_L COM4_DA_L SEGENH LEDCTRL LEDCKS 国内分销商电话: 0513-5501 2928/2929/2966 选型顾问: 13922805190 COM5_DA_L COM6_DA_L COM7_DA_L 传真: 0513-5501 2926/2956/2947 - 206 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.7 STC15H2K64S4 系列 0/8 1/9 2/A 3/B 4/C CH CCAP0H CCAP1H CCAP2H PWMSET PCA_PWM0 PCA_PWM1 PCA_PWM2 CL CCAP0L CCAP1L CCAP2L DPS DPL1 F8H F0H B E8H 5/D 6/E 7/F PWMCFG45 RSTCFG PWMCFG01 PWMCFG23 IP3H AUXINTIF CMPCR1 CMPCR2 ADCCFG IP3 TL3 T2H T2L SPSTAT SPCTL SPDAT IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR ADC_CONTR ADC_RES ADC_RESL IAP_TPS E0H ACC D8H CCON CMOD CCAPM0 CCAPM1 CCAPM2 D0H PSW T4T3M TH4 TL4 TH3 C8H P5 P5M1 P5M0 C0H P4 WDT_CONTR IAP_DATA B8H IP SADEN P_SW2 B0H P3 P3M1 P3M0 P4M1 P4M0 IP2 IP2H IPH A8H IE SADDR WKTCL WKTCH S3CON S3BUF TA IE2 A0H P2 BUS_SPEED P_SW1 98H SCON SBUF S2CON S2BUF IRCBAND LIRTRIM IRTRIM 90H P1 P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 88H TCON TMOD TL0 TL1 TH0 TH1 AUXR 80H P0 SP DPL DPH S4CON S4BUF IAP_ADDRH DPH1 INTCLKO PCON 可位寻址 不可位寻址 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F MD3 MD2 MD1 MD0 MD5 MD4 ARCON OPCON FFE8H PWM27T1H PWM27T1L PWM27T2H PWM27T2L PWM27CR PWM27HLD FFE0H PWM26T1H PWM26T1L PWM26T2H PWM26T2L PWM26CR PWM26HLD FFD8H PWM25T1H PWM25T1L PWM25T2H PWM25T2L PWM25CR PWM25HLD FFD0H PWM24T1H PWM24T1L PWM24T2H PWM24T2L PWM24CR PWM24HLD FFC8H PWM23T1H PWM23T1L PWM23T2H PWM23T2L PWM31CR PWM23HLD FFC0H PWM22T1H PWM22T1L PWM22T2H PWM22T2L PWM22CR PWM22HLD FFB8H PWM21T1H PWM21T1L PWM21T2H PWM21T2L PWM21CR PWM21HLD FFB0H PWM20T1H PWM20T1L PWM20T2H PWM20T2L PWM20CR PWM20HLD PWM2CL PWM2CKS PWM2TADCH PWM2TADCL PWM2IF FF98H PWM17T1H PWM17T1L PWM17T2H PWM17T2L PWM17CR PWM17HLD FF90H PWM16T1H PWM16T1L PWM16T2H PWM16T2L PWM16CR PWM16HLD FF88H PWM15T1H PWM15T1L PWM15T2H PWM15T2L PWM15CR PWM15HLD FF80H PWM14T1H PWM14T1L PWM14T2H PWM14T2L PWM14CR PWM14HLD FF78H PWM13T1H PWM13T1L PWM13T2H PWM13T2L PWM31CR PWM13HLD FF70H PWM12T1H PWM12T1L PWM12T2H PWM12T2L PWM12CR PWM12HLD FF68H PWM11T1H PWM11T1L PWM11T2H PWM11T2L PWM11CR PWM11HLD FF60H PWM10T1H PWM10T1L PWM10T2H PWM10T2L PWM10CR PWM10HLD PWM1CL PWM1CKS FCF0H FFA0H FF50H PWM2CH PWM1CH 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 PWM1IF PWM2FDCR PWM1FDCR 传真: 0513-5501 2926/2956/2947 - 207 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 FF48H PWM07T1H PWM07T1L PWM07T2H PWM07T2L PWM07CR PWM07HLD FF40H PWM06T1H PWM06T1L PWM06T2H PWM06T2L PWM06CR PWM06HLD FF38H PWM05T1H PWM05T1L PWM05T2H PWM05T2L PWM05CR PWM05HLD FF30H PWM04T1H PWM04T1L PWM04T2H PWM04T2L PWM04CR PWM04HLD FF28H PWM03T1H PWM03T1L PWM03T2H PWM03T2L PWM31CR PWM03HLD FF20H PWM02T1H PWM02T1L PWM02T2H PWM02T2L PWM02CR PWM02HLD FF18H PWM01T1H PWM01T1L PWM01T2H PWM01T2L PWM01CR PWM01HLD FF10H PWM00T1H PWM00T1L PWM00T2H PWM00T2L PWM00CR PWM00HLD PWM0CL PWM0CKS PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR TM2PS TM3PS TM4PS I2CMSST I2CSLCR I2CSLST I2CSLADR I2CTxD FF00H PWM0CH FEA8H ADCTIM FEA0H FE88H I2CMSAUX FE80H I2CCFG I2CMSCR FE30H P0IE P1IE FE28H P0DR P1DR P2DR P3DR P4DR P5DR FE20H P0SR P1SR P2SR P3SR P4SR P5SR FE18H P0NCS P1NCS P2NCS P3NCS P4NCS P5NCS FE10H P0PU P1PU P2PU P3PU P4PU P5PU FE00H CKSEL CLKDIV HIRCCR XOSCCR IRC32KCR MCLKOCR FCE8H PWM57T1H PWM57T1L PWM57T2H PWM57T2L PWM57CR PWM57HLD FCE0H PWM56T1H PWM56T1L PWM56T2H PWM56T2L PWM56CR PWM56HLD FCD8H PWM55T1H PWM55T1L PWM55T2H PWM55T2L PWM55CR PWM55HLD FCD0H PWM54T1H PWM54T1L PWM54T2H PWM54T2L PWM54CR PWM54HLD FCC8H PWM53T1H PWM53T1L PWM53T2H PWM53T2L PWM31CR PWM53HLD FCC0H PWM52T1H PWM52T1L PWM52T2H PWM52T2L PWM52CR PWM52HLD FCB8H PWM51T1H PWM51T1L PWM51T2H PWM51T2L PWM51CR PWM51HLD FCB0H PWM50T1H PWM50T1L PWM50T2H PWM50T2L PWM50CR PWM50HLD PWM5CL PWM5CKS FC98H PWM47T1H PWM47T1L PWM47T2H PWM47T2L PWM47CR PWM47HLD FC90H PWM46T1H PWM46T1L PWM46T2H PWM46T2L PWM46CR PWM46HLD FC88H PWM45T1H PWM45T1L PWM45T2H PWM45T2L PWM45CR PWM45HLD FC80H PWM44T1H PWM44T1L PWM44T2H PWM44T2L PWM44CR PWM44HLD FC78H PWM43T1H PWM43T1L PWM43T2H PWM43T2L PWM31CR PWM43HLD FC70H PWM42T1H PWM42T1L PWM42T2H PWM42T2L PWM42CR PWM42HLD FC68H PWM41T1H PWM41T1L PWM41T2H PWM41T2L PWM41CR PWM41HLD FC60H PWM40T1H PWM40T1L PWM40T2H PWM40T2L PWM40CR PWM40HLD PWM4CL PWM4CKS PWM4TADCH PWM4TADCL PWM4IF FC48H PWM37T1H PWM37T1L PWM37T2H PWM37T2L PWM37CR PWM37HLD FC40H PWM36T1H PWM36T1L PWM36T2H PWM36T2L PWM36CR PWM36HLD FC38H PWM35T1H PWM35T1L PWM35T2H PWM35T2L PWM35CR PWM35HLD FC30H PWM34T1H PWM34T1L PWM34T2H PWM34T2L PWM34CR PWM34HLD FC28H PWM33T1H PWM33T1L PWM33T2H PWM33T2L PWM31CR PWM33HLD FC20H PWM32T1H PWM32T1L PWM32T2H PWM32T2L PWM32CR PWM32HLD FC18H PWM31T1H PWM31T1L PWM31T2H PWM31T2L PWM31CR PWM31HLD FCA0H FC50H PWM5CH PWM4CH 深圳国芯人工智能有限公司 PWM5IF 国内分销商电话: 0513-5501 2928/2929/2966 I2CRxD IRCDB PWM5FDCR PWM4FDCR 传真: 0513-5501 2926/2956/2947 - 208 - STC8G 系列技术手册 FC10H PWM30T1H FC00H PWM3CH 官方网站: www.STCMCUDATA.com PWM30T1L PWM30T2H PWM3CL PWM3CKS 深圳国芯人工智能有限公司 PWM30T2L 技术支持: 13922829991 PWM30CR 国内分销商电话: 0513-5501 2928/2929/2966 选型顾问: 13922805190 PWM30HLD PWM3IF PWM3FDCR 传真: 0513-5501 2926/2956/2947 - 209 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8.8 特殊功能寄存器列表 注意:寄存器地址能够被 8 整除的才可进行位寻址,不能被 8 整除的则不可位寻址。 STC8G 系列能进行位寻址的寄存器:P0(80H) 、TCON(88H)、P1(90H)、SCON(98H)、P2(A0H)、 IE(A8H)、P3(B0H)、IP(B8H)、P4(C0H)、P5(C8H)、PSW(D0H)、CCON(D8H)、ACC(E0H)、 P6(E8H)、B(F0H)、P7(F8H) 位地址与符号 符号 描述 复位值 地址 B7 B6 B5 B4 B3 B2 B1 B0 P07 P06 P05 P04 P03 P02 P01 P00 P0 P0 端口 80H SP 堆栈指针 81H 0000,0111 DPL 数据指针(低字节) 82H 0000,0000 DPH 数据指针(高字节) 83H 0000,0000 S4CON 串口 4 控制寄存器 84H S4BUF 串口 4 数据寄存器 85H PCON 电源控制寄存器 87H SMOD SMOD0 LVDF POF GF1 GF0 PD IDL 0011,0000 TCON 定时器控制寄存器 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0000,0000 TMOD 定时器模式寄存器 89H GATE C/T M1 M0 GATE C/T M1 M0 0000,0000 TL0 定时器 0 低 8 位寄存器 8AH 0000,0000 TL1 定时器 1 低 8 位寄存器 8BH 0000,0000 TH0 定时器 0 高 8 位寄存器 8CH 0000,0000 TH1 定时器 1 高 8 位寄存器 8DH 0000,0000 辅助寄存器 1 8EH T0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 EXTRAM S1ST2 0000,0001 中断与时钟输出控制 8FH - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO x000,x000 P1 端口 90H P17 P16 P15 P14 P13 P12 P11 P10 1111,1111 P1M1 P1 口配置寄存器 1 91H P17M1 P16M1 P15M1 P14M1 P13M1 P12M1 P11M1 P10M1 1111,1111 P1M0 P1 口配置寄存器 0 92H P17M0 P16M0 P15M0 P14M0 P13M0 P12M0 P11M0 P10M0 0000,0000 P0M1 P0 口配置寄存器 1 93H P07M1 P06M1 P05M1 P04M1 P03M1 P02M1 P01M1 P00M1 1111,1111 P0M0 P0 口配置寄存器 0 94H P07M0 P06M0 P05M0 P04M0 P03M0 P02M0 P01M0 P00M0 0000,0000 P2M1 P2 口配置寄存器 1 95H P27M1 P26M1 P25M1 P24M1 P23M1 P22M1 P21M1 P20M1 1111,1111 P2M0 P2 口配置寄存器 0 96H P27M0 P26M0 P25M0 P24M0 P23M0 P22M0 P21M0 P20M0 0000,0000 SCON 串口 1 控制寄存器 98H SM0/FE SM1 SM2 REN TB8 RB8 TI RI 0000,0000 SBUF 串口 1 数据寄存器 99H S2CON 串口 2 控制寄存器 9AH S2BUF 串口 2 数据寄存器 9BH IRCBAND IRC 频段选择检测 9DH - - - - - - - LIRTRIM IRC 频率微调寄存器 9EH - - - - - - LIRTRIM[1:0] IRTRIM IRC 频率调整寄存器 9FH P2 端口 A0H AUXR INTCLKO P1 P2 BUS_SPEED 总线速度控制寄存器 S4SM0 S4ST4 S4SM2 S4REN S4TB8 S4RB8 S4TI 1111,1111 S4RI 0000,0000 0000,0000 0000,0000 S2SM0 - S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI 0x00,0000 0000,0000 SEL IRTRIM[7:0] P27 P26 P25 P24 xxxx,xxxn xxxx,xxnn nnnn,nnnn P23 P22 P21 P20 A1H RW_S[1:0] 外设端口切换寄存器 1 A2H S1_S[1:0] 中断允许寄存器 A8H SADDR 串口 1 从机地址寄存器 A9H 0000,0000 WKTCL 掉电唤醒定时器低字节 AAH 1111,1111 P_SW1 IE 深圳国芯人工智能有限公司 EA ELVD SPEED[2:0] 1111,1111 CCP_S[1:0] EADC 国内分销商电话: 0513-5501 2928/2929/2966 ES SPI_S[1:0] ET1 EX1 00xx,x000 0 - nn00,000x ET0 EX0 0000,0000 传真: 0513-5501 2926/2956/2947 - 210 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 WKTCH 掉电唤醒定时器高字节 ABH WKTEN S3CON 串口 3 控制寄存器 ACH S3SM0 S3BUF 串口 3 数据寄存器 ADH 0000,0000 TA DPTR 时序控制寄存器 AEH 0000,0000 IE2 中断允许寄存器 2 AFH ETKSUI ET4 ET3 ES4 ES3 ET2 ESPI ES2 0000,0000 P3 P3 端口 B0H P37 P36 P35 P34 P33 P32 P31 P30 1111,1111 P3M1 P3 口配置寄存器 1 B1H P37M1 P36M1 P35M1 P34M1 P33M1 P32M1 P31M1 P30M1 1111,1100 P3M0 P3 口配置寄存器 0 B2H P37M0 P36M0 P35M0 P34M0 P33M0 P32M0 P31M0 P30M0 0000,0000 P4M1 P4 口配置寄存器 1 B3H P47M1 P46M1 P45M1 P44M1 P43M1 P42M1 P41M1 P40M1 1111,1111 P4M0 P4 口配置寄存器 0 B4H P47M0 P46M0 P45M0 P44M0 P43M0 P42M0 P41M0 P40M0 0000,0000 中断优先级控制寄存器 2 B5H PPWM2FD PI2C PCMP PX4 PPWM0FD PPWM0 PSPI PS2 0000,0000 PPWM2FDH PI2CH PCMPH PX4H PPWM0FDH PPWM0H PSPIH PS2H 0000,0000 IP2 0111,1111 S3ST4 S3SM2 S3REN S3TB8 S3RB8 S3TI S3RI 0000,0000 IP2H 高中断优先级控制寄存器 2 B6H IPH 高中断优先级控制寄存器 B7H PPCAH PLVDH PADCH PSH PT1H PX1H PT0H PX0H 0000,0000 中断优先级控制寄存器 B8H PPCA PLVD PADC PS PT1 PX1 PT0 PX0 0000,0000 IP SADEN 串口 1 从机地址屏蔽寄存器 B9H P_SW2 外设端口切换寄存器 2 ADC_CONTR ADC 控制寄存器 BAH 0000,0000 EAXFR - I2C_S[1:0] CMPO_S BCH ADC_POWER ADC_START ADC_FLAG ADC_EPWMT S4_S S3_S S2_S 0x00,0000 ADC_CHS[3:0] 0000,0000 ADC 转换结果高位寄存器 BDH 0000,0000 ADC_RESL ADC 转换结果低位寄存器 BEH 0000,0000 ADC_RES P4 P4 端口 WDT_CONTR 看门狗控制寄存器 IAP_DATA IAP 数据寄存器 C0H P47 P46 P45 P44 P43 C1H WDT_FLAG - EN_WDT CLR_WDT IDL_WDT P42 P41 P40 1111,1111 WDT_PS[2:0] 0xn0,nnnn 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 IAPEN SWBS SWRST CMD_FAIL - - - - 0000,xxxx P5 端口 C8H - - P55 P54 P53 P52 P51 P50 xx11,1111 P5M1 P5 口配置寄存器 1 C9H - - P55M1 P54M1 P53M1 P52M1 P51M1 P50M1 xx11,1111 P5M0 P5 口配置寄存器 0 CAH - - P55M0 P54M0 P53M0 P52M0 P51M0 P50M0 xx00,0000 SPSTAT SPI 状态寄存器 CDH SPIF WCOL - - - - - - 00xx,xxxx SPCTL SPI 控制寄存器 CEH SSIG SPEN DORD MSTR CPOL CPHA SPDAT SPI 数据寄存器 CFH 程序状态字寄存器 D0H CY AC F0 RS1 RS0 OV F1 P 0000,0000 定时器 4/3 控制寄存器 D1H T4R T4_C/T T4x12 T4CLKO T3R T3_C/T T3x12 T3CLKO 0000,0000 T4H 定时器 4 高字节 D2H 0000,0000 T4L 定时器 4 低字节 D3H 0000,0000 T3H 定时器 3 高字节 D4H 0000,0000 T3L 定时器 3 低字节 D5H 0000,0000 T2H 定时器 2 高字节 D6H 0000,0000 T2L 定时器 2 低字节 D7H 0000,0000 CCON PCA 控制寄存器 D8H CF CR - - CMOD PCA 模式寄存器 D9H CIDL - - - - ECOM0 CCAPP0 CCAPN0 P5 PSW T4T3M CCAPM0 PCA 模块 0 模式控制寄存器 DAH 深圳国芯人工智能有限公司 - - - - - - CMD[1:0] xxxx,xx00 0000,0000 SPR[1:0] 0000,0100 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 CCF3 CCF2 CCF1 CPS[2:0] MAT0 TOG0 PWM0 传真: 0513-5501 2926/2956/2947 CCF0 00xx,x000 ECF 0xxx,0000 ECCF0 x000,0000 - 211 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 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 ADCCFG ADC 配置寄存器 DEH - - RESFMT - 中断优先级控制寄存器 3 DFH PPWM4FD PPWM5 PPWM4 PPWM3 ACC 累加器 E0H DPS DPTR 指针选择器 E3H DPL1 第二组数据指针(低字节) E4H 0000,0000 DPH1 第二组数据指针(高字节) E5H 0000,0000 IP3 SPEED[3:0] PPWM2 PPWM1 xx0x,0000 PS4 PS3 0000,0000 0000,0000 ID1 ID0 TSL AU1 AU0 - - SEL 0000,0xx0 CMPCR1 比较器控制寄存器 1 E6H CMPEN CMPIF CMPCR2 比较器控制寄存器 2 E7H INVCMPO DISFLT CL PCA 计数器低字节 E9H 0000,0000 CCAP0L PCA 模块 0 低字节 EAH 0000,0000 CCAP1L PCA 模块 1 低字节 EBH 0000,0000 CCAP2L PCA 模块 2 低字节 ECH 0000,0000 IP3H AUXINTIF B PWMSET 高中断优先级控制寄存器 3 EEH 扩展外部中断标志寄存器 EFH B 寄存器 F0H 增强型 PWM 全局配置 F1H PIE NIE PIS NIS CMPOE CMPRES LCDTY[5:0] PPWM4FDH PPWM5H PPWM4H PPWM3H - INT4IF INT3IF INT2IF 0000,0000 PPWM2H PPWM1H - 0000,0000 PS4H PS3H 0000,0000 - T2IF x000,xxx0 - 0000,0000 ENGLBSET PWMRST ENPWM5 ENPWM4 ENPWM3 ENPWM2 ENPWM1 ENPWM0 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 IAP 等待时间控制寄存器 F5H - - PWMCFG01 增强型 PWM 配置寄存器 F6H PWM1CBIF EPWM1CBI FLTPS0 PWM1CEN PWM0CBIF EPWM0CBI ENPWM0TA PWM0CEN 0000,0000 PWMCFG23 增强型 PWM 配置寄存器 F7H PWM3CBIF EPWM3CBI FLTPS1 PWM3CEN PWM2CBIF EPWM2CBI ENPWM2TA PWM2CEN 0000,0000 IAP_TPS IAPTPS[5:0] xx00,0000 CH PCA 计数器高字节 F9H 0000,0000 CCAP0H PCA 模块 0 高字节 FAH 0000,0000 CCAP1H PCA 模块 1 高字节 FBH 0000,0000 CCAP2H PCA 模块 2 高字节 FCH 0000,0000 PWMCFG45 增强型 PWM 配置寄存器 RSTCFG 复位配置寄存器 FEH PWM5CBIF EPWM5CBI FLTPS2 PWM5CEN FFH - ENLVR - P54RST PWM4CBIF EPWM4CBI ENPWM4TA - - PWM4CEN LVDS[1:0] 0000,0000 xnxn,xxnn 下列特殊功能寄存器为扩展 SFR,逻辑地址位于 XDATA 区域,访问前需要将 P_SW2(BAH)寄存 器的最高位(EAXFR)置 1,然后使用 MOVX A,@DPTR 和 MOVX @DPTR,A 指令进行访问 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 - - - - - - B1 B0 CKSEL 时钟选择寄存器 FE00H CLKDIV 时钟分频寄存器 FE01H HIRCCR 内部高速振荡器控制寄存器 FE02H ENHIRC - - - - - - HIRCST XOSCCR 外部晶振控制寄存器 FE03H ENXOSC XITYPE - - - - - XOSCST 00xx,xxx0 IRC32KCR 内部 32K 振荡器控制寄存器 FE04H ENIRC32K - - - - - - IRC32KST 0xxx,xxx0 MCLKOCR 主时钟输出控制寄存器 FE05H MCLKO_S IRCDB 内部高速振荡器去抖控制 FE06H P0PU P0 口上拉电阻控制寄存器 FE10H 深圳国芯人工智能有限公司 MCKSEL[1:0] xxxx,xx00 nnnn,nnnn MCLKODIV[6:0] 0000,0000 1000,0000 IRCDB_PAR[7:0] P07PU P06PU P05PU 国内分销商电话: 0513-5501 2928/2929/2966 P04PU P03PU 1xxx,xxx0 P02PU P01PU P00PU 传真: 0513-5501 2926/2956/2947 0000,0000 - 212 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P1PU P1 口上拉电阻控制寄存器 FE11H P17PU P16PU P15PU P14PU P13PU P12PU P11PU P10PU 0000,0000 P2PU P2 口上拉电阻控制寄存器 FE12H P27PU P26PU P25PU P24PU P23PU P22PU P21PU P20PU 0000,0000 P3PU P3 口上拉电阻控制寄存器 FE13H P37PU P36PU P35PU P34PU P33PU P32PU P31PU P30PU 0000,0000 P4PU P4 口上拉电阻控制寄存器 FE14H P47PU P46PU P45PU P44PU P43PU P42PU P41PU P40PU 0000,0000 P5PU P5 口上拉电阻控制寄存器 FE15H - - P55PU P54PU P53PU P52PU P51PU P50PU xx00,0000 P0NCS P0 口施密特触发控制寄存器 FE18H P07NCS P06NCS P05NCS P04NCS P03NCS P02NCS P01NCS P00NCS 0000,0000 P1NCS P1 口施密特触发控制寄存器 FE19H P17NCS P16NCS P15NCS P14NCS P13NCS P12NCS P11NCS P10NCS 0000,0000 P2NCS P2 口施密特触发控制寄存器 FE1AH P27NCS P26NCS P25NCS P24NCS P23NCS P22NCS P21NCS P20NCS 0000,0000 P3NCS P3 口施密特触发控制寄存器 FE1BH P37NCS P36NCS P35NCS P34NCS P33NCS P32NCS P31NCS P30NCS 0000,0000 P4NCS P4 口施密特触发控制寄存器 FE1CH P47NCS P46NCS P45NCS P44NCS P43NCS P42NCS P41NCS P40NCS 0000,0000 P5NCS P5 口施密特触发控制寄存器 FE1DH - - P55NCS P54NCS P53NCS P52NCS P51NCS P50NCS xx00,0000 P0SR P0 口电平转换速率寄存器 FE20H P07SR P06SR P05SR P04SR P03SR P02SR P01SR P00SR 1111,1111 P1SR P1 口电平转换速率寄存器 FE21H P17SR P16SR P15SR P14SR P13SR P12SR P11SR P10SR 1111,1111 P2SR P2 口电平转换速率寄存器 FE22H P27SR P26SR P25SR P24SR P23SR P22SR P21SR P20SR 1111,1111 P3SR P3 口电平转换速率寄存器 FE23H P37SR P36SR P35SR P34SR P33SR P32SR P31SR P30SR 1111,1111 P4SR P4 口电平转换速率寄存器 FE24H P47SR P46SR P45SR P44SR P43SR P42SR P41SR P40SR 1111,1111 P5SR P5 口电平转换速率寄存器 FE25H - - P55SR P54SR P53SR P52SR P51SR P50SR xx11,1111 P0DR P0 口驱动电流控制寄存器 FE28H P07DR P06DR P05DR P04DR P03DR P02DR P01DR P00DR 1111,1111 P1DR P1 口驱动电流控制寄存器 FE29H P17DR P16DR P15DR P14DR P13DR P12DR P11DR P10DR 1111,1111 P2DR P2 口驱动电流控制寄存器 FE2AH P27DR P26DR P25DR P24DR P23DR P22DR P21DR P20DR 1111,1111 P3DR P3 口驱动电流控制寄存器 FE2BH P37DR P36DR P35DR P34DR P33DR P32DR P31DR P30DR 1111,1111 P4DR P4 口驱动电流控制寄存器 FE2CH P47DR P46DR P45DR P44DR P43DR P42DR P41DR P40DR 1111,1111 P5DR P5 口驱动电流控制寄存器 FE2DH - - P55DR P54DR P53DR P52DR P51DR P50DR xx00,0000 P0IE P0 口输入使能控制寄存器 FE30H P07IE P06IE P05IE P04IE P03IE P02IE P11IE P00IE 1111,1111 P1IE P1 口输入使能控制寄存器 FE31H P17IE P16IE P15IE P14IE P13IE P12IE P11IE P10IE 1111,1111 P3IE P3 口输入使能控制寄存器 FE33H P37IE P36IE P35IE P34IE P33IE P32IE P31IE P30IE 1111,1111 I2C 配置寄存器 FE80H ENI2C MSSL I2CMSCR I2C 主机控制寄存器 FE81H EMSI - - - I2CMSST I2C 主机状态寄存器 FE82H MSBUSY MSIF - - - - I2CSLCR I2C 从机控制寄存器 FE83H - ESTAI ERXI ETXI ESTOI - - I2CSLST I2C 从机状态寄存器 FE84H SLBUSY STAIF RXIF TXIF STOIF TXING SLACKI I2CSLADR I2C 从机地址寄存器 FE85H I2CTXD I2C 数据发送寄存器 FE86H 0000,0000 I2CRXD I2C 数据接收寄存器 FE87H 0000,0000 I C 主机辅助控制寄存器 FE88H TM2PS 定时器 2 时钟预分频寄存器 FEA2H 0000,0000 TM3PS 定时器 3 时钟预分频寄存器 FEA3H 0000,0000 TM4PS 定时器 4 时钟预分频寄存器 FEA4H 0000,0000 ADCTIM ADC 时序控制寄存器 FEA8H CSSETUP PWM0CH PWM0 计数器高字节 FF00H PWM0CL PWM0 计数器低字节 FF01H PWM0 时钟选择 FF02H - PWM0TADCH PWM0 触发 ADC 计数高字节 FF03H - PWM0TADCL PWM0 触发 ADC 计数低字节 FF04H I2CCFG I2CMSAUX PWM0CKS 2 深圳国芯人工智能有限公司 MSSPEED[6:1] 0000,0000 MSCMD[3:0] 0xxx,0000 MSACKI MSACKO 00xx,xx00 SLRST SLACKO 0000,0000 I2CSLADR[7:1] - - - - MA - CSHOLD[1:0] - - x000,0xx0 WDTA SMPDUTY[4:0] - 0000,0000 xxxx,xxx0 0010,1010 x000,0000 0000,0000 - - 国内分销商电话: 0513-5501 2928/2929/2966 SELT2 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 传真: 0513-5501 2926/2956/2947 - 213 - STC8G 系列技术手册 PWM0IF 官方网站: www.STCMCUDATA.com PWM0 中断标志寄存器 PWM0FDCR PWM0 异常检测控制寄存器 技术支持: 13922829991 FF05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FF06H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 - PWM00T1H PWM00T1 计数值高字节 FF10H PWM00T1L PWM00T1 计数值低字节 FF11H PWM00T2H PWM00T2 计数值高字节 FF12H PWM00T2L PWM00T2 计数值低字节 FF13H PWM00CR PWM00 控制寄存器 FF14H ENO INI - - FF15H - - - - - PWM00HLD PWM00 电平保持控制寄存器 x000,0000 0000,0000 - x000,0000 0000,0000 PWM01T1H PWM01T1 计数值高字节 FF18H PWM01T1L PWM01T1 计数值低字节 FF19H PWM01T2H PWM01T2 计数值高字节 FF1AH PWM01T2L PWM01T2 计数值低字节 FF1BH PWM01CR PWM01 控制寄存器 FF1CH ENO INI - - FF1DH - - - - - PWM01HLD PWM01 电平保持控制寄存器 FF21H PWM02T2H PWM02T2 计数值高字节 FF22H PWM02T2L PWM02T2 计数值低字节 FF23H PWM02CR PWM02 控制寄存器 FF24H ENO INI - - FF25H - - - - HLDH HLDL xxxx,xx00 - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM03T1H PWM03T1 计数值高字节 FF28H PWM03T1L PWM03T1 计数值低字节 FF29H PWM03T2H PWM03T2 计数值高字节 FF2AH PWM03T2L PWM03T2 计数值低字节 FF2BH PWM03CR PWM03 控制寄存器 FF2CH ENO INI - - FF2DH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM04T1H PWM04T1 计数值高字节 FF30H PWM04T1L PWM04T1 计数值低字节 FF31H PWM04T2H PWM04T2 计数值高字节 FF32H PWM04T2L PWM04T2 计数值低字节 FF33H PWM04CR PWM04 控制寄存器 FF34H ENO INI - - FF35H - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM05T1H PWM05T1 计数值高字节 FF38H PWM05T1L PWM05T1 计数值低字节 FF39H PWM05T2H PWM05T2 计数值高字节 FF3AH PWM05T2L PWM05T2 计数值低字节 FF3BH PWM05CR PWM05 控制寄存器 FF3CH ENO INI - - FF3DH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM06T1H PWM06T1 计数值高字节 FF40H PWM06T1L PWM06T1 计数值低字节 FF41H PWM06T2H PWM06T2 计数值高字节 FF42H PWM06T2L PWM06T2 计数值低字节 FF43H PWM06CR PWM06 控制寄存器 FF44H ENO INI - - FF45H - - - - 深圳国芯人工智能有限公司 - 0000,0000 PWM02T1 计数值低字节 PWM06HLD PWM06 电平保持控制寄存器 00xx,x000 x000,0000 PWM02T1L PWM05HLD PWM05 电平保持控制寄存器 ENT1I - FF20H PWM04HLD PWM04 电平保持控制寄存器 ENT2I 0000,0000 PWM02T1 计数值高字节 PWM03HLD PWM03 电平保持控制寄存器 - ENI x000,0000 PWM02T1H PWM02HLD PWM02 电平保持控制寄存器 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 传真: 0513-5501 2926/2956/2947 - 214 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM07T1H PWM07T1 计数值高字节 FF48H PWM07T1L PWM07T1 计数值低字节 FF49H PWM07T2H PWM07T2 计数值高字节 FF4AH PWM07T2L PWM07T2 计数值低字节 FF4BH PWM07CR PWM07 控制寄存器 FF4CH ENO INI - - FF4DH - - - - - PWM07HLD PWM07 电平保持控制寄存器 选型顾问: 13922805190 - x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 PWM1CH PWM1 计数器高字节 FF50H PWM1CL PWM1 计数器低字节 FF51H PWM1 时钟选择 FF52H - - - SELT2 PWM1 中断标志寄存器 FF55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FF56H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 - PWM1CKS PWM1IF PWM1FDCR PWM1 异常检测控制寄存器 x000,0000 0000,0000 PWM10T1H PWM10T1 计数值高字节 FF60H PWM10T1L PWM10T1 计数值低字节 FF61H PWM10T2H PWM10T2 计数值高字节 FF62H PWM10T2L PWM10T2 计数值低字节 FF63H PWM10CR PWM10 控制寄存器 FF64H ENO INI - - FF65H - - - - - PWM10HLD PWM10 电平保持控制寄存器 0000,0000 - x000,0000 0000,0000 PWM11T1 计数值高字节 FF68H PWM11T1L PWM11T1 计数值低字节 FF69H PWM11T2H PWM11T2 计数值高字节 FF6AH PWM11T2L PWM11T2 计数值低字节 FF6BH PWM11CR PWM11 控制寄存器 FF6CH ENO INI - - PWM11HLD PWM11 电平保持控制寄存器 FF6DH - - - - PWM12T1H PWM12T1 计数值高字节 FF70H - PWM12T1L PWM12T1 计数值低字节 FF71H PWM12T2H PWM12T2 计数值高字节 FF72H PWM12T2L PWM12T2 计数值低字节 FF73H PWM12CR PWM12 控制寄存器 FF74H ENO INI - - FF75H - - - - - PWM13T2 计数值低字节 FF7BH PWM13CR PWM13 控制寄存器 FF7CH ENO INI - - FF7DH - - - - 00xx,x000 - HLDH HLDL xxxx,xx00 - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 0000,0000 - x000,0000 0000,0000 PWM14T1 计数值高字节 FF80H PWM14T1L PWM14T1 计数值低字节 FF81H PWM14T2H PWM14T2 计数值高字节 FF82H PWM14T2L PWM14T2 计数值低字节 FF83H PWM14CR PWM14 控制寄存器 FF84H ENO INI - - FF85H - - - - - 深圳国芯人工智能有限公司 ENT1I x000,0000 PWM14T1H FF8AH ENT2I 0000,0000 PWM13T2L PWM15T2 计数值高字节 - ENI x000,0000 FF7AH PWM15T2H xxxx,xx00 - PWM13T2 计数值高字节 FF89H HLDL 0000,0000 PWM13T2H PWM15T1 计数值低字节 HLDH x000,0000 FF79H PWM15T1L - 0000,0000 PWM13T1 计数值低字节 FF88H 00xx,x000 x000,0000 PWM13T1L PWM15T1 计数值高字节 ENT1I - FF78H PWM15T1H ENT2I 0000,0000 PWM13T1 计数值高字节 PWM14HLD PWM14 电平保持控制寄存器 - ENI x000,0000 PWM13T1H PWM13HLD PWM13 电平保持控制寄存器 xxx0,0000 x000,0000 PWM11T1H PWM12HLD PWM12 电平保持控制寄存器 PWM_PS[3:0] - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - 国内分销商电话: 0513-5501 2928/2929/2966 x000,0000 传真: 0513-5501 2926/2956/2947 - 215 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM15T2L PWM15T2 计数值低字节 FF8BH PWM15CR PWM15 控制寄存器 FF8CH ENO INI - - FF8DH - - - - - PWM15HLD PWM15 电平保持控制寄存器 0000,0000 PWM16T1H PWM16T1 计数值高字节 FF90H PWM16T1L PWM16T1 计数值低字节 FF91H PWM16T2H PWM16T2 计数值高字节 FF92H PWM16T2L PWM16T2 计数值低字节 FF93H PWM16CR PWM16 控制寄存器 FF94H ENO INI - - FF95H - - - - - PWM16HLD PWM16 电平保持控制寄存器 FF99H PWM17T2H PWM17T2 计数值高字节 FF9AH PWM17T2L PWM17T2 计数值低字节 FF9BH PWM17CR PWM17 控制寄存器 FF9CH ENO INI - - FF9DH - - - - - PWM2CL PWM2 计数器低字节 FFA1H PWM2 时钟选择 FFA2H - PWM2TADCH PWM2 触发 ADC 计数高字节 FFA3H - PWM2TADCL PWM2 触发 ADC 计数低字节 FFA4H - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 x000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - - SELT2 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 FFA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FFA6H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 - PWM20T1H PWM20T1 计数值高字节 FFB0H PWM20T1L PWM20T1 计数值低字节 FFB1H PWM20T2H PWM20T2 计数值高字节 FFB2H PWM20T2L PWM20T2 计数值低字节 FFB3H PWM20CR PWM20 控制寄存器 FFB4H ENO INI - - FFB5H - - - - - x000,0000 0000,0000 - x000,0000 0000,0000 PWM21T1H PWM21T1 计数值高字节 FFB8H PWM21T1L PWM21T1 计数值低字节 FFB9H PWM21T2H PWM21T2 计数值高字节 FFBAH PWM21T2L PWM21T2 计数值低字节 FFBBH PWM21CR PWM21 控制寄存器 FFBCH ENO INI - - FFBDH - - - - - FFC1H PWM22T2H PWM22T2 计数值高字节 FFC2H PWM22T2L PWM22T2 计数值低字节 FFC3H PWM22CR PWM22 控制寄存器 FFC4H ENO INI - - FFC5H - - - - - PWM23T1 计数值低字节 FFC9H PWM23T2H PWM23T2 计数值高字节 FFCAH PWM23T2L PWM23T2 计数值低字节 FFCBH - HLDH HLDL xxxx,xx00 0000,0000 PWM22T1 计数值低字节 PWM23T1L 00xx,x000 x000,0000 PWM22T1L FFC8H ENT1I - FFC0H PWM23T1 计数值高字节 ENT2I 0000,0000 PWM22T1 计数值高字节 PWM23T1H - ENI x000,0000 PWM22T1H 深圳国芯人工智能有限公司 xxxx,xx00 0000,0000 FFA0H PWM22HLD PWM22 电平保持控制寄存器 HLDL - PWM2 计数器高字节 PWM21HLD PWM21 电平保持控制寄存器 HLDH 0000,0000 PWM2CH PWM20HLD PWM20 电平保持控制寄存器 - 0000,0000 PWM17T1 计数值低字节 PWM2FDCR PWM2 异常检测控制寄存器 00xx,x000 x000,0000 PWM17T1L PWM2 中断标志寄存器 ENT1I - FF98H PWM2IF ENT2I 0000,0000 PWM17T1 计数值高字节 PWM2CKS - ENI x000,0000 PWM17T1H PWM17HLD PWM17 电平保持控制寄存器 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - 国内分销商电话: 0513-5501 2928/2929/2966 x000,0000 0000,0000 传真: 0513-5501 2926/2956/2947 - 216 - STC8G 系列技术手册 PWM23CR 官方网站: www.STCMCUDATA.com PWM23 控制寄存器 PWM23HLD PWM23 电平保持控制寄存器 技术支持: 13922829991 FFCCH ENO INI - - FFCDH - - - - - PWM24T1H PWM24T1 计数值高字节 FFD0H PWM24T1L PWM24T1 计数值低字节 FFD1H PWM24T2H PWM24T2 计数值高字节 FFD2H PWM24T2L PWM24T2 计数值低字节 FFD3H PWM24CR PWM24 控制寄存器 FFD4H ENO INI - - FFD5H - - - - - PWM24HLD PWM24 电平保持控制寄存器 ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 - x000,0000 0000,0000 FFD8H PWM25T1L PWM25T1 计数值低字节 FFD9H PWM25T2H PWM25T2 计数值高字节 FFDAH PWM25T2L PWM25T2 计数值低字节 FFDBH PWM25CR PWM25 控制寄存器 FFDCH ENO INI - - FFDDH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM26T1H PWM26T1 计数值高字节 FFE0H PWM26T1L PWM26T1 计数值低字节 FFE1H PWM26T2H PWM26T2 计数值高字节 FFE2H PWM26T2L PWM26T2 计数值低字节 FFE3H PWM26CR PWM26 控制寄存器 FFE4H ENO INI - - FFE5H - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM27T1H PWM27T1 计数值高字节 FFE8H PWM27T1L PWM27T1 计数值低字节 FFE9H PWM27T2H PWM27T2 计数值高字节 FFEAH PWM27T2L PWM27T2 计数值低字节 FFEBH PWM27CR PWM27 控制寄存器 FFECH ENO INI - - FFEDH - - - - - PWM27HLD PWM27 电平保持控制寄存器 ENT2I 0000,0000 PWM25T1 计数值高字节 PWM26HLD PWM26 电平保持控制寄存器 ENI x000,0000 PWM25T1H PWM25HLD PWM25 电平保持控制寄存器 - 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 PWM3CH PWM3 计数器高字节 FC00H PWM3CL PWM3 计数器低字节 FC01H PWM3 时钟选择 FC02H - - - SELT2 PWM3 中断标志寄存器 FC05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FC06H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 - PWM3CKS PWM3IF PWM3FDCR PWM3 异常检测控制寄存器 x000,0000 0000,0000 PWM30T1H PWM30T1 计数值高字节 FC10H PWM30T1L PWM30T1 计数值低字节 FC11H PWM30T2H PWM30T2 计数值高字节 FC12H PWM30T2L PWM30T2 计数值低字节 FC13H PWM30CR PWM30 控制寄存器 FC14H ENO INI - - FC15H - - - - - PWM30HLD PWM30 电平保持控制寄存器 0000,0000 - x000,0000 0000,0000 PWM31T1 计数值高字节 FC18H PWM31T1L PWM31T1 计数值低字节 FC19H PWM31T2H PWM31T2 计数值高字节 FC1AH PWM31T2L PWM31T2 计数值低字节 FC1BH PWM31CR PWM31 控制寄存器 FC1CH ENO INI - - FC1DH - - - - FC20H - PWM32T1H PWM32T1 计数值高字节 深圳国芯人工智能有限公司 xxx0,0000 x000,0000 PWM31T1H PWM31HLD PWM31 电平保持控制寄存器 PWM_PS[3:0] - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 传真: 0513-5501 2926/2956/2947 - 217 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM32T1L PWM32T1 计数值低字节 FC21H PWM32T2H PWM32T2 计数值高字节 FC22H PWM32T2L PWM32T2 计数值低字节 FC23H PWM32CR PWM32 控制寄存器 FC24H ENO INI - - FC25H - - - - - PWM32HLD PWM32 电平保持控制寄存器 0000,0000 - x000,0000 0000,0000 PWM33T1H PWM33T1 计数值高字节 FC28H PWM33T1L PWM33T1 计数值低字节 FC29H PWM33T2H PWM33T2 计数值高字节 FC2AH PWM33T2L PWM33T2 计数值低字节 FC2BH PWM33CR PWM33 控制寄存器 FC2CH ENO INI - - FC2DH - - - - - PWM33HLD PWM33 电平保持控制寄存器 FC31H PWM34T2H PWM34T2 计数值高字节 FC32H PWM34T2L PWM34T2 计数值低字节 FC33H PWM34CR PWM34 控制寄存器 FC34H ENO INI - - FC35H - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 PWM35T1L PWM35T1 计数值低字节 FC39H PWM35T2H PWM35T2 计数值高字节 FC3AH PWM35T2L PWM35T2 计数值低字节 FC3BH PWM35CR PWM35 控制寄存器 FC3CH ENO INI - - FC3DH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM36T1H PWM36T1 计数值高字节 FC40H PWM36T1L PWM36T1 计数值低字节 FC41H PWM36T2H PWM36T2 计数值高字节 FC42H PWM36T2L PWM36T2 计数值低字节 FC43H PWM36CR PWM36 控制寄存器 FC44H ENO INI - - FC45H - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM37T1H PWM37T1 计数值高字节 FC48H PWM37T1L PWM37T1 计数值低字节 FC49H PWM37T2H PWM37T2 计数值高字节 FC4AH PWM37T2L PWM37T2 计数值低字节 FC4BH PWM37CR PWM37 控制寄存器 FC4CH ENO INI - - FC4DH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM4CH PWM4 计数器高字节 FC50H PWM4CL PWM4 计数器低字节 FC51H PWM4 时钟选择 FC52H - PWM4TADCH PWM4 触发 ADC 计数高字节 FC53H - PWM4TADCL PWM4 触发 ADC 计数低字节 FC54H - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - - SELT2 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 FC55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FC56H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 - PWM40T1H PWM40T1 计数值高字节 FC60H PWM40T1L PWM40T1 计数值低字节 FC61H 深圳国芯人工智能有限公司 xxxx,xx00 - FC38H PWM4FDCR PWM4 异常检测控制寄存器 HLDL 0000,0000 PWM35T1 计数值高字节 PWM4 中断标志寄存器 HLDH x000,0000 PWM35T1H PWM4IF - 0000,0000 PWM34T1 计数值低字节 PWM4CKS 00xx,x000 x000,0000 PWM34T1L PWM37HLD PWM37 电平保持控制寄存器 ENT1I - FC30H PWM36HLD PWM36 电平保持控制寄存器 ENT2I 0000,0000 PWM34T1 计数值高字节 PWM35HLD PWM35 电平保持控制寄存器 - ENI x000,0000 PWM34T1H PWM34HLD PWM34 电平保持控制寄存器 选型顾问: 13922805190 国内分销商电话: 0513-5501 2928/2929/2966 x000,0000 0000,0000 传真: 0513-5501 2926/2956/2947 - 218 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM40T2H PWM40T2 计数值高字节 FC62H PWM40T2L PWM40T2 计数值低字节 FC63H PWM40CR PWM40 控制寄存器 FC64H ENO INI - - FC65H - - - - - PWM40HLD PWM40 电平保持控制寄存器 - x000,0000 0000,0000 PWM41T1H PWM41T1 计数值高字节 FC68H PWM41T1L PWM41T1 计数值低字节 FC69H PWM41T2H PWM41T2 计数值高字节 FC6AH PWM41T2L PWM41T2 计数值低字节 FC6BH PWM41CR PWM41 控制寄存器 FC6CH ENO INI - - FC6DH - - - - - PWM41HLD PWM41 电平保持控制寄存器 FC71H PWM42T2H PWM42T2 计数值高字节 FC72H PWM42T2L PWM42T2 计数值低字节 FC73H PWM42CR PWM42 控制寄存器 FC74H ENO INI - - FC75H - - - - - FC79H PWM43T2H PWM43T2 计数值高字节 FC7AH PWM43T2L PWM43T2 计数值低字节 FC7BH PWM43CR PWM43 控制寄存器 FC7CH ENO INI - - FC7DH - - - - - FC81H PWM44T2H PWM44T2 计数值高字节 FC82H PWM44T2L PWM44T2 计数值低字节 FC83H PWM44CR PWM44 控制寄存器 FC84H ENO INI - - FC85H - - - - ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 - x000,0000 0000,0000 FC88H PWM45T1L PWM45T1 计数值低字节 FC89H PWM45T2H PWM45T2 计数值高字节 FC8AH PWM45T2L PWM45T2 计数值低字节 FC8BH PWM45CR PWM45 控制寄存器 FC8CH ENO INI - - FC8DH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM46T1H PWM46T1 计数值高字节 FC90H PWM46T1L PWM46T1 计数值低字节 FC91H PWM46T2H PWM46T2 计数值高字节 FC92H PWM46T2L PWM46T2 计数值低字节 FC93H PWM46CR PWM46 控制寄存器 FC94H ENO INI - - FC95H - - - - - 深圳国芯人工智能有限公司 - ENI 0000,0000 PWM45T1 计数值高字节 FC9BH xxxx,xx00 x000,0000 PWM45T1H PWM47T2 计数值低字节 HLDL 0000,0000 PWM44T1 计数值低字节 PWM47T2L HLDH x000,0000 PWM44T1L FC9AH - - FC80H PWM47T2 计数值高字节 00xx,x000 0000,0000 PWM44T1 计数值高字节 PWM47T2H ENT1I x000,0000 PWM44T1H FC99H ENT2I 0000,0000 PWM43T1 计数值低字节 PWM47T1 计数值低字节 - ENI x000,0000 PWM43T1L PWM47T1L xxxx,xx00 - FC78H FC98H HLDL 0000,0000 PWM43T1 计数值高字节 PWM47T1 计数值高字节 HLDH x000,0000 PWM43T1H PWM47T1H - 0000,0000 PWM42T1 计数值低字节 PWM46HLD PWM46 电平保持控制寄存器 00xx,x000 x000,0000 PWM42T1L PWM45HLD PWM45 电平保持控制寄存器 ENT1I - FC70H PWM44HLD PWM44 电平保持控制寄存器 ENT2I 0000,0000 PWM42T1 计数值高字节 PWM43HLD PWM43 电平保持控制寄存器 - ENI x000,0000 PWM42T1H PWM42HLD PWM42 电平保持控制寄存器 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - 国内分销商电话: 0513-5501 2928/2929/2966 x000,0000 0000,0000 传真: 0513-5501 2926/2956/2947 - 219 - STC8G 系列技术手册 PWM47CR 官方网站: www.STCMCUDATA.com PWM47 控制寄存器 PWM47HLD PWM47 电平保持控制寄存器 技术支持: 13922829991 FC9CH ENO INI - - FC9DH - - - - - - 选型顾问: 13922805190 ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 PWM5CH PWM5 计数器高字节 FCA0H PWM5CL PWM5 计数器低字节 FCA1H PWM5 时钟选择 FCA2H - - - SELT2 PWM5 中断标志寄存器 FCA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FCA6H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 - PWM5CKS PWM5IF PWM5FDCR PWM5 异常检测控制寄存器 x000,0000 0000,0000 PWM50T1H PWM50T1 计数值高字节 FCB0H PWM50T1L PWM50T1 计数值低字节 FCB1H PWM50T2H PWM50T2 计数值高字节 FCB2H PWM50T2L PWM50T2 计数值低字节 FCB3H PWM50CR PWM50 控制寄存器 FCB4H ENO INI - - FCB5H - - - - - PWM50HLD PWM50 电平保持控制寄存器 0000,0000 - x000,0000 0000,0000 PWM51T1 计数值高字节 FCB8H PWM51T1L PWM51T1 计数值低字节 FCB9H PWM51T2H PWM51T2 计数值高字节 FCBAH PWM51T2L PWM51T2 计数值低字节 FCBBH PWM51CR PWM51 控制寄存器 FCBCH ENO INI - - FCBDH - - - - - FCC1H PWM52T2H PWM52T2 计数值高字节 FCC2H PWM52T2L PWM52T2 计数值低字节 FCC3H PWM52CR PWM52 控制寄存器 FCC4H ENO INI - - FCC5H - - - - HLDL xxxx,xx00 - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 0000,0000 - x000,0000 0000,0000 PWM53T1 计数值高字节 FCC8H PWM53T1L PWM53T1 计数值低字节 FCC9H PWM53T2H PWM53T2 计数值高字节 FCCAH PWM53T2L PWM53T2 计数值低字节 FCCBH PWM53CR PWM53 控制寄存器 FCCCH ENO INI - - FCCDH - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM54T1H PWM54T1 计数值高字节 FCD0H PWM54T1L PWM54T1 计数值低字节 FCD1H PWM54T2H PWM54T2 计数值高字节 FCD2H PWM54T2L PWM54T2 计数值低字节 FCD3H PWM54CR PWM54 控制寄存器 FCD4H ENO INI - - FCD5H - - - - - - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 PWM55T1H PWM55T1 计数值高字节 FCD8H PWM55T1L PWM55T1 计数值低字节 FCD9H PWM55T2H PWM55T2 计数值高字节 FCDAH PWM55T2L PWM55T2 计数值低字节 FCDBH PWM55CR PWM55 控制寄存器 FCDCH ENO INI - - FCDDH - - - - FCE0H - 深圳国芯人工智能有限公司 HLDH x000,0000 PWM53T1H PWM56T1 计数值高字节 - 0000,0000 PWM52T1 计数值低字节 PWM56T1H 00xx,x000 x000,0000 PWM52T1L PWM55HLD PWM55 电平保持控制寄存器 ENT1I - FCC0H PWM54HLD PWM54 电平保持控制寄存器 ENT2I 0000,0000 PWM52T1 计数值高字节 PWM53HLD PWM53 电平保持控制寄存器 - ENI x000,0000 PWM52T1H PWM52HLD PWM52 电平保持控制寄存器 xxx0,0000 x000,0000 PWM51T1H PWM51HLD PWM51 电平保持控制寄存器 PWM_PS[3:0] - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 传真: 0513-5501 2926/2956/2947 - 220 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM56T1L PWM56T1 计数值低字节 FCE1H PWM56T2H PWM56T2 计数值高字节 FCE2H PWM56T2L PWM56T2 计数值低字节 FCE3H PWM56CR PWM56 控制寄存器 FCE4H ENO INI - - FCE5H - - - - - PWM56HLD PWM56 电平保持控制寄存器 0000,0000 - x000,0000 0000,0000 PWM57T1H PWM57T1 计数值高字节 FCE8H PWM57T1L PWM57T1 计数值低字节 FCE9H PWM57T2H PWM57T2 计数值高字节 FCEAH PWM57T2L PWM57T2 计数值低字节 FCEBH PWM57CR PWM57 控制寄存器 FCECH ENO INI - - FCEDH - - - - PWM57HLD PWM57 电平保持控制寄存器 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 MD3 MDU 数据寄存器 FCF0H MD3[7:0] 0000,0000 MD2 MDU 数据寄存器 FCF1H MD2[7:0] 0000,0000 MD1 MDU 数据寄存器 FCF2H MD1[7:0] 0000,0000 MD0 MDU 数据寄存器 FCF3H MD0[7:0] 0000,0000 MD5 MDU 数据寄存器 FCF4H MD5[7:0] 0000,0000 MD4 MDU 数据寄存器 FCF5H MD4[7:0] 0000,0000 ARCON MDU 模式控制寄存器 FCF6H OPCON MDU 操作控制寄存器 FCF7H - MDOV - - - - RST ENOP x0xx,xx00 COMEN COM 使能寄存器 FB00H C7EN C6EN C5EN C4EN C3EN C2EN C1EN C0EN 0000,0000 SEGENL SEG 使能寄存器 FB01H S7EN S6EN S5EN S4EN S3EN S2EN S1EN S0EN 0000,0000 SEGENH SEG 使能寄存器 FB02H S15EN S14EN S13EN S12EN S11EN S10EN S9EN S8EN 0000,0000 LEDCTRL LED 控制寄存器 FB03H LEDON - LED 时钟分频寄存器 FB04H 0000,0001 COM0_DA_L 共阳模式显示数据 FB10H 0000,0000 COM1_DA_L 共阳模式显示数据 FB11H 0000,0000 COM2_DA_L 共阳模式显示数据 FB12H 0000,0000 COM3_DA_L 共阳模式显示数据 FB13H 0000,0000 COM4_DA_L 共阳模式显示数据 FB14H 0000,0000 COM5_DA_L 共阳模式显示数据 FB15H 0000,0000 COM6_DA_L 共阳模式显示数据 FB16H 0000,0000 COM7_DA_L 共阳模式显示数据 FB17H 0000,0000 COM0_DA_H 共阳模式显示数据 FB18H 0000,0000 COM1_DA_H 共阳模式显示数据 FB19H 0000,0000 COM2_DA_H 共阳模式显示数据 FB1AH 0000,0000 COM3_DA_H 共阳模式显示数据 FB1BH 0000,0000 COM4_DA_H 共阳模式显示数据 FB1CH 0000,0000 COM5_DA_H 共阳模式显示数据 FB1DH 0000,0000 COM6_DA_H 共阳模式显示数据 FB1EH 0000,0000 COM7_DA_H 共阳模式显示数据 FB1FH 0000,0000 COM0_DC_L 共阴模式显示数据 FB20H 0000,0000 COM1_DC_L 共阴模式显示数据 FB21H 0000,0000 COM2_DC_L 共阴模式显示数据 FB22H 0000,0000 COM3_DC_L 共阴模式显示数据 FB23H 0000,0000 LEDCKS 深圳国芯人工智能有限公司 MODE[2:0] SC[4:0] LEDMODE[1:0] 国内分销商电话: 0513-5501 2928/2929/2966 - 0000,0000 LEDDUTY[2:0] 传真: 0513-5501 2926/2956/2947 0x00,x000 - 221 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 COM4_DC_L 共阴模式显示数据 FB24H 0000,0000 COM5_DC_L 共阴模式显示数据 FB25H 0000,0000 COM6_DC_L 共阴模式显示数据 FB26H 0000,0000 COM7_DC_L 共阴模式显示数据 FB27H 0000,0000 COM0_DC_H 共阴模式显示数据 FB28H 0000,0000 COM1_DC_H 共阴模式显示数据 FB29H 0000,0000 COM2_DC_H 共阴模式显示数据 FB2AH 0000,0000 COM3_DC_H 共阴模式显示数据 FB2BH 0000,0000 COM4_DC_H 共阴模式显示数据 FB2CH 0000,0000 COM5_DC_H 共阴模式显示数据 FB2DH 0000,0000 COM6_DC_H 共阴模式显示数据 FB2EH 0000,0000 COM7_DC_H 共阴模式显示数据 FB2FH 0000,0000 TSCHEN1 触摸按键使能寄存器 1 FB40H TKEN7 TKEN6 TKEN5 TKEN2 TKEN1 TKEN0 0000,0000 TSCHEN2 触摸按键使能寄存器 2 FB41H TKEN15 TKEN14 TKEN13 TKEN12 TKEN11 TKEN10 TKEN9 TKEN8 0000,0000 TSCFG1 触摸按键配置寄存器 1 FB42H - SCR[2:0] DT[2:0] TSCFG2 触摸按键配置寄存器 2 FB43H - TSWUTC 触摸按键唤醒控制寄存器 FB44H TSCTRL 触摸按键控制寄存器 FB45H TSGO SINGLE TSWAIT TSSTA1 触摸按键状态寄存器 1 FB46H LEDWK - - - TSWKCHN[3:0] 0xxx,0000 TSSTA2 触摸按键状态寄存器 2 FB47H TSIF TSDOV - - TSDNCHN[3:0] 00xx,0000 触摸按键时间控制寄存器 FB48H 0000,0001 TSDATH 触摸按键数据高字节 FB49H 0000,0000 TSDATL 触摸按键数据低字节 FB4AH 0000,0000 TSTH00H 触摸按键 0 门槛值高字节 FB50H 0000,0000 TSTH00L 触摸按键 0 门槛值低字节 FB51H 0000,0000 TSTH01H 触摸按键 1 门槛值高字节 FB52H 0000,0000 TSTH01L 触摸按键 1 门槛值低字节 FB53H 0000,0000 TSTH02H 触摸按键 2 门槛值高字节 FB54H 0000,0000 TSTH02L 触摸按键 2 门槛值低字节 FB55H 0000,0000 TSTH03H 触摸按键 3 门槛值高字节 FB56H 0000,0000 TSTH03L 触摸按键 3 门槛值低字节 FB57H 0000,0000 TSTH04H 触摸按键 4 门槛值高字节 FB58H 0000,0000 TSTH04L 触摸按键 4 门槛值低字节 FB59H 0000,0000 TSTH05H 触摸按键 5 门槛值高字节 FB5AH 0000,0000 TSTH05L 触摸按键 5 门槛值低字节 FB5BH 0000,0000 TSTH06H 触摸按键 6 门槛值高字节 FB5CH 0000,0000 TSTH06L 触摸按键 6 门槛值低字节 FB5DH 0000,0000 TSTH07H 触摸按键 7 门槛值高字节 FB5EH 0000,0000 TSTH07L 触摸按键 7 门槛值低字节 FB5FH 0000,0000 TSTH08H 触摸按键 8 门槛值高字节 FB60H 0000,0000 TSTH08L 触摸按键 8 门槛值低字节 FB61H 0000,0000 TSTH09H 触摸按键 9 门槛值高字节 FB62H 0000,0000 TSTH09L 触摸按键 9 门槛值低字节 FB63H 0000,0000 TSTH10H 触摸按键 10 门槛值高字节 FB64H 0000,0000 TSRT 深圳国芯人工智能有限公司 - TKEN4 TKEN3 - - - - - TSVR[1:0] x000,0000 xxxx,xx00 0000,0001 TSWUCS TSDCEN TSWUEN 国内分销商电话: 0513-5501 2928/2929/2966 TSSAMP[1:0] 传真: 0513-5501 2926/2956/2947 0000,0000 - 222 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 TSTH10L 触摸按键 10 门槛值低字节 FB65H 0000,0000 TSTH11H 触摸按键 11 门槛值高字节 FB66H 0000,0000 TSTH11L 触摸按键 11 门槛值低字节 FB67H 0000,0000 TSTH12H 触摸按键 12 门槛值高字节 FB68H 0000,0000 TSTH12L 触摸按键 12 门槛值低字节 FB69H 0000,0000 TSTH13H 触摸按键 13 门槛值高字节 FB6AH 0000,0000 TSTH13L 触摸按键 13 门槛值低字节 FB6BH 0000,0000 TSTH14H 触摸按键 14 门槛值高字节 FB6CH 0000,0000 TSTH14L 触摸按键 14 门槛值低字节 FB6DH 0000,0000 TSTH15H 触摸按键 15 门槛值高字节 FB6EH 0000,0000 TSTH15L 触摸按键 15 门槛值低字节 FB6FH 0000,0000 注:特殊功能寄存器初始值意义 0: 初始值为 0; 1: 初始值为 1; n: 初始值与 ISP 下载时的硬件选项有关; x: 不存在这个位,初始值不确定 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 223 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 9 I/O 口 产品线 最多 I/O 口数量 STC8G1K08 系列 18 STC8G1K08-8Pin 系列 6 STC8G1K08A 系列 6 STC8G2K64S4 系列 45 STC8G2K64S2 系列 45 STC8G1K08T 系列 16 STC15H2K64S4 系列 42 所有的 I/O 口均有 4 种工作模式:准双向口/弱上拉(标准 8051 输出口模式)、推挽输出/强上拉、高 阻输入(电流既不能流入也不能流出)、开漏输出。可使用软件对 I/O 口的工作模式进行容易配置。 注意:除 P3.0 和 P3.1 外,其余所有 I/O 口上电后的状态均为高阻输入状态,用户在使 用 I/O 口时必须先设置 I/O 口模式 9.1 I/O 口相关寄存器 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 P0 P0 端口 80H P07 P06 P05 P04 P03 P02 P01 P00 1111,1111 P1 P1 端口 90H P17 P16 P15 P14 P13 P12 P11 P10 1111,1111 P2 P2 端口 A0H P27 P26 P25 P24 P23 P22 P21 P20 1111,1111 P3 P3 端口 B0H P37 P36 P35 P34 P33 P32 P31 P30 1111,1111 P4 P4 端口 C0H P47 P46 P45 P44 P43 P42 P41 P40 1111,1111 P5 P5 端口 C8H - - P55 P54 P53 P52 P51 P50 xx11,1111 P0M1 P0 口配置寄存器 1 93H P07M1 P06M1 P05M1 P04M1 P03M1 P02M1 P01M1 P00M1 1111,1111 P0M0 P0 口配置寄存器 0 94H P07M0 P06M0 P05M0 P04M0 P03M0 P02M0 P01M0 P00M0 0000,0000 P1M1 P1 口配置寄存器 1 91H P17M1 P16M1 P15M1 P14M1 P13M1 P12M1 P11M1 P10M1 1111,1111 P1M0 P1 口配置寄存器 0 92H P17M0 P16M0 P15M0 P14M0 P13M0 P12M0 P11M0 P10M0 0000,0000 P2M1 P2 口配置寄存器 1 95H P27M1 P26M1 P25M1 P24M1 P23M1 P22M1 P21M1 P20M1 1111,1111 P2M0 P2 口配置寄存器 0 96H P27M0 P26M0 P25M0 P24M0 P23M0 P22M0 P21M0 P20M0 0000,0000 P3M1 P3 口配置寄存器 1 B1H P37M1 P36M1 P35M1 P34M1 P33M1 P32M1 P31M1 P30M1 n111,1100 P3M0 P3 口配置寄存器 0 B2H P37M0 P36M0 P35M0 P34M0 P33M0 P32M0 P31M0 P30M0 n000,0000 P4M1 P4 口配置寄存器 1 B3H P47M1 P46M1 P45M1 P44M1 P43M1 P42M1 P41M1 P40M1 1111,1111 P4M0 P4 口配置寄存器 0 B4H P47M0 P46M0 P45M0 P44M0 P43M0 P42M0 P41M0 P40M0 0000,0000 P5M1 P5 口配置寄存器 1 C9H - - P55M1 P54M1 P53M1 P52M1 P51M1 P50M1 xx11,1111 P5M0 P5 口配置寄存器 0 CAH - - P55M0 P54M0 P53M0 P52M0 P51M0 P50M0 xx00,0000 位地址与符号 符号 描述 B7 深圳国芯人工智能有限公司 复位值 地址 B6 B5 国内分销商电话: 0513-5501 2928/2929/2966 B4 B3 B2 B1 传真: 0513-5501 2926/2956/2947 B0 - 224 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P0PU P0 口上拉电阻控制寄存器 FE10H P07PU P06PU P05PU P04PU P03PU P02PU P01PU P00PU 0000,0000 P1PU P1 口上拉电阻控制寄存器 FE11H P17PU P16PU P15PU P14PU P13PU P12PU P11PU P10PU 0000,0000 P2PU P2 口上拉电阻控制寄存器 FE12H P27PU P26PU P25PU P24PU P23PU P22PU P21PU P20PU 0000,0000 P3PU P3 口上拉电阻控制寄存器 FE13H P37PU P36PU P35PU P34PU P33PU P32PU P31PU P30PU 0000,0000 P4PU P4 口上拉电阻控制寄存器 FE14H P47PU P46PU P45PU P44PU P43PU P42PU P41PU P40PU 0000,0000 P5PU P5 口上拉电阻控制寄存器 FE15H - - P55PU P54PU P53PU P52PU P51PU P50PU xx00,0000 P0NCS P0 口施密特触发控制寄存器 FE18H P07NCS P06NCS P05NCS P04NCS P03NCS P02NCS P01NCS P00NCS 0000,0000 P1NCS P1 口施密特触发控制寄存器 FE19H P17NCS P16NCS P15NCS P14NCS P13NCS P12NCS P11NCS P10NCS 0000,0000 P2NCS P2 口施密特触发控制寄存器 FE1AH P27NCS P26NCS P25NCS P24NCS P23NCS P22NCS P21NCS P20NCS 0000,0000 P3NCS P3 口施密特触发控制寄存器 FE1BH P37NCS P36NCS P35NCS P34NCS P33NCS P32NCS P31NCS P30NCS 0000,0000 P4NCS P4 口施密特触发控制寄存器 FE1CH P47NCS P46NCS P45NCS P44NCS P43NCS P42NCS P41NCS P40NCS 0000,0000 P5NCS P5 口施密特触发控制寄存器 FE1DH - - P55NCS P54NCS P53NCS P52NCS P51NCS P50NCS xx00,0000 P0SR P0 口电平转换速率寄存器 FE20H P07SR P06SR P05SR P04SR P03SR P02SR P01SR P00SR 1111,1111 P1SR P1 口电平转换速率寄存器 FE21H P17SR P16SR P15SR P14SR P13SR P12SR P11SR P10SR 1111,1111 P2SR P2 口电平转换速率寄存器 FE22H P27SR P26SR P25SR P24SR P23SR P22SR P21SR P20SR 1111,1111 P3SR P3 口电平转换速率寄存器 FE23H P37SR P36SR P35SR P34SR P33SR P32SR P31SR P30SR 1111,1111 P4SR P4 口电平转换速率寄存器 FE24H P47SR P46SR P45SR P44SR P43SR P42SR P41SR P40SR 1111,1111 P5SR P5 口电平转换速率寄存器 FE25H - - P55SR P54SR P53SR P52SR P51SR P50SR xx11,1111 P0DR P0 口驱动电流控制寄存器 FE28H P07DR P06DR P05DR P04DR P03DR P02DR P01DR P00DR 1111,1111 P1DR P1 口驱动电流控制寄存器 FE29H P17DR P16DR P15DR P14DR P13DR P12DR P11DR P10DR 1111,1111 P2DR P2 口驱动电流控制寄存器 FE2AH P27DR P26DR P25DR P24DR P23DR P22DR P21DR P20DR 1111,1111 P3DR P3 口驱动电流控制寄存器 FE2BH P37DR P36DR P35DR P34DR P33DR P32DR P31DR P30DR 1111,1111 P4DR P4 口驱动电流控制寄存器 FE2CH P47DR P46DR P45DR P44DR P43DR P42DR P41DR P40DR 1111,1111 P5DR P5 口驱动电流控制寄存器 FE2DH - - P55DR P54DR P53DR P52DR P51DR P50DR xx11,1111 P0IE P0 口输入使能控制寄存器 FE30H P07IE P06IE P05IE P04IE P03IE P02IE P01IE P00IE 1111,1111 P1IE P1 口输入使能控制寄存器 FE31H P17IE P16IE P15IE P14IE P13IE P12IE P11IE P10IE 1111,1111 P3IE P3 口输入使能控制寄存器 FE33H P37IE P36IE P35IE P34IE P33IE P32IE P31IE P30IE 1111,1111 9.1.1 端口数据寄存器(Px) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0 80H P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1 90H P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2 A0H P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P3 B0H P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 P4 C0H P4.7 P4.6 P4.5 P4.4 P4.3 P4.2 P4.1 P4.0 P5 C8H - - P5.5 P5.4 P5.3 P5.2 P5.1 P5.0 读写端口状态 写 0:输出低电平到端口缓冲区 写 1:输出高电平到端口缓冲区 读:直接读端口管脚上的电平 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 225 - STC8G 系列技术手册 9.1.2 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 端口模式配置寄存器(PxM0,PxM1) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0M0 94H P07M0 P06M0 P05M0 P04M0 P03M0 P02M0 P01M0 P00M0 P0M1 93H P07M1 P06M1 P05M1 P04M1 P03M1 P02M1 P01M1 P00M1 P1M0 92H P17M0 P16M0 P15M0 P14M0 P13M0 P12M0 P11M0 P10M0 P1M1 91H P17M1 P16M1 P15M1 P14M1 P13M1 P12M1 P11M1 P10M1 P2M0 96H P27M0 P26M0 P25M0 P24M0 P23M0 P22M0 P21M0 P20M0 P2M1 95H P27M1 P26M1 P25M1 P24M1 P23M1 P22M1 P21M1 P20M1 P3M0 B2H P37M0 P36M0 P35M0 P34M0 P33M0 P32M0 P31M0 P30M0 P3M1 B1H P37M1 P36M1 P35M1 P34M1 P33M1 P32M1 P31M1 P30M1 P4M0 B4H P47M0 P46M0 P45M0 P44M0 P43M0 P42M0 P41M0 P40M0 P4M1 B3H P47M1 P46M1 P45M1 P44M1 P43M1 P42M1 P41M1 P40M1 P5M0 CAH - - P55M0 P54M0 P53M0 P52M0 P51M0 P50M0 P5M1 C9H - - P55M1 P54M1 P53M1 P52M1 P51M1 P50M1 配置端口的模式 PnM1.x PnM0.x Pn.x 口工作模式 0 0 准双向口 0 1 推挽输出 1 0 高阻输入 1 1 开漏输出 注意:当有I/O口被选择为ADC输入通道时,必须设置PxM0/PxM1寄存器将I/O口模式设置为输入模式。另 外如果MCU进入掉电模式/时钟停振模式后,仍需要使能ADC通道,则需要设置PxIE寄存器关闭数字输入, 才能保证不会有额外的耗电 9.1.3 端口上拉电阻控制寄存器(PxPU) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0PU FE10H P07PU P06PU P05PU P04PU P03PU P02PU P01PU P00PU P1PU FE11H P17PU P16PU P15PU P14PU P13PU P12PU P11PU P10PU P2PU FE12H P27PU P26PU P25PU P24PU P23PU P22PU P21PU P20PU P3PU FE13H P37PU P36PU P35PU P34PU P33PU P32PU P31PU P30PU P4PU FE14H P47PU P46PU P45PU P44PU P43PU P42PU P41PU P40PU P5PU FE15H - - P55PU P54PU P53PU P52PU P51PU P50PU 端口内部4.1K上拉电阻控制位(注:P3.0和P3.1口上的上拉电阻可能会略小一些) 0:禁止端口内部的 4.1K 上拉电阻 1:使能端口内部的 4.1K 上拉电阻 9.1.4 端口施密特触发控制寄存器(PxNCS) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0NCS FE18H P07NCS P06NCS P05NCS P04NCS P03NCS P02NCS P01NCS P00NCS P1NCS FE19H P17NCS P16NCS P15NCS P14NCS P13NCS P12NCS P11NCS P10NCS 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 226 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P2NCS FE1AH P27NCS P26NCS P25NCS P24NCS P23NCS P22NCS P21NCS P20NCS P3NCS FE1BH P37NCS P36NCS P35NCS P34NCS P33NCS P32NCS P31NCS P30NCS P4NCS FE1CH P47NCS P46NCS P45NCS P44NCS P43NCS P42NCS P41NCS P40NCS P5NCS FE1DH - - P55NCS P54NCS P53NCS P52NCS P51NCS P50NCS 端口施密特触发控制位 0:使能端口的施密特触发功能。(上电复位后默认使能施密特触发) 1:禁止端口的施密特触发功能。 9.1.5 端口电平转换速度控制寄存器(PxSR) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0SR FE20H P07SR P06SR P05SR P04SR P03SR P02SR P01SR P00SR P1SR FE21H P17SR P16SR P15SR P14SR P13SR P12SR P11SR P10SR P2SR FE22H P27SR P26SR P25SR P24SR P23SR P22SR P21SR P20SR P3SR FE23H P37SR P36SR P35SR P34SR P33SR P32SR P31SR P30SR P4SR FE24H P47SR P46SR P45SR P44SR P43SR P42SR P41SR P40SR P5SR FE25H - - P55SR P54SR P53SR P52SR P51SR P50SR 控制端口电平转换的速度 0:电平转换速度快,相应的上下冲会比较大 1:电平转换速度慢,相应的上下冲比较小 9.1.6 端口驱动电流控制寄存器(PxDR) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0DR FE28H P07DR P06DR P05DR P04DR P03DR P02DR P01DR P00DR P1DR FE29H P17DR P16DR P15DR P14DR P13DR P12DR P11DR P10DR P2DR FE2AH P27DR P26DR P25DR P24DR P23DR P22DR P21DR P20DR P3DR FE2BH P37DR P36DR P35DR P34DR P33DR P32DR P31DR P30DR P4DR FE2CH P47DR P46DR P45DR P44DR P43DR P42DR P41DR P40DR P5DR FE2DH - - P55DR P54DR P53DR P52DR P51DR P50DR 控制端口的驱动能力 0:增强驱动能力 1:一般驱动能力 9.1.7 端口数字信号输入使能控制寄存器(PxIE) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0IE FE30H P07IE P06IE P05IE P04IE P03IE P02IE P11IE P00IE P1IE FE31H P17IE P16IE P15IE P14IE P13IE P12IE P11IE P10IE P3IE FE33H P37IE P36IE P35IE P34IE P33IE P32IE P31IE P30IE P5IE FE35H - - P55IE P54IE P53IE P52IE P51IE P50IE 数字信号输入使能控制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 227 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 0:禁止数字信号输入。若 I/O 被当作比较器输入口、ADC 输入口或者触摸按键输入口等模拟口时, 进入时钟停振模式前,必须设置为 0,否则会有额外的耗电。 1:使能数字信号输入。若 I/O 被当作数字口时,必须设置为 1,否 MCU 无法读取外部端口的电平。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 228 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 配置 I/O 口 9.2 每个 I/O 的配置都需要使用两个寄存器进行设置。 以 P0 口为例,配置 P0 口需要使用 P0M0 和 P0M1 两个寄存器进行配置,如下图所示: 配置 P0.7 配置 P0.5 配置 P0.3 配置 P0.1 P0M0 7 6 5 4 3 2 1 0 P0M1 7 6 5 4 3 2 1 0 配置 P0.6 配置 P0.4 配置 P0.2 配置 P0.0 即 P0M0 的第 0 位和 P0M1 的第 0 位组合起来配置 P0.0 口的模式 即 P0M0 的第 1 位和 P0M1 的第 1 位组合起来配置 P0.1 口的模式 其他所有 I/O 的配置都与此类似。 PnM0 与 PnM1 的组合方式如下表所示 PnM1 PnM0 0 0 I/O 口工作模式 准双向口(传统8051端口模式,弱上拉) 灌电流可达20mA,拉电流为270~150μA(存在制造误差) 0 1 推挽输出(强上拉输出,可达20mA,要加限流电阻) 1 0 高阻输入(电流既不能流入也不能流出) 开漏输出(Open-Drain),内部上拉电阻断开 1 1 开漏模式既可读外部状态也可对外输出(高电平或低电 平)。如要正确读外部状态或需要对外输出高电平,需外加 上拉电阻,否则读不到外部状态,也对外输不出高电平。 注:n = 0,1,2,3,4,5,6,7 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 229 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 注意: 虽然每个I/O口在弱上拉(准双向口)/强推挽输出/开漏模式时都能承受20mA的灌电流 (还是要加限流电阻,如1K、560Ω、472Ω等),在强推挽输出时能输出20mA的拉电流(也 要加限流电阻),但整个芯片的工作电流推荐不要超过70mA,即从Vcc流入的电流建议不要 超过70mA,从Gnd流出电流建议不要超过70mA,整体流入/流出电流建议都不要超过70mA。 (STC8G1K08A系列和STC8G1K08-8Pin系列,整个芯片的工作电流推荐不要超过35mA,即从 Vcc流入的电流建议不要超过35mA,从Gnd流出电流建议不要超过35mA,整体流入/流出电流 建议都不要超过35mA) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 230 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 I/O 的结构图 9.3 9.3.1 准双向口(弱上拉) 准双向口(弱上拉)输出类型可用作输出和输入功能而不需重新配置端口输出状态。这是因为当端 口输出为 1 时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收 相当大的电流。准双向口有 3 个上拉晶体管适应不同的需要。 在 3 个上拉晶体管中,有 1 个上拉晶体管称为“弱上拉”,当端口寄存器为 1 且引脚本身也为 1 时打 开。此上拉提供基本驱动电流使准双向口输出为 1。如果一个引脚输出为 1 而由外部装置下拉到低时, 弱上拉关闭而“极弱上拉”维持开状态,为了把这个引脚强拉为低,外部装置必须有足够的灌电流能力 使引脚上的电压降到门槛电压以下。对于 5V 单片机,“弱上拉”晶体管的电流约 250uA;对于 3.3V 单 片机,“弱上拉”晶体管的电流约 150uA。 第 2 个上拉晶体管,称为“极弱上拉”,当端口锁存为 1 时打开。当引脚悬空时,这个极弱的上拉源 产生很弱的上拉电流将引脚上拉为高电平。对于 5V 单片机,“极弱上拉”晶体管的电流约 18uA;对于 3.3V 单片机, “极弱上拉”晶体管的电流约 5uA。 第 3 个上拉晶体管称为“强上拉”。当端口锁存器由 0 到 1 跳变时,这个上拉用来加快准双向口由逻 辑 0 到逻辑 1 转换。当发生这种情况时,强上拉打开约 2 个时钟以使引脚能够迅速地上拉到高电平。 准双向口(弱上拉)带有一个施密特触发输入以及一个干扰抑制电路。准双向口(弱上拉)读外部 状态前,要先锁存为 ‘1’,才可读到外部正确的状态. 准双向口(弱上拉)输出如下图所示: VCC 2个CPU 时钟延时 强 VCC 极弱 VCC 弱 端口 引脚 端口锁存数据 输入数据 干扰抑制 9.3.2 推挽输出 强推挽输出配置的下拉结构与开漏输出以及准双向口的下拉结构相同,但当锁存器为 1 时提供持续 的强上拉。推挽模式一般用于需要更大驱动电流的情况。 强推挽引脚配置如下图所示: VCC 强 端口 引脚 端口锁存数据 输入数据 干扰抑制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 231 - STC8G 系列技术手册 9.3.3 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 高阻输入 电流既不能流入也不能流出 输入口带有一个施密特触发输入以及一个干扰抑制电路 高阻输入引脚配置如下图所示: 端口 引脚 输入数据 干扰抑制 9.3.4 开漏输出 开漏模式既可读外部状态也可对外输出(高电平或低电平)。如要正确读外部状态或需要对外输出高 电平,需外加上拉电阻。 当端口锁存器为 0 时,开漏输出关闭所有上拉晶体管。当作为一个逻辑输出高电平时,这种配置方 式必须有外部上拉,一般通过电阻外接到 Vcc。如果外部有上拉电阻,开漏的 I/O 口还可读外部状态, 即此时被配置为开漏模式的 I/O 口还可作为输入 I/O 口。这种方式的下拉与准双向口相同。 开漏端口带有一个施密特触发输入以及一个干扰抑制电路。 输出端口配置如下图所示: 端口 引脚 端口锁存数据 输入数据 干扰抑制 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 232 - STC8G 系列技术手册 9.3.5 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 新增 4.1K 上拉电阻 STC8 系列所有的 I/O 口内部均可使能一个大约 4.1K 的上拉电阻(由于制造误差,上拉电阻的范围 可能为 3K~5K) VCC VCC VCC VCC 新增 4.1K 上拉电阻 2个CPU 时钟延时 强 极弱 弱 端口 引脚 端口锁存数据 PxPU控制位 输入数据 干扰抑制 端口上拉电阻控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 P0PU FE10H P07PU P06PU P05PU P04PU P03PU P02PU P01PU P00PU P1PU FE11H P17PU P16PU P15PU P14PU P13PU P12PU P11PU P10PU P2PU FE12H P27PU P26PU P25PU P24PU P23PU P22PU P21PU P20PU P3PU FE13H P37PU P36PU P35PU P34PU P33PU P32PU P31PU P30PU P4PU FE14H P47PU P46PU P45PU P44PU P43PU P42PU P41PU P40PU P5PU FE15H - - P55PU P54PU P53PU P52PU P51PU P50PU 端口内部4.1K上拉电阻控制位(注:P3.0和P3.1口上的上拉电阻可能会略小一些) 0:禁止端口内部的 4.1K 上拉电阻 1:使能端口内部的 4.1K 上拉电阻 9.3.6 如何设置 I/O 口对外输出速度 当用户需要 I/O 口对外输出较快的频率时,可通过加大 I/O 口驱动电流以及增加 I/O 口电平转换速度 以达到提高 I/O 口对外输出速度 设置 PxSR 寄存器,可用于控制 I/O 口电平转换速度,设置为 0 时相应的 I/O 口为快速翻转,设置为 1 时为慢速翻转。 设置 PxDR 寄存器,可用于控制 I/O 口驱动电流大小,设置为 1 时 I/O 输出为一般驱动电流,设置 为 0 时为强驱动电流 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 233 - STC8G 系列技术手册 9.3.7 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 如何设置 I/O 口电流驱动能力 若需要改变 I/O 口的电流驱动能力,可通过设置 PxDR 寄存器来实现 设置 PxDR 寄存器,可用于控制 I/O 口驱动电流大小,设置为 1 时 I/O 输出为一般驱动电流,设置 为 0 时为强驱动电流 9.3.8 如何降低 I/O 口对外辐射 由于设置 PxSR 寄存器,可用于控制 I/O 口电平转换速度,设置 PxDR 寄存器,可用于控制 I/O 口驱 动电流大小 当需要降低 I/O 口对外的辐射时,需要将 PxSR 寄存器设置为 1 以降低 I/O 口电平转换速度,同时需 要将 PxDR 寄存器设为 1 以降低 I/O 驱动电流,最终达到降低 I/O 口对外辐射 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 234 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 范例程序 9.4 端口模式设置 9.4.1 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M0 P0M1 P1M0 P1M1 P2M0 P2M1 P3M0 P3M1 P4M0 P4M1 P5M0 P5M1 P6M0 P6M1 P7M0 P7M1 = = = = = = = = = = = = = = = = 0x94; 0x93; 0x92; 0x91; 0x96; 0x95; 0xb2; 0xb1; 0xb4; 0xb3; 0xca; 0xc9; 0xcc; 0xcb; 0xe2; 0xe1; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0xff; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0xff; P3M0 = 0xff; P3M1 = 0xff; //设置 P0.0~P0.7 为双向口模式 //设置 P1.0~P1.7 为推挽输出模式 //设置 P2.0~P2.7 为高阻输入模式 //设置 P3.0~P3.7 为开漏模式 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M0 P0M1 P1M0 P1M1 P2M0 P2M1 P3M0 P3M1 P4M0 P4M1 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 094H 093H 092H 091H 096H 095H 0B2H 0B1H 0B4H 0B3H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 235 - STC8G 系列技术手册 P5M0 P5M1 P6M0 P6M1 P7M0 P7M1 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA 0CAH 0C9H 0CCH 0CBH 0E2H 0E1H ORG LJMP 0000H MAIN ORG 0100H MOV SP, #5FH MOV MOV MOV MOV MOV MOV MOV MOV P0M0,#00H P0M1,#00H P1M0,#0FFH P1M1,#00H P2M0,#00H P2M1,#0FFH P3M0,#0FFH P3M1,#0FFH JMP $ 技术支持: 13922829991 选型顾问: 13922805190 MAIN: ;设置 P0.0~P0.7 为双向口模式 ;设置 P1.0~P1.7 为推挽输出模式 ;设置 P2.0~P2.7 为高阻输入模式 ;设置 P3.0~P3.7 为开漏模式 END 双向口读写操作 9.4.2 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sbit P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 P00 = = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; P0^0; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 236 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; P0M0 = 0x00; P0M1 = 0x00; //设置 P0.0~P0.7 为双向口模式 P00 = 1; P00 = 0; //P0.0 口输出高电平 //P0.0 口输出低电平 P00 = 1; _nop_(); _nop_(); CY = P00; //读取端口前先使能内部弱上拉电阻 //等待两个时钟 // //读取端口状态 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 237 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 MOV MOV P0M0,#00H P0M1,#00H ;设置 P0.0~P0.7 为双向口模式 SETB CLR P0.0 P0.0 ;P0.0 口输出高电平 ;P0.0 口输出低电平 SETB NOP NOP MOV P0.0 ;读取端口前先使能内部弱上拉电阻 ;等待两个时钟 C,P0.0 ;读取端口状态 JMP $ 选型顾问: 13922805190 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 238 - STC8G 系列技术手册 9.5 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 一种典型三极管控制电路 如果上拉控制,建议加上拉电阻 R1(3.3K~10K),如果不加上拉电阻 R1(3.3K~10K),建议 R2 的值在 15K 以上,或用强推挽输出。 9.6 典型发光二极管控制电路 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 239 - STC8G 系列技术手册 9.7 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 混合电压供电系统 3V/5V 器件 I/O 口互连 STC 系列宽电压单片机工作在 5V 时,如需要直接连接 3.3V 器件时,为防止 3.3V 器件承受不了 5V,可将 相应的单片机 I/O 口先串一个 330Ω 的限流电阻到 3.3V 器件 I/O 口,程序初始化时将单片机的 I/O 口设置成 开漏配置,断开内部上拉电阻,相应的 3.3V 器件 I/O 口外部加 10K 上拉电阻到 3.3V 器件的 Vcc,这样高电平 是 3.3V,低电平是 0V,输入输出一切正常。 STC 宽电压单片机工作在 3V 时,如需要直接连接 5V 器件时,为防止 3V 单片机承受不了 5V,如果相应 的 I/O 口是输入,可在该 I/O 口上串接一个隔离二极管,隔离高压部分。外部信号电压高于单片机工作电压 时截止,I/O 口因内内部上拉到高电平,所以读 I/O 口状态是高电平;外部信号电压为低时导通,I/O 口被钳 位在 0.7V,小于 0.8V 时单片机读 I/O 口状态是低电平。 STC 宽电压单片机工作在 3V 时,如需要直接连接 5V 器件时,为防止 3V 单片机承受不了 5V,如果相应 的 I/O 口是输出,可用一个 NPN 三极管隔离,电路如下: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 240 - STC8G 系列技术手册 9.8 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 如何让 I/O 口上电复位时为低电平 传统 8051 单片机上电复位时普通 I/O 口为弱上拉(准双向口)高电平输出,而很多实际应用要求上电时某 些 I/O 口为低电平输出,否则所控制的系统(如马达)就会误动作,新一代 STC8G 系列和 STC8H 系列单片机由 于所有的 I/O 复位后是高阻输入(除 P3.0/P3.1 是传统的弱上拉),加一个下拉电阻就可保证上电时为低电平, 后续要改为高电平,只需要将 I/O 的模式改为强推挽输出,对外输出高电平即可。 如下:在 STC 的单片机 I/O 口上加一个下拉电阻(10K 左右),这样上电复位时,除了下载口 P3.0 和 P3.1 为弱上拉(准双向口)外,其他 I/O 口均为高阻输入模式,而外部有下拉电阻,所以该 I/O 口上电复位时外部 为低电平。如果要将此 I/O 口驱动为高电平,可将此 I/O 口设置为强推挽输出,而强推挽输出时,I/O 口驱动 电流可达 20mA,故肯定可以将该口驱动为高电平输出。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 241 - STC8G 系列技术手册 9.9 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 利用 74HC595 驱动 8 个数码管(串行扩展,3 根线)的线路图 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 242 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 9.10 I/O 口直接驱动 LED 数码管应用线路图 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 243 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 9.11 用 STC 系列 MCU 的 I/O 口直接驱动段码 LCD 当产品需要段码 LCD 显示时,如果使用不带 LCD 驱动器的 MCU,则需要外接 LCD 驱动 IC,这会 增加成本。事实上,很多小项目,比如大量的小家电,需要显示的段码不多,常见的是 4 个 8 带小数点 或时钟的冒号“:”,这样如果使用 IO 口直接扫描显示,则会降低成本,工作更可靠。 但是,本方案不合适驱动太多的段( 占用 IO 太多),也不合适非常低功耗的场合(驱动会有几百 uA 电流)。 段码 LCD 驱动简单原理:如图 1 所示。 LCD 是一种特殊的液态晶体,在电场的作用下晶体的排列方向会发生扭转,因而改变其透光性,从 而可以看到显示内容。LCD 有一个扭转电压阀值,当 LCD 两端电压高于此阀值时,显示内容,低于此 阀值时,不显示。通常 LCD 有 3 个参数:工作电压、DUTY(对应 COM 数)和 BIAS(即偏压,对应 阀值),比如 3.0V、1/4 DUTY、1/3 BIAS,表示 LCD 显示电压为 3.0V,4 个 COM,阀值大约是 1.5V, 当加在某段 LCD 两端电压为 3.0V 时显示,而加 1.0V 时不显示。但是 LCD 对于驱动电压的反应不是很 敏感的,比如加 2V 时,可能会微弱显示,这就是通常说的“鬼影”。所以要保证驱动显示时,要大于阀 值电压比较多,而不显示时,要用比阀值小比较多的电压。 注意:LCD 要用交流驱动,其两端不能加直流电压,否则时间稍长就会损坏,所以要保证加在 LCD 两端的驱动电压的平均电压为 0。LCD 使用时分割扫描法,任何时候一个 COM 扫描有效,另外的 COM 处于无效状态。 驱动 1/4Duty 1/2BIAS 3V 的方案电路见图 1,LCD 扫描原理见图 3,MCU 为 3.0V 或 3.3V 工作,并 且每个 COM 都串一个 20K 电阻接到一个电容 C1,RC 滤波后得到一个中点电压 1/2VDD。在轮到某个 COM 扫描时,连接的 IO 设置成推挽输出,其余 COM 设置成高阻,如果与本 COM 连接的 SEG 不显示, 则 SEG 输出与 COM 同相,如果显示,则反相。扫描完后,这个 COM 的 IO 就设置成高阻。每个 COM 通过 20K 电阻连接到电容 C1 上的 1/2VDD 电压,而 SEG 根据是否显示输出高低电平,这样加在 LCD 段上的电压,显示时是+-VDD,不显示时是+-1/2VDD,保证了 LCD 两端平均直流电压为 0。 驱动 1/4Duty 1/3BIAS 3V 的方案电路见图 4,LCD 扫描原理见图 5,MCU 为 5V 工作,SEG 接的 IO 通过电阻分压输出 1.5V、3.5V,COM 接的 IO 通过电阻分压输出 0.5V、2.5V(高阻时)、4.5V,分压电 阻公共点接到一个电容 C1,RC 滤波后得到一个中点电压 1/2VDD。在轮到某个 COM 扫描时,设置成推 挽输出,如果与本 COM 连接的 SEG 不显示,则 SEG 输出与 COM 同相,如果显示,则反相。扫描完后, 这个 COM 的 IO 就设置成高阻,这样这个 COM 就通过 47K 电阻连接到 2.5V 电压,而 SEG 根据是否显 示输出高低电平,这样加在 LCD 上的电压,显示时是+-3.0V,不显示时是+-1.0V,完全满足 LCD 的扫 描要求。 当需要睡眠省电时,把所有 COM 和 SEG 驱动 IO 全部输出低电平,LCD 驱动部分不会增加额 外电流。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 244 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 图 1:驱动 1/4Duty 1/2BIAS 3V LCD 的电路 图 2:段码名称图 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 245 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 图 3:1/4Duty 1/2BIAS 扫描原理图 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 246 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 图 4:驱动 1/4Duty 1/3BIAS 3V LCD 的电路 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 247 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 图 5:1/4Duty 1/3BIAS 扫描原理图 为了使用方便,显示内容放在一个显存中,其中的各个位与 LCD 的段一一对应,见图 6。 图 6:LCD 真值表和显存影射表 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 248 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 图 7:驱动效果照片 本 LCD 扫描程序仅需要两个函数: 1、 LCD 段码扫描函数 void LCD_scan(void) 程序隔一定的时间调用这个函数,就会将 LCD 显示缓冲的内容显示到 LCD 上,全部扫描一次需要 8 个 调用周期,调用间隔一般是 1~2ms,假如使用 1ms,则扫描周期就是 8ms,刷新率就是 125HZ。 2、 LCD 段码显示缓冲装载函数 void LCD_load(u8 n,u8 dat) 本函数用来将显示的数字或字符放在 LCD 显示缓冲中,比如 LCD_load(1,6),就是要在第一个数字位置 显示数字 6,支持显示 0~9,A~F,其它字符用户可以自己添加。 另外,用宏来显示、熄灭或闪烁冒号或小数点。 汇编代码 ;用 STC8 系列测试 I/O 直接驱动段码 LCD(6 个 8 字 LCD, 1/4 Dutys, 1/3 bias)。 ;上电后显示一个时间(时分秒). ;************************************************************ P0M1 DATA 0x93 P0M0 DATA 0x94 P1M1 DATA 0x91 P1M0 DATA 0x92 P2M1 DATA 0x95 P2M0 DATA 0x96 P3M1 DATA 0xB1 P3M0 DATA 0xB2 P4M1 DATA 0xB3 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 249 - STC8G 系列技术手册 P4M0 P5M1 P5M0 P6M1 P6M0 P7M1 P7M0 AUXR INT_CLKO IE2 P4 T2H T2L DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 0xB4 0xC9 0xC 0xCB 0xCC 0xE1 0xE2 0x8E 0x8F 0xAF 0xC0 0xD6 0xD7 ;************************************************************ DIS_BLACK EQU 010H DIS_ EQU 011H DIS_A EQU 00AH DIS_B EQU 00BH DIS_C EQU 00CH DIS_D EQU 00DH DIS_E EQU 00EH DIS_F EQU 00FH B_2ms B_Second cnt_500ms second minute hour scan_index BIT BIT DATA DATA DATA DATA DATA 20H.0 20H.1 30H 31H 32H 33H 34H ;2ms 信号 ;秒信号 LCD_buff DATA 40H ;40H~47H ;************************************************************ ORG 0000H LJMP F_Main ORG LJMP 000BH F_Timer0_Interrupt ;************************************************************ ORG 0100H F_Main: CLR A MOV P3M1, A ;设置为准双向口 MOV P3M0, A MOV P5M1, A ;设置为准双向口 MOV P5M0, A MOV MOV ANL ORL ORL ANL MOV MOV USING 深圳国芯人工智能有限公司 P1M1, #0 P1M0, #0ffh P2M1, #NOT 0f0h P2M0, #0f0h P2M1, #00fH P2M0, #0f0H SP, #0D0H PSW, #0 0 ; segment 设置为推挽输出 ; segment 设置为推挽输出 ;全部 COM 输出高阻, COM 为中点电压 ;选择第 0 组 R0~R7 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 250 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ;************************************************************ MOV R2, #8 MOV R0, #LCD_buff L_ClearLcdRam: MOV @R0, #0 INC R0 DJNZ R2, L_ClearLcdRam ; ; LCALL SETB F_Timer0_init EA ORL ORL LCD_buff, #020H LCD_buff, #002H ;显示时分间隔: ;显示分秒间隔: MOV MOV MOV LCALL hour, #12 minute, #00 second, #00 F_LoadRTC ;显示时间 ;************************************************************ L_Main_Loop: JNB B_2ms, L_Main_Loop ;2ms 节拍到 CLR B_2ms INC MOV CJNE cnt_500ms A, cnt_500ms A, #250, L_Main_Loop MOV cnt_500ms, #0; XRL XRL LCD_buff, #020H LCD_buff, #002H CPL JNB B_Second B_Second, L_Main_Loop INC MOV CJNE MOV INC MOV CJNE MOV INC MOV CJNE MOV second A, second A, #60, L_Main_Load second, #0 minute A, minute A, #60, L_Main_Load minute, #0; hour A, hour A, #24, L_Main_Load hour, #0 LCALL LJMP F_LoadRTC L_Main_Loop ;500ms 到 ;闪烁时分间隔: ;闪烁分秒间隔: ; 1 分钟到 ;24 小时到 L_Main_Load: ;显示时间 ;************************************************************ F_Timer0_init: CLR ANL SETB 深圳国芯人工智能有限公司 TR0 TMOD, #0f0H ET0 ; 停止计数 ; 允许中断 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 251 - STC8G 系列技术手册 ORL ANL ORL MOV MOV SETB RET 官方网站: www.STCMCUDATA.com TMOD, #0 INT_CLKO, #NOT 0x01 AUXR, #0x80 TH0, #HIGH (-22118) TL0, #LOW (-22118) TR0 技术支持: 13922829991 选型顾问: 13922805190 ; 工作模式, 0: 16 位自动重装 ; 不输出时钟 ; 1T mode ; 2ms ; ; 开始运行 ;************************************************************ F_Timer0_Interrupt: ;Timer0 1ms 中断函数 PUSH PSW ;PSW 入栈 PUSH ACC ;ACC 入栈 PUSH AR0 PUSH AR7 PUSH DPH PUSH DPL LCALL SETB F_LCD_scan B_2ms POP POP POP POP POP POP RETI DPL DPH AR7 AR0 ACC PSW ;ACC 出栈 ;PSW 出栈 ;******************** 显示时间 ************************** F_LoadRTC: MOV R6, #1 ;LCD_load(1,hour/10); MOV A, hour MOV B, #10 DIV AB MOV R7, A LCALL F_LCD_load ;R6 为第几个数字,为 1~6,R7 为要显示的数字 MOV MOV MOV DIV MOV LCALL R6, #2 A, hour B, #10 AB R7, B F_LCD_load ;LCD_load(2,hour%10); MOV MOV MOV DIV MOV LCALL R6, #3 A, minute B, #10 AB R7, A F_LCD_load ;LCD_load(3,minute/10); MOV MOV MOV DIV MOV LCALL R6, #4 A, minute B, #10 AB R7, B F_LCD_load ;LCD_load(4,minute%10); MOV R6, #5 ;LCD_load(5,second/10); 深圳国芯人工智能有限公司 ;R6 为第几个数字,为 1~6,R7 为要显示的数字 ;R6 为第几个数字,为 1~6,R7 为要显示的数字 ;R6 为第几个数字,为 1~6,R7 为要显示的数字 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 252 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV DIV MOV LCALL A, second B, #10 AB R7, A F_LCD_load MOV MOV MOV DIV MOV LCALL R6, #6 A, second B, #10 AB R7, B F_LCD_load 技术支持: 13922829991 选型顾问: 13922805190 ;R6 为第几个数字,为 1~6,R7 为要显示的数字 ;LCD_load(6,second%10); ;R6 为第几个数字,为 1~6,R7 为要显示的数字 RET ;************************************************************ T_COM: DB 008H, 004H, 002H, 001H F_LCD_scan: MOV CLR RRC MOV ADD MOV ORL ANL A, scan_index C A R7, A A, #LCD_buff R0, A P2M1, #00fH P2M0, #0f0H MOV JNB MOV CPL MOV MOV ADD MOV MOV ANL CPL MOV SJMP A, scan_index ACC.0, L_LCD_Scan2 A, @R0 A P1, A A, R0 A, #4 R0, A A, @R0 A, #0f0H A P2, A L_LCD_Scan3 MOV MOV MOV ADD MOV MOV ANL MOV A, @R0 P1, A A, R0 A, #4 R0, A A, @R0 A, #0f0H P2, A MOV MOV MOVC ORL CPL DPTR, #T_COM A, R7 A, @A+DPTR P2M0, A A L_LCD_Scan2: ;j = scan_index >> 1; ;R7 = j ;R0 = LCD_buff[j] ;全部 COM 输出高阻, COM 为中点电压 ;if(scan_index & 1) //反相扫描 ;P1 = ~LCD_buff[j]; ;P2 = ~(LCD_buff[j|4] & 0xf0); ;正相扫描 ;P1 = LCD_buff[j]; ;P2 = (LCD_buff[j|4] & 0xf0); L_LCD_Scan3: 深圳国芯人工智能有限公司 ;某个 COM 设置为推挽输出 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 253 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ANL P2M1, A INC MOV CJNE MOV scan_index A, scan_index A, #8, L_QuitLcdScan scan_index, #0 技术支持: 13922829991 ;if(++scan_index == 8) 选型顾问: 13922805190 scan_index = 0; L_QuitLcdScan: RET ;******************* 标准字库 ************************** T_Display: ; 0 1 2 3 4 5 6 7 8 9 A B C D E F DB 03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH,077H,07CH,039H,05EH,079H,071H ; black DB 000H,040H ;****************** 对第 1~6 数字装载显示函数 算法简单 *************************** F_LCD_load: ;R6 为第几个数字,为 1~6,R7 为要显示的数字 MOV DPTR, #T_Display ;i = t_display[dat]; MOV A, R7 MOVC A, @A+DPTR MOV B, A ;要显示的数字 MOV CJNE MOV MOV MOV MOV MOV A, R6 A, #1, L_NotLoadChar1 R0, A, @R0 C, B.3 ACC.6, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.2 ACC.6, C C, B.4 ACC.7, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.1 ACC.6, C C, B.6 ACC.7, C @R0, A INC MOV MOV MOV MOV MOV MOV RET R0 A, @R0 C, B.0 ACC.6, C C, B.5 ACC.7, C @R0, A L_NotLoadChar1: CJNE 深圳国芯人工智能有限公司 #LCD_buff ;D ;C ;E ;B ;G ;A ;F A, #2, L_NotLoadChar2 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 254 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV R0,#LCD_buff A, @R0 C, B.3 ACC.4, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.2 ACC.4, C C, B.4 ACC.5, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.1 ACC.4, C C, B.6 ACC.5, C @R0, A INC MOV MOV MOV MOV MOV MOV RET R0 A, @R0 C, B.0 ACC.4, C C, B.5 ACC.5, C @R0, A L_NotLoadChar2: CJNE MOV MOV MOV MOV MOV A, #3, L_NotLoadChar3 R0,#LCD_buff A, @R0 C, B.3 ACC.2, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.2 ACC.2, C C, B.4 ACC.3, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.1 ACC.2, C C, B.6 ACC.3, C @R0, A INC MOV MOV MOV R0 A, @R0 C, B.0 ACC.2, C 深圳国芯人工智能有限公司 技术支持: 13922829991 选型顾问: 13922805190 ;D ;C ;E ;B ;G ;A ;F ;D ;C ;E ;B ;G ;A 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 255 - STC8G 系列技术手册 MOV MOV MOV RET L_NotLoadChar3: CJNE MOV MOV MOV MOV MOV 官方网站: www.STCMCUDATA.com C, B.5 ACC.3, C @R0, A A, #4, L_NotLoadChar4 R0,#LCD_buff A, @R0 C, B.3 ACC.0, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.2 ACC.0, C C, B.4 ACC.1, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.1 ACC.0, C C, B.6 ACC.1, C @R0, A INC MOV MOV MOV MOV MOV MOV RET R0 A, @R0 C, B.0 ACC.0, C C, B.5 ACC.1, C @R0, A L_NotLoadChar4: CJNE MOV MOV MOV MOV MOV A, #5, L_NotLoadChar5 R0,#LCD_buff+4 A, @R0 C, B.3 ACC.6, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.2 ACC.6, C C, B.4 ACC.7, C @R0, A INC MOV MOV MOV MOV R0 A, @R0 C, B.1 ACC.6, C C, B.6 深圳国芯人工智能有限公司 技术支持: 13922829991 选型顾问: 13922805190 ;F ;D ;C ;E ;B ;G ;A ;F ;D ;C ;E ;B ;G 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 256 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV ACC.7, C @R0, A INC MOV MOV MOV MOV MOV MOV RET R0 A, @R0 C, B.0 ACC.6, C C, B.5 ACC.7, C @R0, A L_NotLoadChar5: CJNE MOV MOV MOV MOV MOV A, #6, L_NotLoadChar6 R0,#LCD_buff+4 A, @R0 C, B.3 ACC.4, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.2 ACC.4, C C, B.4 ACC.5, C @R0, A INC MOV MOV MOV MOV MOV MOV R0 A, @R0 C, B.1 ACC.4, C C, B.6 ACC.5, C @R0, A INC MOV MOV MOV MOV MOV MOV RET L_NotLoadChar6: RET R0 A, @R0 C, B.0 ACC.4, C C, B.5 ACC.5, C @R0, A E 技术支持: 13922829991 选型顾问: 13922805190 ;A ;F ;D ;C ;E ;B ;G ;A ;F N D C 语言代码 /*****************功能说明****************** 用 STC15 系列测试 I/O 直接驱动段码 LCD(6 个 8 字 LCD, 1/4 Dutys, 1/3 bias)。 上电后显示一个时间(时分秒). P3.2 对地接一个开关,用来进入睡眠或唤醒. ******************************************/ #include "reg51.h" #include "intrins.h" 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 257 - STC8G 系列技术手册 typedef typedef typedef unsigned char unsigned int unsigned long 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 u8; u16; u32; sfr AUXR = 0x8e; sfr P1M1 = 0x91; sfr P1M0 = 0x92; sfr P2M1 = 0x95; sfr P2M0 = 0x96; /********************本地常量声明**************************/ #define MAIN_Fosc 11059200L //定义主时钟 #define DIS_BLACK #define DIS_ #define DIS_A #define DIS_B #define DIS_C #define DIS_D #define DIS_E #define DIS_F 0x10 0x11 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F #define LCD_SET_DP2 #define LCD_CLR_DP2 #define LCD_FLASH_DP2 LCD_buff[0] |= 0x08 LCD_buff[0] &= ~0x08 LCD_buff[0] ^= 0x08 #define LCD_SET_DP4 #define LCD_CLR_DP4 #define LCD_FLASH_DP4 LCD_buff[4] |= 0x80 LCD_buff[4] &= ~0x80 LCD_buff[4] ^= 0x80 #define LCD_SET_2M #define LCD_CLR_2M #define LCD_FLASH_2M LCD_buff[0] |= 0x20 LCD_buff[0] &= ~0x20 LCD_buff[0] ^= 0x20 #define LCD_SET_4M #define LCD_CLR_4M #define LCD_FLASH_4M LCD_buff[0] |= 0x02 LCD_buff[0] &= ~0x02 LCD_buff[0] ^= 0x02 #define LCD_SET_DP5 #define LCD_CLR_DP5 #define LCD_FLASH_DP5 LCD_buff[4] |= 0x20 LCD_buff[4] &= ~0x20 LCD_buff[4] ^= 0x20 #define P1n_standard(bitn) #define P1n_push_pull(bitn) #define P1n_pure_input(bitn) #define P1n_open_drain(bitn) P1M1 &= ~(bitn), P1M0 &= ~(bitn) P1M1 &= ~(bitn), P1M0 |= (bitn) P1M1 |= (bitn), P1M0 &= ~(bitn) P1M1 |= (bitn), P1M0 |= (bitn) #define P2n_standard(bitn) #define P2n_push_pull(bitn) #define P2n_pure_input(bitn) #define P2n_open_drain(bitn) P2M1 &= ~(bitn), P2M0 &= ~(bitn) P2M1 &= ~(bitn), P2M0 |= (bitn) P2M1 |= (bitn), P2M0 &= ~(bitn) P2M1 |= (bitn), P2M0 |= (bitn) /********************本地变量声明**************************/ u8 cnt_500ms; u8 second,minute,hour; bit B_Second; bit B_2ms; u8 LCD_buff[8]; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 258 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 u8 scan_index; /********************本地函数声明**************************/ void LCD_load(u8 n,u8 dat); void LCD_scan(void); void LoadRTC(void); void delay_ms(u8 ms); /********************主函数**************************/ void main(void) { u8 i; AUXR = 0x80; TMOD = 0x00; TL0 = (65536 - (MAIN_Fosc / 500)); TH0 = (65536 - (MAIN_Fosc / 500)) >> 8; TR0 = 1; ET0 = 1; EA = 1; //初始化 LCD 显存 for(i=0; i= 250) { cnt_500ms = 0; // LCD_FLASH_2M; // LCD_FLASH_4M; //500ms 到 //闪烁时分间隔: //闪烁分秒间隔: B_Second = ~B_Second; if(B_Second) { if(++second >= 60) //1 分钟到 { second = 0; if(++minute >= 60) //1 小时到 { minute = 0; if(++hour >= 24) hour = 0; //24 小时到 } } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 259 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com LoadRTC(); 技术支持: 13922829991 选型顾问: 13922805190 //显示时间 } } if(!INT0) { LCD_CLR_2M; LCD_CLR_4M; LCD_load(1,DIS_BLACK); LCD_load(2,DIS_BLACK); LCD_load(3,0); LCD_load(4,0x0F); LCD_load(5,0x0F); LCD_load(6,DIS_BLACK); //键按下,准备睡眠 //显示时分间隔: //显示分秒间隔: while(!INT0) delay_ms(10); delay_ms(50); while(!INT0) delay_ms(10); //等待释放按键 TR0 = 0; IE0 = 0; EX0 = 1; IT0 = 1; //关闭定时器 //外中断 0 标志位 //INT0 Enable //INT0 下降沿中断 P1n_push_pull(0xff); P2n_push_pull(0xff); P1 = 0; P2 = 0; //com 和 seg 全部输出 0 PCON |= 0x02; _nop_(); _nop_(); _nop_(); //Sleep LCD_SET_2M; LCD_SET_4M; LoadRTC(); TR0 = 1; while(!INT0) delay_ms(10); delay_ms(50); while(!INT0) delay_ms(10); //显示时分间隔: //显示分秒间隔: //显示时间 //打开定时器 //等待释放按键 //再次等待释放按键 //再次等待释放按键 } } } } /********************延时函数**************************/ void delay_ms(u8 ms) { unsigned int i; do{ i = MAIN_Fosc / 13000; while(--i); //14T per loop }while(--ms); } /********************* Timer0 中断函数************************/ void timer0_int (void) interrupt 1 { 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 260 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 LCD_scan(); B_2ms = 1; } /********************* INT0 中断函数 *************************/ void INT0_int (void) interrupt 0 { EX0 = 0; IE0 = 0; } /****************** LCD 段码扫描函数 ***************************/ void LCD_scan(void) //5us @22.1184MHZ { u8 code T_COM[4]={0x08,0x04,0x02,0x01}; u8 j; j = scan_index >> 1; P2n_pure_input(0x0f); if(scan_index & 1) { P1 = ~LCD_buff[j]; P2 = ~(LCD_buff[j|4] & 0xf0); } else { P1 = LCD_buff[j]; P2 = LCD_buff[j|4] & 0xf0; } P2n_push_pull(T_COM[j]); if(++scan_index >= 8) scan_index = 0; //全部 COM 输出高阻, COM 为中点电压 //反相扫描 //正相扫描 //某个 COM 设置为推挽输出 } /****************** 对第 1~6 数字装载显示函数 ***************************/ void LCD_load(u8 n, u8 dat) //n 为第几个数字,dat 为要显示的数字 { u8 code t_display[]={ //标准字库 // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71, //black 0x00,0x40 }; u8 code T_LCD_mask[4] = {~0xc0,~0x30,~0x0c,~0x03}; u8 code T_LCD_mask4[4] = {~0x40,~0x10,~0x04,~0x01}; u8 i,k; u8 *p; if((n == 0) || (n > 6)) return; i = t_display[dat]; if(n >2*n); p++; k = 0; if(i & 0x04) k |= 0x40; if(i & 0x10) k |= 0x80; *p = (*p & T_LCD_mask[n]) | (k>>2*n); p++; k = 0; if(i & 0x02) k |= 0x40; if(i & 0x40) k |= 0x80; *p = (*p & T_LCD_mask[n]) | (k>>2*n); p++; k = 0; if(i & 0x01) k |= 0x40; if(i & 0x20) k |= 0x80; *p = (*p & T_LCD_mask[n]) | (k>>2*n); //D //C //E //B //G //A //F } /********************显示时间 **************************/ void LoadRTC(void) { LCD_load(1,hour/10); LCD_load(2,hour%10); LCD_load(3,minute/10); LCD_load(4,minute%10); LCD_load(5,second/10); LCD_load(6,second%10); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 262 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 10 指令系统 助记符 指令说明 字节 时钟 ADD A,Rn 寄存器内容加到累加器 1 1 ADD A,direct 直接地址单元的数据加到累加器 2 1 ADD A,@Ri 间接地址单元的数据加到累加器 1 1 ADD A,#data 立即数加到累加器 2 1 ADDC A,Rn 寄存器带进位加到累加器 1 1 ADDC A,direct 直接地址单元的数据带进位加到累加器 2 1 ADDC A,@Ri 间接地址单元的数据带进位加到累加器 1 1 ADDC A,#data 立即数带进位加到累加器 2 1 SUBB A,Rn 累加器带借位减寄存器内容 1 1 SUBB A,direct 累加器带借位减直接地址单元的内容 2 1 SUBB A,@Ri 累加器带借位减间接地址单元的内容 1 1 SUBB A,#data 累加器带借位减立即数 2 1 INC A 累加器加1 1 1 INC Rn 寄存器加1 1 1 INC direct 直接地址单元加1 2 1 INC @Ri 间接地址单元加1 1 1 DEC A 累加器减1 1 1 DEC Rn 寄存器减1 1 1 DEC direct 直接地址单元减1 2 1 DEC @Ri 间接地址单元减1 1 1 INC DPTR 地址寄存器DPTR加1 1 1 MUL AB A乘以B,B存放高字节,A存放低字节 1 2 DIV AB A除以B,B存放余数,A存放商 1 6 DA A 累加器十进制调整 1 3 ANL A,Rn 累加器与寄存器相与 1 1 ANL A,direct 累加器与直接地址单元相与 2 1 ANL A,@Ri 累加器与间接地址单元相与 1 1 ANL A,#data 累加器与立即数相与 2 1 ANL direct,A 直接地址单元与累加器相与 2 1 ANL direct,#data 直接地址单元与立即数相与 3 1 ORL A,Rn 累加器与寄存器相或 1 1 ORL A,direct 累加器与直接地址单元相或 2 1 ORL A,@Ri 累加器与间接地址单元相或 1 1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 263 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ORL A,#data 累加器与立即数相或 2 1 ORL direct,A 直接地址单元与累加器相或 2 1 ORL direct,#data 直接地址单元与立即数相或 3 1 XRL A,Rn 累加器与寄存器相异或 1 1 XRL A,direct 累加器与直接地址单元相异或 2 1 XRL A,@Ri 累加器与间接地址单元相异或 1 1 XRL A,#data 累加器与立即数相异或 2 1 XRL direct,A 直接地址单元与累加器相异或 2 1 XRL direct,#data 直接地址单元与立即数相异或 3 1 CLR A 累加器清0 1 1 CPL A 累加器取反 1 1 RL A 累加器循环左移 1 1 RLC A 累加器带进位循环左移 1 1 RR A 累加器循环右移 1 1 RRC A 累加器带进位循环右移 1 1 SWAP A 累加器高低半字节交换 1 1 CLR C 清零进位位 1 1 CLR bit 清0直接地址位 2 1 SETB C 置1进位位 1 1 SETB bit 置1直接地址位 2 1 CPL C 进位位求反 1 1 CPL bit 直接地址位求反 2 1 ANL C,bit 进位位和直接地址位相与 2 1 ANL C,/bit 进位位和直接地址位的反码相与 2 1 ORL C,bit 进位位和直接地址位相或 2 1 ORL C,/bit 进位位和直接地址位的反码相或 2 1 MOV C,bit 直接地址位送入进位位 2 1 MOV bit,C 进位位送入直接地址位 2 1 MOV A,Rn 寄存器内容送入累加器 1 1 MOV A,direct 直接地址单元中的数据送入累加器 2 1 MOV A,@Ri 间接地址中的数据送入累加器 1 1 MOV A,#data 立即数送入累加器 2 1 MOV Rn,A 累加器内容送入寄存器 1 1 MOV Rn,direct 直接地址单元中的数据送入寄存器 2 1 MOV Rn,#data 立即数送入寄存器 2 1 MOV direct,A 累加器内容送入直接地址单元 2 1 MOV direct,Rn 寄存器内容送入直接地址单元 2 1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 264 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 3 1 MOV direct,@Ri 间接地址中的数据送入直接地址单元 2 1 MOV direct,#data 立即数送入直接地址单元 3 1 MOV @Ri,A 累加器内容送间接地址单元 1 1 MOV @Ri,direct 直接地址单元数据送入间接地址单元 2 1 MOV @Ri,#data 立即数送入间接地址单元 2 1 MOV DPTR,#data16 16位立即数送入数据指针 3 1 MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 4 MOVC A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 3 MOVX A,@Ri 扩展地址(8位地址)的内容送入累加器A中 1 3[1] MOVX A,@DPTR 扩展RAM(16位地址)的内容送入累加器A中 1 2[1] MOVX @Ri,A 将累加器A的内容送入扩展RAM(8位地址)中 1 3[1] MOVX @DPTR,A 将累加器A的内容送入扩展RAM(16位地址)中 1 2[1] PUSH direct 直接地址单元中的数据压入堆栈 2 1 POP direct 栈底数据弹出送入直接地址单元 2 1 XCH A,Rn 寄存器与累加器交换 1 1 XCH A,direct 直接地址单元与累加器交换 2 1 XCH A,@Ri 间接地址与累加器交换 1 1 XCHD A,@Ri 间接地址的低半字节与累加器交换 1 1 ACALL addr11 短调用子程序 2 3 LCALL addr16 长调用子程序 3 3 RET 子程序返回 1 3 RETI 中断返回 1 3 AJMP addr11 短跳转 2 3 LJMP addr16 长跳转 3 3 SJMP rel 相对跳转 2 3 JMP @A+DPTR 相对于DPTR的间接跳转 1 4 JZ rel 累加器为零跳转 2 1/3[2] JNZ rel 累加器非零跳转 2 1/3[2] JC rel 进位位为1跳转 2 1/3[2] JNC rel 进位位为0跳转 2 1/3[2] JB bit,rel 直接地址位为1则跳转 3 1/3[2] JNB bit,rel 直接地址位为0则跳转 3 1/3[2] JBC bit,rel 直接地址位为1则跳转,该位清0 3 1/3[2] CJNE A,direct,rel 累加器与直接地址单元不相等跳转 3 2/3[3] CJNE A,#data,rel 累加器与立即数不相等跳转 3 1/3[2] CJNE Rn,#data,rel 寄存器与立即数不相等跳转 3 2/3[3] 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 265 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 CJNE @Ri,#data,rel 间接地址单元与立即数不相等跳转 3 2/3[3] DJNZ Rn,rel 寄存器减1后非零跳转 2 2/3[3] DJNZ direct,rel 直接地址单元减1后非零跳转 3 2/3[3] 空操作 1 1 NOP :访问外部扩展 RAM 时,指令的执行周期与寄存器 BUS_SPEED 中的 SPEED[2:0]位有关 :对于条件跳转语句的执行时间会依据条件是否满足而不同。当条件不满足时,不会发生跳转而继续执 行下一条指令,此时条件跳转语句的执行时间为 1 个时钟;当条件满足时,则会发生跳转,此时条件跳 转语句的执行时间为 3 个时钟。 [3] :对于条件跳转语句的执行时间会依据条件是否满足而不同。当条件不满足时,不会发生跳转而继续执 行下一条指令,此时条件跳转语句的执行时间为 2 个时钟;当条件满足时,则会发生跳转,此时条件跳 转语句的执行时间为 3 个时钟。 [1] [2] 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 266 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11 中断系统 (C 语言程序中使用中断号大于 31 的中断时,在 Keil 中编译会报错,解决办法请参考附录) 中断系统是为使 CPU 具有对外界紧急事件的实时处理能力而设置的。 当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求,要求 CPU 暂停当前的工作, 转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为 中断。实现这种功能的部件称为中断系统,请示 CPU 中断的请求源称为中断源。微型机的中断系统一般 允许多个中断源,当几个中断源同时向 CPU 请求中断,要求为它服务的时候,这就存在 CPU 优先响应 哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规 定每一个中断源有一个优先级别。CPU 总是先响应优先级别最高的中断请求。 当 CPU 正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它 还高的中断源请求。如果 CPU 能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源, 处理完以后,再回到原低级中断服务程序,这样的过程称为中断嵌套。这样的中断系统称为多级中断系 统,没有中断嵌套功能的中断系统称为单级中断系统。 用户可以用关总中断允许位(EA/IE.7)或相应中断的允许位屏蔽相应的中断请求,也可以用打开相 应的中断允许位来使 CPU 响应相应的中断申请,每一个中断源可以用软件独立地控制为开中断或关中断 状态,部分中断的优先级别均可用软件设置。高优先级的中断请求可以打断低优先级的中断,反之,低 优先级的中断请求不可以打断高优先级的中断。当两个相同优先级的中断同时产生时,将由查询次序来 决定系统先响应哪个中断。 11.1 STC8G 系列中断源 下表中√表示对应的系列有相应的中断源 STC8G1K08 STC8G1K08 STC8G1K08A STC8G2K64S4 STC15H2K64S4 STC8G2K64S2 STC8G1K08T 系列 8PIN系列 系列 系列 系列 系列 系列 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ 定时器 1 中断(Timer1) √ √ √ √ √ √ √ 串口 1 中断(UART1) √ √ √ √ √ √ √ 模数转换中断(ADC) √ √ √ √ √ √ 低压检测中断(LVD) √ √ √ √ √ √ √ √ √ √ √ √ √ √ 中断源 外部中断 0 中断(INT0) 支持下降沿和边沿中断 定时器 0 中断(Timer0) 外部中断 1 中断(INT1) 支持下降沿和边沿中断 捕获中断(CCP/PCA/PWM) 支持下降沿、上升沿和边沿中断 √ √ 串口 2 中断(UART2) √ 串行外设接口中断(SPI) √ √ √ √ √ √ √ √ √ √ √ √ √ √ 外部中断 2 中断(INT2) 支持下降沿中断 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 267 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 外部中断 3 中断(INT3) √ √ √ √ √ √ √ √ √ √ √ √ 串口 3 中断(UART3) √ √ 串口 4 中断(UART4) √ √ 定时器 3 中断(Timer3) √ √ √ 定时器 4 中断(Timer4) √ √ √ √ √ √ 增强型 PWM0 中断 √ √ √ PWM0 异常检测中断(PWM0FD) √ √ √ √ √ √ 定时器 2 中断(Timer2) √ 外部中断 4 中断(INT4) √ √ √ 选型顾问: 13922805190 √ 支持下降沿中断 √ 技术支持: 13922829991 √ √ 比较器中断(CMP) √ I2C 总线中断 √ √ √ √ 触摸按键中断 增强型 PWM1 中断 √ √ √ 增强型 PWM2 中断 √ √ √ 增强型 PWM3 中断 √ √ √ 增强型 PWM4 中断 √ √ √ 增强型 PWM5 中断 √ √ √ PWM2 异常检测中断(PWM2FD) √ √ √ PWM4 异常检测中断(PWM4FD) √ √ √ 深圳国芯人工智能有限公司 √ 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 268 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11.2 STC8G 中断结构图 中断请求 中断允许控制 中断优先级控制 最低优先级 较低优先级 较高优先级 最高优先级 TCON.0/IT0=0 EX0 INT0 EA 0 PX0/PX0H IE0 1 2 3 TCON.0/IT0=1 ET0 Timer0 EA 0 PT0/PT0H TF0 1 2 3 TCON.2/IT1=0 EX1 INT1 EA 0 PX1/PX1H IE1 1 2 3 TCON.2/IT1=1 Timer1 EA PT1/PT1H 0 ES EA PS/PSH 0 TF1 RI UART1 ET1 TI ADC EADC EA PADC/PADCH 0 ELVD EA PLVD/PLVDH 0 ADC_Flag LVD LVDF 1 1 1 1 2 2 2 2 ECF 3 3 3 3 CF ECF0 CCF0 ECF1 PCA EA CCF1 0 PPCA/PPCAH 1 2 ECF2 3 CCF2 ECF3 CCF3 S2RI UART2 S2TI SPI ES2 EA PS2/PS2H 0 ESPI EA PSPI/PSPIH 0 SPIF EX2 INT2 INT2IF INT3 INT3IF Timer2 EA 优先级固定为最低优先级 ET2 EA 优先级固定为最低优先级 EX4 EA ES3 EA INT4IF S3RI UART4 S3TI S4RI ES4 S4TI ET3 Timer3 T3IF Timer4 T4IF ET4 CMP 优先级固定为最低优先级 EX3 T2IF INT4 UART3 EA PIE EA EA EA EA CMPIF PS3/PS3H PCMP/PCMPH 2 3 3 0 0 0 优先级固定为最低优先级 2 0 0 优先级固定为最低优先级 1 0 PX4/PX4H PS4/PS4H 1 1 1 1 2 2 2 3 3 3 0 0 0 1 2 NIE 3 ECBI CBIF C0IF C1IF C2IF PWM C3IF C4IF C5IF C6IF C7IF EC0I EC0T1SI EC0T2SI EC1I EC1T1SI EC1T2SI EC2I EC2T1SI EC2T2SI EC3I EFDI PWMFD EA PPWM/PPWMH 0 1 EC3T1SI EC3T2SI EC4I EC4T1SI EC4T2SI EC5I EC5T1SI EC5T2SI EC6I EC6T1SI EC6T2SI EC7I EC7T1SI EC7T2SI FDIF EA PPWMFD/PPWMFDH 0 1 2 2 EMSI 3 3 MSIF ESTAI STAIF ESTOI I2C STOIF PI2C/PI2CH ERXI 0 1 2 3 RXIF ETXI TXIF 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 269 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11.3 STC8G 系列中断列表 中断源 中断向量 次序 优先级设置 优先级 中断请求位 中断允许位 INT0 0003H 0 PX0PX0H 0/1/2/3 IE0 EX0 Timer0 000BH 1 PT0,PT0H 0/1/2/3 TF0 ET0 INT1 0013H 2 PX1,PX1H 0/1/2/3 IE1 EX1 Timer1 001BH 3 PT1,PT1H 0/1/2/3 TF1 ET1 UART1 0023H 4 PS,PSH 0/1/2/3 RI || TI ES ADC 002BH 5 PADC,PADCH 0/1/2/3 ADC_FLAG EADC LVD 0033H 6 PLVD,PLVDH 0/1/2/3 LVDF ELVD CF ECF CCF0 ECCF0 CCF1 ECCF1 CCF2 ECCF2 CCF3 ECCF3 PCA 003BH 7 PPCA,PPCAH 0/1/2/3 UART2 0043H 8 PS2,PS2H 0/1/2/3 S2RI || S2TI ES2 SPI 004BH 9 PSPI,PSPIH 0/1/2/3 SPIF ESPI INT2 0053H 10 0 INT2IF EX2 INT3 005BH 11 0 INT3IF EX3 Timer2 0063H 12 0 T2IF ET2 INT4 0083H 16 PX4,PX4H 0/1/2/3 INT4IF EX4 UART3 008BH 17 PS3,PS3H 0/1/2/3 S3RI || S3TI ES3 UART4 0093H 18 PS4,PS4H 0/1/2/3 S4RI || S4TI ES4 Timer3 009BH 19 0 T3IF ET3 Timer4 00A3H 20 0 T4IF ET4 CMP 00ABH 21 0/1/2/3 CMPIF PIE|NIE 深圳国芯人工智能有限公司 PCMP,PCMPH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 270 - STC8G 系列技术手册 中断源 PWM0 中断向量 00B3H 官方网站: www.STCMCUDATA.com 次序 22 优先级设置 PPWM0,PPWM0H 技术支持: 13922829991 优先级 选型顾问: 13922805190 中断请求位 中断允许位 CBIF ECBI 0/1/2/3 ECnI && ECnT1SI CnIF ECnI && ECnT2SI PWM0FD I2C PWM1 00BBH 00C3H 00E3H 23 PPWM0FD,PPWM0FDH 24 PI2C,PI2CH 28 PPWM1,PPWM1H 0/1/2/3 0/1/2/3 FDIF EFDI MSIF EMSI STAIF ESTAI RXIF ERXI TXIF ETXI STOIF ESTOI CBIF ECBI 0/1/2/3 ECnI && ECnT1SI CnIF ECnI && ECnT2SI CBIF PWM2 00EBH 29 PPWM2,PPWM2H 0/1/2/3 ECBI ECnI && ECnT1SI CnIF ECnI && ECnT2SI CBIF PWM3 00F3H 30 PPWM3,PPWM3H 0/1/2/3 ECBI ECnI && ECnT1SI CnIF ECnI && ECnT2SI CBIF PWM4 00FBH 31 PPWM4,PPWM4H 0/1/2/3 ECBI ECnI && ECnT1SI CnIF ECnI && ECnT2SI CBIF PWM5 0103H 32 PPWM5,PPWM5H 0/1/2/3 ECBI ECnI && ECnT1SI CnIF ECnI && ECnT2SI PWM2FD 010BH 33 PPWM2FD,PPWM2FDH 0/1/2/3 FDIF EFDI PWM4FD 0113H 34 PPWM4FD,PPWM4FDH 0/1/2/3 FDIF EFDI TKSU 011BH 35 PTKSU,PTKSUH 0/1/2/3 TKIF ETKSUI 在 C 语言中声明中断服务程序 void INT0_Routine(void) interrupt 0; void TM0_Rountine(void) interrupt 1; void INT1_Routine(void) interrupt 2; void TM1_Rountine(void) interrupt 3; void UART1_Routine(void) interrupt 4; void ADC_Routine(void) interrupt 5; void LVD_Routine(void) interrupt 6; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 271 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com void PCA_Routine(void) interrupt 7; void UART2_Routine(void) interrupt 8; void SPI_Routine(void) interrupt 9; void INT2_Routine(void) interrupt 10; void INT3_Routine(void) interrupt 11; void TM2_Routine(void) interrupt 12; void INT4_Routine(void) interrupt 16; void UART3_Routine(void) interrupt 17; void UART4_Routine(void) interrupt 18; void TM3_Routine(void) interrupt 19; void TM4_Routine(void) interrupt 20; void CMP_Routine(void) interrupt 21; void PWM0_Routine(void) interrupt 22; void PWM0FD_Routine(void) interrupt 23; void I2C_Routine(void) interrupt 24; void PWM1_Routine(void) interrupt 28; void PWM2_Routine(void) interrupt 29; void PWM3_Routine(void) interrupt 30; void PWM4_Routine(void) interrupt 31; //void PWM5_Routine(void) interrupt 32; 技术支持: 13922829991 选型顾问: 13922805190 //void PWM2FD_Routine(void) interrupt 33; //void PWM4FD_Routine(void) interrupt 34; //void TKSU_Routine(void) interrupt 35; 中断号超过31的C语言中断服务程序不能直接用interrupt声明,请参考附录的处理方 法,汇编语言不受影响 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 272 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11.4 中断相关寄存器 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 IE 中断允许寄存器 A8H EA ELVD EADC ES ET1 EX1 ET0 EX0 0000,0000 IE2 中断允许寄存器 2 AFH ETKSUI ET4 ET3 ES4 ES3 ET2 ESPI ES2 0000,0000 中断与时钟输出控制寄存器 8FH - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO x000,x000 中断优先级控制寄存器 B8H PPCA PLVD PADC PS PT1 PX1 PT0 PX0 0000,0000 高中断优先级控制寄存器 B7H PPCAH PLVDH PADCH PSH PT1H PX1H PT0H PX0H 0000,0000 PI2C PCMP PX4 PPWM0FD PPWM0 PSPI PS2 0000,0000 PI2CH PCMPH PX4H PSPIH PS2H 0000,0000 PPWM5 PPWM4 PPWM3 PS4 PS3 0000,0000 PS4H PS3H 0000,0000 INTCLKO IP IPH PPWM2FD IP2 中断优先级控制寄存器 2 B5H PTKSU PPWM2FDH IP2H 高中断优先级控制寄存器 2 B6H PPWM0FDH PPWM0H PTKSUH 中断优先级控制寄存器 3 DFH 高中断优先级控制寄存器 3 EEH PPWM4FDH 定时器控制寄存器 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0000,0000 扩展外部中断标志寄存器 EFH - INT4IF INT3IF INT2IF - T4IF T3IF T2IF x000,x000 SCON 串口 1 控制寄存器 98H SM0/FE SM1 SM2 REN TB8 RB8 TI RI 0000,0000 S2CON 串口 2 控制寄存器 9AH S2SM0 - S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI 0100,0000 S3CON 串口 3 控制寄存器 ACH S3SM0 S3ST3 S3SM2 S3REN S3TB8 S3RB8 S3TI S3RI 0000,0000 S4CON 串口 4 控制寄存器 84H S4SM0 S4ST4 S4SM2 S4REN S4TB8 S4RB8 S4TI S4RI 0000,0000 PCON 电源控制寄存器 87H SMOD SMOD0 LVDF POF GF1 GF0 PD IDL 0011,0000 IP3 IP3H TCON AUXINTIF ADC_CONTR ADC 控制寄存器 PPWM4FD PPWM5H PPWM4H PPWM2 PPWM3H PPWM1 PPWM2H PPWM1H BCH ADC_POWER ADC_START ADC_FLAG ADC_EPWMT ADC_CHS[3:0] 000x,0000 SPSTAT SPI 状态寄存器 CDH SPIF WCOL - - - - - - 00xx,xxxx CCON PCA 控制寄存器 D8H CF CR - - CCF3 CCF2 CCF1 CCF0 00xx,x000 CMOD PCA 模式寄存器 D9H CIDL - - - ECF 0xxx,0000 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 CMPCR1 比较器控制寄存器 1 E6H CMPEN CMPIF PIE NIE PIS NIS CMPOE CMPRES 0000,0000 PWMCFG01 增强型 PWM 配置寄存器 F6H PWM1CBIF EPWM1CBI FLTPS0 PWM1CEN PWM0CBIF EPWM0CBI ENPWM0TA PWM0CEN 0000,0000 PWMCFG23 增强型 PWM 配置寄存器 F7H PWM3CBIF EPWM3CBI FLTPS1 PWM3CEN PWM2CBIF EPWM2CBI ENPWM2TA PWM2CEN 0000,0000 PWMCFG45 增强型 PWM 配置寄存器 FEH PWM5CBIF EPWM5CBI FLTPS2 PWM5CEN PWM4CBIF EPWM4CBI ENPWM4TA PWM4CEN 0000,0000 CPS[2:0] 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 I2CMSCR I2C 主机控制寄存器 FE81H EMSI - - - I2CMSST I C 主机状态寄存器 FE82H MSBUSY MSIF - - - - I2CSLCR I C 从机控制寄存器 FE83H - ESTAI ERXI ETXI ESTOI - - I2CSLST I C 从机状态寄存器 FE84H SLBUSY STAIF RXIF TXIF STOIF TXING SLACKI PWM0IF PWM0 中断标志寄存器 FF05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FF06H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 FF14H ENO INI - - ENI ENT2I ENT1I 00xx,x000 2 2 2 PWM0FDCR PWM0 异常检测控制寄存器 PWM00CR PWM00 控制寄存器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 MSCMD[3:0] 0xxx,0000 MSACKI MSACKO 00xx,xx00 SLRST x000,0xx0 SLACKO 0000,0000 传真: 0513-5501 2926/2956/2947 - 273 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PWM01CR PWM01 控制寄存器 FF1CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM02CR PWM02 控制寄存器 FF24H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM03CR PWM03 控制寄存器 FF2CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM04CR PWM04 控制寄存器 FF34H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM05CR PWM05 控制寄存器 FF3CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM06CR PWM06 控制寄存器 FF44H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM07CR PWM07 控制寄存器 FF4CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM1 中断标志寄存器 FF55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FF56H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 PWM1IF PWM1FDCR PWM1 异常检测控制寄存器 PWM10CR PWM10 控制寄存器 FF64H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM11CR PWM11 控制寄存器 FF6CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM12CR PWM12 控制寄存器 FF74H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM13CR PWM13 控制寄存器 FF7CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM14CR PWM14 控制寄存器 FF84H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM15CR PWM15 控制寄存器 FF8CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM16CR PWM16 控制寄存器 FF94H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM17CR PWM17 控制寄存器 FF9CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM2 中断标志寄存器 FFA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FFA6H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 PWM2IF PWM2FDCR PWM2 异常检测控制寄存器 PWM20CR PWM20 控制寄存器 FFB4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM21CR PWM21 控制寄存器 FFBCH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM22CR PWM22 控制寄存器 FFC4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM23CR PWM23 控制寄存器 FFCCH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM24CR PWM24 控制寄存器 FFD4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM25CR PWM25 控制寄存器 FFDCH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM26CR PWM26 控制寄存器 FFE4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM27CR PWM27 控制寄存器 FFECH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM3 中断标志寄存器 FC05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FC06H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 PWM3IF PWM3FDCR PWM3 异常检测控制寄存器 PWM30CR PWM30 控制寄存器 FC14H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM31CR PWM31 控制寄存器 FC1CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM32CR PWM32 控制寄存器 FC24H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM33CR PWM33 控制寄存器 FC2CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM34CR PWM34 控制寄存器 FC34H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM35CR PWM35 控制寄存器 FC3CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM36CR PWM36 控制寄存器 FC44H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM37CR PWM37 控制寄存器 FC4CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM4 中断标志寄存器 FC55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FC56H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 PWM4IF PWM4FDCR PWM4 异常检测控制寄存器 PWM40CR PWM40 控制寄存器 FC64H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM41CR PWM41 控制寄存器 FC6CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM42CR PWM42 控制寄存器 FC74H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM43CR PWM43 控制寄存器 FC7CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM44CR PWM44 控制寄存器 FC84H ENO INI - - ENI ENT2I ENT1I 00xx,x000 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 274 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PWM45CR PWM45 控制寄存器 FC8CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM46CR PWM46 控制寄存器 FC94H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM47CR PWM47 控制寄存器 FC9CH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM5 中断标志寄存器 FCA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 FCA6H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 PWM5IF PWM5FDCR PWM5 异常检测控制寄存器 PWM50CR PWM50 控制寄存器 FCB4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM51CR PWM51 控制寄存器 FCBCH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM52CR PWM52 控制寄存器 FCC4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM53CR PWM53 控制寄存器 FCCCH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM54CR PWM54 控制寄存器 FCD4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM55CR PWM55 控制寄存器 FCDCH ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM56CR PWM56 控制寄存器 FCE4H ENO INI - - ENI ENT2I ENT1I 00xx,x000 PWM57CR PWM57 控制寄存器 FCECH ENO INI - - ENI ENT2I ENT1I 00xx,x000 触摸按键状态寄存器 2 FB47H TSIF TSDOV - - TSSTA2 11.4.1 TSDNCHN[3:0] 00xx,0000 中断使能寄存器(中断允许位) IE(中断使能寄存器) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 IE A8H EA ELVD EADC ES ET1 EX1 ET0 EX0 EA:总中断允许控制位。EA 的作用是使中断允许形成多级控制。即各中断源首先受 EA 控制;其次还受 各中断源自己的中断允许控制位控制。 0:CPU 屏蔽所有的中断申请 1:CPU 开放中断 ELVD:低压检测中断允许位。 0:禁止低压检测中断 1:允许低压检测中断 EADC:A/D 转换中断允许位。 0:禁止 A/D 转换中断 1:允许 A/D 转换中断 ES:串行口 1 中断允许位。 0:禁止串行口 1 中断 1:允许串行口 1 中断 ET1:定时/计数器 T1 的溢出中断允许位。 0:禁止 T1 中断 1:允许 T1 中断 EX1:外部中断 1 中断允许位。 0:禁止 INT1 中断 1:允许 INT1 中断 ET0:定时/计数器 T0 的溢出中断允许位。 0:禁止 T0 中断 1:允许 T0 中断 EX0:外部中断 0 中断允许位。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 275 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 0:禁止 INT0 中断 1:允许 INT0 中断 IE2(中断使能寄存器 2) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 IE2 AFH ETKSUI ET4 ET3 ES4 ES3 ET2 ESPI ES2 ET4:定时/计数器 T4 的溢出中断允许位。 0:禁止 T4 中断 1:允许 T4 中断 ET3:定时/计数器 T3 的溢出中断允许位。 0:禁止 T3 中断 1:允许 T3 中断 ES4:串行口 4 中断允许位。 0:禁止串行口 4 中断 1:允许串行口 4 中断 ES3:串行口 3 中断允许位。 0:禁止串行口 3 中断 1:允许串行口 3 中断 ET2:定时/计数器 T2 的溢出中断允许位。 0:禁止 T2 中断 1:允许 T2 中断 ESPI:SPI 中断允许位。 0:禁止 SPI 中断 1:允许 SPI 中断 ES2:串行口 2 中断允许位。 0:禁止串行口 2 中断 1:允许串行口 2 中断 ETKSUI:触摸按键中断允许位。 0:禁止触摸按键中断 1:允许触摸按键中断 INTCLKO(外部中断与时钟输出控制寄存器) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 INTCLKO 8FH - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO EX4:外部中断 4 中断允许位。 0:禁止 INT4 中断 1:允许 INT4 中断 EX3:外部中断 3 中断允许位。 0:禁止 INT3 中断 1:允许 INT3 中断 EX2:外部中断 2 中断允许位。 0:禁止 INT2 中断 1:允许 INT2 中断 PCA/CCP/PWM 中断控制寄存器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 276 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 符号 地址 B7 B6 B5 B4 CMOD D9H CIDL - - - 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 B3 B2 B1 CPS[2:0] B0 ECF ECF:PCA 计数器中断允许位。 0:禁止 PCA 计数器中断 1:允许 PCA 计数器中断 ECCF0:PCA 模块 0 中断允许位。 0:禁止 PCA 模块 0 中断 1:允许 PCA 模块 0 中断 ECCF1:PCA 模块 1 中断允许位。 0:禁止 PCA 模块 1 中断 1:允许 PCA 模块 1 中断 ECCF2:PCA 模块 2 中断允许位。 0:禁止 PCA 模块 2 中断 1:允许 PCA 模块 2 中断 CMPCR1(比较器控制寄存器 1) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 CMPCR1 E6H CMPEN CMPIF PIE NIE PIS NIS CMPOE CMPRES B3 B2 PIE:比较器上升沿中断允许位。 0:禁止比较器上升沿中断 1:允许比较器上升沿中断 NIE:比较器下降沿中断允许位。 0:禁止比较器下降沿中断 1:允许比较器下降沿中断 I2C 控制寄存器 符号 地址 B7 B6 B5 B4 I2CMSCR FE81H EMSI - - - I2CSLCR FE83H - ESTAI ERXI ETXI B1 B0 MSCMD[3:0] ESTOI - - SLRST EMSI:I2C主机模式中断允许位。 0:禁止 I2C 主机模式中断 1:允许 I2C 主机模式中断 ESTAI:I2C从机接收START事件中断允许位。 0:禁止 I2C 从机接收 START 事件中断 1:允许 I2C 从机接收 START 事件中断 ERXI:I2C从机接收数据完成事件中断允许位。 0:禁止 I2C 从机接收数据完成事件中断 1:允许 I2C 从机接收数据完成事件中断 ETXI:I2C从机发送数据完成事件中断允许位。 0:禁止 I2C 从机发送数据完成事件中断 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 277 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 1:允许 I2C 从机发送数据完成事件中断 ESTOI:I2C从机接收STOP事件中断允许位。 0:禁止 I2C 从机接收 STOP 事件中断 1:允许 I2C 从机接收 STOP 事件中断 增强型 PWM 配置寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWMCFG01 F6H PWM1CBIF EPWM1CBI FLTPS0 PWM1CEN PWM0CBIF EPWM0CBI ENPWM0TA PWM0CEN PWMCFG23 F7H PWM3CBIF EPWM3CBI FLTPS1 PWM3CEN PWM2CBIF EPWM2CBI ENPWM2TA PWM2CEN PWMCFG45 FEH PWM5CBIF EPWM5CBI FLTPS2 PWM5CEN PWM4CBIF EPWM4CBI ENPWM4TA PWM4CEN EPWM0CBI:增强PWM0计数器中断允许位。 0:禁止 PWM0 计数器中断 1:允许 PWM0 计数器中断 EPWM1CBI:增强PWM1计数器中断允许位。 0:禁止 PWM1 计数器中断 1:允许 PWM1 计数器中断 EPWM2CBI:增强PWM2计数器中断允许位。 0:禁止 PWM2 计数器中断 1:允许 PWM2 计数器中断 EPWM3CBI:增强PWM3计数器中断允许位。 0:禁止 PWM3 计数器中断 1:允许 PWM3 计数器中断 EPWM4CBI:增强PWM4计数器中断允许位。 0:禁止 PWM4 计数器中断 1:允许 PWM4 计数器中断 EPWM5CBI:增强PWM5计数器中断允许位。 0:禁止 PWM5 计数器中断 1:允许 PWM5 计数器中断 增强型 PWM 异常检测控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM0FDCR FF06H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM1FDCR FF56H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF PWM2FDCR FFA6H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM3FDCR FC06H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF PWM4FDCR FC56H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM5FDCR FCA6H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF EFDI:PWM外部异常事件中断允许位。 0:禁止 PWM 外部异常事件中断 1:允许 PWM 外部异常事件中断 增强型 PWM 控制寄存器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 278 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 符号 地址 B7 B6 B5 B4 PWM00CR FF14H ENO INI - PWM01CR FF1CH ENO INI PWM02CR FF24H ENO PWM03CR FF2CH PWM04CR B2 B1 B0 - ENI ENT2I ENT1I - - ENI ENT2I ENT1I INI - - ENI ENT2I ENT1I ENO INI - - ENI ENT2I ENT1I FF34H ENO INI - - ENI ENT2I ENT1I PWM05CR FF3CH ENO INI - - ENI ENT2I ENT1I PWM06CR FF44H ENO INI - - ENI ENT2I ENT1I PWM07CR FF4CH ENO INI - - ENI ENT2I ENT1I PWM10CR FF64H ENO INI - - ENI ENT2I ENT1I PWM11CR FF6CH ENO INI - - ENI ENT2I ENT1I PWM12CR FF74H ENO INI - - ENI ENT2I ENT1I PWM13CR FF7CH ENO INI - - ENI ENT2I ENT1I PWM14CR FF84H ENO INI - - ENI ENT2I ENT1I PWM15CR FF8CH ENO INI - - ENI ENT2I ENT1I PWM16CR FF94H ENO INI - - ENI ENT2I ENT1I PWM17CR FF9CH ENO INI - - ENI ENT2I ENT1I PWM20CR FFB4H ENO INI - - ENI ENT2I ENT1I PWM21CR FFBCH ENO INI - - ENI ENT2I ENT1I PWM22CR FFC4H ENO INI - - ENI ENT2I ENT1I PWM23CR FFCCH ENO INI - - ENI ENT2I ENT1I PWM24CR FFD4H ENO INI - - ENI ENT2I ENT1I PWM25CR FFDCH ENO INI - - ENI ENT2I ENT1I PWM26CR FFE4H ENO INI - - ENI ENT2I ENT1I PWM27CR FFECH ENO INI - - ENI ENT2I ENT1I PWM30CR FC14H ENO INI - - ENI ENT2I ENT1I PWM31CR FC1CH ENO INI - - ENI ENT2I ENT1I PWM32CR FC24H ENO INI - - ENI ENT2I ENT1I PWM33CR FC2CH ENO INI - - ENI ENT2I ENT1I PWM34CR FC34H ENO INI - - ENI ENT2I ENT1I PWM35CR FC3CH ENO INI - - ENI ENT2I ENT1I PWM36CR FC44H ENO INI - - ENI ENT2I ENT1I PWM37CR FC4CH ENO INI - - ENI ENT2I ENT1I PWM40CR FC64H ENO INI - - ENI ENT2I ENT1I PWM41CR FC6CH ENO INI - - ENI ENT2I ENT1I PWM42CR FC74H ENO INI - - ENI ENT2I ENT1I PWM43CR FC7CH ENO INI - - ENI ENT2I ENT1I PWM44CR FC84H ENO INI - - ENI ENT2I ENT1I PWM45CR FC8CH ENO INI - - ENI ENT2I ENT1I PWM46CR FC94H ENO INI - - ENI ENT2I ENT1I PWM47CR FC9CH ENO INI - - ENI ENT2I ENT1I PWM50CR FCB4H ENO INI - - ENI ENT2I ENT1I PWM51CR FCBCH ENO INI - - ENI ENT2I ENT1I PWM52CR FCC4H ENO INI - - ENI ENT2I ENT1I 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 B3 选型顾问: 13922805190 传真: 0513-5501 2926/2956/2947 - 279 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PWM53CR FCCCH ENO INI - - ENI ENT2I ENT1I PWM54CR FCD4H ENO INI - - ENI ENT2I ENT1I PWM55CR FCDCH ENO INI - - ENI ENT2I ENT1I PWM56CR FCE4H ENO INI - - ENI ENT2I ENT1I PWM57CR FCECH ENO INI - - ENI ENT2I ENT1I ECI:PWM通道中断允许位。 0:禁止 PWM 中断 1:允许 PWM 中断 ET2SI:PWM通道第2个触发点中断允许位。 0:禁止 PWM 的第 2 个触发点中断 1:允许 PWM 的第 2 个触发点中断 ET1SI:PWM通道第1个触发点中断允许位。 0:禁止 PWM 的第 1 个触发点中断 1:允许 PWM 的第 1 个触发点中断 11.4.2 中断请求寄存器(中断标志位) 定时器控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 TCON 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1:定时器1溢出中断标志。中断服务程序中,硬件自动清零。 TF0:定时器0溢出中断标志。中断服务程序中,硬件自动清零。 IE1:外部中断1中断请求标志。中断服务程序中,硬件自动清零。 IE0:外部中断0中断请求标志。中断服务程序中,硬件自动清零。 中断标志辅助寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 AUXINTIF EFH - INT4IF INT3IF INT2IF - T4IF T3IF T2IF INT4IF:外部中断4中断请求标志。中断服务程序中硬件自动清零。 INT3IF:外部中断3中断请求标志。中断服务程序中硬件自动清零。 INT2IF:外部中断2中断请求标志。中断服务程序中硬件自动清零。 T4IF:定时器4溢出中断标志。中断服务程序中硬件自动清零(注意:此位为只写寄存器,不可读)。 T3IF:定时器3溢出中断标志。中断服务程序中硬件自动清零(注意:此位为只写寄存器,不可读)。 T2IF:定时器2溢出中断标志。中断服务程序中硬件自动清零(注意:此位为只写寄存器,不可读)。 注意: 早期采用 0.35um 工艺的 1T 8051,STC15 系列增加了 16 位重装载定时器,全球 8051 首次大手笔, 由于制造成本高,STC 可 16 位重装载的定时器 2/3/4 没有设计用户可以访问的中断请求标志位寄存器, 只有内部隐藏的标志位,提供给用户软件清内部隐藏标志位的方法是:用户软件禁止定时器 2/3/4 中断 时,硬件自动清定时器 2/3/4 内部隐藏中断请求标志位。 为了产品的一致性: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 280 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 采用 0.18um 工艺的 STC8A/ STC8F 及后续 STC8G/STC8H/ STC8C/ STC12H 系列虽然增加了定时器 2/3/4 的用户可以访问的中断请求标志位寄存器,但禁止定时器 2/3/4 中断时,硬件自动清定时器 2/3/4 内部隐藏中断请求标志位的功能依然保留了。所以在定时器 2/3/4 没有停止计数时不要随意禁止定时器 2/3/4 中断,否则实际起作用的隐藏的中断请求标志位会被清除掉,会有可能,计数器又溢出后,又产生 了隐藏的中断请求标志位被置 1 后,去请求中断并在等待时,却被用户误清除的事。 这与传统的 INTEL8048,8051 不一样,但 INTEL 已停产,所以 STC 的新设计并没有考虑兼容传统 INTEL 的规格。 这是中国 STC 对 8051 的再发展。 串口控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 SCON 98H SM0/FE SM1 SM2 REN TB8 RB8 TI RI S2CON 9AH S2SM0 - S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI S3CON ACH S3SM0 S3ST3 S3SM2 S3REN S3TB8 S3RB8 S3TI S3RI S4CON 84H S4SM0 S4ST4 S4SM2 S4REN S4TB8 S4RB8 S4TI S4RI TI:串口1发送完成中断请求标志。需要软件清零。 RI:串口1接收完成中断请求标志。需要软件清零。 S2TI:串口2发送完成中断请求标志。需要软件清零。 S2RI:串口2接收完成中断请求标志。需要软件清零。 S3TI:串口3发送完成中断请求标志。需要软件清零。 S3RI:串口3接收完成中断请求标志。需要软件清零。 S4TI:串口4发送完成中断请求标志。需要软件清零。 S4RI:串口4接收完成中断请求标志。需要软件清零。 电源管理寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PCON 87H SMOD SMOD0 LVDF POF GF1 GF0 PD IDL LVDF:低压检测中断请求标志。需要软件清零。 ADC 控制寄存器 符号 地 址 B7 B6 B5 B4 ADC_CONTR BCH ADC_POWER ADC_START ADC_FLAG ADC_EPWMT B3 B2 B1 B0 ADC_CHS[3:0] ADC_FLAG:ADC转换完成中断请求标志。需要软件清零。 SPI 状态寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 SPSTAT CDH SPIF WCOL - - - - - - B4 B3 B2 B1 B0 SPIF:SPI数据传输完成中断请求标志。需要软件清零。 PCA 控制寄存器 符号 地址 深圳国芯人工智能有限公司 B7 B6 B5 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 281 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com CCON D8H CF 技术支持: 13922829991 CR - - 选型顾问: 13922805190 CCF3 CCF2 CCF1 CCF0 CF:PCA计数器中断请求标志。需要软件清零。 CCF3:PCA模块3中断请求标志。需要软件清零。 CCF2:PCA模块2中断请求标志。需要软件清零。 CCF1:PCA模块1中断请求标志。需要软件清零。 CCF0:PCA模块0中断请求标志。需要软件清零。 比较器控制寄存器 1 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 CMPCR1 E6H CMPEN CMPIF PIE NIE PIS NIS CMPOE CMPRES CMPIF:比较器中断请求标志。需要软件清零。 I2C 状态寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 I2CMSST FE82H MSBUSY MSIF - - - - MSACKI MSACKO I2CSLST FE84H SLBUSY STAIF RXIF TXIF STOIF TXING SLACKI SLACKO MSIF:I2C主机模式中断请求标志。需要软件清零。 ESTAI:I2C从机接收START事件中断请求标志。需要软件清零。 ERXI:I2C从机接收数据完成事件中断请求标志。需要软件清零。 ETXI:I2C从机发送数据完成事件中断请求标志。需要软件清零。 ESTOI:I2C从机接收STOP事件中断请求标志。需要软件清零。 增强型 PWM 配置寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWMCFG01 F6H PWM1CBIF EPWM1CBI FLTPS0 PWM1CEN PWM0CBIF EPWM0CBI ENPWM0TA PWM0CEN PWMCFG23 F7H PWM3CBIF EPWM3CBI FLTPS1 PWM3CEN PWM2CBIF EPWM2CBI ENPWM2TA PWM2CEN PWMCFG45 FEH PWM5CBIF EPWM5CBI FLTPS2 PWM5CEN PWM4CBIF EPWM4CBI ENPWM4TA PWM4CEN PWM0CBIF:增强型PWM0计数器中断请求标志。需要软件清零。 PWM1CBIF:增强型PWM1计数器中断请求标志。需要软件清零。 PWM2CBIF:增强型PWM2计数器中断请求标志。需要软件清零。 PWM3CBIF:增强型PWM3计数器中断请求标志。需要软件清零。 PWM4CBIF:增强型PWM4计数器中断请求标志。需要软件清零。 PWM5CBIF:增强型PWM5计数器中断请求标志。需要软件清零。 增强型 PWM 中断标志寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM0IF FF05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM1IF FF55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM2IF FFA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 282 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PWM3IF FC05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM4IF FC55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM5IF FCA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF C7IF:增强型PWM通道7中断请求标志。需要软件清零。 C6IF:增强型PWM通道6中断请求标志。需要软件清零。 C5IF:增强型PWM通道5中断请求标志。需要软件清零。 C4IF:增强型PWM通道4中断请求标志。需要软件清零。 C3IF:增强型PWM通道3中断请求标志。需要软件清零。 C2IF:增强型PWM通道2中断请求标志。需要软件清零。 C1IF:增强型PWM通道1中断请求标志。需要软件清零。 C0IF:增强型PWM通道0中断请求标志。需要软件清零。 增强型 PWM 异常检测控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM0FDCR FF06H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM1FDCR FF56H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF PWM2FDCR FFA6H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM3FDCR FC06H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF PWM4FDCR FC56H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM5FDCR FCA6H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF B2 B1 B0 FDIF:增强型PWM异常检测中断请求标志。需要软件清零。 触摸按键状态寄存器 2 符号 地址 B7 B6 B5 B4 TSSTA2 FB47H TSIF TSDOV - - B3 TSDNCHN[3:0] TSIF:触摸按键中断标志。需软件写1清零。 11.4.3 中断优先级寄存器 除 INT2、INT3、定时器 2、定时器 3 和定时器 4 外,其他中断均有 4 级中断优先级可设置 中断优先级控制寄存器 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 IP B8H PPCA PLVD PADC PS PT1 PX1 PT0 PX0 IPH B7H PPCAH PLVDH PADCH PSH PT1H PX1H PT0H PX0H IP2 B5H PI2C PCMP PX4 PPWM0FD PPWM0 PSPI PS2 IP2H B6H PI2CH PCMPH PX4H PPWM0FDH PPWM0H PSPIH PS2H 深圳国芯人工智能有限公司 PPWM2FD PTKSU PPWM2FDH PTKSUH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 283 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 IP3 DFH PPWM4FD PPWM5 PPWM4 PPWM3 PPWM2 PPWM1 PS4 PS3 IP3H EEH PPWM4FDH PPWM5H PPWM4H PPWM3H PPWM2H PPWM1H PS4H PS3H PX0H,PX0:外部中断0中断优先级控制位 00:INT0 中断优先级为 0 级(最低级) 01:INT0 中断优先级为 1 级(较低级) 10:INT0 中断优先级为 2 级(较高级) 11:INT0 中断优先级为 3 级(最高级) PT0H,PT0:定时器0中断优先级控制位 00:定时器 0 中断优先级为 0 级(最低级) 01:定时器 0 中断优先级为 1 级(较低级) 10:定时器 0 中断优先级为 2 级(较高级) 11:定时器 0 中断优先级为 3 级(最高级) PX1H,PX1:外部中断1中断优先级控制位 00:INT1 中断优先级为 0 级(最低级) 01:INT1 中断优先级为 1 级(较低级) 10:INT1 中断优先级为 2 级(较高级) 11:INT1 中断优先级为 3 级(最高级) PT1H,PT1:定时器1中断优先级控制位 00:定时器 1 中断优先级为 0 级(最低级) 01:定时器 1 中断优先级为 1 级(较低级) 10:定时器 1 中断优先级为 2 级(较高级) 11:定时器 1 中断优先级为 3 级(最高级) PSH,PS:串口1中断优先级控制位 00:串口 1 中断优先级为 0 级(最低级) 01:串口 1 中断优先级为 1 级(较低级) 10:串口 1 中断优先级为 2 级(较高级) 11:串口 1 中断优先级为 3 级(最高级) PADCH,PADC:ADC中断优先级控制位 00:ADC 中断优先级为 0 级(最低级) 01:ADC 中断优先级为 1 级(较低级) 10:ADC 中断优先级为 2 级(较高级) 11:ADC 中断优先级为 3 级(最高级) PLVDH,PLVD:低压检测中断优先级控制位 00:LVD 中断优先级为 0 级(最低级) 01:LVD 中断优先级为 1 级(较低级) 10:LVD 中断优先级为 2 级(较高级) 11:LVD 中断优先级为 3 级(最高级) PPCAH,PPCA:CCP/PCA/PWM中断优先级控制位 00:CCP/PCA/PWM 中断优先级为 0 级(最低级) 01:CCP/PCA/PWM 中断优先级为 1 级(较低级) 10:CCP/PCA/PWM 中断优先级为 2 级(较高级) 11:CCP/PCA/PWM 中断优先级为 3 级(最高级) PS2H,PS2:串口2中断优先级控制位 00:串口 2 中断优先级为 0 级(最低级) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 284 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 01:串口 2 中断优先级为 1 级(较低级) 10:串口 2 中断优先级为 2 级(较高级) 11:串口 2 中断优先级为 3 级(最高级) PS3H,PS3:串口3中断优先级控制位 00:串口 3 中断优先级为 0 级(最低级) 01:串口 3 中断优先级为 1 级(较低级) 10:串口 3 中断优先级为 2 级(较高级) 11:串口 3 中断优先级为 3 级(最高级) PS4H,PS4:串口4中断优先级控制位 00:串口 4 中断优先级为 0 级(最低级) 01:串口 4 中断优先级为 1 级(较低级) 10:串口 4 中断优先级为 2 级(较高级) 11:串口 4 中断优先级为 3 级(最高级) PSPIH,PSPI:SPI中断优先级控制位 00:SPI 中断优先级为 0 级(最低级) 01:SPI 中断优先级为 1 级(较低级) 10:SPI 中断优先级为 2 级(较高级) 11:SPI 中断优先级为 3 级(最高级) PX4H,PX4:外部中断4中断优先级控制位 00:INT4 中断优先级为 0 级(最低级) 01:INT4 中断优先级为 1 级(较低级) 10:INT4 中断优先级为 2 级(较高级) 11:INT4 中断优先级为 3 级(最高级) PCMPH,PCMP:比较器中断优先级控制位 00:CMP 中断优先级为 0 级(最低级) 01:CMP 中断优先级为 1 级(较低级) 10:CMP 中断优先级为 2 级(较高级) 11:CMP 中断优先级为 3 级(最高级) PI2CH,PI2C:I2C中断优先级控制位 00:I2C 中断优先级为 0 级(最低级) 01:I2C 中断优先级为 1 级(较低级) 10:I2C 中断优先级为 2 级(较高级) 11:I2C 中断优先级为 3 级(最高级) PPWM0H,PPWM0:增强型PWM0中断优先级控制位 00:增强型 PWM0 中断优先级为 0 级(最低级) 01:增强型 PWM0 中断优先级为 1 级(较低级) 10:增强型 PWM0 中断优先级为 2 级(较高级) 11:增强型 PWM0 中断优先级为 3 级(最高级) PPWM1H,PPWM1:增强型PWM1中断优先级控制位 00:增强型 PWM1 中断优先级为 0 级(最低级) 01:增强型 PWM1 中断优先级为 1 级(较低级) 10:增强型 PWM1 中断优先级为 2 级(较高级) 11:增强型 PWM1 中断优先级为 3 级(最高级) PPWM2H,PPWM2:增强型PWM2中断优先级控制位 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 285 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 00:增强型 PWM2 中断优先级为 0 级(最低级) 01:增强型 PWM2 中断优先级为 1 级(较低级) 10:增强型 PWM2 中断优先级为 2 级(较高级) 11:增强型 PWM2 中断优先级为 3 级(最高级) PPWM3H,PPWM3:增强型PWM3中断优先级控制位 00:增强型 PWM3 中断优先级为 0 级(最低级) 01:增强型 PWM3 中断优先级为 1 级(较低级) 10:增强型 PWM3 中断优先级为 2 级(较高级) 11:增强型 PWM3 中断优先级为 3 级(最高级) PPWM4H,PPWM4:增强型PWM4中断优先级控制位 00:增强型 PWM4 中断优先级为 0 级(最低级) 01:增强型 PWM4 中断优先级为 1 级(较低级) 10:增强型 PWM4 中断优先级为 2 级(较高级) 11:增强型 PWM4 中断优先级为 3 级(最高级) PPWM5H,PPWM5:增强型PWM5中断优先级控制位 00:增强型 PWM5 中断优先级为 0 级(最低级) 01:增强型 PWM5 中断优先级为 1 级(较低级) 10:增强型 PWM5 中断优先级为 2 级(较高级) 11:增强型 PWM5 中断优先级为 3 级(最高级) PPWM0FDH,PPWM0FD:增强型PWM0异常检测中断优先级控制位 00:PWM0FD 中断优先级为 0 级(最低级) 01:PWM0FD 中断优先级为 1 级(较低级) 10:PWM0FD 中断优先级为 2 级(较高级) 11:PWM0FD 中断优先级为 3 级(最高级) PPWM2FDH,PPWM2FD:增强型PWM2异常检测中断优先级控制位 00:PWM2FD 中断优先级为 0 级(最低级) 01:PWM2FD 中断优先级为 1 级(较低级) 10:PWM2FD 中断优先级为 2 级(较高级) 11:PWM2FD 中断优先级为 3 级(最高级) PPWM4FDH,PPWM4FD:增强型PWM4异常检测中断优先级控制位 00:PWM4FD 中断优先级为 0 级(最低级) 01:PWM4FD 中断优先级为 1 级(较低级) 10:PWM4FD 中断优先级为 2 级(较高级) 11:PWM4FD 中断优先级为 3 级(最高级) PTKSUH,PTKSU:触摸按键中断优先级控制位 00:触摸按键中断优先级为 0 级(最低级) 01:触摸按键中断优先级为 1 级(较低级) 10:触摸按键中断优先级为 2 级(较高级) 11:触摸按键中断优先级为 3 级(最高级) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 286 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11.5 范例程序 INT0 中断(上升沿和下降沿),可同时支持上升沿和下降沿 11.5.1 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P10 P11 = = P1^0; P1^1; void INT0_Isr() interrupt 0 { if (INT0) { P10 = !P10; } else { P11 = !P11; } } //判断上升沿和下降沿 //测试端口 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; IT0 = 0; EX0 = 1; 深圳国芯人工智能有限公司 //使能 INT0 上升沿和下降沿中断 //使能 INT0 中断 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 287 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0003H INT0ISR ORG 0100H JB CPL RETI INT0,RISING P1.0 ;判断上升沿和下降沿 ;测试端口 CPL RETI P1.1 ;测试端口 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H CLR SETB SETB JMP IT0 EX0 EA $ INT0ISR: RISING: MAIN: ;使能 INT0 上升沿和下降沿中断 ;使能 INT0 中断 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 288 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 INT0 中断(下降沿) 11.5.2 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void INT0_Isr() interrupt 0 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //使能 INT0 下降沿中断 //使能 INT0 中断 IT0 = 1; EX0 = 1; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 DATA 深圳国芯人工智能有限公司 093H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 289 - STC8G 系列技术手册 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0003H INT0ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H SETB SETB SETB JMP IT0 EX0 EA $ 技术支持: 13922829991 选型顾问: 13922805190 INT0ISR: ;测试端口 MAIN: ;使能 INT0 下降沿中断 ;使能 INT0 中断 END INT1 中断(上升沿和下降沿),可同时支持上升沿和下降沿 11.5.3 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr P0M1 P0M0 P1M1 深圳国芯人工智能有限公司 = = = 0x93; 0x94; 0x91; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 290 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P10 P11 = = P1^0; P1^1; void INT1_Isr() interrupt 2 { if (INT1) { P10 = !P10; } else { P11 = !P11; } } 技术支持: 13922829991 选型顾问: 13922805190 //判断上升沿和下降沿 //测试端口 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //使能 INT1 上升沿和下降沿中断 //使能 INT1 中断 IT1 = 0; EX1 = 1; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 DATA DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 093H 094H 091H 092H 095H 096H 0B1H 0B2H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 291 - STC8G 系列技术手册 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 DATA DATA DATA DATA 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0013H INT1ISR ORG 0100H JB CPL RETI INT1,RISING P1.0 ;判断上升沿和下降沿 ;测试端口 CPL RETI P1.1 ;测试端口 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H CLR SETB SETB JMP IT1 EX1 EA $ 选型顾问: 13922805190 INT1ISR: RISING: MAIN: ;使能 INT1 上升沿和下降沿中断 ;使能 INT1 中断 END INT1 中断(下降沿) 11.5.4 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 深圳国芯人工智能有限公司 = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 292 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr sfr P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void INT1_Isr() interrupt 2 { P10 = !P10; } 技术支持: 13922829991 选型顾问: 13922805190 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //使能 INT1 下降沿中断 //使能 INT1 中断 IT1 = 1; EX1 = 1; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0013H INT1ISR ORG 0100H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 293 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 INT1ISR: CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H SETB SETB SETB JMP IT1 EX1 EA $ ;测试端口 MAIN: ;使能 INT1 下降沿中断 ;使能 INT1 中断 END INT2 中断(下降沿),只支持下降沿中断 11.5.5 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sfr #define #define #define sbit INTCLKO EX2 EX3 EX4 P10 = 0x8f; 0x10 0x20 0x40 P1^0; = void INT2_Isr() interrupt 10 { 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 294 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 //测试端口 P10 = !P10; } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //使能 INT2 中断 INTCLKO = EX2; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz INTCLKO EX2 EX3 EX4 DATA EQU EQU EQU 8FH 10H 20H 40H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0053H INT2ISR ORG 0100H CPL RETI P1.0 MOV MOV SP, #5FH P0M0, #00H INT2ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 295 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV SETB JMP INTCLKO,#EX2 EA $ 技术支持: 13922829991 选型顾问: 13922805190 ;使能 INT2 中断 END INT3 中断(下降沿),只支持下降沿中断 11.5.6 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sfr #define #define #define sbit INTCLKO EX2 EX3 EX4 P10 = 0x8f; 0x10 0x20 0x40 P1^0; void INT3_Isr() interrupt 11 { P10 = !P10; } = //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 296 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //使能 INT3 中断 INTCLKO = EX3; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz INTCLKO EX2 EX3 EX4 DATA EQU EQU EQU 8FH 10H 20H 40H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 005BH INT3ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H INT3ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 297 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV P4M1, #00H P5M0, #00H P5M1, #00H MOV SETB JMP INTCLKO,#EX3 EA $ 技术支持: 13922829991 选型顾问: 13922805190 ;使能 INT3 中断 END INT4 中断(下降沿),只支持下降沿中断 11.5.7 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sfr #define #define #define sbit INTCLKO EX2 EX3 EX4 P10 = 0x8f; 0x10 0x20 0x40 P1^0; = void INT4_Isr() interrupt 16 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 298 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P5M1 = 0x00; //使能 INT4 中断 INTCLKO = EX4; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz INTCLKO EX2 EX3 EX4 DATA EQU EQU EQU 8FH 10H 20H 40H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0083H INT4ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV SETB JMP INTCLKO,#EX4 EA $ INT4ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 ;使能 INT4 中断 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 299 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 END 定时器 0 中断 11.5.8 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM0_Isr() interrupt 1 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; TMOD = 0x00; TL0 = 0x66; TH0 = 0xfc; TR0 = 1; ET0 = 1; EA = 1; //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 300 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 000BH TM0ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#00H TL0,#66H TH0,#0FCH TR0 ET0 EA JMP $ TM0ISR: ;测试端口 MAIN: ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 11.5.9 定时器 1 中断 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 301 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM1_Isr() interrupt 3 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; TMOD = 0x00; TL1 = 0x66; TH1 = 0xfc; TR1 = 1; ET1 = 1; EA = 1; //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 DATA DATA DATA DATA 深圳国芯人工智能有限公司 093H 094H 091H 092H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 302 - STC8G 系列技术手册 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 001BH TM1ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#00H TL1,#66H TH1,#0FCH TR1 ET1 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM1ISR: ;测试端口 MAIN: ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 11.5.10 定时器 2 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr T2L T2H 深圳国芯人工智能有限公司 = = 0xd7; 0xd6; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 303 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr #define sfr #define AUXR IE2 ET2 AUXINTIF T2IF = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; = 技术支持: 13922829991 选型顾问: 13922805190 0x8e; 0xaf; 0x04 0xef; 0x01 void TM2_Isr() interrupt 12 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T2L = 0x66; T2H = 0xfc; AUXR = 0x10; IE2 = ET2; EA = 1; //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR IE2 ET2 DATA DATA DATA DATA EQU 深圳国芯人工智能有限公司 0D7H 0D6H 8EH 0AFH 04H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 304 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com AUXINTIF T2IF DATA EQU 0EFH 01H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0063H TM2ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T2L,#66H T2H,#0FCH AUXR,#10H IE2,#ET2 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM2ISR: ;测试端口 MAIN: ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 11.5.11 定时器 3 中断 C 语言代码 //测试工作频率为 11.0592MHz 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 305 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr #define sfr #define T3L T3H T4T3M IE2 ET3 AUXINTIF T3IF = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; = void TM3_Isr() interrupt 19 { P10 = !P10; } 0xd5; 0xd4; 0xd1; 0xaf; 0x20 0xef; 0x02 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T3L = 0x66; T3H = 0xfc; T4T3M = 0x08; IE2 = ET3; EA = 1; //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 306 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com T3L T3H T4T3M IE2 ET3 AUXINTIF T3IF DATA DATA DATA DATA EQU DATA EQU 0D5H 0D4H 0D1H 0AFH 20H 0EFH 02H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 009BH TM3ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T3L,#66H T3H,#0FCH T4T3M,#08H IE2,#ET3 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM3ISR: ;测试端口 MAIN: ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 307 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11.5.12 定时器 4 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr #define #define sfr #define #define T3L T3H T4L T4H T4T3M IE2 ET3 ET4 AUXINTIF T3IF T4IF = = = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM4_Isr() interrupt 20 { P10 = !P10; } = 0xd5; 0xd4; 0xd3; 0xd2; 0xd1; 0xaf; 0x20 0x40 0xef; 0x02 0x04 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T4L = 0x66; T4H = 0xfc; 深圳国芯人工智能有限公司 //65536-11.0592M/12/1000 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 308 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 //启动定时器 //使能定时器中断 T4T3M = 0x80; IE2 = ET4; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T3L T3H T4L T4H T4T3M IE2 ET3 ET4 AUXINTIF T3IF T4IF DATA DATA DATA DATA DATA DATA EQU EQU DATA EQU EQU 0D5H 0D4H 0D3H 0D2H 0D1H 0AFH 20H 40H 0EFH 02H 04H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 00A3H TM4ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H TM4ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 309 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV P5M1, #00H MOV MOV MOV MOV SETB T4L,#66H T4H,#0FCH T4T3M,#80H IE2,#ET4 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 11.5.13 UART1 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr T2L T2H AUXR = = = 0xd7; 0xd6; 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P10 P11 = = P1^0; P1^1; void UART1_Isr() interrupt 4 { if (TI) { TI = 0; P10 = !P10; } if (RI) { RI = 0; P11 = !P11; } } //清中断标志 //测试端口 //清中断标志 //测试端口 void main() 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 310 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; SCON = 0x50; T2L = 0xe8; T2H = 0xff; AUXR = 0x15; ES = 1; EA = 1; SBUF = 0x5a; //65536-11059200/115200/4=0FFE8H //启动定时器 //使能串口中断 //发送测试数据 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR DATA DATA DATA 0D7H 0D6H 8EH P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0023H UART1ISR ORG 0100H JNB CLR CPL TI,CHECKRI TI P1.0 ;清中断标志 ;测试端口 JNB CLR RI,ISREXIT RI ;清中断标志 UART1ISR: CHECKRI: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 311 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com CPL P1.1 技术支持: 13922829991 选型顾问: 13922805190 ;测试端口 ISREXIT: RETI MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB SETB MOV SCON,#50H T2L,#0E8H T2H,#0FFH AUXR,#15H ES EA SBUF,#5AH JMP $ ;65536-11059200/115200/4=0FFE8H ;启动定时器 ;使能串口中断 ;发送测试数据 END 11.5.14 UART2 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr #define T2L T2H AUXR S2CON S2BUF IE2 ES2 = = = = = = 0xd7; 0xd6; 0x8e; 0x9a; 0x9b; 0xaf; 0x01 sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 312 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr P4M1 P4M0 P5M1 P5M0 = = = = 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P12 P13 = = P1^2; P1^3; void UART2_Isr() interrupt 8 { if (S2CON & 0x02) { S2CON &= ~0x02; P12 = !P12; } if (S2CON & 0x01) { S2CON &= ~0x01; P13 = !P13; } } 技术支持: 13922829991 选型顾问: 13922805190 //清中断标志 //测试端口 //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; S2CON = 0x10; T2L = 0xe8; T2H = 0xff; AUXR = 0x14; IE2 = ES2; EA = 1; S2BUF = 0x5a; //65536-11059200/115200/4=0FFE8H //启动定时器 //使能串口中断 //发送测试数据 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR S2CON S2BUF IE2 ES2 DATA DATA DATA DATA DATA DATA EQU 深圳国芯人工智能有限公司 0D7H 0D6H 8EH 9AH 9BH 0AFH 01H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 313 - STC8G 系列技术手册 P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0043H UART2ISR ORG 0100H PUSH PUSH MOV JNB ANL CPL ACC PSW A,S2CON ACC.1,CHECKRI S2CON,#NOT 02H P1.2 ;清中断标志 ;测试端口 MOV JNB ANL CPL A,S2CON ACC.0,ISREXIT S2CON,#NOT 01H P1.3 ;清中断标志 ;测试端口 POP POP RETI PSW ACC MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV MOV SETB MOV S2CON,#10H T2L,#0E8H T2H,#0FFH AUXR,#14H IE2,#ES2 EA S2BUF,#5AH 选型顾问: 13922805190 UART2ISR: CHECKRI: ISREXIT: MAIN: 深圳国芯人工智能有限公司 ;65536-11059200/115200/4=0FFE8H ;启动定时器 ;使能串口中断 ;发送测试数据 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 314 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com JMP 技术支持: 13922829991 选型顾问: 13922805190 $ END 11.5.15 UART3 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr #define T2L T2H AUXR S3CON S3BUF IE2 ES3 = = = = = = 0xd7; 0xd6; 0x8e; 0xac; 0xad; 0xaf; 0x08 sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P12 P13 = = P1^2; P1^3; void UART3_Isr() interrupt 17 { if (S3CON & 0x02) { S3CON &= ~0x02; P12 = !P12; } if (S3CON & 0x01) { S3CON &= ~0x01; P13 = !P13; } } //清中断标志 //测试端口 //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 315 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; S3CON = 0x10; T2L = 0xe8; T2H = 0xff; AUXR = 0x14; IE2 = ES3; EA = 1; S3BUF = 0x5a; //65536-11059200/115200/4=0FFE8H //启动定时器 //使能串口中断 //发送测试数据 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR S3CON S3BUF IE2 ES3 DATA DATA DATA DATA DATA DATA EQU 0D7H 0D6H 8EH 0ACH 0ADH 0AFH 08H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 008BH UART3ISR ORG 0100H PUSH PUSH MOV JNB ANL ACC PSW A,S3CON ACC.1,CHECKRI S3CON,#NOT 02H UART3ISR: 深圳国芯人工智能有限公司 ;清中断标志 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 316 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 CPL P1.2 ;测试端口 MOV JNB ANL CPL A,S3CON ACC.0,ISREXIT S3CON,#NOT 01H P1.3 ;清中断标志 ;测试端口 POP POP RETI PSW ACC MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV MOV SETB MOV S3CON,#10H T2L,#0E8H T2H,#0FFH AUXR,#14H IE2,#ES3 EA S3BUF,#5AH JMP $ 选型顾问: 13922805190 CHECKRI: ISREXIT: MAIN: ;65536-11059200/115200/4=0FFE8H ;启动定时器 ;使能串口中断 ;发送测试数据 END 11.5.16 UART4 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr #define T2L T2H AUXR S4CON S4BUF IE2 ES4 = = = = = = 0xd7; 0xd6; 0x8e; 0x84; 0x85; 0xaf; 0x10 sfr P0M1 = 0x93; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 317 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P12 P13 = = P1^2; P1^3; void UART4_Isr() interrupt 18 { if (S4CON & 0x02) { S4CON &= ~0x02; P12 = !P12; } if (S4CON & 0x01) { S4CON &= ~0x01; P13 = !P13; } } 技术支持: 13922829991 选型顾问: 13922805190 //清中断标志 //测试端口 //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; S4CON = 0x10; T2L = 0xe8; T2H = 0xff; AUXR = 0x14; IE2 = ES4; EA = 1; S4BUF = 0x5a; //65536-11059200/115200/4=0FFE8H //启动定时器 //使能串口中断 //发送测试数据 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 318 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 T2L T2H AUXR S4CON S4BUF IE2 ES4 DATA DATA DATA DATA DATA DATA EQU 0D7H 0D6H 8EH 84H 85H 0AFH 10H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0093H UART4ISR ORG 0100H PUSH PUSH MOV JNB ANL CPL ACC PSW A,S4CON ACC.1,CHECKRI S4CON,#NOT 02H P1.2 ;清中断标志 ;测试端口 MOV JNB ANL CPL A,S4CON ACC.0,ISREXIT S4CON,#NOT 01H P1.3 ;清中断标志 ;测试端口 POP POP RETI PSW ACC MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 选型顾问: 13922805190 UART4ISR: CHECKRI: ISREXIT: MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 319 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV SETB MOV S4CON,#10H T2L,#0E8H T2H,#0FFH AUXR,#14H IE2,#ES4 EA S4BUF,#5AH JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;65536-11059200/115200/4=0FFE8H ;启动定时器 ;使能串口中断 ;发送测试数据 END 11.5.17 ADC 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sbit ADC_CONTR ADC_RES ADC_RESL ADCCFG EADC = = = = = 0xbc; 0xbd; 0xbe; 0xde; IE^5; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void ADC_Isr() interrupt 5 { ADC_CONTR &= ~0x20; P0 = ADC_RES; P2 = ADC_RESL; } //清中断标志 //测试端口 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 320 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; ADCCFG = 0x00; ADC_CONTR = 0xc0; EADC = 1; EA = 1; //使能并启动 ADC 模块 //使能 ADC 中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz ADC_CONTR ADC_RES ADC_RESL ADCCFG EADC DATA DATA DATA DATA BIT 0BCH 0BDH 0BEH 0DEH IE.5 P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 002BH ADCISR ORG 0100H ANL MOV MOV RETI ADC_CONTR,#NOT 20H P0,ADC_RES P2,ADC_RESL MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H ADCISR: ;清中断标志 ;测试端口 ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 321 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV SETB SETB ADCCFG,#00H ADC_CONTR,#0C0H EADC EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;使能并启动 ADC 模块 ;使能 ADC 中断 END 11.5.18 LVD 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr #define #define #define #define #define sbit #define RSTCFG ENLVR LVD2V2 LVD2V4 LVD2V7 LVD3V0 ELVD LVDF = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sbit P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 P10 = = = = = = = = = = = = = void LVD_Isr() interrupt 6 { PCON &= ~LVDF; P10 = !P10; } = 0xff; 0x40 0x00 0x01 0x02 0x03 IE^6; 0x20 //RSTCFG.6 //LVD@2.2V //LVD@2.4V //LVD@2.7V //LVD@3.0V //PCON.5 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; P1^0; //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 322 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //上电需要清中断标志 //设置 LVD 电压为 3.0V PCON &= ~LVDF; RSTCFG = LVD3V0; ELVD = 1; //使能 LVD 中断 EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz RSTCFG ENLVR LVD2V2 LVD2V4 LVD2V7 LVD3V0 ELVD LVDF DATA EQU EQU EQU EQU EQU BIT EQU 0FFH 40H 00H 01H 02H 03H IE.6 20H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0033H LVDISR ORG 0100H ANL CPL RETI PCON,#NOT LVDF P1.0 MOV MOV SP, #5FH P0M0, #00H ;RSTCFG.6 ;LVD@2.2V ;LVD@2.4V ;LVD@2.7V ;LVD@3.0V ;PCON.5 LVDISR: ;清中断标志 ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 323 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H ANL MOV SETB SETB JMP PCON,#NOT LVDF RSTCFG,# LVD3V0 ELVD EA $ 技术支持: 13922829991 选型顾问: 13922805190 ;上电需要清中断标志 ;设置 LVD 电压为 3.0V ;使能 LVD 中断 END 11.5.19 PCA 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sbit sbit sbit sbit sbit sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr CCON CF CR CCF2 CCF1 CCF0 CMOD CL CH CCAPM0 CCAP0L CCAP0H PCA_PWM0 CCAPM1 CCAP1L CCAP1H PCA_PWM1 CCAPM2 CCAP2L CCAP2H PCA_PWM2 = = = = = = = = = = = = = = = = = = = = = 0xd8; CCON^7; CCON^6; CCON^2; CCON^1; CCON^0; 0xd9; 0xe9; 0xf9; 0xda; 0xea; 0xfa; 0xf2; 0xdb; 0xeb; 0xfb; 0xf3; 0xdc; 0xec; 0xfc; 0xf4; sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 324 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr sfr sfr P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void PCA_Isr() interrupt 7 { if (CF) { CF = 0; P10 = !P10; } } 技术支持: 13922829991 选型顾问: 13922805190 //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; CCON = 0x00; CMOD = 0x09; CR = 1; EA = 1; //PCA 时钟为系统时钟,使能 PCA 计时中断 //启动 PCA 计时器 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz CCON CF CR CCF2 CCF1 CCF0 CMOD CL CH CCAPM0 CCAP0L CCAP0H PCA_PWM0 DATA BIT BIT BIT BIT BIT DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 0D8H CCON.7 CCON.6 CCON.2 CCON.1 CCON.0 0D9H 0E9H 0F9H 0DAH 0EAH 0FAH 0F2H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 325 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com CCAPM1 CCAP1L CCAP1H PCA_PWM1 CCAPM2 CCAP2L CCAP2H PCA_PWM2 DATA DATA DATA DATA DATA DATA DATA DATA 0DBH 0EBH 0FBH 0F3H 0DCH 0ECH 0FCH 0F4H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 003BH PCAISR ORG 0100H JNB CLR CPL CF,ISREXIT CF P1.0 技术支持: 13922829991 选型顾问: 13922805190 PCAISR: ;清中断标志 ;测试端口 ISREXIT: RETI MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV SETB SETB CCON,#00H CMOD,#09H CR EA JMP $ ;PCA 时钟为系统时钟,使能 PCA 计时中断 ;启动 PCA 计时器 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 326 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 11.5.20 SPI 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr #define SPSTAT SPCTL SPDAT IE2 ESPI = = = = 0xcd; 0xce; 0xcf; 0xaf; 0x02 sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void SPI_Isr() interrupt 9 { SPSTAT = 0xc0; P10 = !P10; } //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; SPCTL = 0x50; SPSTAT = 0xc0; IE2 = ESPI; EA = 1; SPDAT = 0x5a; 深圳国芯人工智能有限公司 //使能 SPI 主机模式 //清中断标志 //使能 SPI 中断 //发送测试数据 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 327 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz SPSTAT SPCTL SPDAT IE2 ESPI DATA DATA DATA DATA EQU 0CDH 0CEH 0CFH 0AFH 02H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 004BH SPIISR ORG 0100H MOV CPL RETI SPSTAT,#0C0H P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB MOV SPCTL,#50H SPSTAT,#0C0H IE2,#ESPI EA SPDAT,#5AH JMP $ SPIISR: ;清中断标志 ;测试端口 MAIN: 深圳国芯人工智能有限公司 ;使能 SPI 主机模式 ;清中断标志 ;使能 SPI 中断 ;发送测试数据 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 328 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 END 11.5.21 比较器中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr CMPCR1 CMPCR2 = = 0xe6; 0xe7; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void CMP_Isr() interrupt 21 { CMPCR1 &= ~0x40; P10 = !P10; } //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; CMPCR2 = 0x00; CMPCR1 = 0x80; CMPCR1 |= 0x30; CMPCR1 &= ~0x08; CMPCR1 |= 0x04; 深圳国芯人工智能有限公司 //使能比较器模块 //使能比较器边沿中断 //P3.6 为 CMP+输入脚 //P3.7 为 CMP-输入脚 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 329 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 //使能比较器输出 CMPCR1 |= 0x02; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz CMPCR1 CMPCR2 DATA DATA 0E6H 0E7H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 00ABH CMPISR ORG 0100H ANL CPL RETI CMPCR1,#NOT 40H P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV ORL ANL ORL ORL SETB CMPCR2,#00H CMPCR1,#80H CMPCR1,#30H CMPCR1,#NOT 08H CMPCR1,#04H CMPCR1,#02H EA CMPISR: ;清中断标志 ;测试端口 MAIN: 深圳国芯人工智能有限公司 ;使能比较器模块 ;使能比较器边沿中断 ;P3.6 为 CMP+输入脚 ;P3.7 为 CMP-输入脚 ;使能比较器输出 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 330 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com JMP 技术支持: 13922829991 选型顾问: 13922805190 $ END 11.5.22 PWM 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr P_SW2 = 0xba; sfr sfr PWMSET PWMCFG01 = = 0xF1; 0xF6; #define #define #define PWM0CH PWM0CL PWM0CKS sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit sbit P10 P11 = = P1^0; P1^1; (*(unsigned char volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF01) (*(unsigned char volatile xdata *)0xFF02) void PWM0_Isr() interrupt 22 { if (PWMCFG01 & 0x08) { PWMCFG01 &= ~0x08; P10 = !P10; } } //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 331 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //使能 PWM0 模块(必须先使能模块后面的设置才有效) PWMSET = 0x01; P_SW2 = 0x80; PWM0CKS = 0x0f; PWM0CH = 0x01; PWM0CL = 0x00; P_SW2 = 0x00; //PWM0 时钟为系统时钟/16 //设置 PWM0 周期为 256 个 PWM0 时钟 //启动 PWM0 模块并使能 PWM0 计数器中断 PWMCFG01 = 0x05; EA = 1; while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH PWMSET PWMCFG01 DATA DATA 0F1H 0F6H PWM0CH PWM0CL PWM0CKS EQU EQU EQU 0FF00H 0FF01H 0FF02H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 00B3H PWM0ISR ORG 0100H PUSH PUSH MOV JNB ANL ACC PSW A,PWMCFG01 ACC.3,ISREXIT PWMCFG01,#NOT 08H PWM0ISR: 深圳国芯人工智能有限公司 ;清中断标志 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 332 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com CPL P1.0 POP POP RETI PSW ACC MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV PWMSET,#01H MOV MOV MOV MOVX MOV MOV MOVX MOV MOV MOVX MOV P_SW2,#80H A,#0FH DPTR,#PWM0CKS @DPTR,A A,#01H DPTR,#PWM0CH @DPTR,A A,#00H DPTR,#PWM0CL @DPTR,A P_SW2,#00H MOV SETB PWMCFG01,#05H EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;测试端口 ISREXIT: MAIN: ;使能 PWM0 模块(必须先使能模块后面的设置才有效) ;PWM0 时钟为系统时钟/16 ;设置 PWM0 周期为 256 个 PWM0 时钟 ;启动 PWM0 模块并使能 PWM0 计数器中断 END 11.5.23 I2C 中断 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr P_SW2 #define #define #define I2CCFG I2CMSCR I2CMSST 深圳国芯人工智能有限公司 = 0xba; (*(unsigned char volatile xdata *)0xfe80) (*(unsigned char volatile xdata *)0xfe81) (*(unsigned char volatile xdata *)0xfe82) 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 333 - STC8G 系列技术手册 #define #define #define #define #define I2CSLCR I2CSLST I2CSLADR I2CTXD I2CRXD sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sbit P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 P10 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 (*(unsigned char volatile xdata *)0xfe83) (*(unsigned char volatile xdata *)0xfe84) (*(unsigned char volatile xdata *)0xfe85) (*(unsigned char volatile xdata *)0xfe86) (*(unsigned char volatile xdata *)0xfe87) = = = = = = = = = = = = = void I2C_Isr() interrupt 24 { _push_(P_SW2); P_SW2 |= 0x80; if (I2CMSST & 0x40) { I2CMSST &= ~0x40; P10 = !P10; } _pop_(P_SW2); } 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; P1^0; //清中断标志 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; P_SW2 = 0x80; I2CCFG = 0xc0; I2CMSCR = 0x80; P_SW2 = 0x00; EA = 1; P_SW2 = 0x80; I2CMSCR = 0x81; P_SW2 = 0x00; //使能 I2C 主机模式 //使能 I2C 中断; //发送起始命令 while (1); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 334 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH I2CCFG I2CMSCR I2CMSST I2CSLCR I2CSLST I2CSLADR I2CTXD I2CRXD XDATA XDATA XDATA XDATA XDATA XDATA XDATA XDATA 0FE80H 0FE81H 0FE82H 0FE83H 0FE84H 0FE85H 0FE86H 0FE87H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 00C3H I2CISR ORG 0100H PUSH PUSH PUSH PUSH MOV MOV MOVX ANL MOVX CPL POP POP POP POP RETI ACC DPL DPH P_SW2 P_SW2,#80H DPTR,#I2CMSST A,@DPTR A,#NOT 40H @DPTR,A P1.0 P_SW2 DPH DPL ACC MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H I2CISR: ;清中断标志 ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 335 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOVX MOV MOV MOVX MOV SETB P_SW2,#80H A,#0C0H DPTR,#I2CCFG @DPTR,A A,#80H DPTR,#I2CMSCR @DPTR,A P_SW2,#00H EA MOV MOV MOV MOVX MOV P_SW2,#80H A,#081H DPTR,#I2CMSCR @DPTR,A P_SW2,#00H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;使能 I2C 主机模式 ;使能 I2C 中断 ;发送起始命令 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 336 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12 定时器/计数器 产品线 定时器数量 STC8G1K08 系列 3 STC8G1K08-8Pin 系列 2 STC8G1K08A 系列 2 STC8G2K64S4 系列 5 STC8G2K64S2 系列 5 STC8G1K08T 系列 3 STC15H2K64S4 系列 5 STC8G 系列单片机内部设置了 5 个 16 位定时器/计数器。5 个 16 位定时器 T0、T1、T2、T3 和 T4 都具有计数方式和定时方式两种工作方式。对定时器/计数器 T0 和 T1,用它们在特殊功能寄存器 TMOD 中相对应的控制位 C/T 来选择 T0 或 T1 为定时器还是计数器。对定时器/计数器 T2,用特殊功能寄存器 AUXR 中的控制位 T2_C/T 来选择 T2 为定时器还是计数器。对定时器/计数器 T3,用特殊功能寄存器 T4T3M 中的控制位 T3_C/T 来选择 T3 为定时器还是计数器。对定时器/计数器 T4,用特殊功能寄存器 T4T3M 中的控制位 T4_C/T 来选择 T4 为定时器还是计数器。定时器/计数器的核心部件是一个加法计数 器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式, 此时定时器/计数器每 12 个时钟或者每 1 个时钟得到一个计数脉冲,计数值加 1;如果计数脉冲来自单片 机外部引脚,则为计数方式,每来一个脉冲加 1。 当定时器/计数器 T0、T1 及 T2 工作在定时模式时,特殊功能寄存器 AUXR 中的 T0x12、T1x12 和 T2x12 分别决定是系统时钟/12 还是系统时钟/1(不分频)后让 T0、T1 和 T2 进行计数。当定时器/计数 器 T3 和 T4 工作在定时模式时,特殊功能寄存器 T4T3M 中的 T3x12 和 T4x12 分别决定是系统时钟/12 还是系统时钟/1(不分频)后让 T3 和 T4 进行计数。当定时器/计数器工作在计数模式时,对外部脉冲计 数不分频。 定时器/计数器 0 有 4 种工作模式:模式 0(16 位自动重装载模式),模式 1(16 位不可重装载模式), 模式 2(8 位自动重装模式),模式 3(不可屏蔽中断的 16 位自动重装载模式)。定时器/计数器 1 除模 式 3 外,其他工作模式与定时器/计数器 0 相同。T1 在模式 3 时无效,停止计数。定时器 T2 的工作模式 固定为 16 位自动重装载模式。T2 可以当定时器使用,也可以当串口的波特率发生器和可编程时钟输出。 定时器 3、定时器 4 与定时器 T2 一样,它们的工作模式固定为 16 位自动重装载模式。T3/T4 可以当定 时器使用,也可以当串口的波特率发生器和可编程时钟输出。 12.1 定时器的相关寄存器 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 TCON 定时器控制寄存器 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0000,0000 TMOD 定时器模式寄存器 89H GATE C/T M1 M0 GATE C/T M1 M0 0000,0000 TL0 定时器 0 低 8 位寄存器 8AH 0000,0000 TL1 定时器 1 低 8 位寄存器 8BH 0000,0000 TH0 定时器 0 高 8 位寄存器 8CH 0000,0000 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 337 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 TH1 定时器 1 高 8 位寄存器 8DH AUXR 辅助寄存器 1 8EH T0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 EXTRAM INTCLKO 中断与时钟输出控制寄存器 8FH - EX4 EX3 EX2 - T2CLKO T1CLKO WKTCL 掉电唤醒定时器低字节 AAH WKTCH 掉电唤醒定时器高字节 ABH WKTEN T4T3M 定时器 4/3 控制寄存器 D1H T4R T4H 定时器 4 高字节 D2H 0000,0000 T4L 定时器 4 低字节 D3H 0000,0000 T3H 定时器 3 高字节 D4H 0000,0000 T3L 定时器 3 低字节 D5H 0000,0000 T2H 定时器 2 高字节 D6H 0000,0000 T2L 定时器 2 低字节 D7H 0000,0000 符号 描述 0000,0000 S1ST2 0000,0001 T0CLKO x000,x000 1111,1111 0111,1111 T4_C/T T4x12 T4CLKO T3R T3_C/T T3x12 T3CLKO 0000,0000 位地址与符号 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 TM2PS 定时器 2 时钟预分频寄存器 FEA2H 0000,0000 TM3PS 定时器 3 时钟预分频寄存器 FEA3H 0000,0000 TM4PS 定时器 4 时钟预分频寄存器 FEA4H 0000,0000 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 338 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12.2 定时器 0/1 定时器 0/1 控制寄存器(TCON) 12.2.1 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 TCON 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1:T1溢出中断标志。T1被允许计数以后,从初值开始加1计数。当产生溢出时由硬件将TF1位置“1”, 并向CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0”(也可由查询软件清“0”)。 TR1:定时器T1的运行控制位。该位由软件置位和清零。当GATE(TMOD.7)=0,TR1=1时就允许T1开 始计数,TR1=0时禁止T1计数。当GATE(TMOD.7)=1,TR1=1且INT1输入高电平时,才允许T1 计数。 TF0:T0溢出中断标志。T0被允许计数以后,从初值开始加1计数,当产生溢出时,由硬件置“1”TF0, 向CPU请求中断,一直保持CPU响应该中断时,才由硬件清0(也可由查询软件清0)。 TR0:定时器T0的运行控制位。该位由软件置位和清零。当GATE(TMOD.3)=0,TR0=1时就允许T0开 始计数,TR0=0时禁止T0计数。当GATE(TMOD.3)=1,TR0=1且INT0输入高电平时,才允许T0 计数,TR0=0时禁止T0计数。 IE1:外部中断1请求源(INT1/P3.3)标志。IE1=1,外部中断向CPU请求中断,当CPU响应该中断时由 硬件清“0”IE1。 IT1:外部中断源1触发控制位。IT1=0,上升沿或下降沿均可触发外部中断1。IT1=1,外部中断1程控为 下降沿触发方式。 IE0:外部中断0请求源(INT0/P3.2)标志。IE0=1外部中断0向CPU请求中断,当CPU响应外部中断时, 由硬件清“0”IE0(边沿触发方式)。 IT0:外部中断源0触发控制位。IT0=0,上升沿或下降沿均可触发外部中断0。IT0=1,外部中断0程控为 下降沿触发方式。 定时器 0/1 模式寄存器(TMOD) 12.2.2 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 TMOD 89H T1_GATE T1_C/T T1_M1 T1_M0 T0_GATE T0_C/T T0_M1 T0_M0 T1_GATE:控制定时器1,置1时只有在INT1脚为高及TR1控制位置1时才可打开定时器/计数器1。 T0_GATE:控制定时器0,置1时只有在INT0脚为高及TR0控制位置1时才可打开定时器/计数器0。 T1_C/T:控制定时器1用作定时器或计数器,清0则用作定时器(对内部系统时钟进行计数),置1用作 计数器(对引脚T1/P3.5外部脉冲进行计数)。 T0_C/T:控制定时器0用作定时器或计数器,清0则用作定时器(对内部系统时钟进行计数),置1用作 计数器(对引脚T0/P3.4外部脉冲进行计数)。 T1_M1/T1_M0:定时器定时器/计数器1模式选择 T1_M1 T1_M0 0 0 定时器/计数器1工作模式 16位自动重载模式 当[TH1,TL1]中的16位计数值溢出时,系统会自动将内部16位 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 339 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 重载寄存器中的重载值装入[TH1,TL1]中。 16位不自动重载模式 0 1 当[TH1,TL1]中的16位计数值溢出时,定时器1将从0开始计数 8位自动重载模式 1 0 当TL1中的8位计数值溢出时,系统会自动将TH1中的重载值 装入TL1中。 1 1 T1停止工作 T0_M1/T0_M0:定时器定时器/计数器0模式选择 T0_M1 定时器/计数器0工作模式 T0_M0 16位自动重载模式 0 0 当[TH0,TL0]中的16位计数值溢出时,系统会自动将内部16位 重载寄存器中的重载值装入[TH0,TL0]中。 16位不自动重载模式 0 1 当[TH0,TL0]中的16位计数值溢出时,定时器0将从0开始计数 8位自动重载模式 1 0 当TL0中的8位计数值溢出时,系统会自动将TH0中的重载值 装入TL0中。 不可屏蔽中断的16位自动重载模式 与模式0相同,不可屏蔽中断,中断优先级最高,高于其他所 1 1 有中断的优先级,并且不可关闭,可用作操作系统的系统节拍 定时器,或者系统监控定时器。 12.2.3 定时器 0 模式 0(16 位自动重装载模式) 此模式下定时器/计数器 0 作为可自动重装载的 16 位计数器,如下图所示: AUXR.7/T0x12=0 ÷12 SYSclk TF0 C/T=0 Interrupt Toggle ÷1 TH0 (8bits) AUXR.7/T0x12=1 C/T=1 T0 Pin TL0 (8bits) control T0CLKO TR0 GATE INT0 T0CLKO P3.5 RL_TH0 (8bits) RL_TL0 (8bits) 定时器/计数器 0 的模式 0:16 位自动重装载模式 当 GATE=0(TMOD.3)时,如 TR0=1,则定时器计数。GATE=1 时,允许由外部输入 INT0 控制定时器 0, 这样可实现脉宽测量。TR0 为 TCON 寄存器内的控制位,TCON 寄存器各位的具体功能描述见上节 TCON 寄 存器的介绍。 当 C/T=0 时,多路开关连接到系统时钟的分频输出,T0 对内部系统时钟计数,T0 工作在定时方式。当 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 340 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C/T=1 时,多路开关连接到外部脉冲输入 P3.4/T0,即 T0 工作在计数方式。 STC 单片机的定时器 0 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T0 的速率由特殊功能寄存器 AUXR 中的 T0x12 决定,如果 T0x12=0,T0 则工作在 12T 模式;如果 T0x12=1,T0 则工作在 1T 模式 定时器 0 有两个隐藏的寄存器 RL_TH0 和 RL_TL0。RL_TH0 与 TH0 共有同一个地址,RL_TL0 与 TL0 共有同一个地址。当 TR0=0 即定时器/计数器 0 被禁止工作时,对 TL0 写入的内容会同时写入 RL_TL0,对 TH0 写入的内容也会同时写入 RL_TH0。当 TR0=1 即定时器/计数器 0 被允许工作时,对 TL0 写入内容,实 际上不是写入当前寄存器 TL0 中,而是写入隐藏的寄存器 RL_TL0 中,对 TH0 写入内容,实际上也不是写入 当前寄存器 TH0 中,而是写入隐藏的寄存器 RL_TH0,这样可以巧妙地实现 16 位重装载定时器。当读 TH0 和 TL0 的内容时,所读的内容就是 TH0 和 TL0 的内容,而不是 RL_TH0 和 RL_TL0 的内容。 当定时器 0 工作在模式 0(TMOD[1:0]/[M1,M0]=00B)时,[TH0,TL0]的溢出不仅置位 TF0,而且会自动 将[RL_TH0,RL_TL0]的内容重新装入[TH0,TL0]。 当 T0CLKO/INT_CLKO.0=1 时,P3.5/T1 管脚配置为定时器 0 的时钟输出 T0CLKO。输出时钟频率为 T0 溢出率/2。 如果 C/T=0,定时器/计数器 T0 对内部系统时钟计数,则: T0 工作在 1T 模式(AUXR.7/T0x12=1)时的输出时钟频率 = (SYSclk)/(65536-[RL_TH0, RL_TL0])/2 T0 工作在 12T 模式(AUXR.7/T0x12=0)时的输出时钟频率 = (SYSclk)/12/(65536-[RL_TH0, RL_TL0])/2 如果 C/T=1,定时器/计数器 T0 是对外部脉冲输入(P3.4/T0)计数,则: 输出时钟频率 = (T0_Pin_CLK) / (65536-[RL_TH0, RL_TL0])/2 12.2.4 定时器 0 模式 1(16 位不可重装载模式) 此模式下定时器/计数器 0 工作在 16 位不可重装载模式,如下图所示 AUXR.7/T0x12=0 ÷12 SYSclk TF0 C/T=0 Interrupt Toggle ÷1 TH0 (8bits) AUXR.7/T0x12=1 C/T=1 T0 Pin TL0 (8bits) T0CLKO P3.5 control T0CLKO TR0 GATE INT0 定时器/计数器 0 的模式 1:16 位不可重装载模式 此模式下,定时器/计数器 0 配置为 16 位不可重装载模式,由 TL0 的 8 位和 TH0 的 8 位所构成。TL0 的 8 位溢出向 TH0 进位,TH0 计数溢出置位 TCON 中的溢出标志位 TF0。 当 GATE=0(TMOD.3)时,如 TR0=1,则定时器计数。GATE=1 时,允许由外部输入 INT0 控制定时器 0, 这样可实现脉宽测量。TR0 为 TCON 寄存器内的控制位,TCON 寄存器各位的具体功能描述见上节 TCON 寄 存器的介绍。 当 C/T=0 时,多路开关连接到系统时钟的分频输出,T0 对内部系统时钟计数,T0 工作在定时方式。当 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 341 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C/T=1 时,多路开关连接到外部脉冲输入 P3.4/T0,即 T0 工作在计数方式。 STC 单片机的定时器 0 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T0 的速率由特殊功能寄存器 AUXR 中的 T0x12 决定,如果 T0x12=0,T0 则工作在 12T 模式;如果 T0x12=1,T0 则工作在 1T 模式 12.2.5 定时器 0 模式 2(8 位自动重装载模式) 此模式下定时器/计数器 0 作为可自动重装载的 8 位计数器,如下图所示: AUXR.7/T0x12=0 ÷12 SYSclk TF0 C/T=0 Interrupt Toggle ÷1 TL0 (8bits) AUXR.7/T0x12=1 C/T=1 T0 Pin T0CLKO P3.5 control T0CLKO TR0 TH0 (8bits) GATE INT0 定时器/计数器 0 的模式 2:8 位自动重装载模式 TL0 的溢出不仅置位 TF0,而且将 TH0 的内容重新装入 TL0,TH0 内容由软件预置,重装时 TH0 内容不 变。 当 T0CLKO/INT_CLKO.0=1 时,P3.5/T1 管脚配置为定时器 0 的时钟输出 T0CLKO。输出时钟频率为 T0 溢出率/2。 如果 C/T=0,定时器/计数器 T0 对内部系统时钟计数,则: T0 工作在 1T 模式(AUXR.7/T0x12=1)时的输出时钟频率 = (SYSclk)/(256-TH0)/2 T0 工作在 12T 模式(AUXR.7/T0x12=0)时的输出时钟频率 = (SYSclk)/12/(256-TH0)/2 如果 C/T=1,定时器/计数器 T0 是对外部脉冲输入(P3.4/T0)计数,则: 输出时钟频率 = (T0_Pin_CLK) / (256-TH0)/2 12.2.6 定时器 0 模式 3(不可屏蔽中断 16 位自动重装载,实时操作 系统节拍器) 对定时器/计数器 0,其工作模式模式 3 与工作模式 0 是一样的(下图定时器模式 3 的原理图,与工作模 式 0 是一样的)。唯一不同的是:当定时器/计数器 0 工作在模式 3 时,只需允许 ET0/IE.1(定时器/计数器 0 中 断允许位),不需要允许 EA/IE.7(总中断使能位)就能打开定时器/计数器 0 的中断,此模式下的定时器/计数器 0 中断与总中断使能位 EA 无关,一旦工作在模式 3 下的定时器/计数器 0 中断被打开(ET0=1),那么该中断是 不可屏蔽的,该中断的优先级是最高的,即该中断不能被任何中断所打断,而且该中断打开后既不受 EA/IE.7 控制也不再受 ET0 控制,当 EA=0 或 ET0=0 时都不能屏蔽此中断。故将此模式称为不可屏蔽中断的 16 位自 动重装载模式。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 342 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 AUXR.7/T0x12=0 ÷12 SYSclk TF0 C/T=0 Interrupt Toggle ÷1 TH0 (8bits) AUXR.7/T0x12=1 C/T=1 T0 Pin TL0 (8bits) T0CLKO P3.5 control T0CLKO TR0 RL_TH0 (8bits) GATE INT0 RL_TL0 (8bits) 定时器/计数器 0 的模式 3:不可屏蔽中断的 16 位自动重装载模式 注意:当定时器/计数器 0 工作在模式 3(不可屏蔽中断的 16 位自动重装载模式)时,不需要允许 EA/IE.7(总中断使能位), 只需允许 ET0/IE.1(定时器/计数器 0 中断允许位)就能打开定时器/计数器 0 的中断,此模式下的定时器/计数器 0 中 断与总中断使能位 EA 无关。一旦此模式下的定时器/计数器 0 中断被打开后,该定时器/计数器 0 中断优先级就是 最高的,它不能被其它任何中断所打断(不管是比定时器/计数器 0 中断优先级低的中断还是比其优先级高的中断, 都不能打断此时的定时器/计数器 0 中断),而且该中断打开后既不受 EA/IE.7 控制也不再受 ET0 控制了,清零 EA 或 ET0 都不能关闭此中断。 12.2.7 定时器 1 模式 0(16 位自动重装载模式) 此模式下定时器/计数器 1 作为可自动重装载的 16 位计数器,如下图所示: AUXR.6/T1x12=0 ÷12 SYSclk TF1 C/T=0 Interrupt Toggle ÷1 TH1 (8bits) AUXR.6/T1x12=1 C/T=1 T1 Pin TL1 (8bits) T1CLKO P3.4 control T1CLKO TR1 GATE INT1 RL_TH1 (8bits) RL_TL1 (8bits) 定时器/计数器 1 的模式 0:16 位自动重装载模式 当 GATE=0(TMOD.7)时,如 TR1=1,则定时器计数。GATE=1 时,允许由外部输入 INT1 控制定时器 1, 这样可实现脉宽测量。TR1 为 TCON 寄存器内的控制位,TCON 寄存器各位的具体功能描述见上节 TCON 寄 存器的介绍。 当 C/T=0 时,多路开关连接到系统时钟的分频输出,T1 对内部系统时钟计数,T1 工作在定时方式。当 C/T=1 时,多路开关连接到外部脉冲输入 P3.5/T1,即 T1 工作在计数方式。 STC 单片机的定时器 1 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T1 的速率由特殊功能寄存器 AUXR 中的 T1x12 决定,如果 T1x12=0,T1 则工作在 12T 模式;如果 T1x12=1,T1 则工作在 1T 模式 定时器 1 有两个隐藏的寄存器 RL_TH1 和 RL_TL1。RL_TH1 与 TH1 共有同一个地址,RL_TL1 与 TL1 共有同一个地址。当 TR1=0 即定时器/计数器 1 被禁止工作时,对 TL1 写入的内容会同时写入 RL_TL1,对 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 343 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 TH1 写入的内容也会同时写入 RL_TH1。当 TR1=1 即定时器/计数器 1 被允许工作时,对 TL1 写入内容,实 际上不是写入当前寄存器 TL1 中,而是写入隐藏的寄存器 RL_TL1 中,对 TH1 写入内容,实际上也不是写入 当前寄存器 TH1 中,而是写入隐藏的寄存器 RL_TH1,这样可以巧妙地实现 16 位重装载定时器。当读 TH1 和 TL1 的内容时,所读的内容就是 TH1 和 TL1 的内容,而不是 RL_TH1 和 RL_TL1 的内容。 当定时器 1 工作在模式 1(TMOD[5:4]/[M1,M0]=00B)时,[TH1,TL1]的溢出不仅置位 TF1,而且会自动 将[RL_TH1,RL_TL1]的内容重新装入[TH1,TL1]。 当 T1CLKO/INT_CLKO.1=1 时,P3.4/T0 管脚配置为定时器 1 的时钟输出 T1CLKO。输出时钟频率为 T1 溢出率/2。 如果 C/T=0,定时器/计数器 T1 对内部系统时钟计数,则: T1 工作在 1T 模式(AUXR.6/T1x12=1)时的输出时钟频率 = (SYSclk)/(65536-[RL_TH1, RL_TL1])/2 T1 工作在 12T 模式(AUXR.6/T1x12=0)时的输出时钟频率 = (SYSclk)/12/(65536-[RL_TH1, RL_TL1])/2 如果 C/T=1,定时器/计数器 T1 是对外部脉冲输入(P3.5/T1)计数,则: 输出时钟频率 = (T1_Pin_CLK) / (65536-[RL_TH1, RL_TL1])/2 12.2.8 定时器 1 模式 1(16 位不可重装载模式) 此模式下定时器/计数器 1 工作在 16 位不可重装载模式,如下图所示 AUXR.6/T1x12=0 ÷12 SYSclk TF1 C/T=0 Interrupt Toggle ÷1 TH1 (8bits) AUXR.6/T1x12=1 C/T=1 T1 Pin TL1 (8bits) T1CLKO P3.4 control T1CLKO TR1 GATE INT1 定时器/计数器 1 的模式 1:16 位不可重装载模式 此模式下,定时器/计数器 1 配置为 16 位不可重装载模式,由 TL1 的 8 位和 TH1 的 8 位所构成。TL1 的 8 位溢出向 TH1 进位,TH1 计数溢出置位 TCON 中的溢出标志位 TF1。 当 GATE=0(TMOD.7)时,如 TR1=1,则定时器计数。GATE=1 时,允许由外部输入 INT1 控制定时器 1, 这样可实现脉宽测量。TR1 为 TCON 寄存器内的控制位,TCON 寄存器各位的具体功能描述见上节 TCON 寄 存器的介绍。 当 C/T=0 时,多路开关连接到系统时钟的分频输出,T1 对内部系统时钟计数,T1 工作在定时方式。当 C/T=1 时,多路开关连接到外部脉冲输入 P3.5/T1,即 T1 工作在计数方式。 STC 单片机的定时器 1 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T1 的速率由特殊功能寄存器 AUXR 中的 T1x12 决定,如果 T1x12=0,T1 则工作在 12T 模式;如果 T1x12=1,T1 则工作在 1T 模式 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 344 - STC8G 系列技术手册 12.2.9 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 定时器 1 模式 2(8 位自动重装载模式) 此模式下定时器/计数器 1 作为可自动重装载的 8 位计数器,如下图所示: AUXR.6/T1x12=0 ÷12 SYSclk TF1 C/T=0 Interrupt Toggle ÷1 TL1 (8bits) AUXR.6/T1x12=1 C/T=1 T1 Pin T1CLKO P3.4 control T1CLKO TR1 TH1 (8bits) GATE INT1 定时器/计数器 1 的模式 2:8 位自动重装载模式 TL1 的溢出不仅置位 TF1,而且将 TH1 的内容重新装入 TL1,TH1 内容由软件预置,重装时 TH1 内容不 变。 当 T1CLKO/INT_CLKO.1=1 时,P3.4/T0 管脚配置为定时器 1 的时钟输出 T1CLKO。输出时钟频率为 T1 溢出率/2。 如果 C/T=0,定时器/计数器 T1 对内部系统时钟计数,则: T1 工作在 1T 模式(AUXR.6/T1x12=1)时的输出时钟频率 = (SYSclk)/(256-TH1)/2 T1 工作在 12T 模式(AUXR.6/T1x12=0)时的输出时钟频率 = (SYSclk)/12/(256-TH1)/2 如果 C/T=1,定时器/计数器 T1 是对外部脉冲输入(P3.5/T1)计数,则: 输出时钟频率 = (T1_Pin_CLK) / (256-TH1)/2 12.2.10 定时器 0 计数寄存器(TL0,TH0) 符号 地址 TL0 8AH TH0 8CH B7 B6 B5 B4 B3 B2 B1 B0 当定时器/计数器0工作在16位模式(模式0、模式1、模式3)时,TL0和TH0组合成为一个16位寄存器, TL0为低字节,TH0为高字节。若为8位模式(模式2)时,TL0和TH0为两个独立的8位寄存器。 12.2.11 定时器 1 计数寄存器(TL1,TH1) 符号 地址 TL1 8BH TH1 8DH B7 B6 B5 B4 B3 B2 B1 B0 当定时器/计数器1工作在16位模式(模式0、模式1)时,TL1和TH1组合成为一个16位寄存器,TL1为低 字节,TH1为高字节。若为8位模式(模式2)时,TL1和TH1为两个独立的8位寄存器。 12.2.12 辅助寄存器 1(AUXR) 符号 地址 深圳国芯人工智能有限公司 B7 B6 B5 国内分销商电话: 0513-5501 2928/2929/2966 B4 B3 B2 B1 传真: 0513-5501 2926/2956/2947 B0 - 345 - STC8G 系列技术手册 AUXR 官方网站: www.STCMCUDATA.com 8EH T0x12 T1x12 UART_M0x6 技术支持: 13922829991 选型顾问: 13922805190 T2R EXTRAM S1ST2 T2_C/T T2x12 T0x12:定时器0速度控制位 0:12T 模式,即 CPU 时钟 12 分频(FOSC/12) 1:1T 模式,即 CPU 时钟不分频分频(FOSC/1) T1x12:定时器1速度控制位 0:12T 模式,即 CPU 时钟 12 分频(FOSC/12) 1:1T 模式,即 CPU 时钟不分频分频(FOSC/1) 12.2.13 中断与时钟输出控制寄存器(INTCLKO) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 INTCLKO 8FH - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO T0CLKO:定时器0时钟输出控制 0:关闭时钟输出 1:使能 P3.5 口的是定时器 0 时钟输出功能 当定时器 0 计数发生溢出时,P3.5 口的电平自动发生翻转。 T1CLKO:定时器1时钟输出控制 0:关闭时钟输出 1:使能 P3.4 口的是定时器 1 时钟输出功能 当定时器 1 计数发生溢出时,P3.4 口的电平自动发生翻转。 12.2.14 定时器 0 定时计算公式 定时器模式 定时器速度 周期计算公式 1T 定时器周期 = 12T 定时器周期 = 1T 定时器周期 = 12T 定时器周期 = 1T 定时器周期 = 12T 定时器周期 = SYSclk 模式0/3 (16位自动重载) 65536 – [TH0, TL0] SYSclk 65536 – [TH0, TL0] SYSclk 模式1 (16位不自动重载) 65536 – [TH0, TL0] SYSclk 256 – TH0 SYSclk 模式2 (8位自动重载) 深圳国芯人工智能有限公司 65536 – [TH0, TL0] 256 – TH0 SYSclk 国内分销商电话: 0513-5501 2928/2929/2966 (自动重载) ×12 (自动重载) (需软件装载) ×12 (需软件装载) (自动重载) ×12 (自动重载) 传真: 0513-5501 2926/2956/2947 - 346 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12.2.15 定时器 1 定时计算公式 定时器模式 定时器速度 周期计算公式 1T 定时器周期 = 12T 定时器周期 = 1T 定时器周期 = 12T 定时器周期 = 1T 定时器周期 = 12T 定时器周期 = SYSclk 模式0 (16位自动重载) 65536 – [TH1, TL1] SYSclk 65536 – [TH1, TL1] SYSclk 模式1 (16位不自动重载) 65536 – [TH1, TL1] SYSclk 256 – TH1 SYSclk 模式2 (8位自动重载) 深圳国芯人工智能有限公司 65536 – [TH1, TL1] 256 – TH1 SYSclk 国内分销商电话: 0513-5501 2928/2929/2966 (自动重载) ×12 (自动重载) (需软件装载) ×12 (需软件装载) (自动重载) ×12 (自动重载) 传真: 0513-5501 2926/2956/2947 - 347 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12.3 定时器 2(24 位定时器,8 位预分频+16 位定时) 12.3.1 辅助寄存器 1(AUXR) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 AUXR 8EH T0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 EXTRAM S1ST2 T2R:定时器2的运行控制位 0:定时器 2 停止计数 1:定时器 2 开始计数 T2_C/T:控制定时器0用作定时器或计数器,清0则用作定时器(对内部系统时钟进行计数),置1用作 计数器(对引脚T2/P1.2外部脉冲进行计数)。 T2x12:定时器2速度控制位 0:12T 模式,即 CPU 时钟 12 分频(FOSC/12) 1:1T 模式,即 CPU 时钟不分频分频(FOSC/1) 12.3.2 中断与时钟输出控制寄存器(INTCLKO) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 INTCLKO 8FH - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO T2CLKO:定时器2时钟输出控制 0:关闭时钟输出 1:使能 P1.3 口的是定时器 2 时钟输出功能 当定时器 2 计数发生溢出时,P1.3 口的电平自动发生翻转。 12.3.3 定时器 2 计数寄存器(T2L,T2H) 符号 地址 T2L D7H T2H D6H B7 B6 B5 B4 B3 B2 B1 B0 定时器/计数器2的工作模式固定为16位重载模式,T2L和T2H组合成为一个16位寄存器,T2L为低字节, T2H为高字节。当[T2H,T2L]中的16位计数值溢出时,系统会自动将内部16位重载寄存器中的重载 值装入[T2H,T2L]中。 12.3.4 定时器 2 的 8 位预分频寄存器(TM2PS) 符号 地址 TM2PS FEA2H B7 B6 B5 B4 B3 B2 B1 B0 定时器2的时钟 = 系统时钟SYSclk ÷ ( TM2PS + 1 ) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 348 - STC8G 系列技术手册 12.3.5 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 定时器 2 工作模式 定时器/计数器 2 的原理框图如下: AUXR.2/T2x12=0 ÷12 SYSclk TM2PS T2IF T2_C/T=0 ÷1 T2H (8bits) AUXR.2/T2x12=1 T2_C/T=1 T2 Pin Interrupt T2L (8bits) T2CLKO Toggle control T2CLKO T2R RL_T2H (8bits) RL_T2L (8bits) 定时器/计数器 2 的工作模式:16 位自动重装载模式 T2R/AUXR.4 为 AUXR 寄存器内的控制位,AUXR 寄存器各位的具体功能描述见上节 AUXR 寄存器的介 绍。 当 T2_C/T=0 时,多路开关连接到系统时钟输出,T2 对内部系统时钟计数, T2 工作在定时方式。 当 T2_C/T=1 时,多路开关连接到外部脉冲输 T2,即 T2 工作在计数方式。 STC 单片机的定时器 2 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T2 的速率由特殊功能寄存器 AUXR 中的 T2x12 决定,如果 T2x12=0,T2 则工作在 12T 模式;如果 T2x12=1,T2 则工作在 1T 模式 定时器 2 有两个隐藏的寄存器 RL_T2H 和 RL_T2L。RL_T2H 与 T2H 共有同一个地址,RL_T2L 与 T2L 共有同一个地址。当 T2R=0 即定时器/计数器 2 被禁止工作时,对 T2L 写入的内容会同时写入 RL_T2L,对 T2H 写入的内容也会同时写入 RL_T2H。当 T2R=1 即定时器/计数器 2 被允许工作时,对 T2L 写入内容,实 际上不是写入当前寄存器 T2L 中,而是写入隐藏的寄存器 RL_T2L 中,对 T2H 写入内容,实际上也不是写入 当前寄存器 T2H 中,而是写入隐藏的寄存器 RL_T2H,这样可以巧妙地实现 16 位重装载定时器。当读 T2H 和 T2L 的内容时,所读的内容就是 T2H 和 T2L 的内容,而不是 RL_T2H 和 RL_T2L 的内容。 [T2H,T2L]的溢出不仅置位中断请求标志位(T2IF),使 CPU 转去执行定时器 2 的中断程序,而且会自动 将[RL_T2H,RL_T2L]的内容重新装入[T2H,T2L]。 12.3.6 定时器 2 计算公式 定时器速度 周期计算公式 1T 定时器周期 = 12T 定时器周期 = 65536 – [T2H, T2L] SYSclk/TM2PS 深圳国芯人工智能有限公司 65536 – [T2H, T2L] SYSclk/TM2PS (自动重载) ×12 (自动重载) 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 349 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12.4 定时器 3/4(24 位定时器,8 位预分频+16 位定时) 12.4.1 定时器 4/3 控制寄存器(T4T3M) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 T4T3M D1H T4R T4_C/T T4x12 T4CLKO T3R T3_C/T T3x12 T3CLKO T4R:定时器4的运行控制位 0:定时器 4 停止计数 1:定时器 4 开始计数 T4_C/T:控制定时器4用作定时器或计数器,清0则用作定时器(对内部系统时钟进行计数),置1用作 计数器(对引脚T4/P0.6外部脉冲进行计数)。 T4x12:定时器4速度控制位 0:12T 模式,即 CPU 时钟 12 分频(FOSC/12) 1:1T 模式,即 CPU 时钟不分频分频(FOSC/1) T4CLKO:定时器4时钟输出控制 0:关闭时钟输出 1:使能 P0.7 口的是定时器 4 时钟输出功能 当定时器 4 计数发生溢出时,P0.7 口的电平自动发生翻转。 T3R:定时器3的运行控制位 0:定时器 3 停止计数 1:定时器 3 开始计数 T3_C/T:控制定时器3用作定时器或计数器,清0则用作定时器(对内部系统时钟进行计数),置1用作 计数器(对引脚T3/P0.4外部脉冲进行计数)。 T3x12:定时器3速度控制位 0:12T 模式,即 CPU 时钟 12 分频(FOSC/12) 1:1T 模式,即 CPU 时钟不分频分频(FOSC/1) T3CLKO:定时器3时钟输出控制 0:关闭时钟输出 1:使能 P0.5 口的是定时器 3 时钟输出功能 当定时器 3 计数发生溢出时,P0.5 口的电平自动发生翻转。 12.4.2 定时器 3 计数寄存器(T3L,T3H) 符号 地址 T3L D5H T3H D4H B7 B6 B5 B4 B3 B2 B1 B0 定时器/计数器3的工作模式固定为16位重载模式,T3L和T3H组合成为一个16位寄存器,T3L为低字节, T3H为高字节。当[T3H,T3L]中的16位计数值溢出时,系统会自动将内部16位重载寄存器中的重载 值装入[T3H,T3L]中。 12.4.3 定时器 4 计数寄存器(T4L,T4H) 符号 地址 T4L D3H 深圳国芯人工智能有限公司 B7 B6 B5 B4 国内分销商电话: 0513-5501 2928/2929/2966 B3 B2 B1 传真: 0513-5501 2926/2956/2947 B0 - 350 - STC8G 系列技术手册 T4H 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 D2H 定时器/计数器 4 的工作模式固定为 16 位重载模式,T4L 和 T4H 组合成为一个 16 位寄存器,T4L 为低 字节,T4H 为高字节。当[T4H,T4L]中的 16 位计数值溢出时,系统会自动将内部 16 位重载寄存器中的 重载值装入[T4H,T4L]中。 12.4.4 定时器 3 的 8 位预分频寄存器(TM3PS) 符号 地址 TM3PS FEA3H B7 B6 B5 B4 B3 B2 B1 B0 B2 B1 B0 定时器3的时钟 = 系统时钟SYSclk ÷ ( TM3PS + 1 ) 12.4.5 定时器 4 的 8 位预分频寄存器(TM4PS) 符号 地址 TM4PS FEA4H B7 B6 B5 B4 B3 定时器4的时钟 = 系统时钟SYSclk ÷ ( TM4PS + 1 ) 12.4.6 定时器 3 工作模式 定时器/计数器 3 的原理框图如下: ÷12 SYSclk T4T3M.1/T3x12=0 TM3PS T3IF T3_C/T=0 ÷1 T3H (8bits) T4T3M.1/T3x12=1 T3_C/T=1 T3 Pin Interrupt T3L (8bits) T3CLKO Toggle control T3CLKO T3R RL_T3H (8bits) RL_T3L (8bits) 定时器/计数器 3 的工作模式:16 位自动重装载模式 T3R/T4T3M.3 为 T4T3M 寄存器内的控制位,T4T3M 寄存器各位的具体功能描述见上节 T4T3M 寄存器的 介绍。 当 T3_C/T=0 时,多路开关连接到系统时钟输出,T3 对内部系统时钟计数, T3 工作在定时方式。 当 T3_C/T=1 时,多路开关连接到外部脉冲输 T3,即 T3 工作在计数方式。 STC 单片机的定时器 3 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T3 的速率由特殊功能寄存器 T4T3M 中的 T3x12 决定,如果 T3x12=0,T3 则工作在 12T 模式;如果 T3x12=1,T3 则工作在 1T 模式 定时器 3 有两个隐藏的寄存器 RL_T3H 和 RL_T3L。RL_T3H 与 T3H 共有同一个地址,RL_T3L 与 T3L 共有同一个地址。当 T3R=0 即定时器/计数器 3 被禁止工作时,对 T3L 写入的内容会同时写入 RL_T3L,对 T3H 写入的内容也会同时写入 RL_T3H。当 T3R=1 即定时器/计数器 3 被允许工作时,对 T3L 写入内容,实 际上不是写入当前寄存器 T3L 中,而是写入隐藏的寄存器 RL_T3L 中,对 T3H 写入内容,实际上也不是写入 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 351 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 当前寄存器 T3H 中,而是写入隐藏的寄存器 RL_T3H,这样可以巧妙地实现 16 位重装载定时器。当读 T3H 和 T3L 的内容时,所读的内容就是 T3H 和 T3L 的内容,而不是 RL_T3H 和 RL_T3L 的内容。 [T3H,T3L]的溢出不仅置位中断请求标志位(T3IF),使 CPU 转去执行定时器 3 的中断程序,而且会自动 将[RL_T3H,RL_T3L]的内容重新装入[T3H,T3L]。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 352 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 定时器 4 工作模式 12.4.7 定时器/计数器 4 的原理框图如下: ÷12 SYSclk T4T3M.5/T4x12=0 TM4PS T4IF T4_C/T=0 ÷1 T4H (8bits) T4T3M.5/T4x12=1 T4_C/T=1 T4 Pin Interrupt T4L (8bits) T4CLKO Toggle control T4CLKO T4R RL_T4H (8bits) RL_T4L (8bits) 定时器/计数器 4 的工作模式:16 位自动重装载模式 T4R/T4T3M.7 为 T4T3M 寄存器内的控制位,T4T3M 寄存器各位的具体功能描述见上节 T4T3M 寄存器的 介绍。 当 T4_C/T=0 时,多路开关连接到系统时钟输出,T4 对内部系统时钟计数, T4 工作在定时方式。 当 T4_C/T=1 时,多路开关连接到外部脉冲输 T4,即 T4 工作在计数方式。 STC 单片机的定时器 4 有两种计数速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同; 另外一种是 1T 模式,每个时钟加 1,速度是传统 8051 单片机的 12 倍。T4 的速率由特殊功能寄存器 T4T3M 中的 T4x12 决定,如果 T4x12=0,T4 则工作在 12T 模式;如果 T4x12=1,T4 则工作在 1T 模式 定时器 4 有两个隐藏的寄存器 RL_T4H 和 RL_T4L。RL_T4H 与 T4H 共有同一个地址,RL_T4L 与 T4L 共有同一个地址。当 T4R=0 即定时器/计数器 4 被禁止工作时,对 T4L 写入的内容会同时写入 RL_T4L,对 T4H 写入的内容也会同时写入 RL_T4H。当 T4R=1 即定时器/计数器 4 被允许工作时,对 T4L 写入内容,实 际上不是写入当前寄存器 T4L 中,而是写入隐藏的寄存器 RL_T4L 中,对 T4H 写入内容,实际上也不是写入 当前寄存器 T4H 中,而是写入隐藏的寄存器 RL_T4H,这样可以巧妙地实现 16 位重装载定时器。当读 T4H 和 T4L 的内容时,所读的内容就是 T4H 和 T4L 的内容,而不是 RL_T4H 和 RL_T4L 的内容。 [T4H,T4L]的溢出不仅置位中断请求标志位(T4IF),使 CPU 转去执行定时器 4 的中断程序,而且会自动 将[RL_T4H,RL_T4L]的内容重新装入[T4H,T4L]。 12.4.8 定时器 3 计算公式 定时器速度 周期计算公式 1T 定时器周期 = 12T 定时器周期 = 65536 – [T3H, T3L] SYSclk/TM3PS 深圳国芯人工智能有限公司 65536 – [T3H, T3L] SYSclk/TM3PS (自动重载) ×12 (自动重载) 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 353 - STC8G 系列技术手册 12.4.9 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 定时器 4 计算公式 定时器速度 周期计算公式 1T 定时器周期 = 12T 定时器周期 = 65536 – [T4H, T4L] SYSclk/TM4PS 深圳国芯人工智能有限公司 65536 – [T4H, T4L] SYSclk/TM4PS (自动重载) ×12 (自动重载) 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 354 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12.5 范例程序 定时器 0(模式 0-16 位自动重载),用作定时 12.5.1 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM0_Isr() interrupt 1 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; TMOD = 0x00; TL0 = 0x66; TH0 = 0xfc; TR0 = 1; ET0 = 1; EA = 1; //模式 0 //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 355 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 000BH TM0ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#00H TL0,#66H TH0,#0FCH TR0 ET0 EA JMP $ TM0ISR: ;测试端口 MAIN: ;模式 0 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 12.5.2 定时器 0(模式 1-16 位不自动重载),用作定时 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 356 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM0_Isr() interrupt 1 { TL0 = 0x66; TH0 = 0xfc; P10 = !P10; } //重设定时参数 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //模式 1 //65536-11.0592M/12/1000 TMOD = 0x01; TL0 = 0x66; TH0 = 0xfc; TR0 = 1; ET0 = 1; EA = 1; //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 DATA DATA 深圳国芯人工智能有限公司 093H 094H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 357 - STC8G 系列技术手册 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 000BH TM0ISR ORG 0100H MOV MOV CPL RETI TL0,#66H TH0,#0FCH P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#01H TL0,#66H TH0,#0FCH TR0 ET0 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM0ISR: ;重设定时参数 ;测试端口 MAIN: ;模式 1 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 12.5.3 定时器 0(模式 2-8 位自动重载),用作定时 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 358 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM0_Isr() interrupt 1 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //模式 2 //256-11.0592M/12/76K TMOD = 0x02; TL0 = 0xf4; TH0 = 0xf4; TR0 = 1; ET0 = 1; EA = 1; //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 DATA DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 093H 094H 091H 092H 095H 096H 0B1H 0B2H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 359 - STC8G 系列技术手册 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 000BH TM0ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#02H TL0,#0F4H TH0,#0F4H TR0 ET0 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM0ISR: ;测试端口 MAIN: ;模式 2 ;256-11.0592M/12/76K ;启动定时器 ;使能定时器中断 END 定时器 0(模式 3-16 位自动重载不可屏蔽中断),用作定时 12.5.4 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 深圳国芯人工智能有限公司 = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 360 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr sfr P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM0_Isr() interrupt 1 { P10 = !P10; } 技术支持: 13922829991 选型顾问: 13922805190 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // //模式 3 //65536-11.0592M/12/1000 TMOD = 0x03; TL0 = 0x66; TH0 = 0xfc; TR0 = 1; ET0 = 1; EA = 1; //启动定时器 //使能定时器中断 //不受 EA 控制 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG 0000H MAIN 000BH 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 361 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com LJMP TM0ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#03H TL0,#66H TH0,#0FCH TR0 ET0 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM0ISR: ;测试端口 MAIN: ; ;模式 3 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 ;不受 EA 控制 END 定时器 0(外部计数-扩展 T0 为外部下降沿中断) 12.5.5 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 362 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com void TM0_Isr() interrupt 1 { P10 = !P10; } 技术支持: 13922829991 选型顾问: 13922805190 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //外部计数模式 TMOD = 0x04; TL0 = 0xff; TH0 = 0xff; TR0 = 1; ET0 = 1; EA = 1; //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 000BH TM0ISR ORG 0100H CPL RETI P1.0 TM0ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 363 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#04H TL0,#0FFH TH0,#0FFH TR0 ET0 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;外部计数模式 ;启动定时器 ;使能定时器中断 END 定时器 0(测量脉宽-INT0 高电平宽度) 12.5.6 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr AUXR = 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void INT0_Isr() interrupt 0 { P0 = TL0; P1 = TH0; } //TL0 为测量值低字节 //TH0 为测量值高字节 void main() 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 364 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //1T 模式 //使能 GATE,INT0 为 1 时使能计时 AUXR = 0x80; TMOD = 0x08; TL0 = 0x00; TH0 = 0x00; while (INT0); TR0 = 1; IT0 = 1; EX0 = 1; EA = 1; //等待 INT0 为低 //启动定时器 //使能 INT0 下降沿中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz AUXR P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 8EH 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0003H INT0ISR ORG 0100H MOV MOV RETI P0,TL0 P1,TH0 MOV MOV SP, #5FH P0M0, #00H INT0ISR: ;TL0 为测量值低字节 ;TH0 为测量值高字节 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 365 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV JB SETB SETB SETB SETB AUXR,#80H TMOD,#08H TL0,#00H TH0,#00H INT0,$ TR0 IT0 EX0 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;1T 模式 ;使能 GATE,INT0 为 1 时使能计时 ;等待 INT0 为低 ;启动定时器 ;使能 INT0 下降沿中断 END 定时器 0(模式 0),时钟分频输出 12.5.7 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr INTCLKO = 0x8f; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 366 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //模式 0 //65536-11.0592M/12/1000 TMOD = 0x00; TL0 = 0x66; TH0 = 0xfc; TR0 = 1; INTCLKO = 0x01; //启动定时器 //使能时钟输出 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz INTCLKO P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 8FH 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB TMOD,#00H TL0,#66H TH0,#0FCH TR0 MAIN: 深圳国芯人工智能有限公司 ;模式 0 ;65536-11.0592M/12/1000 ;启动定时器 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 367 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV INTCLKO,#01H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;使能时钟输出 END 定时器 1(模式 0-16 位自动重载),用作定时 12.5.8 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM1_Isr() interrupt 3 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; TMOD = 0x00; TL1 = 0x66; TH1 = 0xfc; TR1 = 1; ET1 = 1; EA = 1; 深圳国芯人工智能有限公司 //模式 0 //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 368 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 001BH TM1ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#00H TL1,#66H TH1,#0FCH TR1 ET1 EA JMP $ TM1ISR: ;测试端口 MAIN: ;模式 0 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 369 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 定时器 1(模式 1-16 位不自动重载),用作定时 12.5.9 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM1_Isr() interrupt 3 { TL1 = 0x66; TH1 = 0xfc; P10 = !P10; } //重设定时参数 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; TMOD = 0x10; TL1 = 0x66; TH1 = 0xfc; TR1 = 1; ET1 = 1; EA = 1; //模式 1 //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 汇编代码 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 370 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 001BH TM1ISR ORG 0100H MOV MOV CPL RETI TL1,#66H TH1,#0FCH P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#10H TL1,#66H TH1,#0FCH TR1 ET1 EA JMP $ TM1ISR: ;重设定时参数 ;测试端口 MAIN: ;模式 1 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 12.5.10 定时器 1(模式 2-8 位自动重载),用作定时 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 371 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM1_Isr() interrupt 3 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //模式 2 //256-11.0592M/12/76K TMOD = 0x20; TL1 = 0xf4; TH1 = 0xf4; TR1 = 1; ET1 = 1; EA = 1; //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 DATA DATA DATA DATA 深圳国芯人工智能有限公司 093H 094H 091H 092H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 372 - STC8G 系列技术手册 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 001BH TM1ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#20H TL1,#0F4H TH1,#0F4H TR1 ET1 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM1ISR: ;测试端口 MAIN: ;模式 2 ;256-11.0592M/12/76K ;启动定时器 ;使能定时器中断 END 12.5.11 定时器 1(外部计数-扩展 T1 为外部下降沿中断) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr P0M1 P0M0 深圳国芯人工智能有限公司 = = 0x93; 0x94; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 373 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM1_Isr() interrupt 3 { P10 = !P10; } 技术支持: 13922829991 选型顾问: 13922805190 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //外部计数模式 TMOD = 0x40; TL1 = 0xff; TH1 = 0xff; TR1 = 1; ET1 = 1; EA = 1; //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 374 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ORG LJMP ORG LJMP 0000H MAIN 001BH TM1ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB SETB SETB TMOD,#40H TL1,#0FFH TH1,#0FFH TR1 ET1 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM1ISR: ;测试端口 MAIN: ;外部计数模式 ;启动定时器 ;使能定时器中断 END 12.5.12 定时器 1(测量脉宽-INT1 高电平宽度) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 深圳国芯人工智能有限公司 = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 375 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr P5M1 P5M0 = = 0xc9; 0xca; sfr AUXR = 0x8e; void INT1_Isr() interrupt 2 { P0 = TL1; P1 = TH1; } 技术支持: 13922829991 选型顾问: 13922805190 //TL1 为测量值低字节 //TH1 为测量值高字节 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //1T 模式 //使能 GATE,INT1 为 1 时使能计时 AUXR = 0x40; TMOD = 0x80; TL1 = 0x00; TH1 = 0x00; while (INT1); TR1 = 1; IT1 = 1; EX1 = 1; EA = 1; //等待 INT1 为低 //启动定时器 //使能 INT1 下降沿中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz AUXR P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 8EH 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 376 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ORG LJMP 0013H INT1ISR ORG 0100H MOV MOV RETI P0,TL1 P1,TH1 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV JB SETB SETB SETB SETB AUXR,#40H TMOD,#80H TL1,#00H TH1,#00H INT1,$ TR1 IT1 EX1 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 INT1ISR: ;TL1 为测量值低字节 ;TH1 为测量值高字节 MAIN: ;1T 模式 ;使能 GATE,INT1 为 1 时使能计时 ;等待 INT1 为低 ;启动定时器 ;使能 INT1 下降沿中断 END 12.5.13 定时器 1(模式 0),时钟分频输出 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr INTCLKO = 0x8f; sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 377 - STC8G 系列技术手册 sfr sfr sfr sfr sfr P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com = = = = = 技术支持: 13922829991 选型顾问: 13922805190 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; //模式 0 //65536-11.0592M/12/1000 TMOD = 0x00; TL1 = 0x66; TH1 = 0xfc; TR1 = 1; INTCLKO = 0x02; //启动定时器 //使能时钟输出 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz INTCLKO P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 8FH 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 378 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV SETB MOV TMOD,#00H TL1,#66H TH1,#0FCH TR1 INTCLKO,#02H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;模式 0 ;65536-11.0592M/12/1000 ;启动定时器 ;使能时钟输出 END 12.5.14 定时器 1(模式 0)做串口 1 波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr AUXR = 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 379 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 } if (RI) { RI = 0; buffer[wptr++] = SBUF; 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() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 380 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR DATA 8EH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 ;16 bytes UART_ISR: CHKRI: JNB CLR MOV ANL ADD MOV MOV INC UARTISR_EXIT: POP POP 深圳国芯人工智能有限公司 RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR PSW ACC 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 381 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 RETI UART_INIT: 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 ;65536-11059200/115200/4=0FFE8H UART_SEND: UART_SENDSTR: CLR MOVC JZ LCALL INC JMP SENDEND: RET A A,@A+DPTR SENDEND UART_SEND DPTR UART_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H LCALL SETB SETB UART_INIT ES EA MOV LCALL DPTR,#STRING UART_SENDSTR MOV XRL ANL JZ MOV ANL A,RPTR A,WPTR A,#0FH LOOP A,RPTR A,#0FH LOOP: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 382 - STC8G 系列技术手册 STRING: 官方网站: www.STCMCUDATA.com ADD MOV MOV LCALL INC JMP A,#BUFFER R0,A A,@R0 UART_SEND RPTR LOOP DB 'Uart Test !',0DH,0AH,00H 技术支持: 13922829991 选型顾问: 13922805190 END 12.5.15 定时器 1(模式 2)做串口 1 波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (256 - FOSC / 115200 / 32) sfr AUXR = 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; wptr &= 0x0f; } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 383 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 } void UartInit() { 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() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 384 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 汇编代码 ;测试工作频率为 11.0592MHz AUXR DATA 8EH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 ;16 bytes UART_ISR: CHKRI: JNB CLR MOV ANL ADD MOV MOV INC UARTISR_EXIT: POP POP RETI RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR PSW ACC UART_INIT: MOV MOV MOV MOV 深圳国芯人工智能有限公司 SCON,#50H TMOD,#20H TL1,#0FDH TH1,#0FDH ;256-11059200/115200/32=0FDH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 385 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com SETB MOV CLR MOV MOV RET TR1 AUXR,#40H BUSY WPTR,#00H RPTR,#00H JB SETB MOV RET BUSY,$ BUSY SBUF,A 技术支持: 13922829991 选型顾问: 13922805190 UART_SEND: UART_SENDSTR: CLR MOVC JZ LCALL INC JMP SENDEND: RET A A,@A+DPTR SENDEND UART_SEND DPTR UART_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 LOOP: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 386 - STC8G 系列技术手册 STRING: 官方网站: www.STCMCUDATA.com DB 技术支持: 13922829991 选型顾问: 13922805190 'Uart Test !',0DH,0AH,00H END 12.5.16 定时器 2(16 位自动重载),用作定时 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr #define sfr #define T2L T2H AUXR IE2 ET2 AUXINTIF T2IF = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM2_Isr() interrupt 12 { P10 = !P10; } = 0xd7; 0xd6; 0x8e; 0xaf; 0x04 0xef; 0x01 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 387 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com T2L = 0x66; T2H = 0xfc; AUXR = 0x10; IE2 = ET2; EA = 1; 技术支持: 13922829991 选型顾问: 13922805190 //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR IE2 ET2 AUXINTIF T2IF DATA DATA DATA DATA EQU DATA EQU 0D7H 0D6H 8EH 0AFH 04H 0EFH 01H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0063H TM2ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H TM2ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 388 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV SETB T2L,#66H T2H,#0FCH AUXR,#10H IE2,#ET2 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 12.5.17 定时器 2(外部计数-扩展 T2 为外部下降沿中断) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr #define sfr #define T2L T2H AUXR IE2 ET2 AUXINTIF T2IF = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM2_Isr() interrupt 12 { P10 = !P10; } = 0xd7; 0xd6; 0x8e; 0xaf; 0x04 0xef; 0x01 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 389 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T2L = 0xff; T2H = 0xff; AUXR = 0x18; IE2 = ET2; EA = 1; //设置外部计数模式并启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR IE2 ET2 AUXINTIF T2IF DATA DATA DATA DATA EQU DATA EQU 0D7H 0D6H 8EH 0AFH 04H 0EFH 01H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0063H TM2ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H TM2ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 390 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T2L,#0FFH T2H,#0FFH AUXR,#18H IE2,#ET2 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;设置外部计数模式并启动定时器 ;使能定时器中断 END 12.5.18 定时器 2,时钟分频输出 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr T2L T2H AUXR INTCLKO = = = = 0xd7; 0xd6; 0x8e; 0x8f; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 391 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P5M1 = 0x00; T2L = 0x66; T2H = 0xfc; AUXR = 0x10; INTCLKO = 0x04; //65536-11.0592M/12/1000 //启动定时器 //使能时钟输出 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T2L T2H AUXR INTCLKO DATA DATA DATA DATA 0D7H 0D6H 8EH 8FH P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV T2L,#66H T2H,#0FCH AUXR,#10H INTCLKO,#04H JMP $ MAIN: ;65536-11.0592M/12/1000 ;启动定时器 ;使能时钟输出 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 392 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 12.5.19 定时器 2 做串口 1 波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr AUXR T2H T2L = = = 0x8e; 0xd6; 0xd7; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; wptr &= 0x0f; } } void UartInit() { SCON = 0x50; T2L = BRT; T2H = BRT >> 8; AUXR = 0x15; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 393 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 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() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L DATA DATA DATA 8EH 0D6H 0D7H BUSY BIT 20H.0 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 394 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com WPTR RPTR BUFFER DATA DATA DATA 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 技术支持: 13922829991 选型顾问: 13922805190 ;16 bytes UART_ISR: CHKRI: JNB CLR MOV ANL ADD MOV MOV INC UARTISR_EXIT: POP POP RETI RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR PSW ACC UART_INIT: MOV MOV MOV MOV CLR MOV MOV RET SCON,#50H T2L,#0E8H T2H,#0FFH AUXR,#15H BUSY WPTR,#00H RPTR,#00H JB SETB BUSY,$ BUSY ;65536-11059200/115200/4=0FFE8H UART_SEND: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 395 - STC8G 系列技术手册 MOV RET UART_SENDSTR: CLR MOVC JZ LCALL INC JMP SENDEND: RET 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 SBUF,A A A,@A+DPTR SENDEND UART_SEND DPTR UART_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 12.5.20 定时器 2 做串口 2 波特率发生器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 396 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr AUXR T2H T2L S2CON S2BUF IE2 = = = = = = 0x8e; 0xd6; 0xd7; 0x9a; 0x9b; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void Uart2Isr() interrupt 8 { if (S2CON & 0x02) { S2CON &= ~0x02; busy = 0; } if (S2CON & 0x01) { S2CON &= ~0x01; buffer[wptr++] = S2BUF; wptr &= 0x0f; } } void Uart2Init() { S2CON = 0x10; T2L = BRT; T2H = BRT >> 8; AUXR = 0x14; wptr = 0x00; rptr = 0x00; busy = 0; } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 397 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 void Uart2Send(char dat) { while (busy); busy = 1; S2BUF = dat; } void Uart2SendStr(char *p) { while (*p) { Uart2Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart2Init(); IE2 = 0x01; EA = 1; Uart2SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart2Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L S2CON S2BUF IE2 DATA DATA DATA DATA DATA DATA 8EH 0D6H 0D7H 9AH 9BH 0AFH BUSY WPTR BIT DATA 20H.0 21H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 398 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com RPTR BUFFER DATA DATA 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 ;16 bytes 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,#10H T2L,#0E8H T2H,#0FFH AUXR,#14H BUSY WPTR,#00H RPTR,#00H JB SETB BUSY,$ BUSY ;65536-11059200/115200/4=0FFE8H UART2_SEND: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 399 - STC8G 系列技术手册 MOV RET UART2_SENDSTR: CLR MOVC JZ LCALL INC JMP SEND2END: RET 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 S2BUF,A A A,@A+DPTR SEND2END UART2_SEND DPTR UART2_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 LOOP: STRING: END 12.5.21 定时器 2 做串口 3 波特率发生器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 400 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr AUXR T2H T2L S3CON S3BUF IE2 = = = = = = 0x8e; 0xd6; 0xd7; 0xac; 0xad; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void Uart3Isr() interrupt 17 { if (S3CON & 0x02) { S3CON &= ~0x02; busy = 0; } if (S3CON & 0x01) { S3CON &= ~0x01; buffer[wptr++] = S3BUF; wptr &= 0x0f; } } void Uart3Init() { S3CON = 0x10; T2L = BRT; T2H = BRT >> 8; AUXR = 0x14; wptr = 0x00; rptr = 0x00; busy = 0; } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 401 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 void Uart3Send(char dat) { while (busy); busy = 1; S3BUF = dat; } void Uart3SendStr(char *p) { while (*p) { Uart3Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart3Init(); IE2 = 0x08; EA = 1; Uart3SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart3Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L S3CON S3BUF IE2 DATA DATA DATA DATA DATA DATA 8EH 0D6H 0D7H 0ACH 0ADH 0AFH BUSY WPTR BIT DATA 20H.0 21H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 402 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com RPTR BUFFER DATA DATA 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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,#10H T2L,#0E8H T2H,#0FFH AUXR,#14H BUSY WPTR,#00H RPTR,#00H JB SETB BUSY,$ BUSY ;65536-11059200/115200/4=0FFE8H UART3_SEND: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 403 - STC8G 系列技术手册 MOV RET UART3_SENDSTR: CLR MOVC JZ LCALL INC JMP SEND3END: RET 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 S3BUF,A A A,@A+DPTR SEND3END UART3_SEND DPTR UART3_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 12.5.22 定时器 2 做串口 4 波特率发生器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 404 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr AUXR T2H T2L S4CON S4BUF IE2 = = = = = = 0x8e; 0xd6; 0xd7; 0x84; 0x85; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void Uart4Isr() interrupt 18 { if (S4CON & 0x02) { S4CON &= ~0x02; busy = 0; } 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; } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 405 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 void Uart4Send(char dat) { while (busy); busy = 1; S4BUF = dat; } void Uart4SendStr(char *p) { while (*p) { Uart4Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart4Init(); IE2 = 0x10; EA = 1; Uart4SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart4Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L S4CON S4BUF IE2 DATA DATA DATA DATA DATA DATA 8EH 0D6H 0D7H 84H 85H 0AFH BUSY WPTR BIT DATA 20H.0 21H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 406 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com RPTR BUFFER DATA DATA 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 BUSY,$ BUSY ;65536-11059200/115200/4=0FFE8H UART4_SEND: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 407 - STC8G 系列技术手册 MOV RET UART4_SENDSTR: CLR MOVC JZ LCALL INC JMP SEND4END: RET 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 S4BUF,A A A,@A+DPTR SEND4END UART4_SEND DPTR UART4_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 12.5.23 定时器 3(16 位自动重载),用作定时 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 408 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr #define #define #define sfr #define #define #define T4T3M T4L T4H T3L T3H T2L T2H AUXR IE2 ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF = = = = = = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM3_Isr() interrupt 19 { P10 = !P10; } = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0x8e; 0xaf; 0x04 0x20 0x40 0xef; 0x01 0x02 0x04 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T3L = 0x66; 深圳国芯人工智能有限公司 //65536-11.0592M/12/1000 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 409 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com T3H = 0xfc; T4T3M = 0x08; IE2 = ET3; EA = 1; 技术支持: 13922829991 选型顾问: 13922805190 //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H AUXR IE2 ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF DATA DATA DATA DATA DATA DATA DATA DATA DATA EQU EQU EQU DATA EQU EQU EQU 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 8EH 0AFH 04H 20H 40H 0EFH 01H 02H 04H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 009BH TM3ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H TM3ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 410 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T3L,#66H T3H,#0FCH T4T3M,#08H IE2,#ET3 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 END 12.5.24 定时器 3(外部计数-扩展 T3 为外部下降沿中断) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr #define #define #define sfr #define #define #define T4T3M T4L T4H T3L T3H T2L T2H AUXR IE2 ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF = = = = = = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 深圳国芯人工智能有限公司 = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0x8e; 0xaf; 0x04 0x20 0x40 0xef; 0x01 0x02 0x04 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 411 - STC8G 系列技术手册 sbit P10 官方网站: www.STCMCUDATA.com = 技术支持: 13922829991 选型顾问: 13922805190 P1^0; void TM3_Isr() interrupt 19 { P10 = !P10; } //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T3L = 0x66; T3H = 0xfc; T4T3M = 0x0c; IE2 = ET3; EA = 1; //65536-11.0592M/12/1000 //设置外部计数模式并启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M DATA T4L DATA T4H DATA T3L DATA T3H DATA T2L DATA T2H DATA AUXR DATA IE2 DATA ET2 EQU ET3 EQU ET4 EQU AUXINTIF DATA T2IF EQU T3IF EQU T4IF EQU 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 8EH 0AFH 04H 20H 40H 0EFH 01H 02H 04H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 091H 092H 093H 094H 095H 096H 0B1H DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 412 - STC8G 系列技术手册 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 009BH TM3ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T3L,#66H T3H,#0FCH T4T3M,#0CH IE2,#ET3 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM3ISR: ;测试端口 MAIN: ;65536-11.0592M/12/1000 ;设置外部计数模式并启动定时器 ;使能定时器中断 END 12.5.25 定时器 3,时钟分频输出 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H T2L 深圳国芯人工智能有限公司 = = = = = = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 413 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr T2H = 0xd6; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; 技术支持: 13922829991 选型顾问: 13922805190 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T3L = 0x66; T3H = 0xfc; T4T3M = 0x09; //65536-11.0592M/12/1000 //使能时钟输出并启动定时器 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H DATA DATA DATA DATA DATA DATA DATA 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 414 - STC8G 系列技术手册 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV T3L,#66H T3H,#0FCH T4T3M,#09H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 MAIN: ;65536-11.0592M/12/1000 ;使能时钟输出并启动定时器 END 12.5.26 定时器 3 做串口 3 波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H T2L T2H S3CON S3BUF IE2 = = = = = = = = = = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0xac; 0xad; 0xaf; sfr sfr sfr P0M1 P0M0 P1M1 = = = 0x93; 0x94; 0x91; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 415 - STC8G 系列技术手册 sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 bit char char char busy; wptr; rptr; buffer[16]; 官方网站: www.STCMCUDATA.com = = = = = = = = = 技术支持: 13922829991 选型顾问: 13922805190 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void Uart3Isr() interrupt 17 { if (S3CON & 0x02) { S3CON &= ~0x02; busy = 0; } if (S3CON & 0x01) { 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() { P0M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 416 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart3Init(); IE2 = 0x08; EA = 1; Uart3SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart3Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H S3CON S3BUF IE2 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 0ACH 0ADH 0AFH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 417 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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,#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 MAIN: MOV 深圳国芯人工智能有限公司 SP, #5FH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 418 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 12.5.27 定时器 4(16 位自动重载),用作定时 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H T2L T2H AUXR IE2 深圳国芯人工智能有限公司 = = = = = = = = = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0x8e; 0xaf; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 419 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com #define #define #define sfr #define #define #define ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF = 0x04 0x20 0x40 0xef; 0x01 0x02 0x04 sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM4_Isr() interrupt 20 { P10 = !P10; } 技术支持: 13922829991 选型顾问: 13922805190 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T4L = 0x66; T4H = 0xfc; T4T3M = 0x80; IE2 = ET4; EA = 1; //65536-11.0592M/12/1000 //启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H DATA DATA DATA 深圳国芯人工智能有限公司 0D1H 0D3H 0D2H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 420 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com T3L T3H T2L T2H AUXR IE2 ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF DATA DATA DATA DATA DATA DATA EQU EQU EQU DATA EQU EQU EQU 0D5H 0D4H 0D7H 0D6H 8EH 0AFH 04H 20H 40H 0EFH 01H 02H 04H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 00A3H TM4ISR ORG 0100H CPL RETI P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T4L,#66H T4H,#0FCH T4T3M,#80H IE2,#ET4 EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 TM4ISR: ;测试端口 MAIN: 深圳国芯人工智能有限公司 ;65536-11.0592M/12/1000 ;启动定时器 ;使能定时器中断 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 421 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 END 12.5.28 定时器 4(外部计数-扩展 T4 为外部下降沿中断) C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr sfr sfr #define #define #define sfr #define #define #define T4T3M T4L T4H T3L T3H T2L T2H AUXR IE2 ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF = = = = = = = = = sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sbit P10 = P1^0; void TM4_Isr() interrupt 20 { P10 = !P10; } = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0x8e; 0xaf; 0x04 0x20 0x40 0xef; 0x01 0x02 0x04 //测试端口 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 422 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; T4L = 0x66; T4H = 0xfc; T4T3M = 0xc0; IE2 = ET4; EA = 1; //65536-11.0592M/12/1000 //设置外部计数模式并启动定时器 //使能定时器中断 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H AUXR IE2 ET2 ET3 ET4 AUXINTIF T2IF T3IF T4IF DATA DATA DATA DATA DATA DATA DATA DATA DATA EQU EQU EQU DATA EQU EQU EQU 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 8EH 0AFH 04H 20H 40H 0EFH 01H 02H 04H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 00A3H TM4ISR ORG 0100H CPL P1.0 TM4ISR: 深圳国芯人工智能有限公司 ;测试端口 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 423 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 RETI MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV SETB T4L,#66H T4H,#0FCH T4T3M,#0C0H IE2,#ET4 EA JMP $ ;65536-11.0592M/12/1000 ;设置外部计数模式并启动定时器 ;使能定时器中断 END 12.5.29 定时器 4,时钟分频输出 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sfr sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H T2L T2H = = = = = = = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 424 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P3M1 = 0x00; T4L = 0x66; T4H = 0xfc; T4T3M = 0x90; //65536-11.0592M/12/1000 //使能时钟输出并启动定时器 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H DATA DATA DATA DATA DATA DATA DATA 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 093H 094H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 425 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV T4L,#66H T4H,#0FCH T4T3M,#90H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;65536-11.0592M/12/1000 ;使能时钟输出并启动定时器 END 12.5.30 定时器 4 做串口 4 波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H T2L T2H S4CON S4BUF IE2 = = = = = = = = = = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0x84; 0x85; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 426 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 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) { Uart4Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart4Init(); IE2 = 0x10; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 427 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 EA = 1; Uart4SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart4Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H S4CON S4BUF IE2 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 84H 85H 0AFH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 0093H UART4_ISR ORG 0100H PUSH PUSH MOV ACC PSW PSW,#08H MOV A,S4CON ;16 bytes UART4_ISR: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 428 - STC8G 系列技术手册 JNB ANL CLR 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ACC.1,CHKRI S4CON,#NOT 02H BUSY 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 JZ LCALL INC JMP SEND4END: RET A A,@A+DPTR SEND4END UART4_SEND DPTR UART4_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H LCALL UART4_INIT 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 429 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV SETB 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 技术支持: 13922829991 选型顾问: 13922805190 LOOP: STRING: END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 430 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13 串口通信 产品线 串口数量 STC8G1K08 系列 2 STC8G1K08-8Pin 系列 1 STC8G1K08A 系列 1 STC8G2K64S4 系列 4 STC8G2K64S2 系列 2 STC8G1K08T 系列 1 STC15H2K64S4 系列 4 STC8G 系列单片机具有 4 个全双工异步串行通信接口。每个串行口由 2 个数据缓冲器、一个移位寄 存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由 2 个互相独立的接 收、发送缓冲器构成,可以同时发送和接收数据。 STC8G 系列单片机的串口 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 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 传真: 0513-5501 2926/2956/2947 IDL 0011,0000 S1ST2 0000,0001 - 431 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.2 串口 1 13.2.1 串口 1 控制寄存器(SCON) 符号 地址 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 必须由软件清零。 13.2.2 串口 1 数据寄存器(SBUF) 符号 地址 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 - 432 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.2.3 电源管理寄存器(PCON) 符号 地址 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 功能,即为帧错误检测标志位。 13.2.4 辅助寄存器 1(AUXR) 符号 地址 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 作为波特率发射器 13.2.5 串口 1 模式 0,模式 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 - 433 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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.6 SYSclk 12 SYSclk 2 串口 1 模式 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 - 434 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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 - 435 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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 - 436 - STC8G 系列技术手册 13.2.7 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 串口 1 模式 2,模式 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.8 串口 1 模式 3,模式 3 波特率计算公式 当 SM0、SM1 两位为 11 时,串行口 1 工作在模式 3。串行通信模式 3 为 9 位数据异步通信 UART 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 437 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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.9 自动地址识别 13.2.10串口 1 从机地址控制寄存器(SADDR,SADEN) 符号 地址 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 - 438 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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 为从机地址屏蔽位寄存器,用于设置地址信息中的忽略位,设置方法 如下: 例如 SADDR = 11001010 SADEN = 10000001 则匹配地址为 1xxxxxx0 即,只要主机送出的地址数据中的 bit0 为 0 且 bit7 为 1 就可以和本机地址相匹配 再例如 SADDR = 11001010 SADEN = 00001111 则匹配地址为 xxxx1010 即,只要主机送出的地址数据中的低 4 位为 1010 就可以和本机地址相匹配,而高 4 为被忽略,可以 为任意值。 主机可以使用广播地址(FFH)同时选中所有的从机来进行通讯。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 439 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.3 串口 2 13.3.1 串口 2 控制寄存器(S2CON) 符号 地址 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 必须由软件清零。 13.3.2 串口 2 数据寄存器(S2BUF) 符号 地址 S2BUF 9BH B7 B6 B5 B4 B3 B2 B1 B0 S2BUF:串口 1 数据接收/发送缓冲区。S2BUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分 别对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 S2BUF 进行读操作,实际是读取串口接收缓冲区,对 S2BUF 进行写操作则是触发串口开始发送 数据。 13.3.3 串口 2 模式 0,模式 0 波特率计算公式 串行口 2 的模式 0 为 8 位数据位可变波特率 UART 工作模式。此模式一帧信息为 10 位:1 位起始位, 8 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD2 为数据发送口, RxD2 为数据接收口,串行口全双工接受/发送。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 440 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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.4 SYSclk 12×4×波特率 串口 2 模式 1,模式 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 - 441 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 串口 2 模式 1 的波特率计算公式与模式 0 是完全相同的。请参考模式 0 的波特率计算公式。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 442 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.4 串口 3 13.4.1 串口 3 控制寄存器(S3CON) 符号 地址 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 必须由软件清零。 13.4.2 串口 3 数据寄存器(S3BUF) 符号 地址 S3BUF ADH B7 B6 B5 B4 B3 B2 B1 B0 S3BUF:串口 1 数据接收/发送缓冲区。S3BUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分 别对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 S3BUF 进行读操作,实际是读取串口接收缓冲区,对 S3BUF 进行写操作则是触发串口开始发送 数据。 13.4.3 串口 3 模式 0,模式 0 波特率计算公式 串行口 3 的模式 0 为 8 位数据位可变波特率 UART 工作模式。此模式一帧信息为 10 位:1 位起始位, 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 443 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 8 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD3 为数据发送口, RxD3 为数据接收口,串行口全双工接受/发送。 写S3BUF TxD3 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S3TI 发送数据(串口3模式0) 写S3CON S3REN=1, S3RI=0 RxD3 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.4 SYSclk 12×4×波特率 串口 3 模式 1,模式 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 - 444 - STC8G 系列技术手册 写S3CON RxD3 官方网站: www.STCMCUDATA.com 技术支持: 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 - 445 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.5 串口 4 13.5.1 串口 4 控制寄存器(S4CON) 符号 地址 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 必须由软件清零。 13.5.2 串口 4 数据寄存器(S4BUF) 符号 地址 S4BUF 85H B7 B6 B5 B4 B3 B2 B1 B0 S4BUF:串口 1 数据接收/发送缓冲区。S4BUF 实际是 2 个缓冲器,读缓冲器和写缓冲器,两个操作分 别对应两个不同的寄存器,1 个是只写寄存器(写缓冲器),1 个是只读寄存器(读缓冲器)。对 S4BUF 进行读操作,实际是读取串口接收缓冲区,对 S4BUF 进行写操作则是触发串口开始发送 数据。 13.5.3 串口 4 模式 0,模式 0 波特率计算公式 串行口 4 的模式 0 为 8 位数据位可变波特率 UART 工作模式。此模式一帧信息为 10 位:1 位起始位, 8 位数据位(低位在先)和 1 位停止位。波特率可变,可根据需要进行设置波特率。TxD4 为数据发送口, 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 446 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 RxD4 为数据接收口,串行口全双工接受/发送。 写S4BUF TxD4 Start D0 D1 D2 D3 D4 D5 D6 D7 Stop S4TI 发送数据(串口4模式0) 写S4CON S4REN=1, S4RI=0 RxD4 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.4 SYSclk 12×4×波特率 串口 4 模式 1,模式 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 - 447 - STC8G 系列技术手册 写S4CON RxD4 官方网站: www.STCMCUDATA.com 技术支持: 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 - 448 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.6 串口注意事项 关于串口中断请求有如下问题需要注意:(串口 1、串口 2、串口 3、串口 4 均类似,下面以串口 1 为例进行说明) 8 位数据模式时,发送完成约 1/3 个停止位后产生 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 位数据模式时,发送完成约 1/3 个停止位后产生 TI 中断请求: 写SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 TB8 Stop D7 RB8 Stop TI 发送数据(9位数据) 9 位数据模式时,一半个停止位后产生 RI 中断请求,如下图所示: 写SCON RxD REN=1,RI=0 Start D0 D1 D2 D3 D4 D5 D6 RI 接收数据(9位数据) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 449 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.7 范例程序 串口 1 使用定时器 2 做波特率发生器 13.7.1 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr AUXR T2H T2L = = = 0x8e; 0xd6; 0xd7; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; wptr &= 0x0f; } } void UartInit() { SCON = 0x50; T2L = BRT; T2H = BRT >> 8; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 450 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 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() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L DATA DATA DATA 深圳国芯人工智能有限公司 8EH 0D6H 0D7H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 451 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 技术支持: 13922829991 选型顾问: 13922805190 ;16 bytes UART_ISR: CHKRI: JNB CLR MOV ANL ADD MOV MOV INC UARTISR_EXIT: POP POP RETI RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR PSW ACC UART_INIT: MOV MOV MOV MOV CLR MOV MOV RET SCON,#50H T2L,#0E8H T2H,#0FFH AUXR,#15H BUSY WPTR,#00H RPTR,#00H JB BUSY,$ ;65536-11059200/115200/4=0FFE8H UART_SEND: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 452 - STC8G 系列技术手册 SETB MOV RET UART_SENDSTR: CLR MOVC JZ LCALL INC JMP SENDEND: RET 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 BUSY SBUF,A A A,@A+DPTR SENDEND UART_SEND DPTR UART_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 13.7.2 串口 1 使用定时器 1(模式 0)做波特率发生器 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 453 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr AUXR = 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; 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) { 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 454 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 while (busy); busy = 1; SBUF = dat; } void UartSendStr(char *p) { while (*p) { UartSend(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR DATA 8EH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 455 - STC8G 系列技术手册 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 技术支持: 13922829991 选型顾问: 13922805190 UART_ISR: CHKRI: JNB CLR MOV ANL ADD MOV MOV INC UARTISR_EXIT: POP POP RETI RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR PSW ACC UART_INIT: 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 ;65536-11059200/115200/4=0FFE8H UART_SEND: UART_SENDSTR: CLR MOVC JZ 深圳国芯人工智能有限公司 A A,@A+DPTR SENDEND 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 456 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com LCALL INC JMP 技术支持: 13922829991 选型顾问: 13922805190 UART_SEND DPTR UART_SENDSTR SENDEND: RET MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 串口 1 使用定时器 1(模式 2)做波特率发生器 13.7.3 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define FOSC 深圳国芯人工智能有限公司 11059200UL 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 457 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com #define BRT (256 - FOSC / 115200 / 32) sfr AUXR = 0x8e; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 技术支持: 13922829991 选型顾问: 13922805190 void UartIsr() interrupt 4 { if (TI) { TI = 0; busy = 0; } if (RI) { RI = 0; buffer[wptr++] = SBUF; wptr &= 0x0f; } } void UartInit() { 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) { 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 458 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 while (*p) { UartSend(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); ES = 1; EA = 1; UartSendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { UartSend(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR DATA 8EH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 459 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.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 技术支持: 13922829991 选型顾问: 13922805190 UART_ISR: CHKRI: JNB CLR MOV ANL ADD MOV MOV INC UARTISR_EXIT: POP POP RETI RI,UARTISR_EXIT RI A,WPTR A,#0FH A,#BUFFER R0,A @R0,SBUF WPTR PSW ACC UART_INIT: 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 ;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 - 460 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 串口 2 使用定时器 2 做波特率发生器 13.7.4 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr AUXR T2H T2L S2CON S2BUF = = = = = 深圳国芯人工智能有限公司 0x8e; 0xd6; 0xd7; 0x9a; 0x9b; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 461 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr IE2 = 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 技术支持: 13922829991 选型顾问: 13922805190 void Uart2Isr() interrupt 8 { if (S2CON & 0x02) { S2CON &= ~0x02; busy = 0; } if (S2CON & 0x01) { S2CON &= ~0x01; buffer[wptr++] = S2BUF; wptr &= 0x0f; } } void Uart2Init() { S2CON = 0x10; 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++); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 462 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart2Init(); IE2 = 0x01; EA = 1; Uart2SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart2Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz 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 P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 463 - STC8G 系列技术手册 P5M0 官方网站: www.STCMCUDATA.com DATA 0CAH 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,#10H 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: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 464 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 串口 3 使用定时器 2 做波特率发生器 13.7.5 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr AUXR T2H T2L S3CON S3BUF = = = = = 深圳国芯人工智能有限公司 0x8e; 0xd6; 0xd7; 0xac; 0xad; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 465 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr IE2 = 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 技术支持: 13922829991 选型顾问: 13922805190 void Uart3Isr() interrupt 17 { if (S3CON & 0x02) { S3CON &= ~0x02; busy = 0; } if (S3CON & 0x01) { S3CON &= ~0x01; buffer[wptr++] = S3BUF; wptr &= 0x0f; } } 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++); } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 466 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart3Init(); IE2 = 0x08; EA = 1; Uart3SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart3Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz 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 P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 467 - STC8G 系列技术手册 P5M0 官方网站: www.STCMCUDATA.com DATA 0CAH 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: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 468 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 串口 3 使用定时器 3 做波特率发生器 13.7.6 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H = = = = = 深圳国芯人工智能有限公司 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 469 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr sfr sfr sfr sfr T2L T2H S3CON S3BUF IE2 = = = = = 0xd7; 0xd6; 0xac; 0xad; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 技术支持: 13922829991 选型顾问: 13922805190 void Uart3Isr() interrupt 17 { if (S3CON & 0x02) { S3CON &= ~0x02; busy = 0; } if (S3CON & 0x01) { 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) { 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 470 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 while (*p) { Uart3Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart3Init(); IE2 = 0x08; EA = 1; Uart3SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart3Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H S3CON S3BUF IE2 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 0ACH 0ADH 0AFH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 DATA DATA DATA 093H 094H 091H 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 471 - STC8G 系列技术手册 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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,#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 深圳国芯人工智能有限公司 A A,@A+DPTR 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 472 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com JZ LCALL INC JMP 技术支持: 13922829991 选型顾问: 13922805190 SEND3END UART3_SEND DPTR UART3_SENDSTR SEND3END: RET MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 13.7.7 串口 4 使用定时器 2 做波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 473 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr AUXR T2H T2L S4CON S4BUF IE2 = = = = = = 0x8e; 0xd6; 0xd7; 0x84; 0x85; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 技术支持: 13922829991 选型顾问: 13922805190 void Uart4Isr() interrupt 18 { if (S4CON & 0x02) { S4CON &= ~0x02; busy = 0; } 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; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 474 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 } void Uart4SendStr(char *p) { while (*p) { Uart4Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart4Init(); IE2 = 0x10; EA = 1; Uart4SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart4Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L S4CON S4BUF IE2 DATA DATA DATA DATA DATA DATA 8EH 0D6H 0D7H 84H 85H 0AFH BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 DATA DATA DATA 093H 094H 091H 深圳国芯人工智能有限公司 ;16 bytes 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 475 - STC8G 系列技术手册 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 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 深圳国芯人工智能有限公司 A A,@A+DPTR 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 476 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com JZ LCALL INC JMP 技术支持: 13922829991 选型顾问: 13922805190 SEND4END UART4_SEND DPTR UART4_SENDSTR SEND4END: RET MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 13.7.8 串口 4 使用定时器 4 做波特率发生器 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 477 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr T4T3M T4L T4H T3L T3H T2L T2H S4CON S4BUF IE2 = = = = = = = = = = 0xd1; 0xd3; 0xd2; 0xd5; 0xd4; 0xd7; 0xd6; 0x84; 0x85; 0xaf; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; bit char char char busy; wptr; rptr; buffer[16]; 技术支持: 13922829991 选型顾问: 13922805190 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) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 478 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 { while (busy); busy = 1; S4BUF = dat; } void Uart4SendStr(char *p) { while (*p) { Uart4Send(*p++); } } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; Uart4Init(); IE2 = 0x10; EA = 1; Uart4SendStr(“Uart Test !\r\n”); while (1) { if (rptr != wptr) { Uart4Send(buffer[rptr++]); rptr &= 0x0f; } } } 汇编代码 ;测试工作频率为 11.0592MHz T4T3M T4L T4H T3L T3H T2L T2H S4CON S4BUF IE2 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 0D1H 0D3H 0D2H 0D5H 0D4H 0D7H 0D6H 84H 85H 0AFH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 479 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com BUSY WPTR RPTR BUFFER BIT DATA DATA DATA 20H.0 21H 22H 23H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 ;65536-11059200/115200/4=0FFE8H UART4_SEND: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 480 - STC8G 系列技术手册 JB SETB MOV RET UART4_SENDSTR: CLR MOVC JZ LCALL INC JMP SEND4END: RET 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 BUSY,$ BUSY S4BUF,A A A,@A+DPTR SEND4END UART4_SEND DPTR UART4_SENDSTR MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 481 - STC8G 系列技术手册 13.7.9 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 串口多机通讯 现参考 STC15 系列数据手册,后续补充 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 482 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 13.7.10 串口转 LIN 总线 C 语言代码 //测试工作频率为 22.1184MHz /************* 功能说明 ************** 本例程基于 STC8H8K64U 为主控芯片的实验箱 8 进行编写测试,STC8G、STC8H 系列芯片可通用参考. 通过 UART 接口连接 LIN 收发器实现 LIN 总线信号收发测试例程. UART1 通过串口工具连接电脑. UART2 外接 LIN 收发器(TJA1020/1), 连接 LIN 总线. 将电脑串口发送的数据转发到 LIN 总线; 从 LIN 总线接收到的数据转发到电脑串口. 默认传输速率:9600 波特率,发送 LIN 数据前切换波特率,发送 13 个显性间隔信号. 下载时, 选择时钟 22.1184MHz (用户可自行修改频率). ******************************************/ #include "reg51.h" #include "intrins.h" #define MAIN_Fosc 22118400L typedef typedef typedef unsigned char unsigned int unsigned long u8; u16; u32; sfr sfr sfr sfr sfr sfr sfr sfr sfr AUXR S2CON S2BUF TH2 TL2 IE2 INT_CLKO P_SW1 P_SW2 = = = = = = = = = 0x8E; 0x9A; 0x9B; 0xD6; 0xD7; 0xAF; 0x8F; 0xA2; 0xBA; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P4 P5 P6 P7 P1M1 P1M0 P0M1 P0M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 P6M1 P6M0 P7M1 P7M0 = = = = = = = = = = = = = = = = = = = = 0xC0; 0xC8; 0xE8; 0xF8; 0x91; 0x92; 0x93; 0x94; 0x95; 0x96; 0xB1; 0xB2; 0xB3; 0xB4; 0xC9; 0xCA; 0xCB; 0xCC; 0xE1; 0xE2; sbit P00 = P0^0; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 483 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit P01 P02 P03 P04 P05 P06 P07 P10 P11 P12 P13 P14 P15 P16 P17 P20 P21 P22 P23 P24 P25 P26 P27 P30 P31 P32 P33 P34 P35 P36 P37 P40 P41 P42 P43 P44 P45 P46 P47 P50 P51 P52 P53 P54 P55 P56 P57 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = P0^1; P0^2; 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; P2^0; P2^1; P2^2; P2^3; P2^4; P2^5; P2^6; P2^7; P3^0; P3^1; P3^2; P3^3; P3^4; P3^5; P3^6; P3^7; P4^0; P4^1; P4^2; P4^3; P4^4; P4^5; P4^6; P4^7; P5^0; P5^1; P5^2; P5^3; P5^4; P5^5; P5^6; P5^7; sbit SLP_N = P2^4; 技术支持: 13922829991 选型顾问: 13922805190 //0: Sleep /****************************** 用户定义宏 ***********************************/ #define #define Baudrate1 Baudrate2 (65536UL - (MAIN_Fosc / 4) / 9600UL) (65536UL - (MAIN_Fosc / 4) / 9600UL) #define Baudrate_Break (65536UL - (MAIN_Fosc / 4) / 6647UL) #define #define UART1_BUF_LENGTH UART2_BUF_LENGTH 深圳国芯人工智能有限公司 //发送显性间隔信号波特率 32 32 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 484 - STC8G 系列技术手册 #define LIN_ID 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 0x31 u8 TX1_Cnt; u8 RX1_Cnt; u8 TX2_Cnt; u8 RX2_Cnt; bit B_TX1_Busy; bit B_TX2_Busy; u8 RX1_TimeOut; u8 RX2_TimeOut; //发送计数 //接收计数 //发送计数 //接收计数 //发送忙标志 //发送忙标志 u8 xdata RX1_Buffer[UART1_BUF_LENGTH]; u8 xdata RX2_Buffer[UART2_BUF_LENGTH]; //接收缓冲 //接收缓冲 void UART1_config(u8 brt); void UART2_config(u8 brt); void PrintString1(u8 *puts); void delay_ms(u8 ms); void UART1_TxByte(u8 dat); void UART2_TxByte(u8 dat); void Lin_Send(u8 *puts); void SetTimer2Baudraye(u16 dat); //======================================================================== // 函数: void main(void) // 描述: 主函数。 // 参数: none. // 返回: none. // 版本: VER1.0 // 日期: 2014-11-28 // 备注: //======================================================================== void main(void) { u8 i; //设置为准双向口 //设置为准双向口 //设置为准双向口 //设置为准双向口 //设置为准双向口 //设置为准双向口 //设置为准双向口 //设置为准双向口 P0M1 = 0; P0M0 = 0; P1M1 = 0; P1M0 = 0; P2M1 = 0; P2M0 = 0; P3M1 = 0; P3M0 = 0; P4M1 = 0; P4M0 = 0; P5M1 = 0; P5M0 = 0; P6M1 = 0; P6M0 = 0; P7M1 = 0; P7M0 = 0; UART1_config(1); UART2_config(2); EA = 1; SLP_N = 1; //允许全局中断 PrintString1("STC8H8K64U UART1 Test Programme!\r\n"); //UART1 发送一个字符串 while (1) { delay_ms(1); if(RX1_TimeOut > 0) { if(--RX1_TimeOut == 0) 深圳国芯人工智能有限公司 //超时,则串口接收结束 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 485 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 { if(RX1_Cnt > 0) { Lin_Send(RX1_Buffer); } RX1_Cnt = 0; //将 UART1 收到的数据发送到 LIN 总线上 } } if(RX2_TimeOut > 0) { if(--RX2_TimeOut == 0) //超时,则串口接收结束 { if(RX2_Cnt > 0) { for (i=0; I < RX2_Cnt; i++) //遇到停止符 0 结束 { UART1_TxByte(RX2_Buffer[i]); //从 LIN 总线收到的数据发送到 UART1 } } RX2_Cnt = 0; } } } } //======================================================================== // 函数: void delay_ms(unsigned char ms) // 描述: 延时函数。 // 参数: ms,要延时的 ms 数, 这里只支持 1~255ms. 自动适应主时钟. // 返回: none. // 版本: VER1.0 // 日期: 2013-4-1 // 备注: //======================================================================== void delay_ms(u8 ms) { u16 i; do{ i = MAIN_Fosc / 13000; while(--i); //14T per loop }while(--ms); } //======================================================================== // 函数: u8 Lin_CheckPID(u8 id) // 描述: ID 码加上校验符,转成 PID 码。 // 参数: ID 码. // 返回: PID 码. // 版本: VER1.0 // 日期: 2020-12-2 // 备注: //======================================================================== u8 Lin_CheckPID(u8 id) { u8 returnpid ; u8 P0 ; u8 P1 ; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 486 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P0 = (((id)^(id>>1)^(id>>2)^(id>>4))&0x01)1)^(id>>3)^(id>>4)^(id>>5)))&0x01) 8; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; _nop_(); IapIdle(); } 技术支持: 13922829991 //使能 IAP //设置等待参数 12MHz //设置 IAP 写命令 //设置 IAP 低地址 //设置 IAP 高地址 //写 IAP 数据 //写触发命令(0x5a) //写触发命令(0xa5) //关闭 IAP 功能 //使能 IAP //设置等待参数 12MHz //设置 IAP 擦除命令 //设置 IAP 低地址 //设置 IAP 高地址 //写触发命令(0x5a) //写触发命令(0xa5) // //关闭 IAP 功能 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 519 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; IapErase(0x0400); P0 = IapRead(0x0400); IapProgram(0x0400, 0x12); P1 = IapRead(0x0400); //P0=0xff //P1=0x12 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz IAP_DATA IAP_ADDRH IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR IAP_TPS DATA DATA DATA DATA DATA DATA DATA 0C2H 0C3H 0C4H 0C5H 0C6H 0C7H 0F5H IAP_OFFSET EQU 2000H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV IAP_CONTR,#0 IAP_CMD,#0 IAP_TRIG,#0 ;STC8G1K08 IAP_IDLE: 深圳国芯人工智能有限公司 ;关闭 IAP 功能 ;清除命令寄存器 ;清除触发寄存器 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 520 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 MOV MOV RET IAP_ADDRH,#80H IAP_ADDRL,#0 ;将地址设置到非 IAP 区域 MOV ADD MOV MOV ADDC MOV CLR MOVC RET A,#LOW IAP_OFFSET A,DPL DPL,A A,#HIGH IAP_OFFSET A,DPH DPH,A A A,@A+DPTR ;使用 MOVC 读取 EEPROM 需要加上相应的偏移 IAP_CONTR,#80H IAP_TPS,#12 IAP_CMD,#2 IAP_ADDRL,DPL IAP_ADDRH,DPH IAP_DATA,A IAP_TRIG,#5AH IAP_TRIG,#0A5H ;使能 IAP ;设置等待参数 12MHz ;设置 IAP 写命令 ;设置 IAP 低地址 ;设置 IAP 高地址 ;写 IAP 数据 ;写触发命令(0x5a) ;写触发命令(0xa5) IAP_IDLE ;关闭 IAP 功能 MOV MOV MOV MOV MOV MOV MOV NOP LCALL RET IAP_CONTR,#80H IAP_TPS,#12 IAP_CMD,#3 IAP_ADDRL,DPL IAP_ADDRH,DPH IAP_TRIG,#5AH IAP_TRIG,#0A5H ;使能 IAP ;设置等待参数 12MHz ;设置 IAP 擦除命令 ;设置 IAP 低地址 ;设置 IAP 高地址 ;写触发命令(0x5a) ;写触发命令(0xa5) IAP_IDLE ;关闭 IAP 功能 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV LCALL MOV LCALL DPTR,#0400H IAP_ERASE DPTR,#0400H IAP_READ IAP_READ: IAP_PROGRAM: MOV MOV MOV MOV MOV MOV MOV MOV NOP LCALL RET ;使用 MOVC 读取数据 IAP_ERASE: MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 521 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOV MOV MOV LCALL MOV LCALL MOV P0,A DPTR,#0400H A,#12H IAP_PROGRAM DPTR,#0400H IAP_READ P1,A SJMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;P0=0FFH ;P1=12H END 使用串口送出 EEPROM 数据 15.4.3 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define #define FOSC BRT 11059200UL (65536 - FOSC / 115200 / 4) sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; sfr sfr sfr AUXR T2H T2L = = = 0x8e; 0xd6; 0xd7; sfr sfr sfr sfr sfr sfr sfr IAP_DATA IAP_ADDRH IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR IAP_TPS = = = = = = = 0xC2; 0xC3; 0xC4; 0xC5; 0xC6; 0xC7; 0xF5; void UartInit() { SCON = 0x5a; T2L = BRT; T2H = BRT >> 8; AUXR = 0x15; } 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 522 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 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 //设置等待参数 12MHz //设置 IAP 读命令 //设置 IAP 低地址 //设置 IAP 高地址 //写触发命令(0x5a) //写触发命令(0xa5) IAP_CONTR = 0x80; IAP_TPS = 12; IAP_CMD = 1; IAP_ADDRL = addr; IAP_ADDRH = addr >> 8; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; _nop_(); dat = IAP_DATA; IapIdle(); //读 IAP 数据 //关闭 IAP 功能 return dat; } void IapProgram(int addr, char dat) { IAP_CONTR = 0x80; IAP_TPS = 12; 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 = 0x80; IAP_TPS = 12; IAP_CMD = 3; IAP_ADDRL = addr; IAP_ADDRH = addr >> 8; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; _nop_(); IapIdle(); 深圳国芯人工智能有限公司 //使能 IAP //设置等待参数 12MHz //设置 IAP 写命令 //设置 IAP 低地址 //设置 IAP 高地址 //写 IAP 数据 //写触发命令(0x5a) //写触发命令(0xa5) //关闭 IAP 功能 //使能 IAP //设置等待参数 12MHz //设置 IAP 擦除命令 //设置 IAP 低地址 //设置 IAP 高地址 //写触发命令(0x5a) //写触发命令(0xa5) // //关闭 IAP 功能 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 523 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; UartInit(); IapErase(0x0400); UartSend(IapRead(0x0400)); IapProgram(0x0400, 0x12); UartSend(IapRead(0x0400)); while (1); } 汇编代码 ;测试工作频率为 11.0592MHz AUXR T2H T2L DATA DATA DATA 8EH 0D6H 0D7H IAP_DATA IAP_ADDRH IAP_ADDRL IAP_CMD IAP_TRIG IAP_CONTR IAP_TPS DATA DATA DATA DATA DATA DATA DATA 0C2H 0C3H 0C4H 0C5H 0C6H 0C7H 0F5H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 524 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 UART_INIT: 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 MOV NOP MOV LCALL RET IAP_CONTR,#80H IAP_TPS,#12 IAP_CMD,#1 IAP_ADDRL,DPL IAP_ADDRH,DPH IAP_TRIG,#5AH IAP_TRIG,#0A5H ;使能 IAP ;设置等待参数 12MHz ;设置 IAP 读命令 ;设置 IAP 低地址 ;设置 IAP 高地址 ;写触发命令(0x5a) ;写触发命令(0xa5) A,IAP_DATA IAP_IDLE ;读取 IAP 数据 ;关闭 IAP 功能 IAP_CONTR,#80H IAP_TPS,#12 IAP_CMD,#2 IAP_ADDRL,DPL IAP_ADDRH,DPH IAP_DATA,A IAP_TRIG,#5AH IAP_TRIG,#0A5H ;使能 IAP ;设置等待参数 12MHz ;设置 IAP 写命令 ;设置 IAP 低地址 ;设置 IAP 高地址 ;写 IAP 数据 ;写触发命令(0x5a) ;写触发命令(0xa5) IAP_IDLE ;关闭 IAP 功能 IAP_CONTR,#80H IAP_TPS,#12 IAP_CMD,#3 IAP_ADDRL,DPL IAP_ADDRH,DPH IAP_TRIG,#5AH IAP_TRIG,#0A5H ;使能 IAP ;设置等待参数 12MHz ;设置 IAP 擦除命令 ;设置 IAP 低地址 ;设置 IAP 高地址 ;写触发命令(0x5a) ;写触发命令(0xa5) IAP_IDLE ;关闭 IAP 功能 ;65536-11059200/115200/4=0FFE8H UART_SEND: IAP_IDLE: IAP_READ: IAP_PROGRAM: MOV MOV MOV MOV MOV MOV MOV MOV NOP LCALL RET IAP_ERASE: MOV MOV MOV MOV MOV MOV MOV NOP LCALL RET 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 525 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 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 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 526 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 16 ADC 模数转换,内部 1.19V 参考信号源 产品线 ADC 分辨率 ADC 通道数 STC8G1K08 系列 10 位 15 STC8G1K08A 系列 10 位 6 STC8G2K64S4 系列 10 位 15 STC8G2K64S2 系列 10 位 15 STC8G1K08T 系列 10 位 15 STC15H2K64S4 系列 10 位 15 STC8G1K08-8Pin 系列 STC8G 系列单片机内部集成了一个 10 位高速 A/D 转换器。ADC 的时钟频率为系统频率 2 分频再经 过用户设置的分频系数进行再次分频(ADC 的工作时钟频率范围为 SYSclk/2/1 到 SYSclk/2/16) 。 STC8G 系列的 ADC 最快速度:12 位 ADC 为 800K(每秒进行 80 万次 ADC 转换),10 位 ADC 为 500K(每秒进行 50 万次 ADC 转换) ADC 转换结果的数据格式有两种:左对齐和右对齐。可方便用户程序进行读取和引用。 注意:ADC 的第 15 通道只能用于检测内部 1.19V 参考信号源,参考电压值出厂时校准为 1.19V, 由于制造误差以及测量误差,导致实际的内部参考电压相比 1.19V,大约有±1%的误差。如果用户需要 知道每一颗芯片的准确内部参考电压值,可外接精准参考电压,然后利用 ADC 的第 15 通道进行测量标 定。 如果芯片有 ADC 的外部参考电源管脚 ADC_VRef+,则一定不能浮空,必须接外部参考电源或者 直接连到 VCC 16.1 ADC 相关的寄存器 位地址与符号 符号 描述 地址 复位值 B7 B6 B5 B4 B3 B2 B1 B0 ADC_CONTR ADC 控制寄存器 ADC_RES ADC 转换结果高位寄存器 BDH 0000,0000 ADC_RESL ADC 转换结果低位寄存器 BEH 0000,0000 ADCCFG ADC 配置寄存器 DEH 符号 描述 地址 BCH ADC_POWER ADC_START ADC_FLAG ADC_EPWMT - - RESFMT ADC_CHS[3:0] - 000x,0000 SPEED[3:0] xx0x,0000 位地址与符号 复位值 B7 ADCTIM ADC 时序控制寄存器 FEA8H CSSETUP B6 B5 B4 B3 CSHOLD[1:0] B2 B1 B0 0010,1010 SMPDUTY[4:0] 16.1.1 ADC 控制寄存器(ADC_CONTR),PWM 触发 ADC 控制 符号 地址 B7 B6 B5 B4 ADC_CONTR BCH ADC_POWER ADC_START ADC_FLAG ADC_EPWMT 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 B3 B2 B1 B0 ADC_CHS[3:0] 传真: 0513-5501 2926/2956/2947 - 527 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ADC_POWER:ADC 电源控制位 0:关闭 ADC 电源 1:打开 ADC 电源。 建议进入空闲模式和掉电模式前将 ADC 电源关闭,以降低功耗 特别注意: 1、给 MCU 的 内部 ADC 模块电源打开后,需等待约 1ms, 等 MCU 内部的 ADC 电源稳定 后再让 ADC 工作; 2、适当加长对外部信号的采样时间,就是对 ADC 内部采样保持电容的充电或放电时间,时间够, 内部才能和外部电势相等。 ADC_START:ADC 转换启动控制位。写入 1 后开始 ADC 转换,转换完成后硬件自动将此位清零。 0:无影响。即使 ADC 已经开始转换工作,写 0 也不会停止 A/D 转换。 1:开始 ADC 转换,转换完成后硬件自动将此位清零。 ADC_FLAG:ADC 转换结束标志位。当 ADC 完成一次转换后,硬件会自动将此位置 1,并向 CPU 提出 中断请求。此标志位必须软件清零。 ADC_EPWMT:使能 PWM 实时触发 ADC 功能。详情请参考 15 位增强型 PWM 章节 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 528 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ADC_CHS[3:0]:ADC 模拟通道选择位 (注意:被选择为 ADC 输入通道的 I/O 口,必须设置 PxM0/PxM1 寄存器将 I/O 口模式设置为高 阻输入模式。另外如果 MCU 进入掉电模式/时钟停振模式后,仍需要使能 ADC 通道,则需要设置 PxIE 寄存器关闭数字输入通道,以防止外部模拟输入信号忽高忽低而产生额外的功耗) (注意:下面表格中红色字体的通道代表不同系列可能在不同端口上,红色只是表示凸显) (STC8G1K08/STC8G1K08T 系列) ADC_CHS[3:0] ADC 通道 0000 P1.0/ADC0 0001 P1.1/ADC1 0010 P1.2/ADC2 0011 P1.3/ADC3 0100 P1.4/ADC4 0101 P1.5/ADC5 0110 P1.6/ADC6 0111 P1.7/ADC7 1000 P3.0/ADC8 1001 P3.1/ADC9 1010 P3.2/ADC10 1011 P3.3/ADC11 1100 P3.4/ADC12 1101 P3.5/ADC13 1110 P3.6/ADC14 1111 测试内部 1.19V (STC8G2K64S4/STC8G2K64S2/STC15H2K64S4 系列) ADC_CHS[3:0] ADC 通道 0000 P1.0/ADC0 0001 P1.1/ADC1 0010 P1.2/ADC2 0011 P1.3/ADC3 0100 P1.4/ADC4 0101 P1.5/ADC5 0110 P1.6/ADC6 0111 P1.7/ADC7 1000 P0.0/ADC8 1001 P0.1/ADC9 1010 P0.2/ADC10 1011 P0.3/ADC11 1100 P0.4/ADC12 1101 P0.5/ADC13 1110 P0.6/ADC14 1111 测试内部 1.19V 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 529 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 (STC8G1K08A 系列) ADC_CHS[3:0] ADC 通道 0000 P3.0/ADC0 0001 P3.1/ADC1 0010 P3.2/ADC2 0011 P3.3/ADC3 0100 P5.4/ADC4 0101 P5.5/ADC5 0110 无此通道 0111 无此通道 1000 无此通道 1001 无此通道 1010 无此通道 1011 无此通道 1100 无此通道 1101 无此通道 1110 无此通道 1111 测试内部 1.19V 16.1.2 ADC 配置寄存器(ADCCFG) 符号 地址 B7 B6 B5 B4 ADCCFG DEH - - RESFMT - B3 B2 B1 B0 SPEED[3:0] RESFMT:ADC 转换结果格式控制位 0:转换结果左对齐。ADC_RES 保存结果的高 8 位,ADC_RESL 保存结果的低 2 位。格式如下: ADC_RES ADC_RESL D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 自动填0 10位转换结果 RESFMT=0 1:转换结果右对齐。ADC_RES 保存结果的高 2 位,ADC_RESL 保存结果的低 8 位。格式如下: ADC_RES 0 0 0 0 自动填0 0 0 ADC_RESL D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 10位转换结果 RESFMT=1 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 530 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 SPEED[3:0]:设置 ADC 工作时钟频率{FADC=SYSclk/2/(SPEED+1)} SPEED[3:0] 给 ADC 的工作时钟频率 0000 SYSclk/2/1 0001 SYSclk/2/2 0010 SYSclk/2/3 ... ... 1101 SYSclk/2/14 1110 SYSclk/2/15 1111 SYSclk/2/16 16.1.3 ADC 转换结果寄存器(ADC_RES,ADC_RESL) 符号 地址 ADC_RES BDH ADC_RESL BEH B7 B6 B5 B4 B3 B2 B1 B0 当 A/D 转换完成后,10 位的转换结果会自动保存到 ADC_RES 和 ADC_RESL 中。保存结果的数据 格式请参考 ADC_CFG 寄存器中的 RESFMT 设置。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 531 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 16.1.4 ADC 时序控制寄存器 符号 地址 B7 ADCTIM FEA8H CSSETUP B6 B5 B4 B3 CSHOLD[1:0] B2 B1 B0 SMPDUTY[4:0] CSSETUP:ADC 通道选择时间控制 Tsetup CSSETUP 占用 ADC 工作时钟数 0 1(默认值) 1 2 CSHOLD[1:0]:ADC 通道选择保持时间控制 Thold CSHOLD[1:0] 占用 ADC 工作时钟数 00 1 01 2(默认值) 10 3 11 4 SMPDUTY[4:0]:ADC 模拟信号采样时间控制 Tduty(注意:SMPDUTY 一定不能设置小于 01010B) SMPDUTY[4:0] 占用 ADC 工作时钟数 00000 1 00001 2 ... ... 01010 11(默认值) ... ... 11110 31 11111 32 ADC 数模转换时间:Tconvert 10 位 ADC 的转换时间固定为 10 个 ADC 工作时钟 12 位 ADC 的转换时间固定为 12 个 ADC 工作时钟 一个完整的 ADC 转换时间为: Tsetup + Tduty + Thold + Tconvert,如下图所示 ADC时钟FADC SYSclk/2/(SPEED+1) 使能信号 ADC_POWER 开始信号 ADC_START 完成信号 ADC_FLAG 模拟输入通道 ADCx_IN 开始选择通道 开始采样 结束采样 关闭通道并开始转换 转换完成 采样时间Tduty 转换时间Tconvert (SMPDUTY+1) (10位ADC为10个ADC时钟) 准备时间Tsetup 保持时间Thold (CSSETUP+1) (CSHOLD+1) (12位ADC为12个ADC时钟) ADC整体转换时序图 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 532 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 16.2 ADC 相关计算公式 16.2.1 ADC 速度计算公式 ADC 的转换速度由 ADCCFG 寄存器中的 SPEED 和 ADCTIM 寄存器共同控制。转换速度的计算公式如 下所示: MCU工作频率SYSclk 10位ADC转换速度 = 2×(SPEED[3:0] + 1)×[(CSSETUP + 1) + (CSHOLD + 1) + (SMPDUTY + 1) + 10] MCU工作频率SYSclk 12位ADC转换速度 = 2×(SPEED[3:0] + 1)×[(CSSETUP + 1) + (CSHOLD + 1) + (SMPDUTY + 1) + 12] 注意:      10 位 ADC 的速度不能高于 500KHz 12 位 ADC 的速度不能高于 800KHz SMPDUTY 的值不能小于 10,建议设置为 15 CSSETUP 可使用上电默认值 0 CHOLD 可使用上电默认值 1(ADCTIM 建议设置为 3FH) 16.2.2 ADC 转换结果计算公式 ADC被转换通道的输入电压Vin (无独立ADC_Vref+管脚) 10位ADC转换结果 = 1024 × MCU工作电压Vcc ADC被转换通道的输入电压Vin (有独立ADC_Vref+管脚) 10位ADC转换结果 = 1024 × ADC外部参考源的电压 ADC被转换通道的输入电压Vin (无独立ADC_Vref+管脚) 12位ADC转换结果 = 4096 × MCU工作电压Vcc ADC被转换通道的输入电压Vin (有独立ADC_Vref+管脚) 12位ADC转换结果 = 4096 × ADC外部参考源的电压 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 533 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 16.2.3 反推 ADC 输入电压计算公式 10位ADC转换结果 (无独立ADC_Vref+管脚) ADC被转换通道的输入电压Vin = MCU工作电压Vcc × 1024 10位ADC转换结果 (有独立ADC_Vref+管脚) ADC被转换通道的输入电压Vin = ADC外部参考源的电压 × 1024 12位ADC转换结果 (无独立ADC_Vref+管脚) ADC被转换通道的输入电压Vin = MCU工作电压Vcc × 4096 12位ADC转换结果 (有独立ADC_Vref+管脚) ADC被转换通道的输入电压Vin = ADC外部参考源的电压 × 4096 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 534 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 16.2.4 反推工作电压计算公式 当需要使用 ADC 输入电压和 ADC 转换结果反推工作电压时,若目标芯片无独立的 ADC_Vref+管脚,则 可直接测量并使用下面公式,若目标芯片有独立 ADC_Vref+管脚时,则必须将 ADC_Vref+管脚连接到 Vcc 管脚。 ADC被转换通道的输入电压Vin MCU工作电压Vcc = 1024 × 10位ADC转换结果 ADC被转换通道的输入电压Vin MCU工作电压Vcc = 4096 × 12位ADC转换结果 16.3 10 位 ADC 静态特性 符号 最小值 典型值 最大值 单位 分辨率 - 10 - Bits ET 整体误差 - 1.3 3 LSB EO 偏移误差 - 0.3 1 LSB EG 增益误差 - 0 1 LSB ED 微分非线性误差 - 0.7 1.5 LSB EI 积分非线性误差 - 1 2 LSB RAIN 通道等效电阻 - ∞ - ohm RESD 采样保持电容前串接的抗 静电电阻 - 700 - ohm CADC 内部采样保持电容 - 16.5 - pF 最小值 典型值 最大值 单位 分辨率 - 12 - Bits ET 整体误差 - 0.5 1 LSB EO 偏移误差 - -0.1 1 LSB EG 增益误差 - 0 1 LSB ED 微分非线性误差 - 0.7 1.5 LSB EI 积分非线性误差 - 1 2 LSB RAIN 通道等效电阻 - ∞ - ohm RESD 采样保持电容前串接的抗 静电电阻 - 700 - ohm CADC 内部采样保持电容 - 16.5 - pF RES 描述 16.4 12 位 ADC 静态特性 符号 RES 描述 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 535 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 16.5 ADC 应用参考线路图 16.5.1 无独立 VREF 脚参考线路图 Vcc Vcc SP3232/ SP232/ MAX3232/ MAX232 0.1u 系统电源 (可从USB取电) Vin Power On Vcc 47u C? 1 2 3 4 5 6 7 8 9 10 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P5.4 VCC P5.5 GND P1.1 P1.0 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 20 19 18 17 16 15 14 13 12 11 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 100欧 STC8G1K08 1N5819 47u钽电容(封装3528)参考价 8; value += T38K4HZ; } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; 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); } 汇编代码 ;测试工作频率为 11.0592MHz CCON CF CR CCF2 CCF1 CCF0 CMOD CL CH CCAPM0 CCAP0L CCAP0H PCA_PWM0 DATA BIT BIT BIT BIT BIT DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 0D8H CCON.7 CCON.6 CCON.2 CCON.1 CCON.0 0D9H 0E9H 0F9H 0DAH 0EAH 0FAH 0F2H 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 589 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com CCAPM1 CCAP1L CCAP1H PCA_PWM1 CCAPM2 CCAP2L CCAP2H PCA_PWM2 DATA DATA DATA DATA DATA DATA DATA DATA 0DBH 0EBH 0FBH 0F3H 0DCH 0ECH 0FCH 0F4H T38K4HZ EQU 90H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 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 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H 技术支持: 13922829991 选型顾问: 13922805190 ;11059200/2/38400 PCAISR: MAIN: 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 590 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 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 ;PCA 时钟为系统时钟 ;PCA 模块 0 为 16 位定时器模式并使能脉冲输出 ;启动 PCA 计时器 END PCA 扩展外部中断 17.4.6 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr sbit sbit sbit sbit sbit sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr CCON CF CR CCF2 CCF1 CCF0 CMOD CL CH CCAPM0 CCAP0L CCAP0H PCA_PWM0 CCAPM1 CCAP1L CCAP1H PCA_PWM1 CCAPM2 CCAP2L CCAP2H PCA_PWM2 = = = = = = = = = = = = = = = = = = = = = 0xd8; CCON^7; CCON^6; CCON^2; CCON^1; CCON^0; 0xd9; 0xe9; 0xf9; 0xda; 0xea; 0xfa; 0xf2; 0xdb; 0xeb; 0xfb; 0xf3; 0xdc; 0xec; 0xfc; 0xf4; sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 591 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com sfr P5M0 = 0xca; sbit P10 = P1^0; 技术支持: 13922829991 选型顾问: 13922805190 void PCA_Isr() interrupt 7 { CCF0 = 0; P10 = !P10; } void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; // // CCON = 0x00; CMOD = 0x08; CL = 0x00; CH = 0x00; CCAPM0 = 0x11; CCAPM0 = 0x21; CCAPM0 = 0x31; CCAP0L = 0; CCAP0H = 0; CR = 1; EA = 1; //PCA 时钟为系统时钟 //扩展外部端口 CCP0 为下降沿中断口 //扩展外部端口 CCP0 为上升沿中断口 //扩展外部端口 CCP0 为边沿中断口 //启动 PCA 计时器 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz CCON CF CR CCF2 CCF1 CCF0 CMOD CL CH CCAPM0 CCAP0L CCAP0H PCA_PWM0 CCAPM1 CCAP1L DATA BIT BIT BIT BIT BIT DATA DATA DATA DATA DATA DATA DATA DATA DATA 深圳国芯人工智能有限公司 0D8H CCON.7 CCON.6 CCON.2 CCON.1 CCON.0 0D9H 0E9H 0F9H 0DAH 0EAH 0FAH 0F2H 0DBH 0EBH 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 592 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com CCAP1H PCA_PWM1 CCAPM2 CCAP2L CCAP2H PCA_PWM2 DATA DATA DATA DATA DATA DATA 0FBH 0F3H 0DCH 0ECH 0FCH 0F4H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP ORG LJMP 0000H MAIN 003BH PCAISR ORG 0100H CLR CPL RETI CCF0 P1.0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV MOV MOV MOV MOV MOV MOV MOV MOV SETB SETB CCON,#00H CMOD,#08H CL,#00H CH,#0H CCAPM0,#11H CCAPM0,#21H CCAPM0,#31H CCAP0L,#0 CCAP0H,#0 CR EA JMP $ 技术支持: 13922829991 选型顾问: 13922805190 PCAISR: MAIN: ; ; 深圳国芯人工智能有限公司 ;PCA 时钟为系统时钟 ;扩展外部端口 CCP0 为下降沿中断口 ;扩展外部端口 CCP0 为上升沿中断口 ;扩展外部端口 CCP0 为边沿中断口 ;启动 PCA 计时器 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 593 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 END 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 594 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 18 精度可达 15 位的增强型 PWM(最多可输出 45 路各自独立的 PWM) 产品线 增强型 PWM STC8G1K08 系列 STC8G1K08-8Pin 系列 STC8G1K08A 系列 STC8G2K64S4 系列 ● STC8G2K64S2 系列 ● STC8G1K08T 系列 STC15H2K64S4 系列 ● (C 语言程序中使用中断号大于 31 的中断时,在 Keil 中编译会报错,解决办法请参考附录) STC8G 部分系列单片机集成了 6 组增强型的 PWM 波形发生器,每组可单独设置周期,每组为各自 独立的 8 路,由于 P5 口缺少 P5.5/P5.6/P5.7 这 3 个端子,所以 STC8G2K64S4 系列最多可输出 45 路 PWM。 第 0 组,共 8 路,PWM00~PWM07,使用 PWM0CH/PWM0CL 设置周期值; 第 1 组,共 8 路,PWM10~PWM17,使用 PWM1CH/PWM1CL 设置周期值; 第 2 组,共 8 路,PWM20~PWM27,使用 PWM2CH/PWM2CL 设置周期值; 第 3 组,共 8 路,PWM30~PWM37,使用 PWM3CH/PWM3CL 设置周期值; 第 4 组,共 8 路,PWM40~PWM47,使用 PWM4CH/PWM4CL 设置周期值; 第 5 组,共 5 路,PWM50~PWM54,使用 PWM5CH/PWM5CL 设置周期值。 STC8G2K64S2 系列单片机集成了 1 组(P2 口)增强型的 PWM 波形发生器,P2 组可产生各自独立 的 8 路 PWM, 所以 STC8G2K64S2 系列最多可输出 8 路 PWM。PWM20~PWM27,使用 PWM2CH/PWM2CL 设置周期值。 PWM 的时钟源可以选择。PWM 波形发生器内部有一个 15 位的 PWM 计数器供 8 路 PWM 使用, 用户可以设置每路 PWM 的初始电平。另外,PWM 波形发生器为每路 PWM 又设计了两个用于控制波形 翻转的计数器 T1/T2,可以非常灵活的控制每路 PWM 的高低电平宽度,从而达到对 PWM 的占空比以及 PWM 的输出延迟进行控制的目的。由于每组的 8 路 PWM 是各自独立的,且每路 PWM 的初始状态可以 进行设定,所以用户可以将其中的任意两路配合起来使用,即可实现互补对称输出以及死区控制等特殊 应用。注:增强型 PWM 只有输出功能,如果需要测量脉冲宽度,请使用本系列的 PCA/CCP/PWM 功能 增强型的 PWM 波形发生器还设计了对外部异常事件(包括外部端口 P3.5/P0.6/P0.7 电平异常、比较器比 较结果异常)进行监控的功能,可用于紧急关闭 PWM 输出。PWM 波形发生器还可与 ADC 相关联,设 置 PWM 周期的任一时间点触发 ADC 转换事件。 STC 三种硬件 PWM 比较: 兼容传统 8051 的 PCA/CCP/PWM:可输出 PWM 波形、捕获外部输入信号以及输出高速脉冲。可对外输 出 6 位/7 位/8 位/10 位的 PWM 波形,6 位 PWM 波形的频率为 PCA 模块时钟源频率/64;7 位 PWM 波形的频率为 PCA 模块时钟源频率/128;8 位 PWM 波形的频率为 PCA 模块时钟源频率/256;10 位 PWM 波形的频率为 PCA 模块时钟源频率/1024。捕获外部输入信号,可捕获上升沿、下降沿或者同 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 595 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 时捕获上升沿和下降沿。 STC8G 系列的 15 位增强型 PWM:只能对外输出 PWM 波形,无输入捕获功能。对外输出 PWM 的频率 以及占空比均可任意设置。通过软件干预,可实现多路互补/对称/带死区的 PWM 波形。有外部异常 检测功能以及实时触发 ADC 转换功能。 STC8H 系列的 16 位高级 PWM 定时器:是目前 STC 功能最强的 PWM,可对外输出任意频率以及任意 占空比的 PWM 波形。无需软件干预即可输出互补/对称/带死区的 PWM 波形。能捕获外部输入信号, 可捕获上升沿、下降沿或者同时捕获上升沿和下降沿,测量外部波形时,可同时测量波形的周期值 和占空比值。有正交编码功能、外部异常检测功能以及实时触发 ADC 转换功能。 18.1 PWM 相关的寄存器 位地址与符号 符号 PWMSET 描述 地址 增强型 PWM 全局配置寄存器 F1H 复位值 B7 B6 B5 B4 B3 B2 B1 ENGLBSET PWMRST ENPWM5 ENPWM4 ENPWM3 ENPWM2 ENPWM1 B0 ENPWM0 0000,0000 PWMCFG01 增强型 PWM 配置寄存器 F6H PWM1CBIF EPWM1CBI FLTPS0 PWM1CEN PWM0CBIF EPWM0CBI ENPWM0TA PWM0CEN 0000,0000 PWMCFG23 增强型 PWM 配置寄存器 F7H PWM3CBIF EPWM3CBI FLTPS1 PWM3CEN PWM2CBIF EPWM2CBI ENPWM2TA PWM2CEN 0000,0000 PWMCFG45 增强型 PWM 配置寄存器 FEH PWM5CBIF EPWM5CBI FLTPS2 PWM5CEN PWM4CBIF EPWM4CBI ENPWM4TA PWM4CEN 0000,0000 位地址与符号 符号 描述 地址 复位值 B7 PWM0CH PWM0 计数器高字节 FF00H PWM0CL PWM0 计数器低字节 FF01H PWM0 时钟选择 FF02H - PWM0TADCH PWM0 触发 ADC 计数高字节 FF03H - PWM0TADCL PWM0 触发 ADC 计数低字节 FF04H PWM0CKS PWM0IF PWM0 中断标志寄存器 B6 B5 B4 B3 B2 B1 B0 - x000,0000 0000,0000 - - SELT2 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 FF05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 PWM0FDCR PWM0 异常检测控制寄存器 FF06H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 PWM00T1H PWM00T1 计数值高字节 FF10H - PWM00T1 计数值低字节 FF11H PWM00T2H PWM00T2 计数值高字节 FF12H PWM00T2L PWM00T2 计数值低字节 FF13H PWM00CR PWM00 控制寄存器 FF14H ENO INI - - PWM00HLD PWM00 电平保持控制寄存器 FF15H - - - - PWM01T1H PWM01T1 计数值高字节 FF18H - PWM01T1 计数值低字节 FF19H PWM01T2H PWM01T2 计数值高字节 FF1AH PWM01T2L PWM01T2 计数值低字节 FF1BH PWM01CR PWM01 控制寄存器 FF1CH ENO INI - - PWM01HLD PWM01 电平保持控制寄存器 FF1DH - - - - PWM02T1H PWM02T1 计数值高字节 FF20H - PWM02T1 计数值低字节 FF21H PWM02T2H PWM02T2 计数值高字节 FF22H PWM02T2L PWM02T2 计数值低字节 FF23H PWM02CR PWM02 控制寄存器 FF24H PWM00T1L PWM01T1L PWM02T1L 深圳国芯人工智能有限公司 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 ENO INI - 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 传真: 0513-5501 2926/2956/2947 00xx,x000 - 596 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM02HLD PWM02 电平保持控制寄存器 FF25H - PWM03T1H PWM03T1 计数值高字节 FF28H - PWM03T1 计数值低字节 FF29H PWM03T2H PWM03T2 计数值高字节 FF2AH PWM03T2L PWM03T2 计数值低字节 FF2BH PWM03CR PWM03 控制寄存器 FF2CH ENO INI - - PWM03HLD PWM03 电平保持控制寄存器 FF2DH - - - - PWM04T1H PWM04T1 计数值高字节 FF30H - PWM04T1 计数值低字节 FF31H PWM04T2H PWM04T2 计数值高字节 FF32H PWM04T2L PWM04T2 计数值低字节 FF33H PWM04CR PWM04 控制寄存器 FF34H ENO INI - - PWM04HLD PWM04 电平保持控制寄存器 FF35H - - - - PWM05T1H PWM05T1 计数值高字节 FF38H - PWM05T1 计数值低字节 FF39H PWM05T2H PWM05T2 计数值高字节 FF3AH PWM05T2L PWM05T2 计数值低字节 FF3BH PWM05CR PWM05 控制寄存器 FF3CH ENO INI - - PWM05HLD PWM05 电平保持控制寄存器 FF3DH - - - - PWM06T1H PWM06T1 计数值高字节 FF40H - PWM06T1 计数值低字节 FF41H PWM06T2H PWM06T2 计数值高字节 FF42H PWM06T2L PWM06T2 计数值低字节 FF43H PWM06CR PWM06 控制寄存器 FF44H ENO INI - - PWM06HLD PWM06 电平保持控制寄存器 FF45H - - - - PWM07T1H PWM07T1 计数值高字节 FF48H - PWM07T1 计数值低字节 FF49H PWM07T2H PWM07T2 计数值高字节 FF4AH PWM07T2L PWM07T2 计数值低字节 FF4BH PWM07CR PWM07 控制寄存器 FF4CH ENO INI - - FF4DH - - - - - PWM03T1L PWM04T1L PWM05T1L PWM06T1L PWM07T1L PWM07HLD PWM07 电平保持控制寄存器 - - - - - 选型顾问: 13922805190 HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 PWM1CH PWM1 计数器高字节 FF50H PWM1CL PWM1 计数器低字节 FF51H PWM1 时钟选择 FF52H - - - SELT2 PWM1 中断标志寄存器 FF55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 PWM1FDCR PWM1 异常检测控制寄存器 FF56H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 PWM10T1H PWM10T1 计数值高字节 FF60H - PWM10T1 计数值低字节 FF61H PWM10T2H PWM10T2 计数值高字节 FF62H PWM10T2L PWM10T2 计数值低字节 FF63H PWM10CR PWM10 控制寄存器 FF64H ENO INI - - PWM10HLD PWM10 电平保持控制寄存器 FF65H - - - - PWM11T1H PWM11T1 计数值高字节 FF68H - PWM11T1 计数值低字节 FF69H PWM1CKS PWM1IF PWM10T1L PWM11T1L 深圳国芯人工智能有限公司 x000,0000 0000,0000 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 - x000,0000 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 传真: 0513-5501 2926/2956/2947 - 597 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM11T2H PWM11T2 计数值高字节 FF6AH PWM11T2L PWM11T2 计数值低字节 FF6BH PWM11CR PWM11 控制寄存器 FF6CH ENO INI - - PWM11HLD PWM11 电平保持控制寄存器 FF6DH - - - - PWM12T1H PWM12T1 计数值高字节 FF70H - PWM12T1 计数值低字节 FF71H PWM12T2H PWM12T2 计数值高字节 FF72H PWM12T2L PWM12T2 计数值低字节 FF73H PWM12CR PWM12 控制寄存器 FF74H ENO INI - - PWM12HLD PWM12 电平保持控制寄存器 FF75H - - - - PWM13T1H PWM13T1 计数值高字节 FF78H - PWM13T1 计数值低字节 FF79H PWM13T2H PWM13T2 计数值高字节 FF7AH PWM13T2L PWM13T2 计数值低字节 FF7BH PWM13CR PWM13 控制寄存器 FF7CH ENO INI - - PWM13HLD PWM13 电平保持控制寄存器 FF7DH - - - - PWM14T1H PWM14T1 计数值高字节 FF80H - PWM14T1 计数值低字节 FF81H PWM14T2H PWM14T2 计数值高字节 FF82H PWM14T2L PWM14T2 计数值低字节 FF83H PWM14CR PWM14 控制寄存器 FF84H ENO INI - - PWM14HLD PWM14 电平保持控制寄存器 FF85H - - - - PWM15T1H PWM15T1 计数值高字节 FF88H - PWM15T1 计数值低字节 FF89H PWM15T2H PWM15T2 计数值高字节 FF8AH PWM15T2L PWM15T2 计数值低字节 FF8BH PWM15CR PWM15 控制寄存器 FF8CH ENO INI - - PWM15HLD PWM15 电平保持控制寄存器 FF8DH - - - - PWM16T1H PWM16T1 计数值高字节 FF90H - PWM16T1 计数值低字节 FF91H PWM16T2H PWM16T2 计数值高字节 FF92H PWM16T2L PWM16T2 计数值低字节 FF93H PWM16CR PWM16 控制寄存器 FF94H ENO INI - - PWM16HLD PWM16 电平保持控制寄存器 FF95H - - - - PWM17T1H PWM17T1 计数值高字节 FF98H - PWM17T1 计数值低字节 FF99H PWM17T2H PWM17T2 计数值高字节 FF9AH PWM17T2L PWM17T2 计数值低字节 FF9BH PWM17CR PWM17 控制寄存器 FF9CH ENO INI - - FF9DH - - - - - PWM12T1L PWM13T1L PWM14T1L PWM15T1L PWM16T1L PWM17T1L PWM17HLD PWM17 电平保持控制寄存器 - ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 FFA0H PWM2CL PWM2 计数器低字节 FFA1H PWM2 时钟选择 FFA2H - FFA3H - 深圳国芯人工智能有限公司 - ENI 0000,0000 PWM2 计数器高字节 PWM2TADCH PWM2 触发 ADC 计数高字节 x000,0000 0000,0000 PWM2CH PWM2CKS 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - - 国内分销商电话: 0513-5501 2928/2929/2966 SELT2 PWM_PS[3:0] xxx0,0000 x000,0000 传真: 0513-5501 2926/2956/2947 - 598 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com PWM2TADCL PWM2 触发 ADC 计数低字节 PWM2IF PWM2 中断标志寄存器 技术支持: 13922829991 选型顾问: 13922805190 FFA4H 0000,0000 FFA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 PWM2FDCR PWM2 异常检测控制寄存器 FFA6H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 PWM20T1H PWM20T1 计数值高字节 FFB0H - PWM20T1 计数值低字节 FFB1H PWM20T2H PWM20T2 计数值高字节 FFB2H PWM20T2L PWM20T2 计数值低字节 FFB3H PWM20CR PWM20 控制寄存器 FFB4H ENO INI - - PWM20HLD PWM20 电平保持控制寄存器 FFB5H - - - - PWM21T1H PWM21T1 计数值高字节 FFB8H - PWM21T1 计数值低字节 FFB9H PWM21T2H PWM21T2 计数值高字节 FFBAH PWM21T2L PWM21T2 计数值低字节 FFBBH PWM21CR PWM21 控制寄存器 FFBCH ENO INI - - PWM21HLD PWM21 电平保持控制寄存器 FFBDH - - - - PWM22T1H PWM22T1 计数值高字节 FFC0H - PWM22T1 计数值低字节 FFC1H PWM22T2H PWM22T2 计数值高字节 FFC2H PWM22T2L PWM22T2 计数值低字节 FFC3H PWM22CR PWM22 控制寄存器 FFC4H ENO INI - - PWM22HLD PWM22 电平保持控制寄存器 FFC5H - - - - PWM23T1H PWM23T1 计数值高字节 FFC8H - PWM23T1 计数值低字节 FFC9H PWM23T2H PWM23T2 计数值高字节 FFCAH PWM23T2L PWM23T2 计数值低字节 FFCBH PWM23CR PWM23 控制寄存器 FFCCH ENO INI - - PWM23HLD PWM23 电平保持控制寄存器 FFCDH - - - - PWM24T1H PWM24T1 计数值高字节 FFD0H - PWM24T1 计数值低字节 FFD1H PWM24T2H PWM24T2 计数值高字节 FFD2H PWM24T2L PWM24T2 计数值低字节 FFD3H PWM24CR PWM24 控制寄存器 FFD4H ENO INI - - PWM24HLD PWM24 电平保持控制寄存器 FFD5H - - - - PWM25T1H PWM25T1 计数值高字节 FFD8H - PWM25T1 计数值低字节 FFD9H PWM25T2H PWM25T2 计数值高字节 FFDAH PWM25T2L PWM25T2 计数值低字节 FFDBH PWM25CR PWM25 控制寄存器 FFDCH ENO INI - - PWM25HLD PWM25 电平保持控制寄存器 FFDDH - - - - PWM26T1H PWM26T1 计数值高字节 FFE0H - PWM26T1 计数值低字节 FFE1H PWM26T2H PWM26T2 计数值高字节 FFE2H PWM26T2L PWM26T2 计数值低字节 FFE3H PWM26CR PWM26 控制寄存器 FFE4H PWM20T1L PWM21T1L PWM22T1L PWM23T1L PWM24T1L PWM25T1L PWM26T1L 深圳国芯人工智能有限公司 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 ENO INI - 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 传真: 0513-5501 2926/2956/2947 00xx,x000 - 599 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM26HLD PWM26 电平保持控制寄存器 FFE5H - PWM27T1H PWM27T1 计数值高字节 FFE8H - PWM27T1 计数值低字节 FFE9H PWM27T2H PWM27T2 计数值高字节 FFEAH PWM27T2L PWM27T2 计数值低字节 FFEBH PWM27CR PWM27 控制寄存器 FFECH ENO INI - - FFEDH - - - - - PWM27T1L PWM27HLD PWM27 电平保持控制寄存器 - - - - - 选型顾问: 13922805190 HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 PWM3CH PWM3 计数器高字节 FC00H PWM3CL PWM3 计数器低字节 FC01H PWM3 时钟选择 FC02H - - - SELT2 PWM3 中断标志寄存器 FC05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 PWM3FDCR PWM3 异常检测控制寄存器 FC06H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 PWM30T1H PWM30T1 计数值高字节 FC10H - PWM30T1 计数值低字节 FC11H PWM30T2H PWM30T2 计数值高字节 FC12H PWM30T2L PWM30T2 计数值低字节 FC13H PWM30CR PWM30 控制寄存器 FC14H ENO INI - - PWM30HLD PWM30 电平保持控制寄存器 FC15H - - - - PWM31T1H PWM31T1 计数值高字节 FC18H - PWM31T1 计数值低字节 FC19H PWM31T2H PWM31T2 计数值高字节 FC1AH PWM31T2L PWM31T2 计数值低字节 FC1BH PWM31CR PWM31 控制寄存器 FC1CH ENO INI - - PWM31HLD PWM31 电平保持控制寄存器 FC1DH - - - - PWM32T1H PWM32T1 计数值高字节 FC20H - PWM32T1 计数值低字节 FC21H PWM32T2H PWM32T2 计数值高字节 FC22H PWM32T2L PWM32T2 计数值低字节 FC23H PWM32CR PWM32 控制寄存器 FC24H ENO INI - - PWM32HLD PWM32 电平保持控制寄存器 FC25H - - - - PWM33T1H PWM33T1 计数值高字节 FC28H - PWM33T1 计数值低字节 FC29H PWM33T2H PWM33T2 计数值高字节 FC2AH PWM33T2L PWM33T2 计数值低字节 FC2BH PWM33CR PWM33 控制寄存器 FC2CH ENO INI - - PWM33HLD PWM33 电平保持控制寄存器 FC2DH - - - - PWM34T1H PWM34T1 计数值高字节 FC30H - PWM34T1 计数值低字节 FC31H PWM34T2H PWM34T2 计数值高字节 FC32H PWM34T2L PWM34T2 计数值低字节 FC33H PWM34CR PWM34 控制寄存器 FC34H ENO INI - - PWM34HLD PWM34 电平保持控制寄存器 FC35H - - - - PWM35T1H PWM35T1 计数值高字节 FC38H - PWM35T1 计数值低字节 FC39H PWM3CKS PWM3IF PWM30T1L PWM31T1L PWM32T1L PWM33T1L PWM34T1L PWM35T1L 深圳国芯人工智能有限公司 x000,0000 0000,0000 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 传真: 0513-5501 2926/2956/2947 - 600 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM35T2H PWM35T2 计数值高字节 FC3AH PWM35T2L PWM35T2 计数值低字节 FC3BH PWM35CR PWM35 控制寄存器 FC3CH ENO INI - - PWM35HLD PWM35 电平保持控制寄存器 FC3DH - - - - PWM36T1H PWM36T1 计数值高字节 FC40H - PWM36T1 计数值低字节 FC41H PWM36T2H PWM36T2 计数值高字节 FC42H PWM36T2L PWM36T2 计数值低字节 FC43H PWM36CR PWM36 控制寄存器 FC44H ENO INI - - PWM36HLD PWM36 电平保持控制寄存器 FC45H - - - - PWM37T1H PWM37T1 计数值高字节 FC48H - PWM37T1 计数值低字节 FC49H PWM37T2H PWM37T2 计数值高字节 FC4AH PWM37T2L PWM37T2 计数值低字节 FC4BH PWM37CR PWM37 控制寄存器 FC4CH ENO INI - - FC4DH - - - - - PWM36T1L PWM37T1L PWM37HLD PWM37 电平保持控制寄存器 - ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 FC50H PWM4CL PWM4 计数器低字节 FC51H PWM4 时钟选择 FC52H - PWM4TADCH PWM4 触发 ADC 计数高字节 FC53H - PWM4TADCL PWM4 触发 ADC 计数低字节 FC54H PWM4 中断标志寄存器 - ENI 0000,0000 PWM4 计数器高字节 PWM4IF x000,0000 0000,0000 PWM4CH PWM4CKS 选型顾问: 13922805190 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - - SELT2 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 FC55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 PWM4FDCR PWM4 异常检测控制寄存器 FC56H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF 0000,0000 PWM40T1H PWM40T1 计数值高字节 FC60H - PWM40T1 计数值低字节 FC61H PWM40T2H PWM40T2 计数值高字节 FC62H PWM40T2L PWM40T2 计数值低字节 FC63H PWM40CR PWM40 控制寄存器 FC64H ENO INI - - PWM40HLD PWM40 电平保持控制寄存器 FC65H - - - - PWM41T1H PWM41T1 计数值高字节 FC68H - PWM41T1 计数值低字节 FC69H PWM41T2H PWM41T2 计数值高字节 FC6AH PWM41T2L PWM41T2 计数值低字节 FC6BH PWM41CR PWM41 控制寄存器 FC6CH ENO INI - - PWM41HLD PWM41 电平保持控制寄存器 FC6DH - - - - PWM42T1H PWM42T1 计数值高字节 FC70H - PWM42T1 计数值低字节 FC71H PWM42T2H PWM42T2 计数值高字节 FC72H PWM42T2L PWM42T2 计数值低字节 FC73H PWM42CR PWM42 控制寄存器 FC74H ENO INI - - PWM42HLD PWM42 电平保持控制寄存器 FC75H - - - - PWM43T1H PWM43T1 计数值高字节 FC78H - PWM43T1 计数值低字节 FC79H PWM43T2H PWM43T2 计数值高字节 FC7AH PWM40T1L PWM41T1L PWM42T1L PWM43T1L 深圳国芯人工智能有限公司 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - 国内分销商电话: 0513-5501 2928/2929/2966 x000,0000 传真: 0513-5501 2926/2956/2947 - 601 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM43T2L PWM43T2 计数值低字节 FC7BH PWM43CR PWM43 控制寄存器 FC7CH ENO INI - - PWM43HLD PWM43 电平保持控制寄存器 FC7DH - - - - PWM44T1H PWM44T1 计数值高字节 FC80H - PWM44T1 计数值低字节 FC81H PWM44T2H PWM44T2 计数值高字节 FC82H PWM44T2L PWM44T2 计数值低字节 FC83H PWM44CR PWM44 控制寄存器 FC84H ENO INI - - PWM44HLD PWM44 电平保持控制寄存器 FC85H - - - - PWM45T1H PWM45T1 计数值高字节 FC88H - PWM45T1 计数值低字节 FC89H PWM45T2H PWM45T2 计数值高字节 FC8AH PWM45T2L PWM45T2 计数值低字节 FC8BH PWM45CR PWM45 控制寄存器 FC8CH ENO INI - - PWM45HLD PWM45 电平保持控制寄存器 FC8DH - - - - PWM46T1H PWM46T1 计数值高字节 FC90H - PWM46T1 计数值低字节 FC91H PWM46T2H PWM46T2 计数值高字节 FC92H PWM46T2L PWM46T2 计数值低字节 FC93H PWM46CR PWM46 控制寄存器 FC94H ENO INI - - PWM46HLD PWM46 电平保持控制寄存器 FC95H - - - - PWM47T1H PWM47T1 计数值高字节 FC98H - PWM47T1 计数值低字节 FC99H PWM47T2H PWM47T2 计数值高字节 FC9AH PWM47T2L PWM47T2 计数值低字节 FC9BH PWM47CR PWM47 控制寄存器 FC9CH ENO INI - - FC9DH - - - - - PWM44T1L PWM45T1L PWM46T1L PWM47T1L PWM47HLD PWM47 电平保持控制寄存器 选型顾问: 13922805190 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 PWM5CH PWM5 计数器高字节 FCA0H PWM5CL PWM5 计数器低字节 FCA1H PWM5 时钟选择 FCA2H - - - SELT2 PWM5 中断标志寄存器 FCA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF 0000,0000 PWM5FDCR PWM5 异常检测控制寄存器 FCA6H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF 0000,0000 PWM50T1H PWM50T1 计数值高字节 FCB0H - PWM50T1 计数值低字节 FCB1H PWM50T2H PWM50T2 计数值高字节 FCB2H PWM50T2L PWM50T2 计数值低字节 FCB3H PWM50CR PWM50 控制寄存器 FCB4H ENO INI - - PWM50HLD PWM50 电平保持控制寄存器 FCB5H - - - - PWM51T1H PWM51T1 计数值高字节 FCB8H - PWM51T1 计数值低字节 FCB9H PWM51T2H PWM51T2 计数值高字节 FCBAH PWM51T2L PWM51T2 计数值低字节 FCBBH PWM51CR PWM51 控制寄存器 FCBCH ENO INI - - FCBDH - - - - PWM5CKS PWM5IF PWM50T1L PWM51T1L PWM51HLD PWM51 电平保持控制寄存器 深圳国芯人工智能有限公司 x000,0000 0000,0000 PWM_PS[3:0] xxx0,0000 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 国内分销商电话: 0513-5501 2928/2929/2966 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 传真: 0513-5501 2926/2956/2947 - 602 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 PWM52T1H PWM52T1 计数值高字节 FCC0H PWM52T1 计数值低字节 FCC1H PWM52T2H PWM52T2 计数值高字节 FCC2H PWM52T2L PWM52T2 计数值低字节 FCC3H PWM52CR PWM52 控制寄存器 FCC4H ENO INI - - PWM52HLD PWM52 电平保持控制寄存器 FCC5H - - - - PWM53T1H PWM53T1 计数值高字节 FCC8H - PWM53T1 计数值低字节 FCC9H PWM53T2H PWM53T2 计数值高字节 FCCAH PWM53T2L PWM53T2 计数值低字节 FCCBH PWM53CR PWM53 控制寄存器 FCCCH ENO INI - - PWM53HLD PWM53 电平保持控制寄存器 FCCDH - - - - PWM54T1H PWM54T1 计数值高字节 FCD0H - PWM54T1 计数值低字节 FCD1H PWM54T2H PWM54T2 计数值高字节 FCD2H PWM54T2L PWM54T2 计数值低字节 FCD3H PWM54CR PWM54 控制寄存器 FCD4H ENO INI - - PWM54HLD PWM54 电平保持控制寄存器 FCD5H - - - - PWM55T1H PWM55T1 计数值高字节 FCD8H - PWM55T1 计数值低字节 FCD9H PWM55T2H PWM55T2 计数值高字节 FCDAH PWM55T2L PWM55T2 计数值低字节 FCDBH PWM55CR PWM55 控制寄存器 FCDCH ENO INI - - PWM55HLD PWM55 电平保持控制寄存器 FCDDH - - - - PWM56T1H PWM56T1 计数值高字节 FCE0H - PWM56T1 计数值低字节 FCE1H PWM56T2H PWM56T2 计数值高字节 FCE2H PWM56T2L PWM56T2 计数值低字节 FCE3H PWM56CR PWM56 控制寄存器 FCE4H ENO INI - - PWM56HLD PWM56 电平保持控制寄存器 FCE5H - - - - PWM57T1H PWM57T1 计数值高字节 FCE8H - PWM57T1 计数值低字节 FCE9H PWM57T2H PWM57T2 计数值高字节 FCEAH PWM57T2L PWM57T2 计数值低字节 FCEBH PWM57CR PWM57 控制寄存器 FCECH ENO INI - - FCEDH - - - - PWM52T1L PWM53T1L PWM54T1L PWM55T1L PWM56T1L PWM57T1L PWM57HLD PWM57 电平保持控制寄存器 18.1.1 选型顾问: 13922805190 - x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 x000,0000 0000,0000 - x000,0000 0000,0000 - ENI ENT2I ENT1I 00xx,x000 - HLDH HLDL xxxx,xx00 增强型 PWM 全局配置寄存器(PWMSET) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWMSET F1H ENGLBSET PWMRST ENPWM5 ENPWM4 ENPWM3 ENPWM2 ENPWM1 ENPWM0 ENGLBSET:全局设置功能控制。 0:6 组 PWM 采用各自独立设置方式。 每组 PWM 分别使用 PWMCFG01/PWMCFG23/PWMCFG45 相应的控制位就绪独立配置。 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 603 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 1:6 组 PWM 采用统一设置方式。 每组 PWM 均采用 PWMCFG01 中的 PWM0 的设置进行配置。 PWMRST:软件复位 6 组 PWM。 0:无效 1:复位所有 PWM 的 XFR 寄存器,但不复位 SFR。(需要软件清零) ENPWM5:PWM5 使能位(包括 PWM50~PWM54) 。 0:关闭 PWM5 1:使能 PWM5 ENPWM4:PWM4 使能位(包括 PWM40~PWM47) 。 0:关闭 PWM4 1:使能 PWM4 ENPWM3:PWM3 使能位(包括 PWM30~PWM37) 。 0:关闭 PWM3 1:使能 PWM3 ENPWM2:PWM2 使能位(包括 PWM20~PWM27) 。 0:关闭 PWM2 1:使能 PWM2 ENPWM1:PWM1 使能位(包括 PWM10~PWM17) 。 0:关闭 PWM1 1:使能 PWM1 ENPWM0:PWM0 使能位(包括 PWM00~PWM07) 。 0:关闭 PWM0 1:使能 PWM0 18.1.2 增强型 PWM 配置寄存器(PWMCFGn) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWMCFG01 F6H PWM1CBIF EPWM1CBI FLTPS0 PWM1CEN PWM0CBIF EPWM0CBI ENPWM0TA PWM0CEN PWMCFG23 F7H PWM3CBIF EPWM3CBI FLTPS1 PWM3CEN PWM2CBIF EPWM2CBI ENPWM2TA PWM2CEN PWMCFG45 FEH PWM5CBIF EPWM5CBI FLTPS2 PWM5CEN PWM4CBIF EPWM4CBI ENPWM4TA PWM4CEN PWMnCBIF:PWMn 计数器归零中断标志位。(n=0~5) 当 15 位的 PWMn 计数器记满溢出归零时,硬件自动将此位置 1,并向 CPU 提出中断请求,此标志 位需要软件清零。 EPWMnCBI:PWMn 计数器归零中断使能位。(n=0~5) 0:关闭 PWMn 计数器归零中断(PWMnCBIF 依然会被硬件置位) 1:使能 PWMn 计数器归零中断 PWMnCEN: PWMn 波形发生器开始计数。(n=0~5) 0:PWMn 停止计数 1:PWMn 计数器开始计数 关于 PWMnCEN 控制位的重要说明:  PWMnCEN 一旦被使能后,内部的 PWMn 计数器会立即开始计数,并与 T1/T2 的值进行比较。 所以 PWMnCEN 必须在其他所有的 PWM 设置(包括 T1/T2 的设置、初始电平的设置、PWM 异常检测的设置以及 PWM 中断设置)都完成后,最后才能使能 PWMnCEN 位。  在 PWMn 计数器计数的过程中,PWMnCEN 控制位被关闭时,PWMn 计数会立即停止,当再次 使能 PWMnCEN 控制位时,PWMn 的计数会从 0 开始重新计数,而不会记忆 PWMn 停止计数 前的计数值 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 604 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190  特别注意:当 PWMnCEN 由 0 变为 1 时,内部的 PWM 计数器是从之前的不确定值归零后重新 开始计数,所以此时会产生立即产生一个归零中断,当用户需要使用 PWM 的归零中断时,需 特别注意这一点,即第一个归零中断并不是真正的 PWM 周期记满后归零所产生的。 EPWMnTA:PWMn 是否与 ADC 关联。(n=0、2、4) 0:PWMn 与 ADC 不关联 1:PWMn 与 ADC 相关联。 允许在 PWMn 周期中某个时间点触发 A/D 转换,使用 PWMnTADCH 和 PWMnTADCL 进行设置。 (注意:需要同时使能 ADC_CONTR 寄存器中的 ADC_POWER 位和 ADC_EPWMT 位,PWM 只是会自动将 ADC_START 置 1,只有 PWM0、PWM2、PWM4 可以触发 ADC) FLTPS0、FLTPS1、FLTPS2:外部异常检测脚选择控制位 PWM0/PWM1/PWM3/PWM5 PWM2 PWM4 外部异常检测脚 外部异常检测脚 外部异常检测脚 0 PWMFLT(P3.5) PWMFLT(P3.5) PWMFLT(P3.5) 0 1 PWMFLT(P3.5) PWMFLT2(P0.6) PWMFLT3(P0.7) 0 1 0 PWMFLT(P3.5) PWMFLT3(P0.7) PWMFLT2(P0.6) 0 1 1 PWMFLT2(P0.6) PWMFLT2(P0.6) PWMFLT2(P0.6) 1 0 0 PWMFLT2(P0.6) PWMFLT(P3.5) PWMFLT3(P0.7) 1 0 1 PWMFLT2(P0.6) PWMFLT3(P0.7) PWMFLT(P3.5) 1 1 0 PWMFLT3(P0.7) PWMFLT(P3.5) PWMFLT2(P0.6) 1 1 1 PWMFLT3(P0.7) PWMFLT2(P0.6) PWMFLT(P3.5) FLTPS2 FLTPS1 FLTPS0 0 0 0 18.1.3 PWM 中断标志寄存器(PWMnIF) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM0IF FF05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM1IF FF55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM2IF FFA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM3IF FC05H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM4IF FC55H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF PWM5IF FCA5H C7IF C6IF C5IF C4IF C3IF C2IF C1IF C0IF CiIF:PWMn 的第 i 通道中断标志位。 (n=0~5;i=0~7) 可设置在各路 PWM 的 T1 和 T2。当所设置的点发生匹配事件时,硬件自动将此位置 1,并向 CPU 提出中断请求,此标志位需要软件清零。 18.1.4 PWM 异常检测控制寄存器(PWMnFDCR) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM0FDCR FF06H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM1FDCR FF56H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF PWM2FDCR FFA6H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM3FDCR FC06H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF PWM4FDCR FC56H INVCMP INVIO ENFD FLTFLIO EFDI FDCMP FDIO FDIF PWM5FDCR FCA6H INVCMP INVIO ENFD FLTFLIO - FDCMP FDIO FDIF INVCMP:比较器器结果异常信号处理 0:比较器器结果由低变高为异常信号 1:比较器器结果由高变低为异常信号 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 605 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 INVIO:外部 PWMFLT 端口异常信号处理 0:外部 PWMFLT 端口信号由低变高为异常信号 1:外部 PWMFLT 端口信号由高变低为异常信号 (注:每组 PWM 的外部异常检测 PWMFLT 端口由 FLTPS0、FLTPS1、FLTPS 进行选择) ENFD:PWMn 外部异常检测控制位。 (n=0~5) 0:关闭 PWMn 外部异常检测功能 1:使能 PWMn 外部异常检测功能 FLTFLIO:发生 PWMn 外部异常时对 PWMn 输出口控制位。 (n=0~5) 0:发生 PWMn 外部异常时,PWMn 的输出口不作任何改变 1:发生 PWMn 外部异常时,PWMn 的输出口立即被设置为高阻输入模式。 (注:只有 ENO=1 所对应的端口才会被强制悬空) EFDI:PWMn 异常检测中断使能位。(n=0、2、4) 0:关闭 PWMn 异常检测中断(FDIF 依然会被硬件置位) 1:使能 PWMn 异常检测中断 FDCMP:比较器输出异常检测使能位。(n=0~5) 0:比较器与 PWMn 无关 1:设定 PWMn 异常检测源为比较器输出(异常类型由 INVCMP 设定) FDIO:PWMFLT 端口电平异常检测使能位。(n=0~5) 0:PWMFLT 端口电平与 PWMn 无关 1:设定 PWMn 异常检测源为 PWMFLT 端口(异常类型由 INVIO 设定) FDIF:PWMn 异常检测中断标志位。(n=0~5) 当发生 PWMn 异常时,硬件自动将此位置 1。当 EFDI==1 时,程序会跳转到相应中断入口执行中断 服务程序。需要软件清零。 (注:只有 PWM0、PWM2 和 PWM4 才会进中断,PWM1、PWM3、PWM5 有异常检测功能,但 不进中断服务程序) 18.1.5 PWM 计数器寄存器(PWMnCH,PWMnCL) 符号 地址 B7 PWM0CH FF00H - PWM0CL FF01H PWM1CH FF50H PWM1CL FF51H PWM2CH FFA0H PWM2CL FFA1H PWM3CH FC00H PWM3CL FC01H PWM4CH FC50H PWM4CL FC51H PWM5CH FCA0H PWM5CL FCA1H B6 B5 B4 B3 B2 B1 B0 - - - - - PWMnCH:PWMn 计数器周期值的高 7 位。(n=0~5) PWMnCL:PWMn 计数器周期值的低 8 位。(n=0~5) PWMn 计数器为一个 15 位的寄存器,可设定 1~32767 之间的任意值作为 PWMn 的周期。PWMn 波形发 生器内部的计数器从 0 开始计数,每个 PWMn 时钟周期递增 1,当内部计数器的计数值达到 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 606 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 [PWMnCH,PWMnCL]所设定的 PWMn 周期时,PWMn 波形发生器内部的计数器将会从 0 重新开 始开始计数,硬件会自动将 PWMn 归零中断中断标志位 PWMnCBIF 置 1,若 EPWMnCBI=1,程序 将跳转到相应中断入口执行中断服务程序。 PWM 时钟选择寄存器(PWMnCKS) ,输出频率计算公式 18.1.6 符号 地址 B7 B6 B5 B4 PWM0CKS FF02H - - - SELT2 PWM_PS[3:0] PWM1CKS FF52H - - - SELT2 PWM_PS[3:0] PWM2CKS FFA2H - - - SELT2 PWM_PS[3:0] PWM3CKS FC02H - - - SELT2 PWM_PS[3:0] PWM4CKS FC52H - - - SELT2 PWM_PS[3:0] PWM5CKS FCA2H - - - SELT2 PWM_PS[3:0] B3 B2 B1 B0 SELT2:PWMn 时钟源选择。(n=0~5) 0:PWMn 时钟源为系统时钟经分频器分频之后的时钟 1:PWMn 时钟源为定时器 2 的溢出脉冲 PWM_PS[3:0]:系统时钟预分频参数 SELT2 PWM_PS[3:0] PWMn 输入时钟源频率 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 输出频率计算公式 6 组 PWM 的输出频率计算公式相同,且每组可设置不同的频率。 时钟源选择(SELT2) PWM输出频率计算公式 SELT2=0 PWM输出频率 = (系统时钟) SELT2=1 PWM输出频率 = (定时器2的溢出脉冲) 18.1.7 系统工作频率SYSclk (PWM_PS + 1)×( [PWMnCH, PWMnCL] + 1) 定时器2的溢出脉冲频率 ( [PWMnCH, PWMnCL] + 1) PWM 触发 ADC 计数器寄存器(PWMnTADC) 符号 地址 B7 PWM0TADCH FF03H - PWM0TADCL FF04H PWM2TADCH FFA3H 深圳国芯人工智能有限公司 B6 B5 B4 B3 B2 B1 B0 - 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 607 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com PWM2TADCL FFA4H PWM4TADCH FC53H PWM4TADCL FC54H 技术支持: 13922829991 选型顾问: 13922805190 - PWMnTADCH:PWMn 触发 ADC 时间点的高 7 位。(n=0、2、4) PWMnTADCL:PWMn 触发 ADC 时间点的低 8 位。 (n=0、2、4) 若 EPWMnTA =1 且 ADC_POWER=1,ADC_EPWMT=1 时,在 PWMn 的计数周期中,当 PWMn 的内部计 数值与{PWMnTADCH, PWMnTADCL}所组成一个 15 位的寄存器的值相等时,硬件自动触发 A/D 转换。 18.1.8 PWM 电平输出设置计数值寄存器(PWMnT1,PWMnT2) 符号 地址 B7 PWM00T1H FF10H - PWM00T1L FF11H PWM00T2H FF12H PWM00T2L FF13H PWM01T1H FF18H PWM01T1L FF19H PWM01T2H FF1AH PWM01T2L FF1BH PWM02T1H FF20H PWM02T1L FF21H PWM02T2H FF22H PWM02T2L FF23H PWM03T1H FF28H PWM03T1L FF29H PWM03T2H FF2AH PWM03T2L FF2BH PWM04T1H FF30H PWM04T1L FF31H PWM04T2H FF32H PWM04T2L FF33H PWM05T1H FF38H PWM05T1L FF39H PWM05T2H FF3AH PWM05T2L FF3BH PWM06T1H FF40H PWM06T1L FF41H PWM06T2H FF42H PWM06T2L FF43H PWM07T1H FF48H PWM07T1L FF49H PWM07T2H FF4AH PWM07T2L FF4BH PWM10T1H FF60H 深圳国芯人工智能有限公司 B6 B5 B4 B3 B2 B1 B0 - - - - - - - - - - - - - - - - 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 608 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com PWM10T1L FF61H PWM10T2H FF62H PWM10T2L FF63H PWM11T1H FF68H PWM11T1L FF69H PWM11T2H FF6AH PWM11T2L FF6BH PWM12T1H FF70H PWM12T1L FF71H PWM12T2H FF72H PWM12T2L FF73H PWM13T1H FF78H PWM13T1L FF79H PWM13T2H FF7AH PWM13T2L FF7BH PWM14T1H FF80H PWM14T1L FF81H PWM14T2H FF82H PWM14T2L FF83H PWM15T1H FF88H PWM15T1L FF89H PWM15T2H FF8AH PWM15T2L FF8BH PWM16T1H FF90H PWM16T1L FF91H PWM16T2H FF92H PWM16T2L FF93H PWM17T1H FF98H PWM17T1L FF99H PWM17T2H FF9AH PWM17T2L FF9BH PWM20T1H FFB0H PWM20T1L FFB1H PWM20T2H FFB2H PWM20T2L FFB3H PWM21T1H FFB8H PWM21T1L FFB9H PWM21T2H FFBAH PWM21T2L FFBBH PWM22T1H FFC0H PWM22T1L FFC1H PWM22T2H FFC2H PWM22T2L FFC3H PWM23T1H FFC8H 深圳国芯人工智能有限公司 技术支持: 13922829991 选型顾问: 13922805190 - - - - - - - - - - - - - - - - - - - - - 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 609 - STC8G 系列技术手册 PWM23T1L FFC9H PWM23T2H FFCAH PWM23T2L FFCBH PWM24T1H FFD0H PWM24T1L FFD1H PWM24T2H FFD2H PWM24T2L FFD3H PWM25T1H FFD8H PWM25T1L FFD9H PWM25T2H FFDAH PWM25T2L FFDBH PWM26T1H FFE0H PWM26T1L FFE1H PWM26T2H FFE2H PWM26T2L FFE3H PWM27T1H FFE8H PWM27T1L FFE9H PWM27T2H FFEAH PWM27T2L FFEBH PWM30T1H FC10H PWM30T1L FC11H PWM30T2H FC12H PWM30T2L FC13H PWM31T1H FC18H PWM31T1L FC19H PWM31T2H FC1AH PWM31T2L FC1BH PWM32T1H FC20H PWM32T1L FC21H PWM32T2H FC22H PWM32T2L FC23H PWM33T1H FC28H PWM33T1L FC29H PWM33T2H FC2AH PWM33T2L FC2BH PWM34T1H FC30H PWM34T1L FC31H PWM34T2H FC32H PWM34T2L FC33H PWM35T1H FC38H PWM35T1L FC39H PWM35T2H FC3AH PWM35T2L FC3BH PWM36T1H FC40H 深圳国芯人工智能有限公司 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 - - - - - - - - - - - - - - - - - - - - - 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 610 - STC8G 系列技术手册 PWM36T1L FC41H PWM36T2H FC42H PWM36T2L FC43H PWM37T1H FC48H PWM37T1L FC49H PWM37T2H FC4AH PWM37T2L FC4BH PWM40T1H FC60H PWM40T1L FC61H PWM40T2H FC62H PWM40T2L FC63H PWM41T1H FC68H PWM41T1L FC69H PWM41T2H FC6AH PWM41T2L FC6BH PWM42T1H FC70H PWM42T1L FC71H PWM42T2H FC72H PWM42T2L FC73H PWM43T1H FC78H PWM43T1L FC79H PWM43T2H FC7AH PWM43T2L FC7BH PWM44T1H FC80H PWM44T1L FC81H PWM44T2H FC82H PWM44T2L FC83H PWM45T1H FC88H PWM45T1L FC89H PWM45T2H FC8AH PWM45T2L FC8BH PWM46T1H FC90H PWM46T1L FC91H PWM46T2H FC92H PWM46T2L FC93H PWM47T1H FC98H PWM47T1L FC99H PWM47T2H FC9AH PWM47T2L FC9BH PWM50T1H FCB0H PWM50T1L FCB1H PWM50T2H FCB2H PWM50T2L FCB3H PWM51T1H FCB8H 深圳国芯人工智能有限公司 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 - - - - - - - - - - - - - - - - - - - - - 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 611 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com PWM51T1L FCB9H PWM51T2H FCBAH PWM51T2L FCBBH PWM52T1H FCC0H PWM52T1L FCC1H PWM52T2H FCC2H PWM52T2L FCC3H PWM53T1H FCC8H PWM53T1L FCC9H PWM53T2H FCCAH PWM53T2L FCCBH PWM54T1H FCD0H PWM54T1L FCD1H PWM54T2H FCD2H PWM54T2L FCD3H PWM55T1H FCD8H PWM55T1L FCD9H PWM55T2H FCDAH PWM55T2L FCDBH PWM56T1H FCE0H PWM56T1L FCE1H PWM56T2H FCE2H PWM56T2L FCE3H PWM57T1H FCE8H PWM57T1L FCE9H PWM57T2H FCEAH PWM57T2L FCEBH 技术支持: 13922829991 选型顾问: 13922805190 - - - - - - - - - - - - - PWMniT1H:PWMn 的通道 i 的 T1 计数器值的高 7 位。(n=0~5,i=0~7) PWMniT1L:PWMn 的通道 i 的 T1 计数器值的低 8 位。(n=0~5,i=0~7) PWMniT2H:PWMn 的通道 i 的 T2 计数器值的高 7 位。(n=0~5,i=0~7) PWMniT2L:PWMn 的通道 i 的 T2 计数器值的低 8 位。(n=0~5,i=0~7) 每组 PWM 的每个通道的{PWMniT1H, PWMniT1L}和{PWMniT2H, PWMniT2L}分别组合成两个 15 位的 寄存器,用于控制各路 PWM 每个周期中输出 PWM 波形的两个触发点。在 PWMn 的计数周期中, 当 PWMn 的内部计数值与所设置的 T1 的值{PWMniT1H, PWMniT1L}相等时,PWM 的输出低电平; 当 PWMn 的内部计数值与 T2 的值{PWMniT2H, PWMniT2L}相等时,PWM 的输出高电平。 注意:当{PWMniT1H, PWMniT1L}与{PWMniT2H, PWMniT2L}的值设置相等时,若 PWM 的内部计数 值与所设置的 T1/T2 的值相等,则会固定输出低电平。 18.1.9 PWM 通道控制寄存器(PWMnCR) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM00CR FF14H ENO INI - - - ENI ENT2I ENT1I PWM01CR FF1CH ENO INI - - - ENI ENT2I ENT1I PWM02CR FF24H ENO INI - - - ENI ENT2I ENT1I PWM03CR FF2CH ENO INI - - - ENI ENT2I ENT1I 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 612 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PWM04CR FF34H ENO INI - - - ENI ENT2I ENT1I PWM05CR FF3CH ENO INI - - - ENI ENT2I ENT1I PWM06CR FF44H ENO INI - - - ENI ENT2I ENT1I PWM07CR FF4CH ENO INI - - - ENI ENT2I ENT1I PWM10CR FF64H ENO INI - - - ENI ENT2I ENT1I PWM11CR FF6CH ENO INI - - - ENI ENT2I ENT1I PWM12CR FF74H ENO INI - - - ENI ENT2I ENT1I PWM13CR FF7CH ENO INI - - - ENI ENT2I ENT1I PWM14CR FF84H ENO INI - - - ENI ENT2I ENT1I PWM15CR FF8CH ENO INI - - - ENI ENT2I ENT1I PWM16CR FF94H ENO INI - - - ENI ENT2I ENT1I PWM17CR FF9CH ENO INI - - - ENI ENT2I ENT1I PWM20CR FFB4H ENO INI - - - ENI ENT2I ENT1I PWM21CR FFBCH ENO INI - - - ENI ENT2I ENT1I PWM22CR FFC4H ENO INI - - - ENI ENT2I ENT1I PWM23CR FFCCH ENO INI - - - ENI ENT2I ENT1I PWM24CR FFD4H ENO INI - - - ENI ENT2I ENT1I PWM25CR FFDCH ENO INI - - - ENI ENT2I ENT1I PWM26CR FFE4H ENO INI - - - ENI ENT2I ENT1I PWM27CR FFECH ENO INI - - - ENI ENT2I ENT1I PWM30CR FC14H ENO INI - - - ENI ENT2I ENT1I PWM31CR FC1CH ENO INI - - - ENI ENT2I ENT1I PWM32CR FC24H ENO INI - - - ENI ENT2I ENT1I PWM33CR FC2CH ENO INI - - - ENI ENT2I ENT1I PWM34CR FC34H ENO INI - - - ENI ENT2I ENT1I PWM35CR FC3CH ENO INI - - - ENI ENT2I ENT1I PWM36CR FC44H ENO INI - - - ENI ENT2I ENT1I PWM37CR FC4CH ENO INI - - - ENI ENT2I ENT1I PWM40CR FC64H ENO INI - - - ENI ENT2I ENT1I PWM41CR FC6CH ENO INI - - - ENI ENT2I ENT1I PWM42CR FC74H ENO INI - - - ENI ENT2I ENT1I PWM43CR FC7CH ENO INI - - - ENI ENT2I ENT1I PWM44CR FC84H ENO INI - - - ENI ENT2I ENT1I PWM45CR FC8CH ENO INI - - - ENI ENT2I ENT1I PWM46CR FC94H ENO INI - - - ENI ENT2I ENT1I PWM47CR FC9CH ENO INI - - - ENI ENT2I ENT1I PWM50CR FCB4H ENO INI - - - ENI ENT2I ENT1I PWM51CR FCBCH ENO INI - - - ENI ENT2I ENT1I PWM52CR FCC4H ENO INI - - - ENI ENT2I ENT1I PWM53CR FCCCH ENO INI - - - ENI ENT2I ENT1I PWM54CR FCD4H ENO INI - - - ENI ENT2I ENT1I PWM55CR FCDCH ENO INI - - - ENI ENT2I ENT1I PWM56CR FCE4H ENO INI - - - ENI ENT2I ENT1I PWM57CR FCECH ENO INI - - - ENI ENT2I ENT1I 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 613 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 ENO:PWMni 输出使能位。(n=0~5,i=0~7) 0:第 n 路 PWM 的 i 通道相应 PWMni 端口为 GPIO 1:第 n 路 PWM 的 i 通道相应 PWMni 端口为 PWM 输出口,受 PWMn 波形发生器控制 INI:设置 PWMni 输出端口的初始电平。(n=0~5,i=0~7) 0:第 n 路 PWM 的 i 通道初始电平为低电平 1:第 n 路 PWM 的 i 通道初始电平为高电平 ENI:第 n 路 PWM 的 i 通道中断使能控制位。(n=0~5,i=0~7) 0:关闭第 n 路 PWM 的 i 通道的 PWM 中断 1:使能第 n 路 PWM 的 i 通道的 PWM 中断 ENT2I:第 n 路 PWM 的 i 通道在第 2 个触发点中断使能控制位。(n=0~5,i=0~7) 0:关闭第 n 路 PWM 的 i 通道在第 2 个触发点中断 1:使能第 n 路 PWM 的 i 通道在第 2 个触发点中断 ENT1I:第 n 路 PWM 的 i 通道在第 1 个触发点中断使能控制位。(n=0~5,i=0~7) 0:关闭第 n 路 PWM 的 i 通道在第 1 个触发点中断 1:使能第 n 路 PWM 的 i 通道在第 1 个触发点中断 18.1.10 PWM 通道电平保持控制寄存器(PWMnHLD) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 PWM00HLD FF15H - - - - - - HLDH HLDL PWM01HLD FF1DH - - - - - - HLDH HLDL PWM02HLD FF25H - - - - - - HLDH HLDL PWM03HLD FF2DH - - - - - - HLDH HLDL PWM04HLD FF35H - - - - - - HLDH HLDL PWM05HLD FF3DH - - - - - - HLDH HLDL PWM06HLD FF45H - - - - - - HLDH HLDL PWM07HLD FF4DH - - - - - - HLDH HLDL PWM10HLD FF65H - - - - - - HLDH HLDL PWM11HLD FF6DH - - - - - - HLDH HLDL PWM12HLD FF75H - - - - - - HLDH HLDL PWM13HLD FF7DH - - - - - - HLDH HLDL PWM14HLD FF85H - - - - - - HLDH HLDL PWM15HLD FF8DH - - - - - - HLDH HLDL PWM16HLD FF95H - - - - - - HLDH HLDL PWM17HLD FF9DH - - - - - - HLDH HLDL PWM20HLD FFB5H - - - - - - HLDH HLDL PWM21HLD FFBDH - - - - - - HLDH HLDL PWM22HLD FFC5H - - - - - - HLDH HLDL PWM23HLD FFCDH - - - - - - HLDH HLDL PWM24HLD FFD5H - - - - - - HLDH HLDL PWM25HLD FFDDH - - - - - - HLDH HLDL PWM26HLD FFE5H - - - - - - HLDH HLDL PWM27HLD FFEDH - - - - - - HLDH HLDL PWM30HLD FC15H - - - - - - HLDH HLDL PWM31HLD FC1DH - - - - - - HLDH HLDL 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 614 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 PWM32HLD FC25H - - - - - - HLDH HLDL PWM33HLD FC2DH - - - - - - HLDH HLDL PWM34HLD FC35H - - - - - - HLDH HLDL PWM35HLD FC3DH - - - - - - HLDH HLDL PWM36HLD FC45H - - - - - - HLDH HLDL PWM37HLD FC4DH - - - - - - HLDH HLDL PWM40HLD FC65H - - - - - - HLDH HLDL PWM41HLD FC6DH - - - - - - HLDH HLDL PWM42HLD FC75H - - - - - - HLDH HLDL PWM43HLD FC7DH - - - - - - HLDH HLDL PWM44HLD FC85H - - - - - - HLDH HLDL PWM45HLD FC8DH - - - - - - HLDH HLDL PWM46HLD FC95H - - - - - - HLDH HLDL PWM47HLD FC9DH - - - - - - HLDH HLDL PWM50HLD FCB5H - - - - - - HLDH HLDL PWM51HLD FCBDH - - - - - - HLDH HLDL PWM52HLD FCC5H - - - - - - HLDH HLDL PWM53HLD FCCDH - - - - - - HLDH HLDL PWM54HLD FCD5H - - - - - - HLDH HLDL PWM55HLD FCDDH - - - - - - HLDH HLDL PWM56HLD FCE5H - - - - - - HLDH HLDL PWM57HLD FCEDH - - - - - - HLDH HLDL HLDH:第 n 路 PWM 的 i 通道强制输出高电平控制位。(n=0~5,i=0~7) 0:第 n 路 PWM 的 i 通道正常输出 1:第 n 路 PWM 的 i 通道强制输出高电平 HLDL:第 n 路 PWM 的 i 通道强制输出低电平控制位。(n=0~5,i=0~7) 0:第 n 路 PWM 的 i 通道正常输出 1:第 n 路 PWM 的 i 通道强制输出低电平 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 615 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 18.2 范例程序 输出任意周期和任意占空比的波形 18.2.1 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr P_SW2 = 0xba; sfr sfr sfr sfr PWMSET PWMCFG01 PWMCFG23 PWMCFG45 = = = = 0xF1; 0xF6; 0xF7; 0xFE; #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define PWM0C PWM0CH PWM0CL PWM0CKS PWM0TADC PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR PWM00T1 PWM00T1H PWM00T1L PWM00T2H PWM00T2 PWM00T2L PWM00CR PWM00HLD sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 (*(unsigned int volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF01) (*(unsigned char volatile xdata *)0xFF02) (*(unsigned int volatile xdata *)0xFF03) (*(unsigned char volatile xdata *)0xFF03) (*(unsigned char volatile xdata *)0xFF04) (*(unsigned char volatile xdata *)0xFF05) (*(unsigned char volatile xdata *)0xFF06) (*(unsigned int volatile xdata *)0xFF10) (*(unsigned char volatile xdata *)0xFF10) (*(unsigned char volatile xdata *)0xFF11) (*(unsigned char volatile xdata *)0xFF12) (*(unsigned int volatile xdata *)0xFF12) (*(unsigned char volatile xdata *)0xFF13) (*(unsigned char volatile xdata *)0xFF14) (*(unsigned char volatile xdata *)0xFF15) = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 616 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; PWMSET = 0x01; //使能 PWM0 模块(必须先使能模块后面的设置才有效) P_SW2 = 0x80; PWM0CKS = 0x00; PWM0C = 0x1000; PWM00T1= 0x0100; PWM00T2= 0x0500; PWM00CR= 0x80; P_SW2 = 0x00; //PWM0 时钟为系统时钟 //设置 PWM0 周期为 1000H 个 PWM 时钟 //在计数值为 100H 地方 PWM00 通道输出低电平 //在计数值为 500H 地方 PWM00 通道输出高电平 //使能 PWM00 输出 PWMCFG01 = 0x01; //启动 PWM0 模块 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH PWMSET PWMCFG01 PWMCFG23 PWMCFG45 DATA DATA DATA DATA 0F1H 0F6H 0F7H 0FEH PWM0CH PWM0CL PWM0CKS PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR PWM00T1H PWM00T1L PWM00T2H PWM00T2L PWM00CR PWM00HLD EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 0FF00H 0FF01H 0FF02H 0FF03H 0FF04H 0FF05H 0FF06H 0FF10H 0FF11H 0FF12H 0FF13H 0FF14H 0FF15H P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 093H 094H 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 617 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV PWMSET,#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,#PWM0CKS @DPTR,A A,#10H DPTR,#PWM0CH @DPTR,A A,#00H DPTR,#PWM0CL @DPTR,A A,#01H DPTR,#PWM00T1H @DPTR,A A,#00H DPTR,#PWM00T1L @DPTR,A A,#05H DPTR,#PWM00T2H @DPTR,A A,#00H DPTR,#PWM00T2L @DPTR,A A,#80H DPTR,#PWM00CR @DPTR,A P_SW2,#00H MOV PWMCFG01,#01H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 MAIN: ;使能 PWM0 模块(必须先使能模块后面的设置才有效) ;PWM0 时钟为系统时钟 ;设置 PWM0 周期为 1000H 个 PWM 时钟 ;在计数值为 100H 地方 PWM00 通道输出低电平 ;在计数值为 500H 地方 PWM00 通道输出高电平 ;使能 PWM00 输出 ;启动 PWM0 模块 END 18.2.2 两路 PWM 实现互补对称带死区控制的波形 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 618 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" sfr P_SW2 = 0xba; sfr sfr sfr sfr PWMSET PWMCFG01 PWMCFG23 PWMCFG45 = = = = 0xF1; 0xF6; 0xF7; 0xFE; #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 PWM0C PWM0CH PWM0CL PWM0CKS PWM0TADC PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR PWM00T1 PWM00T1H PWM00T1L PWM00T2 PWM00T2H PWM00T2L PWM00CR PWM00HLD PWM01T1 PWM01T1H PWM01T1L PWM01T2 PWM01T2H PWM01T2L PWM01CR PWM01HLD sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 (*(unsigned int volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF01) (*(unsigned char volatile xdata *)0xFF02) (*(unsigned int volatile xdata *)0xFF03) (*(unsigned char volatile xdata *)0xFF03) (*(unsigned char volatile xdata *)0xFF04) (*(unsigned char volatile xdata *)0xFF05) (*(unsigned char volatile xdata *)0xFF06) (*(unsigned int volatile xdata *)0xFF10) (*(unsigned char volatile xdata *)0xFF10) (*(unsigned char volatile xdata *)0xFF11) (*(unsigned int volatile xdata *)0xFF12) (*(unsigned char volatile xdata *)0xFF12) (*(unsigned char volatile xdata *)0xFF13) (*(unsigned char volatile xdata *)0xFF14) (*(unsigned char volatile xdata *)0xFF15) (*(unsigned int volatile xdata *)0xFF18) (*(unsigned char volatile xdata *)0xFF18) (*(unsigned char volatile xdata *)0xFF19) (*(unsigned int volatile xdata *)0xFF1A) (*(unsigned char volatile xdata *)0xFF1A) (*(unsigned char volatile xdata *)0xFF1B) (*(unsigned char volatile xdata *)0xFF1C) (*(unsigned char volatile xdata *)0xFF1D) = = = = = = = = = = = = 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 619 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com 技术支持: 13922829991 选型顾问: 13922805190 P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; PWMSET = 0x01; //使能 PWM0 模块(必须先使能模块后面的设置才有效) P_SW2 = 0x80; PWM0CKS = 0x00; PWM0C = 0x0800; PWM00T1= 0x0100; PWM00T2= 0x0700; PWM01T2= 0x0080; PWM01T1= 0x0780; PWM00CR= 0x80; PWM01CR= 0x80; P_SW2 = 0x00; //PWM0 时钟为系统时钟 //设置 PWM0 周期为 0800H 个 PWM 时钟 //PWM00 在计数值为 100H 地方输出低电平 //PWM00 在计数值为 700H 地方输出高电平 //PWM01 在计数值为 0080H 地方输出高电平 //PWM01 在计数值为 0780H 地方输出低电平 //使能 PWM00 输出 //使能 PWM01 输出 PWMCFG01 = 0x01; //启动 PWM0 模块 while (1); } 汇编代码 ;测试工作频率为 11.0592MHz P_SW2 DATA 0BAH PWMSET PWMCFG01 PWMCFG23 PWMCFG45 DATA DATA DATA DATA 0F1H 0F6H 0F7H 0FEH PWM0CH PWM0CL PWM0CKS PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR PWM00T1H PWM00T1L PWM00T2H PWM00T2L PWM00CR PWM00HLD PWM01T1H PWM01T1L PWM01T2H PWM01T2L PWM01CR PWM01HLD EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 0FF00H 0FF01H 0FF02H 0FF03H 0FF04H 0FF05H 0FF06H 0FF10H 0FF11H 0FF12H 0FF13H 0FF14H 0FF15H 0FF18H 0FF19H 0FF1AH 0FF1BH 0FF1CH 0FF1DH P0M1 P0M0 DATA DATA 093H 094H 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 620 - STC8G 系列技术手册 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA 091H 092H 095H 096H 0B1H 0B2H 0B3H 0B4H 0C9H 0CAH ORG LJMP 0000H MAIN ORG 0100H MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SP, #5FH P0M0, #00H P0M1, #00H P1M0, #00H P1M1, #00H P2M0, #00H P2M1, #00H P3M0, #00H P3M1, #00H P4M0, #00H P4M1, #00H P5M0, #00H P5M1, #00H MOV PWMSET,#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 MOV P_SW2,#80H A DPTR,#PWM0CKS @DPTR,A A,#08H DPTR,#PWM0CH @DPTR,A A,#00H DPTR,#PWM0CL @DPTR,A A,#01H DPTR,#PWM00T1H @DPTR,A A,#00H DPTR,#PWM00T1L @DPTR,A A,#07H DPTR,#PWM00T2H @DPTR,A A,#00H DPTR,#PWM00T2L @DPTR,A A,#00H DPTR,#PWM01T2H @DPTR,A A,#80H DPTR,#PWM01T2L 技术支持: 13922829991 选型顾问: 13922805190 MAIN: 深圳国芯人工智能有限公司 ;使能 PWM0 模块(必须先使能模块后面的设置才有效) ;PWM0 时钟为系统时钟 ;设置 PWM0 周期为 0800H 个 PWM 时钟 ;PWM00 在计数值为 0100H 地方输出低电平 ;PWM00 在计数值为 0700H 地方输出高电平 ;PWM01 在计数值为 0080H 地方输出高电平 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 621 - STC8G 系列技术手册 官方网站: www.STCMCUDATA.com MOVX MOV MOV MOVX MOV MOV MOVX MOV MOV MOVX MOV MOV MOVX MOV @DPTR,A A,#07H DPTR,#PWM01T1H @DPTR,A A,#80H DPTR,#PWM01T1L @DPTR,A A,#080H DPTR,#PWM00CR @DPTR,A A,#80H DPTR,#PWM01CR @DPTR,A P_SW2,#00H MOV PWMCFG01,#01H JMP $ 技术支持: 13922829991 选型顾问: 13922805190 ;PWM01 在计数值为 0780H 地方输出低电平 ;使能 PWM00 输出 ;使能 PWM01 输出 ;启动 PWM0 模块 END PWM 实现渐变灯(呼吸灯) 18.2.3 C 语言代码 //测试工作频率为 11.0592MHz #include "reg51.h" #include "intrins.h" #define CYCLE 0x1000 sfr P_SW2 = 0xba; sfr sfr sfr sfr PWMSET PWMCFG01 PWMCFG23 PWMCFG45 = = = = 0xF1; 0xF6; 0xF7; 0xFE; #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define PWM0C PWM0CH PWM0CL PWM0CKS PWM0TADC PWM0TADCH PWM0TADCL PWM0IF PWM0FDCR PWM00T1 PWM00T1H PWM00T1L PWM00T2H PWM00T2 PWM00T2L PWM00CR PWM00HLD (*(unsigned int volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF00) (*(unsigned char volatile xdata *)0xFF01) (*(unsigned char volatile xdata *)0xFF02) (*(unsigned int volatile xdata *)0xFF03) (*(unsigned char volatile xdata *)0xFF03) (*(unsigned char volatile xdata *)0xFF04) (*(unsigned char volatile xdata *)0xFF05) (*(unsigned char volatile xdata *)0xFF06) (*(unsigned int volatile xdata *)0xFF10) (*(unsigned char volatile xdata *)0xFF10) (*(unsigned char volatile xdata *)0xFF11) (*(unsigned char volatile xdata *)0xFF12) (*(unsigned int volatile xdata *)0xFF12) (*(unsigned char volatile xdata *)0xFF13) (*(unsigned char volatile xdata *)0xFF14) (*(unsigned char volatile xdata *)0xFF15) 深圳国芯人工智能有限公司 国内分销商电话: 0513-5501 2928/2929/2966 传真: 0513-5501 2926/2956/2947 - 622 - STC8G 系列技术手册 sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr sfr P0M1 P0M0 P1M1 P1M0 P2M1 P2M0 P3M1 P3M0 P4M1 P4M0 P5M1 P5M0 官方网站: www.STCMCUDATA.com = = = = = = = = = = = = 技术支持: 13922829991 选型顾问: 13922805190 0x93; 0x94; 0x91; 0x92; 0x95; 0x96; 0xb1; 0xb2; 0xb3; 0xb4; 0xc9; 0xca; void PWM0_Isr() interrupt 22 { static bit dir = 1; static int val = 0; if (PWMCFG01 & 0x08) { PWMCFG01 &= ~0x08; if (dir) { val++; if (val >= CYCLE) dir = 0; } else { val--; if (val
STC8G2K64S4-36I-LQFP32 价格&库存

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

免费人工找货
STC8G2K64S4-36I-LQFP32
  •  国内价格
  • 1+4.12000

库存:496