关于遥控器的程序问题。

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条回答
修罗君
2019-07-16 08:42
人中狼 发表于 2017-9-26 12:11
图片是红外编码的数据格式,红外编码是4个字节数据,这里取第3个字节的数据码作为按键值就可以了,在驱动灯的控制方式要看你的意图了,在你的程序里 R=~R;,这种方式产生的效果,是按下同一个键,该灯会交替点亮和关闭。所以灯的控制方式要看你打算如何操作。 ...

嗯。我现在确实是让他交替亮。。但是我现在也能控制一个灯。如果 我在按照同样的方法写另外一个按键的  程序就会出错。
void led()
{
  if(RGB==0x09)
    {
       R=~R;
       G=1;
       BB=1;
     }
    if(RGB==0X08)  //绿灯的按键值为08
     {
       G=~G;
       R=1;
       BB=1;
     }
}
   我就是这样写的。他上电就是亮了绿灯 红灯那个按键就没反应了。

一周热门 更多>