找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 550|回复: 1
打印 上一主题 下一主题
收起左侧

求程序 单片机pwm+LED

[复制链接]
跳转到指定楼层
楼主
ID:1099898 发表于 2023-11-15 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现,谢谢大家

c51使用定时器产生PIM波控制LD灯的亮度频率50Hz占空比可调,调节范围为01-99% 串口输入需要调节的占空比,设置成功,返回Set is ok
帮助一下代码编写
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2023-11-17 17:10 | 只看该作者
本帖最后由 yzwzfyz 于 2023-11-20 08:09 编辑

【频率50Hz】折成时间 = 20ms。
【调节范围为01-99%】也即要将20ms分成100份,取其中的1-99份。
所以:
定时器中断时间为:20ms/100 =200us。
中断服务程序这样写:(设LED接在P1.0上)
1、给出一个周期变量T100(初始=0,用于计数20mS周期,计数值 0-100)。定义一个脉宽调制计时变量TLEDH(计数 LED=1 [高电平]的时间,计数范围0-99,输入你希望的值N,例N=39表示39%)
2、每次中断 T100 +1 ,当T100 = 100 时,让T100 = 0,重新计数,完成20ms周期计数。
     判定:当T100 = 0 时,让 P1.0 = 1,PWM输出1;
               当 T100 = TLEDH 时 ;让P1.0 = 0,PWM输出0。
其它,什么也不做。
这样你只要改变TLEDH的值1-99,就达成你的目的了。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表