[物联网工程]基于Protues仿真平台的C51/2单片机蓝牙串口通信控制继电器实验

本文详细介绍了基于物联网的C51单片机通过蓝牙串口通信控制继电器的实验,包括在Proteus仿真平台上的电路设计、程序编写与导入、运行仿真,以及真实设备的硬件连接和程序验证,旨在掌握蓝牙通信和继电器工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

实验目的

实验内容

仿真部分

实战部分

环境搭建

软件下载

仿真实验过程

模拟电路仿真

打开Proteus并创建新项目

绘制仿真电路图

程序实现

程序编写

程序导入

运行仿真

真实设备实战

硬件连接

程序实现

程序编写

程序导入

运行验证

总结拓展


实验目的

掌握AT89C51蓝牙通信的工作原理。

掌握AT89C51单片机实现蓝牙串口通信的程序原理。

掌握STC串口助手使用方法。

了解电磁继电器的基础概念与工作原理。

实验内容

仿真部分

基于Proteus绘制AT89C51的最小系统,使用物理串口来模拟蓝牙通信来控制继电器工作,进而控制LED灯的亮灭。即保证系统必须包含MCU、电源、时钟、复位电路、COMPIM物理串口和模拟强电场的电磁继电器电路。

利用stc-isp-15xx-v6.92D来发送指令,从而控制LED灯的亮灭。

实战部分

使用单片机(STC89C52/51、AT89C52/51或AT89S52/51都可通用)USB转串口芯片、蓝牙模块(HC-05/06等)、电磁继电器和LED灯以及配套元器件来实现仿真实验的实战。

利用手机APP-SPP蓝牙串口来发送指令,控制LED灯的亮灭。

环境搭建

若具备相关实验环境可跳过此步骤。

软件下载

表 1附上了虚拟串口6.9、串口调试助手sscom、stc-isp-15xx-v6.92D的下载链接,可以直接“Ctrl键+右键”点击链接进入下载。

其中,“SPP蓝牙串口”为手机APP,下表里的链接是存储APP安装包的压缩包,需要将该压缩包下载到手机后,用手机解压(手机QQ浏览器可以解压压缩包)后再点击安装包进行安装。部分型号手机可以在应用商店直接下载。

表 4 蓝牙串口相关必备软件下载链接

虚拟串口6.9

虚拟串口6.9.zip - 蓝奏云

串口调试助手sscom

串口调试助手sscom.zip - 蓝奏云

stc-isp-15xx-v6.92D

stc-isp-15xx-v6.92D.zip - 蓝奏云

SPP蓝牙串口手机APP

SPP蓝牙串口-复制链接下载到手机后先解压再安装.zip - 蓝奏云

STC资源网站

STC网站

深圳国芯人工智能有限公司

STC手册

http://www.stcmcudata.com/datasheet/STC89C52.pdf

仿真实验过程

先仿真,再实战,可以让我们更容易理解和熟悉蓝牙串口的工作方式,若对蓝牙串口的工作原理有一定的基础认识,则可以直接进行真实设备的实战练习。

模拟电路仿真

打开Proteus并创建新项目

打开Proteus软件。

参考“实验6单片机入门-串口通信 图 2”绘制好物理串口的51单片机系统图。

绘制仿真电路图

对晶振、51单片机和COMPIM物理端口,设置好如图 15所示设置好相关参数。其中,图中的a) 晶振频率为:11.0592MHz、b) 单片机频率为:11.0592MHz、c) 物理串口连接的是:COM3口、时钟频率为:9600。

参考表 3的元器件,绘制如图 16所示的电路图,注意在绘制电路图时,各个部件的参数(如电阻和电容的值等)需要与图中对应,并根据图 23和图 24设置好相关参数。

在51单片机最小系统的RXO和TXD端口上连接上COMPIM物理串口。

绘制继电器电路,并将继电器的控制端连接到单片机的P2.0端口上。

图 21 调整各部件的相关参数

表 5 部分器材清单

元器件

名称

数量

备注

BATTERY

供电电源(模拟高电压)

1

元件模式

G2R-14-AC120

继电器

1

元件模式

LED-YELLOW

黄色LED灯

1

元件模式

图 22 添加COMPIM端口

电磁继电器小知识:继电器工作时,低电压控制的电磁铁通电,把高电压的衔铁吸下接触,强电场的工作电路闭合。电磁铁断电时失去磁性,弹簧把衔铁拉起来,切断强电场的工作电路。因此,继电器就是利用低电压控制电磁铁来控制强电场的工作电路通断的开关。

此处设置的是控制继电器电磁铁的电压为5V(模拟低电压)。

图 23 继电器参数设置

此处设置的是为LED灯供电的电压为12V(模拟强电场电路)。

图 24 供电电源参数设置

程序实现

程序编写

参根据实验要求,编写基于AT89C51单片机串口通信的程序。

使用Keil编程工具搭建好AT89C51的C语言程序运行环境。

程序示例:

