IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 手机蓝牙控制51单片机实现对led灯的开关 -> 正文阅读

[嵌入式]手机蓝牙控制51单片机实现对led灯的开关

根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制。

1、器材

2、连线说明

3、源码

4、操作过程

5、成果展示


1、器材

51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有所不同,注意修改;

?

?

HC-05蓝牙模块,淘宝上可以买得到,价格也不是很贵;

?

?

杜邦线,连接蓝牙模块和单片机用;

spp蓝牙串口软件;

?

2、连线说明

蓝牙RXD接单片机P3^0
蓝牙TXD接单片机P3^1
蓝牙GND接单片机GND
蓝牙VCC接单片机3.3v

?3、源码

#include<reg51.h>

typedef unsigned char u8;

sbit led1 = P1^0;
sbit led2 = P1^1;
sbit led3 = P1^2;
sbit led4 = P1^3;
sbit led5 = P1^4; 
sbit led6 = P1^5; 
sbit led7 = P1^6;
sbit led8 = P1^7;

u8 receivedate;//接收到的数据
/*串口初始化配置*/
void UartConfiguration()  
{
    TMOD=0x20;      //设置计数器1的工作方式2
    TH1=0xfd;	    //设置计数器1的初值,决定波特率
    TL1=0xfd;		//设置计数器1的初值,决定波特率
    PCON=0x00;      // 波特率倍增0x00不加倍	 0x80加倍
    SCON=0x50;		//设置工作方式1 开启接受允许
    EA=1;		    //开启总中断
    ES=1;			//开启串口接受中断
    TR1=1;			//计数器1开始运行
}

void main()
{
    UartConfiguration();
 	led1=1;
	led2=1;
	led3=1;
	led4=1;
    //sendDate('1');  //发送字符1
 	while(1)
	{

	
		switch(receivedate)
		{	//开灯
			case 0x11:led1=0x00; break;	//接收1	1的ascll码为49,16进制为0x31 蓝牙通信都是发送ASCII码 
			case 0x12:led2=0x00; break;
			case 0x13:led3=0x00; break;
			case 0x14:led4=0x00; break;
			case 0x15:led5=0x00; break;
			case 0x16:led6=0x00; break;
			case 0x17:led7=0x00; break;
			case 0x18:led8=0x00; break;
			//关灯
			case 0x21:led1=0x01; break;
			case 0x22:led2=0x01; break;
			case 0x23:led3=0x01; break;
			case 0x24:led4=0x01; break;
			case 0x25:led5=0x01; break;
			case 0x26:led6=0x01; break;
			case 0x27:led7=0x01; break;
			case 0x28:led8=0x01; break;

		}
   	}
}



/*中断函数*/
void Uart() interrupt 4
{
    //u8 date;
    receivedate=SBUF;        //取出接收到的数据
    RI=0;			  //清除接受中断标志位
 
    //收到的数据是receivedate
	SBUF = receivedate;    //手机和蓝牙模块通讯时,我们可以打开电脑串口调试工具查看我们的发送值
    while(!TI);
    TI = 0; 
}

4、操作过程

1、将写好的程序烧录进单片机,然后先对单片机断电再连接蓝牙模块。(若先连接蓝牙模块则有可能烧录失败);

2、手机上打开SPP蓝牙串口app,设置按键:

注意,此处十六进制写法为0 21,意味0x21;

?3、打开单片机开关进行供电,通过SPP蓝牙串口app连接蓝牙模块的蓝牙,名为HC-05,初始密码为1234或0000;

4、按下开关,就可以看到相应操作的实验现象。

5、成果展示

蓝牙模块控制51单片机led灯亮灭

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:12:06  更:2021-12-05 12:14:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 1:11:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码