⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 接触传感器.cpp

📁 C语言编写的
💻 CPP
字号:
////////////////////////////接触传感器程序///////////////////////////



void touch(void)            interrupt 0       //接触传感器函数,当接触到了物体是调用
{                                             //该函数在中断时调用,反应速度比较的快 
 LMP=LMD;                                     //若用隔一段时间扫描的办法也行,不过反应就慢了些
 RMP=RMD;
 LC=colour(LW,LR,LB);                          //扫描颜色
 RC=colour(RW,RR,RB);
 if ((LC==1||LC==3)&&(RC==1||RC==3)&&(num>=2)) //若在投球的颜色区则投球
  	{    if(act)  throw(); 
     				else       act1();         //否则调用act后退转弯
  	}
 else {if(act==2)               act2();
        
       else if(act==1||act==3)  act1();
       
       else return;
      }
}

void timer1(void)            interrupt 3       //计时函数每个周期20ms  每次time++
{uchar i;
 time++;                                       //同时,我们的数球光电探头的计时internal++
 internal++;
 if (time>2000)   act=2;                       //每收到一个球,探头会产一信号,由于机器反应太快,在一段时间内信号不会消失,而产生误判
 if (time>3200)   act=3; 
 if (internal==20) TR0=1;                      //所以应该延迟一段时间再开启数球中断
 if ((light1==P1)&&(light2==P3))              //与此同时,对颜色进行一次扫描,若一段时间颜色不改变表示车可能已经撞死   
       lightnum++;
 else {lightnum=0;
       light1=P1;
       light2=P3;
	  }
 if (lightnum>200) 
     {for(i=100;i;i--)
       back(200,200);
 	   turnleft(50);
       lightnum=0;
     }
 
 TL1=0xC0;
 TH1=0x63;       
}   
/***********************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -