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

2020-01-23 14:49发布

如题,谢谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
tonyone
1楼-- · 2020-01-24 11:14
先顶再下,再学习。
xslff
2楼-- · 2020-01-24 14:16
用一个定时做IR,一个定时器做PWM可以满足要求
lmt50211
3楼-- · 2020-01-24 20:16
winfuture 发表于 2012-12-25 21:26
这个我刚好做过,当时用的STC11F04E,遥控控制RGB灯变 {MOD},3路PWM和IR解码都是用定时器做的。(最初IR解码用 ...

你好,请教一下,你软件中ir解码的是NEC格式的吗?
还有#define IR_head_code 0x40,是指的遥控器识别码吗?为什么只有一个?一般都有高低位的。
我用STC15F104E代替的,变 {MOD}效果有,但IR(NEC格式的)控制不了。
我不懂C语言,见笑了。
tonyone
4楼-- · 2020-01-24 23:19
tonyone 发表于 2013-1-3 23:14
你好,请教一下,你软件中ir解码的是NEC格式的吗?
还有#define IR_head_code 0x40,是指的遥控器识别码 ...

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

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

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

#define AUT_Cntr     0x40//0x68 // 开关自动变 {MOD}(若处于自动变 {MOD}状态下,按下此键停止在当前颜 {MOD})
#define AUT_SpdU     0xe0//0x98// 加快颜 {MOD}变化速度
#define AUT_SpdD     0xd0//0xB0// 减慢颜 {MOD}变化速度
winfuture
5楼-- · 2020-01-25 02:03
 精彩回答 2  元偷偷看……
tonyone
6楼-- · 2020-01-25 06:29

一周热门 更多>