无线通信测试平台的开发_第1页
无线通信测试平台的开发_第2页
无线通信测试平台的开发_第3页
无线通信测试平台的开发_第4页
无线通信测试平台的开发_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、无线通信测试平台的开发前言随着社会的快速发展,无线通信在人们信息交流的各个方面发挥了举足轻重的作用,尤其是在长距离与移动中的交流方面,起到了不可替代的作用。因此,无线通信成为当前发展最快的技术之一。于是,各种全新的无线通信概念层出不穷,新体制及其关键技术日新月异。这些重大观念的改变和进步成为21世纪无线通信革命的标志。100 年以来的无线通信的发展,已形成了蜂窝移动系统、数字广播系统、无线局域网、卫星通信系统等多种体制的无线通信网络。无线通信的基础理论随着微电子技术、数字技术、计算机技术的发展,也得到巨大的发展。第一代模拟移动通信提出了“蜂窝”概念;第二代移动通信系统引入“数字技术”,实现了以

2、GSM 为代表的数字移动通信;而以CDMA 技术和宽带通信业务为主的新技术,构成第三代移动通信系统的基本特征,包含话音、数据、视像、ISDN 和多媒体各种业务。第三代移动通信的目标是: 世界范围内的高度一致性,与固定网络各种业务相互兼容,高服务质量,全球范围内使用的小终端具有全球漫游能力,支持多媒体和广泛的业务。因此,有人将第三代移动通信的目标归纳为5A ,即任何人在任何时间、任何地点可以任何方式和任何人进行通信。然而尽管目标远大,但困难重重。首先是如何在无线设备中增加新的功能,尤其是移动视频通信、视频多媒体等多媒体功能。这需要对多种技术和不同的软/硬件设计技巧进行不断地改善,包括:提高集成度

3、及缩小体积;提高速度,增强性能,同时降低功耗;降低成本,增强处理能力;提供完整平台方案。因此,本论文试图以nRF905为基础,从设计到开发,讨论一下无线测试平台的使用。第一章无线测试平台的组成一、无线测试平台的组成平台模型如图1-1所示,平台由五部分组成: 无线通信模块,液晶显示模块,按键控制模块,数/模和模/数转换模块,串口通信模块。 图1-1无线测试平台的组成二、测试平台性质的介绍在科技发展日益成熟的情况下,系统化的操作模式已经广泛地进入到包括科研在内的科技相关产业的每一个部门,对于通信领域设计来说,我们同样需要一个成熟的测试平台。成熟的测试平台能使设计人员从繁重的测试工作中解脱出来,也有

4、利于项目的进展。正向设计采用技术细分的方法,将设计分成以下几个部分:性质分析:对实际应用进行调查,分析并进行预测,决定项目的方向。系统设计:对项目进行合理的划分和整体规划。模块设计:针对具体划分的模块进行满足要求的设计。测试验证:对设计好的项目进行全面的测试,调试和验证。其中,测试是把握质量的关口,它对项目的最终成功起到非常重要的作用。三、测试平台功能概述此平台设计试图实现包括硬件、软件、协议、例程,能够进行ASCII编程、数据传送等功能。理想的平台可以实现短距离的无线通信,利用nRF905在设计上的优点,可以保证数据传输的质量。同时,液晶可以同步显示操作的过程、单片机和计算机的通信内容、无线

