找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 755|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

紅外循跡部分代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1098428 發(fā)表于 2023-11-4 09:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<AT89X52.H>                  //包含51單片機(jī)頭文件,內(nèi)部有各種寄存器定義
        #include<ZY-4WD_PWM.H>                  //包含HL-1藍(lán)牙智能小車驅(qū)動IO口定義等函數(shù)

//主函數(shù)
        void main(void)
{       

        unsigned char i;
        unsigned char flag; //  標(biāo)記點
    P1=0X00;   //關(guān)電機(jī)       

                         TMOD=0X01;
                TH0= 0XFc;                  //1ms定時
                 TL0= 0X18;
                   TR0= 1;
                ET0= 1;
                EA = 1;                           //開總中斷


        while(1)        //無限循環(huán)
        {
                            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)
                                 {                                                //右急轉(zhuǎn)
                                   moreright();
                                 }
                                   if(flag==0)
                                 {                                                //左急轉(zhuǎn)
                                   moreleft();
                                 }   
                           }

         }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表