}
if (counter == 5)
{
counter = 0;
DUTY1 = 40;
//str_send ('c');
left_slow();
}
else if (counter != 5)
{
counter = 0;
DUTY1 = 40;
DUTY2 = 40;
//str_send ('d');
left();
}
break;
case 0x01:
for (i = 0 ; i < 5 ; i++)
{
if ((PINB&0x03) == 0x01)
{
counter++;
}
else if ((counter > = 0)&&(counter < 5)&&((PINB&0x03) == 0x03))
{
break;
}
}
if (counter == 5)
{
counter = 0;
DUTY2 = 40;
//str_send ('e');
right_slow();
}
else if (counter != 5)
{
counter = 0;
DUTY2 = 40;
DUTY1 = 40;
//str_send ('f');
right();
}
break;
default:
break;
}
}
else if (Xunji == 0)
{
//rcv_new = 0;
if (stop_count == 0)
{
stop();
stop_count++;
}
}
start_SB();
}
}
#pragma interrupt_handler usart0_isr:12
void usart0_isr(void)
{
static unsigned char i;
UCSRB &= ~BIT(7);
ControlMsg[i] = UDR;
i++;
if (i == 4)
{
i = 0;
LCD_write_char(7,1,ControlMsg[0]);
LCD_write_char(8,1,ControlMsg[1]);
LCD_write_char(9,1,ControlMsg[2]);
LCD_write_char(10,1,ControlMsg[3]);
if (memcmp (ControlMsg , "star" , 4) == 0)
{
Xunji = 1;
}
else if (memcmp (ControlMsg , "stop" , 4) == 0)
{
Xunji = 0;
}
else
{
;
}
}
UCSRB |= BIT(7);
}