




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上四川理工学院成人教育学院 毕业设计(论文) 题 目 基于单片机控制的WIFI无线传输模块的设计 教学点 重庆科创职业学院 专 业 通信工程 年 级 2011级 姓 名 吴 敏 指导教师 贾 俊 霞 定稿日期: 2014年4月 25 日专心-专注-专业四川理工学院成人教育学院毕业设计(论文)任务书学生姓名吴敏专业班级通信工程ZB设计(论文)题目基于单片机控制的WIFI无线传输模块的设计接受任务日期2013年12月18日完成任务日期2014年4月25日指导教师(签名)贾俊霞指导教师单位重庆科创职业学院设计(论文)内容目标内容:(1) 针对系统的需求选择合适的无线数据传输模
2、块。(2) 根据选择的器件设计外围电路和单片机的接口电路。(3) 编写控制无线数据传输器件进行数据。目标:(1) 单片机系统:通过串口传输向上位机发送数据,同时,控制无线数据传输模块(2) 外围电路:无线数据传输模块和单片机之间的接口电路(3) 程序:编写单片机控制无线数据传输模块实现单片机的无线数据传输传输的程序设计(论文)要求(1)机无线数据传输系统的总体方案(2)要求用AT98S51单片机设计软硬件(3)信息的发射与接收,单片机具有无线数据传输的功能参考资料(1)数据传输原理 清华大学通信教材编写小组 北京人民邮电出版社(2)红外技术基础与应用 记红 北京科技出版社(3)单片机原理及其嵌
3、入式应用教程 王一怀 北京北京希望电子出版社注:此表由指导教师填写后发给学生,学生按此表要求开展毕业设计(论文)工作。基于单片机控制的WIFI无线传输模块的设计摘 要随着社会的发展,人们期望能随时随地、不受时空限制地进行信息交互。当今的各种智能化控制系统也离不开数据信息的传输。有很多的电器产品(如一些家用电器)的操作控制也都采用了无线数据传输方式,一些无线数据传输功能相对简单的电器产品,无线数据传输信号的接收识别往往采用与编码调制芯片配套的译码芯片。而无线数据传输功能比较复杂的一些电器产品,无线数据传输信号的识别与译码多采用单片机,其编码调制方法也有多种。下面介绍一种常用的无线数据传输信号的编
4、码方法,以及用单片机对其进行识别的程序设计方法,以供参考。设计了一种基于AT89S51单片机的无线数据传输方案,并简要介绍了无线数据传输抗干扰措施并给出软件设计实例。关键词:无线数据传输;片机; 编码; 解码Design of WIFI wireless transmission module based on MCU AbstractWith the development of society, people expect to whenever and wherever possible, without time limit for information interaction. T
5、ransmission of various intelligent current control system also cannot do without data information. There are a lot of electrical products (such as some of the household appliances) operation control have also used a wireless data transmission, electrical products some wireless data transmission func
6、tion of relatively simple, receiving and identifying the wireless data transmission signal is often used in decoding chip and supporting code modulation chip. Some appliances wireless data transmission function is relatively complex, recognition and decoding of wireless data transmission signal by M
7、CU, the modulation and coding methods are various. The coding method is a commonly used wireless data transmission signal, as well as the MCU to carry on the program design method of identification, for reference. Design of a wireless data transmission scheme based on AT89S51 single chip microcomput
8、er, and briefly introduces the wireless data transmission, anti-interference measures and gives the software design example.Key words:Wireless data transmission; single-chip microcomputer; coding; decoder目 录前言当今的各种智能化控制系统 ,比如智能化小区内部的无线抄表系统、门禁系统、防盗报警系统和安全防火系统等 ,工业数据采集系统 ,水文气象控制系统,机器人控制系统、数字图像传输系统等等 ,
9、都离不开数据信息的传输。可以说 ,数据信息传输系统是各种智能化控制系统的重要组成部分。而数据送的方式大部分采用有线的数据传送方式,例如并行传送、串行传送、CAN总线和Lonworks总线等等。在有线数据传输方式当中,数据的传输载体是双绞线、同轴电缆或光纤。在一些单片机监测系统中,数据采集装置是安装在环境条件恶劣的现场或野外。采集到的数据通信传输到手持终端, 然后通过手持终端送到后台机(PC 机) 进行数据分析、处理。这样,数据采集装置与手持终端之间的数据传输需解决通信问题。若采用有线数据传输方式显然是不合适的。其实,数据传输还可以有无线传输方式,即通过空气或真空实现数据传送。相比于传统的有线数
10、据传输方式,无线数据传输方式可以不考虑传输线缆的安装问题,从而节省大量电线电缆,并且降低施工难度和系统成本,是一个很有发展潜力的研究课题。无线数据传输因其传输距离远和受障碍影响小而得到广泛应用,随着各种专用无线数据传输集成电路和无线数据传输发射和接收专用集成电路的不断涌现,使许多复杂的无线数据传输系统的设计变得愈来愈简单,而且工作稳定性可靠。随着计算机、通信和无线技术的逐步融合,在传统的有线通信的基础上,无线通信技术因具有体积小、抗干扰能力强、快捷、方便、可移动、可靠、无需布线、维护方便和数据安全等优势,所以广泛应用到遥控玩具、汽车电子、安全防火、生物信号采集、环境监测和电气自动化等领域。本文
11、介绍利用单片机以及发射/接收模块电路实现的一种无线数据传输系统的设计思想。给出了无线数据传输系统的工作原理、硬件设计方案和软件设计方案。讨论了数据传输格式,给出了数据通信协议的数据帧结构,以适应于无线通信环境,可确保在案较差的无线环境下实现数据无差错传输。该方法安全可靠,实时性强,占用内存极少,可广泛应用于高中低档单片机.特别对于存储容量小的低档单片机,该方法是理想的选择。主控芯片采用AT89S51 单片机,发射电路采用无线数据传输模块QwikRadio®射频发射模块,接收部分采用无线数据传输模块QwikRadio®射频接收模块。该系统通过发射接收无线电波实现数据的无线传输
12、。其装置具有体积小、功耗低、成本低的特点,传输距离可达100m以上。第一章 单片机无线数据传输系统设计的原理1.1 单片机无线数据传输原理概述无线数据传输有发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过无线数据传输模块中的发射模块发射信号。无线数据传输接收端普遍采用价格便宜,性能可靠的一体化无线数据传输接收模块(如QwikRadio射频接收模块,它接收无线数据传输信号频率为433.92 MHz,数据速率为10Kbps) 接收无线数据传输信号,它同时对信号进行放大、检波、整形,得到TTL 电平的编码信号,再送给单片机,经单片机解码并执行,去控制相关
13、对象,如图1-1所示。单片机编码调制无线发送模块发送无线接收模块接收单片机解码图 1-1 单片机无线数据传输的过程无线数据传输发射部分,一般由一个能产生等幅振荡的高频载频振荡器和一个产生低频调制信号的低频振荡器组成。用来产生载频振荡的电路一般有多谐振荡器、互补振荡器和石英晶体振荡器等由低频振荡器产生的低频调制波,一般为宽度一定的方法。如果是多路控制可以采用每一路宽度不同的方波,或是频率不同的方法去调制高频载波,组成一组组的已调制波,作为控制信号向空中发射。接收电路从工作方式分,可以分成超外差接收方式和超再生接收方式。超外差原理利用本地产生的振荡波与输入信号混频,将输入信号频率变换为某个预定的频
14、率的电路。其优点是: 容易得到足够大而且比较稳定的放大量。具有较高的选择性和较好的频率特性。容易调整。缺点是电路比较复杂 ,同时也存在着一些特殊的干扰 ,如相频干扰、组合频率干扰和中频干扰等。超再生电路实际上是一个受控间歇振荡的高频振荡器,这个高频振荡器采用电容三点式振荡器,振荡频率和发射器的发射频率相一致。而间歇振荡又是在高频振荡过程中产生的,反过来又控制着高频振荡器的振荡和间歇。间歇振荡的频率是由电路的参数决定的。这个频率选低了,电路的抗干扰性能较好,接收灵敏度降低;反之亦然。超再生式接收方式具有电路简单、性能适中、成本低廉的优点所以在实际应用中被广泛采用。1.2 AT89S51单片机的原
15、理AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价at89s51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89S51提供以标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个
16、5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作直到下一个硬件复位。1.3 QwikRadio®射频发射模块(Transmitter Module)无线数据传输系统的核心是无线收发控制电路我们可以采用无线数据传输模块来构成无线收发电路。在本系统中,我们采用的收发模块是QwikRadio®射频发射模块和QwikRadio®射频接收模块。Qwik
17、Radio®射频发射模块有以下特点:支持幅移键控(ASK)/键控通断(OOK)调制方式数据传输速率可达 20Kbps可与各种超再生和超外差接收器配合使用与QwikRatio系列接收器配合使用,能在实现可靠链接的同时,大大的降低系统成本待机电流极小,小于0.04uA通过改变PC端电压可调节发射功率输出消隐是保证MICRF102符合FCC等发射规定的关键天线自动调谐功能,消除了模块生产过程中的手工调谐工序.也能自动适应阻抗变化和触摸效应表1-2 射频发射模块参数表模块型号RFIC发射功率工作电流数据速率发射频率模块尺寸(mm)外围元件TX-2-F3-AMICRF102BM 0d
18、bm 8mA 20Kbps 315MHz22.6 X 10.216只无线数据传输发射芯片MICRF102的应用说明 MICRF102 是Micrel 公司 QwikRatioTM 系列发射器(Transmitter)的成员之一,工作在 300470MHz ISM频段,适用于各种无线遥控/数传领域。它是一款真正的单片“数据入,天线出”发射器,天线调谐在芯片内部完成,无需手工调节;发射功率自动控制;高度集成,外围元件极少,应用非常简单;稳定性好,性价比优异。 MICRF102支持幅移键控(ASK )/键控通断(OOK)调制方式,可与各种超再生和超外差接收器配合使用。
19、数据传输速率可达20kbps。MICRF102与QwikRatioTM系列接收器配合使用,能在实现可靠链接的同时,大大的缩短产品研发周期和降低系统成本。 特性参数 表中参数如无特别声明,均在以下条件测得4.75VVDD 5.5V,VPC=0.35V, TA=25,fREFOSC=12.1875MHz,STBYVDD 。 表1-5特性参数符号参数测试条件最小值典型值最大值单位电源IQ待机电流VSTBY<0.5V ,VASK<0.5V 或VASK>VDD-0.5V0.04AION高电平电流315MHz,见说明4610.5mA433MHz,见说明4812mAIOFF低电平电流315
20、MHz46mA433MHz68.5mA平均工作电流315MHz,33% 占空比4.7mA433MHz,33% 占空比6.7mA射频/ 中频部分POUT射频输出功率见说明40dBmE场强(3m 处)见说明567dB80dBV/mH谐波输出,见说明10315MHz 二次谐波 三次谐波-46-45dBc433MHz 二次谐波三次谐波-50-41dBcASK 消光比4052dBc变容调节范围见说明7357pF参考振荡器部分参考振荡器输入阻抗300k 参考振荡器源电流6A参考振荡器输入电压0.20.5VPP数据/控制部分校准时间见说明8,ASK=High25ms功放待机/ 启动延迟见说明9, STBY
21、电压由低至高转换,晶振ESR<20 6ms待机/ 发射稳定时间外部时钟输入(500mVPP )10ms晶振,ESR<20 19ms最大数据速率ASK 调制,占空比为50%20kbpsVSTBY使动电压0.75 VDDVASK 输入电平高电平0.75 VDDV低电平0.25 VDDVASK 输入电流ASK 为0V 和5V 时电流-100.110V1.4 QwikRadio射频接收模块(Receiver Module)表1-7 射频接收模块参数模块型号RFIC接收灵敏度工作电流数据速率接收频率模块尺寸(mm)外围元件RX-2-F4-AMICRF002BM-102dBm3mA10Kbps
22、433.92MHz11.5 X 2513只美国Micrel半导体公司最新推出MICRF002是MICRF001和MICRF011的增强型系列产品,主要应用于无线遥控方面。它是单片无线OOK(ON-OFF Keyed)接收扫频芯片,高频信号接收功能全部集成于片内以达到用最少的外围器件和最低的成本获得最可靠的接收效果。所以说MICRF002是真正意义上的“天线高频AM信号输入,数字信号输出”的单片接收器件。同时,片内自动完成所有的RF及IF调谐,这样在开发和生产中就省略了手工调节的工艺过程,自然也降低了成本,增强了产品的竞争力。 MICRF002可以提供两种基本的工作模式,既固定模式(FIXED
23、MODE)和 扫频模式(SWP MODE)。在FIXED工作模式下,MICRF002如同传统的超外差式接收机一样片内产生固定频率的本振信号,你需要做的仅仅是外接一只石英晶振或输入外部时钟信号。和传统的超外差式接收器类似,需要发射机的发射频率特别精确稳定,所以通常都需要石英晶振和声表面滤波SAW (Surface Acoustic Wave)。在SWP工作模式下,MICRF002以高于基带数据传输的扫频频率对内部本振进行扫频相当于更有效的”扩宽”了RF接收的带宽,性能完全等同于传统超再生接收器。因此,可以用廉价的外围器件和免调谐LC发射机。在这种工作模式下,外部参考石英晶振也可以用低成本
24、7;0.5%误差的陶瓷振荡器代替。功能描述:图1-19 MICRF002的功能描述如图1-19所示:MICRF002分为(1)UHF降频变换器(2)OOK解调器(3)参考时钟及控制和(4)唤醒功能四个功能块。用它组成一个完整的UHF接收器,只需要2个电容(CTH,CAGC)和1个时钟器件(通常为陶瓷震荡器),当然外部还需要1个电源滤波器电容。4个控制输入脚(SEL0,SEL1,SWEN,SHUT)用来选择芯片的工作模式和带宽芯片内部已有上拉电阻,不再需要外加上拉电阻。第二章 基于单片机的无线数据传输系统的实现2.1 硬件电路设计2.1.1概述无线数据传输系统一般由无线数据传输的发射系统、无线数
25、据传输接收系统、处理系统、执行机构构成。其发射系统由可编程的集成芯片及外围电路构成;接收系统由检波放大整形电路及无线数据传输接收芯片构成;处理系统由单片微处理机芯片及外围电路构成。主要芯片均系无线数据传输专用集成芯片。由无线数据传输发射系统输出的信号是经高频调制后的二进制高频编码脉冲串,它由起始码及信息码构成。这种发送方式具有下述优点: 无线数据传输脉冲宽度稳定且不会由于数据的内容而改变功率消耗;采用高频调制的无线数据传输信号抗干扰能力强,使无线数据传输信号易于分离和区别;已调脉冲列可用一个窄带接收器进行接收,可提高无线数据传输系统的抗干扰能力;在高频下间隔进行开关,可减小消耗功率。本系统根据
26、无线数据传输系统的发射模块和接收模块(QwikRadio射频发射模块和QwikRadio射频接收模块)的应用方式和AT89S51单片机的编码和解码的工作原理,设计了利用AT89S51单片机实现的无线数据传输系统的硬件线路示意图。该系统要实现的功能为:当电路发射部分有按键按下时,由单片机对该按键进行编码,然后发送到接收端。当接收模块接收到信号后,传送到单片机处进行解码,判断出是那一个按键被按下,然后点亮相应的发光二极管,完成无线数据传输的功能。2.1.2发射部分无线数据传输系统的发射部分由无线数据传输发射模块,主控芯片AT89S51和按键开关控制电路组成。发射系统主要功能是将按键电路的信息进行编
27、码后得到编码脉冲信号,此信号调制无线电发射电路并发射出去。无线数据传输系统的发射部分电路如下图所示。电路中有4个按键开关,分别对应控制着接收部分的4个发光二极管。本电路可以使用USB接口供电,也可以直接接5伏的稳压电源。8位信息码通过编码器转换成18位串行码,该串行码通过无线数据传输发射模块发射出去此编码通过AT89S51单片机来完成。图2-1 无线数据传输系统发射部分电路示意图IC1为主控芯片AT89S51,主要完成根据按键进行编码并控制发射模块进行发射的功能。4个10K的电阻R1-R4和按键开关S1、S3、S4、S5共同构成按键开关控制电路。J1为整个无线数据传输系统的核心之一,即无线数据
28、传输发射模块QwikRadio®射频发射模块。JP1是将程序烧入单片机的下载线接口。J9是接5伏稳压电源的电源接口。而J2就是电路的另一个电源接口,USB电源接口,可直接利用电脑USB口的电源为系统电路供电。T1是晶体振荡器,它和两个30皮法的电容构成单片机的晶体振荡电路。轻触开关K19、10uF的电容和10K的电阻构成单片机的复位电路。下图为无线数据传输系统发射部分电路的PCB图:图2-2 无线数据传输系统发射部分电路PCB图2.1.3接收部分接收部分主要由无线数据传输接收模块、解码电路、显示电路组成。接收控制电路主要完成的功能是对接收进来的信号解调后进行解码,解码后的数据控制相应
29、的发光二极管进行动作。脉冲波形进入无线数据传输接收模块以后, 因为无线数据传输接收模块里要进行解调、信号放大和整形。所以要注意: 在没有无线数据传输接收信号时, 其输出端为杂波信号, 有信号时为接收到的脉冲信号。即如果接收到的信号是高电平,那么在无线数据传输接收模块数据输出端输出的信号就为高电平,反之,如果接收到的是低电平,那么在输出端输出的也是低电平。数据由无线数据传输接收模块接收后, 经过单片机AT89S51进行解码。数据由P2口输出, 因为P2口通常是做通用的I/O口使用的, 所以在电路结构上有其自身特点。它不需要多路转接电路MUX;其次是电路的内部有上拉电阻。这些电阻与场效应管共同组成
30、输出驱动电路。为此, P2口作为输出使用时, 已能向外提供推拉电流负载,而无需再接上拉电阻。P2口出来的数据经过电阻的分压后直接接到发光二极管上。图4所示是一个无线数据传输系统的接收电路。图4中, P2口出去后连接15k的电阻, 然后连接到发光二极管上。当数据码为“1”时灭, 为“0”时亮,这样又直观又方便。电路的供电方式与发射部分的供电方式相同,既可以用USB接口供电,也可以用5伏的稳压电源供电。图2-3 无线数据传输系统接收部分电路示意图IC2为主控芯片AT89S51,主要完成根据按键进行解码并控制接收模块进行接收的功能。4个15K的电阻R1-R4和发光二极管D3-D6共同构成显示电路。J
31、2为整个无线数据传输系统的核心之一,即无线数据传输接收模块QwikRadio®射频接收模块。JP2是将程序烧入单片机的下载线接口。J9是接5伏稳压电源的电源接口。而J4就是电路的另一个电源接口,USB电源接口,可直接利用电脑USB口的电源为系统电路供电。T2是晶体振荡器,它和两个30皮法的电容构成单片机的晶体振荡电路。轻触开关K6、10uF的电容和10K的电阻构成单片机的复位电路。下图为无线数据传输系统接收部分电路的PCB图:图2-4无线数据传输系统接收部分电路PCB图以上应用的这一种用单片机直接对无线数据传输信号进行解码的方案,一方面,简化了单片机系统的输入接口电路,只使用了P0
32、口的一根位线,因而节省了硬件的开销;另一方面,由于采用软件解码,只要知道编码的格式,就可作相应的处理,很大程度上改善了编码器和解码器的互换性,在使用和设计上增加了更大的灵活性。此外,由于充分利用了单片机的内部资源,使整个应用系统结构更为紧凑,从而降低了系统的设计和实施的成本。2.2 软件设计2.2.1概述硬件解码电路较复杂,外围器件过多,且当发射模块的类型不同时不易改动,不利于模块化,而软件解码就克服了这些缺点。在软件解码无线数据传输系统中,解码的核心是单片机,电路极为简单,无须外围器件。它接收解调出的串行二进制码,在内部根据本系统的无线数据传输信号编码格式将串行码对应成发射电路上的按键,便于
33、利用,易于兼容,当发射模块的类型不同时只需对程序稍加改动即可。本软件的主要任务是在单片机AT89S51的控制之下完成数据的正确传输。2.2.2发射电路的软件流程设计编码的关键是正确地发送“0”和“1”。从上文中描述的基于字节传输的无线数据传输数据格式中可以看出“0”是由一个脉冲的高电平和两个脉冲的低电平组成的,而“1”是由一个脉冲的高电平和一个脉冲的低电平组成的。通过这个不同点我们便可以设计出发送“0”和发送“1”的程序。在发射部分,首先要判断是否有按键被按下,如果有,就必须根据按键的键值,利用单片机对按键进行编码,得到相应的码型后,将其发送到发射模块的数据输入端。在发送之前,要将无线数据传输
34、发射模块的使能控制端口置1。编码的过程为:首先发送5个脉冲的高电平和5个脉冲的低电平作为发送信号的起始位。根据要发送的信号码一个一个地将其发到发射模块的数据输入端。即如果第一个要发送的信号码为“1”,那么就发一个脉冲的高电平和一个脉冲的低电平到发射模块的数据输入端。然后将信号码进行移位,发送下一位数据,直到发送完8位信号码。当发送完信号码之后就去检测是否有键被按下,如果有键被按下,那么就重复以上的过程。如果没有,那么就不断发送这一个带起始位的信号码。本系统的按键的相应编码为(不带起始位):左键:0xb5(十六进制) (二进制)其发送的波形脉冲如下:图2-5(a) 左键波形脉冲右键:0xd5(十
35、六进制) (二进制)其发送的波形脉冲如下:图2-5(b) 右键波形脉冲上键:0x75(十六进制) (二进制)其发送的波形脉冲如下:图2-5(c) 上键波形脉冲下键:0xe5(十六进制) (二进制)其发送的波形脉冲如下:图2-5(d) 下键波形脉冲无线数据传输模块发射部分程序流程图:“0”的表示方法是由一个脉冲的高电平和两个脉冲的低电平,而“1”是由一个脉冲的高电平和一个脉冲的低电平组成的。初始化设置判断是否有键按下发送起始位发送数据发送完毕编码判断是否有键按下YNY NYN图2-6无线数据传输模块发射部分程序流程图发射部分程序#include<AT89X51.H>sbit date
36、=P01;/数据传输端口sbit TXEN=P00;/使能端void delay1(unsigned int nn)/延时子程序 while(nn-);void delay(unsigned int tt)/延时子程序 while(tt-);/delay1(50);void SendDate(unsigned char d)/发射数据子程序 unsigned char i,temp; TXEN = 1; for(i=0;i<8;i+) date = date ;/发送杂波 delay(50);/延时 date = 1 ;/发送起始位的一个高电平 delay(500);/延时 date =
37、 0 ;/发送起始位的一个低电平 delay(500);/延时 date = 1 ; for(i=0;i<8;i+)/判断是否发送了8位 temp = (d<<i)&0x80;/移位 date = 1;/发送数据位的一个高电平 delay(100);/延时 date = 0;/发送数据位的一个低电平 delay(100);/延时 if(temp=0)delay(100);/如果要发送数据0,则再延时 date = 1 ;void main(void) delay(0xffff); TXEN = 0; delay(0xffff); TXEN = 1; while(1)
38、date =1; if(P2_4 = 0)/如果下键被按下 TXEN = 1; while( ( P2_7 & P2_5 & P2_6 )=1 ) SendDate(0xe5);/发送数据0xe5 while(P2_4 = 0); if(P2_5 = 0)/如果右键被按下 TXEN = 1; while( ( P2_4 & P2_7 & P2_6 )=1 ) SendDate(0xd5);/发送数据0xd5while(P2_5 = 0); if(P2_6 = 0)/如果左键被按下 TXEN = 1; while( ( P2_4 & P2_5 &
39、P2_7 )=1 ) SendDate(0xb5);/发送数据0xb5while(P2_6 = 0); if(P2_7 = 0)/如果上键被按下 TXEN = 1; while( ( P2_4 & P2_5 & P2_6 )=1 ) SendDate(0x75);/发送数据0x75while(P2_7 = 0); 2.2.3接收电路的软件流程设计解码的关键是如何识别“0” 和“1”。从位的定义我们可以发现“0”、“1”均以一个脉冲的高电平开始的。不同的是低电平的宽度不同, “0”为两个脉冲的低电平,“1”为一个脉冲的低电平, 所以必须根据低电平的宽度区别“0” 和“1”。如果从
40、一个脉冲的高电平和一个脉冲的低电平过后, 若读到的电平为低, 说明该位为“0”, 反之则为“1”。当8位数据都接收完两次后,判断两次接收的结果是否一样,如果一样,就进行信号码控制的相应的动作,否则就认为数据接收出错,将该组数据丢弃,再重新接收。本系统的接收部分的程序设计流程为:首先检测是否收到起始位的5个脉冲的高电平,即先检测是否为高电平,然后延时后再检测,如此多次,若检测到超过两个脉冲的但少于五个脉冲的高电平,也可算为检测到起始位的高电平。然后检测起始位的五个低电平,检测方法与检测起始位的高电平方法相类似。检测到起始位之后就开始检测信号码的每一位数据,即解码。判断完一位数据后将数据移位存放,
41、检测下一位数据。当检测完8位数据后,将数据保存好,再检测一次,若两次检测的结果一样,那么对相应的发光二极管进行操作。如果结果不一样,则丢弃前一组数据,继续检测,直到检测到两组相同的结果。解码的过程:当检测到一个脉冲的高电平和一个脉冲的低电平之后,延时,检测下一个脉冲是高电平还是低电平,如果是低电平,那么该位为“0”,反之,为“1”。无线数据传输模块接收部分程序流程图:数据码的识别关键是0、1 代码的识别, 根据上面的无线数据传输系统编码方法和波形图可知,我们只要能测出加到单片机I/O口引脚的无线数据传输接收模块接收的信号的低电平宽度即可得到其代码。如脉冲宽度编码方法中, 表示0 的低电平宽度为
42、两个脉冲宽度, 表示1 的低电平宽度为一个脉冲宽度,我们需要做的是判断出低电平的宽度范围。这样我们就可以比较容易用程序读取代码。程序流程图如图2-7所示。初始化设置判断是否接收到起始位判断数据值将数据值送入寄存器判断数据是否接收完判断是否已经接收了两次解码显示YYYNNN图2-7无线数据传输模块接收部分程序流程图在数据传输过程中,如果一位数据在发送出去和被接收到这段时间内发生改变,则出现了差错。差错出现的原因可能是由于热噪声或冲击噪声。热噪声(thermal noise),又称为白噪声,是由导体内电子的热运动造成的,存在于所有电子设备和传输媒体中。热噪声可以预测,有着比较固定的强度;冲击噪声(
43、impulse noise)是非连续的,由不规则的脉冲或持续时间短而振幅大的噪声尖峰组成,比如由外部电磁波干扰(雷电)等产生。为了使传输系统能够可靠、稳定地通信,防止通信过程中发生错误,一般在通信过程中采取数据校验的办法。接收部分程序:#include<AT89X51.H>sbit date=P01;/数据接收端口sbit RXEN=P00;/使能端口bit overtime=0;/超时标志unsigned char twotime=0;/标志次数unsigned char databuf;/接收缓冲unsigned char status=0;/接收状态void delay(un
44、signed int tt)/延时子程序 while(tt-);void readchar(void) unsigned char rcnt=0;/接收位数unsigned char dd=0;/接收数据unsigned char temp;/overtime=0;while(date=0);/等待变为高电平while(date=1);/等待变为低电平 while(overtime=0) delay(120); dd=dd<<1;/数据右移一位 temp=date; dd = dd | temp; rcnt+; if(rcnt=8)/是否接收完8位数据 status=0;/回到状态
45、0 if( databuf = dd ) twotime+; else databuf = dd ;twotime = 0;/将数据存到databuf if( twotime > 1)/判断是否接收了两次 twotime=0;P2 = databuf;/显示 break; else if(date=1)while(date=1);/等待变为低电平 else while(date=0); while(date=1); void main(void) unsigned char i;unsigned int playtime=0;bit HighTime; bit LowTime; RXEN
46、 = 0; date = 1 ; delay(5000);twotime=0;databuf=0; while(1) switch(status) case 0:for(i=0;i<10;i+)/检测起始位的高电平 HighTime=1; if(date=0) HighTime=0; break; delay(20) ; if(HighTime) status=1;/跳到状态2 else status=0;break;/回到状态0 case 1:while(date=1);/检测起始位的低电平 for(i=0;i<10;i+) LowTime=1; if(date=1) LowTi
47、me=0; break; delay(20) ; if(LowTime) status=2;/跳到状态2 else status=0;break;/回到状态0 case 2:readchar();/检测数据位 status=0;/回到状态0 break; default:status=0; 影响无线通信的主要因素:在工作频率固定的前提下,影响工作距离的主要因素包括发射功率、发射天线增益、传播损耗、接收天线增益、接收机灵敏度等,通过加大发射功率,提高天线增益,提高接收机灵敏度均起到提高通信距离的作用,在影响无线通信距离的以上几个因素中,作为设计者可以控制的因素有: 接收灵敏度、天线增益、发射输出
48、功率。不能控制的因素是由无线电波的特点所决定的,主要有: 传输损耗、路径损耗、多径损耗、周围环境的吸收。在设计者可以控制的因素中,接收灵敏度、天线增益、发射功率都是可以作为提高通信距离的手段。第三章 调试无线数据传输系统一般由发射部分和接收部分组成。在硬件方面,主要是因为前期的调试当中,P0口少加了上拉电阻,导致后期的软件的调试方面遇到了很多困难。并且这个错误在硬件的测试当中不容易被察觉。因为P0口少加了上拉电阻,所以开始时,单片机对输入数据的判断不准确。而后来P0口加了上拉电阻,但由于与接收模块相连接的那一位P0.1口的上拉电阻不够大,所以导致P0.1口接收数据的低电平不够低,单片机无法判断
49、出低电平,导致显示不准确。软件的调试方面,发射部分的程序较为简单,调试时间较短。接收部分的调试较为复杂。主要是因为要正确地判断出“0”和“1”。当仔细分析了数据编码码型的特点,根据码型特点来判断“0”和“1”之后,这个问题便迎刃而解了。在软件的调试过程当中,为了验证电路是否正确,在调试的时候把程序分解,一步一步地从最基本的程序调起。最先调试发光二极管,首先编了一个程序控制发光二极管的亮灭。成功之后,用一根导线将发射和接收模块数据传输的两个管脚连接起来调试,调试成功之后,再分析发射接收模块的用法,用一个简单的程序让发射端发射一个方波,再用示波器测试发射端和接收端是否工作正常。如果正常,就联结之前
50、调试好的程序,测试系统是否真的可以实现功能。利用示波器观察到的波形:当左键被按下时在发射端发射模块数据输入端口波形:4.7V图3-1 左键按下发射模块数据输入端口波形当左键被按下时在接收端接收模块数据输出端口波形:4.7V图3-2 左键按下接收模块数据输出端口波形当右键被按下时在发射端发射模块数据输入端口波形:4.7V图3-3 右键按下发射模块数据输入端口波形当右键被按下时在接收端接收模块数据输出端口波形:4.7V图3-4 右键按下接收模块数据输出端口波形当上键被按下时在发射端发射模块数据输入端口波形:4.7V图3-5 上键按下发射模块数据输入端口波形当上键被按下时在接收端接收模块数据输出端口波形:4.7V图3-6 上键按下接收模块数据输出端口波形当下键被按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单板购销合同范本
- 以工代赈劳务用工合同范例
- 企业销售订单合同范例
- 别墅装修工程劳务合同范例
- 冰箱维修承揽合同范例
- 卖肥料合同范例
- 医院吊顶合同范例
- 厨房承包服务合同范例
- 农场供销合同范例
- 卖汽车抵押合同范例
- The uses of infinitives 动词不定式(教学设计)-2024-2025学年人教新目标Go For It!英语八年级上册
- 2025年华能新能源股份有限公司广东分公司应届高校毕业生招聘笔试参考题库附带答案详解
- 公共场所安全知识课件
- 《临床诊断》课件-咳嗽
- 体测免测申请书范文
- 介入手术术中安全护理措施
- 高中语文整本书阅读教学研究
- 2024年苏州农业职业技术学院高职单招语文历年参考题库含答案解析
- 投资银行学第4版- 课件汇 马晓军 第1-4章 投资银行概述-上市公司再融资
- 2025年月度工作日历含农历节假日电子表格版
- 中国近现代史纲要心得体会
评论
0/150
提交评论