51单片机与蓝牙模块的串口通信.docx
《51单片机与蓝牙模块的串口通信.docx》由会员分享,可在线阅读,更多相关《51单片机与蓝牙模块的串口通信.docx(12页珍藏版)》请在三一文库上搜索。
1、#include #include #include#include LCD1602.h#include matrix_key.h#define uint unsigned int#define uchar unsigned char#define Nop() _nop_()sbit P10 =P1A0;/*定义独立对地按键端口*/sbit P11 =P1A1;/*定义独立对地按键端口*/sbit P12 =P1A2;/*定义独立对地按键端口*/sbit P13 =P1A3;/*定义独立对地按键端口*/ /shift 键bit shift_flag;bit call_flag ;bit Cal
2、lIn_flag=0;bit reci_flag;bit reci_flag1;sbit sled_en_port = P3A6; /* 定义数码管数据锁存器控制端口 */sbit led_en_port = P2A5; /* 定义发光二极管数据锁存器控制端口 */sbit ds1302_en_port = P2A2; /* 定义时钟的选片脚 */ uchar CallIn_Num15;/=00000000000;uchar CallOut_Num15=;uchar m=0;/ 拨号指针uchar temp=?;uchar code clr16=;uchar code lcd_table16
3、= Ky: Cm: Re: ;/uchar send_buff15;uchar reci_buff15=;uchar z; / 接收缓冲区指针uchar time;/ 定时器中断次数uchar code mun_to_char=0123456789ABCDEF;/*1MS 为单位的延时程序*/ void init();void send(uchar cc);void send_f(uchar ccc);void interrupt_pro();void key_pro();void call_out();void main() uchar i,j;delay_1ms(5);init();/ 定
4、时器初始化lcd_system_reset(); /*LCD1602 初始化 */for(i=0;i16;i+)lcd_char_write(i,1,lcd_tablei); /* 显示标题 */string_write(0,0,clr);string_write(0,0, Welcome! );sled_en_port = 0; /* 关闭数码管显示*/led_en_port = 0; /* 关闭发光二极管显示*/ds1302_en_port = 0;/* 关闭时钟通讯*/while(1)key_pro(); / 扫描键盘,按键盘处理if(reci_flag) / 串口有数据过来interr
5、upt_pro();/ 分析处理reci_flag=0;reci_flag1=1;if(CallIn_flag=1) / 有电话打进来。 CallIn_flag=0;for(i=0,j=0;i=0x30 &reci_buffi=0&reci_buffi100&CallOut_Num0=0) call_out();for(i=16;i1;i-) string_write(2,0,CallOut_Num);delay_1ms(222);delay_1ms(222);string_write(2,0,);delay_1ms(222);delay_1ms(222); for(i=0;i222)time
6、=0;goto start;/else m=0; void init() /* 串口定时器外部中断初始化 */ TMOD =0X21;/|= 0x20; / 定时器 1 为模式 2,8 位自动重装TH1 = 0xfd; /Baud:19200 fosc=11.0592MHzTL1=0XFD ;TH0=0;TL0=0;TR1 = 1;/ timer 1 runSCON = 0x50;/UART为模式1, 8位数据,允许接收PCON |= 0x80 ; /SMOD=1; Baud 加倍IE |= 0x90 ; /Enable Serial InterruptTR1 = 1 ;/ timer 1 r
7、unEA=1;ET0=1; void send(uchar cc)SBUF=cc;while(TI=0);TI=0;void send_f(uchar ccc)send( );send();void call_out()uchar i;send();for(i=0;im;i+)send(CallOut_Numi);send();m=0;void interrupt_pro()string_write(0,1,reci_buff);lcd_char_write(14,1,mun_to_chartemp/10); /for testlcd_char_write(15,1,mun_to_charte
8、mp%10); /for testif(temp=) CallIn_flag=1;/|temp=$ |temp=%else if(temp=$) lcd_delay(5);/if(temp=$)string_write(0,0,clr);string_write(0,0,reci_buff);else switch(temp)case X:string_write(0,0,clr);string_write(0,0,Disconnet);break;case P:string_write(0,0,clr);string_write(0,0,Pairing); break;case S:stri
9、ng_write(0,0,clr);string_write(0,0,Linking); break;case O:string_write(0,0,clr);string_write(0,0,Connect); break;case R:string_write(0,0,clr);string_write(0,0,Ring);/string_write(5,0,CallIn_Num);break;case D:string_write(0,0,clr);string_write(0,0,Ding);/ string_write(5,0,CallIn_Num);break;case I:str
10、ing_write(0,0,clr);string_write(0,0,Talking); break;case L:string_write(0,0,clr);string_write(0,0,Call failed); break;case A:string_write(0,0,clr);string_write(0,0,MP3 playing);break;case E:string_write(0,0,clr);string_write(0,0,Call release); break;case H:string_write(0,0,clr);string_write(0,0,A2DP
11、 connected );break;case V:string_write(0,0,clr);string_write(0,0,A2DP disconnected);break;/ case ):x=0; break; /for(i=0;i16;i+) lcd_char_write(i,1,lcd_tablei); /*显示标题 */default:break;/temp=?; /for testvoid key_pro()uchar i,key_value_buff;key_value_buff = key_scan();if(key_value_buff != 0)/ 有按键动作swit
12、ch(key_value_buff)/* 显示按键 */case 0x18: /0if(call_flag) CallOut_Numm=0;lcd_char_write(m+2,0,0);m+; else if(!shift_flag) send( );send(A); /Answer lcd_char_write(3,1,0); / 可以不显示出来 lcd_char_write(8,1,A);lcd_char_write(9,1, );else send_f(P);lcd_char_write(3,1,0);lcd_char_write(8,1,F);lcd_char_write(9,1,P
13、); break;case 0x28:/1if(call_flag) CallOut_Numm=1;lcd_char_write(m+2,0,1);m+; else if(!shift_flag) send( );send(H); /Hang uplcd_char_write(3,1,1);lcd_char_write(8,1,H);lcd_char_write(9,1, );else send_f(L);lcd_char_write(3,1,1);lcd_char_write(8,1,F);lcd_char_write(9,1,L); break;case 0x48:/2if(call_fl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 蓝牙 模块 串口 通信
链接地址:https://www.31doc.com/p-13548490.html