代码
unsigned char move_direction;
int main()
{
TMOD = 0x20; // 定时器模式3,8位初值自动重装
TH1 = 0xfd; // 波特率9600bps
TL1 = 0xfd;
TR1 = 1; // 定时器1使能
REN = 1; // 串口接收打开
SM0 = 0;
SM1 = 1; // 10位异步收发(8位数据)
EA = 1; // 开总中断
ES = 1; // 开串口中断
while (1)
{
switch (move_direction)
{
case 0:
break;
case 1:
break;
case 2:
break;
}
}
}
void serv() interrupt 4
{
RI = 0; // 清除标志
move_direction = SBUF;
}