当前位置:网站首页>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寄存器中,对接收到的数据进行处理就可以进行各种操作控制,本文相当于一个串口通讯模板,需要完整工程的可以下方留言
边栏推荐
- new和delete的底层原理以及模板
- 数据库查询——第几高的数据?
- Introduction knowledge system of Web front-end engineers
- SQL uses the in keyword to query multiple fields
- webflux - webclient Connect reset by peer Error
- 自动化测试:Robot FrameWork框架90%的人都想知道的实用技巧
- [basis of recommendation system] sampling and construction of positive and negative samples
- Trust orbtk development issues 2022
- Use filters to count URL request time
- 52歲的周鴻禕,還年輕嗎?
猜你喜欢
光流传感器初步测试:GL9306
Operating system principle --- summary of interview knowledge points
The underlying principles and templates of new and delete
Benchmarking Detection Transfer Learning with Vision Transformers(2021-11)
测试流程不完善,又遇到不积极的开发怎么办?
Zhou Hongqi, 52 ans, est - il encore jeune?
[programming problem] [scratch Level 2] March 2019 draw a square spiral
80% of the people answered incorrectly. Does the leaf on the apple logo face left or right?
2022-07-07:原本数组中都是大于0、小于等于k的数字,是一个单调不减的数组, 其中可能有相等的数字,总体趋势是递增的。 但是其中有些位置的数被替换成了0,我们需要求出所有的把0替换的方案数量:
Opengl3.3 mouse picking up objects
随机推荐
35岁真就成了职业危机?不,我的技术在积累,我还越吃越香了
2022-07-07:原本数组中都是大于0、小于等于k的数字,是一个单调不减的数组, 其中可能有相等的数字,总体趋势是递增的。 但是其中有些位置的数被替换成了0,我们需要求出所有的把0替换的方案数量:
【转载】解决conda安装pytorch过慢的问题
【编程题】【Scratch二级】2019.12 绘制十个正方形
Is 35 really a career crisis? No, my skills are accumulating, and the more I eat, the better
Teach you to make a custom form label by hand
Preliminary test of optical flow sensor: gl9306
【测试面试题】页面很卡的原因分析及解决方案
[basis of recommendation system] sampling and construction of positive and negative samples
80% of the people answered incorrectly. Does the leaf on the apple logo face left or right?
Tools for debugging makefiles - tool for debugging makefiles
Orthodontic precautions (continuously updated)
Seven years' experience of a test engineer -- to you who walk alone all the way (don't give up)
Scrapy framework
商品的设计等整个生命周期,都可以将其纳入到产业互联网的范畴内
The difference between -s and -d when downloading packages using NPM
AWS AWS help error
Kubectl 好用的命令行工具:oh-my-zsh 技巧和窍门
How to put recyclerview in nestedscrollview- How to put RecyclerView inside NestedScrollView?
从Starfish OS持续对SFO的通缩消耗,长远看SFO的价值