基于51单片机的无线数据收发系统设计(带电路图和代码)_第1页
基于51单片机的无线数据收发系统设计(带电路图和代码)_第2页
基于51单片机的无线数据收发系统设计(带电路图和代码)_第3页
基于51单片机的无线数据收发系统设计(带电路图和代码)_第4页
基于51单片机的无线数据收发系统设计(带电路图和代码)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1引言伴随着短距离、低功率无线数据传输技术的成熟,无线数据传输被越来越多地应用到新的领域。与有线通信方式相比,无线通信以其不需铺设明线,使用便捷等一系列优点,在现代通信领域占重要地位。但以往的无线产品存在范围和方向上的局限。例如,一些无线产品在使用时,无法将信息反馈给控制者;还有一些无线产品不能很好地显示参数或状态信息,如果能在系统中增加一块小型液晶显示电路,产品不仅能向用户显示其状态或状态的改变,而且可以大大降低成本。正如人们所发现的,只要建立双向无线通信选择成本低的收发芯片,就会出现许多新应用。-双工通信并且本次设计主要是利用无线收发电路,加上单片机控制与液晶显示制成一套完整的数据收发系统。考虑到目前市场上的一些需求,设计的主要要求是方案成本低,体积小,低功耗,集成度高,尽量无需调外部元件,传输时间短,接口简单。nRF401是国外最新推出的单片无线收发一体芯片,它在一个20脚的芯片中包括了高频发射、高频接收、PLL合成、FSK调制、多频道切换等功能,并且外围元件少,便于设计生产,功耗极低,集成度高,是目前集成度较高的无线数传产品,它为低速率低成本的无线技术提出了解决方案。2无线数据收发系统2.1系统组成无线数据传输系统有点对点,点对多点和多点对多点三种。本系统由于实际应用的需要,接收器和数据终端之间的数据传输通过nRF401进行,构成点对点无线数据433MHz的频段作为载波频传输系统。整个系统中,两数据终端之间的无线通信采用率,收发通过串口通信。无线数据收发系统可以分为无线收发控制电路、单片机控制电路、显示电路和按键电路四部分组成,系统原理如图2-1所示:单片机系统无无单片机系统液晶显示屏线线按键收发收发器器图2-1无线数据收发系统原理图学习文档仅供参考2.2实现过程当我们需要发送数据时,使用按键来输入所需发送的信息。按键与单片机AT89S52的P3.2-P3.5口相接,单片机的P1.0口控制信息的发送与接收,并且端与收发器输入端相连,通过TXD将数据传入收发器,收发器接收到数据后,通过TXDFSK调制,将信号发送出去;接收端的收发器通过解调,将载波信号转换为数字信号,完成信息传输过程;收发器的输出端通过RXD端将数字信号输入到单片机;单片机将数据传送到显示器,这样就完成了一次数据发送与接收并显示的过程。本系统采用的是半双工传送方式。所谓半双工就是通信的双方均具有发送和接收信息的能力,信道也具有双向传输性能,但是,通信的任何一方都不能同时既发送信息又接收信息,即在指定的时刻,只能沿某一个方向传送信息。所以上述实现过程只介绍了由一方传送到另一方的过程,而相反方向与其原理相同。无线数据收发系统的电路图见附录3。3收发部分原理与设计nRF401是一种基于短程无线通信技术的芯片。收发部分采用nRF401芯片,其引脚DIN与单片机的TXD相连,需要发射的数字信号通过DIN输入;引脚DOUT与单片机的RXD相连,解调出来的信号经过DOUT输出进入单片机。[1]3.1无线收发芯片nRF401介绍3.1.1主要引脚功能1220XC1XC2TXEN191817161514131211VDDVCCFILT1VCO1VCO2VSS3PWR_UPVSS45ANT16ANT27VSS8VDDDINVDD9FREQRF_PWR10DOUT图3-1nRF401引脚图(1)9脚及10脚分别是DIN输入数字信号和DOUT输出数字信号均为标准的逻辑电平信号,需要发射的数字信号通过DIN输入,解调出来的信号经过DOUT输出。(2)12脚为通道选择,FREQ=“0”MHz〕,FREQ=“1”为通道#2〔434.33MHz〕。(3)18脚为电源开关,PWR_UP“=1”为工作模式,PWR_UP“=0”为待机模式。(4)19脚TXEN:高电平允许发送数据,低电平允许接收数据。(5)ANT1、ANT2:天线接入端。3.1.2内部结构与工作原理学习文档仅供参考nRF401无线收发芯片的结构框图如图3-2所示:芯片内包含有发射功率放大器〔PA〕、低噪声接收放大器〔LNA〕,晶体振荡器〔OSC〕,锁相环〔PLL〕,压控振荡器[2]〔VCO〕,混频器〔MIXER〕等电路。图3-2内部结构方框图在接收模式中,RF输入信号被低噪声放大器〔LNA〕放大,经由混频器〔MIXER〕变换,这个被变换的信号在送入解调器〔DEM〕之前被放大和滤波,经解调器解调,解调后的数字信号在DOUT端输出。在发射模式中,压控振荡器〔VCO〕的输出信号是直接送入到功率放大器〔PA〕,DIN端输入的数字信号被频移键控后馈送到功率放大器输出。由于采用了晶体振荡器和PLL合成技术,频率稳定性极好。3.1.3特点nRF401是一个单片RF收发芯片,工作频率为国际通用的数传频率FSK调制和解调能力,抗干扰能力强,特别适合工业控制应用;采用433MHz;具有PLL频率合成技术,频率稳定性好;最大发射功率达+10dBm,数据速率可达20kb/s;具有2个信号通道,适合需要多信道工作的特殊场合;工作电压在进一步降低电流消耗的待机模式,接收待机状态仅为个阻容、电感元件,即可构成一个完整的射频收发器。+3~5V之间,最低;它还提供8μA;仅需外接一个晶体和几nRF401接收机使用频移键控(FSK)调制方式,改善了噪声环境下的系统性能。与幅移键控(ASK)方式相比,这种方式的通信范围更广,特别是在附近有类似设备工作的场合。[3]3.2FSK调制本系统中的nRF401是具备FSK调制的无线收发芯片。所谓FSK调制,就是频移键控,又称数字频率调制,是数字通信调制方式的一种,由于其方法简单、易于实现、抗噪声和抗衰落性能较强以及解调不须恢复本地载波等优点而在现代数字通信系统的低、中速数据传输中得到广泛得应用。3.2.1产生原理频率键控法就是利用矩形脉冲序列控制的开关电路,对于两个不同的独立频率源进行选通。它有两个独立的振荡器,数字基带信号控制开关,选择不同频率的高频振荡信号实现FSK调制。图3-3为频率键控法原理框图。学习文档仅供参考s(t)e2FSK(t)模拟调频器(a)f1振荡器门门二进信息e2FSK(t)倒相相加(NRZ)f2振荡器(b)图3-3频率键控法原理框图以二进制数字频率调制为例,当数字信号为“1”时,正脉冲是控制门1接通,门2断开,输出频率f1;数字信号为“0”时,门1断开,门2接通,输出频率f2。如果产生f1,f2的两个震荡器是互相独立的,则输出2FSK信号的相位是不连续的。震荡器的频率f1,f2可以直接是所需的载频,也可以是低频范围通过混频、倍频方式搬移到载频范围。3.2.2FSK信号波形图已调信号的时域表达式为Acos1t"1"e2FSKt〔3.1〕Acos2t"0"00112FSK信号f1f2f2f1图3-42FSK信号的波形3.3时序参数nRF401有3种工作模式:接收模式〔RX〕、发射模式〔TX〕和等待模式〔Standby〕。工作模式可由2个引脚设定,分别是TXEN和PWR_UP。因此通过单片机控制nRF401的工作模式,使其在接收、发射、等待任一种状态之间转换。(1)TXRX之间的切换当从RXTX模式时,数据输入脚〔DIN〕必须保持为高至少1ms才能发送数据,时序如图3-5〔a〕。当从TXRX模式时,数据输出脚〔DOUT〕至少3ms以后有数据输出,如图3-5〔b〕。学习文档仅供参考RXtoTXRXtoTXTXtoRXVDDVDDPWR-UPTXENDINPWR-UPTXENDOUTmsms024024(a)(b)图3-5TX与RX转换的时序图RX、StandbyTX的切换PWR_UP输入设成1时,经过t时间后,DOUT脚输SR出数据才有效。对nRF401来说,t最长的时间是3ms,如图〔a〕。(2)Standby从待机模式到接收模式,当SR从待机模式到发射模式,所需稳定的最大时间是t,如〔b〕。STStd.bytoRXStd.bytoTXVDDVDDPWR-UPTXENPWR-UPTXENDINDOUTTXENmsms024024(b)(a)图3-6StandbyRX、StandbyTX的时序图(3)PowerUpTX、PowerUpRX的切换从上电到发射模式过程中,为了防止开机时产生干扰和辐射,在上电过程中TXEN的输入脚必须保持为低,以便于频率合成器进入稳定工作状态。当由上电进入发射模式时,TXEN必须保持1ms以后才可以往DIN发送数据。从上电到接收模式过程中,芯片将不会接收数据,DOUT也不会有数据输出,直到电压稳定到达2.7V以上,并且至少保持5ms。学习文档仅供参考VDD=0toTXVDD=0toRXVDDVDDPWR-UPPWR-UPTXENTDXINENTXENDTOXENUTmsms0246024(a)(b)图3-7PowerUpTX、PowerUpRX时序图3.4应用电路设计3.4.1电路组成nRF401无线收发芯片的应用电路[5],如图3-8所示:+3VR11MX1C52.2uFC14MC222pF22pFU1120191817161514131211XC1VDDXC2TXEN234TXENVCCFILT1VCO1VCO2VSSPWR_UPVSSANT1PWR_UPC10*53.3pFR467ANT218KC4VSSVDDC315nF8C9C11VDD9100pF5.6pF820pFDNDINFREQRF_PWRFREQ10DOUTDOUTnRF401R24.7KC6C7C8JQ422nF1nF100pFR322K图3-8nRF401的433Mhz应用电路(1)输入输出当nRF401是接收模式时,ANT1和ANT2引脚端提供射频输入到低噪声放大器〔LNA〕;当nRF401为发射模式时,从功率放大器提供射频输出到天线。(2)PLL环路滤波器PLL环路滤波器,是一个单端二阶滤波器,滤波器元件参数值:C4=15nF,R2(3)VCO电感C3=820pF,芯片的VCO电路需要外接一个VCO电感,这个电感是非常关键的,需要一个高质量的片式电感,Q值大于45,最大误差2%。学习文档仅供参考(4)晶振电路晶体振荡器需要外接晶振,晶振的特性要求是:并联谐振频率电容C<5pF,晶振等效串联电阻R<150,全部负载电容,包括印制板电容C负载电容CL如下式所示:f=4MHz,并联等效0ESRL<14pF。C1C2CL〔3.2〕C1C2式中C2C2CPCB2和C1C1CPCB1,CPCB1和CPCB2是电路板的寄生电容。(5)RF输出功率连接在RF_PWR端和VSS之间的电阻R3可以设置输出功率,最大发射功率可以调整到+10dBm。3.4.2印刷电路板设计[9](1)nRF401电路的PCB板设计过程利用ProtelDXP软件设计制作nRF401无线收发电路部分,按本论文中的图3-8所示。①在ProtelDXP软件中按照设计电路制作连接电路,并封装电路。制作PCB板,设置布局范围,加载网络表和元件库,自动布局并做好调整电路,自动布线过程,最后调整整个电路板,将其实现3D功能。②查看模拟的PCB板后,实现制作[10]。首先生成报表和网络表,设置电路图中已有的仿真模型的器件。在软件中运行电路仿真。并观察记录有关电路仿真过程中的波形图。再进行对电路板1:1的打印。ProtelDXP最后,将加工成形的PCB电路板打孔,并焊接元器件,实现nRF401应用电路,检测并调试其电路使之正常工作。nRF401应用电路印刷电路板,如下列图所示:图3-9应用电路印制电路板图学习文档仅供参考(2)PCB板设计要求印刷电路板〔PCB〕的设计直接关系到射频性能,为了获得较好的RF性能,PCB设计至少需要两层板来实现,PCB分成射频电路和控制电路两部分布置。nRF401采用PCB天线,在天线的下面没有接地层。射频部分的电源与数字电路部分的电源别离。为了减少分布参数的影响,在PCB应该防止长的电源走线,所有元件地线,VDD连接线必须离nRF401尽可能的近。nRF401的电源必须经过很好的滤波,并且与数字电路供电别离,在离电源脚VDD尽可能近的地方用高性能的电容去耦。PCB板顶层和底层最好敷铜接地,把这两层的敷铜用较多的过孔紧密相连,再将VSS脚连接到敷铜面。所有开关信号和控制信号都不能经过PLL环路滤波器元件和VCO电感附近。4控制部分原理控制电路主要组成部分为单片机AT89S52,通过AT89S52与nRF401进行串行通信,并用其控制nRF401的TXEN端,来调整收发状态。AT89S52还控制液晶屏的显示和按键等一些工作。4.1AT89S52功能介绍AT89S52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出〔I/O〕端口,片内含8kbytes的可重复编程的Flash存储器和256bytes的随机存取数据存储器〔RAM〕,3个16位可编程定时计数器,1个全双工串行通信口,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统。AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。4.1.1内部结构AT89S52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O口、串行I/O口和中断系统等几大单元以及数据总线、地址总线[13]和控制总线三大总线构成。图4-1为单片机内部结构框图(1)中央处理器。中央处理器(CPU)是整个单片机的核心部件,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。(2)程序存储器AT89S52共有8KB个E2PROM,用于存放用户程序,原始数据或表格。(3)数据存储器〔RAM〕AT89S52内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。学习文档仅供参考

