无线通信.docx
- 文档编号:4274753
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:22
- 大小:218.23KB
无线通信.docx
《无线通信.docx》由会员分享,可在线阅读,更多相关《无线通信.docx(22页珍藏版)》请在冰点文库上搜索。
无线通信
目录
引言1
1系统硬件构建1
1.1电源电路的设计2
1.24×4键盘的设计2
1.3编码/解码单元的设计2
1.4接收/发射单元的设计3
1.5数码管显示电路的设计3
2程序设计4
3性能测试5
结束语6
参考文献6
英文摘要6
致谢7
附录一8
附录二10
附录三17
基于数字无线通信信息采集系统的设计
---六位简易无线计算器的设计
电子系*****班姓名
指导老师
摘要:
数字无线信息采集系统是采用经典系统模块PT2262和PT2272构建而成的,工作电路由无线发射模块和无线接收模块组成,系统能够实现近距离的数字无线信息的传输,具体目标集中实现了6位无线计算器的功能。
这一系统能够成功的移置到车辆监控、门禁系统、工业数据采集等领域,具有广泛的应用价值。
关键词:
无线通信;数据采集;PT2262;PT2272;计算器
引言
目前无线数字通信技术已广泛运用到车辆监控、遥控、遥测、无线抄表、门禁系统、工业数据采集等领域,其优势是其它通信方式无法比拟的,已成为未来信息技术发展的趋势。
无线通信对人们的生活影响很大,它改变了传统的通信方式,使生活更加多元化。
无线通信的研发,不仅提高了数据传输的精度,减少人为失误,而且减少了人的直接参与,节省人力资源,使原本有线传输不能完成的任务成为可能。
1系统硬件构建
六位无线计算器在控制端与显示端靠无线通信传送数据,在控制端把要传送的信息经编码模块PT2262编码后,通过发射单元FS1000A发射。
在显示端接收单元CZS-AXD-RF把接收到的信息送到解码模块PT2272,信息解码后送往单片机STC12C5A60S2,经单片机处理后将显示信息送往显示单元。
发射端硬件电路框图如图P1.1,接收端硬件框图如图P1.2[1]。
1.1电源电路的设计
系统需要5V供电,锂电池为12V电源,降压后可得到5V电源。
电源电路主要由供电部分和稳压滤波部分组成,稳压滤波部分主要是由LM7805三端稳压器和电容构成简易稳压滤波电路,电路输出端可产生精度高、稳定性好的直流5V电压[2]。
三端稳压器是一种标准化、系列化的通用线性稳压电源集成器件,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。
本设计中的电源电路就用了固定式三端稳压器LM7805。
电路原理图如图P1.3[4]。
1.24×4键盘的设计
设计采用了4×4矩阵键盘,键盘采用轻触按键,当有按键按下时,调用键盘扫描子程序,用线反转法识别按键是否按下。
键盘电路如图P1.4。
1.3编码/解码单元的设计
编码单元采用编码芯片PT2262,解码单元采用解码芯片PT2272,PT2262和PT2272都有8位地址和4位数据。
1~8脚为地址设定脚,有悬空、接正电源、接地三种状态可供选择,发射端和接收端的地址编码完全一样才能配对使用。
发射端电路图如图P1.5,接收端电路如图P1.6[5]。
1.4接收/发射单元的设计
发射部分采用无线发射小系统模块FS1000A,工作电压为5~9V,工作电流为15mA,工作频率为315MHZ,通信方式为单发,输入信号为TTL电平。
接收部分采用无线接收小系统模块CZS-AXD-RF,工作电压3~12V,工作电流3~50mA,工作频率为315MHZ,通信方式为调幅AM[6-7]。
1.5数码管显示电路的设计
显示电路由六位数码显示管组成,采用动态显示方式,有八位段控制端和六位位控制端。
P0口用为八位段控制端,控制数码显示管a、b、c、d、e、f、g、h段的选通。
P2.0~P2.5口用为位控制端,控制六位数码显示管的选通,三极管A1015用于驱动位控制端,它的放大倍数β=160,Ic=24mA,Ube=0.7V,Uce=0.3V,根据Ic=βIb,Rb=Ube/Ib,得Rb=28.7K,数码管正常工作时压降为1.677V,每段流过的电流为3mA,所以Rc=(5-0.3-1.677)V/3mA=1K。
根据三极管的特性,Rb可适当减小,保证三极管工作在饱和区即可,经调试我们选用Rb为10K的阻值[8]。
电路图如图P1.7。
整体电路图见附录二。
2程序设计
本设计采用C语言编程,C语言通用性强,直观、易懂、易学,可读性好。
编程分为发送和接收两部分。
发送部分流程图如图P2.1,接收部分流程图如图P2.2。
具体程序见附录一、二。
发射部分是先对键盘进行扫描,判断出哪个键被按下,把相应的键码送往P1口,P1口连接编码模块,把键码编码后送往发射模块,发射模块会把信息以无线电的方式发射到空中[9]。
接收部分是先接收到信号,把接收到的信号经解码模块解码后,送往单片机,如果第一次接收到的是数字键,把相应的键值保存起来,并送往数码管显示。
如果是运算符,则不作任何操作。
从第二次开始如果接收到的还是数字,则上一次接收到的数字乘十后与此次接收到的数字相加。
如果是运算符,则保存运算符等待下一次数据的接收。
当接收到等号命令后,把运算的结果显示在数码管上[10]。
3性能测试
设计完成之后,为达到理想效果,须对设计进行测试。
对本设计而言,主要是对其传输距离和传输正确性进行测试。
具体测试方法如下:
1、将系统发射部分与接收部分相隔不同的距离,发送相同数据,记录测试结果。
测试结果如表一。
2、将系统发射部分与接收部分相隔相同的距离,发送不同数据,记录测试结果。
测试结果如表一。
3、发送不同的数学计算式,接收端能否计算并显示出正确结果。
测试结果如表二。
表一测设结果
发送数据
发送距离
相距1m
相距5m
相距10m
相距15m
数字“3”
接收“3”
接收“3”
接收“3”
接收“3”
数字“5”
接收“5”
接收“5”
接收“5”
接收“5”
数字“7”
接收“7”
接收“7”
接收“7”
接收“7”
数字“9”
接收“9”
接收“9”
接收“9”
接收“9”
表二测试结果
数学计算式
计算结果
第一次
第二次
第三次
3+6+9=
14
14
14
15+2-8=
9
9
9
3×5×6=
90
90
90
6/5=
1.2
1.2
1.2
结束语
本设计是基于PT2262\PT2272制作的无线收发系统,要传送的信息经过编码后,通过发送模块发送,接收部分把接收到的信息经过解码模块解码后送给单片机,单片机经过分析处理接收到的命令,最终成功实现了六位无线计算器,本设计作为无线通信的一个小应用,简单阐述了无线通讯的原理。
参考文献
[1]江涛译.利用红外无线通信传送数字静止图象.译自《才了卜口二夕久》97.8
[2]郭巍.基于无线通信的钻井网络参数监测系统的设计与实现.电测与仪表.
[3]徐国盛.基于蓝牙技术无线通信测试系统的设计.测试测量技术.2009.5[4]沈琪,张明.基于SIP构建数字集群通信系统.电信技术.2005.8
[5]徐鸣生.基于PTR2000的无线温室温度侧量系统的设计.计算机系统应用05
[6]蒋学程.基于Nrf905实现TMS320C6711无线通信.闽江学院学报.2006.10
[7]沈文,LEEE,詹卫前.AVR单片机C语言开发入门指导[M].北京:
清华大学出版社,2003.
[8]赵秋.利用编解码芯片的无线收发电路[J].信息化研究,2009.9
[9]梅丽凤,王艳秋,汪毓铎,等.单片机原理及接口技术[M].北京:
清华大学出版社,2004
[10]马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计(第4版)[M].北京:
北京航空航天大学出版社,2007.
BasedOnTheDigitalWirelessCommunicationDataAcquisitionSystemDesign
--sixsimplewirelesscomputerdesign
DepartmentofElectronic0801Student
Tutor
Abstract:
DigitalwirelessinformationcollectionsystemisusingtheclassicalsystemmodulePT2262andPT2272constructedbyworkingcircuit,awirelesstransmissionmoduleandawirelessreceivingmodule,systemcanrealizetheneardistancewirelessdigitaltransmissionofinformation,specifictargetconcentrationtoachieve6wirelesscalculatorfunction.Thissystemcansuccessfullyrelocatedtovehiclemonitoring,accesscontrolsystems,industrialdataacquisitionandotherareas,andhaswidelyapplicationvalue.
Keywords:
wirelesscommunication;dataacquisition;PT2262;PT2272;calculator
致谢
在本科毕业论文即将结束之际,我要感谢在毕业设计与制作过程中所有帮助过我的人们。
首先,我感谢的是我的指导老师张志科副教授,在张老师的帮助下我完成了我的毕业设计,张老师待人随和,治学严谨,更重要的是他那实事求是的态度,经过这学期的毕业设计指导,张老师给了我许多帮助,更教会了我许多道理,他那认真工作的精神、渊博的知识、科学的工作方法永远是我学习的榜样。
再次,我还要感谢大学四年来所有的任课老师,是他们把科学的方法和知识传授给了我,并且给了我很多无私的帮助。
最后,我衷心的感谢在论文设计过程中帮助过我的老师、同学和朋友们,衷心的谢谢大家!
附录一
#include
#defineuintunsignedint
unsignedcharX,Y,Z;
voidDelay(uinto)/*延时函数delay()的定义*/
{
uinti,j;
for(i=0;i {for(j=0;j<121;j++); }} voidDelay1(uinto)/*延时函数delay()的定义*/ { uinti,j; for(i=o;i<2000;i++) {for(j=0;j<121;j++); }} voidKey_scan()/*键盘扫描函数Key_scan()*/ { P0=0x0f;/*先对P1置数行扫描*/ if(P0! =0x0f)/*判断是否有键按下*/ { Delay(20);/*延时10ms,软件去干扰*/ if(P0! =0x0f)/*确认按键按下*/ { X=P0;/*保存行扫描时有键按下时状态*/ P0=0xf0;/*列扫描*/ Y=P0;/*保存列扫描时有键按下时状态*/ Z=X|Y;/*取出键值*/ while(P0! =0xf0);/*按键防止抖动*/ switch(Z)/*判断键值(那一个键按下)*/ { case0xd7: P1=0xe2;Delay1 (1);P1=0xe1;break;/*数字【0】*/ case0xee: P1=0xe4;Delay1 (1);P1=0xe1;break;/*数字【1】*/ case0xde: P1=0xe6;Delay1 (1);P1=0xe1;break;/*数字【2】*/ case0xbe: P1=0xe8;Delay1 (1);P1=0xe1;break;/*数字【3】*/ case0xed: P1=0xea;Delay1 (1);P1=0xe1;break;/*数字【4】*/ case0xdd: P1=0xec;Delay1 (1);P1=0xe1;break;/*数字【5】*/ case0xbd: P1=0xee;Delay1 (1);P1=0xe1;break;/*数字【6】*/ case0xeb: P1=0xf0;Delay1 (1);P1=0xe1;break;/*数字【7】*/ case0xdb: P1=0xf2;Delay1 (1);P1=0xe1;break;/*数字【8】*/ case0xbb: P1=0xf4;Delay1 (1);P1=0xe1;break;/*数字【9】*/ case0x7e: P1=0xf6;Delay1 (1);P1=0xe1;break;/*字符【B+】*/ case0x7d: P1=0xf8;Delay1 (1);P1=0xe1;break;/*字符【C-】*/ case0x7b: P1=0xfa;Delay1 (1);P1=0xe1;;break;/*字符【D*】*/ case0x77: P1=0xfc;Delay1 (1);P1=0xe1;break;/*字符【E/】*/ case0xb7: P1=0xfe;Delay1 (1);P1=0xe1;break;/*字符【F=】*/ } } } } voidmain()/*循环主程序*/ { while (1) { Key_scan(); } } 附录二 #include #defineucharunsignedchar/*宏定义*/ #defineuintunsignedint ucharLed[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};/*共阳数码管段选*/ longfloatNumber[]={0,0,0,0};/*数码管显示位控制寄存器*/ ucharA[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff}; longintD[]={0,0,0,0,0,0,0};/*数码管显示内容寄存器*/ ucharcodeC[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};/*数码管位选*/ uchark=16;/*按键对外控制*/ ucharb;/*按键【+】【-】【*】【/】对外的控制*/ longfloatOut_put; uchare=0;/*数字的位存储递进的控制*/ ucharg=0;/*运算方式的控制变量进行几次运算*/ ucharL=0;/*运算方式的控制变量*/ ucharg1=0;/*运算方式的控制变量*/ ucharg2=0;/*运算方式的控制变量*/ ucharg3=0;/*运算方式的控制变量*/ ucharg4=0;/*运算方式的控制变量*/ charj=-1;/*与Number[]数组连用*/ ucharm=0;/*按键【=】的控制变量*/ ucharn=0;/*按键【.】的控制变量*/ ucharx=0;/*小数点个数的记录变量*/ ucharxo=0;/*控制开始计数小数点的变量*/ uchary=0;/*等号按下次数纪录变量*/ ucharqq=0;/*初始化控制变量*/ ucharyy;/*初始化控制变量*/ longintresult; voidDelay(uinto)/*延时函数delay()的定义*/ { uinti,j; for(i=0;i {for(j=0;j<121;j++); } } voidshow(longfloatOut_put)/*输出显示*/ {ucharr; uchark; longintq,p; uchars=0; uchari; longinttemp; temp=Out_put; if((Out_put-temp)! =0){if(temp==0){result=Out_put*100000;r=1;}if(temp>0&&temp<100){result=Out_put*100;r=4;}if(temp>=100&&temp<1000){result=Out_put*1000;r=3;} if(temp>=1000&&temp<10000){result=Out_put*100;r=4;} if(temp>=10000&&temp<100000){result=Out_put*10;r=5;} if(temp>=100000&&temp<1000000){result=temp;r=0;}} else{result=Out_put;r=0;} p=result; if(m==1) {if(result<0) {result=-result;p=result;q=result;for(i=1;i<=6;i++) {q=q/10;if(q==0){k=i;i=7;}}P0=0xbf;P2=C[6-k];Delay (1);}//负号的显示 P0=0x7f;P2=C[r];Delay (1);P0=0xff; result=p; P0=Led[result%10];P2=C[6];result=result/10;Delay (1); if(temp==0&&result==0){P0=Led[0];P2=C[5];result=result/10;Delay (1);} if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)&&(result/10000==0)){P2=0xff;} else{P0=Led[result%10];P2=C[5];result=result/10;Delay (1);} if(temp==0&&result==0){P0=Led[0];P2=C[4];result=result/10;Delay (1);} if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result/1000==0)){P0=0xff;} else{P0=Led[result%10];P2=C[4];result=result/10;Delay (1);} if(temp==0&&result==0){P0=Led[0];P2=C[3];result=result/10;Delay (1);} if((result%10==0)&&(result%100==0)&&(result/100==0)){P0=0xff;} else{P0=Led[result%10];P2=C[3];result=result/10;Delay (1);} if(temp==0&&result==0){P0=Led[0];P2=C[2];result=result/10;Delay (1);} if((result%10==0)&&(result/10==0)){P0=0xff;} else{P0=Led[result%10];P2=C[2];result=result/10;Delay (1);} if(temp==0&&result==0){P0=Led[0];P2=C[1];result=result/10;Delay (1);} if(result==0){P0=0xff;} else{P0=Led[result%10];P2=C[1];result=result/10;Delay (1);} } } voidim_put()/*寄存器清零,重新存入新数*/ {uchari; if(j==0&&e==1)/*开始输入第一个*/ {for(i=0;i<=5;i++) D[i]=0;/*数据存储器清零*/ for(i=0;i<=6;i++) A[i]=0xff;/*数据显示清零*/ } if(j==1&&e==1)/*开始输入第二个*/ {for(i=0;i<=5;i++) D[i]=0; for(i=0;i<=6;i++) A[i]=0xff; } if(j==2&&e==1)/*开始输入第三个*/ {for(i=0;i<=5;i++) D[i]=0; for(i=0;i<=6;i++) A[i]=0xff; } } voidIn_put()/*输入函数,输入小数,加小数点*/ {uchari; if(k>=0&&k<=9) switch(e) {case6: D[5]=D[4];A[5]=A[4]; /*用来存放数值*/ case5: D[4]=D[3];A[4]=A[3]; case4: D[3]=D[2];A[3]=A[2]; case3: D[2]=D[1];A[2]=A[1]; case2: D[1]=D[0];A[1]=A[0]; case1: if(n==0){D[0]=k;A[0]=Led[k];if(xo==1)x++;} if(n==1){A[0]=Led[k]&0x7f;xo=1;n=0;e=yy;} } if(k>=11&&k<=15&&b==1) {switch(k) { case11: g1++;g++;if(g2==1)L=1;if(g3==1)L=2;if(g4==1)L=3;break;/*加*/ case12: g2++;g++;if(g1==1)L=4;if(g3==1)L=5;if(g4==1)L=6;break;/*减*/ case13:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线通信
![提示](https://static.bingdoc.com/images/bang_tan.gif)