tonyone 发表于 2012-12-24 21:09:15

有没有51模拟PWM控制LED,同时IR解码,LED不闪的程序或思路

如题,谢谢了!

Tomas_Yung 发表于 2012-12-24 21:14:45

用两个吧

ka_sdk 发表于 2012-12-24 21:29:04

外部中断+定时器0可以搞定IR, S52有3个定时器,PWM没弄过,还剩两个定时器楼主看怎么用吧

smset 发表于 2012-12-24 21:38:53

http://www.amobbs.com/thread-5508723-14-1.html

530楼

longfeix86 发表于 2012-12-24 21:41:00

状态机吧

bbs2009 发表于 2012-12-24 22:31:18

winfuture 发表于 2012-12-25 21:26:11

这个我刚好做过,当时用的STC11F04E,遥控控制RGB灯变色,3路PWM和IR解码都是用定时器做的。(最初IR解码用中断方式灯会闪)
附件是源程序,写了好久了,都快忘了原理了。写得比较乱,需要的话自己看看吧。大概功能是上电后RGB LED不停变色,可以按遥控进行
开关,单独调R,G,B三色的颜色亮度,R,G,B三色的同步差(即调节混合出的颜色,具体看程序吧)

tonyone 发表于 2012-12-25 21:45:22

谢谢楼上的各位!

xslff 发表于 2012-12-26 00:15:23

先顶再下,再学习。

lmt50211 发表于 2012-12-26 12:13:08

用一个定时做IR,一个定时器做PWM可以满足要求

tonyone 发表于 2013-1-3 23:14:48

