51单片机与HC-05蓝牙模块实现简单通讯(纯手工打造)

51单片机与HC-05蓝牙模块实现简单通讯

我也是刚刚实现单片机和蓝牙模块简单通讯,现在趁热打铁一步一步详细记载我是怎么实现得。废话不多说 冲!!!
知识储备:
首先实现他们之间的通讯只需要会串口通讯就行了。

基本原理:

就是手机给蓝牙发数据 蓝牙在通过TXD给单片机 单机用串口RXT到命令

如何接线

我所用的蓝牙模块是HC-05 一共有6个引脚 在我实现通讯只用了4引脚(RXD,TXD,GND,VCC)好的 这个蓝牙模块里面有两种模式,两种模式,两种模式,这两种模式的连接线是不一样的
51单片机与HC-05蓝牙模块实现简单通讯(纯手工打造)_第1张图片

- 蓝牙设置模式

第一种模式是蓝牙设置模式:简单的说就是给设置名字 密码 波特率等等
接线:VCC–VCC GND–GND RXD–单片机的RXD(P3.0) TXD–单片机的TXD(P3.1).就完成了。

- 通讯模式

第二种模式就是通讯模式:简单的说就是我们手机给蓝牙发数据 这就是通讯模式
接线:VCC–VCC GND–GND RXD–单片机的TXD(P3.1) TXD–单片机的RXD(P3.0).就是跟上面相反。
线连接完了我们就可以通讯的 没错 就这么简单

通讯之前 还得先了解蓝牙两种模式

蓝牙两种模式

第一种模式是蓝牙设置模式

  • 蓝牙设置模式

    为了证明这个蓝牙有没有坏 我们就可以先进入设置模式
    现在进入设置模式 就是:在连接蓝牙电源之前把蓝牙上面的黑色按钮按下 按下 按下,在连接电源 这是你会发现有个蓝色的灯是2秒钟闪一次 好的 那说明你已经成功了。在需要串口调试工具提取码:xici 51单片机与HC-05蓝牙模块实现简单通讯(纯手工打造)_第2张图片
    1.打开串口 2.勾选发送新行3.发送 AT 若返回ok 说明就很ok 若没有返回ok那恭喜你 中奖了 退货吧 前提是线要按照第一种连接方法。返回不是ok说明改下波特率就行

2.确认串行调试工具和蓝牙模块可以正常通信后,发送以下指令

 AT+ROLE=0 (蓝牙模块设为从机,此时只可以被搜索)
AT+CMODE=1 (蓝牙模块可以和任意设备连接)
AT+UART=9600,0,0 (设置波特率9600)
AT+NAME=HC05 (设置蓝牙的名字为HC05,手机蓝牙搜索时就找这个名字)
AT+PSWD=1234 (设置密码,手机蓝牙串口APP连接蓝牙模块,需要输入密码)
以上,蓝牙串口通通返回OK 。

断电,再上电,进入通讯模式 注意线要按照要按照第二种接法

第二种蓝牙通信模式

  • 通信模式

    进入蓝牙模式 灯会一秒钟闪两下 手机下载一个appSPP蓝牙串口。 打开软件连接蓝牙 连接成功 灯会变成连闪两下 好的现在可以通讯了。为了看出效果 写一些逻辑代码即可

代码模块

#include 
unsigned char Value;

//注意我这是11.0592MHz晶振 你们看看自己是多少兆的
void UART_init()   //[email protected]
{
	PCON |= 0x80;		//使能波特率加倍	
	SCON = 0x50;		//8位数据
	TMOD &= 0x0F;		//清除定时器1模式
	TMOD |= 0x20;		//设定定时器8为自动
	TL1 = 0xFA;			//设定初始值
	TH1 = 0xFA;			//设定初始值
	ET1 = 0;		
    TR1 = 1;
    EA = 1;
    ES =1 ; 	
}


void main()
{
	Uart_Init()	;
	while(1)
	{
		if(Value==0x31)
		{
			P2_1=1;
		}
	}
}
void UART_Routine()  interrupt 4
{

	if(RI==1)
	{	
		P2_1=0;
		Value=SBUF;
		RI=0;
	}
		
}

编译 下载程序即可 用实际发送任意为开灯 发送0x31是关灯 灯在P2_1口

第一次发表,经验不足,还望多多包涵,之后学习其他的一些模块也会慢慢更新,希望得到大家的支持!!!!!!你们的支持是我最大的动力!!!!!

你可能感兴趣的:(蓝牙通信,单片机,嵌入式,串口通信,蓝牙)