1. 单片机 蓝牙模块 LED灯
单片机蓝牙模块链接好要有蓝牙接收跟发射,一个普通玩具灯可以用单片机直接驱动,功率大的必须外接电源
2. 单片机蓝牙智能灯属于嵌入式设计吗
可以用嵌入式设计的;
嵌入式,设计的应该是比较强大的灯;
但是简单的控制蓝牙灯的话,根本用不上嵌入式这块;
不用嵌入系统的,就简单的语言就能都够实现;
3. 手机通过蓝牙向单片机发送16进制数据控制LED灯
首先你需要一个蓝牙透传模块,其次就是单片机最小系统板或开发板,控制端要安卓手机一台(必须有蓝牙,苹果目前不行),软件为“蓝牙串口助手”(一定要有hex发送功能)之后按照你的程序连接好电路就可以实现蓝牙控制LED的状态了
4. 为什么我把蓝牙模块联上单片机后蓝牙模块上的灯不亮连到USB转TTL却还会亮
因为蓝牙输出阻抗远髙于单片机输入阻抗,所以重负载电流怎能正常工作?只有外接对等髙阻抗输入方能有满意的输出。
5. 蓝牙hc-06控制单片机LED灯程序怎么写
#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;
}
6. 急求蓝牙模块HC-06与51单片机连接控制灯的亮灭的单片机程序,谢谢!
不需要特殊程序!单片机的通信波特率设定在9600就可以了!然后就是最最普通的串口通信程序!手机通过蓝牙助手连接蓝牙模块发送相应16进制代码即可以控制单片机
7. 怎么用手机蓝牙调试助手控制51单片机上的LED灯亮
#include<reg52.h>
typedef unsigned char unit8;
typedef unsigned short unit_16;
void Receive_Handle(unit8 Value)
{
switch(Value)//具体发送过来的是什么数据 需要自己自己通过串口调试助手查看
//改变这里面对应的数据即可
{
case 0x00:P2=0xff;break;
case 0x01:P2=0xfe;break;
case 0x02;P2=0xfd;break;
case 0x03:P2=0xfb;break;
case 0x04:P2=0xf7;break;
default:P2=0xff;break;
}
}
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;
}
/*---------------------------------------------------------------------------------------
如有问题可再咨询
----------------------------------------------------------------------------------------*/