成长中的小白又来发博客了,这次带来的分享是结合我前两篇『串行口通信』和『初学者模式下的12864液晶(一)』的技术博客综合起来再加今天的蓝牙模块的应用,今天稍微讲讲蓝牙基本的操作和基本接法,重点是几个方面的结合,还是那句话 大神勿喷

在学习使用某个模块之前得必须使用其数据手册,接下来我们讲讲其手册的一些重要数据。

模块介绍

模块特点

蓝牙 2.0 带 EDR (最高传输数率可达2.1M)

内置 2.4GHz PCB射频天线

外置 8Mbit FLASH

支持主从一体

传输距离超过20米(空旷情况下,实际可达40米以上)

支持软件控制主从模块(主从切换)

模块可以作为 SMD 贴片工艺

存储温度:-40 至+85 度,工作温度:-25 至+75 度

灵 敏 度:灵敏度(误码率)达到 -80dBm

协波干扰:2.4MHz,发射功率 3 dBm

功 耗:配对时 30~40MA 波动,配对完毕通信 8MA

供电电源:低电压 3.3V 工作(3.1V~4.2V)

外观尺寸: 27mm×13mm×2mm

通过REACH、ROHS认证

模块电路图

模块电路图

还有一点就是学会看其指令和使用其指令来配置蓝牙模块,那么如何进行配置呢?,我们通过模块与电脑USB端口连接,下载一个串口助手,打开串口助手,打开串口连接,然后我们在发送框中发送指令,如AT+VERSION?,然后勾选自动发送,然后我们按蓝牙上的KEY键进入配置模式,此时我们就能看到其返回的信息了,以此来推,想要如何设置,就照指令手册来设置就好了,但是最好用默认模式,因为手册里的介绍都是以默认模式来进行的。

接下来我们把蓝牙模块与单片机相连,如下图

单片机与蓝牙模块和液晶屏

最后剩下的就用代码来解决了,它的代码其实就一个串行口通信就能实现蓝牙数据与单片机数据的传输了,我们通过手机端的串口助手向单片机发送数据就能显示在液晶屏上。

void init()

{

TMOD = 0x20;//确定T1工作方式 自动重载8位定时器,收TR1控制

TH1 = 0xFD;//装初值

TL1 = 0xFD;

TR1 = 1;//开启定时器

REN = 1;//允许串行口接受

SM0 = 0;//方式1

SM1 = 1;

EA = 1;//中断总开关开

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

}

void sen_char(uchar value)

{

ES=0;

SBUF =value; //把接收到的缓存在value中的给SBUF发送

while(!TI);

TI=0;

ES=1;

}

void sen_str(uchar *str)

{

ES = 0; //串行口中断关闭

while((*str)!='\0')

{

sen_char(*str); //SBUF发送寄存器

while(!TI); //发送

TI = 0; //发送中断标志位清0

str++;

}

}

void ser() interrupt 4

{

unsigned int j;

// i=0;

i++;

RI = 0; //软件清0

get_usart=SBUF; //读取SBUF中数据存于a

//lcm_clr();

lcd_pos(2, i);

write_data(get_usart);

}

结合上一篇『初学者模式下的12864液晶(一)』写一个简单的主函数之类的就能实现数据在液晶显示屏的显示了。

android 蓝牙与单片机通信原理图,单片机结合蓝牙模块串口通信相关推荐

  1. 【STC单片机学习】第十三课:串口通信和RS485

    [朱老师课程总结 侵删] 第一部分.章节目录 1.13.1.通信有关的常见概念 1.13.2.什么是串行通信 1.13.3.51单片机的串行通信 1.13.4.STC51的串行通信相关寄存器1 1.1 ...

  2. TQ2440(ARM)和SIM300(GPRS模块)串口通信

    TQ2440(ARM)和SIM300(GPRS模块)串口通信 三月 15th, 2012 Linux平台开发 • 毕业论文 • 编程技术 1 Comment 最近在做串口通信这快遇到了很大的麻烦.现在 ...

  3. 【51单片机】(手把手教你)串口通信-基础篇

    通信方式 并行 适合短距离通信,并行通信控制简单.相对传输速度快(8位一起传输). 串行 只能一位一位的传送. 同步(了解) 建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步.此时,传输数据的 ...

  4. 单片机实验(十二)RS232串口通信

    80S52:RS232双工串口通信模块 功能:和PC机通信说骚话 模块介绍 串口通信主要四个要点 SBUF寄存 SBUF主要用来储存从PC接收的信息和准备向PC发送的信息,大小为8位 波特率匹配 要与 ...

  5. matlab gul介绍及串口通信实现,Matlab - GUl介绍及串口通信实现(转)

    新建Blank GUI. 在新建Blank GUI界面中,包含了一般的界面元素,如菜单.按钮.坐标轴.控件等.添加必要的串口通信参数设置按钮. 2 串口数据发送与接收功能实现 2.1 建立串口通信流程 ...

  6. c# wifi串口通信_在C#中实现串口通信的方法

    通常,在C#中实现串口通信,我们有四种方法: 第一:通过MSCOMM控件这是最简单的,最方便的方法.可功能上很难做到控制自如,同时这个控件并不是系统本身所带,所以还得注册,不在本文讨论范围.可以访问h ...

  7. PC机8250芯片组串口通信以及研华PCM3614板卡串口通信程序设计

    本次系统(PC104系统)共计需要6路串口,其中: (1).主板BIOS上有2路RS232串口.     (2).PCM3614板卡上有4路RS485串口. 一.串口通信基地址 (1).主板BIOS内 ...

  8. PN532NFC模块串口通信使用教程

    1.串口设置参数和接线: 115200 - 8 - N - 1 SCL ---->  TXD  SDA  -->  RXD 2.通信数据格式 1.唤醒模块 唤醒指令:55 55 00 00 ...

  9. ESP32-C3入门教程 基础篇(三、UART模块 — 与Enocean无线模块串口通信)

    测试第三课,ESP32-C3的串口通信测试 老样子,使用Enocean无线模块和ESP32-C3进行串口通信. 目录 前言 1.UART示例测试 1.1 UART 基础测试 1.2 与Enocean无 ...

  10. 实现串口通信数据帧打包与解析,串口通信可靠传输,屡试不爽的数据封包与状态机数据解析程序

    提示:本文所述内容为实际项目中多次实践的成果,稳定可靠,且方便移植,适合多种通信场景. 文章目录 前言 一.实现思路 一.发送端 1.1 实现过程 1.2 实现代码 1.2.1 定义数据发送函数 1. ...

最新文章

  1. Ubuntu12安装RobotFramework
  2. 常用的函数式接口_Supplier接口练习_求数组元素最大值
  3. 12-函数的定义+自调+实参及形参理解
  4. Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站
  5. 简述旋转编码器的工作原理_什么是编码器,编码器工作原理介绍
  6. 带头尾指针的list的C实现
  7. python下载安装搭建
  8. Linux 系统应用编程——进程间通信(上)
  9. typora-setup-x64.exe下载
  10. Python笔记-UiSelector文本定位方式(3种定位并点击)
  11. zookeeper使用和原理探究(一)
  12. HTML常用meta大全
  13. 国家游泳中心诚聘CV算法开发人员~待遇优福利厚
  14. 怎么调节手机的刷新率_价格均在2000元内,5G网络配高刷新率屏幕手机怎么选
  15. 神州数码交换机建立VSF与删除VSF
  16. 非中文正则表达式 php,php判断是不是为中文正则表达式大全(转)
  17. 《我这一辈子》 老舍 著
  18. 深度学习硬件购买指南
  19. 梦幻109鸿蒙量星太难杀,梦幻西游:维摩诘杀怪最少攻略,20分钟轻松做完!
  20. Vscode代码格式化文档配置

热门文章

  1. 计算机辅助园林设计考试题,计算机辅助园林规划设计之软件比较
  2. 伺服驱动器方案,迈信ep100 成熟方案STM32源码
  3. 继电保护原理4-自动重合闸
  4. Camera_Hal3_User_Manual
  5. 软件测试——集成测试篇
  6. linux 小度 驱动_arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)
  7. DRM-X 4.0加密保护与Widevine DRM平台的区别
  8. Js分割字符串(单个分割符、多个分割符、正则)
  9. 无线通信(1)-无线通信链路结构
  10. isPostBack解释