找回密码
 立即注册

QQ登录

只需一步,快速开始

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

红外循迹部分代码

[复制链接]
跳转到指定楼层
楼主
ID:1098428 发表于 2023-11-4 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<AT89X52.H>                  //包含51单片机头文件,内部有各种寄存器定义
        #include<ZY-4WD_PWM.H>                  //包含HL-1蓝牙智能小车驱动IO口定义等函数

//主函数
        void main(void)
{       

        unsigned char i;
        unsigned char flag; //  标记点
    P1=0X00;   //关电机       

                         TMOD=0X01;
                TH0= 0XFc;                  //1ms定时
                 TL0= 0X18;
                   TR0= 1;
                ET0= 1;
                EA = 1;                           //开总中断


        while(1)        //无限循环
        {
                            if(Left_2_led==0 || Right_2_led==0) //遇到障碍物

                         {         

                             backrun();
                                         delay(1);
                                         stop();
              }
         
                         //有信号为0  没有信号为1
                                   if(Left_1_led==1&&mid_1_led==1&&Right_1_led==1)//亮的时候为0,1才检测到黑线
                           {                                                         
                                      run();
                           }

                                              
                          if(Left_1_led==1&&mid_1_led==1&&Right_1_led==0)          
                                  {
                                           leftrun();
                                          flag=0;
                                          delay(1);                  
                                       
                             }
                         
                          if(Left_1_led==0&&mid_1_led==1&&Right_1_led==1)               
                                  {          
                                      rightrun();
                                          flag=1;                  
                                          delay(1);       
                                  }
                          
                         
                          if(Right_1_led==1&&Left_1_led==1)               
                                  {          
                                      run();                  
                                  }
                        if(Left_1_led==0&&mid_1_led==0&&Right_1_led==0)//亮的时候为0,1才检测到黑线
                           {                                                         //跑出赛道
                             if(flag==1)
                                 {                                                //右急转
                                   moreright();
                                 }
                                   if(flag==0)
                                 {                                                //左急转
                                   moreleft();
                                 }   
                           }

         }
}

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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