毕业设计之基于单片机的温室大棚自动控制系统_第1页
毕业设计之基于单片机的温室大棚自动控制系统_第2页
毕业设计之基于单片机的温室大棚自动控制系统_第3页
毕业设计之基于单片机的温室大棚自动控制系统_第4页
毕业设计之基于单片机的温室大棚自动控制系统_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、郑州航空工业管理学院毕 业 论 文(设 计) 2012 届 电气工程及其自动化 专业 1006972 班级题 目 基于单片机的大棚温湿度亮度自动控制系统设计 姓 名 李明杰 学号 100697216 指导教师 苏艳苹 职称 讲师 二一 二 年 五 月 二十 日内 容 摘 要温室是现代农业生产所必需的基本设备,用它有效地控制温度、光照、湿度、二氧化碳浓度等是改变植物生长环境、为植物生长创造最佳条件、避免外界四季变化和恶劣气候对其影响的前提。本设计以STC89C52单片机为核心完成了对空气温度、土壤湿度、光照度进行数据的采集、处理、显示等系统的基本框图、工作原理和继电器控制的设计的工作。主要内容有

2、:(1)通过数字温度传感器DS18B20采集实时温度。(2)通过湿度传感器HS1101采集实时湿度。(3)通过光敏电阻采集实时光照度。(4)判断采集到的参数值与设置值是否一致,并进行继电器控制。通过以上设计可以对植物生长过程中的土壤湿度、环境温度、光照度进行了实时地、连续地检测、直观地显示并进行自动地控制。克服了传统的人工测量方法不能进行连续测量的弊端,节省了工作量,并避免了人为的疏漏或错误造成的不必要的损失。关键词单片机;湿敏传感器;数字温度传感器;光敏电阻;继电器控制Design of SCM-based Temperature and Humidity and Light Illumin

3、ation Automatic Control System for Greenhouse100697216 Li Mingjie Teacher: Su YanpingAbstractGreenhouse is the basic equipment necessary for the production of modern agriculture, Use it can effectively control the temperature, humidity and illumination of the greenhouse, and

4、 it is the premise of changed for plant growth to create the best conditions, avoid changing seasons and severe weather outside of its impact.The thesis mainly focus on: the base block diagram, working principle and the design of relay control which use the SCM STC89C52 as the core of the system to

5、collect, handle, display the data of the air temperature, soil humidity and light illuminance . The main contents: (1) collected real-time temperature by digital temperature sensor DS18B20. (2) collected real-time humidity by humidity sensor HS1101. (3) collected real-time light illumination by

6、 photoresistor. (4) judge the collected parameter values and the setting values whether same or not, and control the relay.The system use Real-time and continuous detection, display intuitively and control automatically on soil moisture, ambient temperature, light illuminance in the process of plant

7、 growth. The system can overcome the defects from the traditional manual methods of measurement which can not measure continuously, and save the amount of work, avoid omissions or unnecessary losses that caused by errors.【Key words】 SCM;humidity sensors;digital temperature sensors;light dependent re

8、sistor; relay control目 录第一章 概述11.1 选题背景11.2 国内外的发展现状21.3 课题内容、目的及思路21.4 设计过程及工艺要求2第二章 系统的总体设计32.1系统设计目标32.2 系统的组成和工作原理32.3 环境参数检测方案的比较和选择82.3.1 湿度传感器的选择82.3.2 温度传感器的选择102.3.3 光亮度传感器的选择112.3.4 方案选择总结12第三章 硬件的设计123.1 MCU选型123.2 湿度测量电路133.3 温度测量电路153.4 光照度测量电路173.5 数据显示电路193.6 复位电路223.7 键盘电路233.8 继电器控制

9、电路233.9 电源电路24第四章 软件设计254.1 主程序流程图254.2 参数测量子程序流程图264.3 键盘扫描子程序流程27总结致谢28参考文献29附录1 系统总体电路图30附录2 系统源代码31基于单片机的大棚温湿度亮度自动控制系统设计 学号:100697216姓名:李明杰指导老师:苏艳苹职称:讲师第一章 概述1.1 选题背景现代化农业生产中的重要一环就是对农业生产环境的一些重要参数进行检测和控制。例如:空气的温度、湿度、光照强度、二氧化碳含量、土壤的含水量等。温室环境与生物的生长、发育、能量交换密切相关,进行环境测控是实现温室生产管理自动化、科学化的基本保证,通过对监测数据的分析

