下面是51单片机通过蓝牙hc 06控制led灯的闪亮状况。没有效果 求解释 一定采纳

#include<reg51.h>//此文件中定义了51的一些特殊功能寄存器#include<intrins.h>#defineuintunsignedint#defin... #include <reg51.h> //此文件中定义了51的一些特殊功能寄存器
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint i;

uchar read[9];
sbit d16 = P1^6;

void delayms(unsigned char ms)
{ unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}

void init()
{ PCON = 0x80; //1000 0000
SCON = 0x40; //0100 0000 串口通讯, 工作方式1
TMOD = 0x20;
TH1 = 0xff;
TL1 = 0xff;

}

void main()
{

init();
// 停止
d16 = 0;

//接受蓝牙模块返回的数据
REN= 1; //接受蓝牙模块返回的数据
//接受蓝牙模块返回的数据
read[0] = SBUF;
while(!RI);
RI = 0;

REN= 0;

if(read[0]==0x01) //进行判断,左转 ,

d16 = 1;
delayms(600);
d16 = 0;
delayms(600);
d16 = 1;
delayms(600);
d16 = 0;
delayms(600);
while(1)
{ REN=1;
//接受蓝牙模块返回的数据
read[0] = SBUF;
while( !RI);
RI = 0;

REN=0;

if(read[0]==0x00) //进行判断,前进,
P1=0x00;

if(read[0]==0x01) //进行判断,左转 ,

d16 = 1;
delayms(600);
d16 = 0;
delayms(600);
d16 = 1;
delayms(600);
d16 = 0;
delayms(600);

if(read[0]==0x02) //进行判断,右转,

d16 = 1;
delayms(600);
d16 = 0;
delayms(1800);
d16 = 1;
delayms(600);
d16 = 0;
delayms(1800);

if(read[0]==0x03) //进行判断,倒退,

d16 = 1;
delayms(1800);
d16 = 0;
delayms(1800);
d16 = 1;
delayms(1800);
d16 = 0;
delayms(1800);

if(read[0]==0x04) //进行判断,倒退,

d16 = 1;
delayms(600);
d16 = 0;
delayms(1800); //停止
d16 = 1;
delayms(600);
d16 = 0;
delayms(1800);

}

}
展开
 我来答
cjj796
2013-07-19 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3493万
展开全部
首先将蓝牙模块调试好,蓝牙正常工作了,再去考虑其他的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式