当前位置:网站首页>51与蓝牙模块通讯,51驱动蓝牙APP点灯
51与蓝牙模块通讯,51驱动蓝牙APP点灯
2022-07-07 22:17:00 【优信电子】
蓝牙模块简介
本次实验用到是JDY31蓝牙模块,JDY-31 蓝牙基于蓝牙 3.0 SPP 设计,
蓝牙模块是串口通讯,单片机也有串口通讯,我们只需要配置好既可以实现单片机于蓝牙通讯,甚至是实现更多的功能,本文对刚学习51需要制作蓝牙小车的帮助很大
串口配置
STC89C52的UART有四种工作模式:
模式0:同步移位寄存器
模式1:8位UART,波特率可变(常用)
模式2:9位UART,波特率固定
模式3:9位UART,波特率可变
本次实验配置的是模式1; 8位自动重装
具体的程序的程序配置可以借助STC官方的下载器,下载器自带一个波特率计算器,按下面的图配置生成复制代码就行
蓝牙模块默认波特率是9600,所以这里要选择4800倍速
主要代码
串口初始化代码:89C52单片机没有AUXR,可以去掉这两句程序,再打开EA和ES中断
/** * @brief 串口初始化[email protected] * @param 无 * @retval 无 */
void UART_Init()
{
SCON=0x50; //8位数据,可变波特率
PCON |=0x80; //使能波特率倍速位SMOD
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x20; //设置定时器模式
TL1 = 0xFA; //设置定时初始值
TH1 = 0xFA; //设置定时重载值
ET1 = 0; //禁止定时器%d中断
TR1 = 1; //定时器1开始计时
EA=1; //开启总中断
ES=1; //开启串口中断
}
串口发送数据:SBUF是串口数据缓冲寄存器,
**
* @brief 串口发送一个字节数据
* @param Byte 要发送一个字节数据
* @retval 无
*/
void UART_SendByte(unsigned char Byte)
{
SBUF=Byte;
while(TI==0);
TI=0;
}
主要代码
void main ()
{
UART_Init(); //串口初始化
while(1)
{
}
}
void UART_Routine() interrupt 4 //串口中断号
{
if(RI==1)
{
P1=SBUF; //接收数据控制P1
RI=0; //串口接收寄存器置零
}
}
实验接线
单片机下载的时候不要连接蓝牙,要先下载程序再连接,否则下载会失败
| 单片机 | 蓝牙模块 |
|---|---|
| 5V | VCC |
| P3.0 | TX |
| P3.1 | RX |
| GND | GND |
手机APP配置
1,在手机商店下载SPP蓝牙串口,本蓝牙模块苹果手机不可用,
2,点开APP右上角连接对应的蓝牙
3,在开关这个地方自定义一个按钮,配置如下图:
配置好之后即可开始操作
实验现象

总结
蓝牙传输的数据存在SBUF寄存器中,对接收到的数据进行处理就可以进行各种操作控制,本文相当于一个串口通讯模板,需要完整工程的可以下方留言
边栏推荐
- Rectification characteristics of fast recovery diode
- 【编程题】【Scratch二级】2019.09 制作蝙蝠冲关游戏
- SQL connection problem after downloading (2)
- AWS AWS help error
- 【转载】解决conda安装pytorch过慢的问题
- 商品的设计等整个生命周期,都可以将其纳入到产业互联网的范畴内
- Visual Studio Deployment Project - Create shortcut to deployed executable
- 【测试面试题】页面很卡的原因分析及解决方案
- Les mots ont été écrits, la fonction est vraiment puissante!
- Robomaster visual tutorial (11) summary
猜你喜欢

STM32F1与STM32CubeIDE编程实例-旋转编码器驱动

【编程题】【Scratch二级】2019.03 绘制方形螺旋

Trust orbtk development issues 2022

Single machine high concurrency model design

QT and OpenGL: load 3D models using the open asset import library (assimp)

2022-07-07:原本数组中都是大于0、小于等于k的数字,是一个单调不减的数组, 其中可能有相等的数字,总体趋势是递增的。 但是其中有些位置的数被替换成了0,我们需要求出所有的把0替换的方案数量:
![[leetcode] 20. Valid brackets](/img/42/5a2c5ec6c1a7dbcdfb2226cdea6a42.png)
[leetcode] 20. Valid brackets
PostGIS learning

快速上手使用本地测试工具postman

Kubectl 好用的命令行工具:oh-my-zsh 技巧和窍门
随机推荐
Gorm Association summary
Emotional post station 010: things that contemporary college students should understand
10 schemes to ensure interface data security
3年经验,面试测试岗20K都拿不到了吗?这么坑?
C language 001: download, install, create the first C project and execute the first C language program of CodeBlocks
詹姆斯·格雷克《信息简史》读后感记录
Laser slam learning (2d/3d, partial practice)
FFA and ICGA angiography
Flask learning record 000: error summary
快速上手使用本地测试工具postman
【编程题】【Scratch二级】2019.03 垃圾分类
Operating system principle --- summary of interview knowledge points
35岁真就成了职业危机?不,我的技术在积累,我还越吃越香了
关于组织2021-2022全国青少年电子信息智能创新大赛西南赛区(四川)复赛的通知
Traduction gratuite en un clic de plus de 300 pages de documents PDF
SQL connection problem after downloading (2)
Is Zhou Hongyi, 52, still young?
QT creator add JSON based Wizard
【史上最详细】信贷中逾期天数统计说明
Basic learning of SQL Server -- creating databases and tables with the mouse