【51】HC-06蓝牙模块使用

article/2025/7/7 0:39:01

说到蓝牙模块,就不得不说下主、从机:

主机 : 用于向从机下发指令,能够搜索从机并主动建立连接的一方。

从机 : 用于接收主机下发的命令,不能主动建立连接,只能等别人连接自己。

主从一体 : 能够在主机和从机模式间切换,即可做主机也可作从机。

HC-06与HC-05不同的是 :

  1.   HC-05一般都是主从机一体,既可以设置为主机也可以设置为从机。
  2.   而HC-06在市场上分为两种情况,一种是:主从机一体;另外一种是:只有从机功能。

当购买回来的蓝牙模块需要进行设置时(如主从机设置、波特率、蓝牙名称以及密码修改等):

进入AT指令方法,具体要看手册,不同模块有不同进入方法,我这里的商家给的资料是:

1、接线方法:

2、指令测试:

打开串口,设置与蓝牙模块相同波特率:

3、主、从机模式设置:

 主、从机模式需要通过设置实现(蓝牙模块都默认为从机模式,不需要改请忽略),既通过串口发送AT指令设置:

AT+ROLE设置主从模式: AT+ROLE?是查询主从状态;AT+ROLE=1是设成主;AT+ROLE=0是设成从。 (由于我的HC-06是只有从机模式,设置不了,就不演示设置过程了)。

