Android通过HC-05与51单片机简单通讯

蓝牙HC05是主从一体的蓝牙串口模块;拿到模块需要对该模块进行配置,比如蓝牙名称、连接时的密码、主从和波特率等。

一、需要的工具:

usb转ttl模块(CH340G)

蓝牙HC-05(我买的是兼容版的,功能没差)

杜邦线4根

                                                         

二、连线

连接usb转ttl模块和蓝牙模块,把两个模块的VCC口相连,GND口相连,TX和RX交叉相连(既TX连RX,RX连TX)

注意:请勿将电源接到信号脚上,会直接烧坏模块!输入电压禁止超过7V!

注意:蓝牙模块的VCC只能接5V,不能接3.3V!

三、开始设置

连接好两个模块之后,按住蓝牙模块上的小按钮(按住上电是配置模式,直接上电是正常使用模式),然后把usb转ttl模块插上电脑(一直按住小按钮直到通电)。

注意:红灯快闪是正常使用模式,红灯慢闪是配置模式

然后打开串口调试助手,点击通用串口,如上图所示;选择usb转ttl模块的端口(具体是哪个,可以去查看设备管理器中usbttl是哪个com口,如下图所示);

之后选择蓝牙串口,点击AT按钮,如果左边界面出现OK字样就证明已经连接成功了,然后就开始根据需求进行配置

配置:(点完都要再点下手动发送,然后在看左边窗口是否返回ok,才算成功设置)

  • 点击设置从机。
  • 点击设置模式,在右上角改1为0然后点击手动发送。
  • 点击设置波特率,PS:波特率要和单片机的波特率设置为一样,通常51单片机的程序都是用9600,这里默认9600(跟单片机上的晶振的多少而设,11.0592为9600)。
  • 设置密码,默认1234,自己随意设置。
  • 设置名称,自己随意设置。

四、Android手机与HC-05简单通讯

通过以上步骤配置后,就可以进行简单配置通讯了

1、HC-05与单片机相连(TX连RX,RX连TX)

2、烧录以下事例,主要是对led的控制,数据的收发(有人说烧录程序时,要把蓝牙连接的tx/rx口断开,经测试无需断开,没有任何影响;要是觉得有影响,可以在每次烧录程序前断开该两端口即可)

#include <reg52.h>

sbit led1 = P1^0;
sbit led2 = P1^1;

char i, date, num;

/*串口初始化配置*/
void UartConfiguration() 
{
    TMOD=0x20;      //设置计数器1的工作方式2
    TH1=0xfd;       //设置计数器1的初值,决定波特率
    TL1=0xfd;       //设置计数器1的初值,决定波特率
    PCON=0x00;      // 波特率倍增0x00不加倍       0x80加倍
    SCON=0x50;      //设置工作方式1 开启接受允许
    EA=1;           //开启总中断
    ES=1;           //开启串口接受中断
    TR1=1;         //计数器1开始运行
}

/*发送数据*/
void sendDate(char date)
{
    SBUF=date;       //接收到的数据放入发送缓存器发送
    while(!TI);      //等待发送数据完成
    TI=0;            //清除发送完成标志位
}

//发送字符串
void  PostString(unsigned char *p)  
{  
	while(*p)  	   //若指针指向地址为空,则跳出循环
	{  
		sendDate(*p); //指针第一次默认指向首地址
		delay(20);  //延时,提高发送准确度
		p++;  
	}	  
}

void main()
{
    UartConfiguration();
    while(1)
    {
        if(num == 20) 
        {                  
            num = 0;                       
            sendDate('1');  //发送字符1 
            //比如发送DHT11的温湿度到手机上 
            //PostString("38.1");                  
        }                  
    }

}

/*中断函数*/
void Uart() interrupt 4
{
    date=SBUF;        //取出接受到的数据
    RI=0;             //清除接受中断标志位
    //收到的数据是date
    if (date==0x31){led1=0;}    
    if (date==0x08){led2=0;}         
    if (date==0x05){led1=1;led2=1;}
    num++;
}

3、Android机打开蓝牙串口调试助手(文末提供下载地址,网上的都是广告,功能都用不到,看得心烦,然后自己敲了一个)

                                                

查看手机是否连接至HC-05了,然后通过发送代码中的特定指令,对LED灯的开关及HC-05向手机发送数据的测试

4、至此通过HC-05Android手机对单片机的控制就完成了,是不是很简单o(* ̄) ̄*)o

 

点击下载以上用到的工具

Android蓝牙串口调试助手
PC串口调试助手

  • 10
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值