《基于avr单片机的蔬菜大棚恒温恒湿系统大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于avr单片机的蔬菜大棚恒温恒湿系统大学本科毕业论文.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编号 本科生毕业设计基于AVR单片机的蔬菜大棚恒温恒湿系统设计Vegetable greenhouse at constant temperature and humidity system design based on the AVR Microcontroller二一二年六月 毕业设计原创承诺书1本人承诺:所呈交的毕业设计(论文)基于AVR单片机的蔬菜大棚恒温恒湿系统设计,是认真学习理解学校的长春理工大学本科毕业设计(论文)工作条例后,在教师的指导下,保质保量独立地完成了任务书中规定的内容,不弄虚作假,不抄袭别人的工作内容。2本人在毕业设计(论文)中引用他人的观点和研究成果,均在文中加以
2、注释或以参考文献形式列出,对本文的研究工作做出重要贡献的个人和集体均已在文中注明。3在毕业设计(论文)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。4本人完全了解学校关于保存、使用毕业设计(论文)的规定,即:按照学校要求提交论文和相关材料的印刷本和电子版本;同意学校保留毕业设计(论文)的复印件和电子版本,允许被查阅和借阅;学校可以采用影印、缩印或其他复制手段保存毕业设计(论文),可以公布其中的全部或部分内容。以上承诺的法律结果将完全由本人承担!作 者 签 名: 年 月日 长春理工大学毕业设计 摘 要目前我国农业正处在从传统农业向优质,高产,高效益为目标的现代农业转化的新阶段。植物的
3、生长环境也是农业现代化的重要标志。结合作物生长规律,控制环境条件,使作物在不适宜生长的反季节中,可获得比室外生长更优的环境条件,从而使作物达到优质、高产、高效的栽培目的。本文提出了一种基于AVR单片机的蔬菜大棚恒温恒湿系统设计。下位机选用ATmega16单片机及数字式单总线温湿度一体传感器采集温湿度(如DHT21等),利用无线传输模块PTR8000传输数据;上位机由单片机和液晶模块构成,键盘输入温湿度值控制下位机加热、加湿、通风设备的开启和关闭,液晶屏进行显示。在系统设计过程中选用价格低、性能稳定的元器件,提高了性价比。该控制系统具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,不仅可以
4、应用在农业大棚,也可以应用在恒温湿的机械加工厂、室内环境监测等方面,所以具有一定的推广和应用价值。关键词:单片机 温湿度 无线传输 蔬菜大棚 Abstract At present , our country agriculture is in the new stage that transform from the traditional farming to the modern agriculture which aime the high quality, the high production, the high benefit at the goal .The growth en
5、vironment of the plant is the important sign of agricultural modernization, too.With the growth rules controlling circumstance condition,it makes greenhouse better condition than outdoor in the unfit season,and more productive and high quality.Greenhouse control technology is developing with the aut
6、omated detection technology, process control technology and computer technology, etc. This issue uses micro-chip prices and many host control to make it more intelligent, more complete, more accurate. This thesis choose the devices as full consideration of the ration between performance and cost as
7、possible. After debugging, measuring result is in good agreement with anticipate.This controlling system is simple,reliable,stable and low coat.It can be applied in the agriculture-greenhouse , environment monitoring and constant hygrothermal factory,and it has much of value to apply and popularize
8、in other fields.Key Word: MCU;mperature and Humidity;ireless Transmission;gricultural Greenhouse IV目 录摘 要IABSTRACTII目 录III第1章 绪 论11.1 本课题研究的目的及意义11.2 蔬菜大棚温湿度控制技术的发展现状11.3 温室控制主要存在的问题11.4主要研究内容及系统设计原则2第2章 系统总体方案设计32.1 系统功能设计32.2 系统组成及工作原理3第3章 系统的硬件设计43.1 单片机概述43.1.1 单片机选型方案43.1.2单片机简介43.2 温湿度采集模块53.3
9、 无线收发模块63.4 液晶显示模块83.5 键盘输入模块93.6 调节部分10第4章 系统的软件设计124.1 温湿度采集子程序设计134.1.1 DHT21 串行接口134.1.2 温湿度采集子程序134.2 无线数据收发子程序144.2.1 PTR8000 的指令设置144.2.2 无线数据收发子程序设计154.3 液晶显示子程序164.3.1 12864液晶指令设置164.3.2 液晶显示子程序设计184.4 键盘子程序设计19第5章 系统总体调试215.1 抗干扰性分析215.2 联合调试22结 论23参考文献24致 谢25附录1 上位机总体电路图26附录2 下位机总体电路图27第1
10、章 绪 论1.1 本课题研究的目的及意义目前我国农业正处在从传统农业向优质,高产,高效益为目标的现代农业转化的新阶段。植物的生长环境也是农业现代化的重要标志。环境中昼夜的温度和湿度变化大,其对植物生长极为不利。因此必须对环境的温度和湿度进行监测和控制,使其适合植物的生长,提高其产量和质量。随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温室环境自动监测控制方面的研究有了明显的进展,但是我国农业大棚多为中、小规模乃至极小规模,虽然国内有一些蔬菜大棚恒温恒湿控制系统,但这些控制系统结构复杂价格偏贵,仅是在少数大规模的农场才使用,不适合我国农村的现状。所以设计一个相对廉价并系统结构简单,
11、且能根据不同的环境天气变化进行远程监控的系统充满发展的前景。 1.2 蔬菜大棚温湿度控制技术的发展现状 国外对温室环境控制的研究较早,开始与20世纪70年代,先是采用模拟式的组合仪表,采集信息并进行指示,记录和控制。80年代末出现了分布式的控制系统。90年代,荷兰、日本、美国及以色列等发达国家温室控制技术己经相当先进,己经能达到对多因素综合控制的水平,到2000年,Tetsuo Morimoto等综合了智能控制算法(模糊算法、人工神经网络、遗传算法)以达到对温室的环境控制,目前,英国的温室大量采用计算机管理,现在正开发和研制计算机数据采集和控制系统。说明国外对于问世环境的控制已经达到相当高的水
12、平。相对于国外我国的在蔬菜大棚控制方面的研究起步较晚,始于20世纪80年代。在吸收国外技术的基础之上才掌握了人工微机控制技术,而且仅限于各种因子单项控制。虽说也有了一定的发展,但还有很多不足。我国整体上正从消化吸收,简单应用阶段向实用化,综合性应用阶段过渡和发展。与发达国家相比,存在较大差距。生产实际中仍然存在着许多问题,如装备配套能力差,产业化程度地,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。尽管如此,随着计算机技术,传感器智能化技术,机械电子一体化技术和计算机网络技术的发展,温室环境控制系统已经成为各个国家为合理利用农业资源,减低生产成本,保护生态环境在国际市场竞争力的前沿性研
13、究领域。1.3 温室控制主要存在的问题 首先是农业专家系统自身的问题,农业专家系统的技术还不十分成熟。其次是采集数据的束缚,温室控制技术主要停留在对温室环境因子的监控上,并没有考虑温室作物本身的生理过程。还有就是农业专家系统在温室实时控制中的应用的局限性,对农业知识的表达及推理策略等要认真考虑。同时,将更多的农业知识用于温室生产的实时控制中,不仅仅局限于对环境因子的专家指导。1.4主要研究内容及系统设计原则一是确定系统的总体功能设计方案;二是进行硬件电路和软件系统的设计;三是通信接口电路及软件的设计;四是对单片机的上位机的管理软件的设计,提出一种切实可行的温室环境监测系统,可以全面、实时、自动
14、地对监测数据。系统设计应具有可靠性高、操作维护方便、性价比高等特点。可以使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出通道抗干扰措施;进行软硬件滤波;系统自诊断功能等。在系统的软硬件设计时,要尽可能减少人机交互接口,多采用操作内置或简化的方法。同时系统应配有现场故障诊断程序,一旦发生故障能保证有效地对故障进行定位。第2章 系统总体方案设计2.1 系统功能设计1、下位机通过温湿度传感器对温湿度参数采集,间隔5分钟把采集到的数据发送给上位机。上位机对各路数据进行循环检测、数据处理、存储,实现温湿度的智能、多空间点的测量。2、下位机温湿度参数采集设备应具有较高
15、的灵敏度、可靠性、抗干扰能力并具有存储、远程无线通信功能。3、无线通信系统具有较高的可靠性、较好的实时性和较强的抗干扰能力。4、上位机具有数据记录功能:可以根据需要设置数据记录时间间隔,把数据存入数据存储器。 2.2 系统组成及工作原理系统框图如下:图2-1 系统总体框图系统工作的过程是:系统工作时,布置在大棚各处的下位机温湿度参数采集设备,采集温湿度参数后通过无线模块PTR8000传输给上位机,上位机经由无线模块PTR8000接收到数据后显示到12864液晶上。操作人员可以通过上位机的键盘设定温度和湿度范围,经PTR8000发射到下位机,下位机采集到温湿度数据与设定的温湿度范围值进行比较,当
16、温室大棚内的温度或湿度超出所设定的范围时,下位机输出指令控制继电器接通相应的设备,当温度和湿度都在设定的范围内时就切断执行设备。 第3章 系统的硬件设计3.1 单片机概述3.1.1 单片机选型方案方案一 :采用AT89C51单片机,其主要特点:4kbytes程序存储器(ROM) ,256bytes的数据存储器(RAM) ,外部数据存储器寻址空间为64kB,外部程序存储器寻址空间为64kB,四个8位并行I/O口,既可用作输入,也可用作输出;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石
17、英晶体和微调电容需要外接。最高振荡频率为12M,系统时钟是外部时钟的12分频。方案二:采用ATmega16单片机,其特点为,16K字节的系统内可编程Flash,512字节EEPROM,1K字节SRAM,四个8位并行I/O口,用于边界扫描的JTAG 接口,支持片内调试与编程,可编程串行USART,8路10位的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,系统时钟是外部时钟不经过分频直接输入。在本系统中,采用的方案二,ATmega16单片机,因为ATmega16时钟频率是AT89C51单片机的8-10倍,而且成本低,并且芯片有SPI接口方便和PTR8000无线通信模块连接,因
18、此采用ATmega16单片机。3.1.2单片机简介ATmega16是一种低功耗、高性能AVR微控制器,具有 16K 在系统可编程Flash 存储器。AT89S52具有以下标准功能:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的
19、可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有
20、快速启动能力;扩展Standby 模式下则允振荡器和异步定时器继续工作。引脚如下图图3-1 单片机引脚图3.2 温湿度采集模块温湿度传感器的种类很多,数字式温湿度传感器摒弃了传统的模拟方式。检测温湿度的模拟量到数字量的转换在传感器内直接完成。DHT21数字式温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,它品质卓越、超快响应、抗干扰能力强、性价比极高。每个DHT21传感器都在极为精确的湿度校验室中进行校准。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8b
21、it校验和。温湿度传感器的特点如下:相对湿度和温度测量;全部校准,数字输出;卓越的长期稳定性;无需额外部件;超长的信号传输距离;超低能耗;引脚安装,完全互换;分辨率分别为8bit(温度)、8bit(湿度)。DATA用于微处理器与DHT21之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。数据传送正确时校验和数据等于“ 8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。DHT21采用单总线网络,主要由VDD、DATA、GND三条线组成。其中其通讯所用的数据线DA
22、TA为双向总线,所有数据的收发,均通过这条总线来完成。DHT21的供电电压位3-5.5v。传感器上电后,要等待1s以越过不稳定状态,在此期间无需发送任何指令。电源引脚(VDD与GND)之间可增加一个100nF的电容,用于去耦滤波。关于接口,当连接线长度短于20米时用5k的上拉电阻,大于20米时根据实际情况使用合适的上拉电阻,典型应用电路如下,DHT21的2脚与MCU的PC0相连。电路中用SENSOR1网络标号连接。 图3-2 DHT21典型应用电路3.3 无线收发模块PTR8000是以挪威Nordic公司的nRF905芯片为核心的无线收发模块,优点突出的无线数传芯片。PTR8000专为点对多点
23、无线通信设计,内置数据协议和CRC检错,无乱码输出,载波检测输出,点对多点通信硬件控制,是全面升级替代PTR8000系列的无线模块。PTR8000模块工作在433/868/915MHz无线频段,属于国际开放的ISM频段,无需向专业部门申请使用许可。PTR8000内置环形天线,最大发射功率为+10dBm,采用高抗干扰的GFSK调制,数据传输速率为50Kbps,具备独特的载波检测输出CD、地址匹配输出AD、数据就绪输出DR,自动产生前导码和CRC,使用SPI接口与MCU通信。PTR8000工作电压为1.93.6V,功率很低,发射电流11mA,接收电流为12.5mA,待机电流2.5A。适用于无线数据
24、通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。PTR8000有四种工作模式。在待机和掉电模式下PTR8000均不能接收、发送数据,只有SPI接口工作。发送数据时,在待机模式下,MCU将接收机的地址和有效数据通过SPI接口传送给PTR8000,MCU设置TRX_CE,TX_EN为高,启动PTR8000发送,PTR8000自动加载前导码和CRC校验码将数据打包,以曼彻斯特编码方式完成数据包的发送。数据传输结束后MCU将TRX_CE设置为低,PTR8000进入待机模式。接收数据时,MCU设PTR8000的TRX_CE为高,TX_EN为低,选择接收模式,PTR8000监测空
25、中信息,当接收到一个有效数据包后,PTR8000自动去掉前导码、地址和CRC位,并将DR引脚置高,通知MCU数据传输已经完成,MCU设置TRX_CE为低,使PTR8000进入待机模式,MCU以设置的速率通过SPI接口读出有效数据。为了提高测试精度,本设计选用了专为点对点无线通信设计,内置数据协议和CRC检错,无乱码输出,载波监测输出,硬件控制全面升级的PTR8000无线数据收发模块。其基本电气特性及引脚说明如下:表1-1 基本电气特性及引脚说明参数数值单位工作电压1.9-3.6V最大发射功率10dBm最大数据传输率(曼彻施特编码)100kbps输出功率为-10dBm时工作电流11mA接收模式时
26、工作电流12.5mA温度范围-40-+85典型灵敏度-100dBm掉电模式时工作电流2.5其管脚及其功能如下:表1-2 管脚及其功能管脚功能方向备注Pin1VCC正电源1.9-3.6v输入IPin2TX_ENTX_EN=1发射模式;TX_EN=0,接收模式IPin3TRX_CE使能发射/接收模式(区别于配置模式)IPin4PWRPower down 模式IPin5UCLK时钟分频输出OPin6CD载波检测输出OPin7AM地址匹配输出OPin8DR数据就绪输出OPin9MISOSPI输出OPin10MOSISPI输入IPin11SCKSPI时钟IPin12CSNSPI使能 低有效IPin13G
27、ND电源地Pin14GND电源地硬件接口电路如图: 图3-3 PTR8000硬件接口电路模式控制:表1-3 PTR8000无线收发模式选择PWRTRX_CETX_EN工作模式0XX掉电和SPI编程模式10X待机和SPI编程模式110接收111发射(1)待机模式下功耗约为40微安,此时发射/接收电路均关闭,只有SPI接口工作.(2)掉电模式下功耗约为2.5微安,此时所有电路关闭,进入最省电状态。(3)在待机和掉电模式下均不能接收、发射数据,可以进行配置SPI接口SPI接口由SCK、MIOS、MOSI以及CSN组成:()在配置模式下,单片机通过SPI接口陪住PTR8000的工作参数;()在发射接收
28、模式下,单片机SPI接口发送和接收数据。状态输出接口 提供载波监测输出CD,地址匹配输出AM,数据就绪输出DR。3.4 液晶显示模块HS12864-15 系列中文图形液晶模块的特性主要由其控制器ST7920 决定。ST7920 同时作为控制器和驱动器,它可提供33路com输出和64路seg输出。在驱动器ST7921的配合下,最多可以驱动25632点阵液晶。具有:提供8位,4 位并行接口及串行接口可选,并行接口适配 M6800 时序,自动电源启动复位功能,内部自建振荡源,6416 位字符显示RAM(DDRAM 最多16 字符4 行,LCD 显示范围162 行),2M 位中文字型ROM(CGROM
29、),总共提供8192 个中文字型(1616 点阵),16K 位半宽字型ROM(HCGROM),总共提供126 个西文字型(168 点阵),6416 位字符产生RAM(CGRAM)。 接口如下: 名称型态电平 功能描述并口 串口VCCI-模块电源输入(未注明为5v)GNDI-电源地V0I-对比度调节端VEEI-液晶驱动电压输出端(或名Vout)PSBIH/L并口/串口选择:H并口; L串口RSTIH/L复位信号,低有效RS(CS)IH/L寄存器选择端 H数据; L指令 片选,低有效R/W(SID)IH/L读/写选择端 H读;L写 串行数据线E(SCLK)IH/L使能信号 串行时钟输入DB0-DB
30、3I/OH/L数据总线低四位 空接DB4-DB7I/OH/L数据总线高四位 4位并口时空接 空接LEDAI-背光正LEDKI-背光负串口接线图如图3-4所示:图3-4 12864液晶的硬件接口电路3.5 键盘输入模块工作原理:按键设置在行列线交点上,行列线分别连接按键开关的两端,行线通过上拉电阻接到+5V上。无按键按下时,行线处于高电平状态,当有按键按下时,行线电平状态将由与此相连的列线的电平决定。这一点是识别行列式键盘是否按下的关键所在。其中按键过程中会出现键抖动,即当某按键按下时,其输出电平并非立刻降为零,而是有一个抖动过程。当按键松开时,在这段过程中信号也会出现抖动,抖动的时间视键盘的机
31、械特性和操作者不同而不同,一般为510ms,而CPU的操作很快,因此这种抖动就容易对按键的识别产生影响,为了防止因按键抖动而导致系统的误操作,需要采取某种手段实现键盘的“去抖动”功能。去抖动的方法有多种,如采用软件延时查询的方法或采用硬件处理的方法,本文选用软件延时的方法去除按键抖动。接口电路如下:图3-5 键盘接口电路3.6 调节部分温湿度调节采用固态继电器进行控制。在单片机应用系统中,由于输出设备需大电压或者电流来控制,而单片机系统输出的开关量多为TTL电平,这种电平一般不能直接驱动外部设备开启或关闭。另一方面,许多外部设备,如大功率电机,接触器等在开关过程中会产生很强的电磁干扰信号,如果
32、不隔离,可能会使微机控制系统造成误动作或损坏。因此,在接口设计处理时,一要放大,二要隔离。本系统采用的是光电藕合器进行隔离。它共模抑制比很高,输出呈线性关系,光电耦合器可作为线性耦合器使用。具体工作过程:本电路由光电耦合器,基本放大电路及一些保护电路等组成。单片机输出低电平的时候,发光二极管导通,光电耦合器工作,产生光信号,而输出引脚将光信号又转化为电信号,经过三个三极管基本共射放大电路控制继电器的开启和关闭,如加热、加湿、通风等。其中继电器并联的二极管和电容起到保护作用。当输入为高电平时,三极管截止,继电器停止工作。 硬件电路设计如下: 图3-7 调节部分硬件电路 第4章 系统的软件设计系统
33、的软件部分是控制系统运行的核心部分,包括温湿度数据采集模块、无线数据收发模块、键盘输入模块、液晶显示模块。软件编写得合理得当,也能有效提高系统的运行速度。采用c语言编程及模块化设计也大大提高了系统的运行效率,可读性强。在KEILC下编写完成并测试通过。下位机和上位机软件流程图:图4-1 下位机软件流程图图4-2 上位机软件流程图4.1 温湿度采集子程序设计4.1.1 DHT21 串行接口 用户MCU发送一次开始信号后,DHT21从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT21发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT21接收到
34、开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT21不会主动进行温湿度采集.采集数据后转换到低速模式。 总线空闲状态为高电平,主机把总线拉低等待DHT21响应,主机把总线拉低必须大于18毫秒,保证DHT21能检测到起始信号。DHT21接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT21的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。总线为低电平,说明DHT21发送响应信号,DHT21发送响应信号后,再把总线拉高80us,准备发送数据,每一b
35、it数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT21没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT21拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。 4.1.2 温湿度采集子程序温湿度采集程序流程如图: 图4-3 温湿度采集程序流程图4.2 无线数据收发子程序4.2.1 PTR8000 的指令设置用于SPI接口的有用指令见下表。当CSN为低时,SPI接口开始等待一条指令,任何一条新指令,CSN的由高到低的转换开始。PTR8000提供一个SPI接口,AT89S52利用数据口模拟SPI通信,单片
36、机即可通过SPI读取接收的数据。四种模式转换应遵守的时序:(1)TX与RX之间的切换,至少需要550us。(2)RX到TX之间的切换, 至少需要550us。(3)St_by与RX之间的切换, 至少需要650us。(4)St_by与TX之间的切换,至少需要650us。(5)PWR_DWN到St_by之间的切换, 至少需要3ms。SPI串行接口指令如下: 指令名称指令格式 操作W_CONFIG(WC)0000AAAA写配置寄存器,AAAA指出写操作的开始字节,字节数量取决于AAAA的开始地址R_CONFIG(RC)0001AAAA读配置寄存器,AAAA指出读操作的开始字节,字节数量取决于AAAA的
37、开始地址W_TX_PAYLOAD(WTP)00100000写TX有效数据,1-32字节,写操作全部从字节0开始R_TX_PAYLOAD(RTP)00100001读TX有效数据,1-32字节,读操作全部从字节0开始W_TX_ADDRESS(WTA)00100010写TX地址,1-4字节,写操作全部从字节0开始R_TX_ADDRESS(RTA)00100011读TX地址,1-4字节,读操作全部从字节0开始R_RX_PAYLOAD(RRP)00100100读RX有效数据,1-32字节,读操作全部从字节0开始CHANNEL_CONFIG(CC)1000pphccccccccc快速设置配置寄存器中CH_
38、NO,HFREQ_PLL和PA_PER的专用命令CH_NO=cccccccc,HFREQ_PLL=H,PA_PER=PP 所有寄存器的长度都是固定的,用在RX/TX模式TX_PAYLOAD,RX_PAYLOAD,TX_ADDRESS,RX_ADRESS中的字节数在配置寄存器中设置。寄存器中的内容在进入任何一种节电模式时均不丢失。必须的工作时序如下:PTR8000重要时序最大值PWR_DWN ST_BY模式3msST_BY TX模式650usST_BY RX模式 650usRX TX模式550usTX RX 模式550us4.2.2 无线数据收发子程序设计(1)发射程序设计在NRF905的发射过
39、程中,单片机首先将NRF905模块的TXEN端置高,TRX_CE端置低,使NRF905处于发射模式,接着通过SPI发送写入发送地址命令WTA,写入发送数据包的地址,然后写WTP命令后通过SPI写入发送数据,当NRF905发送完毕后,DR位将被置高,单片机检测到DR变为高电位后,结束发送程序。程序流程如左图所示。(2)接受程序设计 图4-4 发射程序流程图 图4-5 接收程序流程图 PTR8000在接收状态下,不断监测载波。当检测到同一频段的载波时,CD置为高电平。当检测到一个匹配的地址时,AM置为高电平。PTR8000内部的nRF905芯片进行CRC校验操作,若CRC检验通过,则说明接收到的是
40、一个正确的数据包,DR即被置高电平。MCU检测到DR高电平后,将PTR8000置为待机模式,MCU通过SPI接口读取接收到的数据, 并将数据存入数组,所有数据接收完毕后,结束该接收程序。程序流程如上图所示。4.3 液晶显示子程序4.3.1 12864液晶指令设置带中文字库的12864液晶每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现
41、的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H9FH。字符显示RAM在液晶模块中的地址80H9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如表所示。 80H81H82H83H84H85H86H87H90H91H9
42、2H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH基本指令集:指 指 令 码功 能 令RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ONB=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设
43、定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM 1 0数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值 1 1数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)备注:当ST7920 在接受指令前,MCU 必须先确认ST7920 处于非忙状态。即读取BF0,才能接受新的指令;如果在送出一条指令前不检查BF 状态,则需要延时一段时间,以确保上一条指令执行完毕,具体指令执行时间参照