收藏 分销(赏)

大棚温湿度自动控制新版系统标准设计优质毕业设计.doc

上传人:精*** 文档编号:2450959 上传时间:2024-05-30 格式:DOC 页数:63 大小:1.88MB
下载 相关 举报
大棚温湿度自动控制新版系统标准设计优质毕业设计.doc_第1页
第1页 / 共63页
大棚温湿度自动控制新版系统标准设计优质毕业设计.doc_第2页
第2页 / 共63页
大棚温湿度自动控制新版系统标准设计优质毕业设计.doc_第3页
第3页 / 共63页
大棚温湿度自动控制新版系统标准设计优质毕业设计.doc_第4页
第4页 / 共63页
大棚温湿度自动控制新版系统标准设计优质毕业设计.doc_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、大棚温湿度自动控制系统设计摘 要:本设计是基于STC89C52RC单片机大棚温湿度自动控制系统,采取SHT10作为温湿度传感器,LCD1602液晶屏进行显示。SHT10使用类似于I2C总线时序和单片机进行通信,因为它高度集成,已经包含A/D转换电路,所以使用方便,而且正确、耐用。LCD1602能够分两行显示数据,第一行显示温度,第二行显示湿度。这个控制系统能够测量温室大棚中温度和湿度,将其显示在液晶屏LCD1602上,同时将其和设定值进行对比,假如超出上下限,将进行报警并开启温湿度调整设备。另外,还能够经过独立式键盘对设定温湿度进行修改。经过设计系统原理图、用Proteus软件进行仿真,证实了

2、该系统可行性。关键词:STC89C52RC,SHT10,I2C总线,独立式键盘,温湿度自动控制Abstract: This design is an automatic temperature and humidity controller for greenhouses, with the STC89C52RC MCU being its main controller. It uses the SHT10 as the temperature and humidity sensor, and the LCD1602 to display the messages. The SHT10 us

3、es a timing sequence much like the I2C to communicate with the micro-controller. Because its a highly integrated chip, it already includes an analog to digital converter. Therefore, its quite convenient to use, and also accurate and durable. The LCD1602 can display two lines of messages, with the fi

4、rst line for temperature and the second line for humidity. The design can measure the temperature and humidity in a greenhouse, and then display it on a LCD1602. Meanwhile, it compares the data with the set limit. If the limit is exceeded, then the system will send out a warning using a buzzer and a

5、ctivate the temperature and humidity controlling equipment. Besides, the set limit can be modified with the independent keyboard. Through schematic design and Proteus simulation, the feasibility of this design has been proved.Keywords: STC89C52RC, SHT10, I2C bus, independent keyboard, temperature an

6、d humidity control目 录1 序言12 总体方案设计32.1 温湿度控制系统设计指标要求32.2 系统设计标准32.2.1 可靠性32.2.2 性价比32.3 方案比较42.3.1 方案一42.3.2 方案二42.4 方案论证52.5 方案选择53 单元模块设计63.1 各单元模块功效介绍及电路设计63.1.1 单片机最小系统63.1.2 液晶显示模块83.1.3 温湿度传感器模块83.1.4 报警电路设计93.1.5 输出电路设计103.1.6 电源设计123.1.7 按键电路设计133.1.8 串口通信电路143.2 元件清单153.3 关键器件介绍173.3.1 STC8

7、9C52RC173.3.2 SHT10温湿度传感器194 系统软件设计224.1 软件设计总体结构224.2 关键模块设计步骤框图244.2.1 主程序步骤图244.2.2 SHT10子程序步骤图254.2.3 LCD1602子程序步骤图274.2.4 输出控制子程序步骤图284.2.5 键盘扫描子程序步骤图294.3 软件设计所用工具314.3.1 Keil uVision4314.3.2 Proteus315 系统调试325.1 用Proteus搭建仿真总图325.2 用Keil对程序进行调试、编译336 结论366.1 系统功效366.2 系统指标参数366.3 系统功效分析367 总结