P0.0~P0.7P2.0~P2.7Vcc(+5V)Vss端口0驱动器端口2驱动器RA地M址寄存器RAM(128×8)ROM(4K×8)端口0锁存器端口2锁存器程序地址寄存器缓冲器ACC堆栈指示器SPPC加1寄存器PCONSCONTMODTCONTH0TL0TH1TL1B寄存器暂存器2暂存器1ALU程序计数器PC数据指针DPTRSBUFSBUFIE(TX)(RX)中断、串行口和定时器状态寄存器PSENALE定时指令与寄存器控制EARST端口1锁存器端口1驱动器端口3锁存器端口3驱动器XTAL1XTAL2P1.0~P1.7P3.0~P3.7图4-1内部结构框图(4)并行输入输出口AT89S52共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。(5)串行输入输出口AT89S52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(6)定时/计数器AT89S52有三个16位的可编程定时/计数器,以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。(7)中断系统AT89S52具备较完善的中断功能,有两个外中断、三个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有两级的优先级别选择。学习文档仅供参考4.1.2引脚功能123456789403938373635343332p1.0p1.1p1.2p1.3p1.4VCCP0.0P0.1P0.2P0.3p1.5P0.4P0.5p1.6p1.7P0.6RST/VPDRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2P0.7101112131415313029282726EA/VPPALE/PROGPSENP2.7P2.6P2.516171819202524232221P2.4P2.3P2.2XTAL1P2.1GNDP2.0图4-2AT89S52芯片引脚图(1)电源和晶振VCC:供电电压。GND:接地。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(2)I/O口①P0口P0口的字节地址为80H,位地址为80H~87H。P0口既可以作为通用I/O口使用,也可以作为单片机系统的地址/数据线使用。当作为输出口使用时,由于输出电路是漏极开路,必须外接上拉电阻才能有高电平输出。②P1口P1口的字节地址为90H,位地址为90H~97H。P1口只能作为通用I/O口使用。当作为输出口使用时,已能对外提供推拉电流负载,外电路无需再接上拉电阻;当作为输入口使用时,应先向其锁存器写入“1”,使输出驱动电路的FET截止。③P2口P2口的字节地址为0A0H,位地址为0A0H~0A7H。P2口用于为系统提供高位地址,但只作为地址线使用而不作为数据线使用。此外,P2口也可作为通用I/O口使用。④P3口P3口的字节地址为0B0H,位地址为0B0H~0B7H。P3口可以作为通用I/O口使用,但在实际应用中它的第二功能信号更为重要。P3口引脚的第二功能,如下所示:P3.0RXD〔串行输入口〕学习文档仅供参考P3.1TXD〔串行输出口〕P3.2/INT0〔外部中断0〕P3.3/INT1〔外部中断1〕P3.4T0〔计时器0外部输入〕P3.5T1〔计时器1外部输入〕P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕(3)4根控制线①RST:复位信号。保持RST脚两个机器周期以上的高电平,就可以完成CPU系统复位操作,使系统的一些单元内容回到规定值。②/PSEN:外部程序存储器读选通信号。在读外部以实现外部ROM单元的读操作。ROM时,/PSEN有效〔低电平〕,③/EA/VPP:访问程序存储器控制信号。当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;而当/EA为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。④ALE/PROG:地址锁存控制信号。在系统扩展时,ALE用于控制P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以六分之一晶振频率的固定频率输出的正脉冲,因此也可作为外部时钟或外部定时脉冲使用。4.2串口通信通信主要有两种方式:并行通信和串行通信。并行通信是在传送数据过程中每个字节的各位同时进行传送的通信方式,而串行通信[14]是指每个字节的各位分别进行传送的通信方式。4.2.1串口通信方式AT89S52串行口可设置四种工作方式,可有8位、10位和11位帧格式。本系统中,AT89S52采用串行口工作于方式1,即每帧10位的异步通信格式:1位起始位,8位数据位〔低位在前〕,1位停止位。当SM0=0,SM1=1时,串行口选择方式1。其帧格式为:D0D1D2D3D4D5D6D7起始停止图4-3帧格式图4.2.2串行通信控制寄存器(1)串行控制寄存器(SCON)SCON的地址为98H,用于选择串行口的工作方式和指示串行口的工作状态。学习文档仅供参考各位含义如下:①SM0、SM1:串行口工作方式选择位。②SM2:多机通信选择位。③REN:串行口允许接收位。‘1’时允许接收,‘0’时禁止接收。④TI:串行口发送中断标志位。在方式1中,于发送停止位之前,由硬件置位。因此TI=1,表示帧发送结束。⑤RI:串行口接收中断标志位。在方式1中,当接收到停止位时,该位由硬件置位。RI=1,表示帧接收结束。(2)串行数据缓冲器(SBUF)串行数据缓冲器SBUF的地址为99H,用来存放需发送和接收的数据,它由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器,它们占用同一地址〔99H〕。当执行写SBUF指令时,数据写入到串行口发送缓冲器中,读SBUF就是读串行口接收缓冲器。(3)电源控制寄存器(PCON)PCON的地址为87H,该寄存器的最高位〔SMOD〕是串行口波特率的倍增位,当SMOD=1时,串行口波特率加倍。系统复位时,SMOD=0。(4)中断允许寄存器〔IE〕在IE中,ES位为串行中断允许控制位。ES=0时禁止串行中断,ES=1时允许串行中断。4.2.3数据发送与接收(1)数据发送在不发送数据时,TXD端保持高电平。当执行写SBUF的指令时,便启动一次发送过程;发送数据时,先发送一个起始位,该位通知接收端开始接收,也使发送和接收过程同步。接下来发送8位数据,先发送低位,最后发送的是高电平的停止位。(2)数据接收REN=1,CPU允许串行口接收数据,接收数据开始于〕端发生一个“1”到“0”的跳变。先接收起始位,然后依次将采样RXD端并将数据移入移位寄存器中。假设满足条件RI=0且SM2=0或接收到停止位,则将前8位数据送入SBUF并置位RI;如果上述条件不满足,则数据丧失。(3)波特率的设定串口方式1的波特率是可变的,由定时器T1的溢出率决定:2SMOD波特率定时器T1溢出率〔4.1〕32其中,SMOD为PCON寄存器最高位的值。溢出率为溢出周期的倒数,假定计数初值为X,则计数溢出周期为学习文档仅供参考12溢出周期(256X)〔4.2〕fosc其中,fosc为晶振频率。则波特率计算公式为:2SMODfosc〔4.3〕波特率3212256X由波特率算出计数初值,以便进行定时器的初始化。初值X确定如下:fosc2SMODX256〔4.4〕384波特率5显示部分HY-12864[12]是使用HD61202作为列驱动器,同时使用HD61203作为行驱动器的液晶模块,共有两片HD61202和一片HD61203。由于HD61203不与MPU发生联系,只要提供电源就能产生行驱动信号和各种同步信号,比较简单,所以不做介绍。HD61202是一种带有列驱动输出的液晶显示控制器,它可与行驱动器HD61203配合使用,组成液晶显示驱动控制系统。5.1HD61202功能简介5.1.1特点(1)内藏64×64=4096位显示RAM,RAM中每位数据对应LCD屏上一个点的亮、暗状态;(2)HD61202是列驱动器,具有64路列驱动输出;(3)HD61202的占空比为1/32--1/64。5.1.2引脚功能CS1,CS2:芯片片选端,CS1和CS2低电平选通;E:读写使能信号,在E下降沿,数据被锁存〔写〕入间,数据被读出;R/W:读写选择信号,R/W=1为读选通,R/W=0为写选通;HD61202;在E高电平期RS:数据、指令选择信号,RS=1为数据操作,RS=0为写指令或读状态;DB0-DB7:数据总线;RST:复位信号,复位信号有效时,关闭液晶显示,使显示起始行为MPU相连,由MPU控制;也可直接接VDD,使之不起作用。0,RST可跟5.2HD61202的指令系统学习文档仅供参考(1)显示开/关指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB000111111/000当DBO=1时,LCD显示RAM中的内容;DBO=0时,关闭显示。(2)显示起始行〔ROW〕设置指令R/WRS00DB7DB6DB5DB4DB3DB2DB1DB011显示起始行〔0-63〕RAM的行号,有规律的改变显示起始该指令设置了对应液晶屏最上一行的显示行,可以使LCD实现显示滚屏的效果。(3)页〔RAGE〕设置指令R/WRS00DB7DB6DB5DB4DB3DB2DB1DB011页号〔0-7〕101显示RAM共64行,分8页,每页8行。(4)地址〔YAddress〕设置指令R/WRS00DB7DB6DB5DB4DB3DB2DB1DB001显示列地址〔0-63〕设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。(5)状态指令R/WRS10DB7DB6DB5DB4DB3DB2DB1DB0BUSY0ON/OFFREST0000该指令用来查询HD61202的状态,各参量含义如下:BUSY:1-内部在工作ON/OFF:1-显示关闭REST:1-复位状态0-正常状态0-显示打开正常状态0-在BUSY和REST状态时,除读状态指令外,其它指令均不对在对HD61202操作之前要查询BUSY状态,以确定是否可以对HD61202进行操作。(6)数据指令R/WRSHD61202产生作用。DB7DB6DB5DB4DB3DB2DB1DB001写数据(7)读数据指令学习文档仅供参考R/WRS11DB7DB6DB5DB4DB3DB2DB1DB0读显示数据读、写数据指令每执行完一次读、写操作,列地址就自动增1,必须注意进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。5.3显示电路在AT89S52的P3.6和P3.7口接入四-二输入与非门芯片74LS00来控制显示器的读写使能信号端;显示器的8根数据总线接在AT89S52的P0口,实现数据传输;在显示器的V0口接一电位器,由于液晶的比照度会随着温度的变化而相应变化,所以加电位器可以调节液晶的比照度。R410K+5VLCM1VSS+5V23456789VDDU1V0RSRS12345678940393837363534333231RWCEP1.0P1.1P1.2P1.3P1.4P1.5P1.6VCCR/WEDB0DB1DB2DB3DB4DB5DB6DB7DB0DB1DB2DB3DB4DB5DB6P0.0(AD0)DB0DB1DB2P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)10DB3DB4111213DB5DB6DB7CS11415DB7CS1CS21617CS2RST181920VEEP1.7P0.6(AD6)P0.7(AD7)EA/VPPLEDKLEDA+5VRSTVCCHY128X6410P3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)P3.4(T0)P3.5(T1)P3.6(WR)P3.7(RD)11121314153029282726ALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)T1U4A21WRRD161725243CS27400Y1181920232221CS1RWRSXTAL2XTAL1GNDP2.2(A10)P2.1(A9)P2.0(A8)12MHzC122PC222PAT89C51图5-1收发系统显示电路6软件设计无线数据传输主要由无线数据收发器、AT89S52单片机、显示器和按键组成,收发器与AT89S52间用串行口通信。整个系统的各个部分都是服务于无线数据传输这个目的。所以,在整个系统的软件设计中,无线数据的传输是最为重要的。这里使用汇编语言编写单片机控制程序。控制系统CPU采用AT89S52单片机,nRF401芯片发射/nRF401为发射状态,其余的时接收模式由程序控制,当有控制发送的按键按下时,候nRF401始终处于接收状态。DOUT、DIN分别和单片机的RXD和TXD端相连,作为发射和接收时的数据传输。TXEN和端相连,由单片机的端对其发射还是接收进行程序控制。6.1主程序流程图学习文档仅供参考当单片机上电开始执行之后,对液晶和单片机寄存器进行初始化,同时设置串口控制字及波特率,接着进入键盘扫描程序和接收程序。假设有某个按键按下,则执行[14]相应的键盘子程序;假设单片机判断接收到数据,则开始进行CRC校验,如果数据正确就通过液晶显示传送的信息。主程序流程图见图6-1。开始初始化设置串口工作方式扫描键盘,同时判断是否有数据接收NNN判断是否有按键按下判断是否接收到数据YY执行相应的程序CRC校验是否正确Y数据处理送入显示图6-1主程序流程图6.2液晶显示子程序流程图液晶显示模块HY-12864内有一个忙标志位,它反映了控制器时序状态。当=1时,表示内部操作正在运行,不能接受外部数据;当=已准备好接收,可以随时接收单片机发来的数据和命令,这是HY-12864向单片机发HD61202内部运行0时,表示出的唯一联络信号。液晶显示子程序流程图见图6-2。入口学习文档仅供参考对HY-12864初始化写入显示设置命令图6-2液晶显示子程序流程图6.3数据收发子程序流程图单片机AT89S52控制nRF401的收发状态、完成编解码等工作。“PWR-UP”端接高电平,“FREQ”端接低电平,分别表示系统在上电后始终处于常工作模式”和“工作频道为通道1”。单片机AT89S52控制nRF401,使其一直为接收状态。当按键4按下时,AT89S52接收到输入的低电平信号,从脚送出高电平至脚,nRF401芯片“正使nRF401进入发射状态。数据收发子程序流程图见图6-3。入口学习文档仅供参考置nRF401为接收状态图6-3数据收发子程序流程图6.4键盘子程序流程图下列图为键盘子程序流程图,此流程图的含义是:当有按键按下时,程序开始进行判断是哪个按键按下,判断完毕后则转向相应的键处理子程序,进行字符的输入或命令的处理,并通过按键4把要发送的数据进行CRC校验编码,再把编码后的数据发送出去。有按键按下判断是哪个按键按下按键1按键2按键3按键4将要显示的数据移位选择要发送的数据清零CRC校验发送数据图6-4键盘子程序流程图7测试结果及分析学习文档仅供参考7.1硬件电路测试本设计中将控制模块和无线射频模式分开设计,控制模块通过一只单排7脚的接口控制射频模块,测试的步骤如下:(1)将控制模块和无线射频模块焊好,检查确认无虚焊、粘焊;(2)先对控制模块上电进行测试,主要是测试控制模块的串口能否收发数据,测试方法是将控制模块的串口与PC机的串口通过RS232标准相连接,并将串口的程序写到AT89S52上,然后用串口测试软件测试,如果串口能收发数据,便可开始对无线射频模块进行测试;(3)将无线收发模块与控制模块连接起来,上电进行测试,按照程序,上电时处于接收状态,看是否与程序吻合;(4)确认射频模块上电处于接收状态后,可测试果是,则说明VCO电感设计合理,否则要重新设计nRF401的第4管脚是否为左右,如PCB板,此外,nRF401在没有数据接收时,仍会自动从DOUT发送随机数据,使用万用表进行测试时,该引脚电压应为左右。7.2系统测试7.2.1测试方法(1)首先让电路正常工作,把接收器放在一定的位置,将发射器从远处逐渐靠近接收器,可测到传送的最远距离。(2)在距离接收器一定的距离时,间隔一段时间就发送数据信息,可测出接收器的接收灵敏度。(3)比较发射器和接收器的数据显示是否相同,以测试传输数据的正确性。7.2.2功能测试及分析由于无线通信环境的不确定性,各种环境下的传输效果是不尽相同的,路径损耗、建筑物影响、人体影响、外界干扰、多径现象和周围环境的吸收等都会对传输的距离产生一定的影响,只能在一个给定的条件下进行测试和评估。的试验场地来进行实验。因此,分别选择了不同(1)当建筑物很多的时候,数传模块两端均离地面〔〕高时,能够到达的最正确通信距离为5~10m;接收灵敏度为2~3秒;当发送端发送MESSAGE时,接收端能准确显示MESSAGE这段英文字符。(2)在空旷场地,数传模块两端均离地面高时,最远的通信距离能够到达灵敏度为3~5秒;当发送端发送字母A时,接收端能准确显示。50m;接收但测试中的通信距离与数据手册上的说明相差较大,原因可能源于调谐天线。在实验中发现,当有人员走动或其它信号出现的时候,通信的距离会变得不稳定,这是由于天线是一个辐射器件,任何环境的改变都会影响天线的性能。测试中还发现,在现场即使没有任何发送器,在nRF401的DOUT引脚上也会观察到学习文档仅供参考

