HC-08蓝牙模块的基本知识

先发点官方的文件,了解下AT的东西

自己下载去

http://www.hc01.com/Upload/file/download/HC-08package.rar

里面有所有的资料,看不明白没关系

有这么几个引脚
RXD
TXD
GND
VCC
KEY
STATE
有的单片机提供了蓝牙模块的接口,直接安装就可以了
没有提供蓝牙接口的话单片机的TXD应该连接蓝牙的RXD,交叉连接。
然后比较重要的是
看看手册的引脚,因为不同的引脚对应不同的通讯功能

看看手册的引脚,因为不同的引脚对应不同的通讯功能

看看手册的引脚,因为不同的引脚对应不同的通讯功能

然后发一下写的程序

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

#define uchar unsigned char
#define uint  unsigned int


//--定义使用的IO--//

sbit LED=P1^3;


//--声明全局函数--//   
void UsartConfiguration();
void Delay_1ms(uint i);

void Com_Int(void) interrupt 4
{
    uchar i;
  uchar receive_data;
            
        receive_data = SBUF;//接收到的数据
        RI=0;
        SBUF=receive_data;
        while(!TI);
        TI=0;
        if(receive_data == '1')     
        {
            P1=0xfe;
        }
        if(    receive_data == '2')
        {
                P1=0xFD; //其他情况灯灭
        }
        if(    receive_data == '3')
        {
                P1=0xFB; //其他情况灯灭
        }
        if(    receive_data == '4')
        {
                P1=0xF7; //其他情况灯灭
        }
        if(    receive_data == '5')
        {
                P1=0xEF; //其他情况灯灭
        }     
        if(    receive_data == '6')
        {
                P1=0xDF; //其他情况灯灭
        }
        if(    receive_data == '7')
        {
                P1=0xBF; //其他情况灯灭
        }
        if(    receive_data == '8')
        {
                P1=0x00; //其他情况灯灭
        }
        if(    receive_data == '9')
        {
                P1=0xff; //其他情况灯灭
        }

}


void main()
{

    UsartConfiguration();//初始化串口
    
    while(1);    
}


void UsartConfiguration()
{    
    SCON=0X50;            //设置为工作方式1,8位数据,可变波特率
    TMOD=0X20;            //设置计数器工作方式2
//    PCON=0X00;            //波特率不加倍
    TH1=0XFd;                //计数器初始值设置,[email protected]
    TL1=0XFd;
    TR1=1;                    //打开计数器
    ES = 1;         //开串口中断
      EA = 1;         //开总中断
    REN=1;
}



void Delay_1ms(uint i)//1ms延时
{
  uchar x,j;
  
  for(j=0;j<i;j++)
    for(x=0;x<=110;x++);
}
 receive_data = SBUF;//接收到的数据
        RI=0;

这段代码是接受

 SBUF=receive_data;
        while(!TI);
        TI=0;

这段代码是回传(可以没有)
就这么多吧
然后蓝牙的GND和单片机的GND必须是一起的,提供一致的电平

猜你喜欢

转载自www.cnblogs.com/Loving-Q/p/12444613.html