8、和体会388 致谢399 参考文件40附录1 系统电路原理图41附录2 系统仿真总图42附录3 系统实物照片43附录4 系统源程序44附录5 英文参考资料461 汉字翻译462 英文原文491 序言温室大棚作为一个高效农业生产方法,和传统农业生产方法相比含有很大优点。温室农业生产能够取得高产和优质蔬菜、花卉、瓜果,不仅可改变这些产品按自然季节供给模式,延长其供给期,而且可在不一样地方进行种植,达成所谓“地不分东西南北,食不分春夏秋冬”。温室农业能够改变传统农业劳动力冬闲夏忙安排,以小面积取得高产,减轻大面积土地压力。温室农业采取适时适量供水优化用水同时配以微灌和高湿环境,可达成农业用水高效高产

9、,按产品数量平均计算,节省水分量是很大。这种设施系统能够从简易到全自动控制,适宜多种情况下选择,尤其是对于日光温室、塑料大棚,相对投资较少。若能降低成本、采取经久耐用低成本采光材料,发展前景将更为宽广,即使在部分偏远地域农村、场所,也能够修建单个温室和塑料大棚,进行环境控制下蔬菜和瓜果生产,改变这些地域生活条件。要想实现温室大棚高效增产作用,对温湿度正确控制是极其关键。温室内空气湿度日改变受天气、加温及通风换气量影响,阴天或灌水后室内空气湿度几乎全部在90以上。晴天在黄昏关窗至次日早晨开窗前温室维持在高湿度。室内湿气遇冷后凝结成水滴附着在薄膜或玻璃内表面上,待到加温或日出后,室内温度上升,湿度

10、逐步下降,附着在屋顶上水滴随之消失。温湿度较大改变对农作物生长十分不利,研究结果表明,因为植物体内水分不足造成气孔关闭,首先妨碍了CO2交换,而使饱和作用显著下降,尤其是在缺水情况加剧时,给细胞原生质生化作用带来影响,光合作用显著下降。而温度在夜间下降过低也会影响光合作用效率。所以,很有必需使用一套温湿度控制系统,以维持温室大棚内温度、湿度在一个适宜范围,实现大棚内农作物水分、养分有效供给,提升光合作用效率,从而达成增产目标。传统温湿度控制是在温室大棚内部悬挂温、湿度计,经过读取温、湿度值进而了解实际温度和湿度,然后依据现检测温湿度和额定值进行比较,看温湿度是否超出限定值,然后进行对应通风或对

11、应洒水。这些操作全部是人工,花费了大量人力和物力。现在,伴随国家经济快速发展,农业产业规模深入提升,大棚中培育出农产品品种数量逐步增多,对于数量较多而又大型大棚,传统温湿度控制方法就出现了不足。这要求我们提升温湿度检测和控制技术,来满足对温室大棚建设需要。在本设计中,采取单片机来控制温湿度,不仅含有廉价、配置简单和灵活优势,而且能够大大提升所测温湿度技术指标,从而能够提升产品数量和质量。单片机因为它含有功效强、高可靠性、体积小、造价廉价和开发周期短这些优势,广泛用于自动化测量和控制现场设备,尤其是在日常生活中发挥日益关键作用。这次选择STC89C52RC作为主控制器,能够从按键电路输入设定温湿

12、度,经过温湿度传感器SHT10对温度、湿度信号进行采集,然后经过I2C总线和单片机通信,并将温湿度显示在液晶屏LCD1602上,单片机把它们和设定值进行对比后决定是否报警,并开启空调设备对温湿度进行调整。 2 总体方案设计2.1 温湿度控制系统设计指标要求本文要设计大棚温湿度自动控制系统,要能够立即、正确地对温室大棚内温度、湿度进行采集,将其显示在LCD1602液晶显示器上,然后和设定上下限值进行比较,假如超出限制则开启温度、湿度控制设备,并经过蜂鸣器报警,直到温湿度回到要求范围。另外,还要能够经过按键修改设定上下限。为了能够满足农业生产需要,此次设计要达成一下指标:(1)工作环境:温室大棚;

13、(2)温度测量误差:1;(3)测温范围:0+55;(4)湿度测量误差:5%RH;(5)测湿范围:0100%RH;(6)经过键盘电路修改上下限:有;(6)温湿度报警:有;2.2 系统设计标准2.2.1 可靠性可靠性是在设计过程中应该优先考虑一个原因,一个控制系统必需要能稳定、可靠地工作,才能投入到生产实践中去。假如系统可靠性不能达标,那么系统出现故障可能就会增大,造成很大损失。这种损失不仅包含经济上和信誉上损失,而且可能会对人身安全产生威胁。要提升控制系统可靠性,那么就要注意以下多个方面:选择元器件要有很高可靠性;因为供电电源很轻易产生干扰,所以应该对其采取抗干扰方法;对输入输出通道也一样,要采