10、,结合作物生长发育规律,控制环境条件,使作物达到优质、高产、高效的栽培目的。以蔬菜大棚为代表的现代农业设施在现代化农业生产中发挥着巨大的作用,所以对大棚内的温度、湿度与光照强度等参数的控制就显的非常重要了。传统的方法是用毛发湿度表、酒精温度计等进行人工测量,再对不符合的温度、湿度、光照度通过在温室大棚进行灌溉、降温、遮光等控制操来调节,这种人工测控的方法费时费力、效率低、且无法保证测量的连续性,测量的误差大、随机性大,随意性强。为了克服以上几点不足,我们需要一种造价低廉,使用方便且测量准确的自动测控系统。1.2 国内外的发展现状国外的温室设施己经发展到比较完备的程度,并形成了一定的标准,但是价

11、格非常昂贵,缺乏与我国气候特点相适应的测控软件,不利于在我国广泛地推广,而当今在我国大多数地方对大棚温度、湿度、二氧化碳含量,光照强度的检测与控制都采用人工管理,存在着测控精度低、劳动强度大及由于测控不及时等弊端,容易造成不可弥补的损失,结果不但大大增加了成本,浪费了人力资源,而且很难达到预期的效果。本系统主要针对温室大棚内温度、湿度,光照强度研制了单片机控制的温室大棚自动控制系统,综合考虑系统的精度、效率以及经济性要求三个方面因素之后,最终确定以单片机为控制核心,选用性价比比较高的传感器,实现对温湿度的精确测量与准确控制,同时又具有价格低等优点,便于在我国推广。1.3 课题内容、目的及思路本

12、系统主要采用单片机作为系统的控制核心,由温室内的空气温度传感器、土壤湿度传感器、光照度传感器采集数据,经过模数转换后送入单片机,由单片机根据采集的数据做出相应的控制,例如控制继电器的开合,使换气风扇、滴灌设备、遮阳幕等设备的启动或停止,达到控制温室各项参数的目的。同时在外接的LCD液晶上显示实时参数 ,便于观察。外接的键盘可以设定系统控制的温度值,以满足不同条件下对温度的不同要求。 1.4 设计过程及工艺要求 在本系统中为了保证对温度、湿度和光照度的检测的实时性和准确性,采用了数字温度传感器来检测温度。采用湿度传感器来检测土壤湿度。采用光敏电阻检测光照度。最后通过单片机处理后显示在LCD液晶显

13、示屏上,并通过控制继电器的开合控制相应的调节部件对植物的生长环境的各项参数进行调节,以达到适合植物生长的环境条件。 本系统的基本功能有:检测空气温度、土壤湿度、环境光照度。显示以上各项参数并自动调节。第二章 系统的总体设计2.1系统设计目标本设计的要求是以单片机为控制核心,以湿度传感器、温度传感器、光敏电阻完成对温室大棚内的各项参数进行测量,并将数据输入到单片机中,有单片机根据所编写的程序,通过继电器控制电路控制相应的设备达到自动调控温室大棚内各项参数的目的,同时将通过各种传感器测的数据实时地显示在液晶屏上。系统可通过按键人为地设定合适的参数,便于根据不同的植被的环境中使用。2.2 系统的组成

14、和工作原理硬件系统主要有信号采集、信号分析、信号处理三个部分组成。(1) 信号采集 由湿度传感器、温度传感器、光敏电阻组成。(2) 信号分析 由单片机基本系统组成。(3) 信号处理 由并行口LCD液晶显示屏和继电器控制电路组成。LCD显示屏键盘单片机控制电路A/D转换器执行部件温度传感器湿度传感器光照度传感器温室大棚滴灌设备排气扇及喷雾遮阳幕硬件系统的原理方框图如图2-1:图2-1 硬件系统的原理图单片机通过湿度传感器检测土壤的湿度,若土壤的湿度过低,单片机就打开滴灌设备的电磁阀一分钟,对作物进行滴灌作业,增加土壤湿度,经过一段时间,单片机再次检测土壤湿度,如果湿度过高,就关闭滴灌设备的电磁阀

