| 場景 | 是否需上拉 | 原因 |
|---|---|---|
| 地址/數據總線復用 | 否 | 總線協議自帶驅動,高阻態由外設控制 |
| 通用 GPIO 輸出高電平 | 是 (4.7k–10k) | 開漏結構無內部上拉,外接電阻提供高電平電流 |
| 驅動 PNP 三極管 (低電平導通) | 否 | 低電平有效,利用強灌電流驅動基極 |
| 驅動 NPN 三極管 (高電平導通) | 是 | 需高電平輸出基極電流,開漏無法直接驅動 |
P0 口無內部上拉 = 無內部電源輸出能力。驅動 LCD 段碼或共陽極數碼管時,段碼端需高電平,必須外接上拉電阻提供電流;若改用 P1/P2/P3 口 (內部有弱上拉),則無需外接電阻即可直接驅動。
// P0 口輸出高電平測試
P0 = 0xFF; // 寫 1
// 測量 P0.x 電壓:若無上拉 → ~0V (高阻);接 4.7k 上拉 → ~VCC
P0 口開漏特性決定了「作為 GPIO 輸出高電平必接上拉,驅動 PNP 可省略,驅動 NPN 必接」。掌握此規律,避免「P0 口輸出高電平無效」這類經典坑。