14、取抗干扰方法;在对电路板设计时,要合理布线和接地;软硬件全部要进行滤波;系统要有自己诊疗功效等。2.2.2 性价比性价比也是一个系统设计中所要考虑关键原因。性价比高产品更轻易被消费者接收,不过设计过程中不能盲目地追求性价比,它应该建立在对产品性能要求基础上,首先要满足性能要求,然后再设法降低产品成本。2.3 方案比较2.3.1 方案一采取PLC作为主控制器。使用PLC最大优点在于PLC使用梯形图进行编程,编程语言形象直观,难度较低,所以开发周期短,便于扩展。而且PLC抗干扰能力强,工作稳定可靠,这一点已被长久工业控制实践所证实。继电器键盘输入加热器制冷器加湿器除湿器液晶显示 蜂鸣器报警温湿度传

15、感器 PLC温室大棚 图2.1 用PLC作为主控制器控制系统2.3.2 方案二使用单片机进行控制。采取STC89C52RC单片机作为主控制器,能够用C语言进行编程,因为它支持ISP在线编程,所以能够经过RS232串口将程序烧录到单片机中,很方便。温湿度传感器SHT10经过I2C总线和单片机连接。温湿度传感器 单片机加热器制冷器加湿器除湿器键盘输入 蜂鸣器报警继电器液晶显示温室大棚图2.2 用单片机作为主控制器控制系统2.4 方案论证从功效上看,两种控制器全部能满足要求。PLC在工业控制领域用得比较多,编程简单,而且抗干扰能力强。不过本系统是用于温室大棚,并没有其它大型工业设备干扰。单片机用C语

16、言编程,相对PLC梯形图要复杂得多,不过编程更为灵活,能够实现复杂功效。从价格方面上看,单片机就比PLC含有很大优势。一个单片机只要几块钱,而一个很通常PLC通常也要几百上千元。另外,中国是农业大国,伴随温室大棚越来越普及,农村对温湿度控制系统需求也会越来越旺盛,所以即使用单片机开发周期较长,不过一旦完成开发,后期生产步骤边际成本很小;而基于PLC控制系统受制于PLC高昂价格,价格难以降低。2.5 方案选择PLC和单片机全部能作为主控制器进行设计,不过在价格方面单片机含有巨大优势。总而言之,此次设计采取单片机作为主控制器。 3 单元模块设计3.1 各单元模块功效介绍及电路设计3.1.1 单片机

17、最小系统 图3.1 单片机最小系统单片机最小系统包含单片机、电源电路、时钟电路和复位电路。时钟电路用于产生单片机工作时候所必需时钟信号,单片机在时钟信号节拍下逐条地实施指令。单片机有两种时钟信号产生方法,一个是内部时钟方法,另一个是外部时钟方法。外部时钟方法是把已经有时钟信号从XTAL1或XTAL2送入单片,通常见于有多个单片机情况,所以本设计中时钟电路采取内部时钟方法,选择12M晶振和两个30pF电容和片内高增益反相放大器组成一个自激振荡器。电源电路后面模块中会单独提到,用5V直流电源。下面着重叙述一下复位电路。图3.2 上电+手动复位电路单片机复位关键有上电复位和手动复位,之所以要进行复位

18、,目标就是为了让单片机进入初始状态,比如让PC指向0000H,这么单片机才能从头运行程序。所以上电时候就要让单片机复位一次;在运行过程中,假如程序犯错,也需要进行手动复位。 本设计中复位电路就是上电+手动复位电路,复位时要让STC89C52RCRST引脚得到2个机器周期以上高电平。先说说上电复位工作原理,当单片机上电时,电源+5VVcc经过10K电阻对10uF电容进行充电。刚上电时,有较大电流从Vcc经电容、电阻流向GND,因为电容两端电压不可突变,所以仍然为0V,于是电阻两端分得5V电压,即RST引脚此时电势为5V。伴随充电继续进行,电流会逐步减小,电阻两端电压UR=IR也逐步减小,即RST

