Programa inteligente para evitar obstáculos en vehículos~~~Urgente
#includelt;reg52.hgt;
#define uchar unsigned char
#define uint unsigned int
sbit moto1=P1^ 5;
sbit moto2=P1^6;
sbit moto3=P2^0;
sbit moto4=P2^1
>bit en1=P1^7;
bit en2=P2^2;
///////////////
bit izquierdo1=P1^0; //
bit izquierdo2=P1^1;
bit izquierdo3=P1^2;
bit medio=P1^ 3; //
bit derecha1=P1^4;
bit derecha2=P2^3;
bit derecha3=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; //indicadores de ciclo de trabajo delantero y trasero
retraso nulo (uint z)
{
uchar i;
while(z--)
{
for(i=0;ilt;121;i ) ;
}
}
void init()
{
TMOD=0x01; p >
TH0=(65536-100)/256;
TL0=(65536-100)6;
EA=1; = 1;
TR0=1
en1=1
en2=1; > tiempo vacío0(vacío) interrupción 1
{
i
j
if(ilt;=pro_back) p >
{
en1=1
}
más
{
en1= 0 ;
}
if(i==40)
{
en1=~en1;
i=0;
}
if(jlt;=pro_head)
{
en2=1;
}
más
{
en2=0;
}
si(j==40)
{
en2 =~en2;
j=0;
}
TH0=(65536-100)/256; 65536-100)6;
}
void qianjin()///////////////////////
{
pro_back=15;
pro_head=5;
moto1=0;
moto2=0; p> p>
moto3=1;
moto4=0;
lled=1; > sangrado =1;
}
void turn_right1()//
{
pro_back=10;
pro_head=15;
moto1=0;
moto2=1;
moto3=1;
moto2=1;p>
}
. . . . . . .
void xunji() //
{
uchar flag;
if((left1==0)amp;amp; (izquierda2==0)amp; (izquierda3==1)amp; (derecha3==0)amp; >
{
flag=1
}
else if((left1==0) amp;amp;(left2==0) amp;amp;(izquierda3==1)amp;amp;(mid==0)amp;amp;(derecha1==0)amp;amp;(derecha2==0) amp; )
{
flag=2
}
else if((left1 ==0)amp;amp;(left2 ==1)amp;amp;(izquierda3==1)amp;amp;(mid==0)amp;amp;(derecha1==0)amp;amp;(derecha2 ==0)amp;amp;(derecha3 ==0))
{
flag=3;
}
, . . . . . . . . . . . . .
cambiar (bandera)
{
caso 0: qianjin(); encabezado()
romper
caso 1: turn_left1(); leftled();
romper;
caso 2: turn_left2(); . . . . . . . . . . . . . .
romper; predeterminado: backled();
romper
}
}
void main()
{
init();
retraso(600);
jiance();
retraso(300);
p>p>
mientras(1)
{
si(bizhang==1)
{
xunji();
}
más
bz(); ¡Complételo más tarde de acuerdo con su situación real!