zd305 发表于 2008-9-20 09:20:26

如何用定时器实现PWM(软件方式)?【恢复】

如何用定时器实现PWM(软件方式)?

morine 发表于 2008-12-27 20:26:48

没有用到定时器,中断吧!好像这样不行,占空比是不稳定的。

SDC_Jack.cai 发表于 2008-10-15 21:58:02

很简单的,首先你要定出一个周期先,比如十秒一个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]
查看完整版本: 如何用定时器实现PWM(软件方式)?【恢复】