19、引脚电势逐步减小。过了一定时间,RST引脚两端电压下降到不再是高电平,只要这个充电时间大于单片机两个机器周期,就能使单片机复位。程序运行过程中假如跑飞了、程序运行犯错或操作错误使系统处于死锁状态时,就需要用到手动复位。手动复位就是在上电复位电路电容两边并联一个微动开关,需要手动复位时将其按下,使之接通,RST取得高电平,而且人按动按钮时间肯定是超出两个机器周期,于是单片机复位。3.1.2 液晶显示模块测量到温湿度值将显示到液晶屏LCD1602上,它能够显示2行,每行16个字符。LCD1602共有三个存放器,它们是CGROM、CGRAM和DDRAM。CGROM用来保留LCD1602内部固化部分字

20、符字模,比如英文26个字母大小写;CGRAM用来保留用户自己取字模,比如,假如要显示汉字,就必需自己去汉字字模,在这里我们全部用英语字母,故不用CGRAM;DDRAM用来存放要显示字符字模,它和屏幕上位置是对应,第一行为00H到0FH,第二行为40H到4FH。在这里需要注意是,在向LCD1602写入显示数据存放器地址时,依据控制指令格式,最高位D7为1,所以写入数据为,第一行80H到8FH,第二行C0H到CFH。它和单片机接口电路以下图所表示: 图3.3 LCD1602和单片机接口电路 3.1.3 温湿度传感器模块温湿度传感器选择瑞士Sensirion企业生产SHT10。SHT1X系列共有三个

21、型号:SHT10、SHT11、SHT15,她们全部是SMD贴片封装,她们依次性能越来越好,其中SHT10属于经济型温湿度传感器。三者温湿度性能以下图所表示。图3.4 SHT1X系列各型号传感器湿度、温度最大误差从曲线中能够看出,不管是湿度还是温度,SHT10误差全部是最大,SHT15误差最小,不过它们价格也相差很大,SHT10多为二三十元一个,而SHT15价格上百。所以,从满足大棚温湿度监测要求来看,SHT10已经足够,故选择SHT10。SHT10和单片机接口电路以下所表示:图3.5 SHT10和单片机接口电路SHT10采取类似于I2C两线制串行总线,一根是时钟线,一根是数据线。数据线要经过一

22、个上拉电阻接到VCC,目标是避免信号冲突,使单片机引脚只提供低电平,要得到高电平则使该引脚悬空,由上拉电阻提供高电平。3.1.4 报警电路设计当大棚内温湿度超出上下限时,除了需要开启温湿度调整器之外,还需要进行报警,这里用到是蜂鸣器。蜂鸣器为一个采取一体化结构电子器件, 采取了直流电压来供电,广泛应用到了计算机、报警器、复印机、电子玩具、电话机、汽车电子设备、定时器等电子产品之中用作发声器。蜂鸣器分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器因为内部集成了振荡源,所以使用直流电压就能够驱动它鸣叫;无源蜂鸣器内部没有振荡源,所以通常使用2K5K方波来驱动。本设计中使用是有源蜂鸣器,在它两端加载5V直流电

23、压就能够使之鸣叫。报警电路设计以下图: 图3.6 报警电路图蜂鸣器工作电流通常为10mA,而单片机I/O口只能承受几毫安电流,所以需要加三极管进行驱动。如上图所表示,单片机I/O口中P1.6接PNP型三极管基极,当P1.6为低电平时,三极管导通,5V电压加载到蜂鸣器两端,于是蜂鸣器鸣叫;当P1.6高电平时,三极管截至,蜂鸣器不鸣叫。3.1.5 输出电路设计当温湿度超出限定值后,单片机将输出控制信号,开启加热、制冷、加湿、除湿设备。弱电控制强电,首先要用到继电器来控制这些大功率设备,而且为了深入加强弱电和强电电气隔离,降低强电设备对单片机控制系统干扰,需要在前一级加光耦进行隔离。光耦驱动能力有限

24、,通常电流只能达成30mA左右,不足以驱动继电器,所以再加一个三极管放大电流。原理图3.7所表示:图3.7 控制电路输出电路有四组,每一组由一个光耦、一个三极管、一个继电器组成。这四组输出电路分别控制加湿、除湿、加热、制冷设备。光耦选择TLP521-4,它是Toshiba企业生产四路光耦,由单片机直接驱动。51单片机P0口所能承受灌电流最大,能够达成26mA。输出系统中继电器最多同时有两个工作,控制温度一个,控制湿度一个。假如设置光耦发光二极管电流为10mA,那么两个发光二极管同时导通时单片机灌电流为20mA,小于26mA,符合要求。所以把P0口引脚接到光耦TLP521-4输入测发光二极管阴极

