两个单片机之间用蓝牙模块通信不成功

2019-07-15 09:38发布

请问各位大佬,我做的两个单片机之间用蓝牙模块进行通信时,在proteus仿真(蓝牙我直接用导线代替)时很成功,但是用实物时就一点反应都没有。下面是代码,功能是控制主机的矩阵键盘,在从机上显示矩阵键盘上按下的按键号。
/**************************************************
主机部分
******************************************/
#include<reg52.h>
#define u8 unsigned char
#define u16 unsigned int
u8 res;//存储键盘扫描的结果,用来判断按下的是哪个按键
void Init_master()
{
TMOD=0X20;
TH1=0Xf9;
TL1=0Xf9;
PCON=0X80;
TR1=1;
SCON=0X50;
}
unsigned char scan_key()
{
     P2 = 0xf0;
        switch (P2)
        {
        case 0x70:
            res = 0;
            break;
        case 0xb0:
            res = 1;
            break;
        case 0xd0:
            res = 2;
            break;
        case 0xe0:
            res = 3;
            break;
  default:res=16;
        }
        P2 = 0x0f;
        switch(P2)
        {
        case 0x07:
            res = 0 + res;
            break;
        case 0x0b:
            res = 4 + res;
            break;
        case 0x0d:
            res = 8 + res;
            break;
        case 0x0e:
            res = 12 + res;
            break;
  default:res=16;
        }   
     return res;
}
void main()
{
while(1)
{
  u16 i=500,j=500;
  Init_master(); //调用串口初始化函数
     scan_key();//调用键盘扫描函数
  SBUF=res;  //将扫描到的键值发送出去
  while(!ti); //检测是否发送完成,完成则讲TI清零
  TI=0;
}
}
/***********************************************************
从机部分
************************************************************/
#include<reg52.h>
#define u8 unsigned char
#define u16 unsigned int
u8 res;
u8 seg[17]= {
         0x3f,0x06,0x5b,0x4f,
    0x66,0x6d,0x7d,0x07,
   0x7f,0x6f,0x77,0x7c,
   0x39,0x5e,0x79,0x71,0x00
   };      
void Init_slave()
{
TMOD=0X20; //设置定时器1工作在模式2
TH1=0Xf9;  // 设定波特率为9600
TL1=0XF9;
PCON=0X80;  //smod0=1;
TR1=1;   //打开定时器1
SCON=0X50;  //设置串口控制寄存器,使之工作在方式1
EA=1;   //打开总中断
ES=1;   //打开串口中断
}
void main()
{
Init_slave(); //调用串口初始化函数
    while(1);
}
void slave()interrupt 4  //中断服务函数
{
RI=0;   //将接收中断清零,等待下一次接收
res=SBUF;  //将缓存区的值通过p1口输出
P1=seg[res];
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
wufa1986
1楼-- · 2019-07-15 12:09
现在的蓝牙模块很简单的,买来直接连上就是串口使用,不需要任何设置
一毛your
2楼-- · 2019-07-15 13:46
你好,请问你的问题是如何解决的,我遇到了跟你一样的问题,能否帮忙回答一下,谢谢!

一周热门 更多>