《于基nrf905单片机控制的遥控车--本科毕业设计.doc》由会员分享,可在线阅读,更多相关《于基nrf905单片机控制的遥控车--本科毕业设计.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、届别 2013 届 学号 200914240144 毕业设计基于nRF905单片机控制的遥控车 姓 名 郭雪平 系 别 物理与电子信息工程系专 业 电气工程及其自动化 指导教师 李欣茂 职 称 讲师 完成时间 2013年5月10号 目录摘 要IABSTRACTII1. 遥控车的课题背景与发展趋势11.1 课题背景11.2 发展趋势11.3 无线遥控的应用范围21.4 系统设计方案22 硬件系统设计32.1硬件组成32.2小车主体模块32.3信息产生模块32.4信息的发送与接收模块42.5电机驱动模块52.6 单片机最小系统62.7 电源模块电路63 系统的软件设计73.1 C语言简介73.2
2、主控程序流程图83.2 发送模块程序流程图93.3 接收模块程序流程图103.4 系统的仿真123.5系统检测与调试13总 结14参考文献15致 谢16附录一:17附录二:18实物图:28摘 要 随着电子技术的飞速发展,新型大规模遥控集成电路的不断出现,使得遥控技术有了日新月异的发展。遥控装置的中心控制部件已从早期的分立元件、集成电路逐步发展到现在的单片微型计算机,智能化程度大大提高。近年来,遥控技术在工业生产、家用电器、安全保卫以及人们的日常生活中使用越来越广泛。无线电遥控技术的诞生,起源于无线电通信技术,最初的构想是无线电报技术的建立,真空电子管的发明使得无线电技术的应用和普及很快应用在民
3、用和军用等各个领域。自从爱迪生发明电灯以来,人类对照明电器的开启和关断控制主要使用手动机械开关。随着无线电的发展,从上个世纪60年代开始,相继出现了无线电遥控的小车。 本次设计的无线遥控车系统以STC89C52单片机为核心。主要是有发射部分、接收部分和电机控制三部分组成。无线模块nRF905通过发射频率为433MHz的无线波段来发送控制信号,通过STC89C52单片机的解码,实现控制信号的输出。电机驱动电路接到控制信号后,经过驱动芯片L298进行控制小车的电机动作。主要是有发射部分、接收部分和电机控制三部分组成。发送和接收部分是采用专用的nRF905无线模块进行数据的传输和控制的。关键词:单片
4、机;无线模块; 驱动 ABSTRACT With the rapid development of electronic technology, the appearance of new large-scale remote control integrated circuit, remote control technology has a rapid development. The center of the remote control device control unit has been from the early separation of components, inte
5、grated circuit gradually developed to the present single chip microcomputer, intelligent degree is greatly increased. In recent years, remote control technology in industrial production, household appliances, security and Peoples Daily life more and more widely used. The birth of the wireless remote
6、 control technology, originated in the radio communication technology, the original idea is the establishment of a wireless telegraphy, the invention of the vacuum tube makes the application and popularity of radio technology quickly applied in civilian and military and other fields. Since Thomas Ed
7、ison invented the electric light, human being turned on and off control of lighting is mainly use the manual mechanical switch. With the development of the radio, from last century 60 s, there appeared the wireless remote control car.The design of the wireless remote control car system to STC89C52 s
8、ingle-chip microcomputer as the core. Main is transmitting part, receiving part and motor control in three parts. NRF905 wireless module through the transmission frequency to 433 MHZ wireless band to send control signal, through the STC89C52 microcontroller decoding, for the control signal output. M
9、otor driver circuit to control signal, after a driver chip L298 motor to control the car. Main is transmitting part, receiving part and motor control in three parts. Send and receive part adopts special nRF905 wireless module for data transmission and control.Key words: single chip microcomputer ; n
10、RF905 wireless module; Driver I1. 遥控车的课题背景与发展趋势1.1 课题背景 无线通信主要包括微波通信和卫星通信。微波是一种无线电波,它传送的距离一般只有几十千米。但微波的频带很宽,通信容量很大。微波通信每隔几十千米要建一个微波中继站。卫星通信是利用通信卫星作为中继站在地面上两个或多个地球站之间或移动体之间建立微波通信联系。无线通信(Wireless Communication)是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式,近些年信息通信领域中,发展最快、应用最广的就是无线通信技术。在移动中实现的无线通信又通称为移动通信,人们把二者合称
11、为无线移动通信。nRF905采用Nordic公司的VLSI ShockBurst技术。ShockBurst技术使nRF905能够提供高速的数据传输,而不需要昂贵的高速MCU来进行数据处理/时钟覆盖。通过将与RF协议有关的高速信号处理放到芯片内,nRF905提供给应用的微控制器一个SPI接口,速率由微控制器自己设定的接口速度决定。nRF905通过ShockBurst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗。在ShockBurst RX模式中,地址匹配AM和数据准备就绪DR信号通知MCU一个有效的地址和数据包已经各自接收完成。在ShockBurst TX
12、模式中,nRF905自动产生前导码和CRC校验码,数据准备就绪DR信号通知MCU数据传输已经完成。总之,这意味着降低MCU的存储器需求也就是说降低MCU成本,又同时缩短软件开发时间。而且在433MHz的频段它是可以免费的使用,最高的共工作速率达到50kbps,高效的GFSK调制,抗干扰能力强,特别适合工业控制场合。1.2 发展趋势 无线通信技术是近几年来比较流行的一种通信技术,他具有稳定性强、传输速率高、功耗低等优点。具有广泛的应用背景。选择此课题的目的在于通过学习和实践,了解并应用无线遥控技术。随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要
13、,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而我们以前小时候耍的那种没有遥控装置的小车现在都已经过时了,现在市面上卖得大多都是带遥控装置的小车。而现代工具务求简捷化、便携化,因此,摇控装置的到来,必将会给人们带来一种新的感受方式。现在通过应用最先进的无线数据传输技术可以免去繁琐的设计和安装工作了。工业的数据无线调制解调器可以双向传输数字、模拟、串行和CAN数据,传输距离可达到300m。这种数据无线调制解调器的数据传输是在DECT和433Hz的基础上实现的。采用微调控制装置可以快速和灵活地实现满足客户特定要求的应用。成套配置的无线调制解调器可以灵活和安全地实现许多各种不同应用领
14、域的数据传输任务。无线遥控系统和数据无线传输系统是无线通信在工业界和大工业环境中的广泛运用。在厂房公用设施方面如工业用门、门形框架、升降柜、照明和平台的控制等。在工业中如机器控制、装置控制、转运装置、压力机控制、地面和空中传送系统、动态仓储等。在建筑和道路修建以及农业方面也可通过无线遥控系统使工作能够更安全。1.3 无线遥控的应用范围 无线遥控,顾名思义,就是一种用来远程控制机器的装置。现代的遥控器,主要是由集成电路电板和用来产生不同讯息的按钮所组成。时至今日,无线遥控器已经在生活中得到了越来越多的应用,给人们带来了极大的便利。而现在无线遥控技术越来越多的运用在我们的生活当中,随着科技的进步无
15、线遥控器也扩展到了许多种类,简单来说常见的有2种,一种是家电常用的红外遥控模式(IR Remote Control),另一种是防盗报警设备、门窗遥控、汽车遥控等等常用的无线电遥控模式(RF Remote Control)。常用的无线电遥控系统一般分发射和接收两个部分。 无线电遥控器与红外遥控器的区别:红外遥控和无线遥控是对不同的载波来说的,红外遥控器是用红外线来传送控制信号的,它的特点是有方向性、不能有阻挡、距离一般不超过7米、不受电磁干扰,电视机遥控器就是红外遥控器;无线电遥控器是用无线电波来传送控制信号的,它的特点是无方向性、可以不“面对面”控制、距离远(可达数十米,甚至数公里)、容易受电
16、磁干扰。在需要远距离穿透或者无方向性控制领域,比如工业控制等等,使用无线电遥控器较易解决。 无线遥控技术可应用于各种相应的机械或者电子设备,去完成各种操作,如闭合电路、移动手柄、开动电机,之后再由这些机械进行需要的操作。作为一种与红外遥控器相补充的遥控器种类,在车库门、电动门、道闸遥控控制、防盗报警器、工业控制以及无线智能家居领域得到了广泛的应用,当然我们的无线遥控车也正是运用的这种技术。1.4 系统设计方案本系统打算用任意一种市面上的小车主体架,其中包括两个轮子,两个电机,一个万向轮,用一片L298就可以驱动电机运转。无线模块方面,我选择nRF905这个无线收发器,通过单片机的控制来实现数据
17、的传输。在系统设计之初,我打算分成两个部分来实现系统的设计,第一:先单片机控制L298实现小车的前进、后退、左转、右转;第二:通过按键发送信号,由单片机和nRF905无线收发器一起处理数据,达到驱动小车的前进、后退、左转、右转功能。2 硬件系统设计2.1硬件组成 系统主要由五大模块构成:小车模块、控制信息产生模块、控制信息发送模块、控制信息接收模块、驱动模块。结构框图如图1所示。 本项目主要的硬件模块有:键盘、发送主控制板、发射器、电源、接收主控模块、接收模块、电机驱动模块及小车车模部分。 小车主体模块信息产生模块信息接收模块信息发送模块电机驱动模块图1 系统模块组成2.2小车主体模块小车模块
18、就是这个系统的主体部分,它主要由一块小车底板,两个小车车轮,两个直流电机,一个万向轮组成。因为系统对这一部分的要求不是很高,所以一般合格的元器件通过组装之后都可以满足要求。而且对这一部分的要求就是只要直流电机能够驱动两个轮子转动就可以了。2.3信息产生模块这里所说的信息产生模块就是这个系统的控制信号,它具体是由四个按键组成的,通过控制四个按键状态,单片机执行相应的指令,从而驱动电机的运转。当控制前进的按键按下时,小车就前进;当控制后退的按键按下时,下车就后退;当控制小车左转的键按下是,小车就向左转;当控制小车向右转的键按下时,小车就向右转动。2.4信息的发送与接收模块2.4.1nRF905无线
19、收发器 这一模块主要控制信号的发送与接收,其职能主要由nRF905来完成。 nRF905可以自动完成处理字头和CRC(循环冗余码校验)的工作,使用SPI接口与微控制器通信,配置非常方便,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。 nRF905单片无线收发器工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。nRF905管脚原理图如图2所示。图2 nRF905引脚图2.4.1nRF905的优点无线遥
20、控车对于控制芯片的实时性,稳定性,快速性,准确性都达到了一个很高的要求,介于本设计对于主控芯片的要求都不是很高的情况下,我选择了STC89C52这款单片机。它的内部资源也比较丰富,性能全面而且适用性强,能覆盖多种应需求。当前遥控器模型一般都采用连线、红外、无线这三种方式来进行对被控制器的控制。连线遥控式的遥控器它的遥控器和被控制端通过导线直接连接起来,但缺点很明显,由于是由到导线直接连接,这就很容易引起导线的缠绕,打结,连接,最突出的是它的受到导长度的制约,不能进行远距离的遥控。 红外遥控器的特点是通过遥控器发射红外光进传送,红外线在介质中传播会产生衰减,特别在金属中传播衰减很大,它的穿透力有
21、限。另外由于其存在定向性的问题,并且它不能穿透物体,而且在使用红外线传送信号时,容易受到照明光和外来杂波的影响和干扰,所以不适合这个项目开发的要求。 无线遥控方式遥控器和接受器两端通过无线电波传送控制信息。但是市面上那种简单的无线遥控,它的无线遥控方式很容易受到其它的无线电波的干扰,因此必须采用抗干扰能力强的无线发射装置来提高系统的稳定性。 因此,在这里我选择nRF905无线发送与接收模块,以此来提高系统的稳定性。2.5电机驱动模块2.5.1电机驱动芯片L298 L298芯片内集成有达林顿管组成的H型的功率变换桥电路的恒压恒流桥式2A驱动芯片。无线小车系统只需要通过单片机的相应管脚输出0或则1
22、两个电平信号就可以控制电机的正反转了,也就是当驱动芯片的OUTPUT1和OUTPUT3输出为1高电平,OUTPUT2和OUTPUT4输出为低电平是,电机就可以正转了;当输出OUTPUT1和OUTPUT3为低电平,当OUTPUT2和OUTPUT4输出为高电平时,电机就可以反转了;当OUTPUT1输出高电平,其余三个管脚都输出低电平是,电机就可以右转了;当OUT3输出为高电平,其余三个管脚低电平时,电机就可以左转了。图3电机驱动模块2.5.2 L298的优点如果采用继电器对电动机的开和关进行控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,实现容易;缺点是继电器的响应速度慢、
23、机械结构易损坏、寿命较短。 由于L298工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单实现转速和方向的控制;电子开关的速度很快,稳定性也极强,是一种广泛采用的PWM调速技术。因此,从难度和性价比上综合考虑,我选择L298驱动芯片。2.6 单片机最小系统 单片机最小系统包括单片机、复位电路、时钟电路构成。手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。本设计采用的是手动按键复位电路,需要接上上拉电阻来提高输出高电平的值。单片机工作时,从取指令到译码在进行微操作,必须在时钟信号控制下才能有序的进行,时钟电路就是为单片机工作提供基本
24、时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。 一般都采用内部时钟的方式,所以就介绍一下内部时钟方式吧。在单片机的XTAL1和XTAL2的引脚上跨接上一个晶振和两个稳频电容,就可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值一般为12MHz。电容的取值为30pf。 图4单片机最小系统 2.7 电源模块电路2.7.1驱动电路电源 驱动电路电源电路部分的设计主要采用7805芯片,使用7805芯片搭建的电路的优点是简单、实用,78系列三端稳压IC组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。并且完全能够
25、满足无线小车控制系统和L298N芯片的逻辑供电的供电需要。7805芯片有3个引脚,分别为输入IN端、输出OUT端和接地GND端,通常情况下可以提供1.5A的电流,在散热足够的情况下可以提供大于1.5A的电流。7805芯片的输入电压可以为9V、12V、15V不等,输出电压稳定在5V,正负误差不超过0.2V。7805芯片如图12。基于这样的情况再结合电机的工作电压,选取了6节干电池9V作为7805的输入电源,搭建的电源部分电路如图9所示:图5 驱动电路电源2.7.2 无线就收模块电路电源无线接收模块电路电源和发射电路的电源电路是一样的,也是用三节干电池供电。具体电路原路图如图10所示: 图6 无线
26、就收模块电路3 系统的软件设计3.1 C语言简介 程序设计是计算机工作者的一项基本能力。C语言是被国内外计算机用户管饭学习和使用的一种计算机语言,受到广大计算机用户的喜爱。C语言是国际上广泛流行的计算机高级语言。C语言功能强大、使用灵活,既可以用于编写应用软件,又能用于编写系统软件,因此C语言问世以后得到迅速的推广。自20世纪90年代初C语言在我国开始推广以来,学习和使用C语言的人越来越多,成了学习和使用人数最多的一种计算机语言。并成为世界上应用最广泛的程序设计高级语言。C语言作为高级语言,简单易懂,易学易用,是计算机发展史上的“惊人成就”,为计算机爱好者提供了实现自己梦想的可能。所以我选择用
27、C语言编写程序。 3.2 主控程序流程图 开始 主控程序流程图首先进行系统初始化,然后等待键盘输入信号,输出相应的电压控制字,单片机A控制无线发送模块。单片机B控制无线接收模块,通过接受到的信号控制L298,从而控制电机的运动,执行后,返回按键扫描状态,等待下一次按键。如图11所示。是否有输入NY 单片机A处理并发送 单片机B处理并接受 L298驱动电路 驱动小车 图7 主控程序流程图3.2 发送模块程序流程图 发送模块程序首先进行系统初始化,然后接收按键的输入信号,输出相应的发送信号。根据键盘的不同输入,输出不同的发送信号,执行后,返回等待状态,等待下一次接收。框图如图12所示。 开始初始化
28、nRF905 初始化数码管数据接收成功 N Y初始化发送代码 发送按键代码 结束 图8 发送模块流程图3.3 接收模块程序流程图接收模块程序首先进行系统初始化,然后接收发送模块的输入信号,输出相应的控制信号,控制单片机B,经过单片机B的处理,从而控制小车的运动。执行后,返回等待状态,等待下一次接收。框图如图13所示。开始初始化nRF905初始化寄存器初始化MCU接收数据成功?MCU向小车发送指令NY图9 接收主流程图3.3.1 nRF905编程的初始化#define WC0x00#define RC0x10 #define WTP0x20 #define RTP0x21#define WTA0
29、x22#define RTA0x23#define RRP0x24void init_nrf905()CSN=1;SCK=0;DR=1;AM=1;PWR_UP=1;TRX_CE=0;TX_EN=0;Config905();SetRxMode(); nRF905要实现他的无线发射与接收功能,那么首先必须对它进行初始化。只有先对芯片进行初始化设置,nRF905才可以开始发送和接受数据的传输。所以要实现小车的遥控,初始是功能实现的必要步骤。#define作为C程序的宏定义命令,他有一个明显的好处就是,便于在子程序中的调用和修改。也就是说,但你需要在程序的某一个地方修改这个变量是,那么只要通过#def
30、ine这个宏命令修改这个变量,也就一改全改了。nRF905内部有好几个寄存器,而每个寄存器有必然都对应一个端口地址,所以在程序编写过程中就必然用到这个端口,为了编程方便,所以就对这个端口设置一个易于记忆的字母变量。由于程序的调用都讲究一个模块化,所以就把nRF905的初始化定义一个子函数void init_nrf905();以便于以后每次调用初始化函数。CSN作为SPI串口使能信号(低电平有效),当它为高电平时,SPI被禁止。SCK作为串口总线的时钟信号,用以提供SPI传输的时钟频率。DR和AM分别做为数据匹配和地址匹配信号,可以分别传送数据和地址信号。POW_UP作为nRF905的电源信号端
31、口,只有保证POW_UP为高电平时,这个芯片才可以真诚工作。TRX_CE和TX_CE分别作为数据发送和数据接收信号使能端,且两个信号都是低电平有效。所以当两个信号端口都为低电平时是,数据才可以发送和接收。3.3.2电机驱动程序void go()zuo1=1; zuo2=0; you1=1; you2=0; void back()zuo1=0; zuo2=1; you1=0; you2=1; 同样通过定义子程序函数,分别把电机的前进、后退、左转、右转定义为子程序函数,这样可以在程序的任意位置随时调用。每个直流电机的输入引脚分别与L298输出引脚连接,L298电机驱动芯片再与单片机输出信号相连接,
32、单片机的输出信号通过L298的放大直接与直接驱动直流电机。由L298的功能可以知道,当单片机的输出引脚对应输出高低高低时候,两个电机都正向旋转(前进);单片机的的输出引脚对应输出低高低高时候电机就逆时针旋转(后退)。同理,左转与右转也是一个道理。3.4 系统的仿真Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的
33、科技工作者的青睐。在PROTEUS绘制好原理图后,调入已编译好的HEX文件,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 单片机控制直流电机转动仿真图3.5系统检测与调试 测试按照项目的要求进行,首先组装好小车后 ,检测小车的硬件连接是否正常,再次检测电源系统没有问题,两项都正常后,初始化无线模块和89C52开发板,按下遥控器上的按键,小车的前进、左转、右转都没有问题。停止键也实现了功能。经检测小车基本实现了系统功能的要求,但也有不正常的地方,第一次的测试,发现按下遥控开关后,走了一段时间后,直流电机的驱动电路芯片L298很烫,仔细查看后发现其中的输出引脚的电线连电了。经修正后
34、系统一切正常。第二次程序下载到单片机后,运行小车,结果发现遥控器的按键不好使,看了程序以后觉得好像没什么问题,但是按键按下后小车的运行还是存在问题,那就把小车的接收板的输出信号引脚接到另一块开发板的四个LED灯,这样就可以检测到是否小车可以正常输出信号,结果看了以后可以正常输出信号,那么问题就可以确定是在遥控器一端的开发板上的程序可能编写的时候出了问题,确定问题以后打开Keil软件的编译界面,打开发送程序进行了仔细的修改,进过两三次的调试程序后,小车终于正常的行走了。 总 结从刚拿到题目时的一脸茫然,到整天在图书馆查阅资料,到在寝室编写整体框架,到着手准备元件和准备制作工具,到真正制作实物,这
35、一路走来真心不容易。不过我的确很是开心,因为幻天不负有心人,最后通过自己的努力,终于写好了自己的论文和制作出实物。一路走来,不但巩固了自己以前的所学知识,而且值得欣慰的是,我还学到了新的东西,就拿Altium Designer来说吧,之前根本就不知道Altium Designer是什么东西,通过在网上下载学习视频,再加上以前Protel所学的知识,几天后终于可以利用Altium Designer制作出毕业设计的原理图。还有就是在单片机C语言编程方面,我觉得我以后会更加的谨慎。因为一个程序的稳定与否,与程序的一些细枝末节是有恒大的干系的。比图说,一个按键的抖动,完全是通过软件延时来实现的,即使你
36、没有延时程序,程序本身是没有错误的,但是在实际工作中就有可能出错误。所以,这个教会了我不管什么工作一定要细心,认真,负责。更有就是,在这期间我也深刻体会到团结、合作、谦虚”这三个词的含义。做任何事包括做实验都不是孤立的,不是你“闭门造车”,而是一个需要和他人交往的过程。这就要求我们要团结,要有合作精神,要注意和他人的沟通,要谦虚,不懂就问所谓“知之为知之,不知为不知”。总之,在整个实验操作和论文完成的过程中,我体会到的是实验的艰辛和收获的充实,感受到的是一种坚持不懈、契而不舍的科研精神。对我以后的深造学习有重要的意义。参考文献1王佳新.C语言上机考试系统的设计与实现J.吉林大学.2009.2
37、谭浩强.C程序设计M.清华大学出版社,2010.063 歌德史密斯(美).无线通讯M.人民邮电出版社,2009.124 李文元.无线通讯技术概论M.国防工业出版社,2011.45 李强.51系列单片机应用软件编程技术M.北京航空航天大学出版社,20116胡萍.串口通信的红外报警器的研制J.计算机与现代化.2010.7唐德琴.电子温度测量仪器技术发展战略研究J.电子科学技术,20098李行善.基于串口组件的体系结构J.电子串口与仪器学报,2010.9姜道连等.用于AT89C51设计红外报警器的设计与制作J.国外电子元器件,2010.10冯国进嵌入式Linux驱动程序设计从入f-J至U精通D田北京
38、:清华大学出版社,200811游杨.基于电液比例技术的液压挖掘机近地无线遥控系统研究.河南科技大学.2012.12刘杰.基于XC2365的电动汽车用BLDCM驱动控制器J.山东大学.2012.13王宝萍.玩具智能小车控制系统的设计与实现J.电子科技大学.2012.14胡房武.基于图像采集的智能车系统设计J.大连海事大学.2011. 致 谢衷心感谢学院给我这次难得的机会来做此次毕业设计,让我从中学到很多书本上没有的知识,理论与实践相结合,这不但更深入的让我理解了书本上的专业理论知识,而且还明显提高了我的实践动手能力。衷心感谢李欣茂老师不厌其烦的指导,他严谨细致、一丝不苟的工作作风一直是我学习中的
39、榜样;他循循善诱的教导和不拘一格的思路给予我无尽的启迪!这篇论文的每个细节和每个数据,都离不开他的细心指导。通过这次的论文写作与李欣茂老师建立了亦师亦友的关系,这是我荣幸,谢谢您李老师。我还要感谢我们组的成员、我的室友、我的同学,每当我遇到毕业论文写作的困难时,就有鼓励的言语在我的耳边响起;每当我心情沮丧,想要打退堂鼓的时候,就有我的好友过来安慰我,鼓励我。真是因为有他们的关心,不管是在学习上,还是生活上,都给予我很大的帮助,让我在大学经历了许多难忘的事情,让我的校园生活过的丰富多彩。我亲爱的同学、朋友、室友谢谢你们。最后我要感谢我可敬的父母,你们永远是我最坚强的后盾,一直默默在为我无私的付出
40、,是您们的支持才让我走到今天这一步,让我有机会上大学,有机会接受高等教育并且顺利毕业。你们也是我学习的最大动力,我一定会以优异的成绩和努力工作来回报您们、回报社会。 附录一: 原理图:接收模块发射模块附录二:发射程序:#include #define uchar unsigned char #define uint unsigned int #define WC0x00#define RC0x10 #define WTP0x20 #define RTP0x21#define WTA0x22#define RTA0x23#define RRP0x24typedef struct RFConfig
41、uchar n;uchar buf10;RFConfig;code RFConfig RxTxConf = 10,0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xc0, 0x58;uchar data TxBuf32;uchar key,rsbrf,delayf,tf;uchar bdata DATA_BUF;sbitflag= DATA_BUF7;sbitflag1= DATA_BUF0;sbitTX_EN= P10; /TX、RX模式/sbitPWR_UP= P11; sbitDR= P12;sbitMOSI= P13;sbitCSN= P
42、14; /SPI使能/sbitSCK= P15;sbitMISO= P16;sbitAM= P17; /地址匹配/sbitTRX_CE= P32;sbit key_q= P23; /前进sbit key_h = P21; /后退sbit key_l = P20; /左转sbit key_r = P22; /右转sbit led = P33;void Delay(uchar n) /100usuint i;while(n-)for(i=0;i80;i+);void SpiWrite(uchar byte)uchar i;DATA_BUF=byte;for (i=0;i8;i+)if (flag)
43、MOSI=1;elseMOSI=0;SCK=1;/ 时钟DATA_BUF=DATA_BUF1; SCK=0; void Config905(void)uchar i;CSN=0;SpiWrite(WC);for (i=0;iRxTxConf.n;i+) /写放配置字/SpiWrite(RxTxConf.bufi);CSN=1;/ Spi使能/void TxPacket(void)uchar i;CSN=0;SpiWrite(WTP);/写地址命令/for (i=0;i32;i+)SpiWrite(TxBufi);CSN=1;Delay(1);CSN=0;SpiWrite(WTA);for (i=0;i4;i+)SpiWrite(RxTxConf.bufi+5);CSN=1;TRX