1. 基本I/O端口
| 端口 | 引脚范围 | 类型 | 主要功能 | 特殊说明 |
|---|---|---|---|---|
| P0 | P0.0~P0.7 | 开漏双向I/O | 1. 通用I/O(需外接上拉电阻) 2. 数据总线(D0-D7) 3. 低8位地址总线(A0-A7) | 总线模式下自动切换,无需软件配置 |
| P1 | P1.0~P1.7 | 准双向I/O | 通用I/O(无复用功能) | 驱动能力强,最常用 |
| P2 | P2.0~P2.7 | 准双向I/O | 1. 通用I/O 2. 高8位地址总线(A8-A15) | 扩展存储器时用作地址线 |
| P3 | P3.0~P3.7 | 准双向I/O | 复用功能引脚(见下方详细说明) | 默认是I/O,需软件启用复用功能 |
2. P3口复用功能详解(STC增强型功能)
| 引脚 | 复用功能 | 信号方向 | 典型应用 | STC特有扩展 |
|---|---|---|---|---|
| P3.0 | RXD | 输入 | 串口1数据接收 | 支持串口自动波特率检测 |
| P3.1 | TXD | 输出 | 串口1数据发送 | 支持硬件流控(需配置) |
| P3.2 | INT0 | 输入 | 外部中断0(支持上升沿/下降沿触发) | 可配置为高优先级中断 |
| P3.3 | INT1 | 输入 | 外部中断1(支持上升沿/下降沿触发) | 支持脉冲捕获模式 |
| P3.4 | T0 | 输入 | 定时器0外部计数输入 | 可配置为时钟输出 |
| P3.5 | T1 | 输入 | 定时器1外部计数输入 | 支持PWM输出(部分型号) |
| P3.6 | WR | 输出 | 外部RAM写使能 | 支持总线等待周期配置 |
| P3.7 | RD | 输出 | 外部RAM读使能 | 支持数据总线宽度配置(8/16位) |
3. STC增强功能引脚(部分型号支持)
| 引脚 | 功能 | 适用型号 | 说明 |
|---|---|---|---|
| P4.0~P4.7 | 扩展I/O端口 | STC12/15/8系列 | 部分型号提供P4口,增强I/O能力 |
| P5.0~P5.7 | 高级功能复用 | STC8系列 | 支持ADC、SPI、I2C等外设 |
| RST | 复位引脚(支持低压检测) | STC15/8系列 | 内置复位电路,可省去外部RC |
| XTAL1/2 | 内置时钟源(可省外部晶振) | STC15/8系列 | 支持内部IRC时钟(5MHz~35MHz) |
4. 最小系统关键引脚
| 引脚名 | 连接方式 | 注意事项 |
|---|---|---|
| VCC | 接5V/3.3V(部分型号支持3.3V) | STC15/8系列支持宽电压(2.4V~5.5V) |
| GND | 接地 | 必须确保低阻抗回路 |
| EA | 接VCC(使用内部Flash) | 若扩展外部ROM,需接地 |
| ALE | 扩展存储器时接锁存器 | 普通I/O模式下可关闭以降低功耗 |
| PSEN | 扩展ROM时接存储器OE引脚 | 无外部ROM时可悬空 |
5. 快速配置技巧(STC-ISP工具支持)
-
I/O模式设置:
- 准双向:
PxM0 = 0; PxM1 = 0;(默认) - 推挽输出:
PxM0 = 1; PxM1 = 0;(驱动LED/继电器) - 高阻输入:
PxM0 = 0; PxM1 = 1;(ADC采样时用)
- 准双向:
-
复用功能开启:
// 启用串口1复用(STC89C52) SCON = 0x50; // 串口模式1 ES = 1; // 开启串口中断 -
省电模式:
- 掉电模式:
PCON |= 0x02;(功耗<0.1μA) - 唤醒方式:INT0/INT1/RST引脚信号
- 掉电模式:
6. 与标准8051的差异对比
| 特性 | 标准8051 | STC51 |
|---|---|---|
| I/O驱动能力 | 弱(P0需上拉) | 增强(部分型号支持20mA灌电流) |
| 时钟源 | 必须外接晶振 | 支持内部IRC(±1%精度) |
| 复位电路 | 需外部RC | 内置复位(可省外部元件) |
| Flash容量 | 4KB~64KB | 1KB~128KB(支持ISP编程) |
总结 :
STC51在保留标准8051引脚架构的基础上,通过增强I/O驱动能力、增加复用功能、支持内部时钟等改进,显著提升了易用性。建议开发时:
- 优先使用P1/P2口作通用I/O;
- 扩展功能时活用P3复用引脚;
- 通过STC-ISP工具快速配置硬件选项。
📌 注意:不同STC型号功能差异较大,请以具体芯片手册为准!