基于AVR单片机的蔬菜大棚恒温恒湿系统设计毕业设计1.doc_第1页
基于AVR单片机的蔬菜大棚恒温恒湿系统设计毕业设计1.doc_第2页
基于AVR单片机的蔬菜大棚恒温恒湿系统设计毕业设计1.doc_第3页
基于AVR单片机的蔬菜大棚恒温恒湿系统设计毕业设计1.doc_第4页
基于AVR单片机的蔬菜大棚恒温恒湿系统设计毕业设计1.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

编号 本科生毕业设计本科生毕业设计 基于基于 avravr 单片机的蔬菜大棚恒温恒湿系统设计单片机的蔬菜大棚恒温恒湿系统设计 vegetable greenhouse at constant temperature and humidity system design based on the avr microcontroller 二二一二年六月一二年六月 毕业设计原创承诺书毕业设计原创承诺书 1本人承诺:所呈交的毕业设计(论文) 基于 avr 单片机的蔬菜 大棚恒温恒湿系统设计 ,是认真学习理解学校的长春理工大学本科毕 业设计(论文)工作条例后,在教师的指导下,保质保量独立地完成 了任务书中规定的内容,不弄虚作假,不抄袭别人的工作内容。 2本人在毕业设计(论文)中引用他人的观点和研究成果,均在文 中加以注释或以参考文献形式列出,对本文的研究工作做出重要贡献的 个人和集体均已在文中注明。 3在毕业设计(论文)中对侵犯任何方面知识产权的行为,由本人 承担相应的法律责任。 4本人完全了解学校关于保存、使用毕业设计(论文)的规定,即: 按照学校要求提交论文和相关材料的印刷本和电子版本;同意学校保留 毕业设计(论文)的复印件和电子版本,允许被查阅和借阅;学校可以 采用影印、缩印或其他复制手段保存毕业设计(论文) ,可以公布其中的 全部或部分内容。 以上承诺的法律结果将完全由本人承担! 作 者 签 名: 年 月日 长春理工大学毕业设计 i 摘摘 要要 目前我国农业正处在从传统农业向优质,高产,高效益为目标的现代农业 转化的新阶段。植物的生长环境也是农业现代化的重要标志。结合作物生长规 律,控制环境条件,使作物在不适宜生长的反季节中,可获得比室外生长更优 的环境条件,从而使作物达到优质、高产、高效的栽培目的。本文提出了一种 基于 avr 单片机的蔬菜大棚恒温恒湿系统设计。下位机选用 atmega16 单片 机及数字式单总线温湿度一体传感器采集温湿度(如 dht21 等),利用无线传输 模块 ptr8000 传输数据;上位机由单片机和液晶模块构成,键盘输入温湿度值 控制下位机加热、加湿、通风设备的开启和关闭,液晶屏进行显示。 在系统设计过程中选用价格低、性能稳定的元器件,提高了性价比。该控 制系统具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,不仅可 以应用在农业大棚,也可以应用在恒温湿的机械加工厂、室内环境监测等方面, 所以具有一定的推广和应用价值。 关键词:单片机关键词:单片机 温湿度温湿度 无线传输无线传输 蔬菜大棚蔬菜大棚 长春理工大学毕业设计 ii abstract at present , our country agriculture is in the new stage that transform fro m the traditional farming to the modern agriculture which aime the high qualit y, the high production, the high benefit at the goal .the growth environment o f the plant is the important sign of agricultural modernization, too.with the gro wth rules controlling circumstance condition,it makes greenhouse better conditio n than outdoor in the unfit season,and more productive and high quality.greenh ouse control technology is developing with the automated 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 ratio n between performance and cost as possible. after debugging, measuring result is in good agreement with anticipate.this controlling system is simple,reliable,st able and low coat.it can be applied in the agriculture-greenhouse , environment monitoring and constant hygrothermal factory,and it has much of value to appl y and popularize in other fields. key word: mcu;mperature and humidity;ireless transmission;gricultural greenhouse 长春理工大学毕业设计 iii 目目 录录 摘 要.i abstract.ii 目 录iii 第 1 章 绪 论1 1.1 本课题研究的目的及意义1 1.2 蔬菜大棚温湿度控制技术的发展现状1 1.3 温室控制主要存在的问题1 1.4 主要研究内容及系统设计原则2 第 2 章 系统总体方案设计3 2.1 系统功能设计3 2.2 系统组成及工作原理3 第 3 章 系统的硬件设计4 3.1 单片机概述4 3.1.1 单片机选型方案4 3.1.2 单片机简介.4 3.2 温湿度采集模块5 3.3 无线收发模块6 3.4 液晶显示模块8 3.5 键盘输入模块9 3.6 调节部分10 第 4 章 系统的软件设计12 4.1 温湿度采集子程序设计13 4.1.1 dht21 串行接口.13 4.1.2 温湿度采集子程序13 4.2 无线数据收发子程序14 4.2.1 ptr8000 的指令设置14 4.2.2 无线数据收发子程序设计15 4.3 液晶显示子程序16 4.3.1 12864 液晶指令设置16 4.3.2 液晶显示子程序设计18 长春理工大学毕业设计 iv 4.4 键盘子程序设计19 第 5 章 系统总体调试21 5.1 抗干扰性分析21 5.2 联合调试22 结 论23 参考文献24 致 谢25 附录 1 上位机总体电路图.26 附录 2 下位机总体电路图.27 长春理工大学毕业设计 1 第第1 章章 绪绪 论论 1.1 本本课课题题研研究究的的目目的的及及意意义义 目前我国农业正处在从传统农业向优质,高产,高效益为目标的现代农业 转化的新阶段。植物的生长环境也是农业现代化的重要标志。环境中昼夜的温 度和湿度变化大,其对植物生长极为不利。因此必须对环境的温度和湿度进行 监测和控制,使其适合植物的生长,提高其产量和质量。随着单片机和传感技 术的迅速发展,自动检测领域发生了巨大变化,温室环境自动监测控制方面的 研究有了明显的进展,但是我国农业大棚多为中、小规模乃至极小规模,虽然 国内有一些蔬菜大棚恒温恒湿控制系统,但这些控制系统结构复杂价格偏贵, 仅是在少数大规模的农场才使用,不适合我国农村的现状。所以设计一个相对 廉价并系统结构简单,且能根据不同的环境天气变化进行远程监控的系统充满 发展的前景。 1.2 蔬蔬菜菜大大棚棚温温湿湿度度控控制制技技术术的的发发展展现现状状 国外对温室环境控制的研究较早,开始与 20 世纪 70 年代,先是采用模拟 式的组合仪表,采集信息并进行指示,记录和控制。80 年代末出现了分布式的 控制系统。90 年代,荷兰、日本、美国及以色列等发达国家温室控制技术己经 相当先进,己经能达到对多因素综合控制的水平,到 2000 年,tetsuo morimoto 等综合了智能控制算法(模糊算法、人工神经网络、遗传算法)以达到 对温室的环境控制,目前,英国的温室大量采用计算机管理,现在正开发和研 制计算机数据采集和控制系统。说明国外对于问世环境的控制已经达到相当高 的水平。 相对于国外我国的在蔬菜大棚控制方面的研究起步较晚,始于 20 世纪 80 年代。在吸收国外技术的基础之上才掌握了人工微机控制技术,而且仅限于各 种因子单项控制。虽说也有了一定的发展,但还有很多不足。我国整体上正从 消化吸收,简单应用阶段向实用化,综合性应用阶段过渡和发展。与发达国家 相比,存在较大差距。生产实际中仍然存在着许多问题,如装备配套能力差, 产业化程度地,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。 尽管如此,随着计算机技术,传感器智能化技术,机械电子一体化技术和 计算机网络技术的发展,温室环境控制系统已经成为各个国家为合理利用农业 资源,减低生产成本,保护生态环境在国际市场竞争力的前沿性研究领域。 1.3 温温室室控控制制主主要要存存在在的的问问题题 首先是农业专家系统自身的问题,农业专家系统的技术还不十分成熟。其 长春理工大学毕业设计 2 次是采集数据的束缚,温室控制技术主要停留在对温室环境因子的监控上,并 没有考虑温室作物本身的生理过程。还有就是农业专家系统在温室实时控制中 的应用的局限性,对农业知识的表达及推理策略等要认真考虑。同时,将更多 的农业知识用于温室生产的实时控制中,不仅仅局限于对环境因子的专家指导。 1.4主主要要研研究究内内容容及及系系统统设设计计原原则则 一是确定系统的总体功能设计方案;二是进行硬件电路和软件系统的设计; 三是通信接口电路及软件的设计;四是对单片机的上位机的管理软件的设计, 提出一种切实可行的温室环境监测系统,可以全面、实时、自动地对监测数据。 系统设计应具有可靠性高、操作维护方便、性价比高等特点。可以使用可 靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措 施;输入输出通道抗干扰措施;进行软硬件滤波;系统自诊断功能等。在系统的 软硬件设计时,要尽可能减少人机交互接口,多采用操作内置或简化的方法。 同时系统应配有现场故障诊断程序,一旦发生故障能保证有效地对故障进行定 位。 长春理工大学毕业设计 3 第第2 章章 系系统统总总体体方方案案 设设计计 2.1 系系统统功功能能设设计计 1、下位机通过温湿度传感器对温湿度参数采集,间隔 5 分钟把采集到的数 据发送给上位机。上位机对各路数据进行循环检测、数据处理、存储,实现温 湿度的智能、多空间点的测量。 2、下位机温湿度参数采集设备应具有较高的灵敏度、可靠性、抗干扰能力 并具有存储、远程无线通信功能。 3、无线通信系统具有较高的可靠性、较好的实时性和较强的抗干扰能力。 4、上位机具有数据记录功能:可以根据需要设置数据记录时间间隔,把数 据存入数据存储器。 2.2 系系统统组组成成及及工工作作原原理理 系统框图如下: 上 位 机 键盘 液晶显示 下 位 机 驱 动 电 路 加热设备 加湿设备 通风设备 温湿度传 感器 图 2-1 系统总体框图 系统工作的过程是:系统工作时,布置在大棚各处的下位机温湿度参数采集 设备,采集温湿度参数后通过无线模块 ptr8000 传输给上位机,上位机经由无 线模块 ptr8000 接收到数据后显示到 12864 液晶上。操作人员可以通过上位机 的键盘设定温度和湿度范围,经 ptr8000 发射到下位机,下位机采集到温湿度 数据与设定的温湿度范围值进行比较,当温室大棚内的温度或湿度超出所设定 的范围时,下位机输出指令控制继电器接通相应的设备,当温度和湿度都在设 定的范围内时就切断执行设备。 长春理工大学毕业设计 4 第第3 章章 系系统统的的硬硬件件设设计计 3.1 单单片片机机概概述述 3.1.1 单单片片机机选选型型方方案案 方案一 :采用 at89c51 单片机,其主要特点:4kbytes 程序存储器(rom) ,256bytes 的数据存储器(ram) ,外部数据存储器寻址空间为 64kb,外部程 序存储器寻址空间为 64kb,四个 8 位并行 i/o 口,既可用作输入,也可用作输 出;五个中断源的中断控制系统;一个全双工 uart(通用异步接收发送器) 的串行 i/o 口,用于实现单片机之间或单片机与微机之间的串行通信;片内振 荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为 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 无线通信模块连接,因此采用 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 ,具有片内振荡器的可编程看门 狗定时器,一个 spi 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时 cpu 停止工作,而 usart、两线接口、a/d 转换器、 sram、t/c、spi 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振 荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时 器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; adc 噪声抑制模式时终止 cpu 和除了异步定时器与 adc 以外所有 i/o 模块 的工作,以降低 adc 转换时的开关噪声; standby 模式下只有晶体或谐振振 长春理工大学毕业设计 5 荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具 有快速启动能力;扩展 standby 模式下则允振荡器和异步定时器继续工作。引 脚如下图 图 3-1 单片机引脚图 3.2 温温湿湿度度采采集集模模块块 温湿度传感器的种类很多,数字式温湿度传感器摒弃了传统的模拟方式。 检测温湿度的模拟量到数字量的转换在传感器内直接完成。dht21 数字式温湿 度传感器是一款含有已校准数字信号输出的温湿度复合传感器,包括一个电阻 式感湿元件和一个 ntc 测温元件,并与一个高性能 8 位单片机相连接,它品质 卓越、超快响应、抗干扰能力强、性价比极高。每个 dht21 传感器都在极为精 确的湿度校验室中进行校准。数据格式:8bit 湿度整数数据+8bit 湿度小数数据 +8bit 温度整数数据+8bit 温度小数数据+8bit 校验和。 温湿度传感器的特点如下:相对湿度和温度测量;全部校准,数字输出; 卓越的长期稳定性;无需额外部件;超长的信号传输距离;超低能耗;引脚安 装,完全互换;分辨率分别为 8bit(温度)、8bit(湿度)。 data 用于微处理器与 dht21 之间的通讯和同步,采用单总线数据格式, 一次通讯时间 4ms 左右,数据分小数部分和整数部分,一次完整的数据传输为 40bit,高位先出。数据传送正确时校验和数据等于“ 8bit 湿度整数数据+8bit 湿 度小数数据+8bit 温度整数数据+8bit 温度小数数据”所得结果的末 8 位。 dht21 采用单总线网络,主要由 vdd、data、gnd 三条线组成。其中其通 讯所用的数据线 data 为双向总线,所有数据的收发,均通过这条总线来完成。 dht21 的供电电压位 3-5.5v。传感器上电后,要等待 1s 以越过不稳定状 态,在此期间无需发送任何指令。电源引脚(vdd 与 gnd)之间可增加一个 长春理工大学毕业设计 6 100nf 的电容,用于去耦滤波。关于接口,当连接线长度短于 20 米时用 5k 的 上拉电阻,大于 20 米时根据实际情况使用合适的上拉电阻,典型应用电路如下, dht21 的 2 脚与 mcu 的 pc0 相连。电路中用 sensor1 网络标号连接。 1 2 3 jp2 dht21 gnd 5v 0.1uf c6sensor1 5.1k r4 图 3-2 dht21 典型应用电路 3.3 无无线线收收发发模模块块 ptr8000 是以挪威 nordic 公司的 nrf905 芯片为核心的无线收发模块,优 点突出的无线数传芯片。ptr8000 专为点对多点无线通信设计,内置数据协议 和 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。适用于无线数据通信、无线报警 及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。 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 监测空中信息,当接收到一个有效数据包后, ptr8000 自动去掉前导码、地址和 crc 位,并将 dr 引脚置高,通知 mcu 数据 传输已经完成,mcu 设置 trx_ce 为低,使 ptr8000 进入待机模式,mcu 以设置 的速率通过 spi 接口读出有效数据。 长春理工大学毕业设计 7 为了提高测试精度,本设计选用了专为点对点无线通信设计,内置数据协 议和 crc 检错,无乱码输出,载波监测输出,硬件控制全面升级的 ptr8000 无线数据收发模块。其基本电气特性及引脚说明如下: 表 1-1 基本电气特性及引脚说明 参数数值单位 工作电压1.9-3.6v 最大发射功率10dbm 最大数据传输率(曼彻施特编码)100kbps 输出功率为-10dbm 时工作电流11ma 接收模式时工作电流12.5ma 温度范围-40-+85c 典型灵敏度-100dbm 掉电模式时工作电流2.5 a 其管脚及其功能如下: 表 1-2 管脚及其功能 管脚功能方向备注 pin1vcc正电源 1.9-3.6v 输入i pin2tx_entx_en=1 发射模式; tx_en=0,接收模式 i pin3trx_ce使能发射/接收模式(区别于配 置模式) i pin4pwrpower down 模式i pin5uclk时钟分频输出o pin6cd载波检测输出o pin7am地址匹配输出o pin8dr数据就绪输出o pin9misospi 输出o pin10mosispi 输入i pin11sckspi 时钟i pin12csnspi 使能 低有效i pin13gnd电源地 pin14gnd电源地 长春理工大学毕业设计 8 硬件接口电路如图: vcc 1 tx_en 2 trx_ce 3 pwr 4 uclk 5 cd 6 am 7 dr 8 miso 9 mosi 10 sck 11 csn 12 gnd 13 gnd 14 u3 ptr8000 sdi sdo cs sck cd am dr tx_en trx_ce vcc gndgnd pwr uclk 图 3-3 ptr8000 硬件接口电路 模式控制: 表 1-3 ptr8000 无线收发模式选择 pwrtrx_cetx_en工作模式 0 xx掉电和 spi 编程模式 10 x待机和 spi 编程模式 110 接收 111 发射 (1)待机模式下功耗约为 40 微安,此时发射/接收电路均关闭,只有 spi 接口工作. (2)掉电模式下功耗约为 2.5 微安,此时所有电路关闭,进入最省电状态。 (3)在待机和掉电模式下均不能接收、发射数据,可以进行配置 spi 接口 spi 接口由 sck、mios、mosi 以及 csn 组成: ()在配置模式下,单片机通过 spi 接口陪住 ptr8000 的工作参数; ()在发射接收模式下,单片机 spi 接口发送和接收数据。 状态输出接口 提供载波监测输出 cd,地址匹配输出 am,数据就绪输出 dr。 长春理工大学毕业设计 9 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) ,总共 提供 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-db3i/oh/l 数据总线低四位 空接 db4-db7i/oh/l 数据总线高四位 4 位并口时空接 空接 ledai- - 背光正 ledki- - 背光负 串口接线图如图 3-4 所示: 5v rs rw en d0 d1 d2 d3 d4 d5 d6 d7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 jp6lcd12864 5v 图 3-4 12864 液晶的硬件接口电路 长春理工大学毕业设计 10 3.5 键键盘盘输输入入模模块块 工作原理:按键设置在行列线交点上,行列线分别连接按键开关的两端, 行线通过上拉电阻接到+5v 上。无按键按下时,行线处于高电平状态,当有按 键按下时,行线电平状态将由与此相连的列线的电平决定。这一点是识别行列 式键盘是否按下的关键所在。其中按键过程中会出现键抖动,即当某按键按下 时,其输出电平并非立刻降为零,而是有一个抖动过程。当按键松开时,在这 段过程中信号也会出现抖动,抖动的时间视键盘的机械特性和操作者不同而不 同,一般为 510ms,而 cpu 的操作很快,因此这种抖动就容易对按键的识别 产生影响,为了防止因按键抖动而导致系统的误操作,需要采取某种手段实现 键盘的“去抖动”功能。去抖动的方法有多种,如采用软件延时查询的方法或 采用硬件处理的方法,本文选用软件延时的方法去除按键抖动。 接口电路如下: k1k2k3 k4k5k6 k7k8k9 k10k11k12 key1 key2 key3 key4 col1col2col3 图 3-5 键盘接口电路 3.6 调调节节部部分分 温湿度调节采用固态继电器进行控制。 在单片机应用系统中,由于输出设备需大电压或者电流来控制,而单片机 系统输出的开关量多为 ttl 电平,这种电平一般不能直接驱动外部设备开启或 关闭。另一方面,许多外部设备,如大功率电机,接触器等在开关过程中会产 生很强的电磁干扰信号,如果不隔离,可能会使微机控制系统造成误动作或损 坏。因此,在接口设计处理时,一要放大,二要隔离。本系统采用的是光电藕 合器进行隔离。它共模抑制比很高,输出呈线性关系,光电耦合器可作为线性 耦合器使用。 具体工作过程:本电路由光电耦合器,基本放大电路及一些保护电路等组 成。单片机输出低电平的时候,发光二极管导通,光电耦合器工作,产生光信 长春理工大学毕业设计 11 号,而输出引脚将光信号又转化为电信号,经过三个三极管基本共射放大电路 控制继电器的开启和关闭,如加热、加湿、通风等。其中继电器并联的二极管 和电容起到保护作用。当输入为高电平时,三极管截止,继电器停止工作。 硬件电路设计如下: 330k r1 330k r2 330k r3 vcc u1 u2 u3 4.7k r4 4.7k r5 4.7k r6 4.7k r7 4.7k r8 4.7k r9 q 1 q 2 q 3 d 1 0.1uf c4 0.1uf c5 0.1uf c6 k1 d 2 d 3 k2 k3 加加加加 加加加加 加加加加 ctr1 ctr2 ctr3 +12v +12v +12v +12v 图 3-7 调节部分硬件电路 长春理工大学毕业设计 12 第第4 章章 系系统统的的软软件件设设计计 系统的软件部分是控制系统运行的核心部分,包括温湿度数据采集模块、 无线数据收发模块、键盘输入模块、液晶显示模块。软件编写得合理得当,也 能有效提高系统的运行速度。采用 c 语言编程及模块化设计也大大提高了系统 的运行效率,可读性强。在 keilc 下编写完成并测试通过。 下位机和上位机软件流程图: 开开始始 初初始始化化 调调用用温温湿湿度度采采集集子子程程序序 ptr8000发发射射采采集集到到的的数数据据 ptr8000等等待待上上位位机机键键盘盘设设定定值值 采采集集到到的的数数据据与与设设定定值值 比比较较是是否否满满足足条条件件 开开始始调调节节 延延时时 y 图 4-1 下位机软件流程图 长春理工大学毕业设计 13 开开始始 初初始始化化 接接收收温温湿湿度度数数据据 键键入入设设定定值值 发发射射设设定定值值 延延时时 液液 晶晶 显显 示示 图 4-2 上位机软件流程图 4.1 温温湿湿度度采采集集子子程程序序设设计计 4.1.1 dht21 串串行行接接口口 用户 mcu 发送一次开始信号后,dht21 从低功耗模式转换到高速模式,等待 主机开始信号结束后,dht21 发送响应信号,送出 40bit 的数据,并触发一次信号采 集,用户可选择读取部分数据.从模式下,dht21 接收到开始信号触发一次温湿度 采集,如果没有接收到主机发送开始信号,dht21 不会主动进行温湿度采集.采集 数据后转换到低速模式。 总线空闲状态为高电平,主机把总线拉低等待 dht21 响应,主机把总线拉低 必须大于 18 毫秒,保证 dht21 能检测到起始信号。dht21 接收到主机的开始 信号后,等待主机开始信号结束,然后发送 80us 低电平响应信号.主机发送开始 信号结束后,延时等待 20-40us 后, 读取 dht21 的响应信号,主机发送开始信号 后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。 总线为低电平,说明 dht21 发送响应信号,dht21 发送响应信号后,再把总线 拉高 80us,准备发送数据,每一 bit 数据都以 50us 低电平时隙开始,高电平的长短 定了数据位是 0 还是 1.格式见下面图示.如果读取响应信号为高电平,则 dht21 没有响应,请检查线路是否连接正常.当最后一 bit 数据传送完毕后,dht21 拉低 总线 50us,随后总线由上拉电阻拉高进入空闲状态。 4.1.2 温温湿湿度度采采集集子子程程序序 温湿度采集程序流程如图: 长春理工大学毕业设计 14 开开始始 主主机机开开始始发发送送 判判断断是是否否发发送送 响响应应信信号号 开开始始采采集集温温湿湿度度数数据据 数数据据校校验验 数数据据接接收收完完毕毕 延延时时 y n 图4-3 温湿度采集程序流程图 4.2 无无线线数数据据收收发发子子程程序序 4.2.1 ptr8000 的的指指令令设设置置 用于 spi 接口的有用指令见下表。当 csn 为低时,spi 接口开始等待一条 指令,任何一条新指令,csn 的由高到低的转换开始。 ptr8000 提供一个 spi 接口,at89s52 利用数据口模拟 spi 通信,单片机 即可通过 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 的开始 地址 长春理工大学毕业设计 15 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)1000pphc cccccccc 快速设置配置寄存器中 ch_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 模式3ms st_by tx 模式650us st_by rx 模式 650us rx tx 模式550us tx rx 模式550us 4.2.2 无无线线数数据据收收发发子子程程序序设设计计 (1)发射程序设计 在 nrf905 的发射过程中,单片机首先将 nrf905 模块的 txen 端置高, trx_ce 端置低,使 nrf905 处于发射模式,接着通过 spi 发送写入发送地址 命令 wta,写入发送数据包的地址,然后写 wtp 命令后通过 spi 写入发送数 据,当 nrf905 发送完毕后,dr 位将被置高,单片机检测到 dr 变为高电位后, 结束发送程序。程序流程如左图所示。 (2)接受程序设计 长春理工大学毕业设计 16 开开始始 配配置置ptr模模块块 写写入入有有效效数数据据 进进入入发发送送模模式式 延延时时 y 是是否否发发送送 发发送送结结束束 y n 开开始始 tx_en=0,pwr_up=1 延延时时,接接受受 y 读读数数据据 trx_ce=1? dr=1? trx_ce=0 y 图 4-4 发射程序流程图 图 4-5 接收程序流程图 ptr8000 在接收状态下,不断监测载波。当检测到同一频段的载波时,cd 置 为高电平。当检测到一个匹配的地址时,am 置为高电平。ptr8000 内部的 nrf905 芯片进行 crc 校验操作,若 crc 检验通过,则说明接收到的是一个正确 的数据包,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 实现的。根据写入内容的不同, 可分别在液晶屏上显示 cgrom(中文字库) 、hcgrom(ascii 码字库)及 cgram(自定义字形)的内容。三种不同字符/字型的选择编码范围为: 00000006h(其代码分别是 0000、0002、0004、0006 共 4 个)显示自定义字 型,02h7fh 显示半宽 ascii 码字符,a1a0hf7ffh 显示 8192 种 gb2312 中文字库字形。字符显示 ram 在液晶模块中的地址 80h9fh。字符显示 长春理工大学毕业设计 17 ram 在液晶模块中的地址 80h9fh。字符显示的 ram 的地址与 32 个字符显 示区域有着一一对应的关系,其对应关系如表所示。 80h81h82h83h84h85h86h87h 90h91h92h93h94h95h96h97h 88h89h8ah8bh8ch8dh8eh8fh 98h99h9ah9bh9ch9dh9eh9fh 基本指令集: 指 指 令 码 功 能 令 rs r/w d7 d6 d5 d4 d3 d2 d1 d0 清除 显示 0000000001 将ddram填满“20h“,并且设定 ddram的地址计数器 (ac)到“00h“ 地址 归位 000000001x 设定ddram的地址计数器 (ac)到 “00h“,并且将游标移到开头原点位置;这 个指令不改变 ddram 的内容 显示状 态开/关0 000001dcb d=1: 整体显示 on c=1: 游标 on b=1:游标位置反白允许 进入点 设定 00000001i/d s 指定在数据的读取与写入时,设定游 标的移动方向及指定显示的移位 游标或 显示移 位控制 000001 s/c r/l xx 设定游标的移动与显示的移位控制 位;这个指令不改变 ddram 的内容 功能 设定 00001 dl xre xx dl=0/1:4/8 位数据 re=1: 扩充指令操作 re=0: 基本指令操作 设定 cgram 地址 0001 ac5ac4ac3ac2ac1ac0设定 cgram 地址 设定 ddram 地址 0010 ac5ac4ac3ac2ac1ac0 设定 ddram 地址(显示位址) 第一行:80h87h 第二行:90h97h 读取忙 标志和 地址 01bf ac6ac5ac4ac3ac2ac1ac0 读取忙标志(bf)可以确认内部动作 是否完成,同时可以读出地址计数器 (ac)的值 写数据 到 ram 1 0 数据将数据 d7d0 写入到内部的 ram (ddram/cgram/iram/gram) 读出 ram 的 值 1 1 数据 从内部 ram 读取数据 d7d0 (ddram/cgram/iram/gram) 长春理工大学毕业设计 18 备注:当 st7920 在接受指令前,mcu 必须先确认 st7920 处于非忙状态。 即读取 bf0,才能接受新的指令;如果在送出一条指令前不检查 bf 状态, 则需要延时一段时间,以确保上一条指令执行完毕,具体指令执行时间参照指 令表。 “re”是基本指令集与扩充指令集的选择控制位,当变更 “re”的状态 后,以后的指令维持在最后的状态。除非再次变更“re”的状态,否则使用相 同的指令集时,不需要重新设置“re” 。 初始化流程: 开开电电源源 延延时时40ms, xreset由由高高到到低低 功功能能设设定定,控控制制字字 30h 延延时时100us 功功能能设设定定,控控制制字字 30h 延延时时37us 显显示示开开/关关,控控制制字字 0c0h 延延时时100us 清清除除屏屏幕幕,控控制制字字 01h 延延时时10ms 进进入入设设定定点点,控控制制 字字06h 初初始始化化完完成成 图4-6 液晶初始化程序流程图 4.3.2 液液晶晶显显示示子子程程序序设设计计 本系统液晶采用串行通信方式。在接收到 rw(sid)和 rs(cs)的信号后,每 一八位数据的指令将被分为两部分进行接收,高 4 位元(db7-db4)的指令将被 放在第一个位元的 lsb 部分,而低 4 位元(db3-db0)的指令则被放在第二个位 元的 lsb 部分,另四位元则都为 0。即当字符编码为 2 字节时,应先写入高位 字节,再写入低位字节。显示 ascii 字符过程与显示中文字符过程相同。不过 在显示连续字符时,只须设定一次显示地址,由模块自动对地址加 1 指向下一 个字符位置,否则,显示的字符中将会有一个空 ascii 字符位置。欲在某一个 位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中 文字符编码。 917123456781011121314151618 192021222324 11111rwrsd7d6d5d4d3d2d1d000000000 cs sclk sid synchronizing bit string higher data lower data 1st byte2nd byte 0 长春理工大学毕业设计 19 图 4-7 液晶的时序图 下面为液晶的初始化程序框图: 图4-8 液晶的初始化程序流程图 4.4 键键盘盘子子程程序序设设计计 键盘输入子程序如下,通过 4 次按按键可实现两位湿度和两位温度值的 输入。 void keyscan(void)

温馨提示

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

评论

0/150

提交评论