基于蓝牙的手机与单片机通信讲解,附代码
应粉丝要求,今天就把基于蓝牙的手机与单片机通信的代码送给大家,喜欢就关注我吧,让我们一块讨论技术问题!
在进行单片机开发以及参加比赛时,由于蓝牙模块控制方便,手机附带蓝牙功能(作为主机),信号稳定,低功耗等天然条件,这也决定了蓝牙模块必火。
今天我们使用的蓝牙模块为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。
单片机编程新方式:通过手机蓝牙
micro:bit单片机开发板买来很久了,都是通过电脑连接USB数据线的方式来给bit编程。
刚才看到苹果APP商店无意发现这个板子还有一个专门适配的应用mirbit:bit。
所以立马就下载了,用这个APP体验一下用手机给单片机编程,而且是通过无线的方式。
主界面
很简洁的主界面,连接蓝牙、编写代码与FLASH都有了。
编程界面有两种,分别是图形化和文本编程
图形化编程界面
先用图形化编程来让bit的LED矩阵显示一个十字架的图案,直接在屏幕上点击要显示的LED灯就可以了,然后点击下载按钮,用不了几秒钟程序就会被烧录到板子上。
接下来看一下实验结果
出现了我们预先设计的十字架图案。
这个LED灯矩阵对bit来说简直是小菜一碟,还有很多高级功能我们没有用到,比如语音、通讯这些个。
因为没有足够多的外设,暂且先演示LED矩阵这个功能吧,后边买一些适配这个板子的小模块,做一些更好玩的功能!
相关问答
手机 蓝牙 与 单片机 的通信如何实现?本篇回答,前半部分简单介绍一下,后半部分很详细!欢迎大家关注:电气电子视界手机蓝牙与单片机的通信实现方式如下。使用蓝牙转串口模块连接51单片机的RX和TX...
单片机蓝牙 模块怎样传数据给手机吗?连接方式和具体例程有没有?我的是51单片机和hc-05 蓝牙 模块?一般情况是通过串口透传.单片机和蓝牙模块串口通信,手机app连接蓝牙模块,读取蓝牙的串口服务特征值,当特征值改变后手机蓝牙会有回调函数响应,可以读取出对...
hc06 蓝牙 模块该怎么连接到51 单片机 上?这是单片机用串口多机通讯的仿真实例,可以参考一下,如果是手机要控制单片机,只要单片机用串口连接蓝牙模块串口,手机需要用蓝牙APP蓝牙单片机蓝牙、发送控制...
8位 单片机 如何实现 蓝牙 协议栈处理? - 巫塔小妖 的回答 - 懂得可以使用带UART的蓝牙模块
你好,怎么用 单片机 通过 蓝牙 模块向手机发数据?直接买个蓝牙透传模块,即蓝牙转串口模块,也就二三十块钱,直接连接单片串口,单片机程序里你就操作该串口就行了,手机搜索该蓝牙模块,配对连接后,单片机向串...
如何从51 单片机 向 蓝牙 模块发送AT指令? - 懂得51单片机和蓝牙连接是通过串口实现的,所以通过单片机想蓝牙模块发送AT指令,也必须通过串口来发送,安装蓝牙模块的协议来发送控制命令就可以了。接收...
如何从51 单片机 向 蓝牙 模块发送AT指令?蓝牙有RXD与TXD引脚,用串口通信,代码可以参考网上的一些资料使用AT指令的时候,先使蓝牙模块进入AT模式,然后你就当蓝牙就是命令的接收端,单片机或者PC串口...
51 单片机 接收 蓝牙 传过来的数据时,RI总是为0是为什么?1是单片机与蓝牙模块的串口连接是否正确,2是与蓝牙通信的设备连接问题。可以先用USB转TTL串口小板用PC串口助手把蓝牙模块调试成了,再连接单片机调试。1是单...
能否告诉我!!靠谱 单片机 开发项目推荐, 单片机 开发项目性价比...[回答]手机那你先跟单片机的那个蓝牙模块连接了,就是跟其他设备连接是一样的单片机开机的时候,会配置一些AT命令,用来配置蓝牙模块,比如说名字啊,打开蓝牙...
蓝牙 模块AT指令修改如何用 单片机 实现 - 177****1662 的回答 ...使用AT指令的时候,先使蓝牙模块进入AT模式,然后你就当蓝牙就是命令的接收端,单片机或者PC串口就是命令的发送端(就当蓝牙是独立的模块)。串口发送的...