4、波特率设置:

        波特率一般默认为9600。波特率越低,传输速度越慢,但也不是越高越好,看具体情况而定,一般单片机用的都是9600。(注意:蓝牙模块的波特率需要和单片机的相同,否则传输不了数据

这个默认波特率不是每个蓝牙模块都一样的,有的蓝牙模块默认波特率是115200,使用的时候需要看下商家资料。或者每个波特率试着改一下,总能试出来蓝牙模块的默认波特率。

指令代码部分先还有很多(比如:改蓝牙名称、蓝牙密码),感兴趣的话可以看一下数据手册,这里就不说那么多。

------------------------------分界线---------------------------

来到实际使用部分内容。

这里需要讲一下晶振,这个关乎蓝牙模块能否发送、接收数据成功。

C51开发板上的晶振有11.0592Mhz的,也有12Mhz的。

11.0592Mhz的使用串口可以省略很多问题,因为11.0592就是为了串口而生的,在设置波特率的时候可以不用考虑误差问题,误差会使蓝牙模块接收到错误的数据,所以在使用串口时一般考虑用11.0592晶振:

先说11.0592MHz的使用方法,打开ISP烧录软件。

一、设置波特率:

按步骤1~8设置。其中3、4、5、6步在C51系列单片机是固定的,也就是说除了上面设置的这几个外其它选项都是其它单片机型号的。

二、把生成代码复制到代码中,稍微修改下:

  

  这样波特率就设置好了。

三、然后把代码烧录进单片机

(在烧录程序时单片机TXD、RXD引脚不能连接其它模块,否则烧录不上):

#include <REGX52.H>//串口初始化
void UartInit(void)		//9600波特率 @11.0592MHz
{PCON &= 0x7F;		//波特率不倍速SCON = 0x50;		//8位数据,可变波特率TMOD &= 0x0F;		//设置定时器模式TMOD |= 0x20;		//设置定时器模式TL1 = 0xFD;			//设置定时初始值TH1 = 0xFD;			//设置定时重载值ET1 = 0;			//禁止定时器%d中断TR1 = 1;			//定时器1开始计时ES = 1;				//打开串口EA = 1;				//打开总中断
}void main()				//主程序
{UartInit();		 //串口初始化while(1){}
}void Uart_Bluetooth() interrupt 4		//串口中断
{if(RI == 1)		//接收{P2 = SBUF;	 	//把接收数据赋给单片机P2口(该接收数据是16进制)RI = 0;			//软件置0}
}

四、烧录完成后进行接线:

 五、去应用商店下载手机蓝牙调试助手

(我用的是这个,用其他的也行)

打开应用,发送00(代表0x00),单片机P2口会全部置0,可以发送其它的

比如:FF(代表0xFF,单片机P2口全部置1)。

可用万用表测电压的变化。

因为我是在程序中把 SBUF 赋给了 P2 口,所以只有P2口有反应。

# 11.0592MHz 完

-------------------------------分界线-------------------------------

下面讲12MHz 的使用

一、配置波特率

 因为9600波特率误差在8.5%,所以配4800波特率,发现误差还是很大(6.99%),把波特率倍速勾上:

 勾选上以后误差已经很小(0.16%),现在可以用了。

老规矩:

#include <REGX52.H>void UartInit(void)		//4800波特率 @12.000MHz
{PCON |= 0x80;		//使能波特率倍速位SMODSCON = 0x50;		//8位数据,可变波特率TMOD &= 0x0F;		//设置定时器模式TMOD |= 0x20;		//设置定时器模式TL1 = 0xF3;			//设置定时初始值TH1 = 0xF3;			//设置定时重载值ET1 = 0;			//禁止定时器%d中断TR1 = 1;			//定时器1开始计时ES = 1;				//打开串口EA = 1;				//打开总中断
}void main()          //主程序
{UartInit();		 //串口初始化while(1){}
}void Uart_lya() interrupt 4		//串口中断
{if(RI == 1){P2 = SBUF;	 	//把接收数据赋值到单片机P2口RI = 0;}
}

别急,蓝牙的波特率还没有设置,也要进行4800波特率设置,保证跟单片机一致,这样才能确保数据的正确传输与接收。

1.接线方法:

2.串口AT指令发送,设置蓝牙模块波特率:

3.单片机与蓝牙接线 :

4.发送指令

 

蓝牙将接收的数据发送给单片机,LED全部点亮:


http://chatgpt.dhexx.cn/article/0F4Ulq6k.shtml

相关文章

hc-05 模块教程2 (两个hc-05连接)

http://www.arduino.cn/thread-21735-1-1.html 最近在做项目需要建立两个hc-05通讯&#xff0c;但网上教程有限和有很多都不是很清楚所以整合了下资料重新做了一份个人认为比较详细的教程和大家一起分享学习。 这个教程说明怎么样用hc-05查找附近的hc-05模块并与它建立通讯。 …

面向对象在python中的实践---如何定义类、对象?

一、如何定义一个类 1.1基本语法 class Money:pass 类可以分为经典类和新式类 注意点&#xff1a; 类名Money中的首字母必须要大写 二、怎样通过类&#xff0c;创建一个对象 2.1根据类创建一个对象 #定义一个类 class Money:pass #根据这个类来实例化出一个对象 oneMon…

python的安装教程

Python 是这两年来比较流行的一门编程语言&#xff0c;主要的特点是其相对简单的语法以及丰富的第三方库。下面是python的下载安装过程。 1.python的官方下载网站&#xff1a; Welcome to Python.orghttps://www.python.org/ 选择自己适合的版本进行下载 * 我们以最新的3X为例…

java和python应该学哪一个,纠结?

小孩子才做选择&#xff0c;必须两个都学&#xff01; 不用纠结&#xff0c;又不是说学校让你选一个学&#xff0c;你就真的只学一个了&#xff01;&#xff08;别被课本知识限制了&#xff09; 从一名开发工程师的角度&#xff0c;我的建议是&#xff0c;将 Java 作为主武器&…

Python循环语句

Python 循环语句 本章节将向大家介绍Python的循环语句&#xff0c;程序在一般情况下是按顺序执行的。 编程语言提供了各种控制结构&#xff0c;允许更复杂的执行路径。 循环语句允许我们执行一个语句或语句组多次&#xff0c;下面是在大多数编程语言中的循环语句的一般形式&…

python 安装教程(附安装包)

有没有小伙伴想安装python,可发现官网的英文看不懂&#xff0c;而且加载很慢,想找找现成的安装包却五花八门&#xff0c;不知道下什么好了。 现在我教你怎么安装python&#xff0c;下载点我下64位(密码:61rn),如果下载32位点我(密码:dguv) 下好后点击这个文件 这个是你刚刚下…

尝试用python解概率题,并祝大小朋友儿童节快乐

实题操作 1. 三个人独立地去破译一份密码&#xff0c;每人能独立译出这份密码的概率分别为1/5&#xff0c; 1/3&#xff0c; 1/4。则这份密码被译出的概率为&#xff08;3/5&#xff09;。 def success():p 1/5,1/3,1/4t 1for i in p:t * 1-ireturn 1-tprint(f成功概率&…

华为OD机试用Python实现 -【组合出合法最小数】(2023-Q1 新题)

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试题解:…

华为OD机试用Python实现 -【字母组合】(2023-Q1 新题)

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 字母组合 | 华为…

提取文本关键词?很 easy 啊,用 Python 三行搞定

从大量文本中提取有用的关键信息是数据分析的一个重要环节。 Python 作为一门广泛应用于数据分析领域的编程语言,有着强大的文本处理库。 整理了几个用于文本关键词提取的优秀工具,一起学习下。 1、jieba库 jieba 是一个中文分词库,可以将一段文本分割为单独的单词。可以…

linux建立phyon文件,PyInstaller 来建立Linux下的Python独立执行文件

以下内容假定已安装好Python 2.4/2.5 一、下载并编译pyinstaller(只需做一次&#xff0c;以后可直接做第二步) 1.下载pyinstaller,现在的版本是1.3 (1)wget http://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz 2.解包进入源码目录 (1)tar zxv pyinstaller_1.3…

phyon数据结构

phyon常用的数据结构有&#xff1a;序列和元组 另外不常用的有 &#xff1a;字符串、Unicode字符串、buffer对象、xrange对象 1、索引&#xff1a;跟c中的下标是一个意思 2、分片&#xff1a;就是索引的范围&#xff1a; >> >num[5] [1, 2, 3, 4, 5] >>>…

phyon快速入门(hello phyon)

创建一个phyon项目 点击新建项目 新建phyon文件 新建hellophyon print(hello phyon)在文本中编辑print(hello phyon) 右键run 控制台打印出hello pyhon 第二次运行可直接点击右上角工具栏

学习java好还是phyon好_phyon学习第一天

一直想用phyon写个网络爬虫&#xff0c;太懒了&#xff0c;一直到现在才开始学习 phyon的强大就不用说了&#xff0c;第一天学习&#xff0c;好好加油 今天主要学下一下它的语法&#xff1a; 1、用过简单的计算器使用 程序的计算包括&#xff1a; - * / % **(幂运算符) >…

phyon快速入门(phyon基础知识)

1、创建变量 a10 b2 cab print(c)2、判断语句 # codingutf-8a 90if a > 80:print("nice") elif a > 60:print("normal") else:print("bad")***# codingutf-8***用于指定中文的编码格式 3、循环 # codingutf-8for i in range(1, 100):p…

【MQTT】使用MQTT上报温度阿里云

MQTT上报温度到阿里云 前言iniparser配置文件cJSONsqlite3数据库流程图配置信息发布端代码实现运行结果 前言 在上几篇文章中我们用MQTT.fx模拟客户端实现了与阿里云物联网平台的双向通信&#xff0c;接下来我们自己动手编程使用mosquitto库实现一个发布端。 iniparser配置文件…

实现跨越多个云的无缝云数据管理

By Jeffrey - 资深IT经理人&#xff0c;IT运营和安全顾问&#xff0c;历任多家知名跨国企业包括麦肯锡大中华区、通用电气公司、壳牌石油、英美烟草等公司IT总经理 云已经不是一个新鲜话题&#xff0c;越来越多企业甚至个人已经将数据搬到了云上&#xff0c;享受云带来的便捷&a…

腾讯云运维工程师认证TCA--真题(最新2022.11)

腾讯云运维工程师认证TCA题库&#xff0c;覆盖95%题目。 1、TSF控制台的配置中心&#xff0c;目前支持以下哪一种格式的配置文件? JSON格式XML格式YAML格式Properties配置格式 正确答案&#xff1a;C 解答&#xff1a;无 2、传统应用开发采用瀑布开发模型&#xff0c;瀑布开…

基于OpenPCDet框架的基线模型下载及性能评估

基于OpenPCDet框架的基线模型下载及性能评估 W.P. Xiao, Vision group&#xff0c;SHUSV 版本更新时间更新内容作者1V 1.02021.12更新基线模型W.P. Xiao, Y.Q. Wu2 目录 文章目录 基于OpenPCDet框架的基线模型下载及性能评估基线模型权重下载基线模型性能PointPillarSECONDSECO…

GPT2中文模型本地搭建(二)

GPT2中文模型本地搭建&#xff08;二&#xff09; 1、简单介绍1.1 bert4keras是什么&#xff0c;与Keras有什么关系&#xff1f;1.2 常用的预训练模型加载框架有几种&#xff1f;1.3 预训练模型常见版本 2、GPT2-ML 开源中文模型本地搭建2.1 开发环境准备2.2 下载代码2.3 下载模…