STC8G1K17A MCU 讲解教程(电气特性 + IO 资源)
参数依据《STC8G 系列技术手册》(STC8G.pdf,2025/3/4 版):1K17A 章节 p.48-51,电气特性附录 E p.1034-1039。
目标读者:刚接触 STC8G 系列、准备做最小系统与驱动电路的工程师/学生。
阅读顺序建议:先第一部分建立芯片概念 → 第二部分按需查电气参数 → 第三部分做 IO 规划。
第一部分 芯片速览:STC8G1K17A 是什么
1.1 一句话定位
STC8G1K17A 是 STC(国芯)STC8G 系列里最便宜的 8 脚封装型号:1T 超高速 8051 内核、17K Flash、10 位 ADC、I2C/SPI 全集成、USB 转串口直接下载,最小系统只要 3 个元件(10uF + 0.1uF 去耦电容 + 芯片本身,可不接复位脚、不接晶振)。
1.2 核心参数总表(对照手册 p.48 选型表)
| 项目 | 1K17A 规格 | 教学/设计提示 |
|---|---|---|
| 内核 | 超高速 8051(1T,1 条指令 1 个时钟),兼容传统 8051 指令 | 比传统 8051 快约 12 倍;老 51 的延时代码全部作废 |
| 工作电压 | 1.9V ~ 5.5V,内建 LDO | 单电源即可,3.3V/5V 都能跑 |
| 工作温度 | -40℃ ~ +85℃ | 超温应用见第二部分 E.1 说明 |
| 程序存储 | 17K 字节 Flash(10 万次寿命) | 支持 ISP 在系统编程,无需专用编程器 |
| EEPROM | IAP 模拟 EEPROM,512 字节单页擦除,10 万次+ | 存阈值/配置,省一颗 24C02 |
| 数据 RAM | 256B 内部直接访问(idata,含 128B 直接 + 128B 间接)+ 1024B 扩展 XDATA | 双 DPTR 可对扩展区加减寻址 |
| 时钟 | 内部 IRC 4MHz~38MHz 可调(25℃ 误差 ±0.3%),内部 32KHz 低速 IRC | 不用外接晶振;也可软件切到外部晶振 |
| 中断 | 13 个中断源,4 级优先级 | 详见第三部分 3.4 |
| 定时器 | 2 个 16 位定时器(T0/T1),T0 模式 3 可当 NMI | 外部管脚(P5.4/P5.5)可掉电唤醒 |
| CCP/PCA/PWM | 3 组 16 位 CCP0/CCP1/CCP2,可输出 6/7/8/10 位 PWM,也可当 3 路 D/A | 呼吸灯、蜂鸣器音调、简单 D/A 都够用 |
| 高速串口 | 1 路 USART,波特率时钟源最快 FOSC/4 | P3.0/P3.1 或 P3.2/P3.3 或 P5.4/P5.5 三组脚可切 |
| SPI | 主机/从机模式 + 主从自动切换 | SCLK/MOSI/MISO 复用 P3.2/P3.3/P5.4/P5.5 |
| I2C | 主机 + 从机,两组引脚 | 第一组 P3.3(SDA)/P3.2(SCL),第二组 P5.5(SDA_2)/P5.4(SCL_2) |
| ADC | 10 位、6 通道,最快 500KSPS | 通道 15 可测试内部 1.19V 基准 |
| MDU16 | 16 位硬件乘除法(准 16 位机) | 支持 32÷16、16÷16、16×16、移位/规格化 |
| 看门狗 | 有,复位门槛电压可软件配置 | 掉电不误动作场景必开 |
| 低压检测(LVD) | 4 级门槛:2.0/2.4/2.7/3.0V | 电池供电设备用它做欠压保护 |
| 其他 | 比较器(可当 1 路 A/D、可做外部掉电检测)、内部掉电唤醒、单芯片仿真(无需仿真器)、支持 USB 直接下载/RS485 下载/程序加密传输 | 8 脚里塞了这些,是"够用"的底气 |
1.3 封装与价格(p.48)
| 封装 | 价格(10K 起订) | 说明 |
|---|---|---|
| SOP8 | ¥0.75 | 主力,手板/教学用 |
| DFN8(3mm×3mm) | ¥0.79 | 量产贴片 |
| DIP8 | ¥0.85 | 手册不建议使用(体积大、易虚焊) |
量小(<10K)每片 +¥0.1;散片市价约 ¥1~2。
1.4 上电工作过程(做电路前必须理解)
芯片上电复位/复位脚复位/看门狗溢出/低压检测复位后,先跑 ISP 系统程序,此时固定用内部 24MHz IRC;用户需要下载时,下载完成后自动复位进用户程序区(用上次调好的 IRC 频率)。要用外部晶振/32.768K/内部 30K 时,必须先用软件启动对应时钟,再写 CLKSEL 寄存器切换。
第二部分 电气特性详解(附录 E,p.1034-1039)
这部分是画 PCB、做电源设计、接驱动电路时"该照哪个数字做"的依据。全部来自手册附录 E,测试条件 25℃、VSS=0V。
2.1 绝对最大额定值(E.1,p.1034)——“红线,碰了会坏”
| 参数 | 最小值 | 最大值 | 说明 |
|---|---|---|---|
| 存储温度 | -55℃ | +150℃ | 长期存放/运输极限 |
| 工作温度 | -40℃ | +85℃ | 超 85℃(如 125℃ 附近):内部 IRC 温漂大,改用外部高温时钟或晶振,且建议工作频率 ≤24MHz;必须高温运行时务必用外部高可靠低频有源时钟 |
| 工作电压 VCC | 1.9V | 5.5V | |
| VDD 对地 | -0.3V | +5.5V | 低于 0 是 ESD 容限,不是可加负压 |
| I/O 口对地 | -0.3V | VDD+0.3V | 5V 系统给 3.3V 供电的 MCU 灌 5V 信号会越限(VDD+0.3=3.6V<5V),需要分压或限流 |
| 热阻 | — | 165℃/W | 封装到环境热阻,散热估算用 |
手册两条硬提醒(低温场景):
- 工作温度在 -55℃ 附近时,VCC 不要低于 3.0V,且电源上升速度要尽量快(毫秒级以内)。
- 高温时频率降档(≤24M),或换外部时钟。
设计自检 3 问:
① 电池供电最低电压时,ADC/IO 电平还满足 1.9V 底线吗?
② 3.3V 系统接 5V 器件(如 5V 串口线)时,IO 口对地电压是否超过 VDD+0.3?
③ 产品要 85℃ 以上工作吗?是就放弃 IRC 高频,选外部晶振。
2.2 直流特性 @3.3V(E.2,p.1035)
| 标号 | 参数 | 典型值 | 单位 | 说明 |
|---|---|---|---|---|
| IPD | 掉电模式电流 | 0.4 | uA | 电池设备核心卖点 |
| IWKT | 掉电唤醒定时器附加电流 | 1.4 | uA | 唤醒后掉电等待 |
| ILVD | LVD 模块使能附加 | 10 | uA | 开 LVD 后掉电模式 0.47uA |
| ICMP | 比较器使能附加 | 90 | uA | 开比较器后掉电模式 400uA |
| IIDL | 空闲模式(STOP)电流 | 0.48@32KHz / 0.88@6M / 1.00@12M / 1.16@24M | mA | 括号内为"相当于传统 8051 的频率"换算,如 3.3V 下 STOP+32K 等价 8051 跑 0.5M |
| INOR | 正常模式电流 | 0.48@32K / 0.88@500K~1M 档 / 1.49@6M / 2.09@12M / 3.16@24M | mA | 36MHz 全速时手册 3.3V 档未列(24M 档 3.16mA),按趋势估算 ~3.5mA 左右(未验证,以实测为准) |
| VIL1 | 输入低电平最大值 | 0.99V(开施密特)/ 1.07V(关施密特) | V | 低于此判 0 |
| VIH1 | 输入高电平最小值 | 1.18V(开施密特)/ 1.09V(关施密特) | V | 高于此判 1;施密特使能可提高抗扰 |
| IOL1 | 输出低电平灌电流 | 20mA(此时端口电压 0.45V) | — | 拉低 20mA 时口压 0.45V |
| IOH1 | 输出高电平电流(准双向模式) | 110uA | — | 准双向口"推"电流很弱,灌型应用要留意识别 |
| IOH2 | 输出高电平电流(推挽模式) | 20mA(此时端口电压 2.4V) | — | 切推挽后输出能力才对称 |
| IIL | 逻辑 0 输入电流 | 50uA(端口电压 0V) | — | |
| ITL | 1→0 转移电流 | 典型 270uA(100~600)(端口电压 2.0V) | — | IO 高速切换时电源线上会出现的瞬态 |
| RPU | I/O 内部上拉电阻 | 5.8~6.0KΩ(手册 2.2.1 节表述为 4K 可独立使能,3.3V 档实测典型 ~5.9K) | KΩ | 4K/6K 说法见 3.2,设计按"5K 级"估算即可 |
I/O 速度极限(3.3V 供电,按 PxDR/PxSR 分 4 档):
| 模式 | 最大频率 |
|---|---|
| 大电流驱动 + 快速转换(PxDR=0, PxSR=0) | 25MHz |
| 小电流驱动 + 快速转换(PxDR=1, PxSR=0) | 22MHz |
| 大电流驱动 + 慢速转换(PxDR=0, PxSR=1) | 16MHz |
| 小电流驱动 + 慢速转换(PxDR=1, PxSR=1) | 12MHz |
含义:想让 IO 摆得又快又猛就选"大电流+快速",电池设备想省电可以降档(牺牲摆率换驱动电流)。
2.3 直流特性 @5.0V(E.3,p.1037)
与 3.3V 档同构,关键差异:
| 参数 | 3.3V 档 | 5.0V 档 |
|---|---|---|
| IPD(掉电) | 0.4uA | 0.6uA |
| INOR 正常模式 @24MHz | 3.16mA | 3.27mA |
| VIL1 | ≤0.99V(开施密特) | ≤1.32V(开施密特) |
| VIH1 | ≥1.18V(开施密特) | ≥1.60V(开施密特) |
| IOH1(准双向) | 110uA | 200uA |
| RPU | 5.8~6.0KΩ | 4.1~4.4KΩ |
| I/O 极限(大电流+快速) | 25MHz | 36MHz |
结论:5V 供电时 IO 摆率余量更大(36MHz 才到极限),3.3V 供电时 25MHz 就到头——1K17A 标称 36MHz IRC,在 3.3V 系统里 IO 密集应用(如驱动多个 LED 同时翻转)要注意降频或只保留一个口高速。
2.4 I/O 口驱动能力(E.4,p.1038,5.0V 测试)
"推挽输出 1 / 输出 0 时的端口电压 vs 驱动电流"表(一般推力=小电流驱动,强推力=大电流驱动):
推挽输出 1(拉高,电压越高越好):
| 电流 | 一般推力 | 强推力 |
|---|---|---|
| 10mA | 4.50V | 4.72V |
| 20mA | 4.00V | 4.49V |
| 30mA | 3.40V | 4.24V |
| 40mA | 2.31V | 3.96V |
| 50mA | — | 3.65V |
| 60mA | — | 3.25V |
| 70mA | — | 2.75V |
| 80mA | — | 1.65V |
输出 0(拉低,电压越低越好),准双向/推挽/开漏都适用:
| 电流 | 一般推力 | 强推力 |
|---|---|---|
| 10mA | 0.34V | 0.20V |
| 20mA | 0.66V | 0.35V |
| 30mA | 1.04V | 0.52V |
| 40mA | 1.70V | 0.68V |
| 50mA | — | 0.88V |
| 60mA | — | 1.14V |
| 70mA | — | 1.44V |
| 80mA | — | 1.93V |
怎么用这张表(设计 LED 串灯时直接查):
- 3.3V LED + 1K 限流 ≈3mA:一般推力完全够。
- 灌 40mA 强推力:输出 0 时口压 0.68V,逻辑上仍是 0(5V 系统 VIL 上限 1.32V)——能拉但不能当 3.3V 系统的高电平驱动。
- 单口驱动电流超过 20mA 就开始明显掉压,多口同时大电流翻转还会叠加电源纹波,参考 ITL 270uA/口的设计余量。
2.5 内部 IRC 温漂(E.5,p.1038)
| 温区 | 频率误差 |
|---|---|
| 25℃(常温) | ±0.3% |
| -20℃ ~ +65℃ | -0.88% ~ +1.05% |
| -40℃ ~ +85℃(全温区) | -1.38% ~ +1.42% |
对串口波特率的影响:115200 在全温区最坏漂到约 113.5K~116.8K,1 起始+8 数据+1 停止在 ±2% 内不会误码,一般应用直接接受;要求高精度时用 32.768K 外部晶振或软件校准 IRC。
2.6 低压复位门槛(E.6,p.1039,25℃ 实测)
| 级别 | 标称 | 实测范围 |
|---|---|---|
| POR(上电复位) | 1.69V~1.82V | 低于即复位 |
| LVR0 | 2.0V | 1.88~1.99V |
| LVR1 | 2.4V | 2.28~2.45V |
| LVR2 | 2.7V | 2.58~2.76V |
| LVR3 | 3.0V | 2.86~3.06V |
电池设备选型口诀:工作电压下限 > 选档 LVD 电压 + 0.3V 裕量。例如锂电池 3.7V 系统选 LVR1(2.4V),电压跌到 2.4V 前程序先降频/存数据。
2.7 电源与去耦设计规范(手册 2.2.2 最小系统图要求)
- Vcc(Pin2,AVcc 复用)与 Gnd(Pin4,AGnd 复用)之间就近放置:10uF 以上大电容 + 0.1uF 小电容。
- 不接复位脚:靠内部上电复位(POR 1.69~1.82V)即可;需要外部复位按钮/控制时把 Pin1(P5.4)在 ISP 里配成 nRST,低电平复位(与老 STC8A 系列相反,那是高电平复位——迁移代码电路时最容易栽的坑)。
- 上电时序:若不做 USB 模拟下载,P3.0/P3.1/P3.2 上电瞬间不能同时为低(详见 3.5 坑位清单)。
第三部分 IO 资源详解(p.49-53)
3.1 引脚总表(SOP8/DFN8/DIP8 同引脚定义,p.52-53)
| 引脚 | 主功能 | 复用功能全集 |
|---|---|---|
| 1 | P5.4(I/O) | nRST(复位脚)/ MCLKO(主时钟分频输出)/ INT2 / T0(定时器 0 外部时钟)/ T1CLKO / RxD_3(串口第 3 组 RX)/ MOSI / SCL_2 / ADC4 / CCP2 / CCP2_2 |
| 2 | Vcc / AVcc | 电源(数字+模拟共脚) |
| 3 | P5.5(I/O) | INT3 / T1(定时器 1 外部时钟)/ T0CLKO / TxD_3 / SS(SPI 从机选择,主机模式为输出)/ SDA_2 / ADC5 / ECI / ECI_2 / CCP2_3 |
| 4 | Gnd / AGnd | 地(数字+模拟共脚) |
| 5 | P3.0(I/O) | RxD(串口第 1 组 RX,ISP 下载 RX)/ INT4 / ADC0 |
| 6 | P3.1(I/O) | TxD(串口第 1 组 TX,ISP 下载 TX)/ ADC1 / ECI_3 / CCP0_2 |
| 7 | P3.2(I/O) | INT0 / SCLK(SPI 时钟)/ SCL(I2C 时钟)/ RxD_2 / ADC2 / CCP0 / CCP0_3 |
| 8 | P3.3(I/O) | INT1 / MISO / SDA(I2C 数据)/ TxD_2 / ADC3 / CCP1 / CCP1_2 / CCP1_3 |
资源盘点(设计时先数脚再排功能):
- GPIO:6 个(P3.0~P3.3、P5.4、P5.5)——这就是这颗芯片最大的设计约束
- ADC 通道:6 路 = P3.0P3.3(CH03)+ P5.4(CH4)+ P5.5(CH5),通道 15 为内部 1.19V 基准
- 串口:3 组引脚(P3.0/P3.1、P3.2/P3.3、P5.4/P5.5),软件可切
- CCP/PWM:CCP0 在 P3.2+P3.1,CCP1 在 P3.3,CCP2 在 P5.4+P5.5
- I2C:两组(P3.3+P3.2 或 P5.5+P5.4),第二组可避开车位
- SPI:SCLK=P3.2,MOSI/P3.3(P5.4 为 MOSI 复用位),MISO=P3.3,SS=P5.5
- PWM 当 D/A:3 路 CCP 均可输出模拟量(6/7/8/10 位分辨率)
3.2 IO 四种工作模式(p.49-50 GPIO 特性节)
每个 IO 口在程序里可配 4 种模式:
| 模式 | 特点 | 典型用途 |
|---|---|---|
| 准双向口(弱上拉) | 写 1 = 弱上拉,写 0 = 强拉低;只能灌电流(IOH 典型仅 110~200uA) | 按键读取、I2C 软件模拟(开漏替代) |
| 强推挽输出 | 拉高拉低能力对称(各 20mA 档) | 驱动 LED、继电器栅极、总线信号 |
| 开漏输出 | 只能拉低,高电平靠外部/内部上拉 | 多机总线、电平转换(灌 5V 系统时注意 2.1 的越限) |
| 高阻输入 | 内部完全断开,不占用驱动电流 | 纯读取、降功耗 |
配置手段:PxM0/PxM1 两个寄存器(PxM0=模式寄存器、PxM1=上下拉使能),每个口独立配置,4K 上拉电阻可每口独立使能(3.3V 档典型 5.9KΩ、5V 档 4.2KΩ,见 2.2/2.3 表)。
3.3 上电后各 IO 的默认状态(p.51 最小系统图注释,重点)
| IO | 上电默认状态 | 后果 |
|---|---|---|
| P3.0、P3.1 | 弱上拉准双向口(ISP 下载脚,默认输出高) | 上电瞬间 TxD 线是高电平——接外部电路时知道初始电平即可 |
| P3.2、P3.3、P5.4、P5.5 | 高阻输入 | 用之前必须先写 PxM0/PxM1 配好模式,否则驱动不了任何外部电路 |
这是 STC8G 系列与老 STC8A/8F 的关键差异(附录 C p.1031 专门讲过):老 51 上电所有口是准双向高电平,直接接 LED/马达会"上电闪一下/动一下";STC8G 默认高阻,消除了误动作,代价是"不配置 = 不工作"。写第一段用户代码时的顺序必须是:先配 IO 模式 → 再输出信号。
3.4 中断与掉电唤醒的 IO 映射(p.49 中断节)
13 个中断源、4 级优先级。时钟停振(STOP)模式下能唤醒的中断及其管脚(画"唤醒电路"时查这张表):
| 中断 | 对应管脚(1K17A 实际可用) |
|---|---|
| INT0(上升/下降沿) | P3.2 |
| INT1(上升/下降沿) | P3.3 |
| INT2(仅下降沿) | P5.4 |
| INT3(仅下降沿) | P5.5 |
| INT4(仅下降沿) | P3.0 |
| T0 外部计数(掉电唤醒) | P5.4 |
| T1 外部计数(掉电唤醒) | P5.5 |
| RX 掉电唤醒 | P3.0/P3.2 |
| CCP0 掉电唤醒 | P3.2/P3.1 |
| CCP1 掉电唤醒 | P3.3 |
| CCP2 掉电唤醒 | P5.4/P5.5 |
| I2C_SDA 掉电唤醒 | P3.3/P5.5 |
| LVD 低压检测中断 / 掉电唤醒定时器 | 内部,无需脚 |
设计提示:电池 + 深睡产品用 INT2/INT3(P5.4/P5.5 下降沿)做按键唤醒,配合 LVR 档做欠压保护,IPD 只有 0.4~0.6uA(2.2 表)——一颗 1000uAh 纽扣电池理论上能撑数月。
3.5 必须背下来的 5 个坑(p.51 注意事项 + 附录 C)
- P3.0/P3.1/P3.2 上电同时为低 → 进 USB 模拟下载等待模式,用户代码不跑。
- 若不用 USB 下载,上电逻辑要保证这 3 脚不能同低(比如 P3.0/P3.1 外接下拉电阻做默认态时就要重新评估)。
- 在 ISP 软件里可勾选"下次下载时使能/取消 USB-ISP 模式"来关掉这个功能。
- 附带细节(p.51 第 4 条):P3.0 和 P3.1 同低时,P3.2 会在上电后短暂无高阻切到双向口去读外部状态判断是否进 USB 模式。
- P5.4 配成复位脚后,内部 4K 上拉常开;做普通 IO 时,上拉也会开约6.5ms再自动关。P5.4 直接驱动外部电路时,要评估"上电瞬间有 6.5ms 高电平"这个毛刺(比如 P5.4 接三极管基极做低电平导通的电路,上电会误导通 6.5ms)。
- 复位电平是低(nRST):与 STC8A/8F 系列(高电平复位)相反,外部复位按钮接法要改。
- 不配 IO 模式 = 不工作(P3.2/P3.3/P5.4/P5.5 上电高阻)。
- 5V 器件信号直接灌 3.3V 系统 MCU:IO 对地最大允许 VDD+0.3=3.6V,5V 信号越限(2.1 表),需分压 + 限流。
3.6 最小系统画法(教学/打板直接抄,p.51 图)
USB 转串口(CH340 等) D-(RX)──┬──────────► Pin5 P3.0 D+(TX)──┬──────────► Pin6 P3.1 USB 5V ─┴─[10uF]──┐ [0.1uF]┤── Pin2 Vcc/AVcc GND ────────────────┴── Pin4 Gnd/AGnd (可选)按钮 GND ──► Pin1 P5.4(ISP 里先配成 nRST)- 下载:ISP 软件点"下载" → 目标板上电(或断电再上电)→ 数秒后烧录完成,自动进用户程序。全程不需要编程器。
- 时钟:默认内部 IRC(ISP 里设 36MHz),不用外接晶振,元件数 = 2(两个电容)+ 芯片。
- 丝印最后一行的最后一个字母是芯片版本号,量产对料时核对。
3.7 IO 资源规划练习(以 40 元浇花器方案为例)
6 个脚排 6 个功能,互相避让(与《STC8G1K17A浇花器教程规划.md》一致的排法):
| 功能 | 脚 | 理由 |
|---|---|---|
| 土壤湿度 ADC0 | P3.0 | 通道 0 在最方便的上电脚上 |
| 继电器(三极管驱动) | P3.1(推挽) | 上电默认准双向高 = 继电器不吸合,天然安全态 |
| OLED I2C | P5.5(SDA_2)/P5.4(SCL_2) | 用第二组 I2C,把 P3.3 让给蜂鸣器 |
| 蜂鸣器 PWM(CCP1) | P3.3 | CCP1 单脚即可出 PWM |
| LED 状态 | P3.2 | 剩最后一个脚 |
规划心法:先定"不可换"的(ADC 通道位置、CCP 引脚绑定),再定"有 2 组可选"的(I2C/串口),最后塞"随便哪都行"的普通 IO;每一步都检查 3.5 的 5 个坑。
第四部分 设计检查清单(打板前过一遍)
- VCC 落在 1.9~5.5V(低温场景 ≥3.0V,见 2.1)
- Vcc-Gnd 就近 10uF + 0.1uF 去耦(手册强制要求)
- 3.3V 系统接 5V 信号已分压(IO 上限 VDD+0.3)
- 用到 P5.4:评估 6.5ms 上拉毛刺 / 确认复位脚电平方向是低
- P3.0/P3.1/P3.2 上电电平已核对,不会三者同低
- 每个要输出的 IO 都写了 PxM0/PxM1 模式配置
- 驱动电流查 2.4 表:单口 >20mA 时选"强推力"并看掉压
- 电池设备:LVD 档位 + STOP 模式电流(0.48mA@32K,2.2 表)
- 高精度应用(RTC/长延时):32K IRC 无温补,误差大,考虑 32.768K 外部晶振
- 量产料:DFN8/SOP8 真空包装 7 天内贴片,超期重烘烤(附录 F)