51单片机与蓝牙hc05模块通信

2019-03-24 17:36发布

我想用手机通过蓝牙控制单片机led闪烁,可是用串口可以看到发送的结果,一用手机控制就不行了,弄了好久没有结果,想来求助一下。下面附上程序。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
ljx123
2019-03-25 04:58
#include <reg52.H>
#include <intrins.h>

// 函数原形定义
#define uchar unsigned char
#define uint unsigned int
                  
//sbit LED1    = P3^3;

uchar a=0;         

void Delay_1ms(uint i)//1ms延时
{
    uchar x,j;
    for(j=0;j<i;j++)
        for(x=0;x<=148;x++);
}

void Init(void)
{
//           LED1=1;
        TMOD    = 0x20; //8 位自动重装计数
    PCON   &= 0x7f;
    SCON    = 0x50;//串行口控制寄存器 SM1=1,SM0=0方式一波特率可变
    TH1     = 0xFD; //设置波特率 9600
    TL1     = 0xFD;
    TR1     = 1;    //启动定时器1
    TI      = 0;
    RI      = 0;
    ES      = 1;    //开串口中断
    EA      = 1;    //开总中断
}

// 主程序
void main (void)
{
    Init();//初始化
    while(1)
    {
                switch(a)
        {
            case 0:  P1=0X00;break;
            case 1:  P1=0XFF;break;
        }
    }
}

void Com_Int(void) interrupt 4
{
    EA = 0;
    if (RI == 1) //当硬件接收到一个数据时,RI会置位
    {
        a = SBUF ; //这里减去48是因为从电脑中发送过来的数据是ASCII码。//     Buffer[0] = SBUF-48 ;
        RI = 0;
    }
    EA = 1;
}

一周热门 更多>