收藏 分销(赏)

基于单片机蓝牙模块传输数据毕业设计方案作品.doc

上传人:w****g 文档编号:2413981 上传时间:2024-05-29 格式:DOC 页数:14 大小:3.47MB 下载积分:8 金币
下载 相关 举报
基于单片机蓝牙模块传输数据毕业设计方案作品.doc_第1页
第1页 / 共14页
基于单片机蓝牙模块传输数据毕业设计方案作品.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
基于51单片机蓝牙模块数据传播设计(修订版) 摘要 本设计以STC89C52单片机为控制核心。经蓝牙模块实现无线连接,发送数据和接受数据,通过LCD1602显示接受数据和编辑发送数据,两个单片机通过内部程序实现实时接受、发送和显示,从而完毕有关规定。      1方案设定 1-1电路设计框图 LCD1602 液晶显示模块2 LCD1602 液晶显示模块1 蓝牙收发模块2 蓝牙收发模块1 STC89C52 主控制模块2 STC89C52 主控制模块1 矩阵键盘模块2 矩阵键盘模块1 无线信号 串口 串口 图4-1 注:由于STC89C52芯片串口寄存器容量限制,每次收发只能一种字节。 1-2功能论述 本作品通过HC-05主从机一体蓝牙模块实现与带蓝牙设备先通过OPP蓝牙合同来实现配对连接,实现连接配对可通过电路板上数字按键来实现输入,经STC89C52单片机解决后通过HC-05蓝牙无线传送到另一方单片机上,通过STC89C52单片机解决后可在LCD1602液晶显示所接受到数据! 1-3使用阐明 在接通电源前,先把蓝牙模块插到单片机上,紧接着启动电源。观测蓝牙模块批示灯,等待两个单片机之间连接匹配,待批示灯浮现双闪后就匹配连接成功。接下来可依照自己想要发送数据在单片机按键区域(0~9)按下,按下后显示屏便浮现你所要发送数据,确认无误之后就按下单片机上发送按钮即立即发送到另一方单片机上(两个单片机可以互相发送)! 2系统硬件设计 2-1主控制模块 图6-1 2-2蓝牙收发模块 图8-1 2-3液晶显示模块 图9-1 LCD1602资料: 1602采用原则16脚接口,其中: 第1脚:GND为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示屏对比度调节端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一种10K电位器调节对比度)。 第4脚:RS为寄存器选取,高电平1时选取数据寄存器、低电平0时选取指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳 变时执行指令。 第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电 源。 15脚背光正极。 16脚背光负极。 特性: 3.3V或5V工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等各种功能有80字节显示数据存储器DDRAM 内建有192个5X7点阵字型字符发生器CGROM8个可由顾客自定义5X7字符发生器CGRAM特性应用微功耗、体积小、显示内容丰富、超薄轻巧,惯用在袖珍式仪表和低功耗应用系统中。操作控制 注:关于E=H脉冲——开始时初始化E为0,然后置E为1。 2-4矩阵键盘模块 图10-1 注:键盘输入某些使用矩阵键盘设计原理。 3系统软件设计 3-1源程序 #include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit rs=P2^6; sbit en=P2^7; sbit rw=P2^5; sbit Key=P2^4; uchar code table_Receive[]={"Receive:"}; uchar code table_Send[]={" Send:"}; uchar code table[]={'0','1','2','3','4','5','6','7','8','9'}; uchar num,temp,temp2,a,flag,add; uchar n,m; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_lcd_com(uchar com){ rs=0; P0=com; delay(5); en=1; delay(5); en=0; } void write_data(uchar date){ rs=1; P0=date; delay(5); en=(1); delay(5); en=0; } void lcdinit(){ en=0; write_lcd_com(0x38); write_lcd_com(0x0c); write_lcd_com(0x06); write_lcd_com(0x01); for(m=0;m<8;m++) { write_data(table_Receive[m]); delay(1); } write_lcd_com(0x80+0x40); for(n=0;n<8;n++) { write_data(table_Send[n]); delay(1); } } void keyscan() { P1=0xfe; temp=P1; temp=temp&0xf0; while(temp!=0xf0) { delay(2); temp=P1; temp=temp&0xf0; while(temp!=0xf0) { temp=P1; switch(temp) { case 0xee:num=1;break; case 0xde:num=2;break; case 0xbe:num=3;break; case 0x7e:num=4;break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } num=num-1; } } P1=0xfd; temp=P1; temp=temp&0xf0; while(temp!=0xf0) { delay(2); temp=P1; temp=temp&0xf0; while(temp!=0xf0) { temp=P1; switch(temp) { case 0xed:num=5;break; case 0xdd:num=6;break; case 0xbd:num=7;break; case 0x7d:num=8;break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } num=num-1; } } P1=0xfb; temp=P1; temp=temp&0xf0; while(temp!=0xf0) { delay(2); temp=P1; temp=temp&0xf0; while(temp!=0xf0) { temp=P1; switch(temp) { case 0xeb:num=9;break; case 0xdb:num=10;break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } num=num-1; } } } void Key1() { if(Key==0) { delay(2); if(Key==0) { switch(num) { case 0:SBUF=0x00; while(!TI); TI=0;break; case 1:SBUF=0x01; while(!TI); TI=0;break; case 2:SBUF=0x02; while(!TI); TI=0;break; case 3:SBUF=0x03; while(!TI); TI=0;break; case 4:SBUF=0x04; while(!TI); TI=0;break; case 5:SBUF=0x05; while(!TI); TI=0;break; case 6:SBUF=0x06; while(!TI); TI=0;break; case 7:SBUF=0x07; while(!TI); TI=0;break; case 8:SBUF=0x08; while(!TI); TI=0;break; case 9:SBUF=0x09; while(!TI); TI=0;break; } while(!Key); } } } void get() { if(RI==1) { RI=0; switch(SBUF) { case 0x00:temp2=0;break; case 0x01:temp2=1;break; case 0x02:temp2=2;break; case 0x03:temp2=3;break; case 0x04:temp2=4;break; case 0x05:temp2=5;break; case 0x06:temp2=6;break; case 0x07:temp2=7;break; case 0x08:temp2=8;break; case 0x09:temp2=9;break; } write_lcd_com(0x80+add); write_data(table[temp2]); add++; } } void main() { SCON = 0x50; TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SM0=0; SM1=1; add=8; Key=1; rw=0; lcdinit(); while(1) { keyscan(); write_lcd_com(0x80+0x40+8); write_data(table[num]); get(); Key1(); } } (以上为所有内容)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服