15、,停止滴灌作业。如果开始检测的土壤湿度在适宜的范围,单片机则维持现有状态不变。滴灌设备继电器断开YNNYYN开始湿度是否在设定的适宜范围内?湿度是否高于设定的适宜范围上限?湿度是否低于设定的适宜范围下限?结束滴灌设备继电器吸合一分钟滴灌设备开始工作滴灌设备停止工作土壤湿度控制部分流程如图2-2:图2-2 土壤湿度控制流程图单片机通过温度传感器检测温室的空气温度,当空气温度过高时,就通过控制电路,打开排气扇配合设置在温室大棚顶部的喷雾设备的进行一段时间的温室大棚的降温作业,而当温室温度过低时,则通过单片机自动关闭降温设备的工作,使温度值达到适宜的范围。 若一开始检测的光照度在适宜范围,单片机将维

16、持现有状态。空气温度控制流程如下图2-3:排风扇及喷雾设备继电器吸合YNNYYN开始温度是否在设定的适宜范围内?温度是否高于设定的适宜范围上限?温度是否低于设定的适宜范围下限?结束排风扇及喷雾设备继电器断开排风扇及喷雾设备停止工作排风扇及喷雾设备开始工作图2-3 空气温度控制流程图光照度的控制主要靠遮阳幕的开关,光照度过高时,系统通过关闭大棚顶部的遮阳幕,避免阳光直射作物,减小光照度,及减少强光对作物生长的影响。当光照度过低时,就打开遮阳幕,增加光照度。如果检测的光照度在适宜范围,单片机将维持现状。遮阳幕继电器吸合YNNYYN开始光照度是否在设定的适宜范围内?光照度是否高于设定的适宜范围上限?

17、光照度是否低于设定的适宜范围下限?结束遮阳幕继电器断开遮阳幕打开遮阳幕关闭光照度控制部分流程如下图2-4:图2-4 光照度控制流程图2.3 环境参数检测方案的比较和选择2.3.1 湿度传感器的选择单片机作为控制核心,要有被检测信号输入,由单片机处理。如何准确的确定外围环境的各项参数就显的非常重要。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始信号进行准确可靠的捕捉和转换,系统就无法实现要求的各项功能。工业生产过程中的自动化的测量和控制,大部分主要依靠各种传感器来检测和控制生产过程中的各项参量,使系统工作在最佳的状态下。测量土壤湿度的方法有很多种,其原理是根据某种物

18、质从其周围的土壤中吸收水分后引起的物理或化学的性质的变化,间接的获得土壤的湿度。电容式、电阻式和湿涨式湿敏元件分别是根据其高分子材料吸水后的介电常数、电阻率和体积发生的变化进行湿度的测量。方案一:采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ1KHZ,测量范围为0%100%RH,工作温度为050,阻抗在75%RH(25)时为1M。这种传感器主要用于开关的传感器,不能在宽频域内检测湿度。这种传感器只限于一定范围内使用时具有良好的线性度。方案二:采用HS1100/HS11013湿度传感器。HS1100/HS1101湿度传感器,在

19、电路结构上等效于一个电容器,其电容量随着土壤湿度的增大而增大,不需要校准的完全互换性,高可靠性和长期稳定性,快速响应,专利设计的固态聚合物结构由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路。综合比较方案一和方案二,方案一虽然满足精度和测量温度的要求,但是只是限定于一定的范围内使用时具有良好的线性度。因此,我们选择方案二作为本设计的湿度传感器。湿度传感器HS1101的特点:相对湿度在1%100%RH范围内:电容量有16pf变到200pf,其误差不大于RH,响应时间小于5S,温度系数为0.04pf/。由此可以看出HS1101具有测量精度高,反

