电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2707|回复: 2
收起左侧

单片机蓝牙的问题

[复制链接]

591

主题

959

帖子

5157

积分

四级会员

Rank: 4

积分
5157
发表于 2023-5-17 21:53:44 | 显示全部楼层 |阅读模式
我写了一个蓝牙控制led的通信程序,但是为什么只有数据的通信但是led不会亮
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit d1=P1^0;
sbit d2=P1^1;
sbit d3=P1^2 ;
sbit d4=P1^3;
sbit d5=P1^4;
static uchar z=0;
void init()
{
TMOD=0x20;
//PCON&=0x7f;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
//TI=0;
//RI=0;
ES=1;
EA=1;
}
void main()
{
init();
while(1)
{
switch(z)
{
   case 1:d1=0;break;
   case 2:d2=0;break;
   case 3:d3=0;break;
   case 4:d4=0;break;
   case  5:d5=0;break;
   default:break;

}
}
}
void chuankou() interrupt 4
{
//uchar i;
//ES=0;
if(RI==1)
{
RI=0;
z=SBUF;

//i=z;
/*if(z==0)
d1=0;
if(z==1)
d2=0;
if(z==2)
d3=0;
if(z==3)
d4=0;
if(z==4)
d5=0;*/
}
SBUF=z;
while(!TI);
TI=0;
}
回复

使用道具 举报

2851

主题

4614

帖子

2万

积分

官网认证

Rank: 3Rank: 3

积分
25793

活跃会员热心会员推广达人优秀版主

发表于 2023-5-17 21:54:29 | 显示全部楼层
自顶
回复 支持 反对

使用道具 举报

10

主题

904

帖子

812

积分

二级会员

Rank: 2

积分
812
发表于 2023-5-17 21:54:57 | 显示全部楼层
问题0010:蓝牙串口模块使用的正确步骤
很多人现在都开始使用蓝口模块,利用手机蓝牙或者PC蓝牙进行控制单片机系统。但是很多人一上来就直接把蓝牙模块和单片机相连接,然后编写程序,效果实现不了,就不知该如何了。蓝牙模块很多都是结合了串口通信的,通常拿到模块,需要经过一下步骤(自己总结,可做参考):
(1)首先,需要蓝牙模块和PC的硬件连接,这里有两种方法:
    <a>把你的开发板的单片机取下来,然后从开发板引出电源线VCC和GND,还有P30、P31接口,连接蓝牙模块的四个端口(注意RXD和TXD不要反接了)

   <b>如果你有USB-TTL模块,可以直接连接蓝牙模块,无需单片机开发板转接过去。

(2)通过PC的串口软件(比如STC-ISP软件自带的串口),设置好软件的波特率和通信数据格式,通过串口软件发送AT命令(通常购买时卖家提供了),看是否有返回数据,如果没有返回,有可能是P30、P31接口需要换过来,如果发送命令,有返回信息且不是乱码,表示蓝牙模块和PC可以串口通信了。

(3)手机下载软件“蓝牙串口”,通过此软件连接蓝牙模块(蓝牙的名称和配对密码可通过 AT命令设置),然后给蓝牙模块供电,PC打开串口软件,手机发送任意字符到蓝牙模块,会发现PC串口软件接收到了信息,这表示蓝牙可以正常工作。

(4)编写单片机程序,此时需要分为两步:
<a>先不连接蓝牙模块,编写程序,单片机接收到串口数据,做出相应动作,写好后下载,然后打开PC的串口软件,发送命令,检验现象是否正确,如果正确,开始第二步
<b>把蓝牙模块连接到单片机,手机蓝牙连接模块,手机发送命令,此时只要步骤<a>现象经过反复验证没有问题,第二步肯定没问题。(如果第二步不对,那就返回去做第一步)

(5)其他。如果需要用PC的蓝牙进行控制,还需要购买蓝牙适配器,也就是模块发送信息到电脑时,需要一个接收器。如果不是很必要,就用手机蓝牙软件就好了,省钱省事。
回复 支持 反对

使用道具 举报

发表回复

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

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表