基于51单片机的无线通信_第1页
基于51单片机的无线通信_第2页
基于51单片机的无线通信_第3页
基于51单片机的无线通信_第4页
基于51单片机的无线通信_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

..XX民族学院信息工程学院课程设计报告书题目:基于51单片机的无线通信课程:数字通信系统课程设计专业:电子班级:0314411学号:031441119学生__田紫龙指导黄双林2017年06月18日摘要本文设计了一种以AT89S52单片机为控制核心的无线通信控制模块,详细说明了该系统的基本原理、主要电路、硬件框架以及软件框架。整个系统采用模块化设计,主要包括单片机与下位机之间的无线通信控制电路,以及无线通信模块与51单片机之间通信接口电路。该通信控制系统通过51单片机和nrf2401的spi通信,从而通过无线通信控制模块形成与下位机的联系,控制下位机运动控制器,并且将通信接收的数据保存到扩展的存储器内。本模块的通信方法简便,除了可以进行远程实时控制外,还可广泛的应用于工业监控和数据采集系统。本系统具有性能可靠、抗干扰能力强、功耗低、性价比高等优点,在无线通信领域具有重要的应用价值和良好的发展前景。关键字:无线通信控制;AT89S52;nRF2401;串行通信目录1绪论12总体设计23各个模块简介31.单片机STC89C52和nRF2401的接口电路33.1NRF24L01无线模块简介43.21602简介44各个模块设计104.1硬件电路板的设计104.2软件程序设计114.2.1主程序模块114.3结果与分析13总结14参考文献15..1绪论伴随着短距离低功率无线数据传输技术的成熟,无线数据传输被越来越多地应用到新的领域。与有线通信方式相比,无线通信以其不需铺设明线,使用便捷等一系列优点,在现代通信领域占重要地位。以往的无线产品存在范围和方向上的局限,例如,一些无线产品在使用时,无法将信息反馈给控制者;还有一些无线产品不能很好地显示参数或状态信息,如果能在系统中增加一块小型液晶显示电路,产品不仅能向用户显示其状态或状态的改变,而且可以大大降低成本。正如人们所发现的,只要建立双向无线通信-双工通信并且选无线数据传输模块基于微功耗单片射频收发器NRF24L01设计,采用89C52单片机完成数据的处理和控制择成本低的收发芯片,就会出现许多新应用。本次设计主要是利用无线收发电路,加上单片机控制与液晶显示制成一套完整的点对点数据收发系统。考虑到目前市场上的一些需求,设计的主要要求是方案成本低,体积小,低功耗,集成度高,尽量无需调外部元件,传输时间短,接口简单。..2总体设计本设计使用M3单片机和51单片机通过nRF24L01模块进行通信实现51单片机发送字符到M3单片机上显示。系统原理框如图2.1所示.图2.SEQ图\*ARABIC1系统原理框图当51单片机通过spi对2401进行数据读写完毕后,2401将储存的字符通过射频技术发送给等待的2401,这时M3对2401接受到的数据进行读写,然后再TFT屏上显示接收到的内容。3各个模块简介1.单片机STC89C52和nRF2401的接口电路STC89C52有UART和SPI接口,而nRF2401用的是DRI、CLK和DATA三线传输。考虑到速率的因数,STC89C52和nRF2401的连接准备用SPI接口实现。SPI<SerialPeriPheralInterface,串行外设接口>接口是一种同步串行外设接口,它可以使MCU和各种外围设备进行通信以交换信息。外围设备包括FlashRAM,网络控制器,LCD显示驱动器,A/D转换器和MUC等。图4说明了一个典型的SPI主从式总线结构。它使用3根线连接了所有的设备。主设备通过并行的4个管脚来控制各个从设备的SS脚来选择从设备。图2典型的SPI主从式总线结构1、MOSI<MasterOutputSlaveInput>:这个1bit的信号直接连接主设备和从设备。信号通过MOSI线从主设备串行传输到从设备。因此,对主设备而言,MOSI是信号输出端口,对从设备而言,则是信号输入端口。在这条线上,一个Byte的信号通过高位<MSB>到低位<LSB>的传输。2、MISO<MasterInputSlaveOutput>:通过这个1bit的信号线,信号由从设备传输到主设备,因此它是主设备的信号输入端口,从设备的信号输出端口。信号同样是从MBS到LBS的传输。3、SCK<SPISerialClock>:这个信号来同步所有设备的进出MOSI和MISO的数据。它通过主设备的8个时钟周期来驱动,允许交换串行线上的1个Byte的信号。4、SS<SlaveSelect>通过使某个从设备的SS管脚保持低电平来选择该从设备。显然只有主设备<它的SS管脚保持高电平>才能驱动这个系统。主设备通过软件,利用端口来选择从设备。通过阻止MISO线上的冲突,来保证主设备每次传输只选择一个从设备。在设置主设备时,SS3.1NRF24L01无线模块简介NRF24L01无线模块,采用的芯片是NRF24L01,该芯片的主要特点如下:12.4G全球开放的ISM频段,免许可证使用。2最高工作速率2Mbps,高校的GFSK调制,抗干扰能力强。3125个可选的频道,满足多点通信和调频通信的需要。4内置CRC检错和点对多点的通信地址控制。5低工作电压〔1.9~3.6V。6可设置自动应答,确保数据可靠传输。该芯片通过SPI与外部MCU通信,最大的SPI速度可以达到10Mhz。本章我们用到的模块是XX云佳科技生产的NRF24L01,该模块成熟度和稳定性都是相当不错的。该模块的外形和引脚图如图3.1所示:图3.1NRF24L01无线模块外形和引脚图模块VCC脚的电压范围为1.9~3.6V,建议不要超过3.6V,否则可能烧坏模块,一般用3.3V电压比较合适。除了VCC和GND脚,其他引脚都可以和5V单片机的IO口直连,正是因为其兼容5V单片机的IO,故使用上具有很大优势。3.21602简介1.1602字符液晶显示模块,可显示数字和字母。与数码管相比显示内容更丰富,而且编程简单。它能够显示系统的当前工作时间、时间以及温度传感器检测到的温度。为使用者观察提供了方便。LCD1602的接口信号说明如表3表3LCD1602的接口信号编号引脚符号功能说明编号引脚符号功能说明1VSS电源地9D2DATAI/O2VDD电源正极10D3DATAI/O3VL液晶显示偏压信号11D4DATAI/O4RS数据/命令选择端〔H/L12D5DATAI/O5R/W读/写选择端〔H/L13D6DATAI/O6E使能信号14D7DATAI/O7D0DATAI/O15BLA背光正极8D1DATAI/O16BLK背光负极2.基本操作时序如下:1读状态:RS=L,RW=H,E=H2写指令:RS=L,RW=L,D0~D7=指令码,E=高脉冲3读数据:RS=H,RW=H,E=H4写数据:RS=H,RW=L,D0~D7=数据,E=高脉冲3.初始化设置1显示模式设置如表5表4显示模式设置指令码功能00111000设置16*2显示,5*7点阵,8位数据接口显示开/关及光标设置如表6:表7显示开/关及光标设置指令码功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示光标B=1光标闪烁;B=0光标不显示000001NSN=1当读或写一个字符后地址指针加一,且光标加一N=0当读或写一个字符后地址指针减一,且光标减一S=1当写一个字符,整屏显示左移〔N=1LCD1602与MCU的接口电路LCD的D0~D7分别接单片机的的P0口,作为数据线,因为P0口内部没有上拉电阻,所以外部另外加上4.7K的上拉电阻;P2.5—P2.7分别接LCD的RS、RW、E三个控制管脚;RV1用来调节LCD的显示灰度;BLK、BLA为背光的阴极和阳极,接上相应电平即点亮背光灯。如图4图41602显示电路其中1602的第3脚接10K与1.5K的串联电阻起到分压作用,能够调节第一行与第二行亮度对比。第16接个三极管的作用放大,是为了能够让液晶显示器的背光灯亮起,从而在夜间也能观看显示内容。3.3STC89C52单片机单片微型计算机是随着微型计算机的发展而产生和发展的。自从1975年美国德克萨斯仪器公司的第一台单片微型计算机〔简称单片机TMS-1000问世以来,迄今为止,单片机技术已成为计算机技术的一个独特分支,单片机的应用领域也越来越广泛,特别是在工业控制中经常遇到对某些物理量进行定时采样与控制的问题,在仪器仪表智能化中也扮演着极其重要的角色。如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:第一阶段〔1976—1978:单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,"单片机"一词即由此而来。第二阶段〔1978—1982:单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。〔1完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。〔2CPU外围功能单元的集中管理模式。〔3体现工控特性的地址空间及位操作方式。〔4指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段〔1982—1990:8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。第四阶段〔1990—:微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。单片机主要特点:〔1有优异的性能价格比。〔2集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。〔3控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。〔4低功耗、低电压,便于生产便携式产品。〔5外部总线增加了I2C〔Inter-IntegratedCircuit及SPI<SerialPeripheralInterface>等串行总线方式,进一步缩小了体积,简化了结构。〔6单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。优异的性能价格比。1集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。此外,程序多采取固化形式也可以提高可靠性。2控制功能强。为了满足工业控制要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。VCC:STC89C52电源正端输入,接+5V。GND:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:STC89C52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:"EA"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码〔存于外部EPROM中来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用8751内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压〔Vpp。ALE/PROG:ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。STC89C52可以利用这支引脚来触发外部的8位锁存器〔如74LS373,将端口0的地址总线〔A0~A7锁进锁存器中,因为STC89C52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时〔EA=0,会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。STC89C52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0〔P0.0~P0.7:端口0是一个8位宽的开路汲极〔OpenDrain双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口〔P1、P2、P3则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。PORT2〔P2.0~P2.7:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在STC89C52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。PORT1〔P1.0~P1.7:端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3〔P3.0~P3.7:端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下: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,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器〔0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。图5STC89C52单片机引脚图4各个模块设计4.1硬件电路板的设计在本系统中,电路板的设计使用的是Protel99SE软件。电路板设计的主要步骤是:原理图的设计→产生网络表→印制电路板。〔由于M3部分使用开发板这里只进行51部分的叙述硬件电路板原理图如图4.1.1所示:图4.1硬件电路板原理图PCB如图4.1.2所示图4.1PCB图在硬件设计时,需要注意以下几点:〔1电源线要加粗,合理走线、接地;〔2布线时避免90度折线,尽量平滑过渡;〔3充分考虑单片机的带载驱动能力。〔4尽可能的选择典型电路,并符合单片机的常规使用方法;〔5在充分满足系统功能要求前提下,留余地以便于二次开发;〔6硬件结构设计应与软件设计方案一并考虑;〔7封装大小要严格按照元器件实际尺寸要特别注意元器件竖向所占空间;〔8硬件上要有可靠性与抗干扰设计,电源要用电容滤波,增强电源的稳定性;4.2软件程序设计程序设计采用模块化设计方法,依据了"任何复杂的程序都可以分解为顺序结构部分、分支结构部分、循环结构部分和子程序部分"的原则,将程序进行分解设计。结构化程序设计具有结构清晰、易于读写、易于验证和可靠性高等特点,在程序设计中被广泛使用,易于文件规范管理。4.2.1主程序模块模块化程序设计思想是采用自顶向下、逐步求精的方法,将一个复杂的问题分解成若干独立的子问题,每个子问题对应一个功能独立的程序模块,将这些模块有机的连接在一起,构成完整的程序。先进行主程序模块的设计,描述程序的总体框架,在进行子模块的设计,完成相应的子功能。该系统中需要分别设计发送端和接收端的程序。在发送端,首先使其进入发送工作模式CE=1,通过I/O接口装入接收端地址和有效数据,然后启动发送CE=0,发送端等待数据发送完成。当发送完成后模块进入接收状态,接收接收端的应答数据。发送端程序流程图如图4.2.1.1:图4.2发送端程序流程图在接收端,使能接收。如果接收到发送端数据,则将接收到的数据送入扩展的外部RAM中,并且向发送端发送应答数据。接收端程序流程图如图4.2.1.1。图4.2接收端程序流程图4.3结果与分析结果如图所示:图4.3结果图对于2401这个模块来说,发送的速率远大于spi的读写速度,所以不能别发送别读写,只能将发送的数据在2401模块中进行储存,然后给控制器一个状态位,当控制器通过spi读到这个位的数据时,就给2401一个发送的指令这时2401才

温馨提示

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

评论

0/150

提交评论