最近买了一个板子,做到红外接收实验部分了,但遇见了一个问题:用红外遥控器点亮LED灯的时候,无论是否按下遥控器,灯都会亮,只是亮的不明显,而且是属于那种一闪一闪的微亮状态,而按下键之后亮的比较厉害罢了,请问这是为什么呀?
然后我在跳过这个阶段,做一个用遥控器控制电子钟的实验的时候,也出现了类似的问题,本来我设定的是按一个键就加一分或者一秒,或者启动/关闭中断,但是现在我只要按一个键,板子就不停的对我按的那个键连续解码,比如,加一分钟,它就不停的加,或者关闭/开启中断,也是不停的关闭和开启,这是为什么呀?
这里附上我的点LED灯的代码,请各位指导。
sbit LED=P1^0;// 用sbit 关键字 定义 LED到P1.0端口,LED是自己任意定义且容易**的符号
sbit IR_IN=P3^2;
void main (void)
{
while (1) //主循环
{
LED=IR_IN;//主循环中添加其他需要一直工作的程序
}
}
这里附一张红外接收头部分的图,我用的是PIC3388的接收头,已经用金属壳封装了,附近也只有电脑屏幕,日光灯,和外面的阳光三种光线而已,但是我在实验室中,晚上将灯和电脑都关闭之后也会发生这种情况
红外接收头PIC3388,不过发射口的跳帽已经给我拔了,所以肯定不会是发射头的干扰,求助各位高手帮忙 |