25、。继电器选择5V,驱动继电器需要大约100mA电流,也就是说驱动继电器三极管集电极电流为Ic=100mA。三极管选择直流放大系数为1009013,依据Ic=Ib,可计算得三极管基极电流Ib=1mA,而Vbe=0.7V,又因为光耦中光电三极管集电极、发射极饱和压降Vces=0.3V,所以基极限流电阻上压降为(5-Vces-Vbe)=4V,4V/0.001A=4K,因为没有标称值为4K电阻,所以选择4.7K。还应该注意到一点是,光耦有一个参数叫电流传输比(CTR),CTR=Io/IF,及输出端电流最大值比上输入端电流,表现了光耦输出电流能力。假如输入端电流为20mA,电流传输比为50%话,那么输入

26、端电流Io最大只能为10mA。在这里,TLP521-4电流传输比为50%,输出端我们刚才算出电流Io=Ib=1mA,所以输入端电流IF最小为2mA,因为电流很小时光耦处于死区,所以要选大点,这里选择IF=10mA。于是,光耦输入端阳极上限流电阻为R=(5V-0.7V)/0.01A=430,这里选择标称值为470电阻。另外,这里用继电器是一般电磁继电器。经过对电磁继电器和固态继电器进行比较,即使固态继电器含有没有触电、动作速度快、使用寿命长等特点,不过本设计中继电器只在温湿度超出限定值时才动作,动作频率低,而且固态继电器价格比电磁继电器高得多,所以综合考虑选择电磁继电器SRD一05VDC一SL-

27、C。3.1.6 电源设计图3.8 电源电路电源电路是整个系统中很关键一部分,本设计中关键用到直流5V电源。要得到5V直流电源,要经过降压、整流、滤波、稳压四个步骤。因为最终稳压步骤,LM7805要得到5V直流输出,输入和输出要有一定压差,依据LM7805数据手册,需要有10V输入,所以在降压步骤把220V电压降为10V。然后用桥式整流电路把交流电整流为直流电,此时直流电只是方向不变,但仍按正弦方法改变,是脉动直流电。所以需要滤波电路将纹波滤掉。C8和C2全部用来滤波,不过作用是不一样。C8是大电容,用电解电容,它作用是低频滤波,经过充电放电,从而削峰填谷,使电压脉动成份降低,电压基础保持稳定。

28、而C2是小电容,所以对于高频信号容抗很小,相当于短路,从而滤掉高频信号。需要注意是,470uF大电容能够滤低频,为何不能滤高频,还要单独加一个0.33uF小电容来滤高频?从理论上来说大电容应该高频、低频全部能够,不过因为制造工艺原因,电解电容容值做得很大时,它就不再是一个单纯电容了,它等效于一个电容串联一个电感。在频率较低时,电感L=jwl较小,能够忽略不计,不过当频率很高时,感抗就很大,相当于断路,所以此时这个470uF大电容不能滤掉高频信号,必需单独加一个小电容。小电容容值小,所以就不存在感抗问题。滤波完以后,电压脉动成份已经下降了很多,不过仍有起伏,所以最终还需加上一个三端集成稳压器,这

29、里选择LM7805,它能将电压稳定在5V。并联在LM7805两端二极管起保护作用,避免在短路等情况下LM7805输出端电压比输入端高,从而烧坏LM7805。三端集成稳压器后面又接了一大一小两个电容,再次进行滤波,使电压更稳定。3.1.7 按键电路设计 图3.9 按键电路图键盘分为编码式和非编码式键盘。其中,非编码式键盘又包含矩阵式键盘和独立式键盘。矩阵式键盘较为复杂,通常见于按键数目较多,而单片机可用I/O口又比较有限时。本控制系统中只需要用到5个按键,数目较少,而且可用I/O口充足,故采取独立式键盘,一个按键对应一个单片机I/O口管脚。本设计中总共用到5个按键式开关,她们用来改变设定温湿度上

