无线传输装置的设计与制作_第1页
无线传输装置的设计与制作_第2页
无线传输装置的设计与制作_第3页
免费预览已结束,剩余57页可下载查看

下载本文档

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

文档简介

1、灵沖2帰绳恥肖论Tianjin Uni versity of Tech no logy and Educati on毕业设计专 业:班级学号:学生:指导教师:二OO年六月无线传输装置的设计与制作摘要无线传输通信技术,通常工作于ISM(工业、科学、医疗)频段,因其功率小、开 发简单快速而在工业、民用等领域应用广泛。本装置基于微功耗单片射频收发器n RF905设计,nRf905采用VLSI ShockBurst技术,ShockBurst工作模式的特点是自动产生前导 码和CRC(循环冗余校验),降低在应用中的平均电流消耗;采用 Atmel公司的高性能、 低功耗8位处理器ATmega16完成数据的处理

2、和控制,ATmega16与 nRF905之间的双向数 据传输使用SPI接口。输出显示采用微功耗、体积小、显示容丰富、超薄轻巧3V供电的液晶MC1602输入键盘采用4X4中断式键盘,减少键盘查询过程对 MCU勺占用时间。在 完成硬件电路和系统软件调试后,实现了手持型的英文短信机,在100 m通信距离,该无线传输装置工作稳定,能实现数据的有效传输,具有低功耗、抗干扰能力强、易携带等优 点。关键词无线传输;英文短信机;ATmega16 nRF905 MC1602Wireless transmission equipment design and fabricationAbstract Wireles

3、s communi catio ns tech no logy, usually work in the ISM (industrial,scientific,medical) band, It was extensively applied to thein dustrial, civilia n in fields because of their power of small, simple and rapiddevelopment. This device based on micro-power single-chip RF transceiver nRF905 desig n, n

4、 Rf905 by VLSI ShockBurst tech no logy, ShockBurst mode of operati on is characterized by automatic precursor code and CRC(cyclical red undancy check in g), reduci ng the applicati on of the average curre nt con sumpti on,using Atme l's high performa nee, low-power eight bit processor ATmega16 c

5、ompleted data process and control, ATmega16and nRF905two-way data transmission between the use of the SPI in terface. Output using LCD MC1602 with micro-power, small size, show rich in content, ultra-thi n lightweight 3 V power supply. The in put keyboard uses4 x4-keyboard with in terruptio n to red

6、uce the keyboard for the process occupati onMCU's time. after the debugging of hardware and system software implement a hand-held machine messagein English, on the 100 m distanee, the wireless devices work stability, message can transmissed effectively, with low power, anti-interference capabili

7、ty and easy Bring.Key wordswireless tran smissio n; En glish-SMS; ATmega16; nRF905; MC1602目录0引言11无线传输装置的主要单元电路21.1 Atmega16 单片机21.1.1 Atmega16 的主要性能21.1.2 Atmega16 引脚说明31.1.3 AVR CPU 核41.1.4 ATmega16 的存储器51.2 无线收发芯片nRF90561.2.1 nRF905 部结构与简单工作原理 61.2.2 nRF905的性能及特点71.3 液晶 MC160271.3.1 引脚说明71.3.2 基本操

8、作71.4 中断式矩阵键盘72无线传输装置的原理与设计92.1 无线传输装置结构框图 92.2 无线传输装置原理图 92.3 无线传输装置程序主要流程图92.4 无线传输装置的模块电路 162.4.1 无线收发部分162.4.2 输出显示部分182.4.3 输入按键部分223无线传输装置的调试243.1 显示部分调试243.2 键盘部分调试2628283.3 无线收发部分调试3.4 总体调试3.4.1 调试步骤283.4.2 调试结果31结论32致谢语33参考文献34附录 1 main.c35附录 2 mainO.c38附录 3 int_O1.c44附录4 PCB图48附录5英文原文49附录5

