上海有多少家网站建设公司,crm管理,网络编程基础知识,怎么把地图放到网站上目录
蓝牙介绍
HC05蓝牙模块
HC05参数
HC05引脚
各个引脚功能
HC05模块的作用
工作模式
配置模式
引脚接线
用AT指令进行配置
常用的AT指令
正常模式
测试步骤
烧录的程序
前言#xff1a;
keil文件 蓝牙介绍
蓝牙#xff1a;Bluetooth#xff0c;其是低成…目录
蓝牙介绍
HC05蓝牙模块
HC05参数
HC05引脚
各个引脚功能
HC05模块的作用
工作模式
配置模式
引脚接线
用AT指令进行配置
常用的AT指令
正常模式
测试步骤
烧录的程序
前言
keil文件 蓝牙介绍
蓝牙Bluetooth其是低成本的、近距离的无线通信一般距离在10m以内其是位于固定和移动设备之间建立通信环境提供的一种无限技术连接。蓝牙技术在2.4GHz的波段运行这个波段是一种无需申请许可证的用于工业科技医学等领域的无线电波段。
HC05蓝牙模块
前言
我们为了利用蓝牙实现无线通信需要有一个具备蓝牙功能的模块。HC05是一款高性能的主从一体蓝牙串口模块可以同各种蓝牙功能的电脑、蓝牙主机、手机等智能中端进行配对该模块支持非常宽的波特率4800——1382400并兼容5V或3.3V单片机系统使用非常灵活方便 HC05参数 注意HC05蓝牙模块出场默认烧录的就是9600的波特率默认为从机模式。
HC05引脚 注意从图中可以看出蓝牙模块一共有6个引脚经过测试单片机只需要使用图中记得这4个引脚即可。
各个引脚功能 注意最后一个STA引脚配对状态输出我们一般不连因为通过手机就可以看出配对成功与否了。
HC05模块的作用
HC05蓝牙模块相当于一个中转手机发出的数据通过蓝牙模块接收到后又传到了51单片机的RXD串口51单片机TXD串口发过来的数据通过蓝牙接收后又传给了手机。手机和蓝牙模块利用的是蓝牙和蓝牙的无线通信蓝牙模块和51单片机利用的是串口通信因此蓝牙模块的发送引脚要接单片机的接收引脚蓝牙模块的接收引脚要接单片机的发送引脚。
工作模式
配置模式
前言
配置模式用来设置主从机、波特率、密码、连接等一系列信息使用AT指令其中需要我们设置的是波特率主从机以及密码。其具有断电保存的功能所以我们一般只需要配置一次。进入配置模式需要使用USB转TTL模块
引脚接线
蓝牙VCC接电源3.3V——5V蓝牙GND接地蓝牙TXD接在usb转TTL模块的RXD蓝牙RXD接在usb转TTL模块对应的TXD上蓝牙EN接在3.3V电源
注意进入配置模式后灯每2秒闪烁一次。
用AT指令进行配置
前言
打开安可信串口调试助手选好自己使用的串口、将波特率设置为配置模式固定的波特率38400将发送信行选项勾选后就可以发送AT指令了。我们之后设置的波特率是正常模式的波特率若我们再次进入配置模式那么配置模式波特率还是38400
常用的AT指令 AT检查串口是否正常工作ATORGL恢复出厂设置若把模块设置乱了使用此命令恢复默认值ATROLE设置内容设置蓝牙模块为主机/推荐从机0为从机1为主机ATCMODE1设置蓝牙模块可以与任意设备连接ATUART波特率,0,0设置正常连接模式蓝牙波特率一般为9600ATNAME蓝牙名称设置蓝牙模块蓝牙名称如HC-05ATPSWD蓝牙密码设置蓝牙的连接密码如1234 注意
对于后面有也就是有配置选项的将及后面的配置改为?就可以对该信息进行查询模块配置具有断电保存的功能所以我们一般只需要配置一次。使用该蓝牙模块时推荐从上往下设置将命令一步步执行
正常模式
前言当设置完配置模式一系列参数后我们便可以进入正常模式将蓝牙模块和另一个拥有蓝牙模块的设备进行通信从而传递数据
测试步骤
要想使用蓝牙模块提前你必须把程序写进单片机后拔掉串口跳线帽后再连接蓝牙模块因为电脑与单片机和蓝牙连接的单品机串口是同一个串口会出现冲突关于引脚接线和上面配置的引脚接线一样只不过将usb转ttl模块换位51单片机将蓝牙EN模块不接而已。烧录好的单片机连接HC05模块接好线并打开后会出现灯一直闪烁就表示等待连接使用蓝牙配对前先要将手机打开蓝牙手机再打开SPP蓝牙串口软件进行搜索找到设备后点击配对然后输入自己设置的配对密码后和蓝牙模块配对成功配对成功后的蓝牙模块的红灯不再闪亮并且可以通过手机向单片机发送数据进而控制单片机。
烧录的程序
前言
需求利用蓝牙调试助手发送数据的方式手机控制P2各个LED灯的亮灭同时在调试器中展示向单片机发送的数据。显示接收和发送两个部分接收采用接收中断的行式来接收数据当接收到数据以后我们将接收到的数据发回到上位机。P2接口控制LED灯而LED等采用共阳极连接你需要引脚给他低电平他才亮。
keil文件
#include regx52.h
unsigned char dat0,flag0;
void initscon(){SCON0x50; //8位异步通信方式允许接收数据TMOD0x20; //配置波特率发生器T1工作方式为2TH10xFD; //重置TL1TL10xFD; //设置初值ES1; //开启串口中断EA1; //开启总中断TR11; //打开波特率发生器T1
}
void main(){initscon();while(1){if(flag){SBUFdat; //向串口助手发送数据flag0;}}
}
void scon_isr() interrupt 4
{if(TI){TI0; //数据发送完清TI}if(RI){RI0;datSBUF; //接收串口助手发送的值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:P20xff;}flag1;}
}