大神,帮我看看蓝牙程序哪里错了(P2口是小灯)
时间:10-02
整理:3721RD
点击:
#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;//读取单片机串口接受的蓝牙模块发送的数据
}
#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;//读取单片机串口接受的蓝牙模块发送的数据
}
问题已解决,不需要大家帮忙了,谢谢
求助大神,怎莫发送啊