蓝牙通信在单片机中的应用
目录
蓝牙介绍
HC05蓝牙模块
HC05参数
HC05引脚
各个引脚功能
HC05模块的作用
工作模式
配置模式
引脚接线
用AT指令进行配置
常用的AT指令
正常模式
测试步骤
烧录的程序
前言:
keil文件
蓝牙介绍
HC05蓝牙模块
前言:
HC05参数
注意:HC05蓝牙模块出场默认烧录的就是9600的波特率,默认为从机模式。
HC05引脚
注意:从图中可以看出,蓝牙模块一共有6个引脚,经过测试单片机只需要使用图中记得这4个引脚即可。
各个引脚功能
注意:最后一个STA引脚配对状态输出我们一般不连,因为通过手机就可以看出配对成功与否了。
HC05模块的作用
工作模式
配置模式
前言:
引脚接线
注意:进入配置模式后,灯每2秒闪烁一次。
用AT指令进行配置
前言:
常用的AT指令
AT:检查串口是否正常工作 AT+ORGL:恢复出厂设置,若把模块设置乱了,使用此命令恢复默认值 AT+ROLE=设置内容:设置蓝牙模块为主机/推荐从机(0为从机,1为主机) AT+CMODE=1:设置蓝牙模块可以与任意设备连接 AT+UART=波特率,0,0:设置正常连接模式蓝牙波特率,一般为9600 AT+NAME=蓝牙名称:设置蓝牙模块蓝牙名称,如HC-05 AT+PSWD=蓝牙密码:设置蓝牙的连接密码,如1234
注意:
正常模式
前言:当设置完配置模式一系列参数后,我们便可以进入正常模式,将蓝牙模块和另一个拥有蓝牙模块的设备进行通信,从而传递数据
测试步骤
烧录的程序
前言:
keil文件
#include <regx52.h>
unsigned char dat=0,flag=0;
void initscon(){
SCON=0x50; //8位异步通信方式,允许接收数据
TMOD=0x20; //配置波特率发生器T1,工作方式为2
TH1=0xFD; //重置TL1
TL1=0xFD; //设置初值
ES=1; //开启串口中断
EA=1; //开启总中断
TR1=1; //打开波特率发生器T1
}
void main(){
initscon();
while(1){
if(flag){
SBUF=dat; //向串口助手发送数据
flag=0;
}
}
}
void scon_isr() interrupt 4
{
if(TI){
TI=0; //数据发送完清TI
}
if(RI){
RI=0;
dat=SBUF; //接收串口助手发送的值
switch(dat){
case 1:P2_0=~P2_0;break;
case 2:P2_1=~P2_1;break;
case 3:P2_2=~P2_2;break;
case 4:P2_3=~P2_3;break;
case 5:P2_4=~P2_4;break;
case 6:P2_5=~P2_5;break;
case 7:P2_6=~P2_6;break;
case 8:P2_7=~P2_7;break;
default:P2=0xff;
}
flag=1;
}
}
作者:小白菜00