51单片机蓝牙模块的使用方法

蓝牙模块,和串口通讯基本一致

使用步骤

  • 串口的操作步骤:
    • 先设置波特率:
      • 设置定时器T1为工作方式2(设置TMOD寄存器)
      • 给计数器赋初值(工作方式2会自动重装)
    • 设置串口工作方式:
      • 设置SCON(如果允许)
    • 如果使用中断方式,那么打开相应的中断和总中断。
    • 打开定时器T1,开始产生波特率。
      • 设置TRx

经常使用的是工作方式1

蓝牙控制灯的点亮

#include <reg52.h> //头文件调用,写程序时都要加上

#define uint unsigned int //宏定义,为了后面定义变量书写简便

#define uchar unsigned char

sbit LED0=P1^0;

sbit LED1=P1^1;

sbit LED2=P1^2;

sbit LED3=P1^3;

sbit LED4=P1^4;

sbit LED5=P1^5;

sbit LED6=P1^6;

sbit LED7=P1^7;

void main (void)

{

       SCON = 0x50;     // SCON: 模式1, 8-bit UART, 使能接收

       TMOD |= 0x20;

       TH1=0xfd;           //波特率9600 初值

       TL1=0xfd;

       TR1= 1;

       EA= 1;                 //打开总中断

       ES= 1;                 //打开串口中断

       while (1)              //主循环不做任何动作

       {

       }

}

/******************************************************************/

/* 串口中断程序*/

/******************************************************************/

void UART_SER () interrupt 4

{

       uchar n;        //定义临时变量

       if(RI)             //判断是接收中断产生

       {

              RI=0;     //标志位清零

              n=SBUF; //读入缓冲区的值

              if(n=='1')

              {

               LED0=1;LED1=1;LED2=1;LED3=1;

              }

              if(n=='2')

              {

                     LED0=0;LED1=0;LED2=0;LED3=0;

              }

              if(n=='3')

              {

               LED4=1;LED5=1;LED6=1;LED7=1;

              }

              if(n=='4')

              {

                     LED4=0;LED5=0;LED6=0;LED7=0;

              }

       }

}

 

  • 7
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python中使用模块51单片机进行通信,您可以使用Pyz库来实现。以下是一个示例代码,演示了如何使用Python与51单片机通过进行通信: ```python from bluetooth import * # 定义设备的MAC地址和端口号 bd_addr = "00:00:00:00:00:00" # 根据实际情况更改为目标设备的MAC地址 port = 1 # 根据实际情况更改为目标设备的端口号 # 创建RFCOMM通道 sock = BluetoothSocket(RFCOMM) # 连接到目标设备 sock.connect((bd_addr, port)) # 发送数据 data_to_send = "Hello, World!" # 要发送的数据 sock.send(data_to_send) # 接收数据 received_data = sock.recv(1024) print("接收到的数据:", received_data) # 关闭连接 sock.close() ``` 在此示例中,我们使用PyBluez库来实现与51单片机模块的通信。首先,我们定义了目标设备的MAC地址和端口号,您需要将其更改为实际设备的值。然后,我们创建了一个RFCOMM通道,并使用`connect()`方法连接到目标设备。接下来,我们发送数据使用`send()`方法,并使用`recv()`方法接收数据。最后,我们使用`close()`方法关闭连接。 请注意,您需要在51单片机端编写相应的程序来处理接收到的数据,并与模块进行通信。具体的处理方式将取决于您使用模块和通信协议。 希望这个示例代码对您有所帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值