不能直接驱动,因为单片机IO口驱动能力有限(通常<20mA),而继电器线圈和电机需要较大电流,且属于感性负载,反向电动势会击穿IO口。正确做法是用三极管/MOSFET做开关,配合续流二极管。以NPN三极管驱动5V继电器为例:
```c
// 假设IO接P1.0,继电器线圈接VCC,三极管发射极接地
sbit RELAY = P1^0;
void main() {
RELAY = 1; // 高电平导通(需基极串1k电阻)
}
```
需注意:继电器线圈并联1N4007续流二极管;电机若用PWM调速需选用低导通电阻的MOSFET;若驱动大功率设备建议用光耦隔离并单独供电。
mcuku 阿沐 · 2026-08-14