51单片机通过蓝牙控制led小灯
51单片机通过蓝牙控制led小灯
本人第一次接触蓝牙模块,暂时从基础的地方做起。
目录@TOC
1.材料
2.接线
3.程序
4.展示结果
**
材料
**:①hc-05蓝牙模块(淘宝上有很便宜),hc-06应该也可以。
②主控:普中科技的stc89c52单片机开发板(51系列各种开发板大同小异不必过于担心和我的开发板不同)
③蓝牙app:spp蓝牙串口(网上有资源)
④杜邦线若干
**
接线
**
蓝牙RXD接单片机P3^0
蓝牙TXD接单片机P3^1
蓝牙GND接单片机GND
蓝牙vcc接单片机3.3v
配一张原理图更清楚
**
程序
**
#include<reg52.h>typedef unsigned int uint;
typedef unsigned char uchar;
sbit led0 = P2^0;//根据各位实际的单片机上的led灯位来设置
sbit led1 = P2^1;
sbit led2 = P2^2;
sbit led3 = P2^3;
sbit led4 = P2^4;
sbit led5 = P2^5;
sbit led6 = P2^6;
sbit led7 = P2^7;
uint pass = 0; //传递数据位void UART_init() //设置串行通信 本晶振为11.0592MHZ
{TMOD = 0x20;TH1 = 0xfd;TL1 = 0xfd; //波特率9600SM0 = 0; SM1 = 1; // 串口工作方式1 10位异步REN = 1; //串口允许接收TR1 = 1;EA = 1;ES =1 ; //串口中断
}int main()
{UART_init(); //波特率9600
while(1)
{ if(pass == 0x30)//0的ascaII码是48,转换为16进制是30,即0x30 蓝牙通信都是发送ASCII码 {pass++;//点亮第一个led灯0x31} if(pass==0x39)//输入八次后返回点亮第一个灯{pass=0x31;}switch (pass)
{case 0x31:led0 = 0;break;case 0x32:led1 = 0;break;case 0x33:led2 = 0;break;case 0x34:led3 = 0;break;case 0x35:led4 = 0;break;case 0x36:led5 = 0;break;case 0x37:led6 = 0;break;case 0x38:led7 = 0;break;case 0x39:P2 = 0xfe;break;default:P2 = 0xff;break;//输入其他P2接口全为高电平灯全灭
}} }void UART_INTERRUPT() interrupt 4
{ pass = SBUF;RI = 0; SBUF = pass; //手机和蓝牙模块通讯时,我们可以打开电脑串口调试工具查看我们的发送值)while(!TI);TI = 0;
}
**
展示结果
**
①打开蓝牙app
②开始通信
输入0x31
第一个led灯亮
输入0x32
第二个led灯亮
输入0x36
第六个led灯亮
**
结束语
**
剩下的大家可自己尝试结果
蓝牙APP的软件我放在网盘里找不到的同学自取
hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取
链接:https://pan.baidu.com/s/1odFLvr0Q7Ib4kMstBNHIkw
提取码:9987
51单片机通过蓝牙控制led小灯相关推荐
- 基于51单片机的蓝牙控制双色LED点阵显示屏(实物图+原理图+源码+全套资料)
资料编号:086 采用stm32单片机,可以通过蓝牙app控制点阵显示不同效果, 具体功能请看演示视频,全套资料齐全: 86-基于51单片机的蓝牙控制双色LED点阵显示屏(实物图+原理图+源码+全套资 ...
- 用51单片机实现按键控制LED灯亮灭
用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...
- ESP32作为服务器,使用网页控制LED小灯
ESP32作为服务器,使用网页控制LED小灯 项目描述 ESP32-S开发板加入局域网,使用platformIO编写好ESP32的代码后,编译下载到ESP32中,访问ESP32的IP地址,使用网页控制 ...
- 嵌入式学习笔记——寄存器实现控制LED小灯
文章目录 前言 GPIO通用输出模式 初始化LED小灯的GPIO 原理图 初始化代码 初始化的效果 功能函数封装 直接分开宏定义两个 使用条件运算符 封装函数实现简单的功能 KEIL MDK一些技巧 ...
- STC15单片机 线性按键控制LED流水灯位移
目录 1.现象 2.代码 3.LED模块原理图 4.线性键盘原理图 1.现象 程序下载完成后: 首先,由最右边的 LED1 点亮.当按下线性按键 S1 后,LED1 熄灭,LED2 点亮.其次,每按下 ...
- 树莓派3B wiringPi 控制LED小灯
材料准备 1.树莓派3B 2.LED小灯 3.220欧电阻一个(红红黑黑金) 4.面包板 5.杜邦线公母2条 线缆连接 代码 #include<wiringPi.h>//包含wiringP ...
- 51单片机:独立按键控制LED灯
1. 独立按键控制LED灯状态 亮灭实验完成后,就可以控制LED状态,首先我们知道由于机械结构的弹性作用,按键开关在闭合时不会一瞬间稳定的接通,在断开时,也不会一下子断开.所以就得需要程序消抖,也就是 ...
- 基于51单片机的蓝牙控制小车的简单实现(有源代码,无图) (上篇)
1. 简介 这是2016年底两周时间做的一个蓝牙小车,它分为上下两篇,本文是上篇.原本是发在了http://bbs.elecfans.com/ 的,不过由于我的博客都在CSDN上,因此我就把它们重新复 ...
- 【51】基于51单片机的蓝牙控制小车的简单实现(有源代码,无图)
原文地址:http://bbs.elecfans.com/forum.php?mod=viewthread&tid=544143 此帖子现在有一个后续版本,实现了手机端的蓝牙程序控制小车运动以 ...
最新文章
- 第八篇:Docker镜像结构原理
- 计算圆弧与矩形相交_GIS算法:3_拓扑空间关系计算模型DE-9IM
- ubuntu12.04LTS 安装eclipse和cdt
- python代码 程序员编程艺术 2.1
- c语言双引号和单引号的区别
- 如何提高linux的时钟精度,Linux时钟精度提高有什么办法?
- 小米启动安心服务月 手机家电产品可免费清洁保养
- 初中计算机考试成绩会纳入吗,【政策】北京海淀将信息技术纳入初中学业水平测试,考试不通过将不予毕业...
- oracle创建dblink问题
- Spring-IOC 扩展点 BeanFactoryPostProcessor及其子接口解析
- 学生管理系统(软件工程)
- 单元测试用例如何编写
- Python CSV简介
- MySql生日闰月处理
- 如何用Python获取网页指定内容
- Android Remote Service
- Python MySQL 1054 Unknown column '\xe7\x88\xb1\xe6\x83\x85' in 'where clause'错误分析
- 计算机用户删除怎么找回,电脑不小心删除的数据怎么找回
- 如何正确的撰写软文的结尾?
- 魔兽会封python_Python爬取大量数据时,如何防止IP被封?
热门文章
- 2022-2027年中国豪华车行业市场深度分析及投资战略规划报告
- 行列方向都合并时汇总重复项
- 都在说大数据获客,大数据是如何获客的?
- matlab三相变压器的导纳模型,电力系统分析matlab.ppt
- UPPAAL怎么使用
- Python+Opencv实现把图片转为视频
- [踩坑合集] 双linux系统卸载/安装,nvidia驱动安装,引导项缺失,开机黑屏,nvidia-smi和nvcc -v CUDA版本不匹配
- CSS基础学习--16 Float(浮动)
- color颜色对应的数字
- 基础知识(一) 图片格式RGB 与 BGR—— python、opencv、PIL、plt