请给我一点思路,关于LED亮度控制的

[复制链接]
3155|9
 楼主| new1988 发表于 2010-8-16 20:41 | 显示全部楼层 |阅读模式
项目要求是这样的,用一个红外遥控控制三个LED的亮度。遥控器那边是六个按键,分别控制三个LED的亮度的加和减!
单片机用的是1T的普通单片机,只有一个定时器,定时器已经被用作解码遥控器去了。
所以控制这三个灯的亮度就不能用定时器了,用软件延时产生PWM。各个LED都是独立的。PWM的周期的440us。分为10个等级,每个等级40us。因为还有别的程序,所以别的程序也不能打断PWM的产生。不知道各位有什么办法?
lsqdesign 发表于 2010-8-17 08:51 | 显示全部楼层
比较麻烦,到时灯光会抖动。
zhoukok 发表于 2010-8-17 08:53 | 显示全部楼层
建议遥控解码用延时做,pwm用定时器,确保实时性,
cubasa 发表于 2010-8-17 09:14 | 显示全部楼层
这个项目非常简单的。
我做过类似的项目,除了控制各种颜色,还要控制各种渐变特效。
希望你自己思考,相信你一定可以想到的。
达到的目标是:
红外解码与显示要互不干扰,其它遥控器使用时,如果在你产品的接受范围内,显示也不能有丝毫的影响。
匠人粉丝团 发表于 2010-8-17 10:33 | 显示全部楼层
遥控器解码建议使用延时来做,可适当增加检测次数来确保解码的准确性;PWM可用定时器做。
遥控解码的延时时间较长,容许的误差相对较大(可通过解码程序调控)。被中断打断,去处理PWM的时间相对而言非常短,几个时钟周期就够了。若不稳定,可适当修改延时解码程序来调试,选择不同的判断点,多试几次。:)
BitFu 发表于 2010-8-17 12:13 | 显示全部楼层
还是在定时器中断中做PWM,两个同时操作,红外接收定时不是那么严格的,定时器以最小时间单位为中断周期。
 楼主| new1988 发表于 2010-8-17 15:45 | 显示全部楼层
谢谢各位的指教,可是这个项目不是我的,是我同学要我帮你他写个子程序,不许我用定时器!我也不怎么知道整个项目是怎么要求的!
hotpower 发表于 2010-8-19 10:59 | 显示全部楼层
不许用定时器比较麻烦
zhoukok 发表于 2010-8-19 15:43 | 显示全部楼层
什么人不允许用定时器啊,要想想PWM很重要,当然定时器分配给他呀
你的解码用延时去做,你要是怕你解码受影响,那么就把解码延时做的准确点咯
不用定时器你就算做出来了,估计人也老了,哈哈
zhoukok 发表于 2010-8-19 15:45 | 显示全部楼层
如果实在是不能用,那么给你个建议了,将解码的延时用pwm代替,即把解码延时的那段时间利用起来,用来做PWM,灯可能不会那么闪吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

470

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部