for (j=0;j<4;j++) //采集紅外遙控器數據
{
for (k=0;k<8;k++) //分次采集8位數據
{
while (IRIN) //等 IR 變為低電平,跳過4.5ms的前導高電平信號。
{
delayms(1); //延時等待
}
while (!IRIN) //等 IR 變為高電平
{
delayms(1); //延時等待
}
while (IRIN) //計算IR高電平時長
{
delayms(1); //延時等待
N++; //計數器加加
if (N>=30) //判斷計數器累加值
{
EX1=1; //打開外部中斷功能
return; //返回
}
}