当前位置 —论文写论文— 范文

通信技术方面有关论文范文素材,与单片机原理与应用相关论文下载

本论文是一篇通信技术方面有关论文下载,关于单片机原理与应用相关本科毕业论文范文。免费优秀的关于通信技术及无线通信及嵌入式方面论文范文资料,适合通信技术论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

29702;速度的不同,PC机给开发板发送数据时,单片机采用中断的方式进行数据接收.通过软件设置单片机的传输属性参数为"9600,N,8,1″,来实现和PC机端串行口传输速率同步.开发板向PC机发送数据时,采用查询方式,这样可以节省单片机有限的资源. 开发板还要通过专门的接口和无线数据传输模块进行数据交换,由于系统设计为点对点通信,因此只使用了nRF2401一个信道.nRF2401的数据传输方式为同步传输,因此使用普通的I/O口通过软件方式模拟SPI方式传输. nRF2401有四种工作模式:收发模式,配置模式,空闲模式和关机模式[16][17].工作模式由PWR_UP,CE,TX_EN和CS三个引脚决定,详见表4.1.

表4.1nRF2401的各种工作模式的设置方式 工作模式PWR_UPCECS 收发模式110 配置模式101 空闲模式100 关机模式0**

前文已经讲过有关nRF2401的收发方式,这里重点讨论一下它的配置方式.nRF2401的所有配置工作都是通过CS,CLK1和DATA三个引脚完成,把其配置为ShockBurstTM收发模式需要15字节的配置字. ShockBurstTM的配置字可以分为以下四个部分: (1)数据宽度:声明射频数据包中数据占用的位数.这使得nRF2401能够区分接收数据包中的数据和CRC校验码, (2)地址宽度:声明射频数据包中地址占用的位数.这使得nRF2401能够区分地址和数据, (3)地址:接收数据的地址,有通道1的地址和通道2的地址, (4)CRC:使nRF2401能够生成CRC校验码和解码. nRF2401的配置字如表4.2所示: 在配置模式下要保持PWR_UP引脚为高电平,CE引脚为低电平,配置字从最高位开始,依次写入nRF2401.在CS引脚的下降沿,新送入的配置字开始工作. 表4.2nRF2401的配置字 位位数名字功能 Shockb BrstT M配置143:12024TEST保留 119:1128DATA2_W接收频道2有效数据长度 111:1048DATA1_W接收频道1有效数据长度 103:6440ADDR2接收频道2的地址,最高为5字节 63:2440ADDR1接收频道1的地址,最高为5字节 23:186ADDR_W接受频道地址位数 171CRC_L8位或16位CRC校验 161CRC_EN使能CRC校验 常用器件配置151RX2_EN使能第二频道 141CM通信方式设置 131RFDR_SB发射数据速率 12:103XO_F晶震频率 9:82RF_PWR发射输出电源 7:17RF_CH#频道设置 01RX_EN接收或发送操作 开发板通过串行口和PC机交换数据的流程图如下: 图4.1开发板和PC机通过串行口交换数据的流程图 开发板通过IO口和无线数据传输模块进行数据交换的流程图为图4.2.

图4.2开发板通过IO口和无线数据传输模块进行数据交换的流程图

4.1.2移动端驱动程序 移动端的开发板的结构和PC机端的开发板的结构完全相同,但由于它不需要和PC机通信,只需要和无线数据传输模块进行通信.因此相对另一端的驱动简单一些.具体编程规则在上一节已经详细叙述,这里不再多说,具体的程序是PC机端程序的一部分.

4.2串行口调试工具

串行口调试工具是用微软公司的visualc++6.0[20][21]开发的.几乎所有世界级的软件,从业界领先的Web浏览器到面向任务的企业应用,都是使用MicrosoftVisualC++开发系统来开发的.要用C++来开发Windows和Web上的高性能应用程序,VisualC++是效率最高的首选工具.VisualC++6.0在不牺牲灵活性,性能和控制力度的同时,给C++带来了更高水平的生产效率.它具有可视化的界面,封装了大量的类,使界面制作变的很简单,使用它可以方便快捷地开发Windows环境下的应用程序.visualc++6.0专门为串行口通信提供了Msm[20][21]控件,使用该控件程序员不必花时间去了解比较复杂的API函数,通过简单修改控件的属性和使用控件提供的方法就可以实现对串口的配置,完成串口发送和接收数据. 4.2.1串行通信的基本原理 串行端口的本质功能是作为CPU和串行设备间的编码转换器.当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位.在接收数据时,串行的位被转换为字节数据.在Windows环境下,串口是系统资源的一部分.应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口).32位下串口通信程序可以用两种方法实现:利用ActiveX控件,使用API通信函数.在本次课程设计中,所用到的是MFC的MSComm控件,下面先将这个关键的控件做一下简单的介绍. MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,为应用程序提供串行通信功能,它为应用程序提供了通过串行接口收发数据的简便方法.MSComm控件在串口编程时非常方便,其实际上是调用了API函数,但我们不必再了解复杂的API函数就可控制串行通信.通信的过程,实际上是对属性的操作和对控件事件的响应. 在Windows操作系统中,串行通信采用"事件通知"方式,支持数据按块传送.进行通信时,Windows开辟一个用户定义的输入输出缓冲区,每接收一个字符就产生一个低级硬件中断,串行驱动程序立即取得控制权,并将字符放入输入数据缓冲区,然后将控制权返还正在运行的应用程序.如果输入数据缓冲区满了,驱动程序用当前定义的流控制机制通知发送方停止发送数据.发送数据也采用类似的处理方式,应用程序将需要发送的数据放入输出数据缓冲区,串口每发送一个字符就产生一个低级硬件中断. VisualC++6.0通信控件Msm提供了功能完善的串口数据的发送和接收功能,Msm控件具有两种处理方式:一是事件驱动(Event-driven)方法,一是查询法. 1)事件驱动方式.当通信事件发生时,MSCOMM控件会触发OnComm事件,调用者可以捕获该事件,通过检查其CommEvent属性便可确认发生的是哪种事件或错误,从而进行相应的处理.这种方法的优点是响应及时,可靠性高. 2)查询方式.在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误.如果应用程序较小,这种方法可能更可取.例如,如果写一个简单的拨号程序,则没有必要每接收1个字符都产生事件,因为惟一等待接收的字符是调制解调器的"确定"响应. 在使用MSCOMM控件时,1个MSCOMM控件只能同时对应1个串口.如果应用程序需要访问和控件多个串口,那么必须使用多个MSCOMM控件. 在VC++中,MSCOMM控件只对应着1个C++类–CMSComm.由于MSCOMM控件本身没有提供方法,所以CMSComm类除了Create()成员函数外,其他的函数都是Get/Set函数对,用来获取或设置控件的属性.MSCOMM控件也只有1个OnComm事件,用来向调用者通知有通信事件发生. MSCOMM控件有许多很重要的属性,限于篇幅只给出几个较为重要和常用的属性.

表4.3MSCOMM控件的重要属性 属性说明 CommPort通信端口号 Settings以字符串形式表示的波特率,奇偶校验,数据位 PortOpen通信端口的状态,打开或是关闭 Input接收数据 Output发送数据 InputMode接收数据&

1 2 3 4 5 6 7 8 9

通信技术方面有关论文范文素材,与单片机原理与应用相关论文下载参考文献资料:

怎么能写好议论文

写博士论文

如何写一篇议论文

写sci论文

论文后记写什么

写议论文的方法

不想写论文

如何写数学建模论文

论文结尾怎么写

怎样写议论文

单片机原理与应用(7)WORD版本 下载地址