一个建议:
kk: EX1=1; //重新开外部中断
当你持行完一个外部中断程序后,不要在外部中断程序中开启外部中断(上一语句),而在计时中段中,当TH0计为2的时候再来开启
原因是:你的中断程序执行完后,INT1输入还是低电平,此时开启可能会马上又进入中断程序,因此得到的数据大多是0;
检查方法很简单:可以测一个你的程序从第一个中断到接收完16个信号(中断执行17次)的程序运行时间,如果远小于红外一帧的时间,就是此原因引起
发表时间:2003年4月16日19:42:04