应粉丝要求,今天就把基于蓝牙的手机与单片机通信的代码送给大家,喜欢就关注我吧,让我们一块讨论技术问题!

在进行单片机开发以及参加比赛时,由于蓝牙模块控制方便,手机附带蓝牙功能(作为主机),信号稳定,低功耗等天然条件,这也决定了蓝牙模块必火。

今天我们使用的蓝牙模块为HC06一共有四个引脚分别为VCC,GND,RXD,TXD对应连接到单片机上的VCC,GND,TXD,RXD一定要注意RXD与TXD在连接中是交叉相连的,否则不能正常使用。

HC06正面图

51单片机引脚图

连接好之后就是写程序了(文章后面会出程序),写好之后生成HEX文件烧录到板子中,这时我们从机部分就完成了,主机也就是手机需要下载一个蓝牙串口通信助手,没有的伙伴可以去网上下载一个,百度上都能找的到,下载好之后打开蓝牙串口通信助手然后与蓝牙模块HC06连接,第一次连接的时候可能会输入密码,一般默认为1234,连接成功之后,一般有实时发送模式和键盘发送模式,具体使用方法大家可以下载下来试用一下。

蓝牙串口调试助手

键盘模式

实时发送模式

程序

#include<reg52.h>

sbit LED=P1^1;

unsigned char rx;

int flag;

void init(void)

{

TMOD|=0x20;

SCON=0x50;

PCON&=0x7f;

TH1=TL1=0xfd;

TR1=1;

ES=1;

EA=1;

}

void serial(void)interrupt 4 using 1

{

RI=0;

rx=SBUF;

switch(rx)

{

case 'a':flag=0;

break;

case'b':flag=1;

break;

default:

break;

}

}

main()

{

init();

while(1)

{

if(flag==0)

LED=0;

if(flag==1)

LED=1;

}

}

在上述程序中a和b即为单片机所接受到的数据,如果接收到信号a那么就打开LED灯,接收到信号b就关闭LED,你也可以多加点比如c,d等等这是完全可以的,那么手机呢就需要发送a或b在实时模式直接输入发送即可,在键盘模式需要设置一下,设置的时候需要点手机菜单键,然后在出现界面设置即可,这里没有图片就不给大家展示了,主机从机都设置完以后就可以正常使用了,接下来的工作就是任由你开发了,祝你取得好的成绩。

PS:上述程序只适用于51系列单片机,晶振为11.0592MHZ。

相关推荐