微小的连续数字“噪声”。后来通过研究发现,当接收器打开时,环境中的任何信号〔数据或噪声〕都会被天线捕捉到并被解调。这就是所看到的系统中没有工作的发送器却存在“噪声”的原因。通过对系统数据传输能力的测试,该系统发送和接收数据正确、可靠,各元件工作正常。在硬件连接正确的基础上,利用较好效果。nRF401进行串行数据接收及发送,收到了8结论学习文档仅供参考

此次设计将应用于无线通信领域,并且针对当前市场上无线产品的不足进行了改良。本文根据nRF401的特点,提出了一种将其应用无线数据收发系统的实现方案。此方案采用了较完善的软硬件设计和抗干扰措施,保证了系统工作的安全性和可靠性,是一种较好的设计思路,具有通用性,便于投入实际应用。并且只要稍作改动就可以应用到小区传呼、工业数据采集、自动读表、警报和安全系统、无线键盘、无线操纵杆、家庭自动化、遥测和玩具等其他一些短距离无线通信领域,实现无线数据的双向传输,具有较好的市场应用价值。参考文献学习文档仅供参考

[1]黄智伟.无线数字收发电路设计,第2版,电子工业出版社,2004年,253-269.[2]WUXunwei,HANGGuoqiang.LowpowerDCcircuitsemployingACpowersupply,SCIENCEINCHINA(INFORMATIONSCIENCES),2002,,232.[3]苗长云,沈保锁,窦晋江等.现代通信原理,第1版,电子工业出版社,2005年,174-177.[4]BehrouzForouzan.IntroductiontoDataCommunicationsandNetworkingFirstEdition,mechanicindustrybookconcern,1999,121-125.,[5]KavehPahlavan.NordicnRF401ProductSpecification,Nordiccorporation,2000,36.[6]NigelBrooke.串行数据标准的选择与使用,电子产品世界,2000年,10月,31-32.[7]RichardG.lyons.UnderstandingDigitalSignalProcessing,BradfordUniversity,2001,36-37.[8]Tugal.D.A,Tugal.0.DataTransmission-analysisDesignApplicationsFlorence,Italy,2004,32.,[9]赵景波,刘金辉,荣盘祥等.ProtelDXP基础与实例培训教程,第1版,中国电力出版社,2005年,119-144.[10]臧铁钢,唐才峰,陈学锋等.ProtelDXP电路设计与应用,第1版,中国铁道出版社,2004年,172-179.[11]刘立枫,赵民建.信号接收机,中国无线电电子学文摘,2005年,31期,45-47.[12]MCS-51做LCD接口实验,电子世界,2002年,第8期,37.[13]李广第,朱月秀,王秀山等.单片机基础,第2版,北京航空航天大学出版社,2001年,40-70.[14]杨振江,杜铁军,李群等.流行单片机实用子程序及应用实例,第电子科技大学出版社,2002年,102-115.1版,西安[15]张俊谟.MCS-51和80C51系列单片机,电子世界,2001年,第8期,30.[16]蔡莹.液晶技术与电子纸,电子产品世界,2003年,11上半月,38-40.[17]康华光,邹寿彬.电子技术基础,第1版,高等教育出版社,2002年,191-197.[18]黄智伟,王彦,陈文光等.全国大学生电子设计竞赛训练教程,第业出版社,2004年,73-80.1版,电子工致谢学习文档仅供参考