9、英文译文560引言随着网络及通信技术的飞速发展,无线传输以其成本低廉、扩展性好、受地理条件限制较少、安装施工 简便灵活等特点,在许多领域都有着广阔的应用前景。 伴随着短距离、低功率无线传输技术的成熟,无线传 输被越来越多地应用到新的领域。与有线传输方式相比,无线传输以其不需铺设明线、使用便捷等一系列优 点。以往的无线产品存在围和方向上的局限。例如,一些无线产品在使用时,无法将信息反馈给控制者;还 有一些无线产品,如果能配备廉价的无线技术并在系统中增加数码显示,产品不仅能向用户显示其状态或状态的改变,而且可以大大降低成本。正如人们所发现的,只要建立双向无线通信-双工通信并且选择成本低的收发芯片,

10、就会出现许多新应用。本系统采用统一的3V电源供电,无需外加电源电压转换电路。4X 4键盘采用只需外加四个二极管和一 个部上拉电阻就实现了外部中断的设计,Atmega16芯片在部集成EEPRO掉电存储,通过nrf905无线模块 进行数据传输,采用工作频段为 433MHZI勺点对点无线传输;显示部分采用 3V供电的MC1602显示信息,中 小尺寸的液晶显示在人机交互上具有比数码管明显的的优势:通过简洁的接口电路,可以在屏上实现比较丰富细腻的的各种界面效果,大大增强了器件与使用者之间的“亲和力”。综上所述液晶显示、AVR单片机与nrf905芯片均为低功耗、低电压即可工作的器件,因此硬件电路实现简易,

11、具有电路简单稳定、抗干扰 能力强、功耗小,易携带等优点。1 无线传输装置的主要单元电路1.1 Atmega16 单片机控制电路主要组成部分为单片机 ATmegal6 ,ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MIPS/MHz ,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算数逻辑单元 (ALU)相连接, 使得一条指令可以在一个时钟周期同时访问两个独立的寄存器。 这种结构大大提高了代码效率,并且具有比 普通的CI

12、SC微控制器最高至10倍的数据吞吐率。1.1.1 Atmega16的主要性能1)高性能、低功耗的8位AVR微控制器,先进的RISC精简指令集结构,131指令,大多数指令执行时间为 单时钟周期指令,32个8位通用工作寄存器,工作在16MHZ寸,具有16MIPS的性能,片集成硬件乘法器(执行速度为2个时钟周期)。2)片集成了较大容量的非易失性程序和数据存储器,16KB的可编程Flash存储器,擦写次数:10000次,具有独立锁定位的可选BOO代码区,可通过片上BOO程序实现系统编程序,真正的的同时读写操作。512 个字节的EEPROM察写寿命:100000次;1K字节片SRAM可以对锁定位进行编程

13、以实现用户程序的加密。3)丰富强大的外部接口( Peripheral )性能,两个具有独立预分频器和比较器功能的8位定时器/计数器,一个具有预分频器、比较功能和捕获功能的16位定时/计数器,具有独立振荡器的实时计数器RTC四个PWMB道;8路10位ADC 8个单端通道,TQFP封装的7个差分通道,2个具有可编程增益(1X,10 X或200 X )的差分通道,两个可编程的串行 USAR接 口,可工作于主机/从机模式的SPI串行接口,具 有独立片振荡器的可编程看门狗定时器,片模拟比较器。4)特殊的微控制器性能:可上电复位以及可编程的掉电检测,片经过标定的RC振荡器,片/片外中断源;6种睡眠模式:空

14、闲模式、ADC噪声抑制模式、省电模式、掉电模式、待命模式(Standby)以及扩展的Standby 模式。5)I/O 口和封装:32个可编程I/O 口,可任意定义I/O的输入/输出方向;输出时为推挽输出,驱动能力强, 可直接驱动LED等大电流负载:输入口可定义为三态输入,可以设定带部上拉电阻,省去外接上拉电阻,40脚PDIP封装,44脚TQFP封装和44脚MLF封装。6)宽工作电压:2.7V-5.5V (ATmega16L,4.5V-5.5V (ATmega16。7)高运行速度,O-8MHz( ATmega16L,0-16MHz( ATmega16。8)低功耗:正常模式(Active ) :

15、1.1mA 空闲模式(Idle Mode ) :0.35 mA ;掉电模式(Power down Mode : < 1uA。1.1.2 Atmega16 引脚说明Atmega16引脚如图1.1。JI(XCKTQ) PB0 匚1M FAO (ADCO)(T1) FB1 匚239 PA1 KADS(IHT2/AIN0) FB2 匚3胡 PA2 (ADC2)(OCO/AINi) P0J 匚437 PAS(克)PB4匚5鮎 PM <ADC4i(MOSI) PB& C635二 PA& KADC5)(MSO) PB5 734=l PA5 (ADC5)(SC K) PB7 匚33

16、3 PA7 (ADC7IRESET 匚932 AREFVCC匚10 GNDGKD匚1130 AVCCXTAL2 匚1229 PC? (TOSC2)XTAL1 匚132日 PC& (TOSC1)(RXD) PD0 匚1421 PCS (TDf)(TXD) PD1 匚152S PC4 (TDO>(IMTO) PD2 匸1625 PCI (TMS)(INT1) PD3 匚1724 FC2 (TCK)(OC1B) PD4 匚1823 PCI (SDA)(OC1A) PD5 匚22 FCO (3CL)(ICP1) PD6 匚20 21尸07 (OC2)图1.1 ATmega16引脚图1)

17、端口 A(PA7.PA0)端口 A :作为A/D转换器的模拟输入端。为8位双向I/O 口,具有可编程的部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若部上拉电阻使能,端 口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。2) 端口 B(PB7PB0):端口 B为8位双向I/O 口,具有可编程的部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若部上拉电阻使能,端 口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。3) 端口 C(PC7.PC0):端口 C为

18、8位双向I/O 口,具有可编程的部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若部上拉电阻使能,端口被外部电路拉低时将输出 电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。如果JTAC接口使能,即使复位出现弓I脚PC5(TDI)、PC3(TMS与 PC2(TCK)的上拉电阻被激活。4) 端口 D(PD7.PD0)端口: D为8位双向I/O 口,具有可编程的部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若部上拉电阻使能,则端口被外部电路拉低时将输出电 流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。

19、.专业资料.5)RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。6)AVCC是端口 A与A/D转换器的电源。不使用AD(时,该引脚应直接与VC连接。使用AD(时应通过一个低通 滤波器与vcd接。7)AREF A/D的模拟基准输入引脚。8)XTAL1:反向振荡放大器与片时钟操作电路的输入端。9)XTAL2反向振荡放大器的输出端。1.1.3 AVR CPU 核1) AVR AL与32个通用工作寄存器直接相连。寄存器与寄存器之间、寄存器与立即数之间的ALU运算只需 要一个时钟周期。ALU操作分为3类:算术、逻辑和位操作。2)复位与中断

20、处理AVFW不同的中断源。每个中断和复位在程序空间都有独立的中断向量。所有的中断事件都有自己的使能位。当使能位置1位,且状态寄存器的全局中断使能位也置1位时,中断可以发生。根据程序计数器PC勺不 同,在引导锁定位BLBO或BLB12被编程的情况下,中断可能被自动禁止。这个特性提高了软件的安全性。 程 序存储区的最低地址缺省为复位向量和中断向量。向量所在的地址越低,优先级越高。RESET具有最高的优先级,第二个为INT0外部中断请求。通过置位MCU控制寄存器(MCUCR的IVSEL,中断向量可以移至引导Flash 的起始处。编程熔丝位BOOTRST可以将复位向量移至引导 Flash的起始处。任一

21、中断发生时全局中断使能 位I被清零,从而禁止了所有其他的中断。软件可以在中断程序里置位I来实现中断嵌套。此时所有的中断都 可以中断当前的中断服务程序。执行 RET指令后I自动置位。从根本上说有两种类型的中断。第一种由事件触发并置位中断标志。 对于这些中断,程序计数器跳转到 实际的中断向量以执行中断处理程序,同时硬件将清除相应的中断标志。中断标志也可以通过对其写“ 1 ”的方式来清除。当中断发生后,如果相应的中断使能位为“0”,则中断标志位置位,并一直保持到中断执行,或者被软件清除。类似的,如果全局中断标志被清零,则所有已发生的中断都不会被执行,直到I置位。然后挂起的各个中断按中断优先级依次执行

22、。第二种类型的中断则是只要中断条件满足,就会一直触发。这些中断不需要中断标志。若中断条件在中断使能之前就消失了,中断不会被触发。要注意的是,进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作必须由用户通过软件来完成。3)状态寄存器状态寄存器状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有 ALU运算都将影响状态寄存器的容。这样,在许多情况下就不需要专门的比 较指令了,从而使系统运行更快速,代码效率更高。在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理。1.1.4 A

