主题中讨论的其他器件:CC2530、 MSP430FR2311、 MSP430FR2000、 MSP430G2211、 MSP430G2452、 MSP430G2553
大家好、
我´m´m 使用 MSP430、对这款出色的微控制器印象非常深刻。 我已经对8051和德州 CC2530/31有了一定的了解。
我想使用过零检测器在触发波和正弦波之间进行同步、以便在 PWM 电路中使用它来调光超过110/220V 60Hz 的负载。
我之前没有使用过零检测器(ZCD)、我想了解如何在 MSP430中实现它。
我´m ZCD 至4n25光耦合器、如下所示:
我认为我需要使用:
通过计时器产生延迟的中断、并在 TRIAC 上启动触发波之后产生延迟。
有人可以共享一部分代码或、以帮助我如何使用 INT 或其他过程实现它?
您可以看到我的调光器代码下面使用 P1.3和 P1.3引脚:
#include
int main (void){
WDTCTL = WDTPW + WDTHOLD;
P1DIR |= BIT2;
P1REN |= BIT3;
P1OUT |= BIT3;
P1SEL |= BIT2;
TA0CCR0 = 1000;
TA0CCTL1 = OUTMOD_7;
TA0CCR1 = 0;
TA0CTL = tassel_2 + MC_1;
while (1)
{
if ((P1IN & BIT3)!= BIT3){
_DELAY_CYCLES (200000);
TA0CCR1 = TA0CCR1 + 100;
如果(TA0CCR1 > 1000){TA0CCR1 = 0;}
}
}
返回0;
}
此致、
Alex