找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1435|回复: 5
收起左侧

求程序 控制51单片机LED的亮暗渐变

[复制链接]
ID:1104828 发表于 2023-12-18 10:32 来自触屏版 | 显示全部楼层 |阅读模式
由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现,谢谢大家

按一下独立按键之后,p2口的LED灯亮度减半,再按下一次亮度再减半,依次减半直至熄灭
回复

使用道具 举报

ID:1104828 发表于 2023-12-18 10:36 来自触屏版 | 显示全部楼层
可不可以把代码写一下
回复

使用道具 举报

ID:1057978 发表于 2023-12-19 08:26 | 显示全部楼层
实现你这个想法得用PWM吧,按键控制占空比,初始占空比100%,按一次变为50%,再按一次变为25%。
不过应该根据实际效果调整占空比,100-50-25-12.5估计不太行,得实测
回复

使用道具 举报

ID:1102147 发表于 2023-12-19 09:08 | 显示全部楼层
利用100HZ无闪烁的视觉暂留原理,10ms为一个点亮周期,1ms为一个周期内点亮的次数。通过控制一个周期内的十次点亮选择来控制亮度
回复

使用道具 举报

ID:739610 发表于 2023-12-19 10:00 | 显示全部楼层
调整数码管的刷新频率 100为上限 按比例调整 多试验一下
回复

使用道具 举报

ID:1104828 发表于 2023-12-19 10:20 来自触屏版 | 显示全部楼层
wangxiangtan 发表于 2023-12-19 08:26
实现你这个想法得用PWM吧,按键控制占空比,初始占空比100%,按一次变为50%,再按一次变为25%。
不过应该 ...

对,我就差这一步了,我设了一个time函数
LED=0
Delay(time)
LED=1
Delay(100-time)
if(P3_0==0){time-=10}
但是放在while循环里面,它就会变成呼吸灯,我想让他每按下一次独立按键,亮度就会减小,可以观察用独立按键观察这个过程,而不是自主完成的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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