23、Tmega16 的存储器1)系统可编程的Flash程序存储器ATmegal具有16K字节的在线编程Flash,用于存放程序指令代码。因为所有的 AVR旨令为16位或32 位,故而Flash组织成8K x 16位的形式。用户程序的安全性要根据 Flash程序存储器的两个区:引导(Boot) 程序区和应用程序区,分开来考虑。 Flash存储器至少可以擦写10,000次。ATmega1的程序计数器(PC) 为13位,因此可以寻址8K字的程序存储器空间。2)SRAM数据存储器数据存储器的寻址方式分为5种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址 和带后增量的间接寻址。寄存器文件中的寄

24、存器R26到R31为间接寻址的指针寄存器。直接寻址围可达整个数据区。带偏移量的间接寻址模式能够寻址到由寄存器丫和Z给定的基址附近的63个地址。在自动预减和后加的间接寻址模式中,寄存器 X、丫和Z自动增加或减少。3)I/O存储器ATmega1所有的I/O及外设都被放置于I/O空间。所有的I/O位置都可以通过IN与OUT!令来访问,在32 个通用工作寄存器和I/O之间传输数据。地址为0x00 - 0x仆 的I/O寄存器还可用SBI和CBI指令直接进行位寻 址,而SBIS和SBIC则用来检查一位的值。1.2无线收发芯片nRF905nRF905是一种理想的超高频单片收发器芯片。主要用于ISM(工业、科

25、研及医疗)频带和在433/868/915MHz频带的 SRD(Short Range Device 近距离设备)中。1.2.1 n RF905部结构与简单工作原理1)主要引脚功能nRF905引 脚如图 1.2。TXj?%r tmjQj戲 vs峑 斗斜 mv悟 vdoI3H JT rso 291 28 | TF | 261 f3T24vssriRF 怖23T120 | wi19 ttLpAPit | 8丙|厲而冋百帀序|16|vss图1.2 nRF905引脚图(1) TRX_CE使能芯片接收和发送。(2) TRX_EN收发状态选择,TRX_EN'1 '发射状态;TRX_EN

26、9; 0'接收状态。(3) MISO SPI输出,MC由此口从RF芯片读入数据。(4) MISI: SPI输入,MC由此口从RF芯片写入数据。2) 部结构与简单工作原理nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作于 433/868/915MHZ的ISM频段。由一个 完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体振荡器和一个调节器组成。ShockBurst工作模式的特点是自动产生前导码和 CRC(循环冗余校验)。可以很容易通过SPI接口进行编程 配置。电流消耗很低,在发射功率位-10dBm时,发射电流位11mA工作于接收模式时电流为12.5

27、mA进入 POWERDOWN可以很容易实现节电,从而易于实现功率管理。nRF905-共有四种工作方式,其中有两种活动 RX/TX莫式和两种节电模式。活动模式:ShockBurst RX、ShockBurst TX。掉电模式:掉电和SPI编程、Standby和SPI编程。nRF905工作模式由TRX_CE TRX_EN PWR_U的设置来设定,见表1.1。表1.1 n RF905工作模式的设定PWR_UPTRX_CETRX_EN工作模式0XX掉电和SPI编程10XSta ndby 和 SPI 编程110ShockBurst RX111ShockBurst TXnRf905采用Nordic公司的V

