Loading

蓝牙模块和51单片机的串口通信

蓝牙模块和51单片机的串口通信

运行环境:

❤ 操作系统:Windows 10 x64、安卓手机(含蓝牙APP)

❤ 实验板:普中51-单核-A2单片机(STC89C52RC-40I-PDIP40)

❤ 蓝牙模块:HC-05

❤ IDE:Keil uVision4

❤ 仿真器:setup_x64_2.8.exe

实验目的:通过手机端蓝牙APP控制51单片机D1的亮灭

一、蓝牙通讯#

蓝牙通讯工作原理请参考...

二、蓝牙模块和51单片机的接线#

蓝牙模块 51单片机 备注
RXD P31(即P3.1 TXD)
TXD P30(即P3.0 RXD)

三、51单片机串口通信#

51单片机串口通讯代码

/*-----------------------------------------------------------------------------
* 实验说明     : 单片机串口接收数据控制灯亮灭
* 连接方式     : 
* 注    意     : 该试验使用的晶振是11.0592
*******************************************************************************/

#include<reg52.h>
#include<intrins.h>

#define uchar unsigned char
#define uint  unsigned int

uchar PuZh[20] = "This is ok";

//--定义使用的IO--//
sbit LED=P2^0;

void Delay_1ms(uint i)//1ms延时
{
  	uchar x,j;
  	for(j=0;j<i;j++)
    	for(x=0;x<=148;x++);
}

void Com_Int(void) interrupt 4
{
	uchar i;
  	uchar receive_data;
	
  	EA = 0;
	
  	if(RI == 1) //当硬件接收到一个数据时,RI会置位
	{ 		
		RI = 0;
		receive_data = SBUF;//接收到的数据
		if(receive_data == '1')	 
		{
			LED =0;//接收到字符'1'亮灯
		}
		else
		{
			LED =1; //其他情况灯灭
		}
		
	}
	for(i=0; i<20; i++)
	{
		SBUF = PuZh[i];   //将要发送的数据放入到发送寄存器
		while(!TI);	  //等待发送数据完成
		TI=0;		  //清除发送完成标志位
		Delay_1ms(1);
	}
	EA = 1;
}
	
void UsartConfiguration()
{	
	SCON=0X50;		//设置为工作方式1,8位数据,可变波特率
	TMOD=0X20;		//设置计数器工作方式2
	PCON=0X00;		//波特率不加倍
	TH1=0XFd;		//计数器初始值设置,9600@11.0592MHz
	TL1=0XFd;
	TR1=1;		        //打开计数器
	ES = 1;                 //开串口中断
  	EA = 1;                 //开总中断
}
	
void main()
{
	UsartConfiguration();//初始化串口
	while(1);	
}

在Keil uVision4中编译后得到.hex文件,利用烧写工具将其烧录到51单片机

四、实验结果#

操作过程:手机端蓝牙APP发送字符'1',观察51单片机情况;发送其他字符,观察51单片机情况

注意:给51单片机和蓝牙模块供电

手机端蓝牙APP控制

51单片机实物结果:

当手机端蓝牙APP发出字符'1'时,以下图片是实验现象

由实验结果可知,实验现象符合实验目的,实验成功

作者:caojun97

出处:https://www.cnblogs.com/caojun97/p/16841641.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   eiSouthBoy  阅读(1483)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu