基于HC-08蓝牙模块的蓝牙通讯

2023-05-16

  •   RXD接TXD,TXD接RXD。通过手机的蓝牙助手可以完成亮灭LED1和LED2的操作
    
  •   当发送A时,LED1亮。发送B时,LED1灭。当发送C时,LED2亮,当发送D时,LED2灭
    
  •   使用的STC89C52RC单片机
    
#include <STC89C5xRC.H>
#include "intrins.h"
#include "string.h"
char uart_dat[10];
int uart_temp=0;
sbit ledOne=P3^7;
sbit ledTwo=P3^6;
/**
*函数名称:UartInit
*函数功能:波特率初始化
*备 注:
*/
void UartInit(void)		//9600bps@11.0592MHz
{
	PCON &= 0x7F;		//波特率不倍速
	SCON = 0x50;		//8位数据,可变波特率
	AUXR &= 0xBF;		//定时器时钟12T模式
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TMOD |= 0x20;		//设置定时器模式
	TL1 = 0xFD;		//设置定时初始值
	TH1 = 0xFD;		//设置定时重载值
	ET1 = 0;		//禁止定时器%d中断
	TR1 = 1;		//定时器1开始计时
	ES=1;
	EA=1;
}
/**
*函数名称:uartService
*函数功能:串口服务函数
*备 注:
*/
void uartService() interrupt 4
{
	if(RI==1)
	{
		uart_dat[uart_temp]=SBUF;
		uart_temp++;
		RI=0;
	}
}
/**
*函数名称:sendDate
*函数功能:发送一个字节
*备 注:
*/
void sendDate(unsigned char dat)
{
	SBUF=dat;
	while(TI==0);
	TI=0;
}
/**
*函数名称:sendString
*函数功能:发送一个字符串
*备 注:
*/
void sendString(unsigned char *str)
{
	while(*str!='\0')
	{
		sendDate(*str++);
	}
}
/**
*函数名称:judgeInformation
*函数功能:判断接收到的数据,同时对LED1和LED2操作
*备 注:
*/
void judgeInformation()
{
	if(uart_temp==1)
	{
		uart_temp=0;
		if(strcmp(uart_dat,"A")==0)
		{
			ledOne=0;
			sendString("L1 is open");
		}
		if(strcmp(uart_dat,"B")==0)
		{
			ledOne=1;
			sendString("L1 is close");
		}
		if(strcmp(uart_dat,"C")==0)
		{
			ledTwo=0;
			sendString("L2 is open");
		}
		if(strcmp(uart_dat,"D")==0)
		{
			ledTwo=1;
			sendString("L2 is close");
		}
	}
}
/**
*函数名称:main
*函数功能:主函数
*备 注:
*/
void main()
{
	UartInit();
	sendString("welcome:\r\n");
	while(1)
	{
		judgeInformation();
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于HC-08蓝牙模块的蓝牙通讯 的相关文章

  • 个人博客系统(Vue实现)的主页布局设计

    源码地址 xff1a https gitee com cheng xuyuan blogWeb git xff08 请忽略这句 xff09 一 整体布局 上下划分 xff0c 再左右划分 主体代码 xff1a lt el container
  • 绘制Vue主页的列表结构(包括增、删、改、查功能)

    源码地址 xff1a https gitee com cheng xuyuan blogWeb git xff08 请忽略这句 xff09 一 面包屑导航区域设计 xff08 下面划红线的部分 xff09 说明 xff1a el bread
  • pytorch入门10--循环神经网络(RNN)

    补充 xff1a torch randn 函数返回一个张量 xff0c 包含了从正态分布 xff08 均值为0 xff0c 方差为1 xff09 中抽取的一组随机数 张量的形状由参数决定 xff0c 参数个数任意 例如 xff1a torc
  • amixer用法

    1 先看看amixer支持哪些命令 大概有哪些功能 amixer help Usage amixer lt options gt command Available options h help this help c card N sel
  • 常见的UNIX/LINUX命令

    一 文件目录类命令 命令格式 xff1a lt 命令名称 gt 选 项 参数1 参数2 例如 xff1a ls la etc 1 浏览目录命令 xff08 1 xff09 ls list 功能 xff1a 显示目录文件 语法 xff1a l
  • redis介绍4--配置文件、持久化、事务、消息的发布与订阅、集群、哨兵模式、Jedis

    一 redis的配置文件redis conf 1 redis配置文件中关于网络的配置 1 port 指定redis服务所使用的端口 xff0c 默认使用6379 2 bind 配置客户端连接redis服务时 xff0c 所能使用的ip地址
  • Keil uVision5报错error:#5:#include “core_cm3.h“

    也是Keil小白 xff0c 在编译程序的时候出现了问题 xff0c 解决的文章链接po在 这里 xff01 下文为搬运 用Keil vision5编译时出现以下错误 xff1a error 5 cannot open source inp
  • 软件工程第二章——软件生命周期(仅记录我所认为重要的知识点)

    软件工程第二章 软件生命周期 前言生命周期组成 xff08 顺序 xff09 对应文档软件过程活动动作任务 软件过程模型CMM能力成熟度模型瀑布模型适用场合 xff1a 瀑布模型的缺点 V模型 xff08 瀑布模型的变种 xff09 原型模
  • 解决vxe-table的表头动态渲染第一次不显示

    问题描述 xff1a vxe table表头当使用了 lt vxe colgroup gt 二级 多级表头 xff0c 设一级表头写死 xff0c 二级表头动态加载 xff0c 那么每次赋值二级表头时 xff0c 值赋上去了 xff0c 页
  • vite入门/徒手搭建vite/配置vite/使用vite脚手架/vite步骤

    以下内容全部以图片形式展示 xff08 自己动手尝试一下印象岂不是更深 xff1f xff09 当然啦 xff0c 也有完整的 xff0c 自己拉代码 https github com ispaomoya build vite git 文章
  • 解决vue跨域302,301,404,问题

    xff08 仅用于开发环境 xff0c 上线项目使用nginx配置 xff09 这里简单说一下配置的基本条件 目录 一 vue config js中配置devServer 二 使用axios发送请求 三 接口无误 以上三个都没问题了 要么就
  • 解决el-tooltip__popper设置宽度无效问题

    当采用了show overflow tooltip属性时 xff0c 如果内容过长 xff0c 摸上去的宽度单行占满整个屏幕 lt el table column show overflow tooltip gt 网上大家都说加上下面代码
  • 这些年工作以来自己读过的书

    gt 上学时不喜欢读书 看见书就烦 xff0c 就想把书拿来垫东西 gt 工作时强迫自己读书 有时会强迫饭后看半小时 xff0c 有时又会强迫看50页 xff0c 有时又会看着看着直接睡着了 xff0c 越看越疲劳 gt 慢慢接受每月读书的
  • addEventListener() 事件监听

    无意间有人问到了 xff0c 这个方法 xff0c 我就学了一下 xff0c 顺便敲了一个小demo addEventListener 用于向指定元素添加事件 可以向一个元素添加多次事件或者多次不同事件 xff0c 后面的事件是不会覆盖前面
  • JavaScript框架汇总

    本文转载于https www cnblogs com China Dream p 15770038 html 移动应用类框架 Vue js 官网地址 http cn vuejs org 官方简介 Vue js 是一套用于构建用户界面的渐进式
  • 计算机保研面试题-数据结构

    快速排序算法 xff0c 归并排序算法的复杂度 xff08 简单介绍各种排序 xff09 算法的特点 xff08 1 xff09 插入排序 xff1a a 直接插入排序 xff1a 比如将X插入有序序列L当中 xff0c 首先找到X在序列L
  • 计算机保研面试题——操作系统

    目录 1 操作系统的特点 xff1f 功能 xff1f 2 中断和系统调用的区别 3 进程 线程的概念以及区别 xff1f 进程间的通信方式 xff1f 4 进程有哪几种状态 xff0c 状态之间的转换 进程调度策略 xff1f 5 读写者
  • 计算机保研面试题——计算机网络

    目录 计算机网络体系结构 OSI xff0c TCP IP xff0c 五层协议的体系结构 xff0c 以及各层协议 IP地址的分类 32位地址 各种协议 xff1f TCP三次握手和四次挥手的全过程 六 TCP和UDP的区别 xff1f
  • 论文学习:Austere Flash Caching with Deduplication and Compression

    论文题目 xff1a Austere Flash Caching with Deduplication and Compression 来源 xff1a USENIX ATC 2020 链接 xff1a Austere Flash Cach

随机推荐

  • ubuntu 查看占用文件空间大小

    1 查看分区情况 fdisk l 2 查看系统的磁盘空间占用情况 df h df TH 3 查看某个目录的使用空间大小 du sh 需要先进入该目录 或者后面加上路径 du sh 路径 4 查看该目录下 每个文件夹占用的空间大小 查看某目录
  • 操作系统地址生成

    逻辑地址生成 从符号逻辑地址 gt 内存中具体的逻辑地址 不需要操作系统的帮助 xff0c 而是通过编译器 load等等完成 对于程序代码 cfile开始 xff0c 最开始的逻辑地址是对应的函数位置 变量名称 xff0c 通过编译成为 s
  • 主流数据库以及适用场景思维导图

  • 超声波测距模块(HC-SR04模块)特点及使用介绍

    超声波测距模块 xff08 HC SR04模块 xff09 特点及使用介绍 前言一 超声波测距模块 xff08 HC SR04模块 xff09 外观二 原理图三 相关参数讲解1 参数2 测量范围3 计算公式4 优点5 产品特性 xff08
  • ESP8266AT指令测试无返回值的问题

    ESP8266AT指令测试无返回值 xff1a 如图 xff0c 在使用esp8266测试at指令的时候无返回值 xff0c 然而我在检查硬件的时候没有任何错误 xff0c usb转ttl模块也是没有问题的 解决方法 xff1a 这时候只要
  • 重要:智能指针的使用(C++ 11 以上)

    智能指针的声明与初始化 xff1a 第一种 xff1a std shared ptr 指针 初始化方式1 xff08 推荐 xff09 std shared ptr lt int gt sp3 sp3 61 std make shared
  • 自顶向下和自底向上的实现方法

    1将一个大问题分解为小的易处理的子问题 xff0c 每个子问题可以使用一个方法来实现 xff0c 这种方法使得问题更加易于编写重用调试 xff0c 修改和维护 2当一个大问题分解为许多子问题 xff0c 各个子问题可以分配给不同的编程人员
  • c# --- 接口

    接口从某种程度上来说也是一个类 xff0c 但是接口中只包含方法的声明而没有方法的实现z 创建接口的关键字 xff1a interface 接口 xff0c 人机交互界面 创建接口的语法 xff1a 接口的访问权限 interface 接口
  • MAML++:HOW TO TRAIN YOUR MAML论文精读

    论文地址 https arxiv org abs 1810 09502 Abstract MAML是目前通过元学习进行少样本学习的最佳方法之一 MAML简单 xff0c 优雅和非常强大 xff0c 然而 xff0c 它有各种各样的问题 xf
  • webpack中的loader

    什么是loader loader是webpack中一个非常核心的概念 webpack用来做什么呢 xff1f 在我们之前的实例中 xff0c 我们主要是用webpack来处理我们写的js代码 xff0c 并且webpack会自动处理js之间
  • strtok()函数

    strtok 将字符串拆分成tokens xff0c tokens是被分隔符中的任何字符分隔的连续字符序列 char strtok char str const char sep sep参数是个字符串 xff0c 定义了用作分隔符的字符集合
  • MySQL夺命连环15问,你能坚持到第几问?

    文章目录 前言一 关系型和非关系型的区别 xff0c 以及使用场景二 Mysql索引优缺点三 给字段加索引最好怎么加 xff1f 四 什么情况下会导致索引失效 xff1f 五 为什么使用模糊匹配会使索引失效六 回表查询和索引覆盖是什么七 联
  • educoder数字逻辑实训:比较器设计(Logisim)

    第1关 xff1a 1位比较器设计 任务描述 本关任务 xff1a 在Logisim中完成1位比较器电路的绘制并完成测试 第2关 xff1a 2位比较器设计 任务描述 本关任务 xff1a 在Logisim中完成2位比较器电路的绘制并完成测
  • 1、树莓派的VNC文件传输

    目录 第一步 xff1a 在树莓派端打开VNC服务器 第二步 xff1a 输入指令运行vncserver 第三步 xff1a 在电脑端安装VNC查看器 第一步 xff1a 在树莓派端打开VNC服务器 第二步 xff1a 输入指令运行vncs
  • Hadoop 3.x(HDFS)----【HDFS 的读写流程】

    Hadoop 3 x xff08 HDFS xff09 HDFS 的读写流程 1 HDFS写数据流程1 剖析文件写入2 网络拓扑 结点距离计算3 机架感知 xff08 副本存储节点选择 xff09 1 机架感知说明2 Hadoop3 1 3
  • 【C++】程序运行时间计算的方式

    1 利用C 43 43 标准库 std chrono xff0c 如下计算一个主体程序的运行时间 xff0c 算出来的时间差值单位为毫秒 lt float std milli gt 表示用毫秒表示 auto t start 61 std c
  • FPGA之蜂鸣器播放音乐《花海》

    文章目录 前言一 蜂鸣器1 蜂鸣器简介 xff1a 2 有源蜂鸣器 xff1a 3 无源蜂鸣器 xff1a 二 简谱常识1 音符时值 xff1a 2 简谱名 xff1a 3 简谱名频率 xff1a 三 程序设计1 调用ROM IP核储存每个
  • Verilog语法基础HDL Bits训练 01

    文章目录 前言一 Basics simple wire1 RTL代码2 仿真波形图 二 Basics four wires1 RTL代码2 仿真波形图 三 Basics Not gate1 RTL代码2 仿真波形图 四 Basics And
  • c++文件写入数据

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 基于HC-08蓝牙模块的蓝牙通讯

    RXD接TXD xff0c TXD接RXD 通过手机的蓝牙助手可以完成亮灭LED1和LED2的操作 当发送A时 xff0c LED1亮 发送B时 xff0c LED1灭 当发送C时 xff0c LED2亮 xff0c 当发送D时 xff0c