机械仪表利用2401无线模块组成的无线遥控系统的设计.doc
石家庄铁道大学四方学院毕业设计利用无线2401模块组成的无线遥控系 统的设计 Design of Wireless Remote Controller with NRF2401摘 要本系统的目的是以单片机和无线2401模块为系统核心,设计基于单片机的无线遥控系统,进行无线数据传输。无线技术正以一种快速的速度进入许多产品中,它与有线相比主要有成本低,携带方便,省去有线布线的烦恼;特别适用于手持设备的通信、电池供电设备、遥控、遥测、小型无线网络、无线抄表、门禁系统等。本文主要是对C语言和单片机的一些基本知识、概念的应用学习和研究,以及STC89C52芯片模块和NRF2401模块的开发设计。该设计的目的是设计一个无线遥控系统,可以在规定距离内传输数据。它是利用STC89C52单片机作为主控芯片,NRF2401作为无线收发模块,设计了一种无线遥控系统。并且介绍了该无线遥控系统的四大模块,即STC89C52单片机模块、NRF2401模块、键盘模块、数码管模块,同时给出了各个模块的方案选择理由以及硬件电路设计和软件设计的过程。经运行证明,利用NRF2401来完成这个无线遥控系统的设计的方案是可行的,系统稳定,易于控制,通信可靠。关键词:STC89C52NRF2401无线遥控系统 AbstractThe purpose of this system is based on single chip and NRF2401 modules for the core system,based on the single chip wireless remote control system, wireless data transmission. Wireless technology is taking a rapid speed into many products, it is main cable and low cost compared, convenient to carry, and save the cable wiring worry; Especially suitable for handheld devices communications, battery power supply equipments, remote control, remote sensing, small wireless network, wireless meter reading, access control system, etc.This paper is mainly to the C language and single chip microcomputer, and some basic knowledge of the concept of learning applications and research, and STC89C52 chip module and NRF2401 module of the design development, this is designed to design a wireless remote control system, can be in provisions in the distance data transmission. This system is the use of STC89C52 microcontroller as the main control chip, NRF2401 as a wireless transceiver module design a wireless remote control system. Introduces the wireless remote control system of the four modules, namely STC89C52 microcontroller module, NRF2401 module, keyboard module, digital tube module, and presents a scheme of each module, reasons for choice and hardware design and software design process.The operation proved that using NRF2401 to complete the wireless remote control system design scheme is feasible, and the system is stable, easy control, communication and reliable.Key words: STC89C52NRF2401 Wireless Remote Control System目录第1章绪论11.1无线遥控系统研究的背景11.2无线遥控系统的研究内容11.3无线遥控系统的设计思想21.4无线遥控系统的设计的意义2第2章系统总体方案设计32.1功能要求32.2设计思路32.3方案选择32.3.1控制模块选择方案32.3.2按键选择方案42.3.3芯片选择方案42.4总体设计框图5第3章系统硬件设计63.1概述63.2主控模块63.2.1STC89C52芯片的简介63.2.2主控模块电路原理93.3NRF2401芯片模块93.3.1NRF2401功能93.3.2NRF2401电路设计103.3.3实际通信过程113.4电压转换模块123.4.1芯片简单描述133.4.2主要参数133.4.3应用范围133.5LED灯及数码管显示模块133.5.1LED及数码管简介133.5.2LED灯及数码管显示模块电路原理图143.6按键控制模块153.6.1按键控制模块电路原理图15第4章系统软件设计164.1NRF2401芯片模块设计164.1.1NRF2401的固件编程的基本思路164.1.2NRF2401的发送接收设计184.2键盘扫描模块设计204.2.1键盘扫描204.2.2键盘去抖214.2.3键盘编码214.2.4单片机对键盘的控制方式214.3显示模块的设计22第5章系统分析与调试24第6章结论与展望266.1无线遥控系统的设计的结论266.2无线2401模块与蓝牙模块的对比266.3展望27参考文献28致谢29附录30附录A外文资料30附录B 硬件原理图37附录C程序清单38第1章绪论1.1无线遥控系统研究的背景无线遥控技术发展只有几十年的历史,目前,在无线遥控领域,无线遥控模式是遥控的主要方式。本次研究的无线遥控系统,采用了Nordic公司的NRF2401无线收发一体芯片和蓝牙一样,同样工作在2.4-2.5GHz的ISM波段。NRF2401的单价低于3美元,而且便于开发,产品上市时间短,应用广泛,包括无线鼠标、无线键盘、无线操纵杆、无缝接入、无线数据传输、汽车应用等。现代控制系统需要采集传感器所获取的数据,并将采集得到的数据传送到主机进行数据分析和处理。但是对着数据采集应用的范围不断拓展,在有些场合,如高腐蚀性环境、现场无法实现明线连接等许多条件下,采用传统的数据传输信道即通过有线连接传输采集已经不能满足需要,这时采用无线数据传输就显示出巨大的优势,无线数据传输不受地理环境、气候、时间等的限制,具有广阔的应用前景。1.2无线遥控系统的研究内容本文主要是对C语言和单片机的一些基本知识、概念的应用学习和研究,以及STC89C52芯片模块和NRF2401模块的开发设计,该设计的目的是设计一个无线遥控系统,可以在规定距离内传输数据。为了使接收时分析方便,我们加了按键以及数码管,当按下某一按键时数码管显示相应的按键值。本设计的主要工作有以下几个方面:(1)整体方案的设计方案的选择要符合芯片功能的要求,既要保证操作简单符合人们平时的操作习惯,又要体现出本产品的特点,本文研究设计的无线遥控系统是采用STC89C52单片机和NRF2401芯片,用来实现无线遥控系统传输信息的功能。(2)程序流程图及软件设计一个程序要想实现其功能,不能没有次序而盲目下手,必须对其有一个全面的了解后画出流程框图,然后逐个模块的实现其功能,最终把模块之间合理的连接起来,构成完整程序。本设计的软件设计主要包括系统的初始化设计、延时子程序的设计、键盘扫描模块的设计、两个芯片之间通信的设计、按键设计模块和数码管的显示设计、以及把各个子模块组合成一个完整程序的设计等。整个系统程序采用模块化结构设计程序相对比较优化易修改和调试系统软件的开发是用C语言设计的。(3)系统原理图及硬件调试实验本设计在进行硬件原理分析后,需要连接实物进行实际操作,检验自己的设计是否可以行得通。需要在protel99SE环境下画出硬件原理图并进行电气测试,检测无异议后进行硬件系统的调试实验,为了保证系统的可靠性分析查找,硬件的调试整个系统进行了模拟试验。1.3无线遥控系统的设计思想本文在设计的大前提下,简化系统设计,系统的工作原理是:首先用按键输入信号,送到单片机进行初步处理,对要传输的信号进行编码,然后利用NRF2401无线传输芯片通过无线方式将有效数据发送给接收端,而在接收端,将数据采集的部分简化为数码管的输人数据,并对数据进行简化编码,通过单片机的控制将数据发送到NRF2401,再通过PCB天线将数据发送出去,然后通过数码管显示出接收的信息,从而验证与发送的信息是否相符。如需对系统扩充,只需在原电路的基础上加入相应的外围电路即可实现更高级的功能。作为数字控制通信系统,整个无线数据采集系统的设计部分分为硬件设计和软件设计两个方面。1.4无线遥控系统的设计的意义无线遥控系统作为一种新一代的信息传送方式,具有绕射和穿透特性,只要在有效工作范围之内,无线设备就可以不受角度、方向和障碍物的限制而自由使用。并且采用单片射频收发芯片NRF2401,采用这种遥控芯片在遥控精度上将得到很大的提升,可以防止无线电波的相互干扰,抗干扰能力强。无线遥控系统是NRF2401通过ShockBurstTM收发模式进行无线数据发送,收发可靠,其外形尺寸小,需要的外围元器件也少,使用方便,因此,在工业控制、消费电子等各个领域都具有广阔的应用前景。由NRF2401组成的无线遥控系统,也在计算机外设、无线耳机、玩具、汽车电子、医疗器械、遥控和工业传感器中广泛应用,给人们的生活带来了极大的方便。第2章系统总体方案设计2.1功能要求1、通过STC89C52芯片实现对按键的读取,将所对应的按键在数码管上显示;2、NRF2401芯片完成无线通信模块,1117-3.3V电源模块完成电压转换,实现信息在规定距离内的无线通信;3、采用8位共阴极的数码管,显示按键的值;4、采用独立按键,完成无线通信的发送部分。2.2设计思路电路总体上分为芯片控制部分和NRF2401芯片部分。以STC89C52单片机最小系统作为核心控制电路,控制独立键盘对数码管的显示,具体显示内容及方式由软件来完成。无线通信部分由NRF2401芯片来实现,它由一种无线收发一体芯片和蓝牙一样,同样工作在2.4-2.5GHz的ISM波段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。具体步骤是:对STC89C52、NRF2401芯片进行初始化,选择NRF2401的工作方式;设置按键的功能,并且具体锁定到键盘的某一按键上;在发送端按下不同的按键;在接收端,查看数码管显示的信息。2.3方案选择2.3.1控制模块选择方案方案一:采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能,因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。方案二:采用STC89C52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。鉴于上述对比与分析,本设计采用方案二。2.3.2按键选择方案方案一:采用STC89C52的独立键盘,其独立键盘有4个按键,操作简单。方案二:采用STC89C52的矩阵键盘,其矩阵键盘具有16个按键,相对独立按键操作复杂。在本设计中因为需要的按键较少,所以采用独立按键,编程简单也易于系统的实现,而4*4矩阵键盘,编程麻烦,就本设计而言,用不到这么多的按键,就显得繁琐复杂了。鉴于上述对比与分析,本设计采用方案一。2.3.3芯片选择方案方案一:AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。其片内的4K程序存储器是Flash工艺的,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护我们的劳动成果。再者,AT89C51目前的售价比8031还低,市场供应也很充足。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需l0ms。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。方案二:STC89C51系列单片机的指令系统和AT89C51系列的完全兼容,但实际操作起来却存在很多问题:(1)AT89C51不带ISP下载,要用下载器才行,STC89C52可以用USB转串口下载,下载软件可以到STC厂家网上去下。(2)STC单片机执行指令的速度很快,大约是AT的3-30倍,尽管快是好事,但这样一来,在AT上好使的程序在STC上不一定好用,最典型的例子就是那些对时序有严格要求的模块,用STC时注意得加长延时,大约是AT的1030倍就差不多,这一点自己调试就知道了。 (3)STC单片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常。比较这两种方案,由于学过数字电路、单片机原理、C语言程序设计,综合考虑单片机的各部分资源和作为学生能够获得的资源,经过对比此次设计要求,选择用STC系列芯片完成。而且学校也提供了相应的硬件操作平台,实际操作起来比较方便。鉴于上述对比与分析,本设计采用方案二。2.4总体设计框图按照系统功能的具体要求,在保证实现其功能的然础上,尽可能降低系统成本。总体设计方案围绕上述思想,初步确定系统的方案如图2-1所示:P2.0 P2.1 P2.2P2.7P1.0P1.7P3.0数码管段选数码管位选数码管显示NRF2401芯片独立按键图2-1系统初步方案 由图2-1可以看出,系统有STC89C52模块、数码管显示模块、独立键盘模块和NRF2401芯片模块组成。在方案设计中,遵循简洁至上的原则,因此所有的外围模块采用串行方式与微处理器模块接口。该设计以STC89C52系列单片机为控制核心,实现无线遥控系统的发送接收的基本功能。在设计系统时,为了更好地采用模块化设计法,分步的设计各个单元功能模块,系统的硬件部分可以分为键盘设定、单片机控制、数码管显示、NRF2401电路设计4个部分。第3章系统硬件设计3.1概述本次设计主要由4个模块构成,分别是主控模块、NRF2401芯片模块、数码管显示模块、键盘控制模块,其中主控模块是此次毕业设计的核心模块,主要是指STC89C52芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现了功能的需要;NRF2401模块主要指NRF2401芯片和1117-3.3V电源模块,用NRF2401模块来实现无线传输功能,1117-3.3V电源模块是电压转换的,用来连接NRF2401芯片和单片机;而数码显示模块是整个系统的辅助模块,用来显示接收到的信息;按键控制模块则是用按键来控制该无线遥控系统的发送。3.2主控模块3.2.1STC89C52芯片的简介功能特性:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,其芯片引脚如图3-1所示。STC89C52具有以下标准功能: 8K字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。图3-1STC89C52芯片管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在Flash编程时,P0 口作为原码输入口,当Flash进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在Flash编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在Flash编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输由于外部下拉为低电平,P3口将输出电流(ILL),这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能口,如表3-1所示:表3-1 P3口的第二功能 引脚 功能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(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。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端保持高电平时,此间内部程序存储器。在Flash编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2.2主控模块电路原理单片机主程序模块通过对键盘扫描程序信号的读取,再通过对应的地址,取出数码管显示编码。在这一过程中,对数码管编码是直接赋值,如图3-2所示:图3-2STC89C52模块电路原理图3.3NRF2401芯片模块3.3.1NRF2401功能 NRF2401的封装及引脚排列如图3-3所示,其有六个控制和数据信号,分别为CSN、SCK、MISO 、MOSI 、IRQ、CE 。CSN:芯片的片选线,CSN 为低电平芯片工作 SCK:芯片控制的时钟线(SPI 时钟)MISO:芯片控制数据线(Master input slave output) MOSI:芯片控制数据线(Master output slave input) IRQ:中断信号。无线通信过程中MCU 主要是通过 IRQ 与 NRF2401 进行通信。 CE:芯片的模式控制线。在CSN为低的情况下,CE协同NRF2401的CONFIG寄存器共同决定NRF2401的状态。图3-3NRF2401引脚排列图 3.3.2NRF2401电路设计本次无线发送系统的设计采用NRF2401无线模块是由于NRF2401是单片射频收发芯片,工作于2.42.5GHzISM频段。工作电压为1.93.6V,有多达125个频道可供选择。可通过SPI写入数据,最高可达10Mb/s,数据传输率最快可达2Mb/s,并且有自动应答和自动再发射功能。和上一代NRF2401相比,NRF2401数据传输率更快,数据写入速度更高,内嵌的功能更完备1。在本系统中用到的NRF2401所需电压为1.93.6V,而我们的单片机的电压为5V,所以为了将二者联系在一起,必须将单片机的电压进行压降,就用到了电压转换模块:3.3V电源模块,即1117-3.3V电源模块。 NRF2401是由NORDIC2出品的,工作在2.4GHz2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道选择和协议的设置可以通过SPI 接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。极低的电流消耗。当工作在发射模式下发射功率为0dBm 时电流消耗11.3mA ,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。无线模块与STC89C52单片机3相连,P2口为单片机输出口。P2.3口与无线模块的CE相连,来选择无线模块的工作方式,RX或是TX;P2.7与SCK相连使单片机可通过程序对SPI时钟进行控制;P2.5连接MISO,控制着SPI数据输出;P2.2连接MOSI,控制着SPI数据的输入。P2.6连接CSN,SPI片选信号进行选择。P3.3与IRQ相连,控制着可屏蔽中断脚的端口的使用。考虑到NRF2401的工作电压在3.3V左右,然而STC98C52单片机的工作电压为5V左右,所以必须在输入端接上。一个稳压管,以确保NRF2401在安全的工作环境下进行工作。其电路原理图如图3-4所示: 图3-4NRF2401电路原理图3.3.3实际通信过程 1、 发射节点CE与IRQ 信号 当把节点配置为发射节点以后,将传送的数据通过SPI_Write_Buf(WRITE_REG + RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH) 函数4送到发送 FIFO 缓冲区。CE为高超过10s,缓冲区中的数据通过无线向外发出。当发送节点收到接收节点发来的 ACK(表示接收节点成功收到信号)或是达到最大发射次数,IRQ 会变为低电平,同时CONFIG的相关标志位会置 1。清除标志位(向CONFIG的标志位写 1)以后,IRQ又变为高电平。当CE置高后将近10msIRQ才置低。IRQ置低是由于达到最大发射次数(MAX_RT=1),出现该情况可能是由于接收节点的配置与发射节点不符(例如发射接收频率不同,或者发射接收字节不等),或者根本就没有接收节点(例如接收节点就根本没上电)。 2、SCK与IRQ信号(发送成功) MOSI信号在SCK的下降延送入2401节点。(配置一个寄存器需要两组SCK信号,填充N字节的BUFFER需要N+1组SCK信号)。 配置完信号以后,将CE置高,则2401开始发送(或接收)数据,当发送(或接收)完成以后(或是达到最大发射次数),IRQ置低。单片机根据当时的状态进行相应的处理。 单片机在IRQ为低时对2401的处理过程。可以是读FIFO(作为接收节点时),写FIFO(作为发射节点时),或是Reset2401(达到最大发射次数时)。 SCK的最后一个信号到IRQ置低大概需要1ms,说明通信成功(说明IRQ不是 MAX_RT引起的)。 3、SCK与IRQ信号(发送不成功) 当SCK信号到IRQ置低的时间间隔变为将近10ms,表明通信不成功,IRQ是由于达到最大发射次数引起的。 4、SCK、IRQ、CE信号 发射端 CE,接收端SCK,发射端IRQ 发射节点在配置完成以后,CE置高,发射节点FIFO中的数据发出;接收节点成功接收到数据,IRQ置低;接收节点自动发射ACK(在发射和接收节点都使能ACK),发射节点收到ACK后IRQ置低,表示发送成功。 不同通信环境可能造成发射节点的IRQ与接收节点的IRQ产生将对的相位变化。出现这种情况主要是由于不同的通信环境造成接收端发送的ACK信号要重发几次才能被发送端收到。 3.4电压转换模块在本系统中用到的NRF2401所需电压为3.3V,而我们的单片机的电压为5V,所以为了将二者联系在一起,必须将单片机的电压进行压降,就用到了我们的电压转换模块:3.3V电源模块5 ,即1117-3.3V电源模块。下面简单介绍1117-3.3V电源模块。3.4.1芯片简单描述1117是一个低压差电压调节器系列。其压差在1.2V输出,负载电流为800mA时为1.2V。它与国家半导体的工业标准器件LM1117有相同的管脚排列。1117有可调电压的版本,通过2个外部电阻可实现1.2513.8V输出电压范围。另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V)的型号。1117提供电流限制和热保护。电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1%以内。1117系列具有LLP、TO-263、SOT-223、TO-220和TO-252 D-PAK封装。输出端需要一个至少10F的钽电容来改善瞬态响应和稳定性。3.4.2主要参数1、1.8V、2.5V、2.85V、3.3V、5V和可调电压的型号; 2、节省空间的SOT-223和LLP封装; 3、电流限制和热保护功能 输出电流可达800mA; 4、线性调整率:0.2% (Max)。3.4.3应用范围作为三端稳压管,1117的应用相当广泛,一般对电源效率要求不高的地方,都有可能用到:充电器、一些电路板、电池充电器、电话、数据库、LED显示器、卫星接收器。3.5LED灯及数码管显示模块3.5.1LED及数码管简介本次设计的显示电路采用LED及数码管6显示,如图3-6所示。LED(Light-Emitting Diode)是一种外加电压从而流过电流并发出可见光的器件。LED是属于电流控制器件,使用时必须加限流电阻。LED有单个LED和八段LED之分,也有共阴和共阳两种。常用的七段显示器的结构如图(如图3-5(a)所示)。发光二极管的阳极连在一起的称为共阳极显示器(如图3-5(b)所示),阴极连在一起的称为共阴极显示器(如图3-5(c)所示)。1位显示器由八个发光二极管组成,其中七个发光二极管ag控制七个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。才能显示出正确的数字来。图3-5LED灯及数码管3.5.2LED灯及数码管显示模块电路原理图数码管显示模块核心是共阴极数码管,而LED灯显示模块的核心则是共阳极数码管,通过来自单片机I/O口的电平高低来点亮和熄灭数码管上的发光二极管,通过单片机送来的数码管显示编码可以在数码管上显示数字和字符,使应用人员可以很容易的理解按键按下所对应的显示信息。电路原理图如图3-7所示:图3-6数码管显示电路原理图3.6按键控制模块3.6.1按键控制模块电路原理图当按键没按下时,CPU对应的I/O接口由于内部有上拉电阻,其输入为高电平;当某键被按下后,对应的I/O接口变为低电平7。只要在程序中判断I/O接口的状态,即可知道哪个键处于闭合状态。按键功能模块电路原理图如图3-7所示:图3-7按键功能模块电路原理图第4章系统软件设计在对我们所要设计的课题有了整体的了解之后,需要先建立程序框架的流程图,对整个设计划分模块,逐个模块实现其功能,最终把各个子模块合理的连接起来,构成总的程序。主程序首先要对整个系统进行初始化,然后将指令传给芯片,设置按键功能,按下按键,看其对应的按键,完成预期的功能。系统的主流程图如图4-1所示: 系统初始化NRF2401配置发送模式设置按键功能按键扫描开始数据采集将采集到的数据装入发射寄存器NRF2401发送数据NRF2401接收数据数码管显示结束NRF2401配置接收模式是否按下YN图4-1系统主流程图4.1NRF2401芯片模块设计4.1.1NRF2401的固件编程的基本思路 对于NRF2401的编程8主要是通过命令(WRITE_REG,READ_REG等等),控制线CE、CSN以及中断信号IRQ共同完成的。对于发射节点,如果使能ACK与IRQ功能,则当通信成功以后(也就是发射节点收到了接收节点送回的ACK 信号),IRQ线会置低。对于接收节点,如果使能ACK与IRQ功能,则当通信成功以后,IRQ线会置低。1、置CSN为低,使能芯片,配置芯片各个参数。(过程见Tx与Rx的配置过程)配置参数在 Power Down状态中完成。 2、如果是Tx模式,填充Tx FIFO。 3、配置完成以后,通过CE与CONFIG中的PWR_UP与PRIM_RX参数确定 2401要切换到的状态。 Tx Mode:PWR_UP=1;PRIM_RX=0;CE=1 (保持超过 10s 就可以) ;Rx Mode:PWR_UP=1;PRIM_RX=1;CE=1; 4、IRQ引脚会在以下三种情况变低: Tx FIFO发完,并且收到 ACK Rx FIFO收到数据,达到最大重发次数,将IRQ接到外部中断输入引脚,通过中断程序进行处理。 (1)Tx模式初始化过程: 1、写Tx节点的地址 TX_ADDR2、写Rx节点的地址(主要是为了使能Auto Ack)RX_ADDR_P03、使能Auto Ack EN_AA4、使能PIPE0 EN_RXADDR5、配置自动重发次数 SETUP_RETR6、选择通信频率 RF_CH7、配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP8、选择通道0有效数据宽带 Rx_Pw_P09、配置2401的基本参数以及切换工作模式 CONFIG(2)Rx模式初始化过程: 1、写Rx节点的地址 RX_ADDR_P0 2、使能AUTO ACK EN_AA 3、使能PIPE0 EN_RXADDR4、选择通信频率 RF_CH5、选择通道0有效数据宽度 Rx_Pw_P06、配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP