打印

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

[复制链接]
2213|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 | 只看该作者
这个项目非常简单的。
我做过类似的项目,除了控制各种颜色,还要控制各种渐变特效。
希望你自己思考,相信你一定可以想到的。
达到的目标是:
红外解码与显示要互不干扰,其它遥控器使用时,如果在你产品的接受范围内,显示也不能有丝毫的影响。

使用特权

评论回复
5
匠人粉丝团| | 2010-8-17 10:33 | 只看该作者
遥控器解码建议使用延时来做,可适当增加检测次数来确保解码的准确性;PWM可用定时器做。
遥控解码的延时时间较长,容许的误差相对较大(可通过解码程序调控)。被中断打断,去处理PWM的时间相对而言非常短,几个时钟周期就够了。若不稳定,可适当修改延时解码程序来调试,选择不同的判断点,多试几次。:)

使用特权

评论回复
6
BitFu| | 2010-8-17 12:13 | 只看该作者
还是在定时器中断中做PWM,两个同时操作,红外接收定时不是那么严格的,定时器以最小时间单位为中断周期。

使用特权

评论回复
7
new1988|  楼主 | 2010-8-17 15:45 | 只看该作者
谢谢各位的指教,可是这个项目不是我的,是我同学要我帮你他写个子程序,不许我用定时器!我也不怎么知道整个项目是怎么要求的!

使用特权

评论回复
8
hotpower| | 2010-8-19 10:59 | 只看该作者
不许用定时器比较麻烦

使用特权

评论回复
9
zhoukok| | 2010-8-19 15:43 | 只看该作者
什么人不允许用定时器啊,要想想PWM很重要,当然定时器分配给他呀
你的解码用延时去做,你要是怕你解码受影响,那么就把解码延时做的准确点咯
不用定时器你就算做出来了,估计人也老了,哈哈

使用特权

评论回复
10
zhoukok| | 2010-8-19 15:45 | 只看该作者
如果实在是不能用,那么给你个建议了,将解码的延时用pwm代替,即把解码延时的那段时间利用起来,用来做PWM,灯可能不会那么闪吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

470

帖子

0

粉丝