蓝牙hc 06通讯51单片机链接控制led灯 代码如下,调试无结果,跪求解释 一定采纳

#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharuin... #include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint i;
uchar code table[] = {0x61,0x74,0x0D}; //是at\r 对应的ascii码值
uchar code cpr[] = {0x4F,0x4B,0x0D}; //比较数组 ,AT\\OK的码值
char prt[]= { 'A','T','+','B','A','U ','D','4','\r' };
char nam[]= { 'A','T','+','N','A','M ','E','D','M','G','\r' }; 、 、//设置名字
char pwd[]= { 'A','T','+','P','I','N ','1','2','3','\r' }; //数组可以这样直接定义传输对应的ascii码值吗???
uchar read[9];
sbit d10 = P1^0;
sbit d20 = P2^0;
sbit d21 = P2^1;
sbit d22 = P2^2;
sbit d23 = P2^3;
sbit d24 = P2^4;
sbit d25 = P2^5;
void delayms(unsigned char ms)

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

{ PCON = 0x80; //1000 0000电源和波特率控制器smod=1
SCON = 0x40; //0100 0000 串口通讯, 工作方式1
TMOD = 0x20; //定时器计数器工作方式寄存器
TH1 = 0xff;
TL1 = 0xff;
TR1 = 1;
}
void main()

{

init (); 停
P2=0xff; // 停止
for(i = 0;i < 3;i ++) //发送"at\r"给单片机
{
SBUF = table[i]】;
while(!TI); 可以做个
TI = 0;
}
REN=1;
for(i = 0;i < 2;i ++) //接受蓝牙模块返回的数据 ,此处测试通讯
{ //可以做个时钟中断,每隔一秒进行测试通讯是否正常。。。。
read[i] = SBUF;
while(!RI);
RI = 0;
}
REN=0; //禁止接受数据的标志位
if(read[0]==cpr[0]&&read[1]==cpr[1]) //进行判断,如果接受的数据与比较数组中的一致,点亮,
d1 = 1;
for(i = 0;i < 9;i ++) //设置蓝牙波特率
{
SBUF = prt[i]】;
while(!TI); 可以做个
TI = 0;
}
for(i = 0;i < 11;i ++) //设置名字
{
SBUF = nam[i]】;
while(!TI); 可以做个
TI = 0;
}
for(i = 0;i < 10;i ++) //发设置密码
{
SBUF = psw[i]】;
while(!TI); 可以做个
TI = 0;
}
while(1)

{ REN=1;
for(i = 0;i < 1;i ++) //接受蓝牙模块返回的数据
{
read[i] = SBUF;
while(!RI);
RI = 0;
}
REN=0;
if(read[0]==0x30) //进行判断,前进,

省略几行 ;
if(read[0]==0x34) //进行判断,倒退,
p2=0xff; //停止
delayms(10);
}
}
展开
 我来答
亚太电效好
2013-07-22 · 超过20用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:48.3万
展开全部
d1 = 1;
???太乱了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式