这是单片机用串口多机通讯的仿真实例,可以参考一下,如果是手机要控制单片机,只要单片机用串口连接蓝牙模块串口,手机需要用蓝牙APP蓝牙单片机蓝牙、发送控制指令就可以实现控制单片机的端口控制继电器的开关,仿真实例的程序可以移植。
#include<reg52h>
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;
}
/---------------------------------------------------------------------------------------
如有问题可再咨询
----------------------------------------------------------------------------------------/
1、以上程序写在串口中断中,读串口BUFF数据赋给a变量
2、手机app与单片机蓝牙进行连接
3、设置相同波特率、停止位、校验码
4、app发送字符型的‘3’,‘4’,‘5’
使用AT指令的时候,先使蓝牙模块进入AT模式,然后你就当蓝牙就是命令的接收端,单片机或者PC串口就是命令的发送端(就当蓝牙是独立的模块)。
串口发送的AT数据是直接给蓝牙模块的,这个串口可以是PC串口也可以是单片机串口。
如果你想用单片机实现AT指令设置蓝牙,就用一个IO控制蓝牙模块的KEY管脚,把AT指令写在程序中,通过串口发送给蓝牙模块。
我简单说一下原理吧,芯片需要慢慢来挑选,这个你可以自己去找,有很多;
首先需要解决的是单片机控制小车的问题,要想解决这个问题,首先需要解决智能小车的 *** 作和功能;小车必须要有前后左右控制功能、加速、减速、刹车、左转向、又转向和倒车功能,有了这几种功能之后 小车才能行动自如;
解决小车的问题,就要将小车的控制功能转于到单片机来实现(一般小车内部也会有单片机),实现了这一步,下面就需要做蓝牙的通信;
蓝牙通信IC非常多,速率从几十KB~几MB不等,根据数据流的需求来选择一款蓝牙IC,进行IC-IC的通信,一般IC的DATASHEET里面都会详细的说明该器件的使用方法以及相关软件配置和 *** 作步骤等;重点在于调试,硬件电路搭建完成之后,最重要的是软件调试;
蓝牙通信方式是串行数据无线发送/接收,我们一般使用的控制位一般是多位的,那么你需要自己写一个小的并串转换程序;当然现在的蓝牙IC也有8BIT并行数据接口,如果选用类似的芯片,则更便于 *** 作;
用蓝牙控制小车,重点还是在于用单片机控制小车,只要实现了这一步,通信方面就比较简单了;
祝你成功;
以上就是关于求一个手机通过蓝牙连接HC-06蓝牙模块控制单片机上的继电器开关的程序,可以烧录到单片机的全部的内容,包括:求一个手机通过蓝牙连接HC-06蓝牙模块控制单片机上的继电器开关的程序,可以烧录到单片机的、怎么用手机蓝牙调试助手控制51单片机上的LED灯亮、菜鸟求问 51单片机 舵机 手机蓝牙APP设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)