#define uchar unsigned char
#define uint unsigned int
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 i
uchar j//前后占空比标志
void delay(uint z)
{
uchar i
while(z--)
{
for(i=0i<121i++)
}
}
void init()
{
TMOD=0x01
TH0=(65536-100)/256
TL0=(65536-100)%6
EA=1
ET0=1
TR0=1
en1=1
en2=1
}
void time0(void) interrupt 1
{
i++
j++
if(i<=pro_back)
{
en1=1
}
else
{
en1=0
}
if(i==40)
{
en1=~en1
i=0
}
if(j<=pro_head)
{
en2=1
}
else
{
en2=0
}
if(j==40)
{
en2=~en2
j=0
}
TH0=(65536-100)/256
TL0=(65536-100)%6
}
void qianjin()///////////孙蔽//////////
{
pro_back=15
pro_head=5
moto1=0
moto2=0
moto3=1
moto4=0
lled=1
rled=1
bled=1
}
void turn_right1()//
{
pro_back=10
pro_head=15
moto1=0
moto2=1
moto3=1
moto4=0
}
。。。。。。。
void xunji() //
{
uchar flag
if((left1==0)&&(left2==0)&&(left3==1)&&(mid==1)&&(right1==0)&&(right2==0)&&(right3==0))
{
flag=1
}
else if((left1==0)&&(left2==0)&&(left3==1)&&(mid==0)&&(right1==0)&&(right2==0)&&(right3==0))
{
flag=2
}
else if((left1==0)&&(left2==1)&&(left3==1)&&(mid==0)&&(right1==0)&&(right2==0)&&(right3==0))
{
flag=3
}
、。。。。。。。。。。。。。
switch (flag)
{
case 0:qianjin()headled()
break
case 1:turn_left1()leftled()
break
case 2:turn_left2()leftled()
、。。。。。。。。。。。。。。。break default:backled()
break
}
}
void main()
{
init()
delay(600)
jiance()
delay(300)
while(1)
{
if(bizhang==1)
{
xunji()
}
else
bz()
}
修改为:void Avoid()
{
while(S <400)/银薯/设置避障距离
{
beep = 0//锋友者使能蜂鸣告败器
stop()//停车
}
beep = 1//关闭蜂鸣器
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)