20、应速度高的优点,其湿度电容响应曲线如图2-5:图2-5 HS1101湿度电容响应曲线HS1101的一些常用参数如表2-1:表2-1 HS1101常用参数参数符号参数值单位工作温度Ta-40100储存温度Tstg-40125供电电压Vs10Vac湿度范围RH0100%RH焊接时间=260t10S 2.3.2 温度传感器的选择方案一:采用AD590温度传感器。AD590温度传感器是美国模拟器件公司生产的单片集成两端感温电流源。AD590性能描述:测量范围在-50- +150,满刻度范围误差为±0.3,当电源电压在510V之间,稳定度为1时,误差只有±0.01 。AD590为电流

21、型传感器温度每变化1其电流变化1uA在35和95时输出电流分别为308.2uA 和368.2uA 。方案二:采用DS18B20温度传感器。美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与CPU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上可以挂接多个DS18B20,便于多点测量且易于扩展。综合比较方案一和方案二,两方案都可以满足设计所要求的精度温度要求,但方案一的后续电路复杂,需要

22、经过放大,数模转换等步骤,增加了设计的复杂度和成本,并需要占用单片机较多的I/O口。方案二的后续电路简单,占用的I/O口数量少,为整体设计留出了足够的I/O口资源。故我们采用方案二作为本系统的温度传感器。DS18B20的温度值格式如表2-2:表2-2 DS18B20的温度值格式位7位6位5位4位3位2位1位0低字节232221202-12-22-32-4位15位14位13位12位11位10位9位8高字节SSSSS262524DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中S为符号位。例如125的数字输出为07D0H (正温度直接把16进制数转成10进制即得到

23、温度值 );-55的数字输出为 FC90H。(负温度 把得到的16进制数 取反后1再转成10进制数)。数字输出格式如表2-3:表2-3 DS18B20的数字输出格式表温度数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000FF

24、F8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h2.3.3 光亮度传感器的选择方案一:采用光照度传感器M124749,该光照度传感器采用先进的电路模块技术开发变送器,用于实现对环境光照度的测量,输出标准的电压及电流信号,体积小,安装方便,线性度好,传输距离长,抗干扰能力强,量程可调。但价格昂贵,性价比不高,且不易购买。方案二:采用光敏电阻。光敏电阻的工作原理是当有光线照射时,电阻内原本处于稳定状态的电子受到激发,成为自由电子,所以光线越强,产生的自由电子也就

25、越多,电阻就会越小。光敏电阻的优点有内部的光电效应和电极无关(光电二极管才有关),即可以使用直流电源。灵敏度和半导体材料、以及入射光的波长有关,价格低廉,性价比高。比较以上两个方案,方案一虽然具有更好的设计精度和线性度,但性价比不如光敏电阻好。方案二具有较高的性价比且同时也能满足系统的设计要求,故采用光敏电阻作为光照度传感器。2.3.4 方案选择总结(1) 湿度传感器采用HS1101。(2) 温度传感器采用DS18B20。(3) 光亮度传感器采用光敏电阻。第三章 硬件的设计3.1 MCU选型STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在

26、单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,全双工串行口,最高运作频率35MHZ。 它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051兼容均为Pin-to-Pin,使用时容易掌握; 高速、低功耗、价格低、稳定可靠、应用广泛、通用性强,在系统/在应用可编程(

27、ISP,IAP),不占用户资源。STC89C52单片机管脚如图3-1:图3-1 STC89C52单片机管脚定义图3.2 湿度测量电路HS1101湿度传感器,在电路中等效于 一个电容器件,其电容量随着所测的土壤湿度增大而增大,如何将电容的变化量准确的转换成单片机易于接受的信号,常有两种方法:一是将该湿敏传感器置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再经过A/D转换成为数字信号;另一种是将该湿敏传感器置于555振荡电路中,将电容值的变化转化为与之成反比的电压频率信号,可直接被单片机所采集。本系统采用的是测量555输出的振荡的方法,电路如图3-2所示:图3-2 湿

