通信原理系统设计-基于nRF401的无线数据发射器设计.docx_第1页
通信原理系统设计-基于nRF401的无线数据发射器设计.docx_第2页
通信原理系统设计-基于nRF401的无线数据发射器设计.docx_第3页
通信原理系统设计-基于nRF401的无线数据发射器设计.docx_第4页
通信原理系统设计-基于nRF401的无线数据发射器设计.docx_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

通信原理课程设计题目 基于nrf401的无线数据发射器课程设计学院名称 电气工程学院指导老师 班 级 电子卓越093班学 号 学生姓名 基于nrf401的无线数据发射器目录摘要31 无线数据收发系统31.1 系统组成31.2 实现过程32 收发部分原理与设计32.1 无线收发芯片nrf401介绍132.1.1 主要引脚功能32.1.2 内部结构与工作原理32.1.3 特点32.2 fsk调制332.2.1 产生原理32.3 时序参数32.4 应用电路设计32.4.1 电路组成32.4.2 印刷电路板设计33 控制部分原理33.1 stc89c52功能介绍33.1.1 内部结构33.2 串口通信33.2.1 串口通信方式33.2.2 串行通信控制寄存器34 显示部分34.1 hd61202功能简介34.1.1 特点34.1.2 引脚功能34.2 hd61202的指令系统34.3 显示电路35 软件设计35.1 主程序流程图35.2 液晶显示子程序流程图35.3 数据收发子程序流程图35.4 键盘子程序流程图36结论3参考文献3相关程序设计3附录3单片机与12864显示模块3nrf401原理图3英文资料及中文翻译3摘要伴随着短距离、低功率无线数据传输技术的成熟,无线数据传输被越来越多地应用到新的领域。与有线通信方式相比,无线通信以其不需铺设明线,使用便捷等一系列优点,在现代通信领域占重要地位。但以往的无线产品存在范围和方向上的局限。例如,一些无线产品在使用时,无法将信息反馈给控制者;还有一些无线产品不能很好地显示参数或状态信息,如果能在系统中增加一块小型液晶显示电路,产品不仅能向用户显示其状态或状态的改变,而且可以大大降低成本。正如人们所发现的,只要建立双向无线通信-双工通信并且选择成本低的收发芯片,就会出现许多新应用。本次设计主要是利用无线收发电路,加上单片机控制与液晶显示制成一套完整的数据收发系统。考虑到目前市场上的一些需求,设计的主要要求是方案成本低,体积小,低功耗,集成度高,尽量无需调外部元件,传输时间短,接口简单。nrf401是国外最新推出的单片无线收发一体芯片,它在一个20脚的芯片中包括了高频发射、高频接收、pll合成、fsk调制、多频道切换等功能,并且外围元件少,便于设计生产,功耗极低,集成度高,是目前集成度较高的无线数传产品,它为低速率低成本的无线技术提出了解决方案。关键字:nrf401 无线收发 pll合成 fsk调制abstractthis design is the main wireless transceiver circuit, plus the single-chip microcomputer control and liquid crystal display made into a complete set of data transceiver system. consider some of the demand on the market at present, the design of the main requirements scheme is low cost, small volume, low power consumption, high level of integration, as far as possible need not the external components, transmission time is short, simple interface.nrf401 is foreign latest single chip wireless transceiver one chip, it was in a 20 feet high frequency were included in the chip launch, the high frequency receive, pll synthesis, fsk modulation, multi-channel switch, and other functions, and peripheral components less convenient design production, low power consumption, high level of integration, is the high level of integration of wireless digital products, and it is low rate of low cost wireless technology is proposed.key words: nrf401 wireless transceiver pll synthesized fsk modulation1 无线数据收发系统1.1 系统组成无线数据传输系统有点对点,点对多点和多点对多点三种。本系统由于实际应用的需要,接收器和数据终端之间的数据传输通过nrf401进行,构成点对点无线数据传输系统。整个系统中,两数据终端之间的无线通信采用433mhz的频段作为载波频率,收发通过串口通信。 无线数据收发系统可以分为无线收发控制电路、单片机控制电路、显示电路和按键电路四部分组成,系统原理如图1-1所示:液晶显示屏单片机系统无线收发器按键单片机系统无线收发器 图1-1 无线数据收发系统原理图1.2 实现过程当我们需要发送数据时,使用按键来输入所需发送的信息。按键与单片机stc89c52的p3.2-p3.5口相接,单片机的 p1.0口控制信息的发送与接收,并且txd端与收发器输入端相连,通过txd将数据传入收发器,收发器接收到数据后,通过fsk调制,将信号发送出去;接收端的收发器通过解调,将载波信号转换为数字信号,完成信息传输过程;收发器的输出端通过rxd端将数字信号输入到单片机;单片机将数据传送到显示器,这样就完成了一次数据发送与接收并显示的过程。本系统采用的是半双工传送方式。 所谓半双工就是通信的双方均具有发送和接收信息的能力,信道也具有双向传输性能,但是,通信的任何一方都不能同时既发送信息又接收信息,即在指定的时刻,只能沿某一个方向传送信息。所以上述实现过程只介绍了由一方传送到另一方的过程,而相反方向与其原理相同。无线数据收发系统的电路图见附录3。2 收发部分原理与设计nrf401是一种基于短程无线通信技术的芯片。收发部分采用nrf401芯片,其引脚din与单片机的txd相连,需要发射的数字信号通过din输入;引脚dout与单片机的rxd相连,解调出来的信号经过dout输出进入单片机。2.1 无线收发芯片nrf401介绍12.1.1 主要引脚功能图2-1 nrf401引脚图(1) 9脚及10脚分别是din输入数字信号和dout输出数字信号均为标准的逻辑电平信号,需要发射的数字信号通过din输入,解调出来的信号经过dout输出。(2) 12脚为通道选择,freq =“0”为通道#1(433.92mhz),freq =“1”为通道#2(434.33mhz)。(3) 18脚为电源开关,pwr_up =“1”为工作模式,pwr_up =“0”为待机模式。(4) 19脚txen:高电平允许发送数据,低电平允许接收数据。(5) ant1、ant2:天线接入端。2.1.2 内部结构与工作原理nrf401无线收发芯片的结构框图如图3-2所示:芯片内包含有发射功率放大器(pa)、低噪声接收放大器(lna),晶体振荡器(osc),锁相环(pll),压控振荡器(vco),混频器(mixer)等电路2。图3-2 内部结构方框图在接收模式中,rf输入信号被低噪声放大器(lna)放大,经由混频器(mixer)变换,这个被变换的信号在送入解调器(dem)之前被放大和滤波,经解调器解调,解调后的数字信号在dout端输出。在发射模式中,压控振荡器(vco)的输出信号是直接送入到功率放大器(pa),din端输入的数字信号被频移键控后馈送到功率放大器输出。由于采用了晶体振荡器和pll合成技术,频率稳定性极好。2.1.3 特点nrf401是一个单片rf收发芯片,工作频率为国际通用的数传频率433mhz;具有fsk调制和解调能力,抗干扰能力强,特别适合工业控制应用;采用pll频率合成技术,频率稳定性好;最大发射功率达+10dbm,数据速率可达20kb/s;具有2个信号通道,适合需要多信道工作的特殊场合;工作电压在+35v之间,最低工作电压为2.7v;它还提供进一步降低电流消耗的待机模式,接收待机状态仅为8a;仅需外接一个晶体和几个阻容、电感元件,即可构成一个完整的射频收发器。nrf401接收机使用频移键控(fsk)调制方式,改善了噪声环境下的系统性能。与幅移键控(ask)方式相比,这种方式的通信范围更广,特别是在附近有类似设备工作的场合。2.2 fsk调制3本系统中的nrf401是具备fsk调制的无线收发芯片。所谓fsk调制,就是频移键控,又称数字频率调制,是数字通信调制方式的一种,由于其方法简单、易于实现、抗噪声和抗衰落性能较强以及解调不须恢复本地载波等优点而在现代数字通信系统的低、中速数据传输中得到广泛得应用。2.2.1 产生原理频率键控法就是利用矩形脉冲序列控制的开关电路,对于两个不同的独立频率源进行选通。它有两个独立的振荡器,数字基带信号控制开关,选择不同频率的高频振荡信号实现fsk调制。图3-3为频率键控法原理框图。 图33 频率键控法原理框图以二进制数字频率调制为例,当数字信号为“1”时,正脉冲是控制门 1 接通,门 2 断开,输出频率 f1 ;数字信号为“0”时,门 1 断开,门 2 接通,输出频率 f2 。如果产生 f1,f2 的两个震荡器是互相独立的,则输出 2fsk 信号的相位是不连续的。震荡器的频率 f1,f2 可以直接是所需的载频,也可以是低频范围通过混频、倍频方式搬移到载频范围。2.2.2 fsk信号波形图已调信号的时域表达式为(3.1) 图3-4 2fsk信号的波形2.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)。pwr-uppwr-updintxen4rx to txdout4rx to txvdd02mstx to rxvddtxen02ms(b)(a)图3-5 tx与rx转换的时序图(2) standbyrx 、standbytx的切换从待机模式到接收模式,当pwr_up输入设成1时,经过tsr时间后,dout脚输出数据才有效。对nrf401来说,tsr最长的时间是3ms,如图(a)。从待机模式到发射模式,所需稳定的最大时间是tst,如(b)。std. by to txtxenstd. by to rx40242msmsdindoutpwr-uppwr-upvddvdd0(b)(a)图3-6 standbyrx 、standbytx的时序图(3) power uptx 、power uprx的切换从上电到发射模式过程中,为了避免开机时产生干扰和辐射,在上电过程中txen的输入脚必须保持为低,以便于频率合成器进入稳定工作状态。当由上电进入发射模式时,txen必须保持1ms以后才可以往din发送数据。从上电到接收模式过程中,芯片将不会接收数据,dout也不会有数据输出,直到电压稳定达到2.7v以上,并且至少保持5ms。vdd=0 to rxvdd=0 to txvddpwr-updin(a)024ms0246ms(b)doutpwr-upvdd图3-7 power uptx 、power uprx时序图2.4 应用电路设计2.4.1 电路组成nrf401无线收发芯片的应用电路5,如图3-8所示:图2-8 nrf401的433mhz应用电路(1) 输入输出当nrf401是接收模式时,ant1和ant2引脚端提供射频输入到低噪声放大器(lna);当nrf401为发射模式时,从功率放大器提供射频输出到天线。(2) pll环路滤波器pll环路滤波器,是一个单端二阶滤波器,滤波器元件参数值:c3=820pf,c4=15nf,r2=4.7kw(3) vco电感芯片的vco电路需要外接一个vco电感,这个电感是非常关键的,需要一个高质量的片式电感,q值大于45,最大误差2%。(4) 晶振电路晶体振荡器需要外接晶振,晶振的特性要求是:并联谐振频率f=4mhz,并联等效电容c05pf,晶振等效串联电阻resr150w,全部负载电容,包括印制板电容cl14pf。负载电容cl如下式所示: (3.2) 式中和, 和是电路板的寄生电容。(5) rf输出功率连接在rf_pwr端和vss之间的电阻r3可以设置输出功率,最大发射功率可以调整到+10dbm。2.4.2 印刷电路板设计(1) nrf401电路的pcb板设计过程9利用 protel dxp 软件设计制作nrf401无线收发电路部分,按本论文中的图3-8所示。 在protel dxp 软件中按照设计电路制作连接电路,并封装电路。制作pcb板,设置布局范围,加载网络表和元件库,自动布局并做好调整电路,自动布线过程,最后调整整个电路板,将其实现 3d 功能。 查看模拟的 pcb 板后,实现制作10。首先生成报表和网络表,设置电路图中已有的仿真模型的器件。在protel dxp软件中运行电路仿真。并观察记录有关电路仿真过程中的波形图。再进行对电路板 1:1的打印。最后,将加工成形的 pcb 电路板打孔,并焊接元器件,实现nrf401应用电路,检测并调试其电路使之正常工作。nrf401应用电路印刷电路板,如下图所示:pcb顶层pcb底层pcb 3d视图(2) pcb板设计要求印刷电路板(pcb)的设计直接关系到射频性能,为了获得较好的rf性能,pcb设计至少需要两层板来实现,pcb分成射频电路和控制电路两部分布置。nrf401采用pcb天线,在天线的下面没有接地层。射频部分的电源与数字电路部分的电源分离。为了减少分布参数的影响,在pcb应该避免长的电源走线,所有元件地线,vdd连接线必须离nrf401尽可能的近。nrf401的电源必须经过很好的滤波,并且与数字电路供电分离,在离电源脚vdd尽可能近的地方用高性能的电容去耦。pcb板顶层和底层最好敷铜接地,把这两层的敷铜用较多的过孔紧密相连,再将vss脚连接到敷铜面。所有开关信号和控制信号都不能经过pll环路滤波器元件和vco电感附近。3 控制部分原理控制电路主要组成部分为单片机stc89c52,通过stc89c52与nrf401进行串行通信,并用其控制nrf401的txen端,来调整收发状态。stc89c52还控制液晶屏的显示和按键等一些工作。3.1 stc89c52功能介绍stc89c52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(i/o)端口,片内含8k bytes的可重复编程的flash存储器和256 bytes的随机存取数据存储器(ram),3个16位可编程定时计数器,1个全双工串行通信口,器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统。stc89c52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。3.1.1 内部结构stc89c52单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时器/计数器、并行i/o口、串行i/o口和中断系统等几大单元以及数据总线、地址总线和控制总线三大总线构成。图4-1为单片机内部结构框图13。(1) 中央处理器中央处理器(cpu)是整个单片机的核心部件,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。(2) 程序存储器stc89c52共有8kb个e2prom,用于存放用户程序,原始数据或表格。(3) 数据存储器(ram)stc89c52内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图4-1内部结构框图(4) 并行输入输出口stc89c52共有4组8位i/o口(p0、 p1、p2或p3),用于对外部数据的传输。(5) 串行输入输出口stc89c52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(6) 定时/计数器stc89c52有三个16位的可编程定时/计数器,以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。(7) 中断系统stc89c52具备较完善的中断功能,有两个外中断、三个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有两级的优先级别选择。图4-2 stc89c52芯片引脚图(1) 电源和晶振vcc:供电电压。gnd:接地。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。(2) i/o口 p0口p0口的字节地址为80h,位地址为80h87h。p0口既可以作为通用i/o口使用,也可以作为单片机系统的地址/数据线使用。当作为输出口使用时,由于输出电路是漏极开路,必须外接上拉电阻才能有高电平输出。 p1口p1口的字节地址为90h,位地址为90h97h。p1口只能作为通用i/o口使用。当作为输出口使用时,已能对外提供推拉电流负载,外电路无需再接上拉电阻;当作为输入口使用时,应先向其锁存器写入“1”,使输出驱动电路的fet截止。 p2口p2口的字节地址为0a0h,位地址为0a0h0a7h。p2口用于为系统提供高位地址,但只作为地址线使用而不作为数据线使用。此外,p2口也可作为通用i/o口使用。 p3口p3口的字节地址为0b0h,位地址为0b0h0b7h。p3口可以作为通用i/o口使用,但在实际应用中它的第二功能信号更为重要。p3口引脚的第二功能,如下所示: p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(计时器0外部输入)p3.5 t1(计时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)(3) 4根控制线 rst:复位信号。保持rst脚两个机器周期以上的高电平,就可以完成cpu系统复位操作,使系统的一些单元内容回到规定值。 /psen:外部程序存储器读选通信号。在读外部rom时,/psen有效(低电平),以实现外部rom单元的读操作。 /ea/vpp:访问程序存储器控制信号。当/ea信号为低电平时,对rom的读操作限定在外部程序存储器;而当/ea为高电平时,则对rom的读操作是从内部程序存储器开始,并可延续至外部程序存储器。 ale/prog:地址锁存控制信号。在系统扩展时,ale用于控制p0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ale是以六分之一晶振频率的固定频率输出的正脉冲,因此也可作为外部时钟或外部定时脉冲使用。3.2 串口通信通信主要有两种方式:并行通信和串行通信。并行通信是在传送数据过程中每个字节的各位同时进行传送的通信方式,而串行通信14是指每个字节的各位分别进行传送的通信方式。3.2.1 串口通信方式stc89c52串行口可设置四种工作方式,可有8位、10位和11位帧格式。本系统中,stc89c52采用串行口工作于方式1,即每帧10位的异步通信格式:1位起始位,8位数据位(低位在前),1位停止位。当sm0=0,sm1=1时,串行口选择方式1。其帧格式为: 停止起始d6d7d0d1d2d3d4d5 图4-3 帧格式图3.2.2 串行通信控制寄存器(1) 串行控制寄存器(scon)scon的地址为98h,用于选择串行口的工作方式和指示串行口的工作状态。各位含义如下: sm0、sm1:串行口工作方式选择位。 sm2:多机通信选择位。 ren:串行口允许接收位。1时允许接收,0时禁止接收。 ti: 串行口发送中断标志位。在方式1中,于发送停止位之前,由硬件置位。因此ti=1,表示帧发送结束。 ri: 串行口接收中断标志位。在方式1中,当接收到停止位时,该位由硬件置位。ri=1,表示帧接收结束。(2) 串行数据缓冲器(sbuf)串行数据缓冲器sbuf的地址为99 h,用来存放需发送和接收的数据,它由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器,它们占用同一地址(99h)。当执行写sbuf指令时,数据写入到串行口发送缓冲器中,读sbuf就是读串行口接收缓冲器。(3) 电源控制寄存器(pcon)pcon的地址为87h,该寄存器的最高位(smod)是串行口波特率的倍增位,当smod=1时,串行口波特率加倍。系统复位时,smod=0。(4) 中断允许寄存器(ie)在ie中,es位为串行中断允许控制位。es=0时禁止串行中断,es=1时允许串行中断。3.2.3 数据发送与接收(1) 数据发送在不发送数据时,txd端保持高电平。当执行写sbuf的指令时,便启动一次发送过程;发送数据时,先发送一个起始位,该位通知接收端开始接收,也使发送和接收过程同步。接下来发送8位数据,先发送低位,最后发送的是高电平的停止位。(2) 数据接收 ren=1,cpu允许串行口接收数据,接收数据开始于检测到rxd(p3.0)端发生一个“1”到“0”的跳变。先接收起始位,然后依次将采样rxd端并将数据移入移位寄存器中。若满足条件ri=0且sm2=0或接收到停止位,则将前8位数据送入sbuf并置位ri;如果上述条件不满足,则数据丢失。(3) 波特率的设定串口方式1的波特率是可变的,由定时器t1的溢出率决定:(4.1) 其中,smod为pcon寄存器最高位的值。溢出率为溢出周期的倒数,假定计数初值为x,则计数溢出周期为(4.2) 其中,fosc为晶振频率。则波特率计算公式为:(4.3) 由波特率算出计数初值,以便进行定时器的初始化。初值x确定如下: (4.4) 4 显示部分hy-1286412是使用hd61202作为列驱动器,同时使用hd61203作为行驱动器的液晶模块,共有两片hd61202和一片hd61203。由于hd61203不与mpu发生联系,只要提供电源就能产生行驱动信号和各种同步信号,比较简单,所以不做介绍。hd61202是一种带有列驱动输出的液晶显示控制器,它可与行驱动器hd61203配合使用,组成液晶显示驱动控制系统。4.1 hd61202功能简介4.1.1 特点(1) 内藏6464=4096位显示ram,ram中每位数据对应lcd屏上一个点的亮、暗状态;(2) hd61202是列驱动器,具有64路列驱动输出;(3) hd61202的占空比为1/32-1/64。4.1.2 引脚功能cs1,cs2:芯片片选端,cs1和cs2低电平选通;e:读写使能信号,在e下降沿,数据被锁存(写)入hd61202;在e高电平期间,数据被读出;r/w: 读写选择信号,r/w=1为读选通,r/w=0为写选通;rs:数据、指令选择信号,rs=1为数据操作,rs=0为写指令或读状态;db0-db7:数据总线;rst:复位信号,复位信号有效时,关闭液晶显示,使显示起始行为0,rst可跟mpu相连,由mpu控制;也可直接接vdd,使之不起作用。4.2 hd61202的指令系统(1) 显示开/关指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db00 0 0 0 1 1 1 1 1 1/0当dbo=1时,lcd显示ram中的内容;dbo=0时,关闭显示。(2) 显示起始行(row)设置指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db0 0 0 1 1 显示起始行(0-63)该指令设置了对应液晶屏最上一行的显示ram的行号,有规律的改变显示起始行,可以使lcd实现显示滚屏的效果。(3) 页(rage)设置指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db0 0 0 1 0 1 1 1 页号(0-7)显示ram共64行,分8页,每页8行。(4) 地址(y address)设置指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db0 0 0 0 1 显示列地址(0-63)设置了页地址和列地址,就唯一确定了显示ram中的一个单元,这样mpu就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。(5) 状态指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db0 1 0busy 0 on/off rest 0 0 0 0该指令用来查询hd61202的状态,各参量含义如下: busy: 1-内部在工作 0-正常状态 on/off:1-显示关闭 0-显示打开 rest: 1-复位状态 0-正常状态在busy和rest状态时,除读状态指令外,其它指令均不对hd61202产生作用。 在对hd61202操作之前要查询busy状态,以确定是否可以对hd61202进行操作。(6) 数据指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db0 0 1 写 数 据(7) 读数据指令r/w rsdb7 db6 db5 db4 db3 db2 db1 db0 1 1 读 显 示 数 据读、写数据指令每执行完一次读、写操作,列地址就自动增1,必须注意进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。4.3 显示电路在stc89c52的p3.6和p3.7口接入四-二输入与非门芯片74ls00来控制显示器的读写使能信号端;显示器的8根数据总线接在stc89c52的p0口,实现数据传输;在显示器的v0口接一电位器,由于液晶的对比度会随着温度的变化而相应变化,所以加电位器可以调节液晶的对比度。图5-1 收发系统显示电路5 软件设计无线数据传输主要由无线数据收发器、stc89c52单片机、显示器和按键组成,收发器与stc89c52间用串行口通信。整个系统的各个部分都是服务于无线数据传输这个目的。所以,在整个系统的软件设计中,无线数据的传输是最为重要的。这里使用汇编语言编写单片机控制程序。控制系统cpu采用stc89c52单片机,nrf401芯片发射/接收模式由程序控制,当有控制发送的按键按下时,nrf401为发射状态,其余的时候nrf401始终处于接收状态。dout、din分别和单片机的rxd和txd端相连,作为发射和接收时的数据传输。txen和p1.0端相连,由单片机的p1.0端对其发射还是接收进行程序控制。5.1 主程序流程图当单片机上电开始执行之后,对液晶和单片机寄存器进行初始化,同时设置串口控制字及波特率,接着进入键盘扫描程序和接收程序。若有某个按键按下,则执行相应的键盘子程序;若单片机判断接收到数据,则开始进行crc校验14,如果数据正确就通过液晶显示传送的信息。主程序流程图见图6-1。开始 初始化设置串口工作方式nynn判断是否有按键按下执行相应的程序判断是否接收到数据crc校验是否正确数据处理送入显示扫描键盘,同时判断是否有数据接收yy 图6-1 主程序流程图5.2 液晶显示子程序流程图液晶显示模块hy-12864内有一个忙标志位acc.7,它反映了控制器hd61202内部运行时序状态。当acc.71时,表示内部操作正在运行,不能接受外部数据;当acc.70时,表示已准备好接收,可以随时接收单片机发来的数据和命令,这是hy-12864向单片机发出的唯一联络信号。液晶显示子程序流程图见图5-2。入口对hy-12864初始化写入显示设置命令acc.7=0?延时1ms获得显示ram地址yn延时1ms检测忙信号写入相应的数据数据显示完毕返回主程序图5-2 液晶显示子程序流程图5.3 数据收发子程序流程图单片机stc89c52控制nrf401的收发状态、完成编解码等工作。nrf401芯片 “pwr-up” 端接高电平,“freq” 端接低电平,分别表示系统在上电后始终处于 “正常工作模式”和“工作频道为通道1”。单片机stc89c52控制nrf401,使其一直为接收状态。当按键4按下时,stc89c52接收到输入的低电平信号,从脚送出高电平至p1.0脚,使nrf401进入发射状态。数据收发子程序流程图见图5-3。入口置nrf401为接收状态判断按键4是否按下置nrf401为发射状态数据发射yn键盘扫描图5-3 数据收发子程序流程图5.4 键盘子程序流程图下图为键盘子程序流程图,此流程图的含义是:当有按键按下时,程序开始进行判断是哪个按键按下,判断完毕后则转向相应的键处理子程序,进行字符的输入或命令的处理,并通过按键4把要发送的数据进行crc校验编码,再把编码后的数据发送出去。有按键按下判断是哪个按键按下按键1按键4按键3按键2crc校验发送数据清零选择要发送的数据将要显示的数据移位图5-4 键盘子程序流程图6结论此次设计将应用于无线通信领域,并且针对当前市场上无线产品的不足进行了改进。本文根据nrf401的特点,提出了一种将其应用无线数据收发系统的实现方案。此方案采用了较完善的软硬件设计和抗干扰措施,保证了系统工作的安全性和可靠性,是一种较好的设计思路,具有通用性,便于投入实际应用。并且只要稍作改动就可以应用到小区传呼、工业数据采集、自动读表、警报和安全系统、无线键盘、无线操纵杆、家庭自动化、遥测和玩具等其他一些短距离无线通信领域,实现无线数据的双向传输,具有较好的市场应用价值。参考文献1 黄智伟.无线数字收发电路设计,第2版,电子工业出版社,2004年,253-269.2 wu xunwei,hang guoqiang. low power dc circuits employing ac power supply, science in china (information sciences),2002,vol.45 no.3,232.3 苗长云,沈保锁,窦晋江等.现代通信原理,第1版,电子工业出版社,2005年,174-177.4 behrouz forouzan. introduction to data communications and networking,first edition,mechanic industry book concern,1999,121-125.5 kaveh pahlavan .nordic nrf401 product specification,nordic corporation,2000,36.6 nigel brooke.串行数据标准的选择与使用,电子产品世界,2000年,10月,31-32.7 richard g.lyons. understanding digital signal processing,bradford university,2001,36-37.8 tugal. d. a, tugal. 0. data transmission-analysis design applications,florence,italy,2004,32.9 赵景波,刘金辉,荣盘祥等.protel dxp 基础与实例培训教程,第1版,中国电力出版社,2005年,119-144.10 臧铁钢,唐才峰,陈学锋等. protel dxp 电路设计与应用,第1版,中国铁道出版社,2004年,172-179.11 刘立枫,赵民建.信号接收机,中国无线电电子学文摘,2005年,31期,45-47.12 周仕凤.用mcs-51做lcd接口实验,电子世界,2002年,第8期,37.13 李广第,朱月秀,王秀山等.单片机基础,第2版,北京航空航天大学出版社,2001年,40-70.14 杨振江,杜铁军,李群等. 流行单片机实用子程序及应用实例,第1版,西安电子科技大学出版社,2002年,102-115.15 张俊谟. mcs-51和80c51系列单片机,电子世界,2001年,第8期,30.16 蔡莹.液晶技术与电子纸,电子产品世界,2003年,11上半月,38-40.17 康华光,邹寿彬.电子技术基础,第1版,高等教育出版社,2002年,191-197.18 黄智伟,王彦,陈文光等.全国大学生电子设计竞赛训练教程,第1版,电子工业出版社,2004年,73-80.相关程序设计i nclude i nclude i nclude i nclude i nclude i nclude #define t0_8ms -8000#define t1_8ms -8000#define t2_1_25ms -576 /-1250*0.9216=1.25ms/*-系统函数-*/void maininit(void);/系统初始化void clrwdt(void);/喂狗void nrfinit(void);void systeminit(void);/系统初始化void systemsetup(void);/系统设置void systemioinit(void);/系统接口初始化void usersetup(void);/用户运行环境设置void timeinit(void);unsigned char crc8r(unsigned char crcbyte);unsigned int crc16r(unsigned int crcword, unsigned int crc);unsigned int gettxbuffword(unsigned char ledpos);void settxbuffword(unsigned char ledpos, unsign

温馨提示

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

最新文档

评论

0/150

提交评论