5、通信内容,以及模/数转换后的结果。第二章平台各功能模块介绍一、A T89C51功能模块(一A T89C51芯片介绍AT89C51单片机结构与8051系列基本相 近,只是片内有一个4KB的Flash存储器。输出端子和指令系统都与8051系列兼容。AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式,即空闲方式(Idle Mode和掉电方式(Power Down Mode。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串口和中断系统都继续工作。在掉电方式中,片内震荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的图2-1

6、A T89C51(包含晶振电路内容,直到下一次硬件复位为止。(二A T89C51在平台中的应用在此平台上,1、P14P17接按键,分别启动液晶显示、A/D、D/A、无线通信模块。2、P00P07脚进行数据通信:(1传输A/D后的数据信号给AT89C51;(2送数据信号给DAC0832;(3传送控制信号和数据信号给nRF905及传回nRF905的反馈信号; (4送信息及控制数据给液晶。3、P 3.0 (RXD 串行口输入4、P 3.1 (TXD 串行口输出二、ADC0809功能模块(一ADC0809芯片介绍ADC0809的特性:(1分辨率:8位;(2转换时间:100us;(3总不可调误差:+1L

7、SB;图2-2ADC0809(4单电源:+5V;(5具有锁存功能的8路模拟开关,可以对8路模拟电压分时进行转换;(6输出与TTL兼容;(7由锁存三态输出。(二ADC0809引脚功能1、IN0IN7是模拟量输入端,其地址编码由A、B、C端控制 表2-1ADC0809模拟输入端地址控制表2、Ref(+、Ref(-:基准电压的正极和负极。3、ALE: 地址锁存允许信号。4、D7-D0: 转换的数据输出线。5、START: 启动信号(输入。为了启动A/D转换过程,应在此引脚上施加一个正脉冲,脉冲的上沿将所有内部寄存器清零。在其下降沿开始A/D变换过程。6、EOC:转换结束信号(输出。在START信号上

8、升之后,0-8个时钟周期内,EOC信号变为低电平。当转换结束,所得到的数据可以被读出时,EOC变为高电平。当此A/D转换器与微机接口时,EOC可用来申请中断。7、OE:输出允许信号(输入,高电平有效。它有效时,将输出寄存器中的数据放到数据线上,以供CPU读入。(三 ADC0809与A T89C51的接口当74LS139的11b和WR为低电平,通过或非门(74LS02,输出一个正脉冲,使启动信号START及地址锁存允许信号ALE有效,将地址送到地址总线,模拟量经A、B、C 选择开关所指定的通道送到A/D转换器。在START下降沿的作用下,逐次逼近过程开始,即转换开始,此时转换结束信号EOC变为低

9、电平。直到转换结束,转换结束信号EOC变为高电平,经反相器后,使int1产生低电平,可向CPU申请中断。此时,如果要从A/D 转换器读取转换结果,单片机应发出一个输出允许信号,即使74LS139的11b和RD均为低电平,经或非门,使OE出现高电平,这时可以从A/D转换器读取数字量。(全电路详见图2-9。三DAC0832功能模块(一 DAC0832芯片介绍DAC0832是美国国家半导体公司(NSC的产品,它可以直接与单片机接口,不需要外加I/O接口芯片。它采用CMOS工艺。它由三大部分组成:一个8位输入寄存器,一个8位DAC寄存器和一个8位D/A转换器。DAC0832器件由于有两个可以分别控制的

10、数据寄存器,使用时有较大的灵活性。可以根据需要接成多种工作方式。在使用时,可以采用双缓冲方式(两极输入锁存,也可以用单缓冲方式(只用一项输入锁存,另一级始终保持直通的形式。因此,这种转换器使用非常方便灵活。 图2-3DAC0832 (LM358运算放大器(二 DAC0832引脚功能1、CS: 片选信号,低电平有效。2、ILE: 输入锁存允许信号,高电平有效。3、WR1: 写信号1端,低电平有效。当为低电平时,用来将输入数据传送到输入锁存器;当为高电平时,输入锁存器中的数据被锁存,当ILE为高电平时,又必须CS和WR1同时为低电平时,才能将锁存器中的数据进行更新。以上3个控制信号构成第一级输入锁

11、存。4、WR2: 写信号2端, 低电平有效。该信号与XFER配合,可是锁存器中的数据传送到DAC寄存器中进行转换。5、XFER:传送控制信号,低电平有效。该信号与WR2配合,构成第二级输入锁存。6、D0D7:数字输入量。D0是最低位(LSB,D7是最高位(MSB。7、Iout1:DAC电流输出1端。当DAC寄存器全为1时,表示Iout1为最大值,当DAC寄存器全为0时,表示Iout1为0。8、Iout2:DAC电流输出2端。Iout1+ Iout2=常数。9、R fb: 反馈电阻,为外部运算放大器提供一个反馈电压。R fb可由内部提供,也可由外部提供。10、Vref:参考电压输入,要求外部接一

12、个精密的电源。当Vref为+5V时,可获得满量程四象限的可乘操作。11、AGND: 模拟地。12、DGND: 数字地。四、nRF905功能模块(一nRF905芯片介绍nRF905 是一个无线电收发两用单芯片,ISM频带433/868/915mHz.它包含一个完整的频率合成器,接收器与解调器,功率放大器,晶体振荡器和调制器相连。自动地处理CRC 检验和序文生成。可容易地配置使用SPI接口。消耗的电流非常低,在传输状态下,发射功率为-10dBm时仅仅11mA,接收模式下12.5mA。其特征如下:1.在掉电模式下运行发送模式3.6v3.多信号通道运行ETSI/FCC兼容4.通道转换转时间小于650u

13、s5.材料价格低6.无外部SAW滤波器7.最大发射功率可达到10dBm8.“发射前先验”载波监测输出CD9.收发空数据报时,发送数据接收就绪DR信号10.收包裹使用地址匹配检测AM11.自动重发机制12.自动CRC检验和序文生成13.低电流TX,典型11mA(当发射功率在-10dBm低供电流RX,典型12.5mA(二nRF905功能引脚nRF905有32个引脚,其功能见(附录二表格。常用的nRF905是连接好外围电路的,称为PTR8000模块。其结构见(附录一电路图。PTR8000模块引脚有14个,其功能见下表 表2-2PTR8000模块引脚功能(三PTR8000硬件接口 图2-41、SPI接

14、口:由SCK、MISO、MOSI以及CSN组成:(1在配置模式下,单片机通过SPI借口配置PTR905的工作参数;(2在发射/接收模式下,单片机SPI发送和接收数据;用于SPI接口的有用命令请参阅nRF905使用说明中表格SPI串行接口指令。当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN的高到低的转换开始。2、状态输出接口:提供载波检测输出CD,地址匹配输出AM,数据就绪输出DR。(四nRF905工作模式: 表2-3nRF905工作模式1、nFR905的发射模式:nFR905使用了Nordic VLSI的发射模式特性,这种模式可以由nFR905提供高数据率,而无需由MCU

15、高速的数据处理和时钟恢复。在设置与芯片内FR协议相关的信号为高速处理的同时,nFR905提供程序微处理器一个简单串行接口,数据率由接口微处理器自身设置。在命令数字部分的程序低速率工作的同时,在RF联接上将数据最大化,nFR 905模式降低程序中的平均电流消耗。在接收模式下,当一个合法地址和载重量被分别地接收到时,通知微处理器地址匹配和数据接收就绪。在发射模式下,nRF 905自动地产生序文和CRC 校验。数据接收就绪通知微处理器传送已经完成了。总之,这意味着降低微处理器在低功耗时的存储要求,同时降低软件的完成时间。2、典型的发射模式:(1当程序处理器拥有路由节点的数据时,串行接口将接收地址和发

16、射流量信息锁在nFR905中。程序协议或微处理器设置接口的速度。(2微处理器将 TRX_CE 和TX_EN置高,进行发射。(3905的发射:无线电自动通电数据包完成(加序文,CRC计算数据包发送(1000KBPS, GFSK, 曼彻斯特编码数据就绪当传输完成时被置高。(4如果AUTO_RETRAN被设高,nRF905连续重发包直到TRX_CE变为低。当TRX_CE被设低,nFR905完成发送向外发的包,然后自动设为支持模式。这种发射模式保证了传输一个包的过程,只要开始就能完成,无论TRX_CE和 TX_CE 在传送时被如何设置,这种新的模式在传送完成的时候仍是工作的。3 、发射流程: 图2-5

17、4、典型的接收模式:(1接收模式选择TRX_CE和TX_EN为低。(2在650us后,nFR905控制空中接收的通信。(3当nFR905探测到一个在接收频率的载波时,载波监视针置高。(4当一个合法地址被接收后,地址匹配针被置高。(5当一个合法包被收到后(找到正确的CRC,nFR905去掉序文和地址和CRC位,然后数据就绪位被置高。(6微处理器设TRX_CE为低,以进入支持模式。(低电流模式(7微处理器能在适当的速率,通过串行接口输出时钟给流量数据。(8当获取所有的流量数据后,nFR905将数据就绪位和地址匹配位再置低。(9芯片当时为接收做好准备,发射或掉电模式做好了准备。如果TRX_CE或TX

18、_EN在接收包时被改变,nFR905立即改变模式,包被丢失。但是,如果微处理器感测到AM针,它知道什么时候芯片接收一个发来的包并能决定是否等待DR 信号或进入一个不同的模式。5、接收流程: 图2-66、掉电模式:在掉电模式下,nRF905只能最小消耗电流,典型地小于5uA。当进入这种模式下,装置不工作,平均最小电流消耗和最大电池寿命。掉电模式下,配置字的内容保持。7、支持模式:支持模式是用来在保持接收和发送短启动时间下,最小化平均电流消耗。在这种模式,晶振的部分可用。电流消耗是与晶振频率独立的。Ex: IDD=12uA 当4mHzIDD=46uA 当20mHz如果nRF905的uP时钟使能,电

19、流消耗增加,与负荷的静电容量和频率独立。在支持状态下保持配置字内容。五、MAX232功能模块(一MAX232 芯片介绍:MAX232 芯片是一种较新的RS232的转换芯片,它可实现TTL电平与RS232电平转换,MAX232内部有电平倍增电路和转换电路,仅需+5V电源便可工作。它引脚分布如图2-7所示。图2-7(二单片机与PC机串行通信的连接图:图2-7 图2-8六GDM12232E功能模块(一GDM12232E性能特征1.122*32点,8192个中文字符2.128个字母字符3.64*256位显示寄存器4.强显示控制功能5.+2.7+5.5V供电6.STN,1/32责任,LED BKL或EL

20、 BKL7.4位/8位串行接口此外,GDM12232E 拥有自动电源启动复位功能;提供外部触发引脚;配合外部SEGMENT驱动器可以扩充显示区;内部震荡器由外部电阻调整;(二GDM12232E 引脚功能 表2-4(三读写命令的选择 表2-5七、按键控制电路(一键盘的工作原理在一个计算机系统中,输入和输出设备是其重要组成部分,程序数据等要通过输入设备输入到计算机,常用的输入输出设备有键盘、显示器、打印机等。其中键盘是微型机器常用的廉价输入设备,操作员在键盘上可以输入数据地址或者指令,键盘上闭和键的说明,如果硬件电路来实现的称为编码键盘,如果靠软件来实现的称为未编码键盘,对于单片机系统,常用的是未

21、编码键盘。按照键盘与CPU的连接方式可以分为独立是键盘和矩阵式键盘,独立式键盘是各按键相互独立,每个按键占用一个I/O口线,每个I/O口线上的按键的工作状态不会影响其他I/O口。缺点是:在按键数量较多时,I/O口浪费较大,电路结构显得复杂。本次设计中我们选用四个独立式键盘控制平台各项工作。八、测试平台原理设计(一原理图的设计原则和结论 图2-91、总体设计:(1了解系统功能和技术指标(2选择单片机类型:AT89C51;(3关键器件选择:ADC0809, DAC0832, MAX232, nRF905, GDM12232E;(4按软件、硬件划分。2、硬件设计:(1元器件选择原则:综合考虑性能指标

22、参数,经济性,通用性,速度要匹配,电路类型统一;(2系统构成方式选择:模块化系统;(3系统硬件电路设计规则:尽可能选择标准化、模块化的电路系统配置及扩展标准必须充分满足系统的功能要求,并留有余地,以便二次开发单片基外接电路较多时,必须考虑其驱动能力。可靠性及抗干扰性考虑安装、调试、维护的方便(二PCB图的设计原则和结论 图2-10绘制PCB板要遵循以下原则:1.晶振必须尽可能靠近CPU晶振端子,且晶振电路下方不能走线,最好在晶振下方放置一个与地线相连的屏蔽层。2.电源、地线要求:尽量不安排在一个面上,且平行走线,这样寄生电容起滤波作用。3.模拟信号和数字信号不能共地。4.对于输入信号线,走线尽

23、可能短,防止可能出现的干扰,不同信号线避免平行走线,上下两面的信号最好交叉走线。第三章软件调试实验过程一软件设计:(一DAC0832模块一路模拟量输出的DAC0832与AT89C51的接口电路,ILE接+5V,WR1和WR2相连并接到AT89C51的WR,CS和XFER相连并接到74LS02的地址线A0,显然当其为低电平时,选中DAC0832。DAC0832作为A T89C51的一个外部I/O口,口地址为00FEH,CPU 对它进行一次写操作,即把一个数字量写入DAC寄存器,DAC0832输出一个新的模拟量。DAC: MOV DPTR, #00FEHMOV A, #05FHMOVX DPTR

24、, ARET(二ADC0809模块ADC0809作为AT89C51的一个扩展I/O口,采用线性选址的方法,口地址为00F8,选中ADC0809的INT0输入。可采用中断控制方式,由外部中断1的中断服务程序读A/D 转换结果,也可以直接检测INT1脚电平的变化,判断一次A/D转换结果是否结束,然后从A/D口读取转换后的结果。下面是A/D转化的子程序。执行该程序后,在50H的1个单元中存有A/D转换后的结果,如果在输入端分别输入+5v、+3v和0v直流电压,执行该程序后,检查50H单元的值是FFH。AD: SETB EX1SETB IT1SETB EAMOV DPTR, #00F8HMOV A,

25、#00HMOVX DPTR, AN2: SJMP N2RETPIT: MOV DPTR, #00F8HMOVX A, DPTRMOV 50H,AMOV A, #00HMOVX DPTR, AMOV TMOD, #20HMOV TH1, #0FdHMOV TL1, #0FdHMOV SCON, #0d8HMOV PCON, #00HSETB TR1ACALL RS232RET其它模块程序,请见附录三。二、调试结论在调试过程中,遇到最明显的问题是无法正确而快速地发现故障、解决故障。原因有两点,第一是我们采用了典型的模块划分思想,先完成模块设计,再嵌入总程序,它的优点是逻辑简单,而缺点是嵌入过程中必

26、须全面考虑所有模块的时序、冲突等。第二是我们在以前的学习中只注重了理论学习,而忽略了实践操作,从而缺乏分析故障的能力。在故障发生时,无从下手。最后,我们只能使部分平台正常工作,但我们仍坚持完成C+部分程序的设计。目的是体现设计思路的完整性。第四章基于C+语言的界面设计一、利用串口通信控件编程(一安装控件C+ Builder本身并不提供串行通讯控件MSComm,但我们却可以通过注册后直接使用它。启动C+Builder5.0后,然后选择C+ Builder主菜单中的Component菜单项,单击Import Active Control命令,弹出Import Active窗口,选择Microsof

27、t Comm Control6.0,再选择Install 按钮执行安装命令,系统将自动进行编译,编译完成后即完成MSComm 控件在C+Builder 中的注册,系统默认安装在控件板的Active菜单, 接下来我们就可以像使用C+ Builder本身提供的控件那样使用新注册的MSComm控件了。(前提条件是你的计算机上安装了Visual Basic(二界面设定新建一个工程Project1,把注册好的MSComm 控件加入到窗体中,4个Button分别用来打开串口 、关闭串口、发送就绪、接收就绪 ,2个Memo 控件分别用来显示接收到的数据和发送的数据。Button1用来打开串口,Button2

28、用来关闭串口,Button3用来发送数据,Button4用来接收数据。Memo1用来显示接收的数据,Memo2显示发送的数据。(三设计程序代码:请见附录四。实现后的窗口图如下: (四 编译后的串口通信界面编译后的界面中控件消失,只有两个按钮和两个Memo。 按下“打开串口”,允许通信: 按顺序按下“发送就绪”,“接收就绪”,通信成功: 二、串口通信实现的具体功能此界面在平台工作中所承担的任务是显示单片机和计算机之间的通信。具体体现在接收单片机AT89C51发送的数据,包括:模/数转换结果,无线通信接收到的数据(来自其它的单片机;将接收结果通过串口发给单片机,以便在显示屏上显示。用C+语言编程的

29、优点是:实用性强,可读性强,可以组合成大型程序。在这次编程中,我们选取了典型的串口通信模式,用最简单的语言实现平台的要求。不过,作为初学者,我们的设计也是存在缺点的:我们设想的通信比较简单,没有考虑平台上各个模块的存储能力,一旦进行大量数据的通信,可能发生系统混乱,如数据丢失和乱码。这种通信实现了功能性,但没有市场推广的可操作性,即不能承受和解决高速率和大数量的通信要求。结论本论文对无线通信测试平台的开发进行了研究,并简单介绍了平台的组成、功能和技术特点,介绍了无线测试平台的软、硬件组成,详细分析了其主要功能,并且在功能分析的基础上,提出了一个设计方案。本课题共分硬件设计和软件设计两大部分。本

30、文的特点是偏重硬件设计。其优点在于对硬件组成、模块化分、电路原理设计、电路板设计以及串口通信界面的设计部分介绍的非常详细。论文重点说明了设计的思路。同时,本文也有一定的漏缺,全文对单片机软件程序的设计说明比较简单。并且,调试测试平台方面分配的时间比较紧,分析故障的能力不足。不过,通过本论文的学习,本人在理论和实践方面都有了明显的进步:1、论文期间,通过对电路设计理论的学习,使得我对这一学科的认识从知之甚少到有了较多的了解和认识,掌握了如何去学习新理论和新知识的方法,这为我日后的工作和学习打下了坚实的基础。2、通过对串口通信界面的设计,使得我对编程有了更加深刻的认识,掌握了软件开发的流程,具备了

31、初步编程的能力。3、同时,我也将吸取这次研究经历的教训,在测试实践部分提高自己的能力,将努力设计出更具有应用性质的成果。致谢经过了四个月的学习,我的毕业论文终于完成了,其中除了我的个人努力之外,最主要还是感谢*老师和*老师给予我的巨大帮助,不但让我按时且圆满的完成了毕业课题的研究,而且还让我学到了许多书本上难以学到的知识。在这段时间中,两位老师严谨的治学态度、深厚的理论基础和扎实的实践功底,深深地感染了我及实验室中的每一位同学,使我们得到了宝贵的学习经历。感谢两位老师无私的奉献,他们高尚的科研精神鼓舞了我,我将在科学之路上继续努力,以回报每一位曾经为我留下汗水的老师。参考文献1 崔玮Prote

32、l99SE电路原理图与电路板设计教程海洋出版社 2005 第1版2 清源计算机工作室Protel 99原理图与PCB设计机械工业出版社 2000 第1版.3 江太辉MCS-51系列单片机原理与应用华南理工大学出版社 20024 马忠梅、籍顺心、张凯、马岩单片机的C语言程序设计北京航空航天大学出版社1999 第1版5 张毅刚、彭喜源、谭晓昀、曲春波单片机应用设计哈尔滨工业大学出版社1997 第2版6 胡波、张昆C+Builder6 编程实例教程北京希望电子出版社 2002 第1版7 任常锐C+ Builder高级编程机械工业出版社 20008 付家才单片机控制工程实践技术化学工业出版社20049

33、 EBOOKSingle chip 433/868/915 MHz Transceiver Nrf905 200510 EBOOK中文字型点阵LCD控制驱动器 200511 周伟高精度ADC芯片MAX1132原理与应用同济大学出版社 2004附录一 (nRF905及外部电路附录二ORG 0000HAJMP MAIN ;跳入主程序ORG 0013HAJMP PIT ;进入AD中断程序ORG 0050HMAIN:MOV P1, #0FFHMOV A, P1CPL AANL A, #0F0HJZ GORETLCALL DELAY1 ;延时JK: JB ACC.4, KEY0 ;判断哪个按键被按下JB

34、 ACC.5, KEY1JB ACC.6, KEY2JB ACC.7, KEY3GORET: AJMP MAINDELAY1: MOV R7, #0AHDL1: MOV R6, #0FFHDL2: DJNZ R6, DL2DJNZ R7, DL1RETKEY0:LCALL INITIAL ;调用显示初始化LCALL DISP0 ;调用显示SETB P1.2 ;启动ADCLR P1.3LCALL AD ;调用AD子程序RETKEY1: LCALL INITIALLCALL DISP1SETB P1.2 ;启动DASETB P1.3LCALL DAC ;调用DA子程序RETKEY2: LCALL

35、INITIALLCALL DISP2LCALL NRF905TXRETKEY3: LCALL INITIALLCALL DISP3LCALL NRF905RXRETAD: SETB EX1SETB IT1SETB EAMOV DPTR,#00F8HMOV A, #00HMOVX DPTR, AN2: SJMP N2RETPIT: MOV DPTR, #00F8HMOVX A, DPTRMOV 50H,AMOV A, #00HMOVX DPTR, AMOV TMOD, #20HMOV TH1, #0FdHMOV TL1, #0FdHMOV SCON, #0d8HSETB TR1ACALL RS2

36、32RETRS232:PUSH DPHPUSH DPLPUSH ACCMOV SBUF,50HW AIT: JNB TI,WAITCLR TIPOP ACCPOP DPLPOP DPHSETB EARETDAC: MOV DPTR,#00FEHMOV A,#05FHMOVX DPTR ,ARETINITIAL:MOV IP, # 04HMOV IE, #084HMOV TCON, #00HMOV P2, #00HLCALL WRCOMMONDMOV P2, #030HCLR P0.3LCALL DELAY2LCALL WRCOMMONDCLR P0.3LCALL WRCOMMONDMOV P2

37、, #030HCLR P0.3LCALL WRCOMMONDMOV P2, #0EHCLR P0.3LCALL WRCOMMONDMOV P2, #01HCLR P0.3LCALL WRCOMMONDMOV P2,#06HCLR P0.3RET WRCOMMOND:ACALL BUSYCLR P0.1CLR P0.2SETB P0.3RETDELAY2: MOV R5,#0AHDL3: MOV R7,#0FFHDL4: DJNZ R6,DL4DJNZ R7,DL3RETBUSY: CLR P0.1SETB P0.2SETB P0.3MOV C,P2.7CLR P0.3B1: JC GOORET

38、ACALL DELAY1AJMP BUSY GOORET: RETDISP0: LCALL WRCOMMONDMOV P2, #081HCLR P0.3MOV P2, #00HMOV R7, #08HD0: MOV DPTR, #K0MOV A, #00HMOVC A, A+DPTRMOV P2, AINC DPTRDJNZ R7, D0ACALL DELAY2MOV P2, # 00HRETDISP1: ACALL WRCOMMONDMOV P2, #0081HCLR P0.3MOV P2, #00HMOV R7, #08HD1: MOV DPTR, #K1MOV A, #00HMOVC A

39、, A+DPTRMOV P2, AINC DPTRDJNZ R7, D1MOV P2,#00HRETDISP2: ACALL WRCOMMONDMOV P2,#0081HCLR P0.3MOV P2,#00HMOV R7,#08HD2: MOV DPTR,#K2MOV A,#00HMOVC A,A+DPTRMOV P2,AINC DPTRDJNZ R7,D2ACALL DELAY2MOV P2,#00HRETDISP3: ACALL WRCOMMONDMOV P2,#081HCLR P0.3MOV P2,#00HMOV R7, #0FHD3: MOV DPTR, #K3MOV A, #00HM

40、OVC A, A+DPTRMOV P2, AINC DPTRDJNZ R7, D3ACALL DELAY2MOV P2, #00HRETNRF905TX: ;905发送程序SETB P1.1 ;TXEN 置1 spi编程模式SETB P0.0 ;PWR 置1CLR p1.0 ;TRX 置0MOV A,#056H ; 传输的数据LCALL NRF905WRMOV A,#060HLCALL NRF905COMMANDMOV A,#020H ;发控制字LCALL NRF905COMMANDMOV A,#022H ;发控制字LCALL NRF905COMMANDRETNRF905RX: ;905接收程

41、序SETB P1.0 ;TRX置1 接收模式CLR P1.1 ;TXEN 置0NN1: JB P1.0,NN1 ;判TRX是否为1,判断接收是否结束LCALL NRF905RD ;调用读程序RETNRF905COMMAND:SETB P0.6 ;SCK 置1 时钟置1MOV R7,#08HDONRFCO: ANL A,#08HJB ACC.1,SETSCK0SETSCK0 : CLR P0.5AJMP NRFDL0SETSCK1: SETB P0.5NRFDL0: MOV R7,#02HNFDL1: MOV R6,#0FFHNRDLL1: DJNZ R6,NRDLL1DJNZ R7,NFDL1

42、RETSETB P0.6 ;SCK 置1 时钟置1LCALL NRFDL1RL ACLR P0.6 ;SCK 置0 时钟置0DJNZ R7,DONRFCORETNRF905RD: MOV A,#00HMOV R7,#08H ;循环读取DONRFR : RL A ;左移SETB P0.6 ;SCK 置1 时钟置1JB P0.4,SET1 ;读数据通过MISOSET0: ORL A,#00HAJMP SETSCK00SET1: ORL A,#01HSETSCK00: CLR P0.6 ;SCK 置0 时钟置0LCALL NRFDL1DJNZ R7, DONRFRMOV 50H,ARETNRF905WR:SETB P0.6 ;SCK 置1 时钟置1MOV R7,#08HDONRFW:ANL A,#08HJB ACC.1,SET111SET000: CLR P0.5 ;读数据通过MOSIAJMP NRFDL00SET111: SETB P0.5 ;读数据通过MOSINRFDL00:SETB P0.6 ;SCK 置1 时钟置1LCALL NRFDL1RL ACLR P0.6 ;SCK

温馨提示

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

评论

0/150

提交评论