28、度测量电路图此电路为典型的555双稳态电路。HS1101/HS1100作为电容变量接在555的TRIG与THRES两引脚上,引脚7用作电阻R9的短路。等量电容HS1101/HS1100通过R8与R9充电到门限电压(约0.67Vcc),通过R8放电到触发电平(约0.33Vcc),然后R9通过引脚7短路到地。传感器由不同的电阻R8与R9充放电。电压输出典型参数(VCC=5V,25)如表3-1表3-1 HS1101湿度传感器电压输出典型参数(VCC=5V,25)RH0102030405060708090100Vout-1.411.651.892.122.362.602.833.073.313.553

29、.3 温度测量电路因为在本系统中采用了DS18B20数字温度传感器,所以后续电路简单,只需将传感器的数据输入/输出管脚直接接到单片机I/O口,通过单片机的控制DS18B20传感器并实时读取空气温度。数字温度传感器的测量电路如图3-3所示:图3-3 温度测量电路图DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部

30、任何元器件即可实现测温。(4)测量温度范围在55oC到125oC之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。DS18B20的管脚图如图3-4所示:图3-4 DS18B20管脚及封装图GND:地信号DQ:数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。VDD:可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20的ROM指令如表3-2所示:表3-2 DS18B20的ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址) 符合 ROM55H发出此命令之后

31、,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。 跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令。适用于单片工作。 告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。 DS18B20的RAM指令如表3-3所示:表3-3 DS18B20的RAM指令表指 令约定代码功 能温度变换44H启动DS18B20进行温度转换,12位转换时

32、最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。 读暂存器0BEH读内部RAM中9字节的内容 写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。 重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第3 、4字节。 读供电方式0B4H读DS18B20的供电模式。寄生供电时DS18B20发送“ 0 ”,外接电源供电 DS18B20发送“ 1 ”。 3.4 光照度测量电路系统采用价格低廉的光敏电阻5测量光照度,因其没有良好的线性度,所以只能大致的

33、测量。根据光敏电阻在不同的光照下有不同的阻值,经过A/D转换后输入到单片机内进行处理。其与ADC080410的连接电路如图3-5:图3-5 ADC0804与单片机的连接电路图ADC0804为8bit一路的A/D转换器,其输入电压范围在05v,转换速度小于100us,转换精度0.39,满足设计的精度要求。ADC0804管脚图如图3-6所示: 图3-6 ADC0804管脚定义图CS:Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。RD:Read。当CS 、RD 皆为低位准(low) 时,ADC0804 会将转换后的数字讯号经

34、由DB7 DB0 输出至其它处理单元。WR:启动转换的控制讯号。当CS 、WR 皆为低位准(low) 时ADC0804 做清除的动作,系统重置。当WR 由01且CS 0 时,ADC0804 会开始转换信号,此时INTR 设定为高位准(high)。CLK IN、CLKR:频率输入/输出。频率输入可连接处理单元的讯号频率范围为100 kHz 至800 kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLK R 及CLK IN 加上电阻及电容,则可产生ADC 工作所需的时序。INTR:中断请求。转换期间为高位准(high),等到转换完毕时INTR 会变为低位准(

35、low)告知其它的处理单元已转换完成,可读取数字数据。VIN(+)、VIN(-):差动模拟讯号的输入端。输入电压VINVIN(+)VIN(-),通常使用单端输入,而将VIN(-)接地。A GND:模拟电压的接地端。VREF2:模拟参考电压输入端。VREF 为模拟输入电压VIN 的上限值。若PIN9空接,则VIN 的上限值即为VCC。D GND:数字电压的接地端。DB7 DB0:转换后之数字数据输出端。Vcc:驱动电压输入端。3.5 数据显示电路 系统采用了LCD16028液晶显示屏,LCD1602液晶是一款很常用,也很易用的字符液晶。可以显示2行每行16个字符,对比度可调、黄绿色背光。与单片机

36、的链接电路如图3-7:图3-7 LCD1602与单片机的连接电路图16028液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。LCD1602的管脚定义图如图3-8所示:图3-8 LCD1602管脚定义图VSS:为电源地 VDD:接5V电源正极 V0:为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比

37、度)。 RS:为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 RW:为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 E:(或EN)端为使能(enable)端。 D0D7:为8位双向数据端。 BLABLK:空脚或背灯电源。15脚背光正极,16脚背光负极。1602液晶模块内部的控制器共有11条控制指令,如表3-4所示:表3-4 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6

38、置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显

39、示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 ;C:控制光标的开与关,高电平表示有光标,低电平表示无光标; B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平

40、表示不忙。指令10:写数据。指令11:读数据。3.6 复位电路 为了确保系统中的电路温度可靠工作,复位电路是必不可少的部分 ,其第一功能就是高电平复位,高电平复位是在通电瞬间通过充电来实现的。手动复位是指通过接通一按键开关,使单片机进入复位状态。系统上电运行后,如果需要复位,只需通过手动复位就可以实现。本系统使用的复位电路如图3-9所示:图3-9 复位电路图3.7 键盘电路本设计采用的键盘扫面电路采用简单的低电平扫描方式,即采用开关的一端与单片机I/O口相连,另一端接地的方式,用单片机检测I/O口是否是低电平来判断键盘是否被按下。这样的方式可以方便键盘扫描部分的的编程。键盘电路如图3-10:图

41、3-10 键盘电路图3.8 继电器控制电路单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低。驱动电流在mA级以下。而要把它用于一些大功率场合,比如控制电动机,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动"。继电器驱动就是一个典型的、简单的功率驱动环节。在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口。本设计采用的继电器控制电路如图3-11:图3-11 继电器控制电

42、路图图中的三极管起开关的作用,当单片机输出高电平时,三极管导通,继电器吸合。单片机输出低电平时,继电器断开。二极管起保护作用,防止继电器产生的感应电动势烧坏三极管或继电器。3.9 电源电路由于STC89C51的工作电压为+5V,所以电源需要输出+5V稳定电压可以使单片机可以稳定正常的工作,稳压芯片选用7805,电源电路如图3-12所示:图3-12 电源电路图第四章 软件设计系统的程序设计包括以下几个方面:(1)键盘扫描。(2)各项参数的采集。(3)各项参数在液晶上的显示。(4)各项参数的继电器控制。4.1 主程序流程图启动继电器控制电路,调节参数NY各参数与设置比较,是否需要调节?各参数显示结

43、束开始初始化和位定义清标志清显示扫描键盘各参数采集主程序的流程如图4-1:图4-1 主程序流程图 当单片机上电后,主程序开始运行,程序以开始初始化各参数的设置和端口定义后,清各标志位和LCD1602的显示,然后进行键盘扫描,再利用各传感器进行数据的采集,将采集的数据和设置好的参数进行对比,如果对比结果显示需要调节,启动相应的继电器控制电路对温室中需要调节的参数进行调节并显示在LCD1602上,如果比较结果显示不需要调节,则不启动继电器控制电路,直接显示参数,然后对键盘进行循环扫描。4.2 参数测量子程序流程图YN开始声明变量与函数调用显示函数启动A/D完成转换?读取转换值结束参数测量子程序流程

44、如图4-2: 图4-2 参数测量子程序流程图子程序开始先声明变量和调用的函数后,调用显示函数,启动模数转换器ADC0804进行模数转换,转化如果未完成,单片机进行等待。当转换完成后,单片机读取转换后的数据,然后循环调用显示函数和进行模数转换。4.3 键盘扫描子程序流程键盘扫描子程序流程如图4-3:图4-3 键盘扫描流程图 键盘扫描子程序一开始先扫描按键,判断是否有按键被按下,确定有按键被按下时判断被按下的是哪个按键,如果是按键S1,系统将进入设置模式,这时按键S2和S3被启用,进入那个参数的设置取决于按键S1被按下的次数,S1被按下一次,进行温度值设置,S1被按下两次,进行湿度值设置,S1被按

