毕业论文无线投票器的设计.doc

上传人:yyf 文档编号:3943665 上传时间:2019-10-10 格式:DOC 页数:49 大小:1.45MB
返回 下载 相关 举报
毕业论文无线投票器的设计.doc_第1页
第1页 / 共49页
毕业论文无线投票器的设计.doc_第2页
第2页 / 共49页
毕业论文无线投票器的设计.doc_第3页
第3页 / 共49页
毕业论文无线投票器的设计.doc_第4页
第4页 / 共49页
毕业论文无线投票器的设计.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《毕业论文无线投票器的设计.doc》由会员分享,可在线阅读,更多相关《毕业论文无线投票器的设计.doc(49页珍藏版)》请在三一文库上搜索。

1、教学单位 信息工程系 本科毕业论文(设计)题目 无线投票器的设计 学生姓名 专业名称 电子信息科学与技术 指导教师 2012年3月17日45无线投票器的设计摘要:本设计以直流电压源为核心,STC89C52RC增强型单片机为主控制器。单片机系统是无线投票器的核心,它通过软件的运行来控制整个系统的工作,从而完成设定的功能。通过三个数字键盘来进行投票,在投票结束之后,经过编码的投票信息由NRF24L01无线模块发射出去。在接收端,可由液晶屏LCD1602显示实际投票结果。实际结果表明,本系统实际应用于投票领域。关键词:无线;投票器;单片机;NRF24L01;STC89C52RCThe design

2、of wireless voting deviceAbstract: In this design, the DC voltage source is the core, the enhanced MCU STC89C52RC is the master. MCU is the core of the wireless voting device, it controls the working of the whole system through the running of the software, so it could achieve the scheduled goal. We

3、could cast a vote through three digital buttons, the voted message will be transmitted by the wireless module NRF24L01 after the vote ends. In the receiver module, the LCD screen will show the result of the vote. It is proved that this design apply to the area of actual voting.Keywords: Wireless; vo

4、ting machine; MCU; NRF24L01; STC89C52RC 目 录1.引言12设计要求及方案论证22.1 设计要求22.2 设计方案及论证22.2.1 控制模块方案及论证22.2.2 显示模块方案及论证23.系统的硬件电路设计43.1 主控制器模块的设计43.2 NRF24L01无线模块的设计53.3 按键控制模块的设计73.4 液晶显示模块的设计83.4.1 LCD1602主要管脚介绍83.4.2 LCD1602控制指令93.4.3 液晶显示模块设计103.4.4 读写控制时序表103.4.5 LCD1602的一般初始化过程113.4.6 LCD1602与单片机连接图11

5、3.5 振荡电路设计模块的设计123.6 晶振电路与复位电路设计123.6.1 晶振电路123.6.2 复位电路133.7 电源模块的设计144系统软件设计164.1 用C语言开发单片机的优势164.2 系统程序设计流程图164.3 软件编译与调试174.4 液晶显示194.5 NRF24L01模块程序设计205调试结果与分析245.1 测试仪器245.2 测试方法245.3 调试过程与分析245.4 测试结论24参考文献25附 录26谢 辞441 引言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动 传统控制检测技术日新月益更新。投票器,是投票反馈系统中的终端设备,是一种代

6、替常规会议举手表决,会议举手投票,民主举手选举的一种装置。投票器系统主要由:基站,软件,终端设备三部分组成。可以自由选择实名投票与非实名投票。使用时,与会者只需按动手中投票器上对应的,“赞同”“反对”或者“弃权”即可,相应的投票结果会在电脑中记录并实时显示的屏幕上,从而公平公正的展现出来。随着无线技术的发展,以及有线投票器的不方便性,无线投票器逐渐取代了有线投票器的市场。基于单片机与无线技术的投票器的设计制作过程,以MCS-51系列单片机为控制核心设计投票系统的投票发射器与接收器。投票发射器由单片机、三个按键、三个指示灯和NRF24L01模块等组成.三个键分别表示不按代表反对,按下代表同意。投

