#include<AT89X52.h>
#include<Boebot.h>
char i;
/*??*/
void forward(void)//???????
{
unsigned char i;
unsigned char j;
P1_1=0;
P1_2=1;
P1_3=0;
P1_4=1;
/P1_5=1;
P1_6=1;
for(i=1;i<=30;i++)
{
for(j=1;j<=30;j++)
{
delay_nms(10);
}
}
}
void left(void)//?????
{
unsigned char i;
unsigned char j;
P1_1=0;
P1_2=1;
P1_3=0;
P1_4=1;
for(i=1;i<=90;i++)
{
for(j=1;j<=10;j++)
{
if(j<=4)
{
P1_5=1;
P1_6=0;
delay_nms(5);
}
else{
P1_5=0;
P1_6=1;
delay_nms(5);
}
}
}
}
void right(void)//??????
{
unsigned char i;
unsigned char j;
P1_1=0;
P1_2=1;
P1_3=0;
P1_4=1;
for(i=1;i<=90;i++)
{
for(j=1;j<=10;j++)
{
if(j<=4)
{
P1_5=0;
P1_6=1;
delay_nms(5);
}
else{
P1_5=1;
P1_6=0;
delay_nms(5);
}
}
}
}
void back(void)//???????
{
unsigned char i;
unsigned char j;
P1_1=1;
P1_2=0;
P1_3=1;
P1_4=0;
P1_5=1;
P1_6=1;
for(i=1;i<=30;i++)
{
for(j=1;j<=30;j++)
{
delay_nms(10);
}
}
}
void stop(void)//?????
{
unsigned char i;
unsigned char j;
P1_5=0;
P1_6=0;
for(i=1;i<=20;i++)
{
for(j=1;j<=20;j++)
{
delay_nms(10);
}
}
}
void main (void)
{
TMOD=0x20; //??T1?????2
TH1=0xfd; //????,????9600bps
TL1=0xfd;
TR1=1; //??T1
REN=1; //????
SM0=0; //??1
SM1=1;
EA=1; //?????
ES=1; //?????
while(1)
{i=SBUF;//SBUF??????????,?????????????SBUF?;
RI=0;
if (i==0x02){forward();} //????????0x02,????
if (i==0x08){back();} //????????0x08,????
if (i==0x01){left();} //????????0x01,????
if (i==0x03){right();} //????????0x03,????
if (i==0x05){stop();} //????????0x05,????
}
}
|