单片机无线传输系统设计(89C51).docx
单片机无线传输系统设计(89C51)毕业论文设计题目:单片机无线传输系统设计完成人:班级:11学制:专业:指导老师:完成日期:目录摘要(1)引言(1)1总体设计(2)1.1设计技术背景(2)1.1.1AT89S51单片机简介(2)1.1.2AT89S51主要功能特点(2)1.2单片机无线数据传输原理(3)1.2.1单片机无线数据传输原理概述(3)1.2.2无线数据传输常用编码方式(3)1.2.3无线数据传输解码(5)1.2.4无线数据传输调制和解调(6)2无线数据收发模块(7)2.1无线收发模块nRF905简介(7)2.2nRF905无线模块特点(7)2.3工作形式及芯片构造(7)3系统软硬件设计(8)3.1硬件设计(8)3.1.1概述(8)3.1.2电路原理(9)3.1.3SPI接口配置(9)3.2软件设计(12)3.2.1概述(12)3.2.2发射程序(13)3.2.3接收程序(17)4结束语(21)参考文献(22)Abstract(23)单片机无线传输系统设计指导老师:摘要:当今社会发展迅速,人们迫切的期望能随时随地、不受时空限制地进行信息交互。当今的各种智能化控制系统也离不开数据信息的传输。其中,无线数据传输是区别于传统的有线传输的新型传输方式,系统不需要传输线缆、成本低廉、施工简单。如今,有很多的电器产品(如一些家用电器)的操作控制也都采用了无线数据传输方式,一些无线数据传输功能相对简单的电器产品,无线数据传输信号的接收识别往往采用与编码调制芯片配套的译码芯片。而无线数据传输功能比拟复杂的一些电器产品,无线数据传输信号的识别与译码多采用单片机,其编码调制方法也有多种。本文介绍一种基于AT89S51单片机以及无线收发模块nRF905的无线数据传输方案,以及用单片机对其进行识别的程序设计方法,以供参考。关键词:AT89S51单片机,nRF905模块,无线数据传输;引言当今的各种智能化控制系统,比方智能化小区部的无线抄表系统、门禁系统、防盗报警系统和安全防火系统等,工业数据收集系统,水文气象控制系统,机器人控制系统、数字图像传输系统等等,都离不开数据信息的传输。能够讲,数据信息传输系统是各种智能化控制系统的重要组成部分。1在有线数据传输方式当中,数据的传输载体是双绞线、同轴电缆或光纤。在一些单片机监测系统中,数据收集装置是安装在环境条件恶劣的现场或野外。收集到的数据通信传输到手持终端,然后通过手持终端送到后台机(PC机)进行数据分析、处理。这样,数据收集装置与手持终端之间的数据传输需解决通信问题。若采用有线数据传输方式显然是不适宜的。相比于传统的有线数据传输方式,无线数据传输方式能够不考虑传输线缆的安装问题,进而节省大量电线电缆,并且降低施工难度和系统成本,是一个很有发展潜力的研究课题。无线数据传输因其传输距离远和受障碍影响小而得到广泛应用,随着各种专用无线数据传输集成电路和无线数据传输发射和接收专用集成电路的不断涌现,使很多复杂的无线数据传输系统的设计变得愈来愈简单,而且工作稳定性可靠。本文介绍利用单片机以及发射/接收模块电路实现的一种无线数据传输系统的设计思想。给出了无线数据传输系统的工作原理、硬件设计方案和软件设计方案。1总体设计1.1设计技术背景1.1.1AT89S51单片机简介AT89S51是一个低功耗,高性能CMOS8位单片机,片含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器2,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,其DIP封装的引脚图如图1所示,芯片集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为很多嵌入式控制应用系统提供高性价比的解决方案。图1AT89S51芯片DIP封装引脚此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电形式。空闲形式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电形式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。1.1.2AT89S51主要功能特点1、为一般控制应用的8位单芯片2、晶片部具时钟振荡器传统最高工作频率可至12MHz3、部程式存储器ROM为4KB4、部数据存储器RAM为128B5、外部程序存储器可扩大至64KB6、外部数据存储器可扩大至64KB7、32条双向输入输出线,且每条均能够单独做I/O的控制8、5个中断向量源9、2组独立的16位定时器10、1个全多工串行通信端口11、8751及8752单芯片具有数据的功能12、单芯片提供位逻辑运算指令13、看门狗WDT电路1.2单片机无线数据传输原理1.2.1单片机无线数据传输原理概述无线数据传输有发送和接收两个组成部分。3发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过无线数据传输模块中的发射模块发射信号。无线数据传输接收端普遍采用价格便宜,性能可靠的一体化无线数据传输接收模块、接收无线数据传输信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并执行,去控制相关对象,其原理如图2所示。图2无线数据传输原理1.2.2无线数据传输常用编码方式第一种:FSK式移频键控方式FrequencyShiftKeying,又称数字调频。4假如用改变载波频率的方法来传送二进制符号,就是移频键控FSK的方法。这时其频谱能够看成码列对低频载波的开关键控加上码列的反码对高频载波的开关键控。移频键控方式用两种不同的脉冲频率分别表示二进制数的“0和“1。用2个频率传输1“位二进制,这是最安全的方法,缺点是成本高、功耗大。所以,在电器的遥控器中极少应用。图3是表示用2个频率对“二进制位的“0和“1进行编码的示意图。在FSK方式中,相邻码元的频率不变或者跳变一个固定值。在两个相邻的频率跳变的码元之间,其相位通常是不连续的。图3FSK编码方式第二种:曼彻斯特编码方式又称双相调制编码方式,常用于局域网传输。在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。,在长虹、创维等彩电的控制器中,就采用了这种双相调制方式。还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开场时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因而具有自同步能无线数据传输发射部分,一般由一个能产生等幅振荡的高频载频振荡器和一个产生低频调制信号的低频振荡器组成。用来产生载频振荡的电路一般有多谐振荡器、互补振荡器和石英晶体振荡器等由低频振荡器产生的低频调制波,一般为宽度一定的方法。假如是多路控制能够采用每一路宽度不同的方波,或是频率不同的方法去调制高频载波,组成一组组的已调制波,作为控制信号向空中发射。但每一个码元都被调成两个电平,所以数据传输速率只要调制速率的1/2。曼彻斯特编码“二进制位的表示方法如图4所示。图4曼彻斯特编码方式第三种:脉宽调制编码方式,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的很多领域中。这种编码方式根据脉冲上升沿之间的距离决定“二进制位是“0还是“1,两脉冲上升沿之间距离短为“0,距离长为“1。如图5所示,脉宽编码用在载波或脉冲调制方式中.家用录像机,VCD,DVD的遥控器多采用脉宽编码方式。图5脉宽调制编码方式1.2.3无线数据传输解码无线数据传输信号的解码硬件解码可分为专用解码集成电路和自行设计的解码电路两种。专用解码芯片一般与专用编码芯片配对设计制造。5按其编码与解码功能可分为下面三类:(1)控制数据的地址加密编码与解码器:这类电路的特点是在地址加密编码的同时还能够进行控制数据的编解码。其编码容量大,性好。适用于安防、工业控制等对可靠性要求较高的场合。(2)地址加密编码与解码器:这一类电路无控制数据编码仅有加密地址编解码功能。适用于可靠性要求较高,但只进行简单的开关或增减控制的场合。(3)控制数据编码与解码器:这类电路无加密地址编码仅有控制数据的编解码。适用于群控或者应用环境本身就保证了其他信号发射源不会同时出现的场合,如在一个密闭的设备部。使用专用的硬件编码解码对芯片,简便可靠,使用广泛,不再多述。一般来讲硬件解码相对软件解码成本较高,并且当系统因更改或升级改变了编码方式时,接收的硬件就要做相应的更改,缺乏一定的灵敏性。当MCU的任务不是很繁重时,能够考虑使用软件解码。对于频率调制方式,只要测出每次脉冲的周期就能够解码出对应的二进制信息。方法有很多种,中断、查询都能够实现,详细方法因实际情况而定。对于脉宽调制(PWM),只要识别出每个脉冲的高(或低)电平宽度即可完成解码。对于2脉位调制(2PPM),需要判定出每个周期高低电平出现的先后次序,进而实现解码。单片机无线数据传输软件解码要保证正确无误地复原无线数据传输信息码,其主要功能包括下面几部分:(1)过滤附加信息,得到有效信息位。(2)排除系统外各种干扰信号。(3)丢弃接收到的不完好信息帧。(4)检验接收信息的正确性。为了能够到达上述要求,解码方式采用无线数据传输信号的解码由接收单片机来完成,它把无线数据传输接收模块送来的无线数据传输编码波形通过解码,复原出发送端发送的数据。当接收到起始帧后,进入解码部分,接收完一帧后,处理收到的数据并进入下一次接收。解码采用软件解码,假如从一个脉冲的高电安然平静一个脉冲的低电平过后,若读到的电平为低,讲明该位为“0,反之即可断定为编码“1。解码一位后,需等到下一位的高电平到来,再读到一个低电平后,判定读得的电平是高还是低,进行解码。根据这种方法判定八次,进而复原出发送端发送的信号。这样,根据事先约定代码所代表的功能,单片机就能够去执行各种控制动作,进而到达无线数据传输的目的。1.2.4无线数据传输调制和解调无线数据传输系统的调制和解调为了使数据传送的距离较长,在发射信号前要对信号进行调制,调制的方法是将原信号与一个载波相与。射频接收模块接收发射的已调制信号,并对信号进行解调恢复原来的调制信号。解调过的信号经过放大后送入单片机中进行解码。6对移动通信的数字调制和解调器技术的要求如下:1在信道衰落条件下,误码率要尽可能低;2发射频谱窄,对相邻信道干扰小;3高效率的解调,以降低移动台功耗,进一步缩小体积和成本;4能提供较高的传输速率;5易于集成。2无线数据收发模块2.1无线收发模块nRF905简介nRF905是挪威NordicVLSI公司推出的单片射频收发器,工作电压为1.93.6V,32引脚QFN封装(5×5mm),工作于433868915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,ShockBurstTM工作形式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只要11mA,工作于接收形式时的电流为12.5mA,建空闲形式与关机形式,易于实现节能。nRF905适用于无线数据通信、无线报警及安全系统、无线探测、无线监测、家庭自动化和玩具等众多领域。2.2nRF905无线模块特点(1)433Mhz开放ISM频段免许可证使用(2)最高工作速率50kbps,高效GFSK调制,抗干扰能力强,十分合适工业控制场合(3)125频道,知足多点通信和跳频通信需要(4)置硬件CRC检错和点对多点通信地址控制(5)低功耗1.9-3.6V工作,待机形式下状态仅为2.5uA(6)收发形式切换时间与射频数据包有关的高速信号处理都在nRF905片进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送因而中间有很长时间的空闲,这很有利于节能。8由于nRF905工作于ShockBurstTM形式,因而使用低速的微控制器也能得到很高的射频数据发射速率。在ShockBurstTM接收形式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。在ShockBurstTM发送形式,nRF905自动产生字头和CRC校验码,当发送经过完成后,数据准备好引脚通知微处理器数据发射完毕。由以上分析可知,nRF905的ShockBurstTM收发形式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。下面详细具体分析nRF905的发送流程和接收流程。nRF905片集成了电源管理、晶体振荡器、低噪声放大器、频率合成器、功率放大器等模块,曼彻斯特编码解码由片硬件完成,无需用户对数据进行曼彻斯特编码,使用非常方便。3系统软硬件设计3.1硬件设计3.1.1概述无线数据传输系统一般由无线数据传输的发射系统、无线数据传输接收系统、处理系统、执行机构构成。其发射系统由可编程的集成芯片及外围电路构成;接收系统由检波放大整形电路及无线数据传输接收芯片构成;处理系统由单片微处理机芯片及外围电路构成。9主要芯片均系无线数据传输专用集成芯片。由无线数据传输发射系统输出的信号是经高频调制后的二进制高频编码脉冲串,它由起始码及信息码构成。这种发送方式具有下述优点:无线数据传输脉冲宽度稳定且不会由于数据的容而改变功率消耗;采用高频调制的无线数据传输信号抗干扰能力强,使无线数据传输信号易于分离和区别;已调脉冲列可用一个窄带接收器进行接收,可提高无线数据传输系统的抗干扰能力;在高频下间隔进行开关,可减小消耗功率,单片机与模块连接设计如图6所示。图6单片机与模块连接设计3.1.2电路原理nRF905在使用中,根据不同需要,其电路图不尽一样,图7所示为典型的应用原理图,该电路天线部分使用的是50单端天线。10在nRF905的电路板设计中,可以以使用环形天线,把天线布在PCB板上,这可减小系统的体积。图7nRF905典型应用电路图3.1.3SPI接口配置所有配置字都是通过SPI接口送给nRF905。11SPI接口的工作方式可通过SPI指令进行设置。当nRF905处于空闲形式或关机形式时,SPI接口能够保持在工作状态。SPI读操作如图8,写操作如图9图8SPI读操作图9SPI写操作SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;12发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息,串行接口指令如表2。射频配置寄存器和容如表33.2软件设计3.2.1概述硬件解码电路较复杂,外围器件太多,且当发射模块的类型不同时不易改动,不利于模块化,而软件解码就克制了这些缺点。在软件解码无线数据传输系统中,解码的核心是单片机,电路极为简单,无须外围器件。13它接收解调出的串行二进制码,在部根据本系统的无线数据传输信号编码格式将串行码对应成发射电路上的按键,便于利用,易于兼容,当发射模块的类型不同时只需对程序稍加改动即可。本软件的主要任务是在单片机AT89S51的控制之下完成数据的正确传输。3.2.2发射程序#include#include#defineuintunsignedint#defineucharunsignedcharsbitTX_EN=P35;sbitTRX_CE=P11;sbitPWR_UP=P34;sbitCD=P33;sbitAM=P13;sbitDR=P32;sbitMISO=P16;sbitMOSI=P14;sbitSCK=P17;sbitCSN=P15;sbitled=P30;sbitkey1=P12;sbitkey2=P10;sbitkey3=P37;ucharkey_value=0;voidDelay(uintx)uinti;for(i=0;i#include#defineuintunsignedint#defineucharunsignedcharsbitTX_EN=P00;sbitTRX_CE=P01;sbitPWR_UP=P02;sbitCD=P03;sbitAM=P04;sbitDR=P05;sbitMISO=P06;sbitMOSI=P07;sbitSCK=P20;sbitCSN=P21;sbitled1=P11;sbitled2=P12;sbitled3=P13;ucharTxRxBuffer3;bitsuccess_flag=0;voidDelay(uintx)uinti;for(i=0;i<x;i+)_nop_();voidSpiWrite(uchardate)uchari=8;while(i-)Delay(10);MOSI=(bit)(date&0x80);date<<=1;Delay(10);SCK=1;Delay(10);SCK=0;ucharSpiRead()/from905readdatauchari=8,date1=0;while(i-)date1<<=1;date1|=MISO;SCK=1;Delay(10);SCK=0;Delay(10);returndate1;voidIni_System(void)/*初始化配置寄存器*/CSN=1;SCK=0;PWR_UP=1;TRX_CE=0;TX_EN=0;Delay(2);CSN=0;SpiWrite(0x00);/配置命令/SpiWrite(0x6C);/CH_NO,配置频段在433.2MHZSpiWrite(0x0C);/输出功率为10db,不重发,节电为正常形式SpiWrite(0x44);/地址宽度设置,为4字节SpiWrite(0x03);SpiWrite(0x03);/接收发送有效数据长度为3字节SpiWrite(0xE7);SpiWrite(0xE7);SpiWrite(0xE7);SpiWrite(0xE7);/接收地址SpiWrite(0xDE);CSN=1;PWR_UP=1;TRX_CE=1;TX_EN=0;Delay(1000);voidWait_Rec_Packet(void)if(DR)TRX_CE=0;/假如数据准备好,则进入待机形式,以便SPI口操作CSN=0;SpiWrite(0x24);/接收数据包TxRxBuffer0=SpiRead();TxRxBuffer1=SpiRead();TxRxBuffer2=SpiRead();CSN=1;while(DR);TRX_CE=1;if(TxRxBuffer0=0x01)&&(TxRxBuffer1=0x02)TxRxBuffer0=0xff;TxRxBuffer1=0xff;success_flag=1;if(TxRxBuffer2=0xa0)led1=led1;elseif(TxRxBuffer2=0xa1)led2=led2;elseif(TxRxBuffer2=0xa2)led3=led3;Ini_System();voidmain(void)Ini_System();PWR_UP=0;DR=1;led1=0;led2=0;led3=0;success_flag=0;TRX_CE=0;Delay(1000);TX_EN=0;TRX_CE=1;PWR_UP=1;while(1)Wait_Rec_Packet();/等待接收完成if(success_flag)TX_EN=0;TRX_CE=1;PWR_UP=1;Delay(5000);Delay(5000);success_flag=0;Delay(10000);4结束语本文着重介绍了无线数据传输系统的基本原理及无线数据传输的编码解码设计。这种编码方法在基于AT89S51单片机的无线数据传输设计中得到了应用。本设计非常简便可靠地实现了单片机编码、发送、接收、解码的任务,完成了无线数据传输的功能,获得了良好的效果,应用前景广阔。该系统适用于短距离的无线数据传输,可以以通过增加发射功率或中继的方式实现远距离传输,可用于需要较长时间对目的进行连续监控的场合。当发射器的类型不同时只需对中断处理程序的部分参数稍加改动即可,就能够适用于多种红外遥控器信号的接收和解码,极大地节约了硬件实现的资源开销。所开发的系统具有较强的灵敏性和实用性,为新型遥控器材的研制做了有益的探索,具有一定的参考和借鉴作用。本文所用的方法能够举一反三,对不同类型的发射器的基本思路和方法是一样的,只需要根据详细波形修改其参数和表达式即可,能灵敏应用。对其他型号的遥控编码器及不同的硬件时钟,只需修改部分参数,即可适用。程序假如改为汇编语言编写占用空间会比使用C语言编写更小,完全可应用于各类单片机。它不仅降低了成本,同时也增加了无线数据传输接收的灵敏性,对不同的无线数据传输模块,不用更换系统硬件电路,只需要修改程序即可。经实验测试,上述无线数据传输的信号的发送和接收方法没有出现传输误码,可靠实用,在编码解码方面降低了硬件成本。按上述编码方法,信号的传输速度可达20kbps。若在数据传输协议中,加上地址帧(设备号识别)和校验帧,该方法在计算机系统中将有更广泛的应用。参考文献1毅刚.新编MCS-51单片机应用设计第三版M.:工业大学,2020:231-2552董巍巍,钊,建军.基于单片机的数据收集系统设计J.计算机与网络,20205:3-6.3马青,童子权.基于单片机的数据收集与近距离无线传输系统J.中国科技信息,202010:101-1034清华大学通信教材编写小组.数据传输原理M.:人民邮电,1995:48-50.5育峰,予铨,孟强,继武.基于AT89S51的无线收发系统设计J.电子设计工程.20201:15-18.6侯婷,宏业,俊芬,作雷.无线数据传输终端的设计和实现J.微计算机信息.200623:34.7洪涛,皇甫堪,王展,闫吉杰.AT89S51单片机在无线数据传输中的应用J.单片机与嵌入式系统应用.20036:21-22.8金保华,勇,崔光照.基于nRF905的无线数据多点跳传通信系统J.仪表技术与传感器.2004年9:41-43.9刁雪慧,徐德民,福斌,高剑.无线传感器网络节点的设计J.机械与电子.20205:22-2510马淑华,王凤文,美金.单片机原理与接口技术M.:邮电大学,2005:164-170.11群芳,士军,黄建.单片微型计算机与接口技术第2版M.:电子工业,2004:216-221.12蒋博.nRF905的无线数据传输系统J.工业仪表与自动化装置.2006年3:59-60.13郭天祥.新概念51单片机C语言教程M.:电子工业,2020:55-96.WirelesssystemdesignbaseonMCUAbstract:Withtherapiddevelopmentoftoday'ssociety,Peopleurgentlyhopeexchangeinformationanytime,anywherewithoutconstraintsoftime.Avarietyofintelligentcontrolsystemisalsoinseparablefromthetransmissionofthedatatoday.Thewirelessdatatransmissionisnewtransmission,anditsdifferentfromthetraditionalwiredtransmission,thesystemdoesnotrequiretransmissioncableanditcheap,simplebeconstruction.Now,therearealotofelectricalproducts(suchasdomesticappliances)controlarealsousingwirelessdatatransmission,someelectricalproductsfunctionwithwirelessdatatransmissionrelativelysimple,wirelessdatatransmissionsignalreceivingrecognitionareoftenusedcodingmodulationmatchingdecodechips.Theelectricalproductswithmoreofcomplexfunctionswirelessdatatransmission,whichwirelessdatatransmissionsignalrecognitionanddecodingwithMCU,anditsalsouseavarietyofcodingmodulation.ThisprojectdescribesawirelessdatatransmissionprogrambaseonAT89S51MCUandnRF905modules,andidentificationprogrammingmethodMCUforreference.Keywords:AT89S51MicroControllerUnit,nRF905module,Wirelessdatatransmission;