7、票器把投票结果信息编码后通过NRF24L01发射出去,接收器接收后,辨别发射传输的信息,可由液晶屏LCD1602显示实际投票结果。2 设计要求及方案论证2.1 设计要求单片机在各种电子产品中的应用已经越来越广泛,很多的电子产品利用单片机所取得的便利性得到了人们的好评,针对多路数据采集系统的要求提出了以下的方案:设计一款能进行远程无线投票的设备,由多个投票端和一个控制端所组成,模拟远程投票。其中每一个投票端都有三个按键,“赞成”、“反对”和“弃权”。当投票端进行投票后,由控制端显示投票结果。2.2 设计方案及论证2.2.1 控制模块方案及论证1方案1:采用各类数字电路来组成键盘控制系统,进行信号

8、处理,如选用CPLD等可编程逻辑器件。本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。方案2:采用STC89C52RC单片机作为这个系统的控制单元,可方便利用单片机内部的定时器等各种资源,方便程序的编写和无线射频模块的操作。 比较以上两种方案的优缺点,方案1采用中、小规模器件实现系统的数控部分,使用的芯片很多,造成控制电路内部接口信号繁琐,中间相互关联多,抗干扰能力差。在方案2中采用单片机完成整个数控部分的功能,也便于系统功能的扩展。2.2.2 显示模块方案及论证2 方案1:使用数码管显示使用多位数码管显示,显示不灵活。方案2:使用LCD1602液晶显示液晶显示模块具

9、有体积小、功耗低、显示内容丰富、超薄轻巧等优点。本方案采用LCD1602,它具有两行显示,每行显示16个字符,采用单+5V供电,外围电路简单,价格便宜,具有很高的性价比。而数码管虽然便宜,但显示单调。占用过多的I/O。综上所述,得到系统整体结构框图如图1所示。图1 系统整体结构框图3 系统的硬件电路设计3.1 主控制器模块的设计3本设计采用PDIP封装的STC89C52RC芯片为主控制器,该芯片正常工作电压为5V,支持的最高时钟频率为80MHz,Flash程序存储器为8KB,RAM数据存储器为512B,内置看门狗电路,支持ISP/IAP4。本单片机具有以下优点:(1) 超低功耗。 掉电模式:典

10、型功耗为0.5uA,可由外部中断唤醒,中断返回后,继续执行原程序。 空闲模式:典型功耗为2mA。 正常工作模式:典型功耗为4mA-7mA。(2) 超强抗干扰。I/O口、电源、时钟、看门狗、复位电路都是经过特殊处理。宽电压,不怕电源抖动,工作电压范围为3.4 6V。高抗静电(高ESD保护),轻松过2000V。快速冲干扰。控制部分是系统整机协调工作和智能化管理的核心部分,采用STC89C52RC单片机实现控制功能是其关键,采用单片机不但方便监控,并且大大减少硬件设计。由于本设计分两个板子但上面的单片机最小系统电路是一样的,所以在此仅以发射板单片机电路为例。STC89C52RC芯片原理图如图2所示。

11、图图2 STC89C52RC芯片原理图3.2 NRF24L01无线模块的设计5NRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内部集成NORDI自己的 Enhanced Short Burst 协议。可以实现点对点或是 1 对 6 的无线通信6。无线通信速度可以达到 2M(bps)。NORDIC 公司提供通信模块的 GERBER 文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留 5个GPIO,1个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为 MCU 系统构建无线通信功能。发射数据时,首先将nRF24L01配置

12、为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保

13、留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式17。N

14、RF24L01内部结构如图3所示,NRF24L01模块电路图如图4所示,NRF24L01指令系统由表1所示8。图3 NRF24L01结构图NRF24L01模块电路图如图4所示。图4 NRF24L01模块电路NRF24L01的指令列表如表1所示。 表1 NRF24L01令列表3.3 按键控制模块的设计本设计中,采用独立按键对单片机核心芯片STC89C52RC进行输入控制。各按键分别一端接地,一端接单片机引脚。实现功能:三个键分别表示不按代表反对,按下代表同意。键盘控制电路原理图如图5所示。图5 盘控制电路原理图3.4 液晶显示模块的设计3.4.1 LCD1602主要管脚介绍显示模块用于接收机实时

