自动灌溉控制器的设计_毕业设计

自动灌溉控制器的设计_毕业设计

ID:11761278

大小:764.55 KB

页数:45页

时间:2018-07-13

上传者:U-3868
自动灌溉控制器的设计_毕业设计_第1页
自动灌溉控制器的设计_毕业设计_第2页
自动灌溉控制器的设计_毕业设计_第3页
自动灌溉控制器的设计_毕业设计_第4页
自动灌溉控制器的设计_毕业设计_第5页
资源描述:

《自动灌溉控制器的设计_毕业设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

毕业设计(论文)课题名称自动灌溉控制器的设计学生姓名学号系、年级专业指导教师职称讲师2010年5月30日 摘要近几年来,随着水资源的日趋紧张,世界各国都在积极探索行之有效的节水途径和措施。自动灌溉技术是为了解决水资源不足,提高灌溉效率而发展起来的现代灌溉技术之一。本文设计了一个自动灌溉控制器,该系统以AT89C51单片机为控制核心,采用模块化的设计方案,由湿度采集模块、步进电机控制模块、键盘接口模块和显示模块组成。湿度采集模块以探针式电容湿度传感器为核心,步进电机控制电路模块采用了达林顿驱动芯片ULN2803,显示电路模块主要由LCD12864构成。在闭环(自动)模式下,该系统能自动对土壤的湿度进行检测,当实际湿度低于警戒值时单片机自动启动步进电机进行灌溉。在时间(手动)模式下,可通过键盘设置灌溉的时间,超过该时间,则停止灌溉。关键词:AT89C51;探针式电容湿度传感器;ULN2803达林顿驱动;LCD12864 目录摘要I第1章绪论11.1引言11.2国内外现状2第2章方案设计与论证42.1总体方案论证42.2键盘方案选取52.3土壤湿度传感器的选取6第3章系统硬件电路设计93.1AT89C51单片机硬件电路93.2湿度采集电路123.3矩阵键盘电路设计143.4LCD液晶显示电路153.5步进电机驱动电路19第4章系统软件设计214.1程序设计214.2主程序设计224.312864LCD显示子程序设计244.4键盘子程序设计28第5章系统仿真355.1PROTUES仿真软件介绍355.2仿真电路设计355.3系统总体电路仿真36第6章结束语41参考文献42致谢43附录1系统整体电路图54 第1章绪论1.1引言随着中国农业现代化进程的加快、农业结构的调整以及我国加入WTO等因素,农业灌溉自动化技术的要求越来越高,灌溉控制器在我国有着巨大的市场。节水灌溉控制器近期在中国应朝着价格低、性能可靠、操作简便的方向发展。但从长远利益考虑,新的智能化技术、传感技术和农业科技的引入、应用和普及,将会有智能化程度更高、功能更强、性能更稳定可靠的灌溉控制器出现。本设计以AT89C51单片机为主要硬件模块,通过软件编程实现对土壤湿度进行多点检测,当所测的实际湿度低于警戒值时,将触发灌溉控制器装置。系统还可以实现时间控制方式,随时灌溉,从而也体现了多用途、人性化的现代智能化系统设计要求。根据本设计的功能要求,可确定此方案:以AT89C51单片机为控制电路的核心,采用模块化的设计方案。在闭环控制方式下,利用湿度采集模块将多处不同地点检测到的湿度模拟量进行模数转化后传送给单片机,单片机将采集到的数据与警戒值比较;若采集数据低于警戒值,则启动步进电机驱动模块进行灌溉;若采集数据高于警戒值,则不启动驱动模块进行灌溉。显示模块将采集数据和灌溉信息显示在显示屏上。灌溉时间一到,驱动电路则停止驱动步进电机,灌溉停止。在时间控制方式下,用户通过键盘输入进行灌溉的时间,时间一到,灌溉停止。1.2国内外现状国内在开发灌溉自动控制系统方面处于研制、试用阶段,能实际投入应用,且应用较广的灌溉控制器还不多见。在开发的产品中有代表性的如中国农业机械化研究院联合多家单位研制的2000型温室自动灌溉施肥系统。该系统是国家“九五”科技攻关项目中自主研发的科技产品,该系统结合我国温室的环境和实际使用特点,以积木分布式系统结构原理,解决了计算机适时闭环控制、动态监测、控制显示中文、施肥泵混合比可调、电磁阀开度可调等关键技术问题。该系统具有手动控制、程序控制和自动控制等多种灌溉系统模式,可按需要灵活应用,在大连、北京等地已经投入了应用,从系统运行情况来看,该系统有很好控制效果,取的了一定的经济效益和社会效益[2]。 天津市水利科学研究所研制的温室滴灌施肥智能化控制系统主要用于现代温室,日光温室作物的灌溉营养液施肥,环境监测的智能控制,采用世界先进的可编程序控制器和触摸屏控制技术,性能可靠、功能齐全、人机界面友好、操作简单、价格低廉,此控制系统的控制流量为15,控制规模为1~2时,能控制24路阀门,系统具有人工干预灌溉施肥功能,定时、定量灌溉施肥功能,条件控制灌溉施肥功能。北京澳作生态仪器有限公司的澳作智能节水灌溉控制系统可与各种滴、喷灌系统连接,实时监测土壤墒情,根据要求自动灌溉。控制方式灵活,手动、半自动、全自动任选且可随意在计算机上更改,可同时控制多个设备,受控区位置及形状,环境参数及设备状态可同时显示在中心计算机上。北京奥特思达科技有限公司研制的WT-02型微喷灌定时自动控制器,是一种供农业、草坪、果园、温室一般场合给水的电子灌溉自动控制系统。国外一些先进国家,如美国、以色列和加拿大等,运用先进的电子技术、计算机和控制技术,在节水灌溉技术方面起步较早,并日趋成熟。这些国家从最早的水力控制、机械控制,到后来的机械电子混合协调式控制,到当前应用广泛的计算机控制、模糊控制和神经网络控制等,控制精度和智能化程度越来越高,可靠性越来越好,操作也越来越简便。近年来随着农业对自动化程度要求的提高,以色列出现灌溉用的可编程逻辑控制器(PLC),这种控制器通过把不同的网络连接到主机上进行数据采集和处理。随着控制技术、传感器技术的发展,以色列开发出了现代诊断式控制器,这种控制器把以前不可能采集到的信息通过不同的传感器来获得,通过因特网、远程控制、GSM等来实现数据传输,然后通过计算机中的一些模型来处理信息,作出灌溉计划。加拿大、澳大利亚和韩国等国家和地区也都有开发成功并形成系列的灌溉控制器产品,其中,比较有代表性的如澳大利亚的HARDIEIRRGATION公司的灌溉控制器,已形成了MICRO-MASTER、RAINJET等多个系列,几十种型号的产品。其中HR6100系列成本较低,是一种小型自动灌溉控制器,主要是面对家庭庭院和小面积的商业绿化场地的灌溉,而MICRO-MASTER,系列产品是HARDIE公司为进行大面积灌溉而开发的控制器。该系统采用分布式布置,可与上位机双向通信,用微机对其进行编程操作和对其子控制器进行控制,并能用微机随时监控灌溉系统的工作状况。 第2章方案设计与论证2.1总体方案论证所谓的模块化设计,简单地说就是将产品的某些要素组合在一起,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块与其他产品要素进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。模块化是在传统设计基础上发展起来的一种新的设计思想,现已成为一种新技术被广泛应用,尤其是信息时代电子产品不断推陈出新,模块化设计的产品正在不断涌现。模块化设计已被广泛应用于机床、电子产品、航天、航空等设计领域。模块化设计是绿色设计方法之一,它已经从理念转变为较成熟的设计方法[3]。本设计方案以AT89C51单片机为控制核心,采用模块化的设计方法,总分为四大模块:湿度采集电路模块、步进电机控制电路模块、键盘接口电路模块和显示电路模块。其中以探针式电容湿度传感器为核心构成湿度采集电路,以达林顿驱动芯片ULN2803为核心构成步进电机控制电路,以液晶显示器12864为核心构成显示电路,再配合键盘电路实现对土壤湿度进行多点检测。在本系统中,分两种控制方式:闭环控制方式和时间控制方式,用户可在两种方式之间自由选择。在闭环控制方式下,利用湿度采集模块将多处不同地点检测到的湿度模拟量轮流进行模数转换,转化后对各数据进行综合处理,再传送给单片机。单片机将接收到的数据和单片机内存的数据进行比较,若收到的数据低于设定的数值,则步进电机控制电路模块启动步进电机进行灌溉。若收到的数据不低于设定的数值,则不启动步进电机进行灌溉。同时单片机将采集到的数据和系统的灌溉状况在现实模块的显示屏上显示出来。灌溉进行一定的时间后自动停止,该时间由用户加载在单片机内部数据决定。用户可通过灌溉方式切换键切换到时间控制方式。在时间控制方式下,用户通过键盘输入灌溉的时间和灌溉的周期,对应的数据将在显示屏上显示出来。这种灌溉方式主要应用于特殊情况[4]。综上所述,本系统不但具有非常友好的人机交互界面,而且具有良好的实时控制功能,能及时响应用户请求。系统支持的灌溉方式灵活多样,用户可根据实际情况进行模式选择。系统结构简洁,各类功能易于实现,大大提高了系统的可靠性和实用性。系统的基本模块原理图如图2.1所示。 AT98C51湿度采集模块接盘接口模块显示模块步进电机控制模块图2.1自动灌溉控制器系统基本模块原理框图2.2键盘方案选取方案一:独立式按键。独立式按键是指直接用一根I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键的工作状态不会影响其他I/O口线的工作状态。独立式按键接口电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大。故在按键数量不多时,常采用这种按键结构。独立式按键电路如图2.2所示。上拉电阻保证了按键断开时,I/O口线上有确定的高电平。图2.2独立式按键键盘框图 方案二:矩阵式键盘[5]在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图2.3所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。行列式键盘的缺点是程序设计较复杂些。因为本设计需要的按键数目较多,为了节省I/O口线资源,选用矩阵式键盘,故采取方案二。图2.3矩阵式键盘框图2.3土壤湿度传感器的选取目前市场上测量土壤湿度方法有中子衰减法、张力计测湿法、介电法速测法[6]。2.3.1中子衰减法测量土壤含水量 高速运动的快中子与物质作用能改变方向和产生能量损失,变成慢中子,形成衰减,由于被测物中含水量不同产生的衰减亦不同,主要原因是水中含有氢原子,而中子对氢原子作用的损失远大于对其他原子作用的损失,这样可以通过测定慢中子来测定土壤含水量,也就是通过衰减程度的大小来确定被测物质中含水量的多少,中子土壤水分测试仪就是根据这一原理设计而成。这个方法的优点在于快速准确,但重要的是这种方法如果屏蔽不好,易造成射线泄漏,以致污染环境,危害人体健康,特别难以测量浅层土壤含水量,而浅层土壤含水量与作物生长关系密切,明显随灌溉、降雨、蒸发等的变化而变化,是土壤水分中最为活跃的部分,需要实时监测,这就极大地限制了中子法的进一步推广应用,这种方法在发达国家已被禁止使用。2.3.2张力计式土壤水分传感器张力计式土壤水分传感器是一种广泛成功地用于某些土壤水分测量的传感器。这种仪表有个多孔瓷头,它通过充水的管子与真空表连接,该装置插入土壤的钻孔中,多孔瓷头与土壤紧密帖合,真空表设在地面之上。用张力计来测量土壤含水量有很大的发展,它的优点是:结构及原理都比较简单,可以在线实时测量,而且可以确定水在土壤内的流动方向和渗透深度,但它的缺点也很突出。它的测量范围很大程度上受土质的影响。该方法所测量的是土壤水的吸力,需要依据土壤水分特征曲线来换算成土壤含水量,由于土壤水分能量关系非常复杂,呈非线性,且容易受到许多土壤理化特性的影响,即使对同一块田,这一关系也十分复杂,使得用张力推求土壤含水量时极为困难,不方便,带来较大误差。该方法存在滞后和回环,影响其测量速度。由于以上缺陷的存在极大地限制了该方法的推广应用。2.3.3探针式电容湿度传感器利用土壤的介电特性来测量土壤含水量是一种行之有效的、快速的、简便的、可靠方法。对一定几何结构的电容式水分传感器,其电容量与两极间被测物料的介电常数有正比关系。由于水的介电常数比一般物料的介电常数要大得多,所以当土壤中的水分增加时,其介电常数相应增大,测量时水分传感器给出的电容值也随之上升,根据图2.4探针式土壤湿度传感器 传感器的电容量与土壤水分之间的对应关系可测出土壤的水分。利用该方法测量湿度的应用很多,多为探针式。探针式电容传感器是介电常数传感器中的一种,它可以敏感不同深度土壤的含水量。探针用来感测土壤的水分,其长度和距离根据被测对象的灵敏度优化确定。图2.4为3针电容土壤传感器的基本结构图,中央探针作为驱动电极,2根周部敏感电极连接到一起作为电容的另一极。电容式水分传感器的特点是精度高、量程宽、可测的物料品种多,而且响应速度也较快,可应用于在线监测实现自动化。 第3章系统硬件电路设计3.1AT89C51单片机硬件电路单片机的全称为微型计算机(SingleChipMicrocomputer)。从应用领域来看,单片机主要用于控制,所以又称微控制器(MicroControllerUnit)或嵌入式控制器(EmbeddedController)。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机,其基本组成和工作原理与通用微型计算机是一致的。主要由微处理器(CPU)、存储器、I/O接口三大功能部分通过总线有机连接而成,在外部通过I/O接口配置各种外部设备就构成微机的硬件系统[7]。单片机体积小,成本低,运用灵活,易于产品化;面向控制,能针对性地解决从简单到复杂的各类控制任务;抗干扰能力强,适用范围广。本系统采用AT89C51单片机作为中央处理器,其主要任务是读取自动灌溉控制器的模式,并在相应模式下进行相应的控制。如用户选择时间控制模式,从键盘输入灌溉的时间显示在显示屏上,启动步进电机,电机正转一圈把自动灌溉的阀门打开,灌溉的时间一到,步进电机反转一圈把阀门关闭。在自动模式下,单片机检测外部有无灌溉信号。若有,则打开阀门,若没有则循环等待。在本系统中,AT89C51单片机的P0口用于单片机与LCD之间的数据传送,P1.0~P1.3用于步进电机的驱动接口,P1.4用于LCD显示的位驱,P1.5用于控制对LCD的读写控制信号,P1.6用于控制对LCD的指令是属于写数据还是写指令。P2口用作键盘电路,一共设置16个按键。P3.2口用于键盘中断信号,若有键按下,则P3.2有中断信号送入单片机。P3.3用于外部灌溉信号的输入通道。AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammAbleandErasableReadOnlyMemory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域[8]。3.1.1主要特性(1)与MCS-51产品指令系统兼容; (2)4K字节可编程闪烁存储器;(3)寿命:1000写/擦循环;(4)数据保留时间:10年;(5)全静态工作:0Hz-24MHz;(6)三级程序存储器锁定;(7)128*8位内部RAM;(8)32条可编程I/O线;(9)两个16位定时器/计数器;(10)6个中断源;(11)可编程串行通道;(12)低功耗的闲置和掉电模式;(13)片内振荡器和时钟电路。另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到零并提供两种软件的省电方式-空闲方式和掉电方式。在空闲方式中,CPU停止工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下次硬件复位为止。3.1.2管脚说明VCC(40):供电电压,其工作电压为5V。GND(20):接地。P0端口(P0.0-P0.7):P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高[9]。P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2端口(P2.0-P2.7):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3端口(P3.0-P3.7):P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。P3口也可作为AT89C51的一些特殊功能口,如表3.1所示。P3口同时为闪烁编程和编程校验接收一些控制信号。表3.1P3端口引脚兼用功能表表端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数0)P3.5T1(定时/计数1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)AT89C51引脚图如图3.1所示。图3.1AT89C51引脚图 3.1.4AT89C51最小系统XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。AT89C51最小系统接线如图3.2所示,在XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,如需要按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。图3.2AT89C51最小系统图3.2湿度采集电路3.2.1湿度传感器的原理利用土壤含水量的介电特性来测量土壤含水量是一种行之有效、简便、快速的方法。对一定几何结构的电容式水分传感器,其电容量与两极间被测物料的介电常数有正比关系[10] 。由于水的介电常数比一般物料的介电常数要大得多,所以当土壤中的水分增加时,其介电常数相应增大,测量时水分传感器测出的电容值也随之上升,根据传感器的电容量与土壤水分的对应关系可测出土壤的水分。交流信号源产生某一频率的交变信号,此信号通过一定的传输线到达探针,传感器探针可以看作电极,等效为一个电容和一个电导的并联。假设电极的电容为C,加在电极之间的交变电压将产生一个交变电量,从而引起一个交变电流,则交变电压可以写为(3.1)探针导纳为(3.2)其中,G为等效导纳的电导;C为等效导纳的电容,则。根据高频电子线路理论可知。其中,表示土壤的介电常数;表示真空中的介电常数,等于;k取决于探针的几何结构。当在探针上加一个电流i时,在电容两端产生一个幅值为,相角为的电压,则探针导纳可表示为。土壤介电测量通用模型等效电路,如图3.3所示。图3.3土壤介电测量模型的等效电路根据矢量电压表测得的电压和相角以及信号源电流值,可以计算出导纳,进而求得等效电容C和等效电导G。当探针结构一定时,被测物质的介电常数决定着探针的阻抗,而土壤的介电常数又主要取决于土壤含水量,这样最终通过探针阻抗的测量得出土壤含水量的数值。3.2.2SHT10数字温湿度传感器由瑞士Sensirion推出的SHTxx系列数字温湿度传感器,基于领先世界的CMOSens® 数字传感技术,具有极高的可靠性和卓越的长期稳定性。全量程标定,两线数字接口,可与单片机直接相连,大大缩短研发时间、简化外围电路并降低费用。此外,体积微小、响应迅速、低能耗、可浸没、抗干扰能力强、温湿一体,兼有露点测量,性价比高,使该产品能够适于多种场合的应用。(1)产品特点:①SHT10系列为贴片型温湿度传感器芯片②全量程标定,两线数字输出;③湿度测量范围:0~100%RH;④温度测量范围:-40~+123.8℃;⑤湿度测量精度:±4.5%RH⑥温度测量精度:±0.5℃⑦响应时间:8s(tau63%);⑧低功耗80μW(12位测量,1次/s);⑨可完全浸没。(2)应用领域:数据采集器、变送器、自动化过程控制、汽车行业、楼宇控制&暖通空调、电力、计量测试、医药业。3.2.3湿度传感器与单片机的连接湿度采集模块组成和单片机的连接示意图如图3.4所示。高频信号加到传感器探头上,通过整流滤波电路获取电压信号,经过模数转换器AD574送入单片机AT89C51图3.4湿度采集模块组成和单片机的连接图计算得到含水量值,该值与通过键盘设定的门限值比较,以决定是否实现自动灌溉[11]。通过串行通信模块与上位机通信,可以实现对含水量的人工监控,同时可以通过上位机下达指令,实行定点灌溉。3.3矩阵键盘电路设计矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,图2.3中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O 口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如3.7图所示键盘,介绍过程如下。判断键盘中有无键按下将全部行线H0-H3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下[12]。判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。图3.5为本设计的键盘电路图,P2.4-P2.7为行线,P2.0-P2.3为列线。总共构成16个键。其中包含数字键0-9共十个,模式选择键手动和自动共两个,功能键启动、停止和数字清零键共三个。剩下的一个键是空闲键,留作扩展功能用。图3.5键盘电路图3.4LCD液晶显示电路3.4.112864液晶显示器带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。 图3.612864液晶显示屏可以显示8×4行16×16点阵的汉字,也可完成图形显示,低电压低功耗。模块有如下基本特性:(1)低电源电压(VDD:+3.0~+5.5V)(2)显示分辨率:128×64点(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)(4)内置128个16×8点阵字符(5)2MHZ时钟频率(6)显示方式:STN、半透、正显(7)驱动方式:1/32DUTY,1/5BIAS(8)视角方向:6点(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10(10)通讯方式:串行、并口可选3.4.2模块接口说明(此处用的是并行接口)液晶显示屏LCD12864有20个引脚,引脚可分类为:①电源引脚(包括VSS、VCC)②亮度调节引脚V0③数据和指令选择引脚RS④使能信号E⑥数据传输引脚DB0~DB7⑦并口串口选择引脚PSB 表3.1管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0—对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR[13]6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16/RESETH/L复位端,低电平有效17VOUT—LCD驱动电压输出端18AVDD背光源正端(+5V)19KVSS背光源负端3.4.3模块主要硬件构成说明控制器接口信号说明:(1)RS,R/W的配合选择决定控制界面的4种模式: 表3.2RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据(1)E信号表3.3E状态执行动作结果高—>低I/O缓冲—>DR配合/W进行写数据或指令高DR—>I/O缓冲配合R进行读数据或指令低/低—>高无 无(3)忙标志BF:BF标志提供内部工作情况。BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。利用STATUSRD指令,可以将BF读到DB7总线,从而检验模块之工作状态。(4)字型产生ROM(CGROM):字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAYON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。DFF的状态是指令DISPLAYON/OFF和RST信号控制的。(5)显示数据RAM(DDRAM):模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。(6)字型产生RAM(CGRAM):字型产生RAM提供图象定义(造字)功能,可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。 (7)地址计数器AC:地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6-DB0中。3.5步进电机驱动电路3.5.1步进电机简介和原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定[14]。图3.7四相步进电机步进示意图图3.7是四相反应式步进电机工作原理示意图。开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相 绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。3.5.2ULN2803驱动芯片(1)ULN2803引脚说明[15]:1-8号引脚:输入端11-18号引脚:输出端9号引脚:地端10号引脚:电源+(2)达林顿驱动的典型应用:①用于大功率开关电路,电机调速,逆变电路。利用CMOS电路经过达林顿管驱动高灵敏度继电器的电路。②驱动LCD智能显示屏LCD智能显示屏是由微型计算机控制,以LCD矩阵板作显示的系统,可用来显示各种文字及图案。该系统中的行驱动器和列驱动器均可采用高β,高速低压降的达林顿管。应注意的是,达林顿管由于内部由多只管子及电阻组成,用万用表测试时,基极的正反向阻值与普通三极管不同。3.5.3步进电机驱动模块图图3.8步进电机驱动模块将单片机的P1.0-P1.3口与ULN2803引脚的1-4号四个输入端相连,将ULN2803引脚的15-18号四个输出端与步进电机的四个相相接。单片机输出驱动电平较低,经ULN2803放大后,才能驱动电机旋转。 第4章系统软件设计4.1程序设计程序设计是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。程序设计通常分为问题建摸,算法设计,编写代码和编译调试四个阶段。按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后者反之。按照用户的要求,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、和分布性等。程序是程序设计中最为基本的概念,子程序和协同例程都是为了便于进行程序设计而建立的程序设计基本单位,顺序性、并发性、并行性和分布性反映程序的内在特性。在硬件系统设计好以后,就要设计相应的程序实现系统功能。把整个过程分成若干个部分,每一部分叫做一个模块。把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法[16]。模块程序设计法的主要优点是:(1)单个模块比起一个完整的程序易编写、调试及修改。(2)程序的易读性好。(3)程序的修改可局部化。(4)模块可以共存,一个模块可以被多个任务在不同条件下调用。(5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序﹑键盘子程序、12864LCD液晶显示 子程序构成。4.2主程序设计在本系统的程序设计中,主控模块负责启动系统后显示屏上的初级显示,开外部中断,判断系统模式,以及执行相应的子程序,完成系统功能。在主程序模块中,需要完成对各模块接口的初始化工作,另外,在主程序模块中还需要检测模式标志单元的值,若该单元的值为0,则为手动模式,若为1,则为自动模式。用户选定模式后,主程序负责执行相应的子程序。若为手动模式,阀门打开后,则屏幕显示倒计时,时间一到,阀门就关闭。若为自动模式,则单片机定时检测P3.3口的值,若该值为高电平则不启动阀门,若该值为低电平,则启动阀门。启动阀门后,单片机还要继续检测P3.3口的值,若变高电平,则关闭阀门。执行完一个灌溉周期后继续循环检测P3.3口的电平值。主程序流程图如图4.1所示。当接通电源时,自动灌溉控制系统启动,同时LCD液晶显示提示语,提示用户选择模式。若选择手动模式,显示屏还会提示用户通过键盘设置灌溉时间。在运行中键盘采用中断方式,若有键按下,则转向相应的子程序。图4.1主程序流程图 主程序:CSAEQUP3.4CSBEQUP3.5RSEQUP1.6RWEQUP1.5EEQUP1.4DATAESEQUP0COMEQU21HDATEQU22HYMEQU23HLMEQU24HCODESEQU25HU0EQU26H;盛放第一个数的字形参数U1EQU27H;第二个数的字形参数U2EQU28H;第三个数的字型参数U3EQU29H;模式标志,0为手动,1为自动ORG0000HLJMPMAINORG0003HLJMPKEYBOARD;键盘采取中断检测方式ORG0030HMAIN:MOVSP,#60HMOVR1,#00H;按键次数计数器MOVP0,#0FFHMOVP2,#0F0HMOVP1,#00HCLRACLREA;关中断SETBIT1SETBEX0 START:LCALLSHOW0;初级显示LCALLDELAY1LCALLSHOW1SETBEA;开外部中断LOOP:LCALLDELAYLCALLDELAYMOVA,U3JNZTYPE1SJMPLOOPTYPE1:LCALLDELAYMOVA,U3CJNEA,#2,TYPE1RECYCLE0:LCALLDELAY1MOVC,P3.3JCTESTNEXTLCALLSTARTMOVERECYCLE:LCALLDELAY1MOVC,P3.3JNCRECYCLELCALLSTOPMOVETESTNEXT:SJMPRECYCLE04.312864LCD显示子程序设计12864LCD显示屏有着自己的指令集,基本指令集有11条指令。它的指令是通过选择RS的高低电平来区别所从DB0~DB7输入的是数据还是指令,RW的高低电平来选择对现实屏是读操作还是写操作。CS1、CS2不同组合代表选择左半屏或者右半屏。数据或者指令的代码从DB0~DB7输入。对12864LCD写程序的步骤如下:(1)开启两个半屏(2)清左半屏和右半屏(3)选择左半屏(4)设置页和起始行 (5)写左半屏显示屏显示子程序流程图如图所示。图4.2显示屏显示子程序流程图显示屏显示子程序:;===============显示分钟数子程序==================DISPLAY0:LCALLLEFT;对左半屏操作MOVYM,#4;页设置MOVLM,#48;列第一位数MOVCODES,U0;字形参数MOVDPTR,#TAB2LCALLCHINE;显示程序RETDISPLAY1: LCALLRIGHTMOVYM,#4MOVLM,#0;第二位数MOVCODES,U1MOVDPTR,#TAB2LCALLCHINERETDISPLAY2:LCALLRIGHTMOVYM,#4MOVLM,#16;第三位数MOVCODES,U2MOVDPTR,#TAB2LCALLCHINERET;================================;显示屏初始化子程序INT:LCALLLEFT;左半屏控制MOVCOM,#3FH;左半屏开显示设置LCALLPRM;写指令子程序LCALLRIGHT;右半屏控制MOVCOM,#3FH;右半屏开显示设置LCALLPRM;写指令子程序;=============写数据子程序===============PRD:LCALLBUSY;调用判忙子程序SETBRS;RS置1CLRRW;RW清0SETBEMOVDATAES,DAT;所送数据 CLRE;E下降沿液晶模块从数据总线上读入指令RET;==============设置显示初始页==============PAGEFIRST:MOVA,COM;COM中为实际的页码ORLA,#0B8h;将实际的页数和B8的或所得的结果即是要送的指令代码MOVCOM,ALCALLPRM;调用写入指令子程序RET;===============设置显示初始列==============LIEFIRST:MOVA,COM;COM中为实际的列码ORLA,#40H;将实际的页数和40的或所得的结果即是要送的指令代码MOVCOM,A;设置显示起始列为第0列LCALLPRM;调用写入指令子程序RET;===============显示程序====================CHINE:MOVA,CODESMOVB,#32MULABADDA,DPLMOVDPL,AMOVA,BADDCA,DPHMOVDPH,A;================设置显示起始页=============MOVCOM,YMLCALLPAGEFIRST;================设置显示起始列=============MOVCOM,LM LCALLLIEFIRST;============在指定位置显示16*16汉字上半部分======MOVR0,#00HRETURN0:MOVA,R0MOVCA,@A+DPTRMOVDAT,ALCALLPRDINCR0CJNER0,#16,RETURN0;=============设置显示起始页=================MOVA,YMINCAMOVCOM,A;设置显示起始页为第4页LCALLPAGEFIRST;=============设置显示起始列=================MOVCOM,LMLCALLLIEFIRST;===========在指定位置显示16*16汉字下半部分=RETURN1:MOVA,R0MOVCA,@A+DPTRMOVDAT,ALCALLPRDINCR0CJNER0,#32,RETURN1RET4.4键盘子程序设计 本设计的键盘方案采取矩阵式键盘,和独立式键盘相比,矩阵式键盘按键数目较多,扩展性强,可在需要按键较多的情况下使用。本键盘的思路如下:键盘采用中断扫描方式,P2.4-P2.7作为行线,P2.0-P2.3作为列线,将行线用一个与门连起来。与门输出端与单片机的外部中断IN1连接。先将所有的列线置低电平,行线置高电平。与门输出端输出高电平。若有键按下,行线中的某一条将会被置低电平,与门输出低电平,单片机将响应外部中断。单片机响应外部中断后,先延时10ms,用以消除抖动。延时后若IN1还为低,则进入扫描程序。扫描完成后,将键值存入累加器A。键盘子程序流程图如下:图4.3键盘子程序流程图LCD数码管显示子程序:;==================键盘程序==================KEYBOARD:K1:LCALLDELAY;消抖LCALLDELAYLCALLKS;判别是否有键按下 JNZK2;确实有键按下,转K2LJMPRETURN;没键按下结束;==================判别是否真的有键按下============KS:MOVA,P2CPLAANLA,#0F0HRETK2:L0:MOVR4,#00;第0列CLRP2.0SETBP2.1SETBP2.2SETBP2.3MOVA,#00;第0行首键号JNBP2.4,JH;有键按下转求键号MOVA,#04;第1行首键号JNBP2.5,JH;有键按下转求键号MOVA,#08;第2行首键号JNBP2.6,JH;有键按下转求键号MOVA,#12;第3行首键号JNBP2.7,JH;有键按下转求键号L1:MOVR4,#01H;第1列CLRP2.1SETBP2.0SETBP2.2SETBP2.3MOVA,#00JNBP2.4,JHMOVA,#04JNBP2.5,JH MOVA,#08;第2行首键号JNBP2.6,JH;有键按下转求键号MOVA,#12;第3行首键号JNBP2.7,JH;有键按下转求键号L2:MOVR4,#02H;第2列CLRP2.2SETBP2.0SETBP2.1SETBP2.3MOVA,#00JNBP2.4,JHMOVA,#04JNBP2.5,JHMOVA,#08;第2行首键号JNBP2.6,JH;有键按下转求键号MOVA,#12;第3行首键号JNBP2.7,JH;有键按下转求键号L3:MOVR4,#03H;第3列CLRP2.3SETBP2.0SETBP2.1SETBP2.2MOVA,#00JNBP2.4,JHMOVA,#04JNBP2.5,JHMOVA,#08;第2行首键号JNBP2.6,JH;有键按下转求键号MOVA,#12;第3行首键号JNBP2.7,JH;有键按下转求键号JH:ADDA,R4;形成键号送入A PUSHACC;键号入栈保护K3:LCALLDELAYLCALLKS;等待键释放JNZK3;未释放,等待POPACC;键释放,键号出栈送ACCMOVB,AADDA,BADDA,BMOVP2,#0F0H;恢复P2口电平MOVDPTR,#TAB4;实现按键功能JMP@A+DPTRTAB4:LJMPOPRE0LJMPOPRE1LJMPOPRE2LJMPOPRE3LJMPOPRE4LJMPOPRE5LJMPOPRE6LJMPOPRE7LJMPOPRE8LJMPOPRE9LJMPOPRE10LJMPOPRE11LJMPOPRE12LJMPOPRE13 第5章系统仿真5.1Proteus仿真软件介绍Proteus是英国Labcenter公司开发的电路分析与仿真软件。运行于Windows操作系统上,可以仿真、分析(SPICE)数字电路、模拟电路、数模混合电路,是目前唯一能实现对51、PIC、AVR、HC11、ARM等处理器的仿真软件。该软件的特点是[17]:(1)集原理图设计、仿真和PCB设计于一体,真正实现从概念到产品的完整开发工具。(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真,是独一无二的支持处理器与外围电路的协同仿真电路设计软件。(3)具有全速、单步、设置断点等多种形式的调试功能。(4)具有各种信号源和电路分析所需的虚拟仪表、是电类教学实验与创新的最侍平台。(5)支持KeilC51uVision2、MTLAB等第三方的软件编译和调试环境。(6)具有强大的原理图到PCB板设计功能,可输出多种格式的电路设计报表。5.2仿真电路设计本系统硬件由湿度采集电路模块、步进电机控制电路模块、键盘接口电路模块和显示电路模块组成。在闭环模式下,湿度采集电路采集土壤湿度,并把模拟信号转化为数字信号。在仿真电路里用一个开关替代,该开关设在P3.3口。若开关按下,则代表需要灌溉;若开关处于断开的状态,则不灌溉。在时间模式下,用户可通过键盘设置灌溉的时间(分钟),系统支持的最长时间是999分钟,每灌溉一分钟,显示屏的的时间数字就会减1,时间减为0时,灌溉停止。步进电机控制电路模块的功能相当一个阀门,若执行灌溉,则步进电机正转一圈,将阀门打开;若停止灌溉,则步进电机反转一圈,将阀门关上。按照以上描述,将自动灌溉控制系统电气原理图进行PROTEUS设计。打开PROTEUS的ISIS编辑环境,从PROTEUS中选取该电路所需要的元器件,放置元器件、放置电源和地,再点菜单栏工具下拉的电气规则检查,当规则检查出现:“NETLISTGENERATEDOKNOERCERRORDFOUND”,表示通过检查,电路设计完成。系统的PROTEUS仿真总体电路图如下所示: 图5.1系统总体电路图5.3系统总体电路仿真5.3.1程序加载PROTEUS软件自带编辑器,可以实现对汇编程序的编译,其操作步骤是:①新建源文件:点菜单Source→Add/RemovesourceFiles在出现的对话框中,选择ASEM51编辑器,新建自动灌溉.asm源文件。②程序设计:点菜单Source→自动灌溉.asm打开源文件编辑器,将将附录程序输入到文本中。③源程序编译:点菜单Source→BuildALL编译汇编源程序,生成目标代码文件自动灌溉.HEX,若编译失败,可对程序进行修改调试直至编译成功。④目标代码加载:在PROTEUS编辑环境双击AT89C51,弹出如图5.2所示的对话框,在PROGRAMFILE一栏中单击打开按钮,选中“自动灌溉.HEX”文件。在CLOCKFREQUENCY栏中设置系统工作频率为12MHZ,单击OK完成目标代码加载。 图5.2程序代码加载示意图5.3.2系统仿真及其分析运行PROTEUS仿真电路,显示屏将出现一个欢迎界面,然后提示用户选择模式。初始界面示意图如下:图5.3系统运行初始界面两种模式的仿真如下:(1)闭环模式按下键盘上的“自动”按键,系统就选择了“闭环模式”,再单击“启动”按键。单片机将定时扫描P3.3口的电平,若为低电平,则驱动步进电机,打开阀门执行灌溉。若为高电平,则继续等待再扫描。没按下“灌溉信号”按钮时,仿真图如下: 图5.4闭环模式没有灌溉信号下系统处于等待状态,步进电机不正转,不执行灌溉。按下“灌溉信号”按钮时,仿真图如下: 图5.5步进电机正转一圈(开阀门)图5.6步进电机反转一圈(关阀门)步进电机正转一圈,将阀门打开。执行一段时间,断开“灌溉信号”按钮,步进电机反转一圈,将阀门关上。(2)时间模式 按下键盘上的“手动”按键,系统就选择了“时间模式”。显示屏上会提示用户输入灌溉的时间058分钟,输入完后按下键盘上的“启动”按键。图5.7时间模式(手动)步进电机正转一圈,将阀门打开,显示屏上显示的时间将处于倒计时状态,每过一分钟,数值将减1。当时间递减至0时,电机反转一圈,将阀门关上,灌溉停止。图5.8时间倒计时示意图(1) 图5.9时间倒计时示意图(2)图5.9时间到电机反转(关阀门)从仿真结果来看,“闭环模式”和“时间模式”的功能基本上能够实现,满足自动灌溉控制器的要求。 第6章结束语经过了两个多月的学习和工作,我终于完成了《自动灌溉控制器的设计》的论文。从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。本设计涉及到《单片机原理及应用》、《PROTUES教程》、《微型计算机原理与接口技术》等学科。让我对专业知识有了更深的理解。在本次毕业设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:传感器应用接口电路、AT89C51单片机应用、12864LCD引脚图及其引脚功能等,为本次课程设计提供了一定的资料。本设计在刘伟春老师的悉心指导和严格要求下业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着刘老师的心血和汗水,在此向刘伟春老师表示深深的感谢和崇高的敬意。虽然我的论文作品不是很成熟,还有很多不足之处,但我可以自豪的说,这里面的每一段代码,都有我的劳动。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那就失去毕业论文的意义了。希望这次的经历能让我在以后学习中激励我继续进步。 参考文献[1]http://www.cnki.com.cn/Article/CJFDTOTAL-PGJX200302011.htm,2003-02-011[2]http://www.cnki.com.cn/Article/CJFDTOTAL-NYJI199908038.htm,1999-08-038[3]童时中.模块化设计原理方法及应用[M].北京:中国标准出版社,2000:10-15.[4]节水灌溉编委会.节水灌溉技术手册[M].北京:中国大地出版社,2003:62-70.[5]何立民.单片机初级教程[M].北京:北京航空航天大学出版社,1999:25-32.[6]徐科军.传感器与检测技术[M].北京:电子工业出版社,2007:110-113,160-161.[7]刘湘涛,江世明.单片机原理与应用[M].北京:电子工业出版社,2007:134-139,142-148.[8]王毅.单片机器件应用手册[M].北京:人民邮电出版社,1994:60-65.[9]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,1999:30.[10]赵家贵.新编传感器电路设计手册[M].北京:中国计量出版社,2002:180-181.[11]潘新民.微型计算机控制技术实用教程[M].北京:电子工业出版社,2007:75-76,118-119.[12]周航慈.单片机程序设计基础[M].北京:北京航空航天大学出版社,2004:260.[13]邵敏权.单片机原理实验及应用[M].吉林:吉林科学技术出版社,1995:45-50.[14]杨振江.智能仪器与数据采集系统中的新器件及应用[M].西安:西安电子科技大学出版社,2001:74-80.[15]康年光.电子技术基础[M].北京:高等教育出版社,2005:30.[16]朱兵,彭宣戈.汇编语言程序设计[M].北京:北京航空航天大学出版社,2009:52-60.[17]朱清慧,张凤蕊,翟天嵩,王志奎.PROTUES教程[M].北京:清华大学出版社,2008:214-216,289-298.[18]何希才.传感器应用接口电路[M].北京:机械工业出版社,1997:20-80.[19]冯博琴.微型计算机原理与接口技术[M].北京:清华大学出版社,2004:23-50.[20]MatthewChapman.TheUsingSkillsOfSingle-Chip[J].ElectronicDesign,1999,(15):23-50.[21]http://www.aybook.cn/pub/wml.txt/980810-2.html,1998-08-16/1998-10-04. 致谢我的毕业设计从开始到基本完成大概用了一个半月,时间不是很长,主要因为自己不断的努力和刘老师对我的耐心指导和热心帮助,给我的毕业设计指明了方向,奠定了基础。在这一段时间里,我努力复习单片机的相关知识,在网上不断的搜寻跟论文相关的材料。遇到不懂的硬件软件设计,我首先是自己钻研,找资料,如果还是弄不明白,就向刘老师寻求帮助。记得在写程序的过程中,我遇到了液晶显示屏12864的软件设计问题,研究了很久,但是还是没搞明白。后来我和刘老师一起研究讨论,终于弄明白了原理。刘老师是一位年轻的老师,对单片机颇有研究,他对学生要求严格,对学术态度严谨,他在忙碌中也会抽出时间来指导我的毕业设计,没有刘老师的帮助,我的论文不会这么顺利的完成。刘老师的人格和精神是我的榜样,也是我人生的财富,在此对他表示深深的感谢。除了刘老师的指导外,还有一位热心的同学,他是07级电子信息工程系的黄铮同学,他对我的课程设计也提供了莫大的帮助,在此也表示感谢。感谢我的每一位老师,他们对我的教导我将永远铭记在心间。感谢06级通信工程本科一班的各位同窗好友,他们的关心和照顾让我在这个集体里倍感温暖,一起走过的日子将成为我人生的美好回忆。最后,感谢我的家人,他们的支持与鼓励,永远是支撑我前进的最大动力。在此对他们表示衷心的感谢,他们的名字我一直铭记在心!最后,衷心感谢在百忙之中抽出时间审阅本论文的专家老师们。 附录1系统整体电路图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