产品选型

单片机和蓝牙 基于蓝牙的手机与单片机通信讲解,附代码

小编 2024-11-24 产品选型 23 0

基于蓝牙的手机与单片机通信讲解,附代码

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

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

今天我们使用的蓝牙模块为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单片机为例来进一步解释,它是在蓝牙通讯的基础之上,进行内部蓝牙单片机模块与外部蓝牙发射接收设备之间,相互收发数...

蓝牙 模块与 单片机 具体该如何连接?

这个很好弄的蓝牙模块一般是使用SPI或串口与单片机通讯,单片机只需要使用串口或SPI,根据模块提供的指令集进行通讯就可以了;蓝牙模块的指令集一般为AT指令,...

如何把 蓝牙 模块HC-05与51 单片机 连接起来?

单片机是可以和蓝牙连接的,通过UART串口连接。HC-05是市面上比较常见的蓝牙模组,主从是一体的,跟单片机通过UART串口连接,连接完成后,即把蓝牙当作串口来使...单...

安卓APP 和单片机 (stm32外设屏幕显示) 蓝牙 实现数据通信的步骤和要掌握的知识有哪些?

安卓APP和单片机STM32蓝牙数据通信步骤:1.建立通讯模型Android端APP通过蓝牙和蓝牙模块比如HC05通讯数据,蓝牙模块通过串口将Android端发送的数据传递给STM32...

手机 蓝牙 单片机 的通信如何实现?

使用蓝牙转串口模块连接51单片机的RX和TX引脚,这一步实现源端数据转换;单片机在串口中断服务函数里面读取蓝牙模块的...手机蓝牙与单片机的通信实现方式如下:...

单片机 智能风扇为什么用 蓝牙 不用红外技术?

单片机智能风扇使用蓝牙技术而不是红外技术的原因是因为蓝牙技术具有更高的可靠性和更大的传输距离。相比之下,红外技术在传输距离和障碍物遮挡方面存在很大的...

hc06 蓝牙 模块该怎么连接到51 单片机 上?

这是单片机用串口多机通讯的仿真实例,可以参考一下,如果是手机要控制单片机,只要单片机用串口连接蓝牙模块串口,手机需要用蓝牙APP蓝牙单片机蓝牙、发送控制...

为什么我把 蓝牙 模块联上 单片机 蓝牙 模块上的灯不亮?连到USB转TTL却还会亮?

“只会在单片机上得到空”说明什么呢?说明收到数据了,不管收到的是不是发送的,总是收到了。透传既然可以A到B,那就可以B到A。问题应该就在于,单片机接收的部...

51 单片机 接收 蓝牙 传过来的数据时,RI总是为0是为什么?

1是单片机与蓝牙模块的串口连接是否正确,2是与蓝牙通信的设备连接问题。可以先用USB转TTL串口小板用PC串口助手把蓝牙模块调试成了,再连接单片机调试。1是单...

蓝牙 芯片插在51 单片机 上?

情况1,蓝牙芯片是指TI公司的CC2540/2541(带有51内核)吗?如果是的话,放在可以下载51单片机的电路上,不代表可以下载到蓝牙芯片当中。虽然蓝牙芯片里边也带个...

猜你喜欢