【超详细】C51单片机与HC

您所在的位置:网站首页 蓝牙耳机芯片51与50的区别在哪儿 【超详细】C51单片机与HC

【超详细】C51单片机与HC

2024-07-09 20:13| 来源: 网络整理| 查看: 265

此文记录HC05蓝牙模块在C51单片机上的学习历程

文章目录 一、硬件连接(1)配置模式下接线(2)正常模式下接线 二、配置模式操作三、正常模式四、使用蓝牙通过蓝牙调试app点灯1.单片机代码烧录与蓝牙连接2.蓝牙调试app配置

一、硬件连接

HC05一共有6个引脚,此实验一般只用到中间四个,即RXD、TXD、GND、VCC 在这里插入图片描述 HC05有两种模式,一是正常模式,二是配置模式,一定注意两种模式的接线方法是不同的

无论哪种模式,VCC与GND的接线方法是相同的,即VCC接单片机的5V口(供电电压为3.6V~6V,接到3.3V上是不亮的),GND接单片机的GND,如下所示 在这里插入图片描述

(1)配置模式下接线

在这里插入图片描述 在配置模式下,单片机通过串口与电脑连接,电脑通过AT指令即可完成对HC05模块的参数配置。此时接线为:

配置模式下HC05的RXD接单片机的RXD,TXD接TXD。

由于博主使用的单片机型号为STC89C52RC,查看原理图得单片机的RXD为p30口,TXD为p31口

在这里插入图片描述

则连接如下图所示 在这里插入图片描述

(2)正常模式下接线

在这里插入图片描述

在正常模式下HC05的RXD接单片机的TXD,TXD接RXD。

二、配置模式操作

使用配置模式接线后,将单片机通过串口连接电脑。若此时给单片机上电,在连接无误的情况下, HC05模块上有灯快速闪烁,大概1s闪两次,此时还未进入配置模式。 给单片机断电,一直按住HC05模块上的小按钮,如下图所示: 在这里插入图片描述 在按住按钮的同时给单片机上电,上完电后松开按钮,HC05首先会快速闪烁,在1s后进入慢闪状态,大约2s闪烁一次,此时成功进入配置模式。 打开串口助手,题主这里用的是sscom5.13.1。打开之后配置串口助手,如下图所示, (1)首先注意串口号是否正确 (2)然后一定要将波特率设置为38400(此波特率为配置模式的波特率,无论后面通过指令将波特率变为多少,都是调整的正常模式的波特率,配置模式的波特率为38400是不变的) (3)勾选加回车换行选项(若使用的串口助手无此选项,手动在代码后加上\r\n,例如AT\r\n) 在这里插入图片描述

(4)打开串口,在输入框内输入AT,点击发送。若一切正常,则会收到OK,如下图所示。 若没有收到,请检查接线,或者中奖了,单片机/模块有问题 。 在这里插入图片描述

接下来可以使用AT指令对模块进行配置,部分AT指令如下

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

例如改变波特率为9600:

在这里插入图片描述

三、正常模式

将接线按照正常模式接入,即RXD对TXD,TXD对RXD。给单片机上电,HC05会快速闪烁。下载一个手机蓝牙调试app(题主使用的为Bluetooth spp pro,其他在应用市场上搜索的大部分也可以使用),搜索到自己的设备 在这里插入图片描述 点击连接,输入密码(一般默认为1234,可以在配置模式下通过AT指令修改自己的连接密码),然后连接成功。

四、使用蓝牙通过蓝牙调试app点灯 1.单片机代码烧录与蓝牙连接

单片机代码如下: UART_init () 配置文件

#include void UART_init() //[email protected] { PCON |= 0x80; //使能波特率倍速位SMOD SCON = 0x50; //8位数据,可变波特率 TMOD &= 0x0F; //清除定时器1模式位 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TL1 = 0xFA; //设定定时初值 TH1 = 0xFA; //设定定时器重装值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1 ES=1; EA=1; }

.h文件

#ifndef __UART_H__ #define __UART_H__ void UART_init(); #endif

main.c文件

#include void main() { UART_init(); P2=0x00; while(1) { } } void UART_Routine() interrupt 4 { if (RI==1) { P1=SBUF;//将SBUF值赋值给P1 if (P1==0x01) { P2=~0x80; RI=0; } else if (P1==0x02) { P2=~0x40; RI=0; } } }

将代码烧录进单片机后,给单片机上电,此时HC05快速闪烁,打开手机app进行蓝牙连接,连接成功后HC05进入慢闪(大约5s快速闪两次)。

在这里插入图片描述

2.蓝牙调试app配置

连接成功后选择键盘模式,选择配置键盘值 在这里插入图片描述 配置两个按键的键盘值 在这里插入图片描述 在这里插入图片描述

!!! 别忘记选择IO模式,选择为hex模式,若选错模式则实验会毫无反应 (若选择为ascii模式,则代码需要改动,例如键盘发送01给单片机,在hex模式下单片机收到的值为0x01,在ascii模式下收到的为0x0031,具体转换方法请查看acii码表) 在这里插入图片描述 配置结束后,点击保存键盘配置。 按下1键,单片机led D8闪烁;按下2键,单片机led D7闪烁,此时实验成功。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3