15、显示投票结果。这里采用1602液晶显示屏,其主要参数为:显示容量(16*2个字符),芯片工作电压(4.5-5.5V),工作电流(2.0mA),模块最佳工作电压(5.0V)。LCD1602共有16个引脚,LCD1602管脚功能介绍表如表2所示表2 LCD1602管脚功能介绍表引脚图符号状态功能1VSS电源地2Vdd电源+5V3V0对比度控制端4RS输入寄存器选择5R/W输入读、写操作6E输入使能信号7DB0三态数据总线(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15LED

16、A输入背光+5V16LEDK输入背光地说明:V0: 液晶显示器对比度调整端,接正电源的对比度最弱,接地电源是对比度最高,对比度过高时会产生“鬼影”使用时可以通过一个10k的电位器调整对比度。RS: 寄存器选择,高电平时选择数据存储器;低电平时选择指令寄存器。R/W:读写信号线,高电平时进行读操作,低电平进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平,R/W为低电平时可以写入数据。E: 使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。3.4.2 LCD1602控制指令1.清屏指令如表3所示表3 清屏指令表RSR/WDB7DB6DB5DB4DB3DB2DB

17、1DB00000000001功能: 清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为0。2.显示开关控制表如表4所示。表4 显示开关控制表RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB功能:设置显示,光标及闪烁开,关其中:D表示显示:1为开,0为关;C表示光标:1为开,0为关D表示闪烁:1为开,0为关3. 光标,画面移动表如表5所示表5 光标,画面移动表RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000S/CR/L*功能:光标,画面移动,不影响DD

18、RAM其中:S/C=1,画面平移一个字符位S/C=0,光标平移一个字符位R/L=1:右移;R/L=0:左移4 功能设置表如表6所示表6 功能设置表RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF*功能:工作方式设置其中:DL=1,8位数据接口;DL=0四位数据接口; N=1,两行显示;N=0,一行显示;F=1,5 10点阵字符;F=0,5 7点阵字符3.4.3 液晶显示程序设计1.读操作时序如图6所示图6 读操作时序2.写操作时序如图7所示。图7 写操作时序3.4.4 读写控制时序表 读写控制时序如表7所示。 表7 读写控制时序表RSR/WE功能00下降沿写指令代码

19、01高电平读忙标志和AC码10下降沿写数据11高电平读数据3.4.5 LCD1602的一般初始化过程1延时15mS2写指令38H3写指令08H:显示关闭4写指令01H:显示清屏5写指令06H:显示光标移动设置6写指令0CH:显示开及光标设置3.4.6 LCD1602与单片机连接图LCD1602与单片机连接图的连接图如图8所示。图8 LCD1602与单片机连接图数据线DB0-DB7连接单片机的P0口; RS、R/W,E,3条控制线分别接单片机的P2.5、P2.6、P2.7口。电阻R3用来设置背光的亮度。3.5 振荡电路设计模块的设计9单片机的工作是在统一的脉冲控制下的进行的。这个脉冲就是由单片机

20、控制器的时钟电路发出的,即时钟电路用于产生单片机工作所需的时钟信号。单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。时钟电路用于产生单片机工作的时钟信号。而时钟电路又各分为两种,即内部时钟方式和外部时钟方式。本设计采用内部时钟方式此种方式时,单片机内接一个高增益反向放大器构成内部振荡器。引脚XTAL1和XTAL2分别此放大器的输入端和输出端。同时在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器构成稳定的自激振荡器,其发出的脉冲信号直接送入到内部时钟发生器。电容C1和C2通常选择为(30或10)pf左右;外接陶瓷谐振器时则选为4

21、7pf左右。电容C1和 C2对频率有微调作用。为了减少寄生电容,更好地保证振荡器可靠地工作,谐振器和电容应安装得与单片机芯片尽可能的近。内部时钟发生器实际上是一个二分频的触发器,该二分频为单片机提供一个二相的时钟信号即相位信号1(P1)和相位信号2(P2),驱动CPU产生执行指令功能的机器周期。这里我们采用的是12MHz晶振,也就时说单片机的时钟周期为1/12uS,指令周期为1uS。晶体振荡器的频率越高,振荡频率就越高,振荡电路原理图如图9所示。图9 振荡电路原理图3.6 晶振电路与复位电路设计103.6.1 晶振电路晶振电路为单片机AT89C51工作提供时钟信号,芯片中有一个用于构成内部振荡

22、器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振荡器一起构成自激振荡器。电路中的外接石英晶体及电容C5、C6接在放大器的反馈回路中构成并联振荡电路。由于外接电容C5、C6的容量大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,电容的容量大小范围为20pF40pF;如果使用陶瓷谐振,则电容容量大小为30 pF50 pF。本设计中使用石英晶体,电容的容值设定为30pF。3.6.2 复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠

23、起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。AT89C51的复位信号是从REST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果REST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,本设计采用的是手动按钮复位。手动按钮复位需要人为在复位输入端REST上加入高电平,采用的办法是在REST端和正电源Vcc之间接一个按钮。当人为按下

24、按钮时,则Vcc的+5V电平就会直接加到REST端,系统复位。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,设计完全能够满足复位的时间要求。复位电路中SW-PB为手动复位开关,电容Ch1可避免高频谐波对电路的干扰。因为 MCS-51系列单片机采用高电平复位方式,其内部复位电路如图3-15所示,高电平复位脉冲RST引脚输入到内部施密特触发器整形后,送CPU内部复位电路。CPU在每一个机器周期的S5P2相采样施密特触发器的输出端,若为高电平,则强迫机器进入复位状态。为了保证CPU内部各个单元电路可靠复位,RST引脚复位脉冲高电平维持时间必须大于等于2个机器周期(即24个振荡周期)。内部复位电

25、路如图10所示。 图10 复位电路可以使用RC分立元件或微处理器监控芯片构成MCS-51单片机的外部复位电路。本设计中采用RC分立元件构成MCS-51外部复位电路,外部复位电路图电路如图11所示。图11 外部复位电路按下复位按键K20时,电容C3通过R1放电,当电容放电结束后,RST引脚电位由R1、R2分压比决定。由于R2R1,因此RST引脚为高电平,CPU进入复位状态。松开复位按键后,电容C3充电,RST引脚电位下降,使CPU脱离复位状态。R1的作用在于限制复位按钮瞬间电容C3的放电电流,避免产生火花,以保护按钮的触点。单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST

26、引脚上出现24个时钟振荡脉冲以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,在设计复位电路时,通常使RST保持高电平。只要RST保持高电平,则单片机就循环复位。3.7 电源模块的设计本设计两块板子都是用USB供电方式,以USB接口接收电脑或充电器5V电源,输入后经过100uf和0.1uf电容滤波后,提供给系统。电源模块电路图如图12所示。图12 电源模块电路图4 系统软件设计4.1 用C语言开发单片机的优势11C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。

27、用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。4.2 系统程序设计流程图此系统中用到单片机的部分功能:键盘扩展,程序中断,I/O控制等。主程序基本没什么是可做,但因键盘扫描时通过程序查询的方式来实现的,所以在主程序中要调用键盘扫描程序。发射板系统流程图如图13所示,接收板流程图如图14所示。图13 发射板程序流程图图14 接收板程序流程图4.3 软件编译与调试Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显

28、的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。本设计软件编译使用的是uVision2编译器选择CPU型号窗口中选择CPU生产厂家及芯片型号。这里选择的是Atmel公司的AT89C52芯片。选择芯片界面设置如图15所示。图15 选择芯片界面设置程序代码编写完后需要编译链接生成目标代码,然后进行硬件调试或模拟仿真,编译代码可以点击或键盘的快捷键F7。编译后的结果如图16所示。图16 软件编译结果界面 编译软件后,要对代码进行下载到STC89C52RC单片机中。这里选用的是STC-ISP下载软件,STC程序下载界面如图17所示。图17 STC程序下载界面4.4 液晶显示LCD16

29、02己很普遍了,市面上字符液晶绝大多数基于HD44780液晶芯片的,控制原理就是完全相同的,HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶,字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条是背光电源线VCC和地线GND,其控制原理与14条引脚线的LCD完全一样的。液晶显示模块的流程图如图18所示。 图18 LCD1602液晶显示模块的流程图液晶部分的程序如下:void main(void) uchar n;unsigned char tf =0;unsigned char TxBuf20=0; / unsigned char RxBuf20=0; Ini

30、tLcd();init_NRF24L01() ;lcd_1602_word(0x80,16,*Loading*);lcd_1602_word(0xc0,16,*Loading*);while(1) SetRX_Mode();RxBuf1 = 0x00;RxBuf2 = 0x00;RxBuf3 = 0x00; Delay(1000);nRF24L01_RxPacket(RxBuf); n=RxBuf1+RxBuf2+RxBuf3; if(n4) lcd_1602_word(0x80,16,*Pass*Pass*); lcd_1602_word(0xc0,16,*Pass*Pass*); if(n

31、=3) lcd_1602_word(0x80,16,*Down*Down*); lcd_1602_word(0xc0,16,*Down*Down*); n=0;RxBuf1 = 0x00;RxBuf2 = 0x00;RxBuf3 = 0x00;Delay(1000); /old is 10004.5 NRF24L01模块程序设计9该射频模块集成了NORDIC公司生产的无线射频芯片nRF24L01:1支持2.4GHz的全球开放ISM频段,最大发射功率为0dBm22Mbps,传输速率高3功耗低,等待模式时电流消耗仅22uA4多频点(125个),满足多点通信及跳频通信需求5在空旷场地,有效通信距离:

32、25m(外置天线)、10m(PCB天线)6工作原理简介:NRF24L01无线模块的软件流程图如图20所示。图20 NRF24L01无线模块的软件流程图5 调试结果与分析5.1 测试仪器万用表,软件Protues。5.2 测试方法先接通电源,看看系统能否正常工作,如果不能,可以在系统供电情况下,用万用表检测发射板和接收板各个模块的电压,如果出现电压为0或者无限大的情况,则为短路或者断路,一一排查之后可以确定是哪个地方的问题,检修后再次接通电源调试,使用protues软件事先调试按键逻辑与显示逻辑观察是否正常。5.3 调试过程与分析在本次设计过程中,由于使用的是宏晶的STC89C52RC芯片,这个

33、系列的程序下载只需通过MAX232下载接口就可以。使得本次设计中硬件仿真变的就比较简单,因为有了硬件仿真工具就可以随时修改程序,通过一步一步的调试来达到最后的目的,同时尤其学会了分部调试的思想,这就使得当遇到问题时不会觉得无从下手,不会觉得那么迷茫,使调试变得比较有条理。 在检查完硬件电路没有短路、断路的情况下,接通电源,并且测试各个集成片的电源电压是否符合要求,以及单片机晶振是否起振,只有晶振正常起振单片机才能工作,通过检测,上述情况均正常。在protues软件当中以单步联调的方法,测试按键逻辑与LCD1602现实逻辑在实际电路调试过程中,由于没有深入的了解24l01的收发机制,导致第一次试

34、验接收器,经常接受到乱码,系统不能正常工作。在查阅相关资料和优化代码后,以多次检测接受数据的方法,成功解决了该问题。此外,虽然本设计可以实现最基本的无线投票并有智能输出结果的功能,但作为一个无线投票器的设计在功能方面还存在很多不足和需要改进之处。譬如,投票过程中只能通过液晶显示其投票结果,而不能显示赞成和反对以及弃权的票数。但由于时间、硬件、经济等各方面条件的限制,我在此就不能作大的改动,只能附上一段程序,如果在主程序改成如下,并加之硬件条件的配合,便能实现无线投票并统计票数的功能:voidPiaoshu_View()ucharPiao;if(RxBuf1=1)Piao+;if(RxBuf2=

35、1)Piao+;if(RxBuf3=1)Piao+;if(Piao2)lcd_1602_word(0x80,16,*Down*Down*);lcd_1602_word(0xc0,1,(3-Piao+0x30);elselcd_1602_word(0x80,16,*Pass*Pass*);lcd_1602_word(0xc0,1,Piao+0x30); 经过编码的投票信息经发射模块发射,然后被接收板的接收模块接收后,又经单片机辨别后输出到液晶屏。任意按下两个按键,液晶显示如图19所示。图19液晶显示现象5.4 测试结论当按下不同的按键后,接收板1602液晶屏上,能准确显示投票信息,实测传输有效距

36、离超过10米。参考文献1 高伟.AT89C51单片机原理及应用(第一版)M.北京:国防工业出版社,2008,71-752 赵亮.液晶显示模块LCD1602应用J .电子制作,2007年3月3 江太辉.MCS-51系列单片机原理与应用M. 广州:华南理工大学出版社,1900-01,40454 潘永雄.新编单片机原理与应用M.西安电子科技大学出版社,2007-02,1925,65665 英庆,王代华,张志杰.基于nRF24L01的无线数据传输系统J.现代电子技术,2008,31(7):68-82.6 丁永红,孙运强.基于nRF2401的无线数传系统设计J.国外电子测量技术,2008,27(4):4

37、5-47.7 时志云,盖建平,王代华,等新型高速无线射频器件nRF24L01及其应用J国外电子元器件,2007(8):42-448 NorDic Semiconductor. nRF24L01 single chip 2.4 GHz transceiver product specificationEB/OL. July 20079 汤竞南,沈国琴.51单片机C语言开发与实例M. 北京:人民邮电出版社,2008-02,14,899510 张萌,和湘,姜斌.单片机应用系统开发综合实例(第一版)M.北京:清华大学出版社,2007,94-9711 谭浩强.C程序设计(第二版) M .北京:清华大学出

38、版社,2006-0112 白伦博,陈栋,宋爱慧.一种无线通信系统中无线信号传输间歇时发射数据突发的方法Z.CN1627658:,2005.13张默晗,张北,王天亮.无线信号传输装置及传输方法Z.CN101694740A:,2010.14 林群尧. 无线信号传输装置Z. CN301028800: ,2009.15 张默晗,张北,王天亮. 无线信号传输装置Z. CN201514694U: ,2010. 附 录附录1:系统总体电路图1.发射板电路原理图:2.接收板电路原理图:3.实物图:附录2:发射板系统源代码 程序:/*-#include #include typedef unsigned cha

39、r uchar;typedef unsigned char uint;/*NRF24L01端口定义*sbit MISO=P15;sbit MOSI=P14;sbitSCK =P13;sbitCE =P11;sbitCSN=P12;sbitIRQ=P16;sbit LCD_RS =P25;sbit LCD_RW =P26;sbit LCD_E =P27;/*按键*sbitKEY1=P31;sbitKEY2=P33;sbitKEY3=P35;/*数码管位选*sbitled1=P32;sbitled2=P34;sbitled3=P36;/*NRF24L01*#define TX_ADR_WIDTH

40、5 / 5 uints TX address width#define RX_ADR_WIDTH 5 / 5 uints RX address width#define TX_PLOAD_WIDTH 20 / 20 uints TX payload#define RX_PLOAD_WIDTH 20 / 20 uints TX payload#define LCD_DATA P0uint const TX_ADDRESSTX_ADR_WIDTH= 0x34,0x43,0x10,0x10,0x01;/本地地址uint const RX_ADDRESSRX_ADR_WIDTH= 0x34,0x43,

41、0x10,0x10,0x01;/接收地址/*NRF24L01寄存器指令*#define READ_REG 0x00 / 读寄存器指令#define WRITE_REG 0x20 / 写寄存器指令#define RD_RX_PLOAD 0x61 / 读取接收数据指令#define WR_TX_PLOAD 0xA0 / 写待发数据指令#define FLUSH_TX 0xE1 / 冲洗发送 FIFO指令#define FLUSH_RX 0xE2 / 冲洗接收 FIFO指令#define REUSE_TX_PL 0xE3 / 定义重复装载数据指令#define NOP 0xFF / 保留/*SPI(nRF24L01)寄存器地址*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1