四年大学的学习已经接近尾声,这次毕业设计不仅使我将所学的知识都融合在一起,还给了我一次锻炼动手能力的时机,并且在指导教师的帮助下,使我的专业水平有了很大的提高。在毕业设计即将结束之际,我要感谢我的指导老师。他不辞辛苦,经常利用自己的休息时间帮助我。当我有不明白的问题时,老师们会耐心地给我讲解,并在学习和科研方面给了我大量的指导,为我提供了良好的科研环境,不仅让我学到了知识,掌握了科研的方法,也获得了实践锻炼的时机。老师们言传身教、循循善诱,使我学到了作为一名大学生应该具备的那种踏实勤恳、一丝不苟、求真务实的优良品质和严谨的教学态度。在本论文的撰写过程中,老师从选题直至成稿一直给予我重要的指导和帮助,为我解开了无数的困惑,提供了很多关键性的建议。在课题的设计中,我对各种编程方法都有了更进一步的了解,拓宽了知识面,开阔了眼界,提高了对知识的综合应用能力,增强了学习知识的兴趣。在内容的研究中,他们在技术上给予了我极大的帮助,并且在论文的最后评阅过程中,也给我提出了非常有价值的意见,使我受益匪浅。在此祝愿老师们身体健康,全家幸福。最后,我要再一次感谢所有在此期间帮助过我的人,我衷心的祝福你们!附录1:程序学习文档仅供参考