#include <reg51.h>
#define RelayPort P2 //定义继电器所在端口
sbit Bluetooth_Rx = P3^0; //定义蓝牙串口接收引脚
sbit Bluetooth_Tx = P3^1; //定义蓝牙串口发送引脚
void delay(int n)
{
int i, j;
for(i = 0; i < n; i++)
for(j = 0; j < 110; j++);
}
void RelayOn(void) //继电器闭合函数
{
RelayPort |= 0x01;  //将端口P2上第0位设为高电平
}
void RelayOff(void) //继电器断开函数
{
RelayPort &= ~0x01; //将端口P2上第0位设为低电平
}
void UART_Init(void)
{
TMOD = 0x20; //设置定时器1为工作模式2
SCON = 0x50; //设置串口为模式1
TH1 = 0xfd; //设置波特率为9600,使用定时器1
TR1 = 1; //启动定时器1
ES = 1; //使能串口中断
EA = 1; //使能总中断
}
void UART_ISR(void) interrupt 4
{
int da;
if(RI) //判断是接收中断
{
da = SBUF; //读取串口接收到的数据
RI = 0; //清除接收中断标志
if(da == 1) //如果接收到的是字符‘1’
RelayOn(); //继电器闭合
else if(da == 0) //如果接收到的是字符‘0’
RelayOff(); //继电器断开
}
SBUF = da;
while(!TI);
TI=0;	
}
void main(void)
{
TCON = 0x05; //设置定时器0为工作模式1
UART_Init(); //初始化串口
while(1)
{
//主循环中可以进行其他任务
}
}

程序导入

参考“[物联网工程]基于Protues仿真平台的C51/2单片机串口通信实验”的“程序实现 ”将编写好的程序编译成“.hex”的二进制文件后,导入到AT89C51微控制器。

运行仿真

打开“虚拟串口”软件,并添加如图 17所示的虚拟串口

在添加端口之前,先将原来添加的虚拟串口删除后,再添加新的端口。这里添加的是:COM3和COM4口。

图 25 添加虚拟串口

如图 18所示,点击“开始仿真”来启动仿真。

图 26 运行Proteus的仿真电路

打开stc-isp-15xx-v6.92D,并参照图 27来设置相关参数

图 27 stc-isp-15xx-v6.92D参数设置

如图 20所示,在对话框输入控制命令0或1,其中,发送0控制LED灯亮,发送1控制LED灯灭,然后依次点击“打开串口”和点击“发送数据”按钮,并查看Proteus中LED的亮灭情况。

图 28 数据发送/接收测试

真实设备实战

硬件连接

连接硬件设备时需要配合图 16的仿真原理图来进行连接。

图 29 真实设备连接情况

程序实现

程序编写

将“程序编写”“.hex”的二进制文件后,再利用STC烧录器和USB数据线导入单片机。

程序导入

如图 30~图 33为将编译好的“.hex”文件导入单片机的过程。

首先,用USB数据线将单片机与电脑进行连接,然后打开“stc-isp-15xx-v6.92D”软件,进行串口选择和相关参数设置,并在STC中选择编译好的程序文件。

图 30 stc-isp-15xx-v6.92D软件参数设置

其次,将编译好的程序文件(.hex文件)添加到STC中。

图 31 程序导入

接下来,将导入STC的文件下载到单片机中。

图 32 程序下载

最后,等待下载完成之后是导入成功的界面。

图 33 下载成功

运行验证

打开“SPP蓝牙串口”手机APP,连接上本次实验的蓝牙模块,这里使用的为“BT04-A”名称的蓝牙模块,不同蓝牙模块的蓝牙名称可能不同,根据实际情况连接上自己实际使用的蓝牙模块就即可。连接成功后,在蓝牙串口APP里发送0或1的指令,单片机上的蓝牙模块接收到来自手机的控制指令后,由单片机将指令下发到与之连接的继电器,让继电器的电磁铁开始工作,继电器衔铁吸下接触或断开,进而控制LED灯的亮灭。

如图 34所示,在连接上自己实际使用的蓝牙模块后,在SPP蓝牙串口的输入框中输入“0”时,上面的LED灯亮,下面的LED灯处于熄灭状态。

图 34 指令验证

如图 35所示,在SPP蓝牙串口的输入框中输入“1”时,上面的LED灯处于熄灭状态,下面的LED灯亮。

图 35 指令验证

总结拓展

这个实验演示了如何通过AT89C51微控制器,完成单片机蓝牙串口通信实验。可以根据需要扩展和定制程序,添加更多的功能和交互。确保正确连接元件并配置相关引脚,以串口正常工作。


Wm锰的个人空间-Wm锰个人主页-哔哩哔哩视频哔哩哔哩Wm锰的个人空间,提供Wm锰分享的视频、音频、文章、动态、收藏等内容,关注Wm锰账号,第一时间了解UP主动态。大二专业第一学院第一;大三专业第二学院第三;2022年云南省职业技能大赛二等奖;2022年“经世IUV杯”全国三等奖;国家励志、一等奖奖学金https://space.bilibili.com/224711336

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值