手机通过蓝牙模块与单片机通信 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android手机通过蓝牙模块与单片机通信第一步.编写好串口程序

/*********************************************

名称单片机蓝牙

功能手机通过蓝牙模块与单片机通信

作者蒋

院校南航

********************************************/

#include

sbit dula=P2^6; //数码管段选,锁存器控制信号

sbit wela=P2^7; //数码管位选,锁存器控制信号

unsigned char k,a;

unsigned char flag;

void delay1ms(unsigned int f)//延时程序

{

unsigned int i,j;

for(i=0;i

for(j=0;j<120;j++);

}

void receivem(void) //接受程序

{

while(RI==1)

{

RI=0;

flag=1;

}

}

void timer_int(void) //定时器初始化

{

TMOD=0x11;//00010001

SCON =0x50;

T2CON=0x30;

RCAP2H=0xFF;

RCAP2L=0xDC;

EA=1;

TR0=1;

TR2=1;

ET0=ET2=1;

}

void time0(void) interrupt 1 using 1 //中断函数

{

TH0=0xFC;

TL0=0x18;

receivem();//定时将SBUF接收

}

void main()

{

flag=0;

wela=0;

dula=0;

timer_int();

while(1)

{

if(flag==1)

{

dula=0;

P1=SBUF;

a=SBUF;

P0=SBUF;

dula=1;

dula=0;

wela=0;

P0=0x7e;

wela=1;

wela=0;

delay1ms(10);

SBUF=a;

while(!TI);

TI=0;

delay1ms(10);

flag=0;

}

}

}注意:这里使用了52单片机定时器2作为波特率发生器!

//设置T2为工作方式2,作为波特率时钟 TCLK = 1; RCLK = 1; C_T2 = 0;//T2的输入时钟为主时钟的2分频,不采用外部输入 T2MOD&= ~DCEN_;//递增计数方式

/******************************************************************** * T2作为串口波特率时钟,设置T2初始值: * MCU工作时钟Fclk = 11.0592MHz * 机器周期Tm = 12/11.0592us = 1.085us, * T1初值= 0x10000 - Fclk/(32*BaudRate),即0xFFDC

******************************************************************** RCAP2H = 0xFF; RCAP2L = 0xDC;

P0接的是数码管

P1接的是8个发光二极管

这样做的是更好的相互显示数据接收是否正确。

第二步. 正确使用蓝牙串口助手

我们在UC浏览器下载蓝牙串口助手。我这里使用的是UI 版本PRO

这里有三种工作模式(我只说两种)

第一种直接填写好数据就按SEND 同时在HEX上打钩表示是十六进制

第二种就是按键发送,这步你要对相应的键设置好值

第三种是发送文件的

这里对于初学这只需要会使用第一种和第二种

第三步下载程序

通过STC把程序下载进去。

第四步模块连接

我使用蓝牙模块是5V的,把模块上的VCC TXD RXD GND对应连接到52单片机上的VCC RXD TXD GND。注意一点这步要在下载程序之后,因为程序是通过TXD RXD下载进去,如果你下载程序时连接好,会占用这两个端口,是下不进去的。

第五步进行调试

打开蓝牙串口助手,连接好蓝牙设备,这样就可以发送数据。

这里我要说明一点我使用蓝牙模块的波特率是9600,程序里的波特率也是9600.两者一定要百分之百一致。如果不一致的话,单片机接受的是乱码和发送的数据不一致!

会使用蓝牙模块,对单片机的开发很会用帮助!只有真正的会使用,才是王道!不明白739141300.

我这份是百度上第一份讲解这方面的,初学者很使用。

相关文档
最新文档