28、LSI ShockBurst技术。ShockBurst技术使nRf905能够提供高速的数据传输而不需要昂贵的高速MC来进行数据处理/时钟覆盖。通过将与RF协议有关的高速信号处理放在芯片,nRf 905 提供给应用的微控制器一个SPI接口,速率由微控制器自己设定的接口速度决定。 nRf905通过ShockBurst工 作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗。 在ShockBurst RX莫式中,地址匹配(AM和数据准备就绪(DR信号通知MC一个有效的地址和数据包已经各自接收完成。在ShockBurst TX模式中,nRF905I动产生前导码和CR校验码

29、,数据准备就绪(DR信号通知MC数据传输 已经完成。1.2.2 n RF905的性能及特点nRF905是真正的单片;低功耗ShockBurst工作模式;工作电源电压围1.9 3.6V;多通道工作一ETSI/FCC 兼容;通道切换时间v 650us;极少的材料耗材;无需外部 SAM滤波器;输出功率可调至10dBm “传输前监 听”的载波监测协议;当正确的数据包被接受或发送时,有数据准备就绪信号输出;侦测接收的数据包,当 正确输出地址匹配信号;数据包自动重发功能;自动产生CRC和前导码;低工作电流(TX,在输出功率位-10dBm时典型值为11mA该型号单片机体积小、性能高,能够快速存取数据,也易于

30、系统开发以及扩展,很适合本设计的需要。1.3 液晶 MC1602液晶显示器以其微功耗、体积小、显示容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统 中得到越来越广泛的应用。引脚说明从该模块的正面看,引脚排列从右向左为1 16脚。第1脚:VSS为地电源。第2脚:VDD接3V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时,对比度最高,对比度过高时会产生“鬼影”使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为

31、低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:DOD7为8位双向数据线。第1516脚:背光电源。基本操作1)读状态 输入:RS=L RW=H E=H输出:DOD7= 犬态字。2)写指令 输入:RS=L RW=L D(D7=f令码,E=高脉冲,输出:无。3)读数据 输入:RS=H RW=H E=H输出:DOD7=t据。4)写数据 输入:RS=H RW=HD(D7=K据,E=高脉冲,输出:无。1.4 4 X 4中断式矩阵键盘采用矩阵键盘,在按键数

32、量多的场合,矩阵键盘与独立式按键键盘相比,可以节省很多I/O 口线。另外, 4X4矩阵键盘的PCB布线也相对其它形式键盘容易。2无线传输装置的原理与设计2.1无线传输装置结构框图无线传输装置3结构如图2.1所示。无线传输模块基于微功耗单片射频收发器nRF905设计,采用Atmel信息通过LCD(MC1602)公司的高性能、低功耗8位处理器ATmega16为主处理芯片,完成信息的处理和控制/单nRF905片 机Ld 键 F 盘LCDVLED图2.1无线传输装置结构框图2.2无线传输装置原理图见图2.2所示,PCBB见附录4。2.3无线传输装置程序主要流程图程序开始首先要进行硬件和软件的初始化,硬

33、件初始化主要是端口初始化、计数器初始化、液晶初始化和nRF90砌始化,软件初始化主要是EEPROM初始化;然后是判断显示菜单,由外部中断0控制;每个菜单的相应操作调用菜单子函数来实现;其中新短信数是由外部中断1统计。主要流程图如下所示:主程序流程图见图2.3所示;中断0程序流程图见2.4所示;中断1程序流程图见2.10所示;菜单0程序流程图见2.5所示;菜单3程序流程图见2.6所示;菜单1程序流程图见2.7所示;菜单2程序流程图见2.8所示;菜单7程序流程图见2.9所示;菜单8程序流程图见2.11所示。JP1Header 161234567890123456LCDvcc12345678910J

34、P2Header 5X2S1RSTC2uFvccR310KY1i 8i|pC38M _iC422pF | 22pFU1Y01Y12Y23丫34SCK 56PB0PA0PB1PA1PB2PA2PB3PA3PB4PA4PB5PA5PB6PA6PB7PA7RSTAREFVCCGNDGNDAVCCXTAL2PC7XTAL1PC6PD0PC5PD1PC4PD2PC3PD3PC2PD4PC1PD5PC0PD6PD7373478339321213CSN14MOSI5INT016DR 17X2 202127 RW26 RS29 LCD28 EX0 18X1 191011313039383635M1640X3V

35、CCR410KR110C1VCC1uFJP3r 8X2INT0D1丫3S5S9S13S1725 PWR_UP24 TX_EN23 TRX_CE22 MISOX5 319 7 5 3 赵1 4 1 0 8怙屮2LELVCC丫0Y1Y2n.hX3S2S3S4itbDbA1X2S617S8手打一A社X1S10S11-1 ?121nnX0S14S15S16D2图2.2无线传输装置原理图图2.3主程序流程图图2.4中断0程序流程图图2.5菜单0程序流程图图2.6 菜单3程序流程图返回显示SENDING显示空格Y输入法转换向上翻?菜单0NNNNNYN返回NYNYYN显示NYYYY按键09?NN按键07?W

36、青0NYYNY右R?W青0N是发送键0K?数字输2状态?英文输2状态?按键0-9( Lo右 R?建与上次不I隔至到0.25秒W2?W1?d入字符 数 <31?按键累加器W加1按键累加器W加1abcltn1=1?退格显示显示Y/Y是ESC? >;向下翻?:>»菜单2返回Nabc1time.abc1time1=1=0?.图2.7 菜单1程序流程图图2.8 菜单2程序流程图向上翻?菜单3N图2.10 中断1程序流程图2.4无线传输装置的模块电路无线收发部分无线收发部分是基于微功耗单片射频收发器nRF905设计,采用Atmel公司的高性能、低功耗8位处理器ATmegal助主

37、处理芯片,完成数据的处理和控制。1)无线收发部分电路框图见图2.12所示*-无线收发部分ATmeg.16无线收发部分/ATmegal 6nRF905图2.12无线收发部分电路框图2) ATmegal与nRF90转 口电路ATmega16W nRF905的接口电路很最要。nRF905部有5个寄存器:状态寄存器、配置寄存器、发射地址 寄存器、发射数据寄存器和接收数据寄存器。除了对寄存器读写外,还需对n RF905工作模式的切换进行控制。ATmega16W nRF905的信号连接见图2.13。SCKPB4PD0CSNPD1MOSIPD3DRPC0MISOPC1TR_CEPC2TX_ENPC3PWR_

38、UPATmega16nRF905ATmega16W nRF905之间的双向数据传输使用 SPI接口,单片机的PB4 PD0 PD1 PC0连接nRF905的 SPI接口,PD3 PC1-PC3!接nRF905的控制信号和检测信号,用于nRF905的模式切换以及通信过程中必须 的信号指示接口。3) 数据传输过程单片机将需发送的数据(这里包括目标设备地址和所要发送的数据)通过SPI接口发送给nRF905nRF905 将数据加前导码和CRC码,将数据包发送。当nRF905接收到有效数据后,DR置高,单片机检测到 DR为高电平后,复位TRX_CE引脚,使nRF905 进入空闲模式,通过SPI接口从nR

