单片机/MCU论坛
直播中

小黑羊

11年用户 936经验值
擅长:31274
私信 关注
[问答]

MSP-EXP430G2ET让LED通过晶体管闪烁,使用外部电源为LED供电时,代码不起作用的原因?

我在切换晶体管时遇到了一个问题。我正在尝试让 LED 通过晶体管闪烁。当我从评估板(即 MSP-EXP430G2ET)获取电源 (3.3V) 时,该程序有效。但是当我使用外部电源 (8.33V) 为 LED 供电时,代码不起作用。我使用的是 BC547 晶体管。当电源为8.33V时,使用与LED串联的470欧姆限流电阻和2.2K欧姆的基极电阻Rb(允许晶体管基极约3.7 mA)。在从 LDO 获取电源时,我使用的是 220 欧姆和相同 Rb 的限流电阻器。代码如下,
#include < msp430.h>

void main(void)
{ WDTCTL =
WDTPW |WDTHOLD;停止看门狗定时器
P1DIR |=BIT3;
无符号 int i;
while(1)
{
P1OUT ^= BIT3;

for(i=0; i<=30000; i++) ;
}
}

回帖(1)

丁冬芹

2024-1-23 17:02:26
从你提供的代码看,可能存在以下几个问题导致外部电源时代码不起作用:

1. 外部电源的电压过高:外部电源供应的8.33V可能会导致晶体管过载,无法正常工作。请确认外部电源的电压是否在晶体管的可工作电压范围内(通常在0.2-0.7V之间)。

2. 电阻值选择错误:在外部电源下,使用470欧姆的限流电阻可能会导致晶体管的基极电流过大,从而导致晶体管无法正常工作。你可以尝试增大限流电阻的阻值,降低电流。另外,确认2.2K欧姆的基极电阻能否准确控制晶体管的开关速度。

3. 引脚配置错误:请确保将晶体管的驱动引脚正确连接到MSP430单片机的输出引脚上,并且将相应的端口方向配置为输出。在你提供的代码中,将引脚P1.3配置为输出是正确的。

4. 电源过载保护:在外部电源供电时,需要确认是否存在过载保护电路,以保护LED和晶体管不受过高的电压或电流冲击。

请检查上述问题,并在提供更多细节的情况下进一步讨论,以便更好地了解问题所在。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分