COMEQUEQUEQUEQUEQUEQUEQUEQUEQUEQU34H;指令寄存器DAT35H;数据寄存器CWADD1CRADD1DWADD1DRADD1CWADD2CRADD2DWADD2DRADD28400H8600H8500H8700H8800H8A00H8900H8B00H;写指令代码地址〔左〕;读状态字地址〔左〕;写显示数据地址〔左〕;读显示数据地址〔左〕;写指令代码地址〔右〕;读状态字地址〔右〕;写显示数据地址〔右〕;读显示数据地址〔右〕RELIEEQUEQUEQU36H30H31H;在汉字中保存列其始值COLUMNPAGER;列地址寄存器〔0-127〕;页地址寄存器D2,D1,D0:页地址;D7:字符体D7=0为6X8点阵;D7=1为8X8点阵CODERCOUNTZIDIEQUEQUEQU32H33H37H;字符代码寄存器;计数器;字体在表中的位置指针地位;MOVDPTR,#CCTAB;MOVZIDI,DPLMOVZIGAO,DPH44,43,4A,4B,4C,4D,4E,4FZIGAOEQU38H;字体在表中的位置指针高位;3CH,3DH,3EH,3FH作键盘用;*******************************************************************ORG0000HAJMPMAIN;ORG0023H;AJMPJIESHOUORG0030H;数据接P0口MAIN:MOVSP,#70HLCALLLCALLINTCLEAR学习文档仅供参考

