//#include<stdio.h>
sbit LED = P2^0
unsigned char ReceiveData
void main()
{
TMOD = 0x20
SCON = 0x50
TH1 = 0xfd//baud 9600bit/s
//TI = 1
TR1 = 1
ES = 1
EA = 1
while(1)
{
}
}
void UART1_Routine()interrupt 4
{
if(RI)
{
RI = 0
ReceiveData = SBUF
//此处视上位机发过来的指令而定(将0x01改成对应字节命令即可),只适用于单字节命令,数据包格式需另改代码
if(ReceiveData==0x01)
{
LED =~LED//实现按一下灯亮,再次按下灯灭
}
}
}
///如有问题,可再咨询
单片机通过蓝牙HC05怎样给手机发送一个字符串,手机端需要一个 有蓝牙 收发数据 功能的 APP(或者蓝牙 调试APP), 单片机 编制一个 具有串口 收发功能 程序(或者可以在电脑上用串口助手连接蓝牙调试),当然也可以 自己 编制一个手机 蓝牙APP, 再编制一个 单片机程序,也可以直接给 蓝牙HC05模块 编程(可以不另外加单片机,因为模块本身就带有一个51单片机)。一步步排查问题,先单独测试51单片机的串口是否有问题,如果没有问题,那么基本上可以确定是蓝牙模块和单片机连接有问题,这种情况一般先考虑波特率(蓝牙模块的波特率要和单片机上面设置的波特率一致),如果波特率也没有问题,那么就是看看代码哪里有问题。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)