二零一四—二零一五学年_二_学期山东科技大学电工电子实验教学中心创新性实验研究报告实验项目名称_基于单片机的无线通信系统的设计组长姓名卢兴学号联系电话E-mail成员姓名李洪川学号成员姓名陈卓学号成员姓名靳伟娜学号成员姓名张硕学号专业通信工程班级2011-1指导教师及职称王凤瑛(教授)2014年4月26日山东科技大学电工电子实验教学中心创新性实验研究报告一、实验摘要通过对51单片机汇编指令、STC89C52RC单片机片上各功能模块的学习和应用训练,进一步熟悉51单片机汇编程序设计。掌握无线发射与接收模块的相关知识,了解无线通信的基本原理,学习创新性实验报告的撰写方法。二、实验目的1、基于STC89C52RC单片机,利用无线发射模块与无线接收模块实现两台计算机间的无线通信。2.两台计算机之间要求一台计算机发送数据,另一台计算机实现无差错接收。3.利用led灯来显示传输的数据。三、实验场地及仪器、设备和材料:实验场地:院实验室218。实验仪器、设备和材料:pc机两台,无线接收与无线发射模块各一个,最小系统板与开发板各一个,导线若干,电烙铁,锡丝,锡枪等。四、实验内容1、实验原理:(1)根据实验要求与指标,本系统选用一个MCS-51系列单片机为主控机,通过连接发射模块实现与另一个连接有接收模块的MCS-51单片机的数据传输,实现无差错的无线数据通信。我们选择按顺序循环发送二进制数据0到255。(2)通过led灯显示传输的数据并判断数据的正确与否。系统模块图:山东科技大学电工电子实验教学中心创新性实验研究报告2、实验内容本系统采用MCS-51单片机为主控机,分别含有发射模块与接收模块,led显示模块,按顺序循环发送二进制数据0到255,通过led灯的规律性亮灭来显示数据的传输。(一)最小系统板电路设计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可选。支持STC89C51/52、AT89S51/52等常用的40脚51单片机。2.最小系统板介绍1.最经典的51单片机最小系统2.单片机40个引脚全部引出并标记3.板载阻容复位电路4.板载晶振电路,晶振为11.0592M5.P0口带10K上拉电阻(STC单片机P0口必须接上拉电阻才能正常工作!)发射模块接收模块发射端单片机接收端单片机Led显示模块山东科技大学电工电子实验教学中心创新性实验研究报告6.带电源开关,方便做实验7.外接直流电源插座(规格为5.5*2.1mm)8.带1路电源指示灯9.带电容滤波电路10.引出3路外扩电源,方便外接模块取电MCS-52单片机引脚图(二)无线发射与接收模块的电路设计发射模块:1、技术参数工作电压:3-12V工作频率:315、433.92MHz(其它频率可定制)待机电流:0mA工作电流:20-28mA传输距离:500m(开阔地接收板灵敏度在-103dBm以上距离)输出功率:16dBm(40mW)传输速率:10Kbps调制方式:OOK(调幅)工作温度:-10℃~+70℃尺寸:19×19×8mm2、产品特点:声表稳频、性能稳定;工作电压范围宽;3、脚位(从左到右)及使用说明:脚位名称功能说明1ATAD数据输入脚2VCC电源正极山东科技大学电工电子实验教学中心创新性实验研究报告3GND电源负极接收模块一共有三个外部接口,上面有英文表示。“VCC”表示接电源正极,“ATAD”表示输入,“GND”表示接电源负极。接收模块:1、技术参数工作电压(V):DC5V工作电流(mA):4MA调制方式:调幅(OOK)工作温度:-10℃~+70℃接收灵敏度(dBm):-110DB工作频率(MHz):315、433.92MHz(266-433MHZ频率段可任选)尺寸(LWH):30*14*7mm2、产品特点:超再生接收模块采用LC振荡电路,内含放大整形,输出的数据信号为TTL电平,可直接至解码器,使用极为方便,并且价格低廉,所以被广泛使用。产品体积小,灵敏度高;频点调试容易,供货周期短;产品质量一致性好,性价比高,目前是无线遥控市场用量最大最广的一种高频接收模块。接收模块有较宽的接收带宽,一般为±10MHz,出厂时一般调在315MHz或433.92MHZ(如有特殊要求可调整频率,频率的调整范围为266MHz~433MHz。)。接收模块一般采用DC5V供电,如有特殊要求可调整电压,电压的调整范围为3~8V。接收模块的静态工作电流出厂时一般为4mA,如有特殊要求可降低电流,最小电流可调至1.5mA,但接收灵敏度会降低。出厂时接收模块的输出为有噪声输出,如有特殊要求可改为无噪声输出,但接收灵敏度会降低。3、脚位及使用说明:脚位名称功能说明1ANT接天线端2VCC电源正极3、4DATA数据输出山东科技大学电工电子实验教学中心创新性实验研究报告5GND电源负极接收模块一共有四个外部接口,上面有英文表示。“VCC”表示接电源正极,“DATA”表示输出,“GND”表示接电源负极。使用前要接上50欧姆1/4波长的天线,并且天线应该是直的,以达到最佳的接收效果,波长=光速/频率。注意:VCC电压要与模块工作电压一致,且要做好电源滤波;天线对模块的接收效果影响很大,最好接1/4波长的天线,一般采用50欧姆单芯导线,天线的长度315M的约为23cm,433M的约为17cm;天线位置对模块接收效果亦有影响,安装时,天线尽可能伸直,远离屏蔽体,高压,及干扰源的地方;使用时接收频率、解码方式及振荡电阻应与发射匹配。山东科技大学电工电子实验教学中心创新性实验研究报告实验步骤:1.发送程序框图:2.接收程序框图:发送中断T0程序框图:接收串口中断:开始数据初始化发送a结束开始数据初始化接收a结束装初值r1=0??A加一返回NA送P0口RI置0返回山东科技大学电工电子实验教学中心创新性实验研究报告五、实验结果与分析1、实验现象、数据记录试验中,先打开发送端使发送端开始发送数据(数据是八位二进制),然后打开接收端接收发送的数据,然后控制八位指示灯的亮灭用来判断接收数据是否正确。指示灯开始都是熄灭的,过一段时间第一个点亮,再过一段时间第二个点亮。亮灭的指示灯正好是按二进制的0到255的顺序循环点亮。此现象与发送程序发送的数据一致。现象截取了接收55h和aah的实物图(见附件)。2、对实验现象、数据及观察结果的分析与讨论:该实验达到了实验的基本要求,但是需要改进和提高的还有很多。我们的实验通过简单的编程实现了两台计算机间的无线通信,但是我们的数据传输过于简单,需要改进的地方还有很多,也可以加入很多扩展的功能,如蓝牙模块等。对此,我们课下会继续需努力,争取做出更有技术含量的无线通信模块。3、关键点:实验过程中由于对单片机无线通信的了解的不彻底,想法太简单遇到了很多的阻碍。由于一开始并没有接触过发射模块和接收模块,对他们的了解很少,导致一开始做得时候不知道从哪里下手,通过理解发射和接收模块的工作原理,我们一起讨论研究以后,使得我们的实验得以继续做下去。该程序的逻辑性很强,每个细节都要考虑到,比如发送数据的时候不能一个数据只发送一次,这样发生的误码率太高,接收太困难,我们采用无限次发送寄存器a中的数据,用定时中断改变a中的数据值的方式解决误码率山东科技大学电工电子实验教学中心创新性实验研究报告问题。再比如两个单片机所用的晶振必须一致,波特率必须一致等等。调试程序需要一遍遍测试显示结果,直到得出最终正确的答案。六、实验结论创新实验是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次创新实验,我仍感慨颇多,的确,从选题到定稿,从理论到实践,可以说得是苦多于甜,但是可以学到很多很多的的东西。通过这次课创新实验程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。通过这次创新实验使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我们在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。七、指导老师评语及得分:山东科技大学电工电子实验教学中心创新性实验研究报告签名:年月日附件:源程序等。发送程序清单:org0000hljmpmainorg000bhljmpt0_intorg0100hmain:movtmod,#21h;T0方式1T1方式2自动重装movtl0,#0h;装初值movth0,#0hmovtl1,#0f4h;装初值movth1,#0f4hsetbea;开T0中断setbet0setbtr0;开始计数setbtr1movr1,#0fh;用于延时计数mova,#0movscon,#40h;方式1amain:movsbuf,a;开始发送jnbti,$;判断发送是否结束clrtiljmpamaint0_int:movtl0,#0h;装初值movth0,#0hdjnzr1,next;T0计数r1次inca;a数值加一movr1,#0fhnext:retiend山东科技大学电工电子实验教学中心创新性实验研究报告接收程序清单:org0000hljmpmainorg0023hljmpbisorg0100hmain:movtmod,#20h;设置T1计数方式波特率movtl1,#0f4h;波特率设置为2.4kb/smovth1,#0f4hsetbtr1;启动T1movscon,#50h;方式1允许接受movie,#90h;开串口中断sjmp$bis:jnbri,bis;等待接收完成clrri;清除接受标志位mova,sbufmovp0,a;送p0口显示retiend发射模块实物图:山东科技大学电工电子实验教学中心创新性实验研究报告接收模块实物图:接收数据后的现象图:接收到55h后的现象图:接收到aah后的现象图: