基于单片机的节水灌溉系统的设计与实现毕业设计(23页).doc
《基于单片机的节水灌溉系统的设计与实现毕业设计(23页).doc》由会员分享,可在线阅读,更多相关《基于单片机的节水灌溉系统的设计与实现毕业设计(23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于单片机的节水灌溉系统的设计与实现毕业设计-第 19 页毕业设计题 目:基于单片机的智能节水灌溉的设计与实现院 系: 信息与控制学院 专 业: 自动化 班级学号: 学生姓名: 指导教师: 成 绩: 年 月 日目 录1 方案设计11.1 设计任务要求11.2 硬件方案设计11.3 编程语言与调试环境选择31.3.1 编程语言的介31.3.2 调试环境的选择32 智能节水灌溉系统的硬件设计52.1 AT89S52单片机的硬件结构52.1.1 单片机的结构及引脚52.2 显示电路的设计92.2.1 显示电路选择92.2.2 液晶显示接口电路设计102.3 A/D 转换芯片ADC0832102.3
2、.1 ADC0832 具有以下特点102.3.2 ADC0832 与单片机的接口电路112.4 按键电路方案的设计122.4.1 按键电路的选择122.4.2 按键电路的设计122.5 单片机晶振电路原理及作用132.6 复位电路的设计142.7 报警电路的设计152.8 土壤湿度传感器 YL-69 土壤湿度计检测模块152.8.1 YL-69 土壤湿度计检测计特点152.8.2 使用说明162.9 步进电机驱动模块172.9.1 步进电机简介和原理172.9.2 ULN2003驱动芯片182.9.3 步进电机驱动模块183 系统软件设计193.1 软件系统总体工作流程193.2 湿度控制模块
3、的设计203.2.1 湿度控制程序流程203.3 按键电路子程序213.4 1602液晶显示模块设计22参考文献24附录A 硬件原理图25附录B 程序代码26附录C 实物图片311 方案设计1.1 设计任务要求1、能够检测土壤湿度,当达到设定值时,起动灌溉系统,能够通过键盘设定不同的灌溉速度,显示灌溉状态。 2、湿度传感器对土壤多点采集信号转换后传给单片机,单片机对输入信号做出处理(灌溉与否)。显示模块将采集数据和灌溉信息显示在显示屏上。通过键盘可以设置灌溉阈值和灌溉速度。1.2 硬件方案设计该课题以AT89S52单片机做为主要硬件模版,通过对软件的编程来实现对土壤温度、湿度值进行多点检测,当
4、所测的实际湿度低于警戒值时,将会自动触发灌溉控制器系统,进行自动的灌溉,该系统还可以完成手动控制灌溉,随时进行灌溉,从而也体现了人性化、多用途的现代自动化、智能化系统设计要求。根据该设计的功能要求,确定方案: AT89S52单片机做为控制电路核心,采用模块化设计的方案。模块化设计简单地说,就是把产品的一些要素组合在一起来构成一个有特定功能的子系统,把该系统作为通用性的模块和其他的产品要素多种组合,构成新的系统,所产生多种相同功能或不相同功能、但不同性能的一系列产品。模块化是一种新的设计思想,是在传统的设计基础上新发展起来的,现在已经成为一种新的技术已被广泛应用在生活中,尤其现在正处于信息时代,
5、电子产品不断推出新产品,应用模块化设计的产品也正在不断涌现。当代模块化设计已经被广泛应用于航空、航天、机床、电子产品等设计领域。模块化已经开始从理念转化成为比较成熟的设计方法也是绿色设计方法之一1。该设计总共分为:步进电机驱动模块、湿度采集模块、液晶显示模块、AD转换模块、报警电路。本设计中步进电机采用28BYJ48型四相八拍电机,步进电机控制电路是以驱动芯片ULN2003做为核心。湿度采集模块中核心器件是YL-69土壤湿度传感器,AD转换模块中主要器件是ADC0832 AD转换器,液晶显示器以LCD 1602为显示电路核心,时钟模块是以DS1302做为核心器件,再配合上键盘电路,实现对土壤湿
6、度检测。在本系统中,湿度灌溉系统可以分为两种控制方式:方案一闭环控制方式,方案二时间控制方式,所以用户可以在两种方式任选其一。采用方案一:用湿度采集模块把检测多处不同地点的湿度通过校准的数字信号数据处理,传送给单片机。单片机则将接收来的数据与单片机内存储的数据进行比对,如果收到的数据低于设定值,步进电机的控制电路模块将启动步进电机实行灌溉。如果收到的数据高于设定值,则步进电机不启动或者停止工作,与此同时单片机把采集到的数据与系统的灌溉情况在显示屏上显示出来。当灌溉进行到一定的时间时,自动停止工作,这个时间是由用户加载到单片机内部的数据来决定。在时间控制方式下时,用户通过灌溉周期和键盘输入的灌溉
7、时间,对应的数据会显示在屏上。该灌溉方式主要应用在特殊情况之下,所以本设计采用方案一2。综上所述,该系统具有非常好的人机互交界面,更方便进行实时控制功能,且能及时的响应用户请求。该系统支持的灌溉系统方式非常灵活,用户可以根据实际情况选择模式。系统结构简单,各类功能很容易实现,极大提高了系统的实用性和可靠性。系统的模块原理图如图1.1所示。图1.1 自动灌溉控制器系统基本模块原理框图1.3 编程语言与调试环境选择1.3.1 编程语言的介 C语言是一种被广泛应用,并能够灵活的实现计算机编程语言。用C语言编出来的程序,可以应用在很多平台上,可移植性较强。计算机的操作系统和一些大型软件都可用C语言来完
8、成。还有很多的聊天工具也可用C语言来编程。C语言有个突出的优点适合于多种操作系统如UNIX、DOS,也适用于多种机型。C语言既有汇编语言的特点,又具有高级语言的特点;是一个很成功的系统设计语言,有时候一个使用的程序设计语言,既能用来编写各种系统程序,又能用来编写不依赖计算机硬件的应用程序;所以C语言是一种应用广泛且很受欢迎的程序设计语言。 C语言不仅有高级语言的特点,还有汇编语言的特点,它是由美国贝尔实验室的Dennis M. Ritchie在1972年推出的,1978年以后,C语言慢慢被移植到大、中、小以及微型机上,他可以作为工作系统的设计语言,编写系统HYPERLINK的应用程序。它具备很
9、强的数据处理能力,不仅是在软件开发上,且各类科研也需要用到C语言,适用于编写系统软件,二维锥形,三维和动画等。 1972年是由美国的Dennis Ritchie设计发明,且首次在UNIX操作系统的DECPDP-11计算机上使用,他是由早期的编程编程语言HYPERLINK发展而来的在1970年,贝尔实验室的KenThposon根据BCPL语言设计出比较先进的并且取名为B的语言,最后有了C语言的问世。 然而B语言之前还有A语言,取名来自世界上第一位女程序员Ada(艾达)。 在微型计算机的日益普及, C语言出现了许多版本。由于没有统一的标准, 使的C语言之间出现了很多不一致的地方。为了改变这一情况,
10、美国的国家标准研究所(ANSI)为C语言制定一套ANSI标准,是现行的C语言标准,所以C语言是世界上使用最广泛、最流行的高级程序设计语言之一3。1.3.2 调试环境的选择软件部分应用C语言作为开发语言,开发工具使用的是keil作为开发工具。Keil C51是美国的Keil Software公司专门为单片机开发生产的51系列兼容C语言的软件开发系统,和汇编语言相比,C在结构性、功能上、可维护性、可读性上具有很明显的优势,所以很容易学习使用。Keil提供了宏汇编器、C编译器、连接、库管理器与一个功能强大的仿真器和调试器等在内的完整开发方案,且依靠一个集成开发环境(uVision)把这几个部分组合在
11、一起。要运行Keil软件只需要WIN2000、WINXP、WIN98、NT等操作系统。若你用C语言进行编程,那么Keil就是你的最佳选择,即便你不使用C语言而使用的是汇编语言编程,其强大的仿真软件、集成环境、调试工具让你更加方便4。2 智能节水灌溉系统的硬件设计2.1 AT89S52单片机的硬件结构单片机的全称是微型计算机(Single Chip Microcomputer)。在应用方面来看,单片机主要应用于控制,所以又叫微控制器(MicroControllerUnit)、嵌入式控制器(Embedded Controller)。单片机是集成计算机的基本部件在一块芯片上的最小系统计算机,其工作原
12、理和基本组成与通用微型计算机是一样的。主要由I/O接口、微处理器(CPU)、存储器三大功能部分通过总线连接而成的,外部通过I/O接口,配置各种外部设备构成了微机的硬件系统。单片机成本低,运用灵活,易于产品化,体积小;面向控制,能很好的解决由简单到复杂的各类控制任务;适用范围较广,抗干扰能力强5。 AT89S52是一种高性能、低功耗CMOS 8位微控制器, 在系统中可编程Flash 存储器。片上Flash可将程序存储器在系统里可编程,也适用于常规编程器。在单芯片上,具有灵巧的8 位CPU 和系统编程Flash,以便AT89S52为众多嵌入式控制系统提供超有效、高灵活的解决方案。2.1.1 单片机
13、的结构及引脚1 、AT89S52型号的单片机的主要特性:l 和MCS-51单片机产品兼容;l 8K字节在系统可以编程Flash存储器;l 全静态操作:0Hz33Hz;l 1000次擦写周期;l 三个16位定时器/计数器;l 三级加密程序存储器;l 32个可编程I/O口线;l 全双工UART串行通道;l 掉电标识符;l 双数据指针;l 看门狗定时器;l 掉电后中断可唤醒;l 低功耗空闲和掉电模式;l 八个中断源。AT89S52具有如下标准功能:256字节RAM,看门狗定时器,一个6向量2级中断结构,三个16 位定时器/计数器,2 个数据指针,32 位I/O 口线,片内晶振及时钟电路全双工串行口,
14、8k字节Flash。另外,AT89S52 可降到0Hz 静态的逻辑操作,支持2种软件可以选择节电模式。处于空闲模式下时,CPU停止工作,但允许RAM、计数器/定时器、中断、串口继续工作。当处于掉电保护方式时,振荡器被冻结,RAM内容被保存,单片机停止一切工作,直到下一个硬件或中断复位为止。2、芯片引脚封装:AT89S52引脚封装图如图2-1所示。图2-1 AT89S52引脚封装图3、芯片引脚说明:VCC : 电源端口。GND: 接地端口。P0 端口(P0.0-P0.7):P0口是个8位漏极开路双向I/O口。作为输出口,每位能够驱动8个TTL逻辑电平。当P0端口为“1”时,引脚处于高阻抗输入。当
15、访问数据存储器时与外部程序,P0口也被当做低8位数据/地址复用。在这种模式时,P0具有内部上拉电阻。在 flash编程时P0口也用于接收指令字节;在程序校验时输出指令 字节。程序校验时,需要外部的上拉电阻。P1 端口(P1.0-P1.7):P1口是个具有内部上拉电阻8 位双向I/O口,p1输出缓冲器能够驱动4 个TTL 逻辑电平。当P1端口为“1”时,内部上拉电阻将端口拉高,这时可以作为输入口使用。当作为输入使用时,在被外部拉低的引脚由于内部电阻原因,将输出电流(IIL)。此外,P1.0和P1.2分别作计数器/定时器2的外部计数输入(P1.0/T2)和计数/定时器2的触发输入(P1.1/T2E
16、X),具体如下表3-1所示。在flash编程与校验时,P1口接收低8位地址字节。表2-1 P1口线的第二功能引脚号第二功能信号第二功能信号名称P1.0T2定时器/计数器T2的外部计数输入,时钟输出P1.1T2EX定时器/计数器T2的捕捉/重载触发信号和方向控制P1.5MOSI在系统编程用P1.6MISO在系统编程用P1.7SCK在系统编程用P2 端口(P2.0-P2.7):P2 口是个具有内部上拉电阻8 位双向I/O 口,P2 输出缓冲器能够驱动4 个TTL 逻辑电平。当P2 端口为“1”时,内部的上拉电阻把端口拉高,这时可以作为输入口使用。当作为输入使用时,在被外部拉低的引脚由于内部电阻的原
17、因,将输出电流(IIL)。在访问外部的程序存储器或者用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口将送出高八位地址。在这种应用中,P2 口使用较强的内部上拉发送1。当使用8位地址(如MOVX RI)访问外部的数据存储器时,P2口输出P2锁存器的内容。在flash编程与校验时,P2口也接收到高8位地址字节与一些控制信号。P3 端口(P3.0-P3.7):P3 口是个具有内部上拉电阻8 位双向I/O 口,p2 输出缓冲器能够驱动4 个TTL 逻辑电平。当P3 端口为“1”时,内部上拉电阻将端口拉高,这时可以作为输入口使用。在作为输入使用时,被外部的拉低的引脚由于内部电阻原
18、因,将输出电流(IIL)。P3口也作为AT89S52特殊功能(第二功能)使用,如下表3-2所示。在flash编程与校验时,P3口也接收一些控制信号。表2-2 P3口线的第二功能引脚号第二功能信号第二功能信号名称P3.0RXD串行输入P3.1TXD串行输出P3.2INT0外部中断0P3.3INT0外部中断0P3.4T0定时器0外部输入P3.5T1定时器1外部输入P3.6WR外部数据存储器写选通P3.7RD外部数据存储器写选通RST: 复位输入。当晶振工作时,该脚持续2个机器周期的高电平将使单片机复位。看门狗计时完成以后,RST 脚输出96个晶振周期高电平,特殊寄存器AUXR(地址8EH)上的DI
19、SRTO位可使此功能无效。DISRTO默认状态后,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部的程序存储器时,锁存低8 位地址输出脉冲。在flash编程时,此引脚(PROG)也用于编程输入脉冲。当在一般情况下时,ALE 以晶振六分之一固定频率输出脉冲,可用来作为时钟或外部定时器使用。然而,特别声明,在每次访问外部数据存储器时,ALE脉冲会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVC或MOVX指令时有效。否则,ALE 会被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)设置对微控制
20、器处于外部执行模式下无效。PSEN:外部程序存储器的选通信号(PSEN)是外部程序存储器选通信号, AT89S52从外部程序存储器执行外部的代码时,PSEN在每个机器周期被激活两次,在访问外部数据存储器时,PSEN将不能被激活。EA/VPP:访问外部程序存储器控制信号。为了使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应接VCC。在flash编程期间,EA也接收到12伏VPP电压。XTAL1:振荡器反相放大器与内部时钟发生电路的输入端。XTAL2:振荡器反相放大器输出端。2.2 显示电路的设计2.2.1 显示电路选择方案一:数码管显示 LE
21、D数码管有动态和静态两种显示,使用数码管的动态显示成本较低,硬件部分结构简单明了,容易理解且使用方便。但是数据显示是需要进行动态扫描显示,这样会占用大量的单片机运行周期,显示位数比较多的时候,CPU需要逐一进行扫描,占用CPU很多的时间。数码管静态显示不需要占用单片机的系统内部资源,数码管只需要很小的电流可以获得很高的亮度,编程简单,占用CPU时间少,占用单片机的外部I/O口较少。但是占用系统的口线较多,硬件电路较复杂,且成本很高。所以适用于显示数码管个数少的设计。方案二:液晶显示器显示 液晶显示器简称LCD,由于具有体积小、超薄型、功耗低、显示高品质等特点。很广泛的应分为应用于便携式电子产品
22、中。我们现在使用的LCD是由LCD面板和驱动与控制电路组合而成,也称为液晶显示模块。LCD的种类很多,通常用的有字符型与点阵型。字符型的LCD只显示数字、字母与常用符号,而点阵型LCD不仅显示字符,还可以显示汉字及各种图形信息等。对于我们的设计需要显示字符所以只需要使用字符型的LCD1602便可以,其主要特性:具有字符发生器ROM还可以显示两行总32个字符或者数字,同时能够用字符标识显示的信息,具有80B的数据显示存储器,芯片的工作电压5V。字符型的LCD1602使用简单,方便,稳定性好,并带有液晶背光,更适用于夜间使用,且背光可控,可以通过光敏器件调节其亮灭,在与单片机通信是采用并口的方式,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 节水 灌溉系统 设计 实现 毕业设计 23
限制150内