欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于單片機循跡小車的一些小問題,需要在循跡1分半鐘后跳出主函數實現直行5秒 [打印本頁]

作者: zxwbwvv    時間: 2018-12-22 20:07
標題: 關于單片機循跡小車的一些小問題,需要在循跡1分半鐘后跳出主函數實現直行5秒
大背景是一個51單片機控制的一個小車,但需要在循跡1分半鐘后跳出主函數實現直行5秒,再返回主函數,拜托各位大神出出主意,
原代碼如下:#include <REGX52.H>

sbit LeftIR=P3^5;                        
sbit RightIR=P3^6;                        
sbit xunjiLED=P2^1;                       

sbit M1A=P0^0;                           
sbit M1B=P0^1;                        
sbit M2A=P0^2;                        
sbit M2B=P0^3;                           
sbit B1=P0^4;                          
sbit SB1=P0^6;                           

void tingzhi()
{
   M1A=0;                                   //??M1???A???????0
   M1B=0;                                   //??M1???B???????0
   M2A=0;                                   //??M2???A???????0
   M2B=0;
}
void qianjin()
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=1;                                   
   M2B=0;
}
void houtui()
{
   M1A=0;                                   
   M1B=1;                                   
   M2A=0;                                   
   M2B=1;
}
void zuozhuan()
{
   M1A=0;                                   
   M1B=1;                                   
   M2A=1;                                   
   M2B=0;
}
void youzhuan()
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=0;                                   
   M2B=1;
}
void delay_nus(unsigned int i)
{
  i=i/10;
  while(--i);
}   
void delay_nms(unsigned int n)
{
  n=n+1;
  while(--n)  
  delay_nus(900);      
  
}  

void ControlCar(unsigned char ConType)  
{

  tingzhi();
switch(ConType)                       
{
  case 1:  //???                     
  {
    qianjin();
    break;
  }
  case 2: //????                       
  {
    houtui();                           
    break;
  }
  case 3: //???                     
  {
    zuozhuan();                               //M2??????
break;
  }
  case 4: //???                          //?ж?????????????4
  {
    youzhuan();                                //M1??????
                                          //M2??????
break;
  }
  case 8: //??                          //?ж?????????????8
  {
    tingzhi();
break;                                //?????????
  }
}
}
void main()                               //?????????
{
  bit RunFlag=0;                          //????С?????б??λ
  //RunShow=0;                              //??????????
  ControlCar(8);                          //?????С????????
  while(1)                                //?????????
  {
   
   xunjiLED = 0 ;
   Start:
   if(LeftIR == 0 && RightIR == 0)  
   {
      ControlCar(1);                     
      delay_nms (10);
   goto NextRun;
   }
   
   if(LeftIR == 0 && RightIR == 1)
   {
      ControlCar(3);                     
      delay_nms (10);
   goto NextRun;
   }
   if(LeftIR == 1 && RightIR == 0)
   {
      ControlCar(4);                 
      delay_nms (10);
   goto NextRun;
   }
   if(LeftIR== 1&&RightIR == 1)
   {
     ContrplCar(4);
     delay_nms(10);
  goto NextRun;
  }


   goto Start;
   NextRun:
   ControlCar(8);
  }
}


作者: yzwzfyz    時間: 2018-12-24 11:22
如何理解你的“跳出主函數”?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1