39、F905中读出接收数据。软件功能模块由CPU寄存器初始化、SPI初始化、SPI收发送程序、丨/O 口初始化、nRF905配置寄存器 操作、nRF905接收程序、发送程序、主程序模块组成。ATmegal6通过将nRF905的CSN引I脚置低实现与其同步。SPI操作时序和控制由软件实现。4) nRF905配置及收发流程对nRF905寄存器的操作是一个很关键的问题,nRF905的所有配置都是通过 SPI接口进行的。nRF905 的SPI接口只有在掉电模式和standby模式是激活的。当CSN为低时,SPI接口开始等待一条指令,任何一 条新指令均由CSN由高到低的转换开始。nRF905发送模式工作过程

40、如下: 当ATmega16发送数据时,将接收设备地址和所要发送的数据通过SPI接口写入nRF905置位TRX_CE TX_EN激活nRF905发送模式。nRF905自动完成数据打包(加入前导码和CRC)当传输完毕DR置位。 如果将AUTO_RETRAN置高,nRF905将连续发送数据包,直至将 TRX_C引脚复位。当TRX_C引脚被设置为低时,nRF905结束发送模式,并进入standby模式。 nRF905接收模式工作过程如下: 将TRX_C置位,TX_EN复位后650卩s,nRF005进入接收模式等待数据到来。(2 ) nRF905将接收到的有效数据包去掉前导码、地址,CRQE确后,将DR