LCALLDDD;静态字显示MOV41H,#20HMOV48H,#00HMOV42H,#50HMOVR0,#12HMOVR1,#50HMOVA,#00HCHUFAN2:MOV@R1,AINCR1DJNZR0,CHUFAN2MOVSCON,#50HMOVTMOD,#00100001BMOVTL1,#0F3HMOVTH1,#0F3HMOVTH0,#00H;软件看门狗MOVTH0,#00HCLRTR0SETBTR1MOVPCON,#00H;SETBEASETBESSETBPSANJIAN:JNBP3.2,DOU1P3.3,DOU1P3.4,DOU1P3.5,DOU1JNBJNBJNBLCALLJIESHOU;LCALL;LCALLLJMPDELAYDELAYANJIANDOU1:LCALLDELAY1学习文档仅供参考

JNBJNBJNBJNBP3.2,JIAYI0P3.3,JIASHI0P3.4,JIANYI0P3.5,JIANSHI0LJMPANJIANJIAYI0:AJMPMN0JIASHI0:AJMPMN1JIANYI0:AJMPMN2JIANSHI0:AJMPMN3;键盘入口地址MN0:CLRCMOVA,48HSUBBA,#78HJCMN3XIAAJMPMNCMN3XIA:MOVA,48HCLRCADDA,#08HMOV48H,AINC42HMNC:MN1:AJMPANJIANCLRCMOVA,41HSUBBA,#3AHJCMN2XIA1MOV41H,#21HMOV47H,41HMOV45H,#87HMOV46H,48HLCALLSONGXIANAJMPQQMN2XIA1:INC41H学习文档仅供参考