30、下限数值。从S0到S4,分别控制进入温度上下限设置、进入湿度上下限设置、数值加、数值减、确定并退出。本设计中键盘是低电平有效。未按键时,上拉电阻确保了单片机I/O口是确定高电平;当某个键按下时,I/O口变为低电平。3.1.8 串口通信电路串口通信可分为同时通信和异步通信,在单片机应用系统中,关键是采取异步串行通信。在设计通信接口时,应该采取标准接口,这么才能够方便而又正确把单片机和外设有机连接起来,从而能形成一个测控系统,现在异步串口通信标准有RS一232、RS一422、RS一485标准。其中,RS一232是PC机和通信工业中使用最早一个串行接口标准。在短距离、较低波特率串行通信中得到了广泛应

31、用。要让单片机和PC机经过串口进行通信,需要进行电平转换,因为尽管单片机有串行通信功效,但单片机提供TTL电平和RS232电平不一样。TTL电平中,电压小于0.8V为低电平,高于2.4V为高电平;而RS232电平是负逻辑电平,电压在-3V-15V时为高电平,电压在3V15V时为低电平,所以要经过MAX232这种电平转换芯片进行转换。MAX232是MAXIM企业专为RS-232标准串口设计单电源电平转换芯片,使用+5V电源供电。适适用于终端设备和数据通信设备间接口,对于双向通信,只需要使用串行输入RXD(引脚2),串行输出TXD(引脚3)和地线GND(引脚5)。其电路连接图3.10所表示;图3.

32、10 串口通信电路MAX232芯片内部有一个电源电压变换器,能够把输入+5V电压变换为RS232输出电平所需+10V 电压,采取此芯片接口串行通信系统值需要接+5V电压即可。MAX232芯片中有两组电平转换引脚,我们这里只需使用其中一组。打头字母“T”表示TTL电平,“R”表示RS232电平。R1IN和R2IN表示输入RS232电平,所以和电脑串口相连;T1IN和T2IN表示输入TTL电平,所以和单片机相连。所以,引脚T1IN、T2IN、R1OUT、R2OUT为接TTLCMOS电平引脚,引脚T1OUT、T2OUT、R1IN、R2IN为接RS232电平引脚。MAX232芯片专门为电脑RS-232

33、标准串口设计接口电路,使用+5v单电源供电。MAX232就是用来进行电平转换,该器件包含2驱动器、2接收器和一个电压发生器电路提供EIA/TIA-232-E电平。能够分别接单片机串行通信口。MAX232是一个双组驱动器/接收器,片内含有一个电容性电压发生器方便在单5V电源供电时提供EIA/TIA-232-E电平。 3.2 元件清单此次设计需要用到元器件以下表所表示:表3.1 所需元件列表元件型号个数单片机STC89C52RC1显示器LCD16021温湿度传感器SHT101芯片底座DIP401光耦TLP521-41排针10针10杜邦线20二极管1N40074三极管90121三极管90134电阻1

34、0K2电阻4.7K9电阻1K1电阻4704电位器15K1瓷片电容1uF5瓷片电容0.1uF1点解电容10uF1瓷片电容30pF2电平转换芯片MAX2321串口母头DB91电平转换芯片MAX2321USB母座1晶振12MHz1自锁开关6*6*51按键开关6*6*56蜂鸣器1继电器SRD一05VDC一SL-C43.3 关键器件介绍3.3.1 STC89C52RCSTC89C52RC单片机是宏晶科技推出新一代高速/低功耗/超强抗干扰单片机,指令代码完全兼容传统8051单片机12时钟/机器周期和6时钟/机器周期能够任意选择。 STC89C52RC关键性能参数(1)增强型8051单片机,6时钟/机器周期

35、和12时钟/机器周期能够任意选择,指令代码和传统8051单片机是兼容。(2)通用I/O口(32个):P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。 (3)ISP(在线编程)/IAP(在应用可编程):可经过串口下载程序,不需要使用专门下载器,很方便快捷。(4)内含8KB程序存放器,1000次写擦写周期;(5)内含512字节RAM;(6)32个可编程I/O口线;(7)3个16位定时器/计数器,即定时器 T0、T1、T2(8)6个中止源、5个中止矢量、2级优先权中止结构;(9)含有一个全双工UART串行通道;(10)掉电模

