1,使用蓝牙转串口模块连接51单片机的RX和TX引脚,这一步实现源端数据转换;
2,手机内部进行APP的程序设计,调用蓝牙模块并读取数据;
3,开启手机蓝牙悄蔽,并打开第二步设计的APP软件弊弯,搜索到与单片机相连的蓝牙模块后即可实现数据通信了。
51单芹闹片机上的蓝牙模块编程方法如下:常用的方法有:
1.通过通过电脑上嫌掘罩的蓝牙设备给单片机上的蓝牙设备,给单片机指令起到控制作用。
2.通过串口232或485或直接串口通讯链接到单片机的串口通讯引脚给单片机指令从而达到控制单片机。
3.通过电脑上的wifi给单片机上的wifi指令不过这样麻烦。
第一种方法最散橡好把,不过电脑上要有蓝牙设备或外界usb的蓝牙。
第二种方法是有线的,可以通过电脑上的232接口直接跟单片机通讯。
#include<reg52.h> //串口通信打印与数码管#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6 //申明锁存器1
sbit wela=P2^7 //申明锁存器
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71} //定义数码管段选
uchar flag //标志位
uchar a,b,e,f,g,h
void delay(uint x) //毫秒级延时
{
uint i,j
for(i=xi>0i--)
for(j=110j>0j--)
}
void display(uchar e,uchar f) //数码管显示函数
{
wela=1 //位选
P0=0xfe
wela=0
P0=0xff //消影
dula=1 //段选
P0=table[e]
dula=0
delay(1)
wela=1 //族禅位选
P0=0xfd
wela=0
P0=0xff //消影
dula=1 //段选
P0=table[f]
dula=0
delay(1)
}
void init()
{
TMOD=0X21 //T1定时器工作方式2 T0定时器工作方式1
TH0=(65536-50000)/256
TL0=(65536-50000)%256 //装初值
TH1=0XFD
TL1=0XFD //定波特率为9600
SCON=0X50
PCON=0X00
ET0=1
TR1=1
EA=1
ES=1
}
void main()
{
init()
while(1)
{
display(e,f)
if(flag==1)
{
ES=0 //关中断
SBUF=a
while(!TI)
TI=0
if(a==1)
{
TR0=1 //开中断旦数
}
if(a==2)
{
TR0=0
}
ES=1
flag=0
}
}
}
void T() interrupt 1
{
TH0=(65536-50000)/256 //兆迟尘重装初值
TL0=(65536-50000)%256
g++
if(g==20)
{
h++
b=h
SBUF=b
while(!TI)
TI=0
g=0
f=h%10
e=h/10
}
if(h==99)
h=0
}
void Th() interrupt 4
{
RI=0
a=SBUF
flag=1
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)