MOV47H,41HMOV45H,#87HMOV46H,48HMOVR0,42HMOV@R0,41HLCALLSONGXIANQQ:AJMPANJIANMOVR0,#12HMOVR1,#50HMOVA,#00HMN2:CHUFAN1:MOV@R1,AINCR1DJNZR0,CHUFAN1LCALLQINGPINGMOV41H,#20HMOV42H,#50HMOV48H,#00HAJMPANJIANCLREAMN3:MOVTMOD,#20HMOVTL1,#0F3HMOVTH1,#0F3HMOVIE,#00HSETBTR1MOVPCON,#00HMOVSCON,#40HLCALLDELAYMOVR7,#2FHMN33:LCALLCHUANSONGDJNZR7,MN33;SETBEA学习文档仅供参考

AJMPANJIANDELAY:MOVR7,#01HD11:MOVR6,#01HD21:MOVR5,#03FHDJNZR5,$DJNZR6,D21DJNZR7,D11RETDELAY1:MOVR7,#20HD112:MOVR6,#0AHD212:MOVR5,#0FFHDJNZR5,$DJNZR6,D212DJNZR7,D112RETQINGPING:MOVDPTR,#CCTAB7MOVMOVMOVMOVMOVLCALLZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#00HCODER,#00HCCW_PR;清除MOVMOVMOVMOVMOVMOVLCALLMOVDPTR,#CCTAB7ZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#10HCODER,#00HCCW_PR;清除DPTR,#CCTAB7学习文档仅供参考

MOVMOVMOVMOVMOVLCALLZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#20HCODER,#00HCCW_PR;清除MOVMOVMOVMOVMOVMOVLCALLMOVMOVMOVMOVMOVMOVLCALLDPTR,#CCTAB7ZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#30HCODER,#00HCCW_PR;清除DPTR,#CCTAB7ZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#40HCODER,#00HCCW_PR;清除MOVMOVMOVMOVMOVMOVLCALLMOVMOVMOVMOVMOVMOVDPTR,#CCTAB7ZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#50HCODER,#00HCCW_PR;清除DPTR,#CCTAB7ZIDI,DPLZIGAO,DPHPAGER,#06HCOLUMN,#60HCODER,#00H;清除学习文档仅供参考

