蓝牙hc-06控制单片机LED灯程序怎么写?

蓝牙hc-06控制单片机LED灯程序怎么写?,第1张

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

#include <stdlib.h>

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

#define uchar unsigned char

code unsigned char LED[] ={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71}

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

{

ucharn //定义临时变量

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

{

RI=0 //标志位清零

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

switch(n)

{

case'0':P2=~LED[0]break

case'1':P2=~LED[1]break

case'2':P2=~LED[2]break

case'3':P2=~LED[3]break

case'4':P2=~LED[4]break

case'5':P2=~LED[5]break

case'6':P2=~LED[6]break

case'7':P2=~LED[7]break

case'8':P2=~LED[8]break

case'9':P2=~LED[9]break

case'A':P2=~LED[10]break

case'B':P2=~LED[11]break

case'C':P2=~LED[12]break

case'D':P2=~LED[13]break

case'E':P2=~LED[14]break

case'F':P2=~LED[15]break

default: P2=~LED[0]

}

TI=1

SBUF=n//把接收到的值再发回

}

if(TI) //如果是发送标志位,清零

TI=0

}

用Arduino和手机控制LED需要准备材料和工具:Arduino板、LED灯、蓝牙模块、智能手机。

1、先准备一个Arduino板。

2、然后将LED连接到Arduino的第13个引脚和接地,将蓝牙模块的5V引脚连接到Arduino的5V,将模块的接地连接到Arduino。

3、然后用你的手机在官方网站上下载Arduino。

4、进入官网后,点击下载即可下载应用程序。

5、下载应用程序后,打开手机上的蓝牙模块,然后单击“享受”以使用Arduino和手机控制LED。

#include<reg52.h>

typedef unsigned char unit8

typedef unsigned short unit_16

void Receive_Handle(unit8 Value)

{

switch(Value)//具体发送过来的是什么数据 需要自己自己通过串口调试助手查看

//改变这里面对应的数据即可

{

case 0x00:P2=0xffbreak

case 0x01:P2=0xfebreak

case 0x02P2=0xfdbreak

case 0x03:P2=0xfbbreak

case 0x04:P2=0xf7break

default:P2=0xffbreak

}

}

void main()

{

TMOD |= 0x20//定时器1 工作方式2 8位自动重装模式

SCON= 0x50//串口工作方式1 允许接收 8位数据位

TH1 = 0xfd //波特率9600

TR1 = 1

ES = 1

EA = 1

while(1)

}

void UART1_Rountine()interrupt 4

{

static unit8 Receive_Data=0

ES = 0

while(!RI)

RI=0

Receive_Data = SBUF

Receive_Handle(Receive_Data)

ES = 1

}

/*---------------------------------------------------------------------------------------

如有问题可再咨询

----------------------------------------------------------------------------------------*/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7805110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存