简易无线数据收发设计
赛项报告
小组成员:
指导老师:
日期:二〇一五年五月三十一日
3系统软件设计 (11)
3-1源程序 (11)
4系统性能分析 (16)
4-1优缺点 (16)
4-2改进方向 (16)
1方案设定
1-1电路设计框图
图
HC-05
0~9)
2
2-1主控制模块
图6-1
STC89C52资料:
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
参数:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.[2]
2.工作电压:5.5V~
3.3V(5V单片机)/3.8V~2.0V(3V单片机)
3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
4.
5.
6.通用
7.ISP
(
8.具有
9.共3
10.
11.
12.
13.PDIP
2-2
AT
HC-05
)
当
的动态转换。
串口模块用到的引脚定义:
1、PIO8连接LED,指示模块工作状态,模块上电后闪烁,不同的状态闪烁间隔不同。
2、PIO9连接LED,指示模块连接成功,蓝牙串口匹配连接成功后,LED长亮。
3、PIO11模块状态切换脚,高电平-->AT命令响应工作状态,低电平或悬空-->蓝牙常规工作状态。
4、模块上已带有复位电路,重新上电即完成复位。
设置为主模块的步骤:
1、PIO11置高。
2、上电,模块进入AT命令响应状态。
3、超级终端或其他串口工具,设置波特率38400,数据位8位,停止位1位,无校验位,无流控制。
4、串口发送字符“AT+ROLE=1\r\n”,成功返回“OK\r\n”,其中\r\n为回车换行。
5、PIO置低,重新上电,模块为主模块,自动搜索从模块,建立连接。
2-3液晶显示模块
图9-1
LCD1602资料:
1602采用标准的16脚接口,其中:
第1脚:GND为电源地
第2
第3
第4
第5
第6
第7~
源。
15
16
特性:
3.3V
内建有CGRAM 作控制
2-4
3系统软件设计
3-1源程序
#include<reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
sbitrs=P2^6;
sbiten=P2^7;
sbitrw=P2^5;
sbitKey=P2^4;
ucharcodetable_Receive[]={"Receive:"};
ucharcodetable_Send[]={"Send:"};
ucharcodetable[]={'0','1','2','3','4','5','6','7','8','9'}; ucharnum,temp,temp2,a,flag,add;
ucharn,m;
voiddelay(uintz)
{
}
}
}
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);
}
}
voidkeyscan()
{
P1=0xfe;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(2);
temp=P1;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case0xed:num=5;break;
case0xdd:num=6;break;
case0xbd:num=7;break;
case0x7d:num=8;break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
num=num-1;
}
}
P1=0xfb;
temp=P1;
}
{
if(Key==0)
{
delay(2);
if(Key==0)
{
switch(num)
{case0:SBUF=0x00; while(!TI); TI=0;break;
case1:SBUF=0x01; while(!TI); TI=0;break;
case2:SBUF=0x02; while(!TI); TI=0;break;
case3:SBUF=0x03; while(!TI); TI=0;break;
case4:SBUF=0x04; while(!TI); TI=0;break;
case5:SBUF=0x05; while(!TI); TI=0;break;
case6:SBUF=0x06; while(!TI); TI=0;break;
case7:SBUF=0x07; while(!TI); TI=0;break;
case8:SBUF=0x08; while(!TI); TI=0;break;
case9:SBUF=0x09; while(!TI); TI=0;break;
}
while(!Key);
}
}
}
voidget()
{
}
{
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();
}
}
4
4-1
缺点:
1个字节)
这点是有2.4G
4-2
1,
2,
3,接线需要优化,电路布局可以更加简单。
以上为所有内容。
2015年5月31日。