36、式和低功耗空闲; STC89C52RC关键引脚功效STC89C52RC管脚排列图2一2所表示:图3.11 STC89C52RC引脚图P0口(P0.0P0.7):P0端口(P0.0P0.7,3932 引脚):P0口是一个漏极开路8位双向I/O 口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入每个引脚能驱动写入“1”时,能够作为高阻抗输入。在访问外部程序和数据存放器时 在访问外部程序和数据存放器时,P0口也能够提供低8位地址和8位数据复用总线位数据复用总线。在进行程序校验时候,输出指令字节;而在Flash ROM 编程时,接收指令字节。P1口(P1.0P1.7): P1端口(P1.0

37、P1.7,18 引脚):P1口是一个8位双向I/O口,内部已经自带有一个几十K上拉电阻。对端口写入“1”时,该引脚被悬空,由内部上拉电阻把引脚拉到高电平,这时候能够作为输入口使用,此时,因为内部自带上拉电阻,所以被外部器件拉低电压引脚会输出一个电流。P1输出缓冲器可驱动4个TTL逻辑门。P2 口(P2.0P2.7):P2和P1一样,是一个8 位双向I/O口,内部自带上拉电阻。端口进行写“1”时,该管脚被悬空,由内部自带上拉电阻将电平拉到高电平。当它被看成输入口使用时,因为内部自带上拉电阻,该引脚在被外部元器件拉低电平时侯会有电流输出。在对程序存放器(ROM)或16位外部数据存放器进行读写时,P

38、2口会送出一个高8位地址数据。在进行访问8 位地址外部数据存放器时侯,P口线上内容(也即特殊功效寄存器(SFR)区中P2寄存器内容),在整个访问期间不改变。它输出缓冲级能够驱动4个TTL逻辑门P3口(P3.0P3.7):P3口,和P1、P2一样,是一个8 位双向I/0 口,内部自带弱上拉。对P3口进行写入“l”时,被内部上拉电阻拉高且能够作为一个输入端口。作输入端口时,被外部元器件拉低电平P3口将经过上拉电阻提供电流。P3口除了作为一个通常I/0口线外,它第二功效有更关键用途。P3口输出缓冲级可用来驱动4个TTL逻辑门。RST:复位输入端。在震荡期稳定有效运行情况下,RST端维持两个机器周期高

39、电平,便可复位器件。PSEN:外部程序存放器选通信号。低电平有效,在片外程序存放器取指期间,当PSEN有效时,程序存放器内容将会被送至P0口,在访问外部RAM时,PSEN无效。EAVPP:当EA保持低电平时,则在此期间外部存放器(0000HFFFH),不管是否有内部程序存放器。VCC:电源电压。XTALI:单芯片系统时钟反向放大器输入端。使用外部振荡器时,连接外部石英晶体和微调电容。XTAL2:系统时钟反向放大器输出端。当使用片内振荡器时,外部接石英晶体和微调电容。3.3.2 SHT10温湿度传感器SHT10是瑞士Sensirion企业推出超小型、自校型、高精度、多功效式智能传感器,采取SMD

40、贴片封装。SHT10温湿度传感器品质卓越,含有很显著优点,如抗干扰能力强、反应快等。传感器在一块微型电路板上集成了信号处理电路和传感元件,因为自带ADC,所以输出数字信号。传感器采取瑞士Sensirion企业持有专利CMOSens 技术,所以有极高稳定性、正确性、靠性性。SHT10包含一个电容性聚合体湿敏器件、一个基于能隙材料温度测量元件。SHT10能够用来测量相对湿度、温度和露点等参数。这类智能传感器广泛用于工农业生产、环境监测、通风及空调设备等领域。SHT10关键性能参数以下:(1)采取两线制数字接口,类似于I2C总线时序;(2) 测量温湿度范围广。湿度测量范围为0100%RH,温度测量范

41、围为-40123.8;(3) 测量精度较高,温度测量误差为0.5,湿度测量误差为4.5%RH; (4) 湿度值分辨率为14位,温度值输出分辨率为12位,并能够变成12位和8位;(5)将温湿度传感器、信号放大器、A/D转换、IC总线接口全部集成于一个芯片;(6)小体积,可表面贴装;(7)含有可靠CRC数据传输校验功效;(8)片内装载校准系数可确保100%交换性;(9)电流消耗低,测量时550A,平均28A,休眠时3A;(10)可给出全校准相对湿度计温度值输出;(11)含有漏点值计算输出功效;电源引脚(VDD),SHT10供电电压为2.45.5V,这里选择5V;在电源引脚(VDD,GND)之间须加