41、(data ready)引脚置位。(3) CPU复位TRX_C引脚,使nRF905进入空闲模式,然后通过 SPI接口读取数据。(4) 数据接收完毕后,nRF905 DR引脚复位并准备进入下一个工作模式。应该注意的是,在数据发送过程中无论将 TRX_CETX_EN怎样设置,n RF905都会完成此次发送而不受 影响,此后,进八所设置的工作模式。而在接收数据包的过程中TRX_C或TX_EN犬态改变,则nRF905会立 即改变工作模式,丢失数据。输出显示部分单片机控制液晶5显示。1)主要指令本模块提供了 11条指令,大致可以分为四大类:模块功能设置,诸如:显示格式、数据长度等;设置部RA地址;完成部

42、RA数据传送;完成其他功能。一般情况下,部RAM的数据传送的功能使用最为频繁,因此,RAM中的地址指针所具备的自动加一或减 一功能,在一定程度上减轻了 MP编程负担。此外,由于数据移位指令与写显示数据可同时进行,这样就能 以最少系统开发时间,达到最高的编程效率。(1)Clear display 清显示指令码:RSRWDB7 DB6DB5DB4 D33DB2DB1 DB00000000001清显示指令将空位字符码20H送入全部DDRA地址中,使DDRAM中的容全部清除,显示消失;地址计数 器AC=0自动增1模式;显示归位,光标或者闪烁回到原点(显示屏左上角);但并不改变移位设置模式。(2)Ret

43、urn home 归位指令码:RSR/WDB7 DB6DB5DBA DBSDB2DB1 DB0000000001归位指令置地址计数器AC=0将光标及光标所在位的字符回原点;但 DDRAM中的容并不改变(3)Entry mode set 设置输入模式指令码:RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB000000001PDSI/D :字符码写入或者读出DDRAM后DDRA1M址指针AC变化方向标志: l/D=1,完成一个字符码传送后,光标右移,ACS动加1;I/D=0,完成一个字符码传送后,光标左移,AC自动减1;S:显示移位标志:S=1,将全部显示向右(I/D=0

44、)或者向左(I/D=1 )移位;S=0,显示不发生移位;S=1时,显示移位时,光标似乎并不移位;此外,读 DDRAM操作以及对CGRAM勺访问,不发生显示移位(4) Display on/off con trol显示开 / 关控制指令码:RSR/WDB7DB6DB5DB4DBSDB2DB1DB00000001DCBD:显示开/关控制标志:D=1,开显示;D=0,关显示;关显示后,显示数据仍保持在 DDRA中,立即开显示 可以再现;C:光标显示控制标志:C=1,光标显示;C=0,光标不显示;不显示光标并不影响模块其它显示功能;显示5X8点阵字符时,光标在第八行显示,显示 5X10点阵字符时,光标

45、在第十一行显示;B:闪烁显示控制标志:B=1,光标所指位置上,交替显示全黑点阵和显示字符,产生闪烁效果,Fosc=250kHz 时,闪烁频率为0.4ms左右;通过设置,光标可以与其所指位置的字符一起闪烁。(5) Cursor or display shift光标或显示移位指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DBO000001S.CRL*【:光标或显示移位指令可使光标或显示在没有读写显示数据的情况下,向左或向右移动;运用此指令可以实现显示的查找或替换;在双行显示方式下,第一行和第二行会同时移位;当移位越过第一行第四十位时, 光标会从第一行跳到第二行,但显示数据只在本行水平

