求高手改程序,51单片机蓝牙控制小车

2019-07-15 21:17发布

C语言不太会~ 错误总是改不掉,求高手帮着改改~ 用51单片机的串口通信来接收发送来的ASCII码,想用switch来判断接收到的这些字符~
                #include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned a;
void init()
        {
                TMOD=0X20;//设置定时器1为方式2
                TH1=0xfd;
                TL1=0xfd;//装初值
                TR1=1;//启动定时器1
                SM0=0;
                SM1=1;//设置串口为工作方式1
                REN=1;//使能接收
                EA=1;//打开总中断开关
                ES=1;//打开串口中断开关
        }
void main()
{
        init();
        while(1);
}
void ser()interrupt 4
        {
                RI=0;//将接受中断标志位清0;
                a=SBUF;//将接受到的数据赋值给a
                switch(a);

                {
                        case 65: P2=0X17; break;//发送的是A  前进指令
                        case 66: P2=0X1B; break;//发送的是B  右转指令
                        case 67: P2=0X27; break;//发送的是C  左转指令
                        case 68: P2=0X2B; break;//发送的是D  后退指令
                        case 97: P2=0X00; break;//发送的是a        停止指令
                        case 98: P2=0X00; break;//发送的是b        停止指令
                        case 99: P2=0X00; break;//发送的是c        停止指令
                        case 100: P2=0X00; break;//发送的是d        停止指令
                        default: break;
                }
                ES=1;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。