51单片机与蓝牙模块的串口通信Word文档格式.docx

上传人:b****6 文档编号:21196557 上传时间:2023-01-28 格式:DOCX 页数:15 大小:86.47KB
下载 相关 举报
51单片机与蓝牙模块的串口通信Word文档格式.docx_第1页
第1页 / 共15页
51单片机与蓝牙模块的串口通信Word文档格式.docx_第2页
第2页 / 共15页
51单片机与蓝牙模块的串口通信Word文档格式.docx_第3页
第3页 / 共15页
51单片机与蓝牙模块的串口通信Word文档格式.docx_第4页
第4页 / 共15页
51单片机与蓝牙模块的串口通信Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

51单片机与蓝牙模块的串口通信Word文档格式.docx

《51单片机与蓝牙模块的串口通信Word文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机与蓝牙模块的串口通信Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

51单片机与蓝牙模块的串口通信Word文档格式.docx

}

voidsend(ucharcc)

{

SBUF=cc;

while(TI==0);

TI=0;

voidsend_f(ucharccc)

send('

'

);

<

'

F'

send(ccc);

voidcall_out()

uchari;

('

for(i=0;

i<

m;

i++)

{

send(CallOut_Num[i]);

}

)'

m=0;

voidinterrupt_pro()

string_write(0,1,reci_buff);

lcd_char_write(14,1,mun_to_char[temp/10]);

//fortest

lcd_char_write(15,1,mun_to_char[temp%10]);

//fortest

if(temp=='

)CallIn_flag=1;

//|temp=='

$'

|temp=='

%'

elseif(temp=='

){lcd_delay(5);

//if(temp=='

string_write(0,0,clr);

string_write(0,0,reci_buff);

}

elseswitch(temp)

{

case'

X'

:

string_write(0,0,clr);

string_write(0,0,"

Disconnet"

break;

P'

Pairing"

break;

S'

Linking"

O'

Connect"

R'

Ring"

//string_write(5,0,CallIn_Num);

break;

D'

Ding"

//string_write(5,0,CallIn_Num);

break;

I'

Talking"

L'

Callfailed"

A'

MP3playing"

E'

Callrelease"

H'

A2DPconnected"

V'

A2DPdisconnected"

//case'

x=0;

//for(i=0;

16;

i++)lcd_char_write(i,1,lcd_table[i]);

/*显示标题*/

default:

}

//temp='

;

//fortest

voidkey_pro()

uchari,key_value_buff;

key_value_buff=key_scan();

if(key_value_buff!

=0)//有按键动作

{

switch(key_value_buff)/*显示按键*/

{

case0x18:

//0

if(call_flag){CallOut_Num[m]='

0'

lcd_char_write(m+2,0,'

m++;

elseif(!

shift_flag)

{send('

send('

//Answer

lcd_char_write(3,1,'

//可以不显示出来

lcd_char_write(8,1,'

lcd_char_write(9,1,'

}

else

{send_f('

}

case0x28:

//1

1'

//Hangup

}

case0x48:

//2

2'

//Reject

U'

case0x88:

//3

3'

//Redial

case0x14:

//4

4'

//Volup

B'

case0x24:

//5

5'

elseif(!

//Voldown

case0x44:

//6

6'

//

G'

x'

case0x84:

//7

7'

//Voicedial

n'

case0x12:

//8

8'

Z'

//Calltransfer

p'

case0x22:

//9

9'

Q'

//Disconnect

else

z'

//Calltransfer

}

case0x42:

//A*

*'

Y'

//Version

lcd_char_write(3,1,'

case0x82:

//B#

#'

T'

//Setautoanswer

case0x11:

if(!

call_flag)

{send('

t'

//Clrautoanswer

C'

case0x21:

call_flag){

send('

M'

//Setvolumeset

}break;

case0x41:

if(!

send('

m'

//Clrvolumeset

case0x81:

N'

//Setautolink

default:

while(key_scan()!

=0);

/*等待按键放开*/

scan_key_port=0xff;

/*释放矩阵按键端口*/

delay_1ms(5);

if((P10==0)||(P11==0)||(P12==0)||(P13==0))

delay_1ms(10);

/*延时去抖动*/

if((P10==0)||(P11==0)||(P12==0)||(P13==0))

{

if(P10==0){lcd_char_write(3,1,'

a'

lcd_char_write(8,1,'

}//Link

elseif(P11==0)

{

call_flag=~call_flag;

if(call_flag){string_write(0,0,clr);

lcd_char_write(0,0,0);

}//显示拨号状态符号

else{for(i=0;

i++)CallOut_Num[i]='

string_write(3,0,"

Welcome!

}

elseif(P12==0){lcd_char_write(3,1,'

c'

}//Pair

elseif(P13==0)

shift_flag=~shift_flag;

if(shift_flag)lcd_char_write(15,0,'

s'

elselcd_char_write(15,0,'

while((P10==0)||(P11==0)||(P12==0)||(P13==0));

}

}

voidTimer0Interrupt()interrupt1//定时器0中断服务函数

TH0=0;

TL0=0;

TR0=0;

if(reci_flag1==1)reci_flag=1;

z=0;

if(call_flag==1)time++;

//串口接收中断函数

voidserial()interrupt4using3

if(RI)

{

RI=0;

temp=SBUF;

//if(temp!

=10)

reci_buff[z]=temp;

z++;

if(z>

15)z=0;

TR0=1;

reci_flag1=1;

/*voidserial()interrupt4using3//串口接收字符串

CallIn_flag=1;

reci_flag=1;

boolRIwait(uinti)

{//等待时间到,返回1

while(i--){if(RI)return0;

};

//等待时间内RI=1,返回0

return1;

//串行接收停止位的中间时,RI置1

ucharReadSbuf(void)

//从SBUF读数据,可得到接收的数据

ucharTmpSbuf;

TmpSbuf=SBUF;

SCON=0x50;

returnTmpSbuf;

voidComService(void)interrupt4

{

ucharTmpSBUF,i=0;

EA=0;

ES=0;

if(RIwait(RiWaitTimer))gotoExitCom;

switch(ReadSbuf())

case'

//currentcall

20;

i++)

if(RIwait(RLongiWaitTimer))break;

//gotoExitCom;

[i]=ReadSbuf();

TelTmpNum[i]=[i];

//newaddif[i]=='

\r'

)break;

[i]='

\n'

TelTmpNum[i]='

//newaddif(StandbyStatus==IsStandby)

=IR_BLUETOOTHPOWERON;

else

if==BlueToothWorkInCalling)

=IR_BLUE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1