45、下三次,进行光照度设置,当按下第四次,返回正常显示,按键S2和S3被禁用。按键S2和S3作用是调节参数值,每次按下S2,当前设置的参数值就加一。每次按下S3,当前设置的参数值就减一。S4是切换显示按键,当S4被按下,判断S4被按下的次数,一次是显示温度值,两次是显示湿度值,三次是显示光度值。总结致谢 通过对本系统的研究和设计,使我对单片机的使用有了更深一层次的理解和掌握,同时也很好的锻炼了自己Protel DXP 2004和仿真软件Proteus的使用技巧。整个系统设计过程用到的主要硬件有STC89C52,温度传感器DS18B20,湿度传感器HS1101,光照度传感器光敏电阻,数模转换器ADC

46、0804,555定时器。通过对这些硬件的学习和了解,不仅扩展了自己的知识面,也是自己对单片机的外围电路有了进一步的学习。设计过程中也锻炼了自己独立思考问题的能力,并增强了自己的动手操作能力,对自己将来的工作有很大的帮助。在此要感谢我得指导老师苏艳苹老师在设计过程中给予我得帮助,使我能更好的完成毕业设计。参考文献1 梅晓榕,柏桂珍,张卯瑞.自动控制元件及线路M.北京:科学出版社,20072 张义和,王敏男,许宏昌,余长春.例说51单片机(C语言版)M.北京:人民邮电出版社,2010,63 湿度传感器HS1101的原理与应用EB/OL.中国电子科技信息网.4 胡汉才.单片机原理与接口技术M.清华大

47、学出版社,1996.5 黄贤斌,郑筱霞.传感器原理与应用M.北京:高等教育出版社. 成都:电子科技大学出版社,2004,3(2009.1重印)6 何立民.单片机应用系统设计M.北京:北京航天航空出版社.1990,50-4907 刘笃仁,韩保君.传感器原理及应用技术M.机械工业出版社.2003,8 8 1985赵亮.液晶显示模块LCD1602应用J.电子制作,2007(3)9 王勇等.凌阳单片机原理及其毕业设计精选M.科学出版社10 童诗白.模拟电路基础M,北京:高等教育出版社,200111 马忠梅,籍顺心,张凯等.单片机的C语言应用程序设计M.北京航天航空大学出版社,200312 <美&

48、gt;M考夫曼,AH塞得.电子计算手册M.国防科技出版社.13 王毅.单片机器件应用手册M.北京:人民邮电出版社,1994附录1 系统总体电路图附录2 系统源代码 #include <reg52.h> #include<absacc.h>#include<intrins.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned int#define T_cont 0.0625;#define DataPort P0 /LCD接口#define ReadPort P2 /

49、AD读取uchar code temp="temp: "uchar code tempset="tempset: "uchar code hun="hun: "uchar code hunset="hunset: "uchar code inte="inte: "uchar code inteset="inteset: "uchar code set="step in set!"uchar tempset1,s1num,s4num,hunset1,hun1

50、,hun2,inteset1,inte1;bit T_sign;float temp1=0;uchar t_bai,t_shi,t_ge,t_feng,t_miao,sshi,sge, h_bai,h_shi,h_ge,hshi,hge, i_bai,i_shi,i_ge,ishi,ige;sbit s1=P10;sbit s2=P11;sbit s3=P12;sbit s4=P13;sbit relay1=P15;sbit relay2=P16;sbit relay3=P17;sbit cs1=P30;sbit lcdrs=P31;sbit DS=P32;sbit lcdrw=P33;sbi

51、t lcden=P34;sbit cs2=P35;sbit wr=P36;sbit rd=P37;/void delay(uint z) /延时函数uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void dsreset(void) /send reset and initialization command uint i; /DS18B20初始化 DS=0; i=103; while(i>0)i-; DS=1; i=4; while(i>0)i-;bit tmpreadbit(void) /read a bit 读一位 uint i; bit dat; DS=0;i+; /i+ for delay 小延时一下 DS=1;i+;i+; dat=DS; i=8; while(i>0)i-; return (dat);uchar tmpread(void) /read a byte date 读一个字节 uchar i,j,dat; dat=0; for(i=1;i<=8;i+) j=tmpreadbit(); dat=(j<<7)|(dat>>1); /读出的数据最低位在最前面,这样刚好/一个字节在DAT里 return(dat); /将一个字节数据返回void tm

温馨提示

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

评论

0/150

提交评论