winfuture 发表于 2012-12-25 21:26 static/image/common/back.gif
这个我刚好做过,当时用的STC11F04E,遥控控制RGB灯变色,3路PWM和IR解码都是用定时器做的。(最初IR解码用 ...

你好,请教一下,你软件中ir解码的是NEC格式的吗?
还有#define IR_head_code 0x40,是指的遥控器识别码吗?为什么只有一个?一般都有高低位的。
我用STC15F104E代替的,变色效果有,但IR(NEC格式的)控制不了。
我不懂C语言,见笑了。

winfuture 发表于 2013-1-4 00:05:23

tonyone 发表于 2013-1-3 23:14 static/image/common/back.gif
你好,请教一下,你软件中ir解码的是NEC格式的吗?
还有#define IR_head_code 0x40,是指的遥控器识别码 ...

IR解码是NEC的,注意晶振:#define cystal_6M ,保证Timer0 125uS中断一次IR就能正常解码
IR_head_code 是头码,因为很多遥控的头码高8位都是0x00,所以就简单的识别低8位,实际上规范的头码因该是:0Xxxxx
IR_data中的数据是命令(数据)键码,要根据你自己实际的遥控键码修改
即修改如下的就OK了:(简单注释了下功能)
#define ON_OFF       0xc0//0xa2 //RGB灯开关键
#define Light_UP   0x00//0x62 //整体亮度增加
#define Light_DN   0x80//0xe2//整体亮度减小

#define RED_COR      0x20//0x22//红色亮度增加,到达最大亮度后变为最小亮度
#define GRN_COR      0xa0//0x02//绿色(同上)
#define BLU_COR      0x60//0xc2//蓝色(同上)

#define AUT_RvsR   0x10//0xe0 // 红色与绿色,蓝色之间的对比间距(这个不好用语言描述,下同)
#define AUT_RvsG   0x50//0xa8 // 红色与绿色单独的对比间距
#define AUT_RvsB   0x90//0x90

#define AUT_Cntr   0x40//0x68 // 开关自动变色(若处于自动变色状态下,按下此键停止在当前颜色)
#define AUT_SpdU   0xe0//0x98// 加快颜色变化速度
#define AUT_SpdD   0xd0//0xB0// 减慢颜色变化速度

tonyone 发表于 2013-1-4 22:08:50

winfuture 发表于 2013-1-4 00:05 static/image/common/back.gif
IR解码是NEC的,注意晶振:#define cystal_6M ,保证Timer0 125uS中断一次IR就能正常解码
IR_head_code...

多谢楼主,我再试试

咱厝人 发表于 2013-2-2 00:50:41

{:handshake:}{:hug:}

szzxl10 发表于 2013-2-3 10:31:47

mark{:handshake:}

lxa0 发表于 2013-2-3 17:12:12

要我的话
就用3片2051
一片IR解码
一片PWM
还一片做中央控制

th1993 发表于 2013-2-4 17:52:28

这个你看看

hamipeter 发表于 2013-2-4 20:02:02

一个定时用于IR,一个定时器用于PWM

lxa0 发表于 2013-2-4 20:47:17

2个中断的嵌套运行
搞不好程序会“飞逃”

tonyone 发表于 2013-2-21 21:39:30

lxa0 发表于 2013-2-3 17:12 static/image/common/back.gif
要我的话
就用3片2051
一片IR解码


真是有钱人

lyxing 发表于 2013-2-22 00:04:30

这个弄过,STC89C52, IR两个定时器同时用,其中一个定时器再模拟PWM,NEC格式红外调整,现正控制客厅灯带,可红、绿、蓝自动混色、手动调色、选择已有色 。

lxa0 发表于 2013-2-22 21:22:28

lyxing 发表于 2013-2-22 00:04 static/image/common/back.gif
这个弄过,STC89C52, IR两个定时器同时用,其中一个定时器再模拟PWM,NEC格式红外调整,现正控制客厅灯带, ...

能上点资料不?

lyxing 发表于 2013-2-24 09:11:46

lxa0 发表于 2013-2-22 21:22 static/image/common/back.gif
能上点资料不?

当时为利用上CT购的垃圾而编,不一定通用,如兄弟感兴趣,给个邮箱。

tonyone 发表于 2013-2-24 09:50:32

也给我一份   wqhanxing@163.com
谢谢

lxa0 发表于 2013-2-24 16:57:02

lyxing 发表于 2013-2-24 09:11 static/image/common/back.gif
当时为利用上CT购的垃圾而编,不一定通用,如兄弟感兴趣,给个邮箱。

lxa0@163.com

lyxing 发表于 2013-2-24 22:29:38

tonyone 发表于 2013-2-24 09:50 static/image/common/back.gif
也给我一份   
谢谢

已发,请查收。

lyxing 发表于 2013-2-24 22:29:56

lxa0 发表于 2013-2-24 16:57 static/image/common/back.gif


已发,请查收。

lxa0 发表于 2013-2-25 21:58:51

lyxing 发表于 2013-2-24 22:29 static/image/common/back.gif
已发,请查收。

非常感谢~~~~~~~~

tonyone 发表于 2013-2-26 21:16:01

lyxing 发表于 2013-2-24 22:29 static/image/common/back.gif
已发,请查收。

感谢~~~~

limmy321 发表于 2013-3-12 08:26:54

lyxing 发表于 2013-2-24 09:11 static/image/common/back.gif
当时为利用上CT购的垃圾而编,不一定通用,如兄弟感兴趣,给个邮箱。

也给我一份吧466014037@qq.com

suniry 发表于 2014-4-17 18:46:56

现在才看到这个,不过还是想问一下,如果用一个定时加外部中断解IR,再用一个定时搞定PWM,又该如何呢,我写的总是闪,解决不了,请大师指点。

zjk 发表于 2014-4-18 09:58:08

mark,标记

kevinliu_wei 发表于 2014-4-18 11:19:33

顶一下

pnsyzx20088hlq 发表于 2014-4-22 16:58:12

有木有C8051F系列做的PWM控制呢?
页: [1]
查看完整版本: 有没有51模拟PWM控制LED,同时IR解码,LED不闪的程序或思路