42、一个100nF电容,用于去耦滤波。(串行输入(SCK),用于微处理器和SHT10之间同时通信;串行数据(DATA),用于三态门数据读取,DATA在SCK时钟下降沿后会发生状态改变,而且在SCK时钟为上升沿时有效。也就是微控制器可在SCK为高电平段去读取有效数据。在微控制器向SHT10进行数据传送过程中,必需要确保数据线在时钟线为高电平段时稳定。为了避免发生信号冲突,微控制器仅仅把数据线拉低,在需输出高电平时,微控制器会将引脚置成高阻态,由外部上拉电阻把信号拉为高电平,这里选择10K。SHT10在使用时,在数据线上用一组“开启传输”时序来表示初始化数据传输。包含:当SCK时钟为高电平时侯,DAT

43、A翻转至低电平,紧接着SCK变成低电平,随即在SCK时钟为高电平时侯DATA翻转为高电平。后续命令包含3个地址(现在支持“000”)和5个命令位,具体命令集见表4。SHT10会用下述来方法表示已经正确接收到了指令:在第8个SCK时钟下降沿后,将DATA下拉至低电平(ACK位);在第9个SCK时钟下降沿后,释放DATA(恢复为高电平)。表3-2 SHT10命令集命令代码预留0000x温度测量00011湿度测量00101读状态寄存器00111写状态寄存器00110预留0101x1110x软复位,复位接口、清空状态寄存器为默认值,下一个命令前等候最少11ms11110依据上表命令集,SHT10测量时

44、,公布测量命令(00000101表示是相对湿度RH,00000011 表示是温度T)后,控制器等候测量停止后。此过程大约需要11、55、210ms,分别会对应8、12、14位测量。确切时间和内部晶振速度相关,最多会有15%改变。SHT10经过下拉DATA变为低电平,表示测量已结束。控制器在触发SCK时钟前,必需要等候“数据备妥”信号。接着会传输2个字节测量数据和1个字节CRC奇偶校验。uC需要用下拉DATA为低电平,来确定每个字节。全部数据会从MSB开始,右值有效(比如:对于12位数据,从第5个SCK时钟起算作MSB;而对于8位数据,首字节则无意义)。 4 系统软件设计系统工作步骤是,操作人员

45、在计算机上输入需要设定温湿度限定值,当设定温湿度值和检测温湿度值不一样时,单片机控制系统则会采取对应调整动作。此程序步骤包含五个部分,第一部分是主程序,其描述总体结构;第二部分是SHT10温度采集程序,其功效是经过SHT10传感器采集温湿度值,并进行修正;第三部分是LCD1602显示子程序,对LCD1602进行初始化,将温湿度进行显示;第四部分是输出控制子程序,对设定值和实际值进行判定以决定是否进行温湿度调整;第五部分是按键输入电路,用来修改温湿度上下限值。4.1 软件设计总体结构此次设计大棚温湿度自动控制系统由一个主程序调用多个子程序,它们包含SHT10温湿度采集子程序、LCD1602液晶显

46、示子程序、输出控制子程序、键盘扫描子程序,以下图所表示:主程序SHT10温湿度采集子程序LCD1602液晶屏显示子程序输出控制子程序键盘扫描子程序 图4.1 程序总体结构主程序关键就是调用各个子程序C语言文件中定义函数,实现SHT10、LCD1602初始化等操作,然后测量温湿度,调用函数对数据进行处理,最终进行显示并输出控制信号。在Keil工程中编写程序时候,为了让整个工程看起来条理清楚,要根据各个模块分别新建C文件写子程序。某个C文件要调用其它C文件中函数时,要在目前C语言文件中优异行申明,然后再调用,或也能够把每个C文件中定义函数全部写到相同名字下.h头文件中,其它C文件要调用该函数时要在前面加上#include ,将头文件包含进来。对于变量也是如此,假如某个变量也在其它C文件中使用,那么要在一个C文件总将它定义为全局变量,即在函数外面定义。其它C文件要使用该变量时,要先使用extern将全局变量作用域扩展到本C语言文件。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服