大神,帮我看看蓝牙程序哪里错了(P2口是小灯)

2019-07-15 17:18发布

#include<reg52.h>//声明头文件
#define uchar unsigned char//宏定义
#define uint unsigned int//宏定义
uint a;
void init()//初始化子程序
{
        TMOD=0x20;                          //设置定时器T1为工作方式2
        TH1=0xfd;
        TL1=0xfd;                           //T1定时器装初值
        TR1=1;                              //启动定时器T1
        REN=1;                              //允许串口接收
        SM0=0;
        SM1=1;                              //设置串口工作方式1
        EA=1;                               //开总中断
        ES=1;                               //开串口中断
}


void main()//主程序
{
        init();//调用初始化子程序
        while(1)//死循环
        {
                switch(a)//判断a从串口读取到的数据
                {
                        case 1:
                        P2=0X00;
                        break;

                        case 2:
                        P2=0X01;
                        break;

                        case 3:
                        P2=0X02;
                        break;

                        case 4:
                        P2=0X04;
                        break;

                        case 5:
                        P2=0X08;
                        break;

                        case 6:
                        P2=0X10;
                        break;

                        case 7:
                        P2=0X20;
                        break;

                        case 8:
                        P2=0X40;
                        break;

                        case 9:
                        P2=0X80;
                        break;

                }        
        }        
}

void chuan() interrupt 4//串口中断服务程序
{
        RI=0;//软件清除串口响应
        a=SBUF;//读取单片机串口接受的蓝牙模块发送的数据
}


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