关于遥控器的程序问题。

2019-07-15 09:35发布

比如说我现在已经知道遥控器的按键码值,红灯为09    绿灯为08程序如下;#include<reg52.h>
sbit IR=P3^3;
sbit R=P0^4;    //红灯
sbit G=P0^5;   //绿灯
sbit BB=P0^6;  //蓝灯

unsigned int RGB;  如果这个地方我把RBG=0X09的话 这个红灯就可以正常工作求大神指点。或者有遥控器方面的                                                                                                                            程序可以借我参考下、
void led()
{
        if(RGB==0X09)
        {
                R=~R;
                G=1;
                BB=1;
        }
}

主函数我就没写了。我是把led()函数放在主函数大循环下面。但是  我这样写他灯不亮。这个程序是和解码一起的。解码部分现在是没问题 我也没写出来。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
人中狼
1楼-- · 2019-07-16 21:02
RGB的值应该是接收到红外遥控之后,得到的红外编码,再把其中的数据码部分赋值给RGB才对,不然如何用遥控器来控制。
修罗君
2楼-- · 2019-07-16 22:13
人中狼 发表于 2017-9-26 16:19
RGB的值应该是接收到红外遥控之后,得到的红外编码,再把其中的数据码部分赋值给RGB才对,不然如何用遥控器来控制。

奇了怪。。反正就是不行。。。。我上面如果 赋按键值的话就可以让它取反。不赋按键值就没反应。。。。。。。。。。
人中狼
3楼-- · 2019-07-17 01:55
这得看你的整个程序,RGB应该是全局变量,在主函数里,接收到红外按键后,把键值给RGB,然后再调用led控制,有可能是其他部分出错。
修罗君
4楼-- · 2019-07-17 06:13
人中狼 发表于 2017-9-26 17:18
这得看你的整个程序,RGB应该是全局变量,在主函数里,接收到红外按键后,把键值给RGB,然后再调用led控制,有可能是其他部分出错。

整个程序就是你昨天叫我改的那个呀。。。就是改return (TH0*256+TH0);--
改成return (TH0*256+TL0);
修罗君
5楼-- · 2019-07-17 06:53
 精彩回答 2  元偷偷看……
人中狼
6楼-- · 2019-07-17 10:30
那要对RGB进行赋值才行,红外接收下来的是4字节数组,要把值赋给RGB才行,另外,把RGB改成unsigned char吧

一周热门 更多>