找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

四探頭循跡小車(chē)代碼16種全情況單片機(jī)源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:593787 發(fā)表于 2019-8-1 19:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>

sbit r1=P2^7;
sbit r2=P2^6;        
sbit l1=P2^4;        
sbit l2=P2^3;
sbit z=P1^4;//定義單片機(jī)連接循跡板右邊光電管的引腳
sbit y=P1^1;//定義單片機(jī)連接循跡板左邊光電管的引腳
sbit q1=P1^3;
sbit q2=P1^2;


void delay(int z)//pwm中使用的延時(shí)函數(shù)
{
        int i,j;
        for(i=2;i>0;i--)
        for(j=z;j>0;j--);
}

void qian()//左右輪協(xié)同前進(jìn)子函數(shù)
{
        r1=0;
        r2=1;        
        l1=1;        
        l2=0;
        delay(8);//pwm調(diào)速 此為pwm有效值,前進(jìn)時(shí)速度為全速的90%
        r1=1;
        r2=1;
        l1=1;
        l2=1;
        delay(10-8);         
}
void turnright()//左右輪協(xié)同  右轉(zhuǎn)子函數(shù)
{
        r1=1;
        r2=0;
        l1=1;
        l2=0;
        delay(7);//pwm調(diào)速 此為pwm有效值,前進(jìn)時(shí)速度為全速的80%
        r1=1;
        r2=1;
        l1=1;
        l2=1;
        delay(10-7);
}
void turnleft()//左右輪協(xié)同  左轉(zhuǎn)子函數(shù)
{
        r1=0;
        r2=1;
        l1=0;
        l2=1;
        delay(7);//pwm調(diào)速 此為pwm有效值,前進(jìn)時(shí)速度為全速的80%
        r1=1;
        r2=1;
        l1=1;
        l2=1;
        delay(10-7);
}
void ting()//左右輪都停止轉(zhuǎn)動(dòng)
{
        r1=1;
        r2=1;
        l1=1;
        l2=1;
        delay(50000);
}

void main()//主函數(shù)
{
           z=1;
           y=1;
           q1=1;
           q2=1;

                while(1)//單片機(jī)不間斷監(jiān)測(cè) (是個(gè)死循環(huán))
                {           
                                                                  
                                        qian();//調(diào)用前進(jìn)子函數(shù),使小車(chē)光電管不滿足以下幾個(gè)條件時(shí)都處于前進(jìn)狀態(tài)
                                while((q1==1)&&(q2==0))//判斷當(dāng)左邊光電管遇到黑線時(shí)
                                {                                                        
                                        turnleft();//調(diào)用左轉(zhuǎn)子函數(shù)
                                }
                                while((q1==0)&&(q2==1))//判斷當(dāng)右邊光電管遇到黑線時(shí)
                                {        
                                        turnright();//調(diào)用右轉(zhuǎn)子函數(shù)
                                }
                                while((z==1)&&(y==1)&&(q1==1)&&(q2==1))//判斷當(dāng)左、前、右光電管均遇到黑線時(shí)
                                {
                                         qian();                     //即遇到十字路口時(shí) 繼續(xù)前進(jìn)                                                        
                                }
                                while((z==1)&&(y==1)&&(q1==0)&&(q2==0))//判斷當(dāng)左、右光電管均遇到黑線,前光電管時(shí)
                                {
                                        ting();                          //即遇到T字路口時(shí) 停止        
                                }
                        

以上代碼51hei打包下載:
循跡小車(chē)16種.zip (932 Bytes, 下載次數(shù): 59)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:1007161 發(fā)表于 2022-2-27 22:54 | 只看該作者
q1q2是什么
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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