46、移位,第二行的显示决不会移进第一行;倘若仅执行 移位操作,地址计数器AC勺容不会发生改变。见表2.1。(6) Function set指令码:功能设置表2.1 光标或显示移位指令说明S/CR/L说明00光标向左移动,AC自动减101光标向左移动,AC自动加110光标和显示一起向左移动,AC的值不变11光标和显示一起向右移动,AC的值不变RSRWDB7 DB6DB5DB4 DBSDB2DB1 DB000001DLNF*功能设置指令设置模块数据接口宽度和 LCD显示屏显示方式,即MP与模块接口数据总线为4位或者是8 位、LCD显示行数和显示字符点阵规格;所以建议用户最好在执行其它指令设置(读忙标志

47、指令除外)之前, 在程序的开始,进行功能设置指令的执行;DL:数据接口宽度标志:DL=1, 8位数据总线DB& DB0 DL=Q 4位数据总线DB& DB4 DB4 DB(不用,使 用此方式传送数据,需分两次进行;N:显示行数标志:N=1,两行显示模式;N=0,单行显示模式;F:显示字符点阵字体标志:F=1: 5X10点阵+光标显示模式;F=0: 5X7点阵+光标显示模式。(7) Set CGRAM address CGRA地址设置指令码:RSRWDB7 DB6DB5DB4 DBSDB2DB1 DB00廿01ACG5ACG4ACG3ACG2ACGIACGQCGRAMte址设置指

48、令设置CGRAM地址指针,它将CGRAM存储用户自定义显示字符的字模数据的首地址ACG&ACG送入AC中,于是自定义字符字模就可以写入 CGRAM中或者从CGRA中读出。(8) Set DDRAM address DDRAM地址设置指令码:RSR/WDB7 DBSEB5DB4 DB3DB2DB1 DBO001AdemADDiAddoDDRA地址设置指令设置DDRA地址指针,它将DDRA存储显示字符的字符码的首地址 ADD&ADD送入AC 中,于是显示字符的字符码就可以写入 DDRAM中或者从DDRA中读出;值得一提的是:在LCD显示屏一行显示方式下,DDRAM勺地址围为:00H

49、-4FH两行显示方式下,DDRAM 的地址围为:第一行00H27H,第二行40H67耳(9) Read busy flag and address读忙标志 BF和AC指令码:RSR/WDB7 DB6DB5DB4 DB3DB2DB1 DBO01BFAC6ACSAC4AC3AC2AC1ACO当RS=0R/W=1时,在E信号高电平的作用下,BF和ACAC0被读到数据总线DB7DB0勺相应位;BF:部操作忙标志,BF=1,表示模块正在进行部操作,此时模块不接收任何外部指令和数据, 直到BF=(为止;AC4 AC0地址计数器AC勺当前容,由于地址计数器 AC被CGROMCGRAM和 DDRA的公用指针,

50、因此当前AC容所指区域由前一条指令操作区域决定;同时, 只有BF=O时,送至U DB7-DBO的数据AC6-ACO才有效。(10) Write data to CGRAM or DDRAM 写数据到 CGRAIMEDDRAM指令码:RSRWDB7DB6DB5DB4DB3DB2DB1DB010 1 7D6D5D4D3D3D1D0写数据到CGRA或DDRAjM令,是将用户自定义字符的字模数据写到已经设置好的 CGRA的地址中,或者 是将欲显示字符的字符码写到DDRAM中;欲写入的数据D7D0首先暂存在DR中,再由模块的部操作自动写 入地址指针所指定的CGRAhM元或者DDRAM单元中。(11) Read data from CGRAM or DDRAM 从CGRAK或 DDRA中读数据指令码:RSR.XVDB7 DB6DB5DB4 DB3DB2DB1 DBO11D7D6D5D4D3D2DIDO从CGRAMEDDRA中读数据指令,是从地址计数器AC旨定的CGRAME者DDRAM单元中,读出数据D7D0; 读出的数据D7D0暂存在DF中,再由模块的部操作送到数据总线 DB7DB01;需要注意的是,在读数据之前, 应先通过地址计数器AC正确指定读取单元的地址。2) ATmegal与液晶接口电路见图2.14所示。PA0:D0PA7D7PC7BLAPC6E(6)PC5R/W

温馨提示

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

最新文档

评论

0/150

提交评论