LCALLCCW_PRMOVMOVDPTR,#CCTAB7ZIDI,DPLMOVZIGAO,DPHPAGER,#06HCOLUMN,#70HCODER,#00HCCW_PRMOVMOV;清除MOVLCALLRETCHUANSONG:;SETBRS0;CLRRS1;设置寄存器组1MOVR1,#00HMOVR2,#00HMOVR3,#01HMOVR4,#12HMOV60H,#00HMOV61H,#00HMOVR0,#50HCRC1:MOVR5,#08HMOVA,@R0INCR0CRC2:CLRCRLCAXCHA,R2RLCAXCHA,R2XCHA,R1RLCAXCHA,R1JNCCRC3学习文档仅供参考

MOVR6,AMOVA,R1XRLA,#80HMOVR1,AMOVA,R2XRLA,#05MOVR2,AMOVA,R6CRC3:DJNZR5,CRC2DJNZR4,CRC1DJNZR3,CRC1DECR0DECR0MOVA,R1MOV@R0,AMOV60H,AINCR0MOVA,R2MOV@R0,AMOV61H,AMOVMOVR0,#12HR1,#50HA,@R1;计数器;位地址SCAN0:MOVMOVSBUF,AWAIT:JBCTI,SCAN1AJMPWAITSCAN1:INCR1MOVR6,#34HDJNZR6,$DJNZR0,SCAN0;CLRRS0;设回寄存器组;CLRRS1MOVSCON,#50H学习文档仅供参考

MOVTMOD,#00100001BMOVTL1,#0F3HMOVTH1,#0F3HSETBTR1MOVPCON,#00H;SETBEASETBESSETBPSRET;*********************************************************JIESHOU:;CLRRS0;设置寄存器组1;SETBRS1SETBTR0MOVR7,#1AHCLRESCLRTF0MOVR0,#24HMOVR1,#08H;计数器;位地址;可满足16个数据HERE:JBCTF0,SDD1JNBRI,HERECLRRIMOVA,SBUFMOV@R1,AINCR1DJNZR0,HERECLRTR0CLRTF0AJMPCRCDJNZR7,HERELJMPSDSDD1:SD1:CRC:学习文档仅供参考

MOVR1,#00HMOVR2,#00HMOVR3,#01HMOVR4,#12H;MOVR7,#08HZHAO:MOVA,R7MOVR0,ACRCC1:MOVR5,#08HMOVA,@R0INCR0CRCC2:CLRCRLCAXCHA,R2RLCAXCHA,R2XCHA,R1RLCAXCHA,R1JNCCRCC3MOVR6,AMOVA,R1XRLA,#80HMOVR1,AMOVA,R2XRLA,#05MOVR2,AMOVA,R6CRCC3:DJNZR5,CRCC2DJNZR4,CRCC1DJNZR3,CRCC1学习文档仅供参考

MOVA,R1JZCRCXIASJMPSD11CRCXIA:MOVA,R2JZPANDUANASD11:MOVR1,#00HMOVR2,#00HMOVR3,#01HMOVR4,#12HINCR7MOVA,R7CJNEA,#1BH,ZHAOSJMPSDPANDUANA:MOVA,R7MOVR1,AMOVR3,#10HMOV49H,#00HJXJ:MOVA,@R1MOV47H,AMOV45H,#87HMOV46H,49HINCR1CLRCMOVA,49HADDA,#08HMOV49H,ALCALLSONGXIANDJNZR3,JXJSD:;CLRRS0;CLRRS1SETBES;设回寄存器组学习文档仅供参考

RETSONGXIAN:MOVMOVDPTR,#CTABZIDI,DPLMOVZIGAO,DPHPAGER,45HCOLUMN,46HCODER,47HCW_PRMOV;6X8点阵字体,第6页;起始列为第49列MOVMOVLCALLRET;以下字不动DDD:MOVDPTR,#CCTAB1ZIDI,DPLMOVMOVZIGAO,DPHPAGER,#00HCOLUMN,#00HCODER,#00HCCW_PRMOVMOV;预MOVLCALLMOVMOVMOVMOVMOVMOVDPTR,#CCTAB1ZIDI,DPLZIGAO,DPHPAGER,#00HCOLUMN,#10HCODER,#01H;祝学习文档仅供参考

LCALLMOVMOVMOVMOVMOVMOVLCALLCCW_PRDPTR,#CCTAB1ZIDI,DPLZIGAO,DPHPAGER,#00HCOLUMN,#20HCODER,#02HCCW_PR;:MOVMOVMOVMOVMOVMOVLCALLMOVMOVMOVMOVMOVMOVLCALLDPTR,#CCTAB1ZIDI,DPLZIGAO,DPHPAGER,#00HCOLUMN,#30HCODER,#03HCCW_PR;天DPTR,#CCTAB1ZIDI,DPLZIGAO,DPHPAGER,#00HCOLUMN,#40HCODER,#04HCCW_PR;津MOVMOVMOVMOVMOVMOVLCALLMOVMOVMOVMOVDPTR,#CCTAB1ZIDI,DPLZIGAO,DPHPAGER,#00HCOLUMN,#50HCODER,#05HCCW_PR;工DPTR,#CCTAB1ZIDI,DPLZIGAO,DPHPAGER,#00H学习文档仅供参考

MOVCOLUMN,#60HCODER,#06HCCW_PR;程;师;范;学MOVLCALL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论