找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3597|回复: 2
打印 上一主题 下一主题
收起左侧

蓝牙控制51单片机点亮LED 调试程序

[复制链接]
跳转到指定楼层
楼主
1.     下载相关软件。如串口助手和蓝牙助手
2.     串口助手上有相应的操作,随便点点就行
3.     一些AT指令。
HC08调试过程.docx (664.34 KB, 下载次数: 40)
4.      AT 指令用来设置模块的参数,模块在未连线状态下可以进行 AT 指令操作,连线后进入串口透传模式。模块启动大约需要 150ms,所以最好在模块上电 200ms 以后才进行 AT 指令操作。除特殊说明外,AT 指令的参数设置立即生效。同时,参数和功能的修改,掉电不会丢失。AT 指令修改成功后统一返回 OK(“AT+RX、AT+VERSION”等查看信息类指令除外),不成功不返回任何信息
5.     串口通信准备知识:功能是利用串口助手文本模式发送0x00点亮led,发送0x01熄灭led。实现方式串口通信:uart,SBUF暂存
/**************************************************************************************
*                            串口通信实验                                                                           *
实现现象:下载程序后打开串口调试助手,将波特率设置为4800,选择发送的数据就可以显示
               在串口助手上。
注意事项:无。                                                                                                                                    
***************************************************************************************/

#include"reg52.h"                //此文件中定义了单片机的一些特殊功能寄存器

typedefunsigned int u16;      //对数据类型进行声明定义
typedefunsigned char u8;
sbitled0=P2^0;     
/*******************************************************************************
* 函数名         :UsartInit()
* 函数功能              :设置串口
*******************************************************************************/
void UsartInit()       //串口初始化函数,函数名可以自定义
{
SCON=0X50;               //设置为工作方式1      01100000
TMOD=0X20;              //设置计数器T1工作方式2        00100000
PCON=0X80;              //波特率加倍
TH1=0XF3;                         //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
ES=1;                                        //打开接收中断
EA=1;                                        //打开总中断
TR1=1;                               //打开计数器
}

/*******************************************************************************
* 函数 名       : main
* 函数功能            : 主函数
*******************************************************************************/
voidmain()
{      
UsartInit(); //      串口初始化
while(1);        
}

/*******************************************************************************
* 函数名         : Usart() interrupt 4
* 函数功能             : 串口通信中断函数
*******************************************************************************/
voidUsart() interrupt 4         //第五级中断,因为从0开始数,所以用标号4,即中断4
{
u8 receiveData;       //定义读取函数
receiveData=SBUF;//出去接收到的数据
RI = 0;//清除接收中断标志位
SBUF=receiveData;//将接收到的数据放入到发送寄存器
if(SBUF=='0')
{
        led0=0;
}
    if(SBUF=='1')
{
        led0=1;
}
while(!TI);                     //等待发送数据完成
TI=0;                                         //清除发送完成标志位
}


6.     单片机与蓝牙模块连接的关键点在与串口通信。
7.     手机APP发送相应的字符给蓝牙模块,蓝牙模块与单片机进行串口通信,蓝牙模块把从手机端接收到的内容发送给单片机并放在单片机的SBUF上。程序中主要是通过对SBUF上的字符进行判断从而做出控制。注意晶振用11.0592MHZ的。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:955021 发表于 2021-7-21 15:51 | 只看该作者
看起来很好学的,我要学学
回复

使用道具 举报

板凳
ID:964308 发表于 2021-9-6 11:08 来自手机 | 只看该作者
问一下,hc05蓝牙模块主模式可以被手机连接吗,连接成功串口会不会返回数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表