當前位置:編程學習大全網 - 編程語言 - 求壹個四驅智能小車四路循跡的完美程序,51或者avr的,50懸賞!

求壹個四驅智能小車四路循跡的完美程序,51或者avr的,50懸賞!

#include<reg52.h>

#define uint unigned int

#define uchar unsigned char

sbit SK=P3^7;/*聲控*/

/*sbit bee=P3^6;蜂鳴器*/

sbit Z1=P0^0;

sbit Z2=P0^1;

sbit Y1=P0^2;

sbit Y2=P0^3; /*電機*/

sbit L1=P1^7;

sbit L2=P1^6;

sbit L3=P1^5;

sbit L4=P1^4;

sbit L5=P1^3;

sbit L6=P1^2;

sbit L7=P1^1;

sbit L8=P3^1;

sbit L9=P3^0;

sbit L10=P3^2; /*紅外對管*/

/*void delay(int t)

{

int i;

while(t--)

for(i=0;i<121;i++);

} */

void qianjin()

{

Z1=0;Z2=1;

Y1=0;Y2=1;

}

void zuozhuan()

{

Z1=0;Z2=1;

Y1=1;Y2=0;

}

void youzhuan()

{

Z1=1;Z2=0;

Y1=0;Y2=1;

}

/*void houtui()

{

Z1=1;Z2=0;

Y1=1;Y2=0;

} */

void tingzhi()

{

Z1=1;Z2=1;

Y1=1;Y2=1;

}

/*void xunji1()

{

if(L3==0&&L4==0&&L5==0)

{qianjin();}

if((L7==1||L6==1)&&L2==0)

{zuozhuan();}

else if(L6==0&&L2==1)

{youzhuan();}

else if(L3==1||L4==1||L5==1)

{qianjin();}

} */

void xunji4()

{

while(1)

{ if((L4==1||L5==1)&&L1==0)

{zuozhuan();}

else if(L5==0&&(L1==1||L2==1))

{youzhuan();}

else if(L3==1&&L4==1)

{qianjin();}

else if(L7==1||L6==1)

{tingzhi();while(SK==0);}

if(L1==1&&L2==1&&L3==1&&L4==1&&L5==1&&L6==1&&L7==1)

tingzhi(); break;

}

}

/*void xunji2()

{

if((L1==1||L2==1)&&L7==0)

{zuozhuan();}

else if((L7==1||L6==1)&&L1==0)

{youzhuan();}

else if(L4==0&&L5==0)

{qianjin();}

}

void xunji3()

{

if(L8==0&&L9==1)

{zuozhuan();}

else if(L8==1&&L9==0)

{youzhuan();}

else if(L9==0&&L8==0)

{houtui();}

}

void huijia()

{

qianjin();delay(2500);tingzhi();delay(100);

zuozhuan();delay(500);tingzhi();delay(100) ;

houtui();delay(1700);tingzhi();delay(300) ;

youzhuan();delay(800);tingzhi();delay(100);

houtui();delay(1000);tingzhi();delay(100000) ;

} */

void main(void)

{

/*while(1)

{

xunji1();

if(L2==1&&L4==1&&L6==1) //壹區循跡

break;

}

bee=0;

delay(50);

bee=1;

qianjin();

delay(1000);

while(1)

{

xunji2(); //二區循跡

if(L7==1&&L6==1&&L5==1)

break;

}

bee=0;

delay(50);

bee=1;

qianjin();

delay(300);

youzhuan();

delay(200);

qianjin(); //三區壁障

delay(400);

zuozhuan();

delay(200);

qianjin();

delay(400);

youzhuan();

delay(200);

qianjin();

delay(100);

bee=0;

delay(200);

bee=1;

*/

xunji4();

/* while(1)

{

houtui();

if((L8==1||L3==1)&&L9==0)

youzhuan();

if((L9==1||L5==1)&&L8==0)

zuozhuan();

if(L10==1&&L8==0)

zuozhuan();

if(L8==1&&L9==1)

tingzhi();

}

*/

}

這個是七路循跡 簡單改改就是四路

  • 上一篇:聯控plc死機要不要關設備
  • 下一篇:我是壹名數控車床工人,現在在學編程,但是不知道有些零件紙上的符號是什麽意思,比如那些表面粗糙度之類的。
  • copyright 2024編程學習大全網