标题: 自己写的四路循迹以及调速,自己原创,希望大家指教 [打印本页]

作者: ???...    时间: 2017-3-27 10:06
标题: 自己写的四路循迹以及调速,自己原创,希望大家指教
  1. #include<reg52.h>

  2. sbit IN1=P2^0;                        //右轮
  3. sbit IN2=P2^1;
  4. sbit IN3=P2^2;                        //左轮
  5. sbit IN4=P2^3;

  6. sbit I1=P0^0;                        // 右1
  7. sbit I2=P0^1;                        // 右2
  8. sbit I3=P0^2;                        // 左2
  9. sbit I4=P0^3;                        // 左1

  10. unsigned char i;
  11. unsigned char mode;

  12. void main(void)
  13. {
  14. mode=5;                                              //IN1=0;IN2=1;IN3=0;IN4=1;直行
  15. for(;;)
  16. {
  17.   if(!I1) mode=1;                                      //右1
  18.   if(!I2) mode=2;                                           //右2
  19.   if(!I3) mode=3;                                      //左2
  20.   if(!I4) mode=4;                                      //左1
  21.   if(I1==1   && I2==1 && I3==1  && I4==1)mode=5;       //直行
  22.   if(!I1==1 && !I2==1 && !I3==1  && !I4==1)mode=5;           //停止
  23.   switch(mode)
  24.   {       
  25.         case 1:
  26.         for(i=0;i<255;i++)                                                                        //周期
  27.         {
  28.            if(i<=170)                                                                                //速度控制
  29.            {
  30.               IN1=0;IN2=0;IN3=0;IN4=1;
  31.            }
  32.            else
  33.            {
  34.               IN1=0;IN2=0;IN3=0;IN4=0;
  35.            }
  36.     }
  37.     break;
  38.         case 2:          
  39.     for(i=0;i<255;i++)
  40.         {
  41.            if(i<=150)
  42.            {
  43.               IN1=0;IN2=0;IN3=0;IN4=1;
  44.            }
  45.            else
  46.            {
  47.               IN1=0;IN2=0;IN3=0;IN4=0;
  48.            }
  49.         }
  50.         break;   
  51.         case 3:
  52.     for(i=0;i<255;i++)
  53.     {
  54.            if(i<=170)
  55.            {
  56.               IN1=0;IN2=1;IN3=0;IN4=0;
  57.            }
  58.            else
  59.            {
  60.               IN1=0;IN2=0;IN3=0;IN4=0;
  61.            }
  62.         }
  63.         break;   
  64.         case 4:        
  65.     for(i=0;i<255;i++)
  66.         {
  67.            if(i<=150)
  68.            {
  69.              IN1=0;IN2=1;IN3=0;IN4=0;
  70.            }
  71.            else
  72.            {
  73.              IN1=0;IN2=0;IN3=0;IN4=0;
  74.            }
  75.         }
  76.         break;   
  77.         case 5:IN1=0;IN2=1;IN3=0;IN4=1;break;
  78.     case 6:IN1=0;IN2=0;IN3=0;IN4=0;break;
  79.         default: break;
  80.   }
  81. }
  82. }  
复制代码


循迹调速.rar

17.46 KB, 下载次数: 20, 下载积分: 黑币 -5


作者: be1008611    时间: 2017-12-9 14:19
看起来不错的样子




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1