如何用定时器实现PWM(软件方式)?【恢复】
如何用定时器实现PWM(软件方式)? 没有用到定时器,中断吧!好像这样不行,占空比是不稳定的。 很简单的,首先你要定出一个周期先,比如十秒一个T0周期吧,然后你的占空比是50%,那么说,你在T0周期产生高电平是5秒,低电平就是5秒了,如果占空比是60%,那么T0周期产生的高电平是6秒,低电平是4秒了。假设是占空比是60%进行编程:
void PWM_ISR(void)
{
static char i;
i++;
if(i>10)
{
i = 0;
return ;
}
if(i<6)
{
//set pin output high level
}
else
//set pin output low level
}
页:
[1]