教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

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

来源:网络收集 时间:2026-08-18
导读: 单片机IO口模拟PWM,占空比可调 简明扼要. 事实上,我在网上看了不少有关用IO口模拟PWM,并且占空比可调的文章,可是都没有真正说得点上的多,如今,我按照自己的理解,写一个,希望对此有困惑的人有所帮助. 我就举个具体的例子,要做一个呼吸的LED灯,从灭渐亮到全亮

单片机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,一直循环.就那么简单.
由于时间关系,我只想讲重点就好了.不多说了.因为这个也是靠自己积累和总结出来的,所以还希望能看到这个文档的都能给点力,奖励点分吧,我也是希望以后能百度看到有用的文章时,可以用分来获取对自己有用的东西,谢谢!

IO口模拟PWM,并且占空比可调.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1109149.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)