IO口模拟PWM,并且占空比可调

单片机IO口模拟PWM,占空比可调 简明扼要.

事实上,我在网上看了不少有关用IO口模拟PWM,并且占空比可调的文章,可是都没有真正说得点上的多,如今,我按照自己的理解,写一个,希望对此有困惑的人有所帮助.

我就举个具体的例子,要做一个呼吸的LED灯,从灭渐亮到全亮的功能.时间为2秒.然后又从全亮渐灭到全灭,如此循环...

然后我们就要有个思路了,从灭到全亮.则PWM的占空比就是从0到100%.我们现在把占空比分成250份可调.
那么我们就要每隔8MS要调整一次占空比了.因为2000/250=8MS.这样才能满足占空比从0调到最大的要求.
另外,根据这个特点,我们也就把PWM的周期也锁定了250MS了.

所以,根据上面的思路,我们就可以用定时器用实现模拟PWM的功能了.设定一个定时中断,1MS中断一次


所以有以下的代码

void Time0 (void) interrupt 1
{
TH0=(65535-1000)/256; //1ms定时
TL0=(65535-1000)%256;
timecnt++;
timecnt2++;
if(timecnt2>=8)
{
timecnt2=0;
if(i<=0)i++;
else if(i>=250)i--;
}
if(timecnt>=250)
{
timecnt=0;
P20=0;
}
else if(timecnt==i)//当i有变化时,即是切换占空比的时候.
{
P20=1;
}
}

上面的功能就能实现了用P20的IO口来模拟输出一个250MS周期的PW


M,且自动改变占空比.从0到最大,然后又从最大返回到0,一直循环.就那么简单.
由于时间关系,我只想讲重点就好了.不多说了.因为这个也是靠自己积累和总结出来的,所以还希望能看到这个文档的都能给点力,奖励点分吧,我也是希望以后能百度看到有用的文章时,可以用分来获取对自己有用的东西,谢谢!

Word文档免费下载Word文档免费下载:IO口模拟PWM,并且占空比可调 (共1页,当前第1页)

你可能喜欢

  • pwm占空比可调
  • 占空比可调脉冲
  • 占空比可调方波
  • 占空比可调矩形波振荡器
  • 占空比可调信号发生器
  • 占空比可调电路
  • 555占空比可调

IO口模拟PWM,并且占空比可调相关文档

最新文档

返回顶部