當前位置:編程學習大全網 - 編程語言 - 尋跡小車的c程序

尋跡小車的c程序

# include & ltreg52.h & gt

#定義uchar無符號字符

#定義uint無符號整數

sbit moto1=p1^5;

sbit moto2=p1^6;

sbit moto3=p2^0;

sbit moto4=p2^1;

sbit en1=p1^7;

sbit en2=p2^2;

//*跟蹤端口處的七個紅外傳感器*//////////

sbit left1=p1^0;//*左側傳感器*//

sbit left2=p1^1;

sbit left3=p1^2;

sbit mid=p1^3;//*黑線位置*//

sbit right1=p1^4;

sbit right2=p2^3;

sbit right3=p2^4;//*右側的傳感器*///////////////

sbit hled=p0^0;

sbit bled=p0^1;

sbit lled=p0^2;

sbit rled=p0^3;

sbit bizhang=p2^5;

uchar pro _ head

uchar pro _ back

烏恰爾壹世;

uchar j;//前後占空比標誌

無效延遲(單位z)

{

烏恰爾壹世;

while(z -)

{

for(I = 0;我& lt121;i++);

}

}

/* * * * * *初始化定時器並中斷* * * * * * * *

void初始化()

{

TMOD = 0x 01;

TH0 =(65536-100)/256;

TL0 =(65536-100)% 256;

EA = 1;

ET0 = 1;

TR0 = 1;

en 1 = 1;

en2 = 1;

}

無效時間0(無效)中斷1

{

i++;

j++;

如果(我& lt=pro_back)

{

en 1 = 1;

}

其他

{

en 1 = 0;

}

如果(i==40)

{

en 1 = ~ en 1;

I = 0;

}

if(j & lt;=pro_head)

{

en2 = 1;

}

其他

{

en2 = 0;

}

如果(j==40)

{

en2 = ~ en2

j = 0;

}

TH0 =(65536-100)/256;

TL0 =(65536-100)% 256;

}

Void qianjin()//*直走*//////////////

{

pro _ back = 15;

pro _ head = 5;

moto 1 = 0;

moto 2 = 0;

moto 3 = 1;

moto 4 = 0;

lled = 1;

rled = 1;

bled = 1;

}

Voidturn _ right1 ()/*右轉1函數*//

{

pro _ back = 10;

pro _ head = 15;

moto 1 = 0;

moto 2 = 1;

moto 3 = 1;

moto 4 = 0;

}

。。。。。。。

Void xunji() //*跟蹤函數*//

{

烏恰爾旗;

if((left 1 = = 0)& amp;& amp(left 2 = = 0)& amp;& amp(left 3 = = 1)& amp;& amp(mid = = 1)amp;& amp(right 1 = = 0)& amp;& amp(right 2 = = 0)& amp;& amp(right3==0))

{

flag = 1;

}

else if((left 1 = = 0)& amp;& amp(left 2 = = 0)& amp;& amp(left 3 = = 1)& amp;& amp(mid = = 0)amp;& amp(right 1 = = 0)& amp;& amp(right 2 = = 0)& amp;& amp(right3==0))

{

flag = 2;

}

else if((left 1 = = 0)& amp;& amp(left 2 = = 1)& amp;& amp(left 3 = = 1)& amp;& amp(mid = = 0)amp;& amp(right 1 = = 0)& amp;& amp(right 2 = = 0)& amp;& amp(right3==0))

{

flag = 3;

}

、。 .。。。。。。。。。。。

開關(標誌)

{

案例0:前進();headled();

打破;

案例1:turn _ left 1();left led();

打破;

案例二:turn _ left 2();left led();

、。 .。。。。。。。。。。。。。打破;默認值:backled();

打破;

}

}

void main()

{

init();

延遲(600);

建策();

延遲(300);

while(1)

{

如果(張碧==1)

{

訊奇();

}

其他

BZ();

}

},,,,,,中間省略,需要自己寫。

  • 上一篇:C語言編程軟件的C語言之父
  • 下一篇:android嵌入式開發的特點是什麽
  • copyright 2024編程學習大全網