找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2383|回复: 1
打印 上一主题 下一主题
收起左侧

自己写的四路循迹以及调速,自己原创,希望大家指教

[复制链接]
跳转到指定楼层
楼主
ID:183711 发表于 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

评分

参与人数 2黑币 +55 收起 理由
be1008611 + 5 共享资料的黑币奖励!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:259407 发表于 2017-12-9 14:19 | 只看该作者
看起来不错的样子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表